From 8548881696d9d5d502048240aa8d5fc2b2d734d0 Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期四, 10 八月 2023 11:23:42 +0800
Subject: [PATCH] 项目阶段清单:子表可编辑与不可编辑做颜色区分,子表单元格内容可随单元各宽度拉伸显示内容,添加合计行,取消分页

---
 WebTM/views/项目管理/项目阶段/PM_ProjectStageBill.html |   75 +++++++++++++++++++++++++++----------
 1 files changed, 54 insertions(+), 21 deletions(-)

diff --git "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/PM_ProjectStageBill.html" "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/PM_ProjectStageBill.html"
index f6e9089..c503900 100644
--- "a/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/PM_ProjectStageBill.html"
+++ "b/WebTM/views/\351\241\271\347\233\256\347\256\241\347\220\206/\351\241\271\347\233\256\351\230\266\346\256\265/PM_ProjectStageBill.html"
@@ -14,7 +14,7 @@
     <script src="../../../layuiadmin/Scripts/jquery-1.4.1.js"></script>
     <script src="../../../layuiadmin/Scripts/webConfig.js"></script>
     <script src="../../../layuiadmin/PubCustom.js"></script>
-    <style>
+    <!--<style>
         .main-btn { /*澶撮儴涓绘寜閽�*/
             padding: 0 2px; /*璋冩暣鎸夐挳宸﹀彸绌洪殭澶у皬*/
             height: 30px;
@@ -44,7 +44,7 @@
         .layui-form-label {
             width: 25%;
         }
-    </style>
+    </style>-->
 
 </head>
 <body>
@@ -75,14 +75,14 @@
                                 <div class="layui-form-item" style="padding-top: 10px;">
                                     <div class="layui-row">
                                         <div class="layui-inline">
-                                            <label class="layui-form-label" style="width: 85px;">鍗曟嵁鍙�*</label>
+                                            <label class="layui-form-label" style="width: 85px;">鍗曟嵁鍙�<label style="color:red"> * </label></label>
                                             <div class="layui-input-block" style="margin-left: 120px;">
                                                 <input type="text" class="layui-input" name="HBillNo" lay-verify="HBillNo" id="HBillNo" style="background-color:#efefef4d;" readonly>
                                                 <input type="hidden" name="HInterID" id="HInterID" lay-verify="HInterID">
                                             </div>
                                         </div>
                                         <div class="layui-inline">
-                                            <label class="layui-form-label" style="width: 85px;">鏃ユ湡</label>
+                                            <label class="layui-form-label" style="width: 85px;">鏃ユ湡<label style="color:red"> * </label></label>
                                             <div class="layui-input-block" style="margin-left: 120px; width:180px;">
                                                 <input type="date" class="layui-input" lay-verify="HDate" name="HDate" id="HDate" style="padding-left: 80px;">
                                             </div>
@@ -90,7 +90,7 @@
                                     </div>
                                     <div class="layui-row">
                                         <div class="layui-inline">
-                                            <label class="layui-form-label" style="width: 85px;">澶囨敞<label style="color:red"> * </label></label>
+                                            <label class="layui-form-label" style="width: 85px;">澶囨敞</label>
                                             <div class="layui-input-block" style="margin-left: 120px; width: 501px;">
                                                 <input type="text" class="layui-input" lay-verify="HRemark" name="HRemark" id="HRemark">
                                             </div>
@@ -207,8 +207,8 @@
                                         <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-AddLine"><i class="layui-icon layui-icon-form"></i>澧炲姞涓�琛�</button>
                                         <button type="button" class="layui-btn layui-btn-sm" lay-event="btn-CopyLine"><i class="layui-icon layui-icon-form"></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="btn_up"><i class="layui-icon layui-icon-form"></i>涓婁竴琛�</button>
-                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>涓嬩竴琛�</button>
+                                        <!--<button type="button" class="layui-btn layui-btn-sm" lay-event="btn_up"><i class="layui-icon layui-icon-form"></i>涓婁竴琛�</button>
+                                        <button type="button" class="layui-btn layui-btn-sm" lay-event="btn_under"><i class="layui-icon layui-icon-form"></i>涓嬩竴琛�</button>-->
                                     </div>
                                 </script>
                             </div>
@@ -463,6 +463,32 @@
             })
             //#endregion
 
+            //#region 瀛愯〃锛氬崟鍏冩牸缂栬緫鐩戝惉
+            table.on('edit(mainTable)', function (obj) {
+                // 鍗曞厓鏍肩紪杈戜箣鍓嶇殑鍊�
+                var oldText = $(this).prev().text();
+                var value = obj.value //寰楀埌淇敼鍚庣殑鍊�
+                    , data = obj.data //寰楀埌鎵�鍦ㄨ鎵�鏈夐敭鍊�
+                    , field = obj.field; //寰楀埌瀛楁
+                //姝e垯琛ㄨ揪寮�-鏍¢獙闈炶礋娴偣鏁�
+                var ref = /^\d+(\.\d+)?$/;
+
+                switch (field) {
+                    case "HRate":                                            //鏁伴噺
+                        if (!ref.test(value)) {                             //鑻ヨ緭鍏ュ�兼牸寮忎笉姝g‘锛屽垯鍙樺洖鍘熸潵鐨勫��
+                            obj.update({
+                                HRate: oldText
+                            });
+                            layer.msg("涓氱哗鍗犳瘮锛氭暟鎹敊璇紝璇疯緭鍏ラ潪璐熷皬鏁�")
+                        } else {
+                            table.render(option);
+                            CheckedSet_tableSub();
+                        }
+                        break;
+                    default:
+                }
+            });
+            //#endregion
 
 
             //
