中扬CRM客户关系管理系统
whycq
2023-12-15 a7ba113f05b0b32adbab8bd2c603d31d543a0699
src/main/webapp/views/BI/index.html
@@ -23,8 +23,9 @@
    });
</script>
<script type="text/javascript" src="../../static/js/echarts/echarts.min.js"></script>
<script language="JavaScript" src="../../static/js/BI/js.js"></script>
<!--<script language="JavaScript" src="../../static/js/BI/js.js"></script>-->
<script type="text/javascript" src="../../static/js/common.js" charset="utf-8"></script>
<script src="../../static/js/handlebars/handlebars-v4.5.3.js"></script>
<body>
<div class="canvas" style="opacity: .2">
    <iframe frameborder="0" src="./bg-index.html" style="width: 100%; height: 100%"></iframe>
@@ -61,94 +62,42 @@
                <div class="swiper-head-item">审核员:梁昌民</div>
                <div class="swiper-head-item">待审核项目</div>
            </div>
            <div class="swiper">
                <div class="swiper-wrapper">
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
            <div style="display: flex;height: 81%">
                <!--业务员滚动-->
                <div style="flex: 1;">
                    <div id="swiper1" class="swiper" style="height: 100%;">
                        <div id="box1" class="swiper-wrapper">
                            <div class="swiper-slide">
                                <div class="swiper-item" style="">
                                    <div class="swiper-item-item">${k.userId$}</div>
                                </div>
                            </div>
                        </div>
                    </div>
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
                            </div>
                        </div>
                    </div>
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
                            </div>
                        </div>
                    </div>
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
                            </div>
                        </div>
                    </div>
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
                            </div>
                        </div>
                    </div>
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
                            </div>
                        </div>
                    </div>
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">张双龙</div>
                            <div class="swiper-item-item">1</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">20</span>
                            </div>
                        </div>
                    </div>
                </div>
                <!--中间区域-->
                <div style="flex: 1;" ></div>
                <!--<div></div>-->
                <!--待审核项目总数-->
                <div style="flex: 1;" id="innder">3</div>
            </div>
            <div class="boxfoot"></div>
        </div>
        <div class="boxall" style="width: 49.7%;height: 3.2rem">
            <div class="alltitle">待规划项目</div>
            <div class="swiper-head">
                <div class="swiper-head-item">规划员</div>
                <div class="swiper-head-item" id="planId">规划员</div>
                <div class="swiper-head-item">规划中业务员</div>
                <div class="swiper-head-item">待规划总数</div>
            </div>
            <div class="swiper">
                <div class="swiper-wrapper">
                    <div class="swiper-slide">
                        <div class="swiper-item">
                            <div class="swiper-item-item">史喜超</div>
                            <div class="swiper-item-item">张卢,张双龙,刘青</div>
                            <div class="swiper-item-item">
                                <span class="swiper-item-lable">5</span>
                            </div>
                        </div>
                    </div>
            <div id="swiper2" class="swiper">
                <div id="box2" class="swiper-wrapper">
                </div>
            </div>
            <div class="boxfoot"></div>
@@ -166,38 +115,382 @@
    </div>
