Explorar el Código

新对接 中捷性诱设备

zhangsijie hace 1 año
padre
commit
55c80b9850
Se han modificado 100 ficheros con 1859 adiciones y 118 borrados
  1. 35 0
      pages.json
  2. 285 0
      pages/cb/zjxydetail/photolist.vue
  3. 470 0
      pages/cb/zjxydetail/thxydetail.vue
  4. 544 0
      pages/cb/zjxydetail/thxyhisdata.vue
  5. 352 0
      pages/cb/zjxydetail/thxyset.vue
  6. 32 26
      pages/equipList/index.vue
  7. 49 0
      static/js/equipState_dict.json
  8. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map
  9. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  10. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/bazaar-city_list/index.js.map
  11. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/equip-item/equip-item.js.map
  12. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/ksp-image-cutter/ksp-image-cutter.js.map
  13. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/multiple-select.js.map
  14. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-icons/uni-icons.js.map
  15. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-nav-bar/uni-nav-bar.js.map
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-status-bar/uni-status-bar.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/afterSale/addafter.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/afterSale/index.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/afterSale/search.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/bzy/equip-set/bzyhistoryile.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/bzy/equip-set/equip-set.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/addimg.js.map
  23. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/analyse.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/equip-set.js.map
  25. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/historyfile.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/imgpage.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/manualinput.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/note.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/results.js.map
  30. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/statistics.js.map
  31. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/equip-detail/equip-detail.js.map
  32. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/index/index.js.map
  33. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/index/search.js.map
  34. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/sim/sim.js.map
  35. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/photolist.js.map
  36. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/thxydetail.js.map
  37. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/thxyhisdata.js.map
  38. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/thxyset.js.map
  39. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/analyse.js.map
  40. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/photolist.js.map
  41. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/xctdetail.js.map
  42. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/xctset.js.map
  43. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy/equip-set/equip-set.js.map
  44. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy/equip-set/xyhistoryile.js.map
  45. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy2.0/historydatas.js.map
  46. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy2.0/particulars.js.map
  47. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/addressbook.js.map
  48. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/basemap.js.map
  49. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/cbwarn.js.map
  50. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/warnset.js.map
  51. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/disandpests/index.js.map
  52. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/disease/cmb.js.map
  53. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/disease/forecastResult.js.map
  54. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/distribution/index.js.map
  55. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/contros.js.map
  56. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/equipment.js.map
  57. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/gsequipment.js.map
  58. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/gshistory.js.map
  59. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/history.js.map
  60. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/index.js.map
  61. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/onedaythedata.js.map
  62. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/search.js.map
  63. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/sim.js.map
  64. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipList/index.js.map
  65. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipList/seabox/modification.js.map
  66. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipList/seabox/search.js.map
  67. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/addusers.js.map
  68. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/assignment.js.map
  69. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/changepasswold.js.map
  70. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/index.js.map
  71. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/useroperation.js.map
  72. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/exchangeShare.js.map
  73. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/index.js.map
  74. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/introduce.js.map
  75. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/particulars.js.map
  76. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/postmessage.js.map
  77. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/wormcase.js.map
  78. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/addbase.js.map
  79. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/allocation.js.map
  80. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/basefacility.js.map
  81. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/index.js.map
  82. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/modification.js.map
  83. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map
  84. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/index.js.map
  85. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/irrmap.js.map
  86. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/realtimedata.js.map
  87. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/search.js.map
  88. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/weathdata.js.map
  89. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map
  90. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/index.js.map
  91. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/sim.js.map
  92. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/about/about.js.map
  93. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/index/index.js.map
  94. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/record/record.js.map
  95. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/user-info/user-info.js.map
  96. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/control.js.map
  97. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/equipmentdetails.js.map
  98. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/index.js.map
  99. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/search.js.map
  100. 0 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/sim.js.map

+ 35 - 0
pages.json

@@ -281,6 +281,41 @@
 			]
 		},
 		{
+			"root": "pages/cb/zjxydetail",
+			"pages": [{
+					"path": "thxydetail",
+					"style": {
+						"navigationBarTitleText": "设备详情",
+						"enablePullDownRefresh": false
+					}
+				},
+				{
+					"path": "photolist",
+					"style": {
+						"navigationBarTitleText": "查看图片",
+						"enablePullDownRefresh": false,
+						"navigationStyle": "custom"
+					}
+		
+				}, {
+					"path": "thxyset",
+					"style": {
+						"navigationBarTitleText": "设备控制",
+						"enablePullDownRefresh": false
+					}
+		
+				},
+				{
+					"path": "thxyhisdata",
+					"style": {
+						"navigationBarTitleText": "历史数据",
+						"enablePullDownRefresh": false
+					}
+		
+				}
+			]
+		},
+		{
 			"root": "pages/cb/xctdetail",
 			"pages": [{
 				"path": "xctdetail",

+ 285 - 0
pages/cb/zjxydetail/photolist.vue

@@ -0,0 +1,285 @@
+<template>
+	<view>
+		<view class="status_bar"></view>
+		<view class="" style="position: relative;top: 44px;">
+			<view style="position: fixed;z-index: 100;">
+				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" title="查看图片" rightIcon="camera"
+					@clickRight="clickRight"></uni-nav-bar>
+			</view>
+			<!-- <p class="tishi" v-if="tishi">暂无数据</p> -->
+			<view class="selecttimes" @click="tiemshow=!tiemshow">
+				<view class="timesbox">
+					<image
+						:src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/prevention/1acfe2751c01d3786cdc49b83d7e505.png'"
+						mode=""></image>
+					<p>{{timetab(timestate)}}</p>
+					<p class="or">~</p>
+					<p>{{timetab(timeend)}}</p>
+					<u-icon name="rili" custom-prefix="custom-icon" class="icon"></u-icon>
+				</view>
+				<u-calendar v-model="tiemshow" mode="range" @change="tiemchange"></u-calendar>
+			</view>
+			<view class="imglist">
+				<view class="imglist_box" v-for="(item,index) in imglists" :key="index">
+					<view class="imglist_left">
+						<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/jiazai.ui.gif" mode="">
+						</image>
+						<image :src="item.addr" mode="" @click="examine(index)"></image>
+					</view>
+					<view class="imglist_right">
+						<view class="">
+							{{item.time}}
+						</view>
+						<view class="">
+							害虫数量:{{item.pest_counts}}
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="top" v-if="isTop" @click="top">
+			<image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'"
+				mode=""></image>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				tiemshow:false,
+				timestate:"",
+				timeend:"",
+				isTop:false,
+				imglists:[],
+				device_id:"",
+				page:1,
+				d_id:""
+			}
+		},
+		methods: {
+			clickLeft(){
+				uni.navigateBack({
+					delta:1
+				})
+			},
+			clickRight(){
+				this.takephoto()
+			},
+			timetab(e) {
+				e = new Date(e * 1000)
+				var year = e.getFullYear()
+				var month = e.getMonth() + 1 < 10 ? "0" + (e.getMonth() + 1) : e.getMonth() + 1
+				var day = e.getDate() < 10 ? "0" + e.getDate() : e.getDate()
+				var time = year + "/" + month + "/" + day
+				return time
+			},
+			examine(index){
+				var imgarr = []
+				for (var i = 0; i < this.imglists.length; i++) {
+					imgarr.push(this.imglists[i].addr)
+				}
+				uni.previewImage({
+					urls: imgarr,
+					current: index
+				});
+			},
+			async getimglist(){
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.forecast_system.device_photo_list',
+					data: {
+						cmd: "xy_three",
+						device_id: this.device_id,
+						page: this.page,
+						page_number: "12",
+						time_begin: Math.floor(this.timestate),
+						time_end: Math.floor(this.timeend),
+					}
+				})
+				console.log(res)
+				this.imglists = [...this.imglists,...res.data]
+				if(this.imglists.length == 0) {
+					uni.showToast({
+						title: '数据为空',
+						duration: 2000,
+						icon:'none'
+					});
+				}
+			},
+			top() {
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 500
+				})
+			},
+			tiemchange(e){
+				// console.log(e)
+				this.imglists = []
+				this.page = 1
+				console.log(e)
+				this.timestate = +new Date(e.startDate) / 1000 - 8 * 60 * 60
+				this.timeend = +new Date(e.endDate) / 1000 + 16 * 60 * 60
+				this.getimglist()
+			},
+			async takephoto() { //拍照
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.admin_device_control',
+					data: {
+						device_type_id: 8,
+						d_id: this.d_id,
+						cmd: "takephoto"
+					}
+				})
+				console.log(res)
+				if (res == true) {
+					uni.showToast({
+						title: '指令下发成功!',
+						duration: 2000
+					});
+					var that = this
+					setTimeout(() => {
+						that.getimglist()
+					}, 1000)
+				} else {
+					uni.showToast({
+						title: '指令下发失败!',
+						duration: 2000,
+						icon: "none"
+					});
+				}
+			
+			},
+		},
+		onLoad(option) {
+			this.d_id =  option.d_id
+			this.device_id = option.device_id
+			this.timeend = +new Date() / 1000
+			this.timestate = this.timeend - 60 * 60 * 24
+			this.getimglist()
+		},
+		onReachBottom() {
+			this.page++
+			this.getimglist()
+		},
+		onPageScroll(e) { //nvue暂不支持滚动监听,可用bindingx代替
+			if (e.scrollTop > 200) { //距离大于200时显示
+				this.isTop = true
+			} else { //距离小于200时隐藏
+				this.isTop = false
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.tishi {
+		position: absolute;
+		top: 104px;
+		width: 95%;
+		left: 2.5%;
+		text-align: center;
+		font-size: 40rpx;
+	}
+
+	.selecttimes {
+		width: 100%;
+		position: fixed;
+		top: 85px;
+		left: 0;
+		z-index: 100;
+		background-color: #fff;
+		padding-top: 30rpx;
+
+		.timesbox {
+			display: flex;
+			width: 95%;
+			margin: 0 auto;
+			justify-content: space-around;
+			box-shadow: 0 0 10rpx #bcb9ca;
+			padding: 10rpx 20rpx;
+			box-sizing: border-box;
+
+			image {
+				width: 30rpx;
+				height: 30rpx;
+				margin-top: 6rpx;
+			}
+
+			.icon {
+				color: #949494;
+				text-align: right;
+				margin-left: 30rpx;
+
+			}
+		}
+
+		/deep/.u-calendar__action {
+			display: flex;
+			justify-content: space-around;
+
+			.u-calendar__action__text {
+				line-height: 25px;
+			}
+		}
+	}
+	.imglist {
+		position: absolute;
+		top: 100px;
+		width: 95%;
+		left: 2.5%;
+	
+		.imglist_box {
+			display: flex;
+			box-shadow: 0 0 10rpx #bcb9ca;
+			padding: 20rpx;
+			margin-bottom: 20rpx;
+			height: 140px;
+		}
+	
+		.imglist_left {
+			width: 50%;
+			position: relative;
+	
+			image {
+				position: absolute;
+				top: 0;
+				left: 0;
+				width: 100%;
+				height: 280rpx;
+			}
+		}
+	
+		.imglist_right {
+			margin-left: 40rpx;
+			padding: 10rpx 0;
+	
+			.icon_box {
+				margin-bottom: 12rpx;
+				font-size: 24rpx;
+	
+				.iconfont {
+					margin-right: 20rpx;
+					color: #56C877;
+					font-size: 32rpx;
+				}
+			}
+	
+			p:last-child {
+				margin-bottom: 0;
+			}
+	
+		}
+	}
+.top {
+		position: fixed;
+		right: 30px;
+		bottom: 100px;
+		z-index: 100;
+
+		image {
+			width: 100rpx;
+			height: 100rpx;
+		}
+	}
+</style>

+ 470 - 0
pages/cb/zjxydetail/thxydetail.vue

@@ -0,0 +1,470 @@
+<template>
+	<view>
+		<view :class="['info',equipInfo.is_online==1?'on':'off']">
+			<view class="" @click="copy(equipInfo)">
+				设备ID:{{equipInfo.imei||equipInfo.device_id}}
+				<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/environment/fuzhi.png" mode="" class="tishi">
+				</image>
+			</view>
+			<view class="">
+				设备名称:{{equipInfo.device_name==""?"无":equipInfo.device_name}}
+			</view>
+			<view class="">
+				设备类型:中捷性诱
+			</view>
+			<view class="">
+				最新上报时间:{{equipInfo.addtime||equipInfo.uptime | timeFormat}}
+			</view>
+			<view class="">
+				设备地址:{{equipInfo.address}}
+			</view>
+			<view class="" @click="setdecoy">
+				诱芯名称:{{equipInfo.decoy}}
+				<u-icon name="edit-pen" color="#f0ad4e" size="28"></u-icon>
+			</view>
+			<view class="" @click="setdecoy">
+				诱芯到期时间:{{equipInfo.xy_expire}}
+				<u-icon name="edit-pen" color="#f0ad4e" size="28"></u-icon>
+			</view>
+		</view>
+		<u-popup v-model="yxShow" mode="center" width="600rpx">
+			<u-field label="害虫名称" label-width='240' required :error-message="xyErr" v-model="decoy" class="field"
+				:field-style="fieldstyle" placeholder="请填写害虫名称">
+			</u-field>
+			<u-field label="诱芯到期时间" label-width='240' required :error-message="xyErrtime" v-model="decoytime"
+				@click="settime" class="field" :field-style="fieldstyle" placeholder="请填写到期时间">
+			</u-field>
+			<view class="" style="text-align: center;color: #fa3534;">
+				{{tishitext}}
+			</view>
+			<view class="btn-box">
+				<u-button @click="yxSubmit" size="mini" type="success" class="box-item">确定</u-button>
+			</view>
+		</u-popup>
+		<u-calendar v-model="tiemshow" mode="date" :max-date="date" @change="tiemchange"></u-calendar>
+		<view class="caobox">
+			<!-- <view class="caobox_item" v-if="$QueryPermission(200)" @click="tophoto">
+				<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/1.png" mode="widthFix"></image>
+				<view class="">
+					查看图片
+				</view>
+			</view>
+			<view class="caobox_item" v-if="$QueryPermission(248)" @click="toset">
+				<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/4.png" mode="widthFix"></image>
+				<view class="">
+					设备控制
+				</view>
+			</view>
+			<view class="caobox_item" v-if="$QueryPermission(247)" @click="tosim">
+				<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/6.png" mode="widthFix"></image>
+				<view class="">
+					SIM卡
+				</view>
+			</view> -->
+			<view class="caobox_item" v-if="$QueryPermission(199)" @click="tohis">
+				<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/2.png" mode="widthFix"></image>
+				<view class="">
+					历史数据
+				</view>
+			</view>
+		</view>
+		<view class="realtime">
+			<view class="realtime_title">
+				<p>实时数据</p>
+			</view>
+			<view class="realtime_text">
+				<view class="realtime_item">
+					<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/xy2.0/wendu.png" mode=""></image>
+					<view class="text">
+						<p>环境温度</p>
+						<p>{{at}}℃</p>
+					</view>
+				</view>
+				<view class="realtime_item">
+					<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/xy2.0/shidu.png" mode=""></image>
+					<view class="text">
+						<p>环境湿度</p>
+						<p>{{ah}}%</p>
+					</view>
+				</view>
+				<view class="realtime_item">
+					<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/xy2.0/tianqi.png" mode=""></image>
+					<view class="text">
+						<p>天气</p>
+						<p>{{wea}}</p>
+					</view>
+				</view>
+				<view class="realtime_item">
+					<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/xy2.0/xiayu.png" mode=""></image>
+					<view class="text">
+						<p>是否下雨</p>
+						<p>{{rain}}</p>
+					</view>
+				</view>
+				<view class="realtime_item">
+					<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/xy2.0/fengxiang.png" mode=""></image>
+					<view class="text">
+						<p>风力风向</p>
+						<p>{{wind}}</p>
+					</view>
+				</view>
+				<view class="realtime_item">
+					<image src="http://www.hnyfwlw.com:8006/bigdata_app/image/cb/xy2.0/yujing.png" mode=""></image>
+					<view class="text">
+						<p>诱虫次数</p>
+						<p>{{wormnum}}</p>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				baseimei: "",
+				equipInfo: {},
+				trapnum: 1,
+				at: "",
+				ah: "",
+				wind: "",
+				wea: "",
+				rain: "",
+				wormnum: "",
+				decoy: "",
+				xyErr: "",
+				xyErrtime: "",
+				decoytime: "",
+				yxShow: false,
+				tiemshow: false,
+				date: "",
+				fieldstyle: { //输入框样式
+					border: "2rpx solid #f6f6f6",
+					"border-radius": "24px",
+					"padding-left": "20rpx",
+					"background-color": "#f6f6f6"
+				},
+				tishitext: ""
+			}
+		},
+		methods: {
+			tosim() {
+				uni.navigateTo({
+					url: "../sim/sim?d_id=" + this.equipInfo.d_id + "&device_id=" + this.equipInfo.imei +
+						"&device_type=" + this.equipInfo.type + "&disable=" + this.equipInfo.disable
+				})
+			},
+			tophoto() {
+				uni.navigateTo({
+					url: "./photolist?device_id=" + this.equipInfo.imei + "&d_id=" + this.equipInfo.d_id
+				})
+			},
+			toset() {
+				uni.navigateTo({
+					url: "./thxyset?device_id=" + this.equipInfo.imei + "&d_id=" + this.equipInfo.d_id +
+						"&dtype=" + this.equipInfo.dtype +
+						"&device_name=" + this.equipInfo.device_name
+				})
+			},
+			tohis() {
+				uni.navigateTo({
+					url: "./thxyhisdata?device_id=" + this.equipInfo.imei + "&d_id=" + this.equipInfo.d_id
+				})
+			},
+			copy(item) {
+				console.log(item)
+				uni.setClipboardData({
+					data: item.imei || item.device_id,
+					success: function() {
+						console.log('success');
+					}
+				});
+			},
+			async getbaseinfo() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxy_list',
+					data: {
+						device_id: this.baseimei,
+						device_type_id: "24",
+						page: "1",
+						page_size: "10",
+					}
+				})
+				console.log(res.data[0])
+				this.equipInfo = res.data[0]
+				this.getatah()
+				this.getwind()
+				this.getweather()
+				this.getworm()
+			},
+			async getatah() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxy_at_ah',
+					data: {
+						device_type_id: 24,
+						d_id: this.equipInfo.d_id,
+						start_time: Math.floor(+new Date() / 1000 - 30 * 24 * 60 * 60),
+						end_time: Math.floor(+new Date() / 1000),
+					}
+				})
+				console.log(res)
+				if (res.length) {
+					this.at = res[0].at
+					this.ah = res[0].ah
+				} else {
+					this.at = "暂无"
+					this.ah = "暂无"
+				}
+			},
+			async getwind() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxy_history_data',
+					data: {
+						d_id: this.equipInfo.d_id,
+						start_time: Math.floor(+new Date() / 1000 - 30 * 24 * 60 * 60),
+						end_time: Math.floor(+new Date() / 1000),
+						device_id: this.equipInfo.imei,
+						page: 1,
+					}
+				})
+				// console.log(res.data[0].d_h_t)
+				if (res.data[0]) {
+					var fs = res.data[0].d_h_t.windSpeed;
+					let fx = res.data[0].d_h_t.windDirection;
+					// if (fx > 337.5 || fx < 22.5) {
+					if (
+						(fx < 360 && fx > 337.5) ||
+						(fx < 22.5 && fx > 0) ||
+						fx == 0 ||
+						fx == 360
+					) {
+						fx = "北";
+					} else if (fx > 22.5 && fx < 67.5) {
+						fx = "东北";
+					} else if (fx > 67.5 && fx < 112.5) {
+						fx = "东";
+					} else if (fx > 112.5 && fx < 157.5) {
+						fx = "东南";
+					} else if (fx > 157.5 && fx < 202.5) {
+						fx = "南";
+					} else if (fx > 202.5 && fx < 247.5) {
+						fx = "西南";
+					} else if (fx > 247.5 && fx < 292.5) {
+						fx = "西";
+					} else if (fx > 292.5 && fx < 337.5) {
+						fx = "西北";
+					} else if (fx == 666) {
+						fx = "无";
+					}
+					if (fs >= 66.6) {
+						fs = 0;
+					}
+					// this.monitordata[4].key = fx + "风" + fs + "级";
+					this.wind = fx + "风" + fs + "级";
+				} else {
+					this.wind = "暂无"
+				}
+			},
+			async getweather() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=device.device_manage.weathers',
+					data: {
+						lng: Number(this.equipInfo.lng),
+						lat: Number(this.equipInfo.lat),
+					}
+				})
+				console.log(res)
+				// this.
+				if (res[0]) {
+					this.wea = res[0].wea
+					this.rain = res[0].wea.indexOf("雨") == -1 ? "否" : "是"
+				} else {
+					this.wea = "暂无"
+					this.rain = "暂无"
+				}
+			},
+			async getworm() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxycb_pest_chart',
+					data: {
+						d_id: this.equipInfo.d_id,
+						start_time: Math.floor(+new Date() / 1000 - 30 * 24 * 60 * 60),
+						end_time: Math.floor(+new Date() / 1000),
+						device_type_id: "24",
+					}
+				})
+				console.log(res)
+				if (res.pest_data.length) {
+					this.wormnum = res.pest_data[0].pest_num
+				} else {
+					this.wormnum = "暂无"
+				}
+			},
+			setdecoy() {
+				this.decoy = this.equipInfo.decoy
+				this.decoytime = this.equipInfo.xy_expire
+				this.yxShow = true
+			},
+			settime() {
+				console.log(12)
+				this.tiemshow = true
+			},
+			tiemchange(e) {
+				console.log(e)
+				this.decoytime = e.result
+			},
+			async yxSubmit() {
+				var time = Math.floor(+new Date(this.decoytime) / 1000)
+				console.log(time)
+				if (this.decoy == "") {
+					this.tishitext = "请填写诱芯名称"
+					return
+				} else if (isNaN(time)) {
+					this.tishitext = "请填写诱芯到期时间"
+					return
+				}
+				this.tishitext = ""
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.set_decopy',
+					data: {
+						decoy: this.decoy,
+						device_id: this.equipInfo.imei,
+						device_type_id: "24",
+						expire_time: time,
+					}
+				})
+				console.log(res)
+				if (res.status) {
+					uni.showToast({
+						title: "设置成功",
+						icon: "none"
+					})
+					this.yxShow = false
+					this.getbaseinfo()
+				}
+			}
+		},
+		onLoad(option) {
+			var times = new Date()
+			this.date = times.getFullYear() + 1 + "-" + Number(times.getMonth() + 1) + "-" + times.getDate()
+			this.baseimei = option.imei
+			// console.log(this.equipInfo)
+			this.getbaseinfo()
+		},
+	}
+</script>
+
+<style lang='less'>
+	page {
+		padding: 20rpx;
+		box-sizing: border-box;
+
+		.info {
+			padding: 20rpx 40rpx;
+			color: #fff;
+			line-height: 50rpx;
+			font-size: 26rpx;
+			background-size: 100% auto;
+			background-repeat: no-repeat;
+			background-color: #0DC6B6;
+			background-position: top left;
+			box-sizing: border-box;
+			width: 100%;
+
+			.tishi {
+				width: 28rpx;
+				height: 28rpx;
+				margin: 0rpx 0 0 20rpx;
+			}
+		}
+
+		.on {
+			background-image: url('http://www.hnyfwlw.com:8006/bigdata_app/image/cb/onBg.png')
+		}
+
+		.off {
+			background-image: url('http://www.hnyfwlw.com:8006/bigdata_app/image/cb/offBg.png')
+		}
+
+		.caobox {
+			display: flex;
+			flex-wrap: wrap;
+			text-align: center;
+			font-size: 28rpx;
+			color: #666;
+			line-height: 50rpx;
+
+			image {
+				width: 52rpx;
+			}
+
+			.caobox_item {
+				padding: 20rpx 0;
+				box-sizing: border-box;
+				flex-basis: 25%;
+			}
+		}
+
+		.realtime {
+			width: 95%;
+			margin: 0rpx auto;
+
+			.realtime_title {
+				font-size: 32rpx;
+				display: flex;
+				justify-content: space-between;
+				font-weight: 700;
+
+				.span {
+					color: #6e6c76;
+					font-size: 24rpx;
+					display: flex;
+					justify-content: space-between;
+					margin-top: 12rpx;
+				}
+			}
+
+			.realtime_text {
+				margin-top: 20rpx;
+				display: flex;
+				justify-content: space-between;
+				flex-wrap: wrap;
+
+				.realtime_item {
+					width: 48%;
+					height: 100rpx;
+					display: flex;
+					box-shadow: 0 0 10rpx #bcb9ca;
+					margin-top: 20rpx;
+					padding: 20rpx 0;
+
+					image {
+						width: 60rpx;
+						height: 60rpx;
+						margin: 20rpx 20rpx 20rpx 40rpx;
+					}
+
+					.text {
+						padding: 10rpx 0 10rpx 30rpx;
+					}
+				}
+			}
+		}
+	}
+
+	.btn-box {
+		text-align: center;
+		padding: 20rpx 30rpx;
+	}
+
+	/deep/.u-calendar__action {
+		display: flex;
+		justify-content: space-around;
+
+		.u-calendar__action__text {
+			line-height: 25px;
+		}
+	}
+</style>

