| | |
| | | <template> |
| | | <div class="footerBox">FOOT</div> |
| | | <div class="pageFooter"> |
| | | <div class="footerContent contentBox flex"> |
| | | <div class="infoBox"> |
| | | <ul class="linkBox"> |
| | | <li class="link" @click="innerLink(item)" v-for="(item, index) in linkList" :key="index"> |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | <ul class="linkBox"> |
| | | <li class="link" @click="innerLink(item)" v-for="(item, index) in newList" :key="index"> |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | <ul class="linkBox"> |
| | | <li |
| | | class="link" |
| | | @click="toAboutus(item)" |
| | | v-for="(item, index) in serviceList" |
| | | :key="index" |
| | | > |
| | | {{ item.name }} |
| | | </li> |
| | | </ul> |
| | | <ul class="linkBox"> |
| | | <li class="link" @click="toAboutus({ name: '天猫旗舰店' })">天猫旗舰店</li> |
| | | <li |
| | | class="link" |
| | | style="opacity: 1; font-size: 16px" |
| | | @click="toAboutus({ name: '京东旗舰店' })" |
| | | > |
| | | 京东旗舰店 |
| | | </li> |
| | | </ul> |
| | | </div> |
| | | <div class="QRCodeBox"> |
| | | <div style="font-size: 16px; color: #fff">媒体矩阵</div> |
| | | <div class="codeItem"> |
| | | <img src="@/assets/images/pageFooter/xieheCode.png" /> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <el-divider |
| | | style="border-color: rgba(255, 255, 255, 0.25); width: 1369px; margin: auto" |
| | | ></el-divider> |
| | | <div class="copyrightBox"> |
| | | <span |
| | | >中国协和医科大学出版社有限公司 丨 备案序号:<span class="beian" @click="toLink" |
| | | >京ICP备 05029104号-4互联网出版许可证 新出网证 (京 )</span |
| | | > |
| | | </span> |
| | | <span style="display: block">Copyright©2013 中国协和医科大学出版社有限公司 版权所有!</span> |
| | | </div> |
| | | <teacherCertification :isShow="teacherDialog" @dialog-Change="dialogChange" /> |
| | | </div> |
| | | </template> |
| | | |
| | | <script setup lang="ts"></script> |
| | | <script setup lang="ts"> |
| | | import { inject, onMounted, reactive, ref } from 'vue' |
| | | import teacherCertification from '@/views/personalCenter/teacherCertification.vue' |
| | | const MG = inject('MG') |
| | | const config = inject('config') |
| | | import { useRouter, useRoute } from 'vue-router' |
| | | const router = useRouter() |
| | | import { ElMessage } from 'element-plus' |
| | | const logIn = inject('logIn') |
| | | const toLinkList = reactive([]) |
| | | const thirdPartyLink = reactive([]) |
| | | let teacherDialog = ref(false) |
| | | onMounted(() => { |
| | | getBanner() |
| | | getLinkList() |
| | | }) |
| | | |
| | | <style scoped> |
| | | .footerBox { |
| | | width: 100%; |
| | | height: 240px; |
| | | min-width: 1200px; |
| | | color: #fff; |
| | | background-color: #f0f0f0; |
| | | text-align: center; |
| | | const dialogChange = (val) => { |
| | | getTeacherInfo() |
| | | if (val == false) { |
| | | teacherDialog.value = false |
| | | } else { |
| | | teacherDialog.value = true |
| | | } |
| | | } |
| | | |
| | | //教师信息 |
| | | function getTeacherInfo() { |
| | | const data = { |
| | | start: 0, |
| | | size: 10, |
| | | topicIdOrRefCode: 'teacherRoleApproval', |
| | | appRefCode: config.appRefCode, |
| | | sort: { |
| | | type: 'Desc', |
| | | field: 'CreateDate', |
| | | }, |
| | | } |
| | | MG.ugc.getTopicMessageList(data).then((res) => { |
| | | try { |
| | | const resData = res.datas.find((i) => i.appUserCreator.userId == userId.value) |
| | | if (resData) { |
| | | teacherState.value = resData.state |
| | | if (resData.feedBack != null) { |
| | | reasonTxt.value = JSON.parse(resData.feedBack).reason |
| | | } |
| | | } else { |
| | | teacherState.value = '' |
| | | } |
| | | loading.value = false |
| | | } catch (error) { |
| | | loading.value = false |
| | | } |
| | | }) |
| | | } |
| | | |
| | | const getBanner = () => { |
| | | MG.resource |
| | | .getItem({ |
| | | path: 'friendshipLink', |
| | | fields: { link: [] }, |
| | | paging: { start: 0, size: 99 }, |
| | | }) |
| | | .then((res) => { |
| | | console.log(res, 'link') |
| | | toLinkList.push(...res.datas) |
| | | }) |
| | | } |
| | | const getLinkList = () => { |
| | | MG.resource |
| | | .getItem({ |
| | | path: 'purchaseMethod', |
| | | fields: { link: [] }, |
| | | paging: { start: 0, size: 99 }, |
| | | }) |
| | | .then((res) => { |
| | | toLinkList.push(...res.datas) |
| | | console.log(toLinkList, 'toLinkList') |
| | | }) |
| | | } |
| | | |
| | | const innerLink = (item) => { |
| | | console.log(item, 'item') |
| | | switch (item.name) { |
| | | case '关于我们': |
| | | router.push('/aboutUs') |
| | | break |
| | | case '联系我们': |
| | | router.push('/aboutUs') |
| | | break |
| | | case '意见反馈': |
| | | ElMessage({ |
| | | message: '建设中...', |
| | | type: 'warning', |
| | | }) |
| | | break |
| | | case '操作指南': |
| | | ElMessage({ |
| | | message: '建设中...', |
| | | type: 'warning', |
| | | }) |
| | | break |
| | | case '教师认证': |
| | | console.log(localStorage.getItem(config.tokenKey)) |
| | | |
| | | if (localStorage.getItem(config.tokenKey)) { |
| | | teacherDialog.value = true |
| | | } else { |
| | | logIn() |
| | | } |
| | | break |
| | | default: |
| | | break |
| | | } |
| | | } |
| | | |
| | | const toAboutus = (item) => { |
| | | console.log(item.name, 'item') |
| | | const currentLink = toLinkList.find((i) => i.name === item.name) |
| | | console.log(currentLink, 'currentLink') |
| | | console.log(toLinkList, 'toLinkList') |
| | | if (currentLink) { |
| | | window.open(currentLink.link) |
| | | } |
| | | } |
| | | |
| | | const linkList = reactive([ |
| | | { |
| | | name: '关于我们', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '关于我们', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '联系我们', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '意见反馈', |
| | | url: '', |
| | | }, |
| | | ]) |
| | | const newList = reactive([ |
| | | { |
| | | name: '新手上路', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '操作指南', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '教师认证', |
| | | url: '', |
| | | }, |
| | | ]) |
| | | const serviceList = reactive([ |
| | | { |
| | | name: '友情链接', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '国家科学技术部', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '国家卫生健康委', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '国家教育部', |
| | | url: '', |
| | | }, |
| | | { |
| | | name: '北京市卫生健康委', |
| | | url: '', |
| | | }, |
| | | ]) |
| | | </script> |
| | | |
| | | <style lang="less" scoped> |
| | | .pageFooter { |
| | | background: #444444; |
| | | background-image: url('@/assets/images/xiehe/home/footer-bg.png'); |
| | | background-repeat: no-repeat; |
| | | background-size: 100% 100%; |
| | | .footerContent { |
| | | padding: 30px 0; |
| | | justify-content: start; |
| | | .infoBox { |
| | | display: flex; |
| | | .linkBox { |
| | | font-size: 16px; |
| | | margin-left: 50px; |
| | | .link { |
| | | padding-right: 15px; |
| | | cursor: pointer; |
| | | color: #fff; |
| | | margin-top: 20px; |
| | | font-size: 14px; |
| | | |
| | | opacity: 0.7; |
| | | &::after { |
| | | margin-left: 15px; |
| | | } |
| | | &:last-child::after { |
| | | display: none; |
| | | } |
| | | &:first-child { |
| | | color: #fff; |
| | | opacity: 1; |
| | | font-size: 16px; |
| | | margin-bottom: 10px; |
| | | } |
| | | } |
| | | } |
| | | .address { |
| | | margin-top: 30px; |
| | | font-size: 14px; |
| | | color: #ccc; |
| | | span { |
| | | margin-right: 30px; |
| | | } |
| | | } |
| | | .logo { |
| | | height: 50px; |
| | | margin-top: 30px; |
| | | img { |
| | | height: 100%; |
| | | } |
| | | } |
| | | } |
| | | .QRCodeBox { |
| | | margin-left: 240px; |
| | | |
| | | .codeItem { |
| | | display: inline-block; |
| | | text-align: center; |
| | | p { |
| | | font-size: 16px; |
| | | } |
| | | img { |
| | | width: 100px; |
| | | height: 100px; |
| | | margin-top: 20px; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | .copyrightBox { |
| | | text-align: center; |
| | | color: #fff; |
| | | |
| | | height: 80px; |
| | | line-height: 40px; |
| | | font-size: 14px; |
| | | // border-top: 1px solid #ccc; |
| | | .beian { |
| | | cursor: pointer; |
| | | } |
| | | .beian:hover { |
| | | color: blue; |
| | | } |
| | | } |
| | | } |
| | | </style> |