diff --git a/admin-web/src/models/admin/deptmentList.js b/admin-web/src/models/admin/deptmentList.js index ab44614ea..b659beca0 100644 --- a/admin-web/src/models/admin/deptmentList.js +++ b/admin-web/src/models/admin/deptmentList.js @@ -1,5 +1,11 @@ import { message } from 'antd'; -import { deptTreePage, deptTreeAll, addDeptment, updateDeptment } from '../../services/admin'; +import { + deptTreePage, + deptTreeAll, + addDeptment, + updateDeptment, + deleteDeptment, +} from '../../services/admin'; const buildSelectTree = list => { return list.map(item => { @@ -35,6 +41,13 @@ export default { onSuccess && onSuccess(); } }, + *delete({ payload }, { call, put }) { + const { onSuccess, body } = payload; + const response = yield call(deleteDeptment, body); + if (response && response.code === 0) { + onSuccess && onSuccess(); + } + }, *update({ payload }, { call, put }) { const { onSuccess, body } = payload; const response = yield call(updateDeptment, body); diff --git a/admin-web/src/pages/Admin/DeptmentList.js b/admin-web/src/pages/Admin/DeptmentList.js index a741a72c8..512c8bdfe 100644 --- a/admin-web/src/pages/Admin/DeptmentList.js +++ b/admin-web/src/pages/Admin/DeptmentList.js @@ -130,6 +130,32 @@ export default class DepetmentList extends PureComponent { } }; + handleDelete(row) { + const { dispatch } = this.props; + Modal.confirm({ + title: `确认删除?`, + content: `${row.name}`, + onOk() { + dispatch({ + type: 'deptmentList/delete', + payload: { + body: { + id: row.id, + }, + onSuccess: () => { + message.success('删除成功'); + this.handleModalVisible(); + }, + onFail: response => { + message.warn('删除失败' + response.message); + }, + }, + }); + }, + onCancel() {}, + }); + } + handleAdd = ({ fields, modalType, initValues }) => { const { dispatch } = this.props; if (modalType === 'add') { diff --git a/admin-web/src/services/admin.js b/admin-web/src/services/admin.js index d39953d0e..b3dca958e 100644 --- a/admin-web/src/services/admin.js +++ b/admin-web/src/services/admin.js @@ -74,6 +74,12 @@ export async function updateDeptment(params) { }); } +export async function deleteDeptment(params) { + return request(`/admin-api/admins/dept/delete?${stringify(params)}`, { + method: 'POST', + }); +} + export async function deptTreePage(params) { return request(`/admin-api/admins/dept/tree/page?${stringify(params)}`, { method: 'GET',