From 96ccda8fecce548ca4b9041967aa99a9640a960e Mon Sep 17 00:00:00 2001
From: 田源 <tianyuan@vci-tech.com>
Date: 星期二, 21 一月 2025 16:17:20 +0800
Subject: [PATCH] 分类码段取消校验

---
 Source/UBCS-WEB/src/views/code/code.vue | 5933 +++++++++++++++++++++++++++++++++++------------------------
 1 files changed, 3,471 insertions(+), 2,462 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 7e47330..63c39b4 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1,106 +1,147 @@
 <template>
-  <basic-container style="height: 100%;">
-
+  <basic-container class="code-total" 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"
-              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-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 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">
+      <div style="height: 49vh;overflow: auto;">
+        <p
+          style="
+          margin-top: -5px;
+          margin-bottom: 4px;
+          font-weight: 570;
+          font-size: 19px;
+          color: #0e2d5f;
+        "
+        >
+          缂栫爜瑙勫垯
+        </p>
+        <avue-crud
+          ref="crud"
+          v-model="ruleForm"
+          :before-open="beforeOpen"
+          :data="data"
+          :option="optionRule"
+          :page.sync="page"
+          :permission="permissionList"
+          :table-loading="loading"
+          class="code-rule-crud"
+          @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 v-if="permissionList.editBtn && (scope.row.lcStatus == 'Editing' ? true : false)"
+                       icon="el-icon-edit"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="openEdit(scope.row)"
+            >缂� 杈�
+            </el-button>
+            <el-button v-if="permissionList.releaseBtn && (scope.row.lcStatus == 'Editing' ? true : false)"
+                       :loading="releadDisabled"
+                       icon="el-icon-position"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="enableOrDeactivatse(scope.row.oid, 'release')"
+            >鍙� 甯�
+            </el-button>
+            <el-button v-if="permissionList.deactivateBtn && (scope.row.lcStatus == 'Released' ? true : false)"
+                       icon="el-icon-video-pause"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="enableOrDeactivatse(scope.row.oid, 'disable')"
+            >鍋� 鐢�
+            </el-button>
+            <el-button v-if="permissionList.enableBtn && (scope.row.lcStatus == 'Disabled' ? true : false)"
+                       icon="el-icon-video-play"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="enableOrDeactivatse(scope.row.oid, 'enable')"
+            >鍚� 鐢�
+            </el-button>
+          </template>
+          <!-- 琛ㄦ牸涓婃柟鎸夐挳鍖哄煙 -->
+          <template slot="menuLeft" slot-scope="scope">
+            <el-button v-if="permissionList.rulDelBtn"
+                       icon="el-icon-delete"
+                       plain
+                       size="small"
+                       type="danger"
+                       @click="handleDelete"
+            >
+              鍒� 闄�
+            </el-button>
+            <el-button v-if="permissionList.advancedQueryBtn"
+                       icon="el-icon-search"
+                       plain
+                       size="small"
+                       type="primary"
+                       @click="openAdvancedQuery('codeRule')">
+              楂樼骇鏌ヨ
+            </el-button>
+            <el-button v-if="permissionList.cloneBtn"
+                       icon="icon-kelong"
+                       plain
+                       size="small"
+                       @click="openCodeRuleDialog"
+            >
+              鍏� 闅�
+            </el-button>
+            <el-button v-if="permissionList.otherCloneBtn"
+                       icon="icon-lianjiekelong"
+                       plain
+                       size="small"
+                       style="font-size: 12px"
+                       @click="openOtherCodeRuleDialog"
+            >
+              浠庡叾浠栬鍒欎腑鍏嬮殕鐮佹
+            </el-button>
+            <el-button v-if="permissionList.usescopeBtn"
+                       icon="el-icon-s-help"
+                       plain
+                       size="small"
+                       @click="handleRange"
+            >
+              浣跨敤鑼冨洿
+            </el-button>
+            <el-button v-if="permissionList.clearBtn"
+                       icon="icon-qingkong"
+                       plain
+                       size="small"
+                       @click="clearAllCodeSec"
+            >
               娓呯┖鐮佸��
-          </el-button>
-        </template>
-      </avue-crud>
+            </el-button>
+            <el-button v-if="permissionList.escapeOwnerBtn"
+                       icon="el-icon-guide"
+                       plain
+                       size="small"
+                       @click="escapeOwner"
+            >
+              杞Щ鎵�鏈夎��
+            </el-button>
+            <el-button v-if="permissionList.maxSerialnumBtn"
+                       icon="el-icon-data-analysis"
+                       plain
+                       size="small"
+                       @click="maxSerialNum"
+            >
+              鏈�澶ф祦姘村彿
+            </el-button>
+          </template>
+        </avue-crud>
+      </div>
     </basic-container>
 
     <!-- 楂樼骇鏌ヨ瀵硅瘽妗� -->
@@ -108,255 +149,291 @@
       :ref="advancedQueryParam.ref"
       :options="advancedQueryParam.options"
       :visible.sync="advancedQueryParam.advancedQuerySettingBox"
-      @echoContion="echoSeniorContionMap">
+      @echoContion="echoSeniorContionMap"
+    >
     </advanced-query>
 
-    <!-- 缂栫爜瑙勫垯鐩稿叧瀵硅瘽妗� -->
-    <el-dialog title="缂栫爜瑙勫垯浣跨敤鑼冨洿"
-      append-to-body
+    <!-- 浠ヤ笅鏄紪鐮佽鍒欑浉鍏冲璇濇 -->
+    <el-dialog
       :visible.sync="codeRangeSettingBox"
+      append-to-body
+      class="avue-dialog avue-dialog--top"
+      style="height: 100vh"
+      title="缂栫爜瑙勫垯浣跨敤鑼冨洿"
+      top="-3%"
       width="800px"
-      style="height: 116vh; margin-top: -10vh;">
+    >
       <avue-crud
-        :option="dialogeOption" 
-        :table-loading="dialogLoading"
         :data="useRangeData"
-        @refresh-change="refreshUseRangeChange">
+        :option="dialogeOption"
+        :table-loading="dialogLoading"
+        style="margin-top: -40px"
+        @refresh-change="refreshUseRangeChange"
+      >
       </avue-crud>
     </el-dialog>
 
     <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� -->
-    <el-dialog title="鍏嬮殕缂栫爜瑙勫垯"
-      append-to-body
+    <clone-rule-dialog
+      :ruleData="selectionList[0]"
       :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>
+      @refreshRuleTable="onLoad">
+    </clone-rule-dialog>
 
     <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 -->
-    <el-dialog title="鍏嬮殕缂栫爜瑙勫垯鐨勫熀纭�淇℃伅"
-      append-to-body
+    <clone-other-basic-sec-dialog
+      :quiltCloneCodeRule="selectionList[0]"
       :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>
+      @refreshRuleTable="onLoad">
+    </clone-other-basic-sec-dialog>
+
+    <!-- 缂栫爜瑙勫垯,杞Щ鎵�鏈夎�呭璇濇 -->
+    <el-dialog
+      :visible.sync="escapeOwnerVisible"
+      append-to-body
+      class="avue-dialog avue-dialog--top"
+      title="杞Щ鎵�鏈夎��"
+      width="30%"
+    >
+      <el-select v-model="ruleOwner" class="selects" placeholder="璇烽�夋嫨">
+        <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
+      :ruleOid="maxSerial.ruleOid"
+      :visible.sync="maxSerial.visible"
+    ></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">
+      <div style="height: 29.3vh;overflow: auto">
+        <p
+          style="margin-top: -5px;
+          margin-bottom: 4px;
+          font-weight: 570;
+          font-size: 19px;
+          color: #0e2d5f;">
+          鐮佹绠$悊
+        </p>
+        <avue-crud
+          ref="crudBasic"
+          :data="basicData"
+          :option="optionBasic"
+          :permission="basicPermissionList"
+          :table-loading="loadingBasic"
+          class="code-basic-crud"
+          @row-click="codeBasicSecRowClick"
+          @search-change="basicSearchChange"
+          @search-reset="basicSearchReset"
+          @selection-change="selectionBasicChange"
+          @refresh-change="refreshChangeBasicSec"
+        >
+          <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� -->
+          <template slot="menu" slot-scope="scope">
+            <el-button v-if="basicPermissionList.viewBtn && currentRuleLcStatus != 'Editing'"
+                       icon="el-icon-view"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="openBasicDialog('view', scope.row)"
+            >鏌ョ湅
+            </el-button>
+            <el-button v-if="basicPermissionList.editBtn && currentRuleLcStatus === 'Editing'"
+                       icon="el-icon-edit"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="openBasicDialog('edit', scope.row)"
+            >缂栬緫
+            </el-button>
+            <el-button
+              v-if="basicPermissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')"
+              icon="el-icon-setting"
+              plain
+              size="small"
+              type="text"
+              @click="openBasicSecCodeValueMgr(scope.row)"
+            >鐮佸�肩鐞�
+            </el-button>
+            <el-button v-if="basicPermissionList.basicMoveupBtn && scope.row.orderNum > 1"
+                       icon="el-icon-arrow-up"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="upOrderNum(scope.row)"
+            >涓婄Щ
+            </el-button>
+            <el-button v-if="basicPermissionList.basicDownBtn"
+                       icon="el-icon-arrow-down"
+                       plain
+                       size="small"
+                       type="text"
+                       @click="downOrderNum(scope.row)"
+            >涓嬬Щ
+            </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>
-
-      <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
-      <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>
-
-      </avue-crud>
+          <!-- 鍩虹鐮佹琛ㄦ牸宸︿笂鏂规寜閽尯鍩� -->
+          <template slot="menuLeft" slot-scope="scope">
+            <el-button v-if="basicPermissionList.addBtn"
+                       :disabled="selectionList.length <= 0"
+                       icon="el-icon-plus"
+                       size="small"
+                       type="primary"
+                       @click="openAddBasicCodeSec"
+            >
+              鏂� 澧�
+            </el-button>
+            <el-button v-if="basicPermissionList.basicDelBtn"
+                       :disabled="selectionList.length <= 0"
+                       icon="el-icon-delete"
+                       plain
+                       size="small"
+                       type="danger"
+                       @click="deleteBasicCode(scope.row)"
+            >
+              鍒� 闄�
+            </el-button>
+            <el-button v-if="basicPermissionList.basicAdvancedQueryBtn"
+                       :disabled="selectionList.length <= 0"
+                       icon="el-icon-search"
+                       plain
+                       size="small"
+                       type="primary"
+                       @click="openAdvancedQuery('codeBasicSec')"
+            >
+              楂樼骇鏌ヨ
+            </el-button>
+          </template>
+        </avue-crud>
+      </div>
     </basic-container>
 
     <!-- 鐮佹鐮佸�肩鐞嗗璇濇 -->
-    <el-dialog title="鐮佹鐮佸�肩鐞�"
+    <el-dialog
       :visible.sync="isShowBasicSecCodeValueMgr"
-      :width="isShowFixedForm ? '68vw':'50vw'"
+      :width="isShowFixedForm ? '69vw' : '50vw'"
       append-to-body
-      style="height: 116vh; margin-top: -10vh;"
+      class="avue-dialog avue-dialog--top"
+      destroy-on-close
+      style="height: 110vh"
+      title="鐮佹鐮佸�肩鐞�"
+      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: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>
+          <basic-container style="overflow:hidden">
+            <div
+              class="box classify_value_box"
+              style="height: 60vh; margin-bottom: -40px"
+            >
+              <basic-container>
+                <div class="abox">
+                  <avue-tree
+                    :data="classifyValueTreeData"
+                    :option="classisyValueTreeOption"
+                    style="height: calc(60vh - 100px);"
+                    @node-click="classisyValueTreeOnodeClick"
+                  />
+                </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
+              style="
+                margin-top: 20px;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+              "
+            >
+              <el-button
+                class="button"
+                icon="el-icon-arrow-up"
+                size="mini"
+                type="primary"
+                @click="codeClassifyValueOpetion('up')"
+              >涓婄Щ
+              </el-button>
+              <el-button
+                class="button"
+                icon="el-icon-arrow-down"
+                size="mini"
+                type="primary"
+                @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>
+            <div class="box" style="height: 60vh; margin-bottom: -40px">
+              <el-form label-width="55px">
+                <el-form-item label="鍚嶇О:" required>
+                  <el-input v-model="codeClassifyForm.name"></el-input>
+                </el-form-item>
+                <el-form-item  label="鐮佸��:">
+                  <el-input v-model="codeClassifyForm.id"></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
+              style="
+                margin-top: 20px;
+                display: flex;
+                align-items: center;
+                justify-content: center;">
+              <el-button
+                class="button"
+                icon="el-icon-circle-plus"
+                size="mini"
+                type="primary"
+                @click="addCodeSecValue('codeclassifyvaluesec')"
+              >娣诲姞
+              </el-button>
+              <el-button
+                :disabled="selectedFixedOrCodeclassifyValue == ''"
+                class="button"
+                icon="el-icon-edit-outline"
+                plain
+                size="mini"
+                type="success"
+                @click="editCodeSecValue('codeclassifyvaluesec')"
+              >淇敼
+              </el-button>
+              <el-button
+                :disabled="selectedFixedOrCodeclassifyValue == ''"
+                class="button"
+                icon="el-icon-close"
+                size="mini"
+                type="danger"
+                @click="delCodeSecValue('codeclassifyvaluesec')"
+              >鍒犻櫎
+              </el-button>
+              <el-button
+                class="button"
+                icon="el-icon-close"
+                plain
+                size="mini"
+                type="warning"
+                @click="clearFixedOrClassifyForm('codeclassifyvaluesec')"
+              >鍙栨秷
+              </el-button>
             </div>
           </basic-container>
         </el-col>
@@ -365,46 +442,125 @@
       <el-row v-show="isShowFixedForm">
         <el-col :span="15">
           <basic-container>
-            <div class="box fixedbox" style="height:65vh; margin-bottom:-40px">
+            <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">
+                class="fixed-avue-crud"
+                @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>
+                  <el-button
+                    icon="el-icon-arrow-up"
+                    size="mini"
+                    type="text"
+                    @click="codeFixedValueOpetion('up', scope.row)"
+                  >涓婄Щ
+                  </el-button>
+                  <el-button
+                    icon="el-icon-arrow-down"
+                    size="mini"
+                    type="text"
+                    @click="codeFixedValueOpetion('down', scope.row)"
+                  >涓嬬Щ
+                  </el-button>
+                  <el-button
+                    icon="el-icon-minus"
+                    size="mini"
+                    type="text"
+                    @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 style="margin-top: 10px">
+              <el-button
+                class="button"
+                icon="el-icon-success"
+                size="mini"
+                type="primary"
+                @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;">
+            <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="鎻忚堪:">
-                    <el-input type="textarea" style="width: 20vw;" v-model="codeFixdForm.description"></el-input>
+                    <el-input
+                      v-model="codeFixdForm.id"
+                      style="width: 19.5vw"
+                    ></el-input>
+                  </el-form-item>
+                  <el-form-item label="鎻忚堪:" label-width="54px">
+                    <el-input
+                      v-model="codeFixdForm.description"
+                      style="width: 19.5vw"
+                      type="textarea"
+                    ></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
+              style="
+                margin-top: 10px;
+                display: flex;
+                align-items: center;
+                justify-content: center;
+              "
+            >
+              <el-button
+                :disabled="selectedFixedOrCodeclassifyValue != ''"
+                class="button"
+                icon="el-icon-circle-plus"
+                size="mini"
+                type="primary"
+                @click="addCodeSecValue('codefixedsec')"
+              >娣诲姞
+              </el-button>
+              <el-button
+                :disabled="selectedFixedOrCodeclassifyValue == ''"
+                class="button"
+                icon="el-icon-edit-outline"
+                plain
+                size="mini"
+                type="success"
+                @click="editCodeSecValue('codefixedsec')"
+              >淇敼
+              </el-button>
+              <el-button
+                :disabled="selectedFixedOrCodeclassifyValue == ''"
+                class="button"
+                icon="el-icon-close"
+                size="mini"
+                type="danger"
+                @click="delCodeSecValue('codefixedsec')"
+              >鍒犻櫎
+              </el-button>
+              <el-button
+                class="button"
+                icon="el-icon-close"
+                plain
+                size="mini"
+                type="warning"
+                @click="clearFixedOrClassifyForm('codefixedsec')"
+              >鍙栨秷
+              </el-button>
             </div>
           </basic-container>
         </el-col>
@@ -412,267 +568,596 @@
     </el-dialog>
 
     <!-- 鍩虹鐮佹鏂板鐩稿叧瀵硅瘽妗� -->
-    <el-dialog :title="basicSecDialogTitle"
+    <el-dialog
+      :close-on-click-modal="false"
+      :title="basicSecDialogTitle"
       :visible.sync="addBasicCodeSettingBox"
-      width="60vw"
       append-to-body
-      style="height: 115vh; margin-top: -13vh; overflow: hidden"
+      class="avue-dialog avue-dialog--top add-basicsec-dialog"
       destroy-on-close
       lock-scroll
-      :close-on-click-modal="false"
-      @close="clearBasicAddForm">
-
+      style="height: 105vh"
+      top="-3%"
+      width="900px"
+      @close="clearBasicAddForm"
+    >
       <!--  绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� -->
-      <div class="add-basicsec-total" style="overflow-y: auto; height: 70vh">
-        <el-form :model="form" class="add-basicsec-form">
+      <div class="add-basicsec-total">
+        <el-form :model="form" :rules="rules" 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
+              :label-width="leftFormLabelWidth"
+              label="鐮佹缂栧彿:"
+              required
+            >
+              <el-input
+                ref="id"
+                v-model="form.id"
+                :readonly="basicSecOnlyRead"
+              ></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
+              :label-width="leftFormLabelWidth"
+              label="鐮佹鍚嶇О:"
+              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-form-item
+              :label-width="leftFormLabelWidth"
+              label="鐮佹绫诲瀷:"
+              required
+            >
+              <el-select
+                v-model="form.secType"
+                :disabled="basicSecOnlyRead"
+                placeholder="璇烽�夋嫨"
+                @change="changeSectypeFormItems(null)"
+              >
                 <el-option
                   v-for="item in enumParam.secTypeList"
                   :key="item.itemValue"
                   :label="item.itemName"
-                  :value="item.itemValue">
+                  :value="item.itemValue"
+                >
                 </el-option>
               </el-select>
             </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
+              :label-width="leftFormLabelWidth"
+              label="鍓嶇紑:">
+              <!-- <el-input
+                v-model="form.prefixCode"
+                :readonly="basicSecOnlyRead"
+              ></el-input> -->
+              <el-select v-model="form.prefixCode" :disabled="basicSecOnlyRead" clearable>
+                <el-option
+                  v-for="(option, index) in preFixOrSuffixChars"
+                  :key="index"
+                  :label="option.label"
+                  :value="option.value">
+                </el-option>
+              </el-select>
             </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
+              :label-width="leftFormLabelWidth"
+              label="鍚庣紑:">
+              <!-- <el-input
+                v-model="form.suffixCode"
+                :readonly="basicSecOnlyRead">
+              </el-input> -->
+              <el-select v-model="form.suffixCode" :disabled="basicSecOnlyRead" clearable>
+                <el-option
+                  v-for="(option, index) in preFixOrSuffixChars"
+                  :key="index"
+                  :label="option.label"
+                  :value="option.value">
+                </el-option>
+              </el-select>
             </el-form-item>
 
-            <el-form-item label="鏄惁涓虹┖:" :label-width="leftFormLabelWidth">
-              <el-switch v-model="form.nullableFlag"  :disabled="basicSecOnlyRead"></el-switch>
+            <el-form-item :label-width="leftFormLabelWidth" label="鎻忚堪:">
+              <el-input
+                v-model="form.description"
+                :readonly="basicSecOnlyRead"
+                type="textarea"
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item
+              :label-width="leftFormLabelWidth"
+              label="鏄惁娴佹按渚濊禆:"
+            >
+              <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"
+                :readonly="basicSecOnlyRead"
+                controls-position="right"
+              ></el-input-number> -->
+            </el-form-item>
+
+            <el-form-item :label-width="leftFormLabelWidth" label="鏄惁涓虹┖:">
+              <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">
+            <div v-show="form.secType === 'codefixedsec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鐮佹闀垮害绫诲瀷:"
+                required
+              >
+                <el-select
+                  v-model="form.codeSecLengthType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                >
                   <el-option
-                  v-for="item in enumParam.codeSecLengthType"
-                  :key="item.itemValue"
-                  :label="item.itemName"
-                  :value="item.itemValue">
-                </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
+                :label-width="rightFormLabelWidth"
+                label="鐮佹鐨勯暱搴�:"
+                required
+              >
+                <el-input
+                  ref="codeSecLength"
+                  v-model.number="form.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>
+            <div v-show="form.secType === 'codeattrsec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="灞炴��:"
+                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
+                  :disabled="basicSecOnlyRead"
                   placeholder="璇烽�夋嫨"
                   prefix-icon="el-icon-search"
                   readonly="true"
+                  @focus="openAttrSelectOrGetValue('attr')"
+                >
+                  <i
+                    slot="suffix"
+                    class="el-icon-circle-close"
+                    style="cursor: pointer"
+                    @click="clearAttrDataByIcon('attr')"
+                  ></i>
+                </el-input>
+              </el-form-item>
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="灞炴�ф墍鍦ㄥ垎绫�:"
+              >
+                <el-input v-model="form.referCodeClassifyOidName" disabled>
+                </el-input>
+              </el-form-item>
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鍙栧�艰鍒�:"
+              >
+                <el-input
                   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>
+                  placeholder="璇烽�夋嫨"
+                  prefix-icon="el-icon-search"
+                  readonly="true"
+                  @focus="openAttrSelectOrGetValue('value')"
+                >
+                  <i
+                    slot="suffix"
+                    class="el-icon-circle-close"
+                    style="margin-right: 5px; cursor: pointer"
+                    @click="clearAttrDataByIcon('value')"
+                  ></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>
+            <div v-show="form.secType === 'codeserialsec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鐮佹鐨勯暱搴�:"
+                required
+              >
+                <el-input
+                  ref="seriaCodeSecLength"
+                  v-model.number="form.codeSecLength"
+                  :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
+                :label-width="rightFormLabelWidth"
+                label="娴佹按鍙风殑璧峰鍊�:"
+              >
+                <el-input
+                  ref="serialStart"
+                  v-model.number="form.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
+                :label-width="rightFormLabelWidth"
+                label="娴佹按鐨勬闀�:"
+              >
+                <el-input
+                  ref="serialStep"
+                  v-model.number="form.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"
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="缂栫爜琛ヤ綅鏂瑰紡:"
+                required
+              >
+                <el-select
+                  v-model="form.codeFillType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                >
+                  <el-option
                     v-for="item in enumParam.codeFillType"
                     :key="item.itemValue"
                     :label="item.itemName"
