From 6ee94a3dabe6d5e6b907063bea32aca0d5224636 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Aug 2022 10:26:07 +0800 Subject: [PATCH 1/5] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF-=E6=B8=85?= =?UTF-8?q?=E7=A9=BA=E6=8C=89=E9=92=AE):=20=E8=BF=87=E6=BB=A4=E5=99=A8?= =?UTF-8?q?=E5=85=A8=E9=80=89=E5=90=8E=E6=B8=85=E7=A9=BA=E6=8C=89=E9=92=AE?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E9=87=8D=E7=BD=AE=E5=85=A8=E9=80=89=E7=8A=B6?= =?UTF-8?q?=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/ElTreeSelect/index.vue | 3 +++ frontend/src/components/ElVisualSelect/index.vue | 3 +++ frontend/src/components/widget/DeWidget/DeSelect.vue | 3 ++- frontend/src/components/widget/DeWidget/DeSelectGrid.vue | 2 +- frontend/src/components/widget/DeWidget/DeSelectTree.vue | 3 ++- 5 files changed, 11 insertions(+), 3 deletions(-) diff --git a/frontend/src/components/ElTreeSelect/index.vue b/frontend/src/components/ElTreeSelect/index.vue index 7eeb7bd775..b94e91d902 100644 --- a/frontend/src/components/ElTreeSelect/index.vue +++ b/frontend/src/components/ElTreeSelect/index.vue @@ -229,6 +229,9 @@ export default { off(document, 'mouseup', this._popoverHideFun) }, methods: { + resetSelectAll() { + this.selectAll = false + }, selectAllChane(val) { if (val) { this.ids = this._checkSum() diff --git a/frontend/src/components/ElVisualSelect/index.vue b/frontend/src/components/ElVisualSelect/index.vue index 4308dd42cf..4519b8f42c 100644 --- a/frontend/src/components/ElVisualSelect/index.vue +++ b/frontend/src/components/ElVisualSelect/index.vue @@ -114,6 +114,9 @@ export default { }) }, methods: { + resetSelectAll() { + this.selectAll = false + }, setSelect(id) { if (Array.isArray(this.selectValue)) { return this.selectValue.map(ele => ele.id).includes(id) && 'selected' diff --git a/frontend/src/components/widget/DeWidget/DeSelect.vue b/frontend/src/components/widget/DeWidget/DeSelect.vue index 9c1ef73a6e..8fb364e606 100644 --- a/frontend/src/components/widget/DeWidget/DeSelect.vue +++ b/frontend/src/components/widget/DeWidget/DeSelect.vue @@ -213,7 +213,8 @@ export default { }, methods: { clearHandler() { - this.value = null + this.value = this.element.options.attrs.multiple ? [] : null + this.$refs.deSelect && this.$refs.deSelect.resetSelectAll && this.$refs.deSelect.resetSelectAll() }, filterMethod(key) { this.keyWord = key diff --git a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue index 4ea1abdc6a..a6c976adf3 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectGrid.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectGrid.vue @@ -213,7 +213,7 @@ export default { }, methods: { clearHandler() { - this.value = null + this.value = this.element.options.attrs.multiple ? [] : null }, resetDefaultValue(id) { if (this.inDraw && this.manualModify && this.element.id === id) { diff --git a/frontend/src/components/widget/DeWidget/DeSelectTree.vue b/frontend/src/components/widget/DeWidget/DeSelectTree.vue index fd815eb905..72e4286b82 100644 --- a/frontend/src/components/widget/DeWidget/DeSelectTree.vue +++ b/frontend/src/components/widget/DeWidget/DeSelectTree.vue @@ -223,7 +223,8 @@ export default { methods: { clearHandler() { - this.value = null + this.value = this.element.options.attrs.multiple ? [] : null + this.$refs.deSelectTree && this.$refs.deSelectTree.resetSelectAll && this.$refs.deSelectTree.resetSelectAll() }, resetDefaultValue(id) { if (this.inDraw && this.manualModify && this.element.id === id) { From 9f46bb3d890465ebb8228d5a2d61cae6bb150ecc Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Aug 2022 14:05:50 +0800 Subject: [PATCH 2/5] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF-=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E5=99=A8):=20ck=E6=95=B0=E6=8D=AE=E6=BA=90=E4=B8=8D?= =?UTF-8?q?=E8=83=BD=E4=BD=BF=E7=94=A8=E6=97=B6=E9=97=B4=E8=BF=87=E6=BB=A4?= =?UTF-8?q?=E5=99=A8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../provider/query/ck/CKQueryProvider.java | 29 ++++++++++++++++++- 1 file changed, 28 insertions(+), 1 deletion(-) diff --git a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java index 67a095281e..0be43013ff 100644 --- a/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/ck/CKQueryProvider.java @@ -1,5 +1,6 @@ package io.dataease.provider.query.ck; +import io.dataease.commons.utils.BeanUtils; import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.plugins.common.base.domain.DatasetTableField; import io.dataease.plugins.common.base.domain.DatasetTableFieldExample; @@ -30,6 +31,7 @@ import javax.annotation.Resource; import java.text.MessageFormat; import java.text.SimpleDateFormat; import java.util.*; +import java.util.concurrent.atomic.AtomicReference; import java.util.regex.Matcher; import java.util.regex.Pattern; import java.util.stream.Collectors; @@ -42,6 +44,8 @@ import static io.dataease.plugins.common.constants.datasource.SQLConstants.TABLE */ @Service("ckQueryProvider") public class CKQueryProvider extends QueryProvider { + + private static final String toDateTime64 = "toDateTime64(%s, 3, '')"; @Resource private DatasetTableFieldMapper datasetTableFieldMapper; @@ -1060,6 +1064,25 @@ public class CKQueryProvider extends QueryProvider { if (CollectionUtils.isEmpty(requestList)) { return null; } + + AtomicReference atomicReference = new AtomicReference<>(); + requestList.forEach(request -> { + DatasetTableField datasetTableField = request.getDatasetTableField(); + List requestValue = request.getValue(); + if (ObjectUtils.isNotEmpty(datasetTableField) && datasetTableField.getDeType() == DeTypeConstants.DE_TIME && StringUtils.equalsIgnoreCase(request.getOperator(), "between")) { + SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); + request.setOperator("ge"); + request.setValue(new ArrayList(){{add(String.format(toDateTime64, "'" + simpleDateFormat.format(new Date(Long.parseLong(requestValue.get(0)))) + "'"));}}); + ChartExtFilterRequest requestCopy = BeanUtils.copyBean(new ChartExtFilterRequest(), request); + requestCopy.setOperator("le"); + requestCopy.setValue(new ArrayList(){{add(String.format(toDateTime64, "'" + simpleDateFormat.format(new Date(Long.parseLong(requestValue.get(1)))) + "'"));}}); + atomicReference.set(requestCopy); + } + }); + + if (ObjectUtils.isNotEmpty(atomicReference.get())) { + requestList.add(atomicReference.get()); + } List list = new ArrayList<>(); for (ChartExtFilterRequest request : requestList) { List value = request.getValue(); @@ -1138,7 +1161,7 @@ public class CKQueryProvider extends QueryProvider { whereValue = String.format(CKConstants.WHERE_BETWEEN, value.get(0), value.get(1)); } } else { - whereValue = String.format(CKConstants.WHERE_VALUE_VALUE, value.get(0)); + whereValue = isCompleteField(value.get(0)) ? value.get(0) : String.format(CKConstants.WHERE_VALUE_VALUE, value.get(0)); } if (!request.getIsTree() && fieldList.get(0).getDeType() == DeTypeConstants.DE_TIME && StringUtils.equalsIgnoreCase(request.getOperator(), "null")) { @@ -1163,6 +1186,10 @@ public class CKQueryProvider extends QueryProvider { return CollectionUtils.isNotEmpty(list) ? "(" + String.join(" AND ", strList) + ")" : null; } + private boolean isCompleteField(String field) { + return StringUtils.isNotBlank(field) && StringUtils.startsWith(field, "toDateTime64('") && StringUtils.endsWith(field, "')"); + } + private String sqlFix(String sql) { if (sql.lastIndexOf(";") == (sql.length() - 1)) { sql = sql.substring(0, sql.length() - 1); From cafac05b04325ab1b849104fe7458ef595e5ee6d Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Aug 2022 03:28:30 -0400 Subject: [PATCH 3/5] =?UTF-8?q?fix(=E4=BB=AA=E8=A1=A8=E6=9D=BF-=E5=85=B6?= =?UTF-8?q?=E4=BB=96=E7=BB=84=E4=BB=B6):=20=E6=97=B6=E9=97=B4=E7=BB=84?= =?UTF-8?q?=E4=BB=B6=E9=BB=98=E8=AE=A4=E5=80=BC=E6=A0=BC=E5=BC=8F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/components/canvas/custom-component/component-list.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/canvas/custom-component/component-list.js b/frontend/src/components/canvas/custom-component/component-list.js index ce155e30b3..7f07d11b07 100644 --- a/frontend/src/components/canvas/custom-component/component-list.js +++ b/frontend/src/components/canvas/custom-component/component-list.js @@ -431,7 +431,7 @@ const list = [ openMode: '0', showWeek: false, showDate: true, - dateFormat: 'yyyy年-MM月-dd日', + dateFormat: 'yyyy-MM-dd', timeFormat: 'hh:mm:ss' }, x: 1, From f3839a42c0d8dff7d7ab98b28119f9a05e71bf59 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Aug 2022 04:30:37 -0400 Subject: [PATCH 4/5] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE-=E6=B0=94=E6=B3=A1?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE):=20=E7=A7=BB=E5=8A=A8=E7=AB=AF=E6=94=BE?= =?UTF-8?q?=E5=A4=A7=E6=9F=A5=E7=9C=8B=E6=B0=94=E6=B3=A1=E5=9C=B0=E5=9B=BE?= =?UTF-8?q?=E6=A0=B7=E5=BC=8F=E6=A8=A1=E7=B3=8A?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../canvas/custom-component/UserViewDialog.vue | 8 ++++---- .../canvas/custom-component/UserViewMobileDialog.vue | 9 +++++---- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/frontend/src/components/canvas/custom-component/UserViewDialog.vue b/frontend/src/components/canvas/custom-component/UserViewDialog.vue index c0ea007e19..ccb213a15c 100644 --- a/frontend/src/components/canvas/custom-component/UserViewDialog.vue +++ b/frontend/src/components/canvas/custom-component/UserViewDialog.vue @@ -3,12 +3,12 @@
- @@ -42,7 +42,7 @@ import LabelNormalText from '@/views/chart/components/normal/LabelNormalText' import { exportDetails, innerExportDetails } from '@/api/panel/panel' import html2canvas from 'html2canvasde' import { hexColorToRGBA } from '@/views/chart/chart/util' -import {deepCopy, exportImg, imgUrlTrans} from '@/components/canvas/utils/utils' +import { deepCopy, exportImg, imgUrlTrans } from '@/components/canvas/utils/utils' import { getLinkToken, getToken } from '@/utils/auth' export default { name: 'UserViewDialog', @@ -101,7 +101,7 @@ export default { }, svgInnerEnable() { - return !this.screenShot&&this.element.commonBackground.enable && this.element.commonBackground.backgroundType === 'innerImage' && typeof this.element.commonBackground.innerImage === 'string' + return !this.screenShot && this.element.commonBackground.enable && this.element.commonBackground.backgroundType === 'innerImage' && typeof this.element.commonBackground.innerImage === 'string' }, mainSlotSvgInner() { if (this.svgInnerEnable) { @@ -124,7 +124,7 @@ export default { } if (this.element.commonBackground.enable) { if (this.screenShot && this.element.commonBackground.backgroundType === 'innerImage' && typeof this.element.commonBackground.innerImage === 'string') { - let innerImage = this.element.commonBackground.innerImage.replace('svg', 'png') + const innerImage = this.element.commonBackground.innerImage.replace('svg', 'png') style['background'] = `url(${imgUrlTrans(innerImage)}) no-repeat ${colorRGBA}` } else if (this.element.commonBackground.backgroundType === 'outerImage' && typeof this.element.commonBackground.outerImage === 'string') { style['background'] = `url(${imgUrlTrans(this.element.commonBackground.outerImage)}) no-repeat ${colorRGBA}` diff --git a/frontend/src/components/canvas/custom-component/UserViewMobileDialog.vue b/frontend/src/components/canvas/custom-component/UserViewMobileDialog.vue index 5c2f5cdc84..79c13760da 100644 --- a/frontend/src/components/canvas/custom-component/UserViewMobileDialog.vue +++ b/frontend/src/components/canvas/custom-component/UserViewMobileDialog.vue @@ -7,6 +7,7 @@ :component-name="chart.type + '-view'" :obj="{chart: mapChart || chart}" :chart="mapChart || chart" + :theme-style="element.commonBackground" class="chart-class" /> @@ -34,8 +35,8 @@ import DeContainer from '@/components/dataease/DeContainer' import LabelNormalText from '@/views/chart/components/normal/LabelNormalText' import ChartComponentS2 from '@/views/chart/components/ChartComponentS2' import PluginCom from '@/views/system/plugin/PluginCom' -import {deepCopy, imgUrlTrans} from '@/components/canvas/utils/utils' -import {hexColorToRGBA} from "@/views/chart/chart/util"; +import { deepCopy, imgUrlTrans } from '@/components/canvas/utils/utils' +import { hexColorToRGBA } from '@/views/chart/chart/util' export default { name: 'UserViewMobileDialog', components: { ChartComponentS2, LabelNormalText, DeContainer, DeMainContainer, ChartComponentG2, ChartComponent, TableNormal, LabelNormal, PluginCom }, @@ -83,7 +84,7 @@ export default { }, svgInnerEnable() { - return !this.screenShot&&this.element.commonBackground.enable && this.element.commonBackground.backgroundType === 'innerImage' && typeof this.element.commonBackground.innerImage === 'string' + return !this.screenShot && this.element.commonBackground.enable && this.element.commonBackground.backgroundType === 'innerImage' && typeof this.element.commonBackground.innerImage === 'string' }, mainSlotSvgInner() { if (this.svgInnerEnable) { @@ -106,7 +107,7 @@ export default { } if (this.element.commonBackground.enable) { if (this.screenShot && this.element.commonBackground.backgroundType === 'innerImage' && typeof this.element.commonBackground.innerImage === 'string') { - let innerImage = this.element.commonBackground.innerImage.replace('svg', 'png') + const innerImage = this.element.commonBackground.innerImage.replace('svg', 'png') style['background'] = `url(${imgUrlTrans(innerImage)}) no-repeat ${colorRGBA}` } else if (this.element.commonBackground.backgroundType === 'outerImage' && typeof this.element.commonBackground.outerImage === 'string') { style['background'] = `url(${imgUrlTrans(this.element.commonBackground.outerImage)}) no-repeat ${colorRGBA}` From 5b7f90b79dbf076009f8df57f7f6dd1dfdc7999b Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 29 Aug 2022 04:40:06 -0400 Subject: [PATCH 5/5] =?UTF-8?q?style(=E4=BB=AA=E8=A1=A8=E6=9D=BF-=E6=9F=A5?= =?UTF-8?q?=E8=AF=A2=E6=8C=89=E9=92=AE):=20=E6=8C=89=E9=92=AE=E5=AE=BD?= =?UTF-8?q?=E5=BA=A6=E6=9C=AA=E8=87=AA=E9=80=82=E5=BA=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/panel/filter/ButtonDialog.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/panel/filter/ButtonDialog.vue b/frontend/src/views/panel/filter/ButtonDialog.vue index a76dd044af..cddc9cf64b 100644 --- a/frontend/src/views/panel/filter/ButtonDialog.vue +++ b/frontend/src/views/panel/filter/ButtonDialog.vue @@ -16,7 +16,7 @@ - +