Browse Source

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

laiguoran 3 years ago
parent
commit
e9cc36f77e

+ 3 - 1
app/controller/report_archive_controller.js

@@ -55,6 +55,7 @@ module.exports = app => {
             const treeNodes = await ctx.service.rptTreeNode.getNodesByProjectId([-1, tender.data.project_id]);
             const custTreeNodes = await ctx.service.rptTreeNodeCust.getCustFoldersByUserId(this.ctx.session.sessionUser.accountId);
             const stageList = await ctx.service.stage.getValidStagesShort(tender.id);
+            const isAdmin = ctx.session.sessionUser.is_admin;
             //
             // 。。。
             let archiveList = [];
@@ -142,9 +143,10 @@ module.exports = app => {
                 authMobile: accountInfo.auth_mobile,
                 accountGroup: newAccountGroup,
                 accountList,
+                isAdmin,
             };
             if (stage_id === -1) {
-                await this.layout('report/index_archive.ejs', renderData);
+                await this.layout('report/index_archive.ejs', renderData, 'report/archive_popup.ejs');
             } else {
                 await this.layout('report/index_archive.ejs', renderData, 'stage/audit_modal.ejs');
             }

+ 2 - 0
app/controller/report_controller.js

@@ -85,6 +85,7 @@ module.exports = app => {
                 const custTreeNodes = await ctx.service.rptTreeNodeCust.getCustFoldersByUserId(this.ctx.session.sessionUser.accountId);
                 const custCfg = await ctx.service.rptCustomizeCfg.getCustomizeCfgByUserId('Administrator');
                 const stageList = await ctx.service.stage.getValidStagesShort(tender.id);
+                const isAdmin = ctx.session.sessionUser.is_admin;
                 // console.log(stage);
                 // console.log(stageList);
                 // console.log('ctx.stage.id: ' + ctx.stage.id);
@@ -317,6 +318,7 @@ module.exports = app => {
                     archiveList,
                     lastAuditor,
                     rpt_id: ctx.query.rpt_id,
+                    isAdmin,
                 };
                 await this.layout('report/index.ejs', renderData, 'report/rpt_all_popup.ejs');
                 // await this.layout('report/index.ejs', renderData);

+ 1 - 1
app/lib/sum_load.js

@@ -387,7 +387,7 @@ class gatherStageGclTree extends loadGclBaseTree {
     getUpdateData() {
         const result = { update: [], errors: [], qc_detail: [] };
         for (const bn of this.baseNodes) {
-            if (!this.cover && !bn.contract_qty && !bn.qc_qty && !bn.contract_tp) continue;
+            if (!this.cover && !bn.is_import && !bn.contract_qty && !bn.qc_qty && !bn.contract_tp) continue;
 
             if (!bn.is_import && bn.org_qc_qty !== 0 && bn.qc_qty !== 0) {
                 result.errors.push({ b_code: bn.b_code, name: bn.name, unit: bn.unit, qc_qty: bn.qc_qty, ledger_id: bn.ledger_id, type: 'qc-conflict'});

+ 15 - 0
app/public/report/js/rpt_archive.js

@@ -66,6 +66,8 @@ let rptArchiveObj = {
         me.refreshNodes();
         rptArchiveObj._countChkedRptTpl();
         rptArchiveObj._buildeArchiveDateSelect();
+        rptArchiveObj._iniArchiveItemForDeleteShow();
+        rptArchiveObj._iniArchiveItemForDeleteShow();
     },
     toggleBtn: function (enabled) {
         if (current_stage_status === 3 && enabled) {
@@ -131,6 +133,7 @@ let rptArchiveObj = {
             me._countChkedRptTpl();
             me._buildeArchiveDateSelect();
             me._requestArchiveReport();
+            rptArchiveObj._iniArchiveItemForDeleteShow();
         }
     },
 
@@ -320,6 +323,17 @@ let rptArchiveObj = {
         }
     },
 
+    _iniArchiveItemForDeleteShow: function() {
+        let me = rptArchiveObj;
+        const dispArchInfoBody = $('#disp_archive_info_body');
+        dispArchInfoBody.empty();
+        let targetDom = document.getElementById("currentDrpArchiveSelect");
+        let firstStr = `<h6>确认删除本张【${targetDom.innerText}】归档报表?</h6>`;
+        let secondStr = `<h6>删除后,数据无法恢复,请谨慎操作。</h6>`;
+        dispArchInfoBody.append(firstStr);
+        dispArchInfoBody.append(secondStr);
+    },
+
     showArchivedItem: function(currentNode) {
         //初始化当前报表已经归档的信息
         //ARCHIVE_LIST结构:[{rpt_id, items: [{uuid, update_time, is_common}...最多3个]}...] (当前项目、当前期的所有报表归档信息)
@@ -750,6 +764,7 @@ let rptArchiveObj = {
                             me.currentNode = validNode;
                             me.onClick(null, null, me.currentNode);
                             me.treeObj.selectNode(me.currentNode, false);
+                            me._iniArchiveItemForDeleteShow();
                         }
                     } else {
                         me.currentArchiveUuid = null;

+ 16 - 0
app/view/report/archive_popup.ejs

@@ -0,0 +1,16 @@
+  <!--删除归档报表-->
+  <div class="modal fade" id="del-archive" 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" id="disp_archive_info_body">
+            </div>
+            <div class="modal-footer">
+              <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
+              <button type="button" class="btn btn-sm btn-danger" data-dismiss="modal" id="delete_file">确定删除</button>
+            </div>
+        </div>
+    </div>
+  </div>

+ 10 - 8
app/view/report/index_archive.ejs

@@ -76,16 +76,18 @@
                                     历史归档
                                 </div>
                             </div>
-                            <div class="panel">
-                                <div class="panel-body" id="delete_div">
-                                    <div class="btn-group" role="group">
-                                        <button class="btn btn-outline-primary btn-sm" type="button" id="delete_file">
-                                            <i class="fa fa-remove"></i><br>
-                                            删除归档
-                                        </button>
+                            <% if(isAdmin) { %>
+                                <div class="panel">
+                                    <div class="panel-body" id="delete_div">
+                                        <div class="btn-group mr-1" role="group">
+                                            <button class="btn btn-outline-danger btn-sm" type="button" data-toggle="modal" data-target="#del-archive">
+                                                <i class="fa fa-remove"></i><br>
+                                                删除归档
+                                            </button>
+                                        </div>
                                     </div>
                                 </div>
-                            </div>
+                            <% } %>
                         </div>
                     </div>
                     <div class="print-view form-view">

+ 20 - 0
app/view/stage/audit_modal.ejs

@@ -801,6 +801,26 @@
 </div>
 <% } %>
 <% } %>
+
+<% if(isAdmin) { %>
+  <!--删除归档报表 因归档页面要引用这个界面,layout没法再多render一个ejs,只能在这加了-->
+  <div class="modal fade" id="del-archive" 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" id="disp_archive_info_body">
+            </div>
+            <div class="modal-footer">
+              <button type="button" class="btn btn-sm btn-secondary" data-dismiss="modal">取消</button>
+              <button type="button" class="btn btn-sm btn-danger" data-dismiss="modal" id="delete_file">确定删除</button>
+            </div>
+        </div>
+    </div>
+  </div>
+<% } %>
+
 <% include ../shares/check_data_modal.ejs %>
 <script type="text/javascript">
     const csrf = '<%= ctx.csrf %>';