소스 검색

台账分解,台账修订,调整菜单

MaiXinRong 2 년 전
부모
커밋
5e9e4fe1a1
3개의 변경된 파일136개의 추가작업 그리고 141개의 파일을 삭제
  1. 1 6
      app/lib/rptCustomData.js
  2. 79 79
      app/public/js/ledger.js
  3. 56 56
      app/public/js/revise.js

+ 1 - 6
app/lib/rptCustomData.js

@@ -630,6 +630,7 @@ class fjHelper {
             b[field] = this.ctx.helper.add(b[field], d.rela_qty);
         }
 
+        const result = [];
         for (const b of bills) {
             b.quantity = helper.sum(b.ledgerSource.map(x => { return x.quantity; }));
             b.total_price = helper.sum(b.ledgerSource.map(x => { return x.total_price; }));
@@ -643,10 +644,6 @@ class fjHelper {
             b.end_positive_qc_tp = helper.add(b.pre_positive_qc_tp, b.positive_qc_tp);
             b.end_negative_qc_qty = helper.add(b.pre_negative_qc_qty, b.negative_qc_qty);
             b.end_negative_qc_tp = helper.add(b.pre_negative_qc_tp, b.negative_qc_tp);
-        }
-
-        const result = [];
-        for (const b of bills) {
             result.push({
                 b_code: b.b_code, name: b.name, unit: b.unit, unit_price: b.unit_price,
                 quantity: b.quantity, total_price: b.total_price,
@@ -656,8 +653,6 @@ class fjHelper {
                 final_qty: b.final_qty, final_tp: b.final_tp,
                 minus: 0,
             });
-        }
-        for (const b of bills) {
             result.push({
                 b_code: b.b_code, name: b.name, unit: b.unit, unit_price: b.unit_price,
                 quantity: b.quantity, total_price: b.total_price,

+ 79 - 79
app/public/js/ledger.js

@@ -1329,6 +1329,85 @@ $(document).ready(function() {
         };
         billsContextMenuOptions.items.sprBase = '----';
     }
+    if (!readOnly) {
+        billsContextMenuOptions.items.batchInsert = {
+            name: '批量插入',
+            type: 'batchInsert',
+            value: '2',
+            icon: 'fa-sign-in',
+            batchInsert: function (obj, root) {
+                if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
+                    obj.value = obj.max;
+                    toastr.warning('批量插入不可多于' + obj.max);
+                } else if(_.toNumber(obj.value) < _.toNumber(obj.min)) {
+                    obj.value = obj.min;
+                    toastr.warning('批量插入不可少于' + obj.min);
+                } else {
+                    treeOperationObj.addNode(ledgerSpread.getActiveSheet(), parseInt(obj.value));
+                    root.$menu.trigger('contextmenu:hide');
+                }
+            },
+            disabled: function (key, opt) {
+                const sheet = ledgerSpread.getActiveSheet();
+                const selection = sheet.getSelections();
+                const sel = selection ? selection[0] : sheet.getSelections()[0];
+                const row = sel ? sel.row : -1;
+                const tree = sheet.zh_tree;
+                if (!tree) return true;
+                const first = sheet.zh_tree.nodes[row];
+                let last = first, sameParent = true;
+                if (sel.rowCount > 1) {
+                    for (let r = 1; r < sel.rowCount; r++) {
+                        const rNode = tree.nodes[sel.row + r];
+                        if (rNode.level > first.level) continue;
+                        if ((rNode.level < first.level) || (rNode.level === first.level && rNode.pid !== first.pid)) {
+                            sameParent = false;
+                            break;
+                        }
+                        last = rNode;
+                    }
+                }
+                const valid = !sheet.zh_setting.readOnly;
+                return !(valid && first && first.level > 1);
+            },
+            visible: function (key, opt) {
+                return !readOnly;
+            }
+        };
+        billsContextMenuOptions.items.batchInsertBillsPos = {
+            name: '批量插入清单-计量单元',
+            icon: 'fa-sign-in',
+            disabled: function (key, opt) {
+                if (!checkTzMeasureType()) return true;
+                const sheet = ledgerSpread.getActiveSheet();
+                const selection = sheet.getSelections();
+                const row = selection[0].row;
+                const select = ledgerTree.nodes[row];
+                if (select) {
+                    if (select.code && select.code !== '') {
+                        return !ledgerTree.isLeafXmj(select);
+                    } else {
+                        const parent = ledgerTree.getParent(select);
+                        return !(parent && ledgerTree.isLeafXmj(parent));
+                    }
+                } else {
+                    return true;
+                }
+            },
+            callback: function (key, opt) {
+                if (!batchInsertObj) {
+                    batchInsertObj = new BatchInsertBillsPosObj($('#batch'));
+                } else {
+                    batchInsertObj.initView();
+                }
+                $('#batch').modal('show');
+            },
+            visible: function (key, opt) {
+                return !readOnly;
+            }
+        };
+        billsContextMenuOptions.items.sprBatch = '----';
+    }
     billsContextMenuOptions.items.copyBlock = {
         name: '复制整块',
         icon: 'fa-files-o',
@@ -1476,85 +1555,6 @@ $(document).ready(function() {
         billsContextMenuOptions.items.sprSort = '----';
     }
     if (!readOnly) {
-        billsContextMenuOptions.items.batchInsert = {
-            name: '批量插入',
-            type: 'batchInsert',
-            value: '2',
-            icon: 'fa-sign-in',
-            batchInsert: function (obj, root) {
-                if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
-                    obj.value = obj.max;
-                    toastr.warning('批量插入不可多于' + obj.max);
-                } else if(_.toNumber(obj.value) < _.toNumber(obj.min)) {
-                    obj.value = obj.min;
-                    toastr.warning('批量插入不可少于' + obj.min);
-                } else {
-                    treeOperationObj.addNode(ledgerSpread.getActiveSheet(), parseInt(obj.value));
-                    root.$menu.trigger('contextmenu:hide');
-                }
-            },
-            disabled: function (key, opt) {
-                const sheet = ledgerSpread.getActiveSheet();
-                const selection = sheet.getSelections();
-                const sel = selection ? selection[0] : sheet.getSelections()[0];
-                const row = sel ? sel.row : -1;
-                const tree = sheet.zh_tree;
-                if (!tree) return true;
-                const first = sheet.zh_tree.nodes[row];
-                let last = first, sameParent = true;
-                if (sel.rowCount > 1) {
-                    for (let r = 1; r < sel.rowCount; r++) {
-                        const rNode = tree.nodes[sel.row + r];
-                        if (rNode.level > first.level) continue;
-                        if ((rNode.level < first.level) || (rNode.level === first.level && rNode.pid !== first.pid)) {
-                            sameParent = false;
-                            break;
-                        }
-                        last = rNode;
-                    }
-                }
-                const valid = !sheet.zh_setting.readOnly;
-                return !(valid && first && first.level > 1);
-            },
-            visible: function (key, opt) {
-                return !readOnly;
-            }
-        };
-        billsContextMenuOptions.items.batchInsertBillsPos = {
-            name: '批量插入清单-计量单元',
-            icon: 'fa-sign-in',
-            disabled: function (key, opt) {
-                if (!checkTzMeasureType()) return true;
-                const sheet = ledgerSpread.getActiveSheet();
-                const selection = sheet.getSelections();
-                const row = selection[0].row;
-                const select = ledgerTree.nodes[row];
-                if (select) {
-                    if (select.code && select.code !== '') {
-                        return !ledgerTree.isLeafXmj(select);
-                    } else {
-                        const parent = ledgerTree.getParent(select);
-                        return !(parent && ledgerTree.isLeafXmj(parent));
-                    }
-                } else {
-                    return true;
-                }
-            },
-            callback: function (key, opt) {
-                if (!batchInsertObj) {
-                    batchInsertObj = new BatchInsertBillsPosObj($('#batch'));
-                } else {
-                    batchInsertObj.initView();
-                }
-                $('#batch').modal('show');
-            },
-            visible: function (key, opt) {
-                return !readOnly;
-            }
-        };
-        billsContextMenuOptions.items.sprBatch = '----';
-    }
-    if (!readOnly) {
         const tenderSelect = TenderSelect({
             type: 'ledger',
             afterLoad: function (result) {

+ 56 - 56
app/public/js/revise.js

@@ -1136,6 +1136,62 @@ $(document).ready(() => {
             }
         };
         billsContextMenuOptions.items.sprBase = '----';
+        billsContextMenuOptions.items.batchInsert = {
+            name: '批量插入',
+            type: 'batchInsert',
+            value: '2',
+            icon: 'fa-sign-in',
+            batchInsert: function (obj, root) {
+                if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
+                    obj.value = obj.max;
+                    toastr.warning('批量插入不可多于' + obj.max);
+                } else if (_.toNumber(obj.value) < _.toNumber(obj.min)) {
+                    obj.value = obj.min;
+                    toastr.warning('批量插入不可少于' + obj.min);
+                } else {
+                    billsTreeSpreadObj.baseOpr(billsSheet, 'add', parseInt(obj.value));
+                    root.$menu.trigger('contextmenu:hide');
+                }
+            },
+            disabled: function (key, opt) {
+                const sheet = billsSheet;
+                const selection = sheet.getSelections();
+                const sel = selection ? selection[0] : sheet.getSelections()[0];
+                const row = sel ? sel.row : -1;
+                const tree = sheet.zh_tree;
+                if (!tree) return true;
+                const first = sheet.zh_tree.nodes[row];
+                const valid = !sheet.zh_setting.readOnly;
+                return !(valid && first && first.level > 1);
+            }
+        };
+        billsContextMenuOptions.items.batchInsertBillsPos = {
+            name: '批量插入清单-计量单元',
+            icon: 'fa-sign-in',
+            disabled: function (key, opt) {
+                if (!isTz) return true;
+                const select = SpreadJsObj.getSelectObject(billsSheet);
+                if (select) {
+                    if (select.code && select.code !== '') {
+                        return !billsTree.isLeafXmj(select);
+                    } else {
+                        const parent = billsTree.getParent(select);
+                        return !(parent && billsTree.isLeafXmj(parent));
+                    }
+                } else {
+                    return false;
+                }
+            },
+            callback: function (key, opt) {
+                if (!batchInsertObj) {
+                    batchInsertObj = new BatchInsertBillsPosObj($('#batch'));
+                } else {
+                    batchInsertObj.initView();
+                }
+                $('#batch').modal('show');
+            }
+        };
+        billsContextMenuOptions.items.sprBatch = '----';
     }
     billsContextMenuOptions.items.copyBlock = {
         name: '复制整块',
@@ -1264,62 +1320,6 @@ $(document).ready(() => {
         }
     }
     if (!readOnly) {
-        billsContextMenuOptions.items.batchInsert = {
-            name: '批量插入',
-            type: 'batchInsert',
-            value: '2',
-            icon: 'fa-sign-in',
-            batchInsert: function (obj, root) {
-                if (_.toNumber(obj.value) > _.toNumber(obj.max)) {
-                    obj.value = obj.max;
-                    toastr.warning('批量插入不可多于' + obj.max);
-                } else if (_.toNumber(obj.value) < _.toNumber(obj.min)) {
-                    obj.value = obj.min;
-                    toastr.warning('批量插入不可少于' + obj.min);
-                } else {
-                    billsTreeSpreadObj.baseOpr(billsSheet, 'add', parseInt(obj.value));
-                    root.$menu.trigger('contextmenu:hide');
-                }
-            },
-            disabled: function (key, opt) {
-                const sheet = billsSheet;
-                const selection = sheet.getSelections();
-                const sel = selection ? selection[0] : sheet.getSelections()[0];
-                const row = sel ? sel.row : -1;
-                const tree = sheet.zh_tree;
-                if (!tree) return true;
-                const first = sheet.zh_tree.nodes[row];
-                const valid = !sheet.zh_setting.readOnly;
-                return !(valid && first && first.level > 1);
-            }
-        };
-        billsContextMenuOptions.items.batchInsertBillsPos = {
-            name: '批量插入清单-计量单元',
-            icon: 'fa-sign-in',
-            disabled: function (key, opt) {
-                if (!isTz) return true;
-                const select = SpreadJsObj.getSelectObject(billsSheet);
-                if (select) {
-                    if (select.code && select.code !== '') {
-                        return !billsTree.isLeafXmj(select);
-                    } else {
-                        const parent = billsTree.getParent(select);
-                        return !(parent && billsTree.isLeafXmj(parent));
-                    }
-                } else {
-                    return false;
-                }
-            },
-            callback: function (key, opt) {
-                if (!batchInsertObj) {
-                    batchInsertObj = new BatchInsertBillsPosObj($('#batch'));
-                } else {
-                    batchInsertObj.initView();
-                }
-                $('#batch').modal('show');
-            }
-        };
-        billsContextMenuOptions.items.sprBatch = '----';
         billsContextMenuOptions.items.importGclBills2Xmj = {
             name: '导入工程量清单至项目节',
             icon: 'fa-file-excel-o',