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 | 1379 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 809 insertions(+), 570 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 5cb66a3..eff5c3f 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1,5 +1,5 @@
 <template>
-  <basic-container style="height: 350px;">
+  <basic-container style="height: 100%;">
 
     <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 -->
     <basic-container class="code-rule-container">
@@ -54,52 +54,77 @@
             @click="enableOrDeactivatse(scope.row.oid,'enable')">鍚� 鐢�
           </el-button>
         </template>
-        <!-- 琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
+        <!-- 琛ㄦ牸涓婃柟鎸夐挳鍖哄煙 -->
         <template slot="menuLeft" slot-scope="scope">
           <el-button type="danger"
-                    size="small"
-                    icon="el-icon-delete"
-                    plain
-                    @click="handleDelete">鍒� 闄�
+            size="small"
+            icon="el-icon-delete"
+            plain
+            @click="handleDelete">
+            鍒� 闄�
           </el-button>
-          <el-button size="small"
-                    icon="icon-kelong"
-                    plain
-                    @click="openCodeRuleDialog">鍏� 闅�
+          <el-button type="primary"
+            size="small"
+            icon="el-icon-search"
+            plain
+            @click="openAdvancedQuery('codeRule')">
+            楂樼骇鏌ヨ
           </el-button>
-          <el-button size="small"
-                    icon="icon-lianjiekelong"
-                    style="font-size: 12px;"
-                    plain
-                    @click="openOtherCodeRuleDialog">浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹
+          <el-button
+            size="small"
+            icon="icon-kelong"
+            plain
+            @click="openCodeRuleDialog">
+            鍏� 闅�
           </el-button>
-          <el-button size="small"
-                    icon="el-icon-s-help"
-                    plain
-                    @click="handleRange">浣跨敤鑼冨洿
+          <el-button
+            size="small"
+            icon="icon-lianjiekelong"
+            style="font-size: 12px;"
+            plain
+            @click="openOtherCodeRuleDialog">
+            浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹
           </el-button>
-          <el-button size="small"
-                    icon="icon-qingkong"
-                    plain
-                    @click="clearAllCodeSec">娓呯┖鐮佸��
+          <el-button
+            size="small"
+            icon="el-icon-s-help"
+            plain
+            @click="handleRange">
+            浣跨敤鑼冨洿
+          </el-button>
+          <el-button
+              size="small"
+              icon="icon-qingkong"
+              plain
+              @click="clearAllCodeSec">
+              娓呯┖鐮佸��
           </el-button>
         </template>
       </avue-crud>
     </basic-container>
+
+    <!-- 楂樼骇鏌ヨ瀵硅瘽妗� -->
+    <advanced-query
+      :ref="advancedQueryParam.ref"
+      :options="advancedQueryParam.options"
+      :visible.sync="advancedQueryParam.advancedQuerySettingBox"
+      @echoContion="echoSeniorContionMap">
+    </advanced-query>
 
     <!-- 缂栫爜瑙勫垯鐩稿叧瀵硅瘽妗� -->
     <el-dialog title="缂栫爜瑙勫垯浣跨敤鑼冨洿"
       append-to-body
       :visible.sync="codeRangeSettingBox"
       width="800px"
-        style="height: 116vh; margin-top: -10vh;">
+      style="height: 116vh; margin-top: -10vh;">
       <avue-crud
-        :option="dialogeOption" 
+        :option="dialogeOption"
         :table-loading="dialogLoading"
         :data="useRangeData"
         @refresh-change="refreshUseRangeChange">
       </avue-crud>
     </el-dialog>
+
     <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� -->
     <el-dialog title="鍏嬮殕缂栫爜瑙勫垯"
       append-to-body
@@ -149,10 +174,11 @@
         </el-row>
       </div>
       <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;">
-        <el-button @click="cloneSettingBox = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="saveCloneCodeRule">淇� 瀛�</el-button>
+        <el-button @click="cloneSettingBox = false">鍙� 娑�</el-button>
       </div>
     </el-dialog>
+
     <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 -->
     <el-dialog title="鍏嬮殕缂栫爜瑙勫垯鐨勫熀纭�淇℃伅"
       append-to-body
@@ -184,13 +210,14 @@
             ref="crudCloneCodeBasicOther"
             :table-loading="loadingBasic"
             :data="basicData"
+            @row-click="codeOtherCloneBasicRowClick"
             @selection-change="selectionOtherCloneCodeBasicChange">
           </avue-crud>
         </el-row>
       </div>
       <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;">
-        <el-button @click="cloneOtherCodeRuleSettingBox = false">鍙� 娑�</el-button>
         <el-button type="primary" @click="saveOtherCodeBasic">淇� 瀛�</el-button>
+        <el-button @click="cloneOtherCodeRuleSettingBox = false">鍙� 娑�</el-button>
       </div>
     </el-dialog>
 
@@ -202,6 +229,9 @@
         ref="crudBasic"
         :table-loading="loadingBasic"
         :data="basicData"
+        @row-click="codeBasicSecRowClick"
+        @search-change="basicSearchChange"
+        @search-reset="basicSearchReset"
         :permission="permissionList"
         @selection-change="selectionBasicChange"
         @refresh-change="refreshChangeBasicSec">
@@ -252,15 +282,27 @@
       <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
       <template slot="menuLeft" slot-scope="scope">
         <el-button type="primary"
-                  size="small"
-                  icon="el-icon-plus"
-                  @click="addBasicCodeSec">鏂� 澧�
+            size="small"
+            icon="el-icon-plus"
+            :disabled="selectionList.length <= 0"
+            @click="openAddBasicCodeSec">
+            鏂� 澧�
         </el-button>
         <el-button type="danger"
-                  size="small"
-                  icon="el-icon-delete"
-                  plain
-                  @click="deleteBasicCode(scope.row)">鍒� 闄�
+            size="small"
+            icon="el-icon-delete"
+            :disabled="selectionList.length <= 0"
+            plain
+            @click="deleteBasicCode(scope.row)">
+            鍒� 闄�
+        </el-button>
+        <el-button type="primary"
+            size="small"
+            icon="el-icon-search"
+            plain
+            :disabled="selectionList.length <= 0"
+            @click="openAdvancedQuery('codeBasicSec')">
+            楂樼骇鏌ヨ
         </el-button>
       </template>
 
@@ -284,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>
@@ -360,7 +402,7 @@
             </div>
             <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;">
               <el-button :disabled="selectedFixedOrCodeclassifyValue!=''" size="mini" type="primary" icon="el-icon-circle-plus" class="button" @click="addCodeSecValue('codefixedsec')">娣诲姞</el-button>
-              <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="success" plain plain icon="el-icon-edit-outline" class="button" @click="editCodeSecValue('codefixedsec')">淇敼</el-button>
+              <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="success" plain icon="el-icon-edit-outline" class="button" @click="editCodeSecValue('codefixedsec')">淇敼</el-button>
               <el-button :disabled="selectedFixedOrCodeclassifyValue==''" size="mini" type="danger" icon="el-icon-close" class="button" @click="delCodeSecValue('codefixedsec')">鍒犻櫎</el-button>
               <el-button size="mini" type="warning" plain icon="el-icon-close" class="button" @click = "clearFixedOrClassifyForm('codefixedsec')">鍙栨秷</el-button>
             </div>
@@ -379,8 +421,8 @@
       @close="clearBasicAddForm">
 
       <!--  绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� -->
-      <div class="total" style="overflow-y: auto; height: 70vh">
-        <el-form :model="form">
+      <div class="add-basicsec-total" style="overflow-y: auto; height: 70vh">
+        <el-form :model="form" class="add-basicsec-form">
           <span class="left">
             <el-form-item label="鐮佹缂栧彿:" :label-width="leftFormLabelWidth" required>
               <el-input v-model="form.id" :readonly="basicSecOnlyRead" ref="id"></el-input>
@@ -389,14 +431,14 @@
             <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
-                  v-for="item in sectypeList"
-                  :key="item.dictValue"
-                  :label="item.dictValue"
-                  :value="item.dictKey">
+                  v-for="item in enumParam.secTypeList"
+                  :key="item.itemValue"
+                  :label="item.itemName"
+                  :value="item.itemValue">
                 </el-option>
               </el-select>
             </el-form-item>
@@ -421,10 +463,10 @@
               <el-form-item label="鐮佹闀垮害绫诲瀷:" :label-width="rightFormLabelWidth" required>
                 <el-select v-model="form.codeSecLengthType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
-                  v-for="item in codeSecLengthType"
-                  :key="item.dictValue"
-                  :label="item.dictValue"
-                  :value="item.dictKey">
+                  v-for="item in enumParam.codeSecLengthType"
+                  :key="item.itemValue"
+                  :label="item.itemName"
+                  :value="item.itemValue">
                 </el-option>
                 </el-select>
               </el-form-item>
