Browse Source

feat(api): role curd

gemercheung 3 years ago
parent
commit
4b00a6443d

+ 11 - 2
src/api/system/system.ts

@@ -31,7 +31,9 @@ enum Api {
 
   RolePageList = '/zfb-api/zfb/shop/sys/role/list',
   setRoleStatus = '/basic-api/system/setRoleStatus',
-  saveRole = '/zfb-api/zfb/shop/role/save',
+  saveRole = '/zfb-api/zfb/shop/sys/role/save',
+  deleteRole = '/zfb-api/zfb/shop/sys/role/delete',
+  updateRole = '/zfb-api/zfb/shop/sys/role/update',
   GetAllRoleList = '/basic-api/system/getAllRoleList',
   roleSelectList = '/zfb-api/zfb/shop/sys/role/select',
 
@@ -75,7 +77,14 @@ export const setRoleStatus = (id: number, status: string) =>
   defHttp.post({ url: Api.setRoleStatus, params: { id, status } });
 
 export const saveRoleApi = (params: SaveRoleParams) =>
-  defHttp.post({ url: Api.saveRole, params: params });
+  //TODO 临时deptId调试
+  defHttp.post({ url: Api.saveRole, params: { ...params, deptIdList: [], deptId: 1 } });
+//TODO 临时deptId调试
+export const updateRoleApi = (params: SaveRoleParams) =>
+  defHttp.post({ url: Api.updateRole, params: { ...params, deptIdList: [] }, deptId: 1 });
+
+export const deleteRoleApi = (params: (string | number)[]) =>
+  defHttp.post({ url: Api.deleteRole, params: params });
 
 export const isAccountExist = (account: string) =>
   defHttp.post({ url: Api.IsAccountExist, params: { account } }, { errorMessageMode: 'none' });

+ 8 - 2
src/views/dashboard/system/role/RoleDrawer.vue

@@ -29,7 +29,7 @@
   // TreeItem;
   import { BasicTree } from '/@/components/Tree';
   import { makeMenuTree, TreeMenuNode } from '/@/utils/treeUtils';
-  import { getMenuList, saveRoleApi } from '/@/api/system/system';
+  import { getMenuList, saveRoleApi, updateRoleApi } from '/@/api/system/system';
 
   export default defineComponent({
     name: 'RoleDrawer',
@@ -70,7 +70,13 @@
           const values = await validate();
           setDrawerProps({ confirmLoading: true });
           // TODO custom api
-          const result = await saveRoleApi(values);
+          let result;
+          if (!unref(isUpdate)) {
+            result = await saveRoleApi(values);
+          } else {
+            result = await updateRoleApi(values);
+          }
+
           console.log(result);
           closeDrawer();
           emit('success');

+ 11 - 5
src/views/dashboard/system/role/index.vue

@@ -27,11 +27,10 @@
   </div>
 </template>
 <script lang="ts">
-  import { defineComponent } from 'vue';
+  import { defineComponent, nextTick } from 'vue';
 
   import { BasicTable, useTable, TableAction } from '/@/components/Table';
-  import { getRoleListByPage } from '/@/api/system/system';
-
+  import { getRoleListByPage, deleteRoleApi } from '/@/api/system/system';
   import { useDrawer } from '/@/components/Drawer';
   import RoleDrawer from './RoleDrawer.vue';
 
@@ -76,8 +75,15 @@
         });
       }
 
-      function handleDelete(record: Recordable) {
-        console.log(record);
+      async function handleDelete(record: Recordable) {
+        try {
+          console.log('roleId', [record.roleId]);
+          const result = await deleteRoleApi([record.roleId]);
+          console.log('result', result);
+          nextTick(reload);
+        } catch (error) {
+          console.log('error', error);
+        }
       }
 
       function handleSuccess() {

+ 6 - 6
src/views/dashboard/system/role/role.data.ts

@@ -104,12 +104,12 @@ export const formSchema: FormSchema[] = [
     required: true,
     component: 'Input',
   },
-  {
-    field: 'roleValue',
-    label: '角色值',
-    required: true,
-    component: 'Input',
-  },
+  // {
+  //   field: 'roleValue',
+  //   label: '角色值',
+  //   required: true,
+  //   component: 'Input',
+  // },
   {
     field: 'status',
     label: '状态',