index_en.vue 8.17 KB
<template>
  <div>
    <div class="box">

      <div class="mt20" />
      <el-card>
        <el-row :gutter="20">
          <el-col :sm="24" :lg="12">
            <!--赛事日历-->

            <el-calendar v-model="calendarValue">
              <template #date-cell="data">
                <div v-if="data.data.day.slice(8,10)==22" class="primaryDate date">22</div>
                <div v-else class="date">
                  {{ data.data.day.slice(8,10) }}
                </div>

              </template>
            </el-calendar>

          </el-col>
          <el-col :sm="24" :lg="12">
            <div class="calendarList">
              <ul>
                <li>
                  <label>08:00~10:30</label> Wuxi Open
                </li>
                <li>
                  <label>11:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group A
                </li>
                <li>
                  <label>12:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group B
                </li>
                <li>
                  <label>13:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group C
                </li>
                <li>
                  <label>15:00</label> the WDSF ASIAN DANCESPORT FESTIVAL .WUXI 2024 group D
                </li>
              </ul>

            </div>

          </el-col>
        </el-row>
      </el-card>

      <el-card class="mt20 mb20">
        <div class="leftboderTT">2023.07.22 Result</div>
        <h3 class="text-center">08:00-09:30    The results of the  group A of Latin dance competitions</h3>
        <div class="tablebody">
        <table class="table table-striped">
          <thead>
            <tr class="bg-lineg">
              <td>Number</td>
              <td>Name</td>
              <td>Country</td>
              <td>Score</td>
              <td>Ranking</td>
              <td>Final result</td>
            </tr>
          </thead>
          <tbody>
            <tr>
              <td>3456</td>
              <td>Wang wenwen</td>
              <td>China</td>
              <td class="text-primary">198.00</td>
              <td>1</td>
              <td class="text-primary">advancement</td>
            </tr>
            <tr>
              <td>4567</td>
              <td>Zhang</td>
              <td>China</td>
              <td class="text-primary">191.00</td>
              <td>2</td>
              <td class="text-primary">advancement</td>
            </tr>
            <tr>
              <td>3456</td>
              <td>Sdehj Lijukl</td>
              <td>Uzbekistan</td>
              <td class="text-primary">190.00</td>
              <td>3</td>
              <td class="text-primary">advancement</td>
            </tr>
            <tr>
              <td>1255</td>
              <td>XuDu</td>
              <td>Hong Kong, China</td>
              <td class="text-primary">188.00</td>
              <td>4</td>
              <td class="text-primary">advancement</td>
            </tr>
            <tr>
              <td>1299</td>
              <td>Alice Luyr</td>
              <td>Thailand</td>
              <td class="text-primary">180.00</td>
              <td>5</td>
              <td class="text-primary">advancement</td>
            </tr>
            <tr>
              <td>1652</td>
              <td>Wu Yuan</td>
              <td>Hong Kong, China</td>
              <td class="text-primary">188.00</td>
              <td>6</td>
              <td>Out</td>
            </tr>

          </tbody>
        </table>
        </div>
        <br><br>
        <div class="leftboderTT">2023.07.22 Result</div>

        <h3 class="text-center">08:00-09:30   The results of the  group A of Latin dance competitions</h3>
        <div class="tablebody">
        <table class="table table-striped">
            <tr class="bg-lineg">
              <td>Number</td>
              <td>Name</td>
              <td>Country</td>
              <td>Score</td>
              <td>Ranking</td>
              <td>Final result</td>
            </tr>
          <tr>
            <td>3456</td>
            <td>Chen Sha</td>
            <td>China</td>
            <td class="text-primary">198.00</td>
            <td>1</td>
            <td class="text-primary">advancement</td>
          </tr>
          <tr>
            <td>3001</td>
            <td>ZhaoQian</td>
            <td>China</td>
            <td class="text-primary">196.00</td>
            <td>2</td>
            <td class="text-primary">advancement</td>
          </tr>
          <tr>
            <td>1005</td>
            <td>ZhangChuChu</td>
            <td>China</td>
            <td class="text-primary">190.00</td>
            <td>3</td>
            <td class="text-primary">advancement</td>
          </tr>
          <tr>
            <td>1544</td>
            <td>LiuYiwan</td>
            <td>China</td>
            <td class="text-primary">186.90</td>
            <td>4</td>
            <td  class="text-primary">advancement</td>
          </tr>
          <tr>
            <td>1293</td>
            <td>LiHan</td>
            <td>China</td>
            <td class="text-primary">186.90</td>
            <td>5</td>
            <td>Out</td>
          </tr>


        </table>
        </div>
      </el-card>
    </div>
  </div>
