dedsudiyu 2 months ago
parent
commit
90df13769d

+ 2 - 2
api/request/config.js

@@ -1,6 +1,6 @@
 const config = {
 	// base_url: 'http://192.168.1.43/api', //43服务器
-	// base_url: 'http://192.168.1.8/api',//1.8服务器
+	base_url: 'http://192.168.1.8/api',//1.8服务器
 	//base_url: 'http://192.168.1.9:8080',//柴
 	// base_url: 'http://192.168.1.24:8080',//林总
 	// base_url: 'http://192.168.1.7:8080',//刘波
@@ -20,7 +20,7 @@ const config = {
 	// base_url: 'https://lab.zjznai.com/api/', //暨大化材
 	// base_url: 'https://lab.zjznai.com/kdwclabSystem/', //矿大文昌地址
     //base_url: 'https://znyj.zjznai.suda.edu.cn/labSystem/', //苏大临时地址
-	base_url: 'https://labcontrol.nwafu.edu.cn/api/', //西北农林
+	// base_url: 'https://labcontrol.nwafu.edu.cn/api/', //西北农林
 	// base_url: 'http://172.16.0.65/api/', //西北农林
 	//base_url: 'https://lab.zjznai.com/labapp/', //43测试
 }

+ 33 - 10
pages.json

@@ -1,6 +1,5 @@
 {
-	"pages": [
-		{
+	"pages": [{
 			"path": "pages/views/home/home", //首页
 			"style": {
 				"navigationBarTitleText": "实验室安全智慧化管控系统",
@@ -10,13 +9,13 @@
 			}
 		},
 		{
-				"path": "pages/views/login/login", //登录
-				"style": {
-					"navigationBarTitleText": "",
-					"navigationBarTextStyle": "white", //导航文字颜色
-					"navigationStyle": "custom" //关闭原生导航
-				}
-			},
+			"path": "pages/views/login/login", //登录
+			"style": {
+				"navigationBarTitleText": "",
+				"navigationBarTextStyle": "white", //导航文字颜色
+				"navigationStyle": "custom" //关闭原生导航
+			}
+		},
 		{
 			"path": "pages/views/dataBoard/dataBoard",
 			"style": {
@@ -137,6 +136,30 @@
 			"root": "pages_basics", //分包根路径
 			"name": "basics", //分包名字可写可不写
 			"pages": [
+				{
+					"path": "views/forgotPassword/forgotPassword", //忘记密码
+					"style": {
+						"navigationBarTitleText": "忘记密码",
+						"navigationBarTextStyle": "white", //导航文字颜色
+						"navigationBarBackgroundColor": "#0183FA" //导航背景色
+					}
+				},
+				{
+					"path": "views/editPassword/editPassword", //忘记密码
+					"style": {
+						"navigationBarTitleText": "修改密码",
+						"navigationBarTextStyle": "white", //导航文字颜色
+						"navigationBarBackgroundColor": "#0183FA" //导航背景色
+					}
+				},
+				{
+					"path": "views/completeInformation/completeInformation", //忘记密码
+					"style": {
+						"navigationBarTitleText": "完善个人信息",
+						"navigationBarTextStyle": "white", //导航文字颜色
+						"navigationBarBackgroundColor": "#0183FA" //导航背景色
+					}
+				},
 				/* 设备管理和笼位管理页面 */
 				{
 					"path": "views/deviceCageSitePage",
@@ -1042,4 +1065,4 @@
 		"navigationBarTextStyle": "white", //导航文字颜色
 		"navigationBarBackgroundColor": "#0183FA" //导航背景色
 	}
-}
+}

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


+ 2 - 2
pages/views/information/notPassInfo.vue

@@ -29,10 +29,10 @@
 				<view>学号:</view>
 				<view>{{subjectData.sysUser.userName}}</view>
 			</view>
-			<view class="user-info-box-min">
+			<!-- <view class="user-info-box-min">
 				<view>物理卡号:</view>
 				<view>{{subjectData.sysUser.cardNum}}</view>
-			</view>
+			</view> -->
 			<view class="user-info-box-min" >
 				<view>班级:</view>
 				<view>{{subjectData.sysUser.grade}}</view>

+ 20 - 7
pages/views/login/login.vue

@@ -6,7 +6,7 @@
 			<view class="tabTitle">
 				<view class="tabTitle_li" @tap="tabClick(index)" :key="index" v-for="(item,index) in tabText">
 					<view :class="{on:curTab==index}" class="tabTitle_text">{{item}}</view>
-					<view :class="{on:curTab==index}" class="tabTitle_across"></view>
+					<!-- <view :class="{on:curTab==index}" class="tabTitle_across"></view> -->
 				</view>
 			</view>
 			<view class="input-max-box-one">
@@ -21,12 +21,13 @@
 					<input type="password" v-model="password" placeholder="请输入密码" maxlength="20">
 				</view>
 			</view>
-			<view class="check-box" @click="checkboxChange">
+			<view class="check-box" @click="checkboxChange()">
 				<img v-if="checkedType" src="@/pages/images/icon_13.png" />
 				<img v-if="!checkedType" src="@/pages/images/icon_12.png" />
 				<view>记住我</view>
 			</view>
-			<view class="button-box" @click="login">登录</view>
+			<view class="button-box" @click="login()">登录</view>
+			<view class="passwrod-button-box" @click="forgotPasswordButton()">忘记密码?</view>
 		</view>
 	</view>
 </template>
@@ -82,6 +83,12 @@
 			tabClick(index) {
 				this.curTab = index;
 			},
+			//跳转忘记密码
+			forgotPasswordButton(){
+				uni.navigateTo({
+					url: '/pages_basics/views/forgotPassword/forgotPassword',
+				});
+			},
 			//登录
 			async login() {
 				let self = this;
@@ -276,7 +283,7 @@
 		.login-box {
 			z-index: 3;
 			position: absolute;
-			top: 446rpx;
+			top: 430rpx;
 			left: 46rpx;
 			width: 658rpx;
 			height: 700rpx;
@@ -288,7 +295,7 @@
 				width: 100%;
 				height: 100rpx;
 				position: absolute;
-				top: 50rpx;
+				// top: 50rpx;
 				justify-content: center;
 
 				.tabTitle_li {
@@ -328,7 +335,7 @@
 
 			.input-max-box-one {
 				overflow: hidden;
-				margin-top: 68rpx;
+				// margin-top: 68rpx;
 
 				.input-box {
 					display flex;
@@ -426,7 +433,13 @@
 				text-align center;
 				margin: 0 auto 0;
 			}
-
+			.passwrod-button-box{
+				line-height:60rpx;
+				width:120rpx;
+				margin:20rpx 0 0 40rpx;
+				color:#333;
+				font-size:24rpx;
+			}
 			/* 供应商注册 */
 			.supplier {
 				display: flex;

+ 22 - 1
pages/views/pupilPage/pupilHome.vue

@@ -89,7 +89,7 @@
 		},
 		created() {},
 		mounted() {
-
+			this.passwrodTips();
 		},
 		methods: {
 			goPage(type) {
@@ -184,6 +184,27 @@
 					}
 				});
 			},
+			//初始密码修改提示
+			passwrodTips(){
+				uni.showModal({
+					title: '提示',
+					cancelColor: '#999999',
+					confirmColor: '#0183FA',
+					content: '为了保证信息安全,是否修改默认密码',
+					cancelText:'稍后修改',
+					confirmText:'修改密码',
+					success(res) {
+						if (res.confirm) {
+							console.log('确定')
+							uni.navigateTo({
+								url: '/pages_basics/views/editPassword/editPassword',
+							});
+						} else if (res.cancel) {
+							console.log('取消')
+						}
+					}
+				})
+			},
 		}
 	}
 </script>

+ 11 - 0
pages/views/pupilPage/pupilMine.vue

@@ -67,6 +67,12 @@
 				<view class="right-text-p" :class="signatureUrl?'color-D':''" >{{!signatureUrl?'未上传':'已上传'}}</view>
 				<img class="right-img" src="@/pages/images/newImage/icon_wd_gd@1x.png">
 			</view>
+			<view class="button-big-box" @click="editPasswordButton()">
+				<img class="left-img" src="@/pages/images/newImage/icon_wd_xgmm@1x.png">
+				<view class="left-text-p">修改密码</view>
+				<view class="right-text-p"></view>
+				<img class="right-img" src="@/pages/images/newImage/icon_wd_gd@1x.png">
+			</view>
 		</view>
 		<view class="null-flex-p"></view>
 		<view class="out-button" @click="clickOut">退出登录</view>
@@ -141,6 +147,11 @@
 					}
 				});
 			},
+			editPasswordButton(){
+				uni.navigateTo({
+					url: '/pages_basics/views/editPassword/editPassword',
+				});
+			},
 			goPage(type) {
 				if (!type) {
 					uni.showToast({

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

@@ -89,13 +89,6 @@
 	import {
 		config
 	} from '@/api/request/config.js'
-	import {
-		laboratoryList,
-		subject_class,
-		listDepartments,
-		mangerControl,
-		laboratoryInfo
-	} from '@/api/apiDemo/index.js'
 	import {
 		systemDeptDropList,
 		laboratoryClassTypeGetList,

+ 22 - 1
pages/views/teacherPage/teacherHome.vue

@@ -122,7 +122,7 @@
 			}
 		},
 		mounted() {
-			
+			this.passwrodTips();
 		},
 		methods: {
 			goHome() {
@@ -250,6 +250,27 @@
 					}
 				});
 			},
+			//初始密码修改提示
+			passwrodTips(){
+				uni.showModal({
+					title: '提示',
+					cancelColor: '#999999',
+					confirmColor: '#0183FA',
+					content: '为了保证信息安全,是否修改默认密码',
+					cancelText:'稍后修改',
+					confirmText:'修改密码',
+					success(res) {
+						if (res.confirm) {
+							console.log('确定')
+							uni.navigateTo({
+								url: '/pages_basics/views/editPassword/editPassword',
+							});
+						} else if (res.cancel) {
+							console.log('取消')
+						}
+					}
+				})
+			},
 		}
 	}
 </script>

