From e8edfdadb561cd83bf6e1c3e00d55b8cc2aee6d5 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期一, 17 十月 2022 17:57:34 +0800 Subject: [PATCH] 2022-10-17 --- src/menu/components/share/actioncomponent/index.jsx | 98 ++++++++++++++++++++++--------------------------- 1 files changed, 44 insertions(+), 54 deletions(-) diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index e215195..cbddcc2 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -4,8 +4,6 @@ import { Modal, notification, Button } from 'antd' import Utils, { FuncUtils } from '@/utils/utils.js' -import zhCN from '@/locales/zh-CN/model.js' -import enUS from '@/locales/en-US/model.js' import { getActionForm } from './formconfig' import asyncSpinComponent from '@/utils/asyncSpinComponent' @@ -25,14 +23,12 @@ class ActionComponent extends Component { static propTpyes = { - type: PropTypes.string, // 鑿滃崟绫诲瀷锛屼富琛ㄦ垨瀛愯〃 config: PropTypes.object, // 鑿滃崟閰嶇疆淇℃伅 setSubConfig: PropTypes.func, // 璁剧疆瀛愰厤缃俊鎭� updateaction: PropTypes.func // 鑿滃崟閰嶇疆鏇存柊 } state = { - dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, appType: sessionStorage.getItem('appType'), card: null, // 缂栬緫涓厓绱� formlist: null, // 琛ㄥ崟淇℃伅 @@ -65,7 +61,6 @@ componentDidMount () { MKEmitter.addListener('addButton', this.addButton) - MKEmitter.addListener('submitStyle', this.getStyle) } /** @@ -90,14 +85,11 @@ return } MKEmitter.removeListener('addButton', this.addButton) - MKEmitter.removeListener('submitStyle', this.getStyle) } - getStyle = (comIds, style) => { + getStyle = (style) => { const { config } = this.props const { card, actionlist } = this.state - - if (comIds[0] !== config.uuid || comIds[1] !== 'actionlist') return let _card = fromJS(card).toJS() _card.style = style @@ -115,8 +107,6 @@ } changeBtnStyle = (element) => { - const { config } = this.props - let _style = element.style ? fromJS(element.style).toJS() : {} let options = ['font', 'border', 'background', 'margin', 'padding'] @@ -124,7 +114,7 @@ card: element }) - MKEmitter.emit('changeStyle', [config.uuid, 'actionlist', element.uuid], options, _style) + MKEmitter.emit('changeStyle', options, _style, this.getStyle) } addButton = (cardId, element) => { @@ -170,27 +160,32 @@ } let ableField = usefulFields.join(', ') + let msg = `鍑芥暟鍚嶇О闇�浠�${ableField}绛夊瓧绗﹀紑濮�;` let functip = <div> - <p style={{marginBottom: '5px'}}>{this.state.dict['model.tooltip.func.innerface'].replace('@ableField', ableField)}</p> + <p style={{marginBottom: '5px'}}>{msg}</p> </div> + + if (!ableField) { // 鏃犲瓧娈甸檺鍒� + functip = '' + } - let menulist = sessionStorage.getItem('fstMenuList') - if (menulist) { - try { - menulist = JSON.parse(menulist) - } catch (e) { - menulist = [] + let supId = '' + if (config.setting && config.setting.supModule) { + let pid = config.setting.supModule[config.setting.supModule.length - 1] + if (pid && pid !== 'empty') { + supId = pid + } else { + supId = '' } - } else { - menulist = [] } - let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid) || [] + let modules = MenuUtils.getSubModules(window.GLOB.customMenu.components, config.uuid, supId) || [] + let anchors = MenuUtils.getAnchors(window.GLOB.customMenu.components, config.uuid) || [] this.setState({ visible: true, card: card, - formlist: getActionForm(card, functip, config, usefulFields, this.props.type, menulist, modules) + formlist: getActionForm(card, functip, config, usefulFields, modules, anchors) }) } @@ -237,9 +232,8 @@ if (item.uuid === btn.uuid) { btn.style = item.style || {} - - if (btn.class !== item.class || btn.show !== item.show || !btn.style.color) { - if (btn.show === 'link' || btn.show === 'icon') { + if (btn.class !== item.class || btn.show !== item.show || !btn.style.color || item.focus) { + if (btn.show === 'icon') { btn.style.color = color[btn.class] btn.style.backgroundColor = 'transparent' } else { @@ -276,25 +270,20 @@ */ deleteElement = (card) => { const { config } = this.props - const { dict, appType } = this.state + const { appType } = this.state let _this = this confirm({ - content: dict['model.confirm'] + dict['model.delete'] + ` - ${card.label} 锛焋, + content: `纭畾鍒犻櫎 - ${card.label} 锛焋, onOk() { let _actionlist = fromJS(_this.state.actionlist).toJS() _actionlist = _actionlist.filter(item => item.uuid !== card.uuid) - let btnlog = config.btnlog || [] - if (card.OpenType === 'popview' || card.verify || card.modal) { - btnlog.push(card) - } - _this.setState({ actionlist: _actionlist }, () => { - _this.props.updateaction({...config, action: _actionlist, btnlog}) + _this.props.updateaction({...config, action: _actionlist}) }) if (card.origin || appType === 'mob') return @@ -314,6 +303,7 @@ profVisible: true, card: element }) + MKEmitter.emit('modalStatus', '楠岃瘉淇℃伅') } /** @@ -341,6 +331,7 @@ }, () => { this.props.updateaction({...config, action: _actionlist}) }) + MKEmitter.emit('modalStatus', false) }) } @@ -414,6 +405,8 @@ this.props.setSubConfig(element) } else if (element.OpenType === 'innerpage' && element.pageTemplate === 'linkpage') { MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu}) + } else if (element.OpenType === 'funcbutton' && (element.funcType === 'copyurl' || element.funcType === 'scan') && element.linkmenu) { + MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu}) } else { this.handleAction(element) } @@ -423,13 +416,15 @@ let config = fromJS(this.props.config).toJS() let btn = null - if (config.subtype === 'normaltable') { + let _col = null + if (config.subtype === 'normaltable' || config.subtype === 'editable') { config.cols.forEach(col => { if (col.type !== 'action') return col.elements = col.elements.filter(item => { if (item.uuid === id) { btn = item + _col = col } return item.uuid !== id }) @@ -438,8 +433,9 @@ if (!btn) return - btn.Ot = 'requiredSgl' config.action.push(btn) + + MKEmitter.emit('cardDelElement', _col.uuid, btn.uuid) this.setState({ actionlist: config.action @@ -450,14 +446,12 @@ getVerify = (card) => { const { config } = this.props - const { dict } = this.state if (!card) return null if (['pop', 'prompt', 'exec'].includes(card.OpenType)) { return <VerifyCard card={card} - dict={dict} config={config} columns={config.columns} wrappedComponentRef={(inst) => this.verifyRef = inst} @@ -465,28 +459,24 @@ } else if (card.OpenType === 'excelIn') { return <VerifyExcelIn card={card} - dict={dict} columns={config.columns} wrappedComponentRef={(inst) => this.verifyRef = inst} /> } else if (card.OpenType === 'excelOut') { return <VerifyExcelOut card={card} - dict={dict} config={config} wrappedComponentRef={(inst) => this.verifyRef = inst} /> } else if (card.OpenType === 'funcbutton' && card.funcType === 'print') { return <VerifyPrint card={card} - dict={dict} columns={config.columns} wrappedComponentRef={(inst) => this.verifyRef = inst} /> } else if (card.OpenType === 'funcbutton' && card.funcType === 'megvii') { return <VerifyMegvii card={card} - dict={dict} columns={config.columns} wrappedComponentRef={(inst) => this.verifyRef = inst} /> @@ -494,14 +484,14 @@ } render() { - const { config, type } = this.props - const { actionlist, visible, appType, card, dict, profVisible, record } = this.state + const { config } = this.props + const { actionlist, visible, appType, card, profVisible, record } = this.state return ( - <div className={'model-menu-action-list'}> + <div className={'model-menu-action-list length' + actionlist.length}> <DragElement list={actionlist} - type={appType === 'mob' ? (type || '') : ''} + type={appType === 'mob' ? config.subtype : ''} handleList={this.handleList} dropButton={this.dropButton} handleMenu={this.handleAction} @@ -514,18 +504,17 @@ <Modal title="鎸夐挳路缂栬緫" visible={visible} - width={850} + width={920} maskClosable={false} onCancel={this.editModalCancel} footer={[ - record && record.intertype === 'inner' ? <CreateFunc key="create" dict={dict} ref="btnCreatFunc" trigger={this.creatFunc}/> : null, - <Button key="cancel" onClick={this.editModalCancel}>{dict['model.cancel']}</Button>, - <Button key="confirm" type="primary" onClick={this.handleSubmit}>{dict['model.confirm']}</Button> + record && record.intertype === 'inner' ? <CreateFunc key="create" ref="btnCreatFunc" trigger={this.creatFunc}/> : null, + <Button key="cancel" onClick={this.editModalCancel}>鍙栨秷</Button>, + <Button key="confirm" type="primary" onClick={this.handleSubmit}>纭畾</Button> ]} destroyOnClose > <ActionForm - dict={dict} card={card} formlist={this.state.formlist} inputSubmit={this.handleSubmit} @@ -536,20 +525,21 @@ </Modal> {/* 鎸夐挳浣跨敤绯荤粺瀛樺偍杩囩▼鏃讹紝楠岃瘉淇℃伅妯℃�佹 */} <Modal - wrapClassName="model-table-action-verify-modal" - title={(card && card.label ? card.label + ' - ' : '') + '楠岃瘉淇℃伅'} + wrapClassName="mk-pop-modal" visible={profVisible} width={'90vw'} maskClosable={false} - okText={dict['model.submit']} + okText="鎻愪氦" onOk={this.verifySubmit} 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 -- Gitblit v1.8.0