From d40137d6f8729f7f0ede5151a6e6be3ae3492451 Mon Sep 17 00:00:00 2001
From: 田源 <lastanimals@163.com>
Date: 星期二, 14 十一月 2023 11:21:06 +0800
Subject: [PATCH] 前端代码联调

---
 Source/UBCS-WEB/src/views/code/code.vue |  630 ++++++++++++++++++++++++++++++++++----------------------
 1 files changed, 380 insertions(+), 250 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 2c81867..3bb59dd 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -1,5 +1,5 @@
 <template>
-  <basic-container class="code-total" style="height: 100%">
+  <basic-container class="code-total" style=" height: 100%">
     <!-- 缂栫爜瑙勫垯淇℃伅灞曠ず鍖哄煙 -->
     <basic-container class="code-rule-container">
       <p
@@ -37,104 +37,104 @@
         <!-- 琛ㄦ牸鍐呮搷浣滄寜閽� -->
         <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)"
-            >缂� 杈�
+                     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')"
-            >鍙� 甯�
+                     :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')"
-            >鍋� 鐢�
+                     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')"
-            >鍚� 鐢�
+                     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.delBtn"
-            icon="el-icon-delete"
-            plain
-            size="small"
-            type="danger"
-            @click="handleDelete"
+          <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')">
+                     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"
+                     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"
+                     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"
+                     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"
+                     icon="icon-qingkong"
+                     plain
+                     size="small"
+                     @click="clearAllCodeSec"
           >
             娓呯┖鐮佸��
           </el-button>
-          <el-button  v-if="permissionList.escapeOwnerBtn"
-            icon="el-icon-guide"
-            plain
-            size="small"
-            @click="escapeOwner"
+          <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 v-if="permissionList.maxSerialnumBtn"
+                     icon="el-icon-data-analysis"
+                     plain
+                     size="small"
+                     @click="maxSerialNum"
           >
             鏈�澶ф祦姘村彿
           </el-button>
@@ -173,15 +173,15 @@
 
     <!-- 缂栫爜瑙勫垯,鍏嬮殕瀵硅瘽妗� -->
     <clone-rule-dialog
-      :visible.sync="cloneSettingBox"
       :ruleData="selectionList[0]"
+      :visible.sync="cloneSettingBox"
       @refreshRuleTable="onLoad">
     </clone-rule-dialog>
 
     <!-- 缂栫爜瑙勫垯,浠庡叾浠栬鍒欏厠闅嗗璇濇 -->
     <clone-other-basic-sec-dialog
-      :visible.sync="cloneOtherCodeRuleSettingBox"
       :quiltCloneCodeRule="selectionList[0]"
+      :visible.sync="cloneOtherCodeRuleSettingBox"
       @refreshRuleTable="onLoad">
     </clone-other-basic-sec-dialog>
 
@@ -189,9 +189,9 @@
     <el-dialog
       :visible.sync="escapeOwnerVisible"
       append-to-body
+      class="avue-dialog avue-dialog--top"
       title="杞Щ鎵�鏈夎��"
       width="30%"
-      class= "avue-dialog avue-dialog--top"
     >
       <el-select v-model="ruleOwner" class="selects" placeholder="璇烽�夋嫨">
         <el-option
@@ -229,7 +229,7 @@
         ref="crudBasic"
         :data="basicData"
         :option="optionBasic"
-        :permission="permissionList"
+        :permission="basicPermissionList"
         :table-loading="loadingBasic"
         class="code-basic-crud"
         @row-click="codeBasicSecRowClick"
@@ -240,76 +240,77 @@
       >
         <!-- 鍩虹鐮佹琛ㄦ牸鍐呮搷浣滄寜閽� -->
         <template slot="menu" slot-scope="scope">
