dedsudiyu 10 ヶ月 前
コミット
1aeaa4e956
共有2 個のファイルを変更した148 個の追加112 個の削除を含む
  1. 6 6
      pages.json
  2. 142 106
      pages/views/teacherPage/laboratoryList.vue

+ 6 - 6
pages.json

@@ -650,12 +650,12 @@
 					}
 				},
 				/* 我的实验室 */
-				{
-					"path": "views/laboratory/meLaboratory",//我的实验室
-					"style": {
-						"navigationBarTitleText": "我的实验室"
-					}
-				},
+				// {
+				// 	"path": "views/laboratory/meLaboratory",//我的实验室
+				// 	"style": {
+				// 		"navigationBarTitleText": "我的实验室"
+				// 	}
+				// },
 				/* 实验室详情 */
 				{
 					"path": "views/laboratory/infoPage",//详情

+ 142 - 106
pages/views/teacherPage/laboratoryList.vue

@@ -1,6 +1,15 @@
 <!-- 实验室列表 -->
 <template>
 	<view id="laboratoryList">
+		<view class='top-search-value-max-box'>
+			<view class='top-search-value-box'>
+				<img src="@/pages/images/newImage/icon_sys_ss@1x.png">
+				<input class="input-box" v-model="queryParams.searchValue" 
+							 maxlength="10" placeholder="搜索实验室/房间号"
+							 type="text" @confirm="searchValueClick()">
+				<view v-if="queryParams.searchValue" class="button-box" @click="delSearchValue">清除</view>
+			</view>
+		</view>
 		<view class="top-picker-max-box">
 			<view class="top-picker-box">
 				<picker @change="facultyChange" :value="facultyIndex" :range="facultyArray">
@@ -30,7 +39,30 @@
 		<scroll-view scroll-y @scrolltolower="scrollGet" class="for-max-box">
 			<img class="null-img" v-if="!dataList[0]" src="@/pages_manage/images/null-data-1.png">
 			<view class="for-box" v-for="(item,index) in dataList" :key="index" @click="tableButton('subDetail',item)">
-				<view class="title-box">
+				<view class="top-title-box">
+					<view>
+						{{item.subName}} {{item.roomName?'('+item.roomName+')':''}}
+					</view>
+				</view>
+				<view class="bottom-text-max-box">
+					<view class="bottom-text-box">
+						<view v-if="item.levelName" class="lv-p" :style="'border:1rpx solid '+item.levelColor+';background:#fff;color:'+item.levelColor+';'">{{item.levelName}}</view>
+						<view v-if="item.typeName" class="type-p">{{item.typeName}}</view>
+						<view v-if="item.moldName" class="class-p">{{item.moldName}}</view>
+						<view v-if="item.subArea" class="num-p">{{item.subArea}}m²</view>
+					</view>
+					<view class="bottom-address-box">
+						<img src="@/pages/images/newImage/icon_sys_dz@1x.png">
+						<view>{{item.deptName}}丨{{item.buildName}}-{{item.floorName}}</view>
+					</view>
+				</view>
+				
+				
+				
+				
+				
+				
+				<!-- <view class="title-box">
 					<view :style="'border:1rpx solid '+item.levelColor+';background:#fff;color:'+item.levelColor+';'">
 						{{ item.levelName }}
 					</view>
@@ -41,7 +73,7 @@
 				<view class="address-box-two">
 					<img src="@/pages_manage/images/icon_14.png">
 					<view>{{ item.buildName}} {{ item.floorName}} {{ item.subName}} {{ item.roomName?item.roomName:''}}</view>
-				</view>
+				</view> -->
 			</view>
 			<view class="get-data-null-p" v-if="getDataType">- 没有更多数据 -</view>
 		</scroll-view>
@@ -96,6 +128,7 @@
 				queryParams: {
 					page: 1,
 					pageSize: 10,
+					searchValue:"",
 				},
 			}
 		},
@@ -205,6 +238,19 @@
 					})
 				}
 			},
