Browse Source

测温记录与未测记录

wgl 4 years ago
parent
commit
541c25306d

+ 18 - 0
src/projects/business/apis/HouseKeeper/admin.js

@@ -18,3 +18,21 @@ export function addPerson(params) {
 		method: 'post',
 	})
 }
+
+//获取测温记录
+export function getTemperatureList(params) {
+	return request({
+		url: '/mobile/personDeviceLogApi/queryTemperatureRecordListByEnt',
+		data: Qs.stringify(params),
+		method: 'post',
+	})
+}
+
+//获取未测人员列表
+export function queryUnmeasureGroupList(params) {
+	return request({
+		url: '/mobile/PersonDeviceFilterLog/queryUnmeasureGroupList',
+		data: Qs.stringify(params),
+		method: 'post',
+	})
+}

+ 101 - 55
src/projects/business/views/HouseKeeper/Admin/Health/NoTemperatureRecord.vue

@@ -1,85 +1,131 @@
 <template>
-<div>
-    <header class="mui-bar mui-bar-nav">
-			<h1 class="mui-title">未测人员</h1>
-			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
-		</header>
+	<div>
+		<common @asynCallBack="asynCallBack"></common>
+		<top-header :pageTitle="pageTitle"></top-header>
+
 		<div class="mui-content">
 			<div class="mui-content-padded fyy-date mui-clearfix">
 				<h5>考勤时间未测量体温人员
-					<a href="" class="mui-navigate-right mui-pull-right">2020-03-19</a>
+					<a class="mui-navigate-right mui-pull-right" @click="selectData">{{subForm.queryDate}}</a>
 				</h5>
 			</div>
 			<div class="mui-row mui-fullscreen fyy-undetect">
 				<div class="mui-col-xs-3">
 					<div class="mui-segmented-control mui-segmented-control-inverted mui-segmented-control-vertical">
-						<a class="mui-control-item mui-active">07:00至08:30</a>
-						<a class="mui-control-item">12:00至13:00</a>
-						<a class="mui-control-item">17:00至18:00</a>
+						<a v-for="(item,index) in recordList" @click="showindex = index" :key="index" :class="'mui-control-item '+ (showindex==index?'mui-active':'')"
+						 v-text="item.startTime+'至'+item.endTime"></a>
 					</div>
 				</div>
 				<div class="mui-col-xs-9">
 					<div class="fyy-back">
-						<div id="content1" class="mui-control-content">
+						<div v-for="(item,index) in recordList" :key="index" v-show="showindex==index" class="mui-control-content">
 							<ul class="mui-table-view mui-grid-view mui-grid-9">
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
+								<li v-for="(iten,inden) in item.list" class="mui-table-view-cell mui-media mui-col-xs-4">
+									<div class="mui-media-body" v-text="iten.name"></div>
 								</li>
 							</ul>
 						</div>
-						<div id="content2" class="mui-control-content">
-							<ul class="mui-table-view mui-grid-view mui-grid-9">
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>
-							</ul>
-						</div>
-						<div id="content3" class="mui-control-content">
-							<ul class="mui-table-view mui-grid-view mui-grid-9">
-								<li class="mui-table-view-cell mui-media mui-col-xs-4">
-									<div class="mui-media-body">冯银银</div>
-								</li>								
-							</ul>
-						</div>
 					</div>
 				</div>
 			</div>
 		</div>
-</div>
+
+		<loading :visible="isLoading"></loading>
+	</div>
 </template>
 
 <script>
