From 603788e2007f168331b3570b99da0a7df416643d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期四, 13 七月 2023 12:10:47 +0800
Subject: [PATCH] 2023-07-13

---
 src/menu/components/form/simple-form/index.jsx     |   15 +++--
 src/tabviews/zshare/mutilform/index.jsx            |   39 +++++++++++-
 src/templates/modalconfig/index.jsx                |   15 +++--
 src/menu/components/form/step-form/index.jsx       |   15 +++--
 src/menu/modalconfig/index.jsx                     |   15 +++--
 src/templates/treepageconfig/updatetable/index.jsx |    4 +
 src/mob/modalconfig/index.jsx                      |   13 ++-
 src/menu/components/form/tab-form/index.jsx        |   15 +++--
 src/templates/comtableconfig/updatetable/index.jsx |    4 +
 9 files changed, 94 insertions(+), 41 deletions(-)

diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx
index 9e00fe2..2255364 100644
--- a/src/menu/components/form/simple-form/index.jsx
+++ b/src/menu/components/form/simple-form/index.jsx
@@ -364,18 +364,21 @@
         })
       }
       
-      if (!['select', 'link', 'radio', 'checkcard'].includes(item.type)) return
-      if (item.type === 'checkcard' && item.multiple === 'true') return // 閫夐」鍗″閫�
+      if (!['select', 'link', 'radio', 'checkcard', 'multiselect'].includes(item.type)) return
+
+      _linksupFields.push({
+        field: item.field,
+        label: item.label
+      })
+
+      if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
+
       if (item.field && !uniq.has(item.field)) {
         uniq.set(item.field, true)
 
         _linkableFields.push({
           field: item.field,
           label: item.label + '-琛ㄥ崟'
-        })
-        _linksupFields.push({
-          field: item.field,
-          label: item.label
         })
       }
     })
diff --git a/src/menu/components/form/step-form/index.jsx b/src/menu/components/form/step-form/index.jsx
index 5e43617..61eef30 100644
--- a/src/menu/components/form/step-form/index.jsx
+++ b/src/menu/components/form/step-form/index.jsx
@@ -466,18 +466,21 @@
         })
       }
       
-      if (!['select', 'link', 'radio', 'checkcard'].includes(item.type)) return
-      if (item.type === 'checkcard' && item.multiple === 'true') return // 閫夐」鍗″閫�
+      if (!['select', 'link', 'radio', 'checkcard', 'multiselect'].includes(item.type)) return
+
+      _linksupFields.push({
+        field: item.field,
+        label: item.label
+      })
+
+      if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
+
       if (item.field && !uniq.has(item.field)) {
         uniq.set(item.field, true)
 
         _linkableFields.push({
           field: item.field,
           label: item.label + '-琛ㄥ崟'
-        })
-        _linksupFields.push({
-          field: item.field,
-          label: item.label
         })
       }
     })
diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx
index 45e890a..b437049 100644
--- a/src/menu/components/form/tab-form/index.jsx
+++ b/src/menu/components/form/tab-form/index.jsx
@@ -471,18 +471,21 @@
         })
       }
       
-      if (!['select', 'link', 'radio', 'checkcard'].includes(item.type)) return
-      if (item.type === 'checkcard' && item.multiple === 'true') return // 閫夐」鍗″閫�
+      if (!['select', 'link', 'radio', 'checkcard', 'multiselect'].includes(item.type)) return
+
+      _linksupFields.push({
+        field: item.field,
+        label: item.label
+      })
+
+      if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
+
       if (item.field && !uniq.has(item.field)) {
         uniq.set(item.field, true)
 
         _linkableFields.push({
           field: item.field,
           label: item.label + '-琛ㄥ崟'
-        })
-        _linksupFields.push({
-          field: item.field,
-          label: item.label
         })
       }
     })
diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx
index 4765551..cea6fbe 100644
--- a/src/menu/modalconfig/index.jsx
+++ b/src/menu/modalconfig/index.jsx
@@ -145,18 +145,21 @@
         })
       }
 
