From f0d9b2e63b6c53fc502c22420cf6b91a5b016796 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期三, 20 九月 2023 13:44:38 +0800
Subject: [PATCH] 工作任务单列表,任务汇报单列表 增加 合计行; 包括项目管理 其他单据列表,有数量 金额的 都增加 合计行; 任务汇报单列表, 把 子表内容也 显示出来。 增加 快速过滤 汇报人,项目名称,任务描述,单据状态 ; 工作任务单列表,增加可以选择单行或多行进行 下推 任务汇报 功能 。 并增加 快速过滤 “接单人”,“单据状态” 快速过滤 。

---
 WebTM/views/项目管理/工作任务/PM_WorkTaskReportBillList.html |  253 +++++++++++++++++++++++++++++++++++++++++++++-----
 1 files changed, 228 insertions(+), 25 deletions(-)

diff --git "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskReportBillList.html" "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskReportBillList.html"
index f247dc9..866240a 100644
--- "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskReportBillList.html"
+++ "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\345\267\245\344\275\234\344\273\273\345\212\241/PM_WorkTaskReportBillList.html"
@@ -38,13 +38,25 @@
                                     <div class="layui-input-block" style="margin-left: 120px;">
                                         <input type="text" class="layui-input" name="HBillNo" id="HBillNo">
                                     </div>
-                                    <div class="layui-inline">
-                                        <label class="layui-form-label" style="width: 85px;">缁勭粐</label>
-                                        <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
-                                            <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
-                                                <!--鍔ㄦ�佹覆鏌撶粍缁�-->
-                                            </select>
-                                        </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">姹囨姤浜�</label>
+                                    <div class="layui-input-block" style="margin-left: 120px;">
+                                        <input type="text" class="layui-input" name="HReportEmp" id="HReportEmp">
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">鍗曟嵁鐘舵��</label>
+                                    <div class="layui-input-block" style="margin-left: 120px;">
+                                        <input type="text" class="layui-input" name="HBillStatus" id="HBillStatus">
+                                    </div>
+                                </div>
+                                <div class="layui-inline">
+                                    <label class="layui-form-label" style="width: 85px;">缁勭粐</label>
+                                    <div class="layui-input-block" style="margin-left: 120px; width: 185px;">
+                                        <select name="HOrgID" id="HOrgID" lay-verify="HOrgID">
+                                            <!--鍔ㄦ�佹覆鏌撶粍缁�-->
+                                        </select>
                                     </div>
                                 </div>
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnSearch" id="btnSearch">
@@ -53,6 +65,18 @@
                                 <button class="layui-btn layuiadmin-btn-order" type="button" lay-submit="" lay-filter="btnReSearch" id="btnReSearch" style="padding:0 5px">閲嶇疆</button>
                                 <div class="layui-colla-content" style="padding: 0px; margin-left: 6%;">
                                     <div class="layui-row" style="margin-top:5px">
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;">椤圭洰鍚嶇О</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HProjectName" id="HProjectName">
+                                            </div>
+                                        </div>
+                                        <div class="layui-inline">
+                                            <label class="layui-form-label" style="width: 85px;">浠诲姟鎻忚堪</label>
+                                            <div class="layui-input-block" style="margin-left: 120px;">
+                                                <input type="text" class="layui-input" name="HTaskNote" id="HTaskNote">
+                                            </div>
+                                        </div>
                                         <div class="layui-inline">
                                             <label class="layui-form-label">杩囨护</label>
                                             <div class="layui-input-block">
@@ -90,9 +114,13 @@
                                 <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="get_view"><i class="layui-icon layui-icon-form"></i>娴忚</button>-->
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="set_DeleteBill"><i class="layui-icon layui-icon-delete"></i>鍒犻櫎</button>
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="get_Refresh"><i class="layui-icon layui-icon-refresh-3"></i>鍒锋柊</button>
-                                <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit"><i class="layui-icon layui-icon-radio"></i>瀹℃牳</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Audit"><i class="layui-icon layui-icon-radio"></i>瀹℃牳</button>
                                 <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeAudit"><i class="layui-icon layui-icon-circle"></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-Close"><i class="layui-icon layui-icon-radio"></i>鍏抽棴</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-DeClose"><i class="layui-icon layui-icon-radio"></i>鍙嶅叧闂�</button>
