Преглед на файлове

收方单及附件删除机制更改

laiguoran преди 3 години
родител
ревизия
598c1f757d
променени са 4 файла, в които са добавени 18 реда и са изтрити 6 реда
  1. 11 6
      app/public/js/stage.js
  2. 2 0
      app/service/stage_shoufang.js
  3. 3 0
      app/service/stage_shoufang_att.js
  4. 2 0
      sql/update.sql

+ 11 - 6
app/public/js/stage.js

@@ -4352,14 +4352,17 @@ $(document).ready(() => {
         postData(window.location.pathname + '/shoufang/file', { sfid: id }, function (result) {
             for (const att of result) {
                 html += `<tr><td>${att.filename}${att.fileext}</td><td>${moment(att.in_time).format('YYYY-MM-DD HH:mm')}</td><td>` +
-                    `<a href="${att.filepath}" target="_blank"><i class="fa fa-download"></i></a>` + makeDelHtml(att.id) +`</td></tr>`;
+                    `<a href="${att.filepath}" target="_blank"><i class="fa fa-download"></i></a>` + makeDelHtml(att.id, att.extra_upload) +`</td></tr>`;
             }
             $('#shoufang-flie-list').html(html);
             $('[data-toggle="tooltip"]').tooltip();
         });
 
-        function makeDelHtml(fid) {
-            return sfAttDelPower ? '<a href="javascript:void(0)" data-sfid="'+ id +'" data-id="'+ fid +'" title="删除" class="del-shoufang-att text-danger ml-3"><i data-toggle="tooltip" data-placement="left" data-original-title="删除" class="fa fa-remove"></i></a>' : '';
+        function makeDelHtml(fid, extra_upload) {
+            return sfAttDelPower &&
+            (stage.status !== auditConst.status.checked || (stage.status === auditConst.status.checked && extra_upload)) ?
+                '<a href="javascript:void(0)" data-sfid="'+ id +'" data-id="'+ fid +'" title="删除" class="del-shoufang-att text-danger ml-3">' +
+                '<i data-toggle="tooltip" data-placement="left" data-original-title="删除" class="fa fa-remove"></i></a>' : '';
         }
     });
     // 删除收方单附件
@@ -4438,12 +4441,14 @@ function getShouFangList(currPageNum = 1) {
             '<a href="javascript:void(0);" data-id="'+ att.id +'" class="show-shoufang-node mr-1" data-toggle="tooltip" data-placement="left" data-original-title="定位"><i class="fa fa-crosshairs"></i></a> ' +
             '<a href="javascript:void(0);" data-id="'+ att.id +'" class="show-shoufang-report mr-1"><i data-toggle="tooltip" data-placement="left" data-original-title="预览" class="fa fa-eye"></i></a> ' +
             // '<a href="javascript:void(0);"><i data-toggle="tooltip" data-placement="left" data-original-title="下载" class="fa fa-download"></i></a> ' +
-            makeDelHtml(att.id) +
+            makeDelHtml(att.id, att.extra_upload) +
             '</td></tr>';
     }
 
-    function makeDelHtml(id) {
-        return cur_uid === stage.user_id ? '<a href="javascript:void(0);" data-id="'+ id +'" data-toggle="modal" data-target="#shoufangdelete" class="ml-3 text-danger del-shoufang">' +
+    function makeDelHtml(id, extra_upload) {
+        return cur_uid === stage.user_id &&
+        (stage.status !== auditConst.status.checked || (stage.status === auditConst.status.checked && extra_upload)) ?
+            '<a href="javascript:void(0);" data-id="'+ id +'" data-toggle="modal" data-target="#shoufangdelete" class="ml-3 text-danger del-shoufang">' +
             '<i data-toggle="tooltip" data-placement="left" data-original-title="删除"  class="fa fa-remove"></i></a>' : '';
     }
     $('#shoufang-table').html(html);

+ 2 - 0
app/service/stage_shoufang.js

@@ -12,6 +12,7 @@ const fs = require('fs');
 const path = require('path');
 const qr = require('qr-image');
 const sendToWormhole = require('stream-wormhole');
+const auditConst = require('../const/audit').stage;
 module.exports = app => {
     class stageShoufang extends app.BaseService {
         constructor(ctx) {
@@ -28,6 +29,7 @@ module.exports = app => {
                     sid: this.ctx.stage.id,
                     lid: datas.lid,
                     pid: datas.pid ? datas.pid : null,
+                    extra_upload: this.ctx.stage.status === auditConst.status.checked ? 1 : 0,
                     create_time: new Date(),
                 };
                 const result = await transaction.insert(this.tableName, data);

+ 3 - 0
app/service/stage_shoufang_att.js

@@ -11,6 +11,7 @@
 const archiver = require('archiver');
 const path = require('path');
 const fs = require('fs');
+const auditConst = require('../const/audit').stage;
 module.exports = app => {
     class StageShoufangAtt extends app.BaseService {
         /**
@@ -35,6 +36,8 @@ module.exports = app => {
             // const data = {
             // };
             // Object.assign(data, fileData);
+            const stageInfo = await this.ctx.service.stage.getDataById(fileData.sid);
+            fileData.extra_upload = stageInfo.status === auditConst.status.checked ? 1 : 0;
             const result = await this.db.insert(this.tableName, fileData);
             return result;
         }

+ 2 - 0
sql/update.sql

@@ -145,6 +145,7 @@ CREATE TABLE `zh_stage_shoufang`  (
   `lid` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '台账uuid',
   `pid` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '计量单元uuid',
   `qrcode` VARCHAR(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NULL DEFAULT NULL COMMENT '二维码存放地址',
+  `extra_upload` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否为审核通过后再次生成的,0为否',
   `create_time` datetime NOT NULL COMMENT '创建时间',
   PRIMARY KEY (`id`)
 ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci COMMENT = '收方单数据';
@@ -159,6 +160,7 @@ CREATE TABLE `zh_stage_shoufang_attachment`  (
   `fileext` varchar(10) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '文件后缀',
   `filesize` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '文件大小',
   `filepath` varchar(255) CHARACTER SET utf8 COLLATE utf8_unicode_ci NOT NULL COMMENT '文件存储路径',
+  `extra_upload` TINYINT(1) NOT NULL DEFAULT '0' COMMENT '是否为审核通过后再次上传的,0为否',
   `in_time` datetime NOT NULL COMMENT '创建时间',
   PRIMARY KEY (`id`),
   INDEX `sfid`(`sfid`),