From a9b4e8e7761359060b73edb86e36fd169b618b56 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期四, 02 十一月 2023 23:52:36 +0800
Subject: [PATCH] 基础码段增加前缀后缀;主数据历史数据导入,模板下载设置编号列为文本类型

---
 Source/UBCS-WEB/src/views/code/code.vue |  118 ++++++++++++++++++++++++++++++++++++++++++++---------------
 1 files changed, 88 insertions(+), 30 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index ccc8e0c..c623dfc 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, //鏄惁涓虹┖
+        prefix: "", //鍓嶇紑
+        suffix: "", //鍚庣紑
         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鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/
@@ -3376,16 +3424,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") || [];
@@ -3499,8 +3548,14 @@
 }
 
 /** 鏂板鐮佹 */
+.add-basicsec-dialog > .el-dialog > .el-dialog__body {
+  padding: 20px 20px 4px;
+  margin-bottom: 30px;
+}
+
 .add-basicsec-total {
   width: 100%;
+  height: 500px;
 }
 
 .add-basicsec-total .el-input__inner,
@@ -3519,9 +3574,11 @@
 
 .add-basicsec-form > .el-divider--vertical {
   width: 2px;
-  height: 100%;
-  margin: 0 auto;
-  /* position: fixed; */
+  height: 78%;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
 }
 
 .left {
@@ -3537,8 +3594,9 @@
   width: auto;
 }
 
-.right > .el-form > .el-form-item {
-  margin-bottom: 8px;
+.add-basicsec-form > .left > .el-form-item,
+.add-basicsec-form > .right > div > .el-form-item{
+  margin-bottom: 12px;
 }
 
 /* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */

--
Gitblit v1.9.3