| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333 | 
							- <template>
 
- 	<view class="content">
 
- 		<view class="navbar">
 
- 			<view v-for="(item, index) in tabList" :key="index" class="nav-item"
 
- 				:class="{ current: tabFromIndex === item.state }" @click="tabClicks(item.state)">
 
- 				{{ item.text }}
 
- 			</view>
 
- 		</view>
 
- 		<view v-for="(item, index) in list" :key="index" class="item" @click="goDet(item.content)">
 
- 			<view class="flex justify-between"
 
- 				style="font-size: 30upx;width: 100%;overflow: hidden;text-overflow: ellipsis;white-space:nowrap">
 
- 				<view>{{ item.title }}</view>
 
- 				<view v-if="item.isSee == 0"
 
- 					style="height: 32rpx;width: 32rpx;border-radius: 100rpx;background-color: red;color: #FFF;text-align: center;">
 
- 				</view>
 
- 			</view>
 
- 			<view style="color: #999999;font-size: 28upx;margin-top: 10upx;">{{ item.content }}</view>
 
- 			<view style="margin-top: 10upx;color: #999999;font-size: 28upx;text-align: right;">{{ item.createAt }}
 
- 			</view>
 
- 		</view>
 
- 		<!-- <view v-if="list.length === 0" style="background: #1c1b20;text-align: center;padding-top: 140upx;color: #FFFFFF;">暂无消息</view> -->
 
- 		<empty v-if="list.length === 0" des="暂无消息" show="false"></empty>
 
- 	</view>
 
- </template>
 
- <script>
 
- 	import uniLoadMore from '@/components/uni-load-more/uni-load-more.vue';
 
- 	import empty from '@/components/empty';
 
- 	export default {
 
- 		components: {
 
- 			uniLoadMore,
 
- 			empty
 
- 		},
 
- 		data() {
 
- 			return {
 
- 				tabFromIndex: 5,
 
- 				tabCurrentIndex: 0,
 
- 				fromInfo: 5,
 
- 				list: [],
 
- 				page: 1,
 
- 				limit: 10,
 
- 				scrollTop: false,
 
- 				tabList: [{
 
- 						state: 5,
 
- 						text: '用户消息',
 
- 						totalElements: 0
 
- 					},
 
- 					{
 
- 						state: 4,
 
- 						text: '订单消息',
 
- 						totalElements: 0
 
- 					}
 
- 				]
 
- 			};
 
- 		},
 
- 		onPageScroll: function(e) {
 
- 			this.scrollTop = e.scrollTop > 200;
 
- 		},
 
- 		onReachBottom: function() {
 
- 			this.page = this.page + 1;
 
- 			this.loadData();
 
- 		},
 
- 		onPullDownRefresh: function() {
 
- 			this.page = 1;
 
- 			this.loadData();
 
- 		},
 
- 		onLoad(options) {
 
- 			this.$queue.showLoading("加载中...")
 
- 			this.loadData();
 
- 		},
 
- 		methods: {
 
- 			goDet(e) {
 
- 				console.log(e.indexOf('下单'))
 
- 				if (e.indexOf('下单') != -1) {
 
- 					uni.navigateTo({
 
- 						url: '/my/order/index'
 
- 					})
 
- 				} else if (e.indexOf('接单') != -1) {
 
- 					uni.navigateTo({
 
- 						url: '/my/takeOrder/index'
 
- 					})
 
- 				} else if (e.indexOf('订单审核通过') != -1) {
 
- 					uni.navigateTo({
 
- 						url: '/my/publish/index'
 
- 					})
 
- 				}
 
- 			},
 
- 			//顶部渠道点击
 
- 			tabClicks(index) {
 
- 				this.list = [];
 
- 				this.page = 1;
 
- 				this.tabFromIndex = index;
 
- 				this.$queue.showLoading("加载中...")
 
- 				this.loadData();
 
- 			},
 
- 			//获取消息列表
 
- 			loadData() {
 
- 				let that = this;
 
- 				let number = 10;
 
- 				let token = this.$queue.getData('token');
 
- 				if (token) {
 
- 					let data = {
 
- 						page: this.page,
 
- 						limit: this.limit,
 
- 						state: this.tabFromIndex
 
- 					}
 
- 					this.$Request.getT('/app/message/selectMessageByUserId', data).then(res => {
 
- 						if (res.code === 0) {
 
- 							if (this.page == 1) {
 
- 								this.list = res.data.list
 
- 							} else {
 
- 								res.data.list.forEach(d => {
 
- 									this.list.push(d);
 
- 								});
 
- 							}
 
- 						}
 
- 						uni.hideLoading();
 
- 						uni.stopPullDownRefresh();
 
- 					});
 
- 				}
 
- 			}
 
- 		}
 
- 	};
 
- </script>
 
- <style lang="scss">
 
- 	page,
 
- 	page {
 
- 		background: #ffffff;
 
- 	}
 
- 	.content {
 
- 		background: #ffffff;
 
- 		height: 100%;
 
- 	}
 
- 	.swiper-box {
 
- 		height: calc(100% - 40px);
 
- 	}
 
- 	.list-scroll-content {
 
- 		height: 100%;
 
- 	}
 
