From baf335094eb69b68a70c5a1010a5fb08bc1222cf Mon Sep 17 00:00:00 2001
From: yuxc <653031404@qq.com>
Date: 星期一, 03 七月 2023 18:01:37 +0800
Subject: [PATCH] 1、主要对修改码段选择层级码段时加了一个值截取长度的框以及相关处理逻辑。 2、对模板属性批量保存保存进行了修改。

---
 Source/UBCS-WEB/src/views/code/code.vue |  390 +++++++++++++++++++++++++++++++------------------------
 1 files changed, 222 insertions(+), 168 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index aaeef02..eff5c3f 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -92,7 +92,7 @@
             @click="handleRange">
             浣跨敤鑼冨洿
           </el-button>
-          <el-button 
+          <el-button
               size="small"
               icon="icon-qingkong"
               plain
@@ -118,7 +118,7 @@
       width="800px"
       style="height: 116vh; margin-top: -10vh;">
       <avue-crud
-        :option="dialogeOption" 
+        :option="dialogeOption"
         :table-loading="dialogLoading"
         :data="useRangeData"
         @refresh-change="refreshUseRangeChange">
@@ -300,6 +300,7 @@
             size="small"
             icon="el-icon-search"
             plain
+            :disabled="selectionList.length <= 0"
             @click="openAdvancedQuery('codeBasicSec')">
             楂樼骇鏌ヨ
         </el-button>
@@ -325,8 +326,8 @@
                 <basic-container>
                   <div class="abox" style="height:54vh">
                     <avue-tree
-                      :data="classifyValueTreeData" 
-                      :option="classisyValueTreeOption" 
+                      :data="classifyValueTreeData"
+                      :option="classisyValueTreeOption"
                       @node-click="classisyValueTreeOnodeClick"
                       style="overflow-y: auto; height: 54vh"/>
                   </div>
@@ -430,7 +431,7 @@
             <el-form-item label="鐮佹鍚嶇О:" :label-width="leftFormLabelWidth" required>
               <el-input ref="name"  v-model="form.name" :readonly="basicSecOnlyRead"></el-input>
             </el-form-item>
-            
+
             <el-form-item label="鐮佹绫诲瀷" :label-width="leftFormLabelWidth" required>
               <el-select v-model="form.secType" placeholder="璇烽�夋嫨" @change="changeSectypeFormItems(null)" :disabled="basicSecOnlyRead">
                 <el-option
@@ -488,7 +489,7 @@
                 </el-input>
               </el-form-item>
               <el-form-item label="灞炴�ф墍鍦ㄥ垎绫�:" :label-width="rightFormLabelWidth">
-                <el-input 
+                <el-input
                   v-model="form.referCodeClassifyOidName"
                   disabled>
               </el-input>
@@ -527,7 +528,7 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
-                <el-select v-model="form.codeFillSeparatorSelect" @blur="inputSelectBlur" filterable placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                <el-select v-model="form.codeFillSeparator" @blur="inputSelectBlur" filterable placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
                     :key="item.itemValue"
@@ -565,7 +566,7 @@
                 <el-input v-model.number="form.codeLevelValue" ref="codeLevelValue"  :readonly="basicSecOnlyRead"></el-input>
               </el-form-item>
               <el-form-item label="瀛楃鎴彇绫诲瀷:" :label-width="rightFormLabelWidth" required>
-                <el-select v-model="form.valueCutType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                <el-select v-model="form.valueCutType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead" @change="changeCutType($event)">
                   <el-option
                     v-for="item in enumParam.codeCutType"
                     :key="item.itemValue"
@@ -573,6 +574,9 @@
                     :value="item.itemValue">
                   </el-option>
                 </el-select>
+              </el-form-item>
+              <el-form-item id="ShowOrHide" v-mode="showCutLength" v-if="showCutLength==true" label="鍊兼埅鍙栭暱搴�:" :label-width="rightFormLabelWidth">
+                <el-input v-model.number="form.valueCutLength" ref="valueCutLength"  :readonly="basicSecOnlyRead"></el-input>
               </el-form-item>
               <el-form-item label="鍙栧�肩被鍨�:" :label-width="rightFormLabelWidth">
                 <el-select v-model="form.codeGetValueType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
@@ -589,7 +593,7 @@
             <div v-show="form.secType==='coderefersec' ? true:false">
               <el-form-item label="鍙傜収寮曠敤鐨勪笟鍔$被鍨�:" label-width="152px" required>
                 <el-input
-                  ref="referBtmId" 
+                  ref="referBtmId"
                   placeholder="璇烽�夋嫨"
                   prefix-icon="el-icon-search"
                   readonly="true"
