Explorar o código

feat: 项目设置-标段设置,新增选项“过滤完工标段”

lanjianrong hai 2 semanas
pai
achega
dccdb38ac1

+ 4 - 1
app/controller/sub_proj_setting_controller.js

@@ -542,7 +542,10 @@ module.exports = app => {
                 const projectData = await ctx.service.project.getDataById(projectId);
                 if (projectData === null) throw '没有对应的项目数据';
                 if (ctx.session.sessionUser.is_admin === 0) throw '没有访问权限';
-                const tenderList = await ctx.service.tender.getList('', null, 1);
+                // 默认查询已完工的标段
+                const { done = '1' } = ctx.query || {};
+                const buildStatusFilter = ctx.service.tender.db.format(' AND build_status = ?', [tenderConst.buildStatus.status.finish]);
+                const tenderList = await ctx.service.tender.getList('', null, 1, done === '1' ? buildStatusFilter : '');
                 const removeTenders = await ctx.service.shenpiAudit.getRemoveTenders(tenderList);
                 if (removeTenders.length > 0) {
                     ctx.helper._.remove(tenderList, function(n) {

+ 15 - 1
app/public/js/setting_manage.js

@@ -178,7 +178,21 @@ $(document).ready(() => {
         quality: '质量管理',
     };
     const tabTypeKeys = ['tourist', 'schedule', 'contract', 'construction', 'quality'];
-
+    
+    const $filterTenderDone = $('body #filter-tender-done')
+    if (window.location.search && window.location.search.split('done=')[1]) {
+      $filterTenderDone.prop('checked', window.location.search.split('done=')[1] === '1' ? true : false);
+    } else {
+      $filterTenderDone.prop('checked', true);
+    }
+    $filterTenderDone.on('change', function() {
+      const isChecked = $(this).is(':checked');
+      if (isChecked) {
+        window.location.href = `/sp/${spid}/setting/manage?done=1`;
+      } else {
+        window.location.href = `/sp/${spid}/setting/manage?done=0`;
+      }
+    });
     $('body').on('click', '.c-body .tender-info', function () {
         $('.c-body .tender-info').removeClass('table-warning');
         $(this).addClass('table-warning');

+ 5 - 0
app/view/sp_setting/manage.ejs

@@ -9,6 +9,10 @@
                 <div class="d-inline-block" id="show-level"></div>
                 <div class="d-inline-block"><button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#select-tender">关联标段</button></div>
                 <div class="d-inline-block"><button class="btn btn-sm btn-primary" data-toggle="modal" data-target="#filter-tender">过滤标段</button></div>
+                <div class="d-inline-block custom-control custom-checkbox ml-2">
+                    <input type="checkbox" id="filter-tender-done" name="customCheckbox" class="custom-control-input" >
+                    <label class="custom-control-label" for="filter-tender-done">过滤完工标段</label>
+                </div>
             </div>
         </div>
     </div>
@@ -389,4 +393,5 @@
     let sp_lc, sp_type, sp_status, sp_status_list, cur_tenderid, cur_uid;
     const permissionConst = JSON.parse('<%- JSON.stringify(permissionConst) %>');
     const permissionBlock = JSON.parse('<%- JSON.stringify(permissionBlock) %>');
+    
 </script>