Просмотр исходного кода

refactor(订单): 重构订单相关类型定义和接口

yz 1 неделя назад
Родитель
Сommit
ac770bc9ad

+ 0 - 3
doc/orderApi.md

@@ -2085,7 +2085,6 @@ POST /api/blade-factory/api/factory/salesOrder/addOrder
 
 ```json
 {
-  "orderCode": "SO-20231115",
   "orgId": "123456789",
   "orgCode": "000000",
   "orgName": "海尔集团",
@@ -2102,7 +2101,6 @@ POST /api/blade-factory/api/factory/salesOrder/addOrder
   "receiverRegion": "河南省 焦作市 解放区",
   "pcBladeOrderItemList": [
     {
-      "orderCode": "SO-20231115-001",
       "itemId": 30001,
       "itemCode": "MAT-001",
       "itemName": "不锈钢螺丝",
@@ -2121,7 +2119,6 @@ POST /api/blade-factory/api/factory/salesOrder/addOrder
       "itemStatus": 3
     },
     {
-      "orderCode": "SO-20231115-001",
       "itemId": 30001,
       "itemCode": "MAT-001",
       "itemName": "不锈钢螺丝",

+ 3 - 3
src/api/order/order-item.js

@@ -21,7 +21,7 @@ export const getList = async (current, size, params) => {
 
 /**
  * 新增订单明细
- * @param {import('../types/order-item').OrderItemForm} row - 订单明细表单数据
+ * @param {import('../types/order').SalesOrderItemCreateForm} row - 订单明细表单数据
  * @returns {Promise<import('../types/order-item').OrderItemOperationResponse>} 新增结果
  */
 export const add = async (row) => {
@@ -34,7 +34,7 @@ export const add = async (row) => {
 
 /**
  * 更新订单明细
- * @param {import('../types/order-item').OrderItemForm} row - 订单明细表单数据
+ * @param {import('../types/order').SalesOrderItemCreateForm} row - 订单明细表单数据
  * @returns {Promise<import('../types/order-item').OrderItemOperationResponse>} 更新结果
  */
 export const update = async (row) => {
@@ -47,7 +47,7 @@ export const update = async (row) => {
 
 /**
  * 获取订单明细详情
- * @param {string|number} id - 明细ID
+ * @param {string | number} id - 明细ID
  * @returns {Promise<import('../types/order-item').OrderItemDetailResponse>} 明细详情
  */
 export const getDetail = async (id) => {

+ 1 - 1
src/api/order/order.js

@@ -47,7 +47,7 @@ export const update = async (row) => {
 
 /**
  * 获取订单详情
- * @param {string|number} id - 订单ID
+ * @param {string | number} id - 订单ID
  * @returns {Promise<import('../types/order').OrderDetailResponse>} 订单详情响应
  */
 export const getDetail = async (id) => {

+ 12 - 12
src/api/order/sales-order.js

@@ -21,7 +21,7 @@ export const getInventoryList = async (current, size, params) => {
 
 /**
  * 获取库存详情
- * @param {string|number} id - 库存记录ID
+ * @param {string | number} id - 库存记录ID
  * @returns {Promise<import('../types/sales-order').InventoryDetailResponse>} 库存详情
  */
 export const getInventoryDetail = async (id) => {
@@ -65,7 +65,7 @@ export const getMaterialList = async (current, size, params) => {
 
 /**
  * 获取物料档案详情
- * @param {string|number} id - 物料ID
+ * @param {string | number} id - 物料ID
  * @returns {Promise<import('../types/sales-order').MaterialDetailResponse>} 物料详情
  */
 export const getMaterialDetail = async (id) => {
@@ -90,7 +90,7 @@ export const getMaterialFullList = async (params) => {
 
 /**
  * 添加订单明细
- * @param {import('../types/sales-order').SalesOrderItemForm} row - 订单明细数据
+ * @param {import('../types/order').SalesOrderItemCreateForm} row - 订单明细数据
  * @returns {Promise<import('../types/sales-order').SalesOrderItemAddResponse>} 添加结果
  */
 export const addOrderItem = async (row) => {
@@ -98,8 +98,8 @@ export const addOrderItem = async (row) => {
     url: '/api/blade-factory/api/factory/salesOrder/addOrderItem',
     method: 'post',
     data: row
-  })
-}
+  });
+};
 
 /**
  * 更新订单明细
@@ -128,14 +128,14 @@ export const updateOrder = async (row) => {
 }
 
 /**
- * 添加订单
- * @param {import('../types/sales-order').SalesOrderForm} row - 订单数据
- * @returns {Promise<import('../types/sales-order').SalesOrderAddResponse>} 添加结果
+ * 创建销售订单(包含订单明细)
+ * @param {import('../types/order').SalesOrderCreateForm} data - 销售订单创建表单数据
+ * @returns {Promise<import('../types/order').SalesOrderCreateResponse>} 创建结果
  */
-export const addOrder = async (row) => {
+export const createSalesOrder = async (data) => {
   return request({
     url: '/api/blade-factory/api/factory/salesOrder/addOrder',
     method: 'post',
-    data: row
-  })
-}
+    data
+  });
+};

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

@@ -9,7 +9,7 @@ export type OrderType = 'PURCHASE' | 'SALES' | 'RETURN';
 /**
  * 订单状态枚举
  */
-export type OrderStatus = 0 | 1 | 2 | 3 | 4;
+export type OrderStatus = 0 | 1 | 2 | 3 | 4 | 5;
 
 /**
  * 订单查询参数接口
@@ -32,18 +32,18 @@ export interface OrderQueryParams extends BaseQueryParams {
  * 订单表单数据接口
  */
 export interface OrderForm {
-  id?: string | number;
+  id?: number;
   orderCode?: string;
-  orgId: string | number;
+  orgId: number;
   orgCode: string;
   orgName: string;
-  customerId: string | number;
+  customerId: number;
   customerCode: string;
   customerName: string;
   orderType: OrderType;
-  totalAmount: string | number;
-  totalQuantity: string | number;
-  addressId: string | number;
+  totalAmount: number;
+  totalQuantity: number;
+  addressId: number;
   receiverName: string;
   receiverPhone: string;
   receiverAddress: string;
@@ -52,45 +52,60 @@ export interface OrderForm {
 }
 
 /**
- * 订单列表项接口
- * @typedef {Object} OrderItem
- * @property {string} id - 订单ID
- * @property {string} createUser - 创建用户ID
- * @property {string} createDept - 创建部门ID
- * @property {string} createTime - 创建时间
- * @property {string} updateUser - 更新用户ID
- * @property {string} updateTime - 更新时间
- * @property {0|1} status - 状态 1-正常 0-禁用
- * @property {0|1} isDeleted - 是否删除 0-未删除 1-已删除
- * @property {string} orderCode - 订单编码
- * @property {number} orgId - 组织ID
- * @property {string} orgCode - 组织编码
- * @property {string} orgName - 组织名称
- * @property {number} customerId - 客户ID
- * @property {string} customerCode - 客户编码
- * @property {string} customerName - 客户名称
- * @property {OrderType} orderType - 订单类型
- * @property {string} totalAmount - 订单总金额
- * @property {string} totalQuantity - 订单总数量
- * @property {number} addressId - 收货地址ID
- * @property {string} receiverName - 收货人姓名
- * @property {string} receiverPhone - 收货人电话
- * @property {string} receiverAddress - 收货详细地址
- * @property {string} receiverRegion - 收货地区
- * @property {string|null} submitTime - 提交时间
- * @property {string|null} confirmTime - 确认时间
+ * 订单明细项状态枚举
  */
+export type OrderItemStatus = 0 | 1 | 2 | 3;
 
 /**
- * 客户地址选项接口
- * @typedef {Object} CustomerAddressOption
- * @property {number} id - 地址ID
- * @property {string} receiverName - 收货人姓名
- * @property {string} receiverPhone - 收货人电话
- * @property {string} receiverAddress - 收货详细地址
- * @property {string} regionName - 收货地区
- * @property {0|1} isDefault - 是否默认地址 0-否 1-是
+ * 销售订单明细创建表单接口
+ */
+export interface SalesOrderItemCreateForm {
+  id?: number;
+  orderId?: number;
+  orderCode?: string;
+  itemId: number;
+  itemCode: string;
+  itemName: string;
+  specs: string;
+  mainItemCategoryId: number;
+  mainItemCategoryName: string;
+  warehouseId: number;
+  warehouseName: string;
+  availableQuantity: number;
+  orderQuantity: number;
+  confirmQuantity: number;
+  unitPrice: number;
+  taxRate: number;
+  taxAmount: number;
+  totalAmount: number;
+  itemStatus: OrderItemStatus;
+}
+
+/**
+ * 销售订单创建表单接口(包含订单明细)
  */
+export interface SalesOrderCreateForm {
+  id?: number;
+  orderCode?: string;
+  orgId: number;
+  orgCode: string;
+  orgName: string;
+  customerId: number;
+  customerCode: string;
+  customerName: string;
+  orderType: number;
+  totalAmount: number;
+  totalQuantity: number;
+  addressId: number;
+  receiverName: string;
+  receiverPhone: string;
+  receiverAddress: string;
+  receiverRegion: string;
+  status: OrderStatus;
+  pcBladeOrderItemList: SalesOrderItemCreateForm[];
+}
+
+
 
 // 基础类型定义
 export interface BaseEntity {
@@ -177,4 +192,9 @@ export type OrderOperationResponse = AxiosResponse<ApiResponseData<boolean>>;
 /**
  * 客户地址列表响应接口
  */
-export type CustomerAddressListResponse = AxiosResponse<ApiResponseData<CustomerAddressOption[]>>;
+export type CustomerAddressListResponse = AxiosResponse<ApiResponseData<CustomerAddressOption[]>>;
+
+/**
+ * 销售订单创建响应接口
+ */
+export type SalesOrderCreateResponse = AxiosResponse<ApiResponseData<boolean>>;

+ 22 - 17
src/api/types/sales-order.d.ts

@@ -1,17 +1,20 @@
 import { AxiosResponse } from 'axios';
-import { BaseEntity, BaseQueryParams, PageResult, ApiResponseData } from './order';
+import { BaseEntity, BaseQueryParams, PageResult, ApiResponseData, OrderItemStatus } from './order';
 
-export type SalesOrderItemStatus = 0 | 1 | 2 | 3;
+/**
+ * 销售订单明细状态枚举(复用OrderItemStatus)
+ */
+export type SalesOrderItemStatus = OrderItemStatus;
 
 export interface InventoryQueryParams extends BaseQueryParams {
-  itemId?: string | number;
+  itemId?: number;
   itemCode?: string;
   itemName?: string;
   specs?: string;
-  warehouseId?: string | number;
+  warehouseId?: number;
   warehouseCode?: string;
   warehouseName?: string;
-  customerId?: string | number;
+  customerId?: number;
   customerCode?: string;
 }
 
@@ -57,9 +60,9 @@ export interface MaterialRecord {
 }
 
 export interface SalesOrderItemQueryParams extends BaseQueryParams {
-  orderId?: string | number;
+  orderId?: number;
   orderNo?: string;
-  itemId?: string | number;
+  itemId?: number;
   itemCode?: string;
   itemName?: string;
   specs?: string;
@@ -85,29 +88,29 @@ export interface SalesOrderItemRecord {
 }
 
 export interface SalesOrderForm {
-  id?: string | number;
+  id?: number;
   orderNo?: string;
-  customerId: string | number;
+  customerId: number;
   customerCode: string;
   customerName: string;
-  totalAmount: string | number;
+  totalAmount: number;
   status: SalesOrderItemStatus;
   deliveryDate: string;
   remark?: string;
 }
 
 export interface SalesOrderItemForm {
-  id?: string | number;
-  orderId: string | number;
+  id?: number;
+  orderId: number;
   orderNo: string;
-  itemId: string | number;
+  itemId: number;
   itemCode: string;
   itemName: string;
   specs: string;
   unit: string;
-  quantity: string | number;
-  unitPrice: string | number;
-  amount: string | number;
+  quantity: number;
+  unitPrice: number;
+  amount: number;
   deliveryDate: string;
   remark?: string;
 }
@@ -134,4 +137,6 @@ export type SalesOrderUpdateResponse = AxiosResponse<ApiResponseData<boolean>>;
 
 export type SalesOrderAddResponse = AxiosResponse<ApiResponseData<boolean>>;
 
-export type SalesOrderOperationResponse = AxiosResponse<ApiResponseData<boolean>>;
+export type SalesOrderOperationResponse = AxiosResponse<ApiResponseData<boolean>>;
+
+// 注意:SalesOrderCreateResponse 已移至 order.d.ts 以避免重复定义