Bläddra i källkod

fix:成员管理优化

刘恒 1 år sedan
förälder
incheckning
f5f395bf44

+ 2 - 2
src/settings.default.ts

@@ -10,7 +10,7 @@ const globalSettingsDefault: RecursiveRequired<Settings.all> = {
     enablePermission: false,
     enableProgress: true,
     enableDynamicTitle: false,
-    routeBaseOn: 'frontend',
+    routeBaseOn: 'backend',
   },
   home: {
     enable: true,
@@ -21,7 +21,7 @@ const globalSettingsDefault: RecursiveRequired<Settings.all> = {
     enableMobileAdaptation: false,
   },
   menu: {
-    baseOn: 'frontend',
+    baseOn: 'backend',
     mode: 'side',
     switchMainMenuAndPageJump: false,
     subMenuUniqueOpened: true,

+ 7 - 6
src/views/personnel/memberManagement.vue

@@ -450,7 +450,8 @@ const getUserList= () => {
   api.userApi.memberList({
     ...pageInfo,
     deptId:deptItem.value.id,
-    status:status.value
+    status:status.value,
+    isMember:1
   }).then((res:any)=>{
     
     if(res.code===200){
@@ -460,7 +461,7 @@ const getUserList= () => {
   })
 };
 const editor = (item: any) => {
-  console.log(item)
+ 
   router.push({
     path:"/personnel/member/memberMessage",
     query:{
@@ -647,13 +648,13 @@ function delUser(item:any) {
           .then(() => {
             api.userApi
               .userDelete({
-                id: [operationForm.value.id],
+                ids: [operationForm.value.id],
                 
               })
               .then((res: any) => {
                 if(res.code==200){
                   ElMessage.success(res.msg)
-                  
+                  getUserList()
                 }
               });
             // console.log(123);
@@ -680,8 +681,8 @@ function delsUser() {
       .then(() => {
         api.userApi
           .userDelete({
-            id: checkTableIdList.value,
-            
+            ids: checkTableIdList.value,
+
           })
           .then((res: any) => {
             if(res.code==200){

+ 169 - 22
src/views/personnel/modules/addOperation.vue

@@ -433,8 +433,8 @@
                   <el-icon class="btn-icon" @click="imageView(1)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(1)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(1)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -470,8 +470,8 @@
                   <el-icon class="btn-icon" @click="imageView(2)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(2)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(2)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -507,8 +507,8 @@
                   <el-icon class="btn-icon" @click="imageView(3)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(3)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(3)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -544,8 +544,8 @@
                   <el-icon class="btn-icon" @click="imageView(4)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(4)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(4)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -581,8 +581,8 @@
                   <el-icon class="btn-icon" @click="imageView(5)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(5)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(5)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -618,8 +618,8 @@
                   <el-icon class="btn-icon" @click="imageView(6)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(6)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(6)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -655,8 +655,8 @@
                   <el-icon class="btn-icon" @click="imageView(7)"
                     ><View
                   /></el-icon>
-                  <el-icon class="btn-icon"><Download /></el-icon>
-                  <el-icon class="btn-icon"><Delete /></el-icon>
+                  <el-icon class="btn-icon" @click="downloadImage(7)"><Download /></el-icon>
+                  <el-icon class="btn-icon" @click="deleteImage(7)"><Delete /></el-icon>
                 </div>
               </div>
             </el-form-item>
@@ -727,6 +727,71 @@ onMounted(async () => {
       // console.log(res);
       if (res.code === 200) {
         operationForm.value = res.data;
+        let formData = res.data
+        
+        if(formData.fileList) {
+          
+          
+          let sfz1 = formData.fileList.find(item => item.fileType == 'sfz1')
+          let sfz2 = formData.fileList.find(item => item.fileType == 'sfz2')
+          
+          let qualification = formData.fileList.find(item => item.fileType == 'bankCard')
+          let contractImg = formData.fileList.find(item => item.fileType == 'contract')
+          let applicantImg = formData.fileList.find(item => item.fileType == 'applicant')
+          let salaryTable = formData.fileList.find(item => item.fileType == 'salaryTable')
+          let leaveTable = formData.fileList.find(item => item.fileType == 'leaveTable')
+         
+         
+         
+
+          if(sfz1) {
+            operationForm.value.sfz1 = sfz1.id
+            IDCardFrontName.value = sfz1.fileName
+            IDCardFront.value = sfz1.fileUrl
+            sfz1.value=sfz1.id
+          }
+          if(sfz2) {
+            operationForm.value.sfz2 = sfz2.id
+            IDCardBackName.value = sfz2.fileName
+            IDCardBack.value = sfz2.fileUrl
+            sfz2.value=sfz2.id
+
+          }
+          if(qualification) {
+            operationForm.value.bankCard = qualification.id
+            bankName.value = qualification.fileName
+            bankSize.value = qualification.fileUrl
+            bankCard.value=qualification.id
+          }
+          if(contractImg) {
+            operationForm.value.contract = contract.id
+            contractName.value = contractImg.fileName
+            contract.value = contractImg.fileUrl
+            contractId.value=ontract.id
+
+
+          }
+          if(applicantImg) {
+            operationForm.value.applicant = applicant.id
+            applicantName.value = applicantImg.fileName
+            applicant.value = applicantImg.fileUrl
+            applicantId.value=applicant.id
+
+          }
+          if(salaryTable) {
+            operationForm.value.salaryTable = salaryTable.id
+            decidePayName.value = salaryTable.fileName
+            decidePay.value = salaryTable.fileUrl
+            salaryTable.value=salaryTable.id
+
+          }
+          if(leaveTable) {
+            operationForm.value.leaveTable = leaveTable.id
+            dimissionName.value = leaveTable.fileName
+            dimission.value = leaveTable.fileUrl
+            leaveTable.value = leaveTable.id;
+          }
+        }
         if(res.data.address==null){
           operationForm.value.address=[]
         }
@@ -901,10 +966,11 @@ function deptChange(e: any) {
   // console.log(e)
   if (e != undefined) {
     let deptId = e[e?.length - 1];
-    operationForm.deptId = deptId;
+    operationForm.value.deptId = deptId;
   } else {
-    operationForm.deptId = "";
+    operationForm.value.deptId = "";
   }
+  // console.log(operationForm.value.deptId)
 }
 
 //数组去重
@@ -966,6 +1032,87 @@ const uploadImage = (file, type) => {
   });
 };
 
+
+// 图片下载
+const download = (url, name) => {
+  let image = new Image();
+  // 解决跨域 Canvas 污染问题
+  image.setAttribute("crossOrigin", "anonymous");
+  image.onload = function () {
+    let canvas = document.createElement("canvas");
+    canvas.width = image.width;
+    canvas.height = image.height;
+    let context = canvas.getContext("2d");
+    context.drawImage(image, 0, 0, image.width, image.height);
+    let url = canvas.toDataURL("image/png"); //得到图片的base64编码数据
+    let a = document.createElement("a"); // 生成一个a元素
+    let event = new MouseEvent("click"); // 创建一个单击事件
+    a.download = name; // 设置图片名称
+    a.href = url; // 将生成的URL设置为a.href属性
+    a.dispatchEvent(event); // 触发a的单击事件
+  }
+  image.src = url
+}
+
+const downloadImage = (type) => {
+  switch (type) {
+    case 1:
+      download(IDCardFront.value,IDCardFrontName.value)
+      break;
+    case 2:
+      download(IDCardBack.value,IDCardBackName.value)
+      break;
+    case 3:
+      download(bankSize.value,bankName.value)
+      break;
+    case 4:
+      download(contract.value,contractName.value)
+      break;
+    case 5:
+      download(applicant.value,applicantName.value)
+      break;
+    case 6:
+      download(decidePay.value,decidePayName.value)
+      break;
+    case 7:
+      download(dimission.value,dimissionName.value)
+      break;
+  }
+}
+// 图片删除
+const deleteImage = (type) => {
+  switch (type) {
+    case 1:
+      IDCardFront.value = ''
+      IDCardFrontName.value = ''
+      break;
+    case 2:
+      IDCardBack.value = ''
+      IDCardBackName.value = ''
+      break;
+    case 3:
+      bankSize.value = ''
+      bankName.value = ''
+      break;
+    case 4:
+      contract.value = ''
+      contractName.value = ''
+      break;
+    case 5:
+      applicant.value = ''
+      applicantName.value = ''
+      break;
+    case 6:
+      decidePay.value = ''
+      decidePayName.value = ''
+      break;
+    case 7:
+      dimission.value = ''
+      dimissionName.value = ''
+      break;
+  }
+}
+
 // 人事档案
 let recordShow = ref(false);
 
@@ -1010,13 +1157,13 @@ const onSubmit = async (OperationFormRef: FormInstance, type: number) => {
         province:operationForm.value.address.length?operationForm.value.address[0]:'',
         city:operationForm.value.address.length?operationForm.value.address[1]:'',
         district:operationForm.value.address.length?operationForm.value.address[2]:'',
-        deptId:operationForm.value.deptId[operationForm.value.deptId.length-1],
+        deptId:operationForm.value.deptId,
         typeAttr:2,
         sfz1:sfz1.value,
         sfz2:sfz2.value,
         bankCard:bankCard.value,
-        contractId:contractId.value,
-        applicantId:applicantId.value,
+        contract:contractId.value,
+        applicant:applicantId.value,
         salaryTable:salaryTable.value,
         leaveTable:leaveTable.value,
         
@@ -1033,13 +1180,13 @@ const onSubmit = async (OperationFormRef: FormInstance, type: number) => {
         province:operationForm.value.address.length?operationForm.value.address[0]:'',
         city:operationForm.value.address.length?operationForm.value.address[1]:'',
         district:operationForm.value.address.length?operationForm.value.address[2]:'',
-        deptId:operationForm.value.deptId[operationForm.value.deptId.length-1],
+        deptId:operationForm.value.deptId,
         typeAttr:2,
         sfz1:sfz1.value,
         sfz2:sfz2.value,
         bankCard:bankCard.value,
-        contractId:contractId.value,
-        applicantId:applicantId.value,
+        contract:contractId.value,
+        applicant:applicantId.value,
         salaryTable:salaryTable.value,
         leaveTable:leaveTable.value,
         id:operationForm.value.id

+ 49 - 0
src/views/personnel/modules/memberMessage.vue

@@ -764,6 +764,55 @@ onMounted(async () => {
       console.log(res);
       if (res.code === 200) {
         operationForm.value = res.data;
+        let formData = res.data
+        
+        if(formData.fileList) {
+          
+          
+          let sfz1 = formData.fileList.find(item => item.fileType == 'sfz1')
+          let sfz2 = formData.fileList.find(item => item.fileType == 'sfz2')
+          
+          let qualification = formData.fileList.find(item => item.fileType == 'bankCard')
+          let contractImg = formData.fileList.find(item => item.fileType == 'contract')
+          let applicantImg = formData.fileList.find(item => item.fileType == 'applicant')
+          let salaryTable = formData.fileList.find(item => item.fileType == 'salaryTable')
+          let leaveTable = formData.fileList.find(item => item.fileType == 'leaveTable')
+          if(sfz1) {
+            operationForm.value.sfz1 = sfz1.id
+            IDCardFrontName.value = sfz1.fileName
+            IDCardFront.value = sfz1.fileUrl
+          }
+          if(sfz2) {
+            operationForm.value.sfz2 = sfz2.id
+            IDCardBackName.value = sfz2.fileName
+            IDCardBack.value = sfz2.fileUrl
+          }
+          if(qualification) {
+            operationForm.value.qualification = qualification.id
+            bankName.value = qualification.fileName
+            bankSize.value = qualification.fileUrl
+          }
+          if(contractImg) {
+            operationForm.value.contract = contract.id
+            contractName.value = contractImg.fileName
+            contract.value = contractImg.fileUrl
+          }
+          if(applicantImg) {
+            operationForm.value.applicant = applicant.id
+            applicantName.value = applicantImg.fileName
+            applicant.value = applicantImg.fileUrl
+          }
+          if(salaryTable) {
+            operationForm.value.salaryTable = salaryTable.id
+            decidePayName.value = salaryTable.fileName
+            decidePay.value = salaryTable.fileUrl
+          }
+          if(leaveTable) {
+            operationForm.value.leaveTable = leaveTable.id
+            dimissionName.value = leaveTable.fileName
+            dimission.value = leaveTable.fileUrl
+          }
+        }
       }
     });
 });