-      if (!['select', 'link', 'radio', 'checkcard'].includes(item.type)) return
-      if (item.type === 'checkcard' && item.multiple === 'true') return // 閫夐」鍗″閫�
+      if (!['select', 'link', 'radio', 'checkcard', 'multiselect'].includes(item.type)) return
+
+      _linksupFields.push({
+        field: item.field,
+        label: item.label
+      })
+
+      if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
+
       if (item.field && !uniq.has(item.field)) {
         uniq.set(item.field, true)
 
         _linkableFields.push({
           field: item.field,
           label: item.label + '-琛ㄥ崟'
-        })
-        _linksupFields.push({
-          field: item.field,
-          label: item.label
         })
       }
     })
diff --git a/src/mob/modalconfig/index.jsx b/src/mob/modalconfig/index.jsx
index 604e362..3ced3e3 100644
--- a/src/mob/modalconfig/index.jsx
+++ b/src/mob/modalconfig/index.jsx
@@ -168,17 +168,20 @@
       }
 
       if (!['select', 'link', 'radio', 'checkcard'].includes(item.type)) return
-      if (item.type === 'checkcard' && item.multiple === 'true') return // 閫夐」鍗″閫�
+
+      _linksupFields.push({
+        field: item.field,
+        label: item.label
+      })
+
+      if (item.type === 'checkcard' && item.multiple === 'true') return
+
       if (item.field && !uniq.has(item.field)) {
         uniq.set(item.field, true)
 
         _linkableFields.push({
           field: item.field,
           label: item.label + '-琛ㄥ崟'
-        })
-        _linksupFields.push({
-          field: item.field,
-          label: item.label
         })
       }
     })
diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx
index 7623755..ca88ed4 100644
--- a/src/tabviews/zshare/mutilform/index.jsx
+++ b/src/tabviews/zshare/mutilform/index.jsx
@@ -413,9 +413,24 @@
 
         let cell = fieldMap.get(item.field)
 
-        // if (cell.hidden) return
-        
-        if (supItem.hidden || !item.values.includes(supItem.initval)) {
+        let _hidden = false
+
+        if (supItem.hidden) {
+          _hidden = true
+        } else {
+          let box = [...item.values]
+          if (supItem.type === 'multiselect' || (supItem.type === 'checkcard' && supItem.multiple === 'true')) {
+            box.push(...supItem.initval.split(','))
+          } else {
+            box.push(supItem.initval)
+          }
+  
+          if (box.length === Array.from(new Set(box)).length) {
+            _hidden = true
+          }
+        }
+
+        if (_hidden) {
           cell.hidden = true
           if (cell.empty === 'hidden') {
             cell.$hidden = true
@@ -954,7 +969,23 @@
 
       current.controlFields.forEach(cell => {
         let m = map.get(cell.field)
-        m.hidden = current.hidden || !cell.values.includes(val)
+
+        m.hidden = false
+
+        if (current.hidden) {
+          m.hidden = true
+        } else {
+          let box = [...cell.values]
+          if (current.type === 'multiselect' || (current.type === 'checkcard' && current.multiple === 'true')) {
+            box.push(...val.split(','))
+          } else {
+            box.push(val)
+          }
+  
+          if (box.length === Array.from(new Set(box)).length) {
+            m.hidden = true
+          }
+        }
 
         if (m.empty === 'hidden' && m.oriOptions.length === 0) {
           m.hidden = true
diff --git a/src/templates/comtableconfig/updatetable/index.jsx b/src/templates/comtableconfig/updatetable/index.jsx
index 299a683..df7ef53 100644
--- a/src/templates/comtableconfig/updatetable/index.jsx
+++ b/src/templates/comtableconfig/updatetable/index.jsx
@@ -1123,7 +1123,7 @@
       })
     }
 
-    let sets = ['tableName', 'interType', 'sysInterface', 'innerFunc', 'interface', 'proInterface', 'outerFunc', 'dataresource', ['queryType', 'query'], 'primaryKey', 'order', 'execute', ['laypage', 'true'], ['pageSize', 10], ['onload', 'true']]
+    let sets = ['tableName', 'interType', 'sysInterface', 'innerFunc', 'interface', 'proInterface', 'outerFunc', 'dataresource', ['queryType', 'query'], 'primaryKey', 'order', ['laypage', 'true'], ['pageSize', 10], ['onload', 'true']]
     let wraps = ['tableType', ['bordered', 'true'], 'actionfixed', ['size', 'middle'], ['selected', 'false'], ['tableMode', 'compatible'], ['mask', 'show'], ['borderColor', '#e8e8e8'], 'height', 'controlField', 'controlVal']
 
     _card.scripts = config.setting.scripts || []
@@ -1156,6 +1156,8 @@
       _card.wrap.doubleClick = ''
     }
 
+    _card.setting.execute = config.setting.default || 'true'
+
     _card.errors = []
     let columns = _card.columns.map(c => c.field)
     if (_card.setting.interType === 'system' && _card.setting.execute !== 'false' && !_card.setting.dataresource) {
diff --git a/src/templates/modalconfig/index.jsx b/src/templates/modalconfig/index.jsx
index 5291743..fde73c3 100644
--- a/src/templates/modalconfig/index.jsx
+++ b/src/templates/modalconfig/index.jsx
@@ -275,18 +275,21 @@
         })
       }
 
