瀏覽代碼

feat: 菜单管理新增[初始化权限]按钮

laiqi 1 年之前
父節點
當前提交
e9ba6e9f2e
共有 2 個文件被更改,包括 27 次插入1 次删除
  1. 7 0
      apps/web-ele/src/api/menu/index.ts
  2. 20 1
      apps/web-ele/src/views/system-manage/menu-manage/index.vue

+ 7 - 0
apps/web-ele/src/api/menu/index.ts

@@ -52,3 +52,10 @@ export async function editMenuApi(data: MenuEntity) {
 export async function deleteMenuApi(data: { 'menu_id.value': number }) {
   return requestClient.post<any>('/api/del?pagevalue=87', { ...data });
 }
+
+/**
+ * 初始化权限
+ */
+export async function initPermissionApi() {
+  return requestClient.post<any>('/api/sys/initialize?pagevalue=18');
+}

+ 20 - 1
apps/web-ele/src/views/system-manage/menu-manage/index.vue

@@ -11,7 +11,7 @@ import { MdiDelete, MdiDetail, MdiEdit } from '@vben/icons';
 import { ElMessage, ElMessageBox, ElTag } from 'element-plus';
 
 import { useVbenVxeGrid } from '#/adapter/vxe-table';
-import { deleteMenuApi, getMenuListApi } from '#/api/menu';
+import { deleteMenuApi, getMenuListApi, initPermissionApi } from '#/api/menu';
 import { $t } from '#/locales';
 
 import MenuForm from './form.vue';
@@ -210,6 +210,22 @@ async function handleDelete(row: any) {
   }
 }
 
+/* 初始化权限 */
+async function handleInitPermission() {
+  try {
+    await ElMessageBox.confirm('确认要初始化权限吗?', '提示', {
+      confirmButtonText: '确定',
+      cancelButtonText: '取消',
+      type: 'warning',
+    });
+    await initPermissionApi();
+    ElMessage.success('初始化成功');
+    gridApi.reload();
+  } catch (error) {
+    console.error(error);
+  }
+}
+
 function handleFinish() {
   gridApi.reload();
 }
@@ -219,6 +235,9 @@ function handleFinish() {
   <Page auto-content-height>
     <Grid table-title="菜单列表">
       <template #toolbar-tools>
+        <el-button type="warning" @click="handleInitPermission">
+          初始化权限
+        </el-button>
         <el-button type="primary" @click="handleCreate"> 新增 </el-button>
       </template>
       <template #action="{ row }">