Browse Source

auto commit

gcz 3 years ago
parent
commit
cbf57bcee2

+ 8 - 0
common/apiurl.js

@@ -33,6 +33,14 @@ const apiurl = {
 	deviceexcptionprocessUrl:'/deviceexcptionprocess',
 	//心跳是否有车状态数据接口
 	placeStatusUrl:'/roadspace/type/place_status',
+	//道闸设备列表
+	selectParkDeviceListUrl:'/roadspace/selectParkDeviceList',
+	//查询停车场车位信息
+	selectParkNumUrl:'/roadspace/selectParkNum',
+	//道闸设备详细信息
+	findParkDeviceByIdUrl:'/roadspace/findParkDeviceById',
+	//道闸设备详细信息
+	controlDeviceUrl:'/roadspace/roadway/control',
 }
 
 export {

+ 9 - 1
common/http.api.js

@@ -22,6 +22,10 @@ const install = (Vue, vm) => {
 	let deviceLog = (params = {}) => vm.$u.get(apiurl.deviceLogUrl,params);
 	let deviceexcptionprocess = (params = {}) => vm.$u.post(apiurl.deviceexcptionprocessUrl, params);
 	let placeStatus = (params = {}) => vm.$u.get(apiurl.placeStatusUrl,params);
+	let selectParkDeviceList = (params = {}) => vm.$u.get(apiurl.selectParkDeviceListUrl,params);
+	let selectParkNum = (params = {}) => vm.$u.get(apiurl.selectParkNumUrl,params);
+	let findParkDeviceById = (params = {}) => vm.$u.get(apiurl.findParkDeviceByIdUrl,params);
+	let controlDevice = (params = {}) => vm.$u.post(apiurl.controlDeviceUrl, params);
 	
 	// 将各个定义的接口名称,统一放进对象挂载到vm.$u.api(因为vm就是this,也即this.$u.api)下
 	vm.$u.api = {
@@ -42,7 +46,11 @@ const install = (Vue, vm) => {
 		findRoadSpaceVoById,
 		deviceLog,
 		deviceexcptionprocess,
-		placeStatus
+		placeStatus,
+		selectParkDeviceList,
+		selectParkNum,
+		findParkDeviceById,
+		controlDevice
 	};
 }
 

+ 21 - 0
pages.json

@@ -95,6 +95,27 @@
 				"navigationStyle":"custom",// 隐藏系统导航栏
 				"navigationBarTitleText": "设备列表"
 			}
+		},
+		{
+			"path": "pages/deviceList/deviceListType2/deviceInfo",//车位锁备详情
+			"style": {
+				"navigationStyle":"custom",// 隐藏系统导航栏
+				"navigationBarTitleText": "设备详情"
+			}
+		},
+		{
+			"path": "pages/deviceList/deviceListType3/deviceListType3",//车位锁
+			"style": {
+				"navigationStyle":"custom",// 隐藏系统导航栏
+				"navigationBarTitleText": "设备列表"
+			}
+		},
+		{
+			"path": "pages/deviceList/deviceListType3/deviceInfo",//车位锁备详情
+			"style": {
+				"navigationStyle":"custom",// 隐藏系统导航栏
+				"navigationBarTitleText": "设备详情"
+			}
 		}
 		
     ],

+ 1 - 1
pages/clockIn/clockIn.vue

@@ -6,7 +6,7 @@
 		:custom-back="customBack" 
 		:border-bottom="false"
 		back-icon-color="#CCE8FF"
-		:background="{background: 'linear-gradient(145deg, #41AFF9 0%, #2D8CFB 100%)' }">
+		:background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
 		</u-navbar>
 		<view class="wrap">
 			<u-cell-item class="road-select-cell" icon="map-fill" bg-color="#fff" :border-bottom="false" :title="roadName" :arrow="true" @click="roadSelectShow = true" arrow-direction="right"></u-cell-item>

+ 1 - 1
pages/deviceList/deviceList.vue

@@ -7,7 +7,7 @@
 			 :custom-back="customBack" 
 			 :border-bottom="false" 
 			 back-icon-color="#CCE8FF" 
-			 :background="{background: '#4D68DC' }"></u-navbar>
+			 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
 		</view>
 		<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="config.platform=='h5'?100:180" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
 			<view class="device-list u-flex u-flex-wrap u-row-start">

+ 1 - 1
pages/deviceList/deviceListType1/deviceListType1.vue

@@ -7,7 +7,7 @@
 		 :custom-back="customBack" 
 		 :border-bottom="false" 
 		 back-icon-color="#CCE8FF" 
-		 :background="{background: '#4D68DC' }"></u-navbar>
+		 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
 		<u-tabs :list="tabList" :is-scroll="false" height="108" bar-width="100" :current="tabCurrent" @change="tabChange"></u-tabs>
 		<!-- <u-gap height="20" bg-color="#F6F6F6"></u-gap> -->
 		<mescroll-uni ref="mescrollRef01" @init="mescrollInit" :top="config.platform=='h5'?220:300" :down="downOption" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">

+ 332 - 0
pages/deviceList/deviceListType2/deviceInfo.vue

