Commit 5b01288b by liyuhang19990520

222

parent bd0d14cc
No preview for this file type
......@@ -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)
......@@ -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)
......
......@@ -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',
......
......@@ -11,15 +11,15 @@ export const getJsryglAllColumns = () => {
},
{
label: "性别",
prop: "gender",
prop: "genderStr",
},
{
label: "出生日期",
prop: "birthDate",
prop: "birthDateStr",
},
{
label: "是否警犬技术相关专业",
prop: "isjwzyForName",
prop: "isjwzyStr",
},
{
label: "毕业院校",
......@@ -27,11 +27,11 @@ export const getJsryglAllColumns = () => {
},
{
label: "归属单位",
prop: "gsdwGajgjgdm",
prop: "gsdwGajgmc",
},
{
label: "归属序列",
prop: "jwjsxl",
prop: "jwjsxlStr",
},
{
label: "所带警犬",
......@@ -43,7 +43,7 @@ export const getJsryglAllColumns = () => {
},
{
label: "人员分类",
prop: "ryfl",
prop: "ryflStr",
},
{
label: "带犬年限",
......@@ -63,19 +63,19 @@ export const getJsryglDefaultColumns = () => {
},
{
label: "性别",
prop: "gender",
prop: "genderStr",
},
{
label: "出生日期",
prop: "birthDate",
prop: "birthDateStr",
},
{
label: "是否警犬技术相关专业",
prop: "isjwzyForName",
prop: "isjwzyStr",
},
{
label: "归属单位",
prop: "gsdwGajgjgdm",
prop: "gsdwGajgmc",
},
{
label: "从事警犬技术工作时间",
......@@ -173,23 +173,23 @@ export const getJygzqglAllColumns = () => {
},
{
label: "性别",
prop: "genderForName",
prop: "genderStr",
},
{
label: "出生日期",
prop: "birthDate",
prop: "birthDateStr",
},
{
label: "归属警种",
prop: "policeCategoryForName",
prop: "policeCategoryStr",
},
{
label: "工作犬等级",
prop: "trainingLevelIdForName",
prop: "trainingLevelIdStr",
},
{
label: "品种",
prop: "speciesIdForName",
prop: "speciesIdStr",
},
{
label: "DNA编号",
......@@ -197,15 +197,19 @@ export const getJygzqglAllColumns = () => {
},
{
label: "专业方向",
prop: "wordForName",
prop: "workingDogClassificationIdStr",
},
{
label: "来源",
prop: "dogSource",
prop: "dogSourceStr",
},
{
label: "评定日期",
prop: "pdrq",
prop: "pdrqStr",
},
{
label: "归属单位",
prop: "trainingUnitName",
},
]
return arr
......@@ -224,15 +228,15 @@ export const getJygzqglDefaultColumns = () => {
},
{
label: "出生日期",
prop: "birthDate",
prop: "birthDateStr",
},
{
label: "工作犬等级",
prop: "trainingLevelIdForName",
prop: "trainingLevelIdStr",
},
{
label: "专业方向",
prop: "wordForName",
prop: "workingDogClassificationIdStr",
},
]
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: "trainSubjectForName",
prop: "trainSubjectStr",
},
{
label: "审核状态",
......@@ -329,7 +333,7 @@ export const getGzqfxglAllColumns = () => {
},
{
label: "申请评定日期",
prop: "checkDate",
prop: "checkDateStr",
},
{
label: "工作犬等级",
......@@ -337,14 +341,13 @@ export const getGzqfxglAllColumns = () => {
},
{
label: "工作犬评定日期",
prop: "workdogpdrq",
prop: "workdogpdrqStr",
},
]
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: "birthDateStr",
},
{
label: "带犬人员",
......@@ -391,19 +511,19 @@ export const getJyzqAllColumns = () => {
},
{
label: "性别",
prop: "gender",
prop: "genderStr",
},
{
label: "品种",
prop: "speciesId",
prop: "speciesIdStr",
},
{
label: "来源",
prop: "dogSource",
prop: "dogSourceStr",
},
{
label: "归属单位",
prop: "trainingUnit",
prop: "trainingUnitName",
},
]
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
......@@ -282,7 +282,7 @@ export default {
showImportBox: false,
importInfo: {
fileCName: "技术人员导入模版.xlsx",
fileCName: "带犬人员批量导入模板.xlsx",
fileLocalUrl: "files/jsrydrmb.xlsx",
apiName: "importArtisanApi",
},
......
<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 &&
......
<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>
......@@ -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)) {
......
......@@ -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,
exportJobDogUrl,
exportSp,
deleteJobDog,
} from "@/api/menuDataApi/jobDogManageApi.js";
import { getJsonDataApi } from "@/utils/getJsonData.js";
import { getCodeName, handleDownFile, getColumns } from "@/utils/mk.js";
import {
getGzqfxglAllColumns,
getGzqfxglDefaultColumns,
getGzqfxglAllColumnsSh,
getGzqfxglDefaultColumnsSh,
} 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: getGzqfxglAllColumnsSh(),
defaultColumns: getGzqfxglDefaultColumnsSh(),
},
colPropArr: [],
};
......@@ -426,7 +428,7 @@ export default {
};
axios
.post(exportJobDogUrl, JSON.stringify(params), {
.post(exportSp, JSON.stringify(params), {
headers: { "Content-Type": "application/json" },
responseType: "blob",
})
......
......@@ -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)) {
......
......@@ -336,7 +336,7 @@ export default {
showImportBox: false,
importInfo: {
fileCName: "警用工作犬导入模版.xlsx",
fileCName: "工作犬批量导入模板.xlsx",
fileLocalUrl: "files/jygzqdrmb.xlsx",
apiName: "importPoDogJobApi",
},
......
......@@ -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)) {
......
<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>
<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>
......@@ -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 {
gettyqlAllColumns,
getGzqfxglDefaultColumns,
getTyshqglAllColumns,
getTyshqglDefaultColumns,
} from "@/utils/tableHeaderParams.js";
import LazySelectTreeDialog from "@c/lazy_treeCode_components.vue";
......@@ -274,9 +262,9 @@ export default {
showHeaderSettingBox: false,
headerSettInfo: {
menuId: "poDogRetireManage",
allColumns: gettyqlAllColumns(),
defaultColumns: getGzqfxglDefaultColumns(),
menuId: "tyDogRetireManage",
allColumns: getTyshqglAllColumns(),
defaultColumns: getTyshqglDefaultColumns(),
},
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)) {
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment