From 89e7167a83e0d8409ca87698e4c08651a37cc26e Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 12 六月 2020 18:19:35 +0800
Subject: [PATCH] 2020-06-12

---
 src/templates/sharecomponent/actioncomponent/actionform/index.jsx |   45 ++++++++++++++++++++++++++++++++++-----------
 1 files changed, 34 insertions(+), 11 deletions(-)

diff --git a/src/templates/sharecomponent/actioncomponent/actionform/index.jsx b/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
index 329d0c8..4677c2e 100644
--- a/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
+++ b/src/templates/sharecomponent/actioncomponent/actionform/index.jsx
@@ -74,14 +74,18 @@
 
     if (card.execMode) {           // 杞崲鎵撳嵃鏃舵墦寮�鏂瑰紡
       _opentype = 'funcbutton'
+    } else if (_opentype === 'outerpage') {
+      card.pageTemplate = 'custom'
+      _opentype = 'innerpage'
     }
 
     let _tabs = this.props.tabs.filter(tab => tab.type === _tabType)
 
-    if (_opentype === 'innerpage') {                                     // 鏂伴〉闈紙鍐呴儴锛夛紝鍙�夋ā鏉�
+    if (_opentype === 'innerpage') {                                     // 鏂伴〉闈紝鍙�夋ā鏉�(鑷畾涔夋椂锛屽彲濉叆澶栭儴閾炬帴)
       _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'icon', 'class', 'position']
-    } else if (_opentype === 'outerpage') {                              // 鏂伴〉闈紙澶栭儴锛夛紝闇�瑕侀〉闈㈠湴鍧�
-      _options = ['label', 'Ot', 'OpenType', 'url', 'icon', 'class', 'position']
+      if (card.pageTemplate === 'custom') {
+        _options.push('url')
+      }
     } else if (_opentype === 'blank' || _opentype === 'tab') {           // 鏂版爣绛炬垨褰撳墠椤甸潰鏇挎崲
       _options = ['label', 'Ot', 'OpenType', 'icon', 'class', 'position', 'tabTemplate']
     } else if (_opentype === 'popview') {                                // 妯℃�佹鏍囩椤�
@@ -128,9 +132,9 @@
         } else if (item.key === 'icon') {
           item.options = btnIcons
         } else if (item.key === 'Ot') {
-          if (_opentype === 'innerpage' || card.position === 'grid') {
+          if (card.position === 'grid') {
             item.options = this.state.requireOptions.filter(op => ['requiredSgl'].includes(op.value))
-          } else if (['outerpage', 'blank', 'tab', 'popview', 'excelIn'].includes(_opentype)) {
+          } else if (['innerpage', 'blank', 'tab', 'popview', 'excelIn'].includes(_opentype)) {
             item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
           } else if (card.sqlType === 'insert') {
             item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl', 'required'].includes(op.value))
@@ -181,12 +185,15 @@
    * 3銆佸垏鎹㈡爣绛剧被鍨嬶紝閲嶇疆鍙�夋爣绛�
    */
   openTypeChange = (key, value) => {
+    const { card } = this.props
+
     if (key === 'OpenType') {
       let _options = null
       if (value === 'innerpage') {
         _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'icon', 'class', 'position']
-      } else if (value === 'outerpage') {
-        _options = ['label', 'Ot', 'OpenType', 'url', 'icon', 'class', 'position']
+        if (card.pageTemplate === 'custom') {
+          _options.push('url')
+        }
       } else if (value === 'blank' || value === 'tab') {
         _options = ['label', 'Ot', 'OpenType', 'icon', 'class', 'position', 'tabTemplate']
       } else if (value === 'popview') {
@@ -233,10 +240,10 @@
         if (item.key === 'intertype') {
           _fieldval.intertype = this.state.interType
         } else if (item.key === 'Ot') {
-          if (value === 'innerpage' || this.state.position === 'grid') {
+          if (this.state.position === 'grid') {
             item.options = this.state.requireOptions.filter(op => ['requiredSgl'].includes(op.value))
             _fieldval.Ot = 'requiredSgl'
-          } else if (['outerpage', 'blank', 'tab', 'popview'].includes(value)) {
+          } else if (['innerpage', 'blank', 'tab', 'popview'].includes(value)) {
             item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
             _fieldval.Ot = 'requiredSgl'
           } else if (value === 'excelIn') {
@@ -278,10 +285,10 @@
         position: value,
         formlist: this.state.formlist.map(item => {
           if (item.key === 'Ot') {
-            if (this.state.openType === 'innerpage' || value === 'grid') {
+            if (value === 'grid') {
               item.options = this.state.requireOptions.filter(op => ['requiredSgl'].includes(op.value))
               _fieldval.Ot = 'requiredSgl'
-            } else if (['outerpage', 'blank', 'tab', 'popview'].includes(this.state.openType)) {
+            } else if (['innerpage', 'blank', 'tab', 'popview'].includes(this.state.openType)) {
               item.options = this.state.requireOptions.filter(op => ['notRequired', 'requiredSgl'].includes(op.value))
               _fieldval.Ot = 'requiredSgl'
             } else {
@@ -372,6 +379,22 @@
 
         this.props.form.setFieldsValue(_fieldval)
       })
+    } else if (key === 'pageTemplate') {
+      let _options = null
+      if (value === 'custom') {
+        _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'url', 'icon', 'class', 'position']
+      } else {
+        _options = ['label', 'Ot', 'OpenType', 'pageTemplate', 'icon', 'class', 'position']
+      }
+
+      this.setState({
+        openType: value,
+        formlist: this.state.formlist.map(item => {
+          item.hidden = !_options.includes(item.key)
+  
+          return item
+        })
+      })
     }
   }
 

--
Gitblit v1.8.0