From c683346efce70ebdecc89c1bd7bb0f412a9ba617 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期三, 19 七月 2023 17:13:49 +0800
Subject: [PATCH] Merge branch 'develop'

---
 src/menu/components/card/cardcellcomponent/dragaction/card.jsx |    8 +
 src/menu/components/form/simple-form/index.jsx                 |   26 ++----
 src/tabviews/custom/components/card/cardcellList/index.jsx     |   13 ++
 src/templates/modalconfig/index.jsx                            |   34 ++-----
 src/menu/components/form/step-form/index.jsx                   |   26 ++----
 src/menu/modalconfig/index.jsx                                 |   26 ++----
 src/mob/modalconfig/index.jsx                                  |   26 ++----
 src/menu/components/form/tab-form/index.jsx                    |   26 ++----
 8 files changed, 71 insertions(+), 114 deletions(-)

diff --git a/src/menu/components/card/cardcellcomponent/dragaction/card.jsx b/src/menu/components/card/cardcellcomponent/dragaction/card.jsx
index 34fbe37..4cbb8a3 100644
--- a/src/menu/components/card/cardcellcomponent/dragaction/card.jsx
+++ b/src/menu/components/card/cardcellcomponent/dragaction/card.jsx
@@ -219,9 +219,11 @@
     _style_ = {float: 'right'}
   }
 
-  let tableHCell = false
+  let mark = ['text', 'number', 'slider', 'sequence', 'formula'].includes(card.eleType)
   if (parent.setting && parent.setting.cardRole === 'header') {
-    tableHCell = true
+    mark = false
+  } else if (card.eleType === 'formula' && card.eval === 'func') {
+    mark = false
   }
 
   return (
@@ -231,7 +233,7 @@
         <CopyOutlined className="copy" title="澶嶅埗" onClick={() => copyCard(id)} />
         <CloseOutlined className="close" title="鍒犻櫎" onClick={() => delCard(id)} />
         <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => changeStyle(id)}/>
-        {['text', 'number', 'slider', 'sequence', 'formula'].includes(card.eleType) && !tableHCell ? <MarkColumn field={card.field || ''} columns={fields} type={card.eleType} marks={card.marks} onSubmit={(vals) => updateMarks({...card, marks: vals})} /> : null }
+        {mark ? <MarkColumn field={card.field || ''} columns={fields} type={card.eleType} marks={card.marks} onSubmit={(vals) => updateMarks({...card, marks: vals})} /> : null }
       </div>
     } trigger="hover">
       <div ref={node => drag(drop(node))} style={_style_} className={'ant-col card-cell ant-col-' + card.width}>
diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx
index f113cc2..91474ce 100644
--- a/src/menu/components/form/simple-form/index.jsx
+++ b/src/menu/components/form/simple-form/index.jsx
@@ -334,25 +334,22 @@
     let _linkableFields = []
     let _linksupFields = []
     let standardform = null
-
-    let uniq = new Map()
     let index = null