+ 11 - 0
pages/views/teacherPage/teacherMine.vue

@@ -78,6 +78,12 @@
 				<view class="right-text-p" :class="signatureUrl?'color-D':''" >{{!signatureUrl?'未上传':'已上传'}}</view>
 				<img class="right-img" src="@/pages/images/newImage/icon_wd_gd@1x.png">
 			</view>
+			<view class="button-big-box" @click="editPasswordButton()">
+				<img class="left-img" src="@/pages/images/newImage/icon_wd_xgmm@1x.png">
+				<view class="left-text-p">修改密码</view>
+				<view class="right-text-p"></view>
+				<img class="right-img" src="@/pages/images/newImage/icon_wd_gd@1x.png">
+			</view>
 		</view>
 		<view class="null-flex-p"></view>
 		<view class="out-button" @click="clickOut">退出登录</view>
@@ -151,6 +157,11 @@
 					}
 				});
 			},
+			editPasswordButton(){
+				uni.navigateTo({
+					url: '/pages_basics/views/editPassword/editPassword',
+				});
+			},
 			goPage(type) {
 				if (!type) {
 					uni.showToast({

+ 426 - 0
pages_basics/views/completeInformation/completeInformation.vue

@@ -0,0 +1,426 @@
+<template>
+	<view id="completeInformation">
+		<view class="top-title-box-">
+			<view>个人信息</view>
+			<view>请完善个人信息</view>
+		</view>
+		<view class="bottom-input-max-box">
+			<view class="text-max-box">
+				<view class="text-top-box">
+					<view>*</view>
+					<view>姓名</view>
+				</view>
+				<view class="text-bottom-p">{{newData.data1}}</view>
+			</view>
+			<view class="text-max-box">
+				<view class="text-top-box">
+					<view>*</view>
+					<view>学号</view>
+				</view>
+				<view class="text-bottom-p">{{newData.data2}}</view>
+			</view>
+			<view class="text-max-box">
+				<view class="text-top-box">
+					<view>*</view>
+					<view>所在学院</view>
+				</view>
+				<view class="text-bottom-p">{{newData.data3}}</view>
+			</view>
+			<view class="text-max-box">
+				<view class="text-top-box">
+					<view>*</view>
+					<view>专业</view>
+				</view>
+				<view class="text-bottom-p">{{newData.data4}}</view>
+			</view>
+			<view class="input-max-box">
+				<view class="input-top-box">
+					<view>*</view>
+					<view>手机号</view>
+				</view>
+				<input class="input-top-p" v-model="form.phone" maxlength="11" focus placeholder="请输入手机号码">
+			</view>
+			<view class="button-max-box">
+				<view class="button-top-box">
+					<view>*</view>
+					<view>导师</view>
+				</view>
+				<input class="button-bottom-p" :disabled="true" v-model="form.supervisorName" 
+				maxlength="30" focus placeholder="请选择导师" @click="userButton()">
+			</view>
+			<view class="bottom-button-p" @click="submitButton()">确定</view>
+		</view>
+		<view class="shade-max-big-box" v-if="userShowType">
+			<view class="null-back-box" @click="userButton()"></view>
+			<view class="shade-big-box">
+				<view class="shade-top-box">
+					<view class="shade-top-left-box">
+						<uni-icons type="search" class="icon-view" size="20" color="#999999"></uni-icons>
+						<input class="input-top-p" v-model="getData.searchValue" maxlength="10" focus placeholder="请输入导师">
+					</view>
+					<view class="shade-top-right-button" @click="searchButton()">搜索</view>
+				</view>
+				<scroll-view scroll-y @scrolltolower="scrollGet" class="shade-bottom-box">
+					<view @click="checkUser(item,index)"
+					class="for-user-box" :class="checkUserIndex==index?'check-user':''"
+					v-for="(item,index) in dataList" :key="index">
+						<view>{{item.name}}{{item.num?'('+item.num+')':''}}</view>
+						<view>{{item.deptName}}</view>
+					</view>
+					<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
+					<view class="get-data-null-p" v-else="getDataType">- 滑动加载更多 -</view>
+				</scroll-view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		systemSubjectGetAppSubject,
+	} from '@/pages_manage/api/index.js'
+	export default {
+		data() {
+			return {
+				newData:{
+					data1:"刘晓明",
+					data2:"2024060236",
+					data3:"园艺学院",
+					data4:"茶艺",
+				},
+				form:{
+					phone:"",
+					supervisorName:"",
+					supervisorId:"",
+				},
+				userShowType:false,
+				checkUserIndex:null,
+				//查询
+				getData: {
+					page: 1,
+					pageSize: 20,
+					searchValue: '',
+				},
+				getDataType: false,
+				total: 0,
+				//教师查询列表
+				dataList:[
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+					{name:"一二三四五",num:"01234567890123456789",deptName:"学院名称五六七八九十",},
+				],
+			}
+		},
+		onLoad(option) {
+			
+		},
+		onShow() {
+			// this.systemSubjectGetAppSubject();
+		},
+		methods: {
+			//提交
+			submitButton(){
+				const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
+				if(!this.form.phone){
+					uni.showToast({
+						title: '请输入手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if (!reg.test(this.form.phone)) {
+					uni.showToast({
+						title: '请输入正确的手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}
+				if(!this.form.supervisorName){
+					uni.showToast({
+						title: '请选择导师',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}
+				uni.showModal({
+					title: '确认提交?',
+					cancelColor: '#999999',
+					confirmColor: '#0183FA',
+					content: '',
+					success(res) {
+						if (res.confirm) {
+							console.log('确定')
+						} else if (res.cancel) {
+							console.log('取消')
+						}
+					}
+				})
+			},
+			//搜索按钮
+			searchButton(){
+				this.$set(this, 'getDataType', false);
+				this.$set(this, 'dataList', []);
+				this.$set(this, 'total', 0);
+				this.$set(this.getData, 'page', 1);
+				this.systemSubjectGetAppSubject();
+			},
+			//教师弹窗开关啊
+			userButton(type){
+				this.$set(this,'userShowType',!this.userShowType);
+			},
+			//选中教师
+			checkUser(item,index){
+				this.$set(this.form,'supervisorName',item.name);
+				this.$set(this.form,'supervisorId',item.num);
+				this.$set(this,'checkUserIndex',index);
+				this.$set(this,'userShowType',false);
+			},
+			//滚动加载事件
+			scrollGet() {
+				let self = this;
+				if (self.total / self.getData.pageSize <= self.getData.page) {
+					this.$set(this, 'getDataType', true);
+				} else {
+					this.getData.page += 1;
+					this.$nextTick(() => {
+						this.systemSubjectGetAppSubject();
+					})
+				}
+			},
+			//获取实验室
+			async systemSubjectGetAppSubject() {
+				let self = this;
+				const {
+					data
+				} = await systemSubjectGetAppSubject(this.getData);
+				if (data.code == 200) {
+					if (self.getData.page == 1) {
+						this.dataList = data.data.records;
+						this.total = data.data.total;
+						if (data.data.total / self.getData.pageSize <= self.getData.page) {
+							this.$set(this, 'getDataType', true);
+						}
+					} else {
+						this.dataList = [...this.dataList, ...data.data.records]
+						this.total = data.data.total;
+						if (data.data.total / self.getData.pageSize <= self.getData.page) {
+							this.$set(this, 'getDataType', true);
+						}
+					}
+				}
+			},
+		},
+	}
+</script>
+
+
+<style lang="stylus" scoped>
+	#completeInformation {
+		height:100%;
+		display: flex;
+		flex-direction: column;
+		overflow: hidden;
+		.top-title-box-{
+			height:110rpx;
+			display: flex;
+			background-color: #FFFFFF;
+			margin-bottom:20rpx;
+			view:nth-child(1){
+				line-height:100rpx;
+				font-size:34rpx;
+				margin:0 45rpx 0 32rpx;
+				color:#333;
+				font-weight:700;
+			}
+			view:nth-child(2){
+				line-height:100rpx;
+				font-size:30rpx;
+				color:#999999;
+			}
+		}
+		.bottom-input-max-box{
+			flex:1;
+			overflow-x: hidden;
+			overflow-y: scroll; 
+			background-color: #FFFFFF;
+			.text-max-box{
+				.text-top-box{
+					display: flex;
+					margin-left:32rpx;
+					view{
+						font-size:30rpx;
+						line-height: 100rpx;
+					}
+					view:nth-child(1){
+						color:#FF0000;
+					}
+					view:nth-child(2){
+						color:#333;
+					}
+				}
+				.text-bottom-p{
+					margin-left:32rpx;
+					width: 630rpx;
+					line-height: 100rpx;
+					background: #F5F5F5;
+					border-radius: 10rpx 10rpx 10rpx 10rpx;
+					padding:0 30rpx;
+				}
+			}
+			.input-max-box{
+				.input-top-box{
+					display: flex;
+					margin-left:32rpx;
+					view{
+						font-size:30rpx;
+						line-height: 100rpx;
+					}
+					view:nth-child(1){
+						color:#FF0000;
+					}
+					view:nth-child(2){
+						color:#333;
+					}
+				}
+				.input-top-p{
+					margin-left:34rpx;
+					width: 630rpx;
+					height: 100rpx;
+					padding:0 30rpx;
+					border-radius: 10rpx 10rpx 10rpx 10rpx;
+					border: 1rpx solid #E0E0E0;
+				}
+			}
+			.button-max-box{
+				.button-top-box{
+					display: flex;
+					margin-left:32rpx;
+					view{
+						font-size:30rpx;
+						line-height: 100rpx;
+					}
+					view:nth-child(1){
+						color:#FF0000;
+					}
+					view:nth-child(2){
+						color:#333;
+					}
+				}
+				.button-bottom-p{
+					margin-left:34rpx;
+					width: 630rpx;
+					height: 100rpx;
+					padding:0 30rpx;
+					border-radius: 10rpx 10rpx 10rpx 10rpx;
+					border: 1rpx solid #E0E0E0;
+				}
+			}
+			.bottom-button-p{
+				margin:40rpx 34rpx;
+				background-color: #0183FA;
+				line-height:100rpx;
+				text-align: center;
+				color:#fff;
+				font-size:30rpx;
+				border-radius:50rpx;
+			}
+		}
+		.shade-max-big-box{
+			position: fixed;
+			height:100%;
+			width:100%;
+			background-color: rgba(0,0,0,0.5);
+			z-index:1;
+			display: flex;
+			flex-direction: column;
+			overflow: hidden;
+			.null-back-box{
+				height:20%;
+			}
+			.shade-big-box{
+				flex:1;
+				display: flex;
+				flex-direction: column;
+				background-color: #fff;
+				border-top-left-radius:20rpx;
+				border-top-right-radius:20rpx;
+				overflow: hidden;
+				z-index:10;
+				.shade-top-box{
+					height:122rpx;
+					border-bottom:1px solid #dedede;
+					display: flex;
+					.shade-top-left-box{
+						display: flex;
+						border-radius: 50rpx 50rpx 50rpx 50rpx;
+						border: 1rpx solid #E0E0E0;
+						height:80rpx;
+						margin:20rpx 0 0 30rpx;
+						width:580rpx;
+						.icon-view{
+							margin:20rpx 21rpx 0 18rpx;
+							color:#999999;
+						}
+						.input-top-p{
+							line-height:80rpx;
+							height:80rpx;
+							width:500rpx;
+						}
+					}
+					.shade-top-right-button{
+						width:120rpx;
+						text-align: center;
+						line-height:80rpx;
+						margin:20rpx 0;
+						color:#0183FA;
+						font-size:28rpx;
+					}
+				}
+				.shade-bottom-box{
+					flex:1;
+					overflow-x: hidden;
+					overflow-y: scroll;
+					.for-user-box:nth-child(1){
+						border:none;
+					}
+					.for-user-box{
+						border-top:1px solid #e0e0e0;
+						margin:0 30rpx;
+						padding:20rpx 0;
+						view{
+							font-size:28rpx;
+							line-height:39rpx;
+						}
+						view:nth-child(1){
+							margin-bottom:19rpx;
+						}
+					}
+					.check-user{
+						color:#0183FA;
+					}
+					.get-data-null-p {
+						text-align: center;
+						line-height: 100rpx;
+						padding-bottom: 80px;
+						color: #999;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 276 - 0
pages_basics/views/editPassword/editPassword.vue

@@ -0,0 +1,276 @@
+<!-- 修改密码 -->
+<template>
+	<view id="editPassword">
+		<view class="page-title">修改密码</view>
+		<view class="input-disabled-box">
+			<view>手机号</view>
+			<view>{{form.data1}}</view>
+		</view>
+		<view class="input-max-box">
+			<view>学/工号</view>
+			<input v-model="form.data2" maxlength="30" focus placeholder="请输入学/工号"/>
+		</view>
+		<view class="input-button-max-box">
+			<view>手机验证码</view>
+			<view class="input-button-box">
+				<input maxlength="6" v-model="form.data3" focus placeholder="请输入手机验证码"/>
+				<view @click="getCode()"
+				:class="codeType?'checkButton':'noCheckButton'">
+					{{codeType?seconds+'秒后重试':'获取验证码'}}
+				</view>
+			</view>
+		</view>
+		<view class="input-max-box">
+			<view>新密码</view>
+			<input type="password" maxlength="16" v-model="form.data4" focus placeholder="请输入新密码"/>
+		</view>
+		<view class="input-max-box">
+			<view>确认新密码</view>
+			<input type="password" maxlength="16" v-model="form.data5" focus placeholder="请再次输入确认密码"/>
+		</view>
+		<view class="bottom-button-box">
+			<view @click="outButton()">稍后修改</view>
+			<view @click="submitButton()">确定修改</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				form:{
+					data1:"13333333333",
+				},
+				codeType:false,
+				seconds:0,
+				timer:null,
+			}
+		},
+
+		onLoad(option) {
+			
+		},
+		onShow() {
+			
+		},
+		methods: {
+			//返回上级页面
+			outButton(){
+				uni.navigateBack();
+			},
+			//获取验证码
+			getCode(){
+				let self = this;
+				const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
+				if(this.codeType){
+					uni.showToast({
+						title: '请稍后再试',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}
+				const TIME_COUNT = 60;
+				this.$set(this,'codeType',true);
+				if (!this.timer) {
+					this.$set(this,'seconds',TIME_COUNT);
+					this.timer = setInterval(() => {
+						if (this.seconds > 1 && this.seconds <= TIME_COUNT) {
+							this.seconds -= 1;
+						} else {
+							this.$set(this,'codeType',false);
+							clearInterval(this.timer);
+							this.$set(this,'timer',null);
+						}
+					}, 1000);
+				}
+			},
+			//提交
+			submitButton(){
+				const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
+				const password = /^(?=(?:.*[A-Z]){1})(?=(?:.*[a-z]){1})(?=(?:.*[0-9]){1})(?=(?:.*[!@#*?&]){1})(?!(.)\1)(.{10,16})$/
+				if(!this.form.data1){
+					uni.showToast({
+						title: '请输入手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if (!reg.test(this.form.data1)) {
+					uni.showToast({
+						title: '请输入正确的手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data2){
+					uni.showToast({
+						title: '请输入学/工号',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data3){
+					uni.showToast({
+						title: '请输入手机验证码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data4){
+					uni.showToast({
+						title: '请输入新密码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data5){
+					uni.showToast({
+						title: '请再次输入确认密码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(this.form.data4!=this.form.data5){
+					uni.showToast({
+						title: '新密码与确认新密码不一致',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!password.test(this.form.data4)||!password.test(this.form.data5)){
+					uni.showToast({
+						title: '密码长度最少10位 最多16位,必须同时包含一个大写字母、一个小写字母、一个数字和一个特殊字符!@#*?&',
+						icon: "none",
+						duration: 5000
+					});
+					return
+				}
+				uni.showModal({
+					title: '确认提交?',
+					cancelColor: '#999999',
+					confirmColor: '#0183FA',
+					content: '',
+					success(res) {
+						if (res.confirm) {
+							console.log('确定')
+						} else if (res.cancel) {
+							console.log('取消')
+						}
+					}
+				})
+			},
+		},
+
+	}
+</script>
+
+
+<style lang="stylus" scoped>
+	#editPassword {
+		height:100%;
+		display: flex;
+		flex-direction: column;
+		flex:1;
+		background-color: #FFFFFF;
+		overflow-y: scroll;
+		overflow-x: hidden;
+		.page-title{
+			line-height:120rpx;
+			font-weight: 700;
+			font-size: 34rpx;
+			margin-left:30rpx;
+		}
+		.input-disabled-box{
+			padding:0 30rpx;
+			view:nth-child(1){
+				line-height: 80rpx;
+				font-size:30rpx;
+				font-weight:700;
+			}
+			view:nth-child(2){
+				font-size:30rpx;
+				width:630rpx;
+				height:100rpx;
+				line-height:100rpx;
+				border-radius:10rpx;
+				background-color: #F5F5F5;
+				color:#666;
+				padding:0 30rpx;
+			}
+		}
+		.input-max-box{
+			padding:0 30rpx;
+			view{
+				line-height: 80rpx;
+				font-size:30rpx;
+				font-weight:700;
+			}
+			input{
+				width:630rpx;
+				height:100rpx;
+				line-height:100rpx;
+				border-radius:10rpx;
+				border:1px solid #D8D8D8;
+				padding:0 30rpx;
+			}
+		}
+		.input-button-max-box{
+			padding:0 30rpx;
+			view:nth-child(1){
+				line-height: 80rpx;
+				font-size:30rpx;
+				font-weight:700;
+			}
+			.input-button-box{
+				display: flex;
+				input{
+					width:412rpx;
+					height:100rpx;
+					line-height:100rpx;
+					border-radius:10rpx;
+					border:1px solid #D8D8D8;
+					padding:0 30rpx;
+					margin-right:18rpx;
+				}
+				view{
+					width:200rpx;
+					line-height:100rpx;
+					text-align: center;
+					font-size:30rpx;
+					border-radius:10rpx;
+				}
+				.checkButton{
+					color:#333;
+					background-color: #E8E8E8;
+				}
+				.noCheckButton{
+					color:#fff;
+					background-color: #0183FA;
+				}
+			}
+		}
+		.bottom-button-box{
+			display: flex;
+			margin:43rpx 0;
+			view{
+				font-size:30rpx;
+				line-height:100rpx;
+				text-align: center;
+			}
+			view:nth-child(1){
+				width:220rpx;
+				margin:0 33rpx 0 30rpx;
+				border-radius: 50rpx 50rpx 50rpx 50rpx;
+				border: 1rpx solid #E0E0E0;
+			}
+			view:nth-child(2){
+				width:437rpx;
+				color:#fff;
+				background: #0183FA;
+				border-radius: 50rpx 50rpx 50rpx 50rpx;
+			}
+		}
+	}
+</style>

+ 272 - 0
pages_basics/views/forgotPassword/forgotPassword.vue

@@ -0,0 +1,272 @@
+<!-- 忘记密码 -->
+<template>
+	<view id="forgotPassword">
+		<view class="page-title">忘记密码</view>
+		<view class="input-max-box">
+			<view>手机号</view>
+			<input v-model="form.data1" maxlength="11" focus placeholder="请输入手机号码"/>
+		</view>
+		<view class="input-max-box">
+			<view>学/工号</view>
+			<input v-model="form.data2" maxlength="30" focus placeholder="请输入学/工号"/>
+		</view>
+		<view class="input-button-max-box">
+			<view>手机验证码</view>
+			<view class="input-button-box">
+				<input maxlength="6" v-model="form.data3" focus placeholder="请输入手机验证码"/>
+				<view @click="getCode()"
+				:class="codeType?'checkButton':'noCheckButton'">
+					{{codeType?seconds+'秒后重试':'获取验证码'}}
+				</view>
+			</view>
+		</view>
+		<view class="input-max-box">
+			<view>新密码</view>
+			<input type="password" maxlength="16" v-model="form.data4" focus placeholder="请输入新密码"/>
+		</view>
+		<view class="input-max-box">
+			<view>确认新密码</view>
+			<input type="password" maxlength="16" v-model="form.data5" focus placeholder="请再次输入确认密码"/>
+		</view>
+		<view class="bottom-button-box">
+			<view @click="outButton()">稍后修改</view>
+			<view @click="submitButton()">确定修改</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				form:{
+					phone:"",
+				},
+				codeType:false,
+				seconds:0,
+				timer:null,
+			}
+		},
+
+		onLoad(option) {
+			
+		},
+		onShow() {
+			
+		},
+		methods: {
+			//返回上级页面
+			outButton(){
+				uni.navigateBack();
+			},
+			//获取验证码
+			getCode(){
+				let self = this;
+				const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
+				if(this.codeType){
+					uni.showToast({
+						title: '请稍后再试',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data1){
+					uni.showToast({
+						title: '请输入手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if (!reg.test(this.form.data1)) {
+					uni.showToast({
+						title: '请输入正确的手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}
+				const TIME_COUNT = 60;
+				this.$set(this,'codeType',true);
+				if (!this.timer) {
+					this.$set(this,'seconds',TIME_COUNT);
+					this.timer = setInterval(() => {
+						if (this.seconds > 1 && this.seconds <= TIME_COUNT) {
+							this.seconds -= 1;
+						} else {
+							this.$set(this,'codeType',false);
+							clearInterval(this.timer);
+							this.$set(this,'timer',null);
+						}
+					}, 1000);
+				}
+			},
+			//提交
+			submitButton(){
+				const reg = /^1[3|4|5|7|8|9][0-9]\d{8}$/
+				const password = /^(?=(?:.*[A-Z]){1})(?=(?:.*[a-z]){1})(?=(?:.*[0-9]){1})(?=(?:.*[!@#*?&]){1})(?!(.)\1)(.{10,16})$/
+				if(!this.form.data1){
+					uni.showToast({
+						title: '请输入手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if (!reg.test(this.form.data1)) {
+					uni.showToast({
+						title: '请输入正确的手机号码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data2){
+					uni.showToast({
+						title: '请输入学/工号',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data3){
+					uni.showToast({
+						title: '请输入手机验证码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data4){
+					uni.showToast({
+						title: '请输入新密码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!this.form.data5){
+					uni.showToast({
+						title: '请再次输入确认密码',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(this.form.data4!=this.form.data5){
+					uni.showToast({
+						title: '新密码与确认新密码不一致',
+						icon: "none",
+						duration: 3000
+					});
+					return
+				}else if(!password.test(this.form.data4)||!password.test(this.form.data5)){
+					uni.showToast({
+						title: '密码长度最少10位 最多16位,必须同时包含一个大写字母、一个小写字母、一个数字和一个特殊字符!@#*?&',
+						icon: "none",
+						duration: 5000
+					});
+					return
+				}
+				uni.showModal({
+					title: '确认提交?',
+					cancelColor: '#999999',
+					confirmColor: '#0183FA',
+					content: '',
+					success(res) {
+						if (res.confirm) {
+							console.log('确定')
+						} else if (res.cancel) {
+							console.log('取消')
+						}
+					}
+				})
+			},
+		},
+
+	}
+</script>
+
+
+<style lang="stylus" scoped>
+	#forgotPassword {
+		height:100%;
+		display: flex;
+		flex-direction: column;
+		flex:1;
+		background-color: #FFFFFF;
+		overflow-y: scroll;
+		overflow-x: hidden;
+		.page-title{
+			line-height:120rpx;
+			font-weight: 700;
+			font-size: 34rpx;
+			margin-left:30rpx;
+		}
+		.input-max-box{
+			padding:0 30rpx;
+			view{
+				line-height: 80rpx;
+				font-size:30rpx;
+				font-weight:700;
+			}
+			input{
+				width:630rpx;
+				height:100rpx;
+				line-height:100rpx;
+				border-radius:10rpx;
+				border:1px solid #D8D8D8;
+				padding:0 30rpx;
+			}
+		}
+		.input-button-max-box{
+			padding:0 30rpx;
+			view:nth-child(1){
+				line-height: 80rpx;
+				font-size:30rpx;
+				font-weight:700;
+			}
+			.input-button-box{
+				display: flex;
+				input{
+					width:412rpx;
+					height:100rpx;
+					line-height:100rpx;
+					border-radius:10rpx;
+					border:1px solid #D8D8D8;
+					padding:0 30rpx;
+					margin-right:18rpx;
+				}
+				view{
+					width:200rpx;
+					line-height:100rpx;
+					text-align: center;
+					font-size:30rpx;
+					border-radius:10rpx;
+				}
+				.checkButton{
+					color:#333;
+					background-color: #E8E8E8;
+				}
+				.noCheckButton{
+					color:#fff;
+					background-color: #0183FA;
+				}
+			}
+		}
+		.bottom-button-box{
+			display: flex;
+			margin:43rpx 0;
+			view{
+				font-size:30rpx;
+				line-height:100rpx;
+				text-align: center;
+			}
+			view:nth-child(1){
+				width:220rpx;
+				margin:0 33rpx 0 30rpx;
+				border-radius: 50rpx 50rpx 50rpx 50rpx;
+				border: 1rpx solid #E0E0E0;
+			}
+			view:nth-child(2){
+				width:437rpx;
+				color:#fff;
+				background: #0183FA;
+				border-radius: 50rpx 50rpx 50rpx 50rpx;
+			}
+		}
+	}
+</style>

+ 2 - 2
pages_manage/views/accessQualification/accessQualificationInfo.vue

@@ -35,10 +35,10 @@
 				<view>学号:</view>
 				<view>{{newData.sysUser.account}}</view>
 			</view>
-			<view class="user-info-box-min">
+			<!-- <view class="user-info-box-min">
 				<view>物理卡号:</view>
 				<view>{{newData.sysUser.cardNum}}</view>
-			</view>
+			</view> -->
 			<view class="user-info-box-min">
 				<view>班级:</view>
 				<view>{{newData.sysUser.gradeName}}</view>

+ 4 - 4
pages_student/views/accessApplication/applicationDetails.vue

@@ -6,7 +6,7 @@
 				<view>实验室:</view>
 				<view>{{subjectData.labSecurityApply.subName}}</view>
 			</view>
-			<view class="user-info-box-min">
+			<view class="user-info-box-min" style="flex-direction: column;">
 				<view>申请时限:</view>
 				<view>{{subjectData.labSecurityApply.validBeginTime}}至{{subjectData.labSecurityApply.validEndTime}}
 				</view>
@@ -32,10 +32,10 @@
 				<view>学号:</view>
 				<view>{{subjectData.sysUser.account}}</view>
 			</view>
-			<view class="user-info-box-min">
+			<!-- <view class="user-info-box-min">
 				<view>物理卡号:</view>
 				<view>{{subjectData.sysUser.cardNum}}</view>
-			</view>
+			</view> -->
 			<view class="user-info-box-min">
 				<view>班级:</view>
 				<view>{{subjectData.sysUser.gradeName}}</view>
@@ -197,7 +197,7 @@
 								}
 							}
 							data.data.listTemp[i].upList = maxList;
-							console.log('maxList[0].url', 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))));
 						}
 					}

+ 30 - 22
pages_student/views/accessApplication/newApplication.vue

@@ -57,11 +57,11 @@
 					<view>学号:</view>
 					<input v-model="sysUser.account" type="text" placeholder="学号">
 				</view>
-				<view class="user-info-box-min">
+				<!-- <view class="user-info-box-min">
 					<view>*</view>
 					<view>物理卡号:</view>
 					<input v-model="sysUser.cardNumSimple" type="text" placeholder="物理卡号">
-				</view>
+				</view> -->
 				<view class="user-info-box-min">
 					<view>*</view>
 					<view>班级:</view>
@@ -164,7 +164,7 @@
 		data() {
 			return {
 				baseUrl: config.base_url,
-				pageType: 1,
+				pageType: 2,
 				shadeType: false,
 				//有效期
 				buttonArray2: [],
@@ -201,15 +201,16 @@
 				let newObj = {
 					deptId: newItem.labSecurityApply.deptId,
 					deptName: newItem.labSecurityApply.deptName,
-					id: newItem.labSecurityApply.subjectId,
-					name: newItem.labSecurityApply.subjectName,
+					subId: newItem.labSecurityApply.subId,
+					subName: newItem.labSecurityApply.subName,
 				}
-				this.validBeginTime = newItem.labSecurityApply.validBeginTime; //申请期限开始时间
-				this.validEndTime = newItem.labSecurityApply.validEndTime; //申请期限结束时间
-				this.applyCause = newItem.labSecurityApply.applyCause; //申请备注
+				this.$set(this, 'validBeginTime', newItem.labSecurityApply.validBeginTime.split(' ')[0])
+				this.$set(this, 'validEndTime', newItem.labSecurityApply.validEndTime.split(' ')[0])
+				this.$set(this, 'applyCause', newItem.labSecurityApply.applyCause)
 				this.$set(this, 'subject', newObj)
 				this.$set(this, 'infoData', newItem)
-				this.infoType = true;
+				this.$set(this, 'infoType', true)
+				this.$set(this, 'pageType', 2)
 				this.materialApply();
 			}
 		},
@@ -218,8 +219,8 @@
 			this.addTime();
 			this.clearData();
 			this.currentDate = this.getdate();
-			console.log('时间')
-			console.log(this.currentDate)
+			// console.log('时间')
+			// console.log(this.currentDate)
 
 		},
 		methods: {
@@ -290,7 +291,14 @@
 				this.validEndTime = data.detail.value;
 			},
 			pageBack() {
-				uni.navigateBack();
+				
+				if (this.infoType) {
+					uni.navigateBack({
+						delta: 2
+					});
+				}else{
+					uni.navigateBack();
+				}
 			},
 			//申请编辑
 			async materialUpdate(obj) {
@@ -367,15 +375,15 @@
 					});
 					return
 				}
-				if (!this.sysUser.cardNumSimple) {
-					uni.showToast({
-						title: '请输入物理卡号',
-						icon: "none",
-						mask: true,
-						duration: 2000
-					});
-					return
-				}
+				// if (!this.sysUser.cardNumSimple) {
+				// 	uni.showToast({
+				// 		title: '请输入物理卡号',
+				// 		icon: "none",
+				// 		mask: true,
+				// 		duration: 2000
+				// 	});
+				// 	return
+				// }
 				if (!this.sysUser.gradeName) {
 					uni.showToast({
 						title: '请输入班级',
@@ -449,7 +457,7 @@
 					}
 				}
 				if (this.infoType) {
-					obj.id = this.infoData.labSecurityApply.id;
+					obj.applyId = this.infoData.labSecurityApply.applyId;
 					this.materialUpdate(obj);
 				} else {
 					this.materialAdd(obj);

+ 175 - 148
pages_student/views/accessApplication/safeAccess.vue

@@ -1,187 +1,214 @@
 <!-- 安全准入 -->
 <template>
-    <view id="safeAccess">
-        <scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
+	<view id="safeAccess">
+		<scroll-view scroll-y @scrolltolower="scrollGet" class="info-max-box">
 			<view class="for-box" v-for="(item,index) in dataList" :key="index" @click="goInfoPage(item)">
 				<view class="name-box">
-					<view :class="item.auditStatus==0?'typeColor1':(item.auditStatus==1?'typeColor2':(item.auditStatus==2?'typeColor3':''))">{{item.auditStatus==0?'待审核':(item.auditStatus==1?'未通过':(item.auditStatus==2?'已通过':''))}}</view>
+					<view
+						:class="item.auditStatus==0?'typeColor1':(item.auditStatus==1?'typeColor2':(item.auditStatus==2?'typeColor3':''))">
+						{{item.auditStatus==0?'待审核':(item.auditStatus==1?'未通过':(item.auditStatus==2?'已通过':''))}}
+					</view>
 					<view>{{item.subName}}准入申请</view>
 				</view>
 				<view class="time-box">
 					<view></view>
-					<view>{{item.auditStatus==0?'申请时间:' + item.creatTime:(item.auditStatus==1?'审核未通过时间:' + item.rejectTime:(item.auditStatus==2?'有效期:' + item.auditTime + ' 至 ' + item.validEndTime:''))}}</view>
+					<view>
+						{{item.auditStatus==0?'申请时间:' + item.creatTime:(item.auditStatus==1?'审核未通过时间:' + item.rejectTime:(item.auditStatus==2?'有效期:' + item.auditTime + ' 至 ' + item.validEndTime:''))}}
+					</view>
 				</view>
 			</view>
-            <view class="get-null-box" v-if="getData.nullDataType">暂无更多数据</view>
-        </scroll-view>
-        <view class="bottom-button-box" @click="goChooseALaboratory">准入申请</view>
-    </view>
+			<view class="get-null-box" v-if="getData.nullDataType">暂无更多数据</view>
+		</scroll-view>
+		<view class="bottom-button-box" @click="goChooseALaboratory">准入申请</view>
+	</view>
 </template>
 
 <script>
-	import { parseTime } from '@/component/public.js'
-    import { laboratoryAppletListApply } from '@/pages_student/api/index.js'
-    export default {
-        data() {
-            return {
+	import {
+		parseTime
+	} from '@/component/public.js'
+	import {
+		laboratoryAppletListApply
+	} from '@/pages_student/api/index.js'
+	export default {
+		data() {
+			return {
 				//列表请求参数
 				queryParams: {
-				  page: 1,
-				  pageSize: 20,
+					page: 1,
+					pageSize: 20,
 				},
-				total:0,
-				dataList:[],
-            }
-        },
-        onLoad() {
-
-        },
-        onShow(){
-            this.clearData();
-            this.getList();
-        },
-        methods: {
-            //清除
-            clearData(){
-            	this.dataList = [];
-            	this.queryParams.page = 1;
-            },
-            //去准入详情
-            goInfoPage(item){
-                item.infoId = item.id;
-                uni.navigateTo({
-                    url:'/pages_student/views/accessApplication/applicationDetails?item='+encodeURIComponent(JSON.stringify(item))
-                })
-            },
-            //去选择实验室
-            goChooseALaboratory(){
+				total: 0,
+				dataList: [],
+			}
+		},
+		onLoad() {
+
+		},
+		onShow() {
+			this.clearData();
+			this.getList();
+		},
+		methods: {
+			//清除
+			clearData() {
+				this.dataList = [];
+				this.queryParams.page = 1;
+			},
+			//去准入详情
+			goInfoPage(item) {
+				item.infoId = item.id;
+				uni.navigateTo({
+					url: '/pages_student/views/accessApplication/applicationDetails?item=' + encodeURIComponent(JSON.stringify(
+						item))
+				})
+			},
+			//去选择实验室
+			goChooseALaboratory() {
 				uni.navigateTo({
-				    url:'/pages_student/views/accessApplication/newApplication'
+					url: '/pages_student/views/accessApplication/newApplication'
 				})
-            },
-            //滚动事件
-            scrollGet(){
-				let self=this;
-				if(self.total/self.queryParams.pageSize<=self.queryParams.page){
+			},
+			//滚动事件
+			scrollGet() {
+				let self = this;
+				if (self.total / self.queryParams.pageSize <= self.queryParams.page) {
 					console.log('没有更多数据!')
-				}else{
-					setTimeout(function(){
+				} else {
+					setTimeout(function() {
 						self.queryParams.page += 1;
 						self.getList();
-					},1000)
-				
+					}, 1000)
+
+				}
+
+			},
+			//获取列表数据
+			async getList() {
+				let self = this;
+				this.$set(this.queryParams, 'auditStatus', this.auditStatus)
+				const {
+					data
+				} = await laboratoryAppletListApply(this.queryParams);
+				if (data.code == 200) {
+					//通过forEach循环数组
+					data.data.records.forEach((item, i) => {
+						item.auditTime = parseTime(item.auditTime, "{y}-{m}-{d}")
+						item.validEndTime = parseTime(item.validEndTime, "{y}-{m}-{d}")
+						item.rejectTime = parseTime(item.rejectTime, "{y}-{m}-{d}")
+					})
+					this.dataList = [...this.dataList, ...data.data.records]
+					this.total = data.data.total;
 				}
-            	
-            },
-            //获取列表数据
-            async getList(){
-                let self = this;
-            	this.$set(this.queryParams,'auditStatus',this.auditStatus)
-                const {data} = await laboratoryAppletListApply(this.queryParams);
-                if(data.code==200){
-            		//通过forEach循环数组
-            		data.data.records.forEach((item, i) => {
-            			item.auditTime=parseTime(item.auditTime,"{y}-{m}-{d}")
-            			item.validEndTime=parseTime(item.validEndTime,"{y}-{m}-{d}")
-            			item.rejectTime=parseTime(item.rejectTime,"{y}-{m}-{d}")
-            		})
-            		this.dataList=[...this.dataList,...data.data.records]
-            		this.total=data.data.total;
-            	}   
-            },
-
-        }
-    }
+			},
+
+		}
+	}
 </script>
 
 <style lang="stylus" scoped>
-    #safeAccess{
-        height:100%;
-        width:100%;
-        display flex
-        flex-direction column
-        .info-max-box{
-            flex:1;
-            overflow: scroll
-            .for-box:nth-child(1){
-                border:none;
-            }
-            .for-box{
-                background #fff
-				border-radius:20rpx;
-				margin:20rpx;
-				overflow hidden
-				.name-box{
+	#safeAccess {
+		height: 100%;
+		width: 100%;
+		display flex;
+		flex-direction column;
+
+		.info-max-box {
+			flex: 1;
+
+			overflow: scroll;
+
+			.for-box:nth-child(1) {
+				border: none;
+			}
+
+			.for-box {
+				background #fff;
+				border-radius: 20rpx;
+				margin: 20rpx;
+				overflow hidden;
+
+				.name-box {
 					display flex;
-					margin:20rpx 0;
-					view:nth-child(1){
-						height:36rpx;
+					margin: 20rpx 0;
+
+					view:nth-child(1) {
+						height: 36rpx;
 						text-align center;
-						width:100rpx;
-						line-height:36rpx;
-						font-size:20rpx;
-						margin:0 18rpx 0 23rpx;
+						width: 100rpx;
+						line-height: 36rpx;
+						font-size: 20rpx;
+						margin: 0 18rpx 0 23rpx;
 					}
-					view:nth-child(2){
-						flex:1;
-						font-size:28rpx;
-						margin-right:20rpx;
+
+					view:nth-child(2) {
+						flex: 1;
+						font-size: 28rpx;
+						margin-right: 20rpx;
 					}
-					.typeColor1{
-						border-radius:6rpx;
-						color:#F6A71D;
-						background rgba(246,167,29,0.2)
+
+					.typeColor1 {
+						border-radius: 6rpx;
+						color: #F6A71D;
+						background rgba(246, 167, 29, 0.2)
 					}
-					.typeColor2{
-						border-radius:6rpx;
-						color:#FF5555;
-						background rgba(255,85,85,0.2)
+
+					.typeColor2 {
+						border-radius: 6rpx;
+						color: #FF5555;
+						background rgba(255, 85, 85, 0.2)
 					}
-					.typeColor3{
-						border-radius:6rpx;
-						color:#30A23D;
-						background rgba(48,162,61,0.2)
 
+					.typeColor3 {
+						border-radius: 6rpx;
+						color: #30A23D;
+						background rgba(48, 162, 61, 0.2)
 					}
-					.typeColor4{
-						border-radius:6rpx;
-						color:#F6A71D;
-						background rgba(246,167,29,0.2)
+
+					.typeColor4 {
+						border-radius: 6rpx;
+						color: #F6A71D;
+						background rgba(246, 167, 29, 0.2)
 					}
 				}
-				.time-box{
+
+				.time-box {
 					display flex;
-					height:36rpx;
-					margin:20rpx 0;
-					view:nth-child(1){
-						width:100rpx;
-						line-height:36rpx;
-						font-size:20rpx;
-						margin:0 18rpx 0 23rpx;
+					height: 36rpx;
+					margin: 20rpx 0;
+
+					view:nth-child(1) {
+						width: 100rpx;
+						line-height: 36rpx;
+						font-size: 20rpx;
+						margin: 0 18rpx 0 23rpx;
 					}
-					view:nth-child(2){
-						flex:1;
-						font-size:28rpx;
+
+					view:nth-child(2) {
+						flex: 1;
+						font-size: 28rpx;
 					}
 				}
-            }
-            .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;
-        }
-    }
-</style>
+			}
+
+			.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;
+		}
+	}
+</style>