@@ -447,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>
@@ -478,20 +520,20 @@
               <el-form-item label="缂栫爜琛ヤ綅鏂瑰紡:" :label-width="rightFormLabelWidth" required>
                 <el-select v-model="form.codeFillType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option label="宸﹁ˉ浣�" value="codeattrsec"
-                    v-for="item in codeFillType"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeFillType"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :value="item.itemValue">
                   </el-option>
                 </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 codeFillSeparator"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeFillSeparator"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :value="item.itemValue">
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -513,10 +555,10 @@
               <el-form-item label="灞傜骇绫诲瀷:" :label-width="rightFormLabelWidth" required>
                 <el-select v-model="form.codeLevelType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
-                    v-for="item in codeLevelType"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeLevelType"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :value="item.itemValue">
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -524,22 +566,25 @@
                 <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 codeCutType"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeCutType"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :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">
                   <el-option
-                    v-for="item in codeGetValueType"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeGetValueType"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :value="item.itemValue">
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -548,11 +593,11 @@
             <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"
-                  v-model="form.referBtmId"
+                  v-model="form.referBtmName"
                   @focus="openAttrSelectOrGetValue('referBtmId')"
                   :disabled="basicSecOnlyRead">
                   <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('referBtmId')" style="margin-right: 5px;cursor: pointer;"></i>
@@ -560,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"
@@ -582,10 +627,10 @@
               <el-form-item label="鐮佹闀垮害绫诲瀷:" :label-width="rightFormLabelWidth" required>
                 <el-select v-model="form.codeSecLengthType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
-                    v-for="item in codeSecLengthType"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeSecLengthType"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :value="item.itemValue">
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -600,7 +645,7 @@
                   placeholder="璇烽�夋嫨"
                   prefix-icon="el-icon-search"
                   readonly="true"
-                  v-model="form.parentClassifySecOid"
+                  v-model="form.parentClassifySecText"
                   @focus="openAttrSelectOrGetValue('parentClassifySecOid')"
                   :disabled="basicSecOnlyRead">
                   <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('parentClassifySecOid')" style="margin-right: 5px;cursor: pointer;"></i>
@@ -615,20 +660,20 @@
               <el-form-item label="缂栫爜琛ヤ綅鏂瑰紡:" :label-width="rightFormLabelWidth" required>
                 <el-select v-model="form.codeFillType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
                   <el-option
-                      v-for="item in codeFillType"
-                      :key="item.dictValue"
-                      :label="item.dictValue"
-                      :value="item.dictKey">
+                      v-for="item in enumParam.codeFillType"
+                      :key="item.itemValue"
+                      :label="item.itemName"
+                      :value="item.itemValue">
                   </el-option>
                 </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 codeFillSeparator"
-                    :key="item.dictValue"
-                    :label="item.dictValue"
-                    :value="item.dictKey">
+                    v-for="item in enumParam.codeFillSeparator"
+                    :key="item.itemValue"
+                    :label="item.itemName"
+                    :value="item.itemValue">
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -637,13 +682,13 @@
         </el-form>
       </div>
       <!-- 绗竴灞傚璇濇鐨勬寜閽拰锛岀嚎鏉� -->
-      <el-divider direction="horizontal"></el-divider>
+      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
       <div slot="footer" class="dialog-footer">
-        <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">鍙� 娑�</el-button>
         <el-button type="primary" @click="saveOrEditBasicCode" v-show="showbtn">淇� 瀛�</el-button>
+        <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">鍙� 娑�</el-button>
       </div>
 
-      <!--  绗簩灞傚璇濇,灞炴�х爜娈碉紝灞炴�ч�夋嫨寮圭獥 -->
+      <!--  绗簩灞傚璇濇,灞炴�х爜娈碉紝灞炴�ч�夋嫨瀵硅瘽妗� -->
       <el-dialog title="涓恒�愬睘鎬с�戦�夊彇鍊�"
         append-to-body
         :visible.sync="isShowSelectAttrOption"
@@ -656,139 +701,129 @@
               <div class="box">
                 <el-scrollbar style="height: auto; border-bottom-right-radius:8px ">
                   <basic-container>
-                    <div class="abox">
+                    <div class="treeBox">
                       <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/>
                     </div>
                   </basic-container>
                 </el-scrollbar>
               </div>
             </el-col>
-
             <!-- 鍙充晶琛ㄦ牸鏄剧ず鍖哄煙 -->
             <el-col span="19">
               <basic-container>
                 <div class="bbox">
                 <avue-crud
-                  :data="selectattrData"
-                  :option="attrOption"
-                  :table-loading="selectAttrOptionLoading"
-                  @search-change="selectAttrOptionSearchChange"
+                  :data="selectAttrParams.selectAttrData"
+                  :option="selectAttrParams.attrOption"
+                  :table-loading="selectAttrParams.selectAttrOptionLoading"
+                  :ref="selectAttrParams.ref"
+                  @search-change="selectAttrSearchChange"
                   @search-reset="searchAttrReset"
+                  @row-click="selectionAttrRowClick"
                   @selection-change="selectionChangeAttr">
                 </avue-crud>
                 </div>
               </basic-container>
             </el-col>
-
           </el-row>
         </div>
-
         <div slot="footer" class="dialog-footer">
-          <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button>
           <el-button type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button>
+          <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button>
         </div>
-        
       </el-dialog>
 
-        <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗脊绐楃粍浠� -->
-      <formula-editor ref="formulaEditor" 
-        @updateFormulaContent="updateFormulaContent" 
-        :thisSceneTableData="thisSceneTableData"
-        :systemVariableTableData="systemVariableTableData">
+      <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗璇濇缁勪欢 -->
+      <formula-editor
+        ref="formulaEditor"
+        @updateFormulaContent="updateFormulaContent"
+        :thisSceneTableData="formulaEditorParams.thisSceneTableData"
+        :visible.sync="formulaEditorParams.formulaEditorSettingBox"
+        :systemVariableTableData="formulaEditorParams.systemVariableTableData">
       </formula-editor>
 
-      <!-- 绗簩灞傚璇濇,涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊煎脊绐� -->
+      <!-- 绗簩灞傚璇濇,涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊煎璇濇 -->
       <el-dialog title="涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊�"
         append-to-body
-        :visible.sync="isShowParentClassifyOption"
+        :visible.sync="parentClsfyParams.isShowParentClassifySettingBox"
         width="65%"
         style="height: 150vh; margin-top: -13vh;"
         destroy-on-close>
-
         <avue-crud
-          :page.sync="parentClassifyDataPage"
-          ref="crudParentClassify"
-          :option="parentClassifyParentOption" 
-          :table-loading="classifyDialogLoading"
-          :data="parentClassifyData"
+          :page.sync="parentClsfyParams.parentClassifyDataPage"
+          :ref="parentClsfyParams.ref"
+          :option="parentClsfyParams.parentClassifyParentOption"
+          :table-loading="parentClsfyParams.classifyDialogLoading"
+          :data="parentClsfyParams.parentClassifyData"
           @refresh-change="refreshParentClassifyDataChange"
           @search-change="parentClassifySearchChange"
           @search-reset="parentClassifySearchReset"
+          @row-click="parentClassifyRowClick"
           @selection-change="parentClassifySelectionChange"
           @current-change="parentClassifyCurrentChange"
           @size-change="parentClassifySizeChange"
           @on-load="parentClassifyOnLoad">
         </avue-crud>
-
         <div slot="footer" class="dialog-footer">
-          <el-button @click="isShowParentClassifyOption = false">鍙� 娑�</el-button>
           <el-button type="primary" @click="saveSelectedParentClassify">淇� 瀛�</el-button>
+          <el-button @click="parentClsfyParams.isShowParentClassifySettingBox = false">鍙� 娑�</el-button>
         </div>
       </el-dialog>
 
-      <!-- 绗簩灞傚璇濇,涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊煎脊绐� -->
-      <el-dialog title="涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊�"
-        append-to-body
-        :visible.sync="isShowSelectReferBtmOption"
-        width="65%"
-        style="height: 150vh; margin-top: -13vh;"
-        destroy-on-close>
+      <!-- 绗簩灞傚璇濇,涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇 -->
+      <refer-btm-type-crud-dialog
+        :visible.sync="referBtmDialogParams.selectReferBtmSettingBox"
+        :ref="referBtmDialogParams.ref"
+        @echoReferBtmType="echoReferBtmType">
+      </refer-btm-type-crud-dialog>
 
-        <avue-crud
-          :page.sync="referBtmDataPage"
-          ref="crudReferBtm"
-          :option="referBtmOption" 
-          :table-loading="referBtmDialogLoading"
-          :data="referBtmData"
-          @refresh-change="referBtmDataChange"
-          @search-change="referBtmSearchChange"
-          @search-reset="referBtmSearchReset"
-          @selection-change="referBtmSelectionChange"
-          @current-change="referBtmCurrentChange"
-          @size-change="referBtmSizeChange"
-          @on-load="referBtmOnLoad">
-        </avue-crud>
+      <!-- 绗簩灞傚璇濇,鑷畾涔夊弬鐓ч厤缃瓼orm缁勪欢 -->
+      <refer-config-form-dialog
+        ref="referConfigFormDialog"
+        @echoReferConfig="echoReferConfig">
+      </refer-config-form-dialog>
 
