Ver código fonte

羊场湾:场所出入二维码

tiandewen 2 anos atrás
pai
commit
e0e2774328
100 arquivos alterados com 3545 adições e 1578 exclusões
  1. 2 2
      App.vue
  2. 0 1
      common/common.js
  3. 9 0
      common/production-http/production-api.js
  4. 18 0
      common/vmeitime-http/api.js
  5. 2 2
      common/vmeitime-http/interface.js
  6. 1 1
      components/p-personnel-orientation-section-3/p-personnel-orientation-section-3.vue
  7. 2 1
      components/p-personnel-orientation-section-4/p-personnel-orientation-section-4.vue
  8. 171 0
      components/personnel-orientation-population-trend/personnel-orientation-population-trend.vue
  9. 7 3
      components/t-i-news/t-i-news.vue
  10. 2 2
      components/t-p-qingshuiying/t-p-qingshuiying.vue
  11. 15 2
      components/t-p-renjiazhuang/t-p-renjiazhuang.vue
  12. 79 0
      components/yz-qr/changelog.md
  13. 1123 0
      components/yz-qr/weapp-qrcode.js
  14. 106 0
      components/yz-qr/yz-qr.vue
  15. 3 3
      manifest.json
  16. 27 8
      pages.json
  17. 3 3
      pages/index/h5/h5.vue
  18. 1 1
      pages/my/personal_information/honor/honor.vue
  19. 23 19
      pages/my/personal_information/personal_information_peixun.vue
  20. BIN
      pages/my/scan/icon/bg.png
  21. BIN
      pages/my/scan/icon/scan.png
  22. BIN
      pages/my/scan/icon/scan_border.png
  23. BIN
      pages/my/scan/icon/section_1.png
  24. BIN
      pages/my/scan/icon/section_2.png
  25. 184 0
      pages/my/scan/scan.vue
  26. 204 0
      pages/my/scan/scan_result/scan_result.vue
  27. 30 9
      pages/ningdongyunying/personnel_orientation/personnel_orientation.vue
  28. 1 1
      pages/ningdongyunying/production_statistics/production_statistics.vue
  29. 7 7
      pages/origanization/communication/origanization/personal_information/personal_information_peixun.vue
  30. 19 10
      pages/production/personnel_orientation/personnel_orientation.vue
  31. 14 14
      pages/production/qingshuiying/zidonghua_list/zidonghua_list.vue
  32. 8 10
      pages/production/renjiazhuang/life_water/life_water.vue
  33. 40 46
      pages/production/renjiazhuang/water_point/water_point.vue
  34. 4 1
      pages/production/renjiazhuang/zidonghua_list/zidonghua_list.vue
  35. 3 3
      pages/production/unified_automation_system/belt_conveyor/belt_conveyor.vue
  36. 5 5
      pages/production/unified_automation_system/nitrogen_production_system/nitrogen_production_system.vue
  37. 1 1
      pages/production/video_monitor/video_monitor.vue
  38. 0 496
      pages/tabbar/index/index - 全矿适配版.vue
  39. 1122 0
      pages/tabbar/index/index - 安宁.vue
  40. 253 879
      pages/tabbar/index/index.vue
  41. 26 22
      pages/tabbar/my/my.vue
  42. 2 2
      unpackage/dist/build/app-plus/app-config-service.js
  43. 2 2
      unpackage/dist/build/app-plus/app-service.js
  44. 1 1
      unpackage/dist/build/app-plus/app-view.js
  45. 1 1
      unpackage/dist/build/app-plus/manifest.json
  46. BIN
      unpackage/dist/build/app-plus/pages/my/scan/icon/bg.png
  47. BIN
      unpackage/dist/build/app-plus/pages/my/scan/icon/scan_border.png
  48. BIN
      unpackage/dist/build/app-plus/pages/my/scan/icon/section_1.png
  49. BIN
      unpackage/dist/build/app-plus/pages/my/scan/icon/section_2.png
  50. 2 2
      unpackage/dist/build/h5/index.html
  51. BIN
      unpackage/dist/build/h5/static/img/bg_img.aba8fc13.jpg
  52. BIN
      unpackage/dist/build/h5/static/img/day.db931fb3.png
  53. BIN
      unpackage/dist/build/h5/static/img/nav_1.4267132e.png
  54. BIN
      unpackage/dist/build/h5/static/img/nav_2.6e33ccad.png
  55. BIN
      unpackage/dist/build/h5/static/img/nav_3.c93b823e.png
  56. BIN
      unpackage/dist/build/h5/static/img/scan_border.a1394ee0.png
  57. BIN
      unpackage/dist/build/h5/static/img/section.2c8741d4.png
  58. BIN
      unpackage/dist/build/h5/static/img/section_1.d78a8df6.png
  59. BIN
      unpackage/dist/build/h5/static/img/section_2.6dea78df.png
  60. BIN
      unpackage/dist/build/h5/static/img/top_bg.6173550a.png
  61. 1 0
      unpackage/dist/build/h5/static/js/index.745653c6.js
  62. 0 1
      unpackage/dist/build/h5/static/js/index.9707f18a.js
  63. 1 1
      unpackage/dist/build/h5/static/js/pages-index-business_approval-business_approval~pages-index-integral-integral~pages-index-record-rec~d9bb5f8f.a6421fce.js
  64. 0 1
      unpackage/dist/build/h5/static/js/pages-index-h5-h5.6aa0cc0c.js
  65. 1 0
      unpackage/dist/build/h5/static/js/pages-index-h5-h5.cbb88583.js
  66. 1 0
      unpackage/dist/build/h5/static/js/pages-index-record-h5-h5.77397d35.js
  67. 0 1
      unpackage/dist/build/h5/static/js/pages-index-record-h5-h5.d06b099d.js
  68. 0 1
      unpackage/dist/build/h5/static/js/pages-index-switch-kuang-switch-kuang.4d1c38d4.js
  69. 1 0
      unpackage/dist/build/h5/static/js/pages-index-switch-kuang-switch-kuang.db149ce9.js
  70. 1 0
      unpackage/dist/build/h5/static/js/pages-index-switch-kuang-switch-kuang~pages-tabbar-index-index.4b7070be.js
  71. 0 1
      unpackage/dist/build/h5/static/js/pages-my-personal_information-honor-honor.2f3a135a.js
  72. 1 0
      unpackage/dist/build/h5/static/js/pages-my-personal_information-honor-honor.dcaf8928.js
  73. 1 0
      unpackage/dist/build/h5/static/js/pages-my-personal_information-personal_information_peixun.615c02a4.js
  74. 0 1
      unpackage/dist/build/h5/static/js/pages-my-personal_information-personal_information_peixun.91709fb6.js
  75. 1 0
      unpackage/dist/build/h5/static/js/pages-my-scan-scan.6ecad201.js
  76. 1 0
      unpackage/dist/build/h5/static/js/pages-my-scan-scan_result-scan_result.2b6d8782.js
  77. 1 0
      unpackage/dist/build/h5/static/js/pages-my-signature-signature.79110715.js
  78. 0 1
      unpackage/dist/build/h5/static/js/pages-my-signature-signature.e408efea.js
  79. 1 0
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation.4575d744.js
  80. 0 1
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation.e1a4a2bd.js
  81. 0 1
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation~pages-origanization-communication-~4adf1e73.40939122.js
  82. 1 0
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation~pages-origanization-communication-~a28bfef2.bd6f8d3c.js
  83. 1 0
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_map-production_map~pages-tabbar-production-production.0431f1af.js
  84. 0 1
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_map-production_map~pages-tabbar-production-production.60646b5f.js
  85. 1 0
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics.c4f4f957.js
  86. 0 1
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics.e88e3b23.js
  87. 0 1
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics~pages-production-personnel_orienta~56c87fc5.e601632c.js
  88. 1 0
      unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics~pages-production-production_report~c6c823b1.b9010026.js
  89. 1 0
      unpackage/dist/build/h5/static/js/pages-origanization-OA-apply_list-apply_list.05e749b4.js
  90. 0 1
      unpackage/dist/build/h5/static/js/pages-origanization-OA-apply_list-apply_list.ef83237e.js
  91. 1 0
      unpackage/dist/build/h5/static/js/pages-origanization-communication-origanization-personal_information-personal_information_peixun.017653cb.js
  92. 0 1
      unpackage/dist/build/h5/static/js/pages-origanization-communication-origanization-personal_information-personal_information_peixun.d17b2d5b.js
  93. 1 0
      unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-people_track-people_track.2c6947ac.js
  94. 0 1
      unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-people_track-people_track.39b599a5.js
  95. 0 1
      unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-personnel_orientation.933f689b.js
  96. 1 0
      unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-personnel_orientation.f535c413.js
  97. 0 1
      unpackage/dist/build/h5/static/js/pages-production-production_report-production_report.4b2854c0.js
  98. 1 0
      unpackage/dist/build/h5/static/js/pages-production-production_report-production_report.fdd16c6d.js
  99. 1 0
      unpackage/dist/build/h5/static/js/pages-production-qingshuiying-zidonghua_list-zidonghua_list.0336c36d.js
  100. 0 0
      unpackage/dist/build/h5/static/js/pages-production-qingshuiying-zidonghua_list-zidonghua_list.079647f9.js

+ 2 - 2
App.vue

@@ -10,12 +10,12 @@
 			// 启动初始化
 
 			// 煤矿鉴别-名称
-			uni.setStorageSync('mine_code', 'ningmeijituan');
+			// uni.setStorageSync('mine_code', 'ningmeijituan');
 			// uni.setStorageSync('mine_code', 'ningdongyunying');
 			// uni.setStorageSync('mine_code', 'shicaocun');
 			// uni.setStorageSync('mine_code', 'meihuajing');
 			// uni.setStorageSync('mine_code', 'zaoquan');
-			// uni.setStorageSync('mine_code', 'qingshuiying');
+			uni.setStorageSync('mine_code', 'qingshuiying');
 			// uni.setStorageSync('mine_code', 'wuyegongsi');
 			// uni.setStorageSync('mine_code', 'jinjiaqu');
 			// uni.setStorageSync('mine_code', 'jinjiaqu_neiwang');

+ 0 - 1
common/common.js

