From 6b3eeeb69a30c971ec7ba7afb860cd142eac611a Mon Sep 17 00:00:00 2001
From: yxj <yxj@hz-kingdee.com>
Date: 星期四, 12 十月 2023 16:30:45 +0800
Subject: [PATCH] 工程项目任务汇报模块复选框刷新优化

---
 WebTM/views/项目管理/工作任务/PM_WorkTaskReportBill.html |  262 ++++++++++++++++++++++++++++++++++++++--------------
 1 files changed, 192 insertions(+), 70 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_WorkTaskReportBill.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_WorkTaskReportBill.html"
index 69ae760..4237953 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_WorkTaskReportBill.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_WorkTaskReportBill.html"
@@ -121,8 +121,8 @@
                                             <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                 <input type="hidden" name="HProID" id="HProID" lay-verify="HProID" value="0">
                                                 <input type="hidden" name="HProjectStageID" id="HProjectStageID" lay-verify="HProjectStageID" value="0">
-                                                <input type="hidden" name="HMainSourceBillType" id="HMainSourceBillType" lay-verify="HMainSourceBillType" value="0">
-                                                <input type="hidden" name="HMainSourceBillNo" id="HMainSourceBillNo" lay-verify="HMainSourceBillNo" value="0">
+                                                <input type="hidden" name="HMainSourceBillType" id="HMainSourceBillType" lay-verify="HMainSourceBillType" value="">
+                                                <input type="hidden" name="HMainSourceBillNo" id="HMainSourceBillNo" lay-verify="HMainSourceBillNo" value="">
                                             </div>
                                         </div>
                                     </div>
@@ -254,6 +254,18 @@
         <a class="layui-btn layui-btn-danger layui-btn-xs" lay-event="del">鍒犻櫎</a>
     </script>
 
+    <!--澶嶉�夋 瀹屾垚鏍囪-->
+    <script type="text/html" id="HFinishFlag">
+        <div class="layui-input-block" style="margin-left: 20px;">
+            <input type="checkbox" name="HFinishFlag" lay-filter="HFinishFlag" id="HFinishFlag{{d.LAY_TABLE_INDEX+1}}" lay-skin="primary">
+        </div>
+    </script>
+
+    <!--<script type="text/html" id="switchTpl">
+         杩欓噷鐨� checked 鐨勭姸鎬佸彧鏄紨绀� 
+        <input type="checkbox" name="checkbox" value="{{d.HFinishFlag}}" lay-skin="primary" lay-filter="HFinishFlag" {{ d.HFinishFlag == 1 ? 'checked' : '' }}>
+    </script>-->
+
     <script>
 
         layui.config({
@@ -337,24 +349,24 @@
                 //鍒濆鍖栭」鐩樁娈佃〃
                 get_InitGrid();
                 RoadBillMain(linterid);
-            } else if (OperationType == 4 && HProjectStageID != null) {                     //涓嬫帹
-                ////绂佺敤缁勭粐閫夐」
-                //$("#HOrgID").attr("disabled", true);
+            } else if (OperationType == 4) {                     //涓嬫帹
+                //绂佺敤缁勭粐閫夐」
+                $("#HOrgID").attr("disabled", true);
                 //鐢熸垚骞惰缃富琛ㄧ殑鍐呯爜鍜屽崟鎹彿
-                //createBillNo();
-                ////姹囨姤浜哄垵濮嬪寲
-                //getHEmpByHUserName();
+                createBillNo();
+                //姹囨姤浜哄垵濮嬪寲
+                getHEmpByHUserName();
 
 
-                ////鍒濆鍖栧埗鍗曚汉鍜屽埗鍗曟椂闂�
-                //$("#HMaker").val(sessionStorage["HUserName"]);
-                //$("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
-                ////鍒濆鍖栨棩鏈�
-                //$("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
-                ////鍒濆鍖栭」鐩樁娈佃〃
-                //get_InitGrid();
-                ////涓嬫帹-椤甸潰璁剧疆
-                //set_WorkTaskReport();
+                //鍒濆鍖栧埗鍗曚汉鍜屽埗鍗曟椂闂�
+                $("#HMaker").val(sessionStorage["HUserName"]);
+                $("#HMakerDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栨棩鏈�
+                $("#HDate").val(Format(new Date(), "yyyy-MM-dd"));
+                //鍒濆鍖栭」鐩樁娈佃〃
+                get_InitGrid();
+                //涓嬫帹-椤甸潰璁剧疆
+                set_WorkTaskReport();
             }
             //#endregion
 
@@ -433,16 +445,18 @@
                 var NewRow =
                 {
                     "RowID": (table.cache["mainTable"].length + 1) * 10
-                    , 'HProNumber': ''
-                    , 'HProjectStageID': '0'
-                    , 'HProjectStageName': ''
-                    , 'HName': ''
-                    , 'HTaskNote': ''
-                    , 'HType': ''
-                    , 'HRelTimes': '0'
-                    , 'HReportNote': ''
-                    , 'HAdv': ''
-                    , 'HRemarkSub': ''
+                    , "HProjectID": "0"
+                    , "HProNumber": ""
+                    , "HProjectStageID": "0"
+                    , "HProjectStageName": ""
+                    , "HName": ""
+                    , "HTaskNote": ""
+                    , "HType": ""
+                    , "HRelTimes": "0"
+                    , "HReportNote": ""
+                    , "HFinishFlag": false
+                    , "HAdv": ""
+                    , "HRemarkSub": ""
                     , "HSourceInterID": "0"
                     , "HSourceEntryID": "0"
                     , "HSourceBillNo": ""
@@ -453,6 +467,16 @@
                         table.cache["mainTable"].push(NewRow);
                         option.data = table.cache["mainTable"];
                         table.render(option);
+                        CheckedSet_tableSub();
+
+                        for (var i = 1; i <= option.data.length; i++) {
+                            //瀹屾垚鏍囪
+                            if (option.data[i - 1].HFinishFlag) {
+                                $('#HFinishFlag' + i + '').attr("checked", true);
+                            }
+                        }
+                        form.render('select');
+                        form.render('checkbox');
                         break;
                     case 'btn-CopyLine':
                         var copydata = JSON.stringify(data);
@@ -468,6 +492,16 @@
                             table.cache["mainTable"].push(JSON.parse(copyrow));//灏嗗鍒剁殑琛屽己杞垚json杩藉姞鍒拌〃鏍间笂
                             option.data = table.cache["mainTable"];//灏嗘暟鎹粦瀹氬埌data涓�
                             table.render(option);//灏嗘暟鎹覆鏌撳埌琛ㄦ牸涓�
+                            CheckedSet_tableSub();
+
+                            for (var i = 1; i <= option.data.length; i++) {
+                                //瀹屾垚鏍囪
+                                if (option.data[i - 1].HFinishFlag) {
+                                    $('#HFinishFlag' + i + '').attr("checked", true);
+                                }
+                            }
+                            form.render('checkbox');
+                            form.render('select');
                         }
                         break;
                     //鍒楄缃�
@@ -512,7 +546,7 @@
             //#endregion
 
 
-            
+
             //
             form.on('submit(Cancel)', function () {
                 //sessionStorage["SourceFlag"] = false;
@@ -556,7 +590,7 @@
                                 Organization += '<option  style="color:blue;" value="' + data[i].ID + '">' + data[i].Name + '</option>';
                             }
                             $("#HOrgID").append(Organization);
-                            if (OperationType == 1) {
+                            if (OperationType == 1 || OperationType == 4) {
                                 HOrgIDBar = sessionStorage["OrganizationID"];
                             }
                             $("#HOrgID").val(HOrgIDBar);
@@ -578,6 +612,16 @@
                     vars[hash[0]] = hash[1];
                 }
                 return vars;
+            }
+            //#endregion
+
+            //#region 鑾峰彇鍙傛暟_浼犻�掔殑JSON鏍煎紡鍙傛暟
+            function getUrlVars_JSON() {
+                var datajson;
+                var str = window.location.search; //鑾峰彇閾炬帴涓紶閫掔殑鍙傛暟
+                var arr = str.substring(str.indexOf("=") + 7);
+                datajson = $.parseJSON(decodeURI(arr));
+                return datajson;
             }
             //#endregion
 
@@ -612,14 +656,17 @@
                         { type: 'checkbox', totalRowText: '鍚堣琛�' }
                         , { type: 'numbers', title: '搴忓彿', style: 'background-color: #f9f9f9;' }
                         , { field: 'RowID', title: '琛屽彿', hide: true, style: 'background-color: #f9f9f9;' }                                                   //琛屾爣璇嗭紝鐢ㄤ簬涓嬩竴琛屻�佷笂涓�琛岃瘑鍒墍鍦ㄨ
-                        , { field: 'HProNumber', title: '椤圭洰浠g爜', style: 'background-color: #f9f9f9;'}
+                        , { field: 'HProjectID', title: '椤圭洰ID', hide: true, style: 'background-color: #f9f9f9;' }
+                        , { field: 'HProNumber', title: '椤圭洰浠g爜', style: 'background-color: #f9f9f9;' }
                         , { field: 'HProjectStageID', title: '椤圭洰闃舵ID', hide: true, style: 'background-color: #f9f9f9;' }
                         , { field: 'HProjectStageName', title: '椤圭洰闃舵', style: 'background-color: #f9f9f9;' }     //f7
                         , { field: 'HName', title: '浠诲姟鍚嶇О', edit: 'text', event: "HName" }
                         , { field: 'HTaskNote', title: '浠诲姟鎻忚堪', style: 'background-color: #f9f9f9;' }
-                        , { field: 'HType', title: '浠诲姟绫诲瀷', style: 'background-color: #f9f9f9;'}
+                        , { field: 'HType', title: '浠诲姟绫诲瀷', style: 'background-color: #f9f9f9;' }
                         , { field: 'HRelTimes', title: '鑰楃敤宸ユ椂', edit: 'text', totalRow: true }
                         , { field: 'HReportNote', title: '姹囨姤鍐呭', edit: 'text' }
+                        , { field: 'HFinishFlag', title: '瀹屾垚鏍囪', templet: "#HFinishFlag" }//checkbox
+                        //, { field: 'HFinishFlag', title: '瀹屾垚鏍囪', width: 100, templet: '#switchTpl', unresize: false }
                         , { field: 'HAdv', title: '浼樺寲寤鸿', edit: 'text' }
                         , { field: 'HRemarkSub', title: '澶囨敞', edit: 'text' }
                         , { field: 'HSourceInterID', title: '婧愬崟鍐呯爜', hide: true, style: 'background-color: #f9f9f9;' }     //f7
@@ -633,16 +680,18 @@
                 var rowdata = [
                     {
                         "RowID": 10
-                        , 'HProNumber': ''
-                        , 'HProjectStageID': '0'
-                        , 'HProjectStageName': ''
-                        , 'HName': ''
-                        , 'HTaskNote': ''
-                        , 'HType': ''
-                        , 'HRelTimes': '0'
-                        , 'HReportNote': ''
-                        , 'HAdv': ''
-                        , 'HRemarkSub': ''
+                        , "HProjectID": "0"
+                        , "HProNumber": ""
+                        , "HProjectStageID": "0"
+                        , "HProjectStageName": ""
+                        , "HName": ""
+                        , "HTaskNote": ""
+                        , "HType": ""
+                        , "HRelTimes": "0"
+                        , "HReportNote": ""
+                        , "HFinishFlag": false
+                        , "HAdv": ""
+                        , "HRemarkSub": ""
                         , "HSourceInterID": "0"
                         , "HSourceEntryID": "0"
                         , "HSourceBillNo": ""
@@ -651,7 +700,21 @@
                 ];
                 option.data = rowdata;
                 table.render(option);
+                CheckedSet_tableSub();
             }
+            //#endregion
+            
+            //#region 瀹屾垚鏍囪
+            form.on('checkbox(HFinishFlag)', function (data) {
+                //鑾峰彇涓嬫媺妗嗛�変腑鐨勫��
+                var elem = data.othis.parents('tr');
+                var dataindex = elem.attr("data-index");
+                $.each(option.data, function (index, value) {
+                    if (value.LAY_TABLE_INDEX == dataindex) {
+                        value.HFinishFlag = data.elem.checked;//鎶婇�変腑涓嬫媺妗唅d鍊艰祴鍊肩粰琛ㄦ牸缂撳瓨
+                    }
+                });
+            });
             //#endregion
 
             //#region 姹囨姤浜洪�夋嫨椤甸潰
@@ -706,7 +769,7 @@
                 //鑾峰彇琛ㄥご鏁版嵁骞跺簭鍒楀寲
                 var sMainStr = JSON.stringify(data.field);              //涓昏〃鏁版嵁
                 //瀛愯〃鏁版嵁搴忓垪鍖�
-                var sSubStr = JSON.stringify(num);                      
+                var sSubStr = JSON.stringify(num);
 
                 //鎷兼帴搴忓垪鍖栫殑鏁版嵁
                 var sMainSub = sMainStr + ';' + sSubStr + ';' + OperationType + ";" + sessionStorage["HUserName"];
@@ -783,6 +846,8 @@
                         }
                         option.data = tableSub;
                         table.render(option);
+                        CheckedSet_tableSub();
+                        form.render('select');
                     }
                 })
             }
