Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
F
founder_vue
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
常超
founder_vue
Commits
cb85b5a5
Commit
cb85b5a5
authored
Dec 16, 2021
by
张超军
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
倒查-暂无图像
parent
f980f343
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
806 additions
and
270 deletions
+806
-270
src/components/ImageEd.scss
+8
-0
src/components/ImageEd.vue
+165
-140
src/views/cxyrd/modules/TLCandidate.vue
+8
-3
src/views/cxyrd/modules/TLSrc.vue
+625
-127
No files found.
src/components/ImageEd.scss
View file @
cb85b5a5
...
...
@@ -1430,6 +1430,7 @@ div {
justify-content
:
center
;
position
:
relative
;
.body-container
{
position
:
relative
;
z-index
:
99
;
width
:
540px
;
height
:
540px
;
...
...
@@ -1442,6 +1443,7 @@ div {
height
:
540px
!
important
;
position
:
relative
;
overflow
:
hidden
;
box-sizing
:
content-box
;
}
.tui-image-editor2
{
box-sizing
:
content-box
;
...
...
@@ -1456,6 +1458,12 @@ div {
}
/
deep
/
.lower-canvas
,
/
deep
/
.upper-canvas
{
position
:
absolute
;
left
:
0
;
right
:
0
;
bottom
:
0
;
top
:
0
;
margin
:
auto
;
max-height
:
540px
!
important
;
max-width
:
540px
!
important
;
height
:
100%
;
...
...
src/components/ImageEd.vue
View file @
cb85b5a5
<!--
* @Author: your name
* @Date: 2021-09-09 09:28:46
* @LastEditTime: 2021-12-1
5 10:44:32
* @LastEditTime: 2021-12-1
6 13:31:05
* @LastEditors: Please set LastEditors
* @Description: In User Settings Edit
* @FilePath: \指纹系统\founder_vue\src\views\cxyrd\LTz.vue
...
...
@@ -313,6 +313,10 @@
</div>
<div
class=
"lt_middle_main"
>
<div
class=
"source"
@
click
.
self=
"sourceEdit"
>
<dir
class=
"del-pre"
v-if=
"zwtp_source"
>
<img
class=
"del-img"
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"del-name"
>
暂无图像
</div>
</dir>
<div
class=
"del-pre"
v-if=
"isDelete"
>
<img
class=
"del-img"
src=
"@/assets/img/delete-image.png"
alt=
""
>
<div
class=
"del-name"
>
图像已删除
</div>
...
...
@@ -333,8 +337,8 @@
<div
class=
"tui-image-editor"
></div>
<img
id=
"sourceImage"
style=
"display:none"
:src=
"'data:image/jpeg;base64,'+sourceImage"
alt=
""
>
</div>
<div
class=
"tzdDrawing_2"
></div>
<div
class=
"tzdDrawing"
></div>
<
!--
<
div
class=
"tzdDrawing_2"
></div>
<div
class=
"tzdDrawing"
></div>
-->
</div>
<div
class=
"edit"
id=
"sourceEdit"
@
click=
"sourceChange"
v-if=
"roleArr.includes('C-1-9')"
>
编辑
</div>
<div
class=
"shade_source"
v-show=
"type=='target'"
@
click
.
self=
"sourceEdit"
></div>
...
...
@@ -348,6 +352,10 @@
<img
class=
"del-img"
src=
"@/assets/img/delete-image.png"
alt=
""
>
<div
class=
"del-name"
>
图像已删除
</div>
</div>
<dir
class=
"del-pre"
v-if=
"zwtp_target"
>
<img
class=
"del-img"
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"del-name"
>
暂无图像
</div>
</dir>
<div
class=
"title"
>
<span>
目标数据
</span>
<div
class=
"delDesc"
v-if=
"!isDelete && targetIsDelete"
>
...
...
@@ -364,8 +372,8 @@
<div
class=
"body-container"
>
<div
class=
"tui-image-editor2"
></div>
</div>
<div
class=
"tzdDrawing_2_target"
></div>
<div
class=
"tzdDrawing_target"
></div>
<
!--
<
div
class=
"tzdDrawing_2_target"
></div>
<div
class=
"tzdDrawing_target"
></div>
-->
</div>
<div
class=
"edit"
id=
"targetEdit"
@
click=
"targetChange"
v-if=
"roleArr.includes('C-1-9')"
>
编辑
</div>
<div
class=
"shade_target"
v-show=
"type=='source'"
@
click
.
self=
"targetEdit"
></div>
...
...
@@ -680,6 +688,8 @@ export default {
fhxqLeftBarcode
:
''
,
// 复核详情 -- 右侧条码
fhxqRightBarcode
:
''
,
zwtp_source
:
false
,
zwtp_target
:
false
};
},
components
:
{
...
...
@@ -1230,136 +1240,136 @@ export default {
self
.
mouseEnlarge
=
false
;
});
var
ins
=
null
;
var
originPointer
=
{};
document
.
querySelector
(
".tzdDrawing"
)
.
addEventListener
(
"mousedown"
,
function
(
e
)
{
console
.
log
(
e
);
// 特征点--开启
ins
=
new
MouseGesture
({
wise
:
true
});
originPointer
=
{
x
:
e
.
clientX
,
y
:
e
.
clientY
,
left
:
self
.
imageEditor
.
_graphics
.
getCanvasImage
().
left
,
top
:
self
.
imageEditor
.
_graphics
.
getCanvasImage
().
top
,
};
// 开启拖拽
if
(
self
.
isHand
||
self
.
isHandSpace
)
{
// 放大后开启拖拽
// self.startHand = true
if
(
self
.
zoomLevel
>
1
)
{
self
.
startHand
=
true
;
}
}
// 开启放大
if
(
self
.
isEnlarge
)
{
self
.
mouseEnlarge
=
true
;
}
});
// 去掉鼠标默认事件
$
(
".tzdDrawing"
).
bind
(
"contextmenu"
,
function
(
e
)
{
return
false
;
});
document
.
querySelector
(
".tzdDrawing"
)
.
addEventListener
(
"mousemove"
,
function
(
e
)
{
// 开始拖拽
if
(
self
.
startHand
)
{
// 计算点的坐标
let
x1
=
originPointer
.
x
;
let
y1
=
originPointer
.
y
;
let
x2
=
e
.
clientX
;
let
y2
=
e
.
clientY
;
let
canvasImage
=
imageEditor
.
_graphics
.
getCanvasImage
();
// 移动图片
const
leftNew
=
originPointer
.
left
+
((
x2
-
x1
)
*
self
.
newWidth
)
/
self
.
canvasWidth
/
self
.
zoomLevel
;
const
topNew
=
originPointer
.
top
+
((
y2
-
y1
)
*
self
.
newHeight
)
/
self
.
canvasHeight
/
self
.
zoomLevel
;
console
.
log
(
"当前移动:"
,
x2
-
x1
,
y2
-
y1
);
console
.
log
(
leftNew
);
console
.
log
(
topNew
);
// imageEditor._graphics.setImageProperties(
// {
// left: leftNew,
// top: topNew,
// originX: "left",
// originY: "top",
// },
// true
// );
let
delta
=
new
fabric
.
Point
(
leftNew
,
topNew
);
console
.
log
(
imageEditor
);
imageEditor
.
_graphics
.
canvasImage
.
relativePan
(
delta
)
// $(".tui-image-editor-canvas-container").css(
// "transform",
// `translate(${Number(leftNew)}px,${Number(topNew)}px)`
// );
self
.
changeTzdDrawing
(
true
);
self
.
tzdDrawing_top
=
Number
(
self
.
tzdDrawingTop_yd
)
+
(
y2
-
y1
);
self
.
tzdDrawing_left
=
Number
(
self
.
tzdDrawingLeft_yd
)
+
(
x2
-
x1
);
}
if
(
self
.
mouseEnlarge
)
{
// 放大
if
(
e
.
clientY
<=
originPointer
.
y
)
{
self
.
zoomLevel
=
self
.
zoomLevel
+
0.01
;
if
(
self
.
zoomLevel
>=
2
)
{
self
.
zoomLevel
=
2
;
}
self
.
zoomImage
(
self
.
zoomLevel
);
if
(
self
.
isShowSourcePrivew
)
{
$
(
".block_small"
).
css
(
"width"
,
`
${
self
.
block_small_width
/
self
.
zoomLevel
}
px`
);
$
(
".block_small"
).
css
(
"height"
,
`
${
self
.
block_small_height
/
self
.
zoomLevel
}
px`
);
}
self
.
changeTzdDrawing
();
$
(
".tzdDom"
).
css
(
"z-index"
,
`99999`
);
}
else
{
// 缩小
self
.
zoomLevel
=
self
.
zoomLevel
-
0.01
;
if
(
self
.
zoomLevel
<=
1
)
{
self
.
zoomLevel
=
1
;
}
self
.
zoomImage
(
self
.
zoomLevel
);
if
(
self
.
isShowSourcePrivew
)
{
$
(
".block_small"
).
css
(
"width"
,
`
${
self
.
block_small_width
/
self
.
zoomLevel
}
px`
);
$
(
".block_small"
).
css
(
"height"
,
`
${
self
.
block_small_height
/
self
.
zoomLevel
}
px`
);
}
self
.
changeTzdDrawing
();
}
}
});
document
.
querySelector
(
".tzdDrawing"
)
.
addEventListener
(
"mouseup"
,
function
(
e
)
{
let
canvasImage
=
imageEditor
.
_graphics
.
getCanvasImage
();
self
.
tzdDrawingLeft
=
canvasImage
.
left
;
self
.
tzdDrawingTop
=
canvasImage
.
top
;
self
.
startHand
=
false
;
self
.
mouseEnlarge
=
false
;
if
(
e
.
which
===
3
)
{
//console.log("删除");
ins
.
setEnd
();
}
});
//
var ins = null;
//
var originPointer = {};
//
document
//
.querySelector(".tzdDrawing")
//
.addEventListener("mousedown", function (e) {
//
console.log(e);
//
// 特征点--开启
//
ins = new MouseGesture({ wise: true });
//
originPointer = {
//
x: e.clientX,
//
y: e.clientY,
//
left: self.imageEditor._graphics.getCanvasImage().left,
//
top: self.imageEditor._graphics.getCanvasImage().top,
//
};
//
// 开启拖拽
//
if (self.isHand || self.isHandSpace) {
//
// 放大后开启拖拽
//
// self.startHand = true
//
if (self.zoomLevel > 1) {
//
self.startHand = true;
//
}
//
}
//
// 开启放大
//
if (self.isEnlarge) {
//
self.mouseEnlarge = true;
//
}
//
});
//
//
去掉鼠标默认事件
//
$(".tzdDrawing").bind("contextmenu", function (e) {
//
return false;
//
});
//
document
//
.querySelector(".tzdDrawing")
//
.addEventListener("mousemove", function (e) {
//
// 开始拖拽
//
if (self.startHand) {
//
// 计算点的坐标
//
let x1 = originPointer.x;
//
let y1 = originPointer.y;
//
let x2 = e.clientX;
//
let y2 = e.clientY;
//
let canvasImage = imageEditor._graphics.getCanvasImage();
//
// 移动图片
//
const leftNew =
//
originPointer.left +
//
((x2 - x1) * self.newWidth) / self.canvasWidth / self.zoomLevel;
//
const topNew =
//
originPointer.top +
//
((y2 - y1) * self.newHeight) / self.canvasHeight / self.zoomLevel;
//
console.log("当前移动:", x2 - x1, y2 - y1);
//
console.log(leftNew);
//
console.log(topNew);
//
// imageEditor._graphics.setImageProperties(
//
// {
//
// left: leftNew,
//
// top: topNew,
//
// originX: "left",
//
// originY: "top",
//
// },
//
// true
//
// );
//
let delta = new fabric.Point(leftNew, topNew);
//
console.log(imageEditor);
//
imageEditor._graphics.canvasImage.relativePan(delta)
//
// $(".tui-image-editor-canvas-container").css(
//
// "transform",
//
// `translate(${Number(leftNew)}px,${Number(topNew)}px)`
//
// );
//
self.changeTzdDrawing(true);
//
self.tzdDrawing_top = Number(self.tzdDrawingTop_yd) + (y2 - y1);
//
self.tzdDrawing_left = Number(self.tzdDrawingLeft_yd) + (x2 - x1);
//
}
//
if (self.mouseEnlarge) {
//
// 放大
//
if (e.clientY
<=
originPointer
.
y
)
{
//
self.zoomLevel = self.zoomLevel + 0.01;
//
if (self.zoomLevel >= 2) {
//
self.zoomLevel = 2;
//
}
//
self.zoomImage(self.zoomLevel);
//
if (self.isShowSourcePrivew) {
//
$(".block_small").css(
//
"width",
//
`${self.block_small_width / self.zoomLevel}px`
//
);
//
$(".block_small").css(
//
"height",
//
`${self.block_small_height / self.zoomLevel}px`
//
);
//
}
//
self.changeTzdDrawing();
//
$(".tzdDom").css("z-index", `99999`);
//
} else {
//
// 缩小
//
self.zoomLevel = self.zoomLevel - 0.01;
//
if (self.zoomLevel
<=
1
)
{
//
self.zoomLevel = 1;
//
}
//
self.zoomImage(self.zoomLevel);
//
if (self.isShowSourcePrivew) {
//
$(".block_small").css(
//
"width",
//
`${self.block_small_width / self.zoomLevel}px`
//
);
//
$(".block_small").css(
//
"height",
//
`${self.block_small_height / self.zoomLevel}px`
//
);
//
}
//
self.changeTzdDrawing();
//
}
//
}
//
});
//
document
//
.querySelector(".tzdDrawing")
//
.addEventListener("mouseup", function (e) {
//
let canvasImage = imageEditor._graphics.getCanvasImage();
//
self.tzdDrawingLeft = canvasImage.left;
//
self.tzdDrawingTop = canvasImage.top;
//
self.startHand = false;
//
self.mouseEnlarge = false;
//
if (e.which === 3) {
//
//console.log("删除");
//
ins.setEnd();
//
}
//
});
// 标记
imageEditor2
.
on
(
"mousedown"
,
function
(
e
,
originPointer
)
{
...
...
@@ -1907,6 +1917,14 @@ export default {
*/
this
.
$bus
.
on
(
"changImageEdit"
,
(
sourceImage
)
=>
{
if
(
sourceImage
==
'xxx'
)
{
// 暂无图片
imageEditor
.
loadImageFromURL
(
"data:image/jpeg;base64,"
+
targetImage
,
"SampleImage"
).
then
().
catch
(
err
=>
{})
self
.
zwtp_source
=
true
return
;
}
else
{
self
.
zwtp_source
=
false
}
self
.
sourceImage
=
sourceImage
;
imageEditor
.
loadImageFromURL
(
"data:image/jpeg;base64,"
+
sourceImage
,
"SampleImage"
).
then
(
function
(
sizeValue
)
{
self
.
newWidth
=
sizeValue
.
newWidth
...
...
@@ -1918,6 +1936,13 @@ export default {
});
});
this
.
$bus
.
on
(
"changImageEditTarget"
,
(
targetImage
)
=>
{
if
(
targetImage
==
'xxx'
)
{
imageEditor2
.
loadImageFromURL
(
"data:image/jpeg;base64,"
+
targetImage
,
"SampleImage"
).
then
().
catch
(
err
=>
{})
self
.
zwtp_target
=
true
return
;
}
else
{
self
.
zwtp_target
=
false
}
self
.
targetImage
=
targetImage
;
imageEditor2
.
loadImageFromURL
(
"data:image/jpeg;base64,"
+
targetImage
,
"SampleImage"
).
then
(
function
(
sizeValue
)
{
// //console.log(sizeValue);
...
...
@@ -4697,12 +4722,12 @@ export default {
if
(
this
.
isHand
)
{
this
.
$message
(
"拖动前请放大图像"
);
$
(
".drag"
).
css
(
"background"
,
"#055FE7"
);
//
this.imageEditor.changeCursor('grab');
this
.
imageEditor
.
changeCursor
(
'grab'
);
// this.imageEditor2.changeCursor('grab');
// //console.log(this.imageEditor.toggleZoomButtonStatus('hand'));
// this.imageEditor.zoom.startHandMode()
// 开启拖拽
//
this.imageEditor._graphics._attachZoomEvents2();
this
.
imageEditor
.
_graphics
.
_attachZoomEvents2
();
// this.imageEditor._graphics.startHandMode()
$
(
".tzdDrawing"
).
css
(
'z-index'
,
99
)
$
(
".body-container"
).
css
(
'z-index'
,
1
)
...
...
@@ -4713,18 +4738,18 @@ export default {
// this.imageEditor.changeCursor('auto');
// this.imageEditor2.changeCursor('auto');
// 停止拖拽
//
this.imageEditor._graphics._attachZoomEvents3();
this
.
imageEditor
.
_graphics
.
_attachZoomEvents3
();
}
}
else
{
if
(
this
.
isHand
)
{
this
.
$message
(
"拖动前请放大图像"
);
$
(
".drag"
).
css
(
"background"
,
"#055FE7"
);
// 开启拖拽
//
this.imageEditor2._graphics._attachZoomEvents2();
this
.
imageEditor2
.
_graphics
.
_attachZoomEvents2
();
}
else
{
$
(
".drag"
).
css
(
"background"
,
"rgba(5, 95, 231, 0.05)"
);
// 停止拖拽
//
this.imageEditor2._graphics._attachZoomEvents3();
this
.
imageEditor2
.
_graphics
.
_attachZoomEvents3
();
}
}
...
...
src/views/cxyrd/modules/TLCandidate.vue
View file @
cb85b5a5
<
template
>
<div
class=
"tl-candidate"
>
<div
class=
"tl-search"
>
<div
class=
"label"
>
手纹
</div>
<div
class=
"label"
>
{{
searchType
}}
</div>
<el-input
class=
"input"
v-model=
"input3"
placeholder=
"请输入条码号/指位"
@
keydown
.
enter=
"search"
></el-input>
<div
class=
"btn"
@
click=
"search"
>
筛选
</div>
</div>
...
...
@@ -39,7 +39,8 @@ export default {
loading
:
null
,
timer
:
null
,
// 是否被删除
isDelete
:
false
isDelete
:
false
,
searchType
:
'手纹'
};
},
created
()
{
...
...
@@ -50,6 +51,10 @@ export default {
},
mounted
()
{
let
self
=
this
;
// 监听掌纹/手纹
self
.
$bus
.
on
(
'searchType'
,
(
searchType
)
=>
{
self
.
searchType
=
searchType
})
// 监听是否被删除
self
.
$bus
.
on
(
'deleteMessage'
,
(
obj
)
=>
{
if
(
obj
.
delTime
!=
null
)
{
...
...
@@ -141,7 +146,7 @@ export default {
}
this
.
$axios
.
post
(
"/api/org/case
Bybarcode/barcode/seq
"
,
{
.
post
(
"/api/org/case
/barcode/seqNo
"
,
{
barcode
:
val
.
destbarcode
,
seqno
:
val
.
destseqno
,
qqid
:
val
.
qqid
...
...
src/views/cxyrd/modules/TLSrc.vue
View file @
cb85b5a5
...
...
@@ -56,11 +56,11 @@
<div
class=
"outside"
>
<label>
右手
</label><br
/>
<div
class=
"fingersImg"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersRightR"
:key=
"index"
:class=
"{noFinger:
!item.image
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleRightR(index, item)"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersRightR"
:key=
"index"
:class=
"{noFinger:
item.image==null
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleRightR(index, item)"
>
<!-- <svg-icon v-if="fingerLoading" icon-class="loading" class="icon" /> -->
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
smallfinger
.gif"
alt=
""
class=
"icon"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
zzjz/zwjz
.gif"
alt=
""
class=
"icon"
>
<div
v-else
>
<div
class=
"num"
:class=
"{noFinger:
!item.image
}"
>
{{ item.name }}
</div>
<div
class=
"num"
:class=
"{noFinger:
item.image==null
}"
>
{{ item.name }}
</div>
<!-- 有指纹图片 -->
<div
v-if=
"item.image"
>
<img
:src=
"'data:image/jpeg;base64,' + item.image"
style=
"width: 100%;height: 100%;"
/>
...
...
@@ -97,6 +97,10 @@
</div>
</div>
</div>
<div
class=
"zwtp"
v-else-if=
"item.image == ''"
>
<img
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"zwtp-desc"
>
暂无图像
</div>
</div>
<!-- 缺指 -->
<div
v-else
class=
"absence"
>
<img
src=
"@/assets/img/absence.png"
alt=
""
>
...
...
@@ -110,11 +114,11 @@
<label>
左手
</label>
<br
/>
<div
class=
"fingersImg"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersLeftR"
:key=
"index"
:class=
"{noFinger:
!item.image
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleLeftR(index, item)"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersLeftR"
:key=
"index"
:class=
"{noFinger:
item.image==null
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleLeftR(index, item)"
>
<!-- <svg-icon v-if="fingerLoading" icon-class="loading" class="icon" /> -->
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
smallfinger
.gif"
alt=
""
class=
"icon"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
zzjz/zwjz
.gif"
alt=
""
class=
"icon"
>
<div
v-else
>
<div
class=
"num"
:class=
"{noFinger:
!item.image
}"
>
{{ item.name }}
</div>
<div
class=
"num"
:class=
"{noFinger:
item.image==null
}"
>
{{ item.name }}
</div>
<!-- 有指纹图片 -->
<div
v-if=
"item.image"
>
<img
:src=
"'data:image/jpeg;base64,' + item.image"
style=
"width: 100%;height: 100%;"
/>
...
...
@@ -151,6 +155,10 @@
</div>
</div>
</div>
<div
class=
"zwtp"
v-else-if=
"item.image == ''"
>
<img
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"zwtp-desc"
>
暂无图像
</div>
</div>
<!-- 缺指 -->
<div
v-else
class=
"absence"
>
<img
src=
"@/assets/img/absence.png"
alt=
""
>
...
...
@@ -165,11 +173,11 @@
<div
class=
"outside"
>
<label>
右手
</label><br
/>
<div
class=
"fingersImg"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersRightL"
:key=
"index"
:class=
"{noFinger:
!item.image
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleRightL(index, item)"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersRightL"
:key=
"index"
:class=
"{noFinger:
item.image==null
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleRightL(index, item)"
>
<!-- <svg-icon v-if="fingerLoading" icon-class="loading" class="icon" /> -->
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
smallfinger
.gif"
alt=
""
class=
"icon"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
zzjz/zwjz
.gif"
alt=
""
class=
"icon"
>
<div
v-else
>
<div
class=
"num"
:class=
"{noFinger:
!item.image
}"
>
{{ item.name }}
</div>
<div
class=
"num"
:class=
"{noFinger:
item.image == null
}"
>
{{ item.name }}
</div>
<!-- 有指纹图片 -->
<div
v-if=
"item.image"
>
<img
:src=
"'data:image/jpeg;base64,' + item.image"
style=
"width: 100%;height: 100%;"
/>
...
...
@@ -206,6 +214,10 @@
</div>
</div>
</div>
<div
class=
"zwtp"
v-else-if=
"item.image == ''"
>
<img
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"zwtp-desc"
>
暂无图像
</div>
</div>
<!-- 缺指 -->
<div
v-else
class=
"absence"
>
<img
src=
"@/assets/img/absence.png"
alt=
""
>
...
...
@@ -219,11 +231,11 @@
<label>
左手
</label>
<br
/>
<div
class=
"fingersImg"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersLeftL"
:key=
"index"
:class=
"{noFinger:
!item.image
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleLeftL(index, item)"
>
<div
class=
"finger"
v-for=
"(item, index) in fingersLeftL"
:key=
"index"
:class=
"{noFinger:
item.image==null
, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleLeftL(index, item)"
>
<!-- <svg-icon v-if="fingerLoading" icon-class="loading" class="icon" /> -->
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
smallfinger
.gif"
alt=
""
class=
"icon"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/
zzjz/zwjz
.gif"
alt=
""
class=
"icon"
>
<div
v-else
>
<div
class=
"num"
:class=
"{noFinger:
!item.image
}"
>
{{ item.name }}
</div>
<div
class=
"num"
:class=
"{noFinger:
item.image == null
}"
>
{{ item.name }}
</div>
<!-- 有指纹图片 -->
<div
v-if=
"item.image"
>
<img
:src=
"'data:image/jpeg;base64,' + item.image"
style=
"width: 100%;height: 100%;"
/>
...
...
@@ -260,6 +272,10 @@
</div>
</div>
</div>
<div
class=
"zwtp"
v-else-if=
"item.image == ''"
>
<img
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"zwtp-desc"
>
暂无图像
</div>
</div>
<!-- 缺指 -->
<div
v-else
class=
"absence"
>
<img
src=
"@/assets/img/absence.png"
alt=
""
>
...
...
@@ -270,9 +286,54 @@
</div>
</div>
<!-- 掌纹-->
<!-- 掌纹
-->
<div
class=
"fingers"
v-else
>
掌纹
<div
class=
"fingersImg handImg"
>
<div
class=
"finger hand"
v-for=
"(item, index) in handList"
:key=
"index"
:class=
"{noFinger: item.image==null, fingerLoading: !item.image && fingerLoading, fingerLook: item.clickLog==1, fingerRD: item.affirmstatus==1, fingerBZ:item.affirmstatus==2, fingerRB:item.affirmstatus==3, finger_print_active: item.code === isActive}"
@
click=
"changeStyleHand(index, item)"
>
<img
v-if=
"fingerLoading && (item.code == 33 || item.code==31)"
src=
"@/assets/img/zzjz/zsjz.gif"
alt=
""
class=
"icon loadingHand"
>
<img
v-else-if=
"fingerLoading && (item.code == 32 || item.code==34)"
src=
"@/assets/img/zzjz/ysjz.gif"
alt=
""
class=
"icon loadingHand"
>
<div
v-else
>
<div
class=
"num"
:class=
"{noFinger: item.image == null}"
>
{{ item.name }}
</div>
<!-- 有指纹图片 -->
<div
v-if=
"item.image"
class=
"imgBox"
>
<img
class=
"itemImage"
:src=
"'data:image/jpeg;base64,' + item.image"
/>
<div
class=
"finger-tips"
>
<!-- 认定完成 -->
<div
class=
"affirmstatus1"
v-if=
"item.affirmstatus==1"
>
<div
class=
"affirmstatusbg"
></div>
<div
class=
"dot"
></div>
<span
class=
"txt"
>
认定完成
</span>
</div>
<!-- 比中 -->
<div
class=
"affirmstatus2"
v-else-if=
"item.affirmstatus==2"
>
<div
class=
"affirmstatusbg"
></div>
<div
class=
"dot"
></div>
<span
class=
"txt"
>
比中
</span>
</div>
<div
class=
"affirmstatus2"
v-else-if=
"item.affirmstatus==3"
>
<div
class=
"affirmstatusbg"
></div>
<div
class=
"dot"
></div>
<span
class=
"txt"
>
比中
</span>
</div>
<!-- 浏览过 -->
<div
class=
"clickLog"
v-if=
"item.affirmstatus=='' && item.clickLog==1"
>
<div
class=
"clickLogbg"
></div>
<div
class=
"dot"
></div>
<span
class=
"txt"
>
已查看
</span>
</div>
</div>
</div>
<div
class=
"zwtp"
v-else-if=
"item.image == ''"
>
<img
src=
"@/assets/img/TT/zwtp.png"
alt=
""
>
<div
class=
"zwtp-desc"
>
暂无图像
</div>
</div>
<!-- 缺掌 -->
<div
v-else
class=
"absence"
>
<img
src=
"@/assets/img/qz.png"
alt=
""
>
</div>
</div>
</div>
</div>
</div>
<div
class=
"bottom"
>
<span>
该查询ID共计
<b>
{{ fingerTotal }}
</b>
枚指纹
</span>
...
...
@@ -319,61 +380,69 @@ export default {
isActive
:
0
,
qqid
:
""
,
qid
:
""
,
// 默认第一张掌纹图
hand
:
{},
handList
:
[
{
name
:
'右侧掌'
,
code
:
33
,
image
:
''
},
{
name
:
'右半掌'
,
code
:
31
,
image
:
''
},
{
name
:
'左侧掌'
,
code
:
34
,
image
:
''
},
{
name
:
'左半掌'
,
code
:
32
,
image
:
''
},
],
fingersLeftR
:
[
{
name
:
"拇"
,
code
:
6
,
image
:
null
},
{
name
:
"食"
,
code
:
7
,
image
:
null
},
{
name
:
"中"
,
code
:
8
,
image
:
null
},
{
name
:
"环"
,
code
:
9
,
image
:
null
},
{
name
:
"小"
,
code
:
10
,
image
:
null
}
{
name
:
"拇"
,
code
:
6
,
image
:
''
},
{
name
:
"食"
,
code
:
7
,
image
:
''
},
{
name
:
"中"
,
code
:
8
,
image
:
''
},
{
name
:
"环"
,
code
:
9
,
image
:
''
},
{
name
:
"小"
,
code
:
10
,
image
:
''
}
],
fingersRightR
:
[
{
name
:
"拇"
,
code
:
1
,
image
:
null
},
{
name
:
"食"
,
code
:
2
,
image
:
null
},
{
name
:
"中"
,
code
:
3
,
image
:
null
},
{
name
:
"环"
,
code
:
4
,
image
:
null
},
{
name
:
"小"
,
code
:
5
,
image
:
null
}
{
name
:
"拇"
,
code
:
1
,
image
:
''
},
{
name
:
"食"
,
code
:
2
,
image
:
''
},
{
name
:
"中"
,
code
:
3
,
image
:
''
},
{
name
:
"环"
,
code
:
4
,
image
:
''
},
{
name
:
"小"
,
code
:
5
,
image
:
''
}
],
fingersLeftL
:
[
{
name
:
"拇"
,
code
:
16
,
image
:
null
},
{
name
:
"食"
,
code
:
17
,
image
:
null
},
{
name
:
"中"
,
code
:
18
,
image
:
null
},
{
name
:
"环"
,
code
:
19
,
image
:
null
},
{
name
:
"小"
,
code
:
20
,
image
:
null
}
{
name
:
"拇"
,
code
:
16
,
image
:
''
},
{
name
:
"食"
,
code
:
17
,
image
:
''
},
{
name
:
"中"
,
code
:
18
,
image
:
''
},
{
name
:
"环"
,
code
:
19
,
image
:
''
},
{
name
:
"小"
,
code
:
20
,
image
:
''
}
],
fingersRightL
:
[
{
name
:
"拇"
,
code
:
11
,
image
:
null
},
{
name
:
"食"
,
code
:
12
,
image
:
null
},
{
name
:
"中"
,
code
:
13
,
image
:
null
},
{
name
:
"环"
,
code
:
14
,
image
:
null
},
{
name
:
"小"
,
code
:
15
,
image
:
null
}
{
name
:
"拇"
,
code
:
11
,
image
:
''
},
{
name
:
"食"
,
code
:
12
,
image
:
''
},
{
name
:
"中"
,
code
:
13
,
image
:
''
},
{
name
:
"环"
,
code
:
14
,
image
:
''
},
{
name
:
"小"
,
code
:
15
,
image
:
''
}
],
fingersLeftR2
:
[
{
name
:
"拇"
,
code
:
6
,
image
:
null
},
{
name
:
"食"
,
code
:
7
,
image
:
null
},
{
name
:
"中"
,
code
:
8
,
image
:
null
},
{
name
:
"环"
,
code
:
9
,
image
:
null
},
{
name
:
"小"
,
code
:
10
,
image
:
null
}
{
name
:
"拇"
,
code
:
6
,
image
:
''
},
{
name
:
"食"
,
code
:
7
,
image
:
''
},
{
name
:
"中"
,
code
:
8
,
image
:
''
},
{
name
:
"环"
,
code
:
9
,
image
:
''
},
{
name
:
"小"
,
code
:
10
,
image
:
''
}
],
fingersRightR2
:
[
{
name
:
"拇"
,
code
:
1
,
image
:
null
},
{
name
:
"食"
,
code
:
2
,
image
:
null
},
{
name
:
"中"
,
code
:
3
,
image
:
null
},
{
name
:
"环"
,
code
:
4
,
image
:
null
},
{
name
:
"小"
,
code
:
5
,
image
:
null
}
{
name
:
"拇"
,
code
:
1
,
image
:
''
},
{
name
:
"食"
,
code
:
2
,
image
:
''
},
{
name
:
"中"
,
code
:
3
,
image
:
''
},
{
name
:
"环"
,
code
:
4
,
image
:
''
},
{
name
:
"小"
,
code
:
5
,
image
:
''
}
],
fingersLeftL2
:
[
{
name
:
"拇"
,
code
:
16
,
image
:
null
},
{
name
:
"食"
,
code
:
17
,
image
:
null
},
{
name
:
"中"
,
code
:
18
,
image
:
null
},
{
name
:
"环"
,
code
:
19
,
image
:
null
},
{
name
:
"小"
,
code
:
20
,
image
:
null
}
{
name
:
"拇"
,
code
:
16
,
image
:
''
},
{
name
:
"食"
,
code
:
17
,
image
:
''
},
{
name
:
"中"
,
code
:
18
,
image
:
''
},
{
name
:
"环"
,
code
:
19
,
image
:
''
},
{
name
:
"小"
,
code
:
20
,
image
:
''
}
],
fingersRightL2
:
[
{
name
:
"拇"
,
code
:
11
,
image
:
null
},
{
name
:
"食"
,
code
:
12
,
image
:
null
},
{
name
:
"中"
,
code
:
13
,
image
:
null
},
{
name
:
"环"
,
code
:
14
,
image
:
null
},
{
name
:
"小"
,
code
:
15
,
image
:
null
}
{
name
:
"拇"
,
code
:
11
,
image
:
''
},
{
name
:
"食"
,
code
:
12
,
image
:
''
},
{
name
:
"中"
,
code
:
13
,
image
:
''
},
{
name
:
"环"
,
code
:
14
,
image
:
''
},
{
name
:
"小"
,
code
:
15
,
image
:
''
}
],
// 指纹图片加载
fingerLoading
:
true
,
...
...
@@ -432,32 +501,85 @@ export default {
/**
* 切换到掌纹
*/
switchZw
()
{
async
switchZw
()
{
this
.
fingerShowType
=
"zhangwen"
;
await
this
.
findHand
()
if
(
this
.
hand
)
{
this
.
changeStyleHand
(
0
,
this
.
hand
)
}
else
{
this
.
$bus
.
emit
(
'changImageEdit'
,
'xxx'
)
}
},
/**
* 获取掌纹数据
*/
getHandsData
()
{
let
self
=
this
console
.
log
(
self
.
barcode
);
// 掌纹数据初始化
this
.
handList
.
forEach
(
item
=>
{
item
.
image
=
''
})
this
.
$axios
({
method
:
'post'
,
url
:
'/api/png/palm/barcode'
,
data
:
{
barcode
:
self
.
barcode
}
}).
then
(
res
=>
{
console
.
log
(
res
);
if
(
res
.
data
.
code
===
0
)
{
self
.
handList
.
forEach
(
item
=>
{
res
.
data
.
ret
.
forEach
(
item2
=>
{
if
(
item2
.
seq
==
item
.
code
)
{
item
.
image
=
item2
.
image
}
})
})
}
})
},
/**
* @description: 切换到平面
* @param {*}
* @return {*}
*/
switchPain
()
{
async
switchPain
()
{
let
self
=
this
if
(
!
this
.
painFlag
)
return
;
this
.
fingerShowType
=
"pain"
;
await
this
.
findFinger_pain
()
if
(
self
.
finger
!=
null
)
{
if
(
self
.
finger
.
code
>
10
&&
self
.
finger
.
code
<=
15
)
{
self
.
changeStyleRightL
(
0
,
self
.
finger
);
}
else
if
(
self
.
finger
.
code
>
15
&&
self
.
finger
.
code
<=
20
)
{
self
.
changeStyleLeftL
(
0
,
self
.
finger
);
}
}
},
/**
* @description: 切换到滚动
* @param {*}
* @return {*}
*/
switchRoll
()
{
async
switchRoll
()
{
let
self
=
this
this
.
fingerShowType
=
"roll"
;
await
this
.
findFinger_roll
()
if
(
self
.
finger
!=
null
)
{
if
(
self
.
finger
.
code
<=
5
)
{
self
.
changeStyleRightR
(
0
,
self
.
finger
);
}
else
if
(
self
.
finger
.
code
>
5
&&
self
.
finger
.
code
<=
10
)
{
self
.
changeStyleLeftR
(
0
,
self
.
finger
);
}
}
},
// 选择切换
async
handleCurrentChange
(
val
,
old
)
{
let
self
=
this
;
if
(
val
!=
null
)
{
// 发送请求
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
true
)
//
self.$store.commit('loading/setLoadingSd', true)
// 被删除
if
(
val
.
removeFlag
===
1
)
{
self
.
painFlag
=
false
...
...
@@ -479,56 +601,63 @@ export default {
sessionStorage
.
setItem
(
"userdesc"
,
self
.
userdesc
);
// 获取接口数据前先初始化
self
.
fingersLeftR
.
forEach
(
itemR
=>
{
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersRightR
.
forEach
(
itemR
=>
{
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersLeftL
.
forEach
(
itemL
=>
{
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
self
.
fingersRightL
.
forEach
(
itemL
=>
{
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
// 获取接口数据前先初始化
self
.
fingersLeftR2
.
forEach
(
itemR
=>
{
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersRightR2
.
forEach
(
itemR
=>
{
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersLeftL2
.
forEach
(
itemL
=>
{
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
self
.
fingersRightL2
.
forEach
(
itemL
=>
{
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
// 掌纹
self
.
handList
.
forEach
(
itemH
=>
{
self
.
$set
(
itemH
,
"image"
,
""
);
self
.
$set
(
itemH
,
"clickLog"
,
""
);
self
.
$set
(
itemH
,
"affirmstatus"
,
""
);
})
NProgress
.
start
();
// 平面
let
fingerPain
=
await
this
.
$axios
.
post
(
`/api/png/plain
ByBarcode
/barcode`
,
{
.
post
(
`/api/png/plain/barcode`
,
{
barcode
:
val
.
barcode
,
qqid
:
self
.
qqid
,
querytype
:
"1"
},
{
loading
:
fals
e
loading
:
tru
e
});
//console.log(fingerPain);
if
(
fingerPain
.
data
.
ret
&&
fingerPain
.
data
.
ret
.
length
>
0
)
{
...
...
@@ -564,25 +693,25 @@ export default {
// 平面没有指纹
self
.
fingersLeftL2
.
forEach
(
itemL
=>
{
// itemL.img = null
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
self
.
fingersRightL2
.
forEach
(
itemL
=>
{
// itemL.img = null
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
}
// 滚动
let
fingerRoll
=
await
this
.
$axios
.
post
(
`/api/png/roll
ByBarcode
/barcode`
,
{
.
post
(
`/api/png/roll/barcode`
,
{
barcode
:
val
.
barcode
,
qqid
:
self
.
qqid
,
querytype
:
"1"
},
{
loading
:
fals
e
loading
:
tru
e
});
//console.log(fingerRoll);
if
(
fingerRoll
.
data
.
ret
&&
fingerRoll
.
data
.
ret
.
length
>
0
)
{
...
...
@@ -617,13 +746,13 @@ export default {
}
else
{
self
.
fingersLeftR2
.
forEach
(
itemR
=>
{
// itemR.img = null
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersRightR2
.
forEach
(
itemR
=>
{
// itemR.img = null
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
...
...
@@ -640,6 +769,11 @@ export default {
if
(
self
.
finger
.
code
)
{
sessionStorage
.
setItem
(
"backcheckCode"
,
self
.
finger
.
code
);
}
if
(
self
.
finger
!=
null
&&
self
.
finger
.
code
>=
1
&&
self
.
finger
.
code
<=
10
)
{
self
.
fingerShowType
=
'roll'
}
else
{
self
.
fingerShowType
=
'pain'
}
if
(
self
.
finger
!=
null
)
{
if
(
self
.
finger
.
code
<=
5
)
{
self
.
changeStyleRightR
(
0
,
self
.
finger
);
...
...
@@ -666,40 +800,41 @@ export default {
// 比中人
sessionStorage
.
setItem
(
"userdesc"
,
self
.
userdesc
);
let
barcode
=
val
.
barcode
;
self
.
barcode
=
val
.
barcode
;
// 存储原条码号
sessionStorage
.
setItem
(
"srcbarcode"
,
barcode
);
//console.log(barcode);
// 获取接口数据前先初始化
self
.
fingersLeftR
.
forEach
(
itemR
=>
{
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersRightR
.
forEach
(
itemR
=>
{
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersLeftL
.
forEach
(
itemL
=>
{
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
self
.
fingersRightL
.
forEach
(
itemL
=>
{
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
NProgress
.
start
();
// 平面
let
fingerPain
=
await
this
.
$axios
.
post
(
`/api/png/plain
ByBarcode
/barcode`
,
{
.
post
(
`/api/png/plain/barcode`
,
{
barcode
:
barcode
,
qqid
:
self
.
qqid
,
querytype
:
"1"
},
{
loading
:
fals
e
loading
:
tru
e
});
//console.log(fingerPain);
if
(
fingerPain
.
data
.
ret
&&
fingerPain
.
data
.
ret
.
length
>
0
)
{
...
...
@@ -737,13 +872,13 @@ export default {
// 平面没有指纹
self
.
fingersLeftL
.
forEach
(
itemL
=>
{
// itemL.img = null
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
self
.
fingersRightL
.
forEach
(
itemL
=>
{
// itemL.img = null
self
.
$set
(
itemL
,
"image"
,
null
);
self
.
$set
(
itemL
,
"image"
,
""
);
self
.
$set
(
itemL
,
"clickLog"
,
""
);
self
.
$set
(
itemL
,
"affirmstatus"
,
""
);
});
...
...
@@ -752,12 +887,12 @@ export default {
}
// 滚动
let
fingerRoll
=
await
this
.
$axios
.
post
(
`/api/png/roll
ByBarcode
/barcode`
,
{
.
post
(
`/api/png/roll/barcode`
,
{
barcode
:
barcode
,
qqid
:
self
.
qqid
,
querytype
:
"1"
},
{
loading
:
fals
e
loading
:
tru
e
});
//console.log(fingerRoll);
if
(
fingerRoll
.
data
.
ret
&&
fingerRoll
.
data
.
ret
.
length
>
0
)
{
...
...
@@ -794,18 +929,21 @@ export default {
}
else
{
self
.
fingersLeftR
.
forEach
(
itemR
=>
{
// itemR.img = null
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
self
.
fingersRightR
.
forEach
(
itemR
=>
{
// itemR.img = null
self
.
$set
(
itemR
,
"image"
,
null
);
self
.
$set
(
itemR
,
"image"
,
""
);
self
.
$set
(
itemR
,
"clickLog"
,
""
);
self
.
$set
(
itemR
,
"affirmstatus"
,
""
);
});
}
self
.
fingerTotal
=
self
.
fingerTotalRoll
+
self
.
fingerTotalPain
;
self
.
getHandsData
()
//console.log(self.fingerTotal);
this
.
isActive
=
""
;
// 去掉加载状态
...
...
@@ -823,6 +961,11 @@ export default {
if
(
self
.
finger
&&
self
.
finger
.
code
)
{
sessionStorage
.
setItem
(
"backcheckCode"
,
self
.
finger
.
code
);
}
if
(
self
.
finger
!=
null
&&
self
.
finger
.
code
>=
1
&&
self
.
finger
.
code
<=
10
)
{
self
.
fingerShowType
=
'roll'
}
else
{
self
.
fingerShowType
=
'pain'
}
if
(
self
.
finger
!=
null
)
{
if
(
self
.
finger
.
code
<=
5
)
{
self
.
changeStyleRightR
(
0
,
self
.
finger
);
...
...
@@ -838,7 +981,7 @@ export default {
clearTimeout
(
self
.
timer
)
self
.
timer
=
setTimeout
(()
=>
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
//
self.$store.commit('loading/setLoadingSd', false)
},
500
);
}
},
...
...
@@ -846,13 +989,13 @@ export default {
async
getDetailData
()
{
let
self
=
this
;
// 发送请求
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
true
)
//
self.$store.commit('loading/setLoadingSd', true)
NProgress
.
start
();
//console.info(this.dataList);
if
(
self
.
type
==
"father"
)
{
await
this
.
$axios
.
post
(
"/api/queryque/standardAll"
,
{
contrastCustomSearchReq
:
{
qid
:
Number
(
self
.
qid
)
}
},
{
loading
:
fals
e
loading
:
tru
e
})
.
then
(
response
=>
{
//console.log(response);
...
...
@@ -868,12 +1011,13 @@ export default {
}
else
{
self
.
$bus
.
emit
(
"changImageEdit"
,
'xxx'
);
self
.
$bus
.
emit
(
"changImageEditTarget"
,
'xxx'
);
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
}
});
}
else
{
await
this
.
$axios
.
post
(
"/api/queryque/standardAll"
,
{
contrastCustomSearchReq
:
{
qqid
:
Number
(
self
.
qqid
)
}
},
{
loading
:
fals
e
loading
:
tru
e
})
.
then
(
response
=>
{
//console.log(response);
...
...
@@ -889,6 +1033,7 @@ export default {
}
else
{
self
.
$bus
.
emit
(
"changImageEdit"
,
'xxx'
);
self
.
$bus
.
emit
(
"changImageEditTarget"
,
'xxx'
);
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
}
});
}
...
...
@@ -903,7 +1048,7 @@ export default {
let
self
=
this
;
self
.
finger
=
null
;
self
.
fingersRightR2
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -912,7 +1057,7 @@ export default {
if
(
self
.
finger
)
return
self
.
finger
;
//console.log(self.fingersLeftR2);
self
.
fingersLeftR2
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -921,7 +1066,7 @@ export default {
if
(
self
.
finger
)
return
self
.
finger
;
if
(
self
.
finger
)
return
self
.
finger
;
self
.
fingersRightL2
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -929,7 +1074,7 @@ export default {
//console.log(self.finger);
if
(
self
.
finger
)
return
self
.
finger
;
self
.
fingersLeftL2
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -939,6 +1084,71 @@ export default {
return
self
.
finger
;
},
/**
* @description: 找到第一个有图片的 掌纹 用来初始化展示
* @param {*}
* @return {*}
*/
async
findHand
()
{
let
self
=
this
;
self
.
hand
=
null
;
self
.
handList
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
hand
=
item
;
return
true
;
}
});
if
(
self
.
hand
)
return
self
.
hand
;
return
self
.
hand
;
},
/**
* @description: 找到第一个有图片的指纹用来初始化展示 --- 平面
* @param {*}
* @return {*}
*/
async
findFinger_pain
()
{
let
self
=
this
;
self
.
finger
=
null
;
self
.
fingersRightL
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
});
if
(
self
.
finger
)
return
self
.
finger
;
self
.
fingersLeftL
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
self
.
finger
=
item
;
return
true
;
}
});
return
self
.
finger
;
},
/**
* @description: 找到第一个有图片的指纹用来初始化展示 -- 滚动
* @param {*}
* @return {*}
*/
async
findFinger_roll
()
{
let
self
=
this
;
self
.
finger
=
null
;
self
.
fingersRightR
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
});
if
(
self
.
finger
)
return
self
.
finger
;
self
.
fingersLeftR
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
});
if
(
self
.
finger
)
return
self
.
finger
;
return
self
.
finger
;
},
/**
* @description: 找到第一个有图片的指纹用来初始化展示
* @param {*}
* @return {*}
...
...
@@ -947,7 +1157,7 @@ export default {
let
self
=
this
;
self
.
finger
=
null
;
self
.
fingersRightR
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -956,7 +1166,7 @@ export default {
if
(
self
.
finger
)
return
self
.
finger
;
//console.log(self.fingersLeftR);
self
.
fingersLeftR
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -965,7 +1175,7 @@ export default {
if
(
self
.
finger
)
return
self
.
finger
;
if
(
self
.
finger
)
return
self
.
finger
;
self
.
fingersRightL
.
some
((
item
,
index
)
=>
{
if
(
item
.
image
!=
null
)
{
if
(
item
.
image
!=
null
&&
item
.
image
!=
""
)
{
self
.
finger
=
item
;
return
true
;
}
...
...
@@ -1006,6 +1216,55 @@ export default {
}
},
/**
* @description: 单击掌纹事件
* @param {*} index
* @param {*} imageInfo
* @return {*}
*/
changeStyleHand
(
index
,
imageInfo
)
{
let
self
=
this
if
(
imageInfo
.
image
)
{
// 改变数据为点击状态
self
.
$set
(
imageInfo
,
"clickLog"
,
"1"
);
this
.
isActive
=
imageInfo
.
code
;
//console.log(this.isActive);
// 存储源数据序号
sessionStorage
.
setItem
(
"srcseqno"
,
imageInfo
.
code
||
""
);
sessionStorage
.
setItem
(
"dcseq"
,
imageInfo
.
code
);
if
(
imageInfo
.
code
&&
!
self
.
isDelete
)
{
this
.
$bus
.
emit
(
"changImageEdit"
,
imageInfo
.
image
);
// 没有被删除
self
.
$bus
.
emit
(
'deleteMessage'
,
{
msg
:
null
,
delTime
:
null
})
}
this
.
$axios
({
method
:
"post"
,
url
:
`/api/query/matchcand/dest/
${
self
.
qqid
}
/
${
imageInfo
.
code
}
`
,
data
:
{
srcbarcode
:
sessionStorage
.
getItem
(
"srcbarcode"
)
},
loading
:
true
})
.
then
(
response
=>
{
console
.
log
(
response
);
if
(
response
.
data
.
code
===
0
)
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
response
.
data
.
ret
);
}
else
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
[]);
}
}).
catch
(
error
=>
{
});
}
else
{
self
.
$bus
.
emit
(
"changImageEdit"
,
'xxx'
);
self
.
$bus
.
emit
(
"changImageEditTarget"
,
'xxx'
);
}
},
/**
* @description: 单击左手指纹事件-滚动
* @param {*} index
* @param {*} imageInfo
...
...
@@ -1037,7 +1296,7 @@ export default {
}
NProgress
.
start
();
if
(
!
this
.
isFirstMounted
)
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
true
)
//
self.$store.commit('loading/setLoadingSd', true)
}
this
.
$axios
({
method
:
"post"
,
...
...
@@ -1046,11 +1305,11 @@ export default {
srcbarcode
:
sessionStorage
.
getItem
(
"srcbarcode"
)
},
cancelToken
:
source
.
token
,
loading
:
fals
e
loading
:
tru
e
})
.
then
(
response
=>
{
//console.log(response);
if
(
response
.
data
.
code
===
0
)
{
if
(
response
.
data
.
code
===
0
)
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
response
.
data
.
ret
);
}
else
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
[]);
...
...
@@ -1067,7 +1326,7 @@ export default {
if
(
!
this
.
isFirstMounted
)
{
clearTimeout
(
self
.
timer
)
self
.
timer
=
setTimeout
(()
=>
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
//
self.$store.commit('loading/setLoadingSd', false)
},
500
);
}
...
...
@@ -1106,15 +1365,15 @@ export default {
}
NProgress
.
start
();
if
(
!
this
.
isFirstMounted
)
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
true
)
//
self.$store.commit('loading/setLoadingSd', true)
}
this
.
$axios
.
post
(
`/api/query/matchcand/dest/
${
self
.
qqid
}
/
${
imageInfo
.
code
}
`
,
{
srcbarcode
:
sessionStorage
.
getItem
(
"srcbarcode"
)
},
{
loading
:
fals
e
,
loading
:
tru
e
,
cancelToken
:
source
.
token
})
.
then
(
response
=>
{
//console.log(response);
if
(
response
.
data
.
code
===
0
)
{
if
(
response
.
data
.
code
===
0
)
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
response
.
data
.
ret
);
}
else
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
[]);
...
...
@@ -1131,7 +1390,7 @@ export default {
if
(
!
this
.
isFirstMounted
)
{
clearTimeout
(
self
.
timer
)
self
.
timer
=
setTimeout
(()
=>
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
//
self.$store.commit('loading/setLoadingSd', false)
},
500
);
}
...
...
@@ -1141,6 +1400,7 @@ export default {
self
.
$bus
.
emit
(
"changImageEditTarget"
,
'xxx'
);
}
},
/**
* @description: 单击左手指纹事件-平面
* @param {*} index
...
...
@@ -1169,15 +1429,15 @@ export default {
}
NProgress
.
start
();
if
(
!
this
.
isFirstMounted
)
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
true
)
//
self.$store.commit('loading/setLoadingSd', true)
}
this
.
$axios
.
post
(
`/api/query/matchcand/dest/
${
self
.
qqid
}
/
${
imageInfo
.
code
}
`
,
{
srcbarcode
:
sessionStorage
.
getItem
(
"srcbarcode"
)
},
{
loading
:
fals
e
,
loading
:
tru
e
,
cancelToken
:
source
.
token
})
.
then
(
response
=>
{
//console.log(response);
if
(
response
.
data
.
code
===
0
)
{
if
(
response
.
data
.
code
===
0
)
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
response
.
data
.
ret
);
}
else
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
[]);
...
...
@@ -1194,7 +1454,7 @@ export default {
if
(
!
this
.
isFirstMounted
)
{
clearTimeout
(
self
.
timer
)
self
.
timer
=
setTimeout
(()
=>
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
//
self.$store.commit('loading/setLoadingSd', false)
},
500
);
}
...
...
@@ -1233,15 +1493,15 @@ export default {
}
NProgress
.
start
();
if
(
!
this
.
isFirstMounted
)
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
true
)
//
self.$store.commit('loading/setLoadingSd', true)
}
this
.
$axios
.
post
(
`/api/query/matchcand/dest/
${
self
.
qqid
}
/
${
imageInfo
.
code
}
`
,
{
"srcbarcode"
:
sessionStorage
.
getItem
(
"srcbarcode"
)
},
{
loading
:
fals
e
,
loading
:
tru
e
,
cancelToken
:
source
.
token
})
.
then
(
response
=>
{
if
(
response
.
data
.
code
===
0
)
{
if
(
response
.
data
.
code
===
0
)
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
response
.
data
.
ret
);
}
else
{
self
.
$bus
.
emit
(
"initTLCandidate"
,
[]);
...
...
@@ -1258,7 +1518,7 @@ export default {
if
(
!
this
.
isFirstMounted
)
{
clearTimeout
(
self
.
timer
)
self
.
timer
=
setTimeout
(()
=>
{
self
.
$store
.
commit
(
'loading/setLoadingSd'
,
false
)
//
self.$store.commit('loading/setLoadingSd', false)
},
500
);
}
...
...
@@ -1270,6 +1530,19 @@ export default {
},
},
watch
:
{
// 监听指掌纹类型
fingerShowType
:
{
immediate
:
true
,
handler
(
val
)
{
//console.info("源数据传入组件的值为===>", val);
if
(
val
==
'zhangwen'
)
{
this
.
$bus
.
emit
(
'searchType'
,
'掌纹'
)
}
else
{
this
.
$bus
.
emit
(
'searchType'
,
'手纹'
)
}
}
},
srcData
:
{
immediate
:
true
,
handler
(
val
)
{
...
...
@@ -1295,7 +1568,10 @@ export default {
}
this
.
total
=
this
.
dataList
.
length
;
}
}
},
beforeDestroy
()
{
this
.
$bus
.
off
(
'searchType'
)
},
};
</
script
>
...
...
@@ -1485,7 +1761,7 @@ label {
align-items
:
center
;
.icon
{
width
:
36px
;
width
:
80%
;
//
height
:
40px
;
height
:
auto
;
}
...
...
@@ -1607,18 +1883,6 @@ label {
}
}
//
&
.fingerLook
{
//
border
:
1px
solid
#333
;
//
}
//
&
.fingerRD
{
//
border
:
1px
solid
#055fe7
;
//
}
//
&
.fingerBZ
{
//
border
:
1px
solid
#FF0039
;
//
}
//
&
.fingerRB
{
//
border
:
1px
solid
#FF0039
;
//
}
&
.finger_print_active
{
border
:
1px
solid
#055FE7
!important
;
}
...
...
@@ -1648,6 +1912,22 @@ label {
}
}
.zwtp
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
img
{
width
:
128px
;
height
:
auto
;
}
.zwtp-desc
{
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
color
:
#CCCCCC
;
}
}
.absence
{
width
:
70px
;
height
:
67px
;
...
...
@@ -1658,9 +1938,227 @@ label {
object-fit
:
contain
;
}
}
.zwtp
{
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
}
}
}
}
.handImg
{
display
:
flex
;
flex-wrap
:
wrap
;
.hand
{
position
:
relative
;
width
:
160px
;
height
:
160px
;
background
:
#FFFFFF
;
border-radius
:
2px
;
border
:
1px
solid
#CCCCCC
;
margin
:
4px
4px
4px
4px
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
.finger-tips
{
position
:
absolute
;
bottom
:
0
;
left
:
0
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
100%
;
.affirmstatus1,
.affirmstatus2
{
width
:
100%
;
height
:
20px
;
position
:
relative
;
color
:
#ffffff
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
.affirmstatusbg
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
background
:
linear-gradient
(
180deg
,
rgba
(
255
,
255
,
255
,
0
)
-35%
,
#000000
100%
);
opacity
:
0.66
;
}
.dot
{
z-index
:
10
;
width
:
7px
;
height
:
7px
;
background
:
#055FE7
;
border
:
1px
solid
#FFFFFF
;
border-radius
:
50%
;
margin-right
:
8px
;
}
.txt
{
z-index
:
10
;
font-size
:
12px
;
font-family
:
MicrosoftYaHei
;
color
:
#FFFFFF
;
}
}
.affirmstatus2
{
.dot
{
background
:
#FF0039
;
}
}
.affirmstatus3
{
width
:
100%
;
height
:
20px
;
color
:
#ffffff
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
position
:
relative
;
.affirmstatus3bg
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
background
:
linear-gradient
(
180deg
,
rgba
(
255
,
255
,
255
,
0
)
-35%
,
#000000
100%
);
opacity
:
0.66
;
}
.icon
{
width
:
14px
;
height
:
14px
;
display
:
flex
;
.rb
{
position
:
relative
;
width
:
14px
;
height
:
14px
;
object-fit
:
contain
;
}
}
}
.clickLog
{
width
:
100%
;
height
:
20px
;
color
:
#ffffff
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
position
:
relative
;
.clickLogbg
{
width
:
100%
;
height
:
100%
;
position
:
absolute
;
background
:
linear-gradient
(
180deg
,
rgba
(
255
,
255
,
255
,
0
)
-35%
,
#000000
100%
);
opacity
:
0.66
;
}
.dot
{
z-index
:
10
;
width
:
7px
;
height
:
7px
;
background
:
#999999
;
border
:
1px
solid
#FFFFFF
;
border-radius
:
50%
;
margin-right
:
8px
;
}
.txt
{
z-index
:
10
;
font-size
:
12px
;
font-family
:
MicrosoftYaHei
;
color
:
#FFFFFF
;
}
}
}
&
.finger_print_active
{
border
:
1px
solid
#055FE7
!important
;
.num
{
background
:
#055FE7
;
border-radius
:
0px
0px
7px
0px
;
color
:
#ffffff
;
}
}
&
:nth-child
(
1
),
&
:nth-child
(
3
)
{
margin-left
:
0
;
}
&
.noFinger
{
border
:
1px
solid
#FF3644
;
}
&
.fingerLoading
{
border
:
1px
solid
#cccccc
;
}
.num
{
position
:
absolute
;
top
:
0
;
left
:
0
;
font-size
:
12px
;
font-family
:
MicrosoftYaHei
;
color
:
#055FE7
;
width
:
48px
;
height
:
24px
;
background
:
#DDEBFF
;
border-radius
:
0px
0px
7px
0px
;
text-align
:
center
;
line-height
:
24px
;
&.noFinger
{
color
:
#FF3644
;
}
}
.imgBox
{
width
:
158px
;
height
:
158px
;
display
:
flex
;
justify-content
:
center
;
align-content
:
center
;
.itemImage
{
//
height
:
80%
;
object-fit
:
contain
;
}
}
.absence
{
width
:
140px
;
height
:
140px
;
//
display
:
flex
;
img
{
width
:
140px
;
height
:
140px
;
object-fit
:
contain
;
}
}
.zwtp
{
display
:
flex
;
flex-direction
:
column
;
justify-content
:
center
;
align-items
:
center
;
img
{
width
:
128px
;
height
:
auto
;
}
.zwtp-desc
{
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
color
:
#CCCCCC
;
}
}
}
.loadingHand
{
width
:
70%
;
height
:
auto
;
}
}
}
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment