From 1f9a5ce88c75fac521a75e0e94a89e5ed401aa2e Mon Sep 17 00:00:00 2001 From: Qi <3194726156@qq.com> Date: Sun, 27 Apr 2025 15:12:34 +0800 Subject: [PATCH] =?UTF-8?q?=E5=9F=BA=E6=9C=AC=E5=AE=9E=E7=8E=B0LocalTeache?= =?UTF-8?q?r=E7=95=8C=E9=9D=A2=E7=9A=84=E6=89=B9=E9=87=8F=E5=88=86?= =?UTF-8?q?=E7=BB=84=E6=93=8D=E4=BD=9C?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../cees/localTeacher/CeesLocalTeacher.api.ts | 59 ++- .../localTeacher/CeesLocalTeacherList.vue | 345 ++++++++++-------- .../components/GroupSelectModal.vue | 84 +++++ 3 files changed, 311 insertions(+), 177 deletions(-) create mode 100644 src/views/cees/localTeacher/components/GroupSelectModal.vue diff --git a/src/views/cees/localTeacher/CeesLocalTeacher.api.ts b/src/views/cees/localTeacher/CeesLocalTeacher.api.ts index 6ae2ebd..9925cf6 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacher.api.ts +++ b/src/views/cees/localTeacher/CeesLocalTeacher.api.ts @@ -1,22 +1,23 @@ -import {defHttp} from '/@/utils/http/axios'; -import { useMessage } from "/@/hooks/web/useMessage"; +import { defHttp } from '/@/utils/http/axios'; +import { useMessage } from '/@/hooks/web/useMessage'; const { createConfirm } = useMessage(); enum Api { list = '/CEES/ceesLocalTeacher/list', - save='/CEES/ceesLocalTeacher/add', - edit='/CEES/ceesLocalTeacher/edit', + save = '/CEES/ceesLocalTeacher/add', + edit = '/CEES/ceesLocalTeacher/edit', deleteOne = '/CEES/ceesLocalTeacher/delete', deleteBatch = '/CEES/ceesLocalTeacher/deleteBatch', importExcel = '/CEES/ceesLocalTeacher/importExcel', exportXls = '/CEES/ceesLocalTeacher/exportXls', updateGroupUser = '/cees/ceesGroup/updateGroupUser', + batchGroup = '/CEES/ceesLocalTeacher/batchGroup', } //获取分组 export const getGroup = () => - defHttp.get({url: '/cees/ceesGroup/list'}).then((res) => { + defHttp.get({ url: '/cees/ceesGroup/list' }).then((res) => { return res.records; }); /** @@ -32,17 +33,16 @@ export const getImportUrl = Api.importExcel; * 列表接口 * @param params */ -export const list = (params) => - defHttp.get({url: Api.list, params}); +export const list = (params) => defHttp.get({ url: Api.list, params }); /** * 删除单个 */ -export const deleteOne = (params,handleSuccess) => { - return defHttp.delete({url: Api.deleteOne, params}, {joinParamsToUrl: true}).then(() => { +export const deleteOne = (params, handleSuccess) => { + return defHttp.delete({ url: Api.deleteOne, params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); -} +}; /** * 批量删除 * @param params @@ -55,29 +55,48 @@ export const batchDelete = (params, handleSuccess) => { okText: '确认', cancelText: '取消', onOk: () => { - return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + return defHttp.delete({ url: Api.deleteBatch, data: params }, { joinParamsToUrl: true }).then(() => { handleSuccess(); }); - } + }, }); -} +}; +/** + * 批量分组 + * @param params + */ +export const batchGroup = (params, handleSuccess) => { + console.log('params', params); + createConfirm({ + iconType: 'warning', + title: '确认分组', + content: '是否分组选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.post({ url: Api.batchGroup, data: params }, { joinParamsToUrl: true }).then(() => { + handleSuccess(); + }); + }, + }); +}; //更新分组中间表 export const updateGroupUser = (params) => { - return defHttp.post({url: Api.updateGroupUser, params}); -} + return defHttp.post({ url: Api.updateGroupUser, params }); +}; /** * 保存或者更新 * @param params */ export const saveOrUpdate = (params, isUpdate) => { - let url = isUpdate ? Api.edit : Api.save; + const url = isUpdate ? Api.edit : Api.save; // 更新分组中间表 const groupUserParams = { userId: params.userId, - groupId: params.groupId - } + groupId: params.groupId, + }; updateGroupUser(groupUserParams); - return defHttp.post({url: url, params}); -} + return defHttp.post({ url: url, params }); +}; diff --git a/src/views/cees/localTeacher/CeesLocalTeacherList.vue b/src/views/cees/localTeacher/CeesLocalTeacherList.vue index 9ef4c06..6c323b8 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacherList.vue +++ b/src/views/cees/localTeacher/CeesLocalTeacherList.vue @@ -14,9 +14,14 @@ 删除 + + + 分组 + - 批量操作 + 批量操作 @@ -40,168 +45,194 @@ + diff --git a/src/views/cees/localTeacher/components/GroupSelectModal.vue b/src/views/cees/localTeacher/components/GroupSelectModal.vue new file mode 100644 index 0000000..73b0483 --- /dev/null +++ b/src/views/cees/localTeacher/components/GroupSelectModal.vue @@ -0,0 +1,84 @@ + + + + +