+			delSearchValue(){
+				this.$set(this.queryParams,'searchValue','')
+				this.$set(this.queryParams,'page',1);
+				this.$nextTick(() => {
+					this.getList();
+				})
+			},
+			searchValueClick(){
+				this.$set(this.queryParams,'page',1);
+				this.$nextTick(() => {
+					this.getList();
+				})
+			},
 			//获取实验室列表
 			async getList() {
 				let self = this;
@@ -260,7 +306,36 @@
 		height: 100%;
 		display flex;
 		flex-direction column;
-
+		.top-search-value-max-box{
+			background-color: #fff;
+			.top-search-value-box{
+				display: flex;
+				border:50rpx;
+				height:80rpx;
+				border:1px solid #E0E0E0;
+				border-radius:40rpx;
+				margin: 20rpx 30rpx 10rpx;
+				img{
+					width:26rpx;
+					height:26rpx;
+					margin:27rpx 30rpx;
+				}
+				.input-box{
+					height:78rpx;
+					line-height:78rpx;
+					flex:1;
+				}
+				.button-box{
+					width:120rpx;
+					line-height:78rpx;
+					height:78rpx;
+					margin-right:10rpx;
+					text-align: center;
+					color:#0183FA;
+					font-size:24rpx;
+				}
+			}
+		}
 		.top-picker-max-box {
 			display: flex;
 			padding: 0 20rpx;
@@ -345,117 +420,78 @@
 			}
 
 			.for-box {
-				border-top: 4rpx solid #dedede;
-				overflow hidden;
-				background #ffffff;
-				margin-bottom: 20rpx;
-
-				.title-box {
-					margin: 20rpx 20rpx 0;
-
-					display flex;
-
-					view:nth-child(1) {
-						height: 40rpx;
-						line-height: 40rpx;
-						font-size: 20rpx;
-						border-radius: 10rpx;
-						padding: 0 20rpx;
-						color: #fff;
-						margin-right: 20rpx;
-					}
-
-					view:nth-child(2) {
-						line-height: 42rpx;
-						font-size: 30rpx;
-						color: #333;
-						max-width: 600rpx;
-						flex: 1;
-					}
-
-					img {
-						width: 12rpx;
-						height: 20rpx;
-						margin-top: 11rpx;
-					}
-
-					.colorA {
-						background: #aa2315;
-					}
-
-					.colorB {
-						background: #ff9b09;
-					}
-
-					.colorC {
-						background: #3ea3e9;
-					}
-
-					.colorD {
-						background: #3ea34c;
+				width:690rpx;
+				margin:20rpx 30rpx 0;
+				.top-title-box{
+					height:126rpx;
+					width:690rpx;
+					background: url("@/pages/images/newImage/img_sys_bg@1x.png");
+					background-size 100%;
+					background-repeat: no-repeat;
+					view{
+						height:42rpx;
+						line-height:42rpx;
+						font-size:30rpx;
+						color:#333333;
+						padding:20rpx 37rpx;
+						display:block;
+						overflow:hidden;
+						text-overflow:ellipsis;
+						white-space:nowrap;
 					}
-
 				}
-
-				.address-box {
-					margin: 20rpx 20rpx;
-					font-size: 26rpx;
-					color: #999999;
-
-					span {
-						margin-right: 60rpx;
-					}
-				}
-
-				.address-box-two {
-					display flex;
-					margin: 0 20rpx 20rpx 20rpx;
-
-					img {
-						width: 28rpx;
-						height: 30rpx;
-						margin-right: 18rpx;
-					}
-
-					view {
-						line-height: 30rpx;
-						font-size: 24rpx;
-						color: #999999;
+				.bottom-text-max-box{
+					overflow: hidden;
+					border-radius:0 0 20rpx 20rpx;
+					padding-bottom:26rpx;
+					width:690rpx;
+					background #ffffff;
+					.bottom-text-box{
+						padding:0 30rpx;
+						view{
+							margin-left:10rpx;
+							margin-bottom:5rpx;
+							display:inline-block;
+							overflow: hidden;
+							padding:0 20rpx;
+							text-align: center;
+							border-radius:10rpx;
+						}
+						.lv-p{
+							height:38rpx;
+							line-height:36rpx;
+							font-size:28rpx;
+							color: #FF0000;
+						}
+						.type-p,.class-p,.num-p{
+							height:40rpx;
+							line-height:38rpx;
+							font-size:24rpx;
+							color:#0183FA;
+							background: rgba(1,131,250,0.2);
+						}
 					}
-				}
-
-				/*安全报警*/
-				.for-img-box {
-					border-top: 1rpx solid #e0e0e0;
-					margin: 0 20rpx;
-
-					.for-img-min-box {
-						display flex img {
-							width: 30rpx;
-							height: 27rpx;
-							margin-top: 24rpx;
-							margin-right: 10rpx;
+					.bottom-address-box{
+						display: flex;
+						padding:21rpx 30rpx 0;
+						img{
+							display: block;
+							width:30rpx;
+							height:30rpx;
+							margin:0 15rpx 0 12rpx;
 						}
-
-						view {
-							line-height: 74rpx;
-							text-align center;
-							font-size: 28rpx;
-							color: #EE3A3A;
+						view{
+							height:30rpx;
+							line-height:30rpx;
+							font-size:28rpx;
+							display:block;
+							overflow:hidden;
+							text-overflow:ellipsis;
+							white-space:nowrap;
 						}
 					}
 				}
-
-				.button-view {
-					margin: 0 20rpx;
-					border-top: 1rpx dashed #e0e0e0;
-					line-height: 90rpx;
-					text-align: center;
-					font-size: 26rpx;
-					color: #333;
-				}
 			}
-
 			.get-data-null-p {
 				text-align: center;
 				line-height: 80rpx;