From f2ff5a79bc4eb7bc321f181e9cc63334b4e9460f Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期四, 19 六月 2025 10:29:17 +0800
Subject: [PATCH] 华远接口:优化

---
 WebTM/views/项目管理/周计划/PM_WorkTaskWeekBillList.html |  261 +++++++++++++++++++++++++++++++++++++++++++++++++--
 1 files changed, 249 insertions(+), 12 deletions(-)

diff --git "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\221\250\350\256\241\345\210\222/PM_WorkTaskWeekBillList.html" "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\221\250\350\256\241\345\210\222/PM_WorkTaskWeekBillList.html"
index 5755c56..4cbd5ce 100644
--- "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\221\250\350\256\241\345\210\222/PM_WorkTaskWeekBillList.html"
+++ "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\221\250\350\256\241\345\210\222/PM_WorkTaskWeekBillList.html"
@@ -83,15 +83,18 @@
                                                 <input type="text" class="layui-input ForFilteringSchemes" name="HBillStatus" id="HBillStatus">
                                             </div>
                                         </div>
+
+                                    </div>
+                                    <div class="layui-row" style="margin-top:5px">
                                         <div class="layui-inline">
                                             <label class="layui-form-label">杩囨护</label>
                                             <div class="layui-input-block">
-                                                <select name="ColName" id="ColName" class="ForFilteringSchemes" lay-filter="ColName" style="width:190px;">
+                                                <select name="ColName" id="ColName" lay-filter="ColName" style="width:190px;">
                                                 </select>
                                             </div>
                                         </div>
                                         <div class="layui-inline">
-                                            <select name="Comparator" id="Comparator" class="ForFilteringSchemes" lay-filter="Comparator" style="width:190px;">
+                                            <select name="Comparator" id="Comparator" lay-filter="Comparator" style="width:190px;">
                                                 <option value="0" selected="selected"></option>
                                                 <option value="=">=</option>
                                                 <option value=">=">>=</option>
@@ -106,13 +109,68 @@
                                             </select>
                                         </div>
                                         <div class="layui-inline">
-                                            <input type="text" class="layui-input ForFilteringSchemes" value="" name="ColContent" id="ColContent">
+                                            <input type="text" class="layui-input" value="" name="ColContent" id="ColContent">
+                                        </div>
+                                    </div>
+                                    <div class="layui-row" style="margin-top:5px">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label">杩囨护</label>
+                                            <div class="layui-input-block">
+                                                <select name="ColName1" id="ColName1" lay-filter="ColName1" style="width:190px;">
+                                                </select>
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <select name="Comparator1" id="Comparator1" lay-filter="Comparator1" style="width:190px;">
+                                                <option value="0" selected="selected"></option>
+                                                <option value="=">=</option>
+                                                <option value=">=">>=</option>
+                                                <option value=">">></option>
+                                                <option value="<="><=</option>
+                                                <option value="<"><</option>
+                                                <option value="<>"><></option>
+                                                <option value="7">鍖呭惈</option>
+                                                <option value="8">宸﹀寘鍚�</option>
+                                                <option value="9">鍙冲寘鍚�</option>
+                                                <option value="10">涓嶅寘鍚�</option>
+                                            </select>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <input type="text" class="layui-input" value="" name="ColContent1" id="ColContent1">
+                                        </div>
+                                    </div>
+                                    <div class="layui-row" style="margin-top:5px">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label">杩囨护</label>
+                                            <div class="layui-input-block">
+                                                <select name="ColName2" id="ColName2" lay-filter="ColName2" style="width:190px;">
+                                                </select>
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <select name="Comparator2" id="Comparator2" lay-filter="Comparator2" style="width:190px;">
+                                                <option value="0" selected="selected"></option>
+                                                <option value="=">=</option>
+                                                <option value=">=">>=</option>
+                                                <option value=">">></option>
+                                                <option value="<="><=</option>
+                                                <option value="<"><</option>
+                                                <option value="<>"><></option>
+                                                <option value="7">鍖呭惈</option>
+                                                <option value="8">宸﹀寘鍚�</option>
+                                                <option value="9">鍙冲寘鍚�</option>
+                                                <option value="10">涓嶅寘鍚�</option>
+                                            </select>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <input type="text" class="layui-input" value="" name="ColContent2" id="ColContent2">
                                         </div>
                                     </div>
                                 </div>
                             </div>
                         </div>
                         <table class="" id="mainTable" lay-filter="mainTable"></table>
