From 113ff1aa0d62549730f1413fe5ffcadcf3a14f11 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期二, 23 八月 2022 11:37:24 +0800 Subject: [PATCH] 2022-08-23 --- src/utils/utils-datamanage.js | 2 src/menu/sysinterface/settingform/simplescript/index.jsx | 2 src/mob/searchconfig/index.jsx | 2 src/tabviews/formtab/index.jsx | 2 src/tabviews/formtab/actionList/index.jsx | 2 src/templates/sharecomponent/settingcomponent/settingform/simplescript/index.jsx | 2 src/tabviews/verupmanage/actionList/index.jsx | 6 src/menu/components/share/searchcomponent/index.jsx | 2 src/templates/zshare/verifycard/customscript/index.jsx | 2 src/tabviews/zshare/actionList/excelInbutton/index.jsx | 2 src/templates/treepageconfig/index.jsx | 4 src/templates/modalconfig/index.jsx | 2 src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx | 2 src/templates/sharecomponent/settingcalcomponent/verifycard/index.jsx | 2 src/views/billprint/index.jsx | 4 src/templates/sharecomponent/settingcomponent/settingform/index.jsx | 4 src/mob/modalconfig/index.jsx | 2 src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx | 2 src/views/tabledesign/tableconfig/index.jsx | 1046 ++++++++++++++++++++++++++++++ src/tabviews/zshare/actionList/normalbutton/index.jsx | 4 src/menu/datasource/verifycard/index.jsx | 4 src/menu/components/form/tab-form/index.jsx | 2 src/menu/components/share/actioncomponent/formconfig.jsx | 2 src/tabviews/custom/components/group/normal-group/index.jsx | 2 src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx | 2 src/templates/sharecomponent/treesettingcomponent/settingform/datasource/index.jsx | 2 src/templates/calendarconfig/index.jsx | 2 src/templates/sharecomponent/treesettingcomponent/settingform/index.jsx | 2 src/views/pay/index.jsx | 4 src/tabviews/custom/index.jsx | 3 src/templates/zshare/createinterface/index.jsx | 4 src/views/design/header/versions/index.jsx | 10 src/tabviews/verupmanage/index.jsx | 2 src/views/design/sidemenu/thdmenuplus/index.jsx | 31 src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx | 2 src/views/login/loginform.jsx | 2 src/views/appcheck/index.jsx | 6 src/tabviews/verupmanage/subtabtable/index.jsx | 2 src/templates/formtabconfig/index.jsx | 8 src/templates/zshare/verifycard/callbackcustomscript/index.jsx | 2 src/views/tabledesign/tableconfig/index.scss | 203 +++++ src/templates/comtableconfig/index.jsx | 2 src/tabviews/calendar/index.jsx | 2 src/templates/sharecomponent/searchcomponent/index.jsx | 2 src/tabviews/zshare/actionList/exceloutbutton/index.jsx | 8 src/menu/components/form/simple-form/index.jsx | 2 src/templates/zshare/verifycard/customform/index.jsx | 2 src/api/index.js | 130 +-- src/views/tabledesign/tableconfig/menuform/index.scss | 0 src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx | 4 src/views/tabledesign/tableconfig/source.jsx | 339 +++++++++ src/templates/zshare/createfunc/index.jsx | 6 src/tabviews/scriptmanage/actionList/index.jsx | 2 src/menu/components/form/step-form/index.jsx | 2 src/tabviews/custom/components/share/tabtransfer/index.jsx | 2 src/tabviews/rolemanage/index.jsx | 4 src/templates/zshare/formconfig.jsx | 6 src/views/tabledesign/tableconfig/menuform/index.jsx | 116 +++ src/tabviews/zshare/actionList/printbutton/index.jsx | 4 src/menu/components/search/main-search/index.jsx | 2 src/menu/modalconfig/index.jsx | 2 src/tabviews/scriptmanage/index.jsx | 2 src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx | 2 src/views/login/index.jsx | 4 64 files changed, 1,875 insertions(+), 163 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index e5b2885..7f1d3c0 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -571,33 +571,7 @@ } /** - * @description 鑾峰彇鎴栦慨鏀规湰鍦伴厤缃紝澧炲姞appkey - */ - getLocalConfig (param) { - param.userid = param.userid || sessionStorage.getItem('UserID') || '' - param.lang = param.lang || sessionStorage.getItem('lang') || '' - param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' - param.appkey = window.GLOB.appkey || '' - - let url = '/webapi/dostars' - if (param.rduri) { - url = param.rduri - delete param.rduri - } - - param = this.encryptParam(param) - - return axios({ - url: `${url}${param.func ? '/' + param.func : ''}`, - method: 'post', - data: param - }) - } - - /** * @description 鑾峰彇绯荤粺閰嶇疆锛屽彇鍊间紭鍏堢瓑绾ebsql銆佺紦瀛樸�佹湇鍔″櫒 - * @param {Object} param 璇锋眰鍙傛暟 */ getCacheConfig (param) { param.userid = sessionStorage.getItem('UserID') || '' @@ -797,18 +771,14 @@ /** * @description 鑾峰彇涓氬姟閫氱敤鎺ュ彛 + * 璁块棶 'https://sso.mk9h.cn/webapi/dostars'鎴栦簯绔椂锛屼紶鍏serid銆丩oginUID */ genericInterface (param) { - param.userid = sessionStorage.getItem('UserID') || '' - param.lang = sessionStorage.getItem('lang') || '' + param.userid = param.userid || sessionStorage.getItem('UserID') || '' + param.lang = param.lang || sessionStorage.getItem('lang') || '' param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' + param.LoginUID = param.LoginUID || sessionStorage.getItem('LoginUID') || '' param.appkey = window.GLOB.appkey || '' - - if (options.cloudServiceApi && param.rduri === options.cloudServiceApi) { // HS涓嬭彍鍗� - param.userid = sessionStorage.getItem('CloudUserID') || param.userid || '' - param.LoginUID = sessionStorage.getItem('CloudLoginUID') || param.LoginUID || '' - } let url = '/webapi/dostars' if (param.rduri && /\/dostars/.test(param.rduri) && param.func !== 'webapi_ChangeUser') { // 鍒囨崲鐢ㄦ埛闇�瑕侀�氳繃鏈湴 @@ -826,55 +796,55 @@ } /** - * @description 瀵煎嚭Excel + * @description 瀵煎嚭Excel锛屽悗鍙扮敓鎴愭枃浠� */ - getExcelOut (param, name) { - param.userid = sessionStorage.getItem('UserID') - param.lang = sessionStorage.getItem('lang') || '' - param.SessionUid = localStorage.getItem('SessionUid') || '' - param.LoginUID = sessionStorage.getItem('LoginUID') || '' - param.appkey = window.GLOB.appkey || '' + // getExcelOut (param, name) { + // param.userid = sessionStorage.getItem('UserID') + // param.lang = sessionStorage.getItem('lang') || '' + // param.SessionUid = localStorage.getItem('SessionUid') || '' + // param.LoginUID = sessionStorage.getItem('LoginUID') || '' + // param.appkey = window.GLOB.appkey || '' - return new Promise(resolve => { - axios({ - url: '/webapi/doexcel', - responseType: 'blob', - method: 'post', - data: param - }).then(res => { - try { - const blob = new Blob([res]) + // return new Promise(resolve => { + // axios({ + // url: '/webapi/doexcel', + // responseType: 'blob', + // method: 'post', + // data: param + // }).then(res => { + // try { + // const blob = new Blob([res]) - if (res.type === 'application/json') { - const reader = new FileReader() - reader.onload = e => resolve(JSON.parse(e.target.result)) - reader.readAsText(blob) - } else { - if ('download' in document.createElement('a')) { // 闈濱E涓嬭浇 - const elink = document.createElement('a') - elink.download = name - elink.style.display = 'none' - elink.href = URL.createObjectURL(blob) - document.body.appendChild(elink) - elink.click() - URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄 - document.body.removeChild(elink) - } else { // IE10+涓嬭浇 - navigator.msSaveBlob(blob, name) - } - resolve() - } - } catch (e) { - resolve({ - ErrCode: 'E', - ErrMesg: '鏂囦欢瑙f瀽閿欒', - message: '', - status: false - }) - } - }) - }) - } + // if (res.type === 'application/json') { + // const reader = new FileReader() + // reader.onload = e => resolve(JSON.parse(e.target.result)) + // reader.readAsText(blob) + // } else { + // if ('download' in document.createElement('a')) { // 闈濱E涓嬭浇 + // const elink = document.createElement('a') + // elink.download = name + // elink.style.display = 'none' + // elink.href = URL.createObjectURL(blob) + // document.body.appendChild(elink) + // elink.click() + // URL.revokeObjectURL(elink.href) // 閲婃斁URL 瀵硅薄 + // document.body.removeChild(elink) + // } else { // IE10+涓嬭浇 + // navigator.msSaveBlob(blob, name) + // } + // resolve() + // } + // } catch (e) { + // resolve({ + // ErrCode: 'E', + // ErrMesg: '鏂囦欢瑙f瀽閿欒', + // message: '', + // status: false + // }) + // } + // }) + // }) + // } /** * @description 涓婁紶base64 diff --git a/src/menu/components/form/simple-form/index.jsx b/src/menu/components/form/simple-form/index.jsx index e1c5299..7aa4c24 100644 --- a/src/menu/components/form/simple-form/index.jsx +++ b/src/menu/components/form/simple-form/index.jsx @@ -514,7 +514,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/menu/components/form/step-form/index.jsx b/src/menu/components/form/step-form/index.jsx index 230b51d..4ccf43c 100644 --- a/src/menu/components/form/step-form/index.jsx +++ b/src/menu/components/form/step-form/index.jsx @@ -615,7 +615,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/menu/components/form/tab-form/index.jsx b/src/menu/components/form/tab-form/index.jsx index ff6e32b..711552c 100644 --- a/src/menu/components/form/tab-form/index.jsx +++ b/src/menu/components/form/tab-form/index.jsx @@ -621,7 +621,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/menu/components/search/main-search/index.jsx b/src/menu/components/search/main-search/index.jsx index 8f67966..379f56b 100644 --- a/src/menu/components/search/main-search/index.jsx +++ b/src/menu/components/search/main-search/index.jsx @@ -286,7 +286,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ card: card, diff --git a/src/menu/components/share/actioncomponent/formconfig.jsx b/src/menu/components/share/actioncomponent/formconfig.jsx index 25baad2..46fd198 100644 --- a/src/menu/components/share/actioncomponent/formconfig.jsx +++ b/src/menu/components/share/actioncomponent/formconfig.jsx @@ -97,8 +97,8 @@ const isApp = ['pc', 'mob'].includes(appType) let funTypes = [ - { value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' }, { value: 'print', text: '鏍囩鎵撳嵃' }, + { value: 'changeuser', text: '鍒囨崲鐢ㄦ埛' }, { value: 'closetab', text: '鏍囩鍏抽棴' }, { value: 'megvii', text: '鏃疯闈㈡澘鏈�' }, { value: 'filezip', text: '鏂囦欢鍘嬬缉鍖�' }, diff --git a/src/menu/components/share/searchcomponent/index.jsx b/src/menu/components/share/searchcomponent/index.jsx index dc49dc5..e03d2e9 100644 --- a/src/menu/components/share/searchcomponent/index.jsx +++ b/src/menu/components/share/searchcomponent/index.jsx @@ -233,7 +233,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx b/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx index cbd84c7..0d6e3ec 100644 --- a/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx +++ b/src/menu/components/table/edit-table/columns/tableIn/customscript/index.jsx @@ -172,7 +172,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { this.setState({ loading: false, diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx index e692605..b34a013 100644 --- a/src/menu/datasource/verifycard/index.jsx +++ b/src/menu/datasource/verifycard/index.jsx @@ -619,10 +619,10 @@ sumParam.secretkey = Utils.encrypt('', sumParam.timestamp) } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { if (sumParam) { - Api.getLocalConfig(sumParam).then(res => { + Api.genericInterface(sumParam).then(res => { if (res.status) { resolve() } else { diff --git a/src/menu/modalconfig/index.jsx b/src/menu/modalconfig/index.jsx index 89d315a..abc8389 100644 --- a/src/menu/modalconfig/index.jsx +++ b/src/menu/modalconfig/index.jsx @@ -288,7 +288,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/menu/sysinterface/settingform/simplescript/index.jsx b/src/menu/sysinterface/settingform/simplescript/index.jsx index 5392bbd..9f13e66 100644 --- a/src/menu/sysinterface/settingform/simplescript/index.jsx +++ b/src/menu/sysinterface/settingform/simplescript/index.jsx @@ -259,7 +259,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ loading: false, diff --git a/src/mob/modalconfig/index.jsx b/src/mob/modalconfig/index.jsx index 2bc3d6c..2476590 100644 --- a/src/mob/modalconfig/index.jsx +++ b/src/mob/modalconfig/index.jsx @@ -287,7 +287,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/mob/searchconfig/index.jsx b/src/mob/searchconfig/index.jsx index a240a6c..ff9ea70 100644 --- a/src/mob/searchconfig/index.jsx +++ b/src/mob/searchconfig/index.jsx @@ -248,7 +248,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/tabviews/calendar/index.jsx b/src/tabviews/calendar/index.jsx index a769ee8..c7485e1 100644 --- a/src/tabviews/calendar/index.jsx +++ b/src/tabviews/calendar/index.jsx @@ -301,6 +301,8 @@ if (window.GLOB.mkHS) { if (setting.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (setting.sysInterface !== 'true') { param.rduri = setting.interface } diff --git a/src/tabviews/custom/components/group/normal-group/index.jsx b/src/tabviews/custom/components/group/normal-group/index.jsx index 3a2fc09..699fd28 100644 --- a/src/tabviews/custom/components/group/normal-group/index.jsx +++ b/src/tabviews/custom/components/group/normal-group/index.jsx @@ -111,7 +111,7 @@ let param = getStructuredParams(params, this.props.config, BID) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { delete result.status delete result.message diff --git a/src/tabviews/custom/components/share/tabtransfer/index.jsx b/src/tabviews/custom/components/share/tabtransfer/index.jsx index a4b2f94..1ce33c9 100644 --- a/src/tabviews/custom/components/share/tabtransfer/index.jsx +++ b/src/tabviews/custom/components/share/tabtransfer/index.jsx @@ -131,7 +131,7 @@ let param = getStructuredParams(params, this.props.config, BID) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { delete result.status delete result.message diff --git a/src/tabviews/custom/index.jsx b/src/tabviews/custom/index.jsx index 8391658..c468159 100644 --- a/src/tabviews/custom/index.jsx +++ b/src/tabviews/custom/index.jsx @@ -899,6 +899,7 @@ // group.subButton.$forbid = true // 涓嶅0鏄庢暟鎹簮鍙橀噺 group.subButton.OpenType = 'formSubmit' group.subButton.execError = 'never' + group.subButton.logLabel = item.$menuname + '-' + group.subButton.label if (!group.subButton.Ot) { group.subButton.Ot = item.wrap.datatype === 'static' ? 'notRequired' : 'requiredSgl' @@ -1112,7 +1113,7 @@ this.setState({loading: true, loadingview: false}) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { delete result.status delete result.message diff --git a/src/tabviews/formtab/actionList/index.jsx b/src/tabviews/formtab/actionList/index.jsx index a9f47c9..87e516a 100644 --- a/src/tabviews/formtab/actionList/index.jsx +++ b/src/tabviews/formtab/actionList/index.jsx @@ -210,6 +210,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { res.rduri = btn.interface } diff --git a/src/tabviews/formtab/index.jsx b/src/tabviews/formtab/index.jsx index f4b1eea..3ff7443 100644 --- a/src/tabviews/formtab/index.jsx +++ b/src/tabviews/formtab/index.jsx @@ -459,6 +459,8 @@ if (window.GLOB.mkHS) { if (setting.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (setting.sysInterface !== 'true') { param.rduri = setting.interface } diff --git a/src/tabviews/rolemanage/index.jsx b/src/tabviews/rolemanage/index.jsx index 6292715..cbcbbf7 100644 --- a/src/tabviews/rolemanage/index.jsx +++ b/src/tabviews/rolemanage/index.jsx @@ -558,7 +558,7 @@ this.getSelectMenuList() }) if (window.GLOB.mainSystemApi) { - Api.getLocalConfig(localParam).then(res => { + Api.genericInterface(localParam).then(res => { if (!res.status) { notification.warning({ top: 92, @@ -627,7 +627,7 @@ }) if (window.GLOB.mainSystemApi) { - Api.getLocalConfig(localParam).then(res => { + Api.genericInterface(localParam).then(res => { if (!res.status) { notification.warning({ top: 92, diff --git a/src/tabviews/scriptmanage/actionList/index.jsx b/src/tabviews/scriptmanage/actionList/index.jsx index 6ddf524..500aa55 100644 --- a/src/tabviews/scriptmanage/actionList/index.jsx +++ b/src/tabviews/scriptmanage/actionList/index.jsx @@ -134,6 +134,8 @@ if (options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } Api.genericInterface(param).then((res) => { diff --git a/src/tabviews/scriptmanage/index.jsx b/src/tabviews/scriptmanage/index.jsx index df5e94b..15c1be5 100644 --- a/src/tabviews/scriptmanage/index.jsx +++ b/src/tabviews/scriptmanage/index.jsx @@ -129,6 +129,8 @@ if (options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } let result = await Api.genericInterface(param) diff --git a/src/tabviews/verupmanage/actionList/index.jsx b/src/tabviews/verupmanage/actionList/index.jsx index 41c9e8b..b9d18d3 100644 --- a/src/tabviews/verupmanage/actionList/index.jsx +++ b/src/tabviews/verupmanage/actionList/index.jsx @@ -496,6 +496,8 @@ } } else if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { res.rduri = btn.interface } @@ -535,7 +537,7 @@ _callbackparam.open_key = Utils.encryptOpenKey(_callbackparam.secretkey, _callbackparam.timestamp) } - return Api.getLocalConfig(_callbackparam) + return Api.genericInterface(_callbackparam) } else { if (response.status) { // 涓�娆¤姹傛垚鍔燂紝杩涜涓嬩竴椤硅姹� @@ -558,7 +560,7 @@ if (!res.status) { errRes = res } - return Api.getLocalConfig(_localParam) + return Api.genericInterface(_localParam) } else if (res.status) { if (params.length === 0) { this.execSuccess(btn, res) diff --git a/src/tabviews/verupmanage/index.jsx b/src/tabviews/verupmanage/index.jsx index d982822..23908ba 100644 --- a/src/tabviews/verupmanage/index.jsx +++ b/src/tabviews/verupmanage/index.jsx @@ -193,6 +193,8 @@ } else { if (setting.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (setting.sysInterface !== 'true') { param.rduri = setting.interface } diff --git a/src/tabviews/verupmanage/subtabtable/index.jsx b/src/tabviews/verupmanage/subtabtable/index.jsx index fd00229..f7cb699 100644 --- a/src/tabviews/verupmanage/subtabtable/index.jsx +++ b/src/tabviews/verupmanage/subtabtable/index.jsx @@ -215,6 +215,8 @@ } else { if (setting.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (setting.sysInterface !== 'true') { param.rduri = setting.interface } diff --git a/src/tabviews/zshare/actionList/excelInbutton/index.jsx b/src/tabviews/zshare/actionList/excelInbutton/index.jsx index 81148eb..01747a5 100644 --- a/src/tabviews/zshare/actionList/excelInbutton/index.jsx +++ b/src/tabviews/zshare/actionList/excelInbutton/index.jsx @@ -412,6 +412,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { param.rduri = btn.proInterface diff --git a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx index 72c81d2..31c7d41 100644 --- a/src/tabviews/zshare/actionList/exceloutbutton/index.jsx +++ b/src/tabviews/zshare/actionList/exceloutbutton/index.jsx @@ -242,6 +242,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { param.rduri = btn.proInterface @@ -288,6 +290,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { res.rduri = btn.proInterface @@ -357,6 +361,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { res.rduri = btn.proInterface @@ -429,6 +435,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { param.rduri = btn.proInterface diff --git a/src/tabviews/zshare/actionList/normalbutton/index.jsx b/src/tabviews/zshare/actionList/normalbutton/index.jsx index 106be56..4f27208 100644 --- a/src/tabviews/zshare/actionList/normalbutton/index.jsx +++ b/src/tabviews/zshare/actionList/normalbutton/index.jsx @@ -1584,6 +1584,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { result.rduri = options.cloudServiceApi + result.userid = sessionStorage.getItem('CloudUserID') || '' + result.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { result.rduri = btn.proInterface @@ -2009,7 +2011,7 @@ _param.userid = 'bh0bapabtd45epsgra79segbch6c1ibk' _param.LoginUID = 'bh0bapabtd45epsgra79segbch6c1ibk' - Api.getLocalConfig(_param).then(result => { + Api.genericInterface(_param).then(result => { if (!result.status) { notification.warning({ top: 92, diff --git a/src/tabviews/zshare/actionList/printbutton/index.jsx b/src/tabviews/zshare/actionList/printbutton/index.jsx index 8eeb0c5..55468e2 100644 --- a/src/tabviews/zshare/actionList/printbutton/index.jsx +++ b/src/tabviews/zshare/actionList/printbutton/index.jsx @@ -379,7 +379,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { result.tempId = tempId resolve(result) }) @@ -825,6 +825,8 @@ if (window.GLOB.mkHS) { if (btn.sysInterface === 'true' && options.cloudServiceApi) { res.rduri = options.cloudServiceApi + res.userid = sessionStorage.getItem('CloudUserID') || '' + res.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (btn.sysInterface !== 'true') { if (window.GLOB.systemType === 'production' && btn.proInterface) { res.rduri = btn.proInterface diff --git a/src/templates/calendarconfig/index.jsx b/src/templates/calendarconfig/index.jsx index fdceaff..272e505 100644 --- a/src/templates/calendarconfig/index.jsx +++ b/src/templates/calendarconfig/index.jsx @@ -519,7 +519,7 @@ delete localParam.EasyCode delete localParam.open_edition - Api.getLocalConfig(localParam) + Api.genericInterface(localParam) } else { this.setState({ menuloading: false, diff --git a/src/templates/comtableconfig/index.jsx b/src/templates/comtableconfig/index.jsx index 7ec73f5..f536dba 100644 --- a/src/templates/comtableconfig/index.jsx +++ b/src/templates/comtableconfig/index.jsx @@ -732,7 +732,7 @@ }) } this.props.reloadmenu() - Api.getLocalConfig(localParam) + Api.genericInterface(localParam) } else { this.setState({ menuloading: false, diff --git a/src/templates/formtabconfig/index.jsx b/src/templates/formtabconfig/index.jsx index 1ca9259..fd2e37b 100644 --- a/src/templates/formtabconfig/index.jsx +++ b/src/templates/formtabconfig/index.jsx @@ -608,7 +608,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, @@ -749,7 +749,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) - Api.getLocalConfig(param) + Api.genericInterface(param) } let _config = {...config, setting: setting} @@ -1434,7 +1434,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) - Api.getLocalConfig(param) + Api.genericInterface(param) } if (res.interType === 'inner' && !res.innerFunc && res.dataresource && /\s/.test(res.dataresource)) { @@ -1454,7 +1454,7 @@ param.LText = Utils.formatOptions(param.LText) param.secretkey = Utils.encrypt('', param.timestamp) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/templates/modalconfig/index.jsx b/src/templates/modalconfig/index.jsx index e6212f8..9f35ed0 100644 --- a/src/templates/modalconfig/index.jsx +++ b/src/templates/modalconfig/index.jsx @@ -430,7 +430,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx index 4b8738a..ad293e5 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelin/customscript/index.jsx @@ -185,7 +185,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { this.setState({ loading: false, diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx index 320eaca..9d3d7e7 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/customscript/index.jsx @@ -173,7 +173,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { this.setState({ loading: false, diff --git a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx index 489a1b5..b66add0 100644 --- a/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx +++ b/src/templates/sharecomponent/actioncomponent/verifyexcelout/index.jsx @@ -657,7 +657,7 @@ this.setState({ loading: true }) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { this.setState({ loading: false }) @@ -888,7 +888,7 @@ param.timestamp = timestamp param.secretkey = Utils.encrypt('', timestamp) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { _resolve() } else { diff --git a/src/templates/sharecomponent/searchcomponent/index.jsx b/src/templates/sharecomponent/searchcomponent/index.jsx index 2f848fc..5f5132c 100644 --- a/src/templates/sharecomponent/searchcomponent/index.jsx +++ b/src/templates/sharecomponent/searchcomponent/index.jsx @@ -240,7 +240,7 @@ param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ sqlVerifing: false, diff --git a/src/templates/sharecomponent/settingcalcomponent/verifycard/index.jsx b/src/templates/sharecomponent/settingcalcomponent/verifycard/index.jsx index a478d38..58a558c 100644 --- a/src/templates/sharecomponent/settingcalcomponent/verifycard/index.jsx +++ b/src/templates/sharecomponent/settingcalcomponent/verifycard/index.jsx @@ -301,7 +301,7 @@ param.timestamp = timestamp param.secretkey = Utils.encrypt('', timestamp) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { resolve() } else { diff --git a/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx b/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx index c07d5f6..b61e619 100644 --- a/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx +++ b/src/templates/sharecomponent/settingcalcomponent/verifycard/settingform/index.jsx @@ -119,7 +119,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) - Api.getLocalConfig(param) + Api.genericInterface(param) } resolve(values) diff --git a/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx index 7a60231..c00c44f 100644 --- a/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/settingform/datasource/index.jsx @@ -152,7 +152,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) - Api.getLocalConfig(param) + Api.genericInterface(param) } resolve(values) diff --git a/src/templates/sharecomponent/settingcomponent/settingform/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/index.jsx index 2fec3e1..26f8ae0 100644 --- a/src/templates/sharecomponent/settingcomponent/settingform/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/settingform/index.jsx @@ -346,10 +346,10 @@ sumParam.secretkey = Utils.encrypt('', sumParam.timestamp) } - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { if (sumParam) { - Api.getLocalConfig(sumParam).then(res => { + Api.genericInterface(sumParam).then(res => { if (res.status) { _resolve() } else { diff --git a/src/templates/sharecomponent/settingcomponent/settingform/simplescript/index.jsx b/src/templates/sharecomponent/settingcomponent/settingform/simplescript/index.jsx index 0f40714..144b09e 100644 --- a/src/templates/sharecomponent/settingcomponent/settingform/simplescript/index.jsx +++ b/src/templates/sharecomponent/settingcomponent/settingform/simplescript/index.jsx @@ -296,7 +296,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { this.setState({ loading: false, diff --git a/src/templates/sharecomponent/treesettingcomponent/settingform/datasource/index.jsx b/src/templates/sharecomponent/treesettingcomponent/settingform/datasource/index.jsx index 0bf23eb..4562d28 100644 --- a/src/templates/sharecomponent/treesettingcomponent/settingform/datasource/index.jsx +++ b/src/templates/sharecomponent/treesettingcomponent/settingform/datasource/index.jsx @@ -137,7 +137,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LText, param.timestamp) - Api.getLocalConfig(param) + Api.genericInterface(param) } resolve(values) diff --git a/src/templates/sharecomponent/treesettingcomponent/settingform/index.jsx b/src/templates/sharecomponent/treesettingcomponent/settingform/index.jsx index b3958a5..0abd359 100644 --- a/src/templates/sharecomponent/treesettingcomponent/settingform/index.jsx +++ b/src/templates/sharecomponent/treesettingcomponent/settingform/index.jsx @@ -145,7 +145,7 @@ param.timestamp = timestamp param.secretkey = Utils.encrypt('', timestamp) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { _resolve() } else { diff --git a/src/templates/treepageconfig/index.jsx b/src/templates/treepageconfig/index.jsx index 0d4a1ab..c5da906 100644 --- a/src/templates/treepageconfig/index.jsx +++ b/src/templates/treepageconfig/index.jsx @@ -426,7 +426,7 @@ }) this.props.reloadmenu() - Api.getLocalConfig(localParam) + Api.genericInterface(localParam) if (this.state.closeVisible) { this.props.handleView() @@ -456,7 +456,7 @@ }) this.props.reloadmenu() - Api.getLocalConfig(localParam) + Api.genericInterface(localParam) if (this.state.closeVisible) { this.props.handleView() diff --git a/src/templates/zshare/createfunc/index.jsx b/src/templates/zshare/createfunc/index.jsx index 92e31e1..b37c619 100644 --- a/src/templates/zshare/createfunc/index.jsx +++ b/src/templates/zshare/createfunc/index.jsx @@ -59,7 +59,7 @@ _param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') _param.secretkey = Utils.encrypt(_param.LText, _param.timestamp) - return Api.getLocalConfig(_param) + return Api.genericInterface(_param) }).then(res => { if (!res) return res @@ -143,7 +143,7 @@ _param.secretkey = Utils.encrypt(_param.LText, _param.timestamp) _param.open_key = Utils.encryptOpenKey(_param.secretkey, _param.timestamp) - return Api.getLocalConfig(_param) + return Api.genericInterface(_param) }).then(res => { if (!res || res === 'create') return res @@ -171,7 +171,7 @@ _param.secretkey = Utils.encrypt(_param.LText, _param.timestamp) _param.open_key = Utils.encryptOpenKey(_param.secretkey, _param.timestamp) - return Api.getLocalConfig(_param) + return Api.genericInterface(_param) }).then(res => { this.setState({ loading: false diff --git a/src/templates/zshare/createinterface/index.jsx b/src/templates/zshare/createinterface/index.jsx index 4156e22..e9f01cf 100644 --- a/src/templates/zshare/createinterface/index.jsx +++ b/src/templates/zshare/createinterface/index.jsx @@ -262,7 +262,7 @@ new Promise(resolve => { // 鑾峰彇浜戠瀛樺偍杩囩▼淇℃伅 - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (!result.status) { notification.warning({ top: 92, @@ -558,7 +558,7 @@ _mainParam = fromJS(param).toJS() - return Api.getLocalConfig(param) + return Api.genericInterface(param) }).then(res => { if (res === false) return res diff --git a/src/templates/zshare/formconfig.jsx b/src/templates/zshare/formconfig.jsx index 8bd43e2..d573604 100644 --- a/src/templates/zshare/formconfig.jsx +++ b/src/templates/zshare/formconfig.jsx @@ -977,12 +977,12 @@ initVal: card.funcType || '', required: true, options: [{ - value: 'changeuser', - text: '鍒囨崲鐢ㄦ埛' - }, { value: 'print', text: '鏍囩鎵撳嵃' }, { + value: 'changeuser', + text: '鍒囨崲鐢ㄦ埛' + }, { value: 'closetab', text: '鏍囩鍏抽棴' }, { diff --git a/src/templates/zshare/verifycard/callbackcustomscript/index.jsx b/src/templates/zshare/verifycard/callbackcustomscript/index.jsx index f14e1be..ce8b2f5 100644 --- a/src/templates/zshare/verifycard/callbackcustomscript/index.jsx +++ b/src/templates/zshare/verifycard/callbackcustomscript/index.jsx @@ -155,7 +155,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { this.setState({ loading: false, diff --git a/src/templates/zshare/verifycard/customform/index.jsx b/src/templates/zshare/verifycard/customform/index.jsx index 6ae1a37..1b96426 100644 --- a/src/templates/zshare/verifycard/customform/index.jsx +++ b/src/templates/zshare/verifycard/customform/index.jsx @@ -123,7 +123,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { this.setState({ loading: false, diff --git a/src/templates/zshare/verifycard/customscript/index.jsx b/src/templates/zshare/verifycard/customscript/index.jsx index 2211b58..7b42a66 100644 --- a/src/templates/zshare/verifycard/customscript/index.jsx +++ b/src/templates/zshare/verifycard/customscript/index.jsx @@ -185,7 +185,7 @@ param.secretkey = Utils.encrypt('', param.timestamp) this.setState({loading: true}) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { this.setState({ loading: false, diff --git a/src/utils/utils-datamanage.js b/src/utils/utils-datamanage.js index 8e02550..06fc8f6 100644 --- a/src/utils/utils-datamanage.js +++ b/src/utils/utils-datamanage.js @@ -58,6 +58,8 @@ if (window.GLOB.mkHS) { if (setting.sysInterface === 'true' && options.cloudServiceApi) { param.rduri = options.cloudServiceApi + param.userid = sessionStorage.getItem('CloudUserID') || '' + param.LoginUID = sessionStorage.getItem('CloudLoginUID') || '' } else if (setting.sysInterface !== 'true') { param.rduri = setting.interface } diff --git a/src/views/appcheck/index.jsx b/src/views/appcheck/index.jsx index 7317ebb..1023652 100644 --- a/src/views/appcheck/index.jsx +++ b/src/views/appcheck/index.jsx @@ -67,13 +67,15 @@ func: 's_get_kei' } - param.rduri = window.GLOB.mainSystemApi + if (window.GLOB.mainSystemApi) { + param.rduri = window.GLOB.mainSystemApi + } this.setState({ loading: true }) - Api.getLocalConfig(param).then(result => { + Api.genericInterface(param).then(result => { if (result.status) { let selectApp = null let applist = result.data.map(item => { diff --git a/src/views/billprint/index.jsx b/src/views/billprint/index.jsx index 650c02f..3b63525 100644 --- a/src/views/billprint/index.jsx +++ b/src/views/billprint/index.jsx @@ -150,7 +150,7 @@ _param.rduri = window.GLOB.mainSystemApi } - Api.getLocalConfig(_param).then(result => { + Api.genericInterface(_param).then(result => { if (result.status) { let config = '' @@ -501,7 +501,7 @@ let componentId = item.componentId delete item.componentId return new Promise(resolve => { - Api.getLocalConfig(item).then(res => { + Api.genericInterface(item).then(res => { if (!res.status) { notification.warning({ top: 92, diff --git a/src/views/design/header/versions/index.jsx b/src/views/design/header/versions/index.jsx index b2883da..806b3ac 100644 --- a/src/views/design/header/versions/index.jsx +++ b/src/views/design/header/versions/index.jsx @@ -116,7 +116,7 @@ res.func = 's_sVersion_Local_add' res.VersionName = version.id - Api.getLocalConfig(res).then(result => { + Api.genericInterface(res).then(result => { if (!result.status) { notification.warning({ top: 92, @@ -151,7 +151,7 @@ param.secretkey = Utils.encrypt(param.LText, param.timestamp) param.DateCount = '' - Api.getLocalConfig(param).then(response => { + Api.genericInterface(param).then(response => { if (!response.status) { notification.warning({ top: 92, @@ -232,7 +232,7 @@ } execSso = (ssoParam, scripts) => { - Api.getLocalConfig(ssoParam).then(res => { + Api.genericInterface(ssoParam).then(res => { if (!res.status) { notification.warning({ top: 92, @@ -260,7 +260,7 @@ } execLocal = (localParam, ssoParam, scripts) => { - Api.getLocalConfig(localParam).then(res => { + Api.genericInterface(localParam).then(res => { if (!res.status) { notification.warning({ top: 92, @@ -327,7 +327,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt('', param.timestamp) - Api.getLocalConfig(param).then(response => { + Api.genericInterface(param).then(response => { if (!response.status) { notification.warning({ top: 92, diff --git a/src/views/design/sidemenu/thdmenuplus/index.jsx b/src/views/design/sidemenu/thdmenuplus/index.jsx index bbf051e..8d3ab63 100644 --- a/src/views/design/sidemenu/thdmenuplus/index.jsx +++ b/src/views/design/sidemenu/thdmenuplus/index.jsx @@ -70,6 +70,7 @@ _templates.push({ uuid: temp.MenuID, title: temp.MenuName, + MenuNo: temp.MenuNo, type: temp.Template, url: illust[temp.Template], disabled: temp.disabled || false, @@ -311,21 +312,23 @@ </Row> <Row> {this.state.usedTemplates.map((template, index) => { - if (!tempSearchKey || template.title.toLowerCase().indexOf(tempSearchKey.toLowerCase()) >= 0) { - return ( - <Col key={template.type + index} className={template.disabled ? 'disabled' : ''} title={template.disTitle || ''} span={6}> - <Card - title={template.title}> - <img onClick={() => {this.previewPicture(template)}} src={template.url} alt=""/> - <div className="card-operation"> - <Button type="primary" onClick={() => {this.useTemplate(template, 'user')}}>浣跨敤妯℃澘</Button> - </div> - </Card> - </Col> - ) - } else { - return null + if (tempSearchKey) { + if ((template.title + template.MenuNo).toLowerCase().indexOf(tempSearchKey.toLowerCase()) === -1) { + return null + } } + + return ( + <Col key={template.type + index} className={template.disabled ? 'disabled' : ''} title={template.disTitle || ''} span={6}> + <Card + title={template.title}> + <img onClick={() => {this.previewPicture(template)}} src={template.url} alt=""/> + <div className="card-operation"> + <Button type="primary" onClick={() => {this.useTemplate(template, 'user')}}>浣跨敤妯℃澘</Button> + </div> + </Card> + </Col> + ) })} </Row> </TabPane> diff --git a/src/views/login/index.jsx b/src/views/login/index.jsx index ef494ff..7d5d094 100644 --- a/src/views/login/index.jsx +++ b/src/views/login/index.jsx @@ -643,7 +643,7 @@ // positecgroup // if (res.users_upt === 'true' && window.GLOB.systemType === 'production') { - // Api.getLocalConfig ({ + // Api.genericInterface ({ // func: 's_Get_local_u_deleted', // users_upt_date: res.users_upt_date, // userid: result.UserID, @@ -659,7 +659,7 @@ // LoginUID: result.LoginUID // }).then(ssores => { // if (!ssores.status) return - // Api.getLocalConfig ({ + // Api.genericInterface ({ // func: 's_get_local_u_create', // user_ids_local: ssores.user_ids_local, // userid: result.UserID, diff --git a/src/views/login/loginform.jsx b/src/views/login/loginform.jsx index 899f6d0..c3ccfd1 100644 --- a/src/views/login/loginform.jsx +++ b/src/views/login/loginform.jsx @@ -309,7 +309,7 @@ }) LoginVerCodeTimer = setTimeout(this.resetVerCodeDelay, 1000) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { } else { diff --git a/src/views/pay/index.jsx b/src/views/pay/index.jsx index d4afd08..788a5c5 100644 --- a/src/views/pay/index.jsx +++ b/src/views/pay/index.jsx @@ -74,7 +74,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LTextOut, param.timestamp) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.status) { let _total = res.amount ? parseFloat(res.amount.total) : '' @@ -174,7 +174,7 @@ param.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') param.secretkey = Utils.encrypt(param.LTextOut, param.timestamp) - Api.getLocalConfig(param).then(res => { + Api.genericInterface(param).then(res => { if (res.pay_status) { this.setState({ overdone: true diff --git a/src/views/tabledesign/tableconfig/index.jsx b/src/views/tabledesign/tableconfig/index.jsx new file mode 100644 index 0000000..a233a6a --- /dev/null +++ b/src/views/tabledesign/tableconfig/index.jsx @@ -0,0 +1,1046 @@ +import React, {Component} from 'react' +import PropTypes from 'prop-types' +import { is, fromJS } from 'immutable' +import { DndProvider } from 'react-dnd' +import HTML5Backend from 'react-dnd-html5-backend' +import { Modal, notification } from 'antd' +import moment from 'moment' + +import Api from '@/api' +import zhCN from '@/locales/zh-CN/model.js' +import enUS from '@/locales/en-US/model.js' +import Utils from '@/utils/utils.js' +import MKEmitter from '@/utils/events.js' +import { updateSubTable } from '@/utils/utils-update.js' + +import asyncComponent from '@/utils/asyncComponent' +import SearchComponent from '@/templates/sharecomponent/searchcomponent' +import ActionComponent from '@/templates/sharecomponent/actioncomponent' +import ColumnComponent from '@/templates/sharecomponent/columncomponent' + +import Source from './source' +import './index.scss' + +const { confirm } = Modal + +const SettingComponent = asyncComponent(() => import('@/templates/sharecomponent/settingcomponent')) + +class TableConfig extends Component { + static propTpyes = { + menu: PropTypes.any, + editTab: PropTypes.any, + tabConfig: PropTypes.any, + editSubTab: PropTypes.any, + btnTab: PropTypes.any, + btnTabConfig: PropTypes.any, + config: PropTypes.any, + handleView: PropTypes.func + } + + state = { + dict: sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS, // 瀛楀吀 + config: null, // 椤甸潰閰嶇疆 + visible: false, // 鎼滅储鏉′欢銆佹寜閽�佹樉绀哄垪锛屾ā鎬佹鏄剧ず鎺у埗 + menuloading: false, // 鑿滃崟淇濆瓨涓� + menucloseloading: false, // 鑿滃崟鍏抽棴鏃讹紝閫夋嫨淇濆瓨 + loading: false, // 鍔犺浇涓紝椤甸潰spin + closeVisible: false, // 鍏抽棴妯℃�佹 + originConfig: null, // 鍘熼厤缃� + originActions: null, // 鍘熷鎸夐挳淇℃伅锛屼娇鐢ㄥ凡鏈夌敤鎴锋ā鏉� + delActions: [], // 鍒犻櫎鎸夐挳鍒楄〃 + copyActions: [], // 澶嶅埗鎸夐挳缁� + tabviews: [], // 鎵�鏈夋爣绛鹃〉 + thawButtons: [], // 宸查�夋嫨瑕佽В鍐荤殑鎸夐挳 + activeKey: '0', // 榛樿灞曞紑鍩烘湰淇℃伅 + chartview: null, // 褰撳墠瑙嗗浘 + openEdition: '', // 缂栬緫鐗堟湰鏍囪锛岄槻姝㈠浜烘搷浣� + modalStatus: false // 寮圭獥鏄惁寮�鍚紝鍒ゆ柇ctrl+s鏄惁鍙敤 + } + + /** + * @description 鏁版嵁棰勫鐞� + * 1銆佽缃〉闈㈤厤缃俊鎭紝鏂板缓鎴栨棤閰嶇疆淇℃伅鏃讹紙鍒囨崲妯℃澘鍚庢棤閰嶇疆淇℃伅锛夛紝浣跨敤妯℃澘榛樿閰嶇疆 + * 2銆佽缃搷浣滅被鍨嬨�佸師濮嬭彍鍗曚俊鎭紙姣忔淇濆瓨鍚庨噸缃級銆佸凡浣跨敤琛ㄥ強鍩烘湰淇℃伅琛ㄥ崟 + */ + UNSAFE_componentWillMount () { + const { config, editTab, editSubTab } = this.props + + let _config = null + + if (!config) { + _config = fromJS(Source.baseConfig).toJS() + _config.uuid = editSubTab ? editSubTab.linkTab : editTab.linkTab + _config.tabName = editSubTab ? editSubTab.label : editTab.label + _config.isAdd = true + } else { + _config = fromJS(config).toJS() + } + + let _oriActions = [] + + if (_config.type === 'user') { + _config.action = _config.action.map(item => { + let uuid = Utils.getuuid() + + if (item.linkTab) { + item.linkTab = '' + } + + if (item.OpenType === 'pop') { // 鍚湁瀛愰厤缃」鐨勬寜閽� + _oriActions.push({ + prebtn: fromJS(item).toJS(), + curuuid: uuid, + Template: 'Modal' + }) + } + + item.uuid = uuid + return item + }) + } + + let _activeKey = editSubTab ? editSubTab.activeKey : editTab.activeKey + + // 鐗堟湰鍏煎 + _config = updateSubTable(_config) + + this.setState({ + openEdition: editSubTab ? (editSubTab.open_edition || '') : (editTab.open_edition || ''), + chartview: _config.charts ? _config.charts[0].uuid : '', + originActions: _oriActions, + config: _config, + activeKey: _activeKey || '0', + originConfig: fromJS(_config).toJS(), + }) + } + + /** + * @description 鍔犺浇瀹屾垚鍚� + * 1銆佽幏鍙栫郴缁熷彲浣跨敤琛� + * 2銆佹牴鎹厤缃俊鎭腑宸蹭娇鐢ㄨ〃鑾峰彇鐩稿叧瀛楁淇℃伅 + */ + componentDidMount () { + this.reloadTab(false) + document.onkeydown = (event) => { + let e = event || window.event + let keyCode = e.keyCode || e.which || e.charCode + let preKey = '' + + if (e.ctrlKey) { + preKey = 'ctrl' + } + if (e.shiftKey) { + preKey = 'shift' + } else if (e.altKey) { + preKey = 'alt' + } + + if (!preKey || !keyCode) return + + let _shortcut = `${preKey}+${keyCode}` + + if (_shortcut === 'ctrl+83') { + if (this.state.modalStatus) { + notification.warning({ + top: 92, + message: '璇蜂繚瀛�' + this.state.modalStatus, + duration: 5 + }) + return false + } + + let node = document.getElementById('save-config') + if (node && node.click) { + node.click() + } + return false + } + } + MKEmitter.addListener('modalStatus', this.modalStatus) + } + + /** + * @description 鍔犺浇鎴栧埛鏂版爣绛句俊鎭� + */ + reloadTab = (type) => { + this.setState({ + loading: type, + tabviews: [] + }) + Api.getSystemConfig({func: 'sPC_Get_UserTemp', TypeCharTwo: 'tab'}).then(res => { + if (res.status) { + let _tabviews = [] + res.UserTemp.forEach(temp => { + let item = { + uuid: temp.MenuID, + value: temp.MenuID, + text: temp.MenuName, + type: temp.Template, + MenuNo: temp.MenuNo + } + + if (this.props.config && temp.MenuID === this.props.config.uuid) return + + _tabviews.push(item) + }) + + this.setState({ + loading: false, + tabviews: _tabviews + }) + + if (type) { + notification.success({ + top: 92, + message: '鍒锋柊鎴愬姛銆�', + duration: 2 + }) + } + } else { + this.setState({ + loading: false + }) + notification.warning({ + top: 92, + message: res.message, + duration: 5 + }) + } + }) + } + + /** + * @description 缁勪欢閿�姣侊紝娓呴櫎state鏇存柊 + */ + componentWillUnmount () { + this.setState = () => { + return + } + document.onkeydown = () => {} + MKEmitter.removeListener('modalStatus', this.modalStatus) + } + + modalStatus = (val) => { + this.setState({modalStatus: val}) + } + + // 椤甸潰杩斿洖 + handleViewBack = () => { + const {menu, editTab, tabConfig, editSubTab, btnTab, btnTabConfig} = this.props + let _tabview = menu ? menu.LongParam.Template : '' + let _subconfig = null + + if (editSubTab) { + _subconfig = tabConfig + if (editTab.hasOwnProperty('OpenType')) { + _tabview = editTab.tabType || 'SubTable' + } else { + _tabview = editTab.type + } + } else if (!editSubTab && btnTab) { + _tabview = btnTab.tabTemplate + _subconfig = btnTabConfig + } + + let param = { + editMenu: menu, + editTab: editSubTab ? editTab : null, + tabConfig: null, + editSubTab: null, + subTabConfig: null, + btnTab: btnTab, + btnTabConfig: btnTabConfig, + editAction: null, + subConfig: _subconfig, + tabview: _tabview + } + + this.state.copyActions.forEach(item => { + let _param = { + func: 'sPC_MainMenu_Del', + MenuID: item + } + Api.getSystemConfig(_param) + }) + + this.props.handleView(param) + } + + /** + * @description 鏍囩椤典繚瀛� + */ + submitConfig = () => { + const { delActions, thawButtons, openEdition } = this.state + let _config = fromJS(this.state.config).toJS() + let copyreg = /\d{4}-\d{2}-\d{2}\s\d{2}:\d{2}:\d{2}$/ig + + // 鍩烘湰淇℃伅楠岃瘉 + if (!_config.tabName || !_config.tabNo) { + notification.warning({ + top: 92, + message: this.state.dict['model.menu.basemsg'], + duration: 5 + }) + this.setState({activeKey: '0'}) + return + } + + if (copyreg.test(_config.tabNo) || copyreg.test(_config.tabName)) { + notification.warning({ + top: 92, + message: '姝ゆ爣绛句负澶嶅埗鏍囩锛岃淇敼鏍囩鍚嶇О鍜屾爣绛惧弬鏁帮紝涓嶅彲浠ユ椂闂存牸寮� YYYY-MM-DD HH:mm:ss 缁撳熬锛�', + duration: 5 + }) + return + } + + if (_config.isAdd) { + if (_config.search[0] && _config.search[0].origin) { + _config.search = _config.search.filter(item => !item.origin) + } + if (_config.action[0] && _config.action[0].origin) { + _config.action = _config.action.filter(item => !item.origin) + } + if (_config.columns[0] && _config.columns[0].origin) { + _config.columns = _config.columns.filter(item => !item.origin) + } + } + + if (_config.setting.doubleClick && _config.action.findIndex((item) => item.uuid === _config.setting.doubleClick) === -1) { + _config.setting.doubleClick = '' + } + + // 鏈缃暟鎹簮鎴栦富閿椂锛屽惎鐢ㄧ姸鎬佷负false + let result = this.verifyconfig(_config) + + if (result !== true) { + _config.enabled = false + } + + if (this.state.closeVisible) { // 鏄剧ず鍏抽棴瀵硅瘽妗嗘椂锛屾ā鎬佹涓繚瀛樻寜閽紝鏄剧ず淇濆瓨涓姸鎬� + this.setState({ + menucloseloading: true + }) + } else { + this.setState({ + menuloading: true + }) + } + + let _LongParam = '' + let reload = _config.isAdd + + // 淇濆瓨鏃跺垹闄ら厤缃被鍨嬶紝system 銆乽ser + delete _config.type + delete _config.isAdd + + try { + _LongParam = window.btoa(window.encodeURIComponent(JSON.stringify(_config))) + } catch (e) { + notification.warning({ + top: 92, + message: '缂栬瘧閿欒', + duration: 5 + }) + + this.setState({ + menucloseloading: false, + menuloading: false + }) + return + } + + let btnParam = { + func: 'sPC_Button_AddUpt', + Type: 40, + ParentID: _config.uuid, + MenuNo: _config.tabNo, + Template: 'SubTable', + PageParam: '', + LongParam: '', + LText: [] + } + + let btntabs = [] + + _config.action.forEach((item, index) => { + if (item.hidden === 'true') return + if (item.OpenType === 'popview') { + btntabs.push(`select '${item.uuid}' as MenuID ,'${item.linkTab}' as Tabid,'${item.label}' as TabName ,'${(index + 1) * 10}' as Sort`) + } + btnParam.LText.push(`select '${item.uuid}' as menuid, '${item.label}' as menuname, '${(index + 1) * 10}' as Sort`) + }) + + btnParam.LText = btnParam.LText.join(' union all ') + btnParam.LText = Utils.formatOptions(btnParam.LText) + btnParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + btnParam.secretkey = Utils.encrypt(btnParam.LText, btnParam.timestamp) + + let tabParam = { // 娣诲姞鏍囩鎸夐挳tab椤� + func: 'sPC_sMenusTab_AddUpt', + MenuID: _config.uuid, + LText: btntabs.join(' union all ') + } + + tabParam.LText = Utils.formatOptions(tabParam.LText) + tabParam.timestamp = moment().format('YYYY-MM-DD HH:mm:ss') + tabParam.secretkey = Utils.encrypt(tabParam.LText, tabParam.timestamp) + + let param = { + func: 'sPC_Tab_AddUpt', + MenuID: _config.uuid, + MenuNo: _config.tabNo, + Template: 'SubTable', + MenuName: _config.tabName, + Remark: _config.Remark, + Sort: 0, + PageParam: JSON.stringify({Template: 'SubTable'}), + LongParam: _LongParam + } + + if (openEdition) { + param.open_edition = openEdition + } + + // 鏈夋寜閽垨鏍囩鍒犻櫎鏃讹紝鍏堣繘琛屽垹闄ゆ搷浣� + // 鍒犻櫎鎴愬姛鍚庯紝淇濆瓨椤甸潰閰嶇疆 + new Promise(resolve => { + if (delActions.length > 0) { + let deffers = delActions.map(item => { + let _param = { + func: 'sPC_MainMenu_Del', + MenuID: item.card.uuid + } + + let _ParentParam = null + + try { + _ParentParam = window.btoa(window.encodeURIComponent(JSON.stringify(item.card))) + } catch (e) { + console.warn('Stringify Failure') + _ParentParam = null + } + + if (_ParentParam) { // 鍒犻櫎鎸夐挳鏃讹紝淇濆瓨鎸夐挳閰嶇疆淇℃伅锛岀敤浜庢仮澶嶆寜閽� + _param.ParentParam = _ParentParam + } + + return new Promise(resolve => { + Api.getSystemConfig(_param).then(response => { + resolve(response) + }) + }) + }) + Promise.all(deffers).then(result => { + let error = null + result.forEach(response => { + if (!response.status) { + error = response + } + }) + + if (error) { + this.setState({ + menuloading: false, + menucloseloading: false + }) + notification.warning({ + top: 92, + message: error.message, + duration: 5 + }) + resolve(false) + } else { + this.setState({ + delActions: [] + }) + resolve(true) + } + }) + } else if (delActions.length === 0) { + resolve(true) + } + }).then(resp => { + if (resp === false) return + + if (thawButtons.length > 0) { + let defers = thawButtons.map(item => { + return new Promise((resolve) => { + Api.getSystemConfig({ + func: 'sPC_MainMenu_ReDel', + MenuID: item + }).then(res => { + if (res.status) { + resolve('') + } else { + resolve(res.message) + } + }) + }) + }) + + return Promise.all(defers) + } else { + return true + } + }).then(res => { + if (res === true || res === false) return res + + let msg = res.filter(Boolean)[0] + if (msg) { + notification.warning({ + top: 92, + message: msg, + duration: 5 + }) + return false + } else { + this.setState({ + thawButtons: [] + }) + return true + } + }).then(resp => { + if (resp === false) return + + Api.getSystemConfig(param).then(response => { + if (response.status) { + this.setState({ + openEdition: response.open_edition || '', + config: _config, + originConfig: fromJS(_config).toJS() + }, () => { + reload && MKEmitter.emit('revert') + this.setState({ + menuloading: false, + menucloseloading: false + }) + this.submitAction(btnParam, tabParam) + }) + } else { + this.setState({ + menuloading: false, + menucloseloading: false + }) + notification.warning({ + top: 92, + message: response.message, + duration: 5 + }) + } + }) + }) + } + + /** + * @description 淇濆瓨鎴栦慨鏀硅彍鍗曟寜閽� + */ + submitAction = (btnParam, tabParam) => { + const { config } = this.state + + new Promise(resolve => { + let deffers = [] + + if (tabParam.LText) { + let defer = new Promise(resolve => { + Api.getSystemConfig(tabParam).then(result => { + resolve(result) + }) + }) + deffers.push(defer) + } + + if (btnParam.LText) { + let defer = new Promise(resolve => { + Api.getSystemConfig(btnParam).then(result => { + if (result.status) { + this.setState({ // 淇濆瓨鎴愬姛鍚庢竻绌哄鍒跺垪琛� + copyActions: [] + }) + } + resolve(result) + }) + }) + deffers.push(defer) + } + + if (deffers.length === 0) { + resolve(true) + } else { + Promise.all(deffers).then(result => { + let error = false + result.forEach(res => { + if (!res.status) { + error = res + } + }) + + if (error) { + notification.warning({ + top: 92, + message: error.message, + duration: 5 + }) + resolve(false) + } else { + resolve(true) + } + }) + } + }).then(response => { + if (response === false) return response + + let oriActions = [] + this.state.originActions.forEach(item => { + let curBtn = config.action.filter(cell => item.curuuid === cell.uuid)[0] // 鏌ョ湅鍒濆鍖栨寜閽槸鍚﹀瓨鍦� + if (!curBtn) return + if (curBtn.OpenType !== item.prebtn.OpenType) return + if (curBtn.OpenType === 'funcbutton' && curBtn.execMode !== 'pop') return + + oriActions.push({ + prebtn: item.prebtn, + curBtn: curBtn + }) + }) + + if (oriActions.length === 0) return 'true' + + oriActions.forEach(action => { + Api.getSystemConfig({ + func: 'sPC_Get_LongParam', + MenuID: action.prebtn ? action.prebtn.uuid : '' + }).then(result => { + if (result.status && result.LongParam) { + let _LongParam = '' + + if (result.LongParam) { + try { + _LongParam = JSON.parse(window.decodeURIComponent(window.atob(result.LongParam))) + } catch (e) { + console.warn('Parse Failure') + _LongParam = '' + } + } + + if (_LongParam) { + let param = { + func: 'sPC_ButtonParam_AddUpt', + ParentID: config.uuid, + MenuID: action.curBtn.uuid, + MenuNo: config.tabNo, + Template: _LongParam.type, + MenuName: action.curBtn.label, + PageParam: JSON.stringify({Template: _LongParam.type}), + LongParam: result.LongParam + } + Api.getSystemConfig(param).then(() => {}) + } + } + }) + }) + return 'true' + }).then(response => { + if (response === 'true') { + notification.success({ + top: 92, + message: '淇濆瓨鎴愬姛', + duration: 2 + }) + if (this.state.closeVisible) { + this.handleViewBack() + } else { + this.setState({ + menuloading: false, + menucloseloading: false + }) + } + } else { + this.setState({ + menuloading: false, + menucloseloading: false + }) + } + }) + } + + cancelConfig = () => { + const { config, originConfig } = this.state + + let _this = this + + if (originConfig.isAdd) { + confirm({ + content: '鑿滃崟灏氭湭鎻愪氦锛岀‘瀹氭斁寮冧繚瀛樺悧锛�', + onOk() { + _this.handleViewBack() + }, + onCancel() {} + }) + } else { + if (!is(fromJS(originConfig), fromJS(config))) { + this.setState({ + closeVisible: true + }) + } else { + this.handleViewBack() + } + } + } + + /** + * @description 璁剧疆鍙厤缃寜閽� + */ + setSubConfig = (btn) => { + const {menu, editTab, tabConfig, editSubTab, btnTab, btnTabConfig} = this.props + const { config, originConfig, activeKey, openEdition } = this.state + + if (originConfig.isAdd) { + notification.warning({ + top: 92, + message: '鑿滃崟灏氭湭淇濆瓨锛岃淇濆瓨鑿滃崟閰嶇疆锛�', + duration: 5 + }) + } else { + if (!is(fromJS(originConfig), fromJS(config))) { + notification.warning({ + top: 92, + message: '鑿滃崟閰嶇疆宸蹭慨鏀癸紝璇蜂繚瀛橈紒', + duration: 5 + }) + } else { + // 瀛愯彍鍗曚俊鎭獙璇侀�氳繃鍚庯紝璺宠浆瀛愭寜閽厤缃〉闈� + let _view = '' + let _subtab = editSubTab + + if (btn.OpenType === 'pop' || btn.execMode === 'pop') { + _view = 'Modal' // 琛ㄥ崟椤甸潰 + } else if (btn.OpenType === 'popview') { + _view = 'SubTable' // 鏂板脊绐楁爣绛炬ā鏉� tabType 灞炴�у凡鍘婚櫎 + _subtab = btn + + if (editSubTab) { + notification.warning({ + top: 92, + message: '寮圭獥(鏍囩)涓笉鏀寔姝ゆ寜閽墦寮�鏂瑰紡锛�', + duration: 5 + }) + return + } + } + + if (editSubTab) { + editSubTab.activeKey = activeKey + editSubTab.open_edition = openEdition // 鏇存柊鐗堟湰鍙� + } else { + editTab.activeKey = activeKey + editTab.open_edition = openEdition // 鏇存柊鐗堟湰鍙� + } + + let param = { + editMenu: menu, + editTab: editTab, + tabConfig: editSubTab ? tabConfig : originConfig, + editSubTab: _subtab, + subTabConfig: editSubTab ? originConfig : null, + btnTab: btnTab, + btnTabConfig: btnTabConfig, + editAction: btn, + subConfig: '', + tabview: _view + } + + this.setState({ + loading: true + }) + + Api.getSystemConfig({ + func: 'sPC_Get_LongParam', + MenuID: btn.OpenType === 'popview' ? btn.linkTab : btn.uuid + }).then(res => { + if (res.status) { + this.setState({ + loading: false + }) + let _LongParam = '' + if (res.LongParam) { + try { + _LongParam = JSON.parse(window.decodeURIComponent(window.atob(res.LongParam))) + } catch (e) { + console.warn('Parse Failure') + _LongParam = '' + } + } + + if (_LongParam && param.tabview === 'Modal' && _LongParam.type === 'Modal') { + param.subConfig = _LongParam + } else if (_LongParam && param.tabview === 'SubTable' && _LongParam.Template === 'SubTable') { + param.subConfig = _LongParam + } + + if (param.editAction) { + param.editAction.open_edition = res.open_edition || '' + } else if (param.editSubTab) { + param.editSubTab.open_edition = res.open_edition || '' + } + + this.props.handleView(param) + } else { + this.setState({ + loading: false + }) + notification.warning({ + top: 92, + message: res.message, + duration: 5 + }) + } + }) + } + } + } + + /** + * @description 鍒囨崲鏍囩鏄惁鍚敤 + */ + onEnabledChange = () => { + const { config } = this.state + + let _enabled = !config.enabled + let result = this.verifyconfig(config) + + if (_enabled && result !== true) { + notification.warning({ + top: 92, + message: result, + duration: 5 + }) + return + } + + this.setState({ + config: {...config, enabled: _enabled} + }) + } + + /** + * @description 鏍¢獙閰嶇疆淇℃伅鐨勫悎娉曟�� + */ + verifyconfig = (config) => { + let hasKey = false + let chartcols = [] + config.columns.forEach(col => { + if (col.field) { + chartcols.push(col.field) + } + if (config.setting.primaryKey === col.field) { + hasKey = true + } + }) + + let chartError = '' + config.charts && config.charts.forEach((chart, index) => { + if (chartError) return + if (chart.Hide === 'true') return + if (!['line', 'bar', 'pie'].includes(chart.chartType)) return + + if (!chart.Xaxis) { + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛皻鏈缃紝涓嶅彲鍚敤锛乣 + } else if (['line', 'bar'].includes(chart.chartType) && chart.datatype !== 'statistics' && (!chart.Yaxis || chart.Yaxis.length === 0)) { // query 鏌ヨ鏁版嵁 + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛皻鏈缃紝涓嶅彲鍚敤锛乣 + } else if (['line', 'bar'].includes(chart.chartType) && chart.datatype === 'statistics' && (!chart.InfoType || !chart.InfoValue)) { // statistics 缁熻鏁版嵁 + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛皻鏈缃紝涓嶅彲鍚敤锛乣 + } else if (chart.chartType === 'pie' && !chart.Yaxis) { + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛皻鏈缃紝涓嶅彲鍚敤锛乣 + } else if (!chartcols.includes(chart.Xaxis)) { + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛湪鏄剧ず鍒椾腑涓嶅瓨鍦紝涓嶅彲鍚敤锛乣 + } else if (chart.chartType === 'pie' && !chartcols.includes(chart.Yaxis)) { + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛湪鏄剧ず鍒椾腑涓嶅瓨鍦紝涓嶅彲鍚敤锛乣 + } else if (['line', 'bar'].includes(chart.chartType) && chart.datatype === 'statistics' && (!chartcols.includes(chart.InfoType) || !chartcols.includes(chart.InfoValue))) { // statistics 缁熻鏁版嵁 + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛湪鏄剧ず鍒椾腑涓嶅瓨鍦紝涓嶅彲鍚敤锛乣 + } else if (['line', 'bar'].includes(chart.chartType) && chart.datatype !== 'statistics' && chart.Yaxis.filter(yaxis => !chartcols.includes(yaxis)).length > 0) { + chartError = `鍥捐〃${chart.title ? '銆�' + chart.title + '銆�' : index + 1}鍧愭爣杞村瓧娈靛湪鏄剧ず鍒椾腑涓嶅瓨鍦紝涓嶅彲鍚敤锛乣 + } + }) + + config.action && config.action.forEach((btn) => { + if (['prompt', 'exec', 'pop'].includes(btn.OpenType) && btn.Ot === 'required' && btn.verify && btn.verify.scripts && btn.verify.scripts.length > 0) { + let hascheck = false + btn.verify.scripts.forEach(item => { + if (item.status === 'false') return + + if (/\$check@|@check\$/ig.test(item.sql)) { + hascheck = true + } + }) + if (hascheck) { + notification.warning({ + top: 92, + message: `鍙�夋嫨澶氳鐨勬寜閽��${btn.label}銆嬩腑 $check@ 鎴� @check$ 灏嗕笉浼氱敓鏁堬紒`, + duration: 5 + }) + } + } + }) + + if ((config.setting.interType === 'system' || config.setting.requestMode === 'system') && config.setting.default === 'false' && config.setting.scripts && config.setting.scripts.filter(item => item.status !== 'false').length === 0) { + return '鏁版嵁婧愪腑涓嶆墽琛岄粯璁ql锛屼笖鏈坊鍔犺嚜瀹氫箟鑴氭湰锛屼笉鍙惎鐢紒' + } else if (config.setting.interType === 'custom' && config.setting.procMode !== 'inner' && config.setting.preScripts && config.setting.preScripts.filter(item => item.status !== 'false').length === 0) { + return '鏁版嵁婧愭湭璁剧疆鍓嶇疆鑴氭湰锛屼笉鍙惎鐢紒' + } else if (config.setting.interType === 'custom' && config.setting.callbackType === 'script' && config.setting.cbScripts && config.setting.cbScripts.filter(item => item.status !== 'false').length === 0) { + return '鏁版嵁婧愭湭璁剧疆鍥炶皟鑴氭湰锛屼笉鍙惎鐢紒' + } else if (!config.setting.primaryKey) { + return '灏氭湭璁剧疆涓婚敭锛屼笉鍙惎鐢紒' + } else if (config.columns.length === 0) { + return '灏氭湭璁剧疆鏄剧ず鍒楋紝涓嶅彲鍚敤锛�' + } else if (!hasKey) { + return '鏄剧ず鍒椾腑涓嶅瓨鍦ㄤ富閿瓧娈碉紝涓嶅彲鍚敤锛�' + } else if (chartError) { + return chartError + } else { + return true + } + } + + /** + * @description 缂栬緫鍔熻兘瀹屾垚鏇存柊锛屽寘鎷В鍐绘寜閽瓑 + */ + updateConfig = (res) => { + this.setState({ + thawButtons: res.thawButtons, + config: res.config + }) + } + + /** + * @description 鏇存柊鎼滅储鏉′欢閰嶇疆淇℃伅 + */ + updatesearch = (config) => { + + this.setState({ + config: config + }) + } + + /** + * @description 鏇存柊鎸夐挳閰嶇疆淇℃伅 + */ + updateaction = (config, copyId, delcard) => { + const { copyActions, delActions } = this.state + + this.setState({ + config: config, + copyActions: copyId ? [...copyActions, copyId] : copyActions, + delActions: delcard ? [...delActions, delcard] : delActions + }) + } + + /** + * @description 鏇存柊鏄剧ず鍒楅厤缃俊鎭� + */ + updateconfig = (config) => { + this.setState({ + config: config + }) + } + + /** + * @description 鏇存柊鍥捐〃缁勯厤缃俊鎭� + */ + updatechartgroup = (config, _chartview) => { + this.setState({ + config: config, + chartview: _chartview + }) + } + + + refreshConfig = () => { + const { config } = this.props + + let param = { + func: 'sPC_Get_LongParam', + MenuID: config.uuid + } + + Api.getSystemConfig(param).then(res => { + if (res.status) { + let _config = '' + if (res.LongParam) { + try { + _config = JSON.parse(window.decodeURIComponent(window.atob(res.LongParam))) + } catch (e) { + console.warn('Parse Failure') + _config = '' + } + } + + if (!_config) { + notification.warning({ + top: 92, + message: '鏈幏鍙栧埌閰嶇疆淇℃伅锛�', + duration: 5 + }) + return + } + + // 鐗堟湰鍏煎 + _config = updateSubTable(_config) + + this.setState({ + config: null + }, () => { + this.setState({ + chartview: _config.charts ? _config.charts[0].uuid : '', + config: _config, + openEdition: res.open_edition || '', + activeKey: '0', + originActions: [], + originConfig: fromJS(_config).toJS() + }) + }) + } else { + notification.warning({ + top: 92, + message: res.message, + duration: 5 + }) + } + }) + } + + render () { + const { config } = this.state + + return ( + <div className="model-subtable-board"> + <DndProvider backend={HTML5Backend}> + <SettingComponent + config={config} + mainsearch={!this.props.editSubTab && this.props.editTab.mainsearch ? this.props.editTab.mainsearch : ''} + MenuID={config.uuid} + updatesetting={this.updateconfig} + /> + <SearchComponent + config={config} + updatesearch={this.updatesearch} + /> + <ActionComponent + type="subtable" + menu={{MenuID: config.uuid, MenuName: config.tabName, MenuNo: config.tabNo, fstMenuList: this.props.menu.fstMenuList}} + config={config} + tabs={this.state.tabviews} + setSubConfig={this.setSubConfig} + updateaction={this.updateaction} + /> + <ColumnComponent + config={config} + menu={this.props.menu} + updatecolumn={this.updateconfig} + /> + </DndProvider> + </div> + ) + } +} + +export default TableConfig diff --git a/src/views/tabledesign/tableconfig/index.scss b/src/views/tabledesign/tableconfig/index.scss new file mode 100644 index 0000000..0adcbba --- /dev/null +++ b/src/views/tabledesign/tableconfig/index.scss @@ -0,0 +1,203 @@ +.model-subtable-board { + position: fixed; + z-index: 1; + padding-top: 48px; + top: 0px; + left: 0px; + right: 0px; + bottom: 0px; + background: rgba(0, 0, 0, 0.35); + display: flex; + .tools { + flex: 1; + background: #ffffff; + border-right: 1px solid #d9d9d9; + height: 100%; + overflow-y: hidden; + padding-bottom: 30px; + .ant-collapse-borderless { + background-color: #ffffff; + } + .ant-collapse-item { + position: relative; + border: 0; + } + .ant-input-search { + margin-top: 10px; + } + .ant-collapse-item.ant-collapse-item-active { + border-bottom: 1px solid #d9d9d9; + } + .ant-collapse .ant-collapse-header { + padding: 11px 16px 10px 40px; + border-bottom: 1px solid #d9d9d9; + background: #1890ff; + color: #ffffff; + } + .ant-collapse-content-box { + .ant-form-item { + margin-bottom: 10px; + .ant-form-item-label { + text-align: left; + height: 25px; + line-height: 25px; + } + } + } + .search-element { + padding-top: 10px; + li { + padding: 0px 16px 10px; + div { + cursor: move; + } + } + } + .config-btn { + position: relative; + + .config-btn-title { + margin-top: 20px; + margin-bottom: 10px; + color: #1890ff; + border-bottom: 1px solid #e8e8e8; + } + } + .ant-list { + margin-top: 20px; + .ant-list-item { + display: -webkit-box; + padding-right: 20px; + position: relative; + padding-left: 5px; + overflow: hidden; + text-overflow: ellipsis; + -webkit-line-clamp: 2; + -webkit-box-orient: vertical; + min-height: 55px; + width: 100%; + .anticon { + position: absolute; + top: 0px; + right: 0px; + padding: 3px 3px 10px 10px; + cursor: pointer; + } + .bottom-mask { + position: absolute; + width: 100%; + height: 8px; + bottom: 0; + left: 0; + background: #ffffff; + border-radius: 8px; + } + } + } + .config-button { + min-width: 65px; + } + } + .tools { + overflow-y: auto; + } + .tools::-webkit-scrollbar { + width: 4px; + } + .tools::-webkit-scrollbar-thumb { + border-radius: 5px; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.08); + background: rgba(0, 0, 0, 0.08); + } + .tools::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + border-radius: 3px; + border: 1px solid rgba(0, 0, 0, 0.07); + background: rgba(0, 0, 0, 0); + } + + .setting { + position: relative; + width: calc(100vw - 235px); + height: 100%; + background: #ffffff; + .ant-switch.big { + min-width: 60px; + height: 28px; + line-height: 28px; + margin-top: -2px; + .ant-switch-inner { + font-size: 14px; + } + } + .ant-switch.big::after { + width: 24px; + height: 24px; + } + .ant-card-head { + min-height: 44px; + } + .ant-card-head-title { + padding: 5px 0; + color: #1890ff; + } + .ant-card-extra { + padding: 5px 0; + button { + margin-left: 20px; + } + } + .ant-card-body { + position: relative; + padding: 0; + + .chart-view { + margin-bottom: 70px; + + .chart-title { + position: relative; + color: rgba(0, 0, 0, 0.65); + font-weight: 400; + font-size: 16px; + text-overflow: ellipsis; + white-space: nowrap; + overflow: hidden; + margin: 0 20px; + padding: 10px 5px 5px; + } + } + > .anticon-setting { + position: absolute; + font-size: 18px; + right: 7px; + top: 10px; + } + } + } + .setting { + overflow-y: scroll; + } + .setting::-webkit-scrollbar { + width: 7px; + } + .setting::-webkit-scrollbar-thumb { + border-radius: 5px; + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.13); + background: rgba(0, 0, 0, 0.13); + display: none; + } + .setting::-webkit-scrollbar-track { + box-shadow: inset 0 0 5px rgba(0, 0, 0, 0.05); + border-radius: 3px; + border: 1px solid rgba(0, 0, 0, 0.07); + background: rgba(0, 0, 0, 0); + } + .setting:hover::-webkit-scrollbar-thumb { + display: block; + } + .ant-spin { + position: absolute; + margin-left: calc(50vw - 22px); + margin-top: 30vh; + } +} diff --git a/src/views/tabledesign/tableconfig/menuform/index.jsx b/src/views/tabledesign/tableconfig/menuform/index.jsx new file mode 100644 index 0000000..72f493f --- /dev/null +++ b/src/views/tabledesign/tableconfig/menuform/index.jsx @@ -0,0 +1,116 @@ +import React, {Component} from 'react' +import PropTypes from 'prop-types' +import { is, fromJS } from 'immutable' +import { Form, Row, Col, Input } from 'antd' +import { formRule } from '@/utils/option.js' +import './index.scss' + +const { TextArea } = Input + +class MainSearch extends Component { + static propTpyes = { + dict: PropTypes.object, // 瀛楀吀椤� + config: PropTypes.object, + updatemenu: PropTypes.func + } + + changeName = (e) => { + let value = e.target.value || '' + if (value.length > 100) return + + this.setState({}, () => { + this.props.updatemenu({...this.props.config, tabName: value}) + }) + } + + changeNo = (e) => { + let value = e.target.value || '' + if (value.length > 100) return + this.setState({}, () => { + this.props.updatemenu({...this.props.config, tabNo: value}) + }) + } + + changeRemark = (e) => { + let value = e.target.value || '' + if (value.length > 100) return + this.setState({}, () => { + this.props.updatemenu({...this.props.config, Remark: value}) + }) + } + + shouldComponentUpdate (nextProps, nextState) { + return is(fromJS(this.props), fromJS(nextProps)) + } + + render() { + const { dict, config } = this.props + const { getFieldDecorator } = this.props.form + const formItemLayout = { + labelCol: { + xs: { span: 24 }, + sm: { span: 24 } + }, + wrapperCol: { + xs: { span: 24 }, + sm: { span: 24 } + } + } + + return ( + <Form {...formItemLayout} className="ant-advanced-search-form" id="subqazxcvbn"> + <Row gutter={24}> + <Col span={24}> + <Form.Item label="椤甸潰鍚嶇О"> + {getFieldDecorator('tabName', { + initialValue: config.tabName, + rules: [ + { + required: true, + message: dict['form.required.input'] + '椤甸潰鍚嶇О!' + }, + { + max: formRule.input.max, + message: formRule.input.message + } + ] + })(<Input placeholder="" autoComplete="off" onChange={this.changeName}/>)} + </Form.Item> + </Col> + <Col span={24}> + <Form.Item label={dict['model.menu'] + dict['model.param']}> + {getFieldDecorator('tabNo', { + initialValue: config.tabNo, + rules: [ + { + required: true, + message: dict['form.required.input'] + dict['model.menu'] + dict['model.param'] + '!' + }, + { + max: formRule.input.max, + message: formRule.input.message + } + ] + })(<Input placeholder="" autoComplete="off" onChange={this.changeNo}/>)} + </Form.Item> + </Col> + <Col span={24}> + <Form.Item label={dict['header.menu.Remark']}> + {getFieldDecorator('Remark', { + initialValue: config.Remark, + rules: [ + { + max: formRule.input.max, + message: formRule.input.message + } + ] + })(<TextArea rows={2} placeholder="" autoComplete="off" onChange={this.changeRemark}/>)} + </Form.Item> + </Col> + </Row> + </Form> + ) + } +} + +export default Form.create()(MainSearch) \ No newline at end of file diff --git a/src/views/tabledesign/tableconfig/menuform/index.scss b/src/views/tabledesign/tableconfig/menuform/index.scss new file mode 100644 index 0000000..e69de29 --- /dev/null +++ b/src/views/tabledesign/tableconfig/menuform/index.scss diff --git a/src/views/tabledesign/tableconfig/source.jsx b/src/views/tabledesign/tableconfig/source.jsx new file mode 100644 index 0000000..bb48d97 --- /dev/null +++ b/src/views/tabledesign/tableconfig/source.jsx @@ -0,0 +1,339 @@ +import Utils from '@/utils/utils.js' +import zhCN from '@/locales/zh-CN/model.js' +import enUS from '@/locales/en-US/model.js' + +const CommonDict = sessionStorage.getItem('lang') !== 'en-US' ? zhCN : enUS + +class SubTableBaseData { + baseConfig = { + version: '1.0', + type: 'system', + Template: 'SubTable', + enabled: false, + tabName: '', + tabNo: '', + Remark: '', + uuid: Utils.getuuid(), + setting: { + tableName: '', + tableType: 'checkbox', + primaryKey: '', + order: '', + dataresource: '', + interType: 'system', + innerFunc: '', + interface: '', + outerFunc: '' + }, + tables: [], + search: [ + { + origin: true, + uuid: Utils.getuuid(), + label: 'label', + field: '', + initval: '', + type: 'text', + resourceType: '0', + options: [], + orderType: 'asc', + match: 'like', + }, { + origin: true, + uuid: Utils.getuuid(), + label: 'label', + field: '', + initval: '', + type: 'select', + resourceType: '0', + options: [], + orderType: 'asc', + match: 'equal', + }, { + origin: true, + uuid: Utils.getuuid(), + label: 'label', + field: '', + initval: '', + type: 'date', + resourceType: '0', + options: [], + orderType: 'asc', + match: 'greater', + } + ], + action: [ + { + origin: true, + uuid: Utils.getuuid(), + label: 'add', + intertype: 'system', + Ot: 'notRequired', + position: 'toolbar', + execSuccess: 'grid', + execError: 'never', + OpenType: 'pop', + icon: 'plus', + class: 'green', + verify: null + }, { + origin: true, + uuid: Utils.getuuid(), + label: 'update', + intertype: 'system', + Ot: 'requiredSgl', + position: 'grid', + execSuccess: 'grid', + execError: 'never', + OpenType: 'pop', + icon: 'form', + class: 'purple', + verify: null + }, { + origin: true, + uuid: Utils.getuuid(), + label: 'delete', + intertype: 'system', + Ot: 'required', + position: 'toolbar', + execSuccess: 'grid', + execError: 'never', + OpenType: 'prompt', + icon: 'delete', + class: 'red', + verify: null + } + ], + columns: [ + { + origin: true, + uuid: Utils.getuuid(), + Align: 'left', + label: 'label', + field: '', + Hide: 'false', + IsSort: 'true', + type: 'text', + Width: 120 + }, { + origin: true, + uuid: Utils.getuuid(), + Align: 'left', + label: 'label', + field: '', + Hide: 'false', + IsSort: 'true', + type: 'text', + Width: 120 + }, { + origin: true, + uuid: Utils.getuuid(), + Align: 'left', + label: 'label', + field: '', + Hide: 'false', + IsSort: 'true', + type: 'text', + Width: 120 + }, { + origin: true, + uuid: Utils.getuuid(), + Align: 'left', + label: 'label', + field: '', + Hide: 'false', + IsSort: 'true', + type: 'text', + Width: 120 + } + ], + gridBtn: { + display: false, + Align: 'center', + IsSort: 'false', + uuid: Utils.getuuid(), + label: CommonDict['model.operation'], + type: 'action', + style: 'button', + show: 'horizontal', + Width: 120 + }, + expand: false, + charts: [{ + uuid: Utils.getuuid(), + label: '', + title: '', + chartType: 'table', + icon: 'table', + Hide: 'false', + blacklist: [] + }] + } + + searchItems = [ + { + type: 'search', + label: CommonDict['model.form.text'], + subType: 'text', + url: '' + }, + { + type: 'search', + label: CommonDict['model.form.select'], + subType: 'select', + url: '' + }, + { + type: 'search', + label: CommonDict['model.form.multiselect'], + subType: 'multiselect', + url: '' + }, + { + type: 'search', + label: CommonDict['model.form.link'], + subType: 'link', + url: '' + }, + { + type: 'search', + label: '閫夐」鍗�', + subType: 'checkcard', + url: '' + }, + { + type: 'search', + label: '鏃ユ湡锛堝ぉ锛�', + subType: 'date', + url: '' + }, + { + type: 'search', + label: '鏃ユ湡锛堝懆锛�', + subType: 'dateweek', + url: '' + }, + { + type: 'search', + label: CommonDict['model.form.datemonth'], + subType: 'datemonth', + url: '' + }, + { + type: 'search', + label: CommonDict['model.form.daterange'], + subType: 'daterange', + url: '' + }, + { + type: 'search', + label: CommonDict['model.form.dategroup'], + subType: 'group', + url: '' + } + ] + + actionItems = [ + { + type: 'action', + label: CommonDict['model.form.popform'], + subType: 'pop', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.prompt'], + subType: 'prompt', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.exec'], + subType: 'exec', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.excelIn'], + subType: 'excelIn', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.excelOut'], + subType: 'excelOut', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.popview'], + subType: 'popview', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.tab'], + subType: 'tab', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.newpage'], + subType: 'innerpage', + url: '' + }, + { + type: 'action', + label: CommonDict['model.form.funcbutton'], + subType: 'funcbutton', + url: '' + } + ] + + columnItems = [ + { + type: 'columns', + label: CommonDict['model.form.text'], + subType: 'text', + url: '' + }, + { + type: 'columns', + label: CommonDict['model.form.picture'], + subType: 'picture', + url: '' + }, + { + type: 'columns', + label: CommonDict['model.form.number'], + subType: 'number', + url: '' + }, + { + type: 'columns', + label: CommonDict['model.form.href'], + subType: 'link', + url: '' + }, + { + type: 'columns', + label: CommonDict['model.form.textarea'], + subType: 'textarea', + url: '' + }, + { + type: 'columns', + label: CommonDict['model.form.colspan'], + subType: 'colspan', + url: '' + }, + { + type: 'columns', + label: '搴忓彿', + subType: 'index', + url: '' + } + ] +} + +export default new SubTableBaseData() -- Gitblit v1.8.0