From c092522971add0ae88926eafe8adc906b9d9391c Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期五, 14 七月 2023 09:50:43 +0800
Subject: [PATCH] 代码提交

---
 Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/mapper/UserMapper.java                         |   11 
 Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml                                              |   15 
 Source/UBCS-WEB/src/views/code/code.vue                                                                                  |  963 +++++++++++++++++++++++++++-----------------------
 Source/UBCS-WEB/src/api/system/user.js                                                                                   |   11 
 Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java                     |    1 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java |    2 
 Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/IUserService.java                      |    3 
 Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue                                                |    9 
 Source/UBCS-WEB/src/views/system/user.vue                                                                                |    6 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java             |    6 
 Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java              |   27 +
 Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java                 |    2 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java             |   15 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java                |    6 
 Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java                 |    4 
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java                 |    3 
 16 files changed, 606 insertions(+), 478 deletions(-)

diff --git a/Source/UBCS-WEB/src/api/system/user.js b/Source/UBCS-WEB/src/api/system/user.js
index 9f94fef..855786d 100644
--- a/Source/UBCS-WEB/src/api/system/user.js
+++ b/Source/UBCS-WEB/src/api/system/user.js
@@ -148,3 +148,14 @@
     }
   })
 }
+
+// 鐢ㄦ埛map鍒楄〃鏌ヨ
+export const getByRoleUserList =(roleName) => {
+  return request({
+    url: '/api/ubcs-user/getByRoleUserList',
+    method: 'get',
+    params:{
+      roleName
+    }
+  })
+}
\ No newline at end of file
diff --git a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
index c5ffdba..c04a197 100644
--- a/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
+++ b/Source/UBCS-WEB/src/components/code-dialog-page/referConfigFormDialog.vue
@@ -628,16 +628,18 @@
                                         // console.log(this.form);
                                     },
                                 },{
-                                    label: '鏄惁寮�鍚寔涔呭寲',
+                                    label: '鏄惁鎸佷箙鍖栧弬鐓ч厤缃�',
                                     prop: 'isPersistence',
+                                    labelWidth: '142',
                                     tip: 'true:寮�鍚寔涔呭寲锛屽褰撳墠瀹氫箟鐨勫弬鐓ч厤缃繘琛屾寔涔呭寲瀛樺偍锛屼笅娆″彲鐩存帴閫夊彇锛沠alse:浠呭褰撳墠娆$爜娈垫柊澧炵敓鏁堛��',
                                     tipPlacement: 'bottom',
                                     span: 6,
                                     type: 'switch',
                                 },{
                                     display: this.form.isPersistence | this.form.isPersistence=='true',
-                                    label: '缂栧彿',
+                                    label: '鍙傜収閰嶇疆缂栧彿',
                                     prop: 'id',
+                                    tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑缂栧彿銆�',
                                     rules: [{
                                         required: true,
                                         message: "(寮�鍚寔涔呭寲鏃剁紪鍙�)蹇呭~椤逛笉鑳戒负绌�",
@@ -646,8 +648,9 @@
                                     span: 6,
                                 },{
                                     display: this.form.isPersistence | this.form.isPersistence=='true',
-                                    label: '鍚嶇О',
+                                    label: '鍙傜収閰嶇疆鍚嶇О',
                                     prop: 'name',
+                                    tip: '璁剧疆璇ュ弬鐓ч厤缃寔涔呭寲瀛樺偍鏃剁殑鍚嶇О銆�',
                                     rules: [{
                                         required: true,
                                         message: "(寮�鍚寔涔呭寲鏃跺悕绉�)蹇呭~椤逛笉鑳戒负绌�",
diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 275d740..b0facfa 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -227,6 +227,27 @@
         <el-button @click="cloneOtherCodeRuleSettingBox = false">鍙� 娑�</el-button>
       </div>
     </el-dialog>
+    
+    <!-- 缂栫爜瑙勫垯,杞Щ鎵�鏈夎�呭璇濇 -->
+    <el-dialog
+      :visible.sync="escapeOwnerVisible"
+      append-to-body
+      title="杞Щ鎵�鏈夎��"
+      width="30%">
+      <el-select v-model="ruleOwner" placeholder="璇烽�夋嫨" class="selects">
+        <el-option
+          v-for="item in ruleAdminUserList"
+          :key="item.VALUE"
+          :label="item.LABLE"
+          :value="item.VALUE"
+          class="seloption">
+        </el-option>
+      </el-select>
+        <span slot="footer" class="dialog-footer">
+          <el-button @click="escapeOwnerVisible = false">鍙� 娑�</el-button>
+          <el-button type="primary" @click="escapeOwnerConfirm">纭� 瀹�</el-button>
+        </span>
+    </el-dialog>
 
     <!-- 鍩虹鐮佹灞曠ず鍖哄煙 -->
     <basic-container class="code-basicsec-container">
@@ -690,11 +711,11 @@
           </span>
         </el-form>
       </div>
-      <!-- 绗竴灞傚璇濇鐨勬寜閽拰锛岀嚎鏉� -->
+      <!-- 绗竴灞傚璇濇鐨勬寜閽拰鍒嗛殧绾挎潯 -->
       <el-divider class="horizontal-line" direction="horizontal"></el-divider>
       <div slot="footer" class="dialog-footer">
-        <el-button type="primary" @click="saveOrEditBasicCode" v-show="showbtn">淇� 瀛�</el-button>
-        <el-button @click="addBasicCodeSettingBox = false" v-show="showbtn">鍙� 娑�</el-button>
+        <el-button type="primary" @click="saveOrEditBasicCode" :disabled="!showbtn">淇� 瀛�</el-button>
+        <el-button @click="addBasicCodeSettingBox = false">鍙� 娑�</el-button>
       </div>
 
       <!--  绗簩灞傚璇濇,灞炴�х爜娈碉紝灞炴�ч�夋嫨瀵硅瘽妗� -->
@@ -832,7 +853,7 @@
   import fixedValueOption from "@/const/code/fixedValueMgrDialog";
   import {mapGetters} from "vuex";
   import func from "@/util/func";
-  import {MasterTable} from "@/api/GetItem";
+  import {getByRoleUserList} from "@/api/system/user";
 
   export default {
       data() {
@@ -866,6 +887,10 @@
           cloneBasicOption: cloneBasicOption,
           cloneCodeRuleOption: cloneCodeRuleOption,
           selectionOtherCloneCodeBasicList: [], // 褰撳墠閫変腑鐨勫熀纭�鐮佹
+          /** 杞Щ鎵�鏈夎�呭璇濇 */
+          escapeOwnerVisible: false,
+          ruleAdminUserList: [], //瑙勫垯绠$悊鍛樺垪琛�
+          ruleOwner: '', // 褰撳墠瑕佽浆绉荤粰鍝釜瑙勫垯绠$悊鍛樼殑ID
 
           /*浣跨敤鑼冨洿瀵硅瘽妗嗘樉绀烘帶鍒�*/
           codeRangeSettingBox: false,
@@ -1108,6 +1133,37 @@
       },
       methods: {
 
+        /** 杞Щ瑙勫垯鎵�鏈夎�呭璇濇 */
+        escapeOwner(){
+          if (this.selectionList.length === 0) {
+            this.$message.warning("璇烽�夋嫨涓�鏉$紪鐮佽鍒欙紒");
+            return;
+          }
+          this.escapeOwnerVisible = true;
+          getByRoleUserList("瑙勫垯绠$悊鍛�").then(res=>{
+            this.ruleAdminUserList = res.data.data;
+          });
+        },
+        /** 纭杞Щ鎵�鏈夎�� */
+        escapeOwnerConfirm(){
+          if(!this.ruleOwner){
+            this.$message.warning("璇烽�夋嫨鎮ㄨ杞Щ鐨勮鍒欑鐞嗗憳锛�");
+            return;
+          }
+          this.selectionList[0].owner = this.ruleOwner;
+          let data = this.selectionList[0];
+          update(data).then(() => {
+            this.onLoad(this.page);
+            this.$message({
+              type: "success",
+              message: "瑙勫垯杞Щ鎴愬姛!"
+            });
+            this.escapeOwnerVisible = false;
+          }, error => {
+            console.log(error);
+          });
+        },
+
         /** 楂樼骇鏌ヨ瀵硅瘽妗嗙粍浠�,缁勪欢杩斿洖鐨勫�兼槸condtionMap[field]褰㈠紡鐨勬煡璇㈡潯浠讹紝淇濈暀浜嗗拰涔嬪墠涓�鏍风殑鏂瑰紡 */
         echoSeniorContionMap(conditionMaps){
           //console.log(conditionMaps);
@@ -1133,7 +1189,6 @@
           //杞崲鎴怞SON瀛楃涓茶繘琛岀埗缁勪欢鍥炴樉
           let submitFormJson = JSON.stringify(content);
           this.form.referConfig = submitFormJson || '';
-          this.form.referValueInfo = submitFormJson || '';
         },
         /** 寮曠敤鐮佹涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庣殑鍐呭鍥炴樉鏃惰皟鐢� */
         echoReferBtmType(content){
@@ -1643,434 +1698,6 @@
           return currentRowClassOid!=updateClassOid;
         },
 
-
-        /** 鍩虹鐮佹鐩稿叧鏂规硶 */
-        //闃叉鎵撳紑杩囩紪杈戠獥鍙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(() => {
-                this.$message({
-                  type: "success",
-                  message: "鎿嶄綔鎴愬姛!"
-                });
-              }, error => {
-                window.console.log(error);
-              });
-              // 鍏抽棴瀵硅瘽妗�
-              this.addBasicCodeSettingBox = false
-            }
-            // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
-            this.loadBasic(this.selectionList[0]);
-          }else{
-            // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
-            if(this.form.referConfig === "coderefersec" || this.form.referConfig != undefined){
-              let referConfig = JSON.parse(this.form.referConfig);
-              referConfig.referType = this.form.referBtmId;
-              referConfig.referTypeName = this.form.referBtmName;
-              this.form.referConfig = JSON.stringify(referConfig);
-              let referValueInfo = JSON.parse(this.form.referValueInfo);
-              referValueInfo.referType = this.form.referBtmId;
-            }
-            editSave(this.form).then(() => {
-              this.$message({
-                type: "success",
-                message: "鎿嶄綔鎴愬姛!"
-              });
-              }, error => {
-                window.console.log(error);
-            });
-            this.loadBasic(this.selectionList[0]);
-            // 鍏抽棴瀵硅瘽妗�
-            this.addBasicCodeSettingBox = 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;
-            }
-          }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);
-        },
-        // 涓婄Щ涓嬬Щ鍩虹鐮佹
-        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;
-          //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){
@@ -2424,15 +2051,6 @@
             this.loadBasic(this.selectionList[list.length-1]);
           }
         },
