From 464c8d098caca3fa14911455ce4def43378dc16a Mon Sep 17 00:00:00 2001 From: raodeming <1130305001@qq.com> Date: Sat, 26 Jun 2021 10:47:55 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B8=90=E5=8F=98=E8=89=B2=E6=9F=B1=E7=8A=B6?= =?UTF-8?q?=E5=9B=BE=E6=A1=88=E4=BE=8B?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../views/report/bigscreen/designer/tools.js | 576 +++++++++++++++++- .../bar/widgetGradientColorBarchart.vue | 426 +++++++++++++ .../bigscreen/designer/widget/widget.vue | 2 + 3 files changed, 1000 insertions(+), 4 deletions(-) create mode 100644 report-ui/src/views/report/bigscreen/designer/widget/bar/widgetGradientColorBarchart.vue diff --git a/report-ui/src/views/report/bigscreen/designer/tools.js b/report-ui/src/views/report/bigscreen/designer/tools.js index fccda0e4..8b1c69d1 100644 --- a/report-ui/src/views/report/bigscreen/designer/tools.js +++ b/report-ui/src/views/report/bigscreen/designer/tools.js @@ -1288,7 +1288,8 @@ const widgetTools = [ placeholder: '', }, ], - }, { + }, + { name: '坐标轴边距设置', list: [ { @@ -1321,7 +1322,8 @@ const widgetTools = [ value: 10, }, ], - }, { + }, + { name: '图例操作', list: [ { @@ -1393,7 +1395,8 @@ const widgetTools = [ value: '' }, ], - }, { + }, + { name: '自定义配色', list: [ { @@ -1401,10 +1404,575 @@ const widgetTools = [ label: '', name: 'customColor', required: false, - value: [{ color: '#ED0E0E' }, { color: '#6CCD17' }, { color: '#172CCD' }, { color: '#B817CD' }, { color: '#AFCD17' }], + value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], + }, + ], + }, + ], + ], + // 数据 + data: [ + { + type: 'el-radio-group', + label: '数据类型', + name: 'dataType', + require: false, + placeholder: '', + selectValue: true, + selectOptions: [ + { + code: 'staticData', + name: '静态数据', + }, + { + code: 'dynamicData', + name: '动态数据', + }, + ], + value: 'staticData', + }, + { + type: 'el-button', + label: '静态数据', + name: 'staticData', + required: false, + placeholder: 'px', + relactiveDom: 'dataType', + relactiveDomValue: 'staticData', + value: '{"categories": ["苹果","三星","小米","oppo","vivo"],"series": [{"name": "手机品牌","data": [1000,2229,3879,2379,4079]}]}', + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: 'px', + relactiveDom: 'dataType', + relactiveDomValue: 'dynamicData', + chartType: 'widget-barchart', + 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, + }, + ], + }, + }, + { + code: 'widget-gradient-color-barchart', + type: 'chart', + label: '柱形图-渐变色', + icon: 'iconzhuzhuangtu', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '柱状图', + }, + { + type: 'el-switch', + label: '竖展示', + name: 'verticalShow', + required: false, + placeholder: '', + value: false, + }, + { + type: 'vue-color', + label: '背景颜色', + name: 'background', + required: false, + placeholder: '', + value: '' + }, + [ + // { + // name: '柱体设置', + // list: [ + // { + // type: 'el-slider', + // label: '最大宽度', + // name: 'maxWidth', + // required: false, + // placeholder: '', + // value: 10, + // }, + // { + // type: 'el-slider', + // label: '圆角', + // name: 'radius', + // require: false, + // placeholder: '', + // value: 5, + // }, + // { + // type: 'el-slider', + // label: '最小高度', + // name: 'minHeight', + // require: false, + // placeholder: '', + // value: 0, + // }, + // ], + // }, + { + name: '标题设置', + list: [ + { + type: 'el-switch', + label: '标题', + name: 'isNoTitle', + required: false, + placeholder: '', + value: true, + }, + { + type: 'el-input-text', + label: '标题', + name: 'titleText', + required: false, + placeholder: '', + value: '', + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'textColor', + required: false, + placeholder: '', + value: '#fff' + }, + { + type: 'el-select', + label: '字体粗细', + name: 'textFontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + }, + { + type: 'el-input-number', + label: '字体大小', + name: 'textFontSize', + required: false, + placeholder: '', + value: 22 + }, + { + type: 'el-select', + label: '字体位置', + name: 'textAlign', + required: false, + placeholder: '', + selectOptions: [ + { code: 'center', name: '居中' }, + { code: 'left', name: '左对齐' }, + { code: 'right', name: '右对齐' }, + ], + value: 'center' + }, + { + type: 'el-input-text', + label: '副标题', + name: 'subText', + required: false, + placeholder: '', + value: '' + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'subTextColor', + required: false, + placeholder: '', + value: '#90979c' + }, + { + type: 'el-input-text', + label: '字体粗细', + name: 'subTextFontWeight', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'bold', name: '粗体' }, + { code: 'bolder', name: '特粗体' }, + { code: 'lighter', name: '细体' } + ], + value: 'normal' + }, + { + type: 'el-input-number', + label: '字体大小', + name: 'subTextFontSize', + required: false, + placeholder: '', + value: 20 }, ], }, + // { + // name: 'X轴设置', + // list: [ + // { + // type: 'el-input-text', + // label: '名称', + // name: 'xName', + // required: false, + // placeholder: '', + // value: '' + // }, + // { + // type: 'el-switch', + // label: '显示', + // name: 'hideX', + // required: false, + // placeholder: '', + // value: true, + // }, + // { + // type: 'vue-color', + // label: '坐标名颜色', + // name: 'xNameColor', + // required: false, + // placeholder: '', + // value: '#fff' + // }, + // { + // type: 'el-input-number', + // label: '字体大小', + // name: 'xNameFontSize', + // required: false, + // placeholder: '', + // value: 12 + // }, + // { + // type: 'el-slider', + // label: '文字角度', + // name: 'textAngle', + // required: false, + // placeholder: '', + // value: 0 + // }, + // { + // type: 'el-input-number', + // label: '文字间隔', + // name: 'textInterval', + // required: false, + // placeholder: '', + // value: '' + // }, + // { + // type: 'el-switch', + // label: '轴反转', + // name: 'reversalX', + // required: false, + // placeholder: '', + // value: '' + // }, + // { + // type: 'vue-color', + // label: '颜色', + // name: 'Xcolor', + // required: false, + // placeholder: '', + // value: '#fff', + // }, + // { + // type: 'el-input-number', + // label: '字号', + // name: 'fontSizeX', + // required: false, + // placeholder: '', + // value: 12, + // }, + // ], + // }, + // { + // name: 'Y轴设置', + // list: [ + // { + // type: 'el-input-text', + // label: '名称', + // name: 'textNameY', + // require: false, + // placeholder: '', + // value: '' + // }, + // { + // type: 'el-switch', + // label: '显示', + // name: 'isShowY', + // require: false, + // placeholder: '', + // value: true, + // }, + // { + // type: 'vue-color', + // label: '坐标名颜色', + // name: 'NameColorY', + // required: false, + // placeholder: '', + // value: '#fff', + // }, + // { + // type: 'el-input-number', + // label: '字体大小', + // name: 'NameFontSizeY', + // required: false, + // placeholder: '', + // value: 12, + // }, + // { + // type: 'el-switch', + // label: '轴反转', + // name: 'reversalY', + // required: false, + // placeholder: '', + // value: false + // }, + // { + // type: 'vue-color', + // label: '颜色', + // name: 'colorY', + // required: false, + // placeholder: '', + // value: '#fff', + // }, + // { + // type: 'el-input-number', + // label: '字号', + // name: 'fontSizeY', + // required: false, + // placeholder: '', + // value: 12, + // }, + // ], + // }, + // { + // name: '数值设定', + // list: [ + // { + // type: 'el-switch', + // label: '显示', + // name: 'isShow', + // required: false, + // placeholder: '', + // value: false + // }, + // { + // type: 'el-input-number', + // label: '字体大小', + // name: 'fontSize', + // required: false, + // placeholder: '', + // value: 14 + // }, + // { + // type: 'vue-color', + // label: '字体颜色', + // name: 'subTextColor', + // required: false, + // placeholder: '', + // value: '#fff' + // }, + // { + // type: 'el-select', + // label: '字体粗细', + // name: 'fontWeight', + // required: false, + // placeholder: '', + // selectOptions: [ + // { code: 'normal', name: '正常' }, + // { code: 'bold', name: '粗体' }, + // { code: 'bolder', name: '特粗体' }, + // { code: 'lighter', name: '细体' } + // ], + // value: 'normal' + // }, + // ], + // }, + // { + // name: '提示语设置', + // list: [ + // { + // type: 'el-input-number', + // label: '字体大小', + // name: 'fontSize', + // required: false, + // placeholder: '', + // }, + // { + // type: 'vue-color', + // label: '字体颜色', + // name: 'lineColor', + // required: false, + // placeholder: '', + // }, + // ], + // }, + // { + // name: '坐标轴边距设置', + // list: [ + // { + // type: 'el-slider', + // label: '左边距(像素)', + // name: 'marginLeft', + // required: false, + // placeholder: '', + // value: 10, + // }, { + // type: 'el-slider', + // label: '顶边距(像素)', + // name: 'marginTop', + // required: false, + // placeholder: '', + // value: 50, + // }, { + // type: 'el-slider', + // label: '右边距(像素)', + // name: 'marginRight', + // required: false, + // placeholder: '', + // value: 40, + // }, { + // type: 'el-slider', + // label: '底边距(像素)', + // name: 'marginBottom', + // required: false, + // placeholder: '', + // value: 10, + // }, + // ], + // }, + // { + // name: '图例操作', + // list: [ + // { + // type: 'el-switch', + // label: '图例', + // name: 'isShowLegend', + // required: false, + // placeholder: '', + // value: true, + // }, + // { + // type: 'vue-color', + // label: '字体颜色', + // name: 'lengedColor', + // required: false, + // placeholder: '', + // value: '#fff', + // }, + // { + // type: 'el-input-number', + // label: '字体大小', + // name: 'lengedFontSize', + // required: false, + // placeholder: '', + // value: 16, + // }, + // { + // type: 'el-input-number', + // label: '图例宽度', + // name: 'lengedWidth', + // required: false, + // placeholder: '', + // value: 15, + // }, + // { + // type: 'el-select', + // label: '横向位置', + // name: 'lateralPosition', + // required: false, + // placeholder: '', + // selectOptions: [ + // { code: 'left', name: '左对齐' }, + // { code: 'right', name: '右对齐' }, + // ], + // value: '' + // }, + // { + // type: 'el-select', + // label: '纵向位置', + // name: 'longitudinalPosition', + // required: false, + // placeholder: '', + // selectOptions: [ + // { code: 'top', name: '顶部' }, + // { code: 'bottom', name: '底部' }, + // ], + // value: '' + // }, + // { + // type: 'el-select', + // label: '布局前置', + // name: 'layoutFront', + // required: false, + // placeholder: '', + // selectOptions: [ + // { code: 'vertical', name: '竖排' }, + // { code: 'horizontal', name: '横排' }, + // ], + // value: '' + // }, + // ], + // }, + // { + // name: '自定义配色', + // list: [ + // { + // type: 'customColor', + // label: '', + // name: 'customColor', + // required: false, + // value: [{ color: '#ff7f50' }, { color: '#87cefa' }, { color: '#da70d6' }, { color: '#32cd32' }, { color: '#6495ed' }], + // }, + // ], + // }, ], ], // 数据 diff --git a/report-ui/src/views/report/bigscreen/designer/widget/bar/widgetGradientColorBarchart.vue b/report-ui/src/views/report/bigscreen/designer/widget/bar/widgetGradientColorBarchart.vue new file mode 100644 index 00000000..195c5181 --- /dev/null +++ b/report-ui/src/views/report/bigscreen/designer/widget/bar/widgetGradientColorBarchart.vue @@ -0,0 +1,426 @@ + + + + + diff --git a/report-ui/src/views/report/bigscreen/designer/widget/widget.vue b/report-ui/src/views/report/bigscreen/designer/widget/widget.vue index 5df3721d..c237b857 100644 --- a/report-ui/src/views/report/bigscreen/designer/widget/widget.vue +++ b/report-ui/src/views/report/bigscreen/designer/widget/widget.vue @@ -55,6 +55,7 @@ import widgetSlider from './widgetSlider.vue' import widgetVideo from './widgetVideo.vue' import WidgetIframe from './widgetIframe.vue' import widgetBarchart from './widgetBarchart.vue' +import widgetGradientColorBarchart from './bar/widgetGradientColorBarchart.vue' import widgetLinechart from './widgetLinechart.vue' import widgetBarlinechart from './widgetBarlinechart' import WidgetPiechart from './widgetPiechart.vue' @@ -75,6 +76,7 @@ export default { widgetVideo, WidgetIframe, widgetBarchart, + widgetGradientColorBarchart, widgetLinechart, widgetBarlinechart, WidgetPiechart,