浏览代码

feat: 新增工程变更,台账分解未上报不允许上报变更令。

lanjianrong 4 年之前
父节点
当前提交
d51e786896
共有 4 个文件被更改,包括 64 次插入17 次删除
  1. 7 7
      app/controller/change_controller.js
  2. 34 9
      app/public/js/change.js
  3. 3 0
      app/view/change/index.ejs
  4. 20 1
      app/view/change/modal.ejs

+ 7 - 7
app/controller/change_controller.js

@@ -130,6 +130,7 @@ module.exports = app => {
                 codeRule,
                 dealCode: ctx.tender.info.deal_info.dealCode,
                 auditConst: audit.flow,
+                ledgerConsts: audit.ledger.status,
                 changeConst,
                 ruleType: codeRuleConst.ruleType.change,
                 ruleConst: codeRuleConst.measure,
@@ -137,7 +138,6 @@ module.exports = app => {
                 preUrl: '/tender/' + tenderId,
                 tpUnit: ctx.tender.info.decimal.tp,
             };
-
             await this.layout('change/index.ejs', renderData, 'change/modal.ejs');
         }
 
@@ -500,9 +500,9 @@ module.exports = app => {
         async defaultBills(ctx) {
             try {
                 const ledgerData = await ctx.service.ledger.getData(ctx.tender.id);
-                const posData = await ctx.service.pos.getPosData({tid: ctx.tender.id});
+                const posData = await ctx.service.pos.getPosData({ tid: ctx.tender.id });
                 const dealBills = await ctx.service.dealBills.getAllDataByCondition({ where: { tender_id: ctx.tender.id } });
-                ctx.body = { err: 0, msg: '', data: {bills: ledgerData, pos: posData, dealBills: dealBills} };
+                ctx.body = { err: 0, msg: '', data: { bills: ledgerData, pos: posData, dealBills } };
             } catch (err) {
                 this.log(err);
                 ctx.body = { err: 1, msg: err.toString(), data: [] };
@@ -544,7 +544,7 @@ module.exports = app => {
          */
         async approval(ctx) {
             try {
-                const changeData = await ctx.service.change.getDataByCondition({cid: ctx.request.body.change_id});
+                const changeData = await ctx.service.change.getDataByCondition({ cid: ctx.request.body.change_id });
                 if (!changeData) {
                     throw '变更令数据错误';
                 }
@@ -789,12 +789,12 @@ module.exports = app => {
         /**
          * 获取变更清单
          * @param ctx
-         * @returns {Promise<void>}
+         * @return {Promise<void>}
          */
         async bills(ctx) {
             try {
                 const data = JSON.parse(ctx.request.body.data);
-                const responseData = {err: 0, msg: '', data: []};
+                const responseData = { err: 0, msg: '', data: [] };
                 switch (data.type) {
                     case 'gather':
                         responseData.data = await ctx.service.changeAuditList.gatherBgBills(ctx.tender.id);
@@ -812,7 +812,7 @@ module.exports = app => {
         /**
          * 最后审批人审批成功检查批复编号和其它变更令是否出现重名情况
          * @param ctx
-         * @returns {Promise<void>}
+         * @return {Promise<void>}
          */
         async checkCodeRepeat(ctx) {
             const responseData = {

+ 34 - 9
app/public/js/change.js

@@ -181,16 +181,41 @@ $(document).ready(() => {
             }
         });
     })
-    // 新增变更令 modal显示
-    $('#add-bj').on('show.bs.modal', function() {
-        getNewCode();
-        if ($('#changeList').children.length === 0) {
-            $('#addCancel').hide();
-        } else {
-            $('#addCancel').show();
+    $('.ml-auto').on('click', 'a', function () {
+        const content = $(this).attr('href');
+        if (content === '#add-bj') {
+            if (parseInt(ledger_status) === ledgerConsts.uncheck) {
+                $('#warning-ledger').modal('show');
+            } else {
+                $('#add-bj-modal').modal('show')
+                getNewCode();
+                if ($('#changeList').children.length === 0) {
+                    $('#addCancel').hide();
+                } else {
+                    $('#addCancel').show();
+                }
+                $('#bj-code').removeClass('is-invalid');
+            }
         }
-        $('#bj-code').removeClass('is-invalid');
-    });
+    })
+    // 新增变更令 modal显示
+    // $('#add-bj').on('show.bs.modal', function() {
+    //     console.log('2222222222222222')
+    //     if (parseInt(ledger_status) === ledgerConsts.checked) {
+    //         $('#add-bj').modal('hide');
+    //         $('#warning-ledger').modal('show');
+    //     }
+    //     getNewCode();
+    //     if ($('#changeList').children.length === 0) {
+    //         $('#addCancel').hide();
+    //     } else {
+    //         $('#addCancel').show();
+    //     }
+    //     $('#bj-code').removeClass('is-invalid');
+    // });
+    $('#led-warning').click(function () {
+        $('#warning-ledger').modal('hide');
+    })
     // 获取最新可用变更令号
     $('#autoCode').click(getNewCode);
     // 新增变更令 确认

+ 3 - 0
app/view/change/index.ejs

@@ -80,6 +80,9 @@
         </div>
     </div>
 </div>
+<script>
+    const tendetStatus = '<%- tender %>'
+</script>
 <script src="/public/js/sub_menu.js"></script>
 <script>
     $.subMenu({

+ 20 - 1
app/view/change/modal.ejs

@@ -17,9 +17,26 @@
         </div>
     </div>
 </div>
+
+<div class="modal fade" id="warning-ledger" 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">
+                <h5>请先上报审批台账,再上报审批变更令。</h5>
+            </div>
+            <div class="modal-footer">
+                <button id="led-warning" class="btn btn-danger btn-sm">确定</button>
+            </div>
+        </div>
+    </div>
+</div>
+
 <% if (tender.user_id === uid) { %>
 <!--弹出添加变更令-->
-<div class="modal fade" id="add-bj" data-backdrop="static">
+<div class="modal fade" id="add-bj-modal" data-backdrop="static">
     <div class="modal-dialog" role="document">
         <div class="modal-content">
             <div class="modal-header">
@@ -133,6 +150,8 @@
     let codeRule = JSON.parse('<%- JSON.stringify(codeRule) %>');
     let connectorRule = '<%- tender.c_connector %>';
     let cRuleFirst = '<%- tender.c_rule_first %>';
+    const ledger_status = '<%- JSON.stringify(tender.ledger_status) %>';
+    const ledgerConsts = JSON.parse('<%- JSON.stringify(ledgerConsts) %>');
 </script>
 <script src="/public/js/moment/moment.min.js"></script>