Pārlūkot izejas kodu

中间计量,项目节明细

MaiXinRong 6 gadi atpakaļ
vecāks
revīzija
f370b4944a

+ 20 - 0
app/public/js/path_tree.js

@@ -573,6 +573,9 @@ const createNewPathTree = function (type, setting) {
          * @returns {boolean}
          */
         isLeafXmj(node) {
+            if (!node.code) {
+                return false;
+            }
             for (const child of node.children) {
                 if (!child.b_code || child.b_code === '') {
                     return false;
@@ -582,6 +585,23 @@ const createNewPathTree = function (type, setting) {
         }
 
         /**
+         * 查询最底层项目节(本身或父项)
+         * @param {Object} node - 查询节点
+         * @returns {Object}
+         */
+        getLeafXmjParent(node) {
+            let parent = node;
+            while (parent) {
+                if (this.isLeafXmj(parent)) {
+                    return parent;
+                } else {
+                    parent = this.getParent(parent);
+                }
+            }
+            return null;
+        }
+
+        /**
          * 展开至最底层项目节
          */
         expandToLeafXmj() {

+ 15 - 0
app/public/js/stage_detail.js

@@ -38,6 +38,19 @@ $(document).ready(() => {
         }
     }
 
+    function loadLeafXmjsData() {
+        const data = getSelectDetailData();
+        const html = [];
+        for (const lx of data.leafXmjs) {
+            html.push('<tr>');
+            html.push('<td>', lx.code , '</td>');
+            html.push('<td>', lx.name , '</td>');
+            html.push('<td>', lx.jl , '</td>');
+            html.push('</tr>');
+        }
+        $('#leaf-xmj-list').html(html.join(''));
+    }
+
     function reBuildImData() {
         const imData = stageIm.buildImData();
         const html = [];
@@ -64,6 +77,7 @@ $(document).ready(() => {
         $('tr:first', '#im-list').addClass('table-warning');
         $('#im-list').attr('rowIndex', 0);
         reLoadDetailData();
+        loadLeafXmjsData();
         $('tr', '#im-list').click(function () {
             $('tr.table-warning').removeClass('table-warning');
             $(this).addClass('table-warning');
@@ -80,6 +94,7 @@ $(document).ready(() => {
             $('#drawing-code').attr('readonly', '');
             $('#calc-memo').attr('readonly', '');
             reLoadDetailData();
+            loadLeafXmjsData();
         });
     }
 

+ 24 - 0
app/public/js/stage_im.js

@@ -153,6 +153,28 @@ const stageIm = (function () {
     }
 
     /**
+     * 生成所属项目节数据(取最底层项目节)
+     * @param node - 生成数据基于的台账节点
+     * @param im - 中间计量数据
+     */
+    function generateLeafXmjData(node, im, jlField) {
+        if (!im.leafXmjs) {
+            im.leafXmjs = [];
+        }
+        const leafXmj = gsTree.getLeafXmjParent(node);
+        let lx = _.find(im.leafXmjs, {lxid: leafXmj.id});
+        if (!lx) {
+            lx = {
+                lxid: leafXmj.id,
+                code: leafXmj.code,
+                name: leafXmj.name
+            };
+            im.leafXmjs.push(lx);
+        }
+        lx.jl = _.round(_.add(lx.jl, node[jlField]), 6);
+    }
+
+    /**
      * 生成 0号台账 中间计量数据
      * @param {Object} node - 生成中间计量表的节点
      */
@@ -176,6 +198,7 @@ const stageIm = (function () {
                 im.bw = node.name
             }
             checkCustomDetail(im);
+            generateLeafXmjData(node, im, 'gather_tp');
             ImData.push(im);
         }
     }
@@ -217,6 +240,7 @@ const stageIm = (function () {
                 checkCustomDetail(im);
                 ImData.push(im);
             }
+            generateLeafXmjData(p, im, 'gather_qty');
             im.jl = _.add(im.jl, p.gather_qty);
         }
     }

+ 9 - 3
app/view/stage/detail.ejs

@@ -94,9 +94,11 @@
                         <div class="sjs-sh-1" style="overflow: auto;">
                             <div class="sjs-height-3">
                                 <table class="table table-bordered">
-                                    <tr><th>编号</th><th>名称</th></tr>
-                                    <tr><td>1-4-1-5-1</td><td>桥台桩基础</td></tr>
-                                    <tr><td>1-4-1-5-2</td><td>桥台桩基础</td></tr>
+                                    <thead>
+                                    <tr><th>编号</th><th>名称</th><th>本期计量数量/金额</th></tr>
+                                    </thead>
+                                    <tbody id="leaf-xmj-list">
+                                    </tbody>
                                 </table>
                             </div>
                             <div class="sjs-bottom">
@@ -109,9 +111,13 @@
                                     <div class="tab-pane active">
                                         <div class="sjs-bottom-2">
                                             <table class="table table-sm table-bordered">
+                                                <thead>
                                                 <tr><th>部位</th><th>台帐数量</th><th>本期计量数量</th></tr>
+                                                </thead>
+                                                <tbody id="pos-list">
                                                 <tr><td>0#桥台1#桩</td><td>126</td><td>40</td></tr>
                                                 <tr><td>0#桥台2#桩</td><td>126</td><td>40</td></tr>
+                                                </tbody>
                                             </table>
                                         </div>
                                     </div>