zhangyun hace 5 años
padre
commit
7eb81f42fb
Se han modificado 100 ficheros con 6224 adiciones y 632 borrados
  1. 1 1
      App.vue
  2. 1 1
      components/equip-item/equip-item.vue
  3. 2 2
      components/linzq-citySelect/linzq-citySelect.vue
  4. 12 11
      manifest.json
  5. 37 10
      pages.json
  6. 4 4
      pages/afterSale/addafter.vue
  7. 2 2
      pages/afterSale/index.vue
  8. 1 1
      pages/afterSale/search.vue
  9. 7 7
      pages/cb/bzy/equip-set/bzyhistoryile.vue
  10. 45 33
      pages/cb/bzy/equip-set/equip-set.vue
  11. 36 24
      pages/cb/cbd/equip-set/equip-set.vue
  12. 4 2
      pages/cb/cbd/equip-set/historyfile.vue
  13. 2 2
      pages/cb/cbd/equip-set/imgpage.vue
  14. 115 16
      pages/cb/equip-detail/equip-detail.vue
  15. 69 26
      pages/cb/index/index.vue
  16. 1 1
      pages/cb/index/search.vue
  17. 2 2
      pages/cb/sim/sim.vue
  18. 216 178
      pages/cb/xy/equip-set/equip-set.vue
  19. 5 3
      pages/cb/xy/equip-set/xyhistoryile.vue
  20. 429 0
      pages/cb/xy2.0/historydatas.vue
  21. 345 0
      pages/cb/xy2.0/particulars.vue
  22. 1 1
      pages/disandpests/index.vue
  23. 112 124
      pages/distribution/index.vue
  24. 40 11
      pages/environment/equipment.vue
  25. 15 5
      pages/environment/history.vue
  26. 2 2
      pages/environment/index.vue
  27. 1 1
      pages/environment/onedaythedata.vue
  28. 57 11
      pages/equipList/index.vue
  29. 51 14
      pages/equipList/modification.vue
  30. 19 3
      pages/equipList/search.vue
  31. 9 3
      pages/equipMange/index/assignment.vue
  32. 36 7
      pages/equipMange/index/index.vue
  33. 101 22
      pages/equipMange/index/useroperation.vue
  34. 5 5
      pages/expertDiagnosis/exchangeShare.vue
  35. 4 4
      pages/expertDiagnosis/index.vue
  36. 1 1
      pages/expertDiagnosis/introduce.vue
  37. 2 2
      pages/expertDiagnosis/particulars.vue
  38. 1 1
      pages/expertDiagnosis/postmessage.vue
  39. 2 2
      pages/expertDiagnosis/wormcase.vue
  40. 11 5
      pages/fourBase/allocation.vue
  41. 5 2
      pages/fourBase/basefacility.vue
  42. 48 11
      pages/fourBase/index.vue
  43. 129 20
      pages/index/index.vue
  44. 37 12
      pages/login/login.vue
  45. 2 2
      pages/monitor/index.vue
  46. 1 1
      pages/my/about/about.vue
  47. 16 8
      pages/my/index/index.vue
  48. 45 8
      pages/prevention/control.vue
  49. 38 8
      pages/prevention/equipmentdetails.vue
  50. 2 2
      pages/prevention/index.vue
  51. 1 1
      pages/prevention/sim.vue
  52. 11 4
      pages/prevention/ucharts.vue
  53. 3 3
      static/h52.html
  54. BIN
      static/images/distribution/0b551e50be351dbc14f0dd6470e3443.png
  55. BIN
      static/images/distribution/1bd535eb7dbb0809940030d40c64b4c.png
  56. BIN
      static/images/distribution/2eb9e550709430a1bd8178568c14785.png
  57. BIN
      static/images/distribution/515ea6143e0aaff4a823270c7aa00a6.png
  58. BIN
      static/images/distribution/54a96e2b0ad4efeecbd4a7b5e6deda3.png
  59. BIN
      static/images/distribution/7610e3983eb33ed5b9ad72ebdfc8ed2.png
  60. BIN
      static/images/distribution/8325b1b6079456ce43f952ce13d2919.png
  61. BIN
      static/images/distribution/be5c1cfed22713a9544f020cf41c25f.png
  62. BIN
      static/images/my/user.png
  63. BIN
      unpackage/cache/apk/__UNI__DBA6730_cm.apk
  64. 1 0
      unpackage/cache/apk/apkurl
  65. 1 0
      unpackage/cache/apk/cmManifestCache.json
  66. 3 0
      unpackage/cache/certdata
  67. BIN
      unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-hdpi.png
  68. BIN
      unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-xhdpi.png
  69. BIN
      unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-xxhdpi.png
  70. BIN
      unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-xxxhdpi.png
  71. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappchooselocation.js
  72. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappes6.js
  73. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappopenlocation.js
  74. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniapppicker.js
  75. 8 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappquill.js
  76. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappquillimageresize.js
  77. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappscan.js
  78. BIN
      unpackage/cache/wgt/__UNI__DBA6730/__uniappsuccess.png
  79. 25 0
      unpackage/cache/wgt/__UNI__DBA6730/__uniappview.html
  80. 8 0
      unpackage/cache/wgt/__UNI__DBA6730/app-config-service.js
  81. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/app-config.js
  82. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/app-service.js
  83. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/app-view.js
  84. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/manifest.json
  85. 336 0
      unpackage/cache/wgt/__UNI__DBA6730/static/data/cbd_pest_library.js
  86. 539 0
      unpackage/cache/wgt/__UNI__DBA6730/static/font/demo.css
  87. 1850 0
      unpackage/cache/wgt/__UNI__DBA6730/static/font/demo_index.html
  88. 309 0
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.css
  89. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.eot
  90. 1 0
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.js
  91. 520 0
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.json
  92. 245 0
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.svg
  93. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.ttf
  94. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.woff
  95. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.woff2
  96. 224 0
      unpackage/cache/wgt/__UNI__DBA6730/static/h52.html
  97. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/images/12.png
  98. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/images/13.png
  99. BIN
      unpackage/cache/wgt/__UNI__DBA6730/static/images/14.png
  100. 0 0
      unpackage/cache/wgt/__UNI__DBA6730/static/images/15.png

+ 1 - 1
App.vue

@@ -5,7 +5,7 @@
 		},
 		onHide: function() {
 			console.log('App Hide')
-		}
+		},
 	}
 </script>
 <style lang="scss">

+ 1 - 1
components/equip-item/equip-item.vue

@@ -27,7 +27,7 @@
 			'item'
 		],
 		methods: {
-
+			
 		}
 	}
 </script>

+ 2 - 2
components/linzq-citySelect/linzq-citySelect.vue

@@ -2,7 +2,7 @@
 	<div class="wrapper" :style="'top:'+statusBarHeight+'px'">
 		<div class="header">
 			<view class="back_div">
-				<image class="back_img" @click="back_city()" :src="$appimghost+'/back_img.png'" mode=""></image>
+				<image class="back_img" @click="back_city()" :src="'http://static.yfpyx.com/bigdata_app'+'/back_img.png'" mode=""></image>
 			</view>
 			<input class="input" @input="onInput" placeholder="中文/拼音/首字母" v-model="searchValue" />
 		</div>
@@ -18,7 +18,7 @@
 							{{position}}
 						</view>
 						<view class="dingweis_div" @click="getWarpweft">
-							<image class="dingweis" :src="$appimghost+'/dingweis.png'" mode=""></image>
+							<image class="dingweis" :src="'http://static.yfpyx.com/bigdata_app'+'/dingweis.png'" mode=""></image>
 							<text>{{po_tips}}</text>
 						</view>
 					</view>

+ 12 - 11
manifest.json

@@ -67,14 +67,14 @@
                 "geolocation" : {
                     "amap" : {
                         "__platform__" : [ "android" ],
-                        "appkey_ios" : "ac51ca831a1a737daebf4f455bf862ca",
-                        "appkey_android" : "ac51ca831a1a737daebf4f455bf862ca"
+                        "appkey_ios" : "0ff73cb4d88262325eea8c8dad1a6609",
+                        "appkey_android" : "0ff73cb4d88262325eea8c8dad1a6609"
                     }
                 },
                 "maps" : {
                     "amap" : {
-                        "appkey_ios" : "ac51ca831a1a737daebf4f455bf862ca",
-                        "appkey_android" : "ac51ca831a1a737daebf4f455bf862ca"
+                        "appkey_ios" : "0ff73cb4d88262325eea8c8dad1a6609",
+                        "appkey_android" : "0ff73cb4d88262325eea8c8dad1a6609"
                     }
                 },
                 "ad" : {}
@@ -152,13 +152,14 @@
                     }
                 }
             }
-        },
-        "sdkConfigs" : {
-            "maps" : {
-                "qqmap" : {
-                    "key" : "B2EBZ-2UW6P-RDJDG-LCMLE-AIQUS-CGFMJ"
-                }
-            }
         }
     }
 }
+// "sdkConfigs" : {
+//     "maps" : {
+//         "qqmap" : {
+//             "key" : "B2EBZ-2UW6P-RDJDG-LCMLE-AIQUS-CGFMJ"
+//         }
+//     }
+// }
+

+ 37 - 10
pages.json

@@ -83,21 +83,23 @@
 				"navigationStyle": "custom"
 			}
 
-		}, {
-			"path": "pages/cb/bzy/equip-set/equip-set",
+		}, 
+		{
+			"path": "pages/equipMange/index/useroperation",
 			"style": {
-				"navigationBarTitleText": "设备控制",
-				"enablePullDownRefresh": false
+				"navigationBarTitleText": "用户详情",
+				"enablePullDownRefresh": false,
+				"navigationStyle": "custom"
 			}
-
-		}, {
-			"path": "pages/cb/xy/equip-set/equip-set",
+		},
+		{
+			"path": "pages/cb/bzy/equip-set/equip-set",
 			"style": {
 				"navigationBarTitleText": "设备控制",
 				"enablePullDownRefresh": false
 			}
 
-		}, {
+		},  {
 			"path": "pages/cb/sim/sim",
 			"style": {
 				"navigationBarTitleText": "sim卡详情",
@@ -381,8 +383,15 @@
 				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
-
-		}, {
+		},
+		{
+			"path": "pages/cb/xy/equip-set/equip-set",
+			"style": {
+				"navigationBarTitleText": "设备控制",
+				"enablePullDownRefresh": false
+			}
+		
+		},{
 			"path": "pages/cb/xy/equip-set/xyhistoryile",
 			"style": {
 				"navigationBarTitleText": "性诱设备历史记录",
@@ -456,6 +465,24 @@
             }
             
         }
+        ,{
+            "path" : "pages/cb/xy2.0/particulars",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "设备详情",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/cb/xy2.0/historydatas",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "历史数据",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
 	"condition": { //模式配置,仅开发期间生效
 		"current": 3, //当前激活的模式(list 的索引项)

+ 4 - 4
pages/afterSale/addafter.vue

@@ -19,8 +19,8 @@
 					<u-action-sheet :list="actionSheetList" v-model="show" @click="actionSheetCallback"></u-action-sheet>
 				</view>
 				<view class="addafter_con_connect">
-					<image :src="$appimghost+'/image/afterSale/5d9b8db91f11175aa5277fef40581ab.png'" mode=""></image>
-					<image :src="$appimghost+'/image/afterSale/5d9b8db91f11175aa5277fef40581ab.png'" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/afterSale/5d9b8db91f11175aa5277fef40581ab.png'" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/afterSale/5d9b8db91f11175aa5277fef40581ab.png'" mode=""></image>
 				</view>
 				<view class="addafter_con_bot">
 					<p class="addafter_con_bot_title">保修详情</p>
@@ -29,7 +29,7 @@
 					<view class="imgvideo">
 						<view class="imgvideo_img" v-for="(item,index) in 3">
 							<view @click="gainimg(index)">
-								<image :src="$appimghost+'/image/afterSale/eee1e84bb85f6f6ff5c5866a3a42779.png'" mode="" v-if="!uploadingTF[index]"></image>
+								<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/afterSale/eee1e84bb85f6f6ff5c5866a3a42779.png'" mode="" v-if="!uploadingTF[index]"></image>
 							</view>
 							<view class="uploading" v-if="uploadingTF[index]">
 								<u-icon name="close" class="delete" @click="deletes(index)"></u-icon>
@@ -38,7 +38,7 @@
 						</view>
 						<view class="imgvideo_video" v-for="(item,index) in 1">
 							<view @click="gainvideo(index)">
-								<image :src="$appimghost+'/image/afterSale/80314eaa07c32e9c76537a8a8224130.png'" mode="" v-if="!uploadingTF[index+3]"></image>
+								<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/afterSale/80314eaa07c32e9c76537a8a8224130.png'" mode="" v-if="!uploadingTF[index+3]"></image>
 							</view>
 							<view class="uploading" v-if="uploadingTF[index+3]">
 								<video :src="BASE_URL+selfList" :controls="false" class="uploading" ></video>

+ 2 - 2
pages/afterSale/index.vue

@@ -8,7 +8,7 @@
 			<u-icon name="search" class="sp_icon" @click="search"></u-icon>
 			<u-icon name="plus" class="sp_icon" @click="addf"></u-icon>
 		</view>
-		<image :src="$appimghost+'/image/afterSale/dcd7147f4b15d00c5c90006738b8453.png'" class="expertimages"></image>
+		<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/afterSale/dcd7147f4b15d00c5c90006738b8453.png'" class="expertimages"></image>
 		<view class="aftersaleTF" v-if="aftersaleTF">
 			暂无数据
 		</view>
@@ -30,7 +30,7 @@
 					<button :class="item.errorvideo?'video':'none'" :disabled="!item.errorvideo" @click="faultVideo(item.errorvideo)">视频</button>
 				</view>
 				<view class="aftersale_item_icon">
-					<image :src="$appimghost+aftersale_icon[Number(item.device_type)-2].src" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+aftersale_icon[Number(item.device_type)-2].src" mode=""></image>
 				</view>
 			</view>
 		</view>

+ 1 - 1
pages/afterSale/search.vue

@@ -29,7 +29,7 @@
 					<button :class="item.errorvideo?'video':'none'" :disabled="!item.errorvideo" @click="faultVideo(item.errorvideo)">视频</button>
 				</view>
 				<view class="aftersale_item_icon">
-					<image :src="$appimghost+aftersale_icon[Number(item.device_type)-2].src" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+aftersale_icon[Number(item.device_type)-2].src" mode=""></image>
 				</view>
 			</view>
 		</view>

+ 7 - 7
pages/cb/bzy/equip-set/bzyhistoryile.vue

@@ -22,13 +22,12 @@
 				刷 新
 			</view>
 			<view class="condition">
-				<scroll-view scroll-top="0" scroll-x="true" class="scroll-X">
-					<!-- @scrolltoupper="upper" @scrolltolower="lower" @scroll="scroll" -->
+				<scroll-view  scroll-x="true" class="scroll-X" scroll-top="0">
 					<table class="table">
 						<tr class="tr">
-							<th class="th" v-for="(item,index) in thdata" :key="'a'+index">{{item}}</th>
+							<th class="th" v-for="(item,index) in thdata" :key="index">{{item}}</th>
 						</tr>
-						<tr class="tr" v-for="(items,indexs) in historylistdata" :key="'b'+indexs" v-if="!forbidden">
+						<tr class="tr" v-for="(items,indexs) in historylistdata" :key="indexs" v-if="!forbidden">
 							<td class="td">{{items.d_h_t.addtime|timeFormat()}}</td>
 							<td class="td">{{items.d_h_t.ds==0?"关":"开"}}</td>
 							<td class="td">{{items.d_h_t.at}}</td>
@@ -44,7 +43,7 @@
 							<td class="td">{{items.d_h_t.dver}}</td>
 						</tr>
 						<tr class="tr" v-if="forbidden">
-							<td class="td" v-for="item in 13">暂无数据</td>
+							<td class="td" v-for="item in 13" :key="item">暂无数据</td>
 						</tr>
 					</table>
 				</scroll-view>
@@ -379,11 +378,12 @@
 		.scroll-X {
 			width: 95%;
 			margin: 20rpx auto;
-
+			.table{
+				width: 1672px;
+			}
 			.tr {
 				display: flex;
 				overflow: hidden;
-
 				.th,
 				.td {
 					display: inline-block;

+ 45 - 33
pages/cb/bzy/equip-set/equip-set.vue

@@ -1,22 +1,24 @@
 <template>
 	<view>
-		<view class="tit adminTit">
-			操作
-		</view>
-		<view class="btns">
-			 <button type="warn" @click="equipBtnControl('dtu_update')" size="mini">升级</button>
-			 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">重启</button>
-			 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">立即拍照</button>
-			 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">对焦拍照</button>
-			 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">转仓</button>
-		</view>
-		<view class="tit adminTit">
-			设备开关
-		</view>
-		<view class="uni-list-cell"  @click="on_off_show=true">
-			<text class="uni-input">{{on_off=="0"?'关闭':'开机'}}</text>
-			<view class="arrow"></view>
-			<u-select v-model="on_off_show" mode="single-column" :list="on_off_list" @confirm="confirm($event,'on_off')"></u-select>
+		<view class="" v-if="myuser_type">
+			<view class="tit adminTit">
+				操作
+			</view>
+			<view class="btns">
+				 <button type="warn" @click="equipBtnControl('dtu_update')" size="mini">升级</button>
+				 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">重启</button>
+				 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">立即拍照</button>
+				 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">对焦拍照</button>
+				 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">转仓</button>
+			</view>
+			<view class="tit adminTit">
+				设备开关
+			</view>
+			<view class="uni-list-cell"  @click="onoff">
+				<text class="uni-input">{{on_off=="0"?'关闭':'开机'}}</text>
+				<view class="arrow"></view>
+				<u-select v-model="on_off_show" mode="single-column" :list="on_off_list" @confirm="confirm($event,'on_off')"></u-select>
+			</view>
 		</view>
 		<view class="tit">
 			载玻片滴液时间
@@ -127,13 +129,22 @@
 			      },
 				timeList:[] ,
 				collShow:false,
-				timeType:''
+				timeType:'',
+				myuser_type:false
 			}
 		},
 		onLoad(option){
 			this.d_id=option.d_id
 			this.equipOperation()
 			this.equipSet()
+			uni.getStorage({
+				key:"myuser_type",
+				success:(res)=>{
+					if(Number(res.data) == 1){
+						this.myuser_type = true
+					}
+				}
+			})
 		},
 		methods: {
 			//回显设备控制参数
@@ -179,8 +190,6 @@
 				 }
 			console.log(this.setFrom)	
 			},
-			
-			
 			//回显设备开关状态
 			async equipOperation(){
 				let res=await this.$myRequest({
@@ -193,20 +202,23 @@
 			},
 			//管理员操作
 			async equipBtnControl(cmd){
-				let res=await this.$myRequest({
-					url:'/api/api_gateway?method=forecast.send_control.admin_device_control',
-					data:{
-						cmd,
-						device_type_id: 7,
-						d_id: this.d_id
-					}
-				})
-				if(res){
-					this.$refs.toast.show({
-						title: '指令下发成功!',
-						type: 'success',
+					let res=await this.$myRequest({
+						url:'/api/api_gateway?method=forecast.send_control.admin_device_control',
+						data:{
+							cmd,
+							device_type_id: 7,
+							d_id: this.d_id
+						}
 					})
-				}
+					if(res){
+						this.$refs.toast.show({
+							title: '指令下发成功!',
+							type: 'success',
+						})
+					}
+			},
+			onoff(){
+					this.on_off_show=true
 			},
 			confirm(e,a){
 				switch(a){

+ 36 - 24
pages/cb/cbd/equip-set/equip-set.vue

@@ -1,29 +1,31 @@
 <template>
 	<view>
-		<view class="tit adminTit">
-			联网模块
-		</view>
-		<view class="btns">
-			 <button type="warn" @click="equipBtnControl('dtu_update')" size="mini">升级</button>
-			 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">重启</button>
-			 <button type="warn" @click="mqttInfo" size="mini">MQTT配置</button>
-		</view>
-		<view class="tit adminTit">
-			板子设置
-		</view>
-		<view class="btns">
-			 <button type="warn" size="mini">查看原始IMEI</button>
-			 <button type="warn" size="mini">更改IMEI</button>
-		</view>
-		<view class="tit adminTit">
-			强制操作
-		</view>
-		<view class="btns">
-			<button type="warn" @click="equipBtnControl('takephoto')" size="mini">拍照</button>
-			<button type="warn" @click="equipBtnControl('update')" size="mini">升级</button>
-			<button type="warn" @click="equipBtnControl('reboot')" size="mini">重启</button>
-			<button type="warn" @click="equipBtnControl('close_shake')" size="mini">震动关闭</button>
-			<button type="warn" @click="equipBtnControl('open_shake')" size="mini">震动开启</button>
+		<view class="" v-if="myuser_type">
+			<view class="tit adminTit">
+				联网模块
+			</view>
+			<view class="btns">
+				 <button type="warn" @click="equipBtnControl('dtu_update')" size="mini">升级</button>
+				 <button type="warn" @click="equipBtnControl('dtu_reboot')" size="mini">重启</button>
+				 <button type="warn" @click="mqttInfo" size="mini">MQTT配置</button>
+			</view>
+			<view class="tit adminTit">
+				板子设置
+			</view>
+			<view class="btns">
+				 <button type="warn" size="mini">查看原始IMEI</button>
+				 <button type="warn" size="mini">更改IMEI</button>
+			</view>
+			<view class="tit adminTit">
+				强制操作
+			</view>
+			<view class="btns">
+				<button type="warn" @click="equipBtnControl('takephoto')" size="mini">拍照</button>
+				<button type="warn" @click="equipBtnControl('update')" size="mini">升级</button>
+				<button type="warn" @click="equipBtnControl('reboot')" size="mini">重启</button>
+				<button type="warn" @click="equipBtnControl('close_shake')" size="mini">震动关闭</button>
+				<button type="warn" @click="equipBtnControl('open_shake')" size="mini">震动开启</button>
+			</view>
 		</view>
 		<view class="tit">
 			设备开关
@@ -338,11 +340,21 @@
 						fip: '',
 						fport: ''
 					},
+				myuser_type:false
 			}
 		},
 		onLoad(option){
 			this.d_id=option.d_id
 			this.getInfo()
+			uni.getStorage({
+				key:"myuser_type",
+				success:(res)=>{
+					console.log(res.data)
+					if(Number(res.data) == 1){
+						this.myuser_type = true
+					}
+				}
+			})
 		},
 		methods: {
 			turnChange(e,a){

+ 4 - 2
pages/cb/cbd/equip-set/historyfile.vue

@@ -43,7 +43,7 @@
 							<td class="td">{{items.d_h_t.lat}}</td>
 						</tr>
 						<tr class="tr" v-if="forbidden">
-							<td class="td" v-for="item in 12">暂无数据</td>
+							<td class="td" v-for="item in 13">暂无数据</td>
 						</tr>
 					</table>
 				</scroll-view>
@@ -384,7 +384,9 @@
 		.scroll-X {
 			width: 95%;
 			margin: 20rpx auto;
-
+			.table{
+				width: 1672px;
+			}
 			.tr {
 				display: flex;
 				overflow: hidden;

+ 2 - 2
pages/cb/cbd/equip-set/imgpage.vue

@@ -19,7 +19,7 @@
 			<view class="imglist">
 				<view class="imglist_box" v-for="(item,index) in imglists" :key="index">
 					<view class="imglist_left">
-						<image :src="$appimghost+'/image/cb/jiazai.ui.gif'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/jiazai.ui.gif'" mode=""></image>
 						<image :src="item.addr" mode="" @click="examine(item)"></image>
 					</view>
 					<view class="imglist_right">
@@ -41,7 +41,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 115 - 16
pages/cb/equip-detail/equip-detail.vue

@@ -38,7 +38,7 @@
 				<u-calendar v-model="cultivate_show" mode="date" @change="timeChange($event,'cultivate')"></u-calendar>
 			</u-popup>
 			<u-popup v-model="yxShow" mode="center" width="600rpx">
-				<u-field label="监测害虫名称" label-width='240' required :error-message="xyErr" v-model="decoy">
+				<u-field label="监测害虫名称" label-width='240' required :error-message="xyErr" v-model="decoy" class="field">
 				</u-field>
 				<view class="btn-box">
 					<u-button @click="yxSubmit" size="mini" type="success">确定</u-button>
@@ -48,16 +48,16 @@
 		</view>
 		<view class="equip_part">
 			<template v-if="equipInfo.type==7">
-				<view class="item1" v-for="item in bzy" @click="partClick(item.path)">
-					<image :src="$appimghost+item.icon" mode="widthFix"></image>
+				<view class="item1" v-for="item in bzy" v-if="item.tf" @click="partClick(item.path)">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+item.icon" mode="widthFix"></image>
 					<view class="">
 						{{item.tex}}
 					</view>
 				</view>
 			</template>
 			<template v-else>
-				<view class="item2" v-for="item in curEquip" @click="partClick(item.path)">
-					<image :src="$appimghost+item.icon" mode="widthFix"></image>
+				<view class="item2" v-for="item in curEquip" v-if="item.tf" @click="partClick(item.path)">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+item.icon" mode="widthFix"></image>
 					<view class="">
 						{{item.tex}}
 					</view>
@@ -72,7 +72,7 @@
 		</view>
 		<view class="newState" v-else>
 			<view class="item" v-for="item in curState">
-				<image :src="$appimghost+item.icon" mode="widthFix"></image>
+				<image :src="'http://static.yfpyx.com/bigdata_app'+item.icon" mode="widthFix"></image>
 				<view class="info-con">
 					<view class="active">
 						{{item.txt}}
@@ -99,56 +99,69 @@
 					icon: '/image/cb/1.png',
 					tex: '查看图片',
 					path: '/pages/cb/cbd/equip-set/imgpage',
+					tf:false
 				}, {
 					icon: '/image/cb/2.png',
 					tex: '历史数据',
 					path: '/pages/cb/cbd/equip-set/historyfile',
+					tf:false
 				}, {
 					icon: '/image/cb/3.png',
 					tex: '害虫统计',
 					path: '/pages/cb/cbd/equip-set/statistics',
+					tf:false
 				}, {
 					icon: '/image/cb/4.png',
 					tex: '设备控制',
 					path: '/pages/cb/cbd/equip-set/equip-set',
+					tf:false
 				}, {
 					icon: '/image/cb/5.png',
 					tex: '短信预警',
 					path: '/pages/cb/cbd/equip-set/note',
+					tf:false
 				}, {
 					icon: '/image/cb/6.png',
 					tex: 'sim卡详情',
 					path: '/pages/cb/sim/sim',
+					tf:false
 				}],
 				bzy: [{
 					icon: '/image/cb/4.png',
 					tex: '设备控制',
-					path: '/pages/cb/bzy/equip-set/equip-set'
+					path: '/pages/cb/bzy/equip-set/equip-set',
+					tf:false
 				}, {
 					icon: '/image/cb/1.png',
 					tex: '查看图片',
-					path: '/pages/cb/cbd/equip-set/imgpage'
+					path: '/pages/cb/cbd/equip-set/imgpage',
+					tf:false
 				}, {
 					icon: '/image/cb/2.png',
 					tex: '历史数据',
-					path: '/pages/cb/bzy/equip-set/bzyhistoryile'
+					path: '/pages/cb/bzy/equip-set/bzyhistoryile',
+					tf:false
 				}, {
 					icon: '/image/cb/6.png',
 					tex: 'sim卡详情',
-					path: '/pages/cb/sim/sim'
+					path: '/pages/cb/sim/sim',
+					tf:false
 				}],
 				xy: [{
 					icon: '/image/cb/4.png',
 					tex: '设备控制',
-					path: '/pages/cb/xy/equip-set/equip-set'
+					path: '/pages/cb/xy/equip-set/equip-set',
+					tf:false
 				}, {
 					icon: '/image/cb/6.png',
 					tex: 'sim卡详情',
-					path: '/pages/cb/sim/sim'
+					path: '/pages/cb/sim/sim',
+					tf:false
 				}, {
 					icon: '/image/cb/2.png',
 					tex: '历史数据',
-					path: '/pages/cb/xy/equip-set/xyhistoryile'
+					path: '/pages/cb/xy/equip-set/xyhistoryile',
+					tf:false
 				}],
 				newState: {}, //设备最新状态
 				setTimeShow: false,
@@ -366,7 +379,7 @@
 								value: Number(this.newState.cs) == 1 ? '充电' : '正常'
 							},
 							{
-								icon: '/image/cb//xy/10.png',
+								icon: '/image/cb/xy/10.png',
 								txt: '电池状态',
 								value: this.newState.bs
 							},
@@ -388,7 +401,7 @@
 			},
 			formatValue(val, a1, a2) {
 				if (a2 == 4 && a1 == "电池状态") {
-					switch (val) {
+					switch (Number(val)) {
 						case 0:
 							return '正常';
 							break;
@@ -412,6 +425,82 @@
 			this.getState()
 			console.log(this.equipInfo)
 			this.selectaddress(this.lat,this.lng)
+			
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "测报系统"
+					})
+					console.log(items)
+					let items2 = items[0].children.filter((item)=>{
+						return item.purview_name == "虫情测报灯"
+					})
+					let items3 = items[0].children.filter((item)=>{
+						return item.purview_name == "性诱测报"
+					})
+					let items4 = items[0].children.filter((item)=>{
+						return item.purview_name == "孢子仪"
+					})
+					console.log(items2)
+					var arr = items2[0].children
+					for(var i =0;i<arr.length;i++){
+						switch (arr[i].purview_name){
+							case "数据详情":
+								this.cbd[1].tf = true
+								break
+							case "查看图片":
+								this.cbd[0].tf = true
+								break
+							case "设备控制":
+								this.cbd[3].tf = true
+								
+								break
+							case "害虫统计":
+								this.cbd[2].tf = true
+								this.cbd[4].tf = true
+								break
+							case "SIM卡":
+								this.cbd[5].tf = true
+								break
+						}
+					}
+					console.log(items3[0].children)
+					var arr2 = items3[0].children
+					for(var i =0;i<arr2.length;i++){
+						switch (arr2[i].purview_name){
+							case "设备控制":
+								this.xy[0].tf = true
+								break;
+							case "SIM卡":
+								this.xy[1].tf = true
+								break;
+							case "数据详情":
+								this.xy[2].tf = true
+								break;
+						}
+					}
+					console.log(items4[0].children)
+					var arr3 = items4[0].children
+					for(var i =0;i<arr3.length;i++){
+						switch (arr3[i].purview_name){
+							case "设备控制":
+								this.bzy[0].tf = true
+								break;
+							case "查看图片":
+								this.bzy[1].tf = true
+								break;
+							case "数据详情":
+								this.bzy[2].tf = true
+								break;
+							case "SIM卡":
+								this.bzy[3].tf = true
+								break;
+						}
+					}
+				}
+			})
 		},
 		methods: {
 			async getState() {
@@ -432,6 +521,7 @@
 				}
 			},
 			partClick(path) {
+				console.log(path)
 				uni.navigateTo({
 					url: path + '?d_id=' + this.equipInfo.d_id + "&device_id=" + this.equipInfo.imei
 				});
@@ -577,7 +667,7 @@
 				padding: 20rpx;
 				box-sizing: border-box;
 				flex-basis: 33%;
-				flex-grow: 1;
+				/* flex-grow: 1; */
 			}
 		}
 
@@ -628,5 +718,14 @@
 			text-align: center;
 			padding: 30rpx;
 		}
+		.field {
+			/deep/.uni-input-input {
+				border: 2rpx solid #FF0000;
+				border-radius: 24rpx;
+				width: 140px;
+				padding-left: 10rpx;
+				box-sizing: border-box;
+			}
+		}
 	}
 </style>

