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
5d23fd7a
Commit
5d23fd7a
authored
Dec 01, 2021
by
叶富雄
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
调整生物特征比中模块
parent
7c6d0a92
Hide whitespace changes
Inline
Side-by-side
Showing
14 changed files
with
941 additions
and
82 deletions
+941
-82
src/api/dswtz/bzxx.js
+40
-1
src/router/modules/dswtzxx.js
+24
-0
src/views/dswtz/swxx/detailSwxx.vue
+19
-9
src/views/dswtzxx/bdjg/DnaAdd.vue
+238
-0
src/views/dswtzxx/bdjg/addDna.vue
+147
-0
src/views/dswtzxx/bdjg/addRx.vue
+16
-16
src/views/dswtzxx/bdjg/addZw.vue
+8
-0
src/views/dswtzxx/bdjg/dna.vue
+314
-0
src/views/dswtzxx/bdjg/zj.vue
+4
-4
src/views/dswtzxx/bdjg/zjAdd.vue
+54
-24
src/views/dswtzxx/bdjg/zw.vue
+12
-3
src/views/dswtzxx/bdjg/zwAdd.vue
+62
-22
src/views/dswtzxx/bzxx/rx.vue
+1
-1
src/views/dswtzxx/index.js
+2
-2
No files found.
src/api/dswtz/bzxx.js
View file @
5d23fd7a
...
...
@@ -25,7 +25,7 @@ export const deleteRxbz = params =>
export
const
insertRxbz
=
params
=>
postform
(
`
${
base
.
alyIP
}
/rxbz/insertRxbz`
,
params
);
export
const
queryByXxzjbh
=
params
=>
postform
(
`
${
base
.
alyIP
}
/rxbz/
queryByXxzjbh
`
,
params
);
postform
(
`
${
base
.
alyIP
}
/rxbz/
selectDetail
`
,
params
);
export
const
updateRxbz
=
params
=>
postform
(
`
${
base
.
alyIP
}
/rxbz/updateRxbz`
,
params
);
export
const
insertZwbzjg
=
params
=>
...
...
@@ -40,7 +40,46 @@ export const selectRyJglist = params =>
post
(
`
${
base
.
alyIP
}
/Zwbzrw/selectRyJglist`
,
params
);
export
const
ZjccbzrwSaveRxbzrw
=
params
=>
postform
(
`
${
base
.
alyIP
}
/Zjccbzrw/saveRxbzrw`
,
params
);
//删除现场足迹串查
export
const
ZjccbzrwDeleteZjcbrwById
=
params
=>
post
(
`
${
base
.
alyIP
}
/Zjccbzrw/deleteZjcbrwById`
,
params
);
//足迹比中操作按钮
export
const
ZjccbzrwUpdateZjbdById
=
params
=>
post
(
`
${
base
.
alyIP
}
/Zjccbzrw/updateZjbdById`
,
params
);
//查询指纹比中关系详情
export
const
zwbzhcSelectDetail
=
params
=>
postform
(
`
${
base
.
alyIP
}
/zwbzhc/selectDetail`
,
params
);
//指纹比中信息修改
export
const
zwbzhcUpdateZwbzjg
=
params
=>
postform
(
`
${
base
.
alyIP
}
/zwbzhc/updateZwbzjg`
,
params
);
//新增足迹比中结果信息
export
const
ZjZjbzxxInsertZjbzjg
=
params
=>
postform
(
`
${
base
.
alyIP
}
/ZjZjbzxx/insertZjbzjg`
,
params
);
//足迹比中结果修改
export
const
ZjZjbzxxUpdateZjbzjg
=
params
=>
postform
(
`
${
base
.
alyIP
}
/ZjZjbzxx/updateZjbzjg`
,
params
);
//查询足迹比中结果详情
export
const
ZjZjbzxxSelectDetail
=
params
=>
postform
(
`
${
base
.
alyIP
}
/ZjZjbzxx/selectDetail`
,
params
);
//DNA
//添加dna比对
export
const
DnabzrwSaveDswDnabzrw
=
params
=>
postform
(
`
${
base
.
alyIP
}
/Dnabzrw/saveDswDnabzrw`
,
params
);
//删除dna比对
export
const
DnabzrwDeleteDnarwById
=
params
=>
post
(
`
${
base
.
alyIP
}
/Dnabzrw/deleteDnarwById`
,
params
);
//dna比对操作按钮
export
const
DnabzrwUpdateDnabdById
=
params
=>
post
(
`
${
base
.
alyIP
}
/Dnabzrw/updateDnabdById`
,
params
);
// 新增DNA关系结果信息
export
const
dnabzhcInsertDnabzjg
=
params
=>
postform
(
`
${
base
.
alyIP
}
/dnabzhc/insertDnabzjg`
,
params
);
//DNA比中关系删除
export
const
dnabzhcDeleteDnabzjgById
=
params
=>
post
(
`
${
base
.
alyIP
}
/dnabzhc/deleteDnabzjgById`
,
params
);
//DNA比中结果详情
export
const
dnabzhcSelectDetail
=
params
=>
postform
(
`
${
base
.
alyIP
}
/dnabzhc/selectDetail`
,
params
);
//DNA比中结果修改
export
const
dnabzhcUpdateDnabzjg
=
params
=>
postform
(
`
${
base
.
alyIP
}
/dnabzhc/updateDnabzjg`
,
params
);
src/router/modules/dswtzxx.js
View file @
5d23fd7a
...
...
@@ -168,6 +168,30 @@ const menuLayouts = [
},
component
:
()
=>
import
(
"@/views/dswtzxx/bdjg/zjAdd.vue"
)
},
{
path
:
"/bdjgDan"
,
name
:
"bdjgDan"
,
meta
:
{
title
:
'DNA比中信息'
},
component
:
()
=>
import
(
"@/views/dswtzxx/bdjg/dna.vue"
)
},
{
path
:
"/bdjgAddDan"
,
name
:
"bdjgAddDan"
,
meta
:
{
title
:
'DNA比中信息'
},
component
:
()
=>
import
(
"@/views/dswtzxx/bdjg/addDna.vue"
)
},
{
path
:
"/bdjgDnaAdd"
,
name
:
"bdjgDnaAdd"
,
meta
:
{
title
:
'DNA比中信息'
},
component
:
()
=>
import
(
"@/views/dswtzxx/bdjg/DnaAdd.vue"
)
},
];
export
default
{
...
...
src/views/dswtz/swxx/detailSwxx.vue
View file @
5d23fd7a
<
template
>
<el-tabs
v-if=
"!loading"
v-model=
"activeName"
type=
"border-card"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"人像信息管理"
name=
"RX"
><addRxxx></addRxxx></el-tab-pane>
<el-tab-pane
label=
"DNA信息管理"
name=
"DNA"
><DNAlist
:info=
"info"
></DNAlist></el-tab-pane>
<el-tab-pane
label=
"虹膜信息管理"
name=
"HM"
><addHmxx
:info=
"info"
></addHmxx></el-tab-pane>
<el-tab-pane
label=
"声纹信息管理"
name=
"SW"
><SWlist
:info=
"info"
></SWlist></el-tab-pane>
<el-tab-pane
label=
"足迹信息管理"
name=
"ZJ"
><addZjxx></addZjxx></el-tab-pane>
<el-tab-pane
label=
"平面指纹信息管理"
name=
"PM"
><addZwxx></addZwxx></el-tab-pane>
<el-tab-pane
label=
"滚动指纹信息管理"
name=
"GD"
><addGDZwxx></addGDZwxx></el-tab-pane>
</el-tabs>
<div
class=
"swtzxxglRoutes"
style=
"margin: 20px;"
>
<el-tabs
v-if=
"!loading"
v-model=
"activeName"
type=
"border-card"
@
tab-click=
"handleClick"
>
<el-tab-pane
label=
"人像信息管理"
name=
"RX"
><addRxxx></addRxxx></el-tab-pane>
<el-tab-pane
label=
"DNA信息管理"
name=
"DNA"
><DNAlist
:info=
"info"
></DNAlist></el-tab-pane>
<el-tab-pane
label=
"虹膜信息管理"
name=
"HM"
><addHmxx
:info=
"info"
></addHmxx></el-tab-pane>
<el-tab-pane
label=
"声纹信息管理"
name=
"SW"
><SWlist
:info=
"info"
></SWlist></el-tab-pane>
<el-tab-pane
label=
"足迹信息管理"
name=
"ZJ"
><addZjxx></addZjxx></el-tab-pane>
<el-tab-pane
label=
"平面指纹信息管理"
name=
"PM"
><addZwxx></addZwxx></el-tab-pane>
<el-tab-pane
label=
"滚动指纹信息管理"
name=
"GD"
><addGDZwxx></addGDZwxx></el-tab-pane>
</el-tabs>
</div>
</
template
>
<
script
>
import
addRxxx
from
'@p/dswtz/rxxx/addRxxx.vue'
...
...
@@ -47,3 +49,11 @@
}
};
</
script
>
<
style
lang=
"scss"
>
.swtzxxglRoutes
{
#formCommonPage
.button
{
width
:
calc
(
100%
-
285px
)
!important
;
left
:
240px
!important
;
}
}
</
style
>
src/views/dswtzxx/bdjg/DnaAdd.vue
0 → 100644
View file @
5d23fd7a
<
template
>
<div
>
<form-compontent
:formField=
"propFormField"
:formLabelAligns=
"formLabelAlign"
@
submit=
"submit"
:propTitle=
"title"
@
removePhoto=
"removePhoto"
pageBs=
"addsqfbzl"
ref=
"formCompontent"
:base64Transform=
"true"
:fileBase64=
"fileBase64"
@
onBase64Transform=
"onBase64Transform"
>
</form-compontent>
</div>
</
template
>
<
script
>
import
formCompontent
from
"@c/form.vue"
;
import
{
dnabzhcSelectDetail
,
dnabzhcInsertDnabzjg
,
dnabzhcUpdateDnabzjg
}
from
"@/api/dswtz/bzxx"
;
export
default
{
name
:
"addryxx"
,
props
:{
info
:{}
},
components
:
{
formCompontent
,
},
data
()
{
return
{
loading
:
true
,
fileBase64
:{},
title
:
"添加DNA比中信息"
,
propFormField
:
[
{
title
:
""
,
id
:
1
,
objStr
:
""
,
index
:
0
,
data
:
[
{
name
:
"案事件编号:"
,
id
:
"asjbh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"现勘编号:"
,
id
:
"xkbh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件名称:"
,
id
:
"ajmc"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件类别:"
,
id
:
"ajlb"
,
type
:
"codeTree"
,
codeTree
:
"CODE_AJLB"
,
codeOptions
:
[],
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件发生时间:"
,
id
:
"ajfssj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件发生地点:"
,
id
:
"ajfsdd"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"嫌疑人姓名:"
,
id
:
"xyrXm"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"嫌疑人证件号码:"
,
id
:
"xyrZjhm"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"人员编号:"
,
id
:
"rybh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"比中人:"
,
id
:
"bzrXm"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"比中单位:"
,
id
:
"bzdwGajgmc"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"比中时间:"
,
id
:
"bzsj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
],
},
],
formLabelAlign
:
{
file
:
''
},
type
:
""
,
xxzjbh
:
""
,
result
:
""
,
removeFileXxzjbh
:
[],
};
},
methods
:
{
onBase64Transform
(
p
){
this
.
fileBase64
=
p
},
removePhoto
(
item
)
{
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在删除..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
let
id
=
item
.
id
this
.
$set
(
this
.
formLabelAlign
,
id
,
''
);
loading
.
close
();
},
submit
(
params
)
{
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在保存..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
if
(
this
.
$route
.
query
.
glxxzjbh
){
params
.
append
(
'glxxzjbh'
,
this
.
$route
.
query
.
glxxzjbh
)
dnabzhcInsertDnabzjg
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
go
(
-
1
)
}
})
}
else
{
params
.
append
(
'xxzjbh'
,
this
.
$route
.
query
.
xxzjbh
)
dnabzhcUpdateDnabzjg
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
go
(
-
1
)
}
})
}
},
handleRemove
(
val
)
{
this
.
removeFileXxzjbh
.
push
(
val
.
xxzjbh
);
},
getshuju
()
{
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在加载..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
var
self
=
this
;
let
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
this
.
xxzjbh
);
dnabzhcSelectDetail
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
rows
;
this
.
result
=
result
;
self
.
propFormField
.
forEach
((
fieldItem
)
=>
{
if
(
fieldItem
.
data
&&
fieldItem
.
data
.
length
>
0
)
{
fieldItem
.
data
.
forEach
((
i
)
=>
{
this
.
$set
(
this
.
formLabelAlign
,
i
.
id
,
result
[
i
.
id
]);
});
}
this
.
$forceUpdate
();
});
loading
.
close
();
});
},
},
created
()
{
if
(
this
.
$route
.
query
.
xxzjbh
)
{
this
.
title
=
"修改DNA比中信息"
;
this
.
xxzjbh
=
this
.
$route
.
query
.
xxzjbh
;
this
.
getshuju
();
}
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/dswtzxx/bdjg/addDna.vue
0 → 100644
View file @
5d23fd7a
<
template
>
<div
>
<form-compontent
:formField=
"propFormField"
:formLabelAligns=
"formLabelAlign"
@
submit=
"submit"
:propTitle=
"title"
@
removePhoto=
"removePhoto"
pageBs=
"addsqfbzl"
ref=
"formCompontent"
:base64Transform=
"true"
:fileBase64=
"fileBase64"
@
onBase64Transform=
"onBase64Transform"
>
</form-compontent>
</div>
</
template
>
<
script
>
import
formCompontent
from
"@c/form.vue"
;
import
{
selectHmzpList
}
from
"@/api/dswtz/hmxx.js"
;
import
{
DnabzrwSaveDswDnabzrw
}
from
"@/api/dswtz/bzxx"
;
export
default
{
name
:
"addryxx"
,
props
:{
info
:{}
},
components
:
{
formCompontent
,
},
data
()
{
return
{
loading
:
true
,
fileBase64
:{},
title
:
"添加指纹比中"
,
propFormField
:
[
{
title
:
""
,
id
:
1
,
objStr
:
""
,
index
:
0
,
data
:
[
{
name
:
"DNA编号:"
,
id
:
"dnabh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
],
},
],
formLabelAlign
:
{
file
:
''
},
type
:
""
,
xxzjbh
:
""
,
result
:
""
,
removeFileXxzjbh
:
[],
};
},
methods
:
{
onBase64Transform
(
p
){
this
.
fileBase64
=
p
},
removePhoto
(
item
)
{
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在删除..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
let
id
=
item
.
id
this
.
$set
(
this
.
formLabelAlign
,
id
,
''
);
loading
.
close
();
},
submit
(
params
)
{
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在保存..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
DnabzrwSaveDswDnabzrw
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
go
(
-
1
)
}
})
},
handleRemove
(
val
)
{
this
.
removeFileXxzjbh
.
push
(
val
.
xxzjbh
);
},
getshuju
()
{
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在加载..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
var
self
=
this
;
let
params
=
new
FormData
();
params
.
append
(
"rybh"
,
this
.
rybh
);
selectHmzpList
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
rows
[
0
];
if
(
res
.
data
.
rows
.
length
){
this
.
$set
(
this
.
formLabelAlign
,
'xm'
,
res
.
data
.
rows
[
0
][
'xm'
]);
this
.
$set
(
this
.
formLabelAlign
,
'gmsfhm'
,
res
.
data
.
rows
[
0
][
'gmsfhm'
]);
for
(
let
h
of
res
.
data
.
rows
.
values
()){
let
hmywdm
=
h
.
hmywdm
;
let
tg
=
"data:image/jpeg;base64,"
+
h
.
hmsj
if
(
hmywdm
===
'0'
){
this
.
$set
(
this
.
formLabelAlign
,
'hmsjLeft'
,
tg
);
}
else
{
this
.
$set
(
this
.
formLabelAlign
,
'hmsjRight'
,
tg
);
}
}
this
.
loading
=
false
}
if
(
res
.
data
.
rows
.
length
){
this
.
result
=
result
;
self
.
$set
(
self
.
formLabelAlign
,
"editing"
,
true
);
self
.
$forceUpdate
();
}
setTimeout
(()
=>
{
loading
.
close
();
},
500
);
});
},
},
created
()
{
if
(
this
.
$route
.
query
.
rybh
)
{
this
.
title
=
"添加指纹比中"
;
this
.
rybh
=
this
.
$route
.
query
.
rybh
;
this
.
getshuju
();
}
},
};
</
script
>
<
style
scoped
lang=
"scss"
>
</
style
>
src/views/dswtzxx/bdjg/addRx.vue
View file @
5d23fd7a
...
...
@@ -41,56 +41,56 @@
index
:
0
,
data
:
[
{
name
:
"
比中人员姓名
:"
,
id
:
"
bzrXm
"
,
name
:
"
案事件编号
:"
,
id
:
"
asjbh
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
比中人员证件号码
:"
,
id
:
"
bzrGmsfh
m"
,
name
:
"
嫌疑人姓名
:"
,
id
:
"
xyrX
m"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
与源图片的相似度
:"
,
id
:
"
similarity
"
,
name
:
"
嫌疑人证件号码
:"
,
id
:
"
xyrZjhm
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
案事件
编号:"
,
id
:
"
asj
bh"
,
name
:
"
人员
编号:"
,
id
:
"
ry
bh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
嫌疑人姓名
:"
,
id
:
"
xyrXm
"
,
name
:
"
与源图片的相似度
:"
,
id
:
"
similarity
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
嫌疑人证件号码
:"
,
id
:
"
xyrZjh
m"
,
name
:
"
比中人员姓名
:"
,
id
:
"
bzrX
m"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
人员编号
:"
,
id
:
"
rybh
"
,
name
:
"
比中人员证件号码
:"
,
id
:
"
bzrGmsfhm
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -98,7 +98,7 @@
},
{
name
:
"比中时间:"
,
id
:
"bzsj
Str
"
,
id
:
"bzsj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -178,7 +178,7 @@
params
.
append
(
"xxzjbh"
,
this
.
xxzjbh
);
queryByXxzjbh
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
r
xbz
;
var
result
=
res
.
data
.
r
ows
;
this
.
result
=
result
;
self
.
propFormField
.
forEach
((
fieldItem
)
=>
{
if
(
fieldItem
.
data
&&
fieldItem
.
data
.
length
>
0
)
{
...
...
src/views/dswtzxx/bdjg/addZw.vue
View file @
5d23fd7a
...
...
@@ -49,6 +49,14 @@
placeholder
:
"请输入"
,
col
:
"22"
,
},
{
name
:
"指纹编号:"
,
id
:
"zwbh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
],
},
],
...
...
src/views/dswtzxx/bdjg/dna.vue
0 → 100644
View file @
5d23fd7a
<
template
>
<div
class=
"Content"
>
<right-content
:tableOperation=
"tableOperation"
:tableOperationWidth=
"tableOperationWidth"
:pageBs=
"pageBs"
pageASs=
"bzxxRx"
:header=
"header"
:cxFormData=
"cxFormData"
:cxQueryField=
"cxQueryField"
:cxDefaultFormThead=
"cxDefaultFormThead"
:cxUrl=
"cxUrl"
@
add=
"add"
ref=
"rightContent"
:transformFormTable=
"transformFormTable"
>
<template
#
btnGroup=
"scope"
>
<el-button
@
click=
"dele(scope.scope)"
type=
"text"
>
删除
</el-button>
<el-button
@
click=
"zwbd(scope.scope)"
type=
"text"
>
指纹比对
</el-button>
<el-button
v-if=
"scope.scope.row.bdzt=='比对结果'"
@
click=
"bjjg(scope.scope)"
type=
"text"
>
比对结果
</el-button>
</
template
>
</right-content>
<el-drawer
:with-header=
"false"
:visible
.
sync=
"table"
direction=
"rtl"
size=
"90%"
>
<right-content
:tableOperation=
"tableOperation"
:tableOperationWidth=
"300"
:pageBs=
"pageBs"
:header=
"header"
:cxFormData=
"cxFormData1"
:cxDefaultFormThead=
"cxDefaultFormThead1"
cxUrl=
"/Dnabzrw/selectRyJglist"
@
add=
"add1"
ref=
"rightContent1"
>
<
template
#
btnGroup=
"scope"
>
<el-button
@
click=
"dele1(scope.scope)"
type=
"text"
>
删除
</el-button>
<el-button
@
click=
"edit1(scope.scope)"
type=
"text"
>
修改
</el-button>
<el-button
@
click=
"toSwtzxxgl(scope.scope)"
type=
"text"
>
生物特征信息管理
</el-button>
</
template
>
</right-content>
</el-drawer>
</div>
</template>
<
script
>
import
rightContent
from
"@c/ptCxForm_components.vue"
;
import
{
leftMenus
}
from
"@p/dswtzxx/index.js"
;
import
{
DnabzrwUpdateDnabdById
,
dnabzhcDeleteDnabzjgById
,
DnabzrwDeleteDnarwById
}
from
"@/api/dswtz/bzxx"
;
import
{
bdzt
}
from
"@/assets/js/transformFormTable.js"
;
export
default
{
name
:
"lbxx"
,
components
:
{
rightContent
,
},
data
()
{
return
{
transformFormTable
:
{
bdzt
},
table
:
false
,
gridData
:
[],
tableOperation
:
true
,
tableOperationWidth
:
200
,
header
:
"指纹比中信息"
,
pageBs
:
"dswtzxxlbxx"
,
cxFormData
:
{
page
:
'1'
,
limit
:
'10'
},
cxFormData1
:
{
xxzjbh
:
''
,
page
:
'1'
,
limit
:
'10'
},
cxQueryField
:
[
{
name
:
"DNA编号"
,
id
:
"dnabh"
,
type
:
"text"
,
props
:
"checkEmpty"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"3"
,
},
],
cxDefaultFormThead
:
[
{
label
:
"DNA编号"
,
prop
:
"dnabh"
},
{
label
:
"建立时间"
,
prop
:
"djsj"
},
{
label
:
"比中状态"
,
prop
:
"bdzt"
},
{
label
:
"登录姓名"
,
prop
:
"xxdjryXm"
},
],
cxDefaultFormThead1
:
[
{
label
:
"人员编号"
,
prop
:
"asjxgrybh"
},
{
label
:
"姓名"
,
prop
:
"xm"
},
{
label
:
"别名"
,
prop
:
"bmch"
},
{
label
:
"证件类型"
,
prop
:
"cyzjCyzjmc"
},
{
label
:
"证件号码"
,
prop
:
"cyzjZjhm"
},
{
label
:
"性别"
,
prop
:
"xbdmStr"
},
{
label
:
"出生日期"
,
prop
:
"csrq"
},
{
label
:
"国籍"
,
prop
:
"gjdmStr"
},
{
label
:
"民族"
,
prop
:
"mzdmStr"
},
{
label
:
"籍贯"
,
prop
:
"jgdmStr"
},
{
label
:
"政治面貌"
,
prop
:
"zzmmdmStr"
},
{
label
:
"学历"
,
prop
:
"xldmStr"
},
],
// 需要转化table的显示
cxUrl
:
"/Dnabzrw/getDswDnarwList"
,
Menu
:
[
{
id
:
"bdmbXxzjbh"
,
label
:
"足迹比中信息"
,
index
:
"wfqdzczl"
,
auth
:
"M0101"
,
className
:
"iconfont iconrizhi"
,
disabled
:
false
,
},
],
leftMenus
:
leftMenus
,
xxzjbh
:
''
};
},
created
()
{
this
.
$store
.
commit
(
"user/SET_Menu"
,
this
.
Menu
);
this
.
$store
.
commit
(
"user/SET_Header"
,
this
.
header
);
this
.
$store
.
commit
(
"user/SET_LeftMenu"
,
this
.
leftMenus
);
},
methods
:
{
RouteName
(
scope
,
m
){
this
.
$router
.
push
({
path
:
m
,
query
:
{
rybh
:
scope
.
row
.
rybh
},
});
},
add
(){
this
.
$router
.
push
({
path
:
"bdjgAddDan"
,
query
:
{
rybh
:
this
.
$route
.
query
.
rybh
},
});
},
add1
(){
this
.
$router
.
push
({
path
:
"bdjgDnaAdd"
,
query
:
{
glxxzjbh
:
this
.
xxzjbh
},
});
},
edit
(
scope
)
{
this
.
$router
.
push
({
path
:
"bdjgDnaAdd"
,
query
:
{
xxzjbh
:
scope
.
row
.
xxzjbh
},
});
},
edit1
(
scope
)
{
this
.
$router
.
push
({
path
:
"bdjgDnaAdd"
,
query
:
{
xxzjbh
:
scope
.
row
.
xxzjbh
},
});
},
dele
(
scope
)
{
this
.
$confirm
(
"此操作将永久删除该文件, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
DnabzrwDeleteDnarwById
({
xxzjbh
:
scope
.
row
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
code
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功"
,
});
this
.
$refs
.
rightContent
.
doQuery
(
"yes"
);
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消删除"
,
});
});
},
dele1
(
scope
)
{
this
.
$confirm
(
"此操作将永久删除该文件, 是否继续?"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
dnabzhcDeleteDnabzjgById
({
xxzjbh
:
scope
.
row
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
code
==
200
)
{
this
.
$message
({
type
:
"success"
,
message
:
"删除成功"
,
});
this
.
$refs
.
rightContent1
.
doQuery
(
"yes"
);
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消删除"
,
});
});
},
bjjg
(
scope
){
let
row
=
scope
.
row
this
.
table
=
true
let
xxzjbh
=
row
.
xxzjbh
this
.
cxFormData1
.
xxzjbh
=
xxzjbh
this
.
xxzjbh
=
xxzjbh
},
toSwtzxxgl
(
i
){
this
.
$router
.
push
({
path
:
'/swtzxxgl'
,
query
:{
rybh
:
i
.
row
.
asjxgrybh
}
})
},
zwbd
(
scope
){
let
self
=
this
let
xxzjbh
=
scope
.
row
.
xxzjbh
;
let
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在比对..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
DnabzrwUpdateDnabdById
({
xxzjbh
}).
then
(
res
=>
{
if
(
res
.
code
===
200
){
setTimeout
(
function
()
{
self
.
$message
.
success
(
res
.
message
)
loading
.
close
()
self
.
$refs
.
rightContent
.
doQuery
(
"yes"
);
},
3
e3
)
}
else
{
setTimeout
(
function
()
{
self
.
$message
(
res
.
message
)
loading
.
close
()
},
3
e3
)
}
})
},
toRyxxrxbj
(
row
){
this
.
$router
.
push
({
path
:
'/ryxxrxbj'
,
query
:{
rybh
:
row
.
asjxgrybh
}
})
},
},
mounted
()
{},
};
</
script
>
<
style
>
.el-dialog__body
{
padding
:
10px
15px
!important
;
}
.rightContent
.el-input__inner
,
#formCommonPage
.el-input__inner
{
height
:
32px
;
line-height
:
32px
;
font-family
:
inherit
;
}
.el-table__header-wrapper
th
,
.el-table__header-wrapper
tr
{
background
:
#f4f6f7
;
}
.rightContent
.el-input__icon
,
#formCommonPage
.el-input__icon
,
.el-input__suffix-inner
{
line-height
:
36px
;
}
.rightContent
.el-range-separator
{
position
:
relative
;
top
:
-4px
;
}
.rightContent
.el-textarea__inner
,
#formCommonPage
.el-textarea__inner
{
width
:
100%
;
font-family
:
inherit
;
}
.rightContent
.el-range-input
,
#formCommonPage
.el-range-input
{
vertical-align
:
top
;
}
.rightContent
.el-date-editor
.el-range__close-icon
{
margin-top
:
-4px
;
}
.rightContent
.el-form-item__error
{
left
:
calc
(
66%
-
27px
);
top
:
12px
;
}
.success-row
{
background-color
:
#fbf9f4
!important
;
}
.Content
.el-input
,
.Content
.el-date-editor--daterange.el-input__inner
{
width
:
100%
!important
;
}
</
style
>
<
style
scoped
lang=
"scss"
>
@import
"@/assets/styles/rightContent.scss"
;
</
style
>
src/views/dswtzxx/bdjg/zj.vue
View file @
5d23fd7a
...
...
@@ -52,7 +52,7 @@
<
script
>
import
rightContent
from
"@c/ptCxForm_components.vue"
;
import
{
leftMenus
}
from
"@p/dswtzxx/index.js"
;
import
{
ZjccbzrwUpdateZjbdById
,
deleteZ
w
bzjgById
,
ZjccbzrwDeleteZjcbrwById
}
from
"@/api/dswtz/bzxx"
;
import
{
ZjccbzrwUpdateZjbdById
,
deleteZ
j
bzjgById
,
ZjccbzrwDeleteZjcbrwById
}
from
"@/api/dswtz/bzxx"
;
import
{
bdzt
}
from
"@/assets/js/transformFormTable.js"
;
export
default
{
name
:
"lbxx"
,
...
...
@@ -110,7 +110,7 @@
{
label
:
"籍贯"
,
prop
:
"jgdmStr"
},
{
label
:
"政治面貌"
,
prop
:
"zzmmdmStr"
},
{
label
:
"学历"
,
prop
:
"xldmStr"
},
{
label
:
"相
识
度"
,
prop
:
"similarity"
},
{
label
:
"相
似
度"
,
prop
:
"similarity"
},
],
// 需要转化table的显示
cxUrl
:
"/Zjccbzrw/getRxrwList"
,
...
...
@@ -160,7 +160,7 @@
},
edit1
(
scope
)
{
this
.
$router
.
push
({
path
:
"bdjgAdd
Rx
"
,
path
:
"bdjgAdd
Zj
"
,
query
:
{
xxzjbh
:
scope
.
row
.
xxzjbh
},
});
},
...
...
@@ -197,7 +197,7 @@
type
:
"warning"
,
})
.
then
(()
=>
{
deleteZ
w
bzjgById
({
deleteZ
j
bzjgById
({
xxzjbh
:
scope
.
row
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
&&
res
.
code
==
200
)
{
...
...
src/views/dswtzxx/bdjg/zjAdd.vue
View file @
5d23fd7a
...
...
@@ -19,7 +19,7 @@
<
script
>
import
formCompontent
from
"@c/form.vue"
;
import
{
queryByXxzjbh
,
insertRxbz
,
updateRxbz
}
from
"@/api/dswtz/bzxx"
;
import
{
ZjZjbzxxSelectDetail
,
ZjZjbzxxInsertZjbzjg
,
ZjZjbzxxUpdateZjbzjg
}
from
"@/api/dswtz/bzxx"
;
export
default
{
name
:
"addryxx"
,
props
:{
...
...
@@ -41,32 +41,58 @@
index
:
0
,
data
:
[
{
name
:
"
比中人员姓名
:"
,
id
:
"
bzrXm
"
,
name
:
"
案事件编号
:"
,
id
:
"
asjbh
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
比中人员证件号码
:"
,
id
:
"
bzrGmsfhm
"
,
name
:
"
现勘编号
:"
,
id
:
"
xkbh
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
与源图片的相似度
:"
,
id
:
"
similarity
"
,
name
:
"
案件名称
:"
,
id
:
"
ajmc
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案事件编号:"
,
id
:
"asjbh"
,
name
:
"案件发生时间:"
,
id
:
"fasj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件发生地点:"
,
id
:
"fadd"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件类别:"
,
id
:
"ajlb"
,
type
:
"codeTree"
,
codeTree
:
"CODE_AJLB"
,
codeOptions
:
[],
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"人员编号:"
,
id
:
"rybh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -74,7 +100,7 @@
},
{
name
:
"嫌疑人姓名:"
,
id
:
"x
yrX
m"
,
id
:
"xm"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -82,15 +108,23 @@
},
{
name
:
"嫌疑人证件号码:"
,
id
:
"
xyrZjhm
"
,
id
:
"
sfzh
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"人员编号:"
,
id
:
"rybh"
,
name
:
"与源图片的相似度:"
,
id
:
"similarity"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"比中单位:"
,
id
:
"bzdw"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -98,7 +132,7 @@
},
{
name
:
"比中时间:"
,
id
:
"bzsj
Str
"
,
id
:
"bzsj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -140,23 +174,19 @@
});
if
(
this
.
$route
.
query
.
glxxzjbh
){
params
.
append
(
'glxxzjbh'
,
this
.
$route
.
query
.
glxxzjbh
)
insertRxbz
(
params
).
then
(
res
=>
{
ZjZjbzxxInsertZjbzjg
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
push
({
path
:
'/bzxxRx'
})
this
.
$router
.
go
(
-
1
)
}
})
}
else
{
params
.
append
(
'xxzjbh'
,
this
.
$route
.
query
.
xxzjbh
)
updateRxbz
(
params
).
then
(
res
=>
{
ZjZjbzxxUpdateZjbzjg
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
push
({
path
:
'/bzxxRx'
})
this
.
$router
.
go
(
-
1
)
}
})
}
...
...
@@ -177,8 +207,8 @@
let
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
this
.
xxzjbh
);
queryByXxzjbh
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
r
xbz
;
ZjZjbzxxSelectDetail
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
r
ows
;
this
.
result
=
result
;
self
.
propFormField
.
forEach
((
fieldItem
)
=>
{
if
(
fieldItem
.
data
&&
fieldItem
.
data
.
length
>
0
)
{
...
...
src/views/dswtzxx/bdjg/zw.vue
View file @
5d23fd7a
...
...
@@ -66,7 +66,7 @@
data
()
{
return
{
tableColumnDefinition
:[
{
label
:
'
指纹图片'
,
prop
:
'zpDzwjnr'
}
{
label
:
'
源信息'
,
prop
:
'zwbh'
,
spare
:
'zpDzwjnr'
}
],
transformFormTable
:
{
bdzt
},
table
:
false
,
...
...
@@ -94,10 +94,19 @@
placeholder
:
"请输入"
,
col
:
"3"
,
},
{
name
:
"指纹编号"
,
id
:
"zwbh"
,
type
:
"text"
,
props
:
"checkEmpty"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"3"
,
},
],
cxDefaultFormThead
:
[
{
label
:
"图片名称"
,
prop
:
"zpDzwjbt"
},
{
label
:
"建立时间"
,
prop
:
"
zpJl
sj"
},
{
label
:
"建立时间"
,
prop
:
"
dj
sj"
},
{
label
:
"比中状态"
,
prop
:
"bdzt"
},
{
label
:
"登录姓名"
,
prop
:
"xxdjryXm"
},
],
...
...
@@ -114,7 +123,7 @@
{
label
:
"籍贯"
,
prop
:
"jgdmStr"
},
{
label
:
"政治面貌"
,
prop
:
"zzmmdmStr"
},
{
label
:
"学历"
,
prop
:
"xldmStr"
},
{
label
:
"相
识
度"
,
prop
:
"similarity"
},
{
label
:
"相
似
度"
,
prop
:
"similarity"
},
],
// 需要转化table的显示
cxUrl
:
"/Zwbzrw/getRxrwList"
,
...
...
src/views/dswtzxx/bdjg/zwAdd.vue
View file @
5d23fd7a
...
...
@@ -19,7 +19,7 @@
<
script
>
import
formCompontent
from
"@c/form.vue"
;
import
{
queryByXxzjbh
,
insertRxbz
,
updateRxbz
}
from
"@/api/dswtz/bzxx"
;
import
{
zwbzhcUpdateZwbzjg
,
insertZwbzjg
,
zwbzhcSelectDetail
}
from
"@/api/dswtz/bzxx"
;
export
default
{
name
:
"addryxx"
,
props
:{
...
...
@@ -41,32 +41,58 @@
index
:
0
,
data
:
[
{
name
:
"
比中人员姓名
:"
,
id
:
"
bzrXm
"
,
name
:
"
案事件编号
:"
,
id
:
"
asjbh
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
比中人员证件号码
:"
,
id
:
"
bzrGmsfhm
"
,
name
:
"
现勘编号
:"
,
id
:
"
xkbh
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"
与源图片的相似度
:"
,
id
:
"
similarity
"
,
name
:
"
案件名称
:"
,
id
:
"
ajmc
"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案事件编号:"
,
id
:
"asjbh"
,
name
:
"案件类别:"
,
id
:
"ajlb"
,
type
:
"codeTree"
,
value
:
""
,
placeholder
:
"请选择"
,
col
:
"2"
,
codeOptions
:
[],
codeTree
:
"CODE_AJLB"
,
},
{
name
:
"案件发生时间:"
,
id
:
"ajfssj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"案件发生地点:"
,
id
:
"ajfsdd"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"人员编号:"
,
id
:
"rybh"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -89,8 +115,24 @@
col
:
"2"
,
},
{
name
:
"人员编号:"
,
id
:
"rybh"
,
name
:
"与源图片的相似度:"
,
id
:
"similarity"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"比中人姓名:"
,
id
:
"bzrXm"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
col
:
"2"
,
},
{
name
:
"比中单位:"
,
id
:
"bzdwGajgmc"
,
type
:
"text"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -98,7 +140,7 @@
},
{
name
:
"比中时间:"
,
id
:
"bzsj
Str
"
,
id
:
"bzsj"
,
type
:
"DateVal"
,
value
:
""
,
placeholder
:
"请输入"
,
...
...
@@ -140,23 +182,20 @@
});
if
(
this
.
$route
.
query
.
glxxzjbh
){
params
.
append
(
'glxxzjbh'
,
this
.
$route
.
query
.
glxxzjbh
)
insertRxbz
(
params
).
then
(
res
=>
{
params
.
append
(
'bdyXxzjbh'
,
this
.
$route
.
query
.
glxxzjbh
)
insertZwbzjg
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
push
({
path
:
'/bzxxRx'
})
this
.
$router
.
go
(
-
1
)
}
})
}
else
{
params
.
append
(
'xxzjbh'
,
this
.
$route
.
query
.
xxzjbh
)
updateRxbz
(
params
).
then
(
res
=>
{
zwbzhcUpdateZwbzjg
(
params
).
then
(
res
=>
{
if
(
res
.
code
){
loading
.
close
()
this
.
$router
.
push
({
path
:
'/bzxxRx'
})
this
.
$router
.
go
(
-
1
)
}
})
}
...
...
@@ -177,8 +216,9 @@
let
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
this
.
xxzjbh
);
queryByXxzjbh
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
rxbz
;
zwbzhcSelectDetail
(
params
).
then
((
res
)
=>
{
var
result
=
res
.
data
.
rows
;
console
.
log
(
result
);
this
.
result
=
result
;
self
.
propFormField
.
forEach
((
fieldItem
)
=>
{
if
(
fieldItem
.
data
&&
fieldItem
.
data
.
length
>
0
)
{
...
...
src/views/dswtzxx/bzxx/rx.vue
View file @
5d23fd7a
...
...
@@ -120,7 +120,7 @@
{
label
:
"籍贯"
,
prop
:
"jgdmStr"
},
{
label
:
"政治面貌"
,
prop
:
"zzmmdmStr"
},
{
label
:
"学历"
,
prop
:
"xldmStr"
},
{
label
:
"相
识
度"
,
prop
:
"similarity"
},
{
label
:
"相
似
度"
,
prop
:
"similarity"
},
],
// 需要转化table的显示
cxUrl
:
"/Rxbzrw/getRxrwList"
,
...
...
src/views/dswtzxx/index.js
View file @
5d23fd7a
...
...
@@ -43,9 +43,9 @@ const leftMenus = [
disabled
:
false
,
},
{
id
:
"b
zxxDna
"
,
id
:
"b
djgDan
"
,
label
:
"DNA比中结果"
,
index
:
"b
zxxDna
"
,
index
:
"b
djgDan
"
,
auth
:
"M0101"
,
className
:
"iconfont iconrizhi"
,
disabled
:
false
,
...
...
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