From d1269550626635a37929f9c4312079881054e5ea Mon Sep 17 00:00:00 2001 From: qianming Date: Fri, 8 Sep 2023 15:39:54 +0800 Subject: [PATCH] =?UTF-8?q?feat--=E6=96=B0=E5=A2=9E=E4=B8=AD=E5=9B=BD?= =?UTF-8?q?=E5=9C=B0=E5=9B=BE-=E6=9F=B1=E5=BD=A2=E5=9C=B0=E5=9B=BE-?= =?UTF-8?q?=E9=9D=99=E6=80=81?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../configure/mapCharts/widget-bar-map.js | 510 +++++++++++ .../bigscreenDesigner/designer/tools/main.js | 2 + .../designer/widget/map/widgetBarMap.vue | 850 ++++++++++++++++++ .../designer/widget/temp.vue | 2 + .../designer/widget/widget.vue | 2 + 5 files changed, 1366 insertions(+) create mode 100644 report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-bar-map.js create mode 100644 report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetBarMap.vue diff --git a/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-bar-map.js b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-bar-map.js new file mode 100644 index 00000000..54a1b138 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/configure/mapCharts/widget-bar-map.js @@ -0,0 +1,510 @@ +export const widgetBarMap = { + code: 'widgetBarMap', + type: 'mapChart', + tabName: '中国地图', + label: '柱形地图', + icon: 'iconzhongguoditu', + options: { + // 配置 + setup: [ + { + type: 'el-input-text', + label: '图层名称', + name: 'layerName', + required: false, + placeholder: '', + value: '中国地图-柱形图', + }, + { + type: 'vue-color', + label: '背景颜色', + name: 'background', + required: false, + placeholder: '', + value: '' + }, + [ + { + 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: '#FFD700' + }, + { + type: 'el-input-number', + label: '字体字号', + name: 'textFontSize', + required: false, + placeholder: '', + value: 20 + }, + { + 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-select', + label: '字体风格', + name: 'textFontStyle', + required: false, + placeholder: '', + selectOptions: [ + {code: 'normal', name: '正常'}, + {code: 'italic', name: 'italic斜体'}, + {code: 'oblique', name: 'oblique斜体'}, + ], + value: 'normal' + }, + { + 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: 'rgba(30, 144, 255, 1)' + }, + { + type: 'el-input-number', + label: '字体字号', + name: 'subTextFontSize', + required: false, + placeholder: '', + value: 20 + }, + { + type: 'el-select', + label: '字体粗细', + name: 'subTextFontWeight', + required: false, + placeholder: '', + selectOptions: [ + {code: 'normal', name: '正常'}, + {code: 'bold', name: '粗体'}, + {code: 'bolder', name: '特粗体'}, + {code: 'lighter', name: '细体'} + ], + value: 'normal' + }, + { + type: 'el-select', + label: '字体风格', + name: 'subTextFontStyle', + required: false, + placeholder: '', + selectOptions: [ + {code: 'normal', name: '正常'}, + {code: 'italic', name: 'italic斜体'}, + {code: 'oblique', name: 'oblique斜体'}, + ], + value: 'normal' + }, + ], + }, + { + name: '地图设置', + list: [ + { + type: 'el-switch', + label: '省市区显示', + name: 'isShowMap', + required: false, + placeholder: '', + value: false, + }, + { + type: 'el-input-number', + label: '文字大小', + name: 'fontSizeMap', + required: false, + placeholder: '', + value: 20, + }, + { + type: 'vue-color', + label: '文字颜色', + name: 'colorMap', + required: false, + placeholder: '', + value: '#53D9FF' + } + ] + }, + { + name: '地图块颜色', + list: [ + { + type: 'vue-color', + label: '0%处颜色', + name: 'font0PreColor', + required: false, + placeholder: '', + value: '#073684' + }, + { + type: 'vue-color', + label: '100%颜色', + name: 'font100PreColor', + required: false, + placeholder: '', + value: '#061E3D' + }, + { + type: 'vue-color', + label: '高亮渐变色', + name: 'fontHighlightColor', + required: false, + placeholder: '', + value: '#2B91B7' + }, + { + type: 'vue-color', + label: '边界颜色', + name: 'borderColor', + required: false, + placeholder: '', + value: '#061E3D' + }, + ], + }, + { + name: '柱形设置', + list: [ + { + type: 'el-input-number', + label: '高度比', + name: 'heightRate', + required: false, + placeholder: '', + value: 5, + }, + { + type: 'el-input-number', + label: '柱体宽度', + name: 'barWidth', + required: false, + placeholder: '', + value: 20, + }, + /*{ + type: 'vue-color', + label: '柱体颜色', + name: 'barColor', + required: false, + placeholder: '', + value: 'rgba(22,255,255, 1)' + },*/ + { + type: 'el-input-number', + label: '柱底外圆大小', + name: 'barBottomOutSymbolSize', + required: false, + placeholder: '', + value: 30, + }, +/* { + type: 'vue-color', + label: '柱底外圆颜色', + name: 'barBottomOutColor', + required: false, + placeholder: '', + value: 'rgba(22,255,255, 1)' + },*/ + ], + }, + { + name: '数值设置', + list: [ + { + type: 'el-switch', + label: '文字显示', + name: 'isShowFontText', + required: false, + placeholder: '', + value: true, + }, + { + type: 'el-input-number', + label: '文字大小', + name: 'fontTextSize', + required: false, + placeholder: '', + value: 15, + }, + /* { + type: 'vue-color', + label: '文字颜色', + name: 'fontTextColor', + required: false, + placeholder: '', + value: '#D4EEFF' + },*/ + { + type: 'el-select', + label: '文字粗细', + name: 'fontTextWeight', + required: false, + placeholder: '', + selectOptions: [ + {code: 'normal', name: '正常'}, + {code: 'bold', name: '粗体'}, + {code: 'bolder', name: '特粗体'}, + {code: 'lighter', name: '细体'} + ], + value: 'normal' + }, + { + type: 'el-select', + label: '字体风格', + name: 'fontTextStyle', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, + ], + value: 'normal' + }, + { + type: 'el-switch', + label: '数值显示', + name: 'isShowFontData', + required: false, + placeholder: '', + value: true, + }, + { + type: 'el-input-number', + label: '数值大小', + name: 'fontDataSize', + required: false, + placeholder: '', + value: 15, + }, + /*{ + type: 'vue-color', + label: '数值颜色', + name: 'fontDataColor', + required: false, + placeholder: '', + value: '#D4EEFF' + },*/ + { + type: 'el-select', + label: '数值粗细', + name: 'fontDataWeight', + required: false, + placeholder: '', + selectOptions: [ + {code: 'normal', name: '正常'}, + {code: 'bold', name: '粗体'}, + {code: 'bolder', name: '特粗体'}, + {code: 'lighter', name: '细体'} + ], + value: 'normal' + }, + { + type: 'el-select', + label: '字体风格', + name: 'fontDataStyle', + required: false, + placeholder: '', + selectOptions: [ + { code: 'normal', name: '正常' }, + { code: 'italic', name: 'italic斜体' }, + { code: 'oblique', name: 'oblique斜体' }, + ], + value: 'normal' + }, + ], + }, + { + name: '提示语设置', + list: [ + { + type: 'el-input-number', + label: '字体字号', + name: 'tipsFontSize', + required: false, + placeholder: '', + value: 16 + }, + { + type: 'vue-color', + label: '字体颜色', + name: 'tipsColor', + required: false, + placeholder: '', + value: '#00FEFF' + }, + ], + }, + { + name: '自定义配色', + list: [ + { + type: 'customColor', + label: '', + name: 'customColor', + required: false, + 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-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: [ + {name: "北京仓库", latitude: 116.4073, longitude: 39.9041, value: 70,}, + {name: "天津仓库", latitude: 117.2015, longitude: 39.0853, value: 20,}, + {name: "上海仓库", latitude: 121.4648, longitude: 31.2891, value: 150,}, + {name: "重庆仓库", latitude: 107.7539, longitude: 30.1904, value: 75,}, + {name: "河南仓库", latitude: 113.753, longitude: 34.767, value: 83,}, + {name: "云南仓库", latitude: 102.7093, longitude: 25.0464, value: 50,}, + {name: "安徽仓库", latitude: 117.3301, longitude: 31.7345, value: 36,}, + {name: "山东仓库", latitude: 117.0207, longitude: 36.6702, value: 39,}, + {name: "江西仓库", latitude: 115.8165, longitude: 28.6372, value: 23,}, + {name: "青海仓库", latitude: 101.7804, longitude: 36.6225, value: 27,}, + {name: "四川仓库", latitude: 104.0764, longitude: 30.6516, value: 46,}, + {name: "海南仓库", latitude: 110.3487, longitude: 20.0186, value: 16,}, + {name: "西藏仓库", latitude: 91.1174, longitude: 29.6486, value: 31,}, + {name: "宁夏仓库", latitude: 106.2588, longitude: 38.4722, value: 47,}, + {name: "新疆仓库", latitude: 87.6285, longitude: 43.7933, value: 42,}, + ], + }, + { + type: 'dycustComponents', + label: '', + name: 'dynamicData', + required: false, + placeholder: '', + relactiveDom: 'dataType', + chartType: 'widget-piechart', + dictKey: 'MAP_PROPERTIES', + relactiveDomValue: 'dynamicData', + 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 952635c1..6874a83b 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/tools/main.js +++ b/report-ui/src/views/bigscreenDesigner/designer/tools/main.js @@ -47,6 +47,7 @@ import {widgetBarDoubleYaxis} from "./configure/barCharts/widget-bar-double-yaxi import {widgetBorder} from "./configure/styleWidget/widget-border"; import {widgetDecorateFlowLine} from "./configure/styleWidget/widget-decorate-flow-line"; import {widgetDecoration} from "./configure/styleWidget/widget-decoration"; +import {widgetBarMap} from "./configure/mapCharts/widget-bar-map"; export const widgetTool = [ // type=html类型的组件 @@ -90,4 +91,5 @@ export const widgetTool = [ // widgetInput, widgetFormTime, widgetBarDoubleYaxis, + widgetBarMap ] diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetBarMap.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetBarMap.vue new file mode 100644 index 00000000..e115b7a2 --- /dev/null +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/map/widgetBarMap.vue @@ -0,0 +1,850 @@ + + + diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue index b4688145..685e5b71 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/temp.vue @@ -49,6 +49,7 @@ import widgetBarDoubleYaxisChart from "./bar/widgetBarDoubleYaxisChart.vue"; import widgetDecorateFlowLine from "./styleWidget/widgetDecorateFlowLine.vue"; import widgetBorder from "./styleWidget/widgetBorder.vue"; import widgetDecoration from "./styleWidget/widgetDecoration.vue"; +import widgetBarMap from "./map/widgetBarMap.vue"; export default { name: "WidgetTemp", @@ -92,6 +93,7 @@ export default { //widgetInput, widgetFormTime, widgetBarDoubleYaxisChart, + widgetBarMap }, model: { prop: "value", diff --git a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue index ead97485..322a11bd 100644 --- a/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue +++ b/report-ui/src/views/bigscreenDesigner/designer/widget/widget.vue @@ -56,6 +56,7 @@ import widgetBarDoubleYaxisChart from "./bar/widgetBarDoubleYaxisChart.vue"; import widgetBorder from "./styleWidget/widgetBorder.vue"; import widgetDecorateFlowLine from "./styleWidget/widgetDecorateFlowLine.vue"; import widgetDecoration from "./styleWidget/widgetDecoration.vue"; +import widgetBarMap from "./map/widgetBarMap.vue"; export default { name: "Widget", @@ -99,6 +100,7 @@ export default { //widgetInput, widgetFormTime, widgetBarDoubleYaxisChart, + widgetBarMap }, model: { prop: "value",