+ 69 - 26
pages/cb/index/index.vue

@@ -6,10 +6,10 @@
 				<uni-nav-bar @clickRight="clickRight" @clickLeft="clickLeft" left-icon="back" left-text="返回" right-icon="search"
 				 title="测报灯系统"></uni-nav-bar>
 				<view>
-					<image :src="$appimghost+'/image/cb/banner.jpg'" mode="widthFix"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/banner.jpg'" mode="widthFix"></image>
 				</view>
 				<view class="tab-box">
-					<view v-for="(item,index) in equipArr" :key="item.type" @click="tabClick(index)" :class="['tab-item',active==index?'active':'']">
+					<view v-for="(item,index) in equipArr" :key="item.type" v-if="item.tf" @click="tabClick(index)" :class="['tab-item',active==index?'active':'']">
 						<text>{{item.name}}</text>
 						<text class="bottom-line"></text>
 					</view>
@@ -28,7 +28,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -41,29 +41,66 @@
 			return {
 				active: 0, //默认选中虫情测报
 				equipArr: [{
-					name: '虫情测报',
-					type: 3, //3虫情测报灯 7孢子仪 4智能性诱
-					list: [],
-					pageIndex: 1,
-				}, {
-					name: '孢子仪',
-					type: 7, //3虫情测报灯 7孢子仪 4智能性诱
-					list: [],
-					pageIndex: 1,
-				}, {
-					name: '性诱测报',
-					type: 4, //3虫情测报灯 7孢子仪 4智能性诱
-					list: [],
-					pageIndex: 1,
-				}],
+						name: '虫情测报',
+						type: 3, //3虫情测报灯 7孢子仪 4智能性诱
+						list: [],
+						pageIndex: 1,
+						tf:false,
+					}, {
+						name: '孢子仪',
+						type: 7, //3虫情测报灯 7孢子仪 4智能性诱
+						list: [],
+						pageIndex: 1,
+						tf:false,
+					}, {
+						name: '性诱测报',
+						type: 4, //3虫情测报灯 7孢子仪 4智能性诱
+						list: [],
+						pageIndex: 1,
+						tf:false,
+					},
+					{
+						name: '性诱2.0',
+						type: 10, //3虫情测报灯 7孢子仪 4智能性诱 性诱2.0
+						list: [],
+						pageIndex: 1,
+						tf:false
+					}
+				],
 				device_id: '3', //筛选的设备id
