From 90922844ea9d710a787c1c4aa8521dd4d8651a11 Mon Sep 17 00:00:00 2001
From: RuoYi <yzz_ivy@163.com>
Date: Thu, 17 Apr 2025 15:36:18 +0800
Subject: [PATCH] 优化角色禁用不允许分配

---
 ruoyi-ui/src/views/system/user/authRole.vue |   28 +++++++++++++++++-----------
 1 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/ruoyi-ui/src/views/system/user/authRole.vue b/ruoyi-ui/src/views/system/user/authRole.vue
index e0cd7bc..efbda65 100644
--- a/ruoyi-ui/src/views/system/user/authRole.vue
+++ b/ruoyi-ui/src/views/system/user/authRole.vue
@@ -9,8 +9,8 @@
           </el-form-item>
         </el-col>
         <el-col :span="8" :offset="2">
-          <el-form-item label="登录账号" prop="phonenumber">
-            <el-input  v-model="form.userName" disabled />
+          <el-form-item label="登录账号" prop="userName">
+            <el-input v-model="form.userName" disabled />
           </el-form-item>
         </el-col>
       </el-row>
@@ -20,10 +20,10 @@
     <el-table v-loading="loading" :row-key="getRowKey" @row-click="clickRow" ref="table" @selection-change="handleSelectionChange" :data="roles.slice((pageNum-1)*pageSize,pageNum*pageSize)">
       <el-table-column label="序号" type="index" align="center">
         <template slot-scope="scope">
-          <span>{{(pageNum - 1) * pageSize + scope.$index + 1}}</span>
+          <span>{{ (pageNum - 1) * pageSize + scope.$index + 1 }}</span>
         </template>
       </el-table-column>
-      <el-table-column type="selection" :reserve-selection="true" width="55"></el-table-column>
+      <el-table-column type="selection" :reserve-selection="true" :selectable="checkSelectable" width="55" />
       <el-table-column label="角色编号" align="center" prop="roleId" />
       <el-table-column label="角色名称" align="center" prop="roleName" />
       <el-table-column label="权限字符" align="center" prop="roleKey" />
@@ -33,7 +33,7 @@
         </template>
       </el-table-column>
     </el-table>
-    
+
     <pagination v-show="total>0" :total="total" :page.sync="pageNum" :limit.sync="pageSize" />
 
     <el-form label-width="100px">
@@ -52,14 +52,14 @@
   name: "AuthRole",
   data() {
     return {
-       // 遮罩层
+      // 遮罩层
       loading: true,
       // 分页信息
       total: 0,
       pageNum: 1,
       pageSize: 10,
       // 选中角色编号
-      roleIds:[],
+      roleIds: [],
       // 角色信息
       roles: [],
       // 用户信息
@@ -88,7 +88,9 @@
   methods: {
     /** 单击选中行数据 */
     clickRow(row) {
-      this.$refs.table.toggleRowSelection(row);
+      if (this.checkSelectable(row)) {
+        this.$refs.table.toggleRowSelection(row);
+      }
     },
     // 多选框选中数据
     handleSelectionChange(selection) {
@@ -98,19 +100,23 @@
     getRowKey(row) {
       return row.roleId;
     },
+    // 检查角色状态
+    checkSelectable(row) {
+      return row.status === "0" ? true : false;
+    },
     /** 提交按钮 */
     submitForm() {
       const userId = this.form.userId;
       const roleIds = this.roleIds.join(",");
       updateAuthRole({ userId: userId, roleIds: roleIds }).then((response) => {
-        this.msgSuccess("授权成功");
+        this.$modal.msgSuccess("授权成功");
         this.close();
       });
     },
     /** 关闭按钮 */
     close() {
-      this.$store.dispatch("tagsView/delView", this.$route);
-      this.$router.push({ path: "/system/user" });
+      const obj = { path: "/system/user" };
+      this.$tab.closeOpenPage(obj);
     },
   },
 };

--
Gitblit v1.9.3