@@ -601,7 +605,7 @@
               </el-form-item>
               <el-form-item label="鍙傜収閰嶇疆:" label-width="152px" required>
                 <el-input
-                  ref="referConfig" 
+                  ref="referConfig"
                   placeholder="璇烽�夋嫨"
                   prefix-icon="el-icon-search"
                   readonly="true"
@@ -664,7 +668,7 @@
                 </el-select>
               </el-form-item>
               <el-form-item label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
-                <el-select v-model="form.codeFillSeparatorSelect" filterable @blur="inputSelectBlur" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                <el-select v-model="form.codeFillSeparator" filterable @blur="inputSelectBlur" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
                     :key="item.itemValue"
@@ -730,9 +734,9 @@
       </el-dialog>
 
       <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗璇濇缁勪欢 -->
-      <formula-editor 
-        ref="formulaEditor" 
-        @updateFormulaContent="updateFormulaContent" 
+      <formula-editor
+        ref="formulaEditor"
+        @updateFormulaContent="updateFormulaContent"
         :thisSceneTableData="formulaEditorParams.thisSceneTableData"
         :visible.sync="formulaEditorParams.formulaEditorSettingBox"
         :systemVariableTableData="formulaEditorParams.systemVariableTableData">
@@ -748,7 +752,7 @@
         <avue-crud
           :page.sync="parentClsfyParams.parentClassifyDataPage"
           :ref="parentClsfyParams.ref"
-          :option="parentClsfyParams.parentClassifyParentOption" 
+          :option="parentClsfyParams.parentClassifyParentOption"
           :table-loading="parentClsfyParams.classifyDialogLoading"
           :data="parentClsfyParams.parentClassifyData"
           @refresh-change="refreshParentClassifyDataChange"
@@ -778,6 +782,7 @@
         ref="referConfigFormDialog"
         @echoReferConfig="echoReferConfig">
       </refer-config-form-dialog>
+
       <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆crud缁勪欢 -->
       <refer-config-crud-dialog
         ref="referConfigCrudDialog"
@@ -792,12 +797,12 @@
 
 <script>
   import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus,clone,clearAllCode } from "@/api/code/mdmrule";
-  import { 
-    gridCodeBasicSec, 
-    downOrderNum, 
-    upOrderNum, 
-    deleteData, 
-    editSave, 
+  import {
+    gridCodeBasicSec,
+    downOrderNum,
+    upOrderNum,
+    deleteData,
+    editSave,
     cloneCodeBasic,
     addSave,
     refDataGridClassifySec,
@@ -833,6 +838,7 @@
             total: 0
           },
           selectionList: [],
+          showCutLength: false,
           /*缂栫爜瑙勫垯琛ㄦ牸閰嶇疆*/
           optionRule: optionRule,
           data: [],
@@ -908,7 +914,7 @@
             codeFixedSecOid: "",
             description: "",
             id: "",
-          }, 
+          },
           isShowFixedForm: true, //true鏄剧ず鍥哄畾鐮佹鐮佸�肩鐞嗙晫闈紝false鏄剧ず鍒嗙被鐮佹鐮佸�肩鐞嗙晫闈�
           fixedValueData: [], //鍥哄畾鐮佹鐮佸�艰〃鏍兼暟鎹�
           fixedValueOption: fixedValueOption, //琛ㄦ牸閰嶇疆
@@ -933,7 +939,7 @@
           treeOption: treeOption,
           currentSelectTreeData: '', //褰撳墠閫変腑鐨勬爲鑺傜偣
           /* 涓哄睘鎬ч�夊�煎彸渚ц〃鏍肩浉鍏虫暟鎹� */
-          
+
           selectAttrParams: {
             ref: "selectionAttrCrud",
             attrOption: attrOption,
@@ -1011,7 +1017,7 @@
             ],
             formulaEditorSettingBox: false,
           },
-          
+
           /* 鐖跺垎绫荤爜娈靛璇濇 */
           parentClsfyParams: {
             ref: 'crudParentClassify',
@@ -1028,7 +1034,7 @@
             parentClassifyQuery: {}, //鏌ヨ鏉′欢
             parentClassifySelectionList: [], //褰撳墠閫変腑琛�
           },
-          
+
           /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鏁版嵁 */
           referBtmDialogParams: {
             ref: 'crudReferBtm',
@@ -1048,7 +1054,7 @@
             componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
             pkCodeRule: '', //鎵�灞炵紪鐮佽鍒�
           },