-        changeCutType(value){
-          if (value != 'code_cut_none'){
-            if(this.form.valueCutLength == ''){
-              this.form.valueCutLength = 1;
-            }
-          }else{
-            this.form.valueCutLength = '';
-          }
-        },
         // 鍗曞嚮缂栫爜瑙勫垯瀹炵幇琛岄�夋嫨
         codeRuleRowClick (row) {
           // console.log(this.currentRuleLcStatus);
@@ -2480,6 +2098,442 @@
           });
         },
 
+
+        /** 鍩虹鐮佹鐩稿叧鏂规硶 */
+        //闃叉鎵撳紑杩囩紪杈戠獥鍙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(() => {
+                this.$message({
+                  type: "success",
+                  message: "鎿嶄綔鎴愬姛!"
+                });
+              }, error => {
+                window.console.log(error);
+              });
+              // 鍏抽棴瀵硅瘽妗�
+              this.addBasicCodeSettingBox = false
+            }
+            // 鐐瑰嚮鏂板鍩虹鐮佹,鍏抽棴绐楀彛涔嬪悗瑙﹀彂閲嶆柊鍔犺浇
+            this.loadBasic(this.selectionList[0]);
+          }else{
+            // 鍙兘鍙傜収寮曠敤鐨勪笟鍔$被鍨嬩細鍙戠敓鏀瑰彉鎵�浠ヨ繖鍎跨洿鎺ュreferConfig鐨刯son杩涜鏀瑰彉
+            if(this.form.referConfig === "coderefersec" || this.form.referConfig != undefined){
+              let referConfig = JSON.parse(this.form.referConfig);
+              referConfig.referType = this.form.referBtmId;
+              referConfig.referTypeName = this.form.referBtmName;
+              this.form.referConfig = JSON.stringify(referConfig);
+              // let referValueInfo = JSON.parse(this.form.referValueInfo);
+              // referValueInfo.referType = this.form.referBtmId;
+            }
+            editSave(this.form).then(() => {
+              this.$message({
+                type: "success",
+                message: "鎿嶄綔鎴愬姛!"
+              });
+              }, error => {
+                window.console.log(error);
+            });
+            this.loadBasic(this.selectionList[0]);
+            // 鍏抽棴瀵硅瘽妗�
+            this.addBasicCodeSettingBox = 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;
+            }
+          }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);
+        },
+        // 涓婄Щ涓嬬Щ鍩虹鐮佹
+        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;
+          //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 = [];
+          }
+        },
+        changeCutType(value){
+          if (value != 'code_cut_none'){
+            if(this.form.valueCutLength == ''){
+              this.form.valueCutLength = 1;
+            }
+          }else{
+            this.form.valueCutLength = '';
+          }
+        },
+
         /** 绗竴灞傚璇濇鐩稿叧鏂规硶 */
         // 鎵撳紑浜屽眰瀵硅瘽妗嗘柟娉�
         openAttrSelectOrGetValue(condition){
@@ -2506,14 +2560,21 @@
 
         // 褰撳墠宸插瓨鍦ㄧ紪杈戣繃鐨勫弬鐓ч厤缃紝鎵�浠ョ洿鎺ユ墦寮�鍙傜収閰嶇疆鐣岄潰
         openReconfigInterFace(preReferConfigForm){
-          // console.log(preReferConfigForm);
+          const form = preReferConfigForm;
+          // 缂栬緫鐮佹鏃秗eferConfig鍙兘浼氬湪涓恒�愬弬鐓у紩鐢ㄧ殑涓氬姟绫诲瀷銆戦�夊彇鍊间箣鍚庢敼鍙�
+          let referConfigValue =JSON.parse(form.referConfig);
+          if(referConfigValue.referType != form.referBtmId){
+            referConfigValue.referType = form.referBtmId || '';
+            referConfigValue.referTypeName = form.referBtmName || form.referBtmId;
+            this.form.referConfig = JSON.stringify(referConfigValue);
+          }
+          let data = {
+            referTypeName: form.referBtmName,
+            referType: form.referBtmId,
+            referConfig: this.form.referConfig,
+          }
           this.$refs.referConfigFormDialog.isShowReferConfigForm = true;
-              let value = {
-                referTypeName: preReferConfigForm.referBtmName,
-                referType: preReferConfigForm.referBtmId,
-                referConfig: preReferConfigForm.referConfig,
-              }
-              this.$refs.referConfigFormDialog.initPageData(value);
+          this.$refs.referConfigFormDialog.initPageData(data);
         },
         // 鎵撳紑鑷畾涔夊弬鐓ч厤缃垨鐩存帴閫夋嫨鍙傜収閰嶇疆鐨勬彁绀烘
         openTipsChooseOrCust(){
@@ -2865,4 +2926,8 @@
     padding: 5px 10px 10px;
  }
 
+ .seloption{
+  margin-left: 10px;
+}
+
 </style>
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index d1ccf6a..98810f9 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/Source/UBCS-WEB/src/views/system/user.vue
@@ -154,9 +154,9 @@
             </el-option>
           </el-select>
             <span slot="footer" class="dialog-footer">
-            <el-button @click="passVisible = false">鍙� 娑�</el-button>
-            <el-button type="primary" @click="passhandle">纭� 瀹�</el-button>
-  </span>
+              <el-button @click="passVisible = false">鍙� 娑�</el-button>
+              <el-button type="primary" @click="passhandle">纭� 瀹�</el-button>
+            </span>
         </el-dialog>
       </basic-container>
     </el-col>
diff --git a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
index 2b17dbb..bd46a13 100644
--- a/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
+++ b/Source/UBCS/ubcs-service-api/ubcs-system-api/src/main/java/com/vci/ubcs/system/feign/ISysClient.java
@@ -70,6 +70,7 @@
 	String STRATEGYBYID = API_PREFIX + "/query-userid";
 	String REGEX = API_PREFIX + "/combination-regex";
 	String REGEXONE = API_PREFIX + "/combination-regex-one";
+
 	/**
 	 * 鑾峰彇鑿滃崟
 	 *
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
index 5a02f9f..c8869c3 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java
@@ -272,7 +272,7 @@
 				throw new VciBaseException("寮曠敤鐮佹鐨勬椂鍊欙紝鍙傜収閰嶇疆鐨勫唴瀹圭殑鏍煎紡涓嶆纭�,",new String[0],e);
 			}
 			// 鍒ゆ柇鏄惁涓哄紩鐢ㄧ爜娈碉紝濡傛灉鏄簲鐢ㄧ爜娈电殑璇濓紝涓轰簡閫傞厤鍓嶇缁勪欢锛岃繖閲岃瀵硅〃杩涜澶勭悊涓�涓嬶紝鎸夌収浠ュ墠鐨勫弬鐓ф牸寮忚繘琛岃浆鎹�
-			codeBasicSecDO.setReferValueInfo(referConfigTOUIUiTable(codeReferConfigVO));
+			codeBasicSecDO.setReferValueInfo(referConfigToUIUiTable(codeReferConfigVO));
 			if(codeReferConfigVO.getIsPersistence()=="true"){
 				codeReferConfigService.insert(codeReferConfigVO);
 			}
@@ -296,7 +296,7 @@
 	 * @param codeReferConfig
 	 * @return
 	 */
-	private String referConfigTOUIUiTable(CodeReferConfigVO codeReferConfig){
+	private String referConfigToUIUiTable(CodeReferConfigVO codeReferConfig){
 		// 鎷疯礉涓轰互鍓嶇殑鑰佸璞�
 		UIReferConfigFormVO uiFormReferVO = new UIReferConfigFormVO();
 		BeanUtil.copy(codeReferConfig,uiFormReferVO);
@@ -366,16 +366,23 @@
 				&& StringUtils.isBlank(codeBasicSecDO.getCodeFillSeparator())){
 				throw new VciBaseException("褰撹ˉ浣嶆柟寮忎负宸﹁ˉ浣嶆垨鑰呭彸琛ヤ綅鐨勬椂鍊欙紝琛ヤ綅瀛楃涓嶈兘涓虹┖");
 			}
+			CodeReferConfigVO codeReferConfigVO = null;
 			//寮曠敤鐮佹鐨勬椂鍊欙紝闇�瑕佸垽鏂弬鐓х殑淇℃伅鏄惁姝g‘
 			if(CodeSecTypeEnum.CODE_REFER_SEC.getValue().equalsIgnoreCase(codeBasicSecDO.getSecType())){
 				if(StringUtils.isBlank(codeBasicSecDO.getReferConfig())){
-					throw new VciBaseException("寮曠敤鐮佹鐨勬椂鍊欙紝闇�瑕佸~鍐� 鍙傜収閰嶇疆 鐨勫唴瀹�");
+					throw new VciBaseException("寮曠敤鐮佹鐨勬椂鍊欙紝闇�瑕佸~鍐欏弬鐓ч厤缃殑鍐呭");
 				}
 				try{
-					JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
+					// JSONObject.parseObject(codeBasicSecDO.getReferConfig(), UIFormReferVO.class);
+					codeReferConfigVO = JSONObject.parseObject(codeBasicSecDO.getReferConfig(), CodeReferConfigVO.class);
 				}catch (Throwable e){
 					throw new VciBaseException("寮曠敤鐮佹鐨勬椂鍊欙紝鍙傜収閰嶇疆鐨勫唴瀹圭殑鏍煎紡涓嶆纭�,",new String[0],e);
 				}
+				// 鍒ゆ柇鏄惁涓哄紩鐢ㄧ爜娈碉紝濡傛灉鏄簲鐢ㄧ爜娈电殑璇濓紝涓轰簡閫傞厤鍓嶇缁勪欢锛岃繖閲岃瀵硅〃杩涜澶勭悊涓�涓嬶紝鎸夌収浠ュ墠鐨勫弬鐓ф牸寮忚繘琛岃浆鎹�
+				codeBasicSecDO.setReferValueInfo(referConfigToUIUiTable(codeReferConfigVO));
+				if(codeReferConfigVO.getIsPersistence()=="true"){
+					codeReferConfigService.insert(codeReferConfigVO);
+				}
 			}
 			revisionModelUtil.copyFromDTOIgnore(codeBasicSecDTO, codeBasicSecDO);
 			resBoolean = codeBasicSecMapper.updateById(codeBasicSecDO)>0;
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
index 1191bb3..b675fa2 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyServiceImpl.java
@@ -197,11 +197,11 @@
 	 * @return  鏁版嵁瀵硅薄
 	 */
 	private CodeClassify selectByOid(String oid){
-		CodeClassify codeClassifyEntity = codeClassifyMapper.selectClassifyByKeyAndReseRel("'"+oid.trim()+"'").get(0);
-		if(codeClassifyEntity == null || StringUtils.isBlank(codeClassifyEntity.getOid())){
+		List<CodeClassify> codeClassifyEntityList = codeClassifyMapper.selectClassifyByKeyAndReseRel("'" + oid.trim() + "'");
+		if (codeClassifyEntityList.isEmpty() || codeClassifyEntityList.get(0) == null || StringUtils.isBlank(codeClassifyEntityList.get(0).getOid())) {
 			throw new ServiceException("dataOidNotExist");//鏍规嵁涓婚敭id鏈煡鍒扮浉鍏虫暟鎹�
 		}
-		return codeClassifyEntity;
+		return codeClassifyEntityList.get(0);
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
index 719087b..1c251ee 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeClassifyTemplateAttrServiceImpl.java
@@ -714,7 +714,7 @@
 		//杩欎釜涓氬姟绫诲瀷涓嬬殑鎵�鏈夊睘鎬�
 		R<BtmTypeVO> btmTypeVOR = btmTypeClient.getAllAttributeByBtmId(codeClassifyTemplateDO.getBtmTypeId());
 		if(btmTypeVOR.getCode() != 200){
-			throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤澶辫触锛�");
+			throw new ServiceException("涓氬姟绫诲瀷feign璋冪敤閿欒锛�");
 		}
 
 		//杩欎釜妯℃澘涓嬪凡缁忔湁鐨勫睘鎬�
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
index 6c67106..2d4778c 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeRuleServiceImpl.java
@@ -203,6 +203,9 @@
 		//灏咲TO杞崲涓篋O
 		CodeRule codeRule = selectByOid(codeRuleDTO.getOid());
 		revisionModelUtil.copyFromDTOIgnore(codeRuleDTO, codeRule);
+		if(!codeRule.getOwner().equals(codeRuleDTO.getOwner())){
+			codeRule.setOwner(codeRuleDTO.getOwner());
+		}
 		DefaultAttrAssimtUtil.updateDefaultAttrAssimt(codeRule);
 		return R.status(codeRuleMapper.updateById(codeRule)>0);
 	}
diff --git a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
index 641216d..051c73b 100644
--- a/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/MdmEngineServiceImpl.java
@@ -3379,7 +3379,7 @@
 
         String lcstatusSql = "";
         if (StringUtils.isNotBlank(baseQueryObject.getConditionMap().get("lcstatus"))) {
-            lcstatusSql = "lcstatus =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lcstatus"));
+            lcstatusSql = "and lcstatus =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lcstatus"));
         }
 //        String where = "";
 
