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 @@
         
         
         
+        
+