@@ -790,35 +855,66 @@
 
             //#region 涓嬫帹-椤甸潰璧嬪��
             function set_WorkTaskReport() {
-                $.ajax({
-                    url: GetWEBURL() + "/PM_ProjectBill/set_WorkTaskReport",
-                    type: "GET",
-                    async: false,
-                    data: { "HInterID": linterid, "HProjectStageID": HProjectStageID, "user": sessionStorage["HUserName"] },
-                    success: function (result) {
-                        var tableMain = result.data[0];
-                        var tableSub = result.data[1];
+                var data = getUrlVars_JSON().data;
+                var dataArray = [];
+                for (var i = 0; i < data.length; i++) {
+                    var NewRow =
+                    {
+                        "RowID": (i + 1) * 10
+                        , "HProjectID": data[i].HProjectID
+                        , "HProNumber": data[i].HProNumber
+                        , "HProjectStageID": data[i].HProjectStageID
+                        , "HProjectStageName": data[i].HProjectStageName
+                        , "HName": data[i].HName
+                        , "HTaskNote": data[i].HTaskNote
+                        , "HType": data[i].HType
+                        , "HRelTimes": "0"
+                        , "HReportNote": ""
+                        , "HFinishFlag": false
+                        , "HAdv": ""
+                        , "HRemarkSub": ""
+                        , "HSourceInterID": data[i].HSourceInterID
+                        , "HSourceEntryID": data[i].HSourceEntryID
+                        , "HSourceBillNo": data[i].HSourceBillNo
+                        , "HSourceBillType": data[i].HSourceBillType
+                    };
+                    dataArray.push(NewRow);
+                }
 
-                        //涓昏〃 璧嬪��
-                        form.val("formData", { //formTest 鍗� class="layui-form" 鎵�鍦ㄥ厓绱犲睘鎬� lay-filter="" 瀵瑰簲鐨勫��
-                            "HOrgID": tableMain[0]["HOrgID"]
-                            , "HProID": tableMain[0]["HInterID"]
-                            , "HProjectStageID": tableMain[0]["HProjectStageID"]
-                            , "HMainSourceBillNo": tableMain[0]["鍗曟嵁鍙�"]
-                            , "HMainSourceBillType": tableMain[0]["鍗曟嵁绫诲瀷"]
-                        });
+                option.data = dataArray;
+                table.render(option);
+                CheckedSet_tableSub();
 
-                        //缁勭粐鐨勫�糎OrgID鍙樺寲锛岄噸鏂版覆鏌�
-                        HOrgIDBar = tableMain[0]["HOrgID"];
 
-                        //瀛愯〃  璧嬪��
-                        for (var i = 0; i < tableSub.length; i++) {
-                            tableSub[i].RowID = (i + 1) * 10;
-                        }
-                        option.data = tableSub;
-                        table.render(option);
-                    }
-                })
+                //$.ajax({
+                //    url: GetWEBURL() + "/PM_ProjectBill/set_WorkTaskReport",
+                //    type: "GET",
+                //    async: false,
+                //    data: { "HInterID": linterid, "HProjectStageID": HProjectStageID, "user": sessionStorage["HUserName"] },
+                //    success: function (result) {
+                //        var tableMain = result.data[0];
+                //        var tableSub = result.data[1];
+
+                //        //涓昏〃 璧嬪��
+                //        form.val("formData", { //formTest 鍗� class="layui-form" 鎵�鍦ㄥ厓绱犲睘鎬� lay-filter="" 瀵瑰簲鐨勫��
+                //            "HOrgID": tableMain[0]["HOrgID"]
+                //            , "HProID": tableMain[0]["HInterID"]
+                //            , "HProjectStageID": tableMain[0]["HProjectStageID"]
+                //            , "HMainSourceBillNo": tableMain[0]["鍗曟嵁鍙�"]
+                //            , "HMainSourceBillType": tableMain[0]["鍗曟嵁绫诲瀷"]
+                //        });
+
+                //        //缁勭粐鐨勫�糎OrgID鍙樺寲锛岄噸鏂版覆鏌�
+                //        HOrgIDBar = tableMain[0]["HOrgID"];
+
+                //        //瀛愯〃  璧嬪��
+                //        for (var i = 0; i < tableSub.length; i++) {
+                //            tableSub[i].RowID = (i + 1) * 10;
+                //        }
+                //        option.data = tableSub;
+                //        table.render(option);
+                //    }
+                //})
             }
             //#endregion
 
