From 79859956b431d504d2254a6663916b15089396ae Mon Sep 17 00:00:00 2001
From: duhe <226547893@qq.com>
Date: 星期五, 25 十月 2024 15:09:41 +0800
Subject: [PATCH] 表头自动加载:通用文件优化

---
 WebTM/layuiadmin/BillMainAutoLoad.js |   48 ++++++++++++++++++++++++++++++++++++++++--------
 1 files changed, 40 insertions(+), 8 deletions(-)

diff --git a/WebTM/layuiadmin/BillMainAutoLoad.js b/WebTM/layuiadmin/BillMainAutoLoad.js
index 166f7fe..7fe5122 100644
--- a/WebTM/layuiadmin/BillMainAutoLoad.js
+++ b/WebTM/layuiadmin/BillMainAutoLoad.js
@@ -30,7 +30,7 @@
 
                 var HPageLabelElementIDList = [];                                                      //椤电鍏冪礌ID鍒楄〃
                 var HElementCountByTab = {};                                                           //璁板綍鍚勪釜椤电鏄剧ず鐨勫厓绱犵殑涓暟
-                var columnCount = 3;                                                                   //椤电涓瘡琛岀殑鍏冪礌鏁�
+                var columnCount = data[0].HRowElementCount;                                                                   //椤电涓瘡琛岀殑鍏冪礌鏁�
 
                 for (var i = 0; i < data.length; i++) {
 
@@ -40,6 +40,7 @@
                             "HElementID": data[i].HElementID
                             , "HElementLabel": data[i].HElementLabel
                             , "HDefaultValue": data[i].HDefaultValue
+                            , "HFieldDataType": data[i].HFieldDataType
                         }
                         HIsMustElementList.push(HElement_IsMust);
                     }
@@ -168,10 +169,23 @@
                         element_level7_1.className = "layui-input";
                         element_level7_1.setAttribute('lay-verify', data[i].HElementID);
                         element_level7_1.value = data[i].HDefaultValue;
+
+                        //鍒ゆ柇鏂囨湰鏁版嵁绫诲瀷锛岃缃枃鏈鍏佽杈撳叆鐨勬暟鎹被鍨�
+                        if (data[i].HFieldDataType == "Int32" || data[i].HFieldDataType == "Decimal") {
+                            element_level7_1.type = "number";
+                        } else if (data[i].HFieldDataType == "text") {
+                            element_level7_1.type = "text";
+                        }
+
                         //鍒ゆ柇鏄惁绂佺敤锛屾槸 鍒� 绂佹杈撳叆
                         if (data[i].HIsDisabled == true) {
                             element_level7_1.readOnly = true;
                             element_level7_1.style = "background-color:#efefef4d;";
+                        }
+
+                        //鍒ゆ柇鏄惁璁剧疆鏈�澶ч暱搴︼紝鑻ヨ缃垯鍙︽枃鏈闄愬埗鏂囨湰鏈�澶ч暱搴�
+                        if (data[i].HFieldMaxLength != 0) {
+                            element_level7_1.maxLength = data[i].HFieldMaxLength;
                         }
 
                         element_level6_1.appendChild(element_level7_1);                                 //灏嗘枃鏈娣诲姞鍒版枃鏈鍏冪礌鐨勫鍣ㄤ腑
@@ -411,6 +425,12 @@
                         element_level7_1.style = "padding-left: 80px;";
                         element_level7_1.setAttribute('lay-verify', data[i].HElementID);
                         element_level7_1.value = formatDate(new Date(), "yyyy-MM-dd");
