sl-express/project-wl-siji-uniapp-vue3/pages/message/index.vue

109 lines
2.9 KiB
Vue
Raw Normal View History

2023-09-04 16:40:17 +08:00
<!-- 消息页面 -->
<template>
<!-- 自定义头部 -->
<view class="navHead"></view>
<!-- end -->
<!-- 列表 -->
<view class="pageBox newBox">
<!-- 搜索列表 -->
<scroll-view scroll-x="true" class="tabScroll" :scroll-into-view="scrollinto" :scroll-with-animation="true">
<view v-for="(item, index) in tabBars" :key="index" :id="'tab' + index" class="scroll-row-item" >
<view :class="tabIndex == index ? 'scroll-row-item-act' : ''" @click="changeTab(index)">
<text class="line"></text>
{{ item }}
</view>
</view>
</scroll-view>
<!-- 滑块内容 对应的是顶部选项卡的切换 :current="tabIndex" 设置的是y方向上可以滚动-->
<view class="homeSwiper">
<!-- 公告 -->
<Announcement v-show="tabIndex == 0" ref="announcement"></Announcement>
<!-- end -->
<!-- 系统通知 -->
<Notification v-show="tabIndex == 1" ref="notificat" @getTabIndex="getTabIndex"></Notification>
<!-- end -->
<!-- </swiper> -->
</view>
<!-- end -->
</view>
<!-- footer -->
<UniFooter :pagePath="'pages/index/index'" ></UniFooter>
<!-- end -->
</template>
<script setup>
import { ref, reactive, onMounted } from 'vue';
import {taskTimeFormat} from '@/utils/index.js';
// 导入组件
// 导航组件
//空页面
import EmptyPage from '@/components/EmptyPage/index.vue';
// 下拉提示
import ReachBottom from '@/components/reach-bottom/index.vue'
// 公告列表
import Announcement from './components/announcement.vue';
// 系统通知
import Notification from './components/notification.vue';
// 底部导航
import UniFooter from '@/components/Footer/index.vue';
// ------定义变量------
const announcement = ref()//定义ref
const notificat = ref()
const title = ref('消息'); //nav标题
const emptyInfo = ref('- 没有找到相关内容 -');
const tabBars = reactive(['公告', '系统通知']);
let scrollinto = ref('tab0'); //tab切换
let tabIndex = ref(1); //当前tab
let scrollH = ref(0); //滚动高度
// ------生命周期------
onMounted(() => {
// init()
// 获取屏幕信息
uni.getSystemInfo({
success: res => {
scrollH.value = res.windowHeight - uni.upx2px(630);
}
});
});
// ------定义方法------
const init = () => {
getList()
};
// tab选项卡切换轮播
const changeTab = index => {
// 点击的还是当前数据的时候直接return
if (tabIndex.value == index) {
return;
}
// 触发tab切换接口
if(index===0){
announcement.value.getList()
}else{
// notificat.value.getOjb()
}
tabIndex.value = index;
// 滑动
scrollinto.value = 'tab' + index;
};
// 触发选项卡事件
const onChangeSwiperTab = e => {
changeTab(e.detail.current);
};
// 获取子组件传来的tabindex
const getTabIndex =(val)=>{
tabIndex.value = val
}
// 返回上一页
const goBack = () => {
uni.redirectTo({
url: '/pages/index/index'
});
};
</script>
<style src="./index.scss" lang="scss"></style>