@@ -0,0 +1,332 @@
+<template>
+	<view>
+		<u-navbar
+		 :title="title" 
+		 title-color="#fff" 
+		 :custom-back="customBack" 
+		 :border-bottom="false" 
+		 back-icon-color="#CCE8FF" 
+		 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
+		<view class="base-info">
+			<view class="base-info-item u-flex u-row-between">
+				<view class=""><b>泊位号:</b>{{pageData.spaceNo}}</view>
+				<text class="report" @click="handlepopupShow">异常上报</text>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>设备编号:</b>{{pageData.deviceNo}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>设备状态:</b>{{pageData.deviceStatus|device2Status}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>电量值:</b>{{pageData.deviceBattery}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>停车状况:</b>{{filterPlaceStatus(pageData.placeStatus)}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>入场时间:</b>{{pageData.inTime}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>停车时长:</b>{{pageData.parkingTime}}</view>
+			</view>
+		</view>
+		<view class="device-log">
+			<u-divider
+			ref="divider"
+			bg-color="#F1F8FF" 
+			color="#010101" 
+			border-color="#6d6d6d">设备心跳</u-divider>
+			<mescroll-uni ref="mescrollRef01" @init="mescrollInit" :top="config.platform=='h5'?dividerBottom+30:300" :down="downOption" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
+				<view class="device-list u-text-center ">
+					<view v-if="dataList.length>=1" class="list-header u-flex u-row-around">
+						<view class="u-flex-2">时间</view>
+						<view class="u-flex-1">事件类型</view>
+						<view class="u-flex-1">是否有车</view>
+					</view>
+					<view class="device-list-item u-flex u-row-around" v-for="item in dataList" :key="item.id">
+						<view class="u-flex-2">{{item.createTime}}</view>
+						<view class="u-flex-1">{{item.msgType|deviceLogMsgType}}</view>
+						<view class="u-flex-1">{{filterPlaceStatus(item.msgType)}}</view>
+					</view>
+				</view>
+			</mescroll-uni>
+		</view>
+		<u-popup v-model="popupShow" mode="bottom">
+			<view class="form-content">
+			<u-form :model="form" ref="uForm" >
+				<u-form-item label="问题描述" prop="exceprionDes" required :label-width="labelWidth">
+					<u-input type="textarea" :border="true" maxlength="200" v-model="form.exceprionDes" />
+				</u-form-item>
+				<u-form-item label="图片说明" :label-width="labelWidth" :border-bottom="false">
+					<u-upload ref="uploadRef" :action="action" max-count="5"></u-upload>
+				</u-form-item>
+			</u-form>
+			<u-button type="primary" @click="submit" style="margin-top: 20vh;">提交</u-button>
+			</view>
+		</u-popup>
+	</view>
+</template>
+
+<script>
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	export default{
+		mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
+		data(){
+			return{
+				roadName:'',
+				roadNo:'',
+				deviceType:'',
+				title:'设备详情',
+				pageData:[],
+				deviceID:'',
+				downOption:{
+					auto:false // 不自动加载 (mixin已处理第一个tab触发downCallback)
+				},
+				upOption:{
+					page: {
+						size: 10 // 每页数据的数量
+					},
+					auto:true,
+					// use:false,
+					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
+					empty:{
+						tip: '~ 暂无数据 ~', // 提示
+						// btnText: '去看看'
+					}
+				},
+				dataList:[],
+				dividerBottom:0,
+				popupShow:false,
+				labelWidth:190,
+				action:this.config.upFileUrl,
+				form:{
+					deviceId:'',
+					deviceType:'',
+					exceprionDes:'',
+					imgList:[]
+				},
+				rules:{
+					roadName: [
+						{ 
+							required: true, 
+							message: '请选择路段', 
+							trigger: ['change','blur'],
+						}
+					],
+					exceprionDes: [
+						{ 
+							required: true, 
+							message: '请输入内容', 
+							trigger: ['change','blur'],
+						}
+					],
+				},
+				placeStatus:[],
+			}
+		},
+		onLoad(page){
+			this.deviceID = page.id;
+			this.form.deviceId = page.id;
+			if(page.roadName){
+				this.roadName = page.roadName;
+				this.title = page.roadName;
+			}
+			if(page.roadNo){
+				this.roadNo = page.roadNo
+			}
+			if(page.deviceType){
+				this.deviceType = page.deviceType;
+				this.form.deviceType = page.deviceType;
+			}
+			this.getPlaceStatus();
+		},
+		onShow(){
+			this.findRoadSpaceVoById();
+		},
+		mounted() {
+			let divider = this.$refs.divider.$el.getBoundingClientRect();
+			this.dividerBottom = divider.bottom*2;
+		},
+		onReady() {
+			// this.$refs.uForm.setRules(this.rules);
+		},
+		computed:{
+			filterPlaceStatus(){
+				return function(value){
+					let v = '';
+					for (let i = 0; i < this.placeStatus.length; i++){
+						console.log('value',value);
+						console.log('item',this.placeStatus[i]);
+						let item = this.placeStatus[i];
+						if (value == item.value) {
+						  v = item.label;
+						  break;
+						}
+					}
+					return v
+				}
+			}
+		},
+		methods:{
+			customBack(){
+				this.$u.route({
+				  url: '/pages/deviceList/deviceListType2/deviceListType2',
+					params:{
+						roadNo:this.roadNo,
+						roadName:this.roadName,
+						deviceType:this.deviceType,
+					}
+				})
+			},
+			findRoadSpaceVoById(){
+				this.$u.api.findRoadSpaceVoById({id:this.deviceID}).then(res=>{
+					if(res.code==200){
+						this.pageData = res.data;
+						// console.log('findRoadSpaceVoById',res);
+					}else{
+						uni.showToast({
+							icon:'none',
+							title:res.msg
+						})
+					}
+					console.log('res',res);
+				}).catch(err=>{
+					console.log('err',err);
+				})
+			},
+			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
+			upCallback(page) {
+				// console.log('page',page);
+				let params ={
+					deviceId:this.deviceID,
+					pageNum:page.num,
+					pageSize:page.size
+				};
+				this.$u.api.deviceLog(params).then(curPageData=>{
+					// console.log('word',word);
+					 console.log('curPageData',curPageData);
+					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
+					// this.mescroll.endSuccess(curPageData.data.total);
+					this.mescroll.endBySize(curPageData.data.rows.length, curPageData.data.total);
+					//设置列表数据
+					if(page.num == 1) this.dataList = []; //如果是第一页需手动制空列表
+					this.dataList=this.dataList.concat(curPageData.data.rows); //追加新数据
+					console.log('this.dataList',this.dataList);
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			//点击空布局按钮的回调
+			emptyClick(){
+				uni.showToast({
+					title:'点击了按钮,具体逻辑自行实现'
+				})
+			},
+			handlepopupShow(){
+				this.popupShow = true;
+				this.$nextTick(() => {
+					this.$refs.uForm.setRules(this.rules)
+				})
+			},
+			submit(){
+				let that = this;
+				this.$refs.uForm.validate(valid => {
+					if (valid) {
+						console.log('验证通过');
+						// delete this.dealForm.selectedUserList;
+						let files = [];
+						// 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
+						files = this.$refs.uploadRef.lists.filter(val => {
+							return val.progress == 100;
+						})
+						console.log('files',files);
+						// 如果您不需要进行太多的处理,直接如下即可
+						// files = this.$refs.uUpload.lists;
+						files.forEach(function(item){
+							if(item.response.data){that.form.imgList.push(item.response.data.url)}
+						});
+						console.log('this.form',this.form);
+						this.$u.api.deviceexcptionprocess(this.form).then(res=>{
+							console.log('res',res);
+							this.form = {};
+							uni.showToast({
+								icon:'none',
+								title:res.msg,
+								duration:1500,
+							});
+							this.popupShow = false;
+						}).catch(err=>{
+							uni.showToast({
+								icon:'none',
+								title:err.msg
+							})
+							console.log('err',err);
+						})
+					} else {
+						console.log('验证失败');
+					}
+				});
+			},
+			getPlaceStatus(){
+				this.$u.api.placeStatus().then(res=>{
+					let that = this;
+					console.log('getPlaceStatus',res.data.data);
+					res.data.data.map(function(currentValue){
+					    that.placeStatus.push({value:currentValue.dictValue,label:currentValue.dictLabel})
+					    // console.log('currentValue',currentValue);
+					})
+					
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+// @import  './login.scss'
+page{background: #F1F8FF;}
+.base-info{
+	background-color: #fff;
+	padding: 30rpx 30rpx 40rpx;
+	.base-info-item{
+		font-size: 28rpx;
+		font-weight: 400;
+		color: #6E6E6E;
+		line-height: 40rpx;
+		letter-spacing: 1rpx;
+		margin-bottom: 26rpx;
+	}
+	.report{
+		font-size: 28rpx;
+		font-weight: 400;
+		color: #0082FF;
+		line-height: 40rpx;
+		letter-spacing: 1rpx;
+	}
+}
+.device-log{
+	background-color: #F1F8FF;
+	padding-top: 50rpx;
+	.list-header{
+		margin-bottom: 24rpx;
+	}
+	.device-list-item{
+		font-size: 24rpx;
+		font-weight: 400;
+		color: #7D7D7D;
+		line-height: 33rpx;
+		letter-spacing: 1rpx;
+		margin-bottom: 20rpx;
+	}
+}
+.form-content{
+	padding: 24rpx;
+}
+</style>

+ 232 - 203
pages/deviceList/deviceListType2/deviceListType2.vue

@@ -1,228 +1,257 @@
 <template>
 	<view>
-		<u-navbar
-		 :title="title" 
-		 title-color="#fff" 
-		 :is-back="true"
-		 :custom-back="customBack" 
-		 :border-bottom="false" 
-		 back-icon-color="#CCE8FF" 
-		 :background="{background: '#4D68DC' }"></u-navbar>
-		<u-tabs :list="tabList" :is-scroll="false" height="108" bar-width="100" :current="tabCurrent" @change="tabChange"></u-tabs>
-		<!-- <u-gap height="20" bg-color="#F6F6F6"></u-gap> -->
-		<mescroll-uni ref="mescrollRef01" @init="mescrollInit" :top="config.platform=='h5'?220:300" :down="downOption" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
-			<view class="device-list u-flex u-flex-wrap u-row-start">
-				<view class="device-list-item u-m-b-24" v-for="item in dataList" :key="item.id"
-				@click="openPage('pages/maintenanceCenter/maintenanceDetails/maintenanceDetails',item.id)">
-					<view class="top u-flex u-flex-wrap u-row-between">
-						<view class="space-name">{{item.spaceName}}</view>
-						<view class="signal">
-							<text :class="{'low':item.deviceSignal<lowSignal}">{{item.deviceSignal}}</text>
-							<image v-if="item.deviceSignal<lowSignal" class="img" src="../../../static/img/signal-r.png" mode="heightFix"></image>
-							<image v-else class="img" src="../../../static/img/signal-g.png" mode="heightFix"></image>
-							<image v-if="item.deviceBattery<lowBattery" class="img" src="../../../static/img/electricity-r.png" mode="heightFix"></image>
-							<image v-else class="img" src="../../../static/img/electricity-g.png" mode="heightFix"></image>
-						</view>
-					</view>
-					<view class="vehicleNo">{{item.vehicleNo}}</view>
-					<image v-if="item.placeStatus!= 1" class="carImg" src="../../../static/img/qiche-g.png" mode="heightFix"></image>
-					<image v-else class="carImg" src="../../../static/img/qiche.png" mode="heightFix"></image>
-					<view class="parkingTime">{{item.parkingTime}}</view>
-					<view class="deviceNo">{{item.deviceNo}}</view>
-				</view>
-			</view>
-		</mescroll-uni>
+		<u-navbar
+		 :title="title" 
+		 title-color="#fff" 
+		 :is-back="true"
+		 :custom-back="customBack" 
+		 :border-bottom="false" 
+		 back-icon-color="#CCE8FF" 
+		 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
+		<u-tabs :list="tabList" :is-scroll="false" height="108" bar-width="100" :current="tabCurrent" @change="tabChange"></u-tabs>
+		<!-- <u-gap height="20" bg-color="#F6F6F6"></u-gap> -->
+		<mescroll-uni ref="mescrollRef01" @init="mescrollInit" :top="config.platform=='h5'?220:300" :down="downOption" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
+			<view class="device-list u-flex u-flex-wrap u-row-start">
+				<view class="device-list-item u-m-b-24" v-for="item in dataList" :key="item.id"
+				@click="goDetails(item.id)">
+					<view class="top u-flex u-flex-wrap u-row-between">
+						<view class="space-name">{{item.spaceName}}</view>
+						<view class="signal">
+							<text>{{item.deviceStatus|device2Status}}</text>
+							<image v-if="item.deviceBattery<lowBattery" class="img" src="../../../static/img/electricity-r.png" mode="heightFix"></image>
+							<image v-else class="img" src="../../../static/img/electricity-g.png" mode="heightFix"></image>
+						</view>
+					</view>
+					<view class="vehicleNo">{{item.vehicleNo}}</view>
+					<image v-if="item.placeStatus!= 1" class="carImg" src="../../../static/img/qiche-g.png" mode="heightFix"></image>
+					<image v-else class="carImg" src="../../../static/img/qiche.png" mode="heightFix"></image>
+					<view class="parkingTime">{{item.parkingTime}}</view>
+					<view class="deviceNo">{{item.deviceNo}}</view>
+				</view>
+			</view>
+		</mescroll-uni>
+		<u-select v-model="deviceStatusSelect" :list="deviceStatusList" @confirm="deviceStatusSelectConfirm"></u-select>
 	</view>
 </template>
 
-<script>
+<script>
 	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
-	export default{
-		mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
-		components:{
-			
+	export default{
+		mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
+		components:{
+			
 		},
 		data(){
-			return{
-				roadName:'',
+			return{
+				roadName:'',
 				roadNo:'',
-				title:"设备列表",
-				tabCurrent:0,
-				breakStatus:'',
-				tabList:[
-					{name:'全部',status:''},
-					{name:'异常',status:'0'},
-					{name:'低电量',status:'3200_b'},
-					{name:'低信号',status:'-100_s'}
-				],
-				downOption:{
-					auto:false // 不自动加载 (mixin已处理第一个tab触发downCallback)
-				},
-				upOption:{
-					page: {
-						size: 10 // 每页数据的数量
-					},
-					auto:true,
-					// use:false,
-					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
-					empty:{
-						tip: '~ 暂无数据 ~', // 提示
-						// btnText: '去看看'
-					}
-				},
-				dataList:[],
-				lowBattery:'',
-				lowSignal:''
+				title:"设备列表",
+				tabCurrent:0,
+				breakStatus:'',
+				tabList:[
+					{name:'全部',status:''},
					{name:'挡板状态',status:'0'},
					{name:'低电量',status:'3200_b'},
					{name:'低信号',status:'-100_s'}
+				],
+				deviceStatusSelect:false,
+				deviceStatusList:[
+					{value:'0',label:'降板'},
+					{value:'1',label:'升板'},
+					{value:'2',label:'心跳'},
+					{value:'5',label:'车辆入位'},
+					{value:'6',label:'车辆出位'},
+					{value:'7',label:'复位'},
+					{value:'8',label:'逃费'},
+					{value:'10',label:'状态上报'},
+				],
+				deviceStatus:'',
+				downOption:{
+					auto:false // 不自动加载 (mixin已处理第一个tab触发downCallback)
+				},
+				upOption:{
+					page: {
+						size: 10 // 每页数据的数量
+					},
+					auto:true,
+					// use:false,
+					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
+					empty:{
+						tip: '~ 暂无数据 ~', // 提示
+						// btnText: '去看看'
+					}
+				},
+				dataList:[],
+				lowBattery:'',
+				lowSignal:''
 				
 			}
 		},
 		onLoad(page){
-			console.log('page',page);
-			this.getGeoDeviceStatust()
-			if(page.roadName){
-				this.roadName = page.roadName;
-				this.title = page.roadName;
-			}
-			if(page.roadNo){
-				this.roadNo = page.roadNo
-			}
-			if(page.deviceType){
-				this.deviceType = page.deviceType
+			console.log('page',page);
+			this.getGeoDeviceStatust()
+			if(page.roadName){
+				this.roadName = page.roadName;
+				this.title = page.roadName;
+			}
+			if(page.roadNo){
+				this.roadNo = page.roadNo
+			}
+			if(page.deviceType){
+				this.deviceType = page.deviceType
 			}
 		},
 		onShow(){
 		},
-		methods:{
-			customBack(){
-				this.$u.route({
-				  url: '/pages/deviceList/deviceList',
-					params:{
-						param:this.deviceType
-					}
-				})
-				// uni.reLaunch({
-				//     url: '/pages/deviceList/deviceList'
-				// });
-			},
-			openPage(path,repairId) {
-			  this.$u.route({
-			    url: path,
-				params:{
-					repairId:repairId
-				}
-			  })
-			},
-			// 切换菜单
-			tabChange(index) {
-				this.tabCurrent = index;
-				this.breakStatus = this.tabList[index].status;
-				this.refresh()
-			},
-			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
-			upCallback(page) {
-				// console.log('page',page);
-				let params ={
-					roadNo:this.roadNo,
-					deviceType:this.deviceType,//设备类型: 1-地磁 2-车位锁
-					breakStatus:this.breakStatus,//设备状态:低电量 (3200_b )、 低信号( -100_s)、有故障(0)
-					pageNum:page.num,
-					pageSize:page.size
-				};
-				this.$u.api.getSelectDeviceList(params).then(curPageData=>{
-					// console.log('word',word);
-					 console.log('curPageData',curPageData);
-					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
-					this.mescroll.endSuccess(curPageData.data.total);
-					this.mescroll.endBySize(curPageData.data.rows.length, curPageData.data.total);
-					//设置列表数据
-					if(page.num == 1) this.dataList = []; //如果是第一页需手动制空列表
-					this.dataList=this.dataList.concat(curPageData.data.rows); //追加新数据
-					console.log('this.dataList',this.dataList);
-				}).catch(()=>{
-					console.log('catch');
-					//联网失败, 结束加载
-					this.mescroll.endErr();
-				})
-			},
-			//点击空布局按钮的回调
-			emptyClick(){
-				uni.showToast({
-					title:'点击了按钮,具体逻辑自行实现'
-				})
-			},
-			refresh(){
-				this.mescroll.resetUpScroll( );
-			},
-			getGeoDeviceStatust(){
-				this.$u.api.geoDeviceStatust().then(res=>{
-					let that = this;
-					res.data.data.forEach(function(item){
-						if(item.dictLabel=='低电量'){that.lowBattery = Number( item.dictValue.split('_')[0] )}
-						if(item.dictLabel=='低信号'){that.lowSignal = Number( item.dictValue.split('_')[0] )}
-					});
-					console.log('this.lowBattery',this.lowBattery);
-				}).catch(()=>{
-					console.log('catch');
-					//联网失败, 结束加载
-					this.mescroll.endErr();
-				})
+		methods:{
+			customBack(){
+				this.$u.route({
+				  url: '/pages/deviceList/deviceList',
+					params:{
+						param:this.deviceType
+					}
+				})
+				// uni.reLaunch({
+				//     url: '/pages/deviceList/deviceList'
+				// });
+			},
+			openPage(path,id) {
+			  this.$u.route({
+			    url: path,
+				params:{
+					id:id
+				}
+			  })
+			},
+			goDetails(id){
+				this.$u.route({
+				  url: 'pages/deviceList/deviceListType2/deviceInfo',
+					params:{
+						id:id,
+						roadNo:this.roadNo,
+						roadName:this.roadName,
+						deviceType:this.deviceType,
+					}
+				})
+			},
+			// 切换菜单
+			tabChange(index) {
+				this.tabCurrent = index;
+				this.deviceStatus = '';
+				this.tabList[1].name = '挡板状态';
+				if(index==1){this.deviceStatusSelect = true;return};
+				this.breakStatus = this.tabList[index].status;
+				this.refresh();
+			},
+			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
+			upCallback(page) {
+				// console.log('page',page);
+				let params ={
+					roadNo:this.roadNo,
+					deviceType:this.deviceType,//设备类型: 1-地磁 2-车位锁
+					breakStatus:this.breakStatus,//设备状态:低电量 (3200_b )、 低信号( -100_s)、有故障(0)
+					deviceStatus:this.deviceStatus,
+					pageNum:page.num,
+					pageSize:page.size
+				};
+				this.$u.api.getSelectDeviceList(params).then(curPageData=>{
+					// console.log('word',word);
+					 console.log('curPageData',curPageData);
+					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
+					this.mescroll.endSuccess(curPageData.data.total);
+					this.mescroll.endBySize(curPageData.data.rows.length, curPageData.data.total);
+					//设置列表数据
+					if(page.num == 1) this.dataList = []; //如果是第一页需手动制空列表
+					this.dataList=this.dataList.concat(curPageData.data.rows); //追加新数据
+					console.log('this.dataList',this.dataList);
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			//点击空布局按钮的回调
+			emptyClick(){
+				uni.showToast({
+					title:'点击了按钮,具体逻辑自行实现'
+				})
+			},
+			refresh(){
+				this.mescroll.resetUpScroll( );
+			},
+			getGeoDeviceStatust(){
+				this.$u.api.geoDeviceStatust().then(res=>{
+					let that = this;
+					res.data.data.forEach(function(item){
+						if(item.dictLabel=='低电量'){that.lowBattery = Number( item.dictValue.split('_')[0] )}
+						if(item.dictLabel=='低信号'){that.lowSignal = Number( item.dictValue.split('_')[0] )}
+					});
+					console.log('this.lowBattery',this.lowBattery);
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			deviceStatusSelectConfirm(e){
+				this.deviceStatus =e[0].value;
+				this.tabList[1].name = e[0].label;
+				this.breakStatus = '';
+				this.refresh();
 			}
 			
 		}
 	}
 </script>
 
-<style lang="scss" scoped>
-page{background-color: #F3F3F3;}
-.device-list{
-	margin: 24rpx 0;
-	.device-list-item{
-		background-color: #fff;
-		width: 45%;
-		margin: 0 0 24rpx 3.3%;
-		padding: 15rpx;
-		border-radius: 13rpx;
-		.top{
-			margin-bottom: 20rpx;
-			.space-name{
-				color: #5B5B5B;
-				font-size: 26rpx;
-			}
-			.signal{
-				font-size: 26rpx;
-				color: #5B5B5B;
-				.img{
-					display: inline-block;
-					height: 26rpx;
-					margin-left: 7rpx;
-				}
-			}
-			.low{color: #f00;}
-		}
-		.vehicleNo{
-			height: 42rpx;
-			font-size: 30rpx;
-			font-weight: 400;
-			color: #212121;
-			line-height: 42rpx;
-			text-align: center;
-		}
-		.carImg{
-			height: 118rpx;
-			display: block;
-			margin: 16rpx auto 18rpx;
-		}
-		.parkingTime{
-			height: 37rpx;
-			font-size: 26rpx;
-			font-weight: 400;
-			color: #5B5B5B;
-			line-height: 37rpx;
-			margin-bottom: 15rpx;
-			text-align: center;
-		}
-		.deviceNo{text-align: center;}
-	}
-	
+<style lang="scss" scoped>
+page{background-color: #F3F3F3;}
+.device-list{
+	margin: 24rpx 0;
+	.device-list-item{
+		background-color: #fff;
+		width: 45%;
+		margin: 0 0 24rpx 3.3%;
+		padding: 15rpx;
+		border-radius: 13rpx;
+		.top{
+			margin-bottom: 20rpx;
+			.space-name{
+				color: #5B5B5B;
+				font-size: 26rpx;
+			}
+			.signal{
+				font-size: 26rpx;
+				color: #5B5B5B;
+				.img{
+					display: inline-block;
+					height: 26rpx;
+					margin-left: 7rpx;
+				}
+			}
+			.low{color: #f00;}
+		}
+		.vehicleNo{
+			height: 42rpx;
+			font-size: 30rpx;
+			font-weight: 400;
+			color: #212121;
+			line-height: 42rpx;
+			text-align: center;
+		}
+		.carImg{
+			height: 118rpx;
+			display: block;
+			margin: 16rpx auto 18rpx;
+		}
+		.parkingTime{
+			height: 37rpx;
+			font-size: 26rpx;
+			font-weight: 400;
+			color: #5B5B5B;
+			line-height: 37rpx;
+			margin-bottom: 15rpx;
+			text-align: center;
+		}
+		.deviceNo{text-align: center;}
+	}
+	
 }
 </style>

+ 270 - 0
pages/deviceList/deviceListType3/deviceInfo.vue

@@ -0,0 +1,270 @@
+<template>
+	<view>
+		<u-navbar
+		 :title="title" 
+		 title-color="#fff" 
+		 :custom-back="customBack" 
+		 :border-bottom="false" 
+		 back-icon-color="#CCE8FF" 
+		 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
+		<view class="base-info">
+			<view class="base-info-item u-flex u-row-between">
+				<view class=""><b>所属停车场:</b>{{pageData.roadName}}</view>
+				<text class="report" @click="handlepopupShow">异常上报</text>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>所属出入口:</b>{{pageData.entranceName}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>所属车道:</b>{{pageData.roadwayName}}</view>
+			</view>
+			<view class="base-info-item">
+				<view class=""><b>车道编码:</b>{{pageData.roadwayNo}}</view>
+			</view>
+		</view>
+		<view class="u-flex u-row-center">
+			<u-button type="primary" shape="circle" :custom-style="buttonStyle" @click="controlDevice(0)">关闸</u-button>
+			<u-button type="warning" shape="circle" :custom-style="buttonStyle" @click="controlDevice(1)">开闸</u-button>
+		</view>
+		<u-popup v-model="popupShow" mode="bottom">
+			<view class="form-content">
+			<u-form :model="form" ref="uForm" >
+				<u-form-item label="问题描述" prop="exceprionDes" required :label-width="labelWidth">
+					<u-input type="textarea" :border="true" maxlength="200" v-model="form.exceprionDes" />
+				</u-form-item>
+				<u-form-item label="图片说明" :label-width="labelWidth" :border-bottom="false">
+					<u-upload ref="uploadRef" :action="action" max-count="5"></u-upload>
+				</u-form-item>
+			</u-form>
+			<u-button type="primary" @click="submit" style="margin-top: 20vh;">提交</u-button>
+			</view>
+		</u-popup>
+	</view>
+</template>
+
+<script>
+	export default{
+		data(){
+			return{
+				roadName:'',
+				roadNo:'',
+				deviceType:'',
+				title:'设备详情',
+				pageData:[],
+				deviceID:'',
+				popupShow:false,
+				labelWidth:190,
+				action:this.config.upFileUrl,
+				form:{
+					deviceId:'',
+					deviceType:'',
+					exceprionDes:'',
+					imgList:[]
+				},
+				rules:{
+					roadName: [
+						{ 
+							required: true, 
+							message: '请选择路段', 
+							trigger: ['change','blur'],
+						}
+					],
+					exceprionDes: [
+						{ 
+							required: true, 
+							message: '请输入内容', 
+							trigger: ['change','blur'],
+						}
+					],
+				},
+				placeStatus:[],
+				buttonStyle:{
+					padding:'0 50px'
+				}
+			}
+		},
+		onLoad(page){
+			this.deviceID = page.id;
+			this.form.deviceId = page.id;
+			if(page.roadName){
+				this.roadName = page.roadName;
+				this.title = page.roadName;
+			}
+			if(page.roadNo){
+				this.roadNo = page.roadNo
+			}
+			if(page.deviceType){
+				this.deviceType = page.deviceType;
+				this.form.deviceType = page.deviceType;
+			}
+			this.getPlaceStatus();
+		},
+		onShow(){
+			this.findParkDeviceById();
+		},
+		mounted() {
+		},
+		onReady() {
+			// this.$refs.uForm.setRules(this.rules);
+		},
+		computed:{
+			filterPlaceStatus(){
+				return function(value){
+					let v = '';
+					for (let i = 0; i < this.placeStatus.length; i++){
+						console.log('value',value);
+						console.log('item',this.placeStatus[i]);
+						let item = this.placeStatus[i];
+						if (value == item.value) {
+						  v = item.label;
+						  break;
+						}
+					}
+					return v
+				}
+			}
+		},
+		methods:{
+			customBack(){
+				this.$u.route({
+				  url: '/pages/deviceList/deviceListType3/deviceListType3',
+					params:{
+						roadNo:this.roadNo,
+						roadName:this.roadName,
+						deviceType:this.deviceType,
+					}
+				})
+			},
+			findParkDeviceById(){
+				this.$u.api.findParkDeviceById({id:this.deviceID}).then(res=>{
+					if(res.code==200){
+						this.pageData = res.data;
+						// console.log('findParkDeviceById',res);
+					}else{
+						uni.showToast({
+							icon:'none',
+							title:res.msg
+						})
+					}
+					console.log('res',res);
+				}).catch(err=>{
+					console.log('err',err);
+				})
+			},
+			handlepopupShow(){
+				this.popupShow = true;
+				this.$nextTick(() => {
+					this.$refs.uForm.setRules(this.rules)
+				})
+			},
+			submit(){
+				let that = this;
+				this.$refs.uForm.validate(valid => {
+					if (valid) {
+						console.log('验证通过');
+						// delete this.dealForm.selectedUserList;
+						let files = [];
+						// 通过filter,筛选出上传进度为100的文件(因为某些上传失败的文件,进度值不为100,这个是可选的操作)
+						files = this.$refs.uploadRef.lists.filter(val => {
+							return val.progress == 100;
+						})
+						console.log('files',files);
+						// 如果您不需要进行太多的处理,直接如下即可
+						// files = this.$refs.uUpload.lists;
+						files.forEach(function(item){
+							if(item.response.data){that.form.imgList.push(item.response.data.url)}
+						});
+						console.log('this.form',this.form);
+						this.$u.api.deviceexcptionprocess(this.form).then(res=>{
+							console.log('res',res);
+							this.form = {};
+							uni.showToast({
+								icon:'none',
+								title:res.msg,
+								duration:1500,
+							});
+							this.popupShow = false;
+						}).catch(err=>{
+							uni.showToast({
+								icon:'none',
+								title:err.msg
+							})
+							console.log('err',err);
+						})
+					} else {
+						console.log('验证失败');
+					}
+				});
+			},
+			getPlaceStatus(){
+				this.$u.api.placeStatus().then(res=>{
+					let that = this;
+					console.log('getPlaceStatus',res.data.data);
+					res.data.data.map(function(currentValue){
+					    that.placeStatus.push({value:currentValue.dictValue,label:currentValue.dictLabel})
+					    // console.log('currentValue',currentValue);
+					})
+					
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			controlDevice(command){
+				this.$u.api.controlDevice({roadwayNo:this.roadNo,command:command}).then(res=>{
+					uni.showToast({
+						icon:'none',
+						title:res.msg
+					})
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+// @import  './login.scss'
+page{background: #fff;}
+.base-info{
+	background-color: #fff;
+	padding: 30rpx 30rpx 40rpx;
+	.base-info-item{
+		font-size: 28rpx;
+		font-weight: 400;
+		color: #6E6E6E;
+		line-height: 40rpx;
+		letter-spacing: 1rpx;
+		margin-bottom: 26rpx;
+	}
+	.report{
+		font-size: 28rpx;
+		font-weight: 400;
+		color: #0082FF;
+		line-height: 40rpx;
+		letter-spacing: 1rpx;
+	}
+}
+.device-log{
+	background-color: #F1F8FF;
+	padding-top: 50rpx;
+	.list-header{
+		margin-bottom: 24rpx;
+	}
+	.device-list-item{
+		font-size: 24rpx;
+		font-weight: 400;
+		color: #7D7D7D;
+		line-height: 33rpx;
+		letter-spacing: 1rpx;
+		margin-bottom: 20rpx;
+	}
+}
+.form-content{
+	padding: 24rpx;
+}
+</style>

+ 260 - 0
pages/deviceList/deviceListType3/deviceListType3.vue

@@ -0,0 +1,260 @@
+<template>
+	<view>
+		<u-navbar
+		 :title="title" 
+		 title-color="#fff" 
+		 :is-back="true"
+		 :custom-back="customBack" 
+		 :border-bottom="false" 
+		 back-icon-color="#CCE8FF" 
+		 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
+		<!-- <u-tabs :list="tabList" :is-scroll="false" height="108" bar-width="100" :current="tabCurrent" @change="tabChange"></u-tabs> -->
+		<!-- <u-gap height="20" bg-color="#F6F6F6"></u-gap> -->
+		<view class="park-num u-flex">
+			<view class="park-num-item">
+				已停车位:<text>{{parkNum.total-parkNum.remaeNum}}个</text>
+			</view>
+			<view class="park-num-item">
+				空余车位:<text>{{parkNum.remaeNum}}个</text>
+			</view>
+		</view>
+		<mescroll-uni ref="mescrollRef01" @init="mescrollInit" :top="config.platform=='h5'?200:300" :down="downOption" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">
+			<view class="device-list u-flex u-flex-wrap u-row-start">
+				<view class="device-list-item u-m-b-24" v-for="item in dataList" :key="item.id"
+				@click="goDetails(item.id)">
+					<view class="top u-text-center">
+						<view class="space-name">{{item.entranceName}}</view>
+						<view class="signal">
+							<text>{{item.roadwayName}}</text>
+						</view>
+					</view>
+					<image class="carImg" src="../../../static/img/daozha-y.png" mode="heightFix"></image>
+					<!-- <view class="deviceNo">{{item.deviceNo}}</view> -->
+				</view>
+			</view>
+		</mescroll-uni>
+	</view>
+</template>
+
+<script>
+	import MescrollMixin from "@/uni_modules/mescroll-uni/components/mescroll-uni/mescroll-mixins.js";
+	export default{
+		mixins: [MescrollMixin], // 使用mixin (在main.js注册全局组件)
+		components:{
+			
+		},
+		data(){
+			return{
+				roadName:'',
+				roadNo:'',
+				title:"设备列表",
+				tabCurrent:0,
+				breakStatus:'',
+				tabList:[
+					{name:'全部',status:''},
+					{name:'异常',status:'0'},
+					{name:'低电量',status:'3200_b'},
+					{name:'低信号',status:'-100_s'}
+				],
+				downOption:{
+					auto:false // 不自动加载 (mixin已处理第一个tab触发downCallback)
+				},
+				upOption:{
+					page: {
+						size: 10 // 每页数据的数量
+					},
+					auto:true,
+					// use:false,
+					noMoreSize: 4, //如果列表已无数据,可设置列表的总数量要大于半页才显示无更多数据;避免列表数据过少(比如只有一条数据),显示无更多数据会不好看; 默认5
+					empty:{
+						tip: '~ 暂无数据 ~', // 提示
+						// btnText: '去看看'
+					}
+				},
+				dataList:[],
+				lowBattery:'',
+				lowSignal:'',
+				parkNum:{},
+				
+			}
+		},
+		onLoad(page){
+			console.log('page',page);
+			this.getGeoDeviceStatust()
+			if(page.roadName){
+				this.roadName = page.roadName;
+				this.title = page.roadName;
+			}
+			if(page.roadNo){
+				this.roadNo = page.roadNo
+			}
+			if(page.deviceType){
+				this.deviceType = page.deviceType
+			}
+		},
+		onShow(){
+			this.selectParkNum();
+		},
+		methods:{
+			customBack(){
+				this.$u.route({
+				  url: '/pages/deviceList/deviceList',
+					params:{
+						param:this.deviceType
+					}
+				})
+				// uni.reLaunch({
+				//     url: '/pages/deviceList/deviceList'
+				// });
+			},
+			openPage(path,id) {
+			  this.$u.route({
+			    url: path,
+				params:{
+					id:id
+				}
+			  })
+			},
+			goDetails(id){
+				this.$u.route({
+				  url: 'pages/deviceList/deviceListType3/deviceInfo',
+					params:{
+						id:id,
+						roadNo:this.roadNo,
+						roadName:this.roadName,
+						deviceType:this.deviceType,
+					}
+				})
+			},
+			// 切换菜单
+			tabChange(index) {
+				this.tabCurrent = index;
+				this.breakStatus = this.tabList[index].status;
+				this.refresh()
+			},
+			/*上拉加载的回调: 其中page.num:当前页 从1开始, page.size:每页数据条数,默认10 */
+			upCallback(page) {
+				// console.log('page',page);
+				let params ={
+					roadNo:this.roadNo,
+					deviceType:this.deviceType,//设备类型: 1-地磁 2-车位锁
+					breakStatus:this.breakStatus,//设备状态:低电量 (3200_b )、 低信号( -100_s)、有故障(0)
+					pageNum:page.num,
+					pageSize:page.size
+				};
+				this.$u.api.selectParkDeviceList(params).then(curPageData=>{
+					// console.log('word',word);
+					 console.log('curPageData',curPageData);
+					//联网成功的回调,隐藏下拉刷新和上拉加载的状态;
+					this.mescroll.endSuccess(curPageData.data.total);
+					this.mescroll.endBySize(curPageData.data.rows.length, curPageData.data.total);
+					//设置列表数据
+					if(page.num == 1) this.dataList = []; //如果是第一页需手动制空列表
+					this.dataList=this.dataList.concat(curPageData.data.rows); //追加新数据
+					console.log('this.dataList',this.dataList);
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			//点击空布局按钮的回调
+			emptyClick(){
+				uni.showToast({
+					title:'点击了按钮,具体逻辑自行实现'
+				})
+			},
+			refresh(){
+				this.mescroll.resetUpScroll( );
+			},
+			getGeoDeviceStatust(){
+				this.$u.api.geoDeviceStatust().then(res=>{
+					let that = this;
+					res.data.data.forEach(function(item){
+						if(item.dictLabel=='低电量'){that.lowBattery = Number( item.dictValue.split('_')[0] )}
+						if(item.dictLabel=='低信号'){that.lowSignal = Number( item.dictValue.split('_')[0] )}
+					});
+					console.log('this.lowBattery',this.lowBattery);
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			},
+			selectParkNum(){
+				this.$u.api.selectParkNum({roadNo:this.roadNo}).then(res=>{
+					console.log('selectParkNum',res);
+					this.parkNum = res.data;
+				}).catch(()=>{
+					console.log('catch');
+					//联网失败, 结束加载
+					this.mescroll.endErr();
+				})
+			}
+			
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+page{background-color: #F3F3F3;}
+.device-list{
+	margin: 24rpx 0;
+	.device-list-item{
+		background-color: #fff;
+		width: 45%;
+		margin: 0 0 24rpx 3.3%;
+		padding: 15rpx;
+		border-radius: 13rpx;
+		.top{
+			margin-bottom: 20rpx;
+			.space-name{
+				color: #5B5B5B;
+				font-size: 26rpx;
+			}
+			.signal{
+				font-size: 26rpx;
+				color: #5B5B5B;
+				.img{
+					display: inline-block;
+					height: 26rpx;
+					margin-left: 7rpx;
+				}
+			}
+			.low{color: #f00;}
+		}
+		.vehicleNo{
+			height: 42rpx;
+			font-size: 30rpx;
+			font-weight: 400;
+			color: #212121;
+			line-height: 42rpx;
+			text-align: center;
+		}
+		.carImg{
+			height: 118rpx;
+			display: block;
+			margin: 16rpx auto 18rpx;
+		}
+		.parkingTime{
+			height: 37rpx;
+			font-size: 26rpx;
+			font-weight: 400;
+			color: #5B5B5B;
+			line-height: 37rpx;
+			margin-bottom: 15rpx;
+			text-align: center;
+		}
+		.deviceNo{text-align: center;}
+	}
+	
+}
+.park-num{
+	background-color: #fff;
+	padding: 30rpx;
+	.park-num-item{
+		&+ .park-num-item{margin-left: 34rpx;}
+		text{color: #0082FF;}
+	}
+}
+</style>

+ 1 - 1
pages/equipmentList/equipmentList.vue

@@ -8,7 +8,7 @@
 			 :custom-back="customBack" 
 			 :border-bottom="false" 
 			 back-icon-color="#CCE8FF" 
-			 :background="{background: '#4D68DC' }"></u-navbar>
+			 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
 		</view>
 		<!-- <u-button class="u-reset-button" @click="selectShow = true">{{deviceType}}</u-button> -->
 		

+ 1 - 1
pages/ownersQuery/queryList/queryList.vue

@@ -7,7 +7,7 @@
 		 :border-bottom="false" 
 		 :custom-back="customBack" 
 		 back-icon-color="#CCE8FF" 
-		 :background="{background: '#4D68DC' }"></u-navbar>
+		 :background="{background: 'linear-gradient(99deg, #7A4398 0%, #5A5DB9 100%)' }"></u-navbar>
 		<!-- <u-tabs :list="tabList" :is-scroll="false" height="108" bar-width="100" :current="tabIndex" @change="tabChange"></u-tabs>
 		<u-gap height="20" bg-color="#F6F6F6"></u-gap> -->
 		<mescroll-uni ref="mescrollRef" @init="mescrollInit" :top="60" @down="downCallback" :up="upOption" @up="upCallback" @emptyclick="emptyClick">

BIN
static/img/daozha-y.png


+ 33 - 0
utils/filter.js

@@ -160,6 +160,39 @@ Vue.filter("deviceStatus",function(value){
 			break;
 	}
 });
+// 车位锁设配状态
+Vue.filter("device2Status",function(value){
+	status = Number(value);
+	switch (value){
+		case 0:
+			return '降板'
+			break;
+		case 1:
+			return '升板'
+			break;
+		case 2:
+			return '心跳'
+			break;
+		case 5:
+			return '车辆入位'
+			break;
+		case 6:
+			return '车辆出位'
+			break;
+		case 7:
+			return '复位'
+			break;
+		case 8:
+			return '逃费'
+			break;
+		case 10:
+			return '状态上报'
+			break;
+		default:
+			return '未知'
+			break;
+	}
+});
 
 // 查看设备事件信息事件类型
 Vue.filter("deviceLogMsgType",function(value){