+                        <div id="page" style="position: relative; bottom: 0;"></div>
                         <script type="text/html" id="toolbarDemo">
                             <div class="layui-btn-container">
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="set_AddNew"><i class="layui-icon layui-icon-file-b"></i>鏂板</button>
@@ -128,7 +186,7 @@
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeDrop"><i class="layui-icon layui-icon-radio"></i>鍙嶄綔搴�</button>
                                 <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="set_ShowBill_dh"><i class="layui-icon layui-icon-radio"></i>鎵归噺涓嬫帹</button>-->
                                 <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Stop"><i class="layui-icon layui-icon-radio"></i>绂佺敤</button>
-                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>鍙嶇鐢�</button>-->
+            <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeStop"><i class="layui-icon layui-icon-radio"></i>鍙嶇鐢�</button>-->
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Exit"><i class="layui-icon layui-icon-logout"></i>閫�鍑�</button>
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="set_HideColumn"><i class="layui-icon layui-icon-form"></i>鍒楄缃�</button>
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="set_SaveScheme" id="set_SaveScheme"><i class="layui-icon layui-icon-template"></i>淇濆瓨鏂规</button>
@@ -160,7 +218,7 @@
             var option = [];
             var sWhere = "";
             var HModName = "h_v_PM_WorkTaskWeekBillList";
-
+            var optionPage = [];
             //#region 銆愬姩鎬佽幏鍙栨ā鍧楀悕绉般��
             var HModuleType = "4756";
             //閫氳繃鍗曟嵁绫诲瀷锛屼粠鏁版嵁搴撳姩鎬佽幏鍙栧崟鎹ā鍧楀懡鍚�,寮曠敤js鏂囦欢 PageTitle.js
@@ -275,14 +333,36 @@
             })
             //#endregion
 
+            table.on('tool(mainTable)', function (obj) {
+                var data = obj.data;
+                if (obj.event == '鍗曟嵁鍙�') {
+                    var linterid = data.HInterID.toString();
+                    layer.open({
+                        type: 2
+                        , area: ['100%', '100%']
+                        , title: '缂栬緫' + HPageTitle
+                        , shift: 0//寮瑰嚭鍔ㄧ敾
+                        , content: '../../椤圭洰绠$悊/鍛ㄨ鍒�/PM_WorkTaskWeekBill.html?OperationType=3&linterid=' + linterid + '&HSouceBillType='
+                        , btn: ['纭畾'],
+                        // 鎸夐挳1 鐨勫洖璋�
+                        end: function (index, layero, that) {
+                            //鍒锋柊椤甸潰
+                            $("#btnSearch").trigger('click');
+                        }
+                    })
+                }
+            });
+
             //#region 閲嶇疆鎸夐挳
             form.on('submit(btnReSearch)', function (data) {
+                optionPage.curr = 1;
                 set_ClearQuery();
             });
             //#endregion
 
             //#region 鏌ヨ鎸夐挳
             form.on('submit(btnSearch)', function (data) {
+                optionPage.curr = 1;
                 get_FastQuery(2);
             });
             //#endregion
@@ -314,15 +394,35 @@
                     elem: '#mainTable'
                     , toolbar: '#toolbarDemo'
                     , height: 'full-50'
-                    , page: true
+                    , page: false
                     , totalRow: true
                     //, cellMinWidth: 90
                     , limit: 50
-                    , limits: [50, 500, 5000, 50000]
+                    , limits: [50, 500, 5000, 20000]
                     , done: function (res, curr, count) {
                         soulTable.render(this);
                     }
                 };
+                optionPage = {
+                    elem: 'page', //娉ㄦ剰锛岃繖閲岀殑 page 鏄� ID锛屼笉鐢ㄥ姞 # 鍙�
+                    count: 10000, //鏁版嵁鎬绘暟锛屼粠鏈嶅姟绔緱鍒�
+                    limit: 50,
+                    limits: [50, 500, 1000, 2000],
+                    layout: ['count', 'prev', 'page', 'next', 'limit', 'skip'],
+                    jump: function (obj, first) {
+                        //console.log(obj)
+                        //obj鍖呭惈浜嗗綋鍓嶅垎椤电殑鎵�鏈夊弬鏁帮紝姣斿锛�
+                        //console.log(obj.curr); //寰楀埌褰撳墠椤碉紝浠ヤ究鍚戞湇鍔$璇锋眰瀵瑰簲椤电殑鏁版嵁銆�
+                        //console.log(obj.limit); //寰楀埌姣忛〉鏄剧ず鐨勬潯鏁�
+
+                        //棣栨涓嶆墽琛�
+                        if (!first) {
+                            //do something
+                            get_FastQuery();
+                        }
+                    }
+                }
+                laypage.render(optionPage);
             }
             //#endregion
 
