<template>
  <div class="page">
    <div class="left">
      <div class="left_top">
        <div class="title">
          部门绩效总分排名TOP10
          <div class="button_box">
            <span
              :class="{ check: v.value == depAttendanceTopDate }"
              v-for="v in searchTimes"
              :key="v.value"
              @click="changeDate('depAttendanceTopDate', v.value)"
              >{{ v.label }}</span
            >
          </div>
        </div>
        <dv-scroll-ranking-board
          :config="config"
          style="width: 100%; height: 75%"
        />
      </div>
      <div class="left_mid">
        <div class="title">
          异常分值分布情况
          <div class="button_box">
            <span
              :class="{ check: v.value == abnormalDisDate }"
              v-for="v in searchTimes"
              :key="v.value"
              @click="changeDate('abnormalDisDate', v.value)"
              >{{ v.label }}</span
            >
          </div>
        </div>

        <div id="leida" style="width: 100%; height: 90%"></div>
      </div>
      <div class="left_down">
        <div class="title">绩效规则分布情况</div>
        <div id="rulePie" style="width: 100%; height: 90%"></div>
      </div>
    </div>
    <div class="mid">
      <div class="mid_top">
        <div class="top_box one">
          <div class="title">今年分值情况</div>
          <div class="mid_content">
            <div class="content_top">
              <p class="content_text">
                <span class="txt">初始扣分</span
                ><span class="txt_num">{{
                  yearRecordAll.initScore || "--"
                }}</span>
              </p>
              <p class="content_text">
                <span class="txt">核查扣分</span
                ><span class="txt_num">{{
                  yearRecordAll.checkScore || "--"
                }}</span>
                <span class="txt_small"
                  >占比：{{ yearRecordAll.checkPercent || "--" }}</span
                >
              </p>
              <p class="content_text">
                <span class="txt">申诉分值</span
                ><span class="txt_num">{{
                  yearRecordAll.appealScore || "--"
                }}</span>
                <span class="txt_small"
                  >占比：{{ yearRecordAll.appealPercent || "--" }}</span
                >
              </p>
              <p class="content_text">
                <span class="txt">累计扣分</span
                ><span class="txt_num">{{ yearRecordAll.total || "--" }}</span>
              </p>
            </div>
            <div class="content_down">
              <div class="down_left">
                <div class="num">{{ yearRecordAll.huanbi || "暂无环比" }}</div>
                <p class="down_text">环比增长率</p>
              </div>
              <div class="down_right">
                <div class="num">{{ yearRecordAll.tongbi || "暂无同比" }}</div>
                <p class="down_text">同比增长率</p>
              </div>
            </div>
          </div>
        </div>
        <div class="top_box two">
          <div class="title">本月分值情况</div>
          <div class="mid_content">
            <div class="content_top">
              <p class="content_text">
                <span class="txt">初始扣分</span
                ><span class="txt_num">{{
                  monthRecordAll.initScore || "--"
                }}</span>
              </p>
              <p class="content_text">
                <span class="txt">核查扣分</span
                ><span class="txt_num">{{
                  monthRecordAll.checkScore || "--"
                }}</span>
                <span class="txt_small"
                  >占比：{{ monthRecordAll.checkPercent || "--" }}</span
                >
              </p>
              <p class="content_text">
                <span class="txt">申诉分值</span
                ><span class="txt_num">{{
                  monthRecordAll.appealScore || "--"
                }}</span>
                <span class="txt_small"
                  >占比：{{ monthRecordAll.appealPercent || "--" }}</span
                >
              </p>
              <p class="content_text">
                <span class="txt">累计扣分</span
                ><span class="txt_num">{{ monthRecordAll.total || "--" }}</span>
              </p>
            </div>
            <div class="content_down">
              <div class="down_left">
                <div class="num">{{ monthRecordAll.huanbi || "暂无环比" }}</div>
                <p class="down_text">环比增长率</p>
              </div>
              <div class="down_right">
                <div class="num">{{ monthRecordAll.tongbi || "暂无同比" }}</div>
                <p class="down_text">同比增长率</p>
              </div>
            </div>
          </div>
        </div>
        <div class="top_box three">
          <div class="title">今日分值情况</div>
          <div class="mid_content">
            <div class="content_top">
              <p class="content_text">
                <span class="txt">初始扣分</span
                ><span class="txt_num">{{
                  dayRecordAll.initScore || "--"
                }}</span>
              </p>
              <p class="content_text">
                <span class="txt">核查扣分</span
                ><span class="txt_num">{{
                  dayRecordAll.checkScore || "--"
                }}</span>
                <span class="txt_small"
                  >占比：{{ dayRecordAll.checkPercent || "--" }}</span
                >
              </p>
              <p class="content_text">
                <span class="txt">申诉分值</span
                ><span class="txt_num">{{
                  dayRecordAll.appealScore || "--"
                }}</span>
                <span class="txt_small"
                  >占比：{{ dayRecordAll.appealPercent || "--" }}</span
                >
              </p>
              <p class="content_text">
                <span class="txt">累计扣分</span
                ><span class="txt_num">{{ dayRecordAll.total || "--" }}</span>
              </p>
            </div>
            <div class="content_down">
              <div class="down_left">
                <div class="num">{{ dayRecordAll.huanbi || "暂无环比" }}</div>
                <p class="down_text">环比增长率</p>
              </div>
              <div class="down_right">
                <div class="num">{{ dayRecordAll.tongbi || "暂无同比" }}</div>
                <p class="down_text">同比增长率</p>
              </div>
            </div>
          </div>
        </div>
      </div>
      <div class="mid_down">
        <div class="down_content">
          <img class="content_title" src="../../../assets/images/title.png" />
          <div style="margin: 20px 0">
            <el-radio-group v-model="form.type" border>
              <el-radio-button :label="1">部门评估</el-radio-button>
              <el-radio-button :label="2">个人评估</el-radio-button>
            </el-radio-group>
          </div>
          <div class="form">
            <el-form ref="form" :model="form" label-width="100px">
              <el-form-item label="请选择部门：">
                <el-select
                  v-model="form.dept"
                  placeholder="请选择部门"
                  style="width: 100%"
                >
                  <el-option
                    v-for="v in deptList"
                    :key="v.id"
                    :label="v.deptName"
                    :value="v.id"
                  ></el-option>
                </el-select>
              </el-form-item>
              <el-form-item label="请选择类型：" style="text-align: left">
                <el-radio-group v-model="form.resource">
                  <el-radio :label="1">按年</el-radio>
                  <el-radio :label="2">按月</el-radio>
                  <el-radio :label="3">按天</el-radio>
                </el-radio-group>
              </el-form-item>
              <el-form-item label="请选择时间：">
                <el-date-picker
                  v-if="form.resource == 1"
                  type="year"
                  value-format="yyyy"
                  placeholder="选择日期"
                  v-model="form.year"
                  style="width: 100%"
                ></el-date-picker>
                <el-date-picker
                  v-else-if="form.resource == 2"
                  type="month"
                  value-format="MM"
                  placeholder="选择日期"
                  v-model="form.month"
                  style="width: 100%"
                ></el-date-picker>
                <el-date-picker
                  v-else
                  v-model="form.day"
                  value-format="yyyy-MM-DD"
                  type="daterange"
                  range-separator="至"
                  start-placeholder="开始日期"
                  end-placeholder="结束日期"
                  style="width: 100%"
                >
                </el-date-picker>
              </el-form-item>

              <el-form-item>
                <el-button
                  type="primary"
                  @click="onSubmit"
                  style="margin-top: 20px; transform: translateX(-50%)"
                  >立即创建</el-button
                >
              </el-form-item>
            </el-form>
          </div>
        </div>
      </div>
    </div>
    <div class="right">
      <div class="right_top">
        <div class="button_box">
          <span
            :class="{ check: v.value == personageAttTopDate }"
            v-for="v in searchTimes"
            :key="v.value"
            @click="changeDate('personageAttTopDate', v.value)"
            >{{ v.label }}</span
          >
        </div>
        <div class="title">个人绩效总分排名TOP10</div>
        <dv-scroll-ranking-board
          :config="personConfig"
          style="width: 100%; height: 75%"
        />
      </div>
      <div class="right_mid">
        <div class="title">
          申诉分值分布情况
          <div class="button_box">
            <span
              :class="{ check: v.value == appealDate }"
              v-for="v in searchTimes"
              :key="v.value"
              @click="changeDate('appealDate', v.value)"
              >{{ v.label }}</span
            >
          </div>
        </div>

        <div id="shensuPie" style="width: 100%; height: 90%"></div>
      </div>
      <div class="right_down">
        <div class="title">反馈记录整体情况</div>
        <div id="recordPie" style="width: 100%; height: 90%"></div>
      </div>
    </div>
  </div>