-          <el-button v-if="permissionList.basicViewBtn && (currentRuleLcStatus != 'Editing')"
-            icon="el-icon-view"
-            plain
-            size="small"
-            type="text"
-            @click="openBasicDialog('view', scope.row)"
-            >鏌ョ湅
+          <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="permissionList.basicEditBtn && (currentRuleLcStatus === 'Editing')"
-            icon="el-icon-edit"
-            plain
-            size="small"
-            type="text"
-            @click="openBasicDialog('edit', scope.row)"
-            >缂栬緫
+          <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="permissionList.basicMgrBtn && (scope.row.secType === 'codeclassifysec' || scope.row.secType == 'codefixedsec')"
+          <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="permissionList.basicMoveupBtn && (scope.row.orderNum > 1)"
-            icon="el-icon-arrow-up"
-            plain
-            size="small"
-            type="text"
-            @click="upOrderNum(scope.row)"
-            >涓婄Щ
+          <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="permissionList.basicDownBtn"
-            icon="el-icon-arrow-down"
-            plain
-            size="small"
-            type="text"
-            @click="downOrderNum(scope.row)"
-            >涓嬬Щ
+          <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="menuLeft" slot-scope="scope">
-          <el-button v-if="permissionList.basicAddBtn"
-            :disabled="selectionList.length <= 0"
-            icon="el-icon-plus"
-            size="small"
-            type="primary"
-            @click="openAddBasicCodeSec"
+          <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="permissionList.basicDeleteBtn"
-            :disabled="selectionList.length <= 0"
-            icon="el-icon-delete"
-            plain
-            size="small"
-            type="danger"
-            @click="deleteBasicCode(scope.row)"
+          <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="permissionList.basicAdvancedQueryBtn"
-            :disabled="selectionList.length <= 0"
-            icon="el-icon-search"
-            plain
-            size="small"
-            type="primary"
-            @click="openAdvancedQuery('codeBasicSec')"
+          <el-button v-if="basicPermissionList.basicAdvancedQueryBtn"
+                     :disabled="selectionList.length <= 0"
+                     icon="el-icon-search"
+                     plain
+                     size="small"
+                     type="primary"
+                     @click="openAdvancedQuery('codeBasicSec')"
           >
             楂樼骇鏌ヨ
           </el-button>
@@ -362,7 +363,7 @@
                 size="mini"
                 type="primary"
                 @click="codeClassifyValueOpetion('up')"
-                >涓婄Щ
+              >涓婄Щ
               </el-button>
               <el-button
                 class="button"
@@ -370,7 +371,7 @@
                 size="mini"
                 type="primary"
                 @click="codeClassifyValueOpetion('down')"
-                >涓嬬Щ
+              >涓嬬Щ
               </el-button>
             </div>
           </basic-container>
@@ -407,7 +408,7 @@
                 size="mini"
                 type="primary"
                 @click="addCodeSecValue('codeclassifyvaluesec')"
-                >娣诲姞
+              >娣诲姞
               </el-button>
               <el-button
                 :disabled="selectedFixedOrCodeclassifyValue == ''"
@@ -417,7 +418,7 @@
                 size="mini"
                 type="success"
                 @click="editCodeSecValue('codeclassifyvaluesec')"
-                >淇敼
+              >淇敼
               </el-button>
               <el-button
                 :disabled="selectedFixedOrCodeclassifyValue == ''"
@@ -426,7 +427,7 @@
                 size="mini"
                 type="danger"
                 @click="delCodeSecValue('codeclassifyvaluesec')"
-                >鍒犻櫎
+              >鍒犻櫎
               </el-button>
               <el-button
                 class="button"
@@ -435,7 +436,7 @@
                 size="mini"
                 type="warning"
                 @click="clearFixedOrClassifyForm('codeclassifyvaluesec')"
-                >鍙栨秷
+              >鍙栨秷
               </el-button>
             </div>
           </basic-container>
@@ -464,21 +465,21 @@
                     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>
@@ -490,7 +491,7 @@
                 size="mini"
                 type="primary"
                 @click="saveCodeFixedOrClassifyValueOption('fixedValue')"
-                >淇濆瓨
+              >淇濆瓨
               </el-button>
             </div>
           </basic-container>
@@ -534,7 +535,7 @@
                 size="mini"
                 type="primary"
                 @click="addCodeSecValue('codefixedsec')"
-                >娣诲姞
+              >娣诲姞
               </el-button>
               <el-button
                 :disabled="selectedFixedOrCodeclassifyValue == ''"
@@ -544,7 +545,7 @@
                 size="mini"
                 type="success"
                 @click="editCodeSecValue('codefixedsec')"
-                >淇敼
+              >淇敼
               </el-button>
               <el-button
                 :disabled="selectedFixedOrCodeclassifyValue == ''"
@@ -553,7 +554,7 @@
                 size="mini"
                 type="danger"
                 @click="delCodeSecValue('codefixedsec')"
-                >鍒犻櫎
+              >鍒犻櫎
               </el-button>
               <el-button
                 class="button"
@@ -562,7 +563,7 @@
                 size="mini"
                 type="warning"
                 @click="clearFixedOrClassifyForm('codefixedsec')"
-                >鍙栨秷
+              >鍙栨秷
               </el-button>
             </div>
           </basic-container>
@@ -576,17 +577,17 @@
       :title="basicSecDialogTitle"
       :visible.sync="addBasicCodeSettingBox"
       append-to-body
-      class="avue-dialog avue-dialog--top"
+      class="avue-dialog avue-dialog--top add-basicsec-dialog"
       destroy-on-close
       lock-scroll
-      style="height: 100vh"
+      style="height: 105vh"
       top="-3%"
       width="900px"
       @close="clearBasicAddForm"
     >
       <!--  绗竴灞傚璇濇,娣诲姞鐮佹淇℃伅瀵硅瘽妗嗕腑鐨勫唴瀹� -->
-      <div class="add-basicsec-total" style="overflow-y: auto; height: 58vh">
-        <el-form :model="form" class="add-basicsec-form">
+      <div class="add-basicsec-total">
+        <el-form :model="form" class="add-basicsec-form" :rules="rules" >
           <span class="left">
             <el-form-item
               :label-width="leftFormLabelWidth"
@@ -614,7 +615,7 @@
 
             <el-form-item
               :label-width="leftFormLabelWidth"
-              label="鐮佹绫诲瀷"
+              label="鐮佹绫诲瀷:"
               required
             >
               <el-select
@@ -631,6 +632,24 @@
                 >
                 </el-option>
               </el-select>
+            </el-form-item>
+
+            <el-form-item
+              :label-width="leftFormLabelWidth"
+              label="鍓嶇紑:">
+              <el-input
+                v-model="form.prefixCode"
+                :readonly="basicSecOnlyRead"
+              ></el-input>
+            </el-form-item>
+
+            <el-form-item
+              :label-width="leftFormLabelWidth"
+              label="鍚庣紑:">
+              <el-input
+                v-model="form.suffixCode"
+                :readonly="basicSecOnlyRead">
+              </el-input>
             </el-form-item>
 
             <el-form-item :label-width="leftFormLabelWidth" label="鎻忚堪:">
@@ -818,9 +837,9 @@
                 >
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue"
+                    :key="item.dictKey"
+                    :label="item.dictValue"
+                    :value="item.dictValue"
                   >
                   </el-option>
                 </el-select>
@@ -861,10 +880,23 @@
                 :label-width="rightFormLabelWidth"
                 label="鑷畾涔夌殑娴佹按绠楁硶:"
               >
-                <el-input
-                  v-model="form.customCodeSerialClass"
-                  :readonly="basicSecOnlyRead"
-                ></el-input>
+                  <template>
+                      <vciWebRefer
+                        ref="refer"
+                        :referConfig="this.referConfig || {}"
+                        :display="true"
+                        :value="form.customCodeSerialClass"
+                        :text="form.customCodeSerialClassText"
+                        @setReferValue="setReferValue"
+                      ></vciWebRefer>
+<!--                                    <el-input-->
+<!--                                      v-model="form.customCodeSerialClass"-->
+<!--                                      :readonly="basicSecOnlyRead"-->
+<!--                                      @focus="streamFocusHandler"-->
+<!--                                    ></el-input>-->
+                  </template>
+
+
               </el-form-item>
             </div>
             <!-- 灞傜骇鐮佹 -->
@@ -995,9 +1027,9 @@
             <!-- 鏃ユ湡鐮佹 -->
             <div v-show="form.secType === 'codedatesec' ? true : false">
               <el-form-item
+                prop="Dateformat"
                 :label-width="rightFormLabelWidth"
                 label="鏃ユ湡鏍煎紡:"
