diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java new file mode 100644 index 0000000000..cfac4320df --- /dev/null +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetGroupController.java @@ -0,0 +1,27 @@ +package io.dataease.controller.dataset; + +import io.dataease.base.domain.DatasetGroup; +import io.dataease.dto.dataset.DataSetGroupDTO; +import io.dataease.service.dataset.DataSetGroupService; +import org.springframework.web.bind.annotation.PostMapping; +import org.springframework.web.bind.annotation.RequestBody; +import org.springframework.web.bind.annotation.RequestMapping; +import org.springframework.web.bind.annotation.RestController; + +import javax.annotation.Resource; + +/** + * @Author gin + * @Date 2021/2/20 8:29 下午 + */ +@RestController +@RequestMapping("dataset/group") +public class DataSetGroupController { + @Resource + private DataSetGroupService dataSetGroupService; + + @PostMapping("/save") + public DataSetGroupDTO save(@RequestBody DatasetGroup datasetGroup) { + return dataSetGroupService.save(datasetGroup); + } +} diff --git a/backend/src/main/java/io/dataease/dto/dataset/DataSetGroupDTO.java b/backend/src/main/java/io/dataease/dto/dataset/DataSetGroupDTO.java new file mode 100644 index 0000000000..27e7ccc26b --- /dev/null +++ b/backend/src/main/java/io/dataease/dto/dataset/DataSetGroupDTO.java @@ -0,0 +1,13 @@ +package io.dataease.dto.dataset; + +import io.dataease.base.domain.DatasetGroup; +import lombok.Data; + +/** + * @Author gin + * @Date 2021/2/20 8:17 下午 + */ +@Data +public class DataSetGroupDTO extends DatasetGroup { + private String label; +} diff --git a/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java new file mode 100644 index 0000000000..7218d55312 --- /dev/null +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetGroupService.java @@ -0,0 +1,35 @@ +package io.dataease.service.dataset; + +import com.alibaba.nacos.common.util.UuidUtils; +import io.dataease.base.domain.DatasetGroup; +import io.dataease.base.mapper.DatasetGroupMapper; +import io.dataease.commons.utils.BeanUtils; +import io.dataease.dto.dataset.DataSetGroupDTO; +import org.apache.commons.lang3.StringUtils; +import org.springframework.stereotype.Service; + +import javax.annotation.Resource; + +/** + * @Author gin + * @Date 2021/2/20 8:10 下午 + */ +@Service +public class DataSetGroupService { + @Resource + private DatasetGroupMapper datasetGroupMapper; + + public DataSetGroupDTO save(DatasetGroup datasetGroup) { + if (StringUtils.isEmpty(datasetGroup.getId())) { + datasetGroup.setId(UuidUtils.generateUuid()); + datasetGroup.setCreateTime(System.currentTimeMillis()); + datasetGroupMapper.insert(datasetGroup); + } else { + datasetGroupMapper.updateByPrimaryKey(datasetGroup); + } + DataSetGroupDTO dataSetGroupDTO = new DataSetGroupDTO(); + BeanUtils.copyBean(dataSetGroupDTO, datasetGroup); + dataSetGroupDTO.setLabel(dataSetGroupDTO.getName()); + return dataSetGroupDTO; + } +} diff --git a/frontend/src/business/components/dataset/group/Group.vue b/frontend/src/business/components/dataset/group/Group.vue index e570ce94a9..6d465c331f 100644 --- a/frontend/src/business/components/dataset/group/Group.vue +++ b/frontend/src/business/components/dataset/group/Group.vue @@ -57,6 +57,18 @@ + + + + + + + + + @@ -100,9 +112,21 @@ label: '二级 3-2' }] }]; + return { search: '', - data: JSON.parse(JSON.stringify(data)) + editGroup: false, + data: JSON.parse(JSON.stringify(data)), + groupForm: { + name: '', + pid: null, + level: 0 + }, + groupFormRules: { + name: [ + {required: true, message: this.$t('commons.input_content'), trigger: 'blur'}, + ], + } } }, mounted() { @@ -113,12 +137,36 @@ }, methods: { addGroup() { - this.$message( - { - message: '添加分组', - type: 'success' + this.editGroup = true; + + }, + + saveGroup() { + console.log(this.groupForm); + this.$refs['groupForm'].validate((valid) => { + if (valid) { + this.$post("/dataset/group/save", this.groupForm, response => { + this.close(); + this.$message({ + message: this.$t('commons.save_success'), + type: 'success', + showClose: true, + }); + }) + } else { + this.$message({ + message: this.$t('commons.input_content'), + type: 'error', + showClose: true, + }); + return false; } - ); + }); + }, + + close() { + this.editGroup = false; + this.$refs['groupForm'].resetFields(); }, addScene() { @@ -130,7 +178,7 @@ ) }, - nodeClick(data,node){ + nodeClick(data, node) { console.log(data); console.log(node); }, diff --git a/frontend/src/i18n/en-US.js b/frontend/src/i18n/en-US.js index 9fcaadd8f9..76768de603 100644 --- a/frontend/src/i18n/en-US.js +++ b/frontend/src/i18n/en-US.js @@ -1522,6 +1522,7 @@ export default { dataset:{ datalist:'Data List', add_group:'Add Group', - add_scene:'Add Scene' + add_scene:'Add Scene', + group:'DataSet Group' } }; diff --git a/frontend/src/i18n/zh-CN.js b/frontend/src/i18n/zh-CN.js index d96d8029a8..2a3bddda22 100644 --- a/frontend/src/i18n/zh-CN.js +++ b/frontend/src/i18n/zh-CN.js @@ -1525,6 +1525,7 @@ export default { dataset:{ datalist:'数据列表', add_group:'添加分组', - add_scene:'添加场景' + add_scene:'添加场景', + group:'分组' } }; diff --git a/frontend/src/i18n/zh-TW.js b/frontend/src/i18n/zh-TW.js index 31a9cc3a6f..f46f0f1161 100644 --- a/frontend/src/i18n/zh-TW.js +++ b/frontend/src/i18n/zh-TW.js @@ -1523,6 +1523,7 @@ export default { dataset:{ datalist:'數據列表', add_group:'添加分組', - add_scene:'添加場景' + add_scene:'添加場景', + group:'分組' } };