From e1cee96b38805bcccf48e7bcb9d296f2bc54c720 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 24 一月 2025 11:10:32 +0800 Subject: [PATCH] 2025-01-24 --- src/menu/components/share/copycomponent/index.jsx | 56 +++++++++++++++++++++++++++++++++++++++++++++++--------- 1 files changed, 47 insertions(+), 9 deletions(-) diff --git a/src/menu/components/share/copycomponent/index.jsx b/src/menu/components/share/copycomponent/index.jsx index a4c90ed..529ca0c 100644 --- a/src/menu/components/share/copycomponent/index.jsx +++ b/src/menu/components/share/copycomponent/index.jsx @@ -1,25 +1,63 @@ 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 + } + + transConfig = (config, type) => { + if (type === 'menucell') { + config.setting.type = 'linkmenu' + config.setting.linkMenuId = '' + config.setting.copyMenuId = '' + } else if (type === 'mobnavbar') { + delete config.open_edition + delete config.dataName + + config.menus.forEach(item => { + item.property = 'menu' + item.open = 'self' + + delete item.copyMenuId + delete item.clearMenu + delete item.linkMenuId + }) + } else if (config.type === 'menubar' && config.subtype === 'menubar') { + let cell = config.subMenus[0] + config.subMenus = [] + + if (cell) { + cell.setting.type = 'menu' + cell.setting.linkMenuId = '' + cell.setting.copyMenuId = '' + + config.subMenus.push(cell) + } + } else if (['normaltable', 'editable', 'basetable'].includes(type)) { + config.action = config.action.filter(item => !item.origin) + config.cols = config.cols.filter(item => !item.origin) + config.search = config.search.filter(item => !item.origin) + delete config.isNew + } } trigger = () => { const { card, type } = this.props - let copycard = fromJS(card).toJS() - copycard.copyType = type + let _val = fromJS(card).toJS() + _val.copyType = type - let _val = '' + this.transConfig(_val, type) try { - _val = window.btoa(window.encodeURIComponent(JSON.stringify(copycard))) - } catch { + _val = window.btoa(window.encodeURIComponent(JSON.stringify(_val))) + } catch (e) { + console.warn(e) message.warning('澶嶅埗澶辫触锛岃閲嶈瘯锛�') _val = '' } @@ -38,7 +76,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