From c2c1fdf7cafdbdb4a0431c7fce555f44199a245d Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 1 Nov 2022 16:26:45 +0800 Subject: [PATCH 01/33] =?UTF-8?q?fix(=E7=B3=BB=E7=BB=9F=E5=8F=82=E6=95=B0)?= =?UTF-8?q?:=20=E6=95=B0=E6=8D=AE=E9=9B=86=E8=AF=A6=E6=83=85-=E6=9B=B4?= =?UTF-8?q?=E6=96=B0=E4=BF=A1=E6=81=AF=EF=BC=8C=E6=9F=A5=E7=9C=8B=E5=90=8C?= =?UTF-8?q?=E6=AD=A5=E5=A4=B1=E8=B4=A5=E7=9A=84=E5=8E=9F=E5=9B=A0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataset/DataSetTableTaskController.java | 7 ++++++- frontend/src/views/dataset/data/UpdateInfo.vue | 11 +++++++++-- 2 files changed, 15 insertions(+), 3 deletions(-) diff --git a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java index 90b7bf6c6e..a4a36265ee 100644 --- a/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java +++ b/backend/src/main/java/io/dataease/controller/dataset/DataSetTableTaskController.java @@ -67,7 +67,12 @@ public class DataSetTableTaskController { @PostMapping("list/{goPage}/{pageSize}") public Pager> list(@RequestBody DatasetTableTask datasetTableTask, @PathVariable int goPage, @PathVariable int pageSize) { Page page = PageHelper.startPage(goPage, pageSize, true); - return PageUtils.setPageInfo(page, dataSetTableTaskService.list(datasetTableTask)); + Pager> listPager = PageUtils.setPageInfo(page, dataSetTableTaskService.list(datasetTableTask)); + List listObject = listPager.getListObject(); + for (DataSetTaskDTO dto : listObject) { + dataSetTableTaskLogService.lastExecStatus(dto); + } + return listPager; } @ApiOperation("分页查询") diff --git a/frontend/src/views/dataset/data/UpdateInfo.vue b/frontend/src/views/dataset/data/UpdateInfo.vue index c9d90257ce..b51c4da2f2 100644 --- a/frontend/src/views/dataset/data/UpdateInfo.vue +++ b/frontend/src/views/dataset/data/UpdateInfo.vue @@ -66,8 +66,15 @@ v-if="scope.row.lastExecStatus" :class="[`de-${scope.row.lastExecStatus}-pre`, 'de-status']" >{{ - $t(`dataset.${scope.row.lastExecStatus.toLocaleLowerCase()}`) - }} + $t(`dataset.${scope.row.lastExecStatus.toLocaleLowerCase()}`) + }} + - From 85320bf4446cc3f24960ea153ec45cb7f32084b7 Mon Sep 17 00:00:00 2001 From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com> Date: Tue, 1 Nov 2022 17:14:35 +0800 Subject: [PATCH 02/33] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E6=A0=87?= =?UTF-8?q?=E9=A2=98=E6=98=BE=E7=A4=BA=E5=BB=B6=E8=BF=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/store/index.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index c7fded233e..58cf480849 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -205,6 +205,9 @@ const data = { } state.styleChangeTimes = 0 state.curComponent = component + if (index !== null && !isNaN(index)) { + state.componentData.splice(index, 1, component) + } state.curComponentIndex = index }, From 6353960bc096af563006c66a1988e5cd254d479e Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 1 Nov 2022 17:20:50 +0800 Subject: [PATCH 03/33] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E5=AE=9A=E6=97=B6=E4=BB=BB=E5=8A=A1=E9=A2=84=E8=A7=88tab?= =?UTF-8?q?=E7=BB=84=E4=BB=B6=E5=86=85=E7=9A=84=E8=A7=86=E5=9B=BE=E9=94=99?= =?UTF-8?q?=E4=BD=8D=E7=9A=84=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/DeViewSelect/index.vue | 8 +++++++- frontend/src/components/canvas/store/copy.js | 2 ++ frontend/src/components/canvas/utils/utils.js | 8 ++++++-- frontend/src/components/widget/DeWidget/DeTabs.vue | 3 ++- frontend/src/store/index.js | 7 +++++-- frontend/src/views/panel/ViewSelect/multiplexing.vue | 3 ++- 6 files changed, 24 insertions(+), 7 deletions(-) diff --git a/frontend/src/components/DeViewSelect/index.vue b/frontend/src/components/DeViewSelect/index.vue index 5a30cdcda3..057055c43f 100644 --- a/frontend/src/components/DeViewSelect/index.vue +++ b/frontend/src/components/DeViewSelect/index.vue @@ -34,7 +34,7 @@ :style="{'height': panelHeight + 'px'}" > item.canvasId === this.canvasId) + }, popperClass() { const _c = 'el-view-select-popper ' + this.popoverClass return this.disabled ? _c + ' disabled ' : _c @@ -148,6 +153,7 @@ export default { panelDataPrepare(JSON.parse(response.data.panelData), JSON.parse(response.data.panelStyle), rsp => { this.viewLoaded = true this.componentData = rsp.componentData + this.$store.commit('setPreviewComponentData', this.componentData) this.canvasStyleData = rsp.componentStyle this.loadOptions() }) diff --git a/frontend/src/components/canvas/store/copy.js b/frontend/src/components/canvas/store/copy.js index afb3f9e91f..86a7feafbc 100644 --- a/frontend/src/components/canvas/store/copy.js +++ b/frontend/src/components/canvas/store/copy.js @@ -108,6 +108,8 @@ export default { Vue.set(newView, 'needAdaptor', needAdaptor) newView.id = uuid.v1() newView.propValue.viewId = res.data + newView['canvasId'] = 'canvas-main' + newView['canvasPid'] = '0' if (newView.filters && newView.filters.length) { newView.filters = [] } diff --git a/frontend/src/components/canvas/utils/utils.js b/frontend/src/components/canvas/utils/utils.js index aba32e1d9e..988461c2cb 100644 --- a/frontend/src/components/canvas/utils/utils.js +++ b/frontend/src/components/canvas/utils/utils.js @@ -231,6 +231,10 @@ export function imgUrlTrans(url) { } } -export function getNowCanvasComponentData(canvasId) { - return store.state.componentData.filter(item => item.canvasId === canvasId) +export function getNowCanvasComponentData(canvasId, showPosition) { + if (showPosition && (showPosition.includes('email-task') || showPosition.includes('multiplexing'))) { + return store.state.previewComponentData.filter(item => item.canvasId === canvasId) + } else { + return store.state.componentData.filter(item => item.canvasId === canvasId) + } } diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index d9526cad50..865f1e8ed8 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -76,6 +76,7 @@ :canvas-id="element.id+'-'+item.name" :panel-info="panelInfo" :in-screen="true" + :show-position="showPosition" /> @@ -431,7 +432,7 @@ export default { if (this.mobileLayoutStatus) { return this.pcComponentData.filter(item => item.canvasId === tabCanvasId) } else { - return getNowCanvasComponentData(tabCanvasId) + return getNowCanvasComponentData(tabCanvasId, this.showPosition) } }, setContentThemeStyle() { diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index c7fded233e..f6a2031416 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -152,7 +152,8 @@ const data = { width: 0, height: 0 }, - previewVisible: false + previewVisible: false, + previewComponentData: [] }, mutations: { ...animation.mutations, @@ -242,7 +243,9 @@ const data = { setComponentData(state, componentData = []) { Vue.set(state, 'componentData', componentData) }, - + setPreviewComponentData(state, previewComponentData = []) { + Vue.set(state, 'previewComponentData', previewComponentData) + }, setComponentViewsData(state, componentViewsData = {}) { Vue.set(state, 'componentViewsData', componentViewsData) }, diff --git a/frontend/src/views/panel/ViewSelect/multiplexing.vue b/frontend/src/views/panel/ViewSelect/multiplexing.vue index 2012a9da11..33970e6670 100644 --- a/frontend/src/views/panel/ViewSelect/multiplexing.vue +++ b/frontend/src/views/panel/ViewSelect/multiplexing.vue @@ -75,7 +75,7 @@ export default { }, computed: { mainCanvasComponentData() { - return getNowCanvasComponentData(this.canvasId) + return this.componentData.filter(item => item.canvasId === this.canvasId) } }, watch: { @@ -105,6 +105,7 @@ export default { _this.componentData = rsp.componentData _this.canvasStyleData = rsp.componentStyle _this.selectedPanel = params + _this.$store.commit('setPreviewComponentData', _this.componentData) }) }) } else if (params.showType === 'view') { From 4e249acacd40cdfb4c0c5a3ca7db6378791dd975 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Tue, 1 Nov 2022 17:25:58 +0800 Subject: [PATCH 04/33] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E5=88=86=E4=BA=AB=E4=B8=AD=E6=9F=A5=E7=9C=8B=E4=BB=AA=E8=A1=A8?= =?UTF-8?q?=E6=9D=BF=E7=BC=BA=E5=A4=B1=E4=BB=AA=E8=A1=A8=E6=9D=BF=E5=88=9B?= =?UTF-8?q?=E5=BB=BA=E8=80=85=E4=BF=A1=E6=81=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/api/panel/shareProxy.js | 3 +++ 1 file changed, 3 insertions(+) diff --git a/frontend/src/api/panel/shareProxy.js b/frontend/src/api/panel/shareProxy.js index 5b63589da5..2ee5fcab34 100644 --- a/frontend/src/api/panel/shareProxy.js +++ b/frontend/src/api/panel/shareProxy.js @@ -16,10 +16,13 @@ export function proxyInitPanelData(panelId, proxy, callback) { name: response.data.name, privileges: response.data.privileges, proxy: proxy.userId, + sourcePanelName: response.data.sourcePanelName, status: response.data.status, createBy: response.data.createBy, createTime: response.data.createTime, + creatorName: response.data.creatorName, updateBy: response.data.updateBy, + updateName: response.data.updateName, updateTime: response.data.updateTime }) // 刷新联动信息 From bb22c0dd110bed46fe84ae18162e95c596263a74 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 1 Nov 2022 18:11:35 +0800 Subject: [PATCH 05/33] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DTab=E5=86=85=E7=BB=84=E4=BB=B6=E7=9A=84?= =?UTF-8?q?=E6=82=AC=E6=B5=AE=E5=B7=A5=E5=85=B7=E6=A0=8F=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E4=BF=AE=E6=94=B9=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/TextAttr.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/src/components/canvas/components/TextAttr.vue b/frontend/src/components/canvas/components/TextAttr.vue index c9412d7710..abeaef25a7 100644 --- a/frontend/src/components/canvas/components/TextAttr.vue +++ b/frontend/src/components/canvas/components/TextAttr.vue @@ -6,6 +6,7 @@
Date: Tue, 1 Nov 2022 18:44:21 +0800 Subject: [PATCH 06/33] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8D=E5=AF=BC=E5=87=BA=E8=A7=86=E5=9B=BExlsx=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=9C=A8mac=E4=B8=8A=E7=9A=84Excel=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=89=93=E5=BC=80=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/service/panel/PanelGroupService.java | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java index 4e44e60753..a32f624813 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupService.java @@ -40,6 +40,7 @@ import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; import org.apache.poi.hssf.usermodel.*; import org.apache.poi.ss.usermodel.*; +import org.apache.poi.xssf.usermodel.XSSFWorkbook; import org.pentaho.di.core.util.UUIDUtil; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -621,9 +622,9 @@ public class PanelGroupService { List details = request.getDetails(); Integer[] excelTypes = request.getExcelTypes(); details.add(0, request.getHeader()); - HSSFWorkbook wb = new HSSFWorkbook(); + Workbook wb = new XSSFWorkbook(); //明细sheet - HSSFSheet detailsSheet = wb.createSheet("数据"); + Sheet detailsSheet = wb.createSheet("数据"); //给单元格设置样式 CellStyle cellStyle = wb.createCellStyle(); @@ -641,11 +642,11 @@ public class PanelGroupService { if (CollectionUtils.isNotEmpty(details)) { for (int i = 0; i < details.size(); i++) { - HSSFRow row = detailsSheet.createRow(i); + Row row = detailsSheet.createRow(i); String[] rowData = details.get(i); if (rowData != null) { for (int j = 0; j < rowData.length; j++) { - HSSFCell cell = row.createCell(j); + Cell cell = row.createCell(j); if (i == 0) {// 头部 cell.setCellValue(rowData[j]); cell.setCellStyle(cellStyle); @@ -669,14 +670,14 @@ public class PanelGroupService { } if (StringUtils.isNotEmpty(snapshot)) { //截图sheet 1px ≈ 2.33dx ≈ 0.48 dy 8*24 个单元格 - HSSFSheet snapshotSheet = wb.createSheet("图表"); + Sheet snapshotSheet = wb.createSheet("图表"); short reDefaultRowHeight = (short) Math.round(request.getSnapshotHeight() * 3.5 / 8); int reDefaultColumnWidth = (int) Math.round(request.getSnapshotWidth() * 0.25 / 24); snapshotSheet.setDefaultColumnWidth(reDefaultColumnWidth); snapshotSheet.setDefaultRowHeight(reDefaultRowHeight); //画图的顶级管理器,一个sheet只能获取一个(一定要注意这点)i - HSSFPatriarch patriarch = snapshotSheet.createDrawingPatriarch(); + Drawing patriarch = snapshotSheet.createDrawingPatriarch(); HSSFClientAnchor anchor = new HSSFClientAnchor(0, 0, reDefaultColumnWidth, reDefaultColumnWidth, (short) 0, 0, (short) 8, 24); anchor.setAnchorType(ClientAnchor.AnchorType.DONT_MOVE_DO_RESIZE); patriarch.createPicture(anchor, wb.addPicture(Base64Utils.decodeFromString(snapshot.replace(DATA_URL_TITLE, "")), HSSFWorkbook.PICTURE_TYPE_JPEG)); From 77abdee0bf4d2393079846502e314c61154f89cb Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 1 Nov 2022 20:26:37 +0800 Subject: [PATCH 07/33] =?UTF-8?q?refactor(=E8=A7=86=E5=9B=BE):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E8=A1=A8=E6=A0=BC=E4=B8=8B=E9=92=BB=E6=A0=B7=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/components/ChartComponentS2.vue | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/frontend/src/views/chart/components/ChartComponentS2.vue b/frontend/src/views/chart/components/ChartComponentS2.vue index caf1e6a9bd..7fced189dd 100644 --- a/frontend/src/views/chart/components/ChartComponentS2.vue +++ b/frontend/src/views/chart/components/ChartComponentS2.vue @@ -480,13 +480,13 @@ export default { height:100%; } .table-dom-info-drill{ - height:calc(100% - 36px - 12px); + height:calc(100% - 36px - 24px); } .table-dom-info-drill-pull{ - height:calc(100% - 12px); + height:calc(100% - 24px); } .table-dom-normal-drill{ - height:calc(100% - 12px); + height:calc(100% - 24px); } .table-page{ display: flex; @@ -504,6 +504,7 @@ export default { font-size: 12px; color: #606266; white-space:nowrap; + padding-left: 8px; } .page-style ::v-deep .el-input__inner{ height: 24px; From 1af415f69bf8da020175345a769a43b9e9f9c4bc Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Tue, 1 Nov 2022 21:48:38 +0800 Subject: [PATCH 08/33] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E4=BF=AE=E5=A4=8DTab=E7=BB=84=E4=BB=B6=E7=82=B9=E5=87=BB?= =?UTF-8?q?=E6=B6=88=E5=A4=B1=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/widget/DeWidget/DeTabs.vue | 57 ++++++++++++++++--- frontend/src/store/index.js | 3 - 2 files changed, 49 insertions(+), 11 deletions(-) diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index 865f1e8ed8..b4f635e8ae 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -3,6 +3,8 @@ class="de-tabs-div" :class="headClass" > +
+
diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index 9396868b96..f6a2031416 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -206,9 +206,6 @@ const data = { } state.styleChangeTimes = 0 state.curComponent = component - if (index !== null && !isNaN(index)) { - state.componentData.splice(index, 1, component) - } state.curComponentIndex = index }, From a44b364b3482ef5afb7dfdbad8ee8caad7e16b1e Mon Sep 17 00:00:00 2001 From: junjun Date: Tue, 1 Nov 2022 22:19:04 +0800 Subject: [PATCH 09/33] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE):=20=E4=BF=AE?= =?UTF-8?q?=E5=A4=8Decharts=E8=A7=86=E5=9B=BE=E4=B8=8D=E8=83=BD=E6=89=B9?= =?UTF-8?q?=E9=87=8F=E6=93=8D=E4=BD=9C=E9=97=B4=E8=B7=9D=E7=9A=84=E9=97=AE?= =?UTF-8?q?=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/view/ChartStyleBatchSet.vue | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/frontend/src/views/chart/view/ChartStyleBatchSet.vue b/frontend/src/views/chart/view/ChartStyleBatchSet.vue index ea69d06fbb..3be0d4f6a2 100644 --- a/frontend/src/views/chart/view/ChartStyleBatchSet.vue +++ b/frontend/src/views/chart/view/ChartStyleBatchSet.vue @@ -26,6 +26,7 @@ @onChangeSplitForm="onChangeSplitForm" @onTextChange="onTextChange" @onLegendChange="onLegendChange" + @onMarginChange="onMarginChange" />
@@ -99,6 +100,9 @@ export default { onLegendChange(val) { this.batchOptChange('customStyle', 'legend', val) }, + onMarginChange(val) { + this.batchOptChange('customStyle', 'margin', val) + }, batchOptChange(custom, property, value) { this.$store.commit('setChangeProperties', { 'custom': custom, From 9b37a875d842f4af45d76f2b794832af04888069 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Tue, 1 Nov 2022 22:52:14 +0800 Subject: [PATCH 10/33] =?UTF-8?q?fix(=E6=95=B0=E6=8D=AE=E6=BA=90):=20?= =?UTF-8?q?=E8=8E=B7=E5=8F=96=20sqlserver=20=E8=A1=A8=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/datasource/JdbcProvider.java | 65 ++++++++++--------- .../service/dataset/DataSetTableService.java | 2 +- 2 files changed, 37 insertions(+), 30 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java index ea5b3a204e..beb65cab8a 100644 --- a/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java +++ b/backend/src/main/java/io/dataease/provider/datasource/JdbcProvider.java @@ -89,8 +89,8 @@ public class JdbcProvider extends DefaultJdbcProvider { } DatabaseMetaData databaseMetaData = connection.getMetaData(); String tableNamePattern = datasourceRequest.getTable(); - if(datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())){ - if(databaseMetaData.getDriverMajorVersion() < 8){ + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())) { + if (databaseMetaData.getDriverMajorVersion() < 8) { tableNamePattern = String.format(MySQLConstants.KEYWORD_TABLE, tableNamePattern); } } @@ -98,29 +98,36 @@ public class JdbcProvider extends DefaultJdbcProvider { while (resultSet.next()) { String tableName = resultSet.getString("TABLE_NAME"); String database; - if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name()) ||datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.ck.name()) || datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.impala.name())) { + String schema = resultSet.getString("TABLE_SCHEM"); + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name()) || datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.ck.name()) + || datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.impala.name())) { database = resultSet.getString("TABLE_SCHEM"); } else { database = resultSet.getString("TABLE_CAT"); } - if(datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name())){ - if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDsSchema(datasourceRequest))) { - TableField tableField = getTableFiled(resultSet, datasourceRequest); - list.add(tableField); - } - }else { - if (database != null) { - if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest))) { - TableField tableField = getTableFiled(resultSet, datasourceRequest); - list.add(tableField); - } - } else { - if (tableName.equals(datasourceRequest.getTable())) { - TableField tableField = getTableFiled(resultSet, datasourceRequest); - list.add(tableField); - } - } - } + if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.pg.name())) { + if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDsSchema(datasourceRequest))) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } else if (datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.sqlServer.name())) { + if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest)) && schema.equalsIgnoreCase(getDsSchema(datasourceRequest))) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } else { + if (database != null) { + if (tableName.equals(datasourceRequest.getTable()) && database.equalsIgnoreCase(getDatabase(datasourceRequest))) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } else { + if (tableName.equals(datasourceRequest.getTable())) { + TableField tableField = getTableFiled(resultSet, datasourceRequest); + list.add(tableField); + } + } + } } resultSet.close(); @@ -165,9 +172,9 @@ public class JdbcProvider extends DefaultJdbcProvider { } else { String size = resultSet.getString("COLUMN_SIZE"); if (size == null) { - if(dbType.equals("JSON") && datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())){ + if (dbType.equals("JSON") && datasourceRequest.getDatasource().getType().equalsIgnoreCase(DatasourceTypes.mysql.name())) { tableField.setFieldSize(65535); - }else { + } else { tableField.setFieldSize(1); } @@ -176,7 +183,7 @@ public class JdbcProvider extends DefaultJdbcProvider { } } } - if(StringUtils.isNotEmpty(tableField.getFieldType()) && tableField.getFieldType().equalsIgnoreCase("DECIMAL")){ + if (StringUtils.isNotEmpty(tableField.getFieldType()) && tableField.getFieldType().equalsIgnoreCase("DECIMAL")) { tableField.setAccuracy(Integer.valueOf(resultSet.getString("DECIMAL_DIGITS"))); } return tableField; @@ -746,16 +753,16 @@ public class JdbcProvider extends DefaultJdbcProvider { } @Override - public void checkConfiguration(Datasource datasource)throws Exception{ - if (StringUtils.isEmpty(datasource.getConfiguration())){ + public void checkConfiguration(Datasource datasource) throws Exception { + if (StringUtils.isEmpty(datasource.getConfiguration())) { throw new Exception("Datasource configuration is empty"); } try { JdbcConfiguration jdbcConfiguration = new Gson().fromJson(datasource.getConfiguration(), JdbcConfiguration.class); - if(jdbcConfiguration.getQueryTimeout() < 0){ - throw new Exception("Querytimeout cannot be less than zero." ); + if (jdbcConfiguration.getQueryTimeout() < 0) { + throw new Exception("Querytimeout cannot be less than zero."); } - }catch (Exception e){ + } catch (Exception e) { throw new Exception("Invalid configuration: " + e.getMessage()); } 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 82953e556d..9f5ffd29cc 100644 --- a/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java +++ b/backend/src/main/java/io/dataease/service/dataset/DataSetTableService.java @@ -170,7 +170,7 @@ public class DataSetTableService { datasetTableTask.setTableId(datasetTable.getId()); datasetTableTask.setRate(ScheduleType.SIMPLE.toString()); datasetTableTask.setType("all_scope"); - datasetTableTask.setName(datasetTable.getName() + " 更新设置"); + datasetTableTask.setName(datasetTable.getName() + " 更新设置-" + System.currentTimeMillis()); datasetTableTask.setEnd("0"); datasetTableTask.setStatus(TaskStatus.Underway.name()); datasetTableTask.setStartTime(System.currentTimeMillis()); From 0b11b835a094c7b12827ab8ac09e5f4af4809403 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Wed, 2 Nov 2022 10:56:14 +0800 Subject: [PATCH 11/33] =?UTF-8?q?revert(=E6=95=B0=E6=8D=AE=E9=9B=86):=20?= =?UTF-8?q?=E6=9A=82=E6=97=B6=E5=B1=8F=E8=94=BD=E6=8E=89=E5=AD=97=E6=AE=B5?= =?UTF-8?q?=E8=BD=AC=E6=8D=A2=E6=8C=87=E5=AE=9A=E6=97=B6=E9=97=B4=E6=A0=BC?= =?UTF-8?q?=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/dataset/data/FieldEdit.vue | 40 +++++++++---------- 1 file changed, 20 insertions(+), 20 deletions(-) diff --git a/frontend/src/views/dataset/data/FieldEdit.vue b/frontend/src/views/dataset/data/FieldEdit.vue index 51520f9b31..a666b0e68f 100644 --- a/frontend/src/views/dataset/data/FieldEdit.vue +++ b/frontend/src/views/dataset/data/FieldEdit.vue @@ -211,16 +211,16 @@ /> - + + + + + + + + + + - + + + + + + + + + + Date: Wed, 2 Nov 2022 12:04:09 +0800 Subject: [PATCH 12/33] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E5=A4=8D=E7=94=A8=E6=9F=A5=E8=AF=A2=E6=8C=89=E9=92=AE=E5=90=8E?= =?UTF-8?q?=E5=85=B3=E8=81=94=E7=BB=84=E4=BB=B6=E6=98=BE=E7=A4=BA=E9=94=99?= =?UTF-8?q?=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/store/index.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/store/index.js b/frontend/src/store/index.js index f6a2031416..7611becedd 100644 --- a/frontend/src/store/index.js +++ b/frontend/src/store/index.js @@ -623,6 +623,13 @@ const data = { }, addCurMultiplexingComponent(state, { component, componentId }) { if (componentId) { + if (component.type === 'custom-button' && component.serviceName === 'buttonSureWidget') { + const copyComponent = deepCopy(component) + copyComponent.options.attrs.customRange = false + copyComponent.options.attrs.filterIds = [] + state.curMultiplexingComponents[componentId] = copyComponent + return + } state.curMultiplexingComponents[componentId] = component } }, From 585bb76b0a160beb9a38f3254d0d47ba097296d2 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 2 Nov 2022 12:14:11 +0800 Subject: [PATCH 13/33] =?UTF-8?q?style(=E8=BF=87=E6=BB=A4=E5=99=A8):=20?= =?UTF-8?q?=E6=95=B0=E5=AD=97=E5=8C=BA=E9=97=B4=E8=BF=87=E6=BB=A4=E5=99=A8?= =?UTF-8?q?=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 --- frontend/src/components/widget/DeWidget/DeNumberRange.vue | 2 +- .../components/widget/serviceImpl/NumberRangeServiceImpl.js | 3 +-- frontend/src/views/panel/filter/filterMain/FilterControl.vue | 2 +- 3 files changed, 3 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/widget/DeWidget/DeNumberRange.vue b/frontend/src/components/widget/DeWidget/DeNumberRange.vue index d3340508dd..604be92167 100644 --- a/frontend/src/components/widget/DeWidget/DeNumberRange.vue +++ b/frontend/src/components/widget/DeWidget/DeNumberRange.vue @@ -24,7 +24,7 @@ {{ $t('denumberrange.split_placeholder') }} 0 && this.attrs.parameters[0].indexOf('|DE|') === -1) { + if (this.attrs.parameters?.length && this.attrs.parameters[0].indexOf('|DE|') === -1) { const parameters = [] for (var i = 0; i < this.attrs.parameters.length; i++) { if (this.attrs.parameters[i].indexOf('|DE|') === -1) { From 402030fb7027e3387426a5803381b8518ffa9936 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Wed, 2 Nov 2022 12:42:46 +0800 Subject: [PATCH 14/33] =?UTF-8?q?fix(=E4=B8=AA=E4=BA=BA=E4=BF=A1=E6=81=AF)?= =?UTF-8?q?:=20=E7=BB=91=E5=AE=9A=E5=9B=BD=E9=99=85=E9=A3=9E=E4=B9=A6?= =?UTF-8?q?=E8=B4=A6=E5=8F=B7=E7=BC=BA=E5=A4=B1=E9=94=99=E8=AF=AF=E6=8F=90?= =?UTF-8?q?=E9=86=92?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/system/user/PrivateForm.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/system/user/PrivateForm.vue b/frontend/src/views/system/user/PrivateForm.vue index b02be6b8b9..23fb58b43c 100644 --- a/frontend/src/views/system/user/PrivateForm.vue +++ b/frontend/src/views/system/user/PrivateForm.vue @@ -255,7 +255,7 @@ export default { }, methods: { showError() { - const errKeys = ['WecomError', 'DingtalkError', 'LarkError'] + const errKeys = ['WecomError', 'DingtalkError', 'LarkError', 'LarksuiteError'] errKeys.forEach(key => { const msg = Cookies.get(key) if (msg) { From b8a33d3836cc1cf28240741becfd781d16c7f23e Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 2 Nov 2022 14:02:59 +0800 Subject: [PATCH 15/33] =?UTF-8?q?fix(=E6=A8=A1=E6=9D=BF=E5=B8=82=E5=9C=BA)?= =?UTF-8?q?:=20=E4=BF=AE=E5=A4=8D=E5=8E=86=E5=8F=B2=E6=A8=A1=E6=9D=BF?= =?UTF-8?q?=E6=95=B0=E6=8D=AE=E5=BA=94=E7=94=A8=E5=90=8E=E8=A7=86=E5=9B=BE?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E6=98=BE=E7=A4=BA=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/PanelGroupExtendDataService.java | 20 +++++++++++++------ .../src/views/panel/templateMarket/index.vue | 6 +++--- 2 files changed, 17 insertions(+), 9 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java b/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java index efdf6fe633..9b6309795e 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelGroupExtendDataService.java @@ -11,6 +11,7 @@ import org.springframework.stereotype.Service; import javax.annotation.Resource; import java.util.List; +import java.util.Map; /** * Author: wangjiahao @@ -20,19 +21,26 @@ import java.util.List; @Service public class PanelGroupExtendDataService { + private final static String transDataKey = "data" + "s"; + @Resource private PanelGroupExtendDataMapper panelGroupExtendDataMapper; - public ChartViewDTO getChartDataInfo(String viewId,ChartViewDTO view){ + public ChartViewDTO getChartDataInfo(String viewId, ChartViewDTO view) { Gson gson = new Gson(); PanelGroupExtendDataExample extendDataExample = new PanelGroupExtendDataExample(); extendDataExample.createCriteria().andViewIdEqualTo(viewId); - List extendDataList = panelGroupExtendDataMapper.selectByExampleWithBLOBs(extendDataExample); - if(CollectionUtils.isNotEmpty(extendDataList)){ - ChartViewDTO chartViewTemplate = gson.fromJson(extendDataList.get(0).getViewDetails(),ChartViewDTO.class); + List extendDataList = panelGroupExtendDataMapper.selectByExampleWithBLOBs(extendDataExample); + if (CollectionUtils.isNotEmpty(extendDataList)) { + ChartViewDTO chartViewTemplate = gson.fromJson(extendDataList.get(0).getViewDetails(), ChartViewDTO.class); + Map dataInfo = chartViewTemplate.getData(); + if (dataInfo.get(transDataKey) != null) { + dataInfo.put("data", dataInfo.get(transDataKey)); + dataInfo.remove(transDataKey); + } view.setData(chartViewTemplate.getData()); - }else{ - DataEaseException.throwException("模板缓存数据中未获取指定视图数据:"+viewId); + } else { + DataEaseException.throwException("模板缓存数据中未获取指定视图数据:" + viewId); } return view; } diff --git a/frontend/src/views/panel/templateMarket/index.vue b/frontend/src/views/panel/templateMarket/index.vue index a7bace1a49..e90946f5af 100644 --- a/frontend/src/views/panel/templateMarket/index.vue +++ b/frontend/src/views/panel/templateMarket/index.vue @@ -13,7 +13,7 @@ class="market-main" > - + {{ $t('panel.template_market') }} @@ -23,7 +23,7 @@ size="small" class="title-right" :placeholder="$t('panel.enter_template_name_tips')" - clearable="true" + :clearable="true" /> @@ -88,7 +88,7 @@ :visible.sync="folderSelectShow" width="600px" class="market-dialog-css" - append-to-body="true" + :append-to-body="true" :destroy-on-close="true" > Date: Wed, 2 Nov 2022 14:28:53 +0800 Subject: [PATCH 16/33] =?UTF-8?q?fix:=20=E8=A7=86=E5=9B=BEtitle=E7=9B=B8?= =?UTF-8?q?=E5=85=B3bug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/deCustomCm/deBtn.vue | 1 + .../chart/components/ChartComponentG2.vue | 5 +- .../chart/components/ChartComponentS2.vue | 5 +- .../chart/components/ChartTitleUpdate.vue | 124 ++++++++++++------ .../chart/components/normal/LabelNormal.vue | 5 +- .../components/normal/LabelNormalText.vue | 5 +- frontend/src/views/chart/view/ChartEdit.vue | 10 +- .../views/dataset/common/DatasetDetail.vue | 4 +- .../src/views/dataset/data/TabDataPreview.vue | 1 + frontend/src/views/dataset/data/ViewTable.vue | 6 + frontend/src/views/system/log/FilterUser.vue | 13 +- 11 files changed, 124 insertions(+), 55 deletions(-) diff --git a/frontend/src/components/deCustomCm/deBtn.vue b/frontend/src/components/deCustomCm/deBtn.vue index f950e9f85d..55df2934bb 100644 --- a/frontend/src/components/deCustomCm/deBtn.vue +++ b/frontend/src/components/deCustomCm/deBtn.vue @@ -1,6 +1,7 @@ @@ -32,13 +48,18 @@ export default { chartInfo: { type: Object, default: () => {} + }, + titleClass: { + type: Object, + default: () => {} } }, data() { return { chartTitleEditer: false, chartTitleUpdate: '', - chart: {} + chart: {}, + showClose: false } }, computed: { @@ -48,6 +69,10 @@ export default { ...mapState(['mobileLayoutStatus', 'previewVisible']), panelInfo() { return this.$store.state.panel.panelInfo + }, + inputStyle() { + const { fontSize, color, fontWeight, fontStyle, fontFamily } = this.titleClass + return { fontSize, color, fontWeight, fontStyle, fontFamily, height: fontSize } } }, watch: { @@ -58,6 +83,9 @@ export default { }, immediate: true, deep: true + }, + chartTitleUpdate(val) { + this.showClose = !!val } }, methods: { @@ -274,13 +302,17 @@ export default { }, lostFocus() { this.chartTitleEditer = false + this.showClose = false }, handleTitleEditer() { if ( this.mainActiveName !== 'PanelEdit' || this.mobileLayoutStatus || this.previewVisible - ) { return } + ) { + return + } + this.showClose = true this.chartTitleEditer = true this.chartTitleUpdate = this.chart.title this.$nextTick(() => { @@ -322,15 +354,38 @@ export default { ? JSON.parse(chartView.customFilter) : {} chartView.senior = chartView.senior ? JSON.parse(chartView.senior) : {} + chartView.customStyle.text.title = this.chartTitleUpdate + + this.$store.commit('recordViewEdit', { + viewId: this.chart.id, + hasEdit: true + }) + const view = JSON.parse(JSON.stringify(chartView)) + view.xaxis = JSON.stringify(chartView.xaxis) + view.viewFields = JSON.stringify(chartView.viewFields) + view.xaxisExt = JSON.stringify(chartView.xaxisExt) + view.yaxis = JSON.stringify(chartView.yaxis) + view.yaxisExt = JSON.stringify(chartView.yaxisExt) + view.extStack = JSON.stringify(chartView.extStack) + view.drillFields = JSON.stringify(chartView.drillFields) + view.extBubble = JSON.stringify(chartView.extBubble) + view.customAttr = JSON.stringify(chartView.customAttr) + view.customStyle = JSON.stringify(chartView.customStyle) + view.customFilter = JSON.stringify(chartView.customFilter) + view.senior = JSON.stringify(chartView.senior) + view.title = this.chartTitleUpdate + view.name = this.chartTitleUpdate + view.stylePriority = chartView.stylePriority const viewSave = this.buildParam(chartView, true, 'chart', false, false) if (!viewSave) return viewEditSave(this.panelInfo.id, viewSave).then(() => { this.chart.title = this.chartTitleUpdate bus.$emit('aside-set-title', this.chart.title) }) - this.$store.commit('recordViewEdit', { - viewId: this.chart.id, - hasEdit: true + bus.$emit('view-in-cache', { + type: 'styleChange', + viewId: chartView.id, + viewInfo: view }) }) } @@ -339,7 +394,17 @@ export default { diff --git a/frontend/src/views/chart/components/normal/LabelNormal.vue b/frontend/src/views/chart/components/normal/LabelNormal.vue index 0ebe162b6a..08881845ae 100644 --- a/frontend/src/views/chart/components/normal/LabelNormal.vue +++ b/frontend/src/views/chart/components/normal/LabelNormal.vue @@ -11,7 +11,10 @@ style="cursor: default;display: block;" >
- +
- + {{ table.name }} @@ -396,6 +397,11 @@ export default { font-weight: 500; margin-right: 8px; color: var(--deTextPrimary, #1f2329); + display: inline-block; + white-space: nowrap; + text-overflow: ellipsis; + overflow: hidden; + max-width: 50%; } .de-tag { diff --git a/frontend/src/views/system/log/FilterUser.vue b/frontend/src/views/system/log/FilterUser.vue index 512098c640..494e64d8b6 100644 --- a/frontend/src/views/system/log/FilterUser.vue +++ b/frontend/src/views/system/log/FilterUser.vue @@ -67,20 +67,19 @@
-
- + {{ $t("commons.reset") - }} - + {{ $t("commons.adv_search.search") - }} + }}
From fbfbdae84fe637ec1bd64ba35b90c0a6258ae777 Mon Sep 17 00:00:00 2001 From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com> Date: Wed, 2 Nov 2022 14:56:13 +0800 Subject: [PATCH 17/33] =?UTF-8?q?fix:=20=E8=A7=86=E5=9B=BE=E6=98=BE?= =?UTF-8?q?=E7=A4=BA=E5=BB=B6=E8=BF=9Fbug=E4=BF=AE=E5=A4=8D?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/widget/DeWidget/DeTabs.vue | 8 +++++--- frontend/src/store/index.js | 8 ++++++++ frontend/src/views/panel/ViewSelect/multiplexing.vue | 2 +- frontend/src/views/panel/edit/index.vue | 1 + 4 files changed, 15 insertions(+), 4 deletions(-) diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index b4f635e8ae..42e7f607c6 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -3,8 +3,10 @@ class="de-tabs-div" :class="headClass" > -
-
+
{ + if (ele.id !== playload.id) return false + state.componentData.splice(index, 1, playload) + return true + }) + }, + setCurComponent(state, { component, index }) { // 当前视图操作状态置空 if (component) { diff --git a/frontend/src/views/panel/ViewSelect/multiplexing.vue b/frontend/src/views/panel/ViewSelect/multiplexing.vue index 33970e6670..ff8494595a 100644 --- a/frontend/src/views/panel/ViewSelect/multiplexing.vue +++ b/frontend/src/views/panel/ViewSelect/multiplexing.vue @@ -41,7 +41,7 @@ import DeMainContainer from '@/components/dataease/DeMainContainer' import DeContainer from '@/components/dataease/DeContainer' import DeAsideContainer from '@/components/dataease/DeAsideContainer' import { findOne } from '@/api/panel/panel' -import { deepCopy, getNowCanvasComponentData, panelDataPrepare } from '@/components/canvas/utils/utils' +import { deepCopy, panelDataPrepare } from '@/components/canvas/utils/utils' import Preview from '@/components/canvas/components/Editor/Preview' import MultiplexingView from '@/views/panel/ViewSelect/multiplexingView' import { DEFAULT_COMMON_CANVAS_STYLE_STRING } from '@/views/panel/panel' diff --git a/frontend/src/views/panel/edit/index.vue b/frontend/src/views/panel/edit/index.vue index ac92de88cb..9edc605344 100644 --- a/frontend/src/views/panel/edit/index.vue +++ b/frontend/src/views/panel/edit/index.vue @@ -1154,6 +1154,7 @@ export default { this.$store.commit('setComponentWithId', this.currentFilterCom) this.$store.commit('recordSnapshot', 'sureFilter') this.$store.commit('setCurComponent', { component: this.currentFilterCom, index: this.curComponentIndex }) + this.$store.commit('setComponentFromList', this.currentFilterCom) bus.$emit('reset-default-value', this.currentFilterCom.id) this.closeFilter() }, From 08b90af58c90cdaea7f7d395eefebdf1e7990204 Mon Sep 17 00:00:00 2001 From: wangjiahao <1522128093@qq.com> Date: Wed, 2 Nov 2022 15:27:22 +0800 Subject: [PATCH 18/33] =?UTF-8?q?refactor(=E5=BA=94=E7=94=A8):=20=E4=BC=98?= =?UTF-8?q?=E5=8C=96=E5=BA=94=E7=94=A8=E7=9A=84=E9=9D=99=E6=80=81=E6=96=87?= =?UTF-8?q?=E4=BB=B6=E5=AD=98=E5=82=A8=E6=96=B9=E5=BC=8F=EF=BC=8C=E9=9D=99?= =?UTF-8?q?=E6=80=81=E6=96=87=E4=BB=B6=E7=9B=B4=E6=8E=A5=E5=AD=98=E6=94=BE?= =?UTF-8?q?=E5=9C=A8=E6=9C=8D=E5=8A=A1=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../ext/ExtPanelAppTemplateMapper.java | 14 +++++++++++ .../ext/ExtPanelAppTemplateMapper.xml | 15 +++++++++++ .../panel/PanelAppTemplateService.java | 25 +++++++++++++------ .../resources/i18n/messages_en_US.properties | 2 +- .../resources/i18n/messages_zh_CN.properties | 2 +- .../resources/i18n/messages_zh_TW.properties | 2 +- .../src/components/widget/DeWidget/DeTabs.vue | 8 +++--- frontend/src/lang/en.js | 1 + frontend/src/lang/tw.js | 1 + frontend/src/lang/zh.js | 1 + .../views/panel/ViewSelect/multiplexing.vue | 2 +- .../panel/appTemplate/AppTemplateContent.vue | 2 +- .../appTemplate/component/TemplateItem.vue | 7 ++++-- .../views/panel/appTemplateMarket/index.vue | 4 +-- .../panel/appTemplateMarket/log/index.vue | 2 +- 15 files changed, 67 insertions(+), 21 deletions(-) create mode 100644 backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.java create mode 100644 backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.xml diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.java b/backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.java new file mode 100644 index 0000000000..b771622afc --- /dev/null +++ b/backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.java @@ -0,0 +1,14 @@ +package io.dataease.ext; + +import io.dataease.plugins.common.base.domain.PanelAppTemplateWithBLOBs; +import org.apache.ibatis.annotations.Mapper; +import org.apache.ibatis.annotations.Param; +import org.apache.ibatis.annotations.Update; + +import java.util.List; + +@Mapper +public interface ExtPanelAppTemplateMapper { + + List queryBaseInfo(@Param("nodeType") String nodeType , @Param("pid") String pid); +} diff --git a/backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.xml b/backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.xml new file mode 100644 index 0000000000..dcb28bc95f --- /dev/null +++ b/backend/src/main/java/io/dataease/ext/ExtPanelAppTemplateMapper.xml @@ -0,0 +1,15 @@ + + + + + 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 8b97b489f6..b520a95af4 100644 --- a/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java +++ b/backend/src/main/java/io/dataease/service/panel/PanelAppTemplateService.java @@ -10,6 +10,7 @@ import io.dataease.controller.request.dataset.DataSetTableRequest; import io.dataease.controller.request.panel.PanelAppTemplateApplyRequest; import io.dataease.controller.request.panel.PanelAppTemplateRequest; import io.dataease.controller.request.panel.PanelGroupRequest; +import io.dataease.ext.ExtPanelAppTemplateMapper; import io.dataease.plugins.common.base.domain.*; import io.dataease.plugins.common.base.mapper.PanelAppTemplateMapper; import io.dataease.plugins.common.constants.DatasetType; @@ -19,6 +20,7 @@ import io.dataease.service.dataset.DataSetGroupService; import io.dataease.service.dataset.DataSetTableFieldsService; import io.dataease.service.dataset.DataSetTableService; import io.dataease.service.datasource.DatasourceService; +import io.dataease.service.staticResource.StaticResourceService; import org.apache.commons.lang3.StringUtils; import org.pentaho.di.core.util.UUIDUtil; import org.springframework.context.annotation.Lazy; @@ -31,6 +33,8 @@ import java.util.HashMap; import java.util.List; import java.util.Map; +import static io.dataease.commons.constants.StaticResourceConstants.UPLOAD_URL_PREFIX; + /** * Author: wangjiahao * Date: 2022/9/8 @@ -40,6 +44,8 @@ import java.util.Map; public class PanelAppTemplateService { private static Gson gson = new Gson(); + @Resource + private ExtPanelAppTemplateMapper extPanelAppTemplateMapper; @Resource private PanelAppTemplateMapper panelAppTemplateMapper; @Resource @@ -59,16 +65,11 @@ public class PanelAppTemplateService { private PanelViewService panelViewService; @Resource private DataSetGroupService dataSetGroupService; + @Resource + private StaticResourceService staticResourceService; public List list(PanelAppTemplateRequest request) { - PanelAppTemplateExample example = new PanelAppTemplateExample(); - if (StringUtils.isNotEmpty(request.getPid())) { - example.createCriteria().andPidEqualTo(request.getPid()); - } - if (StringUtils.isNotEmpty(request.getNodeType())) { - example.createCriteria().andNodeTypeEqualTo(request.getNodeType()); - } - return panelAppTemplateMapper.selectByExampleWithBLOBs(example); + return extPanelAppTemplateMapper.queryBaseInfo(request.getNodeType(),request.getPid()); } public void save(PanelAppTemplateRequest request) { @@ -80,6 +81,10 @@ public class PanelAppTemplateService { if (StringUtils.isEmpty(requestTemplate.getNodeType())) { requestTemplate.setNodeType("template"); } + //Store static resource into the server + String snapshotName = "app-template-" + request.getId() + ".jpeg"; + staticResourceService.saveSingleFileToServe(snapshotName, request.getSnapshot().replace("data:image/jpeg;base64,", "")); + requestTemplate.setSnapshot("/" + UPLOAD_URL_PREFIX + '/' + snapshotName); panelAppTemplateMapper.insertSelective(requestTemplate); } @@ -90,6 +95,10 @@ public class PanelAppTemplateService { request.setUpdateTime(System.currentTimeMillis()); PanelAppTemplateWithBLOBs requestTemplate = new PanelAppTemplateWithBLOBs(); BeanUtils.copyBean(requestTemplate, request); + //Store static resource into the server + String snapshotName = "app-template-" + request.getId() + ".jpeg"; + staticResourceService.saveSingleFileToServe(snapshotName, request.getSnapshot().replace("data:image/jpeg;base64,", "")); + requestTemplate.setSnapshot("/" + UPLOAD_URL_PREFIX + '/' + snapshotName); panelAppTemplateMapper.updateByPrimaryKeySelective(requestTemplate); } diff --git a/backend/src/main/resources/i18n/messages_en_US.properties b/backend/src/main/resources/i18n/messages_en_US.properties index dfe388f61f..cb0ee034c1 100644 --- a/backend/src/main/resources/i18n/messages_en_US.properties +++ b/backend/src/main/resources/i18n/messages_en_US.properties @@ -1,7 +1,7 @@ \u4E2A\u4EBA\u4FE1\u606F=Personal Information \u4EEA\u8868\u677F=Dashboard \u6A21\u677F\u5E02\u573A=Template Market -\u5E94\u7528\u5E02\u573A=App Market +\u5E94\u7528=Application \u5E94\u7528\u7BA1\u7406=Applications \u4FEE\u6539\u5BC6\u7801=Change Password \u521B\u5EFA\u7528\u6237=Create User diff --git a/backend/src/main/resources/i18n/messages_zh_CN.properties b/backend/src/main/resources/i18n/messages_zh_CN.properties index c3724a160f..e37471cbfc 100644 --- a/backend/src/main/resources/i18n/messages_zh_CN.properties +++ b/backend/src/main/resources/i18n/messages_zh_CN.properties @@ -1,7 +1,7 @@ \u4E2A\u4EBA\u4FE1\u606F=\u4E2A\u4EBA\u4FE1\u606F \u4EEA\u8868\u677F=\u4EEA\u8868\u677F \u6A21\u677F\u5E02\u573A=\u6A21\u677F\u5E02\u573A -\u5E94\u7528\u5E02\u573A=\u5E94\u7528\u5E02\u573A +\u5E94\u7528=\u5E94\u7528 \u5E94\u7528\u7BA1\u7406=\u5E94\u7528\u7BA1\u7406 \u4FEE\u6539\u5BC6\u7801=\u4FEE\u6539\u5BC6\u7801 \u521B\u5EFA\u7528\u6237=\u521B\u5EFA\u7528\u6237 diff --git a/backend/src/main/resources/i18n/messages_zh_TW.properties b/backend/src/main/resources/i18n/messages_zh_TW.properties index 93400397eb..d95e37be11 100644 --- a/backend/src/main/resources/i18n/messages_zh_TW.properties +++ b/backend/src/main/resources/i18n/messages_zh_TW.properties @@ -1,7 +1,7 @@ \u4E2A\u4EBA\u4FE1\u606F=\u500B\u4EBA\u4FE1\u606F \u4EEA\u8868\u677F=\u5100\u8868\u677F \u6A21\u677F\u5E02\u573A=\u6A21\u677F\u5E02\u5834 -\u5E94\u7528\u5E02\u573A=\u5E94\u7528\u5E02\u5834 +\u5E94\u7528=\u5E94\u7528 \u5E94\u7528\u7BA1\u7406=\u5E94\u7528\u7BA1\u7406 \u4FEE\u6539\u5BC6\u7801=\u4FEE\u6539\u5BC6\u78BC \u521B\u5EFA\u7528\u6237=\u5275\u5EFA\u7528\u6236 diff --git a/frontend/src/components/widget/DeWidget/DeTabs.vue b/frontend/src/components/widget/DeWidget/DeTabs.vue index b4f635e8ae..42e7f607c6 100644 --- a/frontend/src/components/widget/DeWidget/DeTabs.vue +++ b/frontend/src/components/widget/DeWidget/DeTabs.vue @@ -3,8 +3,10 @@ class="de-tabs-div" :class="headClass" > -
-
+
@@ -82,8 +82,8 @@
-