4 changed files with 1663 additions and 5 deletions
@ -0,0 +1,154 @@ |
|||||||
|
/** |
||||||
|
* 价格库Excel相关API |
||||||
|
*/ |
||||||
|
import request from "@/api/request"; |
||||||
|
|
||||||
|
/** |
||||||
|
* Excel导入请求参数 |
||||||
|
*/ |
||||||
|
export interface ImportExcelParams { |
||||||
|
file: File; |
||||||
|
batchName?: string; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 搜索请求参数 |
||||||
|
*/ |
||||||
|
export interface SearchExcelParams { |
||||||
|
keyword: string; |
||||||
|
current?: number; |
||||||
|
size?: number; |
||||||
|
batchId?: string; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 批次信息 |
||||||
|
*/ |
||||||
|
export interface BatchInfo { |
||||||
|
batchId: string; |
||||||
|
batchName: string; |
||||||
|
fileName: string; |
||||||
|
totalRows: number; |
||||||
|
uploadTime: string; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Excel行数据 |
||||||
|
*/ |
||||||
|
export interface ExcelRowData { |
||||||
|
id: number; |
||||||
|
fileName: string; |
||||||
|
filePath: string; |
||||||
|
sheetName: string; |
||||||
|
rowIndex: number; |
||||||
|
rowData: string; |
||||||
|
batchId: string; |
||||||
|
batchName: string; |
||||||
|
uploadTime: string; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 搜索联想结果项 |
||||||
|
*/ |
||||||
|
export interface SearchSuggestion { |
||||||
|
batchId: string; |
||||||
|
batchName: string; |
||||||
|
fileName: string; |
||||||
|
matchType: 'name' | 'data'; |
||||||
|
matchContent: string; |
||||||
|
rowData?: ExcelRowData; |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* Excel多Sheet导入 |
||||||
|
* @param file 上传的文件 |
||||||
|
* @param batchName 批次名称(可选) |
||||||
|
*/ |
||||||
|
export function importExcel(file: File, batchName?: string) { |
||||||
|
const formData = new FormData(); |
||||||
|
formData.append('file', file); |
||||||
|
if (batchName) { |
||||||
|
formData.append('batchName', batchName); |
||||||
|
} |
||||||
|
return request.post({ |
||||||
|
url: '/price/excel/import', |
||||||
|
body: formData, |
||||||
|
headers: { 'Content-Type': 'multipart/form-data' } |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 搜索Excel数据(用于联想下拉) |
||||||
|
* @param keyword 搜索关键字 |
||||||
|
* @param size 返回数量(默认10条) |
||||||
|
*/ |
||||||
|
export function searchExcelData(keyword: string, size: number = 10) { |
||||||
|
return request.post({ |
||||||
|
url: '/price/excel/search', |
||||||
|
body: { |
||||||
|
keyword, |
||||||
|
size, |
||||||
|
current: 1 |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 分页搜索Excel数据 |
||||||
|
* @param params 搜索参数 |
||||||
|
*/ |
||||||
|
export function searchExcelDataPage(params: SearchExcelParams) { |
||||||
|
return request.post({ |
||||||
|
url: '/price/excel/search', |
||||||
|
body: { |
||||||
|
keyword: params.keyword, |
||||||
|
current: params.current || 1, |
||||||
|
size: params.size || 10, |
||||||
|
batchId: params.batchId |
||||||
|
} |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 根据批次ID查询所有数据 |
||||||
|
* @param batchId 批次ID |
||||||
|
*/ |
||||||
|
export function getBatchData(batchId: string) { |
||||||
|
return request.get({ |
||||||
|
url: `/price/excel/batch/${batchId}` |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除批次数据 |
||||||
|
* @param batchId 批次ID |
||||||
|
*/ |
||||||
|
export function deleteBatch(batchId: string) { |
||||||
|
return request.del({ |
||||||
|
url: `/price/excel/batch/${batchId}` |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 分页获取批次列表 |
||||||
|
* @param keyword 搜索关键字(可选) |
||||||
|
* @param current 当前页 |
||||||
|
* @param size 每页大小 |
||||||
|
*/ |
||||||
|
export function getBatchListPage(keyword?: string, current?: number, size?: number) { |
||||||
|
return request.get({ |
||||||
|
url: '/price/excel/batch/list', |
||||||
|
params: { keyword, current, size } |
||||||
|
}); |
||||||
|
} |
||||||
|
|
||||||
|
/** |
||||||
|
* 删除批次数据 |
||||||
|
* @param batchName 批次 |
||||||
|
*/ |
||||||
|
export function deleteBatchData(batchName: string) { |
||||||
|
return request.post({ |
||||||
|
url: '/price/excel/del', |
||||||
|
body: { batchName } |
||||||
|
}); |
||||||
|
} |
||||||
Loading…
Reference in new issue