From ca420bd9c09b51a404ade3e0106257725df727be Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期三, 01 十一月 2023 11:32:28 +0800
Subject: [PATCH] 整合代码

---
 Source/UBCS-WEB/src/views/code/code.vue |  133 +++++++++++++++++++++++++------------------
 1 files changed, 77 insertions(+), 56 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index b8dddd0..f9d2ddb 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1113,9 +1113,9 @@
                 >
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue"
+                    :key="item.dictKey"
+                    :label="item.dictValue"
+                    :value="item.dictValue"
                   >
                   </el-option>
                 </el-select>
@@ -1186,9 +1186,7 @@
           </el-row>
         </div>
         <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="selectedListClassifyLinkAttr"
-            >纭� 瀹�</el-button
-          >
+          <el-button type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button>
           <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button>
         </div>
       </el-dialog>
@@ -1295,6 +1293,7 @@
   saveCodeClassifyValueOrder,
 } from "@/api/code/codeClassifyValue";
 import { getDictionary } from "@/api/omd/enum";
+import { getDictionaryBiz } from "@/api/system/dictbiz";
 import optionBasic from "@/const/code/codebasic";
 import optionRule from "@/const/code/mdmrule";
 import attrOption from "@/const/code/selectAttrOptionDialog";
@@ -1305,6 +1304,7 @@
 import { mapGetters } from "vuex";
 import { getByRoleUserList } from "@/api/system/user";
 import func from "@/util/func";
+import secTypeEnum from '@/enumpack/CodeSecTypeEnum';
 
 export default {
   data() {
@@ -1601,7 +1601,7 @@
         basicMoveupBtn: this.vaildData(this.permission.code_rule.code_basic_moveup, false),
         basicDownBtn: this.vaildData(this.permission.code_rule.code_basic_down, false),
       }
-    }
+    },
   },
   watch: {},
   mounted() {
@@ -1613,6 +1613,16 @@
       this.$refs.crud.doLayout();
       this.$refs.crudBasic.doLayout();
     });
+  },
+  // 鐢熷懡閽╁瓙鍑芥暟
+  beforeDestroy() {
+    // 娓呴櫎鎸囧畾缂撳瓨
+    localStorage.removeItem('codeSecType');
+    localStorage.removeItem('codeSecLength');
+    localStorage.removeItem('codeFillType');
+    localStorage.removeItem('codeLevelType');
+    localStorage.removeItem('codeCutType');
+    localStorage.removeItem('codeGetValueType');
   },
   methods: {
 
@@ -2423,11 +2433,11 @@
           .catch((error) => {
             this.releadDisabled = false;
           });
+        this.releadDisabled = false;
       } else {
         this.updateStatus(oid, update);
       }
     },
-
     /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
     openCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
@@ -2435,7 +2445,6 @@
       }
       this.cloneSettingBox = true;
     },
-
     /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/
     openOtherCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
@@ -2667,13 +2676,13 @@
         this.basicSecDialogTitle = "淇敼鐮佹淇℃伅";
         this.showbtn = true;
         this.basicSecOnlyRead = false;
-        //涓篺orm缁戝畾鍊�
       } else {
         this.basicSecDialogTitle = "鏌ョ湅鐮佹淇℃伅";
         this.showbtn = false;
         this.basicSecOnlyRead = true;
       }
       //console.log(this.form);
+      //涓篺orm缁戝畾鍊�
       this.changeSectypeFormItems(condition == "add" ? null : row);
       this.addBasicCodeSettingBox = true;
     },
@@ -2696,16 +2705,16 @@
                 type: "success",
                 message: "鎿嶄綔鎴愬姛!",
               });
+              // 鍏抽棴瀵硅瘽妗�
+              this.addBasicCodeSettingBox = false;
+              // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
+              this.loadBasic(this.selectionList[0]);
             },
             (error) => {
               window.console.log(error);
             }
           );
-          // 鍏抽棴瀵硅瘽妗�
-          this.addBasicCodeSettingBox = false;
         }