-                required
               >
                 <el-input
                   ref="codeDateFormatStr"
@@ -1113,9 +1145,9 @@
                 >
                   <el-option
                     v-for="item in enumParam.codeFillSeparator"
-                    :key="item.itemValue"
-                    :label="item.itemName"
-                    :value="item.itemValue"
+                    :key="item.dictKey"
+                    :label="item.dictValue"
+                    :value="item.dictValue"
                   >
                   </el-option>
                 </el-select>
@@ -1125,13 +1157,14 @@
         </el-form>
       </div>
       <!-- 绗竴灞傚璇濇鐨勬寜閽拰鍒嗛殧绾挎潯 -->
-      <el-divider class="horizontal-line" direction="horizontal"></el-divider>
+      <!-- <el-divider class="horizontal-line" direction="horizontal"></el-divider> -->
       <div slot="footer" class="dialog-footer">
         <el-button
           :disabled="!showbtn"
-          type="primary"
           :loading="isLoadingSecCodeAddBtn"
-          @click="saveOrEditBasicCode">淇� 瀛�</el-button>
+          type="primary"
+          @click="saveOrEditBasicCode">淇� 瀛�
+        </el-button>
         <el-button @click="addBasicCodeSettingBox = false">鍙� 娑�</el-button>
       </div>
 
@@ -1186,9 +1219,7 @@
           </el-row>
         </div>
         <div slot="footer" class="dialog-footer">
-          <el-button type="primary" @click="selectedListClassifyLinkAttr"
-            >纭� 瀹�</el-button
-          >
+          <el-button type="primary" @click="selectedListClassifyLinkAttr">纭� 瀹�</el-button>
           <el-button @click="isShowSelectAttrOption = false">鍙� 娑�</el-button>
         </div>
       </el-dialog>
@@ -1230,11 +1261,13 @@
         </avue-crud>
         <div slot="footer" class="dialog-footer">
           <el-button type="primary" @click="saveSelectedParentClassify"
-            >淇� 瀛�</el-button
+          >淇� 瀛�
+          </el-button
           >
           <el-button
             @click="parentClsfyParams.isShowParentClassifySettingBox = false"
-            >鍙� 娑�</el-button
+          >鍙� 娑�
+          </el-button
           >
         </div>
       </el-dialog>
@@ -1255,6 +1288,10 @@
       >
       </refer-config-dialog>
     </el-dialog>
+
+    <!--    鑷畾涔夋祦姘村弬鐓х粍浠�-->
+
+
   </basic-container>
 </template>
 
@@ -1279,7 +1316,7 @@
   addSave,
   refDataGridClassifySec,
 } from "@/api/code/codebasic";
-import { listClassifyLinkAttr } from "@/api/code/codeclassify";
+import {listClassifyLinkAttr} from "@/api/code/codeclassify";
 import {
   gridCodeFixedValue,
   addSaveCodeFixedValue,
@@ -1294,7 +1331,8 @@
   deleteCodeClassifyValue,
   saveCodeClassifyValueOrder,
 } from "@/api/code/codeClassifyValue";
