From c98617764afe0ee4e64ebb7b3af6845aeaeeea12 Mon Sep 17 00:00:00 2001
From: wangting <675591594@qq.com>
Date: 星期一, 28 八月 2023 15:15:10 +0800
Subject: [PATCH] 最大流水号

---
 Source/UBCS-WEB/src/views/code/code.vue | 2978 ++++++++++++++++++++++++++++++++---------------------------
 1 files changed, 1,621 insertions(+), 1,357 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 5e3a4ec..301befd 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1,791 +1,841 @@
 <template>
-  <basic-container style="height: 100%;">
-
-    <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 -->
-    <basic-container class="code-rule-container">
-      <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p>
-      <avue-crud class="code-rule-crud"
-        :option="optionRule"
-        :table-loading="loading"
-        :data="data"
-        :page.sync="page"
-        :permission="permissionList"
-        v-model="ruleForm"
-        ref="crud"
-        :before-open="beforeOpen"
-        @row-click="codeRuleRowClick"
-        @row-update="rowUpdate"
-        @row-save="rowSave"
-        @search-change="searchChange"
-        @search-reset="searchReset"
-        @selection-change="selectionChange"
-        @current-change="currentChange"
-        @size-change="sizeChange"
-        @refresh-change="refreshChange"
-        @on-load="onLoad">
-        <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
-        <template slot="menu" slot-scope="scope">
-          <el-button type="text"
+  <basic-container style="height: 100%;" class="code-total">
+      <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 -->
+      <basic-container class="code-rule-container">
+        <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p>
+        <avue-crud class="code-rule-crud"
+          :option="optionRule"
+          :table-loading="loading"
+          :data="data"
+          :page.sync="page"
+          :permission="permissionList"
+          v-model="ruleForm"
+          ref="crud"
+          :before-open="beforeOpen"
+          @row-click="codeRuleRowClick"
+          @row-update="rowUpdate"
+          @row-save="rowSave"
+          @search-change="searchChange"
+          @search-reset="searchReset"
+          @selection-change="selectionChange"
+          @current-change="currentChange"
+          @size-change="sizeChange"
+          @refresh-change="refreshChange"
+          @on-load="onLoad">
+          <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
+          <template slot="menu" slot-scope="scope">
+            <el-button type="text"
+                size="small"
+                icon="el-icon-edit"
+                v-show="scope.row.lcStatus=='Editing' ? true:false"
+                plain
+                @click="openEdit(scope.row)">缂� 杈�
+            </el-button>
+            <el-button type="text"
               size="small"
-              icon="el-icon-edit"
+              icon="el-icon-position"
               v-show="scope.row.lcStatus=='Editing' ? true:false"
               plain
-              @click="openEdit(scope.row)">缂� 杈�
-          </el-button>
-          <el-button type="text"
-            size="small"
-            icon="el-icon-position"
-            v-show="scope.row.lcStatus=='Editing' ? true:false"
-            plain
-            @click="enableOrDeactivatse(scope.row.oid,'release')">鍙� 甯�
-          </el-button>
-          <el-button type="text"
-            size="small"
-            v-show="scope.row.lcStatus=='Released' ? true:false"
-            icon="el-icon-video-pause"
-            plain
-            @click="enableOrDeactivatse(scope.row.oid,'disable')">鍋� 鐢�
-          </el-button>
-          <el-button type="text"
-            size="small"
-            v-show="scope.row.lcStatus=='Disabled' ? true:false"
-            icon="el-icon-video-play"
-            plain
-            @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">
-            鍒� 闄�
-          </el-button>
-          <el-button size="small"
-            icon="icon-kelong"
-            plain
-            @click="openCodeRuleDialog">
-            鍏� 闅�
-          </el-button>
-          <el-button size="small"
-            icon="icon-lianjiekelong"
-            style="font-size: 12px;"
-            plain
-            @click="openOtherCodeRuleDialog">
-            浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹
-          </el-button>
-          <el-button size="small"
-            icon="el-icon-s-help"
-            plain
-            @click="handleRange">
-            浣跨敤鑼冨洿
-          </el-button>
-          <el-button size="small"
-              icon="icon-qingkong"
+              :disabled="releadDisabled"
+              @click="enableOrDeactivatse(scope.row.oid,'release')">鍙� 甯�
+            </el-button>
+            <el-button type="text"
+              size="small"
+              v-show="scope.row.lcStatus=='Released' ? true:false"
+              icon="el-icon-video-pause"
               plain
-              @click="clearAllCodeSec">
-              娓呯┖鐮佸��
+              @click="enableOrDeactivatse(scope.row.oid,'disable')">鍋� 鐢�
+            </el-button>
+            <el-button type="text"
+              size="small"
+              v-show="scope.row.lcStatus=='Disabled' ? true:false"
+              icon="el-icon-video-play"
+              plain
+              @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">
+              鍒� 闄�
+            </el-button>
+            <el-button type="primary"
+              size="small"
+              icon="el-icon-search"
+              plain
+              @click="openAdvancedQuery('codeRule')">
+              楂樼骇鏌ヨ
+            </el-button>
+            <el-button
+              size="small"
+              icon="icon-kelong"
+              plain
+              @click="openCodeRuleDialog">
+              鍏� 闅�
+            </el-button>
+            <el-button
+              size="small"
+              icon="icon-lianjiekelong"
+              style="font-size: 12px;"
+              plain
+              @click="openOtherCodeRuleDialog">
+              浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹
+            </el-button>
+            <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>
+            <el-button
+                size="small"
+                icon="el-icon-guide"
+                plain
+                @click="escapeOwner">
+                杞Щ鎵�鏈夎��
+            </el-button>
+            <el-button
+                size="small"
+                icon="el-icon-guide"
+                plain
+                @click="maxSerialNum">
+                鏈�澶ф祦姘村彿
+            </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"
+        class="avue-dialog avue-dialog--top"
+        style="height: 100vh;" top="-3%">
+        <avue-crud
+          :option="dialogeOption"
+          :table-loading="dialogLoading"
+          :data="useRangeData"
+          style="margin-top:-40px"
+          @refresh-change="refreshUseRangeChange">
+        </avue-crud>
+      </el-dialog>
+
+      <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� -->
+      <el-dialog title="鍏嬮殕缂栫爜瑙勫垯"
+        append-to-body
+        :visible.sync="cloneSettingBox"
+        width="800px"
+        class="avue-dialog avue-dialog--top"
+        style="height: 100vh;" top="-3%">
+        <div>
+          <el-row>
+            <el-form ref="form" :model="form" label-width="80px" :inline="true">
+              <el-form-item label="缂栧彿" required>
+                <el-input v-model="cloneCodeRuleForm.id"></el-input>
+              </el-form-item>
+              <el-form-item label="鍚嶇О" required>
+                <el-input v-model="cloneCodeRuleForm.name"></el-input>
+              </el-form-item>
+              <el-form-item  label="鎻忚堪" class="clone-input-textarea">
+                <el-input :autosize="{ minRows: 3, maxRows: 5}" type="textarea" v-model="cloneCodeRuleForm.description"></el-input>
+              </el-form-item>
+            </el-form>
+          </el-row>
+          <el-row>
+            <p style="margin: 0 0px 16px 50%; font-weight: 500; font-size: 20px; color: #000;">鐮佹绠$悊</p>
+            <avue-crud
+              class="clone-avue-crud"
+              :option="cloneOption"
+              :table-loading="cloneTableLoading"
+              :data="cloneData"
+              @on-load="cloneDataOnLoad">
+              <template slot="menu" slot-scope="scope">
+                <el-button
+                  type="text"
+                  size="small"
+                  icon="el-icon-arrow-up"
+                  v-show="scope.row.orderNum > 1"
+                  plain
+                  @click="upOrderNum(scope.row)">涓婄Щ
+                </el-button>
+                <el-button
+                  type="text"
+                  size="small"
+                  icon="el-icon-arrow-down"
+                  plain
+                  @click="downOrderNum(scope.row)">涓嬬Щ
+                </el-button>
+              </template>
+            </avue-crud>
+          </el-row>
+        </div>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="saveCloneCodeRule">淇� 瀛�</el-button>
+          <el-button @click="cloneSettingBox = false">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+
+      <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 -->
+      <el-dialog title="鍏嬮殕缂栫爜瑙勫垯鐨勫熀纭�淇℃伅"
+        append-to-body
+        class="avue-dialog avue-dialog--top"
+        :visible.sync="cloneOtherCodeRuleSettingBox"
+        width="800px"
+        style="height: 100vh;" top="-3%"
+        destroy-on-close>
+        <div>
+          <el-row>
+            <p style="margin-top: -20px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p>
+            <avue-crud
+              class="other-clone-coderule-crud"
+              :option="cloneCodeRuleOption"
+              @row-click="codeOtherCloneRuleRowClick"
+              :table-loading="loading"
+              :data="data"
+              :page.sync="page"
+              ref="crudCloneCodeRuleOther"
+              @size-change="sizeChange"
+              @selection-change="selectionOtherCloneCodeRuleChange"
+              @on-load="onLoad">
+            </avue-crud>
+          </el-row>
+          <el-row style="margin-top:10px;border-top: 1px solid #EBEEF5;">
+            <p style="margin-top: 10px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹淇℃伅</p>
+            <avue-crud
+              class="other-clone-codebasic-crud"
+              :option="cloneBasicOption"
+              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;">
+          <el-button type="primary" @click="saveOtherCodeBasic">淇� 瀛�</el-button>
+          <el-button @click="cloneOtherCodeRuleSettingBox = false">鍙� 娑�</el-button>
+        </div>
+      </el-dialog>
+
+      <!-- 缂栫爜瑙勫垯,杞Щ鎵�鏈夎�呭璇濇 -->
+      <el-dialog
+        :visible.sync="escapeOwnerVisible"
+        append-to-body
+        title="杞Щ鎵�鏈夎��"
+        width="30%">
+        <el-select v-model="ruleOwner" placeholder="璇烽�夋嫨" class="selects">
+          <el-option
+            v-for="item in ruleAdminUserList"
+            :key="item.VALUE"
+            :label="item.LABLE"
+            :value="item.VALUE"
+            class="seloption">
+          </el-option>
+        </el-select>
+          <span slot="footer" class="dialog-footer">
+            <el-button @click="escapeOwnerVisible = false">鍙� 娑�</el-button>
+            <el-button type="primary" @click="escapeOwnerConfirm">纭� 瀹�</el-button>
+          </span>
+      </el-dialog>
+
+      <!-- 鏈�澶ф祦姘村彿瀵硅瘽妗� -->
+      <max-serialnum-dialog :visible.sync="maxSerial.visible" :ruleOid="maxSerial.ruleOid"></max-serialnum-dialog>
+
+      <!-- 鍩虹鐮佹灞曠ず鍖哄煙 -->
+      <basic-container class="code-basicsec-container">
+        <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹绠$悊</p>
+        <avue-crud  class="code-basic-crud"
+          :option="optionBasic"
+          ref="crudBasic"
+          :table-loading="loadingBasic"
+          :data="basicData"
+          @row-click="codeBasicSecRowClick"
+          @search-change="basicSearchChange"
+          @search-reset="basicSearchReset"
+          :permission="permissionList"
+          @selection-change="selectionBasicChange"
+          @refresh-change="refreshChangeBasicSec">
+
+        <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� -->
+        <template slot="menu" slot-scope="scope">
+          <el-button
+            type="text"
+            size="small"
+            icon="el-icon-view"
+            v-show="currentRuleLcStatus != 'Editing'"
+            plain
+            @click="openBasicDialog('view',scope.row)">鏌ョ湅
           </el-button>
-          <el-button size="small"
-            icon="el-icon-search"
+          <el-button
+            type="text"
+            size="small"
+            icon="el-icon-edit"
+            v-show="currentRuleLcStatus === 'Editing'"
             plain
-            @click="openAdvancedQuery">
-            楂樼骇鏌ヨ
-        </el-button>
+            @click="openBasicDialog('edit',scope.row)">缂栬緫
+          </el-button>
+          <el-button
+            type="text"
+            size="small"
+            icon="el-icon-setting"
+            v-show="scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec'"
+            plain
+            @click="openBasicSecCodeValueMgr(scope.row)">鐮佸�肩鐞�
+          </el-button>
+          <el-button
+            type="text"
+            size="small"
+            icon="el-icon-arrow-up"
+            v-show="scope.row.orderNum > 1"
+            plain
+            @click="upOrderNum(scope.row)">涓婄Щ
+          </el-button>
+          <el-button
+            type="text"
+            size="small"
+            icon="el-icon-arrow-down"
+            plain
+            @click="downOrderNum(scope.row)">涓嬬Щ
+          </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;">
-      <avue-crud
-        :option="dialogeOption" 
-        :table-loading="dialogLoading"
-        :data="useRangeData"
-        @refresh-change="refreshUseRangeChange">
-      </avue-crud>
-    </el-dialog>
-    <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� -->
-    <el-dialog title="鍏嬮殕缂栫爜瑙勫垯"
-      append-to-body
-      :visible.sync="cloneSettingBox"
-      width="800px"
-      style="height: 120vh; margin-top: -14vh; overflow: hidden;">
-      <div style="overflow-y: auto; height: 78vh">
-        <el-row>
-          <el-form ref="form" :model="form" label-width="80px" :inline="true">
-            <el-form-item label="缂栧彿" required>
-              <el-input v-model="cloneCodeRuleForm.id"></el-input>
-            </el-form-item>
-            <el-form-item label="鍚嶇О" required>
-              <el-input v-model="cloneCodeRuleForm.name"></el-input>
-            </el-form-item>
-            <el-form-item  label="鎻忚堪" class="clone-input-textarea">
-              <el-input :autosize="{ minRows: 3, maxRows: 5}" type="textarea" v-model="cloneCodeRuleForm.description"></el-input>
-            </el-form-item>
-          </el-form>
-        </el-row>
-        <el-row>
-          <p style="margin: -3vh 0px 16px 50%; font-weight: 500; font-size: 16px; color: #000;">鐮佹绠$悊</p>
-          <avue-crud
-            class="clone-avue-crud"
-            :option="cloneOption"
-            :table-loading="cloneTableLoading"
-            :data="cloneData"
-            @on-load="cloneDataOnLoad">
-            <template slot="menu" slot-scope="scope">
-              <el-button
-                type="text"
-                size="small"
-                icon="el-icon-arrow-up"
-                v-show="scope.row.orderNum > 1"
-                plain
-                @click="upOrderNum(scope.row)">涓婄Щ
-              </el-button>
-              <el-button
-                type="text"
-                size="small"
-                icon="el-icon-arrow-down"
-                plain
-                @click="downOrderNum(scope.row)">涓嬬Щ
-              </el-button>
-            </template>
-          </avue-crud>
-        </el-row>
-      </div>
-      <div slot="footer" class="dialog-footer" style="height: 50px; margin-top: -4vh;">
-        <el-button type="primary" @click="saveCloneCodeRule">淇� 瀛�</el-button>
-        <el-button @click="cloneSettingBox = false">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
-    <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 -->
-    <el-dialog title="鍏嬮殕缂栫爜瑙勫垯鐨勫熀纭�淇℃伅"
-      append-to-body
-      :visible.sync="cloneOtherCodeRuleSettingBox"
-      width="800px"
-      style="height: 150vh; margin-top: -14vh;"
-      destroy-on-close>
-      <div>
-        <el-row>
-          <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">缂栫爜瑙勫垯</p>
-          <avue-crud
-            class="other-clone-coderule-crud"
-            :option="cloneCodeRuleOption"
-            @row-click="codeOtherCloneRuleRowClick"
-            :table-loading="loading"
-            :data="data"
-            :page.sync="page"
-            ref="crudCloneCodeRuleOther"
-            @size-change="sizeChange"
-            @selection-change="selectionOtherCloneCodeRuleChange"
-            @on-load="onLoad">
-          </avue-crud>
-        </el-row>
-        <el-row>
-          <p style="margin-top: -12px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹淇℃伅</p>
-          <avue-crud
-            class="other-clone-codebasic-crud"
-            :option="cloneBasicOption"
-            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 type="primary" @click="saveOtherCodeBasic">淇� 瀛�</el-button>
-        <el-button @click="cloneOtherCodeRuleSettingBox = false">鍙� 娑�</el-button>
-      </div>
-    </el-dialog>
 
-    <!-- 鍩虹鐮佹灞曠ず鍖哄煙 -->
-    <basic-container class="code-basicsec-container">
-      <p style="margin-top: -5px; margin-bottom: 4px; font-weight: 570; font-size: 19px; color: #0e2d5f;">鐮佹绠$悊</p>
-      <avue-crud  class="code-basic-crud"
-        :option="optionBasic"
-        ref="crudBasic"
-        :table-loading="loadingBasic"
-        :data="basicData"
-        @row-click="codeBasicSecRowClick"
-        @search-change="basicSearchChange"
-        @search-reset="basicSearchReset"
-        :permission="permissionList"
-        @selection-change="selectionBasicChange"
-        @refresh-change="refreshChangeBasicSec">
+        <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
+        <template slot="menuLeft" slot-scope="scope">
+          <el-button type="primary"
+              size="small"
+              icon="el-icon-plus"
+              :disabled="selectionList.length <= 0"
+              @click="openAddBasicCodeSec">
+              鏂� 澧�
+          </el-button>
+          <el-button type="danger"
+              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>
 
-      <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� -->
-      <template slot="menu" slot-scope="scope">
-        <el-button
-          type="text"
-          size="small"
-          icon="el-icon-view"
-          v-show="currentRuleLcStatus != 'Editing'"
-          plain
-          @click="openBasicDialog('view',scope.row)">鏌ョ湅
-        </el-button>
-        <el-button
-          type="text"
-          size="small"
-          icon="el-icon-edit"
-          v-show="currentRuleLcStatus === 'Editing'"
-          plain
-          @click="openBasicDialog('edit',scope.row)">缂栬緫
-        </el-button>
-        <el-button
-          type="text"
-          size="small"
-          icon="el-icon-setting"
-          v-show="scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec'"
-          plain
-          @click="openBasicSecCodeValueMgr(scope.row)">鐮佸�肩鐞�
-        </el-button>
-        <el-button
-          type="text"
-          size="small"
-          icon="el-icon-arrow-up"
-          v-show="scope.row.orderNum > 1"
-          plain
-          @click="upOrderNum(scope.row)">涓婄Щ
-        </el-button>
-        <el-button
-          type="text"
-          size="small"
-          icon="el-icon-arrow-down"
-          plain
-          @click="downOrderNum(scope.row)">涓嬬Щ
-        </el-button>
-      </template>
+        </avue-crud>
+      </basic-container>
 
-      <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
-      <template slot="menuLeft" slot-scope="scope">
-        <el-button type="primary"
-            size="small"
-            icon="el-icon-plus"
-            :disabled="selectionList.length <= 0"
-            @click="openAddBasicCodeSec">
-            鏂� 澧�
-        </el-button>
-        <el-button type="danger"
-            size="small"
-            icon="el-icon-delete"
-            :disabled="selectionList.length <= 0"
-            plain
-            @click="deleteBasicCode(scope.row)">
-            鍒� 闄�
-        </el-button>
-      </template>
-
-      </avue-crud>
-    </basic-container>
-
-    <!-- 鐮佹鐮佸�肩鐞嗗璇濇 -->
-    <el-dialog title="鐮佹鐮佸�肩鐞�"
-      :visible.sync="isShowBasicSecCodeValueMgr"
-      :width="isShowFixedForm ? '68vw':'50vw'"
-      append-to-body
-      style="height: 116vh; margin-top: -10vh;"
-      @close="clearFixedOrClassifyForm('close')"
-      destroy-on-close>
-      <!-- 鍒嗙被鐮佹鐮佸�肩鐞� -->
-      <el-row v-show="!isShowFixedForm">
-        <el-col :span="11">
-          <basic-container>
-            <div class="box classify_value_box" style="height:65vh; margin-bottom:-40px">
-              <el-scrollbar style="border-bottom-right-radius:8px ">
-                <basic-container>
-                  <div class="abox" style="height:54vh">
-                    <avue-tree
-                      :data="classifyValueTreeData" 
-                      :option="classisyValueTreeOption" 
-                      @node-click="classisyValueTreeOnodeClick"
-                      style="overflow-y: auto; height: 54vh"/>
-                  </div>
-                </basic-container>
-              </el-scrollbar>
-            </div>
-            <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;">
-              <el-button size="mini" type="primary" icon="el-icon-arrow-up" class="button" @click="codeClassifyValueOpetion('up')">涓婄Щ</el-button>
-              <el-button size="mini" type="primary" icon="el-icon-arrow-down" class="button" @click="codeClassifyValueOpetion('down')">涓嬬Щ</el-button>
-            </div>
-          </basic-container>
-        </el-col>
-        <el-col :span="13">
-          <basic-container>
-            <div class="box" style="height:65vh; margin-bottom:-40px">
-              <el-form>
-                <el-form-item label="鐮佸��:" :label-width="50" required>
-                  <el-input style="width: 18vw" v-model="codeClassifyForm.id"></el-input>
-                </el-form-item >
-                <el-form-item label="鍚嶇О:" :label-width="50" required>
-                  <el-input style="width: 18vw" v-model="codeClassifyForm.name"></el-input>
-                </el-form-item>
-              </el-form>
-            </div>
-            <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;">
-              <el-button size="mini" type="primary" icon="el-icon-circle-plus" class="button" @click="addCodeSecValue('codeclassifyvaluesec')">娣诲姞</el-button>
-              <el-button :disabled="selectedFixedOrCodeclassifyValue==''"  size="mini" type="success" plain icon="el-icon-edit-outline" class="button"  @click="editCodeSecValue('codeclassifyvaluesec')">淇敼</el-button>
-              <el-button :disabled="selectedFixedOrCodeclassifyValue==''"  size="mini" type="danger" icon="el-icon-close" class="button" @click="delCodeSecValue('codeclassifyvaluesec')">鍒犻櫎</el-button>
-              <el-button size="mini" type="warning" plain icon="el-icon-close" class="button" @click = "clearFixedOrClassifyForm('codeclassifyvaluesec')">鍙栨秷</el-button>
-            </div>
-          </basic-container>
-        </el-col>
-      </el-row>
-      <!-- 鍥哄畾鐮佹鐮佸�肩鐞� -->
-      <el-row v-show="isShowFixedForm">
-        <el-col :span="15">
-          <basic-container>
-            <div class="box fixedbox" style="height:65vh; margin-bottom:-40px">
-              <avue-crud
-                class="fixed-avue-crud"
-                ref="crudFixedValue"
-                :data="fixedValueData"
-                :option="fixedValueOption"
-                :table-loading="fixedValueOptionLoading"
-                @row-click="selectedCodeValueRow">
-                <!-- 琛ㄦ牸鍐呮寜閽厤缃� -->
-                <template slot="menu" slot-scope="scope">
-                  <el-button size="mini" type="text" icon="el-icon-arrow-up" @click="codeFixedValueOpetion('up',scope.row)">涓婄Щ</el-button>
-                  <el-button size="mini" type="text" icon="el-icon-arrow-down" @click="codeFixedValueOpetion('down',scope.row)">涓嬬Щ</el-button>
-                  <el-button size="mini" type="text" icon="el-icon-minus" @click="codeFixedValueOpetion('remove',scope.row)">绉婚櫎</el-button>
-                </template>
-              </avue-crud>
-            </div>
-            <div style="margin-top:20px;">
-              <el-button size="mini" type="primary" icon="el-icon-success" class="button" @click="saveCodeFixedOrClassifyValueOption('fixedValue')">淇濆瓨</el-button>
-            </div>
-          </basic-container>
-        </el-col>
-        <el-col :span="9">
-          <basic-container>
-            <div class="box" style="height: 65vh; margin-bottom:-40px; overflow:hidden;" >
-              <div style="overflow-y:auto;height: 60vh;">
+      <!-- 鐮佹鐮佸�肩鐞嗗璇濇 -->
+      <el-dialog title="鐮佹鐮佸�肩鐞�"
+        :visible.sync="isShowBasicSecCodeValueMgr"
+        :width="isShowFixedForm ? '69vw':'50vw'"
+        append-to-body
+        class="avue-dialog avue-dialog--top"
+        style="height: 100vh;" top="-3%"
+        @close="clearFixedOrClassifyForm('close')"
+        destroy-on-close>
+        <!-- 鍒嗙被鐮佹鐮佸�肩鐞� -->
+        <el-row v-show="!isShowFixedForm">
+          <el-col :span="11">
+            <basic-container>
+              <div class="box classify_value_box" style="height:60vh; margin-bottom:-40px">
+                  <basic-container>
+                    <div class="abox" style="height:54vh">
+                      <avue-tree
+                        :data="classifyValueTreeData"
+                        :option="classisyValueTreeOption"
+                        @node-click="classisyValueTreeOnodeClick"
+                        style=""/>
+                    </div>
+                  </basic-container>
+              </div>
+              <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;">
+                <el-button size="mini" type="primary" icon="el-icon-arrow-up" class="button" @click="codeClassifyValueOpetion('up')">涓婄Щ</el-button>
+                <el-button size="mini" type="primary" icon="el-icon-arrow-down" class="button" @click="codeClassifyValueOpetion('down')">涓嬬Щ</el-button>
+              </div>
+            </basic-container>
+          </el-col>
+          <el-col :span="13">
+            <basic-container>
+              <div class="box" style="height:60vh; margin-bottom:-40px">
                 <el-form>
-                  <el-form-item label="鐮佸��:" label-width="54px" required>
-                    <el-input style="width: 19.5vw" v-model="codeFixdForm.id"></el-input>
+                  <el-form-item label="鐮佸��:" :label-width="50" required>
+                    <el-input style="width: 18vw" v-model="codeClassifyForm.id"></el-input>
                   </el-form-item >
-                  <el-form-item label="鎻忚堪:">
-                    <el-input type="textarea" style="width: 20vw;" v-model="codeFixdForm.description"></el-input>
+                  <el-form-item label="鍚嶇О:" :label-width="50" required>
+                    <el-input style="width: 18vw" v-model="codeClassifyForm.name"></el-input>
                   </el-form-item>
                 </el-form>
               </div>
-            </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 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>
-          </basic-container>
-        </el-col>
-      </el-row>
-    </el-dialog>
+              <div style="margin-top:20px; display: flex; align-items:center; justify-content:center;">
+                <el-button size="mini" type="primary" icon="el-icon-circle-plus" class="button" @click="addCodeSecValue('codeclassifyvaluesec')">娣诲姞</el-button>
+                <el-button :disabled="selectedFixedOrCodeclassifyValue==''"  size="mini" type="success" plain icon="el-icon-edit-outline" class="button"  @click="editCodeSecValue('codeclassifyvaluesec')">淇敼</el-button>
+                <el-button :disabled="selectedFixedOrCodeclassifyValue==''"  size="mini" type="danger" icon="el-icon-close" class="button" @click="delCodeSecValue('codeclassifyvaluesec')">鍒犻櫎</el-button>
+                <el-button size="mini" type="warning" plain icon="el-icon-close" class="button" @click = "clearFixedOrClassifyForm('codeclassifyvaluesec')">鍙栨秷</el-button>
+              </div>
+            </basic-container>
+          </el-col>
+        </el-row>
+        <!-- 鍥哄畾鐮佹鐮佸�肩鐞� -->
+        <el-row v-show="isShowFixedForm">
+          <el-col :span="15">
+            <basic-container>
+              <div class="box fixedbox" style="height:63vh; margin-bottom:-40px">
+                <avue-crud
+                  class="fixed-avue-crud"
+                  ref="crudFixedValue"
+                  :data="fixedValueData"
+                  :option="fixedValueOption"
+                  :table-loading="fixedValueOptionLoading"
+                  @row-click="selectedCodeValueRow">
+                  <!-- 琛ㄦ牸鍐呮寜閽厤缃� -->
+                  <template slot="menu" slot-scope="scope">
+                    <el-button size="mini" type="text" icon="el-icon-arrow-up" @click="codeFixedValueOpetion('up',scope.row)">涓婄Щ</el-button>
+                    <el-button size="mini" type="text" icon="el-icon-arrow-down" @click="codeFixedValueOpetion('down',scope.row)">涓嬬Щ</el-button>
+                    <el-button size="mini" type="text" icon="el-icon-minus" @click="codeFixedValueOpetion('remove',scope.row)">绉婚櫎</el-button>
+                  </template>
+                </avue-crud>
+              </div>
+              <div style="margin-top:10px;">
+                <el-button size="mini" type="primary" icon="el-icon-success" class="button" @click="saveCodeFixedOrClassifyValueOption('fixedValue')">淇濆瓨</el-button>
+              </div>
+            </basic-container>
+          </el-col>
+          <el-col :span="9">
+            <basic-container>
+              <div class="box" style="height: 63vh; margin-bottom:-40px; overflow:hidden;" >
+                <div style="overflow-y:auto;height: 58vh;">
+                  <el-form>
+                    <el-form-item label="鐮佸��:" label-width="54px" required>
+                      <el-input style="width: 19.5vw" v-model="codeFixdForm.id"></el-input>
+                    </el-form-item >
+                    <el-form-item label="鎻忚堪:" label-width="54px">
+                      <el-input type="textarea" style="width: 19.5vw;" v-model="codeFixdForm.description"></el-input>
+                    </el-form-item>
+                  </el-form>
+                </div>
+              </div>
+              <div style="margin-top:10px; 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 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>
+            </basic-container>
+          </el-col>
+        </el-row>
+      </el-dialog>
 
