From 526d2be8959e6e99c1afd31cf213f0f1e7a56a8b Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 26 四月 2022 15:43:58 +0800
Subject: [PATCH] 2022-04-26

---
 src/tabviews/custom/components/card/prop-card/index.scss   |   18 ++++
 src/tabviews/custom/components/card/cardcellList/index.jsx |   15 +--
 src/tabviews/custom/components/card/prop-card/index.jsx    |   16 ---
 src/menu/components/tree/antd-tree/index.scss              |    2 
 src/menu/components/card/data-card/options.jsx             |    5 
 src/menu/components/card/prop-card/index.scss              |   18 ++++
 src/menu/components/card/cardcomponent/index.jsx           |    5 
 src/menu/components/card/data-card/index.jsx               |   15 ---
 src/menu/components/card/data-card/index.scss              |   18 ++++
 src/tabviews/custom/components/tree/antd-tree/index.scss   |    3 
 src/menu/components/card/prop-card/index.jsx               |   16 ---
 src/tabviews/custom/components/card/data-card/index.scss   |   18 ++++
 src/menu/datasource/verifycard/index.jsx                   |   23 +++++
 src/tabviews/custom/components/card/data-card/index.jsx    |   28 ------
 14 files changed, 118 insertions(+), 82 deletions(-)

