CEES-manage/src/views/cees/localTeacher/CeesLocalTeacher.data.ts

202 lines
5.0 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { BasicColumn } from '/@/components/Table';
import { FormSchema } from '/@/components/Table';
import { rules } from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { ref, onMounted, reactive } from 'vue';
import { usePermission } from '/@/hooks/web/usePermission';
const { hasPermission } = usePermission();
const groupOptions = ref();
// 创建一个简单的事件总线
export const updateGroupOptions = reactive({
updateGroupOptions(newOptions: any) {
groupOptions.value = newOptions;
},
});
//列表数据
export const columns: BasicColumn[] = [
{
title: '姓名',
align: 'center',
sorter: true,
dataIndex: 'userName',
},
{
title: '用户身份码 ',
align: 'center',
sorter: true,
dataIndex: 'userId',
},
{
title: '工号',
align: 'center',
sorter: true,
dataIndex: 'teacherId',
},
{
title: '手机号',
align: 'center',
sorter: true,
dataIndex: 'phone',
},
{
title: '学科',
align: 'center',
sorter: true,
dataIndex: 'majorId',
},
{
title: '所属分组',
align: 'center',
//dataIndex: 'groupId',
customRender: ({ text }) => {
const group = groupOptions.value.find((item) => item.value === text.groupId);
if (group) {
return group.label;
}
return '未知分组';
},
},
{
title: '是否第一次阅卷',
align: 'center',
sorter: true,
dataIndex: 'status',
},
//{
// title: '用户专业id',
// align: 'center',
// dataIndex: 'userMajorId',
//},
//{
// title: '使用次数',
// align: 'center',
// dataIndex: 'numberuse',
//},
];
//查询数据
export const searchFormSchema: FormSchema[] = [
{
label: '用户名',
field: 'userName',
component: 'Input',
//colProps: {span: 6},
},
{
label: '学科',
field: 'majorId',
component: 'Select',
componentProps: {
options: [
{ label: '语文', value: 1 },
{ label: '地理', value: 4 },
{ label: '历史', value: 7 },
{ label: '政治', value: 8 },
],
},
ifShow: ({ values }) => {
return hasPermission('localTeacher:majorId:select');
},
},
];
//表单数据
export const formSchema: FormSchema[] = [
{
label: '用户id',
field: 'userId',
component: 'Input',
show: false,
//dynamicRules: ({ model, schema }) => {
// return [{ required: true, message: '请输入用户id!' }];
//},
},
{
label: '姓名',
field: 'userName',
component: 'Input',
dynamicRules: ({ model, schema }) => {
return [{ required: true, message: '请输入姓名!' }];
},
},
{
label: '工号',
field: 'teacherId',
component: 'Input',
//dynamicRules: ({ model, schema }) => {
// return [{ required: true, message: '请输入工号!' }];
//},
},
{
label: '手机号',
field: 'phone',
component: 'Input',
dynamicRules: ({ model, schema }) => {
return [{ required: true, message: '请输入手机号!' }];
},
},
{
label: '所属分组',
field: 'groupId',
component: 'Select',
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: '请选择是否第一次阅卷!' }];
//},
},
// 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: '学科', 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: '所属分组', 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;
}