personList.vue 3 KB
<template>
  <div>
    <div class="box">
      <el-breadcrumb class="mt20 forPc" :separator-icon="ArrowRight">
        <el-breadcrumb-item :to="{ path: '/' }">
          <el-icon>
            <HomeFilled/>
          </el-icon>
          首页
        </el-breadcrumb-item>
        <el-breadcrumb-item>人员列表</el-breadcrumb-item>
        <el-breadcrumb-item>{{kindName}}</el-breadcrumb-item>
      </el-breadcrumb>

      <el-card class="mt20 mb20 forPc">
        <el-row class="JsmemberList" :gutter="20">
          <el-col v-for="m in list" :lg="4" :xs="12">
            <div class="item" style="margin: 0" @click="goDetail(m)">
              <div class="imgbox">
                <img :src="fillImgUrl_webSite(m.picUrl)">
              </div>
              <h3>{{ m.realName }}</h3>
            </div>
          </el-col>

        </el-row>
        <div class="pc-page-box" v-if="total>17">
          <PaginationPc v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="getList"/>
        </div>
      </el-card>
      <div class="mt20 mb20 forWei">
        <el-row class="JsmemberList" :gutter="20">
          <el-col v-for="m in list" :lg="4" :xs="12">
            <div class="item" style="margin: 0" @click="goDetail(m)">
              <div class="imgbox">
                <img :src="fillImgUrl_webSite(m.picUrl)">
              </div>
              <h3>{{ m.realName }}</h3>
            </div>
          </el-col>
        </el-row>
        <div class="pc-page-box" v-if="total>10">
          <PaginationPc v-model:page="query.pageNum" v-model:limit="query.pageSize" :total="total" @pagination="getList"/>
        </div>
      </div>


      <el-empty v-if="list.length == 0" description="暂无数据"/>
    </div>
  </div>
</template>

<script setup>
import { ArrowRight, Search } from '@element-plus/icons-vue'

import { onMounted, ref } from 'vue'
import { useRoute, useRouter } from 'vue-router'
import { getPersonByLabel } from '@/apiPc/webSite'
const router = useRouter()
const route = useRoute()
const list = ref([])
const kindName = ref('')
const query = ref({
  pageSize: 24,
  pageNum: 1
})
const total = ref(0)
onMounted(() => {
  console.log(route.query)
  query.value.label = route.query.label
  switch (route.query.label) {
    case '0':
      kindName.value = '国家队'
      break
    case '1':
      kindName.value = '教练员'
      break
    case '2':
      kindName.value = '裁判员'
      break
    case '5':
      kindName.value = '国青队'
      break
    case '6':
      kindName.value = '解说员'
      break
    case '7':
      kindName.value = '宣传员'
      break
    case '8':
      kindName.value = '人物专栏'
      break
  }
  getList()
})
const getList = () => {
  getPersonByLabel(query.value).then(res => {
    list.value = res.rows
    total.value = res.total
  })
}
const goDetail = (m) => {
  router.push({
    path: `/about/leader/${m.id}`,
    query: {
      name: encodeURIComponent(m.labelStr),
      from: 'list'
    }
  })
}
</script>

<style scoped lang="scss">

</style>