-        <div slot="footer" class="dialog-footer">
-          <el-button @click="isShowSelectReferBtmOption = false">鍙� 娑�</el-button>
-          <el-button type="primary" @click="saveSelectedreferBtm">淇� 瀛�</el-button>
-        </div>
-      </el-dialog>
+      <!-- 绗簩灞傚璇濇,鐩存帴閫夋嫨鍙傜収閰嶇疆crud缁勪欢 -->
+      <refer-config-crud-dialog
+        ref="referConfigCrudDialog"
+        @openReconfigInterFace="openReconfigInterFace"
+        @echoReferConfig="echoReferConfig">
+      </refer-config-crud-dialog>
 
     </el-dialog>
 
   </basic-container>
- 
 </template>
 
 <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,
   } from "@/api/code/codebasic";
-  import { treeTopCodeClassify, listClassifyLinkAttr } from "@/api/code/codeclassify";
+  import { listClassifyLinkAttr } from "@/api/code/codeclassify";
   import { gridCodeFixedValue,addSaveCodeFixedValue,deleteCodeFixedValue,editCodeFixedValue,saveOrder } from "@/api/code/codeFixedValue";
   import { treeCodeClassifyValue,addSaveCodeClassifyValue,editCodeClassifyValue,deleteCodeClassifyValue,saveCodeClassifyValueOrder } from "@/api/code/codeClassifyValue";
-  import { getDictionary } from "@/api/omd/dict";
+  import { getDictionary } from "@/api/omd/enum";
   import optionBasic from "@/const/code/codebasic";
   import cloneOption from "@/const/code/cloneOption";
   import cloneBasicOption from "@/const/code/cloneBasicDialogOption";
-  import cloneCodeRuleOption from "@/const/code/cloneCodeRuleDialogOption.js";
+  import cloneCodeRuleOption from "@/const/code/cloneCodeRuleDialogOption";
   import optionRule from "@/const/code/mdmrule";
   import attrOption from "@/const/code/selectAttrOptionDialog";
   import treeOption from "@/const/code/classifyTreeOptionDialog";
   import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog";
   import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog";
-  import referBtmOption from "@/const/code/referBtmDialog";
   import fixedValueOption from "@/const/code/fixedValueMgrDialog";
   import {mapGetters} from "vuex";
+  import func from "@/util/func";
+  import {MasterTable} from "@/api/GetItem";
 
   export default {
       data() {
@@ -803,6 +838,7 @@
             total: 0
           },
           selectionList: [],
+          showCutLength: false,
           /*缂栫爜瑙勫垯琛ㄦ牸閰嶇疆*/
           optionRule: optionRule,
           data: [],
@@ -878,7 +914,7 @@
             codeFixedSecOid: "",
             description: "",
             id: "",
-          }, 
+          },
           isShowFixedForm: true, //true鏄剧ず鍥哄畾鐮佹鐮佸�肩鐞嗙晫闈紝false鏄剧ず鍒嗙被鐮佹鐮佸�肩鐞嗙晫闈�
           fixedValueData: [], //鍥哄畾鐮佹鐮佸�艰〃鏍兼暟鎹�
           fixedValueOption: fixedValueOption, //琛ㄦ牸閰嶇疆
@@ -894,7 +930,7 @@
           },
           classisyValueTreeOption: classisyValueTreeOption, //鍒嗙被鐮佹鏍戠浉鍏抽厤缃」
           classifyValueTreeData: [],
-          currentSelectTreeData: '', //褰撳墠閫変腑鐨勫垎绫荤爜鍊兼爲鑺傜偣
+          //currentSelectClsValueTreeData: '', //褰撳墠閫変腑鐨勫垎绫荤爜鍊兼爲鑺傜偣
 
           /* 涓哄睘鎬ч�夊彇鍊肩獥鍙f樉绀烘墦寮�鎺у埗鍙橀噺 */
           isShowSelectAttrOption: false,
@@ -903,103 +939,107 @@
           treeOption: treeOption,
           currentSelectTreeData: '', //褰撳墠閫変腑鐨勬爲鑺傜偣
           /* 涓哄睘鎬ч�夊�煎彸渚ц〃鏍肩浉鍏虫暟鎹� */
-          attrOption: attrOption,
-          selectattrData: [],
-          selectAttrOptionLoading: false,
-          selectionChangeAttrList: [],
+
+          selectAttrParams: {
+            ref: "selectionAttrCrud",
+            attrOption: attrOption,
+            selectAttrData: [],
+            selectAttrOptionLoading: false,
+            selectionChangeAttrList: [],
+            selectAttrQeury: {},
+          },
+
           // 灞炴�х爜娈碉紝鍏紡缂栬緫妗嗙粍浠剁殑鏈満鏅樉绀哄彉閲忋�佷笌绯荤粺鍙橀噺
-          thisSceneTableData: [
-            {
-                formula: "${}",
-                desc: "",
-            }
-          ],
-          systemVariableTableData: [
-            {
-                formula: "#CURRENTUSER.OID#",
-                desc: "褰撳墠鐢ㄦ埛鐨勪富閿�",
-            },
-            {
-                formula: "#CURRENTUSER.ID#",
-                desc: "褰撳墠鐢ㄦ埛鐨勮处鎴�",
-            },
-            {
-                formula: "#CURRENTTIME#",
-                desc: "褰撳墠鏃堕棿",
-            },
-            {
-                formula: "#CURRENTDATE#",
-                desc: "褰撳墠鏃ユ湡",
-            },
-            {
-                formula: "#CURRENTDATETIME#",
-                desc: "褰撳墠鏃ユ湡鏃堕棿",
-            },
-            {
-                formula: "#CURRENTUSER_NAME#",
-                desc: "褰撳墠鐢ㄦ埛鐨勫鍚�",
-            },
-            {
-                formula: "#CURRENTUSER.SECRETGRADE#",
-                desc: "褰撳墠鐢ㄦ埛瀵嗙骇",
-            },
-            {
-                formula: "#CURRENTUSER.IPSECRET#",
-                desc: "褰撳墠鐢ㄦ埛鐨処P瀵嗙骇",
-            },
-            {
-                formula: "#CURRENTUSER.BUSINESSUNIT#",
-                desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏�",
-            },
-            {
-                formula: "#CURRENTUSER.BUSINESSUNITNAME#",
-                desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏冨悕绉�",
-            },
-            {
-                formula: "#CURRENTUSER.GROUPOID#",
-                desc: "褰撳墠鐢ㄦ埛鐨勯儴闂ㄤ富閿�",
-            },
-            {
-                formula: "#CURRENTUSER.GROUPNAME#",
-                desc: "褰撳墠鐢ㄦ埛鎵�灞為儴闂ㄥ悕绉�",
-            },
-            {
-                formula: "#CURRENTUSER.EMAIL#",
-                desc: "褰撳墠鐢ㄦ埛閭欢鍦板潃",
-            },
-            {
-                formula: "#CURRENTUSER.ROLENAME#",
-                desc: "褰撳墠鐢ㄦ埛鎵�灞炶鑹插悕绉�",
-            },
-          ],
+          formulaEditorParams: {
+            thisSceneTableData: [
+              {
+                  formula: "${}",
+                  desc: "",
+              }
+            ],
+            systemVariableTableData: [
+              {
+                  formula: "#CURRENTUSER.OID#",
+                  desc: "褰撳墠鐢ㄦ埛鐨勪富閿�",
+              },
+              {
+                  formula: "#CURRENTUSER.ID#",
+                  desc: "褰撳墠鐢ㄦ埛鐨勮处鎴�",
+              },
+              {
+                  formula: "#CURRENTTIME#",
+                  desc: "褰撳墠鏃堕棿",
+              },
+              {
+                  formula: "#CURRENTDATE#",
+                  desc: "褰撳墠鏃ユ湡",
+              },
+              {
+                  formula: "#CURRENTDATETIME#",
+                  desc: "褰撳墠鏃ユ湡鏃堕棿",
+              },
+              {
+                  formula: "#CURRENTUSER_NAME#",
+                  desc: "褰撳墠鐢ㄦ埛鐨勫鍚�",
+              },
+              {
+                  formula: "#CURRENTUSER.SECRETGRADE#",
+                  desc: "褰撳墠鐢ㄦ埛瀵嗙骇",
+              },
+              {
+                  formula: "#CURRENTUSER.IPSECRET#",
+                  desc: "褰撳墠鐢ㄦ埛鐨処P瀵嗙骇",
+              },
+              {
+                  formula: "#CURRENTUSER.BUSINESSUNIT#",
+                  desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏�",
+              },
+              {
+                  formula: "#CURRENTUSER.BUSINESSUNITNAME#",
+                  desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏冨悕绉�",
+              },
+              {
+                  formula: "#CURRENTUSER.GROUPOID#",
+                  desc: "褰撳墠鐢ㄦ埛鐨勯儴闂ㄤ富閿�",
+              },
+              {
+                  formula: "#CURRENTUSER.GROUPNAME#",
+                  desc: "褰撳墠鐢ㄦ埛鎵�灞為儴闂ㄥ悕绉�",
+              },
+              {
+                  formula: "#CURRENTUSER.EMAIL#",
+                  desc: "褰撳墠鐢ㄦ埛閭欢鍦板潃",
+              },
+              {
+                  formula: "#CURRENTUSER.ROLENAME#",
+                  desc: "褰撳墠鐢ㄦ埛鎵�灞炶鑹插悕绉�",
+              },
+            ],
+            formulaEditorSettingBox: false,
+          },
 
           /* 鐖跺垎绫荤爜娈靛璇濇 */
