From d6dfba48678e1107a9e7c6524e1dfa2d3fdff03c Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 08 十月 2021 19:29:21 +0800 Subject: [PATCH] 2021-10-08 --- src/menu/components/share/pastecomponent/index.jsx | 50 ++++++++++++++++++++++++++++++++++++++++---------- 1 files changed, 40 insertions(+), 10 deletions(-) diff --git a/src/menu/components/share/pastecomponent/index.jsx b/src/menu/components/share/pastecomponent/index.jsx index 85be01c..c6df7d3 100644 --- a/src/menu/components/share/pastecomponent/index.jsx +++ b/src/menu/components/share/pastecomponent/index.jsx @@ -24,7 +24,7 @@ this.setState({visible: true}) } - resetconfig = (item, copyBtns) => { + resetconfig = (item, copyBtns, config) => { let _uuid = Utils.getuuid() if (item.OpenType === 'popview') { @@ -38,9 +38,33 @@ item.uuid = _uuid } - if (item.copyType === 'cardcell') { + if (item.copyType === 'cardcell' && config.subtype === 'datacard') { + item.setting = item.setting || {} + item.$cardType = 'extendCard' + item.setting.width = item.setting.width || 6 + + if (item.elements) { + item.elements = item.elements.map(cell => { + if (cell.datatype === 'dynamic') { + cell.datatype = 'static' + } + cell.uuid = Utils.getuuid() + return cell + }) + } + if (item.backElements) { + item.backElements = item.backElements.map(cell => { + if (cell.datatype === 'dynamic') { + cell.datatype = 'static' + } + cell.uuid = Utils.getuuid() + return cell + }) + } + } else if (item.copyType === 'cardcell') { item.setting = item.setting || {} item.setting.width = item.setting.width || 6 + delete item.$cardType if (item.elements) { item.elements = item.elements.map(cell => { @@ -105,6 +129,7 @@ pasteSubmit = () => { const { options } = this.props this.pasteFormRef.handleConfirm().then(res => { + if (!options.includes(res.copyType)) { notification.warning({ top: 92, message: '閰嶇疆淇℃伅鏍煎紡閿欒锛�', duration: 5 }) return @@ -114,7 +139,7 @@ let config = fromJS(this.props.config).toJS() let copyBtns = new Map() - res = this.resetconfig(res, copyBtns) + res = this.resetconfig(res, copyBtns, config) delete res.copyType copyBtns = [...copyBtns.values()] @@ -123,7 +148,11 @@ MKEmitter.emit('copyButtons', copyBtns) } - if (type === 'action') { + 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) @@ -133,13 +162,10 @@ } 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', 'checkcard', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) { + if (['number', 'switch', 'textarea', 'fileupload', 'hint', 'color', 'funcvar'].includes(res.type)) { res.type = 'text' } else if (res.type === 'radio') { res.type = 'select' @@ -159,9 +185,13 @@ 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') { + config.subMenus.push(res) } else if (type === 'cols') { config.cols = config.cols.filter(col => !col.origin) -- Gitblit v1.8.0