diff --git a/src/router/modules/permission.js b/src/router/modules/permission.js index 6361e79..9912b12 100644 --- a/src/router/modules/permission.js +++ b/src/router/modules/permission.js @@ -18,6 +18,37 @@ export default [ icon: 'organization-chart', }, }, + { + path: 'employee', + name: 'EmployeeManagement', + component: () => import('@/views/permission/employee/index.vue'), + meta: { + title: '员工管理', + icon: 'Avatar', + }, + children: [ + { + path: 'create', + name: 'CreateEmployee', + component: () => import('@/views/permission/employee/form.vue'), + meta: { + title: '创建员工', + icon: 'Avatar', + hidden: true, + }, + }, + { + path: 'update/:id', + name: 'UpdateEmployee', + component: () => import('@/views/permission/employee/form.vue'), + meta: { + title: '编辑员工', + icon: 'Avatar', + hidden: true, + }, + }, + ], + }, ], }, ]; diff --git a/src/router/modules/system.js b/src/router/modules/system.js index 1b3b9fb..019fa28 100644 --- a/src/router/modules/system.js +++ b/src/router/modules/system.js @@ -9,37 +9,6 @@ export default [ layout: true, }, children: [ - { - path: 'employee', - name: 'EmployeeManagement', - component: () => import('@/views/system/employee/index.vue'), - meta: { - title: '员工管理', - icon: 'Avatar', - }, - children: [ - { - path: 'create', - name: 'CreateEmployee', - component: () => import('@/views/system/employee/form.vue'), - meta: { - title: '创建员工', - icon: 'Avatar', - hidden: true, - }, - }, - { - path: 'update/:id', - name: 'UpdateEmployee', - component: () => import('@/views/system/employee/form.vue'), - meta: { - title: '编辑员工', - icon: 'Avatar', - hidden: true, - }, - }, - ], - }, { path: 'customer', name: 'CustomerManagement', diff --git a/src/store/modules/permission/dept.js b/src/store/modules/permission/dept/dept.js similarity index 100% rename from src/store/modules/permission/dept.js rename to src/store/modules/permission/dept/dept.js diff --git a/src/store/modules/permission/dept/deptEmployee.js b/src/store/modules/permission/dept/deptEmployee.js new file mode 100644 index 0000000..b7a4942 --- /dev/null +++ b/src/store/modules/permission/dept/deptEmployee.js @@ -0,0 +1,76 @@ +import * as api from '@/api/permission/dept.js'; +import { ElMessage, ElMessageBox } from '@/plugins/element-plus'; +const state = () => ({ + code: 'DeptEmployeeManagement', + condition: {}, + list: [], + total: 0, + opts: { + init: false, + }, +}); +const getters = {}; +const mutations = { + setCondition: (state, data) => (state.condition = data), + setList: (state, data) => (state.list = data), + setTotal: (state, data) => (state.total = data), + setOpts: (state, data) => (state.opts = data), +}; +const actions = { + search: async ({ state, commit }) => { + let res = await api.searchEmployee(state.condition); + commit('setList', res || []); + if (!res) { + ElMessage.error('查询部门员工失败'); + } + return res; + }, + load: async ({ state, commit }) => { + commit('setOpts', { + init: true, + ...state.opts, + }); + }, + detail: async (context, id) => { + let res = await api.detail(id); + if (!res) { + ElMessage.error('加载详情失败'); + } + return res; + }, + save: async ({ dispatch }, data) => { + let save = data.id ? api.update : api.create; + let res = await save(data); + if (res) { + ElMessage.success('保存成功'); + dispatch('search'); + } else { + ElMessage.error('保存失败'); + } + return res; + }, + remove: async ({ dispatch }, idList) => { + if (!idList.length) { + ElMessage.warning('请选择要删除的数据'); + } else { + try { + await ElMessageBox.confirm('数据删除后无法恢复,确定要删除吗?', '危险操作'); + let res = await api.remove(idList.join(',')); + if (res) { + ElMessage.success('删除成功'); + dispatch('search'); + } else { + ElMessage.error('删除失败'); + } + } catch (e) { + console.info('取消删除', e); + } + } + }, +}; +export default { + state, + getters, + mutations, + actions, +}; diff --git a/src/store/modules/system/employee.js b/src/store/modules/permission/employee/employee.js similarity index 100% rename from src/store/modules/system/employee.js rename to src/store/modules/permission/employee/employee.js diff --git a/src/views/chat/management.vue b/src/views/chat/management.vue index 86d1ad2..fc50b9e 100644 --- a/src/views/chat/management.vue +++ b/src/views/chat/management.vue @@ -14,9 +14,7 @@ diff --git a/src/views/permission/dept/index.vue b/src/views/permission/dept/index.vue index a4508e4..92e97db 100644 --- a/src/views/permission/dept/index.vue +++ b/src/views/permission/dept/index.vue @@ -80,30 +80,60 @@