{"version":3,"file":"notice.e13243bc.mjs","sources":["../../../../pages/contest/notice.vue"],"sourcesContent":["<template>\r\n  <NuxtLayout>\r\n    <div class=\"article_page\">\r\n      <div class=\"navigation\">\r\n        <el-breadcrumb :separator-icon=\"ArrowRight\">\r\n          <el-breadcrumb-item :to=\"{ path: '/' }\">首页</el-breadcrumb-item>\r\n          <el-breadcrumb-item :to=\"{ path: '/contest/list' }\">创新大赛</el-breadcrumb-item>\r\n          <el-breadcrumb-item>\r\n            <div class=\"now_title\">{{ map.info.title }}</div>\r\n          </el-breadcrumb-item>\r\n        </el-breadcrumb>\r\n      </div>\r\n      <div v-if=\"map.info.id\" v-loading=\"ctrl.loading\" class=\"content\">\r\n        <div class=\"detail\">\r\n          <div class=\"top\">\r\n            <!-- <p>{{ map.info.title }}</p> -->\r\n            <p>关于举办空天科普短视频创作大赛的通知</p>\r\n            <div class=\"count\">\r\n              <span class=\"time\">{{ map.info.artTime }}</span>\r\n            </div>\r\n          </div>\r\n          <div class=\"bottom rich-text\">\r\n            <div class=\"text\" v-html=\"map.info.content\"></div>\r\n          </div>\r\n        </div>\r\n        <div class=\"hot\">\r\n          <p class=\"recommend\">赛事公告</p>\r\n          <!-- <template v-if=\"map.hotList.length > 0\"> -->\r\n            <!-- <div v-for=\"(i,index) in map.hotList\" :key=\"index\" class=\"item\" @click=\"viewDetail(i.id)\">\r\n              <p class=\"title\">{{i.title}}</p>\r\n              <p class=\"c_999 tx-ov flex-item\">{{i.readCount}}人已浏览</p>\r\n            </div> -->\r\n            <div class=\"item\" @click=\"viewNotice()\">\r\n              <p class=\"title\">关于优质课评比相关材料网络提交的指引</p>\r\n              <p class=\"c_999 tx-ov flex-item\">2020-07-08 16:06</p>\r\n            </div>\r\n            <div class=\"item\" @click=\"viewNotice()\">\r\n              <p class=\"title\">2022中国飞行器设计创新大赛评审成绩公布</p>\r\n              <p class=\"c_999 tx-ov flex-item\">2022-07-08 16:06</p>\r\n            </div>\r\n            <div class=\"item\" @click=\"viewNotice()\">\r\n              <p class=\"title\">关于举办空天科普短视频创作大赛的通知</p>\r\n              <p class=\"c_999 tx-ov flex-item\">2020-07-08 16:06</p>\r\n            </div>\r\n            <div class=\"item\" @click=\"viewNotice()\">\r\n              <p class=\"title\">关于公布2021-2022青少年电子信息智能创新大赛</p>\r\n              <p class=\"c_999 tx-ov flex-item\">2020-07-08 16:06</p>\r\n            </div>\r\n            <div class=\"item\" @click=\"viewNotice()\">\r\n              <p class=\"title\">关于公布2021-2022青少年电子信息智能创新大赛</p>\r\n              <p class=\"c_999 tx-ov flex-item\">2020-07-08 16:06</p>\r\n            </div>\r\n            <div class=\"pagination\">\r\n            <el-pagination\r\n              background layout=\"prev, pager, next\"\r\n              :total=\"5\"\r\n              :currentPage=\"1\"\r\n              :pageSize=\"5\"\r\n              @current-change=\"handleCurrentChange\"\r\n            >\r\n            </el-pagination>\r\n          </div>\r\n          <!-- </template> -->\r\n          <!-- <div class=\"no_data\" v-else>暂无数据</div> -->\r\n        </div>\r\n      </div>\r\n    </div>\r\n  </NuxtLayout>\r\n</template>\r\n\r\n<script setup>\r\nimport {ArrowRight} from '@element-plus/icons-vue'\r\nimport {articleHot, articleView} from '../../api/article.js'\r\nimport {forbidCopy} from '@/utils'\r\nimport cookie from '@/utils/cookies'\r\nimport {parseTime} from '@/utils/index.js';\r\n\r\nconst route = useRoute()\r\nconst router = useRouter()\r\nlet cookieData = cookie.getShop()\r\nconst nowDay = new Date().getTime()\r\nconst beginTime = parseTime(nowDay - 30 * 24 * 60 * 60 * 1000)\r\n// const {data, pending} = await useAsyncData('articleView', ({ssrContext}) => {\r\n//   const param = {\r\n//     id: route.query.id\r\n//   }\r\n//   if (process.server) {\r\n//     console.log('ssrContext', ssrContext.req.headers.host)\r\n//     param.websiteDomain = ssrContext.req.headers.host\r\n//   } else {\r\n//     param.websiteDomain = window.location.origin\r\n//   }\r\n//   return new Promise(async (resolve) => {\r\n//     // 课程列表的请求\r\n//     Promise.allSettled([\r\n//       articleView(param),\r\n//       articleHot({size: 6, beginTime}),\r\n//     ]).then(([articleInfo, hotList]) => {\r\n//       let data = {};\r\n//       if (hotList.status === 'fulfilled') {\r\n//         data.hotList = hotList.value\r\n//       } else {\r\n//         data.hotList = []\r\n//       }\r\n//       console.log('articleInfo', articleInfo)\r\n//       if (articleInfo.status === 'fulfilled') {\r\n//         data.articleInfo = articleInfo\r\n//       } else {\r\n//         data.articleInfo = {}\r\n//       }\r\n//       resolve(data)\r\n//     })\r\n//   })\r\n// }, {initialCache: false})\r\n\r\nconst map = reactive({\r\n  info: {\r\n    id: '1554699310161362945',\r\n    title: '关于举办空天科普短视频创作大赛的通知',\r\n    browserTitle: '关于举办空天科普短视频创作大赛的通知',\r\n    keywords: '',\r\n    detailsDescribe: '',\r\n    artTime: '2022-08-03 13:22:55',\r\n    readCount: 23,\r\n    gmtCreate: '2022-08-03 13:22:55',\r\n    gmtModified: '2022-12-14 15:06:49',\r\n    enableForbidContentCopy: false,\r\n    content: `<p>各有关单位及个人： </p><p>2022年，国产C919大飞机即将交付使用、运油20等一系列新型号陆续列装、探月探火科研成果频出、中国空间站建造进入收官阶段等，航空航天科技的发展不仅成为构筑我国科技创新的重要一环，也在悄然间改变了我们的生活方式。</p><p>为了推动航空航天领域科普工作的发展，中国航空学会将举办以“身边的航空航天故事”为主题的科普短视频创作大赛，现将有关事项通知如下：</p>`,\r\n  },\r\n  id: '',\r\n  hotList: []\r\n})\r\n\r\nconst ctrl = reactive({\r\n  loading: false\r\n})\r\n\r\nlet articleInfo = map.info;\r\n// if (!pending.value && data.value) {\r\n//   const d = data.value\r\n//   map.hotList = d.hotList\r\n//   map.info = d.articleInfo.value\r\n//   articleInfo = d.articleInfo\r\n// }\r\n\r\n\r\n// useHead({\r\n//   title: computed(() => `${articleInfo.value.browserTitle ? '关于举办空天科普短视频创作大赛的通知' : articleInfo.value.title}-${cookieData.shopName}`),\r\n//   meta: [{\r\n//     hid: 'keywords',\r\n//     name: 'keywords',\r\n//     content: articleInfo.value.keywords || articleInfo.value.title\r\n//   },\r\n//     {\r\n//       hid: 'description',\r\n//       name: 'description',\r\n//       content: articleInfo.value.detailsDescribe ? articleInfo.value.detailsDescribe : articleInfo.value.title\r\n//     }]\r\n// })\r\n\r\nuseHead({\r\n  title: computed(() => `${articleInfo.browserTitle ? '关于举办空天科普短视频创作大赛的通知' : articleInfo.title}-${cookieData.shopName}`),\r\n})\r\n\r\n\r\n// watch(\r\n//   route, async () => {\r\n//     if (route.query.id !== map.id) {\r\n//       map.id = route.query.id\r\n//       if (!map.id) return\r\n//       console.log('websiteDomain', window.location.origin)\r\n//       const articleInfo = await articleView({id: route.query.id, websiteDomain: window.location.origin});\r\n//       console.log('articleInfo', articleInfo)\r\n//       useHead({\r\n//         title: computed(() => `${articleInfo.title ? articleInfo.title : '赛事详情'}-${cookieData.shopName}`),\r\n//         meta: [\r\n//           {\r\n//             hid: 'keywords',\r\n//             name: 'keywords',\r\n//             content: articleInfo.title\r\n//           },\r\n//           {\r\n//             hid: 'description',\r\n//             name: 'description',\r\n//             content: articleInfo.title\r\n//           }\r\n//         ]\r\n//       })\r\n//       map.info = articleInfo\r\n//       getHotList()\r\n//     }\r\n//   }\r\n// );\r\n\r\nconst viewNotice = (id = '1554699310161362945') => {\r\n  router.push({\r\n    path: '/contest/notice',\r\n    query: {\r\n      id\r\n    }\r\n  })\r\n}\r\n\r\nconst handleCurrentChange = (v) => {\r\n  page.pageCurrent = v\r\n  document.querySelector('#app').scrollTop = 0\r\n  getHotList()\r\n}\r\n\r\nconst getHotList = () => {\r\n  articleHot({size: 6, beginTime}).then(res => {\r\n    map.hotList = res || []\r\n  })\r\n}\r\n\r\nonMounted(() => {\r\n  if (map.info.enableForbidContentCopy) {\r\n    forbidCopy('.content')\r\n    forbidCopy('.now_title')\r\n  }\r\n})\r\n\r\n</script>\r\n\r\n<style lang=\"scss\" scoped>\r\n.article_page {\r\n  width: 1200px;\r\n  margin: auto;\r\n  margin-bottom: 40px;\r\n}\r\n\r\n.navigation {\r\n  margin: 17px 0;\r\n\r\n  :deep(.el-breadcrumb__inner) {\r\n    color: #999;\r\n  }\r\n\r\n  :deep(.el-breadcrumb__inner.is-link) {\r\n    font-weight: normal;\r\n  }\r\n\r\n  .now_title {\r\n    width: 113px;\r\n    text-overflow: ellipsis;\r\n    overflow: hidden;\r\n    white-space: nowrap;\r\n    cursor: pointer;\r\n  }\r\n}\r\n\r\n.content {\r\n  position: relative;\r\n  display: flex;\r\n  justify-content: space-between;\r\n}\r\n\r\n.detail {\r\n  width: 820px;\r\n  box-sizing: border-box;\r\n  background: #fff;\r\n  border-radius: 5px;\r\n\r\n  .top {\r\n    padding: 20px;\r\n    border-bottom: 1px solid #EBEEF5;\r\n\r\n    p {\r\n      font-size: 24px;\r\n    }\r\n\r\n    .count {\r\n      margin-top: 10px;\r\n      color: #999999;\r\n    }\r\n  }\r\n\r\n  .bottom {\r\n    padding: 30px;\r\n    min-height: 305px;\r\n\r\n    .text {\r\n      font-size: 16px;\r\n      line-height: 32px;\r\n    }\r\n  }\r\n}\r\n\r\n.hot {\r\n  width: 360px;\r\n  height: 455px;\r\n  // position: fixed;\r\n  // top: 113px;\r\n  // right: calc((100% - 1200px) / 2);\r\n  background-color: #fff;\r\n  border-radius: 5px;\r\n  box-sizing: border-box;\r\n  padding: 15px;\r\n\r\n  .recommend {\r\n    font-size: 20px;\r\n    margin-bottom: 15px;\r\n  }\r\n\r\n  .no_data {\r\n    color: #999;\r\n    text-align: center;\r\n    //line-height: 353px;\r\n  }\r\n\r\n  .item {\r\n    display: flex;\r\n    flex-direction: column;\r\n    justify-content: space-between;\r\n    margin-bottom: 25px;\r\n    cursor: pointer;\r\n\r\n    .title {\r\n      overflow: hidden;\r\n      white-space: nowrap;\r\n      text-overflow: ellipsis;\r\n      word-break: break-all;\r\n    }\r\n\r\n    &:last-child {\r\n      margin-bottom: 0px;\r\n    }\r\n\r\n    &:hover p {\r\n      color: #2256F6;\r\n    }\r\n  }\r\n}\r\n\r\n</style>\r\n<style>\r\n.rich-text ul li {\r\n  position: relative;\r\n}\r\n\r\n.rich-text ul li:before {\r\n  content: \"\";\r\n  position: absolute;\r\n  left: -15px;\r\n  width: 10px;\r\n  top: 30%;\r\n  height: 10px;\r\n  border-radius: 50%;\r\n  background-color: #333333;\r\n}\r\n</style>\r\n"],"names":["useRoute","router","useRouter","cookieData","cookie","getShop","nowDay","Date","getTime","beginTime","parseTime","map","reactive","info","id","title","browserTitle","keywords","detailsDescribe","artTime","readCount","gmtCreate","gmtModified","enableForbidContentCopy","content","hotList","ctrl","loading","articleInfo","useHead","computed","shopName","viewNotice","push","path","query","handleCurrentChange","v","page","pageCurrent","document","querySelector","scrollTop","getHotList","articleHot","size","then","res","onMounted","forbidCopy"],"mappings":"64CA6EAA,IACA,MAAAC,EAAAC,IACA,IAAAC,EAAAC,EAAAC,UACA,MAAAC,GAAA,IAAAC,MAAAC,UACAC,EAAAC,EAAAJ,EAAA,QAkCAK,EAAAC,EAAA,CACAC,KAAA,CACAC,GAAA,sBACAC,MAAA,qBACAC,aAAA,qBACAC,SAAA,GACAC,gBAAA,GACAC,QAAA,sBACAC,UAAA,GACAC,UAAA,sBACAC,YAAA,sBACAC,yBAAA,EACAC,QAAA,8MAEAV,GAAA,GACAW,QAAA,KAGAC,EAAAd,EAAA,CACAe,SAAA,IAGA,IAAAC,EAAAjB,EAAAE,KAuBAgB,EAAA,CACAd,MAAAe,GAAA,IAAA,GAAAF,EAAAZ,aAAA,qBAAAY,EAAAb,SAAAZ,EAAA4B,eAiCA,MAAAC,EAAA,CAAAlB,EAAA,yBACAb,EAAAgC,KAAA,CACAC,KAAA,kBACAC,MAAA,CACArB,OAEA,EAGAsB,GAAAC,IACAC,KAAAC,YAAAF,EACAG,SAAAC,cAAA,QAAAC,UAAA,EACAC,IAAA,EAGAA,GAAA,KACAC,EAAA,CAAAC,KAAA,EAAApC,cAAAqC,MAAAC,IACApC,EAAAc,QAAAsB,GAAA,EAAA,GACA,SAGAC,GAAA,KACArC,EAAAE,KAAAU,0BACA0B,EAAA,YACAA,EAAA,cACA"}