-        // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-        this.loadBasic(this.selectionList[0]);
       } else {
         // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
         if (
@@ -2719,21 +2728,38 @@
           // let referValueInfo = JSON.parse(this.form.referValueInfo);
           // referValueInfo.referType = this.form.referBtmId;
         }
-        editSave(this.form).then(
+        let oldBasicSec = this.selectionBasicList.at(-1);
+        let secType = this.form.secType;
+        Vue.set(this.form, 'isClearValue', false);
+        if((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType){
+          await this.$confirm("鐮佹绫诲瀷鐢便��"+oldBasicSec.secTypeText+"銆戯紝淇敼涓�"+"銆�"+secTypeEnum.getTextByValue(secType)+"銆戯紝璇烽棶鏄惁闇�瑕佹竻绌哄叧鑱旂殑鐮佸�硷紵", "鎻愮ず", {
+            distinguishCancelAndClose: true,
+            closeOnClickModal: false,
+            confirmButtonText: "娓呯┖鐮佸��",
+            cancelButtonText: "淇濈暀鐮佸��",
+          }).then(() => {
+            // 娓呯┖鐮佸��
+            this.form.isClearValue = true;
+          }).catch(action => {
+            this.form.isClearValue = false;
+          });
+        }
+        await editSave(this.form).then(
           () => {
             this.$message({
               type: "success",
               message: "鎿嶄綔鎴愬姛!",
             });
+            this.loadBasic(this.selectionList[0]);
+            // 鍏抽棴瀵硅瘽妗�
+            this.addBasicCodeSettingBox = false;
           },
           (error) => {
             window.console.log(error);
           }
         );
-        this.loadBasic(this.selectionList[0]);
-        // 鍏抽棴瀵硅瘽妗�
-        this.addBasicCodeSettingBox = false;
       }
+      // 鍙栨秷淇濆瓨鎸夐挳鍔犺浇鏁堟灉
       this.isLoadingSecCodeAddBtn = false;
     },
     /** 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/
@@ -3171,34 +3197,19 @@
       ) {
         this.loadCodeSecType();
       }
-      if (row != null) {
-        this.form = {
-          oid: row.oid,
-          id: row.id, //缂栧彿,
-          name: row.name, //鍚嶇О
-          secType: row.secType, //鐮佹绫诲瀷
-          description: row.description, //鎻忚堪
-          serialDependFlag: row.serialDependFlag == "true" ? true : false, //鏄惁娴佹按渚濊禆
-          serialDependOrder: row.serialDependOrder, //娴佹按渚濊禆椤哄簭
-          nullableFlag: row.nullableFlag == "true" ? true : false, //鏄惁涓虹┖
-          displayFlag: row.displayFlag == "true" ? true : false,
-          componentCodeFlag: row.componentCodeFlag == "true" ? true : false, //鏄惁鍙備笌缂栫爜
-          pkCodeRule: row.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
-        };
-      } else {
-        this.form = {
-          id: this.form.id, //缂栧彿
-          name: this.form.name, //鍚嶇О
-          secType: this.form.secType, //鐮佹绫诲瀷
-          description: this.form.description, //鎻忚堪
-          serialDependFlag: this.form.serialDependFlag, //鏄惁娴佹按渚濊禆
-          serialDependOrder: this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭
-          nullableFlag: this.form.nullableFlag, //鏄惁涓虹┖
-          displayFlag: this.form.displayFlag, //
-          componentCodeFlag: this.form.componentCodeFlag, //鏄惁鍙備笌缂栫爜
-          pkCodeRule: this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
-        };
-      }
+      this.form = {
+        oid: row !=null ? row.oid:this.form.oid,
+        id: row !=null ? row.id:this.form.id, //缂栧彿,
+        name: row !=null ? row.name:this.form.name, //鍚嶇О
+        secType: row !=null ?  row.secType:this.form.secType, //鐮佹绫诲瀷
+        description:  row !=null ? row.description:this.form.description, //鎻忚堪
+        serialDependFlag: this.isNullJsonBoolean(row,this.form, 'serialDependFlag'), //鏄惁娴佹按渚濊禆
+        serialDependOrder:  row !=null ? row.serialDependOrder:this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭
+        nullableFlag: this.isNullJsonBoolean(row, this.form, 'nullableFlag'), //鏄惁涓虹┖
+        displayFlag: this.isNullJsonBoolean(row, this.form, 'displayFlag'),
+        componentCodeFlag: this.isNullJsonBoolean(row, this.form, 'componentCodeFlag'), //鏄惁鍙備笌缂栫爜
+        pkCodeRule:  row !=null ? row.pkCodeRule:this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
+      };
       if (this.form.secType === "codefixedsec") {
         //鍥哄畾鐮佹
         this.form = Object.assign({}, this.form, {
@@ -3351,6 +3362,15 @@
         this.loadCodeFillSeparator();
       }
     },
+    // 鍒ゆ柇Boolean鍊兼槸鍚︿负绌猴紝骞朵笖瀵箂tr绫诲瀷甯冨皵鍊艰繘琛岃浆鎹�
+    isNullJsonBoolean(row,form,attr) {
+        //console.log(row[attr],form[attr]);
+        if(row != null){
+          return JSON.parse(row[attr]);
+        }else {
+          return form[attr];
+        }
+    },
     /** 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�*/
     getLocalStorageEnum(enumKey) {
       let enumCach = JSON.parse(localStorage.getItem(enumKey));
@@ -3384,16 +3404,17 @@
       this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType") || [];
     },
     loadCodeFillSeparator() {
-      let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
-      if (enumCach == null) {
-        getDictionary("codeFillSeparator").then((res) => {
-          this.enumParam.codeFillSeparator = res.data.data;
-          localStorage.setItem(
-            "codeFillSeparator",
-            JSON.stringify(res.data.data)
-          );
-        });
-      }
+      //let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
+      //if (enumCach == null) {
+      getDictionaryBiz({code:"codeFillSeparator"}).then((res) => {
+        this.enumParam.codeFillSeparator = res.data.data;
+        //console.log(this.enumParam.codeFillSeparator);
+        localStorage.setItem(
+          "codeFillSeparator",
+          JSON.stringify(res.data.data)
+        );
+      });
+      //}
     },
     loadCodeLevelType() {
       this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType") || [];

--
Gitblit v1.9.3