style: 统一中文标点符号为英文格式
This commit is contained in:
parent
ea9c95c72f
commit
3129b9f281
|
|
@ -7,6 +7,7 @@ import dayjs from 'dayjs';
|
||||||
import { ordercontrollerGetordersales } from '@/servers/api/order';
|
import { ordercontrollerGetordersales } from '@/servers/api/order';
|
||||||
import { sitecontrollerAll } from '@/servers/api/site';
|
import { sitecontrollerAll } from '@/servers/api/site';
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 列表行数据结构(订单商品聚合)
|
// 列表行数据结构(订单商品聚合)
|
||||||
interface OrderItemAggRow {
|
interface OrderItemAggRow {
|
||||||
|
|
@ -21,10 +22,14 @@ interface OrderItemAggRow {
|
||||||
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
|
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
|
||||||
=======
|
=======
|
||||||
// 列表行数据结构(订单商品聚合)
|
// 列表行数据结构(订单商品聚合)
|
||||||
|
=======
|
||||||
|
// 列表行数据结构(订单商品聚合)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
interface OrderItemAggRow {
|
interface OrderItemAggRow {
|
||||||
externalProductId: number; // 商品ID(来自 WooCommerce 产品ID)
|
externalProductId: number; // 商品ID(来自 WooCommerce 产品ID)
|
||||||
externalVariationId: number; // 变体ID(来自 WooCommerce 变体ID)
|
externalVariationId: number; // 变体ID(来自 WooCommerce 变体ID)
|
||||||
name: string; // 商品名称
|
name: string; // 商品名称
|
||||||
|
<<<<<<< HEAD
|
||||||
totalQuantity: number; // 总售出数量(时间范围内)
|
totalQuantity: number; // 总售出数量(时间范围内)
|
||||||
totalOrders: number; // 涉及订单数(去重)
|
totalOrders: number; // 涉及订单数(去重)
|
||||||
firstOrderCount: number; // 客户首单次数(该商品)
|
firstOrderCount: number; // 客户首单次数(该商品)
|
||||||
|
|
@ -32,17 +37,29 @@ interface OrderItemAggRow {
|
||||||
thirdOrderCount: number; // 客户第三次购买次数(该商品)
|
thirdOrderCount: number; // 客户第三次购买次数(该商品)
|
||||||
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
|
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
totalQuantity: number; // 总售出数量(时间范围内)
|
||||||
|
totalOrders: number; // 涉及订单数(去重)
|
||||||
|
firstOrderCount: number; // 客户首单次数(该商品)
|
||||||
|
secondOrderCount: number; // 客户第二次购买次数(该商品)
|
||||||
|
thirdOrderCount: number; // 客户第三次购买次数(该商品)
|
||||||
|
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
}
|
}
|
||||||
|
|
||||||
const OrderItemsPage: React.FC = () => {
|
const OrderItemsPage: React.FC = () => {
|
||||||
const actionRef = useRef<ActionType>();
|
const actionRef = useRef<ActionType>();
|
||||||
const { message } = App.useApp();
|
const { message } = App.useApp();
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
|
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
|
||||||
=======
|
=======
|
||||||
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
|
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const columns: ProColumns<OrderItemAggRow>[] = [
|
const columns: ProColumns<OrderItemAggRow>[] = [
|
||||||
{
|
{
|
||||||
title: '商品名称',
|
title: '商品名称',
|
||||||
|
|
@ -103,11 +120,15 @@ const OrderItemsPage: React.FC = () => {
|
||||||
dataIndex: 'siteId',
|
dataIndex: 'siteId',
|
||||||
valueType: 'select',
|
valueType: 'select',
|
||||||
request: async () => {
|
request: async () => {
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 拉取站点列表(后台 /site/all)
|
// 拉取站点列表(后台 /site/all)
|
||||||
=======
|
=======
|
||||||
// 拉取站点列表(后台 /site/all)
|
// 拉取站点列表(后台 /site/all)
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
// 拉取站点列表(后台 /site/all)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const { data = [] } = await sitecontrollerAll();
|
const { data = [] } = await sitecontrollerAll();
|
||||||
return (data || []).map((item: any) => ({ label: item.siteName, value: item.id }));
|
return (data || []).map((item: any) => ({ label: item.siteName, value: item.id }));
|
||||||
},
|
},
|
||||||
|
|
@ -125,20 +146,28 @@ const OrderItemsPage: React.FC = () => {
|
||||||
},
|
},
|
||||||
];
|
];
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
|
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
|
||||||
=======
|
=======
|
||||||
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
|
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const request: ProTableProps<OrderItemAggRow>['request'] = async (params:any) => {
|
const request: ProTableProps<OrderItemAggRow>['request'] = async (params:any) => {
|
||||||
try {
|
try {
|
||||||
const { current = 1, pageSize = 10, siteId, name } = params as any;
|
const { current = 1, pageSize = 10, siteId, name } = params as any;
|
||||||
const [startDate, endDate] = (params as any).dateRange || [];
|
const [startDate, endDate] = (params as any).dateRange || [];
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 调用后端接口(isSource=true 表示按订单项聚合)
|
// 调用后端接口(isSource=true 表示按订单项聚合)
|
||||||
=======
|
=======
|
||||||
// 调用后端接口(isSource=true 表示按订单项聚合)
|
// 调用后端接口(isSource=true 表示按订单项聚合)
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
// 调用后端接口(isSource=true 表示按订单项聚合)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const resp = await ordercontrollerGetordersales({
|
const resp = await ordercontrollerGetordersales({
|
||||||
current,
|
current,
|
||||||
pageSize,
|
pageSize,
|
||||||
|
|
|
||||||
|
|
@ -914,10 +914,14 @@ const Detail: React.FC<{
|
||||||
<ul>
|
<ul>
|
||||||
{record?.items?.map((item: any) => (
|
{record?.items?.map((item: any) => (
|
||||||
<li key={item.id}>
|
<li key={item.id}>
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
{item.name}:{item.quantity}
|
{item.name}:{item.quantity}
|
||||||
=======
|
=======
|
||||||
{item.name}:{item.quantity}
|
{item.name}:{item.quantity}
|
||||||
|
=======
|
||||||
|
{item.name}:{item.quantity}
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
</li>
|
</li>
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
|
|
|
||||||
|
|
@ -152,22 +152,30 @@ const ListPage: React.FC = () => {
|
||||||
message.warning('该订阅缺少父订单号');
|
message.warning('该订阅缺少父订单号');
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 通过父订单号查询关联订单(模糊匹配)
|
// 通过父订单号查询关联订单(模糊匹配)
|
||||||
=======
|
=======
|
||||||
// 通过父订单号查询关联订单(模糊匹配)
|
// 通过父订单号查询关联订单(模糊匹配)
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
// 通过父订单号查询关联订单(模糊匹配)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const resp = await request('/order/getOrderByNumber', {
|
const resp = await request('/order/getOrderByNumber', {
|
||||||
method: 'POST',
|
method: 'POST',
|
||||||
data: { number: parentNumber },
|
data: { number: parentNumber },
|
||||||
});
|
});
|
||||||
const { success, data, message: errMsg } = resp as any;
|
const { success, data, message: errMsg } = resp as any;
|
||||||
if (!success) throw new Error(errMsg || '获取失败');
|
if (!success) throw new Error(errMsg || '获取失败');
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
|
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
|
||||||
=======
|
=======
|
||||||
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
|
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const candidates: any[] = (Array.isArray(data) ? data : []).filter(
|
const candidates: any[] = (Array.isArray(data) ? data : []).filter(
|
||||||
(c: any) => String(c?.externalOrderId) === parentNumber
|
(c: any) => String(c?.externalOrderId) === parentNumber
|
||||||
);
|
);
|
||||||
|
|
@ -232,11 +240,15 @@ const ListPage: React.FC = () => {
|
||||||
// 工具栏:订阅同步入口
|
// 工具栏:订阅同步入口
|
||||||
toolBarRender={() => [<SyncForm key="sync" tableRef={actionRef} />]}
|
toolBarRender={() => [<SyncForm key="sync" tableRef={actionRef} />]}
|
||||||
/>
|
/>
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
|
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
|
||||||
=======
|
=======
|
||||||
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
|
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
<Drawer
|
<Drawer
|
||||||
open={drawerOpen}
|
open={drawerOpen}
|
||||||
title={drawerTitle}
|
title={drawerTitle}
|
||||||
|
|
@ -250,11 +262,15 @@ const ListPage: React.FC = () => {
|
||||||
<List.Item>
|
<List.Item>
|
||||||
<List.Item.Meta
|
<List.Item.Meta
|
||||||
title={`#${item?.externalOrderId || '-'}`}
|
title={`#${item?.externalOrderId || '-'}`}
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
|
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
|
||||||
=======
|
=======
|
||||||
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
|
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
|
||||||
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
>>>>>>> 90ea0f5 (feat(订单): 添加关联订单显示功能并创建订单商品和订阅订单页面)
|
||||||
|
=======
|
||||||
|
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
/>
|
/>
|
||||||
<div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>
|
<div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>
|
||||||
<span>{item?.date_created ? dayjs(item.date_created).format('YYYY-MM-DD HH:mm') : '-'}</span>
|
<span>{item?.date_created ? dayjs(item.date_created).format('YYYY-MM-DD HH:mm') : '-'}</span>
|
||||||
|
|
|
||||||
|
|
@ -13,11 +13,15 @@ import {
|
||||||
import { ActionType, ProDescriptions } from '@ant-design/pro-components';
|
import { ActionType, ProDescriptions } from '@ant-design/pro-components';
|
||||||
import { CopyOutlined, DeleteFilled } from '@ant-design/icons';
|
import { CopyOutlined, DeleteFilled } from '@ant-design/icons';
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 服务器 API 引用(保持与原 index.tsx 一致)
|
// 服务器 API 引用(保持与原 index.tsx 一致)
|
||||||
=======
|
=======
|
||||||
// 服务器 API 引用(保持与原 index.tsx 一致)
|
// 服务器 API 引用(保持与原 index.tsx 一致)
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
// 服务器 API 引用(保持与原 index.tsx 一致)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
import {
|
import {
|
||||||
ordercontrollerChangestatus,
|
ordercontrollerChangestatus,
|
||||||
ordercontrollerGetorderdetail,
|
ordercontrollerGetorderdetail,
|
||||||
|
|
@ -31,11 +35,15 @@ import { formatShipmentState, formatSource } from '@/utils/format';
|
||||||
import RelatedOrders from './RelatedOrders';
|
import RelatedOrders from './RelatedOrders';
|
||||||
import { ORDER_STATUS_ENUM } from '@/constants';
|
import { ORDER_STATUS_ENUM } from '@/constants';
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
|
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
|
||||||
=======
|
=======
|
||||||
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
|
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
// 若后续需要彻底解耦,可将 OrderNote / Shipping / SalesChange 也独立到文件
|
// 若后续需要彻底解耦,可将 OrderNote / Shipping / SalesChange 也独立到文件
|
||||||
// 当前按你的要求仅抽离详情 Drawer
|
// 当前按你的要求仅抽离详情 Drawer
|
||||||
|
|
||||||
|
|
@ -43,6 +51,9 @@ type OrderRecord = API.Order;
|
||||||
|
|
||||||
interface OrderDetailDrawerProps {
|
interface OrderDetailDrawerProps {
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
tableRef: React.MutableRefObject<ActionType | undefined>; // 中文注释:列表刷新引用
|
tableRef: React.MutableRefObject<ActionType | undefined>; // 中文注释:列表刷新引用
|
||||||
orderId: number; // 中文注释:订单主键 ID
|
orderId: number; // 中文注释:订单主键 ID
|
||||||
record: OrderRecord; // 中文注释:订单行记录
|
record: OrderRecord; // 中文注释:订单行记录
|
||||||
|
|
@ -51,6 +62,7 @@ interface OrderDetailDrawerProps {
|
||||||
setActiveLine: (id: number) => void; // 中文注释:高亮当前行
|
setActiveLine: (id: number) => void; // 中文注释:高亮当前行
|
||||||
OrderNoteComponent: React.ComponentType<any>; // 中文注释:备注组件(从外部注入)
|
OrderNoteComponent: React.ComponentType<any>; // 中文注释:备注组件(从外部注入)
|
||||||
SalesChangeComponent: React.ComponentType<any>; // 中文注释:换货组件(从外部注入)
|
SalesChangeComponent: React.ComponentType<any>; // 中文注释:换货组件(从外部注入)
|
||||||
|
<<<<<<< HEAD
|
||||||
=======
|
=======
|
||||||
tableRef: React.MutableRefObject<ActionType | undefined>; // 中文注释:列表刷新引用
|
tableRef: React.MutableRefObject<ActionType | undefined>; // 中文注释:列表刷新引用
|
||||||
orderId: number; // 中文注释:订单主键 ID
|
orderId: number; // 中文注释:订单主键 ID
|
||||||
|
|
@ -61,6 +73,8 @@ interface OrderDetailDrawerProps {
|
||||||
OrderNoteComponent: React.ComponentType<any>; // 中文注释:备注组件(从外部注入)
|
OrderNoteComponent: React.ComponentType<any>; // 中文注释:备注组件(从外部注入)
|
||||||
SalesChangeComponent: React.ComponentType<any>; // 中文注释:换货组件(从外部注入)
|
SalesChangeComponent: React.ComponentType<any>; // 中文注释:换货组件(从外部注入)
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
}
|
}
|
||||||
|
|
||||||
const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
|
|
@ -76,11 +90,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
const { message } = App.useApp();
|
const { message } = App.useApp();
|
||||||
const ref = useRef<ActionType>();
|
const ref = useRef<ActionType>();
|
||||||
|
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
|
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
|
||||||
=======
|
=======
|
||||||
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
|
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const initRequest = async () => {
|
const initRequest = async () => {
|
||||||
const { data, success }: API.OrderDetailRes = await ordercontrollerGetorderdetail({ orderId });
|
const { data, success }: API.OrderDetailRes = await ordercontrollerGetorderdetail({ orderId });
|
||||||
if (!success || !data) return { data: {} } as any;
|
if (!success || !data) return { data: {} } as any;
|
||||||
|
|
@ -107,11 +125,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
size="large"
|
size="large"
|
||||||
onClose={onClose}
|
onClose={onClose}
|
||||||
footer={[
|
footer={[
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 中文注释:备注组件(外部传入以避免循环依赖)
|
// 中文注释:备注组件(外部传入以避免循环依赖)
|
||||||
=======
|
=======
|
||||||
// 中文注释:备注组件(外部传入以避免循环依赖)
|
// 中文注释:备注组件(外部传入以避免循环依赖)
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
// 中文注释:备注组件(外部传入以避免循环依赖)
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
<OrderNoteComponent key="order-note" id={orderId} descRef={ref} />,
|
<OrderNoteComponent key="order-note" id={orderId} descRef={ref} />,
|
||||||
...(['after_sale_pending', 'pending_reshipment'].includes(
|
...(['after_sale_pending', 'pending_reshipment'].includes(
|
||||||
record.orderStatus,
|
record.orderStatus,
|
||||||
|
|
@ -269,6 +291,9 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
<ProDescriptions.Item label="发货信息" span={3} render={(_, r: any) => (
|
<ProDescriptions.Item label="发货信息" span={3} render={(_, r: any) => (
|
||||||
<div>
|
<div>
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
|
=======
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
<div>company:<span>{r?.shipping?.company || r?.billing?.company || '-'}</span></div>
|
<div>company:<span>{r?.shipping?.company || r?.billing?.company || '-'}</span></div>
|
||||||
<div>first_name:<span>{r?.shipping?.first_name || r?.billing?.first_name || '-'}</span></div>
|
<div>first_name:<span>{r?.shipping?.first_name || r?.billing?.first_name || '-'}</span></div>
|
||||||
<div>last_name:<span>{r?.shipping?.last_name || r?.billing?.last_name || '-'}</span></div>
|
<div>last_name:<span>{r?.shipping?.last_name || r?.billing?.last_name || '-'}</span></div>
|
||||||
|
|
@ -278,6 +303,7 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
<div>postcode:<span>{r?.shipping?.postcode || r?.billing?.postcode || '-'}</span></div>
|
<div>postcode:<span>{r?.shipping?.postcode || r?.billing?.postcode || '-'}</span></div>
|
||||||
<div>phone:<span>{r?.shipping?.phone || r?.billing?.phone || '-'}</span></div>
|
<div>phone:<span>{r?.shipping?.phone || r?.billing?.phone || '-'}</span></div>
|
||||||
<div>address_1:<span>{r?.shipping?.address_1 || r?.billing?.address_1 || '-'}</span></div>
|
<div>address_1:<span>{r?.shipping?.address_1 || r?.billing?.address_1 || '-'}</span></div>
|
||||||
|
<<<<<<< HEAD
|
||||||
=======
|
=======
|
||||||
<div>company:<span>{r?.shipping?.company || r?.billing?.company || '-'}</span></div>
|
<div>company:<span>{r?.shipping?.company || r?.billing?.company || '-'}</span></div>
|
||||||
<div>first_name:<span>{r?.shipping?.first_name || r?.billing?.first_name || '-'}</span></div>
|
<div>first_name:<span>{r?.shipping?.first_name || r?.billing?.first_name || '-'}</span></div>
|
||||||
|
|
@ -289,16 +315,22 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
<div>phone:<span>{r?.shipping?.phone || r?.billing?.phone || '-'}</span></div>
|
<div>phone:<span>{r?.shipping?.phone || r?.billing?.phone || '-'}</span></div>
|
||||||
<div>address_1:<span>{r?.shipping?.address_1 || r?.billing?.address_1 || '-'}</span></div>
|
<div>address_1:<span>{r?.shipping?.address_1 || r?.billing?.address_1 || '-'}</span></div>
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
</div>
|
</div>
|
||||||
)} />
|
)} />
|
||||||
<ProDescriptions.Item label="原始订单" span={3} render={(_, r: any) => (
|
<ProDescriptions.Item label="原始订单" span={3} render={(_, r: any) => (
|
||||||
<ul>
|
<ul>
|
||||||
{(r?.items || []).map((item: any) => (
|
{(r?.items || []).map((item: any) => (
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
<li key={item.id}>{item.name}:{item.quantity}</li>
|
<li key={item.id}>{item.name}:{item.quantity}</li>
|
||||||
=======
|
=======
|
||||||
<li key={item.id}>{item.name}:{item.quantity}</li>
|
<li key={item.id}>{item.name}:{item.quantity}</li>
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
<li key={item.id}>{item.name}:{item.quantity}</li>
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
)} />
|
)} />
|
||||||
|
|
@ -308,11 +340,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
<ProDescriptions.Item label="订单内容" span={3} render={(_, r: any) => (
|
<ProDescriptions.Item label="订单内容" span={3} render={(_, r: any) => (
|
||||||
<ul>
|
<ul>
|
||||||
{(r?.sales || []).map((item: any) => (
|
{(r?.sales || []).map((item: any) => (
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
<li key={item.id}>{item.name}:{item.quantity}</li>
|
<li key={item.id}>{item.name}:{item.quantity}</li>
|
||||||
=======
|
=======
|
||||||
<li key={item.id}>{item.name}:{item.quantity}</li>
|
<li key={item.id}>{item.name}:{item.quantity}</li>
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
<li key={item.id}>{item.name}:{item.quantity}</li>
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
))}
|
))}
|
||||||
</ul>
|
</ul>
|
||||||
)} />
|
)} />
|
||||||
|
|
@ -357,11 +393,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
|
||||||
</Popconfirm>
|
</Popconfirm>
|
||||||
] : [] }
|
] : [] }
|
||||||
>
|
>
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
<div>订单号: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
|
<div>订单号: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
|
||||||
=======
|
=======
|
||||||
<div>订单号: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
|
<div>订单号: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
<div>订单号: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
{Array.isArray(v?.items) && v.items.map((item: any) => (
|
{Array.isArray(v?.items) && v.items.map((item: any) => (
|
||||||
<div key={item.id}>{item.name}: {item.quantity}</div>
|
<div key={item.id}>{item.name}: {item.quantity}</div>
|
||||||
))}
|
))}
|
||||||
|
|
|
||||||
|
|
@ -7,6 +7,7 @@ dayjs.extend(relativeTime);
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* RelatedOrders 表格组件
|
* RelatedOrders 表格组件
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
* 用于展示订单详情中的关联数据(订阅/订单),按统一表格样式渲染
|
* 用于展示订单详情中的关联数据(订阅/订单),按统一表格样式渲染
|
||||||
* 中文注释:本组件将订阅与订单统一归一化为五列展示,便于快速浏览
|
* 中文注释:本组件将订阅与订单统一归一化为五列展示,便于快速浏览
|
||||||
|
|
@ -14,6 +15,10 @@ dayjs.extend(relativeTime);
|
||||||
* 用于展示订单详情中的关联数据(订阅/订单),按统一表格样式渲染
|
* 用于展示订单详情中的关联数据(订阅/订单),按统一表格样式渲染
|
||||||
* 中文注释:本组件将订阅与订单统一归一化为五列展示,便于快速浏览
|
* 中文注释:本组件将订阅与订单统一归一化为五列展示,便于快速浏览
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
* 用于展示订单详情中的关联数据(订阅/订单),按统一表格样式渲染
|
||||||
|
* 中文注释:本组件将订阅与订单统一归一化为五列展示,便于快速浏览
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
*/
|
*/
|
||||||
const RelatedOrders: React.FC<{ data?: any[] }> = ({ data = [] }) => {
|
const RelatedOrders: React.FC<{ data?: any[] }> = ({ data = [] }) => {
|
||||||
const rows = (Array.isArray(data) ? data : []).map((it: any) => {
|
const rows = (Array.isArray(data) ? data : []).map((it: any) => {
|
||||||
|
|
@ -34,11 +39,15 @@ const RelatedOrders: React.FC<{ data?: any[] }> = ({ data = [] }) => {
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<div style={{ width: '100%' }}>
|
<div style={{ width: '100%' }}>
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
{/* 表头(英文文案,符合国际化默认英文的要求) */}
|
{/* 表头(英文文案,符合国际化默认英文的要求) */}
|
||||||
=======
|
=======
|
||||||
{/* 表头(英文文案,符合国际化默认英文的要求) */}
|
{/* 表头(英文文案,符合国际化默认英文的要求) */}
|
||||||
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
>>>>>>> d98e843 (refactor(订单): 重构订单详情抽屉组件并移动相关文件)
|
||||||
|
=======
|
||||||
|
{/* 表头(英文文案,符合国际化默认英文的要求) */}
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
<div style={{ display: 'grid', gridTemplateColumns: '1.5fr 1fr 1fr 1fr 1fr', padding: '8px 0', fontWeight: 600 }}>
|
<div style={{ display: 'grid', gridTemplateColumns: '1.5fr 1fr 1fr 1fr 1fr', padding: '8px 0', fontWeight: 600 }}>
|
||||||
<div>订单编号</div>
|
<div>订单编号</div>
|
||||||
<div>关系</div>
|
<div>关系</div>
|
||||||
|
|
|
||||||
|
|
@ -42,11 +42,15 @@ const OrdersPage: React.FC = () => {
|
||||||
const actionRef = useRef<ActionType>();
|
const actionRef = useRef<ActionType>();
|
||||||
const { message } = App.useApp();
|
const { message } = App.useApp();
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
// 抽屉状态:改为复用订单详情抽屉组件
|
// 抽屉状态:改为复用订单详情抽屉组件
|
||||||
=======
|
=======
|
||||||
// 抽屉状态:改为复用订单详情抽屉组件
|
// 抽屉状态:改为复用订单详情抽屉组件
|
||||||
>>>>>>> 1f4128f (refactor(订单): 抽离订单详情抽屉为独立组件并复用)
|
>>>>>>> 1f4128f (refactor(订单): 抽离订单详情抽屉为独立组件并复用)
|
||||||
|
=======
|
||||||
|
// 抽屉状态:改为复用订单详情抽屉组件
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
const [detailOpen, setDetailOpen] = useState(false);
|
const [detailOpen, setDetailOpen] = useState(false);
|
||||||
const [detailRecord, setDetailRecord] = useState<any | null>(null);
|
const [detailRecord, setDetailRecord] = useState<any | null>(null);
|
||||||
const [detailOrderId, setDetailOrderId] = useState<number | null>(null);
|
const [detailOrderId, setDetailOrderId] = useState<number | null>(null);
|
||||||
|
|
@ -229,11 +233,15 @@ const OrdersPage: React.FC = () => {
|
||||||
toolBarRender={false}
|
toolBarRender={false}
|
||||||
/>
|
/>
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
|
<<<<<<< HEAD
|
||||||
<<<<<<< HEAD
|
<<<<<<< HEAD
|
||||||
{/* 订阅关联:直接使用订单详情抽屉组件 */}
|
{/* 订阅关联:直接使用订单详情抽屉组件 */}
|
||||||
=======
|
=======
|
||||||
{/* 订阅关联:直接使用订单详情抽屉组件 */}
|
{/* 订阅关联:直接使用订单详情抽屉组件 */}
|
||||||
>>>>>>> 1f4128f (refactor(订单): 抽离订单详情抽屉为独立组件并复用)
|
>>>>>>> 1f4128f (refactor(订单): 抽离订单详情抽屉为独立组件并复用)
|
||||||
|
=======
|
||||||
|
{/* 订阅关联:直接使用订单详情抽屉组件 */}
|
||||||
|
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
|
||||||
{detailRecord && detailOrderId !== null && (
|
{detailRecord && detailOrderId !== null && (
|
||||||
<OrderDetailDrawer
|
<OrderDetailDrawer
|
||||||
open={detailOpen}
|
open={detailOpen}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue