From e45bb599c2fa110056dc4c9f44204eab333260b2 Mon Sep 17 00:00:00 2001 From: king <18310653075@163.com> Date: 星期三, 07 八月 2024 22:07:26 +0800 Subject: [PATCH] 2024-08-07 --- src/menu/datasource/index.jsx | 8 +++++++- src/api/index.js | 10 +++++++++- src/menu/datasource/verifycard/index.jsx | 39 +++++++++++++++++++++++++++++++++++---- 3 files changed, 51 insertions(+), 6 deletions(-) diff --git a/src/api/index.js b/src/api/index.js index 768aa69..fb91d42 100644 --- a/src/api/index.js +++ b/src/api/index.js @@ -1012,7 +1012,15 @@ data: param }).then(res => { if (res.status && res.urlPath) { - res.urlPath = window.GLOB.baseurl + res.urlPath + if (!/Content\/images/.test(res.urlPath)) { + let key = CryptoJS.enc.Utf8.parse('D1185ED7B32568C9') + let wordArray = CryptoJS.enc.Base64.parse(res.urlPath) + let decryptedWordArray = CryptoJS.AES.decrypt({ ciphertext: wordArray }, key, { mode: CryptoJS.mode.ECB, padding: CryptoJS.pad.Pkcs7 }) + res.urlPath = CryptoJS.enc.Utf8.stringify(decryptedWordArray) + } + if (!/^http/.test(res.urlPath)) { + res.urlPath = window.GLOB.baseurl + res.urlPath + } } resolve(res) }) diff --git a/src/menu/datasource/index.jsx b/src/menu/datasource/index.jsx index 769b314..5d95704 100644 --- a/src/menu/datasource/index.jsx +++ b/src/menu/datasource/index.jsx @@ -288,6 +288,12 @@ }) } + cancel = () => { + this.verifyRef.closeDataSource(() => { + this.setState({ visible: false, loading: false }) + }) + } + creatFunc = () => { const { config } = this.props const { mainSearch } = this.state @@ -330,7 +336,7 @@ onCancel={() => {this.setState({ visible: false, loading: false }) }} footer={[ config.subtype !== 'dualdatacard' && record.interType === 'inner' ? <CreateFunc key="create" getMsg={this.creatFunc}/> : null, - <Button key="cancel" onClick={() => { this.setState({ visible: false, loading: false }) }}>鍙栨秷</Button>, + <Button key="cancel" onClick={this.cancel}>鍙栨秷</Button>, <Button key="confirm" type="primary" loading={loading} onClick={this.verifySubmit}>纭畾</Button> ]} destroyOnClose diff --git a/src/menu/datasource/verifycard/index.jsx b/src/menu/datasource/verifycard/index.jsx index c7078db..0aedf66 100644 --- a/src/menu/datasource/verifycard/index.jsx +++ b/src/menu/datasource/verifycard/index.jsx @@ -41,9 +41,8 @@ loading: false, colLoading: false, searchKey: '', - initsql: '', // sql楠岃瘉鏃跺彉閲忓0鏄庡強璧嬪�� usefulfields: '', - defaultsql: '', // 榛樿Sql + defaultsql: '', systemScripts: [], median: {}, visible: false, @@ -51,6 +50,7 @@ pvisible: false, reload: false, script: null, + oriConfig: null, scriptValue: '', cols: null, colColumns: [ @@ -249,7 +249,13 @@ median: _setting, searches: formatSearch(search), searchKey: '', - debugId: _setting.debugId || '' + debugId: _setting.debugId || '', + oriConfig: fromJS({ + scripts, + columns: columns, + subColumns: subColumns, + setting: _setting + }).toJS() }) this.getsysScript() @@ -648,6 +654,32 @@ this.sqlverify(() => { resolve({setting, columns, subColumns, scripts, cols }) }, reject, 'submit') } }) + } + + closeDataSource = (callback) => { + const { setting, columns, subColumns, scripts, oriConfig } = this.state + + let line = scripts.map(item => item.sql).join('') + line += columns.map(item => item.field + item.datatype).join('') + line += subColumns.map(item => item.field + item.datatype).join('') + line += setting.interType + (setting.dataresource || '') + (setting.order || '') + (setting.primaryKey || '') + + let _line = oriConfig.scripts.map(item => item.sql).join('') + _line += oriConfig.columns.map(item => item.field + item.datatype).join('') + _line += oriConfig.subColumns.map(item => item.field + item.datatype).join('') + _line += oriConfig.setting.interType + (oriConfig.setting.dataresource || '') + (oriConfig.setting.order || '') + (oriConfig.setting.primaryKey || '') + + if (line !== _line) { + confirm({ + content: '鏁版嵁婧愬凡淇敼锛岀‘瀹氬彇娑堝悧锛�', + onOk() { + callback() + }, + onCancel() {} + }) + } else { + callback() + } } sqlverify = (resolve, reject, type, testScripts) => { @@ -1251,7 +1283,6 @@ setting={setting} searches={searches} defaultsql={defaultsql} - initsql={this.state.initsql} customScripts={scripts} systemScripts={this.state.systemScripts} scriptsChange={this.scriptsChange} -- Gitblit v1.8.0