-                    :value="item.itemValue">
+                    :value="item.itemValue"
+                  >
                   </el-option>
                 </el-select>
               </el-form-item>
-              <el-form-item label="琛ヤ綅鏃剁殑瀛楃:" :label-width="rightFormLabelWidth">
-                <el-select v-model="form.codeFillSeparator" @blur="inputSelectBlur" filterable placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+              <el-form-item
+                v-if="form.codeFillType != 'code_fill_none'"
+                :label-width="rightFormLabelWidth"
+                label="琛ヤ綅鏃剁殑瀛楃:"
+              >
+                <el-select
+                  v-model="form.codeFillSeparator"
+                  :disabled="basicSecOnlyRead"
+                  filterable
+                  placeholder="璇烽�夋嫨"
+                  clearable
+                >
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue">
+                    :key="item.lable"
+                    :label="item.lable"
+                    :value="item.value"
+                  >
                   </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
+                :label-width="rightFormLabelWidth"
+                label="濉厖闀垮害:"
+                required
+              >
+                <el-input
+                  ref="codeFillLength"
+                  v-model.number="form.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
+                :label-width="rightFormLabelWidth"
+                label="娴佹按涓婇檺:"
+                required
+              >
+                <el-input
+                  ref="codeFillLimit"
+                  v-model.number="form.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
+                :label-width="rightFormLabelWidth"
+                label="娴佹按鏄惁琛ョ爜:"
+                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
+                :label-width="rightFormLabelWidth"
+                label="鑷畾涔夋祦姘寸畻娉�:"
+              >
+                  <template>
+                      <vciWebRefer
+                        ref="refer"
+                        :disabled="basicSecOnlyRead"
+                        :display="true"
+                        :referConfig="this.referConfig || {}"
+                        :serialType="form.serialType"
+                        :text="form.customCodeSerialClassText"
+                        :value="form.customCodeSerialClass"
+                        @setReferValue="setReferValue"
+                      ></vciWebRefer>
+                  </template>
               </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">
+            <div v-show="form.secType === 'codelevelsec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="灞傜骇绫诲瀷:"
+                required
+              >
+                <el-select
+                  v-model="form.codeLevelType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                  @change="changeLevelType"
+                >
                   <el-option
                     v-for="item in enumParam.codeLevelType"
                     :key="item.itemValue"
                     :label="item.itemName"
-                    :value="item.itemValue">
+                    :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
+                :label-width="rightFormLabelWidth"
+                label="灞傜骇鐨勫��:"
+              >
+                <el-input
+                  ref="codeLevelValue"
+                  v-model.number="form.codeLevelValue"
+                  :readonly="basicSecOnlyRead"
+                  :disabled="form.codeLevelType != 'code_level_special'"
+                ></el-input>
               </el-form-item>
-              <el-form-item label="瀛楃鎴彇绫诲瀷:" :label-width="rightFormLabelWidth" required>
-                <el-select v-model="form.valueCutType" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="瀛楃鎴彇绫诲瀷:"
+                required
+              >
+                <el-select
+                  v-model="form.valueCutType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                  @change="changeCutType($event)"
+                >
                   <el-option
                     v-for="item in enumParam.codeCutType"
                     :key="item.itemValue"
                     :label="item.itemName"
-                    :value="item.itemValue">
+                    :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-form-item
+                v-if="form.valueCutType != 'code_cut_none'"
+                id="ShowOrHide"
+                :label-width="rightFormLabelWidth"
+                label="鍊兼埅鍙栭暱搴�:"
+              >
+                <el-input
+                  ref="valueCutLength"
+                  v-model.number="form.valueCutLength"
+                  :readonly="basicSecOnlyRead"
+                ></el-input>
+              </el-form-item>
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鍙栧�肩被鍨�:"
+              >
+                <el-select
+                  v-model="form.codeGetValueType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                >
                   <el-option
                     v-for="item in enumParam.codeGetValueType"
                     :key="item.itemValue"
                     :label="item.itemName"
-                    :value="item.itemValue">
+                    :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>
+            <div v-show="form.secType === 'coderefersec' ? true : false">
+              <el-form-item
+                label="鍙傜収寮曠敤鐨勪笟鍔$被鍨�:"
+                label-width="152px"
+                required
+              >
                 <el-input
-                  ref="referBtmId" 
+                  ref="referBtmId"
+                  v-model="form.referBtmName"
+                  :disabled="basicSecOnlyRead"
                   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>
+                >
+                  <i
+                    slot="suffix"
+                    class="el-icon-circle-close"
+                    style="margin-right: 5px; cursor: pointer"
+                    @click="clearAttrDataByIcon('referBtmId')"
+                  ></i>
                 </el-input>
               </el-form-item>
               <el-form-item label="鍙傜収閰嶇疆:" label-width="152px" required>
                 <el-input
-                  ref="referConfig" 
+                  ref="referConfig"
+                  v-model="form.referConfig"
+                  :disabled="basicSecOnlyRead"
                   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>
+                >
+                  <i
+                    slot="suffix"
+                    class="el-icon-circle-close"
+                    style="margin-right: 5px; cursor: pointer"
+                    @click="clearAttrDataByIcon('referConfig')"
+                  ></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>
+            <div v-show="form.secType === 'codedatesec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鏃ユ湡鏍煎紡:"
+                prop="Dateformat"
+              >
+                <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">
+            <div v-show="form.secType === 'codeclassifysec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鐮佹闀垮害绫诲瀷:"
+                required
+              >
+                <el-select
+                  v-model="form.codeSecLengthType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                >
                   <el-option
                     v-for="item in enumParam.codeSecLengthType"
                     :key="item.itemValue"
                     :label="item.itemName"
-                    :value="item.itemValue">
+                    :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-form-item
+                :label-width="rightFormLabelWidth"
+                label="鐮佹鐨勯暱搴�:"
+                required
+              >
                 <el-input
+                  ref="classCodeSecLength"
+                  v-model.number="form.codeSecLength"
+                  :readonly="basicSecOnlyRead"
+                ></el-input>
+              </el-form-item>
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鏄惁鑷姩鍒嗛厤鍒嗙被鍊�:"
+              >
+                <el-switch
+                  v-model="form.matchClassifyValueFlag"
+                  :disabled="basicSecOnlyRead"
+                ></el-switch>
+              </el-form-item>
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鐖跺垎绫荤爜娈�:"
+              >
+                <el-input
+                  v-model="form.parentClassifySecText"
+                  :disabled="basicSecOnlyRead"
                   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>
+                >
+                  <i
+                    slot="suffix"
+                    class="el-icon-circle-close"
+                    style="margin-right: 5px; cursor: pointer"
+                    @click="clearAttrDataByIcon('parentClassifySecOid')"
+                  ></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>
+            <div v-show="form.secType === 'codevariablesec' ? true : false">
+              <el-form-item
+                :label-width="rightFormLabelWidth"
+                label="鐮佹鐨勯暱搴�:"
+                required
+              >
+                <el-input
+                  ref="varCodeSecLength"
+                  v-model.number="form.codeSecLength"
+                  :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-form-item
+                :label-width="rightFormLabelWidth"
+                label="缂栫爜琛ヤ綅鏂瑰紡:"
+                required>
+                <el-select
+                  v-model="form.codeFillType"
+                  :disabled="basicSecOnlyRead"
+                  placeholder="璇烽�夋嫨"
+                >
                   <el-option
-                      v-for="item in enumParam.codeFillType"
-                      :key="item.itemValue"
-                      :label="item.itemName"
-                      :value="item.itemValue">
+                    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.codeFillSeparator" filterable @blur="inputSelectBlur" placeholder="璇烽�夋嫨" :disabled="basicSecOnlyRead">
+              <el-form-item
+                v-if="form.codeFillType != 'code_fill_none'"
+                :label-width="rightFormLabelWidth"
+                label="琛ヤ綅鏃剁殑瀛楃:"
+              >
+                <el-select
+                  v-model="form.codeFillSeparator"
+                  :disabled="basicSecOnlyRead"
+                  filterable
+                  placeholder="璇烽�夋嫨"
+                  clearable
+                >
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue">
+                    :key="item.lable"
+                    :label="item.lable"
+                    :value="item.value"
+                  >
                   </el-option>
                 </el-select>
               </el-form-item>
@@ -680,28 +1165,43 @@
           </span>
         </el-form>
       </div>
-      <!-- 绗竴灞傚璇濇鐨勬寜閽拰锛岀嚎鏉� -->
-      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
+      <!-- 绗竴灞傚璇濇鐨勬寜閽拰鍒嗛殧绾挎潯 -->
+      <!-- <el-divider class="horizontal-line" direction="horizontal"></el-divider> -->
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="saveOrEditBasicCode" v-show="showbtn">淇� 瀛�</el-button>
-        <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">鍙� 娑�</el-button>
+        <el-button
+          :disabled="!showbtn"
+          :loading="isLoadingSecCodeAddBtn"
+          type="primary"
+          @click="saveOrEditBasicCode">淇� 瀛�
+        </el-button>
+        <el-button @click="addBasicCodeSettingBox = false">鍙� 娑�</el-button>
       </div>
 
       <!--  绗簩灞傚璇濇,灞炴�х爜娈碉紝灞炴�ч�夋嫨瀵硅瘽妗� -->
-      <el-dialog title="涓恒�愬睘鎬с�戦�夊彇鍊�"
-        append-to-body
+      <el-dialog
         :visible.sync="isShowSelectAttrOption"
+        append-to-body
+        class="avue-dialog avue-dialog--top"
+        style="height: 100%"
+        title="涓恒�愬睘鎬с�戦�夊彇鍊�"
+        top="-3%"
         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 ">
+                <el-scrollbar
+                  style="height: auto; border-bottom-right-radius: 8px"
+                >
                   <basic-container>
                     <div class="treeBox">
-                      <avue-tree :data="attrClassifyTreeData" :option="treeOption" @node-click="nodeClick"/>
+                      <avue-tree
+                        :data="attrClassifyTreeData"
+                        :option="treeOption"
+                        @node-click="nodeClick"
+                      />
                     </div>
                   </basic-container>
                 </el-scrollbar>
@@ -711,16 +1211,17 @@
             <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>
+                  <avue-crud
+                    :ref="selectAttrParams.ref"
+                    :data="selectAttrParams.selectAttrData"
+                    :option="selectAttrParams.attrOption"
+                    :table-loading="selectAttrParams.selectAttrOptionLoading"
+                    @search-change="selectAttrSearchChange"
+                    @search-reset="searchAttrReset"
+                    @row-click="selectionAttrRowClick"
+                    @selection-change="selectionChangeAttr"
+                  >
+                  </avue-crud>
                 </div>
               </basic-container>
             </el-col>
@@ -733,27 +1234,30 @@
       </el-dialog>
 
       <!-- 绗簩灞傚璇濇,灞炴�х爜娈碉紝鍏紡缂栬緫妗嗗璇濇缁勪欢 -->
-      <formula-editor 
-        ref="formulaEditor" 
-        @updateFormulaContent="updateFormulaContent" 
+      <formula-editor
+        ref="formulaEditor"
+        :systemVariableTableData="formulaEditorParams.systemVariableTableData"
         :thisSceneTableData="formulaEditorParams.thisSceneTableData"
         :visible.sync="formulaEditorParams.formulaEditorSettingBox"
-        :systemVariableTableData="formulaEditorParams.systemVariableTableData">
+        @updateFormulaContent="updateFormulaContent"
+      >
       </formula-editor>
 
       <!-- 绗簩灞傚璇濇,涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊煎璇濇 -->
-      <el-dialog title="涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊�"
-        append-to-body
+      <el-dialog
         :visible.sync="parentClsfyParams.isShowParentClassifySettingBox"
+        append-to-body
+        destroy-on-close
+        style="height: 150vh; margin-top: -13vh"
+        title="涓恒�愮埗鍒嗙被鐮佹銆戦�夊彇鍊�"
         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"
+          :option="parentClsfyParams.parentClassifyParentOption"
+          :page.sync="parentClsfyParams.parentClassifyDataPage"
+          :table-loading="parentClsfyParams.classifyDialogLoading"
           @refresh-change="refreshParentClassifyDataChange"
           @search-change="parentClassifySearchChange"
           @search-reset="parentClassifySearchReset"
@@ -761,2050 +1265,2555 @@
           @selection-change="parentClassifySelectionChange"
           @current-change="parentClassifyCurrentChange"
           @size-change="parentClassifySizeChange"
-          @on-load="parentClassifyOnLoad">
+          @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>
+          <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">
+        :visible.sync="referBtmDialogParams.selectReferBtmSettingBox"
+        @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>
-
+      <!-- 绗簩灞傚璇濇,鍙傜収閰嶇疆缁勪欢 -->
+      <refer-config-dialog
+        :display="referConfigVisble"
+        :referConfigOption="referConfigOption"
+        @setReferConfigValue="setReferConfigValue"
+      >
+      </refer-config-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 { listClassifyLinkAttr } from "@/api/code/codeclassify";
-  import { gridCodeFixedValue,addSaveCodeFixedValue,deleteCodeFixedValue,editCodeFixedValue,saveOrder } from "@/api/code/codeFixedValue";
-  import { treeCodeClassifyValue,addSaveCodeClassifyValue,editCodeClassifyValue,deleteCodeClassifyValue,saveCodeClassifyValueOrder } from "@/api/code/codeClassifyValue";
-  import { getDictionary } from "@/api/omd/enum";
-  import optionBasic from "@/const/code/codebasic";
-  import cloneOption from "@/const/code/cloneOption";
-  import cloneBasicOption from "@/const/code/cloneBasicDialogOption";
-  import cloneCodeRuleOption from "@/const/code/cloneCodeRuleDialogOption";
-  import optionRule from "@/const/code/mdmrule";
-  import attrOption from "@/const/code/selectAttrOptionDialog";
-  import treeOption from "@/const/code/classifyTreeOptionDialog";
-  import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog";
-  import parentClassifyParentOption from "@/const/code/parentClassifyParentOptionDialog";
-  import fixedValueOption from "@/const/code/fixedValueMgrDialog";
-  import {mapGetters} from "vuex";
-  import func from "@/util/func";
-  import {MasterTable} from "@/api/GetItem";
+import {
+  gridCodeRule,
+  getDetail,
+  add,
+  update,
+  remove,
+  listUseRange,
+  updateStatus,
+  clearAllCode,
+  checkLikeCodeRule,
+} from "@/api/code/mdmrule";
+import {
+  gridCodeBasicSec,
+  downOrderNum,
+  upOrderNum,
+  deleteData,
+  editSave,
+  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";
+import { getSelectList, getRegexStr } from "@/api/code/codeCharcter"
+import {getDictionary} from "@/api/omd/enum";
+// import {getDictionaryBiz} from "@/api/system/dictbiz";
+import optionBasic from "@/const/code/codebasic";
+import optionRule from "@/const/code/mdmrule";
+import attrOption from "@/const/code/selectAttrOptionDialog";
+import treeOption from "@/const/code/classifyTreeOptionDialog";
+import classisyValueTreeOption from "@/const/code/classisyValueTreeDialog";
+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 secTypeEnum from '@/enumpack/CodeSecTypeEnum';
+import vciWebRefer from "../../components/refer/vciWebRefer";
 
-  export default {
-      data() {
-        return {
-          ruleForm: {},
-          query: {},
-          loading: true,
-          currentCodeRuleOid: '',
-          page: {
-            pageSize: 10,
-            currentPage: 1,
-            total: 0
-          },
-          selectionList: [],
-          /*缂栫爜瑙勫垯琛ㄦ牸閰嶇疆*/
-          optionRule: optionRule,
-          data: [],
-          currentRuleLcStatus: '',
-          /*鍏嬮殕瀵硅瘽妗嗘帶鍒跺彉閲�*/
-          cloneSettingBox: false,
-          cloneTableLoading: false,
-          cloneOption: cloneOption,
-          cloneData: [],
-          cloneCodeRuleForm: {
-            id: '',
-            name: '',
-            description: '',
-          },
-          /*浠庡叾浠栬鍒欏厠闅嗙爜娈�*/
-          cloneOtherCodeRuleSettingBox: false,
-          cloneBasicOption: cloneBasicOption,
-          cloneCodeRuleOption: cloneCodeRuleOption,
-          selectionOtherCloneCodeBasicList: [], // 褰撳墠閫変腑鐨勫熀纭�鐮佹
-
-          /*浣跨敤鑼冨洿瀵硅瘽妗嗘樉绀烘帶鍒�*/
-          codeRangeSettingBox: false,
-          useRangeData: [],
-          dialogLoading: true,
-          /*浣跨敤鑼冨洿瀵硅瘽妗嗛厤缃�*/
-          dialogeOption: {
-            height: 'auto',
-            calcHeight: 30,
-            tip: false,
-            searchShow: false,
-            searchMenuSpan: 6,
-            border: true,
-            index: true,
-            disablePage:false,
-            viewBtn: false,
-            addBtn: false,
-            menu: false,
-            selection: false,
-            dialogClickModal: false,
-            align: 'center',
-            dialogWidth: 400,
-            column: [
-              {
-                label: "鍒嗙被缂栧彿",
-                prop: "id",
-                span: 24
-              },
-              {
-                label: "鍒嗙被鍚嶇О",
-                prop: "name",
-                span: 24,
+export default {
+  components: {vciWebRefer},
+  data() {
+    return {
+      rules: {
+        Dateformat: [
+          {
+            required: true,
+            trigger: 'blur',
+            validator: (rule, value, callback) => {
+              const Formats = [
+                'yy',
+                'yyyy',
+                'yy-MM',
+                'yyMM',
+                'yyyy-MM',
+                'yyyyMM',
+                'yy-MM-dd',
+                'yyMMdd',
+                'yyyy-MM-dd',
+                'yyyyMMdd',
+                'yyyy-MM-dd HH:mm:ss',
+                'yy-MM-dd HH:mm:ss',
+                'HH:mm:ss',
+                'yyyyMMdd HH:mm:ss',
+                'yyMMdd HH:mm:ss',
+                'yyyy-MM-dd HHmmss',
+                'yy-MM-dd HHmmss',
+                'yyyyMMdd HHmmss',
+                'yyMMdd HHmmss',
+                'HHmmss'
+              ];
+              if (!Formats.includes(this.form.codeDateFormatStr)) {
+                return callback(new Error('璇疯緭鍏ユ纭棩鏈熸牸寮忥紝渚嬪yyyy-MM-dd锛堝苟鍖哄垎澶у皬鍐欙級锛�'));
               }
-            ]
-          },
-
-          /*鍩虹鐮佹鐩稿叧鏁版嵁*/
-          optionBasic: optionBasic,
-          basicData:[],
-          loadingBasic: true,
-          selectionBasicList: [],
-          addBasicCodeSettingBox: false,
-          showbtn: false, //鍩虹鐮佹鏂板鏄惁鏄剧ず鍩虹鐮佹
-          basicSecDialogTitle: '', //鍩虹鐮佹绗竴灞傚璇濇鏍囬
-          basicSecOnlyRead: false, //鏂板鍩虹鐮佹琛ㄥ崟鏄惁鍙
-
-
-          /** 鐮佸�肩鐞嗙浉鍏虫暟鎹� */
-          isShowBasicSecCodeValueMgr: false, //鐮佹鐮佸�肩鐞嗗璇濇
-          codefixedsecOrCodeclassifysecOid: '', //瀛樻斁鍩虹鐮佹鐐瑰嚮鐮佸�肩鐞嗘椂鐨勫綋鍓嶈id锛岀敤浜庝繚瀛樼爜鍊兼椂浣跨敤
-          selectedFixedOrCodeclassifyValue: '', //褰撳墠閫変腑鐨勭爜鍊兼暟鎹�
-          //鍥哄畾鐮佹鐮佸�艰〃鍗�
-          codeFixdForm: {
-            codeFixedSecOid: "",
-            description: "",
-            id: "",
-          }, 
-          isShowFixedForm: true, //true鏄剧ず鍥哄畾鐮佹鐮佸�肩鐞嗙晫闈紝false鏄剧ず鍒嗙被鐮佹鐮佸�肩鐞嗙晫闈�
-          fixedValueData: [], //鍥哄畾鐮佹鐮佸�艰〃鏍兼暟鎹�
-          fixedValueOption: fixedValueOption, //琛ㄦ牸閰嶇疆
-          fixedValueOptionLoading: false,  //鍔犺浇琛ㄦ牸鐨勫姩鎬佹晥鏋�
-          fixedValueSelectList: [],  //鍥哄畾鐮佹鐮佸�煎綋鍓嶉�変腑鐨勮
-
-          //鍒嗙被鐮佹鐮佸�艰〃鍗�
-          codeClassifyForm: {
-            codeClassifySecOid: "",
-            id: "",
-            name: "",
-            oid: "",
-          },
-          classisyValueTreeOption: classisyValueTreeOption, //鍒嗙被鐮佹鏍戠浉鍏抽厤缃」
-          classifyValueTreeData: [],
-          //currentSelectClsValueTreeData: '', //褰撳墠閫変腑鐨勫垎绫荤爜鍊兼爲鑺傜偣
-
-          /* 涓哄睘鎬ч�夊彇鍊肩獥鍙f樉绀烘墦寮�鎺у埗鍙橀噺 */
-          isShowSelectAttrOption: false,
-          /* 涓哄睘鎬ч�夊�煎乏渚ф爲鏁版嵁 */
-          attrClassifyTreeData: [],
-          treeOption: treeOption,
-          currentSelectTreeData: '', //褰撳墠閫変腑鐨勬爲鑺傜偣
-          /* 涓哄睘鎬ч�夊�煎彸渚ц〃鏍肩浉鍏虫暟鎹� */
-          
-          selectAttrParams: {
-            ref: "selectionAttrCrud",
-            attrOption: attrOption,
-            selectAttrData: [],
-            selectAttrOptionLoading: false,
-            selectionChangeAttrList: [],
-            selectAttrQeury: {},
-          },
-
-          // 灞炴�х爜娈碉紝鍏紡缂栬緫妗嗙粍浠剁殑鏈満鏅樉绀哄彉閲忋�佷笌绯荤粺鍙橀噺
-          formulaEditorParams: {
-            thisSceneTableData: [
-              {
-                  formula: "${}",
-                  desc: "",
-              }
-            ],
-            systemVariableTableData: [
-              {
-                  formula: "#CURRENTUSER.OID#",
-                  desc: "褰撳墠鐢ㄦ埛鐨勪富閿�",
-              },
-              {
-                  formula: "#CURRENTUSER.ID#",
-                  desc: "褰撳墠鐢ㄦ埛鐨勮处鎴�",
-              },
-              {
-                  formula: "#CURRENTTIME#",
-                  desc: "褰撳墠鏃堕棿",
-              },
-              {
-                  formula: "#CURRENTDATE#",
-                  desc: "褰撳墠鏃ユ湡",
-              },
-              {
-                  formula: "#CURRENTDATETIME#",
-                  desc: "褰撳墠鏃ユ湡鏃堕棿",
-              },
-              {
-                  formula: "#CURRENTUSER_NAME#",
-                  desc: "褰撳墠鐢ㄦ埛鐨勫鍚�",
-              },
-              {
-                  formula: "#CURRENTUSER.SECRETGRADE#",
-                  desc: "褰撳墠鐢ㄦ埛瀵嗙骇",
-              },
-              {
-                  formula: "#CURRENTUSER.IPSECRET#",
-                  desc: "褰撳墠鐢ㄦ埛鐨処P瀵嗙骇",
-              },
-              {
-                  formula: "#CURRENTUSER.BUSINESSUNIT#",
-                  desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏�",
-              },
-              {
-                  formula: "#CURRENTUSER.BUSINESSUNITNAME#",
-                  desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏冨悕绉�",
-              },
-              {
-                  formula: "#CURRENTUSER.GROUPOID#",
-                  desc: "褰撳墠鐢ㄦ埛鐨勯儴闂ㄤ富閿�",
-              },
-              {
-                  formula: "#CURRENTUSER.GROUPNAME#",
-                  desc: "褰撳墠鐢ㄦ埛鎵�灞為儴闂ㄥ悕绉�",
-              },
-              {
-                  formula: "#CURRENTUSER.EMAIL#",
-                  desc: "褰撳墠鐢ㄦ埛閭欢鍦板潃",
-              },
-              {
-                  formula: "#CURRENTUSER.ROLENAME#",
-                  desc: "褰撳墠鐢ㄦ埛鎵�灞炶鑹插悕绉�",
-              },
-            ],
-            formulaEditorSettingBox: false,
-          },
-          
-          /* 鐖跺垎绫荤爜娈靛璇濇 */
-          parentClsfyParams: {
-            ref: 'crudParentClassify',
-            isShowParentClassifySettingBox: false, //鐖跺垎绫荤爜娈靛璇濇鏄剧ず鎺у埗
-            classifyDialogLoading: true, //琛ㄦ牸鏁版嵁鍔犺浇鎻愮ず
-            parentClassifyParentOption: parentClassifyParentOption,  //琛ㄦ牸閰嶇疆
-            parentClassifyData: [], //琛ㄦ牸鏁版嵁
-            //鍒嗛〉鍙傛暟閰嶇疆
-            parentClassifyDataPage: {
-              pageSize: 10,
-              currentPage: 1,
-              total: 0
+              callback();
+            }
+          }
+        ]
+      },
+      referConfig: {
+        title: '鑷畾涔夋祦姘村弬鐓�',
+        showField: 'customCodeSerialClassText',
+        field: 'customCodeSerialClass',
+        fieldMap: {
+          serialType: "serialType",
+        },
+        placeholder: '璇烽�夋嫨鑷畾涔夋祦姘�',
+        options: {
+          // 璁剧疆榛樿鐨勫睘鎬�
+          url: 'api/ubcs-code/codeSerialAlgorithmController/gridCodeSerialAlgorithm',
+          textField: 'name',
+          valueField: 'classFullName',
+          isMuti: false,
+          type: "grid",
+          method: 'get',
+          tableConfig: {
+            page: {
+              limit: 15,
+              page: 1
             },
-            parentClassifyQuery: {}, //鏌ヨ鏉′欢
-            parentClassifySelectionList: [], //褰撳墠閫変腑琛�
-          },
-          
-          /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鏁版嵁 */
-          referBtmDialogParams: {
-            ref: 'crudReferBtm',
-            selectReferBtmSettingBox: false,
-          },
-
-          /** 鍩虹鐮佹鏂板琛ㄥ崟 */
-          form: {
-            id: '', //缂栧彿
-            name: '', //鍚嶇О
-            secType: 'codefixedsec', //鐮佹绫诲瀷
-            description: '', //鎻忚堪
-            serialDependFlag: false, //鏄惁娴佹按渚濊禆
-            serialDependOrder: '', //娴佹按渚濊禆椤哄簭
-            nullableFlag: false, //鏄惁涓虹┖
-            displayFlag: false, //
-            componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
-            pkCodeRule: '', //鎵�灞炵紪鐮佽鍒�
-          },
-          
-          //鏋氫妇鍜屽彲杈撳彲閫夋煡璇�
-          enumParam: {
-            secTypeList:[],    //鐮佹绫诲瀷
-            codeSecLengthType:[],  //鐮佹闀垮害绫诲瀷
-            codeFillType:[],   //缂栫爜琛ヤ綅鏂瑰紡
-            codeFillSeparator:[], //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夊唴瀹�
-            codeLevelType:[],     //灞傜骇绫诲瀷
-            codeCutType:[],       //瀛楃鎴彇绫诲瀷
-            codeGetValueType:[],  //鍙栧�肩被鍨�
-          },
-
-          //琛ㄥ崟鍏冪礌鏍囩瀹藉害
-          leftFormLabelWidth: '110px',
-          rightFormLabelWidth: '150px',
-
-          // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁�
-          advancedQueryParam: {
-            ref: 'advancedQuery',
-            advancedQuerySettingBox: false,
-            options: [],
-            currentOpen: '', //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸
-            //conditionMapParams: {},
-          },
-
-        };
-      },
-      computed: {
-        ...mapGetters(["permission"]),
-        permissionList() {
-          return {
-            addBtn: this.vaildData(this.permission.codeRule_add, true),
-            viewBtn: this.vaildData(this.permission.codeRule_view, false),
-            delBtn: this.vaildData(this.permission.plCodeRule_delete, false),
-            editBtn: this.vaildData(this.permission.codeRule_edit, true)
-          };
-        },
-      },
-      watch:{
-
-      },
-      methods: {
-
-        /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
-        echoSeniorContionMap(conditionMaps){
-          //console.log(conditionMaps);
-          if(JSON.stringify(conditionMaps)!='{}'){
-            if(this.advancedQueryParam.currentOpen =='codeRule'){
-              this.query = conditionMaps;
-              this.onLoad(this.page);
-            }else{
-              this.sendGridCodeBasicSec(conditionMaps,true);
-            }
-            //console.log(conditionMaps);
+            cols: [
+              {title: '绠楁硶缂栧彿', field: 'id', width: 200},
+              {title: '绠楁硶鍚嶇О', field: 'name', width: 150},
+              {title: '绫诲叏璺緞', field: 'classFullName', width: 300},
+              {title: '绫诲瀷', field: 'serialType', width: 300},
+              {title: '鎻忚堪', field: 'description'}
+            ],
+            queryColumns: [
+              // {field: 'id', title: '绠楁硶缂栧彿'},
+              // {field: 'name', title: '绠楁硶鍚嶇О'}
+            ]
           }
+        }
+      },
+      crudOption: {...optionRule},
+      ruleForm: {},
+      query: {},
+      loading: true,
+      currentCodeRuleOid: "",
+      page: {
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      selectionList: [],
+      /*缂栫爜瑙勫垯琛ㄦ牸閰嶇疆*/
+      optionRule: optionRule,
+      data: [],
+      currentRuleLcStatus: "",
+
+      /*鍏嬮殕缂栫爜瑙勫垯瀵硅瘽妗嗘帶鍒跺彉閲�*/
+      cloneSettingBox: false,
+
+      /*浠庡叾浠栬鍒欏厠闅嗙爜娈�*/
+      cloneOtherCodeRuleSettingBox: false,
+
+      /** 杞Щ鎵�鏈夎�呭璇濇 */
+      escapeOwnerVisible: false,
+      ruleAdminUserList: [], //瑙勫垯绠$悊鍛樺垪琛�
+      ruleOwner: "", // 褰撳墠瑕佽浆绉荤粰鍝釜瑙勫垯绠$悊鍛樼殑ID
+      releadDisabled: false, // 閬垮厤瑙勫垯鍙戝竷閲嶅鎻愪氦
+
+      /*鏈�澶ф祦姘村彿*/
+      maxSerial: {
+        visible: false,
+      },
+
+      /*浣跨敤鑼冨洿瀵硅瘽妗嗘樉绀烘帶鍒�*/
+      codeRangeSettingBox: false,
+      useRangeData: [],
+      dialogLoading: true,
+      /*浣跨敤鑼冨洿瀵硅瘽妗嗛厤缃�*/
+      dialogeOption: {
+        height: "auto",
+        calcHeight: 150,
+        tip: false,
+        searchShow: false,
+        searchMenuSpan: 6,
+        border: true,
+        index: true,
+        disablePage: false,
+        refreshBtn: false,
+        columnBtn: false,
+        viewBtn: false,
+        addBtn: false,
+        menu: false,
+        selection: false,
+        dialogClickModal: false,
+        align: "center",
+        dialogWidth: 400,
+        column: [
+          {
+            label: "鍒嗙被缂栧彿",
+            prop: "id",
+            span: 24,
+          },
+          {
+            label: "鍒嗙被鍚嶇О",
+            prop: "name",
+            span: 24,
+          },
+        ],
+      },
+
+      /*鍩虹鐮佹鐩稿叧鏁版嵁*/
+      optionBasic: optionBasic,
+      basicData: [],
+      loadingBasic: false,
+      selectionBasicList: [],
+      addBasicCodeSettingBox: false,
+      showbtn: false, //鍩虹鐮佹鏂板鎸夐挳鏄惁绂佺敤
+      isLoadingSecCodeAddBtn: false,
+      basicSecDialogTitle: "", //鍩虹鐮佹绗竴灞傚璇濇鏍囬
+      basicSecOnlyRead: false, //鏂板鍩虹鐮佹琛ㄥ崟鏄惁鍙
+
+      /** 鐮佸�肩鐞嗙浉鍏虫暟鎹� */
+      isShowBasicSecCodeValueMgr: false, //鐮佹鐮佸�肩鐞嗗璇濇
+      codefixedsecOrCodeclassifysec: "", //瀛樻斁鍩虹鐮佹鐐瑰嚮鐮佸�肩鐞嗘椂鐨勫綋鍓嶈id锛岀敤浜庝繚瀛樼爜鍊兼椂浣跨敤
+      selectedFixedOrCodeclassifyValue: "", //褰撳墠閫変腑鐨勭爜鍊兼暟鎹�
+      //鍥哄畾鐮佹鐮佸�艰〃鍗�
+      codeFixdForm: {
+        codeFixedSecOid: "",
+        description: "",
+        id: "",
+      },
+      isShowFixedForm: true, //true鏄剧ず鍥哄畾鐮佹鐮佸�肩鐞嗙晫闈紝false鏄剧ず鍒嗙被鐮佹鐮佸�肩鐞嗙晫闈�
+      fixedValueData: [], //鍥哄畾鐮佹鐮佸�艰〃鏍兼暟鎹�
+      fixedValueOption: fixedValueOption, //琛ㄦ牸閰嶇疆
+      fixedValueOptionLoading: false, //鍔犺浇琛ㄦ牸鐨勫姩鎬佹晥鏋�
+      fixedValueSelectList: [], //鍥哄畾鐮佹鐮佸�煎綋鍓嶉�変腑鐨勮
+
+      //鍒嗙被鐮佹鐮佸�艰〃鍗�
+      codeClassifyForm: {
+        codeClassifySecOid: "",
+        id: "",
+        name: "",
+        oid: "",
+      },
+      classisyValueTreeOption: classisyValueTreeOption, //鍒嗙被鐮佹鏍戠浉鍏抽厤缃」
+      classifyValueTreeData: [],
+
+      /* 涓哄睘鎬ч�夊彇鍊肩獥鍙f樉绀烘墦寮�鎺у埗鍙橀噺 */
+      isShowSelectAttrOption: false,
+      /* 涓哄睘鎬ч�夊�煎乏渚ф爲鏁版嵁 */
+      attrClassifyTreeData: [],
+      treeOption: treeOption,
+      currentSelectTreeData: "", //褰撳墠閫変腑鐨勬爲鑺傜偣
+      /* 涓哄睘鎬ч�夊�煎彸渚ц〃鏍肩浉鍏虫暟鎹� */
+
+      selectAttrParams: {
+        ref: "selectionAttrCrud",
+        attrOption: attrOption,
+        selectAttrData: [],
+        selectAttrOptionLoading: false,
+        selectionChangeAttrList: [],
+        selectAttrQeury: {},
+      },
+
+      // 灞炴�х爜娈碉紝鍏紡缂栬緫妗嗙粍浠剁殑鏈満鏅樉绀哄彉閲忋�佷笌绯荤粺鍙橀噺
+      formulaEditorParams: {
+        thisSceneTableData: [
+          {
+            formula: "${}",
+            desc: "",
+          },
+        ],
+        systemVariableTableData: [
+          {
+            formula: "#CURRENTUSER.OID#",
+            desc: "褰撳墠鐢ㄦ埛鐨勪富閿�",
+          },
+          {
+            formula: "#CURRENTUSER.ID#",
+            desc: "褰撳墠鐢ㄦ埛鐨勮处鎴�",
+          },
+          {
+            formula: "#CURRENTTIME#",
+            desc: "褰撳墠鏃堕棿",
+          },
+          {
+            formula: "#CURRENTDATE#",
+            desc: "褰撳墠鏃ユ湡",
+          },
+          {
+            formula: "#CURRENTDATETIME#",
+            desc: "褰撳墠鏃ユ湡鏃堕棿",
+          },
+          {
+            formula: "#CURRENTUSER_NAME#",
+            desc: "褰撳墠鐢ㄦ埛鐨勫鍚�",
+          },
+          {
+            formula: "#CURRENTUSER.SECRETGRADE#",
+            desc: "褰撳墠鐢ㄦ埛瀵嗙骇",
+          },
+          {
+            formula: "#CURRENTUSER.IPSECRET#",
+            desc: "褰撳墠鐢ㄦ埛鐨処P瀵嗙骇",
+          },
+          {
+            formula: "#CURRENTUSER.BUSINESSUNIT#",
+            desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏�",
+          },
+          {
+            formula: "#CURRENTUSER.BUSINESSUNITNAME#",
+            desc: "褰撳墠鐢ㄦ埛鎵�灞炰笟鍔″崟鍏冨悕绉�",
+          },
+          {
+            formula: "#CURRENTUSER.GROUPOID#",
+            desc: "褰撳墠鐢ㄦ埛鐨勯儴闂ㄤ富閿�",
+          },
+          {
+            formula: "#CURRENTUSER.GROUPNAME#",
+            desc: "褰撳墠鐢ㄦ埛鎵�灞為儴闂ㄥ悕绉�",
+          },
+          {
+            formula: "#CURRENTUSER.EMAIL#",
+            desc: "褰撳墠鐢ㄦ埛閭欢鍦板潃",
+          },
+          {
+            formula: "#CURRENTUSER.ROLENAME#",
+            desc: "褰撳墠鐢ㄦ埛鎵�灞炶鑹插悕绉�",
+          },
+        ],
+        formulaEditorSettingBox: false,
+      },
+
+      /* 鐖跺垎绫荤爜娈靛璇濇 */
+      parentClsfyParams: {
+        ref: "crudParentClassify",
+        isShowParentClassifySettingBox: false, //鐖跺垎绫荤爜娈靛璇濇鏄剧ず鎺у埗
+        classifyDialogLoading: true, //琛ㄦ牸鏁版嵁鍔犺浇鎻愮ず
+        parentClassifyParentOption: parentClassifyParentOption, //琛ㄦ牸閰嶇疆
+        parentClassifyData: [], //琛ㄦ牸鏁版嵁
+        //鍒嗛〉鍙傛暟閰嶇疆
+        parentClassifyDataPage: {
+          pageSize: 10,
+          currentPage: 1,
+          total: 0,
         },
-        /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */
-        updateFormulaContent(content){
-          this.form.getValueClass = content;
-        },
-        /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
-        echoReferConfig(content){
-          // console.log(content.referTypeName);
-          this.form.referBtmId = content.referType || '';
-          this.form.referBtmName = content.referTypeName || content.referType;
-          //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
-          let submitFormJson = JSON.stringify(content);
-          this.form.referConfig = submitFormJson || '';
-          this.form.referValueInfo = submitFormJson || '';
-        },
-        /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
-        echoReferBtmType(content){
-          // 瀹炵幇鍥炴樉
-          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){
-            this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
-            return false;
-          }
-          //鍙傛暟鍊硷紝瀹炵幇鍥炴樉
-          this.form.parentClassifySecOid = this.parentClsfyParams.parentClassifySelectionList[0].oid;
-          this.form.parentClassifySecText = this.parentClsfyParams.parentClassifySelectionList[0].name;
-          //娓呯┖褰撳墠閫変腑鐨勮
-          this.parentClassifySelectionClear();
-          this.parentClsfyParams.isShowParentClassifySettingBox = false;
-        },
-        parentClassifySearchReset() {
-          this.parentClsfyParams.parentClassifyQuery = {};
-          this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage);
-        },
-        parentClassifySearchChange(params, done) {
-          this.parentClsfyParams.parentClassifyQuery = params;
-          this.parentClsfyParams.parentClassifyDataPage.currentPage = 1;
-          this.parentClassifyOnLoad(this.page, params);
-          done();
-        },
-        parentClassifyRowClick(row){
-          this.$refs[this.parentClsfyParams.ref].toggleSelection();
-          this.parentClsfyParams.parentClassifySelectionList = row;
-          this.$refs[this.parentClsfyParams.ref].setCurrentRow(row);
-          this.$refs[this.parentClsfyParams.ref].toggleRowSelection(row); //閫変腑褰撳墠琛�
-        },
-        parentClassifySelectionChange(list) {
-          this.parentClsfyParams.parentClassifySelectionList = list;
-          this.$refs[this.parentClsfyParams.ref].setCurrentRow(this.parentClsfyParams.parentClassifySelectionList[list.length-1]);
-        },
-        parentClassifySelectionClear() {
-          this.parentClsfyParams.parentClassifySelectionList = [];
-          this.$refs[this.parentClsfyParams.ref].toggleSelection();
-        },
-        parentClassifyCurrentChange(currentPage){
-          this.parentClsfyParams.parentClassifyDataPage.currentPage = currentPage;
-        },
-        parentClassifySizeChange(pageSize){
-          this.parentClsfyParams.parentClassifyDataPage.pageSize = pageSize;
-        },
-        refreshParentClassifyDataChange() {
-          this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage, this.parentClsfyParams.parentClassifyQuery);
-        },
-        parentClassifyOnLoad(page, params = {}) {
-          let parentClsParam = this.parentClsfyParams;
-          parentClsParam.classifyDialogLoading = true;
-          let oid = this.selectionList.length==0 ? this.form.pkCodeRule:this.selectionList[0].oid;
-          let conditionMaps = {};
-          conditionMaps['conditionMap[pkCodeRule]'] = oid;
-          refDataGridClassifySec(
-            page.currentPage, 
-            page.pageSize, 
-            conditionMaps
-          ).then(res => {
-            //console.log(res.data);
-            const data = res.data.data;
-            parentClsParam.parentClassifyDataPage.total = data.total;
-            parentClsParam.parentClassifyData = data.records;
-            parentClsParam.classifyDialogLoading = false;
-            this.parentClassifySelectionClear();
+        parentClassifyQuery: {}, //鏌ヨ鏉′欢
+        parentClassifySelectionList: [], //褰撳墠閫変腑琛�
+      },
+
+      /** 鍙傜収寮曠敤鐨勪笟鍔$被鍨嬪璇濇鐩稿叧鏁版嵁 */
+      referBtmDialogParams: {
+        ref: "crudReferBtm",
+        selectReferBtmSettingBox: false,
+      },
+
+      /** 鍩虹鐮佹鏂板琛ㄥ崟 */
+      form: {
+        id: "", //缂栧彿
+        name: "", //鍚嶇О
+        secType: "codefixedsec", //鐮佹绫诲瀷
+        description: "", //鎻忚堪
+        serialDependFlag: false, //鏄惁娴佹按渚濊禆
+        //serialDependOrder: "", //娴佹按渚濊禆椤哄簭
+        nullableFlag: false, //鏄惁涓虹┖
+        prefixCode: "", //鍓嶇紑
+        suffixCode: "", //鍚庣紑
+        displayFlag: false, //
+        componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
+        pkCodeRule: "", //鎵�灞炵紪鐮佽鍒�
+      },
+
+      //鏋氫妇鍜屽彲杈撳彲閫夋煡璇�
+      enumParam: {
+        secTypeList: [], //鐮佹绫诲瀷
+        codeSecLengthType: [], //鐮佹闀垮害绫诲瀷
+        codeFillType: [], //缂栫爜琛ヤ綅鏂瑰紡
+        codeFillSeparator: [], //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夊唴瀹�
+        codeLevelType: [], //灞傜骇绫诲瀷
+        codeCutType: [], //瀛楃鎴彇绫诲瀷
+        codeGetValueType: [], //鍙栧�肩被鍨�
+      },
+
+      //琛ㄥ崟鍏冪礌鏍囩瀹藉害
+      leftFormLabelWidth: "110px",
+      rightFormLabelWidth: "150px",
+
+      // 楂樼骇鏌ヨ瀵硅瘽妗嗙浉鍏冲弬鏁�
+      advancedQueryParam: {
+        ref: "advancedQuery",
+        advancedQuerySettingBox: false,
+        options: [],
+        currentOpen: "", //褰撳墠鎵撳紑楂樼骇鏌ヨ鐨勭獥鍙f槸
+        //conditionMapParams: {},
+      },
+
+      //寮曠敤鐮佹涓弬鐓ч厤缃粍浠剁浉鍏冲弬鏁�
+      referConfigOption: {},
+      referConfigVisble: false,
+
+      preFixOrSuffixChars: [], //鍓嶅悗缂�瀛楃鍒楄〃
+
+    };
+  },
+  computed: {
+    ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        // 缂栫爜瑙勫垯鐩稿叧鎸夐挳
+        addBtn: this.vaildData(this.permission.code_rule.code_rule_add, false),
+        //viewBtn: this.vaildData(this.permission.code_rule.code_rule_view, false),
+        rulDelBtn: this.vaildData(this.permission.code_rule.code_rule_delete, false),
+        editBtn: this.vaildData(this.permission.code_rule.code_rule_edit, false),
+        deactivateBtn: this.vaildData(this.permission.code_rule.code_rule_deactivate, false),
+        enableBtn: this.vaildData(this.permission.code_rule.code_rule_enable, false),
+        releaseBtn: this.vaildData(this.permission.code_rule.code_rule_release, false),
+        advancedQueryBtn: this.vaildData(this.permission.code_rule.code_rule_advanced_query, false),
+        cloneBtn: this.vaildData(this.permission.code_rule.code_rule_clone, false),
+        otherCloneBtn: this.vaildData(this.permission.code_rule.code_rule_other_clone, false),
+        usescopeBtn: this.vaildData(this.permission.code_rule.code_rule_usescope, false),
+        clearBtn: this.vaildData(this.permission.code_rule.code_rule_clear, false),
+        escapeOwnerBtn: this.vaildData(this.permission.code_rule.code_rule_escape_owner, false),
+        maxSerialnumBtn: this.vaildData(this.permission.code_rule.code_rule_max_serialnum, false),
+      };
+    },
+    basicPermissionList() {
+      return {
+        // 鍩虹鐮佹鐩稿叧鎸夐挳
+        addBtn: this.vaildData(this.permission.code_rule.code_basic_add, false),
+        editBtn: this.vaildData(this.permission.code_rule.code_basic_edit, false),
+        viewBtn: this.vaildData(this.permission.code_rule.code_basic_view, false),
+        basicDelBtn: this.vaildData(this.permission.code_rule.code_basic_delete, false),
+        basicAdvancedQueryBtn: this.vaildData(this.permission.code_rule.code_basic_advanced_query, false),
+        basicMgrBtn: this.vaildData(this.permission.code_rule.code_basic_mgr, false),
+        basicMoveupBtn: this.vaildData(this.permission.code_rule.code_basic_moveup, false),
+        basicDownBtn: this.vaildData(this.permission.code_rule.code_basic_down, false),
+      }
+    },
+  },
+  watch: {},
+  mounted() {
+    this.loadTotalEnum();
+  },
+  // 瑙e喅琛ㄦ牸閿欒闂
+  activated() {
+    this.$nextTick(() => {
+      this.$refs.crud.doLayout();
+      this.$refs.crudBasic.doLayout();
+    });
+  },
+  // 鐢熷懡閽╁瓙鍑芥暟
+  beforeDestroy() {
+    // 娓呴櫎鎸囧畾缂撳瓨
+    localStorage.removeItem('codeSecType');
+    localStorage.removeItem('codeSecLength');
+    localStorage.removeItem('codeFillType');
+    localStorage.removeItem('codeLevelType');
+    localStorage.removeItem('codeCutType');
+    localStorage.removeItem('codeGetValueType');
+  },
+  methods: {
+    //鑷畾涔夋祦姘村け鐒�
+    setReferValue(data) {
+      if (data.field) {
+        // this.form[data.field] = data.value || "";
+        this.form.customCodeSerialClass = data.rawData[0].id || "";
+        console.log(this.form.customCodeSerialClass);
+        this.form[data.showField] = data.text || "";
+        this.form.serialType = data.rawData[0].serialType || "";
+        this.form.customCodeSerialType = data.rawData[0].serialType || "";
+      }
+    },
+    /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */
+    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);
+        }
+      );
+    },
 
-        /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */ 
-        // 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid
-        nodeClick(data) {
-          this.currentSelectTreeData = data;
-          this.loadlistClassifyLinkAttr()
-        },
-        // 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹�
-        loadlistClassifyLinkAttr() {
-          let attrParam = this.selectAttrParams;
-          //console.log(this.currentSelectTreeData);
-          this.selectAttrParams.selectAttrOptionLoading = true;
-          let conditionMaps = {};
-          if(attrParam.selectAttrQeury){
-            Object.keys(attrParam.selectAttrQeury).forEach(key=>{
-              conditionMaps['conditionMap['+key+']'] = attrParam.selectAttrQeury[key].trim();
-            });
-          }
-          conditionMaps['conditionMap[codeClassifyOid]'] = this.currentSelectTreeData.oid;
-          conditionMaps['conditionMap[btmTypeOid]'] = this.currentSelectTreeData.btmTypeOid;
-          listClassifyLinkAttr(conditionMaps).then(res=>{
-            const data = res.data;
-            this.$nextTick(() => {
-              this.$refs[attrParam.ref].doLayout()
-            });
-            //console.log(data.data);
-            this.selectAttrParams.selectAttrData = data.data;
-            this.selectAttrParams.selectAttrOptionLoading = false;
-            // 灏嗘悳绱㈡鍐呭缃┖
-            this.selectAttrParams.selectAttrQeury = {};
-          })
-        },
-        // 鐐瑰嚮鎼滅储鍚庤Е鍙戣浜嬩欢
-        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;
-          }
-          //璋冪敤瀛愮粍浠跺苟浼犻�掑綋鍓嶉�変腑鐨勫弬鏁板�硷紝瀹炵幇鍥炴樉
-          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,
-          })
-          this.isShowSelectAttrOption = false;
-        },
-        
+    /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
+    echoSeniorContionMap(conditionMaps) {
+      //console.log(conditionMaps);
+      if (JSON.stringify(conditionMaps) != "{}") {
+        if (this.advancedQueryParam.currentOpen == "codeRule") {
+          this.query = conditionMaps;
+          // console.log(this.query);
+          this.onLoad(this.page);
+        } else {
+          this.sendGridCodeBasicSec(conditionMaps, true);
+        }
+      }
+    },
+    /* 鍏紡缂栬緫妗嗗唴瀹规敼鍙�,瀛愮粍浠剁紪杈戝畬鍏紡涔嬪悗鍐呭鍥炴樉鏃惰皟鐢� */
+    updateFormulaContent(content) {
+      this.form.getValueClass = content;
+    },
+    /* 寮曠敤鐮佹鍙傜収閰嶇疆,瀛愮粍浠跺~瀹屽弬鐓ч厤缃箣鍚庡唴瀹瑰洖鏄炬椂璋冪敤 */
+    setReferConfigValue(content) {
+      this.form.referBtmId = content.referType || "";
+      this.form.referBtmName = content.referTypeName || content.referType;
+      //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
+      let submitFormJson = JSON.stringify(content);
+      this.form.referConfig = submitFormJson || "";
+      // debugger;
+    },
+    /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
+    echoReferBtmType(content) {
+      // 瀹炵幇鍥炴樉
+      this.form.referBtmId = content.id || "";
+      this.form.referBtmName = content.name || content.id;
+    },
 
-        /** 鍩虹鐮佹琛ㄤ腑鐨勭爜鍊肩鐞嗙殑鐩稿叧鏂规硶 */
-        // 鐮佸�肩鐞嗗脊绐楁帶鍒�
-        openBasicSecCodeValueMgr(row){
-          //褰撳墠涓哄浐瀹氱爜娈电爜鍊肩鐞嗙爜鍊肩鐞�
-          if(row.secType === "codefixedsec"){
-            this.isShowFixedForm = true;
-            this.loadFixedValueTableData(row);
-          }else{
-            //鍒嗙被鐮佹
-            this.isShowFixedForm = false;
-            this.loadClassifyValueData(row);
-          }
-          this.codefixedsecOrCodeclassifysecOid = row.oid;
-          this.isShowBasicSecCodeValueMgr = true;
-        },
-        //鍔犺浇鍥哄畾鐮佹鐮佸�艰〃鏁版嵁
-        loadFixedValueTableData(row){
-          this.fixedValueOptionLoading = true;
-          gridCodeFixedValue(1, -1, {"codeFixedSecOid":row.oid}).then(res=>{
-            this.fixedValueData = res.data.data.records;
-            //console.log(this.fixedValueData);
-            this.fixedValueOptionLoading = false;
-          })
-        },
-        //鍗曞嚮鍥哄畾鐮佹鐨勭爜鍊艰〃涓鏃惰Е鍙戠殑浜嬩欢
-        selectedCodeValueRow(row){
-          //console.log(row);
-          this.selectedFixedOrCodeclassifyValue = row;
-          this.codeFixdForm.id = row.id;
-          this.codeFixdForm.description = row.description;
-          this.codeFixdForm.codeFixedSecOid = row.codefixedsecoid;
-        },
-        //鏂板鐮佸��
-        addCodeSecValue(condition){
-          if(condition === "codefixedsec"){
-            if(this.codeFixdForm.id.trim() == ''){
-              this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
-              return;
-            }
-            if(this.codeFixdForm.id.trim().length >= 12 ){
-              this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�12锛�");
-              return;
-            }
-            this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysecOid;
-            addSaveCodeFixedValue(this.codeFixdForm).then(() => {
-              this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid});
-              this.clearFixedOrClassifyForm('codefixedsec');
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-            }, error => {
-              window.console.log(error);
+    /** 鐖跺垎绫婚�夋嫨瀵硅瘽妗嗭紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
+    /** 淇濆瓨褰撳墠鐖跺垎绫荤爜娈电殑閫変腑琛岋紝骞惰繘琛屽洖鏄� */
+    saveSelectedParentClassify() {
+      if (this.parentClsfyParams.parentClassifySelectionList.length != 1) {
+        this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
+        return false;
+      }
+      //鍙傛暟鍊硷紝瀹炵幇鍥炴樉
+      this.form.parentClassifySecOid =
+        this.parentClsfyParams.parentClassifySelectionList[0].oid;
+      this.form.parentClassifySecText =
+        this.parentClsfyParams.parentClassifySelectionList[0].name;
+      //娓呯┖褰撳墠閫変腑鐨勮
+      this.parentClassifySelectionClear();
+      this.parentClsfyParams.isShowParentClassifySettingBox = false;
+    },
+    parentClassifySearchReset() {
+      this.parentClsfyParams.parentClassifyQuery = {};
+      this.parentClassifyOnLoad(this.parentClsfyParams.parentClassifyDataPage);
+    },
+    parentClassifySearchChange(params, done) {
+      this.parentClsfyParams.parentClassifyQuery = params;
+      this.parentClsfyParams.parentClassifyDataPage.currentPage = 1;
+      this.parentClassifyOnLoad(this.page, params);
+      done();
+    },
+    parentClassifyRowClick(row) {
+      this.$refs[this.parentClsfyParams.ref].toggleSelection();
+      this.parentClsfyParams.parentClassifySelectionList = row;
+      this.$refs[this.parentClsfyParams.ref].setCurrentRow(row);
+      this.$refs[this.parentClsfyParams.ref].toggleRowSelection(row); //閫変腑褰撳墠琛�
+    },
+    parentClassifySelectionChange(list) {
+      this.parentClsfyParams.parentClassifySelectionList = list;
+      this.$refs[this.parentClsfyParams.ref].setCurrentRow(
+        this.parentClsfyParams.parentClassifySelectionList[list.length - 1]
+      );
+    },
+    parentClassifySelectionClear() {
+      this.parentClsfyParams.parentClassifySelectionList = [];
+      this.$refs[this.parentClsfyParams.ref].toggleSelection();
+    },
+    parentClassifyCurrentChange(currentPage) {
+      this.parentClsfyParams.parentClassifyDataPage.currentPage = currentPage;
+    },
+    parentClassifySizeChange(pageSize) {
+      this.parentClsfyParams.parentClassifyDataPage.pageSize = pageSize;
+    },
+    refreshParentClassifyDataChange() {
+      this.parentClassifyOnLoad(
+        this.parentClsfyParams.parentClassifyDataPage,
+        this.parentClsfyParams.parentClassifyQuery
+      );
+    },
+    parentClassifyOnLoad(page, params = {}) {
+      let parentClsParam = this.parentClsfyParams;
+      parentClsParam.classifyDialogLoading = true;
+      let oid =
+        this.selectionList.length == 0
+          ? this.form.pkCodeRule
+          : this.selectionList[0].oid;
+      let conditionMaps = {};
+
+      conditionMaps["conditionMap[pkCodeRule]"] = oid;
+      conditionMaps["conditionMap[oid_notequal]"] = this.form.oid;
+      refDataGridClassifySec(
+        page.currentPage,
+        page.pageSize,
+        conditionMaps
+      ).then((res) => {
+        const data = res.data.data;
+        parentClsParam.parentClassifyDataPage.total = data.total;
+        parentClsParam.parentClassifyData = data.records;
+        parentClsParam.classifyDialogLoading = false;
+        this.parentClassifySelectionClear();
+      });
+    },
+
+    /** 鎵撳紑灞炴�ч�夊彇鍊硷紝绗簩灞傚祵濂楀璇濇锛屽強鍏剁浉鍏虫柟娉� */
+    /** 鑾峰彇褰撳墠琚�変腑鏍戣妭鐐圭殑oid */
+    nodeClick(data) {
+      this.currentSelectTreeData = data;
+      this.loadlistClassifyLinkAttr();
+    },
+    /** 鍔犺浇鍒嗙被杩炴帴灞炴�ц〃鏍兼暟鎹� */
+    loadlistClassifyLinkAttr() {
+      let attrParam = this.selectAttrParams;
+      this.selectAttrParams.selectAttrOptionLoading = true;
+      let conditionMaps = {};
+      if (attrParam.selectAttrQeury) {
+        Object.keys(attrParam.selectAttrQeury).forEach((key) => {
+          conditionMaps["conditionMap[" + key + "]"] =
+            attrParam.selectAttrQeury[key].trim();
+        });
+      }
+      conditionMaps["conditionMap[codeClassifyOid]"] =
+        this.currentSelectTreeData.oid;
+      conditionMaps["conditionMap[btmTypeOid]"] =
+        this.currentSelectTreeData.btmTypeOid;
+      listClassifyLinkAttr(conditionMaps).then((res) => {
+        const data = res.data;
+        this.$nextTick(() => {
+          this.$refs[attrParam.ref].doLayout();
+        });
+        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: attr.id || "",
+        referAttributeName: attr.name || attr.id,
+        referCodeClassifyOid: this.currentSelectTreeData.key || "",
+        referCodeClassifyOidName: this.currentSelectTreeData.title || "",
+      });
+      this.isShowSelectAttrOption = false;
+    },
+
+    /** 鍩虹鐮佹琛ㄤ腑鐨勭爜鍊肩鐞嗙殑鐩稿叧鏂规硶 */
+    /** 鐮佸�肩鐞嗗脊绐楁帶鍒�*/
+    openBasicSecCodeValueMgr(row) {
+      //褰撳墠涓哄浐瀹氱爜娈电爜鍊肩鐞嗙爜鍊肩鐞�
+      if (row.secType === "codefixedsec") {
+        this.isShowFixedForm = true;
+        this.loadFixedValueTableData(row);
+      } else {
+        //鍒嗙被鐮佹
+        this.isShowFixedForm = false;
+        this.loadClassifyValueData(row);
+      }
+      this.codefixedsecOrCodeclassifysec = row;
+      this.isShowBasicSecCodeValueMgr = true;
+    },
+    /** 鍔犺浇鍥哄畾鐮佹鐮佸�艰〃鏁版嵁*/
+    loadFixedValueTableData(row) {
+      this.fixedValueOptionLoading = true;
+      gridCodeFixedValue(1, -1, {codeFixedSecOid: row.oid}).then((res) => {
+        this.fixedValueData = res.data.data.records;
+        this.fixedValueOptionLoading = false;
+      });
+    },
+    /** 鍗曞嚮鍥哄畾鐮佹鐨勭爜鍊艰〃涓鏃惰Е鍙戠殑浜嬩欢*/
+    selectedCodeValueRow(row) {
+      this.selectedFixedOrCodeclassifyValue = row;
+      this.codeFixdForm.id = row.id;
+      this.codeFixdForm.description = row.description;
+      this.codeFixdForm.codeFixedSecOid = row.codefixedsecoid;
+    },
+    /** 鏂板鐮佸��*/
+    async addCodeSecValue(condition) {
+      if (condition === "codefixedsec") {
+        if (!this.tipsCodeSecValueMessage(this.codeFixdForm.id)) {
+          return;
+        }
+        if(!await this.regexCharacter(this.codeFixdForm.id)){
+          return;
+        }
+        this.codeFixdForm.codeFixedSecOid = this.codefixedsecOrCodeclassifysec.oid;
+        addSaveCodeFixedValue(this.codeFixdForm).then(
+          () => {
+            this.loadFixedValueTableData({
+              oid: this.codefixedsecOrCodeclassifysec.oid,
             });
-          }else {
-            if(this.codeClassifyForm.id.trim() == ''){
-              this.$message.warning("鐮佸�间笉鑳戒负绌猴紒");
-              return;
-            }
-            if(this.codeClassifyForm.id.trim().length > 4 ){
-              this.$message.warning("鐮佸�奸暱搴︿笉鑳藉ぇ浜�4锛�");
-              return;
-            }
-            this.codeClassifyForm.codeClassifySecOid = this.codefixedsecOrCodeclassifysecOid;
-            // console.log(this.codeClassifyForm);
-            addSaveCodeClassifyValue(this.codeClassifyForm).then(() => {
-              this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
-              this.clearFixedOrClassifyForm('codeclassifyvaluesec');
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-            }, error => {
-              this.$confirm(error, {
-                confirmButtonText: "纭畾",
-                type: "error",
-              })
+            this.clearFixedOrClassifyForm("codefixedsec");
+            this.$refs.crudFixedValue.refreshTable();
+            this.$refs.crudFixedValue.doLayout();
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
             });
+          },
+          (error) => {
+            window.console.log(error);
           }
-        },
-        //娓呯┖鐮佸�艰〃鍗�
-        clearFixedOrClassifyForm(condition){
-          //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽�
-          this.selectedFixedOrCodeclassifyValue = '';
-          //console.log(condition);
-          if(condition === "close"){
-            this.codeFixdForm = this.$options.data().codeFixdForm;
-            this.codeClassifyForm = this.$options.data().codeClassifyForm;
-          }
-          if(condition === "codefixedsec"){
-            this.codeFixdForm.description = '';
-            this.codeFixdForm.codeFixedSecOid = '';
-          }else {
-            this.codeClassifyForm = this.$options.data().codeClassifyForm;
-          }
-        },
-        //淇敼鐮佸��
-        editCodeSecValue(condition){
-          if(condition=='codefixedsec'){
-            //浠ュ墠鏄洿鎺ユ妸褰撳墠閫変腑琛岀殑鎵�鏈夋暟鎹兘杩涜鎻愪氦锛屼絾鍏跺疄鍙渶瑕佷紶杈撲竴浜涙瘮瑕佸弬鏁板嵆鍙紝杩欏効鍋氫簡淇敼锛岄渶瑕佺┛鍏朵粬鍙傛暟鐨勮鑷娣诲姞
-            let editData = {
-            "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.$message({
-                  type: "success",
-                  message: "鎿嶄綔鎴愬姛!"
-                });
-              }, error => {
-                window.console.log(error);
+        );
+      } else {
+        // if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) {
+        //   return;
+        // }
+        if(!this.codeClassifyForm.name){
+          this.$message.error('璇疯緭鍏ュ悕绉�');
+          return;
+        }
+        if(!await this.regexCharacter(this.codeClassifyForm.id)){
+          return;
+        }
+        this.codeClassifyForm.codeClassifySecOid =
+          this.codefixedsecOrCodeclassifysec.oid;
+        addSaveCodeClassifyValue(this.codeClassifyForm).then(
+          () => {
+            this.loadClassifyValueData({
+              oid: this.codefixedsecOrCodeclassifysec.oid,
             });
-          }else {
-            this.codeClassifyForm.oid = this.selectedFixedOrCodeclassifyValue.attributes.oid;
-            editCodeClassifyValue(this.codeClassifyForm).then(() => {
-                this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid})
-                this.$message({
-                  type: "success",
-                  message: "鎿嶄綔鎴愬姛!"
-                });
-              }, error => {
-                window.console.log(error);
+            this.clearFixedOrClassifyForm("codeclassifyvaluesec");
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
             });
-          }
-            
-        },
-        //鍒犻櫎鐮佸��
-        delCodeSecValue(condition){ 
-          //鍥哄畾鐮佹鐮佸�煎垹闄�
-          if(condition == 'codefixedsec'){
-            //console.log(this.selectedFixedOrCodeclassifyValue.oid);
-            this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
-            confirmButtonText: "纭畾",
-            cancelButtonText: "鍙栨秷",
-            type: "warning"
-            })
-            .then(() => {
-              let ts = new Date(this.selectedFixedOrCodeclassifyValue.ts).getTime();
-              return deleteCodeFixedValue({"oid": this.selectedFixedOrCodeclassifyValue.oid,"ts": ts});
-            })
-            .then(() => {
-              this.selectedFixedOrCodeclassifyValue = '';
-              this.loadFixedValueTableData({"oid":this.codefixedsecOrCodeclassifysecOid})
-              this.clearFixedOrClassifyForm('codefixedsec');
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-            });
-          }else{
-            //鍒嗙被鐮佹鐮佸�煎垹闄�
-            this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
+          },
+          (error) => {
+            this.$confirm(error, {
               confirmButtonText: "纭畾",
-              cancelButtonText: "鍙栨秷",
-              type: "warning"
-            })
-            .then(() => {
-              let ts = new Date(this.selectedFixedOrCodeclassifyValue.ts).getTime();
-              return deleteCodeClassifyValue({"oid": this.selectedFixedOrCodeclassifyValue.oid,"ts": ts});
-            })
-            .then(() => {
-              this.selectedFixedOrCodeclassifyValue = '';
-              this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid})
-              this.clearFixedOrClassifyForm('codeclassifyvalue');
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
+              type: "error",
             });
-          }            
-          
-        },
-        //瀵瑰浐瀹氱爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
-        codeFixedValueOpetion(condition,row){
-          //console.log(this.fixedValueData[row.$index].orderNum);
-          const index = row.$index;
-          if(condition == 'up'){
-            //瀵筼rdeNum鎺掑簭瀛楁杩涜璋冩暣
-            this.fixedValueData[index].orderNum = this.fixedValueData[index].orderNum-1
-            this.fixedValueData[index-1].orderNum = this.fixedValueData[index].orderNum+1
-            //褰撲笅鏍囧噺鍘�1灏忎簬0鎴栬�卭rderNum瀛楁鍑忓幓1灏忎簬0鐨勬椂鍊欎笉鎵ц涓婄Щ鎿嶄綔
-            if(index-1<0 || this.fixedValueData[row.$index].orderNum-1<0){
-              return;
-            }
-            //璋冩暣鏁扮粍鍊奸『搴�
-            let tempOption = this.fixedValueData[index-1];
-            this.$set(this.fixedValueData, index - 1, this.fixedValueData[index])
-            this.$set(this.fixedValueData, index , tempOption)
+          }
+        );
+      }
+    },
+    /** 淇敼鐮佸�� */
+    async editCodeSecValue(condition) {
+      if (condition == "codefixedsec") {
+        if (!this.tipsCodeSecValueMessage(this.codeFixdForm.id)) {
+          return;
+        }
+        if(!await this.regexCharacter(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,
+        };
+        editCodeFixedValue(editData).then(
+          () => {
+            this.loadFixedValueTableData({
+              oid: this.codefixedsecOrCodeclassifysec.oid,
+            });
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
+            });
+          },
+          (error) => {
+            window.console.log(error);
+          }
+        );
+      } else {
+        if (!this.tipsCodeSecValueMessage(this.codeClassifyForm.id)) {
+          return;
+        }
+        if(!await this.regexCharacter(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.codefixedsecOrCodeclassifysec.oid,
+            });
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
+            });
+          },
+          (error) => {
+            window.console.log(error);
+          }
+        );
+      }
+    },
+    /**
+     * 鍙敤瀛楃闆嗙爜鍊兼鍒欐牎楠�
+     * @return true:婊¤冻闄愬埗锛宖alse锛氫笉婊¤冻闄愬埗
+     */
+    async regexCharacter(str){
+      var regex = null;
+      // 鑾峰彇鍒伴厤缃ソ鐨勫彲鐢ㄥ瓧绗︽鍒�
+      await getRegexStr({codeRuleId: this.selectionList[0].oid,chartType: "charset"}).then(res=>{
+        // console.log(res.data.data);
+        regex = new RegExp(res.data.data);
+      });
+      // console.log(regex);
+      // console.log(regex.test(str));
+      if(regex != "" && !regex.test(str)){
+        this.$message.warning("娣诲姞鐨勭爜鍊兼湭鍦ㄥ彲鐢ㄥ瓧绗﹂泦涓厤缃紒");
+        return false;
+      }
+      return true;
+    },
+    /** 娓呯┖鐮佸�艰〃鍗� */
+    clearFixedOrClassifyForm(condition) {
+      //鐐瑰嚮鍙栨秷鏃舵竻绌鸿〃鍗曚笌褰撳墠閫変腑鐨勭爜鍊硷紝骞剁鐢ㄦ寜閽�
+      this.selectedFixedOrCodeclassifyValue = "";
+      if (condition === "close") {
+        this.codeFixdForm = this.$options.data().codeFixdForm;
+        this.codeClassifyForm = this.$options.data().codeClassifyForm;
+      }
+      if (condition === "codefixedsec") {
+        this.codeFixdForm.description = "";
+        this.codeFixdForm.codeFixedSecOid = "";
+      } else {
+        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;
+    },
+    /** 鍒犻櫎鐮佸�� */
+    delCodeSecValue(condition) {
+      //鍥哄畾鐮佹鐮佸�煎垹闄�
+      if (condition == "codefixedsec") {
+        //console.log(this.selectedFixedOrCodeclassifyValue.oid);
+        this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
+          .then(() => {
+            let ts = new Date(
+              this.selectedFixedOrCodeclassifyValue.ts
+            ).getTime();
+            return deleteCodeFixedValue({
+              oid: this.selectedFixedOrCodeclassifyValue.oid,
+              ts: ts,
+            });
+          })
+          .then(() => {
+            this.selectedFixedOrCodeclassifyValue = "";
+            this.loadFixedValueTableData({
+              oid: this.codefixedsecOrCodeclassifysec.oid,
+            });
+            this.clearFixedOrClassifyForm("codefixedsec");
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
+            });
+          });
+      } else {
+        if (
+          this.checkClassUpdate(
+            this.codefixedsecOrCodeclassifysec.oid,
+            this.codeClassifyForm.codeClassifySecOid
+          )
+        ) {
+          return;
+        }
+        //鍒嗙被鐮佹鐮佸�煎垹闄�
+        this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
+          confirmButtonText: "纭畾",
+          cancelButtonText: "鍙栨秷",
+          type: "warning",
+        })
+          .then(() => {
+            let ts = new Date(
+              this.selectedFixedOrCodeclassifyValue.ts
+            ).getTime();
+            return deleteCodeClassifyValue({
+              oid: this.selectedFixedOrCodeclassifyValue.oid,
+              ts: ts,
+            });
+          })
+          .then(() => {
+            this.selectedFixedOrCodeclassifyValue = "";
+            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;
+      if (condition == "up") {
+        //瀵筼rdeNum鎺掑簭瀛楁杩涜璋冩暣
+        this.fixedValueData[index].orderNum =
+          this.fixedValueData[index].orderNum - 1;
+        this.fixedValueData[index - 1].orderNum =
+          this.fixedValueData[index].orderNum + 1;
+        //褰撲笅鏍囧噺鍘�1灏忎簬0鎴栬�卭rderNum瀛楁鍑忓幓1灏忎簬0鐨勬椂鍊欎笉鎵ц涓婄Щ鎿嶄綔
+        if (index - 1 < 0 || this.fixedValueData[row.$index].orderNum - 1 < 0) {
+          return;
+        }
+        //璋冩暣鏁扮粍鍊奸『搴�
+        let tempOption = this.fixedValueData[index - 1];
+        this.$set(this.fixedValueData, index - 1, this.fixedValueData[index]);
+        this.$set(this.fixedValueData, index, tempOption);
 
-            //console.log(this.fixedValueData);
-          }else if(condition == 'down'){
-            //瀵筼rdeNum鎺掑簭瀛楁杩涜璋冩暣
-            this.fixedValueData[index].orderNum = this.fixedValueData[index].orderNum+1
-            this.fixedValueData[index+1].orderNum = this.fixedValueData[index].orderNum-1
-            //璋冩暣鏁扮粍鍊奸『搴�
-            let tempOption = this.fixedValueData[index+1];
-            this.$set(this.fixedValueData, index + 1, this.fixedValueData[index]);
-            this.$set(this.fixedValueData, index, tempOption)
-          }else {
-            for(let i=index+1; i<this.fixedValueData.length-1; i++){
-              //console.log(this.fixedValueData[i].orderNum);
-              this.fixedValueData[i].orderNum = this.fixedValueData[i].orderNum-1;
-              //console.log(this.fixedValueData[i].orderNum);
-            }
-            this.$delete(this.fixedValueData, index);
+        //console.log(this.fixedValueData);
+      } else if (condition == "down") {
+        //瀵筼rdeNum鎺掑簭瀛楁杩涜璋冩暣
+        this.fixedValueData[index].orderNum =
+          this.fixedValueData[index].orderNum + 1;
+        this.fixedValueData[index + 1].orderNum =
+          this.fixedValueData[index].orderNum - 1;
+        //璋冩暣鏁扮粍鍊奸『搴�
+        let tempOption = this.fixedValueData[index + 1];
+        this.$set(this.fixedValueData, index + 1, this.fixedValueData[index]);
+        this.$set(this.fixedValueData, index, tempOption);
+      } else {
+        for (let i = index + 1; i < this.fixedValueData.length - 1; i++) {
+          //console.log(this.fixedValueData[i].orderNum);
+          this.fixedValueData[i].orderNum = this.fixedValueData[i].orderNum - 1;
+          //console.log(this.fixedValueData[i].orderNum);
+        }
+        this.$delete(this.fixedValueData, index);
+      }
+      //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);
+      if (condition == "up") {
+        if (currentTreeList.index - 1 >= 0) {
+          // 璋冩暣椤哄簭
+          saveData[0] =
+            currentTreeList.treeList[currentTreeList.index].attributes;
+          saveData[1] =
+            currentTreeList.treeList[currentTreeList.index - 1].attributes;
+          saveData[0].orderNum = parseInt(saveData[0].orderNum) - 1;
+          saveData[1].orderNum = parseInt(saveData[1].orderNum) + 1;
+          this.saveCodeFixedOrClassifyValueOption("classifyValue", saveData);
+        }
+      } else {
+        if (currentTreeList.index + 1 < currentTreeList.treeList.length) {
+          // 璋冩暣椤哄簭
+          saveData[0] =
+            currentTreeList.treeList[currentTreeList.index].attributes;
+          saveData[1] =
+            currentTreeList.treeList[currentTreeList.index + 1].attributes;
+          saveData[0].orderNum = parseInt(saveData[0].orderNum) + 1;
+          saveData[1].orderNum = parseInt(saveData[1].orderNum) - 1;
+          this.saveCodeFixedOrClassifyValueOption("classifyValue", saveData);
+        }
+      }
+    },
+    /** 閫変腑琚皟鏁撮『搴忕殑涓や釜鏍戠殑鑺傜偣*/
+    getCodeClassifyValueTreeData() {
+      const currentNodeTreeData = this.selectedFixedOrCodeclassifyValue;
+      /**鑰冭檻鍑犵鎯呭喌锛岀涓�绉嶅綋鍓嶄笂绉粅涓嬬Щ鎿嶄綔宸茬粡鏄竟鐣岋紝
+       涓嶉渶瑕佽鍋氬鐞嗭紝绗簩绉嶅綋鍓嶄负鏍戞牴鑺傜偣锛岀涓夌褰撳墠涓哄彾瀛愯妭鐐�
+       */
+      //璇存槑鏄牴鑺傜偣锛岀洿鎺ユ壘鍐嶅垽鏂槸鍚︽槸杈圭晫鍊�
+      if (currentNodeTreeData.parentId.trim() == "") {
+        return this.findTreeIndex(
+          this.classifyValueTreeData,
+          currentNodeTreeData.oid,
+          true
+        );
+      } else {
+        //璇存槑涓嶆槸鏍硅妭鐐�,鍏堟壘鍒扮埗鑺傜偣鍐嶆壘鍒板瓙鑺傜偣,鍒ゆ柇鏄惁鏄竟鐣屽��
+        return this.findTreeIndex(
+          this.classifyValueTreeData,
+          currentNodeTreeData.parentId,
+          false
+        );
+      }
+    },
+    /**
+     * 鎵惧墠涓�涓拰鍚庝竴涓厓绱�
+     * @treeList 鏌ユ壘鐨勬暟缁�
+     * @conditionOid 鐢ㄦ潵鏌ユ壘鍒ゆ柇鐨勬潯浠�
+     * @isTreeRoot 鏄惁鐖惰妭鐐�
+     * @rreturn 杩斿洖鐩搁偦鐨勮妭鐐�
+     */
+    findTreeIndex(treeList, conditionOid, isTreeRoot) {
+      for (let index = 0; index < treeList.length; index++) {
+        if (treeList[index].oid == conditionOid) {
+          if (isTreeRoot) {
+            let resData = {
+              index: index,
+              treeList: treeList,
+            };
+            return resData;
+          } else {
+            return this.findTreeIndex(
+              this.classifyValueTreeData[index].children,
+              this.selectedFixedOrCodeclassifyValue.oid,
+              true
+            );
           }
-          //console.log(this.fixedValueData);
-        },
-        //瀵瑰垎绫荤爜鍊艰〃杩涜锛氫笂绉汇�佷笅绉汇�佺Щ闄ゆ搷浣�
-        codeClassifyValueOpetion(condition){
-          //姝ゅ娑夊強鍒版繁娴呮嫹璐濋棶棰橈紝浣嗘槸鎵ц涓婁笅绉讳繚瀛樻搷浣滀箣鍚庝細閲嶆柊鍔犺浇treedata锛屾墍浠ュ奖鍝嶄笉澶�
-          let currentTreeList = this.getCodeClassifyValueTreeData();
-          let saveData = [];
-          console.log(currentTreeList.treeList);
-          if(condition == 'up'){
-            if(currentTreeList.index-1>=0){
-              // 璋冩暣椤哄簭
-              saveData[0] = currentTreeList.treeList[currentTreeList.index].attributes;
-              saveData[1] = currentTreeList.treeList[currentTreeList.index-1].attributes;
-              saveData[0].orderNum = parseInt(saveData[0].orderNum)-1;
-              saveData[1].orderNum = parseInt(saveData[1].orderNum)+1;
-              this.saveCodeFixedOrClassifyValueOption('classifyValue',saveData);
-            }
-          }else{
-            if(currentTreeList.index+1<currentTreeList.treeList.length){
-              // 璋冩暣椤哄簭
-              saveData[0] = currentTreeList.treeList[currentTreeList.index].attributes;
-              saveData[1] = currentTreeList.treeList[currentTreeList.index+1].attributes;
-              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;
-          /**鑰冭檻鍑犵鎯呭喌锛岀涓�绉嶅綋鍓嶄笂绉粅涓嬬Щ鎿嶄綔宸茬粡鏄竟鐣岋紝
-            涓嶉渶瑕佽鍋氬鐞嗭紝绗簩绉嶅綋鍓嶄负鏍戞牴鑺傜偣锛岀涓夌褰撳墠涓哄彾瀛愯妭鐐�
-          */
-          //璇存槑鏄牴鑺傜偣锛岀洿鎺ユ壘鍐嶅垽鏂槸鍚︽槸杈圭晫鍊�
-          if(currentNodeTreeData.parentId.trim() == ''){
-            return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.oid,true);   
-          }else{
-            //璇存槑涓嶆槸鏍硅妭鐐�,鍏堟壘鍒扮埗鑺傜偣鍐嶆壘鍒板瓙鑺傜偣,鍒ゆ柇鏄惁鏄竟鐣屽��
-            return this.findTreeIndex(this.classifyValueTreeData,currentNodeTreeData.parentId,false); 
-          }
-        },
-        /**
-         * 鎵惧墠涓�涓拰鍚庝竴涓厓绱�
-         * @treeList 鏌ユ壘鐨勬暟缁�
-         * @conditionOid 鐢ㄦ潵鏌ユ壘鍒ゆ柇鐨勬潯浠�
-         * @isTreeRoot 鏄惁鐖惰妭鐐�
-         * @rreturn 杩斿洖鐩搁偦鐨勮妭鐐�
-         */
-        findTreeIndex(treeList,conditionOid,isTreeRoot){
-          for(let index=0;index<treeList.length;index++){
-            if(treeList[index].oid==conditionOid){
-              if(isTreeRoot){
-                let resData = {
-                  "index":index,
-                  "treeList":treeList,
-                }
-                return resData;
-              }else{
-                return this.findTreeIndex(this.classifyValueTreeData[index].children,this.selectedFixedOrCodeclassifyValue.oid,true);
-              }
-            }
-          }
-        },
-        //涓婄Щ涓嬬Щ绛夋搷浣滅殑淇濆瓨
-        saveCodeFixedOrClassifyValueOption(condition,editOrderNumdata){
-          //淇濆瓨瀵瑰浐瀹氱爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
-          if(condition == "fixedValue"){
-            let data = {
-            "codeFixedSecOid": this.codefixedsecOrCodeclassifysecOid,
-            "dtoList": JSON.stringify(this.fixedValueData),
-            }
-            saveOrder(data).then(() => {
-              //鎵ц瀹屼繚瀛樹箣鍚庡皢褰撳墠閫変腑鐨勫璞℃竻绌�
-              this.selectedFixedOrCodeclassifyValue = '';
-              this.$message({
-                type: "success",
-                message: "淇濆瓨鎴愬姛!"
-              });
-              }, error => {
-                window.console.log(error);
+        }
+      }
+    },
+    /** 涓婄Щ涓嬬Щ绛夋搷浣滅殑淇濆瓨*/
+    async saveCodeFixedOrClassifyValueOption(condition, editOrderNumdata) {
+      //淇濆瓨瀵瑰浐瀹氱爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
+      if (condition == "fixedValue") {
+        let data = {
+          codeFixedSecOid: this.codefixedsecOrCodeclassifysec.oid,
+          dtoList: JSON.stringify(this.fixedValueData),
+        };
+        saveOrder(data).then(
+          () => {
+            //鎵ц瀹屼繚瀛樹箣鍚庡皢褰撳墠閫変腑鐨勫璞℃竻绌�
+            this.selectedFixedOrCodeclassifyValue = "";
+            this.$message({
+              type: "success",
+              message: "淇濆瓨鎴愬姛!",
             });
-          }else {
-            //淇濆瓨瀵瑰垎绫荤爜鍊肩爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
-            saveCodeClassifyValueOrder({
-              "codeClassifySecOid": this.codefixedsecOrCodeclassifysecOid,
-              "dtoList": JSON.stringify(editOrderNumdata),
-            }).then(() => {
-              this.$message({
-                type: "success",
-                message: "淇濆瓨鎴愬姛!"
-              });
-              }, error => {
-                window.console.log(error);
-            });
-            this.loadClassifyValueData({"oid":this.codefixedsecOrCodeclassifysecOid});
+          },
+          (error) => {
+            window.console.log(error);
           }
-          
-        },
-        //鍒嗙被鐮佸�兼爲data鍔犺浇
-        loadClassifyValueData(row){
-          //console.log(row);
-          let condtionData = {
-            "queryAllLevel": true,
-            "loadType": "all",
-            "multipleSelect": false,
-            "isMuti": false,
-            "isQueryAllColumn": true,
-            'conditionMap[codeclassifysecoid]':row.oid,
-          };
-          treeCodeClassifyValue(condtionData).then( res=> {
-            this.classifyValueTreeData = res.data;
-            //console.log(res.data);
+        );
+      } else {
+        //淇濆瓨瀵瑰垎绫荤爜鍊肩爜娈电爜鍊肩殑涓婄Щ涓嬬Щ绉诲嚭绛夋搷浣�
+        await saveCodeClassifyValueOrder({
+          codeClassifySecOid: this.codefixedsecOrCodeclassifysec.oid,
+          dtoList: JSON.stringify(editOrderNumdata),
+        }).then(
+          () => {
+            this.$message({
+              type: "success",
+              message: "淇濆瓨鎴愬姛!",
+            });
+          },
+          (error) => {
+            window.console.log(error);
+          }
+        );
+        this.loadClassifyValueData({
+          oid: this.codefixedsecOrCodeclassifysec.oid,
+        });
+      }
+    },
+    /** 鍒嗙被鐮佸�兼爲data鍔犺浇*/
+    loadClassifyValueData(row) {
+      //console.log(row);
+      let condtionData = {
+        queryAllLevel: true,
+        loadType: "all",
+        multipleSelect: false,
+        isMuti: false,
+        isQueryAllColumn: true,
+        "conditionMap[codeclassifysecoid]": row.oid,
+      };
+      treeCodeClassifyValue(condtionData).then((res) => {
+        this.classifyValueTreeData = res.data;
+        //console.log(res.data);
+      });
+    },
+    /** 鍒嗙被鐮佸�兼爲鍗曞嚮鏃惰Е鍙戠殑浜嬩欢*/
+    classisyValueTreeOnodeClick(node) {
+      //console.log(node);
+      this.selectedFixedOrCodeclassifyValue = node;
+      this.codeClassifyForm.codeClassifySecOid =
+        node.attributes.codeClassifySecOid;
+      this.codeClassifyForm.id = node.attributes.id;
+      this.codeClassifyForm.name = node.attributes.name;
+      this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid;
+      // 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: [],
+            title: "鐘舵��",
+            fieldType: "combox",
+            queryField: "lcStatus",
+            comboxKey: "codeSearchLCStatus",
+          },
+          {
+            data: [],
+            title: "鎵�鏈夎��",
+            fieldType: "text",
+            queryField: "ownerText",
+          },
+        ];
+      } 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.releadDisabled = false;
+          this.onLoad(this.page);
+          this.$message({
+            type: "success",
+            message: "鎿嶄綔鎴愬姛!",
           });
         },
-        //鍒嗙被鐮佸�兼爲鍗曞嚮鏃惰Е鍙戠殑浜嬩欢
-        classisyValueTreeOnodeClick(node){
-          //console.log(node);
-          this.selectedFixedOrCodeclassifyValue = node;
-          this.codeClassifyForm.codeClassifySecOid = node.attributes.codeClassifySecOid;
-          this.codeClassifyForm.id = node.attributes.id;
-          this.codeClassifyForm.name = node.attributes.name;
-          this.codeClassifyForm.parentClassifyValueOid = node.attributes.oid;
-          //console.log(this.codeClassifyForm);
-        },
-
-
-        /** 鍩虹鐮佹鐩稿叧鏂规硶 */
-        //闃叉鎵撳紑杩囩紪杈戠獥鍙d箣鍚庤〃鍗曚腑瀛樺湪鍊硷紝鎵�浠ラ渶瑕佹竻绌�,骞跺垵濮嬪寲form琛ㄥ崟灞炴��
-        clearBasicAddForm(){
-          this.form = this.$options.data().form;
-          // this.changeSectypeFormItems(null);
-        },
-        // 鎵撳紑鏂板绐楀彛
-        openAddBasicCodeSec(){
-          if(!this.tipsMessage(this.selectionList)){
-            return;
-          }
-          if(this.selectionList[0].lcStatus != 'Editing'){
-            this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽缂栬緫鐮佹!');
-            return;
-          }
-          this.openBasicDialog('add',null);
-          this.loadCodeSecType();
-        },
-        // 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�
-        openBasicDialog(condition,row){
-          //console.log(row);
-          if(condition == 'add') {
-            this.basicSecDialogTitle = '娣诲姞鐮佹淇℃伅';
-            this.showbtn = true;
-            this.basicSecOnlyRead = false;
-          }else if(condition == 'edit'){
-            if(this.selectionList.length!=1){
-              this.$message.warning('璇烽�夋嫨涓�鏉$紪鐮佽鍒欐暟鎹�!');
-              return;
-            }
-            this.basicSecDialogTitle = '淇敼鐮佹淇℃伅';
-            this.showbtn = true;
-            this.basicSecOnlyRead = false;
-            //涓篺orm缁戝畾鍊�
-          }else{
-            this.basicSecDialogTitle = '鏌ョ湅鐮佹淇℃伅';
-            this.showbtn = false;
-            this.basicSecOnlyRead = true;
-          }
-          //console.log(this.form);
-          this.changeSectypeFormItems(condition == 'add' ? null:row);
-          this.addBasicCodeSettingBox = true;
-        },
-        // 鏂板鍩虹鐮佹
-        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()){
-              await addSave(this.form).then(() => {
+        (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.data.success) {
+              this.updateStatus(oid, update);
+            } else {
+              this.$confirm(res.data.data.msg, "鎻愮ず", {
+                distinguishCancelAndClose: true,
+                confirmButtonText: "缁х画鍙戝竷",
+                cancelButtonText: "鍙栨秷",
+              }).then(() => {
+                this.updateStatus(oid, update);
+                this.releadDisabled = false;
+              }).catch((action) => {
                 this.$message({
-                  type: "success",
-                  message: "鎿嶄綔鎴愬姛!"
+                  type: "info",
+                  message: "鍙栨秷鍙戝竷!",
                 });
-              }, error => {
-                window.console.log(error);
+                this.releadDisabled = false;
               });
-              // 鍏抽棴瀵硅瘽妗�
-              this.addBasicCodeSettingBox = false
             }
+          }).catch((error) => {
+            this.releadDisabled = false;
+          });
+        this.releadDisabled = false;
+      } else {
+        this.updateStatus(oid, update);
+      }
+    },
+    /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
+    openCodeRuleDialog() {
+      if (!this.tipsMessage(this.selectionList)) {
+        return;
+      }
+      this.cloneSettingBox = true;
+    },
+    /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/
+    openOtherCodeRuleDialog() {
+      if (!this.tipsMessage(this.selectionList)) {
+        return;
+      }
+      if (this.selectionList[0].lcStatus != "Editing") {
+        this.$message.warning("缂栫爜瑙勫垯宸茶寮曠敤锛屼笉鍏佽缂栬緫!");
+        return;
+      }
+      this.cloneOtherCodeRuleSettingBox = true;
+    },
+
+    /** 娓呯┖鐮佸��*/
+    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);
+    },
+    // 缂栫爜瑙勫垯蹇�熸煡璇earchChange
+    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, this.query);
+      // console.log(  this.findObject(this.optionRule.column,'id'))
+      // console.log(this.crudOption.column[0])
+      // this.crudOption.column && this.crudOption.column.length > 0
+      //   ? (this.crudOption.column[0].value = '')
+      //   : null;
+      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,
+        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;
+        // 鏌ヨ鐨勫�间负绌烘椂锛岃灏嗙爜娈电鐞嗙浉鍏崇殑鍐呭绂佺敤
+        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琛ㄥ崟灞炴��*/
+    clearBasicAddForm() {
+      this.form = this.$options.data().form;
+      //this.isLoadingSecCodeAddBtn = false;
+      // this.changeSectypeFormItems(null);
+    },
+    /** 鎵撳紑鏂板绐楀彛*/
+    openAddBasicCodeSec() {
+      if (!this.tipsMessage(this.selectionList)) {
+        return;
+      }
+      if (this.selectionList[0].lcStatus != "Editing") {
+        this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽缂栬緫鐮佹!');
+        return;
+      }
+      this.openBasicDialog("add", null);
+      this.loadCodeSecType();
+    },
+    /** 鎵撳紑鏂板鎴栫紪杈戝熀纭�鐮佹瀵硅瘽妗�*/
+    openBasicDialog(condition, row) {
+      if (condition == "add") {
+        this.basicSecDialogTitle = "娣诲姞鐮佹淇℃伅";
+        this.showbtn = true;
+        this.basicSecOnlyRead = false;
+      } else if (condition == "edit") {
+        if (this.selectionList.length != 1) {
+          this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欐暟鎹�!");
+          return;
+        }
+        this.basicSecDialogTitle = "淇敼鐮佹淇℃伅";
+        this.showbtn = true;
+        this.basicSecOnlyRead = false;
+      } else {
+        this.basicSecDialogTitle = "鏌ョ湅鐮佹淇℃伅";
+        this.showbtn = false;
+        this.basicSecOnlyRead = true;
+      }
+      //console.log(this.form);
+      //涓篺orm缁戝畾鍊�
+      this.changeSectypeFormItems(condition == "add" ? null : row);
+      // 鑾峰彇鍓嶅悗缂�鍙敤瀛楃
+      this.loadPreOrSuffixChars();
+      // 琛ヤ綅鏃跺瓧绗�
+      // this.loadCodeFillSeparator();
+      this.addBasicCodeSettingBox = true;
+    },
+    /** 鑾峰彇鍓嶅悗缂�瀛楃 */
+    loadPreOrSuffixChars(){
+      getSelectList({codeRuleId: this.selectionList[0].oid,chartType: "prefix"}).then(res=>{
+        this.preFixOrSuffixChars = res.data.data;
+        // console.log(this.preFixOrSuffixChars);
+      })
+    },
+    /** 鏂板鍩虹鐮佹*/
+    async saveOrEditBasicCode() {
+      if (
+        this.selectionList[0].oid == null ||
+        this.selectionList[0].oid == ""
+      ) {
+        this.$message.warning("缂哄け蹇呰鍙傛暟锛岃閲嶆柊閫夋嫨缂栫爜瑙勫垯鍚庡啀璇�!");
+        return;
+      }
+      if (!this.checkForm()) {
+        return;
+      }
+      this.isLoadingSecCodeAddBtn = true;
+      this.form.pkCodeRule = this.selectionList[0].oid;
+      if (this.form.oid == "" || this.form.oid == null) {
+        await addSave(this.form).then(
+          () => {
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
+            });
+            // console.log(this.form)
+            // 鍏抽棴瀵硅瘽妗�
+            this.addBasicCodeSettingBox = false;
             // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
             this.loadBasic(this.selectionList[0]);
-          }else{
-            // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
-            if(this.form.referConfig === "coderefersec"){
-              let referConfig = JSON.parse(this.form.referConfig);
-              referConfig.referType = this.form.referBtmId;
-              referConfig.referTypeName = this.form.referBtmName;
-              this.form.referConfig = JSON.stringify(referConfig);
-
-              let referValueInfo = JSON.parse(this.form.referValueInfo);
-              referValueInfo.referType = this.form.referBtmId;
-              this.form.referValueInfo = JSON.stringify(referValueInfo);
-            }
-            
-            editSave(this.form).then(() => {
-               // 鍏抽棴瀵硅瘽妗�
-              this.addBasicCodeSettingBox = false
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-              }, error => {
-                window.console.log(error);
-            });
-            this.loadBasic(this.selectionList[0]);
-          }
-        },
-        // 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�
-        checkForm(){
-          let form = this.form;
-          //console.log(form);
-          const regNumber = /^[0-9]+\.{0,1}[0-9]*$/; //鏁板瓧鎴栧皬鏁版鍒欐牎楠�
-          const tipsMsg = "蹇呭~椤逛笉鑳戒负绌�";
-          if(form.id == ''){
-            this.$message.warning("(鐮佹缂栧彿)"+tipsMsg);
-            this.$refs.id.$el.querySelector('input').focus();
-            return false;
-          }
-          if(form.name == ''){
-            this.$message.warning("(鐮佹鍚嶇О)"+tipsMsg);
-            this.$refs.name.$el.querySelector('input').focus();
-            return false;
-          }
-          if(form.secType == ''){
-            this.$message.warning("(鐮佹绫诲瀷)"+tipsMsg);
-            this.$refs.secType.$el.querySelector('select').focus();
-            return false;
-          }
-          if(form.secType==='codefixedsec'){
-            //鍥哄畾鐮佹
-            if(form.codeSecLengthType == ''){
-              this.$message.warning("(鐮佹闀垮害绫诲瀷)"+tipsMsg);
-              this.$refs.codeSecLengthType.$el.querySelector('select').focus();
-              return false;
-            }
-            if(form.codeSecLength == ''){
-              this.$message.warning("(鐮佹闀垮害)"+tipsMsg);
-              this.$refs.codeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.codeSecLength)){
-              this.$message.warning("鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�");
-              this.$refs.codeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-          }else if(this.form.secType==='codeattrsec'){
-            //灞炴�х爜娈�
-            if(form.referAttributeId == ''){
-              this.$message.warning('(灞炴��)'+tipsMsg);
-              this.$refs.referAttributeId.$el.querySelector('input').focus();
-              return false;
-            }
-          }else if(this.form.secType==='codeserialsec'){
-            //console.log(form.codeFillType);
-            //娴佹按鐮佹
-            if(form.codeSecLength == ''){
-              this.$message.warning('(鐮佹鐨勯暱搴�)'+tipsMsg);
-              this.$refs.seriaCodeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.codeSecLength)){
-              this.$message.warning('鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�');
-              this.$refs.seriaCodeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.serialStart)){
-              this.$message.warning('娴佹按鍙风殑璧峰鍊煎繀椤讳负鏁板瓧鍊�');
-              this.$refs.serialStart.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.serialStep)){
-              this.$message.warning('娴佹按鐨勬闀垮繀椤讳负鏁板瓧鍊�');
-              this.$refs.serialStep.$el.querySelector('input').focus();
-              return false;
-            }
-            if(form.codeFillType == ''){
-              this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
-              return false;
-            }
-            if(form.codeFillType != '涓嶈ˉ浣�' && form.codeFillSeparator == ''){
-              this.$message.warning('褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖');
-              return false;
-            }
-            if(form.codeFillLength == ''){
-              this.$message.warning('濉厖闀垮害涓嶈兘涓虹┖');
-              this.$refs.codeFillLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.codeFillLength)){
-              this.$message.warning('濉厖闀垮害蹇呴』涓烘暟瀛楀��');
-              this.$refs.codeFillLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(form.codeFillLimit == ''){
-              this.$message.warning('(娴佹按涓婇檺)'+tipsMsg);
-              this.$refs.codeFillLimit.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.codeFillLimit)){
-              this.$message.warning('娴佹按涓婇檺蹇呴』涓烘暟瀛楀��');
-              this.$refs.codeFillLimit.$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('灞傜骇鐨勫��)鍙兘濉啓鏁板瓧');
-              this.$refs.codeLevelValue.$el.querySelector('input').focus();
-              return false;
-            }
-            if(form.valueCutType == ''){
-              this.$message.warning('(瀛楃鎴彇绫诲瀷)'+tipsMsg);
-              this.$refs.valueCutType.$el.querySelector('select').focus();
-              return false;
-            }
-          }else if(this.form.secType==='coderefersec'){
-            //寮曠敤鐮佹
-            if(form.referBtmId == ''){
-              this.$message.warning('(鍙傜収寮曠敤鐨勪笟鍔$被鍨�)'+tipsMsg);
-              this.$refs.referBtmId.$el.querySelector('input').focus();
-              return false;
-            }
-            if(form.referConfig == ''){
-              this.$message.warning('(鍙傜収閰嶇疆)'+tipsMsg);
-              this.$refs.referConfig.$el.querySelector('input').focus();
-              return false;
-            }
-          }else if(this.form.secType==='codedatesec'){
-            //鏃ユ湡鐮佹
-            if(form.codeDateFormatStr == ''){
-              this.$message.warning('(鏃ユ湡鏍煎紡)'+tipsMsg);
-              this.$refs.codeDateFormatStr.$el.querySelector('input').focus();
-              return false;
-            }
-          }else if(this.form.secType==='codeclassifysec'){
-            //鍒嗙被鐮佹
-            if(form.codeSecLengthType == ''){
-              this.$message.warning('(鐮佹闀垮害绫诲瀷)'+tipsMsg);
-              return false;
-            }
-            if(form.codeSecLength == ''){
-              this.$message.warning('(鐮佹闀垮害)'+tipsMsg);
-              this.$refs.classCodeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.codeSecLength)){
-              this.$message.warning('鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�');
-              this.$refs.classCodeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-          }else if(this.form.secType==='codevariablesec'){
-            //鍙彉鐮佹
-            if(form.codeSecLength == ''){
-              this.$message.warning('(鐮佹闀垮害)'+tipsMsg);
-              this.$refs.varCodeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(!regNumber.test(form.codeSecLength)){
-              this.$message.warning('鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�');
-              this.$refs.classCodeSecLength.$el.querySelector('input').focus();
-              return false;
-            }
-            if(form.codeFillType == ''){
-              this.$message.warning('(缂栫爜琛ヤ綅鏂瑰紡)'+tipsMsg);
-              return false;
-            }
-            // 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("璇烽�夋嫨涓�鏉$紪鐮佽鍒欐暟鎹�!");
-            return false;
-          }
-          return true;
-        },
-        // 鍩虹鐮佹鍒犻櫎
-        deleteBasicCode(){
-          if(!this.tipsMessage(this.selectionBasicList)){
-            return;
-          }
-          let oid = this.selectionBasicList[0].oid;
-          this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
-            confirmButtonText: "纭畾",
-            cancelButtonText: "鍙栨秷",
-            type: "warning"
-          })
-          .then(() => {
-            let ts = new Date(this.selectionBasicList[0].ts).getTime();
-            return deleteData({"oid": oid,"ts": ts});
-          })
-          .then(() => {
-            this.loadBasic({"oid":this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' ? this.selectionList[0].oid:this.currentCodeRuleOid});
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-            this.$refs.crudBasic.toggleSelection();
-          });
-        },
-        // 鐐瑰嚮瑙﹀彂鍔犺浇鍩虹鐮佹淇℃伅
-        loadBasic(row){
-          if(this.cloneSettingBox){
-            this.cloneTableLoading = true;
-          }else{
-            this.loadingBasic = true;
-          }
-          // console.log(row.oid);
-          //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭�
-          if(row!='' || row!=null){
-            this.currentCodeRuleOid = row.oid;
-            this.currentRuleLcStatus = row.lcStatus;
-            this.sendGridCodeBasicSec({"pkCodeRule":row.oid},false);
-          }
-        },
-        // 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�
-        sendGridCodeBasicSec(condition,isAdancedQuery/** 鏄惁楂樼骇鏌ヨ */){
-          // 濡傛灉褰撳墠鍩虹鐮佹琛ㄤ腑鐨勬悳绱㈡寜閽闅愯棌锛屽氨闇�瑕佸湪姝ゅ紑鍚�
-          if(this.selectionList.length>=0 && !this.$refs.crudBasic.option.column[0].search){
-            this.hideBasicTable(true);
-          }
-          let conditionMaps = {};
-          if(condition && !isAdancedQuery){
-            Object.keys(condition).forEach(key=>{
-              conditionMaps['conditionMap['+key+']'] = condition[key].trim();
-            });
-          }
-          if(isAdancedQuery){
-            condition['conditionMap[pkCodeRule]'] = this.currentCodeRuleOid == null || this.currentCodeRuleOid == '' 
-            ? this.selectionList[0].oid:this.currentCodeRuleOid;
-          }
-          gridCodeBasicSec(1, -1,isAdancedQuery ? condition:conditionMaps).then(res => {
-            const data = res.data.data;
-            if(this.cloneSettingBox){
-              this.cloneData = data.records;
-              // console.log(tihs.cloneData);
-              this.cloneTableLoading = false;
-            }else {
-              this.basicData = data.records;
-              // console.log(this.basicData);
-              this.loadingBasic = false;
-            }
-          });
-        },
-        // 鍩虹鐮佹閫変腑鏃惰Е鍙�
-        selectionBasicChange(list) {
-          this.selectionBasicList = list;
-          this.$refs.crudBasic.setCurrentRow(this.selectionBasicList[list.length-1]);
-          //console.log(this.selectionBasicList);
-        },
-        // 鍩虹鐮佹琚崟鍑昏〃鏍艰鏃惰Е鍙�
-        codeBasicSecRowClick(row){
-          this.$refs.crudBasic.toggleSelection();
-          this.selectionBasicList = row;
-          this.$refs.crudBasic.setCurrentRow(row);
-          this.$refs.crudBasic.toggleRowSelection(row); //閫変腑褰撳墠琛�
-        },
-        basicSearchChange(params, done){
-          //console.log(this.$refs.crudBasic);
-          this.sendGridCodeBasicSec(Object.assign(params,{"pkCodeRule":this.selectionList[this.selectionList.length-1].oid}),false);
-          done();
-        },
-        basicSearchReset(){
-          this.sendGridCodeBasicSec({"pkCodeRule":this.selectionList[this.selectionList.length-1].oid},false);
-        },
-        // 涓婄Щ涓嬬Щ鍩虹鐮佹
-        upOrderNum(row){
-          if(!this.tipsMessage(this.selectionList)){
-            return;
-          }
-          if (this.selectionList[0].lcStatus != 'Editing') {
-            this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!");
-            return; 
-          }
-          if(row.oid==null || row.oid==''){
-            this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
-            return;        
-          }
-          upOrderNum(row.oid).then(() => {
-            this.loadBasic(this.selectionList[0]);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-          })
-        },
-        downOrderNum(row){
-          //console.log(row.oid);
-          if(!this.tipsMessage(this.selectionList)){
-            return;
-          }
-          let codeRuleOid = this.selectionList[0].oid;
-          //console.log(this.selectionList);
-          if (this.selectionList[0].lcStatus != 'Editing') {
-            this.$message.warning("鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!");
-            return; 
-          }
-          if(row.oid==null || row.oid==''){
-            this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
-            return;        
-          }
-          downOrderNum(row.oid).then(() => {
-            this.loadBasic({"oid":codeRuleOid});
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-          })
-        },
-        // 鍩虹鐮佹鍒锋柊鏃舵煡璇�
-        refreshChangeBasicSec(){
-          this.loadBasic(this.selectionList.at(-1));
-        },
-        // 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌
-        hideBasicTable(hideBoolean){
-          this.$refs.crudBasic.option.refreshBtn = hideBoolean;
-          this.$refs.crudBasic.option.columnBtn = hideBoolean;
-          this.$refs.crudBasic.option.column[0].search = hideBoolean;
-          this.$refs.crudBasic.option.column[1].search = hideBoolean;
-          if(!hideBoolean){
-            this.selectionList = [];
-            this.basicData = [];
-          }
-        },
-
-
-        /** 缂栫爜瑙勫垯鐩稿叧鏂规硶 */
-        // 鎵撳紑楂樼骇鏌ヨ绐楀彛
-        openAdvancedQuery(condition){
-          if(condition=='codeRule'){
-            this.advancedQueryParam.options = [
-              {
-                data: [],
-                title: '缂栧彿',
-                fieldType: 'text',
-                queryField: 'id',
-              },{
-                data: [],
-                title: '鍚嶇О',
-                fieldType: 'text',
-                queryField: 'name',
-              },{
-                data: [],
-                title: '鎻忚堪',
-                fieldType: 'text',
-                queryField: 'description',
-              },{
-                data: [
-                  // {
-                  //   key: '缂栬緫涓�',
-                  //   value: 'Editing',
-                  // },
-                  // {
-                  //   key: '宸插彂甯�',
-                  //   value: 'Released',
-                  // },
-                  // {
-                  //   key: '鍋滅敤',
-                  //   value: 'Disabled',
-                  // },
-                ],
-                title: '鐘舵��',
-                fieldType: 'combox',
-                queryField: 'lcStatus',
-                comboxKey: 'codeSearchLCStatus',
-              },
-            ]
-          }else {
-            this.advancedQueryParam.options = [
-              {
-                data: [],
-                title: '鐮佹缂栧彿',
-                fieldType: 'text',
-                queryField: 'id',
-              },{
-                data: [],
-                title: '鐮佹鍚嶇О',
-                fieldType: 'text',
-                queryField: 'name',
-              },{
-                data: [],
-                title: '鎻忚堪',
-                fieldType: 'text',
-                queryField: 'description',
-              },{
-                data: [],
-                title: '鐮佹绫诲瀷',
-                fieldType: 'combox',
-                queryField: 'secType',
-                comboxKey: 'codeSecType',
-              }
-            ]
-          }
-          this.advancedQueryParam.currentOpen = condition;
-          this.advancedQueryParam.advancedQuerySettingBox = true;
-        },
-        // 鏌ヨ浣跨敤鑼冨洿
-        handleRange(){
-          if(!this.tipsMessage(this.selectionList)){
-            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();
-        },
-        // 鍚敤涓庡仠鐢�
-        enableOrDeactivatse(oId,update){
-          updateStatus({"oid":oId,"ts":new Date().getTime,"update":update}).then(() => {
-            this.onLoad(this.page);
-            this.$message({
-              type: "success",
-              message: "鎿嶄綔鎴愬姛!"
-            });
-          }, error => {
+          },
+          (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 == ''){
-            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;
-          }
-          //console.log(res);
-          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) {
-          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();
-          });
-        },
-
-        /** 绗竴灞傚璇濇鐩稿叧鏂规硶 */
-        // 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�
-        openAttrSelectOrGetValue(condition){
-          if(condition === 'attr'){
-            this.isShowSelectAttrOption = true;
-          }else if(condition === 'value'){
-            //鎵撳紑鍏紡缂栬緫妗嗭紝绗簩灞傚祵濂楀璇濇
-            //this.$refs.formulaEditor.isShowformulaEdit = true;
-            this.formulaEditorParams.formulaEditorSettingBox = true;
-          }else if(condition === 'parentClassifySecOid'){
-            this.parentClsfyParams.isShowParentClassifySettingBox = true;
-          }else if(condition === 'referBtmId'){
-            this.referBtmDialogParams.selectReferBtmSettingBox = true;
-            // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹�
-            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();
-            }
-          }
-        },
-
-        // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰
-        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('璇烽�夋嫨鍙傜収閰嶇疆鐨勫畾涔夋柟寮忥紵','鍙傜収閰嶇疆鐨勬柟寮�', {
+        );
+      } 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;
+        }
+        let oldBasicSec = this.selectionBasicList.slice(-1)[0];
+        let secType = this.form.secType;
+        Vue.set(this.form, 'isClearValue', false);
+        if ((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType) {
+          await this.$confirm("鐮佹绫诲瀷鐢便��" + oldBasicSec.secTypeText + "銆戯紝淇敼涓�" + "銆�" + secTypeEnum.getTextByValue(secType) + "銆戯紝璇烽棶鏄惁闇�瑕佹竻绌哄叧鑱旂殑鐮佸�硷紵", "鎻愮ず", {
             distinguishCancelAndClose: true,
             closeOnClickModal: false,
-            confirmButtonText: '鑷畾涔夊弬鐓ч厤缃�',
-            cancelButtonText: '鐩存帴閫夋嫨鍙傜収閰嶇疆'
-          })
-          .then(() => {
-            // 鎵撳紑鑷畾鍙傜収閰嶇疆瀵硅瘽妗�
-            this.$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);
+            confirmButtonText: "娓呯┖鐮佸��",
+            cancelButtonText: "淇濈暀鐮佸��",
+          }).then(() => {
+            // 娓呯┖鐮佸��
+            this.form.isClearValue = true;
+          }).catch(action => {
+            this.form.isClearValue = false;
           });
-          // 璁╁弬鐓ч厤缃緭鍏ユ澶卞幓鐒︾偣锛屽惁鍒欒鎻愮ず妗嗘棤娉曡鍏抽棴
-          this.$refs.referConfig.$el.querySelector('input').blur();
-        },
-
-        // 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�
-        clearAttrDataByIcon(condition){
-          if(condition === 'attr'){
-            this.form.referAttributeName = '';
-            this.form.referAttributeId = '';
-            this.form.referCodeClassifyOid = '';
-            this.form.referCodeClassifyOidName = '';
-          }else if(condition === 'value'){
-            this.form.getValueClass = '';
-          }else if(condition === 'parentClassifySecOid'){
-            this.form.parentClassifySecOid = '';
-          }else if(condition === 'referBtmId'){
-            this.form.referBtmId = '';
-            this.form.referBtmName = '';
-            this.form.referConfig = '';
-          }else if(condition === 'referConfig'){
-            this.form.referConfig = '';
+        }
+        await editSave(this.form).then(
+          () => {
+            this.$message({
+              type: "success",
+              message: "鎿嶄綔鎴愬姛!",
+            });
+            this.loadBasic(this.selectionList[0]);
+            // 鍏抽棴瀵硅瘽妗�
+            this.addBasicCodeSettingBox = false;
+          },
+          (error) => {
+            window.console.log(error);
           }
-        },
-        // 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫�
-        inputSelectBlur(e){
-          if (e.target.value) {  
-            this.form.codeFillSeparator = e.target.value;
-          }
-        },
-        // 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��
-        changeSectypeFormItems(row){     
-          //console.log(row);   
-          if(this.enumParam.secTypeList.length==0){
-            this.loadCodeSecType();
-          }
-          if(row != null){
-            this.form = {
-              oid: row.oid,
-              id: row.id, //缂栧彿,
-              name: row.name,//鍚嶇О
-              secType: row.secType,//鐮佹绫诲瀷
-              description: row.description,//鎻忚堪
-              serialDependFlag: row.serialDependFlag=='true' ?  true:false,//鏄惁娴佹按渚濊禆
-              serialDependOrder: row.serialDependOrder,//娴佹按渚濊禆椤哄簭
-              nullableFlag: row.nullableFlag=='true' ?  true:false,//鏄惁涓虹┖
-              displayFlag: row.displayFlag=='true' ?  true:false,
-              componentCodeFlag: row.componentCodeFlag=='true' ?  true:false,//鏄惁鍙備笌缂栫爜
-              pkCodeRule: row.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
-            }
-          }else {
-            this.form = {
-              id: this.form.id, //缂栧彿
-              name: this.form.name, //鍚嶇О
-              secType: this.form.secType, //鐮佹绫诲瀷
-              description: this.form.description, //鎻忚堪
-              serialDependFlag:  this.form.serialDependFlag, //鏄惁娴佹按渚濊禆
-              serialDependOrder: this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭
-              nullableFlag:  this.form.nullableFlag, //鏄惁涓虹┖
-              displayFlag:  this.form.displayFlag, //
-              componentCodeFlag:  this.form.componentCodeFlag, //鏄惁鍙備笌缂栫爜
-              pkCodeRule: this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
-            };
-            //console.log(this.form);
-          }
-          if(this.form.secType==='codefixedsec'){
-            //鍥哄畾鐮佹
-            this.form = Object.assign({}, this.form,{
-              codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'',
-              codeSecLengthType: row!=null&&row.codeSecLengthType != '' ? row.codeSecLengthType:'code_sec_length_variable'
-            });
-            this.loadCodeSecLength();
-          }else if(this.form.secType==='codeattrsec'){
-            //灞炴�х爜娈�
-            this.form = Object.assign({}, this.form, {
-              referCodeClassifyOid: row!=null&&row.referCodeClassifyOid != '' ? row.referCodeClassifyOid:'',     //灞炴�d
-              referCodeClassifyOidName: row!=null&&row.referCodeClassifyOidName != '' ? row.referCodeClassifyOidName:'', //灞炴�ф墍鍦ㄥ垎绫�
-              referAttributeId: row!=null&&row.referAttributeId != '' ? row.referAttributeId:'',    //灞炴�х紪鍙�
-              referAttributeName: row!=null&&row.referAttributeName != '' ? row.referAttributeName:'',   //灞炴��
-              getValueClass: row!=null&&row.getValueClass != '' ? row.getValueClass:''         //鍙栧�艰鍒�
-            });
-          }else if(this.form.secType==='codeserialsec'){
-            //娴佹按鐮佹
-            this.form = Object.assign({}, this.form,{
-              codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'', //鐮佹鐨勯暱搴�
-              serialStart: row!=null&&row.serialStart != '' ? row.serialStart:1,  //娴佹按鍙疯捣濮嬪��
-              serialStep: row!=null&&row.serialStep != '' ? row.serialStep:1,   //娴佹按鐨勬闀�
-              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_left', //缂栫爜琛ヤ綅鏂瑰紡
-              // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0',          //琛ヤ綅鏃剁殑瀛楃
-              codeFillLength: row!=null&&row.codeFillLength != '' ? row.codeFillLength:'',              //濉厖闀垮害
-              codeFillLimit: row!=null&&row.codeFillLimit != '' ? row.codeFillLimit:'',               //娴佹按涓婇檺
-              codeFillFlag: row!=null&&row.codeFillFlag != '' ? row.codeFillFlag=='true' ?  true:false :false,      //娴佹按鏄惁琛ョ爜
-              customCodeSerialClass: row!=null&&row.customCodeSerialClass != '' ? row.customCodeSerialClass:'',     //鑷畾涔夋祦姘寸畻娉�
-            });
-            this.loadCodeFillType();
-            this.loadCodeFillSeparator();
-          }else if(this.form.secType==='codelevelsec'){
-            //灞傜骇鐮佹
-            this.form = Object.assign({}, this.form,{
-              codeLevelType: row!=null&&row.codeLevelType != '' ? row.codeLevelType:'code_level_min',     //灞傜骇绫诲瀷  鏋氫妇鏌ヨ
-              codeLevelValue: row!=null&&row.codeLevelValue != '' ? row.codeLevelValue:'',    //灞傜骇鐨勫��
-              valueCutType: row!=null&&row.valueCutType != '' ? row.valueCutType:'code_cut_none',      //瀛楃鎴彇绫诲瀷 鏋氫妇鏌ヨ
-              valueCutLength: row!=null&&row.valueCutLength != '' ? row.valueCutLength:'',    //
-              codeGetValueType: row!=null&&row.codeGetValueType != '' ? row.codeGetValueType:'code_get_value_all_up',  //鍙栧�肩被鍨� 鏋氫妇鏌ヨ
-            });
-            this.loadCodeLevelType();
-            this.loadCodeCutType();
-            this.loadCodeGetValueType();
-          }else if(this.form.secType==='coderefersec'){
-            //寮曠敤鐮佹
-            this.form = Object.assign({}, this.form,{
-              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'){
-            //鏃ユ湡鐮佹
-            this.form = Object.assign({}, this.form,{
-              codeDateFormatStr:  row!=null&&row.codeDateFormatStr != '' ? row.codeDateFormatStr:'',   //鏃ユ湡鏍煎紡
-            });
-          }else if(this.form.secType==='codeclassifysec'){
-            //console.log(this.form);
-            //鍒嗙被鐮佹
-            this.form = Object.assign({}, this.form,{
-              codeSecLengthType: row!=null&&row.codeSecLengthType != '' ? row.codeSecLengthType:'code_sec_length_variable',    //鐮佹闀垮害绫诲瀷
-              codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'',  //鐮佹鐨勯暱搴�
-              matchClassifyValueFlag: row!=null&&row.matchClassifyValueFlag != '' ? row.matchClassifyValueFlag=='true' ?  true:false :false,  //鏄惁鑷姩鍖归厤鍊�
-              parentClassifySecOid: row!=null&&row.parentClassifySecOid != '' ? row.parentClassifySecOid:'',    //鐖跺垎绫荤爜娈甸�変腑鐨刬d
-              parentClassifySecText: row!=null&&row.parentClassifySecText != '' ? row.parentClassifySecText:'',  //鐖跺垎绫荤爜娈�
-            });
-            this.loadCodeSecLength();
-          }else if(this.form.secType==='codevariablesec'){
-            //鍙彉鐮佹
-            this.form = Object.assign({}, this.form,{
-              codeSecLength: row!=null&&row.codeSecLength != '' ? row.codeSecLength:'',             //鐮佹鐨勯暱搴�
-              codeFillType: row!=null&&row.codeFillType != '' ? row.codeFillType:'code_fill_left', //缂栫爜閮ㄤ綅鏂瑰紡锛屾灇涓炬煡璇�
-              // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,  //閫変腑鐨勮ˉ浣嶆椂鐨勫瓧绗︾殑涓嬫爣
-              codeFillSeparator: row!=null&&row.codeFillSeparator != '' ? row.codeFillSeparator:'0', //琛ヤ綅鏃剁殑瀛楃锛屽彲杈撳彲閫夋煡璇�
-            });
-            this.loadCodeFillType();
-            this.loadCodeFillSeparator();
-          }
-          // console.log(this.form);
-        },
-        // 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�
-        getLocalStorageEnum(key){
-          let enumCach = JSON.parse(localStorage.getItem(key));
-          if(enumCach == null) {
-            getDictionary({code: key}).then(res=>{
-              enumCach = res.data.data;
-              localStorage.setItem(key,JSON.stringify(res.data.data));
-            })
-          }
-          return enumCach;
-        },
-        //鏋氫妇鍜屽彲杈撳彲閫夊唴瀹规煡璇�
-        loadCodeSecType(){
-          this.enumParam.secTypeList = this.getLocalStorageEnum("codeSecType");
-          this.loadCodeSecLength();
-        },
-        loadCodeSecLength(){
-          this.enumParam.codeSecLengthType = this.getLocalStorageEnum("codeSecLength");
-        },
-        loadCodeFillType(){
-          this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType");
-        },
-        loadCodeFillSeparator(){
-          let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
-          if(enumCach == null) {
-            getDictionary("codeFillSeparator").then(res=>{
-              this.enumParam.codeFillSeparator = res.data.data;
-              localStorage.setItem(key,JSON.stringify(res.data.data));
-            })
-          }
-        },
-        loadCodeLevelType(){
-          this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType");
-        },
-        loadCodeCutType(){
-          this.enumParam.codeCutType = this.getLocalStorageEnum("codeCutType");
-        },
-        loadCodeGetValueType(){
-          this.enumParam.codeGetValueType =  this.getLocalStorageEnum("codeGetValueType");
-        },
-        
+        );
       }
-  };
+      // 鍙栨秷淇濆瓨鎸夐挳鍔犺浇鏁堟灉
+      this.isLoadingSecCodeAddBtn = false;
+    },
+    /** 鍥犱负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);
+        this.$refs.id.$el.querySelector("input").focus();
+        return false;
+      }
+      if (form.name == "") {
+        this.$message.warning("(鐮佹鍚嶇О)" + tipsMsg);
+        this.$refs.name.$el.querySelector("input").focus();
+        return false;
+      }
+      if (form.secType == "") {
+        this.$message.warning("(鐮佹绫诲瀷)" + tipsMsg);
+        this.$refs.secType.$el.querySelector("select").focus();
+        return false;
+      }
+      if (form.secType === "codefixedsec") {
+        //鍥哄畾鐮佹
+        if (form.codeSecLengthType == "") {
+          this.$message.warning("(鐮佹闀垮害绫诲瀷)" + tipsMsg);
+          // this.$refs.codeSecLengthType.$el.querySelector('select').focus();
+          return false;
+        }
+        if (form.codeSecLength == "") {
+          this.$message.warning("(鐮佹闀垮害)" + tipsMsg);
+          this.$refs.codeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.codeSecLength)) {
+          this.$message.warning("鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�");
+          this.$refs.codeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+      } else if (this.form.secType === "codeattrsec") {
+        //灞炴�х爜娈�
+        if (form.referAttributeId == "") {
+          this.$message.warning("(灞炴��)" + tipsMsg);
+          this.$refs.referAttributeId.$el.querySelector("input").focus();
+          return false;
+        }
+      } else if (this.form.secType === "codeserialsec") {
+        //console.log(form.codeFillType);
+        //娴佹按鐮佹
+        if (form.codeSecLength == "") {
+          this.$message.warning("(鐮佹鐨勯暱搴�)" + tipsMsg);
+          this.$refs.seriaCodeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.codeSecLength)) {
+          this.$message.warning("鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�");
+          this.$refs.seriaCodeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.serialStart)) {
+          this.$message.warning("娴佹按鍙风殑璧峰鍊煎繀椤讳负鏁板瓧鍊�");
+          this.$refs.serialStart.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.serialStep)) {
+          this.$message.warning("娴佹按鐨勬闀垮繀椤讳负鏁板瓧鍊�");
+          this.$refs.serialStep.$el.querySelector("input").focus();
+          return false;
+        }
+        if (form.codeFillType == "") {
+          this.$message.warning("(缂栫爜琛ヤ綅鏂瑰紡)" + tipsMsg);
+          return false;
+        }
+        if (form.codeFillType != "涓嶈ˉ浣�" && form.codeFillSeparator == "") {
+          this.$message.warning(
+            "褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖"
+          );
+          return false;
+        }
+        if (form.codeFillLength == "") {
+          this.$message.warning("濉厖闀垮害涓嶈兘涓虹┖");
+          this.$refs.codeFillLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.codeFillLength)) {
+          this.$message.warning("濉厖闀垮害蹇呴』涓烘暟瀛楀��");
+          this.$refs.codeFillLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (form.codeFillLimit == "") {
+          this.$message.warning("(娴佹按涓婇檺)" + tipsMsg);
+          this.$refs.codeFillLimit.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.codeFillLimit)) {
+          this.$message.warning("娴佹按涓婇檺蹇呴』涓烘暟瀛楀��");
+          this.$refs.codeFillLimit.$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 (
+          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();
+          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") {
+        //寮曠敤鐮佹
+        if (form.referBtmId == "") {
+          this.$message.warning("(鍙傜収寮曠敤鐨勪笟鍔$被鍨�)" + tipsMsg);
+          this.$refs.referBtmId.$el.querySelector("input").focus();
+          return false;
+        }
+        if (form.referConfig == "") {
+          this.$message.warning("(鍙傜収閰嶇疆)" + tipsMsg);
+          this.$refs.referConfig.$el.querySelector("input").focus();
+          return false;
+        }
+      } else if (this.form.secType === "codedatesec") {
+        //鏃ユ湡鐮佹
+        if (form.codeDateFormatStr == "") {
+          this.$message.warning("(鏃ユ湡鏍煎紡)" + tipsMsg);
+          this.$refs.codeDateFormatStr.$el.querySelector("input").focus();
+          return false;
+        }
+        const Formats = [
+          'yy',
+          'yyyy',
+          'yy-MM',
+          'yyMM',
+          'yyyy-MM',
+          'yyyyMM',
+          'yy-MM-dd',
+          'yyMMdd',
+          'yyyy-MM-dd',
+          'yyyyMMdd',
+          'yyyy-MM-dd HH:mm:ss',
+          'yy-MM-dd HH:mm:ss',
+          'HH:mm:ss',
+          'yyyyMMdd HH:mm:ss',
+          'yyMMdd HH:mm:ss',
+          'yyyy-MM-dd HHmmss',
+          'yy-MM-dd HHmmss',
+          'yyyyMMdd HHmmss',
+          'yyMMdd HHmmss',
+          'HHmmss'
+        ];
+        if (!Formats.includes(this.form.codeDateFormatStr)) {
+          this.$message.warning('璇锋鏌ユ棩鏈熸牸寮忥紒');
+          return;
+        }
+      } else if (this.form.secType === "codeclassifysec") {
+        //鍒嗙被鐮佹
+        if (form.codeSecLengthType == "") {
+          this.$message.warning("(鐮佹闀垮害绫诲瀷)" + tipsMsg);
+          return false;
+        }
+        if (form.codeSecLength == "") {
+          this.$message.warning("(鐮佹闀垮害)" + tipsMsg);
+          this.$refs.classCodeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.codeSecLength)) {
+          this.$message.warning("鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�");
+          this.$refs.classCodeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+      } else if (this.form.secType === "codevariablesec") {
+        //鍙彉鐮佹
+        if (form.codeSecLength == "") {
+          this.$message.warning("(鐮佹闀垮害)" + tipsMsg);
+          this.$refs.varCodeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (!regNumber.test(form.codeSecLength)) {
+          this.$message.warning("鐮佹鐨勯暱搴﹀繀椤讳负鏁板瓧鍊�");
+          this.$refs.classCodeSecLength.$el.querySelector("input").focus();
+          return false;
+        }
+        if (form.codeFillType == "") {
+          this.$message.warning("(缂栫爜琛ヤ綅鏂瑰紡)" + tipsMsg);
+          return false;
+        }
+        // console.log(form);
+        if (
+          form.codeFillType != "code_fill_none" &&
+          form.codeFillSeparator == ""
+        ) {
+          this.$message.warning(
+            "褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖"
+          );
+          return false;
+        }
+      }
+      return true;
+    },
+    /** 灞傜骇鐮佹閫夋嫨涓烘渶灏忓眰绾ф椂娓呯┖灞傜骇鐨勫�� */
+    changeLevelType(){
+      if(this.form.codeLevelType === 'code_level_min'){
+        this.form.codeLevelValue = '';
+      }
+    },
+    /** 鍒ゆ柇鏁版嵁鏄惁閫夋嫨浠ュ強鍙兘閫夋嫨鍗曟潯鏁版嵁*/
+    tipsMessage(list) {
+      if (list.length != 1) {
+        this.$message.warning("璇烽�夋嫨涓�鏉℃暟鎹�!");
+        return false;
+      }
+      return true;
+    },
+    /** 鍩虹鐮佹鍒犻櫎*/
+    deleteBasicCode() {
+      if (!this.tipsMessage(this.selectionBasicList)) {
+        return;
+      }
+      if (this.selectionList.slice(-1)[0].lcStatus != "Editing") {
+        this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽鍒犻櫎鐮佹!');
+        return;
+      }
+      let oid = this.selectionBasicList[0].oid;
+      this.$confirm("鏄惁鍒犻櫎杩欐潯鏁版嵁锛熷鏋滆寮曠敤灏嗕笉鑳借鍒犻櫎锛�", {
+        confirmButtonText: "纭畾",
+        cancelButtonText: "鍙栨秷",
+        type: "warning",
+      })
+        .then(() => {
+          let ts = new Date(this.selectionBasicList[0].ts).getTime();
+          return deleteData({oid: oid, ts: ts});
+        })
+        .then(() => {
+          this.loadBasic({
+            oid:
+              this.currentCodeRuleOid == null || this.currentCodeRuleOid == ""
+                ? this.selectionList[0].oid
+                : this.currentCodeRuleOid,
+          });
+          this.$message({
+            type: "success",
+            message: "鎿嶄綔鎴愬姛!",
+          });
+          this.$refs.crudBasic.toggleSelection();
+        });
+    },
+    /** 鐐瑰嚮瑙﹀彂鍔犺浇鍩虹鐮佹淇℃伅*/
+    loadBasic(row) {
+      this.loadingBasic = true;
+      // console.log(row.oid);
+      if (row != "" || row != null) {
+        //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭�
+        this.currentCodeRuleOid = row.oid;
+        this.currentRuleLcStatus = row.lcStatus;
+        this.sendGridCodeBasicSec({pkCodeRule: row.oid}, false);
+      }
+    },
+    /** 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�*/
+    sendGridCodeBasicSec(condition, isAdancedQuery /** 鏄惁楂樼骇鏌ヨ */) {
+      // 濡傛灉褰撳墠鍩虹鐮佹琛ㄤ腑鐨勬悳绱㈡寜閽闅愯棌锛屽氨闇�瑕佸湪姝ゅ紑鍚�
+      if (
+        this.selectionList.length >= 0 &&
+        !this.$refs.crudBasic.option.column[0].search
+      ) {
+        this.hideBasicTable(true);
+      }
+      let conditionMaps = {};
+      if (condition && !isAdancedQuery) {
+        Object.keys(condition).forEach((key) => {
+          conditionMaps["conditionMap[" + key + "]"] = condition[key].trim();
+        });
+      }
+      if (isAdancedQuery) {
+        condition["conditionMap[pkCodeRule]"] =
+          this.currentCodeRuleOid == null || this.currentCodeRuleOid == ""
+            ? this.selectionList[0].oid
+            : this.currentCodeRuleOid;
+      }
+      gridCodeBasicSec(1, -1, isAdancedQuery ? condition : conditionMaps).then(
+        (res) => {
+          const data = res.data.data;
+          this.basicData = data.records;
+          this.loadingBasic = false;
+        }
+      );
+    },
+    /** 鍩虹鐮佹閫変腑鏃惰Е鍙�*/
+    selectionBasicChange(list) {
+      this.selectionBasicList = list;
+      this.$refs.crudBasic.setCurrentRow(
+        this.selectionBasicList[list.length - 1]
+      );
+    },
+    /** 鍩虹鐮佹琚崟鍑昏〃鏍艰鏃惰Е鍙�*/
+    codeBasicSecRowClick(row) {
+      this.$refs.crudBasic.toggleSelection();
+      this.selectionBasicList = row;
+      this.$refs.crudBasic.setCurrentRow(row);
+      this.$refs.crudBasic.toggleRowSelection(row); //閫変腑褰撳墠琛�
+    },
+    basicSearchChange(params, done) {
+      this.sendGridCodeBasicSec(
+        Object.assign(params, {
+          pkCodeRule: this.selectionList[this.selectionList.length - 1].oid,
+        }),
+        false
+      );
+      done();
+    },
+    basicSearchReset() {
+      this.sendGridCodeBasicSec(
+        {pkCodeRule: this.selectionList[this.selectionList.length - 1].oid},
+        false
+      );
+    },
+    /** 涓婄Щ涓嬬Щ鍩虹鐮佹*/
+    async upOrderNum(row) {
+      if (!this.tipsMessage(this.selectionList)) {
+        return;
+      }
+      if (this.selectionList[0].lcStatus != "Editing") {
+        this.$message.warning(
+          "鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!"
+        );
+        return;
+      }
+      if (row.oid == null || row.oid == "") {
+        this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
+        return;
+      }
+      await upOrderNum(row.oid).then(() => {
+        this.loadBasic(this.selectionList[0]);
+        this.$message({
+          type: "success",
+          message: "鎿嶄綔鎴愬姛!",
+        });
+      });
+    },
+    downOrderNum(row) {
+      //console.log(row.oid);
+      if (!this.tipsMessage(this.selectionList)) {
+        return;
+      }
+      let codeRuleOid = this.selectionList[0].oid;
+      if (this.selectionList[0].lcStatus != "Editing") {
+        this.$message.warning(
+          "鍙湁缂栫爜瑙勫垯鐨勭姸鎬佹槸 [缂栬緫涓璢 鐨勬椂鍊欙紝鎵嶈兘璋冩暣鐮佹椤哄簭!"
+        );
+        return;
+      }
+      if (row.oid == null || row.oid == "") {
+        this.$message.warning("鏈幏鍙栧埌蹇呭~鍙傛暟!");
+        return;
+      }
+      downOrderNum(row.oid).then(() => {
+        this.loadBasic({oid: codeRuleOid});
+        this.$message({
+          type: "success",
+          message: "鎿嶄綔鎴愬姛!",
+        });
+      });
+    },
+    /** 鍩虹鐮佹鍒锋柊鏃舵煡璇�*/
+    refreshChangeBasicSec() {
+      this.loadBasic(this.selectionList.slice(-1)[0]);
+    },
+    /** 鎿嶄綔鍩虹鐮佹涓悳绱㈡竻绌虹瓑鎸夐挳鐨勬樉绀�/闅愯棌*/
+    hideBasicTable(hideBoolean) {
+      this.$refs.crudBasic.option.refreshBtn = hideBoolean;
+      this.$refs.crudBasic.option.column[0].search = hideBoolean;
+      this.$refs.crudBasic.option.column[1].search = hideBoolean;
+      if (!hideBoolean) {
+        this.selectionList = [];
+        this.basicData = [];
+      }
+    },
+    changeCutType(value) {
+      if (value != "code_cut_none") {
+        if (this.form.valueCutLength == "") {
+          this.form.valueCutLength = 1;
+        }
+      } else {
+        this.form.valueCutLength = "";
+      }
+    },
 
+    /** 绗竴灞傚璇濇鐩稿叧鏂规硶 */
+    /** 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�*/
+    openAttrSelectOrGetValue(condition) {
+      if (condition === "attr") {
+        this.isShowSelectAttrOption = true;
+        this.loadlistClassifyLinkAttr();
+      } else if (condition === "value") {
+        //鎵撳紑鍏紡缂栬緫妗嗭紝绗簩灞傚祵濂楀璇濇
+        //this.$refs.formulaEditor.isShowformulaEdit = true;
+        this.formulaEditorParams.formulaEditorSettingBox = true;
+      } else if (condition === "parentClassifySecOid") {
+        this.parentClsfyParams.isShowParentClassifySettingBox = true;
+      } else if (condition === "referBtmId") {
+        this.referBtmDialogParams.selectReferBtmSettingBox = true;
+        // 璋冪敤瀛愮粍浠跺埛鏂拌〃鏍兼暟鎹�
+        this.$refs[this.referBtmDialogParams.ref].referBtmOnLoad();
+      } else if (condition === "referConfig") {
+        this.referConfigVisble = true;
+        this.referConfigOption = {
+          referBtmName: this.form.referBtmName,
+          referBtmId: this.form.referBtmId,
+          referConfig: this.form.referConfig || "",
+        };
+        this.$refs.referConfig.$el.querySelector("input").blur();
+      }
+    },
+
+    /** 鐐瑰嚮杈撳叆妗嗙殑脳鍙凤紝娓呯┖杈撳叆妗嗕腑鐨勫唴瀹�*/
+    clearAttrDataByIcon(condition) {
+      if (condition === "attr") {
+        this.form.referAttributeName = "";
+        this.form.referAttributeId = "";
+        this.form.referCodeClassifyOid = "";
+        this.form.referCodeClassifyOidName = "";
+      } else if (condition === "value") {
+        this.form.getValueClass = "";
+      } else if (condition === "parentClassifySecOid") {
+        this.form.parentClassifySecOid = "";
+      } else if (condition === "referBtmId") {
+        this.form.referBtmId = "";
+        this.form.referBtmName = "";
+        this.form.referConfig = "";
+      } else if (condition === "referConfig") {
+        this.form.referConfig = "";
+      }
+    },
+    /** 琛ヤ綅鏃剁殑瀛楃锛屽疄鐜板彲杈撳彲閫� TODO:鍥犱负澧炲姞浜嗗彲鐢ㄥ瓧绗﹂泦鎺у埗锛屾墍浠ヨ繖鍎垮純鐢ㄤ簡鍙敤瀛楃闆嗙殑鏁堟灉*/
+    /*inputSelectBlur(e) {
+      if (e.target.value) {
+        this.form.codeFillSeparator = e.target.value;
+      }
+    },*/
+    /** 鐮佹绫诲瀷鏀瑰彉鏃讹紝澧炲姞瀵瑰簲鐨刦orm琛ㄥ崟涓殑灞炴��*/
+    changeSectypeFormItems(row) {
+      //console.log(row)
+      if (
+        func.isEmpty(this.enumParam.secTypeList) ||
+        this.enumParam.secTypeList.length == 0
+      ) {
+        this.loadCodeSecType();
+      }
+      this.form = {
+        oid: row != null ? row.oid : this.form.oid,
+        id: row != null ? row.id : this.form.id, //缂栧彿,
+        name: row != null ? row.name : this.form.name, //鍚嶇О
+        secType: row != null ? row.secType : this.form.secType, //鐮佹绫诲瀷
+        description: row != null ? row.description : this.form.description, //鎻忚堪
+        serialDependFlag: this.isNullJsonBoolean(row, this.form, 'serialDependFlag'), //鏄惁娴佹按渚濊禆
+        //serialDependOrder: row != null ? row.serialDependOrder : this.form.serialDependOrder, //娴佹按渚濊禆椤哄簭
+        nullableFlag: this.isNullJsonBoolean(row, this.form, 'nullableFlag'), //鏄惁涓虹┖
+        displayFlag: this.isNullJsonBoolean(row, this.form, 'displayFlag'),
+        componentCodeFlag: this.isNullJsonBoolean(row, this.form, 'componentCodeFlag'), //鏄惁鍙備笌缂栫爜
+        pkCodeRule: row != null ? row.pkCodeRule : this.form.pkCodeRule, //鎵�灞炵紪鐮佽鍒�
+        prefixCode: row != null ? row.prefixCode : this.form.prefixCode, //鍓嶇紑
+        suffixCode: row != null ? row.suffixCode : this.form.suffixCode, //鍚庣紑
+        // customCodeSerialClass: row != null ? row.customCodeSerialClass : this.form.customCodeSerialClass
+      };
+      if (this.form.secType === "codefixedsec") {
+        //鍥哄畾鐮佹
+        this.form = Object.assign({}, this.form, {
+          codeSecLength:
+            row != null && row.codeSecLength != "" ? row.codeSecLength : "",
+          codeSecLengthType:
+            row != null && row.codeSecLengthType != ""
+              ? row.codeSecLengthType
+              : "code_sec_length_variable",
+        });
+        this.loadCodeSecLength();
+      } else if (this.form.secType === "codeattrsec") {
+        //灞炴�х爜娈�
+        this.form = Object.assign({}, this.form, {
+          referCodeClassifyOid:
+            row != null && row.referCodeClassifyOid != ""
+              ? row.referCodeClassifyOid
+              : "", //灞炴�d
+          referCodeClassifyOidName:
+            row != null && row.referCodeClassifyOidName != ""
+              ? row.referCodeClassifyOidName
+              : "", //灞炴�ф墍鍦ㄥ垎绫�
+          referAttributeId:
+            row != null && row.referAttributeId != ""
+              ? row.referAttributeId
+              : "", //灞炴�х紪鍙�
+          referAttributeName:
+            row != null && row.referAttributeName != ""
+              ? row.referAttributeName
+              : "", //灞炴��
+          getValueClass:
+            row != null && row.getValueClass != "" ? row.getValueClass : "", //鍙栧�艰鍒�
+        });
+      } else if (this.form.secType === "codeserialsec") {
+        //娴佹按鐮佹
+        this.form = Object.assign({}, this.form, {
+          codeSecLength:
+            row != null && row.codeSecLength != "" ? row.codeSecLength : "", //鐮佹鐨勯暱搴�
+          serialStart:
+            row != null && row.serialStart != "" ? row.serialStart : 1, //娴佹按鍙疯捣濮嬪��
+          serialStep: row != null && row.serialStep != "" ? row.serialStep : 1, //娴佹按鐨勬闀�
+          codeFillType: row != null && row.codeFillType != ""
+            ? row.codeFillType
+            : "code_fill_left", //缂栫爜琛ヤ綅鏂瑰紡
+          // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
+          codeFillSeparator:
+            row != null && row.codeFillSeparator != ""
+              ? row.codeFillSeparator
+              : "0", //琛ヤ綅鏃剁殑瀛楃
+          codeFillLength:
+            row != null && row.codeFillLength != "" ? row.codeFillLength : "", //濉厖闀垮害
+          codeFillLimit:
+            row != null && row.codeFillLimit != "" ? row.codeFillLimit : "", //娴佹按涓婇檺
+          codeFillFlag:
+            row != null && row.codeFillFlag != ""
+              ? row.codeFillFlag == "true"
+              ? true
+              : false
+              : false, //娴佹按鏄惁琛ョ爜
+          customCodeSerialClass:
+            row != null && row.customCodeSerialClass != ""
+              ? row.customCodeSerialClass
+              : "", //鑷畾涔夋祦姘寸畻娉�
+          customCodeSerialClassText:
+            row != null && row.customCodeSerialClassText != ""
+              ? row.customCodeSerialClassText
+              : "", //鑷畾涔夋祦姘寸畻娉曟樉绀哄��
+              customCodeSerialType:
+            row != null && row.customCodeSerialType != ""
+              ? row.customCodeSerialType
+              : "", //鑷畾涔夋祦姘寸畻娉曠被鍨�
+        });
+        this.loadCodeFillType();
+        this.loadCodeFillSeparator();
+      } else if (this.form.secType === "codelevelsec") {
+        //灞傜骇鐮佹
+        this.form = Object.assign({}, this.form, {
+          codeLevelType:
+            row != null && row.codeLevelType != ""
+              ? row.codeLevelType
+              : "code_level_min", //灞傜骇绫诲瀷  鏋氫妇鏌ヨ
+          codeLevelValue:
+            row != null && row.codeLevelValue != "" ? row.codeLevelValue : "", //灞傜骇鐨勫��
+          valueCutType:
+            row != null && row.valueCutType != ""
+              ? row.valueCutType
+              : "code_cut_none", //瀛楃鎴彇绫诲瀷 鏋氫妇鏌ヨ
+          valueCutLength:
+            row != null && row.valueCutLength != "" ? row.valueCutLength : "", //
+          codeGetValueType:
+            row != null && row.codeGetValueType != ""
+              ? row.codeGetValueType
+              : "code_get_value_all_up", //鍙栧�肩被鍨� 鏋氫妇鏌ヨ
+        });
+        this.loadCodeLevelType();
+        this.loadCodeCutType();
+        this.loadCodeGetValueType();
+      } else if (this.form.secType === "coderefersec") {
+        //寮曠敤鐮佹
+        this.form = Object.assign({}, this.form, {
+          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") {
+        //鏃ユ湡鐮佹
+        this.form = Object.assign({}, this.form, {
+          codeDateFormatStr:
+            row != null && row.codeDateFormatStr != ""
+              ? row.codeDateFormatStr
+              : "", //鏃ユ湡鏍煎紡
+        });
+      } else if (this.form.secType === "codeclassifysec") {
+        //鍒嗙被鐮佹
+        this.form = Object.assign({}, this.form, {
+          codeSecLengthType:
+            row != null && row.codeSecLengthType != ""
+              ? row.codeSecLengthType
+              : "code_sec_length_variable", //鐮佹闀垮害绫诲瀷
+          codeSecLength:
+            row != null && row.codeSecLength != "" ? row.codeSecLength : "", //鐮佹鐨勯暱搴�
+          matchClassifyValueFlag:
+            row != null && row.matchClassifyValueFlag != ""
+              ? row.matchClassifyValueFlag == "true"
+              ? true
+              : false
+              : false, //鏄惁鑷姩鍖归厤鍊�
+          parentClassifySecOid:
+            row != null && row.parentClassifySecOid != ""
+              ? row.parentClassifySecOid
+              : "", //鐖跺垎绫荤爜娈甸�変腑鐨刬d
+          parentClassifySecText:
+            row != null && row.parentClassifySecText != ""
+              ? row.parentClassifySecText
+              : "", //鐖跺垎绫荤爜娈�
+        });
+        this.loadCodeSecLength();
+      } else if (this.form.secType === "codevariablesec") {
+        //鍙彉鐮佹
+        this.form = Object.assign({}, this.form, {
+          codeSecLength:
+            row != null && row.codeSecLength != "" ? row.codeSecLength : "", //鐮佹鐨勯暱搴�
+          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();
+      }
+    },
+    // 鍒ゆ柇Boolean鍊兼槸鍚︿负绌猴紝骞朵笖瀵箂tr绫诲瀷甯冨皵鍊艰繘琛岃浆鎹�
+    isNullJsonBoolean(row, form, attr) {
+      //console.log(row[attr],form[attr]);
+      if (row != null) {
+        return JSON.parse(row[attr]);
+      } else {
+        return form[attr];
+      }
+    },
+    /** 绗竴娆¤姹傜殑鏋氫妇鏁版嵁鏀剧紦瀛�*/
+    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(enumCach));
+        });
+      }
+      return enumCach;
+    },
+    /** 缁熶竴鍔犺浇鎵�鏈夋灇涓炬煡璇紝涓昏鏄负閬垮厤鍒囨崲鐮佹绫诲瀷鏃惰繕鏈姞杞藉畬鎴愮殑鎯呭喌*/
+    loadTotalEnum() {
+      this.loadCodeSecType();
+      this.loadCodeSecLength();
+      this.loadCodeFillType();
+      // this.loadCodeFillSeparator();
+      this.loadCodeLevelType();
+      this.loadCodeCutType();
+      this.loadCodeGetValueType();
+    },
+    /** 鏋氫妇鍜屽彲杈撳彲閫夊唴瀹规煡璇� */
+    loadCodeSecType() {
+      this.enumParam.secTypeList = this.getLocalStorageEnum("codeSecType") || [];
+      this.loadCodeSecLength();
+    },
+    loadCodeSecLength() {
+      this.enumParam.codeSecLengthType = this.getLocalStorageEnum("codeSecLength") || [];
+    },
+    loadCodeFillType() {
+      this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType") || [];
+    },
+    loadCodeFillSeparator() {
+      //let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
+      //if (enumCach == null) {
+      getSelectList({codeRuleId: this.selectionList[0].oid,chartType: "fillerChar"}).then((res) => {
+        this.enumParam.codeFillSeparator = res.data.data;
+        //console.log(this.enumParam.codeFillSeparator);
+        // localStorage.setItem(
+        //   "codeFillSeparator",
+        //   JSON.stringify(res.data.data)
+        // );
+      });
+    },
+    loadCodeLevelType() {
+      this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType") || [];
+    },
+    loadCodeCutType() {
+      this.enumParam.codeCutType = this.getLocalStorageEnum("codeCutType") || [];
+    },
+    loadCodeGetValueType() {
+      this.enumParam.codeGetValueType = this.getLocalStorageEnum("codeGetValueType") || [];
+    },
+    // 鏈�澶ф祦姘村彿
+    maxSerialNum() {
+      if (this.selectionList.length <= 0) {
+        this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
+        return;
+      }
+      if (this.selectionList.length > 1) {
+        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;
-  }
+.clone-input-textarea > .el-form-item__content {
+  width: 495px;
+}
 
-  .clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
-    display: none!important;
-  }
+.clone-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
+  display: none !important;
+}
 
-  .fixed-avue-crud > .el-card> .el-card__body > .avue-crud__menu {
-    display: none!important;
-  }
+.fixed-avue-crud > .el-card > .el-card__body > .avue-crud__menu {
+  display: none !important;
+}
 
-  .other-clone-codebasic-crud > .el-card> .el-card__body > .avue-crud__menu {
-    display: none!important;
-  }
+.other-clone-codebasic-crud > .el-card > .el-card__body > .avue-crud__menu {
+  display: none !important;
+}
 
-  .other-clone-coderule-crud > .el-card> .el-card__body > .avue-crud__menu {
-    display: none!important;
-  }
-  
-  .el-table--small .el-table__cell {
-    padding: 3px 0;
-  }
+.other-clone-coderule-crud > .el-card > .el-card__body > .avue-crud__menu {
+  display: none !important;
+}
 
-  .classify_value_box > .el-scrollbar {
-    height: 95%;
-  }
+.el-table--small .el-table__cell {
+  padding: 3px 0;
+}
 
-  .basic-container > .el-card  > .el-card__body {
-    margin: -10px 0;
-  }
+.classify_value_box > .el-scrollbar {
+  height: 95%;
+}
 
-  .code-basicsec-container{
-    padding: 1px 6px;
-  }
+.basic-container > .el-card > .el-card__body {
+  margin: -10px 0;
+}
 
