| | |
| | | /** |
| | | * @description 触发按钮操作 |
| | | */ |
| | | actionTrigger = (triggerId, record, type, callback) => { |
| | | const { btn, selectedData } = this.props |
| | | actionTrigger = (triggerId, record, type, lid, callback) => { |
| | | const { btn, selectedData, LID } = this.props |
| | | const { loading, disabled } = this.state |
| | | |
| | | if (type === 'preButton') { |
| | |
| | | |
| | | if (loading || disabled) return |
| | | if (triggerId && btn.uuid !== triggerId) return |
| | | if (type === 'linkbtn' && !btn.$toolbtn && !is(fromJS(selectedData || []), fromJS(record))) return |
| | | if (type === 'linkbtn' && !btn.$toolbtn && LID !== lid) return |
| | | if (btn.OpenType === 'form' && btn.formType === 'count_line') return |
| | | |
| | | this.setState({autoMatic: type === 'autoMatic'}) |
| | |
| | | let node = document.getElementById('button' + btnId) |
| | | |
| | | if (node) { |
| | | MKEmitter.emit('triggerBtnId', btnId, null, 'preButton', (res) => { |
| | | MKEmitter.emit('triggerBtnId', btnId, null, 'preButton', null, (res) => { |
| | | if (!res) { |
| | | this.setState({loading: false}) |
| | | resolve() |
| | |
| | | Modal.success({ |
| | | title: msg, |
| | | onOk: () => { |
| | | this.successContinue(sign, id) |
| | | this.successContinue(sign, id, res) |
| | | } |
| | | }) |
| | | return |
| | |
| | | |
| | | } |
| | | |
| | | this.successContinue(sign, id) |
| | | this.successContinue(sign, id, res) |
| | | } |
| | | |
| | | successContinue = (sign, id) => { |
| | | successContinue = (sign, id, res) => { |
| | | const { btn } = this.props |
| | | const { btnconfig } = this.state |
| | | |
| | |
| | | |
| | | if (btn.execSuccess === 'popclose' && btn.$tabId) { // 标签关闭刷新 |
| | | MKEmitter.emit('refreshPopButton', btn.$tabId) |
| | | } |
| | | |
| | | if (btn.verify && btn.verify.linkEnable === 'true') { |
| | | let url = '' |
| | | if (window.GLOB.systemType === 'production') { |
| | | url = btn.verify.linkProUrl |
| | | if (!url) { |
| | | notification.warning({ |
| | | top: 92, |
| | | message: '尚未添加正式系统链接地址!', |
| | | duration: 5 |
| | | }) |
| | | return |
| | | } |
| | | } else { |
| | | url = btn.verify.linkUrl |
| | | } |
| | | |
| | | if (/@/.test(url)) { |
| | | Object.keys(res).forEach(key => { |
| | | url = url.replace(new RegExp('@' + key + '@', 'ig'), res[key]) |
| | | }) |
| | | } |
| | | if (!/^http/.test(url)) { |
| | | url = window.location.origin + url |
| | | } |
| | | |
| | | window.open(url) |
| | | } |
| | | } |
| | | |
| | |
| | | |
| | | if (verify.wxNoteLink === 'url' && verify.wxNoteLinkUrl) { |
| | | _param.url = verify.wxNoteLinkUrl |
| | | } else if (verify.wxNoteLink === 'miniProgram' && window.GLOB.WXminiAppID) { |
| | | } else if (verify.wxNoteLink === 'miniProgram' && (window.GLOB.WXminiAppID || verify.wxNoteMiniId)) { |
| | | _param.miniprogram = { |
| | | appid: window.GLOB.WXminiAppID, |
| | | appid: verify.wxNoteMiniId || window.GLOB.WXminiAppID, |
| | | pagepath: '/pages/index/index' |
| | | } |
| | | |
| | |
| | | } else if (btn.execError === 'closepoptab' || sign === '@close_popup@') { |
| | | MKEmitter.emit('popclose') |
| | | } else if (btn.execError !== 'never') { |
| | | let tabId = '' |
| | | if (btn.refreshTab && btn.refreshTab.length > 0) { |
| | | tabId = btn.refreshTab[btn.refreshTab.length - 1] |
| | | } |
| | | if (tabId && btn.$MenuID === tabId) { // 刷新当前菜单时,停止其他操作 |
| | | MKEmitter.emit('reloadMenuView', tabId, 'table') |
| | | return |
| | | } |
| | | |
| | | MKEmitter.emit('refreshByButtonResult', btn.$menuId, btn.execError, btn, '', this.state.selines) |
| | | |
| | | if (btn.syncComponentId) { |
| | | if (btn.syncComponentId === 'multiComponent') { |
| | | btn.syncComponentIds.forEach((id, i) => { |
| | | setTimeout(() => { |
| | | if (/\$focus/.test(id)) { |
| | | MKEmitter.emit('reloadData', id.split('$')[0], id.split('$')[1]) |
| | | } else { |
| | | MKEmitter.emit('reloadData', id) |
| | | } |
| | | }, 20 * i) |
| | | }) |
| | | } else if (/\$focus/.test(btn.syncComponentId)) { |
| | | MKEmitter.emit('reloadData', btn.syncComponentId.split('$')[0], btn.syncComponentId.split('$')[1]) |
| | | } else { |
| | | if (btn.syncDelay) { |
| | | this.delayTimer && clearTimeout(this.delayTimer) |
| | | this.delayTimer = setTimeout(() => { |
| | | MKEmitter.emit('reloadData', btn.syncComponentId) |
| | | }, btn.syncDelay) |
| | | } else { |
| | | MKEmitter.emit('reloadData', btn.syncComponentId) |
| | | } |
| | | } |
| | | } |
| | | |
| | | if (tabId) { |
| | | MKEmitter.emit('reloadMenuView', tabId, 'table') |
| | | } |
| | | } |
| | | |
| | | if (btn.OpenType === 'form') { |
| | | let data = this.props.selectedData && this.props.selectedData[0] ? this.props.selectedData[0] : null |
| | | |