-          isShowParentClassifyOption: false, //鐖跺垎绫荤爜娈靛璇濇鏄剧ず鎺у埗
-          classifyDialogLoading: true, //琛ㄦ牸鏁版嵁鍔犺浇鎻愮ず
-          parentClassifyParentOption: parentClassifyParentOption,  //琛ㄦ牸閰嶇疆
-          parentClassifyData: [], //琛ㄦ牸鏁版嵁
-          //鍒嗛〉鍙傛暟閰嶇疆
-          parentClassifyDataPage: {
-            pageSize: 10,
-            currentPage: 1,
-            total: 0
+          parentClsfyParams: {
+            ref: 'crudParentClassify',
+            isShowParentClassifySettingBox: false, //鐖跺垎绫荤爜娈靛璇濇鏄剧ず鎺у埗
+            classifyDialogLoading: true, //琛ㄦ牸鏁版嵁鍔犺浇鎻愮ず
+            parentClassifyParentOption: parentClassifyParentOption,  //琛ㄦ牸閰嶇疆
+            parentClassifyData: [], //琛ㄦ牸鏁版嵁
+            //鍒嗛〉鍙傛暟閰嶇疆
+            parentClassifyDataPage: {
+              pageSize: 10,
+              currentPage: 1,
+              total: 0
+            },
+            parentClassifyQuery: {}, //鏌ヨ鏉′欢
+            parentClassifySelectionList: [], //褰撳墠閫変腑琛�
           },
-          parentClassifyQuery: {}, //鏌ヨ鏉′欢
-          parentClassifySelectionList: [], //褰撳墠閫変腑琛�
 
-          
           /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鏁版嵁 */
-          isShowSelectReferBtmOption: false,   //瀵硅瘽妗嗘樉绀烘帶鍒�
-          referBtmDialogLoading: true,   //琛ㄦ牸鏁版嵁鍔犺浇鎻愮ず
-          referBtmDataPage: {
-            pageSize: 10,
-            currentPage: 1,
-            total: 0
+          referBtmDialogParams: {
+            ref: 'crudReferBtm',
+            selectReferBtmSettingBox: false,
           },
-          referBtmOption: referBtmOption, //琛ㄦ牸閰嶇疆
-          referBtmData: [], //琛ㄦ牸鏁版嵁
-          referBtmQuery: {}, //鏌ヨ鏉′欢
-          referBtmSelectionList: [], //褰撳墠閫変腑琛�
 
           /** 鍩虹鐮佹鏂板琛ㄥ崟 */
           form: {
@@ -1014,79 +1054,30 @@
             componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
             pkCodeRule: '', //鎵�灞炵紪鐮佽鍒�
           },
-          // formRules: {
-          //   id: [
-          //     { required: true, message: '璇疯緭鍏ョ爜娈电紪鍙�', trigger: 'blur' },
-          //   ],
-          //   name: [
-          //     { required: true, message: '璇疯緭鍏ョ爜娈靛悕绉�', trigger: 'blur' },
-          //   ],
-          //   secType: [
-          //     { required: true, message: '璇烽�変腑鐮佹绫诲瀷', trigger: 'change' },
-          //   ],
-          //   codeSecLengthType: [
-          //     { required: true, message: '璇烽�夋嫨鐮佹闀垮害绫诲瀷', trigger: 'change' },
-          //   ],
-          //   codeSecLength: [
-          //     { required: true, message: '璇疯緭鍏ョ爜娈电殑闀垮害', trigger: ['blur', 'change']},
-          //     { type: 'number', message: '鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�',trigger: ['blur', 'change']}
-          //   ],
-          //   referAttributeName: [
-          //     { required: true, message: '璇烽�夋嫨灞炴��', trigger: 'change' },
-          //   ],
-          //   serialStart: [
-          //     { type: 'number', message: '娴佹按鍙风殑璧峰鍊煎繀椤讳负鏁板瓧鍊�',trigger: ['blur', 'change']}
-          //   ],
-          //   serialStep: [
-          //     { type: 'number', message: '娴佹按鐨勬闀垮繀椤讳负鏁板瓧鍊�',trigger: ['blur', 'change']}
-          //   ],
-          //   codeFillType: [
-          //     { required: true, message: '璇烽�夋嫨缂栫爜琛ヤ綅鏂瑰紡', trigger: ['blur', 'change']},
-          //   ],
-          //   // 璁剧疆琛ヤ綅鏃剁殑瀛楃锛岄渶瑕佽嚜瀹氫箟鏉ュ仛鍒ゆ柇
-          //   codeFillSeparatorSelect: [
-          //     { validator: validateCodeFill, trigger: ['blur', 'change'] },
-          //   ],
-          //   codeFillLength: [
-          //     { required: true, message: '璇疯緭鍏ュ~鍏呴暱搴�', trigger: ['blur', 'change'] },
-          //     { type: 'number', message: '濉厖闀垮害蹇呴』涓烘暟瀛楀��',trigger: ['blur', 'change']}
-          //   ],
-          //   codeFillLimit: [
-          //     { required: true, message: '璇疯緭鍏ユ祦姘翠笂闄�', trigger: ['blur', 'change'] },
-          //     { type: 'number', message: '娴佹按涓婇檺蹇呴』涓烘暟瀛楀��',trigger: ['blur', 'change']}
-          //   ],
-          //   codeLevelType: [
-          //     { required: true, message: '璇烽�夋嫨灞傜骇绫诲瀷', trigger: 'change' },
-          //   ],
-          //   codeLevelValue: [
-          //     { required: false, type: 'number', message: '灞傜骇鐨勫�煎繀椤讳负鏁板瓧鍊�', trigger: 'change'}
-          //   ],
-          //   valueCutType: [
-          //     { required: true, message: '璇烽�夋嫨瀛楃鎴彇绫诲瀷', trigger: 'change' },
-          //   ],
-          //   referBtmId: [
-          //     { required: true, message: '璇烽�夋嫨鍙傜収搴旂敤鐨勪笟鍔$被鍨�', trigger: 'change' },
-          //   ],
-          //   referConfig: [
-          //     { required: true, message: '璇烽�夋嫨鍙傜収閰嶇疆', trigger: 'change' },
-          //   ],
-          //   codeDateFormatStr: [
-          //     { required: true, message: '璇疯緭鍏ユ棩鏈熸牸寮�', trigger: ['blur', 'change'] },
-          //   ],
 
-          // },
           //鏋氫妇鍜屽彲杈撳彲閫夋煡璇�
-          sectypeList:[],    //鐮佹绫诲瀷
-          codeSecLengthType:[],  //鐮佹闀垮害绫诲瀷
-          codeFillType:[],   //缂栫爜琛ヤ綅鏂瑰紡
-          codeFillSeparator:[], //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夊唴瀹�
-          codeLevelType:[],     //灞傜骇绫诲瀷
-          codeCutType:[],       //瀛楃鎴彇绫诲瀷
-          codeGetValueType:[],  //鍙栧�肩被鍨�
+          enumParam: {
+            secTypeList:[],    //鐮佹绫诲瀷
+            codeSecLengthType:[],  //鐮佹闀垮害绫诲瀷
+            codeFillType:[],   //缂栫爜琛ヤ綅鏂瑰紡
+            codeFillSeparator:[], //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夊唴瀹�
+            codeLevelType:[],     //灞傜骇绫诲瀷
+            codeCutType:[],       //瀛楃鎴彇绫诲瀷
+            codeGetValueType:[],  //鍙栧�肩被鍨�
+          },
 
           //琛ㄥ崟鍏冪礌鏍囩瀹藉害
           leftFormLabelWidth: '110px',
           rightFormLabelWidth: '150px',
+
+          // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁�
+          advancedQueryParam: {
+            ref: 'advancedQuery',
+            advancedQuerySettingBox: false,
+            options: [],
+            currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸
+            //conditionMapParams: {},
+          },
 
         };
       },