-import { getDictionary } from "@/api/omd/enum";
+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";
@@ -1302,14 +1340,64 @@
 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 {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 {
+  components: { vciWebRefer },
   data() {
     return {
-      crudOption:{...optionRule},
+      rules: {
+        Dateformat: [
+          {
+            required: true,
+            trigger: 'blur',
+            validator: (rule, value, callback) => {
+              const Formats = ['yy', 'yyyy', 'yyyy-MM', 'yy-MM', 'yyyy-MM-dd','yy-MM-dd', 'yyyy-MM-dd HH:mm:ss', 'yy-MM-dd HH:mm:ss', 'HH:mm:ss'];
+              if (!Formats.includes(this.form.codeDateFormatStr)) {
+                return callback(new Error('璇疯緭鍏ユ纭棩鏈熸牸寮忥紝渚嬪yyyy-MM-dd锛堝苟鍖哄垎澶у皬鍐欙級锛�'));
+              }
+              callback();
+            }
+          }
+        ]
+      },
+      referConfig:{
+        title: '鑷畾涔夋祦姘村弬鐓�',
+        showField: 'customCodeSerialClassText',
+        field: 'customCodeSerialClass',
+        fieldMap:  {},
+        placeholder:'璇烽�夋嫨鑷畾涔夋祦姘�',
+        options:   {
+          // 璁剧疆榛樿鐨勫睘鎬�
+          url: 'api/ubcs-code/codeSerialAlgorithmController/gridCodeSerialAlgorithm',
+          valueField:'classFullName',
+          textField:'classFullName',
+          isMuti: false,
+          type: "grid",
+          method: 'get',
+          tableConfig: {
+            page: {
+              limit: 15,
+              page: 1
+            },
+            cols: [
+              {title: '绠楁硶缂栧彿', field: 'id', width: 200},
+              {title: '绠楁硶鍚嶇О', field: 'name', width: 150},
+              {title: '绫诲叏璺緞', field: 'classFullName', width: 300},
+              {title: '鎻忚堪', field: 'description'}
+            ],
+            queryColumns: [
+              // {field: 'id', title: '绠楁硶缂栧彿'},
+              // {field: 'name', title: '绠楁硶鍚嶇О'}
+            ]
+          }
+        }
+      },
+      crudOption: {...optionRule},
       ruleForm: {},
       query: {},
       loading: true,
@@ -1534,6 +1622,8 @@
         serialDependFlag: false, //鏄惁娴佹按渚濊禆
         serialDependOrder: "", //娴佹按渚濊禆椤哄簭
         nullableFlag: false, //鏄惁涓虹┖
+        prefixCode: "", //鍓嶇紑
+        suffixCode: "", //鍚庣紑
         displayFlag: false, //
         componentCodeFlag: false, //鏄惁鍙備笌缂栫爜
         pkCodeRule: "", //鎵�灞炵紪鐮佽鍒�
@@ -1574,12 +1664,12 @@
       return {
         // 缂栫爜瑙勫垯鐩稿叧鎸夐挳
         addBtn: this.vaildData(this.permission.code_rule.code_rule_add, false),
-        viewBtn: this.vaildData(this.permission.code_rule.code_rule_view, false),
-        delBtn: this.vaildData(this.permission.code_rule.code_rule_delete, 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),
+        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),
@@ -1587,16 +1677,20 @@
         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 {
         // 鍩虹鐮佹鐩稿叧鎸夐挳
-        basicAddBtn: this.vaildData(this.permission.code_rule.code_basic_add, false),
-        basicDeleteBtn: this.vaildData(this.permission.code_rule.code_basic_delete, false),
+        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),
-        basicEditBtn: this.vaildData(this.permission.code_rule.code_basic_edit, false),
-        basicViewBtn: this.vaildData(this.permission.code_rule.	code_basic_view, false),
         basicMoveupBtn: this.vaildData(this.permission.code_rule.code_basic_moveup, false),
         basicDownBtn: this.vaildData(this.permission.code_rule.code_basic_down, false),
-      };
+      }
     },
   },
   watch: {},
