From 53b9fb93d0376eb02bb996935f1720b4e95cd897 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 12 十月 2022 14:41:06 +0800 Subject: [PATCH] 2022-10-12 --- src/menu/components/form/formaction/index.jsx | 84 ++++++++++++++++++++++++----------------- 1 files changed, 49 insertions(+), 35 deletions(-) diff --git a/src/menu/components/form/formaction/index.jsx b/src/menu/components/form/formaction/index.jsx index 8127e42..b5ac2d0 100644 --- a/src/menu/components/form/formaction/index.jsx +++ b/src/menu/components/form/formaction/index.jsx @@ -1,7 +1,8 @@ import React, {Component} from 'react' import PropTypes from 'prop-types' import { is, fromJS } from 'immutable' -import { Modal, Button, Popover, Icon } from 'antd' +import { Modal, Button, Popover } from 'antd' +import { FontColorsOutlined, EditOutlined, ProfileOutlined } from '@ant-design/icons' import zhCN from '@/locales/zh-CN/model.js' import enUS from '@/locales/en-US/model.js' @@ -31,10 +32,6 @@ profVisible: false, // 楠岃瘉淇℃伅缂栬緫 } - componentDidMount () { - MKEmitter.addListener('submitStyle', this.getStyle) - } - shouldComponentUpdate (nextProps, nextState) { return !is(fromJS(this.props.group), fromJS(nextProps.group)) || !is(fromJS(this.state), fromJS(nextState)) } @@ -46,32 +43,28 @@ this.setState = () => { return } - MKEmitter.removeListener('submitStyle', this.getStyle) } handleStyle = (element) => { - const { group } = this.props - let _style = element.style ? fromJS(element.style).toJS() : {} - let options = ['font', 'border', 'padding', 'margin', 'backgroundColor'] + let options = ['font', 'border', 'padding', 'margin', 'backgroundColor', 'width'] this.setState({ card: element }) - MKEmitter.emit('changeStyle', [group.uuid, element.type], options, _style) + MKEmitter.emit('changeStyle', options, _style, this.getStyle) } - getStyle = (comIds, style) => { + getStyle = (style) => { + const { card } = this.state let group = fromJS(this.props.group).toJS() - if (comIds.length !== 2 || comIds[0] !== group.uuid) return - - if (comIds[1] === 'prev') { + if (card.type === 'prev') { group.prevButton.style = style - } else if (comIds[1] === 'submit') { + } else if (card.type === 'submit') { group.subButton.style = style - } else if (comIds[1] === 'next') { + } else if (card.type === 'next') { group.nextButton.style = style } @@ -88,7 +81,7 @@ if (usefulFields) { try { usefulFields = JSON.parse(usefulFields) - } catch { + } catch (e) { usefulFields = [] } } else { @@ -100,12 +93,22 @@ <p style={{marginBottom: '5px'}}>{this.state.dict['model.tooltip.func.innerface'].replace('@ableField', ableField)}</p> </div> - let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid) + let supId = '' + if (config.wrap.linkType === 'sup') { + supId = config.wrap.supModule[config.wrap.supModule.length - 1] + } + + let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid, supId) || [] + let anchors = MenuUtils.getAnchors(window.GLOB.customMenu.components, config.uuid) || [] + + if (card.type === 'submit' && !card.Ot) { + card.Ot = config.wrap.datatype === 'static' ? 'notRequired' : 'requiredSgl' + } this.setState({ visible: true, card: card, - formlist: getActionForm(card, functip, config.setting.tableName, usefulFields, modules) + formlist: getActionForm(card, functip, config.setting.tableName, usefulFields, modules, anchors) }) } @@ -156,6 +159,7 @@ this.setState({ profVisible: true }) + MKEmitter.emit('modalStatus', '楠岃瘉淇℃伅') } /** @@ -171,6 +175,7 @@ profVisible: false }) this.props.updateconfig(group) + MKEmitter.emit('modalStatus', false) }) } @@ -195,36 +200,36 @@ return ( <div className="mk-form-action"> - {group.sort !== 1 ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ + {group.prevButton && group.prevButton.enable !== 'false' && group.sort !== 1 ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> - <Icon className="edit" title="缂栬緫" type="edit" onClick={() => this.handleAction(group.prevButton)} /> - <Icon className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.prevButton)} type="font-colors" /> + <EditOutlined className="edit" title="缂栬緫" onClick={() => this.handleAction(group.prevButton)} /> + <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.prevButton)}/> </div> } trigger="hover"> - <Button type="link" className={'prev ' + group.prevButton.enable} style={resetStyle(group.prevButton.style)}>{group.prevButton.label}</Button> + <Button type="link" className="prev" style={resetStyle(group.prevButton.style)}>{group.prevButton.label}</Button> </Popover> : null} <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> - <Icon className="edit" title="缂栬緫" type="edit" onClick={() => this.handleAction(group.subButton)} /> - <Icon className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.subButton)} type="font-colors" /> - <Icon className="profile" title="setting" type="profile" onClick={() => this.profileAction()} /> + <EditOutlined className="edit" title="缂栬緫" onClick={() => this.handleAction(group.subButton)} /> + <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.subButton)}/> + <ProfileOutlined className="profile" title="setting" onClick={() => this.profileAction()} /> </div> } trigger="hover"> <Button type="link" className="submit mk-primary" onDoubleClick={this.changeMenu} style={resetStyle(group.subButton.style)}>{group.subButton.label}</Button> </Popover> - {group.sort !== config.subcards.length ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ + {group.nextButton && group.nextButton.enable !== 'false' && group.sort !== config.subcards.length ? <Popover overlayClassName="mk-popover-control-wrap" mouseLeaveDelay={0.2} mouseEnterDelay={0.2} content={ <div className="mk-popover-control"> - <Icon className="edit" title="缂栬緫" type="edit" onClick={() => this.handleAction(group.nextButton)} /> - <Icon className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.nextButton)} type="font-colors" /> + <EditOutlined className="edit" title="缂栬緫" onClick={() => this.handleAction(group.nextButton)} /> + <FontColorsOutlined className="style" title="璋冩暣鏍峰紡" onClick={() => this.handleStyle(group.nextButton)}/> </div> } trigger="hover"> - <Button type="link" className={'skip ' + group.nextButton.enable} style={resetStyle(group.nextButton.style)}>{group.nextButton.label}</Button> + <Button type="link" className="skip" style={resetStyle(group.nextButton.style)}>{group.nextButton.label}</Button> </Popover> : null} {/* 缂栬緫鎸夐挳锛氬鍒躲�佺紪杈� */} <Modal title={dict['model.edit']} visible={visible} - width={800} + width={920} maskClosable={false} onCancel={this.editModalCancel} footer={[ @@ -244,14 +249,23 @@ </Modal> {/* 鎸夐挳浣跨敤绯荤粺瀛樺偍杩囩▼鏃讹紝楠岃瘉淇℃伅妯℃�佹 */} <Modal - wrapClassName="model-table-action-verify-modal" - title={'楠岃瘉淇℃伅'} + wrapClassName="mk-pop-modal" visible={profVisible} - width={'75vw'} + width={'90vw'} maskClosable={false} okText={dict['model.submit']} onOk={this.verifySubmit} - onCancel={() => { this.setState({ profVisible: false }) }} + onCancel={() => { + if (this.verifyRef.handleCancel) { + this.verifyRef.handleCancel().then(() => { + this.setState({ profVisible: false }) + MKEmitter.emit('modalStatus', false) + }) + } else { + this.setState({ profVisible: false }) + MKEmitter.emit('modalStatus', false) + } + }} destroyOnClose > <VerifyCard -- Gitblit v1.8.0