fix(material): 基础信息(Odoo)补回参考价格脏检查白名单
buyOdoo.vue 是 list.vue 的手工副本。8791914 修复「参考价格不可改」时只改了 list.vue,同一个 bug 在 Odoo 页存活至今: - 只改参考价格:payload 无变更,提示「没有检测到数据变更,无需保存」 - 连带改其他字段:提示「修改成功」,但 payload 不含 referencePrice,价格未入库 compareFields 补上 referencePrice,与 list.vue 对齐。
This commit is contained in:
@ -1413,7 +1413,10 @@ const isArraysEqual = (a: any[], b: any[]): boolean => {
|
||||
|
||||
const buildPartialPayload = (current: any, original: any): any => {
|
||||
const payload: any = { id: current.id };
|
||||
const compareFields = ['name', 'commonName', 'category', 'type', 'spec', 'unit', 'visibilityLevel', 'isEnabled', 'isInspectionRequired', 'generalImage', 'generalManual', 'companyName', 'productImageRemark', 'manualLinkRemark', 'purchaseLink'];
|
||||
// ★ referencePrice 必须在内:漏掉它会走成「未变更」——只改参考价格时提示
|
||||
// 「没有检测到数据变更,无需保存」,连带改其他字段时提示「修改成功」
|
||||
// 但 payload 里压根没有该字段,价格静默丢失。(与 list.vue 对齐)
|
||||
const compareFields = ['name', 'commonName', 'category', 'type', 'spec', 'unit', 'referencePrice', 'visibilityLevel', 'isEnabled', 'isInspectionRequired', 'generalImage', 'generalManual', 'companyName', 'productImageRemark', 'manualLinkRemark', 'purchaseLink'];
|
||||
for (const key of compareFields) {
|
||||
const currentVal = current[key]; const originalVal = original[key];
|
||||
if (Array.isArray(currentVal) && Array.isArray(originalVal)) { if (!isArraysEqual(currentVal, originalVal)) payload[key] = currentVal; }
|
||||
|
||||
Reference in New Issue
Block a user