@@ -945,6 +1041,13 @@
                 var num = [];
                 for (var i = 0; i < option.data.length; i++) {
                     if (option.data[i] != "") {
+                        //椤圭洰闈炵┖妫�楠�
+                        if (option.data[i]["HProjectID"] == "0") {
+                            layer.msg("绗�" + (i + 1) + "琛�:椤圭洰涓嶈兘涓虹┖!");
+                            return false;
+                        }
+
+
                         //椤圭洰闃舵闈炵┖妫�楠�
                         if (option.data[i]["HProjectStageID"] == "0") {
                             layer.msg("绗�" + (i + 1) + "琛�:椤圭洰闃舵涓嶈兘涓虹┖!");
@@ -976,7 +1079,7 @@
                 //#region 瀛愯〃鍏抽敭瀛楁閲嶅妫�楠�
                 var num = [];
                 for (var i = 0; i < option.data.length; i++) {
-                    temp = option.data[i]["HProNumber"] + "|" + option.data[i]["HProjectStageID"] + "|" + option.data[i]["HName"];
+                    temp = option.data[i]["HProjectID"] + "|" + option.data[i]["HProjectStageID"] + "|" + option.data[i]["HName"];
                     if ($.inArray(temp, num) != -1) {
                         layer.msg("绗�" + (i + 1) + "琛岋細椤圭洰浠g爜銆侀」鐩樁娈点�佷换鍔″悕绉伴噸澶嶏紝璇烽噸鏂伴�夋嫨锛�");
                         return false;
@@ -1003,6 +1106,7 @@
                             option.data[i - 1] = data[0];
                             option.data[i] = tables[0];
                             table.render(option);
+                            CheckedSet_tableSub();
                             break;
                         }
                     }
@@ -1025,6 +1129,7 @@
                             option.data[i + 1] = data[0];
                             option.data[i] = tables[0];
                             table.render(option);
+                            CheckedSet_tableSub();
                             break;
                         }
                     }
@@ -1046,6 +1151,7 @@
                             oldData.splice(obj.tr.data('index'), 1)
                             option.data = oldData;//灏嗘暟鎹粦瀹氬埌data涓�
                             table.render(option);
+                            CheckedSet_tableSub();
                             layer.close(index);
                         }
                     });
