ソースを参照

Merge branch 'master' of http://192.168.1.41:3000/maixinrong/Calculation

MaiXinRong 5 年 前
コミット
a6c911a2dc
2 ファイル変更100 行追加38 行削除
  1. 92 36
      app/public/js/change_set.js
  2. 8 2
      app/view/change/info_modal.ejs

+ 92 - 36
app/public/js/change_set.js

@@ -81,45 +81,14 @@ $(document).ready(() => {
                 '<td>' + unit + '</td>' +
                 '<td>' + roundnum(unit_price, unitPriceUnit) + '</td>' +
                 '<td>' + quantity + '</td>' +
-                // '<td>' + roundnum(parseFloat(gcl.unit_price).mul(parseFloat(gcl.quantity)), totalPriceUnit) + '</td>' +
                 '</tr>';
             list_index++;
         }
-        // // 再加载签约清单
-        // for (const db of dealBillList) {
-        //     const unit = db.unit !== undefined && db.unit !== null ? db.unit : '';
-        //     const quantity = db.quantity !== null && db.quantity !== undefined ? (unit !== '' ? roundnum(db.quantity, findDecimal(db.unit)) : db.quantity) : 0;
-        //     const unit_price = db.unit_price !== null && db.unit_price !== undefined ? db.unit_price : 0;
-        //     listHtml += '<tr data-lid="' + db.id + '" data-index="' + list_index + '" data-bwmx="">' +
-        //         '<td>' + list_index + '</td>' +
-        //         '<td>' + db.code + '</td>' +
-        //         '<td>' + db.name + '</td>' +
-        //         '<td>' + unit + '</td>' +
-        //         '<td>' + roundnum(unit_price, unitPriceUnit) + '</td>' +
-        //         '<td>' + quantity + '</td>' +
-        //         // '<td>' + roundnum(parseFloat(db.unit_price).mul(parseFloat(db.quantity)), totalPriceUnit) + '</td>' +
-        //         '</tr>';
-        //     list_index++;
-        // }
         $('#table-list-select').html(listHtml);
         tableDataRemake(changeListData);
         maketablelist();
     });
 
