style: 统一中文标点符号为英文格式

This commit is contained in:
tikkhun 2025-11-21 17:16:30 +08:00
parent ea9c95c72f
commit 3129b9f281
6 changed files with 108 additions and 2 deletions

View File

@ -7,6 +7,7 @@ import dayjs from 'dayjs';
import { ordercontrollerGetordersales } from '@/servers/api/order';
import { sitecontrollerAll } from '@/servers/api/site';
<<<<<<< HEAD
<<<<<<< HEAD
// 列表行数据结构(订单商品聚合)
interface OrderItemAggRow {
@ -21,10 +22,14 @@ interface OrderItemAggRow {
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
=======
// 列表行数据结构(订单商品聚合)
=======
// 列表行数据结构(订单商品聚合)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
interface OrderItemAggRow {
externalProductId: number; // 商品ID来自 WooCommerce 产品ID
externalVariationId: number; // 变体ID来自 WooCommerce 变体ID
externalProductId: number; // 商品ID(来自 WooCommerce 产品ID)
externalVariationId: number; // 变体ID(来自 WooCommerce 变体ID)
name: string; // 商品名称
<<<<<<< HEAD
totalQuantity: number; // 总售出数量(时间范围内)
totalOrders: number; // 涉及订单数(去重)
firstOrderCount: number; // 客户首单次数(该商品)
@ -32,17 +37,29 @@ interface OrderItemAggRow {
thirdOrderCount: number; // 客户第三次购买次数(该商品)
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
>>>>>>> 90ea0f5 (feat(): )
=======
totalQuantity: number; // 总售出数量(时间范围内)
totalOrders: number; // 涉及订单数(去重)
firstOrderCount: number; // 客户首单次数(该商品)
secondOrderCount: number; // 客户第二次购买次数(该商品)
thirdOrderCount: number; // 客户第三次购买次数(该商品)
moreThirdOrderCount: number; // 客户超过三次购买次数(该商品)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
}
const OrderItemsPage: React.FC = () => {
const actionRef = useRef<ActionType>();
const { message } = App.useApp();
<<<<<<< HEAD
<<<<<<< HEAD
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
=======
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
>>>>>>> 90ea0f5 (feat(): )
=======
// 列配置(中文标题,符合当前项目风格;显示英文默认语言可后续走国际化)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const columns: ProColumns<OrderItemAggRow>[] = [
{
title: '商品名称',
@ -103,11 +120,15 @@ const OrderItemsPage: React.FC = () => {
dataIndex: 'siteId',
valueType: 'select',
request: async () => {
<<<<<<< HEAD
<<<<<<< HEAD
// 拉取站点列表(后台 /site/all)
=======
// 拉取站点列表(后台 /site/all
>>>>>>> 90ea0f5 (feat(): )
=======
// 拉取站点列表(后台 /site/all)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const { data = [] } = await sitecontrollerAll();
return (data || []).map((item: any) => ({ label: item.siteName, value: item.id }));
},
@ -125,20 +146,28 @@ const OrderItemsPage: React.FC = () => {
},
];
<<<<<<< HEAD
<<<<<<< HEAD
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
=======
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
>>>>>>> 90ea0f5 (feat(): )
=======
// 表格请求方法:调用 /order/getOrderSales 接口并设置 isSource=true 获取订单项聚合
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const request: ProTableProps<OrderItemAggRow>['request'] = async (params:any) => {
try {
const { current = 1, pageSize = 10, siteId, name } = params as any;
const [startDate, endDate] = (params as any).dateRange || [];
<<<<<<< HEAD
<<<<<<< HEAD
// 调用后端接口(isSource=true 表示按订单项聚合)
=======
// 调用后端接口isSource=true 表示按订单项聚合)
>>>>>>> 90ea0f5 (feat(): )
=======
// 调用后端接口(isSource=true 表示按订单项聚合)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const resp = await ordercontrollerGetordersales({
current,
pageSize,

View File

@ -914,10 +914,14 @@ const Detail: React.FC<{
<ul>
{record?.items?.map((item: any) => (
<li key={item.id}>
<<<<<<< HEAD
<<<<<<< HEAD
{item.name}:{item.quantity}
=======
{item.name}{item.quantity}
=======
{item.name}:{item.quantity}
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
</li>
))}
</ul>

View File

@ -152,22 +152,30 @@ const ListPage: React.FC = () => {
message.warning('该订阅缺少父订单号');
return;
}
<<<<<<< HEAD
<<<<<<< HEAD
// 通过父订单号查询关联订单(模糊匹配)
=======
// 通过父订单号查询关联订单(模糊匹配)
>>>>>>> 90ea0f5 (feat(): )
=======
// 通过父订单号查询关联订单(模糊匹配)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const resp = await request('/order/getOrderByNumber', {
method: 'POST',
data: { number: parentNumber },
});
const { success, data, message: errMsg } = resp as any;
if (!success) throw new Error(errMsg || '获取失败');
<<<<<<< HEAD
<<<<<<< HEAD
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
=======
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
>>>>>>> 90ea0f5 (feat(): )
=======
// 仅保留与父订单号完全一致的订单(避免模糊匹配误入)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const candidates: any[] = (Array.isArray(data) ? data : []).filter(
(c: any) => String(c?.externalOrderId) === parentNumber
);
@ -232,11 +240,15 @@ const ListPage: React.FC = () => {
// 工具栏:订阅同步入口
toolBarRender={() => [<SyncForm key="sync" tableRef={actionRef} />]}
/>
<<<<<<< HEAD
<<<<<<< HEAD
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
=======
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
>>>>>>> 90ea0f5 (feat(): )
=======
{/* 关联订单抽屉:展示订单号、关系、时间、状态与金额 */}
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
<Drawer
open={drawerOpen}
title={drawerTitle}
@ -250,11 +262,15 @@ const ListPage: React.FC = () => {
<List.Item>
<List.Item.Meta
title={`#${item?.externalOrderId || '-'}`}
<<<<<<< HEAD
<<<<<<< HEAD
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
=======
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
>>>>>>> 90ea0f5 (feat(): )
=======
description={`关系:${item?.relationship || '-'},站点:${item?.siteName || '-'}`}
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
/>
<div style={{ display: 'flex', gap: 12, alignItems: 'center' }}>
<span>{item?.date_created ? dayjs(item.date_created).format('YYYY-MM-DD HH:mm') : '-'}</span>

View File

@ -13,11 +13,15 @@ import {
import { ActionType, ProDescriptions } from '@ant-design/pro-components';
import { CopyOutlined, DeleteFilled } from '@ant-design/icons';
<<<<<<< HEAD
<<<<<<< HEAD
// 服务器 API 引用(保持与原 index.tsx 一致)
=======
// 服务器 API 引用(保持与原 index.tsx 一致)
>>>>>>> d98e843 (refactor(): )
=======
// 服务器 API 引用(保持与原 index.tsx 一致)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
import {
ordercontrollerChangestatus,
ordercontrollerGetorderdetail,
@ -31,11 +35,15 @@ import { formatShipmentState, formatSource } from '@/utils/format';
import RelatedOrders from './RelatedOrders';
import { ORDER_STATUS_ENUM } from '@/constants';
<<<<<<< HEAD
<<<<<<< HEAD
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
=======
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
>>>>>>> d98e843 (refactor(): )
=======
// 中文注释:为保持原文件结构简单,此处从 index.tsx 引入的子组件仍由原文件导出或保持原状
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
// 若后续需要彻底解耦,可将 OrderNote / Shipping / SalesChange 也独立到文件
// 当前按你的要求仅抽离详情 Drawer
@ -43,6 +51,9 @@ type OrderRecord = API.Order;
interface OrderDetailDrawerProps {
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
tableRef: React.MutableRefObject<ActionType | undefined>; // 中文注释:列表刷新引用
orderId: number; // 中文注释:订单主键 ID
record: OrderRecord; // 中文注释:订单行记录
@ -51,6 +62,7 @@ interface OrderDetailDrawerProps {
setActiveLine: (id: number) => void; // 中文注释:高亮当前行
OrderNoteComponent: React.ComponentType<any>; // 中文注释:备注组件(从外部注入)
SalesChangeComponent: React.ComponentType<any>; // 中文注释:换货组件(从外部注入)
<<<<<<< HEAD
=======
tableRef: React.MutableRefObject<ActionType | undefined>; // 中文注释:列表刷新引用
orderId: number; // 中文注释:订单主键 ID
@ -61,6 +73,8 @@ interface OrderDetailDrawerProps {
OrderNoteComponent: React.ComponentType<any>; // 中文注释:备注组件(从外部注入)
SalesChangeComponent: React.ComponentType<any>; // 中文注释:换货组件(从外部注入)
>>>>>>> d98e843 (refactor(): )
=======
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
}
const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
@ -76,11 +90,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
const { message } = App.useApp();
const ref = useRef<ActionType>();
<<<<<<< HEAD
<<<<<<< HEAD
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
=======
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
>>>>>>> d98e843 (refactor(): )
=======
// 中文注释:加载详情数据(与 index.tsx 中完全保持一致)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const initRequest = async () => {
const { data, success }: API.OrderDetailRes = await ordercontrollerGetorderdetail({ orderId });
if (!success || !data) return { data: {} } as any;
@ -107,11 +125,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
size="large"
onClose={onClose}
footer={[
<<<<<<< HEAD
<<<<<<< HEAD
// 中文注释:备注组件(外部传入以避免循环依赖)
=======
// 中文注释:备注组件(外部传入以避免循环依赖)
>>>>>>> d98e843 (refactor(): )
=======
// 中文注释:备注组件(外部传入以避免循环依赖)
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
<OrderNoteComponent key="order-note" id={orderId} descRef={ref} />,
...(['after_sale_pending', 'pending_reshipment'].includes(
record.orderStatus,
@ -269,6 +291,9 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
<ProDescriptions.Item label="发货信息" span={3} render={(_, r: any) => (
<div>
<<<<<<< HEAD
<<<<<<< HEAD
=======
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
<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>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>phone:<span>{r?.shipping?.phone || r?.billing?.phone || '-'}</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>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>address_1<span>{r?.shipping?.address_1 || r?.billing?.address_1 || '-'}</span></div>
>>>>>>> d98e843 (refactor(): )
=======
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
</div>
)} />
<ProDescriptions.Item label="原始订单" span={3} render={(_, r: any) => (
<ul>
{(r?.items || []).map((item: any) => (
<<<<<<< HEAD
<<<<<<< HEAD
<li key={item.id}>{item.name}:{item.quantity}</li>
=======
<li key={item.id}>{item.name}{item.quantity}</li>
>>>>>>> d98e843 (refactor(): )
=======
<li key={item.id}>{item.name}:{item.quantity}</li>
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
))}
</ul>
)} />
@ -308,11 +340,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
<ProDescriptions.Item label="订单内容" span={3} render={(_, r: any) => (
<ul>
{(r?.sales || []).map((item: any) => (
<<<<<<< HEAD
<<<<<<< HEAD
<li key={item.id}>{item.name}:{item.quantity}</li>
=======
<li key={item.id}>{item.name}{item.quantity}</li>
>>>>>>> d98e843 (refactor(): )
=======
<li key={item.id}>{item.name}:{item.quantity}</li>
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
))}
</ul>
)} />
@ -357,11 +393,15 @@ const OrderDetailDrawer: React.FC<OrderDetailDrawerProps> = ({
</Popconfirm>
] : [] }
>
<<<<<<< HEAD
<<<<<<< HEAD
<div>: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
=======
<div> {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
>>>>>>> d98e843 (refactor(): )
=======
<div>: {Array.isArray(v?.orderIds) ? v.orderIds.join(',') : '-'}</div>
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
{Array.isArray(v?.items) && v.items.map((item: any) => (
<div key={item.id}>{item.name}: {item.quantity}</div>
))}

View File

@ -7,6 +7,7 @@ dayjs.extend(relativeTime);
/**
* RelatedOrders
<<<<<<< HEAD
<<<<<<< HEAD
* (/)
* 中文注释:本组件将订阅与订单统一归一化为五列展示便
@ -14,6 +15,10 @@ dayjs.extend(relativeTime);
* /
* 便
>>>>>>> d98e843 (refactor(): )
=======
* (/)
* 中文注释:本组件将订阅与订单统一归一化为五列展示便
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
*/
const RelatedOrders: React.FC<{ data?: any[] }> = ({ data = [] }) => {
const rows = (Array.isArray(data) ? data : []).map((it: any) => {
@ -34,11 +39,15 @@ const RelatedOrders: React.FC<{ data?: any[] }> = ({ data = [] }) => {
return (
<div style={{ width: '100%' }}>
<<<<<<< HEAD
<<<<<<< HEAD
{/* 表头(英文文案,符合国际化默认英文的要求) */}
=======
{/* 表头(英文文案,符合国际化默认英文的要求) */}
>>>>>>> d98e843 (refactor(): )
=======
{/* 表头(英文文案,符合国际化默认英文的要求) */}
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
<div style={{ display: 'grid', gridTemplateColumns: '1.5fr 1fr 1fr 1fr 1fr', padding: '8px 0', fontWeight: 600 }}>
<div></div>
<div></div>

View File

@ -42,11 +42,15 @@ const OrdersPage: React.FC = () => {
const actionRef = useRef<ActionType>();
const { message } = App.useApp();
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
// 抽屉状态:改为复用订单详情抽屉组件
=======
// 抽屉状态:改为复用订单详情抽屉组件
>>>>>>> 1f4128f (refactor(): )
=======
// 抽屉状态:改为复用订单详情抽屉组件
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
const [detailOpen, setDetailOpen] = useState(false);
const [detailRecord, setDetailRecord] = useState<any | null>(null);
const [detailOrderId, setDetailOrderId] = useState<number | null>(null);
@ -229,11 +233,15 @@ const OrdersPage: React.FC = () => {
toolBarRender={false}
/>
<<<<<<< HEAD
<<<<<<< HEAD
<<<<<<< HEAD
{/* 订阅关联:直接使用订单详情抽屉组件 */}
=======
{/* 订阅关联:直接使用订单详情抽屉组件 */}
>>>>>>> 1f4128f (refactor(): )
=======
{/* 订阅关联:直接使用订单详情抽屉组件 */}
>>>>>>> 3ac2724 (style: 统一中文标点符号为英文格式)
{detailRecord && detailOrderId !== null && (
<OrderDetailDrawer
open={detailOpen}