-    <!-- 鍩虹鐮佹鏂板鐩稿叧瀵硅瘽妗� -->
-    <el-dialog :title="basicSecDialogTitle"
-      :visible.sync="addBasicCodeSettingBox"
-      width="60vw"
-      append-to-body
-      style="height: 115vh; margin-top: -13vh; overflow: hidden"
-      destroy-on-close
-      @close="clearBasicAddForm">
+      <!-- 鍩虹鐮佹鏂板鐩稿叧瀵硅瘽妗� -->
+      <el-dialog :title="basicSecDialogTitle"
+        :visible.sync="addBasicCodeSettingBox"
+        width="900px"
+        append-to-body
+        class="avue-dialog avue-dialog--top"
+        style="height: 100vh;" top="-3%"
+        destroy-on-close
+        lock-scroll
+        :close-on-click-modal="false"
+        @close="clearBasicAddForm">
 
-      <!--  绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� -->
-      <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>
-            </el-form-item>
+        <!--  绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� -->
+        <div class="add-basicsec-total" style="overflow-y: auto; height: 58vh">
+          <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>
+              </el-form-item>
 
-            <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 enumParam.secTypeList"
-                  :key="item.itemValue"
-                  :label="item.itemName"
-                  :value="item.itemValue">
-                </el-option>
-              </el-select>
-            </el-form-item>
+              <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">
-              <el-input type="textarea" v-model="form.description" :readonly="basicSecOnlyRead"></el-input>
-            </el-form-item>
-
-            <el-form-item label="鏄惁娴佹按渚濊禆:" :label-width="leftFormLabelWidth">
-              <el-switch v-model="form.serialDependFlag" :disabled="basicSecOnlyRead"></el-switch>
-              <el-input-number v-show="form.serialDependFlag" v-model="form.serialDependOrder" controls-position="right" :readonly="basicSecOnlyRead"></el-input-number>
-            </el-form-item>
-
-            <el-form-item label="鏄惁涓虹┖:" :label-width="leftFormLabelWidth">
-              <el-switch v-model="form.nullableFlag"  :disabled="basicSecOnlyRead"></el-switch>
-            </el-form-item>
-          </span>
-          <el-divider direction="vertical"></el-divider>
-          <span class="right">
-            <!-- 鍥哄畾鐮佹 -->
-            <div v-show="form.secType==='codefixedsec' ? true:false">
-              <el-form-item label="鐮佹闀垮害绫诲瀷:" :label-width="rightFormLabelWidth" required>
-                <el-select v-model="form.codeSecLengthType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+              <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 enumParam.codeSecLengthType"
-                  :key="item.itemValue"
-                  :label="item.itemName"
-                  :value="item.itemValue">
-                </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
-                <el-input v-model.number="form.codeSecLength" ref="codeSecLength" :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-            </div>
-            <!-- 灞炴�х爜娈� -->
-            <div v-show="form.secType==='codeattrsec' ? true:false">
-              <el-form-item label="灞炴��:" :label-width="rightFormLabelWidth" required>
-                <el-input
-                  placeholder="璇烽�夋嫨"
-                  prefix-icon="el-icon-search"
-                  readonly="true"
-                  ref="referAttributeId"
-                  v-model="form.referAttributeName"
-                  @focus="openAttrSelectOrGetValue('attr')"
-                  :disabled="basicSecOnlyRead">
-                  <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('attr')" style="cursor: pointer;"></i>
-                </el-input>
-              </el-form-item>
-              <el-form-item label="灞炴�ф墍鍦ㄥ垎绫�:" :label-width="rightFormLabelWidth">
-                <el-input 
-                  v-model="form.referCodeClassifyOidName"
-                  disabled>
-              </el-input>
-              </el-form-item>
-              <el-form-item label="鍙栧�艰鍒�:" :label-width="rightFormLabelWidth">
-                <el-input
-                  placeholder="璇烽�夋嫨"
-                  prefix-icon="el-icon-search"
-                  readonly="true"
-                  v-model="form.getValueClass"
-                  :disabled="basicSecOnlyRead"
-                  @focus="openAttrSelectOrGetValue('value')">
-                  <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('value')" style="margin-right: 5px;cursor: pointer;"></i>
-                </el-input>
-              </el-form-item>
-            </div>
-            <!-- 娴佹按鐮佹 -->
-            <div v-show="form.secType==='codeserialsec' ? true:false">
-              <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
-                <el-input v-model.number="form.codeSecLength" ref="seriaCodeSecLength" :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-              <el-form-item label="娴佹按鍙风殑璧峰鍊�:" :label-width="rightFormLabelWidth">
-                <el-input v-model.number="form.serialStart" ref="serialStart"  :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-              <el-form-item label="娴佹按鐨勬闀�:" :label-width="rightFormLabelWidth">
-                <el-input v-model.number="form.serialStep" ref="serialStep"  :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-              <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 enumParam.codeFillType"
+                    v-for="item in enumParam.secTypeList"
                     :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-option
-                    v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue">
-                  </el-option>
-                </el-select>
+
+              <el-form-item label="鎻忚堪:" :label-width="leftFormLabelWidth">
+                <el-input type="textarea" v-model="form.description" :readonly="basicSecOnlyRead"></el-input>
               </el-form-item>
-              <el-form-item label="濉厖闀垮害:" :label-width="rightFormLabelWidth" required>
-                <el-input v-model.number="form.codeFillLength"  ref="codeFillLength" :readonly="basicSecOnlyRead"></el-input>
+
+              <el-form-item label="鏄惁娴佹按渚濊禆:" :label-width="leftFormLabelWidth">
+                <el-switch v-model="form.serialDependFlag" :disabled="basicSecOnlyRead" style="margin-right: 20px"></el-switch>
+                <el-input-number v-show="form.serialDependFlag" v-model="form.serialDependOrder" controls-position="right" :readonly="basicSecOnlyRead"></el-input-number>
               </el-form-item>
-              <el-form-item label="娴佹按涓婇檺:" :label-width="rightFormLabelWidth" required>
-                <el-input v-model.number="form.codeFillLimit" ref="codeFillLimit" :readonly="basicSecOnlyRead"></el-input>
+
+              <el-form-item label="鏄惁涓虹┖:" :label-width="leftFormLabelWidth">
+                <el-switch v-model="form.nullableFlag"  :disabled="basicSecOnlyRead"></el-switch>
               </el-form-item>
-              <el-form-item label="娴佹按鏄惁琛ョ爜:" :label-width="rightFormLabelWidth" required>
-                <el-switch v-model="form.codeFillFlag" :disabled="basicSecOnlyRead"></el-switch>
-              </el-form-item>
-              <el-form-item label="鑷畾涔夌殑娴佹按绠楁硶:" :label-width="rightFormLabelWidth">
-                <el-input v-model="form.customCodeSerialClass" :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-            </div>
-            <!-- 灞傜骇鐮佹 -->
-            <div v-show="form.secType==='codelevelsec' ? true:false">
-              <el-form-item label="灞傜骇绫诲瀷:" :label-width="rightFormLabelWidth" required>
-                <el-select v-model="form.codeLevelType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
-                  <el-option
-                    v-for="item in enumParam.codeLevelType"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="灞傜骇鐨勫��:" :label-width="rightFormLabelWidth">
-                <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-option
-                    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 label="鍙栧�肩被鍨�:" :label-width="rightFormLabelWidth">
-                <el-select v-model="form.codeGetValueType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
-                  <el-option
-                    v-for="item in enumParam.codeGetValueType"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </div>
-            <!-- 寮曠敤鐮佹 -->
-            <div v-show="form.secType==='coderefersec' ? true:false">
-              <el-form-item label="鍙傜収寮曠敤鐨勪笟鍔$被鍨�:" label-width="152px" required>
-                <el-input
-                  ref="referBtmId" 
-                  placeholder="璇烽�夋嫨"
-                  prefix-icon="el-icon-search"
-                  readonly="true"
-                  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>
-                </el-input>
-              </el-form-item>
-              <el-form-item label="鍙傜収閰嶇疆:" label-width="152px" required>
-                <el-input
-                  ref="referConfig" 
-                  placeholder="璇烽�夋嫨"
-                  prefix-icon="el-icon-search"
-                  readonly="true"
-                  v-model="form.referConfig"
-                  @focus="openAttrSelectOrGetValue('referConfig')"
-                  :disabled="basicSecOnlyRead">
-                  <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('referConfig')" style="margin-right: 5px;cursor: pointer;"></i>
-                </el-input>
-              </el-form-item>
-            </div>
-            <!-- 鏃ユ湡鐮佹 -->
-            <div v-show="form.secType==='codedatesec' ? true:false">
-              <el-form-item label="鏃ユ湡鏍煎紡:" :label-width="rightFormLabelWidth" required>
-                <el-input ref="codeDateFormatStr" v-model="form.codeDateFormatStr" :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-            </div>
-            <!-- 鍒嗙被鐮佹 -->
-            <div v-show="form.secType==='codeclassifysec' ? true:false">
-              <el-form-item label="鐮佹闀垮害绫诲瀷:" :label-width="rightFormLabelWidth" required>
-                <el-select v-model="form.codeSecLengthType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
-                  <el-option
+            </span>
+            <el-divider direction="vertical"></el-divider>
+            <span class="right">
+              <!-- 鍥哄畾鐮佹 -->
+              <div v-show="form.secType==='codefixedsec' ? true:false">
+                <el-form-item label="鐮佹闀垮害绫诲瀷:" :label-width="rightFormLabelWidth" required>
+                  <el-select v-model="form.codeSecLengthType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                    <el-option
                     v-for="item in enumParam.codeSecLengthType"
                     :key="item.itemValue"
                     :label="item.itemName"
                     :value="item.itemValue">
                   </el-option>
-                </el-select>
-              </el-form-item>
-              <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
-                <el-input v-model.number="form.codeSecLength" ref="classCodeSecLength" :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-              <el-form-item label="鏄惁鑷姩鍒嗛厤鍒嗙被鍊�:" :label-width="rightFormLabelWidth">
-                <el-switch v-model="form.matchClassifyValueFlag" :disabled="basicSecOnlyRead"></el-switch>
-              </el-form-item>
-              <el-form-item label="鐖跺垎绫荤爜娈�:" :label-width="rightFormLabelWidth">
-                <el-input
-                  placeholder="璇烽�夋嫨"
-                  prefix-icon="el-icon-search"
-                  readonly="true"
-                  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>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
+                  <el-input v-model.number="form.codeSecLength" ref="codeSecLength" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+              </div>
+              <!-- 灞炴�х爜娈� -->
+              <div v-show="form.secType==='codeattrsec' ? true:false">
+                <el-form-item label="灞炴��:" :label-width="rightFormLabelWidth" required>
+                  <el-input
+                    placeholder="璇烽�夋嫨"
+                    prefix-icon="el-icon-search"
+                    readonly="true"
+                    ref="referAttributeId"
+                    v-model="form.referAttributeName"
+                    @focus="openAttrSelectOrGetValue('attr')"
+                    :disabled="basicSecOnlyRead">
+                    <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('attr')" style="cursor: pointer;"></i>
+                  </el-input>
+                </el-form-item>
+                <el-form-item label="灞炴�ф墍鍦ㄥ垎绫�:" :label-width="rightFormLabelWidth">
+                  <el-input
+                    v-model="form.referCodeClassifyOidName"
+                    disabled>
                 </el-input>
-              </el-form-item>
-            </div>
-            <!-- 鍙彉鐮佹 -->
-            <div v-show="form.secType==='codevariablesec' ? true:false">
-              <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
-                <el-input v-model.number="form.codeSecLength" ref="varCodeSecLength" :readonly="basicSecOnlyRead"></el-input>
-              </el-form-item>
-              <el-form-item label="缂栫爜琛ヤ綅鏂瑰紡:" :label-width="rightFormLabelWidth" required>
-                <el-select v-model="form.codeFillType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
-                  <el-option
+                </el-form-item>
+                <el-form-item label="鍙栧�艰鍒�:" :label-width="rightFormLabelWidth">
+                  <el-input
+                    placeholder="璇烽�夋嫨"
+                    prefix-icon="el-icon-search"
+                    readonly="true"
+                    v-model="form.getValueClass"
+                    :disabled="basicSecOnlyRead"
+                    @focus="openAttrSelectOrGetValue('value')">
+                    <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('value')" style="margin-right: 5px;cursor: pointer;"></i>
+                  </el-input>
+                </el-form-item>
+              </div>
+              <!-- 娴佹按鐮佹 -->
+              <div v-show="form.secType==='codeserialsec' ? true:false">
+                <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
+                  <el-input v-model.number="form.codeSecLength" ref="seriaCodeSecLength" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <el-form-item label="娴佹按鍙风殑璧峰鍊�:" :label-width="rightFormLabelWidth">
+                  <el-input v-model.number="form.serialStart" ref="serialStart"  :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <el-form-item label="娴佹按鐨勬闀�:" :label-width="rightFormLabelWidth">
+                  <el-input v-model.number="form.serialStep" ref="serialStep"  :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <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 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-option
-                    v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue">
-                  </el-option>
-                </el-select>
-              </el-form-item>
-            </div>
-          </span>
-        </el-form>
-      </div>
-      <!-- 绗竴灞傚璇濇鐨勬寜閽拰锛岀嚎鏉� -->
-      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
-      <div slot="footer" class="dialog-footer">
-        <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"
-        width="78%"
-        style="height: 100%; margin-top: -8vh; overflow: hidden">
-        <div style="overflow-y: auto; height: 60vh">
-          <el-row>
-            <!-- 宸︿晶涓婚搴撳垎绫绘爲 -->
-            <el-col :span="5">
-              <div class="box">
-                <el-scrollbar style="height: auto; border-bottom-right-radius:8px ">
-                  <basic-container>
-                    <div class="treeBox">
-                      <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/>
-                    </div>
-                  </basic-container>
-                </el-scrollbar>
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item v-if="form.codeFillType!='code_fill_none'" label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
+                  <el-select v-model="form.codeFillSeparator" @blur="inputSelectBlur" filterable placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                    <el-option
+                      v-for="item in enumParam.codeFillSeparator"
+                      :key="item.itemValue"
+                      :label="item.itemName"
+                      :value="item.itemValue">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="濉厖闀垮害:" :label-width="rightFormLabelWidth" required>
+                  <el-input v-model.number="form.codeFillLength"  ref="codeFillLength" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <el-form-item label="娴佹按涓婇檺:" :label-width="rightFormLabelWidth" required>
+                  <el-input v-model.number="form.codeFillLimit" ref="codeFillLimit" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <el-form-item label="娴佹按鏄惁琛ョ爜:" :label-width="rightFormLabelWidth" required>
+                  <el-switch v-model="form.codeFillFlag" :disabled="basicSecOnlyRead"></el-switch>
+                </el-form-item>
+                <el-form-item label="鑷畾涔夌殑娴佹按绠楁硶:" :label-width="rightFormLabelWidth">
+                  <el-input v-model="form.customCodeSerialClass" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
               </div>
-            </el-col>
-            <!-- 鍙充晶琛ㄦ牸鏄剧ず鍖哄煙 -->
-            <el-col span="19">
-              <basic-container>
-                <div class="bbox">
-                <avue-crud
-                  :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 v-show="form.secType==='codelevelsec' ? true:false">
+                <el-form-item label="灞傜骇绫诲瀷:" :label-width="rightFormLabelWidth" required>
+                  <el-select v-model="form.codeLevelType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                    <el-option
+                      v-for="item in enumParam.codeLevelType"
+                      :key="item.itemValue"
+                      :label="item.itemName"
+                      :value="item.itemValue">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="灞傜骇鐨勫��:" :label-width="rightFormLabelWidth">
+                  <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" @change="changeCutType($event)">
+                    <el-option
+                      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-if="form.valueCutType!='code_cut_none'" 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 enumParam.codeGetValueType"
+                      :key="item.itemValue"
+                      :label="item.itemName"
+                      :value="item.itemValue">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </div>
+              <!-- 寮曠敤鐮佹 -->
+              <div v-show="form.secType==='coderefersec' ? true:false">
+                <el-form-item label="鍙傜収寮曠敤鐨勪笟鍔$被鍨�:" label-width="152px" required>
+                  <el-input
+                    ref="referBtmId"
+                    placeholder="璇烽�夋嫨"
+                    prefix-icon="el-icon-search"
+                    readonly="true"
+                    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>
+                  </el-input>
+                </el-form-item>
+                <el-form-item label="鍙傜収閰嶇疆:" label-width="152px" required>
+                  <el-input
+                    ref="referConfig"
+                    placeholder="璇烽�夋嫨"
+                    prefix-icon="el-icon-search"
+                    readonly="true"
+                    v-model="form.referConfig"
+                    @focus="openAttrSelectOrGetValue('referConfig')"
+                    :disabled="basicSecOnlyRead">
+                    <i slot="suffix" class="el-icon-circle-close" @click="clearAttrDataByIcon('referConfig')" style="margin-right: 5px;cursor: pointer;"></i>
+                  </el-input>
+                </el-form-item>
+              </div>
+              <!-- 鏃ユ湡鐮佹 -->
+              <div v-show="form.secType==='codedatesec' ? true:false">
+                <el-form-item label="鏃ユ湡鏍煎紡:" :label-width="rightFormLabelWidth" required>
+                  <el-input ref="codeDateFormatStr" v-model="form.codeDateFormatStr" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+              </div>
+              <!-- 鍒嗙被鐮佹 -->
+              <div v-show="form.secType==='codeclassifysec' ? true:false">
+                <el-form-item label="鐮佹闀垮害绫诲瀷:" :label-width="rightFormLabelWidth" required>
+                  <el-select v-model="form.codeSecLengthType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                    <el-option
+                      v-for="item in enumParam.codeSecLengthType"
+                      :key="item.itemValue"
+                      :label="item.itemName"
+                      :value="item.itemValue">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+                <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
+                  <el-input v-model.number="form.codeSecLength" ref="classCodeSecLength" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <el-form-item label="鏄惁鑷姩鍒嗛厤鍒嗙被鍊�:" :label-width="rightFormLabelWidth">
+                  <el-switch v-model="form.matchClassifyValueFlag" :disabled="basicSecOnlyRead"></el-switch>
+                </el-form-item>
+                <el-form-item label="鐖跺垎绫荤爜娈�:" :label-width="rightFormLabelWidth">
+                  <el-input
+                    placeholder="璇烽�夋嫨"
+                    prefix-icon="el-icon-search"
+                    readonly="true"
+                    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>
+                  </el-input>
+                </el-form-item>
+              </div>
+              <!-- 鍙彉鐮佹 -->
+              <div v-show="form.secType==='codevariablesec' ? true:false">
+                <el-form-item label="鐮佹鐨勯暱搴�:" :label-width="rightFormLabelWidth" required>
+                  <el-input v-model.number="form.codeSecLength" ref="varCodeSecLength" :readonly="basicSecOnlyRead"></el-input>
+                </el-form-item>
+                <el-form-item label="缂栫爜琛ヤ綅鏂瑰紡:" :label-width="rightFormLabelWidth" required>
+                  <el-select v-model="form.codeFillType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                    <el-option
+                        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 v-if="form.codeFillType!='code_fill_none'" label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
+                  <el-select v-model="form.codeFillSeparator" filterable @blur="inputSelectBlur" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+                    <el-option
+                      v-for="item in enumParam.codeFillSeparator"
+                      :key="item.itemValue"
+                      :label="item.itemName"
+                      :value="item.itemValue">
+                    </el-option>
+                  </el-select>
+                </el-form-item>
+              </div>
+            </span>
+          </el-form>
+        </div>
+        <!-- 绗竴灞傚璇濇鐨勬寜閽拰鍒嗛殧绾挎潯 -->
+        <el-divider class="horizontal-line" direction="horizontal"></el-divider>
+        <div slot="footer" class="dialog-footer">
+          <el-button type="primary" @click="saveOrEditBasicCode" :disabled="!showbtn">淇� 瀛�</el-button>
+          <el-button @click="addBasicCodeSettingBox = false">鍙� 娑�</el-button>
+        </div>
+
+        <!--  绗簩灞傚璇濇,灞炴�х爜娈碉紝灞炴�ч�夋嫨瀵硅瘽妗� -->
+        <el-dialog title="涓恒�愬睘鎬с�戦�夊彇鍊�"
+          append-to-body
+          :visible.sync="isShowSelectAttrOption"
+          width="78%"
+          class="avue-dialog avue-dialog--top" top="-3%"
+          style="height: 100%;">
+          <div style="overflow-y: auto; height: 60vh">
+            <el-row>
+              <!-- 宸︿晶涓婚搴撳垎绫绘爲 -->
+              <el-col :span="5">
+                <div class="box">
+                  <el-scrollbar style="height: auto; border-bottom-right-radius:8px ">
+                    <basic-container>
+                      <div class="treeBox">
+                        <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/>
+                      </div>
+                    </basic-container>
+                  </el-scrollbar>
                 </div>
-              </basic-container>
-            </el-col>
-          </el-row>
-        </div>
-        <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button>
-          <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button>
-        </div>
+              </el-col>
+              <!-- 鍙充晶琛ㄦ牸鏄剧ず鍖哄煙 -->
+              <el-col span="19">
+                <basic-container>
+                  <div class="bbox">
+                  <avue-crud
+                    :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 type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button>
+            <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button>
+          </div>
+        </el-dialog>
+
+        <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗璇濇缁勪欢 -->
+        <formula-editor
+          ref="formulaEditor"
+          @updateFormulaContent="updateFormulaContent"
+          :visible.sync="formulaEditorParams.formulaEditorSettingBox"
+          :thisSceneTableData="formulaEditorParams.thisSceneTableData"
+          :systemVariableTableData="formulaEditorParams.systemVariableTableData">
+        </formula-editor>
+
+        <!-- 绗簩灞傚璇濇,涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊煎璇濇 -->
+        <el-dialog title="涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊�"
+          append-to-body
+          :visible.sync="parentClsfyParams.isShowParentClassifySettingBox"
+          width="65%"
+          style="height: 150vh; margin-top: -13vh;"
+          destroy-on-close>
+          <avue-crud
+            :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 type="primary" @click="saveSelectedParentClassify">淇� 瀛�</el-button>
+            <el-button @click="parentClsfyParams.isShowParentClassifySettingBox = false">鍙� 娑�</el-button>
+          </div>
+        </el-dialog>
+
+        <!-- 绗簩灞傚璇濇,涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇 -->
+        <refer-btm-type-crud-dialog
+          :visible.sync="referBtmDialogParams.selectReferBtmSettingBox"
+          :ref="referBtmDialogParams.ref"
+          @echoReferBtmType="echoReferBtmType">
+        </refer-btm-type-crud-dialog>
+
+        <!-- 绗簩灞傚璇濇,鍙傜収閰嶇疆缁勪欢 -->
+        <refer-config-dialog
+          :display="referConfigVisble"
+          @setReferConfigValue="setReferConfigValue"
+          :referConfigOption="referConfigOption">
+        </refer-config-dialog>
+
       </el-dialog>
-
-      <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗璇濇缁勪欢 -->
-      <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="parentClsfyParams.isShowParentClassifySettingBox"
-        width="65%"
-        style="height: 150vh; margin-top: -13vh;"
-        destroy-on-close>
-        <avue-crud
-          :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 type="primary" @click="saveSelectedParentClassify">淇� 瀛�</el-button>
-          <el-button @click="parentClsfyParams.isShowParentClassifySettingBox = false">鍙� 娑�</el-button>
-        </div>
-      </el-dialog>
-
-      <!-- 绗簩灞傚璇濇,涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊煎璇濇 -->
-      <refer-btm-type-crud-dialog
-        :visible.sync="referBtmDialogParams.selectReferBtmSettingBox"
-        :ref="referBtmDialogParams.ref"
-        @echoReferBtmType="echoReferBtmType">
-      </refer-btm-type-crud-dialog>
-
-      <!-- 绗簩灞傚璇濇,鑷畾涔夊弬鐓ч厤缃瓼orm缁勪欢 -->
-      <refer-config-form-dialog
-        ref="referConfigFormDialog"
-        @echoReferConfig="echoReferConfig">
-      </refer-config-form-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, 
-    cloneCodeBasic,
-    addSave,
-    refDataGridClassifySec,
-  } from "@/api/code/codebasic";
+  import { gridCodeRule, getDetail, add, update, remove, listUseRange, updateStatus,clone,clearAllCode,checkLikeCodeRule } from "@/api/code/mdmrule";
+  import { gridCodeBasicSec, downOrderNum, upOrderNum, deleteData, editSave, cloneCodeBasic, addSave, refDataGridClassifySec } from "@/api/code/codebasic";
   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";
@@ -801,8 +851,8 @@
   import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog";
   import fixedValueOption from "@/const/code/fixedValueMgrDialog";
   import {mapGetters} from "vuex";
+  import {getByRoleUserList} from "@/api/system/user";
   import func from "@/util/func";
-  import {MasterTable} from "@/api/GetItem";
 
   export default {
       data() {
@@ -836,6 +886,17 @@
           cloneBasicOption: cloneBasicOption,
           cloneCodeRuleOption: cloneCodeRuleOption,
           selectionOtherCloneCodeBasicList: [], // 褰撳墠閫変腑鐨勫熀纭�鐮佹
+          /** 杞Щ鎵�鏈夎�呭璇濇 */
+          escapeOwnerVisible: false,
+          ruleAdminUserList: [], //瑙勫垯绠$悊鍛樺垪琛�
+          ruleOwner: '', // 褰撳墠瑕佽浆绉荤粰鍝釜瑙勫垯绠$悊鍛樼殑ID
+          releadDisabled: false, // 閬垮厤瑙勫垯鍙戝竷閲嶅鎻愪氦
+
+          /*鏈�澶ф祦姘村彿*/
+          maxSerial:{
+            visible:false,
+
+          },
 
           /*浣跨敤鑼冨洿瀵硅瘽妗嗘樉绀烘帶鍒�*/
           codeRangeSettingBox: false,
@@ -844,13 +905,15 @@
           /*浣跨敤鑼冨洿瀵硅瘽妗嗛厤缃�*/
           dialogeOption: {
             height: 'auto',
-            calcHeight: 30,
+            calcHeight: 150,
             tip: false,
             searchShow: false,
             searchMenuSpan: 6,
             border: true,
             index: true,
             disablePage:false,
+            refreshBtn:false,
+            columnBtn:false,
             viewBtn: false,
             addBtn: false,
             menu: false,
@@ -875,7 +938,7 @@
           /*鍩虹鐮佹鐩稿叧鏁版嵁*/
           optionBasic: optionBasic,
           basicData:[],
-          loadingBasic: true,
+          loadingBasic: false,
           selectionBasicList: [],
           addBasicCodeSettingBox: false,
           showbtn: false, //鍩虹鐮佹鏂板鏄惁鏄剧ず鍩虹鐮佹
@@ -885,14 +948,14 @@
 
           /** 鐮佸�肩鐞嗙浉鍏虫暟鎹� */
           isShowBasicSecCodeValueMgr: false, //鐮佹鐮佸�肩鐞嗗璇濇
-          codefixedsecOrCodeclassifysecOid: '', //瀛樻斁鍩虹鐮佹鐐瑰嚮鐮佸�肩鐞嗘椂鐨勫綋鍓嶈id锛岀敤浜庝繚瀛樼爜鍊兼椂浣跨敤
+          codefixedsecOrCodeclassifysec: '', //瀛樻斁鍩虹鐮佹鐐瑰嚮鐮佸�肩鐞嗘椂鐨勫綋鍓嶈id锛岀敤浜庝繚瀛樼爜鍊兼椂浣跨敤
           selectedFixedOrCodeclassifyValue: '', //褰撳墠閫変腑鐨勭爜鍊兼暟鎹�
           //鍥哄畾鐮佹鐮佸�艰〃鍗�
           codeFixdForm: {
             codeFixedSecOid: "",
             description: "",
             id: "",
-          }, 
+          },
           isShowFixedForm: true, //true鏄剧ず鍥哄畾鐮佹鐮佸�肩鐞嗙晫闈紝false鏄剧ず鍒嗙被鐮佹鐮佸�肩鐞嗙晫闈�
           fixedValueData: [], //鍥哄畾鐮佹鐮佸�艰〃鏍兼暟鎹�
           fixedValueOption: fixedValueOption, //琛ㄦ牸閰嶇疆
@@ -908,7 +971,6 @@
           },
           classisyValueTreeOption: classisyValueTreeOption, //鍒嗙被鐮佹鏍戠浉鍏抽厤缃」
           classifyValueTreeData: [],
-          //currentSelectClsValueTreeData: '', //褰撳墠閫変腑鐨勫垎绫荤爜鍊兼爲鑺傜偣
 
           /* 涓哄睘鎬ч�夊彇鍊肩獥鍙f樉绀烘墦寮�鎺у埗鍙橀噺 */
           isShowSelectAttrOption: false,
@@ -917,7 +979,7 @@
           treeOption: treeOption,
           currentSelectTreeData: '', //褰撳墠閫変腑鐨勬爲鑺傜偣
           /* 涓哄睘鎬ч�夊�煎彸渚ц〃鏍肩浉鍏虫暟鎹� */
-          
+
           selectAttrParams: {
             ref: "selectionAttrCrud",
             attrOption: attrOption,
@@ -995,7 +1057,7 @@
             ],
             formulaEditorSettingBox: false,
           },
-          
+
           /* 鐖跺垎绫荤爜娈靛璇濇 */
           parentClsfyParams: {
             ref: 'crudParentClassify',
@@ -1012,7 +1074,7 @@
             parentClassifyQuery: {}, //鏌ヨ鏉′欢
             parentClassifySelectionList: [], //褰撳墠閫変腑琛�
           },
-          
+
           /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鏁版嵁 */
           referBtmDialogParams: {
             ref: 'crudReferBtm',
@@ -1032,7 +1094,7 @@
             componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
             pkCodeRule: '', //鎵�灞炵紪鐮佽鍒�
           },
-          
+
           //鏋氫妇鍜屽彲杈撳彲閫夋煡璇�
           enumParam: {
             secTypeList:[],    //鐮佹绫诲瀷
@@ -1052,9 +1114,14 @@
           advancedQueryParam: {
             ref: 'advancedQuery',
             advancedQuerySettingBox: false,
-            options: {},
+            options: [],
+            currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸
             //conditionMapParams: {},
           },
+
+          //寮曠敤鐮佹涓弬鐓ч厤缃粍浠剁浉鍏冲弬鏁�
+          referConfigOption: {},
+          referConfigVisble: false,
 
         };
       },
@@ -1069,71 +1136,87 @@
           };
         },
       },
-      created() {
-          MasterTable({
-            codeClassifyOid: "D9CF223F-317D-71EB-BD11-433A94CAD9F3",
-            functionId: 5,
-          }).then(res=>{
-            console.log(res.data.tableDefineVO.seniorQueryColumns);
-            this.advancedQueryParam.options = res.data.tableDefineVO.seniorQueryColumns;
-          }) 
-          // this.advancedQueryParam.options = [
-          //   {
-          //     data: [],
-          //     title: '缂栧彿',
-          //     fieldType: 'text',
-          //     queryField: 'id',
-          //   },{
-          //     data: [],
-          //     title: '鍚嶇О',
-          //     fieldType: 'text',
-          //     queryField: 'name',
-          //   },{
-          //     data: [],
-          //     title: '鎻忚堪',
-          //     fieldType: 'text',
-          //     queryField: 'description',
-          //   }, {
-          //     data: [],
-          //     title: '鐘舵��',
-          //     fieldType: 'text',
-          //     queryField: 'description',
-          //   }
-          // ]
-      },
       watch:{
 
       },
+      mounted(){
+        this.loadTotalEnum();
+      },
+      // 瑙e喅琛ㄦ牸閿欒闂
+      activated () {
+        this.$nextTick(() => {
+          this.$refs.crud.doLayout();
+          this.$refs.crudBasic.doLayout();
+        })
+      },
       methods: {
 
-        /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀鍜屼箣鍓嶄竴鏍� */
-        echoSeniorContionMap(conditionMaps){
-          console.log(conditionMaps);
-          
+        /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */
+        escapeOwner(){
+          if (this.selectionList.length === 0) {
+            this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
+            return;
+          }
+          this.escapeOwnerVisible = true;
+          getByRoleUserList("瑙勫垯绠$悊鍛�").then(res=>{
+            this.ruleAdminUserList = res.data.data;
+          });
+        },
+        /** 纭杞Щ鎵�鏈夎�� */
+        escapeOwnerConfirm(){
+          if(!this.ruleOwner){
+            this.$message.warning("璇烽�夋嫨鎮ㄨ杞Щ鐨勮鍒欑鐞嗗憳锛�");
+            return;
+          }
+          this.selectionList[0].owner = this.ruleOwner;
+          let data = this.selectionList[0];
+          update(data).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "瑙勫垯杞Щ鎴愬姛!"
+            });
+            this.escapeOwnerVisible = false;
+          }, error => {
+            console.log(error);
+          });
         },
 
+        /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸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;
         },
         /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
-        echoReferConfig(content){
+        setReferConfigValue(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 || '';
         },
         /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
         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);
           if(this.parentClsfyParams.parentClassifySelectionList.length != 1){
@@ -1184,8 +1267,15 @@
           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;
+          conditionMaps['conditionMap[oid_notequal]'] = this.form.oid;
+          refDataGridClassifySec(
+            page.currentPage,
+            page.pageSize,
+            conditionMaps
+          ).then(res => {
             //console.log(res.data);
             const data = res.data.data;
             parentClsParam.parentClassifyDataPage.total = data.total;
@@ -1194,80 +1284,83 @@
             this.parentClassifySelectionClear();
           });
         },
-        
 
-        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
-        // 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid
+
+        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
+        /** 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid */
         nodeClick(data) {
           this.currentSelectTreeData = data;
           this.loadlistClassifyLinkAttr()
         },
-        // 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹�
+        /** 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹� */
         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 = {};
           })
         },
-        // 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢
+        /** 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢 */
         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.selectAttrParams.selectionChangeAttrList = list;
           this.$refs[this.selectAttrParams.ref].setCurrentRow(this.selectAttrParams.selectionChangeAttrList[list.length-1]);
         },
-        // 閲嶇疆浣嶅睘鎬ч�夊彇鍊艰〃鏍肩殑鎼滅储妗嗕箣鍚庣殑鍥炶皟
+        /** 閲嶇疆浣嶅睘鎬ч�夊彇鍊艰〃鏍肩殑鎼滅储妗嗕箣鍚庣殑鍥炶皟 */
         searchAttrReset() {
           this.selectAttrParams.selectAttrQeury = {};
           this.loadlistClassifyLinkAttr()
         },
-        // 涓哄睘鎬ч�夊彇鍊间箣鍚庣殑鍥炴樉
+        /** 涓哄睘鎬ч�夊彇鍊间箣鍚庣殑鍥炴樉 */
         selectedListClassifyLinkAttr(){
           if(this.selectAttrParams.selectionChangeAttrList.length != 1){
             this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
             return false;
           }
+          const attr = this.selectAttrParams.selectionChangeAttrList[0];
           //璋冪敤瀛愮粍浠跺苟浼犻�掑綋鍓嶉�変腑鐨勫弬鏁板�硷紝瀹炵幇鍥炴樉
           this.form = Object.assign({}, this.form, {
-            referAttributeId:this.selectAttrParams.selectionChangeAttrList[0].id,
-            referAttributeName:this.selectAttrParams.selectionChangeAttrList[0].name,
-            referCodeClassifyOid: this.currentSelectTreeData.key,
-            referCodeClassifyOidName: this.currentSelectTreeData.title,
+            referAttributeId: attr.id || '',
+            referAttributeName: attr.name || attr.id,
+            referCodeClassifyOid: this.currentSelectTreeData.key || '',
+            referCodeClassifyOidName: this.currentSelectTreeData.title || '',
           })
           this.isShowSelectAttrOption = false;
         },
-        
+
 
         /** 鍩虹鐮佹琛ㄤ腑鐨勭爜鍊肩鐞嗙殑鐩稿叧鏂规硶 */
-        // 鐮佸�肩鐞嗗脊绐楁帶鍒�
+        /** 鐮佸�肩鐞嗗脊绐楁帶鍒�*/
         openBasicSecCodeValueMgr(row){
           //褰撳墠涓哄浐瀹氱爜娈电爜鍊肩鐞嗙爜鍊肩鐞�
           if(row.secType === "codefixedsec"){
@@ -1278,10 +1371,10 @@
             this.isShowFixedForm = false;
             this.loadClassifyValueData(row);
           }
-          this.codefixedsecOrCodeclassifysecOid = row.oid;
+          this.codefixedsecOrCodeclassifysec = row;
           this.isShowBasicSecCodeValueMgr = true;
         },
-        //鍔犺浇鍥哄畾鐮佹鐮佸�艰〃鏁版嵁
+        /** 鍔犺浇鍥哄畾鐮佹鐮佸�艰〃鏁版嵁*/
         loadFixedValueTableData(row){
           this.fixedValueOptionLoading = true;
           gridCodeFixedValue(1, -1, {"codeFixedSecOid":row.oid}).then(res=>{
@@ -1290,7 +1383,7 @@
             this.fixedValueOptionLoading = false;
           })
         },
-        //鍗曞嚮鍥哄畾鐮佹鐨勭爜鍊艰〃涓鏃惰Е鍙戠殑浜嬩欢
+        /** 鍗曞嚮鍥哄畾鐮佹鐨勭爜鍊艰〃涓鏃惰Е鍙戠殑浜嬩欢*/
         selectedCodeValueRow(row){
           //console.log(row);
           this.selectedFixedOrCodeclassifyValue = row;
@@ -1298,20 +1391,15 @@
           this.codeFixdForm.description = row.description;
           this.codeFixdForm.codeFixedSecOid = row.codefixedsecoid;
         },
-        //鏂板鐮佸��
+        /** 鏂板鐮佸��*/
         addCodeSecValue(condition){
           if(condition === "codefixedsec"){
-            if(this.codeFixdForm.id.trim() == ''){
-              this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
+            if(!this.tipsCodeSecValueMessage(this.codeFixdForm.id)){
               return;
             }
-            if(this.codeFixdForm.id.trim().length >= 12 ){
-              this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�12锛�");
-              return;
-            }
-            this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysecOid;
+            this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysec.oid;
             addSaveCodeFixedValue(this.codeFixdForm).then(() => {
-              this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid});
+              this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysec.oid});
               this.clearFixedOrClassifyForm('codefixedsec');
               this.$message({
                 type: "success",
@@ -1321,18 +1409,13 @@
               window.console.log(error);
             });
           }else {
-            if(this.codeClassifyForm.id.trim() == ''){
-              this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
+            if(!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)){
               return;
             }
-            if(this.codeClassifyForm.id.trim().length > 4 ){
-              this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�4锛�");
-              return;
-            }
-            this.codeClassifyForm.codeClassifySecOid = this.codefixedsecOrCodeclassifysecOid;
+            this.codeClassifyForm.codeClassifySecOid = this.codefixedsecOrCodeclassifysec.oid;
             // console.log(this.codeClassifyForm);
             addSaveCodeClassifyValue(this.codeClassifyForm).then(() => {
-              this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
+              this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysec.oid});
               this.clearFixedOrClassifyForm('codeclassifyvaluesec');
               this.$message({
                 type: "success",
@@ -1346,7 +1429,7 @@
             });
           }
         },
-        //娓呯┖鐮佸�艰〃鍗�
+        /** 娓呯┖鐮佸�艰〃鍗� */
         clearFixedOrClassifyForm(condition){
           //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽�
           this.selectedFixedOrCodeclassifyValue = '';
@@ -1362,19 +1445,34 @@
             this.codeClassifyForm = this.$options.data().codeClassifyForm;
           }
         },
-        //淇敼鐮佸��
+        /** 娣诲姞鎴栦慨鏀圭爜鍊间箣鍓嶅鐮佸�奸暱搴︽牴鎹鍒欒繘琛屾牎楠� */
+        tipsCodeSecValueMessage(id){
+          if(id.trim() == ''){
+            this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
+            return false;
+          }
+          if(id.trim().length > this.codefixedsecOrCodeclassifysec.codeSecLength ){
+            this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�" + this.codefixedsecOrCodeclassifysec.codeSecLength);
+            return false;
+          }
+          return true;
+        },
+        /** 淇敼鐮佸�� */
         editCodeSecValue(condition){
           if(condition=='codefixedsec'){
-            //浠ュ墠鏄洿鎺ユ妸褰撳墠閫変腑琛岀殑鎵�鏈夋暟鎹兘杩涜鎻愪氦锛屼絾鍏跺疄鍙渶瑕佷紶杈撲竴浜涙瘮瑕佸弬鏁板嵆鍙紝杩欏効鍋氫簡淇敼锛岄渶瑕佺┛鍏朵粬鍙傛暟鐨勮鑷娣诲姞
+            if(!this.tipsCodeSecValueMessage(this.codeFixdForm.id)){
+              return;
+            }
+            //浠ュ墠鏄洿鎺ユ妸褰撳墠閫変腑琛岀殑鎵�鏈夋暟鎹兘杩涜鎻愪氦锛屼絾鍏跺疄鍙渶瑕佷紶杈撲竴浜涘繀瑕佸弬鏁板嵆鍙紝杩欏効鍋氫簡淇敼锛岄渶瑕佷紶鍏朵粬鍙傛暟鐨勮鑷娣诲姞
             let editData = {
-            "oid": this.selectedFixedOrCodeclassifyValue.oid,
-            "ts": new Date().getTime(),
-            "description": this.codeFixdForm.description,
-            "id": this.codeFixdForm.id,
-            "codeFixedSecOid":  this.selectedFixedOrCodeclassifyValue.codefixedsecoid
+              "oid": this.selectedFixedOrCodeclassifyValue.oid,
+              "ts": new Date().getTime(),
+              "description": this.codeFixdForm.description,
+              "id": this.codeFixdForm.id,
+              "codeFixedSecOid":  this.selectedFixedOrCodeclassifyValue.codefixedsecoid
             }
             editCodeFixedValue(editData).then(() => {
-                this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid})
+                this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysec.oid})
                 this.$message({
                   type: "success",
                   message: "鎿嶄綔鎴愬姛!"
@@ -1383,9 +1481,17 @@
                 window.console.log(error);
             });
           }else {
+            if(!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)){
+              return;
+            }
             this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid;
+            // 鍒嗙被鐮佹锛屽瓙鍒嗙被鍜岀埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰鏇存敼
+            if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid,this.codeClassifyForm.codeClassifySecOid)){
+              return;
+            }
+            this.$delete(this.codeClassifyForm,"parentClassifyValueOid");
             editCodeClassifyValue(this.codeClassifyForm).then(() => {
-                this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid})
+                this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysec.oid})
                 this.$message({
                   type: "success",
                   message: "鎿嶄綔鎴愬姛!"
@@ -1394,10 +1500,10 @@
                 window.console.log(error);
             });
           }
-            
+
         },
-        //鍒犻櫎鐮佸��
-        delCodeSecValue(condition){ 
+        /** 鍒犻櫎鐮佸�� */
+        delCodeSecValue(condition){
           //鍥哄畾鐮佹鐮佸�煎垹闄�
           if(condition == 'codefixedsec'){
             //console.log(this.selectedFixedOrCodeclassifyValue.oid);
@@ -1412,7 +1518,7 @@
             })
             .then(() => {
               this.selectedFixedOrCodeclassifyValue = '';
-              this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid})
+              this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysec.oid})
               this.clearFixedOrClassifyForm('codefixedsec');
               this.$message({
                 type: "success",
@@ -1420,6 +1526,9 @@
               });
             });
           }else{
+            if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid,this.codeClassifyForm.codeClassifySecOid)){
+              return;
+            }
             //鍒嗙被鐮佹鐮佸�煎垹闄�
             this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
               confirmButtonText: "纭畾",
@@ -1432,17 +1541,16 @@
             })
             .then(() => {
               this.selectedFixedOrCodeclassifyValue = '';
-              this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid})
+              this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysec.oid})
               this.clearFixedOrClassifyForm('codeclassifyvalue');
               this.$message({
                 type: "success",
                 message: "鎿嶄綔鎴愬姛!"
               });
             });
-          }            
-          
+          }
         },
-        //瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
+        /** 瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�*/
         codeFixedValueOpetion(condition,row){
           //console.log(this.fixedValueData[row.$index].orderNum);
           const index = row.$index;
@@ -1478,12 +1586,15 @@
           }
           //console.log(this.fixedValueData);
         },
-        //瀵瑰垎绫荤爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
+        /** 瀵瑰垎绫荤爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�*/
         codeClassifyValueOpetion(condition){
+          if(this.checkClassUpdate(this.codefixedsecOrCodeclassifysec.oid,this.codeClassifyForm.codeClassifySecOid)){
+            return;
+          }
           //姝ゅ娑夊強鍒版繁娴呮嫹璐濋棶棰橈紝浣嗘槸鎵ц涓婁笅绉讳繚瀛樻搷浣滀箣鍚庝細閲嶆柊鍔犺浇treedata锛屾墍浠ュ奖鍝嶄笉澶�
           let currentTreeList = this.getCodeClassifyValueTreeData();
           let saveData = [];
-          console.log(currentTreeList.treeList);
+          // console.log(currentTreeList.treeList);
           if(condition == 'up'){
             if(currentTreeList.index-1>=0){
               // 璋冩暣椤哄簭
@@ -1501,12 +1612,10 @@
               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);
         },
-        //閫変腑琚皟鏁撮『搴忕殑涓や釜鏍戠殑鑺傜偣
+        /** 閫変腑琚皟鏁撮『搴忕殑涓や釜鏍戠殑鑺傜偣*/
         getCodeClassifyValueTreeData(){
           const currentNodeTreeData = this.selectedFixedOrCodeclassifyValue;
           /**鑰冭檻鍑犵鎯呭喌锛岀涓�绉嶅綋鍓嶄笂绉粅涓嬬Щ鎿嶄綔宸茬粡鏄竟鐣岋紝
@@ -1514,10 +1623,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);
           }
         },
         /**
@@ -1542,12 +1651,12 @@
             }
           }
         },
-        //涓婄Щ涓嬬Щ绛夋搷浣滅殑淇濆瓨
-        saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){
+        /** 涓婄Щ涓嬬Щ绛夋搷浣滅殑淇濆瓨*/
+        async saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){
           //淇濆瓨瀵瑰浐瀹氱爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
           if(condition == "fixedValue"){
             let data = {
-            "codeFixedSecOid": this.codefixedsecOrCodeclassifysecOid,
+            "codeFixedSecOid": this.codefixedsecOrCodeclassifysec.oid,
             "dtoList": JSON.stringify(this.fixedValueData),
             }
             saveOrder(data).then(() => {
@@ -1562,8 +1671,8 @@
             });
           }else {
             //淇濆瓨瀵瑰垎绫荤爜鍊肩爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
-            saveCodeClassifyValueOrder({
-              "codeClassifySecOid": this.codefixedsecOrCodeclassifysecOid,
+            await saveCodeClassifyValueOrder({
+              "codeClassifySecOid": this.codefixedsecOrCodeclassifysec.oid,
               "dtoList": JSON.stringify(editOrderNumdata),
             }).then(() => {
               this.$message({
@@ -1573,11 +1682,11 @@
               }, error => {
                 window.console.log(error);
             });
-            this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
+            this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysec.oid});
           }
-          
+
         },
-        //鍒嗙被鐮佸�兼爲data鍔犺浇
+        /** 鍒嗙被鐮佸�兼爲data鍔犺浇*/
         loadClassifyValueData(row){
           //console.log(row);
           let condtionData = {
@@ -1593,7 +1702,7 @@
             //console.log(res.data);
           });
         },
-        //鍒嗙被鐮佸�兼爲鍗曞嚮鏃惰Е鍙戠殑浜嬩欢
+        /** 鍒嗙被鐮佸�兼爲鍗曞嚮鏃惰Е鍙戠殑浜嬩欢*/
         classisyValueTreeOnodeClick(node){
           //console.log(node);
           this.selectedFixedOrCodeclassifyValue = node;
@@ -1601,17 +1710,460 @@
           this.codeClassifyForm.id = node.attributes.id;
           this.codeClassifyForm.name = node.attributes.name;
           this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid;
-          //console.log(this.codeClassifyForm);
+          // console.log(this.codeClassifyForm);
+        },
+        /**
+         * 鍒嗙被鐮佹鐮佸�硷紝淇敼銆佸垹闄ゃ�佷笂涓嬬Щ涔嬪墠锛屾鏌ユ槸鍚︿负瀛愬垎绫诲拰鐖跺垎绫讳箣闂寸浉浜掓洿鏀�
+         * @currentRowClassOid 褰撳墠閫変腑琛宱id
+         * @updateClassOid 瑕佷慨鏀圭殑鍒嗙被鐮佸�紀id
+         */
+        checkClassUpdate(currentRowClassOid,updateClassOid){
+          if(currentRowClassOid!=updateClassOid){
+            this.$message({
+              type: "error",
+              message: "鎿嶄綔澶辫触銆愬瓙鍒嗙被涓庣埗鍒嗙被涔嬮棿涓嶈兘鐩镐簰淇敼鐮佸�笺��!"
+            });
+          }
+          return currentRowClassOid!=updateClassOid;
+        },
+
+        /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */
+        /** 鎵撳紑楂樼骇鏌ヨ绐楀彛 */
+        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)){
+            return;
+          }
+          this.codeRangeSettingBox = true;
+          this.getRangeCodeList()
+        },
+        /** 鍔犺浇浣跨敤鑼冨洿鍒楄〃*/
+        getRangeCodeList(){
+          this.dialogLoading = true;
+          if(this.selectionList[0].oid==null){
+            this.$message.error("鏈幏鍙栧埌鍙傛暟!");
+          }
+
+          listUseRange(this.selectionList[0].oid).then(res => {
+            this.useRangeData = res.data.data;
+            //console.log(this.useRangeData);
+            this.dialogLoading = false;
+          });
+        },
+        /** 鍒锋柊浣跨敤鑼冨洿鍒楄〃*/
+        refreshUseRangeChange(){
+          this.getRangeCodeList();
+        },
+        /** 淇敼瑙勫垯鐘舵��:鍚敤銆佸仠鐢ㄣ�佸彂甯� */
+        updateStatus(oid,update){
+          updateStatus({"oid":oid,"ts":new Date().getTime,"update":update}).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!"
+            });
+          }, error => {
+            window.console.log(error);
+          });
+        },
+        /** 鍙戝竷缂栫爜瑙勫垯 */
+        async enableOrDeactivatse(oid,update){
+          if(update==="release"){
+            // 閬垮厤鐢ㄦ埛閲嶅鐐瑰嚮鎸夐挳
+            this.releadDisabled = true;
+            await checkLikeCodeRule(oid).then(res => {
+              //console.log(res)
+              if(res.data.success){
+                this.updateStatus(oid,update);
+              }else{
+                this.$confirm(res.data.msg, '鎻愮ず', {
+                  distinguishCancelAndClose: true,
+                  confirmButtonText: '缁х画鍙戝竷',
+                  cancelButtonText: '鍙栨秷'
+                }).then(() => {
+                  this.updateStatus(oid,update);
+                })
+                .catch(action => {
+                  this.$message({
+                    type: 'info',
+                    message: '鍙栨秷鍙戝竷!',
+                  })
+                });
+              }
+            })
+            this.releadDisabled = false;
+          }else {
+            this.updateStatus(oid,update);
+          }
+        },
+        /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
+        openCodeRuleDialog() {
+          if (!this.tipsMessage(this.selectionList)) {
+            return;
+          }
+          this.cloneSettingBox = true;
+          this.cloneCodeRuleForm.id = this.selectionList[0].id;
+          this.cloneCodeRuleForm.name = this.selectionList[0].name;
+          this.cloneCodeRuleForm.description = this.selectionList[0].description;
+          this.loadBasic({"oid": this.selectionList[0].oid});
+        },
+        /** 鍏嬮殕缂栫爜瑙勫垯淇濆瓨鍔熻兘*/
+        saveCloneCodeRule(){
+          let form = this.cloneCodeRuleForm;
+          if(form.id.trim()==''){
+            this.$message.warning("缂栧彿涓嶈兘涓虹┖!");
+            return;
+          }
+          if(form.name.trim()==''){
+            this.$message.warning("鐮佸�间笉鑳戒负绌�!");
+            return;
+          }
+          this.selectionList[0].oid = '';
+          this.selectionList[0].id = form.id;
+          this.selectionList[0].name = form.name;
+          this.selectionList[0].description = form.description;
+          this.selectionList[0].createTime = new Date().getTime();
+          this.selectionList[0].ts = new Date(this.selectionList[0].ts).getTime();
+          this.selectionList[0].lcStatus = 'Editing';
+          let data = Object.assign({}, this.selectionList[0],{elements:this.cloneData});
+          clone(data).then(() => {
+            this.cloneSettingBox = false;
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!"
+            });
+          }, error => {
+            window.console.log(error);
+          });
+          //console.log(data);
+        },
+        /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/
+        openOtherCodeRuleDialog(){
+          if (!this.tipsMessage(this.selectionList)) {
+            return;
+          }
+          if(this.selectionList[0].lcStatus != 'Editing'){
+            this.$message.warning("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫!");
+            return;
+          }
+          this.cloneOtherCodeRuleSettingBox = true;
+        },
+        //** 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�-鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨*/
+        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.$refs.crudCloneCodeBasicOther.setCurrentRow(this.selectionOtherCloneCodeBasicList[list.length-1]);
+        },
+        /** 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹淇℃伅*/
+        saveOtherCodeBasic(){
+          let oid = this.selectionList[0].oid;
+          let fromDialogPkCodebasic = this.selectionOtherCloneCodeBasicList;
+          if(fromDialogPkCodebasic.length <= 0){
+            this.$message.warning("璇烽�夋嫨鐮佹鏁版嵁!");
+            return;
+          }
+          let res = fromDialogPkCodebasic.filter((item) => {
+            return item.pkCodeRule == oid;
+          });
+          if(res != ''){
+            this.$message.warning("闇�瑕佸厠闅嗙殑缂栫爜瑙勫垯涓庤鍏嬮殕鐨勭紪鐮佽鍒欑浉鍚�!");
+            return;
+          }
+          let oidArr = [];
+          fromDialogPkCodebasic.forEach(ele => {
+            oidArr.push(ele.oid);
+          });
+          let data = {
+            "pkCodeRule": oid,
+            "oidArr": oidArr.join(","),
+          }
+          //console.log(data);
+          cloneCodeBasic(data).then(() => {
+            this.cloneOtherCodeRuleSettingBox = false;
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!"
+            });
+          }, error => {
+            window.console.log(error);
+          });
+        },
+        /** 娓呯┖鐮佸��*/
+        clearAllCodeSec(){
+          if(this.selectionList.length == 0){
+            this.$message.warning("娌℃湁閫夋嫨鏁版嵁!");
+            return;
+          }
+          if(this.selectionList.length != 1){
+            this.$message.warning("姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�!");
+            return;
+          }
+          let currentData = this.selectionList[0];
+          this.$confirm("纭畾瑕佹竻绌虹爜鍊硷紵濡傛灉娓呯┖灏嗕笉鑳借鎭㈠锛岃璋ㄦ厧锛�", {
+              confirmButtonText: "纭畾",
+              cancelButtonText: "鍙栨秷",
+              type: "warning"
+            })
+            .then(() => {
+              let ts = new Date(currentData.ts).getTime();
+              return clearAllCode({"oid": currentData.oid,"ts": ts});
+            })
+            .then(() => {
+              this. this.onLoad(this.page);
+              this.$message({
+                type: "success",
+                message: "鎿嶄綔鎴愬姛!"
+              });
+            });
+        },
+        /** 娣诲姞*/
+        rowSave(row, done, loading) {
+          console.log(row);
+          add(row).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!"
+            });
+            done();
+          }, error => {
+            loading();
+            window.console.log(error);
+          });
+        },
+        openEdit(row){
+          this.$refs.crud.rowEdit(row,row.$index);
+        },
+        /** 淇敼*/
+        rowUpdate(row, index, done, loading) {
+          row.ts = new Date().getTime;
+          update(row).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!"
+            });
+            done();
+          }, error => {
+            loading();
+            console.log(error);
+          });
+        },
+        /** 鍒犻櫎*/
+        handleDelete() {
+          if(!this.tipsMessage(this.selectionList)){
+            return;
+          }
+          this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
+            confirmButtonText: "纭畾",
+            cancelButtonText: "鍙栨秷",
+            type: "warning"
+          })
+            .then(() => {
+              // 鍙敮鎸佹瘡娆″崟鏉¤褰曞垹闄�
+              let oid = this.selectionList[0].oid;
+              let ts = new Date(this.selectionList[0].ts).getTime();
+              return remove({oid: oid,ts: ts});
+            })
+            .then(() => {
+              this.onLoad(this.page);
+              this.$message({
+                type: "success",
+                message: "鎿嶄綔鎴愬姛!"
+              });
+              this.$refs.crud.toggleSelection();
+            });
+        },
+        // 鎵撳紑淇敼*/
+        beforeOpen(done, type) {
+          if (["edit", "view"].includes(type)) {
+            getDetail(this.ruleForm.oid).then(res => {
+              this.ruleForm = res.data.data;
+            });
+          }
+          done();
+        },
+        searchReset() {
+          this.query = {};
+          this.onLoad(this.page);
+        },
+        searchChange(params, done) {
+          this.page.currentPage = 1;
+          // 澶氫釜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;
+          //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�,骞剁鐢ㄧ浉鍏冲姛鑳�
+          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;
+            this.loadBasic(this.selectionList[list.length-1]);
+          }
+        },
+        /** 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨*/
+        codeRuleRowClick (row) {
+          // console.log(this.currentRuleLcStatus);
+          this.$refs.crud.toggleSelection();
+          this.$refs.crud.toggleRowSelection(row); //閫変腑褰撳墠琛�
+
+        },
+        selectionClear() {
+          this.selectionList = [];
+          this.$refs.crud.toggleSelection();
+        },
+        currentChange(currentPage){
+          this.page.currentPage = currentPage;
+        },
+        sizeChange(pageSize){
+          this.page.pageSize = pageSize;
+        },
+        refreshChange() {
+          this.onLoad(this.page, this.query);
+        },
+        onLoad(page,params={}) {
+          this.loading = true;
+          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.setCurrentRow(this.data[0]);
+            })
+            this.selectionList = data.records[0];
+            //this.selectionClear();
+          });
         },
 
 
         /** 鍩虹鐮佹鐩稿叧鏂规硶 */
