退回处理
//---------------------- private ----------------------//
// 加载即调用方法请在此处进行调用
export async function _mjsInit() {
await mjs.init(this, { vconsole: false })
// 页面环境:0提交(其它),1查看,2编辑(审批)
if (mjs.env) {
// 记录修改前ids
mjs.pre_ids = this.$('tableField_krmybpq6').getValue().reduce((acc, cur) => {
acc.push(...cur.associationFormField_liya90jt.map(item => item.instanceId))
return acc;
}, [])
console.log("当前明细实例Ids", mjs.pre_ids);
}
// 价税合计,计算
function round(number, precision) {
return Math.round(+number + 'e' + precision) / Math.pow(10, precision);
}
mjs._calcTotal = mjs.optimize.debounce(() => {
const details = this.$('tableField_krmybpq6').getValue();
const total = details.reduce((acc, cur) => {
const count = (cur.associationFormField_liya90jt || []).reduce((sum, ass) => {
sum += Number(ass.subTitle)
return sum;
}, 0)
cur.numberField_krn4ig4x = round(count, 2);
acc += cur.numberField_krn4ig4x;
return acc;
}, 0)
this.$('numberField_krn54uoe').setValue(total)
}, 400)
// 退回点击事件注册 & 响应
mjs.bus.DOM_CALLBACK_APPROVE = async (_this, title) => {
console.log(_this, title, title == "提交")
if (title == "提交") {
const cur_ids = this.$('tableField_krmybpq6').getValue().reduce((acc, cur) => {
acc.push(...cur.associationFormField_liya90jt.map(item => item.instanceId))
return acc;
}, [])
// 接口处理: 释放修改删除的全部数据,占用重新提交的全部数据
mjs.request.xhr.doPost("https://mc.cloudpure.cn/frp/guyuan/invoice-zy", null, {
pre_ids: mjs.pre_ids,
pre_update: {
selectField_liihyrt6: "未使用",
},
cur_ids: cur_ids,
cur_update: {
selectField_liihyrt6: "已使用",
radioField_liw7rb2q: "否" // 提交后, 更新是否退回标识为否
}
})
}
}
mjs.dom.registerFlowEvent(this);
}
//---------------------- event ----------------------//
// 页面节点加载渲染完毕
export function didMount() {
// 工具库: mjs & 初始化
this._mjsLoad();
}
//子表分类求和
export function onChange({ value, extra }) {
// 价税合计,计算
mjs._calcTotal()
}