瀏覽代碼

中间计量,新增指标

MaiXinRong 4 年之前
父節點
當前提交
ad8ae5a8a2
共有 2 個文件被更改,包括 77 次插入0 次删除
  1. 71 0
      app/lib/stage_im.js
  2. 6 0
      builder_report_index_define.js

+ 71 - 0
app/lib/stage_im.js

@@ -242,6 +242,72 @@ class StageIm {
             return result;
         }
     }
+    /**
+     * 获取 单位工程
+     *
+     * @param xmj - 计量单元(最底层项目节)
+     * @returns {string}
+     */
+    _getDwgc(peg, xmj) {
+        if (peg) {
+            return peg.name;
+        } else {
+            const node = this._getNodeByLevel(xmj, 2);
+            return node ? node.name : '';
+        }
+    }
+    /**
+     * 获取 分部工程
+     *
+     * @param peg - 桩号节点
+     * @param xmj - 计量单元(最底层项目节)
+     * @returns {string}
+     */
+    _getFbgc(peg, xmj) {
+        if (peg && peg.id !== xmj.id) {
+            const node = this._getNodeByLevel(xmj, peg.level + 1);
+            return node ? node.name : '';
+        } else {
+            const node = this._getNodeByLevel(xmj, 3);
+            return node ? node.name : '';
+        }
+    }
+    /**
+     * 获取 分项工程
+     *
+     * @param peg - 桩号节点
+     * @param xmj - 计量单元(最底层项目节)
+     * @returns {string}
+     */
+    _getFxgc(peg, xmj) {
+        if (!peg) {
+            const node = this._getNodeByLevel(xmj, 4);
+            return node ? node.name : '';
+        } else if (peg.id === xmj.id) {
+            if (xmj.level > 4) {
+                let value = '';
+                for (let level = 4; level < xmj.level; level++) {
+                    const node = this._getNodeByLevel(xmj, level);
+                    value = value === '' ? node.name : value + mergeChar + node.name;
+                }
+                return value;
+            } else {
+                return '';
+            }
+        } else {
+            if (peg.level + 2 < xmj.level) {
+                let value = '';
+                for (let level = peg.level + 2; level < xmj.level; level++) {
+                    const node = this._getNodeByLevel(xmj, level);
+                    value = value === '' ? node.name : value + mergeChar + node.name;
+                }
+                return value;
+            } else {
+                return '';
+            }
+        }
+    }
+
 
     _checkCustomDetail(im) {
         const self = this;
@@ -457,6 +523,7 @@ class StageIm {
             pre_jl: node.pre_gather_tp, pre_contract_jl: node.pre_contract_tp, pre_qc_jl: node.pre_qc_tp,
             end_jl: node.end_gather_tp, end_contract_jl: node.end_contract_tp, end_qc_jl: node.end_qc_tp,
             peg: peg ? this._getPegStr(peg.name) : '', drawing_code: this._getDrawingCode(node),
+            dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
             position: '',
             lIndex: nodeIndex,
         };
@@ -564,6 +631,7 @@ class StageIm {
             lIndex: index,
             bw: bw, jldy: node.name,
             changes: [], gclBills: [],
+            dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
         };
         this._checkCustomDetail(im);
         return im;
@@ -746,6 +814,7 @@ class StageIm {
                     peg: peg ? this._getPegStr(peg.name) : '',
                     position: '',
                     lIndex: nodeIndex,
+                    dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
                 };
                 if (this.ctx.stage.im_gather && node.check) {
                     im.check = true;
@@ -817,6 +886,7 @@ class StageIm {
                         end_jl: pp.end_gather_qty, end_contract_jl: pp.end_contract_qty, end_qc_jl: pp.end_qc_qty,
                         bw,
                         peg: this._checkPeg(pp.name) ? this._getPegStr(pp.name) : (peg ? this._getPegStr(peg.name) : ''),
+                        dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
                         xm: pp.name, jldy: pp.name,
                         drawing_code: pp.drawing_code,
                         changes: [],
@@ -859,6 +929,7 @@ class StageIm {
                     end_tp: p.end_gather_tp, end_contract_tp: p.end_contract_tp, end_qc_tp: p.end_qc_tp,
                     bw,
                     peg: peg ? this._getPegStr(peg.name) : '',
+                    dwgc: this._getDwgc(peg, node), fbgc: this._getFbgc(peg, node), fxgc: this._getFxgc(peg, node),
                     xm: node.name,
                     drawing_code: this._getDrawingCode(p),
                     changes: [],

+ 6 - 0
builder_report_index_define.js

@@ -695,6 +695,9 @@ const stage_im_zl = {
         { name: '审批意见2', field: 'co_opinion2', type: dataType.time },
         { name: '审批意见3', field: 'co_opinion3', type: dataType.time },
         { name: '审批意见4', field: 'co_opinion4', type: dataType.time },
+        { name: '单位工程', field: 'dwgc', type: dataType.str },
+        { name: '分部工程', field: 'fbgc', type: dataType.str },
+        { name: '分项工程', field: 'fxgc', type: dataType.str },
     ],
 };
 const stage_im_tz = {
@@ -744,6 +747,9 @@ const stage_im_tz = {
         { name: '审批意见2', field: 'co_opinion2', type: dataType.time },
         { name: '审批意见3', field: 'co_opinion3', type: dataType.time },
         { name: '审批意见4', field: 'co_opinion4', type: dataType.time },
+        { name: '单位工程', field: 'dwgc', type: dataType.str },
+        { name: '分部工程', field: 'fbgc', type: dataType.str },
+        { name: '分项工程', field: 'fxgc', type: dataType.str },
     ],
 };
 const stage_im_tz_bills = {