Browse Source

Merge branch 'dev' of http://192.168.1.41:3000/maixinrong/Calculation into dev

TonyKang 3 years ago
parent
commit
86e790662a

+ 8 - 4
app/controller/revise_controller.js

@@ -45,10 +45,12 @@ module.exports = app => {
         async _getAddReviseValid(ctx) {
             const revise = await ctx.service.ledgerRevise.getLastestRevise(ctx.tender.id);
             const lastStage = await ctx.service.stage.getLastestStage(ctx.tender.id, true);
-            return (ctx.tender.data.user_id === ctx.session.sessionUser.accountId) &&
+            const addVisible = (ctx.tender.data.user_id === ctx.session.sessionUser.accountId) &&
                 (ctx.tender.data.ledger_status === audit.ledger.status.checked) &&
-                (!revise || !revise.valid || revise.status === audit.revise.status.checked) &&
-                (!lastStage || lastStage.status !== audit.stage.status.checking);
+                (!revise || !revise.valid || revise.status === audit.revise.status.checked);
+            const addValid = addVisible && (!lastStage || lastStage.status === audit.stage.status.uncheck ||
+                lastStage.status === audit.stage.status.checkNo || lastStage.status === audit.stage.status.checked);
+            return [addVisible, addValid];
         }
 
         /**
@@ -80,7 +82,8 @@ module.exports = app => {
                         lr.curAuditor = await ctx.service.reviseAudit.getAuditorByStatus(lr.id, lr.status, lr.times);
                     }
                 }
-                const addValid = await this._getAddReviseValid(ctx);
+                const [addVisible, addValid] = await this._getAddReviseValid(ctx);
+                console.log(addVisible, addValid);
                 const [stdBills, stdChapters] = await this.ctx.service.valuation.getValuationStdList(
                     ctx.tender.data.valuation, ctx.tender.data.measure_type);
                 const renderData = {
@@ -93,6 +96,7 @@ module.exports = app => {
                         queryData: JSON.stringify(ctx.urlInfo.query),
                     },
                     ledgerRevise,
+                    addVisible,
                     addValid,
                     auditConst: audit.revise,
                     auditConst2: JSON.stringify(audit.revise),

+ 2 - 1
app/lib/sum_load.js

@@ -202,7 +202,7 @@ class updateReviseGclTree extends loadGclBaseTree {
                     });
                 } else if (bn.sjcl_qty !== bn.org_sjcl_qty || bn.qtcl_qty !== bn.org_qtcl_qty || bn.sgfh_qty !== bn.org_sgfh_qty) {
                     result.update.push({
-                        id: bn.id, sgfh_qty: bn.sgfh_qty, sjcl_qty: bn.sjcl_qty, qtcl_qty: bn.qtcl_qty, quantity: bn.quantity
+                        id: bn.id, ledger_id: bn.ledger_id, sgfh_qty: bn.sgfh_qty, sjcl_qty: bn.sjcl_qty, qtcl_qty: bn.qtcl_qty, quantity: bn.quantity
                     })
                 }
             }
@@ -248,6 +248,7 @@ class gatherStageGclTree extends loadGclBaseTree {
                 org_order: d.order,
                 contract_qty: 0,
                 contract_tp: 0,
+                is_tp: d.is_tp,
             };
             parent.children.push(baseNode);
             Index[baseNode.ledger_id] = baseNode;

+ 14 - 10
app/public/js/shares/db2full_code.js

@@ -75,6 +75,16 @@ const dbFullCode = {
         document.getElementById('db-full-code-change').disabled = true;
         $('#db-full-code-file').change(dbFullCode.loadXlsx);
     },
+    _completeFullCode: function (b, index) {
+        for (let j = index-1; j >= 0; j--) {
+            if (this.dealBills[j].tag === -1) continue;
+            if (this.dealBills[j].tag !== b.tag && this.dealBills[j].level < 4) {
+                b.full_code = this.dealBills[j].full_code + b.code;
+                b.level = this.dealBills[j].level + 1;
+                return;
+            }
+        }
+    },
     change: function () {
         const regChar = /^-[a-zA-Z]$/, regNum = /^-[0-9]{1,2}$/, regCode = /^[0-9]{3,4}((-[0-9]{1,2})|(-[a-zA-Z]))*$/;
         let invalid = 0;
@@ -82,22 +92,16 @@ const dbFullCode = {
             if (regCode.test(db.code)) {
                 db.tag = 0;
                 db.full_code = db.code;
+                db.level = db.full_code.split('-').length;
             } else if (regNum.test(db.code)) {
                 db.tag = 1;
-                for (let j = i-1; j >= 0; j--) {
-                    if (this.dealBills[j].tag !== db.tag) {
-                        db.full_code = this.dealBills[j].full_code + db.code;
-                    }
-                }
+                this._completeFullCode(db, i);
             } else if (regChar.test(db.code)) {
                 db.tag = 2;
-                for (let j = i-1; j >= 0; j--) {
-                    if (this.dealBills[j].tag !== db.tag) {
-                        db.full_code = this.dealBills[j].full_code + db.code;
-                    }
-                }
+                this._completeFullCode(db, i);
             } else {
                 db.tag = -1;
+                db.full_code = '';
                 invalid += 1;
             }
         }

+ 5 - 1
app/view/revise/index.ejs

@@ -14,9 +14,13 @@
                 </div>
             </div>
             <div class="ml-auto">
-                <% if (addValid) { %>
+                <% if (addVisible) { %>
                 <div class="d-inline-block">
+                    <% if (addValid) { %>
                     <a href="#add-bg" data-toggle="modal" data-target="#add-bg" class="btn btn-primary btn-sm">新建修订</a>
+                    <% } else { %>
+                    <a href="#add-bg-hint" data-toggle="modal" data-target="#add-bg-hint" class="btn btn-primary btn-sm">新建修订</a>
+                    <% } %>
                 </div>
                 <% } %>
             </div>

+ 15 - 0
app/view/revise/modal.ejs

@@ -16,6 +16,21 @@
         </div>
     </form>
 </div>
+<div class="modal fade" id="add-bg-hint" data-backdrop="static">
+    <div class="modal-dialog" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">新增修订</h5>
+            </div>
+            <div class="modal-body">
+                <h6>标段已在审批中,无法创建修订,请在待上报或者审批完成后再进行。</h6>
+            </div>
+            <div class="modal-footer">
+                <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">关闭</button>
+            </div>
+        </div>
+    </div>
+</div>
 <!--审批流程/结果-->
 <div class="modal fade" id="sp-list" data-backdrop="static">
     <div class="modal-dialog modal-lg" role="document">

+ 16 - 3
app/view/tender/detail.ejs

@@ -543,18 +543,31 @@
         },
         xAxis: {
             type: 'category',
-            data: ['100章', '200章', '300章', '400章', '500章', '600章', '700章', '800章', '900章']
+            data: [
+                <% for (const gcl of gclChapter) { %>
+                '<%- gcl.code %>章',
+                <% } %>
+            ]
+
         },
         series: [
             {
                 name: '台帐金额',
                 type: 'bar',
-                data: [18203, 23489, 29034, 104970, 131744, 630230, 104970, 131744, 630230]
+                data: [
+                    <% for (const gcl of gclChapter) { %>
+                    <%- gcl.total_price %>,
+                    <% } %>
+                ]
             },
             {
                 name: '截止本期计量',
                 type: 'bar',
-                data: [19325, 23438, 31000, 121594, 134141, 681807, 121594, 134141, 681807]
+                data: [
+                    <% for (const gcl of gclChapter) { %>
+                    <%- gcl.end_gather_tp %>,
+                    <% } %>
+                ]
             }
         ]
     };