@@ -235,7 +235,6 @@ export const goToLink = (item, mine_code) => {
 		}
 		
 		if (link.indexOf("app_url") != -1) {
-			
 			uni.navigateTo({
 				url:link.split('app_url=')[1] + "&title=" + item.title
 			})

+ 9 - 0
common/production-http/production-api.js

@@ -432,3 +432,12 @@ export const get_ycbj_list = (data) => {
 		data,
 	})
 }
+
+// 人员定位 下井人数趋势
+export const personnel_getPeopleXJQS = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/personnel/getPeopleXJQS',
+		data,
+	})
+}

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

@@ -987,4 +987,22 @@ export const census_get_section_screen = (data) => {
 		url: '/census/get_section_screen',
 		data,
 	})
+}
+
+// 羊场湾 二维码
+// 生成个人信息二维码
+export const qr_code_userQrcodeInfo = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/qr_code/userQrcodeInfo',
+		data,
+	})
+}
+// 生成扫码记录
+export const qr_code_scanningRecord = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/qr_code/scanningRecord',
+		data,
+	})
 }

+ 2 - 2
common/vmeitime-http/interface.js

@@ -33,12 +33,12 @@ http.delete('user/1').then((res)=>{
 
 export default {
 	config: {
-		baseUrl: "http://nmjt.nxjiewei.com:8011/api",
+		// baseUrl: "http://nmjt.nxjiewei.com:8011/api",
 		// baseUrl: "http://colliery.nxjiewei.com/api",
 		// baseUrl: "http://ningdongyunying.nxjiewei.com:8011/api",
 		// baseUrl: "http://shicaocun.nxjiewei.com:8011/api",
 		// baseUrl: "http://zaoquan.nxjiewei.com:8011/api",
-		// baseUrl: "http://qingshuiying.nxjiewei.com:8011/api",
+		baseUrl: "http://qingshuiying.nxjiewei.com:8011/api",
 		// baseUrl: "http://wuyegongsi.nxjiewei.com:8011/api",
 		// baseUrl: "http://jinjiaqu.nxjiewei.com:8011/api",
 		// 金家渠:内网

+ 1 - 1
components/p-personnel-orientation-section-3/p-personnel-orientation-section-3.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="content">
 			<view class="title">
-				井下人员分布
+				当前井下人员分布
 			</view>
 			<view class="inner">
 				<slot></slot>

+ 2 - 1
components/p-personnel-orientation-section-4/p-personnel-orientation-section-4.vue

@@ -22,7 +22,7 @@
 	export default {
 		data() {
 			return {
-				array: ['当前各科室下井人数', '今日各科室下井人数'],
+				array: ['今日各科室下井人数', '当前各科室下井人数'],
 				index: 0,
 			};
 		},
@@ -38,6 +38,7 @@
 
 <style lang="scss">
 	.content {
+		margin-bottom: 20rpx;
 		margin-top: 16rpx;
 		background: #FFFFFF;
 		box-shadow: 0px 3rpx 29rpx 0px rgba(59, 74, 116, 0.14);

+ 171 - 0
components/personnel-orientation-population-trend/personnel-orientation-population-trend.vue

@@ -0,0 +1,171 @@
+<template>
+	<view>
+		<view class="section">
+			<view class="title" @click="change_qushi_title()">{{qushi_title}}
+				<uni-icons type="bottom" style="margin-left: 10rpx;"></uni-icons>
+			</view>
+			<view class="charts-box" v-if="qushi_type == 0">
+				<qiun-data-charts type="column" :opts="column_1" tooltipFormat="personnel_statistics_ren"
+					:chartData="chartData_column_1" />
+			</view>
+			<view class="charts-box" v-if="qushi_type == 1">
+				<qiun-data-charts type="column" :opts="column_2" tooltipFormat="personnel_statistics_ren"
+					:chartData="chartData_column_2" />
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "personnel-orientation-population-trend",
+		props:[
+			"mine"
+		],
+		data() {
+			return {
+				// 周、月下井趋势
+				column_1: {
+					legend: {
+						position: "top",
+					},
+					dataLabel: false,
+					xAxis: {
+						disableGrid: true
+					},
+					extra: {
+						column: {
+							type: "stack",
+							width: 20
+						}
+					}
+				},
+				column_2: {
+					legend: {
+						position: "top",
+					},
+					dataLabel: false,
+					xAxis: {
+						disableGrid: true,
+						fontSize: 11
+					},
+					extra: {
+						column: {
+							type: "stack",
+							width: 10
+						}
+					}
+				},
+				chartData_column_1: {},
+				chartData_column_2: {},
+				
+				qushi_title: "周下井人数趋势",
+				qushi_title_list: ["周下井人数趋势", "月下井人数趋势"],
+				qushi_type: 0
+			};
+		},
+		mounted() {
+			console.log(this.mine)
+			this.getServerData()
+		},
+		methods: {
+			getServerData() {
+				this.$p_api.personnel_getPeopleXJQS({
+					type: "week",
+					mine: this.mine
+				}).then((res)=>{
+					this.chartData_column_1 = res.data.data
+				})
+				this.$p_api.personnel_getPeopleXJQS({
+					type: "month",
+					mine: this.mine
+				}).then((res)=>{
+					this.chartData_column_2 = res.data.data
+				})
+				
+		// 		setTimeout(() => {
+		// 			let res = {
+		// 				categories: ["30日", "31日", "1日", "2日", "3日", "4日", "5日"],
+		// 				series: [{
+		// 						name: "早班",
+		// 						data: [35, 36, 31, 33, 13, 34, 32]
+		// 					},
+		// 					{
+		// 						name: "中班",
+		// 						data: [18, 27, 21, 24, 6, 28, 2]
+		// 					},
+		// 					{
+		// 						name: "晚班",
+		// 						data: [18, 27, 21, 24, 6, 28, 4]
+		// 					}
+		// 				]
+		// 			};
+		// 			this.chartData_column_1 = JSON.parse(JSON.stringify(res));
+		// 		}, 500);
+
+		// 		setTimeout(() => {
+		// 			let res = {
+		// 				categories: ["1月", "2月", "3月", "4月", "5月", "6月", "7月", "8月", "9月", "10月", "11月",
+		// 					"12月"
+		// 				],
+		// 				series: [{
+		// 						name: "早班",
+		// 						data: [35, 36, 31, 33, 13, 34, 32, 31, 33, 13, 34, 32]
+		// 					},
+		// 					{
+		// 						name: "中班",
+		// 						data: [18, 27, 21, 24, 6, 28, 2, 31, 33, 13, 34, 32]
+		// 					},
+		// 					{
+		// 						name: "晚班",
+		// 						data: [18, 27, 21, 24, 6, 28, 4, 31, 33, 13, 34, 32]
+		// 					}
+		// 				]
+		// 			};
+		// 			this.chartData_column_2 = JSON.parse(JSON.stringify(res));
+		// 		}, 500);
+		
+			},
+
+			change_qushi_title(type) {
+				uni.showActionSheet({
+					itemList: this.qushi_title_list,
+					success: (res) => {
+						// console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
+						this.qushi_title = this.qushi_title_list[res.tapIndex]
+						this.qushi_type = res.tapIndex
+					}
+				});
+			}
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	.charts-box {
+		width: 350px;
+		height: 300px;
+	}
+
+	.content {
+		width: 750rpx;
+
+		box-sizing: border-box;
+		padding: 25rpx;
+	}
+
+	.section {
+		background-color: #FFFFFF;
+		border-radius: 8px;
+		overflow: hidden;
+
+		padding-bottom: 30rpx;
+		margin-bottom: 25rpx;
+
+		.title {
+			padding: 40rpx 20rpx 0;
+			font-weight: 700;
+		}
+	}
+</style>

+ 7 - 3
components/t-i-news/t-i-news.vue

@@ -7,7 +7,7 @@
 			</view>
 		</view>
 		<view class="list">
-			<view class="item" v-for="(item,index) in newsList" :key="index" @click="go_detail(item.id)">
+			<view class="item" v-for="(item,index) in newsList" :key="index" @click="go_detail(item.detail_url)">
 				<view class="left">
 					<image :src="item.main_img"></image>
 				</view>
@@ -34,9 +34,13 @@
 		},
 		methods: {
 			// 打开详情页
-			go_detail(id) {
+			go_detail(detail_url) {
+				// uni.navigateTo({
+				// 	url: "../../index/news/news?id=" + id + "&mine_code=" + this.mine_code
+				// })
+				
 				uni.navigateTo({
-					url: "../../index/news/news?id=" + id + "&mine_code=" + this.mine_code
+					url:"../../index/h5/h5?url="+detail_url
 				})
 			},
 			// 打开列表

+ 2 - 2
components/t-p-qingshuiying/t-p-qingshuiying.vue

@@ -55,7 +55,7 @@
 				<view class="name">压风制氮</view>
 			</view>
 		</view>
-		<!-- <view class="item_box" style="background-color: #2C3E50;"
+		<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>
@@ -64,7 +64,7 @@
 				<view class="name">主运输系统</view>
 				<view class="tip"></view>
 			</view>
-		</view> -->
+		</view>
 	</view>
 </template>
 

+ 15 - 2
components/t-p-renjiazhuang/t-p-renjiazhuang.vue

@@ -27,7 +27,7 @@
 				<!-- <view class="tip">6268监测点</view> -->
 			</view>
 		</view>
-		<view class="item_box" style="background-color: #FBB47B;" @click="go_video_monitor()">
+		<!-- <view class="item_box" style="background-color: #FBB47B;" @click="go_video_monitor()">
 			<view class="img">
 				<image src="../t-p-icon/icon_6.png" mode=""></image>
 			</view>
@@ -35,8 +35,16 @@
 				<view class="name">视频监控</view>
 				<view class="tip">工业视频</view>
 			</view>
+		</view> -->
+		<view class="item_box" style="background-color: #FBB47B;" @click="go_video_monitor_haikang()">
+			<view class="img">
+				<image src="../t-p-icon/icon_6.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">视频监控</view>
+				<view class="tip">海康</view>
+			</view>
 		</view>
-		
 		<view class="item_box" style="background-color: #9CE2A6;"
 			@click="go_zdhxt('tfgl')">
 			<view class="img">
@@ -156,6 +164,11 @@
 				uni.navigateTo({
 					url:"../../production/video_monitor/video_monitor?mine_code=" + this.mine_code
 				})
+			},
+			go_video_monitor_haikang(){
+				uni.navigateTo({
+					url:"../../production/video_monitor/video_monitor?mine_code=renjiazhuanghaikang"
+				})
 			}
 		}
 	}

+ 79 - 0
components/yz-qr/changelog.md

@@ -0,0 +1,79 @@
+## 功能描述
+根据内容生成二维码,并返回图片地址
+
+## 平台兼容性
+兼容APP、H5及微信小程序。其他平台未测试
+
+## 安装方式
+安装到components文件夹,支持[easycom](https://uniapp.dcloud.io/collocation/pages?id=easycom)组件模式。
+
+## 使用方式
+**<font color=#FF0000 >可根据属性自定义二维码</font>**
+``` javascript
+<yz-qr></yz-qr>
+```
+
+## 属性说明
+|属性名		|类型	|默认值		|说明				|
+|--			|--		|--			|--					|
+|text		|String	|'hello'	|二维码内容			|
+|size		|Number	|340		|单位是px			|
+|quality	|String	|'L'		|二维码解析度L/M/Q/H	|
+|colorDark	|String	|'#000000'	|黑色二维码			|
+|colorLight	|String	|'#ffffff'	|白色背景			|
+
+## 示例代码
+``` javascript
+	<template>
+		<view class="content">
+			<!-- .sync修饰符:当一个子组件改变了一个 prop 的值时,这个变化也会同步到父组件中所绑定。 -->
+			<yz-qr :qrPath.sync="qrPath" :text="text" :size="size" :quality="quality" :colorDark="colorDark" :colorLight="colorLight"></yz-qr>
+			<view class="text">
+				二维码内容:<text>{{text}}</text>
+			</view>
+			<view class="text">
+				图片地址:<text>{{qrPath}}</text>
+			</view>
+		</view>
+	</template>
+	
+	<script>
+		export default {
+			data() {
+				return {
+					qrPath: '',
+					text: 'hello',
+					size: 200,
+					quality:'L',
+					colorDark: '#000000',
+					colorLight: '#ffffff'
+				}
+			},			
+			methods: {
+				
+			}
+		}
+	</script>
+	
+	<style>
+		.text {
+			background-color: #f3f3f3;
+			margin: 24rpx;
+			padding: 24rpx;
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+		}
+	
+		.text text {
+			font-weight: 700;
+			margin-left: 16rpx;
+		}
+	</style>
+	
+	
+	
+```
+## <font color=#FF0000 >canvas踩坑</font>
+1. uni-app中的canvas的width、height的值依赖于父元素的宽高。canvas的父级如果被隐藏。canvas的width、height则都为0。
+2. 当父元素出现,canvas的高度也就有了。但是canvas并不会绘制显示。解决方法:可以将绘制方法写在异步方法中,同时要注意组件的生命周期,确保实例挂载成功之后再执行。

Diferenças do arquivo suprimidas por serem muito extensas
+ 1123 - 0
components/yz-qr/weapp-qrcode.js


+ 106 - 0
components/yz-qr/yz-qr.vue

@@ -0,0 +1,106 @@
+<template>
+	<view>
+		<view class="qrcode">
+			<canvas :style="{width:size+ 'px', height:size+ 'px', background:bgc}" canvas-id="couponQrcode"></canvas>
+		</view>
+	</view>
+</template>
+
+<script>
+	const qrCode = require('./weapp-qrcode.js')
+	export default {
+		data() {
+			return {
+				bgc: 'rgba(200, 200, 200, 0.1)', //测试画布是否与内容相同大小
+				canvasQrPath: this.qrPath, //
+				level: ''
+			}
+		},
+
+		props: {
+			text: {
+				type: String,
+				default: 'hello'
+			},
+			size: {
+				type: Number,
+				default: 286
+			},
+			quality: {
+				type: String,
+				default: 'L' //二维码质量L/M/Q/H
+			},
+			colorDark: {
+				type: String,
+				default: '#000000'
+			},
+			colorLight: {
+				type: String,
+				default: '#ffffff'
+			},
+			qrPath: {
+				type: String,
+				default: ''
+			}
+		},
+		// 在实例挂载完成后被立即调用
+		mounted() { //兼容非动态取值(二维码为固定内容)
+			this.couponQrCode()
+		},
+		watch: {
+			text(newVal, oldVal) { //监测到text值发生改变时重新绘制
+				console.log('最新值是:' + newVal, "原来的值是:" + oldVal);
+				this.couponQrCode()
+			}
+		},
+		methods: {
+			// 二维码生成工具
+			couponQrCode() {
+				var that = this;
+				if (this.quality == 'L') {
+					this.level = qrCode.CorrectLevel.L
+				} else if (this.quality == 'M') {
+					this.level = qrCode.CorrectLevel.M
+				} else if (this.quality == 'Q') {
+					this.level = qrCode.CorrectLevel.Q
+				} else if (this.quality == 'H') {
+					this.level = qrCode.CorrectLevel.H
+				} else {
+					this.level = qrCode.CorrectLevel.L
+				}
+				new qrCode('couponQrcode', {
+					text: this.text,
+					width: this.size,
+					height: this.size,
+					showLoading: true, // 是否显示loading
+					loadingText: '二维码生成中', // loading文字
+					colorDark: this.colorDark, //二维码暗部颜色
+					colorLight: this.colorLight, //二维码亮部颜色
+					correctLevel: this.level, //二维码质量L/M/Q/H
+					usingIn: this //在自定义组件下,第二个参数传入组件实例this
+				})
+				// 把当前画布指定区域的内容导出生成图片,并返回文件路径。
+				uni.canvasToTempFilePath({
+					canvasId: 'couponQrcode',
+					success: (res) => {
+						// 在H5平台下,tempFilePath 为 base64
+						// console.log('yz-qr图片路径:', res.tempFilePath)
+						this.canvasQrPath = res.tempFilePath
+						this.$emit('update:qrPath', this.canvasQrPath)
+					}
+				}, this);
+
+				console.log('绘制完成');
+			}
+		}
+	}
+</script>
+
+<style>
+	.qrcode {
+		/* padding: 24rpx; */
+		display: flex;
+		align-items: center;
+		justify-content: center;
+	}
+</style>

+ 3 - 3
manifest.json

@@ -1,8 +1,8 @@
 {
-    "name" : "安宁",
-    "appid" : "__UNI__5DF9CB2",
+    "name" : "智慧清水营",
+    "appid" : "__UNI__91286B5",
     "description" : "",
-    "versionName" : "1.0.18",
+    "versionName" : "1.0.5",
     "versionCode" : "100",
     "transformPx" : false,
     /* 5+App特有相关 */

+ 27 - 8
pages.json

@@ -1024,9 +1024,28 @@
             }
             
         }
+        ,{
+            "path" : "pages/my/scan/scan",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "二维码",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/my/scan/scan_result/scan_result",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "扫码结果",
+                "enablePullDownRefresh": false,
+				"navigationStyle": "custom"
+            }
+            
+        }
     ],
 	"globalStyle": {
-		"navigationStyle":"custom",
+		// "navigationStyle":"custom",
 		"navigationBarTextStyle": "white",
 		"navigationBarTitleText": " ",
 		"navigationBarBackgroundColor": "#009FE8",
@@ -1040,13 +1059,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",

+ 3 - 3
pages/index/h5/h5.vue

@@ -22,9 +22,9 @@
 			}
 			
 			//#ifdef H5
-			if(this.href.indexOf('https://mp.weixin.qq.com') != -1){
-				window.location.href = this.href;
-			}
+			// if(this.href.indexOf('https://mp.weixin.qq.com') != -1){
+			// 	window.location.href = this.href;
+			// }
 			//#endif
 			
 		}

+ 1 - 1
pages/my/personal_information/honor/honor.vue

@@ -2,7 +2,7 @@
 	<view>
 		<view class="content">
 			<view class="input_box">
-				<view class="label"><text> * </text>荣誉名称:</view>
+				<view class="label"><text> * </text>证件名称:</view>
 				<view class="box">
 					<input type="text" value="" placeholder="请输入荣誉名称" v-model="imageName" />
 				</view>

+ 23 - 19
pages/my/personal_information/personal_information_peixun.vue

@@ -6,14 +6,18 @@
 					<view class="line name">{{user_info.name}} <text
 							style="font-size: 34rpx;margin-left: 100rpx;">{{staff_num}}</text> </view>
 					<view class="line">
-						<view class="item">
+						<view class="item" style="width: 110rpx;">
 							<view class="label">年龄</view>
 							<view class="box">{{user_info.age}}岁</view>
 						</view>
-						<view class="item">
+						<view class="item" style="width: 110rpx;">
 							<view class="label">性别</view>
 							<view class="box">{{user_info.sex}}</view>
 						</view>
+						<view class="item">
+							<view class="label">出生年月</view>
+							<view class="box">{{user_info.birthday}}</view>
+						</view>
 					</view>
 				</view>
 				<view class="right">
@@ -32,10 +36,6 @@
 						<view class="label">职务/岗位</view>
 						<view class="box">{{user_info.job_as}}</view>
 					</view>
-					<!-- <view class="item">
-						<view class="label">职称</view>
-						<view class="box">无</view>
-					</view> -->
 				</view>
 				<view class="line">
 					<view class="item">
@@ -90,7 +90,7 @@
 					<view class="text" v-if="index == 2">持证记录</view>
 					<view class="text" v-if="index == 3">考试记录</view>
 					<view class="text" v-if="index == 4">工作简历</view>
-					<view class="text" v-if="index == 5">个人荣誉</view>
+					<view class="text" v-if="index == 5">个人证件</view>
 				</view>
 			</view>
 			<view class="content">
@@ -218,24 +218,28 @@
 			// alert(GetQueryString("参数名2"));
 			
 			if(window.location.href.indexOf('oa=fanwei') != -1){
-				this.$api.oauth_sso({
-					url: window.location.href
-				}).then((res) => {
-					uni.setStorageSync('Authorization', res.data.data.accessToken)
-					uni.setStorageSync('token_type', res.data.data.token_type)
-					// 存储用户基本信息
-					uni.setStorageSync('user', res.data.data.user);
-					uni.setStorageSync('people_code', res.data.data.user.people_code);
-					// 存储电话号码
-					uni.setStorageSync('mobile', res.data.data.user.mobile);
-				
+				if(uni.getStorageSync('Authorization')){
 					// 初始化当前煤矿编码
 					this.mine_code = uni.getStorageSync('mine_code')
 					// 根据矿编码切换首页接口不同的请求基础路径
 					this.base_url = set_base_url(this.mine_code)
 					this.staff_num = uni.getStorageSync('user').staff_num
 					this.get_examination_get_detail()
-				})
+				}else{
+					this.$api.oauth_sso({
+						url: window.location.href
+					}).then((res) => {
+						uni.setStorageSync('Authorization', res.data.data.accessToken)
+						uni.setStorageSync('token_type', res.data.data.token_type)
+						// 存储用户基本信息
+						uni.setStorageSync('user', res.data.data.user);
+						uni.setStorageSync('people_code', res.data.data.user.people_code);
+						// 存储电话号码
+						uni.setStorageSync('mobile', res.data.data.user.mobile);
+					
+						window.location.reload()
+					})
+				}
 			}else{
 				// 初始化当前煤矿编码
 				this.mine_code = uni.getStorageSync('mine_code')

BIN
pages/my/scan/icon/bg.png


BIN
pages/my/scan/icon/scan.png


BIN
pages/my/scan/icon/scan_border.png


BIN
pages/my/scan/icon/section_1.png


BIN
pages/my/scan/icon/section_2.png


+ 184 - 0
pages/my/scan/scan.vue

@@ -0,0 +1,184 @@
+<template>
+	<view>
+		<!-- 背景图 -->
+		<view class="top">
+			<image src="./icon/bg.png" mode="aspectFill"></image>
+		</view>
+		
+		<view class="section_1">
+			<view class="user">
+				<view class="name">{{user.name}}</view>
+				<view class="inner">
+					<view class="text">工号:{{user.staff_num}}</view>
+					<view class="text">部门:{{user.section}}</view>
+				</view>
+			</view>
+			<view class="scan">
+				<view style="width: 286rpx;padding-left: 24rpx;">
+					<yz-qr :qrPath.sync="qrPath" :text="text" :size="size" :quality="quality" :colorDark="colorDark"
+						:colorLight="colorLight"></yz-qr>
+				</view>
+			</view>
+			
+		</view>
+
+		<view class="section_2">
+			<view class="title">扫码记录</view>
+			<view class="list" v-if="list.length > 0">
+				<view class="line">
+					<view class="time">时间</view>
+					<view class="text">结果</view>
+				</view>
+				<view class="line" v-for="(item,index) in list" :key="index" v-if="index<8">
+					<view class="time">{{item.created_at}}</view>
+					<view class="text" v-if="item.type == 1">入矿</view>
+					<view class="text" v-if="item.type == 2">堂食</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				user: {},
+				scan_img: "",
+				list: [],
+
+				// 生成二维码
+				qrPath: '',
+				text: '',
+				size: 143,
+				quality: 'L',
+				colorDark: '#000000',
+				colorLight: '#ffffff'
+			};
+		},
+		onLoad() {
+			this.user = uni.getStorageSync('user')
+			console.log(this.user)
+			this.text = 'http://webdevelop.nxjiewei.com/assets/html/zhks-quankuang/yangchangwan/h5/#/pages/my/scan/scan_result/scan_result?staff_num=' +
+					this.user.staff_num + '&section_fullname=' + this.user.section + '&name=' + this.user.name
+			this.get_scan()
+			console.log(this.scan_img)
+		},
+		methods: {
+			get_scan() {
+				this.$api.qr_code_userQrcodeInfo({
+
+				}).then((res) => {
+					console.log(res.data.data)
+					this.scan_img = res.data.data.url
+					this.list = res.data.data.record
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.top {
+		z-index: -1;
+		position: fixed;
+		top: 1;
+		left: 0;
+
+		image {
+			width: 750rpx;
+			height: 746rpx;
+		}
+	}
+
+	.section_1 {
+		margin: 0 auto;
+		width: 700rpx;
+		height: 640rpx;
+		background-image: url('./icon/section_1.png');
+		background-size: cover;
+
+		.user {
+			padding-top: 90rpx;
+			padding-bottom: 30rpx;
+
+			.name {
+				font-size: 42rpx;
+				font-weight: 700;
+				text-align: center;
+				margin-bottom: 20rpx;
+			}
+
+			.inner {
+				display: flex;
+				justify-content: space-between;
+				line-height: 40rpx;
+
+				box-sizing: border-box;
+				padding: 0 100rpx;
+
+				.text {
+					font-size: 28rpx;
+					color: #666;
+				}
+			}
+		}
+
+		.scan {
+			margin: 0 auto;
+			width: 346rpx;
+			height: 346rpx;
+			background-image: url('./icon/scan_border.png');
+			background-size: cover;
+			box-sizing: border-box;
+			// padding: 25rpx 30rpx;
+			// padding-left: 24rpx;
+			// padding-top: 30rpx;
+			
+			display: flex;
+			align-items: center;
+		}
+	}
+
+	.section_2 {
+		margin: -26rpx auto 0;
+		box-sizing: border-box;
+		padding: 50rpx 20rpx;
+		width: 650rpx;
+		height: 640rpx;
+		background-image: url('./icon/section_2.png');
+		// background-size: cover;
+		background-size: 100% 100%;
+
+		.title {
+			text-align: center;
+			font-size: 36rpx;
+			font-weight: 700;
+		}
+
+		.list {
+			.line:first-child {
+				font-size: 30rpx;
+				font-weight: 700;
+				line-height: 80rpx;
+			}
+
+			.line {
+				display: flex;
+				justify-content: space-around;
+				text-align: center;
+				font-size: 28rpx;
+				color: #666;
+				line-height: 50rpx;
+
+				.time {
+					width: 350rpx;
+				}
+
+				.text {
+					width: 150rpx;
+				}
+			}
+		}
+	}
+</style>

+ 204 - 0
pages/my/scan/scan_result/scan_result.vue

@@ -0,0 +1,204 @@
+<template>
+	<view>
+		<!-- 背景图 -->
+		<view class="top">
+			<image src="../icon/bg.png" mode="aspectFill"></image>
+		</view>
+
+		<view class="section_1">
+			<view class="user">
+				<view class="name">{{name}}</view>
+				<view class="inner">
+					<view class="text">工号:{{staff_num}}</view>
+					<view class="text">部门:{{section}}</view>
+				</view>
+			</view>
+			<view class="result">
+				<uni-icons type="checkbox" size="100" color="#52C41A"></uni-icons>
+				<view class="text">
+					正常
+				</view>
+			</view>
+		</view>
+
+		<view class="section_2">
+			<view class="btn_list">
+				<view class="btn" @click="post_result(1)" :style="state?'':'background-color: #ccc;'">
+					<view class="icon">
+						<uni-icons type="download-filled" size="30" color="#fff"></uni-icons>
+					</view>
+					<view class="text">
+						入矿
+					</view>
+				</view>
+				<view class="btn" @click="post_result(2)" :style="state?'':'background-color: #ccc;'">
+					<view class="icon">
+						<uni-icons type="home-filled" size="30" color="#fff"></uni-icons>
+					</view>
+					<view class="text">
+						堂食
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				staff_num: "",
+				section: "",
+				name: "",
+
+				// 提交状态
+				state: true
+			};
+		},
+		onLoad() {
+			function GetQueryString(name) {
+				let reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
+				if (window.location.hash.indexOf("?") < 0) {
+					return null;
+				}
+				let r = window.location.hash.split("?")[1].match(reg);
+				if (r != null) return decodeURIComponent(r[2]);
+				return null;
+			}
+
+			// 调用方法
+			// alert(GetQueryString("参数名1"));
+			// alert(GetQueryString("参数名2"));
+			this.staff_num = GetQueryString("staff_num")
+			this.name = GetQueryString("name")
+			this.section = GetQueryString("section_fullname")
+
+		},
+		methods: {
+			post_result(type) {
+				if (this.state) {
+					console.log(type)
+
+					this.$api.qr_code_scanningRecord({
+						staff_num: this.staff_num,
+						type: type
+					}).then((res) => {
+						uni.showToast({
+							icon: "none",
+							title: "记录成功"
+						})
+						this.state = false
+					})
+
+				} else {
+					uni.showToast({
+						icon: "none",
+						title: "已经提交过了,请不要重复提交!"
+					})
+				}
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.top {
+		z-index: -1;
+		position: fixed;
+		top: 0;
+		left: 0;
+
+		image {
+			width: 750rpx;
+			height: 746rpx;
+		}
+	}
+
+	.section_1 {
+		margin: 0 auto;
+		margin-top: 50rpx;
+		width: 700rpx;
+		height: 640rpx;
+		background-image: url('../icon/section_1.png');
+		background-size: cover;
+
+		.user {
+			padding-top: 90rpx;
+			padding-bottom: 30rpx;
+
+			.name {
+				font-size: 42rpx;
+				font-weight: 700;
+				text-align: center;
+				margin-bottom: 20rpx;
+			}
+
+			.inner {
+				display: flex;
+				justify-content: space-between;
+				line-height: 40rpx;
+
+				box-sizing: border-box;
+				padding: 0 100rpx;
+
+				.text {
+					font-size: 28rpx;
+					color: #666;
+				}
+			}
+		}
+
+		.result {
+			margin-top: 20rpx;
+			text-align: center;
+
+			.text {
+				margin-top: 20rpx;
+				color: #52C41A;
+				font-size: 40rpx;
+				font-weight: 700;
+			}
+		}
+	}
+
+	.section_2 {
+		margin: -26rpx auto 0;
+		box-sizing: border-box;
+		padding: 50rpx 20rpx;
+		width: 650rpx;
+		height: 420rpx;
+		background-image: url('../icon/section_2.png');
+		background-size: cover;
+
+		.btn_list {
+			margin-top: 50rpx;
+			display: flex;
+			justify-content: space-around;
+
+			.btn {
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				width: 270rpx;
+				height: 100rpx;
+				background-color: #009DD1;
+				border-radius: 20rpx;
+
+				.icon {
+					margin-right: 20rpx;
+				}
+
+				.text {
+					font-size: 46rpx;
+					font-weight: 700;
+					color: #fff;
+				}
+			}
+
+			.btn:nth-child(2) {
+				background-color: #FF7E00;
+			}
+		}
+	}
+</style>

+ 30 - 9
pages/ningdongyunying/personnel_orientation/personnel_orientation.vue

@@ -5,17 +5,24 @@
 		</view>
 		<view class="content">
 
-			<view class="charts-box" v-if="chartData.series[0].data[0].value">
-				<qiun-data-charts type="ring" :opts="ring_1" :chartData="chartData" background="none" />
+			<view class="section">
+				<view class="title">当前井下人数</view>
+				<view class="charts-box" v-if="chartData.series[0].data[0].value">
+					<qiun-data-charts type="ring" :opts="ring_1" :chartData="chartData" background="none" />
+				</view>
 			</view>
 
+			<!-- 下井趋势 -->
+			<personnel-orientation-population-trend mine="all"></personnel-orientation-population-trend>
+
 			<view class="list">
-				<view class="item" v-for="(item,index) in list" :key="index" @click="go_personnel_orientation(item.mine_code)">
+				<view class="item" v-for="(item,index) in list" :key="index"
+					@click="go_personnel_orientation(item.mine_code)">
 					<view class="title" :style="{borderLeftColor: item.color}">{{item.cocalminename}}</view>
 					<view class="inner">
 						<view class="box" v-for="(item_2,index_2) in item.data">
 							<view class="name">{{item_2.title}}</view>
-							<view class="num">{{item_2.num}}</view>
+							<view class="num">{{item_2.num}}</view>
 						</view>
 					</view>
 					<!-- <view class="right_arrow">
@@ -56,7 +63,7 @@
 						"position": "bottom",
 					},
 					"title": {
-						"name": "当日下井总人数",
+						"name": "当前井下人数",
 						"color": "#555",
 					},
 					"subtitle": {
@@ -65,7 +72,7 @@
 					},
 					"extra": {
 						"ring": {
-							"centerColor": "#F1F1F1",
+							"centerColor": "#FFF",
 							"border": false,
 						},
 
@@ -74,7 +81,6 @@
 
 
 				list: []
-
 			};
 		},
 		onLoad() {
@@ -110,7 +116,7 @@
 
 <style lang="scss">
 	page {
-		background-color: #F1F1F1;
+		background-color: #f2faf7;
 	}
 
 	.top {
@@ -122,7 +128,7 @@
 
 	/* 请根据需求修改图表容器尺寸,如果父容器没有高度图表则会显示异常 */
 	.charts-box {
-		width: 100%;
+		width: 350px;
 		height: 300px;
 	}
 
@@ -133,6 +139,21 @@
 		padding: 25rpx;
 	}
 
+	.section {
+		width: 700rpx;
+		background-color: #FFFFFF;
+		border-radius: 8px;
+		overflow: hidden;
+
+		padding-bottom: 30rpx;
+		margin-bottom: 25rpx;
+
+		.title {
+			padding: 40rpx 20rpx 0;
+			font-weight: 700;
+		}
+	}
+
 	.list {
 		.item {
 			width: 700rpx;

+ 1 - 1
pages/ningdongyunying/production_statistics/production_statistics.vue

@@ -7,7 +7,7 @@
 		<view class="content">
 
 			<view class="section">
-				<view class="title" style="text-align: center;">当日集团产量</view>
+				<view class="title" style="text-align: center;">当日公司产量</view>
 				<view class="inner">
 					<p-production-statistics-section-1></p-production-statistics-section-1>
 				</view>

+ 7 - 7
pages/origanization/communication/origanization/personal_information/personal_information_peixun.vue

@@ -5,14 +5,18 @@
 				<view class="left">
 					<view class="line name">{{user_info.name}} <text style="font-size: 34rpx;margin-left: 100rpx;">{{staff_num}}</text> </view>
 					<view class="line">
-						<view class="item">
+						<view class="item" style="width: 110rpx;">
 							<view class="label">年龄</view>
 							<view class="box">{{user_info.age}}岁</view>
 						</view>
-						<view class="item">
+						<view class="item" style="width: 110rpx;">
 							<view class="label">性别</view>
 							<view class="box">{{user_info.sex}}</view>
 						</view>
+						<view class="item">
+							<view class="label">出生年月</view>
+							<view class="box">{{user_info.birthday}}</view>
+						</view>
 					</view>
 				</view>
 				<view class="right">
@@ -33,10 +37,6 @@
 						<view class="label">职务/岗位</view>
 						<view class="box">{{user_info.job_as}}</view>
 					</view>
-					<!-- <view class="item">
-						<view class="label">职称</view>
-						<view class="box">无</view>
-					</view> -->
 				</view>
 				<view class="line">
 					<view class="item">
@@ -91,7 +91,7 @@
 					<view class="text" v-if="index == 2">持证记录</view>
 					<view class="text" v-if="index == 3">考试记录</view>
 					<view class="text" v-if="index == 4">工作简历</view>
-					<view class="text" v-if="index == 5">个人荣誉</view>
+					<view class="text" v-if="index == 5">个人证件</view>
 				</view>
 			</view>
 			<view class="content">

+ 19 - 10
pages/production/personnel_orientation/personnel_orientation.vue

@@ -61,7 +61,7 @@
 							<uni-th align="center" width="80">占比</uni-th>
 						</uni-tr>
 						<!-- 表格数据行 -->
-						<uni-tr v-for="(item,index) in table" :key="index" @row-click="table_detail(item.depart_name)">
+						<uni-tr v-for="(item,index) in table" :key="index" @row-click="table_detail(item.depart_name)" v-if="item.pepole_num > 0">
 							<uni-td style="vertical-align: middle;" align="center">
 								<view>{{item.depart_name}}</view>
 							</uni-td>
@@ -81,6 +81,9 @@
 				<canvas style="width: 700upx; height:2500upx;" canvas-id="canvasColumn" id="canvasColumn"
 					class="charts-rotate" @touchstart="touchColumn"></canvas>
 			</p-personnel-orientation-section-4>
+			
+			<!-- 下井趋势 -->
+			<personnel-orientation-population-trend :mine="mine"></personnel-orientation-population-trend>
 		</view>
 	</view>
 </template>
@@ -113,7 +116,7 @@
 
 
 				// 今日部门人数统计
-				departType: "now",
+				departType: "today",
 
 
 				lastTapTimeoutFunc: null,
@@ -158,6 +161,14 @@
 				this.updated_at = res.data.data.updated_at
 			})
 			
+			
+			this.$p_api.personnel_depart_today({
+				type: 'now',
+				mine: this.mine
+			}).then((res) => {
+				this.table = res.data.data
+			})
+			
 			// this.get_product_data_query_power()
 		},
 		methods: {
@@ -185,9 +196,9 @@
 			changeDepart(type) {
 				// console.log(type)
 				if (type == 1) {
-					this.departType = "today"
-				} else {
 					this.departType = "now"
+				} else {
+					this.departType = "today"
 				}
 				console.log(this.departType)
 				this.getServerData4();
@@ -195,6 +206,7 @@
 
 			// 当前人员统计
 			getServerData() {
+				
 				this.$p_api.personnel_people_now({
 					mine: this.mine
 				}).then((res) => {
@@ -546,14 +558,13 @@
 			// 今日各部门人数统计
 			getServerData4() {
 				// console.log(this.departType)
+				
 				this.$p_api.personnel_depart_today({
 					type: this.departType,
 					mine: this.mine
 				}).then((res) => {
 					console.log(res.data.data)
 					
-					this.table = res.data.data
-
 					let ColumnColumn = {
 						"categories": [],
 						"seriesData": []
@@ -640,8 +651,6 @@
 			touchColumn(e) {
 				canvaColumn.showToolTip(e, {
 					format: (item, category) => {
-
-
 						let _this = this;
 						let curTime = new Date().getTime();
 						let lastTime = _this.lastTapDiffTime;
@@ -687,13 +696,13 @@
 
 <style lang="scss">
 	page {
-		background-color: #f3f3f3;
+		background-color: #f2faf7;
 	}
 
 	.content {
 		box-sizing: border-box;
 		padding: 0 15rpx;
-		background-color: #f3f3f3;
+		background-color: #f2faf7;
 
 		.section_title {
 			text-align: center;

+ 14 - 14
pages/production/qingshuiying/zidonghua_list/zidonghua_list.vue

@@ -172,21 +172,21 @@
 				data_zys: [{
 					name: "清水营煤矿",
 					list: [{
-							name: "06机巷皮带监控系统",
-							url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/06jx_pd/06jx_pd"
+							name: "主运输一号皮带",
+							url: "../../unified_automation_system/belt_conveyor/belt_conveyor?system_type=belt_1"
 						},
-						{
-							name: "07风巷皮带监控系统",
-							url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/07fx_pd/07fx_pd"
-						},
-						{
-							name: "二煤上山皮带监控系统",
-							url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/emss_pd/emss_pd"
-						},
-						{
-							name: "井下皮带监控系统",
-							url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/jx_pd/jx_pd"
-						}
+						// {
+						// 	name: "07风巷皮带监控系统",
+						// 	url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/07fx_pd/07fx_pd"
+						// },
+						// {
+						// 	name: "二煤上山皮带监控系统",
+						// 	url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/emss_pd/emss_pd"
+						// },
+						// {
+						// 	name: "井下皮带监控系统",
+						// 	url: "http://webdevelop.nxjiewei.com/assets/html/qingshuiying/zidonghua_app/#/pages/index/jx_pd/jx_pd"
+						// }
 					]
 				}, ],
 

+ 8 - 10
pages/production/renjiazhuang/life_water/life_water.vue

@@ -1,6 +1,6 @@
 <template>
 	<view>
-		<view v-for="(item,index) in data.cabinet" :key="index">
+		<view v-if="data.cabinet" v-for="(item,index) in data.cabinet" :key="index">
 			<view class="title">
 				<view class="icon">
 					<image src="../icon/canshu.png" mode=""></image>
@@ -48,7 +48,7 @@
 					<view class="label">{{item.label}}</view>
 					<!-- 1-开 2-关 -->
 					<view class="value value_1" v-if="item.state == 1"></view>
-					<view class="value value_2" v-if="item.state == 2"></view>
+					<view class="value value_2" v-else></view>
 				</view>
 			</view>
 		</view>
@@ -63,7 +63,7 @@
 			</view>
 			<view class="list">
 				<view class="item" v-for="(item_2,index_2) in data.parameter" :key="index_2"
-					@click="show_state(item_2)">
+					@click="show_item(item_2)">
 					<view class="label">{{item_2.label}}</view>
 					<view class="value">{{item_2.state}}</view>
 					<view class="unit">{{item_2.unit}}</view>
@@ -88,18 +88,16 @@
 			};
 		},
 		onLoad(option) {
-			this.data = data
-			console.log(this.data)
 			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)
+			this.get_data()
+			this.data_timer = setInterval(() => {
+				this.get_data()
+			}, 10000)
 		},
 		methods: {
 			show_item(item) {
@@ -110,7 +108,7 @@
 			},
 			get_data() {
 				this.$api.unified_automation_system({
-					mine_code: 'renjiazhuang',
+					mine_code: this.mine_code,
 					system_type: this.system_type
 				}).then((res) => {
 					console.log(res)

+ 40 - 46
pages/production/renjiazhuang/water_point/water_point.vue

@@ -1,49 +1,45 @@
 <template>
 	<view>
-		<view v-for="(item,index) in data.cabinet" :key="index">
-			<view class="common" v-if="data.common"  v-for="(item,index) in data.common" :key="index">
-				<view class="text">
-					{{item.name}}
-				</view>
-				<view class="list">
-					<view class="item" v-for="(item_2,index_2) in item.data" :key="index_2" @click="show_item(item_2)">
-						<view class="label">{{item_2.label}}</view>
-						<view class="value">{{item_2.value}}</view>
-						<view class="unit">{{item_2.unit}}</view>
-					</view>
-				</view>
+		<view class="common" v-if="data.common"  v-for="(item,index) in data.common" :key="index">
+			<view class="text">
+				{{item.name}}
 			</view>
-			
-			<view class="title">
-				<view class="icon">
-					<image src="../icon/canshu.png" mode=""></image>
+			<view class="list">
+				<view class="item" v-for="(item_2,index_2) in item.data" :key="index_2" @click="show_item(item_2)">
+					<view class="label">{{item_2.name}}</view>
+					<view class="value">{{item_2.value}}</view>
+					<view class="unit">{{item_2.unit}}</view>
 				</view>
-				<view class="text">{{item.title}}</view>
 			</view>
-			<!-- 水泵 -->
-			<view class="pump_list">
-				<view class="pump" v-for="(item_2,index_2) in item.data" :key="index_2">
-					<view class="icon" v-if="item_2.state == 1">
-						<image src="../icon/water_pump_kai.jpg" mode=""></image>
-					</view>
-					<view class="icon" v-else>
-						<image src="../icon/water_pump.png" mode=""></image>
-					</view>
-					<view class="name">{{item_2.name}}</view>
-					<view class="state">
-						<view class="label">状态</view>
-						<!-- 1-开 2-关 -->
-						<view class="value value_1" v-if="item_2.state == 1"></view>
+		</view>
+		
+		<view class="title">
+			<view class="icon">
+				<image src="../icon/canshu.png" mode=""></image>
+			</view>
+			<view class="text">{{data.cabinet.title}}</view>
+		</view>
+		<!-- 水泵 -->
+		<view class="pump_list">
+			<view class="pump" v-for="(item_2,index_2) in data.cabinet.data" :key="index_2">
+				<view class="icon" v-if="item_2.state == 1">
+					<image src="../icon/water_pump_kai.jpg" mode=""></image>
+				</view>
+				<view class="icon" v-else>
+					<image src="../icon/water_pump.png" mode=""></image>
+				</view>
+				<view class="name">{{item_2.name}}</view>
+				<view class="state">
+					<view class="label">状态</view>
+					<view class="value value_1" v-if="item_2.state == 1"></view>
+					<view class="value value_2" v-else></view>
+				</view>
+				<view class="list">
+					<view class="state" v-for="(item_3,index_3) in item_2.state_list" :key="index_3">
+						<view class="label">{{item_3.name}}</view>
+						<view class="value value_1" v-if="item_3.state == 1"></view>
 						<view class="value value_2" v-else></view>
 					</view>
-					<view class="list">
-						<view class="state" v-for="(item_3,index_3) in item_2.state_list" :key="index_3">
-							<view class="label">{{item_3.name}}</view>
-							<!-- 1-开 2-关 -->
-							<view class="value value_1" v-if="item_3.state == 1"></view>
-							<view class="value value_2" v-else></view>
-						</view>
-					</view>
 				</view>
 			</view>
 		</view>
@@ -65,24 +61,22 @@
 			};
 		},
 		onLoad(option) {
-			this.data = data
-			console.log(this.data)
 			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)
+			this.get_data()
+			this.data_timer = setInterval(() => {
+				this.get_data()
+			}, 10000)
 		},
 		methods: {
 			show_item(item) {
 				uni.showToast({
 					icon: "none",
-					title: item.label + "  " + item.value + "  " + item.unit
+					title: item.name + "  " + item.value + "  " + item.unit
 				})
 			},
 			get_data() {

+ 4 - 1
pages/production/renjiazhuang/zidonghua_list/zidonghua_list.vue

@@ -260,7 +260,10 @@
 						url: "../life_water/life_water?system_type=life_water_1"
 					},{
 						name: "副立井生活水",
-						url: "../water_point/water_point?system_type=life_water_2"
+						url: "../life_water/life_water?system_type=life_water_2"
+					},{
+						name: "供水站子系统",
+						url: "../water_point/water_point?system_type=water_point"
 					}]
 				}],
 

+ 3 - 3
pages/production/unified_automation_system/belt_conveyor/belt_conveyor.vue

@@ -20,7 +20,7 @@
 			</view>
 			<view class="name">{{data.name}}</view>
 			<!-- 电机运行参数 -->
-			<view class="parameter" v-if="mine_code != 'renjiazhuang'">
+			<view class="parameter" v-if="mine_code != 'renjiazhuang' && mine_code != 'qingshuiying'">
 				<view class="title">
 					<view class="icon">
 						<image src="./icon/canshu.png" mode=""></image>
@@ -51,7 +51,7 @@
 				</view>
 			</view>
 			
-			<view class="parameter" v-if="mine_code == 'renjiazhuang'" style="margin-bottom: 80rpx;">
+			<view class="parameter" v-if="mine_code == 'renjiazhuang' || mine_code == 'qingshuiying'" style="margin-bottom: 80rpx;">
 				<view class="title">
 					<view class="icon">
 						<image src="./icon/canshu.png" mode=""></image>
@@ -190,7 +190,7 @@
 			</view>
 			
 			<!-- 沿线闭锁状态 -->
-			<view class="parameter atresia" v-if="atresia">
+			<view class="parameter atresia" v-if="data.atresia">
 				<view class="title">
 					<view class="icon">
 						<image src="./icon/canshu.png" mode=""></image>

+ 5 - 5
pages/production/unified_automation_system/nitrogen_production_system/nitrogen_production_system.vue

@@ -7,7 +7,7 @@
 				<view class="state">
 					<!-- 1-开 2-关 -->
 					<view class="value value_1" v-if="item.state == 1"></view>
-					<view class="value value_2" v-if="item.state == 2"></view>
+					<view class="value value_2" v-else></view>
 				</view>
 			</view>
 		</view>
@@ -15,10 +15,10 @@
 		<!-- 制氮机参数 -->
 		<view class="content">
 			<view class="nitrogen_production" v-for="(item,index) in data" :key="index" v-show="active == index">
-				<view class="icon"v-if="item.state == 1">
+				<view class="icon" v-if="item.state == 1">
 					<image src="./icon/nitrogen_production_kai.gif" mode=""></image>
 				</view>
-				<view class="icon"v-if="item.state == 2">
+				<view class="icon" v-else>
 					<image src="./icon/nitrogen_production.png" mode=""></image>
 				</view>
 				<view class="name">{{item.name}}</view>
@@ -26,7 +26,7 @@
 					<view class="label">状态</view>
 					<!-- 1-开 2-关 -->
 					<view class="value value_1" v-if="item.state == 1"></view>
-					<view class="value value_2" v-if="item.state == 2"></view>
+					<view class="value value_2" v-else></view>
 				</view>
 				<!-- 运行参数 -->
 				<view class="parameter run_parameter">
@@ -73,7 +73,7 @@
 							<view class="label">{{item_2.label}}</view>
 							<!-- 1-开 2-关 -->
 							<view class="value value_1" v-if="item_2.state == 1"></view>
-							<view class="value value_2" v-if="item_2.state == 2"></view>
+							<view class="value value_2" v-else></view>
 						</view>
 					</view>
 				</view>

+ 1 - 1
pages/production/video_monitor/video_monitor.vue

@@ -14,7 +14,7 @@
 		onLoad(option) {
 			this.href = "http://webdevelop.nxjiewei.com/assets/html/video/?mine_code=" + option.mine_code
 			
-			this.get_product_data_query_power()
+			// this.get_product_data_query_power()
 		},
 		methods:{
 			// get_product_data_query_power(){

+ 0 - 496
pages/tabbar/index/index - 全矿适配版.vue

@@ -1,496 +0,0 @@
-<template>
-	<view>
-		<!-- 首页风格切换-1-切换风格 -->
-		<view class="top_bg_color" v-if="index_type == 1">
-			<!-- 背景虚化轮播图 -->
-			<!-- <view class="bg_img" :style="{backgroundImage:'url('+top_bg_color_img+')'}"></view> -->
-			<!-- 固定安全色 -->
-			<view class="bg_img" :style="{backgroundColor:top_bg_color}"></view>
-
-			<t-i-navbar :mine_code="mine_code" :navbar_bg_color="navbar_bg_color"></t-i-navbar>
-			<t-i-notice :text="text"></t-i-notice>
-			<t-i-banner :banner="banners" :mine_code="mine_code" @change_top_bg_color_img="change_top_bg_color_img">
-			</t-i-banner>
-		</view>
-		<!-- 首页风格切换-2-默认风格 -->
-		<view v-if="index_type == 2">
-			<t-i-navbar-2 :mine_code="mine_code"></t-i-navbar-2>
-			<t-i-notice-2 :text="text"></t-i-notice-2>
-			<t-i-banner-2 :banner="banners" :mine_code="mine_code" @change_top_bg_color_img="change_top_bg_color_img">
-			</t-i-banner-2>
-		</view>
-
-		<view v-if="mine_code == 'ningdongyunying'">
-			<t-i-ice :iceList="ice_list" :mine_code="mine_code"></t-i-ice>
-		</view>
-
-		<view v-if="mine_code == 'yangchangwan'">
-			<t-i-ice :iceList="ice_list" :mine_code="mine_code"></t-i-ice>
-		</view>
-		
-		<view v-if="mine_code == 'shicaocun'">
-			<t-i-ice :iceList="ice_list" :mine_code="mine_code"></t-i-ice>
-		</view>
-
-		<t-i-icon v-if="mine_code == 'ningmeijituan' || 'wuyegongsi'" :iconList="iconList" :mine_code="mine_code"></t-i-icon>
-
-		<!-- 新闻列表 -->
-		<t-i-news :newsList="newsList" :mine_code="mine_code"></t-i-news>
-
-		<!-- 固定入口 -->
-		<t-i-icon v-if="mine_code != 'ningmeijituan' && iconList.length > 0" :iconList="iconList" :mine_code="mine_code"></t-i-icon>
-
-		<!-- 常用功能 -->
-		<t-i-common v-if="mine_code == 'ningdongyunying'"></t-i-common>
-
-		<!-- 开屏通告 -->
-		<openingNotice></openingNotice>
-
-		<!-- 宁东运营 -->
-		<view v-if="mine_code == 'ningdongyunying'">
-			<t-i-ningdongyunying :mine_code="mine_code" :home_link="home_link" v-if="home_link.length > 0">
-			</t-i-ningdongyunying>
-		</view>
-
-		<!-- 宁煤集团 -->
-		<view v-if="mine_code == 'ningmeijituan'">
-			<t-i-ningmeijituan :mine_code="mine_code" :home_link="home_link" v-if="home_link.length > 0">
-			</t-i-ningmeijituan>
-		</view>
-
-		<!-- 金家渠 -->
-		<view v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'">
-			<t-i-jinjiaqu :mine_code="mine_code" :home_link="home_link" v-if="home_link.length > 0"></t-i-jinjiaqu>
-		</view>
-
-		<!-- 石槽村 -->
-		<view v-if="mine_code == 'shicaocun'">
-			<t-i-shicaocun :mine_code="mine_code" :home_link="home_link" v-if="home_link.length > 0"></t-i-shicaocun>
-		</view>
-
-		<!-- 金凤 -->
-		<view v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'">
-			<t-i-jinfeng :mine_code="mine_code" :home_link="home_link" v-if="home_link.length > 0"></t-i-jinfeng>
-		</view>
-
-		<!-- 羊场湾 -->
-		<view v-if="mine_code == 'yangchangwan'">
-			<t-i-yangchangwan :mine_code="mine_code" :home_link="home_link" v-if="home_link.length > 0">
-			</t-i-yangchangwan>
-		</view>
-
-
-	</view>
-</template>
-
-<script>
-	import {
-		set_base_url
-	} from '@/common/set_base_url.js'
-	import {
-		goToLink
-	} from '@/common/common.js'
-	// 版本控制
-	import upApp from "@/uni_modules/uni-upgrade-center-app/utils/check-update"
-
-	export default {
-		data() {
-			return {
-				// 根_mine_code
-				app_mine_code: "",
-				// 当前煤矿编码
-				mine_code: "",
-
-				// 首页接口的基础请求路径  默认为当前矿编码的基础路径
-				base_url: " ",
-
-
-				// 轮播图
-				banners: [],
-				// 新闻列表
-				newsList: "",
-				// 值班公告
-				text: "",
-				// 固定入口
-				iconList: [],
-				iconList_arr: [],
-				iconList_data: [],
-				// 首页链接
-				home_link: [],
-
-				// 背景虚化图片
-				top_bg_color_img: "",
-				// 背景安全色
-				top_bg_color: "#7372c2",
-				// top_bg_color_list: ['#3e88c6', '#e75038', '#305471', '#f8bf3c', '#37ba73', '#7372c2'],
-				top_bg_color_list: ['#d62b2b', '#00a2e8', '#b08654'],
-				// 标题栏背景色
-				navbar_bg_color: "",
-
-				index_type: 1,
-
-				// 信息平台链接
-				ice_list: []
-			}
-		},
-		onPullDownRefresh() {
-			uni.reLaunch({
-				url: "./index"
-			})
-			setTimeout(function() {
-				uni.stopPullDownRefresh();
-			}, 1000);
-
-		},
-		onLoad() {
-			this.app_mine_code = uni.getStorageSync('mine_code')
-			// 初始化当前煤矿编码
-			this.mine_code = uni.getStorageSync('mine_code')
-			// 根据矿编码切换首页接口不同的请求基础路径
-			this.base_url = set_base_url(this.mine_code)
-			
-			// 风格定义
-			this.$api.home_style_setting({
-			
-			}).then((res) => {
-				// console.log(res.data.data)
-			
-				// this.index_type = res.data.data.value
-			})
-
-			// #ifdef H5
-			if (this.app_mine_code == 'ningmeijituan') {
-				if (window.location.href.indexOf('token') != -1) {
-					this.$api.oauth_getNoPasswordToken({
-						token: window.location.href.split('token=')[1].split('&')[0],
-						caller: window.location.href.split('token=')[1].split('&')[1].split('=')[1]
-					}).then((res) => {
-
-						uni.setStorageSync('Authorization', res.data.data.accessToken)
-						uni.setStorageSync('token_type', res.data.data.token_type)
-						// 存储用户基本信息
-						uni.setStorageSync('user', res.data.data.user);
-						uni.setStorageSync('people_code', res.data.data.user.people_code);
-						// 存储电话号码
-						uni.setStorageSync('mobile', res.data.data.user.mobile);
-					})
-				}else{
-					this.check_token()
-				}
-			}else{
-				this.check_token()
-			}
-			// #endif
-
-			// 检查更新
-			upApp()
-			
-			// #ifdef APP-PLUS
-			this.check_token()
-			// #endif
-
-
-			// 获取轮播图
-			this.get_banner()
-			// 获取首页新闻列表
-			this.getNews()
-			// 值班公告
-			this.get_notice()
-			// 固定入口
-			this.get_list()
-			this.get_home_link()
-			// 获取信息平台
-			this.get_ICE_list()
-		},
-		onPageScroll: function(e) {
-			if (e.scrollTop > 300) {
-				this.navbar_bg_color = "#009fe8"
-			} else {
-				this.navbar_bg_color = ""
-			}
-		},
-		onShow() {
-			// E信-切换矿
-			uni.$on('update_kuang', (data) => {
-				this.mine_code = data.msg
-
-				// 根据矿编码切换首页接口不同的请求基础路径
-				this.base_url = set_base_url(this.mine_code)
-				// uni.setStorageSync('base_url',this.base_url)
-
-
-				// 获取轮播图
-				this.get_banner()
-				// 获取首页新闻列表
-				this.getNews()
-				// 值班公告
-				this.get_notice()
-				// 固定入口
-				this.get_list()
-				this.get_home_link()
-				// 获取信息平台
-				this.get_ICE_list()
-				this.$forceUpdate()
-			})
-			uni.$on('common_update_kuang', (data) => {
-				this.mine_code = data.msg
-
-				// 根据矿编码切换首页接口不同的请求基础路径
-				this.base_url = set_base_url(this.mine_code)
-				// uni.setStorageSync('base_url',this.base_url)
-
-
-				// 获取轮播图
-				this.get_banner()
-				// 获取首页新闻列表
-				this.getNews()
-				// 值班公告
-				this.get_notice()
-				// 固定入口
-				this.get_list()
-				this.get_home_link()
-				// 获取信息平台
-				this.get_ICE_list()
-				this.$forceUpdate()
-			})
-
-			if (this.app_mine_code == 'ningdongyunying') {
-				this.setTabBarBadge()
-			}
-		},
-		methods: {
-			// 单点登录及token过期验证
-			check_token() {
-				// token过期验证
-				this.$api.worksheet_classify_list({
-
-				}).then((res) => {
-					// console.log(res)
-					if (res.data.code == 401) {
-						uni.showToast({
-							icon: "none",
-							title: "登录失效、请重新登录"
-						})
-
-						uni.clearStorageSync('Authorization');
-
-						setTimeout(function() {
-							uni.redirectTo({
-								url: "../../my/login/login"
-							})
-						}, 1500)
-					} else {
-						// console.log(res)
-					}
-				})
-			},
-
-			// 获取轮播图
-			get_banner() {
-				uni.request({
-					url: this.base_url + "/scrollImg/list",
-					method: "GET",
-					header:{
-						'accesskey': "b364b449a18af327867f7edc3431b541"
-					},
-					success: (res) => {
-						// console.log(res.data.data.data)
-						this.banners = res.data.data.data
-						this.top_bg_color_img = this.banners[0].imgURL
-					}
-				})
-			},
-			// 请求新闻动态
-			getNews() {
-				uni.request({
-					url: this.base_url + "/article/list",
-					method: "GET",
-					header:{
-						'accesskey': "b364b449a18af327867f7edc3431b541"
-					},
-					data: {
-						pageSize: 4
-					},
-					success: (res) => {
-						this.newsList = res.data.data.data
-					}
-				})
-			},
-			// 信息平台
-			get_ICE_list() {
-				this.ice_list = []
-				uni.request({
-					url: this.base_url + "/home/links",
-					header:{
-						'accesskey': "b364b449a18af327867f7edc3431b541"
-					},
-					success: (res) => {
-						// console.log(res.data.data)
-
-						if (this.mine_code == 'jinfeng') {
-							this.ice_list = res.data.data[2].children
-						} else if (this.mine_code == 'ningdongyunying') {
-							this.ice_list = res.data.data[1].children
-						} else if (this.mine_code == 'ningmeijituan') {
-							this.ice_list = res.data.data[1].children
-						} else if (this.mine_code == 'shicaocun') {
-							this.ice_list = res.data.data[0].children
-						} else if (this.mine_code == 'yangchangwan') {
-							this.ice_list = res.data.data[1].children
-						} else if (this.mine_code == 'shicaocun') {
-							this.ice_list = res.data.data[0].children
-						}
-					}
-				})
-			},
-			// 值班公告
-			get_notice() {
-				uni.request({
-					url: this.base_url + "/notice/list",
-					method: "GET",
-					header:{
-						'accesskey': "b364b449a18af327867f7edc3431b541"
-					},
-					success: (res) => {
-						if (!res.data.data.content) {
-							this.text = res.data.data.message
-						} else {
-							this.text = res.data.data.content.replace(/<br /g, " ").replace(/>/g, " ").replace(
-								/\//g, " ")
-						}
-					}
-				})
-			},
-			// 固定入口
-			get_list() {
-				this.iconList = []
-				// 加分组
-				uni.request({
-					url: this.base_url + "/homeNav/listByCategory",
-					header:{
-						'accesskey': "b364b449a18af327867f7edc3431b541"
-					},
-					method: "GET",
-					success: (res) => {
-						// console.log(res.data.data)
-						this.iconList = res.data.data
-					}
-				})
-			},
-			// 首页链接
-			get_home_link() {
-				this.home_link = []
-				uni.request({
-					url: this.base_url + "/home/links",
-					method: "GET",
-					header:{
-						'accesskey': "b364b449a18af327867f7edc3431b541"
-					},
-					success: (res) => {
-						// console.log(res)
-						this.home_link = res.data.data
-					}
-				})
-			},
-
-			// 切换背景图片
-			change_top_bg_color_img(index) {
-				// this.top_bg_color_img = this.banners[index].imgURL
-				if (index > 2) {
-					index = parseInt(3 * Math.random())
-				}
-
-				this.top_bg_color = this.top_bg_color_list[index]
-			},
-
-			setTabBarBadge() {
-				// 闭环管理
-				this.$api.five_fixed_fiveFixedNewCategory({
-
-				}).then((res) => {
-					// console.log(res.data.content.data)
-
-					let data = res.data.content.data
-					let num = 0
-
-					data.forEach((item, index) => {
-						num = num + item.no_num
-					})
-
-					if (this.mine_code == 'ningdongyunying') {
-						if (num > 0) {
-							uni.showTabBarRedDot({
-								index: 2,
-							})
-						}
-					}
-				})
-
-				this.$api.workflow_todo_query({
-					staff_num: uni.getStorageSync('user').staff_num,
-					query_type: 2
-				}).then((res) => {
-					let num = 0
-					num = res.data.content.data
-
-					if (this.mine_code == 'ningdongyunying') {
-						if (num > 0) {
-							uni.showTabBarRedDot({
-								index: 2,
-							})
-						}
-					}
-				})
-
-				this.$api.workflow_todo_query({
-					staff_num: uni.getStorageSync('user').staff_num,
-					query_type: 1
-				}).then((res) => {
-					let num = 0
-					num = res.data.content.data
-
-					if (this.mine_code == 'ningdongyunying') {
-						if (num > 0) {
-							uni.showTabBarRedDot({
-								index: 2,
-							})
-						}
-					}
-
-
-				})
-
-			}
-
-		}
-
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background-color: #F6FAF6;
-	}
-
-	.top_bg_color {
-		position: relative;
-
-		width: 750rpx;
-		overflow: hidden;
-
-		.bg_img {
-			width: 750rpx;
-			height: 440rpx;
-
-			position: absolute;
-			top: 0;
-			left: 0;
-			z-index: 0;
-			background-position: center;
-			background-size: 100% 100%;
-			filter: blur(50px);
-			transform: scale(2);
-			opacity: 0.9;
-		}
-	}
-</style>

Diferenças do arquivo suprimidas por serem muito extensas
+ 1122 - 0
pages/tabbar/index/index - 安宁.vue


Diferenças do arquivo suprimidas por serem muito extensas
+ 253 - 879
pages/tabbar/index/index.vue


+ 26 - 22
pages/tabbar/my/my.vue

@@ -6,26 +6,12 @@
 		</view>
 		<view class="content">
 			<view class="user" v-if="info.name">
-				<!-- <view class="left">
-					<view class="img">
-						<image v-if="user.avatar" :src="user.avatar" mode="aspectFill"></image>
-						<view class="avatar" v-if="!user.avatar" :style="{backgroundColor:bgColor[1]}">
-							{{user.name.split('').pop()}}
-						</view>
-
-					</view>
-					<view class="info">
-						<view class="name">{{user.name}}</view>
-						<view class="section">{{user.section}}</view>
-					</view>
-				</view> -->
 				<view class="left">
 					<view class="img">
 						<image v-if="info.avatar" :src="info.avatar" mode="aspectFill"></image>
 						<view class="avatar" v-if="!info.avatar" :style="{backgroundColor:bgColor[1]}">
 							{{info.name.split('').pop()}}
 						</view>
-
 					</view>
 					<view class="info">
 						<view class="name">{{info.name}}</view>
@@ -39,6 +25,12 @@
 						</view>
 						<view class="text">个人中心</view>
 					</view>
+					<view class="btn" v-if="mine_code == 'yangchangwan'" @click="go_scan()">
+						<view class="icon">
+							<uni-icons type="scan" color="#fff"></uni-icons>
+						</view>
+						<view class="text">二维码</view>
+					</view>
 				</view>
 			</view>
 
@@ -269,16 +261,16 @@
 		methods: {
 			// 个人信息
 			go_information() {
-				if(this.mine_code == 'ningmeijituan'){
+				if (this.mine_code == 'ningmeijituan') {
 					uni.navigateTo({
 						url: "../../my/personal_information/personal_information_peixun"
 					})
-				}else{
+				} else {
 					uni.navigateTo({
 						url: "../../my/personal_information/personal_information_info"
 					})
 				}
-				
+
 			},
 			// 查询使用时长
 			get_user_selectRecordDuration() {
@@ -298,7 +290,7 @@
 			login_out() {
 				let mine_code = uni.getStorageSync('mine_code')
 				uni.clearStorageSync();
-				uni.setStorageSync('mine_code',mine_code)
+				uni.setStorageSync('mine_code', mine_code)
 				uni.showToast({
 					icon: "none",
 					title: "退出登录"
@@ -481,6 +473,12 @@
 				uni.navigateTo({
 					url: "../../my/download/download"
 				})
+			},
+
+			go_scan() {
+				uni.navigateTo({
+					url: "../../my/scan/scan"
+				})
 			}
 		}
 	}
@@ -559,11 +557,11 @@
 			}
 
 			.right {
-				background-color: rgba(255, 255, 255, .3);
-				border-radius: 25rpx 0rpx 0rpx 25rpx;
-				padding: 5rpx 20rpx 5rpx 20rpx;
-
 				.btn {
+					background-color: rgba(255, 255, 255, .3);
+					border-radius: 25rpx 0rpx 0rpx 25rpx;
+					padding: 5rpx 20rpx 5rpx 20rpx;
+
 					display: flex;
 					align-items: center;
 
@@ -575,6 +573,12 @@
 						font-size: 24rpx;
 					}
 				}
+
+				.btn:nth-child(2) {
+					margin-top: 20rpx;
+					display: flex;
+					justify-content: space-between;
+				}
 			}
 		}
 

Diferenças do arquivo suprimidas por serem muito extensas
+ 2 - 2
unpackage/dist/build/app-plus/app-config-service.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 2 - 2
unpackage/dist/build/app-plus/app-service.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
unpackage/dist/build/app-plus/app-view.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
unpackage/dist/build/app-plus/manifest.json


BIN
unpackage/dist/build/app-plus/pages/my/scan/icon/bg.png


BIN
unpackage/dist/build/app-plus/pages/my/scan/icon/scan_border.png


BIN
unpackage/dist/build/app-plus/pages/my/scan/icon/section_1.png


BIN
unpackage/dist/build/app-plus/pages/my/scan/icon/section_2.png


Diferenças do arquivo suprimidas por serem muito extensas
+ 2 - 2
unpackage/dist/build/h5/index.html


BIN
unpackage/dist/build/h5/static/img/bg_img.aba8fc13.jpg


BIN
unpackage/dist/build/h5/static/img/day.db931fb3.png


BIN
unpackage/dist/build/h5/static/img/nav_1.4267132e.png


BIN
unpackage/dist/build/h5/static/img/nav_2.6e33ccad.png


BIN
unpackage/dist/build/h5/static/img/nav_3.c93b823e.png


BIN
unpackage/dist/build/h5/static/img/scan_border.a1394ee0.png


BIN
unpackage/dist/build/h5/static/img/section.2c8741d4.png


BIN
unpackage/dist/build/h5/static/img/section_1.d78a8df6.png


BIN
unpackage/dist/build/h5/static/img/section_2.6dea78df.png


BIN
unpackage/dist/build/h5/static/img/top_bg.6173550a.png


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/index.745653c6.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/index.9707f18a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 1
unpackage/dist/build/h5/static/js/pages-index-business_approval-business_approval~pages-index-integral-integral~pages-index-record-rec~d9bb5f8f.a6421fce.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-index-h5-h5.6aa0cc0c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-index-h5-h5.cbb88583.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-index-record-h5-h5.77397d35.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-index-record-h5-h5.d06b099d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-index-switch-kuang-switch-kuang.4d1c38d4.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-index-switch-kuang-switch-kuang.db149ce9.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-index-switch-kuang-switch-kuang~pages-tabbar-index-index.4b7070be.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-my-personal_information-honor-honor.2f3a135a.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-my-personal_information-honor-honor.dcaf8928.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-my-personal_information-personal_information_peixun.615c02a4.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-my-personal_information-personal_information_peixun.91709fb6.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-my-scan-scan.6ecad201.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-my-scan-scan_result-scan_result.2b6d8782.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-my-signature-signature.79110715.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-my-signature-signature.e408efea.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation.4575d744.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation.e1a4a2bd.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation~pages-origanization-communication-~4adf1e73.40939122.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-ningdongyunying-personnel_orientation-personnel_orientation~pages-origanization-communication-~a28bfef2.bd6f8d3c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_map-production_map~pages-tabbar-production-production.0431f1af.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_map-production_map~pages-tabbar-production-production.60646b5f.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics.c4f4f957.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics.e88e3b23.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics~pages-production-personnel_orienta~56c87fc5.e601632c.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-ningdongyunying-production_statistics-production_statistics~pages-production-production_report~c6c823b1.b9010026.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-origanization-OA-apply_list-apply_list.05e749b4.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-origanization-OA-apply_list-apply_list.ef83237e.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-origanization-communication-origanization-personal_information-personal_information_peixun.017653cb.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-origanization-communication-origanization-personal_information-personal_information_peixun.d17b2d5b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-people_track-people_track.2c6947ac.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-people_track-people_track.39b599a5.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-personnel_orientation.933f689b.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-production-personnel_orientation-personnel_orientation.f535c413.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 0 - 1
unpackage/dist/build/h5/static/js/pages-production-production_report-production_report.4b2854c0.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-production-production_report-production_report.fdd16c6d.js


Diferenças do arquivo suprimidas por serem muito extensas
+ 1 - 0
unpackage/dist/build/h5/static/js/pages-production-qingshuiying-zidonghua_list-zidonghua_list.0336c36d.js


+ 0 - 0
unpackage/dist/build/h5/static/js/pages-production-qingshuiying-zidonghua_list-zidonghua_list.079647f9.js


Alguns arquivos não foram mostrados porque muitos arquivos mudaram nesse diff