From 336eb77c1a07ca3e3ead4482b51f848fa16ab3b7 Mon Sep 17 00:00:00 2001
From: xiejun <xj@2023>
Date: 星期日, 12 十一月 2023 20:15:38 +0800
Subject: [PATCH] 自定义流水相关开发

---
 Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue |  242 ++++++++++++++++++++++++++---------------------
 1 files changed, 134 insertions(+), 108 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
index f28a489..60c4488 100644
--- a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
+++ b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
@@ -6,7 +6,7 @@
           type="text"
           size="small"
           icon="el-icon-edit"
-          v-if="permission.password.password_edit"
+          v-if="permissionList.editBtn"
           @click="handleEdit(row, index)"
         >
           缂栬緫
@@ -15,7 +15,7 @@
           type="text"
           size="small"
           icon="el-icon-delete"
-          v-if="permission.password.password_delete"
+          v-if="permissionList.delBtn"
           @click="handleDel(row, index)"
         >
           鍒犻櫎
@@ -42,85 +42,11 @@
 export default {
   name: "passwords.vue",
   data() {
-    // 鏈�灏忛暱搴︽鍒欑粦瀹氬��
-    let validatePass=""
-    //鏈�澶ч暱搴︽鍒欑粦瀹氬��
-    let validatePass1=""
-    //杩囨湡鏃堕棿姝e垯缁戝畾鍊�
-    let validatePass2=""
-    //鎻愰啋鏃堕棿姝e垯缁戝畾鍊�
-    let validatePass3=""
-    //閿佸畾娆℃暟姝e垯缁戝畾鍊�
-    let validatePass4=""
-    //閿佸畾鏃堕棿姝e垯缁戝畾鍊�
-    let validatePass5=""
-    //鏈�灏忛暱搴︾粦瀹歷alue
-    let values=""
-    //鏈�澶ч暱搴︾粦瀹歷alue
-    let values1=""
-    //鏈�灏忛暱搴︽鍒欐柟娉�
-    validatePass = (rule, value,callback) => {
-     values=value*1
-      if(value == ""){
-        callback(new Error('璇疯緭鍏ュ瘑鐮佹渶灏忛暱搴�'));
-      // }else if(values >= values1*1){
-      //   callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�'));
-      }else if(/[^\d]/g.test(value)){
-        callback(new Error('瀵嗙爜鏈�灏忛暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�'));
-      }else {
-        callback();
-      }
-    };
-    //鏈�澶ч暱搴︽鍒欐柟娉�
-    validatePass1= (rule, value,callback) =>{
-      values1=value*1
-     if(value == ""){
-        callback(new Error('璇疯緭鍏ュ瘑鐮佹渶澶ч暱搴�'));
-      }else if(values1 <= values){
-       callback(new Error('瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庡瘑鐮佹渶澶ч暱搴�'));
-     }else if(/[^\d]/g.test(value)){
-       callback(new Error('瀵嗙爜鏈�澶ч暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�'));
-     }else {
-       callback();
-     }
-    };
-    validatePass2 = (rule, value,callback) => {
-      if(value == ""){
-        callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�'));
-      }else if(/[^\d]/g.test(value)){
-        callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
-      }else {
-        callback();
-      }
-    };
-    validatePass3 = (rule, value,callback) => {
-      if(value == ""){
-        callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�'));
-      }else if(/[^\d]/g.test(value)){
-        callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
-      }else {
-        callback();
-      }
-    };
-    validatePass4 = (rule, value,callback) => {
-      if(value == ""){
-        callback(new Error('璇疯緭鍏ラ攣瀹氭鏁�'));
-      }else if(/[^\d]/g.test(value)){
-        callback(new Error('閿佸畾娆℃暟鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
-      }else {
-        callback();
-      }
-    };
-    validatePass5 = (rule, value,callback) => {
-      if(value == ""){
-        callback(new Error('璇疯緭鍏ラ攣瀹氭椂闂�'));
-      }else if(/[^\d]/g.test(value)){
-        callback(new Error('閿佸畾鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
-      }else {
-        callback();
-      }
-    };
     return {
+      //鏈�灏忛暱搴︾粦瀹歷alue
+      values:"",
+      //鏈�澶ч暱搴︾粦瀹歷alue
+      values1:"",
       form:{},
       page: {
         pageSize: 10,
@@ -147,6 +73,22 @@
   },
   computed:{
     ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.password.password_add, false),
+        //viewBtn: this.vaildData(this.permission.password.user_view, false),
+        delBtn: this.vaildData(this.permission.password.password_delete, false),
+        editBtn: this.vaildData(this.permission.password.password_edit, false),
+      };
+    },
+    platformPermissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.password.password_add, false),
+        //viewBtn: this.vaildData(this.permission.password.user_view, false),
+        delBtn: this.vaildData(this.permission.password.password_delete, false),
+        editBtn: this.vaildData(this.permission.password.password_edit, false),
+      };
+    },
     option(){
       return{
           headerAlign: 'center',
@@ -155,7 +97,7 @@
           border: true,
           index: true,
           rowKey:'id',
-          addBtn:this.permission.password.password_add,
+          addBtn:this.permissionList.addBtn,
           editBtn:false,
           height:700,
           delBtn:false,
@@ -179,7 +121,18 @@
               labelWidth:"22%",
               rules: [{
                 required: true,
-                validator:this.validatePass,
+                validator:(rule, value,callback)=>{
+                  this.values=value*1
+                  if(value == ""){
+                    callback(new Error('璇疯緭鍏ュ瘑鐮佹渶灏忛暱搴�'));
+                  }else if(/[^\d]/g.test(value)){
+                    callback(new Error('瀵嗙爜鏈�灏忛暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�'));
+                  }else if(this.values >= this.values1 && this.values1 != 0){
+                    callback(new Error('瀵嗙爜鏈�灏忛暱搴︿笉鑳藉ぇ浜庡瘑鐮佹渶澶ч暱搴�'))
+                  }else {
+                    callback();
+                  }
+                },
                 trigger: 'blur'
               }]
             },
@@ -190,7 +143,18 @@
               labelWidth:"25%",
               rules: [{
                 required: true,
-                validator:this.validatePass1,
+                validator:(rule, value,callback) =>{
+                  this.values1=value*1
+                  if(value == ""){
+                    callback(new Error('璇疯緭鍏ュ瘑鐮佹渶澶ч暱搴�'));
+                  }else if(this.values1 <= this.values){
+                    callback(new Error('瀵嗙爜鏈�澶ч暱搴︿笉鑳藉皬浜庡瘑鐮佹渶澶ч暱搴�'));
+                  }else if(/[^\d]/g.test(value)){
+                    callback(new Error('瀵嗙爜鏈�澶ч暱搴︾殑杈撳叆绫诲瀷鍙兘涓烘暟瀛楃被鍨�'));
+                  }else {
+                    callback();
+                  }
+                },
                 trigger: 'change'
               }]
             },
@@ -264,7 +228,15 @@
               labelWidth:"22%",
               rules: [{
                 required: true,
-                validator:this.validatePass2,
+                validator: (rule, value,callback) => {
+                  if(value == ""){
+                    callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�'));
+                  }else if(/[^\d]/g.test(value)){
+                    callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+                  }else {
+                    callback();
+                  }
+                },
                 trigger: 'blur'
               }]
             },
@@ -275,7 +247,15 @@
               labelWidth:"25%",
               rules: [{
                 required: true,
-                validator:this.validatePass3,
+                validator:(rule, value,callback) => {
+                  if(value == ""){
+                    callback(new Error('璇疯緭鍏ヨ繃鏈熸椂闂�'));
+                  }else if(/[^\d]/g.test(value)){
+                    callback(new Error('杩囨湡鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+                  }else {
+                    callback();
+                  }
+                },
                 trigger: 'blur'
               }]
             },
@@ -286,7 +266,15 @@
               labelWidth:"22%",
               rules: [{
                 required: true,
-                validator:this.validatePass4,
+                validator:(rule, value,callback) => {
+                  if(value == ""){
+                    callback(new Error('璇疯緭鍏ラ攣瀹氭鏁�'));
+                  }else if(/[^\d]/g.test(value)){
+                    callback(new Error('閿佸畾娆℃暟鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+                  }else {
+                    callback();
+                  }
+                },
                 trigger: 'blur'
               }]
             },
@@ -297,7 +285,15 @@
               labelWidth:"25%",
               rules: [{
                 required: true,
-                validator:this.validatePass5,
+                validator:(rule, value,callback) => {
+                  if(value == ""){
+                    callback(new Error('璇疯緭鍏ラ攣瀹氭椂闂�'));
+                  }else if(/[^\d]/g.test(value)){
+                    callback(new Error('閿佸畾鏃堕棿鐨勮緭鍏ョ被鍨嬪彧鑳戒负鏁板瓧绫诲瀷'));
+                  }else {
+                    callback();
+                  }
+                },
                 trigger: 'blur'
               }]
             },
@@ -323,7 +319,6 @@
               }]
             }
           ],
