diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java index aca169acb0..8c36e7f45b 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -23,6 +23,7 @@ import org.springframework.web.bind.annotation.*; import org.springframework.web.multipart.MultipartFile; import javax.annotation.Resource; +import java.util.Collections; import java.util.List; import java.util.Map; @@ -44,8 +45,8 @@ public class DataSetTableController { }, logical = Logical.AND) @ApiOperation("批量保存") @PostMapping("batchAdd") - public void batchAdd(@RequestBody List datasetTable) throws Exception { - dataSetTableService.batchInsert(datasetTable); + public List batchAdd(@RequestBody List datasetTable) throws Exception { + return dataSetTableService.batchInsert(datasetTable); } @DePermissions(value = { @@ -55,11 +56,11 @@ public class DataSetTableController { }, logical = Logical.AND) @ApiOperation("更新") @PostMapping("update") - public void save(@RequestBody DataSetTableRequest datasetTable) throws Exception { + public List save(@RequestBody DataSetTableRequest datasetTable) throws Exception { if (datasetTable.getType().equalsIgnoreCase("excel")) { - dataSetTableService.saveExcel(datasetTable); + return dataSetTableService.saveExcel(datasetTable); } else { - dataSetTableService.save(datasetTable); + return Collections.singletonList(dataSetTableService.save(datasetTable)); } } diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java index 7835eada20..d97a57efdf 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -145,16 +145,18 @@ public class DataSetTableService { private static Logger logger = LoggerFactory.getLogger(ClassloaderResponsity.class); @DeCleaner(value = DePermissionType.DATASET, key = "sceneId") - public void batchInsert(List datasetTable) throws Exception { + public List batchInsert(List datasetTable) throws Exception { // 保存之前校验table名称 checkNames(datasetTable); + List list = new ArrayList<>(); for (DataSetTableRequest table : datasetTable) { - save(table); + list.add(save(table)); // 清理权限缓存 CacheUtils.removeAll(AuthConstants.USER_DATASET_NAME); CacheUtils.removeAll(AuthConstants.ROLE_DATASET_NAME); CacheUtils.removeAll(AuthConstants.DEPT_DATASET_NAME); } + return list; } private void extractData(DataSetTableRequest datasetTable) throws Exception { @@ -176,10 +178,11 @@ public class DataSetTableService { @Transactional(propagation = Propagation.NOT_SUPPORTED) @DeCleaner(value = DePermissionType.DATASET, key = "sceneId") - public void saveExcel(DataSetTableRequest datasetTable) throws Exception { + public List saveExcel(DataSetTableRequest datasetTable) throws Exception { List datasetIdList = new ArrayList<>(); if (StringUtils.isEmpty(datasetTable.getId())) { + List list = new ArrayList<>(); if (datasetTable.isMergeSheet()) { Map> map = datasetTable.getSheets().stream() .collect(Collectors.groupingBy(ExcelSheetData::getFieldsMd5)); @@ -208,6 +211,7 @@ public class DataSetTableService { sysAuthService.copyAuth(sheetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET); saveExcelTableField(sheetTable.getId(), excelSheetDataList.get(0).getFields(), true); datasetIdList.add(sheetTable.getId()); + list.add(sheetTable); DeLogUtils.save(SysLogConstants.OPERATE_TYPE.CREATE, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null); } datasetIdList.forEach(datasetId -> { @@ -239,16 +243,16 @@ public class DataSetTableService { sysAuthService.copyAuth(sheetTable.getId(), SysAuthConstants.AUTH_SOURCE_TYPE_DATASET); saveExcelTableField(sheetTable.getId(), sheet.getFields(), true); datasetIdList.add(sheetTable.getId()); + list.add(sheetTable); DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null); } datasetIdList.forEach(datasetId -> { commonThreadPool.addTask(() -> extractDataService.extractExcelData(datasetId, "all_scope", "初始导入", null, datasetIdList)); }); - - } - return; + + return list; } List excelSheetDataList = new ArrayList<>(); @@ -287,6 +291,7 @@ public class DataSetTableService { null, Arrays.asList(datasetTable.getId()))); } DeLogUtils.save(SysLogConstants.OPERATE_TYPE.MODIFY, SysLogConstants.SOURCE_TYPE.DATASET, datasetTable.getId(), datasetTable.getSceneId(), null, null); + return Collections.singletonList(datasetTable); } @DeCleaner(value = DePermissionType.DATASET, key = "sceneId") diff --git a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java index 88799a76a6..bc06e7a6e8 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java @@ -168,6 +168,7 @@ public class PanelAppTemplateService { DataSetTableRequest datasetRequest = new DataSetTableRequest(); BeanUtils.copyBean(datasetRequest, datasetTable); datasetRequest.setOptFrom("appApply"); + datasetRequest.setSyncType("sync_now"); DatasetTable newDataset = dataSetTableService.save(datasetRequest); datasetsRelaMap.put(oldId, newDataset.getId()); } diff --git a/frontend/src/components/gridTable/index.vue b/frontend/src/components/gridTable/index.vue index ab75046091..178f927aa7 100644 --- a/frontend/src/components/gridTable/index.vue +++ b/frontend/src/components/gridTable/index.vue @@ -25,7 +25,6 @@ + + diff --git a/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue b/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue index 84ff33682a..c06b317fdb 100644 --- a/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue +++ b/frontend/src/views/chart/components/senior/dialog/TableThresholdEdit.vue @@ -139,7 +139,7 @@ export default { field: '0', value: '', color: '#ff0000ff', - backgroundColor: '#ffffffff', + backgroundColor: '#ffffff00', min: '0', max: '1' }, diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index e44b1daa2b..61dd8a8ca0 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -757,6 +757,7 @@ @onChangeSplitForm="onChangeSplitForm" @onTextChange="onTextChange" @onLegendChange="onLegendChange" + @onMarginChange="onMarginChange" @onChangeBackgroundForm="onChangeBackgroundForm" /> @@ -1999,6 +2000,10 @@ export default { this.view.customStyle.legend = val this.calcStyle() }, + onMarginChange(val) { + this.view.customStyle.margin = val + this.calcStyle() + }, onLabelChange(val) { this.view.customAttr.label = val diff --git a/frontend/src/views/chart/view/ChartStyle.vue b/frontend/src/views/chart/view/ChartStyle.vue index 77894e2236..8e41267a75 100644 --- a/frontend/src/views/chart/view/ChartStyle.vue +++ b/frontend/src/views/chart/view/ChartStyle.vue @@ -260,6 +260,21 @@ @onChangeBackgroundForm="onChangeBackgroundForm($event,'background-color-selector')" /> + + + + @@ -284,6 +299,7 @@ import YAxisExtSelectorAntV from '@/views/chart/components/component-style/YAxis import TitleSelector from '@/views/chart/components/component-style/TitleSelector' import TitleSelectorAntV from '@/views/chart/components/component-style/TitleSelectorAntV' import LegendSelector from '@/views/chart/components/component-style/LegendSelector' +import MarginSelector from '@/views/chart/components/component-style/MarginSelector' import LegendSelectorAntV from '@/views/chart/components/component-style/LegendSelectorAntV' import BackgroundColorSelector from '@/views/chart/components/component-style/BackgroundColorSelector' import SplitSelector from '@/views/chart/components/component-style/SplitSelector' @@ -314,6 +330,7 @@ export default { SizeSelectorAntV, SizeSelector, ColorSelector, + MarginSelector, PluginCom }, props: { @@ -432,6 +449,10 @@ export default { val['propertyName'] = propertyName this.$emit('onLegendChange', val) }, + onMarginChange(val, propertyName) { + val['propertyName'] = propertyName + this.$emit('onMarginChange', val) + }, onChangeBackgroundForm(val, propertyName) { val['propertyName'] = propertyName this.$emit('onChangeBackgroundForm', val) diff --git a/frontend/src/views/dataset/add/AddApi.vue b/frontend/src/views/dataset/add/AddApi.vue index 6a2c651051..bc36beabc7 100644 --- a/frontend/src/views/dataset/add/AddApi.vue +++ b/frontend/src/views/dataset/add/AddApi.vue @@ -1,9 +1,9 @@