MaiXinRong 6 ساعت پیش
والد
کامیت
3995ea0c4a
4فایلهای تغییر یافته به همراه32 افزوده شده و 5 حذف شده
  1. 2 2
      app/service/project_col_set.js
  2. 6 3
      app/service/stage_audit.js
  3. 6 0
      app/view/stage/audit_modal.ejs
  4. 18 0
      app/view/stage/modal.ejs

+ 2 - 2
app/service/project_col_set.js

@@ -54,8 +54,8 @@ module.exports = app => {
         async getProjectColSet(pid, spid) {
             const curSet = await this.loadProjectColSet(pid, spid);
             if (curSet) return curSet;
-            await this.initProjectColSet(pid, spid, colSetType);
-            return await this.loadProjectColSet(pid, spid, colSetType);
+            await this.initProjectColSet(pid, spid);
+            return await this.loadProjectColSet(pid, spid);
         }
 
         async setProjectColSet(pid, spid, colSetType, colSet) {

+ 6 - 3
app/service/stage_audit.js

@@ -471,18 +471,19 @@ module.exports = app => {
                     status: checkData.checkType,
                     opinion: checkData.opinion,
                     end_time: time,
+                    audit_locked_lid: '',
                 }];
                 if (selfAudit.audit_type === auditType.key.multi || (selfAudit.audit_type === auditType.key.and && selfAudit.audit_group_order)) {
                     const skipAudit = flowAudits.filter(x => {
                         if (!selfAudit.audit_group_order || x.id === selfAudit.id) return false;
                         return x.status === auditConst.status.checking && x.audit_group === selfAudit.audit_group && x.audit_group_order <= selfAudit.audit_group_order;
                     });
-                    if (skipAudit.length > 0) skipAudit.forEach(x => { auditUpdateData.push({ id: x.id, status: auditConst.status.checkSkip, opinion: '', end_time: time }); });
+                    if (skipAudit.length > 0) skipAudit.forEach(x => { auditUpdateData.push({ id: x.id, status: auditConst.status.checkSkip, opinion: '', end_time: time, audit_locked_lid: '' }); });
                 } else if (selfAudit.audit_type === auditType.key.or) {
                     if (flowAudits.length - audits.length + 1 >= selfAudit.audit_group_need) {
                         for (const audit of audits) {
                             if (audit.aid === selfAudit.aid) continue;
-                            auditUpdateData.push({ id: audit.id, status: auditConst.status.checkSkip, opinion: '', end_time: time });
+                            auditUpdateData.push({ id: audit.id, status: auditConst.status.checkSkip, opinion: '', end_time: time, audit_locked_lid: '' });
                             await this.ctx.service.noticeAgain.stopNoticeAgain(transaction, this.tableName, audit.id);
                         }
                     }
@@ -674,6 +675,7 @@ module.exports = app => {
                     audit_group_need: x.audit_group_need,
                     audit_ledger_id: x.audit_ledger_id,
                     audit_locked: locked,
+                    audit_locked_lid: x.aid === selfAudit.aid ? checkData.audit_locked_lid || '' : '',
                 }
             });
 
@@ -910,6 +912,7 @@ module.exports = app => {
                         audit_ledger_id: x.audit_ledger_id,
                         audit_locked: locked,
                         begin_time: locked ? x.begin_time : null, end_time: locked ? x.end_time : null,
+                        audit_locked_lid: x.aid === selfAudit.aid ? checkData.audit_locked_lid || '' : '',
                     });
                 });
                 await transaction.insert(this.tableName, newFlowAuditors);
@@ -2384,7 +2387,7 @@ module.exports = app => {
         }
 
         async getAuditLockedId(stage) {
-            return await this.db.query(`SELECT * FROM ${this.tableName} where sid = ? and times = ? and audit_locked_lid <> ''`, [stage.id, stage.times]);
+            return await this.db.query(`SELECT * FROM ${this.tableName} where sid = ? and times = ? and audit_locked_lid <> '' and status <> ?`, [stage.id, stage.times, auditConst.status.checking]);
         }
 
         /**

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

@@ -689,6 +689,12 @@
                     </div>
                 </div>
                 <div class="modal-footer">
+                    <% if (ctx.url === '/tender/' + ctx.tender.id + '/measure/stage/' + ctx.stage.order) { %>
+                    <div class="mr-auto">
+                        <button class="btn btn-sm btn-warning" type="button" id="sp-back-lock">锁定数据</button>
+                        <input type="hidden" name="audit_locked_lid" value="" />
+                    </div>
+                    <% } %>
                     <button type="button" class="btn btn-secondary btn-sm" data-dismiss="modal">关闭</button>
                     <input type="hidden" name="_csrf_j" value="<%= ctx.csrf %>" />
                     <button type="submit" class="btn btn-warning btn-sm">确认退回</button>

+ 18 - 0
app/view/stage/modal.ejs

@@ -707,6 +707,24 @@
         </div>
     </div>
 </div>
+<!--审批退回锁定-->
+<div class="modal fade" id="sp-lock" data-backdrop="static">
+    <div class="modal-dialog modal-xl" role="document">
+        <div class="modal-content">
+            <div class="modal-header">
+                <h5 class="modal-title">锁定计量数据</h5>
+            </div>
+            <div class="modal-body">
+                <div id="sp-lock-spread" class="modal-height-600">
+                </div>
+            </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-primary" id="sp-lock-ok">确认</button>
+            </div>
+        </div>
+    </div>
+</div>
 <% include ./audit_modal.ejs %>
 <% include ../shares/merge_peg_modal.ejs %>
 <% include ../shares/check_modal2.ejs %>