Prechádzať zdrojové kódy

fix:权限编辑优化

lizhi 3 mesiacov pred
rodič
commit
57a6d4535a

+ 1 - 1
protected/controllers/UseradminController.php

@@ -183,7 +183,7 @@ class UseradminController extends Controller
         if ($id < 1) {
             Helper::error('参数错误');
         }
-        if (DB::getScalerWithCriteria('useradmin', DbCriteria::simpleCompare(['role_id' => $id]))->setselect('id')) {
+        if (DB::getScalerWithCriteria('useradmin', DbCriteria::simpleCompare(['role_id' => $id])->setselect('id'))) {
             Helper::error('该角色下有用户,请先删除用户');
         }
         DB::deleteById('role', $id);

+ 1 - 0
web/src/api/roleApi.ts

@@ -13,6 +13,7 @@ export class roleService {
   // 角色权限设置
   static saveRoleAuth(id: number, leaf_ids: number[], half_Leaf_ids: number[]) {
     const params = { id, leaf_ids, half_Leaf_ids }
+    console.log(leaf_ids)
     return request.post<any>({
       url: 'useradmin/saveRoleAuth',
       params

+ 3 - 1
web/src/utils/http/index.ts

@@ -135,7 +135,9 @@ async function retryRequest<T>(
   retries: number = MAX_RETRIES
 ): Promise<T> {
   try {
-    return await request<T>(config)
+    return await request<T>(config).catch((error) => {
+      // 响应拦截器中已处理
+    })
   } catch (error) {
     if (retries > 0 && error instanceof HttpError && shouldRetry(error.code)) {
       await delay(RETRY_DELAY)

+ 9 - 8
web/src/views/system/role/index.vue

@@ -244,7 +244,6 @@
   }
 
   const showPermissionDialog = (row: any) => {
-    console.log(`%c row == `, 'background:#41b883 ; padding:1px; color:#fff', row)
     permissionDialog.value = true
     nowRoleInfo.id = row.id
     nowRoleInfo.name = row.name
@@ -252,7 +251,6 @@
     nowRoleInfo.create_date = row.create_date
     nowRoleInfo.auth_ids = row.auth_ids
     nowRoleInfo.show_ids = row.show_ids
-    console.log(`%c row.show_ids == `, 'background:#41b883 ; padding:1px; color:#fff', row.show_ids)
     const tree = treeRef.value
     if (!tree) return
     tree.setCheckedKeys(row.show_ids)
@@ -293,11 +291,14 @@
 
   const savePermission = async () => {
     let tree = treeRef.value
-    await roleService.saveRoleAuth(nowRoleInfo.id, tree.getCheckedKeys(), tree.getHalfCheckedKeys())
-    permissionDialog.value = false
-    setTimeout(() => {
+    if (tree.getCheckedKeys().length === 0) {
+      ElMessage.error('请选择权限')
+      return
+    }
+    await roleService.saveRoleAuth(nowRoleInfo.id, tree.getCheckedKeys(), tree.getHalfCheckedKeys()).then(() => {
+      permissionDialog.value = false
       getTableData()
-    }, 1000)
+    })
   }
 
   const toggleExpandAll = () => {
@@ -333,8 +334,8 @@
     const keys: string[] = []
     const traverse = (nodeList: any[]) => {
       nodeList.forEach((node) => {
-        if (node.name) {
-          keys.push(node.name)
+        if (node.id) {
+          keys.push(node.id)
         }
         if (node.children && node.children.length > 0) {
           traverse(node.children)