소스 검색

金凤:电力监测系统

tiandewen 1 년 전
부모
커밋
0c301adcf9
100개의 변경된 파일2846개의 추가작업 그리고 82개의 파일을 삭제
  1. 23 0
      common/vmeitime-http/api.js
  2. 104 0
      components/navbar/navbar.vue
  3. 47 1
      components/t-p-jinfeng/t-p-jinfeng.vue
  4. 24 1
      components/t-p-yangchangwan/t-p-yangchangwan.vue
  5. 2 2
      manifest.json
  6. 53 8
      pages.json
  7. 1 1
      pages/index/news/news_list/news_list.vue
  8. 1 1
      pages/my/login/login.vue
  9. BIN
      pages/production/jinfeng/substation/icon/border.png
  10. BIN
      pages/production/jinfeng/substation/icon/border_right.png
  11. BIN
      pages/production/jinfeng/substation/icon/canshu.png
  12. BIN
      pages/production/jinfeng/substation/icon/dianji.png
  13. BIN
      pages/production/jinfeng/substation/icon/fengshan_border.png
  14. BIN
      pages/production/jinfeng/substation/icon/fengshan_guan.png
  15. BIN
      pages/production/jinfeng/substation/icon/fengshan_kai.gif
  16. BIN
      pages/production/jinfeng/substation/img/top.png
  17. 238 0
      pages/production/jinfeng/substation/substation.vue
  18. BIN
      pages/production/jinfeng/zidonghua_list/img/glyq.jpg
  19. BIN
      pages/production/jinfeng/zidonghua_list/img/icon.png
  20. BIN
      pages/production/jinfeng/zidonghua_list/img/jkrc.jpg
  21. BIN
      pages/production/jinfeng/zidonghua_list/img/psxt.jpg
  22. BIN
      pages/production/jinfeng/zidonghua_list/img/substation.jpg
  23. BIN
      pages/production/jinfeng/zidonghua_list/img/support.jpg
  24. BIN
      pages/production/jinfeng/zidonghua_list/img/tfgl.jpg
  25. BIN
      pages/production/jinfeng/zidonghua_list/img/tsj.jpg
  26. BIN
      pages/production/jinfeng/zidonghua_list/img/yfzd.jpg
  27. BIN
      pages/production/jinfeng/zidonghua_list/img/zys.jpg
  28. 550 0
      pages/production/jinfeng/zidonghua_list/zidonghua_list.vue
  29. 57 11
      pages/production/unified_automation_system/belt_conveyor/belt_conveyor.vue
  30. 16 8
      pages/production/unified_automation_system/compressed_air/compressed_air.vue
  31. 15 6
      pages/production/unified_automation_system/drainage/drainage.vue
  32. 188 0
      pages/production/unified_automation_system/hydrological_monitoring/hydrological_monitoring.vue
  33. BIN
      pages/production/unified_automation_system/hydrological_monitoring/icon/icon.png
  34. 141 0
      pages/production/unified_automation_system/hydrological_monitoring/query/query.vue
  35. 200 0
      pages/production/unified_automation_system/hydrological_monitoring/query_detail/query_detail.vue
  36. 119 22
      pages/production/unified_automation_system/support/support.vue
  37. 15 6
      pages/production/unified_automation_system/ventilation/ventilation.vue
  38. 1 1
      pages/production/video_monitor_app/playback/playback.vue
  39. 12 0
      uniCloud-aliyun/database/newQuery.jql
  40. 1 0
      uniCloud-aliyun/database/opendb-admin-menus.schema.json
  41. 1 0
      uniCloud-aliyun/database/opendb-app-list.schema.json
  42. 1 0
      uniCloud-aliyun/database/opendb-verify-codes.schema.json
  43. 1 0
      uniCloud-aliyun/database/uni-id-log.schema.json
  44. 1 0
      uniCloud-aliyun/database/uni-id-permissions.schema.json
  45. 1 0
      uniCloud-aliyun/database/uni-id-roles.schema.json
  46. 1 0
      uniCloud-aliyun/database/uni-id-users.schema.json
  47. 35 0
      uni_modules/uni-data-select/changelog.md
  48. 517 0
      uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue
  49. 85 0
      uni_modules/uni-data-select/package.json
  50. 8 0
      uni_modules/uni-data-select/readme.md
  51. 248 0
      uni_modules/uni-portal/uniCloud/database/opendb-app-publish.schema.json
  52. 125 0
      uni_modules/uni-upgrade-center/uniCloud/database/opendb-app-versions.schema.json
  53. 1 1
      unpackage/dist/build/app-plus/__uniapppicker.js
  54. 2 2
      unpackage/dist/build/app-plus/app-config-service.js
  55. 4 4
      unpackage/dist/build/app-plus/app-service.js
  56. 1 1
      unpackage/dist/build/app-plus/app-view.js
  57. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/01.png
  58. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/02.png
  59. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/03.png
  60. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/04.png
  61. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/05.png
  62. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/06.png
  63. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/07.png
  64. BIN
      unpackage/dist/build/app-plus/components/t-i-common/icon/08.png
  65. 0 0
      unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/bg_img.jpg
  66. 0 0
      unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/day.png
  67. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/ningdongyunying.png
  68. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/saoma.png
  69. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/search.png
  70. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/zaoquan.png
  71. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar/icon/day.png
  72. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar/icon/ningdongyunying.png
  73. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar/icon/saoma.png
  74. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar/icon/search.png
  75. BIN
      unpackage/dist/build/app-plus/components/t-i-navbar/icon/zaoquan.png
  76. BIN
      unpackage/dist/build/app-plus/components/t-i-notice-2/icon/bg_img.jpg
  77. 1 1
      unpackage/dist/build/app-plus/manifest.json
  78. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/glyq.jpg
  79. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/icon.png
  80. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/jkrc.jpg
  81. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/psxt.jpg
  82. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/support.jpg
  83. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/tfgl.jpg
  84. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/tsj.jpg
  85. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/yfzd.jpg
  86. BIN
      unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/zys.jpg
  87. BIN
      unpackage/dist/build/app-plus/pages/production/unified_automation_system/hydrological_monitoring/icon/icon.png
  88. BIN
      unpackage/dist/build/app-plus/pages/tabbar/index/icon/new_detail.png
  89. BIN
      unpackage/dist/build/app-plus/pages/tabbar/index/icon/search.png
  90. BIN
      unpackage/dist/build/app-plus/pages/tabbar/index/icon/weather.png
  91. 1 1
      unpackage/dist/build/app-plus/view.css
  92. 2 2
      unpackage/dist/build/app-plus/view.umd.min.js
  93. 2 2
      unpackage/dist/build/h5/index.html
  94. 0 0
      unpackage/dist/build/h5/static/img/nav_1.4267132e.png
  95. 0 0
      unpackage/dist/build/h5/static/img/nav_2.6e33ccad.png
  96. 0 0
      unpackage/dist/build/h5/static/img/nav_3.c93b823e.png
  97. 0 0
      unpackage/dist/build/h5/static/img/section.2c8741d4.png
  98. BIN
      unpackage/dist/build/h5/static/img/substation.11459dc6.jpg
  99. BIN
      unpackage/dist/build/h5/static/img/top.d472e1bc.png
  100. 0 0
      unpackage/dist/build/app-plus/pages/tabbar/index/icon/top_bg.png

+ 23 - 0
common/vmeitime-http/api.js

@@ -1020,4 +1020,27 @@ export const qr_code_scanningRecord = (data) => {
 		url: '/qr_code/scanningRecord',
 		data,
 	})
+}
+
+// 羊场湾-水文监测
+export const hydrology_realtime_record = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/hydrology/realtime_record',
+		data,
+	})
+}
+export const hydrology_query_option = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/hydrology/query_option',
+		data,
+	})
+}
+export const hydrology_query_chart = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/hydrology/query_chart',
+		data,
+	})
 }

+ 104 - 0
components/navbar/navbar.vue

@@ -0,0 +1,104 @@
+<template>
+	<view>
+		<view class="navbar">
+			<view class="status_bar"></view>
+
+			<view class="box">
+				<view class="left" @click="navbar_back()">
+					<uni-icons type="arrowleft" color="#fff" size="26"></uni-icons>
+				</view>
+				<view class="title">
+					<slot name="title"></slot>
+				</view>
+				<view class="right" @click="navbar_right()">
+					<slot name="icon"></slot>
+				</view>
+			</view>
+		</view>
+		<view class="status_bar"></view>
+		<view style="height: 88rpx;"></view>
+		
+		<!-- 使用 -->
+		<!-- <navbar @click_right="query()">
+			<template #title>
+				水文监测
+			</template>
+			<template #icon>
+				<image src="./icon/icon.png" mode=""></image>
+			</template>
+		</navbar> -->
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "navbar",
+		props: [
+			"icon"
+		],
+		data() {
+			return {
+
+			};
+		},
+		methods:{
+			navbar_back() {
+				uni.navigateBack()
+			},
+			navbar_right(){
+				this.$emit("click_right")
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	// 标题栏
+	.navbar {
+		z-index: 999;
+		width: 750rpx;
+		position: fixed;
+		top: 0;
+		left: 0;
+		background-color: #009FE8;
+
+		color: #FFFFFF;
+
+		.box {
+			background-color: #009FE8;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+
+			height: 88rpx;
+
+			.left {
+				width: 80rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				text-align: center;
+			}
+
+			.title {
+				width: 500rpx;
+				text-align: center;
+				font-size: 36rpx;
+				height: 88rpx;
+				line-height: 88rpx;
+				font-weight: 500;
+
+				white-space: nowrap;
+				text-overflow: ellipsis;
+				overflow: hidden;
+			}
+
+			.right {
+				width: 80rpx;
+				height: 88rpx;
+				text-align: left;
+				display: flex;
+				align-items: center;
+			}
+		}
+	}
+</style>

+ 47 - 1
components/t-p-jinfeng/t-p-jinfeng.vue

@@ -36,6 +36,46 @@
 				<view class="tip">工业视频</view>
 			</view>
 		</view>
+		<view class="item_box" style="background-color: #2873FF;" @click="go_zdhxt('psxt')">
+			<view class="img">
+				<image src="../t-p-icon/icon_9.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">排水系统</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #8BC8DA;" @click="go_zdhxt('yfzd')">
+			<view class="img">
+				<image src="../t-p-icon/icon_10.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">压风系统</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #56CA66;" @click="go_zdhxt('tfgl')">
+			<view class="img">
+				<image src="../t-p-icon/icon_5.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">通风管理</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #2C3E50;" @click="go_zdhxt('zys')">
+			<view class="img">
+				<image src="../t-p-icon/icon_8.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">主运输</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #E74C3C;" @click="go_zdhxt('dljc')">
+			<view class="img">
+				<image src="../t-p-icon/icon_7.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">电力监测</view>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -96,7 +136,13 @@
 				uni.navigateTo({
 					url:"../../production/video_monitor_app/video_monitor_app?mine_code=" + this.mine_code
 				})
-			}
+			},
+			// 自动化系统列表
+			go_zdhxt(zdhxt) {
+				uni.navigateTo({
+					url: "../../production/jinfeng/zidonghua_list/zidonghua_list?zdhxt=" + zdhxt
+				})
+			},
 		}
 	}
 </script>

