diff --git a/src/views/cees/user/CeesUser.api.ts b/src/views/cees/user/CeesUser.api.ts new file mode 100644 index 0000000..8112d8b --- /dev/null +++ b/src/views/cees/user/CeesUser.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/org.jeecg.modules/ceesUser/list', + save='/org.jeecg.modules/ceesUser/add', + edit='/org.jeecg.modules/ceesUser/edit', + deleteOne = '/org.jeecg.modules/ceesUser/delete', + deleteBatch = '/org.jeecg.modules/ceesUser/deleteBatch', + importExcel = '/org.jeecg.modules/ceesUser/importExcel', + exportXls = '/org.jeecg.modules/ceesUser/exportXls', +} +/** + * 导出api + * @param params + */ +export const getExportUrl = Api.exportXls; +/** + * 导入api + */ +export const getImportUrl = Api.importExcel; +/** + * 列表接口 + * @param 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(() => { + handleSuccess(); + }); +} +/** + * 批量删除 + * @param params + */ +export const batchDelete = (params, handleSuccess) => { + createConfirm({ + iconType: 'warning', + title: '确认删除', + content: '是否删除选中数据', + okText: '确认', + cancelText: '取消', + onOk: () => { + return defHttp.delete({url: Api.deleteBatch, data: params}, {joinParamsToUrl: true}).then(() => { + handleSuccess(); + }); + } + }); +} +/** + * 保存或者更新 + * @param params + */ +export const saveOrUpdate = (params, isUpdate) => { + let url = isUpdate ? Api.edit : Api.save; + return defHttp.post({url: url, params}); +} diff --git a/src/views/cees/user/CeesUser.data.ts b/src/views/cees/user/CeesUser.data.ts new file mode 100644 index 0000000..16064d7 --- /dev/null +++ b/src/views/cees/user/CeesUser.data.ts @@ -0,0 +1,189 @@ +import { BasicColumn } from '/@/components/Table'; +import { FormSchema } from '/@/components/Table'; +import { rules } from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '姓名', + align: 'center', + dataIndex: 'userName', + }, + { + title: '用户身份码', + align: 'center', + dataIndex: 'userId', + }, + { + title: '用户专业ID', + align: 'center', + dataIndex: 'userHeadingCode', + }, + { + title: '身份', + align: 'center', + dataIndex: 'identity', + }, + { + title: '学科', + align: 'center', + dataIndex: 'majorId', + }, + { + title: '所属分组', + align: 'center', + dataIndex: 'groupId', + }, + { + title: '工作量(点击单元格可编辑)', + align: 'center', + dataIndex: 'workload', + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: '用户姓名', + field: 'userName', + component: 'Input', + //colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户身份码', + field: 'userId', + component: 'Input', + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请输入登录账号!' }]; + }, + }, + { + label: '用户姓名', + field: 'userName', + component: 'Input', + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请输入用户姓名!' }]; + }, + }, + { + label: '身份', + field: 'identity', + component: 'Select', + componentProps: { + options: [ + { label: '管理员', value: 1 }, + { label: '学生', value: 2 }, + { label: '老师', value: 3 }, + { label: '外校老师', value: 4 }, + ], + }, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择身份!' }]; + }, + }, + { + label: '学科', + field: 'majorId', + component: 'Select', + componentProps: { + options: [ + { label: '语文', value: 1 }, + { label: '地理', value: 4 }, + { label: '历史', value: 7 }, + { label: '政治', value: 8 }, + ], + }, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择学科!' }]; + }, + }, + { + label: '所属组', + field: 'groupId', + component: 'Select', + // TODO 此处需要动态获取组数据 + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择分组!' }]; + //}, + }, + + { + label: '状态', + field: 'status', + component: 'RadioGroup', + componentProps: { + options: [ + { label: '正常', value: 0 }, + { label: '禁用', value: 1 }, + ], + }, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择状态!' }]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false, + }, +]; + +//表单数据 +export const updateFormSchema: FormSchema[] = [ + { + label: '用户姓名', + field: 'userName', + component: 'Input', + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请输入用户姓名!' }]; + }, + }, + { + label: '所属组', + field: 'groupId', + component: 'Select', + // TODO 此处需要动态获取组数据 + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择分组!' }]; + //}, + }, + { + label: '状态', + field: 'status', + component: 'RadioGroup', + componentProps: { + options: [ + { label: '正常', value: 0 }, + { label: '禁用', value: 1 }, + ], + }, + dynamicRules: ({ model, schema }) => { + return [{ required: true, message: '请选择状态!' }]; + }, + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + userName: { title: '用户姓名', order: 0, view: 'text', type: 'string' }, + userId: { title: '用户身份码', order: 1, view: 'text', type: 'string' }, + userHeadingCode: { title: '用户识别码', order: 2, view: 'text', type: 'string' }, + workload: { title: '工作量', order: 3, view: 'number', type: 'number' }, + groupId: { title: '组id', order: 4, view: 'number', type: 'number' }, + identity: { title: '身份:管理员1 学生2,老师 3 ,外校老师4', order: 5, view: 'number', type: 'number' }, + majorId: { title: '学科', order: 6, view: 'number', type: 'number' }, +}; + +/** + * 流程表单调用这个方法获取formSchema + * @param param + */ +export function getBpmFormSchema(_formData): FormSchema[] { + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + console.log(_formData, '111'); + return formSchema; +} diff --git a/src/views/cees/user/CeesUserList.vue b/src/views/cees/user/CeesUserList.vue new file mode 100644 index 0000000..e6ecdce --- /dev/null +++ b/src/views/cees/user/CeesUserList.vue @@ -0,0 +1,203 @@ + + + + + diff --git a/src/views/cees/user/components/CeesUserForm.vue b/src/views/cees/user/components/CeesUserForm.vue new file mode 100644 index 0000000..d74051e --- /dev/null +++ b/src/views/cees/user/components/CeesUserForm.vue @@ -0,0 +1,70 @@ + + + diff --git a/src/views/cees/user/components/CeesUserModal.vue b/src/views/cees/user/components/CeesUserModal.vue new file mode 100644 index 0000000..08fa120 --- /dev/null +++ b/src/views/cees/user/components/CeesUserModal.vue @@ -0,0 +1,72 @@ + + + + + diff --git a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue index 24d3cd9..e5bc953 100644 --- a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue +++ b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue @@ -1,8 +1,15 @@