diff --git a/src/views/boardGenerate/index1.vue b/src/views/boardGenerate/index1.vue index deb74d8..3c0472f 100644 --- a/src/views/boardGenerate/index1.vue +++ b/src/views/boardGenerate/index1.vue @@ -559,17 +559,184 @@
- + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -583,7 +750,7 @@ - + 配置表格 @@ -1260,6 +1427,7 @@ const logEvent = async (eventname, event) => { nodeAttrForm.value = event.node.data.options; nodeDataForm.value = event.node; customDataForm.value = event.node.data.customData; + console.log(nodeDataForm.value); break; case 'nodeDrag': console.log(event.nodes); diff --git a/src/views/boardGenerate/nodes/board/backgroundBarNode.vue b/src/views/boardGenerate/nodes/board/backgroundBarNode.vue index dd008bc..cc8157a 100644 --- a/src/views/boardGenerate/nodes/board/backgroundBarNode.vue +++ b/src/views/boardGenerate/nodes/board/backgroundBarNode.vue @@ -103,57 +103,76 @@ const defaultOption = { xAxis: [ { name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', type: 'category', + boundaryGap: props.data?.options?.boundaryGap || false, axisLine: { + show: props.data?.options?.xAxisLineShow || false, lineStyle: { - color: '#DCE2E8' + color: props.data?.options?.xAxisLineColor || '#DCE2E8' } }, axisTick: { - show: true - }, - axisLabel: { - interval: 0, - textStyle: { - color: '#fff' - }, - // 默认x轴字体大小 - fontSize: 12, - // margin:文字到x轴的距离 - margin: 3 - }, - axisPointer: { - label: { - padding: [0, 0, 0, 0], - margin: 0, - // 移入时的字体大小 - fontSize: 12 + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' } }, - boundaryGap: true + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' + } + } } ], yAxis: [ { name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', type: 'value', - axisTick: { - show: false - }, axisLine: { - show: true, + show: props.data?.options?.yAxisLineShow || false, lineStyle: { - color: '#fff' + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' } }, axisLabel: { - textStyle: { - color: '#fff' - } + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 }, splitLine: { - show: false - } + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } + }, } ], series: [ @@ -161,19 +180,11 @@ const defaultOption = { type: 'bar', showBackground: true, backgroundStyle: { - color: 'rgba(180, 180, 180, 0.2)' + color: props.data?.options?.backgroundColor || 'rgba(180, 180, 180, 0.2)' }, itemStyle: { normal: { - color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{ - offset: 0, - color: '#0372FF' - }, - { - offset: 1, - color: '#75ECFF' - } - ]) + color: '#0372FF' } }, barMaxWidth: 50, @@ -205,25 +216,87 @@ const getOption = () => { bottom: options?.gridBottom + '%' || '20%', right: options?.gridRight + '%' || '20%' }, - xAxis: [ - { - name: options?.xName || '' - } - ], - yAxis: [ - { - name: options?.yName || '' - } - ], - series: [ - { - backgroundStyle: { - color: options?.backgroundColor || 'rgba(180, 180, 180, 0.2)' + xAxis: [ + { + name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', + boundaryGap: props.data?.options?.boundaryGap || false, + axisLine: { + show: props.data?.options?.xAxisLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' + } + }, + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' } } - ] - } - ; + } + ], + yAxis: [ + { + name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', + axisLine: { + show: props.data?.options?.yAxisLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' + } + }, + axisLabel: { + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } + } + } + ], + series: [ + { + backgroundStyle: { + color: options?.backgroundColor || 'rgba(180, 180, 180, 0.2)' + } + } + ] + }; let xData = [data?.x1 || []]; let yData = [data?.y1 || []]; let length = Math.min(...xData.map(e => e.length), ...yData.map(e => e.length)); diff --git a/src/views/boardGenerate/nodes/board/barNode.vue b/src/views/boardGenerate/nodes/board/barNode.vue index a65ac90..f52d22f 100644 --- a/src/views/boardGenerate/nodes/board/barNode.vue +++ b/src/views/boardGenerate/nodes/board/barNode.vue @@ -103,57 +103,76 @@ const defaultOption = { xAxis: [ { name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', type: 'category', + boundaryGap: props.data?.options?.boundaryGap || false, axisLine: { + show: props.data?.options?.xAxisLineShow || false, lineStyle: { - color: '#DCE2E8' + color: props.data?.options?.xAxisLineColor || '#DCE2E8' } }, axisTick: { - show: true - }, - axisLabel: { - interval: 0, - textStyle: { - color: '#fff' - }, - // 默认x轴字体大小 - fontSize: 12, - // margin:文字到x轴的距离 - margin: 3 - }, - axisPointer: { - label: { - padding: [0, 0, 0, 0], - margin: 0, - // 移入时的字体大小 - fontSize: 12 + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' } }, - boundaryGap: true + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' + } + } } ], yAxis: [ { name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', type: 'value', - axisTick: { - show: false - }, axisLine: { - show: true, + show: props.data?.options?.yAxisLineShow || false, lineStyle: { - color: '#fff' + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' } }, axisLabel: { - textStyle: { - color: '#fff' - } + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 }, splitLine: { - show: false - } + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } + }, } ], series: [ diff --git a/src/views/boardGenerate/nodes/board/curveNode.vue b/src/views/boardGenerate/nodes/board/curveNode.vue index 7445458..3ff3b7d 100644 --- a/src/views/boardGenerate/nodes/board/curveNode.vue +++ b/src/views/boardGenerate/nodes/board/curveNode.vue @@ -103,67 +103,86 @@ const defaultOption = { xAxis: [ { name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', type: 'category', + boundaryGap: props.data?.options?.boundaryGap || false, axisLine: { + show: props.data?.options?.xAxisLineShow || false, lineStyle: { - color: '#DCE2E8' + color: props.data?.options?.xAxisLineColor || '#DCE2E8' } }, axisTick: { - show: true - }, - axisLabel: { - interval: 0, - textStyle: { - color: '#fff' - }, - // 默认x轴字体大小 - fontSize: 12, - // margin:文字到x轴的距离 - margin: 3 - }, - axisPointer: { - label: { - padding: [0, 0, 0, 0], - margin: 0, - // 移入时的字体大小 - fontSize: 12 + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' } }, - boundaryGap: true + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' + } + } } ], yAxis: [ { name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', type: 'value', - axisTick: { - show: false - }, axisLine: { - show: true, + show: props.data?.options?.yAxisLineShow || false, lineStyle: { - color: '#fff' + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' } }, axisLabel: { - textStyle: { - color: '#fff' - } + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 }, splitLine: { - show: false - } + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } + }, } ], series: [ { type: 'line', - symbolSize: 1, - symbol: 'circle', + showSymbol: props.data?.options?.lineSymbolShow || false, + symbolSize: props.data?.options?.lineSymbolSize || 5, + symbol: props.data?.options?.lineSymbolType || 'circle', smooth: true, yAxisIndex: 0, - showSymbol: false, lineStyle: { width: 1, color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ @@ -208,12 +227,82 @@ const getOption = () => { }, xAxis: [ { - name: props.data?.options?.xName || '' + name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', + boundaryGap: props.data?.options?.boundaryGap || false, + axisLine: { + show: props.data?.options?.xAxisLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' + } + }, + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' + } + } } ], yAxis: [ { - name: props.data?.options?.yName || '' + name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', + axisLine: { + show: props.data?.options?.yAxisLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' + } + }, + axisLabel: { + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } + } + } + ], + series: [ + { + showSymbol: props.data?.options?.lineSymbolShow || false, + symbolSize: props.data?.options?.lineSymbolSize || 5, + symbol: props.data?.options?.lineSymbolType || 'circle' } ] }; diff --git a/src/views/boardGenerate/nodes/board/lineNode.vue b/src/views/boardGenerate/nodes/board/lineNode.vue index 2eeb1a1..ca36207 100644 --- a/src/views/boardGenerate/nodes/board/lineNode.vue +++ b/src/views/boardGenerate/nodes/board/lineNode.vue @@ -48,7 +48,7 @@ const props = defineProps({ }); const chartRef = ref(); let chart = null; -const colorList = ['#9E87FF', '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']; +const colorList = ref(['#9E87FF', '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']); const defaultOption = { title: { text: props.data.options.title || '', @@ -114,6 +114,7 @@ const defaultOption = { }, axisTick: { show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, lineStyle: { color: props.data?.options?.xAxisTickColor || '#DCE2E8' } @@ -140,6 +141,7 @@ const defaultOption = { yAxis: [ { name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', type: 'value', axisLine: { show: props.data?.options?.yAxisLineShow || false, @@ -149,6 +151,7 @@ const defaultOption = { }, axisTick: { show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, lineStyle: { color: props.data?.options?.yAxisTickColor || '#DCE2E8' } @@ -175,31 +178,23 @@ const defaultOption = { series: [ { type: 'line', - symbolSize: 1, - symbol: 'circle', + showSymbol: props.data?.options?.lineSymbolShow || false, + symbolSize: props.data?.options?.lineSymbolSize || 5, + symbol: props.data?.options?.lineSymbolType || 'circle', smooth: false, yAxisIndex: 0, - showSymbol: false, lineStyle: { width: 1, - color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ - { - offset: 0, - color: '#9effff' - }, - { - offset: 1, - color: '#9E87FF' - } - ]), + color: colorList.value[0], shadowColor: 'rgba(158,135,255, 0.3)', shadowBlur: 10, shadowOffsetY: 20 }, itemStyle: { normal: { - color: colorList[0], - borderColor: colorList[0] + color: colorList.value[0], + borderColor: colorList.value[0], + borderWidth: 1 } } } @@ -224,12 +219,82 @@ const getOption = () => { }, xAxis: [ { - name: props.data?.options?.xName || '' + name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', + boundaryGap: props.data?.options?.boundaryGap || false, + axisLine: { + show: props.data?.options?.xAxisLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' + } + }, + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' + } + } } ], yAxis: [ { - name: props.data?.options?.yName || '' + name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', + axisLine: { + show: props.data?.options?.yAxisLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' + } + }, + axisLabel: { + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } + } + } + ], + series: [ + { + showSymbol: props.data?.options?.lineSymbolShow || false, + symbolSize: props.data?.options?.lineSymbolSize || 5, + symbol: props.data?.options?.lineSymbolType || 'circle' } ] }; diff --git a/src/views/boardGenerate/nodes/board/multiLinesNode.vue b/src/views/boardGenerate/nodes/board/multiLinesNode.vue index 70e0c93..dad90c8 100644 --- a/src/views/boardGenerate/nodes/board/multiLinesNode.vue +++ b/src/views/boardGenerate/nodes/board/multiLinesNode.vue @@ -48,7 +48,7 @@ const props = defineProps({ }); const chartRef = ref(); let chart = null; -const colorList = ['#9E87FF', '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']; +const colorList = ref(['#9E87FF', '#73DDFF', '#fe9a8b', '#F56948', '#9E87FF']); const sortData = (data) => { let obj = []; Object.keys(data).forEach((key) => { @@ -76,7 +76,7 @@ const getOption = () => { top: '5%' }, legend: { - show:props.data?.options?.legend||false, + show: props.data?.options?.legend || false, icon: 'circle', top: '5%', right: '5%', @@ -87,7 +87,7 @@ const getOption = () => { } }, tooltip: { - show:props.data?.options?.tooltip||false, + show: props.data?.options?.tooltip || false, trigger: 'axis', axisPointer: { label: { @@ -115,84 +115,96 @@ const getOption = () => { }, xAxis: [ { + name: props.data?.options?.xName || '', + nameLocation: props.data?.options?.xNameLocation || 'end', type: 'category', + boundaryGap: props.data?.options?.boundaryGap || false, axisLine: { + show: props.data?.options?.xAxisLineShow || false, lineStyle: { - color: '#DCE2E8' + color: props.data?.options?.xAxisLineColor || '#DCE2E8' } }, axisTick: { - show: true - }, - axisLabel: { - interval: 0, - textStyle: { - color: '#fff' - }, - // 默认x轴字体大小 - fontSize: 12, - // margin:文字到x轴的距离 - margin: 3 - }, - axisPointer: { - label: { - padding: [0, 0, 0, 0], - margin: 0, - // 移入时的字体大小 - fontSize: 12 + show: props.data?.options?.xAxisTickShow || false, + inside: props.data?.options?.xAxisTickInside || false, + lineStyle: { + color: props.data?.options?.xAxisTickColor || '#DCE2E8' } }, - boundaryGap: true + axisLabel: { + show: props.data?.options?.xAxisLabelShow || false, + interval: props.data?.options?.xAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.xAxisLabelInside || false, + formatter: props.data?.options?.xAxisLabelFormatter || null, + rotate: props.data?.options?.xAxisLabelRotate || 0, + color: props.data?.options?.xAxisLabelColor || '#fff', + fontSize: props.data?.options?.xAxisLabelFontSize || 12, + margin: props.data?.options?.xAxisLabelMargin || 3 + }, + splitLine: { + show: props.data?.options?.xAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.xAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.xAxisSplitLineType || 'solid' + } + } } ], yAxis: { + name: props.data?.options?.yName || '', + nameLocation: props.data?.options?.yNameLocation || 'end', type: 'value', - axisTick: { - show: false - }, axisLine: { - show: true, + show: props.data?.options?.yAxisLineShow || false, lineStyle: { - color: '#fff' + color: props.data?.options?.yAxisLineColor || '#DCE2E8' + } + }, + axisTick: { + show: props.data?.options?.yAxisTickShow || false, + inside: props.data?.options?.yAxisTickInside || false, + lineStyle: { + color: props.data?.options?.yAxisTickColor || '#DCE2E8' } }, axisLabel: { - textStyle: { - color: '#fff' - } + show: props.data?.options?.yAxisLabelShow || false, + interval: props.data?.options?.yAxisLabelInterval ? 0 : 'auto', + inside: props.data?.options?.yAxisLabelInside || false, + formatter: props.data?.options?.yAxisLabelFormatter || null, + rotate: props.data?.options?.yAxisLabelRotate || 0, + color: props.data?.options?.yAxisLabelColor || '#fff', + fontSize: props.data?.options?.yAxisLabelFontSize || 12, + margin: props.data?.options?.yAxisLabelMargin || 3 }, splitLine: { - show: false + show: props.data?.options?.yAxisSplitLineShow || false, + lineStyle: { + color: props.data?.options?.yAxisSplitLineColor || '#DCE2E8', + type: props.data?.options?.yAxisSplitLineType || 'solid' + } } }, series: props.data.options?.yNames.map(() => { return { type: 'line', - symbolSize: 1, - symbol: 'circle', + showSymbol: props.data?.options?.lineSymbolShow || false, + symbolSize: props.data?.options?.lineSymbolSize || 5, + symbol: props.data?.options?.lineSymbolType || 'circle', smooth: false, yAxisIndex: 0, - showSymbol: false, lineStyle: { width: 1, - color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [ - { - offset: 0, - color: '#9effff' - }, - { - offset: 1, - color: '#9E87FF' - } - ]), + color: colorList.value[0], shadowColor: 'rgba(158,135,255, 0.3)', shadowBlur: 10, shadowOffsetY: 20 }, itemStyle: { normal: { - color: colorList[0], - borderColor: colorList[0] + color: colorList.value[0], + borderColor: colorList.value[0] } } }; diff --git a/src/views/boardGenerate/tool.js b/src/views/boardGenerate/tool.js index 804c01c..c92f23c 100644 --- a/src/views/boardGenerate/tool.js +++ b/src/views/boardGenerate/tool.js @@ -17,12 +17,13 @@ const getOption = (e) => { gridLeft: 5, gridBottom: 10, gridRight: 10, + boundaryGap: true, xName: '', xNameLocation: 'end', xAxisLineShow: true, - boundaryGap: true, xAxisLineColor: '#DCE2E8', xAxisTickShow: true, + xAxisTickInside: false, xAxisTickColor: '#DCE2E8', xAxisLabelShow: true, xAxisLabelInterval: false, @@ -36,6 +37,26 @@ const getOption = (e) => { xAxisSplitLineColor: '#DCE2E8', xAxisSplitLineType: 'solid', yName: '', + yNameLocation: 'end', + yAxisLineShow: true, + yAxisLineColor: '#DCE2E8', + yAxisTickShow: true, + yAxisTickInside: false, + yAxisTickColor: '#DCE2E8', + yAxisLabelShow: true, + yAxisLabelInterval: false, + yAxisLabelInside: false, + yAxisLabelRotate: 0, + yAxisLabelFormatter: '', + yAxisLabelColor: '#fff', + yAxisLabelFontSize: 12, + yAxisLabelMargin: 3, + yAxisSplitLineShow: false, + yAxisSplitLineColor: '#DCE2E8', + yAxisSplitLineType: 'solid', + lineSymbolShow: false, + lineSymbolSize: 5, + lineSymbolType: 'circle', tooltip: true, legend: true }; @@ -47,8 +68,43 @@ const getOption = (e) => { gridLeft: 5, gridBottom: 10, gridRight: 10, + boundaryGap: true, xName: '', + xNameLocation: 'end', + xAxisLineShow: true, + xAxisLineColor: '#DCE2E8', + xAxisTickShow: true, + xAxisTickInside: false, + xAxisTickColor: '#DCE2E8', + xAxisLabelShow: true, + xAxisLabelInterval: false, + xAxisLabelInside: false, + xAxisLabelRotate: 0, + xAxisLabelFormatter: '', + xAxisLabelColor: '#fff', + xAxisLabelFontSize: 12, + xAxisLabelMargin: 3, + xAxisSplitLineShow: false, + xAxisSplitLineColor: '#DCE2E8', + xAxisSplitLineType: 'solid', yName: '', + yNameLocation: 'end', + yAxisLineShow: true, + yAxisLineColor: '#DCE2E8', + yAxisTickShow: true, + yAxisTickInside: false, + yAxisTickColor: '#DCE2E8', + yAxisLabelShow: true, + yAxisLabelInterval: false, + yAxisLabelInside: false, + yAxisLabelRotate: 0, + yAxisLabelFormatter: '', + yAxisLabelColor: '#fff', + yAxisLabelFontSize: 12, + yAxisLabelMargin: 3, + yAxisSplitLineShow: false, + yAxisSplitLineColor: '#DCE2E8', + yAxisSplitLineType: 'solid', tooltip: true, legend: true }; @@ -60,8 +116,43 @@ const getOption = (e) => { gridLeft: 5, gridBottom: 10, gridRight: 10, + boundaryGap: true, xName: '', + xNameLocation: 'end', + xAxisLineShow: true, + xAxisLineColor: '#DCE2E8', + xAxisTickShow: true, + xAxisTickInside: false, + xAxisTickColor: '#DCE2E8', + xAxisLabelShow: true, + xAxisLabelInterval: false, + xAxisLabelInside: false, + xAxisLabelRotate: 0, + xAxisLabelFormatter: '', + xAxisLabelColor: '#fff', + xAxisLabelFontSize: 12, + xAxisLabelMargin: 3, + xAxisSplitLineShow: false, + xAxisSplitLineColor: '#DCE2E8', + xAxisSplitLineType: 'solid', yName: '', + yNameLocation: 'end', + yAxisLineShow: true, + yAxisLineColor: '#DCE2E8', + yAxisTickShow: true, + yAxisTickInside: false, + yAxisTickColor: '#DCE2E8', + yAxisLabelShow: true, + yAxisLabelInterval: false, + yAxisLabelInside: false, + yAxisLabelRotate: 0, + yAxisLabelFormatter: '', + yAxisLabelColor: '#fff', + yAxisLabelFontSize: 12, + yAxisLabelMargin: 3, + yAxisSplitLineShow: false, + yAxisSplitLineColor: '#DCE2E8', + yAxisSplitLineType: 'solid', tooltip: true, legend: true, backgroundColor: 'rgba(180, 180, 180, 0.2)' @@ -74,8 +165,46 @@ const getOption = (e) => { gridLeft: 5, gridBottom: 10, gridRight: 10, + boundaryGap: true, xName: '', + xNameLocation: 'end', + xAxisLineShow: true, + xAxisLineColor: '#DCE2E8', + xAxisTickShow: true, + xAxisTickInside: false, + xAxisTickColor: '#DCE2E8', + xAxisLabelShow: true, + xAxisLabelInterval: false, + xAxisLabelInside: false, + xAxisLabelRotate: 0, + xAxisLabelFormatter: '', + xAxisLabelColor: '#fff', + xAxisLabelFontSize: 12, + xAxisLabelMargin: 3, + xAxisSplitLineShow: false, + xAxisSplitLineColor: '#DCE2E8', + xAxisSplitLineType: 'solid', yName: '', + yNameLocation: 'end', + yAxisLineShow: true, + yAxisLineColor: '#DCE2E8', + yAxisTickShow: true, + yAxisTickInside: false, + yAxisTickColor: '#DCE2E8', + yAxisLabelShow: true, + yAxisLabelInterval: false, + yAxisLabelInside: false, + yAxisLabelRotate: 0, + yAxisLabelFormatter: '', + yAxisLabelColor: '#fff', + yAxisLabelFontSize: 12, + yAxisLabelMargin: 3, + yAxisSplitLineShow: false, + yAxisSplitLineColor: '#DCE2E8', + yAxisSplitLineType: 'solid', + lineSymbolShow: false, + lineSymbolSize: 5, + lineSymbolType: 'circle', tooltip: true, legend: true }; @@ -88,7 +217,44 @@ const getOption = (e) => { gridBottom: 10, gridRight: 10, xName: '', + xNameLocation: 'end', + xAxisLineShow: true, + xAxisLineColor: '#DCE2E8', + xAxisTickShow: true, + xAxisTickInside: false, + xAxisTickColor: '#DCE2E8', + xAxisLabelShow: true, + xAxisLabelInterval: false, + xAxisLabelInside: false, + xAxisLabelRotate: 0, + xAxisLabelFormatter: '', + xAxisLabelColor: '#fff', + xAxisLabelFontSize: 12, + xAxisLabelMargin: 3, + xAxisSplitLineShow: false, + xAxisSplitLineColor: '#DCE2E8', + xAxisSplitLineType: 'solid', yName: '', + yNameLocation: 'end', + yAxisLineShow: true, + yAxisLineColor: '#DCE2E8', + yAxisTickShow: true, + yAxisTickInside: false, + yAxisTickColor: '#DCE2E8', + yAxisLabelShow: true, + yAxisLabelInterval: false, + yAxisLabelInside: false, + yAxisLabelRotate: 0, + yAxisLabelFormatter: '', + yAxisLabelColor: '#fff', + yAxisLabelFontSize: 12, + yAxisLabelMargin: 3, + yAxisSplitLineShow: false, + yAxisSplitLineColor: '#DCE2E8', + yAxisSplitLineType: 'solid', + lineSymbolShow: false, + lineSymbolSize: 5, + lineSymbolType: 'circle', tooltip: true, legend: true };