+ 24 - 1
components/t-p-yangchangwan/t-p-yangchangwan.vue

@@ -72,6 +72,24 @@
 				<view class="tip">二分区</view>
 			</view>
 		</view>
+		<view class="item_box" style="background-color: #80C3FD;" @click="go_hydrological_monitoring('1')">
+			<view class="img">
+				<image src="../t-p-icon/icon_11.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">水文监测</view>
+				<view class="tip">一分区</view>
+			</view>
+		</view>
+		<view class="item_box" style="background-color: #80C3EE;" @click="go_hydrological_monitoring('2')">
+			<view class="img">
+				<image src="../t-p-icon/icon_11.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">水文监测</view>
+				<view class="tip">二分区</view>
+			</view>
+		</view>
 		
 	
 		
@@ -109,9 +127,14 @@
 			// 视频监控
 			go_video_monitor(mine_code){
 				uni.navigateTo({
-					url:"../../production/video_monitor/video_monitor?mine_code=" + mine_code
+					url:"../../production/video_monitor_app/video_monitor_app?mine_code=" + mine_code
 				})
 			},
+			go_hydrological_monitoring(mine){
+				uni.navigateTo({
+					url: "../../production/unified_automation_system/hydrological_monitoring/hydrological_monitoring?mine="+mine,
+				})
+			}
 		}
 	}
 </script>

+ 2 - 2
manifest.json

@@ -1,8 +1,8 @@
 {
-    "name" : "宁杰安",
+    "name" : "宁",
     "appid" : "__UNI__5DF9CB2",
     "description" : "",
-    "versionName" : "1.0.19",
+    "versionName" : "2.0.0",
     "versionCode" : "100",
     "transformPx" : false,
     /* 5+App特有相关 */

+ 53 - 8
pages.json

@@ -1070,9 +1070,54 @@
             }
             
         }
+        ,{
+            "path" : "pages/production/unified_automation_system/hydrological_monitoring/hydrological_monitoring",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "实时数据",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/unified_automation_system/hydrological_monitoring/query/query",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "实时数据查询",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/unified_automation_system/hydrological_monitoring/query_detail/query_detail",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "实时数据查询",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/jinfeng/zidonghua_list/zidonghua_list",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/jinfeng/substation/substation",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
     ],
 	"globalStyle": {
-		// "navigationStyle":"custom",
+		"navigationStyle":"custom",
 		"navigationBarTextStyle": "white",
 		"navigationBarTitleText": " ",
 		"navigationBarBackgroundColor": "#009FE8",
@@ -1086,13 +1131,13 @@
 				"iconPath": "static/tabbar/home.png",
 				"selectedIconPath": "static/tabbar/home_active.png"
 			},
-			// {
-			// 	"text": "通讯录",
-			// 	// "text": "发现",
-			// 	"pagePath": "pages/tabbar/origanization/origanization",
-			// 	"iconPath": "static/tabbar/origanization.png",
-			// 	"selectedIconPath": "static/tabbar/origanization_active.png"
-			// },
+			{
+				"text": "通讯录",
+				// "text": "发现",
+				"pagePath": "pages/tabbar/origanization/origanization",
+				"iconPath": "static/tabbar/origanization.png",
+				"selectedIconPath": "static/tabbar/origanization_active.png"
+			},
 			{
 				"text": "工作台",
 				"pagePath": "pages/tabbar/workbench/workbench",

+ 1 - 1
pages/index/news/news_list/news_list.vue

@@ -13,7 +13,7 @@
 			};
 		},
 		onLoad(option) {
-			this.href = "http://webdevelop.nxjiewei.com/assets/html/zhks-quankuang/news?token=" + uni.getStorageSync('Authorization') + "&mine_code=" + option.mine_code
+			this.href = "http://anstatic.nxmy.com:8011/assets/html/zhks-quankuang/news?token=" + uni.getStorageSync('Authorization') + "&mine_code=" + option.mine_code
 		}
 	}
 </script>

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

@@ -7,7 +7,7 @@
 		</view>
 		<view class="title">
 			<text v-if="mine_code == 'ningdongyunying'">E信管理</text>
-			<text v-if="mine_code == 'ningmeijituan'">宁煤安全</text>
+			<text v-if="mine_code == 'ningmeijituan'">宁杰安</text>
 			<text v-if="mine_code == 'zaoquan'">枣泉煤矿</text>
 			<text v-if="mine_code == 'qingshuiying'">清水营煤矿</text>
 			<text v-if="mine_code == 'wuyegongsi'">智慧物业</text>

BIN
pages/production/jinfeng/substation/icon/border.png


BIN
pages/production/jinfeng/substation/icon/border_right.png


BIN
pages/production/jinfeng/substation/icon/canshu.png


BIN
pages/production/jinfeng/substation/icon/dianji.png


BIN
pages/production/jinfeng/substation/icon/fengshan_border.png


BIN
pages/production/jinfeng/substation/icon/fengshan_guan.png


BIN
pages/production/jinfeng/substation/icon/fengshan_kai.gif


BIN
pages/production/jinfeng/substation/img/top.png


+ 238 - 0
pages/production/jinfeng/substation/substation.vue

@@ -0,0 +1,238 @@
+<template>
+	<view>
+		<view class="switch">
+			<view class="img">
+				<image src="./img/top.png" mode="widthFix"></image>
+			</view>
+			<view class="content" v-if="data">
+				<view class="item" v-for="(item,index) in data.switch">
+					<view class="box" :style="{backgroundColor: item.value?'#00FD05':''}"></view>
+				</view>
+			</view>
+		</view>
+
+		<view class="table">
+			<view class="title">
+				<view class="icon">
+					<image src="./icon/canshu.png" mode=""></image>
+				</view>
+				<view class="text">运行参数</view>
+			</view>
+
+			<uni-table border emptyText="暂无更多数据">
+				<uni-tr>
+					<uni-th align="center" style="vertical-align: middle;">·</uni-th>
+					<uni-th align="center" style="vertical-align: middle;" v-for="(item,index) in data.power_parameter">{{item.label}}</uni-th>
+				</uni-tr>
+
+				<uni-tr v-for="(item,index) in data.power_parameter[0].data">
+					<uni-td align="center" style="vertical-align: middle;">{{item.label}}</uni-td>
+					<template v-for="(item_2,index_2) in data.power_parameter">
+						<template v-for="(item_3,index_3) in item_2.data" v-if="index_3 == 0">
+							<uni-td align="center" style="vertical-align: middle;">{{item_3.value}}</uni-td>
+						</template>
+					</template>
+				</uni-tr>
+
+			</uni-table>
+
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				mine_code: "",
+				system_type: "",
+
+				// 数据刷新定时器
+				data_timer: {},
+				data: null
+			}
+		},
+		onLoad(option) {
+			uni.setNavigationBarTitle({
+				title: option.name
+			})
+			this.mine_code = option.mine_code
+			this.system_type = option.system_type
+
+			this.get_data()
+			this.data_timer = setInterval(()=>{
+				this.get_data()
+			},5000)
+		},
+		onUnload() {
+			clearInterval(this.data_timer)
+		},
+		methods: {
+			get_data() {
+				if (this.mine_code == "jinfeng") {
+					this.$api.opcdata_getTurboData({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res) => {
+						this.data = res.data.sys_point
+						console.log(this.data)
+					})
+				} else {
+					this.$api.unified_automation_system({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res) => {
+						this.data = res.data
+					})
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #0B163B;
+		box-sizing: border-box;
+		padding: 30rpx 10rpx;
+	}
+
+	.switch {
+		position: relative;
+
+		.img {
+			text-align: center;
+
+			image {
+				width: 640rpx;
+			}
+		}
+
+		.content {
+			.item {
+				position: absolute;
+				top: 168rpx;
+				left: 50rpx;
+
+				.box {
+					width: 34rpx;
+					height: 82rpx;
+					background-color: red;
+				}
+			}
+
+			.item:nth-child(2) {
+				left: 100rpx;
+			}
+
+			.item:nth-child(3) {
+				left: 148rpx;
+			}
+
+			.item:nth-child(4) {
+				left: 200rpx;
+			}
+
+			.item:nth-child(5) {
+				left: 262rpx;
+			}
+
+			.item:nth-child(6) {
+				left: 326rpx;
+			}
+
+			.item:nth-child(7) {
+				left: 390rpx;
+			}
+
+			.item:nth-child(8) {
+				left: 454rpx;
+			}
+
+			.item:nth-child(9) {
+				left: 534rpx;
+			}
+
+			.item:nth-child(10) {
+				left: 590rpx;
+			}
+
+			.item:nth-child(11) {
+				left: 648rpx;
+			}
+		}
+	}
+
+	.table {
+		margin-top: 30rpx;
+
+		.title {
+			margin: 30rpx auto;
+			display: flex;
+			justify-content: center;
+			align-items: center;
+
+			width: 230rpx;
+			height: 60rpx;
+			background-image: url(./icon/border.png);
+			background-size: 100% 100%;
+			background-repeat: no-repeat;
+
+			.icon {
+				margin-right: 10rpx;
+
+				image {
+					width: 30rpx;
+					height: 30rpx;
+				}
+			}
+
+			.text {
+				color: #00FFF6;
+				font-size: 30rpx;
+			}
+		}
+
+		/deep/.uni-table {
+			background-color: #06102B;
+			min-width: 2600rpx !important;
+			.uni-table-th {
+				color: #3271A4;
+			}
+
+			.uni-table-tr {
+				.uni-table-th:first-child {
+					position: fixed;
+					width: 140rpx;
+					background-color: #06102B;
+				}
+				.uni-table-td:first-child {
+					color: #3271A4;
+					position: fixed;
+					width: 140rpx;
+					background-color: #06102B;
+				}
+				
+				.uni-table-th:nth-child(2) {
+					padding-left: 140rpx;
+				}
+				.uni-table-td:nth-child(2) {
+					padding-left: 140rpx;
+				}
+			}
+
+			.uni-table-td {
+				color: #EDE20D;
+				width: 240rpx;
+			}
+
+			.table--border {
+				border-color: #3271A4;
+			}
+		}
+
+		/deep/.table--border {
+			border-color: #3271A4;
+		}
+	}
+</style>

BIN
pages/production/jinfeng/zidonghua_list/img/glyq.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/icon.png


BIN
pages/production/jinfeng/zidonghua_list/img/jkrc.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/psxt.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/substation.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/support.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/tfgl.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/tsj.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/yfzd.jpg


BIN
pages/production/jinfeng/zidonghua_list/img/zys.jpg


+ 550 - 0
pages/production/jinfeng/zidonghua_list/zidonghua_list.vue

@@ -0,0 +1,550 @@
+<template>
+	<view>
+		<!-- 头图 -->
+		<view class="top_img">
+			<!-- 通风管理 -->
+			<view v-if="zdhxt == 'tfgl'">
+				<image src="./img/tfgl.jpg" mode=""></image>
+			</view>
+			<!-- 排水系统 -->
+			<view v-if="zdhxt == 'psxt'">
+				<image src="./img/psxt.jpg" mode=""></image>
+			</view>
+			<!-- 压风制氮 -->
+			<view v-if="zdhxt == 'yfzd'">
+				<image src="./img/yfzd.jpg" mode=""></image>
+			</view>
+			<!-- 主运输 -->
+			<view v-if="zdhxt == 'zys'">
+				<image src="./img/zys.jpg" mode=""></image>
+			</view>
+			<!-- 提升机 -->
+			<view v-if="zdhxt == 'tsj'">
+				<image src="./img/tsj.jpg" mode=""></image>
+			</view>
+			<!-- 架空人车 -->
+			<view v-if="zdhxt == 'jkrc'">
+				<image src="./img/jkrc.jpg" mode=""></image>
+			</view>
+			<!-- 锅炉烟气 -->
+			<view v-if="zdhxt == 'glyq'">
+				<image src="./img/glyq.jpg" mode=""></image>
+			</view>
+			<!-- 电液控 -->
+			<view v-if="zdhxt == 'support'">
+				<image src="./img/support.jpg" mode=""></image>
+			</view>
+
+			<!-- 电力监测 -->
+			<view v-if="zdhxt == 'dljc'">
+				<image src="./img/substation.jpg" mode=""></image>
+			</view>
+
+
+		</view>
+
+		<!-- 列表 -->
+		<view class="list">
+			<!-- 通风管理 -->
+			<view v-if="zdhxt == 'tfgl'">
+				<view class="item" v-for="(item,index) in data_tfgl" :key="index">
+					<view class="title">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+			<!-- 压风制氮 -->
+			<view v-if="zdhxt == 'yfzd'">
+				<view class="item" v-for="(item,index) in data_yfzd" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+			<!-- 排水系统 -->
+			<view v-if="zdhxt == 'psxt'">
+				<view class="item" v-for="(item,index) in data_psxt" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+			<!-- 主运输 -->
+			<view v-if="zdhxt == 'zys'">
+				<view class="item" v-for="(item,index) in data_zys" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+			<!-- 提升机 -->
+			<view v-if="zdhxt == 'tsj'">
+				<view class="item" v-for="(item,index) in data_tsj" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+			<!-- 架空人车 -->
+			<view v-if="zdhxt == 'jkrc'">
+				<view class="item" v-for="(item,index) in data_jkrc" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+			<!-- 锅炉烟气 -->
+			<view v-if="zdhxt == 'glyq'">
+				<view class="item" v-for="(item,index) in data_glyq" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+			<!-- 电液控 -->
+			<view v-if="zdhxt == 'support'">
+				<view class="item" v-for="(item,index) in data_support" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+			<!-- 电力监测 -->
+			<view v-if="zdhxt == 'dljc'">
+				<view class="item" v-for="(item,index) in data_dljc" :key="index">
+					<view class="title" @click="item_active(index)">
+						<view class="left">
+							<view class="icon"></view>
+							<view class="name">
+								{{item.name}}
+							</view>
+						</view>
+						<view class="right" v-if="index != active">
+							<uni-icons type="arrowright"></uni-icons>
+						</view>
+						<view class="right" v-if="index == active">
+							<uni-icons type="arrowdown"></uni-icons>
+						</view>
+					</view>
+					<view class="inner_list" v-if="active == index">
+						<view class="inner_item" v-for="(item_2,index_2) in item.list" :key="index_2"
+							@click="inner_item_active(item_2)">
+							<view class="inner_icon"></view>
+							<view class="inner_name">{{item_2.name}}</view>
+						</view>
+					</view>
+				</view>
+
+			</view>
+
+		</view>
+
+	</view>
+
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				zdhxt: "",
+				active: 0,
+
+
+				// 通风管理
+				data_tfgl: [{
+					name: "金凤煤矿",
+					list: [{
+							name: "中部主通风监测系统",
+							url: "../../unified_automation_system/ventilation/ventilation?system_type=wind_center"
+						},
+						{
+							name: "北部主通风监测系统",
+							url: "../../unified_automation_system/ventilation/ventilation?system_type=wind_north"
+						}
+					]
+				}],
+				// 排水系统
+				data_psxt: [{
+					name: "金凤煤矿",
+					list: [{
+						name: "中央水泵排水系统",
+						url: "../../unified_automation_system/drainage/drainage?system_type=pump_center"
+					}]
+				}],
+				// 压风系统
+				data_yfzd: [{
+					name: "金凤煤矿",
+					list: [{
+						name: "空气压缩机集控系统",
+						url: "../../unified_automation_system/compressed_air/compressed_air?system_type=compressed_air"
+					}]
+				}],
+				// 主运输
+				data_zys: [{
+					name: "金凤煤矿",
+					list: [{
+							name: "皮带101",
+							url: "../../unified_automation_system/belt_conveyor/belt_conveyor?system_type=belt_101"
+						},
+						{
+							name: "皮带102",
+							url: "../../unified_automation_system/belt_conveyor/belt_conveyor?system_type=belt_102"
+						},
+						{
+							name: "北翼皮带",
+							url: "../../unified_automation_system/belt_conveyor/belt_conveyor?system_type=belt_north"
+						}
+					]
+				}],
+				// 提升机
+				data_tsj: [{
+					name: "金凤煤矿",
+					list: [{
+							name: "中部副立井提升机系统",
+							url: "../../unified_automation_system/hoist/hoist?system_type=hoist"
+						},
+						{
+							name: "北部副立井提升机系统",
+							url: "../../unified_automation_system/north_hoist/north_hoist?system_type=hoist_2"
+						},
+						{
+							name: "13采区提升机监测系统",
+							url: "../../unified_automation_system/hoist_13/hoist_13?system_type=hoist_1"
+						}
+					]
+				}],
+
+				// 架空人车
+				data_jkrc: [{
+					name: "金凤煤矿",
+					list: [{
+						name: "13采区架空人车系统",
+						url: "../../unified_automation_system/man_car/man_car?system_type=mancar"
+					}]
+				}],
+
+				// 锅炉烟气
+				data_glyq: [{
+					name: "金凤煤矿",
+					list: [{
+						name: "锅炉烟气系统",
+						url: "../../unified_automation_system/boiler_room/boiler_room?system_type=boiler"
+					}]
+				}],
+				// 电液控
+				data_support: [{
+					name: "金凤煤矿",
+					list: [{
+						name: "130306工作面支架压力",
+						url: "../../unified_automation_system/support/support?system_type=support"
+					}]
+				}],
+				// 电力监测
+				data_dljc: [{
+					name: "金凤煤矿",
+					list: [{
+						name: "中央变电所监测系统",
+						url: "../substation/substation?system_type=power_center"
+					}]
+				}]
+
+
+			}
+		},
+		onLoad(option) {
+			this.zdhxt = option.zdhxt
+
+			if (this.zdhxt == 'tfgl') {
+				uni.setNavigationBarTitle({
+					title: "通风管理"
+				})
+			}
+			if (this.zdhxt == 'psxt') {
+				uni.setNavigationBarTitle({
+					title: "排水系统"
+				})
+			}
+			if (this.zdhxt == 'yfzd') {
+				uni.setNavigationBarTitle({
+					title: "压风制氮"
+				})
+			}
+			if (this.zdhxt == 'zys') {
+				uni.setNavigationBarTitle({
+					title: "主运输"
+				})
+			}
+			if (this.zdhxt == 'tsj') {
+				uni.setNavigationBarTitle({
+					title: "提升机系统"
+				})
+			}
+			if (this.zdhxt == 'jkrc') {
+				uni.setNavigationBarTitle({
+					title: "架空人车系统"
+				})
+			}
+			if (this.zdhxt == 'glyq') {
+				uni.setNavigationBarTitle({
+					title: "锅炉烟气系统"
+				})
+			}
+			if (this.zdhxt == 'support') {
+				uni.setNavigationBarTitle({
+					title: "电液控系统"
+				})
+			}
+			if (this.zdhxt == 'dljc') {
+				uni.setNavigationBarTitle({
+					title: "电力监测系统"
+				})
+			}
+		},
+		methods: {
+			inner_item_active(item) {
+				uni.navigateTo({
+					url: item.url + "&name=" + item.name + "&mine_code=jinfeng"
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F7F7F7;
+	}
+
+	.top_img {
+		image {
+			width: 750rpx;
+			height: 360rpx;
+		}
+	}
+
+	.list {
+		padding-top: 20rpx;
+
+		.item {
+			background-color: #FFFFFF;
+			margin-bottom: 20rpx;
+
+			box-sizing: border-box;
+			padding: 0 35rpx;
+
+			.title {
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+
+				height: 110rpx;
+				border-bottom: 1rpx solid #f7f7f7;
+
+				.left {
+					display: flex;
+					align-items: center;
+
+					.icon {
+						width: 31rpx;
+						height: 27rpx;
+
+						background-image: url(img/icon.png);
+						background-size: cover;
+						background-repeat: no-repeat;
+					}
+
+					.name {
+						margin-left: 26rpx;
+						font-size: 38rpx;
+					}
+				}
+
+				.right {}
+			}
+
+			.inner_list {
+				.inner_item {
+					display: flex;
+					align-items: center;
+
+					height: 110rpx;
+					border-bottom: 1rpx solid #f7f7f7;
+
+					padding-left: 96rpx;
+
+					.inner_icon {
+						width: 20rpx;
+						height: 20rpx;
+						background-color: #0992E5;
+						border-radius: 50%;
+					}
+
+					.inner_name {
+						margin-left: 29rpx;
+						font-size: 32rpx;
+						color: #8a8a8a;
+					}
+				}
+			}
+		}
+
+	}
+</style>

+ 57 - 11
pages/production/unified_automation_system/belt_conveyor/belt_conveyor.vue

@@ -18,9 +18,9 @@
 			<view class="icon" v-else>
 				<image src="./icon/belt_conveyor.png" mode=""></image>
 			</view>
-			<view class="name">{{data.name}}</view>
+			<view class="name">{{data.name || data.label}}</view>
 			<!-- 电机运行参数 -->
-			<view class="parameter" v-if="mine_code != 'renjiazhuang' && mine_code != 'qingshuiying'">
+			<view class="parameter" v-if="mine_code != 'renjiazhuang' && mine_code != 'qingshuiying' && mine_code != 'jinfeng'">
 				<view class="title">
 					<view class="icon">
 						<image src="./icon/canshu.png" mode=""></image>
@@ -51,6 +51,37 @@
 				</view>
 			</view>
 			
+			<view class="parameter" v-if="mine_code == 'jinfeng'">
+				<view class="title">
+					<view class="icon">
+						<image src="./icon/canshu.png" mode=""></image>
+					</view>
+					<view class="text">电机运行参数</view>
+				</view>
+				<view class="content">
+					<view class="label_index">
+						<view class="index_title"></view>
+						<view class="index_box">
+							<view class="index">1号</view>
+							<view class="index">2号</view>
+							<view class="index" v-if="system_type == 'belt_north'">3号</view>
+						</view>
+					</view>
+					<view class="list">
+						<view class="item" v-for="(item,index) in data.electric_parameter" :key="index"
+							@click="show_value_list(item)">
+							<view class="label">{{item.label}}</view>
+							<view class="value_list">
+								<view class="item" v-for="(item_2,index_2) in item.value_list" :key="index_2">
+									<view class="value">{{item_2.value}}</view>
+									<view class="unit">{{item_2.unit}}</view>
+								</view>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+			
 			<view class="parameter" v-if="mine_code == 'renjiazhuang' || mine_code == 'qingshuiying'" style="margin-bottom: 80rpx;">
 				<view class="title">
 					<view class="icon">
@@ -115,7 +146,7 @@
 				</view>
 			</view>
 			<!-- 速度选择状态 -->
-			<view class="parameter" v-if="speed_selection_state">
+			<view class="parameter" v-if="data.speed_selection_state">
 				<view class="title">
 					<view class="icon">
 						<image src="./icon/canshu.png" mode=""></image>
@@ -172,7 +203,7 @@
 			</view>
 			
 			<!-- 沿线保护状态 -->
-			<view class="parameter">
+			<view class="parameter" v-if="mine_code != 'jinfeng'">
 				<view class="title">
 					<view class="icon">
 						<image src="./icon/canshu.png" mode=""></image>
@@ -242,13 +273,22 @@
 		},
 		methods: {
 			get_data(){
-				this.$api.unified_automation_system({
-					mine_code: this.mine_code,
-					system_type: this.system_type
-				}).then((res)=>{
-					console.log(res.data)
-					this.data = res.data
-				})
+				
+				if(this.mine_code == "jinfeng"){
+					this.$api.opcdata_getTurboData({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data.sys_point
+					})
+				}else{
+					this.$api.unified_automation_system({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data
+					})
+				}
 			},
 			show_item(item) {
 				uni.showToast({
@@ -274,6 +314,12 @@
 							.value +
 							"  " + item.value_list[3].unit
 					})
+				}else if(this.mine_code == 'jinfeng' && this.system_type != 'belt_north'){
+					uni.showToast({
+						icon: "none",
+						title: item.label + "  " + item.value_list[0].value + "  " + item.value_list[0].unit + "  " +
+							item.value_list[1].value + "  " + item.value_list[1].unit
+					})
 				}else{
 					uni.showToast({
 						icon: "none",

+ 16 - 8
pages/production/unified_automation_system/compressed_air/compressed_air.vue

@@ -33,7 +33,7 @@
 					<image src="./icon/close.png" mode=""></image>
 				</view>
 				<view class="name">{{item.name}}</view>
-				<view class="state">
+				<view class="state" v-if="mine_code != 'jinfeng'">
 					<view class="label">排污阀状态</view>
 					<!-- 1-开 2-关 -->
 					<view class="value value_1" v-if="item.drain_value_state == 1"></view>
@@ -131,13 +131,21 @@
 				})
 			},
 			get_data(){
-				this.$api.unified_automation_system({
-					mine_code: this.mine_code,
-					system_type: this.system_type
-				}).then((res)=>{
-					console.log(res.data)
-					this.data = res.data
-				})
+				if(this.mine_code == "jinfeng"){
+					this.$api.opcdata_getTurboData({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data.sys_point
+					})
+				}else{
+					this.$api.unified_automation_system({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data
+					})
+				}
 			}
 		}
 	}

+ 15 - 6
pages/production/unified_automation_system/drainage/drainage.vue

@@ -84,12 +84,21 @@
 				})
 			},
 			get_data(){
-				this.$api.unified_automation_system({
-					mine_code: this.mine_code,
-					system_type: this.system_type
-				}).then((res)=>{
-					this.data = res.data
-				})
+				if(this.mine_code == "jinfeng"){
+					this.$api.opcdata_getTurboData({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data.sys_point
+					})
+				}else{
+					this.$api.unified_automation_system({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data
+					})
+				}
 			}
 		}
 	}

+ 188 - 0
pages/production/unified_automation_system/hydrological_monitoring/hydrological_monitoring.vue

@@ -0,0 +1,188 @@
+<template>
+	<view>
+		<view class="query" @click="query()">
+			<image src="./icon/icon.png" mode=""></image>
+		</view>
+
+		<view class="title_box">
+			<view class="title" @click="tab(1)" :class="active==1?'active':''">
+				<view class="name">地面水文长观孔</view>
+				<view class="line"></view>
+			</view>
+			<view class="title" @click="tab(2)" :class="active==2?'active':''">
+				<view class="name">井下普通传感器</view>
+				<view class="line"></view>
+			</view>
+		</view>
+
+		<view class="list">
+			<view v-if="active == 1">
+				<uni-table border stripe emptyText="暂无更多数据">
+					<uni-tr>
+						<uni-th style="vertical-align: middle;" align="center" v-for="(item,index) in data.title" :key="index">{{item}}</uni-th>
+					</uni-tr>
+					<uni-tr v-for="(item,index) in data.content" :key="index">
+						<uni-td align="center" style="vertical-align: middle;">{{item.dev_title}}</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.monitor_time}}</uni-td>
+						<uni-td align="center" style="color: #009fe8;vertical-align: middle;">{{item.dev_data}}</uni-td>
+						<uni-td align="center" style="color: #FF6989;vertical-align: middle;">{{item.dev_diff}}</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.temp}}</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.altitude}}</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.aquifer}}</uni-td>
+					</uni-tr>
+				</uni-table>
+			</view>
+			<view v-if="active == 2">
+				<uni-table border stripe emptyText="暂无更多数据">
+					<uni-tr>
+						<uni-th style="vertical-align: middle;" align="center" v-for="(item,index) in data.title" :key="index">{{item}}</uni-th>
+					</uni-tr>
+					<uni-tr v-for="(item,index) in data.content" :key="index">
+						<uni-td align="center" style="vertical-align: middle;">
+							<view style="width: 90rpx;word-wrap: break-word;">
+								{{item.dev_num}}
+							</view>
+						</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">
+							<view style="width: 100rpx;">{{item.dev_title}}</view>
+						</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">
+							<view style="width: 160rpx;">{{item.monitor_time}}</view>
+						</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">
+							<view style="width: 60rpx;">{{item.dev_amt}}</view>
+						</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.dev_data}}</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.dev_unit}}</uni-td>
+						<uni-td align="center" style="vertical-align: middle;">{{item.dev_diff}}</uni-td>
+					</uni-tr>
+				</uni-table>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				mine:1,
+				active: 1,
+				data:{}
+			};
+		},
+		onLoad(option) {
+			this.mine = option.mine
+			this.get_hydrology_realtime_record(1)
+		},
+		methods: {
+			query() {
+				uni.navigateTo({
+					url:"./query/query?mine="+this.mine
+				})
+			},
+			tab(item) {
+				this.data = {}
+				this.active = item
+				this.get_hydrology_realtime_record(item)
+			},
+			
+			get_hydrology_realtime_record(item){
+				uni.showLoading({
+					mask:true
+				})
+				this.$api.hydrology_realtime_record({
+					area:item,
+					mine_type:this.mine
+				}).then((res)=>{
+					uni.hideLoading()
+					console.log(res.data.content.data)
+					this.data = res.data.content.data
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F6F8;
+	}
+
+	.query {
+		z-index: 999;
+		position: fixed;
+		bottom: 80rpx;
+		right: 40rpx;
+
+		background-color: #009fe8;
+		display: inline-block;
+		width: 80rpx;
+		height: 80rpx;
+		box-sizing: border-box;
+		padding: 20rpx;
+		border-radius: 50%;
+
+		image {
+			width: 38rpx;
+			height: 41rpx;
+		}
+	}
+
+	.title_box {
+		background-color: #009fe8;
+		height: 240rpx;
+		box-sizing: border-box;
+		padding-top: 20rpx;
+
+		display: flex;
+		justify-content: space-around;
+
+		.title {
+			.name {
+				font-size: 32rpx;
+				font-weight: 700;
+				color: #FFFFFF;
+				opacity: 0.7;
+				margin-bottom: 20rpx;
+			}
+		}
+
+		.active {
+			.name {
+				opacity: 1;
+			}
+
+			.line {
+				margin: 0 auto;
+				width: 60rpx;
+				height: 6rpx;
+				border-radius: 4rpx;
+				background-color: #fff;
+			}
+		}
+	}
+	
+	.list{
+		margin: 0 auto;
+		margin-top: -120rpx;
+		width: 700rpx;
+		border-radius: 20rpx;
+		overflow: hidden;
+		.uni-table{
+			border-radius: 20rpx;
+		}
+		.table--border{
+			border: none;
+		}
+		.uni-table-th{
+			font-size: 28rpx;
+			color: #000000;
+			border-bottom: 2rpx solid #FAFAFA;
+		}
+		.uni-table-td{
+			text-align: center;
+			font-size: 28rpx;
+		}
+	}
+</style>

BIN
pages/production/unified_automation_system/hydrological_monitoring/icon/icon.png


+ 141 - 0
pages/production/unified_automation_system/hydrological_monitoring/query/query.vue

@@ -0,0 +1,141 @@
+<template>
+	<view>
+		<view class="label_box">
+			<view class="label">类型选择</view>
+			<view class="box">
+				<uni-data-select v-model="area" :localdata="area_type" @change="area_change"></uni-data-select>
+			</view>
+		</view>
+		
+		<view class="label_box">
+			<view class="label">分站选择</view>
+			<view class="box">
+				<uni-data-select v-model="dev" :localdata="dev_type" @change="dev_change"></uni-data-select>
+			</view>
+		</view>
+		
+		<view class="label_box">
+			<view class="label">曲线选择</view>
+			<view class="box">
+				<uni-data-select v-model="type" :localdata="range_type" @change="change"></uni-data-select>
+			</view>
+		</view>
+		
+		<view class="btn" @click="query()">查询</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				mine:1,
+				area:"",
+				dev:"",
+				type: "",
+
+				area_type: [{
+						value: 1,
+						text: "地面"
+					},
+					{
+						value: 2,
+						text: "井下"
+					}
+				],
+				dev_type: [],
+				range_type:[]
+			};
+		},
+		onLoad(option) {
+			this.mine = option.mine
+		},
+		methods:{
+			get_hydrology_query_option(){
+				uni.showLoading({
+					mask:true
+				})
+				this.$api.hydrology_query_option({
+					area:this.area,
+					mine_type:this.mine
+				}).then((res)=>{
+					uni.hideLoading()
+					this.dev_type = res.data.content.data.range_type
+				})
+			},
+			get_hydrology_query_option_dev(){
+				uni.showLoading({
+					mask:true
+				})
+				this.$api.hydrology_query_option({
+					mine_type:this.mine,
+					area:this.area,
+					dev:this.dev
+				}).then((res)=>{
+					uni.hideLoading()
+					this.range_type = res.data.content.data.range_type
+				})
+			},
+			area_change(e){
+				this.type = ""
+				this.range_type = []
+				this.get_hydrology_query_option()
+			},
+			dev_change(e){
+				this.type = ""
+				this.range_type = []
+				this.get_hydrology_query_option_dev()
+			},
+			change(e){},
+			query(){
+				if(this.area != "" && this.dev != "" && this.type != ""){
+					uni.navigateTo({
+						url:"../query_detail/query_detail?area="+this.area+"&dev="+this.dev+"&type="+this.type+"&mine="+this.mine
+					})
+				}else{
+					uni.showToast({
+						icon:"none",
+						title:"请选择要查询的参数"
+					})
+				}
+				
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F6F8;
+		box-sizing: border-box;
+		padding: 25rpx;
+	}
+
+	.label_box {
+		margin-bottom: 40rpx;
+		.label {
+			font-size: 28rpx;
+			color: #A9A9A9;
+			margin: 20rpx 0;
+		}
+		.box{
+			background-color: #fff;
+			/deep/.uni-select{
+				border: none;
+				height: 90rpx;
+			}
+		}
+	}
+	
+	.btn{
+		margin-top: 60rpx;
+		height: 90rpx;
+		line-height: 90rpx;
+		background-color: #009fe8;
+		border-radius: 45rpx;
+		text-align: center;
+		color: #fff;
+		font-weight: 700;
+		letter-spacing: 1em;
+	}
+</style>

+ 200 - 0
pages/production/unified_automation_system/hydrological_monitoring/query_detail/query_detail.vue

@@ -0,0 +1,200 @@
+<template>
+	<view>
+		<view class="info_box">
+			<view class="time">
+				<!-- 选时间段 -->
+				<!-- <uni-datetime-picker v-model="datetimerange" type="datetimerange" rangeSeparator="—" /> -->
+				<!-- 选日期 -->
+				<uni-datetime-picker type="date" v-model="single"/>
+			</view>
+			<view class="info">
+				<view class="text">{{data.area == 1?"地面":"井下"}}历史数据</view>
+				<view class="line"></view>
+				<view class="text">{{data.dev}}</view>
+				<view class="line"></view>
+				<view class="text">{{data.type}}</view>
+			</view>
+		</view>
+
+		<view class="charts-box" v-if="chartData.categories">
+			<qiun-data-charts type="area" :opts="opts" :chartData="chartData" />
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				mine:1,
+				data:{},
+				// datetimerange: "",
+				single: "",
+
+				chartData: {},
+
+				opts: {
+					padding:[15,15,15,15],
+					dataLabel: false,
+					rotate: true,
+					color: ["#00A0E8"],
+					legend: {
+						show: false
+					},
+					xAxis: {
+						disableGrid: false,
+						gridType: "dash",
+						rotateLabel: true,
+						rotateAngle: 90
+					},
+					yAxis: {
+						disableGrid: true,
+					},
+					extra: {
+						area: {
+							type: "straight",
+							opacity: 0.2,
+							addLine: true,
+							width: 2,
+							gradient: true,
+							activeType: "hollow"
+						}
+					}
+				}
+			};
+		},
+		onLoad(options) {
+			console.log(options)
+			this.mine = options.mine
+			this.data = options
+			this.single = this.set_single()
+		},
+		watch:{
+			single(newvalue,oldvalue){
+				console.log(newvalue,oldvalue)
+				this.getServerData()
+			}
+		},
+		methods: {
+			set_single() {
+				const now = new Date();
+				const year = now.getFullYear(); // 获取年份
+				const month = String(now.getMonth() + 1).padStart(2, '0'); // 获取月份,注意加上 1
+				const day = String(now.getDate()).padStart(2, '0'); // 获取日期
+
+				const formattedDate = `${year}-${month}-${day}`;
+
+				return formattedDate
+			},
+			getServerData() {
+				// setTimeout(() => {
+				// 	let res = {
+				// 		categories: ["00:00:00", "01:00:00", "02:00:00", "03:00:00", "04:00:00", "05:00:00",
+				// 			"06:00:00", "07:00:00", "08:00:00",
+				// 			"09:00:00", "10:00:00", "11:00:00"
+				// 		],
+				// 		series: [{
+				// 			name: "埋深",
+				// 			data: [35, 36, 31, 33, 13, 34, 35, 36, 31, 33, 13, 34]
+				// 		}]
+				// 	};
+				// 	this.chartData = JSON.parse(JSON.stringify(res));
+				// }, 500);
+				this.chartData = {}
+				this.$api.hydrology_query_chart({
+					dev:this.data.dev,
+					type:this.data.type,
+					date:this.single,
+					mine_type:this.mine
+				}).then((res)=>{
+					console.log(res.data)
+					console.log(Boolean(res.data.content.data.categories))
+					if(res.data.content.data.categories){
+						this.chartData = res.data.content.data
+					}else{
+						uni.showToast({
+							icon:"none",
+							title:"暂无数据"
+						})
+					}
+					
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F6F8;
+		box-sizing: border-box;
+		padding: 25rpx;
+	}
+
+	.info_box {
+		background-color: #fff;
+		box-sizing: border-box;
+		padding: 25rpx;
+		border-radius: 10rpx;
+
+		.time {
+			height: 60rpx;
+			margin-bottom: 10rpx;
+			/deep/.uni-icons {
+				display: none;
+			}
+
+			/deep/.uni-date-x--border {
+				border: none;
+
+				.uni-date-x {
+					padding: 0;
+				}
+
+				.uni-input-placeholder {
+					color: #fff;
+				}
+
+				.uni-date__x-input {
+					background-color: #009fe8;
+					color: #fff;
+					padding: 0 20rpx;
+					height: 30px;
+					border-radius: 6rpx;
+					font-size: 26rpx;
+				}
+
+				.uni-date-x.uni-date-range>uni-view {
+					color: #00A0E8;
+					margin: 0 10rpx;
+				}
+			}
+		}
+
+		.info {
+			margin-top: 20rpx;
+			display: flex;
+			justify-content: space-between;
+			align-items: center;
+
+			.text {
+				width: 200rpx;
+				text-align: center;
+				font-size: 30rpx;
+			}
+
+			.line {
+				width: 2rpx;
+				height: 50rpx;
+				background-color: #DCDCDC;
+			}
+		}
+	}
+
+	.charts-box {
+		margin-top: 30rpx;
+		background-color: #fff;
+		border-radius: 10rpx;
+		height: 1335rpx;
+	}
+</style>

+ 119 - 22
pages/production/unified_automation_system/support/support.vue

@@ -2,13 +2,17 @@
 	<view>
 		<view class="status_bar">
 			<view class="box" v-for="(item,index) in status_list" :key="index">
-				<view class="state" :class="{normal:item.state == 0,error:item.state == 1,warn:item.state == 2,}">
+				<view class="state" :class="{normal:item.state == 0,error:item.state == 1,warn:item.state == 2}">
 					{{item.num}}
 				</view>
 				<view class="name">{{item.name}}</view>
 			</view>
 		</view>
 
+		<view class="charts-box">
+			<qiun-data-charts type="column" :opts="opts" :chartData="chartData" :loadingType="0" />
+		</view>
+
 		<view class="list">
 			<view class="line" v-for="(item,index) in data" :key="index">
 				<view class="drop"
@@ -49,10 +53,41 @@
 					},
 					{
 						state: "2",
-						name: "压",
+						name: "压",
 						num: 0
 					}
-				]
+				],
+				chartData: {},
+				opts: {
+					padding: [30, 15, 0, 0],
+					dataLabel: false,
+					legend: {
+						show: false
+					},
+					xAxis: {
+						labelCount: 8
+					},
+					yAxis: {
+						showTitle: true,
+						data: [{
+							max: 100,
+							title: "立柱压力",
+							titleOffsetY: -15
+						}]
+					},
+					extra: {
+						markLine: {
+							data: [{
+									value: 40
+								},
+								{
+									value: 24,
+									lineColor: "#FFE84E"
+								}
+							]
+						}
+					}
+				}
 			};
 		},
 		onLoad(option) {
@@ -63,24 +98,19 @@
 			this.system_type = option.system_type
 
 			this.get_data()
-			// this.data_timer = setInterval(()=>{
-			// 	this.get_data()
-			// },5000)
+			this.data_timer = setInterval(() => {
+				this.get_data()
+			}, 15000)
 
 		},
 		onUnload() {
-			// clearInterval(this.data_timer)
+			clearInterval(this.data_timer)
 		},
 		methods: {
-			show_item(item) {
-				uni.showToast({
-					icon: "none",
-					title: item.label + "  " + item.value + "  " + item.unit
-				})
-			},
+
 			get_data() {
 				uni.showLoading({
-					mask:true
+					mask: true
 				})
 				this.$api.opcdata_getTurboData({
 					sys_key: this.mine_code,
@@ -88,17 +118,33 @@
 				}).then((res) => {
 					uni.hideLoading()
 					console.log(res.data)
-					this.data = res.data.data.sys_point.support
+					let charts = res.data.sys_point.support
+					this.data = res.data.sys_point.support
 
-					res.data.data.sys_point.support.forEach((item, index) => {
-						// if(item.val == ""){
-						// 	this.data[index].val = 0
-						// }
+					// NaN 重置为0
+					res.data.sys_point.support.forEach((item, index) => {
+						if (item.val == "") {
+							this.data[index].val = 0
+						}
 					})
-					
 
-					res.data.data.sys_point.support.forEach((item, index) => {
-						// console.log(item, index)
+					this.status_list = [{
+							state: "0",
+							name: "正常",
+							num: 0
+						},
+						{
+							state: "1",
+							name: "超压",
+							num: 0
+						},
+						{
+							state: "2",
+							name: "欠压",
+							num: 0
+						}
+					]
+					res.data.sys_point.support.forEach((item, index) => {
 						if (item.val != "") {
 							if (item.val > 40) {
 								this.status_list[1].num += 1
@@ -110,13 +156,64 @@
 						}
 					})
 
+					// 设置图形
+					let charts_res = {
+						categories: [],
+						series: [{
+							name: "压力值",
+							data: []
+						}]
+					};
+
+					charts.forEach((item, index) => {
+						charts_res.categories.push(index)
+						if (item.val == "") {
+							charts_res.series[0].data.push({
+								color: "#fff",
+								value: parseFloat(0).toFixed(2)
+							})
+						} else {
+							charts_res.series[0].data.push({
+								color: "#fff",
+								value: parseFloat(item.val).toFixed(2)
+							})
+						}
+					})
+
+
+					charts_res.series[0].data.forEach((item, index) => {
+						if (charts_res.series[0].data[index].value != "") {
+							if (charts_res.series[0].data[index].value > 40) {
+								charts_res.series[0].data[index].color = "#F84646"
+							} else if (charts_res.series[0].data[index].value < 24) {
+								charts_res.series[0].data[index].color = "#FFE84E"
+							} else {
+								charts_res.series[0].data[index].color = "#41B72E"
+							}
+						}
+					})
+
+					this.chartData = JSON.parse(JSON.stringify(charts_res));
+
+					console.log(this.chartData)
+
 				})
+				// .catch((err)=>{
+				// 	uni.showToast({
+				// 		title:"数据推送失败",
+				// 		icon:'none'
+				// 	})
+				// })
 			}
 		}
 	}
 </script>
 
 <style lang="scss">
+	.charts-box {
+		margin: 20rpx -10rpx;
+	}
+
 	page {
 		background-color: #F4F6F8;
 		box-sizing: border-box;

+ 15 - 6
pages/production/unified_automation_system/ventilation/ventilation.vue

@@ -119,12 +119,21 @@
 			},
 			
 			get_data(){
-				this.$api.unified_automation_system({
-					mine_code: this.mine_code,
-					system_type: this.system_type
-				}).then((res)=>{
-					this.data = res.data
-				})
+				if(this.mine_code == "jinfeng"){
+					this.$api.opcdata_getTurboData({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data.sys_point
+					})
+				}else{
+					this.$api.unified_automation_system({
+						mine_code: this.mine_code,
+						system_type: this.system_type
+					}).then((res)=>{
+						this.data = res.data
+					})
+				}
 			}
 		}
 	}

+ 1 - 1
pages/production/video_monitor_app/playback/playback.vue

@@ -17,7 +17,7 @@
 		</view>
 		
 		<view class="btn_list">
-			<view class="btn" v-for="item in 17">00:00-00:30</view>
+			<view class="btn" v-for="(item,index) in 17" :key="index">00:00-00:30</view>
 		</view>
 	</view>
 </template>

+ 12 - 0
uniCloud-aliyun/database/newQuery.jql

@@ -0,0 +1,12 @@
+// 本文件用于,使用JQL语法操作项目关联的uniCloud空间的数据库,方便开发调试和远程数据库管理
+// 编写clientDB的js API(也支持常规js语法,比如var),可以对云数据库进行增删改查操作。不支持uniCloud-db组件写法
+// 可以全部运行,也可以选中部分代码运行。点击工具栏上的运行按钮或者按下【F5】键运行代码
+// 如果文档中存在多条JQL语句,只有最后一条语句生效
+// 如果混写了普通js,最后一条语句需是数据库操作语句
+// 此处代码运行不受DB Schema的权限控制,移植代码到实际业务中注意在schema中配好permission
+// 不支持clientDB的action
+// 数据库查询有最大返回条数限制,详见:https://uniapp.dcloud.net.cn/uniCloud/cf-database.html#limit
+// 详细JQL语法,请参考:https://uniapp.dcloud.net.cn/uniCloud/jql.html
+
+// 下面示例查询uni-id-users表的所有数据
+db.collection('uni-id-users').get();

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/opendb-admin-menus.schema.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/opendb-app-list.schema.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/opendb-verify-codes.schema.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/uni-id-log.schema.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/uni-id-permissions.schema.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/uni-id-roles.schema.json


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 0
uniCloud-aliyun/database/uni-id-users.schema.json


+ 35 - 0
uni_modules/uni-data-select/changelog.md

@@ -0,0 +1,35 @@
+## 1.0.6(2023-04-12)
+- 修复 微信小程序点击时会改变背景颜色的 bug
+## 1.0.5(2023-02-03)
+- 修复 禁用时会显示清空按钮
+## 1.0.4(2023-02-02)
+- 优化 查询条件短期内多次变更只查询最后一次变更后的结果
+- 调整 内部缓存键名调整为 uni-data-select-lastSelectedValue
+## 1.0.3(2023-01-16)
+- 修复 不关联服务空间报错的问题
+## 1.0.2(2023-01-14)
+- 新增  属性 `format` 可用于格式化显示选项内容
+## 1.0.1(2022-12-06)
+- 修复  当where变化时,数据不会自动更新的问题
+## 0.1.9(2022-09-05)
+- 修复 微信小程序下拉框出现后选择会点击到蒙板后面的输入框
+## 0.1.8(2022-08-29)
+- 修复 点击的位置不准确
+## 0.1.7(2022-08-12)
+- 新增 支持 disabled 属性
+## 0.1.6(2022-07-06)
+- 修复 pc端宽度异常的bug
+## 0.1.5
+- 修复 pc端宽度异常的bug
+## 0.1.4(2022-07-05)
+- 优化 显示样式
+## 0.1.3(2022-06-02)
+- 修复 localdata 赋值不生效的 bug
+- 新增 支持  uni.scss 修改颜色
+- 新增 支持选项禁用(数据选项设置 disabled: true 即禁用)
+## 0.1.2(2022-05-08)
+- 修复 当 value 为 0 时选择不生效的 bug
+## 0.1.1(2022-05-07)
+- 新增 记住上次的选项(仅 collection 存在时有效)
+## 0.1.0(2022-04-22)
+- 初始化

+ 517 - 0
uni_modules/uni-data-select/components/uni-data-select/uni-data-select.vue

@@ -0,0 +1,517 @@
+<template>
+	<view class="uni-stat__select">
+		<span v-if="label" class="uni-label-text hide-on-phone">{{label + ':'}}</span>
+		<view class="uni-stat-box" :class="{'uni-stat__actived': current}">
+			<view class="uni-select" :class="{'uni-select--disabled':disabled}">
+				<view class="uni-select__input-box" @click="toggleSelector">
+					<view v-if="current" class="uni-select__input-text">{{current}}</view>
+					<view v-else class="uni-select__input-text uni-select__input-placeholder">{{typePlaceholder}}</view>
+					<view v-if="current && clear && !disabled" @click.stop="clearVal" >
+						<uni-icons type="clear" color="#c0c4cc" size="24"/>
+					</view>
+					<view v-else>
+						<uni-icons :type="showSelector? 'top' : 'bottom'" size="14" color="#999" />
+					</view>
+				</view>
+				<view class="uni-select--mask" v-if="showSelector" @click="toggleSelector" />
+				<view class="uni-select__selector" v-if="showSelector">
+					<view class="uni-popper__arrow"></view>
+					<scroll-view scroll-y="true" class="uni-select__selector-scroll">
+						<view class="uni-select__selector-empty" v-if="mixinDatacomResData.length === 0">
+							<text>{{emptyTips}}</text>
+						</view>
+						<view v-else class="uni-select__selector-item" v-for="(item,index) in mixinDatacomResData" :key="index"
+							@click="change(item)">
+							<text :class="{'uni-select__selector__disabled': item.disable}">{{formatItemName(item)}}</text>
+						</view>
+					</scroll-view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	/**
+	 * DataChecklist 数据选择器
+	 * @description 通过数据渲染的下拉框组件
+	 * @tutorial https://uniapp.dcloud.io/component/uniui/uni-data-select
+	 * @property {String} value 默认值
+	 * @property {Array} localdata 本地数据 ,格式 [{text:'',value:''}]
+	 * @property {Boolean} clear 是否可以清空已选项
+	 * @property {Boolean} emptyText 没有数据时显示的文字 ,本地数据无效
+	 * @property {String} label 左侧标题
+	 * @property {String} placeholder 输入框的提示文字
+	 * @property {Boolean} disabled 是否禁用
+	 * @event {Function} change  选中发生变化触发
+	 */
+
+	export default {
+		name: "uni-data-select",
+		mixins: [uniCloud.mixinDatacom || {}],
+		props: {
+			localdata: {
+				type: Array,
+				default () {
+					return []
+				}
+			},
+			value: {
+				type: [String, Number],
+				default: ''
+			},
+			modelValue: {
+				type: [String, Number],
+				default: ''
+			},
+			label: {
+				type: String,
+				default: ''
+			},
+			placeholder: {
+				type: String,
+				default: '请选择'
+			},
+			emptyTips: {
+				type: String,
+				default: '无选项'
+			},
+			clear: {
+				type: Boolean,
+				default: true
+			},
+			defItem: {
+				type: Number,
+				default: 0
+			},
+			disabled: {
+				type: Boolean,
+				default: false
+			},
+			// 格式化输出 用法 field="_id as value, version as text, uni_platform as label" format="{label} - {text}"
+			format: {
+				type: String,
+				default: ''
+			},
+		},
+		data() {
+			return {
+				showSelector: false,
+				current: '',
+				mixinDatacomResData: [],
+				apps: [],
+				channels: [],
+				cacheKey: "uni-data-select-lastSelectedValue",
+			};
+		},
+		created() {
+			this.debounceGet = this.debounce(() => {
+				this.query();
+			}, 300);
+			if (this.collection && !this.localdata.length) {
+				this.debounceGet();
+			}
+		},
+		computed: {
+			typePlaceholder() {
+				const text = {
+					'opendb-stat-app-versions': '版本',
+					'opendb-app-channels': '渠道',
+					'opendb-app-list': '应用'
+				}
+				const common = this.placeholder
+				const placeholder = text[this.collection]
+				return placeholder ?
+					common + placeholder :
+					common
+			},
+			valueCom(){
+				// #ifdef VUE3
+				return this.modelValue;
+				// #endif
+				// #ifndef VUE3
+				return this.value;
+				// #endif
+			}
+		},
+		watch: {
+			localdata: {
+				immediate: true,
+				handler(val, old) {
+					if (Array.isArray(val) && old !== val) {
+						this.mixinDatacomResData = val
+					}
+				}
+			},
+			valueCom(val, old) {
+				this.initDefVal()
+			},
+			mixinDatacomResData: {
+				immediate: true,
+				handler(val) {
+					if (val.length) {
+						this.initDefVal()
+					}
+				}
+			}
+		},
+		methods: {
+			debounce(fn, time = 100){
+				let timer = null
+				return function(...args) {
+					if (timer) clearTimeout(timer)
+					timer = setTimeout(() => {
+						fn.apply(this, args)
+					}, time)
+				}
+			},
+			// 执行数据库查询
+			query(){
+				this.mixinDatacomEasyGet();
+			},
+			// 监听查询条件变更事件
+			onMixinDatacomPropsChange(){
+				if (this.collection) {
+					this.debounceGet();
+				}
+			},
+			initDefVal() {
+				let defValue = ''
+				if ((this.valueCom || this.valueCom === 0) && !this.isDisabled(this.valueCom)) {
+					defValue = this.valueCom
+				} else {
+					let strogeValue
+					if (this.collection) {
+						strogeValue = this.getCache()
+					}
+					if (strogeValue || strogeValue === 0) {
+						defValue = strogeValue
+					} else {
+						let defItem = ''
+						if (this.defItem > 0 && this.defItem <= this.mixinDatacomResData.length) {
+							defItem = this.mixinDatacomResData[this.defItem - 1].value
+						}
+						defValue = defItem
+					}
+          if (defValue || defValue === 0) {
+					  this.emit(defValue)
+          }
+				}
+				const def = this.mixinDatacomResData.find(item => item.value === defValue)
+				this.current = def ? this.formatItemName(def) : ''
+			},
+
+			/**
+			 * @param {[String, Number]} value
+			 * 判断用户给的 value 是否同时为禁用状态
+			 */
+			isDisabled(value) {
+				let isDisabled = false;
+
+				this.mixinDatacomResData.forEach(item => {
+					if (item.value === value) {
+						isDisabled = item.disable
+					}
+				})
+
+				return isDisabled;
+			},
+
+			clearVal() {
+				this.emit('')
+				if (this.collection) {
+					this.removeCache()
+				}
+			},
+			change(item) {
+				if (!item.disable) {
+					this.showSelector = false
+					this.current = this.formatItemName(item)
+					this.emit(item.value)
+				}
+			},
+			emit(val) {
+				this.$emit('input', val)
+				this.$emit('update:modelValue', val)
+				this.$emit('change', val)
+				if (this.collection) {
+					this.setCache(val);
+				}
+			},
+			toggleSelector() {
+				if (this.disabled) {
+					return
+				}
+
+				this.showSelector = !this.showSelector
+			},
+			formatItemName(item) {
+				let {
+					text,
+					value,
+					channel_code
+				} = item
+				channel_code = channel_code ? `(${channel_code})` : ''
+
+				if (this.format) {
+					// 格式化输出
+					let str = "";
+					str = this.format;
+					for (let key in item) {
+						str = str.replace(new RegExp(`{${key}}`,"g"),item[key]);
+					}
+					return str;
+				} else {
+					return this.collection.indexOf('app-list') > 0 ?
+						`${text}(${value})` :
+						(
+							text ?
+							text :
+							`未命名${channel_code}`
+						)
+				}
+			},
+			// 获取当前加载的数据
+			getLoadData(){
+				return this.mixinDatacomResData;
+			},
+			// 获取当前缓存key
+			getCurrentCacheKey(){
+				return this.collection;
+			},
+			// 获取缓存
+			getCache(name=this.getCurrentCacheKey()){
+				let cacheData = uni.getStorageSync(this.cacheKey) || {};
+				return cacheData[name];
+			},
+			// 设置缓存
+			setCache(value, name=this.getCurrentCacheKey()){
+				let cacheData = uni.getStorageSync(this.cacheKey) || {};
+				cacheData[name] = value;
+				uni.setStorageSync(this.cacheKey, cacheData);
+			},
+			// 删除缓存
+			removeCache(name=this.getCurrentCacheKey()){
+				let cacheData = uni.getStorageSync(this.cacheKey) || {};
+				delete cacheData[name];
+				uni.setStorageSync(this.cacheKey, cacheData);
+			},
+		}
+	}
+</script>
+
+<style lang="scss">
+	$uni-base-color: #6a6a6a !default;
+	$uni-main-color: #333 !default;
+	$uni-secondary-color: #909399 !default;
+	$uni-border-3: #e5e5e5;
+
+
+	/* #ifndef APP-NVUE */
+	@media screen and (max-width: 500px) {
+		.hide-on-phone {
+			display: none;
+		}
+	}
+
+	/* #endif */
+	.uni-stat__select {
+		display: flex;
+		align-items: center;
+		// padding: 15px;
+		/* #ifdef H5 */
+		cursor: pointer;
+		/* #endif */
+		width: 100%;
+		flex: 1;
+		box-sizing: border-box;
+	}
+
+	.uni-stat-box {
+		width: 100%;
+		flex: 1;
+	}
+
+	.uni-stat__actived {
+		width: 100%;
+		flex: 1;
+		// outline: 1px solid #2979ff;
+	}
+
+	.uni-label-text {
+		font-size: 14px;
+		font-weight: bold;
+		color: $uni-base-color;
+		margin: auto 0;
+		margin-right: 5px;
+	}
+
+	.uni-select {
+		font-size: 14px;
+		border: 1px solid $uni-border-3;
+		box-sizing: border-box;
+		border-radius: 4px;
+		padding: 0 5px;
+		padding-left: 10px;
+		position: relative;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		user-select: none;
+		/* #endif */
+		flex-direction: row;
+		align-items: center;
+		border-bottom: solid 1px $uni-border-3;
+		width: 100%;
+		flex: 1;
+		height: 35px;
+
+		&--disabled {
+			background-color: #f5f7fa;
+			cursor: not-allowed;
+		}
+	}
+
+	.uni-select__label {
+		font-size: 16px;
+		// line-height: 22px;
+		height: 35px;
+		padding-right: 10px;
+		color: $uni-secondary-color;
+	}
+
+	.uni-select__input-box {
+		height: 35px;
+		position: relative;
+		/* #ifndef APP-NVUE */
+		display: flex;
+		/* #endif */
+		flex: 1;
+		flex-direction: row;
+		align-items: center;
+	}
+
+	.uni-select__input {
+		flex: 1;
+		font-size: 14px;
+		height: 22px;
+		line-height: 22px;
+	}
+
+	.uni-select__input-plac {
+		font-size: 14px;
+		color: $uni-secondary-color;
+	}
+
+	.uni-select__selector {
+		/* #ifndef APP-NVUE */
+		box-sizing: border-box;
+		/* #endif */
+		position: absolute;
+		top: calc(100% + 12px);
+		left: 0;
+		width: 100%;
+		background-color: #FFFFFF;
+		border: 1px solid #EBEEF5;
+		border-radius: 6px;
+		box-shadow: 0 2px 12px 0 rgba(0, 0, 0, 0.1);
+		z-index: 3;
+		padding: 4px 0;
+	}
+
+	.uni-select__selector-scroll {
+		/* #ifndef APP-NVUE */
+		max-height: 200px;
+		box-sizing: border-box;
+		/* #endif */
+	}
+
+	/* #ifdef H5 */
+	@media (min-width: 768px) {
+		.uni-select__selector-scroll {
+			max-height: 600px;
+		}
+	}
+	/* #endif */
+
+	.uni-select__selector-empty,
+	.uni-select__selector-item {
+		/* #ifndef APP-NVUE */
+		display: flex;
+		cursor: pointer;
+		/* #endif */
+		line-height: 35px;
+		font-size: 14px;
+		text-align: center;
+		/* border-bottom: solid 1px $uni-border-3; */
+		padding: 0px 10px;
+	}
+
+	.uni-select__selector-item:hover {
+		background-color: #f9f9f9;
+	}
+
+	.uni-select__selector-empty:last-child,
+	.uni-select__selector-item:last-child {
+		/* #ifndef APP-NVUE */
+		border-bottom: none;
+		/* #endif */
+	}
+
+	.uni-select__selector__disabled {
+		opacity: 0.4;
+		cursor: default;
+	}
+
+	/* picker 弹出层通用的指示小三角 */
+	.uni-popper__arrow,
+	.uni-popper__arrow::after {
+		position: absolute;
+		display: block;
+		width: 0;
+		height: 0;
+		border-color: transparent;
+		border-style: solid;
+		border-width: 6px;
+	}
+
+	.uni-popper__arrow {
+		filter: drop-shadow(0 2px 12px rgba(0, 0, 0, 0.03));
+		top: -6px;
+		left: 10%;
+		margin-right: 3px;
+		border-top-width: 0;
+		border-bottom-color: #EBEEF5;
+	}
+
+	.uni-popper__arrow::after {
+		content: " ";
+		top: 1px;
+		margin-left: -6px;
+		border-top-width: 0;
+		border-bottom-color: #fff;
+	}
+
+	.uni-select__input-text {
+		// width: 280px;
+		width: 100%;
+		color: $uni-main-color;
+		white-space: nowrap;
+		text-overflow: ellipsis;
+		-o-text-overflow: ellipsis;
+		overflow: hidden;
+	}
+
+	.uni-select__input-placeholder {
+		color: $uni-base-color;
+		font-size: 12px;
+	}
+
+	.uni-select--mask {
+		position: fixed;
+		top: 0;
+		bottom: 0;
+		right: 0;
+		left: 0;
+		z-index: 2;
+	}
+</style>

+ 85 - 0
uni_modules/uni-data-select/package.json

@@ -0,0 +1,85 @@
+{
+  "id": "uni-data-select",
+  "displayName": "uni-data-select 下拉框选择器",
+  "version": "1.0.6",
+  "description": "通过数据驱动的下拉框选择器",
+  "keywords": [
+    "uni-ui",
+    "select",
+    "uni-data-select",
+    "下拉框",
+    "下拉选"
+],
+  "repository": "https://github.com/dcloudio/uni-ui",
+  "engines": {
+    "HBuilderX": "^3.1.1"
+  },
+  "directories": {
+    "example": "../../temps/example_temps"
+  },
+"dcloudext": {
+    "sale": {
+      "regular": {
+        "price": "0.00"
+      },
+      "sourcecode": {
+        "price": "0.00"
+      }
+    },
+    "contact": {
+      "qq": ""
+    },
+    "declaration": {
+      "ads": "无",
+      "data": "无",
+      "permissions": "无"
+    },
+    "npmurl": "https://www.npmjs.com/package/@dcloudio/uni-ui",
+    "type": "component-vue"
+  },
+  "uni_modules": {
+    "dependencies": ["uni-load-more"],
+    "encrypt": [],
+    "platforms": {
+      "cloud": {
+        "tcb": "y",
+        "aliyun": "y"
+      },
+      "client": {
+        "App": {
+          "app-vue": "u",
+          "app-nvue": "n"
+        },
+        "H5-mobile": {
+          "Safari": "y",
+          "Android Browser": "y",
+          "微信浏览器(Android)": "y",
+          "QQ浏览器(Android)": "y"
+        },
+        "H5-pc": {
+          "Chrome": "y",
+          "IE": "y",
+          "Edge": "y",
+          "Firefox": "y",
+          "Safari": "y"
+        },
+        "小程序": {
+          "微信": "y",
+          "阿里": "u",
+          "百度": "u",
+          "字节跳动": "u",
+        "QQ": "u",
+        "京东": "u"
+        },
+        "快应用": {
+          "华为": "u",
+          "联盟": "u"
+        },
+        "Vue": {
+            "vue2": "y",
+            "vue3": "y"
+        }
+      }
+    }
+  }
+}

+ 8 - 0
uni_modules/uni-data-select/readme.md

@@ -0,0 +1,8 @@
+## DataSelect 下拉框选择器
+> **组件名:uni-data-select**
+> 代码块: `uDataSelect`
+
+当选项过多时,使用下拉菜单展示并选择内容
+
+### [查看文档](https://uniapp.dcloud.io/component/uniui/uni-data-select)
+#### 如使用过程中有任何问题,或者您对uni-ui有一些好的建议,欢迎加入 uni-ui 交流群:871950839 

+ 248 - 0
uni_modules/uni-portal/uniCloud/database/opendb-app-publish.schema.json

@@ -0,0 +1,248 @@
+// 文档教程: https://uniapp.dcloud.net.cn/uniCloud/schema
+{
+	"bsonType": "object",
+	"required": ["appid", "name"],
+	"permission": {
+		"read": false,
+		"create": false,
+		"update": false,
+		"delete": false
+	},
+	"properties": {
+		"_id": {
+			"description": "记录id,自动生成"
+		},
+		"appid": {
+			"bsonType": "string",
+			"trim": "both",
+			"description": "应用的AppID",
+			"label": "AppID",
+			"componentForEdit": {
+				"name": "uni-easyinput",
+				"props": {
+					"disabled": true
+				}
+			}
+		},
+		"name": {
+			"bsonType": "string",
+			"trim": "both",
+			"description": "应用名称",
+			"label": "应用名称",
+			"componentForEdit": {
+				"name": "uni-easyinput",
+				"props": {
+					"disabled": true
+				}
+			}
+		},
+		"icon_url": {
+			"bsonType": "string",
+			"trim": "both",
+			"description": "应用图标链接",
+			"label": "应用图标"
+		},
+		"introduction": {
+			"bsonType": "string",
+			"trim": "both",
+			"description": "应用简介",
+			"label": "应用简介",
+			"componentForEdit": {
+				"name": "uni-easyinput",
+				"props": {
+					"disabled": true
+				}
+			}
+		},
+		"description": {
+			"bsonType": "string",
+			"description": "应用描述",
+			"label": "应用描述",
+			"componentForEdit": {
+				"name": "textarea"
+			},
+			"componentForShow": {
+				"name": "textarea",
+				"props": {
+					":disabled": true
+				}
+			}
+		},
+		"screenshot": {
+			"bsonType": "array",
+			"description": "应用截图",
+			"label": "应用截图"
+		},
+		"app_android": {
+			"bsonType": "object",
+			"description": "安卓 App 相关信息",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "快应用名称",
+					"label": "快应用名称"
+				},
+				"url": {
+					"bsonType": "string",
+					"description": "安卓可下载安装包地址",
+					"label": "安卓下载地址"
+				}
+			}
+		},
+		"app_ios": {
+			"bsonType": "object",
+			"description": "苹果 App 相关信息",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "快应用名称",
+					"label": "快应用名称"
+				},
+				"url": {
+					"bsonType": "string",
+					"description": "AppStore 上架地址",
+					"label": "AppStore 地址"
+				}
+			}
+		},
+		"mp_weixin": {
+			"bsonType": "object",
+			"description": "微信小程序相关信息",
+			"label": "微信小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"mp_alipay": {
+			"bsonType": "object",
+			"description": "支付宝小程序相关信息",
+			"label": "支付宝小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"mp_baidu": {
+			"bsonType": "object",
+			"description": "百度小程序相关信息",
+			"label": "百度小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"mp_toutiao": {
+			"bsonType": "object",
+			"description": "头条小程序相关信息",
+			"label": "头条小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"mp_qq": {
+			"bsonType": "object",
+			"description": "QQ小程序相关信息",
+			"label": "QQ小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"mp_lark": {
+			"bsonType": "object",
+			"description": "飞书小程序相关信息",
+			"label": "飞书小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"mp_kuaishou": {
+			"bsonType": "object",
+			"description": "快手小程序相关信息",
+			"label": "快手小程序",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "小程序名字"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "二维码url"
+				}
+			}
+		},
+		"h5": {
+			"bsonType": "object",
+			"properties": {
+				"url": {
+					"bsonType": "string",
+					"description": "H5 可访问链接"
+				}
+			}
+		},
+		"quickapp": {
+			"bsonType": "object",
+			"properties": {
+				"name": {
+					"bsonType": "string",
+					"description": "快应用名称",
+					"label": "快应用名称"
+				},
+				"qrcode_url": {
+					"bsonType": "string",
+					"description": "快应用二维码url"
+				}
+			}
+		},
+
+		"create_date": {
+			"bsonType": "timestamp",
+			"label": "发行时间",
+			"forceDefaultValue": {
+				"$env": "now"
+			},
+			"componentForEdit": {
+				"name": "uni-dateformat"
+			}
+		}
+	}
+}

+ 125 - 0
uni_modules/uni-upgrade-center/uniCloud/database/opendb-app-versions.schema.json

@@ -0,0 +1,125 @@
+// 文档教程: https://uniapp.dcloud.net.cn/uniCloud/schema
+{
+	"bsonType": "object",
+	"required": ["appid", "platform", "version", "url", "contents", "type"],
+	"permission": {
+		"read": false,
+		"create": false,
+		"update": false,
+		"delete": false
+	},
+	"properties": {
+		"_id": {
+			"description": "记录id,自动生成"
+		},
+		"appid": {
+			"bsonType": "string",
+			"trim": "both",
+			"description": "应用的AppID",
+			"label": "AppID",
+			"componentForEdit": {
+				"name": "uni-easyinput",
+				"props": {
+					"disabled": true
+				}
+			}
+		},
+		"name": {
+			"bsonType": "string",
+			"trim": "both",
+			"description": "应用名称",
+			"label": "应用名称",
+			"componentForEdit": {
+				"name": "uni-easyinput",
+				"props": {
+					"disabled": true
+				}
+			}
+		},
+		"title": {
+			"bsonType": "string",
+			"description": "更新标题",
+			"label": "更新标题"
+		},
+		"contents": {
+			"bsonType": "string",
+			"description": "更新内容",
+			"label": "更新内容",
+			"componentForEdit": {
+				"name": "textarea"
+			},
+			"componentForShow": {
+				"name": "textarea",
+				"props": {
+					"disabled": true
+				}
+			}
+		},
+		"platform": {
+			"bsonType": "array",
+			"enum": [{
+				"value": "Android",
+				"text": "安卓"
+			}, {
+				"value": "iOS",
+				"text": "苹果"
+			}],
+			"description": "更新平台,Android || iOS || [Android, iOS]",
+			"label": "平台"
+		},
+		"type": {
+			"bsonType": "string",
+			"enum": [{
+				"value": "native_app",
+				"text": "原生App安装包"
+			}, {
+				"value": "wgt",
+				"text": "Wgt资源包"
+			}],
+			"description": "安装包类型,native_app || wgt",
+			"label": "安装包类型"
+		},
+		"version": {
+			"bsonType": "string",
+			"description": "当前包版本号,必须大于当前线上发行版本号",
+			"label": "版本号"
+		},
+		"min_uni_version": {
+			"bsonType": "string",
+			"description": "原生App最低版本",
+			"label": "原生App最低版本"
+		},
+		"url": {
+			"bsonType": "string",
+			"description": "可下载安装包地址",
+			"label": "包地址"
+		},
+		"stable_publish": {
+			"bsonType": "bool",
+			"description": "是否上线发行",
+			"label": "上线发行"
+		},
+		"is_silently": {
+			"bsonType": "bool",
+			"description": "是否静默更新",
+			"label": "静默更新",
+			"defaultValue": false
+		},
+		"is_mandatory": {
+			"bsonType": "bool",
+			"description": "是否强制更新",
+			"label": "强制更新",
+			"defaultValue": false
+		},
+		"create_date": {
+			"bsonType": "timestamp",
+			"label": "上传时间",
+			"forceDefaultValue": {
+				"$env": "now"
+			},
+			"componentForEdit": {
+				"name": "uni-dateformat"
+			}
+		}
+	}
+}