@@ -1101,179 +1092,185 @@
           };
         },
       },
+      watch:{
+
+      },
       methods: {
 
+        /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
+        echoSeniorContionMap(conditionMaps){
+          //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;
         },
-        
-        /** 閫変腑鍙傜収寮曠敤鐨勪笟鍔$被鍨嬶紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉�  */
-        saveSelectedreferBtm(){
-          if(this.referBtmSelectionList.length != 1){
-            this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�!");
-            return false;
-          }
-          //璋冪敤瀛愮粍浠跺苟浼犻�掑綋鍓嶉�変腑鐨勫弬鏁板�硷紝瀹炵幇鍥炴樉
-          this.form.referBtmId = this.referBtmSelectionList[0].id;
-          this.form.referBtmName = this.referBtmSelectionList[0].name;
-          //娓呯┖褰撳墠閫変腑鐨勮
-          this.referBtmSelectionClear();
-          this.isShowSelectReferBtmOption = false;
+        /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
+        echoReferConfig(content){
+          // console.log(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.referValueInfo = submitFormJson || '';
         },
-        referBtmSearchReset() {
-          this.referBtmQuery = {};
-          this.referBtmOnLoad(this.referBtmDataPage);
-        },
-        referBtmSearchChange(params, done) {
-          this.referBtmQuery = params;
-          this.referBtmDataPage.currentPage = 1;
-          this.referBtmOnLoad(this.page, params);
-          done();
-        },
-        referBtmSelectionChange(list) {
-          //console.log(list);
-          this.referBtmSelectionList = list;
-        },
-        referBtmSelectionClear() {
-          this.referBtmSelectionList = [];
-          this.$refs.crudReferBtm.toggleSelection();
-        },
-        referBtmCurrentChange(currentPage){
-          this.referBtmDataPage.currentPage = currentPage;
-        },
-        referBtmSizeChange(pageSize){
-          this.referBtmDataPage.pageSize = pageSize;
-        },
-        refreshReferBtmDataChange() {
-          this.referBtmOnLoad(this.referBtmDataPage, this.referBtmQuery);
-        },
-        //鍔犺浇涓弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷鐨勬暟鎹�
-        referBtmOnLoad(page, params = {}) {
-          this.referBtmDialogLoading = 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, this.parentClassifyQuery)).then(res => {
-            //console.log(res.data);
-            const data = res.data.data;
-            this.referBtmDataPage.total = data.total;
-            this.referBtmData = data.records;
-            this.referBtmDialogLoading = false;
-            this.referBtmSelectionClear();
-          });
+        /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
+        echoReferBtmType(content){
+          // 瀹炵幇鍥炴樉
+          this.form.referBtmId = content.id || '';
+          this.form.referBtmName = content.name || content.id;
         },
 
-
-        /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
+        /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
         // 淇濆瓨褰撳墠鐖跺垎绫荤爜娈电殑閫変腑琛岋紝骞惰繘琛屽洖鏄�
         saveSelectedParentClassify(){
-          //console.log(this.parentClassifySelectionList.length);
-          if(this.parentClassifySelectionList.length != 1){
-            this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�!");
+          //console.log(this.parentClsfyParams.parentClassifySelectionList.length);
+          if(this.parentClsfyParams.parentClassifySelectionList.length != 1){
+            this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
             return false;
           }
-          //璋冪敤瀛愮粍浠跺苟浼犻�掑綋鍓嶉�変腑鐨勫弬鏁板�硷紝瀹炵幇鍥炴樉
-          this.form.parentClassifySecOid = this.parentClassifySelectionList[0].oid;
-          this.form.parentClassifySecText = this.parentClassifySelectionList[0].name;
+          //鍙傛暟鍊硷紝瀹炵幇鍥炴樉
+          this.form.parentClassifySecOid = this.parentClsfyParams.parentClassifySelectionList[0].oid;
+          this.form.parentClassifySecText = this.parentClsfyParams.parentClassifySelectionList[0].name;
           //娓呯┖褰撳墠閫変腑鐨勮
           this.parentClassifySelectionClear();
-          this.isShowParentClassifyOption = false;
+          this.parentClsfyParams.isShowParentClassifySettingBox = false;
         },
         parentClassifySearchReset() {
-          this.parentClassifyQuery = {};
-          this.parentClassifyOnLoad(this.parentClassifyDataPage);
+          this.parentClsfyParams.parentClassifyQuery = {};
+          this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage);
         },
         parentClassifySearchChange(params, done) {
-          this.parentClassifyQuery = params;
-          this.parentClassifyDataPage.currentPage = 1;
+          this.parentClsfyParams.parentClassifyQuery = params;
+          this.parentClsfyParams.parentClassifyDataPage.currentPage = 1;
           this.parentClassifyOnLoad(this.page, params);
           done();
         },
+        parentClassifyRowClick(row){
+          this.$refs[this.parentClsfyParams.ref].toggleSelection();
+          this.parentClsfyParams.parentClassifySelectionList = row;
+          this.$refs[this.parentClsfyParams.ref].setCurrentRow(row);
+          this.$refs[this.parentClsfyParams.ref].toggleRowSelection(row); //閫変腑褰撳墠琛�
+        },
         parentClassifySelectionChange(list) {
-          //console.log(this.parentClassifyCurrentChange);
-          this.parentClassifySelectionList = list;
+          this.parentClsfyParams.parentClassifySelectionList = list;
+          this.$refs[this.parentClsfyParams.ref].setCurrentRow(this.parentClsfyParams.parentClassifySelectionList[list.length-1]);
         },
         parentClassifySelectionClear() {
-          this.parentClassifySelectionList = [];
-          this.$refs.crudParentClassify.toggleSelection();
+          this.parentClsfyParams.parentClassifySelectionList = [];
+          this.$refs[this.parentClsfyParams.ref].toggleSelection();
         },
         parentClassifyCurrentChange(currentPage){
-          this.parentClassifyDataPage.currentPage = currentPage;
+          this.parentClsfyParams.parentClassifyDataPage.currentPage = currentPage;
         },
         parentClassifySizeChange(pageSize){
-          this.parentClassifyDataPage.pageSize = pageSize;
+          this.parentClsfyParams.parentClassifyDataPage.pageSize = pageSize;
         },
         refreshParentClassifyDataChange() {
-          this.parentClassifyOnLoad(this.parentClassifyDataPage, this.parentClassifyQuery);
+          this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage, this.parentClsfyParams.parentClassifyQuery);
         },
         parentClassifyOnLoad(page, params = {}) {
-          this.classifyDialogLoading = true;
+          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, this.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;
-            this.parentClassifyDataPage.total = data.total;
-            this.parentClassifyData = data.records;
-            this.classifyDialogLoading = false;
+            parentClsParam.parentClassifyDataPage.total = data.total;
+            parentClsParam.parentClassifyData = data.records;
+            parentClsParam.classifyDialogLoading = false;
             this.parentClassifySelectionClear();
           });
         },
-        
 
-        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
+
+        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
         // 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid
         nodeClick(data) {
           this.currentSelectTreeData = data;
           this.loadlistClassifyLinkAttr()
         },
         // 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹�
