Kaynağa Gözat

Merge branch 'staffNoFix' into 'master'

工号fix

See merge request tian-group/skyeye-admin-fe!29
孙宏耀 2 yıl önce
ebeveyn
işleme
13b6e260ee

+ 11 - 0
src/api/system/role.ts

@@ -90,6 +90,17 @@ export function delAdminRole(params) {
   });
 }
 
+/**
+ * @description: 删除用户角色
+ */
+export function delUserRole(params) {
+  return http.request({
+    url: '/role/delete',
+    method: 'POST',
+    params,
+  });
+}
+
 /**
  * @description: 角色列表
  */

+ 2 - 0
src/views/system/role/CreateDrawer.vue

@@ -93,6 +93,7 @@
 
   const defaultValueRef = () => ({
     roleId: null,
+    roleType: null,
     roleName: '',
     roleCode: '',
     remark: '',
@@ -183,6 +184,7 @@
           closeDrawer();
         });
       } else {
+        formParams.value.roleType = 2;
         addAdminRole(formParams.value).then((_) => {
           message.success('添加成功');
           emit('change');

+ 20 - 46
src/views/system/role/CreateUserDrawer.vue

@@ -85,7 +85,7 @@
   import { ElMessage } from 'element-plus';
   import type { userFormParamsType } from './types';
 
-  import { addRole, roleAdminInfo, roleUserInfo, updateRole } from '@/api/system/role';
+  import { addRole, roleUserInfo, updateRole } from '@/api/system/role';
   import useScene from '@/views/system-config/scene-manage/use-scene';
 
   const sceneInfos = useScene();
@@ -247,14 +247,6 @@
     }
   }
 
-  // function getAllIds(list: { key: number; children: [] }[] = [], ids: number[] = []) {
-  //   for (let item of list) {
-  //     !ids.includes(item.key) && ids.push(item.key);
-  //     if (item.children && item.children.length) getAllIds(item.children, ids);
-  //   }
-  //   return ids;
-  // }
-
   function checkedTree(tree, checkedInfo) {
     console.log(tree);
     console.log(checkedInfo);
@@ -284,11 +276,11 @@
 
   function checkedModeTree() {}
 
-  function openDrawer(roleId?, roleType?) {
+  function openDrawer(roleId?) {
     isAll.value = false;
     if (roleId) {
       formParams.value.roleId = roleId;
-      getInfo(roleType);
+      getInfo();
       return;
     }
     isDrawer.value = true;
@@ -345,42 +337,24 @@
     // isAll.value = false;
   }
   const selectNodes = ref<string[]>([]);
-  function getInfo(roleType) {
-    if (roleType === 3) {
-      roleUserInfo({ roleId: formParams.value.roleId }).then((res) => {
-        const info = {
-          roleId: res.id,
-          roleName: res.roleName,
-          roleCode: res.roleCode,
-          remark: res.remark,
-          permissionList: res.permissionIds || [],
-          permissionKeys: res.permissionKeys || [],
-        };
-        formParams.value = info;
-        isDrawer.value = true;
-        nextTick(() => {
-          selectNodes.value = res.permissionMap.map((item) => item.workshopCode);
-          // 将匹配到的节点的键值数组传递给 setCheckedKeys 方法
-          treeRef.value.setCheckedKeys(selectNodes.value);
-        });
+  function getInfo() {
+    roleUserInfo({ roleId: formParams.value.roleId }).then((res) => {
+      const info = {
+        roleId: res.id,
+        roleName: res.roleName,
+        roleCode: res.roleCode,
+        remark: res.remark,
+        permissionList: res.permissionIds || [],
+        permissionKeys: res.permissionKeys || [],
+      };
+      formParams.value = info;
+      isDrawer.value = true;
+      nextTick(() => {
+        selectNodes.value = res.permissionMap.map((item) => item.workshopCode);
+        // 将匹配到的节点的键值数组传递给 setCheckedKeys 方法
+        treeRef.value.setCheckedKeys(selectNodes.value);
       });
-    } else {
-      roleAdminInfo({ roleId: formParams.value.roleId }).then((res) => {
-        const info = {
-          roleId: res.id,
-          roleName: res.roleName,
-          roleCode: res.roleCode,
-          remark: res.remark,
-          permissionList: res.permissionIds || [],
-          permissionKeys: res.permissionKeys || [],
-        };
-        formParams.value = info;
-        isDrawer.value = true;
-        nextTick(() => {
-          treeRef.value?.setCheckedKeys(res.permissionIds);
-        });
-      });
-    }
+    });
   }
 
   onMounted(() => {

+ 17 - 9
src/views/system/role/role.vue

@@ -75,7 +75,7 @@
   import { reactive, ref, unref, h, onMounted } from 'vue';
   import { ElMessage } from 'element-plus';
   import { BasicTable, TableAction, BasicColumn } from '@/components/Table';
-  import { roleList, permissionList, delAdminRole } from '@/api/system/role';
+  import { roleList, permissionList, delAdminRole, delUserRole } from '@/api/system/role';
   import { columns } from './columns';
   import { FileAddOutlined, SearchOutlined } from '@vicons/antd';
   import CreateDrawer from './CreateDrawer.vue';
@@ -154,24 +154,32 @@
     console.log('点击了编辑', record);
     console.log('record.roleType', record.role_type);
     drawerTitle.value = '编辑角色';
-    if (record.role_type === 3) {
-      const { openDrawer } = createUserDrawerRef.value;
-      openDrawer(record.roleId, record.role_type);
-    } else {
+    if (record.role_type === 1 || record.role_type === 2) {
       const { openDrawer } = createDrawerRef.value;
       openDrawer(record.roleId);
+    } else {
+      const { openDrawer } = createUserDrawerRef.value;
+      openDrawer(record.roleId);
     }
   }
 
   function handleDelete(record: Recordable) {
+    console.log('record.role_type', record.role_type);
     if (userStore.getRoleTypes.includes(String(record.roleId))) {
       message.error('不能删除自己的角色');
       return;
     }
-    delAdminRole({ roleId: record.roleId }).then(() => {
-      message.success('删除成功');
-      reloadTable();
-    });
+    if (record.role_type === 1 || record.role_type === 2) {
+      delAdminRole({ roleId: record.roleId }).then(() => {
+        message.success('删除成功');
+        reloadTable();
+      });
+    } else {
+      delUserRole({ roleId: record.roleId }).then(() => {
+        message.success('删除成功');
+        reloadTable();
+      });
+    }
   }
 
   onMounted(async () => {

+ 1 - 0
src/views/system/role/types/index.ts

@@ -1,5 +1,6 @@
 export interface formParamsType {
   roleId?: number | null;
+  roleType?: number | null;
   roleName: string;
   roleCode: string;
   remark: string;

+ 1 - 1
src/views/system/user/columns.ts

@@ -69,7 +69,7 @@ export const columns: BasicColumn[] = [
   // },
   {
     label: '工号',
-    prop: 'username',
+    prop: 'staffNo',
   },
   // {
   //   label: '用户名',