diff --git a/src/views/cees/dormitory/CeesDormitoryInfo.api.ts b/src/views/cees/dormitory/CeesDormitoryInfo.api.ts new file mode 100644 index 0000000..349bc81 --- /dev/null +++ b/src/views/cees/dormitory/CeesDormitoryInfo.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/CEES/ceesDormitoryInfo/list', + save='/CEES/ceesDormitoryInfo/add', + edit='/CEES/ceesDormitoryInfo/edit', + deleteOne = '/CEES/ceesDormitoryInfo/delete', + deleteBatch = '/CEES/ceesDormitoryInfo/deleteBatch', + importExcel = '/CEES/ceesDormitoryInfo/importExcel', + exportXls = '/CEES/ceesDormitoryInfo/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/dormitory/CeesDormitoryInfo.data.ts b/src/views/cees/dormitory/CeesDormitoryInfo.data.ts new file mode 100644 index 0000000..ac6a833 --- /dev/null +++ b/src/views/cees/dormitory/CeesDormitoryInfo.data.ts @@ -0,0 +1,97 @@ +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: 'dormitory' + }, + { + title: '宿舍类型(男/女)', + align:"center", + dataIndex: 'dormitoryType' + }, + { + title: '宿舍人数', + align:"center", + dataIndex: 'dormitoryNum' + }, + { + title: '状态', + align:"center", + dataIndex: 'dormitoryStatus' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '宿舍信息', + field: 'dormitory', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入宿舍信息!'}, + ]; + }, + }, + { + label: '男/女', + field: 'dormitoryType', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入男/女!'}, + ]; + }, + }, + { + label: '宿舍人数', + field: 'dormitoryNum', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入宿舍人数!'}, + ]; + }, + }, + { + label: '宿舍状态0没满,1已满', + field: 'dormitoryStatus', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入宿舍状态0没满,1已满!'}, + ]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + dormitory: {title: '宿舍信息',order: 0,view: 'text', type: 'string',}, + dormitoryType: {title: '男/女',order: 1,view: 'text', type: 'string',}, + dormitoryNum: {title: '宿舍人数',order: 2,view: 'number', type: 'number',}, + dormitoryStatus: {title: '宿舍状态0没满,1已满',order: 3,view: 'text', type: 'string',}, +}; + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} \ No newline at end of file diff --git a/src/views/cees/dormitory/CeesDormitoryInfoList.vue b/src/views/cees/dormitory/CeesDormitoryInfoList.vue new file mode 100644 index 0000000..00e9310 --- /dev/null +++ b/src/views/cees/dormitory/CeesDormitoryInfoList.vue @@ -0,0 +1,186 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/dormitory/components/CeesDormitoryInfoForm.vue b/src/views/cees/dormitory/components/CeesDormitoryInfoForm.vue new file mode 100644 index 0000000..7d19959 --- /dev/null +++ b/src/views/cees/dormitory/components/CeesDormitoryInfoForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/cees/dormitory/components/CeesDormitoryInfoModal.vue b/src/views/cees/dormitory/components/CeesDormitoryInfoModal.vue new file mode 100644 index 0000000..ea96387 --- /dev/null +++ b/src/views/cees/dormitory/components/CeesDormitoryInfoModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/localTeacher/CeesLocalTeacher.api.ts b/src/views/cees/localTeacher/CeesLocalTeacher.api.ts new file mode 100644 index 0000000..e9bfd19 --- /dev/null +++ b/src/views/cees/localTeacher/CeesLocalTeacher.api.ts @@ -0,0 +1,64 @@ +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', + deleteOne = '/CEES/ceesLocalTeacher/delete', + deleteBatch = '/CEES/ceesLocalTeacher/deleteBatch', + importExcel = '/CEES/ceesLocalTeacher/importExcel', + exportXls = '/CEES/ceesLocalTeacher/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/localTeacher/CeesLocalTeacher.data.ts b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts new file mode 100644 index 0000000..bf8acf1 --- /dev/null +++ b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts @@ -0,0 +1,183 @@ +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: '用户id', + align:"center", + dataIndex: 'userId' + }, + { + title: '用户名', + align:"center", + dataIndex: 'userName' + }, + { + title: '专业id,0表示未选择', + align:"center", + dataIndex: 'majorId' + }, + { + title: '用户专业id', + align:"center", + dataIndex: 'userMajorId' + }, + { + title: '用户专业id', + align:"center", + dataIndex: 'teacherId' + }, + { + title: '手机号', + align:"center", + dataIndex: 'phone' + }, + { + title: '组id', + align:"center", + dataIndex: 'groupId' + }, + { + title: '使用次数', + align:"center", + dataIndex: 'numberuse' + }, + { + title: '状态:0正常 1禁用', + align:"center", + dataIndex: 'status' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "用户名", + field: 'userName', + component: 'Input', + //colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户id', + field: 'userId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户id!'}, + ]; + }, + }, + { + label: '用户名', + field: 'userName', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户名!'}, + ]; + }, + }, + { + label: '专业id,0表示未选择', + field: 'majorId', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入专业id,0表示未选择!'}, + ]; + }, + }, + { + label: '用户专业id', + field: 'userMajorId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户专业id!'}, + ]; + }, + }, + { + label: '用户专业id', + field: 'teacherId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户专业id!'}, + ]; + }, + }, + { + label: '手机号', + field: 'phone', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入手机号!'}, + ]; + }, + }, + { + label: '组id', + field: 'groupId', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入组id!'}, + ]; + }, + }, + { + label: '使用次数', + field: 'numberuse', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入使用次数!'}, + ]; + }, + }, + { + label: '状态:0正常 1禁用', + field: 'status', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入状态:0正常 1禁用!'}, + ]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + userId: {title: '用户id',order: 0,view: 'text', type: 'string',}, + userName: {title: '用户名',order: 1,view: 'text', type: 'string',}, + majorId: {title: '专业id,0表示未选择',order: 2,view: 'number', type: 'number',}, + userMajorId: {title: '用户专业id',order: 3,view: 'text', type: 'string',}, + teacherId: {title: '用户专业id',order: 4,view: 'text', type: 'string',}, + phone: {title: '手机号',order: 5,view: 'text', type: 'string',}, + groupId: {title: '组id',order: 6,view: 'number', type: 'number',}, + numberuse: {title: '使用次数',order: 7,view: 'number', type: 'number',}, + status: {title: '状态:0正常 1禁用',order: 8,view: 'number', type: 'number',}, +}; + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} \ No newline at end of file diff --git a/src/views/cees/localTeacher/CeesLocalTeacherList.vue b/src/views/cees/localTeacher/CeesLocalTeacherList.vue new file mode 100644 index 0000000..d343bd5 --- /dev/null +++ b/src/views/cees/localTeacher/CeesLocalTeacherList.vue @@ -0,0 +1,186 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/localTeacher/components/CeesLocalTeacherForm.vue b/src/views/cees/localTeacher/components/CeesLocalTeacherForm.vue new file mode 100644 index 0000000..566cd2a --- /dev/null +++ b/src/views/cees/localTeacher/components/CeesLocalTeacherForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/cees/localTeacher/components/CeesLocalTeacherModal.vue b/src/views/cees/localTeacher/components/CeesLocalTeacherModal.vue new file mode 100644 index 0000000..5eeecc7 --- /dev/null +++ b/src/views/cees/localTeacher/components/CeesLocalTeacherModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/student/Student.api.ts b/src/views/cees/student/Student.api.ts new file mode 100644 index 0000000..ca5783e --- /dev/null +++ b/src/views/cees/student/Student.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/cees/student/list', + save='/cees/student/add', + edit='/cees/student/edit', + deleteOne = '/cees/student/delete', + deleteBatch = '/cees/student/deleteBatch', + importExcel = '/cees/student/importExcel', + exportXls = '/cees/student/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/student/Student.data.ts b/src/views/cees/student/Student.data.ts new file mode 100644 index 0000000..d8ee1f7 --- /dev/null +++ b/src/views/cees/student/Student.data.ts @@ -0,0 +1,243 @@ +import {BasicColumn} from '/@/components/Table'; +import {FormSchema} from '/@/components/Table'; +import { rules} from '/@/utils/helper/validator'; +import { render } from '/@/utils/common/renderUtils'; + +// 学科映射 +const majorMap = { + 1: '语文', + 4: '地理', + 7: '历史', + 8: '政治', + }; + +// 根据 majorId 获取学科名称 +const isMajor = (majorId) => { + return majorMap[majorId] || '未知学科'; +}; + +// 学科过滤方法 +const filterMajor = (value, row) => { + console.log(value, row); // 打印过滤值和行数据 + return row === value; +}; +//列表数据 +export const columns: BasicColumn[] = [ + { + title: '学生名', + align:"center", + dataIndex: 'userName' + }, + { + title: '用户ID', + align:"center", + dataIndex: 'userId' + }, + { + title: '学号', + align:"center", + dataIndex: 'studentId' + }, + { + title: '手机号', + align:"center", + dataIndex: 'phone' + }, + { + title: '学科', + align:"center", + dataIndex: 'majorId', + customRender: ({ text }) => { + return isMajor(text); // 根据 majorId 显示学科名称 + }, + filters: [ + { text: '语文', value: 1 }, + { text: '地理', value: 4 }, + { text: '历史', value: 7 }, + { text: '政治', value: 8 }, + ], + filterMultiple: false, // 是否支持多选过滤 + //value: 用户选择的过滤值(如 1)。 + onFilter: (value, record) => filterMajor(value, record.majorId), // 过滤方法 + }, + { + title: '所属分组', + align:"center", + dataIndex: 'groupId' + }, + { + title: '是否第一次阅卷', + align:"center", + dataIndex: 'checked', + customRender: ({text}) => { + return text == 1 ? '是' : '否'; + } + }, + + { + title: '使用次数', + align:"center", + dataIndex: 'numberuse' + }, + { + title: '状态:0正常 1禁用', + align:"center", + dataIndex: 'status' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "用户名", + field: 'userName', + component: 'Input', + //colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户id', + field: 'userId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户id!'}, + ]; + }, + }, + { + label: '用户名', + field: 'userName', + component: 'Input', + 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: '用户专业id', + field: 'userMajorId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户专业id!'}, + ]; + }, + }, + { + label: '学生id', + field: 'studentId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入学生id!'}, + ]; + }, + }, + { + label: '手机号', + field: 'phone', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入手机号!'}, + ]; + }, + }, + { + label: '是否第一次阅卷', + field: 'checked', + component: 'RadioGroup', + componentProps: { + options: [ + { label: '是', value: 1 }, + { label: '否', value: 0 }, + ], + }, + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请选择是否第一次阅卷!'}, + ]; + }, + }, + { + label: '组id', + field: 'groupId', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入组id!'}, + ]; + }, + }, + { + label: '使用次数', + field: 'numberuse', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入使用次数!'}, + ]; + }, + }, + { + label: '状态:0正常 1禁用', + field: 'status', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入状态:0正常 1禁用!'}, + ]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + userId: {title: '用户id',order: 0,view: 'text', type: 'string',}, + userName: {title: '用户名',order: 1,view: 'text', type: 'string',}, + majorId: {title: '专业id,0表示未选择',order: 2,view: 'number', type: 'number',}, + userMajorId: {title: '用户专业id',order: 3,view: 'text', type: 'string',}, + studentId: {title: '学生id',order: 4,view: 'text', type: 'string',}, + phone: {title: '手机号',order: 5,view: 'text', type: 'string',}, + checked: {title: '是否第一次阅卷',order: 6,view: 'text', type: 'string',}, + groupId: {title: '组id',order: 7,view: 'number', type: 'number',}, + numberuse: {title: '使用次数',order: 8,view: 'number', type: 'number',}, + status: {title: '状态:0正常 1禁用',order: 9,view: 'number', type: 'number',}, +}; + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} \ No newline at end of file diff --git a/src/views/cees/student/StudentList.vue b/src/views/cees/student/StudentList.vue new file mode 100644 index 0000000..5b614d0 --- /dev/null +++ b/src/views/cees/student/StudentList.vue @@ -0,0 +1,184 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/student/components/StudentForm.vue b/src/views/cees/student/components/StudentForm.vue new file mode 100644 index 0000000..171b96f --- /dev/null +++ b/src/views/cees/student/components/StudentForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/cees/student/components/StudentModal.vue b/src/views/cees/student/components/StudentModal.vue new file mode 100644 index 0000000..9383494 --- /dev/null +++ b/src/views/cees/student/components/StudentModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/waiTeacher/CeesWaiTeacher.api.ts b/src/views/cees/waiTeacher/CeesWaiTeacher.api.ts new file mode 100644 index 0000000..df8811a --- /dev/null +++ b/src/views/cees/waiTeacher/CeesWaiTeacher.api.ts @@ -0,0 +1,64 @@ +import {defHttp} from '/@/utils/http/axios'; +import { useMessage } from "/@/hooks/web/useMessage"; + +const { createConfirm } = useMessage(); + +enum Api { + list = '/cees/ceesWaiTeacher/list', + save='/cees/ceesWaiTeacher/add', + edit='/cees/ceesWaiTeacher/edit', + deleteOne = '/cees/ceesWaiTeacher/delete', + deleteBatch = '/cees/ceesWaiTeacher/deleteBatch', + importExcel = '/cees/ceesWaiTeacher/importExcel', + exportXls = '/cees/ceesWaiTeacher/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/waiTeacher/CeesWaiTeacher.data.ts b/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts new file mode 100644 index 0000000..7610ece --- /dev/null +++ b/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts @@ -0,0 +1,403 @@ +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: '用户id', + align:"center", + dataIndex: 'userId' + }, + { + title: '专业id', + align:"center", + dataIndex: 'majorId' + }, + { + title: '用户专业id', + align:"center", + dataIndex: 'userMajorId' + }, + { + title: '用户名', + align:"center", + dataIndex: 'userName' + }, + { + title: '手机号', + align:"center", + dataIndex: 'phone' + }, + { + title: '职称', + align:"center", + dataIndex: 'jobTitle' + }, + { + title: '银行卡号', + align:"center", + dataIndex: 'pyCard' + }, + { + title: '饭卡', + align:"center", + dataIndex: 'mealCard' + }, + { + title: '办公位', + align:"center", + dataIndex: 'office' + }, + { + title: '工作名称', + align:"center", + dataIndex: 'workName' + }, + { + title: '固定电话', + align:"center", + dataIndex: 'workPhone' + }, + { + title: '身份证', + align:"center", + dataIndex: 'identityId' + }, + { + title: '车牌号', + align:"center", + dataIndex: 'carNumber' + }, + { + title: '性别', + align:"center", + dataIndex: 'sex' + }, + { + title: '年龄', + align:"center", + dataIndex: 'age' + }, + { + title: '车辆是否入校', + align:"center", + dataIndex: 'carStatus' + }, + { + title: '宿舍信息', + align:"center", + dataIndex: 'dormitory' + }, + { + title: '是否住宿', + align:"center", + dataIndex: 'dormitoryStatus' + }, + { + title: '开户所在地', + align:"center", + dataIndex: 'bankAddress' + }, + { + title: '开户行', + align:"center", + dataIndex: 'bankName' + }, + { + title: '组id', + align:"center", + dataIndex: 'groupId' + }, + { + title: '使用次数', + align:"center", + dataIndex: 'numberuse' + }, + { + title: '状态:0已报道 1未报到', + align:"center", + dataIndex: 'status' + }, +]; +//查询数据 +export const searchFormSchema: FormSchema[] = [ + { + label: "专业id", + field: "majorId", + component: 'JRangeNumber', + //colProps: {span: 6}, + }, + { + label: "用户名", + field: 'userName', + component: 'Input', + //colProps: {span: 6}, + }, +]; +//表单数据 +export const formSchema: FormSchema[] = [ + { + label: '用户id', + field: 'userId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户id!'}, + ]; + }, + }, + { + label: '专业id', + field: 'majorId', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入专业id!'}, + ]; + }, + }, + { + label: '用户专业id', + field: 'userMajorId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户专业id!'}, + ]; + }, + }, + { + label: '用户名', + field: 'userName', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入用户名!'}, + ]; + }, + }, + { + label: '手机号', + field: 'phone', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入手机号!'}, + ]; + }, + }, + { + label: '职称', + field: 'jobTitle', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入职称!'}, + ]; + }, + }, + { + label: '银行卡号', + field: 'pyCard', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入银行卡号!'}, + ]; + }, + }, + { + label: '饭卡', + field: 'mealCard', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入饭卡!'}, + ]; + }, + }, + { + label: '办公位', + field: 'office', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入办公位!'}, + ]; + }, + }, + { + label: '工作名称', + field: 'workName', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入工作名称!'}, + ]; + }, + }, + { + label: '固定电话', + field: 'workPhone', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入固定电话!'}, + ]; + }, + }, + { + label: '身份证', + field: 'identityId', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入身份证!'}, + ]; + }, + }, + { + label: '车牌号', + field: 'carNumber', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入车牌号!'}, + ]; + }, + }, + { + label: '性别', + field: 'sex', + component: 'Input', + }, + { + label: '年龄', + field: 'age', + component: 'InputNumber', + }, + { + label: '车辆是否入校', + field: 'carStatus', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入车辆是否入校!'}, + ]; + }, + }, + { + label: '宿舍信息', + field: 'dormitory', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入宿舍信息!'}, + ]; + }, + }, + { + label: '是否住宿', + field: 'dormitoryStatus', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入是否住宿!'}, + ]; + }, + }, + { + label: '开户所在地', + field: 'bankAddress', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入开户所在地!'}, + ]; + }, + }, + { + label: '开户行', + field: 'bankName', + component: 'Input', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入开户行!'}, + ]; + }, + }, + { + label: '组id', + field: 'groupId', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入组id!'}, + ]; + }, + }, + { + label: '使用次数', + field: 'numberuse', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入使用次数!'}, + ]; + }, + }, + { + label: '状态:0已报道 1未报到', + field: 'status', + component: 'InputNumber', + dynamicRules: ({model,schema}) => { + return [ + { required: true, message: '请输入状态:0已报道 1未报到!'}, + ]; + }, + }, + // TODO 主键隐藏字段,目前写死为ID + { + label: '', + field: 'id', + component: 'Input', + show: false + }, +]; + +// 高级查询数据 +export const superQuerySchema = { + userId: {title: '用户id',order: 0,view: 'text', type: 'string',}, + majorId: {title: '专业id',order: 1,view: 'number', type: 'number',}, + userMajorId: {title: '用户专业id',order: 2,view: 'text', type: 'string',}, + userName: {title: '用户名',order: 3,view: 'text', type: 'string',}, + phone: {title: '手机号',order: 4,view: 'text', type: 'string',}, + jobTitle: {title: '职称',order: 5,view: 'text', type: 'string',}, + pyCard: {title: '银行卡号',order: 6,view: 'text', type: 'string',}, + mealCard: {title: '饭卡',order: 7,view: 'text', type: 'string',}, + office: {title: '办公位',order: 8,view: 'text', type: 'string',}, + workName: {title: '工作名称',order: 9,view: 'text', type: 'string',}, + workPhone: {title: '固定电话',order: 10,view: 'text', type: 'string',}, + identityId: {title: '身份证',order: 11,view: 'text', type: 'string',}, + carNumber: {title: '车牌号',order: 12,view: 'text', type: 'string',}, + sex: {title: '性别',order: 13,view: 'text', type: 'string',}, + age: {title: '年龄',order: 14,view: 'number', type: 'number',}, + carStatus: {title: '车辆是否入校',order: 15,view: 'number', type: 'number',}, + dormitory: {title: '宿舍信息',order: 16,view: 'text', type: 'string',}, + dormitoryStatus: {title: '是否住宿',order: 17,view: 'text', type: 'string',}, + bankAddress: {title: '开户所在地',order: 18,view: 'text', type: 'string',}, + bankName: {title: '开户行',order: 19,view: 'text', type: 'string',}, + groupId: {title: '组id',order: 20,view: 'number', type: 'number',}, + numberuse: {title: '使用次数',order: 21,view: 'number', type: 'number',}, + status: {title: '状态:0已报道 1未报到',order: 22,view: 'number', type: 'number',}, +}; + +/** +* 流程表单调用这个方法获取formSchema +* @param param +*/ +export function getBpmFormSchema(_formData): FormSchema[]{ + // 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema + return formSchema; +} \ No newline at end of file diff --git a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue new file mode 100644 index 0000000..16d793c --- /dev/null +++ b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue @@ -0,0 +1,187 @@ + + + + + \ No newline at end of file diff --git a/src/views/cees/waiTeacher/components/CeesWaiTeacherForm.vue b/src/views/cees/waiTeacher/components/CeesWaiTeacherForm.vue new file mode 100644 index 0000000..64cd9fd --- /dev/null +++ b/src/views/cees/waiTeacher/components/CeesWaiTeacherForm.vue @@ -0,0 +1,70 @@ + + + \ No newline at end of file diff --git a/src/views/cees/waiTeacher/components/CeesWaiTeacherModal.vue b/src/views/cees/waiTeacher/components/CeesWaiTeacherModal.vue new file mode 100644 index 0000000..bc72dd0 --- /dev/null +++ b/src/views/cees/waiTeacher/components/CeesWaiTeacherModal.vue @@ -0,0 +1,66 @@ + + + + + \ No newline at end of file