-        loadlistClassifyLinkAttr(){
-          this.selectAttrOptionLoading = true;
-          listClassifyLinkAttr({"page": 1,"limit": -1,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid}).then(res=>{
-          //console.log(res.data.data);
-          //閫犲亣鏁版嵁
-          let dataInfo =[ 
-            {"id":"address","name":"浼氳瀹ゅ湴鍧�","oid":"058D840D-1010-A7DE-7C52-B39C03CE89C1","attrLength":"150","description":"","attributeDataTypeText":"瀛楃涓�"},
-            {"id":"businesslicensetype","name":"钀ヤ笟鎵х収绫诲瀷","oid":"BDAC6D3E-1827-35A0-F3CA-0E58A43F6A07","attrLength":"255","description":"钀ヤ笟鎵х収绫诲瀷","attributeDataTypeText":"瀛楃涓�"},
-            {"id":"certificatenumber","name":"淇濆瘑璇佺紪鍙�","oid":"E2BC8332-A721-3713-26C3-C9F6340C2C1D","attrLength":"255","description":"淇濆瘑璇佺紪鍙�","attributeDataTypeText":"瀛楃涓�"},
-          ]
-          this.selectattrData = dataInfo;
-          this.selectAttrOptionLoading = false;
+        loadlistClassifyLinkAttr() {
+          let attrParam = this.selectAttrParams;
+          //console.log(this.currentSelectTreeData);
+          this.selectAttrParams.selectAttrOptionLoading = true;
+          let conditionMaps = {};
+          if(attrParam.selectAttrQeury){
+            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 = {};
           })
         },
         // 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢
-        selectAttrOptionSearchChange(params, done) {
-          this.query = params;
-          console.log(params);  //杩欏効闇�瑕佹敼
-          this.loadlistClassifyLinkAttr({"page":1,"limit":-1 ,'conditionMap[codeClassifyOid]':this.currentSelectTreeData.oid});
+        selectAttrSearchChange(params, done) {
+          this.selectAttrParams.selectAttrQeury = params;
+          //console.log(params);  //杩欏効闇�瑕佹敼
+          this.loadlistClassifyLinkAttr();
           done();
+        },
+        // 涓哄睘鎬ч�夊�肩晫闈紝鍗曞嚮琛ㄦ牸琛屾椂瑙﹀彂璇ヤ簨浠�
+        selectionAttrRowClick(row){
+          this.$refs[this.selectAttrParams.ref].toggleSelection();
+          this.selectAttrParams.selectionChangeAttrList = row;
+          this.$refs[this.selectAttrParams.ref].setCurrentRow(row);
+          this.$refs[this.selectAttrParams.ref].toggleRowSelection(row); //閫変腑褰撳墠琛�
         },
         // 灞炴�у彇鍊煎綋鍓嶉�変腑琛屽彂鐢熷彉鍖栨椂瑙﹀彂
         selectionChangeAttr(list){
-          this.selectionChangeAttrList = list;
+          this.selectAttrParams.selectionChangeAttrList = list;
+          this.$refs[this.selectAttrParams.ref].setCurrentRow(this.selectAttrParams.selectionChangeAttrList[list.length-1]);
         },
         // 閲嶇疆浣嶅睘鎬ч�夊彇鍊艰〃鏍肩殑鎼滅储妗嗕箣鍚庣殑鍥炶皟
         searchAttrReset() {
+          this.selectAttrParams.selectAttrQeury = {};
           this.loadlistClassifyLinkAttr()
         },
         // 涓哄睘鎬ч�夊彇鍊间箣鍚庣殑鍥炴樉
         selectedListClassifyLinkAttr(){
-          if(this.selectionChangeAttrList.length != 1){
-            this.$message.warning("鍙兘閫夋嫨涓�鏉℃暟鎹�!");
+          if(this.selectAttrParams.selectionChangeAttrList.length != 1){
+            this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
             return false;
           }
           //璋冪敤瀛愮粍浠跺苟浼犻�掑綋鍓嶉�変腑鐨勫弬鏁板�硷紝瀹炵幇鍥炴樉
           this.form = Object.assign({}, this.form, {
-            referAttributeId:this.selectionChangeAttrList[0].id,
-            referAttributeName:this.selectionChangeAttrList[0].name,
+            referAttributeId:this.selectAttrParams.selectionChangeAttrList[0].id,
+            referAttributeName:this.selectAttrParams.selectionChangeAttrList[0].name,
             referCodeClassifyOid: this.currentSelectTreeData.key,
             referCodeClassifyOidName: this.currentSelectTreeData.title,
           })
           this.isShowSelectAttrOption = false;
         },
-        
+
 
         /** 鍩虹鐮佹琛ㄤ腑鐨勭爜鍊肩鐞嗙殑鐩稿叧鏂规硶 */
         // 鐮佸�肩鐞嗗脊绐楁帶鍒�
@@ -1330,8 +1327,16 @@
               window.console.log(error);
             });
           }else {
+            if(this.codeClassifyForm.id.trim() == ''){
+              this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
+              return;
+            }
+            if(this.codeClassifyForm.id.trim().length > 4 ){
+              this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�4锛�");
+              return;
+            }
             this.codeClassifyForm.codeClassifySecOid = this.codefixedsecOrCodeclassifysecOid;
-            console.log(this.codeClassifyForm);
+            // console.log(this.codeClassifyForm);
             addSaveCodeClassifyValue(this.codeClassifyForm).then(() => {
               this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
               this.clearFixedOrClassifyForm('codeclassifyvaluesec');
@@ -1395,10 +1400,10 @@
                 window.console.log(error);
             });
           }
-            
+
         },
         //鍒犻櫎鐮佸��
-        delCodeSecValue(condition){ 
+        delCodeSecValue(condition){
           //鍥哄畾鐮佹鐮佸�煎垹闄�
           if(condition == 'codefixedsec'){
             //console.log(this.selectedFixedOrCodeclassifyValue.oid);
@@ -1440,8 +1445,8 @@
                 message: "鎿嶄綔鎴愬姛!"
               });
             });
-          }            
-          
+          }
+
         },
         //瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
         codeFixedValueOpetion(condition,row){
@@ -1502,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);
@@ -1515,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);
           }
         },
         /**
@@ -1576,7 +1581,7 @@
             });
             this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
           }
-          
+
         },
         //鍒嗙被鐮佸�兼爲data鍔犺浇
         loadClassifyValueData(row){
@@ -1609,11 +1614,11 @@
         /** 鍩虹鐮佹鐩稿叧鏂规硶 */
         //闃叉鎵撳紑杩囩紪杈戠獥鍙d箣鍚庤〃鍗曚腑瀛樺湪鍊硷紝鎵�浠ラ渶瑕佹竻绌�,骞跺垵濮嬪寲form琛ㄥ崟灞炴��
         clearBasicAddForm(){
-          this.form = this.$options.data().form;;
+          this.form = this.$options.data().form;
           // this.changeSectypeFormItems(null);
         },
         // 鎵撳紑鏂板绐楀彛
-        addBasicCodeSec(){
+        openAddBasicCodeSec(){
           if(!this.tipsMessage(this.selectionList)){
             return;
           }
@@ -1624,7 +1629,7 @@
           this.openBasicDialog('add',null);
           this.loadCodeSecType();
         },
-        //鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�
+        // 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�
         openBasicDialog(condition,row){
           //console.log(row);
           if(condition == 'add') {
@@ -1650,27 +1655,37 @@
           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(() => {
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
+              await addSave(this.form).then(() => {
+                this.$message({
+                  type: "success",
+                  message: "鎿嶄綔鎴愬姛!"
+                });
               }, error => {
                 window.console.log(error);
               });
               // 鍏抽棴瀵硅瘽妗�
               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
@@ -1681,9 +1696,8 @@
               }, error => {
                 window.console.log(error);
             });
+            this.loadBasic(this.selectionList[0]);
           }
-          // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-          this.loadBasic(this.selectionList[0]);
         },
         // 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�
         checkForm(){
@@ -1731,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);
@@ -1757,7 +1771,7 @@
               this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
               return false;
             }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparatorSelect == ''){
+            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparator == ''){
               this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
               return false;
             }
@@ -1781,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 == ''){
@@ -1853,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;
             }
@@ -1901,11 +1915,30 @@
           }
           // console.log(row.oid);
           //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭�
-          this.currentCodeRuleOid = row.oid;
-          this.currentRuleLcStatus = row.lcStatus;
-          gridCodeBasicSec(1, -1, {"pkCodeRule":row.oid}).then(res => {
+          if(row!='' || row!=null){
+            this.currentCodeRuleOid = row.oid;
+            this.currentRuleLcStatus = row.lcStatus;
+            this.sendGridCodeBasicSec({"pkCodeRule":row.oid},false);
+          }
+        },
+        // 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�
+        sendGridCodeBasicSec(condition,isAdancedQuery/** 鏄惁楂樼骇鏌ヨ */){
+          // 濡傛灉褰撳墠鍩虹鐮佹琛ㄤ腑鐨勬悳绱㈡寜閽闅愯棌锛屽氨闇�瑕佸湪姝ゅ紑鍚�
+          if(this.selectionList.length>=0 && !this.$refs.crudBasic.option.column[0].search){
+            this.hideBasicTable(true);
+          }
+          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;
-            // console.log(data);
             if(this.cloneSettingBox){
               this.cloneData = data.records;
               // console.log(tihs.cloneData);
@@ -1920,25 +1953,39 @@
         // 鍩虹鐮佹閫変腑鏃惰Е鍙�
         selectionBasicChange(list) {
           this.selectionBasicList = list;
+          this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length-1]);
           //console.log(this.selectionBasicList);
+        },
+        // 鍩虹鐮佹琚崟鍑昏〃鏍艰鏃惰Е鍙�
+        codeBasicSecRowClick(row){
+          this.$refs.crudBasic.toggleSelection();
+          this.selectionBasicList = row;
+          this.$refs.crudBasic.setCurrentRow(row);
+          this.$refs.crudBasic.toggleRowSelection(row); //閫変腑褰撳墠琛�
+        },
+        basicSearchChange(params, done){
+          //console.log(this.$refs.crudBasic);
+          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},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: "鎿嶄綔鎴愬姛!"
@@ -1954,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});
@@ -1968,13 +2015,93 @@
             });
           })
         },
