|
|
@@ -1,12 +1,14 @@
|
|
|
import VillageInfoApi, { CommonInfoModel, VillageBulidingInfo } from "@/api/inhert/VillageInfoApi";
|
|
|
import type { GroupForm, SingleForm } from "../forms";
|
|
|
-import type { IDynamicFormItemCallbackAdditionalProps } from "@/components/dynamic";
|
|
|
+import type { IDynamicFormItemCallback, IDynamicFormItemCallbackAdditionalProps } from "@/components/dynamic";
|
|
|
import type { PickerIdFieldProps } from "@/components/dynamic/wrappers/PickerIdField";
|
|
|
import type { FieldProps } from "@/components/form/Field.vue";
|
|
|
-import { useAliOssUploadCo } from "@/common/components/upload/AliOssUploadCo";
|
|
|
import type { UploaderInstance } from "@/components/form/Uploader.vue";
|
|
|
import type { UploaderFieldProps, UploaderFieldInstance } from "@/components/form/UploaderField.vue";
|
|
|
+import { useAliOssUploadCo } from "@/common/components/upload/AliOssUploadCo";
|
|
|
import { villageCommonContent } from "./common";
|
|
|
+import { goFormStatic } from "../../composeable/TaskEntryForm";
|
|
|
+import type { ButtonProp } from "@/components/basic/Button.vue";
|
|
|
|
|
|
export function villageInfoFolkCultureForm(title: string) : SingleForm {
|
|
|
return [VillageBulidingInfo, (m) => ({
|
|
|
@@ -93,6 +95,55 @@ export const villageInfoCulture : GroupForm = {
|
|
|
showTitle: true
|
|
|
}).formItems.slice(0, 1),
|
|
|
{
|
|
|
+ label: '口述人',
|
|
|
+ name: 'speakerId',
|
|
|
+ type: 'select-id',
|
|
|
+ additionalProps: {
|
|
|
+ loadData: {
|
|
|
+ callback(_, m, p, i) {
|
|
|
+ return async () => (await VillageInfoApi.getList('speaker', undefined, undefined,
|
|
|
+ i.formGlobalParams.villageId,
|
|
|
+ i.formGlobalParams.villageVolunteerId
|
|
|
+ ))
|
|
|
+ .map((p) => ({
|
|
|
+ value: p.id,
|
|
|
+ text: p.name,
|
|
|
+ }))
|
|
|
+ }
|
|
|
+ },
|
|
|
+ } as IDynamicFormItemCallbackAdditionalProps<PickerIdFieldProps>,
|
|
|
+ formProps: { showRightArrow: true } as FieldProps,
|
|
|
+ rules: [{
|
|
|
+ required: true,
|
|
|
+ message: '请选择口述人',
|
|
|
+ }],
|
|
|
+ },
|
|
|
+ {
|
|
|
+ label: '口述人管理',
|
|
|
+ type: 'button',
|
|
|
+ name: 'manage',
|
|
|
+ defaultValue: '',
|
|
|
+ additionalProps: {
|
|
|
+ text: '口述人管理',
|
|
|
+ onClick: { callback(v, m, p, i) {
|
|
|
+ return () => {
|
|
|
+ goFormStatic(
|
|
|
+ i.formGlobalParams.villageId,
|
|
|
+ i.formGlobalParams.villageVolunteerId,
|
|
|
+ 'speaker',
|
|
|
+ 1,
|
|
|
+ undefined,
|
|
|
+ undefined,
|
|
|
+ '口述人管理'
|
|
|
+ );
|
|
|
+ }
|
|
|
+ } } as IDynamicFormItemCallback<() => void>,
|
|
|
+ } as IDynamicFormItemCallbackAdditionalProps<ButtonProp>,
|
|
|
+ formProps: {
|
|
|
+ inputAlign: 'right'
|
|
|
+ } as FieldProps,
|
|
|
+ },
|
|
|
+ {
|
|
|
label: '口述历史视频/录音',
|
|
|
name: 'video',
|
|
|
type: 'uploader',
|
|
|
@@ -123,4 +174,4 @@ export const villageInfoCulture : GroupForm = {
|
|
|
},
|
|
|
],
|
|
|
})],
|
|
|
-}
|
|
|
+}
|