+ 544 - 0
pages/cb/zjxydetail/thxyhisdata.vue

@@ -0,0 +1,544 @@
+<template>
+	<view>
+		<view class="timeandtype">
+			<view class="timebox">
+				<view class="firsttime" @click="timeshow=true">
+					<view class="" v-if="start_time!=''">
+						{{start_time/1000|timeFormat()}}
+					</view>
+					<view class="" v-else>
+						{{start_time==""?'请选择开始时间':start_time}}
+					</view>
+				</view>
+				<view class="jiange">
+					-
+				</view>
+				<view class="endtime" @click="timeshow=true">
+					<view class="" v-if="end_time!=''">
+						{{end_time/1000|timeFormat()}}
+					</view>
+					<view class="" v-else>
+						{{end_time==""?'请选择结束时间':end_time}}
+					</view>
+				</view>
+			</view>
+		</view>
+		<view class="shuju_one">
+			<view class="canvastishi" v-if="!canvastishiTF && !dataloadingtf">
+				暂无数据
+			</view>
+			<view class="canvastishi" v-if="dataloadingtf">
+				<p class="dataloading">加载中</p>
+			</view>
+			<canvas v-if="canvastishiTF" v-show="!timeshow" 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>
+		<view class="shuju_one">
+			<view class="canvastishi" v-if="!canvastishiTF2 && !dataloadingtf2">
+				暂无数据
+			</view>
+			<view class="canvastishi" v-if="dataloadingtf2">
+				<p class="dataloading">加载中</p>
+			</view>
+			<canvas v-if="canvastishiTF2" v-show="!timeshow" canvas-id="canvasColumnB" id="canvasColumnB" class="charts" @touchstart="touchLineB($event)"
+			 @touchmove="moveLineB($event)" @touchend="touchEndLineB($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>
+		<view class="condition">
+			<scroll-view scroll-top="0" scroll-x="true" class="scroll-X">
+				<table class="table" v-if="$QueryPermission(267)">
+					<tr class="tr">
+						<th class="th" v-for="(item,index) in thdata" :key="'a'+index">{{item}}</th>
+					</tr>
+					<tr class="tr" v-for="(items,indexs) in historylistdata" :key="'b'+indexs" v-if="!forbidden">
+						<td class="td">{{items.d_h_t.addtime|timeFormat()}}</td>
+						<td class="td">{{Circulation.highVolt.value[items.d_h_t.highVolt]}}</td>
+						<td class="td">{{Circulation.light.value[items.d_h_t.light]}}</td>
+						<td class="td">{{items.d_h_t.temperature}}</td>
+						<td class="td">{{items.d_h_t.humidity}}</td>
+						<td class="td">{{items.d_h_t.illumination}}</td>
+						<td class="td">{{Circulation.rainFall.value[items.d_h_t.rainFall]}}</td>
+						<td class="td">{{Circulation.rectifier.value[items.d_h_t.rectifier]}}</td>
+						<td class="td">{{Circulation.chargeStatus.value[items.d_h_t.chargeStatus]}}</td>
+						<td class="td">{{items.d_h_t.bugCount}}</td>
+						<td class="td">{{Circulation.rectifier.value[items.d_h_t.solarStatus]}}</td>
+					</tr>
+					<tr class="tr" v-if="forbidden">
+						<td class="td" v-for="item in 11">暂无数据</td>
+					</tr>
+				</table>
+				<table class="table" v-else>
+					<tr class="tr">
+						<th class="th" v-for="(item,index) in thdata2" :key="'a'+index">{{item}}</th>
+					</tr>
+					<tr class="tr" v-for="(items,indexs) in historylistdata" :key="'b'+indexs" v-if="!forbidden">
+						<td class="td">{{items.d_h_t.addtime|timeFormat()}}</td>
+						<td class="td">{{Circulation.highVolt.value[items.d_h_t.highVolt]}}</td>
+						<td class="td">{{Circulation.light.value[items.d_h_t.light]}}</td>
+						<td class="td">{{items.d_h_t.temperature}}</td>
+						<td class="td">{{items.d_h_t.humidity}}</td>
+						<td class="td">{{Circulation.chargeStatus.value[items.d_h_t.chargeStatus]}}</td>
+						<td class="td">{{items.d_h_t.bugCount}}</td>
+					</tr>
+					<tr class="tr" v-if="forbidden">
+						<td class="td" v-for="item in 7">暂无数据</td>
+					</tr>
+				</table>
+			</scroll-view>
+			<view class="pagenumber">
+				<button @click="prev">上一页</button>
+				<view class="pagenumber_page">
+					第 {{page}} 页
+				</view>
+				<view class="pagenumber_page">
+					共 {{pagesum}} 页
+				</view>
+				<button @click="next" :disabled="forbidden">下一页</button>
+			</view>
+		</view>
+		<u-calendar v-model="timeshow" :mode="mode" @change="timechange"></u-calendar>
+	</view>
+</template>
+
+<script>
+	import uCharts from '../../../components/js_sdk/u-charts/u-charts/u-charts.js';
+	import Circulation from "../../../static/js/equipState_dict.json"
+	var canvaColumnA = null;
+	var canvaColumnB = null
+	export default {
+		data() {
+			return {
+				start_time:"",
+				end_time:"",
+				timeshow:false,
+				mode: 'range',
+				cWidth: '400',
+				cHeight: '400',
+				pixelRatio: 1,
+				canvastishiTF:false,
+				dataloadingtf:false,
+				canvastishiTF2:false,
+				dataloadingtf2:false,
+				equipInfo:{},
+				historylistdata: [],
+				thdata: [
+					"上报时间","高压网状态","灯管状态","环境温度(℃)","环境湿度(%)","光照度LUX","下雨传感","整流器状态","充电状态","杀虫数(累计)","太阳板状态",
+				],
+				thdata2: [
+					"上报时间","高压网状态","灯管状态","环境温度(℃)","环境湿度(%)","充电状态","杀虫数(累计)",
+				],
+				page:1,
+				pagesum:"10",
+				Circulation:Circulation,
+				forbidden:false
+			}
+		},
+		methods: {
+			timechange(e){
+				this.start_time = +new Date(e.startDate)
+				this.end_time = +new Date(e.endDate)
+				this.history()
+				this.getworm()
+				this.getwind()
+			},
+			async history() { //历史数据列表折线图
+				this.dataloadingtf = true
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxy_at_ah',
+					data: {
+						device_type_id: 8,
+						d_id: this.equipInfo.d_id,
+						start_time: Math.floor(+new Date(this.start_time) / 1000),
+						end_time: Math.floor(+new Date(this.end_time) / 1000),
+					}
+				})
+				console.log(res)
+				this.dataloadingtf = false
+				this.historydatas = res
+				console.log(this.historydatas)
+				if (this.historydatas.length == 0) {
+					this.canvastishiTF = false
+				} else {
+					this.canvastishiTF = true
+			
+					var arr1 = []
+					var arr2 = []
+					var arr3 = []
+					var xtitle = []
+					for (var i = 0; i < res.length; i++) {
+						var times = new Date(res[i].addtime * 1000)
+						xtitle.push(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getMinutes())
+						arr1.push(res[i].at == "" ? "0" : res[i].at)
+						arr2.push(res[i].ah == "" ? "0" : res[i].ah)
+					}
+					// console.log(arr1)
+					var obj = [{
+						name: '温度',
+						data: arr1,
+						color: '#00E29D'
+					}, {
+						name: '湿度',
+						data: arr2,
+						color: '#6CBBFF'
+					}]
+					this.showColumn("canvasColumnA", xtitle, obj)
+				}
+			},
+			async getworm() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxycb_pest_chart',
+					data: {
+						d_id: this.equipInfo.d_id,
+						start_time: Math.floor(+new Date(this.start_time) / 1000),
+						end_time: Math.floor(+new Date(this.end_time) / 1000),
+						device_type_id: "8",
+					}
+				})
+				console.log(res)
+				this.dataloadingtf2 = false
+				var data = res.pest_data
+				if (data.length == 0) {
+					this.canvastishiTF2 = false
+				} else {
+					this.canvastishiTF2 = true
+			
+					var arr1 = []
+					var xtitle = []
+					for (var i = 0; i < data.length; i++) {
+						var times = new Date(data[i].addtime * 1000)
+						xtitle.push(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getMinutes())
+						arr1.push(data[i].pest_num == "" ? "0" : data[i].pest_num)
+					}
+					// console.log(arr1)
+					var obj = [{
+						name: '诱虫次数',
+						data: arr1,
+						color: '#00E29D'
+					}]
+					this.showColumn2("canvasColumnB", xtitle, obj)
+				}
+			},
+			async getwind() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.worm_lamp.zjxy_history_data',
+					data: {
+						d_id: this.equipInfo.d_id,
+						start_time: Math.floor(+new Date(this.start_time) / 1000),
+						end_time: Math.floor(+new Date(this.end_time) / 1000),
+						device_id: this.equipInfo.imei,
+						page: this.page,
+					}
+				})
+				console.log(res)
+				if(res.data.length){
+					this.historylistdata = res.data
+					this.pagesum = Math.ceil(res.counts/10)
+					this.forbidden = false
+				}else{
+					this.forbidden = true
+				}
+			},
+			prev() { //上一页
+				if (this.page > 1) {
+					this.page--
+					this.getwind()
+				}
+			},
+			next() { //下一页
+				if(this.page < this.pagesum){
+					this.page++
+					this.getwind()
+				}
+			},
+			showColumn(id, xtitle, xinfo) {
+				var _self = this
+				canvaColumnA = 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: {},
+					width: _self.cWidth * 1,
+					height: _self.cHeight * 1,
+					extra: {
+						line: {
+							type: 'curve'
+						}
+					}
+				});
+			},
+			showColumn2(id, xtitle, xinfo) {
+				var _self = this
+				canvaColumnB = 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: {},
+					width: _self.cWidth * 1,
+					height: _self.cHeight * 1,
+					extra: {
+						line: {
+							type: 'curve'
+						}
+					}
+				});
+			},
+			touchLineA(e) {
+				console.log(e)
+				canvaColumnA.scrollStart(e);
+			},
+			moveLineA(e) {
+				canvaColumnA.scroll(e);
+			},
+			touchEndLineA(e) {
+				canvaColumnA.scrollEnd(e);
+				//下面是toolTip事件,如果滚动后不需要显示,可不填写
+				canvaColumnA.showToolTip(e, {
+					format: function(item, category) {
+						return category + ' ' + item.name + ':' + item.data
+					}
+				});
+			},
+			touchLineB(e) {
+				console.log(e)
+				canvaColumnB.scrollStart(e);
+			},
+			moveLineB(e) {
+				canvaColumnB.scroll(e);
+			},
+			touchEndLineB(e) {
+				canvaColumnB.scrollEnd(e);
+				//下面是toolTip事件,如果滚动后不需要显示,可不填写
+				canvaColumnB.showToolTip(e, {
+					format: function(item, category) {
+						return category + ' ' + item.name + ':' + item.data
+					}
+				});
+			},
+		},
+		onLoad(option) {
+			this.equipInfo = option
+			console.log(option)
+			this.end_time = +new Date()
+			this.start_time = +new Date()-30*24*60*60*1000
+			this.cWidth = uni.upx2px(650);
+			this.cHeight = uni.upx2px(500);
+			this.history()
+			this.getworm()
+			this.getwind()
+		}
+	}
+</script>
+
+<style lang="less">
+	.timeandtype {
+		// background-color: #F6F6FB;
+		// padding: 20rpx;
+		box-sizing: border-box;
+		width: 90%;
+		margin: 40rpx auto 0;
+		.timebox {
+			box-shadow: 0 0 10rpx #bcb9ca;
+			display: flex;
+			background-color: #fff;
+			padding: 10px;
+			border-top-right-radius: 5px;
+			border-top-left-radius: 5px;
+	
+			.jiange {
+				width: 5%;
+				text-align: center;
+			}
+	
+			.firsttime,
+			.endtime {
+				width: 45%;
+				text-align: center;
+			}
+		}
+	
+		.warntypebox {
+			display: flex;
+			justify-content: space-between;
+			background-color: #fff;
+			padding: 10px;
+			border-top: 1px solid #F6F6FB;
+			border-bottom-right-radius: 5px;
+			border-bottom-left-radius: 5px;
+		}
+	}
+	.shuju_one {
+		position: relative;
+		width: 90%;
+		margin: 30rpx auto;
+		box-shadow: 0 0 10rpx #bcb9ca;
+		padding-top: 20rpx;
+		height: 550rpx;
+	
+		.canvastishi {
+			font-size: 32rpx;
+			position: absolute;
+			top: 50%;
+			left: 50%;
+			margin-left: -64rpx;
+			margin-top: -21rpx;
+			.dataloading:after {
+				overflow: hidden;
+				display: inline-block;
+				vertical-align: bottom;
+				animation: ellipsis 2s infinite;
+				content: "\2026";
+			}
+			
+			@keyframes ellipsis {
+				from {
+					width: 2px;
+				}
+			
+				to {
+					width: 15px;
+				}
+			}
+		}
+	
+		.shuju_one_title {
+			width: 70%;
+			margin: 0 auto;
+			display: flex;
+	
+			.tltle_text {
+				width: 25%;
+				border: 2rpx solid #B2B2B2;
+				color: #57c878;
+				text-align: center;
+				font-size: 24rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+			}
+	
+			.title_text_color {
+				width: 25%;
+				border: 2rpx solid #57c878;
+				background-color: #57c878;
+				color: #fff;
+				text-align: center;
+				font-size: 24rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+			}
+		}
+	}
+	/deep/.u-calendar__action {
+		display: flex;
+		justify-content: space-around;
+	
+		.u-calendar__action__text {
+			line-height: 25px;
+		}
+	}
+	.condition {
+		display: flex;
+		flex-wrap: wrap;
+		width: 90%;
+		margin: 30rpx auto;
+		box-shadow: 0 0 10rpx #bcb9ca;
+		margin-bottom: 30rpx;
+	
+		.scroll-X {
+			width: 95%;
+			margin: 20rpx auto;
+			.table{
+				width: 1416px;
+			}
+			.tr {
+				display: flex;
+				overflow: hidden;
+	
+				.th,
+				.td {
+					display: inline-block;
+					padding: 5rpx;
+					width: 240rpx;
+					text-align: center;
+					height: 52rpx;
+					line-height: 52rpx;
+					border: 2rpx solid #F1F1F1;
+				}
+	
+				.th:first-child,
+				.td:first-child {
+					width: 300rpx;
+				}
+			}
+			.tr:nth-child(2n-1){
+				background-color: #f5fff8;
+			}
+			.tr:first-child{
+				background-color: #57c878;
+				color: #fff;
+			}
+		}
+	
+		.pagenumber {
+			display: flex;
+			margin: 20rpx auto;
+			
+			button {
+				width: 150rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+				font-size: 26rpx;
+				text-align: center;
+				background-color: #57c878;
+				color: #FFFFFF;
+			}
+			
+			.pagenumber_page {
+				// width: 100rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+				font-size: 26rpx;
+				text-align: center;
+				margin: 0 20rpx;
+			}
+		}
+	}
+</style>