-				isTop: false
+				isTop: false,
 			}
 		},
 		onLoad() {
-			this.getEquipList(0)
-			this.getEquipList(1)
-			this.getEquipList(2)
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "测报系统"
+					})
+					var arr = items[0].children
+					for(var i =0;i<arr.length;i++){
+						switch (arr[i].purview_name){
+							case "虫情测报灯":
+								this.equipArr[0].tf = true
+								this.getEquipList(0)
+								break
+							case "性诱测报":
+								this.equipArr[2].tf = true
+								this.getEquipList(2)
+								break
+							case "孢子仪":
+								this.equipArr[1].tf = true
+								this.getEquipList(1)
+								break
+							case "性诱2.0":
+								this.equipArr[3].tf = true
+								this.getEquipList(3)
+								break
+						}
+					}
+				}
+			})
 		},
 		onShow() {
 
@@ -124,15 +161,21 @@
 			},
 			clickRight() {
 				uni.navigateTo({
-					url: "./search?device_id="+this.device_id
+					url: "./search?device_id=" + this.device_id
 				})
 			},
 			itemClick(item) {
 				item.type = this.equipArr[this.active].type
 				let data = JSON.stringify(item)
-				uni.navigateTo({
-					url: '/pages/cb/equip-detail/equip-detail?info=' + data
-				});
+				if (item.type == 10) {
+					uni.navigateTo({
+						url: '/pages/cb/xy2.0/particulars?info=' + data
+					});
+				} else {
+					uni.navigateTo({
+						url: '/pages/cb/equip-detail/equip-detail?info=' + data
+					});
+				}
 			},
 			clickLeft() {
 				uni.switchTab({

+ 1 - 1
pages/cb/index/search.vue

@@ -27,7 +27,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 2 - 2
pages/cb/sim/sim.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="section">
 			<view class="tit">
-				<image mode="widthFix" src="/static/image/cb/sim1.png" ></image>
+				<image mode="widthFix" src="http://static.yfpyx.com/bigdata_app/image/cb/sim1.png" ></image>
 				sim卡流量
 			</view>
 			<view class="item">
@@ -33,7 +33,7 @@
 		<template v-if="showHksimFlag">
 			<view class="section">
 				<view class="tit">
-					<image mode="widthFix" src="/static/image/cb/sim2.png" ></image>
+					<image mode="widthFix" src="http://static.yfpyx.com/bigdata_app/image/cb/sim2.png" ></image>
 					海康sim卡流量
 				</view>
 				<view class="item">

+ 216 - 178
pages/cb/xy/equip-set/equip-set.vue

@@ -1,53 +1,57 @@
 <template>
 	<view>
-		<view class="tit adminTit">
-			操作
-		</view>
-		<view class="btns">
-			 <button type="warn" @click="equipBtnControl('update')" size="mini">升级</button>
-			 <button type="warn" @click="equipBtnControl('reboot')" size="mini">重启</button>
-			 <button type="warn" @click="equipBtnControl('clearworm')" size="mini">清网</button>
-			 <button type="warn" @click="" size="mini">查询服务器配置</button>
-		</view>
-		<view class="tit adminTit">
-			设备开关
-		</view>
-		<view class="uni-list-cell"  @click="ds_show=true">
-			<text class="uni-input">{{equipContrlForm1.ds=="0"?'关机':'开机'}}</text>
-			<view class="arrow"></view>
-			<u-select v-model="ds_show" mode="single-column" :list="ds_list" @confirm="confirm($event,'ds')"></u-select>
-		</view>
-		<view class="tit adminTit">
-			时控开关
-		</view>
-		<view class="uni-list-cell"  @click="timctrl_show=true">
-			<text class="uni-input">{{equipContrlForm1.timctrl=="0"?'关':'开'}}</text>
-			<view class="arrow"></view>
-			<u-select v-model="timctrl_show" mode="single-column" :list="timctrl_list" @confirm="confirm($event,'timctrl')"></u-select>
-		</view>
-		<view class="tit">
-			时控时长
+		<view class="" v-if="myuser_type">
+			<view class="tit adminTit">
+				操作
+			</view>
+			<view class="btns">
+				<button type="warn" @click="equipBtnControl('update')" size="mini">升级</button>
+				<button type="warn" @click="equipBtnControl('reboot')" size="mini">重启</button>
+				<button type="warn" @click="equipBtnControl('clearworm')" size="mini">清网</button>
+			</view>
+			<view class="tit adminTit">
+				设备开关
+			</view>
+			<view class="uni-list-cell" @click="cell">
+				<text class="uni-input">{{equipContrlForm1.ds=="0"?'关机':'开机'}}</text>
+				<view class="arrow"></view>
+				<u-select v-model="ds_show" mode="single-column" :list="ds_list" @confirm="confirm($event,'ds')"></u-select>
+			</view>
+			<view class="tit adminTit">
+				时控开关
+			</view>
+			<view class="uni-list-cell" @click="shicell">
+				<text class="uni-input">{{equipContrlForm1.timctrl=="0"?'关':'开'}}</text>
+				<view class="arrow"></view>
+				<u-select v-model="timctrl_show" mode="single-column" :list="timctrl_list" @confirm="confirm($event,'timctrl')"></u-select>
+			</view>
 		</view>
-		<view class="selectTime">
-			<view class="uni-list-cell time" @click="selectTime('st')">
-				<text>{{time.time1||'开始时间'}}</text>
-				<u-icon name="clock"></u-icon>
+		<view class="" v-if="Number(equipContrlForm1.timctrl)">
+			<view class="tit">
+				时控时长
 			</view>
-			<text class="line">-</text>
-			<view class="uni-list-cell time" @click="selectTime('et')">
-				<text>{{time.time2||'结束时间'}}</text>
-				<u-icon name="clock"></u-icon>
+			<view class="selectTime">
+				<view class="uni-list-cell time" @click="selectTime('st')">
+					<text>{{time.time1||'开始时间'}}</text>
+					<u-icon name="clock"></u-icon>
+				</view>
+				<text class="line">-</text>
+				<view class="uni-list-cell time" @click="selectTime('et')">
+					<text>{{time.time2||'结束时间'}}</text>
+					<u-icon name="clock"></u-icon>
+				</view>
+				<u-select v-model="timeShow" mode="single-column" :list="timeList" @confirm="timeConfirm($event,timeType)"></u-select>
 			</view>
-			<u-select v-model="timeShow" mode="single-column" :list="timeList" @confirm="timeConfirm($event,timeType)"></u-select>
 		</view>
 		<view class="tit">
 			数据频率(min)
 		</view>
 		<view class="">
-			<slider :value="equipContrlForm1.dat_f" show-value="true" :min="10" :max="40" @change="sliderChange"  block-color="#57C878" activeColor="#57C878" step="1" />
+			<slider :value="equipContrlForm1.dat_f" show-value="true" :min="10" :max="40" @change="sliderChange" block-color="#57C878"
+			 activeColor="#57C878" step="1" />
 		</view>
 		<view class="submit-box">
-			<u-button  @click="submit" type="success">确定</u-button>
+			<u-button @click="submit" type="success">确定</u-button>
 		</view>
 		<u-toast ref="toast" />
 	</view>
@@ -57,154 +61,169 @@
 	export default {
 		data() {
 			return {
-				d_id:'',
+				d_id: '',
 				equipContrlForm1: {
-			        st: '', //时控开始时间
-			        et: '', //时控结束时间
-			        dat_f: 10 ,//数据上传时间间隔
-			        ds:'',//开关,1开机,0关机
-					timctrl:''//时控开关 1开,0关
-			    },	
-				time:{
-					time1:'',
-					time2:''
+					st: '', //时控开始时间
+					et: '', //时控结束时间
+					dat_f: 10, //数据上传时间间隔
+					ds: '', //开关,1开机,0关机
+					timctrl: '' //时控开关 1开,0关
 				},
-				ds_list:[{
-					value:0,
-					label:'关机'
-				},{
-					value:1,
-					label:'开机'
-				}
-				],
-				ds_show:false,
-				timctrl_list:[
-					{
-						value:0,
-						label:'关'
-					},{
-						value:1,
-						label:'开'
-					}
-				],
-				timctrl_show:false,
-				timeList:[],
-				timeShow:false,
-				timeType:''
+				time: {
+					time1: '',
+					time2: ''
+				},
+				ds_list: [{
+					value: 0,
+					label: '关机'
+				}, {
+					value: 1,
+					label: '开机'
+				}],
+				ds_show: false,
+				timctrl_list: [{
+					value: 0,
+					label: '关'
+				}, {
+					value: 1,
+					label: '开'
+				}],
+				timctrl_show: false,
+				timeList: [],
+				timeShow: false,
+				timeType: '',
+				myuser_type: false
 			}
 		},
-		onLoad(option){
-			this.d_id=option.d_id
+		onLoad(option) {
+			this.d_id = option.d_id
 			this.equipSet()
+			uni.getStorage({
+				key: "myuser_type",
+				success: (res) => {
+					if (Number(res.data) == 1) {
+						this.myuser_type = true
+					}
+				}
+			})
 		},
 		methods: {
 			//回显设备控制参数
-			async equipSet(){
-				let res=await this.$myRequest({
-					url:'/api/api_gateway?method=forecast.send_control.device_control_info',
-					data:{
-						d_id:this.d_id,
-						cmd: "paramconf" 
+			async equipSet() {
+				let res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.device_control_info',
+					data: {
+						d_id: this.d_id,
+						cmd: "paramconf"
 					}
 				})
 				console.log(res)
-			  let obj = {
-				  st: res.work_tim.st,
-				  et: res.work_tim.et,
-				  timctrl: res.work_tim.timctrl,
-				  ds: res.power.ds,
-				  dat_f: res.data_tim.dat_f,
+				let obj = {
+					st: res.work_tim.st,
+					et: res.work_tim.et,
+					timctrl: res.work_tim.timctrl,
+					ds: res.power.ds,
+					dat_f: res.data_tim.dat_f,
 				};
-				this.equipContrlForm1=obj
-				this.time.time1= obj.st && obj.st < 10 ? "0" + obj.st + ":00" : obj.st + ":00";
-				this.time.time2= obj.et && obj.et < 10 ? "0" + obj.et + ":00" : obj.et + ":00";
+				this.equipContrlForm1 = obj
+				this.time.time1 = obj.st && obj.st < 10 ? "0" + obj.st + ":00" : obj.st + ":00";
+				this.time.time2 = obj.et && obj.et < 10 ? "0" + obj.et + ":00" : obj.et + ":00";
 			},
-			async equipBtnControl(cmd){
-				let res=await this.$myRequest({
-					url:'/api/api_gateway?method=forecast.send_control.admin_device_control',
-					data:{
+			async equipBtnControl(cmd) {
+				let res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.admin_device_control',
+					data: {
 						cmd,
 						device_type_id: 4,
 						d_id: this.d_id
 					}
 				})
-				if(res){
+				if (res) {
 					this.$refs.toast.show({
 						title: '指令下发成功!',
 						type: 'success',
 					})
 				}
 			},
-			sliderChange(e){
-				this.equipContrlForm1.dat_f=e.detail.value
+			sliderChange(e) {
+				this.equipContrlForm1.dat_f = e.detail.value
 			},
-			selectTime(a){
-				this.timeType=a
-				if(this.timeList.length==0){
-					let arr=[]
-					for(let i=0;i<24;i++){
-						let label=i<10?`0${i}:00`:`${i}:00`
+			selectTime(a) {
+				this.timeType = a
+				if (this.timeList.length == 0) {
+					let arr = []
+					for (let i = 0; i < 24; i++) {
+						let label = i < 10 ? `0${i}:00` : `${i}:00`
 						arr.push({
-							value:i,
+							value: i,
 							label
 						})
 					}
 					arr.unshift({
-						value:'',
-						label:'重置'
+						value: '',
+						label: '重置'
 					})
-					this.timeList=arr
+					this.timeList = arr
 				}
-				
-				
-			this.timeShow=true
+				this.timeShow = true
 			},
-			confirm(e,a){
-				if(a=='ds'){
-					this.equipContrlForm1.ds=e[0].value
-				}else if(a=='timctrl'){
-					this.equipContrlForm1.timctrl=e[0].value
+			confirm(e, a) {
+				console.log(e)
+				if (a == 'ds') {
+					this.equipContrlForm1.ds = e[0].value
+				} else if (a == 'timctrl') {
+					this.equipContrlForm1.timctrl = e[0].value
 				}
 			},
-			timeConfirm(e,a){
-				if(a=='st'){
-					this.time.time1=e[0].label
-					this.equipContrlForm1.st=e[0].value
-				}else{
-					this.time.time2=e[0].label
-					this.equipContrlForm1.et=e[0].value
+			timeConfirm(e, a) {
+				if (a == 'st') {
+					this.time.time1 = e[0].label
+					this.equipContrlForm1.st = e[0].value
+				} else {
+					this.time.time2 = e[0].label
+					this.equipContrlForm1.et = e[0].value
 				}
 			},
-			async submit(){
+			cell() { //设备开关
+				this.ds_show = true
+			},
+			shicell() {
+				this.timctrl_show=true
+			},
+			async submit() {
 				console.log(this.equipContrlForm1)
 				let obj = {
-					work_tim: { 
+					work_tim: {
 						timctrl: this.equipContrlForm1.timctrl,
 						st: this.equipContrlForm1.st,
-						et: this.equipContrlForm1.et ,
-						},
-					data_tim: { dat_f: this.equipContrlForm1.dat_f },
-					power: { ds: this.equipContrlForm1.ds },
+						et: this.equipContrlForm1.et,
+					},
+					data_tim: {
+						dat_f: this.equipContrlForm1.dat_f
+					},
+					power: {
+						ds: this.equipContrlForm1.ds
+					},
 				};
-				let res=await this.$myRequest({
-					url:'/api/api_gateway?method=forecast.send_control.device_control',
-					data:{
-							device_type_id: 4,
-							d_id: this.d_id,
-							config: JSON.stringify(obj),
+				let res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.device_control',
+					data: {
+						device_type_id: 4,
+						d_id: this.d_id,
+						config: JSON.stringify(obj),
 					}
 				})
-				if(res){
+				if (res) {
 					this.$refs.toast.show({
 						title: '修改成功!',
 						type: 'success',
-						callback:function(){
+						callback: function() {
 							uni.navigateBack({
 								delta: 1
-							});	
+							});
 						}
-					})	
-					
+					})
+
 				}
 			}
 		}
@@ -212,50 +231,69 @@
 </script>
 
 <style lang="scss">
-page{
-	padding:20rpx;
-	box-sizing: border-box;
-	.tit{
-		line-height:30rpx;
-		font-size:30rpx;
-		padding-left:20rpx;
-		border-left-width:2px;
-		border-left-style: solid;
-		border-left-color:$uni-color-success;
-		margin:30rpx 0;
+	page {
+		padding: 20rpx;
+		box-sizing: border-box;
+
+		.tit {
+			line-height: 30rpx;
+			font-size: 30rpx;
+			padding-left: 20rpx;
+			border-left-width: 2px;
+			border-left-style: solid;
+			border-left-color: $uni-color-success;
+			margin: 30rpx 0;
 		}
-	.adminTit{border-left-color:#e64340;}
-	.btns{
-		display:flex;
-		justify-content: flex-start;
-		flex-wrap:no-wrap;
-		button{margin:0;margin-right:10rpx;padding:0 25rpx;}
-	}
-	.uni-list-cell{
-		background:#F7F8FA;
-		padding:10rpx 40rpx;
-		font-size:28rpx;
-		.arrow{
-			display:inline-block;
-			border-width:12rpx 8rpx ;
-			border-style: solid;
-			float:right;
-			margin-top:10rpx;
-			border-color:#888 transparent transparent transparent;
+
+		.adminTit {
+			border-left-color: #e64340;
 		}
-	}
-	.selectTime{
-		display:flex;
-		margin-bottom:20rpx;
-		.time{
-			width:350rpx;
-			display:flex;
-			justify-content: space-between;
+
+		.btns {
+			display: flex;
+			justify-content: flex-start;
+			flex-wrap: no-wrap;
+
+			button {
+				margin: 0;
+				margin-right: 10rpx;
+				padding: 0 25rpx;
+			}
+		}
+
+		.uni-list-cell {
+			background: #F7F8FA;
+			padding: 10rpx 40rpx;
+			font-size: 28rpx;
+
+			.arrow {
+				display: inline-block;
+				border-width: 12rpx 8rpx;
+				border-style: solid;
+				float: right;
+				margin-top: 10rpx;
+				border-color: #888 transparent transparent transparent;
+			}
+		}
+
+		.selectTime {
+			display: flex;
+			margin-bottom: 20rpx;
+
+			.time {
+				width: 350rpx;
+				display: flex;
+				justify-content: space-between;
+			}
+
+			.line {
+				width: 50rpx;
+				text-align: center;
+			}
+		}
+
+		.submit-box {
+			margin-top: 60rpx
 		}
-		.line{width:50rpx;text-align: center;}
-	}
-	.submit-box{
-		margin-top:60rpx
 	}
-}
 </style>

+ 5 - 3
pages/cb/xy/equip-set/xyhistoryile.vue

@@ -22,11 +22,11 @@
 				<p class="wind_titie">风速、风向</p>
 				<view class="wind_text">
 					<view class="wind_speed">
-						<image :src="$appimghost+'/image/cb/xy/1c24243bb184e84ffd13540367569ba.png'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/xy/1c24243bb184e84ffd13540367569ba.png'" mode=""></image>
 						<p>风速:{{wind_sped}}(m/s)</p>
 					</view>
 					<view class="wind_direction">
-						<image :src="$appimghost+'/image/cb/xy/c44ae038324e1040a1eaa702e6d71a5.png'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/xy/c44ae038324e1040a1eaa702e6d71a5.png'" mode=""></image>
 						<p>风速:{{wind_drec}}</p>
 					</view>
 				</view>
@@ -441,7 +441,9 @@
 		.scroll-X {
 			width: 95%;
 			margin: 20rpx auto;
-
+			.table{
+				width: 1672px;
+			}
 			.tr {
 				display: flex;
 				overflow: hidden;

+ 429 - 0
pages/cb/xy2.0/historydatas.vue

@@ -0,0 +1,429 @@
+<template>
+	<view>
+		<view class="">
+			<view class="shuju_one">
+				<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>
+				<view class="canvastishi" v-if="!canvastishiTF">
+					暂无数据
+				</view>
+				<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>
+			<view class="refresh" @click="refresh">
+				刷 新
+			</view>
+			<view class="condition">
+				<scroll-view scroll-top="0" scroll-x="true" class="scroll-X">
+					<table class="table">
+						<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.xy_addtime|timeFormat()}}</td>
+							<td class="td">{{items.at==""?"--":items.at}}</td>
+							<td class="td">{{items.ah==""?"--":items.ah}}</td>
+							<td class="td">{{items.warn==""?"--":items.warn}}</td>
+							<td class="td">{{items.b_V==""?"--":items.b_V}}</td>
+							<td class="td">{{items.b_c==""?"--":items.b_c}}</td>
+							<td class="td">{{items.p_v==""?"--":items.p_v}}</td>
+							<td class="td">{{items.p_c==""?"--":items.p_c}}</td>
+						</tr>
+						<tr class="tr" v-if="forbidden">
+							<td class="td" v-for="item in 8">暂无数据</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>
+		</view>
+	</view>
+</template>
+
+<script>
+	import uCharts from '../../../components/js_sdk/u-charts/u-charts/u-charts.js';
+	var canvaColumnA = null;
+	export default {
+		data() {
+			return {
+				styles: {
+					// width: "650rpx",
+					height: "400rpx"
+				},
+				d_id: '',
+				start_time: "",
+				end_time: "",
+				historydatas: [],
+				titletext: ["24小时", "近一个月", "近半年", "近一年"],
+				titleidnex: 0,
+				device_id: '',
+				page: 1,
+				historylistdata: [],
+				thdata: ["上报时间", "环境温度(°C)", "环境湿度(%)", "虫害预警", "电池电压", "电池电流", "太阳能板电压", "太阳能板电流"],
+				forbidden: false,
+				cWidth: '400',
+				cHeight: '400',
+				pixelRatio: 1,
+				canvastishiTF: false,
+				pagesum: null,
+				worms:[]
+			}
+		},
+		methods: {
+			async history() { //历史数据列表折线图
+				this.Chistory()
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_line_chart',
+					data: {
+						device_id: this.device_id,
+						start_time: parseInt(this.start_time / 1000),
+						end_time: parseInt(this.end_time / 1000),
+						status: "at_ah"
+					}
+				})
+				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].xy_addtime)
+						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getMinutes())
+						arr1.unshift(res[i].ah == "" ? "0" : res[i].ah)
+						arr2.unshift(res[i].at == "" ? "0" : res[i].at)
+					}
+					for(var j = 0; j < this.worms.length; j++){
+						var times = new Date(res[i].xy_addtime)
+						arr3.unshift(res[i].pest_num == "" ? "0" : res[i].pest_num)
+					}
+					this.$nextTick(()=>{
+						var obj = [{
+							name: '温度',
+							data: arr1,
+							color: '#00E29D'
+						}, {
+							name: '湿度',
+							data: arr2,
+							color: '#6CBBFF'
+						},{
+							name: '诱虫次数',
+							data: arr3,
+							color: '#ff0000'
+						}]
+						this.showColumn("canvasColumnA", xtitle, obj)
+					})
+				}
+			},
+			async Chistory() { //历史数据列表折线图
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_line_chart',
+					data: {
+						device_id: this.device_id,
+						start_time: parseInt(this.start_time / 1000),
+						end_time: parseInt(this.end_time / 1000),
+						status: "pest"
+					}
+				})
+				this.worms = res
+			},
+			//forecast.worm_lamp.device_history_data历史数据列表
+			async historylist() { //历史数据列表
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_history',
+					data: {
+						device_type_id: 3,
+						device_id: this.device_id,
+						start_time: parseInt(this.start_time / 1000),
+						end_time: parseInt(this.end_time / 1000),
+						page: this.page
+					}
+				})
+				this.historylistdata = res.data
+				console.log(res.data)
+				this.pagesum = Math.ceil(res.nums / 10) + 1
+				if (res.data.length == 0) {
+					this.forbidden = true
+				} else {
+					this.forbidden = false
+				}
+				console.log(this.historylistdata)
+			},
+			// forecast.send_control.get_device_config 获取当前时间的数据
+			async newdata() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_mqtt',
+					data: {
+						d_id: this.d_id
+					}
+				})
+				if(res){
+					uni.showToast({
+						title: '刷新成功',
+						duration: 2000,
+						icon: "none"
+					});
+					uni.navigateBack({
+						delta: 1
+					})
+				}else{
+					uni.showToast({
+						title: '刷新失败',
+						duration: 2000,
+						icon: "none"
+					});
+				}
+			},
+			refresh() { //获取当前时间的数据
+				this.newdata()
+			},
+			changeindex(index) {
+				this.titleidnex = index
+				var now = new Date()
+				this.$forceUpdate()
+				if (index == 0) {
+					this.start_time = this.end_time - 24 * 60 * 60 * 1000
+					this.history()
+					this.historylist()
+				} else if (index == 1) {
+					var oldtime = now.setMonth(now.getMonth() - 1)
+					this.start_time = parseInt(oldtime)
+					this.history()
+					this.historylist()
+				} else if (index == 2) {
+					var oldtime = now.setMonth(now.getMonth() - 6)
+					this.start_time = parseInt(oldtime)
+					this.history()
+					this.historylist()
+				} else if (index == 3) {
+					var oldtime = now.setFullYear(now.getFullYear() - 1)
+					this.start_time = parseInt(oldtime)
+					this.history()
+					this.historylist()
+				}
+			},
+			prev() { //上一页
+				if (this.page > 1) {
+					this.page--
+					this.historylist()
+				}
+			},
+			next() { //下一页
+				this.page++
+				this.historylist()
+			},
+			clickLeft() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			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'
+						}
+					}
+				});
+			},
+			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
+					}
+				});
+			},
+		},
+		onLoad(option) {
+			console.log(option)
+			this.d_id = option.d_id
+			this.device_id = option.device_id
+			this.cWidth = uni.upx2px(650);
+			this.cHeight = uni.upx2px(500);
+		},
+		onShow(){
+			this.end_time = +new  Date() + 1000
+			this.start_time = this.end_time - 24 * 60 * 60 * 1000
+			setTimeout(()=>{
+				this.history()
+				this.historylist()
+			},1000)
+		}
+	}
+</script>
+
+<style lang="scss">
+	.shuju_one,
+	.shuju_two {
+		position: absolute;
+		top: 10px;
+		width: 90%;
+		left: 5%;
+		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;
+		}
+
+		.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;
+			}
+		}
+	}
+
+	.refresh {
+		position: absolute;
+		top: 630rpx;
+		left: 5%;
+		width: 160rpx;
+		height: 50rpx;
+		background-color: #28AE4F;
+		color: #FFFFFF;
+		line-height: 50rpx;
+		text-align: center;
+	}
+
+	.condition {
+		position: absolute;
+		top: 720rpx;
+		display: flex;
+		flex-wrap: wrap;
+		width: 90%;
+		left: 5%;
+		box-shadow: 0 0 10rpx #bcb9ca;
+		margin-bottom: 30rpx;
+
+		.scroll-X {
+			width: 95%;
+			margin: 20rpx auto;
+			.table{
+				width: 1042px;
+			}
+			.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;
+				}
+			}
+		}
+
+		.pagenumber {
+			display: flex;
+			margin: 20rpx auto;
+
+			button {
+				width: 150rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+				font-size: 26rpx;
+				text-align: center;
+				background-color: #17BB89;
+				color: #FFFFFF;
+			}
+
+			.pagenumber_page {
+				width: 100rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+				font-size: 26rpx;
+				text-align: center;
+			}
+		}
+	}
+</style>
+

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

@@ -0,0 +1,345 @@
+<template>
+	<view>
+		<view class="">
+			<view :class="['info',equipInfo.is_online==1?'on':'off']">
+				<p>设备ID:{{newState.device_id}}</p>
+				<p>设备名称:{{newState.device_name}}</p>
+				<p>最新上报时间:{{newState.uptime | timeFormat}}</p>
+				<p>最新地址:{{newState.addr}}</p>
+				<p class="fillin" @click="addxy">测报害虫:<input type="text" v-model="newState.decoy" disabled/><u-icon name="edit-pen" color="#f0ad4e" size="28"></u-icon></p>
+				<p>诱芯更换时间:<span v-if="newState.xy_uptime">{{newState.xy_uptime | timeFormat }}</span><span v-else>暂无</span></p>
+				<p>已使用天数:{{newState.day}}<span class="expiretishi" v-if="expiretext">{{"("+expiretext+")"}}</span></p>
+			</view>
+			<view class="realtime">
+				<view class="realtime_title">
+					<p>实时数据</p>
+					<p class="span" @click="toggle">历史数据>>></p>
+				</view>
+				<view class="realtime_text">
+					<view class="realtime_item">
+						<image src="http://static.yfpyx.com/bigdata_app/image/cb/xy2.0/wendu.png" mode=""></image>
+						<view class="text">
+							<p>环境温度</p>
+							<p>{{newState.at}}℃</p>
+						</view>
+					</view>
+					<view class="realtime_item">
+						<image src="http://static.yfpyx.com/bigdata_app/image/cb/xy2.0/shidu.png" mode=""></image>
+						<view class="text">
+							<p>环境湿度</p>
+							<p>{{newState.ah}}%</p>
+						</view>
+					</view>
+					<view class="realtime_item">
+						<image src="http://static.yfpyx.com/bigdata_app/image/cb/xy2.0/tianqi.png" mode=""></image>
+						<view class="text">
+							<p>天气</p>
+							<p>{{newState.type}}</p>
+						</view>
+					</view>
+					<view class="realtime_item">
+						<image src="http://static.yfpyx.com/bigdata_app/image/cb/xy2.0/xiayu.png" mode=""></image>
+						<view class="text">
+							<p>是否下雨</p>
+							<p>{{newState.rain}}</p>
+						</view>
+					</view>
+					<view class="realtime_item">
+						<image src="http://static.yfpyx.com/bigdata_app/image/cb/xy2.0/fengxiang.png" mode=""></image>
+						<view class="text">
+							<p>风力风向</p>
+							<p>{{newState.wind}}</p>
+						</view>
+					</view>
+					<view class="realtime_item">
+						<image src="http://static.yfpyx.com/bigdata_app/image/cb/xy2.0/yujing.png" mode=""></image>
+						<view class="text">
+							<p>虫害情报</p>
+							<p>{{newState.warn==""?"暂无":newState.warn}}</p>
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="sim" v-if="simTF">
+				<p class="sim_title">sim卡详情</p>
+				<view class="sim_text">
+					<p class="p">ICCID:{{simdata.iccid}}</p>
+					<p class="p">状态:{{simstate[simdata.account_status]}}</p>
+					<view class="sim_plan">
+						套餐流量:
+						<view class="sim_plan_text">
+							<p style="width: 100%;"></p>
+						</view>
+						{{simdata.data_plan}}MB
+					</view>
+					<view class="sim_plan">
+						已用流量:
+						<view class="sim_plan_text">
+							<p :style="{width:usedBeliel+'%'}"></p>
+						</view>
+						{{simdata.data_plan - simdata.data_balance}}MB
+					</view>
+					<view class="sim_plan">
+						剩余流量:
+						<view class="sim_plan_text">
+							<p :style="{width:residueBeliel+'%'}"></p>
+						</view>
+						{{simdata.data_balance}}MB
+					</view>
+					<p class="p">到期时间:{{simdata.expiry_date | timeFormat}}</p>
+				</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">
+				</u-field>
+				<view class="btn-box">
+					<u-button @click="yxSubmit" size="mini" type="success" class="box-item">确定</u-button>
+				</view>
+			</u-popup>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				equipInfo:[],
+				newState:{},
+				simdata:{},
+				simstate:['未知','测试期','沉默期','使用中','停机','停机保号','预销号','销号'],
+				usedBeliel:'',
+				residueBeliel:"",
+				simTF:false,
+				expiretext:"",
+				yxShow:false,
+				xyErr:"",
+				decoy:""
+			}
+		},
+		methods: {
+			async getState(d_id) {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_details',
+					data: {
+						d_id: d_id,
+					}
+				})
+				this.newState = res[0]
+				if(Object.keys(this.newState.expire)[0]){
+					console.log(Object.keys(this.newState.expire)[0])
+				}
+				switch (Number(Object.keys(this.newState.expire)[0])){
+					case 0 :
+						this.expiretext = "已过期,请更换诱芯"
+						break;
+					case 1 :
+						this.expiretext = "剩余"+(40-this.newState.day)+"天,请及时更换诱芯"
+						break;
+					case 2 :
+						this.expiretext = ""
+						break;
+				}
+				console.log(res)
+			},
+			async getSim(d_id) {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_sim',
+					data: {
+						d_id: d_id,
+					}
+				})
+				console.log(res)
+				if(res.data != null){
+					this.simdata = res.data.card_list[0]
+					this.usedBeliel = (this.simdata.data_plan-this.simdata.data_balance)/ this.simdata.data_plan *100
+					this.residueBeliel = this.simdata.data_balance/this.simdata.data_plan * 100
+					this.simTF = true
+				}else{
+					this.simTF = false
+				}
+			},
+			async getworm(pest_name) {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=sex_lure_nl.sex_lure.nl_device_set_lure',
+					data: {
+						d_id: this.equipInfo.d_id,
+						pest_name:pest_name
+					}
+				})
+				console.log(res)
+				if(res.code == 200){
+					uni.showToast({
+						title: "设置成功",
+						icon: "none"
+					})
+					this.newState.decoy = pest_name
+				}
+			},
+			toggle(){
+				uni.navigateTo({
+					url:"./historydatas?device_id="+this.equipInfo.imei + "&d_id=" + this.equipInfo.d_id
+				})
+			},
+			addxy(){
+				this.yxShow =true
+				this.decoy = this.newState.decoy
+			},
+			yxSubmit(){
+				if(this.decoy == ""){
+					this.xyErr = "请填写害虫名称"
+				}else{
+					this.xyErr = ""
+					this.getworm(this.decoy)
+					console.log(this.decoy)
+					this.yxShow =false
+				}
+			}
+		},
+		onLoad(option) {
+			this.equipInfo = JSON.parse(option.info)
+			console.log(this.equipInfo)
+			this.getState(this.equipInfo.d_id)
+			this.getSim(this.equipInfo.d_id)
+			// uni.getStorage({ 待开发
+			// 	key:"jurisdiction",
+			// 	success:(res)=>{
+			// 		console.log(JSON.parse(res.data))
+			// 		let items = JSON.parse(res.data).filter((item)=>{
+			// 			return item.purview_name == "测报系统"
+			// 		})
+			// 		let items2 = items[0].children.filter((item)=>{
+			// 			return item.purview_name == "性诱2.0"
+			// 		})
+			// 		console.log(items2)
+			// 	},
+			// })	
+		}
+	}
+</script>
+
+<style lang="scss">
+	.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: 95%;
+		margin: 0 auto;
+		p:first-child{
+			font-size: 32rpx;
+		}
+		.expiretishi{
+			font-size: 24rpx;
+			color: #FF0000;
+		}
+		.fillin{
+			display: flex;
+			input{
+				width: 200rpx;
+				font-size: 24rpx;
+				height: 50rpx;
+				line-height: 50rpx;
+				text-indent: 1em;
+			}
+		}
+	}
+
+	.on {
+		background-image: url('http://static.yfpyx.com/bigdata_app/image/cb/onBg.png')
+	}
+
+	.off {
+		background-image: url('http://static.yfpyx.com/bigdata_app/image/cb/offBg.png')
+	}
+	.realtime{
+		width: 95%;
+		margin: 40rpx auto;
+		.realtime_title{
+			font-size: 36rpx;
+			display: flex;
+			justify-content: space-between;
+			.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;
+				}
+			}
+		}
+	}
+	.sim{
+		width: 95%;
+		margin: 40rpx auto;
+		.sim_title{
+			font-size: 36rpx;
+		}
+		.sim_text{
+			box-shadow: 0 0 10rpx #bcb9ca;
+			padding: 30rpx;
+			margin-top: 40rpx;
+			.p{
+				margin-top: 20rpx;
+			}
+			.sim_plan{
+				display: flex;
+				margin-top: 20rpx;
+				.sim_plan_text{
+					width: 65%;
+					height: 16rpx;
+					background-color: #cccccc;
+					border-radius:8rpx ;
+					margin: 10rpx 20rpx 0 0;
+					p{
+						height: 16rpx;
+						background-color: #0dc6b6;
+						border-radius:8rpx ;
+					}
+				}
+			}
+		}
+	}
+	.field {
+		/deep/.fild-body{
+			margin-left: -30px;
+		}
+		/deep/.uni-input-input {
+			border: 2rpx solid #FF0000;
+			border-radius: 24rpx;
+			width: 140px;
+			padding-left: 20rpx;
+			box-sizing: border-box;
+		}
+	}
+	.btn-box {
+		text-align: center;
+		padding: 20rpx 30rpx;
+	}
+</style>

