From 76a4300654a18d228838c3f27455dc8e7a8cd616 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期五, 15 一月 2021 17:04:42 +0800
Subject: [PATCH] Merge branch 'master' into bms

---
 src/menu/components/card/cardcellcomponent/index.jsx |   56 +++++++++++++++++++++++++++++++++++++++++++-------------
 1 files changed, 43 insertions(+), 13 deletions(-)

diff --git a/src/menu/components/card/cardcellcomponent/index.jsx b/src/menu/components/card/cardcellcomponent/index.jsx
index 7388b7d..1eb0989 100644
--- a/src/menu/components/card/cardcellcomponent/index.jsx
+++ b/src/menu/components/card/cardcellcomponent/index.jsx
@@ -59,6 +59,7 @@
     MKEmitter.addListener('cardAddElement', this.cardAddElement)
     MKEmitter.addListener('submitStyle', this.getStyle)
     MKEmitter.addListener('submitModal', this.handleSave)
+    MKEmitter.addListener('submitComponentStyle', this.updateComponentStyle)
   }
 
   shouldComponentUpdate (nextProps, nextState) {
@@ -87,6 +88,28 @@
     MKEmitter.removeListener('cardAddElement', this.cardAddElement)
     MKEmitter.removeListener('submitStyle', this.getStyle)
     MKEmitter.removeListener('submitModal', this.handleSave)
+    MKEmitter.removeListener('submitComponentStyle', this.updateComponentStyle)
+  }
+
+  updateComponentStyle = (parentId, keys, style) => {
+    const { cardCell } = this.props
+
+    if (!cardCell || cardCell.uuid !== parentId) return
+
+    const { elements } = this.state
+
+    let _elements = elements.map(item => {
+      if (keys.includes(item.uuid)) {
+        return this.resetCardStyle(item, {...item.style, ...style})
+      }
+      return item
+    })
+
+    this.setState({
+      elements: _elements
+    }, () => {
+      this.props.updateElement(_elements)
+    })
   }
 
   cardAddElement = (ids, element) => {
@@ -132,6 +155,21 @@
 
     if (comIds.length !== 3 || comIds[0] !== cards.uuid || comIds[1] !== cardCell.uuid) return
 
+    let _card = this.resetCardStyle(card, style)
+
+    let _elements = elements.map(cell => {
+      if (cell.uuid === _card.uuid) return _card
+      return cell
+    })
+
+    this.setState({
+      elements: _elements
+    }, () => {
+      this.props.updateElement(_elements)
+    })
+  }
+
+  resetCardStyle = (card, style) => {
     let _card = fromJS(card).toJS()
     
     if (_card.eleType === 'text' || _card.eleType === 'number') {
@@ -205,16 +243,7 @@
       _card.style = style
     }
 
-    let _elements = elements.map(cell => {
-      if (cell.uuid === _card.uuid) return _card
-      return cell
-    })
-
-    this.setState({
-      elements: _elements
-    }, () => {
-      this.props.updateElement(_elements)
-    })
+    return _card
   }
 
   /**
@@ -471,12 +500,12 @@
     const { cards } = this.props
     let btn = fromJS(item).toJS()
 
-    if (btn.eleType !== 'button') return
+    if (btn.eleType !== 'button' || (sessionStorage.getItem('style-control') && sessionStorage.getItem('style-control') !== 'false')) return
 
     if (btn.OpenType === 'pop') {
       if (!btn.modal) {
         btn.modal = {
-          setting: { title: btn.label, width: 60, cols: '2', container: 'tab', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' },
+          setting: { title: btn.label, width: 60, cols: '2', container: 'view', focus: '', finish: 'close', clickouter: 'unclose', display: 'modal' },
           tables: [],
           groups: [],
           fields: []
@@ -549,13 +578,14 @@
   }
 
   render() {
-    const { cards } = this.props
+    const { cards, cardCell } = this.props
     const { elements, visible, actvisible, profVisible, card, dict } = this.state
 
     return (
       <div className="model-menu-card-cell-list">
         <DragElement
           list={elements}
+          parent={{...cardCell, components: elements}}
           fields={cards.columns}
           updateMarks={this.updateMarks}
           handleList={this.handleList}

--
Gitblit v1.8.0