-    // 上报时按钮点击
-    $('a[data-target="#sub-ap"]').on('click', function () {
-        let category = $(this).attr('data-category');
-        if (category === 'save_change') {
-            // 保存修改modal
-            $('.up-change').hide();
-            $('.save-change').show();
-        } else {
-            // 上报审批modal
-            $('.up-change').show();
-            $('.save-change').hide();
-        }
-    });
-
     // 多层modal关闭后的滚动bug修复
     $('#sub-sp2').on('hidden.bs.modal', function (e) {
         $(document.body).addClass('modal-open');
@@ -386,13 +355,13 @@ $(document).ready(() => {
             for (const leaf of gcl.leafXmjs) {
                 const quantity = leaf.quantity !== undefined && leaf.quantity !== null ? leaf.quantity : 0;
                 const bwmx = leaf.bwmx !== undefined ? leaf.bwmx : '';
-                const isChecked = data_bwmx.indexOf(leaf.code + '_' + (bwmx !== '' ? bwmx : leaf.jldy !== '' ? leaf.jldy : '') + ';' + quantity) !== -1 && isCheck ? 'checked' : '';
+                const isChecked = data_bwmx.indexOf(leaf.code + '_' + (bwmx !== '' ? bwmx : leaf.jldy ? leaf.jldy : '') + ';' + quantity) !== -1 && isCheck ? 'checked' : '';
                 codeHtml += '<tr quantity="' + quantity + '"><td>' + leaf.code + '</td>' +
-                    '<td>' + leaf.jldy + '</td>' +
+                    '<td>' + (leaf.jldy ? leaf.jldy: '') + '</td>' +
                     '<td>' + bwmx + '</td>' +
-                    '<td>' + leaf.dwgc + '</td>' +
-                    '<td>' + leaf.fbgc + '</td>' +
-                    '<td>' + leaf.fxgc + '</td>' +
+                    '<td>' + (leaf.dwgc ? leaf.dwgc : '') + '</td>' +
+                    '<td>' + (leaf.fbgc ? leaf.fbgc : '') + '</td>' +
+                    '<td>' + (leaf.fxgc ? leaf.fxgc : '') + '</td>' +
                     '<td>' + roundnum(quantity, findDecimal(gcl.unit)) + '</td>' +
                     '<td><input type="checkbox"' + isChecked +
                     '></td></tr>';
@@ -401,6 +370,8 @@ $(document).ready(() => {
             codeHtml = '<tr quantity="'+ $(this).children('td').eq(5).text() +'"><td colspan="7" class="colspan_1">&nbsp;</td><td class="colspan_2"><input type="checkbox" checked></td></tr>';
         }
         $('#code-list').attr('data-index', $(this).children('td').eq(0).text());
+        $('#code-input').val('');
+        $('#code-input').siblings('a').hide();
         $('#code-list').html(codeHtml);
     });
 
@@ -605,6 +576,46 @@ $(document).ready(() => {
         judgeChange();
     });
 
+    $('#list-input').on('valuechange', function (e, previous) {
+        const value = $(this).val();
+        let showListData = changeListData;
+        if (value !== '') {
+            $(this).siblings('a').show();
+            showListData = _.filter(changeListData, function (c) {
+                return (c.code && c.code.indexOf(value) !== -1) || (c.name && c.name.indexOf(value) !== -1);
+            });
+        } else {
+            $(this).siblings('a').hide();
+        }
+        makeListTable(changeListData, showListData);
+        $('#table-list-select tr').removeClass('table-warning');
+        $('#code-input').val('');
+        $('#code-input').siblings('a').hide();
+        $('#code-list').html('');
+    });
+
+    $('#code-input').on('valuechange', function (e, previous) {
+        const value = $(this).val();
+        if (value !== '') {
+            $(this).siblings('a').show();
+        } else {
+            $(this).siblings('a').hide();
+        }
+        makeCodeTable($(this).val());
+    });
+
+    $('.remove-btn').on('click', function () {
+        $(this).hide();
+        $(this).siblings('input').val('');
+        if ($(this).data('btn') === 'list') {
+            makeListTable(changeListData);
+            $('#table-list-select tr').removeClass('table-warning');
+            $('#code-list').html('');
+        } else {
+            makeCodeTable();
+        }
+    })
+
 });
 
 function tableDataRemake(changeListData) {
@@ -737,6 +748,51 @@ function getAuditList() {
         $('#changeaudit').val(auditInfoArray.join(','));
     }
 }
+// 清单搜索隐藏清单table部分值
+function makeListTable(changeListData, showListData = changeListData) {
+    // 先加载台账数据
+    let listHtml = '';
+    let list_index = 1;
+    let gcl_index = 0;
+    for (const [index,gcl] of changeListData.entries()) {
+        const isShow = _.find(showListData, gcl);
+        $('#table-list-select tr').eq(index).css('display', (isShow ? 'table-row' : 'none'));
+    }
+}
+// 项目节搜索隐藏code-table部分值
+function makeCodeTable(search = '') {
+    if (search === '') {
+        $('#code-list tr').css('display', 'table-row');
+        return;
+    }
+    for(let i = 0; i < $('#code-list tr').length; i++) {
+        const length = $('#code-list tr').eq(i).children('td').length;
+        if (length === 8) {
+            const code = $('#code-list tr').eq(i).children('td').eq(0).text();
+            const name = $('#code-list tr').eq(i).children('td').eq(1).text();
+            const jldy = $('#code-list tr').eq(i).children('td').eq(2).text();
+            console.log(code, name, jldy, search, code.indexOf(search) !== -1 || name.indexOf(search) !== -1 || jldy.indexOf(search) !== -1);
+            const isShow = code.indexOf(search) !== -1 || name.indexOf(search) !== -1 || jldy.indexOf(search) !== -1;
+            $('#code-list tr').eq(i).css('display', (isShow ? 'table-row' : 'none'));
+        } else {
+            return;
+        }
+    }
+}
+
+// 上报时按钮点击
+$('a[data-target="#sub-ap"]').on('click', function () {
+    let category = $(this).attr('data-category');
+    if (category === 'save_change') {
+        // 保存修改modal
+        $('.up-change').hide();
+        $('.save-change').show();
+    } else {
+        // 上报审批modal
+        $('.up-change').show();
+        $('.save-change').hide();
+    }
+});
 
 // 重新生成清单
 function maketablelist(status){

+ 8 - 2
app/view/change/info_modal.ejs

@@ -109,7 +109,10 @@
             <div class="modal-body">
                 <div class="row">
                     <div class="col-12">
-                        <div class="mb-2 col-6 p-0 search-group"><input class="form-control form-control-sm" placeholder="输入 清单编号、名称 检索" value="202-1-1"><a href="" class="text-danger remove-btn" title="移除关键词"><i class="fa fa-times-circle "></i></a></div>
+                        <div class="mb-2 col-6 p-0 search-group">
+                            <input class="form-control form-control-sm" id="list-input" placeholder="输入 清单编号、名称 检索" value="">
+                            <a href="javascript:void(0);" style="display: none" data-btn="list" class="text-danger remove-btn" title="移除关键词"><i class="fa fa-times-circle "></i></a>
+                        </div>
                         <div style="overflow-y:auto" class="sjs-biangeng-height">
                             <table class="table table-striped table-bordered table-hover table-sm fixed_headers">
                                 <thead><tr><th width="40">序号</th><th>清单编号</th><th>名称</th><th width="50">单位</th><th width="100">单价</th><th width="100">数量</th></tr></thead>
@@ -119,7 +122,10 @@
                         </div>
                     </div>
                     <div class="col-12">
-                        <div class="mb-2 col-6 p-0 search-group"><input class="form-control form-control-sm" placeholder="输入 项目节编号、名称、计量单元 检索"><!-- <a href="" class="text-danger remove-btn" title="移除关键词"><i class="fa fa-times-circle "></i></a> --></div>
+                        <div class="mb-2 col-6 p-0 search-group mt-2">
+                            <input class="form-control form-control-sm" id="code-input" placeholder="输入 项目节编号、名称、计量单元 检索">
+                            <a href="javascript:void(0);" style="display: none" data-btn="code" class="text-danger remove-btn" title="移除关键词"><i class="fa fa-times-circle "></i></a>
+                        </div>
                         <div style="overflow-y:auto" class="sjs-biangeng-height">
                             <table class="table table-striped table-bordered table-hover table-sm fixed_headers2">
                                 <thead>