1
This commit is contained in:
@@ -27,12 +27,39 @@ export function getJDOrder(id) {
|
||||
})
|
||||
}
|
||||
|
||||
/**
|
||||
* 列表编辑行为 Vue 响应式对象时,axios 内部 JSON.stringify 可能遗漏部分枚举字段;
|
||||
* 先转为普通对象,并始终带上 extraCost(对应后端 JDOrder.extraCost / jd_order.extra_cost)。
|
||||
*/
|
||||
export function normalizeJDOrderPutPayload(data) {
|
||||
if (!data || typeof data !== 'object') return {}
|
||||
let plain
|
||||
try {
|
||||
plain = JSON.parse(JSON.stringify(data))
|
||||
} catch (e) {
|
||||
plain = Object.assign({}, data)
|
||||
}
|
||||
const pick = v => {
|
||||
if (v === undefined || v === null || v === '') return undefined
|
||||
return v
|
||||
}
|
||||
const raw =
|
||||
pick(data.extraCost) ??
|
||||
pick(data.extra_cost) ??
|
||||
pick(plain.extraCost) ??
|
||||
pick(plain.extra_cost)
|
||||
const num = raw !== undefined ? Number(raw) : NaN
|
||||
plain.extraCost = Number.isFinite(num) ? num : 0
|
||||
delete plain.extra_cost
|
||||
return plain
|
||||
}
|
||||
|
||||
// 更新JD订单
|
||||
export function updateJDOrder(data) {
|
||||
return request({
|
||||
url: '/system/jdorder',
|
||||
method: 'put',
|
||||
data: data
|
||||
data: normalizeJDOrderPutPayload(data)
|
||||
})
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user