From 9293955d723c97ec40d9409f95c4de074e5a7b91 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 2 Aug 2022 17:17:24 +0800 Subject: [PATCH] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20=E6=8A=BD?= =?UTF-8?q?=E5=8F=96=20api=20=E6=95=B0=E6=8D=AE=E9=9B=86=E7=9A=84=E5=AD=97?= =?UTF-8?q?=E6=AE=B5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/datasource/ApiProvider.java | 20 +++++++++++-------- .../system/datasource/DsConfiguration.vue | 1 - .../src/views/system/datasource/DsForm.vue | 6 +++++- 3 files changed, 17 insertions(+), 10 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java index cc99027538..cf7c55f97d 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/ApiProvider.java @@ -318,27 +318,31 @@ public class ApiProvider extends Provider { } static void mergeValue(JSONObject field, ApiDefinition apiDefinition, JSONObject item) { - JSONArray array = field.getJSONArray("value"); if (array != null && item.getString("value") != null && array.size() < apiDefinition.getPreviewNum()) { array.add(item.getJSONArray("value").get(0).toString()); field.put("value", array); } if(CollectionUtils.isNotEmpty(field.getJSONArray("children"))&& CollectionUtils.isNotEmpty(item.getJSONArray("children"))){ - JSONArray objectChildren = field.getJSONArray("children"); - JSONArray jsonArrayChildren = new JSONArray(); + JSONArray fieldChildren = field.getJSONArray("children"); JSONArray itemChildren = item.getJSONArray("children"); - for (Object objectChild : objectChildren) { - JSONObject jsonObject = JSONObject.parseObject(objectChild.toString()); + + JSONArray fieldArrayChildren = new JSONArray(); + for (Object fieldChild : fieldChildren) { + JSONObject jsonObject = JSONObject.parseObject(fieldChild.toString()); + JSONObject find = null; for (Object itemChild : itemChildren) { JSONObject itemObject = JSONObject.parseObject(itemChild.toString()); if(jsonObject.getString("jsonPath").equals(itemObject.getString("jsonPath"))){ - mergeValue(jsonObject, apiDefinition, itemObject); - jsonArrayChildren.add(jsonObject); + find = itemObject; } } + if(find != null){ + mergeValue(jsonObject, apiDefinition, find); + } + fieldArrayChildren.add(jsonObject); } - field.put("children", jsonArrayChildren); + field.put("children", fieldArrayChildren); } } diff --git a/frontend/src/views/system/datasource/DsConfiguration.vue b/frontend/src/views/system/datasource/DsConfiguration.vue index 016b6fea30..c1c0b02a60 100644 --- a/frontend/src/views/system/datasource/DsConfiguration.vue +++ b/frontend/src/views/system/datasource/DsConfiguration.vue @@ -932,7 +932,6 @@ export default { return; } this.$refs.apiItem.validate((valid) => { - console.log(valid) if (valid) { const data = JSON.parse(JSON.stringify(this.apiItem)); this.loading = true; diff --git a/frontend/src/views/system/datasource/DsForm.vue b/frontend/src/views/system/datasource/DsForm.vue index fb22d33b04..0a7db4318d 100644 --- a/frontend/src/views/system/datasource/DsForm.vue +++ b/frontend/src/views/system/datasource/DsForm.vue @@ -316,7 +316,11 @@ export default { this.form = JSON.parse(JSON.stringify(row)) this.originConfiguration = this.form.configuration if (row.type === 'api') { - + this.originConfiguration = JSON.parse(JSON.stringify(this.form.apiConfiguration)) + this.originConfiguration.forEach(item => { + delete item.status + }) + this.originConfiguration = JSON.stringify(this.originConfiguration) } else { this.form.configuration = JSON.parse(this.form.configuration) }