Browse Source

refactor(types): 重构销售订单相关类型定义以提高可维护性

yz 1 month ago
parent
commit
8f35686bd4
1 changed files with 43 additions and 15 deletions
  1. 43 15
      src/api/types/order.d.ts

+ 43 - 15
src/api/types/order.d.ts

@@ -214,28 +214,56 @@ export interface SubmitOrderToU9Request {
 export type SubmitOrderToU9Response = AxiosResponse<ApiResponseData<null>>;
 
 /**
- * 销售订单列表项接口(基于现有OrderRecord扩展)
- */
-export interface SalesOrderListItem extends Pick<OrderRecord, 
-  'id' | 'createUser' | 'createTime' | 'orderCode' | 'orgName' | 
-  'customerName' | 'totalAmount' | 'totalQuantity' | 'receiverName' | 
-  'receiverPhone' | 'receiverAddress' | 'receiverRegion'
-> {
-  pcBladeOrderItemList: Pick<SalesOrderItemCreateForm, 
-    'itemId' | 'itemName' | 'specs' | 'warehouseName' | 
-    'orderQuantity' | 'unitPrice' | 'totalAmount'
-  >[];
+ * 订单明细项记录接口
+ */
+export interface OrderItemRecord extends BaseEntity {
+  orderId: string;
+  orderCode: string;
+  itemId: number;
+  itemCode: string;
+  itemName: string;
+  specs: string;
+  mainItemCategoryId: number;
+  mainItemCategoryName: string;
+  warehouseId: number;
+  warehouseName: string;
+  orderQuantity: string;
+  unitPrice: string;
+  totalAmount: string;
+  itemStatus: OrderItemStatus;
 }
 
 /**
- * 销售订单列表查询参数接口(基于现有OrderQueryParams)
+ * 销售订单明细项记录(基于现有OrderItemRecord扩展)
+ */
+export type SalesOrderItemRecord = OrderItemRecord & {
+  taxRate: string;
+  taxAmount: string;
+  availableQuantity: string;
+  confirmQuantity: string;
+};
+
+/**
+ * 销售订单记录(基于现有OrderRecord扩展,包含订单明细)
+ */
+export type SalesOrderRecord = Omit<OrderRecord, 'totalAmount' | 'totalQuantity' | 'customerId'> & {
+  customerId: string;
+  totalAmount: string;
+  totalQuantity: string;
+  submitTime: string | null;
+  confirmTime: string | null;
+  pcBladeOrderItemList: SalesOrderItemRecord[];
+};
+
+/**
+ * 销售订单列表查询参数(基于现有OrderQueryParams)
  */
-export interface SalesOrderListQueryParams extends Pick<OrderQueryParams, 
+export type SalesOrderListQueryParams = Pick<OrderQueryParams, 
   'current' | 'size' | 'orderCode' | 'orgName' | 'customerName' | 
   'receiverName' | 'receiverPhone' | 'createTimeStart' | 'createTimeEnd'
-> {}
+>;
 
 /**
  * 销售订单列表响应类型
  */
-export type SalesOrderListResponse = AxiosResponse<ApiResponseData<PageResult<SalesOrderListItem>>>;
+export type SalesOrderListResponse = AxiosResponse<ApiResponseData<PageResult<SalesOrderRecord>>>;