|
@@ -34,8 +34,9 @@ const billsFields = (function () {
|
|
|
const stage = cur.concat(pre, end, final);
|
|
|
const stageEnd = pre.concat(end, final);
|
|
|
const bgl = ['qc_bgl_code'];
|
|
|
+ const leafXmj = ['leaf_xmj_id'];
|
|
|
|
|
|
- return {cur, pre, end, final, stage, stageEnd, bgl};
|
|
|
+ return {cur, pre, end, final, stage, stageEnd, bgl, leafXmj};
|
|
|
})();
|
|
|
const posFields = (function () {
|
|
|
const cur = ['contract_qty', 'qc_qty', 'gather_qty', 'postil'];
|
|
@@ -333,6 +334,15 @@ module.exports = app => {
|
|
|
}
|
|
|
}
|
|
|
|
|
|
+ _calcLeafXmjRela() {
|
|
|
+ for (const node of this.billsTree.nodes) {
|
|
|
+ if (node.b_code) {
|
|
|
+ const leafXmj = this.billsTree.getLeafXmjParent(node);
|
|
|
+ node.leaf_xmj_id = leafXmj.id;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
async getStageBillsData(tid, sid, fields) {
|
|
|
await this.ctx.service.tender.checkTender(tid);
|
|
|
if (sid) {
|
|
@@ -367,6 +377,10 @@ module.exports = app => {
|
|
|
await this._calcBillsBgl();
|
|
|
}
|
|
|
|
|
|
+ if (this._checkFieldsExist(fields, billsFields.leafXmj)) {
|
|
|
+ this._calcLeafXmjRela();
|
|
|
+ }
|
|
|
+
|
|
|
return this.billsTree.getDatas([
|
|
|
'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf',
|
|
|
'code', 'b_code', 'name', 'unit', 'unit_price',
|
|
@@ -380,6 +394,7 @@ module.exports = app => {
|
|
|
'final_tp', 'final_ratio',
|
|
|
'qc_bgl_code',
|
|
|
'chapter',
|
|
|
+ 'leaf_xmj_id',
|
|
|
]);
|
|
|
}
|
|
|
|
|
@@ -530,6 +545,10 @@ module.exports = app => {
|
|
|
}
|
|
|
});
|
|
|
|
|
|
+ if (this._checkFieldsExist(fields, billsFields.leafXmj)) {
|
|
|
+ this._calcLeafXmjRela();
|
|
|
+ }
|
|
|
+
|
|
|
return this.billsTree.getDefaultDatas();
|
|
|
// return this.billsTree.getDatas([
|
|
|
// 'id', 'tender_id', 'ledger_id', 'ledger_pid', 'level', 'order', 'full_path', 'is_leaf', //8
|