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
5b01288b
Commit
5b01288b
authored
Apr 11, 2023
by
liyuhang19990520
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
222
parent
bd0d14cc
Hide whitespace changes
Inline
Side-by-side
Showing
19 changed files
with
7769 additions
and
78 deletions
+7769
-78
dist.zip
+0
-0
public/files/jsrydrmb.xlsx
+0
-0
public/files/jygzqdrmb.xlsx
+0
-0
public/files/zygzqdrmb.xlsx
+0
-0
src/api/menuDataApi/importApi.js
+4
-0
src/api/menuDataApi/jobDogManageApi.js
+3
-0
src/router/modules/index.js
+33
-0
src/utils/tableHeaderParams.js
+264
-33
src/views/artisanManage/index.vue
+1
-1
src/views/jobDogManage/components/jobDogManageEdit3.vue
+8
-4
src/views/jobDogManage/components/jobDogManageXq.vue
+2425
-0
src/views/jobDogManage/index.vue
+26
-8
src/views/jobDogRefreshment/index.vue
+13
-11
src/views/poDogInfoManage/index.vue
+26
-1
src/views/poDogJobManage/index.vue
+1
-1
src/views/poDogRetireManage/index.vue
+15
-0
src/views/tyshManage/components/jobDogManagetySp.vue
+2499
-0
src/views/tyshManage/components/jobDogManagetyXq.vue
+2436
-0
src/views/tyshManage/index.vue
+15
-19
No files found.
dist.zip
View file @
5b01288b
No preview for this file type
public/files/jsrydrmb.xlsx
View file @
5b01288b
No preview for this file type
public/files/jygzqdrmb.xlsx
View file @
5b01288b
No preview for this file type
public/files/zygzqdrmb.xlsx
0 → 100644
View file @
5b01288b
File added
src/api/menuDataApi/importApi.js
View file @
5b01288b
...
...
@@ -12,3 +12,7 @@ export const importTeUnitApi = params =>
// 警用工作犬(批量导入)
export
const
importPoDogJobApi
=
params
=>
postform
(
`
${
baseUrl
}
/work/excelsave`
,
params
)
// 警用种犬(批量导入)
export
const
importZqDogJobApi
=
params
=>
postform
(
`
${
baseUrl
}
/stud/excelsave`
,
params
)
src/api/menuDataApi/jobDogManageApi.js
View file @
5b01288b
...
...
@@ -16,6 +16,9 @@ export const retiredDogSpQuery = params =>
// 警犬复训(导出url)
export
const
exportJobDogUrl
=
`
${
baseUrl
}
/refreshment/export`
// 警犬审核(导出url)
export
const
exportSp
=
`
${
baseUrl
}
/refreshment/exportSp`
export
const
dogDelete
=
params
=>
postJson
(
`
${
baseUrl
}
/retired/dogDelete`
,
params
)
...
...
src/router/modules/index.js
View file @
5b01288b
...
...
@@ -189,6 +189,28 @@ export default [
},
// 工作犬复训管理(编辑页)
{
path
:
'jobDogManagetySp'
,
name
:
'jobDogManagetySp'
,
component
:
()
=>
import
(
'@/views/tyshManage/components/jobDogManagetySp.vue'
),
meta
:
{
title
:
'工作犬退役审核'
,
// 编辑新增页面此字段务必设置为true
isEditPage
:
true
}
},
// 工作犬复训管理(详情)
{
path
:
'jobDogManagetyXq'
,
name
:
'jobDogManagetyXq'
,
component
:
()
=>
import
(
'@/views/tyshManage/components/jobDogManagetyXq.vue'
),
meta
:
{
title
:
'退役犬详情'
,
// 编辑新增页面此字段务必设置为true
isEditPage
:
true
}
},
// 工作犬复训管理(编辑页)
{
path
:
'jobDogManageEdit'
,
name
:
'jobDogManageEdit'
,
component
:
()
=>
import
(
'@/views/jobDogManage/components/jobDogManageEdit2.vue'
),
...
...
@@ -209,6 +231,17 @@ export default [
isEditPage
:
true
}
},
// 工作犬复训管理(新增页)
{
path
:
'jobDogManagexq'
,
name
:
'jobDogManagexq'
,
component
:
()
=>
import
(
'@/views/jobDogManage/components/jobDogManageXq.vue'
),
meta
:
{
title
:
'工作犬复训管理-详情'
,
// 编辑新增页面此字段务必设置为true
isEditPage
:
true
}
},
// 工作犬复训管理(批量新增页)
{
path
:
'jobDogManageBatchAdd'
,
...
...
src/utils/tableHeaderParams.js
View file @
5b01288b
...
...
@@ -11,15 +11,15 @@ export const getJsryglAllColumns = () => {
},
{
label
:
"性别"
,
prop
:
"gender"
,
prop
:
"gender
Str
"
,
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
prop
:
"birthDate
Str
"
,
},
{
label
:
"是否警犬技术相关专业"
,
prop
:
"isjwzy
ForName
"
,
prop
:
"isjwzy
Str
"
,
},
{
label
:
"毕业院校"
,
...
...
@@ -27,11 +27,11 @@ export const getJsryglAllColumns = () => {
},
{
label
:
"归属单位"
,
prop
:
"gsdwGajg
jgdm
"
,
prop
:
"gsdwGajg
mc
"
,
},
{
label
:
"归属序列"
,
prop
:
"jwjsxl"
,
prop
:
"jwjsxl
Str
"
,
},
{
label
:
"所带警犬"
,
...
...
@@ -43,7 +43,7 @@ export const getJsryglAllColumns = () => {
},
{
label
:
"人员分类"
,
prop
:
"ryfl"
,
prop
:
"ryfl
Str
"
,
},
{
label
:
"带犬年限"
,
...
...
@@ -63,19 +63,19 @@ export const getJsryglDefaultColumns = () => {
},
{
label
:
"性别"
,
prop
:
"gender"
,
prop
:
"gender
Str
"
,
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
prop
:
"birthDate
Str
"
,
},
{
label
:
"是否警犬技术相关专业"
,
prop
:
"isjwzy
ForName
"
,
prop
:
"isjwzy
Str
"
,
},
{
label
:
"归属单位"
,
prop
:
"gsdwGajg
jgdm
"
,
prop
:
"gsdwGajg
mc
"
,
},
{
label
:
"从事警犬技术工作时间"
,
...
...
@@ -173,23 +173,23 @@ export const getJygzqglAllColumns = () => {
},
{
label
:
"性别"
,
prop
:
"gender
ForName
"
,
prop
:
"gender
Str
"
,
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
prop
:
"birthDate
Str
"
,
},
{
label
:
"归属警种"
,
prop
:
"policeCategory
ForName
"
,
prop
:
"policeCategory
Str
"
,
},
{
label
:
"工作犬等级"
,
prop
:
"trainingLevelId
ForName
"
,
prop
:
"trainingLevelId
Str
"
,
},
{
label
:
"品种"
,
prop
:
"speciesId
ForName
"
,
prop
:
"speciesId
Str
"
,
},
{
label
:
"DNA编号"
,
...
...
@@ -197,15 +197,19 @@ export const getJygzqglAllColumns = () => {
},
{
label
:
"专业方向"
,
prop
:
"wor
dForName
"
,
prop
:
"wor
kingDogClassificationIdStr
"
,
},
{
label
:
"来源"
,
prop
:
"dogSource"
,
prop
:
"dogSource
Str
"
,
},
{
label
:
"评定日期"
,
prop
:
"pdrq"
,
prop
:
"pdrqStr"
,
},
{
label
:
"归属单位"
,
prop
:
"trainingUnitName"
,
},
]
return
arr
...
...
@@ -224,15 +228,15 @@ export const getJygzqglDefaultColumns = () => {
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
prop
:
"birthDate
Str
"
,
},
{
label
:
"工作犬等级"
,
prop
:
"trainingLevelId
ForName
"
,
prop
:
"trainingLevelId
Str
"
,
},
{
label
:
"专业方向"
,
prop
:
"wor
dForName
"
,
prop
:
"wor
kingDogClassificationIdStr
"
,
},
]
return
arr
...
...
@@ -284,7 +288,7 @@ export const gettyqlAllColumns = () => {
]
return
arr
}
// 工作犬
复训
管理(全部列)
// 工作犬
评定
管理(全部列)
export
const
getGzqfxglAllColumns
=
()
=>
{
let
arr
=
[
{
...
...
@@ -313,7 +317,7 @@ export const getGzqfxglAllColumns = () => {
},
{
label
:
"评定科目"
,
prop
:
"trainSubject
ForName
"
,
prop
:
"trainSubject
Str
"
,
},
{
label
:
"审核状态"
,
...
...
@@ -329,7 +333,7 @@ export const getGzqfxglAllColumns = () => {
},
{
label
:
"申请评定日期"
,
prop
:
"checkDate"
,
prop
:
"checkDate
Str
"
,
},
{
label
:
"工作犬等级"
,
...
...
@@ -337,14 +341,13 @@ export const getGzqfxglAllColumns = () => {
},
{
label
:
"工作犬评定日期"
,
prop
:
"workdogpdrq"
,
prop
:
"workdogpdrq
Str
"
,
},
]
return
arr
}
// 工作犬复训管理(默认列)
export
const
getGzqfxglDefaultColumns
=
()
=>
{
// 工作犬审核管理(全部列)
export
const
getGzqfxglAllColumnsSh
=
()
=>
{
let
arr
=
[
{
label
:
"警犬名称"
,
...
...
@@ -358,6 +361,119 @@ export const getGzqfxglDefaultColumns = () => {
label
:
"归属单位"
,
prop
:
"trainingUnit"
,
},
{
label
:
"评定单位"
,
prop
:
"checkUnit"
,
},
{
label
:
"评定结果"
,
prop
:
"trainResult"
,
},
{
label
:
"主考人"
,
prop
:
"checkStaff"
,
},
{
label
:
"评定科目"
,
prop
:
"trainSubjectStr"
,
},
{
label
:
"审核状态"
,
prop
:
"spFlowStr"
,
},
{
label
:
"评定方式"
,
prop
:
"xxlyms"
,
},
{
label
:
"申请评定等级"
,
prop
:
"pdtraininglevelidStr"
,
},
{
label
:
"申请评定日期"
,
prop
:
"checkDateStr"
,
},
{
label
:
"提请审批人"
,
prop
:
"sqrxm"
,
},
{
label
:
"提请单位"
,
prop
:
"sqrUnitName"
,
},
{
label
:
"工作犬等级"
,
prop
:
"workdogtraininglevelid"
,
},
{
label
:
"工作犬评定日期"
,
prop
:
"workdogpdrqStr"
,
},
]
return
arr
}
// 工作犬评定管理(默认列)
export
const
getGzqfxglDefaultColumns
=
()
=>
{
let
arr
=
[
{
label
:
"警犬名称"
,
prop
:
"name"
,
},
{
label
:
"申请评定等级"
,
prop
:
"pdtraininglevelidStr"
,
},
{
label
:
"申请评定日期"
,
prop
:
"checkDateStr"
,
},
{
label
:
"工作犬等级"
,
prop
:
"workdogtraininglevelid"
,
},
{
label
:
"工作犬评定日期"
,
prop
:
"workdogpdrqStr"
,
},
{
label
:
"评定结果"
,
prop
:
"trainResult"
,
},
{
label
:
"审核状态"
,
prop
:
"spFlowStr"
,
},
]
return
arr
}
// 工作犬审核管理(默认列)
export
const
getGzqfxglDefaultColumnsSh
=
()
=>
{
let
arr
=
[
{
label
:
"警犬名称"
,
prop
:
"name"
,
},
{
label
:
"申请评定等级"
,
prop
:
"pdtraininglevelidStr"
,
},
{
label
:
"申请评定日期"
,
prop
:
"checkDateStr"
,
},
{
label
:
"提请审批人"
,
prop
:
"sqrxm"
,
},
{
label
:
"提请单位"
,
prop
:
"sqrUnitName"
,
},
{
label
:
"审核状态"
,
prop
:
"spFlowStr"
,
},
]
return
arr
}
...
...
@@ -366,6 +482,10 @@ export const getGzqfxglDefaultColumns = () => {
export
const
getJyzqAllColumns
=
()
=>
{
let
arr
=
[
{
label
:
"归属警种"
,
prop
:
"policeCategoryStr"
,
},
{
label
:
"芯片号"
,
prop
:
"chipCode"
,
},
...
...
@@ -375,7 +495,7 @@ export const getJyzqAllColumns = () => {
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
prop
:
"birthDate
Str
"
,
},
{
label
:
"带犬人员"
,
...
...
@@ -391,19 +511,19 @@ export const getJyzqAllColumns = () => {
},
{
label
:
"性别"
,
prop
:
"gender"
,
prop
:
"gender
Str
"
,
},
{
label
:
"品种"
,
prop
:
"speciesId"
,
prop
:
"speciesId
Str
"
,
},
{
label
:
"来源"
,
prop
:
"dogSource"
,
prop
:
"dogSource
Str
"
,
},
{
label
:
"归属单位"
,
prop
:
"trainingUnit"
,
prop
:
"trainingUnit
Name
"
,
},
]
return
arr
...
...
@@ -517,3 +637,113 @@ export const getTyqglDefaultColumns = () => {
]
return
arr
}
// 退役犬管理(全部列)
export
const
getTyshqglAllColumns
=
()
=>
{
let
arr
=
[
{
label
:
"芯片号"
,
prop
:
"chipCode"
,
},
{
label
:
"警犬名称"
,
prop
:
"name"
,
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
},
{
label
:
"服役年限"
,
prop
:
"fyqx"
,
},
{
label
:
"退役单位"
,
prop
:
"trainingUnitName"
,
},
{
label
:
"退役日期"
,
prop
:
"retiredDate"
,
},
{
label
:
"原技术人员"
,
prop
:
"artisanName"
,
},
{
label
:
"接收单位"
,
prop
:
"acceptUnitName"
,
},
{
label
:
"接收技术人员"
,
prop
:
"acceptArtisan"
,
},
{
label
:
"接收人员身份证号码"
,
prop
:
"acceptArtisanCard"
,
},
{
label
:
"接收日期"
,
prop
:
"acceptDate"
,
},
{
label
:
"审核单位"
,
prop
:
"auditUnitName"
,
},
{
label
:
"审核人员"
,
prop
:
"auditStaff"
,
},
{
label
:
"审核人员身份证号码"
,
prop
:
"auditStaffCard"
,
},
{
label
:
"审核日期"
,
prop
:
"auditDate"
,
},
{
label
:
"提请审批人"
,
prop
:
"sqrxm"
,
},
{
label
:
"提请单位"
,
prop
:
"sqrUnitName"
,
},
]
return
arr
}
// 退役犬管理(默认列)
export
const
getTyshqglDefaultColumns
=
()
=>
{
let
arr
=
[
{
label
:
"芯片号"
,
prop
:
"chipCode"
,
},
{
label
:
"警犬名称"
,
prop
:
"name"
,
},
{
label
:
"出生日期"
,
prop
:
"birthDate"
,
},
{
label
:
"退役日期"
,
prop
:
"retiredDate"
,
},
{
label
:
"退役单位"
,
prop
:
"trainingUnitName"
,
},
{
label
:
"提请审批人"
,
prop
:
"sqrxm"
,
},
{
label
:
"提请单位"
,
prop
:
"sqrUnitName"
,
},
]
return
arr
}
\ No newline at end of file
src/views/artisanManage/index.vue
View file @
5b01288b
...
...
@@ -282,7 +282,7 @@ export default {
showImportBox
:
false
,
importInfo
:
{
fileCName
:
"
技术人员导入模版
.xlsx"
,
fileCName
:
"
带犬人员批量导入模板
.xlsx"
,
fileLocalUrl
:
"files/jsrydrmb.xlsx"
,
apiName
:
"importArtisanApi"
,
},
...
...
src/views/jobDogManage/components/jobDogManageEdit3.vue
View file @
5b01288b
<
template
>
<div
class=
"detailContentClass"
v-loading=
"loading"
>
<div
class=
"detailContentClass"
v-loading=
"loading"
element-loading-text=
"拼命加载中.."
>
<div
class=
"contents"
>
<el-form
:model=
"detailInfo"
ref=
"detailInfoRef"
:rules=
"rules"
>
<div
class=
"titles"
style=
"width: 90px"
>
工作犬基础信息
</div>
...
...
@@ -448,9 +452,7 @@
size=
"small"
class=
"btnStylePub"
@
click=
"saveData(true)"
v-if=
"
userInfoJson.grade != 'B'
"
v-if=
"userInfoJson.grade != 'B'"
>
提请审批
</el-button
>
<el-button
...
...
@@ -787,8 +789,10 @@ export default {
let
params
=
{
chipCode
:
this
.
detailInfo
.
chipCode
,
};
this
.
loading
=
true
;
awaitPdWorkExtract
(
params
)
.
then
((
res
)
=>
{
this
.
loading
=
false
;
if
(
res
.
code
===
200
&&
res
.
success
&&
...
...
src/views/jobDogManage/components/jobDogManageXq.vue
0 → 100644
View file @
5b01288b
<
template
>
<div
id=
"asjxq"
>
<div
class=
"content-wrap"
id=
"scroolwrap"
@
scroll=
"handleScroll($event)"
>
<div
class=
"dt_menu"
>
<el-steps
direction=
"vertical"
finish-status=
"wait"
space=
"100px"
:active=
"activeIndex"
>
<el-step
v-for=
"(item, index) in menuList"
:key=
"item.id"
finish-status=
"wait"
@
click
.
native=
"handleNav(index, item.id)"
>
<span
slot=
"icon"
v-if=
"index == activeIndex"
>
<img
src=
"@/assets/img/jt.png"
alt=
""
/>
</span>
<span
slot=
"title"
:class=
"index == activeIndex ? 'activeColor' : 'activeColor1'"
>
{{
item
.
title
}}
</span>
</el-step>
</el-steps>
</div>
<div
class=
"wrap-shadow"
style=
"position: relative"
:id=
"item2.id"
v-for=
"item2 in asjxx"
:key=
"item2.moduleName"
>
<div
class=
"title"
>
<img
src=
"@/assets/img/ajdetail5.png"
style=
"margin: 0 12px"
/>
{{
item2
.
moduleName
}}
</div>
<div
class=
"line"
v-show=
"isSp"
>
<div
class=
"list-item"
>
<div
v-for=
"(item, index) in item2.data"
:key=
"index"
:class=
"'list line' + item.col"
>
<span
class=
"zd-name"
v-if=
"item.title"
v-html=
"item.title + ':'"
></span>
<span
class=
"zd-value"
v-if=
"
item.id == 'workingDogClassificationIdStr#score' ||
item.id == 'trainSubjectStr#trainSubjectGrade'
"
v-html=
"strReplace(item.id, detailObj)"
></span>
<el-upload
v-else-if=
"
item.id == 'tbStDogFile1' || item.id == 'tbStDogFile2'
"
disabled
action=
"#"
list-type=
"picture-card"
multiple
:file-list=
"detailObj[item.id]"
:auto-upload=
"false"
>
<i
slot=
"default"
class=
"el-icon-plus"
></i>
<div
slot=
"file"
slot-scope=
"
{ file }">
<div
class=
"photoList"
>
<p
:title=
"file.name"
>
{{
file
.
name
}}
</p>
<img
width=
"146px"
height=
"146px"
:src=
"file.url2"
alt=
""
/>
<span
class=
"el-upload-list__item-actions"
>
<span
v-if=
"
file.name.indexOf('png') >= 0 ||
file.name.indexOf('jpg') >= 0 ||
file.name.indexOf('jpeg') >= 0 ||
file.name.indexOf('pdf') >= 0
"
class=
"el-upload-list__item-preview"
@
click=
"handlePictureCardPreview(file)"
>
<i
class=
"el-icon-zoom-in"
></i>
</span>
<span
v-if=
"!disabled"
class=
"el-upload-list__item-delete"
@
click=
"handleDownload(file)"
>
<i
class=
"el-icon-download"
></i>
</span>
</span>
</div>
</div>
</el-upload>
<el-table
v-else-if=
"item.id == 'pdls'"
:data=
"detailObj.refreshmentHistorys"
style=
"width: 100%"
>
<el-table-column
width=
"120px"
align=
"center"
prop=
"checkStaff"
label=
"主考人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"trainSubjectForName"
label=
"评定科目"
>
<template
slot-scope=
"scope"
>
<p>
{{
strReplace
(
"trainSubjectStr#trainSubjectGrade"
,
scope
.
row
)
}}
</p>
</
template
>
</el-table-column>
<el-table-column
width=
"120px"
align=
"center"
prop=
"pdtraininglevelidStr"
label=
"申请评定等级"
></el-table-column>
<el-table-column
align=
"center"
prop=
"checkDate"
label=
"申请评定日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"checkUnitName"
label=
"评定单位"
></el-table-column>
<el-table-column
align=
"center"
prop=
"workdogtraininglevelid"
label=
"工作犬等级"
></el-table-column>
<el-table-column
align=
"center"
prop=
"workdogpdrq"
label=
"工作犬评定日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"trainResult"
label=
"评定结果"
></el-table-column>
</el-table>
<span
class=
"zd-value"
v-else
v-html=
"detailObj[item.id]"
></span>
</div>
</div>
</div>
</div>
<div
class=
"wrap-shadow"
style=
"padding-right: 0px"
id=
"ajspgc"
>
<div
class=
"title"
>
<img
src=
"@/assets/img/ajdetail6.png"
style=
"margin: 0 12px"
/>
<span>
审批过程
</span>
</div>
<div
class=
"timeLine_wrap"
style=
"flex-wrap: wrap"
>
<div
class=
"itemLine"
v-for=
"(item, index) in laspxqtableData2"
:key=
"index"
>
<div
class=
"time"
>
{{ item.spsj }}
</div>
<div
class=
"line"
>
<div
class=
"quan"
></div>
<div
class=
"xian"
></div>
</div>
<div
class=
"timeTitle"
>
{{ item.spStr }}
</div>
<div
class=
"person"
>
<p>
{{ item.sprXm + " | " + item.sprLxdh }}
</p>
<p>
{{ item.spdwGajgmc }}
</p>
</div>
<div
class=
"time_content"
>
{{ item.spyjJyqk }}
</div>
</div>
</div>
</div>
<div
class=
"wrap-shadow"
id=
"yhxx"
style=
"padding-top: 10px"
>
<el-form
label-position=
"right"
label-width=
"140px"
ref=
"queryForm"
:model=
"formD"
:rules=
"yhxxRules"
>
<div
class=
"zdyLine"
>
<el-form-item
:label=
"item.name"
v-for=
"item in propQueryField"
:key=
"item.id"
:prop=
"item.id"
v-show=
"!item.hidden"
:class=
"'demo-input-suffix zdycol' + item.col"
>
<!--<div class="zdName">{{item.name}}:</div>-->
<!--输入框-->
<el-input
clearable
:placeholder=
"item.placeholder"
v-model=
"formD[item.id]"
v-if=
"item.type == 'text' && item.id != 'spsj'"
:disabled=
"item.disabled"
>
</el-input>
<el-input
clearable
:placeholder=
"item.placeholder"
v-model=
"spsj"
v-else-if=
"item.type == 'text' && item.id == 'spsj'"
:disabled=
"item.disabled"
>
</el-input>
<!--文本域-->
<el-input
type=
"textarea"
autosize
resize=
"none"
:rows=
"3"
style=
"height: 60px !important"
:placeholder=
"item.placeholder"
v-model=
"formD[item.id]"
v-else-if=
"item.type == 'textarea'"
>
</el-input>
</el-form-item>
</div>
</el-form>
</div>
<!--数据检测-->
<el-dialog
:visible
.
sync=
"dialogVisible"
:append-to-body=
"false"
:close-on-click-modal=
"false"
custom-class=
"dataCheckDialogClass"
width=
"900px"
>
<div
slot=
"title"
class=
"headerContend"
>
<div
class=
"text-ing"
>
<p
class=
"zzjc"
>
{{ dialogTitleContent }}
</p>
</div>
<div
class=
"btn-group"
>
<button
type=
"button"
class=
"toggle-timer"
name=
"toggle-timer"
@
click=
"sjjc"
style=
""
>
重新检测
</button>
<button
type=
"button"
class=
"finish"
name=
"finish"
style=
""
@
click=
"dialogVisible = !dialogVisible"
>
完成
</button>
</div>
</div>
<div
style=
"height: 490px; padding: 0px 15px"
>
<el-scrollbar
ref=
"sjjcScrollbar"
style=
"height: 100%"
>
<el-collapse
v-model=
"activeCollapseNames"
>
<div
v-for=
"(collItem, collIndex) in checkList.filter(
(chickItem) => {
return chickItem.type.indexOf(spType) >= 0;
}
)"
:key=
"collItem.name"
>
<el-collapse-item
v-if=
"collItem.type.indexOf(spType) >= 0"
:ref=
"'sjjcScrollbar' + collIndex"
:name=
"collItem.name"
>
<
template
slot=
"title"
>
<span
class=
"collapseRowTag"
>
{{
collIndex
+
1
}}
</span
>
{{
collItem
.
currentCheck
}}
<div
style=
"flex: 10; justify-content: flex-end; display: flex"
v-if=
"collItem.status != 'wait'"
>
<span
style=
"color: #fff; border-radius: 12px"
:style=
"
{
marginRight: '20px',
background:
collItem.status == 'success'
? '#67c23a'
: '#ff754f',
height: '24px',
lineHeight: '24px',
textAlign: 'center',
width: '50px',
}"
>
{{
collItem
.
status
==
"success"
?
"合格"
:
"缺失"
}}
</span
>
</div>
</
template
>
<div
style=
"width: 100%; padding: 10px 10px 10px 50px"
>
<el-steps
:active=
"1"
:space=
"
collItem.children.length > 2
? collItem.children.length > 6
? '20%'
: ''
: '20%'
"
>
<div
v-for=
"(stepItem, stepIndex) in collItem.children"
:key=
"stepIndex"
>
<el-step
v-if=
"stepItem.type.indexOf(spType) >= 0"
:title=
"stepItem.name"
:status=
"stepItem.status"
:icon=
"stepItem.icon"
style=
"min-width: 110px"
></el-step>
<div
v-if=
"collItem.errorShowData"
style=
"
width: 0px;
height: 0px;
display: inline-block;
background: red;
position: relative;
"
>
<div
style=
"
position: absolute;
top: -60px;
left: 20px;
width: 600px;
max-height: 140px;
overflow-y: auto;
"
v-html=
"collItem.errorShowData"
></div>
</div>
</div>
</el-steps>
</div>
</el-collapse-item>
</div>
</el-collapse>
</el-scrollbar>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
</span>
</el-dialog>
</div>
<div
class=
"prive_picture"
v-if=
"filePreviewFlag"
@
click=
"closefilePreview"
v-loading=
"loadingpic"
>
<el-image
class=
"picture"
:src=
"filePreview"
:style=
"{
transform: 'rotate(' + deg + 'deg)' + 'scale(' + multiples + ')',
}"
>
</el-image>
<section
class=
"btn"
>
<section
class=
"btnchild"
>
<i
class=
"el-icon-zoom-out"
@
click=
"toBIgChange('min')"
></i>
<i
class=
"el-icon-zoom-in"
@
click=
"toBIgChange('max')"
></i>
<i
class=
"el-image-viewer__actions__divider"
></i>
<i
class=
"el-icon-c-scale-to-original"
@
click=
"toBIgChange('all')"
></i>
<i
class=
"el-image-viewer__actions__divider"
></i>
<i
class=
"el-icon-refresh-left"
@
click=
"toBIgChange('left')"
></i>
<i
class=
"el-icon-refresh-right"
@
click=
"toBIgChange('right')"
></i>
</section>
</section>
</div>
<el-image
style=
"width: 0px; height: 0px; position: absolute"
src=
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
:preview-src-list=
"[dialogImageUrl]"
ref=
"elImage"
>
</el-image>
</div>
</template>
<
script
>
import
Http
from
"@/utils/axiosHttp.js"
;
import
url
from
"@/api/base"
;
/*案件详情*/
import
{
ajxqHeader
,
ajxqHeaderIcon
,
ajxqURL
,
lazczjspURL
,
lazczjspForm
,
ajjbxxForm
,
ajjbxxURL
,
barForm
,
barURL
,
fzxyrForm
,
fzxyrURL
,
bhrForm
,
bhrURL
,
/*立案审批详情*/
laspxqForm
,
laspxqURL
,
flwsListURL
,
/*侦查终结审批详情*/
zczjspxqForm
,
}
from
"@/utils/params2"
;
import
{
extractJobDog
,
addJobDog
,
editJobDog
,
getJobDogDetail
,
getBlgcLists
,
addSp
,
}
from
"@/api/menuDataApi/jobDogManageApi.js"
;
import
{
fileUrlDetail
,
deleteFileByXxzjbh
,
}
from
"@/api/menuDataApi/poDogInfoManageApi.js"
;
import
$
from
"jquery"
;
import
guide
from
"@/utils/guide"
;
export
default
{
name
:
"index"
,
data
()
{
return
{
tableData
:
[],
dialogImageUrl
:
""
,
disabled
:
false
,
detailObj
:
{},
deg
:
0
,
multiples
:
1
,
loadingpic
:
false
,
fzxyrtableLoading
:
false
,
bhrtableLoading
:
false
,
activeStep
:
0
,
isSp
:
true
,
filePreviewFlag
:
false
,
filePreview
:
""
,
menuList
:
[
{
title
:
"工作犬基本信息"
,
id
:
"#jbxx"
},
{
title
:
"工作犬等级信息"
,
id
:
"#djxx"
},
{
title
:
"带犬人员信息"
,
id
:
"#ryxx"
},
{
title
:
"警犬训练考核"
,
id
:
"#xlkh"
},
{
title
:
"审批过程"
,
id
:
"#ajspgc"
},
],
leftMenuActiveIndex
:
"0"
,
laspxqFormPage
:
1
,
laspxqFormRows
:
5
,
zczjspxqFormPage
:
1
,
zczjspxqFormRows
:
5
,
laspxqtableData2
:
[],
caseFileList
:
[],
caseFileList2
:
[],
caseFileList3
:
[],
caseFileList4
:
[],
laspxqTotal
:
0
,
zczjspxqtableData2
:
[
{
asjbh
:
"2016-05-02"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
asjbh
:
"2016-05-04"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1517 弄"
,
},
],
zczjspxqTotal
:
0
,
barTotal
:
0
,
barxxtableData2
:
[],
//报案人信息
fzxyrForm
:
fzxyrForm
,
fzxyrtableData2
:
[],
fzxyrTotal
:
0
,
formD
:
lazczjspForm
,
ajxxFrom
:
ajjbxxForm
,
barForm
:
barForm
,
/*被害人*/
bhrForm
:
bhrForm
,
bhrtableData2
:
[],
bhrTotal
:
0
,
/*立案侦查终结详情*/
laspxqForm
:
laspxqForm
,
zczjspxqForm
:
zczjspxqForm
,
asjbh
:
""
,
spType
:
""
,
yhxxRules
:
{
spyjJyqk
:
{
required
:
true
,
message
:
"请输入审批意见"
,
trigger
:
"blur"
,
},
},
spsj
:
""
,
propQueryField
:
[],
isbhdw
:
false
,
isaqfx
:
false
,
iszcrz
:
false
,
issswp
:
false
,
iszasygj
:
false
,
iszcxs
:
false
,
iskywp
:
false
,
isjjxx
:
false
,
current
:
0
,
headerTitle
:
ajxqHeader
,
headerIcon
:
ajxqHeaderIcon
,
Zjasjxx
:
[
{
title
:
"自检人姓名"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrXm"
},
{
title
:
"自检人证联系电话"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrLxdh"
,
},
{
title
:
"自检人单位代码"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrDwdmStr"
,
},
{
title
:
"自检时间"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjsj"
},
{
title
:
"自检结果 "
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjjgStr"
},
{
title
:
"备注"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjxxbc"
},
],
asjxx
:
[
{
id
:
"jbxx"
,
moduleName
:
"工作犬基本信息"
,
data
:
[
{
title
:
"犬名"
,
col
:
"3"
,
id
:
"name"
},
{
title
:
"芯片号"
,
col
:
"3"
,
id
:
"chipCode"
},
{
title
:
"性别"
,
col
:
"3"
,
id
:
"gender"
},
{
title
:
"出生日期"
,
col
:
"3"
,
id
:
"birthDate"
},
{
title
:
"品种"
,
id
:
"speciesId"
,
col
:
"3"
,
},
{
title
:
"犬只来源"
,
col
:
"3"
,
id
:
"dogSource"
,
},
{
title
:
"DNA编号"
,
col
:
"3"
,
id
:
"dna"
,
},
{
title
:
"警犬照片"
,
col
:
"6"
,
id
:
"tbStDogFile2"
,
},
],
},
{
id
:
"djxx"
,
moduleName
:
"工作犬等级信息"
,
data
:
[
{
title
:
"工作犬等级"
,
col
:
"3"
,
id
:
"trainingLevelIdStr"
},
{
title
:
"评定日期"
,
col
:
"3"
,
id
:
"pdrq"
},
{
title
:
"专业方向及成绩"
,
col
:
"5"
,
id
:
"workingDogClassificationIdStr#score"
,
},
{
title
:
"其他材料"
,
col
:
"6"
,
id
:
"tbStDogFile1"
,
},
],
},
{
id
:
"ryxx"
,
moduleName
:
"带犬人员信息"
,
data
:
[
{
title
:
"身份证号码"
,
col
:
"3"
,
id
:
"jsrysfz"
},
{
title
:
"姓名"
,
col
:
"3"
,
id
:
"jsrymc"
},
{
title
:
"归属单位"
,
col
:
"3"
,
id
:
"trainingUnitName"
},
{
title
:
"归属警种"
,
col
:
"3"
,
id
:
"policeCategory"
},
],
},
{
id
:
"xlkh"
,
moduleName
:
"警犬训练考核"
,
data
:
[
{
title
:
"考核单位"
,
col
:
"3"
,
id
:
"checkUnitName"
},
{
title
:
"主考人"
,
col
:
"3"
,
id
:
"checkStaff"
},
{
title
:
"考核日期"
,
col
:
"3"
,
id
:
"checkDate"
},
{
title
:
"评定等级"
,
col
:
"3"
,
id
:
"pdtraininglevelidStr"
},
{
title
:
"考核科目及成绩"
,
col
:
"5"
,
id
:
"trainSubjectStr#trainSubjectGrade"
,
},
],
},
],
barxx
:
[
{
title
:
"姓名"
,
value
:
""
,
col
:
"4"
},
{
title
:
"性别"
,
value
:
""
,
col
:
"4"
},
{
title
:
"证件号码"
,
value
:
""
,
col
:
"1"
},
{
title
:
"报案地点"
,
value
:
""
,
col
:
"4"
},
{
title
:
"报案人现住址"
,
value
:
""
,
col
:
"4"
},
{
title
:
"详细信息"
,
value
:
""
,
col
:
"1"
},
{
title
:
"联系电话"
,
value
:
""
,
col
:
"1"
},
{
title
:
"简要情况"
,
value
:
""
,
col
:
"1"
},
],
syrxx
:
[
{
title
:
"姓名"
,
value
:
""
,
col
:
"4"
},
{
title
:
"性别"
,
value
:
""
,
col
:
"4"
},
{
title
:
"民族"
,
value
:
""
,
col
:
"4"
},
{
title
:
"证件号码"
,
value
:
""
,
col
:
"4"
},
{
title
:
"籍贯"
,
value
:
""
,
col
:
"4"
},
{
title
:
"国籍"
,
value
:
""
,
col
:
"4"
},
{
title
:
"住址"
,
value
:
""
,
col
:
"1"
},
{
title
:
"联系电话"
,
value
:
""
,
col
:
"1"
},
],
fzxyrxx
:
[
{
src
:
require
(
"@/assets/img/img.gif"
),
fzxyrxxList
:
[
{
title
:
"人员编号"
,
value
:
"P150981000000202102000B"
},
{
title
:
"姓名"
,
value
:
"李海生"
},
{
title
:
"性别"
,
value
:
"男"
},
{
title
:
"证件号码"
,
value
:
"152628196001034714"
},
{
title
:
"现住地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"户籍地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"到案状态"
,
value
:
"死亡"
},
],
},
],
bhrxx
:
[
{
src
:
require
(
"@/assets/img/aqq.png"
),
fzxyrxxList
:
[
{
title
:
"人员编号"
,
value
:
"P150981000000202102000C"
},
{
title
:
"姓名"
,
value
:
"智利利"
},
{
title
:
"性别"
,
value
:
"女"
},
{
title
:
"证件号码"
,
value
:
"152628196709284786"
},
{
title
:
"户籍地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"到案状态"
,
value
:
"死亡"
},
],
},
],
aqfx
:
[
{
title
:
"分析案件发生时间"
,
value
:
""
,
col
:
"3"
,
id
:
"asjfssjfxAsjfskssj"
,
},
{
title
:
"分析作案人数"
,
value
:
""
,
col
:
"3"
,
id
:
"zarfxRsxx"
},
{
title
:
"进入方式手段"
,
value
:
""
,
col
:
"3"
,
id
:
"jrjzkjfsjsdDmbcms"
},
{
title
:
"离开方式"
,
value
:
""
,
col
:
"3"
,
id
:
"lkjzkjfsDmbcms"
},
{
title
:
"接近手段"
,
value
:
"其他接近手段"
,
col
:
"3"
,
id
:
"jjsdJjsddm"
,
},
{
title
:
"解锁手段"
,
value
:
""
,
col
:
"3"
,
id
:
"jssdJssddm"
},
{
title
:
"胁迫手段"
,
value
:
""
,
col
:
"3"
,
id
:
"xpsdXpsddm"
},
{
title
:
"施暴手段"
,
value
:
"殴打"
,
col
:
"3"
,
id
:
"sbsdSbsddm"
},
],
aqfxMore
:
[
{
title
:
"窃取手段"
,
value
:
""
},
{
title
:
"引爆手段"
,
value
:
""
},
{
title
:
"诈骗手段"
,
value
:
""
},
{
title
:
"网络作案手段"
,
value
:
""
},
{
title
:
"胁迫使用物品"
,
value
:
""
},
{
title
:
"作案准备手段"
,
value
:
""
},
{
title
:
"干扰侦查手段"
,
value
:
""
},
{
title
:
"冒充冒用手段"
,
value
:
""
},
{
title
:
"冒充身份"
,
value
:
""
},
{
title
:
"冒充关系人"
,
value
:
""
},
{
title
:
"冒充单位名义"
,
value
:
""
},
{
title
:
"箱体空间突破手段"
,
value
:
""
},
{
title
:
"选择物品"
,
value
:
""
},
{
title
:
"熟悉作案环境情况"
,
value
:
""
},
{
title
:
"流窜作案情况"
,
value
:
""
},
{
title
:
"其他手段特点"
,
value
:
""
},
{
title
:
"团伙作案情况"
,
value
:
""
},
{
title
:
"嫌疑人简要情况"
,
value
:
""
},
{
title
:
"嫌疑人遗留物品"
,
value
:
""
},
{
title
:
"损失物品情况"
,
value
:
""
},
{
title
:
"其他物品描述"
,
value
:
""
},
{
title
:
"损失物品去向"
,
value
:
""
},
],
zczjxx
:
[
{
title
:
"案件编号"
,
value
:
""
,
col
:
"4"
,
id
:
"asjbh"
},
{
title
:
"侦查终结单位"
,
value
:
""
,
col
:
"4"
,
id
:
"zczjdwGajgjgdm"
},
{
title
:
"侦查终结日期"
,
value
:
""
,
col
:
"4"
,
id
:
"zczjZxsj01"
},
{
title
:
"破案手段"
,
value
:
""
,
col
:
"4"
,
id
:
"pasddm"
},
{
title
:
"侦查终结依据"
,
value
:
""
,
col
:
"1"
,
id
:
"zczjZcxwyjms"
},
],
cxxx
:
[
{
title
:
"申请撤销内容"
,
value
:
""
,
col
:
"4"
,
id
:
"sqnr"
},
{
title
:
"申请人"
,
value
:
""
,
col
:
"4"
,
id
:
"sqr"
},
{
title
:
"申请人单位,"
,
value
:
""
,
col
:
"4"
,
id
:
"sqrDwmc"
},
{
title
:
"申请人联系电话"
,
value
:
""
,
col
:
"4"
,
id
:
"sqrLxdh"
},
{
title
:
"情况说明"
,
value
:
""
,
col
:
"1"
,
id
:
"qksm"
},
{
title
:
"撤销案件原因"
,
value
:
""
,
col
:
"4"
,
id
:
"cxajyydmStr"
},
{
title
:
"撤销案件依据"
,
value
:
""
,
col
:
"4"
,
id
:
"cxajZcxwyjms"
},
],
ysqs
:
[
{
title
:
"检察机关接受人"
,
value
:
""
,
col
:
"4"
},
{
title
:
"接受单位名称"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送单位"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送单位名称"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送日期"
,
value
:
""
,
col
:
"1"
},
{
title
:
"移送审查起诉意见书"
,
value
:
""
,
col
:
"1"
},
],
ysqsfhjg
:
[
{
title
:
"审查结果"
,
value
:
""
,
col
:
"4"
},
{
title
:
"审查结果返回日期"
,
value
:
""
,
col
:
"4"
},
{
title
:
"审查意见"
,
value
:
""
,
col
:
"1"
},
{
title
:
"补充侦查报告书"
,
value
:
""
,
col
:
"1"
},
],
tableData
:
[
{
date
:
"罗威丽"
,
name
:
"2021-02-19 11:41:57"
,
address
:
"内蒙古自治区刑侦总队"
,
sftg
:
"审批通过"
,
},
],
tableData2
:
[
{
date
:
"罗威丽"
,
name
:
"2021-02-20 11:30:24"
,
address
:
"内蒙古自治区刑侦总队"
,
sftg
:
"审批通过"
,
},
],
activeIndex
:
0
,
activeName
:
"third"
,
timeLine
:
[
{
time
:
"2021.3.15 15:30:59"
,
title
:
"立案提请审批"
,
person
:
"李警官丨20104110丨厂桥派出所"
,
},
{
time
:
"2021.3.15 16:30:59"
,
title
:
"审批不通过"
,
person
:
"王警官丨20104120丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
{
time
:
"2021.3.15 16:35:59"
,
title
:
"立案提请审批"
,
person
:
"王警官丨20104121丨厂桥派出所"
,
},
{
time
:
"2021.3.15 17:30:59"
,
title
:
"审批通过"
,
person
:
"王警官丨20104128丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
{
time
:
"2021.3.15 18:35:59"
,
title
:
"侦查终结提请审批"
,
person
:
"赵警官丨20104152丨厂桥派出所"
,
},
{
time
:
"2021.3.15 18:30:59"
,
title
:
"侦查终结审批"
,
person
:
"王警官丨20104166丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
],
dialogVisible
:
false
,
dialogTitleContent
:
""
,
checkResult
:
true
,
checkList
:
[
{
name
:
"案件基本信息"
,
unchecked
:
"检测案件基本信息"
,
checking
:
"正在检测案件基本信息"
,
checked
:
"案件基本信息检测完成"
,
currentCheck
:
"检测案件基本信息"
,
checkUrl
:
"/ajsp/checkAsjjbxx"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
,
"02"
,
"03"
],
children
:
[
{
name
:
"立案单位"
,
id
:
"ladw"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-book icon2"
,
status
:
"process"
,
},
{
name
:
"案件性质"
,
id
:
"ajxz"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"立案日期"
,
id
:
"larq"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-calendar-check-o icon2"
,
status
:
"wait "
,
},
{
name
:
"案发时间"
,
id
:
"afsj"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-calendar-check-o icon2"
,
status
:
"wait "
,
},
{
name
:
"案件简要情况"
,
id
:
"jyaq"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-edit icon2"
,
status
:
"success"
,
},
// {
// name: '现场勘验编号',
// id: 'xkbh',
// type: ['00', '01'],
// icon: 'fa fa-file-powerpoint-o icon2',
// status: 'error'
// },
{
name
:
"涉案场所"
,
id
:
"sacs"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"案发地区划"
,
id
:
"ajdy"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"案发地域"
,
id
:
"ajdy"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结单位"
,
id
:
"zczjdw"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结时间"
,
id
:
"zczjsj"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结依据"
,
id
:
"zczjyj"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"破案手段"
,
id
:
"pasddm"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"作案手段"
,
id
:
"zasd"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"发案原因"
,
id
:
"fayy"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"案件法律文书"
,
unchecked
:
"检测案件法律文书"
,
checking
:
"正在检测案件法律文书"
,
checked
:
"案件法律文书检测完成"
,
currentCheck
:
"检测案件法律文书"
,
checkUrl
:
"/ajsp/checkAsjflws"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
],
children
:
[
// {
// name: '侦查终结报告书',
// id: 'zczjbgs',
// type: ['02', '03'],
// icon: 'fa fa-file icon2',
// status: 'wait'
// },
{
name
:
"立案决定书"
,
type
:
[
"00"
,
"01"
],
id
:
"lajds"
,
icon
:
"fa fa-paste icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"犯罪嫌疑人"
,
unchecked
:
"检测涉案犯罪嫌疑人"
,
checking
:
"正在检测涉案犯罪嫌疑人"
,
checked
:
"涉案犯罪嫌疑人检测完成"
,
currentCheck
:
"检测涉案犯罪嫌疑人"
,
checkUrl
:
"/ajsp/checkFzxry"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
type
:
[
"02"
,
"03"
],
status
:
""
,
fieldConfig
:
{
zjhm
:
"证件号码"
,
dazt
:
"到案状态"
,
xm
:
"姓名"
,
xb
:
"性别"
,
cssj
:
"出生时间"
,
nl
:
"年龄"
,
hjlx
:
"户籍类型"
,
hyzk
:
"婚姻状况"
,
whcd
:
"文化程度"
,
dwzy
:
"地位作用"
,
ybhrgx
:
"与被害人关系"
,
sfqkry
:
"是否前科人员"
,
hjdqh
:
"户籍地区划"
,
xzzqh
:
"现住址区划"
,
zhrq
:
"抓获日期"
,
zhddqh
:
"抓获地区划"
,
zhdw
:
"抓获单位"
,
sfjsb
:
"是否精神病"
,
},
children
:
[
{
name
:
"人员信息"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-address-book-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"案件受害人"
,
unchecked
:
"检测案件受害人"
,
checking
:
"正在检测案件受害人"
,
checked
:
"案件受害人检测完成"
,
currentCheck
:
"检测案件受害人"
,
checkUrl
:
"/ajsp/checkBhr"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
],
fieldConfig
:
{
zjhm
:
"证件号码"
,
rsshcd
:
"人身伤害程度"
,
cssj
:
"出生时间"
,
xm
:
"姓名"
,
hjdqh
:
"户籍地区划"
,
xzzqh
:
"现住址区划"
,
},
children
:
[
{
name
:
"人员信息"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-address-book-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"嫌疑人法律文书"
,
unchecked
:
"检测嫌疑人法律文书"
,
checking
:
"正在检测嫌疑人法律文书"
,
checked
:
"嫌疑人法律文书检测完成"
,
currentCheck
:
"检测嫌疑人法律文书"
,
checkUrl
:
"/ajsp/checkFzxryFlws"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"02"
,
"03"
],
fieldConfig
:
{
jlzdbz
:
"逮捕证或拘留证"
,
swzm
:
"死亡证明"
,
hjzm
:
"户籍证明"
,
},
children
:
[
{
name
:
"基本信息"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
],
},
],
activeCollapseNames
:
[
"案件基本信息"
],
};
},
methods
:
{
saveAs
(
blob
,
filename
)
{
if
(
window
.
navigator
.
msSaveOrOpenBlob
)
{
navigator
.
msSaveBlob
(
blob
,
filename
);
}
else
{
const
anchor
=
document
.
createElement
(
"a"
);
const
body
=
document
.
querySelector
(
"body"
);
anchor
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
anchor
.
download
=
filename
;
anchor
.
style
.
display
=
"none"
;
body
.
appendChild
(
anchor
);
anchor
.
click
();
body
.
removeChild
(
anchor
);
window
.
URL
.
revokeObjectURL
(
anchor
.
href
);
}
},
handleDownload
(
file
)
{
if
(
file
.
url
)
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
"GET"
,
file
.
url
,
true
);
xhr
.
responseType
=
"blob"
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
this
.
saveAs
(
xhr
.
response
,
file
.
name
);
}
};
xhr
.
send
();
}
else
if
(
file
.
xxzjbh
)
{
fileUrlDetail
({
xxzjbh
:
file
.
xxzjbh
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
file
.
name
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
}
},
handlePictureCardPreview
(
file
)
{
if
(
file
.
name
.
indexOf
(
"png"
)
>=
0
||
file
.
name
.
indexOf
(
"jpg"
)
>=
0
||
file
.
name
.
indexOf
(
"jpeg"
)
>=
0
)
{
let
url
=
file
.
url
;
this
.
dialogImageUrl
=
url
;
this
.
$refs
.
elImage
.
clickHandler
();
}
else
{
if
(
file
.
xxzjbh
)
{
fileUrlDetail
({
xxzjbh
:
file
.
xxzjbh
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/pdf"
,
});
const
pdfSrc
=
window
.
URL
.
createObjectURL
(
blob
);
window
.
open
(
pdfSrc
,
"_blank"
);
});
}
else
{
window
.
open
(
file
.
url
,
"_blank"
);
}
}
},
strReplace
(
id
,
str
)
{
if
(
JSON
.
stringify
(
str
)
==
"{}"
)
return
""
;
if
(
id
.
indexOf
(
"#"
)
<
0
)
{
if
(
str
[
id
])
{
let
a
=
str
[
id
].
slice
(
0
,
-
1
).
replace
(
"#"
,
"、"
);
return
a
;
}
else
{
return
""
;
}
}
else
{
let
s
=
""
;
let
ids
=
id
.
split
(
"#"
);
str
[
ids
[
0
]].
split
(
"#"
).
forEach
((
j
,
index
)
=>
{
if
(
j
)
{
s
+=
j
+
`(
${
str
[
ids
[
1
]].
split
(
"#"
)[
index
]}
)、`
;
}
});
return
s
.
slice
(
0
,
-
1
);
}
},
// 当元素滚动条被滚动时运行的脚本
onScroll
()
{
// var box = document.getElementById('box')
// var t = document.documentElement.scrollTop || document.body.scrollTop
// box.style.top = t + 'px'
var
jump
=
document
.
querySelectorAll
(
".step-jump"
);
var
distance
=
document
.
documentElement
.
scrollTop
||
window
.
pageYOffset
||
document
.
body
.
scrollTop
;
jump
.
forEach
((
item
,
index
)
=>
{
if
(
distance
>=
item
.
offsetTop
)
{
this
.
activeStep
=
index
;
}
});
},
closefilePreview
(
e
)
{
// this.filePreview = "";
// this.filePreviewFlag = false;
console
.
log
(
e
.
target
.
nodeName
);
if
(
e
.
target
.
nodeName
!=
"BUTTON"
&&
e
.
target
.
nodeName
!=
"I"
&&
e
.
target
.
nodeName
!=
"SECTION"
)
{
this
.
multiples
=
1
;
this
.
deg
=
0
;
this
.
filePreviewFlag
=
false
;
}
else
{
}
},
toDetail
(
xxzjbh
,
type
)
{
if
(
type
==
"bhr"
)
{
let
routeData
=
this
.
$router
.
resolve
({
path
:
"/ajBhr"
,
query
:
{
xxzjbh
:
xxzjbh
},
});
window
.
open
(
routeData
.
href
,
"_blank"
);
}
else
{
let
routeData
=
this
.
$router
.
resolve
({
path
:
"/ajXyr"
,
query
:
{
xxzjbh
:
xxzjbh
},
});
window
.
open
(
routeData
.
href
,
"_blank"
);
}
},
closePage
()
{
window
.
opener
=
null
;
window
.
open
(
"about:blank"
,
"_top"
).
close
();
},
toggle
()
{
this
.
isSp
=
!
this
.
isSp
;
},
handleClick
(
tab
)
{
if
(
tab
.
name
==
"first"
)
{
this
.
getBar
();
}
else
if
(
tab
.
name
==
"second"
)
{
this
.
getFzxyr
();
}
else
if
(
tab
.
name
==
"third"
)
{
this
.
getBhr
();
}
},
//监听滚动
handleScroll
(
e
)
{},
//导航菜单切换
handleNav
(
index
,
id
)
{
this
.
activeIndex
=
index
;
var
dom
=
document
.
querySelector
(
id
);
$
(
"#asjxq"
).
animate
({
scrollTop
:
dom
.
offsetTop
-
50
},
200
);
},
toSp
(
spsftg
)
{
let
self
=
this
;
this
.
$confirm
(
"确认审批?"
,
"审批"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
self
.
formD
.
spsftg
=
spsftg
;
self
.
$refs
[
"queryForm"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在审批..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
let
spType
;
let
userInfo
=
window
.
sessionStorage
.
getItem
(
"userInfo"
);
if
(
userInfo
)
this
.
userInfoJson
=
JSON
.
parse
(
userInfo
);
if
(
this
.
userInfoJson
)
{
if
(
this
.
userInfoJson
.
grade
==
"S"
)
{
spType
=
"05"
;
}
else
if
(
this
.
userInfoJson
.
grade
==
"D"
)
{
spType
=
"04"
;
}
else
if
(
this
.
userInfoJson
.
grade
==
"B"
)
{
spType
=
"06"
;
}
}
addSp
({
orderXxzjbh
:
this
.
detailObj
.
orderXxzjbh
,
fxDogXxzjbh
:
this
.
$route
.
query
.
xxzjbh
,
glxxzjbhSource
:
"01"
,
spyjJyqk
:
self
.
formD
.
spyjJyqk
,
spsftgPdbz
:
spsftg
,
spType
:
spType
,
}).
then
((
response
)
=>
{
if
(
response
.
success
===
true
)
{
loading
.
close
();
if
(
spsftg
==
"0"
)
{
self
.
$alert
(
"审批退回"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
window
.
location
.
reload
();
window
.
open
(
"about:blank"
,
"_top"
).
close
();
self
.
$router
.
go
(
-
1
);
//返回上一层
},
});
}
else
if
(
spsftg
==
"1"
)
{
self
.
$alert
(
"审批通过"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
window
.
location
.
reload
();
window
.
open
(
"about:blank"
,
"_top"
).
close
();
self
.
$router
.
go
(
-
1
);
//返回上一层
},
});
}
}
else
{
loading
.
close
();
}
});
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"请输入必填项"
,
});
return
false
;
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
,
});
});
},
doQueryRequest
(
form
,
cxUrl
)
{
/*post方法*/
return
Http
({
url
:
url
.
BaseURL
+
cxUrl
,
data
:
JSON
.
parse
(
form
),
method
:
"post"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
});
},
handleSizeChange
()
{},
handleCurrentChange
()
{},
xzlxfz
(
e
)
{
e
.
target
.
parentNode
.
childNodes
.
forEach
((
obj
)
=>
{
obj
.
classList
.
remove
(
"cur"
);
});
e
.
target
.
classList
.
add
(
"cur"
);
},
getBlgcLists
(
orderXxzjbh
,
loading
)
{
let
self
=
this
;
getBlgcLists
({
orderXxzjbh
:
orderXxzjbh
}).
then
((
res
)
=>
{
loading
.
close
();
if
(
res
.
success
)
{
self
.
laspxqtableData2
=
res
.
data
.
rows
.
reverse
();
}
console
.
log
(
22222222
,
res
);
});
},
getDetail
()
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在查询..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
getJobDogDetail
({
xxzjbh
:
this
.
$route
.
query
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
detailObj
=
res
.
data
.
data
;
this
.
getBlgcLists
(
this
.
detailObj
.
orderXxzjbh
,
loading
);
this
.
detailObj
.
tbStDogFile1
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
if
(
e
.
zpnr
)
{
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
}
else
{
e
.
url2
=
require
(
"@/assets/img/excel.png"
);
}
});
this
.
detailObj
.
tbStDogFile2
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
});
}
else
{
loading
.
close
();
}
});
},
/**
* 跳转至现勘编号详情
*/
toXkbh
(
xkid
)
{
// let unitcode = JSON.parse(sessionStorage.userInfo).unitcode;
let
unitcode
=
this
.
$route
.
query
.
asjbh
;
let
dwCode
=
""
;
if
(
unitcode
)
{
// let xckyDetailUrl = "http://10.1.2.43:9080/xcky_pic/page/sceneview/intoSceneview.action?functionType=3&id=" + xkid;
let
xckyDetailUrl
=
"http://xz.xz.ga/xckyxx/dist/index.html#/xckc?XCKYBH="
+
xkid
;
window
.
open
(
xckyDetailUrl
,
"_blank"
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
"登录人单位异常"
,
});
return
;
}
},
barhandleCurrentChange
(
val
)
{
this
.
barForm
.
page
=
val
;
this
.
getBar
();
},
// 报案人信息
getBar
()
{
let
self
=
this
;
self
.
barForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
barForm
),
barURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
===
true
)
{
self
.
barxxtableData2
=
response
.
data
.
data
.
rows
;
self
.
barTotal
=
response
.
data
.
data
.
total
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
fzxyrhandleCurrentChange
(
val
)
{
this
.
fzxyrForm
.
page
=
val
;
this
.
getFzxyr
();
},
getFzxyr
()
{
let
self
=
this
;
self
.
fzxyrtableLoading
=
true
;
self
.
fzxyrForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
fzxyrForm
),
fzxyrURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
self
.
fzxyrtableData2
=
response
.
data
.
data
.
rows
;
self
.
fzxyrTotal
=
response
.
data
.
data
.
total
;
self
.
fzxyrtableLoading
=
false
;
self
.
fzxyrtableData2
.
forEach
((
item
)
=>
{
if
(
item
.
ryzpZjhm
==
""
)
{
let
params
=
new
FormData
();
params
.
append
(
"zjhm"
,
item
.
zhfzxyrCyzjZjhm
);
self
.
doQueryRequests
(
params
,
"/ajDetail/getQgryckzp"
)
.
then
((
res
)
=>
{
item
.
ryzpZjhm
=
res
.
data
.
data
.
ryzpZjhm
;
self
.
$forceUpdate
();
});
}
});
}
else
{
self
.
fzxyrtableLoading
=
false
;
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
bhrhandleCurrentChange
(
val
)
{
this
.
bhrForm
.
page
=
val
;
this
.
getBhr
();
},
getBhr
()
{
let
self
=
this
;
self
.
bhrtableLoading
=
true
;
self
.
bhrForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
bhrForm
),
bhrURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
self
.
bhrtableLoading
=
false
;
self
.
bhrtableData2
=
response
.
data
.
data
.
rows
;
self
.
bhrTotal
=
response
.
data
.
data
.
total
;
self
.
bhrtableData2
.
forEach
((
item
)
=>
{
if
(
item
.
ryzpZjhm
==
""
)
{
let
params
=
new
FormData
();
params
.
append
(
"zjhm"
,
item
.
bhrCyzjZjhm
);
self
.
doQueryRequests
(
params
,
"/ajDetail/getQgryckzp"
)
.
then
((
res
)
=>
{
item
.
ryzpZjhm
=
res
.
data
.
data
.
ryzpZjhm
;
self
.
$forceUpdate
();
});
}
});
}
else
{
self
.
bhrtableLoading
=
false
;
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
doQueryRequests
(
form
,
path
)
{
/*post方法*/
return
Http
({
url
:
url
.
BaseURL
+
path
,
data
:
form
,
method
:
"post"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
"Content-Type"
:
"multipart/form-data"
,
},
});
},
/**
* 数据检查
*/
async
sjjc
()
{
var
self
=
this
;
self
.
dialogVisible
=
true
;
//初始化每个检查项
self
.
checkList
.
forEach
((
groupItem
)
=>
{
groupItem
.
status
=
"wait"
;
groupItem
.
errorShowData
=
""
;
if
(
groupItem
.
children
&&
groupItem
.
children
.
length
>
0
)
{
groupItem
.
children
.
forEach
((
singleItem
)
=>
{
singleItem
.
status
=
"wait"
;
});
}
});
self
.
activeCollapseNames
=
[
"案件基本信息"
];
//检查每个需要检查的数据项
var
readyToCheckList
=
self
.
checkList
.
filter
((
chickItem
)
=>
{
return
chickItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
;
});
self
.
CustomForeach
(
readyToCheckList
,
async
(
e
,
i
)
=>
{
const
queryUrl
=
e
.
checkUrl
;
e
.
currentCheck
=
e
.
checking
;
self
.
dialogTitleContent
=
e
.
checking
;
self
.
activeCollapseNames
.
push
(
e
.
name
);
e
.
children
[
0
].
status
=
"process "
;
//当折叠框展开时再出发滚动事件 所以用settimeout nextTick不行
setTimeout
(()
=>
{
if
(
self
.
$refs
.
sjjcScrollbar
)
{
switch
(
e
.
name
)
{
case
"案件基本信息"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
0
;
break
;
case
"案件法律文书"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
;
break
;
case
"犯罪嫌疑人"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
;
break
;
case
"案件受害人"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar2
[
0
].
$el
.
offsetHeight
;
break
;
case
"嫌疑人法律文书"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar2
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar3
[
0
].
$el
.
offsetHeight
;
break
;
}
}
},
300
);
await
new
Promise
((
resolve
)
=>
{
self
.
doQueryRequest
(
JSON
.
stringify
(
e
.
queryParame
),
queryUrl
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
data
)
{
if
(
response
.
data
.
data
.
result
)
{
self
.
activeCollapseNames
.
splice
(
self
.
activeCollapseNames
.
indexOf
(
e
.
name
),
1
);
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"success"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"success"
;
e
.
currentCheck
=
e
.
checked
;
}
sresolve
(
true
);
},
300
);
});
}
);
// e.children.forEach(singleCheckItem => {
// singleCheckItem.status = "success"
// })
}
else
{
if
(
e
.
name
==
"犯罪嫌疑人"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
xyrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process"
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
if
(
e
.
name
==
"案件受害人"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
bhrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
if
(
e
.
name
==
"嫌疑人法律文书"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
xyrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
{
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
if
(
childrenItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
)
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
if
(
response
.
data
.
data
[
childrenItem
.
id
]
==
"1"
)
{
childrenItem
.
status
=
"success"
;
}
else
{
childrenItem
.
status
=
"error"
;
}
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
}
sresolve
(
true
);
},
300
);
});
}
}
);
// e.children.forEach(singleCheckItem => {
// if (response.data.data[singleCheckItem.id] == "1") {
// singleCheckItem.status = "success"
// } else {
// singleCheckItem.status = "error"
// }
// })
}
}
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
e
.
name
+
"校验异常"
,
});
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
}
setTimeout
(
()
=>
{
resolve
(
response
);
},
300
*
e
.
children
.
filter
((
cItem
)
=>
{
return
cItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
;
}).
length
);
});
});
if
(
i
==
readyToCheckList
.
length
-
1
)
{
if
(
self
.
checkResult
)
{
self
.
dialogTitleContent
=
"检测结果:数据质量合格。"
;
}
else
{
self
.
dialogTitleContent
=
"检测结果:数据质量不合格!"
;
}
}
});
},
// 异步转同步
async
CustomForeach
(
arr
,
callback
)
{
const
length
=
arr
.
length
;
const
O
=
Object
(
arr
);
let
k
=
0
;
while
(
k
<
length
)
{
if
(
k
in
O
)
{
const
kValue
=
O
[
k
];
await
callback
(
kValue
,
k
,
O
);
}
k
++
;
}
},
/**
* 获取立案法律文书列表
*/
getCaseFile
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"la"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"立案法律文书获取异常"
,
});
}
});
},
/**
* 获取侦查终结法律文书列表
*/
getCaseFile2
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"zczj"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList2
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"侦查终结法律文书获取异常"
,
});
}
});
},
/**
* 获取嫌疑人法律文书列表
*/
getCaseFile3
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"xyr"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList3
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"嫌疑人法律文书获取异常"
,
});
}
});
},
// 涉案照片视频
getCaseFile4
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
let
fjurl
=
"/tbstAsjFj/tbstasjfj/queryAsjfjxx"
;
Http
.
post
(
`
${
url
.
BaseURL
}${
fjurl
}
`
,
{
asjbh
:
self
.
laspxqForm
.
asjbh
,
},
{
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
)
.
then
((
res
)
=>
{
if
(
res
.
data
.
success
)
{
self
.
caseFileList4
=
res
.
data
.
data
;
}
})
.
catch
((
err
)
=>
{
console
.
log
(
"查询失败"
);
});
},
downLoadCaseFile
(
fileItem
)
{
debugger
;
var
self
=
this
;
var
index
=
fileItem
.
flwsDzwjbt
.
lastIndexOf
(
"."
);
const
type
=
fileItem
.
flwsDzwjbt
.
substring
(
index
);
if
(
type
==
".pdf"
)
{
Http
.
get
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/getPdfflws`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"Content-Type"
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
binaryData
=
[];
binaryData
.
push
(
res
.
data
);
let
pdfUrl
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
window
.
open
(
pdfUrl
);
});
}
else
if
(
// self.loadingpic = true,
type
==
".jpg"
||
type
==
".jpeg"
||
type
==
".png"
||
type
==
".JPG"
||
type
==
".JPEG"
||
type
==
".PNG"
)
{
var
loadingsJpG
=
self
.
$loading
({
lock
:
true
,
text
:
"正在打开..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
Http
.
post
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/queryFlwsnr`
,
{
xxzjbh
:
fileItem
.
xxzjbh
},
{
headers
:
{
"Content-Type"
:
"application/json"
,
//'Content-Type':'application/json;charset=UTF-8',
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
).
then
((
res
)
=>
{
if
(
res
.
data
.
data
.
flws
&&
res
.
data
.
data
.
flws
.
zp
)
{
loadingsJpG
.
close
();
// self.loadingpic = false,
loadingsJpG
.
close
();
this
.
filePreview
=
`data:image/
${
type
.
substring
(
1
)}
;base64,
${
res
.
data
.
data
.
flws
.
zp
}
`
;
this
.
filePreviewFlag
=
true
;
}
else
{
this
.
$message
.
error
(
"法律文书不存在"
);
loadingsJpG
.
close
();
}
});
console
.
log
(
this
.
filePreview
);
}
else
{
var
urls
=
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/downloadFlws`
;
var
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
fileItem
.
xxzjbh
);
axios
.
post
(
urls
,
params
,
{
responseType
:
"arraybuffer"
,
})
.
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
fileItem
.
flwsDzwjbt
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
}
},
downLoadCaseFile2
(
fileItem
)
{
var
self
=
this
;
var
index
=
fileItem
.
asjfjDzwjbt
.
lastIndexOf
(
"."
);
const
type
=
fileItem
.
asjfjDzwjbt
.
substring
(
index
);
if
(
type
==
".pdf"
)
{
Http
.
get
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/getPdfflws`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"Content-Type"
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
binaryData
=
[];
binaryData
.
push
(
res
.
data
);
let
pdfUrl
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
window
.
open
(
pdfUrl
);
});
}
else
if
(
type
==
".jpg"
||
type
==
".jpeg"
||
type
==
".png"
||
type
==
".JPG"
||
type
==
".JPEG"
||
type
==
".PNG"
)
{
var
loadingsJpG
=
self
.
$loading
({
lock
:
true
,
text
:
"正在打开..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
Http
.
post
(
`
${
url
.
BaseURL
}
/tbstAsjFj/tbstasjfj/queryAsjfjnr`
,
{
xxzjbh
:
fileItem
.
xxzjbh
},
{
headers
:
{
"Content-Type"
:
"application/json"
,
//'Content-Type':'application/json;charset=UTF-8',
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
).
then
((
res
)
=>
{
if
(
res
.
data
.
data
.
asjfjDzwjnr
)
{
this
.
filePreviewFlag
=
true
;
loadingsJpG
.
close
();
this
.
filePreview
=
`data:image/
${
type
.
substring
(
1
)}
;base64,
${
res
.
data
.
data
.
asjfjDzwjnr
}
`
;
}
else
{
this
.
$message
.
error
(
"法律文书不存在"
);
loadingsJpG
.
close
();
}
});
}
else
{
// var urls = `${url.BaseURL}/tbstAsjFj/tbstasjfj/downloadAsjfj`
// var params = new FormData()
// params.append('xxzjbh', fileItem.xxzjbh)
// axios
// .post(urls, params, {
// responseType: 'arraybuffer'
// })
// .then((res) => {
// let blob = new Blob([res.data], {
// type: 'video/mp4'
// })
// // 组装a标签
// let elink = document.createElement('a')
// // 设置下载文件名
// elink.download = fileItem.asjfjDzwjbt
// elink.style.display = 'none'
// elink.href = URL.createObjectURL(blob)
// document.body.appendChild(elink)
// elink.click()
// document.body.removeChild(elink)
// })
Http
.
get
(
`
${
url
.
BaseURL
}
/tbstAsjFj/tbstasjfj/downloadAsjfj`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
)
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
blobUrl
=
window
.
URL
.
createObjectURL
(
res
.
data
);
let
link
=
document
.
createElement
(
"a"
);
document
.
body
.
appendChild
(
link
);
link
.
style
.
display
=
"none"
;
link
.
href
=
blobUrl
;
// 设置a标签的下载属性,设置文件名及格式,后缀名最好让后端在数据格式中返回
link
.
download
=
fileItem
.
asjfjDzwjbt
;
// 自触发click事件
link
.
click
();
document
.
body
.
removeChild
(
link
);
window
.
URL
.
revokeObjectURL
(
blobUrl
);
});
}
},
/**
* 获取文件请求
*/
getGileRequest
(
form
,
relurl
)
{
/*post方法*/
var
currentUrl
=
relurl
?
relurl
:
this
.
cxUrl
;
return
Http
({
url
:
url
.
BaseURL
+
currentUrl
,
data
:
JSON
.
parse
(
form
),
method
:
"post"
,
responseType
:
"blob"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
});
},
toBIgChange
(
msg
)
{
this
.
filePreviewFlag
=
true
;
if
(
msg
==
"left"
)
{
this
.
deg
-=
90
;
if
(
this
.
deg
<=
-
360
)
{
this
.
deg
=
0
;
}
}
else
if
(
msg
==
"min"
)
{
if
(
this
.
multiples
<=
0.5
)
{
return
;
}
this
.
multiples
-=
0.25
;
}
else
if
(
msg
==
"max"
)
{
if
(
this
.
multiples
>=
3
)
{
return
;
}
this
.
multiples
+=
0.25
;
}
else
if
(
msg
==
"all"
)
{
(
this
.
multiples
=
1
),
(
this
.
deg
=
0
);
}
else
if
(
msg
==
"right"
)
{
this
.
deg
+=
90
;
if
(
this
.
deg
>=
360
)
{
this
.
deg
=
0
;
}
}
},
},
created
()
{
let
self
=
this
;
self
.
spsj
=
new
Date
().
toLocaleString
();
self
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
spType
=
self
.
$route
.
query
.
spType
;
self
.
getDetail
();
},
};
</
script
>
<
style
lang=
"scss"
>
#asjxq
{
.dt_menu
{
.el-steps--vertical
{
cursor
:
pointer
;
}
.el-step__icon.is-text
{
border
:
none
;
}
.el-step__icon-inner
{
width
:
6px
;
height
:
6px
;
background
:
#dddddd
;
color
:
transparent
;
border-radius
:
50%
;
}
.el-step__line
{
background-color
:
#eaeaea
;
}
.el-step__icon
{
height
:
16px
;
}
.el-step__head
{
top
:
4px
;
}
}
}
</
style
>
<
style
scoped
lang=
"scss"
>
@import
"~@/assets/spStyle/bootstrap-new.min.css"
;
@import
"~@/assets/spStyle/font-awesome.min.css"
;
@import
"~@/assets/spStyle/style.css"
;
@import
"~@/assets/spStyle/autoCheck.css"
;
@import
"~@/assets/styles/asjDetail.scss"
;
/
deep
/
.el-upload-list__item
{
overflow
:
unset
!important
;
}
/
deep
/
.el-upload__input
{
display
:
none
!important
;
}
/
deep
/
.el-upload--picture-card
{
display
:
none
!important
;
}
.photoList
{
>
p
{
position
:
absolute
;
width
:
100%
;
bottom
:
-30px
;
font-size
:
13px
;
text-align
:
center
;
color
:
#222222
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-wrap
:
normal
;
white-space
:
nowrap
;
}
}
.activeColor
{
color
:
#3670ff
;
font-size
:
13px
;
}
.activeColor1
{
color
:
#555555
;
font-size
:
13px
;
}
.prive_picture
{
z-index
:
999
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
width
:
100%
;
height
:
100%
;
position
:
fixed
;
top
:
0
;
left
:
0
;
.picture
{
width
:
500px
;
height
:
600px
;
margin-left
:
-250px
;
left
:
50%
;
top
:
10%
;
//
transform
:
translateX
(
-50%
);
transform
:
translateY
(
-50%
);
}
.prive_btn
{
z-index
:
100
;
display
:
flex
;
width
:
500px
;
justify-content
:
space-around
;
//
justify-content
position
:
relative
;
transform
:
translateY
(
-50%
);
left
:
40%
;
top
:
15%
;
}
.btn
{
position
:
absolute
;
z-index
:
101
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
50%
;
opacity
:
0.8
;
cursor
:
pointer
;
box-sizing
:
border-box
;
user-select
:
none
;
left
:
50%
;
bottom
:
30px
;
transform
:
translateX
(
-50%
);
width
:
282px
;
height
:
44px
;
padding
:
0
23px
;
background-color
:
#606266
;
border-color
:
#fff
;
border-radius
:
22px
;
}
.btnchild
{
width
:
100%
;
height
:
100%
;
text-align
:
justify
;
cursor
:
default
;
font-size
:
23px
;
color
:
#fff
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-around
;
}
}
//
数据质量检测弹框
/
deep
/
.dataCheckDialogClass
{
//弹框头部关闭按钮
.el-dialog__header
{
height
:
80px
;
color
:
#fff
;
background
:
url("~@/assets/img/bg.jpg")
;
.headerContend
{
height
:
100%
;
align-items
:
center
;
display
:
flex
;
position
:
relative
;
line-height
:
82px
;
text-align
:
left
;
.text-ing
{
display
:
inline-block
;
margin-left
:
2px
;
width
:
390px
;
}
.btn-group
{
position
:
relative
;
}
}
.el-dialog__headerbtn
{
top
:
12px
!important
;
width
:
18px
;
height
:
21px
;
border
:
1px
solid
#1899ca
;
background
:
gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#65a9d7
),
to
(
#3e779d
)
);
box-shadow
:
#000
0
1px
0
;
border-top
:
1px
solid
#96d1f8
;
border-radius
:
4px
;
.el-dialog__close
{
color
:
#fff
!important
;
}
}
}
//
滚动条
.el-scrollbar
{
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
//
折叠框
.el-collapse
{
//折叠框标题
.collapseRowTag
{
background
:
#ffb122
;
border-radius
:
10px
;
width
:
22px
;
height
:
22px
;
color
:
#fff
;
display
:
block
;
float
:
left
;
margin-right
:
8px
;
text-align
:
center
;
font-size
:
14px
;
line-height
:
22px
;
}
//
折叠框内容
.el-collapse-item__content
{
.el-collapse-item__arrow
{
transform
:
rotate
(
90deg
);
}
.el-collapse-item__arrow.is-active
{
transform
:
rotate
(
-90deg
);
}
//
步骤条
.el-steps
{
flex-wrap
:
wrap
;
.el-step__line
{
opacity
:
0.2
;
}
.el-step
{
padding-bottom
:
50px
;
//等待状态的步骤样式
.el-step__head.
is-wait
:
after
{
content
:
"等待扫描"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
width
:
100px
;
height
:
25px
;
}
//
执行中状态的步骤样式
.el-step__head.is-process
{
color
:
#449dff
;
border-color
:
#449dff
;
}
.el-step__head.is-process
:before
{
content
:
""
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
10000
;
width
:
16px
;
height
:
44px
;
background
:
url("~@/assets/img/scan.png")
;
animation
:
rotate
1.5s
linear
infinite
;
}
.el-step__head.is-process
:after
{
content
:
"正在扫描"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
width
:
100px
;
height
:
25px
;
}
.el-step__main
{
.el-step__title.is-process
{
color
:
#449dff
;
}
}
//
结束
/
成功状态的步骤样式
.el-step__head.is-finish
{
color
:
#67c23a
;
border-color
:
#67c23a
;
}
.el-step__head.is-success
:after
{
content
:
"合格"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
background
:
#67c23a
;
color
:
#fff
;
border-radius
:
12px
;
text-align
:
center
;
width
:
70px
;
height
:
25px
;
}
.el-step__main
{
.el-step__title.is-finish
{
color
:
#67c23a
;
}
}
//
结束
/
成功状态的步骤样式
.el-step__head.is-error
:after
{
content
:
"缺失"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
background
:
#ff754f
;
color
:
#fff
;
border-radius
:
12px
;
text-align
:
center
;
width
:
70px
;
height
:
25px
;
}
}
}
}
}
}
}
</
style
>
src/views/jobDogManage/index.vue
View file @
5b01288b
...
...
@@ -15,11 +15,11 @@
placeholder=
"请输入芯片号"
></el-input>
</el-form-item>
<el-form-item
label=
"
警犬名称
"
class=
"elItemClass"
>
<el-form-item
label=
"
犬名
"
class=
"elItemClass"
>
<el-input
v-model=
"formData.name"
:clearable=
"true"
placeholder=
"请输入
警犬名称
"
placeholder=
"请输入
犬名
"
></el-input>
</el-form-item>
<el-form-item
label=
"归属单位"
class=
"elItemClass"
>
...
...
@@ -29,12 +29,12 @@
:currentItem=
"unitInfo"
/>
</el-form-item>
<el-form-item
label=
"
考核
日期"
class=
"elItemClass elDateClass"
>
<el-form-item
label=
"
申请评定
日期"
class=
"elItemClass elDateClass"
>
<el-date-picker
v-model=
"formData.pxrq"
type=
"date"
value-format=
"yyyy-MM-dd"
placeholder=
"请选择
考核
日期"
placeholder=
"请选择
申请评定
日期"
>
</el-date-picker>
</el-form-item>
...
...
@@ -101,7 +101,8 @@
plain
class=
"btnStylePub btnStyle1"
@
click=
"addData"
>
新增
</el-button>
>
新增
</el-button
>
<!--
<el-button
size=
"small"
icon=
"el-icon-plus"
...
...
@@ -151,6 +152,13 @@
v-if=
"scope.row.spstatus != '01' && scope.row.spstatus != '02'"
>
删除
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"xqData(scope.row)"
v-if=
"scope.row.spstatus == '02'"
>
详情
</el-button>
</div>
</
template
>
</el-table-column>
...
...
@@ -189,9 +197,11 @@
<span
v-else-if=
"item.prop === 'checkStaff'"
>
{{
scope
.
row
.
checkStaff
}}
</span>
<span
v-else-if=
"item.prop === 'trainSubjectForName'"
>
{{
scope
.
row
.
trainSubjectForName
}}
</span>
<span
v-else-if=
"item.prop === 'trainSubjectForName'"
>
{{
scope
.
row
.
trainSubjectForName
}}
(
{{
scope
.
row
.
trainSubjectGrade
}}
)
</span
>
<span
v-else-if=
"item.prop === 'remark'"
>
{{
scope
.
row
.
remark
}}
</span>
...
...
@@ -307,6 +317,14 @@ export default {
this
.
getLists
(
this
.
currentPage
);
},
methods
:
{
xqData
(
row
)
{
this
.
$router
.
push
({
name
:
"jobDogManagexq"
,
query
:
{
xxzjbh
:
row
.
xxzjbh
,
},
});
},
setAlign
(
val
)
{
let
rightArr
=
[
"trainCountForName"
];
if
(
rightArr
.
includes
(
val
))
{
...
...
src/views/jobDogRefreshment/index.vue
View file @
5b01288b
...
...
@@ -10,11 +10,11 @@
placeholder=
"请输入芯片号"
></el-input>
</el-form-item>
<el-form-item
label=
"
警犬名称
"
class=
"elItemClass"
>
<el-form-item
label=
"
犬名
"
class=
"elItemClass"
>
<el-input
v-model=
"formData.name"
:clearable=
"true"
placeholder=
"请输入
警犬名称
"
placeholder=
"请输入
犬名
"
></el-input>
</el-form-item>
<el-form-item
label=
"归属单位"
class=
"elItemClass"
>
...
...
@@ -163,9 +163,11 @@
<span
v-else-if=
"item.prop === 'checkStaff'"
>
{{
scope
.
row
.
checkStaff
}}
</span>
<span
v-else-if=
"item.prop === 'trainSubjectForName'"
>
{{
scope
.
row
.
trainSubjectForName
}}
</span>
<span
v-else-if=
"item.prop === 'trainSubjectForName'"
>
{{
scope
.
row
.
trainSubjectForName
}}
(
{{
scope
.
row
.
trainSubjectGrade
}}
)
</span
>
<span
v-else-if=
"item.prop === 'remark'"
>
{{
scope
.
row
.
remark
}}
</span>
...
...
@@ -201,14 +203,14 @@
<
script
>
import
{
dogSpQuery
,
export
JobDogUrl
,
export
Sp
,
deleteJobDog
,
}
from
"@/api/menuDataApi/jobDogManageApi.js"
;
import
{
getJsonDataApi
}
from
"@/utils/getJsonData.js"
;
import
{
getCodeName
,
handleDownFile
,
getColumns
}
from
"@/utils/mk.js"
;
import
{
getGzqfxglAllColumns
,
getGzqfxglDefaultColumns
,
getGzqfxglAllColumns
Sh
,
getGzqfxglDefaultColumns
Sh
,
}
from
"@/utils/tableHeaderParams.js"
;
import
LazySelectTreeDialog
from
"@c/lazy_treeCode_components.vue"
;
...
...
@@ -257,8 +259,8 @@ export default {
showHeaderSettingBox
:
false
,
headerSettInfo
:
{
menuId
:
"gzqfxManagesp"
,
allColumns
:
getGzqfxglAllColumns
(),
defaultColumns
:
getGzqfxglDefaultColumns
(),
allColumns
:
getGzqfxglAllColumns
Sh
(),
defaultColumns
:
getGzqfxglDefaultColumns
Sh
(),
},
colPropArr
:
[],
};
...
...
@@ -426,7 +428,7 @@ export default {
};
axios
.
post
(
export
JobDogUrl
,
JSON
.
stringify
(
params
),
{
.
post
(
export
Sp
,
JSON
.
stringify
(
params
),
{
headers
:
{
"Content-Type"
:
"application/json"
},
responseType
:
"blob"
,
})
...
...
src/views/poDogInfoManage/index.vue
View file @
5b01288b
...
...
@@ -92,6 +92,13 @@
>
<el-button
size=
"small"
icon=
"el-icon-download"
class=
"btnStylePub btnStyle2"
@
click=
"importData"
>
批量导入
</el-button
>
<el-button
size=
"small"
icon=
"el-icon-upload2"
style=
"margin-right: 0 !important"
type=
"primary"
...
...
@@ -162,6 +169,14 @@
</el-pagination>
</div>
</div>
<!-- 批量导入 -->
<importFilePublic
v-if=
"showImportBox"
:importInfo=
"importInfo"
@
close=
"showImportBox = false"
@
refreshLists=
"getLists(1)"
>
</importFilePublic>
<!-- 表头配置 -->
<headerSettings
v-if=
"showHeaderSettingBox"
...
...
@@ -180,6 +195,7 @@ import {
}
from
"@/api/menuDataApi/poDogInfoManageApi.js"
;
import
{
getJsonDataApi
}
from
"@/utils/getJsonData.js"
;
import
{
getCodeName
,
handleDownFile
,
getColumns
}
from
"@/utils/mk.js"
;
import
importFilePublic
from
"@c/importFilePublic.vue"
;
import
{
getJyzqAllColumns
,
getJyzqDefaultColumns
,
...
...
@@ -192,10 +208,12 @@ export default {
name
:
"jobDogManage"
,
components
:
{
LazySelectTreeDialog
,
importFilePublic
,
headerSettings
,
},
data
()
{
return
{
showImportBox
:
false
,
formData
:
{
chipCode
:
""
,
dna
:
""
,
...
...
@@ -223,7 +241,11 @@ export default {
codeTree
:
"CODE_QGUNIT"
,
codeOptions
:
[],
},
importInfo
:
{
fileCName
:
"种犬批量导入模板.xlsx"
,
fileLocalUrl
:
"files/zygzqdrmb.xlsx"
,
apiName
:
"importZqDogJobApi"
,
},
gzqdjOptions
:
[],
trainCountOption
:
[],
zyfxOptions
:
[],
...
...
@@ -255,6 +277,9 @@ export default {
this
.
getLists
(
1
);
},
methods
:
{
importData
()
{
this
.
showImportBox
=
true
;
},
setAlign
(
val
)
{
let
rightArr
=
[
"trainCountForName"
];
if
(
rightArr
.
includes
(
val
))
{
...
...
src/views/poDogJobManage/index.vue
View file @
5b01288b
...
...
@@ -336,7 +336,7 @@ export default {
showImportBox
:
false
,
importInfo
:
{
fileCName
:
"
警用工作犬导入模版
.xlsx"
,
fileCName
:
"
工作犬批量导入模板
.xlsx"
,
fileLocalUrl
:
"files/jygzqdrmb.xlsx"
,
apiName
:
"importPoDogJobApi"
,
},
...
...
src/views/poDogRetireManage/index.vue
View file @
5b01288b
...
...
@@ -142,6 +142,13 @@
v-if=
"scope.row.spstatus != '01' && scope.row.spstatus != '02'"
>
删除
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"xqData(scope.row)"
v-if=
"scope.row.spstatus == '02'"
>
详情
</el-button>
</div>
</
template
>
</el-table-column>
...
...
@@ -298,6 +305,14 @@ export default {
this
.
getLists
(
this
.
currentPage
);
},
methods
:
{
xqData
(
row
)
{
this
.
$router
.
push
({
name
:
"jobDogManagetyXq"
,
query
:
{
xxzjbh
:
row
.
xxzjbh
,
},
});
},
setAlign
(
val
)
{
let
rightArr
=
[
"trainCountForName"
];
if
(
rightArr
.
includes
(
val
))
{
...
...
src/views/tyshManage/components/jobDogManagetySp.vue
0 → 100644
View file @
5b01288b
<
template
>
<div
id=
"asjxq"
>
<div
class=
"content-wrap"
id=
"scroolwrap"
@
scroll=
"handleScroll($event)"
>
<div
class=
"dt_menu"
>
<el-steps
direction=
"vertical"
finish-status=
"wait"
space=
"100px"
:active=
"activeIndex"
>
<el-step
v-for=
"(item, index) in menuList"
:key=
"item.id"
finish-status=
"wait"
@
click
.
native=
"handleNav(index, item.id)"
>
<span
slot=
"icon"
v-if=
"index == activeIndex"
>
<img
src=
"@/assets/img/jt.png"
alt=
""
/>
</span>
<span
slot=
"title"
:class=
"index == activeIndex ? 'activeColor' : 'activeColor1'"
>
{{
item
.
title
}}
</span>
</el-step>
</el-steps>
</div>
<div
class=
"wrap-shadow"
style=
"position: relative"
:id=
"item2.id"
v-for=
"item2 in asjxx"
:key=
"item2.moduleName"
>
<div
class=
"title"
>
<img
src=
"@/assets/img/ajdetail5.png"
style=
"margin: 0 12px"
/>
{{
item2
.
moduleName
}}
</div>
<div
class=
"line"
v-show=
"isSp"
>
<div
class=
"list-item"
>
<div
v-for=
"(item, index) in item2.data"
:key=
"index"
:class=
"'list line' + item.col"
>
<span
class=
"zd-name"
v-if=
"item.title"
v-html=
"item.title + ':'"
></span>
<span
class=
"zd-value"
v-if=
"
item.id == 'workingDogClassificationIdStr#score' ||
item.id == 'trainSubjectStr#trainSubjectGrade'
"
v-html=
"strReplace(item.id, detailObj)"
></span>
<el-upload
v-else-if=
"
item.id == 'tbStDogFile1' ||
item.id == 'tbStDogFile2' ||
item.id == 'tbStDogFile3'
"
disabled
action=
"#"
list-type=
"picture-card"
multiple
:file-list=
"detailObj[item.id]"
:auto-upload=
"false"
>
<i
slot=
"default"
class=
"el-icon-plus"
></i>
<div
slot=
"file"
slot-scope=
"
{ file }">
<div
class=
"photoList"
>
<p
:title=
"file.name"
>
{{
file
.
name
}}
</p>
<img
width=
"146px"
height=
"146px"
:src=
"file.url2"
alt=
""
/>
<span
class=
"el-upload-list__item-actions"
>
<span
v-if=
"
file.name.indexOf('png') >= 0 ||
file.name.indexOf('jpg') >= 0 ||
file.name.indexOf('jpeg') >= 0 ||
file.name.indexOf('pdf') >= 0
"
class=
"el-upload-list__item-preview"
@
click=
"handlePictureCardPreview(file)"
>
<i
class=
"el-icon-zoom-in"
></i>
</span>
<span
v-if=
"!disabled"
class=
"el-upload-list__item-delete"
@
click=
"handleDownload(file)"
>
<i
class=
"el-icon-download"
></i>
</span>
</span>
</div>
</div>
</el-upload>
<el-table
v-else-if=
"item.id == 'pdls'"
:data=
"detailObj.refreshmentHistorys"
style=
"width: 100%"
>
<el-table-column
width=
"120px"
align=
"center"
prop=
"checkStaff"
label=
"主考人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"trainSubjectForName"
label=
"评定科目"
>
<template
slot-scope=
"scope"
>
<p>
{{
strReplace
(
"trainSubjectStr#trainSubjectGrade"
,
scope
.
row
)
}}
</p>
</
template
>
</el-table-column>
<el-table-column
width=
"120px"
align=
"center"
prop=
"pdtraininglevelidStr"
label=
"申请评定等级"
></el-table-column>
<el-table-column
align=
"center"
prop=
"checkDate"
label=
"申请评定日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"checkUnitName"
label=
"评定单位"
></el-table-column>
<el-table-column
align=
"center"
prop=
"workdogtraininglevelid"
label=
"工作犬等级"
></el-table-column>
<el-table-column
align=
"center"
prop=
"workdogpdrq"
label=
"工作犬评定日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"trainResult"
label=
"评定结果"
></el-table-column>
</el-table>
<span
class=
"zd-value"
v-else
v-html=
"detailObj[item.id]"
></span>
</div>
</div>
</div>
</div>
<div
class=
"wrap-shadow"
style=
"padding-right: 0px"
id=
"ajspgc"
>
<div
class=
"title"
>
<img
src=
"@/assets/img/ajdetail6.png"
style=
"margin: 0 12px"
/>
<span>
审批过程
</span>
</div>
<div
class=
"timeLine_wrap"
style=
"flex-wrap: wrap"
>
<div
class=
"itemLine"
v-for=
"(item, index) in laspxqtableData2"
:key=
"index"
>
<div
class=
"time"
>
{{ item.spsj }}
</div>
<div
class=
"line"
>
<div
class=
"quan"
></div>
<div
class=
"xian"
></div>
</div>
<div
class=
"timeTitle"
>
{{ item.spStr }}
</div>
<div
class=
"person"
>
<p>
{{ item.sprXm + " | " + item.sprLxdh }}
</p>
<p>
{{ item.spdwGajgmc }}
</p>
</div>
<div
class=
"time_content"
>
{{ item.spyjJyqk }}
</div>
</div>
</div>
</div>
<div
class=
"wrap-shadow"
id=
"yhxx"
style=
"padding-top: 10px"
>
<el-form
label-position=
"right"
label-width=
"140px"
ref=
"queryForm"
:model=
"formD"
:rules=
"yhxxRules"
>
<div
class=
"zdyLine"
>
<el-form-item
:label=
"item.name"
v-for=
"item in propQueryField"
:key=
"item.id"
:prop=
"item.id"
v-show=
"!item.hidden"
:class=
"'demo-input-suffix zdycol' + item.col"
>
<!--<div class="zdName">{{item.name}}:</div>-->
<!--输入框-->
<el-input
clearable
:placeholder=
"item.placeholder"
v-model=
"formD[item.id]"
v-if=
"item.type == 'text' && item.id != 'spsj'"
:disabled=
"item.disabled"
>
</el-input>
<el-input
clearable
:placeholder=
"item.placeholder"
v-model=
"spsj"
v-else-if=
"item.type == 'text' && item.id == 'spsj'"
:disabled=
"item.disabled"
>
</el-input>
<!--文本域-->
<el-input
type=
"textarea"
autosize
resize=
"none"
:rows=
"3"
style=
"height: 60px !important"
:placeholder=
"item.placeholder"
v-model=
"formD[item.id]"
v-else-if=
"item.type == 'textarea'"
>
</el-input>
</el-form-item>
</div>
</el-form>
</div>
<div
class=
"bottomBtn"
id=
"spbtn"
style=
"display: flex; justify-content: center; padding: 20px 0"
>
<el-button
type=
"primary"
style=
"margin-right: 20px"
@
click=
"toSp('1')"
>
审批通过
</el-button>
<el-button
type=
"danger"
@
click=
"toSp('0')"
>
审批退回
</el-button>
</div>
<!--数据检测-->
<el-dialog
:visible
.
sync=
"dialogVisible"
:append-to-body=
"false"
:close-on-click-modal=
"false"
custom-class=
"dataCheckDialogClass"
width=
"900px"
>
<div
slot=
"title"
class=
"headerContend"
>
<div
class=
"text-ing"
>
<p
class=
"zzjc"
>
{{ dialogTitleContent }}
</p>
</div>
<div
class=
"btn-group"
>
<button
type=
"button"
class=
"toggle-timer"
name=
"toggle-timer"
@
click=
"sjjc"
style=
""
>
重新检测
</button>
<button
type=
"button"
class=
"finish"
name=
"finish"
style=
""
@
click=
"dialogVisible = !dialogVisible"
>
完成
</button>
</div>
</div>
<div
style=
"height: 490px; padding: 0px 15px"
>
<el-scrollbar
ref=
"sjjcScrollbar"
style=
"height: 100%"
>
<el-collapse
v-model=
"activeCollapseNames"
>
<div
v-for=
"(collItem, collIndex) in checkList.filter(
(chickItem) => {
return chickItem.type.indexOf(spType) >= 0;
}
)"
:key=
"collItem.name"
>
<el-collapse-item
v-if=
"collItem.type.indexOf(spType) >= 0"
:ref=
"'sjjcScrollbar' + collIndex"
:name=
"collItem.name"
>
<
template
slot=
"title"
>
<span
class=
"collapseRowTag"
>
{{
collIndex
+
1
}}
</span
>
{{
collItem
.
currentCheck
}}
<div
style=
"flex: 10; justify-content: flex-end; display: flex"
v-if=
"collItem.status != 'wait'"
>
<span
style=
"color: #fff; border-radius: 12px"
:style=
"
{
marginRight: '20px',
background:
collItem.status == 'success'
? '#67c23a'
: '#ff754f',
height: '24px',
lineHeight: '24px',
textAlign: 'center',
width: '50px',
}"
>
{{
collItem
.
status
==
"success"
?
"合格"
:
"缺失"
}}
</span
>
</div>
</
template
>
<div
style=
"width: 100%; padding: 10px 10px 10px 50px"
>
<el-steps
:active=
"1"
:space=
"
collItem.children.length > 2
? collItem.children.length > 6
? '20%'
: ''
: '20%'
"
>
<div
v-for=
"(stepItem, stepIndex) in collItem.children"
:key=
"stepIndex"
>
<el-step
v-if=
"stepItem.type.indexOf(spType) >= 0"
:title=
"stepItem.name"
:status=
"stepItem.status"
:icon=
"stepItem.icon"
style=
"min-width: 110px"
></el-step>
<div
v-if=
"collItem.errorShowData"
style=
"
width: 0px;
height: 0px;
display: inline-block;
background: red;
position: relative;
"
>
<div
style=
"
position: absolute;
top: -60px;
left: 20px;
width: 600px;
max-height: 140px;
overflow-y: auto;
"
v-html=
"collItem.errorShowData"
></div>
</div>
</div>
</el-steps>
</div>
</el-collapse-item>
</div>
</el-collapse>
</el-scrollbar>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
</span>
</el-dialog>
</div>
<div
class=
"prive_picture"
v-if=
"filePreviewFlag"
@
click=
"closefilePreview"
v-loading=
"loadingpic"
>
<el-image
class=
"picture"
:src=
"filePreview"
:style=
"{
transform: 'rotate(' + deg + 'deg)' + 'scale(' + multiples + ')',
}"
>
</el-image>
<section
class=
"btn"
>
<section
class=
"btnchild"
>
<i
class=
"el-icon-zoom-out"
@
click=
"toBIgChange('min')"
></i>
<i
class=
"el-icon-zoom-in"
@
click=
"toBIgChange('max')"
></i>
<i
class=
"el-image-viewer__actions__divider"
></i>
<i
class=
"el-icon-c-scale-to-original"
@
click=
"toBIgChange('all')"
></i>
<i
class=
"el-image-viewer__actions__divider"
></i>
<i
class=
"el-icon-refresh-left"
@
click=
"toBIgChange('left')"
></i>
<i
class=
"el-icon-refresh-right"
@
click=
"toBIgChange('right')"
></i>
</section>
</section>
</div>
<el-image
style=
"width: 0px; height: 0px; position: absolute"
src=
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
:preview-src-list=
"[dialogImageUrl]"
ref=
"elImage"
>
</el-image>
</div>
</template>
<
script
>
import
Http
from
"@/utils/axiosHttp.js"
;
import
url
from
"@/api/base"
;
/*案件详情*/
import
{
ajxqHeader
,
ajxqHeaderIcon
,
ajxqURL
,
lazczjspURL
,
lazczjspForm
,
ajjbxxForm
,
ajjbxxURL
,
barForm
,
barURL
,
fzxyrForm
,
fzxyrURL
,
bhrForm
,
bhrURL
,
/*立案审批详情*/
laspxqForm
,
laspxqURL
,
flwsListURL
,
/*侦查终结审批详情*/
zczjspxqForm
,
}
from
"@/utils/params2"
;
import
{
extractJobDog
,
addJobDog
,
editJobDog
,
dogDetail
,
getBlgcLists
,
addSp
,
}
from
"@/api/menuDataApi/jobDogManageApi.js"
;
import
{
fileUrlDetail
,
deleteFileByXxzjbh
,
}
from
"@/api/menuDataApi/poDogInfoManageApi.js"
;
import
$
from
"jquery"
;
import
guide
from
"@/utils/guide"
;
export
default
{
name
:
"index"
,
data
()
{
return
{
tableData
:
[],
dialogImageUrl
:
""
,
disabled
:
false
,
detailObj
:
{},
deg
:
0
,
multiples
:
1
,
loadingpic
:
false
,
fzxyrtableLoading
:
false
,
bhrtableLoading
:
false
,
activeStep
:
0
,
isSp
:
true
,
filePreviewFlag
:
false
,
filePreview
:
""
,
menuList
:
[
{
title
:
"工作犬基本信息"
,
id
:
"#jbxx"
},
{
title
:
"工作犬等级信息"
,
id
:
"#djxx"
},
{
title
:
"带犬人员信息"
,
id
:
"#ryxx"
},
{
title
:
"退役补充采集"
,
id
:
"#tybccj"
},
{
title
:
"审批过程"
,
id
:
"#ajspgc"
},
],
leftMenuActiveIndex
:
"0"
,
laspxqFormPage
:
1
,
laspxqFormRows
:
5
,
zczjspxqFormPage
:
1
,
zczjspxqFormRows
:
5
,
laspxqtableData2
:
[],
caseFileList
:
[],
caseFileList2
:
[],
caseFileList3
:
[],
caseFileList4
:
[],
laspxqTotal
:
0
,
zczjspxqtableData2
:
[
{
asjbh
:
"2016-05-02"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
asjbh
:
"2016-05-04"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1517 弄"
,
},
],
zczjspxqTotal
:
0
,
barTotal
:
0
,
barxxtableData2
:
[],
//报案人信息
fzxyrForm
:
fzxyrForm
,
fzxyrtableData2
:
[],
fzxyrTotal
:
0
,
formD
:
lazczjspForm
,
ajxxFrom
:
ajjbxxForm
,
barForm
:
barForm
,
/*被害人*/
bhrForm
:
bhrForm
,
bhrtableData2
:
[],
bhrTotal
:
0
,
/*立案侦查终结详情*/
laspxqForm
:
laspxqForm
,
zczjspxqForm
:
zczjspxqForm
,
asjbh
:
""
,
spType
:
""
,
yhxxRules
:
{
spyjJyqk
:
{
required
:
true
,
message
:
"请输入审批意见"
,
trigger
:
"blur"
,
},
},
spsj
:
""
,
propQueryField
:
[
{
name
:
"公安机关机构代码"
,
id
:
"unitcode"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
disabled
:
true
,
col
:
"3"
,
},
{
name
:
"公安机关名称"
,
id
:
"unitname"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
disabled
:
true
,
col
:
"3"
,
},
{
name
:
"姓名"
,
id
:
"trueName"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
disabled
:
true
,
col
:
"3"
,
},
{
name
:
"审批时间"
,
id
:
"spsj"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
disabled
:
true
,
col
:
"3"
,
},
{
name
:
"联系电话"
,
id
:
"telephone"
,
type
:
"text"
,
value
:
""
,
placeholder
:
""
,
disabled
:
true
,
col
:
"3"
,
},
{
name
:
"审批意见"
,
id
:
"spyjJyqk"
,
type
:
"textarea"
,
value
:
""
,
placeholder
:
""
,
col
:
"1"
,
},
],
isbhdw
:
false
,
isaqfx
:
false
,
iszcrz
:
false
,
issswp
:
false
,
iszasygj
:
false
,
iszcxs
:
false
,
iskywp
:
false
,
isjjxx
:
false
,
current
:
0
,
headerTitle
:
ajxqHeader
,
headerIcon
:
ajxqHeaderIcon
,
Zjasjxx
:
[
{
title
:
"自检人姓名"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrXm"
},
{
title
:
"自检人证联系电话"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrLxdh"
,
},
{
title
:
"自检人单位代码"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrDwdmStr"
,
},
{
title
:
"自检时间"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjsj"
},
{
title
:
"自检结果 "
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjjgStr"
},
{
title
:
"备注"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjxxbc"
},
],
asjxx
:
[
{
id
:
"jbxx"
,
moduleName
:
"工作犬基本信息"
,
data
:
[
{
title
:
"犬名"
,
col
:
"3"
,
id
:
"name"
},
{
title
:
"芯片号"
,
col
:
"3"
,
id
:
"chipCode"
},
{
title
:
"性别"
,
col
:
"3"
,
id
:
"gender"
},
{
title
:
"出生日期"
,
col
:
"3"
,
id
:
"birthDate"
},
{
title
:
"品种"
,
id
:
"speciesId"
,
col
:
"3"
,
},
{
title
:
"犬只来源"
,
col
:
"3"
,
id
:
"dogSource"
,
},
{
title
:
"DNA编号"
,
col
:
"3"
,
id
:
"dna"
,
},
{
title
:
"警犬照片"
,
col
:
"6"
,
id
:
"tbStDogFile2"
,
},
],
},
{
id
:
"djxx"
,
moduleName
:
"工作犬等级信息"
,
data
:
[
{
title
:
"工作犬等级"
,
col
:
"3"
,
id
:
"trainingLevelIdStr"
},
{
title
:
"评定日期"
,
col
:
"3"
,
id
:
"pdrq"
},
{
title
:
"专业方向及成绩"
,
col
:
"5"
,
id
:
"workingDogClassificationIdStr#score"
,
},
{
title
:
"其他材料"
,
col
:
"6"
,
id
:
"tbStDogFile1"
,
},
],
},
{
id
:
"ryxx"
,
moduleName
:
"带犬人员信息"
,
data
:
[
{
title
:
"身份证号码"
,
col
:
"3"
,
id
:
"jsrysfz"
},
{
title
:
"姓名"
,
col
:
"3"
,
id
:
"jsrymc"
},
{
title
:
"归属单位"
,
col
:
"3"
,
id
:
"trainingUnitName"
},
{
title
:
"归属警种"
,
col
:
"3"
,
id
:
"policeCategory"
},
],
},
{
id
:
"tybccj"
,
moduleName
:
"退役补充采集"
,
data
:
[
{
title
:
"是否退役"
,
col
:
"3"
,
id
:
"ifretiredStr"
},
{
title
:
"退役日期"
,
col
:
"3"
,
id
:
"retiredDate"
},
{
title
:
"健康状态"
,
col
:
"3"
,
id
:
"healthStatusStr"
},
{
title
:
"归宿单位"
,
col
:
"3"
,
id
:
"destinationUnitName"
},
{
title
:
"退役原因"
,
col
:
"3"
,
id
:
"retiredReasonsStr"
},
{
title
:
"其他材料"
,
col
:
"6"
,
id
:
"tbStDogFile3"
,
},
],
},
],
barxx
:
[
{
title
:
"姓名"
,
value
:
""
,
col
:
"4"
},
{
title
:
"性别"
,
value
:
""
,
col
:
"4"
},
{
title
:
"证件号码"
,
value
:
""
,
col
:
"1"
},
{
title
:
"报案地点"
,
value
:
""
,
col
:
"4"
},
{
title
:
"报案人现住址"
,
value
:
""
,
col
:
"4"
},
{
title
:
"详细信息"
,
value
:
""
,
col
:
"1"
},
{
title
:
"联系电话"
,
value
:
""
,
col
:
"1"
},
{
title
:
"简要情况"
,
value
:
""
,
col
:
"1"
},
],
syrxx
:
[
{
title
:
"姓名"
,
value
:
""
,
col
:
"4"
},
{
title
:
"性别"
,
value
:
""
,
col
:
"4"
},
{
title
:
"民族"
,
value
:
""
,
col
:
"4"
},
{
title
:
"证件号码"
,
value
:
""
,
col
:
"4"
},
{
title
:
"籍贯"
,
value
:
""
,
col
:
"4"
},
{
title
:
"国籍"
,
value
:
""
,
col
:
"4"
},
{
title
:
"住址"
,
value
:
""
,
col
:
"1"
},
{
title
:
"联系电话"
,
value
:
""
,
col
:
"1"
},
],
fzxyrxx
:
[
{
src
:
require
(
"@/assets/img/img.gif"
),
fzxyrxxList
:
[
{
title
:
"人员编号"
,
value
:
"P150981000000202102000B"
},
{
title
:
"姓名"
,
value
:
"李海生"
},
{
title
:
"性别"
,
value
:
"男"
},
{
title
:
"证件号码"
,
value
:
"152628196001034714"
},
{
title
:
"现住地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"户籍地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"到案状态"
,
value
:
"死亡"
},
],
},
],
bhrxx
:
[
{
src
:
require
(
"@/assets/img/aqq.png"
),
fzxyrxxList
:
[
{
title
:
"人员编号"
,
value
:
"P150981000000202102000C"
},
{
title
:
"姓名"
,
value
:
"智利利"
},
{
title
:
"性别"
,
value
:
"女"
},
{
title
:
"证件号码"
,
value
:
"152628196709284786"
},
{
title
:
"户籍地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"到案状态"
,
value
:
"死亡"
},
],
},
],
aqfx
:
[
{
title
:
"分析案件发生时间"
,
value
:
""
,
col
:
"3"
,
id
:
"asjfssjfxAsjfskssj"
,
},
{
title
:
"分析作案人数"
,
value
:
""
,
col
:
"3"
,
id
:
"zarfxRsxx"
},
{
title
:
"进入方式手段"
,
value
:
""
,
col
:
"3"
,
id
:
"jrjzkjfsjsdDmbcms"
},
{
title
:
"离开方式"
,
value
:
""
,
col
:
"3"
,
id
:
"lkjzkjfsDmbcms"
},
{
title
:
"接近手段"
,
value
:
"其他接近手段"
,
col
:
"3"
,
id
:
"jjsdJjsddm"
,
},
{
title
:
"解锁手段"
,
value
:
""
,
col
:
"3"
,
id
:
"jssdJssddm"
},
{
title
:
"胁迫手段"
,
value
:
""
,
col
:
"3"
,
id
:
"xpsdXpsddm"
},
{
title
:
"施暴手段"
,
value
:
"殴打"
,
col
:
"3"
,
id
:
"sbsdSbsddm"
},
],
aqfxMore
:
[
{
title
:
"窃取手段"
,
value
:
""
},
{
title
:
"引爆手段"
,
value
:
""
},
{
title
:
"诈骗手段"
,
value
:
""
},
{
title
:
"网络作案手段"
,
value
:
""
},
{
title
:
"胁迫使用物品"
,
value
:
""
},
{
title
:
"作案准备手段"
,
value
:
""
},
{
title
:
"干扰侦查手段"
,
value
:
""
},
{
title
:
"冒充冒用手段"
,
value
:
""
},
{
title
:
"冒充身份"
,
value
:
""
},
{
title
:
"冒充关系人"
,
value
:
""
},
{
title
:
"冒充单位名义"
,
value
:
""
},
{
title
:
"箱体空间突破手段"
,
value
:
""
},
{
title
:
"选择物品"
,
value
:
""
},
{
title
:
"熟悉作案环境情况"
,
value
:
""
},
{
title
:
"流窜作案情况"
,
value
:
""
},
{
title
:
"其他手段特点"
,
value
:
""
},
{
title
:
"团伙作案情况"
,
value
:
""
},
{
title
:
"嫌疑人简要情况"
,
value
:
""
},
{
title
:
"嫌疑人遗留物品"
,
value
:
""
},
{
title
:
"损失物品情况"
,
value
:
""
},
{
title
:
"其他物品描述"
,
value
:
""
},
{
title
:
"损失物品去向"
,
value
:
""
},
],
zczjxx
:
[
{
title
:
"案件编号"
,
value
:
""
,
col
:
"4"
,
id
:
"asjbh"
},
{
title
:
"侦查终结单位"
,
value
:
""
,
col
:
"4"
,
id
:
"zczjdwGajgjgdm"
},
{
title
:
"侦查终结日期"
,
value
:
""
,
col
:
"4"
,
id
:
"zczjZxsj01"
},
{
title
:
"破案手段"
,
value
:
""
,
col
:
"4"
,
id
:
"pasddm"
},
{
title
:
"侦查终结依据"
,
value
:
""
,
col
:
"1"
,
id
:
"zczjZcxwyjms"
},
],
cxxx
:
[
{
title
:
"申请撤销内容"
,
value
:
""
,
col
:
"4"
,
id
:
"sqnr"
},
{
title
:
"申请人"
,
value
:
""
,
col
:
"4"
,
id
:
"sqr"
},
{
title
:
"申请人单位,"
,
value
:
""
,
col
:
"4"
,
id
:
"sqrDwmc"
},
{
title
:
"申请人联系电话"
,
value
:
""
,
col
:
"4"
,
id
:
"sqrLxdh"
},
{
title
:
"情况说明"
,
value
:
""
,
col
:
"1"
,
id
:
"qksm"
},
{
title
:
"撤销案件原因"
,
value
:
""
,
col
:
"4"
,
id
:
"cxajyydmStr"
},
{
title
:
"撤销案件依据"
,
value
:
""
,
col
:
"4"
,
id
:
"cxajZcxwyjms"
},
],
ysqs
:
[
{
title
:
"检察机关接受人"
,
value
:
""
,
col
:
"4"
},
{
title
:
"接受单位名称"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送单位"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送单位名称"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送日期"
,
value
:
""
,
col
:
"1"
},
{
title
:
"移送审查起诉意见书"
,
value
:
""
,
col
:
"1"
},
],
ysqsfhjg
:
[
{
title
:
"审查结果"
,
value
:
""
,
col
:
"4"
},
{
title
:
"审查结果返回日期"
,
value
:
""
,
col
:
"4"
},
{
title
:
"审查意见"
,
value
:
""
,
col
:
"1"
},
{
title
:
"补充侦查报告书"
,
value
:
""
,
col
:
"1"
},
],
tableData
:
[
{
date
:
"罗威丽"
,
name
:
"2021-02-19 11:41:57"
,
address
:
"内蒙古自治区刑侦总队"
,
sftg
:
"审批通过"
,
},
],
tableData2
:
[
{
date
:
"罗威丽"
,
name
:
"2021-02-20 11:30:24"
,
address
:
"内蒙古自治区刑侦总队"
,
sftg
:
"审批通过"
,
},
],
activeIndex
:
0
,
activeName
:
"third"
,
timeLine
:
[
{
time
:
"2021.3.15 15:30:59"
,
title
:
"立案提请审批"
,
person
:
"李警官丨20104110丨厂桥派出所"
,
},
{
time
:
"2021.3.15 16:30:59"
,
title
:
"审批不通过"
,
person
:
"王警官丨20104120丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
{
time
:
"2021.3.15 16:35:59"
,
title
:
"立案提请审批"
,
person
:
"王警官丨20104121丨厂桥派出所"
,
},
{
time
:
"2021.3.15 17:30:59"
,
title
:
"审批通过"
,
person
:
"王警官丨20104128丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
{
time
:
"2021.3.15 18:35:59"
,
title
:
"侦查终结提请审批"
,
person
:
"赵警官丨20104152丨厂桥派出所"
,
},
{
time
:
"2021.3.15 18:30:59"
,
title
:
"侦查终结审批"
,
person
:
"王警官丨20104166丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
],
dialogVisible
:
false
,
dialogTitleContent
:
""
,
checkResult
:
true
,
checkList
:
[
{
name
:
"案件基本信息"
,
unchecked
:
"检测案件基本信息"
,
checking
:
"正在检测案件基本信息"
,
checked
:
"案件基本信息检测完成"
,
currentCheck
:
"检测案件基本信息"
,
checkUrl
:
"/ajsp/checkAsjjbxx"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
,
"02"
,
"03"
],
children
:
[
{
name
:
"立案单位"
,
id
:
"ladw"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-book icon2"
,
status
:
"process"
,
},
{
name
:
"案件性质"
,
id
:
"ajxz"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"立案日期"
,
id
:
"larq"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-calendar-check-o icon2"
,
status
:
"wait "
,
},
{
name
:
"案发时间"
,
id
:
"afsj"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-calendar-check-o icon2"
,
status
:
"wait "
,
},
{
name
:
"案件简要情况"
,
id
:
"jyaq"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-edit icon2"
,
status
:
"success"
,
},
// {
// name: '现场勘验编号',
// id: 'xkbh',
// type: ['00', '01'],
// icon: 'fa fa-file-powerpoint-o icon2',
// status: 'error'
// },
{
name
:
"涉案场所"
,
id
:
"sacs"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"案发地区划"
,
id
:
"ajdy"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"案发地域"
,
id
:
"ajdy"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结单位"
,
id
:
"zczjdw"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结时间"
,
id
:
"zczjsj"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结依据"
,
id
:
"zczjyj"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"破案手段"
,
id
:
"pasddm"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"作案手段"
,
id
:
"zasd"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"发案原因"
,
id
:
"fayy"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"案件法律文书"
,
unchecked
:
"检测案件法律文书"
,
checking
:
"正在检测案件法律文书"
,
checked
:
"案件法律文书检测完成"
,
currentCheck
:
"检测案件法律文书"
,
checkUrl
:
"/ajsp/checkAsjflws"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
],
children
:
[
// {
// name: '侦查终结报告书',
// id: 'zczjbgs',
// type: ['02', '03'],
// icon: 'fa fa-file icon2',
// status: 'wait'
// },
{
name
:
"立案决定书"
,
type
:
[
"00"
,
"01"
],
id
:
"lajds"
,
icon
:
"fa fa-paste icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"犯罪嫌疑人"
,
unchecked
:
"检测涉案犯罪嫌疑人"
,
checking
:
"正在检测涉案犯罪嫌疑人"
,
checked
:
"涉案犯罪嫌疑人检测完成"
,
currentCheck
:
"检测涉案犯罪嫌疑人"
,
checkUrl
:
"/ajsp/checkFzxry"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
type
:
[
"02"
,
"03"
],
status
:
""
,
fieldConfig
:
{
zjhm
:
"证件号码"
,
dazt
:
"到案状态"
,
xm
:
"姓名"
,
xb
:
"性别"
,
cssj
:
"出生时间"
,
nl
:
"年龄"
,
hjlx
:
"户籍类型"
,
hyzk
:
"婚姻状况"
,
whcd
:
"文化程度"
,
dwzy
:
"地位作用"
,
ybhrgx
:
"与被害人关系"
,
sfqkry
:
"是否前科人员"
,
hjdqh
:
"户籍地区划"
,
xzzqh
:
"现住址区划"
,
zhrq
:
"抓获日期"
,
zhddqh
:
"抓获地区划"
,
zhdw
:
"抓获单位"
,
sfjsb
:
"是否精神病"
,
},
children
:
[
{
name
:
"人员信息"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-address-book-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"案件受害人"
,
unchecked
:
"检测案件受害人"
,
checking
:
"正在检测案件受害人"
,
checked
:
"案件受害人检测完成"
,
currentCheck
:
"检测案件受害人"
,
checkUrl
:
"/ajsp/checkBhr"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
],
fieldConfig
:
{
zjhm
:
"证件号码"
,
rsshcd
:
"人身伤害程度"
,
cssj
:
"出生时间"
,
xm
:
"姓名"
,
hjdqh
:
"户籍地区划"
,
xzzqh
:
"现住址区划"
,
},
children
:
[
{
name
:
"人员信息"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-address-book-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"嫌疑人法律文书"
,
unchecked
:
"检测嫌疑人法律文书"
,
checking
:
"正在检测嫌疑人法律文书"
,
checked
:
"嫌疑人法律文书检测完成"
,
currentCheck
:
"检测嫌疑人法律文书"
,
checkUrl
:
"/ajsp/checkFzxryFlws"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"02"
,
"03"
],
fieldConfig
:
{
jlzdbz
:
"逮捕证或拘留证"
,
swzm
:
"死亡证明"
,
hjzm
:
"户籍证明"
,
},
children
:
[
{
name
:
"基本信息"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
],
},
],
activeCollapseNames
:
[
"案件基本信息"
],
};
},
methods
:
{
saveAs
(
blob
,
filename
)
{
if
(
window
.
navigator
.
msSaveOrOpenBlob
)
{
navigator
.
msSaveBlob
(
blob
,
filename
);
}
else
{
const
anchor
=
document
.
createElement
(
"a"
);
const
body
=
document
.
querySelector
(
"body"
);
anchor
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
anchor
.
download
=
filename
;
anchor
.
style
.
display
=
"none"
;
body
.
appendChild
(
anchor
);
anchor
.
click
();
body
.
removeChild
(
anchor
);
window
.
URL
.
revokeObjectURL
(
anchor
.
href
);
}
},
handleDownload
(
file
)
{
if
(
file
.
url
)
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
"GET"
,
file
.
url
,
true
);
xhr
.
responseType
=
"blob"
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
this
.
saveAs
(
xhr
.
response
,
file
.
name
);
}
};
xhr
.
send
();
}
else
if
(
file
.
xxzjbh
)
{
fileUrlDetail
({
xxzjbh
:
file
.
xxzjbh
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
file
.
name
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
}
},
handlePictureCardPreview
(
file
)
{
if
(
file
.
name
.
indexOf
(
"png"
)
>=
0
||
file
.
name
.
indexOf
(
"jpg"
)
>=
0
||
file
.
name
.
indexOf
(
"jpeg"
)
>=
0
)
{
let
url
=
file
.
url
;
this
.
dialogImageUrl
=
url
;
this
.
$refs
.
elImage
.
clickHandler
();
}
else
{
if
(
file
.
xxzjbh
)
{
fileUrlDetail
({
xxzjbh
:
file
.
xxzjbh
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/pdf"
,
});
const
pdfSrc
=
window
.
URL
.
createObjectURL
(
blob
);
window
.
open
(
pdfSrc
,
"_blank"
);
});
}
else
{
window
.
open
(
file
.
url
,
"_blank"
);
}
}
},
strReplace
(
id
,
str
)
{
if
(
JSON
.
stringify
(
str
)
==
"{}"
)
return
""
;
if
(
id
.
indexOf
(
"#"
)
<
0
)
{
if
(
str
[
id
])
{
let
a
=
str
[
id
].
slice
(
0
,
-
1
).
replace
(
"#"
,
"、"
);
return
a
;
}
else
{
return
""
;
}
}
else
{
let
s
=
""
;
let
ids
=
id
.
split
(
"#"
);
str
[
ids
[
0
]].
split
(
"#"
).
forEach
((
j
,
index
)
=>
{
if
(
j
)
{
s
+=
j
+
`(
${
str
[
ids
[
1
]].
split
(
"#"
)[
index
]}
)、`
;
}
});
return
s
.
slice
(
0
,
-
1
);
}
},
// 当元素滚动条被滚动时运行的脚本
onScroll
()
{
// var box = document.getElementById('box')
// var t = document.documentElement.scrollTop || document.body.scrollTop
// box.style.top = t + 'px'
var
jump
=
document
.
querySelectorAll
(
".step-jump"
);
var
distance
=
document
.
documentElement
.
scrollTop
||
window
.
pageYOffset
||
document
.
body
.
scrollTop
;
jump
.
forEach
((
item
,
index
)
=>
{
if
(
distance
>=
item
.
offsetTop
)
{
this
.
activeStep
=
index
;
}
});
},
closefilePreview
(
e
)
{
// this.filePreview = "";
// this.filePreviewFlag = false;
console
.
log
(
e
.
target
.
nodeName
);
if
(
e
.
target
.
nodeName
!=
"BUTTON"
&&
e
.
target
.
nodeName
!=
"I"
&&
e
.
target
.
nodeName
!=
"SECTION"
)
{
this
.
multiples
=
1
;
this
.
deg
=
0
;
this
.
filePreviewFlag
=
false
;
}
else
{
}
},
toDetail
(
xxzjbh
,
type
)
{
if
(
type
==
"bhr"
)
{
let
routeData
=
this
.
$router
.
resolve
({
path
:
"/ajBhr"
,
query
:
{
xxzjbh
:
xxzjbh
},
});
window
.
open
(
routeData
.
href
,
"_blank"
);
}
else
{
let
routeData
=
this
.
$router
.
resolve
({
path
:
"/ajXyr"
,
query
:
{
xxzjbh
:
xxzjbh
},
});
window
.
open
(
routeData
.
href
,
"_blank"
);
}
},
closePage
()
{
window
.
opener
=
null
;
window
.
open
(
"about:blank"
,
"_top"
).
close
();
},
toggle
()
{
this
.
isSp
=
!
this
.
isSp
;
},
handleClick
(
tab
)
{
if
(
tab
.
name
==
"first"
)
{
this
.
getBar
();
}
else
if
(
tab
.
name
==
"second"
)
{
this
.
getFzxyr
();
}
else
if
(
tab
.
name
==
"third"
)
{
this
.
getBhr
();
}
},
//监听滚动
handleScroll
(
e
)
{},
//导航菜单切换
handleNav
(
index
,
id
)
{
this
.
activeIndex
=
index
;
var
dom
=
document
.
querySelector
(
id
);
$
(
"#asjxq"
).
animate
({
scrollTop
:
dom
.
offsetTop
-
50
},
200
);
},
toSp
(
spsftg
)
{
let
self
=
this
;
this
.
$confirm
(
"确认审批?"
,
"审批"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
self
.
formD
.
spsftg
=
spsftg
;
self
.
$refs
[
"queryForm"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在审批..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
let
spType
;
let
userInfo
=
window
.
sessionStorage
.
getItem
(
"userInfo"
);
if
(
userInfo
)
this
.
userInfoJson
=
JSON
.
parse
(
userInfo
);
if
(
this
.
userInfoJson
)
{
if
(
this
.
userInfoJson
.
grade
==
"S"
)
{
spType
=
"05"
;
}
else
if
(
this
.
userInfoJson
.
grade
==
"D"
)
{
spType
=
"04"
;
}
else
if
(
this
.
userInfoJson
.
grade
==
"B"
)
{
spType
=
"06"
;
}
}
addSp
({
orderXxzjbh
:
this
.
detailObj
.
orderXxzjbh
,
fxDogXxzjbh
:
this
.
$route
.
query
.
xxzjbh
,
glxxzjbhSource
:
"02"
,
spyjJyqk
:
self
.
formD
.
spyjJyqk
,
spsftgPdbz
:
spsftg
,
spType
:
spType
,
}).
then
((
response
)
=>
{
if
(
response
.
success
===
true
)
{
loading
.
close
();
if
(
spsftg
==
"0"
)
{
self
.
$alert
(
"审批退回"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
window
.
location
.
reload
();
window
.
open
(
"about:blank"
,
"_top"
).
close
();
self
.
$router
.
go
(
-
1
);
//返回上一层
},
});
}
else
if
(
spsftg
==
"1"
)
{
self
.
$alert
(
"审批通过"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
window
.
location
.
reload
();
window
.
open
(
"about:blank"
,
"_top"
).
close
();
self
.
$router
.
go
(
-
1
);
//返回上一层
},
});
}
}
else
{
loading
.
close
();
}
});
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"请输入必填项"
,
});
return
false
;
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
,
});
});
},
doQueryRequest
(
form
,
cxUrl
)
{
/*post方法*/
return
Http
({
url
:
url
.
BaseURL
+
cxUrl
,
data
:
JSON
.
parse
(
form
),
method
:
"post"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
});
},
handleSizeChange
()
{},
handleCurrentChange
()
{},
xzlxfz
(
e
)
{
e
.
target
.
parentNode
.
childNodes
.
forEach
((
obj
)
=>
{
obj
.
classList
.
remove
(
"cur"
);
});
e
.
target
.
classList
.
add
(
"cur"
);
},
getBlgcLists
(
orderXxzjbh
,
loading
)
{
let
self
=
this
;
getBlgcLists
({
orderXxzjbh
:
orderXxzjbh
}).
then
((
res
)
=>
{
loading
.
close
();
if
(
res
.
success
)
{
self
.
laspxqtableData2
=
res
.
data
.
rows
.
reverse
();
}
});
},
getDetail
()
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在查询..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
dogDetail
({
xxzjbh
:
this
.
$route
.
query
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
detailObj
=
res
.
data
.
data
;
this
.
getBlgcLists
(
this
.
detailObj
.
orderXxzjbh
,
loading
);
this
.
detailObj
.
tbStDogFile1
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
if
(
e
.
zpnr
)
{
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
}
else
{
e
.
url2
=
require
(
"@/assets/img/excel.png"
);
}
});
this
.
detailObj
.
tbStDogFile3
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
if
(
e
.
zpnr
)
{
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
}
else
{
e
.
url2
=
require
(
"@/assets/img/excel.png"
);
}
});
this
.
detailObj
.
tbStDogFile2
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
});
}
else
{
loading
.
close
();
}
});
},
/**
* 跳转至现勘编号详情
*/
toXkbh
(
xkid
)
{
// let unitcode = JSON.parse(sessionStorage.userInfo).unitcode;
let
unitcode
=
this
.
$route
.
query
.
asjbh
;
let
dwCode
=
""
;
if
(
unitcode
)
{
// let xckyDetailUrl = "http://10.1.2.43:9080/xcky_pic/page/sceneview/intoSceneview.action?functionType=3&id=" + xkid;
let
xckyDetailUrl
=
"http://xz.xz.ga/xckyxx/dist/index.html#/xckc?XCKYBH="
+
xkid
;
window
.
open
(
xckyDetailUrl
,
"_blank"
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
"登录人单位异常"
,
});
return
;
}
},
barhandleCurrentChange
(
val
)
{
this
.
barForm
.
page
=
val
;
this
.
getBar
();
},
// 报案人信息
getBar
()
{
let
self
=
this
;
self
.
barForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
barForm
),
barURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
===
true
)
{
self
.
barxxtableData2
=
response
.
data
.
data
.
rows
;
self
.
barTotal
=
response
.
data
.
data
.
total
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
fzxyrhandleCurrentChange
(
val
)
{
this
.
fzxyrForm
.
page
=
val
;
this
.
getFzxyr
();
},
getFzxyr
()
{
let
self
=
this
;
self
.
fzxyrtableLoading
=
true
;
self
.
fzxyrForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
fzxyrForm
),
fzxyrURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
self
.
fzxyrtableData2
=
response
.
data
.
data
.
rows
;
self
.
fzxyrTotal
=
response
.
data
.
data
.
total
;
self
.
fzxyrtableLoading
=
false
;
self
.
fzxyrtableData2
.
forEach
((
item
)
=>
{
if
(
item
.
ryzpZjhm
==
""
)
{
let
params
=
new
FormData
();
params
.
append
(
"zjhm"
,
item
.
zhfzxyrCyzjZjhm
);
self
.
doQueryRequests
(
params
,
"/ajDetail/getQgryckzp"
)
.
then
((
res
)
=>
{
item
.
ryzpZjhm
=
res
.
data
.
data
.
ryzpZjhm
;
self
.
$forceUpdate
();
});
}
});
}
else
{
self
.
fzxyrtableLoading
=
false
;
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
bhrhandleCurrentChange
(
val
)
{
this
.
bhrForm
.
page
=
val
;
this
.
getBhr
();
},
getBhr
()
{
let
self
=
this
;
self
.
bhrtableLoading
=
true
;
self
.
bhrForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
bhrForm
),
bhrURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
self
.
bhrtableLoading
=
false
;
self
.
bhrtableData2
=
response
.
data
.
data
.
rows
;
self
.
bhrTotal
=
response
.
data
.
data
.
total
;
self
.
bhrtableData2
.
forEach
((
item
)
=>
{
if
(
item
.
ryzpZjhm
==
""
)
{
let
params
=
new
FormData
();
params
.
append
(
"zjhm"
,
item
.
bhrCyzjZjhm
);
self
.
doQueryRequests
(
params
,
"/ajDetail/getQgryckzp"
)
.
then
((
res
)
=>
{
item
.
ryzpZjhm
=
res
.
data
.
data
.
ryzpZjhm
;
self
.
$forceUpdate
();
});
}
});
}
else
{
self
.
bhrtableLoading
=
false
;
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
doQueryRequests
(
form
,
path
)
{
/*post方法*/
return
Http
({
url
:
url
.
BaseURL
+
path
,
data
:
form
,
method
:
"post"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
"Content-Type"
:
"multipart/form-data"
,
},
});
},
/**
* 数据检查
*/
async
sjjc
()
{
var
self
=
this
;
self
.
dialogVisible
=
true
;
//初始化每个检查项
self
.
checkList
.
forEach
((
groupItem
)
=>
{
groupItem
.
status
=
"wait"
;
groupItem
.
errorShowData
=
""
;
if
(
groupItem
.
children
&&
groupItem
.
children
.
length
>
0
)
{
groupItem
.
children
.
forEach
((
singleItem
)
=>
{
singleItem
.
status
=
"wait"
;
});
}
});
self
.
activeCollapseNames
=
[
"案件基本信息"
];
//检查每个需要检查的数据项
var
readyToCheckList
=
self
.
checkList
.
filter
((
chickItem
)
=>
{
return
chickItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
;
});
self
.
CustomForeach
(
readyToCheckList
,
async
(
e
,
i
)
=>
{
const
queryUrl
=
e
.
checkUrl
;
e
.
currentCheck
=
e
.
checking
;
self
.
dialogTitleContent
=
e
.
checking
;
self
.
activeCollapseNames
.
push
(
e
.
name
);
e
.
children
[
0
].
status
=
"process "
;
//当折叠框展开时再出发滚动事件 所以用settimeout nextTick不行
setTimeout
(()
=>
{
if
(
self
.
$refs
.
sjjcScrollbar
)
{
switch
(
e
.
name
)
{
case
"案件基本信息"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
0
;
break
;
case
"案件法律文书"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
;
break
;
case
"犯罪嫌疑人"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
;
break
;
case
"案件受害人"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar2
[
0
].
$el
.
offsetHeight
;
break
;
case
"嫌疑人法律文书"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar2
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar3
[
0
].
$el
.
offsetHeight
;
break
;
}
}
},
300
);
await
new
Promise
((
resolve
)
=>
{
self
.
doQueryRequest
(
JSON
.
stringify
(
e
.
queryParame
),
queryUrl
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
data
)
{
if
(
response
.
data
.
data
.
result
)
{
self
.
activeCollapseNames
.
splice
(
self
.
activeCollapseNames
.
indexOf
(
e
.
name
),
1
);
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"success"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"success"
;
e
.
currentCheck
=
e
.
checked
;
}
sresolve
(
true
);
},
300
);
});
}
);
// e.children.forEach(singleCheckItem => {
// singleCheckItem.status = "success"
// })
}
else
{
if
(
e
.
name
==
"犯罪嫌疑人"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
xyrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process"
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
if
(
e
.
name
==
"案件受害人"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
bhrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
if
(
e
.
name
==
"嫌疑人法律文书"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
xyrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
{
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
if
(
childrenItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
)
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
if
(
response
.
data
.
data
[
childrenItem
.
id
]
==
"1"
)
{
childrenItem
.
status
=
"success"
;
}
else
{
childrenItem
.
status
=
"error"
;
}
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
}
sresolve
(
true
);
},
300
);
});
}
}
);
// e.children.forEach(singleCheckItem => {
// if (response.data.data[singleCheckItem.id] == "1") {
// singleCheckItem.status = "success"
// } else {
// singleCheckItem.status = "error"
// }
// })
}
}
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
e
.
name
+
"校验异常"
,
});
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
}
setTimeout
(
()
=>
{
resolve
(
response
);
},
300
*
e
.
children
.
filter
((
cItem
)
=>
{
return
cItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
;
}).
length
);
});
});
if
(
i
==
readyToCheckList
.
length
-
1
)
{
if
(
self
.
checkResult
)
{
self
.
dialogTitleContent
=
"检测结果:数据质量合格。"
;
}
else
{
self
.
dialogTitleContent
=
"检测结果:数据质量不合格!"
;
}
}
});
},
// 异步转同步
async
CustomForeach
(
arr
,
callback
)
{
const
length
=
arr
.
length
;
const
O
=
Object
(
arr
);
let
k
=
0
;
while
(
k
<
length
)
{
if
(
k
in
O
)
{
const
kValue
=
O
[
k
];
await
callback
(
kValue
,
k
,
O
);
}
k
++
;
}
},
/**
* 获取立案法律文书列表
*/
getCaseFile
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"la"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"立案法律文书获取异常"
,
});
}
});
},
/**
* 获取侦查终结法律文书列表
*/
getCaseFile2
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"zczj"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList2
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"侦查终结法律文书获取异常"
,
});
}
});
},
/**
* 获取嫌疑人法律文书列表
*/
getCaseFile3
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"xyr"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList3
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"嫌疑人法律文书获取异常"
,
});
}
});
},
// 涉案照片视频
getCaseFile4
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
let
fjurl
=
"/tbstAsjFj/tbstasjfj/queryAsjfjxx"
;
Http
.
post
(
`
${
url
.
BaseURL
}${
fjurl
}
`
,
{
asjbh
:
self
.
laspxqForm
.
asjbh
,
},
{
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
)
.
then
((
res
)
=>
{
if
(
res
.
data
.
success
)
{
self
.
caseFileList4
=
res
.
data
.
data
;
}
})
.
catch
((
err
)
=>
{
console
.
log
(
"查询失败"
);
});
},
downLoadCaseFile
(
fileItem
)
{
debugger
;
var
self
=
this
;
var
index
=
fileItem
.
flwsDzwjbt
.
lastIndexOf
(
"."
);
const
type
=
fileItem
.
flwsDzwjbt
.
substring
(
index
);
if
(
type
==
".pdf"
)
{
Http
.
get
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/getPdfflws`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"Content-Type"
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
binaryData
=
[];
binaryData
.
push
(
res
.
data
);
let
pdfUrl
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
window
.
open
(
pdfUrl
);
});
}
else
if
(
// self.loadingpic = true,
type
==
".jpg"
||
type
==
".jpeg"
||
type
==
".png"
||
type
==
".JPG"
||
type
==
".JPEG"
||
type
==
".PNG"
)
{
var
loadingsJpG
=
self
.
$loading
({
lock
:
true
,
text
:
"正在打开..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
Http
.
post
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/queryFlwsnr`
,
{
xxzjbh
:
fileItem
.
xxzjbh
},
{
headers
:
{
"Content-Type"
:
"application/json"
,
//'Content-Type':'application/json;charset=UTF-8',
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
).
then
((
res
)
=>
{
if
(
res
.
data
.
data
.
flws
&&
res
.
data
.
data
.
flws
.
zp
)
{
loadingsJpG
.
close
();
// self.loadingpic = false,
loadingsJpG
.
close
();
this
.
filePreview
=
`data:image/
${
type
.
substring
(
1
)}
;base64,
${
res
.
data
.
data
.
flws
.
zp
}
`
;
this
.
filePreviewFlag
=
true
;
}
else
{
this
.
$message
.
error
(
"法律文书不存在"
);
loadingsJpG
.
close
();
}
});
console
.
log
(
this
.
filePreview
);
}
else
{
var
urls
=
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/downloadFlws`
;
var
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
fileItem
.
xxzjbh
);
axios
.
post
(
urls
,
params
,
{
responseType
:
"arraybuffer"
,
})
.
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
fileItem
.
flwsDzwjbt
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
}
},
downLoadCaseFile2
(
fileItem
)
{
var
self
=
this
;
var
index
=
fileItem
.
asjfjDzwjbt
.
lastIndexOf
(
"."
);
const
type
=
fileItem
.
asjfjDzwjbt
.
substring
(
index
);
if
(
type
==
".pdf"
)
{
Http
.
get
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/getPdfflws`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"Content-Type"
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
binaryData
=
[];
binaryData
.
push
(
res
.
data
);
let
pdfUrl
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
window
.
open
(
pdfUrl
);
});
}
else
if
(
type
==
".jpg"
||
type
==
".jpeg"
||
type
==
".png"
||
type
==
".JPG"
||
type
==
".JPEG"
||
type
==
".PNG"
)
{
var
loadingsJpG
=
self
.
$loading
({
lock
:
true
,
text
:
"正在打开..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
Http
.
post
(
`
${
url
.
BaseURL
}
/tbstAsjFj/tbstasjfj/queryAsjfjnr`
,
{
xxzjbh
:
fileItem
.
xxzjbh
},
{
headers
:
{
"Content-Type"
:
"application/json"
,
//'Content-Type':'application/json;charset=UTF-8',
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
).
then
((
res
)
=>
{
if
(
res
.
data
.
data
.
asjfjDzwjnr
)
{
this
.
filePreviewFlag
=
true
;
loadingsJpG
.
close
();
this
.
filePreview
=
`data:image/
${
type
.
substring
(
1
)}
;base64,
${
res
.
data
.
data
.
asjfjDzwjnr
}
`
;
}
else
{
this
.
$message
.
error
(
"法律文书不存在"
);
loadingsJpG
.
close
();
}
});
}
else
{
// var urls = `${url.BaseURL}/tbstAsjFj/tbstasjfj/downloadAsjfj`
// var params = new FormData()
// params.append('xxzjbh', fileItem.xxzjbh)
// axios
// .post(urls, params, {
// responseType: 'arraybuffer'
// })
// .then((res) => {
// let blob = new Blob([res.data], {
// type: 'video/mp4'
// })
// // 组装a标签
// let elink = document.createElement('a')
// // 设置下载文件名
// elink.download = fileItem.asjfjDzwjbt
// elink.style.display = 'none'
// elink.href = URL.createObjectURL(blob)
// document.body.appendChild(elink)
// elink.click()
// document.body.removeChild(elink)
// })
Http
.
get
(
`
${
url
.
BaseURL
}
/tbstAsjFj/tbstasjfj/downloadAsjfj`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
)
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
blobUrl
=
window
.
URL
.
createObjectURL
(
res
.
data
);
let
link
=
document
.
createElement
(
"a"
);
document
.
body
.
appendChild
(
link
);
link
.
style
.
display
=
"none"
;
link
.
href
=
blobUrl
;
// 设置a标签的下载属性,设置文件名及格式,后缀名最好让后端在数据格式中返回
link
.
download
=
fileItem
.
asjfjDzwjbt
;
// 自触发click事件
link
.
click
();
document
.
body
.
removeChild
(
link
);
window
.
URL
.
revokeObjectURL
(
blobUrl
);
});
}
},
/**
* 获取文件请求
*/
getGileRequest
(
form
,
relurl
)
{
/*post方法*/
var
currentUrl
=
relurl
?
relurl
:
this
.
cxUrl
;
return
Http
({
url
:
url
.
BaseURL
+
currentUrl
,
data
:
JSON
.
parse
(
form
),
method
:
"post"
,
responseType
:
"blob"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
});
},
toBIgChange
(
msg
)
{
this
.
filePreviewFlag
=
true
;
if
(
msg
==
"left"
)
{
this
.
deg
-=
90
;
if
(
this
.
deg
<=
-
360
)
{
this
.
deg
=
0
;
}
}
else
if
(
msg
==
"min"
)
{
if
(
this
.
multiples
<=
0.5
)
{
return
;
}
this
.
multiples
-=
0.25
;
}
else
if
(
msg
==
"max"
)
{
if
(
this
.
multiples
>=
3
)
{
return
;
}
this
.
multiples
+=
0.25
;
}
else
if
(
msg
==
"all"
)
{
(
this
.
multiples
=
1
),
(
this
.
deg
=
0
);
}
else
if
(
msg
==
"right"
)
{
this
.
deg
+=
90
;
if
(
this
.
deg
>=
360
)
{
this
.
deg
=
0
;
}
}
},
},
created
()
{
let
self
=
this
;
self
.
spsj
=
new
Date
().
toLocaleString
();
self
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
spType
=
self
.
$route
.
query
.
spType
;
self
.
getDetail
();
},
};
</
script
>
<
style
lang=
"scss"
>
#asjxq
{
.dt_menu
{
.el-steps--vertical
{
cursor
:
pointer
;
}
.el-step__icon.is-text
{
border
:
none
;
}
.el-step__icon-inner
{
width
:
6px
;
height
:
6px
;
background
:
#dddddd
;
color
:
transparent
;
border-radius
:
50%
;
}
.el-step__line
{
background-color
:
#eaeaea
;
}
.el-step__icon
{
height
:
16px
;
}
.el-step__head
{
top
:
4px
;
}
}
}
</
style
>
<
style
scoped
lang=
"scss"
>
@import
"~@/assets/spStyle/bootstrap-new.min.css"
;
@import
"~@/assets/spStyle/font-awesome.min.css"
;
@import
"~@/assets/spStyle/style.css"
;
@import
"~@/assets/spStyle/autoCheck.css"
;
@import
"~@/assets/styles/asjDetail.scss"
;
/
deep
/
.el-upload-list__item
{
overflow
:
unset
!important
;
}
/
deep
/
.el-upload__input
{
display
:
none
!important
;
}
/
deep
/
.el-upload--picture-card
{
display
:
none
!important
;
}
.photoList
{
>
p
{
position
:
absolute
;
width
:
100%
;
bottom
:
-30px
;
font-size
:
13px
;
text-align
:
center
;
color
:
#222222
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-wrap
:
normal
;
white-space
:
nowrap
;
}
}
.activeColor
{
color
:
#3670ff
;
font-size
:
13px
;
}
.activeColor1
{
color
:
#555555
;
font-size
:
13px
;
}
.prive_picture
{
z-index
:
999
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
width
:
100%
;
height
:
100%
;
position
:
fixed
;
top
:
0
;
left
:
0
;
.picture
{
width
:
500px
;
height
:
600px
;
margin-left
:
-250px
;
left
:
50%
;
top
:
10%
;
//
transform
:
translateX
(
-50%
);
transform
:
translateY
(
-50%
);
}
.prive_btn
{
z-index
:
100
;
display
:
flex
;
width
:
500px
;
justify-content
:
space-around
;
//
justify-content
position
:
relative
;
transform
:
translateY
(
-50%
);
left
:
40%
;
top
:
15%
;
}
.btn
{
position
:
absolute
;
z-index
:
101
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
50%
;
opacity
:
0.8
;
cursor
:
pointer
;
box-sizing
:
border-box
;
user-select
:
none
;
left
:
50%
;
bottom
:
30px
;
transform
:
translateX
(
-50%
);
width
:
282px
;
height
:
44px
;
padding
:
0
23px
;
background-color
:
#606266
;
border-color
:
#fff
;
border-radius
:
22px
;
}
.btnchild
{
width
:
100%
;
height
:
100%
;
text-align
:
justify
;
cursor
:
default
;
font-size
:
23px
;
color
:
#fff
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-around
;
}
}
//
数据质量检测弹框
/
deep
/
.dataCheckDialogClass
{
//弹框头部关闭按钮
.el-dialog__header
{
height
:
80px
;
color
:
#fff
;
background
:
url("~@/assets/img/bg.jpg")
;
.headerContend
{
height
:
100%
;
align-items
:
center
;
display
:
flex
;
position
:
relative
;
line-height
:
82px
;
text-align
:
left
;
.text-ing
{
display
:
inline-block
;
margin-left
:
2px
;
width
:
390px
;
}
.btn-group
{
position
:
relative
;
}
}
.el-dialog__headerbtn
{
top
:
12px
!important
;
width
:
18px
;
height
:
21px
;
border
:
1px
solid
#1899ca
;
background
:
gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#65a9d7
),
to
(
#3e779d
)
);
box-shadow
:
#000
0
1px
0
;
border-top
:
1px
solid
#96d1f8
;
border-radius
:
4px
;
.el-dialog__close
{
color
:
#fff
!important
;
}
}
}
//
滚动条
.el-scrollbar
{
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
//
折叠框
.el-collapse
{
//折叠框标题
.collapseRowTag
{
background
:
#ffb122
;
border-radius
:
10px
;
width
:
22px
;
height
:
22px
;
color
:
#fff
;
display
:
block
;
float
:
left
;
margin-right
:
8px
;
text-align
:
center
;
font-size
:
14px
;
line-height
:
22px
;
}
//
折叠框内容
.el-collapse-item__content
{
.el-collapse-item__arrow
{
transform
:
rotate
(
90deg
);
}
.el-collapse-item__arrow.is-active
{
transform
:
rotate
(
-90deg
);
}
//
步骤条
.el-steps
{
flex-wrap
:
wrap
;
.el-step__line
{
opacity
:
0.2
;
}
.el-step
{
padding-bottom
:
50px
;
//等待状态的步骤样式
.el-step__head.
is-wait
:
after
{
content
:
"等待扫描"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
width
:
100px
;
height
:
25px
;
}
//
执行中状态的步骤样式
.el-step__head.is-process
{
color
:
#449dff
;
border-color
:
#449dff
;
}
.el-step__head.is-process
:before
{
content
:
""
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
10000
;
width
:
16px
;
height
:
44px
;
background
:
url("~@/assets/img/scan.png")
;
animation
:
rotate
1.5s
linear
infinite
;
}
.el-step__head.is-process
:after
{
content
:
"正在扫描"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
width
:
100px
;
height
:
25px
;
}
.el-step__main
{
.el-step__title.is-process
{
color
:
#449dff
;
}
}
//
结束
/
成功状态的步骤样式
.el-step__head.is-finish
{
color
:
#67c23a
;
border-color
:
#67c23a
;
}
.el-step__head.is-success
:after
{
content
:
"合格"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
background
:
#67c23a
;
color
:
#fff
;
border-radius
:
12px
;
text-align
:
center
;
width
:
70px
;
height
:
25px
;
}
.el-step__main
{
.el-step__title.is-finish
{
color
:
#67c23a
;
}
}
//
结束
/
成功状态的步骤样式
.el-step__head.is-error
:after
{
content
:
"缺失"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
background
:
#ff754f
;
color
:
#fff
;
border-radius
:
12px
;
text-align
:
center
;
width
:
70px
;
height
:
25px
;
}
}
}
}
}
}
}
</
style
>
src/views/tyshManage/components/jobDogManagetyXq.vue
0 → 100644
View file @
5b01288b
<
template
>
<div
id=
"asjxq"
>
<div
class=
"content-wrap"
id=
"scroolwrap"
@
scroll=
"handleScroll($event)"
>
<div
class=
"dt_menu"
>
<el-steps
direction=
"vertical"
finish-status=
"wait"
space=
"100px"
:active=
"activeIndex"
>
<el-step
v-for=
"(item, index) in menuList"
:key=
"item.id"
finish-status=
"wait"
@
click
.
native=
"handleNav(index, item.id)"
>
<span
slot=
"icon"
v-if=
"index == activeIndex"
>
<img
src=
"@/assets/img/jt.png"
alt=
""
/>
</span>
<span
slot=
"title"
:class=
"index == activeIndex ? 'activeColor' : 'activeColor1'"
>
{{
item
.
title
}}
</span>
</el-step>
</el-steps>
</div>
<div
class=
"wrap-shadow"
style=
"position: relative"
:id=
"item2.id"
v-for=
"item2 in asjxx"
:key=
"item2.moduleName"
>
<div
class=
"title"
>
<img
src=
"@/assets/img/ajdetail5.png"
style=
"margin: 0 12px"
/>
{{
item2
.
moduleName
}}
</div>
<div
class=
"line"
v-show=
"isSp"
>
<div
class=
"list-item"
>
<div
v-for=
"(item, index) in item2.data"
:key=
"index"
:class=
"'list line' + item.col"
>
<span
class=
"zd-name"
v-if=
"item.title"
v-html=
"item.title + ':'"
></span>
<span
class=
"zd-value"
v-if=
"
item.id == 'workingDogClassificationIdStr#score' ||
item.id == 'trainSubjectStr#trainSubjectGrade'
"
v-html=
"strReplace(item.id, detailObj)"
></span>
<el-upload
v-else-if=
"
item.id == 'tbStDogFile1' ||
item.id == 'tbStDogFile2' ||
item.id == 'tbStDogFile3'
"
disabled
action=
"#"
list-type=
"picture-card"
multiple
:file-list=
"detailObj[item.id]"
:auto-upload=
"false"
>
<i
slot=
"default"
class=
"el-icon-plus"
></i>
<div
slot=
"file"
slot-scope=
"
{ file }">
<div
class=
"photoList"
>
<p
:title=
"file.name"
>
{{
file
.
name
}}
</p>
<img
width=
"146px"
height=
"146px"
:src=
"file.url2"
alt=
""
/>
<span
class=
"el-upload-list__item-actions"
>
<span
v-if=
"
file.name.indexOf('png') >= 0 ||
file.name.indexOf('jpg') >= 0 ||
file.name.indexOf('jpeg') >= 0 ||
file.name.indexOf('pdf') >= 0
"
class=
"el-upload-list__item-preview"
@
click=
"handlePictureCardPreview(file)"
>
<i
class=
"el-icon-zoom-in"
></i>
</span>
<span
v-if=
"!disabled"
class=
"el-upload-list__item-delete"
@
click=
"handleDownload(file)"
>
<i
class=
"el-icon-download"
></i>
</span>
</span>
</div>
</div>
</el-upload>
<el-table
v-else-if=
"item.id == 'pdls'"
:data=
"detailObj.refreshmentHistorys"
style=
"width: 100%"
>
<el-table-column
width=
"120px"
align=
"center"
prop=
"checkStaff"
label=
"主考人"
></el-table-column>
<el-table-column
align=
"center"
prop=
"trainSubjectForName"
label=
"评定科目"
>
<template
slot-scope=
"scope"
>
<p>
{{
strReplace
(
"trainSubjectStr#trainSubjectGrade"
,
scope
.
row
)
}}
</p>
</
template
>
</el-table-column>
<el-table-column
width=
"120px"
align=
"center"
prop=
"pdtraininglevelidStr"
label=
"申请评定等级"
></el-table-column>
<el-table-column
align=
"center"
prop=
"checkDate"
label=
"申请评定日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"checkUnitName"
label=
"评定单位"
></el-table-column>
<el-table-column
align=
"center"
prop=
"workdogtraininglevelid"
label=
"工作犬等级"
></el-table-column>
<el-table-column
align=
"center"
prop=
"workdogpdrq"
label=
"工作犬评定日期"
></el-table-column>
<el-table-column
align=
"center"
prop=
"trainResult"
label=
"评定结果"
></el-table-column>
</el-table>
<span
class=
"zd-value"
v-else
v-html=
"detailObj[item.id]"
></span>
</div>
</div>
</div>
</div>
<div
class=
"wrap-shadow"
style=
"padding-right: 0px"
id=
"ajspgc"
>
<div
class=
"title"
>
<img
src=
"@/assets/img/ajdetail6.png"
style=
"margin: 0 12px"
/>
<span>
审批过程
</span>
</div>
<div
class=
"timeLine_wrap"
style=
"flex-wrap: wrap"
>
<div
class=
"itemLine"
v-for=
"(item, index) in laspxqtableData2"
:key=
"index"
>
<div
class=
"time"
>
{{ item.spsj }}
</div>
<div
class=
"line"
>
<div
class=
"quan"
></div>
<div
class=
"xian"
></div>
</div>
<div
class=
"timeTitle"
>
{{ item.spStr }}
</div>
<div
class=
"person"
>
<p>
{{ item.sprXm + " | " + item.sprLxdh }}
</p>
<p>
{{ item.spdwGajgmc }}
</p>
</div>
<div
class=
"time_content"
>
{{ item.spyjJyqk }}
</div>
</div>
</div>
</div>
<div
class=
"wrap-shadow"
id=
"yhxx"
style=
"padding-top: 10px"
>
<el-form
label-position=
"right"
label-width=
"140px"
ref=
"queryForm"
:model=
"formD"
:rules=
"yhxxRules"
>
<div
class=
"zdyLine"
>
<el-form-item
:label=
"item.name"
v-for=
"item in propQueryField"
:key=
"item.id"
:prop=
"item.id"
v-show=
"!item.hidden"
:class=
"'demo-input-suffix zdycol' + item.col"
>
<!--<div class="zdName">{{item.name}}:</div>-->
<!--输入框-->
<el-input
clearable
:placeholder=
"item.placeholder"
v-model=
"formD[item.id]"
v-if=
"item.type == 'text' && item.id != 'spsj'"
:disabled=
"item.disabled"
>
</el-input>
<el-input
clearable
:placeholder=
"item.placeholder"
v-model=
"spsj"
v-else-if=
"item.type == 'text' && item.id == 'spsj'"
:disabled=
"item.disabled"
>
</el-input>
<!--文本域-->
<el-input
type=
"textarea"
autosize
resize=
"none"
:rows=
"3"
style=
"height: 60px !important"
:placeholder=
"item.placeholder"
v-model=
"formD[item.id]"
v-else-if=
"item.type == 'textarea'"
>
</el-input>
</el-form-item>
</div>
</el-form>
</div>
<!--数据检测-->
<el-dialog
:visible
.
sync=
"dialogVisible"
:append-to-body=
"false"
:close-on-click-modal=
"false"
custom-class=
"dataCheckDialogClass"
width=
"900px"
>
<div
slot=
"title"
class=
"headerContend"
>
<div
class=
"text-ing"
>
<p
class=
"zzjc"
>
{{ dialogTitleContent }}
</p>
</div>
<div
class=
"btn-group"
>
<button
type=
"button"
class=
"toggle-timer"
name=
"toggle-timer"
@
click=
"sjjc"
style=
""
>
重新检测
</button>
<button
type=
"button"
class=
"finish"
name=
"finish"
style=
""
@
click=
"dialogVisible = !dialogVisible"
>
完成
</button>
</div>
</div>
<div
style=
"height: 490px; padding: 0px 15px"
>
<el-scrollbar
ref=
"sjjcScrollbar"
style=
"height: 100%"
>
<el-collapse
v-model=
"activeCollapseNames"
>
<div
v-for=
"(collItem, collIndex) in checkList.filter(
(chickItem) => {
return chickItem.type.indexOf(spType) >= 0;
}
)"
:key=
"collItem.name"
>
<el-collapse-item
v-if=
"collItem.type.indexOf(spType) >= 0"
:ref=
"'sjjcScrollbar' + collIndex"
:name=
"collItem.name"
>
<
template
slot=
"title"
>
<span
class=
"collapseRowTag"
>
{{
collIndex
+
1
}}
</span
>
{{
collItem
.
currentCheck
}}
<div
style=
"flex: 10; justify-content: flex-end; display: flex"
v-if=
"collItem.status != 'wait'"
>
<span
style=
"color: #fff; border-radius: 12px"
:style=
"
{
marginRight: '20px',
background:
collItem.status == 'success'
? '#67c23a'
: '#ff754f',
height: '24px',
lineHeight: '24px',
textAlign: 'center',
width: '50px',
}"
>
{{
collItem
.
status
==
"success"
?
"合格"
:
"缺失"
}}
</span
>
</div>
</
template
>
<div
style=
"width: 100%; padding: 10px 10px 10px 50px"
>
<el-steps
:active=
"1"
:space=
"
collItem.children.length > 2
? collItem.children.length > 6
? '20%'
: ''
: '20%'
"
>
<div
v-for=
"(stepItem, stepIndex) in collItem.children"
:key=
"stepIndex"
>
<el-step
v-if=
"stepItem.type.indexOf(spType) >= 0"
:title=
"stepItem.name"
:status=
"stepItem.status"
:icon=
"stepItem.icon"
style=
"min-width: 110px"
></el-step>
<div
v-if=
"collItem.errorShowData"
style=
"
width: 0px;
height: 0px;
display: inline-block;
background: red;
position: relative;
"
>
<div
style=
"
position: absolute;
top: -60px;
left: 20px;
width: 600px;
max-height: 140px;
overflow-y: auto;
"
v-html=
"collItem.errorShowData"
></div>
</div>
</div>
</el-steps>
</div>
</el-collapse-item>
</div>
</el-collapse>
</el-scrollbar>
</div>
<span
slot=
"footer"
class=
"dialog-footer"
>
</span>
</el-dialog>
</div>
<div
class=
"prive_picture"
v-if=
"filePreviewFlag"
@
click=
"closefilePreview"
v-loading=
"loadingpic"
>
<el-image
class=
"picture"
:src=
"filePreview"
:style=
"{
transform: 'rotate(' + deg + 'deg)' + 'scale(' + multiples + ')',
}"
>
</el-image>
<section
class=
"btn"
>
<section
class=
"btnchild"
>
<i
class=
"el-icon-zoom-out"
@
click=
"toBIgChange('min')"
></i>
<i
class=
"el-icon-zoom-in"
@
click=
"toBIgChange('max')"
></i>
<i
class=
"el-image-viewer__actions__divider"
></i>
<i
class=
"el-icon-c-scale-to-original"
@
click=
"toBIgChange('all')"
></i>
<i
class=
"el-image-viewer__actions__divider"
></i>
<i
class=
"el-icon-refresh-left"
@
click=
"toBIgChange('left')"
></i>
<i
class=
"el-icon-refresh-right"
@
click=
"toBIgChange('right')"
></i>
</section>
</section>
</div>
<el-image
style=
"width: 0px; height: 0px; position: absolute"
src=
"https://fuss10.elemecdn.com/e/5d/4a731a90594a4af544c0c25941171jpeg.jpeg"
:preview-src-list=
"[dialogImageUrl]"
ref=
"elImage"
>
</el-image>
</div>
</template>
<
script
>
import
Http
from
"@/utils/axiosHttp.js"
;
import
url
from
"@/api/base"
;
/*案件详情*/
import
{
ajxqHeader
,
ajxqHeaderIcon
,
ajxqURL
,
lazczjspURL
,
lazczjspForm
,
ajjbxxForm
,
ajjbxxURL
,
barForm
,
barURL
,
fzxyrForm
,
fzxyrURL
,
bhrForm
,
bhrURL
,
/*立案审批详情*/
laspxqForm
,
laspxqURL
,
flwsListURL
,
/*侦查终结审批详情*/
zczjspxqForm
,
}
from
"@/utils/params2"
;
import
{
extractJobDog
,
addJobDog
,
editJobDog
,
dogDetail
,
getBlgcLists
,
addSp
,
}
from
"@/api/menuDataApi/jobDogManageApi.js"
;
import
{
fileUrlDetail
,
deleteFileByXxzjbh
,
}
from
"@/api/menuDataApi/poDogInfoManageApi.js"
;
import
$
from
"jquery"
;
import
guide
from
"@/utils/guide"
;
export
default
{
name
:
"index"
,
data
()
{
return
{
tableData
:
[],
dialogImageUrl
:
""
,
disabled
:
false
,
detailObj
:
{},
deg
:
0
,
multiples
:
1
,
loadingpic
:
false
,
fzxyrtableLoading
:
false
,
bhrtableLoading
:
false
,
activeStep
:
0
,
isSp
:
true
,
filePreviewFlag
:
false
,
filePreview
:
""
,
menuList
:
[
{
title
:
"工作犬基本信息"
,
id
:
"#jbxx"
},
{
title
:
"工作犬等级信息"
,
id
:
"#djxx"
},
{
title
:
"带犬人员信息"
,
id
:
"#ryxx"
},
{
title
:
"退役补充采集"
,
id
:
"#tybccj"
},
{
title
:
"审批过程"
,
id
:
"#ajspgc"
},
],
leftMenuActiveIndex
:
"0"
,
laspxqFormPage
:
1
,
laspxqFormRows
:
5
,
zczjspxqFormPage
:
1
,
zczjspxqFormRows
:
5
,
laspxqtableData2
:
[],
caseFileList
:
[],
caseFileList2
:
[],
caseFileList3
:
[],
caseFileList4
:
[],
laspxqTotal
:
0
,
zczjspxqtableData2
:
[
{
asjbh
:
"2016-05-02"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1518 弄"
,
},
{
asjbh
:
"2016-05-04"
,
name
:
"王小虎"
,
address
:
"上海市普陀区金沙江路 1517 弄"
,
},
],
zczjspxqTotal
:
0
,
barTotal
:
0
,
barxxtableData2
:
[],
//报案人信息
fzxyrForm
:
fzxyrForm
,
fzxyrtableData2
:
[],
fzxyrTotal
:
0
,
formD
:
lazczjspForm
,
ajxxFrom
:
ajjbxxForm
,
barForm
:
barForm
,
/*被害人*/
bhrForm
:
bhrForm
,
bhrtableData2
:
[],
bhrTotal
:
0
,
/*立案侦查终结详情*/
laspxqForm
:
laspxqForm
,
zczjspxqForm
:
zczjspxqForm
,
asjbh
:
""
,
spType
:
""
,
yhxxRules
:
{
spyjJyqk
:
{
required
:
true
,
message
:
"请输入审批意见"
,
trigger
:
"blur"
,
},
},
spsj
:
""
,
propQueryField
:
[],
isbhdw
:
false
,
isaqfx
:
false
,
iszcrz
:
false
,
issswp
:
false
,
iszasygj
:
false
,
iszcxs
:
false
,
iskywp
:
false
,
isjjxx
:
false
,
current
:
0
,
headerTitle
:
ajxqHeader
,
headerIcon
:
ajxqHeaderIcon
,
Zjasjxx
:
[
{
title
:
"自检人姓名"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrXm"
},
{
title
:
"自检人证联系电话"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrLxdh"
,
},
{
title
:
"自检人单位代码"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjrDwdmStr"
,
},
{
title
:
"自检时间"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjsj"
},
{
title
:
"自检结果 "
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjjgStr"
},
{
title
:
"备注"
,
value
:
"故意杀人案"
,
col
:
"3"
,
id
:
"zjxxbc"
},
],
asjxx
:
[
{
id
:
"jbxx"
,
moduleName
:
"工作犬基本信息"
,
data
:
[
{
title
:
"犬名"
,
col
:
"3"
,
id
:
"name"
},
{
title
:
"芯片号"
,
col
:
"3"
,
id
:
"chipCode"
},
{
title
:
"性别"
,
col
:
"3"
,
id
:
"gender"
},
{
title
:
"出生日期"
,
col
:
"3"
,
id
:
"birthDate"
},
{
title
:
"品种"
,
id
:
"speciesId"
,
col
:
"3"
,
},
{
title
:
"犬只来源"
,
col
:
"3"
,
id
:
"dogSource"
,
},
{
title
:
"DNA编号"
,
col
:
"3"
,
id
:
"dna"
,
},
{
title
:
"警犬照片"
,
col
:
"6"
,
id
:
"tbStDogFile2"
,
},
],
},
{
id
:
"djxx"
,
moduleName
:
"工作犬等级信息"
,
data
:
[
{
title
:
"工作犬等级"
,
col
:
"3"
,
id
:
"trainingLevelIdStr"
},
{
title
:
"评定日期"
,
col
:
"3"
,
id
:
"pdrq"
},
{
title
:
"专业方向及成绩"
,
col
:
"5"
,
id
:
"workingDogClassificationIdStr#score"
,
},
{
title
:
"其他材料"
,
col
:
"6"
,
id
:
"tbStDogFile1"
,
},
],
},
{
id
:
"ryxx"
,
moduleName
:
"带犬人员信息"
,
data
:
[
{
title
:
"身份证号码"
,
col
:
"3"
,
id
:
"jsrysfz"
},
{
title
:
"姓名"
,
col
:
"3"
,
id
:
"jsrymc"
},
{
title
:
"归属单位"
,
col
:
"3"
,
id
:
"trainingUnitName"
},
{
title
:
"归属警种"
,
col
:
"3"
,
id
:
"policeCategory"
},
],
},
{
id
:
"tybccj"
,
moduleName
:
"退役补充采集"
,
data
:
[
{
title
:
"是否退役"
,
col
:
"3"
,
id
:
"ifretiredStr"
},
{
title
:
"退役日期"
,
col
:
"3"
,
id
:
"retiredDate"
},
{
title
:
"健康状态"
,
col
:
"3"
,
id
:
"healthStatusStr"
},
{
title
:
"归宿单位"
,
col
:
"3"
,
id
:
"destinationUnitName"
},
{
title
:
"退役原因"
,
col
:
"3"
,
id
:
"retiredReasonsStr"
},
{
title
:
"其他材料"
,
col
:
"6"
,
id
:
"tbStDogFile3"
,
},
],
},
],
barxx
:
[
{
title
:
"姓名"
,
value
:
""
,
col
:
"4"
},
{
title
:
"性别"
,
value
:
""
,
col
:
"4"
},
{
title
:
"证件号码"
,
value
:
""
,
col
:
"1"
},
{
title
:
"报案地点"
,
value
:
""
,
col
:
"4"
},
{
title
:
"报案人现住址"
,
value
:
""
,
col
:
"4"
},
{
title
:
"详细信息"
,
value
:
""
,
col
:
"1"
},
{
title
:
"联系电话"
,
value
:
""
,
col
:
"1"
},
{
title
:
"简要情况"
,
value
:
""
,
col
:
"1"
},
],
syrxx
:
[
{
title
:
"姓名"
,
value
:
""
,
col
:
"4"
},
{
title
:
"性别"
,
value
:
""
,
col
:
"4"
},
{
title
:
"民族"
,
value
:
""
,
col
:
"4"
},
{
title
:
"证件号码"
,
value
:
""
,
col
:
"4"
},
{
title
:
"籍贯"
,
value
:
""
,
col
:
"4"
},
{
title
:
"国籍"
,
value
:
""
,
col
:
"4"
},
{
title
:
"住址"
,
value
:
""
,
col
:
"1"
},
{
title
:
"联系电话"
,
value
:
""
,
col
:
"1"
},
],
fzxyrxx
:
[
{
src
:
require
(
"@/assets/img/img.gif"
),
fzxyrxxList
:
[
{
title
:
"人员编号"
,
value
:
"P150981000000202102000B"
},
{
title
:
"姓名"
,
value
:
"李海生"
},
{
title
:
"性别"
,
value
:
"男"
},
{
title
:
"证件号码"
,
value
:
"152628196001034714"
},
{
title
:
"现住地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"户籍地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"到案状态"
,
value
:
"死亡"
},
],
},
],
bhrxx
:
[
{
src
:
require
(
"@/assets/img/aqq.png"
),
fzxyrxxList
:
[
{
title
:
"人员编号"
,
value
:
"P150981000000202102000C"
},
{
title
:
"姓名"
,
value
:
"智利利"
},
{
title
:
"性别"
,
value
:
"女"
},
{
title
:
"证件号码"
,
value
:
"152628196709284786"
},
{
title
:
"户籍地区划"
,
value
:
"内蒙古自治区丰镇市"
},
{
title
:
"到案状态"
,
value
:
"死亡"
},
],
},
],
aqfx
:
[
{
title
:
"分析案件发生时间"
,
value
:
""
,
col
:
"3"
,
id
:
"asjfssjfxAsjfskssj"
,
},
{
title
:
"分析作案人数"
,
value
:
""
,
col
:
"3"
,
id
:
"zarfxRsxx"
},
{
title
:
"进入方式手段"
,
value
:
""
,
col
:
"3"
,
id
:
"jrjzkjfsjsdDmbcms"
},
{
title
:
"离开方式"
,
value
:
""
,
col
:
"3"
,
id
:
"lkjzkjfsDmbcms"
},
{
title
:
"接近手段"
,
value
:
"其他接近手段"
,
col
:
"3"
,
id
:
"jjsdJjsddm"
,
},
{
title
:
"解锁手段"
,
value
:
""
,
col
:
"3"
,
id
:
"jssdJssddm"
},
{
title
:
"胁迫手段"
,
value
:
""
,
col
:
"3"
,
id
:
"xpsdXpsddm"
},
{
title
:
"施暴手段"
,
value
:
"殴打"
,
col
:
"3"
,
id
:
"sbsdSbsddm"
},
],
aqfxMore
:
[
{
title
:
"窃取手段"
,
value
:
""
},
{
title
:
"引爆手段"
,
value
:
""
},
{
title
:
"诈骗手段"
,
value
:
""
},
{
title
:
"网络作案手段"
,
value
:
""
},
{
title
:
"胁迫使用物品"
,
value
:
""
},
{
title
:
"作案准备手段"
,
value
:
""
},
{
title
:
"干扰侦查手段"
,
value
:
""
},
{
title
:
"冒充冒用手段"
,
value
:
""
},
{
title
:
"冒充身份"
,
value
:
""
},
{
title
:
"冒充关系人"
,
value
:
""
},
{
title
:
"冒充单位名义"
,
value
:
""
},
{
title
:
"箱体空间突破手段"
,
value
:
""
},
{
title
:
"选择物品"
,
value
:
""
},
{
title
:
"熟悉作案环境情况"
,
value
:
""
},
{
title
:
"流窜作案情况"
,
value
:
""
},
{
title
:
"其他手段特点"
,
value
:
""
},
{
title
:
"团伙作案情况"
,
value
:
""
},
{
title
:
"嫌疑人简要情况"
,
value
:
""
},
{
title
:
"嫌疑人遗留物品"
,
value
:
""
},
{
title
:
"损失物品情况"
,
value
:
""
},
{
title
:
"其他物品描述"
,
value
:
""
},
{
title
:
"损失物品去向"
,
value
:
""
},
],
zczjxx
:
[
{
title
:
"案件编号"
,
value
:
""
,
col
:
"4"
,
id
:
"asjbh"
},
{
title
:
"侦查终结单位"
,
value
:
""
,
col
:
"4"
,
id
:
"zczjdwGajgjgdm"
},
{
title
:
"侦查终结日期"
,
value
:
""
,
col
:
"4"
,
id
:
"zczjZxsj01"
},
{
title
:
"破案手段"
,
value
:
""
,
col
:
"4"
,
id
:
"pasddm"
},
{
title
:
"侦查终结依据"
,
value
:
""
,
col
:
"1"
,
id
:
"zczjZcxwyjms"
},
],
cxxx
:
[
{
title
:
"申请撤销内容"
,
value
:
""
,
col
:
"4"
,
id
:
"sqnr"
},
{
title
:
"申请人"
,
value
:
""
,
col
:
"4"
,
id
:
"sqr"
},
{
title
:
"申请人单位,"
,
value
:
""
,
col
:
"4"
,
id
:
"sqrDwmc"
},
{
title
:
"申请人联系电话"
,
value
:
""
,
col
:
"4"
,
id
:
"sqrLxdh"
},
{
title
:
"情况说明"
,
value
:
""
,
col
:
"1"
,
id
:
"qksm"
},
{
title
:
"撤销案件原因"
,
value
:
""
,
col
:
"4"
,
id
:
"cxajyydmStr"
},
{
title
:
"撤销案件依据"
,
value
:
""
,
col
:
"4"
,
id
:
"cxajZcxwyjms"
},
],
ysqs
:
[
{
title
:
"检察机关接受人"
,
value
:
""
,
col
:
"4"
},
{
title
:
"接受单位名称"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送单位"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送单位名称"
,
value
:
""
,
col
:
"4"
},
{
title
:
"移送日期"
,
value
:
""
,
col
:
"1"
},
{
title
:
"移送审查起诉意见书"
,
value
:
""
,
col
:
"1"
},
],
ysqsfhjg
:
[
{
title
:
"审查结果"
,
value
:
""
,
col
:
"4"
},
{
title
:
"审查结果返回日期"
,
value
:
""
,
col
:
"4"
},
{
title
:
"审查意见"
,
value
:
""
,
col
:
"1"
},
{
title
:
"补充侦查报告书"
,
value
:
""
,
col
:
"1"
},
],
tableData
:
[
{
date
:
"罗威丽"
,
name
:
"2021-02-19 11:41:57"
,
address
:
"内蒙古自治区刑侦总队"
,
sftg
:
"审批通过"
,
},
],
tableData2
:
[
{
date
:
"罗威丽"
,
name
:
"2021-02-20 11:30:24"
,
address
:
"内蒙古自治区刑侦总队"
,
sftg
:
"审批通过"
,
},
],
activeIndex
:
0
,
activeName
:
"third"
,
timeLine
:
[
{
time
:
"2021.3.15 15:30:59"
,
title
:
"立案提请审批"
,
person
:
"李警官丨20104110丨厂桥派出所"
,
},
{
time
:
"2021.3.15 16:30:59"
,
title
:
"审批不通过"
,
person
:
"王警官丨20104120丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
{
time
:
"2021.3.15 16:35:59"
,
title
:
"立案提请审批"
,
person
:
"王警官丨20104121丨厂桥派出所"
,
},
{
time
:
"2021.3.15 17:30:59"
,
title
:
"审批通过"
,
person
:
"王警官丨20104128丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
{
time
:
"2021.3.15 18:35:59"
,
title
:
"侦查终结提请审批"
,
person
:
"赵警官丨20104152丨厂桥派出所"
,
},
{
time
:
"2021.3.15 18:30:59"
,
title
:
"侦查终结审批"
,
person
:
"王警官丨20104166丨厂桥派出所"
,
content
:
"项目使用林地初审意见、水务局治理五期工程的审查意见五期工程的审查意见"
,
},
],
dialogVisible
:
false
,
dialogTitleContent
:
""
,
checkResult
:
true
,
checkList
:
[
{
name
:
"案件基本信息"
,
unchecked
:
"检测案件基本信息"
,
checking
:
"正在检测案件基本信息"
,
checked
:
"案件基本信息检测完成"
,
currentCheck
:
"检测案件基本信息"
,
checkUrl
:
"/ajsp/checkAsjjbxx"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
,
"02"
,
"03"
],
children
:
[
{
name
:
"立案单位"
,
id
:
"ladw"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-book icon2"
,
status
:
"process"
,
},
{
name
:
"案件性质"
,
id
:
"ajxz"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"立案日期"
,
id
:
"larq"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-calendar-check-o icon2"
,
status
:
"wait "
,
},
{
name
:
"案发时间"
,
id
:
"afsj"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-calendar-check-o icon2"
,
status
:
"wait "
,
},
{
name
:
"案件简要情况"
,
id
:
"jyaq"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-edit icon2"
,
status
:
"success"
,
},
// {
// name: '现场勘验编号',
// id: 'xkbh',
// type: ['00', '01'],
// icon: 'fa fa-file-powerpoint-o icon2',
// status: 'error'
// },
{
name
:
"涉案场所"
,
id
:
"sacs"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"案发地区划"
,
id
:
"ajdy"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"案发地域"
,
id
:
"ajdy"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结单位"
,
id
:
"zczjdw"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结时间"
,
id
:
"zczjsj"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"侦查终结依据"
,
id
:
"zczjyj"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"破案手段"
,
id
:
"pasddm"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"作案手段"
,
id
:
"zasd"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
{
name
:
"发案原因"
,
id
:
"fayy"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"案件法律文书"
,
unchecked
:
"检测案件法律文书"
,
checking
:
"正在检测案件法律文书"
,
checked
:
"案件法律文书检测完成"
,
currentCheck
:
"检测案件法律文书"
,
checkUrl
:
"/ajsp/checkAsjflws"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
],
children
:
[
// {
// name: '侦查终结报告书',
// id: 'zczjbgs',
// type: ['02', '03'],
// icon: 'fa fa-file icon2',
// status: 'wait'
// },
{
name
:
"立案决定书"
,
type
:
[
"00"
,
"01"
],
id
:
"lajds"
,
icon
:
"fa fa-paste icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"犯罪嫌疑人"
,
unchecked
:
"检测涉案犯罪嫌疑人"
,
checking
:
"正在检测涉案犯罪嫌疑人"
,
checked
:
"涉案犯罪嫌疑人检测完成"
,
currentCheck
:
"检测涉案犯罪嫌疑人"
,
checkUrl
:
"/ajsp/checkFzxry"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
type
:
[
"02"
,
"03"
],
status
:
""
,
fieldConfig
:
{
zjhm
:
"证件号码"
,
dazt
:
"到案状态"
,
xm
:
"姓名"
,
xb
:
"性别"
,
cssj
:
"出生时间"
,
nl
:
"年龄"
,
hjlx
:
"户籍类型"
,
hyzk
:
"婚姻状况"
,
whcd
:
"文化程度"
,
dwzy
:
"地位作用"
,
ybhrgx
:
"与被害人关系"
,
sfqkry
:
"是否前科人员"
,
hjdqh
:
"户籍地区划"
,
xzzqh
:
"现住址区划"
,
zhrq
:
"抓获日期"
,
zhddqh
:
"抓获地区划"
,
zhdw
:
"抓获单位"
,
sfjsb
:
"是否精神病"
,
},
children
:
[
{
name
:
"人员信息"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-address-book-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"案件受害人"
,
unchecked
:
"检测案件受害人"
,
checking
:
"正在检测案件受害人"
,
checked
:
"案件受害人检测完成"
,
currentCheck
:
"检测案件受害人"
,
checkUrl
:
"/ajsp/checkBhr"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"00"
,
"01"
],
fieldConfig
:
{
zjhm
:
"证件号码"
,
rsshcd
:
"人身伤害程度"
,
cssj
:
"出生时间"
,
xm
:
"姓名"
,
hjdqh
:
"户籍地区划"
,
xzzqh
:
"现住址区划"
,
},
children
:
[
{
name
:
"人员信息"
,
type
:
[
"00"
,
"01"
],
icon
:
"fa fa-address-book-o icon2"
,
status
:
"wait"
,
},
],
},
{
name
:
"嫌疑人法律文书"
,
unchecked
:
"检测嫌疑人法律文书"
,
checking
:
"正在检测嫌疑人法律文书"
,
checked
:
"嫌疑人法律文书检测完成"
,
currentCheck
:
"检测嫌疑人法律文书"
,
checkUrl
:
"/ajsp/checkFzxryFlws"
,
queryParame
:
{
asjbh
:
this
.
$route
.
query
.
asjbh
,
spType
:
this
.
$route
.
query
.
spType
,
},
status
:
""
,
type
:
[
"02"
,
"03"
],
fieldConfig
:
{
jlzdbz
:
"逮捕证或拘留证"
,
swzm
:
"死亡证明"
,
hjzm
:
"户籍证明"
,
},
children
:
[
{
name
:
"基本信息"
,
type
:
[
"02"
,
"03"
],
icon
:
"fa fa-file-text-o icon2"
,
status
:
"wait"
,
},
],
},
],
activeCollapseNames
:
[
"案件基本信息"
],
};
},
methods
:
{
saveAs
(
blob
,
filename
)
{
if
(
window
.
navigator
.
msSaveOrOpenBlob
)
{
navigator
.
msSaveBlob
(
blob
,
filename
);
}
else
{
const
anchor
=
document
.
createElement
(
"a"
);
const
body
=
document
.
querySelector
(
"body"
);
anchor
.
href
=
window
.
URL
.
createObjectURL
(
blob
);
anchor
.
download
=
filename
;
anchor
.
style
.
display
=
"none"
;
body
.
appendChild
(
anchor
);
anchor
.
click
();
body
.
removeChild
(
anchor
);
window
.
URL
.
revokeObjectURL
(
anchor
.
href
);
}
},
handleDownload
(
file
)
{
if
(
file
.
url
)
{
const
xhr
=
new
XMLHttpRequest
();
xhr
.
open
(
"GET"
,
file
.
url
,
true
);
xhr
.
responseType
=
"blob"
;
xhr
.
onload
=
()
=>
{
if
(
xhr
.
status
===
200
)
{
this
.
saveAs
(
xhr
.
response
,
file
.
name
);
}
};
xhr
.
send
();
}
else
if
(
file
.
xxzjbh
)
{
fileUrlDetail
({
xxzjbh
:
file
.
xxzjbh
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
file
.
name
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
}
},
handlePictureCardPreview
(
file
)
{
if
(
file
.
name
.
indexOf
(
"png"
)
>=
0
||
file
.
name
.
indexOf
(
"jpg"
)
>=
0
||
file
.
name
.
indexOf
(
"jpeg"
)
>=
0
)
{
let
url
=
file
.
url
;
this
.
dialogImageUrl
=
url
;
this
.
$refs
.
elImage
.
clickHandler
();
}
else
{
if
(
file
.
xxzjbh
)
{
fileUrlDetail
({
xxzjbh
:
file
.
xxzjbh
}).
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
],
{
type
:
"application/pdf"
,
});
const
pdfSrc
=
window
.
URL
.
createObjectURL
(
blob
);
window
.
open
(
pdfSrc
,
"_blank"
);
});
}
else
{
window
.
open
(
file
.
url
,
"_blank"
);
}
}
},
strReplace
(
id
,
str
)
{
if
(
JSON
.
stringify
(
str
)
==
"{}"
)
return
""
;
if
(
id
.
indexOf
(
"#"
)
<
0
)
{
if
(
str
[
id
])
{
let
a
=
str
[
id
].
slice
(
0
,
-
1
).
replace
(
"#"
,
"、"
);
return
a
;
}
else
{
return
""
;
}
}
else
{
let
s
=
""
;
let
ids
=
id
.
split
(
"#"
);
str
[
ids
[
0
]].
split
(
"#"
).
forEach
((
j
,
index
)
=>
{
if
(
j
)
{
s
+=
j
+
`(
${
str
[
ids
[
1
]].
split
(
"#"
)[
index
]}
)、`
;
}
});
return
s
.
slice
(
0
,
-
1
);
}
},
// 当元素滚动条被滚动时运行的脚本
onScroll
()
{
// var box = document.getElementById('box')
// var t = document.documentElement.scrollTop || document.body.scrollTop
// box.style.top = t + 'px'
var
jump
=
document
.
querySelectorAll
(
".step-jump"
);
var
distance
=
document
.
documentElement
.
scrollTop
||
window
.
pageYOffset
||
document
.
body
.
scrollTop
;
jump
.
forEach
((
item
,
index
)
=>
{
if
(
distance
>=
item
.
offsetTop
)
{
this
.
activeStep
=
index
;
}
});
},
closefilePreview
(
e
)
{
// this.filePreview = "";
// this.filePreviewFlag = false;
console
.
log
(
e
.
target
.
nodeName
);
if
(
e
.
target
.
nodeName
!=
"BUTTON"
&&
e
.
target
.
nodeName
!=
"I"
&&
e
.
target
.
nodeName
!=
"SECTION"
)
{
this
.
multiples
=
1
;
this
.
deg
=
0
;
this
.
filePreviewFlag
=
false
;
}
else
{
}
},
toDetail
(
xxzjbh
,
type
)
{
if
(
type
==
"bhr"
)
{
let
routeData
=
this
.
$router
.
resolve
({
path
:
"/ajBhr"
,
query
:
{
xxzjbh
:
xxzjbh
},
});
window
.
open
(
routeData
.
href
,
"_blank"
);
}
else
{
let
routeData
=
this
.
$router
.
resolve
({
path
:
"/ajXyr"
,
query
:
{
xxzjbh
:
xxzjbh
},
});
window
.
open
(
routeData
.
href
,
"_blank"
);
}
},
closePage
()
{
window
.
opener
=
null
;
window
.
open
(
"about:blank"
,
"_top"
).
close
();
},
toggle
()
{
this
.
isSp
=
!
this
.
isSp
;
},
handleClick
(
tab
)
{
if
(
tab
.
name
==
"first"
)
{
this
.
getBar
();
}
else
if
(
tab
.
name
==
"second"
)
{
this
.
getFzxyr
();
}
else
if
(
tab
.
name
==
"third"
)
{
this
.
getBhr
();
}
},
//监听滚动
handleScroll
(
e
)
{},
//导航菜单切换
handleNav
(
index
,
id
)
{
this
.
activeIndex
=
index
;
var
dom
=
document
.
querySelector
(
id
);
$
(
"#asjxq"
).
animate
({
scrollTop
:
dom
.
offsetTop
-
50
},
200
);
},
toSp
(
spsftg
)
{
let
self
=
this
;
this
.
$confirm
(
"确认审批?"
,
"审批"
,
{
confirmButtonText
:
"确定"
,
cancelButtonText
:
"取消"
,
type
:
"warning"
,
})
.
then
(()
=>
{
self
.
formD
.
spsftg
=
spsftg
;
self
.
$refs
[
"queryForm"
].
validate
((
valid
)
=>
{
if
(
valid
)
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在审批..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
let
spType
;
let
userInfo
=
window
.
sessionStorage
.
getItem
(
"userInfo"
);
if
(
userInfo
)
this
.
userInfoJson
=
JSON
.
parse
(
userInfo
);
if
(
this
.
userInfoJson
)
{
if
(
this
.
userInfoJson
.
grade
==
"S"
)
{
spType
=
"05"
;
}
else
if
(
this
.
userInfoJson
.
grade
==
"D"
)
{
spType
=
"04"
;
}
else
if
(
this
.
userInfoJson
.
grade
==
"B"
)
{
spType
=
"06"
;
}
}
addSp
({
orderXxzjbh
:
this
.
detailObj
.
orderXxzjbh
,
fxDogXxzjbh
:
this
.
$route
.
query
.
xxzjbh
,
glxxzjbhSource
:
"02"
,
spyjJyqk
:
self
.
formD
.
spyjJyqk
,
spsftgPdbz
:
spsftg
,
spType
:
spType
,
}).
then
((
response
)
=>
{
if
(
response
.
success
===
true
)
{
loading
.
close
();
if
(
spsftg
==
"0"
)
{
self
.
$alert
(
"审批退回"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
window
.
location
.
reload
();
window
.
open
(
"about:blank"
,
"_top"
).
close
();
self
.
$router
.
go
(
-
1
);
//返回上一层
},
});
}
else
if
(
spsftg
==
"1"
)
{
self
.
$alert
(
"审批通过"
,
"提示"
,
{
confirmButtonText
:
"确定"
,
callback
:
(
action
)
=>
{
window
.
location
.
reload
();
window
.
open
(
"about:blank"
,
"_top"
).
close
();
self
.
$router
.
go
(
-
1
);
//返回上一层
},
});
}
}
else
{
loading
.
close
();
}
});
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"请输入必填项"
,
});
return
false
;
}
});
})
.
catch
(()
=>
{
this
.
$message
({
type
:
"info"
,
message
:
"已取消"
,
});
});
},
doQueryRequest
(
form
,
cxUrl
)
{
/*post方法*/
return
Http
({
url
:
url
.
BaseURL
+
cxUrl
,
data
:
JSON
.
parse
(
form
),
method
:
"post"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
});
},
handleSizeChange
()
{},
handleCurrentChange
()
{},
xzlxfz
(
e
)
{
e
.
target
.
parentNode
.
childNodes
.
forEach
((
obj
)
=>
{
obj
.
classList
.
remove
(
"cur"
);
});
e
.
target
.
classList
.
add
(
"cur"
);
},
getBlgcLists
(
orderXxzjbh
,
loading
)
{
let
self
=
this
;
getBlgcLists
({
orderXxzjbh
:
orderXxzjbh
}).
then
((
res
)
=>
{
loading
.
close
();
if
(
res
.
success
)
{
self
.
laspxqtableData2
=
res
.
data
.
rows
.
reverse
();
}
});
},
getDetail
()
{
const
loading
=
this
.
$loading
({
lock
:
true
,
text
:
"正在查询..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
dogDetail
({
xxzjbh
:
this
.
$route
.
query
.
xxzjbh
,
}).
then
((
res
)
=>
{
if
(
res
.
success
)
{
this
.
detailObj
=
res
.
data
.
data
;
this
.
getBlgcLists
(
this
.
detailObj
.
orderXxzjbh
,
loading
);
this
.
detailObj
.
tbStDogFile1
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
if
(
e
.
zpnr
)
{
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
}
else
{
e
.
url2
=
require
(
"@/assets/img/excel.png"
);
}
});
this
.
detailObj
.
tbStDogFile3
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
if
(
e
.
zpnr
)
{
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
}
else
{
e
.
url2
=
require
(
"@/assets/img/excel.png"
);
}
});
this
.
detailObj
.
tbStDogFile2
.
forEach
((
e
)
=>
{
e
.
name
=
e
.
filename
;
e
.
url
=
e
.
zpnr
;
e
.
url2
=
e
.
zpnr
;
});
}
else
{
loading
.
close
();
}
});
},
/**
* 跳转至现勘编号详情
*/
toXkbh
(
xkid
)
{
// let unitcode = JSON.parse(sessionStorage.userInfo).unitcode;
let
unitcode
=
this
.
$route
.
query
.
asjbh
;
let
dwCode
=
""
;
if
(
unitcode
)
{
// let xckyDetailUrl = "http://10.1.2.43:9080/xcky_pic/page/sceneview/intoSceneview.action?functionType=3&id=" + xkid;
let
xckyDetailUrl
=
"http://xz.xz.ga/xckyxx/dist/index.html#/xckc?XCKYBH="
+
xkid
;
window
.
open
(
xckyDetailUrl
,
"_blank"
);
}
else
{
this
.
$message
({
type
:
"error"
,
message
:
"登录人单位异常"
,
});
return
;
}
},
barhandleCurrentChange
(
val
)
{
this
.
barForm
.
page
=
val
;
this
.
getBar
();
},
// 报案人信息
getBar
()
{
let
self
=
this
;
self
.
barForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
barForm
),
barURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
===
true
)
{
self
.
barxxtableData2
=
response
.
data
.
data
.
rows
;
self
.
barTotal
=
response
.
data
.
data
.
total
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
fzxyrhandleCurrentChange
(
val
)
{
this
.
fzxyrForm
.
page
=
val
;
this
.
getFzxyr
();
},
getFzxyr
()
{
let
self
=
this
;
self
.
fzxyrtableLoading
=
true
;
self
.
fzxyrForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
fzxyrForm
),
fzxyrURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
self
.
fzxyrtableData2
=
response
.
data
.
data
.
rows
;
self
.
fzxyrTotal
=
response
.
data
.
data
.
total
;
self
.
fzxyrtableLoading
=
false
;
self
.
fzxyrtableData2
.
forEach
((
item
)
=>
{
if
(
item
.
ryzpZjhm
==
""
)
{
let
params
=
new
FormData
();
params
.
append
(
"zjhm"
,
item
.
zhfzxyrCyzjZjhm
);
self
.
doQueryRequests
(
params
,
"/ajDetail/getQgryckzp"
)
.
then
((
res
)
=>
{
item
.
ryzpZjhm
=
res
.
data
.
data
.
ryzpZjhm
;
self
.
$forceUpdate
();
});
}
});
}
else
{
self
.
fzxyrtableLoading
=
false
;
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
bhrhandleCurrentChange
(
val
)
{
this
.
bhrForm
.
page
=
val
;
this
.
getBhr
();
},
getBhr
()
{
let
self
=
this
;
self
.
bhrtableLoading
=
true
;
self
.
bhrForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
(
self
.
bhrForm
),
bhrURL
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
success
)
{
self
.
bhrtableLoading
=
false
;
self
.
bhrtableData2
=
response
.
data
.
data
.
rows
;
self
.
bhrTotal
=
response
.
data
.
data
.
total
;
self
.
bhrtableData2
.
forEach
((
item
)
=>
{
if
(
item
.
ryzpZjhm
==
""
)
{
let
params
=
new
FormData
();
params
.
append
(
"zjhm"
,
item
.
bhrCyzjZjhm
);
self
.
doQueryRequests
(
params
,
"/ajDetail/getQgryckzp"
)
.
then
((
res
)
=>
{
item
.
ryzpZjhm
=
res
.
data
.
data
.
ryzpZjhm
;
self
.
$forceUpdate
();
});
}
});
}
else
{
self
.
bhrtableLoading
=
false
;
self
.
$message
({
type
:
"error"
,
message
:
response
.
data
.
message
,
});
}
});
},
doQueryRequests
(
form
,
path
)
{
/*post方法*/
return
Http
({
url
:
url
.
BaseURL
+
path
,
data
:
form
,
method
:
"post"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
"Content-Type"
:
"multipart/form-data"
,
},
});
},
/**
* 数据检查
*/
async
sjjc
()
{
var
self
=
this
;
self
.
dialogVisible
=
true
;
//初始化每个检查项
self
.
checkList
.
forEach
((
groupItem
)
=>
{
groupItem
.
status
=
"wait"
;
groupItem
.
errorShowData
=
""
;
if
(
groupItem
.
children
&&
groupItem
.
children
.
length
>
0
)
{
groupItem
.
children
.
forEach
((
singleItem
)
=>
{
singleItem
.
status
=
"wait"
;
});
}
});
self
.
activeCollapseNames
=
[
"案件基本信息"
];
//检查每个需要检查的数据项
var
readyToCheckList
=
self
.
checkList
.
filter
((
chickItem
)
=>
{
return
chickItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
;
});
self
.
CustomForeach
(
readyToCheckList
,
async
(
e
,
i
)
=>
{
const
queryUrl
=
e
.
checkUrl
;
e
.
currentCheck
=
e
.
checking
;
self
.
dialogTitleContent
=
e
.
checking
;
self
.
activeCollapseNames
.
push
(
e
.
name
);
e
.
children
[
0
].
status
=
"process "
;
//当折叠框展开时再出发滚动事件 所以用settimeout nextTick不行
setTimeout
(()
=>
{
if
(
self
.
$refs
.
sjjcScrollbar
)
{
switch
(
e
.
name
)
{
case
"案件基本信息"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
0
;
break
;
case
"案件法律文书"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
;
break
;
case
"犯罪嫌疑人"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
;
break
;
case
"案件受害人"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar2
[
0
].
$el
.
offsetHeight
;
break
;
case
"嫌疑人法律文书"
:
self
.
$refs
.
sjjcScrollbar
.
wrap
.
scrollTop
=
self
.
$refs
.
sjjcScrollbar0
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar1
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar2
[
0
].
$el
.
offsetHeight
+
self
.
$refs
.
sjjcScrollbar3
[
0
].
$el
.
offsetHeight
;
break
;
}
}
},
300
);
await
new
Promise
((
resolve
)
=>
{
self
.
doQueryRequest
(
JSON
.
stringify
(
e
.
queryParame
),
queryUrl
)
.
then
((
response
)
=>
{
if
(
response
.
data
.
data
)
{
if
(
response
.
data
.
data
.
result
)
{
self
.
activeCollapseNames
.
splice
(
self
.
activeCollapseNames
.
indexOf
(
e
.
name
),
1
);
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"success"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"success"
;
e
.
currentCheck
=
e
.
checked
;
}
sresolve
(
true
);
},
300
);
});
}
);
// e.children.forEach(singleCheckItem => {
// singleCheckItem.status = "success"
// })
}
else
{
if
(
e
.
name
==
"犯罪嫌疑人"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
xyrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process"
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
if
(
e
.
name
==
"案件受害人"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
bhrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
if
(
e
.
name
==
"嫌疑人法律文书"
)
{
var
errorMessage
=
""
;
response
.
data
.
data
.
xyrList
.
forEach
((
xyrItem
,
xyrIndex
)
=>
{
if
(
xyrItem
.
result
==
false
)
{
var
lostFields
=
""
;
for
(
let
singleFiel
in
xyrItem
.
detail
)
{
if
(
xyrItem
.
detail
[
singleFiel
]
==
"0"
)
{
lostFields
+=
e
.
fieldConfig
[
singleFiel
]
+
" "
;
}
}
errorMessage
+=
"<span style='display: inline-block;width: 50px;'>"
+
(
xyrItem
.
xm
||
xyrIndex
+
1
)
+
"</span>:<strong style='color:red;'>"
+
lostFields
+
"</strong> 字段必填<br/>"
;
}
});
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
childrenItem
.
status
=
"error"
;
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
e
.
errorShowData
=
errorMessage
;
}
sresolve
(
true
);
},
300
);
});
}
);
}
else
{
self
.
CustomForeach
(
e
.
children
,
async
(
childrenItem
,
childrenIndex
)
=>
{
if
(
childrenItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
)
{
await
new
Promise
((
sresolve
)
=>
{
childrenItem
.
status
=
"process "
;
setTimeout
(()
=>
{
if
(
response
.
data
.
data
[
childrenItem
.
id
]
==
"1"
)
{
childrenItem
.
status
=
"success"
;
}
else
{
childrenItem
.
status
=
"error"
;
}
if
(
childrenIndex
==
e
.
children
.
length
-
1
)
{
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
e
.
currentCheck
=
e
.
checked
;
}
sresolve
(
true
);
},
300
);
});
}
}
);
// e.children.forEach(singleCheckItem => {
// if (response.data.data[singleCheckItem.id] == "1") {
// singleCheckItem.status = "success"
// } else {
// singleCheckItem.status = "error"
// }
// })
}
}
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
e
.
name
+
"校验异常"
,
});
e
.
status
=
"error"
;
self
.
checkResult
=
false
;
}
setTimeout
(
()
=>
{
resolve
(
response
);
},
300
*
e
.
children
.
filter
((
cItem
)
=>
{
return
cItem
.
type
.
indexOf
(
self
.
spType
)
>=
0
;
}).
length
);
});
});
if
(
i
==
readyToCheckList
.
length
-
1
)
{
if
(
self
.
checkResult
)
{
self
.
dialogTitleContent
=
"检测结果:数据质量合格。"
;
}
else
{
self
.
dialogTitleContent
=
"检测结果:数据质量不合格!"
;
}
}
});
},
// 异步转同步
async
CustomForeach
(
arr
,
callback
)
{
const
length
=
arr
.
length
;
const
O
=
Object
(
arr
);
let
k
=
0
;
while
(
k
<
length
)
{
if
(
k
in
O
)
{
const
kValue
=
O
[
k
];
await
callback
(
kValue
,
k
,
O
);
}
k
++
;
}
},
/**
* 获取立案法律文书列表
*/
getCaseFile
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"la"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"立案法律文书获取异常"
,
});
}
});
},
/**
* 获取侦查终结法律文书列表
*/
getCaseFile2
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"zczj"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList2
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"侦查终结法律文书获取异常"
,
});
}
});
},
/**
* 获取嫌疑人法律文书列表
*/
getCaseFile3
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
doQueryRequest
(
JSON
.
stringify
({
asjbh
:
self
.
$route
.
query
.
asjbh
,
type
:
"xyr"
,
}),
`/flwsFj/tbstasjflwsCj/getFlwsByAsjbh`
)
.
then
((
response
)
=>
{
if
(
response
.
data
)
{
self
.
caseFileList3
=
response
.
data
.
data
.
asjxxList
;
}
else
{
self
.
$message
({
type
:
"error"
,
message
:
"嫌疑人法律文书获取异常"
,
});
}
});
},
// 涉案照片视频
getCaseFile4
()
{
let
self
=
this
;
self
.
laspxqForm
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
let
fjurl
=
"/tbstAsjFj/tbstasjfj/queryAsjfjxx"
;
Http
.
post
(
`
${
url
.
BaseURL
}${
fjurl
}
`
,
{
asjbh
:
self
.
laspxqForm
.
asjbh
,
},
{
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
)
.
then
((
res
)
=>
{
if
(
res
.
data
.
success
)
{
self
.
caseFileList4
=
res
.
data
.
data
;
}
})
.
catch
((
err
)
=>
{
console
.
log
(
"查询失败"
);
});
},
downLoadCaseFile
(
fileItem
)
{
debugger
;
var
self
=
this
;
var
index
=
fileItem
.
flwsDzwjbt
.
lastIndexOf
(
"."
);
const
type
=
fileItem
.
flwsDzwjbt
.
substring
(
index
);
if
(
type
==
".pdf"
)
{
Http
.
get
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/getPdfflws`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"Content-Type"
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
binaryData
=
[];
binaryData
.
push
(
res
.
data
);
let
pdfUrl
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
window
.
open
(
pdfUrl
);
});
}
else
if
(
// self.loadingpic = true,
type
==
".jpg"
||
type
==
".jpeg"
||
type
==
".png"
||
type
==
".JPG"
||
type
==
".JPEG"
||
type
==
".PNG"
)
{
var
loadingsJpG
=
self
.
$loading
({
lock
:
true
,
text
:
"正在打开..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
Http
.
post
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/queryFlwsnr`
,
{
xxzjbh
:
fileItem
.
xxzjbh
},
{
headers
:
{
"Content-Type"
:
"application/json"
,
//'Content-Type':'application/json;charset=UTF-8',
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
).
then
((
res
)
=>
{
if
(
res
.
data
.
data
.
flws
&&
res
.
data
.
data
.
flws
.
zp
)
{
loadingsJpG
.
close
();
// self.loadingpic = false,
loadingsJpG
.
close
();
this
.
filePreview
=
`data:image/
${
type
.
substring
(
1
)}
;base64,
${
res
.
data
.
data
.
flws
.
zp
}
`
;
this
.
filePreviewFlag
=
true
;
}
else
{
this
.
$message
.
error
(
"法律文书不存在"
);
loadingsJpG
.
close
();
}
});
console
.
log
(
this
.
filePreview
);
}
else
{
var
urls
=
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/downloadFlws`
;
var
params
=
new
FormData
();
params
.
append
(
"xxzjbh"
,
fileItem
.
xxzjbh
);
axios
.
post
(
urls
,
params
,
{
responseType
:
"arraybuffer"
,
})
.
then
((
res
)
=>
{
let
blob
=
new
Blob
([
res
.
data
],
{
type
:
"application/vnd.ms-excel"
,
});
// 组装a标签
let
elink
=
document
.
createElement
(
"a"
);
// 设置下载文件名
elink
.
download
=
fileItem
.
flwsDzwjbt
;
elink
.
style
.
display
=
"none"
;
elink
.
href
=
URL
.
createObjectURL
(
blob
);
document
.
body
.
appendChild
(
elink
);
elink
.
click
();
document
.
body
.
removeChild
(
elink
);
});
}
},
downLoadCaseFile2
(
fileItem
)
{
var
self
=
this
;
var
index
=
fileItem
.
asjfjDzwjbt
.
lastIndexOf
(
"."
);
const
type
=
fileItem
.
asjfjDzwjbt
.
substring
(
index
);
if
(
type
==
".pdf"
)
{
Http
.
get
(
`
${
url
.
BaseURL
}
/flwsFj/tbstasjflwsCj/getPdfflws`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"Content-Type"
:
"application/vnd.openxmlformats-officedocument.spreadsheetml.sheet"
,
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
binaryData
=
[];
binaryData
.
push
(
res
.
data
);
let
pdfUrl
=
window
.
URL
.
createObjectURL
(
new
Blob
(
binaryData
,
{
type
:
"application/pdf"
})
);
window
.
open
(
pdfUrl
);
});
}
else
if
(
type
==
".jpg"
||
type
==
".jpeg"
||
type
==
".png"
||
type
==
".JPG"
||
type
==
".JPEG"
||
type
==
".PNG"
)
{
var
loadingsJpG
=
self
.
$loading
({
lock
:
true
,
text
:
"正在打开..."
,
spinner
:
"el-icon-loading"
,
background
:
"rgba(255, 255, 255, 0.7)"
,
});
Http
.
post
(
`
${
url
.
BaseURL
}
/tbstAsjFj/tbstasjfj/queryAsjfjnr`
,
{
xxzjbh
:
fileItem
.
xxzjbh
},
{
headers
:
{
"Content-Type"
:
"application/json"
,
//'Content-Type':'application/json;charset=UTF-8',
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
}
).
then
((
res
)
=>
{
if
(
res
.
data
.
data
.
asjfjDzwjnr
)
{
this
.
filePreviewFlag
=
true
;
loadingsJpG
.
close
();
this
.
filePreview
=
`data:image/
${
type
.
substring
(
1
)}
;base64,
${
res
.
data
.
data
.
asjfjDzwjnr
}
`
;
}
else
{
this
.
$message
.
error
(
"法律文书不存在"
);
loadingsJpG
.
close
();
}
});
}
else
{
// var urls = `${url.BaseURL}/tbstAsjFj/tbstasjfj/downloadAsjfj`
// var params = new FormData()
// params.append('xxzjbh', fileItem.xxzjbh)
// axios
// .post(urls, params, {
// responseType: 'arraybuffer'
// })
// .then((res) => {
// let blob = new Blob([res.data], {
// type: 'video/mp4'
// })
// // 组装a标签
// let elink = document.createElement('a')
// // 设置下载文件名
// elink.download = fileItem.asjfjDzwjbt
// elink.style.display = 'none'
// elink.href = URL.createObjectURL(blob)
// document.body.appendChild(elink)
// elink.click()
// document.body.removeChild(elink)
// })
Http
.
get
(
`
${
url
.
BaseURL
}
/tbstAsjFj/tbstasjfj/downloadAsjfj`
,
{
params
:
{
xxzjbh
:
fileItem
.
xxzjbh
},
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
)
},
responseType
:
"blob"
,
}).
then
((
res
)
=>
{
let
blobUrl
=
window
.
URL
.
createObjectURL
(
res
.
data
);
let
link
=
document
.
createElement
(
"a"
);
document
.
body
.
appendChild
(
link
);
link
.
style
.
display
=
"none"
;
link
.
href
=
blobUrl
;
// 设置a标签的下载属性,设置文件名及格式,后缀名最好让后端在数据格式中返回
link
.
download
=
fileItem
.
asjfjDzwjbt
;
// 自触发click事件
link
.
click
();
document
.
body
.
removeChild
(
link
);
window
.
URL
.
revokeObjectURL
(
blobUrl
);
});
}
},
/**
* 获取文件请求
*/
getGileRequest
(
form
,
relurl
)
{
/*post方法*/
var
currentUrl
=
relurl
?
relurl
:
this
.
cxUrl
;
return
Http
({
url
:
url
.
BaseURL
+
currentUrl
,
data
:
JSON
.
parse
(
form
),
method
:
"post"
,
responseType
:
"blob"
,
headers
:
{
"blade-auth"
:
sessionStorage
.
getItem
(
"token"
),
},
});
},
toBIgChange
(
msg
)
{
this
.
filePreviewFlag
=
true
;
if
(
msg
==
"left"
)
{
this
.
deg
-=
90
;
if
(
this
.
deg
<=
-
360
)
{
this
.
deg
=
0
;
}
}
else
if
(
msg
==
"min"
)
{
if
(
this
.
multiples
<=
0.5
)
{
return
;
}
this
.
multiples
-=
0.25
;
}
else
if
(
msg
==
"max"
)
{
if
(
this
.
multiples
>=
3
)
{
return
;
}
this
.
multiples
+=
0.25
;
}
else
if
(
msg
==
"all"
)
{
(
this
.
multiples
=
1
),
(
this
.
deg
=
0
);
}
else
if
(
msg
==
"right"
)
{
this
.
deg
+=
90
;
if
(
this
.
deg
>=
360
)
{
this
.
deg
=
0
;
}
}
},
},
created
()
{
let
self
=
this
;
self
.
spsj
=
new
Date
().
toLocaleString
();
self
.
asjbh
=
self
.
$route
.
query
.
asjbh
;
self
.
spType
=
self
.
$route
.
query
.
spType
;
self
.
getDetail
();
},
};
</
script
>
<
style
lang=
"scss"
>
#asjxq
{
.dt_menu
{
.el-steps--vertical
{
cursor
:
pointer
;
}
.el-step__icon.is-text
{
border
:
none
;
}
.el-step__icon-inner
{
width
:
6px
;
height
:
6px
;
background
:
#dddddd
;
color
:
transparent
;
border-radius
:
50%
;
}
.el-step__line
{
background-color
:
#eaeaea
;
}
.el-step__icon
{
height
:
16px
;
}
.el-step__head
{
top
:
4px
;
}
}
}
</
style
>
<
style
scoped
lang=
"scss"
>
@import
"~@/assets/spStyle/bootstrap-new.min.css"
;
@import
"~@/assets/spStyle/font-awesome.min.css"
;
@import
"~@/assets/spStyle/style.css"
;
@import
"~@/assets/spStyle/autoCheck.css"
;
@import
"~@/assets/styles/asjDetail.scss"
;
/
deep
/
.el-upload-list__item
{
overflow
:
unset
!important
;
}
/
deep
/
.el-upload__input
{
display
:
none
!important
;
}
/
deep
/
.el-upload--picture-card
{
display
:
none
!important
;
}
.photoList
{
>
p
{
position
:
absolute
;
width
:
100%
;
bottom
:
-30px
;
font-size
:
13px
;
text-align
:
center
;
color
:
#222222
;
text-overflow
:
ellipsis
;
overflow
:
hidden
;
word-wrap
:
normal
;
white-space
:
nowrap
;
}
}
.activeColor
{
color
:
#3670ff
;
font-size
:
13px
;
}
.activeColor1
{
color
:
#555555
;
font-size
:
13px
;
}
.prive_picture
{
z-index
:
999
;
background
:
rgba
(
0
,
0
,
0
,
0.5
);
width
:
100%
;
height
:
100%
;
position
:
fixed
;
top
:
0
;
left
:
0
;
.picture
{
width
:
500px
;
height
:
600px
;
margin-left
:
-250px
;
left
:
50%
;
top
:
10%
;
//
transform
:
translateX
(
-50%
);
transform
:
translateY
(
-50%
);
}
.prive_btn
{
z-index
:
100
;
display
:
flex
;
width
:
500px
;
justify-content
:
space-around
;
//
justify-content
position
:
relative
;
transform
:
translateY
(
-50%
);
left
:
40%
;
top
:
15%
;
}
.btn
{
position
:
absolute
;
z-index
:
101
;
display
:
flex
;
align-items
:
center
;
justify-content
:
center
;
border-radius
:
50%
;
opacity
:
0.8
;
cursor
:
pointer
;
box-sizing
:
border-box
;
user-select
:
none
;
left
:
50%
;
bottom
:
30px
;
transform
:
translateX
(
-50%
);
width
:
282px
;
height
:
44px
;
padding
:
0
23px
;
background-color
:
#606266
;
border-color
:
#fff
;
border-radius
:
22px
;
}
.btnchild
{
width
:
100%
;
height
:
100%
;
text-align
:
justify
;
cursor
:
default
;
font-size
:
23px
;
color
:
#fff
;
display
:
flex
;
align-items
:
center
;
justify-content
:
space-around
;
}
}
//
数据质量检测弹框
/
deep
/
.dataCheckDialogClass
{
//弹框头部关闭按钮
.el-dialog__header
{
height
:
80px
;
color
:
#fff
;
background
:
url("~@/assets/img/bg.jpg")
;
.headerContend
{
height
:
100%
;
align-items
:
center
;
display
:
flex
;
position
:
relative
;
line-height
:
82px
;
text-align
:
left
;
.text-ing
{
display
:
inline-block
;
margin-left
:
2px
;
width
:
390px
;
}
.btn-group
{
position
:
relative
;
}
}
.el-dialog__headerbtn
{
top
:
12px
!important
;
width
:
18px
;
height
:
21px
;
border
:
1px
solid
#1899ca
;
background
:
gradient
(
linear
,
left
top
,
left
bottom
,
from
(
#65a9d7
),
to
(
#3e779d
)
);
box-shadow
:
#000
0
1px
0
;
border-top
:
1px
solid
#96d1f8
;
border-radius
:
4px
;
.el-dialog__close
{
color
:
#fff
!important
;
}
}
}
//
滚动条
.el-scrollbar
{
.el-scrollbar__wrap
{
overflow-x
:
hidden
;
}
//
折叠框
.el-collapse
{
//折叠框标题
.collapseRowTag
{
background
:
#ffb122
;
border-radius
:
10px
;
width
:
22px
;
height
:
22px
;
color
:
#fff
;
display
:
block
;
float
:
left
;
margin-right
:
8px
;
text-align
:
center
;
font-size
:
14px
;
line-height
:
22px
;
}
//
折叠框内容
.el-collapse-item__content
{
.el-collapse-item__arrow
{
transform
:
rotate
(
90deg
);
}
.el-collapse-item__arrow.is-active
{
transform
:
rotate
(
-90deg
);
}
//
步骤条
.el-steps
{
flex-wrap
:
wrap
;
.el-step__line
{
opacity
:
0.2
;
}
.el-step
{
padding-bottom
:
50px
;
//等待状态的步骤样式
.el-step__head.
is-wait
:
after
{
content
:
"等待扫描"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
width
:
100px
;
height
:
25px
;
}
//
执行中状态的步骤样式
.el-step__head.is-process
{
color
:
#449dff
;
border-color
:
#449dff
;
}
.el-step__head.is-process
:before
{
content
:
""
;
position
:
absolute
;
top
:
0
;
left
:
0
;
z-index
:
10000
;
width
:
16px
;
height
:
44px
;
background
:
url("~@/assets/img/scan.png")
;
animation
:
rotate
1.5s
linear
infinite
;
}
.el-step__head.is-process
:after
{
content
:
"正在扫描"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
width
:
100px
;
height
:
25px
;
}
.el-step__main
{
.el-step__title.is-process
{
color
:
#449dff
;
}
}
//
结束
/
成功状态的步骤样式
.el-step__head.is-finish
{
color
:
#67c23a
;
border-color
:
#67c23a
;
}
.el-step__head.is-success
:after
{
content
:
"合格"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
background
:
#67c23a
;
color
:
#fff
;
border-radius
:
12px
;
text-align
:
center
;
width
:
70px
;
height
:
25px
;
}
.el-step__main
{
.el-step__title.is-finish
{
color
:
#67c23a
;
}
}
//
结束
/
成功状态的步骤样式
.el-step__head.is-error
:after
{
content
:
"缺失"
;
position
:
absolute
;
top
:
65px
;
left
:
0
;
z-index
:
10000
;
background
:
#ff754f
;
color
:
#fff
;
border-radius
:
12px
;
text-align
:
center
;
width
:
70px
;
height
:
25px
;
}
}
}
}
}
}
}
</
style
>
src/views/tyshManage/index.vue
View file @
5b01288b
...
...
@@ -127,20 +127,8 @@
<el-table-column
align=
"left"
label=
"操作"
width=
"100"
>
<template
slot-scope=
"scope"
>
<div>
<el-button
type=
"text"
size=
"small"
@
click=
"editData(scope.row)"
v-if=
"scope.row.spstatus != '01' && scope.row.spstatus != '02'"
>
修改
</el-button>
<el-button
type=
"text"
size=
"small"
@
click=
"deleteData(scope.row)"
v-if=
"scope.row.spstatus != '01' && scope.row.spstatus != '02'"
>
删除
<el-button
type=
"text"
size=
"small"
@
click=
"spData(scope.row)"
>
审批
</el-button>
</div>
</
template
>
...
...
@@ -224,8 +212,8 @@ import {
import
{
getJsonDataApi
}
from
"@/utils/getJsonData.js"
;
import
{
getCodeName
,
handleDownFile
,
getColumns
}
from
"@/utils/mk.js"
;
import
{
get
tyq
lAllColumns
,
get
Gzqfx
glDefaultColumns
,
get
Tyshqg
lAllColumns
,
get
Tyshq
glDefaultColumns
,
}
from
"@/utils/tableHeaderParams.js"
;
import
LazySelectTreeDialog
from
"@c/lazy_treeCode_components.vue"
;
...
...
@@ -274,9 +262,9 @@ export default {
showHeaderSettingBox
:
false
,
headerSettInfo
:
{
menuId
:
"
po
DogRetireManage"
,
allColumns
:
get
tyq
lAllColumns
(),
defaultColumns
:
get
Gzqfx
glDefaultColumns
(),
menuId
:
"
ty
DogRetireManage"
,
allColumns
:
get
Tyshqg
lAllColumns
(),
defaultColumns
:
get
Tyshq
glDefaultColumns
(),
},
colPropArr
:
[],
};
...
...
@@ -298,6 +286,14 @@ export default {
this
.
getLists
(
this
.
currentPage
);
},
methods
:
{
spData
(
row
){
this
.
$router
.
push
({
name
:
"jobDogManagetySp"
,
query
:
{
xxzjbh
:
row
.
xxzjbh
,
},
});
},
setAlign
(
val
)
{
let
rightArr
=
[
"trainCountForName"
];
if
(
rightArr
.
includes
(
val
))
{
...
...
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