From 4f7aec5e212b9e2f2e006985ea76d6b8598b42e4 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期五, 20 十月 2023 15:11:36 +0800
Subject: [PATCH] 最大流水号功能实现

---
 Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue            |   13 ------
 Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue |   78 +++++++++++++++++++++++++++++++++------
 Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue           |    6 ++
 Source/UBCS-WEB/src/api/code/maxSerialNum.js                           |    7 +--
 4 files changed, 74 insertions(+), 30 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/code/maxSerialNum.js b/Source/UBCS-WEB/src/api/code/maxSerialNum.js
index 747105e..8d257e7 100644
--- a/Source/UBCS-WEB/src/api/code/maxSerialNum.js
+++ b/Source/UBCS-WEB/src/api/code/maxSerialNum.js
@@ -17,13 +17,10 @@
     })
   }
 
-export const getMaxSerialNumber = (codeRuleOid,secDTOList) => {
+export const getMaxSerialNumber = (params) => {
   return request({
     url: '/api/ubcs-code/codeBasicSecController/getMaxSerialNumberForCodeRule',
     method: 'get',
-    params:{
-      codeRuleOid,
-      secDTOList
-    }
+    params
   })
 }
diff --git a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
index c2181d5..3ff1350 100644
--- a/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
+++ b/Source/UBCS-WEB/src/components/FormTemplate/FormTemplate.vue
@@ -101,6 +101,7 @@
   },
   data() {
     return {
+      ValidataValue:false,
       eventFlag:{},
       TreeValueForm:'',
       updateIndex: 0,
@@ -131,6 +132,8 @@
   },
   mounted() {
     this.handleResize();
+  },
+  updated() {
   },
   created() {
     if (this.LoadingStatus === 'code') {
@@ -165,7 +168,7 @@
       },
       deep:true,
       immediate:true
-    }
+    },
   },
   methods: {
     // 娓叉煋琛ㄥ崟妯℃澘
@@ -510,6 +513,7 @@
           if (valid) {
             done();
             resolve(true);
+            this.ValidataValue=true;
           } else {
             resolve(false);
           }
diff --git a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
index c7ea7bc..3f29c75 100644
--- a/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
+++ b/Source/UBCS-WEB/src/components/MasterCrud/VciMasterCrud.vue
@@ -966,16 +966,5 @@
 .bottom {
   margin-top: 10px;
 }
-//.custom-scrollbar::-webkit-scrollbar {
-//  width: 10px  !important;;/* 璁剧疆婊氬姩鏉$殑瀹藉害 */
-//}
-//
-//.custom-scrollbar::-webkit-scrollbar-thumb {
-//  background-color: #a11313  !important;; /* 璁剧疆婊氬姩鏉$殑棰滆壊 */
-//  border-radius: 5px  !important;; /* 璁剧疆婊氬姩鏉$殑杈规寮у害 */
-//}
-//
-//.custom-scrollbar::-webkit-scrollbar-track {
-//  background-color: #f1f1f1  !important;; /* 璁剧疆婊氬姩鏉$殑杞ㄩ亾棰滆壊 */
-//}
+
 </style>
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
index 5b39ad3..e12a0bb 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/maxSerialnumDialog.vue
@@ -1,8 +1,8 @@
 <template>
   <el-dialog title="鏈�澶ф祦姘村彿" width="30%" append-to-body="true" class="avue-dialog avue-dialog--top" top="-3%" :visible.sync="dialogVisible">
-    <el-form :label-position="right" ref="ruleForm" label-width="80px" :model="formModel" :rules="rules">
+    <el-form :label-position="right" ref="ruleForm" label-width="80px" :model="formModel" :rules="rules"  v-loading="loading">
       <el-form-item label="娴佹按鍙�" prop="maxSecNum">
-        <el-input v-model="formModel.maxSecNum"></el-input>
+        <el-input v-model="formModel.maxSecNum" @blur="handleBlur"></el-input>
       </el-form-item>
     </el-form>
     <el-tabs v-model="activeName" type="border-card" @tab-click="handleClick">
@@ -52,10 +52,15 @@
       },
       immediate: true,
       deep: true
