Bladeren bron

对接接口

fengxu 2 jaren geleden
bovenliggende
commit
b9474bda79

+ 1 - 1
cokingCoal/.vscode/settings.json

@@ -1,3 +1,3 @@
 {
-  "liveServer.settings.port": 5501
+  "liveServer.settings.port": 5500
 }

BIN
cokingCoal/images/newImage/data-1619318279159-o6ZbTGoO0.png


BIN
cokingCoal/images/newImage/echarts_bg.png


BIN
cokingCoal/images/newImage/mapBg.png


+ 6 - 6
cokingCoal/index.html

@@ -97,14 +97,14 @@
                         <div class="title_else"><span>人员结构</span></div>
                         <div class="left_main_else">
                             <div class="left_user_top">
-                                <div class="left_user_number">
+                                <div class="left_user_number" v-for="(item,index) in PersonnelResource" :key="index">
                                     <div class="text_box">
-                                        <img src="./images/newImage/user.png" alt="">
-                                        <span class="text_num" style="color: #92B6FF;">213185 <span>人</span></span>
-                                        <span class="text_title">用工总数</span>
+                                        <img :src="item.src" alt="">
+                                        <span class="text_num" :style="{color: item.color}">{{ item.value }} <span>人</span></span>
+                                        <span class="text_title">{{ item.name }}</span>
                                     </div>
                                 </div>
-                                <div class="left_user_number">
+                                <!-- <div class="left_user_number">
                                     <div class="text_box">
                                         <img src="./images/newImage/man.png" alt="">
                                         <span class="text_num" style="color: #FFDA92;">171886 <span>人</span></span>
@@ -117,7 +117,7 @@
                                         <span class="text_num" style="color: #89FFAC;">41299 <span>人</span></span>
                                         <span class="text_title">女性员工</span>
                                     </div>
-                                </div>
+                                </div> -->
                             </div>
                             <div class="left_user_main">
                                 <div class="left_user_main_item">

+ 334 - 316
cokingCoal/js/humanResources.js

