heyang 10 місяців тому
батько
коміт
1d691cc8d7

+ 4 - 0
manifest.json

@@ -16,6 +16,10 @@
             "autoclose" : true,
             "delay" : 0
         },
+        "uniCloud" : {
+            "service" : "v3-lab-xcx",
+            "version" : "1.0.0"
+        },
         /* 模块配置 */
         "modules" : {},
         /* 应用发布信息 */

+ 11 - 2
pages.json

@@ -1,13 +1,22 @@
 {
 	"pages": [
-		/* {
+		{
 			"path": "pages/views/dataBoard/dataBoard",
 			"style": {
 				"navigationBarTitleText": "",
 				"navigationBarTextStyle": "white", //导航文字颜色
 				"navigationStyle":"custom"  //关闭原生导航
 			}
-		}, */
+		},
+		{
+			"path": "pages/views/dataBoard/equipmentControlOverdue",
+			"style": {
+				"navigationBarTitleText": "超期服役排行",
+				"navigationBarTextStyle": "#FFFFFF", //导航文字颜色
+				"navigationBarBackgroundColor": "#363744" //导航背景色
+			}
+		},
+		
 
 		{
 			"path": "pages/views/login/login",//登录

+ 2 - 1
pages/component/navbar.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view class="wx-head-mod" :style="{height:navHeight+'rpx'}">
+		<view class="wx-head-mod" :style="{height:navHeight+'rpx',background:background}">
 			<view class="wx-head-mod-nav" :style="{height:navigationBarHeight+'rpx',top:statusBarHeight+'rpx'}">
 				<view class="wx-head-mod-nav-content"
 					:style="{height:customHeight+'rpx',justifyContent:'left'}">
@@ -22,6 +22,7 @@
 		props: {
 			// 文本区内容
 			title:'',
+			background:'',
 		},
 		data() {
 			return {

+ 13 - 1
pages/views/dataBoard/dataBoard.vue

@@ -41,6 +41,10 @@
 		</scroll-view>
 		<lab-page v-if="pageType==1"></lab-page>
 		<hazard-sources v-if="pageType==2"></hazard-sources>
+		<hazardous-chemicals v-if="pageType==3"></hazardous-chemicals>
+		<security-hidden v-if="pageType==4"></security-hidden>
+		<warning-dispose v-if="pageType==5"></warning-dispose>
+		<equipment-control v-if="pageType==6"></equipment-control>
 	</view>
 	
 </template>
@@ -52,6 +56,10 @@
 	} from '@/pages/component/navbar.vue'
 	import {labPage} from '@/pages/views/dataBoard/labPage.vue'
 	import {hazardSources} from '@/pages/views/dataBoard/hazardSources.vue'
+	import {hazardousChemicals} from '@/pages/views/dataBoard/hazardousChemicals.vue'
+	import {securityHidden} from '@/pages/views/dataBoard/securityHidden.vue'
+	import {warningDispose} from '@/pages/views/dataBoard/warningDispose.vue'
+	import {equipmentControl} from '@/pages/views/dataBoard/equipmentControl.vue'
 	import {
 		config
 	} from '@/api/request/config.js'
@@ -64,10 +72,14 @@
 			navBar,
 			labPage,
 			hazardSources,
+			hazardousChemicals,
+			securityHidden,
+			warningDispose,
+			equipmentControl,
 		},
 		data() {
 			return {
-				pageType:2,
+				pageType:6,
 				navHeight: uni.getStorageSync('navHeight'),
 				title: '实验室安全智能监测与控制系统',
 				baseUrl: config.base_url,

+ 86 - 72
pages/views/dataBoard/labPage.vue

@@ -38,18 +38,22 @@
 		<view class="table">
 			<view class="table-border">
 				<view class="table-th">
-					<view>学院单位</view>
-					<view>实验人数</view>
-					<view>值日人数</view>
-					<view>检查次数</view>
-					<view>超期设备</view>
+					<view class="table-th-li">
+						<view>学院单位</view>
+						<view>实验人数</view>
+						<view>值日人数</view>
+						<view>检查次数</view>
+						<view>超期设备</view>
+					</view>
 				</view>
-				<view class="table-tb" v-for="(item,index) in dataList" :key="index">
-					<view>{{item.data1}}</view>
-					<view>{{item.data2}}</view>
-					<view>{{item.data2}}</view>
-					<view>{{item.data2}}</view>
-					<view>{{item.data2}}</view>
+				<view class="table-tb">
+					<view class="table-tb-li" v-for="(item,index) in dataList" :key="index">
+						<view>{{item.data1}}</view>
+						<view>{{item.data2}}</view>
+						<view>{{item.data2}}</view>
+						<view>{{item.data2}}</view>
+						<view>{{item.data2}}</view>
+					</view>
 				</view>
 			</view>
 
@@ -106,22 +110,21 @@
 					page: 1,
 					pageSize: 10,
 				},
-				dataList: [
-					{
-						data1:'学院学院简称',
-						data2:'666',
+				dataList: [{
+						data1: '学院学院简称',
+						data2: '666',
 					},
 					{
-						data1:'学院学院简称',
-						data2:'666',
+						data1: '学院学院简称',
+						data2: '666',
 					},
 					{
-						data1:'学院学院简称',
-						data2:'666',
+						data1: '学院学院简称',
+						data2: '666',
 					},
 					{
-						data1:'学院学院简称',
-						data2:'666',
+						data1: '学院学院简称',
+						data2: '666',
 					},
 				],
 				total: 0,
@@ -296,64 +299,75 @@
 			.table-border {
 				overflow: auto;
 
-			}
+				.table-th {
+					width: 860rpx;
+					height: 80rpx;
+					background: rgba(162, 162, 162, 0.2);
+					border-radius: 20rpx 20rpx 0rpx 0rpx;
+					padding: 0 30rpx;
+					box-sizing: border-box;
+
+					.table-th-li {
+						height: 80rpx;
+						display: flex;
+						justify-content: flex-start;
+
+						>view {
+							font-weight: 400;
+							font-size: 30rpx;
+							color: #FFFFFF;
+							line-height: 80rpx;
+							text-align: center;
+							margin-right: 38rpx;
+							width: 120rpx;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							white-space: nowrap;
+						}
+
+						>view:nth-of-type(1) {
+							width: 168rpx;
+						}
+					}
+				}
 
-			.table-th {
-				width: 860rpx;
-				height: 80rpx;
-				background: rgba(162, 162, 162, 0.2);
-				border-radius: 20rpx 20rpx 0rpx 0rpx;
-				display: flex;
-				justify-content: flex-start;
-				padding: 0 30rpx;
-				box-sizing: border-box;
+				.table-tb {
+					width: 860rpx;
+					border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
+					background: #3E414F;
+					padding: 0 30rpx;
+					box-sizing: border-box;
+
+					.table-tb-li {
+						height: 80rpx;
+						border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
+						display: flex;
+						justify-content: flex-start;
+
+						>view {
+							font-weight: 400;
+							font-size: 28rpx;
+							color: #FFFFFF;
+							line-height: 80rpx;
+							text-align: center;
+							margin-right: 38rpx;
+							width: 120rpx;
+							overflow: hidden;
+							text-overflow: ellipsis;
+							white-space: nowrap;
+
+						}
+
+						>view:nth-of-type(1) {
+							width: 168rpx;
+						}
 
-				>view {
-					font-weight: 400;
-					font-size: 30rpx;
-					color: #FFFFFF;
-					line-height: 80rpx;
-					text-align: center;
-					margin-right: 38rpx;
-					width: 120rpx;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
+					}
 				}
 
-				>view:nth-of-type(1) {
-					width: 168rpx;
-				}
 			}
 
-			.table-tb {
-				width: 860rpx;
-				height: 80rpx;
-				border-bottom: 1rpx dashed rgba(216, 216, 216, 0.2);
-				display: flex;
-				justify-content: flex-start;
-				background: #3E414F;
-				padding: 0 30rpx;
-				box-sizing: border-box;
-
-				>view {
-					font-weight: 400;
-					font-size: 28rpx;
-					color: #FFFFFF;
-					line-height: 80rpx;
-					text-align: center;
-					margin-right: 38rpx;
-					width: 120rpx;
-					overflow: hidden;
-					text-overflow: ellipsis;
-					white-space: nowrap;
-
-				}
 
-				>view:nth-of-type(1) {
-					width: 168rpx;
-				}
-			}
 		}
 	}
 </style>

+ 149 - 125
pages/views/teacherPage/teacherHome.vue

@@ -5,10 +5,9 @@
 
 		</view>
 		<view class="home-page" v-if="pageType == 2">
-			<nav-bar :title="title"></nav-bar>
+			<nav-bar :title="title" :background="background"></nav-bar>
 			<view class="top-back-img" :style="{top:navHeight+'rpx'}">
-				<view class="position-data-button" @click="goPage('dataBoard')"
-				v-if="dataPageType">数据看板</view>
+				<view class="position-data-button" @click="goPage('dataBoard')" v-if="dataPageType">数据看板</view>
 				<img class="position-img" :src="rectangleLogo">
 			</view>
 			<view class="button-one-box">
@@ -48,15 +47,14 @@
 			<topWarn></topWarn>
 			<view class="button-two-box">
 				<view class="button-big-box" @click="goPage('snapshot')"
-				style="background-color: #DFF0FF;margin-right:20rpx;">
+					style="background-color: #DFF0FF;margin-right:20rpx;">
 					<img src="@/pages/images/newImage/icon_sy_ssp@1x.png">
 					<view class="button-min-box">
 						<view>随手拍</view>
 						<view>发现隐患</view>
 					</view>
 				</view>
-				<view class="button-big-box" @click="goPage('remoteDoorOpening')"
-				style="background-color: #D6EBDA;">
+				<view class="button-big-box" @click="goPage('remoteDoorOpening')" style="background-color: #D6EBDA;">
 					<img src="@/pages/images/newImage/img_sy_yckm@1x.png">
 					<view class="button-min-box">
 						<view>远程开门</view>
@@ -82,30 +80,37 @@
 	import {
 		getGentleIdentifier
 	} from '@/pages/api/index.js'
-  import { pageRestrictVerify } from '@/utils/index'
+	import {
+		pageRestrictVerify
+	} from '@/utils/index'
 	import {
 		tabBar
 	} from '@/pages/component/tabBar.vue'
-	import {navBar} from '@/pages/component/navbar.vue'
-	import {topWarn} from '@/pages/component/topWarn.vue'
+	import {
+		navBar
+	} from '@/pages/component/navbar.vue'
+	import {
+		topWarn
+	} from '@/pages/component/topWarn.vue'
 	export default {
 		name: "teacherHome",
 		components: {
 			tabBar,
-      navBar,
+			navBar,
 			topWarn,
 		},
 		data() {
 			return {
-				pageType:2,
-        navHeight: uni.getStorageSync('navHeight'),
-				dataPageType:false,
-        title: '实验室安全智慧化管控系统',
-				rectangleLogo:uni.getStorageSync('rectangleLogo')
+				pageType: 2,
+				navHeight: uni.getStorageSync('navHeight'),
+				dataPageType: false,
+				title: '实验室安全智慧化管控系统',
+				background: '#0183FA',
+				rectangleLogo: uni.getStorageSync('rectangleLogo')
 			}
 		},
 		created() {
-			if(pageRestrictVerify('dataBoard')){
+			if (pageRestrictVerify('dataBoard')) {
 				this.dataPageType = true;
 				// this.pageType = 1;
 			}
@@ -114,8 +119,8 @@
 
 		},
 		methods: {
-			goPage(type){
-				if(!type){
+			goPage(type) {
+				if (!type) {
 					uni.showToast({
 						title: '暂未开放',
 						icon: "none",
@@ -133,54 +138,54 @@
 					});
 					return
 				}
-				if(type == 'dataBoard'){
+				if (type == 'dataBoard') {
 					//数据看板
-					
-				}else if(type == 'securityCheck'){
+
+				} else if (type == 'securityCheck') {
 					//安全检查
 					this.getGentleIdentifier();
-				}else if(type == 'securityExamination'){
+				} else if (type == 'securityExamination') {
 					//安全考试
-					
-				}else if(type == 'securityAdmittance'){
+
+				} else if (type == 'securityAdmittance') {
 					//安全准入
 					uni.navigateTo({
 						url: "/pages_manage/views/accessQualification/accessQualification",
 					});
-				}else if(type == 'hierarchicalControl'){
+				} else if (type == 'hierarchicalControl') {
 					//分级管控
 					uni.navigateTo({
 						url: "/pages_manage/views/gradingControl/gradingControl",
 					});
-				}else if(type == 'securityResponsibility'){
+				} else if (type == 'securityResponsibility') {
 					//安全责任
-					
-				}else if(type == 'deviceManagement'){
+
+				} else if (type == 'deviceManagement') {
 					//设备管理
-					
-				}else if(type == 'emergencyDisposal'){
+
+				} else if (type == 'emergencyDisposal') {
 					//应急处置
 					uni.navigateTo({
 						url: "/pages_manage/views/emergencyEvacuationBig",
 					});
-				}else if(type == 'cageSiteManagement'){
+				} else if (type == 'cageSiteManagement') {
 					//笼位管理
-					
-				}else if(type == 'snapshot'){
+
+				} else if (type == 'snapshot') {
 					//随手拍
 					uni.navigateTo({
 						url: "/pages_safetyExamine/views/snapshotManage/snapshotAdd",
 					});
-				}else if(type == 'remoteDoorOpening'){
+				} else if (type == 'remoteDoorOpening') {
 					//远程开门
 					uni.navigateTo({
 						url: "/pages_manage/views/accessControl/remoteOpen",
 					});
-				}else if(type == 'chemicalsManagement'){
+				} else if (type == 'chemicalsManagement') {
 					//化学品管控
-					
+
 				}
-			},//获取用户身份标识"adminGentle": false,   管理员身份 "rectifyGentle": false, 院级管理员collegeGentle   整改身份"applyGentle": false    检查者身份
+			}, //获取用户身份标识"adminGentle": false,   管理员身份 "rectifyGentle": false, 院级管理员collegeGentle   整改身份"applyGentle": false    检查者身份
 			async getGentleIdentifier(routeUrl) {
 				let self = this;
 				const {
@@ -234,158 +239,177 @@
 
 <style lang="stylus" scoped>
 	.teacherHome {
-		flex:1;
+		flex: 1;
 		display: flex;
 		flex-direction: column;
 		overflow: hidden;
 
 		.data-board {
-			flex:1;
+			flex: 1;
 			display: flex;
 			flex-direction: column;
 			overflow: hidden;
 		}
+
 		.home-page {
-			flex:1;
+			flex: 1;
 			display: flex;
 			flex-direction: column;
 			overflow-y: scroll;
 			overflow-x: hidden;
-			padding-bottom:100rpx;
-			.top-page-title{
+			padding-bottom: 100rpx;
+
+			.top-page-title {
 				text-align: center;
-				font-size:28rpx;
-				background-color:#0183FA;
-				color:#fff;
+				font-size: 28rpx;
+				background-color: #0183FA;
+				color: #fff;
 			}
-			.top-back-img{
+
+			.top-back-img {
 				position: absolute;
-				top:0;
-				left:0;
-				width:750rpx;
-				height:539rpx;
+				top: 0;
+				left: 0;
+				width: 750rpx;
+				height: 539rpx;
 				background: url("@/pages/images/newImage/img_sy_bg@1x.png");
 				background-size 100%;
 				background-repeat: no-repeat;
-				.position-img{
-					z-index:5;
+
+				.position-img {
+					z-index: 5;
 					position: absolute;
 					left: 0;
 					top: 10rpx;
 					width: 400rpx;
 					height: 88rpx;
 				}
-				.position-data-button{
-					z-index:5;
+
+				.position-data-button {
+					z-index: 5;
 					position: absolute;
-					right:0;
-					top:40rpx;
-					width:160rpx;
-					height:50rpx;
-					line-height:50rpx;
-					background-color:#0183fa;
-					color:#fff;
-					font-size:28rpx;
+					right: 0;
+					top: 40rpx;
+					width: 160rpx;
+					height: 50rpx;
+					line-height: 50rpx;
+					background-color: #0183fa;
+					color: #fff;
+					font-size: 28rpx;
 					text-align: center;
 					border-top-left-radius: 30rpx;
 					border-bottom-left-radius: 30rpx;
 				}
 			}
-			.button-one-box{
-				z-index:5;
+
+			.button-one-box {
+				z-index: 5;
 				background: #fff;
 				width: 690rpx;
-				border-radius:20rpx;
-				padding:13px 0 20px;
+				border-radius: 20rpx;
+				padding: 13px 0 20px;
 				overflow: hidden;
-				margin:330rpx 30rpx 0;
-				.button-min{
+				margin: 330rpx 30rpx 0;
+
+				.button-min {
 					display: inline-block;
 					overflow: hidden;
-					width:172rpx;
-					height:123rpx;
-					margin-top:23rpx;
-					.button-img{
+					width: 172rpx;
+					height: 123rpx;
+					margin-top: 23rpx;
+
+					.button-img {
 						display: block;
-						width:80rpx;
-						height:80rpx;
-						margin:0 auto;
+						width: 80rpx;
+						height: 80rpx;
+						margin: 0 auto;
 					}
-					.button-name{
-						margin-top:15rpx;
-						height:28rpx;
-						line-height:28rpx;
-						font-size:28rpx;
+
+					.button-name {
+						margin-top: 15rpx;
+						height: 28rpx;
+						line-height: 28rpx;
+						font-size: 28rpx;
 						text-align: center;
-						color:#333;
+						color: #333;
 					}
 				}
 			}
-			.button-two-box{
-				z-index:5;
+
+			.button-two-box {
+				z-index: 5;
 				width: 690rpx;
 				height: 120rpx;
 				display: flex;
-				margin:20rpx 30rpx 0;
-				.button-big-box{
-					width:335rpx;
+				margin: 20rpx 30rpx 0;
+
+				.button-big-box {
+					width: 335rpx;
 					display: flex;
-					border-radius:20rpx;
-					img{
+					border-radius: 20rpx;
+
+					img {
 						display: block;
-						margin:20rpx 31rpx 0 36rpx;
-						height:80rpx;
-						width:80rpx;
+						margin: 20rpx 31rpx 0 36rpx;
+						height: 80rpx;
+						width: 80rpx;
 					}
-					.button-min-box{
-						view:nth-child(1){
-							line-height:32rpx;
-							height:32rpx;
-							font-size:32rpx;
-							color:#333;
-							margin:20rpx 0 18rpx;
+
+					.button-min-box {
+						view:nth-child(1) {
+							line-height: 32rpx;
+							height: 32rpx;
+							font-size: 32rpx;
+							color: #333;
+							margin: 20rpx 0 18rpx;
 						}
-						view:nth-child(2){
-							line-height:28rpx;
-							height:28rpx;
-							font-size:28rpx;
-							color:#999;
+
+						view:nth-child(2) {
+							line-height: 28rpx;
+							height: 28rpx;
+							font-size: 28rpx;
+							color: #999;
 						}
 					}
 				}
 			}
-			.button-three-box{
-				z-index:5;
+
+			.button-three-box {
+				z-index: 5;
 				width: 690rpx;
 				height: 150rpx;
-				margin:20rpx 30rpx 0;
-				.button-big-box{
-					border-radius:20rpx;
+				margin: 20rpx 30rpx 0;
+
+				.button-big-box {
+					border-radius: 20rpx;
 					background-color: #FFF0DD;
 					display: flex;
-					img{
+
+					img {
 						display: block;
-						width:134rpx;
-						height:104rpx;
-						margin:23rpx 34rpx 0 30rpx;
+						width: 134rpx;
+						height: 104rpx;
+						margin: 23rpx 34rpx 0 30rpx;
 					}
-					.button-min-box{
-						view:nth-child(1){
-							line-height:30rpx;
-							height:30rpx;
-							font-size:30rpx;
-							color:#FF8C00;
-							margin:27rpx 0 15rpx;
+
+					.button-min-box {
+						view:nth-child(1) {
+							line-height: 30rpx;
+							height: 30rpx;
+							font-size: 30rpx;
+							color: #FF8C00;
+							margin: 27rpx 0 15rpx;
 						}
-						view:nth-child(2){
-							line-height:26rpx;
-							height:26rpx;
-							font-size:26rpx;
-							color:#666666;
+
+						view:nth-child(2) {
+							line-height: 26rpx;
+							height: 26rpx;
+							font-size: 26rpx;
+							color: #666666;
 						}
 					}
 				}
 			}
 		}
 	}
-</style>
+</style>