import { MyBetaModalFormProps, MyButtons, MyFormItems, MyModalFormProps, rulesHelper, } from '@/common'; import { Apis } from '@/gen/Apis'; import { HouseOccupantsCardTypeEnum, HouseOccupantsHouseRelationEnum, HouseOccupantsRelationWithOwnerEnum, HouseOccupantsResidentialRelationEnum, HouseRegistersTypeEnum, } from '@/gen/Enums'; import { BetaSchemaForm, ProCard } from '@ant-design/pro-components'; import { Form, message } from 'antd'; export default function AddOccupant(props: MyBetaModalFormProps) { const [form] = Form.useForm(); return ( {...MyModalFormProps.props} title={`${props.title}`} wrapperCol={{ span: 24 }} width="800px" trigger={ } key={new Date().getTime()} form={form} onOpenChange={(open: any) => { if (open) { form.resetFields(); // 清空表单数据 } }} onFinish={async (values) => Apis.Archive.HouseRegisters.Store({ ...values, asset_houses_id: props?.item?.id, type: HouseRegistersTypeEnum.AddOccupant.value, customer_info: values.customer_info?.map((res: any) => { return { ...res, house_relation: HouseOccupantsHouseRelationEnum.NonOwner.value, }; }), }) .then(() => { props.reload?.(); message.success(props.title + '成功'); return true; }) .catch(() => false) } columns={[ { valueType: 'formList', dataIndex: 'customer_info', colProps: { span: 24 }, initialValue: [''], fieldProps: { copyIconProps: false, creatorButtonProps: { creatorButtonText: '添加客户', }, itemRender: ( { listDom, action }: any, { index }: { index: number }, ) => { return ( {listDom} ); }, }, columns: [ { valueType: 'group', columns: [ MyFormItems.EnumRadio({ key: 'residential_relation', title: '居住关系', colProps: { span: 12 }, valueEnum: HouseOccupantsResidentialRelationEnum, // valueEnum: () => { // let obj: any = JSON.parse( // JSON.stringify(HouseOccupantsResidentialRelationEnum), // ); // delete obj.Tenant; // return obj; // }, required: true, }), MyFormItems.EnumRadio({ key: 'relation_with_owner', title: '关系标记', valueEnum: HouseOccupantsRelationWithOwnerEnum, colProps: { span: 18 }, required: true, }), { title: '姓名', dataIndex: 'name', colProps: { span: 6 }, formItemProps: { ...rulesHelper.text }, }, { title: '手机号', dataIndex: 'phone', colProps: { span: 6 }, fieldProps: { maxLength: 11, }, formItemProps: { ...rulesHelper.phone }, }, MyFormItems.EnumSelect({ key: 'card_type', title: '证件类型', colProps: { span: 6 }, valueEnum: HouseOccupantsCardTypeEnum, required: true, }), { title: '证件号码', dataIndex: 'id_card', colProps: { span: 6 }, fieldProps: { maxLength: 18, }, formItemProps: { ...rulesHelper.text }, }, { valueType: 'group', columns: [ MyFormItems.UploadImages({ key: 'card_front_image', title: '证件正面', uploadType: 'file', max: 1, colProps: { span: 6 }, formItemProps: { ...rulesHelper.text }, }), MyFormItems.UploadImages({ key: 'card_back_image', title: '证件反面', uploadType: 'file', max: 1, colProps: { span: 6 }, formItemProps: { ...rulesHelper.text }, }), { title: '是否入住', dataIndex: 'is_live_in', colProps: { span: 6 }, valueType: 'switch', }, { name: ['is_live_in'], valueType: 'dependency', columns: ({ is_live_in }: any) => { return is_live_in ? [ { title: '入住日期', dataIndex: 'move_in_date', valueType: 'date', colProps: { span: 6 }, fieldProps: { style: { width: '100%' }, }, formItemProps: { ...rulesHelper.text }, }, ] : []; }, }, ], }, ], }, ], }, ]} /> ); }