From d38dc481492878c04ddf2d6bc2e9bf7d44c57fd7 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 23 十二月 2019 18:29:38 +0800
Subject: [PATCH] 2019-12-23

---
 src/templates/comtableconfig/tabform/index.jsx |   91 +++++++++++++++++++++++++++++++++++----------
 1 files changed, 70 insertions(+), 21 deletions(-)

diff --git a/src/templates/comtableconfig/tabform/index.jsx b/src/templates/comtableconfig/tabform/index.jsx
index e6b8254..d338f64 100644
--- a/src/templates/comtableconfig/tabform/index.jsx
+++ b/src/templates/comtableconfig/tabform/index.jsx
@@ -7,6 +7,7 @@
 
 class MainTab extends Component {
   static propTpyes = {
+    tabs: PropTypes.array,   // 绫诲瀷
     type: PropTypes.string,  // 绫诲瀷
     dict: PropTypes.object,  // 瀛楀吀椤�
     formlist: PropTypes.any, // 琛ㄥ崟
@@ -14,7 +15,7 @@
   }
 
   state = {
-    formlist: null           // 琛ㄥ崟
+    formlist: null // 琛ㄥ崟
   }
 
   /**
@@ -22,11 +23,30 @@
    */
   UNSAFE_componentWillMount () {
     const { formlist } = this.props
+
     let type = formlist.filter(cell => cell.key === 'type')[0].initVal
-    console.log(type)
-    
+    let _initval = formlist.filter(cell => cell.key === 'linkTab')[0].initVal
+
+    let _tabs = this.props.tabs.filter(tab => tab.type === type)
+    let initTab = _tabs.filter(tab => tab.uuid === _initval)[0]
+    console.log(_tabs)
     this.setState({
-      formlist: formlist
+      formlist: formlist.map(item => {
+        if (item.key === 'linkTab') {
+          item.options = [
+            {
+              value: '',
+              text: '鏂板缓'
+            },
+            ..._tabs
+          ]
+          if (!initTab) {
+            item.initVal = ''
+          }
+        }
+
+        return item
+      })
     })
   }
 
@@ -34,22 +54,51 @@
    * @description 鏍囩椤电被鍨嬪垏鎹�
    */
   openTypeChange = (key, value) => {
-    console.log(value)
-    // if (key === 'type') {
-    //   console.log(value)
+    const { formlist } = this.state
 
-    //   this.setState({
-    //     formlist: this.state.formlist.map(form => {
-    //       return form
-    //     })
-    //   }, () => {
-    //     this.setState({
-    //       formlist: this.state.formlist.map(form => {
-    //         return form
-    //       })
-    //     })
-    //   })
-    // }
+    if (key === 'type') {
+      let _tabs = this.props.tabs.filter(tab => tab.type === value)
+
+      this.setState({
+        formlist: formlist.map(item => {
+          if (item.key === 'linkTab') {
+            item.options = [
+              {
+                value: '',
+                text: '鏂板缓'
+              },
+              ..._tabs
+            ]
+            item.initVal = ''
+            item.hidden = true
+          }
+          return item
+        })
+      }, () => {
+        this.setState({
+          formlist: this.state.formlist.map(item => {
+            if (item.key === 'linkTab') {
+              item.hidden = false
+            }
+            return item
+          })
+        })
+      })
+
+      console.log(value)
+
+      this.setState({
+        formlist: this.state.formlist.map(form => {
+          return form
+        })
+      }, () => {
+        this.setState({
+          formlist: this.state.formlist.map(form => {
+            return form
+          })
+        })
+      })
+    }
   }
 
   getFields() {
@@ -94,7 +143,7 @@
                   onChange={(value) => {this.openTypeChange(item.key, value)}}
                 >
                   {item.options.map((option, i) =>
-                    <Select.Option id={`${i}`} title={option.text} key={`${i}`} value={option.value}>
+                    <Select.Option id={'mk' + i} title={option.text} key={'mk' + i} value={option.value}>
                       {item.key === 'icon' && i !== 0 ? <Icon type={option.text} /> : option.text}
                     </Select.Option>
                   )}
@@ -118,7 +167,7 @@
           values.uuid = this.props.card.uuid
 
           if (!values.linkTab) { // 娌℃湁鍏宠仈鏍囩锛堟柊寤烘椂锛夛紝鍒涘缓鏂版爣绛綢d
-            values.linkId = Utils.getuuid()
+            values.linkTab = Utils.getuuid()
           }
 
           resolve({

--
Gitblit v1.8.0