+ 1 - 1
pages/disandpests/index.vue

@@ -11,7 +11,7 @@
 			<view class="recognition" v-if="datasTF">
 				<p class="recognition_title">{{name}}</p>
 				<view :class="tishi?'recognition_img':'recognition_img_two'">
-					<image :src="$appimghost+path2" mode="" @error="error" @click="examine(path2)"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+path2" mode="" @error="error" @click="examine(path2)"></image>
 				</view>
 				<button class="recognition_details" v-if="tishi" @click="examines">查看详情</button>
 				<button class="recognition_details" v-if="!tishi" @click="show=!show">再拍一张</button>

+ 112 - 124
pages/distribution/index.vue

@@ -7,47 +7,24 @@
 					 bar-width="60" active-color="#42b983"></u-tabs>
 				</view>
 			</view>
-			<view class="page-section page-section-gap">
-				<map :style="style" scale="3" :latitude="latitude" :longitude="longitude" :markers="covers" :enable-zoom="true"
-				 @markertap="markertap" :include-points="covers">
-				</map>
-				<view class="particulars">
-					<view class="search_btn_top">
-						已点击设备:
-						<span style="padding: 0 20rpx;">{{list[listindex-1].name=="全部"?"未选中":list[listindex-1].name}}</span>
-						<span>{{punctuation_id}}</span>
-					</view>
-					<view class="search_btn_bot">
-						<view class="particulars_par" @click="eqinfo">
-							查看详情
-						</view>
-						<view class="particulars_ser" @click="serTFs">
-							搜索
-						</view>
-					</view>
+			<view class="LocationAndDetails">
+				<view class="search">
+					<input type="text" v-model="device_id" placeholder="请输入设备ID"/>
 				</view>
-				<view class="distri_ser" v-if="serTF" :style="disstyle">
-					<view class="distri_ser_input">
-						<input type="number" v-model="device_id" placeholder="请输入设备ID" @confirm="doSearch" :adjust-position="false" @focus="focus" auto-blur @blur="disblur"/>
-						<u-icon name="search" size="38rpx" @click="search"></u-icon>
-					</view>
-					<p class="distri_ser_title">请选择设备类型(点击选择)</p>
-					<view class="distri_ser_type">
-						<view :class="typeindex==index?'type_items_bor':'type_items'" v-for="item,index in 6" :key="index" @click="typeselect(index)">
-							<image :src="$appimghost+icon[item].url" mode="" class="type_items_img"></image>
-							<p class="type_items_p">{{list[item].name}}</p>
-						</view>
+				<view class="Location">
+					<view class="particulars_par" @click="eqinfo">
+						查看详情
 					</view>
-					<view class="search_btn">
-						<view class="btn_f" @click="btnF">
-							取 消
-						</view>
-						<view class="btn_t" @click="btnT">
-							确 定
-						</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>
@@ -57,8 +34,6 @@
 			return {
 				id: 0, // 使用 marker点击事件 需要填写id
 				title: 'map',
-				latitude: 39.909,
-				longitude: 116.39742,
 				covers: [],
 				list: [{
 					name: "全部"
@@ -74,35 +49,41 @@
 					name: "监控设备"
 				}, {
 					name: "孢子仪",
+				},{
+					name: "性诱2.0"
 				}],
 				current: 0,
 				icon: [{
 						id: '', //全部
-						url: "/image/distribution/7610e3983eb33ed5b9ad72ebdfc8ed2.png"
+						url: "../../static/images/distribution/7610e3983eb33ed5b9ad72ebdfc8ed2.png"
 					},
 					{
 						id: 2, //杀虫灯
-						url: "/image/distribution/1bd535eb7dbb0809940030d40c64b4c.png"
+						url: "../../static/images/distribution/1bd535eb7dbb0809940030d40c64b4c.png"
 					},
 					{
 						id: 3, //测报灯
-						url: "/image/distribution/0b551e50be351dbc14f0dd6470e3443.png"
+						url: "../../static/images/distribution/0b551e50be351dbc14f0dd6470e3443.png"
 					},
 					{
 						id: 4, //性诱测报
-						url: "/image/distribution/be5c1cfed22713a9544f020cf41c25f.png"
+						url: "../../static/images/distribution/be5c1cfed22713a9544f020cf41c25f.png"
 					},
 					{
 						id: 5, //环境检测
-						url: "/image/distribution/8325b1b6079456ce43f952ce13d2919.png"
+						url: "../../static/images/distribution/8325b1b6079456ce43f952ce13d2919.png"
 					},
 					{
 						id: 6, //监控设备
-						url: "/image/distribution/2eb9e550709430a1bd8178568c14785.png"
+						url: "../../static/images/distribution/2eb9e550709430a1bd8178568c14785.png"
 					},
 					{
 						id: 7, //孢子仪
-						url: "/image/distribution/54a96e2b0ad4efeecbd4a7b5e6deda3.png"
+						url: "../../static/images/distribution/54a96e2b0ad4efeecbd4a7b5e6deda3.png"
+					},
+					{
+						id: 10, //性诱2.0
+						url: "../../static/images/distribution/515ea6143e0aaff4a823270c7aa00a6.png"
 					},
 				],
 				type: '', //设备类型
@@ -113,15 +94,12 @@
 				punctuation_id: "", //点击标点的id
 				punctuation_did: '',
 				punctuation_type: '',
-				style: {
-					width: "100%",
-					height: "85%",
-				},
 				listindex:1,//以选择设备名称
 				disstyle:{
 					position:"absolute",
 					bottom:"0rpx"
-				}
+				},
+				facilitydatas:[]
 			}
 		},
 		onLoad() {
@@ -140,11 +118,12 @@
 				this.covers = []
 				for (var i = 0; i < res.length; i++) {
 					var obj = {}
-					obj.latitude = res[i].lat
-					obj.longitude = res[i].lng
-					obj.id = [res[i].device_id, res[i].d_id, res[i].device_type_id]
+					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 = 25
+					// 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
@@ -152,12 +131,22 @@
 					}
 					this.covers.push(obj)
 				}
-				console.log(res)
+				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
 				}
@@ -165,53 +154,16 @@
 			},
 			markertap(e) {
 				console.log(e)
-				this.punctuation_id = e.detail.markerId[0]
-				this.punctuation_did = e.detail.markerId[1]
-				this.punctuation_type = e.detail.markerId[2]
-				this.listindex = e.detail.markerId[2]
-			},
-			typeselect(index) { //选择设备类型
-				this.typeindex = index
-				this.type = this.icon[index + 1].id
-				console.log(this.type)
-			},
-			doSearch() { //按下回车键
-				this.search()
-			},
-			search() { //点击搜索
-				if (this.type == '') {
-					uni.showToast({
-						title: '请选择设备类型',
-						duration: 2000,
-						icon: "none"
-					});
-				} else {
-					this.history()
-					this.serTF = !this.serTF
-					this.style.height = "85%"
-				}
+				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.serTF = !this.serTF
-				this.style.height = "65%"
-			},
-			btnF() { //取消
-				this.serTF = !this.serTF
-				this.style.height = "85%" 
-			},
-			btnT() { //确定
-				this.search()
-			},
-			focus(e){
-				this.disstyle.bottom = e.detail.height-170+"rpx"
-				this.style.height = "55%"
-			},
-			disblur(){
-				this.disstyle.bottom = 0
-				this.style.height = "65%"
+				this.history()
 			},
 			eqinfo() { //设备信息
-				if (this.punctuation_id == '') {
+				if (this.punctuation_type == '') {
 					uni.showToast({
 						title: '请点击需查看的设备',
 						duration: 2000,
@@ -221,22 +173,22 @@
 					switch (this.punctuation_type) {
 						case 2:
 							uni.navigateTo({
-								url: "../prevention/ucharts?d_id=" + this.punctuation_did + "&imei=" + this.punctuation_id
+								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.punctuation_id
+								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.punctuation_id
+								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.punctuation_id
+								url: "../environment/history?d_id=" + this.punctuation_did + "&device_id=" + this.device_id
 							})
 							break;
 						case 6:
@@ -246,7 +198,12 @@
 							break;
 						case 7:
 							uni.navigateTo({
-								url: "../cb/bzy/equip-set/bzyhistoryile?d_id=" + this.punctuation_did + "&device_id=" + this.punctuation_id
+								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;
 					}
@@ -265,10 +222,58 @@
 		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: 44px;
-		height: 94vh;
+		margin-top: 144px;
+		height: 80vh;
+		// position: fixed;
+		// top: 144px;
+		.map{
+			width: 100%;
+			height: 100%;
+		}
 	}
 	.particulars {
 		width: 100%;
@@ -287,24 +292,7 @@
 			width: 100%;
 			display: flex;
 		}
-		.particulars_par {
-			background-color: #F1F1F1;
-			text-align: center;
-			width: 50%;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 28rpx;
-		}
-
-		.particulars_ser {
-			background-color: #57C87B;
-			text-align: center;
-			width: 50%;
-			height: 80rpx;
-			line-height: 80rpx;
-			font-size: 28rpx;
-			color: #FFFFFF;
-		}
+		
 	}
 
 	.distri_ser {

+ 40 - 11
pages/environment/equipment.vue

@@ -16,16 +16,16 @@
 				</view>
 			</view>
 			<view class="control">
-				<view class="control_item" @click="control">
-					<image :src="$appimghost+'/image/prevention/8.png'" mode=""></image>
+				<view class="control_item" v-if="kongtf" @click="control">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/8.png'" mode=""></image>
 					<p>设备控制</p>
 				</view>
-				<view class="control_item" @click="information">
-					<image :src="$appimghost+'/image/environment/9.png'" mode=""></image>
+				<view class="control_item" v-if="daydatatf" @click="information">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/9.png'" mode=""></image>
 					<p>24小时数据</p>
 				</view>
-				<view class="control_item" @click="charts">
-					<image :src="$appimghost+'/image/environment/10.png'" mode=""></image>
+				<view class="control_item" v-if="shujutf" @click="charts">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/10.png'" mode=""></image>
 					<p>历史数据</p>
 				</view>
 			</view>
@@ -35,7 +35,7 @@
 					<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="item_info_img" :style="{'background-color':olddatas[Math.floor(Math.random()*(5-0+1))]}">
-								<image :src="$appimghost+'/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>
@@ -56,7 +56,10 @@
 				eqinfo: {},
 				olddata: {},
 				olddatas: ["#fba825", "#53d67c", "#008cf2", "#fb504d", "#d87ffc", "#4ec5f0"],
-				city: ""
+				city: "",
+				kongtf:false,
+				daydatatf:false,
+				shujutf:false
 			}
 		},
 		methods: {
@@ -118,6 +121,33 @@
 			}else{
 				this.reverseGeocode(this.eqinfo.item.lat,this.eqinfo.item.lng)
 			}
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "环境监测系统"
+					})
+					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){
+							case "设备控制":
+								this.kongtf = true
+								break
+							case "24小时数据":
+								this.daydatatf = true
+								break
+							case "历史数据":
+								this.shujutf = true
+								break
+						}
+					}
+				},
+			})
 		}
 	}
 </script>
@@ -157,15 +187,14 @@
 		top: 372rpx;
 		left: 5%;
 		display: flex;
-		justify-content: space-between;
 		text-align: center;
-		padding: 0 30rpx;
+		// padding: 0 30rpx;
 		box-sizing: border-box;
 
 		.control_item {
 			width: 128rpx;
 			height: 120rpx;
-
+			width: 33%;
 			image {
 				width: 70rpx;
 				height: 70rpx;

+ 15 - 5
pages/environment/history.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="status_bar"></view>
 		<view class="" style="position: relative;top: 44px;">
-			<view style="position: fixed;z-index: 100;width: 100%;">
+			<view style="position: fixed;z-index: 10000000;width: 100%;background-color: #000000;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="历史数据"></uni-nav-bar>
 			</view>
 			<view class="graph">
@@ -17,7 +17,7 @@
 					<view class="newtimes">
 						<view class="newtimes_state" @click="pickshow = !pickshow">
 							<view class="oldtimes_left">
-								<image :src="$appimghost+'/image/prevention/841f87bfd8abb1b09610fa0789f9d8e.png'" mode=""></image>
+								<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/841f87bfd8abb1b09610fa0789f9d8e.png'" mode=""></image>
 								开始时间:{{this.begintime|timeFormat()}}
 							</view>
 							<view class="oldtimes_left">
@@ -27,7 +27,7 @@
 						</view>
 						<view class="newtimes_end" @click="picktwoshow = !picktwoshow">
 							<view class="oldtimes_left">
-								<image :src="$appimghost+'/image/prevention/1acfe2751c01d3786cdc49b83d7e505.png'" mode=""></image>
+								<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/1acfe2751c01d3786cdc49b83d7e505.png'" mode=""></image>
 								结束时间:{{this.end|timeFormat()}}
 							</view>
 							<view class="oldtimes_left">
@@ -190,7 +190,12 @@
 				if (this.tishiTF == false) {
 					this.historydata(this.id)
 					this.listhistorydata(this.id)
+					uni.showToast({
+						title: '搜索成功',
+						duration: 2000
+					});
 				}
+				
 			},
 			prev() { //上一页
 				if (this.page > 1) {
@@ -284,7 +289,10 @@
 			height: 550rpx;
 			position: relative;
 			box-shadow: 0 0 10rpx #bcb9ca;
-
+			z-index: -1;
+			.charts{
+				z-index: -1;
+			}
 			.canvastishi {
 				font-size: 32rpx;
 				position: absolute;
@@ -395,7 +403,9 @@
 		.scroll-X {
 			width: 95%;
 			margin: 20rpx auto;
-
+			.table{
+				width: 1042px;
+			}
 			.tr {
 				display: flex;
 				overflow: hidden;

+ 2 - 2
pages/environment/index.vue

@@ -6,7 +6,7 @@
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="环境监测系统" right-icon="search" @clickRight="clickRight"
 				 size="16"></uni-nav-bar>
 			</view>
-			<image :src="$appimghost+'/image/environment/1.png'" mode="" class="image"></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/environment/1.png'" mode="" class="image"></image>
 			<view class="prevents">
 				<view class="prevents_item" v-for="item,index in eqlistdata" :key="index" @click="eqdetails(item)">
 					<image :src="item.is_online==1?'http://static.yfpyx.com/bigdata_app/image/prevention/6.png':'http://static.yfpyx.com/bigdata_app/image/prevention/7.png'" mode=""
@@ -22,7 +22,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 1 - 1
pages/environment/onedaythedata.vue

@@ -18,7 +18,7 @@
 						<view class="datatimes_text_max">
 							<view class="">
 								<p>最大值</p>
-								<p>{{item.max=-99.99?"N/A":item.max}}</p>
+								<p>{{item.max==-99.99?"N/A":item.max}}</p>
 							</view>
 							<p>{{item.maxtime|timeFormat()}}</p>
 						</view>

+ 57 - 11
pages/equipList/index.vue

@@ -14,23 +14,23 @@
 			<view class="list_item" v-for="(item,index) in eqlistdata" :key="index" @click="historys(item)">
 				<view class="list_item_top">
 					<p class="p1">
-						<image :src="$appimghost+images[current].path" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+images[current].path" mode=""></image>
 						{{item.device_name==''?"--":item.device_name}}
 					</p>
 					<p :class="[item.is_online?'p2':'p_out']">{{item.is_online?"在线":"离线"}}</p>
 				</view>
 				<view class="list_item_text">
 					<p>设备ID:{{item.imei}}</p>
-					<p>适配用户:{{item.device_user==''?"无":item.device_user}}</p>
+					<p>适配用户:{{item.real_name==''?"无":item.real_name}}</p>
 					<p>添加设备时间:{{item.addtime|timeFormat()}}</p>
 				</view>
-				<view class="list_item_btn" @click.stop="modification(item)">
+				<view class="list_item_btn" v-if="infoalter" @click.stop="modification(item)">
 					信息修改
 				</view>
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -51,6 +51,8 @@
 					name: "监控设备"
 				}, {
 					name: "孢子仪"
+				}, {
+					name: "性诱2.0"
 				}],
 				current: 0,
 				page: 1,
@@ -74,18 +76,28 @@
 					}, {
 						path: "/image/fourMoodBase/4.png",
 						id: 7
+					},
+					{
+						path: "/image/fourMoodBase/10.png",
+						id: 10
 					}
 				],
 				eqlistdata: [],
-				isTop: false
+				isTop: false,
+				infoalter:false // 权限设置
 			}
 		},
 		methods: {
 			async eqlist() { //设备列表
+				if (this.current == 6) {
+					var index = this.current + 4
+				} else {
+					var index = this.current + 2
+				}
 				const res = await this.$myRequest({
 					url: '/api/api_gateway?method=forecast.worm_lamp.lamp_list',
 					data: {
-						device_type_id: this.current + 2,
+						device_type_id: index,
 						page: this.page,
 						page_size: this.size,
 					}
@@ -104,7 +116,6 @@
 				this.accessToken = res.accessToken
 			},
 			change(index) { //头部导航栏的点击
-				console.log(index)
 				this.page = 1
 				this.eqlistdata = []
 				this.current = index
@@ -116,9 +127,15 @@
 				})
 			},
 			modification(item) {
-				uni.navigateTo({
-					url: "./modification?data=" + JSON.stringify(item) + "&id=" + (this.current + 2)
-				})
+				if(this.current==6){
+					uni.navigateTo({
+						url: "./modification?data=" + JSON.stringify(item) + "&id=" + (this.current + 4)
+					})
+				}else{
+					uni.navigateTo({
+						url: "./modification?data=" + JSON.stringify(item) + "&id=" + (this.current + 2)
+					})
+				}
 			},
 			top() {
 				uni.pageScrollTo({
@@ -152,18 +169,47 @@
 							url: "/pages/webview?device_id=" + item.imei + "&accessToken=" + this.accessToken
 						})
 						break;
-					default:
+					case 3:
 						item.type = this.current + 2
 						uni.navigateTo({
 							url: "../cb/equip-detail/equip-detail?info=" + JSON.stringify(item)
 						})
 						break;
+					case 4:
+						item.type = this.current + 2
+						uni.navigateTo({
+							url: "../cb/equip-detail/equip-detail?info=" + JSON.stringify(item)
+						})
+						break;
+					default:
+						item.type = this.current + 4
+						uni.navigateTo({
+							url: "../cb/xy2.0/particulars?info=" + JSON.stringify(item)
+						})
+						break;
 				}
 			}
 		},
 		onLoad() {
 			this.eqlist()
 			this.camera()
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "设备管理"
+					})
+					let items2 = items[0].children.filter((item)=>{
+						return item.purview_name == "分配设备"
+					})
+					console.log(items2[0].children)
+					this.infoalter = items2[0].children.some((item)=>{
+						return item.purview_name == "修改名称" || item.purview_name == "添加位置"
+					})
+					console.log(this.infoalter)
+				},
+			})
 		},
 		onReachBottom() {
 			this.page++

+ 51 - 14
pages/equipList/modification.vue

@@ -7,8 +7,8 @@
 			</view>
 			<view class="mod">
 				<view class="mod_name">
-					<p><span style="color: #ff0000;">*</span>设备名称</p>
-					<input type="text" v-model="moddata.device_name" style="background-color: #FAFAFA;" />
+					<p><span style="color: #ff0000;" v-if="quanxian.namealter">*</span>设备名称</p>
+					<input type="text" v-model="moddata.device_name" :class="quanxian.namealter?'namebg':''" :disabled="!quanxian.namealter"/>
 				</view>
 				<view class="mod_id">
 					<p>设备ID</p>
@@ -19,7 +19,7 @@
 					<input type="text" :value="moddata.real_name==''?'无':moddata.real_name" disabled />
 				</view>
 				<view class="mod_city" @click="amendcity">
-					<p><span style="color: #ff0000;">*</span>设备位置</p>
+					<p><span style="color: #ff0000;" v-if="quanxian.cityalter">*</span>设备位置</p>
 					<view style="display: flex;">
 						<input type="text" :value="city" disabled style="width: 400rpx;" />
 						<u-icon name="arrow-right"></u-icon>
@@ -29,8 +29,8 @@
 					<p>设备添加时间</p>
 					<input type="text" :value="moddata.addtime|timeFormat()" disabled />
 				</view>
-				<p style="width: 90%;margin: 0 auto;text-align: right;color: #06B535;"><span style="color: #ff0000;">*</span>为可修改</p>
-				<view class="sub" @click="btn">
+				<p style="width: 90%;margin: 0 auto;text-align: right;color: #06B535;"><span style="color: #ff0000;" v-if="quanxian.infoalter">*</span>为可修改</p>
+				<view class="sub" v-if="quanxian.infoalter" @click="btn">
 					提 交
 				</view>
 			</view>
@@ -44,7 +44,12 @@
 			return {
 				moddata: [],
 				city: "",
-				selectcityTF: false
+				selectcityTF: false,
+				quanxian:{
+					namealter:false,
+					cityalter:false,
+					infoalter:false
+				}
 			}
 		},
 		methods: {
@@ -90,6 +95,7 @@
 					}
 				})
 				this.moddata = res.data[0]
+				console.log(res)
 				this.selectaddress(this.moddata.lng, this.moddata.lat)
 			},
 			btn() {
@@ -106,10 +112,17 @@
 				})
 			},
 			amendcity() { //修改设备地址
-				this.selectcityTF = true
-				uni.navigateTo({
-					url: "../fourBase/city"
-				})
+				if(this.quanxian.cityalter){
+					this.selectcityTF = true
+					uni.navigateTo({
+						url: "../fourBase/city"
+					})
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			selectaddress(lng, lat) { //获取分布位置
 				uni.request({
@@ -129,7 +142,29 @@
 			},
 		},
 		onLoad(option) {
+			console.log(option)
 			this.eqlistuser(option.id, JSON.parse(option.data).imei)
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "设备管理"
+					})
+					let items2 = items[0].children.filter((item)=>{
+						return item.purview_name == "分配设备"
+					})
+					this.quanxian.namealter = items2[0].children.some((item)=>{
+						return item.purview_name == "修改名称"
+					})
+					this.quanxian.cityalter = items2[0].children.some((item)=>{
+						return item.purview_name == "添加位置"
+					})
+					this.quanxian.infoalter = items2[0].children.some((item)=>{
+						return item.purview_name == "修改名称" || item.purview_name == "添加位置"
+					})
+				},
+			})
 		},
 		onShow(){
 			uni.getStorage({
@@ -147,13 +182,13 @@
 </script>
 
 <style lang="scss">
+	page{
+		background-color: #FAFAFA;
+	}
 	.mod {
 		width: 100%;
 		position: absolute;
 		top: 44px;
-		height: 92vh;
-		background-color: #FAFAFA;
-
 		.mod_name,
 		.mod_id,
 		.mod_user,
@@ -167,7 +202,9 @@
 			padding: 20rpx 10rpx;
 			color: #57C77A;
 			line-height: 50rpx;
-
+			.namebg{
+				background-color: #FAFAFA;
+			}
 			input {
 				text-align: right;
 				font-size: 28rpx;

+ 19 - 3
pages/equipList/search.vue

@@ -12,7 +12,7 @@
 			<view class="list_item" v-for="(item,index) in eqlistdata" :key="index" @click="historys(item)">
 				<view class="list_item_top">
 					<p class="p1">
-						<image :src=" $appimghost+images[indexs-2].path" mode=""></image>
+						<image :src=" 'http://static.yfpyx.com/bigdata_app'+images[indexs-2].path" mode=""></image>
 						{{item.device_name==''?"--":item.device_name}}
 					</p>
 					<p :class="[item.is_online?'p2':'p_out']">{{item.is_online?"在线":"离线"}}</p>
@@ -22,7 +22,7 @@
 					<p>适配用户:{{item.device_user==''?"无":item.device_user}}</p>
 					<p>添加设备时间:{{item.addtime|timeFormat()}}</p>
 				</view>
-				<view class="list_item_btn" @click.stop="modification(item)">
+				<view class="list_item_btn" v-if="infoalter" @click.stop="modification(item)">
 					修改名称
 				</view>
 			</view>
@@ -67,7 +67,8 @@
 				eqlistdatatf: false, //暂无数据
 				indexs: 2, //设备id
 				page: 1,
-				size: 10
+				size: 10,
+				infoalter:false
 			}
 		},
 		methods: {
@@ -149,6 +150,21 @@
 		onLoad(option) {
 			this.indexs = option.id
 			console.log(this.indexs)
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "设备管理"
+					})
+					let items2 = items[0].children.filter((item)=>{
+						return item.purview_name == "分配设备"
+					})
+					this.infoalter = items2[0].children.some((item)=>{
+						return item.purview_name == "修改名称" || item.purview_name == "添加位置"
+					})
+				},
+			})
 		},
 		onReachBottom() {
 			this.page++

+ 9 - 3
pages/equipMange/index/assignment.vue

@@ -15,7 +15,7 @@
 				<checkbox-group class="che_group" @change="checkboxchange">
 					<label class="equipment" v-for="(items,index) in assignment" :key="index">
 						<view class="equipment_top">
-							<image :src="$appimghost+items.src" mode="" class="equipment_top_img"></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+items.src" mode="" class="equipment_top_img"></image>
 							<span class="equipment_top_name">{{list[items.device_type_id-1].name}}</span>
 							<checkbox :value="String(items.d_id)" :checked="items.device_user==user_info.uid" class="ucheckbox" color="#42b983" />
 						</view>
@@ -33,7 +33,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -60,7 +60,9 @@
 					name: "性诱设备"
 				}, {
 					name: "糖醋测报"
-				}, ],
+				}, {
+					name: "性诱2.0"
+				}],
 				current: 0,
 				assignment: [],
 				data: {
@@ -87,6 +89,10 @@
 					}, {
 						path: "/image/fourMoodBase/bzy.png",
 						id: 7
+					},
+					{
+						path: "/image/fourMoodBase/10.png",
+						id: 10
 					}
 				],
 				allocationvalues: [], //原始数据

+ 36 - 7
pages/equipMange/index/index.vue

@@ -14,14 +14,14 @@
 			</view>
 			<view class="userlists">
 				<view class="userlist-li" v-for="(item,index) in userlists" :kex="index" @click="userOperation(userlists[index])">
-					<image :src="$appimghost+'/image/fourMoodBase/touxiang.png'" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/fourMoodBase/touxiang.png'" mode=""></image>
 					<p class="userlist-li-city">{{item.username}}</p>
 					<p class="userlist-li-eamil">{{item.mobile}}</p>
 				</view>
 			</view>
-		</view>
+		</view> 
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -48,7 +48,8 @@
 					page_size: 10,
 					username: ''
 				},
-				isTop:false
+				isTop:false,
+				addtf:false
 			}
 		},
 		methods: {
@@ -64,9 +65,16 @@
 				this.userlists = this.userlists.concat(res.data)
 			},
 			clickRight() { //跳转增加用户页面
-				uni.navigateTo({
-					url: './addusers',
-				})
+				if(this.addtf){
+					uni.navigateTo({
+						url: './addusers',
+					})
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			clickLeft(){
 				uni.switchTab({
@@ -99,6 +107,27 @@
 		}, //user.login.users_info
 		onLoad() {
 			this.getState(this.argument)
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "系统管理"
+					})
+					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){
+							case "添加用户":
+								this.addtf = true
+								break
+						}
+					}
+				},
+			})
 		},
 		onReachBottom() {
 			this.argument.page++

+ 101 - 22
pages/equipMange/index/useroperation.vue

@@ -10,7 +10,7 @@
 					<view class="uFormbg">
 						<u-form-item label="姓名" left-icon="account" :left-icon-style="lefticonstyle" label-width="160rpx" :border-bottom="borderbottom"
 						 prop="name">
-							<u-input v-model="user_meg.username" :clearable="clearable" input-align="right" disabled />
+							<u-input v-model="user_meg.username" :clearable="clearable" input-align="right" :disabled="alterTF" :class="{'uuinput':alterTF==false}" />
 						</u-form-item>
 					</view>
 					<view class="uFormbg">
@@ -113,7 +113,14 @@
 				roles: [],
 				roles_id: null,
 				tishitf: false,
-				tijiaotf: false
+				tijiaotf: false,
+				quanxian:{//权限设置
+					chongzhi :false,
+					alters :false,
+					off :false,
+					pass: false,
+					shebeiitems:false
+				}
 			}
 		},
 		methods: {
@@ -171,11 +178,25 @@
 				}
 			},
 			compile() { //编辑按钮
-				this.btnTF = !this.btnTF
-				this.alterTF = false
+				if(this.quanxian.alters){
+					this.btnTF = !this.btnTF
+					this.alterTF = false
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			forbidden() { //禁用按钮
-				this.getForbidden()
+				if(this.quanxian.off){
+					this.getForbidden()
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			themes(index) { //主题下拉框
 				this.theme_items = this.theme[index].text;
@@ -185,6 +206,7 @@
 				const res = await this.$myRequest({
 					url: '/api/api_gateway?method=user.login.users_info_updata',
 					data: {
+						username: this.user_meg.username,
 						uid: this.user_meg.uid,
 						mobile: this.user_meg.mobile,
 						user_group_id: this.user_meg.user_group_id_index || '',
@@ -219,14 +241,28 @@
 				});
 			},
 			changePassword() { //修改密码
-				uni.navigateTo({
-					url: './changepasswold?item=' + JSON.stringify(this.user_meg)
-				});
+				if(this.quanxian.pass){
+					uni.navigateTo({
+						url: './changepasswold?item=' + JSON.stringify(this.user_meg)
+					});
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			assignment() { //分配设备
-				uni.navigateTo({
-					url: './assignment?item=' + JSON.stringify(this.user_meg)
-				});
+				if(this.quanxian.shebeiitems){
+					uni.navigateTo({
+						url: './assignment?item=' + JSON.stringify(this.user_meg)
+					});
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			async getRecharge() { //修改用户
 				const res = await this.$myRequest({
@@ -238,18 +274,25 @@
 				})
 			},
 			recharge() { //充值按钮
-				uni.showModal({
-					title: '提示',
-					content: '是否向该用户充值一年费用?',
-					success: function(res) {
-						if (res.confirm) {
-							this.getRecharge()
-							console.log('用户点击确定');
-						} else if (res.cancel) {
-							console.log('用户点击取消');
+				if(this.quanxian.chongzhi){
+					uni.showModal({
+						title: '提示',
+						content: '是否向该用户充值一年费用?',
+						success: function(res) {
+							if (res.confirm) {
+								this.getRecharge()
+								console.log('用户点击确定');
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
 						}
-					}
-				});
+					});
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			}
 		},
 		onLoad(option) {
@@ -264,6 +307,42 @@
 			}
 			this.getGroup()
 			this.getThemes()
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "系统管理"
+					})
+					let items2 = items[0].children.filter((item)=>{
+						return item.purview_name == "用户管理"
+					})
+					let shebeiitems = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "设备管理"
+					})
+					this.quanxian.shebeiitems = shebeiitems[0].children.some((item)=>{
+						return item.purview_name == "分配设备"
+					})
+					var arr = items2[0].children
+					console.log(items)
+					for(var i =0;i<arr.length;i++){
+						switch (arr[i].purview_name){
+							case "充值":
+								this.quanxian.chongzhi = true
+								break
+							case "编辑":
+								this.quanxian.alters = true
+								break
+							case "禁用":
+								this.quanxian.off = true
+								break
+							case "密码":
+								this.quanxian.pass = true
+								break
+						}
+					}
+				},
+			})
 		},
 		onBackPress(options) {
 			if (options.from === 'navigateBack') {

+ 5 - 5
pages/expertDiagnosis/exchangeShare.vue

@@ -4,7 +4,7 @@
 		<view class="" style="position: relative;top: 44px;">
 			<view style="position: fixed;z-index: 100;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="交流圈">
-					<image :src="$appimghost+'/image/expertDiagnosis/tianjiawenjian.png'" mode="" class="right_icon" @click="postmessage"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/tianjiawenjian.png'" mode="" class="right_icon" @click="postmessage"></image>
 				</uni-nav-bar>
 			</view>
 			<u-action-sheet :list="actionSheetList" v-model="post_show" @click="message"></u-action-sheet>
@@ -12,17 +12,17 @@
 				<view class="invitations_item" v-for="(items,index) in invitation" :key="index" @click="particulars(items)">
 					<view class="invitations_item_left">
 						<image :src="items.img_urls" mode="" v-if="items.img_urls!='' && items.img_urls!=null"></image>
-						<image :src="$imghost+defaultimg" mode="" v-else></image>
+						<image :src="'http://static.yfpyx.com/projectimg'+defaultimg" mode="" v-else></image>
 					</view>
 					<view class="invitations_item_right">
 						<view class="invitations_item_right_top">
-							<image :src="$appimghost+'/image/expertDiagnosis/6940a11a251770f1b0d8b7b10ebdf9b.png'" mode="" v-if="Number(items.heat) == 1"></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/6940a11a251770f1b0d8b7b10ebdf9b.png'" mode="" v-if="Number(items.heat) == 1"></image>
 							<span>{{items.title}}</span>
 						</view>
 						<view class="invitations_item_right_contert" v-html="items.content">
 						</view>
 						<view class="invitations_item_right_bot">
-							<image :src="$appimghost+'/image/expertDiagnosis/d2014837228702eeceb762bc5302b3f.png'" mode=""></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/d2014837228702eeceb762bc5302b3f.png'" mode=""></image>
 							<span>{{items.username}}</span>
 							<p>查看详情</p>
 						</view>
@@ -34,7 +34,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 4 - 4
pages/expertDiagnosis/index.vue

@@ -5,18 +5,18 @@
 			<view style="position: fixed;z-index: 100;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="专家诊断"></uni-nav-bar>
 			</view>
-			<image :src="$appimghost+'/image/expertDiagnosis/05571341dbb0771b23d0b271764ac2e.png'" class="expertimages"></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/05571341dbb0771b23d0b271764ac2e.png'" class="expertimages"></image>
 			<view class="expert_details">
 				<view class="details_item" @click="worm">
-					<image :src="$appimghost+'/image/expertDiagnosis/6612b1293fd1f45dd7ce6269a954999.png'"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/6612b1293fd1f45dd7ce6269a954999.png'"></image>
 					<p>虫情百科</p>
 				</view>
 				<view class="details_item" @click="virus">
-					<image :src="$appimghost+'/image/expertDiagnosis/7f34f4eeba4d00819369cfa1b5ecce8.png'"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/7f34f4eeba4d00819369cfa1b5ecce8.png'"></image>
 					<p>病害百科</p>
 				</view>
 				<view class="details_item" @click="exchange">
-					<image :src="$appimghost+'/image/expertDiagnosis/aa6a168b9fb72b62b687a2debc04a9f.png'"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/aa6a168b9fb72b62b687a2debc04a9f.png'"></image>
 					<p>交流圈</p>
 				</view>
 			</view>

+ 1 - 1
pages/expertDiagnosis/introduce.vue

@@ -6,7 +6,7 @@
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="详情"></uni-nav-bar>
 			</view>
 			<view class="img_box">
-				<image :src="$appimghost+'/image/loading-2.gif'" mode="" class="imgbg"></image>
+				<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/loading-2.gif'" mode="" class="imgbg"></image>
 				<image :src="wormcasedata.img_urls" mode="" class="img" @click="examine(wormcasedata.img_urls)"></image>
 			</view>
 			<p class="name">{{wormcasedata.name}}</p>

+ 2 - 2
pages/expertDiagnosis/particulars.vue

@@ -6,12 +6,12 @@
 			<u-swiper :list="list" height="428" @click="examine(list)"></u-swiper>
 			<view class="quiz">
 				<view class="quiz_username">
-					<image :src="$appimghost+'/image/expertDiagnosis/6940a11a251770f1b0d8b7b10ebdf9b.png'" mode="" v-if="Number(quizdata.heat)==1"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/expertDiagnosis/6940a11a251770f1b0d8b7b10ebdf9b.png'" mode="" v-if="Number(quizdata.heat)==1"></image>
 					<span>{{quizdata.title}}</span>
 				</view>
 				<view class="quiz_usertime">
 					<view style="display: flex;align-items: center;">
-						<image :src="$appimghost+'/image/fourMoodBase/touxiang.png'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/fourMoodBase/touxiang.png'" mode=""></image>
 						<span>{{quizdata.username}}</span>
 					</view>
 					<view>

+ 1 - 1
pages/expertDiagnosis/postmessage.vue

@@ -11,7 +11,7 @@
 					<textarea v-model="mainbody" placeholder="请输入正文" />
 					<view class="imgvideo_img">
 						<view @click="gainimg" class="imgbg">
-							<image :src="$appimghost+'/image/afterSale/eee1e84bb85f6f6ff5c5866a3a42779.png'" mode="" v-if="!uploadingTF"></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/afterSale/eee1e84bb85f6f6ff5c5866a3a42779.png'" mode="" v-if="!uploadingTF"></image>
 						</view>
 						<view class="uploading" v-if="uploadingTF">
 							<u-icon name="close" class="delete" @click="deletes"></u-icon>

+ 2 - 2
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="$appimghost+'/image/loading-2.gif'" mode="" class="imgbg"></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/loading-2.gif'" mode="" class="imgbg"></image>
 						<image :src="item.img_urls" mode="" class="imgs_img"></image>
 					</view>
 					<p>{{item.name}}</p>
@@ -16,7 +16,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 11 - 5
pages/fourBase/allocation.vue

@@ -15,7 +15,7 @@
 				<checkbox-group class="che_group" @change="checkboxchange">
 					<label class="equipment" v-for="(items,indexs) in assignments.children" :key="items.id">
 						<view class="equipment_top">
-							<image :src="$appimghost+assignments.src" mode="" class="equipment_top_img"></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+assignments.src" mode="" class="equipment_top_img"></image>
 							<span class="equipment_top_name">{{assignments.type_name}}</span>
 							<checkbox :value="String(items.type_name)" :checked="items.check" class="ucheckbox" color="#42b983" />
 						</view>
@@ -33,7 +33,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -61,7 +61,11 @@
 				}, {
 					path: "/image/fourMoodBase/4.png",
 					id: 7
-				},],
+				},
+				{
+					path: "/image/fourMoodBase/10.png",
+					id: 10
+				}],
 				src: '',
 				obj: {},
 				addtype: [],
@@ -78,8 +82,10 @@
 					let obj = {}
 					obj.name = this.assignment[i].type_name
 					this.list.push(obj)
-					if (this.assignment[i].id == this.images[i].id) {
-						this.assignment[i].src = this.images[i].path
+					for (var j = 0; j < this.images.length; j++) {
+						if (this.assignment[i].id == this.images[j].id) {
+							this.assignment[i].src = this.images[j].path
+						}
 					}
 				}
 				this.assignments = this.assignment[this.current]

+ 5 - 2
pages/fourBase/basefacility.vue

@@ -8,7 +8,7 @@
 			<view class="ass_list">
 				<view class="equipment" v-for="(items,indexs) in assignments" :key="items.id" v-if="tishiTF">
 					<view class="equipment_top">
-						<image :src="$appimghost+items.src" mode="" class="equipment_top_img"></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+items.src" mode="" class="equipment_top_img"></image>
 						<span class="equipment_top_name">{{items.type_name}}</span>
 					</view>
 					<view class="equipment_bot">
@@ -23,7 +23,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -55,6 +55,9 @@
 				}, {
 					path: "/image/fourMoodBase/bzy.png",
 					id: 7
+				},{
+					path: "/image/fourMoodBase/10.png",
+					id: 10
 				}],
 				tishiTF: false,
 				isTop:false

+ 48 - 11
pages/fourBase/index.vue

@@ -28,9 +28,9 @@
 					</view>
 					<u-icon name="more-dot-fill" class="bases_list_xiangqing" @click.native.stop="XQclick(items)"></u-icon>
 					<view class="photoshow">
-						<image :src="$appimghost+'/image/fourMoodBase/1.png'" mode=""></image>
-						<image :src="$appimghost+'/image/fourMoodBase/3.png'" mode=""></image>
-						<image :src="$appimghost+'/image/fourMoodBase/5.png'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/fourMoodBase/1.png'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/fourMoodBase/3.png'" mode=""></image>
+						<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/fourMoodBase/5.png'" mode=""></image>
 						<view class="photoshow_num">
 							{{items.num}}
 						</view>
@@ -40,7 +40,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>
@@ -67,7 +67,11 @@
 				post_show: false,
 				delid: "",
 				facilitynum: "",
-				isTop:false
+				isTop:false,
+				jurisdiction:{
+					addbase:false,
+					alter:false
+				}
 			}
 		},
 		methods: {
@@ -102,9 +106,16 @@
 				})
 			},
 			clickRight() { //添加基地
-				uni.navigateTo({
-					url: "./addbase"
-				})
+				if(this.jurisdiction.addbase){
+					uni.navigateTo({
+						url: "./addbase"
+					})
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
+				}
 			},
 			searchinput() { //搜索
 				this.data.page = 1
@@ -144,9 +155,16 @@
 						}
 					});
 				} else {
-					uni.navigateTo({
-						url: "./modification?id=" + JSON.stringify(this.delid)
-					})
+					if(this.jurisdiction.addbase){
+						uni.navigateTo({
+							url: "./modification?id=" + JSON.stringify(this.delid)
+						})
+					}else{
+						uni.showToast({
+							title: "您暂无权限进行此操作,如有需要,请联系管理员",
+							icon: "none"
+						})
+					}
 				}
 				this.$forceUpdate()
 			},
