From f9114ffadfab1c01198dd980c3afb66d0c44a5ea Mon Sep 17 00:00:00 2001
From: zzw <228544128@qq.com>
Date: 星期二, 06 十月 2026 18:22:00 +0800
Subject: [PATCH] fix: limit equipment picker to selected X number

---
 emergency-repair-web/src/views/system/RoleManage.vue |   14 ++++++++++++--
 1 files changed, 12 insertions(+), 2 deletions(-)

diff --git a/emergency-repair-web/src/views/system/RoleManage.vue b/emergency-repair-web/src/views/system/RoleManage.vue
index 16dd95f..a711de8 100644
--- a/emergency-repair-web/src/views/system/RoleManage.vue
+++ b/emergency-repair-web/src/views/system/RoleManage.vue
@@ -1,7 +1,7 @@
 <template>
   <div class="page">
     <div class="page-title">
-      <div><h2>瑙掕壊绠$悊</h2><p>缁存姢瑙掕壊淇℃伅锛屽苟鍙寜瑙掕壊鎵归噺璁剧疆鎵�灞炵敤鎴�</p></div>
+      <div><h2>瑙掕壊绠$悊</h2><p>缁存姢瑙掕壊淇℃伅锛屽苟鍙寜瑙掕壊璁剧疆鎵�灞炵敤鎴峰拰鑿滃崟鎸夐挳鏉冮檺</p></div>
       <el-button type="primary" icon="el-icon-plus" v-permission="'system:roles:add'" @click="openCreate">鏂板瑙掕壊</el-button>
     </div>
     <div class="table-panel">
@@ -11,9 +11,10 @@
         <el-table-column prop="code" label="瑙掕壊缂栫爜" width="170"></el-table-column>
         <el-table-column prop="roleType" label="瑙掕壊绫诲瀷" width="170"></el-table-column>
         <el-table-column prop="remark" label="澶囨敞" min-width="220" show-overflow-tooltip></el-table-column>
-        <el-table-column label="鎿嶄綔" width="220" fixed="right">
+        <el-table-column label="鎿嶄綔" width="300" fixed="right">
           <template slot-scope="{ row }">
             <el-button type="text" v-permission="'system:roles:assign'" @click="openUserSetting(row)">鐢ㄦ埛璁剧疆</el-button>
+            <el-button type="text" v-permission="'system:roles:permission'" @click="openPermissionSetting(row)">鏉冮檺璁剧疆</el-button>
             <el-button type="text" v-permission="'system:roles:edit'" @click="openEdit(row)">缂栬緫</el-button>
             <el-button type="text" class="danger-link" v-permission="'system:roles:delete'" @click="remove(row)">鍒犻櫎</el-button>
           </template>
@@ -80,16 +81,21 @@
         <el-button type="primary" :loading="userSaving" v-permission="'system:roles:assign'" @click="saveRoleUsers">淇濆瓨</el-button>
       </template>
     </el-dialog>
+
+    <role-permission-dialog :visible.sync="permissionDialogVisible" :role="currentRole"></role-permission-dialog>
   </div>
 </template>
 <script>
 import api from '@/api'
+import RolePermissionDialog from './RolePermissionDialog.vue'
 export default {
   name: 'RoleManage',
+  components: { RolePermissionDialog },
   data() {
     return {
       rows: [],
       dialogVisible: false,
+      permissionDialogVisible: false,
       saving: false,
       userDialogVisible: false,
       userLoading: false,
@@ -164,6 +170,10 @@
         this.$nextTick(this.restoreUserSelection)
       }).finally(() => { this.userLoading = false })
     },
+    openPermissionSetting(row) {
+      this.currentRole = { ...row }
+      this.permissionDialogVisible = true
+    },
     restoreUserSelection() {
       const table = this.$refs.roleUserTable
       if (!table) return

--
Gitblit v1.9.1