<template>
  <div class="overview my-5">
    <div class="overview-item pa-5 color-666" v-for="(val, i) in overview" :key="i">
      <div class="d-flex">
        <div>{{ val.title }}</div>
        <v-tooltip :text="val.desc" location="top">
          <template v-slot:activator="{ props }">
            <span v-bind="props" class="mdi mdi-information-outline ml-1"></span>
          </template>
        </v-tooltip>
      </div>
      <div class="overview-item-value my-3">{{ val.value }}</div>
      <div class="font-size-14">
        环比
        <span class="color-error">0% ↑</span>
      </div>
    </div>
  </div>
  <div id="myChart" style="width: 100%; height: 500px;background-color: #f7f8fa;border-radius: 8px;" class="pa-3"></div>
</template>

<script setup>
defineOptions({ name: 'overview-page'})
import { ref, onMounted } from 'vue'
import * as echarts from 'echarts'

// 数据概况
const overview = ref([
  { title: '职位浏览量', value: 86, desc: '指全部职位被候选人查看的人数总和' },
  { title: '收到简历量', value: 12, desc: '指全部职位收到简历的总数' },
  { title: '查看收到简历', value: 0, desc: '指查看候选人主动发送的简历数量' },
  { title: '已处理简历', value: 4, desc: '指招聘方标记"通过筛选"与"不合适"的简历数' },
  { title: '主动联系我的人', value: 0, desc: '指候选人主动发起沟通的人数' },
  { title: '我主动联系的人', value: 5, desc: '指候选人主动发起沟通的人数' },
  { title: '面试数量', value: 0, desc: '面试人数的总数' }
])

onMounted(() => {
  var chartDom = document.getElementById('myChart')
  var myChart = echarts.init(chartDom)
  var option

  option = {
    title: {
      text: '历史数据走势图'
    },
    tooltip: {
      trigger: 'axis',
      axisPointer: {
        type: 'cross',
        label: {
          backgroundColor: '#6a7985'
        }
      }
    },
    legend: {
      data: ['职位数', '刷新次数', '职位浏览', '简历投递数', '简历处理']
    },
    toolbox: {
      feature: {
        saveAsImage: {}
      }
    },
    grid: {
      left: '3%',
      right: '4%',
      bottom: '3%',
      containLabel: true
    },
    xAxis: [
      {
        type: 'category',
        boundaryGap: false,
        data: ['2024-07-10', '2024-07-11', '2024-07-12']
      }
    ],
    yAxis: [
      {
        type: 'value'
      }
    ],
    series: [
      {
        name: '职位数',
        type: 'line',
        emphasis: {
          focus: 'series'
        },
        data: [120, 132, 101, 134, 90, 230, 210]
      },
      {
        name: '刷新次数',
        type: 'line',
        emphasis: {
          focus: 'series'
        },
        data: [220, 182, 191, 234, 290, 330, 310]
      },
      {
        name: '职位浏览',
        type: 'line',
        emphasis: {
          focus: 'series'
        },
        data: [150, 232, 201, 154, 190, 330, 410]
      },
      {
        name: '简历投递数',
        type: 'line',
        emphasis: {
          focus: 'series'
        },
        data: [320, 332, 301, 334, 390, 330, 320]
      },
      {
        name: '简历处理',
        type: 'line',
        label: {
          show: true,
          position: 'top'
        },
        emphasis: {
          focus: 'series'
        },
        data: [820, 932, 901, 934, 1290, 1330, 1320]
      }
    ]
  }
  option && myChart.setOption(option)
})
</script>

<style scoped lang="scss">
.overview {
  display: flex;
  width: 100%;
  flex-wrap: wrap; // 换行
}
.overview-item {
  // width: calc((100% - 84px) / 8);
  // min-width: calc((100% - 84px) / 8);
  // max-width: calc((100% - 84px) / 8);
  min-width: 200px;
  margin: 0 12px 12px 0;
  height: 175px;
  border-radius: 12px;
  overflow: hidden;
  transition: all .2s linear;
  background-color: #f7f8fa;
  div {
    white-space: nowrap; /* 防止子级文本换行 */
    flex-grow: 1; /* 允许子级根据内容撑开，但保持最小宽度限制 */
  }
  &:last-child {
    margin-right: 0;
  }
}
.overview-item-value {
  color: var(--v-primary-base);
  font-weight: 700;
  font-size: 44px;
}
</style>