-        //闃叉鎵撳紑杩囩紪杈戠獥鍙d箣鍚庤〃鍗曚腑瀛樺湪鍊硷紝鎵�浠ラ渶瑕佹竻绌�,骞跺垵濮嬪寲form琛ㄥ崟灞炴��
+        /** 闃叉鎵撳紑杩囩紪杈戠獥鍙d箣鍚庤〃鍗曚腑瀛樺湪鍊硷紝鎵�浠ラ渶瑕佹竻绌�,骞跺垵濮嬪寲form琛ㄥ崟灞炴��*/
         clearBasicAddForm(){
           this.form = this.$options.data().form;
           // this.changeSectypeFormItems(null);
         },
-        // 鎵撳紑鏂板绐楀彛
+        /** 鎵撳紑鏂板绐楀彛*/
         openAddBasicCodeSec(){
           if(!this.tipsMessage(this.selectionList)){
             return;
@@ -1623,7 +2175,7 @@
           this.openBasicDialog('add',null);
           this.loadCodeSecType();
         },
-        // 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�
+        /** 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�*/
         openBasicDialog(condition,row){
           //console.log(row);
           if(condition == 'add') {
@@ -1648,16 +2200,16 @@
           this.changeSectypeFormItems(condition == 'add' ? null:row);
           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: "鎿嶄綔鎴愬姛!"
@@ -1668,11 +2220,19 @@
               // 鍏抽棴瀵硅瘽妗�
               this.addBasicCodeSettingBox = false
             }
-            
+            // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
+            this.loadBasic(this.selectionList[0]);
           }else{
+            // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
+            if(this.form.referConfig === "coderefersec" || this.form.referConfig != undefined){
+              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;
+            }
             editSave(this.form).then(() => {
-               // 鍏抽棴瀵硅瘽妗�
-              this.addBasicCodeSettingBox = false
               this.$message({
                 type: "success",
                 message: "鎿嶄綔鎴愬姛!"
@@ -1680,15 +2240,17 @@
               }, error => {
                 window.console.log(error);
             });
+            this.loadBasic(this.selectionList[0]);
+            // 鍏抽棴瀵硅瘽妗�
+            this.addBasicCodeSettingBox = false
           }
-          // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-          this.loadBasic(this.selectionList[0]);
         },
-        // 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�
+        /** 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/
         checkForm(){
           let form = this.form;
           //console.log(form);
           const regNumber = /^[0-9]+\.{0,1}[0-9]*$/; //鏁板瓧鎴栧皬鏁版鍒欐牎楠�
+          const regPos =  /^[0-9]*[1-9][0-9]*$/; //闈炶礋鏁存暟姝e垯鏍¢獙
           const tipsMsg = "蹇呭~椤逛笉鑳戒负绌�";
           if(form.id == ''){
             this.$message.warning("(鐮佹缂栧彿)"+tipsMsg);
@@ -1709,7 +2271,7 @@
             //鍥哄畾鐮佹
             if(form.codeSecLengthType == ''){
               this.$message.warning("(鐮佹闀垮害绫诲瀷)"+tipsMsg);
-              this.$refs.codeSecLengthType.$el.querySelector('select').focus();
+              // this.$refs.codeSecLengthType.$el.querySelector('select').focus();
               return false;
             }
             if(form.codeSecLength == ''){
@@ -1730,7 +2292,7 @@
               return false;
             }
           }else if(this.form.secType==='codeserialsec'){
-            console.log(form.codeFillType);
+            //console.log(form.codeFillType);
             //娴佹按鐮佹
             if(form.codeSecLength == ''){
               this.$message.warning('(鐮佹鐨勯暱搴�)'+tipsMsg);
@@ -1756,7 +2318,7 @@
               this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
               return false;
             }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparatorSelect == ''){
+            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparator == ''){
               this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
               return false;
             }
@@ -1780,25 +2342,29 @@
               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 == ''){
               this.$message.warning('(灞傜骇绫诲瀷)'+tipsMsg);
               return false;
             }
-            if(!regNumber.test(form.codeLevelValue)){
-              this.$message.warning('灞傜骇鐨勫��)鍙兘濉啓鏁板瓧');
+            if(form.codeLevelType != 'code_level_min'&& !regNumber.test(form.codeLevelValue)){
+              this.$message.warning('(灞傜骇鐨勫��)鍙兘濉啓鏁板瓧');
               this.$refs.codeLevelValue.$el.querySelector('input').focus();
               return false;
             }
             if(form.valueCutType == ''){
               this.$message.warning('(瀛楃鎴彇绫诲瀷)'+tipsMsg);
-              this.$refs.valueCutType.$el.querySelector('select').focus();
+              // this.$refs.valueCutType.$el.querySelector('select').focus();
+              return false;
+            }
+            if(form.valueCutType != 'code_cut_none' && !regPos.test(form.valueCutLength)){
+              this.$message.warning('(鍊兼埅鍙栭暱搴�)鍙兘濉啓姝f暣鏁�');
+              this.$refs.valueCutLength.$el.querySelector('input').focus();
               return false;
             }
           }else if(this.form.secType==='coderefersec'){
@@ -1852,22 +2418,23 @@
               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;
             }
           }
           return true;
         },
-        // 鍒ゆ柇鏁版嵁鏄惁閫夋嫨浠ュ強鍙兘閫夋嫨鍗曟潯鏁版嵁
+        /** 鍒ゆ柇鏁版嵁鏄惁閫夋嫨浠ュ強鍙兘閫夋嫨鍗曟潯鏁版嵁*/
         tipsMessage(list){
           if(list.length != 1){
-            this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欐暟鎹�!");
+            this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
             return false;
           }
           return true;
         },
-        // 鍩虹鐮佹鍒犻櫎
+        /** 鍩虹鐮佹鍒犻櫎*/
         deleteBasicCode(){
           if(!this.tipsMessage(this.selectionBasicList)){
             return;
@@ -1891,7 +2458,7 @@
             this.$refs.crudBasic.toggleSelection();
           });
         },
-        // 鐐瑰嚮瑙﹀彂鍔犺浇鍩虹鐮佹淇℃伅
+        /** 鐐瑰嚮瑙﹀彂鍔犺浇鍩虹鐮佹淇℃伅*/
         loadBasic(row){
           if(this.cloneSettingBox){
             this.cloneTableLoading = true;
@@ -1900,21 +2467,32 @@
           }
           // 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;
-              // console.log(tihs.cloneData);
               this.cloneTableLoading = false;
             }else {
               this.basicData = data.records;
@@ -1923,13 +2501,12 @@
             }
           });
         },
-        // 鍩虹鐮佹閫変腑鏃惰Е鍙�
+        /** 鍩虹鐮佹閫変腑鏃惰Е鍙�*/
         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;
@@ -1937,30 +2514,27 @@
           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}));
+          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);
+        /** 涓婄Щ涓嬬Щ鍩虹鐮佹*/
+        async upOrderNum(row){
           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});
+          await upOrderNum(row.oid).then(() => {
+            this.loadBasic(this.selectionList[0]);
             this.$message({
               type: "success",
               message: "鎿嶄綔鎴愬姛!"
@@ -1973,14 +2547,13 @@
             return;
           }
           let codeRuleOid = this.selectionList[0].oid;
-          //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});
@@ -1990,347 +2563,36 @@
             });
           })
         },
-        // 鍩虹鐮佹鍒锋柊鏃舵煡璇�
+        /** 鍩虹鐮佹鍒锋柊鏃舵煡璇�*/
         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;
