index.vue 4.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208
  1. <template>
  2. <view class="dljt-index-page">
  3. <MtaNavbar></MtaNavbar>
  4. <view class="uni-margin-wrap">
  5. <swiper class="swiper" circular :indicator-dots="true" :autoplay="true" :interval="5000">
  6. <swiper-item v-for="item in banners" :key="item.id" @click="handleBannerSelect(item)">
  7. <image :src="item.pic"></image>
  8. </swiper-item>
  9. </swiper>
  10. </view>
  11. <view>
  12. <listTwoVue v-for="item in data.xinwen" :key="item.id" :data="item" @click.native="handleClickXinwen(item)"
  13. class=index-xinwen-box></listTwoVue>
  14. <view v-if="data.xinwenTotal>3" @click="handleXinwenGengDuo">更多</view>
  15. </view>
  16. <br />
  17. <view>
  18. <view>通知公告</view>
  19. <view v-for="item in data.gonggao" :key="item.id" @click="handleClickGonggao(item)">
  20. {{item}}
  21. </view>
  22. <view v-if="data.xiaowuTotal>5" @click="getTongzhigengduo">更多</view>
  23. </view>
  24. <br />
  25. <view>
  26. 校务: {{data.xiaowu}}
  27. <view>校务公开</view>
  28. <view v-for="item in data.xiaowu" :key="item.id" @click="handleClickXiaowu(item)">
  29. {{item}}
  30. </view>
  31. <view v-if="data.xiaowuTotal>5" @click="getXiaowuGengduo">更多</view>
  32. </view>
  33. <!-- 招生就业 -->
  34. <view class="website-zsjy-title">
  35. <p>招生就业</p>
  36. </view>
  37. <view class="zsjy-box">
  38. <view class="wnlqfs-box" @click="goFun('wnlqfs')">
  39. <p>往年录取分数</p>
  40. </view>
  41. <view class="xqhz-box" @click="goFun('xwhz')">
  42. <p>校企合作</p>
  43. </view>
  44. </view>
  45. <MtaFooter></MtaFooter>
  46. <!-- 底部导航 -->
  47. <MtaTabBar></MtaTabBar>
  48. </view>
  49. </template>
  50. <script setup>
  51. import {
  52. ref,
  53. reactive
  54. } from "vue";
  55. import {
  56. onLoad
  57. } from "@dcloudio/uni-app"
  58. import * as httpApi from "@/api/common.js"
  59. import MtaNavbar from "@/components/MtaNavbar/MtaNavbar.vue";
  60. import listTwoVue from "@/components/MtaCard/listTwo.vue";
  61. import MtaTabBar from "@/components/MtaTabBar/MtaTabBar.vue";
  62. import MtaFooter from "@/components/MtaFooter.vue"
  63. import default2 from '@/static/images/common/news-bj2.png'
  64. const banners = ref('');
  65. const data = reactive({
  66. xinwen: [],
  67. xinwenTotal: 0,
  68. gonggao: [],
  69. gonggaoTotal: 0,
  70. xiaowu: [],
  71. xiaowuTotal: 0,
  72. isGonggao: true,
  73. })
  74. onLoad(() => {
  75. pageInit();
  76. })
  77. function goFun(code) {
  78. if (code == 'wnlqfs') {
  79. uni.navigateTo({
  80. url: '/pages/zsjyWangnianluqufenshu/zsjyWangnianluqufenshu'
  81. })
  82. } else {
  83. uni.navigateTo({
  84. url: '/pages/zsjyXiaoqihezuo/zsjyXiaoqihezuo'
  85. })
  86. }
  87. }
  88. function handleClickXinwen(item) {
  89. uni.navigateTo({
  90. url:`/pages/xydtXueyuanxinwenInfo/xydtXueyuanxinwenInfo?id=${item.id}`
  91. })
  92. }
  93. function getXiaowuGengduo() {
  94. uni.navigateTo({
  95. url: `/pages/xydtXiaowugongkai/xydtXiaowugongkai`
  96. })
  97. }
  98. function handleClickGonggao(item) {
  99. uni.navigateTo({
  100. url:`/pages/xydtTongzhigonggaoInfo/xydtTongzhigonggaoInfo?id=${item.id}`
  101. })
  102. }
  103. function handleClickXiaowu(item) {
  104. uni.navigateTo({
  105. url: `/pages/xydtXiaowugongkaiInfo/xydtXiaowugongkaiInfo?id=${item.id}`
  106. })
  107. }
  108. function getTongzhigengduo() {
  109. uni.navigateTo({
  110. url: `/pages/xydtTongzhigonggao/xydtTongzhigonggao`
  111. })
  112. }
  113. function handleXinwenGengDuo() {
  114. uni.navigateTo({
  115. url: `/pages/xydtXueyuanxingwen/xydtXueyuanxingwen`
  116. })
  117. }
  118. function handleBannerSelect(item) {
  119. if (item.url) {
  120. window.location.href = item.url;
  121. }
  122. }
  123. function changeGonggao() {
  124. if (this.isGonggao) {
  125. return true
  126. }
  127. data.isGonggao = true;
  128. getGonggao()
  129. }
  130. function changeXiaowu() {
  131. if (!this.isGonggao) {
  132. return true
  133. }
  134. data.isGonggao = false;
  135. getXiaowu()
  136. }
  137. function getGonggao() {
  138. httpApi.getCommonXinwenTongzhiList().then(res => {
  139. data.gonggao = res.data.data;
  140. data.gonggaoTotal = res.data.total;
  141. })
  142. }
  143. function getXiaowu() {
  144. httpApi.getCommonXinwenXiaowuList().then(res => {
  145. data.xiaowu = res.data.data;
  146. data.xiaowuTotal = res.data.total;
  147. })
  148. }
  149. function pageInit() {
  150. Promise.all([
  151. httpApi.getCommonBanners({
  152. size: 1000
  153. }),
  154. httpApi.getCommonXinwenYuanxiaoList({
  155. page: 1,
  156. size: 3
  157. }),
  158. httpApi.getCommonXinwenTongzhiList({
  159. page: 1,
  160. size: 5
  161. }),
  162. httpApi.getCommonXinwenXiaowuList({
  163. page: 1,
  164. size: 5
  165. })
  166. ]).then(([res1, res2, res3, res4]) => {
  167. banners.value = res1.data.data;
  168. data.xinwen = res2.data.data;
  169. data.xinwenTotal = res2.data.total;
  170. data.gonggao = res3.data.data;
  171. data.gonggaoTotal = res3.data.total;
  172. data.xiaowu = res4.data.data;
  173. data.xiaowuTotal = res4.data.total;
  174. })
  175. }
  176. </script>
  177. <style lang="scss">
  178. </style>