<template>
  <div class="box-1">
    <div class="header">
      <div class="header__left">
        <img src="@/assets/images/ticket.png" />
        <div
          class="header__left-item"
          v-for="(item, index) in scenicStore.scenicSpotData"
          :key="index"
        >
          <div class="label">{{ item.name }}</div>
          <countup :end-val="item.value" />
        </div>
      </div>
      <div>
        <div>
          <div class="label">接待状态</div>
          <p class="value">安全</p>
        </div>
        <div>
          <div class="label">景区安全</div>
          <p class="value">安全</p>
        </div>
        <div>
          <div class="label">景区游玩舒适</div>
          <p class="value error">排队</p>
        </div>
        <div>
          <div class="label">通景交通</div>
          <p class="value">安全</p>
        </div>
        <div>
          <div class="label">停车场负荷度</div>
          <p class="value error">超负荷</p>
        </div>
      </div>
    </div>
    <div class="main"> </div>
    <div class="footer">
      <div class="flex">
        <div class="item">
          <CircleProgress :width="170" :height="90" />
          <div>
            <div class="bg">
              <span class="label">今日工单总条数：</span>
              <span class="value"> <countup :endVal="1234" /></span>
            </div>
            <div class="bg">
              <span class="label">工单完成数：</span>
              <span class="value"> <countup :endVal="1234" /></span>
            </div>
          </div>
        </div>
        <div class="item">
          <CircleProgress :width="170" :height="90" />
          <div>
            <div class="bg">
              <span class="label">今日工单总条数：</span>
              <span class="value"> <countup :endVal="1234" /></span>
            </div>
            <div class="bg">
              <span class="label">工单完成数：</span>
              <span class="value"> <countup :endVal="1234" /></span>
            </div>
          </div>
        </div>
      </div>
      <div class="flex align-center justify-between">
        <div>
          <vue3-seamless-scroll
            class="list"
            :list="scenicStore.wordkOrderList"
            :limitScrollNum="3"
            :hover="true"
            :step="0.2"
            :wheel="true"
            :isWatch="true"
          >
            <div class="cell" v-for="(item, index) in scenicStore.wordkOrderList" :key="index">
              <span :class="`tag--${item.level}`">{{ item.level_text }}</span>
              <p class="content">
                {{ item.title }}
              </p>
            </div>
          </vue3-seamless-scroll>
        </div>
        <img class="more" src="@/assets/images/more-col.png" alt="查看更多" @click="handleMore" />
      </div>
    </div>
  </div>
</template>

<script setup>
  import countup from 'vue-countup-v3'
  import { Vue3SeamlessScroll } from 'vue3-seamless-scroll'
  import { useScenicStore } from '@/stores/scenic'
  import { useRouter } from 'vue-router'

  const router = useRouter()
  const scenicStore = useScenicStore()

  const handleMore = () => {
    router.push('/workOrder')
  }
</script>

<style scoped lang="scss">
  .box-1 {
    margin-top: vh(120);
    width: vw(900);
    height: vh(950);
    padding: vw(10);
    box-sizing: border-box;
    background-image: url('@/assets/images/bg-3.png');
    background-size: 100% 100%;
    .header {
      display: flex;
      margin-top: vh(10);
      &__left {
        display: flex;
        align-items: center;
        > img {
          width: vw(74);
          height: auto;
        }
      }
      &__left-item {
        position: relative;
        width: vw(120);
        height: vh(58);
        padding-left: vw(10);
        display: flex;
        flex-direction: column;
        justify-content: center;
        background-image: url('@/assets/images/ticket-item-bg.png');
        background-size: 100% 100%;
        .label {
          position: absolute;
          top: vh(-4);
          font-weight: 400;
          font-size: vw(14);
          color: #ffffff;
        }
      }
      & > div:nth-child(2) {
        flex: 1;
        display: flex;
        justify-content: space-between;
        .label {
          font-weight: 400;
          font-size: vw(16);
          color: #ffffff;
        }
        .value {
          font-weight: bold;
          font-size: vw(28);
          color: #02f9fa;
          text-align: center;
          line-height: vh(60);
        }
        .error {
          color: #ff4400;
        }
      }

      .countup-wrap {
        color: #02f9fa;
        font-size: vw(28);
        font-weight: bold;
      }
    }
    .main {
      width: 100%;
      height: vh(600);
    }
    .footer {
      .item {
        flex: 1;
        height: vh(140);
        display: flex;
        align-items: center;
        background-image: url('@/assets/images/bg-3.png');
        background-size: 100% 100%;
        &:nth-child(1) {
          margin-right: vw(10);
        }
        .bg {
          padding-left: vw(20);
          width: vw(243);
          height: vh(40);
          display: flex;
          align-items: center;
          background: linear-gradient(90deg, rgba(0, 150, 255, 0.34) 0%, rgba(0, 150, 255, 0) 100%);
          &:nth-child(1) {
            margin-bottom: vh(4);
          }
          .label {
            width: vw(120);
            font-weight: 400;
            font-size: vw(14);
            color: #fff;
          }
          .value {
            font-weight: bold;
            font-size: vw(28);
            color: #02f9fa;
          }
        }
      }
      .list {
        margin-top: vh(4);
        height: vh(116);
        overflow: hidden;
      }
      .cell {
        display: flex;
        margin-left: vw(4);
        margin-top: vh(12);
        &:nth-last-child(1) {
          margin-bottom: 0;
        }
        .tag {
          padding: 0 vw(16);
          font-weight: bold;
          font-size: vw(14);
          color: #fff;
          display: flex;
          align-items: center;
          justify-content: center;
          border-radius: vw(2);
        }
        .tag--important {
          @extend .tag;
          background: #feae00;
        }
        .tag--warn {
          @extend .tag;
          background: #d9011b;
        }
        .tag--normal {
          @extend .tag;
          background: #2380fb;
        }
        .content {
          margin-left: vw(4);
          padding: 0 vw(10);
          width: vw(760);
          height: vh(24);
          line-height: vh(24);
          white-space: nowrap;
          overflow: hidden;
          text-overflow: ellipsis;
          font-weight: 400;
          font-size: vw(14);
          color: #ffffff;
          border-radius: vw(2);
          background: rgba(0, 150, 255, 0.28);
        }
      }
      .more {
        cursor: pointer;
        width: auto;
        height: vh(100);
        margin-top: vh(12);
      }
    }
  }
</style>