@@ -1610,8 +1704,21 @@
       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){
+      console.log(data)
+    },
     /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */
     escapeOwner() {
       if (this.selectionList.length === 0) {
@@ -1850,7 +1957,7 @@
     /** 鍔犺浇鍥哄畾鐮佹鐮佸�艰〃鏁版嵁*/
     loadFixedValueTableData(row) {
       this.fixedValueOptionLoading = true;
-      gridCodeFixedValue(1, -1, { codeFixedSecOid: row.oid }).then((res) => {
+      gridCodeFixedValue(1, -1, {codeFixedSecOid: row.oid}).then((res) => {
         this.fixedValueData = res.data.data.records;
         this.fixedValueOptionLoading = false;
       });
@@ -1954,7 +2061,7 @@
           description: this.codeFixdForm.description,
           id: this.codeFixdForm.id,
           codeFixedSecOid:
-            this.selectedFixedOrCodeclassifyValue.codefixedsecoid,
+          this.selectedFixedOrCodeclassifyValue.codefixedsecoid,
         };
         editCodeFixedValue(editData).then(
           () => {
@@ -2375,7 +2482,7 @@
     },
     /** 淇敼瑙勫垯鐘舵��:鍚敤銆佸仠鐢ㄣ�佸彂甯� */
     updateStatus(oid, update) {
-      updateStatus({ oid: oid, ts: new Date().getTime, update: update }).then(
+      updateStatus({oid: oid, ts: new Date().getTime, update: update}).then(
         () => {
           this.releadDisabled = false;
           this.onLoad(this.page);
@@ -2399,7 +2506,7 @@
             //console.log(res)
             if (res.data.data.success) {
               this.updateStatus(oid, update);
-            }else {
+            } else {
               this.$confirm(res.data.data.msg, "鎻愮ず", {
                 distinguishCancelAndClose: true,
                 confirmButtonText: "缁х画鍙戝竷",
@@ -2419,11 +2526,11 @@
           .catch((error) => {
             this.releadDisabled = false;
           });
+        this.releadDisabled = false;
       } else {
         this.updateStatus(oid, update);
       }
     },
-
     /** 鎵撳紑缂栫爜瑙勫垯鍏嬮殕瀵硅瘽妗�*/
     openCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
@@ -2431,7 +2538,6 @@
       }
       this.cloneSettingBox = true;
     },
-
     /** 鎵撳紑浠庡叾浠栫紪鐮佽鍒欎腑鍏嬮殕鐮佹瀵硅瘽妗�*/
     openOtherCodeRuleDialog() {
       if (!this.tipsMessage(this.selectionList)) {
@@ -2462,7 +2568,7 @@
       })
         .then(() => {
           let ts = new Date(currentData.ts).getTime();
-          return clearAllCode({ oid: currentData.oid, ts: ts });
+          return clearAllCode({oid: currentData.oid, ts: ts});
         })
         .then(() => {
           this.this.onLoad(this.page);
@@ -2524,7 +2630,7 @@
           // 鍙敮鎸佹瘡娆″崟鏉¤褰曞垹闄�
           let oid = this.selectionList[0].oid;
           let ts = new Date(this.selectionList[0].ts).getTime();
-          return remove({ oid: oid, ts: ts });
+          return remove({oid: oid, ts: ts});
         })
         .then(() => {
           this.onLoad(this.page);
@@ -2605,9 +2711,9 @@
     onLoad(page, params = {}) {
       this.loading = true;
       gridCodeRule(
-        page.currentPage, 
-        page.pageSize, 
-        Object.assign({},params,this.query), 
+        page.currentPage,
+        page.pageSize,
+        Object.assign({}, params, this.query),
       ).then((res) => {
         //console.log(res.data);
         const data = res.data.data;
@@ -2663,13 +2769,13 @@
         this.basicSecDialogTitle = "淇敼鐮佹淇℃伅";
         this.showbtn = true;
         this.basicSecOnlyRead = false;
-        //涓篺orm缁戝畾鍊�
       } else {
         this.basicSecDialogTitle = "鏌ョ湅鐮佹淇℃伅";
         this.showbtn = false;
         this.basicSecOnlyRead = true;
       }
       //console.log(this.form);
+      //涓篺orm缁戝畾鍊�
       this.changeSectypeFormItems(condition == "add" ? null : row);
       this.addBasicCodeSettingBox = true;
     },
@@ -2692,16 +2798,16 @@
                 type: "success",
                 message: "鎿嶄綔鎴愬姛!",
               });
+              // 鍏抽棴瀵硅瘽妗�
+              this.addBasicCodeSettingBox = false;
+              // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
+              this.loadBasic(this.selectionList[0]);
             },
             (error) => {
               window.console.log(error);
             }
           );
-          // 鍏抽棴瀵硅瘽妗�
-          this.addBasicCodeSettingBox = false;
         }
-        // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-        this.loadBasic(this.selectionList[0]);
       } else {
         // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
         if (
@@ -2715,21 +2821,38 @@
           // let referValueInfo = JSON.parse(this.form.referValueInfo);
           // referValueInfo.referType = this.form.referBtmId;
         }
-        editSave(this.form).then(
+        let oldBasicSec = this.selectionBasicList.at(-1);
+        let secType = this.form.secType;
+        Vue.set(this.form, 'isClearValue', false);
+        if ((oldBasicSec.secType == "codefixedsec" || oldBasicSec.secType === "codeclassifysec") && oldBasicSec.secType != secType) {
+          await this.$confirm("鐮佹绫诲瀷鐢便��" + oldBasicSec.secTypeText + "銆戯紝淇敼涓�" + "銆�" + secTypeEnum.getTextByValue(secType) + "銆戯紝璇烽棶鏄惁闇�瑕佹竻绌哄叧鑱旂殑鐮佸�硷紵", "鎻愮ず", {
+            distinguishCancelAndClose: true,
+            closeOnClickModal: false,
+            confirmButtonText: "娓呯┖鐮佸��",
+            cancelButtonText: "淇濈暀鐮佸��",
+          }).then(() => {
+            // 娓呯┖鐮佸��
+            this.form.isClearValue = true;
+          }).catch(action => {
+            this.form.isClearValue = false;
+          });
+        }
+        await editSave(this.form).then(
           () => {
             this.$message({
               type: "success",
               message: "鎿嶄綔鎴愬姛!",
             });
+            this.loadBasic(this.selectionList[0]);
+            // 鍏抽棴瀵硅瘽妗�
+            this.addBasicCodeSettingBox = false;
           },
           (error) => {
             window.console.log(error);
           }
         );
-        this.loadBasic(this.selectionList[0]);
-        // 鍏抽棴瀵硅瘽妗�
-        this.addBasicCodeSettingBox = false;
       }
+      // 鍙栨秷淇濆瓨鎸夐挳鍔犺浇鏁堟灉
       this.isLoadingSecCodeAddBtn = false;
     },
     /** 鍥犱负elementui鐨勮〃鍗曟牎楠岃缃笉涓婃墍浠ラ噰鐢ㄥ垽鏂殑鏂瑰紡鏉ュ仛琛ㄥ崟妫�楠屾柟寮�*/
@@ -2951,7 +3074,7 @@
       })
         .then(() => {
           let ts = new Date(this.selectionBasicList[0].ts).getTime();
-          return deleteData({ oid: oid, ts: ts });
+          return deleteData({oid: oid, ts: ts});
         })
         .then(() => {
           this.loadBasic({
@@ -2975,7 +3098,7 @@
         //瀛樺偍褰撳墠鍏宠仈鐨勭紪鐮佽鍒欑浉鍏充俊鎭�
         this.currentCodeRuleOid = row.oid;
         this.currentRuleLcStatus = row.lcStatus;
-        this.sendGridCodeBasicSec({ pkCodeRule: row.oid }, false);
+        this.sendGridCodeBasicSec({pkCodeRule: row.oid}, false);
       }
     },
     /** 鍙戦�佸姞杞藉熀纭�鐮佹鐨勮姹�*/
@@ -3032,7 +3155,7 @@
     },
     basicSearchReset() {
       this.sendGridCodeBasicSec(
-        { pkCodeRule: this.selectionList[this.selectionList.length - 1].oid },
+        {pkCodeRule: this.selectionList[this.selectionList.length - 1].oid},
         false
       );
     },
@@ -3076,7 +3199,7 @@
         return;
       }
       downOrderNum(row.oid).then(() => {
-        this.loadBasic({ oid: codeRuleOid });
+        this.loadBasic({oid: codeRuleOid});
         this.$message({
           type: "success",
           message: "鎿嶄綔鎴愬姛!",
@@ -3167,34 +3290,21 @@
       ) {
         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, //鎵�灞炵紪鐮佽鍒�
-        };
-      }
+      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, //鍚庣紑
+      };
       if (this.form.secType === "codefixedsec") {
         //鍥哄畾鐮佹
         this.form = Object.assign({}, this.form, {
@@ -3237,8 +3347,8 @@
             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", //缂栫爜琛ヤ綅鏂瑰紡
+            ? row.codeFillType
+            : "code_fill_left", //缂栫爜琛ヤ綅鏂瑰紡
           // codeFillSeparatorSelect: row!=null&&row.codeFillSeparatorSelect != '' ? row.codeFillSeparatorSelect:0,    //琛ヤ綅鏃剁殑瀛楃锛岄�変腑鐨勪笅鎷夋鐨勪笅鏍�
           codeFillSeparator:
             row != null && row.codeFillSeparator != ""
@@ -3251,8 +3361,8 @@
           codeFillFlag:
             row != null && row.codeFillFlag != ""
               ? row.codeFillFlag == "true"
-                ? true
-                : false
+              ? true
+              : false
               : false, //娴佹按鏄惁琛ョ爜
           customCodeSerialClass:
             row != null && row.customCodeSerialClass != ""
@@ -3315,8 +3425,8 @@
           matchClassifyValueFlag:
             row != null && row.matchClassifyValueFlag != ""
               ? row.matchClassifyValueFlag == "true"
-                ? true
-                : false
+              ? true
+              : false
               : false, //鏄惁鑷姩鍖归厤鍊�
           parentClassifySecOid:
             row != null && row.parentClassifySecOid != ""
@@ -3347,11 +3457,20 @@
         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) => {
+        getDictionary({code: enumKey}).then((res) => {
           enumCach = res.data.data;
           localStorage.setItem(enumKey, JSON.stringify(res.data.data));
         });
@@ -3380,16 +3499,17 @@
       this.enumParam.codeFillType = this.getLocalStorageEnum("codeFillType") || [];
     },
     loadCodeFillSeparator() {
-      let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
-      if (enumCach == null) {
-        getDictionary("codeFillSeparator").then((res) => {
-          this.enumParam.codeFillSeparator = res.data.data;
-          localStorage.setItem(
-            "codeFillSeparator",
-            JSON.stringify(res.data.data)
-          );
-        });
-      }
+      //let enumCach = JSON.parse(localStorage.getItem("codeFillSeparator"));
+      //if (enumCach == null) {
+      getDictionaryBiz({code: "codeFillSeparator"}).then((res) => {
+        this.enumParam.codeFillSeparator = res.data.data;
+        //console.log(this.enumParam.codeFillSeparator);
+        localStorage.setItem(
+          "codeFillSeparator",
+          JSON.stringify(res.data.data)
+        );
+      });
+      //}
     },
     loadCodeLevelType() {
       this.enumParam.codeLevelType = this.getLocalStorageEnum("codeLevelType") || [];
@@ -3406,7 +3526,7 @@
         this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
         return;
       }
-      if(this.selectionList.length> 1){
+      if (this.selectionList.length > 1) {
         this.$message.warning("鍙兘閫夋嫨涓�鏉$紪鐮佽鍒欙紒");
         return;
       }
@@ -3489,11 +3609,11 @@
 }
 
 .left
-  > .el-form-item
-  > .el-form-item__content
-  > .el-input-number
-  > .el-input
-  > .el-input__inner {
+> .el-form-item
+> .el-form-item__content
+> .el-input-number
+> .el-input
+> .el-input__inner {
   width: 120px;
 }
 
@@ -3503,8 +3623,14 @@
 }
 
 /** 鏂板鐮佹 */
+.add-basicsec-dialog > .el-dialog > .el-dialog__body {
+  padding: 20px 20px 4px;
+  margin-bottom: 30px;
+}
+
 .add-basicsec-total {
   width: 100%;
+  height: 500px;
 }
 
 .add-basicsec-total .el-input__inner,
@@ -3523,9 +3649,11 @@
 
 .add-basicsec-form > .el-divider--vertical {
   width: 2px;
-  height: 100%;
-  margin: 0 auto;
-  /* position: fixed; */
+  height: 78%;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  transform: translate(-50%, -50%);
 }
 
 .left {
@@ -3541,8 +3669,9 @@
   width: auto;
 }
 
-.right > .el-form > .el-form-item {
-  margin-bottom: 8px;
+.add-basicsec-form > .left > .el-form-item,
+.add-basicsec-form > .right > div > .el-form-item {
+  margin-bottom: 12px;
 }
 
 /* 瀵硅瘽妗嗗簳閮ㄦ寜閽竟妗嗘牱寮� */
@@ -3559,4 +3688,5 @@
 /* .code-total > .basic-container__card {
     height: 100%;
   } */
+
 </style>

--
Gitblit v1.9.3