Преглед на файлове

Merge branch 'master' of http://192.168.100.32:3000/fanfan/xt-front

fan преди 2 години
родител
ревизия
7c8b5ba9e1

+ 2 - 1
package.json

@@ -72,7 +72,8 @@
     "vue-plugin-hiprint": "^0.0.46",
     "vue-router": "^4.1.6",
     "vue-types": "^4.2.1",
-    "vue3-colorpicker": "^2.1.2"
+    "vue3-colorpicker": "^2.1.2",
+    "xlsx": "^0.18.5"
   },
   "devDependencies": {
     "@commitlint/cli": "13.1.0",

+ 5 - 0
src/api/common/index.ts

@@ -10,6 +10,7 @@ enum Api {
   getConfigValue = '/system/sysConfig/getConfigValue',
   getSystemTime = '/system/sysConfig/getTime',
   getDownloadUrl = '/sys/storage/file/download/',
+  getPreviewUrl = '/sys/storage/file/preview/',
 }
 
 export function listDictModel(params?: object) {
@@ -47,3 +48,7 @@ export function getSystemTime() {
 export function getDownloadUrl(id) {
   return defHttp.get({ url: Api.getDownloadUrl + id });
 }
+
+export function getPreviewUrl(id) {
+  return defHttp.get({ url: Api.getPreviewUrl + id });
+}

+ 3 - 11
src/components/Excel/src/ExportExcelModal.vue

@@ -1,10 +1,5 @@
 <template>
-  <BasicModal
-    v-bind="$attrs"
-    :title="t('component.excel.exportModalTitle')"
-    @ok="handleOk"
-    @register="registerModal"
-  >
+  <BasicModal v-bind="$attrs" title="导出数据" @ok="handleOk" @register="registerModal">
     <BasicForm
       :labelWidth="100"
       :schemas="schemas"
@@ -18,19 +13,17 @@
   import { defineComponent } from 'vue';
   import { BasicModal, useModalInner } from '/@/components/Modal';
   import { BasicForm, FormSchema, useForm } from '/@/components/Form/index';
-  import { useI18n } from '/@/hooks/web/useI18n';
-  const { t } = useI18n();
   const schemas: FormSchema[] = [
     {
       field: 'filename',
       component: 'Input',
-      label: t('component.excel.fileName'),
+      label: '文件名称',
       rules: [{ required: true }],
     },
     {
       field: 'bookType',
       component: 'Select',
-      label: t('component.excel.fileType'),
+      label: '文件类型',
       defaultValue: 'xlsx',
       rules: [{ required: true }],
       componentProps: {
@@ -79,7 +72,6 @@
         handleOk,
         registerForm,
         registerModal,
-        t,
       };
     },
   });

+ 21 - 4
src/views/infra/storage/list/index.vue

@@ -4,7 +4,7 @@
       <template #bodyCell="{ column, record }">
         <template v-if="column.key === 'size'"> {{ record.size }} kb </template>
         <template v-if="column.key === 'realName'">
-          <router-link to="" @click="handleDownload(record)">
+          <router-link title="点击预览" to="" @click="handlePreview(record)">
             {{ record.realName }}
           </router-link>
         </template>
@@ -25,6 +25,8 @@
                 label: '编辑',
                 onClick: handleEdit.bind(null, record),
               },
+            ]"
+            :dropDownActions="[
               {
                 auth: 'storage:record:remove',
                 icon: 'icon-delete|iconfont',
@@ -37,6 +39,13 @@
                   confirm: handleDelete.bind(null, record),
                 },
               },
+              {
+                auth: 'storage:record:query',
+                icon: 'icon-cloud-download|iconfont',
+                tooltip: '下载',
+                label: '下载',
+                onClick: handleDownload.bind(null, record),
+              },
             ]"
           />
         </template>
@@ -74,10 +83,12 @@
   import FormDrawer from './formDrawer.vue';
   import ViewDrawer from './viewDrawer.vue';
   import { columns, searchFormSchema } from './data';