+                                <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-Drop"><i class="layui-icon layui-icon-radio"></i>浣滃簾</button>
+                                <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="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="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>
@@ -123,7 +151,7 @@
             var HModName = "PM_WorkTaskReportBillList";
 
             //涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
-            var titleData = ["HItemID","HProcessID_K3","HUSEORGID"];
+            var titleData = ["HInterID","HReportEmpID","HOrgID","HEntryID","HProjectStageID"];
             //#endregion
 
             //#region 杩涘叆椤甸潰鍗冲姞杞�
@@ -154,14 +182,30 @@
                     ////娴忚
                     //case 'get_view': get_view();
                     //    break;
-                    ////瀹℃牳鎸夐挳
-                    //case 'btn-Audit':
-                    //    set_CheckBill(0);
-                    //    break;
-                    ////鍙嶅鏍告寜閽�
-                    //case 'btn-DeAudit':
-                    //    set_CheckBill(1);
-                    //    break;
+                    //瀹℃牳鎸夐挳
+                    case 'btn-Audit':
+                        set_CheckBill(1);
+                        break;
+                    //鍙嶅鏍告寜閽�
+                    case 'btn-DeAudit':
+                        set_CheckBill(2);
+                        break;
+                    //鍏抽棴鎸夐挳        锛�1:鍏抽棴銆�2:鍙嶅叧闂級
+                    case 'btn-Close':
+                        set_CloseBill(1);
+                        break;
+                    //鍙嶅叧闂寜閽�
+                    case 'btn-DeClose':
+                        set_CloseBill(2);
+                        break;
+                    //浣滃簾鎸夐挳        锛�1:浣滃簾銆�2:鍙嶄綔搴燂級
+                    case 'btn-Drop':
+                        set_DropBill(1);
+                        break;
+                    //鍙嶄綔搴熸寜閽�
+                    case 'btn-DeDrop':
+                        set_DropBill(2);
+                        break;
                     ////绂佺敤鎸夐挳
                     //case 'btn-Stop':
                     //    set_De_Stop(0);
@@ -221,9 +265,14 @@
             function set_ClearBill() {
                 //鍒濆鍖栬〃鏍�
                 set_InitGrid();
-                //鏌ヨ
-                get_FastQuery(1);
+                //鍒濆鍖栫粍缁�
                 Organ();
+                //鏌ヨ
+                if (addSWhereByOpenType()) {                        //addSWhereByOpenType()鏂规硶鍒ゆ柇鏄惁鍏跺畠椤甸潰鎵撳紑鏈〉闈紝鑻ユ槸鍒欏鐞嗚繃婊ゆ潯浠讹紝骞惰繑鍥瀟rue
+                    get_FastQuery(2);
+                } else {
+                    get_FastQuery(1);
+                }
             }
             //#endregion
 
@@ -234,6 +283,7 @@
                     , toolbar: '#toolbarDemo'
                     , height: 'full-50'
                     , page: true
+                    , totalRow: true
                     //, cellMinWidth: 90
                     , limit: 50
                     , limits: [50, 500, 5000, 50000]
