From b78198e00a34eaa2b0a761bb6f42bf14e7771883 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 21 六月 2024 16:53:44 +0800 Subject: [PATCH] 2024-06-21 --- src/tabviews/zshare/actionList/normalbutton/index.jsx | 181 +++++++++++++++++++++++++++++---------------- 1 files changed, 116 insertions(+), 65 deletions(-) diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index bcf9a4f..8f0c450 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -44,7 +44,8 @@ hidden: false, autoMatic: false, check: false, - count: 0 + count: 0, + dict: window.GLOB.dict } moduleParams = null @@ -206,7 +207,7 @@ */ actionTrigger = (triggerId, record, type, lid, callback) => { const { btn, selectedData, LID } = this.props - const { loading, disabled } = this.state + const { loading, disabled, dict } = this.state if (type === 'preButton') { if (btn.uuid !== triggerId) return @@ -242,7 +243,9 @@ } else if (btn.OpenType === 'prompt') { this.setState({loading: true}) confirm({ - title: btn.tipTitle || '纭畾瑕佹墽琛屽悧?', + title: btn.tipTitle || dict['exec_sure'] || '纭畾瑕佹墽琛屽悧?', + okText: dict['ok'] || '纭畾', + cancelText: dict['cancel'] || '鍙栨秷', onOk() { return new Promise(resolve => { _this.execSubmit(data, resolve) @@ -319,7 +322,7 @@ preTrigger = (callback) => { const { btn, selectedData } = this.props - const { loading, disabled } = this.state + const { loading, disabled, dict } = this.state if (loading || disabled) { callback() @@ -352,7 +355,9 @@ } else if (btn.OpenType === 'prompt') { this.setState({loading: true}) confirm({ - title: btn.tipTitle || '纭畾瑕佹墽琛屽悧?', + title: btn.tipTitle || dict['exec_sure'] || '纭畾瑕佹墽琛屽悧?', + okText: dict['ok'] || '纭畾', + cancelText: dict['cancel'] || '鍙栨秷', onOk() { return new Promise(resolve => { _this.execSubmit(data, resolve) @@ -402,11 +407,12 @@ checkBtnData = (data) => { const { BID, btn, setting } = this.props + const { dict } = this.state if (setting.supModule && !BID) { notification.warning({ top: 92, - message: '闇�瑕佷笂绾т富閿�硷紒', + message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', duration: 5 }) return false @@ -414,7 +420,7 @@ // 闇�瑕侀�夋嫨琛屾椂锛屾牎楠屾暟鎹� notification.warning({ top: 92, - message: '璇烽�夋嫨琛岋紒', + message: dict['select_row'] || '璇烽�夋嫨琛岋紒', duration: 5 }) return false @@ -422,42 +428,17 @@ // 闇�瑕侀�夋嫨鍗曡鏃讹紝鏍¢獙鏁版嵁 notification.warning({ top: 92, - message: '璇烽�夋嫨鍗曡鏁版嵁锛�', + message: dict['select_single_row'] || '璇烽�夋嫨鍗曡鏁版嵁锛�', duration: 5 }) return false - } else if (btn.intertype === 'system') { - if (data.length === 0 && btn.verify && btn.verify.voucher && btn.verify.voucher.enabled) { - notification.warning({ - top: 92, - message: '浣跨敤鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒', - duration: 5 - }) - return false - } - } else if (btn.intertype === 'custom' || btn.intertype === 'outer') { - if (btn.callbackType === 'script' && (!btn.verify || !btn.verify.cbScripts || !btn.verify.cbScripts.filter(item => item.status !== 'false').length === 0)) { - notification.warning({ - top: 92, - message: '浣跨敤鑷畾涔夎剼鏈洖璋冩椂锛屽洖璋冭剼鏈笉鍙负绌猴紒', - duration: 5 - }) - return false - } else if (btn.procMode === 'system' && data.length === 0 && btn.verify && btn.verify.voucher && btn.verify.voucher.enabled) { - notification.warning({ - top: 92, - message: '浣跨敤鍒涘缓鍑瘉鍑芥暟锛岄渶瑕侀�夋嫨琛岋紒', - duration: 5 - }) - return false - } else if (btn.intertype === 'custom' && window.GLOB.systemType === 'production' && !btn.proInterface) { - notification.warning({ - top: 92, - message: '灏氭湭璁剧疆姝e紡绯荤粺鎺ュ彛鍦板潃锛�', - duration: 5 - }) - return false - } + } else if (btn.intertype === 'custom' && window.GLOB.systemType === 'production' && !btn.proInterface) { + notification.warning({ + top: 92, + message: dict['no_prod_link'] || '灏氭湭璁剧疆姝e紡绯荤粺鎺ュ彛鍦板潃锛�', + duration: 5 + }) + return false } return true @@ -1081,7 +1062,7 @@ if (times > 50) { notification.warning({ top: 92, - message: '鍓嶇疆鎸夐挳鍔犺浇澶辫触锛�', + message: window.GLOB.dict['pre_btn_failed'] || '鍓嶇疆鎸夐挳鍔犺浇澶辫触锛�', duration: 5 }) this.setState({loading: false}) @@ -1119,7 +1100,7 @@ if (setting.supModule && !BID) { notification.warning({ top: 92, - message: '闇�瑕佷笂绾т富閿�硷紒', + message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', duration: 5 }) _resolve() @@ -1134,6 +1115,12 @@ if (btn.returnValue === 'true') { params = params.map(item => { item.script_type = 'Y' + return item + }) + } + if (btn.database === 'sso' && window.GLOB.mainSystemApi) { + params = params.map(item => { + item.rduri = window.GLOB.mainSystemApi return item }) } @@ -1726,6 +1713,7 @@ sql = sql.replace(/@SessionUid@/ig, `'${localStorage.getItem('SessionUid') || ''}'`) sql = sql.replace(/@UserID@/ig, `'${sessionStorage.getItem('UserID') || ''}'`) sql = sql.replace(/@Appkey@/ig, `'${window.GLOB.appkey || ''}'`) + sql = sql.replace(/@lang@/ig, `'${sessionStorage.getItem('lang')}'`) sql = sql.replace(/@typename@/ig, `'admin'`) if (sessionStorage.getItem('dataM') === 'true') { // 鏁版嵁鏉冮檺 @@ -1839,8 +1827,10 @@ } const _this = this confirm({ - title: '璇风‘璁�', + title: window.GLOB.dict['exec_sure'] || '璇风‘璁�', content: msg, + okText: window.GLOB.dict['ok'] || '纭畾', + cancelText: window.GLOB.dict['cancel'] || '鍙栨秷', onOk() { return new Promise(resolve => { Api.genericInterface(unCheckParam).then(result => { @@ -2237,7 +2227,7 @@ */ execSuccess = (res = {}) => { const { btn } = this.props - const { autoMatic } = this.state + const { autoMatic, dict } = this.state if (btn.resetForms) { let data = {} @@ -2272,6 +2262,17 @@ } let sign = '' + let focusField = '' + + if (/@focus:[a-z0-9_]+@/i.test(res.message)) { + let val = res.message.match(/@focus:[a-z0-9_]+@/i) + res.message = res.message.replace(/@focus:[a-z0-9_]+@/i, '') + focusField = val ? val[0].replace(/@focus:|@/ig, '') : '' + + if (!res.message) { + res.ErrCode = '-1' + } + } if (/^@speak@/i.test(res.message)) { res.message = res.message.replace(/^@speak@/i, '') let val = res.message.match(/<<.*>>/) @@ -2287,7 +2288,8 @@ if (!res.message) { res.ErrCode = '-1' } - } else if (/@close_tab@|@close_popup@|@goback@|@no_target_menu@/i.test(res.message)) { + } + if (/@close_tab@|@close_popup@|@goback@|@no_target_menu@/i.test(res.message)) { sign = res.message.match(/@close_tab@|@close_popup@|@goback@|@no_target_menu@/i)[0].toLowerCase() res.message = res.message.replace(/@close_tab@|@close_popup@|@goback@|@no_target_menu@/i, '') } @@ -2307,20 +2309,21 @@ if (btn.formType !== 'counter' || res.message) { notification.success({ top: 92, - message: res.message || '鎵ц鎴愬姛锛�', + message: res.message || dict['exc_success'] || '鎵ц鎴愬姛锛�', duration: btn.verify && btn.verify.stime ? btn.verify.stime : 2 }) } } else if (res.ErrCode === 'Y') { // 鎵ц鎴愬姛 - let msg = res.message || '鎵ц鎴愬姛锛�' + let msg = res.message || dict['exc_success'] || '鎵ц鎴愬姛锛�' if (/\n|\r/.test(msg)) { msg = msg.replace(/\n|\r/ig, '<br/>') msg = <span dangerouslySetInnerHTML={{__html: msg}}></span> } Modal.success({ title: msg, + okText: dict['got_it'] || '鐭ラ亾浜�', onOk: () => { - this.successContinue(sign, id, res) + this.successContinue(sign, id, res, focusField) } }) return @@ -2328,12 +2331,16 @@ } - this.successContinue(sign, id, res) + this.successContinue(sign, id, res, focusField) } - successContinue = (sign, id, res) => { + successContinue = (sign, id, res, focusField) => { const { btn } = this.props const { btnconfig } = this.state + + if (focusField) { + MKEmitter.emit('resetFocus', btn.uuid, focusField) + } this.setState({ loadingNumber: '', @@ -2444,7 +2451,7 @@ if (!url) { notification.warning({ top: 92, - message: '灏氭湭娣诲姞姝e紡绯荤粺閾炬帴鍦板潃锛�', + message: window.GLOB.dict['no_prod_link'] || '灏氭湭璁剧疆姝e紡绯荤粺閾炬帴鍦板潃锛�', duration: 5 }) return @@ -2963,7 +2970,7 @@ */ execError = (res = {}) => { const { btn } = this.props - const { autoMatic } = this.state + const { autoMatic, dict } = this.state if (this.preCallback) { this.setState({ @@ -2975,7 +2982,7 @@ } else if (autoMatic) { notification.error({ top: 92, - message: res.message || '鎵ц澶辫触锛�', + message: res.message || dict['exc_fail'] || '鎵ц澶辫触锛�', duration: 10 }) @@ -3015,13 +3022,14 @@ } if (res.ErrCode === 'E') { - let msg = res.message || '鎵ц澶辫触锛�' + let msg = res.message || dict['exc_fail'] || '鎵ц澶辫触锛�' if (/\n|\r/.test(msg)) { msg = msg.replace(/\n|\r/ig, '<br/>') msg = <span dangerouslySetInnerHTML={{__html: msg}}></span> } Modal.error({ title: msg, + okText: dict['got_it'] || '鐭ラ亾浜�', onOk: () => { this.errorContinue(sign) } @@ -3030,18 +3038,18 @@ } else if (res.ErrCode === 'N') { notification.error({ top: 92, - message: res.message || '鎵ц澶辫触锛�', + message: res.message || dict['exc_fail'] || '鎵ц澶辫触锛�', duration: btn.verify && btn.verify.ntime ? btn.verify.ntime : 10 }) } else if (res.ErrCode === 'F') { notification.error({ className: 'notification-custom-error', top: 92, - message: res.message || '鎵ц澶辫触锛�', + message: res.message || dict['exc_fail'] || '鎵ц澶辫触锛�', duration: btn.verify && btn.verify.ftime ? btn.verify.ftime : 10 }) } else if (res.ErrCode === 'NM') { - message.error(res.message || '鎵ц澶辫触锛�') + message.error(res.message || dict['exc_fail'] || '鎵ц澶辫触锛�') } else if (res.ErrCode === '-2') { this.setState({ loadingNumber: '', @@ -3078,8 +3086,47 @@ } 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 @@ -3235,7 +3282,7 @@ modelconfirm = () => { const { BID } = this.props - const { btnconfig, selines } = this.state + const { btnconfig, selines, dict } = this.state let _this = this let result = [] @@ -3379,7 +3426,9 @@ this.execSubmit(selines, () => {}, result) } else { confirm({ - title: btnconfig.setting.tipTitle || '纭畾瑕佹墽琛屽悧?', + title: btnconfig.setting.tipTitle || dict['exec_sure'] || '纭畾瑕佹墽琛屽悧?', + okText: dict['ok'] || '纭畾', + cancelText: dict['cancel'] || '鍙栨秷', onOk() { return new Promise(resolve => { _this.execSubmit(selines, resolve, result) @@ -3398,7 +3447,7 @@ */ getModels = () => { const { BID, btn, BData } = this.props - const { btnconfig, visible } = this.state + const { btnconfig, visible, dict } = this.state if (!btnconfig || !btnconfig.setting) return null @@ -3434,10 +3483,10 @@ /> <div className="ant-drawer-footer" style={{ position: 'absolute', zIndex: 1, right: 0, bottom: 0, width: '100%', borderTop: '1px solid #e9e9e9', padding: '10px 16px', background: '#fff', textAlign: 'right'}}> <Button onClick={this.handleCancel} style={{ marginRight: 8 }}> - {btnconfig.setting.formType !== 'check' ? '鍙栨秷' : '鍏抽棴'} + {btnconfig.setting.formType !== 'check' ? dict['cancel'] || '鍙栨秷' : dict['close'] || '鍏抽棴'} </Button> {btnconfig.setting.formType !== 'check' ? <Button onClick={this.handleOk} loading={this.state.confirmLoading} type="primary"> - 纭畾 + {dict['ok'] || '纭畾'} </Button> : null} </div> </Drawer> @@ -3465,6 +3514,8 @@ wrapClassName={'action-modal' + (btnconfig.setting.moveable === 'true' ? ' moveable-modal modal-' + btn.uuid : '')} visible={visible} width={width} + okText={dict['ok'] || '纭畾'} + cancelText={dict['cancel'] || '鍙栨秷'} onOk={this.handleOk} maskStyle={btnconfig.setting.moveable === 'true' ? {backgroundColor: 'rgba(0, 0, 0, 0.15)'} : null} confirmLoading={this.state.confirmLoading} @@ -3529,7 +3580,7 @@ changeLineCount = (count) => { const { btn, selectedData } = this.props - const { disabled } = this.state + const { disabled, dict } = this.state if (disabled) return @@ -3539,7 +3590,7 @@ // 闇�瑕侀�夋嫨琛屾椂锛屾牎楠屾暟鎹� notification.warning({ top: 92, - message: '璇烽�夋嫨琛岋紒', + message: dict['select_row'] || '璇烽�夋嫨琛岋紒', duration: 5 }) return @@ -3547,7 +3598,7 @@ // 闇�瑕侀�夋嫨鍗曡鏃讹紝鏍¢獙鏁版嵁 notification.warning({ top: 92, - message: '璇烽�夋嫨鍗曡鏁版嵁锛�', + message: dict['select_single_row'] || '璇烽�夋嫨鍗曡鏁版嵁锛�', duration: 5 }) return -- Gitblit v1.8.0