浏览代码

合同支付上传附件和删除权限

laiguoran 6 年之前
父节点
当前提交
c4314f7565
共有 4 个文件被更改,包括 16 次插入3 次删除
  1. 6 0
      app/controller/stage_controller.js
  2. 2 1
      app/public/js/stage_pay.js
  3. 6 2
      app/view/stage/pay.ejs
  4. 2 0
      app/view/stage/pay_modal.ejs

+ 6 - 0
app/controller/stage_controller.js

@@ -543,6 +543,12 @@ module.exports = app => {
                 renderData.jsFiles = this.app.jsFiles.common.concat(this.app.jsFiles.stage.pay);
                 renderData.whiteList = this.ctx.app.config.multipart.whitelist;
 
+                // 用户有无权限上传和删除附件
+                renderData.uploadPermission = (ctx.stage.status === auditConst.status.checkNoPre &&
+                    ctx.session.sessionUser.accountId === ctx.stage.curAuditor.aid) ||
+                    (ctx.stage.status === auditConst.status.checking &&
+                        ctx.stage.curAuditor && ctx.stage.curAuditor.aid === ctx.session.sessionUser.accountId);
+
                 // 计算 本期金额
                 const payCalculator = new PayCalculator(this.ctx, this.ctx.tender.info.decimal);
                 await payCalculator.calculateAll(renderData.dealPay);

+ 2 - 1
app/public/js/stage_pay.js

@@ -32,9 +32,10 @@ function makeAttTable(id, attachment) {
     let html = '';
     if (attachment !== null) {
         for (const [index, att] of attachment.entries()) {
+            const delhtml = uploadPermission && parseInt(att.uid) === parseInt(userID) ? '<a class="delete-att text-danger" href="javascript:void(0);" data-payid="'+ id +'" data-attindex="'+ index +'" title="删除"><i class="fa fa-remove "></i></a>' : '';
             html += '<tr><td style="width: 200px">' + att.filename + att.fileext + '</td><td>' + att.username + '</td><td>' + att.in_time + '</td>' +
                 '<td><a href="/tender/'+ tender.id + '/measure/stage/' + tender.ledger_times +'/pay/download/file/'+ id +'/'+ index +'" title="下载"><i class="fa fa-download "></i></a> ' +
-                '<a class="delete-att text-danger" href="javascript:void(0);" data-payid="'+ id +'" data-attindex="'+ index +'" title="删除"><i class="fa fa-remove "></i></a>' +
+                delhtml +
                 '</td></tr>';
         }
     }

+ 6 - 2
app/view/stage/pay.ejs

@@ -49,8 +49,10 @@
         </div>
     </div>
 </div>
-<img src="/public/images/file_clip.png" id="rela-file-icon" />
-<img src="/public/images/file_clip_hover.png" id="rela-file-hover" />
+<div style="display: none">
+    <img src="/public/images/file_clip.png" id="rela-file-icon" />
+    <img src="/public/images/file_clip_hover.png" id="rela-file-hover" />
+</div>
 <script>
     const tender = JSON.parse('<%- JSON.stringify(tender) %>');
     const stage = JSON.parse('<%- JSON.stringify(ctx.stage) %>');
@@ -59,4 +61,6 @@
     const calcBase = JSON.parse('<%- JSON.stringify(calcBase) %>');
     const decimal = JSON.parse('<%- JSON.stringify(ctx.tender.info.decimal) %>');
     const whiteList = JSON.parse('<%- JSON.stringify(whiteList) %>');
+    const uploadPermission = <%- uploadPermission %>;
+    const userID = '<%- ctx.session.sessionUser.accountId %>';
 </script>

+ 2 - 0
app/view/stage/pay_modal.ejs

@@ -75,10 +75,12 @@
                 <h5 class="modal-title">附件</h5>
             </div>
             <div class="modal-body">
+                <% if (uploadPermission) { %>
                 <div class="form-group">
                     <label for="formGroupExampleInput">大小限制:10MB,支持<span data-toggle="tooltip" data-placement="bottom" title="doc,docx,xls,xlsx,ppt,pptx,pdf">office等文档格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="jpg,png,bmp">图片格式</span>、<span data-toggle="tooltip" data-placement="bottom" title="rar,zip">压缩包格式</span></label>
                     <input type="file" class="form-control" id="upload-file">
                 </div>
+                <% } %>
                 <div class="modal-height-500" style="overflow:auto;">
                     <table class="table table-sm table-bordered" style="word-break:break-all; table-layout: fixed">
                         <thead>