| | |
| | | import { SnippetsOutlined } from '@ant-design/icons' |
| | | |
| | | import MenuUtils from '@/utils/utils-custom.js' |
| | | import MKEmitter from '@/utils/events.js' |
| | | import asyncComponent from '@/utils/asyncComponent' |
| | | // import './index.scss' |
| | | |
| | |
| | | visible: false |
| | | } |
| | | |
| | | resetconfig = (item, copyBtns, uuids = {}) => { |
| | | resetconfig = (item, uuids = {}) => { |
| | | let appType = sessionStorage.getItem('appType') |
| | | |
| | | if (item.type === 'tabs') { |
| | | uuids[item.uuid] = MenuUtils.getuuid() |
| | | item.uuid = uuids[item.uuid] |
| | | item.setting.name = item.setting.name + MenuUtils.getdataName().toUpperCase().substr(-4) |
| | | item.setting.name = item.setting.name + MenuUtils.getSignName() |
| | | item.name = item.setting.name |
| | | |
| | | item.subtabs.forEach(tab => { |
| | | uuids[tab.uuid] = MenuUtils.getuuid() |
| | | tab.uuid = uuids[tab.uuid] |
| | | tab.parentId = item.uuid |
| | | |
| | | if (appType !== 'mob') { |
| | | tab.components = tab.components.filter(cell => cell.type !== 'menubar') |
| | | } |
| | | |
| | | tab.components = tab.components.map(cell => { |
| | | cell.floor = tab.floor + 1 |
| | | cell.tabId = tab.uuid |
| | | cell.parentId = tab.parentId |
| | | |
| | | cell = this.resetconfig(cell, copyBtns, uuids) |
| | | cell = this.resetconfig(cell, uuids) |
| | | return cell |
| | | }) |
| | | }) |
| | | } else if (item.type === 'group') { |
| | | uuids[item.uuid] = MenuUtils.getuuid() |
| | | item.uuid = uuids[item.uuid] |
| | | item.setting.name = item.setting.name + MenuUtils.getdataName().toUpperCase().substr(-4) |
| | | item.setting.name = item.setting.name + MenuUtils.getSignName() |
| | | item.name = item.setting.name |
| | | |
| | | item.components = item.components.map(cell => { |
| | | cell.floor = item.floor |
| | | cell.tabId = item.tabId || '' |
| | | cell.parentId = item.parentId || '' |
| | | |
| | | cell = MenuUtils.resetComponentConfig(cell, copyBtns, uuids) |
| | | cell = MenuUtils.resetComponentConfig(cell, uuids) |
| | | return cell |
| | | }) |
| | | } else { |
| | | item = MenuUtils.resetComponentConfig(item, copyBtns, uuids) |
| | | item = MenuUtils.resetComponentConfig(item, uuids) |
| | | } |
| | | |
| | | return item |
| | | } |
| | | |
| | | pasteSubmit = () => { |
| | | let options = ['tabs', 'menubar', 'topbar', 'timeline', 'datacard', 'propcard', 'mainsearch', 'stepform', 'tabform', 'balcony', 'group', 'normaltable', 'tablecard', 'line', 'bar', 'pie', 'dashboard', 'scatter'] |
| | | let appType = sessionStorage.getItem('appType') |
| | | let options = ['tabs', 'timeline', 'datacard', 'propcard', 'mainsearch', 'simpleform', 'stepform', 'tabform', 'balcony', 'group', 'normaltable', 'tablecard', 'line', 'bar', 'pie', 'dashboard', 'scatter', 'iframe', 'sandbox'] |
| | | |
| | | if (appType === 'mob') { |
| | | options.push('menubar', 'topbar') |
| | | } else { |
| | | options.push('editable', 'antvG6') |
| | | } |
| | | |
| | | this.pasteFormRef.handleConfirm().then(res => { |
| | | if ((res.copyType === 'menubar' || res.copyType === 'topbar') && sessionStorage.getItem('appType') !== 'mob') { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '当前系统不支持菜单组件!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } else if (!options.includes(res.copyType)) { |
| | | if (!options.includes(res.copyType)) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '配置信息格式错误!', |
| | |
| | | return |
| | | } |
| | | |
| | | let copyBtns = new Map() |
| | | res = this.resetconfig(res) |
| | | |
| | | res = this.resetconfig(res, copyBtns) |
| | | |
| | | delete res.copyType |
| | | // delete res.copyType |
| | | |
| | | this.props.insert(res) |
| | | |
| | | copyBtns = [...copyBtns.values()] |
| | | |
| | | if (copyBtns.length > 0) { |
| | | MKEmitter.emit('copyButtons', copyBtns) |
| | | } |
| | | |
| | | this.setState({visible: false}) |
| | | }) |
| | |
| | | const { visible } = this.state |
| | | |
| | | return ( |
| | | <div style={{display: 'inline-block'}}> |
| | | <div className="mk-view-paste" style={{display: 'inline-block'}}> |
| | | <Button style={{borderColor: '#40a9ff', color: '#40a9ff'}} onClick={() => {this.setState({visible: true})}}><SnippetsOutlined />粘贴</Button> |
| | | <Modal |
| | | title="粘贴" |