</template>

<script setup>
import { onMounted, ref, watch } from 'vue'
import { getPlanYears, getYearZtxPlanList } from '@/apiPc/train'
import { ArrowRight } from '@element-plus/icons-vue'
import { dayjs } from 'element-plus'
import { szToHz } from '@/utils/ruoyi'

const years = ref([])
const currYear = ref(null)
const ztxPlanList = ref([])
const planList = ref([])
const loading = ref(false)
const calendarValue = ref('2024-07-22')


// onMounted(() => {
//   currYear.value = dayjs().year()
//   getPlanYears().then(res => {
//     years.value = res.data
//   })
// })
//
// watch(currYear, (val) => {
//   if (val) {
//     getPlanList()
//   }
// })

function getPlanList() {
  loading.value = true

  Promise.all([
    getYearZtxPlanList({
      year: currYear.value,
      type: 1// 中跆协
    }),
    getYearZtxPlanList({
      year: currYear.value,
      type: 0 // 省
    })
  ]).then(res => {
    loading.value = false
    ztxPlanList.value = res[0].rows
    planList.value = res[1].rows
  })
}

</script>

<style scoped lang="scss">
.leftboderTT{margin: 0 0 20px;color: var(--el-color-primary);
  font-size: 20px;}
h3{background: #F5F0FF;margin: 0;padding: 10px 0;
  color: var(--el-color-primary);
  font-size: 18px;}
.table {    border-spacing: 0;
  border-collapse: collapse;
  width: 100%;
  max-width: 100%;
  margin-bottom: 20px;
  td,th{    padding: 8px;    font-size: 14px;}
}
:deep(.table-striped > tbody > tr:nth-of-type(odd)){
  background: #F6F9FE;
}

.el-calendar{--el-calendar-border:none;--el-calendar-cell-width:51px;text-align:center;
  --el-text-color-regular:#8E8D94;
  :deep(.el-calendar__header){justify-content: center;}
  :deep(.el-calendar__body){border: 1px solid #F0F0F0;padding: 0}
  :deep(.el-calendar-table .el-calendar-day){padding: 1px;}
  :deep(.el-calendar-table td.is-selected){background: transparent;}
  :deep(.el-calendar__button-group){display: none;}
}
.primaryDate{color: #fff;
  background: linear-gradient(90deg, #8623FC, #453DEA);}
.date{  margin:5px auto;border-radius: 50%;width: 30px;height: 30px;line-height: 30px;
  font-weight: bold;
}
.calendarList{border: 1px solid #F0F0F0;padding:12px 20px;overflow: hidden;
  margin: 46px 0 0;
  ul{
    li{background: #F6F9FE;margin:7px 0 7px 20px;position: relative;padding: 13px;
      border-radius: 10px;
      font-weight: 500;
      font-size: 15px;
      label{color: #453DEA;margin-right: 15px;
        &::before{content: '';background:#fff;left: -17px;top: 0px;bottom: 0;margin: auto;
          border-radius: 50%;width: 2px;height: 2px;position: absolute;z-index: 1}
      }
    }
    li::before{content: '';background: linear-gradient(0deg, #8623FC, #453DEA);
      border-radius: 50%;width: 8px;height: 8px;position: absolute;
      left: -20px;top: 0;bottom: 0;margin: auto;z-index: 1;
    }
    li::after{content: ''; left: -16px;width: 1px;height: 100%;
      background: #EBEBEB;    position: absolute;top: 20px}
    li:hover{color: #fff;
      background: linear-gradient(-90deg, #8623FC, #453DEA);
      label{color: #fff;}
    }
  }
}

</style>