From a1e9b18a4dbfd21e1bf4d5cb60974ac2f0115efd Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期五, 30 五月 2025 15:18:44 +0800 Subject: [PATCH] 2025-05-30 --- src/tabviews/zshare/actionList/normalbutton/index.jsx | 279 ++++++++++++++++++++++++++++++++++++++++++------------- 1 files changed, 214 insertions(+), 65 deletions(-) diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index 9ddcf4e..427f649 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -413,7 +413,7 @@ if (setting.supModule && !BID) { notification.warning({ top: 92, - message: dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', + message: setting.supModTip || dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', duration: 5 }) return false @@ -422,6 +422,13 @@ notification.warning({ top: 92, message: dict['select_row'] || '璇烽�夋嫨琛岋紒', + duration: 5 + }) + return false + } else if (btn.Ot !== 'notRequired' && data[0] && !data[0].$$uuid) { + notification.warning({ + top: 92, + message: dict['id_required'] || '鏈幏鍙栧埌ID鍊硷紒', duration: 5 }) return false @@ -846,7 +853,7 @@ let val = form.value if (form.type === 'number' || form.type === 'rate') { - if (isNaN(val)) { + if (isNaN(val) || val === '') { val = 0 } } else if (['date', 'datemonth'].includes(form.type)) { @@ -1123,20 +1130,22 @@ let works_flow_sign_field = 'statuscharone' let works_flow_sign_label = '' let works_begin_branch = '' - if (line.approvalMethod === 'countersign' && node.checkIds.length > 1) { - works_flow_countersign = 'Y' - let mark = line.mark || '宸插鏍�' - let fields = ['statuscharone', 'statuschartwo', 'statuscharthree', 'statuscharfour', 'statuscharfive'] - node.checkUsers.forEach((user, index) => { - if (user.worker_id === userid) { - works_flow_sign_field = fields[index] - works_flow_sign_label = `${user.parentNames[2] || ''}${user.workername || ''}${mark}` - } else { - works_flow_sign_values += `${user.parentNames[2] || ''}${user.workername || ''}${mark}` - } - }) - } else { - works_begin_branch = line.mknode === 'startEdge' ? 'Y' : '' + if (line) { + if (line.approvalMethod === 'countersign' && node.checkIds.length > 1) { + works_flow_countersign = 'Y' + let mark = line.mark || '宸插鏍�' + let fields = ['statuscharone', 'statuschartwo', 'statuscharthree', 'statuscharfour', 'statuscharfive'] + node.checkUsers.forEach((user, index) => { + if (user.worker_id === userid) { + works_flow_sign_field = fields[index] + works_flow_sign_label = `${user.parentNames[2] || ''}${user.workername || ''}${mark}` + } else { + works_flow_sign_values += `${user.parentNames[2] || ''}${user.workername || ''}${mark}` + } + }) + } else { + works_begin_branch = line.mknode === 'startEdge' ? 'Y' : '' + } } exps.push( @@ -1322,7 +1331,7 @@ let val = form.value if (form.type === 'number' || form.type === 'rate') { - if (isNaN(val)) { + if (isNaN(val) || val === '') { val = 0 } _initFormfields.push(`@${_key}=${val}`) @@ -1524,7 +1533,7 @@ if (setting.supModule && !BID) { notification.warning({ top: 92, - message: window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', + message: setting.supModTip || window.GLOB.dict['sup_key_req'] || '闇�瑕佷笂绾т富閿�硷紒', duration: 5 }) _resolve() @@ -1739,11 +1748,23 @@ record.mk_api_key = res.mk_api_key || '' if (res.status) { - if (res.mk_ex_invoke + '' === 'false' && params.length === 0) { - this.execSuccess(res) - _resolve() - } else if (res.mk_ex_invoke + '' === 'false' && params.length > 0) { - this.customLoopRequest(params, _resolve) + res.mk_ex_invoke = res.mk_ex_invoke + '' + + if (res.mk_ex_invoke === 'false') { + if (params.length === 0) { + this.execSuccess(res) + _resolve() + } else { + this.customLoopRequest(params, _resolve) + } + } else if (res.mk_ex_invoke === 'true_inside') { + let data = res.mk_in_api && typeof(res.mk_in_api) === 'object' ? res.mk_in_api : {} + + if (!data.hasOwnProperty('mk_api_key')) { + data.mk_api_key = record.mk_api_key + } + + this.customCallbackRequest(params, data, record, _resolve) } else { if (res.mk_ex_data) { // 鏁版嵁鍒嗘壒鎵ц if (Array.isArray(res.mk_ex_data) && res.mk_ex_data.length > 0) { @@ -1800,6 +1821,7 @@ url = btn.interface } + url = url.replace(/@mydomain@/ig, window.GLOB.location) let param = {} @@ -1943,6 +1965,10 @@ if (params.length === 0) { this.execSuccess(result) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.customLoopRequest(params, _resolve) + }, btn.execInterval) } else { this.customLoopRequest(params, _resolve) } @@ -1980,6 +2006,10 @@ if (params.length === 0) { this.execSuccess(result) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.customLoopRequest(params, _resolve) + }, btn.execInterval) } else { this.customLoopRequest(params, _resolve) } @@ -2002,6 +2032,10 @@ if (params.length === 0) { this.execSuccess(res) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.customLoopRequest(params, _resolve) + }, btn.execInterval) } else { this.customLoopRequest(params, _resolve) } @@ -2349,6 +2383,10 @@ if (params.length === 0) { this.execSuccess(res) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.innerLoopRequest(params, btn, _resolve) + }, btn.execInterval) } else { this.innerLoopRequest(params, btn, _resolve) } @@ -2438,7 +2476,7 @@ * @description 澶栭儴璇锋眰寰幆鎵ц */ outerLoopRequest = (params, _resolve) => { - const { setting, btn } = this.props + const { setting, btn, BID } = this.props let param = params.shift() @@ -2467,11 +2505,29 @@ Api.genericInterface(param, btn.$innerScript, 'inner').then(res => { if (res.status) { - if ((res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) && params.length === 0) { - this.execSuccess(res) - _resolve() - } else if ((res.mk_ex_invoke === 'false' || res.mk_ex_invoke === false) && params.length > 0) { - this.outerLoopRequest(params, _resolve) + res.mk_ex_invoke = res.mk_ex_invoke + '' + + if (res.mk_ex_invoke === 'false') { + if (params.length === 0) { + this.execSuccess(res) + _resolve() + } else { + this.outerLoopRequest(params, _resolve) + } + } else if (res.mk_ex_invoke === 'true_inside') { + let data = res.mk_in_api && typeof(res.mk_in_api) === 'object' ? res.mk_in_api : {} + + if (!data.hasOwnProperty('mk_api_key')) { + data.mk_api_key = res.mk_api_key || '' + } + + // 浣跨敤澶勭悊鍚庣殑鏁版嵁璋冪敤澶栭儴鎺ュ彛 + let keys = Object.keys(data) // 鎻愪氦澶栭儴鎺ュ彛鍓嶏紝娣诲姞BID + if (BID && keys.filter(key => key.toLowerCase() === 'bid').length === 0) { + data.BID = BID + } + + this.outerCallbackRequest(params, data, record, {}, _resolve) } else { delete res.mk_ex_invoke delete res.ErrCode @@ -2481,8 +2537,8 @@ // 浣跨敤澶勭悊鍚庣殑鏁版嵁璋冪敤澶栭儴鎺ュ彛 let keys = Object.keys(res) // 鎻愪氦澶栭儴鎺ュ彛鍓嶏紝娣诲姞BID - if (this.props.BID && keys.filter(key => key.toLowerCase() === 'bid').length === 0) { - res.BID = this.props.BID + if (BID && keys.filter(key => key.toLowerCase() === 'bid').length === 0) { + res.BID = BID } if (res.mk_api_key) { @@ -2598,6 +2654,10 @@ if (params.length === 0) { this.execSuccess(result) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.outerLoopRequest(params, _resolve) + }, btn.execInterval) } else { this.outerLoopRequest(params, _resolve) } @@ -2642,6 +2702,10 @@ if (params.length === 0) { this.execSuccess(result) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.outerLoopRequest(params, _resolve) + }, btn.execInterval) } else { this.outerLoopRequest(params, _resolve) } @@ -2665,6 +2729,10 @@ if (params.length === 0) { this.execSuccess(res) _resolve() + } else if (btn.execInterval) { + setTimeout(() => { + this.outerLoopRequest(params, _resolve) + }, btn.execInterval) } else { this.outerLoopRequest(params, _resolve) } @@ -2881,7 +2949,7 @@ res.message = res.message.replace(/\s*<<.*>>\s*/g, '') val = val ? val[0].replace(/<<|>>/g, '') : '' - if (/^http/.test(val)) { + if (/^(http|\/\/)/.test(val)) { let audio = document.createElement('audio') audio.src = val audio.play() @@ -2962,8 +3030,10 @@ tabId = btn.refreshTab[btn.refreshTab.length - 1] } - if (window.backend && btn.outerFunc && ['bd_workers_create_user_sso', 's_susers_del', 's_susers_add', 's_susers_update', 's_susers_start', 's_susers_admin'].includes(btn.outerFunc)) { - this.clearBackSqlCache() + if (window.backend && btn.outerFunc && ['bd_workers_create_user_sso', 's_susers_del', 's_susers_add', 's_susers_update', 's_susers_start', 's_susers_admin'].includes(btn.outerFunc.toLowerCase())) { + setTimeout(() => { + this.clearBackSqlCache() + }, 300) } if (btn.openmenu && Array.isArray(btn.openmenu) && btn.openmenu.length > 0 && sign !== '@no_target_menu@') { @@ -2981,7 +3051,7 @@ } if (tabId && btn.$MenuID === tabId) { // 鍒锋柊褰撳墠鑿滃崟鏃讹紝鍋滄鍏朵粬鎿嶄綔 - MKEmitter.emit('reloadMenuView', tabId) + MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true') if (menu) { MKEmitter.emit('modifyTabs', menu, true) @@ -3003,15 +3073,30 @@ 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) - }) + if (btn.syncDelay) { + this.delayTimer && clearTimeout(this.delayTimer) + this.delayTimer = setTimeout(() => { + 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) + }) + }, btn.syncDelay) + } else { + 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 { @@ -3027,7 +3112,7 @@ } if (tabId) { - MKEmitter.emit('reloadMenuView', tabId) + MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true') } if (btn.switchTab && btn.switchTab.length > 0) { @@ -3094,7 +3179,7 @@ const { btn } = this.props if (!btn.verify) return - if (btn.verify.noteEnable !== 'true' && btn.verify.wxNote !== 'true' && btn.verify.printEnable !== 'true' && btn.verify.emailEnable !== 'true') return + if (btn.verify.noteEnable !== 'true' && btn.verify.wxNote !== 'true' && btn.verify.printEnable !== 'true' && btn.verify.emailEnable !== 'true' && btn.verify.DeepSeekable !== 'true') return let id = '' if (btn.output) { @@ -3121,6 +3206,9 @@ } if (btn.verify.emailEnable === 'true') { this.sendEmail(btn.verify, id) + } + if (btn.verify.DeepSeekable === 'true') { + this.openDeepSeek(id) } if (btn.verify.wxNote === 'true') { if (btn.verify.wxTemplateId === 'mk_category_temp') { @@ -3602,6 +3690,38 @@ }) } + openDeepSeek = (id) => { + let param = { + func: 's_get_deepseek_local', + upid: id + } + + param.LText = Utils.getuuid() + param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + param.secretkey = Utils.encrypt(param.LText, param.timestamp) + + Api.genericInterface(param).then(res => { + if (!res.status) { + notification.warning({ + top: 92, + message: res.message, + duration: 5 + }) + return + } + + if (res.deepseek_text) { + sessionStorage.setItem('deepseek_sql', res.deepseek_text) + + window.open('#/ai') + + setTimeout(() => { + sessionStorage.removeItem('deepseek_sql') + }, 0) + } + }) + } + /** * @description 鎿嶄綔澶辫触鍚庡鐞� * 1銆佺姸鎬佺爜涓� E銆丯銆丗銆丯M 鏃讹紝鏄剧ず鐩稿簲鎻愮ず淇℃伅 @@ -3647,7 +3767,7 @@ res.message = res.message.replace(/\s*<<.*>>\s*/g, '') val = val ? val[0].replace(/<<|>>/g, '') : '' - if (/^http/.test(val)) { + if (/^(http|\/\/)/.test(val)) { let audio = document.createElement('audio') audio.src = val audio.play() @@ -3717,7 +3837,11 @@ loadingTotal: '', }) - if (btnconfig && btnconfig.setting && btnconfig.setting.errFocus) { + if (window.CACHE.errFocusId && (btnconfig || btn.OpenType === 'formSubmit')) { + MKEmitter.emit('mkFC', 'focus', window.CACHE.errFocusId) + + window.CACHE.errFocusId = '' + } else if (btnconfig && btnconfig.setting && btnconfig.setting.errFocus) { MKEmitter.emit('mkFC', 'focus', btnconfig.setting.errFocus) } @@ -3731,7 +3855,7 @@ tabId = btn.refreshTab[btn.refreshTab.length - 1] } if (tabId && btn.$MenuID === tabId) { // 鍒锋柊褰撳墠鑿滃崟鏃讹紝鍋滄鍏朵粬鎿嶄綔 - MKEmitter.emit('reloadMenuView', tabId) + MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true') return } @@ -3739,15 +3863,30 @@ 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) - }) + if (btn.syncDelay) { + this.delayTimer && clearTimeout(this.delayTimer) + this.delayTimer = setTimeout(() => { + 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) + }) + }, btn.syncDelay) + } else { + 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 { @@ -3763,7 +3902,7 @@ } if (tabId) { - MKEmitter.emit('reloadMenuView', tabId) + MKEmitter.emit('reloadMenuView', tabId, btn.urlPar === 'true') } } @@ -3986,6 +4125,10 @@ let key = item.field.toLowerCase() let _readin = item.readin !== 'false' + if (item.type === 'linkMain' && item.verifyVal === 'true') { + _item.$verify = true + _item.label = item.label + } if (_item.type === 'date') { // 鏃堕棿鍏煎 _item.precision = item.precision || 'day' } else if (_item.type === 'datetime') { @@ -4054,8 +4197,13 @@ _item.value = _item.value.replace(/(^\s*|\s*$)/g, '') } } - if (_item.type === 'text' && /@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 鐗规畩瀛楁鏇挎崲 - _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (BID || '')) + if (_item.type === 'text') { + if (/@appkey@|@SessionUid@|@bid@/ig.test(_item.value)) { // 鐗规畩瀛楁鏇挎崲 + _item.value = _item.value.replace(/^(\s*)@appkey@(\s*)$/ig, window.GLOB.appkey).replace(/^(\s*)@SessionUid@(\s*)$/ig, (localStorage.getItem('SessionUid') || '')).replace(/^(\s*)@bid@(\s*)$/ig, (BID || '')) + } + if (/@currentYear@/ig.test(_item.value)) { // 绯荤粺鍙橀噺鏇挎崲 + _item.value = _item.value.replace(/@currentYear@/ig, moment().format('YYYY')) + } } if (_item.type === 'text' && item.lenControl && item.lenControl !== 'limit') { if (item.lenControl === 'left') { @@ -4117,13 +4265,14 @@ */ getModels = () => { const { BID, btn, BData } = this.props - const { btnconfig, visible, dict, confirmLoading, submitType } = this.state + const { btnconfig, visible, dict, confirmLoading, submitType, loadingNumber, loadingTotal } = this.state if (!btnconfig || !btnconfig.setting) return null let title = btn.label let width = btnconfig.setting.width > 100 ? btnconfig.setting.width : btnconfig.setting.width + 'vw' let clickouter = btnconfig.setting.clickouter === 'close' + let num = loadingNumber && !loadingTotal ? `(${loadingNumber}) ` : '' if (btnconfig.setting.display === 'drawer') { let height = '100vh' @@ -4192,9 +4341,9 @@ onCancel={this.handleCancel} footer={[ <Button key="cancel" onClick={this.handleCancel}>{dict['cancel'] || '鍙栨秷'}</Button>, - btn.extBtn === 'true' ? <Button key="extend" className={'extend-btn ' + (btn.extStyle || '')} disabled={confirmLoading && submitType !== btn.extValue} loading={confirmLoading && submitType === btn.extValue} onClick={() => this.handleOk(btn.extValue)}>{btn.extLabel}</Button> : null, - btn.extBtn === 'true' ? <Button key="confirm" className={'confirm-btn ' + (btn.confStyle || '')} disabled={confirmLoading && submitType !== ''} loading={confirmLoading && submitType === ''} onClick={() => this.handleOk()}>{btn.confLabel || dict['ok'] || '纭畾'}</Button> : null, - btn.extBtn !== 'true' ? <Button key="confirm" type="primary" loading={confirmLoading} onClick={() => this.handleOk()}>{dict['ok'] || '纭畾'}</Button> : null + btn.extBtn === 'true' ? <Button key="extend" className={'extend-btn ' + (btn.extStyle || '')} disabled={confirmLoading && submitType !== btn.extValue} loading={confirmLoading && submitType === btn.extValue} onClick={() => this.handleOk(btn.extValue)}>{submitType === btn.extValue ? num : ''}{btn.extLabel}</Button> : null, + btn.extBtn === 'true' ? <Button key="confirm" className={'confirm-btn ' + (btn.confStyle || '')} disabled={confirmLoading && submitType !== ''} loading={confirmLoading && submitType === ''} onClick={() => this.handleOk()}>{submitType === '' ? num : ''}{btn.confLabel || dict['ok'] || '纭畾'}</Button> : null, + btn.extBtn !== 'true' ? <Button key="confirm" type="primary" loading={confirmLoading} onClick={() => this.handleOk()}>{num}{dict['ok'] || '纭畾'}</Button> : null ]} destroyOnClose > -- Gitblit v1.8.0