dedsudiyu 10 miesięcy temu
rodzic
commit
cbef539ade
63 zmienionych plików z 840 dodań i 44 usunięć
  1. 19 17
      pages.json
  2. 24 0
      pages/api/index.js
  3. 24 12
      pages/component/tabBar.vue
  4. BIN
      pages/images/btn_sy_xz.png
  5. BIN
      pages/images/btn_sy_zc.png
  6. BIN
      pages/images/btn_wd_xz.png
  7. BIN
      pages/images/btn_wd_zc.png
  8. BIN
      pages/images/btn_xx_xz.png
  9. BIN
      pages/images/btn_xx_zc.png
  10. BIN
      pages/images/icon_sy_xz@1x.png
  11. BIN
      pages/images/icon_sy_zc@1x.png
  12. BIN
      pages/images/icon_sys_xz@1x.png
  13. BIN
      pages/images/icon_sys_zc@1x.png
  14. BIN
      pages/images/icon_wd_xz@1x.png
  15. BIN
      pages/images/icon_wd_zc@1x.png
  16. BIN
      pages/images/icon_xx_xz@1x.png
  17. BIN
      pages/images/icon_xx_zc@1x.png
  18. BIN
      pages/images/img_bg_cjcx.png
  19. BIN
      pages/images/img_bg_jfmx.png
  20. BIN
      pages/images/img_bg_wgjl.png
  21. BIN
      pages/images/newImage/icon_sy_aqjc@1x.png
  22. BIN
      pages/images/newImage/icon_sy_aqks@1x.png
  23. BIN
      pages/images/newImage/icon_sy_aqzr@1x.png
  24. BIN
      pages/images/newImage/icon_sy_aqzrr@1x.png
  25. BIN
      pages/images/newImage/icon_sy_fjgk@1x.png
  26. BIN
      pages/images/newImage/icon_sy_hxp@1x.png
  27. BIN
      pages/images/newImage/icon_sy_lwgl@1x.png
  28. BIN
      pages/images/newImage/icon_sy_sbgl@1x.png
  29. BIN
      pages/images/newImage/icon_sy_ssp@1x.png
  30. BIN
      pages/images/newImage/icon_sy_xz@1x.png
  31. BIN
      pages/images/newImage/icon_sy_yjcz@1x.png
  32. BIN
      pages/images/newImage/icon_sy_zc@1x.png
  33. BIN
      pages/images/newImage/icon_sys_dz@1x.png
  34. BIN
      pages/images/newImage/icon_sys_ss@1x.png
  35. BIN
      pages/images/newImage/icon_sys_xz@1x.png
  36. BIN
      pages/images/newImage/icon_sys_zc@1x.png
  37. BIN
      pages/images/newImage/icon_wd_bj@1x.png
  38. BIN
      pages/images/newImage/icon_wd_dh@1x.png
  39. BIN
      pages/images/newImage/icon_wd_dzqm@1x.png
  40. BIN
      pages/images/newImage/icon_wd_fxyj@1x.png
  41. BIN
      pages/images/newImage/icon_wd_gd@1x.png
  42. BIN
      pages/images/newImage/icon_wd_jcjl.png
  43. BIN
      pages/images/newImage/icon_wd_jlf@1x.png
  44. BIN
      pages/images/newImage/icon_wd_mjsq@1x.png
  45. BIN
      pages/images/newImage/icon_wd_sfyz@1x.png
  46. BIN
      pages/images/newImage/icon_wd_xyf@1x.png
  47. BIN
      pages/images/newImage/icon_wd_xz@1x.png
  48. BIN
      pages/images/newImage/icon_wd_zc@1x.png
  49. BIN
      pages/images/newImage/icon_xx_xz@1x.png
  50. BIN
      pages/images/newImage/icon_xx_zc@1x.png
  51. BIN
      pages/images/newImage/img_bg_hxpgk@1x.png
  52. BIN
      pages/images/newImage/img_bg_sjmb@1x.png
  53. BIN
      pages/images/newImage/img_sy_bg@1x.png
  54. BIN
      pages/images/newImage/img_sy_lkjc@1x.png
  55. BIN
      pages/images/newImage/img_sy_yckm@1x.png
  56. BIN
      pages/images/newImage/img_sys_bg@1x.png
  57. BIN
      pages/images/newImage/img_wd_wgjl@1x.png
  58. BIN
      pages/images/newImage/img_xyyc_bg@1x.png
  59. BIN
      pages/images/newImage/img_xyzc_bg@1x.png
  60. 28 15
      pages/views/home/home.vue
  61. 42 0
      pages/views/pupilPage/pupilHome.vue
  62. 467 0
      pages/views/teacherPage/laboratoryList.vue
  63. 236 0
      pages/views/teacherPage/teacherHome.vue