@@ -551,22 +577,20 @@
                 option = {
                     elem: '#mainTable'
                     , toolbar: '#toolbarDemo'
-                    , page: true
-                    , limit: 500
-                    , limits: [50, 500, 5000, 50000]
+                    , totalRow: true
                     , cellMinWidth: 120
                     , height: 400
                     , cols: [[
                         { type: 'checkbox', totalRowText: '鍚堣琛�' }
-                        , { type: 'numbers', title: '搴忓彿', totalRow: true }
-                        , { field: 'RowID', title: '琛屽彿', hide: true }                                                   //琛屾爣璇嗭紝鐢ㄤ簬涓嬩竴琛屻�佷笂涓�琛岃瘑鍒墍鍦ㄨ
-                        , { field: 'HProjectStageID', title: '椤圭洰闃舵ID', hide: true }
+                        , { type: 'numbers', title: '搴忓彿', style: 'background-color: #f9f9f9;' }
+                        , { field: 'RowID', title: '琛屽彿', hide: true, style: 'background-color: #f9f9f9;' }                                                   //琛屾爣璇嗭紝鐢ㄤ簬涓嬩竴琛屻�佷笂涓�琛岃瘑鍒墍鍦ㄨ
+                        , { field: 'HProjectStageID', title: '椤圭洰闃舵ID', hide: true, style: 'background-color: #f9f9f9;' }
                         , { field: 'HProjectStageName', title: '椤圭洰闃舵', edit: 'text', event: "HProjectStageName" }     //f7
-                        , { field: 'HStageNote', title: '椤圭洰闃舵璇︾粏鍐呭' }
-                        , { field: 'HPMGoodsID', title: '鐩稿叧浜や粯鐗㊣D', hide: true }
+                        , { field: 'HStageNote', title: '椤圭洰闃舵璇︾粏鍐呭', style: 'background-color: #f9f9f9;' }
+                        , { field: 'HPMGoodsID', title: '鐩稿叧浜や粯鐗㊣D', hide: true, style: 'background-color: #f9f9f9;' }
                         , { field: 'HPMGoodsName', title: '鐩稿叧浜や粯鐗�', edit: 'text', event: "HPMGoodsName" }            //f7
                         , { field: 'HIsKey', title: '閲岀▼纰�', templet: "#HIsKey" }
-                        , { field: 'HRate', title: '涓氱哗鍗犳瘮', edit: 'text' }
+                        , { field: 'HRate', title: '涓氱哗鍗犳瘮', edit: 'text', totalRow: true }
                         //, { field: 'HEmpID', title: '闃舵璐熻矗浜篒D', hide: true }
                         //, { field: 'HEmpName', title: '闃舵璐熻矗浜�', edit: 'text', event: "HEmpName" }                    //f7
                         //, { field: 'HCheckEmpID', title: '闃舵瀹℃牳浜篒D', hide: true }
@@ -827,7 +851,7 @@
                             return false;
                         }
                         //椤圭洰闃舵闈炵┖妫�楠�
-                        if (option.data[i]["HProjectStageName"] == "") {
+                        if (option.data[i]["HProjectStageID"] == "0") {
                             layer.msg("绗�" + (i + 1) + "琛�:椤圭洰闃舵涓嶈兘涓虹┖!");
                             return false;
                         }
@@ -836,12 +860,12 @@
                         var HRate = option.data[i]["HRate"] + "";
                         if (HRate.substring(HRate.length - 1, HRate.length) == ".") {
                             layer.msg("涓氱哗鍗犳瘮鏈熬涓嶈兘涓�.锛�");
-                            return;
+                            return false;
                         } else {
                             var ref = /^[0-9]+\.?[0-9]*$/;
                             if (!ref.test(HRate)) {
                                 layer.msg("涓氱哗鍗犳瘮璇疯緭姝g‘鍏ユ暟瀛楋紒");
-                                return;
+                                return false;
                             }
                         }
                         ////閲岀▼纰戝唴瀹规楠�
@@ -849,6 +873,15 @@
                         //    layer.msg("閲岀▼纰戣杈撳叆0鎴�1锛�");
                         //}
                     }
+                }
+
+                var total = 0;
+                for (var i = 0; i < option.data.length; i++) {
+                    total += option.data[i]["HRate"] * 1;
+                }
+                if (total > 100) {
+                    layer.msg("涓氱哗鍗犳瘮鍚堣涓嶈兘澶т簬100锛�");
+                    return false;
                 }
                 //#endregion
                 return true;
@@ -1040,9 +1073,9 @@
                                 }
                                 //璁剧疆鍐呭瀛椾綋澶у皬
                                 if (data1.data[0].HFontSize != 0) {
-                                    option.cols[0][i + 1]["style"] = "font-size:" + data1.data[0].HFontSize + "px;";
+                                    option.cols[0][i + 1]["style"] += "font-size:" + data1.data[0].HFontSize + "px;";
                                 } else {
-                                    option.cols[0][i + 1]["style"] = "font-size:100%";
+                                    option.cols[0][i + 1]["style"] += "font-size:100%";
                                 }
                                 //璁剧疆鍒楀
                                 //if (data1.data[0].HColumnWidth != 0) {

--
Gitblit v1.9.1