diff --git a/report-ui/src/mixins/queryform.js b/report-ui/src/mixins/queryform.js index 6c1c8bc2..1d5f5262 100644 --- a/report-ui/src/mixins/queryform.js +++ b/report-ui/src/mixins/queryform.js @@ -173,6 +173,8 @@ export default { return this.piechartFn(params.chartProperties, data); } else if (chartType == "widget-text") { return this.widgettext(params.chartProperties, data) + } else if (chartType == "widget-calendar") { + return this.widgetcalendar(params.chartProperties, data) } else if (chartType == "widget-stackchart") { return this.stackChartFn(params.chartProperties, data) } else if (chartType == "widget-coord") { @@ -285,6 +287,9 @@ export default { } return analysisData; }, + widgetcalendar (chartProperties, data) { + return data + }, // 坐标系数据解析 coordChartFn(chartProperties, data) { const analysisData = {}; diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-calendar.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-calendar.js new file mode 100644 index 00000000..60182381 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/texts/widget-calendar.js @@ -0,0 +1,223 @@ +/* + * @Descripttion: 日历组件json + * @version: + * @Author: lishuaiwu + * @Date: 2025-06-05 13:44:32 + */ +export const widgetCalendar = { + code: 'widget-calendar', + type: 'text', + tabName: '文本栏', + label: '日历', + icon: 'iconbiaoge', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '日历', + }, + [ + { + name: '日历样式', + list: [ + { + type: 'vue-color', + label: '边框线颜色', + name: 'borderColor', + required: false, + placeholder: '', + value: 'rgb(221, 221, 221)' + }, + { + type: 'vue-color', + label: '头部背景颜色', + name: 'headerBackground', + required: false, + placeholder: '', + value: 'rgb(10, 115, 255)' + }, + { + type: 'vue-color', + label: '头部文字颜色', + name: 'headerTextColor', + required: false, + placeholder: '', + value: 'rgb(255, 255, 255)' + }, + { + type: 'vue-color', + label: '头部按钮颜色', + name: 'headerBtnBackground', + required: false, + placeholder: '', + value: 'rgb(10, 115, 255)' + }, + { + type: 'vue-color', + label: '头部按钮文字', + name: 'headerBtnTextColor', + required: false, + placeholder: '', + value: 'rgb(255, 255, 255)' + }, + { + type: 'vue-color', + label: '星期背景色', + name: 'weekBackground', + required: false, + placeholder: '', + value: 'rgb(10, 39, 50)' + }, + { + type: 'vue-color', + label: '星期文字颜色', + name: 'weekTextColor', + required: false, + placeholder: '', + value: 'rgb(255, 255, 255)' + }, + { + type: 'vue-color', + label: '日期背景色', + name: 'dayBackground', + required: false, + placeholder: '', + value: 'rgb(0, 59, 81)' + }, + { + type: 'vue-color', + label: '日期文字颜色', + name: 'dayTextColor', + required: false, + placeholder: '', + value: 'rgb(255, 255, 255)' + }, + { + type: 'vue-color', + label: '当日背景色', + name: 'todayBackground', + required: false, + placeholder: '', + value: 'rgba(0, 59, 81, .5)' + }, + { + type: 'vue-color', + label: '当日文字颜色', + name: 'todayTextColor', + required: false, + placeholder: '', + value: 'rgb(0, 0, 0)' + }, + { + type: 'el-switch', + label: '按钮显隐', + name: 'isButton', + required: false, + placeholder: '', + value: true, + }, + ] + } + ] + ], + data: [ + { + type: 'el-radio-group', + label: '数据类型', + name: 'dataType', + require: false, + placeholder: '', + selectValue: true, + selectOptions: [ + { + code: 'staticData', + name: '静态数据', + }, + { + code: 'dynamicData', + name: '动态数据', + }, + ], + value: 'staticData', + }, + { + type: 'el-input-number', + label: '刷新时间(毫秒)', + name: 'refreshTime', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + value: 600000 + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: [ + { + "date": "2025-06-01", + "data": '2单' + }, + { + "date": "2025-06-02", + "data": '10单' + } + ], + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + chartType: 'widget-calendar', + dictKey: 'TEXT_PROPERTIES', + value: '', + } + ], + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 600, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 400, + }, + ] + } +} diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js index 1e7cf8be..79ffbd1c 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js @@ -17,6 +17,7 @@ import {widgetSliders} from "./configure/texts/widget-slider" import {widgetVideo} from "./configure/texts/widget-video" import {widgetTable} from "./configure/texts/widget-table" import {widgetIframe} from "./configure/texts/widget-iframe" +import {widgetCalendar} from "./configure/texts/widget-calendar" import {widgetUniversal} from "./configure/widget-universal" import {widgetBarchart} from "./configure/barCharts/widget-barchart" import {widgetGradientBarchart} from "./configure/barCharts/widget-gradient-barchart" @@ -70,6 +71,7 @@ export const widgetTool = [ widgetVideo, widgetTable, widgetIframe, + widgetCalendar, // widgetUniversal, widgetBarchart, widgetGradientBarchart, diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index 1cea3168..d89d250d 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -19,6 +19,7 @@ import widgetImage from "./texts/widgetImage.vue"; import widgetSlider from "./texts/widgetSlider.vue"; import widgetVideo from "./texts/widgetVideo.vue"; import WidgetIframe from "./texts/widgetIframe.vue"; +import widgetCalendar from "./texts/widgetCalendar.vue"; import widgetBarchart from "./bar/widgetBarchart.vue"; import widgetLinechart from "./line/widgetLinechart.vue"; import widgetBarlinechart from "./barline/widgetBarlinechart"; @@ -72,6 +73,7 @@ export default { widgetSlider, widgetVideo, WidgetIframe, + widgetCalendar, widgetBarchart, widgetGradientColorBarchart, widgetLinechart, diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetCalendar.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetCalendar.vue new file mode 100644 index 00000000..4358c913 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/texts/widgetCalendar.vue @@ -0,0 +1,371 @@ + + + + + \ No newline at end of file diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index 007cf82e..ffbef552 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -26,6 +26,7 @@ import widgetImage from "./texts/widgetImage.vue"; import widgetSlider from "./texts/widgetSlider.vue"; import widgetVideo from "./texts/widgetVideo.vue"; import WidgetIframe from "./texts/widgetIframe.vue"; +import widgetCalendar from "./texts/widgetCalendar.vue"; import widgetBarchart from "./bar/widgetBarchart.vue"; import widgetScatter from "./scatter/widgetScatter.vue"; import widgetGradientColorBarchart from "./bar/widgetGradientColorBarchart.vue"; @@ -79,6 +80,7 @@ export default { widgetSlider, widgetVideo, WidgetIframe, + widgetCalendar, widgetBarchart, widgetGradientColorBarchart, widgetLinechart,