-    }
+    },
+  },
+   mounted() {
   },
   data() {
     return {
+      loading:false,
+      maxNum:Number,
+      ruleFormFlag:Boolean,
       dialogVisible: this.visible,
       activeName: 'codePrice',
       confirmLoadding: false,
@@ -68,7 +73,17 @@
       },
       rules: {
         maxSecNum: [
-          { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' }
+          { required: true, message: '璇疯緭鍏ユ祦姘村彿', trigger: 'blur' },
+          {
+            validator: (rule, value, callback) => {
+              if (value > this.maxNum) {
+                callback(new Error('涓嶈兘澶т簬鏈�澶ф祦姘村彿'));
+              } else {
+                callback();
+              }
+            },
+            trigger: 'blur'
+          }
         ],
       },
       selfColumnType: {
@@ -110,6 +125,10 @@
     }
   },
   methods: {
+    //娓呴櫎姝e垯
+    handleBlur() {
+      this.$refs.ruleForm.clearValidate('maxSecNum');
+    },
     // 鑾峰彇鐮佹
     async apiGetCode() {
       this.activeName = "codeApply";
@@ -142,7 +161,45 @@
     },
     getCodeApplyFormData(codeApplyForm) {
       this.codeApplyForm = codeApplyForm;
+      //鏈�澶ф祦姘碞umber
+      const objcodekey = Object.keys(codeApplyForm)
+      const filteredObj = objcodekey.reduce((acc, key) => {
+        const pattern = /[\u4e00-\u9fa5]/; // 鍖归厤涓枃瀛楃鐨勬鍒欒〃杈惧紡
+        const patterns = /\$/;
+        if (!pattern.test(key)&&!patterns.test(key)) {
+          acc[key] = this.codeApplyForm[key];
+        }
+        return acc;
+      }, {});
+
+      const arrCode = Object.entries(filteredObj).map(([key, value]) => {
+        return {
+          secOid: key,
+          secValue: value
+        }
+      })
+
+      this.ruleFormFlag = Object.values(codeApplyForm).every(value => {
+        return value !== null && value !== undefined && value !== '';
+      });
+      if (this.ruleFormFlag && this.secVOList.length>0) {
+        this.loading=true;
+        let params = {};
+        params['codeRuleOid'] = this.ruleOid;
+
+        Object.keys(arrCode).forEach((key) => {
+          params[key] = arrCode[key];
+        });
+
+        getMaxSerialNumber(params).then(res => {
+          this.formModel.maxSecNum = res.data.data;
+          this.loading=false;
+          this.maxNum=res.data.data
+        });
+
+      }
     },
+
     // 鍙栨秷
     cancel() {
       this.dialogVisible = false
@@ -172,10 +229,13 @@
       })
       this.formModel['secDTOList'] = arrCode
       this.formModel['codeRuleOid'] = this.ruleOid
-      this.confirmLoadding = true
-      const rule = await this.$refs.CodeApply.validate()
+      this.confirmLoadding = true;
+      // this.FormRule= await this.$refs.CodeApply.validate();
+      const rule = await this.$refs.CodeApply.validate();
+      // console.log(rule)
       this.$refs.ruleForm.validate(res => {
         if (rule && res) {
+          // console.log(rule,res)
           saveMaxSerialNum(this.formModel).then(res => {
             if (res.data.success) {
               this.$message.success('鎿嶄綔鎴愬姛锛�');
@@ -189,12 +249,6 @@
           this.confirmLoadding = false
         }
       })
-      // let object={}
-      // object['secDTOList'] = arrCode;
-      // object['codeRuleOid'] = this.ruleOid;
-      // getMaxSerialNumber(object.codeRuleOid,object.secDTOList).then(res=>{
-      //   console.log(res)
-      // })
 
     },
     // 鍙傜収缁勪欢鏁版嵁鍙樻洿

--
Gitblit v1.9.3