From 13e07d48a90efdaee8b89e96a1d97a42f19777d7 Mon Sep 17 00:00:00 2001
From: ludc
Date: 星期三, 25 十月 2023 22:43:53 +0800
Subject: [PATCH] 1、修改从其他规则克隆规则时排序号未重排的bug。 2、为密码策略管理、用户管理、部门管理界面增加按钮权限控制

---
 Source/UBCS/ubcs-service/ubcs-code/src/main/java/com/vci/ubcs/code/service/impl/CodeBasicSecServiceImpl.java |   11 +++
 Source/UBCS-WEB/src/views/code/code.vue                                                                      |    2 
 Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue                                            |   23 ++++++-
 Source/UBCS-WEB/src/views/system/dept.vue                                                                    |   38 +++++++-----
 Source/UBCS-WEB/src/views/system/user.vue                                                                    |   54 ++++++++++--------
 5 files changed, 83 insertions(+), 45 deletions(-)

diff --git a/Source/UBCS-WEB/src/views/code/code.vue b/Source/UBCS-WEB/src/views/code/code.vue
index 1c397cf..119c8be 100644
--- a/Source/UBCS-WEB/src/views/code/code.vue
+++ b/Source/UBCS-WEB/src/views/code/code.vue
@@ -2934,7 +2934,7 @@
       if (!this.tipsMessage(this.selectionBasicList)) {
         return;
       }
-      if (this.selectionBasicList[0].lcStatus != "Editing") {
+      if (this.selectionList.at(-1).lcStatus != "Editing") {
         this.$message.warning('缂栫爜瑙勫垯鐘舵�佷笉鏄�"缂栬緫涓�"锛屼笉鍏佽鍒犻櫎鐮佹!');
         return;
       }
diff --git a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
index f28a489..9b24dc2 100644
--- a/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
+++ b/Source/UBCS-WEB/src/views/system/PasswordManagement/passwords.vue
@@ -6,7 +6,7 @@
           type="text"
           size="small"
           icon="el-icon-edit"
-          v-if="permission.password.password_edit"
+          v-if="permissionList.editBtn"
           @click="handleEdit(row, index)"
         >
           缂栬緫
@@ -15,7 +15,7 @@
           type="text"
           size="small"
           icon="el-icon-delete"
-          v-if="permission.password.password_delete"
+          v-if="permissionList.delBtn"
           @click="handleDel(row, index)"
         >
           鍒犻櫎
@@ -147,6 +147,22 @@
   },
   computed:{
     ...mapGetters(["permission"]),
+    permissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.password.password_add, false),
+        //viewBtn: this.vaildData(this.permission.password.user_view, false),
+        delBtn: this.vaildData(this.permission.password.password_delete, false),
+        editBtn: this.vaildData(this.permission.password.password_edit, false),
+      };
+    },
+    platformPermissionList() {
+      return {
+        addBtn: this.vaildData(this.permission.password.password_add, false),
+        //viewBtn: this.vaildData(this.permission.password.user_view, false),
+        delBtn: this.vaildData(this.permission.password.password_delete, false),
+        editBtn: this.vaildData(this.permission.password.password_edit, false),
+      };
+    },
     option(){
       return{
           headerAlign: 'center',
@@ -155,7 +171,7 @@
           border: true,
           index: true,
           rowKey:'id',
-          addBtn:this.permission.password.password_add,
+          addBtn:this.permissionList.addBtn,
           editBtn:false,
           height:700,
           delBtn:false,
@@ -323,7 +339,6 @@
               }]
             }
           ],
-
       }
     }
   },
diff --git a/Source/UBCS-WEB/src/views/system/dept.vue b/Source/UBCS-WEB/src/views/system/dept.vue
index 1cb7847..ce22ee0 100644
--- a/Source/UBCS-WEB/src/views/system/dept.vue
+++ b/Source/UBCS-WEB/src/views/system/dept.vue
@@ -1,7 +1,7 @@
 <template>
   <basic-container>
     <avue-crud :option="option"
-               :page.sync="page"
+      :page.sync="page"
       :table-loading="loading"
       :data="data"
       ref="crud"
@@ -22,22 +22,22 @@
       @on-load="onLoad"
       @tree-load="treeLoad">
       <template slot="menuLeft">
-        <el-button type="danger"
-                   size="small"
-                   icon="el-icon-delete"
-                   v-if="permission.dept_delete"
-                   plain
-                   @click="handleDelete">鍒� 闄�
+        <el-button v-if="permissionList.delBtn"
+          type="danger"
+          size="small"
+          icon="el-icon-delete"
+          plain
+          @click="handleDelete">
+          鍒� 闄�
         </el-button>
       </template>
       <template slot-scope="scope" slot="menu">