+	require('$project/assets/js/mui.picker.min.js');
+	import * as API_Admin from '@/apis/HouseKeeper/admin'
+	import Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import {
+		mapGetters,
+		mapMutations
+	} from 'vuex'
+	import {
+		currentTimeStamp,
+		parseUnixTime
+	} from '$project/utils'
+	export default {
+		name: 'HouseKeeperAdminHealthNoTemperatureRecord',
+		components: {
+			Common,
+			Loading,
+			TopHeader
+		},
+		data() {
+			return {
+				pageTitle: '未测人员',
+
+				isLoading: false,
+
+				subForm: {
+					queryDate: '',
+					companyId: '',
+				},
+				recordList: [],
+				showindex: 0,
+			}
+		},
+		created() {
+			this.subForm.companyId = this.company_data.id;
+			this.subForm.queryDate = parseUnixTime(currentTimeStamp(), '{y}-{m}-{d}');
+		},
+		methods: {
+			//获取列表
+			getList() {
+				this.isLoading = true;
+				API_Admin.queryUnmeasureGroupList(this.subForm).then(response => {
+
+					this.recordList = response.list;
+
+					this.isLoading = false;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//选择日期
+			selectData() {
+				var _this = this;
+				var picker = new mui.DtPicker({
+					"type": "date",
+					"beginYear": 2020,
+					"endYear": 2040,
+					"endDate": new Date(),
+					"value": _this.subForm.queryDate
+				});
+				picker.show(function(rs) {
+					_this.subForm.queryDate = rs.text;
+					_this.getList();
+					picker.dispose();
+				});
+			},
+			asynCallBack() {
+
+			},
+		},
+		mounted() {
+			//获取列表
+			this.getList();
+		},
+		destroyed() {},
+		computed: {
+			...mapGetters({
+				openId: 'wx_openid',
+				token: 'token',
+				person_data: 'person_data',
+				company_data: 'company_data',
+			})
+		}
+	}
 </script>
 
 <style scoped src="$project/assets/css/sczpfyy.css"></style>
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style src="$project/assets/css/iconfont.css"></style>
-<style>
+<style src="$project/assets/css/mui.picker.min.css"></style>
+<style scoped>
 </style>

+ 151 - 33
src/projects/business/views/HouseKeeper/Admin/Health/TemperatureRecord.vue

@@ -1,57 +1,175 @@
 <template>
-<div>
-    <header class="mui-bar mui-bar-nav">
-			<h1 class="mui-title">测温记录</h1>
-			<a class="mui-action-back mui-icon mui-icon-left-nav mui-pull-left"></a>
-			<a class="fyy-bar mui-pull-right">未检测</a>
-		</header>
+	<div>
+		<common @asynCallBack="asynCallBack"></common>
+		<top-header :pageTitle="pageTitle" :rightLink="rightLink" :doRightLink="doRightLink"></top-header>
+
 		<div class="mui-content fyy-date">
 			<div class="mui-content-padded fyy-date mui-clearfix">
-				<h5>荆鹏软件
-					<a href="" class="mui-navigate-right mui-pull-right">2020-03-19</a>
+				<h5>{{company_data.name}}
+					<a class="mui-navigate-right mui-pull-right" @click="selectData">{{listForm.queryDate}}</a>
 				</h5>
 			</div>
 			<div class="fyydate-out">
 				<div class="fyydate-name">
-					<div class="fyydate-name-list ">
-						<h5>冯银银</h5>
-					</div>
-					<div class="fyydate-name-list">
-						<h5>郑强</h5>
+					<div v-for="(item,index) in recordList" class="fyydate-name-list">
+						<h5>{{item.name}}</h5>
 					</div>
 				</div>
 				<div class="fyydate-temper">
-					<div class="fyydate-temper-list">
-						<div class="fyydate-temper-num">
-							<span>08:00</span>
-							<span class="color05c8af">36.5</span>
-						</div>
-						<div class="fyydate-temper-num">
-							<span>08:00</span>
-							<span class="colorfe616c">39.5</span>
-						</div>
-					</div>
-					<div class="fyydate-temper-list">
-						<div class="fyydate-temper-num">
-							<span>08:00</span>
-							<span class="color05c8af">36.5</span>
-						</div>
-						<div class="fyydate-temper-num">
-							<span>08:00</span>
-							<span class="colorfe616c">39.5</span>
+					<div v-for="(item,index) in recordList" class="fyydate-temper-list">
+						<div v-for="(iten,index) in item.list" class="fyydate-temper-num">
+							<span>{{iten.recordTime}}</span>
+							<span :class="(iten.temperature<=37) ? 'color05c8af':'colorfe616c'">{{iten.temperature}}</span>
 						</div>
 					</div>
 				</div>
 			</div>
 		</div>
-</div>
+
+		<loading :visible="isLoading"></loading>
+	</div>
 </template>
 
 <script>
+	require('$project/assets/js/mui.picker.min.js');
+	import * as API_Admin from '@/apis/HouseKeeper/admin'
+	import Common from '$project/components/Common.vue'
+	import Loading from '$project/components/Loading.vue'
+	import isReachBottom from '$project/utils/isReachBottom'
+	import TopHeader from '$project/components/TopHeader.vue'
+	import {
+		mapGetters,
+		mapMutations
+	} from 'vuex'
+	import {
+		currentTimeStamp,
+		parseUnixTime
+	} from '$project/utils'
+	export default {
+		name: 'HouseKeeperAdminHealthTemperatureRecord',
+		components: {
+			Common,
+			Loading,
+			TopHeader
+		},
+		data() {
+			return {
+				pageTitle: '通知公告',
+
+				isLoading: false,
+
+				rightLink: {
+					show: true,
+					icon: 'icon-ziyuan',
+					style: 'font-size:14px;color:#000;',
+					title: '未测人员'
+				},
+
+				listForm: {
+					pageIndex: 1,
+					pageSize: 20,
+					queryDate: '',
+					companyId: '',
+					totalPage: 1,
+					filter: 0
+				},
+				recordList: [],
+			}
+		},
+		created() {
+			if (this.$route.query.queryDate) {
+				this.listForm.queryDate = this.$route.query.queryDate;
+			} else {
+				this.listForm.queryDate = parseUnixTime(currentTimeStamp(), '{y}-{m}-{d}');
+			}
+		},
+		methods: {
+			//获取列表
+			getList() {
+				this.isLoading = true;
+				API_Admin.getTemperatureList(this.listForm).then(response => {
+					if (response) {
+						if (this.listForm.pageIndex == 1) {
+							this.recordList = response.data;
+							this.listForm.pageIndex = response.pageNumber;
+							this.listForm.totalPage = response.totalPage;
+						} else {
+							this.recordList = [
+								...this.recordList,
+								...response.data
+							];
+						}
+					}
+					this.listForm.pageIndex++;
+					this.isLoading = false;
+				}).catch(error => {
+					this.isLoading = false;
+					mui.toast(error);
+				})
+			},
+			//下拉事件
+			handleScrool() {
+				if (isReachBottom()) {
+					console.log('到达底部')
+					if (this.listForm.pageIndex <= this.listForm.totalPage && this.isLoading == false) {
+						this.getList();
+					} else {
+						return;
+					}
+				}
+			},
+			//选择日期
+			selectData() {
+				var _this = this;
+				var picker = new mui.DtPicker({
+					"type": "date",
+					"beginYear": 2020,
+					"endYear": 2040,
+					"endDate": new Date(),
+					"value": _this.listForm.queryDate
+				});
+				picker.show(function(rs) {
+					_this.listForm.queryDate = rs.text;
+					_this.listForm.pageIndex = 1;
+					_this.getList();
+					picker.dispose();
+				});
+			},
+			doRightLink() {
+				this.$router.push({
+					name: 'HouseKeeperAdminHealthNoTemperatureRecord',
+					query: {}
+				})
+			},
+			asynCallBack() {
+
+			},
+		},
+		mounted() {
+			this.getList();
+			//监控下拉加载事件
+			var _this = this;
+			window.addEventListener('scroll', _this.handleScrool);
+		},
+		destroyed() {
+			//销毁监听事件
+			var _this = this;
+			window.removeEventListener('scroll', _this.handleScrool);
+		},
+		computed: {
+			...mapGetters({
+				openId: 'wx_openid',
+				token: 'token',
+				person_data: 'person_data',
+				company_data: 'company_data',
+			})
+		}
+	}
 </script>
 
 <style scoped src="$project/assets/css/sczpfyy.css"></style>
 <style scoped src="$project/assets/css/xpwyfyy.css"></style>
 <style src="$project/assets/css/iconfont.css"></style>
-<style>
+<style src="$project/assets/css/mui.picker.min.css"></style>
+<style scoped>
 </style>