@@ -159,6 +177,25 @@
 		},
 		onLoad() {
 			this.getFourbase()
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "四情基地"
+					})
+					let items2 = items[0].children.filter((item)=>{
+						return item.purview_name == "基地管理"
+					})
+					console.log(items2)
+					this.jurisdiction.addbase =items2[0].children.some((item)=>{
+						return item.purview_name == "新增"
+					})
+					this.jurisdiction.alter =items2[0].children.some((item)=>{
+						return item.purview_name == "修改"
+					})
+				},
+			})
 		},
 		onReachBottom() { //滑动到底部加载
 			this.data.page++

+ 129 - 20
pages/index/index.vue

@@ -3,7 +3,7 @@
 		<u-swiper :list="list" mode="dot" class="index_uswiper" height='300'></u-swiper>
 		<view class="function">
 			<view class="function_item" v-for="(item,index) in functionimg" :key="index" @click="tabfunction(index)">
-				<image :src="$appimghost+item.src" mode=""></image>
+				<image :src="'http://static.yfpyx.com/bigdata_app'+item.src" mode=""></image>
 				<p>{{item.text}}</p>
 			</view>
 		</view>
@@ -11,7 +11,7 @@
 			<p class="equipment_p">系统设备</p>
 			<view class="equipment_item">
 				<view class="equipment_item_img" v-for="(item,index) in equipmentimg" :key="index" @click="tabequipment(index)">
-					<image :src="$appimghost+item.src" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+item.src" mode=""></image>
 				</view>
 			</view>
 		</view>
@@ -76,16 +76,77 @@
 				url: '',
 				path: '',
 				flag: 1,
-				show: false
+				show: false,
+				jurisdiction:{
+					cbtf:false,
+					jktf:false,
+					hjtf:false,
+					fztf:false,
+					sytf:false,
+					sbtf:false
+				}
 			}
 		},
 		onLoad() {
-			
+			this.jurisdiction={
+					cbtf:false,
+					jktf:false,
+					hjtf:false,
+					fztf:false,
+					sytf:false,
+					sbtf:false
+				}
+			this.getUserlogin()
 		}, 
 		onShow(){
+			this.jurisdiction={
+					cbtf:false,
+					jktf:false,
+					hjtf:false,
+					fztf:false,
+					sytf:false,
+					sbtf:false
+				}
 			this.loadTF = false
+			this.getUserlogin()
 		},
 		methods: {
+			async getUserlogin() {
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=user.login.user_login_info',
+				})
+				uni.setStorage({
+					key: 'jurisdiction',
+					data: JSON.stringify(res.children),
+				})
+				uni.setStorage({
+					key: 'myuser_type',
+					data: JSON.stringify(res.myuser_type),
+				})
+				console.log(res.children)
+				for(var i=0;i<res.children.length;i++){
+					switch (res.children[i].purview_name){
+						case "测报系统":
+									this.jurisdiction.cbtf = true
+									break;
+						case "监控系统":
+									this.jurisdiction.jktf = true
+									break;
+						case "环境监测系统":
+									this.jurisdiction.hjtf = true
+									break;
+						case "防治系统":
+									this.jurisdiction.fztf = true
+									break;
+						case "溯源系统":
+									this.jurisdiction.sytf = true
+									break;
+						case "系统管理":
+									this.jurisdiction.sbtf = true
+									break;
+					}
+				}
+			},
 			tabfunction(index) {
 				if (index == 0) {
 					uni.navigateTo({
@@ -96,7 +157,8 @@
 					this.show = true
 				} else if (index == 2) {
 					uni.navigateTo({
-						url: "../expertDiagnosis/index"
+						url: "../expertDiagnosis/index",
+						 
 					})
 				} else if (index == 3) {
 					uni.navigateTo({
@@ -106,31 +168,78 @@
 			},
 			tabequipment(index) {
 				if (index == 0) {
-					uni.navigateTo({
-						url: "../cb/index/index"
-					})
+					if(this.jurisdiction.cbtf){
+						uni.navigateTo({
+							url: "../cb/index/index"
+						})
+					}else{
+						uni.showToast({
+							title: "此账号未开启此模块,如有需要,请联系管理员",
+							icon: "none"
+						})
+					}
 				} else if (index == 1) {
-					uni.navigateTo({
-						url: "../prevention/index"
-					})
+					if(this.jurisdiction.fztf){
+						uni.navigateTo({
+							url: "../prevention/index"
+						})
+					}else{
+						uni.showToast({
+							title: "此账号未开启此模块,如有需要,请联系管理员",
+							icon: "none"
+						})
+					}
 				} else if (index == 2) {
-					uni.navigateTo({
-						url: "/pages/monitor/index"
-					})
+					console.log(this.jurisdiction.jktf)
+					if(this.jurisdiction.jktf){
+						uni.navigateTo({
+							url: "/pages/monitor/index"
+						})
+					}else{
+						uni.showToast({
+							title: "此账号未开启此模块,如有需要,请联系管理员",
+							icon: "none"
+						})
+					}
 				} else if (index == 3) {
-					uni.navigateTo({
-						url: "../environment/index"
-					})
+					if(this.jurisdiction.hjtf){
+						uni.navigateTo({
+							url: "../environment/index"
+						})
+					}else{
+						uni.showToast({
+							title: "此账号未开启此模块,如有需要,请联系管理员",
+							icon: "none"
+						})
+					}
 				} else if (index == 4) {
-					uni.navigateTo({
-						url: "../equipMange/index/index"
-					})
+					console.log(this.jurisdiction.sbtf)
+					if(this.jurisdiction.sbtf){
+						uni.navigateTo({
+							url: "../equipMange/index/index"
+						})
+					}else{
+						uni.showToast({
+							title: "此账号未开启此模块,如有需要,请联系管理员",
+							icon: "none"
+						})
+					}
 				} else if (index == 5) {
 					uni.showToast({
 					    title: '此功能暂未开放',
 					    duration: 2000,
 						icon:"none"
 					});
+					// if(this.jurisdiction.cbtf){
+					// 	uni.navigateTo({
+					// 		url: "../cb/index/index"
+					// 	})
+					// }else{
+					// 	uni.showToast({
+					// 		title: "此账号未开启此模块,如有需要,请联系管理员",
+					// 		icon: "none"
+					// 	})
+					// }
 				}
 			},
 			onok(ev) {

+ 37 - 12
pages/login/login.vue

@@ -2,7 +2,7 @@
 	<view style="height: 100vh;">
 		<view class="status_bar"></view>
 		<view class="logo" @longpress="logoTime">
-			<image :src="$appimghost+'/image/login/8eef2e54055a5b072a5dc000919a7ae.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/login/8eef2e54055a5b072a5dc000919a7ae.png'" mode=""></image>
 		</view>
 		<view class="set" @click="set" v-if="setTF">
 			<u-icon name="setting-fill" size="40" color="#72CD9C"></u-icon>
@@ -17,7 +17,7 @@
 				<view class="passwold">
 					<u-icon name="lock" size="36" style="margin-right:30rpx;color: #72CD9C;"></u-icon>
 					<u-input v-model="formdata.passwold" type="password" :password-icon="true" :clearable="false" placeholder="请输入密码"
-					 @confirm="formSubmit" @input="passwoldddata" />
+					 @confirm="formSubmit" @input="passwoldddata" class="uni-input"/>
 				</view>
 				<view class="aboutpass">
 					<u-checkbox-group>
@@ -25,12 +25,12 @@
 					</u-checkbox-group>
 				</view>
 				<view class="uni-btn-v">
-					<button form-type="submit">登 录</button>
+					<button form-type="submit" @click="denglu">登 录</button>
 				</view>
 			</view>
 		</form>
 		<view class="bg">
-			<image :src="$appimghost+'/image/login/850c9307f4ef2d7dc6db1049711ab55.jpg'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/login/850c9307f4ef2d7dc6db1049711ab55.jpg'" mode=""></image>
 		</view>
 		<view class="setbg" v-if="setbgtf">
 			<view class="mengban" @click.stop="setbgtf = !setbgtf"></view>
@@ -78,7 +78,7 @@
 				contentA: '',
 				isShow: false, //进度条
 				percentNum: 0, //在线下载进度
-
+				passvalue:false
 			}
 		},
 		onLoad() {
@@ -192,6 +192,7 @@
 				let session_key = res.session_key
 				uni.setStorage({
 					key: 'session_key',
+					
 					data: session_key,
 					success: () => {
 						uni.switchTab({
@@ -204,6 +205,7 @@
 				this.formdata.passwold = this.formdata.passwold.replace(/[\u4E00-\u9FA5]/g, '')
 			},
 			rempass(val) {
+				this.passvalue = val.value
 				if (val.value) {
 					uni.setStorage({
 						key: 'user_pass',
@@ -212,13 +214,6 @@
 							console.log('success');
 						}
 					})
-				} else {
-					uni.removeStorage({
-						key: 'user_pass',
-						success: function() {
-							console.log('success');
-						}
-					})
 				}
 			},
 			blur(val) {
@@ -254,6 +249,24 @@
 			},
 			arrow() {
 				this.arrowtf = !this.arrowtf
+			},
+			denglu(){
+				if (this.passvalue) {
+					uni.setStorage({
+						key: 'user_pass',
+						data: this.formdata.passwold,
+						success: function() {
+							console.log('success');
+						}
+					})
+				} else {
+					uni.removeStorage({
+						key: 'user_pass',
+						success: function() {
+							console.log('success');
+						}
+					})
+				}
 			}
 		}
 	}
@@ -306,6 +319,12 @@
 			margin-bottom: 40rpx;
 			padding-bottom: 10rpx;
 			border-bottom: 2rpx solid #C3C3C3;
+			.u-icon__icon{
+				margin-top: 17rpx;
+			}
+			.uni-input{
+				width: 100%;
+			}
 		}
 
 		.passwold {
@@ -315,6 +334,12 @@
 			margin-bottom: 40rpx;
 			padding-bottom: 10rpx;
 			border-bottom: 2rpx solid #C3C3C3;
+			.u-icon__icon{
+				margin-top: 17rpx;
+			}
+			.uni-input{
+				width: 100%;
+			}
 		}
 
 		.aboutpass {

+ 2 - 2
pages/monitor/index.vue

@@ -5,7 +5,7 @@
 			<view style="position: fixed;z-index: 100;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="监控系统"></uni-nav-bar>
 				<view class="" style="margin-top: -10rpx;">
-					<image :src="$appimghost+'/image/monitor/banner.png'" mode="widthFix"></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/monitor/banner.png'" mode="widthFix"></image>
 				</view>
 			</view>
 			<view class="contenttf" v-if="contenttf">
@@ -25,7 +25,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 1 - 1
pages/my/about/about.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="line"></view>
 		<view class="logo-box">
-			<image :src="$appimghost+'/image/c9b4eb88c03b2f7460e8479e80f40fc.png'" mode="widthFix"></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/c9b4eb88c03b2f7460e8479e80f40fc.png'" mode="widthFix"></image>
 			<view class="version">
 				<view>
 					云飞物联网

+ 16 - 8
pages/my/index/index.vue

@@ -4,11 +4,11 @@
 			<view style="width: 100%;background-color: #FFFFFF;position: relative;">
 				<view class="personal">
 					<view class="personal_left">
-						<image :src="userinfos.image" mode=""></image>
+						<image :src="userinfos.image" mode="" @error="imageError"></image>
 					</view>
 					<view class="personal_center">
 						<p>{{usernames}}</p>
-						<p>{{userinfos.email}}</p>
+						<p>{{userinfos.email?userinfos.email:userinfos.mobile}}</p>
 					</view>
 					<view class="personal_right" @click="userinfo">
 						<uni-icons type="compose" style="color: #FFFFFF;margin-right: 10rpx;"></uni-icons>
@@ -50,9 +50,16 @@
 				const res = await this.$myRequest({
 					url: '/api/api_gateway?method=user.login.user_login_info',
 				})
-				console.log(res)
+				console.log(res.children)
 				this.usernames = res.username
 				this.getUsermsg(this.usernames)
+				uni.setStorage({
+					key: 'jurisdiction',
+					data: JSON.stringify(res.children),
+					success: () => {
+						
+					}
+				})
 			},
 			async getUsermsg(user) {
 				const res = await this.$myRequest({
@@ -74,11 +81,11 @@
 					url: "../about/about"
 				})
 			},
-			// feedback(){
-			// 	uni.navigateTo({
-			// 		url:"../feedback/feedback"
-			// 	})
-			// },
+			imageError(e){
+				if(e){
+					this.userinfos.image = "../../../static/images/my/user.png"
+				}
+			},
 			userinfo() {
 				uni.navigateTo({
 					url: "../user-info/user-info?data=" + JSON.stringify(this.userinfos)
@@ -109,6 +116,7 @@
 
 		},
 		onShow() {
+			this.getUserlogin()
 			this.$forceUpdate()
 		}
 	}

+ 45 - 8
pages/prevention/control.vue

@@ -150,6 +150,7 @@
 					minute: false,
 					second: false
 				},
+				Administrator:false
 			}
 		},
 		methods: { //forecast.send_control.device_control_info
@@ -226,18 +227,33 @@
 				this.condatas.et = Number(e.hour)
 			},
 			restart() { //重启
-				let obj = {
-					d_id: this.d_id,
-					cmd: 'reboot'
+				if(this.Administrator){
+					let obj = {
+						d_id: this.d_id,
+						cmd: 'reboot'
+					}
+					this.reorup(obj)
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
 				}
-				this.reorup(obj)
+				
 			},
 			upgrade() { //升级
-				let obj = {
-					d_id: this.d_id,
-					cmd: 'update'
+				if(this.Administrator){
+					let obj = {
+						d_id: this.d_id,
+						cmd: 'update'
+					}
+					this.reorup(obj)
+				}else{
+					uni.showToast({
+						title: "您暂无权限进行此操作,如有需要,请联系管理员",
+						icon: "none"
+					})
 				}
-				this.reorup(obj)
 			},
 			ensure() {
 				let str = JSON.stringify(this.condatas)
@@ -250,6 +266,27 @@
 			this.$forceUpdate()
 			this.controldata(option.id)
 			this.d_id = option.id
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "防治系统"
+					})
+					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){
+							case "管理员操作":
+								this.Administrator = true
+								break
+						}
+					}
+				},
+			})
 		}
 	}
 </script>

+ 38 - 8
pages/prevention/equipmentdetails.vue

@@ -17,16 +17,16 @@
 				</view>
 			</view>
 			<view class="control">
-				<view class="control_item" @click="control">
-					<image :src="$appimghost+'/image/prevention/8.png'" mode=""></image>
+				<view class="control_item" v-if="kongtf" @click="control">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/8.png'" mode=""></image>
 					<p>设备控制</p>
 				</view>
-				<view class="control_item" @click="charts">
-					<image :src="$appimghost+'/image/prevention/9.png'" mode=""></image>
+				<view class="control_item" v-if="shujutf" @click="charts">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/9.png'" mode=""></image>
 					<p>历史数据</p>
 				</view>
-				<view class="control_item" @click="sim">
-					<image :src="$appimghost+'/image/prevention/10.png'" mode=""></image>
+				<view class="control_item" v-if="simtf" @click="sim">
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/10.png'" mode=""></image>
 					<p>SIM卡详情</p>
 				</view>
 			</view>
@@ -36,7 +36,7 @@
 					<view class="realtime_text_item">
 						<view class="realtime_text_item_info" v-for="item,index in olddatas" :key="index">
 							<view class="item_info_img">
-								<image :src="$appimghost+item.icon" mode=""></image>
+								<image :src="'http://static.yfpyx.com/bigdata_app'+item.icon" mode=""></image>
 							</view>
 							<view class="item_info_text">
 								<p>{{item.txt}}</p>
@@ -60,7 +60,10 @@
 				olddata: {},
 				olddatas: [],
 				newdatesTF:false,
-				work:""
+				work:"",
+				shujutf:false,
+				kongtf:false,
+				simtf:false
 			}
 		},
 		methods: {
@@ -181,6 +184,33 @@
 			this.eqinfo.item = JSON.parse(option.shebei)
 			console.log(JSON.parse(option.shebei))
 			this.history()
+			uni.getStorage({
+				key:"jurisdiction",
+				success:(res)=>{
+					console.log(JSON.parse(res.data))
+					let items = JSON.parse(res.data).filter((item)=>{
+						return item.purview_name == "防治系统"
+					})
+					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){
+							case "设备控制":
+								this.kongtf = true
+								break
+							case "SIM卡":
+								this.simtf = true
+								break
+							case "数据详情":
+								this.shujutf = true
+								break
+						}
+					}
+				},
+			})
 		}
 	}
 </script>

+ 2 - 2
pages/prevention/index.vue

@@ -6,7 +6,7 @@
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="防治系统" right-icon="search" @clickRight="clickRight"
 				 size="16"></uni-nav-bar>
 			</view>
-			<image :src="$appimghost+'/image/prevention/1.png'" mode="" class="image"></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/1.png'" mode="" class="image"></image>
 			<view class="prevents">
 				<view class="prevents_item" v-for="item,index in eqlistdata" :key="index" @click="eqdetails(item)">
 					<image :src="item.is_online==1?'http://static.yfpyx.com/bigdata_app/image/prevention/6.png':'http://static.yfpyx.com/bigdata_app/image/prevention/7.png'"
@@ -22,7 +22,7 @@
 			</view>
 		</view>
 		<view class="top" v-if="isTop" @click="top">
-			<image :src="$appimghost+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
+			<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/6209a98f0cb3b5086f2ca36152c9269.png'" mode=""></image>
 		</view>
 	</view>
 </template>

+ 1 - 1
pages/prevention/sim.vue

@@ -7,7 +7,7 @@
 			</view>
 			<view class="sim_info">
 				<view class="sim_info_title">
-					<image :src="$appimghost+'/image/cb/sim1.png'" mode=""></image>
+					<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/cb/sim1.png'" mode=""></image>
 					<p>sim卡查询</p>
 				</view>
 				<view class="sim_info_text">

+ 11 - 4
pages/prevention/ucharts.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="status_bar"></view>
 		<view class="" style="position: relative;top: 44px;">
-			<view style="position: fixed;z-index: 100;width: 100%;">
+			<view style="position: fixed;z-index: 100;width: 100%;color: #FFFFFF;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="历史数据"></uni-nav-bar>
 			</view>
 			<view class="shuju_one">
@@ -29,7 +29,7 @@
 				<view class="newtimes">
 					<view class="newtimes_state" @click="pickshow = !pickshow">
 						<view class="oldtimes_left"> 
-							<image :src="$appimghost+'/image/prevention/841f87bfd8abb1b09610fa0789f9d8e.png'" mode=""></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/841f87bfd8abb1b09610fa0789f9d8e.png'" mode=""></image>
 							开始时间:{{this.oldtime|timeFormat()}}
 						</view>
 						<view class="oldtimes_left">
@@ -39,7 +39,7 @@
 					</view>
 					<view class="newtimes_end" @click="picktwoshow = !picktwoshow">
 						<view class="oldtimes_left">
-							<image :src="$appimghost+'/image/prevention/1acfe2751c01d3786cdc49b83d7e505.png'" mode=""></image>
+							<image :src="'http://static.yfpyx.com/bigdata_app'+'/image/prevention/1acfe2751c01d3786cdc49b83d7e505.png'" mode=""></image>
 							结束时间:{{this.newtime|timeFormat()}}
 						</view>
 						<view class="oldtimes_left">
@@ -300,7 +300,12 @@
 				if (this.tishiTF == false) {
 					this.getServerData(parseInt(presenttime / 1000), parseInt(this.oldtime))
 					this.historydata(this.newtime, this.oldtime)
+					uni.showToast({
+						title: '搜索成功',
+						duration: 2000
+					});
 				}
