diff --git a/src/views/cees/localTeacher/CeesLocalTeacher.data.ts b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts index 20fd45b..ab66183 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacher.data.ts +++ b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts @@ -2,6 +2,11 @@ import { BasicColumn } from '/@/components/Table'; import { FormSchema } from '/@/components/Table'; import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; +// 学科过滤方法 +const filterMajor = (value, row) => { + console.log(value, row); // 打印过滤值和行数据 + return row === value; +}; import { ref, onMounted,reactive } from 'vue'; // 学科过滤方法 const filterMajor = (value, row) => { @@ -52,6 +57,15 @@ export const columns: BasicColumn[] = [ filterMultiple: false, // 是否支持多选过滤 //value: 用户选择的过滤值(如 1)。 onFilter: (value, record) => filterMajor(value, record.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: '所属分组', @@ -75,14 +89,12 @@ export const columns: BasicColumn[] = [ // align: 'center', // dataIndex: 'userMajorId', //}, - - + //{ // title: '使用次数', // align: 'center', // dataIndex: 'numberuse', //}, - ]; //查询数据 export const searchFormSchema: FormSchema[] = [ @@ -105,11 +117,13 @@ export const formSchema: FormSchema[] = [ //}, }, { + label: '姓名', label: '姓名', field: 'userName', component: 'Input', dynamicRules: ({ model, schema }) => { return [{ required: true, message: '请输入姓名!' }]; + return [{ required: true, message: '请输入姓名!' }]; }, }, { @@ -119,6 +133,9 @@ export const formSchema: FormSchema[] = [ //dynamicRules: ({ model, schema }) => { // return [{ required: true, message: '请输入工号!' }]; //}, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入工号!' }]; + //}, }, { label: '手机号', @@ -128,8 +145,33 @@ export const formSchema: FormSchema[] = [ 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: '所属分组', + label: '所属组', field: 'groupId', component: 'Select', componentProps: { @@ -147,6 +189,14 @@ export const formSchema: FormSchema[] = [ // return [{ required: true, message: '请输入使用次数!' }]; // }, //}, + //{ + // label: '使用次数', + // field: 'numberuse', + // component: 'InputNumber', + // dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入使用次数!' }]; + // }, + //}, { label: '是否第一次阅卷', field: 'status', @@ -160,14 +210,17 @@ export const formSchema: FormSchema[] = [ //dynamicRules: ({ model, schema }) => { // return [{ required: true, message: '请选择是否第一次阅卷!' }]; //}, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择是否第一次阅卷!' }]; + //}, }, // TODO 主键隐藏字段,目前写死为ID - { - label: '', - field: 'id', - component: 'Input', - show: false, - }, + //{ + // label: '', + // field: 'id', + // component: 'Input', + // show: false, + //}, ]; // 高级查询数据 diff --git a/src/views/cees/localTeacher/CeesLocalTeacherList.vue b/src/views/cees/localTeacher/CeesLocalTeacherList.vue index 9ef4c06..8ab74c6 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacherList.vue +++ b/src/views/cees/localTeacher/CeesLocalTeacherList.vue @@ -91,6 +91,53 @@ const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ success: handleSuccess, }, }); +import { ref, reactive, computed, unref } from 'vue'; +import { BasicTable, useTable, TableAction } from '/@/components/Table'; +import { useModal } from '/@/components/Modal'; +import { useListPage } from '/@/hooks/system/useListPage'; +import CeesLocalTeacherModal from './components/CeesLocalTeacherModal.vue'; +import { columns, searchFormSchema, superQuerySchema } from './CeesLocalTeacher.data'; +import { list, deleteOne, batchDelete, getImportUrl, getExportUrl } from './CeesLocalTeacher.api'; +import { downloadFile } from '/@/utils/common/renderUtils'; +import { useUserStore } from '/@/store/modules/user'; +const queryParam = reactive({}); +const checkedKeys = ref>([]); +const userStore = useUserStore(); +//注册model +const [registerModal, { openModal }] = useModal(); +//注册table数据 +const { prefixCls, tableContext, onExportXls, onImportXls } = useListPage({ + tableProps: { + title: '本校教师表', + api: list, + columns, + canResize: false, + formConfig: { + //labelWidth: 120, + schemas: searchFormSchema, + autoSubmitOnEnter: true, + showAdvancedButton: true, + fieldMapToNumber: [], + fieldMapToTime: [], + }, + actionColumn: { + width: 120, + fixed: 'right', + }, + beforeFetch: (params) => { + return Object.assign(params, queryParam); + }, + }, + exportConfig: { + name: '本校教师表', + url: getExportUrl, + params: queryParam, + }, + importConfig: { + url: getImportUrl, + success: handleSuccess, + }, +}); const [registerTable, { reload }, { rowSelection, selectedRowKeys }] = tableContext; diff --git a/src/views/cees/student/Student.data.ts b/src/views/cees/student/Student.data.ts index 3fa3a83..ca38348 100644 --- a/src/views/cees/student/Student.data.ts +++ b/src/views/cees/student/Student.data.ts @@ -70,7 +70,7 @@ export const columns: BasicColumn[] = [ onFilter: (value, record) => filterMajor(value, record.majorId), // 过滤方法 }, { - title: '所属分组', + title: '所属分组', align: 'center', customRender: ({ text }) => { if (!groupOptions.value) { @@ -99,6 +99,16 @@ export const columns: BasicColumn[] = [ // align: 'center', // dataIndex: 'status', //}, + //{ + // title: '使用次数', + // align: 'center', + // dataIndex: 'numberuse', + //}, + //{ + // title: '状态', + // align: 'center', + // dataIndex: 'status', + //}, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ @@ -111,6 +121,14 @@ export const searchFormSchema: FormSchema[] = [ ]; //表单数据 export const formSchema: FormSchema[] = [ + //{ + // label: '用户id', + // field: 'userId', + // component: 'Input', + // dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入用户id!' }]; + // }, + //}, //{ // label: '用户id', // field: 'userId', @@ -120,11 +138,13 @@ export const formSchema: FormSchema[] = [ // }, //}, { + label: '学生名', label: '学生名', field: 'userName', component: 'Input', dynamicRules: ({ model, schema }) => { return [{ required: true, message: '请输入学生名!' }]; + return [{ required: true, message: '请输入学生名!' }]; }, }, { @@ -149,8 +169,10 @@ export const formSchema: FormSchema[] = [ component: 'Input', dynamicRules: ({ model, schema }) => { return [{ required: true, message: '请输入学号!' }]; + return [{ required: true, message: '请输入学号!' }]; }, }, + { label: '手机号', field: 'phone', @@ -159,6 +181,39 @@ export const formSchema: FormSchema[] = [ 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: '所属组', + field: 'groupId', + component: 'InputNumber', + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入组id!' }]; + //}, + }, { label: '是否第一次阅卷', field: 'checked', @@ -172,6 +227,9 @@ export const formSchema: FormSchema[] = [ //dynamicRules: ({ model, schema }) => { // return [{ required: true, message: '请选择是否第一次阅卷!' }]; //}, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择是否第一次阅卷!' }]; + //}, }, { label: '所属分组', diff --git a/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts b/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts index 170adb2..43d31f1 100644 --- a/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts +++ b/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts @@ -2,6 +2,12 @@ import { BasicColumn } from '/@/components/Table'; import { FormSchema } from '/@/components/Table'; import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; + +// 学科过滤方法 +const filterMajor = (value, row) => { + console.log(value, row); // 打印过滤值和行数据 + return row === value; +}; import { ref, onMounted,reactive } from 'vue'; // 学科过滤方法 @@ -54,6 +60,15 @@ export const columns: BasicColumn[] = [ filterMultiple: false, // 是否支持多选过滤 //value: 用户选择的过滤值(如 1)。 onFilter: (value, record) => filterMajor(value, record.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: '手机号', @@ -157,6 +172,12 @@ export const columns: BasicColumn[] = [ ]; //查询数据 export const searchFormSchema: FormSchema[] = [ + //{ + // label: '学科', + // field: 'majorId', + // component: 'JRangeNumber', + // //colProps: {span: 6}, + //}, //{ // label: '学科', // field: 'majorId', @@ -200,6 +221,9 @@ export const formSchema: FormSchema[] = [ label: '年龄', field: 'age', component: 'InputNumber', + label: '年龄', + field: 'age', + component: 'InputNumber', }, { label: '性别', @@ -213,6 +237,9 @@ export const formSchema: FormSchema[] = [ }, }, { + label: '学科', + field: 'majorId', + component: 'Select', label: '学科', field: 'majorId', component: 'Select', @@ -222,6 +249,10 @@ export const formSchema: FormSchema[] = [ { label: '地理', value: 4 }, { label: '历史', value: 7 }, { label: '政治', value: 8 }, + { label: '语文', value: 1 }, + { label: '地理', value: 4 }, + { label: '历史', value: 7 }, + { label: '政治', value: 8 }, ], }, dynamicRules: ({ model, schema }) => { @@ -237,6 +268,25 @@ export const formSchema: FormSchema[] = [ // }, //}, + { + label: '手机号', + field: 'phone', + component: 'Input', + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入手机号!' }]; + //}, + return [{ required: true, message: '请选择学科!' }]; + }, + }, + //{ + // label: '用户专业id', + // field: 'userMajorId', + // component: 'Input', + // dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入用户专业id!' }]; + // }, + //}, + { label: '手机号', field: 'phone', @@ -304,8 +354,77 @@ export const formSchema: FormSchema[] = [ { label: '车牌号', field: 'carNumber', + label: '职称', + field: 'jobTitle', 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: 'pyCard', + 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: '车牌号', + field: 'carNumber', + component: 'Input', + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入车牌号!' }]; + //}, + }, + { + label: '饭卡', + field: 'mealCard', + component: 'Input', + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入饭卡!' }]; + //}, + //dynamicRules: ({ model, schema }) => { // return [{ required: true, message: '请输入车牌号!' }]; //}, }, @@ -330,6 +449,9 @@ export const formSchema: FormSchema[] = [ //dynamicRules: ({ model, schema }) => { // return [{ required: true, message: '请输入是否住宿!' }]; //}, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入是否住宿!' }]; + //}, }, { label: '所属分组', @@ -408,7 +530,7 @@ export const formSchema: FormSchema[] = [ // 高级查询数据 export const superQuerySchema = { userId: { title: '用户ID', order: 0, view: 'text', type: 'string' }, - majorId: { title: '学科', order: 1, view: 'number', type: 'number' }, + majorId: { title: '学科', order: 1, view: 'text', 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' }, diff --git a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue index 24d3cd9..63cd9ee 100644 --- a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue +++ b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue @@ -3,67 +3,80 @@ - - - - - - - - - + + + + + + + + + +