{"version":3,"file":"list.17fb5ac3.mjs","sources":["../../../../assets/images/title_icon.png","../../../../pages/contest/list.vue"],"sourcesContent":["export default \"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAAACXBIWXMAAAsTAAALEwEAmpwYAAAAAXNSR0IArs4c6QAAAARnQU1BAACxjwv8YQUAAADYSURBVHgB3ZU7DsIwEES9qShTUoaOkpIydJRwE47CDchNuAYdPoJLOjOWbGllKfKuTQoy0sjKJp6Xn73GrF7e+wF+wAdW28JnuC/Np1I4hiccRgef4Bd8gzexNhGRUwOy8KQECXc+stoshBThVRBShqshVBGuglBluBhCDeEiCDWGlyEAvBvDOWQHX1ie6+KJXyk8wYcXAuAKW9Om9IoGeM9q0/IfOV216G9aCdEtNCWkbqsQQto2uwJEvV13ZkaYYGOYzcLD8VESLlJsmfesZfbwKGmZ/68vzbmqDSbM6uUAAAAASUVORK5CYII=\"","<template>\n  <NuxtLayout name=\"event\">\n    <div class=\"event_page top_bg\">\n      <div v-if=\"ctrl.dataOver\" class=\"app_container w\">\n        <div v-if=\"eventInfo.advList && eventInfo.advList.length\" class=\"block\">\n          <el-carousel height=\"416px\" arrow=\"never\" class=\"carousel w\">\n            <el-carousel-item v-for=\"(i,index) in eventInfo.advList\" @click=\"handleBanner(i)\" :key=\"index\">\n              <img class=\"article_img\" :src=\"i.advImg\" :alt=\"i.advName\">\n            </el-carousel-item>\n          </el-carousel>\n        </div>\n        <div class=\"area_list\">\n          <div class=\"area_item\" v-for=\"item of eventInfo.eventList\" @click=\"goDetail(item)\" :key=\"item.id\">\n            {{ item.eventAreaName }}\n          </div>\n        </div>\n        <div v-if=\"map.articleList.length\" class=\"article_box\">\n          <div class=\"article_title\">\n            <img style=\"width: 24px;height: 24px;\" src=\"@/assets/images/title_icon.png\" alt=\"\">\n            <span class=\"title_text\">{{ title }}</span>\n          </div>\n          <div class=\"article_content\">\n            <div class=\"article_list\">\n              <div class=\"article_item\" v-for=\"(item,index) in map.articleList\" :key=\"index\" @click=\"goArtView(item)\">\n                <div><img class=\"art_img\" :src=\"item.cover\" :alt=\"item.title\"></div>\n                <div class=\"art_title\">{{ item.title }}</div>\n              </div>\n            </div>\n            <div class=\"page_list\">\n              <el-pagination\n                background layout=\"prev, pager, next\"\n                v-model:current-page=\"page.current\"\n                v-model:page-size=\"page.size\"\n                :total=\"page.total\"\n                @current-change=\"handleCurrentChange\"\n              >\n              </el-pagination>\n            </div>\n          </div>\n        </div>\n        <template v-if=\"eventInfo.pagePublic\">\n          <template v-for=\"(item,index) of eventInfo.pagePublic.pageComponent\">\n            <div v-if=\"item.isShow\" class=\"component_list\">\n              <div class=\"component_title\" :class=\"'component_title' + (index % 3)\">\n                <img style=\"width: 24px;height: 24px;\" src=\"@/assets/images/title_icon.png\" alt=\"\">\n                <span class=\"title_text\">{{  item.pageName }}</span>\n              </div>\n              <div class=\"component_content\" v-html=\"item.text\" />\n            </div>\n          </template>\n        </template>\n      </div>\n    </div>\n  </NuxtLayout>\n</template>\n\n<script setup>\nimport { computed } from \"vue\";\nimport cookie from '@/utils/cookies'\nimport { eventPage, articlePage } from '@/api/event.js'\nimport { setSession } from '@/utils/storage'\n\nlet cookieData = cookie.getShop()\nuseHead({\n  title: computed(() => `赛事中心-${ cookieData.shopName}`),\n  meta:[{\n    hid: 'keywords',\n    name: 'keywords',\n    content: '赛事中心'\n  },\n    {\n      hid: 'description',\n      name: 'description',\n      content: '赛事中心'\n    }]\n})\nconst route = useRoute()\nconst router = useRouter()\n\nconst ctrl = reactive({\n  dataOver: false\n})\nconst page = reactive({\n  size: 4,\n  current: 1,\n  total: 0\n})\nconst map = reactive({\n  eventId: route.query.id || '',\n  articleList: []\n})\n\nconst eventInfo = reactive({})\n\nonMounted(() => {\n  getEventPage()\n  getArticlePage()\n  setSession('eventPageId', route.query.id)\n})\n\nconst handleBanner = (row) => {\n  window.open(row.advUrl)\n}\n\nconst goDetail = (row) => {\n  router.push({\n    path: '/contest/view',\n    query: {\n      id: row.id\n    }\n  })\n}\nconst goArtView = (row) => {\n  const url = router.resolve({\n    path: '/contest/articleView',\n    query: {\n      id: row.id\n    }\n  })\n  window.open(url.href, '_blank')\n}\nconst handleCurrentChange = (v) => {\n  page.pageCurrent = v\n  getArticlePage()\n}\nconst getArticlePage = () => {\n  articlePage({\n    pageSize: page.size,\n    pageCurrent: page.current\n  }).then(res => {\n    map.articleList = res.list || []\n    page.current = res.pageCurrent\n    page.total = res.totalCount\n  })\n}\nconst title = ref('赛事动态')\nconst getEventPage = (id = '1607277309989670914') => {\n  eventPage(map.eventId).then(res => {\n    res.pagePublic.pageComponent = JSON.parse(res.pagePublic.pageComponent)\n    res.pagePublic.pageComponent = res.pagePublic.pageComponent.filter(i => {\n      return i.pageName\n    })\n    Object.assign(eventInfo,res)\n    console.log('eventInfo', eventInfo)\n    ctrl.dataOver = true\n\n    try {\n      const intro = JSON.parse(res.pagePublic.intro);\n      if (intro && intro.title) {\n        title.value = intro.title\n      }\n    } catch(e) {\n    }\n  })\n}\n\n</script>\n<style lang=\"scss\">\n.app-header {\n  position: fixed;\n  top: 0;\n  right: 0;\n  left: 0;\n  z-index: 1000;\n  background-color: #fff;\n  &.header-border{\n    border: 1px solid #EBEEF5;\n  }\n}\n.event_page {\n  min-height: 100vh;\n  padding-top: 66px;\n  background-color: #285CF2;\n}\n.carousel {\n  border-radius: 10px;\n  .article_img {\n    cursor: pointer;\n    width: 100%;\n    height: 100%;\n    object-fit: cover;\n  }\n  .el-carousel__indicators {\n    background: rgba(0, 0, 0, 0.2);\n    border-radius: 15px;\n    bottom: 20px;\n    padding: 0px 12px;\n    padding-right: 6px;\n    padding-bottom: 4px;\n  }\n  .el-carousel__button {\n    width: 9px;\n    height: 6px;\n    border-radius: 15px;\n    margin-right: 7px;\n  }\n  .is-active {\n    .el-carousel__button {\n      width: 15px;\n    }\n  }\n  .el-carousel__indicator--horizontal {\n    padding: 0;\n  }\n}\n</style>\n<style lang=\"scss\" scoped>\n.page_list {\n  width: 100%;\n  display: flex;\n  align-items: center;\n  justify-content: center;\n  margin-top: 15px;\n}\n.top_bg {\n  background-image: url('@/assets/images/top_bg.png');\n  background-repeat: no-repeat;\n  background-size: 100%;\n}\n.block {\n  margin-top: 20px;\n  margin-bottom: 20px;\n  display: flex;\n  justify-content: space-between;\n}\n.area_list {\n  border-radius: 10px;\n  padding: 20px;\n  border: 5px solid rgba(40, 92, 242, 0.2);\n  background-color: #fff;\n  display: flex;\n  flex-wrap: wrap;\n  gap: 20px;\n}\n.area_item {\n  cursor: pointer;\n  padding: 12px 20px;\n  font-weight: bold;\n  background-color: rgba(242, 243, 245, 0.5);\n  border-radius: 5px;\n  &:hover {\n    background-color: #285CF2;\n    color: #fff;\n  }\n}\n.article_box,.component_list {\n  position: relative;\n  background-color: #fff;\n  margin: 72px 0;\n  border: 5px solid rgba(40, 92, 242, 0.1);\n  border-radius: 0 10px 10px 10px;\n}\n.article_title,.component_title {\n  position: absolute;\n  top: -51px;\n  left: -5px;\n  background-repeat: no-repeat;\n  background-size: cover;\n  min-width: 220px;\n  display: flex;\n  height: 46px;\n  align-items: center;\n  padding-left: 20px;\n  .title_text {\n    margin-left: 8px;\n    margin-right: 35px;\n    color: #fff;\n    font-size: 20px;\n  }\n}\n.article_title {\n  background-image: url('@/assets/images/title_bg.png');\n}\n.component_title0 {\n  background-image: url('@/assets/images/title_bg1.png');\n}\n.component_title1 {\n  background-image: url('@/assets/images/title_bg2.png');\n}\n.component_title2 {\n  background-image: url('@/assets/images/title_bg3.png');\n}\n.component_content {\n  padding: 20px;\n  img {\n    margin: 0 auto;\n  }\n}\n.article_content {\n  padding: 15px;\n}\n.article_list {\n  display: flex;\n  gap: 20px;\n}\n.article_item {\n  background-color: rgba(242, 243, 245, 0.5);\n  padding: 20px;\n  border-radius: 5px;\n  width: 275px;\n  cursor: pointer;\n  &:hover {\n    background-color: #285CF2;\n    color: #fff;\n  }\n}\n.art_img {\n  width: 245px;\n  height: 136px;\n  border-radius: 5px;\n}\n.art_title {\n  margin-top: 10px;\n  font-size: 16px;\n}\n</style>\n"],"names":["_imports_0","cookieData","cookie","getShop","useHead","title","computed","shopName","meta","hid","name","content","route","useRoute","router","useRouter","ctrl","reactive","dataOver","page","size","current","total","map","eventId","query","id","articleList","eventInfo","onMounted","getEventPage","getArticlePage","setSession","handleCurrentChange","v","pageCurrent","articlePage","pageSize","then","res","list","totalCount","ref","eventPage","pagePublic","pageComponent","JSON","parse","filter","i","pageName","Object","assign","intro","value","e","row","window","open","advUrl","push","path","url","resolve","href"],"mappings":"8NAAA,MAAeA,EAAA,2kCC8Df,IAAAC,EAAAC,EAAAC,UACAC,EAAA,CACAC,MAAAC,GAAA,IAAA,QAAAL,EAAAM,aACAC,KAAA,CAAA,CACAC,IAAA,WACAC,KAAA,WACAC,QAAA,QAEA,CACAF,IAAA,cACAC,KAAA,cACAC,QAAA,WAGA,MAAAC,EAAAC,IACAC,EAAAC,IAEAC,EAAAC,EAAA,CACAC,UAAA,IAEAC,EAAAF,EAAA,CACAG,KAAA,EACAC,QAAA,EACAC,MAAA,IAEAC,EAAAN,EAAA,CACAO,QAAAZ,EAAAa,MAAAC,IAAA,GACAC,YAAA,KAGAC,EAAAX,EAAA,IAEAY,GAAA,KACAC,KACAC,IACAC,EAAA,cAAApB,EAAAa,MAAAC,GAAA,IAGA,MAqBAO,EAAAC,IACAf,EAAAgB,YAAAD,EACAH,GAAA,EAEAA,EAAA,KACAK,EAAA,CACAC,SAAAlB,EAAAC,KACAe,YAAAhB,EAAAE,UACAiB,MAAAC,IACAhB,EAAAI,YAAAY,EAAAC,MAAA,GACArB,EAAAE,QAAAkB,EAAAJ,YACAhB,EAAAG,MAAAiB,EAAAE,UAAA,GACA,EAEApC,GAAAqC,EAAA,QACAZ,GAAA,CAAAJ,EAAA,yBACAiB,EAAApB,EAAAC,SAAAc,MAAAC,IACAA,EAAAK,WAAAC,cAAAC,KAAAC,MAAAR,EAAAK,WAAAC,eACAN,EAAAK,WAAAC,cAAAN,EAAAK,WAAAC,cAAAG,QAAAC,GACAA,EAAAC,WAEAC,OAAAC,OAAAxB,EAAAW,GAEAvB,EAAAE,UAAA,EAEA,IACA,MAAAmC,EAAAP,KAAAC,MAAAR,EAAAK,WAAAS,OACAA,GAAAA,EAAAhD,QACAA,GAAAiD,MAAAD,EAAAhD,MAGA,OADAkD,GACA,IACA,mWArDAC,SACAC,OAAAC,KAAAF,EAAAG,QADA,IAAAH,sPAIAA,SACA1C,EAAA8C,KAAA,CACAC,KAAA,gBACApC,MAAA,CACAC,GAAA8B,EAAA9B,MAJA,IAAA8B,gPAQA,CAAAA,IACA,MAAAM,EAAAhD,EAAAiD,QAAA,CACAF,KAAA,uBACApC,MAAA,CACAC,GAAA8B,EAAA9B,MAGA+B,OAAAC,KAAAI,EAAAE,KAAA,SAAA"}