<template>
	<view class="charts-box">
		<qiun-data-charts type="mix" :opts="opts" canvas2d :ontouch="true" :chartData="chartData"
			:errorMessage="errorMessage" />
	</view>
</template>

<script>
	export default {
		props: {
			canvasId: {
				type: String,
				default: ''
			}
		},
		data() {
			return {
				errorMessage: '',
        isCanvas2d: process.uniEnv.isCanvas2d,
				chartData: {},
				//这里的 opts 是图表类型 type="mix" 的全部配置参数，您可以将此配置复制到 config-ucharts.js 文件中下标为 ['mix'] 的节点中来覆盖全局默认参数。实际应用过程中 opts 只需传入与全局默认参数中不一致的【某一个属性】即可实现同类型的图表显示不同的样式，达到页面简洁的需求。
				opts: {
					timing: "easeOut",
					duration: 1000,
					rotate: false,
					rotateLock: false,
					color: ["#EEF2FA"],
					padding: [15, 15, 0, 15],
					fontSize: 13,
					fontColor: "#666666",
					dataLabel: false,
					dataPointShape: false,
					dataPointShapeType: "solid",
					touchMoveLimit: 60,
					enableScroll: true,
					enableMarkLine: false,
					legend: {
						show: false,
						position: "bottom",
						float: "center",
						padding: 5,
						margin: 5,
						backgroundColor: "rgba(0,0,0,0)",
						borderColor: "rgba(0,0,0,0)",
						borderWidth: 0,
						fontSize: 13,
						fontColor: "#666666",
						lineHeight: 11,
						hiddenColor: "#CECECE",
						itemGap: 10
					},
					xAxis: {
						disableGrid: true,
						disabled: false,
						axisLine: false,
						axisLineColor: "#CCCCCC",
						calibration: false,
						fontColor: "#666666",
						fontSize: 13,
						lineHeight: 20,
						marginTop: 20,
						rotateLabel: false,
						rotateAngle: 45,
						itemCount: 3,
						boundaryGap: "center",
						splitNumber: 5,
						gridColor: "#CCCCCC",
						gridType: "solid",
						dashLength: 4,
						gridEval: 1,
						scrollShow: false,
						scrollAlign: "left",
						scrollColor: "#A6A6A6",
						scrollBackgroundColor: "#EFEBEF",
						title: "",
						titleFontSize: 13,
						titleOffsetY: 0,
						titleOffsetX: 0,
						titleFontColor: "#666666",
						format: ""
					},
					yAxis: {
						disabled: false,
						disableGrid: true,
						splitNumber: 4,
						gridType: "dash",
						dashLength: 4,
						gridColor: "#CCCCCC",
						padding: 10,
						showTitle: false,
						data: [{
								position: "left",
								title: "折线",
								calibration: false,
								type: "value",
								axisLineColor: "#ffffff"
							},
							{
								position: "right",
								min: 0,
								// max: 99999,
								title: "柱状图",
								textAlign: "left",
								disabled: false,
								axisLineColor: "#FFFFFF"
							},
							{
								position: "right",
								min: 0,
								// max: 99999,
								title: "点",
								textAlign: "left",
								calibration: false,
								disabled: true,
								axisLineColor: "#FFFFFF"
							}
						]
					},
					extra: {
						mix: {
							column: {
								width: 30,
								seriesGap: 2,
								barBorderCircle: false,
								barBorderRadius: [
									5,
									5,
									0,
									0
								],
								linearOpacity: 0.5,
								colorStop: 0
							},
							area: {
								opacity: 0.2,
								gradient: false
							},
							line: {
								width: 2
							}
						},
						tooltip: {
							showBox: true,
							showArrow: true,
							showCategory: false,
							borderWidth: 0,
							borderRadius: 0,
							borderColor: "#000000",
							borderOpacity: 0.7,
							bgColor: "#000000",
							bgOpacity: 0.7,
							gridType: "solid",
							dashLength: 4,
							gridColor: "#CCCCCC",
							boxPadding: 3,
							fontSize: 13,
							lineHeight: 20,
							fontColor: "#FFFFFF",
							legendShow: true,
							legendShape: "auto",
							splitLine: true,
							horizentalLine: false,
							xAxisLabel: false,
							yAxisLabel: false,
							labelBgColor: "#FFFFFF",
							labelBgOpacity: 0.7,
							labelFontColor: "#666666"
						},
						markLine: {
							type: "solid",
							dashLength: 4,
							data: []
						}
					}
				}
			};
		},
		onReady() {
			// this.getServerData();
		},
		methods: {
			getServerData() {

			},
			notServerData() {
				this.chartData = {};
				this.errorMessage = '暂无数据'
			},
			setServerData(data) {
				setTimeout(() => {
					//模拟服务器返回数据，如果数据格式和标准格式不同，需自行按下面的格式拼接
					let res = {
						categories: data.titles,
						series: [{
								name: "金额（男）",
								index: 1,
								type: "column",
								color: "#FFD023",
								data: data.oneMoney
							},
							{
								name: "金额（女）",
								index: 2,
								type: "column",
								color: "#0CAF60",
								data: data.twoMoney
							},
							{
								name: "数量（男）",
								type: "line",
								style: "curve",
								color: "#FFD023",
								disableLegend: true,
								data: data.oneNum
							},
							{
								name: "数量（女）",
								type: "line",
								style: "curve",
								color: "#0CAF60",
								disableLegend: true,
								data: data.twoNum
							}
						]
					};
					this.chartData = JSON.parse(JSON.stringify(res));
				}, 50);
			}
		}
	};
</script>

<style scoped>
	/* 请根据实际需求修改父元素尺寸，组件自动识别宽高 */
	.charts-box {
		width: 100%;
		height: 300px;
	}
</style>