-          
+
           //鏋氫妇鍜屽彲杈撳彲閫夋煡璇�
           enumParam: {
             secTypeList:[],    //鐮佹绫诲瀷
@@ -1069,6 +1075,7 @@
             ref: 'advancedQuery',
             advancedQuerySettingBox: false,
             options: [],
+            currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸
             //conditionMapParams: {},
           },
 
@@ -1092,11 +1099,17 @@
 
         /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
         echoSeniorContionMap(conditionMaps){
-          // console.log(conditionMaps);
-          this.query = conditionMaps;
-          this.onLoad(this.page);
+          //console.log(conditionMaps);
+          if(JSON.stringify(conditionMaps)!='{}'){
+            if(this.advancedQueryParam.currentOpen =='codeRule'){
+              this.query = conditionMaps;
+              this.onLoad(this.page);
+            }else{
+              this.sendGridCodeBasicSec(conditionMaps,true);
+            }
+            //console.log(conditionMaps);
+          }
         },
-
         /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */
         updateFormulaContent(content){
           this.form.getValueClass = content;
@@ -1104,20 +1117,21 @@
         /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
         echoReferConfig(content){
           // console.log(content.referTypeName);
-          this.form.referBtmId = content.referType;
-          this.form.referBtmName = content.referTypeName;
+          this.form.referBtmId = content.referType || '';
+          this.form.referBtmName = content.referTypeName || content.referType;
           //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
           let submitFormJson = JSON.stringify(content);
-          this.form.referConfig = submitFormJson;
+          this.form.referConfig = submitFormJson || '';
+          this.form.referValueInfo = submitFormJson || '';
         },
         /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
         echoReferBtmType(content){
-            // 瀹炵幇鍥炴樉
-            this.form.referBtmId = content.id;
-            this.form.referBtmName = content.name;
+          // 瀹炵幇鍥炴樉
+          this.form.referBtmId = content.id || '';
+          this.form.referBtmName = content.name || content.id;
         },
-        
-        /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
+
+        /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
         // 淇濆瓨褰撳墠鐖跺垎绫荤爜娈电殑閫変腑琛岋紝骞惰繘琛屽洖鏄�
         saveSelectedParentClassify(){
           //console.log(this.parentClsfyParams.parentClassifySelectionList.length);
@@ -1169,8 +1183,13 @@
           let parentClsParam = this.parentClsfyParams;
           parentClsParam.classifyDialogLoading = true;
           let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid;
-          Object.assign(params,{pkCodeRule:oid})
-          refDataGridClassifySec(page.currentPage, page.pageSize, Object.assign(params, parentClsParam.parentClassifyQuery)).then(res => {
+          let conditionMaps = {};
+          conditionMaps['conditionMap[pkCodeRule]'] = oid;
+          refDataGridClassifySec(
+            page.currentPage,
+            page.pageSize,
+            conditionMaps
+          ).then(res => {
             //console.log(res.data);
             const data = res.data.data;
             parentClsParam.parentClassifyDataPage.total = data.total;
@@ -1179,9 +1198,9 @@
             this.parentClassifySelectionClear();
           });
         },
-        
 
-        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
+
+        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
         // 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid
         nodeClick(data) {
           this.currentSelectTreeData = data;
@@ -1191,23 +1210,25 @@
         loadlistClassifyLinkAttr() {
           let attrParam = this.selectAttrParams;
           //console.log(this.currentSelectTreeData);
-          attrParam.selectAttrOptionLoading = true;
-          let param = {};
-          // 澶氫釜conditionMap杩欐牱浼犲弬
+          this.selectAttrParams.selectAttrOptionLoading = true;
+          let conditionMaps = {};
           if(attrParam.selectAttrQeury){
-              Object.keys(attrParam.selectAttrQeury).forEach(key=>{
-                  param['conditionMap['+key+']'] = attrParam.selectAttrQeury[key];
-              });
-          }
-          param['conditionMap[codeClassifyOid]'] = this.currentSelectTreeData.oid;
-          param['conditionMap[btmTypeOid]'] = this.currentSelectTreeData.btmTypeOid;
-          listClassifyLinkAttr(param).then(res=>{
-            //console.log(res.data.data);
-            attrParam.selectAttrData = res.data.data;
-            attrParam.selectAttrOptionLoading = false;
-            this.$nextTick(() => {
-                this.$refs[attrParam.ref].doLayout()
+            Object.keys(attrParam.selectAttrQeury).forEach(key=>{
+              conditionMaps['conditionMap['+key+']'] = attrParam.selectAttrQeury[key].trim();
             });
+          }
+          conditionMaps['conditionMap[codeClassifyOid]'] = this.currentSelectTreeData.oid;
+          conditionMaps['conditionMap[btmTypeOid]'] = this.currentSelectTreeData.btmTypeOid;
+          listClassifyLinkAttr(conditionMaps).then(res=>{
+            const data = res.data;
+            this.$nextTick(() => {
+              this.$refs[attrParam.ref].doLayout()
+            });
+            //console.log(data.data);
+            this.selectAttrParams.selectAttrData = data.data;
+            this.selectAttrParams.selectAttrOptionLoading = false;
+            // 灏嗘悳绱㈡鍐呭缃┖
+            this.selectAttrParams.selectAttrQeury = {};
           })
         },
         // 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢
@@ -1249,7 +1270,7 @@
           })
           this.isShowSelectAttrOption = false;
         },
-        
+
 
         /** 鍩虹鐮佹琛ㄤ腑鐨勭爜鍊肩鐞嗙殑鐩稿叧鏂规硶 */
         // 鐮佸�肩鐞嗗脊绐楁帶鍒�
@@ -1379,10 +1400,10 @@
                 window.console.log(error);
             });
           }
-            
+
         },
         //鍒犻櫎鐮佸��
-        delCodeSecValue(condition){ 
+        delCodeSecValue(condition){
           //鍥哄畾鐮佹鐮佸�煎垹闄�
           if(condition == 'codefixedsec'){
             //console.log(this.selectedFixedOrCodeclassifyValue.oid);
@@ -1424,8 +1445,8 @@
                 message: "鎿嶄綔鎴愬姛!"
               });
             });
-          }            
-          
+          }
+
         },
         //瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
         codeFixedValueOpetion(condition,row){
@@ -1486,7 +1507,7 @@
               saveData[0].orderNum = parseInt(saveData[0].orderNum)+1;
               saveData[1].orderNum = parseInt(saveData[1].orderNum)-1;
               this.saveCodeFixedOrClassifyValueOption('classifyValue',saveData);
-            } 
+            }
           }
           console.log(saveData);
           console.log(this.classifyValueTreeData);
@@ -1499,10 +1520,10 @@
           */
           //璇存槑鏄牴鑺傜偣锛岀洿鎺ユ壘鍐嶅垽鏂槸鍚︽槸杈圭晫鍊�
           if(currentNodeTreeData.parentId.trim() == ''){
-            return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.oid,true);   
+            return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.oid,true);
           }else{
             //璇存槑涓嶆槸鏍硅妭鐐�,鍏堟壘鍒扮埗鑺傜偣鍐嶆壘鍒板瓙鑺傜偣,鍒ゆ柇鏄惁鏄竟鐣屽��
-            return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.parentId,false); 
+            return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.parentId,false);
           }
         },
         /**
@@ -1560,7 +1581,7 @@
             });
             this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
           }
-          
+
         },
         //鍒嗙被鐮佸�兼爲data鍔犺浇
         loadClassifyValueData(row){
@@ -1634,15 +1655,15 @@
           this.addBasicCodeSettingBox = true;
         },
         // 鏂板鍩虹鐮佹
-        saveOrEditBasicCode(){
+        async saveOrEditBasicCode(){
           if(this.selectionList[0].oid == null ||  this.selectionList[0].oid == ''){
             this.$message.warning('缂哄け蹇呰鍙傛暟锛岃閲嶆柊閫夋嫨缂栫爜瑙勫垯鍚庡啀璇�!');
             return;
-          }        
+          }
           this.form.pkCodeRule = this.selectionList[0].oid;
           if(this.form.oid == '' || this.form.oid == null){
             if(this.checkForm()){
-              addSave(this.form).then(() => {
+              await addSave(this.form).then(() => {
                 this.$message({
                   type: "success",
                   message: "鎿嶄綔鎴愬姛!"
@@ -1653,8 +1674,18 @@
               // 鍏抽棴瀵硅瘽妗�
               this.addBasicCodeSettingBox = false
             }
-            
+            // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
+            this.loadBasic(this.selectionList[0]);
           }else{
+            // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
+            let referConfig = JSON.parse(this.form.referConfig);
+            referConfig.referType = this.form.referBtmId;
+            referConfig.referTypeName = this.form.referBtmName;
+            this.form.referConfig = JSON.stringify(referConfig);
+
+            let referValueInfo = JSON.parse(this.form.referValueInfo);
+            referValueInfo.referType = this.form.referBtmId;
+            this.form.referValueInfo = JSON.stringify(referValueInfo);
             editSave(this.form).then(() => {
                // 鍏抽棴瀵硅瘽妗�
               this.addBasicCodeSettingBox = false
@@ -1665,9 +1696,8 @@
               }, error => {
                 window.console.log(error);
             });
+            this.loadBasic(this.selectionList[0]);
           }
-          // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-          this.loadBasic(this.selectionList[0]);
         },
         // 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�
         checkForm(){
@@ -1715,7 +1745,7 @@
               return false;
             }
           }else if(this.form.secType==='codeserialsec'){
-            console.log(form.codeFillType);
+            //console.log(form.codeFillType);
             //娴佹按鐮佹
             if(form.codeSecLength == ''){
               this.$message.warning('(鐮佹鐨勯暱搴�)'+tipsMsg);
@@ -1741,7 +1771,7 @@
               this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
               return false;
             }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparatorSelect == ''){
+            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparator == ''){
               this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
               return false;
             }
@@ -1765,11 +1795,10 @@
               this.$refs.codeFillLimit.$el.querySelector('input').focus();
               return false;
             }
-            if(form.codeFillFlag == ''){
-              this.$message.warning('(娴佹按鏄惁琛ョ爜)'+tipsMsg);
-              this.$refs.switch.$el.querySelector('input').focus();
-              return false;
-            }
+            // if(form.codeFillFlag == '' || ){
+            //   this.$message.warning('(娴佹按鏄惁琛ョ爜)'+tipsMsg);
+            //   return false;
+            // }
           }else if(this.form.secType==='codelevelsec'){
             //灞傜骇鐮佹
             if(form.codeLevelType == ''){
@@ -1837,7 +1866,8 @@
               this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
               return false;
             }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparatorSelect == ''){
+            // console.log(form);
+            if(form.codeFillType != 'code_fill_none' && form.codeFillSeparator == ''){
               this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
               return false;
             }
@@ -1885,17 +1915,29 @@
           }
           // console.log(row.oid);
           //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭�
-          this.currentCodeRuleOid = row.oid;
-          this.currentRuleLcStatus = row.lcStatus;
-          this.sendGridCodeBasicSec({"pkCodeRule":row.oid});
+          if(row!='' || row!=null){
+            this.currentCodeRuleOid = row.oid;
+            this.currentRuleLcStatus = row.lcStatus;
+            this.sendGridCodeBasicSec({"pkCodeRule":row.oid},false);
+          }
         },
         // 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�
-        sendGridCodeBasicSec(condition){
+        sendGridCodeBasicSec(condition,isAdancedQuery/** 鏄惁楂樼骇鏌ヨ */){
           // 濡傛灉褰撳墠鍩虹鐮佹琛ㄤ腑鐨勬悳绱㈡寜閽闅愯棌锛屽氨闇�瑕佸湪姝ゅ紑鍚�
           if(this.selectionList.length>=0 && !this.$refs.crudBasic.option.column[0].search){
             this.hideBasicTable(true);
           }
-          gridCodeBasicSec(1, -1, condition).then(res => {
+          let conditionMaps = {};
+          if(condition && !isAdancedQuery){
+            Object.keys(condition).forEach(key=>{
+              conditionMaps['conditionMap['+key+']'] = condition[key].trim();
+            });
+          }
+          if(isAdancedQuery){
+            condition['conditionMap[pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == ''
+            ? this.selectionList[0].oid:this.currentCodeRuleOid;
+          }
+          gridCodeBasicSec(1, -1,isAdancedQuery ? condition:conditionMaps).then(res => {
             const data = res.data.data;
             if(this.cloneSettingBox){
               this.cloneData = data.records;
@@ -1923,29 +1965,27 @@
         },
         basicSearchChange(params, done){
           //console.log(this.$refs.crudBasic);
-          this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule":this.selectionList[this.selectionList.length-1].oid}));
+          this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule":this.selectionList[this.selectionList.length-1].oid}),false);
           done();
         },
         basicSearchReset(){
-          this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid});
+          this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid},false);
         },
         // 涓婄Щ涓嬬Щ鍩虹鐮佹
         upOrderNum(row){
-          //console.log(row.oid);
           if(!this.tipsMessage(this.selectionList)){
             return;
           }
-          let codeRuleOid = this.selectionList[0].oid;
           if (this.selectionList[0].lcStatus != 'Editing') {
             this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!");
-            return; 
+            return;
           }
           if(row.oid==null || row.oid==''){
             this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
-            return;        
+            return;
           }
           upOrderNum(row.oid).then(() => {
-            this.loadBasic({"oid":codeRuleOid});
+            this.loadBasic(this.selectionList[0]);
             this.$message({
               type: "success",
               message: "鎿嶄綔鎴愬姛!"
@@ -1961,11 +2001,11 @@
           //console.log(this.selectionList);
           if (this.selectionList[0].lcStatus != 'Editing') {
             this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!");
-            return; 
+            return;
           }
           if(row.oid==null || row.oid==''){
             this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
-            return;        
+            return;
           }
           downOrderNum(row.oid).then(() => {
             this.loadBasic({"oid":codeRuleOid});
@@ -1977,7 +2017,7 @@
         },
         // 鍩虹鐮佹鍒锋柊鏃舵煡璇�
         refreshChangeBasicSec(){
-          this.loadBasic({"oid":this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid:this.currentCodeRuleOid});
+          this.loadBasic(this.selectionList.at(-1));
         },
         // 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌
         hideBasicTable(hideBoolean){
@@ -1985,18 +2025,16 @@
           this.$refs.crudBasic.option.columnBtn = hideBoolean;
           this.$refs.crudBasic.option.column[0].search = hideBoolean;
           this.$refs.crudBasic.option.column[1].search = hideBoolean;
+          if(!hideBoolean){
+            this.selectionList = [];
+            this.basicData = [];
+          }
         },
 
 
         /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */
         // 鎵撳紑楂樼骇鏌ヨ绐楀彛
         openAdvancedQuery(condition){
-          // MasterTable({
-          //   codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
-          //   functionId: 5,
-          // }).then(res=>{
-          //   console.log(res.data.tableDefineVO.seniorQueryColumns);
-          // }) 
           if(condition=='codeRule'){
             this.advancedQueryParam.options = [
               {
@@ -2032,8 +2070,8 @@
                 title: '鐘舵��',
                 fieldType: 'combox',
                 queryField: 'lcStatus',
-                comboxKey: 'Eummaterialtype',
-              }
+                comboxKey: 'codeSearchLCStatus',
+              },
             ]
           }else {
             this.advancedQueryParam.options = [
@@ -2061,6 +2099,7 @@
               }
             ]
           }
+          this.advancedQueryParam.currentOpen = condition;
           this.advancedQueryParam.advancedQuerySettingBox = true;
         },
         // 鏌ヨ浣跨敤鑼冨洿
@@ -2072,7 +2111,7 @@
           this.getRangeCodeList()
         },
         // 鍔犺浇浣跨敤鑼冨洿鍒楄〃
-        getRangeCodeList(){        
+        getRangeCodeList(){
           this.dialogLoading = true;
           if(this.selectionList[0].oid==null){
             this.$message.error("鏈幏鍙栧埌鍙傛暟!");
@@ -2087,17 +2126,6 @@
         // 鍒锋柊浣跨敤鑼冨洿鍒楄〃
         refreshUseRangeChange(){
           this.getRangeCodeList();
-        },
-        // 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
-        codeRuleRowClick (row) {
-          // 杩欏効搴旇鍙互涓嶈锛屽洜涓簍oggleRowSelection涔熶細瑙﹀彂琛岄�夋嫨鏃堕棿
-          this.selectionList = row;
-          this.$refs.crud.toggleSelection();
-          this.$refs.crud.setCurrentRow(row);
-          this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-          if(row!=''){
-            this.loadBasic(row);
-          }
         },
         // 鍚敤涓庡仠鐢�
         enableOrDeactivatse(oId,update){
@@ -2151,7 +2179,7 @@
           }, error => {
             window.console.log(error);
           });
-          //console.log(data); 
+          //console.log(data);
         },
         // 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�
         openOtherCodeRuleDialog(){
@@ -2160,7 +2188,7 @@
           }
           if(this.selectionList[0].lcStatus != 'Editing'){
             this.$message.warning("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫鎴栧垹闄�!");
-            return; 
+            return;
           }
           this.cloneOtherCodeRuleSettingBox = true;
         },
@@ -2195,7 +2223,7 @@
           this.selectionOtherCloneCodeBasicList = list;
           this.$refs.crudCloneCodeBasicOther.setCurrentRow(this.selectionOtherCloneCodeBasicList[list.length-1]);
         },
-         // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅
+        // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅
         saveOtherCodeBasic(){
           let oid = this.selectionList[0].oid;
           let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList;
@@ -2213,7 +2241,7 @@
           //console.log(res);
           let oidArr = [];
           fromDialogPkCodebasic.forEach(ele => {
-            oidArr.push(ele.id);
+            oidArr.push(ele.oid);
           });
           let data = {
             "pkCodeRule": oid,
@@ -2332,29 +2360,47 @@
         searchChange(params, done) {
           this.page.currentPage = 1;
           // 澶氫釜conditionMap杩欐牱浼犲弬锛屽揩閫熸煡璇㈤粯璁ら噰鐢ㄦā绯婃煡璇�
+          let requestData = {};
           if(params){
-              Object.keys(params).forEach(key=>{
-                this.query['conditionMap['+key+'_like]'] = params[key];
-              });
+            Object.keys(params).forEach(key=>{
+              requestData["conditionMap"+'['+key+'_like]'] = params[key].trim();
+            });
           }
-          console.log(this.query);
+          this.query = requestData;
           this.onLoad(this.page);
           done();
-        }, 
+        },
         // 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�
         selectionChange(list) {
           this.selectionList = list;
-          this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
           //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�,骞剁鐢ㄧ浉鍏冲姛鑳�
-          if(list == ''){
-            this.basicData = [];
+          if(this.selectionList.length <= 0){
             this.hideBasicTable(false);
           }
-          if(this.selectionList.length > 0){
+          if (this.selectionList.length > 0) {
+            this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
             this.currentCodeRuleOid = this.selectionList[list.length-1].oid;
             this.currentRuleLcStatus = this.selectionList[list.length-1].lcStatus;
             this.loadBasic(this.selectionList[list.length-1]);
           }
+        },
+        changeCutType(value){
+          if (value != 'code_cut_none'){
+            this.showCutLength = true;
+            if(this.form.valueCutLength == ''){
+              this.form.valueCutLength = 1;
+            }
+          }else{
+            this.form.valueCutLength = '';
+            this.showCutLength = false;
+          }
+        },
+        // 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
+        codeRuleRowClick (row) {
+          // console.log(this.currentRuleLcStatus);
+          this.$refs.crud.toggleSelection();
+          this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+
         },
         selectionClear() {
           this.selectionList = [];
@@ -2372,8 +2418,8 @@
         onLoad(page,params={}) {
           this.loading = true;
           gridCodeRule(
-            page.currentPage, 
-            page.pageSize, 
+            page.currentPage,
+            page.pageSize,
             this.query
           ).then(res => {
             //console.log(res.data);
@@ -2384,8 +2430,6 @@
             // 鏌ヨ鐨勫�间负绌烘椂锛岃灏嗙爜娈电鐞嗙浉鍏崇殑鍐呭绂佺敤
             if(data.records.length <= 0) {
               this.hideBasicTable(false);
-              this.selectionList = [];
-              this.basicData = [];
               return;
             }
             this.loadBasic(this.data[0])
@@ -2480,13 +2524,13 @@
         },
         // 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫�
         inputSelectBlur(e){
-          if (e.target.value) {  
-            this.form.codeFillSeparatorSelect = e.target.value;
+          if (e.target.value) {
+            this.form.codeFillSeparator = e.target.value;
           }
         },
         // 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��
-        changeSectypeFormItems(row){     
-          //console.log(row);   
+        changeSectypeFormItems(row){
+          //console.log(row);
           if(this.enumParam.secTypeList.length==0){
             this.loadCodeSecType();
           }
@@ -2542,8 +2586,8 @@
               serialStart: row!=null&&row.serialStart != '' ? row.serialStart:1,  //娴佹按鍙疯捣濮嬪��
               serialStep: row!=null&&row.serialStep != '' ? row.serialStep:1,   //娴佹按鐨勬闀�
               codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_left', //缂栫爜琛ヤ綅鏂瑰紡
-              codeFillSeparatorSelect: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:0,          //琛ヤ綅鏃剁殑瀛楃
+              // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
+              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0',          //琛ヤ綅鏃剁殑瀛楃
               codeFillLength: row!=null&&row.codeFillLength != '' ? row.codeFillLength:'',              //濉厖闀垮害
               codeFillLimit: row!=null&&row.codeFillLimit != '' ? row.codeFillLimit:'',               //娴佹按涓婇檺
               codeFillFlag: row!=null&&row.codeFillFlag != '' ? row.codeFillFlag=='true' ?  true:false :false,      //娴佹按鏄惁琛ョ爜
@@ -2560,6 +2604,12 @@
               valueCutLength: row!=null&&row.valueCutLength != '' ? row.valueCutLength:'',    //
               codeGetValueType: row!=null&&row.codeGetValueType != '' ? row.codeGetValueType:'code_get_value_all_up',  //鍙栧�肩被鍨� 鏋氫妇鏌ヨ
             });
+            if(this.form.valueCutType === 'code_cut_none'){
+              this.showCutLength = false;
+            }else{
+              this.showCutLength = true;
+            }
+
             this.loadCodeLevelType();
             this.loadCodeCutType();
             this.loadCodeGetValueType();
@@ -2569,6 +2619,7 @@
               referBtmId: row!=null&&row.referBtmId != '' ? row.referBtmId:'',   //鍙傜収寮曠敤鐨勪笟鍔$被鍨嬶紝鐨刬d
               referBtmName: row!=null&&row.referBtmName != '' ? row.referBtmName:'', //鍙傜収寮曠敤鐨勪笟鍔$被鍨�
               referConfig: row!=null&&row.referConfig != '' ? row.referConfig:'',  //鍙傜収閰嶇疆
+              referValueInfo: row!=null&&row.referValueInfo != '' ? row.referValueInfo:'',  //鍙傜収閰嶇疆
             });
           }else if(this.form.secType==='codedatesec'){
             //鏃ユ湡鐮佹
@@ -2590,53 +2641,56 @@
             //鍙彉鐮佹
             this.form = Object.assign({}, this.form,{
               codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'',             //鐮佹鐨勯暱搴�
-              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_right', //缂栫爜閮ㄤ綅鏂瑰紡锛屾灇涓炬煡璇�
-              codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,  //閫変腑鐨勮ˉ浣嶆椂鐨勫瓧绗︾殑涓嬫爣
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'', //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夋煡璇�
+              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_left', //缂栫爜閮ㄤ綅鏂瑰紡锛屾灇涓炬煡璇�
+              // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,  //閫変腑鐨勮ˉ浣嶆椂鐨勫瓧绗︾殑涓嬫爣
+              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0', //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夋煡璇�
             });
             this.loadCodeFillType();
             this.loadCodeFillSeparator();
           }
           // console.log(this.form);
         },
+        // 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�
+        getLocalStorageEnum(key){
+          let enumCach = JSON.parse(localStorage.getItem(key));
+          if(enumCach == null) {
+            getDictionary({code: key}).then(res=>{
+              enumCach = res.data.data;
+              localStorage.setItem(key,JSON.stringify(res.data.data));
+            })
+          }
+          return enumCach;
+        },
         //鏋氫妇鍜屽彲杈撳彲閫夊唴瀹规煡璇�
         loadCodeSecType(){
-          getDictionary({code: "codeSecType"}).then(res=>{
-            this.enumParam.secTypeList = res.data.data;
-          })
+          this.enumParam.secTypeList = this.getLocalStorageEnum("codeSecType");
           this.loadCodeSecLength();
         },
         loadCodeSecLength(){
-          getDictionary({code: "codeSecLength"}).then(res=>{
-            this.enumParam.codeSecLengthType = res.data.data;
-          })
+          this.enumParam.codeSecLengthType = this.getLocalStorageEnum("codeSecLength");
         },
         loadCodeFillType(){
-          getDictionary({code: "codeFillType"}).then(res=>{
-            this.enumParam.codeFillType = res.data.data;
-          })
+          this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType");
         },
         loadCodeFillSeparator(){
-          getDictionary({code: "codeFillSeparator"}).then(res=>{
-            this.enumParam.codeFillSeparator = res.data.data;
-          })
+          let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
+          if(enumCach == null) {
+            getDictionary("codeFillSeparator").then(res=>{
+              this.enumParam.codeFillSeparator = res.data.data;
+              localStorage.setItem(key,JSON.stringify(res.data.data));
+            })
+          }
         },
         loadCodeLevelType(){
-          getDictionary({code: "codeLevelType"}).then(res=>{
-            this.enumParam.codeLevelType = res.data.data;
-          })
+          this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType");
         },
         loadCodeCutType(){
-          getDictionary({code: "codeCutType"}).then(res=>{
-            this.enumParam.codeCutType = res.data.data;
-          })
+          this.enumParam.codeCutType = this.getLocalStorageEnum("codeCutType");
         },
         loadCodeGetValueType(){
-          getDictionary({code: "codeGetValueType"}).then(res=>{
-            this.enumParam.codeGetValueType = res.data.data;
-          })
+          this.enumParam.codeGetValueType =  this.getLocalStorageEnum("codeGetValueType");
         },
-        
+
       }
   };
 
@@ -2651,7 +2705,7 @@
   .code-rule-crud > .avue-crud__pagination {
     padding: 14px 0 2px 20px;
   }
-  
+
   .clone-input-textarea > .el-form-item__content {
     width: 495px;
   }
@@ -2671,7 +2725,7 @@
   .other-clone-coderule-crud > .el-card> .el-card__body > .avue-crud__menu {
     display: none!important;
   }
-  
+
   .el-table--small .el-table__cell {
     padding: 3px 0;
   }
@@ -2713,8 +2767,8 @@
 
   .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;
@@ -2769,4 +2823,4 @@
     padding: 5px 10px 10px;
  }
 
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3