+				
 			},
 			clickLeft() {
 				uni.navigateBack({
@@ -588,7 +593,9 @@
 		.scroll-X {
 			width: 95%;
 			margin: 20rpx auto;
-
+			.table{
+				width: 1056px;
+			}
 			.tr {
 				display: flex;
 				overflow: hidden;

+ 3 - 3
static/h52.html

@@ -42,7 +42,7 @@
 			.direc {
 				width: 400px;
 				height: 400px;
-				background: url('./image/monitor/1.png');
+				background: url('http://static.yfpyx.com/bigdata_app/image/monitor/1.png');
 				background-size: 100% auto;
 				background-repeat: no-repeat;
 				position: relative;
@@ -87,7 +87,7 @@
 		<div id="box"></div>
 		<div class="btn-box">
 			<div class="more" ontouchstart="configCamera('move', 8)" ontouchend="stopConfigCamera()">
-				<image src="./image/monitor/3.png" mode="widthFix"></image>
+				<image src="http://static.yfpyx.com/bigdata_app/image/monitor/3.png" mode="widthFix"></image>
 			</div>
 			<div class="direc">
 				<div class="top" ontouchstart="configCamera('move', 0)" ontouchend="stopConfigCamera()">
@@ -107,7 +107,7 @@
 				</div>
 			</div>
 			<div class="less" ontouchstart="configCamera('move', 9)" ontouchend="stopConfigCamera()">
-				<image src="./image/monitor/2.png" mode="widthFix"></image>
+				<image src="http://static.yfpyx.com/bigdata_app/image/monitor/2.png" mode="widthFix"></image>
 			</div>
 		</div>
 	</body>

BIN
static/images/distribution/0b551e50be351dbc14f0dd6470e3443.png


BIN
static/images/distribution/1bd535eb7dbb0809940030d40c64b4c.png


BIN
static/images/distribution/2eb9e550709430a1bd8178568c14785.png


BIN
static/images/distribution/515ea6143e0aaff4a823270c7aa00a6.png


BIN
static/images/distribution/54a96e2b0ad4efeecbd4a7b5e6deda3.png


BIN
static/images/distribution/7610e3983eb33ed5b9ad72ebdfc8ed2.png


BIN
static/images/distribution/8325b1b6079456ce43f952ce13d2919.png


BIN
static/images/distribution/be5c1cfed22713a9544f020cf41c25f.png


BIN
static/images/my/user.png


BIN
unpackage/cache/apk/__UNI__DBA6730_cm.apk


+ 1 - 0
unpackage/cache/apk/apkurl

@@ -0,0 +1 @@
+https://service.dcloud.net.cn/build/download/b5981850-bc5a-11eb-a7be-5fa0a7282212

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/apk/cmManifestCache.json


+ 3 - 0
unpackage/cache/certdata

@@ -0,0 +1,3 @@
+andrCertfile=D:/HBuilderX.3.0.5.20210107.full/HBuilderX/plugins/app-safe-pack/Test.keystore
+andrCertAlias=test
+andrCertPass=ep/Tdjka4Y7WYqDB6/S7dw==

BIN
unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-hdpi.png


BIN
unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-xhdpi.png


BIN
unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-xxhdpi.png


BIN
unpackage/cache/wgt/__UNI__DBA6730/.manifest/icon-android-xxxhdpi.png


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappchooselocation.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappes6.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappopenlocation.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniapppicker.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappquill.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappquillimageresize.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappscan.js


BIN
unpackage/cache/wgt/__UNI__DBA6730/__uniappsuccess.png


+ 25 - 0
unpackage/cache/wgt/__UNI__DBA6730/__uniappview.html

@@ -0,0 +1,25 @@
+<!DOCTYPE html>
+<html lang="zh-CN">
+
+  <head>
+    <meta charset="UTF-8" />
+    <script>
+      var __UniViewStartTime__ = Date.now();
+      var coverSupport = 'CSS' in window && typeof CSS.supports === 'function' && (CSS.supports('top: env(a)') ||
+        CSS.supports('top: constant(a)'))
+      document.write(
+        '<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0' +
+        (coverSupport ? ', viewport-fit=cover' : '') + '" />')
+    </script>
+    <title>View</title>
+    <link rel="stylesheet" href="view.css" />
+  </head>
+
+  <body>
+    <div id="app"></div>
+    <script src="__uniappes6.js"></script>
+    <script src="view.umd.min.js"></script>
+    <script src="app-view.js"></script>
+  </body>
+
+</html>

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 8 - 0
unpackage/cache/wgt/__UNI__DBA6730/app-config-service.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/app-config.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/app-service.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/app-view.js


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/manifest.json


+ 336 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/data/cbd_pest_library.js

@@ -0,0 +1,336 @@
+// 害虫库
+var insect_dict = {'1':'金龟子',
+'2':'夜蛾',
+'3':'二点委夜蛾',
+'4':'梨剑纹夜蛾',
+'5':'杨扇舟蛾',
+'6':'舟蛾',
+'7':'旋幽夜蛾',
+'8':'蝼蛄',
+'9':'步甲',
+'10':'螟蛾',
+'11':'毛黄鳃金龟',
+'12':'尺蛾',
+'13':'剑纹夜蛾',
+'14':'粉缘钻夜蛾',
+'15':'夜蛾科',
+'16':'七星瓢虫',
+'17':'棉铃虫',
+'18':'蜻蜓',
+'19':'蚊',
+'20':'东方粘虫',
+'21':'叶蝉',
+'22':'春尺蠖',
+'23':'雄性春尺蠖',
+'24':'杨小舟蛾',
+'25':'甘蓝夜蛾',
+'26':'小地老虎',
+'27':'两点尼夜蛾',
+'28':'柳阴翅斑螟',
+'29':'桑褶翅尺蛾',
+'30':'宽胫夜蛾',
+'31':'尺蠖',
+'32':'一点钻夜蛾',
+'33':'天蛾',
+'34':'裳夜蛾',
+'35':'灯蛾',
+'36':'美国白蛾',
+'37':'八字白眉天蛾',
+'38':'陌夜蛾',
+'39':'豆天蛾',
+'40':'麦蛾',
+'41':'围连环夜蛾',
+'42':'亚美尺蛾',
+'43':'梨星毛虫',
+'44':'银锭夜蛾',
+'45':'黄臀灯蛾',
+'46':'大螟',
+'47':'燕尾舟蛾',
+'48':'榆津尺蛾',
+'49':'朽木夜蛾',
+'50':'黄地老虎',
+'51':'白钩粘夜蛾',
+'52':'桃蛀螟',
+'53':'甜菜夜蛾',
+'54':'斜纹夜蛾',
+'55':'蚀夜蛾',
+'56':'淡银锭夜蛾',
+'57':'齿美冬夜蛾',
+'58':'一点金刚钻',
+'59':'胡桃豹夜蛾',
+'60':'桑剑纹夜蛾',
+'61':'蓝目天蛾',
+'62':'黑绒绢金龟',
+'63':'烟青虫',
+'64':'暗黑鳃金龟',
+'65':'中华绒金龟',
+'66':'八字地老虎',
+'67':'榆绿天蛾',
+'68':'红星雪灯蛾',
+'69':'雀纹天蛾',
+'70':'铜绿丽金龟',
+'71':'水龟虫',
+'72':'曲线尼夜蛾',
+'73':'粘虫',
+'74':'瘦银锭夜蛾',
+'75':'红天蛾',
+'76':'鳃金龟',
+'77':'大黑鳃金龟',
+'78':'大地老虎',
+'79':'玉米螟',
+'80':'赤角盲蝽',
+'81':'槐尺蛾',
+'82':'银纹夜蛾',
+'83':'天牛',
+'84':'乏夜蛾',
+'85':'丁香天蛾',
+'86':'构月天蛾',
+'87':'虎甲',
+'88':'劳氏粘虫',
+'89':'白薯天蛾',
+'90':'广鹿蛾',
+'91':'二十八星瓢虫',
+'92':'腮金龟',
+'93':'人纹污夜蛾',
+'94':'叩甲',
+'95':'楸蠹野螟',
+'96':'丝绵木金星尺蛾',
+'97':'红缘灯蛾',
+'98':'黄褐丽金龟',
+'99':'螟蛾科',
+'100':'红棕灰夜蛾',
+'101':'黑绒绢金龟',
+'102':'广鹿灯蛾',
+'103':'蝽',
+'104':'蜂',
+'105':'大造桥虫',
+'106':'童剑纹夜蛾',
+'107':'晃剑纹夜蛾',
+'108':'钩粘虫',
+'109':'直影夜蛾',
+'110':'毛黄绢金龟',
+'111':'乌氏小尾天蚕蛾',
+'112':'褐边绿刺蛾',
+'113':'广鹿舟蛾',
+'114':'颜倾城',
+'115':'龙虱',
+'116':'双带盘瓢虫',
+'117':'槲犹冬夜蛾',
+'118':'洋槐天蛾',
+'119':'弧角散纹夜蛾',
+'120':'黄脉天蛾',
+'121':'葡萄天蛾',
+'122':'桃六点天蛾',
+'123':'异色瓢虫',
+'124':'榆黄足毒蛾',
+'125':'客来夜蛾',
+'126':'桦尺蛾',
+'127':'草地螟',
+'128':'细条纹野螟',
+'129':'污灯蛾属',
+'130':'杨二尾舟蛾',
+'131':'克什杆野螟',
+'132':'筱客来夜蛾',
+'133':'栗六点天蛾',
+'134':'紫光盾天蛾',
+'135':'款冬玉米螟',
+'136':'草蛉',
+'137':'亚麻篱灯蛾',
+'138':'扁连环夜蛾',
+'139':'圣蜣螂',
+'140':'白钩粘虫',
+'141':'苇实夜蛾',
+'142':'姬蜂',
+'143':'秘夜蛾',
+'144':'织网夜蛾',
+'145':'深色白眉天蛾',
+'146':'短扇舟蛾',
+'147':'白须天蛾',
+'148':'歌梦尼夜蛾',
+'149':'海安夜蛾',
+'150':'满丫纹夜蛾',
+'151':'蟋蟀',
+'152':'双斑青步甲',
+'153':'白条夜蛾',
+'154':'蟪蛄',
+'155':'负子蝽',
+'156':'脊青步甲',
+'157':'宽斑青步甲',
+'158':'稻从卷叶螟',
+'159':'淡剑夜蛾',
+'160':'甜菜白带野螟',
+'161': '樗蚕', 
+'162': '蒙古寒蝉',
+'163': '中带三角夜蛾', 
+'164': '蝗虫', 
+'165': '多色异丽金龟', 
+'166': '白色小卷蛾', 
+'167': '狭边青步甲',
+'168': '棉卷叶野螟', 
+'169': '豆荚野螟', 
+'170': '麻小食心虫', 
+'171': '星斑虎甲', 
+'172': '黄缘龙虱',
+'173': '无斑弧丽金龟', 
+'174': '白额鹰翅天蛾',
+'175': '日本真龙虱', 
+'176': '山东云斑螟',
+'177': '小文夜蛾', 
+'178': '三条蛀野螟', 
+'179': '榆掌舟蛾', 
+'180': '刺槐掌舟蛾', 
+'181': '星绒天蛾', 
+'182': '杨剑舟蛾', 
+'183': '刀夜蛾',
+'184': '红节天蛾', 
+'185': '星白雪灯蛾', 
+'186': '桃剑纹夜蛾', 
+'187': '谐夜蛾', 
+'188': '小剑纹夜蛾', 
+'189': '鸣鸣蝉', 
+'190': '姬夜蛾',
+'191': '落叶松毛虫', 
+'192': '苹六点天蛾', 
+'193': '四斑绢野螟', 
+'194': '甘薯天蛾', 
+'195': '小线角木蠹蛾', 
+'196': '三斑蕊夜蛾', 
+'197': '白雪灯蛾', 
+'198': '黄刺蛾', 
+'199': '茶翅蝽',
+'200': '杨树枯叶蛾',
+"201": "标瑙夜蛾",
+"202": "瓜绢野螟",
+"203": "稻绿蝽",
+"204": "杨雪毒蛾",
+"205": "榆白边舟蛾",
+"206": "扁刺蛾",
+"207": "绒黏夜蛾",
+"208": "庸肖毛翅夜蛾",
+"209": "中华婪步甲",
+"210": "褐黄前锹甲",
+"211": "旱柳原野螟",
+"212": "巨影夜蛾",
+"213": "食蚜蝇",
+"214": "双斑葬甲",
+"215": "黄毒蛾",
+"216": "婪步甲",
+"217": "土甲",
+"218": "中华真地鳖",
+"219": "紫线夜蛾",
+"220": "小黄鳃金龟",
+"221": "中华真土鳖",
+"222": "云斑虎甲",
+"223": "中华黧尺蛾",
+"224": "中华绿刺蛾",
+"225": "巨豹纹尺蛾",
+"226": "多斑豹蠹蛾",
+"227": "桑尺蛾",
+"228": "灰直纹螟",
+"229": "中国绿刺蛾",
+"230": "云杉梢斑螟",
+"231": "桑绢野螟",
+"232": "黄杨绢野螟",
+"233": "突背斑红蝽",
+"234": "高粱条螟",
+"235": "小麦负泥虫",
+"236": "苹掌舟蛾",
+"237": "绒粘夜蛾",
+"238": "灰白灯蛾",
+"239": "隐丫纹夜蛾",
+"240": "满纹夜蛾",
+"241": "黑剑狼夜蛾",
+"242": "蜣螂",
+"243": "福婆鳃金龟",
+"244": "雨尺蛾",
+"245": "优美苔蛾",
+"246": "黄斑野螟",
+"247": "疆夜蛾",
+"248": "六点天蛾",
+"249": "斜线夜蛾",
+"250": "石榴巾夜蛾",
+"251": "绒星天蛾",
+"252": "霜天蛾",
+"253": "大田鳖",
+"254": "灰双纹螟",
+"255": "青尺蛾",
+"256": "二线绿尺蛾",
+"257": "散纹夜蛾",
+"258": "红双线尺蛾",
+"259": "胞短栉夜蛾",
+"260": "飞虱科",
+"261": "桃多斑野螟",
+"262": "甜菜青野螟",
+"263": "核桃鹰翅天蛾",
+"264": "角顶尺蛾",
+"265": "葡萄缺角天蛾",
+"266": "绿尾大蚕蛾",
+"267": "杨褐枯叶蝶",
+"268": "双云尺蛾",
+"269": "斑拟兜夜蛾",
+"270": "阿莎尺蛾",
+"271": "榄绿岐角螟",
+"272": "青革土蝽",
+"273": "核桃美舟蛾",
+"274": "斑点卷叶螟",
+"275": "黄褐箩纹蛾",
+"276": "白环红天蛾",
+"277": "白腹网丛螟",
+"278": "枯叶蛾",
+"279": "丹日明夜蛾",
+"280": "仿白边舟蛾",
+"281": "槐羽舟蛾",
+"282": "草地贪夜蛾",
+"283": "环夜蛾",
+"284": "尘尺蛾",
+"285": "黄二星舟蛾",
+"286": "榆木蠹蛾",
+"287": "水黾",
+"288": "银装冬夜蛾",
+"289": "饰奇尺蛾",
+"290": "枯叶蝶",
+"291": "步甲",
+"292": "阔胸禾犀金龟",
+"293": "眼斑钩蛾",
+"294": "三开蜣螂",
+"295": "金星步甲",
+"296": "残夜蛾",
+"297": "野蚕蛾",
+"298": "芦苇豹蠹蛾",
+"299": "华晓扁犀金龟",
+"300": "灰胸突鳃金龟",
+"301": "龟纹瓢虫",
+"302": "麻皮蝽",
+"303": "斑须蝽",
+"304": "斜斑虎甲",
+"305": "地鳖",
+"306": "叶甲",
+"307": "燕夜蛾",
+"308": "黑纹北灯蛾",
+"309": "网夜蛾",
+"310": "棘翅夜蛾",
+"311": "规尺蛾",
+"312": "苜蓿银纹夜蛾",
+"313": "拟扇舟蛾",
+"314": "丁目大蚕蛾",
+"315": "金黄蛾",
+"316": "黄星雪灯蛾",
+"317": "暗纹紫褐螟",
+"318": "白眉天蛾",
+"319": "黄板盘瓢虫",
+"320": "玫岐角螟",
+"321":"枯黄贡尺蛾",
+"322":"小豆长喙天蛾",
+"323":"橙拟灯蛾",
+"324":"粉蝶灯蛾",
+"325":"纹散丽灯蛾",
+"326":"雪尾尺蛾",
+"327":"鹰翅天蛾",
+"328":"波纹蛾",
+"329":"黑条灰灯蛾",
+"330":"八点灰灯蛾",
+"331":"间纹弦夜蛾",
+"332":"缤夜蛾",
+}
+
+export default insect_dict

+ 539 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/font/demo.css

@@ -0,0 +1,539 @@
+/* Logo 字体 */
+@font-face {
+  font-family: "iconfont logo";
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834');
+  src: url('https://at.alicdn.com/t/font_985780_km7mi63cihi.eot?t=1545807318834#iefix') format('embedded-opentype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.woff?t=1545807318834') format('woff'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.ttf?t=1545807318834') format('truetype'),
+    url('https://at.alicdn.com/t/font_985780_km7mi63cihi.svg?t=1545807318834#iconfont') format('svg');
+}
+
+.logo {
+  font-family: "iconfont logo";
+  font-size: 160px;
+  font-style: normal;
+  -webkit-font-smoothing: antialiased;
+  -moz-osx-font-smoothing: grayscale;
+}
+
+/* tabs */
+.nav-tabs {
+  position: relative;
+}
+
+.nav-tabs .nav-more {
+  position: absolute;
+  right: 0;
+  bottom: 0;
+  height: 42px;
+  line-height: 42px;
+  color: #666;
+}
+
+#tabs {
+  border-bottom: 1px solid #eee;
+}
+
+#tabs li {
+  cursor: pointer;
+  width: 100px;
+  height: 40px;
+  line-height: 40px;
+  text-align: center;
+  font-size: 16px;
+  border-bottom: 2px solid transparent;
+  position: relative;
+  z-index: 1;
+  margin-bottom: -1px;
+  color: #666;
+}
+
+
+#tabs .active {
+  border-bottom-color: #f00;
+  color: #222;
+}
+
+.tab-container .content {
+  display: none;
+}
+
+/* 页面布局 */
+.main {
+  padding: 30px 100px;
+  width: 960px;
+  margin: 0 auto;
+}
+
+.main .logo {
+  color: #333;
+  text-align: left;
+  margin-bottom: 30px;
+  line-height: 1;
+  height: 110px;
+  margin-top: -50px;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.main .logo a {
+  font-size: 160px;
+  color: #333;
+}
+
+.helps {
+  margin-top: 40px;
+}
+
+.helps pre {
+  padding: 20px;
+  margin: 10px 0;
+  border: solid 1px #e7e1cd;
+  background-color: #fffdef;
+  overflow: auto;
+}
+
+.icon_lists {
+  width: 100% !important;
+  overflow: hidden;
+  *zoom: 1;
+}
+
+.icon_lists li {
+  width: 100px;
+  margin-bottom: 10px;
+  margin-right: 20px;
+  text-align: center;
+  list-style: none !important;
+  cursor: default;
+}
+
+.icon_lists li .code-name {
+  line-height: 1.2;
+}
+
+.icon_lists .icon {
+  display: block;
+  height: 100px;
+  line-height: 100px;
+  font-size: 42px;
+  margin: 10px auto;
+  color: #333;
+  -webkit-transition: font-size 0.25s linear, width 0.25s linear;
+  -moz-transition: font-size 0.25s linear, width 0.25s linear;
+  transition: font-size 0.25s linear, width 0.25s linear;
+}
+
+.icon_lists .icon:hover {
+  font-size: 100px;
+}
+
+.icon_lists .svg-icon {
+  /* 通过设置 font-size 来改变图标大小 */
+  width: 1em;
+  /* 图标和文字相邻时,垂直对齐 */
+  vertical-align: -0.15em;
+  /* 通过设置 color 来改变 SVG 的颜色/fill */
+  fill: currentColor;
+  /* path 和 stroke 溢出 viewBox 部分在 IE 下会显示
+      normalize.css 中也包含这行 */
+  overflow: hidden;
+}
+
+.icon_lists li .name,
+.icon_lists li .code-name {
+  color: #666;
+}
+
+/* markdown 样式 */
+.markdown {
+  color: #666;
+  font-size: 14px;
+  line-height: 1.8;
+}
+
+.highlight {
+  line-height: 1.5;
+}
+
+.markdown img {
+  vertical-align: middle;
+  max-width: 100%;
+}
+
+.markdown h1 {
+  color: #404040;
+  font-weight: 500;
+  line-height: 40px;
+  margin-bottom: 24px;
+}
+
+.markdown h2,
+.markdown h3,
+.markdown h4,
+.markdown h5,
+.markdown h6 {
+  color: #404040;
+  margin: 1.6em 0 0.6em 0;
+  font-weight: 500;
+  clear: both;
+}
+
+.markdown h1 {
+  font-size: 28px;
+}
+
+.markdown h2 {
+  font-size: 22px;
+}
+
+.markdown h3 {
+  font-size: 16px;
+}
+
+.markdown h4 {
+  font-size: 14px;
+}
+
+.markdown h5 {
+  font-size: 12px;
+}
+
+.markdown h6 {
+  font-size: 12px;
+}
+
+.markdown hr {
+  height: 1px;
+  border: 0;
+  background: #e9e9e9;
+  margin: 16px 0;
+  clear: both;
+}
+
+.markdown p {
+  margin: 1em 0;
+}
+
+.markdown>p,
+.markdown>blockquote,
+.markdown>.highlight,
+.markdown>ol,
+.markdown>ul {
+  width: 80%;
+}
+
+.markdown ul>li {
+  list-style: circle;
+}
+
+.markdown>ul li,
+.markdown blockquote ul>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown>ul li p,
+.markdown>ol li p {
+  margin: 0.6em 0;
+}
+
+.markdown ol>li {
+  list-style: decimal;
+}
+
+.markdown>ol li,
+.markdown blockquote ol>li {
+  margin-left: 20px;
+  padding-left: 4px;
+}
+
+.markdown code {
+  margin: 0 3px;
+  padding: 0 5px;
+  background: #eee;
+  border-radius: 3px;
+}
+
+.markdown strong,
+.markdown b {
+  font-weight: 600;
+}
+
+.markdown>table {
+  border-collapse: collapse;
+  border-spacing: 0px;
+  empty-cells: show;
+  border: 1px solid #e9e9e9;
+  width: 95%;
+  margin-bottom: 24px;
+}
+
+.markdown>table th {
+  white-space: nowrap;
+  color: #333;
+  font-weight: 600;
+}
+
+.markdown>table th,
+.markdown>table td {
+  border: 1px solid #e9e9e9;
+  padding: 8px 16px;
+  text-align: left;
+}
+
+.markdown>table th {
+  background: #F7F7F7;
+}
+
+.markdown blockquote {
+  font-size: 90%;
+  color: #999;
+  border-left: 4px solid #e9e9e9;
+  padding-left: 0.8em;
+  margin: 1em 0;
+}
+
+.markdown blockquote p {
+  margin: 0;
+}
+
+.markdown .anchor {
+  opacity: 0;
+  transition: opacity 0.3s ease;
+  margin-left: 8px;
+}
+
+.markdown .waiting {
+  color: #ccc;
+}
+
+.markdown h1:hover .anchor,
+.markdown h2:hover .anchor,
+.markdown h3:hover .anchor,
+.markdown h4:hover .anchor,
+.markdown h5:hover .anchor,
+.markdown h6:hover .anchor {
+  opacity: 1;
+  display: inline-block;
+}
+
+.markdown>br,
+.markdown>p>br {
+  clear: both;
+}
+
+
+.hljs {
+  display: block;
+  background: white;
+  padding: 0.5em;
+  color: #333333;
+  overflow-x: auto;
+}
+
+.hljs-comment,
+.hljs-meta {
+  color: #969896;
+}
+
+.hljs-string,
+.hljs-variable,
+.hljs-template-variable,
+.hljs-strong,
+.hljs-emphasis,
+.hljs-quote {
+  color: #df5000;
+}
+
+.hljs-keyword,
+.hljs-selector-tag,
+.hljs-type {
+  color: #a71d5d;
+}
+
+.hljs-literal,
+.hljs-symbol,
+.hljs-bullet,
+.hljs-attribute {
+  color: #0086b3;
+}
+
+.hljs-section,
+.hljs-name {
+  color: #63a35c;
+}
+
+.hljs-tag {
+  color: #333333;
+}
+
+.hljs-title,
+.hljs-attr,
+.hljs-selector-id,
+.hljs-selector-class,
+.hljs-selector-attr,
+.hljs-selector-pseudo {
+  color: #795da3;
+}
+
+.hljs-addition {
+  color: #55a532;
+  background-color: #eaffea;
+}
+
+.hljs-deletion {
+  color: #bd2c00;
+  background-color: #ffecec;
+}
+
+.hljs-link {
+  text-decoration: underline;
+}
+
+/* 代码高亮 */
+/* PrismJS 1.15.0
+https://prismjs.com/download.html#themes=prism&languages=markup+css+clike+javascript */
+/**
+ * prism.js default theme for JavaScript, CSS and HTML
+ * Based on dabblet (http://dabblet.com)
+ * @author Lea Verou
+ */
+code[class*="language-"],
+pre[class*="language-"] {
+  color: black;
+  background: none;
+  text-shadow: 0 1px white;
+  font-family: Consolas, Monaco, 'Andale Mono', 'Ubuntu Mono', monospace;
+  text-align: left;
+  white-space: pre;
+  word-spacing: normal;
+  word-break: normal;
+  word-wrap: normal;
+  line-height: 1.5;
+
+  -moz-tab-size: 4;
+  -o-tab-size: 4;
+  tab-size: 4;
+
+  -webkit-hyphens: none;
+  -moz-hyphens: none;
+  -ms-hyphens: none;
+  hyphens: none;
+}
+
+pre[class*="language-"]::-moz-selection,
+pre[class*="language-"] ::-moz-selection,
+code[class*="language-"]::-moz-selection,
+code[class*="language-"] ::-moz-selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+pre[class*="language-"]::selection,
+pre[class*="language-"] ::selection,
+code[class*="language-"]::selection,
+code[class*="language-"] ::selection {
+  text-shadow: none;
+  background: #b3d4fc;
+}
+
+@media print {
+
+  code[class*="language-"],
+  pre[class*="language-"] {
+    text-shadow: none;
+  }
+}
+
+/* Code blocks */
+pre[class*="language-"] {
+  padding: 1em;
+  margin: .5em 0;
+  overflow: auto;
+}
+
+:not(pre)>code[class*="language-"],
+pre[class*="language-"] {
+  background: #f5f2f0;
+}
+
+/* Inline code */
+:not(pre)>code[class*="language-"] {
+  padding: .1em;
+  border-radius: .3em;
+  white-space: normal;
+}
+
+.token.comment,
+.token.prolog,
+.token.doctype,
+.token.cdata {
+  color: slategray;
+}
+
+.token.punctuation {
+  color: #999;
+}
+
+.namespace {
+  opacity: .7;
+}
+
+.token.property,
+.token.tag,
+.token.boolean,
+.token.number,
+.token.constant,
+.token.symbol,
+.token.deleted {
+  color: #905;
+}
+
+.token.selector,
+.token.attr-name,
+.token.string,
+.token.char,
+.token.builtin,
+.token.inserted {
+  color: #690;
+}
+
+.token.operator,
+.token.entity,
+.token.url,
+.language-css .token.string,
+.style .token.string {
+  color: #9a6e3a;
+  background: hsla(0, 0%, 100%, .5);
+}
+
+.token.atrule,
+.token.attr-value,
+.token.keyword {
+  color: #07a;
+}
+
+.token.function,
+.token.class-name {
+  color: #DD4A68;
+}
+
+.token.regex,
+.token.important,
+.token.variable {
+  color: #e90;
+}
+
+.token.important,
+.token.bold {
+  font-weight: bold;
+}
+
+.token.italic {
+  font-style: italic;
+}
+
+.token.entity {
+  cursor: help;
+}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1850 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/font/demo_index.html


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 309 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.css


BIN
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.eot


La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 1 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.js


+ 520 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.json

@@ -0,0 +1,520 @@
+{
+  "id": "1738837",
+  "name": "农业大数据",
+  "font_family": "iconfont",
+  "css_prefix_text": "icon-",
+  "description": "",
+  "glyphs": [
+    {
+      "icon_id": "5064096",
+      "name": "统计",
+      "font_class": "tongji2",
+      "unicode": "e646",
+      "unicode_decimal": 58950
+    },
+    {
+      "icon_id": "9241144",
+      "name": "手写签批",
+      "font_class": "iconzhengli_shouxieqianpi",
+      "unicode": "e648",
+      "unicode_decimal": 58952
+    },
+    {
+      "icon_id": "13173807",
+      "name": "识别",
+      "font_class": "shibie",
+      "unicode": "e603",
+      "unicode_decimal": 58883
+    },
+    {
+      "icon_id": "15726936",
+      "name": "统计",
+      "font_class": "tongji1",
+      "unicode": "e642",
+      "unicode_decimal": 58946
+    },
+    {
+      "icon_id": "20082758",
+      "name": "可视化大屏",
+      "font_class": "keshihuadaping",
+      "unicode": "e61c",
+      "unicode_decimal": 58908
+    },
+    {
+      "icon_id": "20082759",
+      "name": "退出关闭",
+      "font_class": "tuichuguanbi",
+      "unicode": "e61d",
+      "unicode_decimal": 58909
+    },
+    {
+      "icon_id": "20082258",
+      "name": "照片查看",
+      "font_class": "zhaopianchakan",
+      "unicode": "e61b",
+      "unicode_decimal": 58907
+    },
+    {
+      "icon_id": "20081037",
+      "name": "图标任务",
+      "font_class": "tubiaorenwu",
+      "unicode": "e61a",
+      "unicode_decimal": 58906
+    },
+    {
+      "icon_id": "19799572",
+      "name": "定位",
+      "font_class": "dingwei1",
+      "unicode": "e619",
+      "unicode_decimal": 58905
+    },
+    {
+      "icon_id": "19798147",
+      "name": "基地管理",
+      "font_class": "jidiguanli",
+      "unicode": "e618",
+      "unicode_decimal": 58904
+    },
+    {
+      "icon_id": "19798145",
+      "name": "基地面积",
+      "font_class": "jidimianji",
+      "unicode": "e617",
+      "unicode_decimal": 58903
+    },
+    {
+      "icon_id": "19798140",
+      "name": "建立时间",
+      "font_class": "jianlishijian",
+      "unicode": "e60d",
+      "unicode_decimal": 58893
+    },
+    {
+      "icon_id": "17654821",
+      "name": "录像",
+      "font_class": "luxiang",
+      "unicode": "e637",
+      "unicode_decimal": 58935
+    },
+    {
+      "icon_id": "774444",
+      "name": "扳手",
+      "font_class": "banshou",
+      "unicode": "e65c",
+      "unicode_decimal": 58972
+    },
+    {
+      "icon_id": "7335485",
+      "name": "地块",
+      "font_class": "chandi",
+      "unicode": "eb24",
+      "unicode_decimal": 60196
+    },
+    {
+      "icon_id": "7335489",
+      "name": "基础",
+      "font_class": "jichu",
+      "unicode": "eb25",
+      "unicode_decimal": 60197
+    },
+    {
+      "icon_id": "7335622",
+      "name": "迟到",
+      "font_class": "chidao",
+      "unicode": "eb44",
+      "unicode_decimal": 60228
+    },
+    {
+      "icon_id": "1391282",
+      "name": "日历",
+      "font_class": "rili",
+      "unicode": "e609",
+      "unicode_decimal": 58889
+    },
+    {
+      "icon_id": "5204808",
+      "name": "分类",
+      "font_class": "fenlei",
+      "unicode": "e616",
+      "unicode_decimal": 58902
+    },
+    {
+      "icon_id": "2678622",
+      "name": "全屏",
+      "font_class": "quanping",
+      "unicode": "e656",
+      "unicode_decimal": 58966
+    },
+    {
+      "icon_id": "772252",
+      "name": "扫描 识别 380%",
+      "font_class": "saomiaoshibie380",
+      "unicode": "e686",
+      "unicode_decimal": 59014
+    },
+    {
+      "icon_id": "11893490",
+      "name": "添加",
+      "font_class": "tianjia",
+      "unicode": "e615",
+      "unicode_decimal": 58901
+    },
+    {
+      "icon_id": "16364328",
+      "name": "统计",
+      "font_class": "tongji",
+      "unicode": "e636",
+      "unicode_decimal": 58934
+    },
+    {
+      "icon_id": "17709313",
+      "name": "未命名 -34",
+      "font_class": "weimingming-34",
+      "unicode": "e60b",
+      "unicode_decimal": 58891
+    },
+    {
+      "icon_id": "5327411",
+      "name": "臭虫bug",
+      "font_class": "chouchongbug",
+      "unicode": "e6e1",
+      "unicode_decimal": 59105
+    },
+    {
+      "icon_id": "802969",
+      "name": "楼房",
+      "font_class": "loufang",
+      "unicode": "e64f",
+      "unicode_decimal": 58959
+    },
+    {
+      "icon_id": "4348068",
+      "name": "电脑",
+      "font_class": "diannao1",
+      "unicode": "e623",
+      "unicode_decimal": 58915
+    },
+    {
+      "icon_id": "8835594",
+      "name": "图片",
+      "font_class": "tupian-xianxing",
+      "unicode": "e635",
+      "unicode_decimal": 58933
+    },
+    {
+      "icon_id": "10392628",
+      "name": "详情-",
+      "font_class": "xiangqing-",
+      "unicode": "e608",
+      "unicode_decimal": 58888
+    },
+    {
+      "icon_id": "36107",
+      "name": "面积",
+      "font_class": "mianji",
+      "unicode": "e602",
+      "unicode_decimal": 58882
+    },
+    {
+      "icon_id": "883904",
+      "name": "电话 (2)",
+      "font_class": "dianhua2",
+      "unicode": "e611",
+      "unicode_decimal": 58897
+    },
+    {
+      "icon_id": "1183130",
+      "name": "定位",
+      "font_class": "dingwei",
+      "unicode": "e675",
+      "unicode_decimal": 58997
+    },
+    {
+      "icon_id": "6129144",
+      "name": "102绑定",
+      "font_class": "bangding",
+      "unicode": "e784",
+      "unicode_decimal": 59268
+    },
+    {
+      "icon_id": "6970030",
+      "name": "用户",
+      "font_class": "yonghu11",
+      "unicode": "e705",
+      "unicode_decimal": 59141
+    },
+    {
+      "icon_id": "1106935",
+      "name": "雨",
+      "font_class": "yu",
+      "unicode": "e63a",
+      "unicode_decimal": 58938
+    },
+    {
+      "icon_id": "2155826",
+      "name": "温度",
+      "font_class": "thermometer_icon",
+      "unicode": "e67a",
+      "unicode_decimal": 59002
+    },
+    {
+      "icon_id": "4236632",
+      "name": "湿度",
+      "font_class": "shidu",
+      "unicode": "e60a",
+      "unicode_decimal": 58890
+    },
+    {
+      "icon_id": "7983631",
+      "name": "摄像头",
+      "font_class": "xingzhuang",
+      "unicode": "e614",
+      "unicode_decimal": 58900
+    },
+    {
+      "icon_id": "13638685",
+      "name": "电",
+      "font_class": "dian",
+      "unicode": "e655",
+      "unicode_decimal": 58965
+    },
+    {
+      "icon_id": "13638743",
+      "name": "温度",
+      "font_class": "wendu",
+      "unicode": "e660",
+      "unicode_decimal": 58976
+    },
+    {
+      "icon_id": "14095260",
+      "name": "定时",
+      "font_class": "dingshi",
+      "unicode": "e77e",
+      "unicode_decimal": 59262
+    },
+    {
+      "icon_id": "397065",
+      "name": "诱虫灯",
+      "font_class": "fangzhi",
+      "unicode": "e75c",
+      "unicode_decimal": 59228
+    },
+    {
+      "icon_id": "519489",
+      "name": "首页",
+      "font_class": "shouye",
+      "unicode": "e61e",
+      "unicode_decimal": 58910
+    },
+    {
+      "icon_id": "552767",
+      "name": "农药化肥",
+      "font_class": "nongchangguanli",
+      "unicode": "e62c",
+      "unicode_decimal": 58924
+    },
+    {
+      "icon_id": "689284",
+      "name": "设置 设定 配置 扳手",
+      "font_class": "shouhou",
+      "unicode": "e80e",
+      "unicode_decimal": 59406
+    },
+    {
+      "icon_id": "1119123",
+      "name": "系统",
+      "font_class": "xitong",
+      "unicode": "e60f",
+      "unicode_decimal": 58895
+    },
+    {
+      "icon_id": "1320048",
+      "name": "数据统计",
+      "font_class": "shujuzhanshi",
+      "unicode": "e621",
+      "unicode_decimal": 58913
+    },
+    {
+      "icon_id": "3483768",
+      "name": "地址",
+      "font_class": "jidi",
+      "unicode": "e672",
+      "unicode_decimal": 58994
+    },
+    {
+      "icon_id": "6756289",
+      "name": "专家",
+      "font_class": "zhuanjia",
+      "unicode": "e607",
+      "unicode_decimal": 58887
+    },
+    {
+      "icon_id": "7562834",
+      "name": "农事行为",
+      "font_class": "nongshiguanli",
+      "unicode": "e60c",
+      "unicode_decimal": 58892
+    },
+    {
+      "icon_id": "10544904",
+      "name": "多云转晴",
+      "font_class": "huanjingjiance",
+      "unicode": "e610",
+      "unicode_decimal": 58896
+    },
+    {
+      "icon_id": "13190141",
+      "name": "设备",
+      "font_class": "shebei",
+      "unicode": "e622",
+      "unicode_decimal": 58914
+    },
+    {
+      "icon_id": "13837385",
+      "name": "虫情监测 - 简",
+      "font_class": "cebaoguanli",
+      "unicode": "e776",
+      "unicode_decimal": 59254
+    },
+    {
+      "icon_id": "15282842",
+      "name": "树苗",
+      "font_class": "suyuan",
+      "unicode": "e6e8",
+      "unicode_decimal": 59112
+    },
+    {
+      "icon_id": "15631425",
+      "name": "监控",
+      "font_class": "jiankong",
+      "unicode": "e629",
+      "unicode_decimal": 58921
+    },
+    {
+      "icon_id": "992522",
+      "name": "信息",
+      "font_class": "xinxi1",
+      "unicode": "e64b",
+      "unicode_decimal": 58955
+    },
+    {
+      "icon_id": "1135940",
+      "name": "用户",
+      "font_class": "yonghu1",
+      "unicode": "e612",
+      "unicode_decimal": 58898
+    },
+    {
+      "icon_id": "7501066",
+      "name": "密码",
+      "font_class": "mima1",
+      "unicode": "e620",
+      "unicode_decimal": 58912
+    },
+    {
+      "icon_id": "715831",
+      "name": "电脑",
+      "font_class": "diannao",
+      "unicode": "e605",
+      "unicode_decimal": 58885
+    },
+    {
+      "icon_id": "4186778",
+      "name": "标签",
+      "font_class": "biaoqian",
+      "unicode": "e634",
+      "unicode_decimal": 58932
+    },
+    {
+      "icon_id": "6682541",
+      "name": "地址",
+      "font_class": "dizhi",
+      "unicode": "e606",
+      "unicode_decimal": 58886
+    },
+    {
+      "icon_id": "7404314",
+      "name": "时间",
+      "font_class": "shijian",
+      "unicode": "e77c",
+      "unicode_decimal": 59260
+    },
+    {
+      "icon_id": "8094230",
+      "name": "页面操作",
+      "font_class": "yemiancaozuo",
+      "unicode": "e64e",
+      "unicode_decimal": 58958
+    },
+    {
+      "icon_id": "10995780",
+      "name": "用户",
+      "font_class": "yonghu",
+      "unicode": "e60e",
+      "unicode_decimal": 58894
+    },
+    {
+      "icon_id": "354570",
+      "name": "编辑",
+      "font_class": "iconfontedit",
+      "unicode": "e61f",
+      "unicode_decimal": 58911
+    },
+    {
+      "icon_id": "813727",
+      "name": "充值",
+      "font_class": "chongzhi",
+      "unicode": "e633",
+      "unicode_decimal": 58931
+    },
+    {
+      "icon_id": "1761485",
+      "name": "禁用",
+      "font_class": "jinyong",
+      "unicode": "e641",
+      "unicode_decimal": 58945
+    },
+    {
+      "icon_id": "11391516",
+      "name": "密码",
+      "font_class": "mima",
+      "unicode": "e638",
+      "unicode_decimal": 58936
+    },
+    {
+      "icon_id": "9783463",
+      "name": "文档",
+      "font_class": "wendang",
+      "unicode": "e613",
+      "unicode_decimal": 58899
+    },
+    {
+      "icon_id": "4641118",
+      "name": "删除",
+      "font_class": "shanchu",
+      "unicode": "e625",
+      "unicode_decimal": 58917
+    },
+    {
+      "icon_id": "12685010",
+      "name": "铃",
+      "font_class": "icon_huabanfuben",
+      "unicode": "e62b",
+      "unicode_decimal": 58923
+    },
+    {
+      "icon_id": "2512619",
+      "name": "BAI-屋子",
+      "font_class": "BAI-wuzi",
+      "unicode": "e69c",
+      "unicode_decimal": 59036
+    },
+    {
+      "icon_id": "5387843",
+      "name": "主题_调色盘_o",
+      "font_class": "zhuti_tiaosepan_o",
+      "unicode": "eb6e",
+      "unicode_decimal": 60270
+    }
+  ]
+}

La diferencia del archivo ha sido suprimido porque es demasiado grande
+ 245 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.svg


BIN
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.ttf


BIN
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.woff


BIN
unpackage/cache/wgt/__UNI__DBA6730/static/font/iconfont.woff2


+ 224 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/h52.html

@@ -0,0 +1,224 @@
+<!DOCTYPE html>
+<html lang=zh-CN>
+	<head>
+		<meta charset="utf-8">
+		<meta http-equiv="X-UA-Compatible" content="IE=edge">
+		<meta name="divport" content="width=device-width,user-scalable=no,initial-scale=1,maximum-scale=1,minimum-scale=1">
+		<title>监控详情页</title>
+		<meta name="Copyright" content="helang">
+		<link rel="shortcut icon" type="image/png" href="/uniapp-extend/static/logo.png">
+		<meta name="keywords" content="">
+		<meta name="description" content="">
+		<style type="text/css">
+			body {
+				margin: 0;
+				background-color: #f3f3f3;
+			}
+
+			/* iframe {
+				width: 375px;
+				height: 667px;
+				background-color: #fff;
+				box-sizing: content-box;
+				border: none;
+			} */
+			.btn-box {
+				margin-top: 20px;
+				display: flex;
+				flex-direction: row;
+				justify-content: space-around;
+				align-items: center;
+			}
+
+			.more,
+			.less {
+				flex: 1
+			}
+
+			img {
+				width: 100%;
+			}
+
+			.direc {
+				width: 400px;
+				height: 400px;
+				background: url('http://static.yfpyx.com/bigdata_app/image/monitor/1.png');
+				background-size: 100% auto;
+				background-repeat: no-repeat;
+				position: relative;
+			}
+
+			.direc div {
+				width: 50px;
+				height: 50px;
+				position: absolute;
+			}
+
+			.top {
+				top: 0;
+				left: 50px
+			}
+
+			.bottom {
+				bottom: 0;
+				left: 50px
+			}
+
+			.left {
+				left: 0;
+				top: 50px
+			}
+
+			.right {
+				right: 0;
+				top: 50px
+			}
+
+			#box {
+				height: 800px;
+				width: 100%;
+				background: #000;
+			}
+		</style>
+		<script type="text/javascript" src="./js/ezuikit.js"></script>
+
+	</head>
+	<body>
+		<div id="box"></div>
+		<div class="btn-box">
+			<div class="more" ontouchstart="configCamera('move', 8)" ontouchend="stopConfigCamera()">
+				<image src="http://static.yfpyx.com/bigdata_app/image/monitor/3.png" mode="widthFix"></image>
+			</div>
+			<div class="direc">
+				<div class="top" ontouchstart="configCamera('move', 0)" ontouchend="stopConfigCamera()">
+
+				</div>
+				<div class="bottom" ontouchstart="configCamera('move', 1)" ontouchend="stopConfigCamera()">
+
+				</div>
+				<!-- <div class="photo" ontouchstart="configCamera('takephoto', '')">
+
+				</div> -->
+				<div class="left" ontouchstart="configCamera('move', 2)" ontouchend="stopConfigCamera()">
+
+				</div>
+				<div class="right" ontouchstart="configCamera('move', 6)" ontouchend="stopConfigCamera()">
+
+				</div>
+			</div>
+			<div class="less" ontouchstart="configCamera('move', 9)" ontouchend="stopConfigCamera()">
+				<image src="http://static.yfpyx.com/bigdata_app/image/monitor/2.png" mode="widthFix"></image>
+			</div>
+		</div>
+	</body>
+	<script src="https://cdn.bootcdn.net/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
+	<!-- uni 的 SDK -->
+	<script type="text/javascript" src="https://js.cdn.aliyun.dcloud.net.cn/dev/uni-app/uni.webview.1.5.2.js"></script>
+	<script type="text/javascript">
+		//上下左右和拍照
+		var str = window.location.search.substr(1)
+		var arr = str.split('&')
+		var device_id = arr[0].split('=')[1]
+		var accessToken = arr[1].split('=')[1]
+		console.log(device_id)
+		console.log(accessToken)
+		function configCamera(ctrl, movenum) {
+			if (ctrl == "takephoto") {
+				$.ajax({
+					type: "POST",
+					url: "http://8.136.98.49:8002/api/api_gateway?method=camera.camera_manage.camera_takephoto",
+					data: {
+						device_id: device_id,
+					}
+				}).then((res) => {
+					if (res.data.data) {
+						var data = JSON.parse(res.data.data);
+						var picUrl = data.data.picUrl;
+					} else {
+						console.log(res.data.message)
+					}
+				});
+			} else {
+				//上下左右、放大、缩小
+				$.ajax({
+					type: "POST",
+					url: "http://8.136.98.49:8002/api/api_gateway?method=camera.camera_manage.ctrl_camera",
+					data: {
+						device_id: device_id,
+						ctrl: ctrl,
+						movenum: movenum,
+					}
+				}).then((res) => {
+					console.log('成功')
+
+				})
+			}
+		}
+
+		function stopConfigCamera() {
+			$.ajax({
+				type: "POST",
+				url: "http://8.136.98.49:8002/api/api_gateway?method=camera.camera_manage.ctrl_camera",
+				data: {
+					device_id: device_id,
+					ctrl: "stop",
+				},
+			});
+		}
+		$(function() {
+			// var width = $('.direc').width()
+			// $('.direc').height(width)
+			$.ajax({
+				type: "POST",
+				url: "http://8.136.98.49:8002/api/api_gateway?method=camera.camera_manage.addr_camera",
+				data: {
+					device_id: device_id,
+				}
+			}).then((res) => {
+				console.log(res.data)
+
+				var data = eval("(" + res.data + ")");
+				console.log(data)
+				var hlsHdSrc = data.hlsHd;
+				var rtmpHdSrc = data.rtmpHd;
+				// console.log($("#box"))
+				// $("#box").innerHTML(1234)
+				var playHtml =
+					`<video id="myPlayer" autoplay   poster='' controls playsInline  webkit-playsinline src="${hlsHdSrc}"  style="width:100%; height:100%;"></video>`;
+				$("#box").html(playHtml)
+				var myVideo = new EZUIKit.EZUIPlayer("myPlayer");
+				setTimeout(() => {
+					myVideo.play();
+				}, 150);
+
+			})
+
+			// setTimeout(() => {
+			// 	var url = "ezopen://open.ys7.com/" + device_id + "/1.hd.live"
+			// 	var player = new EZUIKit.EZUIPlayer({
+			// 		id: 'myPlayer',
+			// 		url: url,
+			// 		autoplay: true,
+			// 		accessToken: accessToken,
+			// 		decoderPath: 'js',
+			// 		width: 1000,
+			// 		height: 800,
+			// 	});
+			// 	player.play();
+			// }, 1000)
+
+		})
+		document.addEventListener('UniAppJSBridgeReady', function() {
+			uni.webView.getEnv(function(res) {
+				console.log(res)
+				console.log('当前环境:' + JSON.stringify(res));
+			});
+			uni.postMessage({
+				data: {
+					action: 'postMessage'
+				}
+			});
+			// uni.webView.navigateTo(...)
+		});
+	</script>
+</html>

BIN
unpackage/cache/wgt/__UNI__DBA6730/static/images/12.png


BIN
unpackage/cache/wgt/__UNI__DBA6730/static/images/13.png


BIN
unpackage/cache/wgt/__UNI__DBA6730/static/images/14.png


+ 0 - 0
unpackage/cache/wgt/__UNI__DBA6730/static/images/15.png


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