</template>

<script>
export default {
  data() {
    return {
      // 时间搜索选项
      searchTimes: [
        {
          label: "今年",
          value: 1,
        },
        {
          label: "本月",
          value: 2,
        },
        {
          label: "今日",
          value: 3,
        },
      ],
      depAttendanceTopDate: 2, // 部门绩效top搜索
      abnormalDisDate: 2, // 异常分值分布搜索
      personageAttTopDate: 2, // 个人绩效排名top搜索
      appealDate: 2, // 申诉分值分布搜索
      form: {
        type: 1,
        dept: "",
        resource: 1,
        year: "",
        month: "",
        day: [],
      },
      config: {}, //部门绩效总分top10
      personConfig: {}, //个人绩效总分top10
      // 部门
      depQuery: {
        page: 1,
        size: -1,
      },
      deptList: [], // 部门列表
      leidaEchart: null, // 异常分值分布情况echart实例
      rulePie: null, // 绩效规则分布echart实例
      shensuPie: null, // 申诉分值分布情况echart实例
      recordPie: null, // 反馈记录整体情况echart实例
      timer: null,
      yearRecordAll: {}, // 今年分值
      monthRecordAll: {}, // 本月分值
      dayRecordAll: {}, // 今日分值
    };
  },
  created() {
    this.getDeptList();
    this.getYearRecordAll();
    this.getMonthRecordAll();
  },
  mounted() {
    this.staffStatList();
    this.getException();
    this.depStatList();
    this.getAttendanceRules();
    this.getFeedback();
    this.getAppealTotal();
    // 定时器刷新数据
    this.autoUpdata();
  },

  methods: {
    // 设配echarts
    adapterEcharts() {
      this.leidaEchart && this.leidaEchart.resize();
      this.rulePie && this.rulePie.resize();
      this.shensuPie && this.shensuPie.resize();
      this.recordPie && this.recordPie.resize();
    },
    // 获取部门列表
    getDeptList() {
      this.$post("/dept/list", this.depQuery).then((res) => {
        const { code, data } = res;
        if (code == 1) {
          this.deptList = data.data;
        }
      });
    },
    // 获取今年分值
    async getYearRecordAll() {
      this.yearRecordAll = await this.getRecordAll(1);
    },
    // 获取本月分值
    async getMonthRecordAll() {
      this.monthRecordAll = await this.getRecordAll(2);
    },
    // 获取今日分值
    async getDayRecordAll() {
      this.dayRecordAll = await this.getRecordAll(3);
    },
    // 获取分值情况
    async getRecordAll(summaryType) {
      let obj = {};
      await this.$post("/check/all/record/score/summary", {
        summaryType,
      }).then((res) => {
        const { code, data } = res;
        if (code == 1) {
          obj = data;
        }
      });
      return obj;
    },
    // 个人绩效总分排名
    staffStatList() {
      this.$post("/staff/perform/stat/summary/top", {
        summaryType: this.personageAttTopDate,
      }).then((res) => {
        const { code, data } = res;
        if (code == 1) {
          const row = data.map((v) => {
            return {
              name: v.staffName,
              value: v.totalScore,
            };
          });
          this.personConfig = { data: row };
        }
      });
    },
    // 获取异常分值分布情况
    getException() {
      this.$post("/staff/perform/stat/summary/exception", {
        summaryType: this.abnormalDisDate,
      }).then((res) => {
        const { code, data } = res;
        if (code == 1) {
          let names = data.map((v) => v.name);
          let add = data.map((v) => v.add);
          let sub = data.map((v) => v.sub);
          this.drawLeiDa(names, add, sub);
        }
      });
    },
    // 部门绩效总分排名
    depStatList() {
      this.$post("/dept/perform/stat/summary/top", {
        summaryType: this.depAttendanceTopDate,
      }).then((res) => {
        const { code, data } = res;
        if (code == 1) {
          const row = data.map((v) => {
            return {
              name: v.deptName,
              value: v.totalScore,
            };
          });

          this.config = { data: row };
        }
      });
    },
    // 获取绩效规则分布情况
    getAttendanceRules() {
      this.$post("/perform/rules/summary").then((res) => {
        const { code, data } = res;
        if (code == 1) {
          let { list, totalScore } = data;

          let arr = list.map((v) => {
            return {
              name: v.typeName,
              value: v.score,
            };
          });
          this.drawRulePie(arr, totalScore);
        }
      });
    },
    // 获取反馈记录整体情况数据
    getFeedback() {
      this.$post("/feedback/summary").then((res) => {
        const { code, data } = res;
        if (code == 1) {
          let { notStart, total, ended, progress } = data;
          let names = ["未开始", "进行中", "已完结", "全部问卷"];
          let values = [notStart, progress, ended, total];
          this.drawRecordPie(names, values);
        }
      });
    },
    // 获取申诉分布情况统计数据
    getAppealTotal() {
      this.$post("/perform/attend/appeal/perform/summary", {
        summaryType: this.appealDate,
      }).then((res) => {
        if (res.code == 1) {
          const { dict, data } = res;
          let { performType } = dict;
          let params = data.data.map((v) => {
            return {
              name: this.filterDict(v.performType, performType),
              value: v.score,
            };
          });
          this.drawCorePie(params);
        }
      });
    },
    // 异常分值分布情况echarts
    drawLeiDa(names = [], add = [], sub = []) {
      // 基于dom，初始化echarts实例
      let chartDom = document.getElementById("leida");
      // 避免刷新数据时重新初始化图表
      this.leidaEchart = this.$echarts.getInstanceByDom(chartDom);
      if (!this.leidaEchart) {
        this.leidaEchart = this.$echarts.init(chartDom);
      }
      // 绘制图表
      this.leidaEchart.setOption({
        color: ["#56A3F1", "#FF917C"],
        tooltip: {
          confine: true,
        },
        legend: {
          data: names,
          right: 0,
          bottom: "50px",
          orient: "vertical",
        },
        radar: [
          {
            center: ["25%", "50%"],
            radius: 120,
            startAngle: 90,
            splitNumber: 4,
            shape: "circle",
            axisName: {
              formatter: "【{value}】",
              color: "#428BD4",
            },

            axisLine: {
              lineStyle: {
                color: "rgba(211, 253, 250, 0.8)",
              },
            },
            splitLine: {
              lineStyle: {
                color: "rgba(211, 253, 250, 0.8)",
              },
            },
          },
          {
            indicator: names.map((v) => {
              return {
                name: v,
                max: 150,
              };
            }),
            center: ["45%", "50%"],
            radius: "70%",
            axisName: {
              color: "#fff",
              backgroundColor: "#666",
              borderRadius: 10,
              padding: [0, 1],
            },
          },
        ],
        series: [
          {
            type: "radar",
            radarIndex: 1,
            data: [
              {
                value: add,
                name: "加分",
                symbol: "rect",
                symbolSize: 12,
                areaStyle: { color: "#56A3F1" }, //雷达覆盖区域背景颜色
                label: {
                  show: true,
                  formatter: function (params) {
                    return params.value;
                  },
                },
              },
              {
                value: sub,
                areaStyle: { color: "#FF917C" }, //雷达覆盖区域背景颜色
                name: "扣分",
              },
            ],
          },
        ],
      });
      window.addEventListener("resize", this.adapterEcharts);
    },
    // 绩效规则分布echarts
    drawRulePie(data, total) {
      // 基于dom，初始化echarts实例
      let chartDom = document.getElementById("rulePie");
      // 避免刷新数据时重新初始化图表
      this.rulePie = this.$echarts.getInstanceByDom(chartDom);
      if (!this.rulePie) {
        this.rulePie = this.$echarts.init(chartDom);
      }
      this.rulePie.setOption({
        tooltip: {
          trigger: "item",
        },
        legend: {
          bottom: "0%",
          right: "5%",
          orient: "vertical",
          textStyle: {
            // 文字的样式
            fontSize: 24, // 可控制每个legend项的间距
            color: "#828282",
            rich: {
              // 通过富文本rich给每个项设置样式，下面的oneone、twotwo、threethree可以理解为"每一列"的样式
              oneone: {
                // 设置文字、数学、英语这一列的样式
                width: 50,
                color: "#000000",
                fontSize: 12,
                fontWeight: "bolder",
              },
              twotwo: {
                // 设置10分、20分、30分这一列的样式
                width: 35,
                color: "#333",
                fontSize: 12,
                fontWeight: 600,
              },
              threethree: {
                // 设置百分比这一列的样式
                width: 20,
                color: "#333",
                fontSize: 12,
              },
            },
          },
          formatter: (name) => {
            var target; // 遍历拿到数据
            for (var i = 0; i < data.length; i++) {
              if (data[i].name == name) {
                target = data[i].value;
              }
            }
            var v = ((target / total) * 100).toFixed(2);
            return `{oneone|${name}}  {twotwo|${target}分}   {threethree|${v}%}`;
            // 富文本第一列样式应用    富文本第二列样式应用      富文本第三列样式应用
          },
        },
        series: [
          {
            type: "pie",
            radius: ["40%", "70%"],
            // avoidLabelOverlap: false,
            data,
            left: "-50%",
            top: "10%",
            label: {
              position: "center",
              fontSize: 16,
              formatter: () => {
                return "总" + "\n" + total;
              },
            },
            labelLine: {
              show: false,
            },
          },
        ],
      });
      window.addEventListener("resize", this.adapterEcharts);
    },
    // 申诉分值分布情况echarts
    drawCorePie(data = []) {
      let chartDom = document.getElementById("shensuPie");
      // 避免刷新数据时重新初始化图表
      this.shensuPie = this.$echarts.getInstanceByDom(chartDom);
      if (!this.shensuPie) {
        this.shensuPie = this.$echarts.init(chartDom);
      }
      this.shensuPie.setOption({
        tooltip: {
          trigger: "item",
        },
        legend: {
          bottom: "0%",
          right: "5%",
          orient: "vertical",
          textStyle: {
            // 文字的样式
            fontSize: 24, // 可控制每个legend项的间距
            color: "#828282",
            rich: {
              // 通过富文本rich给每个项设置样式，下面的oneone、twotwo、threethree可以理解为"每一列"的样式
              oneone: {
                width: 50,
                color: "#000000",
                fontSize: 12,
                fontWeight: "bolder",
              },
              twotwo: {
                width: 35,
                color: "#333",
                fontSize: 12,
                fontWeight: 600,
              },
              threethree: {
                // 设置百分比这一列的样式
                width: 20,
                color: "#333",
                fontSize: 12,
              },
            },
          },
          formatter: (name) => {
            // formatter格式化函数动态呈现数据
            let total = 0; // 用于计算总数
            let target; // 遍历拿到数据
            for (let i = 0; i < data.length; i++) {
              total += data[i].value;
              if (data[i].name == name) {
                target = data[i].value;
              }
            }
            // let v = ((target / total) * 100).toFixed(2);
            return `{oneone|${name}}`;
            //     富文本第一列样式应用    富文本第二列样式应用      富文本第三列样式应用
          },
        },
        series: [
          {
            type: "pie",
            // avoidLabelOverlap: false,
            left: "-25%",
            top: "10%",
            label: {
              normal: {
                show: true,
                position: "outside",
                rich: {
                  // 通过富文本rich给每个项设置样式，下面的oneone、twotwo、threethree可以理解为"每一列"的样式
                  async: {
                    width: 50,
                    color: "#000000",
                    fontSize: 12,
                    fontWeight: "bolder",
                  },
                  hr: {
                    width: 35,
                    color: "#333",
                    fontSize: 12,
                    fontWeight: 600,
                  },
                  per: {
                    // 设置百分比这一列的样式
                    width: 20,
                    color: "#333",
                    fontSize: 12,
                  },
                },
                formatter: "{per|{d}%}",
              },
            },
            labelLine: {
              show: true,
            },
            data,
          },
        ],
      });
      window.addEventListener("resize", this.adapterEcharts);
    },
    // 反馈记录整体情况echarts
    drawRecordPie(names = [], values = []) {
      let colorList = ["#97e7ff", "#75f5ff", "#00deff", "#0093ff", "#2a5fcf"];
      let visualMapPiecesData = [];
      for (var i = 0; i < names.length; i++) {
        visualMapPiecesData.push({
          value: values[i],
          label: names[i],
          color: colorList[i],
        });
      }
      // 基于dom，初始化echarts实例
      let chartDom = document.getElementById("recordPie");
      // 避免刷新数据时重新初始化图表
      this.recordPie = this.$echarts.getInstanceByDom(chartDom);
      if (!this.recordPie) {
        this.recordPie = this.$echarts.init(chartDom);
      }

      this.recordPie.setOption({
        tooltip: {
          trigger: "item",
        },

        polar: {
          radius: [0, "90%"],
          center: ["50%", "55%"],
        },
        angleAxis: {
          show: false, // 隐藏刻度
          max: 180,
          startAngle: 90,
        },
        radiusAxis: {
          show: true,
          type: "category",
          data: names,
        },

        visualMap: {
          top: 40,
          x: "left",
          orient: "vertical",
          textStyle: {
            color: "#000",
          },
          pieces: visualMapPiecesData,
          outOfRange: {
            color: "#999",
          },
        },
        series: [
          {
            type: "bar",
            data: values,
            coordinateSystem: "polar",
            itemStyle: {
              normal: {
                // 定制显示（按顺序）
                color: function (params) {
                  return colorList[params.dataIndex];
                },
              },
            },
          },
        ],
      });
      window.addEventListener("resize", this.adapterEcharts);
    },
    // 改变日期搜索
    changeDate(type, date) {
      switch (type) {
        case "depAttendanceTopDate":
          this.depAttendanceTopDate = date;
          this.depStatList();
          break;
        case "abnormalDisDate":
          this.abnormalDisDate = date;
          this.getException();
          break;
        case "personageAttTopDate":
          this.personageAttTopDate = date;
          this.staffStatList();
          break;
        case "appealDate":
          this.appealDate = date;
          this.getAppealTotal();
          break;
      }
    },
    // 创建报告
    onSubmit() {
      console.log(this.form);
    },
    // 获取年
    getYear() {
      return new Date().getFullYear();
    },
    // 获取月
    getMonth() {
      return new Date().getMonth() + 1;
    },
    // 获取日
    getDay() {
      return new Date().getDate();
    },
    // 过滤字典
    filterDict(key, dict = {}) {
      let str = "";
      Object.keys(dict).forEach((keys) => {
        if (key == keys) {
          str = dict[keys];
        }
      });
      return str;
    },
    // 1分值自动刷新数据
    autoUpdata() {
      this.timer = setInterval(() => {
        this.staffStatList();
        this.getException();
        this.depStatList();
        this.getAttendanceRules();
        this.getFeedback();
        this.getAppealTotal();
      }, 1000 * 60);
    },
  },
  beforeDestroy() {
    // 解绑事件
    window.removeEventListener("resize", this.adapterEcharts);
    clearInterval(this.timer);
  },
};
</script>

