From 8621e645966608f896e517e7af5dbb582a27fd9a Mon Sep 17 00:00:00 2001 From: wisonic-s Date: Tue, 16 May 2023 20:14:13 +0800 Subject: [PATCH 01/18] =?UTF-8?q?fix(=E8=A7=86=E5=9B=BE-=E5=AF=B9=E7=A7=B0?= =?UTF-8?q?=E6=9D=A1=E5=BD=A2=E5=9B=BE):=20=E4=BF=AE=E5=A4=8D=E5=AF=B9?= =?UTF-8?q?=E7=A7=B0=E6=9D=A1=E5=BD=A2=E5=9B=BE=E5=80=BC=E8=BD=B4=E5=92=8C?= =?UTF-8?q?=E5=88=BB=E5=BA=A6=E5=BC=82=E5=B8=B8?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://www.tapd.cn/55578866/bugtrace/bugs/view/1155578866001025975 --- .../canvas/components/editor/SettingMenu.vue | 6 ++++-- .../src/views/chart/chart/bar/bar_antv.js | 21 ++----------------- .../views/chart/chart/common/common_antv.js | 4 ++-- 3 files changed, 8 insertions(+), 23 deletions(-) diff --git a/frontend/src/components/canvas/components/editor/SettingMenu.vue b/frontend/src/components/canvas/components/editor/SettingMenu.vue index c8d946f59a..2df0ee17ee 100644 --- a/frontend/src/components/canvas/components/editor/SettingMenu.vue +++ b/frontend/src/components/canvas/components/editor/SettingMenu.vue @@ -193,7 +193,8 @@ export default { 'text', 'label', 'word-cloud', - 'flow-map' + 'flow-map', + 'bidirectional-bar' ], linkageExcludeViewType: [ 'richTextView', @@ -202,7 +203,8 @@ export default { 'text', 'label', 'word-cloud', - 'flow-map' + 'flow-map', + 'bidirectional-bar' ], copyData: null, hyperlinksSetVisible: false, diff --git a/frontend/src/views/chart/chart/bar/bar_antv.js b/frontend/src/views/chart/chart/bar/bar_antv.js index ddd0e33509..e5fdeeddf6 100644 --- a/frontend/src/views/chart/chart/bar/bar_antv.js +++ b/frontend/src/views/chart/chart/bar/bar_antv.js @@ -251,6 +251,8 @@ export function baseBidirectionalBarOptionAntV(plot, container, chart, action, i const legend = getLegend(chart) const xAxis = getXAxis(chart) const yAxis = getYAxis(chart) + // 处理横轴标题方向不对 + yAxis?.title && (yAxis.title.autoRotate = false) // data const data = _.cloneDeep(chart.data.data) // options @@ -280,12 +282,6 @@ export function baseBidirectionalBarOptionAntV(plot, container, chart, action, i start: [{ trigger: 'legend-item:click', action: ['list-unchecked:toggle', 'data-filter:filter', 'element-active:reset', 'element-highlight:reset'] }] } }, - { - type: 'tooltip', cfg: { - start: [{ trigger: 'interval:mousemove', action: 'tooltip:show' }], - end: [{ trigger: 'interval:mouseleave', action: 'tooltip:hide' }] - } - }, { type: 'active-region', cfg: { start: [{ trigger: 'interval:mousemove', action: 'active-region:show' }], @@ -307,19 +303,6 @@ export function baseBidirectionalBarOptionAntV(plot, container, chart, action, i } } } - // group - if (isGroup) { - options.isGroup = true - } else { - delete options.isGroup - } - // stack - if (isStack) { - options.isStack = true - } else { - delete options.isStack - } - options.isPercent = chart.type.includes('percentage') // custom color options.color = antVCustomColor(chart) if (customAttr.color.gradient) { diff --git a/frontend/src/views/chart/chart/common/common_antv.js b/frontend/src/views/chart/chart/common/common_antv.js index e0c1c8da8e..b8f34903dc 100644 --- a/frontend/src/views/chart/chart/common/common_antv.js +++ b/frontend/src/views/chart/chart/common/common_antv.js @@ -712,8 +712,8 @@ export function getYAxis(chart) { const axisValue = a.axisValue if (!chart.type.includes('horizontal')) { if (axisValue && !axisValue.auto) { - axisValue.min && (axis.minLimit = parseFloat(axisValue.min)) - axisValue.max && (axis.maxLimit = parseFloat(axisValue.max)) + axisValue.min && (axis.minLimit = axis.min = parseFloat(axisValue.min)) + axisValue.max && (axis.maxLimit = axis.max = parseFloat(axisValue.max)) axisValue.splitCount && (axis.tickCount = parseFloat(axisValue.splitCount)) } } From 846b33e66b8c98d75f32f488c3207606e9822da6 Mon Sep 17 00:00:00 2001 From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com> Date: Wed, 17 May 2023 17:24:26 +0800 Subject: [PATCH 02/18] =?UTF-8?q?fix:=20=E9=A6=96=E9=A1=B5=E5=8A=A0?= =?UTF-8?q?=E8=BD=BD=E4=BC=98=E5=8C=96?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../components/editor/PreviewFullScreen.vue | 4 +- .../canvas/customComponent/DeVideo.vue | 3 + frontend/src/main.js | 27 +- frontend/src/router/index.js | 12 +- .../componentStyle/TitleSelectorAntV.vue | 2 + .../chart/components/table/TableNormal.vue | 4 +- frontend/src/views/chart/view/ChartEdit.vue | 5 +- frontend/src/views/chart/view/FuSplitPane.vue | 237 +++++++++++++ frontend/src/views/dataset/add/AddApi.vue | 2 + frontend/src/views/dataset/add/AddCustom.vue | 3 +- frontend/src/views/dataset/add/AddDB.vue | 2 + frontend/src/views/dataset/add/AddExcel.vue | 2 + .../views/dataset/add/union/UnionPreview.vue | 2 + .../views/dataset/common/DatasetTableData.vue | 2 + .../src/views/dataset/data/TabDataPreview.vue | 2 + frontend/src/views/panel/edit/index.vue | 5 + .../panel/filter/filterMain/FilterHead.vue | 33 +- frontend/src/views/panel/index.vue | 2 + .../src/views/panel/list/PanelViewShow.vue | 4 + .../views/system/datasource/DriverForm.vue | 314 ------------------ .../system/datasource/DsConfiguration.vue | 4 +- frontend/vue.config.js | 18 +- 22 files changed, 322 insertions(+), 367 deletions(-) create mode 100644 frontend/src/views/chart/view/FuSplitPane.vue delete mode 100644 frontend/src/views/system/datasource/DriverForm.vue diff --git a/frontend/src/components/canvas/components/editor/PreviewFullScreen.vue b/frontend/src/components/canvas/components/editor/PreviewFullScreen.vue index 15575b4d2c..d5810ae7c1 100644 --- a/frontend/src/components/canvas/components/editor/PreviewFullScreen.vue +++ b/frontend/src/components/canvas/components/editor/PreviewFullScreen.vue @@ -17,7 +17,9 @@ diff --git a/frontend/src/views/dataset/add/AddApi.vue b/frontend/src/views/dataset/add/AddApi.vue index 0b90528090..a73d380f57 100644 --- a/frontend/src/views/dataset/add/AddApi.vue +++ b/frontend/src/views/dataset/add/AddApi.vue @@ -220,9 +220,11 @@ import cancelMix from './cancelMix' import msgCfm from '@/components/msgCfm/index' import { pySort } from './util' import { updateCacheTree } from '@/components/canvas/utils/utils' +import { UxGrid, UxTableColumn } from 'umy-ui' export default { name: 'AddApi', + components: { UxGrid, UxTableColumn }, mixins: [cancelMix, msgCfm], props: { param: { diff --git a/frontend/src/views/dataset/add/AddCustom.vue b/frontend/src/views/dataset/add/AddCustom.vue index e336ce4bb0..1ac9440c46 100644 --- a/frontend/src/views/dataset/add/AddCustom.vue +++ b/frontend/src/views/dataset/add/AddCustom.vue @@ -109,10 +109,11 @@ import { getTable, post } from '@/api/dataset/dataset' import DatasetGroupSelector from '../common/DatasetGroupSelector' import DatasetCustomField from '../common/DatasetCustomField' import { updateCacheTree } from '@/components/canvas/utils/utils' +import { UxGrid, UxTableColumn } from 'umy-ui' export default { name: 'AddCustom', - components: { DatasetCustomField, DatasetGroupSelector }, + components: { DatasetCustomField, DatasetGroupSelector, UxGrid, UxTableColumn }, props: { param: { type: Object, diff --git a/frontend/src/views/dataset/add/AddDB.vue b/frontend/src/views/dataset/add/AddDB.vue index d7ef3e36e3..292a0394d7 100644 --- a/frontend/src/views/dataset/add/AddDB.vue +++ b/frontend/src/views/dataset/add/AddDB.vue @@ -228,9 +228,11 @@ import cancelMix from './cancelMix' import { pySort } from './util' import { updateCacheTree } from '@/components/canvas/utils/utils' +import { UxGrid, UxTableColumn } from 'umy-ui' export default { name: 'AddDB', + components: { UxGrid, UxTableColumn }, mixins: [msgCfm, cancelMix], props: { param: { diff --git a/frontend/src/views/dataset/add/AddExcel.vue b/frontend/src/views/dataset/add/AddExcel.vue index 66aee823ff..88db7412ec 100644 --- a/frontend/src/views/dataset/add/AddExcel.vue +++ b/frontend/src/views/dataset/add/AddExcel.vue @@ -239,6 +239,7 @@ import msgCfm from '@/components/msgCfm/index' import cancelMix from './cancelMix' import Config from "@/settings"; import { updateCacheTree } from '@/components/canvas/utils/utils' +import { UxGrid, UxTableColumn } from 'umy-ui' const token = getToken() const RefreshTokenKey = Config.RefreshTokenKey @@ -246,6 +247,7 @@ const RefreshTokenKey = Config.RefreshTokenKey export default { name: 'AddExcel', mixins: [msgCfm, cancelMix], + components: { UxGrid, UxTableColumn }, props: { param: { type: Object, diff --git a/frontend/src/views/dataset/add/union/UnionPreview.vue b/frontend/src/views/dataset/add/union/UnionPreview.vue index 058f1040c3..d48578c83a 100644 --- a/frontend/src/views/dataset/add/union/UnionPreview.vue +++ b/frontend/src/views/dataset/add/union/UnionPreview.vue @@ -23,9 +23,11 @@ - diff --git a/frontend/src/views/system/datasource/DsConfiguration.vue b/frontend/src/views/system/datasource/DsConfiguration.vue index abbc54dd32..ac622af32f 100644 --- a/frontend/src/views/system/datasource/DsConfiguration.vue +++ b/frontend/src/views/system/datasource/DsConfiguration.vue @@ -795,11 +795,13 @@ import ApiHttpRequestForm from '@/views/system/datasource/ApiHttpRequestForm' import dePwd from '@/components/deCustomCm/DePwd.vue' import msgCfm from '@/components/msgCfm' import { Base64 } from 'js-base64' +import { UxGrid, UxTableColumn } from 'umy-ui' export default { name: 'DsConfiguration', components: { ApiHttpRequestForm, - dePwd + dePwd, + UxGrid, UxTableColumn }, mixins: [msgCfm], props: { diff --git a/frontend/vue.config.js b/frontend/vue.config.js index f5298600b0..490d82fb23 100644 --- a/frontend/vue.config.js +++ b/frontend/vue.config.js @@ -1,6 +1,7 @@ 'use strict' const path = require('path') const defaultSettings = require('./src/settings.js') +// const BundleAnalyzerPlugin = require('webpack-bundle-analyzer').BundleAnalyzerPlugin const pkg = require('./package.json') @@ -56,6 +57,7 @@ module.exports = { chunkFilename: `js/[name].[contenthash:8].${pkg.version}.js` }, plugins: [ + // new BundleAnalyzerPlugin(), new CopyWebpackPlugin([ { from: path.join(__dirname, 'static'), @@ -75,7 +77,18 @@ module.exports = { // dll最终输出的目录 outputPath: './vendor' }) - ] + ], + optimization: { + splitChunks: { + cacheGroups: { + brace: { + name: 'chunk-brace', + priority: 20, + test: /[\\/]node_modules[\\/]brace/ + } + } + }, + }, }, chainWebpack: config => { config.module.rules.delete('svg') // 删除默认配置中处理svg, @@ -111,6 +124,9 @@ module.exports = { .options({ symbolId: '[name]' }) + // 删除预加载 针对请求 删除预加载 数进行优化 + config.plugins.delete('prefetch-index') + config.plugins.delete('preload-index') }, css: { loaderOptions: { From 484639cc7ecb814f1f74c921df1dcd6349b165d4 Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Thu, 18 May 2023 13:07:23 +0800 Subject: [PATCH 03/18] =?UTF-8?q?refactor(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E8=A7=86=E9=A2=91=E7=BB=84=E4=BB=B6=E5=8F=AF=E4=BF=AE=E6=94=B9?= =?UTF-8?q?=E8=83=8C=E6=99=AF=E8=89=B2=20#5228?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/custom-theme.css | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/frontend/src/custom-theme.css b/frontend/src/custom-theme.css index e9bb74b11a..1bf5908091 100755 --- a/frontend/src/custom-theme.css +++ b/frontend/src/custom-theme.css @@ -1,5 +1,6 @@ .vjs-custom-skin > .video-js { width: 100%; + background-color: rgba(0, 0, 0, 0); font-family: "PingFang SC","Helvetica Neue","Hiragino Sans GB","Segoe UI","Microsoft YaHei","微软雅黑",sans-serif; } @@ -111,7 +112,7 @@ } .vjs-custom-skin > .video-js .vjs-time-tooltip, -.vjs-custom-skin > .video-js .vjs-mouse-display:after, +.vjs-custom-skin > .video-js .vjs-mouse-display:after, .vjs-custom-skin > .video-js .vjs-play-progress:after { border-radius: 0; font-size: 1em; From f0012447e67bba9474924c5584889787e53df362 Mon Sep 17 00:00:00 2001 From: junjun Date: Fri, 19 May 2023 15:32:19 +0800 Subject: [PATCH 04/18] =?UTF-8?q?feat:=20=E7=BB=84=E5=90=88=E5=9B=BE?= =?UTF-8?q?=E5=89=AF=E8=BD=B4=E5=80=BC=E6=94=AF=E6=8C=81=E5=90=8C=E7=8E=AF?= =?UTF-8?q?=E6=AF=94?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../src/views/chart/components/dragItem/QuotaExtItem.vue | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/frontend/src/views/chart/components/dragItem/QuotaExtItem.vue b/frontend/src/views/chart/components/dragItem/QuotaExtItem.vue index e428beb5e2..4ce2771a3f 100644 --- a/frontend/src/views/chart/components/dragItem/QuotaExtItem.vue +++ b/frontend/src/views/chart/components/dragItem/QuotaExtItem.vue @@ -319,10 +319,10 @@ export default { }, isEnableCompare() { let xAxis = null - if (Object.prototype.toString.call(this.chart.xaxisExt) === '[object Array]') { - xAxis = JSON.parse(JSON.stringify(this.chart.xaxisExt)) + if (Object.prototype.toString.call(this.chart.xaxis) === '[object Array]') { + xAxis = JSON.parse(JSON.stringify(this.chart.xaxis)) } else { - xAxis = JSON.parse(this.chart.xaxisExt) + xAxis = JSON.parse(this.chart.xaxis) } const t1 = xAxis.filter(ele => { return ele.deType === 1 && SUPPORT_Y_M.includes(ele.dateStyle) From 6e47c1ba9a2fe475df25c82e8d2aeec42afac447 Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Mon, 22 May 2023 10:32:30 +0800 Subject: [PATCH 05/18] =?UTF-8?q?refactor(=E9=A6=96=E9=A1=B5):=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=A6=96=E9=A1=B5=E8=AE=BA=E5=9D=9B=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/lang/en.js | 1 + frontend/src/lang/tw.js | 1 + frontend/src/lang/zh.js | 1 + frontend/src/views/wizard/index.vue | 7 +++++++ 4 files changed, 10 insertions(+) diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index 36d2dd7baa..533bf9b5ee 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -2785,6 +2785,7 @@ export default { email: 'Email:', tel: 'Tel:', web: 'Web:', + bbs: 'BBS:', apply: 'Free Trial Application', more: 'More', weChat_official_account: 'WeChat official account', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index 1f3bce50bb..209d78504a 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -2779,6 +2779,7 @@ export default { email: '郵箱:', tel: '電話:', web: '網址:', + bbs: '論壇:', apply: '免費試用申請', more: '更多', weChat_official_account: '微信公眾號', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index bf71845835..6916b2234a 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -2794,6 +2794,7 @@ export default { email: '邮箱:', tel: '电话:', web: '网址:', + bbs: '论坛:', apply: '免费试用申请', more: '更多', weChat_official_account: '微信公众号', diff --git a/frontend/src/views/wizard/index.vue b/frontend/src/views/wizard/index.vue index 9846564106..9cfad3f6de 100644 --- a/frontend/src/views/wizard/index.vue +++ b/frontend/src/views/wizard/index.vue @@ -98,6 +98,13 @@ href="https://www.dataease.io" >www.dataease.io + + {{ $t('wizard.bbs') }}https://bbs.fit2cloud.com/c/de +
From 4ef0c28431f37657b90a49377198c24fd93800d9 Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Mon, 22 May 2023 11:02:45 +0800 Subject: [PATCH 06/18] =?UTF-8?q?refactor(=E9=A6=96=E9=A1=B5):=20=E5=A2=9E?= =?UTF-8?q?=E5=8A=A0=E9=A6=96=E9=A1=B5=E8=AE=BA=E5=9D=9B=E9=93=BE=E6=8E=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/wizard/index.vue | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/frontend/src/views/wizard/index.vue b/frontend/src/views/wizard/index.vue index 9cfad3f6de..6c2a77fcdd 100644 --- a/frontend/src/views/wizard/index.vue +++ b/frontend/src/views/wizard/index.vue @@ -402,7 +402,7 @@ export default { .content_bottom_contact { float: left; margin-left: 278px; - width: 300px; + width: 200px; margin-top: 40px; } @@ -410,7 +410,7 @@ export default { font-style: normal; font-weight: 500; font-size: 14px; - line-height: 22px; + line-height: 20px; color: var(--TextPrimary, #1F2329); margin-bottom: 16px; } @@ -418,8 +418,8 @@ export default { .contact_content { font-style: normal; font-weight: 400; - font-size: 14px; - line-height: 22px; + font-size: 12px; + line-height: 16px; color: #646A73; margin-top: 8px; } @@ -429,11 +429,12 @@ export default { } .content_bottom_qr_code { - width: 400px; + width: 500px; float: right; text-align: right; margin-right: 180px; margin-top: 40px; + padding-right: 100px; } .contact_title_qr { From 96d32a30950356eec0bbec990829f75e23ce7b3c Mon Sep 17 00:00:00 2001 From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com> Date: Mon, 22 May 2023 11:23:00 +0800 Subject: [PATCH 07/18] =?UTF-8?q?fix:=20=E7=BC=96=E8=BE=91=E7=94=9F?= =?UTF-8?q?=E6=95=88=E5=90=8E=E4=BB=AA=E8=A1=A8=E6=9D=BF=E6=9C=AA=E8=AF=86?= =?UTF-8?q?=E5=88=AB=E5=88=B0=E5=8F=98=E5=8C=96=EF=BC=8C=E4=BF=9D=E5=AD=98?= =?UTF-8?q?=E6=8C=89=E9=92=AE=E4=B8=8D=E5=8F=AF=E7=82=B9=E5=87=BB=20#5254?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../panel/subjectSetting/panelStyle/FilterStyleSelector.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/views/panel/subjectSetting/panelStyle/FilterStyleSelector.vue b/frontend/src/views/panel/subjectSetting/panelStyle/FilterStyleSelector.vue index b7a0167b87..a249f84d21 100644 --- a/frontend/src/views/panel/subjectSetting/panelStyle/FilterStyleSelector.vue +++ b/frontend/src/views/panel/subjectSetting/panelStyle/FilterStyleSelector.vue @@ -154,6 +154,7 @@ export default { }, themeChange(styleKey) { adaptCurThemeFilterStyleAll(styleKey) + this.$store.commit('recordSnapshot') } } } From 2eb9e3ec1373686386026a9292dccd71a6403040 Mon Sep 17 00:00:00 2001 From: dataeaseShu <106045316+dataeaseShu@users.noreply.github.com> Date: Mon, 22 May 2023 11:23:17 +0800 Subject: [PATCH 08/18] =?UTF-8?q?=E7=BB=84=E4=BB=B6=E6=A0=B7=E5=BC=8F?= =?UTF-8?q?=E6=B8=85=E7=A9=BA=E8=83=8C=E6=99=AF=E8=89=B2=E5=90=8E=EF=BC=8C?= =?UTF-8?q?=E6=97=A0=E6=B3=95=E9=80=89=E4=B8=AD=E7=99=BD=E8=89=B2=20#5239?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/background/index.vue | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/frontend/src/views/background/index.vue b/frontend/src/views/background/index.vue index 58cd92aa7b..92e721d2be 100644 --- a/frontend/src/views/background/index.vue +++ b/frontend/src/views/background/index.vue @@ -50,6 +50,8 @@ style="padding-top: 5px" > Date: Mon, 22 May 2023 12:00:12 +0800 Subject: [PATCH 09/18] =?UTF-8?q?fix(=E6=B6=88=E6=81=AF=E7=AE=A1=E7=90=86)?= =?UTF-8?q?:=20=E6=8E=A5=E5=8F=97=E7=AE=A1=E7=90=86=E4=B8=AD=E2=80=9C?= =?UTF-8?q?=E5=9B=BD=E9=99=85=E9=A3=9E=E4=B9=A6=E2=80=9D=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E9=9A=90=E8=97=8F#5119?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/io/dataease/controller/sys/MsgController.java | 3 +++ frontend/src/views/msg/Setting.vue | 8 -------- 2 files changed, 3 insertions(+), 8 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 9870df1a87..d68ba912bf 100644 --- a/backend/src/main/java/io/dataease/controller/sys/MsgController.java +++ b/backend/src/main/java/io/dataease/controller/sys/MsgController.java @@ -131,6 +131,9 @@ public class MsgController { if (msgChannelId == 5L) { return authUserService.supportLark(); } + if (msgChannelId == 6L) { + return authUserService.supportLarksuite(); + } return true; }).collect(Collectors.toList()); } diff --git a/frontend/src/views/msg/Setting.vue b/frontend/src/views/msg/Setting.vue index 8fb727c62a..1990b80fe5 100644 --- a/frontend/src/views/msg/Setting.vue +++ b/frontend/src/views/msg/Setting.vue @@ -91,8 +91,6 @@ export default { computed: {}, mounted() {}, beforeCreate() { - // this.loadChannelData() - channelList().then((res) => { this.msg_channels = res.data }) @@ -153,12 +151,6 @@ export default { // this.checkBoxStatus(node, ) } }, - // 加载消息渠道 - loadChannelData() { - channelList().then((res) => { - this.msg_channels = res.data - }) - }, // 加载用户设置信息 loadSettingData(callBack) { // this.setting_data = {} From 4a05364ce405699ca17808366524fb9b97eae4aa Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 12:15:14 +0800 Subject: [PATCH 10/18] =?UTF-8?q?fix(=E5=9C=B0=E5=9B=BE):=20=E7=BC=BA?= =?UTF-8?q?=E5=A4=B1=E7=BB=B4=E5=BA=A6=E6=8C=87=E6=A0=87=E7=9A=84=E6=83=85?= =?UTF-8?q?=E5=86=B5=E4=B8=8B=E6=A0=87=E9=A2=98=E4=B9=9F=E6=97=A0=E6=B3=95?= =?UTF-8?q?=E6=98=BE=E7=A4=BA#5172?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/chart/chart/map/map.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/views/chart/chart/map/map.js b/frontend/src/views/chart/chart/map/map.js index b2ff1ef1fb..380c491eb0 100644 --- a/frontend/src/views/chart/chart/map/map.js +++ b/frontend/src/views/chart/chart/map/map.js @@ -83,9 +83,9 @@ export function baseMapOption(chart_option, chart, themeStyle, curAreaCode, seri chart_option.tooltip.borderColor = bgColor } } + chart_option.title.text = chart.title // 处理data if (chart.data) { - chart_option.title.text = chart.title if (chart.data.series && chart.data.series.length > 0) { chart_option.series[0].name = chart.data.series[seriesIndex].name chart_option.series[0].selectedMode = true From a37dc8b6a808b6f9e1b7c101ec0fb12894161b02 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 15:41:29 +0800 Subject: [PATCH 11/18] =?UTF-8?q?fix(=E9=80=89=E9=A1=B9=E5=8D=A1):=20?= =?UTF-8?q?=E5=8C=85=E5=90=AB=E4=B8=A4=E9=A1=B5=E7=AC=A6=E5=8F=B7=E5=9C=B0?= =?UTF-8?q?=E5=9B=BE=E6=97=B6=EF=BC=8C=E7=AC=AC=E4=BA=8C=E9=A1=B5=E6=97=A0?= =?UTF-8?q?=E6=B3=95=E6=98=BE=E7=A4=BA=E5=BA=95=E5=9B=BE#5125?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/components/widget/deWidget/DeTabs.vue | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/frontend/src/components/widget/deWidget/DeTabs.vue b/frontend/src/components/widget/deWidget/DeTabs.vue index 2818d54a5b..d6b93200b7 100644 --- a/frontend/src/components/widget/deWidget/DeTabs.vue +++ b/frontend/src/components/widget/deWidget/DeTabs.vue @@ -25,7 +25,7 @@ From 5ebba3a5e57039f241e308702cff85d32633bc89 Mon Sep 17 00:00:00 2001 From: fit2cloud-chenyw Date: Mon, 22 May 2023 16:41:36 +0800 Subject: [PATCH 12/18] =?UTF-8?q?feat(=E4=BB=AA=E8=A1=A8=E6=9D=BF):=20?= =?UTF-8?q?=E6=96=87=E6=9C=AC=E6=90=9C=E7=B4=A2=E7=BB=84=E4=BB=B6=E5=BF=BD?= =?UTF-8?q?=E7=95=A5=E5=A4=A7=E5=B0=8F=E5=86=99?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/engine/doris/DorisQueryProvider.java | 4 +++- .../io/dataease/provider/engine/mysql/MysqlQueryProvider.java | 4 +++- .../java/io/dataease/provider/query/ck/CKQueryProvider.java | 4 +++- .../java/io/dataease/provider/query/db2/Db2QueryProvider.java | 4 +++- .../java/io/dataease/provider/query/es/EsQueryProvider.java | 4 +++- .../io/dataease/provider/query/hive/HiveQueryProvider.java | 4 +++- .../dataease/provider/query/impala/ImpalaQueryProvider.java | 4 +++- .../dataease/provider/query/mongodb/MongoQueryProvider.java | 4 +++- .../io/dataease/provider/query/mysql/MysqlQueryProvider.java | 4 +++- .../dataease/provider/query/oracle/OracleQueryProvider.java | 4 +++- .../java/io/dataease/provider/query/pg/PgQueryProvider.java | 4 +++- .../provider/query/redshift/RedshiftQueryProvider.java | 4 +++- .../provider/query/sqlserver/SqlserverQueryProvider.java | 4 +++- 13 files changed, 39 insertions(+), 13 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java b/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java index d4b9f6ab49..5c6cc33712 100644 --- a/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/doris/DorisQueryProvider.java @@ -1109,7 +1109,9 @@ public class DorisQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java index 4c8591d85b..070dc44f76 100644 --- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlQueryProvider.java @@ -1096,7 +1096,9 @@ public class MysqlQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { if (request.getDatasetTableField().getDeExtractType() == 2 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 733b7fcaea..c9258d88cc 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 @@ -1181,7 +1181,9 @@ public class CKQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java index 80252527f8..4dd687b3de 100644 --- a/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/db2/Db2QueryProvider.java @@ -1169,7 +1169,9 @@ public class Db2QueryProvider extends QueryProvider { whereValue = "('" + StringUtils.join(value, "','") + "')"; } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java index fd02228338..df01b29c0e 100644 --- a/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/es/EsQueryProvider.java @@ -1119,7 +1119,9 @@ public class EsQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java index 8ec11f5649..c71832f84a 100644 --- a/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/hive/HiveQueryProvider.java @@ -1075,7 +1075,9 @@ public class HiveQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java index 210ff42c02..1d09645722 100644 --- a/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/impala/ImpalaQueryProvider.java @@ -1077,7 +1077,9 @@ public class ImpalaQueryProvider extends QueryProvider { whereValue = "('" + StringUtils.join(value, "','") + "')"; } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java index 34730987a4..73218b28d8 100644 --- a/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mongodb/MongoQueryProvider.java @@ -979,7 +979,9 @@ public class MongoQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java index 6527c5b951..60249dd169 100644 --- a/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/mysql/MysqlQueryProvider.java @@ -1104,7 +1104,9 @@ public class MysqlQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { if (request.getDatasetTableField().getDeExtractType() == 2 diff --git a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java index 4f97729539..9bc77ab309 100644 --- a/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/oracle/OracleQueryProvider.java @@ -1259,7 +1259,9 @@ public class OracleQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); diff --git a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java index 4a102bd3d8..b33dbb7190 100644 --- a/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/pg/PgQueryProvider.java @@ -1127,7 +1127,9 @@ public class PgQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java index 52636edbfd..33156e439d 100644 --- a/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/redshift/RedshiftQueryProvider.java @@ -1108,7 +1108,9 @@ public class RedshiftQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == 1) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss.SSS"); diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 8ab6fced1f..c55f1470bb 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -1131,7 +1131,9 @@ public class SqlserverQueryProvider extends QueryProvider { if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { whereValue = "('" + StringUtils.join(value, "','") + "')"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { - whereValue = "'%" + value.get(0) + "%'"; + String keyword = value.get(0).toUpperCase(); + whereValue = "'%" + keyword + "%'"; + whereName = "upper(" + whereName + ")"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { if (request.getDatasetTableField().getDeType() == DeTypeConstants.DE_TIME) { SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); From 85b66a1f13b5df93f52fb39e41593e7c41eef40b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:06:47 +0800 Subject: [PATCH 13/18] =?UTF-8?q?fix:=20=E7=B2=BE=E7=AE=80=E6=A8=A1?= =?UTF-8?q?=E5=BC=8F=E6=8F=92=E5=85=A5excel=E6=95=B0=E6=8D=AE=E5=87=BA?= =?UTF-8?q?=E9=94=99=EF=BC=9A/?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../dataease/provider/engine/mysql/MysqlDDLProvider.java | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java index 8b18cb33ce..258c4254ca 100644 --- a/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java +++ b/backend/src/main/java/io/dataease/provider/engine/mysql/MysqlDDLProvider.java @@ -39,8 +39,11 @@ public class MysqlDDLProvider extends DDLProviderImpl { for (int i = 0; i < strings.length; i++) { if (StringUtils.isEmpty(strings[i])) { strings1[i] = null; - } else { - strings1[i] = strings[i].replace("'", "\\'"); + continue; + } + strings1[i] = strings[i].replace("'", "\\'"); + if(strings1[i].equals("/")){ + strings1[i] = "//"; } } values.append("('").append(UUID.randomUUID()) From 71bd530c4fceff443e0d0eb0391e44dc8528458b Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:07:31 +0800 Subject: [PATCH 14/18] =?UTF-8?q?fix:=20ck=20=E6=97=B6=E9=97=B4=E8=BF=87?= =?UTF-8?q?=E6=BB=A4=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../io/dataease/provider/query/ck/CKQueryProvider.java | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) 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 733b7fcaea..4f5034a391 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 @@ -1091,7 +1091,7 @@ public class CKQueryProvider extends QueryProvider { return null; } - AtomicReference atomicReference = new AtomicReference<>(); + List chartExtFilterRequests = new ArrayList<>(); requestList.forEach(request -> { DatasetTableField datasetTableField = request.getDatasetTableField(); List requestValue = request.getValue(); @@ -1106,12 +1106,12 @@ public class CKQueryProvider extends QueryProvider { requestCopy.setValue(new ArrayList() {{ add(String.format(toDateTime64, "'" + simpleDateFormat.format(new Date(Long.parseLong(requestValue.get(1)))) + "'")); }}); - atomicReference.set(requestCopy); + chartExtFilterRequests.add(requestCopy); } }); - if (ObjectUtils.isNotEmpty(atomicReference.get())) { - requestList.add(atomicReference.get()); + if (CollectionUtils.isNotEmpty(chartExtFilterRequests)) { + requestList.addAll(chartExtFilterRequests); } List list = new ArrayList<>(); for (ChartExtFilterRequest request : requestList) { From 6d7f5388e757f1f950043daf3e3a9e1ac6b28acf Mon Sep 17 00:00:00 2001 From: Wangjiahao <1522128093@qq.com> Date: Mon, 22 May 2023 17:08:01 +0800 Subject: [PATCH 15/18] =?UTF-8?q?refactor:=20=E4=B8=8D=E5=90=8C=E7=94=A8?= =?UTF-8?q?=E6=88=B7=E7=99=BB=E5=BD=95=E5=8F=8A=E6=97=B6=E6=B8=85=E7=90=86?= =?UTF-8?q?=E5=8E=86=E5=8F=B2=E8=8F=9C=E5=8D=95=E7=BC=93=E5=AD=98=20#5118?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/store/modules/user.js | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/frontend/src/store/modules/user.js b/frontend/src/store/modules/user.js index 91ca204667..efc51fd300 100644 --- a/frontend/src/store/modules/user.js +++ b/frontend/src/store/modules/user.js @@ -109,6 +109,13 @@ const actions = { if (!data) { reject('Verification failed, please Login again.') } + const historyUserId = localStorage.getItem('userId') + if(historyUserId && historyUserId !== data.userId+''){ + const clearLocalStorage = [ 'panel-main-tree', 'panel-default-tree','chart-tree','dataset-tree'] + clearLocalStorage.forEach((item) => { + localStorage.removeItem(item) + }) + } localStorage.setItem('userId', data.userId) const currentUser = data commit('SET_USER', currentUser) From 071181b2a7f9307f2946a860f1e623a079220a1c Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:08:11 +0800 Subject: [PATCH 16/18] =?UTF-8?q?fix:=20sqlserver=20=E6=94=AF=E6=8C=81?= =?UTF-8?q?=E6=9F=A5=E8=AF=A2=E4=B8=AD=E6=96=87?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../sqlserver/SqlserverQueryProvider.java | 51 ++++++++++++++++--- 1 file changed, 43 insertions(+), 8 deletions(-) diff --git a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java index 8ab6fced1f..0e056f79c3 100644 --- a/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java +++ b/backend/src/main/java/io/dataease/provider/query/sqlserver/SqlserverQueryProvider.java @@ -54,6 +54,7 @@ public class SqlserverQueryProvider extends QueryProvider { case "NCHAR": case "NTEXT": case "VARCHAR": + case "NVARCHAR": case "TEXT": case "TINYTEXT": case "MEDIUMTEXT": @@ -898,11 +899,19 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (StringUtils.equalsIgnoreCase(item.getTerm(), "not_empty")) { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(item.getTerm(), "in") || StringUtils.containsIgnoreCase(item.getTerm(), "not in")) { - whereValue = "('" + String.join("','", value.split(",")) + "')"; + if(field.getType().equals("NVARCHAR")){ + whereValue = Arrays.asList(value.split(",")).stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + String.join("','", value.split(",")) + "')"; + } } else if (StringUtils.containsIgnoreCase(item.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + if(field.getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + } } SQLObj build = SQLObj.builder() .whereField(whereName) @@ -1025,11 +1034,19 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (StringUtils.equalsIgnoreCase(filterItemDTO.getTerm(), "not_empty")) { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "in") || StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "not in")) { - whereValue = "('" + String.join("','", value.split(",")) + "')"; + if(field.getType().equals("NVARCHAR")){ + whereValue = Arrays.asList(value.split(",")).stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + String.join("','", value.split(",")) + "')"; + } } else if (StringUtils.containsIgnoreCase(filterItemDTO.getTerm(), "like")) { whereValue = "'%" + value + "%'"; } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + if(field.getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value); + } } list.add(SQLObj.builder() .whereField(whereName) @@ -1129,7 +1146,11 @@ public class SqlserverQueryProvider extends QueryProvider { String whereValue = ""; if (StringUtils.containsIgnoreCase(request.getOperator(), "in")) { - whereValue = "('" + StringUtils.join(value, "','") + "')"; + if(request.getDatasetTableField().getType().equals("NVARCHAR")){ + whereValue = value.stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + StringUtils.join(value, "','") + "')"; + } } else if (StringUtils.containsIgnoreCase(request.getOperator(), "like")) { whereValue = "'%" + value.get(0) + "%'"; } else if (StringUtils.containsIgnoreCase(request.getOperator(), "between")) { @@ -1142,7 +1163,13 @@ public class SqlserverQueryProvider extends QueryProvider { whereValue = String.format(SqlServerSQLConstants.WHERE_BETWEEN, value.get(0), value.get(1)); } } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value.get(0)); + + if(request.getDatasetTableField().getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, value.get(0)); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, value.get(0)); + } + } list.add(SQLObj.builder() .whereField(whereName) @@ -1299,11 +1326,19 @@ public class SqlserverQueryProvider extends QueryProvider { } else if (StringUtils.equalsIgnoreCase(f.getTerm(), "not_empty")) { whereValue = "''"; } else if (StringUtils.containsIgnoreCase(f.getTerm(), "in")) { - whereValue = "('" + StringUtils.join(f.getValue(), "','") + "')"; + if(y.getType().equals("NVARCHAR")){ + whereValue = Arrays.asList(f.getValue().split(",")).stream().map(str ->{return "N"+ str;}).collect(Collectors.joining(",")); + }else { + whereValue = "('" + String.join("','", f.getValue().split(",")) + "')"; + } } else if (StringUtils.containsIgnoreCase(f.getTerm(), "like")) { whereValue = "'%" + f.getValue() + "%'"; } else { - whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, f.getValue()); + if(y.getType().equals("NVARCHAR")){ + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE_CH, f.getValue()); + }else { + whereValue = String.format(SqlServerSQLConstants.WHERE_VALUE_VALUE, f.getValue()); + } } list.add(SQLObj.builder() .whereField(fieldAlias) From 9408fcd0c8022b4b70884cf2f99bc8430f76fc39 Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:09:11 +0800 Subject: [PATCH 17/18] =?UTF-8?q?fix:=20=E8=84=B1=E6=95=8F=E8=A7=84?= =?UTF-8?q?=E5=88=99=E5=B1=95=E7=A4=BA=E9=94=99=E8=AF=AF?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/chart/util/ChartDataBuild.java | 18 +++++++++++++++--- .../service/dataset/PermissionService.java | 5 ++++- 2 files changed, 19 insertions(+), 4 deletions(-) diff --git a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java index 88646f5326..4df9247e53 100644 --- a/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java +++ b/backend/src/main/java/io/dataease/service/chart/util/ChartDataBuild.java @@ -1,8 +1,8 @@ package io.dataease.service.chart.util; import cn.hutool.core.util.ArrayUtil; -import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.dto.chart.*; +import io.dataease.plugins.common.base.domain.ChartViewWithBLOBs; import io.dataease.plugins.common.dto.chart.ChartViewFieldDTO; import io.dataease.plugins.xpack.auth.dto.request.ColumnPermissionItem; import org.apache.commons.collections4.CollectionUtils; @@ -1071,11 +1071,11 @@ public class ChartDataBuild { break; } if (originStr.length() >= columnPermissionItem.getDesensitizationRule().getM() && originStr.length() >= columnPermissionItem.getDesensitizationRule().getN()) { - desensitizationStr = "***" + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, columnPermissionItem.getDesensitizationRule().getN()) + "***"; + desensitizationStr = buildPrefix(columnPermissionItem.getDesensitizationRule().getM()) + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, columnPermissionItem.getDesensitizationRule().getN()) + "***"; break; } if (originStr.length() >= columnPermissionItem.getDesensitizationRule().getM() && originStr.length() < columnPermissionItem.getDesensitizationRule().getN()) { - desensitizationStr = "***" + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, originStr.length()); + desensitizationStr = buildPrefix(columnPermissionItem.getDesensitizationRule().getM()) + StringUtils.substring(originStr, columnPermissionItem.getDesensitizationRule().getM() - 1, originStr.length()); } break; default: @@ -1086,6 +1086,18 @@ public class ChartDataBuild { return desensitizationStr; } + + private static String buildPrefix(Integer integer) { + String prefix = ""; + if (integer <= 1) { + return prefix; + } + for (int i = 0; i < integer - 1; i++) { + prefix = prefix + "*"; + } + return prefix; + } + private static Map transTableNormal(List fields, ChartViewWithBLOBs view, List data, Map desensitizationList) { Map map = new TreeMap<>(); List> tableRow = new ArrayList<>(); diff --git a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java index 77fba010d0..9199b275ea 100644 --- a/backend/src/main/java/io/dataease/service/dataset/PermissionService.java +++ b/backend/src/main/java/io/dataease/service/dataset/PermissionService.java @@ -208,7 +208,10 @@ public class PermissionService { dataSetColumnPermissionsDTO.setDatasetId(datasetId); dataSetColumnPermissionsDTO.setAuthTargetIds(Collections.singletonList(userId)); dataSetColumnPermissionsDTO.setAuthTargetType("user"); - datasetColumnPermissions.addAll(columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO)); + List dataSetColumnPermissionsDTOS = columnPermissionService.searchPermissions(dataSetColumnPermissionsDTO); + if(CollectionUtils.isNotEmpty(dataSetColumnPermissionsDTOS)){ + datasetColumnPermissions.addAll(dataSetColumnPermissionsDTOS); + } if (CollectionUtils.isNotEmpty(roleIds)) { DataSetColumnPermissionsDTO request = new DataSetColumnPermissionsDTO(); request.setDatasetId(datasetId); From 6fe534148b407805655b37351ad8e32e1175631f Mon Sep 17 00:00:00 2001 From: taojinlong Date: Mon, 22 May 2023 17:10:01 +0800 Subject: [PATCH 18/18] =?UTF-8?q?refactor:=20API=20=E6=95=B0=E6=8D=AE?= =?UTF-8?q?=E8=A1=A8=E5=BC=B9=E6=A1=86:=20wrapper-closable=3D"false"?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- frontend/src/views/system/datasource/DsConfiguration.vue | 1 + 1 file changed, 1 insertion(+) diff --git a/frontend/src/views/system/datasource/DsConfiguration.vue b/frontend/src/views/system/datasource/DsConfiguration.vue index abbc54dd32..b16707c570 100644 --- a/frontend/src/views/system/datasource/DsConfiguration.vue +++ b/frontend/src/views/system/datasource/DsConfiguration.vue @@ -454,6 +454,7 @@ size="840px" :before-close="closeEditItem" direction="rtl" + :wrapper-closable="false" >