heyang hai 11 meses
pai
achega
2ee6c7c440

+ 0 - 215
accreditH5/accredit.html

@@ -1,215 +0,0 @@
-`
-<!DOCTYPE html>
-<html>
-	<head>
-		<meta charset="utf-8">
-		<meta name="viewport"
-			content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no, minimal-ui">
-		<meta name="screen-orientation" content="portrait" />
-		<meta name="apple-mobile-web-app-capable" content="yes">
-		<meta name="format-detection" content="telephone=no">
-		<meta name="full-screen" content="yes">
-		<meta name="x5-fullscreen" content="true">
-		<script src="./js/jweixin-1.0.0.js"></script>
-		<script src="./js/axios.min.js"></script>
-		<title>正在授权请稍后</title>
-		<style type="text/css">
-			html,
-			body {
-				height: 100%;
-			}
-
-			html {
-				font-size: calc(100vw/7.5);
-			}
-
-			.object {
-				-moz-border-radius: 50% 50% 50% 50%;
-				-webkit-border-radius: 50% 50% 50% 50%;
-				border-radius: 50% 50% 50% 50%;
-				position: absolute;
-				border-left: 0.05rem solid #fff;
-				border-right: 0.05rem solid #fff;
-				border-top: 0.05rem solid transparent;
-				border-bottom: 0.05rem solid transparent;
-				-webkit-animation: animate 2s infinite;
-				animation: animate 2s infinite;
-			}
-
-			#object_one {
-				left: 1.25rem;
-				top: 0.65rem;
-				width: 0.5rem;
-				height: 0.5rem;
-			}
-
-			#object_two {
-				left: 1.15rem;
-				top: 0.55rem;
-				width: 0.7rem;
-				height: 0.7rem;
-				-webkit-animation-delay: 0.1s;
-				animation-delay: 0.1s;
-			}
-
-			#object_three {
-				left: 1.05rem;
-				top: 0.45rem;
-				width: 0.9rem;
-				height: 0.9rem;
-				-webkit-animation-delay: 0.2s;
-				animation-delay: 0.2s;
-			}
-
-			#object_four {
-				left: 0.95rem;
-				top: 0.35rem;
-				width: 1.1rem;
-				height: 1.1rem;
-				-webkit-animation-delay: 0.3s;
-				animation-delay: 0.3s;
-			}
-
-			@-webkit-keyframes animate {
-				50% {
-					-ms-transform: rotate(180deg);
-					-webkit-transform: rotate(180deg);
-					transform: rotate(180deg);
-				}
-
-				100% {
-					-ms-transform: rotate(0deg);
-					-webkit-transform: rotate(0deg);
-					transform: rotate(0deg);
-				}
-			}
-
-			@keyframes animate {
-				50% {
-					-ms-transform: rotate(180deg);
-					-webkit-transform: rotate(180deg);
-					transform: rotate(180deg);
-				}
-
-				100% {
-					-ms-transform: rotate(0deg);
-					-webkit-transform: rotate(0deg);
-					transform: rotate(0deg);
-				}
-			}
-		</style>
-	<body>
-		<div class="spinner-box" style="z-index: 1000;
-              width:100%;
-              height: 100%;
-              position: absolute;
-              top:0;
-              left: 0;">
-			<div id="loading-center-absolute" style="position: absolute;
-                left: 50%;
-                top: 40%;
-                height: 2.5rem;
-                width: 3rem;
-                border-radius:0.2rem;
-                background:rgba(0,0,0,0.7);
-                margin-top: -1rem;
-                margin-left: -1.5rem;">
-				<div class="object" id="object_four"></div>
-				<div class="object" id="object_three"></div>
-				<div class="object" id="object_two"></div>
-				<div class="object" id="object_one"></div>
-				<p style="color:#fff;
-                text-align:center;
-                font-size:0.35rem;
-                font-weight: 700;
-                height:1rem;
-                line-height:1rem;
-                margin-top:1.5rem;">加载中</p>
-			</div>
-		</div>
-		<script>
-			function getUrlParam(name, explode, url) {
-				var param = window.location.search.substr(1);
-				if (url) {
-					if (explode) {
-						param = url.substr(url.indexOf(explode) + 1);
-					} else {
-						param = url.substr(url.indexOf('?') + 1);
-					}
-				} else {
-					if (explode) {
-						param = window.location.href.substr(window.location.href.indexOf(explode) + 1);
-					}
-				}
-				var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
-				var r = param.match(reg);
-				if (r != null) return unescape(r[2]);
-				return '';
-			}
-
-			if (!getUrlParam("code")) {
-				//  未携带code时获取agent_id
-				let agent_id = getUrlParam("agent_id");
-				localStorage.setItem("agent_id", agent_id);
-				//获取appId接口
-				axios.get("http://zhejiangmiliangxiansheng.zjmlxs.com/wxsite/index/wxConfig", {
-					params: {
-						'agent_id': agent_id
-					}
-				}).then(function(response) {
-					if (response.data.code == 1) {
-						if (localStorage.getItem("appid") == response.data.data.app_id) {
-							if (!localStorage.getItem("openid") || localStorage.getItem("openid") == null || localStorage.getItem(
-									"openid") == "undefined") {
-								// 获取微信code
-								window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + localStorage
-									.getItem("appid") + "&redirect_uri=" + location.href +
-									"&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
-							} else {
-								// 定向到项目H5页面
-								window.location.href = "http://zhejiangmiliangxiansheng.zjmlxs.com/H5/index.html#/skip?skipType=home";
-							}
-						} else {
-							localStorage.setItem("appid", response.data.data.app_id);
-							localStorage.removeItem("token");
-							localStorage.removeItem("openid");
-							// 获取微信code
-							window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + localStorage
-								.getItem("appid") + "&redirect_uri=" + location.href +
-								"&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
-						}
-					} else {
-						alert(response.data.msg)
-					}
-				}).catch(function(error) {
-					alert(error)
-				});
-			} else {
-				// 携带code时必然为微信跳转回来的地址
-				let code = getUrlParam("code");
-				// 获取openId接口
-				axios.get("http://zhejiangmiliangxiansheng.zjmlxs.com/wxsite/index/getWxInfo", {
-					params: {
-						'code': code,
-						'agent_id': localStorage.getItem("agent_id")
-					}
-				}).then(function(response) {
-					if (response.data.code == 1) {
-						localStorage.setItem("token", response.data.data.token);
-						localStorage.setItem("openid", response.data.data.openid);
-						//定向到 项目H5页面
-						window.location.href = "http://zhejiangmiliangxiansheng.zjmlxs.com/H5/index.html#/skip?skipType=home";
-					} else {
-						//重新获取微信code
-						alert(response.data.msg)
-						window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + localStorage.getItem(
-								"appid") + "&redirect_uri=" + location.href +
-							"&response_type=code&scope=snsapi_userinfo&state=123#wechat_redirect";
-					}
-				}).catch(function(error) {
-					alert(error)
-				});
-			}
-		</script>
-	</body>
-</html>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 9
accreditH5/js/axios.min.js


A diferenza do arquivo foi suprimida porque é demasiado grande
+ 0 - 1
accreditH5/js/jweixin-1.0.0.js


+ 15 - 0
api/basicsModules/index.js

@@ -163,6 +163,21 @@ export const systemMineUserEdit = (data) => {
 		data: { ...data }
 	})
 };
+/*查询用户列表-下拉列表
+* userName : '', 名称
+* userType: '',  0.系统 1.老师 2.学生
+*/
+export const systemUserDropList = (data) => {
+	return apiResquest({
+		url: `/system/user/dropList`,
+		method: 'POST',
+		data: { ...data }
+	})
+};
+
+
+
+
 /*                分类获取公共配置
 * category        1.系统参数 2.公共配置
 * configType      1.基础配置 2.管控一体机 3.化学品终端 4.小程序配置 5.开发配置 6.首页配置

+ 78 - 1
api/manage/index.js

@@ -3,6 +3,80 @@ import { apiResquestForm } from '../request/request.js'
 import { apiResquestJsonList } from '../request/request.js'
 import { apiResquestFormVideo } from '../request/request.js'
 import { apiResquestTimer } from '../request/request.js'
+//应急处置-查询楼栋楼层
+export const laboratoryBigViewGetBuildByBigView = (data) => {
+	return apiResquest({
+		url: `/laboratory/bigView/getBuildByBigView`,
+		method: 'GET',
+		data: data,
+	})
+};
+/****************疏散相关接口****************/
+//查询当前用户下的预案触发数据
+export const laboratoryBigViewSelectTriggerInfo = (data) => {
+    return apiResquest({
+        url: `/laboratory/bigView/selectTriggerInfo`,
+        method: 'GET',
+        data: data,
+    })
+};
+//-应急处置-楼层布局数据
+export const laboratoryBigViewGetFloorByBigView  = (data) => {
+    return apiResquest({
+        url: `/laboratory/bigView/getFloorByBigView`,
+        method: 'GET',
+		data:data,
+    })
+};
+//查询当前发生的疏散
+export const laboratoryExitLineGetRedisEvacuation  = (data) => {
+    return apiResquest({
+        url: `/laboratory/exitLine/getRedisEvacuation`,
+        method: 'post',
+        data: data
+    })
+};
+//应急处置-执行疏散
+export const laboratoryExitLineExecuteEvacuation  = (data) => {
+    return apiResquest({
+        url: `/laboratory/exitLine/executeEvacuation`,
+        method: 'post',
+        data: data
+    })
+};
+//应急处置-结束疏散
+export const laboratoryexitLineEndEvacuation  = (data) => {
+    return apiResquest({
+        url: `/laboratory/exitLine/endEvacuation`,
+        method: 'post',
+        data: data
+    })
+};
+//应急处置-开灯
+export const laboratoryExitRelayOpenLight  = (data) => {
+    return apiResquest({
+        url: `/laboratory/exitRelay/openLight`,
+        method: 'post',
+        data: data
+    })
+};
+//应急处置-关灯
+export const laboratoryExitRelayCloseLight  = (data) => {
+    return apiResquest({
+        url: `/laboratory/exitRelay/closeLight`,
+        method: 'post',
+        data: data
+    })
+};
+//应急处置-结束预案
+export const laboratoryPlanCloseRiskPlan  = (data) => {
+    return apiResquest({
+        url: `/laboratory/plan/closeRiskPlan`,
+        method: 'GET',
+        data: data,
+    })
+};
+
 
 
 //安全准入审核列表接口
@@ -29,4 +103,7 @@ export const laboratoryAppletEditApp  = (data) => {
         method: 'POST',
         data: data,
     })
-};
+};
+
+
+

+ 2 - 2
api/request/config.js

@@ -1,9 +1,9 @@
 const config = {
 	// base_url: 'http://192.168.1.8/api',//V3
-	// base_url: 'http://192.168.1.9:8080',//柴
+	 base_url: 'http://192.168.1.9:8080',//柴
 	// base_url: 'http://192.168.1.24:8080',//林总
 	// base_url: 'http://192.168.1.7:8080',//刘波
-	base_url: 'http://192.168.1.17:8080',//小飞
+	//base_url: 'http://192.168.1.17:8080',//小飞
 	// base_url: 'http://192.168.1.20:8080',//志伟
 	// base_url: 'http://192.168.1.8:8080',//高升
 	// base_url: 'http://192.168.1.29:8080',//何成

+ 16 - 0
api/student/index.js

@@ -27,4 +27,20 @@ export const laboratoryAppletMaterialApply  = (data) => {
         method: 'POST',
         data: data,
     })
+};
+//准入申请-提交
+export const laboratoryAppletMaterialAdd  = (data) => {
+    return apiResquest({
+         url:'/laboratory/applet/materialAdd',
+        method: 'POST',
+        data: data,
+    })
+};
+//准入申请-编辑
+export const laboratoryAppletMaterialUpdate  = (data) => {
+    return apiResquest({
+         url:'/laboratory/applet/materialUpdate',
+        method: 'POST',
+        data: data,
+    })
 };

+ 4 - 3
components/mineConfigurationSlot.vue

@@ -29,7 +29,7 @@
 		<view class="button-max-big-box">
 			<permissionsSlot class="button-for-box" v-for="(item,index) in mineConfig.layout" :key="item.id"
 				:hasPermi="item.limits">
-				<view class="button-max-box" @click="buttonClick(item)">
+				<view class="button-max-box" @click="buttonClick(mineConfig.layout)">
 					<img class="left-img" :src="item.img">
 					<view>{{item.name}}</view>
 					<view class="view-three-one" v-if="item.route === 'mineWarningRecording' && securityAlertNum>0">
@@ -76,11 +76,12 @@
 			// this.$set(this, 'ifFaceFeature', data.data.faceImg)
 		},
 		mounted() {
-			
+
 		},
 		methods: {
 			//按钮点击事件
 			buttonClick(item) {
+        console.log(item)
 				if (item.buttonType === 'page') {
 					if (item.route === 'mineWarningRecording') { //预警记录
 						uni.navigateTo({
@@ -198,4 +199,4 @@
 			}
 		}
 	}
-</style>
+</style>

+ 78 - 81
components/tabBar.vue

@@ -12,7 +12,6 @@
 			<view class="tba-bar-min-box" @click="tabBarGoPage(2)">
 				<img src="@/images/basicsModules/btn_xx_xz.png" v-if="currentRoute == 'pages/information/information'">
 				<img src="@/images/basicsModules/btn_xx_zc.png" v-else>
-				<view class="tip" v-if="totalCount!=0">{{totalCount}}</view>
 				<view :class="currentRoute == 'pages/information/information'?'primary':''">消息</view>
 			</view>
 			<view class="null-box"></view>
@@ -27,75 +26,68 @@
 </template>
 
 <script>
- import { infoTotalCount } from '@/api/apiDemo/index.js'
+	import {
+
+	} from '@/api/apiDemo/index.js'
 	export default {
-		name:'tabBar',
+		name: 'tabBar',
 		data() {
 			return {
-				paddingBottomHeight: 0,  //苹果X以上手机底部适配高度
-				currentRoute:"",
-				userType:"",
-				totalCount:0,
+				paddingBottomHeight: 0, //苹果X以上手机底部适配高度
+				currentRoute: "",
+				userType: "",
+				totalCount: 0,
 			}
 		},
 		created() {
 			let that = this;
 			uni.getSystemInfo({
-			    success: function (res) {
-			        let model = ['X', 'XR', 'XS', '11', '12', '13', '14', '15'];
-			        model.forEach(item => {
-			            //适配iphoneX以上的底部,给tabbar一定高度的padding-bottom
-			            if(res.model.indexOf(item) != -1 && res.model.indexOf('iPhone') != -1) {
-			                that.paddingBottomHeight = 40;
-			            }
-			        })
-			    }
+				success: function(res) {
+					let model = ['X', 'XR', 'XS', '11', '12', '13', '14', '15'];
+					model.forEach(item => {
+						//适配iphoneX以上的底部,给tabbar一定高度的padding-bottom
+						if (res.model.indexOf(item) != -1 && res.model.indexOf('iPhone') != -1) {
+							that.paddingBottomHeight = 40;
+						}
+					})
+				}
 			});
 		},
 
-		onShow(){
-			this.getTotalList();
+		onShow() {
 		},
-		mounted(){
+		mounted() {
 
-			this.getTotalList();
-			this.totalCount=uni.getStorageSync('totalCount')
-            // 获取当前路由
-            let pages = getCurrentPages();
-            let page = pages[pages.length - 1];
-            this.currentRoute = page.route;
-            // 获取当前角色
+			this.totalCount = uni.getStorageSync('totalCount')
+			// 获取当前路由
+			let pages = getCurrentPages();
+			let page = pages[pages.length - 1];
+			this.currentRoute = page.route;
+			// 获取当前角色
 			this.userType = uni.getStorageSync('userType');
 		},
 		methods: {
-			//获取消息总数接口
-			async getTotalList(){
-				const {data} = await infoTotalCount();
-				if(data.code==200){
-					this.totalCount=data.data.totalCount
-				}
 
-			},
-            tabBarGoPage(type){
-                if(type === 1){
-                    if (this.currentRoute !== 'pages/home/home') {
-                        uni.redirectTo({
-                            url: '/pages/home/home',
-                        });
-                    }
-				}else if(type === 2){
-                    if (this.currentRoute !== 'pages/information/information') {
-                        uni.redirectTo({
-                            url: '/pages/information/information',
-                        });
-                    }
-                }else if(type === 3){
-                    if (this.currentRoute !== 'pages/mine/mine') {
-                        uni.redirectTo({
-                            url: '/pages/mine/mine',
-                        });
-                    }
-                }
+			tabBarGoPage(type) {
+				if (type === 1) {
+					if (this.currentRoute !== 'pages/home/home') {
+						uni.redirectTo({
+							url: '/pages/home/home',
+						});
+					}
+				} else if (type === 2) {
+					if (this.currentRoute !== 'pages/information/information') {
+						uni.redirectTo({
+							url: '/pages/information/information',
+						});
+					}
+				} else if (type === 3) {
+					if (this.currentRoute !== 'pages/mine/mine') {
+						uni.redirectTo({
+							url: '/pages/mine/mine',
+						});
+					}
+				}
 
 			},
 		}
@@ -103,45 +95,50 @@
 </script>
 
 <style lang="stylus" scoped>
-	.tabBar{
-		z-index:9999;
-		width:100%;
-		height:98rpx;
-		background:#ffffff;
-		position fixed
-		bottom:0;
-		left:0;
+	.tabBar {
+		z-index: 9999;
+		width: 100%;
+		height: 98rpx;
+		background: #ffffff;
+		position fixed ;
+		bottom: 0;
+		left: 0;
 		box-shadow: 0 -3rpx 13rpx 0 rgba(0, 0, 0, 0.1);
-		.tab-bar-box{
+		.tab-bar-box {
 			display flex;
-			.null-box{
-				flex:1;
+
+			.null-box {
+				flex: 1;
 			}
-			.tba-bar-min-box{
-				width:64rpx;
-				position :relative;
-				img{
-					width:44rpx;
-					height:44rpx;
-					margin:14rpx auto 0;
+
+			.tba-bar-min-box {
+				width: 64rpx;
+				position: relative;
+
+				img {
+					width: 44rpx;
+					height: 44rpx;
+					margin: 14rpx auto 0;
 				}
-				view{
-					line-height:37rpx;
-					font-size:19rpx;
+
+				view {
+					line-height: 37rpx;
+					font-size: 19rpx;
 					text-align center;
-					color:#666666;
+					color: #666666;
 				}
-				.tip{
+
+				.tip {
 					display inline-block;
-					background :#EF0909;
+					background: #EF0909;
 					border-radius 50%;
-					position :absolute;
+					position: absolute;
 					font-size 24rpx;
 					line-height 24rpx;
 					color #fff;
-					top :10rpx;
-					left :44rpx;
-					padding:6rpx 10rpx;
+					top: 10rpx;
+					left: 44rpx;
+					padding: 6rpx 10rpx;
 					box-sizing border-box;
 				}
 			}

+ 4 - 10
pages/login/login.vue

@@ -51,9 +51,8 @@
 		data() {
 			return {
 				identityStatus: 1,
-				// username:"superadmin",
-				// password:"zd123456",
-				username: "sudiyu",
+				// username:"dedsudiyu",//学生
+				username: "sudiyu",//教职工
 				password: "zd123456",
 				checkedType: false,
 				loginBanner: uni.getStorageSync('loginBanner'),
@@ -121,7 +120,7 @@
 							});
 						} else {
 							uni.redirectTo({
-								url: '/pages/mine/mine',
+								url: '/pages/home/home',
 							});
 						}
 					}).catch((error) => {
@@ -131,11 +130,6 @@
 							duration: 3000
 						});
 					})
-
-
-
-					//获取身份标识
-					// this.getGentleIdentifier();
 				}
 			},
 			//获取权限字段
@@ -441,4 +435,4 @@
 			width: 366rpx;
 		}
 	}
-</style>
+</style>

+ 32 - 125
pages/mine/mine.vue

@@ -3,15 +3,15 @@
 	<view id="mine">
 		<view class="top-max-big-box" v-if="pageType">
 			<!--老师-->
-			<view class="top-max-box-two" v-if="userType==1&&certification.auditStatus">
+			<view class="top-max-box-two" v-if="userType==1">
 				<view class="user-img-box" @click="selectImage">
-					<img v-if="userData.avatar" :src="userData.avatarUrl">
+					<img v-if="userData.avatar" :src="baseUrl+userData.avatar">
 					<img v-else src="@/images/basicsModules/icon_01.png">
 					<view>{{userData.avatar?'编辑':'未上传'}}</view>
 				</view>
 				<view class="name-box">
 					<view>{{userData.userName}}</view>
-					<view>{{userData.professional}}丨{{userData.deptName}}</view>
+					<view>{{userData.deptName}}</view>
 				</view>
 			</view>
 			<!--学生-->
@@ -61,8 +61,8 @@
 				</view>
 			</view>
 		</view>
-		<mine-Configuration-Slot v-for="(item,index) in mineConfigData" :key="item.id" :mineConfig="item">
-		</mine-Configuration-Slot>
+		<mineConfigurationSlot v-for="(item,index) in mineConfigData" :key="index" :mineConfig="item">
+		</mineConfigurationSlot>
 		<view class="out-button" @click="clickOut">退出登录</view>
 		<tab-bar></tab-bar>
 	</view>
@@ -78,40 +78,30 @@
 		simpleInfo,
 		getSafeWarnList,
 		getMyPointsLogInfo,
-		querySignature,
 		fingerprintQuantity,
 		fingerprintQueryList,
-		systemAppletLayoutSelect
+		systemAppletLayoutSelect,
+		systemUserProfile
 	} from '@/api/basicsModules/index.js'
-	import {
-		getMineConfig
-	} from '@/utils/mineConfig'
-
-	//#ifdef MP-WEIXIN
 	import {
 		tabBar
 	} from '@/components/tabBar.vue'
+
 	import {
 		mineConfigurationSlot
 	} from '@/components/mineConfigurationSlot'
-	//#endif
+	import {
+		getMineConfig
+	} from '@/utils/mineConfig'
 
 	export default {
-		name: 'mine',
-		//#ifdef MP-WEIXIN
 		components: {
 			tabBar,
 			mineConfigurationSlot,
 		},
-		//#endif
-		//#ifdef H5
-		components: {
-			"tabBar": () => import('@/components/tabBar.vue'),
-			"mineConfigurationSlot": () => import('@/components/mineConfigurationSlot.vue'),
-		},
-		//#endif
 		data() {
 			return {
+				baseUrl: config.base_url,
 				mineConfigData: [],
 				//页面状态
 				pageType: false,
@@ -146,13 +136,11 @@
 
 		},
 		onShow() {
-
+			this.simpleInfo();
 			this.systemAppletLayoutSelect();
 			if (uni.getStorageSync('token') && uni.getStorageSync('userId') && uni.getStorageSync('userType')) {
 				this.userType = uni.getStorageSync('userType')
-				// this.studentinfoFacemy();
-				// this.simpleInfo();
-				// this.querySignature();
+				//this.studentinfoFacemy();
 			} else {
 				uni.removeStorageSync('token');
 				uni.removeStorageSync('userId');
@@ -195,7 +183,8 @@
 						onlyFromCamera: true,
 						success: function(res) {
 							uni.navigateTo({
-								url: '/pages_student/mine/codeSuccess?q=' + encodeURIComponent(JSON.stringify(res.result))
+								url: '/pages_student/integralManage/codeSuccess?q=' +
+									encodeURIComponent(JSON.stringify(res.result))
 							});
 						}
 					});
@@ -212,60 +201,11 @@
 			async simpleInfo() {
 				const {
 					data
-				} = await simpleInfo();
-				if (data.code == 200) {
-					this.userData = data.data;
-					this.userData.avatar = data.data.avatar;
-
-					this.userData.avatarUrl = config.base_url + data.data.avatar;
-					console.log(config.base_url)
-					console.log(this.userData.avatarUrl)
-					if (this.userType == 1) {
-						this.getSafeWarnList();
-					} else if (this.userType == 2) {
-						//this.getMyPointsLogInfo();
-					}
-					if (data.data.count) {
-						this.adminSubCount = data.data.count.adminSubCount;
-						this.wranDoCount = data.data.count.wranDoCount;
-					}
-					this.pageType = true;
-				}
-			},
-
-			//查询用户指纹录取数量
-			async fingerprintQuantityFun() {
-				let _this = this;
-				const {
-					data
-				} = await fingerprintQuantity(uni.getStorageSync('userId'));
-				if (data.code == 200) {
-					_this.Quantity = data.data;
-
-				}
-			},
-			//查询用户指纹录取数据
-			async fingerprintClick() {
-				let _this = this;
-				const {
-					data
-				} = await fingerprintQueryList(uni.getStorageSync('userId'));
-				if (data.code == 200) {
-					uni.navigateTo({
-						url: '/pages/fingerprint', //指纹信息
-					});
-				}
-			},
-			//查询用户电子签名
-			async querySignature() {
-				let _this = this;
-				const {
-					data
-				} = await querySignature();
+				} = await systemUserProfile();
 				if (data.code == 200) {
-
-					_this.isUpload = data.data.isUpload;
-					_this.signatureUrl = data.data.signature;
+					this.$set(this, 'userData', data.data)
+					uni.setStorageSync('faceImg', data.data.faceImg);
+					this.$set(this, 'pageType', true)
 				}
 			},
 			//获取个人奖励分/信用分
@@ -327,50 +267,18 @@
 			},
 			//退出登录
 			async logout() {
-				uni.clearStorageSync();
-				uni.redirectTo({
-					url: '/pages/login/login',
-				});
-				// let self = this;
-				// const {data} = await logout();
-				// if(data.code == 200){
-				//   uni.removeStorageSync('token');
-				//   uni.removeStorageSync('userId');
-				//   uni.removeStorageSync('userType');
-				//   uni.redirectTo({
-				//     url: '/pages/login',
-				//   });
-				// }
-			},
-			//页面跳转
-			goPage(type) {
-				if (type == 'pointsRecord') { //积分记录
-					uni.navigateTo({
-						url: '/pages_student/mine/pointsRecord',
-					});
-				} else if (type == 'faceImage') { //身份验证
-					uni.navigateTo({
-						url: '/pages/faceImage',
-					});
-				} else if (type == 'laboratory') {
-					uni.navigateTo({
-						url: '/pages_manage/workbench/laboratory/meLaboratory', //我的实验室
-					});
-				} else if (type == 'alarm') {
-					uni.navigateTo({
-						url: '/pages/earlyWarningManage/earlyWarningList', //安全警报
-					});
-				} else if (type == 'record') {
-					uni.navigateTo({
-						url: '/pages_manage/workbench/plan/planList', //预案执行记录
-					});
-				} else if (type == 'signature') {
-					uni.navigateTo({
-						url: '/pages_manage/workbench/signature/signature?item=' + this.signatureUrl, //电子签名
+				let self = this;
+				const {
+					data
+				} = await logout();
+				if (data.code == 200) {
+					uni.removeStorageSync('token');
+					uni.removeStorageSync('userId');
+					uni.removeStorageSync('userType');
+					uni.redirectTo({
+						url: '/pages/login/login',
 					});
 				}
-
-
 			},
 			// 头像上传
 			selectImage() {
@@ -392,7 +300,7 @@
 					mask: true
 				});
 				uni.uploadFile({
-					url: config.base_url + '/base/file/upload', //仅为示例,非真实的接口地址
+					url: config.base_url + '/system/file/upload', //仅为示例,非真实的接口地址
 					header: {
 						'Authorization': uni.getStorageSync('token')
 					},
@@ -405,7 +313,7 @@
 						let res = JSON.parse(uploadFileRes.data);
 						if (res.code == 200) {
 							uni.navigateTo({
-								url: '/pages/avatar?src=' + config.base_url + res.data.url, //预案执行记录
+								url: '/pages_basics/avatar?src=' + config.base_url + res.data.url,
 							});
 
 
@@ -428,7 +336,6 @@
 		},
 	}
 </script>
-
 <style lang="stylus" scoped>
 	#mine {
 		height: 100%;

+ 279 - 223
pages_manage/accessQualification/accessQualification.vue

@@ -1,21 +1,24 @@
 <!-- 准入资格证书 -->
 <template>
-    <view id="accessQualification">
+	<view id="accessQualification">
 		<view class="top-picker-max-box">
 			<view class="top-picker-left-box">审核状态</view>
-			<picker class="top-picker-right-box" @change="buttonChange"
-			:range-key="'name'" :value="id" :range="buttonArray">
+			<picker class="top-picker-right-box" @change="buttonChange" :range-key="'name'" :value="id"
+				:range="buttonArray">
 				<view>{{buttonArray[buttonArrayIndex].name}}</view>
 			</picker>
 		</view>
-        <scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
 			<view class="for-big-box" v-for="(item,index) in dataList" :key="index">
-			    <view class="for-time-p">{{item.titleCreatTime}}</view>
-			    <img class="for-back-img" src="@/images/basicsModules/for_min_bg.png">
-			    <view class="for-list-box" @click="goPageInfo(minItem)"
-				v-for="(minItem,indexTwo) in item.subList" :key="indexTwo">
-			        <view class="min-for-box-one">
-						<view :class="minItem.auditStatus==1?'titleType1':(minItem.auditStatus==0?'titleType2':(minItem.auditStatus==2?'titleType3':''))">{{minItem.auditStatus==1?'未通过':(minItem.auditStatus==0?'待审核':(minItem.auditStatus==2?'已通过':''))}}</view>
+				<view class="for-time-p">{{item.titleCreatTime}}</view>
+				<img class="for-back-img" src="@/images/basicsModules/for_min_bg.png">
+				<view class="for-list-box" @click="goPageInfo(minItem)" v-for="(minItem,indexTwo) in item.subList"
+					:key="indexTwo">
+					<view class="min-for-box-one">
+						<view
+							:class="minItem.auditStatus==1?'titleType1':(minItem.auditStatus==0?'titleType2':(minItem.auditStatus==2?'titleType3':''))">
+							{{minItem.auditStatus==1?'未通过':(minItem.auditStatus==0?'待审核':(minItem.auditStatus==2?'已通过':''))}}
+						</view>
 						<view>{{minItem.subName}}</view>
 					</view>
 					<view class="min-for-box-two">
@@ -23,102 +26,120 @@
 						<view>申请人:{{minItem.userName}}</view>
 						<view>{{minItem.creatTime}}</view>
 					</view>
-			    </view>
+				</view>
 			</view>
-            <view class="get-null-box" v-if="getData.nullDataType">暂无更多数据</view>
-        </scroll-view>
+			<view class="get-null-box" v-if="getData.nullDataType">暂无更多数据</view>
+		</scroll-view>
 		<view class="tip">请联系管理员开通<text>白名单</text>来获取实验室准入资格</view>
-    </view>
+	</view>
 </template>
 <script>
-    import { parseTime } from '@/component/public.js'
-    import { laboratoryAppletAuditListByApply } from '@/api/manage/index.js'
-    export default {
-        data() {
-            return {
+	import {
+		parseTime
+	} from '@/component/public.js'
+	import {
+		laboratoryAppletAuditListByApply
+	} from '@/api/manage/index.js'
+	export default {
+		data() {
+			return {
 				//选项
-				buttonArray:[
-					{name:"全部",id:""},
-					{name:"待审核",id:"0"},
-					{name:"已通过",id:"2"},
-					{name:"未通过",id:"1"},
+				buttonArray: [{
+						name: "全部",
+						id: ""
+					},
+					{
+						name: "待审核",
+						id: "0"
+					},
+					{
+						name: "已通过",
+						id: "2"
+					},
+					{
+						name: "未通过",
+						id: "1"
+					},
 				],
-				buttonArrayIndex:0,
-				auditStatus:"",
-                //列表请求参数
+				buttonArrayIndex: 0,
+				auditStatus: "",
+				//列表请求参数
 				queryParams: {
-				  page: 1,
-				  pageSize: 20,
+					page: 1,
+					pageSize: 20,
 				},
-				total:0,
-				dataList:[],
-				
-            }
-        },
-        onLoad() {
-
-        },
-        onShow(){
+				total: 0,
+				dataList: [],
+
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
 			this.clearData();
-            this.getList();
-        },
+			this.getList();
+		},
 		mounted() {
-			
+
 		},
-        methods: {
+		methods: {
 			//清除
-			clearData(){
+			clearData() {
 				this.dataList = [];
 				this.queryParams.page = 1;
 			},
-            //去详情页
-            goPageInfo(item){
-                uni.navigateTo({
-                    url:'/pages_manage/accessQualification/accessQualificationInfo?item='+encodeURIComponent(JSON.stringify(item))
-                })
-            },
-           //滚动事件
-           scrollGet(){
-				let self=this;
-				if(self.total/self.queryParams.pageSize<=self.queryParams.page){
+			//去详情页
+			goPageInfo(item) {
+				uni.navigateTo({
+					url: '/pages_manage/accessQualification/accessQualificationInfo?item=' + encodeURIComponent(
+						JSON.stringify(item))
+				})
+			},
+			//滚动事件
+			scrollGet() {
+				let self = this;
+				if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
 					console.log('没有更多数据!')
-				}else{
-						setTimeout(function(){
-							self.queryParams.page += 1;
-							self.getList();
-						},1000)
-				
+				} else {
+					setTimeout(function() {
+						self.queryParams.page += 1;
+						self.getList();
+					}, 1000)
+
 				}
-           	
-           },
+
+			},
 			//选择
-			buttonChange(e){
+			buttonChange(e) {
 				this.clearData()
 				this.buttonArrayIndex = e.detail.value;
-				this.$set(this,'auditStatus',this.buttonArray[this.buttonArrayIndex].id);
+				this.$set(this, 'auditStatus', this.buttonArray[this.buttonArrayIndex].id);
 				this.getList();
 			},
 			//获取列表数据
-			async getList(){
-			    let self = this;
-				this.$set(this.queryParams,'auditStatus',this.auditStatus)
-			    const {data} = await laboratoryAppletAuditListByApply(this.queryParams);
-			    if(data.code==200){
+			async getList() {
+				let self = this;
+				this.$set(this.queryParams, 'auditStatus', this.auditStatus)
+				const {
+					data
+				} = await laboratoryAppletAuditListByApply(this.queryParams);
+				if (data.code == 200) {
 					//定义一个空数组
 					let newArr = [];
 					//通过forEach循环数组
 					data.data.records.forEach((item, i) => {
-						item.creatTime=parseTime(item.creatTime,"{h}:{i}")
+						item.creatTime = parseTime(item.creatTime, "{h}:{i}")
 						let index = -1;
 						//然后在跑到这里筛选 根据不同的时间放置不同的数组    some()用来查找数组中是否存在某个值  如果存在 就return true
 						let isExists = newArr.some((newItem, j) => {
-							if(item.titleCreatTime == newItem.titleCreatTime) {
+							if (item.titleCreatTime == newItem.titleCreatTime) {
 								index = j;
 								return true;
 							}
 						})
 						//代码是先跑这里的if条件判读  
-						if(!isExists) {
+						if (!isExists) {
 							newArr.push({
 								titleCreatTime: item.titleCreatTime,
 								subList: [item]
@@ -127,194 +148,229 @@
 							newArr[index].subList.push(item);
 						}
 					})
-					this.dataList=[...this.dataList,...newArr]
-					this.total=data.data.total;
-				}   
+					this.dataList = [...this.dataList, ...newArr]
+					this.total = data.data.total;
+				}
 			},
-            
-            
-        }
-    }
+
+
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #accessQualification{
-        height:100%;
-        display flex
-        flex-direction column
-		.top-picker-max-box{
-			height:100rpx;
+	#accessQualification {
+		height: 100%;
+
+		display flex;
+		flex-direction column;
+
+		.top-picker-max-box {
+			height: 100rpx;
 			display flex;
-			height:150rpx;
+			height: 150rpx;
 			background #fff;
-			overflow hidden
-			margin-bottom:15rpx;
-			.top-picker-left-box{
-				margin-top:34rpx;
-				line-height:82rpx;
-				width:145rpx;
+			overflow hidden;
+			margin-bottom: 15rpx;
+
+			.top-picker-left-box {
+				margin-top: 34rpx;
+				line-height: 82rpx;
+				width: 145rpx;
 				text-align center;
 			}
-			.top-picker-right-box{
-				margin-top:34rpx;
-				width:586rpx;
-				height:82rpx;
-				border:1rpx solid #A2A2A2;
-				line-height:82rpx;
-				border-radius:6rpx;
-				view{
-					padding:0 20rpx;
-					color:#999999;
+
+			.top-picker-right-box {
+				margin-top: 34rpx;
+				width: 586rpx;
+				height: 82rpx;
+				border: 1rpx solid #A2A2A2;
+				line-height: 82rpx;
+				border-radius: 6rpx;
+
+				view {
+					padding: 0 20rpx;
+					color: #999999;
+				}
+			}
+		}
+
+		.top-max-box {
+			height: 100rpx;
+			display flex;
+			background #fff;
+			margin-bottom: 20rpx;
+
+			.top-button-box {
+				width: 200rpx;
+				padding-top: 3rpx;
+
+				view:nth-child(1) {
+					font-size: 30rpx;
+					text-align center;
+					color: #333;
+					line-height: 95rpx;
+				}
+
+				view:nth-child(2) {
+					width: 100rpx;
+					height: 5rpx;
+					margin: 0 auto;
+				}
+
+				.colorA {
+					color: #0183FA !important;
+				}
+
+				.backA {
+					background: #0183FA;
 				}
 			}
 		}
-        .top-max-box{
-            height:100rpx;
-            display flex
-            background #fff
-            margin-bottom:20rpx;
-            .top-button-box{
-                width:200rpx;
-                padding-top:3rpx;
-                view:nth-child(1){
-                    font-size:30rpx;
-                    text-align center;
-                    color:#333;
-                    line-height:95rpx;
-                }
-                view:nth-child(2){
-                    width:100rpx;
-                    height:5rpx;
-                    margin:0 auto;
-                }
-                .colorA{
-                    color:#0183FA!important;
-                }
-                .backA{
-                    background:#0183FA;
-                }
-            }
-        }
-        .info-max-box{
-            flex:1;
-            overflow: scroll
-			.for-big-box:last-child{
-			    margin-bottom:180rpx;
+
+		.info-max-box {
+			flex: 1;
+
+			overflow: scroll;
+
+			.for-big-box:last-child {
+				margin-bottom: 180rpx;
 			}
-			.for-big-box{
-			    margin:0 20rpx 20rpx;
-			    overflow hidden
-				border-radius:20rpx;
-			    // border-bottom-left-radius :20rpx;
-			    // border-bottom-right-radius :20rpx;
+
+			.for-big-box {
+				margin: 0 20rpx 20rpx;
+				overflow hidden;
+				border-radius: 20rpx;
+				// border-bottom-left-radius :20rpx;
+				// border-bottom-right-radius :20rpx;
 				background #fff;
-			    .for-time-p{
-			        background #fff
-			        line-height:57rpx;
-			        font-size:30rpx;
-			        padding:14rpx 22rpx 0;
-			        // border-top-left-radius:20rpx;
-			        // border-top-right-radius:20rpx;
-			    }
-			    .for-back-img{
-			        height:30rpx;
-			        width:710rpx;
-			    }
-				.for-list-box:nth-child(3){
-					border:none;
+
+				.for-time-p {
+					background #fff;
+					line-height: 57rpx;
+					font-size: 30rpx;
+					padding: 14rpx 22rpx 0;
+					// border-top-left-radius:20rpx;
+					// border-top-right-radius:20rpx;
+				}
+
+				.for-back-img {
+					height: 30rpx;
+					width: 710rpx;
+				}
+
+				.for-list-box:nth-child(3) {
+					border: none;
 				}
-			    .for-list-box{
-					border-top:1rpx solid #E0E0E0;
-					margin:0 24rpx;
-					padding:20rpx 0;
-					.min-for-box-one{
-						display:flex;
-						view{
-							height:36rpx;
-							line-height:36rpx;
-							margin:10rpx 0;
+
+				.for-list-box {
+					border-top: 1rpx solid #E0E0E0;
+					margin: 0 24rpx;
+					padding: 20rpx 0;
+
+					.min-for-box-one {
+						display: flex;
+
+						view {
+							height: 36rpx;
+							line-height: 36rpx;
+							margin: 10rpx 0;
 						}
-						view:nth-child(1){
-							width:100rpx;
-							margin-right:20rpx;
-							line-height:36rpx;
+
+						view:nth-child(1) {
+							width: 100rpx;
+							margin-right: 20rpx;
+							line-height: 36rpx;
 							text-align center;
-							font-size:20rpx;
+							font-size: 20rpx;
 						}
-						view:nth-child(2){
-							flex:1;
-							font-size:28rpx;
+
+						view:nth-child(2) {
+							flex: 1;
+							font-size: 28rpx;
 						}
-						.titleType1{
-							border-radius:6rpx;
-							color:#FF5555;
-							background rgba(255,85,85,0.2)
+
+						.titleType1 {
+							border-radius: 6rpx;
+							color: #FF5555;
+							background rgba(255, 85, 85, 0.2)
 						}
-						.titleType2{
-							border-radius:6rpx;
-							color:#F6A71D;
-							background rgba(246,167,29,0.2)
+
+						.titleType2 {
+							border-radius: 6rpx;
+							color: #F6A71D;
+							background rgba(246, 167, 29, 0.2)
 						}
-						.titleType3{
-							border-radius:6rpx;
-							color:#30A23D;
-							background rgba(48,162,61,0.2)
+
+						.titleType3 {
+							border-radius: 6rpx;
+							color: #30A23D;
+							background rgba(48, 162, 61, 0.2)
 						}
 					}
-					.min-for-box-two{
-						display:flex;
-						view{
-							height:36rpx;
-							line-height:36rpx;
-							margin:10rpx 0;
+
+					.min-for-box-two {
+						display: flex;
+
+						view {
+							height: 36rpx;
+							line-height: 36rpx;
+							margin: 10rpx 0;
 						}
-						view:nth-child(1){
-							width:100rpx;
-							margin-right:20rpx;
-							line-height:36rpx;
+
+						view:nth-child(1) {
+							width: 100rpx;
+							margin-right: 20rpx;
+							line-height: 36rpx;
 							text-align center;
-							font-size:20rpx;
+							font-size: 20rpx;
 						}
-						view:nth-child(2){
-							flex:1;
-							font-size:26rpx;
+
+						view:nth-child(2) {
+							flex: 1;
+							font-size: 26rpx;
 						}
-						view:nth-child(3){
-							font-size:26rpx;
+
+						view:nth-child(3) {
+							font-size: 26rpx;
 						}
 					}
-			    }
+				}
+			}
+
+			.get-null-box {
+				height: 100rpx;
+				line-height: 100rpx;
+				color: #999;
+				text-align center;
 			}
-            .get-null-box{
-                height:100rpx;
-                line-height:100rpx;
-                color:#999;
-                text-align center
-            }
-        }
-        .bottom-button-box{
-			border-radius:20rpx;
-			margin:20rpx 50rpx;
-            width: 650rpx;
-            height: 100rpx;
-            line-height: 100rpx;
-            background: #0183FA;
-            font-size: 30rpx;
-            color: #FFFFFF;
-            text-align center;
-        }
-		.tip{
+		}
+
+		.bottom-button-box {
+			border-radius: 20rpx;
+			margin: 20rpx 50rpx;
+			width: 650rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			background: #0183FA;
+			font-size: 30rpx;
+			color: #FFFFFF;
+			text-align center;
+		}
+
+		.tip {
 			width: 750rpx;
 			height: 100rpx;
-			line-height :100rpx;
+			line-height: 100rpx;
 			border-top: 1rpx solid #e0e0e0;
 			background: #fff;
 			font-size: 30rpx;
 			color: #333;
 			text-align center;
-			>text{
-				color:red;
+
+			>text {
+				color: red;
 			}
 		}
-    }
+	}
 </style>

+ 249 - 208
pages_manage/accessQualification/accessQualificationInfo.vue

@@ -1,6 +1,6 @@
 <!-- 准入资格申请详情 -->
 <template>
-    <view id="accessQualificationInfo">
+	<view id="accessQualificationInfo">
 		<view class="user-info-box">
 			<view class="user-info-box-min">
 				<view>实验室:</view>
@@ -20,7 +20,9 @@
 			</view>
 		</view>
 		<view class="user-info-box">
-			<view class="user-info-box_title"><view style="color: red;">*</view>身份信息:(关联学生信息材料)</view>
+			<view class="user-info-box_title">
+				<view style="color: red;">*</view>身份信息:(关联学生信息材料)
+			</view>
 			<view class="user-info-box-min">
 				<view>申请人:</view>
 				<view>{{newData.sysUser.userName}}</view>
@@ -29,7 +31,7 @@
 				<view>联系电话:</view>
 				<view>{{newData.sysUser.mobile}}</view>
 			</view>
-			<view class="user-info-box-min" >
+			<view class="user-info-box-min">
 				<view>学号:</view>
 				<view>{{newData.sysUser.account}}</view>
 			</view>
@@ -37,11 +39,11 @@
 				<view>物理卡号:</view>
 				<view>{{newData.sysUser.cardNum}}</view>
 			</view>
-			<view class="user-info-box-min" >
+			<view class="user-info-box-min">
 				<view>班级:</view>
 				<view>{{newData.sysUser.gradeName}}</view>
 			</view>
-			<view class="user-info-box-min" >
+			<view class="user-info-box-min">
 				<view>导师:</view>
 				<view>{{newData.sysUser.tutorUserName}}</view>
 			</view>
@@ -54,10 +56,13 @@
 			</view> -->
 			<view class="word-box" v-if="item.materialType==1">
 				<view class="word-box-title">{{item.materialName}}</view>
-				<view class="word-box-min" v-for="(minItem,minIndex) in item.upList" :key="minIndex" @click="lookItem(minItem)">
+				<view class="word-box-min" v-for="(minItem,minIndex) in item.upList" :key="minIndex"
+					@click="lookItem(minItem)">
 					<img src="@/images/basicsModules/icon_pdf.png" v-if="minItem.type == 'pdf'">
-					<img src="@/images/basicsModules/icon_word.png" v-if="minItem.type == 'doc' || minItem.type == 'docx'">
-					<img :src="baseUrl+minItem.url" v-if="minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif'">
+					<img src="@/images/basicsModules/icon_word.png"
+						v-if="minItem.type == 'doc' || minItem.type == 'docx'">
+					<img :src="baseUrl+minItem.url"
+						v-if="minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif'">
 					<view>{{minItem.name}}</view>
 				</view>
 			</view>
@@ -66,89 +71,98 @@
 			<view @click="goReviewFailed">审核未通过</view>
 			<view @click="accessButtonClick">审核通过</view>
 		</view>
-    </view>
+	</view>
 </template>
 
 <script>
-
-     import { config } from '@/api/request/config.js'
-    import { getDetails,laboratoryApply } from '@/api/apiDemo/index.js'
-    import { laboratoryAppletGetApplyDetails,laboratoryAppletEditApp} from '@/api/manage/index.js'
-    export default {
-        data() {
-            return {
-				baseUrl:config.base_url,
-				pageType:false,
+	import {
+		config
+	} from '@/api/request/config.js'
+	import {
+		getDetails,
+		laboratoryApply
+	} from '@/api/apiDemo/index.js'
+	import {
+		laboratoryAppletGetApplyDetails,
+		laboratoryAppletEditApp
+	} from '@/api/manage/index.js'
+	export default {
+		data() {
+			return {
+				baseUrl: config.base_url,
+				pageType: false,
 				//获取数据
-				subjectData:{},
-				newData:{},
-                itemData:{},
-                type:0,
-				applyId:'',
-            }
-        },
-        onLoad(option) {
-            this.infoData = JSON.parse(decodeURIComponent(option.item));
-			this.applyId=JSON.parse(decodeURIComponent(option.item)).applyId;
+				subjectData: {},
+				newData: {},
+				itemData: {},
+				type: 0,
+				applyId: '',
+			}
+		},
+		onLoad(option) {
+			this.infoData = JSON.parse(decodeURIComponent(option.item));
+			this.applyId = JSON.parse(decodeURIComponent(option.item)).applyId;
 			this.laboratoryAppletGetApplyDetails();
-            //修改页面title
-            uni.setNavigationBarTitle({
-                title:this.infoData.auditStatus==0?'待审核':(this.infoData.auditStatus==1?'未通过':(this.infoData.auditStatus==2?'已通过':''))
-            });
-        },
-		onShow(){
-			
+			//修改页面title
+			uni.setNavigationBarTitle({
+				title: this.infoData.auditStatus == 0 ? '待审核' : (this.infoData.auditStatus == 1 ? '未通过' : (this
+					.infoData.auditStatus == 2 ? '已通过' : ''))
+			});
 		},
-        methods: {
+		onShow() {
+
+		},
+		methods: {
 			//审核按钮
-			accessButtonClick(){
+			accessButtonClick() {
 				let self = this;
 				uni.showModal({
-				    content: '确认审核吗?',
-				    cancelColor:"#999",
-				    confirmColor:"#0183FA",
-				    success: function (res) {
-				        if (res.confirm) {
-				            self.laboratoryAppletEditApp();
-				        } else if (res.cancel) {
-				        }
-				    }
+					content: '确认审核吗?',
+					cancelColor: "#999",
+					confirmColor: "#0183FA",
+					success: function(res) {
+						if (res.confirm) {
+							self.laboratoryAppletEditApp();
+						} else if (res.cancel) {}
+					}
 				});
 			},
 			//审核接口
-			async laboratoryAppletEditApp(){
+			async laboratoryAppletEditApp() {
 				let obj = {
-				  applyId:this.newData.labSecurityApply.applyId,
-				  auditStatus:2,
+					applyId: this.newData.labSecurityApply.applyId,
+					auditStatus: 2,
 				};
-				const {data} = await laboratoryAppletEditApp(obj)
-				if(data.code == 200){
+				const {
+					data
+				} = await laboratoryAppletEditApp(obj)
+				if (data.code == 200) {
 					uni.showToast({
 						title: '审核成功',
-						icon:"none",
-						mask:true,
+						icon: "none",
+						mask: true,
 						duration: 2000
 					});
-					setTimeout(function(){
+					setTimeout(function() {
 						uni.navigateBack();
-					},2000);
+					}, 2000);
 				}
 
 			},
-			lookItem(minItem){
+			lookItem(minItem) {
 				let self = this;
-				if(minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif'){
+				if (minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif') {
 					//查看图片
 					wx.previewImage({
-						urls: [self.baseUrl+minItem.url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+						urls: [self.baseUrl + minItem.url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
 						current: '', // 当前显示图片的http链接,默认是第一个
 						success: function(res) {},
 						fail: function(res) {},
 						complete: function(res) {},
 					})
-				}else if(minItem.type == 'pdf' || minItem.type == 'doc' || minItem.type == 'docx'){
+				} else if (minItem.type == 'pdf' || minItem.type == 'doc' || minItem.type == 'docx') {
 					uni.showLoading({
-					    title: '下载中'
+						title: '下载中'
 					});
 					//下载文档
 					wx.downloadFile({
@@ -156,7 +170,7 @@
 						header: {
 							Authorization: uni.getStorageSync('token')
 						},
-						success: function (res) {
+						success: function(res) {
 							const fileManager = wx.getFileSystemManager()
 							const filePath = wx.env.USER_DATA_PATH + '/' + minItem.name + '.docx'
 							fileManager.saveFile({
@@ -165,47 +179,48 @@
 								success: () => {
 									uni.hideLoading();
 									wx.openDocument({
-									filePath: filePath,
-									showMenu: true,
-									fileType: minItem.type
+										filePath: filePath,
+										showMenu: true,
+										fileType: minItem.type
 									})
 								},
-								fail: function (res){
+								fail: function(res) {
 									uni.hideLoading();
 									uni.showToast({
 										title: '下载失败',
-										icon:"none",
-										mask:true,
+										icon: "none",
+										mask: true,
 										duration: 2000
 									});
 								}
 							})
 						},
-						fail: function (res){
+						fail: function(res) {
 							uni.hideLoading();
 							uni.showToast({
 								title: '下载失败',
-								icon:"none",
-								mask:true,
+								icon: "none",
+								mask: true,
 								duration: 2000
 							});
 						}
 					})
 				}
 			},
-            
-			goReviewFailed(){
+
+			goReviewFailed() {
 				let obj = {
-				  applyId:this.newData.labSecurityApply.applyId,
-				  rejectCause:this.newData.listTemp,
+					applyId: this.newData.labSecurityApply.applyId,
+					rejectCause: this.newData.listTemp,
 				}
 				uni.navigateTo({
-				    url:'/pages_manage/accessQualification/approve?item='+encodeURIComponent(JSON.stringify(obj))
+					url: '/pages_manage/accessQualification/approve?item=' + encodeURIComponent(JSON.stringify(
+						obj))
 				})
 			},
 			//查看图片
-			lockImg(list){
-				if(!list[0]){
+			lockImg(list) {
+				if (!list[0]) {
 					return
 				}
 				wx.previewImage({
@@ -216,191 +231,217 @@
 					complete: function(res) {},
 				})
 			},
-            
+
 			//审核信息详情
-            async laboratoryAppletGetApplyDetails(){
-                const {data} = await laboratoryAppletGetApplyDetails({applyId:this.applyId})
-                if(data.code == 200){
-					let self=this;
+			async laboratoryAppletGetApplyDetails() {
+				const {
+					data
+				} = await laboratoryAppletGetApplyDetails({
+					applyId: this.applyId
+				})
+				if (data.code == 200) {
+					let self = this;
 					let dataList = [];
-					for(let i=0;i<data.data.listTemp.length;i++){
-					  if(data.data.listTemp[i].materialType == 2 && data.data.listTemp[i].materialType == 2){
-						dataList.unshift(data.data.listTemp[i]);
-					  }
+					for (let i = 0; i < data.data.listTemp.length; i++) {
+						if (data.data.listTemp[i].materialType == 2 && data.data.listTemp[i].materialType == 2) {
+							dataList.unshift(data.data.listTemp[i]);
+						}
 					}
-					for(let i=0;i<data.data.listTemp.length;i++){
-					  if(data.data.listTemp[i].materialType == 1){
-						dataList.push(data.data.listTemp[i]);
-					  }
+					for (let i = 0; i < data.data.listTemp.length; i++) {
+						if (data.data.listTemp[i].materialType == 1) {
+							dataList.push(data.data.listTemp[i]);
+						}
 					}
-					for(let i=0;i<data.data.listTemp.length;i++){
-					  if(data.data.listTemp[i].materialType == 2 && data.data.listTemp[i].materialType == 1){
-						dataList.unshift(data.data.listTemp[i]);
-					  }
+					for (let i = 0; i < data.data.listTemp.length; i++) {
+						if (data.data.listTemp[i].materialType == 2 && data.data.listTemp[i].materialType == 1) {
+							dataList.unshift(data.data.listTemp[i]);
+						}
 					}
-					this.$set(data.data,'listTemp',dataList);
+					this.$set(data.data, 'listTemp', dataList);
 					let newList = [];
-					for(let i=0;i<data.data.listTemp.length;i++){
-					  if(data.data.listTemp[i].materialType == 1){
-						let maxList = [];
-						for(let o=0;o<data.data.listTemp[i].listMr.length;o++){
-						  let bigList = data.data.listTemp[i].listMr[o].dataUrl.split(',');
-						  for(let x=0;x<bigList.length;x++){
-							if(bigList[x]){
-							  let minList = bigList[x].split(';');
-							  let typeList= minList[0].split('.');
-							  let obj = {
-								name:minList[0],
-								url:minList[1],
-								type:typeList[1],
-							  };
-							  maxList.push(obj);
+					for (let i = 0; i < data.data.listTemp.length; i++) {
+						if (data.data.listTemp[i].materialType == 1) {
+							let maxList = [];
+							for (let o = 0; o < data.data.listTemp[i].listMr.length; o++) {
+								let bigList = data.data.listTemp[i].listMr[o].dataUrl.split(',');
+								for (let x = 0; x < bigList.length; x++) {
+									if (bigList[x]) {
+										let minList = bigList[x].split(';');
+										let typeList = minList[0].split('.');
+										let obj = {
+											name: minList[0],
+											url: minList[1],
+											type: typeList[1],
+										};
+										maxList.push(obj);
+									}
+								}
 							}
-						  }
-						}
-						data.data.listTemp[i].upList = maxList;
-						let obj ={};
-						if(maxList.length>0){
-						  obj = {
-							forIndex:0,
-							url:self.baseUrl+maxList[0].url
-						  }
-						}
-						newList.push(obj);
-					  }else{
-						let obj = {
-						  forIndex:"",
-						  url:""
+							data.data.listTemp[i].upList = maxList;
+							let obj = {};
+							if (maxList.length > 0) {
+								obj = {
+									forIndex: 0,
+									url: self.baseUrl + maxList[0].url
+								}
+							}
+							newList.push(obj);
+						} else {
+							let obj = {
+								forIndex: "",
+								url: ""
+							}
+							newList.push(obj);
 						}
-						newList.push(obj);
-					  }
 					}
-					this.$set(this,'newData',data.data)
+					this.$set(this, 'newData', data.data)
 					console.log(this.newData)
-                }
-				
-            },
-        }
-    }
+				}
+
+			},
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #accessQualificationInfo{
-        height:100%;
+	#accessQualificationInfo {
+		height: 100%;
 		overflow-y scroll;
-		.user-info-box{
+
+		.user-info-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:20rpx 20rpx 0;
-			padding:20rpx 0;
-			.user-info-box_title{
+			border-radius: 20rpx;
+			margin: 20rpx 20rpx 0;
+			padding: 20rpx 0;
+
+			.user-info-box_title {
 				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: 500;
 				color: #333333;
 				line-height: 30rpx;
-				margin-left: 24rpx
-				margin-bottom :10px;
-				>view{
+				margin-left: 24rpx;
+				 margin-bottom:10px;
+
+				>view {
 					display inline-block;
 				}
 			}
-			.user-info-box-min{
-				margin:0 26rpx;
+
+			.user-info-box-min {
+				margin: 0 26rpx;
 				display flex;
-				view{
-					line-height:66rpx;
-					font-size:28rpx;
+
+				view {
+					line-height: 66rpx;
+					font-size: 28rpx;
 				}
-				view:nth-child(1){
-					width:140rpx;
-					color:#999;
+
+				view:nth-child(1) {
+					width: 140rpx;
+					color: #999;
 				}
-				view:nth-child(2){
-					flex:1;
+
+				view:nth-child(2) {
+					flex: 1;
 					text-align right;
-					color:#333;
+					color: #333;
 				}
 			}
 		}
-		.user-card-box{
+
+		.user-card-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:0 20rpx 20rpx;
-			padding:20rpx 0;
-			.user-card-title{
-				padding-left:24rpx;
-				font-size:30rpx;
-				font-weight:700;
-				margin-bottom:20rpx;
+			border-radius: 20rpx;
+			margin: 0 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.user-card-title {
+				padding-left: 24rpx;
+				font-size: 30rpx;
+				font-weight: 700;
+				margin-bottom: 20rpx;
 			}
-			.user-card-text{
-				line-height:66rpx;
-				font-size:28rpx;
-				color:#999;
-				padding:0 24rpx;
+
+			.user-card-text {
+				line-height: 66rpx;
+				font-size: 28rpx;
+				color: #999;
+				padding: 0 24rpx;
 			}
 		}
-		.img-box{
+
+		.img-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:0 20rpx 20rpx;
-			padding:20rpx 0;
-			.img-title{
-				padding-left:24rpx;
-				font-size:30rpx;
-				font-weight:700;
-				margin-bottom:20rpx;
+			border-radius: 20rpx;
+			margin: 0 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.img-title {
+				padding-left: 24rpx;
+				font-size: 30rpx;
+				font-weight: 700;
+				margin-bottom: 20rpx;
 			}
-			img{
+
+			img {
 				display block;
-				width:640rpx;
-				margin:0 auto 10rpx;
+				width: 640rpx;
+				margin: 0 auto 10rpx;
 			}
 		}
-		.word-box{
+
+		.word-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:0 20rpx 20rpx;
-			padding:20rpx 0;
-			.word-box-title{
-				padding-left:24rpx;
-				font-size:30rpx;
-				font-weight:700;
-				margin-bottom:20rpx;
+			border-radius: 20rpx;
+			margin: 0 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.word-box-title {
+				padding-left: 24rpx;
+				font-size: 30rpx;
+				font-weight: 700;
+				margin-bottom: 20rpx;
 			}
-			.word-box-min{
+
+			.word-box-min {
 				display flex;
-				margin:0 20rpx 20rpx;
-				img{
-					height:60rpx;
-					width:60rpx;
+				margin: 0 20rpx 20rpx;
+
+				img {
+					height: 60rpx;
+					width: 60rpx;
 				}
-				view{
-					margin-left:20rpx;
-					line-height:60rpx;
+
+				view {
+					margin-left: 20rpx;
+					line-height: 60rpx;
 				}
 			}
 		}
-		.bottom-button-box{
+
+		.bottom-button-box {
 			display flex;
-			width:650rpx;
-			margin:40rpx auto;
-			view{
-				height:100rpx;
+			width: 650rpx;
+			margin: 40rpx auto;
+
+			view {
+				height: 100rpx;
 				text-align center;
-				line-height:100rpx;
-				color:#fff;
-				width:325rpx;
+				line-height: 100rpx;
+				color: #fff;
+				width: 325rpx;
 			}
-			view:nth-child(1){
+
+			view:nth-child(1) {
 				background: linear-gradient(-45deg, #FA9901, #F28E26);
 				border-radius: 50rpx 0 0 50rpx;
 			}
-			view:nth-child(2){
+
+			view:nth-child(2) {
 				background: linear-gradient(-35deg, #309CFF, #0183FA);
 				border-radius: 0 50rpx 50rpx 0;
 			}
 		}
-    }
+	}
 </style>

+ 106 - 94
pages_manage/accessQualification/approve.vue

@@ -1,144 +1,156 @@
 <!-- 不通过原因 -->
 <template>
-    <view id="approve">
+	<view id="approve">
 		<view class="approve-title">驳回原因</view>
-        <textarea v-model="rejectCause" placeholder="请输入未通过原因" maxlength="50"></textarea>
-        <view class="button-view" @click="accessButtonClick">提交</view>
-    </view>
+		<textarea v-model="rejectCause" placeholder="请输入未通过原因" maxlength="50"></textarea>
+		<view class="button-view" @click="accessButtonClick">提交</view>
+	</view>
 </template>
 
 <script>
-    import { laboratoryApply } from '@/api/apiDemo/index.js'
-    export default {
-        data() {
-            return {
-                itemData:{},
-				rejectCause:"",
-				checkList:[],
-            }
-        },
-        onLoad(option) {
+	import {
+		laboratoryApply
+	} from '@/api/apiDemo/index.js'
+	import {
+		laboratoryAppletEditApp
+	} from '@/api/manage/index.js'
+	export default {
+		data() {
+			return {
+				itemData: {},
+				rejectCause: "",
+				checkList: [],
+			}
+		},
+		onLoad(option) {
 			let self = this;
 			console.log(this.itemData)
-            this.itemData = JSON.parse(decodeURIComponent(option.item));
-			for(let i=0;i<self.itemData.rejectCause.length;i++){
+			this.itemData = JSON.parse(decodeURIComponent(option.item));
+			for (let i = 0; i < self.itemData.rejectCause.length; i++) {
 				self.itemData.rejectCause[i].type = false
 			}
-            // this.itemData = JSON.parse(decodeURIComponent(option.item));
-        },
-        methods: {
-			accessButtonClick(){
+			// this.itemData = JSON.parse(decodeURIComponent(option.item));
+		},
+		methods: {
+			accessButtonClick() {
 				let self = this;
 				let num = 0;
-				this.$set(this,'checkList',[])
-				for(let i=0;i<self.itemData.rejectCause.length;i++){
-					if(self.itemData.rejectCause[i].type){
+				this.$set(this, 'checkList', [])
+				for (let i = 0; i < self.itemData.rejectCause.length; i++) {
+					if (self.itemData.rejectCause[i].type) {
 						num++
 						this.checkList.push(self.itemData.rejectCause[i].materialId);
 					}
 				}
-				if(!self.rejectCause){
+				if (!self.rejectCause) {
 					uni.showToast({
 						title: '请输入驳回原因',
-						icon:"none",
-						mask:true,
+						icon: "none",
+						mask: true,
 						duration: 2000
 					});
 					return
 				}
 				uni.showModal({
-				    content: '确认拒绝通过吗?',
-				    cancelColor:"#999",
-				    confirmColor:"#0183FA",
-				    success: function (res) {
-				        if (res.confirm) {
-				            self.laboratoryApply();
-				            console.log('用户点击确定');
-				        } else if (res.cancel) {
-				            console.log('用户点击取消');
-				        }
-				    }
+					content: '确认拒绝通过吗?',
+					cancelColor: "#999",
+					confirmColor: "#0183FA",
+					success: function(res) {
+						if (res.confirm) {
+							self.laboratoryApply();
+							console.log('用户点击确定');
+						} else if (res.cancel) {
+							console.log('用户点击取消');
+						}
+					}
 				});
 			},
 			//审核接口
-			async laboratoryApply(){
+			async laboratoryApply() {
 				let obj = {
-				  applyId:this.itemData.applyId,
-				  auditStatus:1,
-				  rejectCause:this.rejectCause,
-				  rejectMaterial:this.checkList + '',
+					applyId: this.itemData.applyId,
+					auditStatus: 1,
+					rejectCause: this.rejectCause,
+					//rejectMaterial: this.checkList + '',
 				};
-				const {data} = await laboratoryApply(obj)
-				if(data.code == 200){
+				const {
+					data
+				} = await laboratoryAppletEditApp(obj)
+				if (data.code == 200) {
 					uni.showToast({
 						title: '审核成功',
-						icon:"none",
-						mask:true,
+						icon: "none",
+						mask: true,
 						duration: 2000
 					});
-					setTimeout(function(){
+					setTimeout(function() {
 						uni.navigateBack({
-						    delta: 2
+							delta: 2
 						});
-					},2000);
+					}, 2000);
 				}
 
 			},
-			checkItem(item){
+			checkItem(item) {
 				item.type = !item.type;
 				this.$forceUpdate();
 			},
-        }
-    }
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #approve{
-        height:100%;
-        background #fff
-        overflow hidden
-        textarea{
-            width:670rpx;
-            height:200rpx;
-            margin:20rpx 30rpx 0;
-            font-size:28rpx;
-            border: 1rpx solid #E0E0E0;
-            border-radius:10rpx;
-            padding:20rpx;
-        }
-		.approve-title{
-			font-weight:700;
-			color:#333;
-			font-size:30rpx;
-			font-weight:700;
-			margin:20rpx 30rpx ;
+	#approve {
+		height: 100%;
+
+		background #fff;
+		overflow hidden;
+		textarea {
+			width: 670rpx;
+			height: 200rpx;
+			margin: 20rpx 30rpx 0;
+			font-size: 28rpx;
+			border: 1rpx solid #E0E0E0;
+			border-radius: 10rpx;
+			padding: 20rpx;
+		}
+		.approve-title {
+			font-weight: 700;
+			color: #333;
+			font-size: 30rpx;
+			font-weight: 700;
+			margin: 20rpx 30rpx;
 
 		}
-		.approve-for-box{
+
+		.approve-for-box {
 			display flex;
-			height:60rpx;
-			padding-left:40rpx;
-			img{
-				width:30rpx;
-				height:30rpx;
-				margin:15rpx;
+			height: 60rpx;
+			padding-left: 40rpx;
+
+			img {
+				width: 30rpx;
+				height: 30rpx;
+				margin: 15rpx;
 			}
-			view{
-				font-size:28rpx;
-				height:60rpx;
-				line-height:60rpx;
+
+			view {
+				font-size: 28rpx;
+				height: 60rpx;
+				line-height: 60rpx;
 			}
 		}
-        .button-view{
-            width: 600rpx;
-            height: 80rpx;
-            background: #0183FA;
-            border-radius: 20rpx;
-            font-size:30rpx;
-            line-height:80rpx;
-            text-align center;
-            color: #fff;
-            margin:90rpx auto;
-        }
-    }
+
+		.button-view {
+			width: 600rpx;
+			height: 80rpx;
+			background: #0183FA;
+			border-radius: 20rpx;
+			font-size: 30rpx;
+			line-height: 80rpx;
+			text-align center;
+			color: #fff;
+			margin: 90rpx auto;
+		}
+	}
 </style>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 1900 - 2292
pages_manage/emergencyEvacuationBig.vue


+ 90 - 112
pages_manage/emergencyEvacuationBigFullScreen.vue

@@ -12,7 +12,8 @@
 					   )))" :style="'top:'+item.y+'px;left:'+item.x+'px;width:'+(item.w-4)+'px;height:'+(item.h-4)+'px;'">
 					<view class="map-max-for-min-box">
 						<view class="map-for-name-p" :style="'margin-top:'+((item.h/2)-20)+'px;'">
-							{{item.roomType == '-99'?item.roomName:item.subName}}</view>
+							{{item.roomType == '-99'?item.roomName:item.subName}}
+						</view>
 						<view class="map-for-num-p">({{item.roomNum}})</view>
 						<view class="position-box" src="@/images/evacuation3_2/icon_sysbjt_m.png"
 							:class="minItem.toward=='top'?'center-move-door-p-t':(minItem.toward=='bottom'?'center-move-door-p-b':(minItem.toward=='left'?'center-move-door-p-l':(minItem.toward=='right'?'center-move-door-p-r':'')))"
@@ -35,8 +36,7 @@
 					</view>
 				</view>
 				<view class="map-max-for-box for-map-box-two" v-if="item.type == 3" v-for="(item,index) in mapList"
-					@click="checkRoom(item)"
-					:key="index" :class="item.roomCheckType?'for-map-box-two-check':''"
+					@click="checkRoom(item)" :key="index" :class="item.roomCheckType?'for-map-box-two-check':''"
 					:style="'top:'+item.y+'px;left:'+item.x+'px;width:'+item.w+'px;height:'+item.h+'px;'">
 				</view>
 			</view>
@@ -55,6 +55,13 @@
 		closeLight,
 		executeEvacuation
 	} from '@/api/apiDemo/index.js'
+	import {
+		laboratoryBigViewGetFloorByBigView,
+		laboratoryExitLineExecuteEvacuation,
+		laboratoryExitLineGetRedisEvacuation,
+		laboratoryExitRelayOpenLight,
+		laboratoryExitRelayCloseLight
+	} from '@/api/manage/index.js'
 	export default {
 		data() {
 			return {
@@ -63,7 +70,7 @@
 				//楼层id
 				floorId: null,
 				//实验室ID
-				subId:null,
+				subId: null,
 				//当前选中实验室
 				checkSubId: null,
 				//页面开关
@@ -77,22 +84,22 @@
 				buildingOptions: {},
 				//mqtt
 				floorClient: {},
-				evacuationTopic: "lab/newexit/line", //疏散
+				evacuationTopic: "lab/floor/exit/line", //疏散
 				//疏散按钮
-				buttonType:false
+				buttonType: false
 			}
 		},
 		onLoad(option) {
-			if(option.item){
+			if (option.item) {
 				let obj = JSON.parse(decodeURIComponent(option.item));
-				this.$set(this,'buildingId',obj.buildingId);
-				this.$set(this,'floorId',obj.floorId);
-				this.$set(this,'subId',obj.subId);
-				this.$set(this,'checkSubId',obj.subId);
-				if(obj.type == 2){
-					this.$set(this,'buttonType',true);
-				}else{
-					this.$set(this,'buttonType',false);
+				this.$set(this, 'buildingId', obj.buildingId);
+				this.$set(this, 'floorId', obj.floorId);
+				this.$set(this, 'subId', obj.subId);
+				this.$set(this, 'checkSubId', obj.subId);
+				if (obj.type == 2) {
+					this.$set(this, 'buttonType', true);
+				} else {
+					this.$set(this, 'buttonType', false);
 				}
 			}
 		},
@@ -101,7 +108,7 @@
 			this.getBuildingData();
 		},
 		methods: {
-			mqttPageFunction(type){
+			mqttPageFunction(type) {
 				let self = this;
 				if (type == 'FLOOR_EXITLINE') {
 					this.getRedisEvacuation();
@@ -117,27 +124,27 @@
 					}, 2000);
 				}
 			},
-			checkRoom(item){
-				if(this.buttonType){
+			checkRoom(item) {
+				if (this.buttonType) {
 					item.roomCheckType = !item.roomCheckType;
 					this.$forceUpdate();
 				}
 			},
 			//开始疏散
-			async executeEvacuation(){
+			async executeEvacuation() {
 				let self = this;
 				let list = [];
 				let doorPointNames = [];
-				for(let i=0;i<self.mapList.length;i++){
-					if(self.mapList[i].type == 3){
-						if(!self.mapList[i].roomCheckType){
+				for (let i = 0; i < self.mapList.length; i++) {
+					if (self.mapList[i].type == 3) {
+						if (!self.mapList[i].roomCheckType) {
 							list.push(self.mapList[i].key)
-						}else{
+						} else {
 							doorPointNames.push(self.mapList[i].key)
 						}
 					}
 				}
-				if(!doorPointNames[0]){
+				if (!doorPointNames[0]) {
 					uni.showToast({
 						title: '请选择疏散出口',
 						icon: "none",
@@ -147,13 +154,15 @@
 					return
 				}
 				let obj = {
-				buildId:this.buildingId,
-				floorId:this.floorId,
-				subId: this.subId,
-				badPointNames:list,
-				doorPointNames:doorPointNames,
+					buildId: this.buildingId,
+					floorId: this.floorId,
+					subId: this.subId,
+					badPointNames: list,
+					doorPointNames: doorPointNames,
 				}
-				const {	data } = await executeEvacuation(obj)
+				const {
+					data
+				} = await laboratoryExitLineExecuteEvacuation(obj)
 				if (data.code == 200) {
 					uni.showToast({
 						title: '执行成功',
@@ -161,9 +170,9 @@
 						mask: true,
 						duration: 2000
 					});
-					setTimeout(function(){
+					setTimeout(function() {
 						uni.navigateBack();
-					},2000);
+					}, 2000);
 				}
 			},
 			//疏散页面
@@ -175,10 +184,12 @@
 				let self = this;
 				const {
 					data
-				} = await getFloorData(this.floorId)
+				} = await laboratoryBigViewGetFloorByBigView({
+					id: this.floorId
+				})
 				if (data.code == 200) {
-					if (data.data.buildFloorLayoutVoList[0]) {
-						let list = JSON.parse(data.data.labExitLineVertex.layoutJoinData)
+					if (data.data[0].buildLayoutVoList[0]) {
+						let list = JSON.parse(data.data[0].labExitLineVo.layoutJoinData)
 						this.getWXSystemInfo(list);
 						for (let i = 0; i < list.length; i++) {
 							if (list[i].type == '2') {
@@ -187,18 +198,18 @@
 									list[i].lightList[o].openType = false;
 								}
 							} else if (list[i].type == '1') {
-								for (let o = 0; o < data.data.buildFloorLayoutVoList.length; o++) {
-									if (list[i].key == data.data.buildFloorLayoutVoList[o].pointName) {
-										list[i].id = data.data.buildFloorLayoutVoList[o].id;
-										list[i].buildId = data.data.buildFloorLayoutVoList[o].buildId;
-										list[i].floorId = data.data.buildFloorLayoutVoList[o].floorId;
-										list[i].roomType = data.data.buildFloorLayoutVoList[o].roomType;
-										list[i].roomName = data.data.buildFloorLayoutVoList[o].roomName;
-										list[i].roomNum = data.data.buildFloorLayoutVoList[o].roomNum;
-										list[i].subName = data.data.buildFloorLayoutVoList[o].subName;
-										list[i].subId = data.data.buildFloorLayoutVoList[o].subId;
-										list[i].online = data.data.buildFloorLayoutVoList[o].online;
-										list[i].loginAdmin = data.data.buildFloorLayoutVoList[o].loginAdmin;
+								for (let o = 0; o < data.data[0].buildLayoutVoList.length; o++) {
+									if (list[i].key == data.data[0].buildLayoutVoList[o].pointName) {
+										list[i].id = data.data[0].buildLayoutVoList[o].id;
+										list[i].buildId = data.data[0].buildLayoutVoList[o].buildId;
+										list[i].floorId = data.data[0].buildLayoutVoList[o].floorId;
+										list[i].roomType = data.data[0].buildLayoutVoList[o].roomType;
+										list[i].roomName = data.data[0].buildLayoutVoList[o].roomName;
+										list[i].roomNum = data.data[0].buildLayoutVoList[o].roomNum;
+										list[i].subName = data.data[0].buildLayoutVoList[o].subName;
+										list[i].subId = data.data[0].buildLayoutVoList[o].subId;
+										list[i].online = data.data[0].buildLayoutVoList[o].online;
+										list[i].loginAdmin = data.data[0].buildLayoutVoList[o].loginAdmin;
 										list[i].policeType = false;
 									}
 								}
@@ -224,7 +235,7 @@
 				}
 				const {
 					data
-				} = await getRedisEvacuation(obj)
+				} = await laboratoryExitLineGetRedisEvacuation(obj)
 				if (data.code == 200) {
 					if (data.data.doorPointNames) {
 						for (let o = 0; o < self.mapList.length; o++) {
@@ -269,8 +280,7 @@
 							} else {
 								self.openLight(item);
 							}
-						} else if (res.cancel) {
-						}
+						} else if (res.cancel) {}
 					}
 				});
 			},
@@ -283,7 +293,7 @@
 				};
 				const {
 					data
-				} = await openLight(obj)
+				} = await laboratoryExitRelayOpenLight(obj)
 				if (data.code == 200) {
 					uni.showToast({
 						title: '操作成功',
@@ -302,7 +312,7 @@
 				};
 				const {
 					data
-				} = await closeLight(obj)
+				} = await laboratoryExitRelayCloseLight(obj)
 				if (data.code == 200) {
 					uni.showToast({
 						title: '操作成功',
@@ -342,64 +352,31 @@
 				}
 				this.$set(this, 'mapWidth', maxWidth);
 				this.$set(this, 'mapHeight', maxHeight);
-				  let zoomNumOne = height / maxHeight;
-				  if(parseInt(this.accMul(zoomNumOne,maxHeight)) <= height && parseInt(this.accMul(zoomNumOne,maxWidth)) <= width){
-				    zoomData = zoomNumOne;
-				    this.$set(this,'zoomData',zoomNumOne);
-				  }
-				  let zoomNumTwo = width / maxWidth;
-				  if(parseInt(this.accMul(zoomNumTwo,maxHeight)) <= height && parseInt(this.accMul(zoomNumTwo,maxWidth)) <= width){
-				    zoomData = zoomNumTwo;
-				    this.$set(this,'zoomData',zoomNumTwo);
-				  }
-				// if (maxWidth > maxHeight) {
-				// 	if ((maxWidth / maxHeight) > num) {
-				// 		// 以宽度缩放
-				// 		zoomType = 1;
-				// 	} else {
-				// 		// 以高度缩放
-				// 		zoomType = 2;
-				//  }
-				// } else {
-				// 	if ((maxHeight / maxWidth) > num) {
-				// 		// 以高度缩放
-				// 		zoomType = 2;
-				// 	} else {
-				// 		// 以宽度缩放
-				// 		zoomType = 1;
-				// 	}
-				// }
-
-				// if (zoomType == 1) {
-				// 	if (width > maxWidth) {
-				// 		zoomData = maxWidth / width;
-				// 	} else {
-				// 		zoomData = width / maxWidth;
-				// 	}
-				// 	if (width > maxWidth) {
-				// 		this.$set(this, 'zoomData', maxWidth / width);
-				// 	} else {
-				// 		this.$set(this, 'zoomData', width / maxWidth);
-				// 	}
-				// } else if (zoomType == 2) {
-				//  if (height > maxHeight) {
-				// 		zoomData = maxHeight / height;
-				// 	} else {
-				// 		zoomData = height / maxHeight;
-				// 	}
-				// 	if (height > maxHeight) {
-				// 		this.$set(this, 'zoomData', maxHeight / height);
-				// 	} else {
-				// 		this.$set(this, 'zoomData', height / maxHeight);
-				// 	}
-				// }
+				let zoomNumOne = height / maxHeight;
+				if (parseInt(this.accMul(zoomNumOne, maxHeight)) <= height && parseInt(this.accMul(zoomNumOne,
+					maxWidth)) <= width) {
+					zoomData = zoomNumOne;
+					this.$set(this, 'zoomData', zoomNumOne);
+				}
+				let zoomNumTwo = width / maxWidth;
+				if (parseInt(this.accMul(zoomNumTwo, maxHeight)) <= height && parseInt(this.accMul(zoomNumTwo,
+					maxWidth)) <= width) {
+					zoomData = zoomNumTwo;
+					this.$set(this, 'zoomData', zoomNumTwo);
+				}
+			},
+			accMul(arg1, arg2) {
+				var m = 0,
+					s1 = arg1.toString(),
+					s2 = arg2.toString();
+				try {
+					m += s1.split(".")[1].length
+				} catch (e) {}
+				try {
+					m += s2.split(".")[1].length
+				} catch (e) {}
+				return Number(s1.replace(".", "")) * Number(s2.replace(".", "")) / Math.pow(10, m)
 			},
-			  accMul(arg1,arg2){
-				var m=0,s1=arg1.toString(),s2=arg2.toString();
-				try{m+=s1.split(".")[1].length}catch(e){}
-				try{m+=s2.split(".")[1].length}catch(e){}
-				return Number(s1.replace(".",""))*Number(s2.replace(".",""))/Math.pow(10,m)
-			  },
 			/*MQTT*/
 			//订阅
 			onMQTT() {
@@ -410,8 +387,8 @@
 					connectTimeout: 600000, // 超时时间
 					reconnectPeriod: 5000, // 重连间隔
 					clientId: uni.getStorageSync('token') + 'lab/function/data',
-          username: uni.getStorageSync('mqttUser'),
-          password: uni.getStorageSync('mqttPassword'),
+					username: uni.getStorageSync('mqttUser'),
+					password: uni.getStorageSync('mqttPassword'),
 				}
 				const connectUrl = uni.getStorageSync('mqttUrl');
 				this.floorClient = $mqtt.connect('wxs://' + connectUrl, mqttOptions);
@@ -659,7 +636,8 @@
 			border-radius: 18px;
 			border: none;
 		}
-		.position-button-two{
+
+		.position-button-two {
 			position: fixed;
 			bottom: 20px;
 			left: 50%;

+ 23 - 23
pages_manage/laboratory/voiceBroadcast.vue

@@ -16,7 +16,7 @@
 			</view>
 		  </view>
 		  <view class="broadcast_m">
-			<view class="broadcast_m_t" 
+			<view class="broadcast_m_t"
 			    :class="liveType?'broadcast_m_t_back_a':'broadcast_m_t_back_b'"
 				@longpress.stop="recordButton"
 				@touchmove.stop="cancelButton"
@@ -50,8 +50,8 @@
 				isEvacuate: true, //疏散按钮控制,当为true时候执行疏散
 				//滑动记录
 				startPoint: {},
-				subId:'',			
-				floorId:'',			
+				subId:'',
+				floorId:'',
 			}
 		},
 		created() {
@@ -66,7 +66,7 @@
 			// 返回按钮
 			backPage(){
 			  this.$parent.buttonClick('broadcastClose','');
-			},      
+			},
 			//获取喇叭列表
 			async iotAppSpeakerFindHorn() {
 			  let self=this;
@@ -169,7 +169,7 @@
 			  let num = 0;
 			  for (let i = 0; i < self.trumpetList.length; i++) {
 				if (self.trumpetList[i].type) {
-	
+
 				  num++
 				}
 			  }
@@ -234,7 +234,7 @@
 			  console.log(text)
 			  let obj={
 				  deviceNo:list.join(','),
-				  voiceUrls:'http://192.168.1.20:8080/statics/2024/03/05/8dc08220-3d9a-4d7c-8235-a0a7c38f5ece.mp3',
+				  voiceUrls:text,
 				  cycle:1,
 			  }
 			  const {data} = await iotAppSpeakerPlayVoice(obj)
@@ -281,7 +281,7 @@
 			font-weight: 500;
 			color: #333333;
 			line-height: 30rpx;
-		
+
 			>label {
 			  font-size: 24rpx;
 			  font-family: PingFang SC;
@@ -291,13 +291,13 @@
 			  margin-left: 16rpx;
 			}
 		  }
-		
+
 		  .trumpet-max-box {
 			display: flex;
 			justify-content: flex-start;
 			margin-top: 22rpx;
 			flex-wrap: wrap;
-		
+
 			.trumpet-for-box {
 			  display: inline-block;
 			   width: auto;
@@ -322,21 +322,21 @@
 				margin: 12rpx 20rpx 0 25rpx;
 			  }
 			}
-		
+
 			.trumpet-color-a {
 			  border: 1px solid #0183FA;
 			  color: #0183FA;
 			}
-		
+
 			.trumpet-color-b {
 			  border: 1px solid #CCCCCC;
 			  color: #999;
 			}
 		  }
-		
+
 		  .broadcast_m {
 			width: 100%;
-		
+
 			.broadcast_m_t {
 			  width: 142rpx;
 			  height: 142rpx;
@@ -347,14 +347,14 @@
 			  font-weight: 500;
 			  line-height: 170rpx;
 			  text-align: center;
-		
+
 			  >img {
 				width: 142rpx;
 				height: 142rpx;
 				position: absolute;
-		
+
 			  }
-		
+
 			  >label {
 				width: 100%;
 				font-size: 24rpx;
@@ -367,30 +367,30 @@
 				position: absolute;
 				top: 76rpx;
 			  }
-		
+
 			  /* 按下 */
 			  .press_color {
 				color: #FFFFFF;
 			  }
-		
+
 			  /* 松开 */
 			  .slip_color {
 				color: #0183FA;
 			  }
 			}
-		
+
 			.broadcast_m_t_back_a {
 			  background: url(@/images/basicsModules/icon_sskz_skfs.png);
 			  background-size: 100%;
 			  color: #FFFFFF;
 			}
-		
+
 			.broadcast_m_t_back_b {
 			  background: url(@/images/basicsModules/icon_sskz_azsh.png);
 			  background-size: 100%;
 			  color: #0183FA;
 			}
-		
+
 			.broadcast_m_b {
 			  font-size: 24rpx;
 			  font-family: PingFang SC;
@@ -401,7 +401,7 @@
 			  margin-top: 14rpx;
 			}
 		  }
-		
+
 		  /* 疏散按钮 */
 		  .evacuation-button-box {
 			width: 650rpx;
@@ -416,4 +416,4 @@
 		  }
 		}
 	}
-</style>
+</style>

+ 272 - 242
pages_student/accessApplication/accessApplication.vue

@@ -1,257 +1,287 @@
 <!-- 准入申请 -->
 <template>
-    <view id="accessApplication">
-        <view class="button-max-box" @click="goFaceImage">
-            <img src="@/images/basicsModules/icon_001.png">
-            <view>身份验证</view>
-            <view :class="!identifyType?'colorA':'marginType'">{{!identifyType?'去认证':'已认证'}}</view>
-            <img v-if="!identifyType" src="@/images/basicsModules/icon_04.png">
-        </view>
-        <view class="for-box" v-for="(item,index) in dataList" :key="index">
-            <view class="button-view" @click="selectImage(index)" v-if="!item.url">+ 添加</view>
-            <img :src="item.url" @click="selectImage(index)" v-else>
-            <view class="for-title">{{item.materialName}}</view>
-        </view>
-        <view class="null-p"></view>
-        <view class="bottom-button-view" @click="accessReview">提交</view>
-    </view>
+	<view id="accessApplication">
+		<view class="button-max-box" @click="goFaceImage">
+			<img src="@/images/basicsModules/icon_001.png">
+			<view>身份验证</view>
+			<view :class="!identifyType?'colorA':'marginType'">{{!identifyType?'去认证':'已认证'}}</view>
+			<img v-if="!identifyType" src="@/images/basicsModules/icon_04.png">
+		</view>
+		<view class="for-box" v-for="(item,index) in dataList" :key="index">
+			<view class="button-view" @click="selectImage(index)" v-if="!item.url">+ 添加</view>
+			<img :src="item.url" @click="selectImage(index)" v-else>
+			<view class="for-title">{{item.materialName}}</view>
+		</view>
+		<view class="null-p"></view>
+		<view class="bottom-button-view" @click="accessReview">提交</view>
+	</view>
 </template>
 
 <script>
-    import { config } from '@/api/request/config.js'
-    import { studentinfoFacemy,subjectMaterialList,accessReview } from '@/api/apiDemo/index.js'
-    export default {
-        data() {
-            return {
-                identifyType:1,
-                itemData:{},
-                dataList:[]
-            }
-        },
-        onLoad(option) {
-            this.itemData = JSON.parse(decodeURIComponent(option.item));
-            this.dataList = JSON.parse(decodeURIComponent(option.list));
-            console.log("this.itemData",this.itemData)
-            console.log("this.dataList",this.dataList)
-            this.studentinfoFacemy();
-            // this.subjectMaterialList();
-        },
-        methods: {
-            //提交接口
-            async accessReview(){
-                let self = this;
-                if(!this.identifyType){
-                    uni.showToast({
-                        title: '请先认证身份验证',
-                        icon:"none",
-                        mask:true,
-                        duration: 2000
-                    });
-                    return
-                }
-                if(!this.dataList[0]){
-                    uni.showToast({
-                        title: '该实验室未配置准入资格,无法申请~',
-                        icon:"none",
-                        mask:true,
-                        duration: 2000
-                    });
-                    return
-                }
-                let obj = {
-                    subjectId:self.itemData.id,
-                    securityGroupId:self.dataList[0].configureId,
-                    buildId:self.itemData.buildId,
-                    deptId:self.itemData.deptId,
-                    approvalDetails:[],
-                };
-                for(let i=0;i<self.dataList.length;i++){
-                    if(!self.dataList[i].url){
-                        uni.showToast({
-                            title: '请上传'+self.dataList[i].materialName,
-                            icon:"none",
-                            mask:true,
-                            duration: 2000
-                        });
-                        return
-                    }
-                    let newObj = {
-                        materialName:self.dataList[i].materialName,
-                        materialUrl:self.dataList[i].url,
+	import {
+		config
+	} from '@/api/request/config.js'
+	import {
+		studentinfoFacemy,
+		subjectMaterialList,
+		accessReview
+	} from '@/api/apiDemo/index.js'
+	export default {
+		data() {
+			return {
+				identifyType: 1,
+				itemData: {},
+				dataList: []
+			}
+		},
+		onLoad(option) {
+			this.itemData = JSON.parse(decodeURIComponent(option.item));
+			this.dataList = JSON.parse(decodeURIComponent(option.list));
+			console.log("this.itemData", this.itemData)
+			console.log("this.dataList", this.dataList)
+			this.studentinfoFacemy();
+			// this.subjectMaterialList();
+		},
+		methods: {
+			//提交接口
+			async accessReview() {
+				let self = this;
+				if (!this.identifyType) {
+					uni.showToast({
+						title: '请先认证身份验证',
+						icon: "none",
+						mask: true,
+						duration: 2000
+					});
+					return
+				}
+				if (!this.dataList[0]) {
+					uni.showToast({
+						title: '该实验室未配置准入资格,无法申请~',
+						icon: "none",
+						mask: true,
+						duration: 2000
+					});
+					return
+				}
+				let obj = {
+					subjectId: self.itemData.id,
+					securityGroupId: self.dataList[0].configureId,
+					buildId: self.itemData.buildId,
+					deptId: self.itemData.deptId,
+					approvalDetails: [],
+				};
+				for (let i = 0; i < self.dataList.length; i++) {
+					if (!self.dataList[i].url) {
+						uni.showToast({
+							title: '请上传' + self.dataList[i].materialName,
+							icon: "none",
+							mask: true,
+							duration: 2000
+						});
+						return
+					}
+					let newObj = {
+						materialName: self.dataList[i].materialName,
+						materialUrl: self.dataList[i].url,
 
-                    }
-                    obj.approvalDetails.push(newObj);
-                }
-                const {data} = await accessReview(obj);
-                if(data.code == 200){
-                    uni.showToast({
-                        title: '提交成功',
-                        icon:"none",
-                        mask:true,
-                        duration: 2000
-                    });
-                    setTimeout(function(){
-                        uni.navigateBack();
-                    },2000);
-                }
-            },
-            //查询实验室下的安全准入资格材料表
-            async subjectMaterialList(){
-                let obj = {
-                    subjectId:this.itemData.id
-                }
-                const {data} = await subjectMaterialList(obj)
-                if(data.code == 200){
-                    this.dataList = data.data;
-                }
-            },
-            //获取当前身份人脸验证状态
-            async studentinfoFacemy(){
-                let obj = {
-                    studentsId:uni.getStorageSync('userId')
-                }
-                const {data} = await studentinfoFacemy(obj)
-                if(data.code == 200){
-                    this.ifFaceFeature = data.data.ifFaceFeature;
-                }
-            },
-            // 图片上传
-            selectImage(index) {
-                let self = this;
-                wx.chooseImage({
-                    count: 1,
-                    sizeType: ["original", "compressed"],
-                    sourceType: ["album", "camera"],
-                    success: function(res) {
-                        let tempFilePaths = res.tempFilePaths[0];
-                        self.uploadImg(tempFilePaths,index);
-                    }
-                });
-            },
-            async uploadImg(tempFilePaths,index){
-                var self = this;
-                uni.showLoading({
-                    title: '上传中',
-                    mask: true
-                });
-                uni.uploadFile({
-                    url: config.base_url+'/base/file/upload', //仅为示例,非真实的接口地址
-                    header:{'Authorization':uni.getStorageSync('token')},
-                    filePath: tempFilePaths,
-                    name: 'file',
-                    formData: {
-                        'user': 'test'
-                    },
-                    success: (uploadFileRes) => {
-                        let res = JSON.parse(uploadFileRes.data);
-						if(res.code == 200){
-							self.$set(self.dataList[index],'url',config.base_url+res.data.url);
-						}else{
+					}
+					obj.approvalDetails.push(newObj);
+				}
+				const {
+					data
+				} = await accessReview(obj);
+				if (data.code == 200) {
+					uni.showToast({
+						title: '提交成功',
+						icon: "none",
+						mask: true,
+						duration: 2000
+					});
+					setTimeout(function() {
+						uni.navigateBack();
+					}, 2000);
+				}
+			},
+			//查询实验室下的安全准入资格材料表
+			async subjectMaterialList() {
+				let obj = {
+					subjectId: this.itemData.id
+				}
+				const {
+					data
+				} = await subjectMaterialList(obj)
+				if (data.code == 200) {
+					this.dataList = data.data;
+				}
+			},
+			//获取当前身份人脸验证状态
+			async studentinfoFacemy() {
+				let obj = {
+					studentsId: uni.getStorageSync('userId')
+				}
+				const {
+					data
+				} = await studentinfoFacemy(obj)
+				if (data.code == 200) {
+					this.ifFaceFeature = data.data.ifFaceFeature;
+				}
+			},
+			// 图片上传
+			selectImage(index) {
+				let self = this;
+				wx.chooseImage({
+					count: 1,
+					sizeType: ["original", "compressed"],
+					sourceType: ["album", "camera"],
+					success: function(res) {
+						let tempFilePaths = res.tempFilePaths[0];
+						self.uploadImg(tempFilePaths, index);
+					}
+				});
+			},
+			async uploadImg(tempFilePaths, index) {
+				var self = this;
+				uni.showLoading({
+					title: '上传中',
+					mask: true
+				});
+				uni.uploadFile({
+					url: config.base_url + '/base/file/upload', //仅为示例,非真实的接口地址
+					header: {
+						'Authorization': uni.getStorageSync('token')
+					},
+					filePath: tempFilePaths,
+					name: 'file',
+					formData: {
+						'user': 'test'
+					},
+					success: (uploadFileRes) => {
+						let res = JSON.parse(uploadFileRes.data);
+						if (res.code == 200) {
+							self.$set(self.dataList[index], 'url', config.base_url + res.data.url);
+						} else {
 							uni.showToast({
 								title: res.msg,
-								icon:"none",
-								mask:true,
+								icon: "none",
+								mask: true,
 								duration: 2000
 							});
 						}
-                    },
-                    fail: err => {},
-                    complete: () => {
-                        uni.hideLoading()
-                    }
-                });
-            },
-            goFaceImage(){
-                if (!this.identifyType){
-                    uni.navigateTo({
-                        url: '/pages_basics/faceImage',
-                    });
-                }
-            },
-        }
-    }
+					},
+					fail: err => {},
+					complete: () => {
+						uni.hideLoading()
+					}
+				});
+			},
+			goFaceImage() {
+				if (!this.identifyType) {
+					uni.navigateTo({
+						url: '/pages_basics/faceImage',
+					});
+				}
+			},
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #accessApplication{
-        height:100%;
-        width:100%;
-        display flex
-        flex-direction column
-        .button-max-box{
-            height:100rpx;
-            display flex
-            background #fff
-            margin-bottom:20rpx;
-            img:nth-child(1){
-                height:30rpx;
-                width:30rpx;
-                margin:37rpx 28rpx 33rpx 20rpx;
-            }
-            view{
-                line-height:100rpx;
-            }
-            view:nth-child(2){
-                flex:1;
-                color:#333333;
-                font-size: 28rpx;
-            }
-            view:nth-child(3){
-                width:120rpx;
-                text-align center;
-                color:#CCCCCC;
-                font-size: 28rpx;
-            }
-            img:nth-child(4){
-                height:24rpx;
-                width:12rpx;
-                margin:39rpx 20rpx 0 0;
-            }
-            .colorA{
-                color:#E45656!important;
-            }
-            .marginType{
-                margin-right:12rpx;
-            }
-        }
-        .for-box{
-            height:430rpx;
-            width:710rpx;
-            margin:20rpx 20rpx 0;
-            background: url("@/pages_student/images/icon_08.png")
-            background-size 100%
-            .button-view{
-                text-align center
-                line-height:348rpx;
-                color: #999999;
-                font-size:30rpx;
-            }
-            img{
-                width:706rpx;
-                height:344rpx;
-                margin:2rpx;
-                border-top-right-radius 20rpx
-                border-top-left-radius 20rpx
-            }
-            .for-title{
-                line-height:80rpx;
-                margin-left:28rpx;
-                color: #999999;
-                font-size:30rpx;
-            }
-        }
-        .bottom-button-view{
-            font-size:30rpx;
-            text-align center;
-            color: #FFFFFF;
-            width: 750rpx;
-            height: 100rpx;
-            line-height: 100rpx;
-            background: #0183FA;
-            margin-top:40rpx;
-        }
-        .null-p{
-            flex:1;
-        }
-    }
+	#accessApplication {
+		height: 100%;
+		width: 100%;
+
+		display flex;
+		flex-direction column;
+
+		.button-max-box {
+			height: 100rpx;
+			display flex;
+			background #fff;
+			margin-bottom: 20rpx;
+
+			img:nth-child(1) {
+				height: 30rpx;
+				width: 30rpx;
+				margin: 37rpx 28rpx 33rpx 20rpx;
+			}
+
+			view {
+				line-height: 100rpx;
+			}
+
+			view:nth-child(2) {
+				flex: 1;
+				color: #333333;
+				font-size: 28rpx;
+			}
+
+			view:nth-child(3) {
+				width: 120rpx;
+				text-align center;
+				color: #CCCCCC;
+				font-size: 28rpx;
+			}
+
+			img:nth-child(4) {
+				height: 24rpx;
+				width: 12rpx;
+				margin: 39rpx 20rpx 0 0;
+			}
+
+			.colorA {
+				color: #E45656 !important;
+			}
+
+			.marginType {
+				margin-right: 12rpx;
+			}
+		}
+
+		.for-box {
+			height: 430rpx;
+			width: 710rpx;
+			margin: 20rpx 20rpx 0;
+
+			background: url("@/pages_student/images/icon_08.png");
+			background-size 100%;
+
+			.button-view {
+				text-align center;
+				line-height: 348rpx;
+				color: #999999;
+				font-size: 30rpx;
+			}
+
+			img {
+				width: 706rpx;
+				height: 344rpx;
+				margin: 2rpx;
+				border-top-right-radius 20rpx;
+				border-top-left-radius 20rpx;
+			}
+
+			.for-title {
+				line-height: 80rpx;
+				margin-left: 28rpx;
+				color: #999999;
+				font-size: 30rpx;
+			}
+		}
+
+		.bottom-button-view {
+			font-size: 30rpx;
+			text-align center;
+			color: #FFFFFF;
+			width: 750rpx;
+			height: 100rpx;
+			line-height: 100rpx;
+			background: #0183FA;
+			margin-top: 40rpx;
+		}
+
+		.null-p {
+			flex: 1;
+		}
+	}
 </style>

+ 196 - 159
pages_student/accessApplication/applicationDetails.vue

@@ -1,6 +1,6 @@
 <!-- 申请详情 -->
 <template>
-    <view id="applicationDetails" v-if="pageType">
+	<view id="applicationDetails" v-if="pageType">
 		<view class="user-info-box">
 			<view class="user-info-box-min">
 				<view>实验室:</view>
@@ -8,7 +8,8 @@
 			</view>
 			<view class="user-info-box-min">
 				<view>申请时限:</view>
-				<view>{{subjectData.labSecurityApply.validBeginTime}}至{{subjectData.labSecurityApply.validEndTime}}</view>
+				<view>{{subjectData.labSecurityApply.validBeginTime}}至{{subjectData.labSecurityApply.validEndTime}}
+				</view>
 			</view>
 			<view class="user-info-box-min">
 				<view>申请备注:</view>
@@ -16,7 +17,9 @@
 			</view>
 		</view>
 		<view class="user-info-box">
-			<view class="user-info-box_title"><view style="color: red;">*</view>身份信息:(关联学生信息材料)</view>
+			<view class="user-info-box_title">
+				<view style="color: red;">*</view>身份信息:(关联学生信息材料)
+			</view>
 			<view class="user-info-box-min">
 				<view>申请人:</view>
 				<view>{{subjectData.sysUser.nickName}}</view>
@@ -25,7 +28,7 @@
 				<view>联系电话:</view>
 				<view>{{subjectData.sysUser.phonenumber}}</view>
 			</view>
-			<view class="user-info-box-min" >
+			<view class="user-info-box-min">
 				<view>学号:</view>
 				<view>{{subjectData.sysUser.userName}}</view>
 			</view>
@@ -33,11 +36,11 @@
 				<view>物理卡号:</view>
 				<view>{{subjectData.sysUser.cardNum}}</view>
 			</view>
-			<view class="user-info-box-min" >
+			<view class="user-info-box-min">
 				<view>班级:</view>
 				<view>{{subjectData.sysUser.grade}}</view>
 			</view>
-			<view class="user-info-box-min" >
+			<view class="user-info-box-min">
 				<view>导师:</view>
 				<view>{{subjectData.sysUser.tutorUserName}}</view>
 			</view>
@@ -51,66 +54,75 @@
 			</view>
 			<view class="word-box" v-if="item.materialType==1">
 				<view class="word-box-title">{{item.materialName}}</view>
-				<view class="word-box-min" v-for="(minItem,minIndex) in item.upList" :key="minIndex" @click="lookItem(minItem)">
+				<view class="word-box-min" v-for="(minItem,minIndex) in item.upList" :key="minIndex"
+					@click="lookItem(minItem)">
 					<img src="@/images/basicsModules/icon_pdf.png" v-if="minItem.type == 'pdf'">
-					<img src="@/images/basicsModules/icon_word.png" v-if="minItem.type == 'doc' || minItem.type == 'docx'">
-					<img :src="configUrl+minItem.url" v-if="minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif'">
+					<img src="@/images/basicsModules/icon_word.png"
+						v-if="minItem.type == 'doc' || minItem.type == 'docx'">
+					<img :src="configUrl+minItem.url"
+						v-if="minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif'">
 					<view>{{minItem.name}}</view>
 				</view>
 			</view>
 		</view>
-		<view class="bottom-button-p" v-if="subjectData.labSecurityApply.auditStatus == 1" @click="bottomButtonClick">重新提交</view>
-    </view>
+		<view class="bottom-button-p" v-if="subjectData.labSecurityApply.auditStatus == 1" @click="bottomButtonClick">
+			重新提交</view>
+	</view>
 </template>
 
 <script>
-    import { getDetails } from '@/api/apiDemo/index.js'
-	import { config } from '@/api/request/config.js'
-    export default {
-        data() {
-            return {
-				pageType:false,
+	import {
+		getDetails
+	} from '@/api/apiDemo/index.js'
+	import {
+		config
+	} from '@/api/request/config.js'
+	export default {
+		data() {
+			return {
+				pageType: false,
 				//传参数据
-				infoData:{},
+				infoData: {},
 				//获取数据
-				subjectData:{},
-				configUrl:config.base_url,
-            }
-        },
-        onLoad(option) {
-            this.infoData = JSON.parse(decodeURIComponent(option.item));
-            //修改页面title
-            uni.setNavigationBarTitle({
-                title:this.infoData.auditStatus==0?'待审核':(this.infoData.auditStatus==1?'未通过':(this.infoData.auditStatus==2?'已通过':''))
-            });
-        },
-        onShow(){
-            this.getDetails();
-        },
-        methods: {
-			lookItem(minItem){
-				console.log("minItem",minItem)
-				if(minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif'){
+				subjectData: {},
+				configUrl: config.base_url,
+			}
+		},
+		onLoad(option) {
+			this.infoData = JSON.parse(decodeURIComponent(option.item));
+			//修改页面title
+			uni.setNavigationBarTitle({
+				title: this.infoData.auditStatus == 0 ? '待审核' : (this.infoData.auditStatus == 1 ? '未通过' : (this
+					.infoData.auditStatus == 2 ? '已通过' : ''))
+			});
+		},
+		onShow() {
+			this.getDetails();
+		},
+		methods: {
+			lookItem(minItem) {
+				console.log("minItem", minItem)
+				if (minItem.type == 'png' || minItem.type == 'jpg' || minItem.type == 'jpeg' || minItem.type == 'gif') {
 					//查看图片
 					wx.previewImage({
-						urls: [config.base_url+minItem.url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
+						urls: [config.base_url + minItem.url], //需要预览的图片http链接列表,多张的时候,url直接写在后面就行了
 						current: '', // 当前显示图片的http链接,默认是第一个
 						success: function(res) {},
 						fail: function(res) {},
 						complete: function(res) {},
 					})
-				}else if(minItem.type == 'pdf' || minItem.type == 'doc' || minItem.type == 'docx'){
+				} else if (minItem.type == 'pdf' || minItem.type == 'doc' || minItem.type == 'docx') {
 					uni.showLoading({
-					    title: '下载中'
+						title: '下载中'
 					});
 					//下载文档
 					wx.downloadFile({
-						url: config.base_url+minItem.url,
+						url: config.base_url + minItem.url,
 						header: {
 							Authorization: uni.getStorageSync('token')
 						},
-						success: function (res) {
-							console.log("resresresresresres",res)
+						success: function(res) {
+							console.log("resresresresresres", res)
 							const fileManager = wx.getFileSystemManager()
 							const filePath = wx.env.USER_DATA_PATH + '/' + minItem.name + '.docx'
 							fileManager.saveFile({
@@ -124,23 +136,23 @@
 										fileType: minItem.type
 									})
 								},
-								fail: function (res){
+								fail: function(res) {
 									uni.hideLoading();
 									uni.showToast({
 										title: '下载失败',
-										icon:"none",
-										mask:true,
+										icon: "none",
+										mask: true,
 										duration: 2000
 									});
 								}
 							})
 						},
-						fail: function (res){
+						fail: function(res) {
 							uni.hideLoading();
 							uni.showToast({
 								title: '下载失败',
-								icon:"none",
-								mask:true,
+								icon: "none",
+								mask: true,
 								duration: 2000
 							});
 						}
@@ -148,158 +160,183 @@
 				}
 			},
 			//重新提交
-			bottomButtonClick(){
+			bottomButtonClick() {
 				uni.navigateTo({
-				    url:'/pages_student/accessApplication/newApplication?item='+encodeURIComponent(JSON.stringify(this.subjectData))
+					url: '/pages_student/accessApplication/newApplication?item=' + encodeURIComponent(JSON
+						.stringify(this.subjectData))
 				});
 			},
-            //获取安全准入审批记录详细信息(用户端)
-            async getDetails() {
-                let self = this;
-                const {data} = await getDetails({id:this.infoData.id})
-                if(data.code==200){
-				  for(let i=0;i<data.data.listTemp.length;i++){
-					  console.log(data.data.listTemp.length)
-					if(data.data.listTemp[i].materialType == 1){
-					  let maxList = [];
-					  for(let o=0;o<data.data.listTemp[i].listMr.length;o++){
-						   console.log(data.data.listTemp[i].listMr.length)
-						let bigList = data.data.listTemp[i].listMr[o].dataUrl.split(',');
-						for(let x=0;x<bigList.length;x++){
-							console.log(bigList.length)
-						  if(bigList[x]){
-							let minList = bigList[x].split(';');
-							let minListTwo = minList[0].split('.')
-							let obj = {
-							  name:minList[0],
-							  url:minList[1],
-							  type:minListTwo[1]
-							};
-							maxList.push(obj);
-						  }
+			//获取安全准入审批记录详细信息(用户端)
+			async getDetails() {
+				let self = this;
+				const {
+					data
+				} = await getDetails({
+					id: this.infoData.id
+				})
+				if (data.code == 200) {
+					for (let i = 0; i < data.data.listTemp.length; i++) {
+						console.log(data.data.listTemp.length)
+						if (data.data.listTemp[i].materialType == 1) {
+							let maxList = [];
+							for (let o = 0; o < data.data.listTemp[i].listMr.length; o++) {
+								console.log(data.data.listTemp[i].listMr.length)
+								let bigList = data.data.listTemp[i].listMr[o].dataUrl.split(',');
+								for (let x = 0; x < bigList.length; x++) {
+									console.log(bigList.length)
+									if (bigList[x]) {
+										let minList = bigList[x].split(';');
+										let minListTwo = minList[0].split('.')
+										let obj = {
+											name: minList[0],
+											url: minList[1],
+											type: minListTwo[1]
+										};
+										maxList.push(obj);
+									}
+								}
+							}
+							data.data.listTemp[i].upList = maxList;
+							console.log('maxList[0].url', maxList);
+							// self.iframeSrc = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_FILE_API + '/onlinePreview?url='+encodeURIComponent(btoa(unescape(encodeURIComponent(maxList[0].url))));
 						}
-					  }
-					  data.data.listTemp[i].upList = maxList;
-					  console.log('maxList[0].url',maxList);
-					  // self.iframeSrc = window.location.href.split('://')[0]+'://' + process.env.VUE_APP_BASE_FILE_API + '/onlinePreview?url='+encodeURIComponent(btoa(unescape(encodeURIComponent(maxList[0].url))));
 					}
-				  }
-				  this.$set(this,"subjectData",data.data);
-				  this.pageType = true;
-                }
-            }
-        }
-    }
+					this.$set(this, "subjectData", data.data);
+					this.pageType = true;
+				}
+			}
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #applicationDetails{
-        height:100%;
-        width:100%;
-        overflow-y scroll
-		.user-info-box{
+	#applicationDetails {
+		height: 100%;
+		width: 100%;
+
+		overflow-y scroll;
+
+		.user-info-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:20rpx 20rpx;
-			padding:20rpx 0;
-			.user-info-box_title{
+			border-radius: 20rpx;
+			margin: 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.user-info-box_title {
 				font-size: 30rpx;
 				font-family: PingFang SC;
 				font-weight: 500;
 				color: #333333;
 				line-height: 30rpx;
-				margin-left: 24rpx
-				margin-bottom :10px;
-				>view{
+				margin-left: 24rpx;
+				margin-bottom: 10px;
+
+				>view {
 					display inline-block;
 				}
 			}
-			.user-info-box-min{
-				margin:0 26rpx;
+
+			.user-info-box-min {
+				margin: 0 26rpx;
 				display flex;
-				view{
-					line-height:66rpx;
-					font-size:28rpx;
+
+				view {
+					line-height: 66rpx;
+					font-size: 28rpx;
 				}
-				view:nth-child(1){
-					width:140rpx;
-					color:#999;
+
+				view:nth-child(1) {
+					width: 140rpx;
+					color: #999;
 				}
-				view:nth-child(2){
-					flex:1;
+
+				view:nth-child(2) {
+					flex: 1;
 					text-align right;
-					color:#333;
+					color: #333;
 				}
 			}
 		}
-		.user-card-box{
+
+		.user-card-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:0 20rpx 20rpx;
-			padding:20rpx 0;
-			.user-card-title{
-				padding-left:24rpx;
-				font-size:30rpx;
-				font-weight:700;
-				margin-bottom:20rpx;
+			border-radius: 20rpx;
+			margin: 0 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.user-card-title {
+				padding-left: 24rpx;
+				font-size: 30rpx;
+				font-weight: 700;
+				margin-bottom: 20rpx;
 			}
-			.user-card-text{
-				line-height:66rpx;
-				font-size:28rpx;
-				color:#999;
-				padding:0 24rpx;
+
+			.user-card-text {
+				line-height: 66rpx;
+				font-size: 28rpx;
+				color: #999;
+				padding: 0 24rpx;
 			}
 		}
-		.img-box{
+
+		.img-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:0 20rpx 20rpx;
-			padding:20rpx 0;
-			.img-title{
-				padding-left:24rpx;
-				font-size:30rpx;
-				font-weight:700;
-				margin-bottom:20rpx;
+			border-radius: 20rpx;
+			margin: 0 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.img-title {
+				padding-left: 24rpx;
+				font-size: 30rpx;
+				font-weight: 700;
+				margin-bottom: 20rpx;
 			}
-			img{
+
+			img {
 				display block;
-				width:640rpx;
-				margin:0 auto 10rpx;
+				width: 640rpx;
+				margin: 0 auto 10rpx;
 			}
 		}
-		.word-box{
+
+		.word-box {
 			background #fff;
-			border-radius:20rpx;
-			margin:0 20rpx 20rpx;
-			padding:20rpx 0;
-			.word-box-title{
-				padding-left:24rpx;
-				font-size:30rpx;
-				font-weight:700;
-				margin-bottom:20rpx;
+			border-radius: 20rpx;
+			margin: 0 20rpx 20rpx;
+			padding: 20rpx 0;
+
+			.word-box-title {
+				padding-left: 24rpx;
+				font-size: 30rpx;
+				font-weight: 700;
+				margin-bottom: 20rpx;
 			}
-			.word-box-min{
+
+			.word-box-min {
 				display flex;
-				margin:0 20rpx 20rpx;
-				img{
-					height:60rpx;
-					width:60rpx;
+				margin: 0 20rpx 20rpx;
+
+				img {
+					height: 60rpx;
+					width: 60rpx;
 				}
-				view{
-					margin-left:20rpx;
-					line-height:60rpx;
+
+				view {
+					margin-left: 20rpx;
+					line-height: 60rpx;
 				}
 			}
 		}
-		.bottom-button-p{
-			width:650rpx;
-			height:100rpx;
-			line-height:100rpx;
+
+		.bottom-button-p {
+			width: 650rpx;
+			height: 100rpx;
+			line-height: 100rpx;
 			text-align center;
-			border-radius:20rpx;
-			margin:20rpx 50rpx;
+			border-radius: 20rpx;
+			margin: 20rpx 50rpx;
 			background: #0183fa;
-			color:#fff;
+			color: #fff;
 		}
-    }
+	}
 </style>

+ 266 - 228
pages_student/accessApplication/chooseALaboratory.vue

@@ -1,251 +1,289 @@
 <!-- 选择实验室 -->
 <template>
-    <view id="chooseALaboratory">
-        <view class="picker-box">
-            <picker @change="facultyChange" :value="facultyIndex" :range="faculty">
-                <view class="picker-min-box">
-                    <view class="left-box">请选择院系:</view>
-                    <view>{{faculty[facultyIndex]}}</view>
-                    <img src="@/images/basicsModules/icon_04.png">
-                </view>
-            </picker>
-        </view>
-        <view class="picker-box">
-            <picker @change="buildingChange" :value="buildingIndex" :range="building">
-                <view class="picker-min-box">
-                    <view class="left-box">请选择实验楼:</view>
-                    <view>{{building[buildingIndex]}}</view>
-                    <img src="@/images/basicsModules/icon_04.png">
-                </view>
-            </picker>
-        </view>
-        <view class="for-max-box">
-            <view class="for-box" v-for="(item,index) in dataList" :key="index" @click="goAccessApplication(item)">
-                <view class="left-box">
-                    <view>{{item.name}}</view>
-                    <view>{{item.deptName}}{{item.buildName}}{{item.room}}</view>
-                </view>
-                <view class="right-p" :class="{'colorA':!item.isApply}">{{item.isApply?'已申请':'立即申请'}}</view>
-                <img v-if="!item.isApply" src="@/images/basicsModules/icon_04.png">
-            </view>
-            <view class="bottom-null-view">暂无更多数据</view>
-        </view>
-    </view>
+	<view id="chooseALaboratory">
+		<view class="picker-box">
+			<picker @change="facultyChange" :value="facultyIndex" :range="faculty">
+				<view class="picker-min-box">
+					<view class="left-box">请选择院系:</view>
+					<view>{{faculty[facultyIndex]}}</view>
+					<img src="@/images/basicsModules/icon_04.png">
+				</view>
+			</picker>
+		</view>
+		<view class="picker-box">
+			<picker @change="buildingChange" :value="buildingIndex" :range="building">
+				<view class="picker-min-box">
+					<view class="left-box">请选择实验楼:</view>
+					<view>{{building[buildingIndex]}}</view>
+					<img src="@/images/basicsModules/icon_04.png">
+				</view>
+			</picker>
+		</view>
+		<view class="for-max-box">
+			<view class="for-box" v-for="(item,index) in dataList" :key="index" @click="goAccessApplication(item)">
+				<view class="left-box">
+					<view>{{item.name}}</view>
+					<view>{{item.deptName}}{{item.buildName}}{{item.room}}</view>
+				</view>
+				<view class="right-p" :class="{'colorA':!item.isApply}">{{item.isApply?'已申请':'立即申请'}}</view>
+				<img v-if="!item.isApply" src="@/images/basicsModules/icon_04.png">
+			</view>
+			<view class="bottom-null-view">暂无更多数据</view>
+		</view>
+	</view>
 </template>
 
 <script>
-    import { departmentsList,buildingList,mySecuritySubjectList,subjectMaterialList } from '@/api/apiDemo/index.js'
-    export default {
-        data() {
-            return {
-                //空数据展示
-                nullType:false,
-                faculty:['暂无院系数据'],
-                facultyList:[],
-                facultyIndex:0,
-                building:['暂无实验楼数据'],
-                buildingList:[],
-                buildingIndex:0,
-                dataList:[],
-            }
-        },
-        onLoad() {
-
-        },
-        onShow(){
-            this.getDepartmentsList();
-        },
-        methods: {
-
-            //查询院系
-            async getDepartmentsList() {
-                let self = this;
-                const {data} = await departmentsList()
-                if(data.code==200){
-                    if (data.data[0]){
-                        let list = [];
-                        for(let i=0;i<data.data.length;i++){
-                            list.push(data.data[i].deptName);
-                        }
-                        this.faculty = list;
-                        this.facultyIndex = 0;
-                        this.facultyList = data.data;
-                        this.getDuildingList(this.facultyList[0].deptId)
-                    }else{
-                        this.faculty = ['暂无院系数据'];
-                        this.facultyIndex = 0;
-                        this.facultyList = [];
-                        this.building = ['暂无实验楼数据'];
-                        this.buildingIndex = 0;
-                        this.buildingList = [];
-                        this.dataList=[];
-                    }
-                }
-            },
-            //查询楼栋
-            async getDuildingList(deptId) {
-                let self = this;
-                let obj = {deptId:deptId}
-                const {data} = await buildingList(obj);
-                if(data.code==200){
-                    if (data.data[0]){
-                        let list = [];
-                        for(let i=0;i<data.data.length;i++){
-                            list.push(data.data[i].deptName);
-                        }
-                        this.building = list;
-                        this.buildingIndex = 0;
-                        this.buildingList = data.data;
-                        this.mySecuritySubjectList(this.buildingList[0].deptId);
-                    }else{
-                        this.building = ['暂无实验楼数据'];
-                        this.buildingIndex = 0;
-                        this.buildingList = [];
-                        this.dataList=[];
-                    }
-                }
-            },
-            //查询列表
-            async mySecuritySubjectList(deptId) {
-                let self = this;
-                let obj = {deptId:deptId}
-                const {data} = await mySecuritySubjectList(obj);
-                if(data.code==200){
-                    if(data.data[0]){
-                        this.dataList = data.data;
-                    }else{
-                        this.dataList=[];
-                    }
-                }
-            },
-            facultyChange(e){
-                this.facultyIndex = e.target.value;
-                this.getDuildingList(this.facultyList[this.facultyIndex].deptId)
-            },
-            buildingChange(e){
-                this.buildingIndex = e.target.value;
-                this.mySecuritySubjectList(this.buildingList[this.buildingIndex].deptId)
-            },
-            goAccessApplication(item){
-                if(item.isApply){
-                    //已申请
+	import {
+		departmentsList,
+		buildingList,
+		mySecuritySubjectList,
+		subjectMaterialList
+	} from '@/api/apiDemo/index.js'
+	export default {
+		data() {
+			return {
+				//空数据展示
+				nullType: false,
+				faculty: ['暂无院系数据'],
+				facultyList: [],
+				facultyIndex: 0,
+				building: ['暂无实验楼数据'],
+				buildingList: [],
+				buildingIndex: 0,
+				dataList: [],
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+			this.getDepartmentsList();
+		},
+		methods: {
+
+			//查询院系
+			async getDepartmentsList() {
+				let self = this;
+				const {
+					data
+				} = await departmentsList()
+				if (data.code == 200) {
+					if (data.data[0]) {
+						let list = [];
+						for (let i = 0; i < data.data.length; i++) {
+							list.push(data.data[i].deptName);
+						}
+						this.faculty = list;
+						this.facultyIndex = 0;
+						this.facultyList = data.data;
+						this.getDuildingList(this.facultyList[0].deptId)
+					} else {
+						this.faculty = ['暂无院系数据'];
+						this.facultyIndex = 0;
+						this.facultyList = [];
+						this.building = ['暂无实验楼数据'];
+						this.buildingIndex = 0;
+						this.buildingList = [];
+						this.dataList = [];
+					}
+				}
+			},
+			//查询楼栋
+			async getDuildingList(deptId) {
+				let self = this;
+				let obj = {
+					deptId: deptId
+				}
+				const {
+					data
+				} = await buildingList(obj);
+				if (data.code == 200) {
+					if (data.data[0]) {
+						let list = [];
+						for (let i = 0; i < data.data.length; i++) {
+							list.push(data.data[i].deptName);
+						}
+						this.building = list;
+						this.buildingIndex = 0;
+						this.buildingList = data.data;
+						this.mySecuritySubjectList(this.buildingList[0].deptId);
+					} else {
+						this.building = ['暂无实验楼数据'];
+						this.buildingIndex = 0;
+						this.buildingList = [];
+						this.dataList = [];
+					}
+				}
+			},
+			//查询列表
+			async mySecuritySubjectList(deptId) {
+				let self = this;
+				let obj = {
+					deptId: deptId
+				}
+				const {
+					data
+				} = await mySecuritySubjectList(obj);
+				if (data.code == 200) {
+					if (data.data[0]) {
+						this.dataList = data.data;
+					} else {
+						this.dataList = [];
+					}
+				}
+			},
+			facultyChange(e) {
+				this.facultyIndex = e.target.value;
+				this.getDuildingList(this.facultyList[this.facultyIndex].deptId)
+			},
+			buildingChange(e) {
+				this.buildingIndex = e.target.value;
+				this.mySecuritySubjectList(this.buildingList[this.buildingIndex].deptId)
+			},
+			goAccessApplication(item) {
+				if (item.isApply) {
+					//已申请
 					return
-                    item.infoId = item.appId;
-                    uni.navigateTo({
-                        url:'/pages_student/accessApplication/applicationDetails?item='+encodeURIComponent(JSON.stringify(item))
-                    })
-                }else{
-                    //未申请
+					item.infoId = item.appId;
+					uni.navigateTo({
+						url: '/pages_student/accessApplication/applicationDetails?item=' + encodeURIComponent(JSON
+							.stringify(item))
+					})
+				} else {
+					//未申请
 					this.subjectMaterialList(item);
-                }
-            },
+				}
+			},
 			//查询实验室下的安全准入资格材料表
-			async subjectMaterialList(item){
-			    let obj = {
-			        subjectId:item.id
-			    }
-			    const {data} = await subjectMaterialList(obj)
-			    if(data.code == 200){
-					if(data.data[0]){
+			async subjectMaterialList(item) {
+				let obj = {
+					subjectId: item.id
+				}
+				const {
+					data
+				} = await subjectMaterialList(obj)
+				if (data.code == 200) {
+					if (data.data[0]) {
 						item.buildId = this.buildingList[this.buildingIndex].deptId;
 						item.deptId = this.facultyList[this.facultyIndex].deptId;
 						uni.navigateTo({
-						    url:'/pages_student/accessApplication/accessApplication?item='+encodeURIComponent(JSON.stringify(item))+'&list='+encodeURIComponent(JSON.stringify(data.data))
+							url: '/pages_student/accessApplication/accessApplication?item=' +
+								encodeURIComponent(JSON.stringify(item)) + '&list=' + encodeURIComponent(JSON
+									.stringify(data.data))
 						})
-					}else{
+					} else {
 						uni.showToast({
 							title: '该实验室未配置准入资格,无法申请~',
-							icon:"none",
-							mask:true,
+							icon: "none",
+							mask: true,
 							duration: 2000
 						});
 					}
-			    }
+				}
 			},
 
-        }
-    }
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #chooseALaboratory{
-        height:100%;
-        width:100%;
-        display flex
-        flex-direction column
-        .picker-box:nth-child(1){
-            border-bottom:1rpx solid #e0e0e0;
-        }
-        .picker-box:nth-child(2){
-            margin-bottom:40rpx;
-        }
-        .picker-box{
-            height:80rpx;
-            background: #fff
-            .picker-min-box{
-                display flex;
-                view:nth-child(1){
-                    flex:1;
-                    line-height 80rpx
-                    color:#333
-                    margin-left:20rpx;
-                }
-                view:nth-child(2){
-                    line-height 80rpx
-                    color:#CCCCCC
-                }
-                img{
-                    width:12rpx;
-                    height:24rpx;
-                    margin:28rpx 20rpx 0 28rpx;
-                }
-            }
-        }
-        .for-max-box{
-            flex:1;
-            overflow-y scroll
-            .bottom-null-view{
-                font-size:26rpx;
-                color:#999;
-                text-align: center
-                line-height:80rpx;
-            }
-            .for-box{
-                background #fff
-                display flex
-                border-bottom:1rpx solid #e0e0e0;
-                .left-box{
-                    flex:1;
-                    margin-left:20rpx;
-                    view:nth-child(1){
-                        line-height: 28rpx;
-                        font-size: 28rpx;
-                        color: #333333;
-                        margin:20rpx 0 0 0;
-                    }
-                    view:nth-child(2){
-                        line-height: 24rpx;
-                        font-size: 24rpx;
-                        color: #999;
-                        margin:25rpx 0 0 0;
-                    }
-                }
-                .right-p{
-                    line-height:120rpx;
-                    font-size:24;
-                    color: #999999;
-					margin-right:52rpx;
-                }
-                img{
-                    width:12rpx;
-                    height:24rpx;
-                    margin:48rpx 20rpx 48rpx 20rpx;
-                }
-                .colorA{
-                    color: #0183FA;
-					margin-right:0;
-                }
-            }
-        }
-    }
+	#chooseALaboratory {
+		height: 100%;
+		width: 100%;
+		display flex;
+		flex-direction column;
+
+		.picker-box:nth-child(1) {
+			border-bottom: 1rpx solid #e0e0e0;
+		}
+
+		.picker-box:nth-child(2) {
+			margin-bottom: 40rpx;
+		}
+
+		.picker-box {
+			height: 80rpx;
+
+			background: #fff;
+
+			.picker-min-box {
+				display flex;
+
+				view:nth-child(1) {
+					flex: 1;
+					line-height 80rpx;
+					color: #333;
+					margin-left: 20rpx;
+				}
+
+				view:nth-child(2) {
+					line-height 80rpx;
+					color: #CCCCCC;
+				}
+
+				img {
+					width: 12rpx;
+					height: 24rpx;
+					margin: 28rpx 20rpx 0 28rpx;
+				}
+			}
+		}
+
+		.for-max-box {
+			flex: 1;
+
+			overflow-y scroll;
+
+			.bottom-null-view {
+				font-size: 26rpx;
+				color: #999;
+				text-align: center;
+				line-height: 80rpx;
+			}
+
+			.for-box {
+				background #fff;
+				display flex;
+				border-bottom: 1rpx solid #e0e0e0;
+
+				.left-box {
+					flex: 1;
+					margin-left: 20rpx;
+
+					view:nth-child(1) {
+						line-height: 28rpx;
+						font-size: 28rpx;
+						color: #333333;
+						margin: 20rpx 0 0 0;
+					}
+
+					view:nth-child(2) {
+						line-height: 24rpx;
+						font-size: 24rpx;
+						color: #999;
+						margin: 25rpx 0 0 0;
+					}
+				}
+
+				.right-p {
+					line-height: 120rpx;
+					font-size: 24;
+					color: #999999;
+					margin-right: 52rpx;
+				}
+
+				img {
+					width: 12rpx;
+					height: 24rpx;
+					margin: 48rpx 20rpx 48rpx 20rpx;
+				}
+
+				.colorA {
+					color: #0183FA;
+					margin-right: 0;
+				}
+			}
+		}
+	}
 </style>

A diferenza do arquivo foi suprimida porque é demasiado grande
+ 734 - 727
pages_student/accessApplication/newApplication.vue


+ 0 - 1
pages_student/accessApplication/safeAccess.vue

@@ -20,7 +20,6 @@
 
 <script>
 	import { parseTime } from '@/component/public.js'
-    import { listapply } from '@/api/apiDemo/index.js'
     import { laboratoryAppletListApply } from '@/api/student/index.js'
     export default {
         data() {