@@ -471,6 +571,86 @@
                 });
 
             }
+
+            //鍒嗛〉
+            function get_DisplayPage(sWhere) {
+                var ajaxLoad = layer.load();
+                //杩涘叆椤甸潰鏄剧ず鐨勭紦瀛樺垪琛�
+                $.ajax({
+                    url: GetWEBURL() + '/PM_WorkTaskWeekBill/page',
+                    type: "GET",
+                    async: false,
+                    data: { "sWhere": sWhere, "user": sessionStorage["HUserName"], "page": optionPage.curr, "size": optionPage.limit },
+                    success: function (data1) {
+                        option.limit = optionPage.limit;//鏀瑰彉琛ㄦ牸椤靛ぇ灏�
+                        if (data1.code == 1) {
+                            optionPage.count = data1.count;//鏀瑰彉鍒楄〃鏁版嵁鎬绘暟
+                            var totalArray = ["棰勮鏃堕棿", "宸叉眹鎶ユ椂闂�"];
+                            var data = [];
+                            var col = [];
+                            //缁欑┖鐨勬暟缁勮祴鍊�
+                            for (var key in data1.list) {
+                                data.push({ "id": data1.list[key].ColmCols, "name": data1.list[key].ColmCols, "Type": data1.list[key].ColmType });
+                            }
+                            //鍦ㄥ垪琛ㄥ乏杈规坊鍔犲嬀閫夋
+                            col.push({ type: 'checkbox', fixed: 'left' });
+                            for (var i = 0; i < data.length; i++) {
+                                // if (data[i].name == 'HInterID' || data[i].name == 'HBillType' || data[i].name == 'hmainid') {
+                                if ($.inArray(data[i].name, titleData) > -1) {
+                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
+                                }
+                                else if (data[i].name == '鍗曟嵁鍙�') {//娣诲姞瓒呴摼鎺�
+                                    col.push({
+                                        field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 200, event: '鍗曟嵁鍙�', templet: function (d) {
+                                            return '<span style="color: blue;">' + d.鍗曟嵁鍙� + '</span>'
+                                        }, style: 'cursor: pointer;'
+                                    });
+                                }
+                                else if ($.inArray(data[i].name, totalArray) > -1) {
+                                    col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, totalRow: true, width: 120 });
+                                } else {
+                                    switch (data[i].Type) {
+                                        //int
+                                        case 'DateTime':
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, templet: "<div>{{d." + data[i].name + " ==null ?'':layui.util.toDateString(d." + data[i].name + ", 'yyyy-MM-dd')}}</div>", width: 120 });
+                                            break;
+                                        default:
+                                            col.push({ field: data[i].id, title: data[i].name, align: 'center', sort: true, width: 120 });
+                                    }
+                                }
+                            }
+                            //鎵嬪姩娣诲姞鍛ㄤ竴鑷冲懆鏃ュ瓧娈�
+                            col.push({ field: "HMonday", title: "鍛ㄤ竴", align: 'center', sort: true, width: 120 });
+                            col.push({ field: "HTuesday", title: "鍛ㄤ簩", align: 'center', sort: true, width: 120 })
+                            col.push({ field: "HWednesday", title: "鍛ㄤ笁", align: 'center', sort: true, width: 120 })
+                            col.push({ field: "HThursday", title: "鍛ㄥ洓", align: 'center', sort: true, width: 120 })
+                            col.push({ field: "HFriday", title: "鍛ㄤ簲", align: 'center', sort: true, width: 120 })
+                            col.push({ field: "HSaturday", title: "鍛ㄥ叚", align: 'center', sort: true, width: 120 })
+                            col.push({ field: "HSunday", title: "鍛ㄦ棩", align: 'center', sort: true, width: 120 })
+                            //璁剧疆鍒�
+                            option.cols = [col];
+                            //澶勭悊骞惰缃〃鏍兼暟鎹�
+                            option.data = dealSearchData(data1.data);
+                            laypage.render(optionPage);
+                            table.render(option);
+                            //鍒锋柊琛ㄦ牸鏁版嵁
+                            DisPlay_HideColumn();
+                            if ($("#Comparator").val() == 0 && $("#ColContent").val() == "") {
+                                ColFilter();
+                            }
+                            layer.close(ajaxLoad);
+                        } else {
+                            layer.close(ajaxLoad);
+                            layer.alert(data1.code + data1.Message, { icon: 5 });
+                        }
+                    }, error: function () {
+                        layer.close(ajaxLoad);
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                    }
+                });
+            }
+
+
             //#endregion
 
             //#region 蹇�熻繃婊�
@@ -492,6 +672,13 @@
                 var Comparator = $("#Comparator").val()
                 var ColContent = $("#ColContent").val();
 
+                var ColName1 = $("#ColName1").val();//澶嶉�夋
+                var Comparator1 = $("#Comparator1").val()
+                var ColContent1 = $("#ColContent1").val();
+                var ColName2 = $("#ColName2").val();//澶嶉�夋
+                var Comparator2 = $("#Comparator2").val()
+                var ColContent2 = $("#ColContent2").val();
+
                 if (ColName != 0 && Comparator != 0) {
                     var com = "";
                     switch (Comparator) {
@@ -512,6 +699,48 @@
                             break;
                     }
                     sWhere += " and " + ColName + " " + com;
+                }
+                if (ColName1 != 0 && Comparator1 != 0) {
+                    var com1 = "";
+                    switch (Comparator1) {
+                        case "7":
+                            com1 = "like'%" + ColContent1 + "%'";
+                            break;
+                        case "8":
+                            com1 = "like'%" + ColContent1 + "'";
+                            break;
+                        case "9":
+                            com1 = "like'" + ColContent1 + "%'";
+                            break;
+                        case "10":
+                            com1 = "not like'%" + ColContent1 + "%'";
+                            break;
+                        default:
+                            com1 = "" + Comparator1 + "'" + ColContent1 + "'";
+                            break;
+                    }
+                    sWhere += " and " + ColName1 + " " + com1;
+                }
+                if (ColName2 != 0 && Comparator2 != 0) {
+                    var com2 = "";
+                    switch (Comparator2) {
+                        case "7":
+                            com2 = "like'%" + ColContent2 + "%'";
+                            break;
+                        case "8":
+                            com2 = "like'%" + ColContent2 + "'";
+                            break;
+                        case "9":
+                            com2 = "like'" + ColContent2 + "%'";
+                            break;
+                        case "10":
+                            com2 = "not like'%" + ColContent2 + "%'";
+                            break;
+                        default:
+                            com2 = "" + Comparator + "'" + ColContent + "'";
+                            break;
+                    }
+                    sWhere += " and " + ColName2 + " " + com2;
                 }
                 if (number == 1) {
                     HOrgID = sessionStorage["OrganizationID"];
@@ -538,7 +767,7 @@
                     sWhere += " and 璁″垝浜� like '%" + HPlanEmp + "%'";
                 }
 
-                get_Display(sWhere);
+                get_DisplayPage(sWhere);
                 sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
             }
             //#endregion
@@ -554,6 +783,12 @@
                 $("#ColContent").val("");
                 $("#ColName").val("0");
                 $("#Comparator").val("0");
+                $("#ColContent2").val("");
+                $("#ColName2").val("0");
+                $("#Comparator2").val("0");
+                $("#ColContent1").val("");
+                $("#ColName1").val("0");
+                $("#Comparator1").val("0");
                 form.render('select');
 
                 sWhere = "";
@@ -879,18 +1114,20 @@
                 })
             }
             //#endregion
-
-            //#region 浠绘剰瀛楁杩囨护锛氬垪鍚嶆樉绀轰笅鎷夋
+            //#region 鍒楁槑鏄剧ず涓嬫媺妗�
             function ColFilter() {
                 var Organization = '<option  value="0" selected="selected" ></option>';
-                var noneArray = ["HMonday", "HTuesday", "HWednesday", "HThursday", "HFriday", "HSaturday", "HSunday"];              //璁剧疆涓嶈繘琛岃繃婊ょ殑瀛楁
                 for (var i = 1; i < option.cols[0].length; i++) {
-                    if (option.cols[0][i].hide != true && $.inArray(option.cols[0][i].field, noneArray) == -1) {
+                    if (option.cols[0][i].hide != true) {
                         Organization += '<option  style="color:blue;" value="' + option.cols[0][i].field + '">' + option.cols[0][i].field + '</option>';
                     }
                 }
                 $("#ColName").empty();
                 $("#ColName").append(Organization);
+                $("#ColName1").empty();
+                $("#ColName1").append(Organization);
+                $("#ColName2").empty();
+                $("#ColName2").append(Organization);
                 form.render('select');
             }
             //#endregion

--
Gitblit v1.9.1