From e659867fb59ad88f121d446e56df53389d88960d Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 03 四月 2023 12:09:35 +0800
Subject: [PATCH] 2023-04-03

---
 src/tabviews/zshare/mutilform/index.jsx |   40 ++++++++++++++++++++++++++++++++++------
 1 files changed, 34 insertions(+), 6 deletions(-)

diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx
index a1ea659..35287d8 100644
--- a/src/tabviews/zshare/mutilform/index.jsx
+++ b/src/tabviews/zshare/mutilform/index.jsx
@@ -117,7 +117,7 @@
         }
         delete item.field
         return true
-      } else if (item.type === 'date') { // 鏃堕棿鎼滅储
+      } else if (item.type === 'date') {
         item.precision = item.precision || 'day'
       } else if (item.type === 'datetime') {
         item.type = 'date'
@@ -174,6 +174,19 @@
 
         if (item.empty === 'hidden' && item.oriOptions.length === 0) {
           item.hidden = true
+        }
+        if (item.type === 'checkcard' && item.readonly && item.unchecked === 'hidden') {
+          let selectKeys = item.initval
+          if (item.multiple === 'true') {
+            selectKeys = selectKeys ? selectKeys.split(',') : []
+            item.options = item.options.filter(item => selectKeys.includes(item.$value))
+          } else {
+            item.options = item.options.filter(item => selectKeys === item.$value)
+          }
+          item.oriOptions = fromJS(item.options).toJS()
+          if (item.options.length === 0) {
+            item.hidden = true
+          }
         }
       }
 
@@ -464,7 +477,7 @@
       }
 
       if (['select', 'link', 'radio'].includes(item.type)) { // 閫変腑绗竴椤�
-        if (typeof(item.initval) === 'string' && item.initval.indexOf('$first') > -1) {
+        if (/^\s*\$first\s*$/.test(item.initval)) {
           item.$first = true
           item.initval = ''
         }
@@ -824,6 +837,21 @@
         if (item.empty === 'hidden' && item.oriOptions.length > 0) {
           item.hidden = false
         }
+        if (item.type === 'checkcard' && item.readonly && item.unchecked === 'hidden') {
+          let selectKeys = item.initval
+          if (item.multiple === 'true') {
+            selectKeys = selectKeys ? selectKeys.split(',') : []
+            item.options = item.options.filter(item => selectKeys.includes(item.$value))
+          } else {
+            item.options = item.options.filter(item => selectKeys === item.$value)
+          }
+          item.oriOptions = fromJS(item.options).toJS()
+          if (item.options.length === 0) {
+            item.hidden = true
+          } else {
+            item.hidden = false
+          }
+        }
       }
       
       return item
@@ -1054,10 +1082,10 @@
                 _item.value = _item.value.slice(-item.fieldlength)
               }
             }
-          } else if (item.type.indexOf('date') > -1) {
-            if (item.declareType === 'nvarchar(50)') {
-              _item.type = 'text'
-            }
+          } else if (item.type === 'datemonth') {
+            _item.type = 'text'
+          } else  if (item.type === 'date') {
+            _item.type = item.declareType === 'nvarchar(50)' ? 'text' : 'date'
           } else if (item.type === 'vercode') {
             _item.type = 'text'
             forms.push({

--
Gitblit v1.8.0