From a34b2d9d5d3f35e9beba0ad73de8e6be1158e096 Mon Sep 17 00:00:00 2001 From: qianming Date: Thu, 2 Sep 2021 15:56:47 +0800 Subject: [PATCH] =?UTF-8?q?=E4=BB=AA=E8=A1=A8=E7=9B=98=E4=BF=AE=E6=94=B9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../tools/componentsJSON/widget-gauge.js | 480 +++++++++++++----- .../bigscreen/designer/widget/widgetGauge.vue | 134 +++-- 2 files changed, 452 insertions(+), 162 deletions(-) diff --git a/report-ui/src/views/report/bigscreen/designer/tools/componentsJSON/widget-gauge.js b/report-ui/src/views/report/bigscreen/designer/tools/componentsJSON/widget-gauge.js index 578676fd..ac56cf19 100644 --- a/report-ui/src/views/report/bigscreen/designer/tools/componentsJSON/widget-gauge.js +++ b/report-ui/src/views/report/bigscreen/designer/tools/componentsJSON/widget-gauge.js @@ -1,162 +1,378 @@ /* * @Descripttion: 仪表盘 json - * @version: + * @version: * @Author: qianlishi * @Date: 2021-08-29 07:30:25 * @LastEditors: qianlishi * @LastEditTime: 2021-08-29 07:30:25 */ export const widgetGauge = { - code: 'widget-gauge', - type: 'chart', - label: '仪表盘', - icon: 'iconyibiaopan', - options: { - // 配置 - setup: [ + code: 'widget-gauge', + type: 'chart', + label: '仪表盘', + icon: 'iconyibiaopan', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '仪表盘', + }, + { + type: 'vue-color', + label: '背景颜色', + name: 'background', + required: false, + placeholder: '', + value: '' + }, + [ { - type: 'el-input-text', - label: '图层名称', - name: 'layerName', - required: false, - placeholder: '', - value: '仪表盘', - }, - { - type: 'el-input-number', - label: '刻度线粗度', - name: 'tickMarkWeight', - require: false, - placeholder: '', - value: 10, - }, - { - type: 'el-switch', - label: '显示刻度值', - name: 'showScaleValue', - require: false, - placeholder: '', - value: true, - }, - { - type: 'el-switch', - label: '显示刻度线', - name: 'showTickMarks', - require: false, - placeholder: '', - value: true, - }, - { - type: 'el-input-number', - label: '刻度字号', - name: 'scaleFontSize', - require: false, - placeholder: '', - value: 16, - }, - { - type: 'el-input-number', - label: '指标字号', - name: 'targetFontSize', - require: false, - placeholder: '', - value: 20, - }, - { - type: 'vue-color', - label: '背景颜色', - name: 'background', - required: false, - placeholder: '', - value: '' - }, - ], - // 数据 - data: [ - { - type: 'el-radio-group', - label: '数据类型', - name: 'dataType', - require: false, - placeholder: '', - selectValue: true, - selectOptions: [ + name: "圆环设置", + list: [ { - code: 'staticData', - name: '静态数据', + type: 'el-switch', + label: '显示', + name: 'ringShow', + required: false, + placeholder: '', + value: true, }, { - code: 'dynamicData', - name: '动态数据', + type: 'el-input-number', + label: '圆环宽度', + name: 'pieWeight', + require: false, + placeholder: '', + value: 10, }, - ], - value: 'staticData', + ] }, { - type: 'el-input-number', - label: '刷新时间(毫秒)', - name: 'refreshTime', - relactiveDom: 'dataType', - relactiveDomValue: 'dynamicData', - value: 5000 + name: '0%~30%渐变色', + list: [ + { + type: 'vue-color', + label: '0处颜色', + name: 'color30p0', + required: false, + placeholder: '', + value: 'rgba(0, 237, 3,0.1)' + }, + { + type: 'vue-color', + label: '0.5处颜色', + name: 'color30p5', + required: false, + placeholder: '', + value: 'rgba(0, 237, 3,0.6)' + }, + { + type: 'vue-color', + label: '1处颜色', + name: 'color30p10', + required: false, + placeholder: '', + value: 'rgba(0, 237, 3,1)' + }, + ] }, { - type: 'el-button', - label: '静态数据', - name: 'staticData', - required: false, - placeholder: 'px', - relactiveDom: 'dataType', - relactiveDomValue: 'staticData', - value: {value: 50, name: "名称", unit: "%"}, + name: '30%~70%渐变色', + list: [ + { + type: 'vue-color', + label: '0处颜色', + name: 'color70p0', + required: false, + placeholder: '', + value: 'rgba(255, 184, 0,0.1)' + }, + { + type: 'vue-color', + label: '0.5处颜色', + name: 'color70p5', + required: false, + placeholder: '', + value: 'rgba(255, 184, 0,0.6)' + }, + { + type: 'vue-color', + label: '1处颜色', + name: 'color70p10', + required: false, + placeholder: '', + value: 'rgba(255, 184, 0,1)' + }, + ] }, { - type: 'dycustComponents', - label: '', - name: 'dynamicData', - required: false, - placeholder: 'px', - relactiveDom: 'dataType', - chartType: 'widget-gauge', - dictKey: 'TEXT_PROPERTIES', - relactiveDomValue: 'dynamicData', - value: '', + name: '70%~100%渐变色', + list: [ + { + type: 'vue-color', + label: '0处颜色', + name: 'color100p0', + required: false, + placeholder: '', + value: 'rgba(175, 36, 74,0.1)' + }, + { + type: 'vue-color', + label: '0.5处颜色', + name: 'color100p5', + required: false, + placeholder: '', + value: 'rgba(255, 36, 74,0.6)' + }, + { + type: 'vue-color', + label: '1处颜色', + name: 'color100p10', + required: false, + placeholder: '', + value: 'rgba(255, 36, 74,1)' + }, + ] }, - ], - // 坐标 - position: [ { - type: 'el-input-number', - label: '左边距', - name: 'left', - required: false, - placeholder: 'px', - value: 0, + name: "刻度线", + list: [ + { + type: 'el-switch', + label: '显示', + name: 'tickShow', + required: false, + placeholder: '', + value: true, + }, + { + type: 'el-input-number', + label: '距离', + name: 'tickDistance', + require: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '长度', + name: 'tickLength', + require: false, + placeholder: '', + value: 10, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'tickWidth', + require: false, + placeholder: '', + value: 2, + }, + ] }, { - type: 'el-input-number', - label: '上边距', - name: 'top', - required: false, - placeholder: 'px', - value: 0, + name: "指标线", + list: [ + { + type: 'el-switch', + label: '显示', + name: 'splitShow', + required: false, + placeholder: '', + value: true, + }, + { + type: 'el-input-number', + label: '距离', + name: 'splitDistance', + require: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '长度', + name: 'splitLength', + require: false, + placeholder: '', + value: 20, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'splitWidth', + require: false, + placeholder: '', + value: 4, + }, + ] }, { - type: 'el-input-number', - label: '宽度', - name: 'width', - required: false, - placeholder: '该容器在1920px大屏中的宽度', - value: 400, + name: "指标", + list: [ + { + type: 'el-switch', + label: '显示', + name: 'labelShow', + required: false, + placeholder: '', + value: true, + }, + { + type: 'el-input-number', + label: '距离', + name: 'labelDistance', + require: false, + placeholder: '', + value: 0, + }, + { + type: 'el-input-number', + label: '字号', + name: 'labelFontSize', + require: false, + placeholder: '', + value: 10, + }, + { + type: 'vue-color', + label: '颜色', + name: 'labelColor', + required: false, + placeholder: '', + value: '#fff', + }, + ] }, { - type: 'el-input-number', - label: '高度', - name: 'height', - required: false, - placeholder: '该容器在1080px大屏中的高度', - value: 200, + name: "数值", + list: [ + { + type: 'vue-color', + label: '颜色', + name: 'labelColor', + required: false, + placeholder: '', + value: '#fff', + }, + { + type: 'el-input-number', + label: '字号', + name: 'labelFontSize', + require: false, + placeholder: '', + value: 10, + }, + { + type: 'el-select', + label: '字体粗细', + name: 'labelFontWeight', + required: false, + placeholder: '', + selectOptions: [ + {code: 'normal', name: '正常'}, + {code: 'bold', name: '粗体'}, + {code: 'bolder', name: '特粗体'}, + {code: 'lighter', name: '细体'} + ], + value: 'normal' + }, + ] }, ], - } + ], + // 数据 + 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: 5000 + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: 'px', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: 50, + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: 'px', + relactiveDom: 'dataType', + chartType: 'widget-piechart', + dictKey: 'TEXT_PROPERTIES', + relactiveDomValue: 'dynamicData', + value: '', + }, + ], + // 坐标 + position: [ + { + type: 'el-input-number', + label: '左边距', + name: 'left', + required: false, + placeholder: 'px', + value: 0, + }, + { + type: 'el-input-number', + label: '上边距', + name: 'top', + required: false, + placeholder: 'px', + value: 0, + }, + { + type: 'el-input-number', + label: '宽度', + name: 'width', + required: false, + placeholder: '该容器在1920px大屏中的宽度', + value: 400, + }, + { + type: 'el-input-number', + label: '高度', + name: 'height', + required: false, + placeholder: '该容器在1080px大屏中的高度', + value: 200, + }, + ], } +} diff --git a/report-ui/src/views/report/bigscreen/designer/widget/widgetGauge.vue b/report-ui/src/views/report/bigscreen/designer/widget/widgetGauge.vue index 3893412f..6bfa284b 100644 --- a/report-ui/src/views/report/bigscreen/designer/widget/widgetGauge.vue +++ b/report-ui/src/views/report/bigscreen/designer/widget/widgetGauge.vue @@ -1,10 +1,12 @@