346 lines
7.8 KiB
Vue
Raw Normal View History

2025-08-07 17:46:48 +08:00
import {BasicColumn} from '/@/components/Table';
import {FormSchema} from '/@/components/Table';
import { rules} from '/@/utils/helper/validator';
import { render } from '/@/utils/common/renderUtils';
import { getWeekMonthQuarterYear } from '/@/utils';
//列表数据
export const columns: BasicColumn[] = [
{
title: '课程名',
align:"center",
dataIndex: 'name'
},
{
2025-08-07 21:29:49 +08:00
title: '封面图',
2025-08-07 17:46:48 +08:00
align:"center",
dataIndex: 'cover',
customRender:render.renderImage,
},
{
2025-08-07 21:29:49 +08:00
title: '所属分类',
2025-08-07 17:46:48 +08:00
align:"center",
2025-08-07 21:29:49 +08:00
dataIndex: 'categoryId_dictText'
2025-08-07 17:46:48 +08:00
},
{
2025-08-07 21:29:49 +08:00
title: '介绍视频',
2025-08-07 17:46:48 +08:00
align:"center",
2025-08-07 21:29:49 +08:00
dataIndex: 'video',
},
{
title: '学校',
align:"center",
dataIndex: 'school'
},
{
title: '课程概述',
align:"center",
dataIndex: 'description'
},
{
title: '课程类型',
align:"center",
dataIndex: 'type',
customRender:({text}) => {
return render.renderSwitch(text, [{text:'是',value:'Y'},{text:'否',value:'N'}])
},
},
{
title: '授课目标',
align:"center",
dataIndex: 'target'
},
{
title: '课程难度',
align:"center",
dataIndex: 'difficulty_dictText'
},
{
title: '所属专题',
align:"center",
dataIndex: 'subject_dictText'
},
{
title: '课程大纲',
align:"center",
dataIndex: 'outline'
},
{
title: '预备知识',
align:"center",
dataIndex: 'prerequisite'
},
{
title: '参考资料',
align:"center",
dataIndex: 'reference'
},
{
title: '学时安排',
align:"center",
dataIndex: 'arrangement'
},
{
title: '开课时间',
align:"center",
dataIndex: 'startTime'
},
{
title: '结课时间',
align:"center",
dataIndex: 'endTime'
},
{
title: '已报名人数',
align:"center",
dataIndex: 'enrollCount'
},
{
title: '最大报名人数',
align:"center",
dataIndex: 'maxEnroll'
},
{
title: '状态',
align:"center",
dataIndex: 'status_dictText'
2025-08-07 17:46:48 +08:00
},
2025-08-07 19:31:36 +08:00
{
2025-08-07 21:29:49 +08:00
title: '常见问题',
2025-08-07 19:31:36 +08:00
align:"center",
2025-08-07 21:29:49 +08:00
dataIndex: 'question',
},
{
title: '乐观锁',
align:"center",
dataIndex: 'revision'
},
{
title: '创建人',
align:"center",
dataIndex: 'createdBy'
},
{
title: '创建时间',
align:"center",
dataIndex: 'createdTime'
},
{
title: '更新人',
align:"center",
dataIndex: 'updatedBy'
},
{
title: '更新时间',
align:"center",
dataIndex: 'updatedTime'
2025-08-07 19:31:36 +08:00
},
2025-08-07 17:46:48 +08:00
];
//查询数据
export const searchFormSchema: FormSchema[] = [
];
//表单数据
export const formSchema: FormSchema[] = [
{
label: '课程名',
field: 'name',
component: 'Input',
},
{
2025-08-07 21:29:49 +08:00
label: '封面图',
2025-08-07 17:46:48 +08:00
field: 'cover',
component: 'JImageUpload',
componentProps:{
fileMax: 0
},
},
{
2025-08-07 21:29:49 +08:00
label: '所属分类',
field: 'categoryId',
component: 'JSelectMultiple',
componentProps:{
dictCode:""
},
},
{
label: '介绍视频',
field: 'video',
component: 'JUpload',
componentProps:{
},
},
{
label: '学校',
field: 'school',
component: 'Input',
},
{
label: '课程概述',
2025-08-07 17:46:48 +08:00
field: 'description',
2025-08-07 21:29:49 +08:00
component: 'Input',
2025-08-07 17:46:48 +08:00
},
{
2025-08-07 21:29:49 +08:00
label: '课程类型',
field: 'type',
component: 'JSwitch',
componentProps:{
},
},
{
label: '授课目标',
field: 'target',
component: 'Input',
},
{
label: '课程难度',
field: 'difficulty',
2025-08-07 17:46:48 +08:00
component: 'JDictSelectTag',
componentProps:{
2025-08-07 21:29:49 +08:00
dictCode:""
},
},
{
label: '所属专题',
field: 'subject',
component: 'JSelectMultiple',
componentProps:{
dictCode:""
},
},
{
label: '课程大纲',
field: 'outline',
component: 'Input',
},
{
label: '预备知识',
field: 'prerequisite',
component: 'Input',
},
{
label: '参考资料',
field: 'reference',
component: 'Input',
},
{
label: '学时安排',
field: 'arrangement',
component: 'Input',
},
{
label: '开课时间',
field: 'startTime',
component: 'DatePicker',
componentProps: {
showTime: true,
valueFormat: 'YYYY-MM-DD HH:mm:ss'
2025-08-07 17:46:48 +08:00
},
2025-08-07 19:31:36 +08:00
},
{
2025-08-07 21:29:49 +08:00
label: '结课时间',
field: 'endTime',
component: 'InputNumber',
},
{
label: '已报名人数',
field: 'enrollCount',
component: 'InputNumber',
},
{
label: '最大报名人数',
field: 'maxEnroll',
component: 'InputNumber',
},
{
label: '状态',
field: 'status',
component: 'JPopupDict',
componentProps: {
placeholder: '请选择状态',
dictCode: ',,status',
multi: true
},
},
{
label: '常见问题',
field: 'question',
component: 'JEditor',
},
{
label: '乐观锁',
field: 'revision',
component: 'InputNumber',
},
{
label: '创建人',
field: 'createdBy',
component: 'Input',
},
{
label: '创建时间',
field: 'createdTime',
component: 'DatePicker',
componentProps: {
showTime: true,
valueFormat: 'YYYY-MM-DD HH:mm:ss'
},
},
{
label: '更新人',
field: 'updatedBy',
2025-08-07 19:31:36 +08:00
component: 'Input',
2025-08-07 21:29:49 +08:00
},
{
label: '更新时间',
field: 'updatedTime',
component: 'DatePicker',
componentProps: {
showTime: true,
valueFormat: 'YYYY-MM-DD HH:mm:ss'
},
2025-08-07 17:46:48 +08:00
},
// TODO 主键隐藏字段目前写死为ID
{
label: '',
field: 'id',
component: 'Input',
show: false
},
];
// 高级查询数据
export const superQuerySchema = {
name: {title: '课程名',order: 0,view: 'text', type: 'string',},
2025-08-07 21:29:49 +08:00
cover: {title: '封面图',order: 1,view: 'image', type: 'string',},
categoryId: {title: '所属分类',order: 2,view: 'list_multi', type: 'string',dictCode: '',},
video: {title: '介绍视频',order: 3,view: 'file', type: 'string',},
school: {title: '学校',order: 4,view: 'text', type: 'string',},
description: {title: '课程概述',order: 5,view: 'text', type: 'string',},
type: {title: '课程类型',order: 6,view: 'number', type: 'number',},
target: {title: '授课目标',order: 7,view: 'text', type: 'string',},
difficulty: {title: '课程难度',order: 8,view: 'number', type: 'number',dictCode: '',},
subject: {title: '所属专题',order: 9,view: 'list_multi', type: 'string',dictCode: '',},
outline: {title: '课程大纲',order: 10,view: 'text', type: 'string',},
prerequisite: {title: '预备知识',order: 11,view: 'text', type: 'string',},
reference: {title: '参考资料',order: 12,view: 'text', type: 'string',},
arrangement: {title: '学时安排',order: 13,view: 'text', type: 'string',},
startTime: {title: '开课时间',order: 14,view: 'datetime', type: 'string',},
endTime: {title: '结课时间',order: 15,view: 'number', type: 'number',},
enrollCount: {title: '已报名人数',order: 16,view: 'number', type: 'number',},
maxEnroll: {title: '最大报名人数',order: 17,view: 'number', type: 'number',},
status: {title: '状态',order: 18,view: 'number', type: 'number',},
question: {title: '常见问题',order: 19,view: 'umeditor', type: 'string',},
revision: {title: '乐观锁',order: 20,view: 'number', type: 'number',},
createdBy: {title: '创建人',order: 21,view: 'text', type: 'string',},
createdTime: {title: '创建时间',order: 22,view: 'datetime', type: 'string',},
updatedBy: {title: '更新人',order: 23,view: 'text', type: 'string',},
updatedTime: {title: '更新时间',order: 24,view: 'datetime', type: 'string',},
2025-08-07 17:46:48 +08:00
};
/**
* 流程表单调用这个方法获取formSchema
* @param param
*/
export function getBpmFormSchema(_formData): FormSchema[]{
// 默认和原始表单保持一致 如果流程中配置了权限数据这里需要单独处理formSchema
return formSchema;
}