From 0d89e4a8d3a540abafe232ae6dc747aaa9579a46 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 08 九月 2021 18:28:18 +0800
Subject: [PATCH] 2021-09-08

---
 src/tabviews/zshare/mutilform/index.jsx             |    4 ++++
 src/tabviews/zshare/mutilform/mkRadio/index.jsx     |    2 +-
 src/tabviews/zshare/mutilform/mkSelect/index.jsx    |    4 ++--
 src/tabviews/zshare/mutilform/mkCheckCard/index.jsx |    2 +-
 src/tabviews/zshare/mutilform/mkCheckbox/index.jsx  |    2 +-
 src/tabviews/zshare/mutilform/checkCard/index.jsx   |    2 +-
 src/utils/utils.js                                  |    3 +++
 7 files changed, 13 insertions(+), 6 deletions(-)

diff --git a/src/tabviews/zshare/mutilform/checkCard/index.jsx b/src/tabviews/zshare/mutilform/checkCard/index.jsx
index fd825fa..dcab326 100644
--- a/src/tabviews/zshare/mutilform/checkCard/index.jsx
+++ b/src/tabviews/zshare/mutilform/checkCard/index.jsx
@@ -33,7 +33,7 @@
     const { card } = this.props
     const { selectKeys } = this.state
 
-    if (card.readonly) return
+    if (card.readonly || item.$disabled) return
 
     if (card.multiple === 'true') {
       let keys = []
diff --git a/src/tabviews/zshare/mutilform/index.jsx b/src/tabviews/zshare/mutilform/index.jsx
index c84d5e5..524f2ca 100644
--- a/src/tabviews/zshare/mutilform/index.jsx
+++ b/src/tabviews/zshare/mutilform/index.jsx
@@ -556,6 +556,10 @@
               _cell[m.field] = cell[m.field] === undefined ? '' : cell[m.field]
             })
           }
+
+          if (item.disableField && cell[item.disableField] && /^true$/ig.test(cell[item.disableField])) {
+            _cell.$disabled = true
+          }
   
           options.push(_cell)
         })
diff --git a/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx b/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
index 316fb81..2d1c1fe 100644
--- a/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkCheckCard/index.jsx
@@ -33,7 +33,7 @@
     const { config } = this.props
     const { selectKeys } = this.state
 
-    if (config.readonly) return
+    if (config.readonly || item.$disabled) return
 
     if (config.multiple === 'true') {
       let keys = []
diff --git a/src/tabviews/zshare/mutilform/mkCheckbox/index.jsx b/src/tabviews/zshare/mutilform/mkCheckbox/index.jsx
index 494719d..12091c4 100644
--- a/src/tabviews/zshare/mutilform/mkCheckbox/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkCheckbox/index.jsx
@@ -30,7 +30,7 @@
 
     return (
       <Checkbox.Group defaultValue={defaultValue} disabled={config.readonly} onChange={this.onChange}>
-        {config.options.map(option => <Checkbox key={option.key} title={option.label} value={option.value}>{option.label}</Checkbox>)}
+        {config.options.map(option => <Checkbox key={option.key} title={option.label} disabled={option.$disabled} value={option.value}>{option.label}</Checkbox>)}
       </Checkbox.Group>
     )
   }
diff --git a/src/tabviews/zshare/mutilform/mkRadio/index.jsx b/src/tabviews/zshare/mutilform/mkRadio/index.jsx
index 18022bf..05efa5d 100644
--- a/src/tabviews/zshare/mutilform/mkRadio/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkRadio/index.jsx
@@ -31,7 +31,7 @@
 
     return (
       <Radio.Group defaultValue={defaultValue} disabled={config.readonly} onChange={this.onChange}>
-        {config.options.map(option => <Radio key={option.key} value={option.value}>{option.label}</Radio>)}
+        {config.options.map(option => <Radio key={option.key} disabled={option.$disabled} value={option.value}>{option.label}</Radio>)}
       </Radio.Group>
     )
   }
diff --git a/src/tabviews/zshare/mutilform/mkSelect/index.jsx b/src/tabviews/zshare/mutilform/mkSelect/index.jsx
index 6a0b59d..1caeb6f 100644
--- a/src/tabviews/zshare/mutilform/mkSelect/index.jsx
+++ b/src/tabviews/zshare/mutilform/mkSelect/index.jsx
@@ -166,7 +166,7 @@
           disabled={config.readonly}
         >
           {options.map(option =>
-            <Select.Option id={option.key} title={option.label} key={option.key} value={option.value}>{option.label}</Select.Option>
+            <Select.Option id={option.key} title={option.label} disabled={option.$disabled} key={option.key} value={option.value}>{option.label}</Select.Option>
           )}
         </Select>
       )
@@ -181,7 +181,7 @@
         disabled={config.readonly}
       >
         {options.map(option =>
-          <Select.Option id={option.key} title={option.label} key={option.key} value={option.value}>{option.label}</Select.Option>
+          <Select.Option id={option.key} title={option.label} disabled={option.$disabled} key={option.key} value={option.value}>{option.label}</Select.Option>
         )}
       </Select>)
     }
diff --git a/src/utils/utils.js b/src/utils/utils.js
index da742ae..ca334ec 100644
--- a/src/utils/utils.js
+++ b/src/utils/utils.js
@@ -712,6 +712,9 @@
         arrfield.push(item.urlField)
       }
     }
+    if (item.disableField) {
+      arrfield.push(item.disableField)
+    }
 
     arrfield = Array.from(new Set(arrfield))
 

--
Gitblit v1.8.0