From 31ec63f0419895876cbaba99637a884a32d33d0d Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 01 九月 2021 10:31:45 +0800 Subject: [PATCH] 2021-09-01 --- src/menu/components/share/actioncomponent/index.jsx | 81 ++++++++++++++++++++-------------------- 1 files changed, 40 insertions(+), 41 deletions(-) diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index 1891e05..948d70d 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -1,6 +1,5 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' -import {connect} from 'react-redux' import { is, fromJS } from 'immutable' import { Modal, notification, Button } from 'antd' @@ -33,6 +32,7 @@ state = { dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, + appType: sessionStorage.getItem('appType'), card: null, // 缂栬緫涓厓绱� formlist: null, // 琛ㄥ崟淇℃伅 actionlist: null, // 鎸夐挳缁� @@ -44,8 +44,20 @@ * @description 鎼滅储鏉′欢鍒濆鍖� */ UNSAFE_componentWillMount () { + const { config } = this.props + + let actionlist = fromJS(config.action).toJS() || [] + this.setState({ - actionlist: fromJS(this.props.config.action).toJS() + actionlist: actionlist.map(item => { + if (item.btnstyle) { // 鍏煎 + item.style = item.style || {} + item.style = {...item.style, ...item.btnstyle} + delete item.btnstyle + } + + return item + }) }) } @@ -86,7 +98,7 @@ if (comIds[0] !== config.uuid || comIds[1] !== 'actionlist') return let _card = fromJS(card).toJS() - _card.btnstyle = style + _card.style = style let _actionlist = actionlist.map(cell => { if (cell.uuid === _card.uuid) return _card @@ -103,8 +115,8 @@ changeBtnStyle = (element) => { const { config } = this.props - let _style = element.btnstyle ? fromJS(element.btnstyle).toJS() : {} - let options = ['font', 'border', 'background', 'margin'] + let _style = element.style ? fromJS(element.style).toJS() : {} + let options = ['font', 'border', 'background', 'margin', 'padding'] this.setState({ card: element @@ -142,13 +154,13 @@ * @description 鎸夐挳缂栬緫锛岃幏鍙栨寜閽〃鍗曚俊鎭� */ handleAction = (card) => { - const { menu, config } = this.props + const { config } = this.props let usefulFields = sessionStorage.getItem('permFuncField') if (usefulFields) { try { usefulFields = JSON.parse(usefulFields) - } catch { + } catch (e) { usefulFields = [] } } else { @@ -164,19 +176,19 @@ if (menulist) { try { menulist = JSON.parse(menulist) - } catch { + } catch (e) { menulist = [] } } else { menulist = [] } - let modules = MenuUtils.getSubModules(menu.components, config.uuid) + let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid) this.setState({ visible: true, card: card, - formlist: getActionForm(card, functip, config.setting, usefulFields, this.props.type, menulist, modules) + formlist: getActionForm(card, functip, config, usefulFields, this.props.type, menulist, modules) }) } @@ -222,15 +234,15 @@ } if (item.uuid === btn.uuid) { - btn.btnstyle = item.btnstyle || {} + btn.style = item.style || {} - if (btn.class !== item.class || btn.show !== item.show || !btn.btnstyle.color) { + if (btn.class !== item.class || btn.show !== item.show || !btn.style.color) { if (btn.show === 'link' || btn.show === 'icon') { - btn.btnstyle.color = color[btn.class] - btn.btnstyle.backgroundColor = 'transparent' + btn.style.color = color[btn.class] + btn.style.backgroundColor = 'transparent' } else { - btn.btnstyle.color = '#ffffff' - btn.btnstyle.backgroundColor = color[btn.class] + btn.style.color = '#ffffff' + btn.style.backgroundColor = color[btn.class] } } return btn @@ -262,7 +274,7 @@ */ deleteElement = (card) => { const { config } = this.props - const { dict } = this.state + const { dict, appType } = this.state let _this = this confirm({ @@ -271,10 +283,6 @@ let _actionlist = fromJS(_this.state.actionlist).toJS() _actionlist = _actionlist.filter(item => item.uuid !== card.uuid) - - if (!card.origin) { - MKEmitter.emit('delButtons', [card.uuid]) - } let btnlog = config.btnlog || [] if (card.OpenType === 'popview' || card.verify || card.modal) { @@ -286,6 +294,11 @@ }, () => { _this.props.updateaction({...config, action: _actionlist, btnlog}) }) + + if (card.origin || appType === 'mob') return + if (appType === 'pc' && card.OpenType !== 'popview') return + + MKEmitter.emit('delButtons', [card.uuid]) }, onCancel() {} }) @@ -333,7 +346,7 @@ * @description 鍒涘缓鎸夐挳瀛樺偍杩囩▼ */ creatFunc = () => { - const { menu } = this.props + const menu = window.GLOB.customMenu let _config = fromJS(this.props.config).toJS() this.actionFormRef.handleConfirm().then(res => { @@ -355,7 +368,7 @@ let _param = { funcName: btn.innerFunc, name: _config.setting.tableName || '', - fields: btn.fields, + fields: btn.modal ? btn.modal.fields : [], menuNo: menu.MenuNo } newLText = Utils.formatOptions(FuncUtils.getfunc(_param, btn, menu, _config)) @@ -393,8 +406,8 @@ * @description 鎸夐挳鍙屽嚮瑙﹀彂瀛愰厤缃� */ btnDoubleClick = (element) => { - if (sessionStorage.getItem('style-control') && sessionStorage.getItem('style-control') !== 'false') return - + if (sessionStorage.getItem('style-control') && sessionStorage.getItem('style-control') === 'true') return + if (element.OpenType === 'pop' || element.OpenType === 'popview' || element.execMode === 'pop') { this.props.setSubConfig(element) } else if (element.OpenType === 'innerpage' && element.pageTemplate === 'page') { @@ -402,11 +415,7 @@ } else if (element.OpenType === 'innerpage' && element.pageTemplate === 'linkpage') { MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu}) } else { - notification.warning({ - top: 92, - message: '姝ゆ寜閽棤瀛愰厤缃」锛�', - duration: 5 - }) + this.handleAction(element) } } @@ -529,14 +538,4 @@ } } -const mapStateToProps = (state) => { - return { - menu: state.customMenu - } -} - -const mapDispatchToProps = () => { - return {} -} - -export default connect(mapStateToProps, mapDispatchToProps)(ActionComponent) \ No newline at end of file +export default ActionComponent \ No newline at end of file -- Gitblit v1.8.0