</div>
<div class="back"></div>
<script type="text/javascript" src="../../static/js/BI/china.js"></script>
<!--<script type="text/javascript" src="../../static/js/BI/area_echarts.js"></script>-->
<script src="../../static/swiper/swiper-bundle.min.js"></script>
<script>
    var mySwiper = new Swiper('.swiper', {
        direction: 'vertical',
        grabCursor: true,
        loop: true,
        slidesPerView: 5,
        slidesPerGroup: 1,
        loopedSlides: 5,
        speed: 1000,
        autoplay: {
            delay: 3000,//1秒切换一次
        },
    })
    setTimeout(()=>{
        getPending()
    },1000)
    let getPending = function() {
        getPendingApproval()
        getPendingUser()
        getAllPlan()
        getSumyear()
    },0)
    /*
    *  待审核项目
    * */
    let getPendingApproval = function() {
        $.ajax({
            url: baseUrl + "/pending/approval/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'GET',
            success(res){
                console.log(res)
                for(let k in res.data) {
                let newList = '', count = 0;
                for (let k of res.data) {
                    let list = `<div class="swiper-slide">
                                    <div class="swiper-item" >
                                        <div class="swiper-item-item">${k.userId$}</div>
                                    </div>
                                </div>`
                    newList = newList + list
                    count = count + k.count
                }
                $("#box1").html(newList)
                $("#innder").html(count)
                runder()
            }
        })
    }
    /*
    *   待规划项目
    * */
    let getPendingUser = function() {
        $.ajax({
            url: baseUrl + "/pending/user/approval/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'GET',
            success(res){
                //console.log(res)
                let newList = ''
                let len = res.data.length
                for (let k of res.data) {
                    let list = `<div class="swiper-slide">
                                    <div class="swiper-item" style="border-bottom: 1px solid #dedede">
                                        <div class="swiper-item-item">${k.user}</div>
                                        <div class="swiper-item-item">${k.value}</div>
                                        <div class="swiper-item-item">
                                            <span class="swiper-item-lable">${k.anfme}</span>
                                        </div>
                                    </div>
                                </div>`
                    newList = newList + list
                }
                $("#box2").html(newList)
                $("#planId").html(`规划员(${len})人`)
                runder2()
            }
        })
    }
    function runder() {
        var mySwiper = new Swiper('#swiper1', {
            direction: 'vertical',
            grabCursor: true,
            loop: true,
            slidesPerView: 5,
            slidesPerGroup: 1,
            loopedSlides: 5,
            speed: 1000,
            autoplay: {
                delay: 3000,//1秒切换一次
            },
        })
    }
    function runder2() {
        var mySwiper = new Swiper('#swiper2', {
            direction: 'vertical',
            grabCursor: true,
            loop: true,
            slidesPerView: 5,
            slidesPerGroup: 1,
            loopedSlides: 5,
            speed: 1000,
            autoplay: {
                delay: 3000,//1秒切换一次
            },
        })
    }
    let getAllPlan = function() {
        $.ajax({
            url: baseUrl + "/pending/sum/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'GET',
            success(res){
                let monthData = []
                let flag = false
                for (let i = 1; i <= 12; i++) {
                    let data = null
                    for (let k of res.data) {
                        if (k.month == i) {
                            data = k.count
                            flag = true
                            break
                        } else {
                            flag = false
                        }
                    }
                    if (flag) {
                        monthData.push(data)
                    } else {
                        monthData.push(0)
                    }
                }
                option.series[0].data = monthData
                myChart.setOption(option);
                myChart.resize();
            }
        })
    }
    var myChart = echarts.init(document.getElementById('echart4'));
    option = {
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                lineStyle: {
                    color: '#dddc6b'
                }
            }
        },
        legend: {
            top: '0%',
            data: ['规划量'],
            textStyle: {
                color: 'rgba(255,255,255,.5)',
                fontSize: '12',
            }
        },
        grid: {
            left: '10',
            top: '30',
            right: '10',
            bottom: '10',
            containLabel: true
        },
        xAxis: [{
            type: 'category',
            boundaryGap: false,
            axisLabel: {
                textStyle: {
                    color: "rgba(255,255,255,.6)",
                    fontSize: 12,
                },
            },
            axisLine: {
                lineStyle: {
                    color: 'rgba(255,255,255,.2)'
                }
            },
            data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
        }, {
            axisPointer: {show: false},
            axisLine: {show: false},
            position: 'bottom',
            offset: 20,
        }],
        yAxis: [{
            type: 'value',
            axisTick: {show: false},
            axisLine: {
                lineStyle: {
                    color: 'rgba(255,255,255,.1)'
                }
            },
            axisLabel: {
                textStyle: {
                    color: "rgba(255,255,255,.6)",
                    fontSize: 12,
                },
            },
            splitLine: {
                lineStyle: {
                    color: 'rgba(255,255,255,.1)'
                }
            }
        }],
        series: [
            {
                name: '规划量',
                type: 'line',
                smooth: true,
                symbol: 'circle',
                symbolSize: 5,
                //showSymbol: false,
                label: {
                    show: true,
                    position: 'top'
                },
                lineStyle: {
                    normal: {
                        color: '#00d887',
                        width: 2
                    }
                },
                areaStyle: {
                    normal: {
                        color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
                            offset: 0,
                            color: 'rgba(0, 216, 135, 0.4)'
                        }, {
                            offset: 0.8,
                            color: 'rgba(0, 216, 135, 0.1)'
                        }], false),
                        shadowColor: 'rgba(0, 0, 0, 0.1)',
                    }
                },
                itemStyle: {
                    normal: {
                        color: '#00d887',
                        borderColor: 'rgba(221, 220, 107, .1)',
                        borderWidth: 12
                    }
                },
                data: [1,2,3,4,5,6,7,8,9,10,11,12]
            },
        ]
    };
    // 使用刚指定的配置项和数据显示图表。
    window.addEventListener("resize", function () {
        myChart.resize();
    });
    let getSumyear = function() {
        $.ajax({
            url: baseUrl + "/user/sumyear/auth",
            headers: {'token': localStorage.getItem('token')},
            method: 'GET',
            success(res){
                console.log(res)
                let user = []
                let count = []
                for (let k of res.data) {
                    user.push(k.user.username)
                    for (let n of k.obj) {
                        if(n.year == 2023) {
                            count.push(n.count)
                        }
                    }
                }
                option2.xAxis[0].data = user
                option2.series[0].data = count
                myChart2.setOption(option2);
                myChart2.resize();
            }
        })
    }
    var myChart2 = echarts.init(document.getElementById('echart1'));
    option2 = {
        //  backgroundColor: '#00265f',
        tooltip: {
            trigger: 'axis',
            axisPointer: {
                type: 'shadow'
            }
        },
        grid: {
            left: '0%',
            top: '10px',
            right: '0%',
            bottom: '4%',
            containLabel: true
        },
        xAxis: [{
            type: 'category',
            data: ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'],
            axisLine: {
                show: true,
                lineStyle: {
                    color: "rgba(255,255,255,.1)",
                    width: 1,
                    type: "solid"
                },
            },
            axisTick: {
                show: false,
            },
            axisLabel: {
                interval: 0,
                // rotate:50,
                show: true,
                splitNumber: 15,
                textStyle: {
                    color: "rgba(255,255,255,.6)",
                    fontSize: '12',
                },
            },
        }],
        yAxis: [{
            type: 'value',
            axisLabel: {
                //formatter: '{value} %'
                show: true,
                textStyle: {
                    color: "rgba(255,255,255,.6)",
                    fontSize: '12',
                },
            },
            axisTick: {
                show: false,
            },
            axisLine: {
                show: true,
                lineStyle: {
                    color: "rgba(255,255,255,.1   )",
                    width: 1,
                    type: "solid"
                },
            },
            splitLine: {
                lineStyle: {
                    color: "rgba(255,255,255,.1)",
                }
            }
        }],
        series: [
            {
                type: 'bar',
                data: [200, 300, 300, 900, 1500, 1200, 600],
                barWidth: '35%', //柱子宽度
                // barGap: 1, //柱子之间间距
                itemStyle: {
                    normal: {
                        color: '#2f89cf',
                        opacity: 1,
                        barBorderRadius: 5,
                    }
                },
                label: {
                    show: true,
                    position: 'inside'
                },
            }
        ]
    };
    // 使用刚指定的配置项和数据显示图表。
    window.addEventListener("resize", function () {
        myChart2.resize();
    });
</script>
</body>
</html>