2025-08-31 11:55:37 +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'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '封面图',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'cover',
|
|
|
|
|
customRender:render.renderImage,
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '介绍视频',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'video',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '学校',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'school'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '课程概述',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'description',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '课程类型',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'type_dictText'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
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'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '常见问题',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'question',
|
|
|
|
|
},
|
2025-09-02 03:00:23 +08:00
|
|
|
|
{
|
|
|
|
|
title: '是否ai伴学模式',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'izAi'
|
|
|
|
|
},
|
2025-09-11 09:07:05 +08:00
|
|
|
|
{
|
|
|
|
|
title: '离开页面是否暂停视频播放',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'pauseExit'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '是否允许倍速播放',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'allowSpeed'
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
title: '是否显示字幕',
|
|
|
|
|
align:"center",
|
|
|
|
|
dataIndex: 'showSubtitle'
|
|
|
|
|
},
|
2025-08-31 11:55:37 +08:00
|
|
|
|
];
|
|
|
|
|
//查询数据
|
|
|
|
|
export const searchFormSchema: FormSchema[] = [
|
|
|
|
|
];
|
|
|
|
|
//表单数据
|
|
|
|
|
export const formSchema: FormSchema[] = [
|
|
|
|
|
{
|
|
|
|
|
label: '课程名',
|
|
|
|
|
field: 'name',
|
|
|
|
|
component: 'Input',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '封面图',
|
|
|
|
|
field: 'cover',
|
|
|
|
|
component: 'JImageUpload',
|
|
|
|
|
componentProps:{
|
|
|
|
|
fileMax: 0
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '介绍视频',
|
|
|
|
|
field: 'video',
|
|
|
|
|
component: 'JUpload',
|
|
|
|
|
componentProps:{
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '学校',
|
|
|
|
|
field: 'school',
|
|
|
|
|
component: 'Input',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '课程概述',
|
|
|
|
|
field: 'description',
|
|
|
|
|
component: 'JEditor',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '课程类型',
|
|
|
|
|
field: 'type',
|
|
|
|
|
component: 'JDictSelectTag',
|
|
|
|
|
componentProps:{
|
|
|
|
|
dictCode:"course_type",
|
|
|
|
|
type: "radio"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '授课目标',
|
|
|
|
|
field: 'target',
|
|
|
|
|
component: 'Input',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '课程难度',
|
|
|
|
|
field: 'difficulty',
|
|
|
|
|
component: 'JDictSelectTag',
|
|
|
|
|
componentProps:{
|
|
|
|
|
dictCode:"course_difficulty"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '所属专题',
|
|
|
|
|
field: 'subject',
|
|
|
|
|
component: 'JSelectMultiple',
|
|
|
|
|
componentProps:{
|
|
|
|
|
dictCode:"course_subject"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '课程大纲',
|
|
|
|
|
field: 'outline',
|
|
|
|
|
component: 'JEditor',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
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'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '结课时间',
|
|
|
|
|
field: 'endTime',
|
|
|
|
|
component: 'DatePicker',
|
|
|
|
|
componentProps: {
|
|
|
|
|
showTime: true,
|
|
|
|
|
valueFormat: 'YYYY-MM-DD HH:mm:ss'
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '已报名人数',
|
|
|
|
|
field: 'enrollCount',
|
|
|
|
|
component: 'InputNumber',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '最大报名人数',
|
|
|
|
|
field: 'maxEnroll',
|
|
|
|
|
component: 'InputNumber',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '状态',
|
|
|
|
|
field: 'status',
|
|
|
|
|
component: 'JDictSelectTag',
|
|
|
|
|
componentProps:{
|
|
|
|
|
dictCode:"course_status",
|
|
|
|
|
type: "radio"
|
|
|
|
|
},
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '常见问题',
|
|
|
|
|
field: 'question',
|
|
|
|
|
component: 'JEditor',
|
2025-09-02 03:00:23 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '是否ai伴学模式',
|
|
|
|
|
field: 'izAi',
|
|
|
|
|
component: 'InputNumber',
|
2025-09-11 09:07:05 +08:00
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '离开页面是否暂停视频播放',
|
|
|
|
|
field: 'pauseExit',
|
|
|
|
|
component: 'InputNumber',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '是否允许倍速播放',
|
|
|
|
|
field: 'allowSpeed',
|
|
|
|
|
component: 'InputNumber',
|
|
|
|
|
},
|
|
|
|
|
{
|
|
|
|
|
label: '是否显示字幕',
|
|
|
|
|
field: 'showSubtitle',
|
|
|
|
|
component: 'InputNumber',
|
2025-08-31 11:55:37 +08:00
|
|
|
|
},
|
|
|
|
|
// TODO 主键隐藏字段,目前写死为ID
|
|
|
|
|
{
|
|
|
|
|
label: '',
|
|
|
|
|
field: 'id',
|
|
|
|
|
component: 'Input',
|
|
|
|
|
show: false
|
|
|
|
|
},
|
|
|
|
|
];
|
|
|
|
|
|
|
|
|
|
// 高级查询数据
|
|
|
|
|
export const superQuerySchema = {
|
|
|
|
|
name: {title: '课程名',order: 0,view: 'text', type: 'string',},
|
|
|
|
|
cover: {title: '封面图',order: 1,view: 'image', type: 'string',},
|
|
|
|
|
video: {title: '介绍视频',order: 2,view: 'file', type: 'string',},
|
|
|
|
|
school: {title: '学校',order: 3,view: 'text', type: 'string',},
|
|
|
|
|
description: {title: '课程概述',order: 4,view: 'umeditor', type: 'string',},
|
|
|
|
|
type: {title: '课程类型',order: 5,view: 'number', type: 'number',dictCode: 'course_type',},
|
|
|
|
|
target: {title: '授课目标',order: 6,view: 'text', type: 'string',},
|
|
|
|
|
difficulty: {title: '课程难度',order: 7,view: 'number', type: 'number',dictCode: 'course_difficulty',},
|
|
|
|
|
subject: {title: '所属专题',order: 8,view: 'list_multi', type: 'string',dictCode: 'course_subject',},
|
|
|
|
|
outline: {title: '课程大纲',order: 9,view: 'umeditor', type: 'string',},
|
|
|
|
|
prerequisite: {title: '预备知识',order: 10,view: 'text', type: 'string',},
|
|
|
|
|
reference: {title: '参考资料',order: 11,view: 'text', type: 'string',},
|
|
|
|
|
arrangement: {title: '学时安排',order: 12,view: 'text', type: 'string',},
|
|
|
|
|
startTime: {title: '开课时间',order: 13,view: 'datetime', type: 'string',},
|
|
|
|
|
endTime: {title: '结课时间',order: 14,view: 'datetime', type: 'string',},
|
|
|
|
|
enrollCount: {title: '已报名人数',order: 15,view: 'number', type: 'number',},
|
|
|
|
|
maxEnroll: {title: '最大报名人数',order: 16,view: 'number', type: 'number',},
|
|
|
|
|
status: {title: '状态',order: 17,view: 'number', type: 'number',dictCode: 'course_status',},
|
|
|
|
|
question: {title: '常见问题',order: 18,view: 'umeditor', type: 'string',},
|
2025-09-02 03:00:23 +08:00
|
|
|
|
izAi: {title: '是否ai伴学模式',order: 19,view: 'number', type: 'number',},
|
2025-09-11 09:07:05 +08:00
|
|
|
|
pauseExit: {title: '离开页面是否暂停视频播放',order: 20,view: 'number', type: 'number',},
|
|
|
|
|
allowSpeed: {title: '是否允许倍速播放',order: 21,view: 'number', type: 'number',},
|
|
|
|
|
showSubtitle: {title: '是否显示字幕',order: 22,view: 'number', type: 'number',},
|
2025-08-31 11:55:37 +08:00
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
/**
|
|
|
|
|
* 流程表单调用这个方法获取formSchema
|
|
|
|
|
* @param param
|
|
|
|
|
*/
|
|
|
|
|
export function getBpmFormSchema(_formData): FormSchema[]{
|
|
|
|
|
// 默认和原始表单保持一致 如果流程中配置了权限数据,这里需要单独处理formSchema
|
|
|
|
|
return formSchema;
|
|
|
|
|
}
|