From afb39f8ab004b2607bb718edab02e99c7a010114 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 22 三月 2023 14:36:44 +0800 Subject: [PATCH] 2023-03-22 --- src/menu/components/share/pastecomponent/index.jsx | 65 ++++++++++---------------------- 1 files changed, 21 insertions(+), 44 deletions(-) diff --git a/src/menu/components/share/pastecomponent/index.jsx b/src/menu/components/share/pastecomponent/index.jsx index 553d24d..477e3e0 100644 --- a/src/menu/components/share/pastecomponent/index.jsx +++ b/src/menu/components/share/pastecomponent/index.jsx @@ -1,7 +1,8 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { fromJS } from 'immutable' -import { Icon, Modal, notification } from 'antd' +import { Modal, notification } from 'antd' +import { SnippetsOutlined } from '@ant-design/icons' import Utils from '@/utils/utils.js' import MKEmitter from '@/utils/events.js' @@ -20,19 +21,8 @@ visible: false } - handleMenuClick = () => { - this.setState({visible: true}) - } - - resetconfig = (item, copyBtns, config) => { + resetconfig = (item, config) => { let _uuid = Utils.getuuid() - - if (item.OpenType === 'popview') { - let _cell = fromJS(item).toJS() - _cell.$originUuid = _cell.uuid - _cell.uuid = _uuid - copyBtns.set(_uuid, _cell) - } if (item.uuid) { item.uuid = _uuid @@ -108,14 +98,7 @@ }) } else if (_item.type === 'action' && _item.elements) { _item.elements = _item.elements.map(cell => { - let _uuid = Utils.getuuid() - if (cell.OpenType === 'popview') { - let _cell = fromJS(cell).toJS() - _cell.$originUuid = _cell.uuid - _cell.uuid = _uuid - copyBtns.set(_uuid, _cell) - } - cell.uuid = _uuid + cell.uuid = Utils.getuuid() return cell }) } @@ -129,43 +112,35 @@ pasteSubmit = () => { const { options } = this.props this.pasteFormRef.handleConfirm().then(res => { - if (!options.includes(res.copyType)) { notification.warning({ top: 92, message: '閰嶇疆淇℃伅鏍煎紡閿欒锛�', duration: 5 }) return } - let type = res.copyType - let config = fromJS(this.props.config).toJS() - let copyBtns = new Map() - - res = this.resetconfig(res, copyBtns, config) - delete res.copyType - - copyBtns = [...copyBtns.values()] - - if (copyBtns.length > 0) { - MKEmitter.emit('copyButtons', copyBtns) + if (!this.props.config) { + this.props.updateConfig(res) + this.setState({visible: false}) + return } - if (config.type === 'form' && config.subtype === 'stepform') { + let type = res.copyType + let config = fromJS(this.props.config).toJS() + + res = this.resetconfig(res, config) + delete res.copyType + + if (config.type === 'form') { this.props.updateConfig(res) this.setState({visible: false}) return } else if (type === 'action') { - config.action = config.action || [] - config.action = config.action.filter(item => !item.origin) - if (['line', 'bar', 'scatter'].includes(config.type) && !['excelOut', 'excelIn'].includes(res.OpenType)) { notification.warning({ top: 92, message: '鍥捐〃涓笉鏀寔姝ょ被鎸夐挳锛�', duration: 5 }) return } MKEmitter.emit('addButton', config.uuid, res) } else if (type === 'search' || type === 'form') { - config.search = config.search || [] - config.search = config.search.filter(item => !item.origin) - - let keys = config.search.map(item => item.field.toLowerCase()) + let keys = config.search.map(item => item.field ? item.field.toLowerCase() : '') if (type === 'form') { if (['number', 'switch', 'textarea', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) { @@ -188,7 +163,9 @@ return } - config.search.push(res) + MKEmitter.emit('plusSearch', config.uuid, res, 'simple') + this.setState({visible: false}) + return } else if (type === 'cardcell') { config.subcards.push(res) } else if (type === 'menucell') { @@ -205,7 +182,7 @@ }) } - this.props.updateConfig(config) + this.props.updateConfig(config, type) this.setState({visible: false}) notification.success({ @@ -221,7 +198,7 @@ return ( <div style={{display: 'inline-block'}}> - <Icon type="snippets" style={{color: 'purple'}} onClick={() => {this.setState({visible: true})}} /> + <SnippetsOutlined style={{color: 'purple'}} onClick={() => {this.setState({visible: true})}} /> <Modal title="绮樿创" visible={visible} -- Gitblit v1.8.0