index.vue 5.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272
  1. <template>
  2. <view>
  3. <!-- 首页风格切换-1-切换风格 -->
  4. <view class="top_bg_color" v-if="index_type == 1">
  5. <view class="bg_img" :style="{backgroundImage:'url('+top_bg_color_img+')'}"></view>
  6. <t-i-navbar :mine_code="mine_code" :navbar_bg_color="navbar_bg_color"></t-i-navbar>
  7. <t-i-notice :text="text"></t-i-notice>
  8. <t-i-banner :banner="banners" :mine_code="mine_code" @change_top_bg_color_img="change_top_bg_color_img"></t-i-banner>
  9. </view>
  10. <!-- 首页风格切换-2-默认风格 -->
  11. <view v-if="index_type == 2">
  12. <t-i-navbar-2 :mine_code="mine_code"></t-i-navbar-2>
  13. <t-i-notice-2 :text="text"></t-i-notice-2>
  14. <t-i-banner-2 :banner="banners" :mine_code="mine_code" @change_top_bg_color_img="change_top_bg_color_img"></t-i-banner-2>
  15. </view>
  16. <!-- 固定入口 -->
  17. <t-i-icon :iconList="iconList" :mine_code="mine_code"></t-i-icon>
  18. <!-- 常用功能 -->
  19. <t-i-common v-if="mine_code == 'ningdongyunying'"></t-i-common>
  20. <!-- 新闻列表 -->
  21. <t-i-news :newsList="newsList" :mine_code="mine_code"></t-i-news>
  22. <!-- 开屏通告 -->
  23. <openingNotice></openingNotice>
  24. <!-- 宁东运营 -->
  25. <view v-if="mine_code == 'ningdongyunying'">
  26. <t-i-ningdongyunying :mine_code="mine_code"></t-i-ningdongyunying>
  27. </view>
  28. <!-- 金家渠 -->
  29. <view v-if="mine_code == 'jinjiaqu'">
  30. <t-i-jinjiaqu :mine_code="mine_code"></t-i-jinjiaqu>
  31. </view>
  32. <!-- 羊场湾 -->
  33. <view v-if="mine_code == 'yangchangwan'">
  34. <t-i-yangchangwan :mine_code="mine_code" :home_link="home_link"></t-i-yangchangwan>
  35. </view>
  36. </view>
  37. </template>
  38. <script>
  39. import {
  40. set_base_url
  41. } from '@/common/set_base_url.js'
  42. // 版本控制
  43. import upApp from "@/uni_modules/uni-upgrade-center-app/utils/check-update"
  44. export default {
  45. data() {
  46. return {
  47. // 当前煤矿编码
  48. mine_code: "",
  49. // 首页接口的基础请求路径 默认为当前矿编码的基础路径
  50. base_url: " ",
  51. // 轮播图
  52. banners: [],
  53. // 新闻列表
  54. newsList: "",
  55. // 值班公告
  56. text: "暂无公告。",
  57. // 固定入口
  58. iconList: [],
  59. // 首页链接
  60. home_link: [],
  61. // 背景色
  62. top_bg_color_img: "",
  63. // 标题栏背景色
  64. navbar_bg_color: "",
  65. index_type:1
  66. }
  67. },
  68. onPullDownRefresh() {
  69. uni.reLaunch({
  70. url: "./index"
  71. })
  72. setTimeout(function() {
  73. uni.stopPullDownRefresh();
  74. }, 1000);
  75. },
  76. onLoad() {
  77. // 风格定义
  78. this.$api.home_style_setting({
  79. }).then((res)=>{
  80. // console.log(res.data.data)
  81. this.index_type = res.data.data.value
  82. })
  83. // 初始化当前煤矿编码
  84. this.mine_code = uni.getStorageSync('mine_code')
  85. // 检查更新
  86. upApp()
  87. // token过期验证
  88. this.$api.worksheet_classify_list({
  89. }).then((res) => {
  90. // console.log(res)
  91. if (res.data.code == 401) {
  92. uni.showToast({
  93. icon: "none",
  94. title: "登录失效、请重新登录"
  95. })
  96. uni.clearStorageSync('Authorization');
  97. setTimeout(function() {
  98. uni.redirectTo({
  99. url: "../../my/login/login"
  100. })
  101. }, 1500)
  102. } else {
  103. // console.log(res)
  104. }
  105. })
  106. },
  107. onPageScroll: function(e) {
  108. if (e.scrollTop > 350) {
  109. this.navbar_bg_color = "#009fe8"
  110. } else {
  111. this.navbar_bg_color = ""
  112. }
  113. },
  114. onShow() {
  115. // E信-切换矿
  116. uni.$on('update_kuang', (data) => {
  117. console.log('监听到事件来自 update_kuang ,携带参数 msg 为:' + data.msg);
  118. this.mine_code = data.msg
  119. console.log(this.mine_code)
  120. })
  121. this.$forceUpdate()
  122. // 根据矿编码切换首页接口不同的请求基础路径
  123. this.base_url = set_base_url(this.mine_code)
  124. // 获取轮播图
  125. this.get_banner()
  126. // 获取首页新闻列表
  127. this.getNews()
  128. // 值班公告
  129. this.get_notice()
  130. // 固定入口
  131. this.get_list()
  132. this.get_home_link()
  133. },
  134. methods: {
  135. // 获取轮播图
  136. get_banner() {
  137. uni.request({
  138. url: this.base_url + "/scrollImg/list",
  139. method: "GET",
  140. success: (res) => {
  141. this.banners = res.data.data.data
  142. this.top_bg_color_img = this.banners[0].imgURL
  143. }
  144. })
  145. },
  146. // 请求新闻动态
  147. getNews() {
  148. uni.request({
  149. url: this.base_url + "/article/list",
  150. method: "GET",
  151. data: {
  152. pageSize: 4
  153. },
  154. success: (res) => {
  155. this.newsList = res.data.data.data
  156. }
  157. })
  158. },
  159. // 值班公告
  160. get_notice() {
  161. uni.request({
  162. url: this.base_url + "/notice/list",
  163. method: "GET",
  164. success: (res) => {
  165. if (!res.data.data.content) {
  166. this.text = res.data.data.message
  167. } else {
  168. this.text = res.data.data.content.replace(/<br /g, " ").replace(/>/g, " ").replace(
  169. /\//g, " ")
  170. // console.log(this.text)
  171. }
  172. }
  173. })
  174. },
  175. // 固定入口
  176. get_list() {
  177. // uni.request({
  178. // url: this.base_url + "/homeNav/list",
  179. // method: "GET",
  180. // success: (res) => {
  181. // // this.iconList = res.data.data.data.slice(0, 5)
  182. // this.iconList = res.data.data.data
  183. // }
  184. // })
  185. uni.request({
  186. url: this.base_url + "/homeNav/listByCategory",
  187. method: "GET",
  188. success: (res) => {
  189. // console.log(res.data)
  190. this.iconList = res.data.data
  191. }
  192. })
  193. },
  194. // 首页链接
  195. get_home_link() {
  196. uni.request({
  197. url: this.base_url + "/home/links",
  198. method: "GET",
  199. success: (res) => {
  200. // console.log(res)
  201. this.home_link = res.data.data
  202. }
  203. })
  204. },
  205. // 切换背景图片
  206. change_top_bg_color_img(index) {
  207. this.top_bg_color_img = this.banners[index].imgURL
  208. }
  209. }
  210. }
  211. </script>
  212. <style lang="scss">
  213. page {
  214. background-color: #F6FAF6;
  215. }
  216. .top_bg_color {
  217. position: relative;
  218. width: 750rpx;
  219. overflow: hidden;
  220. .bg_img {
  221. width: 750rpx;
  222. height: 440rpx;
  223. position: absolute;
  224. top: 0;
  225. left: 0;
  226. z-index: 0;
  227. background-position: center;
  228. background-size: 100% 100%;
  229. filter: blur(50px);
  230. transform: scale(2);
  231. opacity: 0.9;
  232. }
  233. }
  234. </style>