From f7dbe6f524ad2c4022f4e2d0a3aa4dddc0059cdb Mon Sep 17 00:00:00 2001 From: taojinlong Date: Thu, 26 Aug 2021 16:49:08 +0800 Subject: [PATCH 01/14] =?UTF-8?q?feat:=20=E9=80=89=E4=B8=AD=E5=8D=B3?= =?UTF-8?q?=E9=A2=84=E8=A7=88=E6=95=B0=E6=8D=AE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/dataset/add/AddExcel.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/views/dataset/add/AddExcel.vue b/frontend/src/views/dataset/add/AddExcel.vue index 31a2d8b142..b7f71b5c76 100644 --- a/frontend/src/views/dataset/add/AddExcel.vue +++ b/frontend/src/views/dataset/add/AddExcel.vue @@ -212,6 +212,7 @@ export default { handleCheckChange(data, checked, indeterminate) { if(checked){ this.defaultCheckedKeys.push(data.id) + this.handleNodeClick(data) }else { var index = this.defaultCheckedKeys.findIndex(id => { if ( id == data.id) { From 386e2cbf6fde20fc57fafc56a1ed021951cf7ee7 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Fri, 27 Aug 2021 11:20:35 +0800 Subject: [PATCH 02/14] =?UTF-8?q?fix:=E4=BF=AE=E5=A4=8D=E5=AD=98=E5=9C=A8?= =?UTF-8?q?=E8=BF=87=E6=BB=A4=E7=BB=84=E4=BB=B6=E7=9A=84=E4=BB=AA=E8=A1=A8?= =?UTF-8?q?=E6=9D=BF=E6=98=8E=E7=BB=86=E5=BC=B9=E5=87=BA=E4=B8=8D=E5=AF=B9?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/canvas/components/Editor/index.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/components/canvas/components/Editor/index.vue b/frontend/src/components/canvas/components/Editor/index.vue index a8b3e2af37..0065e5f052 100644 --- a/frontend/src/components/canvas/components/Editor/index.vue +++ b/frontend/src/components/canvas/components/Editor/index.vue @@ -72,6 +72,7 @@ Date: Fri, 27 Aug 2021 11:49:56 +0800 Subject: [PATCH 03/14] =?UTF-8?q?refactor:=20=E8=A7=86=E5=9B=BE=E6=8B=96?= =?UTF-8?q?=E6=8B=BD=E9=A1=B9=E6=A0=B7=E5=BC=8F=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/chart/components/drag-item/ChartDragItem.vue | 9 ++------- .../views/chart/components/drag-item/DimensionItem.vue | 2 +- .../src/views/chart/components/drag-item/QuotaItem.vue | 2 +- 3 files changed, 4 insertions(+), 9 deletions(-) diff --git a/frontend/src/views/chart/components/drag-item/ChartDragItem.vue b/frontend/src/views/chart/components/drag-item/ChartDragItem.vue index 329b7d9154..0b5ba92f6f 100644 --- a/frontend/src/views/chart/components/drag-item/ChartDragItem.vue +++ b/frontend/src/views/chart/components/drag-item/ChartDragItem.vue @@ -55,7 +55,7 @@ {{ $t('chart.sort') }} - ({{ $t('chart.'+item.sort) }}) + ({{ $t('chart.'+item.sort) }}) @@ -171,11 +171,6 @@ export default { font-size: 12px; } - .summary-span{ - margin-left: 4px; - color: #878d9f;; - } - .inner-dropdown-menu{ display: flex; justify-content: space-between; @@ -185,7 +180,7 @@ export default { .item-span-style{ display: inline-block; - width: 100px; + width: 80px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; diff --git a/frontend/src/views/chart/components/drag-item/DimensionItem.vue b/frontend/src/views/chart/components/drag-item/DimensionItem.vue index dbbfea12b7..acbc047608 100644 --- a/frontend/src/views/chart/components/drag-item/DimensionItem.vue +++ b/frontend/src/views/chart/components/drag-item/DimensionItem.vue @@ -227,7 +227,7 @@ export default { .item-span-style{ display: inline-block; - width: 100px; + width: 80px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; diff --git a/frontend/src/views/chart/components/drag-item/QuotaItem.vue b/frontend/src/views/chart/components/drag-item/QuotaItem.vue index 93e33f59a2..203db6db54 100644 --- a/frontend/src/views/chart/components/drag-item/QuotaItem.vue +++ b/frontend/src/views/chart/components/drag-item/QuotaItem.vue @@ -237,7 +237,7 @@ export default { .item-span-style{ display: inline-block; - width: 70px; + width: 80px; white-space: nowrap; text-overflow: ellipsis; overflow: hidden; From 019ff7ce9d523ebd9ffd2a96441c9d056f36e0d8 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 27 Aug 2021 12:03:35 +0800 Subject: [PATCH 04/14] =?UTF-8?q?refactor:=20=E5=8D=87=E7=BA=A7maven?= =?UTF-8?q?=E5=88=86=E6=9E=90=E5=B7=A5=E5=85=B7=E6=98=BE=E7=A4=BA=E7=89=88?= =?UTF-8?q?=E6=9C=AC=E8=BF=87=E4=BD=8E=E7=9A=84=E4=BE=9D=E8=B5=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/pom.xml | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/backend/pom.xml b/backend/pom.xml index 5415073b33..2c3cc33110 100644 --- a/backend/pom.xml +++ b/backend/pom.xml @@ -214,7 +214,7 @@ org.jsoup jsoup - 1.10.3 + 1.14.2 @@ -226,7 +226,7 @@ org.apache.commons commons-compress - 1.20 + 1.21 @@ -255,7 +255,7 @@ org.apache.httpcomponents httpclient - 4.5.6 + 4.5.13 From 74cc2bb0e173acfa2871d22c998a0b095e172ee8 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 27 Aug 2021 13:25:18 +0800 Subject: [PATCH 05/14] =?UTF-8?q?feat:=E6=9C=AA=E8=AF=BB=E6=B6=88=E6=81=AF?= =?UTF-8?q?=E5=88=97=E8=A1=A8=E5=A2=9E=E5=8A=A0=E4=B8=80=E9=94=AE=E5=85=A8?= =?UTF-8?q?=E9=83=A8=E5=B7=B2=E8=AF=BB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/controller/sys/MsgController.java | 7 ++++++- .../io/dataease/service/message/SysMsgService.java | 8 ++++++++ frontend/src/api/system/msg.js | 8 ++++++++ frontend/src/lang/en.js | 1 + frontend/src/lang/tw.js | 1 + frontend/src/lang/zh.js | 1 + frontend/src/views/msg/unread.vue | 10 ++++++++-- 7 files changed, 33 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/sys/MsgController.java b/backend/src/main/java/io/dataease/controller/sys/MsgController.java index 729edbae37..b100aea861 100644 --- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java +++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java @@ -6,7 +6,6 @@ import com.github.xiaoymin.knife4j.annotations.ApiSupport; import io.dataease.base.domain.SysMsgChannel; import io.dataease.base.domain.SysMsgSetting; import io.dataease.base.domain.SysMsgType; -import io.dataease.commons.exception.DEException; import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.PageUtils; import io.dataease.commons.utils.Pager; @@ -71,6 +70,12 @@ public class MsgController { sysMsgService.setBatchReaded(msgIds); } + @ApiOperation("全部设置已读") + @PostMapping("/allRead") + public void allRead() { + sysMsgService.setAllRead(); + } + @ApiOperation("批量删除") @PostMapping("/batchDelete") public void batchDelete(@RequestBody List msgIds) { diff --git a/backend/src/main/java/io/dataease/service/message/SysMsgService.java b/backend/src/main/java/io/dataease/service/message/SysMsgService.java index 798e0b42a2..4344b0e247 100644 --- a/backend/src/main/java/io/dataease/service/message/SysMsgService.java +++ b/backend/src/main/java/io/dataease/service/message/SysMsgService.java @@ -312,4 +312,12 @@ public class SysMsgService { return sourceLists; } + public void setAllRead() { + SysMsg record = new SysMsg(); + record.setStatus(true); + SysMsgExample example = new SysMsgExample(); + example.createCriteria().andUserIdEqualTo(AuthUtils.getUser().getUserId()).andStatusEqualTo(false); + sysMsgMapper.updateByExampleSelective(record, example); + } + } diff --git a/frontend/src/api/system/msg.js b/frontend/src/api/system/msg.js index 45ac7c687b..4dc120ae61 100644 --- a/frontend/src/api/system/msg.js +++ b/frontend/src/api/system/msg.js @@ -35,6 +35,14 @@ export function batchRead(data) { }) } +export function allRead() { + return request({ + url: '/api/sys_msg/allRead', + method: 'post', + loading: true + }) +} + export function batchDelete(data) { return request({ url: '/api/sys_msg/batchDelete', diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 011ffcfa21..5cb0caf85a 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1351,6 +1351,7 @@ export default { read_time: 'Read Time', type: 'Message Type', mark_readed: 'Mark As Read', + all_mark_readed: 'Mark All As Read', please_select: 'Please select at least one message', mark_success: 'Mark read successfully', receive_manage: 'Receive Manage', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index f251e2d5a6..18808a6284 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1350,6 +1350,7 @@ export default { read_time: '查看時間', type: '消息類型', mark_readed: '標記已讀', + all_mark_readed: '全部已讀', please_select: '請至少選擇一條消息', mark_success: '標記已讀成功', receive_manage: '接收管理', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index add3e55efc..fdc3dbea72 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -1353,6 +1353,7 @@ export default { read_time: '查看时间', type: '消息类型', mark_readed: '标记已读', + all_mark_readed: '全部已读', please_select: '请至少选择一条消息', mark_success: '标记已读成功', receive_manage: '接收管理', diff --git a/frontend/src/views/msg/unread.vue b/frontend/src/views/msg/unread.vue index 60b8c81c54..629b59f839 100644 --- a/frontend/src/views/msg/unread.vue +++ b/frontend/src/views/msg/unread.vue @@ -18,7 +18,7 @@ > { + this.$success(this.$t('webmsg.mark_success')) + this.search() + }) + }, markReaded() { if (this.multipleSelection.length === 0) { this.$warning(this.$t('webmsg.please_select')) From aac751b08d45dddc07353b527d5f50369cf2a2a3 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 27 Aug 2021 16:34:40 +0800 Subject: [PATCH 06/14] =?UTF-8?q?feat:=E5=A2=9E=E5=8A=A0=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E6=BA=90=E6=97=A0=E6=95=88=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/service/DatasourceService.java | 44 ++++++++++++++++++- 1 file changed, 43 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java b/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java index 529cdb16af..e04d3196ed 100644 --- a/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java +++ b/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java @@ -7,6 +7,7 @@ import io.dataease.base.mapper.*; import io.dataease.base.mapper.ext.ExtDataSourceMapper; import io.dataease.base.mapper.ext.query.GridExample; import io.dataease.commons.exception.DEException; +import io.dataease.commons.model.AuthURD; import io.dataease.commons.utils.AuthUtils; import io.dataease.commons.utils.CommonThreadPool; import io.dataease.commons.utils.LogUtil; @@ -25,6 +26,8 @@ import io.dataease.dto.dataset.DataTableInfoDTO; import io.dataease.exception.DataEaseException; import io.dataease.i18n.Translator; import io.dataease.service.dataset.DataSetGroupService; +import io.dataease.service.message.DeMsgutil; + import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -34,7 +37,10 @@ import org.springframework.transaction.annotation.Transactional; import javax.annotation.Resource; import java.util.ArrayList; import java.util.Arrays; +import java.util.HashMap; import java.util.List; +import java.util.Map; +import java.util.Set; import java.util.UUID; @Service @@ -238,7 +244,8 @@ public class DatasourceService { public void updateDatasourceStatus(){ List datasources = datasourceMapper.selectByExampleWithBLOBs(new DatasourceExample()); datasources.forEach(datasource -> { - checkAndUpdateDatasourceStatus(datasource); + // checkAndUpdateDatasourceStatus(datasource); + checkAndUpdateDatasourceStatus(datasource, true); }); } @@ -255,4 +262,39 @@ public class DatasourceService { datasourceMapper.updateByPrimaryKeySelective(datasource); } } + + private void checkAndUpdateDatasourceStatus(Datasource datasource, Boolean withMsg){ + try { + DatasourceProvider datasourceProvider = ProviderFactory.getProvider(datasource.getType()); + DatasourceRequest datasourceRequest = new DatasourceRequest(); + datasourceRequest.setDatasource(datasource); + datasourceProvider.checkStatus(datasourceRequest); + datasource.setStatus("Success"); + datasourceMapper.updateByPrimaryKeySelective(datasource); + } catch (Exception e) { + datasource.setStatus("Error"); + sendWebMsg(datasource); + datasourceMapper.updateByPrimaryKeySelective(datasource); + } + } + + + private void sendWebMsg(Datasource datasource) { + + String id = datasource.getId(); + AuthURD authURD = AuthUtils.authURDR(id); + Set userIds = AuthUtils.userIdsByURD(authURD); + Long typeId = 8L;// 代表数据源失效 + Gson gson = new Gson(); + userIds.forEach(userId -> { + Map param = new HashMap<>(); + param.put("id", id); + param.put("name", datasource.getName()); + + + String content = "数据源【" + datasource.getName() + "】无效"; + + DeMsgutil.sendMsg(userId, typeId, 1L, content, gson.toJson(param)); + }); + } } From 2fd29a71e4612f3f9766995d02e223a545943a3b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Fri, 27 Aug 2021 17:40:25 +0800 Subject: [PATCH 07/14] =?UTF-8?q?fix:=20=E8=A7=A3=E6=9E=90excel=E5=87=BA?= =?UTF-8?q?=E9=94=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/commons/utils/ExcelReaderUtil.java | 8 +++----- .../io/dataease/commons/utils/ExcelXlsxReader.java | 12 ++++++++++++ 2 files changed, 15 insertions(+), 5 deletions(-) diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java b/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java index d90f453cb2..53249d256b 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelReaderUtil.java @@ -57,13 +57,11 @@ public class ExcelReaderUtil { ExcelXlsxReader excelXlsxReader = new ExcelXlsxReader(); excelXlsxReader.process(inputStream); System.out.println(excelXlsxReader.totalSheets.size()); - System.out.println(excelXlsxReader.totalSheets.get(1).getExcelLable()); - for (TableFiled field : excelXlsxReader.totalSheets.get(1).getFields()) { + System.out.println(excelXlsxReader.totalSheets.get(0).getExcelLable()); + for (TableFiled field : excelXlsxReader.totalSheets.get(0).getFields()) { System.out.println(new Gson().toJson(field)); } System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(0)); - System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(1)); - System.out.println(excelXlsxReader.totalSheets.get(0).getData().get(2)); } else { throw new Exception("文件格式错误,fileName的扩展名只能是xls或xlsx。"); @@ -71,7 +69,7 @@ public class ExcelReaderUtil { } public static void main(String[] args) throws Exception { - String file ="赤收管理 2.xlsx"; + String file ="Metersphere_case_DataEase功能用例.xlsx"; ExcelReaderUtil.readExcel(file, new FileInputStream("/Users/taojinlong/Desktop/" + file)); } } diff --git a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java index 43396bcf8f..63f8950914 100644 --- a/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java +++ b/backend/src/main/java/io/dataease/commons/utils/ExcelXlsxReader.java @@ -237,6 +237,14 @@ public class ExcelXlsxReader extends DefaultHandler { if (isTElement) {//这个程序没经过 //将单元格内容加入rowlist中,在这之前先去掉字符串前后的空白符 String value = lastIndex.trim(); + if(curRow==1){ + TableFiled tableFiled = new TableFiled(); + tableFiled.setFieldType("TEXT"); + tableFiled.setFieldSize(65533); + tableFiled.setFieldName(value); + tableFiled.setRemarks(value); + this.fields.add(tableFiled); + } cellList.add(curCol, value); curCol++; isTElement = false; @@ -432,6 +440,10 @@ public class ExcelXlsxReader extends DefaultHandler { } } } + if(curCol==1){ + System.out.println(type); + System.out.println(nextDataType); + } return thisStr; } From a9123035d70b3441bb71722ac49752c45bc1a6e3 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 27 Aug 2021 17:56:10 +0800 Subject: [PATCH 08/14] =?UTF-8?q?feat:=20=E5=AE=8C=E5=96=84=E6=95=B0?= =?UTF-8?q?=E6=8D=AE=E6=BA=90=E5=A4=B1=E6=95=88=E6=B6=88=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../datasource/service/DatasourceService.java | 8 +++- .../resources/db/migration/V26__de1.3.sql | 7 ++++ frontend/src/lang/en.js | 1 + frontend/src/lang/tw.js | 1 + frontend/src/lang/zh.js | 1 + .../src/views/system/datasource/DsMain.vue | 3 ++ .../src/views/system/datasource/DsTree.vue | 38 ++++++++++++++++--- .../src/views/system/datasource/index.vue | 34 +++++++++++++++-- 8 files changed, 81 insertions(+), 12 deletions(-) create mode 100644 backend/src/main/resources/db/migration/V26__de1.3.sql diff --git a/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java b/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java index e04d3196ed..0687144638 100644 --- a/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java +++ b/backend/src/main/java/io/dataease/datasource/service/DatasourceService.java @@ -272,9 +272,13 @@ public class DatasourceService { datasource.setStatus("Success"); datasourceMapper.updateByPrimaryKeySelective(datasource); } catch (Exception e) { + Datasource temp = datasourceMapper.selectByPrimaryKey(datasource.getId()); datasource.setStatus("Error"); - sendWebMsg(datasource); - datasourceMapper.updateByPrimaryKeySelective(datasource); + if (!StringUtils.equals(temp.getStatus(), "Error")) { + sendWebMsg(datasource); + datasourceMapper.updateByPrimaryKeySelective(datasource); + } + } } diff --git a/backend/src/main/resources/db/migration/V26__de1.3.sql b/backend/src/main/resources/db/migration/V26__de1.3.sql new file mode 100644 index 0000000000..ef59aa58cb --- /dev/null +++ b/backend/src/main/resources/db/migration/V26__de1.3.sql @@ -0,0 +1,7 @@ +-- ---------------------------- +-- Records of sys_msg_type +-- ---------------------------- +BEGIN; +INSERT INTO `sys_msg_type` VALUES (7, 0, 'i18n_msg_type_ds_invalid', 'datasource', 'to-msg-ds'); +INSERT INTO `sys_msg_type` VALUES (8, 7, 'i18n_msg_type_ds_invalid', 'datasource', 'to-msg-ds'); +COMMIT; \ No newline at end of file diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 5cb0caf85a..cd87e7173b 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1361,6 +1361,7 @@ export default { i18n_msg_type_dataset_sync_success: 'Dataset synchronization successful', i18n_msg_type_dataset_sync_faild: 'Dataset synchronization failed', i18n_msg_type_all: 'All type', + i18n_msg_type_ds_invalid: 'Datasource invalid', channel_inner_msg: 'On site news' }, denumberrange: { diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 18808a6284..3142165b89 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1359,6 +1359,7 @@ export default { i18n_msg_type_dataset_sync: '數據集同步', i18n_msg_type_dataset_sync_success: '數據集同步成功', i18n_msg_type_dataset_sync_faild: '數據集同步失敗', + i18n_msg_type_ds_invalid: '數據源失效', i18n_msg_type_all: '全部類型', channel_inner_msg: '站內消息' }, diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index fdc3dbea72..b243e71fa4 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -1362,6 +1362,7 @@ export default { i18n_msg_type_dataset_sync: '数据集同步', i18n_msg_type_dataset_sync_success: '数据集同步成功', i18n_msg_type_dataset_sync_faild: '数据集同步失败', + i18n_msg_type_ds_invalid: '数据源失效', i18n_msg_type_all: '全部类型', channel_inner_msg: '站内消息' }, diff --git a/frontend/src/views/system/datasource/DsMain.vue b/frontend/src/views/system/datasource/DsMain.vue index 87f68ca22c..c2bc1495aa 100644 --- a/frontend/src/views/system/datasource/DsMain.vue +++ b/frontend/src/views/system/datasource/DsMain.vue @@ -55,6 +55,9 @@ export default { }, refreshTree() { this.$refs.dsTree && this.$refs.dsTree.queryTreeDatas() + }, + msg2Current(sourceParam) { + this.$refs.dsTree && this.$refs.dsTree.markInvalid(sourceParam) } } } diff --git a/frontend/src/views/system/datasource/DsTree.vue b/frontend/src/views/system/datasource/DsTree.vue index a0ebafc2d9..b6e13d60c7 100644 --- a/frontend/src/views/system/datasource/DsTree.vue +++ b/frontend/src/views/system/datasource/DsTree.vue @@ -41,11 +41,11 @@ - - - {{ data.name }} - - + + + {{ data.name }} + + @@ -129,6 +129,11 @@ export default { const newArr = [] for (let index = 0; index < array.length; index++) { const element = array[index] + if (this.msgNodeId) { + if (element.id === this.msgNodeId) { + element.msgNode = true + } + } if (!(element.type in types)) { types[element.type] = [] // newArr.push(...element, ...{ children: types[element.type] }) @@ -147,7 +152,7 @@ export default { return 'SQL Server' } else if (type === 'oracle') { return 'Oracle' - }else if (type === 'pg') { + } else if (type === 'pg') { return 'PostgreSQL' } }, @@ -208,6 +213,21 @@ export default { component, componentParam }) + }, + markInvalid(msgParam) { + const param = JSON.parse(msgParam) + const msgNodeId = param.id + this.msgNodeId = msgNodeId + this.$nextTick(() => { + this.tData.forEach(folder => { + const nodes = folder.children + nodes.forEach(node => { + if (node.id === msgNodeId) { + node.msgNode = true + } + }) + }) + }) } } } @@ -303,4 +323,10 @@ export default { height: 100%; overflow-y: auto; } + .msg-node-class { + color: red; + >>> i{ + color: red; + } + } diff --git a/frontend/src/views/system/datasource/index.vue b/frontend/src/views/system/datasource/index.vue index 8dce7dc8d3..1e0d024244 100644 --- a/frontend/src/views/system/datasource/index.vue +++ b/frontend/src/views/system/datasource/index.vue @@ -1,7 +1,7 @@ @@ -10,7 +10,7 @@ import DeMainContainer from '@/components/dataease/DeMainContainer' import DeContainer from '@/components/dataease/DeContainer' import DsMain from './DsMain' - +import bus from '@/utils/bus' export default { name: 'Panel', components: { DeMainContainer, DeContainer, DsMain }, @@ -22,10 +22,36 @@ export default { } }, mounted() { - + bus.$on('to-msg-ds', params => { + this.toMsgDs(params) + }) + }, + created() { + this.$store.dispatch('app/toggleSideBarHide', true) + const routerParam = this.$router.currentRoute.params + this.toMsgDs(routerParam) }, methods: { - + toMsgDs(routerParam) { + if (routerParam !== null && routerParam.msgNotification) { + const panelShareTypeIds = [7, 8] + // 说明是从消息通知跳转过来的 + if (panelShareTypeIds.includes(routerParam.msgType)) { // 是数据集同步 + if (routerParam.sourceParam) { + try { + // const msgParam = JSON.parse(routerParam.sourceParam) + // this.param = msgParam.id + // this.component = ViewTable + this.$nextTick(() => { + this.$refs.dsMain && this.$refs.dsMain.msg2Current && this.$refs.dsMain.msg2Current(routerParam.sourceParam) + }) + } catch (error) { + console.error(error) + } + } + } + } + } } } From 7c09002c9bfd623404f3ddc7ad95a6457585faec Mon Sep 17 00:00:00 2001 From: taojinlong Date: Fri, 27 Aug 2021 18:05:04 +0800 Subject: [PATCH 09/14] =?UTF-8?q?fix:=20sqlserver=20=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=AF=86=E5=88=AB?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/sqlserver/SqlserverQueryProvider.java | 1 + 1 file changed, 1 insertion(+) diff --git a/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java index 37d0ec4881..a9a07b1ce0 100644 --- a/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/sqlserver/SqlserverQueryProvider.java @@ -37,6 +37,7 @@ public class SqlserverQueryProvider extends QueryProvider { @Override public Integer transFieldType(String field) { + field = field.toUpperCase(); switch (field) { case "CHAR": case "NCHAR": From 21af196e17ce499766f84747d6f40c1912dc2499 Mon Sep 17 00:00:00 2001 From: junjie Date: Fri, 27 Aug 2021 18:21:02 +0800 Subject: [PATCH 10/14] =?UTF-8?q?fix:=20=E9=A2=9C=E8=89=B2=E9=80=89?= =?UTF-8?q?=E6=8B=A9=E5=99=A8=E5=8E=BB=E6=8E=89=E6=B8=85=E7=A9=BA=EF=BC=9B?= =?UTF-8?q?=E7=9F=A9=E5=BD=A2=E6=A0=91=E5=9B=BE=E6=A0=87=E7=AD=BE=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=EF=BC=9Bdoris=20=E8=AE=A1=E7=AE=97=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E6=94=AF=E6=8C=81=E5=B0=8F=E6=95=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/provider/doris/DorisQueryProvider.java | 2 ++ frontend/src/styles/index.scss | 4 ++++ frontend/src/views/chart/chart/treemap/treemap.js | 1 + 3 files changed, 7 insertions(+) diff --git a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java index f7638fe8c9..8fe11624f3 100644 --- a/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/doris/DorisQueryProvider.java @@ -121,6 +121,8 @@ public class DorisQueryProvider extends QueryProvider { fieldName = String.format(DorisConstants.FROM_UNIXTIME, cast, DorisConstants.DEFAULT_DATE_FORMAT); } else if (f.getDeType() == 2) { fieldName = String.format(DorisConstants.CAST, originField, DorisConstants.DEFAULT_INT_FORMAT); + } else if (f.getDeType() == 3) { + fieldName = String.format(DorisConstants.CAST, originField, DorisConstants.DEFAULT_FLOAT_FORMAT); } else { fieldName = originField; } diff --git a/frontend/src/styles/index.scss b/frontend/src/styles/index.scss index 701346fe3d..5b939fd1e4 100644 --- a/frontend/src/styles/index.scss +++ b/frontend/src/styles/index.scss @@ -349,3 +349,7 @@ div:focus { width: 5px; height: 5px; } + +.el-color-dropdown__link-btn { + display: none!important; +} diff --git a/frontend/src/views/chart/chart/treemap/treemap.js b/frontend/src/views/chart/chart/treemap/treemap.js index c4b7dc719f..4db4572bea 100644 --- a/frontend/src/views/chart/chart/treemap/treemap.js +++ b/frontend/src/views/chart/chart/treemap/treemap.js @@ -54,6 +54,7 @@ export function baseTreemapOption(chart_option, chart) { // y.type = 'treemap' chart_option.series[0].data.push(y) } + chart_option.series[0].name = chart.data.series[0].name } } // console.log(chart_option); From b23f2f3456c09f5fd6923aca1d5f3147055217ae Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Fri, 27 Aug 2021 16:36:55 +0800 Subject: [PATCH 11/14] =?UTF-8?q?fix:=20=E9=A1=B6=E7=BA=A7=E5=9C=B0?= =?UTF-8?q?=E5=90=8D=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/src/main/java/io/dataease/map/utils/MapUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/map/utils/MapUtils.java b/backend/src/main/java/io/dataease/map/utils/MapUtils.java index 15d64ce2e7..523c6fd447 100644 --- a/backend/src/main/java/io/dataease/map/utils/MapUtils.java +++ b/backend/src/main/java/io/dataease/map/utils/MapUtils.java @@ -121,7 +121,7 @@ public class MapUtils { } private static AreaEntity root() { - return AreaEntity.builder().code("100000").name("中华人名共和国").build(); + return AreaEntity.builder().code("100000").name("中华人民共和国").build(); } public static void recursionWrite(List areaEntityList) { From b2e00892773d3af32634d4e8ff4f5d59b599c02e Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 30 Aug 2021 15:47:39 +0800 Subject: [PATCH 12/14] =?UTF-8?q?fix:=20=E6=95=B0=E6=8D=AE=E9=9B=86?= =?UTF-8?q?=E9=87=8D=E5=91=BD=E5=90=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../controller/dataset/DataSetTableController.java | 6 ++++++ .../service/dataset/DataSetTableService.java | 8 ++++++++ frontend/src/api/dataset/dataset.js | 9 +++++++++ frontend/src/views/dataset/group/Group.vue | 13 ++----------- 4 files changed, 25 insertions(+), 11 deletions(-) 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 ab6c300345..4fa8d70494 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableController.java @@ -46,6 +46,12 @@ public class DataSetTableController { } } + @ApiOperation("重命名") + @PostMapping("rename") + public void rename(@RequestBody DataSetTableRequest request) throws Exception { + dataSetTableService.rename(request); + } + @ApiOperation("删除") @PostMapping("delete/{id}") public void delete(@PathVariable String id) throws Exception { 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 d3cb79db85..94b1f45169 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -251,6 +251,14 @@ public class DataSetTableService { return datasetTable; } + public void rename(DataSetTableRequest request)throws Exception { + checkName(request); + DatasetTable datasetTable = new DatasetTable(); + datasetTable.setId(request.getId()); + datasetTable.setName(request.getName()); + datasetTableMapper.updateByPrimaryKeySelective(datasetTable); + } + public void delete(String id) throws Exception { DatasetTable table = datasetTableMapper.selectByPrimaryKey(id); datasetTableMapper.deleteByPrimaryKey(id); diff --git a/frontend/src/api/dataset/dataset.js b/frontend/src/api/dataset/dataset.js index 5813b7611c..0efcf06d48 100644 --- a/frontend/src/api/dataset/dataset.js +++ b/frontend/src/api/dataset/dataset.js @@ -43,6 +43,15 @@ export function addTable(data) { }) } +export function rename(data) { + return request({ + url: '/dataset/table/rename', + method: 'post', + loading: true, + data + }) +} + export function delTable(tableId) { return request({ url: '/dataset/table/delete/' + tableId, diff --git a/frontend/src/views/dataset/group/Group.vue b/frontend/src/views/dataset/group/Group.vue index 2163d42f21..a78d2973e8 100644 --- a/frontend/src/views/dataset/group/Group.vue +++ b/frontend/src/views/dataset/group/Group.vue @@ -341,7 +341,7 @@