From af6486b3629d23e426ce85b87dbc20dfa15b1afe Mon Sep 17 00:00:00 2001
From: king <18310653075@163.com>
Date: 星期一, 07 十一月 2022 18:50:27 +0800
Subject: [PATCH] 2022-11-07

---
 src/menu/components/table/base-table/columns/index.jsx |   45 +++++++++++++++++++++++++++++----------------
 1 files changed, 29 insertions(+), 16 deletions(-)

diff --git a/src/menu/components/table/base-table/columns/index.jsx b/src/menu/components/table/base-table/columns/index.jsx
index 58ed260..3aa43cd 100644
--- a/src/menu/components/table/base-table/columns/index.jsx
+++ b/src/menu/components/table/base-table/columns/index.jsx
@@ -2,7 +2,7 @@
 import PropTypes from 'prop-types'
 import { is, fromJS } from 'immutable'
 import { DndProvider, DragSource, DropTarget } from 'react-dnd'
-import { Table, Popover, Modal, message } from 'antd'
+import { Table, Popover, Modal, message, notification } from 'antd'
 import { PlusOutlined, EditOutlined, CopyOutlined, DeleteOutlined, FontColorsOutlined, CloseCircleOutlined, AntDesignOutlined } from '@ant-design/icons'
 
 import asyncComponent from '@/utils/asyncComponent'
@@ -313,6 +313,10 @@
       let config = {...this.props.config, cols: _columns}
       if (btn) {
         config.action = config.action.filter(item => item.uuid !== btn.uuid)
+
+        setTimeout(() => {
+          MKEmitter.emit('revert', config.uuid)
+        }, 200)
       }
 
       this.props.updatecolumn(config)
@@ -371,8 +375,8 @@
     }
   }
 
-  submitCol = (col) => {
-    const { card } = this.state
+  submitCol = (col, resolve) => {
+    const { card, columns } = this.state
 
     col.uuid = card.uuid
     col.isSub = card.isSub === true
@@ -384,6 +388,28 @@
       col.elements = card.type === 'custom' ? (card.elements || []) : []
     } else if (col.type === 'action') {
       col.elements = card.type === 'action' ? (card.elements || []) : []
+    }
+
+    if (!col.field || col.isSub) {
+      resolve()
+    } else {
+      let _cols = []
+      columns.forEach(c => {
+        if (c.field && col.uuid !== c.uuid) {
+          _cols.push(c.field.toLowerCase())
+        }
+      })
+
+      if (_cols.includes(col.field.toLowerCase())) {
+        notification.warning({
+          top: 92,
+          message: '瀛楁宸插瓨鍦紒',
+          duration: 5
+        })
+        return
+      } else {
+        resolve()
+      }
     }
 
     this.setState({card: null})
@@ -435,19 +461,6 @@
     }, () => {
       this.props.updatecolumn({...this.props.config, cols: _columns})
     })
-
-    if (col.type !== 'action') return
-
-    let uuids = []
-    col.elements && col.elements.forEach(c => {
-      if (c.OpenType !== 'popview') return
-
-      uuids.push(c.uuid)
-    })
-
-    if (uuids.length === 0) return
-    
-    MKEmitter.emit('delButtons', uuids)
   }
 
   updateLineMarks = (vals) => {

--
Gitblit v1.8.0