From 2f54651464414059b224181d713af2980e76d095 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期日, 09 十月 2022 19:35:39 +0800
Subject: [PATCH] 2020-10-09

---
 src/menu/components/card/prop-card/index.jsx |   50 +++++++++++++++++++++++++++++++++++---------------
 1 files changed, 35 insertions(+), 15 deletions(-)

diff --git a/src/menu/components/card/prop-card/index.jsx b/src/menu/components/card/prop-card/index.jsx
index 2876dc8..e79cbe6 100644
--- a/src/menu/components/card/prop-card/index.jsx
+++ b/src/menu/components/card/prop-card/index.jsx
@@ -107,6 +107,7 @@
   }
 
   componentDidMount () {
+    MKEmitter.addListener('mkUpdateInter', this.mkUpdateInter)
     MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle)
   }
 
@@ -121,6 +122,7 @@
     this.setState = () => {
       return
     }
+    MKEmitter.removeListener('mkUpdateInter', this.mkUpdateInter)
     MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle)
   }
 
@@ -139,6 +141,20 @@
     this.setState({card: {...card, subcards: []}}, () => {
       this.updateComponent({...card, subcards: subcards})
     })
+  }
+
+  mkUpdateInter = (inter, split) => {
+    const { card } = this.state
+    
+    if (card.wrap.datatype === 'public' && card.wrap.publicId === inter.uuid) {
+      let _card = {...card, columns: fromJS(inter.columns).toJS()}
+
+      split.delay = split.delay + 10
+
+      setTimeout(() => {
+        this.updateComponent(_card)
+      }, split.delay)
+    }
   }
 
   /**
@@ -208,22 +224,20 @@
         }
       })
     } else {
-      // if (card.wrap.datatype === 'dynamic') {
-
-      // }
-
       let columns = card.columns.map(c => c.field)
 
-      if (card.setting.interType === 'system' && card.setting.execute !== 'false' && !card.setting.dataresource) {
-        card.errors.push({ level: 0, detail: '鏈缃暟鎹簮锛�'})
-      } else if (card.setting.interType === 'system' && card.setting.execute === 'false' && card.scripts.filter(script => script.status !== 'false').length === 0) {
-        card.errors.push({ level: 0, detail: '鏁版嵁婧愪腑鏃犲彲鐢ㄨ剼鏈紒'})
-      } else if (!card.setting.primaryKey) {
-        card.errors.push({ level: 0, detail: '鏈缃富閿紒'})
-      } else if (!columns.includes(card.setting.primaryKey)) {
-        card.errors.push({ level: 0, detail: '涓婚敭宸插け鏁堬紒'})
-      } else if (!card.setting.supModule) {
-        card.errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'})
+      if (card.wrap.datatype === 'dynamic') {
+        if (card.setting.interType === 'system' && card.setting.execute !== 'false' && !card.setting.dataresource) {
+          card.errors.push({ level: 0, detail: '鏈缃暟鎹簮锛�'})
+        } else if (card.setting.interType === 'system' && card.setting.execute === 'false' && card.scripts.filter(script => script.status !== 'false').length === 0) {
+          card.errors.push({ level: 0, detail: '鏁版嵁婧愪腑鏃犲彲鐢ㄨ剼鏈紒'})
+        } else if (!card.setting.primaryKey) {
+          card.errors.push({ level: 0, detail: '鏈缃富閿紒'})
+        } else if (!columns.includes(card.setting.primaryKey)) {
+          card.errors.push({ level: 0, detail: '涓婚敭宸插け鏁堬紒'})
+        } else if (!card.setting.supModule) {
+          card.errors.push({ level: 0, detail: '鏈缃笂绾х粍浠讹紒'})
+        }
       }
 
       if (card.errors.length === 0) {
@@ -489,7 +503,13 @@
         _card.setting.supModule = ''
       }
     } else if (res.datatype === 'public') {
-      // let interfaces = window.GLOB.customMenu.interfaces || []
+      let interfaces = window.GLOB.customMenu.interfaces || []
+
+      let d = interfaces.filter(m => m.uuid === res.publicId && m.status === 'true')[0]
+
+      if (d) {
+        _card.columns = fromJS(d.columns).toJS()
+      }
     }
 
     if (res.layout === 'flex') {

--
Gitblit v1.8.0