{"version":3,"file":"event.17e362b8.mjs","sources":["../../../../pages/account/event.vue"],"sourcesContent":["<template>\r\n  <NuxtLayout name=\"account\">\r\n     <div class=\"page-account-course\">\r\n       <el-tabs v-model=\"courseType\" class=\"demo-tabs\">\r\n         <el-tab-pane\r\n           v-for=\"(item, index) in data.tabsList\"\r\n           :key=\"index\"\r\n           :label=\"item.desc\"\r\n           :name=\"item.code\"\r\n         ></el-tab-pane>\r\n       </el-tabs>\r\n       <div class=\"list\" v-if=\"data.list.length\">\r\n         <div class=\"item\" v-for=\"(item, index) in data.list\" :key=\"index\">\r\n           <div class=\"rt\">\r\n             <div class=\"flex-sub\">\r\n              <div class=\"name\">{{ item.eventInfo.eventAreaName }}({{ item.pageName }})</div>\r\n              <div class=\"desc\" v-html=\"item.eventInfo.eventDesc\"></div>\r\n              <div class=\"time\">\r\n                <span>{{ item.eventInfo.beginTime }} ~ {{ item.eventInfo.endTime }}</span>\r\n              </div>\r\n              </div>\r\n             <div class=\"bottom\">\r\n               <el-button\r\n                  class=\"btn\"\r\n                  @click.stop=\"openEntry(item)\"\r\n                >报名信息</el-button>\r\n               <el-button\r\n                  class=\"btn\"\r\n                  type=\"primary\"\r\n                  @click.stop=\"goEntryView(item)\"\r\n               >进入赛事</el-button>\r\n             </div>\r\n           </div>\r\n         </div>\r\n       </div>\r\n       <client-only v-if=\"data.pages > 1\">\r\n         <el-pagination\r\n           class=\"pagination\"\r\n           v-model:currentPage=\"data.current\"\r\n           layout=\"prev, pager, next, jumper\"\r\n           :total=\"data.totalCount\"\r\n           background\r\n           @current-change=\"handleCurrentChange\"\r\n         >\r\n         </el-pagination>\r\n       </client-only>\r\n       <event-user-entry v-if=\"ctrl.entry\" v-model=\"ctrl.entry\" :event-info=\"ctrl.info\" @callback=\"getData\" />\r\n     </div>\r\n  </NuxtLayout>\r\n</template>\r\n\r\n<script setup>\r\n\r\nimport { userEventPage } from \"~/api/event\";\r\nuseHead({\r\ntitle:'我的赛事'\r\n});\r\n\r\nconst router = useRouter();\r\nconst courseType = ref(\"\");\r\nconst data = reactive({\r\ntabsList: [{code: '', desc: '全部赛事'}],\r\nCourseTypeEnum:{},\r\nlist: [],\r\npages: 0,\r\ncurrent: 1,\r\ntotalCount: 0\r\n});\r\nconst ctrl = reactive({\r\n  entry: false,\r\n  info: {}\r\n})\r\nconst route = useRoute()\r\nonMounted(() => {\r\nif(route.query.courseType){\r\n courseType.value = Number(route.query.courseType)\r\n}\r\ngetData();\r\n})\r\n\r\nconst goEntryView = (row) => {\r\nrouter.push({\r\n path:`/contest/view`,\r\n query:{\r\n   id:row.eventId\r\n }\r\n})\r\n}\r\nconst openEntry = (row) => {\r\n  ctrl.info = row\r\n  ctrl.entry = true\r\n}\r\n\r\nconst handleCurrentChange = (val) => {\r\ngetData(val);\r\ndocument.querySelector('#app').scrollTop = 150\r\n};\r\n\r\nconst getData = (page = 1) => {\r\nuserEventPage({\r\n pageCurrent: page,\r\n pageSize: 10,\r\n}).then((res) => {\r\n console.log('res', res)\r\n if (res) {\r\n   data.list = res.list;\r\n   data.pages = res.totalPage;\r\n   data.current = res.pageCurrent;\r\n   data.totalCount = res.totalCount\r\n }\r\n});\r\n};\r\n</script>\r\n\r\n<style lang=\"scss\">\r\n.page-account-course {\r\n.el-tabs__header {\r\n margin: 0;\r\n}\r\n.el-tabs__nav-wrap {\r\n padding: 0 30px;\r\n}\r\n.el-tabs__nav {\r\n padding: 10px 0;\r\n}\r\n}\r\n</style>\r\n<style lang=\"scss\" scoped>\r\n.list {\r\npadding: 0 30px;\r\n.item {\r\n padding: 30px 0;\r\n border-bottom: 1px solid #EBEEF5;\r\n display: flex;\r\n flex-wrap: wrap;\r\n .pic {\r\n   width: 180px;\r\n   height: 100px;\r\n   border-radius: 5px;\r\n   overflow: hidden;\r\n   position: relative;\r\n   color: #333;\r\n   cursor: pointer;\r\n   img {\r\n     width: 100%;\r\n     height: 100%;\r\n     object-fit: cover;\r\n   }\r\n   .label {\r\n     position: absolute;\r\n     left: 5px;\r\n     bottom: 5px;\r\n     background: rgba(0, 0, 0, 0.5);\r\n     border-radius: 5px;\r\n     color: #fff;\r\n     padding: 2px 5px;\r\n     font-style: normal;\r\n     font-weight: 400;\r\n     font-size: 10px;\r\n   }\r\n }\r\n .rt {\r\n   display: flex;\r\n   flex: 1;\r\n   position: relative;\r\n   .flex-sub {\r\n     flex: 1;\r\n   }\r\n   .name {\r\n     width: 460px;\r\n     font-size: 16px;\r\n     overflow: hidden;\r\n     text-overflow: ellipsis;\r\n     white-space: nowrap;\r\n   }\r\n   .desc {\r\n      color: #999;\r\n      font-size: 14px;\r\n      overflow: hidden;\r\n      -webkit-line-clamp: 3;\r\n      text-overflow: ellipsis;\r\n      display: -webkit-box;\r\n      -webkit-box-orient: vertical;\r\n   }\r\n   .time,.have {\r\n     color: #999;\r\n     margin-top: 5px;\r\n     font-size: 14px;\r\n   }\r\n   .red{\r\n     color: #F23C3C;\r\n   }\r\n   .have_item{\r\n     padding-right: 12px;\r\n   }\r\n   .have_item+.have_item{\r\n     padding-left: 10px;\r\n     position: relative;\r\n   }\r\n   .have_item+.have_item:before{\r\n     width: 0;\r\n     height: 10px;\r\n     padding-left: 1px;\r\n     background-color: #BECADB;\r\n     content: '';\r\n     position: absolute;\r\n     left: 0;\r\n     top: 25%;\r\n   }\r\n   .bottom {\r\n     display: flex;\r\n     justify-content: space-between;\r\n     align-items: flex-end;\r\n     .btn {\r\n       width: 100px;\r\n       height: 40px;\r\n       border-radius: 5px;\r\n     }\r\n   }\r\n   .cgray {\r\n     color: #999;\r\n\r\n     width: 161px;\r\n\r\n   }\r\n   .cred {\r\n     color: #999999;\r\n   }\r\n }\r\n}\r\n}\r\n.cgray :deep(.el-progress__text span){\r\nfont-size: 12px;\r\nmargin-left: 10px;\r\ncolor: #999999;\r\n}\r\n.cgray :deep(.el-progress){\r\nalign-items: center;\r\n}\r\n.bottom .btn:hover {\r\nbackground: #2256F6;\r\ncolor: #FFFFFF;\r\n}\r\n.success_progress{\r\ncolor: #6FCF97;\r\n}\r\n</style>\r\n"],"names":["useHead","title","router","useRouter","courseType","ref","data","reactive","tabsList","code","desc","CourseTypeEnum","list","pages","current","totalCount","ctrl","entry","info","route","useRoute","onMounted","query","value","Number","handleCurrentChange","val","getData","document","querySelector","scrollTop","page","userEventPage","pageCurrent","pageSize","then","res","totalPage","row","push","path","id","eventId"],"mappings":"yeAsDAA,EAAA,CACAC,MAAA,SAGA,MAAAC,EAAAC,IACAC,EAAAC,EAAA,IACAC,EAAAC,EAAA,CACAC,SAAA,CAAA,CAAAC,KAAA,GAAAC,KAAA,SACAC,eAAA,CAAA,EACAC,KAAA,GACAC,MAAA,EACAC,QAAA,EACAC,WAAA,IAEAC,EAAAT,EAAA,CACAU,OAAA,EACAC,KAAA,CAAA,IAEAC,EAAAC,IACAC,GAAA,KACAF,EAAAG,MAAAlB,aACAA,EAAAmB,MAAAC,OAAAL,EAAAG,MAAAlB,oBAKA,MAaAqB,EAAAC,IACAC,EAAAD,GACAE,SAAAC,cAAA,QAAAC,UAAA,GAAA,EAGAH,EAAA,CAAAI,EAAA,KACAC,EAAA,CACAC,YAAAF,EACAG,SAAA,KACAC,MAAAC,IAEAA,IACA9B,EAAAM,KAAAwB,EAAAxB,KACAN,EAAAO,MAAAuB,EAAAC,UACA/B,EAAAQ,QAAAsB,EAAAH,YACA3B,EAAAS,WAAAqB,EAAArB,WACA,GACA,8xBAtBAuB,IACAtB,EAAAE,KAAAoB,OACAtB,EAAAC,OAAA,GAFA,IAAAqB,kHARAA,SACApC,EAAAqC,KAAA,CACAC,KAAA,gBACAlB,MAAA,CACAmB,GAAAH,EAAAI,WAJA,IAAAJ"}