@@ -3392,7 +3392,7 @@
 
         List<Map> maps = commonsMapper.selectBySql("select * from ( select rownum rn, t.* from (select * from " + listR.getData().get(0).getTableName() + SPACE
                 + (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId()) ? (" where lastr = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastr").toString())
-                + " and lastv =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 and "
+                + " and lastv =" + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 "
                 + lcstatusSql + namesql + codesql + ") t where rownum <=" + num1 + ") where rn >=" + num2
         );
         List<BaseModel> baseModels = new ArrayList<>();
@@ -3436,7 +3436,7 @@
         }
         int total = commonsMapper.queryCountBySql("select count(*) from " + listR.getData().get(0).getTableName() + SPACE
                 + (StringUtils.isNotBlank(listR.getData().get(0).getRevisionRuleId()) ? (" where lastr = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastr").toString())
-                + "and lastv = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 and "
+                + "and lastv = " + VciBaseUtil.toInSql(baseQueryObject.getConditionMap().get("lastv").toString())) + " and" : "where") + SPACE + "1=1 "
                 + lcstatusSql + namesql + codesql
         );
         IPage<BaseModel> objectDataGrid = new Page<>();
diff --git a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java
index d822084..dc6025a 100644
--- a/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-system/src/main/java/com/vci/ubcs/system/service/impl/RoleServiceImpl.java
@@ -166,7 +166,7 @@
 		if (roleList != null && roleList.size() > 0) {
 			return roleList.stream().map(role -> Func.toStr(role.getId())).distinct().collect(Collectors.joining(","));
 		}
