浏览代码

fix: 材料调差-删除权限在后台接口增加权限判断

lanjianrong 4 年之前
父节点
当前提交
81073050f0
共有 3 个文件被更改,包括 5 次插入4 次删除
  1. 3 0
      app/controller/material_controller.js
  2. 1 3
      app/public/js/material_file.js
  3. 1 1
      app/router.js

+ 3 - 0
app/controller/material_controller.js

@@ -987,6 +987,9 @@ module.exports = app => {
                 const { data } = ctx.request.body;
                 const { id } = JSON.parse(data);
                 const fileInfo = await ctx.service.materialFile.getMaterialFileById(id);
+                if (!fileInfo.extra_upload && ctx.material.status === auditConst.status.checked) {
+                    throw '无权限删除';
+                }
                 if (fileInfo) {
                     // 先删除文件
                     await fs.unlinkSync(path.resolve(this.app.baseDir, './app', fileInfo.filepath));

+ 1 - 3
app/public/js/material_file.js

@@ -54,7 +54,7 @@ $(document).ready(function () {
     $('body').on('click', '.delete-file', function () {
         let attid = $(this).data('attid');
         const data = {id: attid};
-        postData('/tender/measure/material/file/delete', data, function () {
+        postData(window.location.pathname + '/delete', data, function () {
             const idx = fileData.findIndex(file => file.id === parseInt(attid))
             idx !== -1 && fileData.splice(idx, 1)
             const curPageNo = parseInt($('#file-pagination > li[class="page-item active"] > a').text()) || 1
@@ -127,8 +127,6 @@ $(document).ready(function () {
         const currPageAttData = fileData && isCheckAll ? fileData.slice((currPageNum-1)*pageCount, currPageNum*pageCount) : filterFileData.map((v, index) => {
             return {...v, index }
         }).slice((currPageNum-1)*pageCount, currPageNum*pageCount);
-
-        console.log(currPageAttData)
         renderHtml(currPageAttData)
         // 渲染分页器
         renderPagination(currPageNum, pageNum)

+ 1 - 1
app/router.js

@@ -351,7 +351,7 @@ module.exports = app => {
     app.post('/tender/:id/measure/material/:order/file/upload', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.upload');
     app.get('/tender/:id/measure/material/:order/file/:fid/download', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.downloadFile');
     app.post('/tender/:id/measure/material/:order/file/find', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.getCurMatericalFiles');
-    app.post('/tender/measure/material/file/delete', sessionAuth, 'materialController.deleteFile');
+    app.post('/tender/:id/measure/material/:order/file/delete', sessionAuth, tenderCheck, uncheckTenderCheck, materialCheck, 'materialController.deleteFile');
     app.get('/tender/:id/measure/material/:order/file/download/compresse-file', sessionAuth, tenderCheck, uncheckTenderCheck, 'materialController.downloadZip');
 
     // 个人账号相关