Ver código fonte

feat(订单): 添加销售订单导入功能及类型定义

yz 1 mês atrás
pai
commit
9ea48de52f
2 arquivos alterados com 28 adições e 0 exclusões
  1. 23 0
      src/api/order/sales-order.js
  2. 5 0
      src/api/types/order.d.ts

+ 23 - 0
src/api/order/sales-order.js

@@ -18,6 +18,7 @@ import request from '@/router/axios'
  * @typedef {import('@/api/types/order').SalesOrderItemListResponse} SalesOrderItemListResponse
  * @typedef {import('@/api/types/order').SalesOrderItemFullListQueryParams} SalesOrderItemFullListQueryParams
  * @typedef {import('@/api/types/order').SalesOrderItemFullListResponse} SalesOrderItemFullListResponse
+ * @typedef {import('@/api/types/order').SalesOrderImportResponse} SalesOrderImportResponse
  * @typedef {import('@/api/types/order').GetUserLinkGoodsResponse} GetUserLinkGoodsResponse
  */
 
@@ -296,6 +297,28 @@ export const getSalesOrderItemList = async (current, size, params) => {
 }
 
 /**
+ * 销售订单导入(按订单ID)
+ * 对应后端:POST /api/blade-factory/api/factory/salesOrder/importOrder/{id}
+ * @param {string|number} id - 订单ID
+ * @param {File|Blob} file - Excel 文件
+ * @returns {Promise<SalesOrderImportResponse>} 导入响应(data: 明细数组)
+ * @example
+ * const res = await importSalesOrderById('1987890054681411586', file)
+ */
+export const importSalesOrderById = async (id, file) => {
+  const formData = new FormData()
+  formData.append('file', file)
+  return request({
+    headers: {
+      'Content-Type': 'multipart/form-data'
+    },
+    url: `/api/blade-factory/api/factory/salesOrder/importOrder/${id}`,
+    method: 'post',
+    data: formData
+  })
+}
+
+/**
  * 销售订单模板下载
  * 对应后端:GET /api/blade-factory/api/factory/salesOrder/downloadTemplate
  * @returns {Promise<AxiosResponse>} 模板下载响应(Blob 数据 + 响应头)

+ 5 - 0
src/api/types/order.d.ts

@@ -268,6 +268,11 @@ export type SalesOrderItemRecord = OrderItemRecord & {
 };
 
 /**
+ * 销售订单导入响应类型
+ */
+export type SalesOrderImportResponse = AxiosResponse<ApiResponseData<SalesOrderItemRecord[]>>;
+
+/**
  * 销售订单记录(基于现有OrderRecord扩展,包含订单明细)
  */
 export type SalesOrderRecord = Omit<OrderRecord, 'totalAmount' | 'totalQuantity' | 'customerId'> & {