zhangyun пре 4 година
родитељ
комит
32c39744b7
100 измењених фајлова са 862 додато и 653 уклоњено
  1. 9 0
      pages.json
  2. 98 64
      pages/cb/cbd/equip-set/imgpage.vue
  3. 169 0
      pages/cb/cbd/equip-set/results.vue
  4. 5 5
      pages/cb/equip-detail/equip-detail.vue
  5. 1 1
      pages/cb/xy2.0/particulars.vue
  6. 1 1
      pages/disandpests/index.vue
  7. 0 384
      pages/distribution/index.vue
  8. 210 31
      pages/environment/equipment.vue
  9. 1 1
      pages/expertDiagnosis/index.vue
  10. 1 1
      pages/expertDiagnosis/wormcase.vue
  11. 2 1
      pages/prevention/index.vue
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/imgpage.js.map
  13. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/results.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/equip-detail/equip-detail.js.map
  15. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy2.0/particulars.js.map
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/disandpests/index.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/distribution/index.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/equipment.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/index.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/wormcase.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/index.js.map
  22. 2 1
      unpackage/dist/dev/mp-weixin/app.json
  23. 11 11
      unpackage/dist/dev/mp-weixin/common/vendor.js
  24. 8 8
      unpackage/dist/dev/mp-weixin/components/bazaar-city_list/index.js
  25. 8 8
      unpackage/dist/dev/mp-weixin/components/equip-item/equip-item.js
  26. 8 8
      unpackage/dist/dev/mp-weixin/components/ksp-image-cutter/ksp-image-cutter.js
  27. 8 8
      unpackage/dist/dev/mp-weixin/components/uni-icons/uni-icons.js
  28. 8 8
      unpackage/dist/dev/mp-weixin/components/uni-nav-bar/uni-nav-bar.js
  29. 8 8
      unpackage/dist/dev/mp-weixin/components/uni-status-bar/uni-status-bar.js
  30. 2 2
      unpackage/dist/dev/mp-weixin/pages/afterSale/addafter.js
  31. 1 1
      unpackage/dist/dev/mp-weixin/pages/afterSale/index.js
  32. 1 1
      unpackage/dist/dev/mp-weixin/pages/afterSale/search.js
  33. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/bzy/equip-set/bzyhistoryile.js
  34. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/bzy/equip-set/equip-set.js
  35. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/addimg.js
  36. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/equip-set.js
  37. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/historyfile.js
  38. 8 8
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.js
  39. 1 3
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.json
  40. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.wxml
  41. 21 6
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.wxss
  42. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/note.js
  43. 34 0
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.js
  44. 5 0
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.json
  45. 1 0
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.wxml
  46. 118 0
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.wxss
  47. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.js
  48. 2 2
      unpackage/dist/dev/mp-weixin/pages/cb/equip-detail/equip-detail.js
  49. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/equip-detail/equip-detail.wxml
  50. 2 2
      unpackage/dist/dev/mp-weixin/pages/cb/index/index.js
  51. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/index/search.js
  52. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/sim/sim.js
  53. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/xy/equip-set/equip-set.js
  54. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/xy/equip-set/xyhistoryile.js
  55. 2 2
      unpackage/dist/dev/mp-weixin/pages/cb/xy2.0/particulars.js
  56. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/xy2.0/particulars.wxml
  57. 2 2
      unpackage/dist/dev/mp-weixin/pages/disandpests/index.js
  58. 1 1
      unpackage/dist/dev/mp-weixin/pages/disandpests/index.wxml
  59. 1 1
      unpackage/dist/dev/mp-weixin/pages/distribution/index.js
  60. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/contros.js
  61. 7 7
      unpackage/dist/dev/mp-weixin/pages/environment/equipment.js
  62. 2 1
      unpackage/dist/dev/mp-weixin/pages/environment/equipment.json
  63. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/equipment.wxml
  64. 27 0
      unpackage/dist/dev/mp-weixin/pages/environment/equipment.wxss
  65. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/history.js
  66. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/index.js
  67. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/onedaythedata.js
  68. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/search.js
  69. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipList/index.js
  70. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipList/modification.js
  71. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipList/search.js
  72. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipMange/index/addusers.js
  73. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipMange/index/assignment.js
  74. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipMange/index/changepasswold.js
  75. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipMange/index/index.js
  76. 1 1
      unpackage/dist/dev/mp-weixin/pages/equipMange/index/useroperation.js
  77. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/exchangeShare.js
  78. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/index.js
  79. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/index.wxml
  80. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/introduce.js
  81. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/particulars.js
  82. 2 2
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/postmessage.js
  83. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/wormcase.js
  84. 1 1
      unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/wormcase.wxml
  85. 2 2
      unpackage/dist/dev/mp-weixin/pages/fourBase/addbase.js
  86. 1 1
      unpackage/dist/dev/mp-weixin/pages/fourBase/allocation.js
  87. 1 1
      unpackage/dist/dev/mp-weixin/pages/fourBase/basefacility.js
  88. 1 1
      unpackage/dist/dev/mp-weixin/pages/fourBase/city.js
  89. 1 1
      unpackage/dist/dev/mp-weixin/pages/fourBase/index.js
  90. 2 2
      unpackage/dist/dev/mp-weixin/pages/fourBase/modification.js
  91. 2 2
      unpackage/dist/dev/mp-weixin/pages/index/index.js
  92. 1 1
      unpackage/dist/dev/mp-weixin/pages/login/login.js
  93. 2 2
      unpackage/dist/dev/mp-weixin/pages/monitor/index.js
  94. 1 1
      unpackage/dist/dev/mp-weixin/pages/my/about/about.js
  95. 1 1
      unpackage/dist/dev/mp-weixin/pages/my/index/index.js
  96. 1 1
      unpackage/dist/dev/mp-weixin/pages/my/record/record.js
  97. 1 1
      unpackage/dist/dev/mp-weixin/pages/prevention/control.js
  98. 1 1
      unpackage/dist/dev/mp-weixin/pages/prevention/equipmentdetails.js
  99. 1 1
      unpackage/dist/dev/mp-weixin/pages/prevention/index.js
  100. 0 0
      unpackage/dist/dev/mp-weixin/pages/prevention/index.wxml

+ 9 - 0
pages.json

@@ -482,6 +482,15 @@
             }
             
         }
+		,{
+		    "path" : "pages/cb/cbd/equip-set/results",
+		    "style" :                                                                                    
+		    {
+		        "navigationBarTitleText": "识别结果",
+		        "enablePullDownRefresh": false
+		    }
+		    
+		}
     ],
 	"condition": { //模式配置,仅开发期间生效
 		"current": 3, //当前激活的模式(list 的索引项)

+ 98 - 64
pages/cb/cbd/equip-set/imgpage.vue

@@ -7,14 +7,12 @@
 			</view>
 			<p class="tishi" v-if="tishi">暂无数据</p>
 			<view class="timeshow">
-				<view class="timeshow_tate" @click="selecttimestate">
-					{{timestate|timeFormat()}}
-				</view>
-				<view class="timeshow_end" @click="selecttimeend">
-					{{timeend|timeFormat()}}
+				<view class="shuju_one_title">
+					<view :class="titleidnex==index?'title_text_color':'tltle_text'" v-for="(item,index) in titletext" :key="index"
+					 @click="changeindex(index)">
+						{{item}}
+					</view>
 				</view>
-				<u-icon name="search" size="36" @click="search"></u-icon>
-				<u-picker mode="time" v-model="timeshow" :params="params" @confirm="confirm"></u-picker>
 			</view>
 			<view class="imglist">
 				<view class="imglist_box" v-for="(item,index) in imglists" :key="index">
@@ -67,7 +65,10 @@
 				},
 				flag:1,
 				self:true,
-				isTop:false
+				isTop:false,
+				resultdata:{},
+				titletext: ["24小时", "近一个月", "近半年", "近一年"],
+				titleidnex:0
 			}
 		},
 		methods: {
@@ -100,16 +101,19 @@
 						addrlist: id
 					}
 				})
-			},
-			//forecast.forecast_system.equip_photo_discern识别
-			async discern(id) { //识别图片
-				const res = await this.$myRequest({
-					url: '/api/api_gateway?method=forecast.forecast_system.equip_photo_discern',
-					data: {
-						img_id: id,
-						ret: "see"
-					}
-				})
+				if (res) {
+					uni.showToast({
+						title: '指令下发成功!',
+						duration: 2000
+					});
+					this.imglistdata(parseInt(this.timestate),parseInt(this.timeend))
+				}else{
+					uni.showToast({
+						title: '指令下发失败!',
+						duration: 2000,
+						icon:"none"
+					});
+				}
 			},
 			//forecast.forecast_system.equip_photo_species  pest_list
 			//forecast.forecast_system.equip_photo_species统计
@@ -121,6 +125,18 @@
 						img_id: id
 					}
 				})
+				if (res) {
+					uni.showToast({
+						title: '指令下发成功!',
+						duration: 2000
+					});
+				}else{
+					uni.showToast({
+						title: '指令下发失败!',
+						duration: 2000,
+						icon:"none"
+					});
+				}
 			},
 			//forecast.send_control.admin_device_control 拍照 
 			async takephoto() { //统计
@@ -138,10 +154,18 @@
 						title: '指令下发成功!',
 						duration: 2000
 					});
+					var that = this
+					setTimeout(()=>{
+						that.imglistdata(parseInt(that.timestate),parseInt(that.timeend))
+					},1000)
+				}else{
+					uni.showToast({
+						title: '指令下发失败!',
+						duration: 2000,
+						icon:"none"
+					});
 				}
