Explorar el Código

报表,汇总清单,排序问题

MaiXinRong hace 3 años
padre
commit
252c82fbb2

+ 19 - 0
app/lib/ledger.js

@@ -496,6 +496,25 @@ class gatherTree extends baseTree {
         }
         // todo load Pos Data;
     }
+    resortChildrenByCustom(fun) {
+        for (const n of this.datas) {
+            if (n.children && n.children.length > 1) {
+                n.children.sort(fun);
+                n.children.forEach((x, i) => { x.order = i + 1; });
+            }
+        }
+        this.generateSortNodes();
+    }
+    resortChildrenDefault() {
+        const helper = this.ctx.helper;
+        this.resortChildrenByCustom((x, y) => {
+            const iCode = helper.compareCode(x.code, y.code);
+            if (iCode) return iCode;
+            if (!x.name) return -1;
+            if (!y.name) return 1;
+            return x.name.localeCompare(y.name);
+        })
+    }
 
     calculateSum() {
         if (this.setting.calcSum) {

+ 1 - 1
app/public/js/budget_compare.js

@@ -129,7 +129,7 @@ $(document).ready(() => {
             if (iCode) return iCode;
             if (!x.name) return -1;
             if (!y.name) return 1;
-            return x.name.localeCompare(y.name)
+            return x.name.localeCompare(y.name);
         });
         SpreadJsObj.loadSheetData(compareSheet, SpreadJsObj.DataType.Tree, compareTree);
     });

+ 1 - 1
app/service/rpt_gather_memory.js

@@ -527,7 +527,7 @@ module.exports = app => {
                 }
             }
 
-            this.resultTree.generateSortNodes();
+            this.resultTree.resortChildrenDefault();
             gatherUtils.completeGatherData(this.resultTree.nodes, completeDatas);
             return this.resultTree.getDefaultDatas();
         }

+ 3 - 0
builder_report_index_define.js

@@ -852,6 +852,7 @@ const stage_pay = {
         { name: '流程-本期-金额_8', field: 'r8_tp', type: dataType.currency },
         { name: '流程-本期-金额_9', field: 'r9_tp', type: dataType.currency },
         { name: '第几期开始计量', field: 'start_stage_order', type: dataType.int },
+        { name: '本期批注', field: 'postil', type: dataType.str },
     ],
 };
 
@@ -1406,6 +1407,7 @@ const select_material = {
         { name: '截止上期金额', field: 'pre_tp', type: dataType.currency },
         { name: '税率', field: 'rate', type: dataType.int },
         { name: '创建时间', field: 'in_time', type: dataType.str },
+        { name: '调差周期', field: 'period', type: dataType.str },
 
     ],
 };
@@ -1458,6 +1460,7 @@ const material = {
         { name: '截止上期材料含税金额', field: 'm_tax_pre_tp', type: dataType.currency },
         { name: '小数位数设置JSON', field: 'decimal', type: dataType.currency },
         { name: '批复时间', field: 'checked_time', type: dataType.str },
+        { name: '调差周期', field: 'period', type: dataType.str },
 
     ],
 };