-		return null;
+		return "";
 	}
 
 	@Override
diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java
index 21ba0d6..5d3f5e4 100644
--- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java
+++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/controller/UserController.java
@@ -369,8 +369,8 @@
 	 */
 	@GetMapping("/getByRoleUserList")
 	@ApiOperationSupport(order = 21)
-	@ApiOperation(value = "鑾峰彇鍒版寚瀹氳韩浠芥潈闄愮殑鐢ㄦ埛鍒楄〃", notes = "浼犲叆id")
-	public R<List<UserVO>> getByRoleUserList(BladeUser user,@Valid @RequestParam String roleName){
+	@ApiOperation(value = "鑾峰彇鍒版寚瀹氳韩浠芥潈闄愮殑鐢ㄦ埛鍒楄〃", notes = "浼犲叆roleName")
+	public R<List<Map<String,String>>> getByRoleUserList(BladeUser user,@Valid @RequestParam String roleName){
 		return R.data(userService.getByRoleUserList(user,roleName));
 	}
 
diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/mapper/UserMapper.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/mapper/UserMapper.java
index 7f0634c..807c7f6 100644
--- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/mapper/UserMapper.java
+++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/mapper/UserMapper.java
@@ -21,9 +21,11 @@
 import com.baomidou.mybatisplus.core.metadata.IPage;
 import com.vci.ubcs.system.user.entity.User;
 import com.vci.ubcs.system.user.excel.UserExcel;
+import org.apache.ibatis.annotations.MapKey;
 import org.apache.ibatis.annotations.Param;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * Mapper 鎺ュ彛
@@ -62,6 +64,13 @@
 	 */
 	List<UserExcel> exportUser(@Param("ew") Wrapper<User> queryWrapper);
 
-	List<User> getByRoleUserList(@Param("tenantId") String tenantId, @Param("roleName") String roleName);
+	/**
+	 * 鏍规嵁瑙掕壊id鏌ヨ褰撳墠鐢ㄦ埛浠ュ鐨勬墍鏈夌敤鎴�
+	 * @param roleId
+	 * @param userId
+	 * @return 閿�奸槦褰㈠紡
+	 */
+	@MapKey("ID")
+	List<Map<String,String>> getUserMap(@Param("roleId") String roleId, @Param("userId") String userId);
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/IUserService.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/IUserService.java
index fd13d1e..b8390e1 100644
--- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/IUserService.java
+++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/IUserService.java
@@ -30,6 +30,7 @@
 import org.springblade.core.secure.BladeUser;
 
 import java.util.List;
+import java.util.Map;
 
 /**
  * 鏈嶅姟绫�
@@ -251,6 +252,6 @@
 	 * @param roleName 瑕佹煡璇㈢殑瑙掕壊韬唤
 	 * @return
 	 */
-	List<UserVO> getByRoleUserList(BladeUser user, String roleName);
+	List<Map<String,String>> getByRoleUserList(BladeUser user, String roleName);
 
 }
diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
index 366f031..6244112 100644
--- a/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
+++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/java/com/vci/ubcs/system/user/service/impl/UserServiceImpl.java
@@ -58,6 +58,8 @@
 import org.springframework.util.DigestUtils;
 
 import java.util.*;
+import java.util.stream.Collectors;
+import java.util.stream.Stream;
 
 import static com.vci.ubcs.common.constant.CommonConstant.DEFAULT_PARAM_PASSWORD;
 
@@ -535,11 +537,28 @@
 		return this.update(Wrappers.<User>lambdaUpdate().in(User::getId, userIds).set(User::getStrategyUpdateStatus,CommonConstant.IS_DEFAULT));
 	}
 
+	/**
+	 * 鑾峰彇鍒版寚瀹氳韩浠芥潈闄愮殑鐢ㄦ埛鍒楄〃
+	 * @param user 鐢ㄦ埛鏌ヨ鐨勭敤鎴蜂俊鎭紝濡傜鎴蜂俊鎭紝閫氬父涓鸿嚜鍔ㄦ敞鍏ワ紝鍓嶇鍙�夋嫨涓嶄紶
+	 * @param roleName 瑕佹煡璇㈢殑瑙掕壊韬唤
+	 * @return
+	 */
 	@Override
-	public List<UserVO> getByRoleUserList(BladeUser user, String roleName) {
-
-
-		return null;
+	public List<Map<String,String>> getByRoleUserList(BladeUser user, String roleName) {
+		// 鑰冭檻鍒颁竴涓敤鎴峰彲浠ユ嫢鏈夊绉嶈鑹叉潈闄愶紝鑰岀敤鎴峰叧鑱旇鑹叉潈闄愭槸鐢╮ole_id瀛楁鐢ㄩ�楀彿鍒嗛殧瑙掕壊id鐨勶紝鐩存帴閲囩敤瀛愭煡璇㈡潵in鏌ヨ涓嶈兘瀹炵幇锛屾墍浠ュ厛鏌ヨ瑙掕壊id
+		R<String> roleIds = sysClient.getRoleIds(user.getTenantId(), roleName);
+		if(roleIds.getCode() != 200){
+			throw new ServiceException("绯荤粺鏈嶅姟feign鎺ュ彛璋冪敤閿欒锛�");
+		}
+		if(Func.isBlank(roleIds.getData())){
+			return new ArrayList<>();
+		}
+		List<Map<String,String>> list = new ArrayList<>();
+		Arrays.stream(roleIds.getData().split(",")).forEach(item->{
+			list.addAll(this.baseMapper.getUserMap(item,user.getUserId().toString()));
+		});
+		// 鍘婚櫎閲嶅
+		return list.stream().distinct().collect(Collectors.toList());
 	}
 
 	/**
diff --git a/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml b/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml
index a698e34..559bcbd 100644
--- a/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml
+++ b/Source/UBCS/ubcs-service/ubcs-user/src/main/resources/mapper/UserMapper.xml
@@ -99,9 +99,18 @@
             where id = #{userId} and is_deleted = 0
     </select>
 
-    <select id="getByRoleUserList" resultType="com.vci.ubcs.system.user.entity.User">
-
-
+    <select id="getUserMap" resultType="map">
+        SELECT
+            PCR.ID as value,
+            PCR.ACCOUNT as lable
+        FROM
+            PL_ORG_USER PCR
+        WHERE
+            instr(PCR.ROLE_ID,#{roleId}) > 0
+        AND
+            PCR.ID != #{userId}
+        AND
+            PCR.IS_DELETED = 0
     </select>
 
 </mapper>

--
Gitblit v1.9.3