From cc3d9886a0b6e6f5e7f834045b10735e3197bb7b Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期四, 09 十一月 2023 19:44:47 +0800
Subject: [PATCH] Merge remote-tracking branch 'origin/master'

---
 Source/UBCS-WEB/src/views/code/code.vue |  359 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 210 insertions(+), 149 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index ccc8e0c..5210e2d 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -576,16 +576,16 @@
       :title="basicSecDialogTitle"
       :visible.sync="addBasicCodeSettingBox"
       append-to-body
-      class="avue-dialog avue-dialog--top"
+      class="avue-dialog avue-dialog--top add-basicsec-dialog"
       destroy-on-close
       lock-scroll
-      style="height: 100vh"
+      style="height: 105vh"
       top="-3%"
       width="900px"
       @close="clearBasicAddForm"
     >
       <!--  绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� -->
-      <div class="add-basicsec-total" style="overflow-y: auto; height: 58vh">
+      <div class="add-basicsec-total">
         <el-form :model="form" class="add-basicsec-form">
           <span class="left">
             <el-form-item
@@ -614,7 +614,7 @@
 
             <el-form-item
               :label-width="leftFormLabelWidth"
-              label="鐮佹绫诲瀷"
+              label="鐮佹绫诲瀷:"
               required
             >
               <el-select
@@ -631,6 +631,24 @@
                 >
                 </el-option>
               </el-select>
+            </el-form-item>
+
+            <el-form-item
+              :label-width="leftFormLabelWidth"
+              label="鍓嶇紑:">
+              <el-input
+                v-model="form.prefixCode"
+                :readonly="basicSecOnlyRead"
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item
+              :label-width="leftFormLabelWidth"
+              label="鍚庣紑:">
+              <el-input
+                v-model="form.suffixCode"
+                :readonly="basicSecOnlyRead">
+              </el-input>
             </el-form-item>
 
             <el-form-item :label-width="leftFormLabelWidth" label="鎻忚堪:">
@@ -818,9 +836,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>
@@ -1113,9 +1131,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>
@@ -1125,7 +1143,7 @@
         </el-form>
       </div>
       <!-- 绗竴灞傚璇濇鐨勬寜閽拰鍒嗛殧绾挎潯 -->
-      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
+      <!-- <el-divider class="horizontal-line" direction="horizontal"></el-divider> -->
       <div slot="footer" class="dialog-footer">
         <el-button
           :disabled="!showbtn"
@@ -1293,6 +1311,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";
@@ -1303,6 +1322,7 @@
 import { mapGetters } from "vuex";
 import { getByRoleUserList } from "@/api/system/user";
 import func from "@/util/func";
+import secTypeEnum from '@/enumpack/CodeSecTypeEnum';
 
 export default {
   data() {
@@ -1532,6 +1552,8 @@
         serialDependFlag: false, //鏄惁娴佹按渚濊禆
         serialDependOrder: "", //娴佹按渚濊禆椤哄簭
         nullableFlag: false, //鏄惁涓虹┖
+        prefixCode: "", //鍓嶇紑
+        suffixCode: "", //鍚庣紑
         displayFlag: false, //
         componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
         pkCodeRule: "", //鎵�灞炵紪鐮佽鍒�
@@ -1611,6 +1633,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: {
 
@@ -2421,11 +2453,11 @@
           .catch((error) => {
             this.releadDisabled = false;
           });
+        this.releadDisabled = false;
       } else {
         this.updateStatus(oid, update);
       }
     },
-
     /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
     openCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
@@ -2433,7 +2465,6 @@
       }
       this.cloneSettingBox = true;
     },
-
     /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/
     openOtherCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
@@ -2665,13 +2696,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;
     },
@@ -2717,7 +2748,23 @@
           // 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",
@@ -2732,6 +2779,7 @@
           }
         );
       }
+      // 鍙栨秷淇濆瓨鎸夐挳鍔犺浇鏁堟灉
       this.isLoadingSecCodeAddBtn = false;
     },
     /** 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/
@@ -3171,16 +3219,18 @@
       }
       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, //鎻忚堪
+        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, //鎵�灞炵紪鐮佽鍒�
+        pkCodeRule:  row != null ? row.pkCodeRule:this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
+        prefixCode: row != null ? row.prefixCode:this.form.prefixCode, //鍓嶇紑
+        suffixCode: row!= null ? row.suffixCode:this.form.suffixCode, //鍚庣紑
       };
       if (this.form.secType === "codefixedsec") {
         //鍥哄畾鐮佹
@@ -3376,16 +3426,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") || [];
@@ -3414,145 +3465,155 @@
 </script>
 
 <style>
-[class^="icon-"] {
-  font-size: 12px !important;
-}
+  [class^="icon-"] {
+    font-size: 12px !important;
+  }
 
-.code-rule-crud > .avue-crud__search,
-.code-basic-crud > .avue-crud__search {
-  margin-bottom: -15px;
-}
+  .code-rule-crud > .avue-crud__search,
+  .code-basic-crud > .avue-crud__search {
+    margin-bottom: -15px;
+  }
 
-.clone-input-textarea > .el-form-item__content {
-  width: 495px;
-}
+  .clone-input-textarea > .el-form-item__content {
+    width: 495px;
+  }
 
-.clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
-  display: none !important;
-}
+  .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
+    display: none !important;
+  }
 
-.fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
-  display: none !important;
-}
+  .fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
+    display: none !important;
+  }
 
-.other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu {
-  display: none !important;
-}
+  .other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu {
+    display: none !important;
+  }
 
-.other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu {
-  display: none !important;
-}
+  .other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu {
+    display: none !important;
+  }
 
-.el-table--small .el-table__cell {
-  padding: 3px 0;
-}
+  .el-table--small .el-table__cell {
+    padding: 3px 0;
+  }
 
-.classify_value_box > .el-scrollbar {
-  height: 95%;
-}
+  .classify_value_box > .el-scrollbar {
+    height: 95%;
+  }
 
-.basic-container > .el-card > .el-card__body {
-  margin: -10px 0;
-}
+  .basic-container > .el-card > .el-card__body {
+    margin: -10px 0;
+  }
 
-.code-basicsec-container {
-  padding: 1px 6px;
-}
+  .code-basicsec-container {
+    padding: 1px 6px;
+  }
 
-.horizontal-line {
-  /* margin-top: 19px !important; */
-  margin-bottom: -20px !important;
-  width: 100%;
-  height: 2px;
-}
+  .horizontal-line {
+    /* margin-top: 19px !important; */
+    margin-bottom: -20px !important;
+    width: 100%;
+    height: 2px;
+  }
 
