liuyg
2021-07-20 eed39ea913dddfe6572f37de8c7de3f1523b6816
src/views/securityUnitOperation/economicAnalysis.vue
@@ -1,7 +1,281 @@
/*
 * @Author: mikey.zhaopeng
 * @Date: 2021-07-17 00:19:50
 * @Last Modified by: mikey.zhaopeng
 * @Last Modified time: 2021-07-17 00:20:31
  * @description:公司经济情况智能分析详情
 */
<template>
  <div class="page1">
    <el-row>
      <el-col :span="24">
        <div class="rowContent first-menu">
          <div class="rowTitle">
            <img src="../../../public/img/bajgxt/u1618.png" />
            <span>数据概览</span>
            <el-select class="select0" v-model="value0" placeholder="请选择">
              <el-option
                v-for="item in options0"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
            <el-select class="select1" v-model="value1" placeholder="请选择">
              <el-option
                v-for="item in options1"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
            <el-select class="select2" v-model="value2" placeholder="请选择">
              <el-option
                v-for="item in options2"
                :key="item.value"
                :label="item.label"
                :value="item.value"
              >
              </el-option>
            </el-select>
            <el-button @click="toEconomicTable">进入数据统计表</el-button>
          </div>
          <div class="col-content">
            <div class="box-card">
              <span>社保缴纳人数</span>
              <span>11291</span>
              <span>较上月增加12人</span>
            </div>
            <div class="box-card">
              <span>社保缴纳总额(万)</span>
              <span>410</span>
              <span>较上月增加15万</span>
            </div>
            <div class="box-card">
              <span>公司派遣人数</span>
              <span>1121</span>
              <span>较上月增加13人</span>
            </div>
            <div class="box-card">
              <span>社保缴纳人数占比</span>
              <span>85%</span>
              <span>较上月上涨2%</span>
            </div>
          </div>
        </div>
      </el-col>
    </el-row>
    <el-row :gutter="20">
      <el-col :span="16">
        <div class="rowContent">
          <span class="span-title">社保缴纳</span>
          <div id="middleEchart1"></div>
        </div>
      </el-col>
      <el-col :span="8">
        <div class="rowContent">
          <span class="span-title">派遣人员占比</span>
          <div id="middleEchart2"></div>
        </div>
      </el-col>
    </el-row>
    <el-row>
      <el-col :span="24">
        <div class="rowContent">
          <span class="span-title">公司经济运转趋势</span>
          <div id="bottomEchart"></div>
        </div>
      </el-col>
    </el-row>
  </div>
</template>
<script>
import * as echarts from "echarts";
import echartJs from "./securityEchart.js";
export default {
  data() {
    return {
      value1: "1",
      value2: "1",
       value0: "2012",
      options0: [
        {
          value: "2012",
          label: "2012年"
        },
        {
          value: "2011",
          label: "2011年"
        },
        {
          value: "2010",
          label: "2010年"
        },
        {
          value: "2009",
          label: "2009年"
        },
        {
          value: "2008",
          label: "2008年"
        },
        {
          value: "2007",
          label: "2007年"
        }
      ],
      options1: [
        {
          value: "1",
          label: "南昌市公安局"
        },
        {
          value: "2",
          label: "东湖分局"
        },
        {
          value: "3",
          label: "西湖分局"
        },
        {
          value: "4",
          label: "青云谱分局"
        },
        {
          value: "5",
          label: "青山湖分局"
        }
      ],
      options2: [
        {
          value: "1",
          label: "江西省永安保安服务有限公司"
        },
        {
          value: "2",
          label: "南昌市赣水保安服务有限公司"
        },
        {
          value: "3",
          label: "江西中业兴达保安服务有限公司"
        }
      ]
    };
  },
  methods: {
    setEchart() {
      let data = [];
      let bottomEchart = echarts.init(document.getElementById("bottomEchart"));
      bottomEchart.setOption(echartJs.bottomOption(data));
      let middleEchart1 = echarts.init(
        document.getElementById("middleEchart1")
      );
      middleEchart1.setOption(echartJs.economicMiddle(data));
      let middleEchart2 = echarts.init(
        document.getElementById("middleEchart2")
      );
      middleEchart2.setOption(echartJs.economicPieOption(data));
    },
    toEconomicTable() {
      this.$router.push({ path: "/securityUnitOperation/economicTable" });
    }
  },
  mounted() {
    this.setEchart();
  }
};
</script>
<style lang="scss" scoped>
.page1 {
  height: 100%;
  width: 100%;
}
#bottomEchart,
#middleEchart1,
#middleEchart2 {
  height: calc(100% - 40px);
  width: 100%;
}
.el-row:first-child {
  height: calc(40% - 80px);
  margin-bottom: 20px;
}
.el-row:nth-child(2) {
  margin-bottom: 20px;
}
.el-row:nth-child(2),
.el-row:nth-child(3) {
  height: 30%;
}
.el-col {
  height: 100%;
}
.rowContent {
  padding: 5px 20px 0px 10px;
  height: calc(100% - 5px);
  width: calc(100% - 30px);
  background: rgba(255, 255, 255, 0.1);
  box-shadow: 0px 0px 1px #fff;
  .span-title {
    color: #fff;
    font-size: 17px;
    margin-left: 35px;
    font-weight: 600;
  }
}
.box-card {
  width: 150px;
  background: #00aaf1;
  height: 135px;
  text-align: center;
  margin-right: 66px;
  box-shadow: 5px 5px 5px rgba($color: #000, $alpha: 0.35);
  line-height: 40px;
}
.box-card span {
  display: block;
  width: 100%;
  color: #fff;
}
.box-card span:nth-child(2) {
  color: #06ffff;
  font-size: 34px;
}
.rowTitle {
  height: 40px;
  display: flex;
  line-height: 40px;
  img {
    width: 30px;
    height: 30px;
    margin-top: 5px;
  }
  span {
    color: #fff;
    font-size: 17px;
    font-weight: 600;
    margin-left: 11px;
  }
  .select0 {
    position: absolute;
    right: 443px;
  }
  .select1 {
    position: absolute;
    right: 302px;
  }
  .select2 {
    position: absolute;
    right: 159px;
  }
  .el-button {
    position: absolute;
    right: 0px;
  }
  /deep/ .el-input__inner {
    width: 120px;
  }
}
.col-content {
  display: flex;
  margin-top: 15px;
  margin-left: 36px;
}
</style>