From 76f4976192aa752b3a3d249d7ca60f649d750c1e Mon Sep 17 00:00:00 2001 From: jiask <1069621233@qq.com> Date: Mon, 27 Oct 2025 13:36:43 +0800 Subject: [PATCH] jsk --- src/api/certificateManage/index.js | 10 ++ .../certificateInfo/index.vue | 155 ++++++++++++++++-- .../certificateTask/index.vue | 2 + 3 files changed, 150 insertions(+), 17 deletions(-) diff --git a/src/api/certificateManage/index.js b/src/api/certificateManage/index.js index c3785e5..b8518c0 100644 --- a/src/api/certificateManage/index.js +++ b/src/api/certificateManage/index.js @@ -154,6 +154,16 @@ export function getReplacelistApi(data) { params:data }) } +export function getSysUserListApi(data) { + return request({ + url: '/certificate/certificate_returnmanage/certificateAtake/sysUserlist', + method: 'get', + headers: { + //"merchant-id":"378915229716713472", + }, + params:data + }) +} export function getDevicelistApi(data) { return request({ url: '/certificate/certificate_returnmanage/certificateSave/devicelist', diff --git a/src/views/certificate/certificateManage/certificateInfo/index.vue b/src/views/certificate/certificateManage/certificateInfo/index.vue index e3f5567..93c9962 100644 --- a/src/views/certificate/certificateManage/certificateInfo/index.vue +++ b/src/views/certificate/certificateManage/certificateInfo/index.vue @@ -143,8 +143,20 @@ - + + + + + 系统人员 + + + + @@ -202,7 +214,7 @@ - + @@ -243,7 +255,7 @@ - + @@ -263,6 +275,44 @@ + + + + + + + + + + + + + + + + + + + + + + @@ -275,7 +325,8 @@ updateDept, listDeptExcludeChild, } from '@/api/system/dept' - import { getCertificateInfoListPageApi,addCertificateInfoApi, updateCertificateInfoApi, deleteCertificateInfoApi } from "@/api/certificateManage/index"; + import { getCertificateInfoListPageApi,addCertificateInfoApi, updateCertificateInfoApi, + deleteCertificateInfoApi,getSysUserListApi } from "@/api/certificateManage/index"; import base64 from 'base-64'; import { getToken } from '@/utils/auth' import { downloadFileByUrl } from '@/utils/download' @@ -306,8 +357,14 @@ // 是否显示弹出层 open: false, checked: false, + isCreateFlage:true, userNameFlage:false, certificateNos:[], + isReadOnly:false, + openSelectUser:false, + selectUserTitle:"", + selectItme:{}, + allUser:[], // 部门树选项 deptOptions: [], // 查询参数 @@ -335,8 +392,13 @@ issueLifespan:"0", createTime:"", phone:"", + userId:"", isEle:"" }, + baseForm2: { + name:"", + phone:"" + }, // 表单校验 baseFormRules: { deptId: [ @@ -346,7 +408,8 @@ { required: true, message: "姓名不能为空", trigger: "blur" } ], idNumber: [ - { required: true, message: "身份证不能为空", trigger: "blur" } + { required: true, message: "身份证不能为空", trigger: "blur" }, + { validator: this.validateIDCard, trigger: 'blur' } ], certificateType: [ { required: true, message: "证件类型不能为空", trigger: "blur" } @@ -358,7 +421,8 @@ { required: true, message: "签发日期不能为空", trigger: "blur" } ], phone: [ - { required: true, message: "手机号码不能为空", trigger: "blur" } + { required: true, message: "手机号码不能为空", trigger: "blur" }, + { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' } ], issueLifespan: [ { required: true, message: "有效期不能为空", trigger: "blur" } @@ -386,6 +450,17 @@ }, methods: { + validateIDCard(rule, value, callback) { + // 15位身份证正则表达式 + const reg15 = /^[1-9]\d{7}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}$/; + // 18位身份证正则表达式 + const reg18 = /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(\d|X|x)$/; + if (reg15.test(value) || reg18.test(value)) { + callback(); // 验证通过,无错误信息提示 + } else { + callback(new Error('请输入有效的身份证号')); // 验证失败,显示错误信息提示 + } + }, handleRadioChange(val){ if(val==1){ this.userNameFlage=true; @@ -397,7 +472,8 @@ { required: true, message: "姓名不能为空", trigger: "blur" } ], idNumber: [ - { required: true, message: "身份证不能为空", trigger: "blur" } + { required: true, message: "身份证不能为空", trigger: "blur" }, + { validator: this.validateIDCard, trigger: 'blur' } ], certificateType: [ { required: true, message: "证件类型不能为空", trigger: "blur" } @@ -409,7 +485,8 @@ { required: true, message: "签发日期不能为空", trigger: "blur" } ], phone: [ - { required: true, message: "手机号码不能为空", trigger: "blur" } + { required: true, message: "手机号码不能为空", trigger: "blur" }, + { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' } ], issueLifespan: [ { required: true, message: "有效期不能为空", trigger: "blur" } @@ -428,7 +505,8 @@ { required: true, message: "姓名不能为空", trigger: "blur" } ], idNumber: [ - { required: true, message: "身份证不能为空", trigger: "blur" } + { required: true, message: "身份证不能为空", trigger: "blur" }, + { validator: this.validateIDCard, trigger: 'blur' } ], certificateType: [ { required: true, message: "证件类型不能为空", trigger: "blur" } @@ -440,7 +518,8 @@ { required: true, message: "签发日期不能为空", trigger: "blur" } ], phone: [ - { required: true, message: "手机号码不能为空", trigger: "blur" } + { required: true, message: "手机号码不能为空", trigger: "blur" }, + { pattern: /^1[3456789]\d{9}$/, message: '请输入正确的手机号', trigger: 'blur' } ], issueLifespan: [ { required: true, message: "有效期不能为空", trigger: "blur" } @@ -477,11 +556,6 @@ this.loading = false; }); }, - // 取消按钮 - cancel() { - this.open = false; - this.reset(); - }, // 表单重置 reset() { this.baseForm = { @@ -504,6 +578,7 @@ handleAdd() { this.reset(); this.open = true; + this.isReadOnly=false; this.title = "新增"; listDept().then((response) => { this.deptOptions = this.handleTree(response.data, 'deptId') @@ -532,8 +607,11 @@ handleUpdate(row) { this.reset(); this.open = true; + this.isReadOnly=true; this.baseForm = Object.assign({}, row) - // this.$set(this,"metadata",row.deviceMetadata) + listDept().then((response) => { + this.deptOptions = this.handleTree(response.data, 'deptId') + }) this.title = "修改"; }, handleTabClick(tab, event) { @@ -560,6 +638,49 @@ } }); }, + // 取消按钮 + cancel() { + this.open = false; + this.reset(); + }, + handleSelect(){ + this.openSelectUser = true; + this.selectUserTitle = "选择系统人员"; + getSysUserListApi({}).then(response => { + console.log("response",response); + this.allUser=response; + }); + }, + handleSelectChange() { + console.log('Selected item:', this.selectItme); + this.baseForm2.phone=this.selectItme.phone; + this.baseForm2.name=this.selectItme.userName; + // 这里可以执行其他逻辑 + }, + getCorpAndDept(val){ + console.log("getCorpAndDept",val) + this.selectItme=val; + this.baseForm2.phone=this.selectItme.phone; + this.baseForm2.name=this.selectItme.userName; + this.baseForm.userId=this.selectItme.userId; + }, + /** 提交按钮 */ + submitForm2: function() { + console.log("this.baseForm2",this.baseForm2); + this.$refs["baseForm2"].validate(valid => { + if (valid) { + this.baseForm.phone=this.selectItme.phone; + this.baseForm.name=this.selectItme.userName; + this.baseForm.deptId=this.selectItme.deptId; + this.openSelectUser = false; + this.isCreateFlage=false; + } + }); + }, + // 取消按钮 + cancel2() { + this.openSelectUser = false; + }, /** 删除按钮操作 */ handleDelete(row) { var certificateNoRow=""; @@ -588,7 +709,7 @@ handleExport() { this.download('certificate/certificate_manage/certificateInfo/export', { ...this.queryParams - }, `证件信息_${new Date().getTime()}.xlsx`) + }, `证件信息_${new Date().getTime()}.xlsx`); }, // 文件上传中处理 handleFileUploadProgress(event, file, fileList) { diff --git a/src/views/certificate/certificateReturnManage/certificateTask/index.vue b/src/views/certificate/certificateReturnManage/certificateTask/index.vue index 6595d56..ce95da8 100644 --- a/src/views/certificate/certificateReturnManage/certificateTask/index.vue +++ b/src/views/certificate/certificateReturnManage/certificateTask/index.vue @@ -69,6 +69,8 @@ + +