From 84a2d76f7f6112f7573662b9f3eb536dc65c8109 Mon Sep 17 00:00:00 2001 From: "liu.shiyi" Date: Tue, 27 Jun 2023 19:23:53 +0800 Subject: [PATCH] =?UTF-8?q?feat:=E5=9F=BA=E7=A1=80=E7=BB=84=E4=BB=B6?= =?UTF-8?q?=E4=BB=A3=E7=A0=81=E9=87=8D=E6=9E=84?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../BasicComponents/CurrentTime/index.vue | 3 +++ .../BasicComponents/DigitalFlop/index.vue | 11 +---------- .../BasicComponents/HorizontalLine/index.vue | 6 +++++- .../BasicComponents/IframeChart/index.vue | 5 ++++- .../BasicComponents/LinkChart/index.vue | 7 +------ .../packages/BasicComponents/Picture/index.vue | 6 +++++- .../BasicComponents/ScreenScrollBoard/index.vue | 9 +-------- .../ScreenScrollRanking/index.vue | 10 +--------- .../packages/BasicComponents/Tables/index.vue | 17 ++++++----------- .../packages/BasicComponents/Texts/index.vue | 8 +------- .../BasicComponents/TimeCountDown/index.vue | 11 +++++++---- .../BasicComponents/VerticalLine/index.vue | 6 +++++- .../packages/BasicComponents/Video/index.vue | 6 +++++- data-room-ui/packages/js/mixins/commonMixins.js | 2 +- 14 files changed, 46 insertions(+), 61 deletions(-) diff --git a/data-room-ui/packages/BasicComponents/CurrentTime/index.vue b/data-room-ui/packages/BasicComponents/CurrentTime/index.vue index 1193f122..714f30ea 100644 --- a/data-room-ui/packages/BasicComponents/CurrentTime/index.vue +++ b/data-room-ui/packages/BasicComponents/CurrentTime/index.vue @@ -56,6 +56,9 @@ export default { } }, methods: { + changeStyle (config) { + this.getCurrentTime(config.dateFormat) + }, // 实时显示当前系统时间 getCurrentTime (dateFormat) { if (this.timer) { diff --git a/data-room-ui/packages/BasicComponents/DigitalFlop/index.vue b/data-room-ui/packages/BasicComponents/DigitalFlop/index.vue index 93247eb3..d1cb04b2 100644 --- a/data-room-ui/packages/BasicComponents/DigitalFlop/index.vue +++ b/data-room-ui/packages/BasicComponents/DigitalFlop/index.vue @@ -94,10 +94,9 @@ export default { }, watch: {}, mounted () { - this.chartInit() }, methods: { - buildOption (config, data) { + dataFormatting (config, data) { let dataList = '' if (data.data instanceof Array) { dataList = config.dataSource.dimensionField @@ -111,14 +110,6 @@ export default { data: dataList } return config - }, - updateData () { - this.getCurrentOption().then(({ data, config }) => { - if (data.success) { - const _config = this.buildOption(config, data) - this.config.option.data = _config.option.data - } - }) } } } diff --git a/data-room-ui/packages/BasicComponents/HorizontalLine/index.vue b/data-room-ui/packages/BasicComponents/HorizontalLine/index.vue index 84d0ad46..df392e4c 100644 --- a/data-room-ui/packages/BasicComponents/HorizontalLine/index.vue +++ b/data-room-ui/packages/BasicComponents/HorizontalLine/index.vue @@ -48,7 +48,11 @@ export default { }, watch: {}, mounted () {}, - methods: {} + methods: { + // 由于静态组件没有混入公共函数,所以需要定义一个changeStyle方法,以免报错 + changeStyle () { + } + } } diff --git a/data-room-ui/packages/BasicComponents/IframeChart/index.vue b/data-room-ui/packages/BasicComponents/IframeChart/index.vue index e0c45bba..01416d85 100644 --- a/data-room-ui/packages/BasicComponents/IframeChart/index.vue +++ b/data-room-ui/packages/BasicComponents/IframeChart/index.vue @@ -42,9 +42,12 @@ export default { }, watch: {}, mounted () { - this.newUrl = this.replaceUrlVariables(this.config.url) + this.changeStyle() }, methods: { + changeStyle (config) { + this.newUrl = this.replaceUrlVariables(this.config.url) + }, replaceUrlVariables (url) { const variableRegex = /\${([A-Za-z0-9_.]+)}/g const variables = {} diff --git a/data-room-ui/packages/BasicComponents/LinkChart/index.vue b/data-room-ui/packages/BasicComponents/LinkChart/index.vue index a6c798c1..698410cf 100644 --- a/data-room-ui/packages/BasicComponents/LinkChart/index.vue +++ b/data-room-ui/packages/BasicComponents/LinkChart/index.vue @@ -58,17 +58,12 @@ export default { } } }, - buildOption (config, data) { + dataFormatting (config, data) { // 文本数据配置原则:选择数据集则以后端返回的数据为主,否则以设置面板中标题设置为准 if (config.dataSource.businessKey) { config.customize.title = data && data.data && data.data.length ? data.data[0][config.dataSource.metricField] : '暂无数据' } return config - }, - updateData () { - this.getCurrentOption().then(({ data, config }) => { - this.config.customize.title = data && data.data && data.data.length ? data.data[0][config.dataSource.metricField] : '暂无数据' - }) } } } diff --git a/data-room-ui/packages/BasicComponents/Picture/index.vue b/data-room-ui/packages/BasicComponents/Picture/index.vue index 38c6b7e7..2cdc5029 100644 --- a/data-room-ui/packages/BasicComponents/Picture/index.vue +++ b/data-room-ui/packages/BasicComponents/Picture/index.vue @@ -50,7 +50,11 @@ export default { computed: {}, watch: {}, mounted () {}, - methods: {} + methods: { + // 由于静态组件没有混入公共函数,所以需要定义一个changeStyle方法,以免报错 + changeStyle () { + } + } } diff --git a/data-room-ui/packages/BasicComponents/ScreenScrollBoard/index.vue b/data-room-ui/packages/BasicComponents/ScreenScrollBoard/index.vue index 5504fcaa..ac116bfb 100644 --- a/data-room-ui/packages/BasicComponents/ScreenScrollBoard/index.vue +++ b/data-room-ui/packages/BasicComponents/ScreenScrollBoard/index.vue @@ -48,7 +48,7 @@ export default { this.chartInit() }, methods: { - buildOption (config, data) { + dataFormatting (config, data) { const header = [] const dataList = [] const alignList = [] @@ -105,13 +105,6 @@ export default { align: [...alignList] } return config - }, - updateData () { - this.getCurrentOption().then(({ data, config }) => { - const _config = this.buildOption(config, data) - this.option.data = _config.option.data - this.updateKey++ - }) } } diff --git a/data-room-ui/packages/BasicComponents/ScreenScrollRanking/index.vue b/data-room-ui/packages/BasicComponents/ScreenScrollRanking/index.vue index 1d38f343..80612dbf 100644 --- a/data-room-ui/packages/BasicComponents/ScreenScrollRanking/index.vue +++ b/data-room-ui/packages/BasicComponents/ScreenScrollRanking/index.vue @@ -47,10 +47,9 @@ export default { watch: { }, mounted () { - this.chartInit() }, methods: { - buildOption (config, data) { + dataFormatting (config, data) { const dataSourseList = [] data.data.forEach(item => { dataSourseList.push({ name: item[config.dataSource.dimensionField || 'name'], value: item[config.dataSource.metricField || 'sum(num)'] }) @@ -60,13 +59,6 @@ export default { data: dataSourseList } return config - }, - updateData () { - this.getCurrentOption().then(({ data, config }) => { - const _config = this.buildOption(config, data) - this.option.data = _config.option.data - this.updateKey++ - }) } } diff --git a/data-room-ui/packages/BasicComponents/Tables/index.vue b/data-room-ui/packages/BasicComponents/Tables/index.vue index 2290681d..ad2cdc8b 100644 --- a/data-room-ui/packages/BasicComponents/Tables/index.vue +++ b/data-room-ui/packages/BasicComponents/Tables/index.vue @@ -14,6 +14,7 @@ :header-cell-style="headerCellStyle" :cell-style="cellStyle" :row-class-name="tableRowClassName" + @row-click="rowClick" > { - if (data.success) { - this.config.option.tableData = data?.data - this.config.option.columnData = data?.columnData || {} - this.$refs.table.doLayout() - } - }) - }, // 将样式字符串转成对象, 用于自定义主题,表格头部样式 headerCellStyleToObj () { const str = this.themeJson.themeCss diff --git a/data-room-ui/packages/BasicComponents/Texts/index.vue b/data-room-ui/packages/BasicComponents/Texts/index.vue index c538e791..3288b5c6 100644 --- a/data-room-ui/packages/BasicComponents/Texts/index.vue +++ b/data-room-ui/packages/BasicComponents/Texts/index.vue @@ -36,18 +36,12 @@ export default { this.chartInit() }, methods: { - buildOption (config, data) { + dataFormatting (config, data) { // 文本数据配置原则:选择数据集则以后端返回的数据为主,否则以设置面板中标题设置为准 if (config.dataSource.businessKey) { config.customize.title = data && data.data && data.data.length ? data.data[0][config.dataSource.metricField] : '暂无数据' } return config - }, - // 仅更新数据 - updateData () { - this.getCurrentOption().then(({ data, config }) => { - this.config.customize.title = data && data.data && data.data.length ? data.data[0][config.dataSource.metricField] : '暂无数据' - }) } } } diff --git a/data-room-ui/packages/BasicComponents/TimeCountDown/index.vue b/data-room-ui/packages/BasicComponents/TimeCountDown/index.vue index 6ad2b54e..4cd0da46 100644 --- a/data-room-ui/packages/BasicComponents/TimeCountDown/index.vue +++ b/data-room-ui/packages/BasicComponents/TimeCountDown/index.vue @@ -83,10 +83,7 @@ export default { } }, mounted () { - this.config.endTime = this.config.endTime - ? new Date(this.config.endTime).getTime() - : new Date().getTime() + 3 * 3600 * 1000 * 24 - 1000 - this.getTime() + this.changeStyle() }, // 销毁定时器 destroyed () { @@ -96,6 +93,12 @@ export default { }, methods: { + changeStyle (config) { + this.config.endTime = this.config.endTime + ? new Date(this.config.endTime).getTime() + : new Date().getTime() + 3 * 3600 * 1000 * 24 - 1000 + this.getTime() + }, getTime () { if (this.timer) { clearInterval(this.timer) diff --git a/data-room-ui/packages/BasicComponents/VerticalLine/index.vue b/data-room-ui/packages/BasicComponents/VerticalLine/index.vue index 3e9d25d0..e6978a9f 100644 --- a/data-room-ui/packages/BasicComponents/VerticalLine/index.vue +++ b/data-room-ui/packages/BasicComponents/VerticalLine/index.vue @@ -48,7 +48,11 @@ export default { }, watch: {}, mounted () {}, - methods: {} + methods: { + // 由于静态组件没有混入公共函数,所以需要定义一个changeStyle方法,以免报错 + changeStyle () { + } + } } diff --git a/data-room-ui/packages/BasicComponents/Video/index.vue b/data-room-ui/packages/BasicComponents/Video/index.vue index f548a5c6..189b7573 100644 --- a/data-room-ui/packages/BasicComponents/Video/index.vue +++ b/data-room-ui/packages/BasicComponents/Video/index.vue @@ -77,7 +77,11 @@ export default { watch: {}, mounted () {}, - methods: {} + methods: { + // 由于静态组件没有混入公共函数,所以需要定义一个changeStyle方法,以免报错 + changeStyle () { + } + } } diff --git a/data-room-ui/packages/js/mixins/commonMixins.js b/data-room-ui/packages/js/mixins/commonMixins.js index c58a3126..8e420d99 100644 --- a/data-room-ui/packages/js/mixins/commonMixins.js +++ b/data-room-ui/packages/js/mixins/commonMixins.js @@ -24,7 +24,7 @@ export default { } }, mounted () { - if (!['digitalFlop', 'screenScrollRanking', 'screenScrollBoard', 'tables'].includes(this.config.type)) { + if (!['tables'].includes(this.config.type)) { this.chartInit() } this.watchCacheData()