+ 352 - 0
pages/cb/zjxydetail/thxyset.vue

@@ -0,0 +1,352 @@
+<template>
+	<view>
+		<view class="buttonbox" v-if="myuser_type">
+			<button type="warn" @click="equipBtnControl('reboot')" size="mini">重启</button>
+			<button type="warn" @click="equipBtnControl('update')" size="mini">升级</button>
+			<button type="warn" @click="equipBtnControl('clearworm')" size="mini">清网</button>
+			<button type="warn" @click="equipBtnControl('mqttconf')" size="mini">查询服务器配置</button>
+		</view>
+		<view class="setitem">
+			设备编号:{{option.device_id}}
+		</view>
+		<view class="setitem">
+			设备名称:{{option.device_name}}
+		</view>
+		<view class="setitem">
+			设备版本:{{option.dtype}}
+		</view>
+		<view class="setitem">
+			设备开关:
+			<view class="uni-list-cell" style="margin-top: 30rpx;">
+				<picker @change="turnChange($event,'ds')" value="equipContrlForm.ds" :range="dsArr">
+					<text class="uni-input">{{dsArr[equipContrlForm.ds]}}</text>
+					<view class="arrow"></view>
+				</picker>
+			</view>
+		</view>
+		<view class="setitem">
+			时控时长:
+			<view class="selectTime">
+				<view class="uni-list-cell time" @click="selectTime('st')">
+					<text>{{stLabel}}</text>
+					<u-icon name="clock"></u-icon>
+				</view>
+				<text class="line">-</text>
+				<view class="uni-list-cell time" @click="selectTime('et')">
+					<text>{{etLabel}}</text>
+					<u-icon name="clock"></u-icon>
+				</view>
+			</view>
+			<u-select v-model="stShow" mode="single-column" :list="list" @confirm="stConfirm"></u-select>
+			<u-select v-model="etShow" mode="single-column" :list="list" @confirm="etConfirm"></u-select>
+		</view>
+		<view class="setitem">
+			数据频率(min):
+			<slider :value="equipContrlForm.dat_f" show-value="true" :min="10" :max="60"
+				@change="sliderChange($event,'dat_f')" block-color="#57C878" activeColor="#57C878" step="1" />
+		</view>
+		<view class="setitem">
+			自清虫定时(min):
+			<slider :value="equipContrlForm.clt_t" show-value="true" :min="10" :max="60"
+				@change="sliderChange($event,'clt_t')" block-color="#57C878" activeColor="#57C878" step="1" />
+		</view>
+		<view class="submit-box">
+			<u-button @click="submit" type="success">确定</u-button>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				myuser_type:false,
+				option: {},
+				dsArr: ['关机', '开机'],
+				equipContrlForm: {
+					ds: 0,
+					dat_f: 0,
+					clt_t: 0,
+					st: "",
+					et: "",
+					timctrl: ""
+				},
+				stLabel: "",
+				etLabel: "",
+				stShow: false,
+				etShow: false,
+				list: [{
+						value: 0,
+						label: '00:00'
+					},
+					{
+						value: 1,
+						label: '01:00'
+					},
+					{
+						value: 2,
+						label: '02:00'
+					},
+					{
+						value: 3,
+						label: '03:00'
+					},
+					{
+						value: 4,
+						label: '04:00'
+					},
+					{
+						value: 5,
+						label: '05:00'
+					},
+					{
+						value: 6,
+						label: '06:00'
+					},
+					{
+						value: 7,
+						label: '04:00'
+					}, {
+						value: 8,
+						label: '08:00'
+					},
+					{
+						value: 9,
+						label: '09:00'
+					},
+					{
+						value: 10,
+						label: '10:00'
+					},
+					{
+						value: 11,
+						label: '11:00'
+					},
+					{
+						value: 12,
+						label: '12:00'
+					},
+					{
+						value: 13,
+						label: '13:00'
+					},
+					{
+						value: 14,
+						label: '14:00'
+					}, {
+						value: 15,
+						label: '15:00'
+					},
+					{
+						value: 16,
+						label: '16:00'
+					},
+					{
+						value: 17,
+						label: '17:00'
+					},
+					{
+						value: 18,
+						label: '18:00'
+					},
+					{
+						value: 19,
+						label: '19:00'
+					},
+					{
+						value: 20,
+						label: '20:00'
+					},
+					{
+						value: 21,
+						label: '21:00'
+					}, {
+						value: 22,
+						label: '22:00'
+					},
+					{
+						value: 23,
+						label: '23:00'
+					},
+				],
+			}
+		},
+		methods: {
+			turnChange(e) {
+				this.equipContrlForm.ds = e.target.value
+			},
+			selectTime(a) {
+				if (a == 'st') {
+					this.stShow = true;
+				} else {
+					this.etShow = true;
+				}
+			},
+			stConfirm(e) {
+				this.stLabel = e[0].label
+				this.equipContrlForm.st = e[0].value
+			},
+			etConfirm(e) {
+				this.etLabel = e[0].label
+				this.equipContrlForm.et = e[0].value
+			},
+			async getconf() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.device_control_info',
+					data: {
+						cmd: "paramconf",
+						d_id: this.option.d_id
+					}
+				})
+				console.log(res)
+				this.equipContrlForm.et = res.work_tim.et
+				this.equipContrlForm.st = res.work_tim.st
+				this.equipContrlForm.timctrl = res.work_tim.timctrl
+				this.etLabel = this.list[res.work_tim.et].label
+				this.stLabel = this.list[res.work_tim.st].label
+				this.equipContrlForm.dat_f = res.data_tim.dat_f
+				this.equipContrlForm.clt_t = res.clt_tim.clt_t
+				this.equipContrlForm.ds = res.power.ds
+
+			},
+			sliderChange(e, a) {
+				console.log(e)
+				if (a == "dat_f") {
+					this.equipContrlForm.dat_f = e.detail.value
+				} else {
+					this.equipContrlForm.clt_t = e.detail.value
+				}
+			},
+			async submit() {
+				var obj = {
+					work_tim: {
+						timctrl: this.equipContrlForm.timctrl,
+						st: this.equipContrlForm.st,
+						et: this.equipContrlForm.et
+					},
+					data_tim: {
+						dat_f: this.equipContrlForm.dat_f
+					},
+					power: {
+						ds: this.equipContrlForm.ds
+					},
+					clt_tim: {
+						clt_t: this.equipContrlForm.clt_t
+					},
+				}
+				console.log(obj)
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.device_control',
+					data: {
+						device_type_id: 8,
+						d_id: this.option.d_id,
+						config: JSON.stringify(obj),
+					}
+				})
+				console.log(res)
+				if (res == true) {
+					uni.showToast({
+						title: '指令下发成功!',
+						duration: 2000
+					});
+				} else {
+					uni.showToast({
+						title: '指令下发失败!',
+						duration: 2000,
+						icon: "none"
+					});
+				}
+			},
+			async equipBtnControl(cmd) {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.admin_device_control',
+					data: {
+						cmd,
+						device_type_id: 8,
+						d_id: this.option.d_id,
+					}
+				})
+				console.log(res)
+				if (res == true) {
+					uni.showToast({
+						title: '指令下发成功!',
+						duration: 2000
+					});
+				} else {
+					uni.showToast({
+						title: '指令下发失败!',
+						duration: 2000,
+						icon: "none"
+					});
+				}
+			}
+		},
+		onLoad(option) {
+			uni.getStorage({
+				key:"myuser_type",
+				success:(res)=>{
+					console.log(res.data)
+					if(Number(res.data) == 1){
+						this.myuser_type = true
+					}
+				}
+			})
+			this.option = option
+			this.getconf()
+			
+		}
+	}
+</script>
+
+<style lang='less'>
+	page {
+		padding: 20rpx;
+		box-sizing: border-box;
+
+		.buttonbox {
+			display: flex;
+			justify-content: space-between;
+		}
+
+		.setitem {
+			margin-top: 30rpx;
+
+			.selectTime {
+				margin-top: 30rpx;
+				display: flex;
+
+				.time {
+					width: 350rpx;
+					display: flex;
+					justify-content: space-between;
+				}
+
+				.line {
+					width: 50rpx;
+					text-align: center;
+				}
+			}
+		}
+
+		.uni-list-cell {
+			background: #F7F8FA;
+			padding: 10rpx 40rpx;
+			font-size: 28rpx;
+			box-sizing: border-box;
+
+			/* margin-top: 30rpx; */
+			.arrow {
+				display: inline-block;
+				border-width: 12rpx 8rpx;
+				border-style: solid;
+				float: right;
+				margin-top: 10rpx;
+				border-color: #888 transparent transparent transparent;
+			}
+		}
+
+		.submit-box {
+			margin-top: 60rpx
+		}
+	}
+</style>

+ 32 - 26
pages/equipList/index.vue

@@ -280,6 +280,12 @@ export default {
             url: "../cb/thxydetail/thxydetail?imei=" + item.imei
           });
           break;
+		  case 24:
+		    // item.type = this.type_id;
+		    uni.navigateTo({
+		      url: "../cb/zjxydetail/thxydetail?imei=" + item.imei
+		    });
+		    break;
         case 12:
           console.log(item);
           uni.navigateTo({
@@ -432,32 +438,32 @@ export default {
     },
   },
   onLoad() {
-    this.list = []
-    this.camera()
-    this.current = 0
-    this.currents = 0
-    this.page = 1
-    this.usertype()
-    this.width = 0
-    uni.getStorage({
-      key: "jurisdiction",
-      success: (res) => {
-        console.log(JSON.parse(res.data));
-        let items = JSON.parse(res.data).filter((item) => {
-          return item.pur_id == 22 //"设备管理";
-        });
-        let items2 = items[0].children.filter((item) => {
-          return item.pur_id == 23 //"设备列表";
-        });
-        console.log(items2[0].children);
-        this.infoalter = items2[0].children.some((item) => {
-          return (
-            item.pur_id == 108 || item.pur_id == 109
-          );
-        });
-        console.log(this.infoalter);
-      },
-    });
+    // this.list = []
+    // this.camera()
+    // this.current = 0
+    // this.currents = 0
+    // this.page = 1
+    // this.usertype()
+    // this.width = 0
+    // uni.getStorage({
+    //   key: "jurisdiction",
+    //   success: (res) => {
+    //     console.log(JSON.parse(res.data));
+    //     let items = JSON.parse(res.data).filter((item) => {
+    //       return item.pur_id == 22 //"设备管理";
+    //     });
+    //     let items2 = items[0].children.filter((item) => {
+    //       return item.pur_id == 23 //"设备列表";
+    //     });
+    //     console.log(items2[0].children);
+    //     this.infoalter = items2[0].children.some((item) => {
+    //       return (
+    //         item.pur_id == 108 || item.pur_id == 109
+    //       );
+    //     });
+    //     console.log(this.infoalter);
+    //   },
+    // });
   },
   onTabItemTap (e) {
   	  // console.log(e);

+ 49 - 0
static/js/equipState_dict.json

@@ -306,6 +306,55 @@
         },
         "desc":"0 正常,1欠压, 2过压"
     },
+	"chargeStatus":{
+	      "name":"充电状态",
+	      "unit":"",
+	      "value":{
+	          "0":"无电池(被盗)",
+	          "1":"未充电",
+	          "2":"充电",
+	          "3":"充满"
+	      },
+	      "desc":"0 无电池(被盗), 1,未充电  2充电 3 充满"
+	    },
+	    "highVolt" : {
+	      "name":"高压网状态",
+	      "unit":"",
+	      "value":{
+	          "0":"关闭",
+	          "1":"打开",
+	          "-1":"故障"
+	      },
+	      "desc":"0 关闭 1打开  -1故障"
+	    },
+	    "light" : {
+	      "name":"灯管状态",
+	      "unit":"",
+	      "value":{
+	          "0":"正常",
+	          "1":"打开",
+	          "2":"故障"
+	      },
+	      "desc":"0 正常 1打开  2故障"
+	    },
+	    "rainFall":{
+	      "name":"下雨传感",
+	      "unit":"",
+	      "value":{
+	          "0":"不下雨",
+	          "1":"下雨"
+	      },
+	      "desc":"0 不下雨, 1,下雨 "
+	    },
+	    "rectifier":{
+	      "name":"整流器/太阳板状态",
+	      "unit":"",
+	      "value":{
+	          "0":"正常",
+	          "1":"故障"
+	      },
+	      "desc":"0 正常, 1,故障 "
+	    },
     "infr_ct":{
         "name":"红外计数值",
         "unit":"",

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/main.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/bazaar-city_list/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/equip-item/equip-item.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/ksp-image-cutter/ksp-image-cutter.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/multiple-select.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-icons/uni-icons.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-nav-bar/uni-nav-bar.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/components/uni-status-bar/uni-status-bar.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/afterSale/addafter.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/afterSale/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/afterSale/search.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/bzy/equip-set/bzyhistoryile.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/bzy/equip-set/equip-set.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/addimg.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/analyse.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/equip-set.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/historyfile.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/imgpage.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/manualinput.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/note.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/results.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/statistics.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/equip-detail/equip-detail.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/index/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/index/search.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/sim/sim.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/photolist.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/thxydetail.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/thxyhisdata.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/thxydetail/thxyset.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/analyse.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/photolist.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/xctdetail.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xctdetail/xctset.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy/equip-set/equip-set.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy/equip-set/xyhistoryile.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy2.0/historydatas.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/xy2.0/particulars.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/addressbook.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/basemap.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/cbwarn.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cbqxyj/warnset.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/disandpests/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/disease/cmb.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/disease/forecastResult.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/distribution/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/contros.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/equipment.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/gsequipment.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/gshistory.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/history.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/onedaythedata.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/search.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/sim.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipList/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipList/seabox/modification.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipList/seabox/search.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/addusers.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/assignment.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/changepasswold.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/equipMange/index/useroperation.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/exchangeShare.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/introduce.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/particulars.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/postmessage.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/expertDiagnosis/wormcase.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/addbase.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/allocation.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/basefacility.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/fourBase/modification.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/index/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/irrmap.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/realtimedata.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/search.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/irrigate/weathdata.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/login/login.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/sim.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/about/about.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/index/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/record/record.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/my/user-info/user-info.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/control.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/equipmentdetails.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/index.js.map


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/search.js.map


+ 0 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/sim.js.map


Algunos archivos no se mostraron porque demasiados archivos cambiaron en este cambio