Files
BMS/bms-front/src/api/price/pay.js
T
2026-11-13 11:57:19 +08:00

201 lines
4.6 KiB
JavaScript

import request from '@/utils/request'
// 应付价卡配置。预览不入库,保存才写入 pay_ 表。
/** 分页查询已保存的应付产品 */
export function listPay(query) {
return request({
url: '/price/pay/list',
method: 'get',
params: query
})
}
/** 产品详情,含重量段、附加费和其他配置 */
export function getPay(productId) {
return request({
url: '/price/pay/' + productId,
method: 'get'
})
}
/** 按字典匹配工作表,返回预览,不写数据库。progressId 用来轮询解析进度。 */
export function previewPay(file, dictValue, progressId, onUploadProgress) {
const data = new FormData()
data.append('file', file)
if (dictValue) data.append('dictValue', dictValue)
if (progressId) data.append('progressId', progressId)
return request({
url: '/price/pay/preview',
method: 'post',
data,
// 必须声明 multipart,否则全局 application/json 会把文件流改写成空 JSON
headers: { 'Content-Type': 'multipart/form-data', repeatSubmit: false },
timeout: 10 * 60 * 1000,
onUploadProgress
})
}
/** 查询一次价卡解析进度 */
export function payParseProgress(progressId) {
return request({
url: '/price/pay/preview/progress',
method: 'get',
params: { progressId },
headers: { repeatSubmit: false }
})
}
/** 修改已保存的公共模板 */
export function updatePay(data) {
return request({
url: '/price/pay',
method: 'put',
data,
headers: { repeatSubmit: false },
timeout: 120000
})
}
/** 已导入模板,供渠道下拉。payType 默认应付 AP */
export function payOptions(payType = 'AP') {
return request({
url: '/price/pay/options',
method: 'get',
params: { payType }
})
}
export function bindChannelPay(channelId, productId, payType = 'AP') {
return request({
url: '/price/pay/channel/' + channelId + '/bind',
method: 'put',
data: { productId, payType }
})
}
/** 批量绑定渠道应收/应付产品;至少传一个产品 */
export function batchBindChannelPay(data) {
return request({
url: '/price/pay/channel/batchBind',
method: 'put',
data
})
}
export function comparePay(leftId, rightId) {
return request({
url: '/price/pay/compare',
method: 'get',
params: { leftId, rightId }
})
}
export function getChannelPay(channelId, payType = 'AP') {
return request({
url: '/price/pay/channel/' + channelId,
method: 'get',
params: { payType }
})
}
export function saveChannelPay(channelId, data) {
return request({
url: '/price/pay/channel/' + channelId,
method: 'post',
data
})
}
export function reimportChannelPay(channelId, file) {
const data = new FormData()
data.append('file', file)
return request({
url: '/price/pay/channel/' + channelId + '/reimport',
method: 'post',
data,
headers: { 'Content-Type': 'multipart/form-data', repeatSubmit: false },
timeout: 10 * 60 * 1000
})
}
/** 保存预览里勾选的产品 */
export function savePay(data) {
return request({
url: '/price/pay/save',
method: 'post',
data,
timeout: 120000
})
}
/** 一个产品的全部价格版本 */
export function listPayTerm(productId) {
return request({
url: '/price/pay/term/list',
method: 'get',
params: { productId }
})
}
/** 修改某一版的生效起止 */
export function updatePayTerm(data) {
return request({
url: '/price/pay/term',
method: 'put',
data
})
}
/** 生效或失效 */
export function changePayTermStatus(data) {
return request({
url: '/price/pay/term/status',
method: 'put',
data
})
}
/** 按订单渠道上的应付产品生成应付账单 */
export function generatePayBill(billId) {
return request({
url: '/price/pay/order/' + billId,
method: 'post'
})
}
/** 删除产品及其重量段、附加费、其他配置 */
export function delPay(productIds) {
return request({
url: '/price/pay/' + productIds,
method: 'delete'
})
}
/** 产品上的附加费计费条件,不按价格版本拆开 */
export function listPaySurchargeRule(productId) {
return request({
url: '/price/pay/surchargeRule',
method: 'get',
params: { productId }
})
}
/** 这一版产品上的附加费配置操作记录 */
export function listPaySurchargeRuleLog(productId, termId) {
return request({
url: '/price/pay/surchargeRule/log',
method: 'get',
params: { productId, termId }
})
}
/** 覆盖绑定产品当前版本的计费条件。同一版本只保留这一份。 */
export function savePaySurchargeRule(data) {
return request({
url: '/price/pay/surchargeRule',
method: 'post',
data
})
}