@@ -246,6 +296,7 @@
                 //鑾峰彇鐧诲綍椤电粍缁囧垪
                 $.ajax({
                     type: "get",
+                    async: false,
                     url: GetWEBURL() + "/Web/GetOrganizations",
                     success: function (result) {
                         var Organization = "";
@@ -273,6 +324,7 @@
                     data: { "sWhere": sWhere, "user": sessionStorage["HUserName"]},
                     success: function (data1) {
                         if (data1.count == 1) {
+                            var totalArray = ["璇勪及宸ユ椂","鑷瘎宸ユ椂","鑰楃敤宸ユ椂"];
                             var data = [];
                             var col = [];
                             //缁欑┖鐨勬暟缁勮祴鍊�
@@ -286,7 +338,9 @@
                                 if ($.inArray(data[i].name, titleData) > -1) {
                                     col.push({ field: data[i].id, title: data[i].name, align: 'center', hide: true }); //闅愯棌id鍒�
                                 }
-                                else {
+                                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':
@@ -327,8 +381,18 @@
 
             //#region 蹇�熻繃婊�
             function get_FastQuery(number) {
+                ////鑾峰彇鐧诲綍璐︽埛瀵瑰簲鑱屽憳鍚嶇О
+                //var HUserName = getHEmpByHUserName();
+                //if (HUserName != "" && HUserName != null) {
+                //    sWhere = " and 姹囨姤浜� = '" + HUserName + "' ";
+                //}
+
                 var HOrgID = "";
                 var HBillNo = $("#HBillNo").val();  //鍗曟嵁鍙�
+                var HReportEmp = $("#HReportEmp").val();//姹囨姤浜�
+                var HBillStatus = $("#HBillStatus").val();//鍗曟嵁鐘舵��
+                var HProjectName = $("#HProjectName").val();//椤圭洰鍚嶇О
+                var HTaskNote = $("#HTaskNote").val();//浠诲姟鎻忚堪
                 //浠绘剰瀛楁杩囨护
                 var ColName = $("#ColName").val();//澶嶉�夋
                 var Comparator = $("#Comparator").val()
@@ -363,10 +427,22 @@
                 }
 
                 if (HBillNo) {
-                    sWhere += " and HBillNo like '%" + HBillNo + "%'";
+                    sWhere += " and 鍗曟嵁鍙� like '%" + HBillNo + "%'";
                 }
                 if (HOrgID) {
                     sWhere += " and HOrgID = '" + HOrgID + "'";
+                }
+                if (HReportEmp) {
+                    sWhere += " and 姹囨姤浜� like '%" + HReportEmp + "%'";
+                }
+                if (HBillStatus) {
+                    sWhere += " and 鍗曟嵁鐘舵�� like '%" + HBillStatus + "%'";
+                }
+                if (HProjectName) {
+                    sWhere += " and 椤圭洰鍚嶇О like '%" + HProjectName + "%'";
+                }
+                if (HTaskNote) {
+                    sWhere += " and 浠诲姟鎻忚堪 like '%" + HTaskNote + "%'";
                 }
                 get_Display(sWhere);
                 sWhere = "";//璋冪敤鎺ュ彛鍚庢竻绌簊Where缂撳瓨
@@ -511,12 +587,48 @@
                 var checkStatus = table.checkStatus('mainTable')
                     , data = checkStatus.data;
                 if (checkStatus.data.length === 1) {
-                    var InterID = data[0].HItemID.toString();
+                    var InterID = data[0].HInterID.toString();
                     //閫昏緫瀹℃牳鏂规硶
                     $.ajax({
                         type: "GET",
-                        url: GetWEBURL() + "/Gy_Process/AuditGy_Process", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
-                        data: { "HInterID": InterID, "IsAudit": num, "CurUserName": sessionStorage["HUserName"] },
+                        url: GetWEBURL() + "/PM_WorkTaskReportBill/AuditPM_WorkTaskReportBill", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
+                        data: { "HInterID": InterID, "Type": num, "user": sessionStorage["HUserName"] },
+                        success: function (result) {
+                            if (result.count == 1) {
+                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
+                                    // 寰楀埌frame绱㈠紩
+                                    var index = layer.getFrameIndex(window.name);
+                                    //鍏抽棴褰撳墠frame
+                                    layer.close(index);
+                                    //淇敼涓哄姛鍚庡埛鏂扮晫闈�
+                                    $("#btnSearch").trigger('click');
+                                });
+
+                            } else {
+                                layer.alert(result.code + result.Message, { icon: 5 });
+                            }
+                        }, error: function () {
+                            layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                        }
+                    });
+                }
+                else {
+                    layer.msg('璇烽�夋嫨涓�琛屾暟鎹鏍革紒');
+                }
+            }
+            //#endregion
+
+            //#region 鍙嶅叧闂�/鍏抽棴鏁版嵁
+            function set_CloseBill(num) {
+                var checkStatus = table.checkStatus('mainTable')
+                    , data = checkStatus.data;
+                if (checkStatus.data.length === 1) {
+                    var InterID = data[0].HInterID.toString();
+                    //閫昏緫瀹℃牳鏂规硶
+                    $.ajax({
+                        type: "GET",
+                        url: GetWEBURL() + "/PM_WorkTaskReportBill/ClosePM_WorkTaskReportBill", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
+                        data: { "HInterID": InterID, "Type": num, "user": sessionStorage["HUserName"] },
                         success: function (result) {
                             if (result.count == 1) {
                                 layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
@@ -553,6 +665,42 @@
                         type: "GET",
                         url: GetWEBURL() + "/Gy_Process/StopGy_Process", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
                         data: { "HInterID": InterID, "IsStop": num, "CurUserName": sessionStorage["HUserName"] },
+                        success: function (result) {
+                            if (result.count == 1) {
+                                layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
+                                    // 寰楀埌frame绱㈠紩
+                                    var index = layer.getFrameIndex(window.name);
+                                    //鍏抽棴褰撳墠frame
+                                    layer.close(index);
+                                    //淇敼涓哄姛鍚庡埛鏂扮晫闈�
+                                    $("#btnSearch").trigger('click');
+                                });
+
+                            } else {
+                                layer.alert(result.code + result.Message, { icon: 5 });
+                            }
+                        }, error: function () {
+                            layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                        }
+                    });
+                }
+                else {
+                    layer.msg('璇烽�夋嫨涓�琛屾暟鎹鏍革紒');
+                }
+            }
+            //#endregion
+
+            //#region 鍙嶄綔搴�/浣滃簾鏁版嵁
+            function set_DropBill(num) {
+                var checkStatus = table.checkStatus('mainTable')
+                    , data = checkStatus.data;
+                if (checkStatus.data.length === 1) {
+                    var InterID = data[0].HInterID.toString();
+                    //閫昏緫瀹℃牳鏂规硶
+                    $.ajax({
+                        type: "GET",
+                        url: GetWEBURL() + "/PM_WorkTaskReportBill/DropPM_WorkTaskReportBill", //鏂规硶鎵�鍦ㄩ〉闈㈠拰鏂规硶鍚�
+                        data: { "HInterID": InterID, "Type": num, "user": sessionStorage["HUserName"] },
                         success: function (result) {
                             if (result.count == 1) {
                                 layer.msg(result.Message, { time: 1 * 1000, icon: 1 }, function () {
@@ -710,6 +858,61 @@
             }
             //#endregion
 
+            //#region 鑾峰彇鍙傛暟
+            function getUrlVars() {
+                var vars = [], hash;
+                var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&');
+                for (var i = 0; i < hashes.length; i++) {
+                    hash = hashes[i].split('=');
+                    vars.push(hash[0]);
+                    vars[hash[0]] = hash[1];
+                }
+                return vars;
+            }
+            //#endregion
+            //#region 鍒ゆ柇鏄洿鎺ユ墦寮�椤甸潰杩樻槸鍏跺畠椤甸潰閫氳繃閫夋嫨鎸夐挳鎵撳紑锛屽苟鏄剧ず鐩稿簲鏁版嵁
+            function addSWhereByOpenType() {
+                //鑾峰彇鍙傛暟
+                var params = getUrlVars();
+                var openType = params[params[0]]; //浠庡弬鏁颁腑鑾峰彇 鎵撳紑鏂瑰紡  1鐩存帴鎵撳紑 2鍏跺畠椤甸潰閫氳繃閫夋嫨鎸夐挳鎵撳紑
+                var HOrgID = params[params[1]];
+                if (openType == 2) {
+                    sWhere += " and ISNULL(鍏抽棴浜�,'') = '' and ISNULL(浣滃簾浜�,'') = '' ";
+                    $("#HOrgID").val(HOrgID);
+                    form.render("select");
+                    return true;
+                }
+                return false;
+            }
+            //#endregion
+
+            //#region 鏍规嵁鐧诲綍璐︽埛鑾峰彇鐩稿簲鑱屽憳
+            function getHEmpByHUserName() {
+                var Czybm = sessionStorage["Czybm"];
+                var HUserName = "";
+                var wait = layer.load();
+                $.ajax({
+                    url: GetWEBURL() + '/PM_WorkTaskReportBill/getHEmpByHUserName',
+                    type: "GET",
+                    async: false,
+                    data: { "Czybm": Czybm, "user": sessionStorage["HUserName"] },
+                    success: function (result) {
+                        if (result.count == 1) {
+                            HUserName = result.data[0]["HEmpName"];
+                            layer.close(wait);
+                        } else {
+                            layer.alert(result.code + result.Message, { icon: 5 });
+                            layer.close(wait);
+                        }
+                    }, error: function () {
+                        layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
+                        layer.close(wait);
+                    }
+                });
+                return HUserName;
+            }
+            //#endregion
+
         });
 
             //#endregion

--
Gitblit v1.9.1