+
+                        //鍒ゆ柇鏂囨湰鏁版嵁绫诲瀷锛岃缃枃鏈鍏佽杈撳叆鐨勬暟鎹被鍨�
+                        if (data[i].HFieldDataType == "Date") {
+                            element_level7_1.type = "date";
+                        }
+
                         //鍒ゆ柇鏄惁绂佺敤锛屾槸 鍒� 绂佹杈撳叆
                         if (data[i].HIsDisabled == true) {
                             element_level7_1.readOnly = true;
@@ -555,6 +575,11 @@
                         if (data[i].HIsDisabled == true) {
                             element_level7_1.readOnly = true;
                             element_level7_1.style = "background-color:#efefef4d;";
+                        }
+
+                        //鍒ゆ柇鏄惁璁剧疆鏈�澶ч暱搴︼紝鑻ヨ缃垯鍙︽枃鏈闄愬埗鏂囨湰鏈�澶ч暱搴�
+                        if (data[i].HFieldMaxLength != 0) {
+                            element_level7_1.maxLength = data[i].HFieldMaxLength;
                         }
 
                         element_level6_1.appendChild(element_level7_1);                                 //灏嗘枃鏈娣诲姞鍒版枃鏈鍏冪礌鐨勫鍣ㄤ腑
@@ -717,19 +742,26 @@
 //#region 闈炵┖楠岃瘉_琛ㄥご
 function AllowLoadData_BillMain(data) {
     var ref = /^\d+(\.\d+)?$/;          //闈炶礋鏁版鍒欒〃杈惧紡
+    var ref1 = /^[1-9]\d*$/;            //姝f暣鏁版鍒欒〃杈惧紡
 
     //#region 琛ㄥご鏁版嵁妫�楠�
     for (var i = 0; i < HIsMustElementList.length; i++) {
         var temp = $("#" + HIsMustElementList[i].HElementID).val();
-        if (HIsMustElementList[i].HDefaultValue == "") {
+        if (HIsMustElementList[i].HFieldDataType == "String" || HIsMustElementList[i].HFieldDataType == "DateTime") {
             if (temp == "") {
                 layer.msg(HIsMustElementList[i].HElementLabel + "涓哄繀濉」鐩紝璇锋鏌ユ槸鍚﹀~鍐欐暟鎹紒");
                 return false;
             }
         }
-        else if (HIsMustElementList[i].HDefaultValue == "0") {
+        else if (HIsMustElementList[i].HFieldDataType == "Decimal") {
             if (!ref.test(temp)) {
                 layer.msg(HIsMustElementList[i].HElementLabel + "涓哄繀濉」鐩紝璇锋鏌ユ槸鍚﹀~鍐欐暟鎹紝鏁版嵁涓烘暟瀛楋紒");
+                return false;
+            }
+        }
+        else if (HIsMustElementList[i].HFieldDataType == "Int32") {
+            if (!ref1.test(temp)) {
+                layer.msg(HIsMustElementList[i].HElementLabel + "涓哄繀濉」鐩紝璇锋鏌ユ槸鍚﹀~鍐欐暟鎹紝鏁版嵁涓烘鏁存暟锛�");
                 return false;
             }
         }
@@ -838,13 +870,13 @@
             //涓昏〃 璧嬪��
             var formData = {};
             for (var i = 0; i < HEditValueList.length; i++) {
-                if (HEditValueList[i].HElementType == "鏃ユ湡") {
-                    formData[HEditValueList[i].HElementID] = Format(new Date(tableMain[0][HEditValueList[i].HSetValueWhenEdit]), "yyyy-MM-dd");
-                } else if (HEditValueList[i].HElementLabel.includes("鏃ユ湡")) {
-                    formData[HEditValueList[i].HElementID] = Format(new Date(tableMain[0][HEditValueList[i].HSetValueWhenEdit]), "yyyy-MM-dd hh:mm:ss");
+                if (HEditValueList[i].HFieldDataType == "Date") {
+                    formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HFieldName]==null?'': Format(new Date(tableMain[0][HEditValueList[i].HFieldName]), "yyyy-MM-dd");
+                } else if (HEditValueList[i].HFieldDataType == "DateTime") {
+                    formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HFieldName]==null?'': Format(new Date(tableMain[0][HEditValueList[i].HFieldName]), "yyyy-MM-dd hh:mm:ss");
                 }
                 else {
-                    formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HSetValueWhenEdit];
+                    formData[HEditValueList[i].HElementID] = tableMain[0][HEditValueList[i].HFieldName];
                 }
             }
             form.val("formData", formData);

--
Gitblit v1.9.1