-        <el-button
+        <el-button v-if="permissionList.addChildBtn"
           type="text"
           icon="el-icon-circle-plus-outline"
           size="small"
-          @click.stop="handleAdd(scope.row,scope.index)"
-          v-if="userInfo.role_name.includes('admin')"
-        >鏂板瀛愰」
+          @click.stop="handleAdd(scope.row,scope.index)">
+          鏂板瀛愰」
         </el-button>
       </template>
       <template slot-scope="{row}"
@@ -79,7 +79,7 @@
           height:'auto',
           maxHeight:600,
           columnBtn:false,
-          // simplePage: true,
+          //simplePage: true,
           searchShow: true,
           searchMenuSpan: 6,
           tree: true,
@@ -87,6 +87,8 @@
           index: true,
           selection: true,
           viewBtn: true,
+          editBtn: true,
+          delBtn: true,
           menuWidth: 300,
           dialogClickModal: false,
           highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
@@ -193,14 +195,18 @@
         data: []
       };
     },
+    created() {
+      
+    },
     computed: {
       ...mapGetters(["userInfo", "permission"]),
       permissionList() {
         return {
-          addBtn: this.vaildData(this.permission.dept_add, false),
-          viewBtn: this.vaildData(this.permission.dept_view, false),
-          delBtn: this.vaildData(this.permission.dept_delete, false),
-          editBtn: this.vaildData(this.permission.dept_edit, false)
+          addBtn: this.vaildData(this.permission.dept.dept_add, false),
+          viewBtn: this.vaildData(this.permission.dept.dept_view, false),
+          delBtn: this.vaildData(this.permission.dept.dept_delete, false),
+          editBtn: this.vaildData(this.permission.dept.dept_edit, false),
+          addChildBtn: this.vaildData(this.permission.dept.dept_add_child,false),
         };
       },
       ids() {
diff --git a/Source/UBCS-WEB/src/views/system/user.vue b/Source/UBCS-WEB/src/views/system/user.vue
index af24b5a..8eb6b6f 100644
--- a/Source/UBCS-WEB/src/views/system/user.vue
+++ b/Source/UBCS-WEB/src/views/system/user.vue
@@ -35,56 +35,57 @@
           @refresh-change="refreshChange"
           @on-load="onLoad">
           <template slot="menuLeft">
-            <el-button v-if="permission.user_delete"
+            <el-button v-if="permissionList.delBtn"
                        icon="el-icon-delete"
                        plain
                        size="small"
                        type="danger"
                        @click="handleDelete">鍒� 闄�
             </el-button>
-            <el-button v-if="permission.user_role"
+            <el-button v-if="permissionList.roleBtn"
                        icon="el-icon-user"
                        plain
                        size="small"
                        type="info"
                        @click="handleGrant">瑙掕壊閰嶇疆
             </el-button>
-            <el-button v-if="permission.user_reset"
+            <el-button v-if="permissionList.resetBtn"
                        icon="el-icon-refresh"
                        plain
                        size="small"
                        type="info"
                        @click="handleReset">瀵嗙爜閲嶇疆
             </el-button>
-            <el-button size="small"
-                       v-if="userInfo.role_name.includes('admin')"
+            <el-button v-if="permissionList.pwdStrategyBtn"
+                        size="small"
                        type="success"
                        icon="el-icon-setting"
                        @click="handlepass">
               閰嶇疆瀵嗙爜绛栫暐
             </el-button>
-            <el-button v-if="userInfo.role_name.includes('admin')"
+            <el-button v-if="permissionList.unsealBtn"
               icon="el-icon-coordinate"
               plain
               size="small"
               type="info"
               @click="handleLock">璐﹀彿瑙e皝
             </el-button>
-            <el-button v-if="userInfo.role_name.includes('admin')"
+            <el-button v-if="permissionList.importBtn"
               icon="el-icon-upload2"
               plain
               size="small"
               type="success"
               @click="handleImport">瀵煎叆
             </el-button>
-            <el-button v-if="userInfo.role_name.includes('admin')"
+            <el-button v-if="permissionList.exportBtn"
               icon="el-icon-download"
               plain
               size="small"
               type="warning"
               @click="handleExport">瀵煎嚭
             </el-button>
-            <el-button size="small"
+            <el-button v-if="permissionList.deactEnBtn"
+                size="small"
                 type="warning"
                 icon="el-icon-setting"
                 @click="updateUserStatus">
@@ -288,7 +289,11 @@
         border: true,
         index: true,
         selection: true,
+        /* 涓嬮潰杩欎笁涓睘鎬ч粯璁よ缃负true锛�
+          瀹為檯鏍规嵁permissionList涓鐓х殑灞炴�ц繘琛屾帶鍒剁殑 */
         viewBtn: true,
+        editBtn: true,
+        delBtn: true,
         dialogType: 'drawer',
         dialogClickModal: false,
         highlightCurrentRow: true, //琛岄�変腑鏃堕珮浜�
@@ -727,6 +732,7 @@
   },
   computed: {
     ...mapGetters(["userInfo", "permission"]),
+    /** 鎸夐挳鏄剧ず闅愯棌鎺у埗 */
     permissionList() {
       return {
         addBtn: this.vaildData(this.permission.user.user_add, false),
@@ -742,21 +748,21 @@
         unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
       };
     },
-    platformPermissionList() {
-      return {
-        addBtn: this.vaildData(this.permission.user.user_add, false),
-        viewBtn: this.vaildData(this.permission.user.user_view, false),
-        delBtn: this.vaildData(this.permission.user.user_delete, false),
-        editBtn: this.vaildData(this.permission.user.user_edit, false),
-        deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
-        exportBtn: this.vaildData(this.permission.user.user_export,false),
-        pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
-        importBtn: this.vaildData(this.permission.user.user_import,false),
-        resetBtn: this.vaildData(this.permission.user.user_reset,false),
-        roleBtn: this.vaildData(this.permission.user.user_role,false),
-        unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
-      };
-    },
+    // platformPermissionList() {
+    //   return {
+    //     addBtn: this.vaildData(this.permission.user.user_add, false),
+    //     viewBtn: this.vaildData(this.permission.user.user_view, false),
+    //     delBtn: this.vaildData(this.permission.user.user_delete, false),
+    //     editBtn: this.vaildData(this.permission.user.user_edit, false),
+    //     deactEnBtn: this.vaildData(this.permission.user.user_deact_en,false),
+    //     exportBtn: this.vaildData(this.permission.user.user_export,false),
+    //     pwdStrategyBtn: this.vaildData(this.permission.user.user_pwd_strategy,false),
+    //     importBtn: this.vaildData(this.permission.user.user_import,false),
+    //     resetBtn: this.vaildData(this.permission.user.user_reset,false),
+    //     roleBtn: this.vaildData(this.permission.user.user_role,false),
+    //     unsealBtn: this.vaildData(this.permission.user.user_unseal,false),
+    //   };
+    // },
     ids() {
       let ids = [];
       this.selectionList.forEach(ele => {
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 975cd6a..cb8321f 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
@@ -588,6 +588,15 @@
 		}
 		List<CodeBasicSec> createList = new ArrayList<>();
 		List<CodeBasicSec> basicSecDOS = codeBasicSecMapper.selectBatchIds(oidList);
+		/* 闇�瑕佹敞鎰忕殑鏄厠闅嗚繃鏉ョ殑鐮佹闇�瑕佸orderNum杩涜鎺掑簭锛屽惁鍒欎細鍑虹幇鎺掑簭涔辫烦鐨勬儏鍐�
+		瀹炵幇鏂瑰紡鏄煡璇㈠嚭璇ヨ鍒欎笅鏍规嵁orderNum鎺掑簭鍚庣殑鏈�鍚庝竴涓爜娈�	*/
+		LambdaQueryWrapper<CodeBasicSec> lastBasicWrapper = Wrappers.<CodeBasicSec>query()
+			.lambda().orderByDesc(CodeBasicSec::getOrderNum)
+			.eq(CodeBasicSec::getPkCodeRule,pkCodeRule)
+			.last("limit 1");
+		CodeBasicSec lastCodeBasicSec = codeBasicSecMapper.selectOne(lastBasicWrapper);
+		// 鎺掑簭鍙蜂粠杩欏効寮�濮嬫帓
+		int orderNum = Func.isEmpty(lastCodeBasicSec.getOrderNum()) ? 0:lastCodeBasicSec.getOrderNum();
 		if(basicSecDOS.isEmpty()){
 			return R.fail("鍏嬮殕鐨勭爜娈典俊鎭笉瀛樺湪锛�");
 		}
@@ -599,6 +608,8 @@
 			String oldBasicOid = newSecDO.getOid();
 			newSecDO.setId(newSecDO.getId());
 			newSecDO.setName(newSecDO.getName());
+			orderNum++;
+			newSecDO.setOrderNum(orderNum);
 			newSecDO.setPkCodeRule(pkCodeRule);
 			// 鍒ゆ柇鏄惁鏄垎绫荤爜娈�,涓氬姟閫昏緫绋嶅井澶嶆潅涓�鐐规墍浠ラ渶瑕佸厛鎻愬嚭鏉ュ崟鐙鐞�
 			if(newSecDO.getSecType().equals(CodeSecTypeEnum.CODE_CLASSIFY_SEC.getValue())){

--
Gitblit v1.9.3