-        //鍩虹鐮佹鏌ヨ
+        // 鍩虹鐮佹鍒锋柊鏃舵煡璇�
         refreshChangeBasicSec(){
-          this.loadBasic({"oid":this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid:this.currentCodeRuleOid});
+          this.loadBasic(this.selectionList.at(-1));
+        },
+        // 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌
+        hideBasicTable(hideBoolean){
+          this.$refs.crudBasic.option.refreshBtn = hideBoolean;
+          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){
+          if(condition=='codeRule'){
+            this.advancedQueryParam.options = [
+              {
+                data: [],
+                title: '缂栧彿',
+                fieldType: 'text',
+                queryField: 'id',
+              },{
+                data: [],
+                title: '鍚嶇О',
+                fieldType: 'text',
+                queryField: 'name',
+              },{
+                data: [],
+                title: '鎻忚堪',
+                fieldType: 'text',
+                queryField: 'description',
+              },{
+                data: [
+                  // {
+                  //   key: '缂栬緫涓�',
+                  //   value: 'Editing',
+                  // },
+                  // {
+                  //   key: '宸插彂甯�',
+                  //   value: 'Released',
+                  // },
+                  // {
+                  //   key: '鍋滅敤',
+                  //   value: 'Disabled',
+                  // },
+                ],
+                title: '鐘舵��',
+                fieldType: 'combox',
+                queryField: 'lcStatus',
+                comboxKey: 'codeSearchLCStatus',
+              },
+            ]
+          }else {
+            this.advancedQueryParam.options = [
+              {
+                data: [],
+                title: '鐮佹缂栧彿',
+                fieldType: 'text',
+                queryField: 'id',
+              },{
+                data: [],
+                title: '鐮佹鍚嶇О',
+                fieldType: 'text',
+                queryField: 'name',
+              },{
+                data: [],
+                title: '鎻忚堪',
+                fieldType: 'text',
+                queryField: 'description',
+              },{
+                data: [],
+                title: '鐮佹绫诲瀷',
+                fieldType: 'combox',
+                queryField: 'secType',
+                comboxKey: 'codeSecType',
+              }
+            ]
+          }
+          this.advancedQueryParam.currentOpen = condition;
+          this.advancedQueryParam.advancedQuerySettingBox = true;
+        },
         // 鏌ヨ浣跨敤鑼冨洿
         handleRange(){
           if(!this.tipsMessage(this.selectionList)){
@@ -1983,8 +2110,8 @@
           this.codeRangeSettingBox = true;
           this.getRangeCodeList()
         },
-        //鍔犺浇浣跨敤鑼冨洿鍒楄〃
-        getRangeCodeList(){        
+        // 鍔犺浇浣跨敤鑼冨洿鍒楄〃
+        getRangeCodeList(){
           this.dialogLoading = true;
           if(this.selectionList[0].oid==null){
             this.$message.error("鏈幏鍙栧埌鍙傛暟!");
@@ -1996,17 +2123,9 @@
             this.dialogLoading = false;
           });
         },
-        //鍒锋柊浣跨敤鑼冨洿鍒楄〃
+        // 鍒锋柊浣跨敤鑼冨洿鍒楄〃
         refreshUseRangeChange(){
           this.getRangeCodeList();
-        },
-        //鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
-        codeRuleRowClick (row) {
-          this.$refs.crud.toggleSelection();
-          this.selectionList = row;
-          this.$refs.crud.setCurrentRow(row);
-          //this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
-          this.loadBasic(row);
         },
         // 鍚敤涓庡仠鐢�
         enableOrDeactivatse(oId,update){
@@ -2060,7 +2179,7 @@
           }, error => {
             window.console.log(error);
           });
-          //console.log(data); 
+          //console.log(data);
         },
         // 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�
         openOtherCodeRuleDialog(){
@@ -2069,30 +2188,46 @@
           }
           if(this.selectionList[0].lcStatus != 'Editing'){
             this.$message.warning("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫鎴栧垹闄�!");
-            return; 
+            return;
           }
           this.cloneOtherCodeRuleSettingBox = true;
         },
-        //鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
-        codeOtherCloneRuleRowClick (row) {
+        // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�-鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
+        codeOtherCloneRuleRowClick(row) {
+          this.$refs.crudCloneCodeRuleOther.toggleSelection();
+          this.selectionOtherCloneCodeRuleList = row;
+          this.$refs.crudCloneCodeRuleOther.setCurrentRow(row);
+          this.$refs.crudCloneCodeRuleOther.toggleRowSelection(row); //閫変腑褰撳墠琛�
           this.loadBasic(row);
         },
-        // 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�
+        // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�-鍗曞嚮鍩虹鐮佹瀹炵幇琛岄�夋嫨
+        codeOtherCloneBasicRowClick(row){
+          this.$refs.crudCloneCodeBasicOther.toggleSelection();
+          this.selectionOtherCloneCodeBasicList = row;
+          this.$refs.crudCloneCodeBasicOther.setCurrentRow(row);
+          this.$refs.crudCloneCodeBasicOther.toggleRowSelection(row); //閫変腑褰撳墠琛�
+        },
+        // 浠庡叾浠栬鍒欏厠闅嗙爜娈电晫闈腑缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�
         selectionOtherCloneCodeRuleChange(list) {
           //console.log(list);
           this.selectionOtherCloneCodeRuleList = list;
+          this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length-1]);
+          if(list == ''){
+            this.basicData = [];
+          }
           if(this.selectionOtherCloneCodeRuleList.length > 0){
             this.loadBasic(this.selectionOtherCloneCodeRuleList[list.length-1]);
           }
         },
         selectionOtherCloneCodeBasicChange(list){
-          this.selectionOtherCloneCodeBasicList = list; 
+          this.selectionOtherCloneCodeBasicList = list;
+          this.$refs.crudCloneCodeBasicOther.setCurrentRow(this.selectionOtherCloneCodeBasicList[list.length-1]);
         },
-         // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅
+        // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅
         saveOtherCodeBasic(){
           let oid = this.selectionList[0].oid;
           let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList;
-          if(fromDialogPkCodebasic.length < 0){
+          if(fromDialogPkCodebasic.length <= 0){
             this.$message.warning("璇烽�夋嫨鐮佹鏁版嵁!");
             return;
           }
@@ -2104,13 +2239,13 @@
             return;
           }
           //console.log(res);
-          let oidArr = '';
-          fromDialogPkCodebasic.forEach((item) =>{
-            oidArr = oidArr+","+item.oid;
-          })
+          let oidArr = [];
+          fromDialogPkCodebasic.forEach(ele => {
+            oidArr.push(ele.oid);
+          });
           let data = {
             "pkCodeRule": oid,
-            "oidArr": oidArr,
+            "oidArr": oidArr.join(","),
           }
           //console.log(data);
           cloneCodeBasic(data).then(() => {
@@ -2136,9 +2271,9 @@
           }
           let currentData = this.selectionList[0];
           this.$confirm("纭畾瑕佹竻绌虹爜鍊硷紵濡傛灉娓呯┖灏嗕笉鑳借鎭㈠锛岃璋ㄦ厧锛�", {
-            confirmButtonText: "纭畾",
-            cancelButtonText: "鍙栨秷",
-            type: "warning"
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "warning"
             })
             .then(() => {
               let ts = new Date(currentData.ts).getTime();
@@ -2152,7 +2287,6 @@
               });
             });
         },