+ 19 - 17
pages.json

@@ -1,7 +1,5 @@
 {
 	"pages": [
-		
-		    
 		{
 			"path": "pages/views/login/login",//登录
 			"style": {
@@ -10,14 +8,19 @@
 				"navigationStyle":"custom"  //关闭原生导航
 			}
 		},
-    
-		
-		
-
 		{
-			"path": "pages/views/mine/mine",//我的
+			"path": "pages/views/home/home",//首页
 			"style": {
-				"navigationBarTitleText": "我的",
+				"navigationBarTitleText": "实验室安全智慧化管控系统",
+				"navigationBarTextStyle": "white", //导航文字颜色
+				"navigationBarBackgroundColor": "#0183FA" ,//导航背景色
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/views/teacherPage/laboratoryList",//我的
+			"style": {
+				"navigationBarTitleText": "实验室安全智慧化管控系统",
 				"navigationBarTextStyle": "white", //导航文字颜色
 				"navigationBarBackgroundColor": "#0183FA" //导航背景色
 			}
@@ -29,24 +32,23 @@
 			}
 		},
 		{
-			"path": "pages/views/information/informationInfo",//消息
+			"path": "pages/views/mine/mine",//我的
 			"style": {
-				"navigationBarTitleText": "消息详情"
+				"navigationBarTitleText": "我的",
+				"navigationBarTextStyle": "white", //导航文字颜色
+				"navigationBarBackgroundColor": "#0183FA" //导航背景色
 			}
 		},
 		{
-			"path": "pages/views/403/403",//403
+			"path": "pages/views/information/informationInfo",//消息
 			"style": {
-				"navigationBarTitleText": "403"
+				"navigationBarTitleText": "消息详情"
 			}
 		},
 		{
-			"path": "pages/views/home/home",//首页
+			"path": "pages/views/403/403",//403
 			"style": {
-				"navigationBarTitleText": "实验室安全智能监测与控制系统",
-				"navigationBarTextStyle": "white", //导航文字颜色
-				"navigationBarBackgroundColor": "#0183FA" ,//导航背景色
-				"navigationStyle": "custom"
+				"navigationBarTitleText": "403"
 			}
 		},
 		{

+ 24 - 0
pages/api/index.js

@@ -258,4 +258,28 @@ export const examPointsRecordGetMyPointsLogInfo  = (data) => {
         method: 'POST',
         data: {...data}
     })
+};
+//实验室-列表-获取学院列表下拉列表
+export const systemDeptDropList = (data) => {
+	return apiResquest({
+		url: `/system/dept/dropList`,
+		method: 'POST',
+		data: { ...data }
+	})
+};
+//实验室-列表-获取分类下拉列表
+export const laboratoryClassTypeGetList = (data) => {
+	return apiResquest({
+		url: `/laboratory/classType/getList`,
+		method: 'POST',
+		data: { ...data }
+	})
+};
+//实验室-列表-获取分级
+export const laboratoryClassLevelGetList = (data) => {
+	return apiResquest({
+		url: `/laboratory/classLevel/getList`,
+		method: 'POST',
+		data: { ...data }
+	})
 };

+ 24 - 12
pages/component/tabBar.vue

@@ -4,21 +4,27 @@
 		<view class="tab-bar-box">
 			<view class="null-box"></view>
 			<view class="tba-bar-min-box" @click="tabBarGoPage(1)">
-				<img src="@/pages/images/btn_sy_xz.png" v-if="currentRoute == 'pages/views/home/home'">
-				<img src="@/pages/images/btn_sy_zc.png" v-else>
+				<img src="@/pages/images/icon_sy_xz@1x.png" v-if="currentRoute == 'pages/views/home/home'">
+				<img src="@/pages/images/icon_sy_zc@1x.png" v-else>
 				<view :class="currentRoute == 'pages/home'?'primary':''">首页</view>
 			</view>
+			<view class="null-box" v-if="userType == 1"></view>
+			<view class="tba-bar-min-box" @click="tabBarGoPage(2)" v-if="userType == 1">
+				<img src="@/pages/images/icon_sys_xz@1x.png" v-if="currentRoute == 'pages/views/teacherPage/laboratoryList'">
+				<img src="@/pages/images/icon_sys_zc@1x.png" v-else>
+				<view :class="currentRoute == 'pages/information/information'?'primary':''">实验室</view>
+			</view>
 			<view class="null-box"></view>
-			<view class="tba-bar-min-box" @click="tabBarGoPage(2)">
-				<img src="@/pages/images/btn_xx_xz.png" v-if="currentRoute == 'pages/views/information/information'">
-				<img src="@/pages/images/btn_xx_zc.png" v-else>
+			<view class="tba-bar-min-box" @click="tabBarGoPage(3)">
+				<img src="@/pages/images/icon_xx_xz@1x.png" v-if="currentRoute == 'pages/views/information/information'">
+				<img src="@/pages/images/icon_xx_zc@1x.png" v-else>
 				<view :class="currentRoute == 'pages/information/information'?'primary':''">消息</view>
 				<view class="tips-box" v-if="totalCount>0"></view>
 			</view>
 			<view class="null-box"></view>
-			<view class="tba-bar-min-box" @click="tabBarGoPage(3)">
-				<img src="@/pages/images/btn_wd_xz.png" v-if="currentRoute == 'pages/views/mine/mine'">
-				<img src="@/pages/images/btn_wd_zc.png" v-else>
+			<view class="tba-bar-min-box" @click="tabBarGoPage(4)">
+				<img src="@/pages/images/icon_wd_xz@1x.png" v-if="currentRoute == 'pages/views/mine/mine'">
+				<img src="@/pages/images/icon_wd_zc@1x.png" v-else>
 				<view :class="currentRoute == 'pages/mine'?'primary':''">我的</view>
 			</view>
 			<view class="null-box"></view>
@@ -76,12 +82,18 @@
 						});
 					}
 				} else if (type === 2) {
+					if (this.currentRoute !== 'pages/views/teacherPage/laboratoryList') {
+						uni.redirectTo({
+							url: '/pages/views/teacherPage/laboratoryList',
+						});
+					}
+				} else if (type === 3) {
 					if (this.currentRoute !== 'pages/views/information/information') {
 						uni.redirectTo({
 							url: '/pages/views/information/information',
 						});
 					}
-				} else if (type === 3) {
+				} else if (type === 4) {
 					if (this.currentRoute !== 'pages/views/mine/mine') {
 						uni.redirectTo({
 							url: '/pages/views/mine/mine',
@@ -124,9 +136,9 @@
 				position: relative;
 
 				img {
-					width: 44rpx;
-					height: 44rpx;
-					margin: 14rpx auto 0;
+					width: 42rpx;
+					height: 42rpx;
+					margin: 15rpx auto 0;
 				}
 
 				view {

BIN
pages/images/btn_sy_xz.png


BIN
pages/images/btn_sy_zc.png


BIN
pages/images/btn_wd_xz.png


BIN
pages/images/btn_wd_zc.png


BIN
pages/images/btn_xx_xz.png


BIN
pages/images/btn_xx_zc.png


BIN
pages/images/icon_sy_xz@1x.png


BIN
pages/images/icon_sy_zc@1x.png


BIN
pages/images/icon_sys_xz@1x.png


BIN
pages/images/icon_sys_zc@1x.png


BIN
pages/images/icon_wd_xz@1x.png


BIN
pages/images/icon_wd_zc@1x.png


BIN
pages/images/icon_xx_xz@1x.png


BIN
pages/images/icon_xx_zc@1x.png


BIN
pages/images/img_bg_cjcx.png


BIN
pages/images/img_bg_jfmx.png


BIN
pages/images/img_bg_wgjl.png


BIN
pages/images/newImage/icon_sy_aqjc@1x.png


BIN
pages/images/newImage/icon_sy_aqks@1x.png


BIN
pages/images/newImage/icon_sy_aqzr@1x.png


BIN
pages/images/newImage/icon_sy_aqzrr@1x.png


BIN
pages/images/newImage/icon_sy_fjgk@1x.png


BIN
pages/images/newImage/icon_sy_hxp@1x.png


BIN
pages/images/newImage/icon_sy_lwgl@1x.png


BIN
pages/images/newImage/icon_sy_sbgl@1x.png


BIN
pages/images/newImage/icon_sy_ssp@1x.png


BIN
pages/images/newImage/icon_sy_xz@1x.png


BIN
pages/images/newImage/icon_sy_yjcz@1x.png


BIN
pages/images/newImage/icon_sy_zc@1x.png


BIN
pages/images/newImage/icon_sys_dz@1x.png


BIN
pages/images/newImage/icon_sys_ss@1x.png


BIN
pages/images/newImage/icon_sys_xz@1x.png


BIN
pages/images/newImage/icon_sys_zc@1x.png


BIN
pages/images/newImage/icon_wd_bj@1x.png


BIN
pages/images/newImage/icon_wd_dh@1x.png


BIN
pages/images/newImage/icon_wd_dzqm@1x.png


BIN
pages/images/newImage/icon_wd_fxyj@1x.png


BIN
pages/images/newImage/icon_wd_gd@1x.png


BIN
pages/images/newImage/icon_wd_jcjl.png


BIN
pages/images/newImage/icon_wd_jlf@1x.png


BIN
pages/images/newImage/icon_wd_mjsq@1x.png


BIN
pages/images/newImage/icon_wd_sfyz@1x.png


BIN
pages/images/newImage/icon_wd_xyf@1x.png


BIN
pages/images/newImage/icon_wd_xz@1x.png


BIN
pages/images/newImage/icon_wd_zc@1x.png


BIN
pages/images/newImage/icon_xx_xz@1x.png


BIN
pages/images/newImage/icon_xx_zc@1x.png


BIN
pages/images/newImage/img_bg_hxpgk@1x.png


BIN
pages/images/newImage/img_bg_sjmb@1x.png


BIN
pages/images/newImage/img_sy_bg@1x.png


BIN
pages/images/newImage/img_sy_lkjc@1x.png


BIN
pages/images/newImage/img_sy_yckm@1x.png


BIN
pages/images/newImage/img_sys_bg@1x.png


BIN
pages/images/newImage/img_wd_wgjl@1x.png


BIN
pages/images/newImage/img_xyyc_bg@1x.png


BIN
pages/images/newImage/img_xyzc_bg@1x.png


+ 28 - 15
pages/views/home/home.vue

@@ -1,13 +1,21 @@
 <template>
 	<view id="home">
-		<manage-home v-if="userType==1" ref="manage"></manage-home>
-		<user-home v-if="userType==2"></user-home>
+		<teacherHome class="flex-box-page" v-if="userType==1"></teacherHome>
+		<pupilHome class="flex-box-page" v-if="userType==2"></pupilHome>
+		<!-- <manage-home v-if="userType==1" ref="manage"></manage-home> -->
+		<!-- <user-home v-if="userType==2"></user-home> -->
 		<!-- <supplier-home v-if="userType==3"></supplier-home> -->
-		<tab-bar v-if="userType!=3"></tab-bar>
+		<!-- <tab-bar v-if="userType!=3"></tab-bar> -->
 	</view>
 </template>
 <script>
-	// #ifdef MP-WEIXIN
+	import {
+		teacherHome
+	} from '@/pages/views/teacherPage/teacherHome'
+	import {
+		pupilHome
+	} from '@/pages/views/pupilPage/pupilHome'
+	/*
 	import {
 		manageHome
 	} from '@/pages/views/home/manageWorkbench'
@@ -20,25 +28,21 @@
 	import {
 		tabBar
 	} from '@/pages/component/tabBar.vue'
-	// #endif
+	*/
 	export default {
 		name: "home",
-		// #ifdef MP-WEIXIN
+		components: {
+			teacherHome,
+			pupilHome,
+		},
+		/*
 		components: {
 			manageHome,
 			userHome,
 			supplierHome,
 			tabBar
 		},
-		// #endif
-		// #ifdef H5
-		components: {
-			"manageHome": () => import('@/pages/views/home/manageWorkbench.vue'),
-			"userHome": () => import('@/pages/views/home/studentWorkbench.vue'),
-			"supplierHome": () => import('@/pages/views/home/supplierWorkbench.vue'),
-			"tabBar": () => import('@/pages/component/tabBar.vue'),
-		},
-		// #endif
+		*/
 		data() {
 			return {
 				userType: 0,
@@ -74,5 +78,14 @@
 <style lang="stylus" scoped>
 	#home {
 		height: 100%;
+		display: flex;
+		flex-direction: column;
+		overflow: hidden;
+		.flex-box-page{
+			flex:1;
+			display: flex;
+			flex-direction: column;
+			overflow: hidden;
+		}
 	}
 </style>

+ 42 - 0
pages/views/pupilPage/pupilHome.vue

@@ -0,0 +1,42 @@
+<!-- 学生首页 -->
+<template>
+	<view class="pupilHome">
+	</view>
+</template>
+
+<script>
+	import {
+		tabBar
+	} from '@/pages/component/tabBar.vue'
+	export default {
+		name: "pupilHome",
+		components: {
+			tabBar,
+		},
+		data() {
+			return {
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		methods: {
+
+		},
+		onHide() {
+
+		},
+		onUnload() {
+
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	.pupilHome {
+		height: 100%;
+	}
+</style>

+ 467 - 0
pages/views/teacherPage/laboratoryList.vue

@@ -0,0 +1,467 @@
+<!-- 实验室列表 -->
+<template>
+	<view id="laboratoryList">
+		<view class="top-picker-max-box">
+			<view class="top-picker-box">
+				<picker @change="facultyChange" :value="facultyIndex" :range="facultyArray">
+					<view class="picker-view">
+						<view>{{!facultyIndex?'二级单位':facultyArray[facultyIndex]}}</view>
+						<img class="picker-img" src="@/pages_manage/images/icon_06.png" alt="">
+					</view>
+				</picker>
+			</view>
+			<view class="top-picker-box">
+				<picker @change="subjectChange" :value="subjectIndex" :range="subjectArray">
+					<view class="picker-view">
+						<view>{{!subjectIndex?'分类':subjectArray[subjectIndex]}}</view>
+						<img class="picker-img" src="@/pages_manage/images/icon_06.png" alt="">
+					</view>
+				</picker>
+			</view>
+			<view class="top-picker-box">
+				<picker @change="levelChange" :value="levelIndex" :range="levelArray">
+					<view class="picker-view">
+						<view>{{!levelIndex?'分级':levelArray[levelIndex]}}</view>
+						<img class="picker-img" src="@/pages_manage/images/icon_06.png" alt="">
+					</view>
+				</picker>
+			</view>
+		</view>
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
+			<img class="null-img" v-if="!dataList[0]" src="@/pages_manage/images/null-data-1.png">
+			<view class="for-box" v-for="(item,index) in dataList" :key="index" @click="tableButton('subDetail',item)">
+				<view class="title-box">
+					<view :style="'border:1rpx solid '+item.levelColor+';background:#fff;color:'+item.levelColor+';'">
+						{{ item.levelName }}
+					</view>
+					<view>{{ item.subName}}</view>
+					<img src="@/pages_manage/images/icon_04.png">
+				</view>
+				<view class="address-box"><span>{{ item.typeName?item.typeName:'' }}</span>{{ item.deptName?item.deptName:'' }}</view>
+				<view class="address-box-two">
+					<img src="@/pages_manage/images/icon_14.png">
+					<view>{{ item.buildName}} {{ item.floorName}} {{ item.subName}} {{ item.roomName?item.roomName:''}}</view>
+				</view>
+			</view>
+			<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
+		</scroll-view>
+		<tab-bar></tab-bar>
+	</view>
+</template>
+
+<script>
+	import {
+		tabBar
+	} from '@/pages/component/tabBar.vue'
+	import $mqtt from '@/utils/mqtt.min.js';
+	import {
+		config
+	} from '@/api/request/config.js'
+	import {
+		laboratoryList,
+		subject_class,
+		listDepartments,
+		mangerControl,
+		laboratoryInfo
+	} from '@/api/apiDemo/index.js'
+	import {
+		systemDeptDropList,
+		laboratoryClassTypeGetList,
+		laboratoryClassLevelGetList,
+		laboratoryAppletSubList,
+		laboratoryAppletGetSubDetailInfo
+	} from '@/pages/api/index.js'
+	export default {
+		components: {
+			tabBar,
+		},
+		data() {
+			return {
+				total: 0,
+				dataList: [],
+				getDataType: false,
+				//院系选择器数据
+				facultyList: [],
+				facultyArray: [],
+				facultyIndex: "",
+				//分类选择器数据
+				subjectList: [],
+				subjectArray: [],
+				subjectIndex: "",
+				//级别选择器数据
+				levelList: [],
+				levelArray: [],
+				levelIndex: "",
+				// 查询参数
+				queryParams: {
+					page: 1,
+					pageSize: 10,
+				},
+			}
+		},
+		onLoad() {
+			this.systemDeptDropList();
+			this.laboratoryClassTypeGetList();
+			this.laboratoryClassLevelGetList();
+			this.getList()
+		},
+		onShow() {
+		},
+		methods: {
+			//选择学院
+			facultyChange: function(e) {
+				if (this.facultyArray[0]) {
+					this.facultyIndex = parseInt(e.target.value);
+					this.$set(this.queryParams,'page',1);
+					this.getList();
+				}
+			},
+			//选择类型
+			subjectChange: function(e) {
+				if (this.subjectArray[0]) {
+					this.subjectIndex = parseInt(e.target.value);
+					this.$set(this.queryParams,'page',1);
+					this.getList();
+				}
+			},
+			//选择级别
+			levelChange: function(e) {
+				if (this.levelArray[0]) {
+					this.levelIndex = parseInt(e.target.value);
+					this.$set(this.queryParams,'page',1);
+					this.getList();
+				}
+			},
+			//获取院系
+			async systemDeptDropList() {
+				const {
+					data
+				} = await systemDeptDropList({
+					deptName: '',
+					level: 2,
+					deptType: 1
+				});
+				if (data.code == 200) {
+					let list = [];
+					for (let i = 0; i < data.data.length; i++) {
+						list.push(data.data[i].deptName)
+					}
+					this.facultyArray = list;
+					list.unshift('全部');
+					this.facultyList = data.data;
+					this.facultyList.unshift({
+						deptName: "全部",
+						deptId: ""
+					})
+				}
+			},
+			//分类下拉列表
+			async laboratoryClassTypeGetList() {
+				const {
+					data
+				} = await laboratoryClassTypeGetList();
+				if (data.code == 200) {
+					let list = [];
+					for (let i = 0; i < data.data.length; i++) {
+						list.push(data.data[i].typeName)
+					}
+					this.subjectArray = list;
+					list.unshift('全部分类');
+					this.subjectList = data.data;
+					this.subjectList.unshift({
+						typeName: "全部分类",
+						typeId: ""
+					})
+				}
+			},
+			//分级下拉列表
+			async laboratoryClassLevelGetList() {
+				const {
+					data
+				} = await laboratoryClassLevelGetList();
+				if (data.code == 200) {
+					let list = [];
+					for (let i = 0; i < data.data.length; i++) {
+						list.push(data.data[i].levelName)
+					}
+					this.levelArray = list;
+					list.unshift('全部分类');
+					this.levelList = data.data;
+					this.levelList.unshift({
+						levelName: "全部分类",
+						levelId: ""
+					})
+				}
+			},
+			//滚动加载事件
+			scrollGet() {
+				let self = this;
+				if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
+					this.$set(this, 'getDataType', true);
+				} else {
+					this.queryParams.page += 1;
+					this.$nextTick(() => {
+						this.getList();
+					})
+				}
+			},
+			//获取实验室列表
+			async getList() {
+				let self = this;
+				let obj = JSON.parse(JSON.stringify(this.queryParams));
+				obj.deptId = this.facultyIndex ? this.facultyList[this.facultyIndex].deptId : '';
+				obj.typeId = this.subjectIndex ? this.subjectList[this.subjectIndex].typeId : '';
+				obj.levelId = this.levelIndex ? this.levelList[this.levelIndex].levelId : '';
+				const {
+					data
+				} = await laboratoryAppletSubList(obj);
+				if (data.code == 200) {
+					if(self.queryParams.page == 1){
+						this.dataList = data.data.records;
+						this.total = data.data.total;
+						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+							this.$set(this, 'getDataType', true);
+						}
+					}else{
+						this.dataList = [...this.dataList, ...data.data.records]
+						this.total = data.data.total;
+						if (data.data.total / self.queryParams.pageSize <= self.queryParams.page) {
+							this.$set(this, 'getDataType', true);
+						}
+					}
+				}
+			},
+			tableButton(type, row) {
+				let self = this;
+				if (type == 'subDetail') {
+					//实验室详情
+					this.laboratoryAppletGetSubDetailInfo(row.infoId)
+				}
+			},
+			//获取实验室详情
+			async laboratoryAppletGetSubDetailInfo(infoId) {
+				const {
+					data
+				} = await laboratoryAppletGetSubDetailInfo({
+					infoId: infoId
+				});
+				if (data.code == 200) {
+					uni.navigateTo({
+						url: '/pages_manage/views/laboratory/infoPage?infoData=' + encodeURIComponent(JSON.stringify(data.data))
+					});
+				}
+			},
+		},
+	}
+</script>
+
+<style lang="stylus" scoped>
+	#laboratoryList {
+		height: 100%;
+		display flex;
+		flex-direction column;
+
+		.top-picker-max-box {
+			display: flex;
+			padding: 0 20rpx;
+			background #fff;
+			border-bottom: 1rpx solid #E0E0E0;
+
+			.top-picker-box {
+				line-height: 80rpx;
+				height: 80rpx;
+
+				.picker-view {
+					display flex;
+
+					view {
+						display: block;
+						overflow: hidden;
+						text-overflow: ellipsis;
+						white-space: nowrap;
+						font-size: 28rpx;
+					}
+
+					.picker-img {
+						width: 24rpx;
+						height: 13rpx;
+						margin-top: 36rpx;
+						margin-left: 13rpx;
+					}
+				}
+			}
+
+			.top-picker-box:nth-child(1) {
+				text-align left;
+				width: 320rpx;
+
+				.picker-view {
+					view {
+						max-width: 260rpx;
+					}
+				}
+			}
+
+			.top-picker-box:nth-child(2) {
+				text-align left;
+				width: 215rpx;
+
+				.picker-view {
+					view {
+						max-width: 156rpx;
+					}
+				}
+			}
+
+			.top-picker-box:nth-child(3) {
+				text-align right;
+				width: 195rpx;
+
+				.picker-view {
+					view {
+						flex: 1;
+
+					}
+				}
+			}
+		}
+
+		.for-max-box {
+			flex: 1;
+
+			overflow-y scroll;
+
+			.null-img {
+				display block;
+				width: 276rpx;
+				height: 321rpx;
+				position absolute;
+				top: 200rpx;
+				left: 274rpx;
+			}
+
+			.for-box:nth-child(1) {
+				border-top: none;
+			}
+
+			.for-box {
+				border-top: 4rpx solid #dedede;
+				overflow hidden;
+				background #ffffff;
+				margin-bottom: 20rpx;
+
+				.title-box {
+					margin: 20rpx 20rpx 0;
+
+					display flex;
+
+					view:nth-child(1) {
+						height: 40rpx;
+						line-height: 40rpx;
+						font-size: 20rpx;
+						border-radius: 10rpx;
+						padding: 0 20rpx;
+						color: #fff;
+						margin-right: 20rpx;
+					}
+
+					view:nth-child(2) {
+						line-height: 42rpx;
+						font-size: 30rpx;
+						color: #333;
+						max-width: 600rpx;
+						flex: 1;
+					}
+
+					img {
+						width: 12rpx;
+						height: 20rpx;
+						margin-top: 11rpx;
+					}
+
+					.colorA {
+						background: #aa2315;
+					}
+
+					.colorB {
+						background: #ff9b09;
+					}
+
+					.colorC {
+						background: #3ea3e9;
+					}
+
+					.colorD {
+						background: #3ea34c;
+					}
+
+				}
+
+				.address-box {
+					margin: 20rpx 20rpx;
+					font-size: 26rpx;
+					color: #999999;
+
+					span {
+						margin-right: 60rpx;
+					}
+				}
+
+				.address-box-two {
+					display flex;
+					margin: 0 20rpx 20rpx 20rpx;
+
+					img {
+						width: 28rpx;
+						height: 30rpx;
+						margin-right: 18rpx;
+					}
+
+					view {
+						line-height: 30rpx;
+						font-size: 24rpx;
+						color: #999999;
+					}
+				}
+
+				/*安全报警*/
+				.for-img-box {
+					border-top: 1rpx solid #e0e0e0;
+					margin: 0 20rpx;
+
+					.for-img-min-box {
+						display flex img {
+							width: 30rpx;
+							height: 27rpx;
+							margin-top: 24rpx;
+							margin-right: 10rpx;
+						}
+
+						view {
+							line-height: 74rpx;
+							text-align center;
+							font-size: 28rpx;
+							color: #EE3A3A;
+						}
+					}
+				}
+
+				.button-view {
+					margin: 0 20rpx;
+					border-top: 1rpx dashed #e0e0e0;
+					line-height: 90rpx;
+					text-align: center;
+					font-size: 26rpx;
+					color: #333;
+				}
+			}
+
+			.get-data-null-p {
+				text-align: center;
+				line-height: 80rpx;
+				padding-bottom: 80px;
+				color: #999;
+			}
+		}
+	}
+</style>

+ 236 - 0
pages/views/teacherPage/teacherHome.vue

@@ -0,0 +1,236 @@
+<!-- 教师首页 -->
+<template>
+	<view class="teacherHome">
+		<view class="data-board" v-if="pageType == 1">
+
+		</view>
+		<view class="home-page" v-if="pageType == 2">
+			<view class="top-page-title" :style="'line-height:'+navHeight+'rpx;'">实验室安全智慧化管控系统</view>
+			<img class="top-back-img" :style="{top:navHeight+'rpx'}"
+			src="@/pages/images/newImage/img_sy_bg@1x.png">
+			<view class="button-one-box">
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_aqjc@1x.png">
+					<view class="button-name">安全检查</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_aqks@1x.png">
+					<view class="button-name">安全考试</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_aqzr@1x.png">
+					<view class="button-name">安全准入</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_fjgk@1x.png">
+					<view class="button-name">分级管控</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_aqzrr@1x.png">
+					<view class="button-name">安全责任</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_sbgl@1x.png">
+					<view class="button-name">设备管理</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_yjcz@1x.png">
+					<view class="button-name">应急处置</view>
+				</view>
+				<view class="button-min">
+					<img class="button-img" src="@/pages/images/newImage/icon_sy_lwgl@1x.png">
+					<view class="button-name">笼位管理</view>
+				</view>
+			</view>
+			<view class="button-two-box">
+				<view class="button-big-box" 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" style="background-color: #D6EBDA;">
+					<img src="@/pages/images/newImage/img_sy_yckm@1x.png">
+					<view class="button-min-box">
+						<view>远程开门</view>
+						<view>立即开门</view>
+					</view>
+				</view>
+			</view>
+			<view class="button-three-box">
+				<view class="button-big-box">
+					<img src="@/pages/images/newImage/img_bg_hxpgk@1x.png">
+					<view class="button-min-box">
+						<view>化学品智能管控</view>
+						<view>申购审批丨使用台账丨实验室库存</view>
+					</view>
+				</view>
+			</view>
+			<tab-bar></tab-bar>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		tabBar
+	} from '@/pages/component/tabBar.vue'
+	export default {
+		name: "teacherHome",
+		components: {
+			tabBar,
+		},
+		data() {
+			return {
+				pageType:2,
+        navHeight: uni.getStorageSync('navHeight'),
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+
+		},
+		methods: {
+
+		},
+		onHide() {
+
+		},
+		onUnload() {
+
+		}
+	}
+</script>
+
+<style lang="stylus" scoped>
+	.teacherHome {
+		flex:1;
+		display: flex;
+		flex-direction: column;
+		overflow: hidden;
+
+		.data-board {
+			flex:1;
+			display: flex;
+			flex-direction: column;
+			overflow: hidden;
+		}
+		.home-page {
+			flex:1;
+			display: flex;
+			flex-direction: column;
+			overflow: scroll;
+			.top-page-title{
+				text-align: center;
+				font-size:32rpx;
+				background-color:#0183FA;
+				color:#fff;
+			}
+			.top-back-img{
+				position: absolute;
+				top:0;
+				left:0;
+				width:750rpx;
+				height:539rpx;
+			}
+			.button-one-box{
+				z-index:5;
+				background: #fff;
+				width: 690rpx;
+				border-radius:20rpx;
+				padding:13px 0 20px;
+				overflow: hidden;
+				margin:330rpx 30rpx 0;
+				.button-min{
+					display: inline-block;
+					overflow: hidden;
+					width:172rpx;
+					height:123rpx;
+					margin-top:23rpx;
+					.button-img{
+						display: block;
+						width:80rpx;
+						height:80rpx;
+						margin:0 auto;
+					}
+					.button-name{
+						margin-top:15rpx;
+						height:28rpx;
+						line-height:28rpx;
+						font-size:28rpx;
+						text-align: center;
+						color:#333;
+					}
+				}
+			}
+			.button-two-box{
+				z-index:5;
+				width: 690rpx;
+				height: 120rpx;
+				display: flex;
+				margin:20rpx 30rpx 0;
+				.button-big-box{
+					width:335rpx;
+					display: flex;
+					border-radius:20rpx;
+					img{
+						display: block;
+						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;
+						}
+						view:nth-child(2){
+							line-height:28rpx;
+							height:28rpx;
+							font-size:28rpx;
+							color:#999;
+						}
+					}
+				}
+			}
+			.button-three-box{
+				z-index:5;
+				width: 690rpx;
+				height: 150rpx;
+				margin:20rpx 30rpx 0;
+				.button-big-box{
+					border-radius:20rpx;
+					background-color: #FFF0DD;
+					display: flex;
+					img{
+						display: block;
+						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:35rpx 0 20rpx;
+						}
+						view:nth-child(2){
+							line-height:26rpx;
+							height:26rpx;
+							font-size:26rpx;
+							color:#666666;
+						}
+					}
+				}
+			}
+		}
+	}
+</style>