-				uni.navigateBack({
-					delta:1
-				})
+				
 			},
 			clickLeft() {
 				uni.navigateBack({
@@ -154,7 +178,7 @@
 					content: '是否删除此图片?',
 					success: function(res) {
 						if (res.confirm) {
-							// this.del(id)
+							this.del(id)
 							console.log('用户点击确定');
 						} else if (res.cancel) {
 							console.log('用户点击取消');
@@ -163,7 +187,10 @@
 				});
 			},
 			shibie(id) { //识别
-				this.discern(id)
+				// this.discern(id)
+				uni.navigateTo({
+					url: "./results?id="+id
+				})
 			},
 			tongji(id) { //统计
 				this.species(id)
@@ -187,34 +214,31 @@
 			clickRight() { //下发拍照指令
 				this.takephoto()
 			},
-			confirm(val){//时间选择框确定按钮
-				
-				var time = val.year+"-"+val.month+"-"+val.day+" "+val.hour+":"+val.minute+":00"
-				if(this.flag==1){
-					this.timestate = +new Date(time)/1000
-				}else if(this.flag==2){
-					this.timeend = +new Date(time)/1000
-				}
-			},
-			selecttimestate(){//开始时间选择
-				this.timeshow = !this.timeshow
-				this.flag = 1
-			},
-			selecttimeend(){//结束时间选择
-				this.timeshow = !this.timeshow
-				this.flag = 2
-			},
-			search(){//按时间搜索
-				this.imglists=[]
-				this.page = 1
-				this.imglistdata(parseInt(this.timestate),parseInt(this.timeend))
-				this.self = false
-			},
 			top() {
 				uni.pageScrollTo({
 					scrollTop: 0,
 					duration: 500
 				})
+			},
+			changeindex(index){
+				this.imglists=[]
+				this.page =1
+				this.titleidnex = index
+				var newtime = new Date()
+				this.timeend = +new Date(newtime)/1000
+				if(index == 0){
+					this.timestate = newtime - 60 * 60 * 24*1000
+					this.imglistdata(parseInt(this.timestate/1000),parseInt(this.timeend))
+				}else if(index == 1){
+					this.timestate = newtime.setMonth(newtime.getMonth() - 1)
+					this.imglistdata(parseInt(this.timestate/1000),parseInt(this.timeend))
+				}else if(index == 2){
+					this.timestate = newtime.setMonth(newtime.getMonth() - 6)
+					this.imglistdata(parseInt(this.timestate/1000),parseInt(this.timeend))
+				}else if(index == 3){
+					this.timestate = newtime.setFullYear(newtime.getFullYear() - 1)
+					this.imglistdata(parseInt(this.timestate/1000),parseInt(this.timeend))
+				} 
 			}
 		},
 		onLoad(option) {
@@ -223,19 +247,13 @@
 			this.d_id = option.d_id
 		},
 		onShow(){
-			setTimeout(()=>{
-				this.imglistdata('','')
-			},1000)
 			this.timeend = +new Date() / 1000
 			this.timestate = this.timeend - 60 * 60 * 24
+			this.imglistdata(parseInt(this.timestate),parseInt(this.timeend))
 		},
 		onReachBottom() {
 			this.page++
-			if(this.self){
-				this.imglistdata('','')
-			}else{
-				this.imglistdata(parseInt(this.timestate),parseInt(this.timeend))
-			}
+			this.imglistdata(parseInt(this.timestate/1000),parseInt(this.timeend))
 		},
 		onPageScroll(e) { //nvue暂不支持滚动监听,可用bindingx代替
 			if (e.scrollTop > 200) { //距离大于200时显示
@@ -267,16 +285,30 @@
 		display: flex;
 		z-index: 100;
 		padding-top: 10px;
-
-		.timeshow_tate,
-		.timeshow_end {
-			height: 50rpx;
-			width: 45%;
-			line-height: 50rpx;
-			text-align: center;
-			margin-right: 10rpx;
-			background-color: #56C877;
-			color: #FFFFFF;
+		
+		.shuju_one_title {
+			width: 70%;
+			margin: 0 auto;
+			display: flex;
+			.tltle_text {
+				width: 25%;
+				border: 2rpx solid #B2B2B2;
+				color: #B2B2B2;
+				text-align: center;
+				font-size: 24rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+			}
+		
+			.title_text_color {
+				width: 25%;
+				border: 2rpx solid #28AE4F;
+				color: #28AE4F;
+				text-align: center;
+				font-size: 24rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+			}
 		}
 	}
 	.imglist {
@@ -284,12 +316,14 @@
 		top: 84px;
 		width: 95%;
 		left: 2.5%;
+
 		.imglist_box {
 			display: flex;
 			box-shadow: 0 0 10rpx #bcb9ca;
 			padding: 20rpx;
 			margin-bottom: 20rpx;
 		}
+
 		.imglist_left {
 			width: 50%;
 			position: relative;

+ 169 - 0
pages/cb/cbd/equip-set/results.vue

@@ -0,0 +1,169 @@
+<template>
+	<view>
+		<view class="images_box">
+			<p class="title">图片标记</p>
+			<view class="images">
+				<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/jiazai.ui.gif'" mode="" class="jiazai"></image>
+				<image :src="resuils.image" mode="" @click="examine(resuils)"></image>
+				<view class="imgbg" v-if="imgbg">
+					<image src="../../../../static/images/cb/6286299.gif" mode="" class="img"></image>
+				</view>
+			</view>
+			<view class="btn">
+				<p class="btn_box" @click="anew">重新识别</p>
+			</view>
+		</view>
+		<view class="information">
+			<p class="title">识别结果</p>
+			<view class="information_data" v-for="item,index in resuils.result">
+				<p>害虫名称:<span>{{item.result_list}}</span></p>
+				<p>害虫数量:<span>{{item.nums}}只</span></p>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				resuils:{},
+				id:"",
+				imgbg:false,
+			}
+		},
+		methods: {
+			//forecast.forecast_system.equip_photo_discern识别 see again
+			async discern(ret) { //识别图片
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.forecast_system.equip_photo_discern',
+					data: {
+						img_id: this.id,
+						ret: ret
+					}
+				})
+				console.log(res)
+				if(res){
+					uni.showToast({
+						title: '识别成功!',
+						duration: 2000
+					});
+					this.resuils = res
+					this.imgbg =false
+				}else{
+					uni.showToast({
+						title: '识别失败!',
+						duration: 2000,
+						icon:"none"
+					});
+					this.imgbg =false
+				}
+			},
+			anew(){
+				this.discern("again")
+				this.imgbg =true
+			},
+			examine(url) {
+				console.log(url)
+				var imgarr = []
+				imgarr.push(url.image)
+				console.log(imgarr)
+				uni.previewImage({
+					urls: imgarr
+				});
+			},
+		},
+		onLoad(option) {
+			this.id = option.id
+			this.discern("see")
+		}
+	}
+</script>
+
+<style lang="scss">
+	.images_box{
+		width: 90%;
+		margin: 0 auto;
+		padding-top: 20rpx;
+		.title{
+			border-left: 10rpx solid #71cd9a;
+			padding-left: 20rpx;
+			font-size: 30rpx;
+		}
+		.images{
+			margin: 20rpx 0;
+			width: 100%;
+			height: 480rpx;
+			position: relative;
+			image{
+				width: 100%;
+				position: absolute;
+				top: 0;
+				left: 0;
+			}
+			.jiazai{
+				width: 480rpx;
+				height: 400rpx;
+				position: absolute;
+				top: 50%;
+				left: 50%;
+				margin-top: -240rpx;
+				margin-left: -240rpx;
+			}
+			.imgbg{
+				width: 100%;
+				height: 480rpx;
+				position: absolute;
+				top: 0;
+				left: 0;
+				background-color: rgba(0,0,0,0.5);
+				.img{
+					width: 430rpx;
+					height: 400rpx;
+					position: absolute;
+					top: 50%;
+					left: 50%;
+					margin-top: -200rpx;
+					margin-left: -220rpx;
+				}
+			}
+		}
+		.btn{
+			width: 100%;
+			display: flex;
+			justify-content: flex-end;
+			.btn_box{
+				width: 200rpx;
+				height: 60rpx;
+				background-color: #fbb40a;
+				color: #FFFFFF;
+				text-align: center;
+				line-height: 60rpx;
+				margin-left: -10rpx;
+			}
+		}
+	}
+	.information{
+		width: 90%;
+		margin: 0 auto;
+		padding-top: 20rpx;
+		.title{
+			border-left: 10rpx solid #71cd9a;
+			padding-left: 20rpx;
+			font-size: 30rpx;
+		}
+		.information_data{
+			margin: 30rpx;
+			display: flex;
+			box-shadow: 0 0 10rpx #e8e5f7;
+			padding: 20rpx 10rpx;
+			p{
+				margin-right: 20rpx;
+				font-size: 28rpx;
+				span{
+					color: #FF0000;
+				}
+			}
+		}
+	}
+</style>

+ 5 - 5
pages/cb/equip-detail/equip-detail.vue

@@ -6,10 +6,10 @@
 				<image src="http://static.yfpyx.com/bigdata_app/image/environment/fuzhi.png" mode="" class="tishi"></image>
 			</view>
 			<view class="">
-				设备名称:{{equipInfo.device_name}}
+				设备名称:{{equipInfo.device_name==""?"无":equipInfo.device_name}}
 			</view>
 			<view class="">
-				设备类型:{{equipInfo.type|equipType}}{{equipInfo.type_name}}
+				设备类型:<span v-if="equipInfo.type">{{equipInfo.type|equipType}}</span><span v-else>{{equipInfo.type_name}}</span>
 			</view>
 			<view class="">
 				最新上报时间:{{equipInfo.addtime||equipInfo.uptime | timeFormat}}
@@ -264,7 +264,7 @@
 								txt: '环境湿度(%)',
 								value:this.newState.ah=="30"||this.newState.ah=="3.0"||this.newState.ah==""?this.newState.new_hum:this.newState.ah
 							}, {
-								icon: '/image/cb/icon16.png',
+								icon: '/image/prevention/icon16.png',
 								txt: '信号强度',
 								value: this.newState.csq
 							}, {
@@ -327,7 +327,7 @@
 								txt: '环境湿度(%)',
 								value:this.newState.ah=="30"||this.newState.ah=="3.0"||this.newState.ah==""?this.newState.new_hum:this.newState.ah
 							}, {
-								icon: '/image/cb/icon16.png',
+								icon: '/image/prevention/icon16.png',
 								txt: '信号强度',
 								value: this.newState.csq
 							}, {
@@ -390,7 +390,7 @@
 								value: this.newState.bv
 							},
 							{
-								icon: '/image/cb/icon16.png',
+								icon: '/image/prevention/icon16.png',
 								txt: '信号强度',
 								value: this.newState.csq
 							},

+ 1 - 1
pages/cb/xy2.0/particulars.vue

@@ -81,7 +81,7 @@
 						<view class="sim_plan_text">
 							<p style="width: 100%;"></p>
 						</view>
