Compare commits
No commits in common. "e736f95419b6a8470adda14796061bf97fa134e2" and "68c96919bb8bdefab06adbc769c962c793163456" have entirely different histories.
e736f95419
...
68c96919bb
@ -1,73 +0,0 @@
|
|||||||
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;
|
|
||||||
@ -5,20 +5,45 @@ import {
|
|||||||
rulesHelper,
|
rulesHelper,
|
||||||
} from '@/common';
|
} from '@/common';
|
||||||
import { Selects } from '@/components/Select';
|
import { Selects } from '@/components/Select';
|
||||||
import MyTransferUnits from '@/components/TransferUnits';
|
import { Apis } from '@/gen/Apis';
|
||||||
import { BetaSchemaForm } from '@ant-design/pro-components';
|
import { BetaSchemaForm } from '@ant-design/pro-components';
|
||||||
import { Form } from 'antd';
|
import { Form, message, Transfer } from 'antd';
|
||||||
|
import { useEffect, useState } from 'react';
|
||||||
|
|
||||||
export default function Create(props: MyBetaModalFormProps) {
|
export default function Create(props: MyBetaModalFormProps) {
|
||||||
const [form] = Form.useForm();
|
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');
|
console.log(props.item, 'pppp');
|
||||||
return (
|
return (
|
||||||
<BetaSchemaForm<ApiTypes.Grid.Grids.Store>
|
<BetaSchemaForm<ApiTypes.Grid.Grids.Store>
|
||||||
{...MyModalFormProps.props}
|
{...MyModalFormProps.props}
|
||||||
title={`范围添加`}
|
title={`范围添加`}
|
||||||
width="800px"
|
width="700px"
|
||||||
layout="horizontal"
|
layout="horizontal"
|
||||||
|
labelCol={{ span: 4 }}
|
||||||
|
wrapperCol={{ span: 24 }}
|
||||||
|
labelAlign="right"
|
||||||
trigger={
|
trigger={
|
||||||
<MyButtons.Create
|
<MyButtons.Create
|
||||||
title={`${props.title}`}
|
title={`${props.title}`}
|
||||||
@ -27,33 +52,32 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
}
|
}
|
||||||
form={form}
|
form={form}
|
||||||
key={new Date().getTime()}
|
key={new Date().getTime()}
|
||||||
// onOpenChange={(open: any) => {
|
onOpenChange={(open: any) => {
|
||||||
// if (open) {
|
if (open) {
|
||||||
// form.resetFields(); // 清空表单数据
|
form.resetFields(); // 清空表单数据
|
||||||
// form.setFieldsValue({
|
form.setFieldsValue({
|
||||||
// asset_projects_id: props?.item?.id,
|
asset_projects_id: props?.item?.id,
|
||||||
// });
|
});
|
||||||
// }
|
}
|
||||||
// }}
|
|
||||||
onFinish={async (values: any) => {
|
|
||||||
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);
|
|
||||||
}}
|
}}
|
||||||
|
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);
|
||||||
|
}}
|
||||||
|
submitter={false}
|
||||||
|
footer={[<MyButtons.Default key="submit" title="添加" />]}
|
||||||
columns={[
|
columns={[
|
||||||
...(props?.item?.id
|
...(props?.item?.id
|
||||||
? []
|
? []
|
||||||
@ -83,6 +107,7 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
formItemProps: { ...rulesHelper.text },
|
formItemProps: { ...rulesHelper.text },
|
||||||
}),
|
}),
|
||||||
|
|
||||||
{
|
{
|
||||||
valueType: 'formItem',
|
valueType: 'formItem',
|
||||||
dataIndex: 'grid_units_id',
|
dataIndex: 'grid_units_id',
|
||||||
@ -90,12 +115,37 @@ export default function Create(props: MyBetaModalFormProps) {
|
|||||||
colProps: { span: 24 },
|
colProps: { span: 24 },
|
||||||
formItemProps: { ...rulesHelper.text },
|
formItemProps: { ...rulesHelper.text },
|
||||||
renderFormItem: () => (
|
renderFormItem: () => (
|
||||||
<MyTransferUnits
|
<div onClick={(e) => e.stopPropagation()}>
|
||||||
item={{
|
<Transfer
|
||||||
asset_projects_id:
|
dataSource={transferData}
|
||||||
props?.item?.id || asset_projects_id,
|
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,
|
||||||
|
) => {
|
||||||
|
// 处理选择变化,但不触发表单提交
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
|
</div>
|
||||||
),
|
),
|
||||||
},
|
},
|
||||||
],
|
],
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user