From 7df5dc2411b541492e0263ad24b4f5ef9ca092dd Mon Sep 17 00:00:00 2001
From: liuyg <376836862@qq.com>
Date: Tue, 03 Aug 2021 14:29:24 +0800
Subject: [PATCH] Merge branch 'master' of http://192.168.0.105:10010/r/zhba_app

---
 pages/message/message.vue |  225 +++++++++++++++++++++++++++++++++++++++++++++++++++----
 1 files changed, 206 insertions(+), 19 deletions(-)

diff --git a/pages/message/message.vue b/pages/message/message.vue
index 0fc43e5..df0a518 100644
--- a/pages/message/message.vue
+++ b/pages/message/message.vue
@@ -2,22 +2,52 @@
 	<view class="container">
 		<u-tabs :list="list" :is-scroll="false" :current="current" active-color="#14B9C8" inactive-color="#595959"
 			height="100" @change="change"></u-tabs>
-		<u-search v-model="keyword" shape="round" class="u-search" input-align="center" height="70" :show-action="false"></u-search>
-		<view class="inTmain" v-for="(item,index) in dataList">
-			<u-card :title="item.title" v-show="item.category == current + 1">
-				<view class="" slot="body">
-					<view>
-						<view style="margin-bottom: 10px;" class="u-body-item-title u-line-1">
-							通知类型:{{item.category == 1 ? '单位公告' : '公安公告'}}</view>
+		<u-search v-model='keyValue' placeholder='请输入公告内容' shape="round" class="u-search" input-align="center"
+			height="70" @search='searchValue' @custom='searchValue' @clear='clearValue' @change='changeValue'>
+		</u-search>
+
+		<view v-show="current == 0 && newsList.length > 0">
+			<view class="inTmain" v-for="(item,index) in newsList">
+				<u-card :title="item.title" @click="goDetail(item)">
+					<view class="" slot="body">
+						<view>
+							<view style="margin-bottom: 10px;" class="u-body-item-title u-line-1">
+								通知类型:{{item.category == 1 ? '单位公告' : '公安公告'}}</view>
+						</view>
+						<view>
+							<view class="u-body-item-title u-line-1">通知日期:{{item.releaseTime}}</view>
+						</view>
 					</view>
-					<view>
-						<view class="u-body-item-title u-line-1">通知日期:{{item.releaseTime}}</view>
-					</view>
-				</view>
-				<view class="" slot="foot">
-					</u-icon>发布单位:{{item.depName}}</view>
-			</u-card>
+					<view class="" slot="foot">
+						</u-icon>发布单位:{{item.depName}}</view>
+				</u-card>
+			</view>
+			<u-loadmore class='msg' :status="status" />
 		</view>
+
+		<view v-show="current == 1 && newsList.length > 0">
+			<view class="inTmain" v-for="(item,index) in newsList">
+				<u-card :title="item.title" @click="goDetail(item)">
+					<view class="" slot="body">
+						<view>
+							<view style="margin-bottom: 10px;" class="u-body-item-title u-line-1">
+								通知类型:{{item.category == 1 ? '单位公告' : '公安公告'}}</view>
+						</view>
+						<view>
+							<view class="u-body-item-title u-line-1">通知日期:{{item.releaseTime}}</view>
+						</view>
+					</view>
+					<view class="" slot="foot">
+						</u-icon>发布单位:{{item.depName}}</view>
+				</u-card>
+			</view>
+			<u-loadmore class='msg' :status="status" />
+		</view>
+
+		<view class="msg" v-show='newsList.length == 0'>
+			暂无数据
+		</view>
+
 	</view>
 </template>
 