@@ -1146,6 +1252,7 @@
                                             "HName": checkStatus.data[0].浠诲姟鍚嶇О
                                             , "HTaskNote": checkStatus.data[0].浠诲姟鎻忚堪
                                             , "HType": checkStatus.data[0].浠诲姟绫诲瀷
+                                            , "HProjectID": checkStatus.data[0].HProjectID
                                             , "HProNumber": checkStatus.data[0].椤圭洰浠g爜
                                             , "HProjectStageID": checkStatus.data[0].HProjectStageID
                                             , "HProjectStageName": checkStatus.data[0].椤圭洰闃舵
@@ -1214,7 +1321,7 @@
                     success: function (data1) {
                         if (data1.data.length != 0) {
                             var dataCol = [];//鏁版嵁搴撴煡璇㈠嚭鐨勫垪鏁版嵁
-                            var titleData = ["琛屽彿","椤圭洰闃舵ID"];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
+                            var titleData = ["琛屽彿", "椤圭洰闃舵ID", "婧愬崟鍐呯爜", "婧愬崟瀛愬唴鐮�", "婧愬崟鍗曞彿", "婧愬崟绫诲瀷"];//涓嶉渶瑕佹樉绀虹殑瀛楁 鍙墿灞�
 
                             dataCol = data1.data[0].HGridString.split(',');
 
@@ -1277,8 +1384,10 @@
                                 }
                             }
                             table.render(option);
+                            CheckedSet_tableSub();
                         } else {
                             table.render(option);
+                            CheckedSet_tableSub();
                         }
                     }, error: function () {
                         layer.alert("鎺ュ彛璇锋眰澶辫触!", { icon: 5 });
@@ -1287,6 +1396,19 @@
             }
             //#endregion
 
+            //#region 鍒锋柊璁剧疆澶嶉�夋鐘舵��
+            function CheckedSet_tableSub() {
+                var tableSub = option.data;
+                //瀵瑰瓙琛ㄤ腑鐨勫閫夋杩涜閫変腑
+                for (var i = 0; i < tableSub.length; i++) {
+                    if (tableSub[i].HFinishFlag) {
+                        $('#HFinishFlag' + (i + 1)).attr("checked", true);
+                    }
+                }
+                form.render('checkbox');
+            }
+            //#endregion
+
             //#region 鏍规嵁鐧诲綍璐︽埛鑾峰彇鐩稿簲鑱屽憳
             function getHEmpByHUserName() {
                 var Czybm = sessionStorage["Czybm"];

--
Gitblit v1.9.1