-						{{simdata.data_plan}}MB
+						{{simdata.data_plan.toFixed(2)}}MB
 					</view>
 					<view class="sim_plan">
 						已用流量:

+ 1 - 1
pages/disandpests/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<view class="status_bar"></view>
-		<view class="" style="position: relative;top: 44px;">
+		<view class="" style="position: relative;top: 64px;">
 			<view style="position: fixed;z-index: 100;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" title="病虫害识别"></uni-nav-bar>
 			</view>

+ 0 - 384
pages/distribution/index.vue

@@ -1,387 +1,3 @@
-<!-- <template>
-	<view>
-		<view class="page-body">
-			<view class="utabs">
-				<view style="width: 95%;margin: 0 auto;">
-					<u-tabs :list="list" :is-scroll="true" :current="current" @change="change" item-width="140" font-size="24" gutter="20"
-					 bar-width="60" active-color="#42b983"></u-tabs>
-				</view>
-			</view>
-			<view class="LocationAndDetails">
-				<view class="search">
-					<input type="text" v-model="device_id" placeholder="请输入设备ID"/>
-				</view>
-				<view class="Location">
-					<view class="particulars_par" @click="eqinfo">
-						查看详情
-					</view>
-					<view class="particulars_ser" @click="serTFs">
-						查看位置
-					</view>
-				</view>
-			</view>
-			<view class="page-section page-section-gap">
-				<map class="map" scale="3" :markers="covers" :enable-zoom="true"
-				 @markertap="markertap" >
-				</map>
-			</view>
-		</view>
-	</view>
-</template>
-<script>
-	export default {
-		data() {
-			return {
-				id: 0, // 使用 marker点击事件 需要填写id
-				title: 'map',
-				covers: [],
-				list: [{
-					name: "全部"
-				}, {
-					name: "杀虫灯"
-				}, {
-					name: "测报灯"
-				}, {
-					name: "性诱测报"
-				}, {
-					name: "环境检测"
-				}, {
-					name: "监控设备"
-				}, {
-					name: "孢子仪",
-				},{
-					name: "性诱2.0"
-				}],
-				current: 0,
-				icon: [{
-						id: '', //全部
-						url: "../../static/images/distribution/7610e3983eb33ed5b9ad72ebdfc8ed2.png"
-					},
-					{
-						id: 2, //杀虫灯
-						url: "../../static/images/distribution/1bd535eb7dbb0809940030d40c64b4c.png"
-					},
-					{
-						id: 3, //测报灯
-						url: "../../static/images/distribution/0b551e50be351dbc14f0dd6470e3443.png"
-					},
-					{
-						id: 4, //性诱测报
-						url: "../../static/images/distribution/be5c1cfed22713a9544f020cf41c25f.png"
-					},
-					{
-						id: 5, //环境检测
-						url: "../../static/images/distribution/8325b1b6079456ce43f952ce13d2919.png"
-					},
-					{
-						id: 6, //监控设备
-						url: "../../static/images/distribution/2eb9e550709430a1bd8178568c14785.png"
-					},
-					{
-						id: 7, //孢子仪
-						url: "../../static/images/distribution/54a96e2b0ad4efeecbd4a7b5e6deda3.png"
-					},
-					{
-						id: 10, //性诱2.0
-						url: "../../static/images/distribution/515ea6143e0aaff4a823270c7aa00a6.png"
-					},
-				],
-				type: '', //设备类型
-				typeindex: null, //设备选择
-				device_id: '', //设备号
-				serTF: false, //设备搜索显示隐藏
-				punctuationTF: false, //判断是否以点击标点
-				punctuation_id: "", //点击标点的id
-				punctuation_did: '',
-				punctuation_type: '',
-				listindex:1,//以选择设备名称
-				disstyle:{
-					position:"absolute",
-					bottom:"0rpx"
-				},
-				facilitydatas:[]
-			}
-		},
-		onLoad() {
-			this.history()
-		},
-		methods: {
-			async history() { //获取分布位置
-				const res = await this.$myRequest({
-					url: '/api/api_gateway?method=home.homes.equip_map_location',
-					data: {
-						equip_type: this.type,
-						device_id: this.device_id
-					}
-				})
-				console.log(res)
-				this.covers = []
-				for (var i = 0; i < res.length; i++) {
-					var obj = {}
-					obj.latitude = Number(res[i].lat)
-					obj.longitude = Number(res[i].lng)
-					obj.id = parseInt(i)
-					obj.title = res[i].device_name || res[i].device_id
-					obj.width = 30
-					obj.height = 30
-					for (var j = 0; j < this.icon.length; j++) {
-						if (res[i].device_type_id == this.icon[j].id) {
-							obj.iconPath = this.icon[j].url
-						}
-					}
-					this.covers.push(obj)
-				}
-				this.facilitydatas = res
-				if(res.length == 0){
-					uni.showToast({
-						title: '未查询到设备',
-						duration: 2000,
-						icon: "none"
-					});
-				}
-			},
-			change(index) {
-				console.log(index)
-				this.current = index
-				if (index == 0) {
-					this.type = ''
-				} else if(index == 7){
-					this.type = index + 3
-				} else {
-					this.type = index + 1
-				}
-				this.history()
-			},
-			markertap(e) {
-				console.log(e)
-				console.log(this.facilitydatas[e.detail.markerId])
-				this.device_id = this.facilitydatas[e.detail.markerId].device_id
-				this.punctuation_did = this.facilitydatas[e.detail.markerId].d_id
-				this.punctuation_type = this.facilitydatas[e.detail.markerId].device_type_id
-			},
-			serTFs() {
-				this.history()
-			},
-			eqinfo() { //设备信息
-				if (this.punctuation_type == '') {
-					uni.showToast({
-						title: '请点击需查看的设备',
-						duration: 2000,
-						icon: "none"
-					});
-				} else {
-					switch (this.punctuation_type) {
-						case 2:
-							uni.navigateTo({
-								url: "../prevention/ucharts?d_id=" + this.punctuation_did + "&imei=" + this.device_id
-							})
-							break;
-						case 3:
-							uni.navigateTo({
-								url: "../cb/cbd/equip-set/historyfile?d_id=" + this.punctuation_did + "&device_id=" + this.device_id
-							})
-							break;
-						case 4:
-							uni.navigateTo({
-								url: "../cb/xy/equip-set/xyhistoryile?d_id=" + this.punctuation_did + "&device_id=" + this.device_id
-							})
-							break;
-						case 5:
-							uni.navigateTo({
-								url: "../environment/history?d_id=" + this.punctuation_did + "&device_id=" + this.device_id
-							})
-							break;
-						case 6:
-							// uni.navigateTo({
-							// 	url: "../prevention/ucharts?d_id=" + this.punctuation_did + "&device_id=" + this.punctuation_id
-							// })
-							break;
-						case 7:
-							uni.navigateTo({
-								url: "../cb/bzy/equip-set/bzyhistoryile?d_id=" + this.punctuation_did + "&device_id=" + this.device_id
-							})
-							break;
-						case 10:
-							uni.navigateTo({
-								url:"../cb/xy2.0/historydatas?d_id=" + this.punctuation_did + "&device_id=" + this.device_id
-							})
-							break;
-					}
-
-				}
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	.utabs {
-		width: 100%;
-		position: fixed;
-		top: 0px;
-		z-index: 100;
-		background-color: #FFFFFF;
-	}
-	.LocationAndDetails{
-		width: 100%;
-		height: 200rpx;
-		position: fixed;
-		top: 54px;
-		.search{
-			display: flex;
-			input{
-				width: 90%;
-				font-size: 28rpx;
-				margin-left: 40rpx;
-				border: 1px solid #cfccc9;
-				height: 60rpx;
-				padding-left: 15px;
-				box-sizing: border-box;
-				border-radius: 60rpx;
-			}
-		}
-		.Location{
-			display: flex;
-			margin-top: 20rpx;
-			justify-content: space-around;
-			.particulars_par {
-				background-color: #F1F1F1;
-				text-align: center;
-				width: 40%;
-				height: 80rpx;
-				line-height: 80rpx;
-				font-size: 28rpx;
-				border-radius: 40rpx;
-			}
-			.particulars_ser {
-				background-color: #57C87B;
-				text-align: center;
-				width: 40%;
-				height: 80rpx;
-				line-height: 80rpx;
-				font-size: 28rpx;
-				color: #FFFFFF;
-				border-radius: 40rpx;
-			}
-		}
-	}
-	.page-section {
-		margin-top: 144px;
-		height: 80vh;
-		// position: fixed;
-		// top: 144px;
-		.map{
-			width: 100%;
-			height: 100%;
-		}
-	}
-	.particulars {
-		width: 100%;
-		height: 160rpx;
-		position: absolute;
-		bottom: 0;
-		.search_btn_top {
-			width: 100%;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 32rpx;
-			padding-left: 30rpx;
-			box-sizing: border-box;
-		}
-		.search_btn_bot {
-			width: 100%;
-			display: flex;
-		}
-		
-	}
-
-	.distri_ser {
-		position: absolute;
-		bottom: 0rpx;
-		right: 0px;
-		width: 100%;
-		height: 440rpx;
-		background-color: #FFFFFF;
-		.distri_ser_input {
-			width: 90%;
-			margin: 20rpx auto;
-			display: flex;
-			background-color: #F1F1F1;
-			height: 60rpx;
-			border-radius: 30rpx;
-			padding: 10rpx 20rpx;
-			box-sizing: border-box;
-
-			input {
-				width: 90%;
-				font-size: 28rpx;
-				margin-right: 20rpx;
-			}
-		}
-
-		.distri_ser_title {
-			width: 90%;
-			margin: 0 auto;
-			padding-left: 20rpx;
-			border-left: 4rpx solid #57C87B;
-			font-size: 28rpx;
-		}
-
-		.distri_ser_type {
-			width: 90%;
-			margin: 20rpx auto;
-			display: flex;
-			justify-content: space-around;
-
-			.type_items {
-				height: 120rpx;
-				width: 120rpx;
-				padding: 20rpx 0;
-			}
-
-			.type_items_bor {
-				height: 120rpx;
-				width: 120rpx;
-				border: 2rpx solid #57C87B;
-				padding: 20rpx 0;
-			}
-
-			.type_items_img {
-				width: 70rpx;
-				height: 70rpx;
-				margin-left: 20rpx;
-			}
-
-			.type_items_p {
-				font-size: 24rpx;
-				text-align: center;
-			}
-		}
-	}
-
-	.search_btn {
-		width: 100%;
-		display: flex;
-
-		.btn_f,
-		.btn_t {
-			width: 50%;
-			text-align: center;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 28rpx;
-		}
-
-		.btn_f {
-			background-color: #F1F1F1;
-		}
-
-		.btn_t {
-			background-color: #57C87B;
-			color: #FFFFFF;
-		}
-	}
-</style> -->
 <template>
 	<view>
 		<view class="page-body">

+ 210 - 31
pages/environment/equipment.vue

@@ -7,10 +7,10 @@
 			</view>
 			<view class="info">
 				<view class="info_item">
-					<image :src="eqinfo.item.is_online==1?'http://static.yfpyx.com/bigdata_app/image/cb/onBg.png':'http://static.yfpyx.com/bigdata_app/image/cb/offBg.png'" mode=""
-					 class="bgi"></image>
+					<image :src="eqinfo.item.is_online==1?'http://static.yfpyx.com/bigdata_app/image/cb/onBg.png':'http://static.yfpyx.com/bigdata_app/image/cb/offBg.png'"
+					 mode="" class="bgi"></image>
 					<p style="font-size: 32rpx;" @click="copy(eqinfo.item)">设备 ID:{{eqinfo.item.equip_id||eqinfo.item.device_id}}
-					<image src="http://static.yfpyx.com/bigdata_app/image/environment/fuzhi.png" mode="" class="tishi"></image>
+						<image src="http://static.yfpyx.com/bigdata_app/image/environment/fuzhi.png" mode="" class="tishi"></image>
 					</p>
 					<p>设备名称:{{eqinfo.item.equip_name?eqinfo.item.equip_name:"无"}}</p>
 					<p>最近上报时间:{{eqinfo.item.uptime|timeFormat()}}</p>
@@ -22,7 +22,7 @@
 					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/8.png'" mode=""></image>
 					<p>设备控制</p>
 				</view>
-				<view class="control_item" v-if="daydatatf" @click="repairs">
+				<view class="control_item" @click="repairs">
 					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/7.png'" mode=""></image>
 					<p>一键报修</p>
 				</view>
@@ -35,9 +35,10 @@
 				<p class="realtime_title">实时数据</p>
 				<view class="realtime_text">
 					<view class="realtime_text_item">
-						<view class="realtime_text_item_info" v-for="(item,index) in olddata.conf" :key="index" v-if="item">
+						<view class="realtime_text_item_info" v-for="(item,index) in olddata.conf" :key="index" v-if="item" @click="oneday(item,index)">
 							<view class="item_info_img" :style="{'background-color':olddatas[Math.floor(Math.random()*(5-0+1))]}">
-								<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/icon_'+olddata.dat[index][1]+'.png'" mode=""></image>
+								<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/icon_'+olddata.dat[index][1]+'.png'"
+								 mode=""></image>
 							</view>
 							<view class="item_info_text">
 								<p>{{item}}</p>
@@ -48,10 +49,30 @@
 				</view>
 			</view>
 		</view>
+		<u-modal v-model="show" :title-style="{color: 'red'}" :mask-close-able="true" title="24小时数据">
+			<p class="tishiTF" v-if="tishiTF">暂无24小时数据</p>
+			<view class="slot-content" v-else>
+				<canvas v-if="canvastishiTF" canvas-id="canvasColumnA" id="canvasColumnA" class="charts" @touchstart="touchLineA($event)"
+				 @touchmove="moveLineA($event)" @touchend="touchEndLineA($event)" disable-scroll=true :style="{'width':cWidth*pixelRatio+'px','height':cHeight*pixelRatio+'px', 'transform': 'scale('+(1/pixelRatio)+')','margin-left':-cWidth*(pixelRatio-1)/2+'px','margin-top':-cHeight*(pixelRatio-1)/2+'px'}"></canvas>
+				<view class="maxdata">
+					<view class="maxdata_box">
+						<p class="dian"></p>
+						<p>当天最大值:{{onedatasMax}}&nbsp&nbsp{{onedatasMaxtime|timeFormat()}}</p>
+					</view>
+					<view class="maxdata_box">
+						<p class="dian diantwo"></p>
+						<p>当天最小值:{{onedatasMin}}&nbsp&nbsp{{onedatasMintime|timeFormat()}}</p>
+					</view>
+				</view>
+			</view>
+		</u-modal>
+
 	</view>
 </template>
 
 <script>
+	import uCharts from '../../components/js_sdk/u-charts/u-charts/u-charts.js';
+	var canvasColumnA = null;
 	export default {
 		data() {
 			return {
@@ -59,9 +80,20 @@
 				olddata: {},
 				olddatas: ["#fba825", "#53d67c", "#008cf2", "#fb504d", "#d87ffc", "#4ec5f0"],
 				city: "",
-				kongtf:false,
-				daydatatf:false,
-				shujutf:false
+				kongtf: false,
+				daydatatf: false,
+				shujutf: false,
+				onedatas: [],
+				canvastishiTF: true,
+				cWidth: '300',
+				cHeight: '200',
+				pixelRatio: 1,
+				show: false,
+				onedatasMax: 0,
+				onedatasMin: 0,
+				onedatasMaxtime:"",
+				onedatasMintime:"",
+				tishiTF:false
 			}
 		},
 		methods: {
@@ -86,6 +118,21 @@
 				}
 				console.log(this.olddata)
 			},
+			// weather.weather.qxz_data_chart 一天的数据
+			async onehistory() { //设备列表
+				var  newtime = +new Date()/1000
+				var  oldtime = newtime-24*60*60
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=weather.weather.qxz_data_chart',
+					data: {
+						device_id: this.eqinfo.item.equip_id || this.eqinfo.item.device_id,
+						begin: parseInt(oldtime),
+						end: parseInt(newtime)
+					}
+				})
+				this.onedatas = res.data
+				console.log(this.onedatas)
+			},
 			control() { //设备控制
 				uni.navigateTo({
 					url: "./contros?id=" + this.eqinfo.item.d_id
@@ -96,57 +143,153 @@
 					url: "./history?device_id=" + this.eqinfo.item.equip_id
 				})
 			},
-			reverseGeocode(lat,lng){
+			reverseGeocode(lat, lng) {
 				uni.request({
 					type: "GET",
-					url: "https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=" + lng + "," +lat  + "&key=27273b81090f78759e4057f94474516f&radius=1000&extensions=all",
+					url: "https://restapi.amap.com/v3/geocode/regeo?output=JSON&location=" + lng + "," + lat +
+						"&key=27273b81090f78759e4057f94474516f&radius=1000&extensions=all",
 					dataType: "json",
 					complete: ress => {
 						console.log(ress)
 						this.city = ress.data.regeocode.formatted_address
-					}  
+					}
 				});
 			},
-			copy(item){
+			copy(item) {
 				uni.setClipboardData({
-				    data: item.equip_id||item.device_id,
-				    success: function () {
-				        console.log('success');
-				    }
+					data: item.equip_id || item.device_id,
+					success: function() {
+						console.log('success');
+					}
 				});
 			},
-			repairs(){
+			repairs() {
 				console.log(this.eqinfo.item)
-				var device_id = this.eqinfo.item.equip_id||this.eqinfo.item.device_id
+				var device_id = this.eqinfo.item.equip_id || this.eqinfo.item.device_id
 				uni.navigateTo({
-					url: "../afterSale/addafter?device_id="+ device_id +"&device_type="+ 5
+					url: "../afterSale/addafter?device_id=" + device_id + "&device_type=" + 5
 				})
-			}
+			},
+			oneday(item, index) {
+				console.log(item, index)
+				var obj = {
+					name: item,
+					data: [],
+				}
+				var xtitle = []
+				var linearr = []
+				var arr = []
+				var timearr = []
+				for (var i = 0; i < this.onedatas.length; i++) {
+					if(Number(this.onedatas[i].dat[index].slice(0, this.onedatas[i].dat[index].indexOf("#")))!=-99.99){
+						obj.data.unshift(Number(this.onedatas[i].dat[index].slice(0, this.onedatas[i].dat[index].indexOf("#"))))
+						arr.unshift(Number(this.onedatas[i].dat[index].slice(0, this.onedatas[i].dat[index].indexOf("#"))))
+						var times = new Date(this.onedatas[i].time * 1000)
+						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getMinutes())
+						timearr.unshift(+new Date(times)/1000)
+					}
+				}
+				arr.sort(function(a, b) {
+					return a - b
+				})
+				this.onedatasMin = arr[0]
+				this.onedatasMax = arr[arr.length - 1]
+				for(var i = 0; i < obj.data.length; i++){
+					if(this.onedatasMax==obj.data[i]){
+						this.onedatasMaxtime = timearr[i]
+					}
+					if(this.onedatasMin==obj.data[i]){
+						this.onedatasMintime = timearr[i]
+					}
+				}
+				linearr.push(obj)
+				if(obj.data.length==0){
+					this.tishiTF = true
+				}else{
+					this.tishiTF = false
+				}
+				this.showColumn("canvasColumnA", xtitle, linearr)
+				this.show = true
+			},
+			showColumn(id, xtitle, xinfo) {
+				var _self = this
+				canvasColumnA = new uCharts({
+					canvasId: id,
+					type: 'line',
+					legend: {
+						position: "top"
+					},
+					fontSize: 11,
+					background: '#FFFFFF',
+					pixelRatio: 1,
+					animation: true,
+					dataLabel: false,
+					categories: xtitle,
+					series: xinfo,
+					enableScroll: true, //开启图表拖拽功能
+					xAxis: {
+						disableGrid: true,
+						type: 'grid',
+						gridType: 'dash',
+						itemCount: 4, //x轴单屏显示数据的数量,默认为5个
+						scrollShow: true, //新增是否显示滚动条,默认false
+						// scrollAlign: 'left', //滚动条初始位置
+						scrollBackgroundColor: '#F7F7FF', //默认为 #EFEBEF
+						scrollColor: '#DEE7F7', //默认为 #A6A6A6
+					},
+					yAxis: {
+						format:(val)=>{return val.toFixed(2)}
+					},
+					width: _self.cWidth * 1,
+					height: _self.cHeight * 1,
+					extra: {
+						line: {
+							type: 'curve'
+						},
+					},
+				});
+			},
+			touchLineA(e) {
+				canvasColumnA.scrollStart(e);
+			},
+			moveLineA(e) {
+				canvasColumnA.scroll(e);
+			},
+			touchEndLineA(e) {
+				canvasColumnA.scrollEnd(e);
+				//下面是toolTip事件,如果滚动后不需要显示,可不填写
+				canvasColumnA.showToolTip(e, {
+					format: function(item, category) {
+						return category + ' ' + item.name + ':' + item.data
+					}
+				});
+			},
 		},
 		onLoad(option) {
 			this.$forceUpdate()
 			this.eqinfo.item = JSON.parse(option.shebei)
 			console.log(JSON.parse(option.shebei))
 			this.history()
-			if(this.eqinfo.item.lat==''||this.eqinfo.item.lng==""){
+			this.onehistory()
+			if (this.eqinfo.item.lat == '' || this.eqinfo.item.lng == "") {
 				console.log(1)
-			}else{
-				this.reverseGeocode(this.eqinfo.item.lat,this.eqinfo.item.lng)
+			} else {
+				this.reverseGeocode(this.eqinfo.item.lat, this.eqinfo.item.lng)
 			}
 			uni.getStorage({
-				key:"jurisdiction",
-				success:(res)=>{
+				key: "jurisdiction",
+				success: (res) => {
 					console.log(JSON.parse(res.data))
-					let items = JSON.parse(res.data).filter((item)=>{
+					let items = JSON.parse(res.data).filter((item) => {
 						return item.purview_name == "环境监测系统"
 					})
-					let items2 = items[0].children.filter((item)=>{
+					let items2 = items[0].children.filter((item) => {
 						return item.purview_name == "环境监测"
 					})
 					var arr = items2[0].children
 					console.log(arr)
-					for(var i =0;i<arr.length;i++){
-						switch (arr[i].purview_name){
+					for (var i = 0; i < arr.length; i++) {
+						switch (arr[i].purview_name) {
 							case "设备控制":
 								this.kongtf = true
 								break
@@ -169,6 +312,7 @@
 		width: 100%;
 		position: absolute;
 		top: 44px;
+
 		.info_item {
 			width: 90%;
 			margin: 0 auto;
@@ -176,6 +320,7 @@
 			padding: 26rpx 50rpx;
 			position: relative;
 			box-sizing: border-box;
+
 			.bgi {
 				width: 100%;
 				height: 250rpx;
@@ -184,11 +329,13 @@
 				left: 0;
 				z-index: -1;
 			}
+
 			p {
 				font-size: 24rpx;
 				color: #FFFFFF;
 				margin-bottom: 10rpx;
-				.tishi{
+
+				.tishi {
 					width: 30rpx;
 					height: 30rpx;
 					margin: 0rpx 0 0 20rpx;
@@ -211,6 +358,7 @@
 			width: 128rpx;
 			height: 120rpx;
 			width: 33%;
+
 			image {
 				width: 70rpx;
 				height: 70rpx;
@@ -258,6 +406,7 @@
 						margin-right: 28rpx;
 						border-radius: 50%;
 						height: 90rpx;
+
 						image {
 							width: 64rpx;
 							height: 64rpx;
@@ -273,4 +422,34 @@
 		}
 
 	}
+
+	.charts {
+		// width: 650upx;
+		// height: 400upx;
+		background-color: #FFFFFF;
+	}
+	.tishiTF{
+		text-align: center;
+		margin-top: 20rpx;
+	}
+	.maxdata {
+		font-size: 26rpx;
+
+		.maxdata_box {
+			display: flex;
+			padding-left: 30rpx;
+			box-sizing: border-box;
+		}
+		.dian {
+			width: 20rpx;
+			height: 20rpx;
+			background-color: red;
+			margin: 8rpx 10rpx 0 0;
+			border-radius: 50%;
+		}
+
+		.diantwo {
+			background-color: #16c60d;
+		}
+	}
 </style>

+ 1 - 1
pages/expertDiagnosis/index.vue

@@ -1,7 +1,7 @@
 <template>
 	<view>
 		<view class="status_bar"></view>
-		<view class="" style="position: relative;top: 44px;">
+		<view class="" style="position: relative;top: 64px;">
 			<view style="position: fixed;z-index: 100;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="专家诊断"></uni-nav-bar>
 			</view>

+ 1 - 1
pages/expertDiagnosis/wormcase.vue

@@ -8,7 +8,7 @@
 			<view class="particulars">
 				<view class="particulars_item" v-for="(item,index) in content" :key="index" @click="introduce(item.id)">
 					<view class="imgs">
-						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/loading-2.gif'" mode="" class="imgbg"></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/jiazai.ui.gif'" mode="" class="imgbg"></image>
 						<image :src="item.img_urls" mode="" class="imgs_img"></image>
 					</view>
 					<p>{{item.name}}</p>

+ 2 - 1
pages/prevention/index.vue

@@ -16,7 +16,8 @@
 						<p :class="item.is_online==1?'green':'red'" v-text="item.is_online==1?'在线':'离线'"></p>
 					</view>
 					<view class="prevents_item_bot">
-						最新上报时间:{{item.addtime|timeFormat()}}
+						<p>设备名称:{{item.device_name==""?"无":item.device_name}}</p>
+						<p>最新上报时间:{{item.addtime|timeFormat()}}</p>
 					</view>
 				</view>
 			</view>

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/imgpage.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/results.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/equip-detail/equip-detail.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy2.0/particulars.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/disandpests/index.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/distribution/index.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/equipment.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/index.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/wormcase.js.map


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/index.js.map


+ 2 - 1
unpackage/dist/dev/mp-weixin/app.json

@@ -60,7 +60,8 @@
     "pages/cb/index/search",
     "pages/my/record/record",
     "pages/cb/xy2.0/particulars",
-    "pages/cb/xy2.0/historydatas"
+    "pages/cb/xy2.0/historydatas",
+    "pages/cb/cbd/equip-set/results"
   ],
   "subPackages": [],
   "window": {

Разлика између датотеке није приказан због своје велике величине
+ 11 - 11
unpackage/dist/dev/mp-weixin/common/vendor.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/components/bazaar-city_list/index.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/components/equip-item/equip-item.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/components/ksp-image-cutter/ksp-image-cutter.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/components/uni-icons/uni-icons.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/components/uni-nav-bar/uni-nav-bar.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/components/uni-status-bar/uni-status-bar.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/afterSale/addafter.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/afterSale/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/afterSale/search.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/bzy/equip-set/bzyhistoryile.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/bzy/equip-set/equip-set.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/addimg.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/equip-set.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/historyfile.js


Разлика између датотеке није приказан због своје велике величине
+ 8 - 8
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.js


+ 1 - 3
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.json

@@ -3,8 +3,6 @@
   "enablePullDownRefresh": false,
   "navigationStyle": "custom",
   "usingComponents": {
-    "uni-nav-bar": "/components/uni-nav-bar/uni-nav-bar",
-    "u-icon": "/uview-ui/components/u-icon/u-icon",
-    "u-picker": "/uview-ui/components/u-picker/u-picker"
+    "uni-nav-bar": "/components/uni-nav-bar/uni-nav-bar"
   }
 }

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.wxml


+ 21 - 6
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/imgpage.wxss

@@ -45,15 +45,30 @@
   z-index: 100;
   padding-top: 10px;
 }
-.timeshow .timeshow_tate,
-.timeshow .timeshow_end {
+.timeshow .shuju_one_title {
+  width: 70%;
+  margin: 0 auto;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.timeshow .shuju_one_title .tltle_text {
+  width: 25%;
+  border: 2rpx solid #B2B2B2;
+  color: #B2B2B2;
+  text-align: center;
+  font-size: 24rpx;
   height: 50rpx;
-  width: 45%;
   line-height: 50rpx;
+}
+.timeshow .shuju_one_title .title_text_color {
+  width: 25%;
+  border: 2rpx solid #28AE4F;
+  color: #28AE4F;
   text-align: center;
-  margin-right: 10rpx;
-  background-color: #56C877;
-  color: #FFFFFF;
+  font-size: 24rpx;
+  height: 50rpx;
+  line-height: 50rpx;
 }
 .imglist {
   position: absolute;

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/note.js


Разлика између датотеке није приказан због своје велике величине
+ 34 - 0
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.js


+ 5 - 0
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.json

@@ -0,0 +1,5 @@
+{
+  "navigationBarTitleText": "识别结果",
+  "enablePullDownRefresh": false,
+  "usingComponents": {}
+}

Разлика између датотеке није приказан због своје велике величине
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.wxml


+ 118 - 0
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/results.wxss

@@ -0,0 +1,118 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.images_box {
+  width: 90%;
+  margin: 0 auto;
+  padding-top: 20rpx;
+}
+.images_box .title {
+  border-left: 10rpx solid #71cd9a;
+  padding-left: 20rpx;
+  font-size: 30rpx;
+}
+.images_box .images {
+  margin: 20rpx 0;
+  width: 100%;
+  height: 480rpx;
+  position: relative;
+}
+.images_box .images image {
+  width: 100%;
+  position: absolute;
+  top: 0;
+  left: 0;
+}
+.images_box .images .jiazai {
+  width: 480rpx;
+  height: 400rpx;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-top: -240rpx;
+  margin-left: -240rpx;
+}
+.images_box .images .imgbg {
+  width: 100%;
+  height: 480rpx;
+  position: absolute;
+  top: 0;
+  left: 0;
+  background-color: rgba(0, 0, 0, 0.5);
+}
+.images_box .images .imgbg .img {
+  width: 430rpx;
+  height: 400rpx;
+  position: absolute;
+  top: 50%;
+  left: 50%;
+  margin-top: -200rpx;
+  margin-left: -220rpx;
+}
+.images_box .btn {
+  width: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-box-pack: end;
+  -webkit-justify-content: flex-end;
+          justify-content: flex-end;
+}
+.images_box .btn .btn_box {
+  width: 200rpx;
+  height: 60rpx;
+  background-color: #fbb40a;
+  color: #FFFFFF;
+  text-align: center;
+  line-height: 60rpx;
+  margin-left: -10rpx;
+}
+.information {
+  width: 90%;
+  margin: 0 auto;
+  padding-top: 20rpx;
+}
+.information .title {
+  border-left: 10rpx solid #71cd9a;
+  padding-left: 20rpx;
+  font-size: 30rpx;
+}
+.information .information_data {
+  margin: 30rpx;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  box-shadow: 0 0 10rpx #e8e5f7;
+  padding: 20rpx 10rpx;
+}
+.information .information_data ._p {
+  margin-right: 20rpx;
+  font-size: 28rpx;
+}
+.information .information_data ._p ._span {
+  color: #FF0000;
+}
+

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/cb/equip-detail/equip-detail.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/equip-detail/equip-detail.wxml


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/cb/index/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/index/search.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/sim/sim.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/xy/equip-set/equip-set.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/xy/equip-set/xyhistoryile.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/cb/xy2.0/particulars.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/xy2.0/particulars.wxml


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/disandpests/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/disandpests/index.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/distribution/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/contros.js


Разлика између датотеке није приказан због своје велике величине
+ 7 - 7
unpackage/dist/dev/mp-weixin/pages/environment/equipment.js


+ 2 - 1
unpackage/dist/dev/mp-weixin/pages/environment/equipment.json

@@ -3,6 +3,7 @@
   "enablePullDownRefresh": false,
   "navigationStyle": "custom",
   "usingComponents": {
-    "uni-nav-bar": "/components/uni-nav-bar/uni-nav-bar"
+    "uni-nav-bar": "/components/uni-nav-bar/uni-nav-bar",
+    "u-modal": "/uview-ui/components/u-modal/u-modal"
   }
 }

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/equipment.wxml


+ 27 - 0
unpackage/dist/dev/mp-weixin/pages/environment/equipment.wxss

@@ -129,4 +129,31 @@
 .realtime .realtime_text .realtime_text_item .realtime_text_item_info .item_info_text {
   font-size: 24rpx;
 }
+.charts {
+  background-color: #FFFFFF;
+}
+.tishiTF {
+  text-align: center;
+  margin-top: 20rpx;
+}
+.maxdata {
+  font-size: 26rpx;
+}
+.maxdata .maxdata_box {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  padding-left: 30rpx;
+  box-sizing: border-box;
+}
+.maxdata .dian {
+  width: 20rpx;
+  height: 20rpx;
+  background-color: red;
+  margin: 8rpx 10rpx 0 0;
+  border-radius: 50%;
+}
+.maxdata .diantwo {
+  background-color: #16c60d;
+}
 

Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/history.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/onedaythedata.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/search.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipList/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipList/modification.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipList/search.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipMange/index/addusers.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipMange/index/assignment.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipMange/index/changepasswold.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipMange/index/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/equipMange/index/useroperation.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/exchangeShare.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/index.wxml


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/introduce.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/particulars.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/postmessage.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/wormcase.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/expertDiagnosis/wormcase.wxml


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/fourBase/addbase.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/fourBase/allocation.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/fourBase/basefacility.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/fourBase/city.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/fourBase/index.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/fourBase/modification.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/index/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/login/login.js


Разлика између датотеке није приказан због своје велике величине
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/monitor/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/my/about/about.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/my/index/index.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/my/record/record.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/prevention/control.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/prevention/equipmentdetails.js


Разлика између датотеке није приказан због своје велике величине
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/prevention/index.js


+ 0 - 0
unpackage/dist/dev/mp-weixin/pages/prevention/index.wxml


Неке датотеке нису приказане због велике количине промена