forked from yoone/WEB
Feature: 增加上下架功能
This commit is contained in:
parent
35c26c07c4
commit
2265bae239
|
|
@ -9,23 +9,23 @@ export const PRODUCT_STATUS_ENUM: ProSchemaValueEnumObj = {
|
||||||
},
|
},
|
||||||
draft: {
|
draft: {
|
||||||
text: '草稿',
|
text: '草稿',
|
||||||
status: 'default',
|
status: 'draft',
|
||||||
},
|
},
|
||||||
pending: {
|
pending: {
|
||||||
text: '待审核',
|
text: '待审核',
|
||||||
status: 'warning',
|
status: 'pending',
|
||||||
},
|
},
|
||||||
private: {
|
private: {
|
||||||
text: '私有',
|
text: '私有',
|
||||||
status: 'warning',
|
status: 'private',
|
||||||
},
|
},
|
||||||
trash: {
|
trash: {
|
||||||
text: '已删除',
|
text: '已删除',
|
||||||
status: 'error',
|
status: 'error',
|
||||||
},
|
},
|
||||||
'auto-draft': {
|
'auto-draft': {
|
||||||
text: '字段草稿',
|
text: '自动草稿',
|
||||||
status: 'default',
|
status: 'auto-draft',
|
||||||
},
|
},
|
||||||
future: {
|
future: {
|
||||||
text: '定时发布',
|
text: '定时发布',
|
||||||
|
|
@ -33,7 +33,7 @@ export const PRODUCT_STATUS_ENUM: ProSchemaValueEnumObj = {
|
||||||
},
|
},
|
||||||
inherit: {
|
inherit: {
|
||||||
text: '继承状态',
|
text: '继承状态',
|
||||||
status: 'default',
|
status: 'inherit',
|
||||||
},
|
},
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -10,6 +10,7 @@ import {
|
||||||
wpproductcontrollerSyncproducts,
|
wpproductcontrollerSyncproducts,
|
||||||
wpproductcontrollerUpdateproduct,
|
wpproductcontrollerUpdateproduct,
|
||||||
wpproductcontrollerUpdatevariation,
|
wpproductcontrollerUpdatevariation,
|
||||||
|
wpproductcontrollerUpdatewpproductstate,
|
||||||
} from '@/servers/api/wpProduct';
|
} from '@/servers/api/wpProduct';
|
||||||
import { EditOutlined } from '@ant-design/icons';
|
import { EditOutlined } from '@ant-design/icons';
|
||||||
import {
|
import {
|
||||||
|
|
@ -86,6 +87,7 @@ const List: React.FC = () => {
|
||||||
render: (_, record) => (
|
render: (_, record) => (
|
||||||
<>
|
<>
|
||||||
<UpdateForm tableRef={actionRef} values={record} />
|
<UpdateForm tableRef={actionRef} values={record} />
|
||||||
|
<UpdateStatus tableRef={actionRef} values={record} />
|
||||||
{record.type === 'simple' && record.sku ? (
|
{record.type === 'simple' && record.sku ? (
|
||||||
<>
|
<>
|
||||||
<Divider type="vertical" />
|
<Divider type="vertical" />
|
||||||
|
|
@ -232,6 +234,62 @@ const SyncForm: React.FC<{
|
||||||
);
|
);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
const UpdateStatus: React.FC<{
|
||||||
|
tableRef: React.MutableRefObject<ActionType | undefined>;
|
||||||
|
values: API.WpProductDTO;
|
||||||
|
}> = ({ tableRef, values: initialValues }) => {
|
||||||
|
const { message } = App.useApp();
|
||||||
|
return (
|
||||||
|
<DrawerForm<API.UpdateProductDTO>
|
||||||
|
title="修改产品上下架状态"
|
||||||
|
initialValues={initialValues}
|
||||||
|
trigger={
|
||||||
|
<Button type="primary">
|
||||||
|
<EditOutlined />
|
||||||
|
上下架
|
||||||
|
</Button>
|
||||||
|
}
|
||||||
|
autoFocusFirstInput
|
||||||
|
drawerProps={{
|
||||||
|
destroyOnHidden: true,
|
||||||
|
}}
|
||||||
|
onFinish={async (values) => {
|
||||||
|
console.log('values', values);
|
||||||
|
const { status } = values;
|
||||||
|
try {
|
||||||
|
const { success, message: errMsg } =
|
||||||
|
await wpproductcontrollerUpdatewpproductstate(
|
||||||
|
{
|
||||||
|
id: initialValues.id,
|
||||||
|
},
|
||||||
|
{ status },
|
||||||
|
);
|
||||||
|
if (!success) {
|
||||||
|
throw new Error(errMsg);
|
||||||
|
}
|
||||||
|
message.success('提交成功');
|
||||||
|
tableRef.current?.reload();
|
||||||
|
return true;
|
||||||
|
} catch (error: any) {
|
||||||
|
message.error(error.message);
|
||||||
|
}
|
||||||
|
}}
|
||||||
|
>
|
||||||
|
<ProForm.Group>
|
||||||
|
<ProFormSelect
|
||||||
|
label="状态"
|
||||||
|
width="lg"
|
||||||
|
name="status"
|
||||||
|
valueEnum={PRODUCT_STATUS_ENUM}
|
||||||
|
>
|
||||||
|
|
||||||
|
</ProFormSelect>
|
||||||
|
</ProForm.Group>
|
||||||
|
</DrawerForm>
|
||||||
|
);
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
const UpdateForm: React.FC<{
|
const UpdateForm: React.FC<{
|
||||||
tableRef: React.MutableRefObject<ActionType | undefined>;
|
tableRef: React.MutableRefObject<ActionType | undefined>;
|
||||||
values: API.WpProductDTO;
|
values: API.WpProductDTO;
|
||||||
|
|
|
||||||
|
|
@ -299,6 +299,7 @@ declare namespace API {
|
||||||
|
|
||||||
type ordercontrollerGetordersalesParams = {
|
type ordercontrollerGetordersalesParams = {
|
||||||
isSource?: boolean;
|
isSource?: boolean;
|
||||||
|
exceptPackage?: boolean;
|
||||||
/** 页码 */
|
/** 页码 */
|
||||||
current?: number;
|
current?: number;
|
||||||
/** 每页大小 */
|
/** 每页大小 */
|
||||||
|
|
@ -501,7 +502,7 @@ declare namespace API {
|
||||||
/** sku */
|
/** sku */
|
||||||
sku?: string;
|
sku?: string;
|
||||||
quantity?: number;
|
quantity?: number;
|
||||||
exceptPackage?: boolean;
|
isPackage?: boolean;
|
||||||
isYoone?: boolean;
|
isYoone?: boolean;
|
||||||
isZex?: boolean;
|
isZex?: boolean;
|
||||||
size?: number;
|
size?: number;
|
||||||
|
|
@ -522,7 +523,7 @@ declare namespace API {
|
||||||
/** sku */
|
/** sku */
|
||||||
sku?: string;
|
sku?: string;
|
||||||
quantity?: number;
|
quantity?: number;
|
||||||
exceptPackage?: boolean;
|
isPackage?: boolean;
|
||||||
isYoone?: boolean;
|
isYoone?: boolean;
|
||||||
isZex?: boolean;
|
isZex?: boolean;
|
||||||
size?: number;
|
size?: number;
|
||||||
|
|
@ -856,6 +857,7 @@ declare namespace API {
|
||||||
|
|
||||||
type QueryOrderSalesDTO = {
|
type QueryOrderSalesDTO = {
|
||||||
isSource?: boolean;
|
isSource?: boolean;
|
||||||
|
exceptPackage?: boolean;
|
||||||
/** 页码 */
|
/** 页码 */
|
||||||
current?: number;
|
current?: number;
|
||||||
/** 每页大小 */
|
/** 每页大小 */
|
||||||
|
|
@ -1447,6 +1449,10 @@ declare namespace API {
|
||||||
siteId: string;
|
siteId: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
type wpproductcontrollerUpdatewpproductstateParams = {
|
||||||
|
id: number;
|
||||||
|
};
|
||||||
|
|
||||||
type WpProductDTO = {
|
type WpProductDTO = {
|
||||||
/** ID */
|
/** ID */
|
||||||
id: number;
|
id: number;
|
||||||
|
|
|
||||||
|
|
@ -98,3 +98,22 @@ export async function wpproductcontrollerSyncproducts(
|
||||||
...(options || {}),
|
...(options || {}),
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/** 此处后端没有提供注释 POST /wp_product/updateState/${param0} */
|
||||||
|
export async function wpproductcontrollerUpdatewpproductstate(
|
||||||
|
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||||
|
params: API.wpproductcontrollerUpdatewpproductstateParams,
|
||||||
|
body: Record<string, any>,
|
||||||
|
options?: { [key: string]: any },
|
||||||
|
) {
|
||||||
|
const { id: param0, ...queryParams } = params;
|
||||||
|
return request<API.BooleanRes>(`/wp_product/updateState/${param0}`, {
|
||||||
|
method: 'POST',
|
||||||
|
headers: {
|
||||||
|
'Content-Type': 'text/plain',
|
||||||
|
},
|
||||||
|
params: { ...queryParams },
|
||||||
|
data: body,
|
||||||
|
...(options || {}),
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue