diff --git a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java index 900c9ef98d..7a72822ecc 100644 --- a/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java +++ b/backend/src/main/java/io/dataease/service/datasource/DatasourceService.java @@ -292,6 +292,7 @@ public class DatasourceService { public void updateDatasource(String id, Datasource datasource) { DatasourceExample example = new DatasourceExample(); example.createCriteria().andIdEqualTo(id); + checkAndUpdateDatasourceStatus(datasource); datasourceMapper.updateByExampleSelective(datasource, example); handleConnectionPool(id); } @@ -339,6 +340,7 @@ public class DatasourceService { datasourceDTO.setApiConfiguration(apiDefinitionListWithStatus); if (success == apiDefinitionList.size()) { + datasource.setStatus(datasourceStatus); return ResultHolder.success(datasourceDTO); } if (success > 0 && success < apiDefinitionList.size()) { @@ -363,7 +365,6 @@ public class DatasourceService { DatasourceRequest datasourceRequest = new DatasourceRequest(); datasourceRequest.setDatasource(datasource); datasourceStatus = datasourceProvider.checkStatus(datasourceRequest); - if (datasource.getType().equalsIgnoreCase("api")) { List apiDefinitionList = new Gson().fromJson(datasource.getConfiguration(), new TypeToken>() { }.getType()); @@ -377,6 +378,7 @@ public class DatasourceService { } } if (success == apiDefinitionList.size()) { + datasource.setStatus(datasourceStatus); return ResultHolder.success(datasource); } if (success > 0 && success < apiDefinitionList.size()) { diff --git a/backend/src/main/resources/db/migration/V49__1.18.2.sql b/backend/src/main/resources/db/migration/V49__1.18.2.sql index 5306f8280c..a883405b2f 100644 --- a/backend/src/main/resources/db/migration/V49__1.18.2.sql +++ b/backend/src/main/resources/db/migration/V49__1.18.2.sql @@ -3,6 +3,10 @@ SET `version` = '1.18.2' where `plugin_id` > 0 and `version` = '1.18.1'; +UPDATE sys_menu +SET i_frame = 1 +WHERE menu_id = 800; + UPDATE `panel_subject` SET `details` = '{\"width\":1600,\"height\":900,\"scale\":100,\"scaleWidth\":100,\"scaleHeight\":100,\"selfAdaption\":true,\"auxiliaryMatrix\":true,\"openCommonStyle\":true,\"panel\":{\"themeColor\":\"light\",\"color\":\"#F1F3F5\",\"imageUrl\":{},\"backgroundType\":\"color\",\"gap\":\"yes\",\"resultMode\":\"all\",\"resultCount\":1000},\"aidedDesign\":{\"showGrid\":false,\"matrixBase\":4},\"refreshViewLoading\":true,\"refreshUnit\":\"minute\",\"refreshTime\":5,\"themeId\":\"e846db60-9619-11ed-b973-39e0420a3eeb\",\"chartInfo\":{\"chartTitle\":{\"show\":true,\"fontSize\":\"18\",\"color\":\"#000000\",\"hPosition\":\"left\",\"vPosition\":\"top\",\"isItalic\":false,\"isBolder\":true,\"remarkShow\":false,\"remark\":\"\",\"remarkBackgroundColor\":\"#ffffffff\",\"fontFamily\":\"Microsoft YaHei\",\"letterSpace\":\"0\",\"fontShadow\":false},\"chartColor\":{\"value\":\"default\",\"colors\":[\"#5470c6\",\"#91cc75\",\"#fac858\",\"#ee6666\",\"#73c0de\",\"#3ba272\",\"#fc8452\",\"#9a60b4\",\"#ea7ccc\"],\"alpha\":100,\"tableHeaderBgColor\":\"#6D9A49\",\"tableItemBgColor\":\"#FFFFFF\",\"tableHeaderFontColor\":\"#000000\",\"tableFontColor\":\"#000000\",\"tableStripe\":true,\"dimensionColor\":\"#000000\",\"quotaColor\":\"#5470c6\",\"tableBorderColor\":\"#E6E7E4\",\"seriesColors\":[],\"areaBorderColor\":\"#303133\",\"gradient\":false,\"areaBaseColor\":\"#FFFFFF\",\"tableScrollBarColor\":\"rgba(0, 0, 0, 0.15)\",\"tableScrollBarHoverColor\":\"rgba(0, 0, 0, 0.4)\"},\"chartCommonStyle\":{\"backgroundColorSelect\":true,\"color\":\"#FFFFFF\",\"alpha\":100,\"borderRadius\":5,\"innerPadding\":0,\"enable\":false,\"innerImageColor\":\"#1E90FF\",\"backgroundType\":\"outerImage\",\"outerImage\":null},\"filterStyle\":{\"horizontal\":\"left\",\"vertical\":\"top\",\"color\":\"#000000\",\"brColor\":\"\",\"wordColor\":\"\",\"innerBgColor\":\"\"},\"tabStyle\":{\"headFontColor\":\"#OOOOOO\",\"headFontActiveColor\":\"#OOOOOO\",\"headBorderColor\":\"#OOOOOO\",\"headBorderActiveColor\":\"#OOOOOO\",\"headPosition\":\"left\"}}}' WHERE `id` = 'system_1'; diff --git a/frontend/src/views/system/datasource/DsFormContent.vue b/frontend/src/views/system/datasource/DsFormContent.vue index bd2744b18f..4bc431cb55 100644 --- a/frontend/src/views/system/datasource/DsFormContent.vue +++ b/frontend/src/views/system/datasource/DsFormContent.vue @@ -1114,23 +1114,9 @@ export default { } }) }, - reloadStatus(apiConfiguration = []) { - let arr = [] - let arrError = [] - let arrSuccess = [] - if (!Array.isArray(apiConfiguration)) { - arr = JSON.parse(apiConfiguration) - if (!Array.isArray(arr)) return - } - arrError = arr.filter(ele => ele.status === 'Error').map(ele => ele.name) - arrSuccess = arr.filter(ele => ele.status === 'Success').map(ele => ele.name) + reloadStatus(statusMap = {}) { this.form.apiConfiguration.forEach(ele => { - if (arrError.includes(ele.name)) { - ele.status = 'Error' - } - if (arrSuccess.includes(ele.name)) { - ele.status = 'Success' - } + ele.status = statusMap[ele.name] || ele.status }) }, validaDatasource() { @@ -1183,12 +1169,12 @@ export default { data.configurationEncryption = true if (data.showModel === 'show' && !this.canEdit) { validateDsById(data.id).then((res) => { + if (data.type === 'api') { + this.reloadStatus(JSON.parse(res.data?.status || '{}')) + } if (res.success) { this.openMessageSuccess('datasource.validate_success') } else { - if (data.type === 'api') { - this.reloadStatus(res.data?.configuration) - } if (res.message.length < 2500) { this.openMessageSuccess(res.message, 'error') } else {