diff --git a/src/menu/components/card/cardcomponent/index.jsx b/src/menu/components/card/cardcomponent/index.jsx
index 7e36906..5554b8f 100644
--- a/src/menu/components/card/cardcomponent/index.jsx
+++ b/src/menu/components/card/cardcomponent/index.jsx
@@ -19,7 +19,6 @@
 
 class CardBoxComponent extends Component {
   static propTpyes = {
-    offset: PropTypes.any,           // 鍋忕Щ閲�
     cards: PropTypes.object,         // 鍗$墖琛岄厤缃俊鎭�
     card: PropTypes.object,          // 鍗$墖閰嶇疆淇℃伅
     move: PropTypes.func,            // 鍗$墖绉诲姩
@@ -320,7 +319,7 @@
   }
 
   render() {
-    const { cards, offset } = this.props
+    const { cards } = this.props
     const { card, elements, side, visible } = this.state
 
     let _style = {...card.style}
@@ -338,7 +337,7 @@
     _style = resetStyle(_style)
 
     return (
-      <Col span={card.setting.width || 6} offset={offset || 0}>
+      <Col span={card.setting.width || 6}>
         <div className={'card-item ' + (card.setting.btnControl || '')} style={_style} onClick={this.clickComponent} onDoubleClick={(e) => {e.stopPropagation(); this.doubleClickCard()}} id={card.uuid}>
           <CardCellComponent cards={cards} cardCell={card} side={side} elements={elements} updateElement={this.updateCard}/>
           <div className="card-control" onDoubleClick={(e) => e.stopPropagation()}>
diff --git a/src/menu/components/card/data-card/index.jsx b/src/menu/components/card/data-card/index.jsx
index 4b81300..7b10cf3 100644
--- a/src/menu/components/card/data-card/index.jsx
+++ b/src/menu/components/card/data-card/index.jsx
@@ -643,17 +643,6 @@
   render() {
     const { card, appType } = this.state
 
-    let offset = 0
-    if (card.wrap.cardFloat && card.wrap.cardFloat !== 'left') {
-      let _width = 0
-      card.subcards.forEach(card => {
-        _width += card.setting.width
-      })
-      offset = _width < 24 ? 24 - _width : 0
-      if (card.wrap.cardFloat === 'center') {
-        offset = Math.floor(offset / 2)
-      }
-    }
     let _style = resetStyle(card.style)
 
     return (
@@ -679,7 +668,9 @@
           <ToolOutlined />
         </Popover>
         <ActionComponent config={card} type="datacard" setSubConfig={this.setSubConfig} updateaction={this.updateComponent}/>
-        {card.subcards.map((subcard, index) => (<CardComponent key={subcard.uuid} offset={!index ? offset : 0} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
+        <div className={'float-' + (card.wrap.cardFloat || 'left')}>
+          {card.subcards.map((subcard, index) => (<CardComponent key={subcard.uuid} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
+        </div>
         <div style={{clear: 'both'}}></div>
         {card.wrap.pagestyle === 'page' && card.setting.laypage === 'true' && appType !== 'mob' ? <Pagination total={85} size="small" showTotal={total => `鍏� ${total} 鏉} pageSize={20} defaultCurrent={1}/> : null}
         {card.wrap.pagestyle === 'page' && card.setting.laypage === 'true' && appType === 'mob' ? <MobPagination /> : null}
diff --git a/src/menu/components/card/data-card/index.scss b/src/menu/components/card/data-card/index.scss
index 900f85c..c49a471 100644
--- a/src/menu/components/card/data-card/index.scss
+++ b/src/menu/components/card/data-card/index.scss
@@ -91,6 +91,24 @@
       font-size: 16px;
     }
   }
+  .float-center {
+    text-align: center;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
+  .float-right {
+    text-align: right;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
 }
 
 .menu-data-card-edit-box::-webkit-scrollbar {
diff --git a/src/menu/components/card/data-card/options.jsx b/src/menu/components/card/data-card/options.jsx
index 9e8f1b5..913aba8 100644
--- a/src/menu/components/card/data-card/options.jsx
+++ b/src/menu/components/card/data-card/options.jsx
@@ -104,7 +104,8 @@
       ],
       controlFields: subtype !== 'propcard' ? [
         {field: 'printHeight', values: ['flex']},
-      ] : [],
+        {field: 'cardFloat', values: ['grid']},
+      ] : [{field: 'cardFloat', values: ['grid']}],
       forbid: subtype === 'tablecard'
     },
     {
@@ -202,7 +203,7 @@
       field: 'cardFloat',
       label: '瀵归綈鏂瑰紡',
       initval: wrap.cardFloat || 'left',
-      tooltip: '璁剧疆涓哄眳涓榻愭垨鍙冲榻愶紝鍙湪鍗$墖涓�1琛屾椂鏈夋晥銆�',
+      tooltip: '璁剧疆鍗$墖鐨勫榻愭柟寮忋��',
       required: false,
       options: [
         {value: 'left', label: '宸﹀榻�'},
diff --git a/src/menu/components/card/prop-card/index.jsx b/src/menu/components/card/prop-card/index.jsx
index 280f2d7..b42cc9a 100644
--- a/src/menu/components/card/prop-card/index.jsx
+++ b/src/menu/components/card/prop-card/index.jsx
@@ -467,18 +467,6 @@
   render() {
     const { card } = this.state
 
-    let offset = 0
-    if (card.wrap.cardFloat && card.wrap.cardFloat !== 'left') {
-      let _width = 0
-      card.subcards.forEach(card => {
-        _width += card.setting.width
-      })
-      offset = _width < 24 ? 24 - _width : 0
-      if (card.wrap.cardFloat === 'center') {
-        offset = Math.floor(offset / 2)
-      }
-    }
-
     let _style = resetStyle(card.style)
 
     return (
@@ -503,8 +491,8 @@
         } trigger="hover">
           <ToolOutlined />
         </Popover>
-        <div className={(card.wrap.layout || 'grid') + '-layout'}>
-          {card.subcards.map((subcard, index) => (<CardComponent key={subcard.uuid} offset={!index ? offset : 0} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
+        <div className={(card.wrap.layout || 'grid') + '-layout float-' + (card.wrap.cardFloat || 'left')}>
+          {card.subcards.map(subcard => (<CardComponent key={subcard.uuid} cards={card} card={subcard} move={this.move} updateElement={this.updateCard} deleteElement={this.deleteCard}/>))}
         </div>
       </div>
     )
diff --git a/src/menu/components/card/prop-card/index.scss b/src/menu/components/card/prop-card/index.scss
index 025f29a..f8633d4 100644
--- a/src/menu/components/card/prop-card/index.scss
+++ b/src/menu/components/card/prop-card/index.scss
@@ -79,6 +79,24 @@
       flex: 1;
     }
   }
+  .float-center {
+    text-align: center;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
+  .float-right {
+    text-align: right;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
 }
 .menu-prop-card-edit-box::after {
   display: block;
diff --git a/src/menu/components/tree/antd-tree/index.scss b/src/menu/components/tree/antd-tree/index.scss
index ff7b7fb..a1255ef 100644
--- a/src/menu/components/tree/antd-tree/index.scss
+++ b/src/menu/components/tree/antd-tree/index.scss
@@ -5,7 +5,7 @@
   background-position: center center;
   background-repeat: no-repeat;
   background-size: cover;
-  min-height: 50px;
+  min-height: 100px;
   overflow-y: auto;
 
   .anticon-tool {
diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx
index 09277c8..51338af 100644
--- a/src/menu/datasource/verifycard/index.jsx
+++ b/src/menu/datasource/verifycard/index.jsx
@@ -379,6 +379,18 @@
         this.setState({loading: false})
       })
     } else if (activeKey === 'columns') {
+      if (this.datasource && this.datasource.state.editingKey) {
+        notification.warning({
+          top: 92,
+          message: '瀛楁鏈繚瀛橈紝璇蜂繚瀛樺悗鍒囨崲锛�',
+          duration: 5
+        })
+        this.setState({
+          loading: false
+        })
+        return
+      }
+
       this.setState({
         activeKey: val,
         loading: false
@@ -508,6 +520,15 @@
           reject()
         })
       } else if (activeKey === 'columns') {
+        if (this.datasource && this.datasource.state.editingKey) {
+          notification.warning({
+            top: 92,
+            message: '瀛楁鏈繚瀛橈紝璇蜂繚瀛樺悗鎻愪氦锛�',
+            duration: 5
+          })
+          reject()
+          return
+        }
         this.sqlverify(() => { resolve({setting, columns, scripts }) }, reject, false)
       } else if (activeKey === 'scripts') {
         let _loading = false
@@ -674,7 +695,7 @@
               updatefield={this.updatefields}
             />
             <CopyOutlined title="浠ラ�楀彿鎷兼帴褰㈠紡澶嶅埗瀛楁" onClick={this.copyColumns} style={{position: 'absolute', cursor: 'pointer', zIndex: 1, top: '-35px', right: '0px', color: '#1890ff'}} />
-            <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} type="datasourcefield" data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/>
+            <EditTable actions={['edit', 'move', 'copy', 'del', 'clear']} type="datasourcefield" wrappedComponentRef={(inst) => this.datasource = inst} data={columns} columns={colColumns} onChange={(columns) => this.setState({columns})}/>
           </TabPane>
           <TabPane tab={
             <span>
diff --git a/src/tabviews/custom/components/card/cardcellList/index.jsx b/src/tabviews/custom/components/card/cardcellList/index.jsx
index 4b3f375..de5702b 100644
--- a/src/tabviews/custom/components/card/cardcellList/index.jsx
+++ b/src/tabviews/custom/components/card/cardcellList/index.jsx
@@ -585,14 +585,13 @@
         </Col>
       )
     } else if (card.eleType === 'currentDate') {
-      let val = card.dateFormat ? moment().format(card.dateFormat) : ''
-      if (val !== '') {
-        if (card.fixStyle === 'alone') {
-          let _s = {fontSize: card.fixSize, color: card.fixColor, marginLeft: card.fixLeft, marginRight: card.fixRight}
-          val = <><span style={_s}>{card.prefix || ''}</span>{val}<span style={_s}>{card.postfix || ''}</span></>
-        } else {
-          val = `${card.prefix || ''}${val}${card.postfix || ''}`
-        }
+      let val = moment().format(card.dateFormat || 'YYYY-MM-DD')
+      
+      if (card.fixStyle === 'alone') {
+        let _s = {fontSize: card.fixSize, color: card.fixColor, marginLeft: card.fixLeft, marginRight: card.fixRight}
+        val = <><span style={_s}>{card.prefix || ''}</span>{val}<span style={_s}>{card.postfix || ''}</span></>
+      } else {
+        val = `${card.prefix || ''}${val}${card.postfix || ''}`
       }
 
       return (
diff --git a/src/tabviews/custom/components/card/data-card/index.jsx b/src/tabviews/custom/components/card/data-card/index.jsx
index 3176642..3b9a2bc 100644
--- a/src/tabviews/custom/components/card/data-card/index.jsx
+++ b/src/tabviews/custom/components/card/data-card/index.jsx
@@ -98,20 +98,6 @@
       _sync = false
     }
 
-    if (_config.wrap.cardFloat && _config.wrap.cardFloat !== 'left') {
-      let _width = 0
-      precards.forEach(card => {
-        _width += card.setting.width
-      })
-      nextcards.forEach(card => {
-        _width += card.setting.width
-      })
-      
-      _config.$offset = _width
-    } else {
-      _config.wrap.cardFloat = null
-    }
-
     let selected = 'false'
     if (_config.wrap.selected === 'always' || _config.wrap.selected === 'init') {
       selected = _config.wrap.selected
@@ -170,7 +156,7 @@
 
     _config.wrap.selStyle = _config.wrap.selStyle || 'active'
     _config.wrap.scale = _config.wrap.scale === 'true' ? 'scale' : ''
-    _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout'
+    _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout float-' + (_config.wrap.cardFloat || 'left')
 
     _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale}`
 
@@ -750,17 +736,6 @@
       _total = config.setting.pageSize * pageIndex
       switchable = true
     }
-    let offset = 0
-
-    if (config.wrap.cardFloat) {
-      let length = data ? data.length : 0
-      if (card.setting.width * length + config.$offset < 24) {
-        offset = 24 - card.setting.width * length - config.$offset
-        if (config.wrap.cardFloat === 'center') {
-          offset = Math.floor(offset / 2)
-        }
-      }
-    }
 
     let extendData = {$$BID: BID, $$BData: BData, $$selectedData: selectedData, $$type: 'extendCard'}
 
@@ -790,7 +765,6 @@
         <div className={`data-zoom ${config.wrap.wrapClass}`}>
           {switchable ? <div className={'prev-page ' + (pageIndex === 1 ? 'disabled' : '')} onClick={this.prevPage}><div><div><img src={preImg} alt=""/></div></div></div> : null}
           <Row className={'card-row-list ' + config.wrap.layout}>
-            {offset ? <Col span={offset} style={{height: '10px'}}> </Col> : null}
             {precards.map((item, index) => (
               <Col key={'pre' + index} className="extend-card" span={item.setting.width || 6}>
                 <CardItem card={item} cards={config} data={extendData}/>
diff --git a/src/tabviews/custom/components/card/data-card/index.scss b/src/tabviews/custom/components/card/data-card/index.scss
index 5e80317..4c1bbb5 100644
--- a/src/tabviews/custom/components/card/data-card/index.scss
+++ b/src/tabviews/custom/components/card/data-card/index.scss
@@ -54,6 +54,24 @@
       flex: 1;
     }
   }
+  .card-row-list.float-center {
+    text-align: center;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
+  .card-row-list.float-right {
+    text-align: right;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
   .card-item-box {
     position: relative;
     background-color: #ffffff;
diff --git a/src/tabviews/custom/components/card/prop-card/index.jsx b/src/tabviews/custom/components/card/prop-card/index.jsx
index 5df7934..921b4a9 100644
--- a/src/tabviews/custom/components/card/prop-card/index.jsx
+++ b/src/tabviews/custom/components/card/prop-card/index.jsx
@@ -72,7 +72,6 @@
       _cols.set(item.field, item)
     })
 
-    let _width = 0
     _config.subcards.forEach(card => {
       if (card.setting.click === 'button' && !card.setting.linkbtn) {
         card.elements.forEach(ele => {
@@ -84,7 +83,6 @@
           card.setting.click = ''
         }
       }
-      _width += card.setting.width
       card.elements = card.elements.map(item => {
         if (item.eleType === 'number' && item.field && _cols.has(item.field) && typeof(item.decimal) !== 'number') {
           item.decimal = _cols.get(item.field).decimal || 0
@@ -99,23 +97,13 @@
       })
     })
 
-    let offset = 0
-    if (_config.wrap.cardFloat && _config.wrap.cardFloat !== 'left' && _width < 24) {
-      offset = 24 - _width
-      if (_config.wrap.cardFloat === 'center') {
-        offset = Math.floor(offset / 2)
-      }
-      _config.subcards[0].offset = offset
-    }
-
     let selected = _config.wrap.selected || 'false'
 
     _config.wrap.selStyle = _config.wrap.selStyle || 'active'
     _config.wrap.priKeyType = _config.wrap.priKeyType || 'static'
     _config.wrap.scale = _config.wrap.scale === 'true' ? 'scale' : ''
-    _config.wrap.layout = (_config.wrap.layout || 'grid') + '-layout'
 
-    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale || ''}`
+    _config.wrap.wrapClass =  `${_config.wrap.selStyle} ${_config.wrap.cardType || ''} ${_config.wrap.scale || ''} ${_config.wrap.layout || 'grid'}-layout float-${_config.wrap.cardFloat || 'left'}`
 
     this.setState({
       selected,
@@ -419,7 +407,7 @@
           </div> : null
         }
         <NormalHeader config={config}/>
-        <Row className={`card-row-list data-zoom ${config.wrap.wrapClass} ${config.wrap.layout}`}>
+        <Row className={`card-row-list data-zoom ${config.wrap.wrapClass}`}>
           {config.subcards.map((item, index) => {
             let className = item.setting.click ? 'mk-card pointer ' : 'mk-card '
             if (activeKey === index) {
diff --git a/src/tabviews/custom/components/card/prop-card/index.scss b/src/tabviews/custom/components/card/prop-card/index.scss
index 03534dc..7b10775 100644
--- a/src/tabviews/custom/components/card/prop-card/index.scss
+++ b/src/tabviews/custom/components/card/prop-card/index.scss
@@ -25,6 +25,24 @@
       flex: 1;
     }
   }
+  .card-row-list.float-center {
+    text-align: center;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
+  .card-row-list.float-right {
+    text-align: right;
+    >.ant-col {
+      display: inline-block;
+      float: none;
+      text-align: left;
+      vertical-align: top;
+    }
+  }
   .card-row-list.scale {
     .mk-card:hover {
       >.card-item-box {
diff --git a/src/tabviews/custom/components/tree/antd-tree/index.scss b/src/tabviews/custom/components/tree/antd-tree/index.scss
index e60ec78..859f346 100644
--- a/src/tabviews/custom/components/tree/antd-tree/index.scss
+++ b/src/tabviews/custom/components/tree/antd-tree/index.scss
@@ -75,6 +75,9 @@
       height: 60px;
     }
   }
+  .tree-header + .ant-empty {
+    margin-top: 35px;
+  }
   .loading-mask {
     position: absolute;
     left: 0px;

--
Gitblit v1.8.0