384 lines
10 KiB
Vue
384 lines
10 KiB
Vue
<template>
|
|
<view class="app">
|
|
<!-- <u-swiper :list="swiperImgUrls" effect3d='true' height='400' interval='5000' duration='2000'></u-swiper> -->
|
|
<!-- <swiper class="swiper-block" :indicator-dots="true" :autoplay="true" :interval="3000" :duration="1000"
|
|
:circular='true' previous-margin='90rpx' next-margin='90rpx' current='0' @change="swiperChange">
|
|
<swiper-item class="swiper-item" v-for="(item,index) in swiperImgUrls">
|
|
<image :src="item" :class="['slide-image', currentIndex === index?'active':'']" mode="aspectFill">
|
|
</image>
|
|
</swiper-item>
|
|
</swiper> -->
|
|
<view class="container" v-if="swiperImgUrls">
|
|
<swiper :indicator-dots="true" :current="currentIndex" previous-margin="55rpx" next-margin="55rpx"
|
|
:autoplay="autoplay" :interval="3000" :duration="1000" class="swiper-block" :circular='true'
|
|
@change="swiperChange">
|
|
<swiper-item v-for="(item ,index) in swiperImgUrls" :key="index" class="swiper-item">
|
|
<view v-show="!splits(item)" wx-if="{item}" @tap='goswiper(item)'>
|
|
<image v-if="item" :src="item" :class="['slide-image', currentIndex === index?'active':'']"
|
|
mode="aspectFill">
|
|
</image>
|
|
</view>
|
|
<view v-show="splits(item)" v-if="item">
|
|
<video :id="'myVideo'+index" :autoplay="false" :src="item" controls show-fullscreen-btn
|
|
object-fit="fill" @play="play" @pause="pause" @ended="ended" auto-pause-if-navigate
|
|
show-play-btn :enable-progress-gesture='true' :show-center-play-btn='true'
|
|
enable-play-gesture auto-pause-if-open-native show-mute-btn :poster='poster'
|
|
:class="['slide-image', currentIndex === index?'active':'']"></video>
|
|
</view>
|
|
</swiper-item>
|
|
</swiper>
|
|
</view>
|
|
<view class="items">
|
|
<view class="item" @tap="gosite">
|
|
<image src="../../static/pagesB/hlz.png" mode=""></image>
|
|
<view class="title">
|
|
护理机构
|
|
</view>
|
|
</view>
|
|
<view class="item" @tap="gomedicine">
|
|
<image src="../../static/pagesB/jkzx.png" mode=""></image>
|
|
<view class="title">
|
|
齐鲁名医
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<view class="Welfarecustomerservice">
|
|
<view class="topimgs">
|
|
<image src="../../static/pagesB/ynph.png" mode="" @tap='gopzyh'></image>
|
|
</view>
|
|
<view class="rightimg">
|
|
</view>
|
|
<view class="rightimg">
|
|
<image src="../../static/pagesB/fuli.png" mode="" @tap='gomaterialbenefits'></image>
|
|
</view>
|
|
<image class="shopping" src="../../static/pagesB/shoping.png" mode="" @tap='goshopping'></image>
|
|
</view>
|
|
<view class="Healthknowledge">
|
|
<view class="title">
|
|
健康常识
|
|
</view>
|
|
<view class="more" @tap='gohealth'>
|
|
<view class="title">
|
|
查看更多
|
|
</view>
|
|
<image src="../../static/huijiantou.png" mode=""></image>
|
|
</view>
|
|
<view class="list">
|
|
<view class="item" v-for="(item,index) in informationCategoryVOList" :key="index"
|
|
@tap='gohealthitem(item)'>
|
|
<view class="text">
|
|
{{item.informationTitle}}
|
|
</view>
|
|
<view class="author"></view>
|
|
<image :src="item.leadThumbnailUrl" mode=""></image>
|
|
</view>
|
|
</view>
|
|
</view>
|
|
<u-toast ref="uToast" />
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
import {
|
|
mapState,
|
|
mapActions
|
|
} from "vuex";
|
|
import {
|
|
|
|
getPoserInfoListByType
|
|
} from '@/api/pages/medicalservice/index.js'
|
|
|
|
// } from '@/api/pagesB/homepage/index.js'
|
|
import {
|
|
getHeathHousingList
|
|
} from '@/api/pagesB/Healthknowledge/index.js'
|
|
import baseurl from '../../api/baseurl';
|
|
export default {
|
|
data() {
|
|
return {
|
|
swiperImglink: [], //sweiper跳转link
|
|
swiperImgUrls: [],
|
|
autoplay: true, //自动切换轮播图
|
|
videoContext: '',
|
|
currentIndex: 0,
|
|
informationCategoryVOList: [], //咨询信息
|
|
informationCategorytotal: 0,
|
|
pageNum: 1,
|
|
pageSize: 5,
|
|
poster: '', //视频封面
|
|
};
|
|
},
|
|
computed: {
|
|
//1.获取state数据的第一种方法
|
|
// getcount(){
|
|
// return this.$store.state.count;
|
|
// },
|
|
//2.获取State的第二种方法---映射
|
|
// ...mapState(["name"])
|
|
},
|
|
onShow() {
|
|
this.pageNum = 1
|
|
this.swiperImgUrls = []
|
|
this.getPoserInfo();
|
|
},
|
|
methods: {
|
|
//点击海报跳转
|
|
goswiper(item) {
|
|
this.swiperImglink.forEach(e => {
|
|
e.image = baseurl + e.posterPictureUrl
|
|
if (e.image == item) {
|
|
if (e.dictLabel == '专病管理') {
|
|
const phone = uni.getStorageSync('phone');
|
|
if (phone) {
|
|
uni.navigateToMiniProgram({
|
|
appId: 'wx3341cfb0602789f6',
|
|
path: 'pages/index/index',
|
|
extraData: {
|
|
'from': 'qy',
|
|
'phone': phone
|
|
},
|
|
success(res) {}
|
|
})
|
|
} else {
|
|
this.$refs.uToast.show({
|
|
title: '您未登录,请先登录',
|
|
type: 'error',
|
|
duration: '1000',
|
|
url: '/pages/login/login'
|
|
})
|
|
}
|
|
} else if (e.dictLabel == '新医象') {
|
|
this.goycjc();
|
|
} else {
|
|
if (e.jumpLink == '/pagesB/ConsultationDetails/ConsultationDetails') {
|
|
const url = `/pagesB/ConsultationDetails/ConsultationDetails?goto=${'homepage'}`
|
|
uni.navigateTo({
|
|
url: url
|
|
})
|
|
} else if (e.jumpLink == '/pages/medicalservice/medicalservice' || e.jumpLink ==
|
|
'/pages/myinformation/myinformation') {
|
|
uni.switchTab({
|
|
url: e.jumpLink
|
|
})
|
|
} else {
|
|
uni.navigateTo({
|
|
url: e.jumpLink
|
|
})
|
|
}
|
|
}
|
|
}
|
|
})
|
|
},
|
|
swiperChange(e) {
|
|
this.currentIndex = e.detail.current
|
|
let {
|
|
current,
|
|
source
|
|
} = e.detail
|
|
this.videoContext = uni.createVideoContext('myVideo' + (current - 1));
|
|
//只有手动切换时开始轮播,并且上一页视频暂停
|
|
if (source === 'touch') {
|
|
this.videoContext.pause(); //暂停
|
|
this.autoplay = true
|
|
}
|
|
},
|
|
// 获取数据
|
|
GetBanner() {},
|
|
// 处理banner返回的是是视频还是图片
|
|
splits(url) {
|
|
if (url.indexOf('.') != -1) {
|
|
var ext = url.substring(url.lastIndexOf('.') + 1);
|
|
return ['mp4', 'webm', 'mpeg4', 'ogg'].indexOf(ext) != -1
|
|
}
|
|
},
|
|
// 点击开始/继续播放
|
|
play() {
|
|
this.autoplay = false
|
|
// this.videoContext.requestFullScreen()
|
|
},
|
|
// 视频暂停
|
|
pause() {
|
|
this.autoplay = true
|
|
},
|
|
// 视频结束
|
|
ended() {
|
|
this.autoplay = true
|
|
},
|
|
//跳转item
|
|
gohealthitem(item) {
|
|
uni.navigateTo({
|
|
url: `/pagesB/Healthitem/Healthitem?item=${encodeURIComponent(JSON.stringify(item))}`
|
|
})
|
|
},
|
|
//齐鲁名医
|
|
getHeathHousing() {
|
|
getHeathHousingList(this.pageNum, this.pageSize).then(res => {
|
|
if (res.rows) {
|
|
res.rows.forEach(e => {
|
|
e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
|
|
})
|
|
}
|
|
this.informationCategoryVOList = res.rows
|
|
this.informationCategorytotal = res.total
|
|
})
|
|
},
|
|
//海报
|
|
getPoserInfo() {
|
|
getPoserInfoListByType().then(res => {
|
|
if (res.code == 200) {
|
|
if (res.data.poserInfoList) {
|
|
this.swiperImglink = res.data.poserInfoList
|
|
res.data.poserInfoList.forEach(e => {
|
|
e.image = baseurl + e.posterPictureUrl
|
|
this.swiperImgUrls.push(e.image)
|
|
})
|
|
if (res.data.poserInfoList[0].posterVideoUrl) {
|
|
res.data.poserInfoList[0].video = baseurl + res.data.poserInfoList[0]
|
|
.posterVideoUrl
|
|
this.swiperImgUrls.push(res.data.poserInfoList[0].video)
|
|
}
|
|
}
|
|
this.getHeathHousing();
|
|
}
|
|
})
|
|
},
|
|
//专病管理
|
|
godiseasemanagement() {
|
|
const phone = uni.getStorageSync('phone');
|
|
if (phone) {
|
|
uni.navigateToMiniProgram({
|
|
appId: 'wx3341cfb0602789f6',
|
|
path: 'pages/index/index',
|
|
extraData: {
|
|
'from': 'qy',
|
|
'phone': phone
|
|
},
|
|
success(res) {}
|
|
})
|
|
} else {
|
|
this.$refs.uToast.show({
|
|
title: '您未登录,请先登录',
|
|
type: 'error',
|
|
duration: '1000',
|
|
url: '/pages/login/login'
|
|
})
|
|
}
|
|
},
|
|
//齐鲁名医
|
|
gomedicine() {
|
|
uni.navigateTo({
|
|
url: '/pagesB/medicine/medicine'
|
|
})
|
|
},
|
|
//跳转客服
|
|
gocustomerservice() {
|
|
uni.navigateTo({
|
|
url: '/pagesB/customerservice/customerservice'
|
|
})
|
|
},
|
|
//跳转护理站页面
|
|
gosite() {
|
|
this.openPopup();
|
|
setTimeout(e => {
|
|
uni.navigateTo({
|
|
url: '/pagesB/site/site'
|
|
})
|
|
}, 0)
|
|
},
|
|
//健康常识
|
|
gohealth() {
|
|
uni.navigateTo({
|
|
url: '/pagesB/Healthknowledge/Healthknowledge'
|
|
})
|
|
},
|
|
//新人福利
|
|
// 第一种 直接映射
|
|
...mapActions(["openPopup"]),
|
|
gomaterialbenefits() {
|
|
// 第二种引入
|
|
// this.$store.dispatch("openPopup");
|
|
this.openPopup();
|
|
setTimeout(e => {
|
|
uni.navigateTo({
|
|
url: '/pagesB/materialbenefits/materialbenefits'
|
|
})
|
|
}, 0)
|
|
},
|
|
//跳转商城
|
|
goshopping() {
|
|
this.openPopup();
|
|
setTimeout(e => {
|
|
uni.navigateTo({
|
|
url: '/pagesB/shopping/shopping'
|
|
})
|
|
}, 0)
|
|
},
|
|
//跳转新意象
|
|
goycjc() {
|
|
uni.navigateToMiniProgram({
|
|
appId: 'wxa2335d45fb25ee50',
|
|
success(res) {}
|
|
})
|
|
},
|
|
//跳转管家
|
|
goguanjia() {
|
|
uni.navigateTo({
|
|
url: '/pagesB/Industrialbutler/Industrialbutler'
|
|
})
|
|
},
|
|
//跳转
|
|
gopzyh() {
|
|
uni.navigateTo({
|
|
url: `/pagesB/nursestation/nursestation?nurseStationId=${13}`
|
|
})
|
|
},
|
|
//跳转贴心智养
|
|
gonight() {
|
|
uni.navigateTo({
|
|
url: '/pagesB/night/night'
|
|
})
|
|
},
|
|
},
|
|
// onReachBottom() { //下滑加载
|
|
// if (this.informationCategoryVOList.length >= this.informationCategorytotal) {} else {
|
|
// this.pageNum++
|
|
// getHeathHousingList(this.pageNum, this.pageSize).then(res => {
|
|
// if (res.rows) {
|
|
// res.rows.forEach(e => {
|
|
// e.leadThumbnailUrl = baseurl + e.leadThumbnailUrl
|
|
// this.informationCategoryVOList.push(e)
|
|
// })
|
|
// }
|
|
// })
|
|
// }
|
|
// },
|
|
// onPullDownRefresh() { //下拉刷新
|
|
// this.pageNum = 1;
|
|
// this.getHeathHousing();
|
|
// setTimeout(function() {
|
|
// uni.stopPullDownRefresh();
|
|
// }, 1000);
|
|
// },
|
|
//1.分享给朋友
|
|
onShareAppMessage(res) {
|
|
let pages = getCurrentPages();
|
|
let url = pages[pages.length - 1].$page.fullPath
|
|
return {
|
|
title: '新医路健康服务平台',
|
|
path: url,
|
|
}
|
|
},
|
|
//2.分享到朋友圈
|
|
onShareTimeline(res) {
|
|
let pages = getCurrentPages();
|
|
let url = pages[pages.length - 1].$page.fullPath
|
|
return {
|
|
title: '新医路健康服务平台',
|
|
path: url,
|
|
}
|
|
},
|
|
}
|
|
</script>
|
|
<style lang="scss">
|
|
@import './medicalservice.scss';
|
|
</style> |