- 	.navbar {
 
- 		display: flex;
 
- 		height: 40px;
 
- 		padding: 0 5px;
 
- 		// background: #1E1F31;
 
- 		// box-shadow: 0 1px 5px rgba(0, 0, 0, 0.06);
 
- 		color: #000000;
 
- 		position: relative;
 
- 		z-index: 10;
 
- 		.nav-item {
 
- 			flex: 1;
 
- 			display: flex;
 
- 			justify-content: center;
 
- 			align-items: center;
 
- 			height: 100%;
 
- 			font-size: 15px;
 
- 			// color: #FFFFFF;
 
- 			position: relative;
 
- 			&.current {
 
- 				color: #557EFD;
 
- 				&:after {
 
- 					content: '';
 
- 					position: absolute;
 
- 					left: 50%;
 
- 					bottom: 0;
 
- 					transform: translateX(-50%);
 
- 					width: 44px;
 
- 					height: 0;
 
- 					border-bottom: 2px solid #557EFD;
 
- 				}
 
- 			}
 
- 		}
 
- 	}
 
- 	.uni-swiper-item {
 
- 		height: auto;
 
- 	}
 
- 	page {
 
- 		background-color: #F7F7F7;
 
- 	}
 
- 	.item {
 
- 		background: #FFFFFF;
 
- 		padding: 16rpx;
 
- 		margin: 16rpx;
 
- 		font-size: 28rpx;
 
- 		// box-shadow: 7px 9px 34px rgba(0, 0, 0, 0.1);
 
- 		border-radius: 16upx;
 
- 	}
 
- 	/* load-more */
 
- 	.uni-load-more {
 
- 		display: flex;
 
- 		flex-direction: row;
 
- 		height: 40px;
 
- 		align-items: center;
 
- 		justify-content: center;
 
- 	}
 
- 	.uni-load-more__text {
 
- 		font-size: 14px;
 
- 		// color: #999;
 
- 	}
 
- 	.uni-load-more__img {
 
- 		height: 24px;
 
- 		width: 24px;
 
- 		margin-right: 10px;
 
- 	}
 
- 	.uni-load-more__img>view {
 
- 		position: absolute;
 
- 	}
 
- 	.uni-load-more__img>view view {
 
- 		width: 6px;
 
- 		height: 2px;
 
- 		border-top-left-radius: 1px;
 
- 		border-bottom-left-radius: 1px;
 
- 		background: #999;
 
- 		position: absolute;
 
- 		opacity: 0.2;
 
- 		transform-origin: 50%;
 
- 		animation: load 1.56s ease infinite;
 
- 	}
 
- 	.uni-load-more__img>view view:nth-child(1) {
 
- 		transform: rotate(90deg);
 
- 		top: 2px;
 
- 		left: 9px;
 
- 	}
 
- 	.uni-load-more__img>view view:nth-child(2) {
 
- 		transform: rotate(180deg);
 
- 		top: 11px;
 
- 		right: 0;
 
- 	}
 
- 	.uni-load-more__img>view view:nth-child(3) {
 
- 		transform: rotate(270deg);
 
- 		bottom: 2px;
 
- 		left: 9px;
 
- 	}
 
- 	.uni-load-more__img>view view:nth-child(4) {
 
- 		top: 11px;
 
- 		left: 0;
 
- 	}
 
- 	.load1,
 
- 	.load2,
 
- 	.load3 {
 
- 		height: 24px;
 
- 		width: 24px;
 
- 	}
 
- 	.load2 {
 
- 		transform: rotate(30deg);
 
- 	}
 
- 	.load3 {
 
- 		transform: rotate(60deg);
 
- 	}
 
- 	.load1 view:nth-child(1) {
 
- 		animation-delay: 0s;
 
- 	}
 
- 	.load2 view:nth-child(1) {
 
- 		animation-delay: 0.13s;
 
- 	}
 
- 	.load3 view:nth-child(1) {
 
- 		animation-delay: 0.26s;
 
- 	}
 
- 	.load1 view:nth-child(2) {
 
- 		animation-delay: 0.39s;
 
- 	}
 
- 	.load2 view:nth-child(2) {
 
- 		animation-delay: 0.52s;
 
- 	}
 
- 	.load3 view:nth-child(2) {
 
- 		animation-delay: 0.65s;
 
- 	}
 
- 	.load1 view:nth-child(3) {
 
- 		animation-delay: 0.78s;
 
- 	}
 
- 	.load2 view:nth-child(3) {
 
- 		animation-delay: 0.91s;
 
- 	}
 
- 	.load3 view:nth-child(3) {
 
- 		animation-delay: 1.04s;
 
- 	}
 
- 	.load1 view:nth-child(4) {
 
- 		animation-delay: 1.17s;
 
- 	}
 
- 	.load2 view:nth-child(4) {
 
- 		animation-delay: 1.3s;
 
- 	}
 
- 	.load3 view:nth-child(4) {
 
- 		animation-delay: 1.43s;
 
- 	}
 
- 	@-webkit-keyframes load {
 
- 		0% {
 
- 			opacity: 1;
 
- 		}
 
- 		100% {
 
- 			opacity: 0.2;
 
- 		}
 
- 	}
 
- </style>
 
 
  |