fix(Product): 禁用批量创建套装按钮当未选择行时 #58
|
|
@ -16,7 +16,7 @@ interface SyncFormProps {
|
||||||
tableRef: React.MutableRefObject<ActionType | undefined>;
|
tableRef: React.MutableRefObject<ActionType | undefined>;
|
||||||
onFinish: (values: any) => Promise<void>;
|
onFinish: (values: any) => Promise<void>;
|
||||||
siteId?: string;
|
siteId?: string;
|
||||||
dateRange?: [dayjs.Dayjs, dayjs.Dayjs];
|
initialValues?: any;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
@ -28,7 +28,10 @@ const SyncForm: React.FC<SyncFormProps> = ({
|
||||||
tableRef,
|
tableRef,
|
||||||
onFinish,
|
onFinish,
|
||||||
siteId,
|
siteId,
|
||||||
dateRange,
|
initialValues = {
|
||||||
|
// 默认一星期
|
||||||
|
dateRange: [dayjs().subtract(1, 'week'), dayjs()],
|
||||||
|
},
|
||||||
}) => {
|
}) => {
|
||||||
// 使用 antd 的 App 组件提供的 message API
|
// 使用 antd 的 App 组件提供的 message API
|
||||||
const [loading, setLoading] = React.useState(false);
|
const [loading, setLoading] = React.useState(false);
|
||||||
|
|
@ -57,9 +60,7 @@ const SyncForm: React.FC<SyncFormProps> = ({
|
||||||
// 返回一个抽屉表单
|
// 返回一个抽屉表单
|
||||||
return (
|
return (
|
||||||
<DrawerForm<API.ordercontrollerSyncorderParams>
|
<DrawerForm<API.ordercontrollerSyncorderParams>
|
||||||
initialValues={{
|
initialValues={initialValues}
|
||||||
dateRange: [dayjs().subtract(1, 'week'), dayjs()],
|
|
||||||
}}
|
|
||||||
title="同步订单"
|
title="同步订单"
|
||||||
// 表单的触发器,一个带图标的按钮
|
// 表单的触发器,一个带图标的按钮
|
||||||
trigger={
|
trigger={
|
||||||
|
|
@ -75,9 +76,20 @@ const SyncForm: React.FC<SyncFormProps> = ({
|
||||||
destroyOnHidden: true,
|
destroyOnHidden: true,
|
||||||
}}
|
}}
|
||||||
// 表单提交成功后的回调
|
// 表单提交成功后的回调
|
||||||
onFinish={onFinish}
|
onFinish={async (values) => {
|
||||||
|
const normalValues = {
|
||||||
|
...values,
|
||||||
|
dateRange: values.dateRange
|
||||||
|
? [
|
||||||
|
dayjs(values.dateRange[0]).format('YYYY-MM-DDTHH:mm:s[Z]'),
|
||||||
|
dayjs(values.dateRange[1]).add(1, 'day').format('YYYY-MM-DDTHH:mm:s[Z]'),
|
||||||
|
]
|
||||||
|
: [],
|
||||||
|
};
|
||||||
|
await onFinish(normalValues);
|
||||||
|
}}
|
||||||
>
|
>
|
||||||
<ProForm.Group>
|
|
||||||
{/* 站点选择框 */}
|
{/* 站点选择框 */}
|
||||||
<ProFormSelect
|
<ProFormSelect
|
||||||
name="siteId"
|
name="siteId"
|
||||||
|
|
@ -99,17 +111,10 @@ const SyncForm: React.FC<SyncFormProps> = ({
|
||||||
name="dateRange"
|
name="dateRange"
|
||||||
label="同步日期范围"
|
label="同步日期范围"
|
||||||
placeholder={['开始日期', '结束日期']}
|
placeholder={['开始日期', '结束日期']}
|
||||||
transform={(value) => {
|
|
||||||
return {
|
|
||||||
dateRange: value,
|
|
||||||
};
|
|
||||||
}}
|
|
||||||
fieldProps={{
|
fieldProps={{
|
||||||
showTime: false,
|
showTime: false,
|
||||||
style: { width: '100%' },
|
|
||||||
}}
|
}}
|
||||||
/>
|
/>
|
||||||
</ProForm.Group>
|
|
||||||
</DrawerForm>
|
</DrawerForm>
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
|
||||||
|
|
@ -27,9 +27,9 @@ const ListPage: React.FC = () => {
|
||||||
dataIndex: 'username',
|
dataIndex: 'username',
|
||||||
hideInSearch: true,
|
hideInSearch: true,
|
||||||
render: (_, record) => {
|
render: (_, record) => {
|
||||||
if (record.billing.first_name || record.billing.last_name)
|
if (record.billing?.first_name || record.billing?.last_name)
|
||||||
return record.billing.first_name + ' ' + record.billing.last_name;
|
return record.billing?.first_name + ' ' + record.billing?.last_name;
|
||||||
return record.shipping.first_name + ' ' + record.shipping.last_name;
|
return record.shipping?.first_name + ' ' + record.shipping?.last_name;
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
|
|
@ -132,7 +132,7 @@ const ListPage: React.FC = () => {
|
||||||
title: '联系电话',
|
title: '联系电话',
|
||||||
dataIndex: 'phone',
|
dataIndex: 'phone',
|
||||||
hideInSearch: true,
|
hideInSearch: true,
|
||||||
render: (_, record) => record?.billing.phone || record?.shipping.phone,
|
render: (_, record) => record.phone ?? record?.billing?.phone ?? record?.shipping?.phone ?? '-',
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
title: '账单地址',
|
title: '账单地址',
|
||||||
|
|
|
||||||
|
|
@ -612,13 +612,14 @@ const ListPage: React.FC = () => {
|
||||||
<SyncForm
|
<SyncForm
|
||||||
onFinish={async (values: any) => {
|
onFinish={async (values: any) => {
|
||||||
try {
|
try {
|
||||||
|
console.log('values',values);
|
||||||
const {
|
const {
|
||||||
success,
|
success,
|
||||||
message: errMsg,
|
message: errMsg,
|
||||||
data,
|
data,
|
||||||
} = await ordercontrollerSyncorders(values, {
|
} = await ordercontrollerSyncorders(values, {
|
||||||
after: values.dateRange?.[0] + 'T00:00:00Z',
|
after: values.dateRange?.[0],
|
||||||
before: values.dateRange?.[1] + 'T23:59:59Z',
|
before: values.dateRange?.[1],
|
||||||
});
|
});
|
||||||
if (!success) {
|
if (!success) {
|
||||||
throw new Error(errMsg);
|
throw new Error(errMsg);
|
||||||
|
|
|
||||||
|
|
@ -467,7 +467,9 @@ const List: React.FC = () => {
|
||||||
批量修改
|
批量修改
|
||||||
</Button>,
|
</Button>,
|
||||||
// 批量创建 bundle 产品按钮
|
// 批量创建 bundle 产品按钮
|
||||||
<Button onClick={() => setBatchCreateBundleModalVisible(true)}>
|
<Button
|
||||||
|
disabled={selectedRows.length <= 0}
|
||||||
|
onClick={() => setBatchCreateBundleModalVisible(true)}>
|
||||||
批量创建套装
|
批量创建套装
|
||||||
</Button>,
|
</Button>,
|
||||||
// 批量同步按钮
|
// 批量同步按钮
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue