Procházet zdrojové kódy

所有SIM卡模块问题修复,气象站、监控添加SIM卡模块,病虫统计数据混乱问题修复 9/18

zhangyun před 4 roky
rodič
revize
10f75cfbfc
80 změnil soubory, kde provedl 1059 přidání a 191 odebrání
  1. 10 5
      .hbuilderx/launch.json
  2. 20 0
      pages.json
  3. 1 0
      pages/cb/cbd/equip-set/equip-set.vue
  4. 103 18
      pages/cb/cbd/equip-set/statistics.vue
  5. 2 2
      pages/cb/index/search.vue
  6. 78 79
      pages/cb/sim/sim.vue
  7. 9 0
      pages/environment/equipment.vue
  8. 1 1
      pages/environment/search.vue
  9. 186 0
      pages/environment/sim.vue
  10. 30 2
      pages/monitor/index.vue
  11. 186 0
      pages/monitor/sim.vue
  12. 1 1
      pages/prevention/index.vue
  13. 1 1
      pages/prevention/search.vue
  14. 34 14
      pages/prevention/sim.vue
  15. binární
      static/images/ba167c2774bc7a63381dc3aaf1ef95c.png
  16. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map
  17. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/equip-set.js.map
  18. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/statistics.js.map
  19. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/index/search.js.map
  20. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/sim/sim.js.map
  21. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/equipment.js.map
  22. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/search.js.map
  23. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/sim.js.map
  24. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/index.js.map
  25. 1 0
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/sim.js.map
  26. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/index.js.map
  27. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/search.js.map
  28. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/sim.js.map
  29. 1 1
      unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map
  30. 4 3
      unpackage/dist/dev/mp-weixin/app.json
  31. 7 7
      unpackage/dist/dev/mp-weixin/common/vendor.js
  32. 2 2
      unpackage/dist/dev/mp-weixin/components/bazaar-city_list/index.json
  33. 1 1
      unpackage/dist/dev/mp-weixin/components/uni-nav-bar/uni-nav-bar.wxml
  34. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/equip-set.js
  35. 2 2
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.js
  36. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.wxml
  37. 24 0
      unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.wxss
  38. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/index/search.wxml
  39. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/index/search.wxss
  40. 1 1
      unpackage/dist/dev/mp-weixin/pages/cb/sim/sim.js
  41. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/equipment.js
  42. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/equipment.wxml
  43. 1 1
      unpackage/dist/dev/mp-weixin/pages/environment/search.wxml
  44. 34 0
      unpackage/dist/dev/mp-weixin/pages/environment/sim.js
  45. 8 0
      unpackage/dist/dev/mp-weixin/pages/environment/sim.json
  46. 1 0
      unpackage/dist/dev/mp-weixin/pages/environment/sim.wxml
  47. 92 0
      unpackage/dist/dev/mp-weixin/pages/environment/sim.wxss
  48. 1 1
      unpackage/dist/dev/mp-weixin/pages/monitor/index.js
  49. 1 1
      unpackage/dist/dev/mp-weixin/pages/monitor/index.wxml
  50. 21 0
      unpackage/dist/dev/mp-weixin/pages/monitor/index.wxss
  51. 34 0
      unpackage/dist/dev/mp-weixin/pages/monitor/sim.js
  52. 8 0
      unpackage/dist/dev/mp-weixin/pages/monitor/sim.json
  53. 1 0
      unpackage/dist/dev/mp-weixin/pages/monitor/sim.wxml
  54. 92 0
      unpackage/dist/dev/mp-weixin/pages/monitor/sim.wxss
  55. 5 5
      unpackage/dist/dev/mp-weixin/pages/prevention/index.js
  56. 1 1
      unpackage/dist/dev/mp-weixin/pages/prevention/search.wxml
  57. 2 2
      unpackage/dist/dev/mp-weixin/pages/prevention/sim.js
  58. 1 1
      unpackage/dist/dev/mp-weixin/pages/prevention/sim.wxml
  59. 13 2
      unpackage/dist/dev/mp-weixin/pages/prevention/sim.wxss
  60. binární
      unpackage/dist/dev/mp-weixin/static/images/ba167c2774bc7a63381dc3aaf1ef95c.png
  61. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-action-sheet/u-action-sheet.wxml
  62. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-badge/u-badge.wxml
  63. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-button/u-button.wxml
  64. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-calendar/u-calendar.wxml
  65. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.wxml
  66. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-collapse-item/u-collapse-item.wxml
  67. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-field/u-field.wxml
  68. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-form-item/u-form-item.js
  69. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-form-item/u-form-item.wxml
  70. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-icon/u-icon.wxml
  71. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-input/u-input.wxml
  72. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-line-progress/u-line-progress.wxml
  73. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-loading/u-loading.wxml
  74. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-mask/u-mask.wxml
  75. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-popup/u-popup.wxml
  76. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-slider/u-slider.wxml
  77. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-swiper/u-swiper.wxml
  78. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-switch/u-switch.wxml
  79. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-tabs/u-tabs.wxml
  80. 1 1
      unpackage/dist/dev/mp-weixin/uview-ui/components/u-toast/u-toast.wxml

+ 10 - 5
.hbuilderx/launch.json

@@ -2,10 +2,15 @@
   // launchtype项可配置值为local或remote, local代表前端连本地云函数,remote代表前端连云端云函数
     "version": "0.0",
     "configurations": [{
-            "type": "uniCloud",
-            "default": {
-                "launchtype": "local"
-            }
-        }
+     	"default" : 
+     	{
+     		"launchtype" : "local"
+     	},
+     	"mp-weixin" : 
+     	{
+     		"launchtype" : "local"
+     	},
+     	"type" : "uniCloud"
+     }
     ]
 }

+ 20 - 0
pages.json

@@ -500,6 +500,26 @@
             }
             
         }
+        ,{
+            "path" : "pages/environment/sim",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "环境监测sim卡信息",
+                "enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+            }
+            
+        }
+        ,{
+            "path" : "pages/monitor/sim",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "监控SIM卡",
+                "enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+            }
+            
+        }
     ],
 	"condition": { //模式配置,仅开发期间生效
 		"current": 3, //当前激活的模式(list 的索引项)

+ 1 - 0
pages/cb/cbd/equip-set/equip-set.vue

@@ -411,6 +411,7 @@
 				console.log(this.equipContrlForm)
 				this.equipContrlForm.st = String(this.equipContrlForm.st)
 				this.equipContrlForm.et = String(this.equipContrlForm.et)
+				this.equipContrlForm.ts = String(this.equipContrlForm.ts)
 				let res = await this.$myRequest({
 					url: '/api/api_gateway?method=forecast.send_control.device_control',
 					data: {

+ 103 - 18
pages/cb/cbd/equip-set/statistics.vue

@@ -7,7 +7,8 @@
 			</view>
 			<view class="statistics">
 				<view class="top_text">
-					<view :class="topindex==index?'title_text_color':'tltle_text'" v-for="(item,index) in toptext" :key="index" @click="changeindex(index)">
+					<view :class="topindex==index?'title_text_color':'tltle_text'" v-for="(item,index) in toptext"
+						:key="index" @click="changeindex(index)">
 						{{item}}
 					</view>
 				</view>
@@ -21,28 +22,48 @@
 									<u-icon name="arrow-down"></u-icon>
 								</p>
 							</view>
-							<u-picker v-model="pickertfone" mode="selector" @confirm="confirmFun" :default-selector="[indexone]" :range="titletext"></u-picker>
+							<u-picker v-model="pickertfone" mode="selector" @confirm="confirmFun"
+								:default-selector="[indexone]" :range="titletext"></u-picker>
 							<view class="schedule" @click="pickertftwo=!pickertftwo" v-if="tishitf">
 								<p class="schedule_value">{{wormdata[indextwo]}}</p>
 								<p class="schedule_icon">
 									<u-icon name="arrow-down"></u-icon>
 								</p>
-								<u-picker v-model="pickertftwo" mode="selector" @confirm="confirmFun2" :default-selector="[indextwo]" :range="wormdata"></u-picker>
+								<u-picker v-model="pickertftwo" mode="selector" @confirm="confirmFun2"
+									:default-selector="[indextwo]" :range="wormdata"></u-picker>
 							</view>
 						</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>
+					<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="shuju_two">
 					<p class="shuju_one_title">害虫比例</p>
 					<view class="canvastishi" v-if="!canvastishiTF">
 						暂无数据
-					</view> 
-					<canvas v-if="canvastishiTF" canvas-id="canvasRing" id="canvasRing" class="charts" @touchstart="touchRing" :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>
+					<canvas v-if="canvastishiTF" canvas-id="canvasRing" id="canvasRing" class="charts"
+						@touchstart="touchRing"
+						:style="{'width':cWidth*pixelRatio+'px','height':cHeight*pixelRatio+'px', 'transform': 'scale('+(1/pixelRatio)+')','margin-left':-cWidth*(pixelRatio-1)/2+'px','margin-top':-cHeight*(pixelRatio-1)/2+'px'}"></canvas>
+				</view>
+				<view class="shuju_table" v-if="tableval.length">
+					<table class="table">
+						<tr class="tr">
+							<th class="th">害虫名称</th>
+							<th class="th">害虫数量</th>
+							<th class="th">害虫比例</th>
+						</tr>
+						<tr class="tr" v-for="(item,index) in tableval" :key="index">
+							<td class="td">{{item.name}}</td>
+							<td class="td">{{item.data}}</td>
+							<td class="td">{{(item.prop*100).toFixed(2)+"%"}}</td>
+						</tr>
+					</table>
 				</view>
 			</view>
 		</view>
@@ -145,7 +166,8 @@
 				tishitf: false,
 				tishi: false,
 				toptext: ["自动统计", "手动统计"],
-				topindex: 0
+				topindex: 0,
+				tableval: []
 			}
 		},
 		methods: {
@@ -178,18 +200,47 @@
 					var ringarr = []
 					for (var i = 0; i < res.date.length; i++) {
 						var times = new Date(res.date[i].addtime * 1000)
-						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getSeconds())
+						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" +
+							times.getSeconds())
 						arr1.unshift(res.date[i].temperature == "" ? "0" : res.date[i].temperature)
 						arr2.unshift(res.date[i].humidity == "" ? "0" : res.date[i].humidity)
 						arr3.unshift(res.date[i]._sums == "" ? "0" : res.date[i]._sums)
 					}
-					for(var i = 0; i < res.percentage.length; i++){
+					var maxnumarr = []
+					for (var i = 0; i < res.percentage.length; i++) {
 						var obj = {}
 						obj.name = res.percentage[i].name_num
 						obj.data = Number(res.percentage[i].num)
-						ringarr.unshift(obj)
+						maxnumarr.unshift(obj)
 					}
 					console.log(ringarr)
+					var temp;
+					for (var i = 0; i < maxnumarr.length - 1; i++) {
+						for (var j = 0; j < maxnumarr.length - 1; j++) {
+							if (maxnumarr[j].data < maxnumarr[j + 1].data) {
+								temp = maxnumarr[j];
+								maxnumarr[j] = maxnumarr[j + 1];
+								maxnumarr[j + 1] = temp;
+							}
+						}
+					}
+
+					if (maxnumarr.length < 20) {
+						ringarr = maxnumarr
+					} else {
+						ringarr = maxnumarr.splice(0, 20)
+						this.tableval = maxnumarr.splice(20)
+					}
+					var tablevalsum = 0
+					for (var i = 0; i < maxnumarr.length; i++) {
+						tablevalsum += maxnumarr[i].data
+					}
+					for (var i = 0; i < this.tableval.length; i++) {
+						this.tableval[i].prop = this.tableval[i].data / tablevalsum
+					}
+					console.log(this.tableval)
+					console.log(maxnumarr)
+
 					var obj = [{
 						name: '温度',
 						data: arr1,
@@ -231,7 +282,8 @@
 					var xtitle = []
 					for (var i = 0; i < res.date.length; i++) {
 						var times = new Date(res.date[i].addtime * 1000)
-						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getSeconds())
+						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" +
+							times.getSeconds())
 						arr1.unshift(res.date[i].temperature == "" ? "0" : res.date[i].temperature)
 						arr2.unshift(res.date[i].humidity == "" ? "0" : res.date[i].humidity)
 						arr3.unshift(res.date[i]._sums == "" ? "0" : res.date[i]._sums)
@@ -278,9 +330,10 @@
 					var ringarr = []
 					for (var i = 0; i < res.date.length; i++) {
 						var times = new Date(res.date[i].add_time * 1000)
-						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getSeconds())
+						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" +
+							times.getSeconds())
 						arr1.unshift(res.date[i].pest_num == "" ? "0" : res.date[i].pest_num)
-						var obj ={}
+						var obj = {}
 						obj.name = res.date[i].pest_name
 						obj.data = Number(res.date[i].pest_num)
 						ringarr.unshift(obj)
@@ -316,7 +369,8 @@
 					var xtitle = []
 					for (var i = 0; i < res.pests.pest_list.length; i++) {
 						var times = new Date(res.pests.pest_list[i].add_time * 1000)
-						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" + times.getSeconds())
+						xtitle.unshift(times.getMonth() + 1 + "/" + times.getDate() + "-" + times.getHours() + ":" +
+							times.getSeconds())
 						arr1.unshift(res.pests.pest_list[i].pest_num == "" ? "0" : res.pests.pest_list[i].pest_num)
 					}
 					var obj = [{
@@ -413,6 +467,7 @@
 				}
 			},
 			changeindex(index) {
+				this.tableval = []
 				this.topindex = index
 				if (this.topindex == 0) {
 					this.pest_name = ''
@@ -519,7 +574,7 @@
 </script>
 
 <style lang="scss">
-	.shuju_one{
+	.shuju_one {
 		position: absolute;
 		top: 84px;
 		width: 90%;
@@ -538,7 +593,8 @@
 			margin-top: -21rpx;
 		}
 	}
-	.shuju_two{
+
+	.shuju_two {
 		position: absolute;
 		top: 840rpx;
 		width: 90%;
@@ -548,6 +604,7 @@
 		box-sizing: border-box;
 		height: 650rpx;
 		margin-bottom: 40rpx;
+
 		.canvastishi {
 			font-size: 32rpx;
 			position: absolute;
@@ -556,7 +613,35 @@
 			margin-left: -64rpx;
 			margin-top: -21rpx;
 		}
-	} 
+	}
+
+	.shuju_table {
+		position: absolute;
+		top: 1510rpx;
+		width: 90%;
+		left: 5%;
+		box-shadow: 0 0 10rpx #bcb9ca;
+		padding-top: 20rpx;
+		box-sizing: border-box;
+		margin-bottom: 40rpx;
+
+		.table {
+			tr {
+				display: flex;
+			}
+
+			.th,
+			.td {
+				padding: 5rpx;
+				width: 240rpx;
+				text-align: center;
+				height: 52rpx;
+				line-height: 52rpx;
+				font-size: 28rpx !important;
+			}
+		}
+	}
+
 	.condition {
 		position: absolute;
 		top: 600rpx;

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

@@ -5,7 +5,7 @@
 			<view style="position: fixed;z-index: 100;background-color: #FFFFFF;height: 80px;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="设备搜索"></uni-nav-bar>
 				<view class="search_top_input">
-					<input type="text" value="" placeholder="请输入设备ID" v-model="imports" @input="searchinp" />
+					<input type="text" value="" placeholder="请输入设备ID或设备名称" v-model="imports" @input="searchinp" />
 					<u-icon name="search" size="40" class="icon" @click="search"></u-icon>
 				</view>
 			</view>
@@ -196,7 +196,7 @@
 	.prevents {
 		width: 100%;
 		position: absolute;
-		top: 90px;
+		top: 100px;
 		.prevents_item {
 			width: 95%;
 			margin: 0 auto 30rpx;

+ 78 - 79
pages/cb/sim/sim.vue

@@ -142,104 +142,103 @@
 				if (res2.code == 1) { //企鹏 新
 					var state = ""
 					switch (obj.deviceStatus) {
-						case "ACTIVATION_READY_NAME":
+						case "TEST_READY_NAME":
 							state = "可测试"
 							break;
-						case "TEST_READY_NAME":
+						case "INVENTORY_NAME":
 							state = "库存"
 							break;
-						case "INVENTORY_NAME":
+						case "ACTIVATION_READY_NAME":
 							state = "可激活"
 							break;
-						case "ACTIVATION_READY_NAME":
+						case "ACTIVATED_NAME":
 							state = "已激活"
 							break;
-						case "ACTIVATED_NAME":
+						case "DEACTIVATED_NAME":
 							state = "已停卡"
 							break;
-						case "DEACTIVATED_NAME":
+						case "RETIRED_NAME":
 							state = "已销卡"
 							break;
-						case "RETIRED_NAME":
+						case "PURGED_NAME":
 							state = "已清除"
 							break;
 					}
-					console.log(obj)
 					if (flag == 'sim') {
-						this.sim = {
-							iccid: res[0].iccid,
-							account_status: state,
-							data_plan: obj.totalDataVolume, //套餐大小
-							data_usage: obj.usedDataVolume, //当月用量
-							data_balance: Number(obj.totalDataVolume) - Number(obj.usedDataVolume), //剩余流量
-							expiry_date: obj.ratePlanExpirationDate, //到期日期,
-							simnew:"新"
+							this.sim = {
+								iccid: res[0].iccid,
+								account_status: state,
+								data_plan: obj.totalDataVolume, //套餐大小
+								data_usage: obj.usedDataVolume, //当月用量
+								data_balance: Number(obj.totalDataVolume) - Number(obj.usedDataVolume), //剩余流量
+								expiry_date: obj.dateDeactivated, //到期日期,
+								simnew:"新"
+							}
+							this.loding = false
+						} else if (flag == 'hksim') {
+							this.hksim = {
+								iccid: res[0].iccid,
+								account_status: state,
+								data_plan: obj.totalDataVolume, //套餐大小
+								data_usage: obj.usedDataVolume, //当月用量
+								data_balance: Number(obj.totalDataVolume) - Number(obj.usedDataVolume), //剩余流量
+								expiry_date: obj.ratePlanExpirationDate, //到期日期
+								simnew:"新"
+							}
+							this.loding2 = false
 						}
-						this.loding = false
-					} else if (flag == 'hksim') {
-						this.hksim = {
-							iccid: res[0].iccid,
-							account_status: state,
-							data_plan: obj.totalDataVolume, //套餐大小
-							data_usage: obj.usedDataVolume, //当月用量
-							data_balance: Number(obj.totalDataVolume) - Number(obj.usedDataVolume), //剩余流量
-							expiry_date: obj.ratePlanExpirationDate, //到期日期
-							simnew:"新"
+					} else if (res2.code == 2) { //合宙 旧
+						var state = ""
+						switch (obj.account_status) {
+							case 0:
+								state = "未知"
+								break;
+							case 1:
+								state = "测试期"
+								break;
+							case 2:
+								state = "沉默期"
+								break;
+							case 3:
+								state = "使用中"
+								break;
+							case 4:
+								state = "停机"
+								break;
+							case 5:
+								state = "停机保号"
+								break;
+							case 6:
+								state = "预销号"
+								break;
+							case 7:
+								state = "销号"
+								break;
 						}
-						this.loding2 = false
-					}
-				} else if (res2.code == 2) { //合宙 旧
-					var state = ""
-					switch (obj.account_status) {
-						case 0:
-							state = "未知"
-							break;
-						case 1:
-							state = "测试期"
-							break;
-						case 2:
-							state = "沉默期"
-							break;
-						case 3:
-							state = "使用中"
-							break;
-						case 4:
-							state = "停机"
-							break;
-						case 5:
-							state = "停机保号"
-							break;
-						case 6:
-							state = "预销号"
-							break;
-						case 7:
-							state = "销号"
-							break;
-					}
-					this.simnew = "旧"
-					if (flag == 'sim') {
-						this.sim = {
-							iccid: res[0].iccid,
-							account_status: state, //卡状态 0-7 未知 测试期 沉默期 使用中 停机 停机保号 预销号 销号
-							data_plan: obj.data_plan, //套餐大小
-							data_usage: obj.data_usage, //当月用量
-							data_balance: obj.data_balance, //剩余流量
-							expiry_date: obj.expiry_date, //到期日期
-							simnew:"旧"
-						}
-						this.loding = false
-					} else if (flag == 'hksim') {
-						this.hksim = {
-							iccid: res[0].iccid,
-							account_status: state, //卡状态 0-7 未知 测试期 沉默期 使用中 停机 停机保号 预销号 销号
-							data_plan: obj.data_plan, //套餐大小
-							data_usage: obj.data_usage, //当月用量
-							data_balance: obj.data_balance, //剩余流量
-							expiry_date: obj.expiry_date, //到期日期
-							simnew:"旧"
+						this.simnew = "旧"
+						if (flag == 'sim') {
+							this.sim = {
+								iccid: res[0].iccid,
+								account_status: state, //卡状态 0-7 未知 测试期 沉默期 使用中 停机 停机保号 预销号 销号
+								data_plan: obj.data_plan, //套餐大小
+								data_usage: obj.data_usage, //当月用量
+								data_balance: obj.data_balance, //剩余流量
+								expiry_date: obj.expiry_date, //到期日期
+								simnew:"旧"
+							}
+							this.loding = false
+						} else if (flag == 'hksim') {
+							this.hksim = {
+								iccid: res[0].iccid,
+								account_status: state, //卡状态 0-7 未知 测试期 沉默期 使用中 停机 停机保号 预销号 销号
+								data_plan: obj.data_plan, //套餐大小
+								data_usage: obj.data_usage, //当月用量
+								data_balance: obj.data_balance, //剩余流量
+								expiry_date: obj.expiry_date, //到期日期
+								simnew:"旧"
+							}
+							this.loding2 = false
 						}
-						this.loding2 = false
-					}
 				}
 			},
 			async submit() {

+ 9 - 0
pages/environment/equipment.vue

@@ -30,6 +30,10 @@
 					<image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/environment/10.png'" mode=""></image>
 					<p>历史数据</p>
 				</view>
+				<view class="control_item" v-if="eqinfo.item.iccid" @click="siminfo(eqinfo.item.iccid)">
+					<image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/cb/6.png'" mode=""></image>
+					<p>SIM卡信息</p>
+				</view>
 			</view>
 			<view class="realtime">
 				<p class="realtime_title"><span v-if="realtimeTF">实时数据</span><span v-else>实时数据(暂无数据)</span></p>
@@ -277,6 +281,11 @@
 					}
 				});
 			},
+			siminfo(sim){
+				uni.navigateTo({
+					url: "./sim?simid="+sim
+				})
+			}
 		},
 		onLoad(option) {
 			this.$forceUpdate()

+ 1 - 1
pages/environment/search.vue

@@ -5,7 +5,7 @@
 			<view style="position: fixed;z-index: 100;background-color: #FFFFFF;height: 80px;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="设备搜索"></uni-nav-bar>
 				<view class="search_top_input">
-					<input type="text" value="" placeholder="请输入设备ID" v-model="imports" @input="searchinp" />
+					<input type="text" value="" placeholder="请输入设备ID或设备名称" v-model="imports" @input="searchinp" />
 					<u-icon name="search" size="40" class="icon" @click="search"></u-icon>
 				</view>
 			</view>

+ 186 - 0
pages/environment/sim.vue

@@ -0,0 +1,186 @@
+<template>
+	<view>
+		<view class="status_bar"></view>
+		<view class="" style="position: relative;top: 44px;">
+			<view style="position: fixed;z-index: 100;width: 100%;">
+				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="sim卡详情"></uni-nav-bar>
+			</view>
+			<view class="sim_info">
+				<view class="sim_info_loding" v-if="loding">
+					<image src="../../static/images/cb/6286299.gif" mode="" class="img"></image>
+				</view>
+				<view class="sim_info_title">
+					<image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/cb/sim1.png'" mode=""></image>
+					<p>sim卡查询{{"("+simnew+")"}}</p>
+				</view>
+				<view class="sim_info_text">
+					<p>运营商:{{siminfo.data.carrier}}</p>
+					<view class="sim_info_iccid" @click="copy(siminfo.data.iccid)">
+						<p>ICCID:{{siminfo.data.iccid}}</p>
+						<image src="../../static/images/ba167c2774bc7a63381dc3aaf1ef95c.png" mode="" class="tishi"></image>
+					</view>
+					<p>状态:{{state}}</p>
+					<p>套餐:{{siminfo.data.data_plan || siminfo.data.totalDataVolume}}MB</p>
+					<p v-if="simnew=='旧'">已用流量:{{siminfo.data.data_usage.toFixed(2)}}MB</p>
+					<p v-if="simnew=='新'">已用流量:{{siminfo.data.usedDataVolume.toFixed(2)}}MB</p>
+					<p v-if="simnew=='旧'">剩余流量:{{siminfo.data.data_balance.toFixed(2)}}MB</p>
+					<p v-if="simnew=='新'">剩余流量:{{(siminfo.data.totalDataVolume-siminfo.data.usedDataVolume).toFixed(2)}}MB</p>
+					<p v-if="simnew=='旧'">到期时间:{{siminfo.data.expiry_date|timeFormat()}}</p>
+					<p v-if="simnew=='新'">到期时间:{{siminfo.data.expireDate}}</p>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				iccid: '',
+				siminfo: {
+					data: {
+						carrier: "--",
+						account_status: "--",
+						data_plan: "--",
+						data_usage: "--",
+						data_balance: "--",
+						outbound_date: ""
+					}
+				},
+				state:"",
+				id: '',
+				simnew:"",
+				loding:false
+			}
+		},
+		methods: {
+			async simdata(data) { //获取sim信息
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.sim_query',
+					data: {
+						iccid: data
+					}
+				})
+				if(res.code==1){//企鹏
+					this.simnew = "新"
+					switch (res.data.data.deviceStatus){
+						case "TEST_READY_NAME":
+							this.state = "可测试"
+							break;
+						case "INVENTORY_NAME":
+							this.state = "库存"
+							break;
+						case "ACTIVATION_READY_NAME":
+							this.state = "可激活"
+							break;
+						case "ACTIVATED_NAME":
+							this.state = "已激活"
+							break;
+						case "DEACTIVATED_NAME":
+							this.state = "已停卡"
+							break;
+						case "RETIRED_NAME":
+							this.state = "已销卡"
+							break;
+						case "PURGED_NAME":
+							this.state = "已清除"
+							break;
+					}
+				}else if(res.code==2){//合宙
+					var arr = ['未知', '测试期', '沉默期', '使用中', '停机', '停机保号', '预销号', '销号']
+					this.state = arr[res.data.data.account_status]
+					this.simnew = "旧"
+				}
+				this.siminfo = res.data
+				this.loding = false
+				console.log(this.siminfo.data)
+			},
+			clickLeft() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			copy(item){
+				uni.setClipboardData({
+				    data: item , 
+				    success: function () {
+				        console.log('success');
+				    }
+				});
+			},
+		},
+		onLoad(option) {
+			console.log(option.simid)
+			this.simdata(option.simid)
+			this.id = option.simid
+			this.loding = true
+		}
+	}
+</script>
+
+<style lang="scss">
+	.sim_info {
+		width: 90%;
+		position: absolute;
+		top: 54px;
+		left: 5%;
+		box-shadow: 0 0 10rpx #bcb9ca;
+		padding: 30rpx 20rpx 50rpx;
+		border-radius: 20rpx;
+		box-sizing: border-box;
+		
+		.sim_info_loding{
+			position: absolute;
+			top: 0;
+			left: 0;
+			width: 100%;
+			background-color: rgba(0,0,0,0.3);
+			border-radius: 20rpx;
+			height: 100%;
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+			.img{
+				width: 200rpx;
+				height: 175rpx;
+				
+			}
+		}
+		.sim_info_title {
+			width: 100%;
+			display: flex;
+
+			image {
+				width: 24rpx;
+				height: 32rpx;
+				margin: 6rpx 20rpx 0 0;
+			}
+
+			p {
+				font-weight: 700;
+			}
+		}
+
+		.sim_info_text {
+			width: 100%;
+			padding-left: 44rpx;
+
+			p {
+				height: 30rpx;
+				margin-top: 20rpx;
+				font-size: 26rpx;
+			}
+			.sim_info_iccid{
+				display: flex;
+				.tishi{
+					width: 30rpx;
+					height: 30rpx;
+					margin: 26rpx 0 0 20rpx;
+					color: #000;
+				}
+			}
+		}
+	}
+</style>
+

+ 30 - 2
pages/monitor/index.vue

@@ -14,8 +14,14 @@
 			<view class="content" v-else>
 				<template v-for="(item,index) in listArr">
 					<equipItem @click.native="itemClick(item)" v-bind:item="item" :key="index">
-						<view class="" style="font-size:28rpx;color:#999">
-							设备ID : {{item.device_id}}
+						<view class="content_title">
+							<view class="" style="font-size:28rpx;color: #999;">
+								设备ID:{{item.device_id}}
+							</view>
+							<!-- @click.stop="modification(item)" -->
+							<view class="sim" v-if="item.sim" @click.stop="siminfo(item.sim)">
+								SIM卡
+							</view>
 						</view>
 						<view class="type-name">
 							<view class="iconfont icon-jiankong"></view>
@@ -126,6 +132,11 @@
 					scrollTop: 0,
 					duration: 500
 				})
+			},
+			siminfo(sim){
+				uni.navigateTo({
+					url: "./sim?simid="+sim
+				})
 			}
 		},
 		components: {
@@ -163,6 +174,23 @@
 		top: 130px;
 		width: 95%;
 		left: 2.5%;
+		.content_title {
+			display: flex;
+			justify-content: space-between;
+			.sim {
+				width: 126rpx;
+				color: #42b983;
+				height: 40rpx;
+				text-align: center;
+				border: 1rpx solid #42b983;
+				border-radius: 25rpx;
+				font-size: 24rpx;
+				line-height: 35rpx;
+				position: absolute;
+				top: 100rpx;
+				right: 20rpx;
+			}
+		}
 	}
 	.top {
 		position: fixed;

+ 186 - 0
pages/monitor/sim.vue

@@ -0,0 +1,186 @@
+<template>
+	<view>
+		<view class="status_bar"></view>
+		<view class="" style="position: relative;top: 44px;">
+			<view style="position: fixed;z-index: 100;width: 100%;">
+				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="sim卡详情"></uni-nav-bar>
+			</view>
+			<view class="sim_info">
+				<view class="sim_info_loding" v-if="loding">
+					<image src="../../static/images/cb/6286299.gif" mode="" class="img"></image>
+				</view>
+				<view class="sim_info_title">
+					<image :src="'http://www.hnyfwlw.com:8006/bigdata_app'+'/image/cb/sim1.png'" mode=""></image>
+					<p>sim卡查询{{"("+simnew+")"}}</p>
+				</view>
+				<view class="sim_info_text">
+					<p>运营商:{{siminfo.data.carrier}}</p>
+					<view class="sim_info_iccid" @click="copy(siminfo.data.iccid)">
+						<p>ICCID:{{siminfo.data.iccid}}</p>
+						<image src="../../static/images/ba167c2774bc7a63381dc3aaf1ef95c.png" mode="" class="tishi"></image>
+					</view>
+					<p>状态:{{state}}</p>
+					<p>套餐:{{siminfo.data.data_plan || siminfo.data.totalDataVolume}}MB</p>
+					<p v-if="simnew=='旧'">已用流量:{{siminfo.data.data_usage.toFixed(2)}}MB</p>
+					<p v-if="simnew=='新'">已用流量:{{siminfo.data.usedDataVolume.toFixed(2)}}MB</p>
+					<p v-if="simnew=='旧'">剩余流量:{{siminfo.data.data_balance.toFixed(2)}}MB</p>
+					<p v-if="simnew=='新'">剩余流量:{{(siminfo.data.totalDataVolume-siminfo.data.usedDataVolume).toFixed(2)}}MB</p>
+					<p v-if="simnew=='旧'">到期时间:{{siminfo.data.expiry_date|timeFormat()}}</p>
+					<p v-if="simnew=='新'">到期时间:{{siminfo.data.expireDate}}</p>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				iccid: '',
+				siminfo: {
+					data: {
+						carrier: "--",
+						account_status: "--",
+						data_plan: "--",
+						data_usage: "--",
+						data_balance: "--",
+						outbound_date: ""
+					}
+				},
+				state:"",
+				id: '',
+				simnew:"",
+				loding:false
+			}
+		},
+		methods: {
+			async simdata(data) { //获取sim信息
+				const res = await this.$myRequest({
+					url: '/api/api_gateway?method=forecast.send_control.sim_query',
+					data: {
+						iccid: data
+					}
+				})
+				if(res.code==1){//企鹏
+					this.simnew = "新"
+					switch (res.data.data.deviceStatus){
+						case "TEST_READY_NAME":
+							this.state = "可测试"
+							break;
+						case "INVENTORY_NAME":
+							this.state = "库存"
+							break;
+						case "ACTIVATION_READY_NAME":
+							this.state = "可激活"
+							break;
+						case "ACTIVATED_NAME":
+							this.state = "已激活"
+							break;
+						case "DEACTIVATED_NAME":
+							this.state = "已停卡"
+							break;
+						case "RETIRED_NAME":
+							this.state = "已销卡"
+							break;
+						case "PURGED_NAME":
+							this.state = "已清除"
+							break;
+					}
+				}else if(res.code==2){//合宙
+					var arr = ['未知', '测试期', '沉默期', '使用中', '停机', '停机保号', '预销号', '销号']
+					this.state = arr[res.data.data.account_status]
+					this.simnew = "旧"
+				}
+				this.siminfo = res.data
+				this.loding = false
+				console.log(this.siminfo.data)
+			},
+			clickLeft() {
+				uni.navigateBack({
+					delta: 1
+				})
+			},
+			copy(item){
+				uni.setClipboardData({
+				    data: item , 
+				    success: function () {
+				        console.log('success');
+				    }
+				});
+			},
+		},
+		onLoad(option) {
+			console.log(option.simid)
+			this.simdata(option.simid)
+			this.id = option.simid
+			this.loding = true
+		}
+	}
+</script>
+
+<style lang="scss">
+	.sim_info {
+		width: 90%;
+		position: absolute;
+		top: 54px;
+		left: 5%;
+		box-shadow: 0 0 10rpx #bcb9ca;
+		padding: 30rpx 20rpx 50rpx;
+		border-radius: 20rpx;
+		box-sizing: border-box;
+		
+		.sim_info_loding{
+			position: absolute;
+			top: 0;
+			left: 0;
+			width: 100%;
+			background-color: rgba(0,0,0,0.3);
+			border-radius: 20rpx;
+			height: 100%;
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+			.img{
+				width: 200rpx;
+				height: 175rpx;
+				
+			}
+		}
+		.sim_info_title {
+			width: 100%;
+			display: flex;
+
+			image {
+				width: 24rpx;
+				height: 32rpx;
+				margin: 6rpx 20rpx 0 0;
+			}
+
+			p {
+				font-weight: 700;
+			}
+		}
+
+		.sim_info_text {
+			width: 100%;
+			padding-left: 44rpx;
+
+			p {
+				height: 30rpx;
+				margin-top: 20rpx;
+				font-size: 26rpx;
+			}
+			.sim_info_iccid{
+				display: flex;
+				.tishi{
+					width: 30rpx;
+					height: 30rpx;
+					margin: 26rpx 0 0 20rpx;
+					color: #000;
+				}
+			}
+		}
+	}
+</style>
+

+ 1 - 1
pages/prevention/index.vue

@@ -70,7 +70,7 @@
 					data: {
 						device_type_id: 2,
 						page: this.page,
-						size: this.size,
+						page_size: 10,
 						device_status:this.device_status
 					}
 				})

+ 1 - 1
pages/prevention/search.vue

@@ -5,7 +5,7 @@
 			<view style="position: fixed;z-index: 100;background-color: #FFFFFF;height: 80px;">
 				<uni-nav-bar @clickLeft="clickLeft" left-icon="back" left-text="返回" title="设备搜索"></uni-nav-bar>
 				<view class="search_top_input">
-					<input type="text" value="" placeholder="请输入设备ID" v-model="imports" @input="searchinp" />
+					<input type="text" value="" placeholder="请输入设备ID或设备名称" v-model="imports" @input="searchinp" />
 					<u-icon name="search" size="40" class="icon" @click="search"></u-icon>
 				</view>
 			</view>

+ 34 - 14
pages/prevention/sim.vue

@@ -15,15 +15,18 @@
 				</view>
 				<view class="sim_info_text">
 					<p>运营商:{{siminfo.data.carrier}}</p>
-					<p>ICCID:{{iccid}}</p>
+					<view class="sim_info_iccid" @click="copy(iccid)">
+						<p>ICCID:{{iccid}}</p>
+						<image src="../../static/images/ba167c2774bc7a63381dc3aaf1ef95c.png" mode="" class="tishi"></image>
+					</view>
 					<p>状态:{{state}}</p>
 					<p>套餐:{{siminfo.data.data_plan || siminfo.data.totalDataVolume}}MB</p>
 					<p v-if="simnew=='旧'">已用流量:{{siminfo.data.data_usage.toFixed(2)}}MB</p>
 					<p v-if="simnew=='新'">已用流量:{{siminfo.data.usedDataVolume.toFixed(2)}}MB</p>
 					<p v-if="simnew=='旧'">剩余流量:{{siminfo.data.data_balance.toFixed(2)}}MB</p>
 					<p v-if="simnew=='新'">剩余流量:{{(siminfo.data.totalDataVolume-siminfo.data.usedDataVolume).toFixed(2)}}MB</p>
-					<p v-if="simnew=='旧'">到期时间:{{siminfo.data.outbound_date|timeFormat()}}</p>
-					<p v-if="simnew=='新'">到期时间:{{siminfo.data.ratePlanExpirationDate}}</p>
+					<p v-if="simnew=='旧'">到期时间:{{siminfo.data.expiry_date|timeFormat()}}</p>
+					<p v-if="simnew=='新'">到期时间:{{siminfo.data.expireDate}}</p>
 				</view>
 			</view>
 		</view>
@@ -76,31 +79,31 @@
 				if(res.code==1){//企鹏
 					this.simnew = "新"
 					switch (res.data.data.deviceStatus){
-						case "ACTIVATION_READY_NAME":
+						case "TEST_READY_NAME":
 							this.state = "可测试"
 							break;
-						case "TEST_READY_NAME":
+						case "INVENTORY_NAME":
 							this.state = "库存"
 							break;
-						case "INVENTORY_NAME":
+						case "ACTIVATION_READY_NAME":
 							this.state = "可激活"
 							break;
-						case "ACTIVATION_READY_NAME":
+						case "ACTIVATED_NAME":
 							this.state = "已激活"
 							break;
-						case "ACTIVATED_NAME":
+						case "DEACTIVATED_NAME":
 							this.state = "已停卡"
 							break;
-						case "DEACTIVATED_NAME":
+						case "RETIRED_NAME":
 							this.state = "已销卡"
 							break;
-						case "RETIRED_NAME":
+						case "PURGED_NAME":
 							this.state = "已清除"
 							break;
 					}
 				}else if(res.code==2){//合宙
 					var arr = ['未知', '测试期', '沉默期', '使用中', '停机', '停机保号', '预销号', '销号']
-					this.state = arr[res.data.data.active]
+					this.state = arr[res.data.data.account_status]
 					this.simnew = "旧"
 				}
 				this.siminfo = res.data
@@ -111,7 +114,15 @@
 				uni.navigateBack({
 					delta: 1
 				})
-			}
+			},
+			copy(item){
+				uni.setClipboardData({
+				    data: item , 
+				    success: function () {
+				        console.log('success');
+				    }
+				});
+			},
 		},
 		onLoad(option) {
 			console.log(option)
@@ -145,8 +156,8 @@
 			justify-content: space-around;
 			align-items: center;
 			.img{
-				width: 400rpx;
-				height: 350rpx;
+				width: 200rpx;
+				height: 175rpx;
 				
 			}
 		}
@@ -174,6 +185,15 @@
 				margin-top: 20rpx;
 				font-size: 26rpx;
 			}
+			.sim_info_iccid{
+				display: flex;
+				.tishi{
+					width: 30rpx;
+					height: 30rpx;
+					margin: 26rpx 0 0 20rpx;
+					color: #000;
+				}
+			}
 		}
 	}
 </style>

binární
static/images/ba167c2774bc7a63381dc3aaf1ef95c.png


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/common/vendor.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/equip-set.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/cbd/equip-set/statistics.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/index/search.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/cb/sim/sim.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/equipment.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/search.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/environment/sim.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/index.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
unpackage/dist/dev/.sourcemap/mp-weixin/pages/monitor/sim.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/index.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/search.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/pages/prevention/sim.js.map


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/.sourcemap/mp-weixin/uview-ui/components/u-form-item/u-form-item.js.map


