From 1bec8d69cf14bd88591eee5b0320c5c8f6c25a08 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 08 三月 2024 21:19:31 +0800 Subject: [PATCH] Merge branch 'master' into positec --- src/menu/components/share/copycomponent/index.jsx | 49 +++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 39 insertions(+), 10 deletions(-) diff --git a/src/menu/components/share/copycomponent/index.jsx b/src/menu/components/share/copycomponent/index.jsx index a4c90ed..af234aa 100644 --- a/src/menu/components/share/copycomponent/index.jsx +++ b/src/menu/components/share/copycomponent/index.jsx @@ -1,25 +1,54 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { fromJS } from 'immutable' -import { Icon, message } from 'antd' +import { message } from 'antd' +import { CopyOutlined } from '@ant-design/icons' import './index.scss' class CopyComponent extends Component { static propTpyes = { - btnlog: PropTypes.array, - handlelog: PropTypes.func + type: PropTypes.string, + card: PropTypes.object } trigger = () => { const { card, type } = this.props - let copycard = fromJS(card).toJS() - copycard.copyType = type - - let _val = '' + let _val = fromJS(card).toJS() + _val.copyType = type try { - _val = window.btoa(window.encodeURIComponent(JSON.stringify(copycard))) - } catch { + delete _val.$srcId + + let srcid = localStorage.getItem(window.location.href.split('#')[0] + 'srcId') + if (srcid) { + _val.$srcId = srcid + } + + if (type === 'menucell') { + _val.setting.type = 'linkmenu' + _val.setting.linkMenuId = '' + _val.setting.copyMenuId = '' + } else if (_val.type === 'menubar' && _val.subtype === 'menubar') { + let cell = _val.subMenus[0] + _val.subMenus = [] + + if (cell) { + cell.setting.type = 'menu' + cell.setting.linkMenuId = '' + cell.setting.copyMenuId = '' + + _val.subMenus.push(cell) + } + } else if (['normaltable', 'editable', 'basetable'].includes(type)) { + _val.action = _val.action.filter(item => !item.origin) + _val.cols = _val.cols.filter(item => !item.origin) + _val.search = _val.search.filter(item => !item.origin) + delete _val.isNew + } + + _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val))) + } catch (e) { + console.warn(e) message.warning('澶嶅埗澶辫触锛岃閲嶈瘯锛�') _val = '' } @@ -38,7 +67,7 @@ render () { return ( - <Icon type="copy" title="澶嶅埗" style={{color: '#26C281'}} onClick={this.trigger} /> + <CopyOutlined title="澶嶅埗" style={{color: '#26C281'}} onClick={this.trigger} /> ) } } -- Gitblit v1.8.0