|
|
@@ -1,29 +1,56 @@
|
|
|
-import { FormItemSchema, useForm } from '@/components/form'
|
|
|
+import { FormItemSchema } from '@/components/form'
|
|
|
+import { FormRules } from 'element-plus'
|
|
|
|
|
|
const options = ref([
|
|
|
- { label: '选项一', value: '1' },
|
|
|
- { label: '选项二', value: '2' },
|
|
|
- { label: '选项三', value: '3' }
|
|
|
+ { label: '选项一', value: 1 },
|
|
|
+ { label: '选项二', value: 2 },
|
|
|
+ { label: '选项三', value: 3 }
|
|
|
])
|
|
|
-const schema: FormItemSchema[] = [
|
|
|
+export const rules: FormRules = {
|
|
|
+ courseName: [{ required: true, message: '请输入课程名称', trigger: ['blur'] }],
|
|
|
+ courseDesc: [{ required: true, message: '请输入课程描述', trigger: ['blur'] }],
|
|
|
+ totalDuration: [
|
|
|
+ { required: true, message: '请输入课程时长', trigger: ['blur'] },
|
|
|
+ { type: 'number', message: '请输入数字', trigger: ['blur'] },
|
|
|
+ { min: 1, message: '请输入大于等于1的数字', trigger: ['blur'] }
|
|
|
+ ]
|
|
|
+}
|
|
|
+export const schema: FormItemSchema[] = [
|
|
|
// 课程基本信息
|
|
|
{ prop: '', label: '', labelWidth: '0px', component: 'Divider', colSpan: 24, componentProps: { title: '课程基本信息' } },
|
|
|
- { prop: 'courseID', label: '课程ID', component: 'Divider', colSpan: 6 },
|
|
|
{ prop: 'courseName', label: '课程名称', component: 'Input', colSpan: 6 },
|
|
|
- { prop: 'totalDuration', label: '课程时长', component: 'InputNumber', colSpan: 6, componentProps: { style: { width: '100%' } } },
|
|
|
+ { prop: 'totalDuration', label: '课程时长', component: 'InputNumber', colSpan: 6, componentProps: { style: { width: '100%' } }, defaultValue: 30 },
|
|
|
{ prop: 'typeID', label: '分类ID', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
+ { prop: 'externalTypeID', label: '外部分类ID', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
{ prop: 'courseDesc', label: '课程描述', component: 'Input', colSpan: 12 },
|
|
|
+ { prop: 'lineNo', label: '线路号', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
+ { prop: 'runningMap', label: '运行图', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
+ { prop: 'guideDesc', label: '指导描述', component: 'Input', colSpan: 12 },
|
|
|
+ { prop: 'guideFilePath', label: '指导文件地址', component: 'Upload', colSpan: 12 },
|
|
|
+ // 课程运行流程
|
|
|
+ { prop: '', label: '', labelWidth: '0px', component: 'Divider', colSpan: 24, componentProps: { title: '课程运行流程' } },
|
|
|
+ { prop: 'courseDataStream', labelWidth: '0px', label: '', component: 'Input', colSpan: 24 },
|
|
|
+ // 电子考评
|
|
|
+ { prop: '', label: '', labelWidth: '0px', component: 'Divider', colSpan: 24, componentProps: { title: '电子考评' } },
|
|
|
+ { prop: 'evaluate', label: '电子考评', component: 'Input', colSpan: 24 }
|
|
|
+]
|
|
|
+export const courseSchema: FormItemSchema[] = [
|
|
|
+ // 课程基本信息
|
|
|
+ { prop: '', label: '', labelWidth: '0px', component: 'Divider', colSpan: 24, componentProps: { title: '课程基本信息' } },
|
|
|
+ { prop: 'courseID', label: '课程ID', component: 'Span', colSpan: 6 },
|
|
|
+ { prop: 'courseGUID', label: '课程GUID', component: 'Span', colSpan: 6 },
|
|
|
+ { prop: 'courseName', label: '课程名称', component: 'Input', colSpan: 6 },
|
|
|
+ { prop: 'totalDuration', label: '课程时长', component: 'InputNumber', colSpan: 6, componentProps: { style: { width: '100%' } }, defaultValue: 30 },
|
|
|
+ { prop: 'courseDesc', label: '课程描述', component: 'Input', colSpan: 24 },
|
|
|
+ { prop: 'typeID', label: '分类ID', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
{ prop: 'externalTypeID', label: '外部分类ID', component: 'Input', colSpan: 6 },
|
|
|
- { prop: 'courseGUID', label: '课程GUID', component: 'Divider', colSpan: 6 },
|
|
|
{ prop: 'lineNo', label: '线路号', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
{ prop: 'runningMap', label: '运行图', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
- // { prop: 'virtualRole', label: '虚拟角色', component: 'Select', colSpan: 6, defaultValue: '1', componentProps: { options: options.value, clearable: true } },
|
|
|
- // { prop: 'virtualStartTime', label: '虚拟起始时间', component: 'Input', colSpan: 6 },
|
|
|
{ prop: 'guideDesc', label: '指导描述', component: 'Input', colSpan: 12 },
|
|
|
{ prop: 'guideFilePath', label: '指导文件地址', component: 'Upload', colSpan: 12 },
|
|
|
- { prop: 'creator', label: '创建人', component: 'Divider', colSpan: 8 },
|
|
|
- { prop: 'createTime', label: '创建时间', component: 'Divider', colSpan: 8 },
|
|
|
- { prop: 'modifyTime', label: '修改时间', component: 'Divider', colSpan: 8 },
|
|
|
+ { prop: 'creator', label: '创建人', component: 'Span', colSpan: 6 },
|
|
|
+ { prop: 'createTime', label: '创建时间', component: 'Span', colSpan: 6 },
|
|
|
+ { prop: 'modifyTime', label: '修改时间', component: 'Span', colSpan: 6 },
|
|
|
// 课程运行流程
|
|
|
{ prop: '', label: '', labelWidth: '0px', component: 'Divider', colSpan: 24, componentProps: { title: '课程运行流程' } },
|
|
|
{ prop: 'courseDataStream', labelWidth: '0px', label: '', component: 'Input', colSpan: 24 },
|
|
|
@@ -31,4 +58,3 @@ const schema: FormItemSchema[] = [
|
|
|
{ prop: '', label: '', labelWidth: '0px', component: 'Divider', colSpan: 24, componentProps: { title: '电子考评' } },
|
|
|
{ prop: 'evaluate', label: '电子考评', component: 'Input', colSpan: 24 }
|
|
|
]
|
|
|
-export const [BasicForm] = useForm({ labelPosition: 'right', labelWidth: '150px', schema: schema })
|