파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/build/app-plus/__uniapppicker.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2 - 2
unpackage/dist/build/app-plus/app-config-service.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 4 - 4
unpackage/dist/build/app-plus/app-service.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/build/app-plus/app-view.js


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/01.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/02.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/03.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/04.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/05.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/06.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/07.png


BIN
unpackage/dist/build/app-plus/components/t-i-common/icon/08.png


unpackage/dist/build/h5/static/img/bg_img.aba8fc13.jpg → unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/bg_img.jpg


unpackage/dist/build/h5/static/img/day.db931fb3.png → unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/day.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/ningdongyunying.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/saoma.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/search.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar-2/icon/zaoquan.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar/icon/day.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar/icon/ningdongyunying.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar/icon/saoma.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar/icon/search.png


BIN
unpackage/dist/build/app-plus/components/t-i-navbar/icon/zaoquan.png


BIN
unpackage/dist/build/app-plus/components/t-i-notice-2/icon/bg_img.jpg


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/build/app-plus/manifest.json


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/glyq.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/icon.png


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/jkrc.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/psxt.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/support.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/tfgl.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/tsj.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/yfzd.jpg


BIN
unpackage/dist/build/app-plus/pages/production/jinfeng/zidonghua_list/img/zys.jpg


BIN
unpackage/dist/build/app-plus/pages/production/unified_automation_system/hydrological_monitoring/icon/icon.png


BIN
unpackage/dist/build/app-plus/pages/tabbar/index/icon/new_detail.png


BIN
unpackage/dist/build/app-plus/pages/tabbar/index/icon/search.png


BIN
unpackage/dist/build/app-plus/pages/tabbar/index/icon/weather.png


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 1 - 1
unpackage/dist/build/app-plus/view.css


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2 - 2
unpackage/dist/build/app-plus/view.umd.min.js


파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
+ 2 - 2
unpackage/dist/build/h5/index.html


unpackage/dist/build/app-plus/pages/tabbar/index/icon/nav_1.png → unpackage/dist/build/h5/static/img/nav_1.4267132e.png


unpackage/dist/build/app-plus/pages/tabbar/index/icon/nav_2.png → unpackage/dist/build/h5/static/img/nav_2.6e33ccad.png


unpackage/dist/build/app-plus/pages/tabbar/index/icon/nav_3.png → unpackage/dist/build/h5/static/img/nav_3.c93b823e.png


unpackage/dist/build/app-plus/pages/tabbar/index/icon/section.png → unpackage/dist/build/h5/static/img/section.2c8741d4.png


BIN
unpackage/dist/build/h5/static/img/substation.11459dc6.jpg


BIN
unpackage/dist/build/h5/static/img/top.d472e1bc.png


+ 0 - 0
unpackage/dist/build/app-plus/pages/tabbar/index/icon/top_bg.png


이 변경점에서 너무 많은 파일들이 변경되어 몇몇 파일들은 표시되지 않았습니다.