|
@@ -1,10 +1,11 @@
|
|
|
<template>
|
|
|
- <!-- 非遗基础表单 -->
|
|
|
+ <!-- 非遗基础表单
|
|
|
+ :extendFormModel="formExtendModel"
|
|
|
+ :extendFormOptions="formExtendOptions"-->
|
|
|
<Form
|
|
|
+ ref="formRef"
|
|
|
:formModel="formModel"
|
|
|
:formOptions="formOptions"
|
|
|
- :extendFormModel="formExtendModel"
|
|
|
- :extendFormOptions="formExtendOptions"
|
|
|
:load="loadData"
|
|
|
/>
|
|
|
</template>
|
|
@@ -15,10 +16,12 @@ import { useImageSimpleUploadCo } from '@/common/upload/ImageUploadCo';
|
|
|
import Form from './form.vue';
|
|
|
import InheritorContent, { IchExpandInfo, IchInfo } from '@/api/inheritor/InheritorContent';
|
|
|
import CommonContent from '@/api/CommonContent';
|
|
|
-import type { IDynamicFormOptions } from '@imengyu/vue-dynamic-form';
|
|
|
+import type { IDynamicFormOptions, IDynamicFormRef } from '@imengyu/vue-dynamic-form';
|
|
|
import type { SelectProps } from 'ant-design-vue';
|
|
|
import type { UploadImageFormItemProps } from '@/components/dynamicf/UploadImageFormItem';
|
|
|
+import type { AddressItem } from '@/components/dynamicf/Map/AddressSercher.vue';
|
|
|
|
|
|
+const formRef = ref();
|
|
|
const formModel = ref(new IchInfo()) as Ref<IchInfo>;
|
|
|
const formOptions = ref<IDynamicFormOptions>({
|
|
|
formLabelCol: { span: 6 },
|
|
@@ -30,22 +33,27 @@ const formOptions = ref<IDynamicFormOptions>({
|
|
|
formNestNameGenerateType: 'array',
|
|
|
formItems: [
|
|
|
{
|
|
|
- type: 'group-flat', label: '非遗信息', name: 'ichInfo',
|
|
|
+ type: 'group-flat', label: '非遗基础档案', name: 'ichInfo',
|
|
|
childrenColProps: { span: 24 },
|
|
|
children: [
|
|
|
{
|
|
|
- label: '标题', name: 'title', type: 'text',
|
|
|
- additionalProps: { placeholder: '请输入标题' },
|
|
|
+ label: '非遗项目名称', name: 'title', type: 'text',
|
|
|
+ disabled: true,
|
|
|
+ additionalProps: {
|
|
|
+ placeholder: '请输入标题',
|
|
|
+ },
|
|
|
},
|
|
|
{
|
|
|
label: '级别', name: 'level', type: 'select-id',
|
|
|
+ disabled: true,
|
|
|
additionalProps: {
|
|
|
placeholder: '请选择级别',
|
|
|
loadData: async () => (await CommonContent.getCategoryList(2)).map(p => ({ label: p.title, value: p.id, raw: p }))
|
|
|
},
|
|
|
},
|
|
|
{
|
|
|
- label: '非遗类型', name: 'ichType', type: 'select-id',
|
|
|
+ label: '非遗分类', name: 'ichType', type: 'select-id',
|
|
|
+ disabled: true,
|
|
|
additionalProps: {
|
|
|
placeholder: '请选择非遗类型',
|
|
|
loadData: async () => (await CommonContent.getCategoryList(4)).map(p => ({ label: p.title, value: p.id, raw: p }))
|
|
@@ -53,15 +61,30 @@ const formOptions = ref<IDynamicFormOptions>({
|
|
|
},
|
|
|
{
|
|
|
label: '批次', name: 'batch', type: 'select-id',
|
|
|
+ disabled: true,
|
|
|
additionalProps: {
|
|
|
placeholder: '请选择批次',
|
|
|
loadData: async () => (await CommonContent.getCategoryList(289)).map(p => ({ label: p.title, value: p.id, raw: p }))
|
|
|
},
|
|
|
},
|
|
|
- { label: '简介', name: 'intro', type: 'richtext', additionalProps: { placeholder: '请输入简介' } },
|
|
|
- { label: '项目描述', name: 'description', type: 'richtext', additionalProps: { placeholder: '请输入项目描述' } },
|
|
|
- { label: '传承值', name: 'heritage', type: 'text', additionalProps: { placeholder: '请输入传承值' } },
|
|
|
+ { label: '申报区域', name: 'declarationRegion', type: 'text', disabled: true, additionalProps: { placeholder: '请输入申报地区' } },
|
|
|
|
|
|
+ { label: '非遗项目简介', name: 'intro', type: 'richtext', additionalProps: { placeholder: '请输入简介' } },
|
|
|
+ { label: '传承谱系', name: 'pedigree', type: 'richtext', additionalProps: { placeholder: '请输入传承谱系' } },
|
|
|
+ //{ label: '非遗详细描述', name: 'description', type: 'richtext', additionalProps: { placeholder: '请输入项目描述' } },
|
|
|
+ //{ label: '传承值', name: 'heritage', type: 'text', additionalProps: { placeholder: '请输入传承值' } },
|
|
|
+
|
|
|
+ {
|
|
|
+ label: '保护单位地址', name: 'address', type: 'address-sercher',
|
|
|
+ additionalProps: { placeholder: '请输入地址' },
|
|
|
+ additionalEvents: {
|
|
|
+ choosedAddress: (address: AddressItem) => {
|
|
|
+ ((formRef.value?.getFormRef() as IDynamicFormRef).getFormItemControlRef('lonlat') as any).moveTo([
|
|
|
+ address.lng, address.lat
|
|
|
+ ], 20)
|
|
|
+ },
|
|
|
+ }
|
|
|
+ },
|
|
|
{ label: '地图坐标', name: 'lonlat', type: 'map-pick-point' },
|
|
|
|
|
|
{
|
|
@@ -72,51 +95,47 @@ const formOptions = ref<IDynamicFormOptions>({
|
|
|
{ label: '平面坐标Y', name: 'mapY', type: 'number', additionalProps: { placeholder: '请输入平面坐标Y' } },
|
|
|
]
|
|
|
},
|
|
|
- { label: '保护单位', name: 'unit', type: 'text', additionalProps: { placeholder: '请输入保护单位' } },
|
|
|
- { label: '地址', name: 'address', type: 'text', additionalProps: { placeholder: '请输入地址' } },
|
|
|
- { label: '非遗编号', name: 'code', type: 'text', additionalProps: { placeholder: '请输入非遗编号' } },
|
|
|
- { label: '申报地区', name: 'declarationRegion', type: 'text', additionalProps: { placeholder: '请输入申报地区' } },
|
|
|
- { label: '流行地区', name: 'popularRegion', type: 'text', additionalProps: { placeholder: '请输入流行地区' } },
|
|
|
- { label: '批准时间', name: 'approveTime', type: 'text', additionalProps: { placeholder: '请输入批准时间' } },
|
|
|
+ { label: '保护单位(多个保护单位请用逗号隔开)', name: 'unit', type: 'text', additionalProps: { placeholder: '请输入保护单位' } },
|
|
|
+ //{ label: '非遗编号', name: 'code', type: 'text', additionalProps: { placeholder: '请输入非遗编号' } },
|
|
|
+ //{ label: '流行地区', name: 'popularRegion', type: 'text', additionalProps: { placeholder: '请输入流行地区' } },
|
|
|
+ //{ label: '批准时间', name: 'approveTime', type: 'text', additionalProps: { placeholder: '请输入批准时间' } },
|
|
|
{
|
|
|
- type: 'array-object', label: '代表性图片', name: 'typicalImages',
|
|
|
+ label: '非遗项目相关图片', name: 'images', type: 'mulit-image',
|
|
|
+ hidden: { callback: (_, model) => (model as IchInfo).type !== 4 },
|
|
|
formProps: {
|
|
|
- center: false,
|
|
|
+ extra: '建议分辨率:1920*1080以上',
|
|
|
},
|
|
|
additionalProps: {
|
|
|
- direction: 'horizontal'
|
|
|
- },
|
|
|
- newChildrenObject: (arrayNow) => ({
|
|
|
- desc: `代表性图片${arrayNow.length+1}`,
|
|
|
- url: '',
|
|
|
- from: '',
|
|
|
- mobile: '',
|
|
|
- }),
|
|
|
- children: [
|
|
|
- { type: 'text', label: '来源', name: 'from', additionalProps: { placeholder: '请输入来源' } },
|
|
|
- { type: 'text', label: '联系方式', name: 'mobile', additionalProps: { placeholder: '请输入联系方式' } },
|
|
|
- { type: 'text', label: '说明', name: 'desc', additionalProps: { placeholder: '请输入说明' } },
|
|
|
- {
|
|
|
- label: '图片', name: 'url', type: 'single-image',
|
|
|
- additionalProps: {
|
|
|
- name: 'file',
|
|
|
- placeholder: '请上传图片',
|
|
|
- uploadCo: useImageSimpleUploadCo(),
|
|
|
- } as UploadImageFormItemProps,
|
|
|
- },
|
|
|
- ]
|
|
|
+ placeholder: '请上传图片',
|
|
|
+ maxCount: 20,
|
|
|
+ name: 'file',
|
|
|
+ uploadCo: useImageSimpleUploadCo(),
|
|
|
+ } as UploadImageFormItemProps,
|
|
|
},
|
|
|
{
|
|
|
- label: '展厅图片', name: 'ztImage', type: 'single-image',
|
|
|
+ label: '视频', name: 'video', type: 'single-video',
|
|
|
+ //hidden: { callback: (_, model) => (model as IchInfo).type !== 3 },
|
|
|
additionalProps: {
|
|
|
+ placeholder: '请上传视频',
|
|
|
name: 'file',
|
|
|
- placeholder: '请上传展厅图片',
|
|
|
- uploadCo: useImageSimpleUploadCo(),
|
|
|
- } as UploadImageFormItemProps,
|
|
|
+ uploadCo: useImageSimpleUploadCo()
|
|
|
+ } as UploadImageFormItemProps,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '审核人员', name: 'text1', type: 'static-text',
|
|
|
+ additionalProps: {
|
|
|
+ text: '黄念旭,李向群,卢志明',
|
|
|
+ }
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '审核状态', name: 'text2', type: 'static-text',
|
|
|
+ additionalProps: {
|
|
|
+ text: '暂未审核',
|
|
|
+ }
|
|
|
},
|
|
|
]
|
|
|
},
|
|
|
- {
|
|
|
+ /* {
|
|
|
type: 'group-flat', label: '通用信息', name: 'commonInfo',
|
|
|
childrenColProps: { span: 24 },
|
|
|
children: [
|
|
@@ -139,18 +158,7 @@ const formOptions = ref<IDynamicFormOptions>({
|
|
|
{ text: '数字档案', value: 5 }]
|
|
|
},
|
|
|
},
|
|
|
- {
|
|
|
- label: '图片', name: 'image', type: 'single-image',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请上传图片',
|
|
|
- name: 'file',
|
|
|
- uploadCo: useImageSimpleUploadCo()
|
|
|
- } as UploadImageFormItemProps,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '图片说明', name: 'imageDesc', type: 'text',
|
|
|
- additionalProps: { placeholder: '请输入图片说明' }
|
|
|
- },
|
|
|
+
|
|
|
{
|
|
|
label: '转自', name: 'from', type: 'text',
|
|
|
additionalProps: { placeholder: '请输入来源' },
|
|
@@ -175,15 +183,6 @@ const formOptions = ref<IDynamicFormOptions>({
|
|
|
} as UploadImageFormItemProps,
|
|
|
},
|
|
|
{
|
|
|
- label: '视频', name: 'video', type: 'single-video',
|
|
|
- hidden: { callback: (_, model) => (model as IchInfo).type !== 3 },
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请上传视频',
|
|
|
- name: 'file',
|
|
|
- uploadCo: useImageSimpleUploadCo()
|
|
|
- } as UploadImageFormItemProps,
|
|
|
- },
|
|
|
- {
|
|
|
label: '数字档案', name: 'archives', type: 'mulit-image',
|
|
|
hidden: { callback: (_, model) => (model as IchInfo).type !== 5 },
|
|
|
additionalProps: {
|
|
@@ -226,7 +225,7 @@ const formOptions = ref<IDynamicFormOptions>({
|
|
|
additionalProps: { placeholder: '请输入备注' },
|
|
|
},
|
|
|
]
|
|
|
- },
|
|
|
+ }, */
|
|
|
],
|
|
|
formRules: {
|
|
|
title: [{ required: true, message: '请输入标题' }],
|