@@ -5,86 +5,86 @@ let app = new Vue({
         return {
             title: "内部人才市场双选服务平台",
             treeList: [{
-                    name: "岗位发布",
-                    flag: true,
-                    src: "./images/humanResources/post.png",
-                    onSrc: "./images/humanResources/post_on.png",
-                    style: {
-                        top: "65%",
-                        left: "13%",
-                        backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
-                    },
-                    onStyle: {
-                        top: "65%",
-                        left: "13%",
-                        backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
-                    }
+                name: "岗位发布",
+                flag: true,
+                src: "./images/humanResources/post.png",
+                onSrc: "./images/humanResources/post_on.png",
+                style: {
+                    top: "65%",
+                    left: "13%",
+                    backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
                 },
-                {
-                    name: "简历投递",
-                    flag: false,
-                    src: "./images/humanResources/notes.png",
-                    onSrc: "./images/humanResources/notes_on.png",
-                    style: {
-                        top: "30%",
-                        left: "22%",
-                        backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
-                    },
-                    onStyle: {
-                        top: "30%",
-                        left: "22%",
-                        backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
-                    }
+                onStyle: {
+                    top: "65%",
+                    left: "13%",
+                    backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
+                }
+            },
+            {
+                name: "简历投递",
+                flag: false,
+                src: "./images/humanResources/notes.png",
+                onSrc: "./images/humanResources/notes_on.png",
+                style: {
+                    top: "30%",
+                    left: "22%",
+                    backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
                 },
+                onStyle: {
+                    top: "30%",
+                    left: "22%",
+                    backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
+                }
+            },
 
-                {
-                    name: "资格审查",
-                    flag: false,
-                    src: "./images/humanResources/qualification.png",
-                    onSrc: "./images/humanResources/qualification_on.png",
-                    style: {
-                        top: "125px",
-                        left: "calc(50% - 202px)",
-                        backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
-                    },
-                    onStyle: {
-                        top: "125px",
-                        left: "calc(50% - 202px)",
-                        backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
-                    }
+            {
+                name: "资格审查",
+                flag: false,
+                src: "./images/humanResources/qualification.png",
+                onSrc: "./images/humanResources/qualification_on.png",
+                style: {
+                    top: "125px",
+                    left: "calc(50% - 202px)",
+                    backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
                 },
-                {
-                    name: "综合测评",
-                    flag: false,
-                    src: "./images/humanResources/comprehensive.png",
-                    onSrc: "./images/humanResources/comprehensive_on.png",
-                    style: {
-                        top: "30%",
-                        right: "22%",
-                        backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
-                    },
-                    onStyle: {
-                        top: "30%",
-                        right: "22%",
-                        backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
-                    }
+                onStyle: {
+                    top: "125px",
+                    left: "calc(50% - 202px)",
+                    backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
+                }
+            },
+            {
+                name: "综合测评",
+                flag: false,
+                src: "./images/humanResources/comprehensive.png",
+                onSrc: "./images/humanResources/comprehensive_on.png",
+                style: {
+                    top: "30%",
+                    right: "22%",
+                    backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
                 },
-                {
-                    name: "录用公式",
-                    flag: false,
-                    src: "./images/humanResources/publicity.png",
-                    onSrc: "./images/humanResources/publicity_on.png",
-                    style: {
-                        top: "65%",
-                        right: "13%",
-                        backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
-                    },
-                    onStyle: {
-                        top: "65%",
-                        right: "13%",
-                        backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
-                    }
+                onStyle: {
+                    top: "30%",
+                    right: "22%",
+                    backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
+                }
+            },
+            {
+                name: "录用公式",
+                flag: false,
+                src: "./images/humanResources/publicity.png",
+                onSrc: "./images/humanResources/publicity_on.png",
+                style: {
+                    top: "65%",
+                    right: "13%",
+                    backgroundImage: "url(./images/humanResources/icon_bg_blue.png)"
                 },
+                onStyle: {
+                    top: "65%",
+                    right: "13%",
+                    backgroundImage: "url(./images/humanResources/iconBg_yellow.png)"
+                }
+            },
             ],
             treeIndex: 0,
             rollFlag: true,
@@ -241,17 +241,17 @@ let app = new Vue({
                 evenRowBGC: "#69c1ff21",
             },
             mainList: [{
-                    name: "双选场次",
-                    value: 30,
-                    unit: "场",
-                    icon: "./images/humanResources/times.png"
-                },
-                {
-                    name: "参与人数",
-                    value: 3000,
-                    unit: "人",
-                    icon: "./images/humanResources/user.png"
-                }
+                name: "双选场次",
+                value: 30,
+                unit: "场",
+                icon: "./images/humanResources/times.png"
+            },
+            {
+                name: "参与人数",
+                value: 3000,
+                unit: "人",
+                icon: "./images/humanResources/user.png"
+            }
             ],
             employmentList1: {
                 waitTime: 2000,
@@ -284,7 +284,7 @@ let app = new Vue({
                 header: ["单位名称", "岗位名称", "报名人数"],
                 rowNum: 6,
                 headerHeight: 55,
-                columnWidth: [100, 200, 400, ],
+                columnWidth: [100, 200, 400,],
                 data: [
                     ["汾西矿业", "综合管理岗", "40"],
                     ["西山煤电", "综合管理岗", "35"],
@@ -379,16 +379,16 @@ let app = new Vue({
             this.initLineRight(rightFour, { value: 12, total: 118 })
             let rightFive = this.$refs.rightFive
             this.initLineRight(rightFive, { value: 6, total: 118 })
-                // let c1 = this.$refs.c1
-                // this.initRightCycle(c1, 40)
-                // let c2 = this.$refs.c2
-                // this.initRightCycle(c2, 25)
-                // let c3 = this.$refs.c3
-                // this.initRightCycle(c3, 20)
-                // let c4 = this.$refs.c4
-                // this.initRightCycle(c4, 10)
-                // let c5 = this.$refs.c5
-                // this.initRightCycle(c5, 5)
+            // let c1 = this.$refs.c1
+            // this.initRightCycle(c1, 40)
+            // let c2 = this.$refs.c2
+            // this.initRightCycle(c2, 25)
+            // let c3 = this.$refs.c3
+            // this.initRightCycle(c3, 20)
+            // let c4 = this.$refs.c4
+            // this.initRightCycle(c4, 10)
+            // let c5 = this.$refs.c5
+            // this.initRightCycle(c5, 5)
 
 
 
@@ -403,29 +403,29 @@ let app = new Vue({
                 that.classChange = true
             }, 5000);
             setInterval(() => {
-                    let that = this
-                    that.treeList.forEach(item => {
-                        item.flag = false
-                    })
+                let that = this
+                that.treeList.forEach(item => {
+                    item.flag = false
+                })
 
-                    if (that.treeIndex > that.treeList.length - 1) {
-                        that.treeIndex = 0
-                        that.treeList[that.treeIndex].flag = true
-                    } else {
-                        that.treeList[that.treeIndex].flag = true
-                        that.treeIndex = that.treeIndex + 1
+                if (that.treeIndex > that.treeList.length - 1) {
+                    that.treeIndex = 0
+                    that.treeList[that.treeIndex].flag = true
+                } else {
+                    that.treeList[that.treeIndex].flag = true
+                    that.treeIndex = that.treeIndex + 1
 
-                    }
-                }, 2000)
-                // setInterval(()=>{
-                //     if(that.configIndex > that.config1.data.length - 1){
-                //         that.configIndex = 0
-                //         return
-                //     } else {
-                //         that.configIndex = that.configIndex + 1
-                //         return
-                //     }
-                // },5000)
+                }
+            }, 2000)
+            // setInterval(()=>{
+            //     if(that.configIndex > that.config1.data.length - 1){
+            //         that.configIndex = 0
+            //         return
+            //     } else {
+            //         that.configIndex = that.configIndex + 1
+            //         return
+            //     }
+            // },5000)
         })
         this.leftTime = setInterval(() => {
             that.leftList.forEach((item, index) => {
@@ -456,6 +456,7 @@ let app = new Vue({
             getLocalEnvAccessToken().then(res => {
                 localStorage.setItem("access_token", res.access_token)
                 that.getPlayers()
+                that.getPostDetail()
             })
         }).catch(err => {
 
@@ -475,6 +476,8 @@ let app = new Vue({
 
             option = {
                 tooltip: {
+                    backgroundColor: 'rgba(0, 0, 0, 0.3)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     show: true,
                     trigger: 'axis',
                     textStyle: {
@@ -554,13 +557,13 @@ let app = new Vue({
                     barWidth: 26,
                     itemStyle: {
                         color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
-                                offset: 1,
-                                color: '#40A9FF',
-                            },
-                            {
-                                offset: 0,
-                                color: '#082049',
-                            },
+                            offset: 1,
+                            color: '#40A9FF',
+                        },
+                        {
+                            offset: 0,
+                            color: '#082049',
+                        },
                         ]),
                     },
                     data: data.y1,
@@ -570,13 +573,13 @@ let app = new Vue({
                     barWidth: 26,
                     itemStyle: {
                         color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
-                                offset: 1,
-                                color: '#EAE179',
-                            },
-                            {
-                                offset: 0,
-                                color: '#082049',
-                            },
+                            offset: 1,
+                            color: '#EAE179',
+                        },
+                        {
+                            offset: 0,
+                            color: '#082049',
+                        },
                         ]),
                     },
                     data: data.y2,
@@ -586,13 +589,13 @@ let app = new Vue({
                     barWidth: 26,
                     itemStyle: {
                         color: new echarts.graphic.LinearGradient(0, 1, 0, 0, [{
-                                offset: 1,
-                                color: '#6A83FF',
-                            },
-                            {
-                                offset: 0,
-                                color: '#082049',
-                            },
+                            offset: 1,
+                            color: '#6A83FF',
+                        },
+                        {
+                            offset: 0,
+                            color: '#082049',
+                        },
                         ]),
                     },
                     data: data.y3,
@@ -708,14 +711,14 @@ let app = new Vue({
                             0,
                             0,
                             1, [{
-                                    offset: 0,
-                                    color: "#40A9FF50",
-                                },
-                                {
-                                    offset: 1,
-                                    color: "#40A9FF",
-                                },
-                            ],
+                                offset: 0,
+                                color: "#40A9FF50",
+                            },
+                            {
+                                offset: 1,
+                                color: "#40A9FF",
+                            },
+                        ],
                             false
                         ),
                     },
@@ -778,118 +781,118 @@ let app = new Vue({
                     axisLabel: {
                         show: false,
                     },
-                }, ],
+                },],
                 series: [{
-                        // 内
-                        type: "bar",
-                        barWidth: 16,
-                        barGap: "20%",
-                        silent: true,
-                        // label: {
-                        //     normal: {
-                        //         formatter: (item) => {
-                        //             return `${item['name']}:${item['value']} `;
-                        //         },
-                        //         textStyle: {
-                        //             color: 'rgba(105, 120, 136, 1)',
-                        //             fontSize: 14,
-                        //         },
-                        //         position: [0, '-25px'],
-                        //         show: true,
-                        //     },
-                        // },
-                        data: category,
-                        z: 1,
-                        itemStyle: {
-                            normal: {
-                                color: new echarts.graphic.LinearGradient(
-                                    1,
-                                    0,
-                                    0,
-                                    1, [{
-                                            offset: 0,
-                                            color: "rgba(81, 193, 156, 1)",
-                                        },
-                                        {
-                                            offset: 1,
-                                            color: "rgba(234, 177, 100, 1)",
-                                        },
-                                    ],
-                                    false
-                                ),
-                            },
+                    // 内
+                    type: "bar",
+                    barWidth: 16,
+                    barGap: "20%",
+                    silent: true,
+                    // label: {
+                    //     normal: {
+                    //         formatter: (item) => {
+                    //             return `${item['name']}:${item['value']} `;
+                    //         },
+                    //         textStyle: {
+                    //             color: 'rgba(105, 120, 136, 1)',
+                    //             fontSize: 14,
+                    //         },
+                    //         position: [0, '-25px'],
+                    //         show: true,
+                    //     },
+                    // },
+                    data: category,
+                    z: 1,
+                    itemStyle: {
+                        normal: {
+                            color: new echarts.graphic.LinearGradient(
+                                1,
+                                0,
+                                0,
+                                1, [{
+                                    offset: 0,
+                                    color: "rgba(81, 193, 156, 1)",
+                                },
+                                {
+                                    offset: 1,
+                                    color: "rgba(234, 177, 100, 1)",
+                                },
+                            ],
+                                false
+                            ),
                         },
-                        animationEasing: "elasticOut",
                     },
+                    animationEasing: "elasticOut",
+                },
 
-                    {
-                        // 分隔
-                        type: "pictorialBar",
-                        itemStyle: {
-                            normal: {
-                                color: "#143362",
-                            },
+                {
+                    // 分隔
+                    type: "pictorialBar",
+                    itemStyle: {
+                        normal: {
+                            color: "#143362",
                         },
-                        symbolRepeat: "fixed",
-                        symbolMargin: 8,
-                        symbol: "rect",
-                        symbolClip: false,
-                        symbolSize: [4, 20],
-                        symbolPosition: "start",
-                        symbolOffset: [0, -2],
-                        symbolBoundingData: total,
-                        data: [total, total, total, total],
-                        z: 2,
-                        animationEasing: "elasticOut",
                     },
-                    {
-                        // label
-                        type: "pictorialBar",
-                        symbolBoundingData: total,
-                        itemStyle: {
-                            normal: {
-                                color: "none",
-                            },
+                    symbolRepeat: "fixed",
+                    symbolMargin: 8,
+                    symbol: "rect",
+                    symbolClip: false,
+                    symbolSize: [4, 20],
+                    symbolPosition: "start",
+                    symbolOffset: [0, -2],
+                    symbolBoundingData: total,
+                    data: [total, total, total, total],
+                    z: 2,
+                    animationEasing: "elasticOut",
+                },
+                {
+                    // label
+                    type: "pictorialBar",
+                    symbolBoundingData: total,
+                    itemStyle: {
+                        normal: {
+                            color: "none",
                         },
-                        label: {
-                            normal: {
-                                formatter: (params) => {
-                                    var text;
-                                    console.log(params.value);
-                                    text = `${(params.value <= 9 ? "  "+params.value : params.value)}人  |  ${(((params.value) / total) * 100).toFixed(0)}%`;
-                                    return text;
-                                },
-                                textStyle: {
-                                    // 图列内容样式
-                                    fontSize: "30",
-                                    fontWeight: 800,
-                                },
-                                position: "right",
-                                offset: [0, -3],
-                                distance: 10, // 向右偏移位置
-                                show: true,
-                                color: "#FFF",
+                    },
+                    label: {
+                        normal: {
+                            formatter: (params) => {
+                                var text;
+                                console.log(params.value);
+                                text = `${(params.value <= 9 ? "  " + params.value : params.value)}人  |  ${(((params.value) / total) * 100).toFixed(0)}%`;
+                                return text;
                             },
+                            textStyle: {
+                                // 图列内容样式
+                                fontSize: "30",
+                                fontWeight: 800,
+                            },
+                            position: "right",
+                            offset: [0, -3],
+                            distance: 10, // 向右偏移位置
+                            show: true,
+                            color: "#FFF",
                         },
-                        data: datas,
-                        z: 0,
                     },
-                    {
-                        name: "外框",
-                        type: "bar",
-                        barGap: "-130%", // 设置外框粗细
-                        data: totalBorderList,
-                        barWidth: 26,
-                        itemStyle: {
-                            normal: {
-                                // barBorderRadius: [5, 5, 5, 5],
-                                borderWidth: 1, // 边框宽度
-                                borderColor: "rgb(51, 147, 236)", // 边框色
-                                color: "rgb(231,238,249)",
-                            },
+                    data: datas,
+                    z: 0,
+                },
+                {
+                    name: "外框",
+                    type: "bar",
+                    barGap: "-130%", // 设置外框粗细
+                    data: totalBorderList,
+                    barWidth: 26,
+                    itemStyle: {
+                        normal: {
+                            // barBorderRadius: [5, 5, 5, 5],
+                            borderWidth: 1, // 边框宽度
+                            borderColor: "rgb(51, 147, 236)", // 边框色
+                            color: "rgb(231,238,249)",
                         },
-                        z: 0,
                     },
+                    z: 0,
+                },
                 ],
             };
 
@@ -906,6 +909,8 @@ let app = new Vue({
             option = {
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.3)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -984,80 +989,80 @@ let app = new Vue({
                     }
                 }],
                 series: [{
-                        name: "简历投递数",
-                        type: "bar",
-                        barWidth: 16,
-                        itemStyle: {
-                            normal: {
-                                color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
-                                        offset: 1,
-                                        color: "#004E8E"
-                                    },
-                                    {
-                                        offset: 0,
-                                        color: "#40A9FF"
-                                    }
-                                ])
+                    name: "简历投递数",
+                    type: "bar",
+                    barWidth: 16,
+                    itemStyle: {
+                        normal: {
+                            color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{
+                                offset: 1,
+                                color: "#004E8E"
+                            },
+                            {
+                                offset: 0,
+                                color: "#40A9FF"
                             }
-                        },
-                        data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
-                        z: 10,
-                        zlevel: 0
+                            ])
+                        }
                     },
-                    {
-                        // 分隔
-                        type: "pictorialBar",
-                        itemStyle: {
-                            normal: {
-                                color: "#0F375F"
-                            }
-                        },
-                        symbolRepeat: "fixed",
-                        symbolMargin: 6,
-                        symbol: "rect",
-                        symbolClip: true,
-                        symbolSize: [18, 2],
-                        symbolPosition: "start",
-                        symbolOffset: [1, 1],
-                        data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
-                        width: 2,
-                        z: 0,
-                        zlevel: 1
+                    data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
+                    z: 10,
+                    zlevel: 0
+                },
+                {
+                    // 分隔
+                    type: "pictorialBar",
+                    itemStyle: {
+                        normal: {
+                            color: "#0F375F"
+                        }
                     },
-                    {
-                        name: "外框",
-                        type: "bar",
-                        barGap: "-110%", // 设置外框粗细
-                        data: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
-                        barWidth: 16,
-                        itemStyle: {
-                            normal: {
-                                color: "transparent", // 填充色
-                                // barBorderRadius: 0, //圆角半径
-                                label: {
-                                    // 标签显示位置
-                                    show: false,
-                                    position: "top" // insideTop 或者横向的 insideLeft
-                                }
+                    symbolRepeat: "fixed",
+                    symbolMargin: 6,
+                    symbol: "rect",
+                    symbolClip: true,
+                    symbolSize: [18, 2],
+                    symbolPosition: "start",
+                    symbolOffset: [1, 1],
+                    data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
+                    width: 2,
+                    z: 0,
+                    zlevel: 1
+                },
+                {
+                    name: "外框",
+                    type: "bar",
+                    barGap: "-110%", // 设置外框粗细
+                    data: [100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100],
+                    barWidth: 16,
+                    itemStyle: {
+                        normal: {
+                            color: "transparent", // 填充色
+                            // barBorderRadius: 0, //圆角半径
+                            label: {
+                                // 标签显示位置
+                                show: false,
+                                position: "top" // insideTop 或者横向的 insideLeft
                             }
-                        },
-                        z: 0
+                        }
                     },
-                    {
-                        name: "背影",
-                        type: "line",
-                        smooth: true, //平滑曲线显示
-                        showAllSymbol: false, //显示所有图形。
-                        symbolSize: 0,
-                        lineStyle: {
-                            width: 0
-                        },
-                        areaStyle: {
-                            color: "rgba(0, 151, 251, 0.1)"
-                        },
-                        data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
-                        z: 5
-                    }
+                    z: 0
+                },
+                {
+                    name: "背影",
+                    type: "line",
+                    smooth: true, //平滑曲线显示
+                    showAllSymbol: false, //显示所有图形。
+                    symbolSize: 0,
+                    lineStyle: {
+                        width: 0
+                    },
+                    areaStyle: {
+                        color: "rgba(0, 151, 251, 0.1)"
+                    },
+                    data: [21, 43, 56, 32, 64, 21, 43, 56, 32, 64, 21, 43],
+                    z: 5
+                }
                 ],
                 dataZoom: [{
                     type: "slider",
@@ -1146,6 +1151,8 @@ let app = new Vue({
                 },
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.3)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'item',
                     textStyle: {
                         fontSize: 30,
@@ -1234,7 +1241,7 @@ let app = new Vue({
                     },
                     data: data,
 
-                }, ]
+                },]
             };
             this.roseEcharts.setOption(option)
             tools.loopShowTooltip(this.roseEcharts, option, {
@@ -1459,5 +1466,16 @@ let app = new Vue({
                 }
             })
         },
+        getPostDetail() {
+            let that = this;
+            let data = {};
+            fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/PostDetail", data).then(res => {
+                console.log(res);
+                if(res){
+                    
+                }
+            })
+        },
+
     },
 })

+ 678 - 54
cokingCoal/js/newIndex.js

@@ -350,11 +350,11 @@ let app = new Vue({
             echartsMark: false,
             loginInfo: {
                 unit: "人",
-                num: 7548
+                num: 25890
             },
             mauInfo: {
                 unit: "人",
-                mau: 435
+                mau: 1534
             },
             skillIndex: 0,
             studentIndex: 2,
@@ -432,6 +432,22 @@ let app = new Vue({
                 value: 0
             }],
             optimizeValue: 0,
+            PersonnelResource: [{
+                name: "用工总数",
+                value: 213185,
+                color: "#92B6FF",
+                src: "./images/newImage/user.png"
+            }, {
+                name: "男性员工",
+                value: 171886,
+                color: "#FFDA92",
+                src: "./images/newImage/man.png"
+            }, {
+                name: "女性员工",
+                value: 41299,
+                color: "#89FFAC",
+                src: "./images/newImage/woman.png"
+            }]
         }
     },
     beforeCreate() {
@@ -455,10 +471,8 @@ let app = new Vue({
                     this.initProvinceChart(el)
 
                     this.studentEcharts.dispose()
-                    console.log(this.studentEcharts);
                     let student = this.$refs.student
                     this.initEchartsBar(student, schoolList, "#07ecd9")
-                    console.log(this.studentEcharts);
 
                 })
                 this.imageIndex = 0
@@ -517,7 +531,8 @@ let app = new Vue({
             // let share = this.$refs.share
             // this.initHorizontalBar(share)
             let el = this.$refs.container
-            this.initProvinceChart(el)
+            // this.initProvinceChart(el)
+            this.initMap2(el)
             let echartTwo = this.$refs.echartTwo
             this.initTwoBarEcharts(echartTwo, { x: this.nx1[0], y: this.ny1[0] })
 
@@ -583,6 +598,8 @@ let app = new Vue({
                 this.getTurnOver()
                 this.getOptimizeResources()
                 this.getHumanOrgAllResources()
+                this.getMapData()
+                this.getPersonnelResource()
             })
         }).catch(err => {
             let industry = that.$refs.industry
@@ -606,6 +623,8 @@ let app = new Vue({
         })
 
 
+
+
         setInterval(() => {
             this.getAccumulatedLogin()
             this.getMauInfo()
@@ -625,14 +644,12 @@ let app = new Vue({
                     //键盘按键判断:左箭头-37;上箭头-38;右箭头-39;下箭头-40
                     //左
                     if (e1 && e1.keyCode == 37) {
-                        console.log("按下左箭头");
                         if (that.imageIndex != 0) {
                             that.imageIndex = that.imageIndex - 1
                         }
                         // 按下左箭头
                     } else if (e1 && e1.keyCode == 39) {
                         // 按下右箭头
-                        console.log("按下右箭头");
                         that.imageIndex = that.imageIndex + 1
                     }
                 }
@@ -774,9 +791,14 @@ let app = new Vue({
                 if (that.salaryIndex == that.sx.length) {
                     that.salaryIndex = 0
                 }
-                this.initEchartStack(mobilize, { x: this.fx[that.salaryIndex], y1: this.fy1[that.salaryIndex], y2: this.fy2[that.salaryIndex], y3: this.fy3[that.salaryIndex], y4: this.fy4[that.salaryIndex], y5: this.fy5[that.salaryIndex] })
                 this.initLineElseEchartsR(echarts90, { x: that.sx[that.salaryIndex], y: that.sy[that.salaryIndex] })
+                if (that.salaryIndex < that.fx.length) {
+                    this.initEchartStack(mobilize, { x: this.fx[that.salaryIndex], y1: this.fy1[that.salaryIndex], y2: this.fy2[that.salaryIndex], y3: this.fy3[that.salaryIndex], y4: this.fy4[that.salaryIndex], y5: this.fy5[that.salaryIndex] })
+                } else {
+                    this.initEchartStack(mobilize, { x: this.fx[0], y1: this.fy1[0], y2: this.fy2[0], y3: this.fy3[0], y4: this.fy4[0], y5: this.fy5[0] })
+                }
                 that.salaryIndex += 1
+
             }, 11500);
         },
         // 针对从业人员类别的定时器
@@ -819,6 +841,8 @@ let app = new Vue({
                     bottom: 40,
                 },
                 tooltip: {
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     show: true,
                     trigger: "axis",
                     textStyle: {
@@ -966,6 +990,8 @@ let app = new Vue({
                     bottom: 40,
                 },
                 tooltip: {
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     show: true,
                     trigger: "axis",
                     textStyle: {
@@ -1104,6 +1130,8 @@ let app = new Vue({
                 tooltip: {
                     show: true,
                     trigger: "axis",
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     textStyle: {
                         fontSize: 30,
                         color: '#A3E2F4'
@@ -1291,6 +1319,8 @@ let app = new Vue({
                 },
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: "axis",
                     textStyle: {
                         fontSize: 30,
@@ -1435,6 +1465,503 @@ let app = new Vue({
             //     this.echartsLevel.resize();
             // });
         },
+        initMap2(el) {
+            let myChart = echarts.init(el)
+            let img = 'image://images/newImage/data-1619059838735-QE9mBZmhh.png'
+            var geoCoordMap = {
+                太原市: [112.049248, 38.157014],
+                大同市: [113.595259, 40.29031],
+                阳泉市: [113.505474, 37.964652],
+                长治市: [112.813556, 36.791112],
+                晋城市: [112.551274, 35.577553],
+                朔州市: [112.433387, 39.531261],
+                晋中市: [112.936465, 37.696495],
+                运城市: [111.003957, 34.99],
+                忻州市: [112.333538, 38.7769],
+                临汾市: [111.517973, 36.48415],
+                吕梁市: [111.134335, 37.524366],
+
+            }
+
+            let effectScatterData = [{
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 534, "山西焦煤机关",],
+
+            },
+
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 14972, "山煤国际",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 91, "物资装备公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 111, "金土地公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 835, "销售公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 117, "国发公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 582, "投资公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 117, "人力资源公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 10, "金融资本公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 843, "民爆集团",]
+            },
+
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 47, "新能源公司",]
+            },
+
+
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "晋中市",
+                value: [112.936465, 37.696495, 49047, "汾西矿业",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 65704, "西山煤电",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "临汾市",
+                value: [111.517973, 35.88415, 53563, "霍州煤电",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 67, "交易中心",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 48, "招标公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "临汾市",
+                value: [111.517973, 35.88415, 9508, "山西焦化",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 13, "油品公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 29, "低碳公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "吕梁市",
+                value: [111.134335, 37.524366, 9960, "华晋焦煤",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 10, "云数据公司",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "太原市",
+                value: [111.949248, 37.957014, 218, "焦煤置业",]
+            },
+            {
+                itemStyle: {
+                    color: "#fff"
+                },
+                name: "吕梁市",
+                value: [111.134335, 37.524366, 9960, "华晋焦煤",]
+            },
+            ]
+            mapDate = []
+
+            const result = effectScatterData.reduce((acc, obj) => {
+                const { name, value } = obj;
+                const existingItem = acc.find(item => item.name === name);
+                if (existingItem) {
+                    existingItem.value.push(value[2]);
+                } else {
+                    acc.push({ name, value: [value[2]] });
+                }
+                return acc;
+            }, []);
+
+            result.forEach(item => {
+                let key = 0
+                item.value.forEach(i => {
+                    key = i + key
+                })
+                item.key = key
+            })
+
+
+            for (let k in geoCoordMap) {
+                effectScatterData.forEach(item => {
+                    if (item.name == k) {
+                        item.value[0] = geoCoordMap[k][0]
+                        item.value[1] = geoCoordMap[k][1]
+                    }
+                })
+                result.forEach(item => {
+                    if (item.name == k) {
+                        let obj = {
+                            name: k,
+                            value: geoCoordMap[k],
+                            datas: item.key,
+                            img
+                        }
+                        mapDate.push(obj)
+                    }
+                })
+            }
+            // var domImg = document.createElement('img');
+            // domImg.style.height = domImg.height = domImg.width = domImg.style.width = '8px';
+            // domImg.src =
+            //     'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAIAAAAmKNuZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkE4MTE0OTgyQTdDQzExRUI4Q0RBRkMwQkFGMTY2NDhEIiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkE4MTE0OTgzQTdDQzExRUI4Q0RBRkMwQkFGMTY2NDhEIj4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QTgxMTQ5ODBBN0NDMTFFQjhDREFGQzBCQUYxNjY0OEQiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QTgxMTQ5ODFBN0NDMTFFQjhDREFGQzBCQUYxNjY0OEQiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz4v4trwAAAAVklEQVR42mL0D225cu0hAzWAjpY8C9CsL19/wIV4uDnI5gKNYmKgKhjcxrFAggBZiBIuyDhqRQWQOxoVo1ExGhWjUTEaFYMiKoB1LVq1TXZUAI0CCDAAcAlaxCt7dtQAAAAASUVORK5CYII=';
+
+            // var domImgHover = document.createElement('img');
+            // domImgHover.style.height = domImgHover.height = domImgHover.width = domImgHover.style.width = '8px';
+            // domImgHover.src =
+            //     'data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABoAAAAaCAIAAAAmKNuZAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAyNpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNi1jMTQ4IDc5LjE2NDAzNiwgMjAxOS8wOC8xMy0wMTowNjo1NyAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvIiB4bWxuczp4bXBNTT0iaHR0cDovL25zLmFkb2JlLmNvbS94YXAvMS4wL21tLyIgeG1sbnM6c3RSZWY9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9zVHlwZS9SZXNvdXJjZVJlZiMiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIDIxLjAgKFdpbmRvd3MpIiB4bXBNTTpJbnN0YW5jZUlEPSJ4bXAuaWlkOkFDQ0Q2RjYyQTdDRDExRUI4ODUxRDIxRjkzMEExNzg2IiB4bXBNTTpEb2N1bWVudElEPSJ4bXAuZGlkOkFDQ0Q2RjYzQTdDRDExRUI4ODUxRDIxRjkzMEExNzg2Ij4gPHhtcE1NOkRlcml2ZWRGcm9tIHN0UmVmOmluc3RhbmNlSUQ9InhtcC5paWQ6QUNDRDZGNjBBN0NEMTFFQjg4NTFEMjFGOTMwQTE3ODYiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6QUNDRDZGNjFBN0NEMTFFQjg4NTFEMjFGOTMwQTE3ODYiLz4gPC9yZGY6RGVzY3JpcHRpb24+IDwvcmRmOlJERj4gPC94OnhtcG1ldGE+IDw/eHBhY2tldCBlbmQ9InIiPz6FboimAAAASklEQVR42mIUnL9XtHsDAzXA69IARjWtXJYX7+FCfyQEKeEyMVAVDG7jWCB+RhaihAsybjQqRqNiNCpGo2I0KoZZVDBSt9oGCDAAhYNrvRu3DWEAAAAASUVORK5CYII=';
+
+            var img2 = 'image://images/newImage/echarts_bg.png'
+
+            echarts.registerMap('shanxi', jsonData);
+            option = {
+                tooltip: {
+                    trigger: "item",
+                    padding: 15,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
+                    enterable: true,
+                    transitionDuration: 1,
+                    formatter: (params, ticket, callback) => {
+                        // 清空所有轮播
+                        for (var k in geoCoordMap) {
+                            myChart.dispatchAction({
+                                type: 'downplay',
+                                name: k,
+                            })
+
+                        }
+                        // 如果鼠标滑动到线线上面,则返回空
+                        myChart.dispatchAction({
+                            // type: 'geoSelect',
+                            type: 'highlight',
+                            name: params.name,
+                        })
+
+                        if (params.componentSubType == 'lines') {
+                            return
+                        }
+                        if (params.componentSubType == "scatter") {
+                            let tipHtml = `
+                <div class="tooltip-cont">
+                  <p>区域:<span>${params.name}</span></p>
+                  <p>二级单位:<span>${params.value[3]}</span></p>
+                  <p>员工总数:<span>${params.value[2]}</span></p>
+              </div>`
+                            callback(ticket, tipHtml)
+                            return tipHtml
+                        }
+                        if (params.componentSubType == 'effectScatter') {
+                            let tipHtml = `
+                <div class="tooltip-cont">
+                  <p>区域:<span>${params.name}</span></p>
+                  <p>二级单位:<span>${params.value[3]}</span></p>
+                  <p>员工总数:<span>${params.value[2]}</span></p>
+              </div>`
+                            callback(ticket, tipHtml)
+                            return tipHtml
+                        }
+                        if (params.componentSubType == 'map') {
+
+                            return
+                        }
+
+                    },
+                },
+                geo: {
+                    map: 'shanxi',
+                    zoom: 1.3,
+                    layoutCenter: ['51%', '56%'],
+                    layoutSize: '100%',
+
+                    silent: true,
+                    roam: false,
+                    z: 1,
+                    itemStyle: {
+                        normal: {
+                            areaColor: 'rgba(0, 15, 40, 1)',
+                            shadowColor: 'rgba(0, 0, 0, 1)',
+                            shadowBlur: 0,
+                            shadowOffsetX: 0,
+                            shadowOffsetY: 5,
+                            borderColor: 'rgba(0, 0, 0, 1)',
+                            borderWidth: 0.5,
+                        },
+                        emphasis: {
+                            areaColor: '#2AB8FF',
+                            borderWidth: 1,
+                            color: 'green',
+                            label: {
+                                show: false,
+                            },
+                        },
+                    },
+                },
+                series: [
+                    {
+                        type: 'scatter',
+                        coordinateSystem: 'geo',
+                        zlevel: 2,
+                        rippleEffect: {
+                            //涟漪特效
+                            period: 2, //动画时间,值越小速度越快
+                            brushType: 'stroke', //波纹绘制方式 stroke, fill
+                            scale: 8, //波纹圆环最大限制,值越大波纹越大
+                            color: '#d4bc1d',
+                        },
+                        emphasis: {
+                            itemStyle: {
+                                color: '#d4bc1d'
+                            }
+                        },
+                        label: {
+                            show: true,
+                            normal: {
+                                show: false
+                            },
+                        },
+                        symbol: 'circle',
+                        symbolSize: 0,
+                        symbolOffset: [0, -325],
+                        data: effectScatterData,
+                        // data: series[1].data,
+                    },
+                    {
+                        type: 'scatter',
+                        coordinateSystem: 'geo',
+                        label: {
+                            normal: {
+                                show: true,
+                                formatter: function (params) {
+                                    var name = params.name;
+                                    var value = params.data.datas;
+                                    var text = `{fline|${value}}\n{tline|${name}}`;
+                                    return text;
+                                },
+                                color: '#fff',
+                                rich: {
+                                    fline: {
+                                        padding: [0, 25],
+                                        color: '#fff',
+                                        textShadowColor: '#030615',
+                                        textShadowBlur: '0',
+                                        textShadowOffsetX: 1,
+                                        textShadowOffsetY: 1,
+                                        fontSize: 45,
+                                        fontWeight: 800,
+                                    },
+                                    tline: {
+                                        padding: [0, 35],
+                                        color: '#d4bc1d',
+                                        fontSize: 35,
+                                        fontWeight: 800,
+                                    },
+                                },
+                            },
+                            emphasis: {
+                                show: true,
+                            },
+                        },
+                        itemStyle: {
+                            color: '#00FFF6',
+                        },
+                        symbol: img2,
+                        symbolSize: [250, 160],
+                        symbolOffset: [0, -155],
+                        z: 999,
+                        data: mapDate,
+                    },
+                    {
+                        type: 'map',
+                        label: {
+                            normal: {
+                                show: false,
+                                textStyle: {
+                                    color: '#fff',
+                                },
+                            },
+                            emphasis: {
+                                show: false,
+                                textStyle: {
+                                    color: '#fff',
+                                },
+                            },
+                        },
+                        itemStyle: {
+                            normal: {
+                                areaColor: '#1C4FBB',
+                                borderColor: 'rgba(5,216,252,0.7)',
+                                borderWidth: 6, //隐藏省界线
+                                shadowColor: 'rgba(5,216,252,0.7)',
+                                shadowBlur: 90
+
+                            },
+                            emphasis: {
+                                areaColor: 'rgba(25,79,183,0.6)',
+                                borderColor: '#d4bc1d',
+                                shadowColor: '#d4bc1d',
+                                shadowBlur: 90,
+                                borderWidth: 8, //设置外层边框
+                                label: {
+                                    color: "#fff"
+                                }
+                            }
+                        },
+                        layoutCenter: ['50%', '54%'],
+                        layoutSize: '100%',
+                        zoom: 1.29,
+                        roam: false,
+                        map: 'shanxi',
+                    },
+                    {
+                        type: 'effectScatter',
+                        coordinateSystem: 'geo',
+                        rippleEffect: {
+                            scale: 10,
+                            brushType: 'stroke',
+                        },
+                        showEffectOn: 'render',
+                        itemStyle: {
+                            normal: {
+                                shadowColor: '#0ff',
+                                shadowBlur: 10,
+                                shadowOffsetX: 0,
+                                shadowOffsetY: 0,
+                                color: new echarts.graphic.LinearGradient(1, 0, 0, 0, [
+                                    {
+                                        offset: 0,
+                                        color: '#64fbc5',
+                                    },
+                                    {
+                                        offset: 1,
+                                        color: '#018ace',
+                                    },
+                                ]),
+                            },
+                        },
+                        label: {
+                            normal: {
+                                color: '#fff',
+                            },
+                        },
+                        symbol: 'circle',
+                        symbolSize: [30, 15],
+                        data: mapDate,
+                        zlevel: 1,
+                    },
+                    {
+                        type: 'scatter',
+                        coordinateSystem: 'geo',
+                        itemStyle: {
+                            color: '#f00',
+                        },
+                        symbol: function (value, params) {
+                            return params.data.img;
+                        },
+                        symbolSize: [64, 82],
+                        symbolOffset: [0, -50],
+                        z: 9999,
+                        data: mapDate,
+                    },
+
+                ],
+            };
+            myChart.setOption(option);
+            tools.loopShowTooltip(myChart, option, {
+                interval: 2000,
+                loopSeries: false,
+            });
+        },
 
         initLineElseEchartsR(el, data) {
             if (this.intervalR != undefined) {
@@ -1455,6 +1982,8 @@ let app = new Vue({
                 },
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: "axis",
                     textStyle: {
                         fontSize: 30,
@@ -1630,6 +2159,8 @@ let app = new Vue({
                 },
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: "item",
                     textStyle: {
                         fontSize: 30,
@@ -1774,12 +2305,12 @@ let app = new Vue({
 
             var option = {
                 colors: [
-                    "#D9E1F2", 
-                    "#B4C6E7", 
-                    "#8EA9DB", 
-                    "#305496", 
-                    "#203764", 
-                        ],
+                    "#D9E1F2",
+                    "#B4C6E7",
+                    "#8EA9DB",
+                    "#305496",
+                    "#203764",
+                ],
                 chart: {
                     type: 'pie',
                     backgroundColor: 'rgba(0,0,0,0)',
@@ -1833,7 +2364,6 @@ let app = new Vue({
                             }, 2000);
                         },
                         legendItemClick: function (event) {
-                            console.log(event);
                             return true;
                         }
                     }
@@ -1863,7 +2393,8 @@ let app = new Vue({
                 tooltip: {
                     crosshairs: false,
                     trigger: "axis",
-                    backgroundColor: 'rgba(0,0,0,0.5)',
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     style: {
                         fontSize: 30,
                         color: '#A3E2F4',
@@ -1989,6 +2520,8 @@ let app = new Vue({
             })
             var option = {
                 tooltip: { //提示框组件
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     formatter: '{b}<br />{a0}: {c0}<br />{a1}: {c1}',
                     textStyle: {
@@ -2198,7 +2731,7 @@ let app = new Vue({
                                 show: true,
                                 distance: 10,
                                 fontWeight: "lighter",
-                                formatter: "15.3",
+                                formatter: markLine[0],
                                 fontSize: 30,
                                 fontWeight: "bolder",
                             },
@@ -2239,7 +2772,7 @@ let app = new Vue({
                                 show: true,
                                 distance: 10,
                                 fontWeight: "lighter",
-                                formatter: "50.8",
+                                formatter: markLine[1],
                                 fontSize: 30,
                                 fontWeight: "bolder",
                             },
@@ -2276,7 +2809,7 @@ let app = new Vue({
                             label: {
                                 show: true,
                                 distance: 10,
-                                formatter: "69.2",
+                                formatter: markLine[2],
                                 fontSize: 30,
                                 fontWeight: "bolder",
                             },
@@ -2302,6 +2835,8 @@ let app = new Vue({
             })
             var option = {
                 tooltip: { //提示框组件
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     formatter: '{b}<br />{a0}: {c0}<br />{a1}: {c1}',
                     textStyle: {
@@ -2533,6 +3068,8 @@ let app = new Vue({
             option = {
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -2727,6 +3264,8 @@ let app = new Vue({
                 },
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -2928,6 +3467,8 @@ let app = new Vue({
             option = {
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -3605,14 +4146,14 @@ let app = new Vue({
                 })
             })
 
-            console.log(data);
 
 
             let option = {
                 tooltip: {
                     trigger: "item",
                     padding: 15,
-                    backgroundColor: 'rgba(0, 0, 0, 0)',
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     enterable: true,
                     transitionDuration: 1,
                     formatter: (params, ticket, callback) => {
@@ -3841,6 +4382,8 @@ let app = new Vue({
             option = {
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -3942,6 +4485,8 @@ let app = new Vue({
                 },
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -4069,6 +4614,8 @@ let app = new Vue({
             option = {
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -4097,7 +4644,6 @@ let app = new Vue({
                     }
                 },
                 xAxis: {
-
                     axisTick: {
                         show: false,
                     },
@@ -4111,22 +4657,22 @@ let app = new Vue({
                         textStyle: {
                             color: "#fff" //X轴文字颜色
                         },
-                        formatter: function (value) {
-                            // 将文字进行换行
-                            if (value === "人力资源公司") {
-                                value = "人力公司"
-                            }
-                            let list = value.split("")
-                            if (list.length == 5) {
-                                list[3] = ""
-                                return list[0] + list[1] + list[2]
-                            }
-                            if (list.length > 4) {
-                                list[4] = ""
-                                return list[0] + list[1] + list[2] + list[3];
-                            }
-                            return list[0] + list[1] + list[2] + list[3];
-                        }
+                        // formatter: function (value) {
+                        //     // 将文字进行换行
+                        //     if (value === "人力资源公司") {
+                        //         value = "人力公司"
+                        //     }
+                        //     let list = value.split("")
+                        //     if (list.length == 5) {
+                        //         list[3] = ""
+                        //         return list[0] + list[1] + list[2]
+                        //     }
+                        //     if (list.length > 4) {
+                        //         list[4] = ""
+                        //         return list[0] + list[1] + list[2] + list[3];
+                        //     }
+                        //     return list[0] + list[1] + list[2] + list[3];
+                        // }
                     },
                     data: data.x,
                 },
@@ -4255,7 +4801,6 @@ let app = new Vue({
             };
             this.mobilizeFL.on('click', function (params) {
                 // 获取点击事件的参数信息
-                console.log(params);
                 that.isShowMark = true
                 that.salaryFlag = false
                 that.pdfFlag = false
@@ -4384,6 +4929,8 @@ let app = new Vue({
             option = {
                 tooltip: {
                     show: true,
+                    backgroundColor: 'rgba(0, 0, 0, 0.5)',
+                    borderColor: "rgba(0,0,0,0.5)",
                     trigger: 'axis',
                     textStyle: {
                         fontSize: 30,
@@ -4486,8 +5033,6 @@ let app = new Vue({
             this.studioTitle = item.name + "技能大师工作室"
             this.isShowMark = true
             this.studioMark = true
-            console.log(item);
-            console.log(this.studioTitle);
             setTimeout(() => {
                 this.listFlag = false
             }, 5000)
@@ -4533,7 +5078,6 @@ let app = new Vue({
             this.saTimeIndex = 0
             clearInterval(this.SAtime);
 
-            console.log({ x: this.seniorityListX[this.saTimeIndex], y: this.seniorityListX[this.saTimeIndex] });
             let serviceAge = this.$refs.serviceAge
             if (index == 1) {
                 this.initLineEcharts(serviceAge, { x: this.ageListX[this.saTimeIndex], y: this.ageListY[this.saTimeIndex] })
@@ -4596,10 +5140,14 @@ let app = new Vue({
             this.mobilizeFlag = false
             this.echartsMark = true
             setTimeout(() => {
-                this.getlaborproductivity()
-                this.getMineEfficiency()
-                this.getEmpProductivity()
+                //     this.getlaborproductivity()
+                //     this.getMineEfficiency()
+                //     this.getEmpProductivity()
+                this.initBarCharts(this.$refs.works, worksList)
+                this.initBarChartsElse(this.$refs.efficiencyElse, efficiencyList, "吨/工", { name: "行业线", value: 8.2 })
+                this.initBarChartsElse(this.$refs.whole, wholeList, "吨/人", { name: "标杆矿井线", value: 1800 })
             })
+
         },
         getAccumulatedLogin() {
             let data = {}
@@ -4650,7 +5198,6 @@ let app = new Vue({
             let that = this
             this.orgChange = false
             fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/OrganizationChange", data).then(res => {
-                console.log(res, "OrganizationChange");
                 if (res) {
                     that.configOrg.data = res.data
                     that.orgChange = true
@@ -4661,7 +5208,7 @@ let app = new Vue({
             let that = this
             let data = {}
             fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/Industrydistribution", data).then(res => {
-                if (res.data) {
+                if (res) {
                     let x = []
                     let y = []
                     that.industry = JSON.parse(JSON.stringify({}))
@@ -4721,7 +5268,6 @@ let app = new Vue({
                     that.initBarCharts(that.$refs.works, worksList, markLine)
                 }
             }).catch(err => {
-                console.log(12312312312);
                 that.initBarCharts(that.$refs.works, worksList)
             })
         },
@@ -4792,7 +5338,6 @@ let app = new Vue({
             let data = {};
             this.SalaryCalProgDetail = false
             fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/SalaryCalProg", data).then(res => {
-                console.log(res);
                 if (res) {
                     that.config2.data = res.data
                 }
@@ -4911,7 +5456,6 @@ let app = new Vue({
             let data = {};
             fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/TurnOver", data).then(res => {
                 if (res) {
-                    // mobilizeList
                     res.data.forEach(item => {
                         if (item.key == "组织名称") {
                             mobilizeList.x = item.value
@@ -4934,11 +5478,8 @@ let app = new Vue({
                         }
 
                         if (item.key == "跨二级调出") {
-                            mobilizeList.y5 = item.value
+                            mobilizeList.y3 = item.value
                         }
-
-
-
                     })
                 }
                 that.fx = spArr(mobilizeList.x, 6)
@@ -5012,6 +5553,89 @@ let app = new Vue({
                 this.initStereoscopic(buffer, userList)
             })
         },
+        getMapData() {
+            let that = this;
+            let data = {};
+            var geoCoordMap = {
+                太原市: [112.049248, 38.157014],
+                大同市: [113.595259, 40.29031],
+                阳泉市: [113.505474, 37.964652],
+                长治市: [112.813556, 36.791112],
+                晋城市: [112.551274, 35.577553],
+                朔州市: [112.433387, 39.531261],
+                晋中市: [112.936465, 37.696495],
+                运城市: [111.003957, 34.99],
+                忻州市: [112.333538, 38.7769],
+                临汾市: [111.517973, 36.48415],
+                吕梁市: [111.134335, 37.524366],
+
+            }
+            fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/MapData", data).then(res => {
+                if (res) {
+                    let mapData = []
+                    let map = []
+                    data.forEach(item => {
+                        let obj = {}
+                        item.forEach(i => {
+                            if (i.key == "区域") {
+                                obj.name = i.value
+                            }
+                            if (i.key == "员工总数") {
+                                obj.value = i.value
+                            }
+                            if (i.key == "二级单位") {
+                                obj.level = i.value
+                            }
+                        })
+                        map.push(obj)
+                    })
+                    map.forEach(i => {
+                        let obj = {
+                            name: "",
+                            value: []
+                        }
+                        for (let k in geoCoordMap) {
+                            if (k.indexOf(i.name) != -1) {
+                                obj.name = k
+                                obj.value[0] = geoCoordMap[k][0]
+                                obj.value[1] = geoCoordMap[k][1]
+                                obj.value[2] = i.value
+                                obj.value[3] = i.level
+                            }
+                        }
+                        mapData.push(obj)
+
+                    })
+                }
+            })
+        },
+        getPersonnelResource() {
+            let that = this;
+            let data = {};
+            fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/PersonnelResource", data).then(res => {
+                if (res) {
+                    res.forEach(item => {
+                        console.log(item);
+                        if (item.key == "用工总数") {
+                            that.PersonnelResource[0].value = item.value
+                        }
+                        if (item.key == "男性员工") {
+                            that.PersonnelResource[1].value = item.value
+                        }
+                        if (item.key == "女性员工") {
+                            that.PersonnelResource[2].value = item.value
+                        }
+                    })
+                }
+            })
+        },
+        getEduStructure(){
+            let that = this;
+            let data = {};
+            // fetchPostMethods("/ierp/kapi/v2/mdnb/mdnb_control/EduStructure",data).then(res=>{
+
+            // })
+        }
     },
 
 })

+ 2 - 2
cokingCoal/js/request.js

@@ -14,13 +14,13 @@ function isLocalEnv() {
 
 
 
-window.apiType = "sit"  // dev 本地测试 ,  sit  线上测试  
+window.apiType = "dev"  // dev 本地测试 ,  sit  线上测试  
 window.fetchUrl = ""
 // window.fetchUrl = "http://172.21.9.236:8081"
 
 
 if(window.apiType == "dev"){
-  window.fetchUrl = "http://192.168.1.13:8080"
+  window.fetchUrl = "http://192.168.1.11:8080"
 } else if(window.apiType == "sit"){
   window.fetchUrl = "http://172.21.9.236:8081"
 }