diff --git a/src/views/cees/localTeacher/CeesLocalTeacher.data.ts b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts index 20fd45b..326ab9f 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacher.data.ts +++ b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts @@ -135,9 +135,9 @@ export const formSchema: FormSchema[] = [ componentProps: { options: groupOptions, // 动态设置分组选项 }, - //dynamicRules: ({ model, schema }) => { - // return [{ required: true, message: '请选择分组!' }]; - //}, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择分组!' }]; + }, }, //{ // label: '使用次数', diff --git a/src/views/cees/student/Student.data.ts b/src/views/cees/student/Student.data.ts index 3fa3a83..7fd89dd 100644 --- a/src/views/cees/student/Student.data.ts +++ b/src/views/cees/student/Student.data.ts @@ -1,7 +1,7 @@ import { BasicColumn } from '/@/components/Table'; import { FormSchema } from '/@/components/Table'; import { rules } from '/@/utils/helper/validator'; -import { ref, onMounted,reactive } from 'vue'; +import { ref,reactive } from 'vue'; import { render } from '/@/utils/common/renderUtils'; import {defHttp} from '/@/utils/http/axios'; import { getOption } from 'showdown'; @@ -180,9 +180,9 @@ export const formSchema: FormSchema[] = [ componentProps: { options: groupOptions, // 动态设置分组选项 }, - //dynamicRules: ({ model, schema }) => { - // return [{ required: true, message: '请选择分组!' }]; - //}, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择分组!' }]; + }, }, //{ // label: '使用次数', diff --git a/src/views/cees/user/CeesUser.api.ts b/src/views/cees/user/CeesUser.api.ts index 8112d8b..6d627fc 100644 --- a/src/views/cees/user/CeesUser.api.ts +++ b/src/views/cees/user/CeesUser.api.ts @@ -11,7 +11,14 @@ enum Api { deleteBatch = '/org.jeecg.modules/ceesUser/deleteBatch', importExcel = '/org.jeecg.modules/ceesUser/importExcel', exportXls = '/org.jeecg.modules/ceesUser/exportXls', + updateGroupUser = '/cees/ceesGroup/updateGroupUser', } + +//获取分组 +export const getGroup = () => + defHttp.get({url: '/cees/ceesGroup/list'}).then((res) => { + return res.records; + }); /** * 导出api * @param params @@ -54,11 +61,22 @@ export const batchDelete = (params, handleSuccess) => { } }); } + +//更新分组中间表 +export const updateGroupUser = (params) => { + return defHttp.post({url: Api.updateGroupUser, params}); +} /** * 保存或者更新 * @param params */ export const saveOrUpdate = (params, isUpdate) => { let url = isUpdate ? Api.edit : Api.save; + // 更新分组中间表 + const groupUserParams = { + userId: params.userId, + groupId: params.groupId + } + updateGroupUser(groupUserParams); return defHttp.post({url: url, params}); } diff --git a/src/views/cees/user/CeesUser.data.ts b/src/views/cees/user/CeesUser.data.ts index 16064d7..8d3f3f6 100644 --- a/src/views/cees/user/CeesUser.data.ts +++ b/src/views/cees/user/CeesUser.data.ts @@ -2,6 +2,15 @@ import { BasicColumn } from '/@/components/Table'; import { FormSchema } from '/@/components/Table'; import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; +import { reactive, ref } from "vue"; + +const groupOptions = ref(); +// 创建一个简单的事件总线 +export const updateGroupOptions = reactive({ + updateGroupOptions(newOptions: any) { + groupOptions.value = newOptions; + }, +}); //列表数据 export const columns: BasicColumn[] = [ { @@ -32,7 +41,16 @@ export const columns: BasicColumn[] = [ { title: '所属分组', align: 'center', - dataIndex: 'groupId', + customRender: ({ text }) => { + if (!groupOptions.value) { + return '加载中...'; // 如果未加载,显示加载中 + } + const group = groupOptions.value.find(item => item.value === text.groupId); + if (group) { + return group.label; + } + return '未知分组'; + }, }, { title: '工作量(点击单元格可编辑)', @@ -100,13 +118,16 @@ export const formSchema: FormSchema[] = [ }, }, { - label: '所属组', + label: '所属分组', field: 'groupId', component: 'Select', + componentProps: { + options: groupOptions, // 动态设置分组选项 + }, // TODO 此处需要动态获取组数据 - //dynamicRules: ({ model, schema }) => { - // return [{ required: true, message: '请选择分组!' }]; - //}, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择分组!' }]; + }, }, { diff --git a/src/views/cees/user/CeesUserList.vue b/src/views/cees/user/CeesUserList.vue index e6ecdce..469c0a4 100644 --- a/src/views/cees/user/CeesUserList.vue +++ b/src/views/cees/user/CeesUserList.vue @@ -16,8 +16,7 @@ - 批量操作 + 批量操作 @@ -48,156 +47,172 @@