From ecbfbd5cad05bcd65fb7d6100d8babd1f9ca66c0 Mon Sep 17 00:00:00 2001 From: Xubx <1827135378@qq.com> Date: Thu, 6 Mar 2025 17:14:16 +0800 Subject: [PATCH] =?UTF-8?q?=E5=88=86=E6=94=AF=E5=90=88=E5=B9=B6?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../localTeacher/CeesLocalTeacher.data.ts | 75 ++- .../localTeacher/CeesLocalTeacherList.vue | 3 + src/views/cees/student/Student.data.ts | 108 ++--- src/views/cees/student/StudentList.vue | 3 + .../cees/waiTeacher/CeesWaiTeacher.data.ts | 440 ++++++++++-------- .../cees/waiTeacher/CeesWaiTeacherList.vue | 88 ++-- 6 files changed, 367 insertions(+), 350 deletions(-) diff --git a/src/views/cees/localTeacher/CeesLocalTeacher.data.ts b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts index b86551a..20fd45b 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacher.data.ts +++ b/src/views/cees/localTeacher/CeesLocalTeacher.data.ts @@ -3,6 +3,11 @@ import { FormSchema } from '/@/components/Table'; import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; import { ref, onMounted,reactive } from 'vue'; +// 学科过滤方法 +const filterMajor = (value, row) => { + console.log(value, row); // 打印过滤值和行数据 + return row === value; +}; const groupOptions=ref() // 创建一个简单的事件总线 @@ -38,6 +43,15 @@ export const columns: BasicColumn[] = [ title: '学科', align: 'center', dataIndex: '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: '所属分组', @@ -85,41 +99,26 @@ export const formSchema: FormSchema[] = [ label: '用户id', field: 'userId', component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入用户id!' }]; - }, + show: false, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入用户id!' }]; + //}, }, { - label: '用户名', + label: '姓名', field: 'userName', component: 'Input', dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入用户名!' }]; - }, - }, - { - label: '学科', - field: 'majorId', - component: 'InputNumber', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入学科!' }]; - }, - }, - { - label: '用户专业id', - field: 'userMajorId', - component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入用户专业id!' }]; + return [{ required: true, message: '请输入姓名!' }]; }, }, { label: '工号', field: 'teacherId', component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入工号!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入工号!' }]; + //}, }, { label: '手机号', @@ -136,18 +135,18 @@ export const formSchema: FormSchema[] = [ componentProps: { options: groupOptions, // 动态设置分组选项 }, - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请选择分组!' }]; - }, - }, - { - label: '使用次数', - field: 'numberuse', - component: 'InputNumber', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入使用次数!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择分组!' }]; + //}, }, + //{ + // label: '使用次数', + // field: 'numberuse', + // component: 'InputNumber', + // dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入使用次数!' }]; + // }, + //}, { label: '是否第一次阅卷', field: 'status', @@ -158,9 +157,9 @@ export const formSchema: FormSchema[] = [ { label: '否', value: 1 }, ], }, - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请选择是否第一次阅卷!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择是否第一次阅卷!' }]; + //}, }, // TODO 主键隐藏字段,目前写死为ID { diff --git a/src/views/cees/localTeacher/CeesLocalTeacherList.vue b/src/views/cees/localTeacher/CeesLocalTeacherList.vue index 02d0a07..9ef4c06 100644 --- a/src/views/cees/localTeacher/CeesLocalTeacherList.vue +++ b/src/views/cees/localTeacher/CeesLocalTeacherList.vue @@ -33,6 +33,9 @@ + + {{ record.majorIdDescription }} + diff --git a/src/views/cees/student/Student.data.ts b/src/views/cees/student/Student.data.ts index c4c7ff1..3fa3a83 100644 --- a/src/views/cees/student/Student.data.ts +++ b/src/views/cees/student/Student.data.ts @@ -89,16 +89,16 @@ export const columns: BasicColumn[] = [ dataIndex: 'checked', }, - { - title: '使用次数', - align: 'center', - dataIndex: 'numberuse', - }, - { - title: '状态', - align: 'center', - dataIndex: 'status', - }, + //{ + // title: '使用次数', + // align: 'center', + // dataIndex: 'numberuse', + //}, + //{ + // title: '状态', + // align: 'center', + // dataIndex: 'status', + //}, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ @@ -111,20 +111,20 @@ 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', - component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入用户id!' }]; - }, - }, - { - label: '用户名', + label: '学生名', field: 'userName', component: 'Input', dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入用户名!' }]; + return [{ required: true, message: '请输入学生名!' }]; }, }, { @@ -144,19 +144,11 @@ export const formSchema: FormSchema[] = [ }, }, { - label: '用户专业id', - field: 'userMajorId', - component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入用户专业id!' }]; - }, - }, - { - label: '学生id', + label: '学号', field: 'studentId', component: 'Input', dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入学生id!' }]; + return [{ required: true, message: '请输入学号!' }]; }, }, { @@ -177,9 +169,9 @@ export const formSchema: FormSchema[] = [ { label: '否', value: 1 }, ], }, - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请选择是否第一次阅卷!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择是否第一次阅卷!' }]; + //}, }, { label: '所属分组', @@ -188,32 +180,32 @@ export const formSchema: FormSchema[] = [ componentProps: { options: groupOptions, // 动态设置分组选项 }, - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请选择分组!' }]; - }, - }, - { - label: '使用次数', - field: 'numberuse', - component: 'InputNumber', - 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: '请选择状态!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择分组!' }]; + //}, }, + //{ + // label: '使用次数', + // field: 'numberuse', + // component: 'InputNumber', + // 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: '', diff --git a/src/views/cees/student/StudentList.vue b/src/views/cees/student/StudentList.vue index 835b35d..9b8fcef 100644 --- a/src/views/cees/student/StudentList.vue +++ b/src/views/cees/student/StudentList.vue @@ -37,6 +37,9 @@ 正常 禁用 + + {{ record.majorIdDescription }} + diff --git a/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts b/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts index 168110b..170adb2 100644 --- a/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts +++ b/src/views/cees/waiTeacher/CeesWaiTeacher.data.ts @@ -4,6 +4,12 @@ import { rules } from '/@/utils/helper/validator'; import { render } from '/@/utils/common/renderUtils'; import { ref, onMounted,reactive } from 'vue'; +// 学科过滤方法 +const filterMajor = (value, row) => { + console.log(value, row); // 打印过滤值和行数据 + return row === value; +}; + const groupOptions=ref() // 创建一个简单的事件总线 @@ -39,6 +45,15 @@ export const columns: BasicColumn[] = [ title: '学科', align: 'center', dataIndex: '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: '手机号', @@ -73,81 +88,81 @@ export const columns: BasicColumn[] = [ dataIndex: 'dormitory', }, - { - title: '用户专业id', - align: 'center', - dataIndex: 'userMajorId', - }, - { - title: '银行卡号', - align: 'center', - dataIndex: 'pyCard', - }, - { - title: '饭卡', - align: 'center', - dataIndex: 'mealCard', - }, + //{ + // title: '用户专业id', + // align: 'center', + // dataIndex: 'userMajorId', + //}, + //{ + // title: '银行卡号', + // align: 'center', + // dataIndex: 'pyCard', + //}, + //{ + // title: '饭卡', + // align: 'center', + // dataIndex: 'mealCard', + //}, - { - title: '工作名称', - align: 'center', - dataIndex: 'workName', - }, - { - title: '固定电话', - align: 'center', - dataIndex: 'workPhone', - }, - { - title: '身份证', - align: 'center', - dataIndex: 'identityId', - }, - { - title: '车牌号', - align: 'center', - dataIndex: 'carNumber', - }, - { - title: '车辆是否入校', - align: 'center', - dataIndex: 'carStatus', - }, - { - title: '是否住宿', - align: 'center', - dataIndex: 'dormitoryStatus', - }, - { - title: '开户所在地', - align: 'center', - dataIndex: 'bankAddress', - }, - { - title: '开户行', - align: 'center', - dataIndex: 'bankName', - }, - { - title: '使用次数', - align: 'center', - dataIndex: 'numberuse', - }, - { - title: '状态', - align: 'center', - dataIndex: 'status', - }, + //{ + // title: '工作名称', + // align: 'center', + // dataIndex: 'workName', + //}, + //{ + // title: '固定电话', + // align: 'center', + // dataIndex: 'workPhone', + //}, + //{ + // title: '身份证', + // align: 'center', + // dataIndex: 'identityId', + //}, + //{ + // title: '车牌号', + // align: 'center', + // dataIndex: 'carNumber', + //}, + //{ + // title: '车辆是否入校', + // align: 'center', + // dataIndex: 'carStatus', + //}, + //{ + // title: '是否住宿', + // align: 'center', + // dataIndex: 'dormitoryStatus', + //}, + //{ + // title: '开户所在地', + // align: 'center', + // dataIndex: 'bankAddress', + //}, + //{ + // title: '开户行', + // align: 'center', + // dataIndex: 'bankName', + //}, + //{ + // title: '使用次数', + // align: 'center', + // dataIndex: 'numberuse', + //}, + //{ + // title: '状态', + // align: 'center', + // dataIndex: 'status', + //}, ]; //查询数据 export const searchFormSchema: FormSchema[] = [ - { - label: '学科', - field: 'majorId', - component: 'JRangeNumber', - //colProps: {span: 6}, - }, + //{ + // label: '学科', + // field: 'majorId', + // component: 'JRangeNumber', + // //colProps: {span: 6}, + //}, { label: '姓名', field: 'userName', @@ -165,22 +180,6 @@ export const formSchema: FormSchema[] = [ return [{ required: true, message: '请输入用户ID!' }]; }, }, - { - label: '学科', - 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', @@ -189,62 +188,6 @@ export const formSchema: FormSchema[] = [ 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', @@ -254,12 +197,9 @@ export const formSchema: FormSchema[] = [ }, }, { - label: '车牌号', - field: 'carNumber', - component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入车牌号!' }]; - }, + label: '年龄', + field: 'age', + component: 'InputNumber', }, { label: '性别', @@ -273,31 +213,109 @@ export const formSchema: FormSchema[] = [ }, }, { - label: '年龄', - field: 'age', - component: 'InputNumber', - }, - { - label: '车辆是否入校', - field: 'carStatus', - component: 'RadioGroup', + label: '学科', + field: 'majorId', + component: 'Select', componentProps: { options: [ - { label: '是', value: 0 }, - { label: '否', value: 1 }, + { label: '语文', value: 1 }, + { label: '地理', value: 4 }, + { label: '历史', value: 7 }, + { label: '政治', value: 8 }, ], }, 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: 'dormitory', + label: '手机号', + field: 'phone', component: 'Input', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入宿舍信息!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入手机号!' }]; + //}, + }, + { + 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: '请输入饭卡!' }]; + //}, }, { label: '是否住宿', @@ -309,60 +327,76 @@ export const formSchema: FormSchema[] = [ { label: '否', value: 1 }, ], }, - 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: '请输入开户行!' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入是否住宿!' }]; + //}, }, { label: '所属分组', field: 'groupId', component: 'Select', componentProps: { - options: groupOptions, // 动态设置分组选项 + options: groupOptions, // 动态设置分组选项 }, dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请选择分组!' }]; + return [{ required: true, message: '请选择分组!' }]; }, - }, + }, + { - label: '使用次数', - field: 'numberuse', - component: 'InputNumber', - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请输入使用次数!' }]; - }, - }, - { - label: '状态:', - field: 'status', + label: '车辆是否入校', + field: 'carStatus', component: 'RadioGroup', componentProps: { options: [ - { label: '已报到', value: 0 }, - { label: '未报到', value: 1 }, + { label: '是', value: 0 }, + { label: '否', value: 1 }, ], }, - dynamicRules: ({ model, schema }) => { - return [{ required: true, message: '请选择状态' }]; - }, + //dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入车辆是否入校!' }]; + //}, }, - // TODO 主键隐藏字段,目前写死为ID + //{ + // label: '住宿信息', + // field: 'dormitory', + // component: 'Input', + // dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请输入宿舍信息!' }]; + // }, + //}, + + //{ + // label: '所属分组', + // 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: '状态:', + // field: 'status', + // component: 'RadioGroup', + // componentProps: { + // options: [ + // { label: '已报到', value: 0 }, + // { label: '未报到', value: 1 }, + // ], + // }, + // dynamicRules: ({ model, schema }) => { + // return [{ required: true, message: '请选择状态' }]; + // }, + //}, + //// TODO 主键隐藏字段,目前写死为ID { label: '', field: 'id', diff --git a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue index 2fb6f6d..24d3cd9 100644 --- a/src/views/cees/waiTeacher/CeesWaiTeacherList.vue +++ b/src/views/cees/waiTeacher/CeesWaiTeacherList.vue @@ -1,8 +1,8 @@