import { MyBetaModalFormProps, MyButtons, MyFormItems, MyModalFormProps, rulesHelper, } from '@/common'; import { Address } from '@/components/Address'; import { Apis } from '@/gen/Apis'; import { CompaniesMerchantTypeEnum } 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}`} form={form} trigger={ } wrapperCol={{ span: 24 }} width="800px" onOpenChange={(open: any) => { if (open && props.item) { form.setFieldsValue({ ...props.item, casacader: [ props.item?.province_id || '', props.item?.city_id || '', props.item?.area_id || '', props.item?.street_id || '', ], }); } }} onFinish={async (values) => Apis.Company.Companies.Update({ ...values, id: props.item?.id ?? 0 }) .then(() => { props.reload?.(); message.success(props.title + '成功'); return true; }) .catch(() => false) } columns={[ { key: 'name', title: '机构名称', colProps: { span: 8 }, formItemProps: { ...rulesHelper.text }, }, { key: 'short_name', title: '机构简称', colProps: { span: 8 }, }, { key: 'business_license_number', title: '营业执照号', colProps: { span: 8 }, formItemProps: { ...rulesHelper.text }, }, { key: 'contact_name', title: '联系人姓名', colProps: { span: 8 }, formItemProps: { ...rulesHelper.text }, }, { key: 'contact_phone', title: '联系人手机', colProps: { span: 8 }, valueType: 'number', fieldProps: { maxLength: 11, }, formItemProps: { ...rulesHelper.number }, }, { key: 'contact_email', title: '联系人邮箱', colProps: { span: 8 }, }, // { // key: 'contact_address', // title: '联系人地址', // colProps: { span: 16 }, // }, // MyFormItems.EnumRadio({ // key: 'merchant_type', // title: '商户类型', // colProps: { span: 24 }, // valueEnum: CompaniesMerchantTypeEnum, // required: true, // }), Address.Cascader({ key: 'casacader', title: '选择地址', colProps: { span:16 }, keys: ['province', 'city', 'area', 'street'], required: true, }), { key: 'address', title: '详细地址', colProps: { span:8 }, }, ]} /> ); }