|
|
@@ -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 数据 + 响应头)
|