Compare commits

..

2 Commits

Author SHA1 Message Date
e736f95419 Merge branch 'develop' of ssh://code.juyouwu.cn:2222/pay/pay-admin into develop
All checks were successful
Build and Push Docker Image / build (push) Successful in 3m30s
* 'develop' of ssh://code.juyouwu.cn:2222/pay/pay-admin:
  fix: 优化页面
2025-09-19 09:40:35 +08:00
448de52596 fix:更新MyTransferUnits 2025-09-19 09:40:24 +08:00
2 changed files with 107 additions and 84 deletions

View File

@ -0,0 +1,73 @@
import { Apis } from '@/gen/Apis';
import { Transfer } from 'antd';
import { useEffect, useState } from 'react';
const MyTransferUnits = (props: any) => {
const [dataSource, setTransferData] = useState<any[]>([]);
const [targetKeys, setTargetKeys] = useState<string[]>([]);
useEffect(() => {
if (props?.item?.asset_projects_id) {
Apis.Asset.AssetUnits.GridSelect({
asset_projects_id: props?.item?.asset_projects_id,
})
.then((res) => {
const data =
res.data?.map((item: any) => ({
key: item.value?.toString(),
title: item?.asset_building?.name + item.label,
asset_buildings_id: item.asset_buildings_id,
})) || [];
setTransferData(data);
})
.catch(() => {
setTransferData([]);
});
}
}, [props?.item?.asset_projects_id]);
return (
<Transfer
dataSource={dataSource}
targetKeys={targetKeys}
onChange={(targetKeys) => {
let dataIds: any = [];
targetKeys?.forEach((res: any) => {
dataSource?.forEach((k: any) => {
if (res === k.key) {
dataIds?.push({
asset_projects_id: props?.item?.asset_projects_id,
asset_buildings_id: k?.asset_buildings_id,
asset_units_id: k?.key,
});
}
});
});
setTargetKeys(targetKeys as string[]);
props?.onChange?.(dataIds);
}}
render={(item) => item.title}
titles={['可选单元', '已选单元']}
showSearch
listStyle={{
width: 250,
height: 300,
}}
operations={['选择', '移除']}
operationStyle={{ marginTop: 20 }}
locale={{
itemUnit: '项',
itemsUnit: '项',
searchPlaceholder: '请输入搜索内容',
notFoundContent: '列表为空',
}}
onSelectChange={(sourceSelectedKeys, targetSelectedKeys) => {
console.log(
sourceSelectedKeys,
targetSelectedKeys,
'sourceSelectedKeys',
);
// 处理选择变化,但不触发表单提交
}}
/>
);
};
export default MyTransferUnits;

View File

@ -5,45 +5,20 @@ import {
rulesHelper,
} from '@/common';
import { Selects } from '@/components/Select';
import { Apis } from '@/gen/Apis';
import MyTransferUnits from '@/components/TransferUnits';
import { BetaSchemaForm } from '@ant-design/pro-components';
import { Form, message, Transfer } from 'antd';
import { useEffect, useState } from 'react';
import { Form } from 'antd';
export default function Create(props: MyBetaModalFormProps) {
const [form] = Form.useForm();
const [transferData, setTransferData] = useState<any[]>([]);
const [targetKeys, setTargetKeys] = useState<string[]>([]);
// 获取Transfer数据源
useEffect(() => {
const asset_projects_id = props?.item?.id || 0;
if (asset_projects_id) {
Apis.Asset.AssetUnits.GridSelect({ asset_projects_id })
.then((res) => {
const data =
res.data?.map((item: any) => ({
key: item.value?.toString(),
title: item?.asset_building?.name + item.label,
})) || [];
setTransferData(data);
})
.catch(() => {
setTransferData([]);
});
}
}, [props?.item?.id]);
console.log(props.item, 'pppp');
return (
<BetaSchemaForm<ApiTypes.Grid.Grids.Store>
{...MyModalFormProps.props}
title={`范围添加`}
width="700px"
width="800px"
layout="horizontal"
labelCol={{ span: 4 }}
wrapperCol={{ span: 24 }}
labelAlign="right"
trigger={
<MyButtons.Create
title={`${props.title}`}
@ -52,32 +27,33 @@ export default function Create(props: MyBetaModalFormProps) {
}
form={form}
key={new Date().getTime()}
onOpenChange={(open: any) => {
if (open) {
form.resetFields(); // 清空表单数据
form.setFieldsValue({
asset_projects_id: props?.item?.id,
});
}
}}
// onOpenChange={(open: any) => {
// if (open) {
// form.resetFields(); // 清空表单数据
// form.setFieldsValue({
// asset_projects_id: props?.item?.id,
// });
// }
// }}
onFinish={async (values: any) => {
(values.asset_projects_id =
values?.asset_projects_id || props?.item?.id),
values?.grid_ranges?.map((res: { asset_projects_id: string }) => {
res.asset_projects_id = props?.item?.id;
});
return Apis.Grid.Grids.Store({
...values,
})
.then(() => {
props.reload?.();
message.success('网格添加成功');
return true;
})
.catch(() => false);
console.log(values, 'values');
// (values.asset_projects_id =
// values?.asset_projects_id || props?.item?.id),
// values?.grid_ranges?.map(
// (res: { asset_projects_id: string }) => {
// res.asset_projects_id = props?.item?.id;
// },
// );
// return Apis.Grid.Grids.Store({
// ...values,
// })
// .then(() => {
// props.reload?.();
// message.success('网格添加成功');
// return true;
// })
// .catch(() => false);
}}
submitter={false}
footer={[<MyButtons.Default key="submit" title="添加" />]}
columns={[
...(props?.item?.id
? []
@ -107,7 +83,6 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 },
formItemProps: { ...rulesHelper.text },
}),
{
valueType: 'formItem',
dataIndex: 'grid_units_id',
@ -115,37 +90,12 @@ export default function Create(props: MyBetaModalFormProps) {
colProps: { span: 24 },
formItemProps: { ...rulesHelper.text },
renderFormItem: () => (
<div onClick={(e) => e.stopPropagation()}>
<Transfer
dataSource={transferData}
targetKeys={targetKeys}
onChange={(nextTargetKeys) => {
setTargetKeys(nextTargetKeys as string[]);
form.setFieldValue('grid_units_id', nextTargetKeys);
}}
render={(item) => item.title}
titles={['可选单元', '已选单元']}
showSearch
listStyle={{
width: 250,
height: 300,
}}
operations={['选择', '移除']}
operationStyle={{ marginTop: 20 }}
locale={{
itemUnit: '项',
itemsUnit: '项',
searchPlaceholder: '请输入搜索内容',
notFoundContent: '列表为空',
}}
onSelectChange={(
sourceSelectedKeys,
targetSelectedKeys,
) => {
// 处理选择变化,但不触发表单提交
<MyTransferUnits
item={{
asset_projects_id:
props?.item?.id || asset_projects_id,
}}
/>
</div>
),
},
],