-
         // 娣诲姞
         rowSave(row, done, loading) {
           add(row).then(() => {
@@ -2224,22 +2358,49 @@
           this.onLoad(this.page);
         },
         searchChange(params, done) {
-          this.query = params;
           this.page.currentPage = 1;
-          this.onLoad(this.page, params);
+          // 澶氫釜conditionMap杩欐牱浼犲弬锛屽揩閫熸煡璇㈤粯璁ら噰鐢ㄦā绯婃煡璇�
+          let requestData = {};
+          if(params){
+            Object.keys(params).forEach(key=>{
+              requestData["conditionMap"+'['+key+'_like]'] = params[key].trim();
+            });
+          }
+          this.query = requestData;
+          this.onLoad(this.page);
           done();
-        }, 
+        },
         // 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�
         selectionChange(list) {
           this.selectionList = list;
-          //console.log("selectionChange====="+list);
-          this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
-          if(this.selectionList.length > 0){
+          //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�,骞剁鐢ㄧ浉鍏冲姛鑳�
+          if(this.selectionList.length <= 0){
+            this.hideBasicTable(false);
+          }
+          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;
-            //console.log(this.currentRuleLcStatus);
             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 = [];
@@ -2254,17 +2415,26 @@
         refreshChange() {
           this.onLoad(this.page, this.query);
         },
-        onLoad(page, params = {}) {
+        onLoad(page,params={}) {
           this.loading = true;
-          gridCodeRule(page.currentPage, page.pageSize, Object.assign(params, this.query)).then(res => {
+          gridCodeRule(
+            page.currentPage,
+            page.pageSize,
+            this.query
+          ).then(res => {
             //console.log(res.data);
             const data = res.data.data;
             this.page.total = data.total;
             this.data = data.records;
             this.loading = false;
+            // 鏌ヨ鐨勫�间负绌烘椂锛岃灏嗙爜娈电鐞嗙浉鍏崇殑鍐呭绂佺敤
+            if(data.records.length <= 0) {
+              this.hideBasicTable(false);
+              return;
+            }
             this.loadBasic(this.data[0])
             this.$nextTick(() => {
-              //this.$refs.crud.toggleRowSelection(this.data[0]);
+              this.$refs.crud.toggleRowSelection(this.data[0]);
               this.$refs.crud.setCurrentRow(this.data[0]);
             })
             this.selectionList = data.records[0];
@@ -2272,22 +2442,65 @@
           });
         },
 
-
         /** 绗竴灞傚璇濇鐩稿叧鏂规硶 */
-        // 鎵撳紑浜屽眰寮圭獥鏂规硶
+        // 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�
         openAttrSelectOrGetValue(condition){
           if(condition === 'attr'){
             this.isShowSelectAttrOption = true;
           }else if(condition === 'value'){
             //鎵撳紑鍏紡缂栬緫妗嗭紝绗簩灞傚祵濂楀璇濇
-            this.$refs.formulaEditor.isShowformulaEdit = true;
+            //this.$refs.formulaEditor.isShowformulaEdit = true;
+            this.formulaEditorParams.formulaEditorSettingBox = true;
           }else if(condition === 'parentClassifySecOid'){
-            this.isShowParentClassifyOption = true;
+            this.parentClsfyParams.isShowParentClassifySettingBox = true;
           }else if(condition === 'referBtmId'){
-            this.isShowSelectReferBtmOption = true;
+            this.referBtmDialogParams.selectReferBtmSettingBox = true;
+            // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹�
+            this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad();
           }else if(condition === 'referConfig'){
-            //this.$emit('openSelectreferConfig')
+            if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){
+              this.openReconfigInterFace(this.form);
+            }else{
+              this.openTipsChooseOrCust();
+            }
           }
+        },
+
+        // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰
+        openReconfigInterFace(preReferConfigForm){
+          // console.log(preReferConfigForm);
+          this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
+              let value = {
+                referTypeName: preReferConfigForm.referBtmName,
+                referType: preReferConfigForm.referBtmId,
+                referConfig: preReferConfigForm.referConfig,
+              }
+              this.$refs.referConfigFormDialog.initPageData(value);
+        },
+        // 鎵撳紑鑷畾涔夊弬鐓ч厤缃垨鐩存帴閫夋嫨鍙傜収閰嶇疆鐨勬彁绀烘
+        openTipsChooseOrCust(){
+          this.$confirm('璇烽�夋嫨鍙傜収閰嶇疆鐨勫畾涔夋柟寮忥紵','鍙傜収閰嶇疆鐨勬柟寮�', {
+            distinguishCancelAndClose: true,
+            closeOnClickModal: false,
+            confirmButtonText: '鑷畾涔夊弬鐓ч厤缃�',
+            cancelButtonText: '鐩存帴閫夋嫨鍙傜収閰嶇疆'
+          })
+          .then(() => {
+            // 鎵撳紑鑷畾鍙傜収閰嶇疆瀵硅瘽妗�
+            this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
+            // 琛ㄦ牸閿欒鐨勯棶棰�
+            this.$refs.referConfigFormDialog.onloadAttrData();
+          })
+          .catch(action => {
+            if (action === "cancel") {
+              // 鎵撳紑鐩存帴閫夋嫨鍙傜収閰嶇疆瀵硅瘽妗�
+              this.$refs.referConfigCrudDialog.isShowReferConfigCrud = true;
+              this.$refs.referConfigCrudDialog.referConfigOnload();
+            }
+            //console.log(action);
+          });
+          // 璁╁弬鐓ч厤缃緭鍏ユ澶卞幓鐒︾偣锛屽惁鍒欒鎻愮ず妗嗘棤娉曡鍏抽棴
+          this.$refs.referConfig.$el.querySelector('input').blur();
         },
 
         // 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�
@@ -2303,20 +2516,22 @@
             this.form.parentClassifySecOid = '';
           }else if(condition === 'referBtmId'){
             this.form.referBtmId = '';
+            this.form.referBtmName = '';
+            this.form.referConfig = '';
           }else if(condition === 'referConfig'){
-            this.form.referBtmId = '';
+            this.form.referConfig = '';
           }
         },
         // 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫�
         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);   
-          if(this.sectypeList.length==0){
+        changeSectypeFormItems(row){
+          //console.log(row);
+          if(this.enumParam.secTypeList.length==0){
             this.loadCodeSecType();
           }
           if(row != null){
@@ -2370,9 +2585,9 @@
               codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'', //鐮佹鐨勯暱搴�
               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_right', //缂栫爜琛ヤ綅鏂瑰紡
-              codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:0,          //琛ヤ綅鏃剁殑瀛楃
+              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',          //琛ヤ綅鏃剁殑瀛楃
               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,      //娴佹按鏄惁琛ョ爜
@@ -2389,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();
@@ -2398,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'){
             //鏃ユ湡鐮佹
@@ -2419,61 +2641,62 @@
             //鍙彉鐮佹
             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: "codeBasicSecType"}).then(res=>{
-            this.sectypeList = res.data.data;
-          })
+          this.enumParam.secTypeList = this.getLocalStorageEnum("codeSecType");
           this.loadCodeSecLength();
-          //console.log(this.sectypeList);
         },
         loadCodeSecLength(){
-          getDictionary({code: "codeSecLength"}).then(res=>{
-            this.codeSecLengthType = res.data.data;
-          })
+          this.enumParam.codeSecLengthType = this.getLocalStorageEnum("codeSecLength");
         },
         loadCodeFillType(){
-          getDictionary({code: "codeFillType"}).then(res=>{
-            this.codeFillType = res.data.data;
-          })
+          this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType");
         },
         loadCodeFillSeparator(){
-          getDictionary({code: "codeFillSeparator"}).then(res=>{
-            this.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.codeLevelType = res.data.data;
-          })
+          this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType");
         },
         loadCodeCutType(){
-          getDictionary({code: "codeCutType"}).then(res=>{
-            this.codeCutType = res.data.data;
-          })
+          this.enumParam.codeCutType = this.getLocalStorageEnum("codeCutType");
         },
         loadCodeGetValueType(){
-          getDictionary({code: "codeGetValueType"}).then(res=>{
-            this.codeGetValueType = res.data.data;
-            //console.log(this.codeGetValueType);
-          })
+          this.enumParam.codeGetValueType =  this.getLocalStorageEnum("codeGetValueType");
         },
-        
+
       }
   };
 
 </script>
 
-<style scope>
+<style>
 
   .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search {
     margin-bottom: -15px;
@@ -2482,13 +2705,12 @@
   .code-rule-crud > .avue-crud__pagination {
     padding: 14px 0 2px 20px;
   }
-  
 
   .clone-input-textarea > .el-form-item__content {
     width: 495px;
   }
 
-  .clone-avue-crud > .el-card> .el-card__body > .avue-crud__menu {
+  .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
     display: none!important;
   }
 
@@ -2503,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;
   }
@@ -2515,73 +2737,90 @@
   .basic-container > .el-card  > .el-card__body {
     margin: -10px 0;
   }
+
   .code-basicsec-container{
     padding: 1px 6px;
   }
 
-  .el-divider--horizontal {
-    margin-top: 19px !important;
+  .horizontal-line {
+    /* margin-top: 19px !important; */
     margin-bottom: -20px !important;
+    width: 100%;
     height: 2px;
-    margin: 0;
-    position: fixed;
-    width: 57.5vw;
   }
 
-  .el-card__body > .abox {
-    height: 50vh;
+  .el-card__body > .treeBox {
+    height: 56vh;
   }
 
   .el-col-5 > .box {
-    height: 55vh;
+    height: 56vh;
   }
 
   .operator_,filter, .layui-btn{
     width:60px;
   }
 
-  .el-input-number {
+  .left > .el-form-item > .el-form-item__content > .el-input-number {
     width: 120px;
   }
 
-  .el-input-number >.el-input > .el-input__inner {
+  .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;
   }
 
   /** 鏂板鐮佹 */
-  .total{
-    height: 500px;
+  .add-basicsec-total {
     width: 100%;
+    padding: 20px 0 0 0;
   }
 
-  .total .el-input__inner,.total .el-textarea__inner {
+  .add-basicsec-total .el-input__inner,.add-basicsec-total .el-textarea__inner {
     width: 220px;
   }
 
-  .el-divider--vertical {
+  .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: 72vh;
-    margin: 0 5px;
-    position: fixed;
+    height: 100%;
+    margin: 0 auto;
+    /* position: fixed; */
   }
 
  .left {
-    float: left;
-    width: 49%;
+    /* float: left; */
+    width: 45%;
+    height: 100%;
  }
+
  .right {
-    float: right;
-    margin-right: 2.5vw;
-    /* width: 40%; */
+    /* 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;
+ }
 
-
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3