From 432b788acf901b0720184b8ee8bc81a2e6fa47e0 Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期二, 28 九月 2021 18:22:02 +0800
Subject: [PATCH] 2021-09-28

---
 src/menu/components/table/normal-table/columns/index.jsx |   37 +++++++++++++++++++++++++++----------
 1 files changed, 27 insertions(+), 10 deletions(-)

diff --git a/src/menu/components/table/normal-table/columns/index.jsx b/src/menu/components/table/normal-table/columns/index.jsx
index cf22a7d..c347313 100644
--- a/src/menu/components/table/normal-table/columns/index.jsx
+++ b/src/menu/components/table/normal-table/columns/index.jsx
@@ -53,7 +53,7 @@
 
     if (index !== undefined) {
       return connectDragSource(
-        connectDropTarget(<th {...restProps} index={index} style={{ cursor: 'move', textAlign: align }}>
+        connectDropTarget(<th {...restProps} index={index} style={{ cursor: 'move', textAlign: align }} onDoubleClick={() => column && this.props.editColumn(column)}>
           <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
             <div className="mk-popover-control">
               {column && ['custom', 'colspan', 'action'].includes(column.type) ?
@@ -71,7 +71,7 @@
       )
     } else if (column) {
       return (
-        <th {...restProps} key={column.uuid}>
+        <th {...restProps} key={column.uuid} onDoubleClick={() => this.props.editColumn(column)}>
           <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={
             <div className="mk-popover-control">
               {column && ['custom', 'colspan'].includes(column.type) ?
@@ -123,9 +123,9 @@
 )
 
 class EditableColumnCell extends Component {
-  updateCard = (vals, action) => {
+  updateCard = (vals, btn) => {
     const { column } = this.props
-    this.props.upComponent({...column, elements: vals}, action)
+    this.props.upComponent({...column, elements: vals}, btn)
   }
 
   shouldComponentUpdate (nextProps, nextState) {
@@ -158,6 +158,7 @@
       return (
         <td style={{...style, minWidth: column.Width || 100}} className={className}>
           {column.field || (column.type === 'index' ? '$Index' : '')}
+          {column.Hide === 'true' ? <Icon style={{marginLeft: '5px', color: 'orange', fontSize: '12px'}} type="close-circle" /> : null}
           {column.marks && column.marks.length ? <Icon className="profile" type="ant-design"/> : null}
         </td>
       )
@@ -268,18 +269,19 @@
     })
   }
 
-  updateCol = (col, action) => {
+  updateCol = (col, btn) => {
     let _columns = fromJS(this.state.columns).toJS()
     _columns = this.loopCol(_columns, col)
 
     this.setState({
       columns: _columns,
     }, () => {
-      if (action) {
-        this.props.updatecolumn({...this.props.config, cols: _columns, action})
-      } else {
-        this.props.updatecolumn({...this.props.config, cols: _columns})
+      let config = {...this.props.config, cols: _columns}
+      if (btn) {
+        config.action = config.action.filter(item => item.uuid !== btn.uuid)
       }
+
+      this.props.updatecolumn(config)
     })
   }
 
@@ -303,7 +305,7 @@
       })
       this.updateCol(column)
     } else if (column.type === 'custom') {
-      let newcard = {uuid: Utils.getuuid(), focus: true, eleType: 'text', datatype: 'dynamic'}
+      let newcard = {uuid: Utils.getuuid(), focus: true, eleType: 'text', datatype: 'dynamic', style: {paddingLeft: '4px'}}
   
       // 娉ㄥ唽浜嬩欢-娣诲姞鍏冪礌
       MKEmitter.emit('cardAddElement', [config.uuid, column.uuid], newcard)
@@ -511,6 +513,20 @@
     })
   }
 
+  clear = () => {
+    const _this = this
+
+    confirm({
+      content: '纭畾娓呯┖鏄剧ず鍒楀悧锛�',
+      onOk() {
+        _this.setState({columns: []}, () => {
+          _this.props.updatecolumn({..._this.props.config, cols: []})
+        })
+      },
+      onCancel() {}
+    })
+  }
+
   componentDidMount () {
     MKEmitter.addListener('submitStyle', this.getStyle)
   }
@@ -553,6 +569,7 @@
           <Icon title="澶嶅埗鏄剧ず鍒�" type="copy" onClick={this.copycolumn} />
           <MarkColumn columns={fields} type="line" marks={lineMarks} onSubmit={this.updateLineMarks} />
           <Icon title="鍚屾瀛楁闆�" type="file-sync" onClick={this.syncfield} />
+          <Icon title="娓呯┖鏄剧ず鍒�" type="delete" onClick={this.clear}/>
         </div>
         <DndProvider>
           <Table

--
Gitblit v1.8.0