-    uniq.set(_form.field, true)
 
     card.subcards[0].fields.forEach((item, i) => {
       if (_form.uuid === item.uuid) {
         index = i
       }
 
-      if (!item.field) return
+      if (!item.field || _form.field === item.field) return
 
-      if (['text', 'number', 'textarea', 'color'].includes(item.type) && _item.field !== item.field) {
+      if (['text', 'number', 'textarea', 'color'].includes(item.type)) {
         _inputfields.push({
           field: item.field,
           label: item.label
         })
       }
-      if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
+      if (item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
         _tabfields.push({
           field: item.field,
           label: item.label
@@ -375,14 +372,10 @@
 
       if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
 
-      if (!uniq.has(item.field)) {
-        uniq.set(item.field, true)
-
-        _linkableFields.push({
-          field: item.field,
-          label: item.label + '-琛ㄥ崟'
-        })
-      }
+      _linkableFields.push({
+        field: item.field,
+        label: item.label + '-琛ㄥ崟'
+      })
     })
 
     if (index !== null) {
@@ -393,10 +386,9 @@
       }
     }
 
+    let _fields = _linkableFields.map(cell => cell.field)
     card.columns.forEach(col => {
-      if (col.field && !uniq.has(col.field)) {
-        uniq.set(col.field, true)
-
+      if (col.field && !_fields.includes(col.field)) {
         _linkableFields.push({
           field: col.field,
           label: col.label + '-鏄剧ず鍒�'
diff --git a/src/menu/components/form/step-form/index.jsx b/src/menu/components/form/step-form/index.jsx
index 80ae892..09ece7c 100644
--- a/src/menu/components/form/step-form/index.jsx
+++ b/src/menu/components/form/step-form/index.jsx
@@ -435,26 +435,23 @@
     let _linkableFields = []
     let _linksupFields = []
     let standardform = null
-
-    let uniq = new Map()
     let index = null
-    uniq.set(_form.field, true)
 
     group.fields.forEach((item, i) => {
       if (_form.uuid === item.uuid) {
         index = i
       }
 
-      if (!item.field) return
+      if (!item.field || _form.field === item.field) return
 
-      if (['text', 'number', 'textarea', 'color'].includes(item.type) && _item.field !== item.field) {
+      if (['text', 'number', 'textarea', 'color'].includes(item.type)) {
         _inputfields.push({
           field: item.field,
           label: item.label
         })
       }
 
-      if (_item.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
+      if (item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
         _tabfields.push({
           field: item.field,
           label: item.label
@@ -477,14 +474,10 @@
 
       if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
 
-      if (!uniq.has(item.field)) {
-        uniq.set(item.field, true)
-
-        _linkableFields.push({
-          field: item.field,
-          label: item.label + '-琛ㄥ崟'
-        })
-      }
+      _linkableFields.push({
+        field: item.field,
+        label: item.label + '-琛ㄥ崟'
+      })
     })
 
     if (index !== null) {
@@ -495,10 +488,9 @@
       }
     }
 
+    let _fields = _linkableFields.map(cell => cell.field)
     card.columns.forEach(col => {
-      if (col.field && !uniq.has(col.field)) {
-        uniq.set(col.field, true)
-
+      if (col.field && !_fields.includes(col.field)) {
         _linkableFields.push({
           field: col.field,
           label: col.label + '-鏄剧ず鍒�'
diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx
index f3dd1bd..7dfd611 100644
--- a/src/menu/components/form/tab-form/index.jsx
+++ b/src/menu/components/form/tab-form/index.jsx
@@ -441,25 +441,22 @@
     let _linkableFields = []
     let _linksupFields = []
     let standardform = null
-
-    let uniq = new Map()
     let index = null
-    uniq.set(_form.field, true)
 
     group.fields.forEach((item, i) => {
       if (_form.uuid === item.uuid) {
         index = i
       }
 
-      if (!item.field) return
+      if (!item.field || _form.field === item.field) return
 
-      if (['text', 'number', 'textarea', 'color'].includes(item.type) && _item.field !== item.field) {
+      if (['text', 'number', 'textarea', 'color'].includes(item.type)) {
         _inputfields.push({
           field: item.field,
           label: item.label
         })
       }
-      if (_form.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
+      if (item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
         _tabfields.push({
           field: item.field,
           label: item.label
@@ -482,14 +479,10 @@
 
       if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
 
-      if (!uniq.has(item.field)) {
-        uniq.set(item.field, true)
-
-        _linkableFields.push({
-          field: item.field,
-          label: item.label + '-琛ㄥ崟'
-        })
-      }
+      _linkableFields.push({
+        field: item.field,
+        label: item.label + '-琛ㄥ崟'
+      })
     })
 
     if (index !== null) {
@@ -500,10 +493,9 @@
       }
     }
 
+    let _fields = _linkableFields.map(cell => cell.field)
     card.columns.forEach(col => {
-      if (col.field && !uniq.has(col.field)) {
-        uniq.set(col.field, true)
-
+      if (col.field && !_fields.includes(col.field)) {
         _linkableFields.push({
           field: col.field,
           label: col.label + '-鏄剧ず鍒�'
diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx
index 36be738..9791220 100644
--- a/src/menu/modalconfig/index.jsx
+++ b/src/menu/modalconfig/index.jsx
@@ -115,25 +115,22 @@
     let _linkableFields = []
     let _linksupFields = []
     let standardform = null
-
-    let uniq = new Map()
     let index = null
-    uniq.set(card.field, true)
 
     config.fields.forEach((item, i) => {
       if (card.uuid === item.uuid) {
         index = i
       }
 
-      if (!item.field) return
+      if (!item.field || card.field === item.field) return
 
-      if (['text', 'number', 'textarea', 'color'].includes(item.type) && card.field !== item.field) {
+      if (['text', 'number', 'textarea', 'color'].includes(item.type)) {
         _inputfields.push({
           field: item.field,
           label: item.label
         })
       }
-      if (card.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
+      if (item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
         _tabfields.push({
           field: item.field,
           label: item.label
@@ -156,14 +153,10 @@
 
       if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
 
-      if (!uniq.has(item.field)) {
-        uniq.set(item.field, true)
-
-        _linkableFields.push({
-          field: item.field,
-          label: item.label + '-琛ㄥ崟'
-        })
-      }
+      _linkableFields.push({
+        field: item.field,
+        label: item.label + '-琛ㄥ崟'
+      })
     })
     if (index !== null) {
       if (index === 0) {
@@ -178,10 +171,9 @@
       columns = componentConfig.subColumns || []
     }
 
+    let _fields = _linkableFields.map(cell => cell.field)
     columns.forEach(col => {
-      if (col.field && !uniq.has(col.field)) {
-        uniq.set(col.field, true)
-
+      if (col.field && !_fields.includes(col.field)) {
         _linkableFields.push({
           field: col.field,
           label: col.label + '-鏄剧ず鍒�'
diff --git a/src/mob/modalconfig/index.jsx b/src/mob/modalconfig/index.jsx
index 9352857..c33da82 100644
--- a/src/mob/modalconfig/index.jsx
+++ b/src/mob/modalconfig/index.jsx
@@ -137,25 +137,22 @@
     let _linkableFields = []
     let _linksupFields = []
     let standardform = null
-
-    let uniq = new Map()
     let index = null
-    uniq.set(card.field, true)
 
     config.fields.forEach((item, i) => {
       if (card.uuid === item.uuid) {
         index = i
       }
 
-      if (!item.field) return
+      if (!item.field || card.field === item.field) return
 
-      if (['text', 'number', 'textarea', 'color'].includes(item.type) && card.field !== item.field) {
+      if (['text', 'number', 'textarea', 'color'].includes(item.type)) {
         _inputfields.push({
           field: item.field,
           label: item.label
         })
       }
-      if (card.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
+      if (item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
         _tabfields.push({
           field: item.field,
           label: item.label
@@ -178,14 +175,10 @@
 
       if (item.type === 'checkcard' && item.multiple === 'true') return
 
-      if (!uniq.has(item.field)) {
-        uniq.set(item.field, true)
-
-        _linkableFields.push({
-          field: item.field,
-          label: item.label + '-琛ㄥ崟'
-        })
-      }
+      _linkableFields.push({
+        field: item.field,
+        label: item.label + '-琛ㄥ崟'
+      })
     })
 
     if (index !== null) {
@@ -201,10 +194,9 @@
       columns = componentConfig.subColumns || []
     }
 
+    let _fields = _linkableFields.map(cell => cell.field)
     columns.forEach(col => {
-      if (col.field && !uniq.has(col.field)) {
-        uniq.set(col.field, true)
-
+      if (col.field && !_fields.includes(col.field)) {
         _linkableFields.push({
           field: col.field,
           label: col.label + '-鏄剧ず鍒�'
diff --git a/src/tabviews/custom/components/card/cardcellList/index.jsx b/src/tabviews/custom/components/card/cardcellList/index.jsx
index 42ff8eb..7c6d11e 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.jsx
+++ b/src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -823,6 +823,15 @@
 
         if (!val && card.noValue === 'hide') { // 绌哄�奸殣钘�
           return null
+        } else if (card.eval === 'func') {
+          contents.push(
+            <div className={'ant-col ant-col-' + card.width} key={card.uuid} style={_style_} span={card.width}>
+              <div style={_style}>
+                <div className={'ant-mk-text line' + (card.height || '')} style={{height: card.innerHeight}} dangerouslySetInnerHTML={{__html: val}}></div>
+              </div>
+            </div>
+          )
+          return
         }
 
         if (card.round && typeof(val) === 'number') {
@@ -830,9 +839,7 @@
           val = val.toFixed(card.decimal)
         }
   
-        if (card.eval === 'func') {
-          val = <span dangerouslySetInnerHTML={{__html: val}}></span>
-        } else if (val !== '') {
+        if (val !== '') {
           if (val && typeof(val) === 'string') {
             val = val.replace(/\n/ig, '<br/>')
             if (!/<(span|div|p|a|img)\s/g.test(val)) {
diff --git a/src/templates/modalconfig/index.jsx b/src/templates/modalconfig/index.jsx
index 5e51140..631db62 100644
--- a/src/templates/modalconfig/index.jsx
+++ b/src/templates/modalconfig/index.jsx
@@ -245,25 +245,22 @@
     let _linkableFields = []
     let _linksupFields = []
     let standardform = null
-
-    let uniq = new Map()
     let index = null
-    uniq.set(card.field, true)
 
     config.fields.forEach((item, i) => {
       if (card.uuid === item.uuid) {
         index = i
       }
 
-      if (!item.field) return
+      if (!item.field || card.field === item.field) return
 
-      if (['text', 'number', 'textarea', 'color'].includes(item.type) && card.field !== item.field) {
+      if (['text', 'number', 'textarea', 'color'].includes(item.type)) {
         _inputfields.push({
           field: item.field,
           label: item.label
         })
       }
-      if (card.field !== item.field && item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
+      if (item.hidden !== 'true' && ['text', 'number', 'select', 'link'].includes(item.type)) {
         _tabfields.push({
           field: item.field,
           label: item.label
@@ -286,14 +283,10 @@
 
       if (item.type === 'multiselect' || (item.type === 'checkcard' && item.multiple === 'true')) return
 
-      if (!uniq.has(item.field)) {
-        uniq.set(item.field, true)
-
-        _linkableFields.push({
-          field: item.field,
-          label: item.label + '-琛ㄥ崟'
-        })
-      }
+      _linkableFields.push({
+        field: item.field,
+        label: item.label + '-琛ㄥ崟'
+      })
     })
 
     if (index !== null) {
@@ -304,11 +297,10 @@
       }
     }
 
+    let _fields = _linkableFields.map(cell => cell.field)
     if (subTabConfig) {
       subTabConfig.columns.forEach(col => {
-        if (col.field && !uniq.has(col.field)) {
-          uniq.set(col.field, true)
-
+        if (col.field && !_fields.includes(col.field)) {
           _linkableFields.push({
             field: col.field,
             label: col.label + '-鏄剧ず鍒�'
@@ -317,9 +309,7 @@
       })
     } else if (tabConfig) {
       tabConfig.columns.forEach(col => {
-        if (col.field && !uniq.has(col.field)) {
-          uniq.set(col.field, true)
-
+        if (col.field && !_fields.includes(col.field)) {
           _linkableFields.push({
             field: col.field,
             label: col.label + '-鏄剧ず鍒�'
@@ -328,9 +318,7 @@
       })
     } else if (menu.LongParam) {
       menu.LongParam.columns.forEach(col => {
-        if (col.field && !uniq.has(col.field)) {
-          uniq.set(col.field, true)
-
+        if (col.field && !_fields.includes(col.field)) {
           _linkableFields.push({
             field: col.field,
             label: col.label + '-鏄剧ず鍒�'

--
Gitblit v1.8.0