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