+ 4 - 3
unpackage/dist/dev/mp-weixin/app.json

@@ -62,7 +62,9 @@
     "pages/cb/xy2.0/particulars",
     "pages/cb/xy2.0/historydatas",
     "pages/cb/cbd/equip-set/results",
-    "pages/cb/cbd/equip-set/manualinput"
+    "pages/cb/cbd/equip-set/manualinput",
+    "pages/environment/sim",
+    "pages/monitor/sim"
   ],
   "subPackages": [],
   "window": {
@@ -102,6 +104,5 @@
       }
     ]
   },
-  "usingComponents": {},
-  "sitemapLocation": "sitemap.json"
+  "usingComponents": {}
 }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 7 - 7
unpackage/dist/dev/mp-weixin/common/vendor.js


+ 2 - 2
unpackage/dist/dev/mp-weixin/components/bazaar-city_list/index.json

@@ -1,4 +1,4 @@
 {
-  "component": true,
-  "usingComponents": {}
+  "usingComponents": {},
+  "component": true
 }

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/components/uni-nav-bar/uni-nav-bar.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/equip-set.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/cbd/equip-set/statistics.wxml


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

@@ -157,6 +157,30 @@
   margin-left: -64rpx;
   margin-top: -21rpx;
 }
+.shuju_table {
+  position: absolute;
+  top: 1510rpx;
+  width: 90%;
+  left: 5%;
+  box-shadow: 0 0 10rpx #bcb9ca;
+  padding-top: 20rpx;
+  box-sizing: border-box;
+  margin-bottom: 40rpx;
+}
+.shuju_table .table ._tr {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.shuju_table .table .th,
+.shuju_table .table .td {
+  padding: 5rpx;
+  width: 240rpx;
+  text-align: center;
+  height: 52rpx;
+  line-height: 52rpx;
+  font-size: 28rpx !important;
+}
 .condition {
   position: absolute;
   top: 600rpx;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/index/search.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/index/search.wxss

@@ -57,7 +57,7 @@
 .prevents {
   width: 100%;
   position: absolute;
-  top: 90px;
+  top: 100px;
 }
 .prevents .prevents_item {
   width: 95%;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/cb/sim/sim.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/equipment.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/equipment.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/environment/search.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 34 - 0
unpackage/dist/dev/mp-weixin/pages/environment/sim.js


+ 8 - 0
unpackage/dist/dev/mp-weixin/pages/environment/sim.json

@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "环境监测sim卡信息",
+  "enablePullDownRefresh": false,
+  "navigationStyle": "custom",
+  "usingComponents": {
+    "uni-nav-bar": "/components/uni-nav-bar/uni-nav-bar"
+  }
+}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/environment/sim.wxml


+ 92 - 0
unpackage/dist/dev/mp-weixin/pages/environment/sim.wxss

@@ -0,0 +1,92 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.sim_info {
+  width: 90%;
+  position: absolute;
+  top: 54px;
+  left: 5%;
+  box-shadow: 0 0 10rpx #bcb9ca;
+  padding: 30rpx 20rpx 50rpx;
+  border-radius: 20rpx;
+  box-sizing: border-box;
+}
+.sim_info .sim_info_loding {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  background-color: rgba(0, 0, 0, 0.3);
+  border-radius: 20rpx;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-justify-content: space-around;
+          justify-content: space-around;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+          align-items: center;
+}
+.sim_info .sim_info_loding .img {
+  width: 200rpx;
+  height: 175rpx;
+}
+.sim_info .sim_info_title {
+  width: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.sim_info .sim_info_title image {
+  width: 24rpx;
+  height: 32rpx;
+  margin: 6rpx 20rpx 0 0;
+}
+.sim_info .sim_info_title ._p {
+  font-weight: 700;
+}
+.sim_info .sim_info_text {
+  width: 100%;
+  padding-left: 44rpx;
+}
+.sim_info .sim_info_text ._p {
+  height: 30rpx;
+  margin-top: 20rpx;
+  font-size: 26rpx;
+}
+.sim_info .sim_info_text .sim_info_iccid {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.sim_info .sim_info_text .sim_info_iccid .tishi {
+  width: 30rpx;
+  height: 30rpx;
+  margin: 26rpx 0 0 20rpx;
+  color: #000;
+}
+

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/monitor/index.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/monitor/index.wxml


+ 21 - 0
unpackage/dist/dev/mp-weixin/pages/monitor/index.wxss

@@ -54,6 +54,27 @@ image {
   width: 95%;
   left: 2.5%;
 }
+.content .content_title {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-box-pack: justify;
+  -webkit-justify-content: space-between;
+          justify-content: space-between;
+}
+.content .content_title .sim {
+  width: 126rpx;
+  color: #42b983;
+  height: 40rpx;
+  text-align: center;
+  border: 1rpx solid #42b983;
+  border-radius: 25rpx;
+  font-size: 24rpx;
+  line-height: 35rpx;
+  position: absolute;
+  top: 100rpx;
+  right: 20rpx;
+}
 .top {
   position: fixed;
   right: 30px;

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 34 - 0
unpackage/dist/dev/mp-weixin/pages/monitor/sim.js


+ 8 - 0
unpackage/dist/dev/mp-weixin/pages/monitor/sim.json

@@ -0,0 +1,8 @@
+{
+  "navigationBarTitleText": "监控SIM卡",
+  "enablePullDownRefresh": false,
+  "navigationStyle": "custom",
+  "usingComponents": {
+    "uni-nav-bar": "/components/uni-nav-bar/uni-nav-bar"
+  }
+}

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 0
unpackage/dist/dev/mp-weixin/pages/monitor/sim.wxml


+ 92 - 0
unpackage/dist/dev/mp-weixin/pages/monitor/sim.wxss

@@ -0,0 +1,92 @@
+@charset "UTF-8";
+/**
+ * 这里是uni-app内置的常用样式变量
+ *
+ * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量
+ * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App
+ *
+ */
+/**
+ * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能
+ *
+ * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件
+ */
+/* 颜色变量 */
+/* 行为相关颜色 */
+/* 文字基本颜色 */
+/* 背景颜色 */
+/* 边框颜色 */
+/* 尺寸变量 */
+/* 文字尺寸 */
+/* 图片尺寸 */
+/* Border Radius */
+/* 水平间距 */
+/* 垂直间距 */
+/* 透明度 */
+/* 文章场景相关 */
+.sim_info {
+  width: 90%;
+  position: absolute;
+  top: 54px;
+  left: 5%;
+  box-shadow: 0 0 10rpx #bcb9ca;
+  padding: 30rpx 20rpx 50rpx;
+  border-radius: 20rpx;
+  box-sizing: border-box;
+}
+.sim_info .sim_info_loding {
+  position: absolute;
+  top: 0;
+  left: 0;
+  width: 100%;
+  background-color: rgba(0, 0, 0, 0.3);
+  border-radius: 20rpx;
+  height: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+  -webkit-justify-content: space-around;
+          justify-content: space-around;
+  -webkit-box-align: center;
+  -webkit-align-items: center;
+          align-items: center;
+}
+.sim_info .sim_info_loding .img {
+  width: 200rpx;
+  height: 175rpx;
+}
+.sim_info .sim_info_title {
+  width: 100%;
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.sim_info .sim_info_title image {
+  width: 24rpx;
+  height: 32rpx;
+  margin: 6rpx 20rpx 0 0;
+}
+.sim_info .sim_info_title ._p {
+  font-weight: 700;
+}
+.sim_info .sim_info_text {
+  width: 100%;
+  padding-left: 44rpx;
+}
+.sim_info .sim_info_text ._p {
+  height: 30rpx;
+  margin-top: 20rpx;
+  font-size: 26rpx;
+}
+.sim_info .sim_info_text .sim_info_iccid {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.sim_info .sim_info_text .sim_info_iccid .tishi {
+  width: 30rpx;
+  height: 30rpx;
+  margin: 26rpx 0 0 20rpx;
+  color: #000;
+}
+

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 5 - 5
unpackage/dist/dev/mp-weixin/pages/prevention/index.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/prevention/search.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 2 - 2
unpackage/dist/dev/mp-weixin/pages/prevention/sim.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/pages/prevention/sim.wxml


+ 13 - 2
unpackage/dist/dev/mp-weixin/pages/prevention/sim.wxss

@@ -52,8 +52,8 @@
           align-items: center;
 }
 .sim_info .sim_info_loding .img {
-  width: 400rpx;
-  height: 350rpx;
+  width: 200rpx;
+  height: 175rpx;
 }
 .sim_info .sim_info_title {
   width: 100%;
@@ -78,4 +78,15 @@
   margin-top: 20rpx;
   font-size: 26rpx;
 }
+.sim_info .sim_info_text .sim_info_iccid {
+  display: -webkit-box;
+  display: -webkit-flex;
+  display: flex;
+}
+.sim_info .sim_info_text .sim_info_iccid .tishi {
+  width: 30rpx;
+  height: 30rpx;
+  margin: 26rpx 0 0 20rpx;
+  color: #000;
+}
 

binární
unpackage/dist/dev/mp-weixin/static/images/ba167c2774bc7a63381dc3aaf1ef95c.png


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-action-sheet/u-action-sheet.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-badge/u-badge.wxml

@@ -1 +1 @@
-<block wx:if="{{show}}"><view class="{{['u-badge data-v-2b1712d8',isDot?'u-badge-dot':'',size=='mini'?'u-badge-mini':'',type?'u-badge--bg--'+type:'']}}" style="{{$root.s0}}">{{''+showText+''}}</view></block>
+<block wx:if="{{show}}"><view class="{{['u-badge','data-v-2b1712d8',isDot?'u-badge-dot':'',size=='mini'?'u-badge-mini':'',type?'u-badge--bg--'+type:'']}}" style="{{$root.s0}}">{{''+showText+''}}</view></block>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-button/u-button.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-calendar/u-calendar.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-checkbox/u-checkbox.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-collapse-item/u-collapse-item.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-field/u-field.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-form-item/u-form-item.js


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-form-item/u-form-item.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-icon/u-icon.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-input/u-input.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-line-progress/u-line-progress.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-loading/u-loading.wxml

@@ -1 +1 @@
-<block wx:if="{{show}}"><view class="{{['u-loading data-v-2c9bf24a',mode=='circle'?'u-loading-circle':'u-loading-flower']}}" style="{{$root.s0}}"></view></block>
+<block wx:if="{{show}}"><view class="{{['u-loading','data-v-2c9bf24a',mode=='circle'?'u-loading-circle':'u-loading-flower']}}" style="{{$root.s0}}"></view></block>

+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-mask/u-mask.wxml

@@ -1 +1 @@
-<view class="{{['u-mask data-v-4bfa3b00',(zoom)?'u-mask-zoom':'',(show)?'u-mask-show':'']}}" style="{{$root.s0}}" hover-stop-propagation="{{true}}" data-event-opts="{{[['tap',[['click',['$event']]]],['touchmove',[['e0',['$event']]]]]}}" bindtap="__e" catchtouchmove="__e"><slot></slot></view>
+<view class="{{['u-mask','data-v-4bfa3b00',(zoom)?'u-mask-zoom':'',(show)?'u-mask-show':'']}}" style="{{$root.s0}}" hover-stop-propagation="{{true}}" data-event-opts="{{[['tap',[['click',['$event']]]],['touchmove',[['e0',['$event']]]]]}}" bindtap="__e" catchtouchmove="__e"><slot></slot></view>

Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-popup/u-popup.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-slider/u-slider.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-swiper/u-swiper.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-switch/u-switch.wxml


Rozdílová data souboru nebyla zobrazena, protože soubor je příliš velký
+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-tabs/u-tabs.wxml


+ 1 - 1
unpackage/dist/dev/mp-weixin/uview-ui/components/u-toast/u-toast.wxml

@@ -1 +1 @@
-<view class="{{['u-toast data-v-413e7fe0',isShow?'u-show':'','u-type-'+tmpConfig.type,'u-position-'+tmpConfig.position]}}" style="{{'z-index:'+(uZIndex)+';'}}"><view class="u-icon-wrap data-v-413e7fe0"><block wx:if="{{tmpConfig.icon}}"><u-icon class="u-icon data-v-413e7fe0" vue-id="32dc05b4-1" name="{{iconName}}" size="{{30}}" color="{{tmpConfig.type}}" bind:__l="__l"></u-icon></block></view><text class="u-text data-v-413e7fe0">{{tmpConfig.title}}</text></view>
+<view class="{{['u-toast','data-v-413e7fe0',isShow?'u-show':'','u-type-'+tmpConfig.type,'u-position-'+tmpConfig.position]}}" style="{{'z-index:'+(uZIndex)+';'}}"><view class="u-icon-wrap data-v-413e7fe0"><block wx:if="{{tmpConfig.icon}}"><u-icon class="u-icon data-v-413e7fe0" vue-id="32dc05b4-1" name="{{iconName}}" size="{{30}}" color="{{tmpConfig.type}}" bind:__l="__l"></u-icon></block></view><text class="u-text data-v-413e7fe0">{{tmpConfig.title}}</text></view>