From f66e19dd13af07ee466306632ad43c72f1f16ae7 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 26 五月 2021 14:49:55 +0800 Subject: [PATCH] 2021-05-26 --- src/menu/components/share/actioncomponent/index.jsx | 73 +++++++++++++++++------------------- 1 files changed, 34 insertions(+), 39 deletions(-) diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index e208f94..d9483e6 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' @@ -12,7 +11,7 @@ import MKEmitter from '@/utils/events.js' import ActionForm from './actionform' -import MenuUtils from '@/menu/utils/menuUtils.js' +import MenuUtils from '@/utils/utils-custom.js' import CreateFunc from '@/templates/zshare/createfunc' import DragElement from './dragaction' import './index.scss' @@ -32,7 +31,7 @@ } state = { - dict: localStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, + dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, card: null, // 缂栬緫涓厓绱� formlist: null, // 琛ㄥ崟淇℃伅 actionlist: null, // 鎸夐挳缁� @@ -44,8 +43,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 +97,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,7 +114,7 @@ changeBtnStyle = (element) => { const { config } = this.props - let _style = element.btnstyle ? fromJS(element.btnstyle).toJS() : {} + let _style = element.style ? fromJS(element.style).toJS() : {} let options = ['font', 'border', 'background', 'margin'] this.setState({ @@ -142,7 +153,7 @@ * @description 鎸夐挳缂栬緫锛岃幏鍙栨寜閽〃鍗曚俊鎭� */ handleAction = (card) => { - const { menu, config } = this.props + const { config } = this.props let usefulFields = sessionStorage.getItem('permFuncField') if (usefulFields) { @@ -171,7 +182,7 @@ menulist = [] } - let modules = MenuUtils.getSubModules(menu.components, config.uuid) + let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid) this.setState({ visible: true, @@ -222,15 +233,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 @@ -333,7 +344,7 @@ * @description 鍒涘缓鎸夐挳瀛樺偍杩囩▼ */ creatFunc = () => { - const { menu } = this.props + const menu = window.GLOB.customMenu let _config = fromJS(this.props.config).toJS() this.actionFormRef.handleConfirm().then(res => { @@ -352,19 +363,10 @@ } if (btn.OpenType === 'pop') { - let fields = [] - if (btn.groups.length > 0) { - btn.groups.forEach(group => { - fields = [...fields, ...group.sublist] - }) - } else { - fields = btn.fields - } - let _param = { funcName: btn.innerFunc, name: _config.setting.tableName || '', - fields: fields, + fields: btn.modal ? btn.modal.fields : [], menuNo: menu.MenuNo } newLText = Utils.formatOptions(FuncUtils.getfunc(_param, btn, menu, _config)) @@ -402,10 +404,14 @@ * @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') { + if (element.OpenType === 'pop' || element.OpenType === 'popview' || element.execMode === 'pop') { this.props.setSubConfig(element) + } else if (element.OpenType === 'innerpage' && element.pageTemplate === 'page') { + MKEmitter.emit('changeEditMenu', {MenuID: element.uuid, copyMenuId: element.copyMenuId}) + } else if (element.OpenType === 'innerpage' && element.pageTemplate === 'linkpage') { + MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu}) } else { notification.warning({ top: 92, @@ -490,7 +496,6 @@ visible={profVisible} width={'75vw'} maskClosable={false} - style={{minWidth: '900px', maxWidth: '1200px'}} okText={dict['model.submit']} onOk={this.verifySubmit} onCancel={() => { this.setState({ profVisible: false }) }} @@ -535,14 +540,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