This commit is contained in:
jiask 2025-12-17 15:32:57 +08:00
parent 3016bd4567
commit 09b19f5dfc
5 changed files with 66 additions and 64 deletions

View File

@ -227,7 +227,7 @@ export function getAccessListPageApi(data) {
export function getCheckListPageApi(data) { export function getCheckListPageApi(data) {
return request({ return request({
url: '/certificate/certificate_manage/certificateInfo/getCheckListByCertificateNo', url: '/certificate/certificate_verify/certificateVerify/detail',
method: 'get', method: 'get',
headers: { headers: {
//"merchant-id":"378915229716713472", //"merchant-id":"378915229716713472",

View File

@ -971,7 +971,14 @@
this.$modal.msgSuccess(response.msg); this.$modal.msgSuccess(response.msg);
this.getList(); this.getList();
}else{ }else{
this.$modal.msgError(response.msg); // this.$modal.msgError(response.msg);
this.$alert(
"<div style='overflow: auto;overflow-x: hidden;max-height: 70vh;padding: 10px 20px 0;'>" +
response.msg +
'</div>',
'导入结果',
{ dangerouslyUseHTMLString: true },
)
} }
}, },
/** 下载模板操作 */ /** 下载模板操作 */

View File

@ -94,20 +94,14 @@
<!-- <el-table-column label="部门" align="center" prop="deptFullName" :show-overflow-tooltip="true" width="250"/> <!-- <el-table-column label="部门" align="center" prop="deptFullName" :show-overflow-tooltip="true" width="250"/>
<el-table-column label="出生日期" align="center" width="120" prop="birthday" :show-overflow-tooltip="true"/> <el-table-column label="出生日期" align="center" width="120" prop="birthday" :show-overflow-tooltip="true"/>
<el-table-column label="出生地点" align="center" prop="birthAddr" :show-overflow-tooltip="true"/> --> <el-table-column label="出生地点" align="center" prop="birthAddr" :show-overflow-tooltip="true"/> -->
<el-table-column label="证件类型" align="center" prop="certificateTypeName" :show-overflow-tooltip="true"/>
<el-table-column label="证件编号" align="center" prop="certificateNo" :show-overflow-tooltip="true" width="180"> <el-table-column label="证件编号" align="center" prop="certificateNo" :show-overflow-tooltip="true" width="180">
<template slot-scope="scope"> <template slot-scope="scope">
<span style="color: #1890ff;cursor: pointer;" @click="openLog(scope.row)">{{scope.row.certificateNo}}</span> <span style="color: #1890ff;cursor: pointer;" @click="openLog(scope.row)">{{scope.row.certificateNo}}</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="签发地" align="center" prop="issueAddr" :show-overflow-tooltip="true"/> <el-table-column label="核验类型" align="center" prop="verifyTypeName" :show-overflow-tooltip="true"/>
<el-table-column label="签发日期" align="center" width="120" prop="issueDay" :show-overflow-tooltip="true"/> <el-table-column label="任务下达时间" align="center" prop="createTime" :show-overflow-tooltip="true"/>
<el-table-column label="有效期至" align="center" width="120" prop="issueLifespan" :show-overflow-tooltip="true"/> <el-table-column label="实际验证时间" align="center" prop="verifyTime" :show-overflow-tooltip="true"/>
<el-table-column label="设备编号" align="center" prop="deviceNo" :show-overflow-tooltip="true"/>
<el-table-column label="槽位编号" align="center" prop="soltNo" :show-overflow-tooltip="true"/>
<el-table-column label="核验类型" align="center" prop="" :show-overflow-tooltip="true"/>
<el-table-column label="任务下达时间" align="center" prop="" :show-overflow-tooltip="true"/>
<el-table-column label="实际验证时间" align="center" prop="" :show-overflow-tooltip="true"/>
</el-table> </el-table>
<pagination <pagination
v-show="total2>0" v-show="total2>0"
@ -215,7 +209,7 @@ export default {
jumpList() { jumpList() {
const obj = { path: "certificate/certificateManage/certificateLogList" }; const obj = { path: "certificate/certificateManage/certificateLogList" };
this.$tab.closeOpenPage(obj); this.$tab.closeOpenPage(obj);
this.$router.replace({ path: "/certificateManage/certificateInfo" }); // this.$router.replace({ path: "/certificateManage/certificateInfo" }); //
}, },
handleTabClick(){ handleTabClick(){
if(this.activeName=='stream'){ if(this.activeName=='stream'){
@ -259,7 +253,7 @@ export default {
"pageNum": this.queryParams.pageNum, "pageNum": this.queryParams.pageNum,
"pageSize": this.queryParams.pageSize, "pageSize": this.queryParams.pageSize,
} }
if(this.dateRange&&this.dateRange.length>0){ if(this.dateRange&&this.dateRange.length>0){
param.startDate=this.formatDateTime(this.dateRange[0]) param.startDate=this.formatDateTime(this.dateRange[0])
param.endDate=this.formatDateTime(this.dateRange[1]) param.endDate=this.formatDateTime(this.dateRange[1])

View File

@ -1,5 +1,5 @@
<template> <template>
<div class="app-container"> <div class="app-container">
<el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px"> <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
<el-form-item label="姓名" prop="name"> <el-form-item label="姓名" prop="name">
<el-input <el-input
@ -13,9 +13,9 @@
<el-form-item label="类型" prop="type"> <el-form-item label="类型" prop="type">
<el-radio-group v-model="queryParams.type" @change="getList" style="width: 300px"> <el-radio-group v-model="queryParams.type" @change="getList" style="width: 300px">
<el-radio label="1">待我处理</el-radio> <el-radio label="1">待我处理</el-radio>
<el-radio label="2">我已处理</el-radio> <el-radio label="2">我已处理</el-radio>
</el-radio-group> </el-radio-group>
</el-form-item> </el-form-item>
<!-- <el-form-item label="身份证号" prop="idNumber"> <!-- <el-form-item label="身份证号" prop="idNumber">
<el-input <el-input
v-model="queryParams.idNumber" v-model="queryParams.idNumber"
@ -26,7 +26,7 @@
/> />
</el-form-item> </el-form-item>
<el-form-item label="证件类型" prop="certificateType"> <el-form-item label="证件类型" prop="certificateType">
<el-select v-model="queryParams.certificateType" placeholder="证件类型" clearable style="width: 100%;"> <el-select v-model="queryParams.certificateType" placeholder="证件类型" clearable style="width: 100%;">
<el-option <el-option
v-for="dict in dict.type.sys_certificate_type" v-for="dict in dict.type.sys_certificate_type"
:key="dict.value" :key="dict.value"
@ -39,7 +39,7 @@
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button> <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
<el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button> <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
</el-form-item> </el-form-item>
</el-form> </el-form>
<el-row :gutter="10" class="mb8"> <el-row :gutter="10" class="mb8">
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar> <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row> </el-row>
@ -96,7 +96,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请状态" align="center" prop="applyState" :show-overflow-tooltip="true"> <el-table-column label="申请状态" align="center" prop="applyState" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.applyState==-1" style="color: #FF7322;font-size: 15px;">待提交</span> <span v-if="scope.row.applyState==-1" style="color: #FF7322;font-size: 15px;">待提交</span>
<span v-if="scope.row.applyState==0" style="color: #FF7322;font-size: 15px;">待审核</span> <span v-if="scope.row.applyState==0" style="color: #FF7322;font-size: 15px;">待审核</span>
<span v-if="scope.row.applyState==1" style="color: #FEE838;font-size: 15px;">审核中</span> <span v-if="scope.row.applyState==1" style="color: #FEE838;font-size: 15px;">审核中</span>
@ -104,7 +104,7 @@
<span v-if="scope.row.applyState==3" style="color: #FEE838;font-size: 15px;">已驳回</span> <span v-if="scope.row.applyState==3" style="color: #FEE838;font-size: 15px;">已驳回</span>
<span v-if="scope.row.applyState==4" style="color: #FF7322;font-size: 15px;">已执行</span> <span v-if="scope.row.applyState==4" style="color: #FF7322;font-size: 15px;">已执行</span>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width"> <el-table-column label="操作" align="center" width="200" class-name="small-padding fixed-width">
<template slot-scope="scope"> <template slot-scope="scope">
<el-button <el-button
@ -113,21 +113,21 @@
@click="handleUpdate(scope.row)" @click="handleUpdate(scope.row)"
>审核</el-button> >审核</el-button>
<el-button <el-button
size="mini" size="mini"
type="text" type="text"
@click="handleView(scope.row)" @click="handleView(scope.row)"
>查看</el-button> >查看</el-button>
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<pagination <pagination
v-show="total>0" v-show="total>0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getList" @pagination="getList"
/> />
<el-dialog title="申请详情" :visible.sync="openView" width="1100px" append-to-body> <el-dialog title="申请详情" :visible.sync="openView" width="1100px" append-to-body>
<div style="width: 100%;height: 500px;overflow-y: auto;"> <div style="width: 100%;height: 500px;overflow-y: auto;">
<el-descriptions title="存取证申请" :column="2" size="small" border> <el-descriptions title="存取证申请" :column="2" size="small" border>
@ -139,21 +139,21 @@
<el-descriptions-item> <el-descriptions-item>
<template slot="label">申请人</template> <template slot="label">申请人</template>
{{applyRow.userName}} {{applyRow.userName}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">证件编号</template> <template slot="label">证件编号</template>
{{applyRow.certificateNo}} {{applyRow.certificateNo}}
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item> <el-descriptions-item>
<template slot="label">证件用途</template> <template slot="label">证件用途</template>
<span v-if="applyRow.applyReason==1">公事</span> <span v-if="applyRow.applyReason==1">公事</span>
<span v-if="applyRow.applyReason==2">私事</span> <span v-if="applyRow.applyReason==2">私事</span>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item :span="2"> <el-descriptions-item :span="2">
<template slot="label">事由</template> <template slot="label">事由</template>
<div> <div>
{{applyRow.applyDetail}} {{applyRow.applyDetail}}
</div> </div>
</el-descriptions-item> </el-descriptions-item>
<el-descriptions-item v-if="applyRow.applyType==1"> <el-descriptions-item v-if="applyRow.applyType==1">
<template slot="label">证件柜</template> <template slot="label">证件柜</template>
@ -193,15 +193,15 @@
<el-descriptions-item :span="2"> <el-descriptions-item :span="2">
<template slot="label">附件</template> <template slot="label">附件</template>
<div v-if="applyRow.fileList&&applyRow.fileList.length>0" style="width: 100%;height: 100px;display: flex;align-items: center;"> <div v-if="applyRow.fileList&&applyRow.fileList.length>0" style="width: 100%;height: 100px;display: flex;align-items: center;">
<img v-for="(item,index) in applyRow.fileList" :key="index" :src="item.url" @click="handlePictureCardPreview(item)" style="width: 60px;height: 60px;margin-right: 8px;"/> <img v-for="(item,index) in applyRow.fileList" :key="index" :src="item.url" @click="handlePictureCardPreview(item)" style="width: 60px;height: 60px;margin-right: 8px;"/>
</div> </div>
<div v-else>无附件</div> <div v-else>无附件</div>
</el-descriptions-item> </el-descriptions-item>
</el-descriptions> </el-descriptions>
<div style="width: 100%;height: auto;padding: 20px;"> <div style="width: 100%;height: auto;padding: 20px;">
<div style="margin-bottom: 20px;font-weight: 600;font-size: 18px;">流程</div> <div style="margin-bottom: 20px;font-weight: 600;font-size: 18px;">流程</div>
<el-steps :active="checkProcess.length" finish-status="success" :space="300" align-center> <el-steps :active="checkProcess.length" finish-status="success" :space="300" align-center>
<el-step v-for="(item,index) in checkProcess" :key="index" :title="item.createBy+'-'+item.processName" > <el-step v-for="(item,index) in checkProcess" :key="index" :title="item.createBy+'-'+item.processName" >
<template slot="description"> <template slot="description">
<div> <div>
@ -220,7 +220,7 @@
<el-button type="danger" v-if="!isView" @click="submitForm(2)"> </el-button> <el-button type="danger" v-if="!isView" @click="submitForm(2)"> </el-button>
<el-button @click="openView=false"> </el-button> <el-button @click="openView=false"> </el-button>
</div> </div>
</el-dialog> </el-dialog>
<el-dialog title="附件列表" :visible.sync="openFile" width="500px" append-to-body> <el-dialog title="附件列表" :visible.sync="openFile" width="500px" append-to-body>
<div style="width: 100%;height: 240px;padding: 10px;color: #46a6ff;display: flex;flex-wrap: wrap;"> <div style="width: 100%;height: 240px;padding: 10px;color: #46a6ff;display: flex;flex-wrap: wrap;">
@ -240,7 +240,7 @@
</div> </div>
</template> </template>
<script> <script>
import { getCertificateExamListByTypePageApi,checkCertificateApplyApi,applyCheckProcessApi } from "@/api/certificateManage/index"; import { getCertificateExamListByTypePageApi,checkCertificateApplyApi,applyCheckProcessApi } from "@/api/certificateManage/index";
import base64 from 'base-64'; import base64 from 'base-64';
import { getToken } from '@/utils/auth' import { getToken } from '@/utils/auth'
@ -270,15 +270,15 @@
// //
title: "", title: "",
// //
open: false, open: false,
certificateNos:[], certificateNos:[],
openSelectUser:false, openSelectUser:false,
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 10, pageSize: 10,
type:'1',// type:'1',//
name:null,// name:null,//
}, },
fileList:[], fileList:[],
fileUrls:[], fileUrls:[],
@ -286,18 +286,18 @@
openFile:false, openFile:false,
checkProcess:[], checkProcess:[],
dialogVisible:false,// dialogVisible:false,//
dialogImageUrl:"",// dialogImageUrl:"",//
openView:false,// openView:false,//
applyRow:{}, applyRow:{},
isView:false, isView:false,
}; };
}, },
mounted(){ mounted(){
this.getList(); this.getList();
}, },
methods: { methods: {
/** 搜索按钮操作 */ /** 搜索按钮操作 */
handleQuery() { handleQuery() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1;
@ -326,14 +326,14 @@
this.loading = false; this.loading = false;
}); });
}, },
applyCheckProcess() { applyCheckProcess() {
let param = { let param = {
"checkId":this.applyRow.checkId, "checkId":this.applyRow.checkId,
} }
applyCheckProcessApi(param).then(response => { applyCheckProcessApi(param).then(response => {
this.checkProcess = response.data||[]; this.checkProcess = response.data||[];
}); });
}, },
/** 审批按钮操作 */ /** 审批按钮操作 */
handleUpdate(row) { handleUpdate(row) {
this.applyRow = row; this.applyRow = row;
@ -343,15 +343,15 @@
let arr2 = row.fileName.split(","); let arr2 = row.fileName.split(",");
this.applyRow.fileList=[] this.applyRow.fileList=[]
arr.forEach((item,index)=>{ arr.forEach((item,index)=>{
this.applyRow.fileList.push({url:item,name:arr2[index]}) this.applyRow.fileList.push({url:item,name:arr2[index]})
}) })
}else{ }else{
this.applyRow.fileList=[] this.applyRow.fileList=[]
} }
console.log(this.applyRow.fileList) console.log(this.applyRow.fileList)
this.isView=false; this.isView=false;
this.openView = true; this.openView = true;
}, },
handleView(row) { handleView(row) {
this.applyRow = row; this.applyRow = row;
this.applyCheckProcess() this.applyCheckProcess()
@ -360,29 +360,29 @@
let arr2 = row.fileName.split(","); let arr2 = row.fileName.split(",");
this.applyRow.fileList=[] this.applyRow.fileList=[]
arr.forEach((item,index)=>{ arr.forEach((item,index)=>{
this.applyRow.fileList.push({url:item,name:arr2[index]}) this.applyRow.fileList.push({url:item,name:arr2[index]})
}) })
}else{ }else{
this.applyRow.fileList=[] this.applyRow.fileList=[]
} }
console.log(this.applyRow.fileList) console.log(this.applyRow.fileList)
this.isView=true; this.isView=true;
this.openView = true; this.openView = true;
}, },
/** 提交按钮 */ /** 提交按钮 */
submitForm: function(type) { submitForm: function(type) {
//checkState 1 2 checkId //checkState 1 2 checkId
console.log("this.applyRow",this.applyRow); console.log("this.applyRow",this.applyRow);
let param = { let param = {
checkId:this.applyRow.checkId, checkId:this.applyRow.checkId,
checkState:type checkState:type
} }
checkCertificateApplyApi(param).then(response => { checkCertificateApplyApi(param).then(response => {
this.$modal.msgSuccess("修改成功"); this.$modal.msgSuccess("审核成功");
this.openView = false; this.openView = false;
this.getList(); this.getList();
}); });
}, },
async handlePreviewDownloadFile(file) { async handlePreviewDownloadFile(file) {
if (file.url != null && file.url !== '') { if (file.url != null && file.url !== '') {
let downloadUrl = file.url; let downloadUrl = file.url;
@ -403,17 +403,17 @@
console.error(error); console.error(error);
} }
} }
if (file.raw != null && file.raw !== '') { if (file.raw != null && file.raw !== '') {
const blob = file.raw; // Blob const blob = file.raw; // Blob
const link = document.createElement('a'); const link = document.createElement('a');
link.href = URL.createObjectURL(blob); // URL link.href = URL.createObjectURL(blob); // URL
link.download = file.name; // link.download = file.name; //
document.body.appendChild(link); // DOM document.body.appendChild(link); // DOM
link.click(); // link.click(); //
document.body.removeChild(link); // <a> document.body.removeChild(link); // <a>
} }
}, },
checkFile(row){ checkFile(row){
this.fileList=[] this.fileList=[]
this.fileUrls=[] this.fileUrls=[]
this.fileNames = [] this.fileNames = []
@ -427,13 +427,13 @@
}) })
} }
this.openFile = true this.openFile = true
}, },
// //
handlePictureCardPreview(file) { handlePictureCardPreview(file) {
this.dialogImageUrl = file.url this.dialogImageUrl = file.url
this.dialogVisible = true this.dialogVisible = true
}, },
formatDate(date) { formatDate(date) {
const year = date.getFullYear(); const year = date.getFullYear();
const month = String(date.getMonth() + 1).padStart(2, '0'); // 0 const month = String(date.getMonth() + 1).padStart(2, '0'); // 0
const day = String(date.getDate()).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0');

View File

@ -62,6 +62,7 @@
</template> </template>
</el-table-column> </el-table-column>
<el-table-column label="申请人姓名" align="center" prop="userName" :show-overflow-tooltip="true" width="120"/> <el-table-column label="申请人姓名" align="center" prop="userName" :show-overflow-tooltip="true" width="120"/>
<el-table-column label="身份证编号" align="center" prop="idNumber" :show-overflow-tooltip="true" width="180"></el-table-column>
<el-table-column label="申请类型" align="center" prop="applyType" :show-overflow-tooltip="true"> <el-table-column label="申请类型" align="center" prop="applyType" :show-overflow-tooltip="true">
<template slot-scope="scope"> <template slot-scope="scope">
<span v-if="scope.row.applyType==1">存证</span> <span v-if="scope.row.applyType==1">存证</span>
@ -877,7 +878,7 @@
const month = String(date.getMonth() + 1).padStart(2, '0'); // 0 const month = String(date.getMonth() + 1).padStart(2, '0'); // 0
const day = String(date.getDate()).padStart(2, '0'); const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`; return `${year}-${month}-${day}`;
}, },
searchChangeStart(value) { searchChangeStart(value) {
if(!value){//×2999 if(!value){//×2999
// 访this // 访this