-.el-card__body > .treeBox {
-  height: 56vh;
-}
+  .el-card__body > .treeBox {
+    height: 56vh;
+  }
 
-.el-col-5 > .box {
-  height: 56vh;
-}
+  .el-col-5 > .box {
+    height: 56vh;
+  }
 
-.operator_,
-filter,
-.layui-btn {
-  width: 60px;
-}
+  .operator_,
+  filter,
+  .layui-btn {
+    width: 60px;
+  }
 
-.left > .el-form-item > .el-form-item__content > .el-input-number {
-  width: 120px;
-}
+  .left > .el-form-item > .el-form-item__content > .el-input-number {
+    width: 120px;
+  }
 
-.left
-  > .el-form-item
-  > .el-form-item__content
-  > .el-input-number
-  > .el-input
-  > .el-input__inner {
-  width: 120px;
-}
+  .left
+    > .el-form-item
+    > .el-form-item__content
+    > .el-input-number
+    > .el-input
+    > .el-input__inner {
+    width: 120px;
+  }
 
-.el-col > .el-card > .el-card__header {
-  background: rgb(213 231 239);
-  border-radius: inherit;
-}
+  .el-col > .el-card > .el-card__header {
+    background: rgb(213 231 239);
+    border-radius: inherit;
+  }
 
-/** 鏂板鐮佹 */
-.add-basicsec-total {
-  width: 100%;
-}
+  /** 鏂板鐮佹 */
+  .add-basicsec-dialog > .el-dialog > .el-dialog__body {
+    padding: 20px 20px 4px;
+    margin-bottom: 30px;
+  }
 
-.add-basicsec-total .el-input__inner,
-.add-basicsec-total .el-textarea__inner {
-  width: 220px;
-}
+  .add-basicsec-total {
+    width: 100%;
+    height: 500px;
+  }
 
-.add-basicsec-total > .add-basicsec-form {
-  display: flex;
-  flex-direction: row;
-  width: 100%;
-  height: 100%;
-  align-items: center;
-  justify-content: space-around;
-}
+  .add-basicsec-total .el-input__inner,
+  .add-basicsec-total .el-textarea__inner {
+    width: 220px;
+  }
 
-.add-basicsec-form > .el-divider--vertical {
-  width: 2px;
-  height: 100%;
-  margin: 0 auto;
-  /* position: fixed; */
-}
-
-.left {
-  /* float: left; */
-  width: 45%;
-  height: 100%;
-}
-
-.right {
-  /* float: right; */
-  margin-right: 2vw;
-  height: 100%;
-  width: auto;
-}
-
-.right > .el-form > .el-form-item {
-  margin-bottom: 8px;
-}
-
-/* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
-.el-dialog__footer {
-  /* width: 100%; */
-  border-top: 1px solid #e9e7e7;
-  padding: 5px 10px 10px;
-}
-
-.seloption {
-  margin-left: 10px;
-}
-
-/* .code-total > .basic-container__card {
+  .add-basicsec-total > .add-basicsec-form {
+    display: flex;
+    flex-direction: row;
+    width: 100%;
     height: 100%;
-  } */
+    align-items: center;
+    justify-content: space-around;
+  }
+
+  .add-basicsec-form > .el-divider--vertical {
+    width: 2px;
+    height: 78%;
+    position: absolute;
+    top: 50%;
+    left: 50%;
+    transform: translate(-50%, -50%);
+  }
+
+  .left {
+    /* float: left; */
+    width: 45%;
+    height: 100%;
+  }
+
+  .right {
+    /* float: right; */
+    margin-right: 2vw;
+    height: 100%;
+    width: auto;
+  }
+
+  .add-basicsec-form > .left > .el-form-item,
+  .add-basicsec-form > .right > div > .el-form-item{
+    margin-bottom: 12px;
+  }
+
+  /* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
+  .el-dialog__footer {
+    /* width: 100%; */
+    border-top: 1px solid #e9e7e7;
+    padding: 5px 10px 10px;
+  }
+
+  .seloption {
+    margin-left: 10px;
+  }
+
+  /* .code-total > .basic-container__card {
+      height: 100%;
+    } */
+
 </style>

--
Gitblit v1.9.3