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
b24f5ba4
Commit
b24f5ba4
authored
Oct 21, 2021
by
maxiaohan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
查重 比中接口 认定接口调整
parent
416e65ba
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
568 additions
and
214 deletions
+568
-214
src/views/cxyrd/TL.vue
+171
-144
src/views/cxyrd/TT.scss
+107
-0
src/views/cxyrd/TT.vue
+248
-50
src/views/cxyrd/modules/TTFace.vue
+39
-17
src/views/cxyrd/modules/TTPlam.vue
+3
-3
No files found.
src/views/cxyrd/TL.vue
View file @
b24f5ba4
<
template
>
<div
class=
"tlDiv"
>
<div
class=
"tl"
:class=
"
{
bzActive: isShowbzDialogBg
}">
<div
class=
"tl"
:class=
"
{
bzActive: isShowbzDialogBg
}">
<div
class=
"header"
>
<div
class=
"label"
>
倒查
</div>
<div
class=
"btns"
>
...
...
@@ -26,7 +26,7 @@
<div
class=
"head-title"
>
<div
class=
"left"
>
比中
</div>
<div
class=
"close"
@
click=
"cancelbz"
>
<img
src=
"@/assets/img/LT/close.png"
alt=
""
>
<img
src=
"@/assets/img/LT/close.png"
alt=
""
/
>
</div>
</div>
<div
class=
"bzdesc"
>
...
...
@@ -34,65 +34,77 @@
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
查询类型:
</div>
<div
class=
"bzvalue zc"
>
<div
class=
"dot"
></div>
倒查
<div
class=
"dot"
></div>
倒查
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
现场勘验编号:
</div>
<div
class=
"bzvalue"
>
{{
xckybh
}}
</div>
<div
class=
"bzvalue"
>
{{
xckybh
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
人员编号:
</div>
<div
class=
"bzvalue"
>
{{
rybh
}}
</div>
<div
class=
"bzvalue"
>
{{
rybh
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
案事件编号:
</div>
<div
class=
"bzvalue"
>
{{
asjbh
}}
</div>
<div
class=
"bzvalue"
>
{{
asjbh
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
指位:
</div>
<div
class=
"bzvalue"
>
{{
zw
}}
</div>
<div
class=
"bzvalue"
>
{{
zw
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
序号:
</div>
<div
class=
"bzvalue"
>
{{
xh
}}
</div>
<div
class=
"bzvalue"
>
{{
xh
}}
</div>
</div>
</div>
<div
class=
"bz-target"
>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中单位:
</div>
<div
class=
"bzvalue"
>
{{
bzdw
}}
</div>
<div
class=
"bzvalue"
>
{{
bzdw
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中人:
</div>
<div
class=
"bzvalue"
>
{{
bzr
}}
</div>
<div
class=
"bzvalue"
>
{{
bzr
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
单位代码:
</div>
<div
class=
"bzvalue"
>
{{
dwdm
}}
</div>
<div
class=
"bzvalue"
>
{{
dwdm
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中人身份证号:
</div>
<div
class=
"bzvalue"
>
{{
bzrsfzh
}}
</div>
<div
class=
"bzvalue"
>
{{
bzrsfzh
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中时间:
</div>
<div
class=
"bzvalue"
>
{{
bzsj
}}
</div>
<div
class=
"bzvalue"
>
{{
bzsj
}}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中人联系电话:
</div>
<el-input
class=
"bzphone"
v-model=
"phone"
placeholder=
"请输入内容"
></el-input>
<el-input
class=
"bzphone"
v-model=
"phone"
placeholder=
"请输入内容"
></el-input>
<div
class=
"input-error"
v-show=
"isPhoneError"
>
<!--
<img
src=
"@/assets/img/inputerror.png"
alt=
""
>
-->
<svg-icon
icon-class=
"error"
class=
"icon"
/>
</div>
<div
class=
"error-desc"
v-show=
"isPhoneError"
>
联系电话不应低于7位数!
</div>
<div
class=
"error-desc"
v-show=
"isPhoneError"
>
联系电话不应低于7位数!
</div>
</div>
</div>
<div
class=
"line"
></div>
<div
class=
"bzfooter"
>
<div
class=
"footer-title"
>
备注
</div>
<el-input
type=
"textarea"
:rows=
"5"
placeholder=
"在此输入备注信息"
v-model=
"textarea"
>
<el-input
type=
"textarea"
:rows=
"5"
placeholder=
"在此输入备注信息"
v-model=
"textarea"
>
</el-input>
</div>
<div
class=
"bzbtns"
>
...
...
@@ -103,7 +115,11 @@
</div>
<!-- 认定完成确认框 -->
<div
class=
"rdwcDialog"
v-show=
"isShowrdwcDialogBg"
@
click=
"cancelrdwc"
></div>
<div
class=
"rdwcDialog"
v-show=
"isShowrdwcDialogBg"
@
click=
"cancelrdwc"
></div>
<div
class=
"rdwccontent"
v-show=
"isShowrdwcDialog"
>
<div
class=
"title"
>
当前候选未全部查看,是否确认认定完成?
</div>
<div
class=
"rdwcbtns"
>
...
...
@@ -116,7 +132,7 @@
<
script
>
import
"@/icons/error.svg"
;
import
Utils
from
'@/utils/util.js'
;
import
Utils
from
"@/utils/util.js"
;
import
ImageEd
from
"../../components/ImageEd.vue"
;
import
TLSrc
from
"@/views/cxyrd/modules/TLSrc.vue"
;
import
TLCandidate
from
"@/views/cxyrd/modules/TLCandidate.vue"
;
...
...
@@ -125,27 +141,27 @@ export default {
components
:
{
ImageEd
,
TLSrc
,
TLCandidate
,
TLCandidate
},
data
()
{
data
()
{
return
{
dialog
:
false
,
text
:
""
,
phone
:
''
,
textarea
:
''
,
phone
:
""
,
textarea
:
""
,
isShowbzDialog
:
false
,
isShowbzDialogBg
:
false
,
bzdw
:
''
,
bzr
:
''
,
dwdm
:
''
,
bzrsfzh
:
''
,
bzsj
:
''
,
bzdw
:
""
,
bzr
:
""
,
dwdm
:
""
,
bzrsfzh
:
""
,
bzsj
:
""
,
isPhoneError
:
false
,
asjbh
:
''
,
xh
:
''
,
xckybh
:
''
,
rybh
:
''
,
zw
:
''
,
asjbh
:
""
,
xh
:
""
,
xckybh
:
""
,
rybh
:
""
,
zw
:
""
,
// 是否展示认定完成确认框背景
isShowrdwcDialogBg
:
false
,
// 是否展示认定完成确认框
...
...
@@ -153,13 +169,17 @@ export default {
};
},
watch
:
{
phone
(
newValue
,
oldValue
)
{
phone
(
newValue
,
oldValue
)
{
if
(
newValue
.
length
<
7
)
{
this
.
isPhoneError
=
true
document
.
getElementsByTagName
(
'body'
)[
0
].
style
.
setProperty
(
'--phone'
,
'#ff4242'
);
this
.
isPhoneError
=
true
;
document
.
getElementsByTagName
(
"body"
)[
0
]
.
style
.
setProperty
(
"--phone"
,
"#ff4242"
);
}
else
{
this
.
isPhoneError
=
false
document
.
getElementsByTagName
(
'body'
)[
0
].
style
.
setProperty
(
'--phone'
,
'#606266'
);
this
.
isPhoneError
=
false
;
document
.
getElementsByTagName
(
"body"
)[
0
]
.
style
.
setProperty
(
"--phone"
,
"#606266"
);
}
}
},
...
...
@@ -169,18 +189,18 @@ export default {
* @param {*}
* @return {*}
*/
confirmrdwc
()
{
let
self
=
this
this
.
isShowrdwcDialogBg
=
false
this
.
isShowrdwcDialog
=
false
confirmrdwc
()
{
let
self
=
this
;
this
.
isShowrdwcDialogBg
=
false
;
this
.
isShowrdwcDialog
=
false
;
let
srcseqno
=
sessionStorage
.
getItem
(
'srcseqno'
)
||
''
let
destseqno
=
sessionStorage
.
getItem
(
'destseqno'
)
||
''
let
srcbarcode
=
sessionStorage
.
getItem
(
'srcbarcode'
)
||
''
let
destbarcode
=
sessionStorage
.
getItem
(
'destbarcode'
)
||
''
let
qqid
=
sessionStorage
.
getItem
(
'qqid'
)
||
''
let
qid
=
sessionStorage
.
getItem
(
'qid'
)
||
''
let
type
=
sessionStorage
.
getItem
(
'dctype'
)
||
''
let
srcseqno
=
sessionStorage
.
getItem
(
"srcseqno"
)
||
""
;
let
destseqno
=
sessionStorage
.
getItem
(
"destseqno"
)
||
""
;
let
srcbarcode
=
sessionStorage
.
getItem
(
"srcbarcode"
)
||
""
;
let
destbarcode
=
sessionStorage
.
getItem
(
"destbarcode"
)
||
""
;
let
qqid
=
sessionStorage
.
getItem
(
"qqid"
)
||
""
;
let
qid
=
sessionStorage
.
getItem
(
"qid"
)
||
""
;
let
type
=
sessionStorage
.
getItem
(
"dctype"
)
||
""
;
// 1:倒查
let
querytype
=
1
;
this
.
$axios
({
...
...
@@ -200,36 +220,36 @@ export default {
// 跟新列表数据
self
.
$bus
.
emit
(
"updateTLSourceData"
);
console
.
log
(
response
);
this
.
$message
.
success
(
'认定完成!'
)
if
(
type
==
'son'
)
{
window
.
close
()
this
.
$message
.
success
(
"认定完成!"
);
if
(
type
==
"son"
)
{
window
.
close
()
;
}
})
})
;
},
/**
* @description: 取消认定完成
* @param {*}
* @return {*}
*/
cancelrdwc
()
{
this
.
isShowrdwcDialogBg
=
false
this
.
isShowrdwcDialog
=
false
cancelrdwc
()
{
this
.
isShowrdwcDialogBg
=
false
;
this
.
isShowrdwcDialog
=
false
;
},
/**
* @description: 取消比中
* @param {*}
* @return {*}
*/
cancelbz
()
{
this
.
isShowbzDialogBg
=
false
this
.
isShowbzDialog
=
false
cancelbz
()
{
this
.
isShowbzDialogBg
=
false
;
this
.
isShowbzDialog
=
false
;
},
/**
* @description: 确认比中
* @param {*}
* @return {*}
*/
confirmbz
()
{
confirmbz
()
{
let
self
=
this
;
console
.
log
(
"比中"
);
let
affirmstatus
=
"1"
;
...
...
@@ -254,128 +274,132 @@ export default {
qid
,
querytype
}
}).
then
(
response
=>
{
// 跟新列表数据
self
.
$bus
.
emit
(
"updateTLSourceData"
);
console
.
log
(
response
);
}).
catch
(
err
=>
{
this
.
$message
.
error
(
'比中失败!'
)
})
.
then
(
response
=>
{
// 跟新列表数据
self
.
$bus
.
emit
(
"updateTLSourceData"
);
console
.
log
(
response
);
})
.
catch
(
err
=>
{
this
.
$message
.
error
(
"比中失败!"
);
});
// 更新电话
this
.
$axios
({
method
:
'post'
,
url
:
'/api/user/update'
,
method
:
"post"
,
url
:
"/api/user/update"
,
data
:
{
telephone
:
self
.
phone
}
}).
then
(
res
=>
{
console
.
log
(
res
);
}).
catch
(
err
=>
{
this
.
$message
.
error
(
'比中失败!'
)
})
.
then
(
res
=>
{
console
.
log
(
res
);
})
.
catch
(
err
=>
{
this
.
$message
.
error
(
"比中失败!"
);
});
// 关闭弹窗
this
.
isShowbzDialog
=
false
this
.
isShowbzDialogBg
=
false
this
.
isShowbzDialog
=
false
;
this
.
isShowbzDialogBg
=
false
;
},
/**
* @description: 获取现场勘验编号
* @param {*}
* @return {*}
*/
getUserInfo2
()
{
let
self
=
this
getUserInfo2
()
{
let
self
=
this
;
let
destbarcode
=
sessionStorage
.
getItem
(
"destbarcode"
)
||
""
;
console
.
log
(
destbarcode
);
this
.
$axios
({
url
:
'/api/casestore/casebase'
,
method
:
'get'
,
url
:
"/api/casestore/casebase"
,
method
:
"get"
,
params
:
{
barcode
:
destbarcode
}
}).
then
(
res
=>
{
if
(
res
.
data
.
code
==
0
)
{
self
.
xckybh
=
res
.
data
.
ret
.
kybh
self
.
xckybh
=
res
.
data
.
ret
.
kybh
;
}
})
})
;
},
/**
* @description: 获取正查比中下方的数据
* @param {*} id
* @return {*}
*/
getUserInfo
(
id
=
1234
)
{
let
self
=
this
getUserInfo
(
id
=
1234
)
{
let
self
=
this
;
this
.
$axios
({
method
:
'post'
,
url
:
'/api/user/searchByUserid'
,
method
:
"post"
,
url
:
"/api/user/searchByUserid"
,
data
:
{
id
:
id
}
}).
then
(
async
res
=>
{
if
(
res
.
data
.
code
==
0
)
{
let
data
=
res
.
data
.
ret
[
0
]
let
data
=
res
.
data
.
ret
[
0
]
;
console
.
log
(
data
);
let
dw
=
await
self
.
$axios
({
method
:
'get'
,
url
:
'/api/code/unit/one/'
+
data
.
userunit
})
let
time
=
new
Date
(
data
.
updatetime
)
self
.
bzsj
=
Utils
.
timeStampTurnTime2
(
time
)
self
.
bzr
=
data
.
userdesc
self
.
dwdm
=
dw
.
data
.
ret
.
code
self
.
bzdw
=
dw
.
data
.
ret
.
name
self
.
bzrsfzh
=
data
.
idcard
self
.
phone
=
data
.
telephone
method
:
"get"
,
url
:
"/api/code/unit/one/"
+
data
.
userunit
})
;
let
time
=
new
Date
(
data
.
updatetime
)
;
self
.
bzsj
=
Utils
.
timeStampTurnTime2
(
time
)
;
self
.
bzr
=
data
.
userdesc
;
self
.
dwdm
=
dw
.
data
.
ret
.
code
;
self
.
bzdw
=
dw
.
data
.
ret
.
name
;
self
.
bzrsfzh
=
data
.
idcard
;
self
.
phone
=
data
.
telephone
;
}
})
})
;
},
/**
* @description: 比中
* @param {*}
* @return {*}
*/
Bz
()
{
Bz
()
{
console
.
info
(
"比中"
);
this
.
isShowbzDialogBg
=
true
this
.
isShowbzDialog
=
true
this
.
getUserInfo
()
this
.
getUserInfo2
()
this
.
isShowbzDialogBg
=
true
;
this
.
isShowbzDialog
=
true
;
this
.
getUserInfo
()
;
this
.
getUserInfo2
()
;
// 序号
this
.
xh
=
sessionStorage
.
getItem
(
'backcheckXh'
)
this
.
xh
=
sessionStorage
.
getItem
(
"backcheckXh"
);
// 指位
this
.
judgeZw
(
Number
(
sessionStorage
.
getItem
(
"backcheckCode"
)))
this
.
judgeZw
(
Number
(
sessionStorage
.
getItem
(
"backcheckCode"
)))
;
// 人员编号
this
.
rybh
=
sessionStorage
.
getItem
(
'srcbarcode'
)
this
.
rybh
=
sessionStorage
.
getItem
(
"srcbarcode"
);
// 案件编号
this
.
asjbh
=
sessionStorage
.
getItem
(
'destbarcode'
)
this
.
asjbh
=
sessionStorage
.
getItem
(
"destbarcode"
);
// 比中人
this
.
userdesc
=
sessionStorage
.
getItem
(
'userdesc'
)
this
.
userdesc
=
sessionStorage
.
getItem
(
"userdesc"
);
},
Rdwc
()
{
Rdwc
()
{
console
.
info
(
"认定完成"
);
console
.
log
(
"认定完成"
);
let
qqid
=
sessionStorage
.
getItem
(
"qqid"
)
||
""
;
// 认定之前的操作
this
.
$axios
({
method
:
'post'
,
url
:
'/api/matchcand/affirm/confirm'
,
method
:
"post"
,
url
:
"/api/matchcand/affirm/confirm"
,
data
:
{
qqid
}
}).
then
(
res
=>
{
console
.
log
(
res
);
if
(
!
res
.
data
.
ret
)
{
this
.
isShowrdwcDialogBg
=
true
this
.
isShowrdwcDialog
=
true
this
.
isShowrdwcDialogBg
=
true
;
this
.
isShowrdwcDialog
=
true
;
}
else
{
// 执行认定完成
this
.
confirmrdwc
()
this
.
confirmrdwc
()
;
}
})
})
;
},
hideDialog
()
{
hideDialog
()
{
this
.
dialog
=
true
;
},
/**
...
...
@@ -384,23 +408,26 @@ export default {
* @param {*} date
* @return {*}
*/
dateFormat
(
fmt
,
date
)
{
dateFormat
(
fmt
,
date
)
{
let
ret
;
const
opt
=
{
"Y+"
:
date
.
getFullYear
().
toString
(),
// 年
"m+"
:
(
date
.
getMonth
()
+
1
).
toString
(),
// 月
"d+"
:
date
.
getDate
().
toString
(),
// 日
"H+"
:
date
.
getHours
().
toString
(),
// 时
"M+"
:
date
.
getMinutes
().
toString
(),
// 分
"S+"
:
date
.
getSeconds
().
toString
()
// 秒
"Y+"
:
date
.
getFullYear
().
toString
(),
// 年
"m+"
:
(
date
.
getMonth
()
+
1
).
toString
(),
// 月
"d+"
:
date
.
getDate
().
toString
(),
// 日
"H+"
:
date
.
getHours
().
toString
(),
// 时
"M+"
:
date
.
getMinutes
().
toString
(),
// 分
"S+"
:
date
.
getSeconds
().
toString
()
// 秒
// 有其他格式化字符需求可以继续添加,必须转化成字符串
};
for
(
let
k
in
opt
)
{
ret
=
new
RegExp
(
"("
+
k
+
")"
).
exec
(
fmt
);
if
(
ret
)
{
fmt
=
fmt
.
replace
(
ret
[
1
],
(
ret
[
1
].
length
==
1
)
?
(
opt
[
k
])
:
(
opt
[
k
].
padStart
(
ret
[
1
].
length
,
"0"
)))
};
};
fmt
=
fmt
.
replace
(
ret
[
1
],
ret
[
1
].
length
==
1
?
opt
[
k
]
:
opt
[
k
].
padStart
(
ret
[
1
].
length
,
"0"
)
);
}
}
return
fmt
;
},
/**
...
...
@@ -408,68 +435,68 @@ export default {
* @param {*} code
* @return {*}
*/
judgeZw
(
code
)
{
judgeZw
(
code
)
{
console
.
log
(
code
);
switch
(
code
)
{
case
1
:
this
.
zw
=
'滚动-右拇'
this
.
zw
=
"滚动-右拇"
;
break
;
case
2
:
this
.
zw
=
'滚动-右食'
this
.
zw
=
"滚动-右食"
;
break
;
case
3
:
this
.
zw
=
'滚动-右中'
this
.
zw
=
"滚动-右中"
;
break
;
case
4
:
this
.
zw
=
'滚动-右环'
this
.
zw
=
"滚动-右环"
;
break
;
case
5
:
this
.
zw
=
'滚动-右小'
this
.
zw
=
"滚动-右小"
;
break
;
case
6
:
this
.
zw
=
'滚动-左拇'
this
.
zw
=
"滚动-左拇"
;
break
;
case
7
:
this
.
zw
=
'滚动-左食'
this
.
zw
=
"滚动-左食"
;
break
;
case
8
:
this
.
zw
=
'滚动-左中'
this
.
zw
=
"滚动-左中"
;
break
;
case
9
:
this
.
zw
=
'滚动-左环'
this
.
zw
=
"滚动-左环"
;
break
;
case
10
:
this
.
zw
=
'滚动-左小'
this
.
zw
=
"滚动-左小"
;
break
;
case
11
:
this
.
zw
=
'平面-右拇'
this
.
zw
=
"平面-右拇"
;
break
;
case
12
:
this
.
zw
=
'平面-右食'
this
.
zw
=
"平面-右食"
;
break
;
case
13
:
this
.
zw
=
'平面-右中'
this
.
zw
=
"平面-右中"
;
break
;
case
14
:
this
.
zw
=
'平面-右环'
this
.
zw
=
"平面-右环"
;
break
;
case
15
:
this
.
zw
=
'平面-右小'
this
.
zw
=
"平面-右小"
;
break
;
case
16
:
this
.
zw
=
'平面-左拇'
this
.
zw
=
"平面-左拇"
;
break
;
case
17
:
this
.
zw
=
'平面-左食'
this
.
zw
=
"平面-左食"
;
break
;
case
18
:
this
.
zw
=
'平面-左中'
this
.
zw
=
"平面-左中"
;
break
;
case
19
:
this
.
zw
=
'平面-左环'
this
.
zw
=
"平面-左环"
;
break
;
case
20
:
this
.
zw
=
'平面-左小'
this
.
zw
=
"平面-左小"
;
break
;
}
}
...
...
src/views/cxyrd/TT.scss
View file @
b24f5ba4
// 电话验证颜色
$phone
:
var
(
--
phone
,
#606266
);
//#ff4242;
*
{
box-sizing
:
border-box
;
margin
:
0
;
padding
:
0
;
}
.rdwcDialog
{
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
100
;
width
:
100%
;
height
:
100%
;
background
:
rgba
(
$color
:
#fff
,
$alpha
:
0
.65
);
filter
:
blur
(
2px
);
}
.rdwccontent
{
padding
:
20px
;
box-sizing
:
border-box
;
position
:
absolute
;
top
:
calc
(
50%
-
300px
);
left
:
calc
(
50%
-
300px
);
z-index
:
1000
;
width
:
600px
;
height
:
152px
;
background
:
#ffffff
;
box-shadow
:
0px
14px
30px
0px
rgba
(
0
,
21
,
51
,
0
.25
);
border-radius
:
6px
;
display
:
flex
;
flex-direction
:
column
;
align-items
:
center
;
.title
{
font-size
:
16px
;
font-family
:
Microsoft
YaHei
;
color
:
#282f3c
;
}
.rdwcbtns
{
display
:
flex
;
align-items
:
center
;
margin-top
:
30px
;
.rdwcconfirm
,
.rdwccancel
{
cursor
:
pointer
;
display
:
flex
;
justify-content
:
center
;
align-items
:
center
;
width
:
72px
;
height
:
40px
;
background
:
#ffffff
;
border-radius
:
4px
;
border
:
1px
solid
#aeb5c2
;
font-size
:
14px
;
font-family
:
MicrosoftYaHei
;
color
:
#2e3846
;
}
.rdwcconfirm
{
&
:hover
{
border
:
1px
solid
#055fe7
;
color
:
#055fe7
;
}
&
:active
{
border
:
1px
solid
#044CB9
;
color
:
#044CB9
;
}
}
.rdwccancel
{
margin-left
:
24px
;
background
:
#055fe7
;
color
:
#ffffff
;
&
:hover
{
background
:
#377FEC
;
color
:
#FFFFFF
;
}
&
:active
{
background
:
#044CB9
;
color
:
#FFFFFF
;
}
}
}
}
.bzDialog
{
position
:
absolute
;
top
:
0
;
...
...
@@ -105,6 +183,35 @@
.bzitem
{
width
:
338px
;
margin-bottom
:
20px
;
position
:
relative
;
.bzphone
{
/
deep
/
.el-input__inner
{
color
:
$phone
;
}
}
.error-desc
{
position
:
absolute
;
height
:
20px
;
bottom
:
-24px
;
right
:
36px
;
font-size
:
12px
;
font-family
:
Microsoft
YaHei
;
color
:
#FF3745
;
}
.input-error
{
position
:
absolute
;
width
:
16px
;
height
:
16px
;
right
:
51px
;
top
:
6px
;
// img {
// object-fit: contain;
// }
.icon
{
width
:
16px
;
height
:
16px
;
}
}
.bzname
{
width
:
114px
;
}
...
...
src/views/cxyrd/TT.vue
View file @
b24f5ba4
...
...
@@ -70,13 +70,17 @@
</
template
>
</div>
<div
class=
"btns"
>
<div
class=
"btn"
:class=
"isFinger === true"
@
click=
"finger"
>
<div
class=
"btn"
:class=
"{ active: isFinger === true }"
@
click=
"finger"
>
指纹
</div>
<div
class=
"btn"
:class=
"
isPlam === true
"
@
click=
"plam"
>
<div
class=
"btn"
:class=
"
{ active: isPlam === true }
"
@
click=
"plam"
>
掌纹
</div>
<div
class=
"btn"
:class=
"
isFace === true
"
@
click=
"face"
>
<div
class=
"btn"
:class=
"
{ active: isFace === true }
"
@
click=
"face"
>
人像
</div>
<br
/>
...
...
@@ -137,11 +141,14 @@
<div
class=
"outside"
>
<!-- 源 左手 滚动 -->
<div
v-for=
"(item, index) in sourceFingersLeftR"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail(sourceFingersLeftL, index)"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/hand1.gif
"
s
tyle=
"width: 200px;height: 200px
"
class=
"img
"
s
rc=
"@/assets/img/指纹.gif
"
/>
<div
v-else
>
<!-- 有指纹图片 -->
...
...
@@ -160,7 +167,11 @@
<!-- 左手 滚动 目标 -->
<div
v-for=
"(item, index) in destFingersLeftR"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -178,7 +189,11 @@
<div
class=
"outside"
>
<div
v-for=
"(item, index) in sourceFingersRightR"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -196,7 +211,11 @@
<div
class=
"outside"
>
<div
v-for=
"(item, index) in destFingersRightR"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -219,7 +238,11 @@
<!-- 源 左手 滚动 -->
<div
v-for=
"(item, index) in sourceFingersLeftL"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -237,7 +260,11 @@
<!-- 左手 滚动 目标 -->
<div
v-for=
"(item, index) in destFingersLeftL"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -256,7 +283,11 @@
<div
class=
"outside"
>
<div
v-for=
"(item, index) in sourceFingersRightL"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -274,7 +305,11 @@
<div
class=
"outside"
>
<div
v-for=
"(item, index) in destFingersRightL"
>
<div
class=
"finger-img"
@
dblclick=
"showDetail"
>
<img
v-if=
"fingerLoading"
src=
"@/assets/img/loading1.gif"
/>
<img
v-if=
"fingerLoading"
class=
"img"
src=
"@/assets/img/指纹.gif"
/>
<div
v-else
>
<!-- 有指纹图片 -->
<img
...
...
@@ -325,55 +360,67 @@
查重
</div>
</div>
<!-- <div class="bzitem">-->
<!-- <div class="bzname">现场勘验编号:</div>-->
<!-- <div class="bzvalue">K1231231231231231231232</div>-->
<!-- </div>-->
<br
/>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
现场勘验编号:
</div>
<div
class=
"bzvalue"
>
K1231231231231231231232
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
案事件编号:
</div>
<div
class=
"bzvalue"
>
A1231231231231231231232
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
人员编号:
</div>
<div
class=
"bzvalue"
>
R1231231231231231231232
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
序号:
</div>
<div
class=
"bzvalue"
>
01
</div>
<!-- <el-radio-group v-model="radio">-->
<!-- <el-radio :label="6">是</el-radio>-->
<!-- <el-radio :label="9">否</el-radio>-->
<!-- </el-radio-group>-->
<div
class=
"bzname"
>
源人员编号:
</div>
<div
class=
"bzvalue"
>
{{ sourcebarcode }}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
指位
:
</div>
<div
class=
"bzvalue"
>
平面-右拇
</div>
<div
class=
"bzname"
>
目标人员编号
:
</div>
<div
class=
"bzvalue"
>
{{ destbarcode }}
</div>
</div>
<!-- <div class="bzitem">-->
<!-- <div class="bzname">序号:</div>-->
<!-- <div class="bzvalue">01</div>-->
<!-- <!– <el-radio-group v-model="radio">–>-->
<!-- <!– <el-radio :label="6">是</el-radio>–>-->
<!-- <!– <el-radio :label="9">否</el-radio>–>-->
<!-- <!– </el-radio-group>–>-->
<!-- </div>-->
<!-- <div class="bzitem">-->
<!-- <div class="bzname">指位:</div>-->
<!-- <div class="bzvalue">平面-右拇</div>-->
<!-- </div>-->
</div>
<div
class=
"bz-target"
>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中单位:
</div>
<div
class=
"bzvalue"
>
北京市朝阳区公安局分局
</div>
<div
class=
"bzvalue"
>
{{ bzdw }}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中人:
</div>
<div
class=
"bzvalue"
>
张xx
</div>
<div
class=
"bzvalue"
>
{{ bzr }}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
单位代码:
</div>
<div
class=
"bzvalue"
>
123123123123
</div>
<div
class=
"bzvalue"
>
{{ dwdm }}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中人身份证号:
</div>
<div
class=
"bzvalue"
>
412************016
</div>
<div
class=
"bzvalue"
>
{{ bzrsfzh }}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中时间:
</div>
<div
class=
"bzvalue"
>
2021-09-23 14:54
</div>
<div
class=
"bzvalue"
>
{{ bzsj }}
</div>
</div>
<div
class=
"bzitem"
>
<div
class=
"bzname"
>
比中人联系电话:
</div>
<el-input
v-model=
"phone"
placeholder=
"请输入联系电话"
></el-input>
<el-input
class=
"bzphone"
v-model=
"phone"
placeholder=
"请输入内容"
></el-input>
<div
class=
"input-error"
v-show=
"isPhoneError"
>
<!-- <img src="@/assets/img/inputerror.png" alt=""> -->
<svg-icon
icon-class=
"error"
class=
"icon"
/>
</div>
<div
class=
"error-desc"
v-show=
"isPhoneError"
>
联系电话不应低于7位数!
</div>
</div>
</div>
<div
class=
"line"
></div>
...
...
@@ -393,17 +440,31 @@
</div>
</div>
</div>
<!-- 认定完成确认框 -->
<div
class=
"rdwcDialog"
v-show=
"isShowrdwcDialogBg"
@
click=
"cancelrdwc"
></div>
<div
class=
"rdwccontent"
v-show=
"isShowrdwcDialog"
>
<div
class=
"title"
>
当前候选未全部查看,是否确认认定完成?
</div>
<div
class=
"rdwcbtns"
>
<button
class=
"rdwcconfirm"
@
click=
"confirmrdwc"
>
确认
</button>
<button
class=
"rdwccancel"
@
click=
"cancelrdwc"
>
取消
</button>
</div>
</div>
</div>
</template>
<
script
>
import
TTFingerPrint
from
"./modules/TTFingerPrint.vue"
;
import
TTPlam
from
"./modules/TTPlam.vue"
;
import
TTFace
from
"./modules/TTFace.vue"
;
import
Utils
from
"@/utils/util.js"
;
import
"@/icons/error.svg"
;
export
default
{
name
:
"TT"
,
components
:
{
TTFingerPrint
,
TTPlam
,
TTFace
},
...
...
@@ -427,7 +488,7 @@ export default {
textarea
:
""
,
sourceloading
:
false
,
destloading
:
false
,
d
se
tbarcode
:
""
,
d
es
tbarcode
:
""
,
sourcebarcode
:
""
,
activeIndex
:
1
,
sourcedatas
:
[],
...
...
@@ -492,7 +553,16 @@ export default {
rdcount
:
0
,
// 认定条数
// 指纹图片加载
fingerLoading
:
true
,
type
:
null
bzdw
:
""
,
bzr
:
""
,
dwdm
:
""
,
bzrsfzh
:
""
,
bzsj
:
""
,
isPhoneError
:
false
,
// 是否展示认定完成确认框背景
isShowrdwcDialogBg
:
false
,
// 是否展示认定完成确认框
isShowrdwcDialog
:
false
};
},
created
()
{
...
...
@@ -508,6 +578,21 @@ export default {
console
.
log
(
"源qqid====>"
,
this
.
currentQqid
);
console
.
log
(
"源barcode====>"
,
this
.
sourcebarcode
);
},
watch
:
{
phone
(
newValue
,
oldValue
)
{
if
(
newValue
.
length
<
7
)
{
this
.
isPhoneError
=
true
;
document
.
getElementsByTagName
(
"body"
)[
0
]
.
style
.
setProperty
(
"--phone"
,
"#ff4242"
);
}
else
{
this
.
isPhoneError
=
false
;
document
.
getElementsByTagName
(
"body"
)[
0
]
.
style
.
setProperty
(
"--phone"
,
"#606266"
);
}
}
},
methods
:
{
// 滚动平面选择切换
handleSelect
(
index
)
{
...
...
@@ -613,7 +698,7 @@ export default {
me
.
$refs
.
singleTable
.
setCurrentRow
(
me
.
tableData
[
0
]);
});
}
console
.
info
(
" 候选列表"
,
res
);
console
.
info
(
" 候选列表"
,
res
.
data
.
ret
);
});
}
},
...
...
@@ -749,16 +834,98 @@ export default {
},
handleCurrentChange
(
val
)
{
this
.
destbarcode
=
val
.
destbarcode
;
console
.
info
(
this
.
destbarcode
);
console
.
info
(
"destbarcode"
,
this
.
destbarcode
);
this
.
$bus
.
emit
(
"ccbarcode"
,
this
.
destbarcode
);
},
//比中
Bz
()
{
this
.
isShowbzDialogBg
=
true
;
this
.
isShowbzDialog
=
true
;
console
.
info
(
"比中弹窗"
);
// 获取用户信息
this
.
getUserInfo
();
// 比中人
// this.userdesc = sessionStorage.getItem("userdesc");
},
// 获取用户信息
getUserInfo
(
id
=
1
)
{
let
self
=
this
;
this
.
$axios
({
method
:
"post"
,
url
:
"/api/user/searchByUserid"
,
data
:
{
id
:
id
}
}).
then
(
async
res
=>
{
if
(
res
.
data
.
code
==
0
)
{
let
data
=
res
.
data
.
ret
[
0
];
console
.
log
(
"userInfo===>"
,
data
);
let
dw
=
await
self
.
$axios
({
method
:
"get"
,
url
:
"/api/code/unit/one/"
+
data
.
userunit
});
let
time
=
new
Date
(
data
.
updatetime
);
self
.
bzsj
=
Utils
.
timeStampTurnTime2
(
time
);
self
.
bzr
=
data
.
userdesc
;
self
.
dwdm
=
dw
.
data
.
ret
.
code
;
self
.
bzdw
=
dw
.
data
.
ret
.
name
;
self
.
bzrsfzh
=
data
.
idcard
;
self
.
phone
=
data
.
telephone
;
}
});
},
/**
* @description: 取消认定完成
* @param {*}
* @return {*}
*/
cancelrdwc
()
{
this
.
isShowrdwcDialogBg
=
false
;
this
.
isShowrdwcDialog
=
false
;
},
// 认定完成
Rdwc
()
{},
Rdwc
()
{
console
.
info
(
"认定完成"
);
// 认定之前的操作
this
.
$axios
.
post
(
"/api/matchcand/affirm/confirm"
,
{
qqid
:
this
.
currentQqid
})
.
then
(
res
=>
{
console
.
log
(
res
);
if
(
!
res
.
data
.
ret
)
{
this
.
isShowrdwcDialogBg
=
true
;
this
.
isShowrdwcDialog
=
true
;
}
else
{
// 执行认定完成
this
.
confirmrdwc
();
}
});
},
// 确认认定完成
confirmrdwc
()
{
let
self
=
this
;
this
.
isShowrdwcDialogBg
=
false
;
this
.
isShowrdwcDialog
=
false
;
// 1:倒查
let
querytype
=
0
;
this
.
$axios
.
post
(
"/api/matchcand/affirm/finish"
,
{
srcbarcode
:
self
.
sourcebarcode
,
destbarcode
:
self
.
destbarcode
,
qqid
:
self
.
currentQqid
,
qid
:
self
.
qid
,
querytype
:
querytype
})
.
then
(
response
=>
{
// 跟新列表数据
self
.
$bus
.
emit
(
"updateTTSourceData"
);
console
.
log
(
response
);
this
.
$message
.
success
(
"认定完成!"
);
if
(
self
.
datatype
==
"son"
)
{
window
.
close
();
}
});
},
// 指纹可见
finger
()
{
this
.
isFinger
=
true
;
...
...
@@ -786,6 +953,25 @@ export default {
confirmbz
()
{
let
self
=
this
;
console
.
log
(
"比中"
);
let
querytype
=
0
;
this
.
$axios
.
post
(
"/api/matchcand/affirm/hit"
,
{
srcbarcode
:
self
.
sourcebarcode
,
destbarcode
:
self
.
destbarcode
,
// affirmstatus: "1"
querytype
:
"0"
,
qqid
:
self
.
currentQqid
})
.
then
(
response
=>
{
// 跟新列表数据
self
.
$bus
.
emit
(
"updateTTSourceData"
);
console
.
log
(
response
);
})
.
catch
(
err
=>
{
this
.
$message
.
error
(
"比中失败!"
);
});
self
.
isShowbzDialogBg
=
false
;
self
.
isShowbzDialog
=
false
;
},
// 展示详情
showDetail
()
{
...
...
@@ -923,6 +1109,7 @@ div {
margin-right
:
16px
;
text-align
:
center
;
line-height
:
32px
;
cursor
:
pointer
;
}
.rd-btn
{
width
:
96px
;
...
...
@@ -931,6 +1118,7 @@ div {
border-radius
:
4px
;
text-align
:
center
;
line-height
:
32px
;
cursor
:
pointer
;
}
}
}
...
...
@@ -1050,11 +1238,13 @@ div {
border-radius
:
4px
;
border
:
1px
solid
#aeb5c2
;
margin
:
0
12px
12px
12px
;
cursor
:
pointer
;
&:hover
{
background
:
#055fe7
;
color
:
#ffffff
;
}
&
:
active
{
&
.
active
{
background
:
#055fe7
;
color
:
#ffffff
;
}
...
...
@@ -1070,13 +1260,17 @@ div {
color
:
#333333
;
font-family
:
MicrosoftYaHei
;
line-height
:
40px
;
cursor
:
pointer
;
&:hover
{
border-bottom
:
2px
solid
#055fe7
;
color
:
#055fe7
;
}
&
:active
{
background
:
#055fe7
;
color
:
#ffffff
;
&
.active
{
border-bottom
:
2px
solid
#055fe7
;
background
:
#ffffff
;
color
:
#055fe7
;
}
}
}
...
...
@@ -1154,6 +1348,10 @@ div {
background
:
#ffffff
;
border-radius
:
8px
;
border
:
1px
solid
#cccccc
;
cursor
:
pointer
;
.img
{
margin-top
:
35%
;
}
}
.label
{
width
:
100%
;
...
...
src/views/cxyrd/modules/TTFace.vue
View file @
b24f5ba4
<
template
>
<div
class=
"tt_face"
>
<!--
<div
class=
"middle"
></div>
-->
<div
class=
"tt_face_src"
>
<div
class=
"tt_face_src_label"
>
<div
class=
"tt_face_src_label_font"
>
源数据
</div>
</div>
<div
class=
"faces"
>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img"
src=
"@/assets/img/正面.gif"
/>
</div>
<div
class=
"face_label"
>
正面
</div>
</div>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img"
src=
"@/assets/img/左侧面.gif"
/>
</div>
<div
class=
"face_label"
>
左侧面
</div>
</div>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img"
src=
"@/assets/img/右侧面.gif"
/>
</div>
<div
class=
"face_label"
>
右侧面
</div>
</div>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img-idcard"
src=
"@/assets/img/身份证.gif"
/>
</div>
<div
class=
"face_label"
>
身份证照
</div>
</div>
</div>
...
...
@@ -30,19 +37,27 @@
</div>
<div
class=
"faces"
>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img"
src=
"@/assets/img/正面.gif"
/>
</div>
<div
class=
"face_label"
>
正面
</div>
</div>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img"
src=
"@/assets/img/左侧面.gif"
/>
</div>
<div
class=
"face_label"
>
左侧面
</div>
</div>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img"
src=
"@/assets/img/右侧面.gif"
/>
</div>
<div
class=
"face_label"
>
右侧面
</div>
</div>
<div
class=
"face_div"
>
<div
class=
"face"
></div>
<div
class=
"face"
>
<img
class=
"img-idcard"
src=
"@/assets/img/身份证.gif"
/>
</div>
<div
class=
"face_label"
>
身份证照
</div>
</div>
</div>
...
...
@@ -64,21 +79,23 @@ div {
border
:
none
;
}
.tt_face
{
height
:
80
0px
;
height
:
77
0px
;
width
:
1180px
;
margin-left
:
330px
;
}
/*源数据外层*/
.tt_face
.tt_face_src
{
height
:
390px
;
/*border: 1px solid darkred;*/
/*border: 1px solid darkred;*/
height
:
360px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
}
/*目标数据外层*/
.tt_face
.tt_face_dest
{
height
:
3
9
0px
;
height
:
3
6
0px
;
width
:
100%
;
display
:
flex
;
flex-direction
:
row
;
...
...
@@ -86,7 +103,7 @@ div {
/*源标题*/
.tt_face_src_label
{
width
:
40px
;
height
:
3
4
0px
;
height
:
3
2
0px
;
background
:
#f6f8fa
;
border-radius
:
8px
0px
0px
8px
;
display
:
flex
;
...
...
@@ -105,10 +122,15 @@ div {
/*-webkit-background-clip: text;*/
/*-webkit-text-fill-color: transparent;*/
}
.img
{
margin-top
:
30%
;
}
.img-idcard
{
margin-top
:
40%
;
}
.tt_face_dest_label
{
width
:
40px
;
height
:
3
4
0px
;
height
:
3
2
0px
;
background
:
#f6f8fa
;
border-radius
:
8px
0px
0px
8px
;
display
:
flex
;
...
...
@@ -132,7 +154,7 @@ div {
.face_div
{
border
:
#333333
1px
solid
;
width
:
255px
;
height
:
3
4
0px
;
height
:
3
2
0px
;
background
:
#ffffff
;
border-radius
:
8px
;
border
:
1px
solid
#cccccc
;
...
...
@@ -140,7 +162,7 @@ div {
}
.face
{
width
:
255px
;
height
:
3
4
0px
;
height
:
3
2
0px
;
}
.face_label
{
width
:
100%
;
...
...
src/views/cxyrd/modules/TTPlam.vue
View file @
b24f5ba4
...
...
@@ -4,7 +4,7 @@
<div
class=
"slabel"
>
源数据
</div>
<br
/>
<div
class=
"palm"
>
<img
src=
"@/assets/img/左手.gif"
/>
<img
class=
"img"
src=
"@/assets/img/左手.gif"
/>
</div>
<br
/>
<div
class=
"left"
>
左掌
</div>
...
...
@@ -13,7 +13,7 @@
<div
class=
"dlabel"
>
目标数据
</div>
<br
/>
<div
class=
"palm"
>
<img
src=
"@/assets/img/右手.gif"
/>
<img
class=
"img"
src=
"@/assets/img/右手.gif"
/>
</div>
<br
/>
<div
class=
"palm_label"
>
右掌
</div>
...
...
@@ -34,7 +34,7 @@ div {
display
:
inline-block
;
border
:
none
;
}
img
{
.
img
{
margin-top
:
20%
;
}
.tt_plam
{
...
...
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