+  import { openWindow } from '/@/utils/index';
 
   import { storageRecordQueryPage, storageRecordRemove } from '/@/api/infra/storageRecordApi';
   import { useDrawer } from '/@/components/Drawer';
-  import { getDownloadUrl } from '/@/api/common';
+  import { getDownloadUrl, getPreviewUrl } from '/@/api/common';
+  import { downloadByUrl } from '/@/utils/file/download';
 
   onBeforeMount(async () => {});
 
@@ -164,11 +175,17 @@
       });
     }
   }
+
+  /// 点击文件名下载文件
+  async function handlePreview(row) {
+    const preUrl = await getPreviewUrl(row.id);
+    openWindow(preUrl, { target: '_blank' });
+  }
+
   /// 点击文件名下载文件
   async function handleDownload(row) {
-    console.log('row:::::::::::', row);
     const dUrl = await getDownloadUrl(row.id);
-    console.log('dUrl::::::::::::', dUrl);
+    await downloadByUrl({ url: dUrl });
   }
   // 表格点击字段排序
   function handleSortFn(sortInfo) {

+ 7 - 3
src/views/monitor/loginLog/index.vue

@@ -22,14 +22,14 @@
           <TableAction
             :actions="[
               {
-                auth: 'sys:loginLog:query',
+                auth: 'sys:log:query',
                 icon: 'icon-eye|iconfont',
                 tooltip: '查看',
                 label: '查看',
                 onClick: handleView.bind(null, record),
               },
               {
-                auth: 'sys:loginLog:remove	',
+                auth: 'sys:log:remove	',
                 icon: 'icon-delete|iconfont',
                 tooltip: '删除',
                 label: '删除',
@@ -54,7 +54,7 @@
           新增
         </Button> -->
         <Button
-          v-auth="['sys:loginLog:remove	']"
+          v-auth="['sys:log:remove']"
           type="primary"
           danger
           @click="handleDelete(null)"
@@ -86,9 +86,13 @@
   import { formatDictColor, formatDictValue } from '/@/utils'; //
   import { useDrawer } from '/@/components/Drawer';
 
+  import { useAppStore } from '/@/store/modules/app';
+
   const typeOptions = ref();
   const responseTypeOptions = ref();
   const resultJsonOptions = ref();
+  const useApp = useAppStore();
+  console.log(useApp.getMenuSetting);
   onBeforeMount(async () => {
     typeOptions.value = await listDictModel({ dictCode: 'sys_log_type' });
     responseTypeOptions.value = await listDictModel({ dictCode: 'sys_response_type' });

+ 3 - 4
src/views/monitor/operLog/index.vue

@@ -22,14 +22,14 @@
           <TableAction
             :actions="[
               {
-                auth: 'sys:loginLog:query',
+                auth: 'sys:log:query',
                 icon: 'icon-eye|iconfont',
                 tooltip: '查看',
                 label: '查看',
                 onClick: handleView.bind(null, record),
               },
               {
-                auth: 'sys:loginLog:remove	',
+                auth: 'sys:log:remove	',
                 icon: 'icon-delete|iconfont',
                 tooltip: '删除',
                 label: '删除',
@@ -54,7 +54,7 @@
           新增
         </Button> -->
         <Button
-          v-auth="['sys:loginLog:remove	']"
+          v-auth="['sys:log:remove']"
           type="primary"
           danger
           @click="handleDelete(null)"
@@ -108,7 +108,6 @@
   ]) as any;
 
   const [registerTable, { reload, getSelectRowKeys }] = useTable({
-    title: ' ',
     api: LogQueryPage,
     rowKey: 'id',
     columns,

+ 21 - 2
src/views/sys/sysMenu/sysMenuTable/FormModal.vue

@@ -53,7 +53,6 @@
       await setFieldsValue({
         ...resData,
         // 设置默认值
-        parentId: resData.parentId === '0' ? null : resData.parentId,
         visible: resData.visible,
         disable: resData.disable,
         keepalive: resData.keepalive ? 0 : 1,
@@ -66,9 +65,29 @@
       });
     }
 
-    const treeData = await sysMenuQueryTree({ excludeNodeIds: [data.record.id] });
+    const treeDatas = await sysMenuQueryTree({ excludeNodeIds: [data.record.id] });
+    treeDatas.forEach(async item => {
+      if (item.id == data.record.id) {
+        await setDisable(item);
+      }
+    });
+    const treeData = [
+      {
+        id: '0',
+        name: '根目录',
+        children: treeDatas,
+      },
+    ];
     await updateSchema({ field: 'parentId', componentProps: { treeData } });
   });
+  async function setDisable(item) {
+    item.disabled = true;
+    if (item.children?.length) {
+      item.children.map(async ele => {
+        await setDisable(ele);
+      });
+    }
+  }
   // 提交按钮事件
   async function handleSubmit() {
     try {

+ 4 - 4
src/views/sys/sysMenu/sysMenuTable/index.vue

@@ -39,13 +39,13 @@
           <TableAction
             :actions="[
               {
-                auth: ['system:sysMenu:edit'],
+                auth: ['sys:menu:edit'],
                 icon: 'icon-edit|iconfont',
                 tooltip: '编辑',
                 onClick: handleEdit.bind(null, record),
               },
               {
-                auth: ['system:sysMenu:remove'],
+                auth: ['sys:menu:remove'],
                 icon: 'icon-delete|iconfont',
                 tooltip: '删除',
                 color: 'error',
@@ -61,7 +61,7 @@
       </template>
       <template #toolbar>
         <a-button
-          v-auth="['system:sysMenu:add']"
+          v-auth="['sys:menu:add']"
           type="primary"
           @click="handleCreate"
           preIcon="icon-plus|iconfont"
@@ -124,7 +124,7 @@
     showTableSetting: true,
     bordered: true,
     actionColumn: {
-      auth: ['system:sysMenu:edit', 'system:sysMenu:remove'],
+      auth: ['sys:menu:edit', 'sys:menu:remove'],
       width: 80,
       title: '操作',
       dataIndex: 'action',

+ 22 - 2
src/views/sys/sysOrg/sysOrgTable/FormModal.vue

@@ -44,16 +44,28 @@
       rowId.value = data.record.id;
       const resData = await sysOrgDetailOrgId(data.record.id);
       resData.disable = resData.disable ? '1' : '0';
+
       await setFieldsValue({
         ...resData,
-        parentId: resData.parentId === '0' ? null : resData.parentId,
       });
     } else {
       await setFieldsValue({
         parentId: data.record.parentId,
       });
     }
-    const treeData = await sysOrgQueryTree({ excludeNodeIds: [data.record.id] });
+    const treeDatas = await sysOrgQueryTree({ excludeNodeIds: [data.record.id] });
+    treeDatas.forEach(async item => {
+      if (item.id == data.record.id) {
+        await setDisable(item);
+      }
+    });
+    const treeData = [
+      {
+        id: '0',
+        name: '根目录',
+        children: treeDatas,
+      },
+    ];
     await updateSchema([
       {
         field: 'parentId',
@@ -62,6 +74,14 @@
     ]);
   });
 
+  async function setDisable(item) {
+    item.disabled = true;
+    if (item.children?.length) {
+      item.children.map(async ele => {
+        await setDisable(ele);
+      });
+    }
+  }
   // 提交按钮事件
   async function handleSubmit() {
     try {

+ 22 - 11
src/views/sys/sysOrg/sysOrgTable/data.ts

@@ -1,5 +1,7 @@
 import { BasicColumn, FormSchema } from '/@/components/Table';
-import { radioSwitch } from '/@/utils/filters';
+// import { radioSwitch } from '/@/utils/filters';
+import { listDictModel } from '/@/api/common';
+import { sysUserQueryPage } from '/@/api/sys/sysUserApi';
 export const columns: BasicColumn[] = [
   {
     title: '部门名称',
@@ -7,7 +9,7 @@ export const columns: BasicColumn[] = [
   },
   {
     title: '负责人',
-    dataIndex: 'leader',
+    dataIndex: 'leaderUserName',
   },
   {
     title: '办公电话',
@@ -25,10 +27,6 @@ export const columns: BasicColumn[] = [
     title: '状态',
     dataIndex: 'disable',
   },
-  {
-    title: '备注',
-    dataIndex: 'remark',
-  },
 ];
 
 export const searchFormSchema: FormSchema[] = [
@@ -67,10 +65,20 @@ export const dataFormSchema: FormSchema[] = [
     },
   },
   {
-    field: 'leader',
+    field: 'leaderUserId',
     label: '负责人',
-    component: 'Input',
+    component: 'ApiSelect',
     componentProps: {
+      api: sysUserQueryPage,
+      params: {
+        pageNum: 1,
+        pageSize: 999,
+        disable: '0',
+      },
+      mode: 'single',
+      labelField: 'nickname',
+      valueField: 'id',
+      resultField: 'data',
       placeholder: '请输入负责人',
     },
   },
@@ -104,12 +112,15 @@ export const dataFormSchema: FormSchema[] = [
   {
     field: 'disable',
     label: '状态',
-    component: 'RadioGroup',
+    component: 'ApiRadioGroup',
     required: true,
     componentProps: {
-      options: radioSwitch,
+      api: listDictModel,
+      params: {
+        dictCode: 'sys_disable_type',
+      },
     },
-    defaultValue: 0,
+    defaultValue: '0',
   },
   {
     label: '备注',

+ 5 - 3
src/views/sys/sysOrg/sysOrgTable/index.vue

@@ -3,8 +3,8 @@
     <BasicTable @register="registerTable">
       <template #bodyCell="{ column, record }">
         <template v-if="column.key === 'disable'">
-          <Tag :color="record.disable ? 'error' : 'success'">
-            {{ commonDict(record.disable, 1) }}
+          <Tag :color="formatDictColor(disableOptions, record.disable)">
+            {{ formatDictValue(disableOptions, record.disable) }}
           </Tag>
         </template>
         <template v-if="column.key === 'action'">
@@ -47,7 +47,7 @@
 
   import { sysOrgQueryPage, sysOrgRemove } from '/@/api/sys/sysOrgApi';
   import { listDictModel } from '/@/api/common';
-  import { commonDict } from '/@/utils';
+  import { formatDictColor, formatDictValue } from '/@/utils';
 
   const emit = defineEmits(['refresh-tree']);
 
@@ -57,9 +57,11 @@
 
   const sysStatusOptions = ref([]);
   const sysOrgTypeOptions = ref([]);
+  const disableOptions = ref();
   onBeforeMount(async () => {
     sysStatusOptions.value = await listDictModel({ dictCode: 'sys_status' });
     sysOrgTypeOptions.value = await listDictModel({ dictCode: 'sys_org_type' });
+    disableOptions.value = await listDictModel({ dictCode: 'sys_disable_type' });
   });
 
   const { createMessage } = useMessage();

+ 7 - 5
src/views/sys/sysPortal/FormModalPortalMenu.vue

@@ -48,19 +48,21 @@
       if (item.children.length) {
         item.children.map(ele => {
           if (ele.children.length) {
+            ele.children.map(eles => {
+              if (eles.children.length) {
+                parentIds.value.push(eles.id);
+              }
+            });
             parentIds.value.push(ele.id);
           }
         });
+        parentIds.value.push(item.id);
       }
-      parentIds.value.push(item.id);
     });
     // 因为antd树插件勾选父节点会导致所有子节点选中,所以过滤所有父节点
     halfCheckedKeys.value = Array.from(parentIds.value);
     checkedKeys.value = roleMenuList
-      .filter(
-        item =>
-          (!parentIds.value.includes(item.id) && item.parentId != '0') || item.menuType == 'menu',
-      )
+      .filter(item => !parentIds.value.includes(item.id))
       .map(item => item.id);
   });
 

+ 5 - 5
src/views/sys/sysPos/index.vue

@@ -11,21 +11,21 @@
           <TableAction
             :actions="[
               {
-                auth: 'sys:pos:query',
+                auth: 'sys:position:query',
                 icon: 'icon-eye|iconfont',
                 tooltip: '查看',
                 label: '查看',
                 onClick: handleView.bind(null, record),
               },
               {
-                auth: 'sys:pos:edit',
+                auth: 'sys:position:edit',
                 icon: 'icon-edit|iconfont',
                 tooltip: '编辑',
                 label: '编辑',
                 onClick: handleEdit.bind(null, record),
               },
               {
-                auth: 'sys:pos:remove',
+                auth: 'sys:position:remove',
                 icon: 'icon-delete|iconfont',
                 tooltip: '删除',
                 label: '删除',
@@ -42,7 +42,7 @@
       </template>
       <template #toolbar>
         <Button
-          v-auth="['sys:pos:add']"
+          v-auth="['sys:position:add']"
           type="primary"
           @click="handleCreate"
           preIcon="icon-plus|iconfont"
@@ -50,7 +50,7 @@
           新增
         </Button>
         <Button
-          v-auth="['sys:pos:remove']"
+          v-auth="['sys:position:remove']"
           type="primary"
           danger
           @click="handleDelete(null)"

+ 7 - 6
src/views/sys/sysRole/FormModalAssignMenu.vue

@@ -43,25 +43,26 @@
     rowId.value = data.record.id;
     // 获取已选中列表
     const roleMenuList = (await sysRoleQueryMenuTree(rowId.value)) || [];
-    console.log('🚀 ~ file: FormModalAssignMenu.vue:46 ~ roleMenuList:', roleMenuList);
     // 找出菜单的所有父节点ID
     treeData.value.map(item => {
       if (item.children.length) {
         item.children.map(ele => {
           if (ele.children.length) {
+            ele.children.map(eles => {
+              if (eles.children.length) {
+                parentIds.value.push(eles.id);
+              }
+            });
             parentIds.value.push(ele.id);
           }
         });
+        parentIds.value.push(item.id);
       }
-      parentIds.value.push(item.id);
     });
     // 因为antd树插件勾选父节点会导致所有子节点选中,所以过滤所有父节点
     halfCheckedKeys.value = Array.from(parentIds.value);
     checkedKeys.value = roleMenuList
-      .filter(
-        item =>
-          (!parentIds.value.includes(item.id) && item.parentId != '0') || item.menuType == 'menu',
-      )
+      .filter(item => !parentIds.value.includes(item.id))
       .map(item => item.id);
   });
 

+ 5 - 2
src/views/sys/sysRole/index.vue

@@ -21,18 +21,21 @@
           <TableAction
             :actions="[
               {
+                auth: ['sys:role:assign'],
                 icon: 'icon-setting|iconfont',
                 tooltip: '分配菜单',
                 onClick: handleAssignMenu.bind(null, record),
                 ifShow: record.type != 'sys',
               },
               {
+                auth: ['sys:role:edit'],
                 icon: 'icon-edit|iconfont',
                 tooltip: '编辑',
                 onClick: handleEdit.bind(null, record),
                 ifShow: record.type != 'sys',
               },
               {
+                auth: ['sys:role:remove'],
                 icon: 'icon-delete|iconfont',
                 tooltip: '删除',
                 color: 'error',
@@ -50,14 +53,14 @@
 
       <template #toolbar>
         <a-button
-          v-auth="['system:sysRole:add']"
+          v-auth="['sys:role:add']"
           type="primary"
           @click="handleCreate"
           preIcon="icon-plus|iconfont"
           >新增</a-button
         >
         <!-- <a-button
-          v-auth="['system:sysRole:export']"
+          v-auth="['sys:role:export']"
           color="warning"
           @click="handleExport"
           preIcon="ant-design:download-outlined"

+ 48 - 2
src/views/sys/sysSetting/index.vue

@@ -1,14 +1,60 @@
 <template>
-  <a-card style="width: 100%; height: 100%" :bordered="false">
-    <SysConfig />
+  <a-card
+    style="width: 100%"
+    :bordered="false"
+    :tab-list="tabListNoTitle"
+    :active-tab-key="noTitleKey"
+    @tabChange="key => onTabChange(key, 'noTitleKey')"
+  >
+    <p v-if="noTitleKey === 'sysConfig'">
+      <SysConfig />
+    </p>
   </a-card>
 </template>
 
 <script setup lang="ts">
+  import { ref } from 'vue';
   import SysConfig from './sysConfig.vue';
 
   defineOptions({
     name: 'SysSeting',
   });
+  const key = ref('sysConfig');
+  const noTitleKey = ref('sysConfig');
+
+  const tabListNoTitle = [
+    {
+      key: 'sysConfig',
+      tab: '系统配置',
+    },
+    {
+      key: 'emailConfig',
+      tab: '邮件配置',
+    },
+    {
+      key: 'smsConfig',
+      tab: '短信配置',
+    },
+    {
+      key: 'fileConfig',
+      tab: '文件配置',
+    },
+    {
+      key: 'thirdConfig',
+      tab: '第三方配置',
+    },
+    {
+      key: 'otherConfig',
+      tab: '其他配置',
+    },
+  ];
+
+  const onTabChange = (value, type) => {
+    if (type === 'key') {
+      key.value = value;
+    } else if (type === 'noTitleKey') {
+      noTitleKey.value = value;
+    }
+  };
 </script>
 <style lang="less"></style>

+ 2 - 2
src/views/sys/sysSetting/sysConfig.vue

@@ -41,10 +41,10 @@
       span: 23,
     },
     baseColProps: {
-      span: 18,
+      span: 8,
     },
     wrapperCol: {
-      span: 24,
+      span: 23,
     },
   });
 

+ 7 - 5
src/views/sys/sysTenant/package/FormModalAssignMenu.vue

@@ -48,19 +48,21 @@
       if (item.children.length) {
         item.children.map(ele => {
           if (ele.children.length) {
+            ele.children.map(eles => {
+              if (eles.children.length) {
+                parentIds.value.push(eles.id);
+              }
+            });
             parentIds.value.push(ele.id);
           }
         });
+        parentIds.value.push(item.id);
       }
-      parentIds.value.push(item.id);
     });
     // 因为antd树插件勾选父节点会导致所有子节点选中,所以过滤所有父节点
     halfCheckedKeys.value = Array.from(parentIds.value);
     checkedKeys.value = roleMenuList
-      .filter(
-        item =>
-          (!parentIds.value.includes(item.id) && item.parentId != '0') || item.menuType == 'menu',
-      )
+      .filter(item => !parentIds.value.includes(item.id))
       .map(item => item.id);
   });
 

