<!--
 * @Descripttion: 
 * @version: 
 * @Author: 王三华
 * @Date: 2023-07-24 17:44:22
-->
<!--
 * @Descripttion: 
 * @version: 
 * @Author: 王三华
 * @Date: 2023-05-15 14:38:28
-->
<template>
    <div class="width-auto">
        <view class="titleF">
            <view class="title">
              {{'月度新增业绩对比'}}
            </view>
            <picker :range="selMounthList" :value="index" range-key="label" @change="bindPickerChange">
                <view class="mClass">
                    <view>{{whatMounth}}月</view>
                    <u-icon name="arrow-down" color="#999"></u-icon>
                </view>
    
            </picker>
    
        </view>
        <div class="flex-s">
            <div id="mounthData" style="width: 700rpx;height: 600rpx;" :style="myChartStyle"></div>
        </div>
    </div>
</template>

<script>
import * as echarts from "echarts";

import * as api from '@/config/activity.js'
export default {
    data() {
        return {
            index: 0,
            myChartStyle: {
                float: "center",
                width: "690rpx",
                height: "750rpx",
                paddingTop: "0",
            },
            selMounthList: [{
                value: 1,
                label: '1月',
            }, ],

            whatMounth: '',
            mounthList: [{
                    value: 1,
                    label: '1月',
                },
                {
                    value: 2,
                    label: '2月',
                },
                {
                    value: 3,
                    label: '3月',
                },
                {
                    value: 4,
                    label: '4月',
                },
                {
                    value: 5,
                    label: '5月',
                },
                {
                    value: 6,
                    label: '6月',
                },
                {
                    value: 7,
                    label: '7月',
                },
                {
                    value: 8,
                    label: '8月',
                },
                {
                    value: 9,
                    label: '9月',
                },
                {
                    value: 10,
                    label: '10月',
                },
                {
                    value: 11,
                    label: '11月',
                },
                {
                    value: 12,
                    label: '12月',
                },
            ],
            // margin: "20px",
            //
        }
    },
    mounted() {
        this.getMounth()
        this.upDateCover()
        // this.drawChart()
    },
    methods: {
        bindPickerChange(e) {
            this.whatMounth = e.detail.value + 1
            setTimeout(() => {
                this.upDateCover()
            }, 50)
        },
        // 获取当前月
        getMounth() {
            this.whatMounth = new Date().getMonth() + 1
            let selMounth = []
            this.mounthList.forEach((item) => {
                if (item.value <= this.whatMounth) {
                    selMounth.push(item)
                }
            })
            this.selMounthList = selMounth
        },
        upDateCover() {
            api
                .achieveContrast({
                    monthType: this.whatMounth || this.time
                })
                .then((res) => {
                    let arr1 = res.data.map((item) => {
                        return item.date
                    })
                    let arr2 = res.data.map((item) => {
                        return item.aNewPv
                    })
                    let arr3 = res.data.map((item) => {
                        return item.bNewPv
                    })
                    this.drawChart(arr1, arr2, arr3)
                })
        },
        drawChart(arr1, arr2, arr3) {
            // 基于准备好的dom，初始化echarts实例  这个和上面的main对应
            var myChart = echarts.init(document.getElementById("mounthData"));
            // 指定图表的配置项和数据
            let option = {
                title: {
                    text: '',
                    subtext: '业绩(万)',
                },
                tooltip: {},
                legend: {
                    top: 'bottom',
                    bottom: '5%',
                    data: ['左区', '右区'],
                },
                xAxis: {
                    data: arr1,
                    axisTick: {
                        show: false,
                    },
                },
                yAxis: {
                    splitLine: {
                        show: true,
                        lineStyle: {
                            type: 'dashed',
                        },
                    },
                },
                series: [{
                        name: '左区',
                        type: 'bar',
                        data: arr2,
                        itemStyle: {
                            normal: {
                                barBorderRadius: [10, 10, 0, 0],
                                color: '#FE4C4B',
                            },
                        },
                    },
                    {
                        name: '右区',
                        type: 'bar',
                        data: arr3,
                        itemStyle: {
                            normal: {
                                barBorderRadius: [10, 10, 0, 0],
                                color: '#FFAE36',
                            },
                        },
                    },
                ],
            }
            // 使用刚指定的配置项和数据显示图表。
            myChart.setOption(option)
        },
    },
}
</script>

<style scoped lang="scss">
.width-auto {
    width: 100%;
    position: relative;
    height: 950rpx;
    background-color: #fff;
    width: 690rpx;
    border-radius: 20rpx;
    margin: 20rpx auto;
}

.title {
    
    height: 80rpx;
    line-height: 80rpx;
    
    margin-top: 10rpx;
}

::v-deep .el-select .el-input .el-select__caret {
    color: #333;
}

.lines {
    width: 2px;
    height: 470px;
    opacity: 1;
    background: #979797;
    position: absolute;
    bottom: 50px;
    left: 50%;
    margin-left: -110px;
}

.right-lines {
    position: absolute;
    right: 80px;
    top: 140px;
    color: #999;
    font-size: 12px;
}

.item-s {
    padding-bottom: 10px;
    display: flex;
    line-height: 24px;
}

.bg-color {
    width: 40px;
    height: 22px;
    border-radius: 2px;
    margin-left: 5px;
}

.flex-s {
    // display: flex;
    // justify-content: center;
    // align-items: center;
    // width: 700px;
    padding: 0 20rpx;
}

.styles {
    position: absolute;
    right: -30px;
    z-index: 111;
    top: 60px;
    /*background: rgba(0,0,0,0.05);*/
    /*border-radius: 4px 4px 4px 4px;*/
}

::v-deep .el-select .el-input__inner {
    border: none;
    background: rgba(0, 0, 0, 0.05);
}
.titleF{
  display: flex;
  border-bottom: 10rpx solid #f3f3f3;
  align-items: center;
  justify-content: space-between;
  padding: 20rpx 30rpx;
}
.mClass {
    display: flex;
}
</style>