ソースを参照

成本审批,财务账面,区分审批完成前后上传的附件,审批完成前上传的附件,审批完成后,不可删除

MaiXinRong 5 時間 前
コミット
9d0bc47a80

+ 1 - 0
app/controller/cost_controller.js

@@ -629,6 +629,7 @@ module.exports = app => {
                         fileext: fileInfo.ext,
                         filesize: Array.isArray(parts.field.size) ? parts.field.size[index] : parts.field.size,
                         filepath,
+                        extra_upload: ctx.costStage.audit_status === audit.common.status.checked,
                     });
                     ++index;
                     if (Array.isArray(parts.field.size) && index < parts.field.size.length) {

+ 1 - 1
app/public/js/cost_stage_book.js

@@ -626,7 +626,7 @@ $(document).ready(function() {
         subMasterKey: 'rela_sub_id',
         uploadUrl: 'file/upload',
         deleteUrl: 'file/delete',
-        checked: false,
+        checked: costStageComplete,
         zipName: `附件.zip`,
         readOnly: false,
         fileIdType: 'string',

+ 1 - 1
app/public/js/cost_stage_ledger.js

@@ -1232,7 +1232,7 @@ $(document).ready(function() {
         subMasterKey: 'rela_sub_id',
         uploadUrl: 'file/upload',
         deleteUrl: 'file/delete',
-        checked: false,
+        checked: costStageComplete,
         zipName: `附件.zip`,
         readOnly: false,
         fileIdType: 'string',

+ 1 - 0
app/service/cost_stage_file.js

@@ -60,6 +60,7 @@ module.exports = app => {
                         rela_id: x.rela_id, rela_sub_id: x.rela_sub_id,
                         user_id: user.id, user_name: user.name, user_company: user.company, user_role: user.role,
                         filename: x.filename, fileext: x.fileext, filesize: x.filesize, filepath: x.filepath,
+                        extra_upload: x.extra_upload,
                     };
                 });
                 await conn.insert(this.tableName, insertData);

+ 1 - 0
app/view/cost/analysis.ejs

@@ -81,4 +81,5 @@
     const bllsSpreadSetting = JSON.parse(unescape('<%- escape(JSON.stringify( ctx.costStage.calcTemplate.spread_cache )) %>'));
     const dealSpreadSetting = JSON.parse(unescape('<%- escape(JSON.stringify( ctx.costStage.calcTemplate.sub_spread_cache.deal )) %>'));
     const commonSpreadSetting = JSON.parse(unescape('<%- escape(JSON.stringify( ctx.costStage.calcTemplate.sub_spread_cache.common )) %>'));
+    const costStageComplete = <%- ctx.costStage.audit_status === auditConst.status.checked %>;
 </script>

+ 1 - 0
app/view/cost/book.ejs

@@ -72,4 +72,5 @@
     const readOnly = <%- ctx.costStage.readOnly %>;
     const tenderId = parseInt('<%- ctx.tender.id %>');
     const stageId = parseInt('<%- ctx.costStage.id %>');
+    const costStageComplete = <%- ctx.costStage.audit_status === auditConst.status.checked %>;
 </script>

+ 1 - 0
app/view/cost/ledger.ejs

@@ -88,4 +88,5 @@
     const tenderId = parseInt('<%- ctx.tender.id %>');
     const stageId = parseInt('<%- ctx.costStage.id %>');
     const stageDate = '<%- ctx.costStage.stage_date %>';
+    const costStageComplete = <%- ctx.costStage.audit_status === auditConst.status.checked %>;
 </script>

+ 1 - 0
sql/update.sql

@@ -122,6 +122,7 @@ CREATE TABLE `zh_cost_stage_file`  (
   `create_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT '创建时间',
   `update_time` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP COMMENT '最后更新时间',
   `is_deleted` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否删除',
+  `is_add` tinyint(4) UNSIGNED NOT NULL DEFAULT 0 COMMENT '是否为审批完成后追加',
   PRIMARY KEY (`id`) USING BTREE
 ) ENGINE = InnoDB CHARACTER SET = utf8 COLLATE = utf8_unicode_ci ROW_FORMAT = Dynamic;