|
|
@@ -15,588 +15,20 @@ import type { NewDataModel } from "@imengyu/js-request-transform";
|
|
|
import type { Ref } from "vue";
|
|
|
import { villageCommonContent } from "./data/common";
|
|
|
import { villageInfoBuildingForm } from "./data/building";
|
|
|
-import { villageInfoFolkCultureForm } from "./data/cultural";
|
|
|
+import { villageInfoCulture, villageInfoFolkCultureForm } from "./data/cultural";
|
|
|
import { villageInfoFoodProductsForm } from "./data/food";
|
|
|
+import { villageInfoOverviewForm } from "./data/overview";
|
|
|
+import { ichFormItems } from "./data/ich";
|
|
|
+import { villageInfoEnvironmentForm } from "./data/environment";
|
|
|
+
|
|
|
+export type SingleForm = [NewDataModel, (formRef: Ref<IDynamicFormRef>) => IDynamicFormOptions]
|
|
|
+export type GroupForm = Record<number, SingleForm>
|
|
|
|
|
|
-export type SingleForm = [NewDataModel, (model: Ref<IDynamicFormRef>) => IDynamicFormOptions]
|
|
|
-
|
|
|
//TODO: 关联的文化资源ID
|
|
|
|
|
|
-const villageInfoForm : Record<string, Record<number, SingleForm>> = {
|
|
|
- 'overview': {
|
|
|
- [1]: [CommonInfoModel, (form) => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- label: '村落名称',
|
|
|
- name: 'name',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入您的村落名称,例如:后埔',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村落名称',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村落编码',
|
|
|
- name: 'code',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入村落编码,例如330106',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村落编码',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村落地址',
|
|
|
- name: 'cityAddress',
|
|
|
- type: 'select-city',
|
|
|
- defaultValue: () => [],
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请点击这里选择村落地址或右侧者从地图选择',
|
|
|
- onSelectedTownship: (v: string, code: string) => {
|
|
|
- form.value.setValueByPath('township', v);
|
|
|
- form.value.setValueByPath('code', code);
|
|
|
- }
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择村落地址',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村落乡镇',
|
|
|
- name: 'township',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入村落所在乡镇',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村落所在乡镇',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村落类型',
|
|
|
- name: 'villageType',
|
|
|
- type: 'radio-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(94))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- })),
|
|
|
- } as RadioIdFieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- ]
|
|
|
- })],
|
|
|
- [2]: [VillageEnvInfo, () => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- label: '经纬度',
|
|
|
- name: 'lonlat',
|
|
|
- type: 'select-lonlat',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {},
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村落经纬度',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '海拔',
|
|
|
- name: 'altitude',
|
|
|
- type: 'number',
|
|
|
- defaultValue: 0,
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入村落海拔',
|
|
|
- min: -1000,
|
|
|
- max: 10000,
|
|
|
- step: 10,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村落海拔',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '地形地貌特征(多选)',
|
|
|
- name: 'landforms',
|
|
|
- type: 'check-box-list',
|
|
|
- additionalProps: {
|
|
|
- multiple: true,
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(97))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as CheckBoxListProps,
|
|
|
- defaultValue: [],
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村域面积(平方公里)',
|
|
|
- name: 'area',
|
|
|
- type: 'number',
|
|
|
- defaultValue: 0,
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入村域面积',
|
|
|
- min: 0,
|
|
|
- max: 10000,
|
|
|
- step: 1,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村域面积',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村庄占地面积(亩)',
|
|
|
- name: 'villageArea',
|
|
|
- type: 'number',
|
|
|
- defaultValue: 0,
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入村庄占地面积',
|
|
|
- min: 0,
|
|
|
- max: 10000,
|
|
|
- step: 1,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入村庄占地面积',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '村落形成年代',
|
|
|
- name: 'age',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(103))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- ]
|
|
|
- })],
|
|
|
- [3]: [CommonInfoModel, () => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- label: '非遗最高级别',
|
|
|
- name: 'ichLevel',
|
|
|
- type: 'select-id',
|
|
|
- defaultValue: null,
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(111))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择非遗最高级别',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '传统建筑数量',
|
|
|
- name: 'traditionalBuildings',
|
|
|
- type: 'number',
|
|
|
- defaultValue: 0,
|
|
|
- additionalProps: {
|
|
|
- min: 0,
|
|
|
- max: 10000,
|
|
|
- step: 1,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入传统建筑数量',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '列入历史文化名村级别',
|
|
|
- name: 'historyLevel',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(151))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '列入特色景观旅游名村级别',
|
|
|
- name: 'touristLevel',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(151))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '列入少数民族特色村寨试点示范',
|
|
|
- name: 'isFeaturedVillage',
|
|
|
- type: 'check-box-int',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {},
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '其他认定级别',
|
|
|
- name: 'other',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '(可选)输入村落其他认定级别',
|
|
|
- },
|
|
|
- rules: []
|
|
|
- },
|
|
|
- ]
|
|
|
- })],
|
|
|
- [4]: [CommonInfoModel, () => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- name: 'a',
|
|
|
- label: '人口与收入',
|
|
|
- type: 'flat-group',
|
|
|
- childrenColProps: { span: 24 },
|
|
|
- children: [
|
|
|
- {
|
|
|
- label: '主要民族',
|
|
|
- name: 'nationlity',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入主要民族',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入主要民族',
|
|
|
- }]
|
|
|
- },
|
|
|
- ...[
|
|
|
- {
|
|
|
- label: '户籍人口',
|
|
|
- name: 'registeredPopulation',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '常住人口',
|
|
|
- name: 'permanentPopulation',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '人均年收入',
|
|
|
- name: 'personalAnnualIncome',
|
|
|
- },
|
|
|
- {
|
|
|
- label: '集体年收入',
|
|
|
- name: 'villageAnnualIncome',
|
|
|
- },
|
|
|
- ].map((it) => ({
|
|
|
- name: '',
|
|
|
- label: it.label,
|
|
|
- type: 'flat-group',
|
|
|
- rowProps: {
|
|
|
- align: 'center',
|
|
|
- } as RowProps,
|
|
|
- children: [
|
|
|
- {
|
|
|
- label: '',
|
|
|
- name: it.name + 'Year',
|
|
|
- type: 'number',
|
|
|
- defaultValue: () => new Date().getFullYear(),
|
|
|
- additionalProps: {
|
|
|
- min: 1900,
|
|
|
- max: 2100,
|
|
|
- step: 10,
|
|
|
- },
|
|
|
- formProps: {
|
|
|
- labelWidth: '0rpx',
|
|
|
- labelPosition: 'left',
|
|
|
- showBottomBorder: false,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '',
|
|
|
- name: 'aa',
|
|
|
- type: 'static-text',
|
|
|
- additionalProps: { text: '年' },
|
|
|
- formProps: {
|
|
|
- labelWidth: '0rpx',
|
|
|
- showBottomBorder: false,
|
|
|
- },
|
|
|
- },
|
|
|
- {
|
|
|
- label: '',
|
|
|
- name: it.name,
|
|
|
- type: 'number',
|
|
|
- defaultValue: 0,
|
|
|
- additionalProps: {
|
|
|
- min: 0,
|
|
|
- step: 10,
|
|
|
- },
|
|
|
- formProps: {
|
|
|
- labelWidth: '0rpx',
|
|
|
- labelPosition: 'left',
|
|
|
- showBottomBorder: false,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入人口',
|
|
|
- }]
|
|
|
- },
|
|
|
- ]
|
|
|
- } as IDynamicFormItem)),
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- name: '',
|
|
|
- label: '主要产业',
|
|
|
- type: 'flat-group',
|
|
|
- childrenColProps: { span: 24 },
|
|
|
- children: [
|
|
|
- ...[
|
|
|
- {
|
|
|
- label: '农业',
|
|
|
- name: 'agriculture',
|
|
|
- pid: 128,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '林业',
|
|
|
- name: 'forestry',
|
|
|
- pid: 194,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '畜牧业',
|
|
|
- name: 'animal',
|
|
|
- pid: 200,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '渔业',
|
|
|
- name: 'fishing',
|
|
|
- pid: 205,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '制造业(含手工)',
|
|
|
- name: 'manufacturing',
|
|
|
- pid: 208,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '建筑业',
|
|
|
- name: 'construction',
|
|
|
- pid: 227,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '批发和零售业',
|
|
|
- name: 'retail',
|
|
|
- pid: 230,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '服务业',
|
|
|
- name: 'service',
|
|
|
- pid: 233,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '其他',
|
|
|
- name: 'otherIndustries',
|
|
|
- pid: 238,
|
|
|
- },
|
|
|
- ].map((it) => ({
|
|
|
- label: it.label,
|
|
|
- name: it.name,
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(it.pid))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [],
|
|
|
- })),
|
|
|
- {
|
|
|
- label: '其他服务业',
|
|
|
- name: 'otherService',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '(可选)输入其他服务业',
|
|
|
- },
|
|
|
- rules: []
|
|
|
- },
|
|
|
- {
|
|
|
- label: '其他农业',
|
|
|
- name: 'otherAgriculture',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '(可选)输入其他农业',
|
|
|
- },
|
|
|
- rules: []
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- ]
|
|
|
- })],
|
|
|
- [5]: [CommonInfoModel, () => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- name: '',
|
|
|
- type: 'flat-group',
|
|
|
- childrenColProps: { span: 24 },
|
|
|
- children: [
|
|
|
- {
|
|
|
- label: '概括',
|
|
|
- name: 'overview',
|
|
|
- type: 'richtext',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入村落整体概括信息',
|
|
|
- maxLength: 300,
|
|
|
- showWordLimit: true,
|
|
|
- } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入概括',
|
|
|
- }]
|
|
|
- }
|
|
|
- ]
|
|
|
- },
|
|
|
- {
|
|
|
- name: '',
|
|
|
- type: 'flat-group',
|
|
|
- childrenColProps: { span: 24 },
|
|
|
- children: [
|
|
|
- {
|
|
|
- label: '相关视频(可选)',
|
|
|
- name: 'video',
|
|
|
- type: 'uploader',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- upload: useAliOssUploadCo('xiangyuan/cultural/video'),
|
|
|
- chooseType: 'video',
|
|
|
- maxFileSize: 1024 * 1024 * 20,
|
|
|
- single: true,
|
|
|
- } as UploaderFieldProps,
|
|
|
- },
|
|
|
- ]
|
|
|
- },
|
|
|
- ]
|
|
|
- })],
|
|
|
- },
|
|
|
- 'cultural': {
|
|
|
- [1]: [CommonInfoModel, villageCommonContent],
|
|
|
- [2]: [CommonInfoModel, villageCommonContent],
|
|
|
- [3]: [CommonInfoModel, (m) => ({
|
|
|
- formItems: [
|
|
|
- ...(villageCommonContent(m).formItems.slice(0, 1)),
|
|
|
- {
|
|
|
- label: '扫描件或图片',
|
|
|
- name: 'images',
|
|
|
- type: 'uploader',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- upload: useAliOssUploadCo('xiangyuan/cultural/scan'),
|
|
|
- maxFileSize: 1024 * 1024 * 20,
|
|
|
- maxUploadCount: 20,
|
|
|
- } as UploaderFieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请上传扫描件或图片',
|
|
|
- }]
|
|
|
- },
|
|
|
- ],
|
|
|
- })],
|
|
|
- [4]: [CommonInfoModel, (m) => ({
|
|
|
- formItems: [
|
|
|
- ...villageCommonContent(m).formItems.slice(0, 1),
|
|
|
- {
|
|
|
- label: '口述历史视频/录音',
|
|
|
- name: 'video',
|
|
|
- type: 'uploader',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- upload: useAliOssUploadCo('xiangyuan/cultural/video'),
|
|
|
- chooseType: 'video',
|
|
|
- maxFileSize: 1024 * 1024 * 20,
|
|
|
- single: true,
|
|
|
- } as UploaderFieldProps,
|
|
|
- formProps: {
|
|
|
- extraMessage: '您可以上传已经录制好的口述历史视频/录音,也可以点击下方按钮录制新的音频。但小程序中录音时长最长10分钟,如需更长时间,请使用系统相机拍摄。',
|
|
|
- } as FieldProps,
|
|
|
- },
|
|
|
- {
|
|
|
- label: '',
|
|
|
- name: 'video1',
|
|
|
- type: 'recorder',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- onRecordDone: (path: string) => {
|
|
|
- (m.value.getFormItemControlRef<UploaderFieldInstance>('video')?.getUploaderRef() as UploaderInstance).addItemAndUpload({
|
|
|
- filePath: path,
|
|
|
- state: 'notstart',
|
|
|
- });
|
|
|
- }
|
|
|
- },
|
|
|
- },
|
|
|
- ],
|
|
|
- })],
|
|
|
- },
|
|
|
+const villageInfoForm : Record<string, GroupForm> = {
|
|
|
+ 'overview': villageInfoOverviewForm,
|
|
|
+ 'cultural': villageInfoCulture,
|
|
|
'story': {
|
|
|
[0]: [CommonInfoModel, () => ({
|
|
|
formItems: [
|
|
|
@@ -829,96 +261,7 @@ const villageInfoForm : Record<string, Record<number, SingleForm>> = {
|
|
|
})]
|
|
|
},
|
|
|
'environment': {
|
|
|
- [0]: [CommonInfoModel, () => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- label: '名称',
|
|
|
- name: 'name',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入名称',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入名称',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '自然环境',
|
|
|
- name: 'natural',
|
|
|
- type: 'richtext',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入自然环境',
|
|
|
- maxLength: 200,
|
|
|
- showWordLimit: true,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入自然环境',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '选址',
|
|
|
- name: 'siteSelection',
|
|
|
- type: 'richtext',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入选址',
|
|
|
- maxLength: 200,
|
|
|
- showWordLimit: true,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入选址',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '格局',
|
|
|
- name: 'structure',
|
|
|
- type: 'richtext',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入格局',
|
|
|
- maxLength: 200,
|
|
|
- showWordLimit: true,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入格局',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '整体风貌',
|
|
|
- name: 'overallStyle',
|
|
|
- type: 'richtext',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入整体风貌',
|
|
|
- maxLength: 200,
|
|
|
- showWordLimit: true,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入整体风貌',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '农业遗产',
|
|
|
- name: 'agriculturalHeritage',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入农业遗产',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入农业遗产',
|
|
|
- }]
|
|
|
- },
|
|
|
- ]
|
|
|
- })]
|
|
|
+ [0]: villageInfoEnvironmentForm
|
|
|
},
|
|
|
'building': {
|
|
|
[1]: villageInfoBuildingForm,
|
|
|
@@ -1197,224 +540,14 @@ const villageInfoForm : Record<string, Record<number, SingleForm>> = {
|
|
|
})],
|
|
|
},
|
|
|
'folk_culture': {
|
|
|
- [1]: villageInfoFolkCultureForm,
|
|
|
- [2]: villageInfoFolkCultureForm,
|
|
|
- [3]: villageInfoFolkCultureForm,
|
|
|
- [4]: villageInfoFolkCultureForm,
|
|
|
- [5]: villageInfoFolkCultureForm,
|
|
|
+ [1]: villageInfoFolkCultureForm('节庆活动'),
|
|
|
+ [2]: villageInfoFolkCultureForm('祭祀崇礼'),
|
|
|
+ [3]: villageInfoFolkCultureForm('婚丧嫁娶'),
|
|
|
+ [4]: villageInfoFolkCultureForm('地方方言'),
|
|
|
+ [5]: villageInfoFolkCultureForm('特色文化'),
|
|
|
},
|
|
|
'ich': {
|
|
|
- [0]: [CommonInfoModel, () => ({
|
|
|
- formItems: [
|
|
|
- {
|
|
|
- label: '名称及管理编号',
|
|
|
- name: 'name',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入名称',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入名称',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '编号',
|
|
|
- name: 'code',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入编号',
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入编号',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '文化资源关联内容ID',
|
|
|
- name: 'inheritor',
|
|
|
- type: 'text',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '输入文化资源关联内容ID',
|
|
|
- },
|
|
|
- rules: []
|
|
|
- },
|
|
|
- {
|
|
|
- label: '级别',
|
|
|
- name: 'ichLevel',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(111))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择级别',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '类型',
|
|
|
- name: 'ichType',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(4))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择类型',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '是否确定传承人',
|
|
|
- name: 'isInheritor',
|
|
|
- type: 'check-box-int',
|
|
|
- defaultValue: 0,
|
|
|
- additionalProps: {
|
|
|
- text: '是',
|
|
|
- } as CheckBoxToIntProps ,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择是否确定传承人',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '传承人情况',
|
|
|
- name: 'inheritor',
|
|
|
- type: 'richtext',
|
|
|
- defaultValue: '',
|
|
|
- additionalProps: {
|
|
|
- placeholder: '请输入传承人情况',
|
|
|
- maxLength: 200,
|
|
|
- showWordLimit: true,
|
|
|
- },
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请输入输入传承人情况',
|
|
|
- }]
|
|
|
- },
|
|
|
- {
|
|
|
- label: '项目续存情况',
|
|
|
- name: 'ichExistenceStatus',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(120))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择项目续存情况',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '与村落依存程度',
|
|
|
- name: 'ichDependenceDegree',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(124))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择与村落依存程度',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '活动规模',
|
|
|
- name: 'activityScale',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(142))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择活动规模',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '传承时间',
|
|
|
- name: 'inheritanceTime',
|
|
|
- type: 'select-id',
|
|
|
- additionalProps: {
|
|
|
- loadData: async () =>
|
|
|
- (await VillageInfoApi.getCategoryChildList(147))
|
|
|
- .map((p) => ({
|
|
|
- value: p.id,
|
|
|
- text: p.title,
|
|
|
- }))
|
|
|
- ,
|
|
|
- } as PickerIdFieldProps,
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择传承时间',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '具体传承时间',
|
|
|
- name: 'otherInheritanceTime',
|
|
|
- type: 'datetime',
|
|
|
- show: { callback(model, rawModel) {
|
|
|
- return (rawModel.inheritanceTime === 150);
|
|
|
- } },
|
|
|
- additionalProps: {
|
|
|
- type: 'datetime',
|
|
|
- },
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择具体传承时间',
|
|
|
- }],
|
|
|
- },
|
|
|
- {
|
|
|
- label: '加入时间',
|
|
|
- name: 'joinAt',
|
|
|
- type: 'datetime',
|
|
|
- additionalProps: {
|
|
|
- type: 'datetime',
|
|
|
- },
|
|
|
- formProps: { showRightArrow: true } as FieldProps,
|
|
|
- rules: [{
|
|
|
- required: true,
|
|
|
- message: '请选择加入时间',
|
|
|
- }],
|
|
|
- },
|
|
|
- ]
|
|
|
- })],
|
|
|
+ [0]: ichFormItems,
|
|
|
},
|
|
|
'travel_guide': {
|
|
|
[0]: [CommonInfoModel, () => ({
|