diff --git a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java index 2084079934..c30dd02c10 100644 --- a/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java +++ b/backend/src/main/java/io/dataease/job/sechedule/strategy/impl/EmailTaskHandler.java @@ -167,7 +167,7 @@ public class EmailTaskHandler extends TaskHandler implements Job { try { XpackEmailTemplateDTO emailTemplateDTO = emailXpackService.emailTemplate(taskInstance.getTaskId()); XpackEmailTaskRequest taskForm = emailXpackService.taskForm(taskInstance.getTaskId()); - if (ObjectUtils.isEmpty(taskForm) || (!isTempTask && (CronUtils.taskExpire(taskForm.getEndTime()) || !taskForm.getStatus()))) { + if (ObjectUtils.isEmpty(taskForm) || (!isTempTask && (CronUtils.taskExpire(taskForm.getEndTime()) || !emailXpackService.status(taskInstance.getTaskId())))) { removeInstance(taskInstance); return; } 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 e072cba02a..55696b6b12 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 @@ -20,6 +20,7 @@ import io.dataease.plugins.common.request.permission.DatasetRowPermissionsTreeIt import io.dataease.plugins.datasource.entity.Dateformat; import io.dataease.plugins.datasource.entity.PageInfo; import io.dataease.plugins.datasource.query.QueryProvider; +import io.dataease.plugins.datasource.query.Utils; import org.apache.commons.collections4.CollectionUtils; import org.apache.commons.lang3.ObjectUtils; import org.apache.commons.lang3.StringUtils; @@ -27,7 +28,6 @@ import org.springframework.stereotype.Service; import org.stringtemplate.v4.ST; import org.stringtemplate.v4.STGroup; import org.stringtemplate.v4.STGroupFile; -import io.dataease.plugins.datasource.query.Utils; import javax.annotation.Resource; import java.text.MessageFormat; @@ -1141,8 +1141,12 @@ public class MysqlQueryProvider extends QueryProvider { switch (dateStyle) { case "y": return "%Y"; + case "y_Q": + return "CONCAT(%s,'" + split + "',%s)"; case "y_M": return "%Y" + split + "%m"; + case "y_W": + return "%Y" + split + "%u"; case "y_M_d": return "%Y" + split + "%m" + split + "%d"; case "H_m_s": @@ -1163,7 +1167,13 @@ public class MysqlQueryProvider extends QueryProvider { fieldName = String.format(MysqlConstants.UNIX_TIMESTAMP, originField) + "*1000"; } else if (x.getDeType() == 1) { String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); - fieldName = String.format(MysqlConstants.DATE_FORMAT, originField, format); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MysqlConstants.DATE_FORMAT, originField, "%Y"), + String.format(MysqlConstants.QUARTER, originField)); + } else { + fieldName = String.format(MysqlConstants.DATE_FORMAT, originField, format); + } } else { fieldName = originField; } @@ -1171,11 +1181,23 @@ public class MysqlQueryProvider extends QueryProvider { if (x.getDeType() == 1) { String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); if (x.getDeExtractType() == 0) { - fieldName = String.format(MysqlConstants.DATE_FORMAT, originField, format); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MysqlConstants.DATE_FORMAT, String.format(MysqlConstants.STR_TO_DATE, originField, MysqlConstants.DEFAULT_DATE_FORMAT), "%Y"), + String.format(MysqlConstants.QUARTER, String.format(MysqlConstants.STR_TO_DATE, originField, MysqlConstants.DEFAULT_DATE_FORMAT))); + } else { + fieldName = String.format(MysqlConstants.DATE_FORMAT, originField, format); + } } else { String cast = String.format(MysqlConstants.CAST, originField, MysqlConstants.DEFAULT_INT_FORMAT) + "/1000"; String from_unixtime = String.format(MysqlConstants.FROM_UNIXTIME, cast, MysqlConstants.DEFAULT_DATE_FORMAT); - fieldName = String.format(MysqlConstants.DATE_FORMAT, from_unixtime, format); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MysqlConstants.DATE_FORMAT, from_unixtime, "%Y"), + String.format(MysqlConstants.QUARTER, from_unixtime)); + } else { + fieldName = String.format(MysqlConstants.DATE_FORMAT, from_unixtime, format); + } } } else if (x.getDeType() == 0 && x.getDeExtractType() == 0) { fieldName = String.format(MysqlConstants.CAST, originField, MysqlConstants.CHAR); 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 3a4bd7d406..566488b0c2 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 @@ -18,8 +18,8 @@ import io.dataease.plugins.common.dto.sqlObj.SQLObj; import io.dataease.plugins.common.request.chart.ChartExtFilterRequest; import io.dataease.plugins.common.request.permission.DataSetRowPermissionsTreeDTO; import io.dataease.plugins.common.request.permission.DatasetRowPermissionsTreeItem; -import io.dataease.plugins.datasource.entity.PageInfo; import io.dataease.plugins.datasource.entity.Dateformat; +import io.dataease.plugins.datasource.entity.PageInfo; import io.dataease.plugins.datasource.query.QueryProvider; import io.dataease.plugins.datasource.query.Utils; import org.apache.commons.collections4.CollectionUtils; @@ -1138,8 +1138,12 @@ public class MysqlQueryProvider extends QueryProvider { switch (dateStyle) { case "y": return "%Y"; + case "y_Q": + return "CONCAT(%s,'" + split + "',%s)"; case "y_M": return "%Y" + split + "%m"; + case "y_W": + return "%Y" + split + "%u"; case "y_M_d": return "%Y" + split + "%m" + split + "%d"; case "H_m_s": @@ -1159,13 +1163,25 @@ public class MysqlQueryProvider extends QueryProvider { if (x.getDeType() == 2 || x.getDeType() == 3) { fieldName = String.format(MySQLConstants.UNIX_TIMESTAMP, originField) + "*1000"; } else if (x.getDeType() == 1) { + String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); if (x.getType().equalsIgnoreCase("YEAR")) { - fieldName = String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + originField + ",'-01-01')", transDateFormat(x.getDateStyle(), x.getDatePattern())); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + originField + ",'-01-01')", "%Y"), + String.format(MySQLConstants.QUARTER, "CONCAT(" + originField + ",'-01-01')")); + } else { + fieldName = String.format(MySQLConstants.DATE_FORMAT, "CONCAT(" + originField + ",'-01-01')", format); + } } else if (x.getType().equalsIgnoreCase("TIME")) { fieldName = String.format(MySQLConstants.DATE_FORMAT, "CONCAT('1970-01-01', " + originField + ")", MySQLConstants.DEFAULT_DATE_FORMAT); } else { - String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); - fieldName = String.format(MySQLConstants.DATE_FORMAT, originField, format); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MySQLConstants.DATE_FORMAT, originField, "%Y"), + String.format(MySQLConstants.QUARTER, originField)); + } else { + fieldName = String.format(MySQLConstants.DATE_FORMAT, originField, format); + } } } else { fieldName = originField; @@ -1174,11 +1190,23 @@ public class MysqlQueryProvider extends QueryProvider { if (x.getDeType() == 1) { String format = transDateFormat(x.getDateStyle(), x.getDatePattern()); if (x.getDeExtractType() == 0) { - fieldName = String.format(MySQLConstants.DATE_FORMAT, String.format(MySQLConstants.STR_TO_DATE, originField, StringUtils.isNotEmpty(x.getDateFormat()) ? x.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT), format); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MysqlConstants.DATE_FORMAT, String.format(MySQLConstants.STR_TO_DATE, originField, StringUtils.isNotEmpty(x.getDateFormat()) ? x.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT), "%Y"), + String.format(MysqlConstants.QUARTER, String.format(MySQLConstants.STR_TO_DATE, originField, StringUtils.isNotEmpty(x.getDateFormat()) ? x.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT))); + } else { + fieldName = String.format(MySQLConstants.DATE_FORMAT, String.format(MySQLConstants.STR_TO_DATE, originField, StringUtils.isNotEmpty(x.getDateFormat()) ? x.getDateFormat() : MysqlConstants.DEFAULT_DATE_FORMAT), format); + } } else { String cast = String.format(MySQLConstants.CAST, originField, MySQLConstants.DEFAULT_INT_FORMAT) + "/1000"; String from_unixtime = String.format(MySQLConstants.FROM_UNIXTIME, cast, MySQLConstants.DEFAULT_DATE_FORMAT); - fieldName = String.format(MySQLConstants.DATE_FORMAT, from_unixtime, format); + if (StringUtils.equalsIgnoreCase(x.getDateStyle(), "y_Q")) { + fieldName = String.format(format, + String.format(MySQLConstants.DATE_FORMAT, from_unixtime, "%Y"), + String.format(MySQLConstants.QUARTER, from_unixtime)); + } else { + fieldName = String.format(MySQLConstants.DATE_FORMAT, from_unixtime, format); + } } } else { if (x.getDeType() == DeTypeConstants.DE_INT) { diff --git a/frontend/src/components/canvas/customComponent/DeFrame.vue b/frontend/src/components/canvas/customComponent/DeFrame.vue index c97b0d81f1..6a29cd9c0e 100644 --- a/frontend/src/components/canvas/customComponent/DeFrame.vue +++ b/frontend/src/components/canvas/customComponent/DeFrame.vue @@ -44,11 +44,8 @@ v-else class="info-class" > - {{ $t('panel.web_add_tips_pre') }} - + {{ $t('panel.link_add_tips_pre') }} + {{ $t('panel.web_add_tips_suf') }} diff --git a/frontend/src/components/canvas/customComponent/DeStreamMedia.vue b/frontend/src/components/canvas/customComponent/DeStreamMedia.vue index 7b647099dd..0ca7865460 100644 --- a/frontend/src/components/canvas/customComponent/DeStreamMedia.vue +++ b/frontend/src/components/canvas/customComponent/DeStreamMedia.vue @@ -32,7 +32,9 @@ v-else class="info-stream-class" > - {{ $t('panel.stream_media_add_tips') }} + {{ $t('panel.link_add_tips_pre') }} + + {{ $t('panel.stream_media_add_tips') }} @@ -145,7 +147,7 @@ export default { } }, destroyPlayer() { - // Destroy + // Destroy if (this.flvPlayer) { this.flvPlayer.pause() this.flvPlayer.destroy() @@ -157,53 +159,53 @@ export default { diff --git a/frontend/src/components/canvas/customComponent/DeVideo.vue b/frontend/src/components/canvas/customComponent/DeVideo.vue index 5a5970e707..c741c3c423 100644 --- a/frontend/src/components/canvas/customComponent/DeVideo.vue +++ b/frontend/src/components/canvas/customComponent/DeVideo.vue @@ -26,7 +26,9 @@ v-else class="info-class" > - {{ $t('panel.video_add_tips') }} + {{ $t('panel.link_add_tips_pre') }} + + {{ $t('panel.video_add_tips') }} @@ -139,20 +141,21 @@ export default { diff --git a/frontend/src/components/canvas/utils/shortcutKey.js b/frontend/src/components/canvas/utils/shortcutKey.js index 258c862030..1c0688e91e 100644 --- a/frontend/src/components/canvas/utils/shortcutKey.js +++ b/frontend/src/components/canvas/utils/shortcutKey.js @@ -53,11 +53,12 @@ export function listenGlobalKeyDown() { window.onkeydown = (e) => { if (!store.state.isInEditor) return const { keyCode } = e + e.preventDefault() + e.stopPropagation() if (keyCode === ctrlKey || keyCode === commandKey) { isCtrlOrCommandDown = true } else if (isCtrlOrCommandDown) { if (keyCode === zKey || keyCode === yKey || keyCode === dKey || keyCode === sKey || keyCode === enlargeKey) { - e.preventDefault() unlockMap[keyCode]() } } diff --git a/frontend/src/lang/en.js b/frontend/src/lang/en.js index da3607f130..af97fd524f 100644 --- a/frontend/src/lang/en.js +++ b/frontend/src/lang/en.js @@ -1180,6 +1180,8 @@ export default { datePattern: 'Date Format', y: 'Year', y_M: 'Year Month', + y_Q: 'Year Quarter', + y_W: 'Year Week', y_M_d: 'Year Month Day', H_m_s: 'Hour Minute Second', y_M_d_H_m: 'Year Month Day Hour Minute', @@ -2038,7 +2040,7 @@ export default { yes: 'Yes', no: 'No', live_tips: 'User Https First', - stream_media_add_tips: 'Please Add Stream Media Info...', + stream_media_add_tips: 'And Add Stream Media Info...', stream_mobile_tips: 'IOS terminal may not display', json_params_error: 'Third Party Parameters Parsing Failed. Please Check Whether The Parameters Format Is Correct', inner_padding: 'Inner Padding', @@ -2271,8 +2273,8 @@ export default { play_circle: 'Circle', video_links: 'Video Links', web_url: 'Web URL', - video_add_tips: 'Please Add Video Info...', - web_add_tips_pre: 'Please click', + video_add_tips: 'And Video Info...', + link_add_tips_pre: 'Please click', web_add_tips_suf: 'Add Web Url Info...', panel_view_result_show: 'View Result', panel_view_result_tips: 'Chose "Panel" Will Overwrite View`s Result,Range 1~10000', diff --git a/frontend/src/lang/tw.js b/frontend/src/lang/tw.js index bdfe346dce..7e35b8d5a1 100644 --- a/frontend/src/lang/tw.js +++ b/frontend/src/lang/tw.js @@ -1179,6 +1179,8 @@ export default { datePattern: '日期格式', y: '年', y_M: '年月', + y_Q: '年季度', + y_W: '年周', y_M_d: '年月日', H_m_s: '時分秒', y_M_d_H_m: '年月日時分', @@ -2032,7 +2034,7 @@ export default { yes: '是', no: '否', live_tips: '優先HTTPS鏈接', - stream_media_add_tips: '請點擊添加配置流媒體信息...', + stream_media_add_tips: '添加流媒體信息...', stream_mobile_tips: 'IOS終端可能無法顯示', json_params_error: '第三方參數解析失敗,請檢查參數格式是否正確', inner_padding: '內邊距', @@ -2265,8 +2267,8 @@ export default { play_circle: '循環播放', video_links: '視頻鏈接', web_url: '網頁地址', - video_add_tips: '請點擊添加配置視頻信息...', - web_add_tips_pre: '請點擊上方', + video_add_tips: '添加視頻信息...', + link_add_tips_pre: '請點擊上方', web_add_tips_suf: '添加網頁信息...', panel_view_result_show: '視圖結果', panel_view_result_tips: '選擇儀表闆會覆蓋視圖的結果展示數量,取值範圍1~10000', diff --git a/frontend/src/lang/zh.js b/frontend/src/lang/zh.js index 66dd17496d..c48403deaa 100644 --- a/frontend/src/lang/zh.js +++ b/frontend/src/lang/zh.js @@ -1178,6 +1178,8 @@ export default { datePattern: '日期格式', y: '年', y_M: '年月', + y_Q: '年季度', + y_W: '年周', y_M_d: '年月日', H_m_s: '时分秒', y_M_d_H_m: '年月日时分', @@ -2032,7 +2034,7 @@ export default { yes: '是', no: '否', live_tips: '优先HTTPS链接', - stream_media_add_tips: '请点击添加配置流媒体信息...', + stream_media_add_tips: '添加流媒体信息...', stream_mobile_tips: 'IOS终端可能无法显示', json_params_error: '第三方参数解析失败,请检查参数格式是否正确', inner_padding: '内边距', @@ -2265,8 +2267,8 @@ export default { play_circle: '循环播放', video_links: '视频链接', web_url: '网页地址', - video_add_tips: '请点击添加配置视频信息...', - web_add_tips_pre: '请点击上方', + video_add_tips: '添加视频信息...', + link_add_tips_pre: '请点击上方', web_add_tips_suf: '添加网页信息...', panel_view_result_show: '视图结果', panel_view_result_tips: '选择仪表板会覆盖视图的结果展示数量,取值范围1~10000', diff --git a/frontend/src/views/chart/chart/chart.js b/frontend/src/views/chart/chart/chart.js index 47101d2a47..afece4b1fe 100644 --- a/frontend/src/views/chart/chart/chart.js +++ b/frontend/src/views/chart/chart/chart.js @@ -1133,3 +1133,5 @@ export const CHART_FONT_LETTER_SPACE = [ ] export const NOT_SUPPORT_PAGE_DATASET = ['kylin', 'sqlServer', 'es', 'presto', 'ds_doris', 'StarRocks'] + +export const SUPPORT_Y_M = ['y', 'y_M', 'y_M_d'] diff --git a/frontend/src/views/chart/chart/map/map.js b/frontend/src/views/chart/chart/map/map.js index 7645d6c1f1..b721601414 100644 --- a/frontend/src/views/chart/chart/map/map.js +++ b/frontend/src/views/chart/chart/map/map.js @@ -51,7 +51,7 @@ export function baseMapOption(chart_option, chart, themeStyle, curAreaCode, seri currentSeriesId = yAxis?.length ? yAxis[0].id : null } chart.data?.series.forEach((item, index) => { - if (item.data[0].quotaList[0].id === currentSeriesId) { + if (item.data?.length && item.data[0].quotaList[0].id === currentSeriesId) { seriesIndex = index return false } diff --git a/frontend/src/views/chart/components/dragItem/DimensionExtItem.vue b/frontend/src/views/chart/components/dragItem/DimensionExtItem.vue index 209acf49bb..d042757e50 100644 --- a/frontend/src/views/chart/components/dragItem/DimensionExtItem.vue +++ b/frontend/src/views/chart/components/dragItem/DimensionExtItem.vue @@ -108,7 +108,15 @@ {{ $t('chart.y') }} + {{ $t('chart.y_Q') }} {{ $t('chart.y_M') }} + {{ $t('chart.y_W') }} {{ $t('chart.y_M_d') }} {{ $t('chart.y') }} + {{ $t('chart.y_Q') }} {{ $t('chart.y_M') }} + {{ $t('chart.y_W') }} {{ $t('chart.y_M_d') }} { - return ele.deType === 1 + return ele.deType === 1 && SUPPORT_Y_M.includes(ele.dateStyle) }) // 暂时只支持类别轴/维度的时间类型字段 if (t1.length > 0 && this.chart.type !== 'text' && this.chart.type !== 'label' && this.chart.type !== 'gauge' && this.chart.type !== 'liquid') { diff --git a/frontend/src/views/chart/components/dragItem/QuotaItem.vue b/frontend/src/views/chart/components/dragItem/QuotaItem.vue index bda5a3ec84..3145bd92e3 100644 --- a/frontend/src/views/chart/components/dragItem/QuotaItem.vue +++ b/frontend/src/views/chart/components/dragItem/QuotaItem.vue @@ -246,6 +246,7 @@ import FieldErrorTips from '@/views/chart/components/dragItem/components/FieldEr import bus from '@/utils/bus' import { formatterItem } from '@/views/chart/chart/formatter' import { quotaViews } from '@/views/chart/chart/util' +import { SUPPORT_Y_M } from '@/views/chart/chart/chart' export default { name: 'QuotaItem', @@ -321,7 +322,7 @@ export default { xAxis = JSON.parse(this.chart.xaxis) } const t1 = xAxis.filter(ele => { - return ele.deType === 1 + return ele.deType === 1 && SUPPORT_Y_M.includes(ele.dateStyle) }) // 暂时只支持类别轴/维度的时间类型字段 if (t1.length > 0 && this.chart.type !== 'text' && this.chart.type !== 'label' && this.chart.type !== 'gauge' && this.chart.type !== 'liquid') { diff --git a/frontend/src/views/chart/components/functionStyle/MapMarkSelector.vue b/frontend/src/views/chart/components/functionStyle/MapMarkSelector.vue index 5b06b3e706..3781a99fce 100644 --- a/frontend/src/views/chart/components/functionStyle/MapMarkSelector.vue +++ b/frontend/src/views/chart/components/functionStyle/MapMarkSelector.vue @@ -143,6 +143,8 @@ import { DEFAULT_MARK } from '../../chart/chart' import DeIconGroupPicker from '@/components/deIconPicker/deIconGroupPicker' import deSvgIcons from '@/deicons' +import { getItemType } from '@/views/chart/components/dragItem/utils' +import bus from '@/utils/bus' export default { name: 'MapMarkSelector', components: { DeIconGroupPicker }, @@ -275,7 +277,12 @@ export default { } } }, + + beforeDestroy() { + bus.$off('reset-change-table', this.getItemTagType) + }, mounted() { + bus.$on('reset-change-table', this.getItemTagType) this.initData() this.loadSvg() }, @@ -309,6 +316,12 @@ export default { } if (customAttr.mark) { this.markForm = customAttr.mark + if (this.markForm.fieldId) { + const valid = this.fieldOptions.some(group => group.options.some(item => item.id === this.markForm.fieldId)) + if (!valid) { + this.markForm.fieldId = null + } + } } } }, @@ -360,8 +373,25 @@ export default { } this.changeMarkAttr('fieldId') + }, + getItemTagType() { + if (this.markForm.fieldId) { + const field = this.getField(this.markForm.fieldId) + if (!field) { + this.changeFields() + this.markForm.fieldId = null + return + } + const tagType = getItemType(this.dimensionData, this.quotaData, field) + if (tagType === 'danger') { + this.changeFields() + this.markForm.fieldId = null + } + } else { + this.changeFields() + this.markForm.fieldId = null + } } - } } diff --git a/frontend/src/views/chart/components/map/MarkMapDataEditor.vue b/frontend/src/views/chart/components/map/MarkMapDataEditor.vue index 79507d669f..c330c799d6 100644 --- a/frontend/src/views/chart/components/map/MarkMapDataEditor.vue +++ b/frontend/src/views/chart/components/map/MarkMapDataEditor.vue @@ -29,8 +29,8 @@ :param="param" :index="index" :item="item" - :dimension-data="dimension" - :quota-data="quota" + :dimension-data="dimensionData" + :quota-data="quotaData" @onDetailItemRemove="locationXItemRemove" /> @@ -69,8 +69,8 @@ :param="param" :index="index" :item="item" - :dimension-data="dimension" - :quota-data="quota" + :dimension-data="dimensionData" + :quota-data="quotaData" @onDetailItemRemove="locationYItemRemove" /> diff --git a/frontend/src/views/chart/components/shapeAttr/TotalCfg.vue b/frontend/src/views/chart/components/shapeAttr/TotalCfg.vue index df2e1f2a95..6756936e00 100644 --- a/frontend/src/views/chart/components/shapeAttr/TotalCfg.vue +++ b/frontend/src/views/chart/components/shapeAttr/TotalCfg.vue @@ -239,7 +239,7 @@ @@ -425,9 +425,7 @@ export default { if (this.resetTotalSort(this.totalForm.row.totalSortField)) { this.totalForm.row.totalSortField = this.totalSortFields[0].dataeaseName } - if (this.resetTotalSort(this.totalForm.col.totalSortField)) { - this.totalForm.col.totalSortField = this.totalSortFields[0].dataeaseName - } + this.totalForm.col.totalSortField = this.totalSortFields[0].dataeaseName } else { this.totalForm.row.totalSortField = '' this.totalForm.col.totalSortField = '' diff --git a/frontend/src/views/chart/view/ChartEdit.vue b/frontend/src/views/chart/view/ChartEdit.vue index 1fb3e092a3..48c63a2925 100644 --- a/frontend/src/views/chart/view/ChartEdit.vue +++ b/frontend/src/views/chart/view/ChartEdit.vue @@ -435,7 +435,7 @@ v-model="view.refreshViewEnable" class="el-input-refresh-loading" @change="refreshAttrChange" - > + /> {{ $t('panel.enable_refresh_view') }} @@ -531,6 +531,7 @@ :item="item" :dimension-data="dimension" :quota-data="quota" + :chart="chart" @onDimensionItemChange="dimensionItemChange" @onDimensionItemRemove="dimensionItemRemove" @editItemFilter="showDimensionEditFilter" @@ -673,6 +674,7 @@ :item="item" :dimension-data="dimension" :quota-data="quota" + :chart="chart" @onDimensionItemChange="dimensionItemChange" @onDimensionItemRemove="dimensionItemRemove" @editItemFilter="showDimensionEditFilter" @@ -2357,9 +2359,14 @@ export default { delete view.data return view }, - refreshAttrChange(switchType = false, switchRender = false) { + refreshAttrChange() { + if (this.view.refreshTime > 3600) { + this.view.refreshTime = 3600 + } else if (this.view.refreshTime < 1) { + this.view.refreshTime = 1 + } this.changeEditStatus(true) - const view = this.buildParam(true, 'chart', false, switchType, switchRender) + const view = this.buildParam(true, 'chart', false) if (!view) return viewEditSave(this.panelInfo.id, view) }, @@ -2369,6 +2376,7 @@ export default { if (!view) return viewEditSave(this.panelInfo.id, view).then(() => { // this.getData(this.param.id) + this.getChart(this.param.id) bus.$emit('view-in-cache', { type: 'propChange', viewId: this.param.id, @@ -3907,7 +3915,6 @@ span { z-index: 1; } - .el-input-refresh-time { width: calc(50% - 4px) !important; } diff --git a/frontend/src/views/panel/subjectSetting/preSubject/SubjectTemplateItem.vue b/frontend/src/views/panel/subjectSetting/preSubject/SubjectTemplateItem.vue index 06fa47ae25..436ebd2647 100644 --- a/frontend/src/views/panel/subjectSetting/preSubject/SubjectTemplateItem.vue +++ b/frontend/src/views/panel/subjectSetting/preSubject/SubjectTemplateItem.vue @@ -410,7 +410,6 @@ export default { width: 131px; height: 78px; margin: 0 auto; - box-shadow: 0 0 2px 0 rgba(31, 31, 31, 0.15), 0 1px 2px 0 rgba(31, 31, 31, 0.15); box-sizing: border-box; }