Compare commits
9 Commits
| Author | SHA1 | Date |
|---|---|---|
|
|
99335ef4f8 | |
|
|
b04e6954b5 | |
|
|
7db92c6771 | |
|
|
3c7a5d815e | |
|
|
9263841890 | |
|
|
e6075f174c | |
|
|
84ec4f5895 | |
|
|
82e0df6d43 | |
|
|
2245c71702 |
|
|
@ -125,7 +125,7 @@ const ListPage: React.FC = () => {
|
|||
{
|
||||
title: 'phone',
|
||||
dataIndex: 'phone',
|
||||
hideInSearch: true,
|
||||
hideInSearch: false,
|
||||
render: (_, record) => record?.billing.phone || record?.shipping.phone,
|
||||
},
|
||||
{
|
||||
|
|
|
|||
|
|
@ -83,6 +83,7 @@ import Item from 'antd/es/list/Item';
|
|||
import RelatedOrders from '../../Subscription/Orders/RelatedOrders';
|
||||
import React, { useMemo, useRef, useState } from 'react';
|
||||
import { printPDF } from '@/utils/util';
|
||||
import dayjs from 'dayjs';
|
||||
|
||||
const ListPage: React.FC = () => {
|
||||
const actionRef = useRef<ActionType>();
|
||||
|
|
@ -195,13 +196,26 @@ const ListPage: React.FC = () => {
|
|||
value: item.id,
|
||||
}));
|
||||
},
|
||||
render: (_, record) => {
|
||||
const siteNameArr = {
|
||||
1: 'Togovape',
|
||||
2: 'CanPouches',
|
||||
3: 'ZYN-Pouches',
|
||||
4: 'Togopouches',
|
||||
5: 'Yoonepouches',
|
||||
6: 'CanPouches_co',
|
||||
7: 'Canadapouch',
|
||||
8: 'Zoltpouches'
|
||||
};
|
||||
return siteNameArr[record.siteId];
|
||||
}
|
||||
},
|
||||
{
|
||||
title: '订单包含',
|
||||
dataIndex: 'keyword',
|
||||
hideInTable: true,
|
||||
},
|
||||
{
|
||||
{
|
||||
title: '订单ID',
|
||||
dataIndex: 'externalOrderId',
|
||||
},
|
||||
|
|
@ -239,7 +253,7 @@ const ListPage: React.FC = () => {
|
|||
dataIndex: 'billing_phone',
|
||||
render: (_, record) => record.shipping?.phone || record.billing?.phone,
|
||||
},
|
||||
{
|
||||
{
|
||||
title: '换货次数',
|
||||
dataIndex: 'exchange_frequency',
|
||||
hideInSearch: true,
|
||||
|
|
@ -913,13 +927,13 @@ const Detail: React.FC<{
|
|||
}}
|
||||
/>
|
||||
{/* 显示 related order */}
|
||||
<ProDescriptions.Item
|
||||
label="关联"
|
||||
span={3}
|
||||
render={(_, record) => {
|
||||
return <RelatedOrders data={record?.related} />;
|
||||
}}
|
||||
/>
|
||||
<ProDescriptions.Item
|
||||
label="关联"
|
||||
span={3}
|
||||
render={(_, record) => {
|
||||
return <RelatedOrders data={record?.related} />;
|
||||
}}
|
||||
/>
|
||||
{/* 订单内容 */}
|
||||
<ProDescriptions.Item
|
||||
label="订单内容"
|
||||
|
|
@ -1183,7 +1197,17 @@ const Shipping: React.FC<{
|
|||
const [rates, setRates] = useState<API.RateDTO[]>([]);
|
||||
const [ratesLoading, setRatesLoading] = useState(false);
|
||||
const { message } = App.useApp();
|
||||
|
||||
const [shipmentPlatforms, setShipmentPlatforms] = useState([
|
||||
{ label: 'uniuni', value: 'uniuni' },
|
||||
{ label: 'tms.freightwaves', value: 'freightwaves' },
|
||||
]);
|
||||
const [courierCompany, setCourierCompany] = useState([
|
||||
{ label: '最佳物流', value: '' },
|
||||
{ label: 'UNIUNI', value: 'UNIUNI' },
|
||||
{ label: 'PuroYYZ', value: 'PuroYYZ' },
|
||||
{ label: 'CPYYZ', value: 'CPYYZ' },
|
||||
{ label: 'UPSYYZ7000NEW', value: 'UPSYYZ7000NEW' },
|
||||
]);
|
||||
return (
|
||||
<ModalForm
|
||||
formRef={formRef}
|
||||
|
|
@ -1234,6 +1258,8 @@ const Shipping: React.FC<{
|
|||
let shipmentInfo = localStorage.getItem('shipmentInfo');
|
||||
if (shipmentInfo) shipmentInfo = JSON.parse(shipmentInfo);
|
||||
return {
|
||||
shipmentPlatform: 'freightwaves',
|
||||
courierCompany: '',
|
||||
...data,
|
||||
// payment_method_id: shipmentInfo?.payment_method_id,
|
||||
stockPointId: shipmentInfo?.stockPointId,
|
||||
|
|
@ -1260,7 +1286,7 @@ const Shipping: React.FC<{
|
|||
},
|
||||
origin: {
|
||||
name: data?.siteName,
|
||||
email_addresses: data?.email,
|
||||
email_addresses: shipmentInfo?.email_addresses,
|
||||
contact_name: data?.siteName,
|
||||
phone_number: shipmentInfo?.phone_number,
|
||||
address: {
|
||||
|
|
@ -1297,7 +1323,7 @@ const Shipping: React.FC<{
|
|||
}}
|
||||
onFinish={async ({ customer_note, notes, items, details, externalOrderId, ...data }) => {
|
||||
details.origin.email_addresses =
|
||||
details.origin.email_addresses.split(',');
|
||||
details.origin.email_addresses;
|
||||
details.destination.email_addresses =
|
||||
details.destination.email_addresses.split(',');
|
||||
details.destination.phone_number.number =
|
||||
|
|
@ -1327,6 +1353,7 @@ const Shipping: React.FC<{
|
|||
postal_code: details.origin.address.postal_code,
|
||||
address_line_1: details.origin.address.address_line_1,
|
||||
phone_number: details.origin.phone_number,
|
||||
email_addresses: details.origin.email_addresses,
|
||||
}),
|
||||
);
|
||||
|
||||
|
|
@ -1347,6 +1374,26 @@ const Shipping: React.FC<{
|
|||
}
|
||||
}}
|
||||
>
|
||||
|
||||
<Row gutter={16}>
|
||||
<Col span={8}>
|
||||
<ProFormSelect
|
||||
name="shipmentPlatform"
|
||||
label="发货平台"
|
||||
options={shipmentPlatforms}
|
||||
placeholder="请选择发货平台"
|
||||
rules={[{ required: true, message: '请选择一个选项' }]}
|
||||
/>
|
||||
</Col>
|
||||
<Col span={8}>
|
||||
<ProFormSelect
|
||||
name="courierCompany"
|
||||
label="快递公司"
|
||||
options={courierCompany}
|
||||
placeholder="请选择快递公司"
|
||||
/>
|
||||
</Col>
|
||||
</Row>
|
||||
<ProFormText
|
||||
label="订单号"
|
||||
readonly
|
||||
|
|
@ -1908,7 +1955,7 @@ const Shipping: React.FC<{
|
|||
const originEmail = details.origin.email_addresses;
|
||||
const destinationEmail = details.destination.email_addresses;
|
||||
details.origin.email_addresses =
|
||||
details.origin.email_addresses.split(',');
|
||||
details.origin.email_addresses;
|
||||
details.destination.email_addresses =
|
||||
details.destination.email_addresses.split(',');
|
||||
details.destination.phone_number.number =
|
||||
|
|
@ -1917,6 +1964,7 @@ const Shipping: React.FC<{
|
|||
const res =
|
||||
await logisticscontrollerGetshipmentfee(
|
||||
{
|
||||
shipmentPlatform: data.shipmentPlatform,
|
||||
stockPointId: data.stockPointId,
|
||||
|
||||
sender: details.origin.contact_name,
|
||||
|
|
@ -2019,7 +2067,7 @@ const SalesChange: React.FC<{
|
|||
// value: item.sku,
|
||||
// })) || [],
|
||||
// );
|
||||
return { ...data};
|
||||
return { ...data };
|
||||
}}
|
||||
onFinish={async (formData: any) => {
|
||||
const { sales } = formData;
|
||||
|
|
@ -2033,14 +2081,14 @@ const SalesChange: React.FC<{
|
|||
return true;
|
||||
}}
|
||||
>
|
||||
<ProFormList
|
||||
<ProFormList
|
||||
label="换货订单"
|
||||
name="items"
|
||||
>
|
||||
<ProForm.Group>
|
||||
|
||||
<ProFormSelect
|
||||
params={{ }}
|
||||
params={{}}
|
||||
request={async ({ keyWords }) => {
|
||||
try {
|
||||
const { data } = await wpproductcontrollerSearchproducts({
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
// @ts-ignore
|
||||
/* eslint-disable */
|
||||
// API 更新时间:
|
||||
// API 唯一标识:
|
||||
// API 更新时间:
|
||||
// API 唯一标识:
|
||||
import * as customer from './customer';
|
||||
import * as logistics from './logistics';
|
||||
import * as order from './order';
|
||||
|
|
|
|||
|
|
@ -30,6 +30,20 @@ export async function ordercontrollerDelorder(
|
|||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 GET /order/${param0}/related */
|
||||
export async function ordercontrollerGetrelatedbyorder(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: API.ordercontrollerGetrelatedbyorderParams,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
const { orderId: param0, ...queryParams } = params;
|
||||
return request<any>(`/order/${param0}/related`, {
|
||||
method: 'GET',
|
||||
params: { ...queryParams },
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 POST /order/createNote */
|
||||
export async function ordercontrollerCreatenote(
|
||||
body: API.CreateOrderNoteDTO,
|
||||
|
|
@ -60,6 +74,36 @@ export async function ordercontrollerGetorderbynumber(
|
|||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 GET /order/getOrderItemList */
|
||||
export async function ordercontrollerGetorderitemlist(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: API.ordercontrollerGetorderitemlistParams,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<any>('/order/getOrderItemList', {
|
||||
method: 'GET',
|
||||
params: {
|
||||
...params,
|
||||
},
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 GET /order/getOrderItems */
|
||||
export async function ordercontrollerGetorderitems(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: API.ordercontrollerGetorderitemsParams,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<any>('/order/getOrderItems', {
|
||||
method: 'GET',
|
||||
params: {
|
||||
...params,
|
||||
},
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 GET /order/getOrders */
|
||||
export async function ordercontrollerGetorders(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
|
|
|
|||
|
|
@ -9,3 +9,78 @@ export async function sitecontrollerAll(options?: { [key: string]: any }) {
|
|||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 POST /site/create */
|
||||
export async function sitecontrollerCreate(
|
||||
body: API.CreateSiteDTO,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
return request<any>('/site/create', {
|
||||
method: 'POST',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 PUT /site/disable/${param0} */
|
||||
export async function sitecontrollerDisable(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: API.sitecontrollerDisableParams,
|
||||
body: API.DisableSiteDTO,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
const { id: param0, ...queryParams } = params;
|
||||
return request<any>(`/site/disable/${param0}`, {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
params: { ...queryParams },
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 GET /site/get/${param0} */
|
||||
export async function sitecontrollerGet(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: API.sitecontrollerGetParams,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
const { id: param0, ...queryParams } = params;
|
||||
return request<any>(`/site/get/${param0}`, {
|
||||
method: 'GET',
|
||||
params: { ...queryParams },
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 GET /site/list */
|
||||
export async function sitecontrollerList(options?: { [key: string]: any }) {
|
||||
return request<any>('/site/list', {
|
||||
method: 'GET',
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
||||
/** 此处后端没有提供注释 PUT /site/update/${param0} */
|
||||
export async function sitecontrollerUpdate(
|
||||
// 叠加生成的Param类型 (非body参数swagger默认没有生成对象)
|
||||
params: API.sitecontrollerUpdateParams,
|
||||
body: API.UpdateSiteDTO,
|
||||
options?: { [key: string]: any },
|
||||
) {
|
||||
const { id: param0, ...queryParams } = params;
|
||||
return request<any>(`/site/update/${param0}`, {
|
||||
method: 'PUT',
|
||||
headers: {
|
||||
'Content-Type': 'application/json',
|
||||
},
|
||||
params: { ...queryParams },
|
||||
data: body,
|
||||
...(options || {}),
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,6 +82,8 @@ declare namespace API {
|
|||
items?: PurchaseOrderItem[];
|
||||
};
|
||||
|
||||
type CreateSiteDTO = {};
|
||||
|
||||
type CreateStockPointDTO = {
|
||||
name?: string;
|
||||
location?: string;
|
||||
|
|
@ -134,6 +136,8 @@ declare namespace API {
|
|||
SignatureRequirementEnum?: any;
|
||||
};
|
||||
|
||||
type DisableSiteDTO = {};
|
||||
|
||||
type Location = {
|
||||
name?: string;
|
||||
address?: Address;
|
||||
|
|
@ -299,6 +303,32 @@ declare namespace API {
|
|||
orderId: number;
|
||||
};
|
||||
|
||||
type ordercontrollerGetorderitemlistParams = {
|
||||
/** 页码 */
|
||||
current?: number;
|
||||
/** 每页大小 */
|
||||
pageSize?: number;
|
||||
siteId?: string;
|
||||
name?: string;
|
||||
externalProductId?: string;
|
||||
externalVariationId?: string;
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
};
|
||||
|
||||
type ordercontrollerGetorderitemsParams = {
|
||||
isSource?: boolean;
|
||||
exceptPackage?: boolean;
|
||||
/** 页码 */
|
||||
current?: number;
|
||||
/** 每页大小 */
|
||||
pageSize?: number;
|
||||
siteId?: string;
|
||||
name?: string;
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
};
|
||||
|
||||
type ordercontrollerGetordersalesParams = {
|
||||
isSource?: boolean;
|
||||
exceptPackage?: boolean;
|
||||
|
|
@ -338,6 +368,12 @@ declare namespace API {
|
|||
| 'return-approved'
|
||||
| 'return-cancelled';
|
||||
payment_method?: string;
|
||||
/** 仅订阅订单(父订阅订单或包含订阅商品) */
|
||||
isSubscriptionOnly?: boolean;
|
||||
};
|
||||
|
||||
type ordercontrollerGetrelatedbyorderParams = {
|
||||
orderId: number;
|
||||
};
|
||||
|
||||
type ordercontrollerRefundorderParams = {
|
||||
|
|
@ -437,8 +473,17 @@ declare namespace API {
|
|||
subtotal_tax?: number;
|
||||
total?: number;
|
||||
total_tax?: number;
|
||||
tax_class?: string;
|
||||
taxes?: any;
|
||||
meta_data?: any;
|
||||
sku?: string;
|
||||
global_unique_id?: string;
|
||||
price?: number;
|
||||
image?: Record<string, any>;
|
||||
parent_name?: string;
|
||||
bundled_by?: string;
|
||||
bundled_item_title?: string;
|
||||
bundled_items?: any;
|
||||
/** 创建时间 */
|
||||
createdAt: string;
|
||||
/** 更新时间 */
|
||||
|
|
@ -570,7 +615,7 @@ declare namespace API {
|
|||
startDate?: string;
|
||||
endDate?: string;
|
||||
keyword?: string;
|
||||
siteId?: string;
|
||||
siteId?: number;
|
||||
purchaseType?: 'all' | 'first_purchase' | 'repeat_purchase';
|
||||
orderType?: 'all' | 'cpc' | 'non_cpc';
|
||||
brand?: 'all' | 'zyn' | 'yoone' | 'zolt';
|
||||
|
|
@ -867,6 +912,21 @@ declare namespace API {
|
|||
| 'return-approved'
|
||||
| 'return-cancelled';
|
||||
payment_method?: string;
|
||||
/** 仅订阅订单(父订阅订单或包含订阅商品) */
|
||||
isSubscriptionOnly?: boolean;
|
||||
};
|
||||
|
||||
type QueryOrderItemDTO = {
|
||||
/** 页码 */
|
||||
current?: number;
|
||||
/** 每页大小 */
|
||||
pageSize?: number;
|
||||
siteId?: string;
|
||||
name?: string;
|
||||
externalProductId?: string;
|
||||
externalVariationId?: string;
|
||||
startDate?: string;
|
||||
endDate?: string;
|
||||
};
|
||||
|
||||
type QueryOrderSalesDTO = {
|
||||
|
|
@ -918,6 +978,8 @@ declare namespace API {
|
|||
isActive?: boolean;
|
||||
};
|
||||
|
||||
type QuerySiteDTO = {};
|
||||
|
||||
type QueryStockDTO = {
|
||||
/** 页码 */
|
||||
current?: number;
|
||||
|
|
@ -965,7 +1027,7 @@ declare namespace API {
|
|||
| 'pending-cancel';
|
||||
/** 客户邮箱 */
|
||||
customer_email?: string;
|
||||
/** 关键字(订阅ID、邮箱等) */
|
||||
/** 关键字(订阅ID、邮箱等) */
|
||||
keyword?: string;
|
||||
};
|
||||
|
||||
|
|
@ -1047,12 +1109,14 @@ declare namespace API {
|
|||
details?: ShippingDetailsDTO;
|
||||
stockPointId?: number;
|
||||
orderIds?: number[];
|
||||
shipmentPlatform?: string;
|
||||
};
|
||||
|
||||
type ShipmentFeeBookDTO = {
|
||||
shipmentPlatform?: string;
|
||||
stockPointId?: number;
|
||||
sender?: string;
|
||||
startPhone?: string;
|
||||
startPhone?: Record<string, any>;
|
||||
startPostalCode?: string;
|
||||
pickupAddress?: string;
|
||||
shipperCountryCode?: string;
|
||||
|
|
@ -1070,6 +1134,7 @@ declare namespace API {
|
|||
dimensionUom?: string;
|
||||
weight?: number;
|
||||
weightUom?: string;
|
||||
address_id?: number;
|
||||
};
|
||||
|
||||
type ShippingAddress = {
|
||||
|
|
@ -1111,17 +1176,29 @@ declare namespace API {
|
|||
/** 站点 ID */
|
||||
id?: string;
|
||||
/** 站点 URL */
|
||||
wpApiUrl?: string;
|
||||
apiUrl?: string;
|
||||
/** 站点 rest key */
|
||||
consumerKey?: string;
|
||||
/** 站点 rest 秘钥 */
|
||||
consumerSecret?: string;
|
||||
/** 站点名 */
|
||||
siteName?: string;
|
||||
/** 站点邮箱 */
|
||||
email?: string;
|
||||
/** 站点邮箱密码 */
|
||||
emailPswd?: string;
|
||||
/** 平台类型 */
|
||||
type?: 'woocommerce' | 'shopyy';
|
||||
/** SKU 前缀 */
|
||||
skuPrefix?: string;
|
||||
};
|
||||
|
||||
type sitecontrollerDisableParams = {
|
||||
id: string;
|
||||
};
|
||||
|
||||
type sitecontrollerGetParams = {
|
||||
id: string;
|
||||
};
|
||||
|
||||
type sitecontrollerUpdateParams = {
|
||||
id: string;
|
||||
};
|
||||
|
||||
type SkuItemDTO = {
|
||||
|
|
@ -1345,7 +1422,7 @@ declare namespace API {
|
|||
billing_interval?: number;
|
||||
customer_id?: number;
|
||||
customer_email?: string;
|
||||
/** 父订单/父订阅ID(如有) */
|
||||
/** 父订单/父订阅ID(如有) */
|
||||
parent_id?: number;
|
||||
start_date?: string;
|
||||
trial_end?: string;
|
||||
|
|
@ -1376,7 +1453,7 @@ declare namespace API {
|
|||
| 'pending-cancel';
|
||||
/** 客户邮箱 */
|
||||
customer_email?: string;
|
||||
/** 关键字(订阅ID、邮箱等) */
|
||||
/** 关键字(订阅ID、邮箱等) */
|
||||
keyword?: string;
|
||||
};
|
||||
|
||||
|
|
@ -1446,6 +1523,8 @@ declare namespace API {
|
|||
items?: PurchaseOrderItem[];
|
||||
};
|
||||
|
||||
type UpdateSiteDTO = {};
|
||||
|
||||
type UpdateStockDTO = {
|
||||
stockPointId?: number;
|
||||
productSku?: string;
|
||||
|
|
|
|||
Loading…
Reference in New Issue