+ 6 - 0
src/views/sys/sysTenant/page/data.ts

@@ -125,6 +125,12 @@ export const dataFormSchema: FormSchema[] = [
             if (!value) {
               return Promise.reject('管理账号不能为空');
             }
+            if (value.length > 16 || value.length < 4) {
+              return Promise.reject('管理账号为4-16为字母或数字组成');
+            }
+            if (!/^[A-Za-z0-9_-]$/.test(value)) {
+              return Promise.reject('管理账号为4-16为字母或数字组成');
+            }
             await validatorUsername({ username: value }).then(res => {
               if (res != 1) {
                 return Promise.reject('管理账号不可用,请重新输入!');

+ 48 - 0
src/views/sys/sysUser/sysUserTable/data.ts

@@ -2,6 +2,8 @@ import { BasicColumn, FormSchema } from '/@/components/Table';
 import { sysRoleQueryPage } from '/@/api/sys/sysRoleApi';
 import { sysPortalQueryPage } from '/@/api/sys/sysPortalApi';
 import { sysOrgQueryTree } from '/@/api/sys/sysOrgApi';
+import { sysPosQueryPage } from '/@/api/sys/sysPosApi';
+import { validatorUsername } from '/@/api/sys/sysUserApi';
 import { listDictModel } from '/@/api/common';
 export const columns: BasicColumn[] = [
   {
@@ -73,6 +75,30 @@ export const dataFormSchema: FormSchema[] = [
     componentProps: {
       placeholder: '请输入账号',
     },
+    dynamicRules: () => {
+      return [
+        {
+          required: true,
+          validator: async (_, value) => {
+            if (!value) {
+              return Promise.reject('管理账号不能为空');
+            }
+            if (value.length > 16 || value.length < 4) {
+              return Promise.reject('管理账号为4-16为字母或数字组成');
+            }
+            if (!/^[A-Za-z0-9_-]$/.test(value)) {
+              return Promise.reject('管理账号为4-16为字母或数字组成');
+            }
+            await validatorUsername({ username: value }).then(res => {
+              if (res != 1) {
+                return Promise.reject('管理账号不可用,请重新输入!');
+              }
+            });
+            return Promise.resolve();
+          },
+        },
+      ];
+    },
   },
   {
     field: 'password',
@@ -155,6 +181,28 @@ export const dataFormSchema: FormSchema[] = [
   },
   {
     field: 'postIds',
+    label: '岗位',
+    component: 'ApiSelect',
+    itemProps: {
+      validateTrigger: 'blur',
+    },
+    componentProps: () => {
+      return {
+        placeholder: '请选择岗位',
+        api: sysPosQueryPage,
+        params: {
+          pageNum: 1,
+          pageSize: 999,
+        },
+        mode: 'single',
+        labelField: 'name',
+        valueField: 'id',
+        resultField: 'data',
+      };
+    },
+  },
+  {
+    field: 'portalIds',
     required: true,
     label: '门户',
     component: 'ApiSelect',

+ 5 - 5
src/views/sys/sysUser/sysUserTable/index.vue

@@ -31,13 +31,13 @@
                 },
               },
               {
-                auth: ['system:sysUser:edit'],
+                auth: ['sys:user:edit'],
                 icon: 'icon-edit|iconfont',
                 tooltip: '编辑',
                 onClick: handleEdit.bind(null, record),
               },
               {
-                auth: ['system:sysUser:remove'],
+                auth: ['sys:user:remove'],
                 icon: 'icon-delete|iconfont',
                 tooltip: '删除',
                 color: 'error',
@@ -53,14 +53,14 @@
       </template>
       <template #toolbar>
         <a-button
-          v-auth="['system:sysUser:add']"
+          v-auth="['sys:user:add']"
           type="primary"
           @click="handleCreate"
           preIcon="icon-plus|iconfont"
           >新增</a-button
         >
         <!-- <a-button
-          v-auth="['system:sysUser:export']"
+          v-auth="['sys:user:export']"
           color="warning"
           @click="handleExport"
           preIcon="ant-design:download-outlined"
@@ -144,7 +144,7 @@
     useSearchForm: true,
     bordered: true,
     actionColumn: {
-      auth: ['system:sysUser:resetPwd', 'system:sysUser:edit', 'system:sysUser:remove'],
+      auth: ['sys:user:reset', 'sys:user:edit', 'sys:user:remove'],
       width: 120,
       title: '操作',
       dataIndex: 'action',