<style lang="less" scoped>
.page {
  width: 100%;
  height: 100%;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  overflow: hidden;
  background: unset;
  font-family: "微软雅黑 Bold", "微软雅黑 Regular", "微软雅黑", sans-serif;

  .left,
  .mid,
  .right {
    width: 24%;
    height: 100%;
    display: flex;
    flex-direction: column;
  }
  .mid {
    flex: 1;
    justify-content: space-between;
    .mid_top,
    .mid_down {
      width: 100%;
    }
    .mid_top {
      padding: 0 10px;
      height: 40%;
      display: flex;
      justify-content: space-around;
      .top_box {
        width: 31%;
        height: 100%;
        border-width: 2px;
        padding: 12px;
        border-style: solid;
        border-color: rgba(255, 255, 255, 1);
        border-radius: 8px;
        -moz-box-shadow: none;
        -webkit-box-shadow: none;
        box-shadow: none;
        .title {
          font-weight: 700;
          font-style: normal;
          font-size: 14px;
        }
        .mid_content {
          width: 100%;
          height: 100%;
          color: #fff;
          overflow: hidden;
          .content_top {
            width: 100%;
            height: 70%;
            display: flex;
            justify-content: space-evenly;
            flex-direction: column;
            border-bottom: 2px solid rgb(240, 240, 240);
            .content_text {
              position: relative;
              margin-bottom: 5px;
              font-size: 14px;
              .txt {
                display: inline-block;
                width: 30%;
              }
              .txt_num {
                display: inline-block;
                width: 70%;
                text-align: right;
                font-weight: 600;
              }
              .txt_small {
                position: absolute;
                right: 0;
                top: 20px;
                font-size: 12px;
              }
            }
          }
          .content_down {
            width: 100%;
            height: auto;
            display: flex;
            justify-content: space-between;
            padding: 10px 0;
            .down_left,
            .down_right {
              padding: 8px 0;
              width: 50%;
              height: 100%;
              text-align: center;
              .down_text {
                font-size: 12px;
              }
              .num {
                font-weight: 700;
                font-style: normal;
                font-size: 18px;
                color: #ffffff;
              }
            }
            .down_left {
              border-right: 2px solid rgb(240, 240, 240);
            }
          }
        }
      }
      .one {
        background: linear-gradient(
          180deg,
          rgba(241, 189, 76, 1) 0%,
          rgba(237, 133, 77, 1) 100%
        );
        .title {
          color: #7d2d00;
        }
      }
      .two {
        background: linear-gradient(
          180deg,
          rgba(96, 155, 248, 1) 0%,
          rgba(102, 135, 244, 1) 100%
        );
        .title {
          color: #001c80;
        }
      }
      .three {
        background: linear-gradient(
          180deg,
          rgba(76, 201, 245, 1) 0%,
          rgba(19, 149, 235, 1) 100%
        );
        .title {
          color: #004679;
        }
      }
    }
    .mid_down {
      width: 96%;
      height: 58%;
      border-radius: 8px;
      -moz-box-shadow: none;
      -webkit-box-shadow: none;
      box-shadow: none;
      margin: 0 auto;
      background: url(../../../assets/images/u10938.svg) no-repeat;
      background-size: cover;
      overflow: hidden;
      .down_content {
        width: 100%;
        height: 100%;
        text-align: center;
        padding: 40px 30px 10px 30px;
        /deep/.el-radio-button {
          width: 150px;
          text-align: center;
          border: 1px solid #eee;
        }
        /deep/.el-radio-button__inner {
          width: 150px;
        }
        /deep/.el-radio-button__orig-radio:checked + .el-radio-button__inner {
          width: 150px;
          border: none;
          background: #1890ff;
          color: #fff;
          border: 1px solid #eee;
        }
        .form {
          width: 70%;
          margin: 0 auto;
        }
      }
    }
  }
  .left_top,
  .left_mid,
  .left_down,
  .right_top,
  .right_mid,
  .right_down {
    position: relative;
    width: 100%;
    height: 33%;
    background: #fff;
    border-radius: 8px;
    padding: 10px;
    overflow: hidden;
    .title {
      font-weight: 600;
      margin-bottom: 5px;
    }
    /deep/.info-name,
    /deep/.ranking-value {
      color: #000;
    }
  }
  .left_mid,
  .right_mid {
    width: 100%;
    height: 30%;
    margin: 15px 0;
  }
  .button_box {
    position: absolute;
    top: 8px;
    right: 10px;
    display: flex;
    span {
      border-width: 0px;
      width: 40px;
      height: 24px;
      display: flex;
      font-family: "微软雅黑", sans-serif;
      font-weight: 400;
      font-style: normal;
      font-size: 12px;
      color: #797979;
      background-color: rgba(28, 117, 221, 0.0980392156862745);
      border: none;
      border-radius: 4px;
      justify-content: center;
      align-items: center;
      margin-right: 5px;
      cursor: pointer;
    }
    .check {
      background: linear-gradient(
        90deg,
        rgba(23, 67, 198, 1) 0%,
        rgba(31, 116, 223, 1) 50%,
        rgba(44, 140, 240, 1) 99%
      );
      font-size: 12px;
      color: #ffffff;
    }
  }
}
</style>