@@ -25,7 +55,6 @@
 	export default {
 		data() {
 			return {
-				dataList: [],
 				list: [{
 						name: '单位公告'
 					},
@@ -34,35 +63,186 @@
 					}
 				],
 				current: 0,
-				keyword: ''
+				dataList: [],
+				newsList: [],
+				status: 'loadmore',
+				keyValue: '',
+				pagelist: 0,
+				flag: true
 			};
 		},
 		onLoad() {
 
 		},
 		onReachBottom() {
+			var that = this;
+
+			if (that.dataList.length - 1 == that.pagelist && this.status != 'nomore' && that.flag == true) {
+				that.newsList.push(that.dataList[that.pagelist]);
+				this.status = 'nomore';
+				that.flag = false;
+				return;
+			} else {
+				if (that.flag == false) {
+					this.status = 'nomore';
+					return
+				}
+				// 后续将改为与后端联动
+				this.status = 'loading';
+
+				setTimeout(() => {
+					var flag = true;
+
+					for (var i = 0; i < 5; i++) {
+
+						if (that.pagelist <= that.dataList.length - 2 && flag == true) {
+
+							that.newsList.push(that.dataList[that.pagelist++])
+
+							if (that.dataList.length - 1 == that.pagelist) flag == false
+
+						}
+
+					}
+				}, 2000);
+
+			}
 
 		},
 		mounted() {
-			this.getCompany();
+			this.getReceive();
 		},
 		methods: {
-			getCompany() {
+			getReceive() {
 				var that = this;
 				uni.request({
-					url: this.$store.state.piAPI + "/blade-desk/notice/page",
+					url: this.$store.state.piAPI + "/blade-desk/notice/page?category=1",
 					method: "get",
 					data: {
 
 					},
 					success: (res) => {
 						var resdata = res.data.data.records;
+						that.pagelist = 0;
+						that.newsList = [];
+						that.flag = true;
 						that.dataList = resdata;
+
+						var flag = true;
+
+						for (var i = 0; i < 5; i++) {
+
+							if (that.pagelist <= that.dataList.length - 2) {
+
+								that.newsList.push(that.dataList[that.pagelist++]);
+
+							} else {
+
+								if (that.dataList.length - 1 == that.pagelist && flag == true) {
+
+									that.newsList.push(that.dataList[that.pagelist]);
+									flag = false;
+									that.flag = false;
+									this.status = 'nomore';
+								}
+
+							}
+						}
+
 					}
 				});
 			},
+			getIssue() {
+				var that = this;
+				uni.request({
+					url: this.$store.state.piAPI + "/blade-desk/notice/page?category=2",
+					method: "get",
+					data: {
+
+					},
+					success: (res) => {
+						var resdata = res.data.data.records;
+						that.pagelist = 0;
+						that.newsList = [];
+						that.flag = true;
+						that.dataList = resdata;
+
+						var flag = true;
+
+						for (var i = 0; i < 5; i++) {
+
+							if (that.pagelist <= that.dataList.length - 2) {
+
+								that.newsList.push(that.dataList[that.pagelist++]);
+
+							} else {
+
+								if (that.dataList.length - 1 == that.pagelist && flag == true) {
+
+									that.newsList.push(that.dataList[that.pagelist]);
+									flag = false;
+									that.flag = false;
+									this.status = 'nomore';
+								}
+
+							}
+						}
+
+					}
+				});
+			},
+			goDetail(item) {
+				return;
+				uni.navigateTo({
+					url: './lookDetail?detailData=' + JSON.stringify(item)
+				});
+			},
 			change(index) {
+				if (this.current == index) return;
+				if (index == 0) {
+					this.getReceive();
+				} else {
+					this.getIssue();
+				}
 				this.current = index;
+			},
+			searchValue(value) {
+				var that = this;
+				var str = value.replace(/\s*/g, "");
+				if (str == '') {
+					return
+				} else {
+					that.newsList = [];
+					that.dataList.forEach(item => {
+						if (item.title.indexOf(str) != -1) {
+							that.newsList.push(item)
+						}
+					})
+					that.status = 'nomore';
+				}
+			},
+			clearValue() {
+				this.keyValue = ''
+				this.newsList = [];
+				for (var i = 0; i < this.pagelist; i++) {
+					this.newsList.push(this.dataList[i])
+				}
+
+				if (this.flag == false) {
+					this.newsList.push(this.dataList[this.pagelist]);
+				}
+			},
+			changeValue(value) {
+				if (value == '') {
+					this.newsList = [];
+					for (var i = 0; i < this.pagelist; i++) {
+						this.newsList.push(this.dataList[i])
+					}
+
+					if (this.flag == false) {
+						this.newsList.push(this.dataList[this.pagelist]);
+					}
+				}
 			}
 		}
 	};
@@ -93,4 +273,11 @@
 	}
 
 	.inTmain {}
+
+	.msg {
+		height: 72rpx;
+		line-height: 72rpx;
+		text-align: center;
+		color: #999;
+	}
 </style>

--
Gitblit v1.9.3