pay-admin/src/pages/asset/grids/modals/GridUpdate.tsx

84 lines
2.5 KiB
TypeScript
Raw Normal View History

2025-06-30 18:42:21 +08:00
import {
MyBetaModalFormProps,
MyButtons,
MyModalFormProps,
rulesHelper,
} from '@/common';
import { Selects } from '@/components/Select';
2025-09-19 11:31:08 +08:00
import MyTransferUnits from '@/components/TransferUnits';
2025-06-30 18:42:21 +08:00
import { Apis } from '@/gen/Apis';
2025-09-19 11:31:08 +08:00
import { BetaSchemaForm } from '@ant-design/pro-components';
2025-06-30 18:42:21 +08:00
import { Form, message } from 'antd';
export default function Update(props: MyBetaModalFormProps) {
const [form] = Form.useForm();
return (
<BetaSchemaForm<ApiTypes.Grid.Grids.Update>
{...MyModalFormProps.props}
2025-07-17 13:58:54 +08:00
title={`网格编辑`}
2025-06-30 18:42:21 +08:00
width="700px"
2025-09-08 17:22:58 +08:00
layout="horizontal"
labelCol={{ span: 4 }}
wrapperCol={{ span: 24 }}
labelAlign="right"
2025-06-30 18:42:21 +08:00
trigger={<MyButtons.Default title={`编辑`} size="small" type="link" />}
form={form}
key={new Date().getTime()}
2025-06-30 18:42:21 +08:00
onOpenChange={(open: any) => {
if (open) {
2025-09-19 11:31:08 +08:00
let arr: any = [];
2025-06-30 18:42:21 +08:00
Apis.Grid.Grids.Show({ id: props?.item?.id }).then((res) => {
2025-09-19 11:31:08 +08:00
if (res?.data?.grid_ranges) {
res?.data?.grid_ranges?.forEach((k: any) => {
arr.push(k.asset_units_id);
});
}
form.setFieldsValue({ ...res?.data, grid_ranges: arr });
2025-06-30 18:42:21 +08:00
});
}
}}
onFinish={async (values: any) => {
2025-09-19 11:31:08 +08:00
console.log(values);
// values?.grid_ranges?.map((res: { asset_projects_id: string }) => {
// res.asset_projects_id = props?.item?.id;
// });
2025-06-30 18:42:21 +08:00
return Apis.Grid.Grids.Update({
...values,
2025-09-19 11:31:08 +08:00
asset_projects_id: props?.item?.id || values?.asset_projects_id,
2025-06-30 18:42:21 +08:00
id: props?.item?.id,
})
.then(() => {
props.reload?.();
2025-07-17 13:58:54 +08:00
message.success('网格编辑成功');
2025-06-30 18:42:21 +08:00
return true;
})
.catch(() => false);
}}
columns={[
Selects?.GetGridMark({
key: 'grid_mark',
2025-09-08 17:22:58 +08:00
title: '范围标识',
2025-06-30 18:42:21 +08:00
params: {
asset_projects_id: props?.item?.id,
},
colProps: { span: 24 },
formItemProps: { ...rulesHelper.text },
}),
{
2025-09-19 11:31:08 +08:00
key: 'grid_ranges',
title: '选择单元',
2025-06-30 18:42:21 +08:00
colProps: { span: 24 },
formItemProps: { ...rulesHelper.array },
2025-09-19 11:31:08 +08:00
renderFormItem: () => (
<MyTransferUnits
item={{
asset_projects_id: props?.item?.asset_projects_id,
}}
/>
),
2025-06-30 18:42:21 +08:00
},
]}
/>
);
}