-        },
-
-
-        /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */
-        // 鎵撳紑楂樼骇鏌ヨ绐楀彛
-        openAdvancedQuery(){
-          this.advancedQueryParam.advancedQuerySettingBox = !this.advancedQueryParam.advancedQuerySettingBox;
-        },
-        // 鏌ヨ浣跨敤鑼冨洿
-        handleRange(){
-          if(!this.tipsMessage(this.selectionList)){
-            return;
-          }
-          this.codeRangeSettingBox = true;
-          this.getRangeCodeList()
-        },
-        // 鍔犺浇浣跨敤鑼冨洿鍒楄〃
-        getRangeCodeList(){        
-          this.dialogLoading = true;
-          if(this.selectionList[0].oid==null){
-            this.$message.error("鏈幏鍙栧埌鍙傛暟!");
-          }
-
-          listUseRange(this.selectionList[0].oid).then(res => {
-            this.useRangeData = res.data.data;
-            //console.log(this.useRangeData);
-            this.dialogLoading = false;
-          });
-        },
-        // 鍒锋柊浣跨敤鑼冨洿鍒楄〃
-        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){
-          updateStatus({"oid":oId,"ts":new Date().getTime,"update":update}).then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-          }, error => {
-            window.console.log(error);
-          });
-        },
-        // 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�
-        openCodeRuleDialog() {
-          if (!this.tipsMessage(this.selectionList)) {
-            return;
-          }
-          this.cloneSettingBox = true;
-          this.cloneCodeRuleForm.id = this.selectionList[0].id;
-          this.cloneCodeRuleForm.name = this.selectionList[0].name;
-          this.cloneCodeRuleForm.description = this.selectionList[0].description;
-          this.loadBasic({"oid": this.selectionList[0].oid});
-        },
-        // 鍏嬮殕缂栫爜瑙勫垯淇濆瓨鍔熻兘
-        saveCloneCodeRule(){
-          let form = this.cloneCodeRuleForm;
-          if(form.id.trim()==''){
-            this.$message.warning("缂栧彿涓嶈兘涓虹┖!");
-            return;
-          }
-          if(form.name.trim()==''){
-            this.$message.warning("鐮佸�间笉鑳戒负绌�!");
-            return;
-          }
-          this.selectionList[0].oid = '';
-          this.selectionList[0].id = form.id;
-          this.selectionList[0].name = form.name;
-          this.selectionList[0].description = form.description;
-          this.selectionList[0].createTime = new Date().getTime();
-          this.selectionList[0].ts = new Date(this.selectionList[0].ts).getTime();
-          this.selectionList[0].lcStatus = 'Editing';
-          let data = Object.assign({}, this.selectionList[0],{elements:this.cloneData});
-          clone(data).then(() => {
-            this.cloneSettingBox = false;
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-          }, error => {
-            window.console.log(error);
-          });
-          //console.log(data); 
-        },
-        // 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�
-        openOtherCodeRuleDialog(){
-          if (!this.tipsMessage(this.selectionList)) {
-            return;
-          }
-          if(this.selectionList[0].lcStatus != 'Editing'){
-            this.$message.warning("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫鎴栧垹闄�!");
-            return; 
-          }
-          this.cloneOtherCodeRuleSettingBox = true;
-        },
-        // 浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�-鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
-        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 == ''){
+          if(!hideBoolean){
+            this.selectionList = [];
             this.basicData = [];
           }
-          if(this.selectionOtherCloneCodeRuleList.length > 0){
-            this.loadBasic(this.selectionOtherCloneCodeRuleList[list.length-1]);
+        },
+        changeCutType(value){
+          if (value != 'code_cut_none'){
+            if(this.form.valueCutLength == ''){
+              this.form.valueCutLength = 1;
+            }
+          }else{
+            this.form.valueCutLength = '';
           }
-        },
-        selectionOtherCloneCodeBasicChange(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){
-            this.$message.warning("璇烽�夋嫨鐮佹鏁版嵁!");
-            return;
-          }
-          let res = fromDialogPkCodebasic.filter((item) => {
-            return item.pkCodeRule == oid;
-          });
-          if(res != ''){
-            this.$message.warning("闇�瑕佸厠闅嗙殑缂栫爜瑙勫垯涓庤鍏嬮殕鐨勭紪鐮佽鍒欑浉鍚�!");
-            return;
-          }
-          //console.log(res);
-          let oidArr = [];
-          fromDialogPkCodebasic.forEach(ele => {
-            oidArr.push(ele.id);
-          });
-          let data = {
-            "pkCodeRule": oid,
-            "oidArr": oidArr.join(","),
-          }
-          //console.log(data);
-          cloneCodeBasic(data).then(() => {
-            this.cloneOtherCodeRuleSettingBox = false;
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-          }, error => {
-            window.console.log(error);
-          });
-        },
-        // 娓呯┖鐮佸��
-        clearAllCodeSec(){
-          if(this.selectionList.length == 0){
-            this.$message.warning("娌℃湁閫夋嫨鏁版嵁!");
-            return;
-          }
-          if(this.selectionList.length != 1){
-            this.$message.warning("姣忔鍙兘閫夋嫨涓�鏉℃暟鎹�!");
-            return;
-          }
-          let currentData = this.selectionList[0];
-          this.$confirm("纭畾瑕佹竻绌虹爜鍊硷紵濡傛灉娓呯┖灏嗕笉鑳借鎭㈠锛岃璋ㄦ厧锛�", {
-              confirmButtonText: "纭畾",
-              cancelButtonText: "鍙栨秷",
-              type: "warning"
-            })
-            .then(() => {
-              let ts = new Date(currentData.ts).getTime();
-              return clearAllCode({"oid": currentData.oid,"ts": ts});
-            })
-            .then(() => {
-              this. this.onLoad(this.page);
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-            });
-        },
-        // 娣诲姞
-        rowSave(row, done, loading) {
-          add(row).then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-            done();
-          }, error => {
-            loading();
-            window.console.log(error);
-          });
-        },
-        openEdit(row){
-          this.$refs.crud.rowEdit(row,row.$index);
-        },
-        // 淇敼
-        rowUpdate(row, index, done, loading) {
-          row.ts = new Date().getTime;
-          update(row).then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-            done();
-          }, error => {
-            loading();
-            console.log(error);
-          });
-        },
-        // 鍒犻櫎
-        handleDelete() {
-          if(!this.tipsMessage(this.selectionList)){
-            return;
-          }
-          this.$confirm("纭畾灏嗛�夋嫨鏁版嵁鍒犻櫎?", {
-            confirmButtonText: "纭畾",
-            cancelButtonText: "鍙栨秷",
-            type: "warning"
-          })
-            .then(() => {
-              // 鍙敮鎸佹瘡娆″崟鏉¤褰曞垹闄�
-              let oid = this.selectionList[0].oid;
-              let ts = new Date(this.selectionList[0].ts).getTime();
-              return remove({oid: oid,ts: ts});
-            })
-            .then(() => {
-              this.onLoad(this.page);
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-              this.$refs.crud.toggleSelection();
-            });
-        },
-        // 鎵撳紑淇敼
-        beforeOpen(done, type) {
-          if (["edit", "view"].includes(type)) {
-            getDetail(this.ruleForm.oid).then(res => {
-              this.ruleForm = res.data.data;
-            });
-          }
-          done();
-        },
-        searchReset() {
-          this.query = {};
-          this.onLoad(this.page);
-        },
-        searchChange(params, done) {
-          this.query = params;
-          this.page.currentPage = 1;
-          this.onLoad(this.page, params);
-          done();
-        }, 
-        // 缂栫爜瑙勫垯褰撳墠閫変腑琛屽彉鍖栫殑鏃跺�欒Е鍙�
-        selectionChange(list) {
-          this.selectionList = list;
-          this.$refs.crud.setCurrentRow(this.selectionList[list.length-1]);
-          //褰撳墠閫変腑琛屼负绌虹殑鏃跺�欏氨灏嗙爜娈电鐞嗚〃鏍兼暟鎹疆绌�
-          if(list == ''){
-            this.basicData = [];
-            this.hideBasicTable(false);
-          }
-          if(this.selectionList.length > 0){
-            this.currentCodeRuleOid = this.selectionList[list.length-1].oid;
-            this.currentRuleLcStatus = this.selectionList[list.length-1].lcStatus;
-            this.loadBasic(this.selectionList[list.length-1]);
-          }
-        },
-        selectionClear() {
-          this.selectionList = [];
-          this.$refs.crud.toggleSelection();
-        },
-        currentChange(currentPage){
-          this.page.currentPage = currentPage;
-        },
-        sizeChange(pageSize){
-          this.page.pageSize = pageSize;
-        },
-        refreshChange() {
-          this.onLoad(this.page, this.query);
-        },
-        onLoad(page, params = {}) {
-          this.loading = true;
-          gridCodeRule(page.currentPage, page.pageSize, Object.assign(params, 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;
-            this.loadBasic(this.data[0])
-            this.$nextTick(() => {
-              this.$refs.crud.toggleRowSelection(this.data[0]);
-              this.$refs.crud.setCurrentRow(this.data[0]);
-            })
-            this.selectionList = data.records[0];
-            //this.selectionClear();
-          });
         },
 
         /** 绗竴灞傚璇濇鐩稿叧鏂规硶 */
-        // 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�
+        /** 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�*/
         openAttrSelectOrGetValue(condition){
           if(condition === 'attr'){
             this.isShowSelectAttrOption = true;
+            this.loadlistClassifyLinkAttr();
           }else if(condition === 'value'){
             //鎵撳紑鍏紡缂栬緫妗嗭紝绗簩灞傚祵濂楀璇濇
             //this.$refs.formulaEditor.isShowformulaEdit = true;
@@ -2342,52 +2604,17 @@
             // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹�
             this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad();
           }else if(condition === 'referConfig'){
-            if(func.notEmpty(this.form.referConfig) || func.notEmpty(this.form.referBtmName)){
-              this.openReconfigInterFace(this.form);
-            }else{
-              this.openTipsChooseOrCust();
+            this.referConfigVisble = true;
+            this.referConfigOption = {
+              referBtmName: this.form.referBtmName,
+              referBtmId: this.form.referBtmId,
+              referConfig: this.form.referConfig || '',
             }
+            this.$refs.referConfig.$el.querySelector('input').blur();
           }
         },
 
-        // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰
-        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();
-        },
-
-        // 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�
+        /** 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�*/
         clearAttrDataByIcon(condition){
           if(condition === 'attr'){
             this.form.referAttributeName = '';
@@ -2406,16 +2633,16 @@
             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.enumParam.secTypeList.length==0){
+        /** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/
+        changeSectypeFormItems(row){
+          //console.log(row);
+          if(func.isEmpty(this.enumParam.secTypeList) || this.enumParam.secTypeList.length==0){
             this.loadCodeSecType();
           }
           if(row != null){
@@ -2470,8 +2697,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,      //娴佹按鏄惁琛ョ爜
@@ -2497,6 +2724,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'){
             //鏃ユ湡鐮佹
@@ -2518,68 +2746,96 @@
             //鍙彉鐮佹
             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(enumKey){
+          let enumCach = JSON.parse(localStorage.getItem(enumKey));
+          if(enumCach == null) {
+            getDictionary({code: enumKey}).then(res=>{
+              enumCach = res.data.data;
+              localStorage.setItem(enumKey,JSON.stringify(res.data.data));
+            })
+          }
+          return enumCach;
+        },
+        /** 缁熶竴鍔犺浇鎵�鏈夋灇涓炬煡璇紝涓昏鏄负閬垮厤鍒囨崲鐮佹绫诲瀷鏃惰繕鏈姞杞藉畬鎴愮殑鎯呭喌*/
+        loadTotalEnum(){
+          this.loadCodeSecType();
+          this.loadCodeSecLength();
+          this.loadCodeFillType();
+          this.loadCodeFillSeparator();
+          this.loadCodeLevelType();
+          this.loadCodeCutType();
+          this.loadCodeGetValueType();
+        },
+        /** 鏋氫妇鍜屽彲杈撳彲閫夊唴瀹规煡璇� */
         loadCodeSecType(){
-          getDictionary({code: "codeSecType"}).then(res=>{
-            this.enumParam.secTypeList = res.data.data;
-          })
+          let enumList = this.getLocalStorageEnum("codeSecType");
+          this.enumParam.secTypeList = enumList.length>0 ? enumList:[];
+          console.log(this.enumParam.secTypeList);
           this.loadCodeSecLength();
         },
         loadCodeSecLength(){
-          getDictionary({code: "codeSecLength"}).then(res=>{
-            this.enumParam.codeSecLengthType = res.data.data;
-          })
+          let enumList = this.getLocalStorageEnum("codeSecLength");
+          this.enumParam.codeSecLengthType = enumList.length>0 ? enumList:[];
         },
         loadCodeFillType(){
-          getDictionary({code: "codeFillType"}).then(res=>{
-            this.enumParam.codeFillType = res.data.data;
-          })
+          let enumList = this.getLocalStorageEnum("codeFillType");
+          this.enumParam.codeFillType = enumList.length>0 ? enumList:[];
         },
         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('codeFillSeparator',JSON.stringify(res.data.data));
+            })
+          }
         },
         loadCodeLevelType(){
-          getDictionary({code: "codeLevelType"}).then(res=>{
-            this.enumParam.codeLevelType = res.data.data;
-          })
+          let enumList = this.getLocalStorageEnum("codeLevelType");
+          this.enumParam.codeLevelType = enumList.length>0 ? enumList:[];
         },
         loadCodeCutType(){
-          getDictionary({code: "codeCutType"}).then(res=>{
-            this.enumParam.codeCutType = res.data.data;
-          })
+          let enumList = this.getLocalStorageEnum("codeCutType");
+          this.enumParam.codeCutType = enumList.length>0 ? enumList:[];
         },
         loadCodeGetValueType(){
-          getDictionary({code: "codeGetValueType"}).then(res=>{
-            this.enumParam.codeGetValueType = res.data.data;
-          })
+          let enumList = this.getLocalStorageEnum("codeGetValueType");
+          this.enumParam.codeGetValueType =  enumList.length>0 ? enumList:[];
         },
-        
+        // 鏈�澶ф祦姘村彿
+        maxSerialNum(){
+          console.log(this.selectionList)
+          if (this.selectionList.length === 0) {
+            this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
+            return;
+          }
+          this.maxSerial.visible = true
+          this.maxSerial.ruleOid = this.selectionList[0]['oid']
+        }
+
       }
   };
 
 </script>
 
 <style>
-
+[class^="icon-"]{
+  font-size: 12px !important;
+}
   .code-rule-crud > .avue-crud__search ,.code-basic-crud > .avue-crud__search {
     margin-bottom: -15px;
   }
 
-  .code-rule-crud > .avue-crud__pagination {
-    padding: 14px 0 2px 20px;
-  }
-  
   .clone-input-textarea > .el-form-item__content {
     width: 495px;
   }
@@ -2599,7 +2855,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;
   }
@@ -2641,8 +2897,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;
@@ -2651,7 +2907,6 @@
   /** 鏂板鐮佹 */
   .add-basicsec-total {
     width: 100%;
-    padding: 20px 0 0 0;
   }
 
   .add-basicsec-total .el-input__inner,.add-basicsec-total .el-textarea__inner {
@@ -2678,23 +2933,32 @@
     /* float: left; */
     width: 45%;
     height: 100%;
- }
+  }
 
  .right {
     /* float: right; */
     margin-right: 2vw;
     height: 100%;
     width: auto;
- }
+  }
 
  .right > .el-form > .el-form-item{
     margin-bottom: 8px;
- }
- /* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
+  }
+
+  /* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
  .el-dialog__footer{
     /* width: 100%; */
     border-top: 1px solid #E9E7E7;
     padding: 5px 10px 10px;
- }
+  }
 
-</style>
\ No newline at end of file
+ .seloption{
+    margin-left: 10px;
+  }
+
+ /* .code-total > .basic-container__card {
+    height: 100%;
+  } */
+
+</style>

--
Gitblit v1.9.3