daShangDao_miniProgram/services/modules/warehouse.js
2026-06-15 16:37:57 +08:00

227 lines
4.6 KiB
JavaScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/**
* 仓库服务 - 处理仓库管理、货架管理等
* @module services/warehouse
*/
import request from '@/utils/request'
/**
* 仓库相关 API
*/
export const warehouseApi = {
/**
* 获取仓库列表
* @returns {Promise<Array>} 仓库列表
*/
getList() {
return request({
url: '/zhishu/warehouse/list',
method: 'GET',
loading: true
})
},
/**
* 获取仓库详情
* @param {String} id - 仓库 ID
* @returns {Promise<Object>} 仓库详情
*/
getDetail(id) {
return request({
url: `/zhishu/warehouse/${id}`,
method: 'GET'
})
},
/**
* 创建仓库
* @param {Object} data - 仓库信息
* @param {String} data.name - 仓库名称
* @param {String} data.address - 仓库地址
* @param {String} data.remark - 备注
* @returns {Promise<Object>} 创建结果
*/
create(data) {
return request({
url: '/zhishu/warehouse/add',
method: 'POST',
data,
loading: true
})
},
/**
* 更新仓库信息
* @param {String} id - 仓库 ID
* @param {Object} data - 仓库信息
* @returns {Promise<Object>} 更新结果
*/
update(id, data) {
return request({
url: `/zhishu/warehouse/${id}`,
method: 'PUT',
data
})
},
/**
* 删除仓库
* @param {String} id - 仓库 ID
* @returns {Promise<Object>} 删除结果
*/
delete(id) {
return request({
url: `/zhishu/warehouse/${id}`,
method: 'DELETE',
loading: true
})
}
}
/**
* 货架相关 API
*/
export const shelfApi = {
/**
* 获取货架列表
* @param {String} warehouseId - 仓库 ID
* @returns {Promise<Array>} 货架列表
*/
getList(warehouseId) {
return request({
url: '/zhishu/shelf/list',
method: 'GET',
data: { warehouseId }
})
},
/**
* 创建货架
* @param {Object} data - 货架信息
* @param {String} data.warehouseId - 仓库 ID
* @param {String} data.name - 货架名称
* @param {String} data.code - 货架编码
* @returns {Promise<Object>} 创建结果
*/
create(data) {
return request({
url: '/zhishu/shelf/add',
method: 'POST',
data
})
},
/**
* 更新货架信息
* @param {String} id - 货架 ID
* @param {Object} data - 货架信息
* @returns {Promise<Object>} 更新结果
*/
update(id, data) {
return request({
url: `/zhishu/shelf/${id}`,
method: 'PUT',
data
})
},
/**
* 删除货架
* @param {String} id - 货架 ID
* @returns {Promise<Object>} 删除结果
*/
delete(id) {
return request({
url: `/zhishu/shelf/${id}`,
method: 'DELETE'
})
},
/**
* 获取货架库存
* @param {String} shelfId - 货架 ID
* @returns {Promise<Array>} 库存列表
*/
getInventory(shelfId) {
return request({
url: `/zhishu/shelf/${shelfId}/inventory`,
method: 'GET'
})
}
}
/**
* 订单查询 API
*/
export const orderApi = {
/**
* 查询订单列表
* @param {Object} params - 查询参数
* @param {String} params.warehouseId - 仓库 ID
* @param {String} params.status - 订单状态
* @param {Number} params.pageNum - 页码
* @param {Number} params.pageSize - 每页数量
* @returns {Promise<Object>} 订单列表
*/
getList(params) {
return request({
url: '/zhishu/order/list',
method: 'GET',
data: params
})
},
/**
* 获取订单详情
* @param {String} orderId - 订单 ID
* @returns {Promise<Object>} 订单详情
*/
getDetail(orderId) {
return request({
url: `/zhishu/order/${orderId}`,
method: 'GET'
})
}
}
/**
* 闪上书快速上架API
*/
export const quickShelfApi = {
/**
* 批量扫码上架
* @param {Array} items - 上架项目列表
* @param {String} items[].isbn - ISBN
* @param {String} items[].shelfId - 货架 ID
* @param {Number} items[].quantity - 数量
* @returns {Promise<Object>} 上架结果
*/
batchShelf(items) {
return request({
url: '/zhishu/quick-shelf/batch',
method: 'POST',
data: { items },
loading: true
})
},
/**
* 获取上架历史
* @param {Number} pageNum - 页码
* @param {Number} pageSize - 每页数量
* @returns {Promise<Object>} 上架历史记录
*/
getHistory(pageNum = 1, pageSize = 20) {
return request({
url: '/zhishu/quick-shelf/history',
method: 'GET',
data: { pageNum, pageSize }
})
}
}
export default {
warehouse: warehouseApi,
shelf: shelfApi,
order: orderApi,
quickShelf: quickShelfApi
}