// 配置版本号 const version = '2023091901' // 标题 const title = '3D分组柱状图' // 用于标识,唯一,和文件夹名称一致 const name = '3D分组柱状图' // 右侧配置项 const setting = [ { label: '维度', type: 'select', // 设置组件类型 field: 'xField', // 字段 optionField: 'xField', // 对应options中的字段 // 是否多选 multiple: false, value: '', tabName: 'data' }, { label: '指标', type: 'select', // 设置组件类型 field: 'yField', // 字段 optionField: 'yField', // 对应options中的字段 // 是否多选 multiple: false, value: '', tabName: 'data' }, { label: '分组字段', type: 'select', // 设置组件类型 field: 'seriesField', // 字段 optionField: 'seriesField', // 对应options中的字段 // 是否多选 multiple: false, value: '', tabName: 'data' }, { label: '柱子宽度', type: 'inputNumber', // 设置组件类型 field: 'seriesCustom_barWidth', // 字段 optionField: 'seriesCustom.barWidth', // 对应options中的字段 value: 20, tabName: 'custom', groupName: 'graph' }, { label: '柱子顶部颜色', // 设置组件类型 type: 'colorSelect', // 字段 field: 'seriesCustom_barTopColor', // 对应options中的字段 optionField: 'seriesCustom.barTopColor', value: ['#0e4481', '#1e637b', '#5D7092', '#F6BD16', '#6F5EF9', '#6DC8EC', '#945FB9', '#FF9845', '#1E9493', '#FF99C3'], tabName: 'custom', groupName: 'graph' }, { label: '柱子颜色', // 设置组件类型 type: 'colorSelect', // 字段 field: 'seriesCustom_barColor', // 对应options中的字段 optionField: 'seriesCustom.barColor', value: ['#1370a7', '#4ebebe', '#3864ab', '#9c9c46', '#a6404b', '#ac582c', '#719c33', '#945FB9', '#FF9845', '#1E9493'], tabName: 'custom', groupName: 'graph' }, { label: '柱子底部颜色', // 设置组件类型 type: 'colorSelect', // 字段 field: 'seriesCustom_barBottomColor', // 对应options中的字段 optionField: 'seriesCustom.barBottomColor', value: ['#0998d9', '#2ec6ad', '#6F5EF9', '#6DC8EC', '#945FB9', '#FF9845', '#1E9493', '#FF99C3', '#5B8FF9', '#61DDAA'], tabName: 'custom', groupName: 'graph' }, { label: '阴影柱子颜色', // 设置组件类型 type: 'colorSelect', // 字段 field: 'seriesCustom_shadowColor', // 对应options中的字段 optionField: 'seriesCustom.shadowColor', value: ['#082442', '#0e2e3c', '#082442', '#0e2e3c', '#082442', '#0e2e3c', '#082442', '#0e2e3c', '#082442', '#0e2e3c'], tabName: 'custom', groupName: 'graph' }, { label: '阴影柱子顶部颜色', // 设置组件类型 type: 'colorSelect', // 字段 field: 'seriesCustom_shadowTopColor', // 对应options中的字段 optionField: 'seriesCustom.shadowTopColor', value: ['#0e4481', '#1e637b', '#5D7092', '#F6BD16', '#6F5EF9', '#6DC8EC', '#945FB9', '#FF9845', '#1E9493', '#FF99C3'], tabName: 'custom', groupName: 'graph' }, { label: '底部阴影颜色', // 设置组件类型 type: 'colorPicker', // 字段 field: 'graphic_children_style_fill', // 对应options中的字段 optionField: 'graphic.children.style.fill', value: '#3f4867', tabName: 'custom', groupName: 'graph' }, { label: '数据标签', type: 'switch', // 设置组件类型 field: 'series_barColor_label_show', // 字段 optionField: 'series.barColor.label.show', // 对应options中的字段 value: 0, active: 1, inactive: 0, tabName: 'custom', groupName: 'graph' }, { label: '数据标签位置', type: 'select', // 设置组件类型 field: 'series_barColor_label_position', // 字段 optionField: 'series.barColor.label.position', // 对应options中的字段 // 是否多选 multiple: false, value: 'inside', tabName: 'custom', options: [ { label: '顶部', value: 'top' }, { label: '居中', value: 'inside' }, { label: '底部', value: 'bottom' } ], groupName: 'graph' }, { label: '数据标签颜色', type: 'colorPicker', // 设置组件类型 field: 'series_barColor_label_color', // 字段 optionField: 'series.barColor.label.color', // 对应options中的字段 value: '#ffffff', tabName: 'custom', groupName: 'graph' }, { label: '数据标签大小', // 设置组件类型 type: 'inputNumber', // 字段 field: 'series_barColor_label_fontSize', // 对应options中的字段 optionField: 'series.barColor.label.fontSize', value: 12, tabName: 'custom', groupName: 'graph' }, // 网格线 { label: '分隔线', type: 'switch', field: 'yAxis_splitLine_show', optionField: 'yAxis.splitLine.show', value: 0, active: 1, inactive: 0, tabName: 'custom', groupName: 'grid' }, { label: '宽度', type: 'inputNumber', field: 'yAxis_splitLine_lineStyle_width', optionField: 'yAxis.splitLine.lineStyle.width', value: 1, tabName: 'custom', groupName: 'grid' }, { label: '颜色', type: 'colorPicker', field: 'yAxis_splitLine_lineStyle_color', optionField: 'yAxis.splitLine.lineStyle.color', value: '#fff', tabName: 'custom', groupName: 'grid' }, // x轴 xAxis { label: '显示', type: 'switch', field: 'xAxis_show', optionField: 'xAxis.show', value: 0, active: 1, inactive: 0, tabName: 'custom', groupName: 'xAxis' }, { label: '标题', type: 'input', field: 'xAxis_name', optionField: 'xAxis.name', value: '', tabName: 'custom', groupName: 'xAxis' }, { label: '标题位置', type: 'select', field: 'xAxis_nameLocation', optionField: 'xAxis.nameLocation', value: 'start', tabName: 'custom', options: [ { label: '左', value: 'start' }, { label: '中', value: 'center' }, { label: '右', value: 'end' }], groupName: 'xAxis' }, { label: '标题到轴线距离', type: 'inputNumber', field: 'xAxis_nameGap', optionField: 'xAxis.nameGap', value: 10, tabName: 'custom', groupName: 'xAxis' }, { label: '标题字体大小', type: 'inputNumber', field: 'xAxis_nameTextStyle_fontSize', optionField: 'xAxis.nameTextStyle.fontSize', value: 12, tabName: 'custom', groupName: 'xAxis' }, { label: '标题颜色', type: 'colorPicker', field: 'xAxis_nameTextStyle_color', optionField: 'xAxis.nameTextStyle.color', // 是否多选 multiple: false, value: '#8C8C8C', tabName: 'custom', groupName: 'xAxis' }, { label: '轴线显示', type: 'switch', field: 'xAxis_axisLine_show', optionField: 'xAxis.axisLine.show', value: 0, active: 1, inactive: 0, tabName: 'custom', groupName: 'xAxis' }, { label: '轴线颜色', type: 'colorPicker', field: 'xAxis_axisLine_lineStyle_color', optionField: 'xAxis.axisLine.lineStyle.color', // 是否多选 multiple: false, value: '#333', tabName: 'custom', groupName: 'xAxis' }, { label: '轴线宽度', type: 'inputNumber', field: 'xAxis_axisLine_lineStyle_width', optionField: 'xAxis.axisLine.lineStyle.width', value: 1, tabName: 'custom', groupName: 'xAxis' }, { label: '标签显示', type: 'switch', field: 'xAxis_axisLabel_show', optionField: 'xAxis.axisLabel.show', value: 1, active: 1, inactive: 0, tabName: 'custom', groupName: 'xAxis' }, { label: '标签颜色', type: 'colorPicker', field: 'xAxis_axisLabel_textStyle_color', optionField: 'xAxis.axisLabel.textStyle.color', // 是否多选 multiple: false, value: '#8C8C8C', tabName: 'custom', groupName: 'xAxis' }, { label: '标签大小', type: 'inputNumber', field: 'xAxis_axisLabel_textStyle_fontSize', optionField: 'xAxis.axisLabel.textStyle.fontSize', value: 14, tabName: 'custom', groupName: 'xAxis' }, { label: '标签距离', type: 'inputNumber', field: 'xAxis_axisLabel_margin', optionField: 'xAxis.axisLabel.margin', value: 30, tabName: 'custom', groupName: 'xAxis' }, // Y轴 yAxis { label: '显示', type: 'switch', field: 'yAxis_show', optionField: 'yAxis.show', value: 1, active: 1, inactive: 0, tabName: 'custom', groupName: 'yAxis' }, { label: '标题', type: 'input', field: 'yAxis_name', optionField: 'yAxis.name', value: '', tabName: 'custom', groupName: 'yAxis' }, { label: '标题位置', type: 'select', field: 'yAxis_nameLocation', optionField: 'yAxis.nameLocation', value: 'end', tabName: 'custom', options: [ { label: '下', value: 'start' }, { label: '中', value: 'center' }, { label: '上', value: 'end' }], groupName: 'yAxis' }, { label: '标题到轴线距离', type: 'inputNumber', field: 'yAxis_nameGap', optionField: 'yAxis.nameGap', value: 10, tabName: 'custom', groupName: 'yAxis' }, { label: '标题字体大小', type: 'inputNumber', field: 'yAxis_nameTextStyle_fontSize', optionField: 'yAxis.nameTextStyle.fontSize', value: 12, tabName: 'custom', groupName: 'yAxis' }, { label: '标题颜色', type: 'colorPicker', field: 'yAxis_nameTextStyle_color', optionField: 'yAxis.nameTextStyle.color', // 是否多选 multiple: false, value: '#8C8C8C', tabName: 'custom', groupName: 'yAxis' }, { label: '轴线显示', type: 'switch', field: 'yAxis_axisLine_show', optionField: 'yAxis.axisLine.show', value: 1, active: 1, inactive: 0, tabName: 'custom', groupName: 'yAxis' }, { label: '轴线颜色', type: 'colorPicker', field: 'yAxis_axisLine_lineStyle_color', optionField: 'yAxis.axisLine.lineStyle.color', // 是否多选 multiple: false, value: '#333', tabName: 'custom', groupName: 'yAxis' }, { label: '轴线宽度', type: 'inputNumber', field: 'yAxis_axisLine_lineStyle_width', optionField: 'yAxis.axisLine.lineStyle.width', value: 1, tabName: 'custom', groupName: 'yAxis' }, { label: '标签显示', type: 'switch', field: 'yAxis_axisLabel_show', optionField: 'yAxis.axisLabel.show', value: 1, active: 1, inactive: 0, tabName: 'custom', groupName: 'yAxis' }, { label: '标签颜色', type: 'colorPicker', field: 'yAxis_axisLabel_textStyle_color', optionField: 'yAxis.axisLabel.textStyle.color', // 是否多选 multiple: false, value: '#8C8C8C', tabName: 'custom', groupName: 'yAxis' }, { label: '标签大小', type: 'inputNumber', field: 'yAxis_axisLabel_textStyle_fontSize', optionField: 'yAxis.axisLabel.textStyle.fontSize', value: 14, tabName: 'custom', groupName: 'yAxis' }, { label: '标签距离', type: 'inputNumber', field: 'yAxis_axisLabel_margin', optionField: 'yAxis.axisLabel.margin', value: 10, tabName: 'custom', groupName: 'yAxis' }, { label: '刻度显示', type: 'switch', field: 'yAxis_axisTick_show', optionField: 'yAxis.axisTick.show', value: 1, active: 1, inactive: 0, tabName: 'custom', groupName: 'yAxis' }, { label: '刻度颜色', type: 'colorPicker', field: 'yAxis_axisTick_lineStyle_color', optionField: 'yAxis.axisTick.lineStyle.color', // 是否多选 multiple: false, value: '#fff', tabName: 'custom', groupName: 'yAxis' }, { label: '刻度长度', type: 'inputNumber', field: 'yAxis_axisTick_length', optionField: 'yAxis.axisTick.length', // 是否多选 multiple: false, value: 1, tabName: 'custom', groupName: 'yAxis' } ] // 配置处理脚本 const optionHandler = '' // 数据处理脚本 const dataHandler = '' const xData = ['本年话务总量', '本年人工话务量', '每万客户呼入量', '每万客户呼入量' ] const yData1 = [300, 1230, 425, 1200] const yData2 = [400, 400, 400, 1200] const maxData1 = [1500, 1500, 1500, 1500] const maxData2 = [1500, 1500, 1500, 1500] const option = { animation: false, tooltip: { show: true }, grid: { left: '12%', right: '8%', bottom: '20%', z: 100, containLabel: false, show: false }, graphic: { type: 'group', bottom: '10%', left: '7%', z: 100, children: [ { type: 'rect', left: 0, bottom: 0, shape: { width: 418 * 0.9, height: 10 }, style: { fill: '#3f4867' } }, { type: 'polygon', left: 0, bottom: 10, shape: { // 左上、右上、右下、左下 points: [[418 / 10, -320 / 6], [418 - 418 / 6, -320 / 6], [418 * 0.9, 0], [0, 0]] }, style: { fill: '#303256' } } ] }, xAxis: [ { show: true, name: '', nameGap: 10, type: 'category', data: xData, nameTextStyle: { color: '', fontSize: 12 }, nameLocation: '', // 坐标轴刻度设置 axisTick: { show: false, alignWithLabel: true }, // 是否显示坐标轴的轴线 axisLine: { show: false, lineStyle: { color: '#333' } }, // 坐标轴刻度标签 axisLabel: { show: true, textStyle: { fontSize: 10, color: 'rgb(40, 129, 170)' }, margin: 30 } }, { show: false, type: 'category', axisLine: { show: false }, axisTick: { show: false }, axisLabel: { show: false }, splitArea: { show: false }, splitLine: { show: false }, data: xData } ], yAxis: { name: '', nameGap: 10, nameTextStyle: { color: '', fontSize: 12 }, nameLocation: 'end', show: true, type: 'value', axisLabel: { show: true, textStyle: { color: '#fff', fontSize: 12 }, margin: 10 }, axisTick: { show: true, lineStyle: { color: '#fff', width: 1 } }, // 分隔线 splitLine: { show: false, // yAxis.show配置为true时,该配置才有效 lineStyle: { color: '#fff', width: 1 } }, // y轴轴线是否显示 axisLine: { show: true, lineStyle: { color: '#fff' } } }, seriesCustom: { barWidth: 30, // 顶部菱形颜色 barTopColor: ['#2DB1EF', '#2DB1EF'], // barTopColor: '#2DB1EF', // 底部菱形颜色 barBottomColor: ['#187dcb', '#187dcb'], // barBottomColor: '#187dcb', // 柱子颜色 barColor: ['#1db0dd', '#1db0dd'], // barColor: '#1db0dd', // 阴影柱子颜色 shadowColor: ['#041133', '#041133'], // shadowColor: '#041133', // 阴影柱子顶部颜色 shadowTopColor: ['#142f5a', '#142f5a'] // shadowTopColor: '#142f5a' }, series: [ { id: 'barTopColor1', type: 'pictorialBar', tooltip: { show: false }, symbol: 'diamond', symbolSize: [30, 10], symbolOffset: ['-60%', -5], symbolPosition: 'end', z: 15, zlevel: 2, color: 'rgba(2, 175, 249,1)', data: yData1 }, { id: 'barTopColor2', type: 'pictorialBar', tooltip: { show: false }, symbol: 'diamond', symbolSize: [30, 10], symbolOffset: ['60%', -5], symbolPosition: 'end', z: 15, zlevel: 2, color: 'rgba(45, 206, 177,0.9)', data: yData2 }, { id: ' barColor1', type: 'bar', barGap: '20%', barWidth: 30, color: '#115ba6', label: { show: true, position: 'inside', color: '#fff' }, zlevel: 2, z: 12, data: yData1 }, { id: 'barColor2', type: 'bar', // barGap: '60%', barWidth: 30, color: '#73eccd', label: { show: true, position: 'inside', color: '#fff' }, zlevel: 2, z: 12, data: yData2 }, { id: 'barBottomColor1', type: 'pictorialBar', tooltip: { show: false }, symbol: 'diamond', symbolSize: [30, 10], symbolOffset: ['-60%', 5], zlevel: 2, z: 15, color: 'rgb(2, 192, 255)', data: yData1 }, { id: 'barBottomColor2', type: 'pictorialBar', tooltip: { show: false }, symbol: 'diamond', symbolSize: [30, 10], symbolOffset: ['60%', 5], zlevel: 2, z: 15, color: 'S', data: yData2 }, { id: 'shadowColor1', type: 'bar', tooltip: { show: false }, xAxisIndex: 1, barGap: '20%', data: maxData1, zlevel: 1, barWidth: 30, color: 'rgba(9, 44, 76,.8)' }, { id: 'shadowColor2', type: 'bar', tooltip: { show: false }, xAxisIndex: 1, barGap: '20%', data: maxData2, zlevel: 1, barWidth: 30, color: 'rgba(16, 56, 70,.8)' }, { id: 'shadowTopColor1', type: 'pictorialBar', tooltip: { show: false }, symbol: 'diamond', symbolSize: [30, 10], symbolOffset: ['-60%', -5], symbolPosition: 'end', z: 15, color: 'rgb(15, 69, 133)', zlevel: 1, data: maxData1 }, { id: 'shadowTopColor2', type: 'pictorialBar', tooltip: { show: false }, symbol: 'diamond', symbolSize: [30, 10], symbolOffset: ['60%', -5], symbolPosition: 'end', z: 15, color: 'rgb(30, 100, 112)', zlevel: 1, data: maxData2 } ] } export default { version, title, name, option, setting, optionHandler, dataHandler }