From 0eb129a9beddbb86ae74d7106a8e60823206b8d5 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 14 十二月 2023 11:29:15 +0800
Subject: [PATCH] 2023-12-14

---
 src/tabviews/custom/index.jsx |   72 +++++++++++++++++++++++-------------
 1 files changed, 46 insertions(+), 26 deletions(-)

diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx
index 373d6df..5af3787 100644
--- a/src/tabviews/custom/index.jsx
+++ b/src/tabviews/custom/index.jsx
@@ -554,6 +554,7 @@
             item.wrap.datatype = 'static'
           } else {
             item.setting = {...inter.setting}
+            item.$searchId = inter.$searchId
           }
         }
       }
@@ -658,6 +659,10 @@
               col.linkThdMenu = window.GLOB.mkThdMenus.get(menu_id) || ''
             } else {
               col.linkThdMenu = ''
+            }
+
+            if (col.marks && col.marks.length === 0) {
+              col.marks = null
             }
 
             return true
@@ -771,34 +776,17 @@
       } else if (item.type === 'form') {
         item.subcards = item.subcards.map(group => {
           group.subButton.uuid = group.uuid
-          group.subButton.$menuId = group.uuid
-          group.subButton.$MenuID = this.props.MenuID
-          // group.subButton.$forbid = true // 涓嶅0鏄庢暟鎹簮鍙橀噺
           group.subButton.OpenType = 'formSubmit'
           group.subButton.execError = 'never'
-          group.subButton.logLabel = item.$menuname + '-' + group.subButton.label
-
           if (!group.subButton.Ot) {
             group.subButton.Ot = item.wrap.datatype === 'static' ? 'notRequired' : 'requiredSgl'
           }
 
-          if (item.$process) {
-            group.subButton.$process = true
-            group.subButton.$flowId = 'flow' + this.props.MenuID
-          }
+          group.subButton = this.resetButton(item, group.subButton)
 
-          if (item.$cache && item.$time) {
+          if (item.$cache && item.$time) { // 琛ㄥ崟缂撳瓨
             group.$cache = item.$cache
             group.$time = item.$time
-          }
-
-          group.subButton.syncComponentId = group.subButton.syncComponent ? (group.subButton.syncComponent.pop() || '') : ''
-
-          if (group.subButton.syncComponentId && group.subButton.syncComponentId === item.setting.supModule) {
-            group.subButton.syncComponentId = ''
-            if (group.subButton.execSuccess === 'grid') {
-              group.subButton.execSuccess = 'mainline'
-            }
           }
 
           group.fields = group.fields.map(cell => {
@@ -916,6 +904,30 @@
       cell.modal.uuid = cell.uuid + 'pop'
     }
 
+    if (cell.verify && cell.verify.invalid === 'true') {
+      if (item.wrap && (item.wrap.datatype === 'static' || item.wrap.datatype === 'public')) {
+        cell.verify.invalid = 'false'
+      } else if (item.setting && item.setting.maxScript && item.setting.maxScript >= 300) {
+        cell.verify.invalid = 'false'
+      } else if (cell.intertype !== 'system' && cell.procMode !== 'system') {
+        cell.verify.invalid = 'false'
+      } else if (cell.sqlType === 'insert') {
+        cell.verify.invalid = 'false'
+      } else if (cell.Ot === 'notRequired') {
+        cell.verify.invalid = 'false'
+      }
+    }
+
+    if (cell.verify && cell.verify.preHandle === 'true') {
+      try {
+        // eslint-disable-next-line
+        let func = new Function('btn', 'systemType', cell.verify.pre_func)
+        func(cell, window.GLOB.systemType)
+      } catch (e) {
+        console.warn(e)
+      }
+    }
+
     if (cell.syncComponentId) {
       if (cell.syncComponentId === item.setting.supModule) {
         cell.syncComponentId = ''
@@ -950,6 +962,10 @@
 
     if (cell.style.display === 'inline-block') {
       cell.style.verticalAlign = 'top'
+    }
+
+    if (cell.marks && cell.marks.length === 0) {
+      cell.marks = null
     }
 
     if (['text', 'number', 'formula'].includes(cell.eleType)) {
@@ -1022,9 +1038,6 @@
         component.components = this.formatSetting(component.components, params, null, regs, balMap)
         return component
       } else if (component.wrap && component.wrap.datatype === 'public') {
-        component.setting.useMSearch = false
-        component.setting.sync = 'false'
-
         return component
       } else if (component.wrap && component.wrap.datatype === 'static') {
         component.format = ''
@@ -1039,6 +1052,8 @@
 
       component.setting.arr_field = component.columns ? component.columns.map(col => col.field).join(',') : ''
       component.setting.useMSearch = component.setting.useMSearch === 'true'
+      component.setting.laypage = component.setting.laypage === 'true'   // 鏄惁鍒嗛〉锛岃浆涓篵oolean 缁熶竴鏍煎紡
+      
       if (component.setting.useMSearch) {
         if (!window.GLOB.SearchBox.has(component.$searchId)) {
           component.setting.useMSearch = false
@@ -1051,9 +1066,14 @@
         component.setting.sync = 'false'
       }
 
+      if (component.format === 'object') {
+        component.setting.laypage = false
+        component.setting.$top = true
+      }
+
       if (component.setting.interType !== 'system') { // 涓嶄娇鐢ㄧ郴缁熷嚱鏁版椂
         component.setting.sync = 'false'
-        component.setting.laypage = component.setting.laypage === 'true'
+        component.setting.dataresource = ''
         return component
       }
 
@@ -1074,8 +1094,7 @@
       delete component.scripts
       component.setting.$name = component.$menuname || ''
       component.setting.execute = component.setting.execute !== 'false'  // 榛樿sql鏄惁鎵ц锛岃浆涓篵oolean 缁熶竴鏍煎紡
-      component.setting.laypage = component.setting.laypage === 'true'   // 鏄惁鍒嗛〉锛岃浆涓篵oolean 缁熶竴鏍煎紡
-
+      
       if (!component.setting.execute) {
         component.setting.dataresource = ''
       }
@@ -1191,6 +1210,8 @@
         inter.setting.onload = 'false'
       }
 
+      inter.setting.laypage = false
+      inter.setting.$top = true
       inter.setting.useMSearch = inter.setting.useMSearch === 'true'
       inter.setting.arr_field = inter.columns.map(col => col.field).join(',')
 
@@ -1214,7 +1235,6 @@
 
       inter.setting.$name = '鍏叡鏁版嵁婧�-' + inter.setting.name
       inter.setting.execute = inter.setting.execute !== 'false'
-      inter.setting.laypage = true
 
       if (!inter.setting.execute) {
         inter.setting.dataresource = ''

--
Gitblit v1.8.0