-
       }
     }
   },
@@ -335,41 +330,72 @@
       this.selectlength=val
     },
     handleCheckboxChange(val) {
-      // console.log("val",val);
       const arr = this.option.column[5];
-      if(val){
-        this.checkboxlength = val.value;
-        return
-      }
-      // console.log("this.checkboxlength",this.checkboxlength);
+      this.checkboxlength = val.value;
       this.checkboxedit = this.checkboxlength.toString().split(",");
-      if (val.value != undefined && val.value != null) {
-        if (this.checkboxlist == val.value) {
+
+      if (val.value !== undefined && val.value !== null) {
+        if (this.checkboxlist === val.value) {
+          return;
         } else {
           this.checkboxlist = val.value;
           if (
-            this.selectlength.value >= val.value.length &&
+            this.selectlength.value > val.value.length &&
             val.value.length > 0
           ) {
-            this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�");
+            this.showWarningMessage();
           } else if (
-            this.selectlength.value >= this.checkboxedit.length &&
+            this.selectlength.value > this.checkboxedit.length &&
             this.checkboxedit.length > 0
           ) {
-            this.showMessage("蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�");
+            this.showWarningMessage();
           }
         }
       }
-      const disabledCount = Math.min(this.checkboxedit.length, 4);
-      for (let i = 0; i < arr.dicData.length; i++) {
-        arr.dicData[i].disabled = i >= disabledCount;
+
+      if (val.value !== undefined && val.value !== null) {
+        if (val.value.length === 1) {
+          this.setDisabled(arr, [0]);
+        } else if (val.value.length === 2) {
+          this.setDisabled(arr, [0, 1]);
+        } else if (val.value.length === 3) {
+          this.setDisabled(arr, [0, 1, 2]);
+        } else if (val.value.length === 4) {
+          this.setDisabled(arr, [0, 1, 2, 3]);
+        } else if (val.value.length === 0) {
+          this.setDisabled(arr, [-1]);
+        }
+      } else if (this.checkboxNumber.length !== 0) {
+        this.setDisabled(arr, [0, 1, 2, 3]);
       }
-      if (this.editFlag == true) {
-        const disabledCount = Math.min(this.checkboxedit.length, 4);
-        for (let i = 0; i < arr.dicData.length; i++) {
-          arr.dicData[i].disabled = i >= disabledCount;
+
+      if (this.editFlag) {
+        if (this.checkboxedit.length === 1) {
+          this.setDisabled(arr, [0]);
+        } else if (this.checkboxedit.length === 2) {
+          this.setDisabled(arr, [0, 1]);
+        } else if (this.checkboxedit.length === 3) {
+          this.setDisabled(arr, [0, 1, 2]);
+        } else if (this.checkboxedit.length === 4) {
+          this.setDisabled(arr, [0, 1, 2, 3]);
+        } else if (this.checkboxedit.length === 0) {
+          this.setDisabled(arr, [-1]);
         }
       }
+    },
+
+    setDisabled(arr, indices) {
+      arr.dicData.forEach((item, index) => {
+        item.disabled = !indices.includes(index);
+      });
+    },
+
+    showWarningMessage() {
+      this.$message({
+        message: '蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�',
+        type: 'warning',
+        showClose: true,
+      });
     },
     rowDel(row){
       this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
@@ -417,7 +443,7 @@
       this.editFlag=true;
       this.checkboxNumber=row.combinationIds.split(",")
       this.selectNumber=row.requiredType
-        if(this.checkboxNumber.length<=this.selectNumber){
+        if(this.checkboxNumber.length < this.selectNumber){
           this.$message({
             type:"warning",
             message:"蹇呭~绉嶇被涓嶈兘澶т簬缁勫悎鏂规硶锛岃閲嶆柊閫夋嫨锛�"

--
Gitblit v1.9.3