-      if (!['select', 'link', 'radio', 'checkcard'].includes(item.type)) return
-      if (item.type === 'checkcard' && item.multiple === 'true') return // 閫夐」鍗″閫�
+      if (!['select', 'link', 'radio', 'checkcard', 'multiselect'].includes(item.type)) return
+
+      _linksupFields.push({
+        field: item.field,
+        label: item.label
+      })
+
+      if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
+
       if (item.field && !uniq.has(item.field)) {
         uniq.set(item.field, true)
 
         _linkableFields.push({
           field: item.field,
           label: item.label + '-琛ㄥ崟'
-        })
-        _linksupFields.push({
-          field: item.field,
-          label: item.label
         })
       }
     })
diff --git a/src/templates/treepageconfig/updatetable/index.jsx b/src/templates/treepageconfig/updatetable/index.jsx
index 8cb7244..20a6753 100644
--- a/src/templates/treepageconfig/updatetable/index.jsx
+++ b/src/templates/treepageconfig/updatetable/index.jsx
@@ -1166,7 +1166,7 @@
       })
     }
 
-    let sets = ['tableName', 'interType', 'sysInterface', 'innerFunc', 'interface', 'proInterface', 'outerFunc', 'dataresource', ['queryType', 'query'], 'primaryKey', 'order', 'execute', ['laypage', 'true'], ['pageSize', 10], ['onload', 'true']]
+    let sets = ['tableName', 'interType', 'sysInterface', 'innerFunc', 'interface', 'proInterface', 'outerFunc', 'dataresource', ['queryType', 'query'], 'primaryKey', 'order', ['laypage', 'true'], ['pageSize', 10], ['onload', 'true']]
     let wraps = ['tableType', ['bordered', 'true'], 'actionfixed', ['size', 'middle'], ['selected', 'false'], ['tableMode', 'compatible'], ['mask', 'show'], ['borderColor', '#e8e8e8'], 'height', 'controlField', 'controlVal']
 
     _card.scripts = config.setting.scripts || []
@@ -1199,6 +1199,8 @@
       _card.wrap.doubleClick = ''
     }
 
+    _card.setting.execute = config.setting.default || 'true'
+
     _card.errors = []
     let columns = _card.columns.map(c => c.field)
     if (_card.setting.interType === 'system' && _card.setting.execute !== 'false' && !_card.setting.dataresource) {

--
Gitblit v1.8.0