This commit is contained in:
jiask 2025-10-11 14:46:21 +08:00
parent f2ed019a3f
commit ef9d08eeb2
4 changed files with 121 additions and 310 deletions

View File

@ -74,7 +74,17 @@ export function getCertificateTaskListPageApi(data) {
params:data
})
}
// 借退管理-证件任务撤回
export function getCertificateTakeReturnPageApi(data) {
return request({
url: '/certificate/certificate_returnmanage/certificateTask/return',
method: 'post',
headers: {
//"merchant-id":"378915229716713472",
},
data: data
})
}
// 借退管理-存证分页查询信息
export function getCertificateSaveListPageApi(data) {
return request({
@ -87,6 +97,18 @@ export function getCertificateSaveListPageApi(data) {
})
}
// 借退管理-证件存入
export function getCertificateSaveAddPageApi(data) {
return request({
url: '/certificate/certificate_returnmanage/certificateSave/add',
method: 'post',
headers: {
//"merchant-id":"378915229716713472",
},
data: data
})
}
// 借退管理-取证分页查询信息
export function getCertificateAtakeListPageApi(data) {
return request({
@ -98,3 +120,14 @@ export function getCertificateAtakeListPageApi(data) {
params:data
})
}
// 借退管理-证件取出
export function getCertificateTakeAddPageApi(data) {
return request({
url: '/certificate/certificate_returnmanage/certificateTake/add',
method: 'post',
headers: {
//"merchant-id":"378915229716713472",
},
data: data
})
}

View File

@ -41,7 +41,7 @@
plain
icon="el-icon-download"
size="mini"
@click="handleAdd"
@click="handleAdd(3)"
>自主取证</el-button>
</el-col>
<el-col :span="1.5">
@ -50,7 +50,7 @@
plain
icon="el-icon-download"
size="mini"
@click="handleExport"
@click="handleAdd(4)"
v-hasPermi="['system:dict:export']"
>管理员取证</el-button>
</el-col>
@ -60,7 +60,7 @@
plain
icon="el-icon-download"
size="mini"
@click="handleBatchDel"
@click="handleAdd(5)"
>应急取证</el-button>
</el-col>
@ -69,7 +69,7 @@
icon="el-icon-download"
type="success"
size="mini"
@click="handleDaiLing"
@click="handleAdd(6)"
>他人代领
</el-button>
</el-col>
@ -138,7 +138,7 @@
updateDept,
listDeptExcludeChild,
} from '@/api/system/dept'
import { getCertificateAtakeListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi } from "@/api/certificateManage/index";
import { getCertificateAtakeListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi,getCertificateTakeAddPageApi } from "@/api/certificateManage/index";
import base64 from 'base-64';
import { getToken } from '@/utils/auth'
import Treeselect from '@riophae/vue-treeselect'
@ -310,56 +310,31 @@
};
this.resetForm("baseForm");
},
/** 新增按钮操作 */
handleAdd() {
this.$modal.confirm('是否确定自主取证?').then(function() {
/** 取证按钮操作 */
handleAdd(type) {
console.log("type",type);
const CertificateNos = this.ids
if(CertificateNos!=null&&CertificateNos.length>0){
}).then(() => {
this.getList();
this.$modal.msgSuccess("取证成功");
}).catch(() => {});
},
/** 电子标签*/
handleCheckedOne(value, type) {
console.log(type,value)
},
handleCheckedTwo(value, type) {
console.log(type,value)
},
/** 转换部门数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children
}else{
this.$modal.msgError("请选择证件");
return;
}
return {
id: node.deptId,
label: node.deptName,
children: node.children,
var titlemsg="是否确定自主取证?"
if(type==3){
titlemsg="是否确定自主取证?"
}else if(type==4){
titlemsg="是否确定管理员取证?"
}else if(type==5){
titlemsg="是否确定应急取证?"
}else if(type==6){
titlemsg="是否确定代人取证?"
}
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
this.baseForm = Object.assign({}, row)
// this.$set(this,"metadata",row.deviceMetadata)
this.title = "修改";
},
handleTabClick(tab, event) {
console.log(tab, event);
},
/** 提交按钮 */
submitForm: function() {
this.$modal.msgSuccess("取证成功");
},
/** 删除按钮操作 */
handleDelete(row) {
// const dictIds = row.dictId || this.ids;
this.$modal.confirm('是否确认删除数据项?').then(function() {
return deleteCertificateInfoApi({deviceId:row.deviceId});
}).then(() => {
this.$modal.confirm(titlemsg).then(() => {
getCertificateTakeAddPageApi({"certificateNos":CertificateNos,"type":type}).then(response => {
this.getList();
this.$modal.msgSuccess("删除成功");
this.$modal.msgSuccess("操作成功");
});
}).catch(() => {});
},
formatDate(date) {
@ -369,47 +344,10 @@
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
},
/** 导出按钮操作 */
handleExport() {
this.$modal.confirm('是否确定管理员取证?').then(function() {
}).then(() => {
this.getList();
this.$modal.msgSuccess("取证成功");
}).catch(() => {});
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true
},
//
handleFileSuccess(response, file, fileList) {
console.log(response)
this.upload.isUploading = false
this.$refs.upload.clearFiles()
if(response.code==200){
this.appForm.apkPath=response.data.url
}else{
this.$modal.msgError("上传失败,请重新选择文件!");
}
},
/** 批量删除 */
handleBatchDel(){
this.$modal.confirm('是否确定应急取证?').then(function() {
}).then(() => {
this.getList();
this.$modal.msgSuccess("取证成功");
}).catch(() => {});
},
handleDaiLing(){
this.reset();
this.open = true;
this.title = "他人代领";
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.dictId)
this.ids = selection.map(item => item.certificateNo)
this.single = selection.length!=1
this.multiple = !selection.length
},

View File

@ -49,7 +49,7 @@
type="danger"
plain
size="mini"
@click="handleBatchDel"
@click="handleBatchAdd"
>管理员存证</el-button>
</el-col>
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
@ -75,114 +75,6 @@
:limit.sync="queryParams.pageSize"
@pagination="getList"
/>
<!-- 添加或修改参数配置对话框 -->
<el-dialog :title="title+''" :visible.sync="open" width="700px" append-to-body>
<el-tabs v-model="activeName" @tab-click="handleTabClick">
<!-- 基础设置 -->
<el-tab-pane label="添加证件" name="baseSetting" style="height: 400px;">
<el-form ref="baseForm" :model="baseForm" :rules="baseFormRules" label-width="80px">
<el-row>
<el-col :span="24" v-if="baseForm.deptId !== 0">
<el-form-item label="单位" prop="deptId">
<treeselect
v-model="baseForm.deptId"
:options="deptOptions"
:normalizer="normalizer"
placeholder="选择单位"
/>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label="姓名" prop="name">
<el-input v-model="baseForm.name" placeholder="请输入" maxlength="30" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="身份证号" prop="idNumber">
<el-input v-model="baseForm.idNumber" placeholder="请输入" maxlength="30" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生日期" prop="birthday">
<el-date-picker
v-model="baseForm.birthday"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="出生地点" prop="birthAddr">
<el-input v-model="baseForm.birthAddr" placeholder="请输入" maxlength="30" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证件类型" prop="certificateType">
<el-select v-model="baseForm.certificateType" placeholder="证件类型" clearable>
<el-option
v-for="dict in dict.type.sys_certificate_type"
:key="dict.value"
:label="dict.label"
:value="dict.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="证件编号" prop="certificateNo">
<el-input v-model="baseForm.certificateNo" placeholder="请输入" maxlength="30" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签发地" prop="issueAddr">
<el-input v-model="baseForm.issueAddr" placeholder="请输入" maxlength="30" clearable/>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="签发日期" prop="issueDay">
<el-date-picker
v-model="baseForm.issueDay"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
:picker-options="startPickerOptions"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
<el-col :span="12">
<el-form-item label="有效期至" prop="issueLifespan">
<el-date-picker
v-model="baseForm.issueLifespan"
type="date"
placeholder="选择日期"
format="yyyy-MM-dd"
:picker-options="endPickerOptions"
value-format="yyyy-MM-dd"></el-date-picker>
</el-form-item>
</el-col>
</el-row>
<el-row>
<el-col :span="12">
<el-form-item label-width="120px" label="是否电子标签" prop="isEle">
<el-radio-group v-model="baseForm.isEle" size="small">
<el-radio label="1"></el-radio>
<el-radio label="0"></el-radio>
</el-radio-group>
</el-form-item>
</el-col>
</el-row>
</el-form>
</el-tab-pane>
</el-tabs>
<div slot="footer" class="dialog-footer">
<el-button type="primary" @click="submitForm"> </el-button>
<el-button @click="cancel"> </el-button>
</div>
</el-dialog>
</div>
</template>
@ -195,7 +87,7 @@
updateDept,
listDeptExcludeChild,
} from '@/api/system/dept'
import { getCertificateSaveListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi } from "@/api/certificateManage/index";
import { getCertificateSaveListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi,getCertificateSaveAddPageApi } from "@/api/certificateManage/index";
import base64 from 'base-64';
import { getToken } from '@/utils/auth'
import Treeselect from '@riophae/vue-treeselect'
@ -369,71 +261,35 @@
},
/** 新增按钮操作 */
handleAdd() {
this.$modal.confirm('是否确定自主存证?').then(function() {
const CertificateNos = this.ids
if(CertificateNos!=null&&CertificateNos.length>0){
}).then(() => {
}else{
this.$modal.msgError("请选择证件");
return;
}
this.$modal.confirm('是否确定自主存证?').then(() => {
getCertificateSaveAddPageApi({"certificateNos":CertificateNos,"type":"1"}).then(response => {
this.getList();
this.$modal.msgSuccess("存证成功");
});
}).catch(() => {});
},
/** 电子标签*/
handleCheckedOne(value, type) {
console.log(type,value)
},
handleCheckedTwo(value, type) {
console.log(type,value)
},
/** 转换部门数据结构 */
normalizer(node) {
if (node.children && !node.children.length) {
delete node.children
/** 管理员存证 */
handleBatchAdd(){
const CertificateNos = this.ids
if(CertificateNos!=null&&CertificateNos.length>0){
}else{
this.$modal.msgError("请选择证件");
return;
}
return {
id: node.deptId,
label: node.deptName,
children: node.children,
}
},
/** 修改按钮操作 */
handleUpdate(row) {
this.reset();
this.open = true;
this.baseForm = Object.assign({}, row)
// this.$set(this,"metadata",row.deviceMetadata)
this.title = "修改";
},
handleTabClick(tab, event) {
console.log(tab, event);
},
/** 提交按钮 */
submitForm: function() {
console.log("this.baseForm",this.baseForm);
this.$refs["baseForm"].validate(valid => {
if (valid) {
if (this.baseForm.certificateNo != undefined) {
updateCertificateInfoApi(this.baseForm).then(response => {
this.$modal.msgSuccess("修改成功");
this.open = false;
this.$modal.confirm('是否确定管理员存证?').then(() => {
getCertificateSaveAddPageApi({"certificateNos":CertificateNos,"type":"2"}).then(response => {
this.getList();
this.$modal.msgSuccess("存证成功");
});
} else {
addCertificateInfoApi(this.baseForm).then(response => {
this.$modal.msgSuccess("新增成功");
this.open = false;
this.getList();
});
}
}
});
},
/** 删除按钮操作 */
handleDelete(row) {
// const dictIds = row.dictId || this.ids;
this.$modal.confirm('是否确认删除数据项?').then(function() {
return deleteCertificateInfoApi({deviceId:row.deviceId});
}).then(() => {
this.getList();
this.$modal.msgSuccess("删除成功");
}).catch(() => {});
},
formatDate(date) {
@ -443,45 +299,9 @@
const day = String(date.getDate()).padStart(2, '0');
return `${year}-${month}-${day}`;
},
/** 导出按钮操作 */
handleExport() {
this.download('system/dict/type/export', {
...this.queryParams
}, `type_${new Date().getTime()}.xlsx`)
},
//
handleFileUploadProgress(event, file, fileList) {
this.upload.isUploading = true
},
//
handleFileSuccess(response, file, fileList) {
console.log(response)
this.upload.isUploading = false
this.$refs.upload.clearFiles()
if(response.code==200){
this.appForm.apkPath=response.data.url
}else{
this.$modal.msgError("上传失败,请重新选择文件!");
}
},
/** 下载模板操作 */
importTemplate() {
let url = window.location.origin + '/glweb/template/批量新增原料模板.xlsx';
console.log(url)
downloadFileByUrl(url)
},
/** 批量删除 */
handleBatchDel(){
this.$modal.confirm('是否确定管理员存证?').then(function() {
}).then(() => {
this.getList();
this.$modal.msgSuccess("存证成功");
}).catch(() => {});
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.dictId)
this.ids = selection.map(item => item.certificateNo)
this.single = selection.length!=1
this.multiple = !selection.length
},

View File

@ -57,7 +57,7 @@
<right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>
</el-row>
<el-table v-loading="loading" :data="tableListData" @selection-change="handleSelectionChange" height="800">
<el-table-column type="selection" width="55" align="center" />
<el-table-column type="selection" width="55" align="center" :selectable="selectablerow" />
<el-table-column label="任务编号" align="center" prop="taskNo" :show-overflow-tooltip="true" width="180" />
<el-table-column label="姓名" align="center" prop="name" :show-overflow-tooltip="true" width="120" />
<el-table-column label="身份证号" align="center" prop="idNumber" :show-overflow-tooltip="true" width="180" />
@ -74,8 +74,14 @@
<el-table-column label="验证码" align="center" prop="verificationCode" :show-overflow-tooltip="true"/>
<el-table-column label="截止时间" align="center" prop="processDate" :show-overflow-tooltip="true" width="180"/>
<el-table-column label="创建时间" align="center" prop="createTime" :show-overflow-tooltip="true" fixed="right"/>
<el-table-column label="处理结果" align="center" prop="processStateName" :show-overflow-tooltip="true" fixed="right"/>
<el-table-column label="处理结果" align="center" prop="processStateName" :show-overflow-tooltip="true" fixed="right">
<template slot-scope="scope">
<!-- <dict-tag :options="dict.type.dev_status" :value="scope.row.deviceState"/> -->
<span v-if="scope.row.processState==0" style="color: orange;">未执行 </span>
<span v-if="scope.row.processState==1" style="color: green;">已执行</span>
<span v-if="scope.row.processState==2" style="color: red;">已撤回</span>
</template>
</el-table-column>
</el-table>
<pagination
@ -98,7 +104,7 @@
updateDept,
listDeptExcludeChild,
} from '@/api/system/dept'
import { getCertificateTaskListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi } from "@/api/certificateManage/index";
import { getCertificateTaskListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi,getCertificateTakeReturnPageApi } from "@/api/certificateManage/index";
import base64 from 'base-64';
import { getToken } from '@/utils/auth'
import Treeselect from '@riophae/vue-treeselect'
@ -218,6 +224,13 @@
},
methods: {
selectablerow(row,index){
if(row.processState=="2"||row.processState=="1"){
return false;
}else{
return true;
}
},
/** 搜索按钮操作 */
handleQuery() {
this.queryParams.pageNum = 1;
@ -374,18 +387,25 @@
console.log(url)
downloadFileByUrl(url)
},
/** 批量删除 */
/** 批量撤回 */
handleBatchDel(){
this.$modal.confirm('是否确定撤回任务?').then(function() {
const taskNos = this.ids
if(taskNos!=null&&taskNos.length>0){
}).then(() => {
}else{
this.$modal.msgError("请选择证件");
return;
}
this.$modal.confirm('是否确定撤回任务?').then(() => {
getCertificateTakeReturnPageApi({"certificateNos":taskNos}).then(response => {
this.getList();
this.$modal.msgSuccess("撤回成功");
});
}).catch(() => {});
},
//
handleSelectionChange(selection) {
this.ids = selection.map(item => item.dictId)
this.ids = selection.map(item => item.taskNo)
this.single = selection.length!=1
this.multiple = !selection.length
},