Prechádzať zdrojové kódy

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

Tony Kang 11 mesiacov pred
rodič
commit
0c927d4cb2

+ 3 - 0
app/const/deal_pay.js

@@ -32,6 +32,9 @@ const calcBase = [
     {name: '本期完成计量', code: 'bqwc', limit: true, sort: 10},
     {name: '本期合同计量', code: 'bqht', limit: true, sort: 10},
     {name: '本期变更计量', code: 'bqbg', limit: true, sort: 10},
+    {name: '本期清单完成计量', code: 'bqqdwc', limit: true, sort: 10},
+    {name: '本期清单合同计量', code: 'bqqdht', limit: true, sort: 10},
+    {name: '本期清单变更计量', code: 'bqqdbg', limit: true, sort: 10},
     {name: '本期一般变更计量', code: 'ybbqbg', limit: true, sort: 5},
     {name: '本期较大变更计量', code: 'jdbqbg', limit: true, sort: 5},
     {name: '本期重大变更计量', code: 'zdbqbg', limit: true, sort: 5},

+ 1 - 1
app/controller/tender_controller.js

@@ -635,7 +635,7 @@ module.exports = app => {
                 }
 
                 if (ctx.tender.data.ledger_status === auditConst.ledger.status.checked) {
-                    if (data.deal_param) {
+                    if (data.deal_param && !ctx.session.sessionUser.is_admin) {
                         const lastStage = await this.ctx.service.stage.getLastestStage(ctx.tender.id, true);
                         if (lastStage) {
                             if (lastStage.order > 1 || (lastStage.status === auditConst.stage.status.checked || lastStage.status === auditConst.stage.status.checking)) throw '第一期上报后不可修改合同参数';

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

@@ -2043,7 +2043,7 @@ function checkChangeFrom() {
     if (returnFlag) {
         return false;
     }
-    postData(preUrl + '/audit/start', {}, function (result) {
+    postData(window.location.pathname + '/audit/start', {}, function (result) {
         window.location.reload();
     })
 }

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

@@ -222,7 +222,7 @@ const ledgerCheckUtil = {
                 if (ratio === 0) {
                     if (!data.contract_tp && !data.pre_contract_tp) return 2; // 漏计
                 } else {
-                    const tp = ZhCalc.mul(data.final_1_tp, ZhCalc.div(ratio, 100, 4), this.ctx.tender.info.decimal.tp);
+                    const tp = ZhCalc.mul(data.final_1_tp, ZhCalc.div(ratio, 100, 4), decimal.tp);
                     const checkTp = ZhCalc.add(data.contract_tp, data.pre_contract_tp);
                     if (tp > checkTp) return 1; // 违规
                     if (tp < checkTp) return 2; // 漏计

+ 10 - 0
app/service/stage.js

@@ -655,6 +655,7 @@ module.exports = app => {
             const calcBase = JSON.parse(JSON.stringify(payConst.calcBase));
             const param = tenderInfo.deal_param;
             const sum = await this.ctx.service.stageBills.getSumTotalPrice(stage);
+            const qdSum = await this.ctx.service.stageBills.getSumTotalPriceGcl(stage);
             const pcSum = await this.ctx.service.stageBillsPc.getSumTotalPrice(stage);
             const bg = await this.getChangeSubtotal(stage);
             for (const cb of calcBase) {
@@ -683,6 +684,15 @@ module.exports = app => {
                     case 'bqbg':
                         cb.value = sum.qc_tp; //this.ctx.helper.add(sum.qc_tp, pcSum.qc_pc_tp);
                         break;
+                    case 'bqqdwc':
+                        cb.value = this.ctx.helper.sum([qdSum.contract_tp, qdSum.qc_tp, pcSum.pc_tp]);
+                        break;
+                    case 'bqqdht':
+                        cb.value = qdSum.contract_tp;
+                        break;
+                    case 'bqqdbg':
+                        cb.value = qdSum.qc_tp;
+                        break;
                     case 'ybbqwc':
                         const sumGcl = await this.ctx.service.stageBills.getSumTotalPriceGcl(stage, '^[^0-9]*1[0-9]{2}(-|$)');
                         const sumPc = await this.ctx.service.stageBillsPc.getSumTotalPriceGcl(stage, '^[^0-9]*1[0-9]{2}(-|$)');

+ 3 - 3
app/service/stage_audit_ass.js

@@ -42,14 +42,14 @@ module.exports = app => {
 
         async getAuditStageAss(ass_user_id) {
             // 找出待上报或待审批的协同字段
-            const accountStageAssData = await this.getAllDataByCondition({ where: { ass_user_id, confirm: 0 } });
+            const accountStageAssData = await this.getAllDataByCondition({ where: { ass_user_id } });
             const result = [];
             const accountAssData = await this.ctx.service.auditAss.getAllDataByCondition({ where: { ass_user_id } });
             for (const as of accountStageAssData) {
                 const index = accountAssData.findIndex(x => { return x.tid === as.tid && x.user_id === as.user_id; });
                 if (index >= 0) {
                     accountAssData.splice(index, 1);
-                    result.push(as);
+                    if (as.confirm === 0) result.push(as);
                 }
             }
             result.push(...accountAssData);
@@ -69,7 +69,7 @@ module.exports = app => {
                             result2.push(r);
                         } else {
                             const curAudits = await this.ctx.service.stageAudit.getCurAuditors(s.id, s.times);
-                            if (curAudits.length > 0 && this._.findIndex(curAudits, { user_id: r.user_id }) !== -1) {
+                            if (curAudits.length > 0 && this._.findIndex(curAudits, { aid: r.user_id }) !== -1) {
                                 r.begin_time = curAudits[0].begin_time;
                                 result2.push(r);
                             }

+ 2 - 2
app/view/dashboard/index.ejs

@@ -49,7 +49,7 @@
                                     <option value="4">台账修订(<%- auditRevise.length %>)</option>
                                     <% } %>
                                     <% if (auditStages.length !== 0) { %>
-                                    <option value="2">计量审批(<%- auditStages.length %>)</option>
+                                    <option value="2">计量审批(<%- (auditStages.length + auditStageAss.length) %>)</option>
                                     <% } %>
                                     <% if (auditChanges.length !== 0) { %>
                                     <option value="3">变更审批(<%- auditChanges.length %>)</option>
@@ -74,7 +74,7 @@
                         </div>
                         <div class="card-body p-0">
                             <div class="contant-height-one">
-                                <% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0 || auditAdvance.length !== 0 || auditChangeProject.length !== 0 || auditChangeApply.length !== 0 || auditChangePlan.length !== 0 || auditPayments.length !== 0) { %>
+                                <% if (auditTenders.length !== 0 || auditRevise.length !== 0 || auditStages.length !== 0 || auditChanges.length !== 0 || auditMaterial.length !== 0 || auditAdvance.length !== 0 || auditChangeProject.length !== 0 || auditChangeApply.length !== 0 || auditChangePlan.length !== 0 || auditPayments.length !== 0 || auditStageAss.length !== 0) { %>
                                 <style>
                                     #doing-list td {
                                         word-wrap:break-word;

+ 4 - 2
app/view/tender/detail_modal.ejs

@@ -713,7 +713,7 @@
 </div>
 <% } %>
 
-<% if (!lastStage || (lastStage.order === 1 && lastStage.user_id === ctx.session.sessionUser.accountId && (lastStage.status === audit.stage.status.checkNo || lastStage.status === audit.stage.status.uncheck))) { %>
+<% if (ctx.session.sessionUser.is_admin || !lastStage || (lastStage.order === 1 && lastStage.user_id === ctx.session.sessionUser.accountId && (lastStage.status === audit.stage.status.checkNo || lastStage.status === audit.stage.status.uncheck))) { %>
 <!--标段设置-合同参数-->
 <div class="modal fade" id="bd-set-4" data-backdrop="static">
     <div class="modal-dialog" role="document">
@@ -1633,12 +1633,14 @@
     })();
     $('#bd-set-4').on('show.bs.modal', function () {
         dealObj.loadDealProperty();
-        <% if (lastStage !== undefined && lastStage !== null && (lastStage.user_id !== ctx.session.sessionUser.accountId || lastStage.order > 1 || (lastStage.order === 1 && (lastStage.status !== audit.stage.status.uncheck && lastStage.status !== audit.stage.status.checkNo)))) { %>
+        <% if (!ctx.session.sessionUser.is_admin && lastStage !== undefined && lastStage !== null && (lastStage.user_id !== ctx.session.sessionUser.accountId || lastStage.order > 1 || (lastStage.order === 1 && (lastStage.status !== audit.stage.status.uncheck && lastStage.status !== audit.stage.status.checkNo)))) { %>
             dealObj.setReadOnly(true);
         <% } %>
     });
     function post4 () {
+        <% if (!ctx.session.sessionUser.is_admin) {%>
         if (firstStageChecked) return;
+        <% } %>
         const prop = { deal_param: dealObj.getNewDealData() };
         const tenderId = window.location.pathname.split('/')[2];
         postData('/tender/' + tenderId + '/save', prop, function (data) {

+ 1 - 1
config/config.local.js

@@ -50,7 +50,7 @@ module.exports = appInfo => {
     };
 
     // 中间件
-    config.middleware = ['httpHeader', 'gzip', 'urlParse', 'sortFilter', 'autoLogger', 'autoFinishLogger'];
+    config.middleware = ['gzip', 'urlParse', 'sortFilter', 'autoLogger', 'autoFinishLogger'];
 
     // 前端验证
     config.jsValidator = {

+ 1 - 1
config/config.qa.js

@@ -32,7 +32,7 @@ module.exports = appInfo => {
     config.tablePrefix = 'zh_';
 
     // 中间件
-    config.middleware = ['httpHeader', 'gzip', 'urlParse', 'sortFilter', 'autoLogger', 'autoFinishLogger'];
+    config.middleware = ['gzip', 'urlParse', 'sortFilter', 'autoLogger', 'autoFinishLogger'];
 
     // redis设置
     config.redis = {