From cbeffcc0902631909c0373f274752a97ddaf2d4e Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期六, 06 八月 2022 01:41:54 +0800 Subject: [PATCH] 2022-08-06 --- src/menu/components/share/actioncomponent/index.jsx | 134 +++++++++++++++++++++++++++++--------------- 1 files changed, 89 insertions(+), 45 deletions(-) diff --git a/src/menu/components/share/actioncomponent/index.jsx b/src/menu/components/share/actioncomponent/index.jsx index ea3fb0c..f7e1175 100644 --- a/src/menu/components/share/actioncomponent/index.jsx +++ b/src/menu/components/share/actioncomponent/index.jsx @@ -21,6 +21,7 @@ const VerifyPrint = asyncSpinComponent(() => import('@/templates/sharecomponent/actioncomponent/verifyprint')) const VerifyExcelIn = asyncSpinComponent(() => import('@/templates/sharecomponent/actioncomponent/verifyexcelin')) const VerifyExcelOut = asyncSpinComponent(() => import('@/templates/sharecomponent/actioncomponent/verifyexcelout')) +const VerifyMegvii = asyncSpinComponent(() => import('@/templates/sharecomponent/actioncomponent/verifymegvii')) class ActionComponent extends Component { static propTpyes = { @@ -37,7 +38,8 @@ formlist: null, // 琛ㄥ崟淇℃伅 actionlist: null, // 鎸夐挳缁� visible: false, // 妯℃�佹鎺у埗 - profVisible: false // 楠岃瘉淇℃伅妯℃�佹 + profVisible: false, // 楠岃瘉淇℃伅妯℃�佹 + record: null } /** @@ -171,6 +173,10 @@ let functip = <div> <p style={{marginBottom: '5px'}}>{this.state.dict['model.tooltip.func.innerface'].replace('@ableField', ableField)}</p> </div> + + if (!ableField) { // 鏃犲瓧娈甸檺鍒� + functip = '' + } let menulist = sessionStorage.getItem('fstMenuList') if (menulist) { @@ -182,13 +188,24 @@ } else { 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 = '' + } + } - 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, this.props.type, menulist, modules, anchors) }) } @@ -312,6 +329,7 @@ profVisible: true, card: element }) + MKEmitter.emit('modalStatus', '楠岃瘉淇℃伅') } /** @@ -339,6 +357,7 @@ }, () => { this.props.updateaction({...config, action: _actionlist}) }) + MKEmitter.emit('modalStatus', false) }) } @@ -410,9 +429,9 @@ 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 if (element.OpenType === 'funcbutton' && (element.funcType === 'copyurl' || element.funcType === 'scan') && element.linkmenu) { MKEmitter.emit('changeEditMenu', {MenuID: element.linkmenu}) } else { this.handleAction(element) @@ -448,14 +467,60 @@ }) } - render() { + getVerify = (card) => { const { config } = this.props - const { actionlist, visible, card, dict, profVisible } = this.state + 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} + /> + } 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} + /> + } + } + + render() { + const { config, type } = this.props + const { actionlist, visible, appType, card, dict, profVisible, record } = this.state return ( <div className={'model-menu-action-list'}> <DragElement list={actionlist} + type={appType === 'mob' ? (type || '') : ''} handleList={this.handleList} dropButton={this.dropButton} handleMenu={this.handleAction} @@ -466,13 +531,13 @@ /> {/* 缂栬緫鎸夐挳锛氬鍒躲�佺紪杈� */} <Modal - title={dict['model.action'] + '-' + (card && card.copyType === 'action' ? dict['model.copy'] : dict['model.edit'])} + title="鎸夐挳路缂栬緫" visible={visible} - width={850} + width={920} maskClosable={false} onCancel={this.editModalCancel} footer={[ - <CreateFunc key="create" dict={dict} ref="btnCreatFunc" trigger={this.creatFunc}/>, + 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> ]} @@ -484,6 +549,7 @@ formlist={this.state.formlist} inputSubmit={this.handleSubmit} setting={config.setting} + updRecord={(record) => this.setState({record: fromJS(record).toJS()})} wrappedComponentRef={(inst) => this.actionFormRef = inst} /> </Modal> @@ -492,46 +558,24 @@ wrapClassName="model-table-action-verify-modal" title={(card && card.label ? card.label + ' - ' : '') + '楠岃瘉淇℃伅'} 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 > - {card && !card.execMode && card.OpenType !== 'excelIn' && card.OpenType !== 'excelOut' ? - <VerifyCard - card={card} - dict={dict} - config={config} - columns={config.columns} - wrappedComponentRef={(inst) => this.verifyRef = inst} - /> : null - } - {card && card.execMode ? - <VerifyPrint - card={card} - dict={dict} - columns={config.columns} - wrappedComponentRef={(inst) => this.verifyRef = inst} - /> : null - } - {card && card.OpenType === 'excelIn' ? - <VerifyExcelIn - card={card} - dict={dict} - columns={config.columns} - wrappedComponentRef={(inst) => this.verifyRef = inst} - /> : null - } - {card && card.OpenType === 'excelOut' ? - <VerifyExcelOut - card={card} - dict={dict} - config={config} - wrappedComponentRef={(inst) => this.verifyRef = inst} - /> : null - } + {this.getVerify(card)} </Modal> </div> ) -- Gitblit v1.8.0