-  .horizontal-line {
-    /* margin-top: 19px !important; */
-    margin-bottom: -20px !important;
-    width: 100%;
-    height: 2px;
-  }
+.code-basicsec-container {
+  padding: 1px 6px;
+}
 
-  .el-card__body > .treeBox {
-    height: 56vh;
-  }
+.horizontal-line {
+  /* margin-top: 19px !important; */
+  margin-bottom: -20px !important;
+  width: 100%;
+  height: 2px;
+}
 
-  .el-col-5 > .box {
-    height: 56vh;
-  }
+.el-card__body > .treeBox {
+  height: 56vh;
+}
 
-  .operator_,filter, .layui-btn{
-    width:60px;
-  }
+.el-col-5 > .box {
+  height: 56vh;
+}
 
-  .left > .el-form-item > .el-form-item__content > .el-input-number {
-    width: 120px;
-  }
+.operator_,
+filter,
+.layui-btn {
+  width: 60px;
+}
 
-  .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;
-  }
+.left > .el-form-item > .el-form-item__content > .el-input-number {
+  width: 120px;
+}
 
-  /** 鏂板鐮佹 */
-  .add-basicsec-total {
-    width: 100%;
-    padding: 20px 0 0 0;
-  }
+.left
+> .el-form-item
+> .el-form-item__content
+> .el-input-number
+> .el-input
+> .el-input__inner {
+  width: 120px;
+}
 
-  .add-basicsec-total .el-input__inner,.add-basicsec-total .el-textarea__inner {
-    width: 220px;
-  }
+.el-col > .el-card > .el-card__header {
+  background: rgb(213 231 239);
+  border-radius: inherit;
+}
 
-  .add-basicsec-total > .add-basicsec-form {
-    display: flex;
-    flex-direction: row;
-    width: 100%;
+/** 鏂板鐮佹 */
+.add-basicsec-dialog > .el-dialog > .el-dialog__body {
+  padding: 20px 20px 4px;
+  margin-bottom: 30px;
+}
+
+.add-basicsec-total {
+  width: 100%;
+  height: 500px;
+}
+
+.add-basicsec-total .el-input__inner,
+.add-basicsec-total .el-textarea__inner {
+  width: 220px;
+}
+
+.add-basicsec-total > .add-basicsec-form {
+  display: flex;
+  flex-direction: row;
+  width: 100%;
+  height: 100%;
+  align-items: center;
+  justify-content: space-around;
+}
+
+.add-basicsec-form > .el-divider--vertical {
+  width: 2px;
+  height: 78%;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
+}
+
+.left {
+  /* float: left; */
+  width: 45%;
+  height: 100%;
+}
+
+.right {
+  /* float: right; */
+  /* margin-right: 1vw; */
+  height: 100%;
+  width: auto;
+}
+
+.add-basicsec-form > .left > .el-form-item,
+.add-basicsec-form > .right > div > .el-form-item {
+  margin-bottom: 12px;
+}
+
+/* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
+.el-dialog__footer {
+  /* width: 100%; */
+  border-top: 1px solid #e9e7e7;
+  padding: 5px 10px 10px;
+}
+
+.seloption {
+  margin-left: 10px;
+}
+
+/* .code-total > .basic-container__card {
     height: 100%;
-    align-items: center;
-    justify-content: space-around;
-  }
+  } */
 
-  .add-basicsec-form > .el-divider--vertical {
-    width: 2px;
-    height: 100%;
-    margin: 0 auto;
-    /* position: fixed; */
-  }
-
- .left {
-    /* float: left; */
-    width: 45%;
-    height: 100%;
- }
-
- .right {
-    /* float: right; */
-    margin-right: 2vw;
-    height: 100%;
-    width: auto;
- }
-
- .right > .el-form > .el-form-item{
-    margin-bottom: 8px;
- }
- /* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
- .el-dialog__footer{
-    /* width: 100%; */
-    border-top: 1px solid #E9E7E7;
-    padding: 5px 10px 10px;
- }
-
-</style>
\ No newline at end of file
+</style>

--
Gitblit v1.9.3