From 8b6b373803f4ea2d92cc604884a0c080d9d18f3f Mon Sep 17 00:00:00 2001 From: zoujiandong <10130823232@qq.com> Date: Wed, 5 Jul 2023 10:57:07 +0800 Subject: [PATCH] =?UTF-8?q?7.5=E6=8F=90=E4=BA=A4?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/api/admin/login.js | 19 +- src/api/admin/post.js | 9 +- src/api/admin/role.js | 7 + src/api/admin/sys-api.js | 9 +- src/api/admin/sys-dept.js | 2 +- src/api/admin/sys-user.js | 6 +- src/directive/permission/permission.js | 13 +- src/layout/components/Avatar/index.vue | 3 + src/layout/components/Menu/SubMenu.vue | 4 +- src/main.js | 6 +- src/router/index.js | 2 + src/store/permission.js | 59 +++-- src/store/userInfo.js | 14 +- src/views/admin/sys-api/index.vue | 73 +++--- src/views/admin/sys-dept/index.vue | 105 ++++---- src/views/admin/sys-menu/index.vue | 65 +++-- src/views/admin/sys-post/index.vue | 110 ++++---- src/views/admin/sys-role/index.vue | 22 +- .../admin/sys-user/components/TreeDept.vue | 16 +- src/views/admin/sys-user/index.vue | 245 ++++++++++++------ 20 files changed, 456 insertions(+), 333 deletions(-) diff --git a/src/api/admin/login.js b/src/api/admin/login.js index af3ae91..35b8946 100644 --- a/src/api/admin/login.js +++ b/src/api/admin/login.js @@ -1,15 +1,21 @@ import request from '../../utils/request'; export function login(data) { return request({ - url:'/admin/basic/login', + url:'/admin/login', method: 'post', data }) } +export function logout() { + return request({ + url:'/admin/user/loginout', + method: 'put' + }) +} export function getCaptcha() { return request({ - url:'/admin/basic/captcha', + url:'/admin/captcha', method: 'get' }) } @@ -24,7 +30,14 @@ export function getAppConfig() { // 根据角色获取菜单 export function getUserMenuRole() { return request({ - url:'/admin/role/menu',//'https://www.fastmock.site/mock/ebb1956b65d6078940cacb295a06be27/mock/menu', // + url:'/admin/user/menu',//'https://www.fastmock.site/mock/ebb1956b65d6078940cacb295a06be27/mock/menu', // + method: 'get' + }) +} +// 根据角色获取按钮权限Button +export function getUserButtonRole() { + return request({ + url:'/admin/user/button',//'https://www.fastmock.site/mock/ebb1956b65d6078940cacb295a06be27/mock/menu', // method: 'get' }) } \ No newline at end of file diff --git a/src/api/admin/post.js b/src/api/admin/post.js index aafdc82..9ab4043 100644 --- a/src/api/admin/post.js +++ b/src/api/admin/post.js @@ -1,6 +1,6 @@ import request from '../../utils/request' -const url = '/api/v1/post'; +const url = '/admin/post'; export function getPost(params) { return request({ @@ -9,6 +9,13 @@ export function getPost(params) { params }) } +export function getPostList(params){ + return request({ + url:'/admin/post/list', + method: 'get', + params + }) +} export function addPost(data) { return request({ diff --git a/src/api/admin/role.js b/src/api/admin/role.js index eefb4b4..74569a6 100644 --- a/src/api/admin/role.js +++ b/src/api/admin/role.js @@ -8,6 +8,13 @@ export function getRole(params) { params }) } +export function getRoleList(params) { + return request({ + url:'/admin/role/list', + method: 'get', + params, + }) +} export function addRole(data) { return request({ diff --git a/src/api/admin/sys-api.js b/src/api/admin/sys-api.js index ea12824..446fc05 100644 --- a/src/api/admin/sys-api.js +++ b/src/api/admin/sys-api.js @@ -1,6 +1,6 @@ import request from '../../utils/request'; -const url = '/api/v1/sys-api'; +const url = '/admin/api'; export function getSysApi(params) { return request({ @@ -9,7 +9,12 @@ export function getSysApi(params) { params }) } - +export function getSysApiList() { + return request({ + url:'/admin/api/list', + method: 'get' + }) +} export function addSysApi(data) { return request({ url, diff --git a/src/api/admin/sys-dept.js b/src/api/admin/sys-dept.js index 1d8a8ea..b7ca6e2 100644 --- a/src/api/admin/sys-dept.js +++ b/src/api/admin/sys-dept.js @@ -1,6 +1,6 @@ import request from '../../utils/request'; -const url = '/api/v1/dept'; +const url = '/admin/dept'; export function getDept(params) { return request({ diff --git a/src/api/admin/sys-user.js b/src/api/admin/sys-user.js index deec462..6e88063 100644 --- a/src/api/admin/sys-user.js +++ b/src/api/admin/sys-user.js @@ -34,9 +34,9 @@ export function removeUser(data) { }) } -export function updateUser(data) { +export function updateUser(data,id) { return request({ - url, + url:`${url}/${id}`, method: 'put', data, }) @@ -52,7 +52,7 @@ export function updateUserStatus(data) { export function resetUserPwd(data) { return request({ - url:'/api/v1/user/pwd/reset', + url:'/admin/user/password', method: 'put', data }) diff --git a/src/directive/permission/permission.js b/src/directive/permission/permission.js index 59c185d..64058fb 100644 --- a/src/directive/permission/permission.js +++ b/src/directive/permission/permission.js @@ -1,15 +1,16 @@ -import { useUserStore } from '@/store/userInfo'; +import { usePermissionStore } from '@/store/permission'; export default { checkPermission(el, binding) { - const store = useUserStore(); + const store = usePermissionStore(); const { value } = binding; - const all_permission = '*:*:*' - const permissions = store.userInfo && store.userInfo.permissions; - + const permissions = store.buttonPermissions; + const all_permission = '*' + console.log('permissions-------'); + console.log(permissions); if (typeof value === 'string') { const hasPermission = permissions.some((permission) => { - return all_permission === permission || value === permission; + return all_permission==permission || value === permission; }) if (!hasPermission) { diff --git a/src/layout/components/Avatar/index.vue b/src/layout/components/Avatar/index.vue index 1d49fda..0c7d455 100644 --- a/src/layout/components/Avatar/index.vue +++ b/src/layout/components/Avatar/index.vue @@ -42,11 +42,14 @@ const { userInfo } = storeToRefs(store); const { proxy } = getCurrentInstance(); const handleLogout = () => { + proxy.$modal.warning({ title: '提示', content: '确定注销并退出登陆系统吗?', hideCancel: false, onOk: () => { + const store = useUserStore(); + store.userLogut(); window.sessionStorage.removeItem('token'); clearLocalStorage(); proxy.$router.push('/login'); diff --git a/src/layout/components/Menu/SubMenu.vue b/src/layout/components/Menu/SubMenu.vue index f79b702..a15bcbb 100644 --- a/src/layout/components/Menu/SubMenu.vue +++ b/src/layout/components/Menu/SubMenu.vue @@ -7,13 +7,13 @@ - {{ menu.menu_name }} + {{ menu.menu_title }} {{ menu.menu_name }} + >{{ menu.menu_title }} @@ -351,6 +365,7 @@ onMounted(() => { /* 覆盖默认穿梭框样式 */ .menu-modal { + width:800px; .arco-transfer-view { height: 350px; width: 250px; diff --git a/src/views/admin/sys-post/index.vue b/src/views/admin/sys-post/index.vue index e0b6184..6b880cf 100644 --- a/src/views/admin/sys-post/index.vue +++ b/src/views/admin/sys-post/index.vue @@ -1,21 +1,13 @@ - - - + - - - - - 正常 - 停用 - + - 搜索 + 搜索 重置 @@ -26,9 +18,8 @@ - 新增 - { deleteVisible = true; }"> 批量删除 - 导出 + 新增 + { deleteVisible = true; }"> 批量删除 @@ -36,24 +27,24 @@ {deleteData = selection;}" @page-change="handlePageChange" - @page-size-change="handlePageSizeChange" + @page-size-change="handlepage_sizeChange" > {{ parseTime(record.createdAt) }} - - 正常 - 停用 - + 修改 - { deleteVisible = true; deleteData = [record.postId]; }"> 删除 + { deleteVisible = true; deleteData = [record.post_id]; }"> 删除 @@ -64,24 +55,14 @@ :title="modalTitle" title-align="start" @before-ok="handleSubmit" - @close="() => {$refs.modalFormRef.resetFields(); modalForm.postId = null;}" + @close="() => {$refs.modalFormRef.resetFields(); modalForm.post_id = null;}" > - - + + - - - - - - - + + @@ -125,22 +106,20 @@ const { proxy } = getCurrentInstance(); const currentPage = ref(1); // Pager const pager = { - count: 0, - pageIndex: 1, - pageSize: 10, + total: 0, + page: 1, + page_size: 10, }; // form const queryForm = reactive({}); const modalForm = reactive({ sort: 0, - status: 2, + status: 1, }); // Rules const rules = { - postName: [{ required: true, message: '请输入岗位名称' }], - postCode: [{ required: true, message: '请输入岗位编码' }], - sort: [{ required: true, message: '请选择岗位排序' }], + post_name: [{ required: true, message: '请输入岗位名称' }] }; // Modal @@ -152,12 +131,9 @@ let batchList = []; // Table Columns const columns = [ - { title: '岗位编号', dataIndex: 'postId' }, - { title: '岗位编码', dataIndex: 'postCode' }, - { title: '岗位名称', dataIndex: 'postName' }, - { title: '岗位排序', dataIndex: 'sort' }, - { title: '状态', dataIndex: 'status', slotName: 'status' }, - { title: '创建时间', dataIndex: 'createdAt', slotName: 'createdAt' }, + { title: '岗位编号', dataIndex: 'post_id' }, + { title: '岗位名称', dataIndex: 'post_name' }, + { title: '创建时间', dataIndex: 'created_at', slotName: 'created_at' }, { title: '操作', slotName: 'action' }, ]; @@ -185,19 +161,21 @@ const handleSubmit = (done) => { proxy.$refs.modalFormRef.validate(async (valid) => { if (!valid) { let res; - if (!modalForm.postId) { - const { code, msg } = await addPost(modalForm); + if (!modalForm.post_id) { + const { code, message } = await addPost(modalForm); if (code == 200 ) { proxy.$notification.success('新增成功'); } else { - proxy.$notification.error(msg); + proxy.$notification.error(message); } } else { - const { code, msg } = await updatePost(modalForm, modalForm.postId); + console.log("post_id:"+modalForm.post_id) + + const { code, message } = await updatePost(modalForm, modalForm.post_id); if (code == 200 ) { proxy.$notification.success('更新成功'); } else { - proxy.$notification.error(msg); + proxy.$notification.error(message); } } done(); @@ -218,7 +196,7 @@ const handleBatchDelete = () => { hideCancel: false, onOk: async () => { const res = await removePost({ ids: batchList }); - proxy.$message.success(res.msg); + proxy.$message.success(res.message); getPostInfo(pager); }, onCancel: () => { @@ -235,7 +213,7 @@ const handleBatchDelete = () => { * @param {Number} [page] */ const handlePageChange = (page) => { - pager.pageIndex = page; + pager.page = page; // 修改当前页码 currentPage.value = page; @@ -243,27 +221,27 @@ const handleBatchDelete = () => { }; // 每页数据量 -const handlePageSizeChange = (pageSize) => { - pager.pageSize = pageSize; +const handlepage_sizeChange = (page_size) => { + pager.page_size = page_size; getPostInfo({ ...pager, ...queryForm }); }; // 获取岗位信息 const getPostInfo = async (params = {}) => { - const { data, code, msg } = await getPost(params); + const { data, code, message } = await getPost(params); if ( code == 200 ) { - tableData.value = data.list; - Object.assign(pager, { count: data.count, pageIndex: data.pageIndex, pageSize: data.pageSize }); + tableData.value = data.data; + Object.assign(pager, { total: data.total, page: data.page, page_size: data.page_size }); } else { - proxy.$notification.error(msg); + proxy.$notification.error(message); } }; // 查询岗位信息 const handleQuery = async () => { const params = { - pageIndex: pager.pageIndex, - pageSize: pager.pageSize, + page: pager.page, + page_size: pager.page_size, ...queryForm, }; diff --git a/src/views/admin/sys-role/index.vue b/src/views/admin/sys-role/index.vue index 70970b3..9c4af4c 100644 --- a/src/views/admin/sys-role/index.vue +++ b/src/views/admin/sys-role/index.vue @@ -101,15 +101,15 @@ 是 - + {{checkedKeys}} - - + + - - + + @@ -17,12 +17,36 @@ placeholder="请选择用户状态" :style="{ width: '205px' }" > - 正常 - 停用 + + 正常 + 审核中 + 审核失败 - + - + + + + + 是 + 否 + + + + + + 是 + 否 + + 搜索 @@ -38,7 +62,7 @@ - + @@ -59,19 +83,17 @@ @page-change="handlePageChange" @page-size-change="handlePageSizeChange" > + + {{(rowIndex+1)+(pager.page-1)*10}} + {{ record.role.role_name}} - - {{ record.dept.dept_name }} - - - + + {{ record.dept?.dept_name }} + + + {{ parseTime(record.created_at) }} @@ -104,19 +126,27 @@ > - + + + + + + - + @@ -126,19 +156,29 @@ - + - + - - + + + + 是 + 否 + - + + + + + + 是 + 否 + + + - 男 - 女 + 男 + 女 - + + - 正常 - 停用 + 正常 + 审核中 + 审核失败 - - + + - - + + - - - @@ -206,16 +245,16 @@ :rules="resetPwdRules" auto-label-width > - + - + @@ -225,6 +264,7 @@ deleteVisible = false" /> @@ -233,13 +273,14 @@