import { MyBetaModalFormProps, MyButtons, MyFormItems, MyModalFormProps, rulesHelper, } from '@/common'; import { Selects } from '@/components/Select'; import { Apis } from '@/gen/Apis'; import { HouseBillsTypeEnum } from '@/gen/Enums'; import { BetaSchemaForm } from '@ant-design/pro-components'; import { Form, message } from 'antd'; export default function Update(props: MyBetaModalFormProps) { const [form] = Form.useForm(); return ( {...MyModalFormProps.props} title={`编辑${props.title}`} trigger={} wrapperCol={{ span: 24 }} width="600px" form={form} onOpenChange={(open: any) => { if (open && props.item) { form.setFieldsValue(props.item); } }} onFinish={async (values) => Apis.Bill.HouseBills.Update({ ...values, id: props.item?.id ?? 0 }) .then(() => { props.reload?.(); message.success(props.title + '成功'); return true; }) .catch(() => false) } columns={[ Selects?.AssetProjects({ title: '选择项目', key: 'asset_projects_id', colProps: { span: 12 }, formItemProps: { ...rulesHelper.text }, }), { valueType: 'dependency', name: ['asset_projects_id'], columns: ({ asset_projects_id }) => [ Selects?.AssetHouses({ title: '选择房屋', key: 'asset_houses_id', params: { asset_projects_id: asset_projects_id }, formItemProps: { ...rulesHelper.text }, colProps: { span: 12 }, }), ], }, { key: 'amount', title: '金额', valueType: 'digit', colProps: { span: 8 }, fieldProps: { style: { width: '100%', }, }, formItemProps: { ...rulesHelper.number }, }, { key: 'discount_amount', title: '优惠金额', valueType: 'digit', fieldProps: { style: { width: '100%', }, }, colProps: { span: 8 }, }, { key: 'late_fee', title: '滞纳金', valueType: 'digit', fieldProps: { style: { width: '100%', }, }, colProps: { span: 8 }, }, MyFormItems.EnumRadio({ key: 'type', title: '类型', colProps: { span: 24 }, valueEnum: HouseBillsTypeEnum, required: true, }), { key: 'start_date', title: '计费开始日期', valueType: 'date', colProps: { span: 8 }, fieldProps: { style: { width: '100%', }, }, formItemProps: { ...rulesHelper.text }, }, { key: 'end_date', title: '计费结束日期', valueType: 'date', colProps: { span: 8 }, fieldProps: { style: { width: '100%', }, }, formItemProps: { ...rulesHelper.text }, }, { key: 'late_start_date', title: '滞纳金起算日期', valueType: 'date', fieldProps: { style: { width: '100%', }, }, colProps: { span: 8 }, }, { key: 'collected_late_fee_days', title: '已收滞纳金天数', valueType: 'digit', fieldProps: { addonAfter: '天', style: { width: '100%', }, }, colProps: { span: 8 }, }, { title: '备注', key: 'remark', valueType: 'textarea', colProps: { span: 24 }, }, ]} /> ); }