浏览代码

宁煤安全:安全管理体系

tiandewen 3 年之前
父节点
当前提交
32afe5863e
共有 100 个文件被更改,包括 6294 次插入620 次删除
  1. 13 1
      App.vue
  2. 34 2
      common/common.js
  3. 9 0
      common/production-http/production-api.js
  4. 9 0
      common/set_base_url.js
  5. 78 45
      common/time.js
  6. 46 0
      common/vmeitime-http/api.js
  7. 2 1
      common/vmeitime-http/interface.js
  8. 6 0
      components/e-link/e-link.vue
  9. 17 7
      components/e-video/e-video.vue
  10. 22 8
      components/openingNotice/openingNotice.vue
  11. 0 0
      components/origanizationSection/icon/close.png
  12. 0 0
      components/origanizationSection/icon/open.png
  13. 0 0
      components/origanizationSection/icon/title_icon.png
  14. 217 0
      components/origanizationSection/origanizationSection.vue
  15. 193 0
      components/t-i-bottom/t-i-bottom-OA.vue
  16. 194 0
      components/t-i-bottom/t-i-bottom.vue
  17. 1 1
      components/t-i-icon/t-i-icon.vue
  18. 190 0
      components/t-i-jinfeng/t-i-jinfeng - 副本.vue
  19. 10 24
      components/t-i-jinfeng/t-i-jinfeng.vue
  20. 213 0
      components/t-i-jinjiaqu/t-i-jinjiaqu - 副本.vue
  21. 11 15
      components/t-i-jinjiaqu/t-i-jinjiaqu.vue
  22. 45 23
      components/t-i-navbar-2/t-i-navbar-2.vue
  23. 57 32
      components/t-i-navbar/t-i-navbar.vue
  24. 2 1
      components/t-i-news/t-i-news.vue
  25. 223 0
      components/t-i-ningdongyunying/t-i-ningdongyunying - 原始适配版本备份.vue
  26. 25 45
      components/t-i-ningdongyunying/t-i-ningdongyunying.vue
  27. 212 0
      components/t-i-ningmeijituan/t-i-ningmeijituan.vue
  28. 13 8
      components/t-i-notice-2/t-i-notice-2.vue
  29. 10 5
      components/t-i-notice/t-i-notice.vue
  30. 211 0
      components/t-i-shicaocun/t-i-shicaocun - 原始适配版本备份.vue
  31. 10 14
      components/t-i-shicaocun/t-i-shicaocun.vue
  32. 104 0
      components/t-i-yangchangwan/t-i-yangchangwan - 原始适配版本.vue
  33. 1 1
      components/t-i-yangchangwan/t-i-yangchangwan.vue
  34. 11 12
      components/t-o-news-tab-1/t-o-news-tab-1.vue
  35. 10 10
      components/t-o-news-tab-2/t-o-news-tab-2.vue
  36. 163 0
      components/t-o-news/t-o-news - 模块切换.vue
  37. 13 76
      components/t-o-news/t-o-news.vue
  38. 1 0
      components/t-o-origanization/t-o-origanization.vue
  39. 二进制
      components/t-p-icon/icon_15.png
  40. 62 2
      components/t-p-jinjiaqu/t-p-jinjiaqu.vue
  41. 16 8
      components/t-p-n-section-1/t-p-n-section-1.vue
  42. 3 3
      manifest.json
  43. 100 17
      pages.json
  44. 6 0
      pages/index/record/record.vue
  45. 二进制
      pages/index/safetyManagementSystem/icon/index.png
  46. 174 0
      pages/index/safetyManagementSystem/safetyManagementSystem.vue
  47. 21 4
      pages/index/switch-kuang/switch-kuang.vue
  48. 19 0
      pages/index/weather/weather.vue
  49. 3 0
      pages/my/download/download.vue
  50. 1 0
      pages/my/forget-password/forget-password.vue
  51. 1 0
      pages/my/login/login.vue
  52. 1 1
      pages/my/personal_information/personal_information.vue
  53. 23 18
      pages/origanization/OA/h5/h5.vue
  54. 65 0
      pages/origanization/communication/origanization/data.json
  55. 52 39
      pages/origanization/communication/origanization/my_department/my_department.vue
  56. 332 0
      pages/origanization/communication/origanization/origanization-单层级备份.vue
  57. 18 169
      pages/origanization/communication/origanization/origanization.vue
  58. 2 2
      pages/origanization/communication/origanization/search/search.vue
  59. 4 4
      pages/origanization/news/tab_1/all_list/all_list.vue
  60. 11 11
      pages/origanization/news/tab_1/statistical_chart/statistical_chart.vue
  61. 5 4
      pages/origanization/news/tab_2/all_list/all_list.vue
  62. 16 3
      pages/origanization/news/tab_3/pin_tu/finish/finish.vue
  63. 7 3
      pages/origanization/news/tab_3/pin_tu/picture_list/picture_list.vue
  64. 26 0
      pages/production/jinjiaqu/zidonghua_list/detail/detail.vue
  65. 二进制
      pages/production/jinjiaqu/zidonghua_list/img/icon.png
  66. 二进制
      pages/production/jinjiaqu/zidonghua_list/img/psxt.jpg
  67. 二进制
      pages/production/jinjiaqu/zidonghua_list/img/tfgl.jpg
  68. 二进制
      pages/production/jinjiaqu/zidonghua_list/img/tsj.jpg
  69. 二进制
      pages/production/jinjiaqu/zidonghua_list/img/yfzd.jpg
  70. 二进制
      pages/production/jinjiaqu/zidonghua_list/img/zys.jpg
  71. 346 0
      pages/production/jinjiaqu/zidonghua_list/zidonghua_list.vue
  72. 22 0
      pages/production/personnel_orientation/personnel_orientation.vue
  73. 20 1
      pages/production/safety_monitoring/safety_monitoring.vue
  74. 238 0
      pages/production/unified_automation_system/belt_conveyor/belt_conveyor.json
  75. 519 0
      pages/production/unified_automation_system/belt_conveyor/belt_conveyor.vue
  76. 二进制
      pages/production/unified_automation_system/belt_conveyor/icon/belt_conveyor.gif
  77. 二进制
      pages/production/unified_automation_system/belt_conveyor/icon/belt_conveyor.png
  78. 二进制
      pages/production/unified_automation_system/belt_conveyor/icon/border.png
  79. 二进制
      pages/production/unified_automation_system/belt_conveyor/icon/canshu.png
  80. 二进制
      pages/production/unified_automation_system/belt_conveyor/icon/common.png
  81. 458 0
      pages/production/unified_automation_system/compressed_air/compressed_air.vue
  82. 159 0
      pages/production/unified_automation_system/compressed_air/compressed_air_system.json
  83. 二进制
      pages/production/unified_automation_system/compressed_air/icon/border.png
  84. 二进制
      pages/production/unified_automation_system/compressed_air/icon/canshu.png
  85. 二进制
      pages/production/unified_automation_system/compressed_air/icon/close.png
  86. 二进制
      pages/production/unified_automation_system/compressed_air/icon/common.png
  87. 二进制
      pages/production/unified_automation_system/compressed_air/icon/compressed_air.png
  88. 二进制
      pages/production/unified_automation_system/compressed_air/icon/compressed_air_run.gif
  89. 二进制
      pages/production/unified_automation_system/compressed_air/icon/warn.png
  90. 203 0
      pages/production/unified_automation_system/drainage/drainage.json
  91. 294 0
      pages/production/unified_automation_system/drainage/drainage.vue
  92. 二进制
      pages/production/unified_automation_system/drainage/icon/border.png
  93. 二进制
      pages/production/unified_automation_system/drainage/icon/border_right.png
  94. 二进制
      pages/production/unified_automation_system/drainage/icon/canshu.png
  95. 二进制
      pages/production/unified_automation_system/drainage/icon/common.png
  96. 二进制
      pages/production/unified_automation_system/drainage/icon/water_pump.png
  97. 二进制
      pages/production/unified_automation_system/drainage/icon/water_pump_kai.jpg
  98. 158 0
      pages/production/unified_automation_system/hoist/hoist.json
  99. 533 0
      pages/production/unified_automation_system/hoist/hoist.vue
  100. 0 0
      pages/production/unified_automation_system/hoist/icon/border.png

+ 13 - 1
App.vue

@@ -10,7 +10,8 @@
 			// 启动初始化
 
 			// 煤矿鉴别-名称
-			uni.setStorageSync('mine_code', 'ningdongyunying');
+			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');
@@ -21,6 +22,17 @@
 			// uni.setStorageSync('mine_code', 'yangchangwan');
 			// uni.setStorageSync('mine_code', 'jinfeng');
 			// uni.setStorageSync('mine_code', 'jinfeng_neiwang');
+			
+			// console.log(set_base_url(uni.getStorageSync('mine_code')))
+			
+			// uni.setStorageSync('base_url',set_base_url(uni.getStorageSync('mine_code')))
+			
+			// 设置自动化系统接口内外网域名
+			if(uni.getStorageSync('mine_code').indexOf('_neiwang') == -1){
+				uni.setStorageSync('unified_automation_system_url','http://video.nxjiewei.com:8011/api')
+			}else{
+				uni.setStorageSync('unified_automation_system_url','http://n.video.nxjiewei.com:8011/api')
+			}
 		},
 		onShow: function() {
 			console.log('App Show')

+ 34 - 2
common/common.js

@@ -16,6 +16,15 @@ export const goToLink = (item, mine_code) => {
 
 		return
 	}
+	
+	// 切换域名
+	if (link.indexOf("set_base_url") != -1) {
+		uni.$emit('common_update_kuang', {
+			msg: link.split('=')[1]
+		})
+		return
+	}
+	
 
 	// 二维码
 	if (link.indexOf("pageId") != -1 && link.indexOf("app:") == -1) {
@@ -110,6 +119,13 @@ export const goToLink = (item, mine_code) => {
 	// 原生
 	if (link.indexOf("pageId") == -1 && link.indexOf("app:") != -1) {
 		console.log("原生")
+		if (link.indexOf("/safetyManagementSystem/safetyManagementSystem") != -1) {
+			console.log("安全管理体系")
+			uni.navigateTo({
+				url: "../../index/safetyManagementSystem/safetyManagementSystem"
+			})
+		}
+		
 		if (link.indexOf("/browseQrcode/gridSubmitItem_win") != -1) {
 			console.log("网格排查")
 			uni.navigateTo({
@@ -209,7 +225,23 @@ export const goToLink = (item, mine_code) => {
 				url: "../../production/personnel_orientation/personnel_orientation?mine=640181B0011010030750"
 			})
 		}
-	} else {
-		console.log(link)
+		
+		if (link.indexOf("closed_loop_management") != -1) {
+			uni.navigateTo({
+				url: "../../workbench/closed_loop_management/closed_loop_management"
+			})
+		}
+		
+		if (link.indexOf("app_url") != -1) {
+			uni.navigateTo({
+				url:link.split('app_url=')[1]
+			})
+		}
+		if (link.indexOf("switch_url") != -1) {
+			uni.switchTab({
+				url:link.split('switch_url=')[1]
+			})
+			
+		}
 	}
 }

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

@@ -83,6 +83,15 @@ export const test = (data) => {
 //     })
 // }
 
+// 生产数据权限
+export const product_data_query_power = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/product_data/query_power',
+		data,
+	})
+}
+
 // 人员定位
 // 当前人员统计
 export const personnel_people_now = (data) => {

+ 9 - 0
common/set_base_url.js

@@ -2,6 +2,9 @@
 
 export const set_base_url = (mine_code) => {
 	switch (mine_code) {
+		case 'ningmeijituan':
+			return "http://nmjt.nxjiewei.com:8011/api"
+			break;
 		case 'ningdongyunying':
 			return "http://ningdongyunying.nxjiewei.com:8011/api"
 			break;
@@ -46,6 +49,9 @@ export const set_base_url = (mine_code) => {
 
 export const set_appName = (mine_code) => {
 	switch (mine_code) {
+		case 'ningmeijituan':
+			return "智慧宁煤"
+			break;
 		case 'ningdongyunying':
 			return "E信管理"
 			break;
@@ -83,6 +89,9 @@ export const set_appName = (mine_code) => {
 
 export const set_mine = (mine_code) => {
 	switch (mine_code) {
+		case 'ningmeijituan':
+			return "E信管理"
+			break;
 		case 'ningdongyunying':
 			return "E信管理"
 			break;

+ 78 - 45
common/time.js

@@ -28,7 +28,7 @@ Date.prototype.format = function(fmt) {
 // console.log(new Date().format("yyyy-MM-dd"))
 
 
-export const getNextDate = (date, day)=> {
+export const getNextDate = (date, day) => {
 	var dd = new Date(date);
 	dd.setDate(dd.getDate() + day);
 	var y = dd.getFullYear();
@@ -41,48 +41,81 @@ export const getNextDate = (date, day)=> {
 
 
 // 计算两个日期时间差,天 小时 分 秒格式
-export const diffTime = (startDate,endDate)=> { 
-    startDate= new Date(startDate);
-    endDate = new Date(endDate);
-    var diff=endDate.getTime() - startDate.getTime();//时间差的毫秒数 
-   
-    //计算出相差天数 
-    var days=Math.floor(diff/(24*3600*1000)); 
-        
-    //计算出小时数 
-    var leave1=diff%(24*3600*1000);    //计算天数后剩余的毫秒数 
-    var hours=Math.floor(leave1/(3600*1000)); 
-    //计算相差分钟数 
-    var leave2=leave1%(3600*1000);        //计算小时数后剩余的毫秒数 
-    var minutes=Math.floor(leave2/(60*1000)); 
-        
-    //计算相差秒数 
-    var leave3=leave2%(60*1000);      //计算分钟数后剩余的毫秒数 
-    var seconds=Math.round(leave3/1000); 
-       
-    // var returnStr = seconds + "秒"; 
-    // if(minutes>0) { 
-    //     returnStr = minutes + "分" + returnStr; 
-    // } 
-    // if(hours>0) { 
-    //     returnStr = hours + "小时" + returnStr; 
-    // } 
-    // if(days>0) { 
-    //     returnStr = days + "天" + returnStr; 
-    // } 
-    // return returnStr; 
-	
+export const diffTime = (startDate, endDate) => {
+	startDate = new Date(startDate);
+	endDate = new Date(endDate);
+	var diff = endDate.getTime() - startDate.getTime(); //时间差的毫秒数 
+
+	//计算出相差天数 
+	var days = Math.floor(diff / (24 * 3600 * 1000));
+
+	//计算出小时数 
+	var leave1 = diff % (24 * 3600 * 1000); //计算天数后剩余的毫秒数 
+	var hours = Math.floor(leave1 / (3600 * 1000));
+	//计算相差分钟数 
+	var leave2 = leave1 % (3600 * 1000); //计算小时数后剩余的毫秒数 
+	var minutes = Math.floor(leave2 / (60 * 1000));
+
+	//计算相差秒数 
+	var leave3 = leave2 % (60 * 1000); //计算分钟数后剩余的毫秒数 
+	var seconds = Math.round(leave3 / 1000);
+
+	// var returnStr = seconds + "秒"; 
+	// if(minutes>0) { 
+	//     returnStr = minutes + "分" + returnStr; 
+	// } 
+	// if(hours>0) { 
+	//     returnStr = hours + "小时" + returnStr; 
+	// } 
+	// if(days>0) { 
+	//     returnStr = days + "天" + returnStr; 
+	// } 
+	// return returnStr; 
+
 	var returnStr = seconds + " ";
-	if(minutes >= 0) { 
-	    returnStr = minutes + " " + returnStr; 
-	} 
-	if(hours >= 0) { 
-	    returnStr = hours + " " + returnStr; 
-	} 
-	if(days >= 0) { 
-	    returnStr = days + " " + returnStr; 
-	} 
-	return returnStr; 
-}     
-
-// var diffTimeShow = diffTime('2017-03-02 09:10','2017-03-17 04:10');
+	if (minutes >= 0) {
+		returnStr = minutes + " " + returnStr;
+	}
+	if (hours >= 0) {
+		returnStr = hours + " " + returnStr;
+	}
+	if (days >= 0) {
+		returnStr = days + " " + returnStr;
+	}
+	return returnStr;
+}
+
+// var diffTimeShow = diffTime('2017-03-02 09:10','2017-03-17 04:10');
+
+export const getCurrentDate = () => {
+	var myDate = new Date();
+	var year = myDate.getFullYear(); //年
+	var month = myDate.getMonth() + 1; //月
+	var day = myDate.getDate(); //日
+	var days = myDate.getDay();
+	switch (days) {
+		case 1:
+			days = '星期一';
+			break;
+		case 2:
+			days = '星期二';
+			break;
+		case 3:
+			days = '星期三';
+			break;
+		case 4:
+			days = '星期四';
+			break;
+		case 5:
+			days = '星期五';
+			break;
+		case 6:
+			days = '星期六';
+			break;
+		case 0:
+			days = '星期日';
+			break;
+	}
+
+	return year + "年" + month + "月" + day + "日  " + days;
+}

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

@@ -54,6 +54,26 @@ export const test = (data) => {
 // 	this.res = '请求结果 : ' + JSON.stringify(res);
 // }
 
+// 宁煤信息平台免密token获取
+export const oauth_getNoPasswordToken = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/oauth/getNoPasswordToken',
+		data,
+	})
+}
+
+// 统一自动化系统接口
+export const unified_automation_system = (data) => {
+	return http.request({
+		method: "POST",
+		baseUrl: uni.getStorageSync('unified_automation_system_url'),
+		url: '/opcdata/getData',
+		data,
+	})
+}
+
+
 // 首页风格切换
 export const home_style_setting = (data) => {
 	return http.request({
@@ -69,6 +89,7 @@ export const home_link = (data) => {
 		data,
 	})
 }
+
 // 请求首页导航链接
 export const homeNav_list = (data) => {
 	return http.request({
@@ -875,3 +896,28 @@ export const pressure_realtime_record = (data) => {
 		data,
 	})
 }
+
+// 组织架构 OA统一接口
+// 无限级部门
+export const section_get_org_structure = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/section/get_org_structure',
+		data,
+	})
+}
+// 该部门下的人员信息
+export const user_get_org_users = (data) => {
+	return http.request({
+		method: "POST",
+		url: '/user/get_org_users',
+		data,
+	})
+}
+// 获取安全预控首页导航完整数据OA
+export const home_aqyk_newLinks = (data) => {
+	return http.request({
+		url: '/home/aqyk_newLinks',
+		data,
+	})
+}

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

@@ -33,8 +33,9 @@ http.delete('user/1').then((res)=>{
 
 export default {
 	config: {
+		baseUrl: "http://nmjt.nxjiewei.com:8011/api",
 		// baseUrl: "http://colliery.nxjiewei.com/api",
-		baseUrl: "http://ningdongyunying.nxjiewei.com:8011/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",

+ 6 - 0
components/e-link/e-link.vue

@@ -146,6 +146,12 @@
 				// 原生
 				if(link.indexOf("pageId") == -1 && link.indexOf("app:") != -1){
 					console.log("原生")
+					if (link.indexOf("/production/production") != -1) {
+						console.log("生产数据")
+						uni.switchTab({
+							url: "../../tabbar/production/production"
+						})
+					}
 				}
 				
 			}

+ 17 - 7
components/e-video/e-video.vue

@@ -3,15 +3,15 @@
 		<view class="videoList">
 			<view class="title">{{videoList[0].title}}</view>
 			<view class="list">
-				<view class="item" v-for="item in videoList" :key="item.id">
+				<!-- <view class="item" v-for="item in videoList" :key="item.id">
 					<view class="name">{{item.videoName}}</view>
 					<view class="icon" @click="detail(item.videoUrl,item.videoName)">
 						<uni-icons type="videocam" size="24" color="#009FE8"></uni-icons>
 					</view>
-				</view>
-				<!-- <view class="item" v-for="item in videoList" :key="item.id">
-					<video :src="item.videoUrl" controls style="width: 100%;"></video>
 				</view> -->
+				<view class="item" v-for="item in videoList" :key="item.id" v-if="item.videoUrl != ''">
+					<video :poster="poster[poster_index]" :src="item.videoUrl" controls object-fit="fill" style="width: 100%;"></video>
+				</view>
 			</view>
 		</view>
 	</view>
@@ -24,9 +24,16 @@
 		],
 		data() {
 			return {
-				
+				poster:[
+					"https://img1.baidu.com/it/u=574276659,2777898124&fm=253&fmt=auto&app=138&f=JPEG?w=550&h=364"
+				],
+				poster_index:0
 			};
 		},
+		mounted() {
+			// this.poster_index = Math.floor(Math.random()*10)
+			// console.log(this.poster_index)
+		},
 		methods:{
 			detail(path,name){
 				console.log(path)
@@ -48,8 +55,11 @@
 			margin-bottom: 10px;
 		}.list{
 			.item{
-				padding: 20rpx 25rpx;
-				border-bottom: 1rpx solid #f4f4f4;
+				// padding: 20rpx 25rpx;
+				// border-bottom: 1rpx solid #f4f4f4;
+				margin-bottom: 20rpx;
+				border-radius: 14rpx;
+				overflow: hidden;
 				
 				display: flex;
 				justify-content: space-between;

+ 22 - 8
components/openingNotice/openingNotice.vue

@@ -1,17 +1,20 @@
 <template>
 	<view>
-		<uni-popup ref="popup" :is-mask-click="false">
+		<uni-popup ref="popup">
 			<view class="box">
 				<view class="content">
 					<view class="title">
 						<view class="icon">
 							<image src="./icon/icon.png" mode="scaleToFill"></image>
 						</view>
-						<view class="text">{{data.title}}</view>
+						<view class="text" v-if="data.title != ''">{{data.title || '通知'}}</view>
+						<view class="close"  @click.stop="maskClick()">
+							<uni-icons type="closeempty" size="26" color="#ccc"></uni-icons>
+						</view>
 					</view>
 					<scroll-view scroll-y>
 						<view class="inner">
-							{{data.content}}
+							<view v-html="data.content"></view>
 						</view>
 					</scroll-view>
 				</view>
@@ -44,13 +47,16 @@
 						this.$refs.popup.open('top')
 
 						setTimeout(()=>{
-							this.$refs.popup.close()
-						},10000)
+							// this.$refs.popup.close()
+						},4000)
 					}else{
 						// console.log("已读")
 					}
 
 				})
+			},
+			maskClick(){
+				this.$refs.popup.close()
 			}
 		}
 	}
@@ -64,6 +70,7 @@
 	}
 
 	.content {
+		z-index: 99;
 		margin: 0 auto;
 		width: 700rpx;
 		background-color: #FFFFFF;
@@ -74,13 +81,12 @@
 
 		.title {
 			position: relative;
-
+			
 			height: 90rpx;
 			line-height: 90rpx;
 			font-size: 38rpx;
 			font-weight: 700;
 			text-align: center;
-			border-bottom: 1rpx solid #E1E5E9;
 			
 			padding-top: 20rpx;
 
@@ -94,11 +100,19 @@
 					height: 193rpx;
 				}
 			}
+			.text{
+				border-bottom: 1rpx solid #E1E5E9;
+			}
+			.close{
+				position: absolute;
+				top: -10rpx;
+				right: 0;
+			}
 		}
 
 		.inner {
 			height: 50vh;
-			text-indent: 2rem;
+			// text-indent: 2rem;
 			
 			box-sizing: border-box;
 			padding: 20rpx 0;

unpackage/dist/build/app-plus/pages/origanization/communication/origanization/icon/close.png → components/origanizationSection/icon/close.png


unpackage/dist/build/app-plus/pages/origanization/communication/origanization/icon/open.png → components/origanizationSection/icon/open.png


unpackage/dist/build/app-plus/components/t-o-zaoquan/icon/title_icon.png → components/origanizationSection/icon/title_icon.png


+ 217 - 0
components/origanizationSection/origanizationSection.vue

@@ -0,0 +1,217 @@
+<template>
+	<view>
+		<view class="section" v-for="(item,index) in data" :key="index">
+			<view class="box">
+				<view class="item">
+					<view class="left">
+						<view class="icon" v-if="active == index" @click.stop="change_active(index,item)">
+							<image src="./icon/close.png" mode=""></image>
+						</view>
+						<view class="icon" v-if="active != index" @click.stop="change_active(index,item)">
+							<image src="./icon/open.png" mode=""></image>
+						</view>
+						<view class="text" v-if="item.children.length == 0">{{item.title}} ({{item.user_num}})</view>
+						<view class="text" v-if="item.children != 0">{{item.title}}</view>
+					</view>
+					<view class="right" @click="go_record(item.page_id)">
+						<uni-icons type="eye"></uni-icons>
+					</view>
+				</view>
+				<view class="children" v-show="active == index">
+					<origanizationSection :data="item.children"></origanizationSection>
+
+					<view class="list" v-show="item.children == 0">
+						<view class="item" v-for="(item_2,index_2) in user_list" :key="index_2"
+							@click="go_user_info(item_2.staff_num)">
+							<view class="left">
+								<view class="icon">{{item_2.name.charAt(0)}}</view>
+								<!-- #ifdef APP-PLUS -->
+								<view class="text">{{item_2.name}} {{item_2.position_name}}</view>
+								<!-- #endif -->
+								<!-- #ifdef H5 -->
+								<view class="text">{{item_2.name}} {{item_2.position_name}} {{item_2.mobile}}</view>
+								<!-- #endif -->
+							</view>
+
+							<!-- #ifdef APP-PLUS -->
+							<view class="right" @click.stop="phone(item_2.mobile)">
+								<uni-icons type="phone"></uni-icons>
+							</view>
+							<!-- #endif -->
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "origanizationSection",
+		props: [
+			"data"
+		],
+		data() {
+			return {
+				// 当前展开部门
+				active: 99999999,
+
+				user_list: []
+			};
+		},
+		methods: {
+			// 获取当前部门人员
+			get_user_list(id) {
+				this.user_list = []
+				uni.showLoading({
+					mask:true
+				})
+				this.$api.user_get_org_users({
+					section_id: id
+				}).then((res) => {
+					uni.hideLoading()
+					this.user_list = res.data.content.data
+				})
+			},
+
+			change_active(index, item) {
+				if (this.active == index) {
+					this.active = 99999999
+				} else {
+					this.active = index
+
+					if (item.children.length == 0) {
+						this.get_user_list(item.id)
+					}
+				}
+			},
+			go_record(page_id) {
+				console.log(page_id)
+
+				if (page_id == null) {
+					uni.showToast({
+						icon: "none",
+						title: "该部门还未关联二维码"
+					})
+				} else {
+					console.log(page_id)
+					uni.navigateTo({
+						url: "../../../index/record/record?pageId=" + page_id + "&mine_code=" + uni.getStorageSync(
+							'mine_code'),
+					})
+				}
+			},
+
+			phone(mobile) {
+				console.log(mobile)
+				if (mobile != null) {
+					uni.makePhoneCall({
+						phoneNumber: mobile
+					});
+				}
+			},
+
+			go_user_info(staff_num) {
+				uni.navigateTo({
+					url: "./personal_information/personal_information?staff_num=" + staff_num
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.section {
+		box-sizing: border-box;
+		// padding: 0 20rpx;
+
+		.box {
+
+			.item {
+				min-height: 100rpx;
+				padding: 10rpx 0;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				margin-left: 20rpx;
+				border-bottom: 1rpx solid #F3F8F7;
+
+				.left {
+					display: flex;
+					align-items: center;
+
+					.icon {
+						width: 90rpx;
+						text-align: center;
+
+						image {
+							width: 24rpx;
+							height: 24rpx;
+						}
+					}
+
+					.text {
+						width: 470rpx;
+						font-size: 32rpx;
+					}
+				}
+
+				.right {
+					width: 90rpx;
+					text-align: center;
+				}
+			}
+
+			.children {
+				margin-left: 20rpx;
+			}
+
+			.list {
+				.item {
+					height: 110rpx;
+
+					display: flex;
+					justify-content: space-between;
+					align-items: center;
+
+					margin-left: 108rpx;
+					border-bottom: 1rpx solid #F3F8F7;
+
+					.left {
+						width: 500rpx;
+
+						.icon {
+							width: 35rpx;
+							text-align: center;
+							line-height: 35rpx;
+							border-radius: 50%;
+							border: 1rpx solid #00A1E9;
+
+							font-size: 24rpx;
+							color: #00A1E9;
+						}
+
+						.text {
+							width: 350rpx;
+							margin-left: 18rpx;
+							font-size: 30rpx;
+
+						}
+					}
+
+					.right {
+						line-height: 110rpx;
+						width: 90rpx;
+						text-align: center;
+					}
+
+				}
+			}
+
+		}
+
+	}
+</style>

+ 193 - 0
components/t-i-bottom/t-i-bottom-OA.vue

@@ -0,0 +1,193 @@
+<template>
+	<view class="content">
+		<view class="section_1" v-if="bottom[2].data.length > 0">
+			<scroll-view scroll-x>
+				<view class="tab_box">
+					<view class="tab" v-for="(item,index) in bottom[2].data[0].children" :key="index">
+						<view class="title" @click="change_active(index+1)" :class="active==index+1?'active':''">{{item.title}}</view>
+					</view>
+				</view>
+			</scroll-view>
+			<view v-for="(item,index) in bottom[2].data[0].children" :key="index">
+				<view class="list" v-if="index+1 == active">
+					<view class="item" v-for="(item_2,index_2) in item.children" :key="index_2" @click="go_record(item_2)">
+						{{item_2.title}}
+					</view>
+				</view>
+			</view>
+			
+		</view>
+
+		<!-- 图片链接 -->
+		<view class="section_2" v-if="bottom[3].data.length > 0">
+			<view class="title">{{bottom[3].type_name}}</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in bottom[3].data[0].children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- 快速通道 -->
+		<view class="section_3" v-if="bottom[4].data.length > 0">
+			<view class="title">{{bottom[4].type_name}}</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in bottom[4].data[0].children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode="widthFix"></image>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		goToLink
+	} from "@/common/common.js"
+
+	export default {
+		name: "t-i-bottom",
+		props: [
+			"bottom",
+			"mine_code"
+		],
+		data() {
+			return {
+				active: 1,
+			};
+		},
+		methods: {
+			change_active(index) {
+				console.log(index)
+				this.active = index
+			},
+			go_record(item) {
+				goToLink(item, this.mine_code)
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 10rpx;
+		padding-bottom: 40rpx;
+		background-color: #FFFFFF;
+	}
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+		.tab_box{
+			display: flex;
+			.tab {
+				margin-right: 40rpx;
+				text-align: center;
+				
+				.title {
+					width: 160rpx;
+					line-height: 80rpx;
+					font-size: 36rpx;
+				}
+			
+				.active {
+					color: #009fe8;
+					border-bottom: 4rpx solid #009fe8;
+				}
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 700rpx;
+
+				border-radius: 10rpx;
+				overflow: hidden;
+
+				image {
+					width: 700rpx;
+				}
+			}
+		}
+	}
+
+</style>

+ 194 - 0
components/t-i-bottom/t-i-bottom.vue

@@ -0,0 +1,194 @@
+<template>
+	<view class="content">
+		<view class="section_1" v-if="bottom.length > 0 && bottom[0].children[0].children.length > 0">
+			<scroll-view scroll-x>
+				<view class="tab_box">
+					<view class="tab" v-for="(item,index) in bottom[0].children" :key="index">
+						<view class="title" @click="change_active(index+1)" :class="active==index+1?'active':''">{{item.title}}</view>
+					</view>
+				</view>
+			</scroll-view>
+			<view v-for="(item,index) in bottom[0].children" :key="index">
+				<view class="list" v-if="index+1 == active">
+					<view class="item" v-for="(item_2,index_2) in item.children" :key="index_2" @click="go_record(item_2)">
+						{{item_2.title}}
+					</view>
+				</view>
+			</view>
+			
+		</view>
+
+		<!-- 图片链接 -->
+		<view class="section_2" v-if="bottom.length > 0 && bottom[2].children.length > 0">
+			<view class="title">图片链接</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in bottom[2].children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- 快速通道 -->
+		<view class="section_3" v-if="bottom.length > 0 && bottom[3].children.length > 0">
+			<view class="title">快速通道</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in bottom[3].children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode="widthFix"></image>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import {
+		goToLink
+	} from "@/common/common.js"
+
+	export default {
+		name: "t-i-bottom",
+		props: [
+			"bottom",
+			"mine_code"
+		],
+		data() {
+			return {
+				active: 1,
+			};
+		},
+		methods: {
+			change_active(index) {
+				console.log(index)
+				this.active = index
+			},
+			go_record(item) {
+				goToLink(item, this.mine_code)
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 10rpx;
+		padding-bottom: 40rpx;
+		background-color: #FFFFFF;
+	}
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+		.tab_box{
+			display: flex;
+			.tab {
+				margin-right: 40rpx;
+				text-align: center;
+				
+				.title {
+					width: 300rpx;
+					height: 80rpx;
+					line-height: 80rpx;
+					font-size: 36rpx;
+				}
+			
+				.active {
+					color: #009fe8;
+					border-bottom: 4rpx solid #009fe8;
+				}
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 700rpx;
+
+				border-radius: 10rpx;
+				overflow: hidden;
+
+				image {
+					width: 700rpx;
+				}
+			}
+		}
+	}
+
+</style>

+ 1 - 1
components/t-i-icon/t-i-icon.vue

@@ -1,5 +1,5 @@
 <template>
-	<view class="content">
+	<view class="content" v-if="iconList.arr || iconList.data">
 		<view class="nav">
 			<view class="item" v-for="(item,index) in iconList.arr" :key="index" @click="go_link(item)">
 				<view class="icon">

+ 190 - 0
components/t-i-jinfeng/t-i-jinfeng - 副本.vue

@@ -0,0 +1,190 @@
+<template>
+	<view class="content">
+		<view class="section_1">
+			<view class="tab">
+				<view class="title" @click="change_active(1)" :class="active==1?'active':''">机关部室</view>
+				<view class="title" @click="change_active(2)" :class="active==2?'active':''">基层区队</view>
+			</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list.children" :key="index" @click="go_record(item)">
+					{{item.title}}
+				</view>
+			</view>
+		</view>
+
+
+
+	</view>
+</template>
+
+<script>
+	import {goToLink} from "@/common/common.js"
+	
+	export default {
+		name: "t-i-jinjiaqu",
+		props: [
+			"mine_code"
+		],
+		data() {
+			return {
+				active: 1,
+				list: [],
+				list_1: [],
+				list_2: [],
+
+				// 图片链接
+				list_3: [],
+				// 快速通道
+				list_4: []
+			};
+		},
+		created() {
+			this.get_home_link()
+		},
+		methods: {
+			change_active(item) {
+				this.active = item
+
+				if (item == 1) {
+					this.list = this.list_1
+				} else if (item == 2) {
+					this.list = this.list_2
+				}
+			},
+
+			get_home_link() {
+				this.$api.home_link({
+
+				}).then((res) => {
+					console.log(res.data.data)
+
+					// 机关部室
+					this.list = res.data.data[0]
+					this.list_1 = res.data.data[0]
+					// 基层区队
+					this.list_2 = res.data.data[1]
+				})
+			},
+			go_record(item) {
+				goToLink(item,this.mine_code)
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 20rpx;
+		background-color: #FFFFFF;
+	}
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+
+		.tab {
+			display: flex;
+			justify-content: space-around;
+
+			.title {
+				line-height: 80rpx;
+				font-weight: 700;
+			}
+
+			.active {
+				color: #009fe8;
+				border-bottom: 6rpx solid #009fe8;
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 220rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 220rpx;
+				}
+			}
+		}
+	}
+</style>

+ 10 - 24
components/t-i-jinfeng/t-i-jinfeng.vue

@@ -23,22 +23,16 @@
 	export default {
 		name: "t-i-jinjiaqu",
 		props: [
-			"mine_code"
+			"mine_code",
+			"home_link"
 		],
 		data() {
 			return {
 				active: 1,
 				list: [],
-				list_1: [],
-				list_2: [],
-
-				// 图片链接
-				list_3: [],
-				// 快速通道
-				list_4: []
 			};
 		},
-		created() {
+		mounted() {
 			this.get_home_link()
 		},
 		methods: {
@@ -46,25 +40,17 @@
 				this.active = item
 
 				if (item == 1) {
-					this.list = this.list_1
+					this.list = this.home_link[0]
 				} else if (item == 2) {
-					this.list = this.list_2
+					this.list = this.home_link[1]
 				}
 			},
-
-			get_home_link() {
-				this.$api.home_link({
-
-				}).then((res) => {
-					console.log(res.data.data)
-
-					// 机关部室
-					this.list = res.data.data[0]
-					this.list_1 = res.data.data[0]
-					// 基层区队
-					this.list_2 = res.data.data[1]
-				})
+			get_home_link(){
+				setTimeout(()=>{
+					this.list = this.home_link[0]
+				},1000)
 			},
+
 			go_record(item) {
 				goToLink(item,this.mine_code)
 

+ 213 - 0
components/t-i-jinjiaqu/t-i-jinjiaqu - 副本.vue

@@ -0,0 +1,213 @@
+<template>
+	<view class="content">
+		<view class="section_1">
+			<view class="tab">
+				<view class="title" @click="change_active(1)" :class="active==1?'active':''">机关部室</view>
+				<view class="title" @click="change_active(2)" :class="active==2?'active':''">基层区队</view>
+			</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list.children" :key="index" @click="go_record(item)">
+					{{item.title}}
+				</view>
+			</view>
+		</view>
+
+		<!-- 图片链接 -->
+		<view class="section_2">
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_3.children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- 快速通道 -->
+		<view class="section_3">
+			<view class="title">快速通道</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_4.children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+
+	</view>
+</template>
+
+<script>
+	import {goToLink} from "@/common/common.js"
+	
+	export default {
+		name: "t-i-jinjiaqu",
+		props: [
+			"mine_code"
+		],
+		data() {
+			return {
+				active: 1,
+				list: [],
+				list_1: [],
+				list_2: [],
+
+				// 图片链接
+				list_3: [],
+				// 快速通道
+				list_4: []
+			};
+		},
+		created() {
+			this.get_home_link()
+		},
+		methods: {
+			change_active(item) {
+				this.active = item
+
+				if (item == 1) {
+					this.list = this.list_1
+				} else if (item == 2) {
+					this.list = this.list_2
+				}
+			},
+
+			get_home_link() {
+				this.$api.home_link({
+
+				}).then((res) => {
+					// console.log(res.data.data)
+
+					// 机关部室
+					this.list = res.data.data[2]
+					this.list_1 = res.data.data[2]
+					// 基层区队
+					this.list_2 = res.data.data[3]
+
+					// 图片链接
+					this.list_3 = res.data.data[1]
+					// 快速通道
+					this.list_4 = res.data.data[0]
+				})
+			},
+			go_record(item) {
+				goToLink(item,this.mine_code)
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 20rpx;
+		background-color: #FFFFFF;
+	}
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+
+		.tab {
+			display: flex;
+			justify-content: space-around;
+
+			.title {
+				line-height: 80rpx;
+				font-weight: 700;
+			}
+
+			.active {
+				color: #009fe8;
+				border-bottom: 6rpx solid #009fe8;
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 220rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 220rpx;
+				}
+			}
+		}
+	}
+</style>

+ 11 - 15
components/t-i-jinjiaqu/t-i-jinjiaqu.vue

@@ -41,7 +41,8 @@
 	export default {
 		name: "t-i-jinjiaqu",
 		props: [
-			"mine_code"
+			"mine_code",
+			"home_link"
 		],
 		data() {
 			return {
@@ -56,7 +57,7 @@
 				list_4: []
 			};
 		},
-		created() {
+		mounted() {
 			this.get_home_link()
 		},
 		methods: {
@@ -71,22 +72,18 @@
 			},
 
 			get_home_link() {
-				this.$api.home_link({
-
-				}).then((res) => {
-					// console.log(res.data.data)
-
+				setTimeout(()=>{
 					// 机关部室
-					this.list = res.data.data[2]
-					this.list_1 = res.data.data[2]
+					this.list = this.home_link[2]
+					this.list_1 = this.home_link[2]
 					// 基层区队
-					this.list_2 = res.data.data[3]
-
+					this.list_2 = this.home_link[3]
+					
 					// 图片链接
-					this.list_3 = res.data.data[1]
+					this.list_3 = this.home_link[1]
 					// 快速通道
-					this.list_4 = res.data.data[0]
-				})
+					this.list_4 = this.home_link[0]
+				},1000)
 			},
 			go_record(item) {
 				goToLink(item,this.mine_code)
@@ -187,7 +184,6 @@
 		.title {
 			line-height: 120rpx;
 			font-size: 36rpx;
-			font-weight: 700;
 		}
 
 		.list {

+ 45 - 23
components/t-i-navbar-2/t-i-navbar-2.vue

@@ -6,30 +6,49 @@
 			</view>
 
 			<view class="navbar">
-				<view class="left" @click="switch_kuang()">
-					<image v-if="mine_code == 'ningdongyunying'" src="./icon/ningdongyunying.png" mode=""></image>
-					<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
-					<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode=""></image>
-					<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode=""></image>
-					<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'" src="@/static/switch-kuang/jinfeng.png" mode=""></image>
-					<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
-					<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode=""></image>
-					<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode=""></image>
-					<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'" src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
-					<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode=""></image>
-					<uni-icons type="arrowdown" color="#fff"></uni-icons>
+				<view v-if="app_mine_code == 'ningdongyunying' || app_mine_code == 'ningmeijituan'">
+					<view class="left" @click="switch_kuang()">
+						<image v-if="mine_code == 'ningmeijituan'" src="@/static/switch-kuang/ningmeijituan.png" mode=""></image>
+						<image v-if="mine_code == 'ningdongyunying'" src="./icon/ningdongyunying.png" mode=""></image>
+						<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
+						<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode="">
+						</image>
+						<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'"
+							src="@/static/switch-kuang/jinfeng.png" mode=""></image>
+						<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
+						<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode="">
+						</image>
+						<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'"
+							src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
+						<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode="">
+						</image>
+						<uni-icons type="arrowdown" color="#fff"></uni-icons>
+					</view>
+				</view>
+				<view v-if="app_mine_code != 'ningdongyunying' && app_mine_code != 'ningmeijituan'">
+					<view class="left">
+						<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
+						<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode="">
+						</image>
+						<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'"
+							src="@/static/switch-kuang/jinfeng.png" mode=""></image>
+						<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
+						<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode="">
+						</image>
+						<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'"
+							src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
+						<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode="">
+						</image>
+					</view>
 				</view>
-				<!-- <view class="left">
-					<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
-					<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode=""></image>
-					<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode=""></image>
-					<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'" src="@/static/switch-kuang/jinfeng.png" mode=""></image>
-					<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
-					<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode=""></image>
-					<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode=""></image>
-					<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'" src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
-					<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode=""></image>
-				</view> -->
 				<view class="search" v-if="mine_code != 'qingshuiying' && mine_code != 'wuyegongsi'">
 					<view class="box">
 						<view class="left" @click="go_search()">
@@ -78,6 +97,8 @@
 		],
 		data() {
 			return {
+				// 根_mine_code
+				app_mine_code: "",
 				// 当前温度
 				temperature_curr: "",
 
@@ -86,6 +107,7 @@
 			};
 		},
 		created() {
+			this.app_mine_code = uni.getStorageSync('mine_code')
 			// 当前温度
 			uni.request({
 				url: "http://api.k780.com/?app=weather.today&weaId=286&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json",

+ 57 - 32
components/t-i-navbar/t-i-navbar.vue

@@ -6,30 +6,49 @@
 			</view>
 
 			<view class="navbar">
-				<view class="left" @click="switch_kuang()">
-					<image v-if="mine_code == 'ningdongyunying'" src="./icon/ningdongyunying.png" mode=""></image>
-					<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
-					<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode=""></image>
-					<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode=""></image>
-					<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'" src="@/static/switch-kuang/jinfeng.png" mode=""></image>
-					<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
-					<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode=""></image>
-					<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode=""></image>
-					<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'" src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
-					<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode=""></image>
-					<uni-icons type="arrowdown" color="#fff"></uni-icons>
+				<view v-if="app_mine_code == 'ningdongyunying'">
+					<view class="left" @click="switch_kuang()">
+						<image v-if="mine_code == 'ningmeijituan'" src="@/static/switch-kuang/ningmeijituan.png" mode=""></image>
+						<image v-if="mine_code == 'ningdongyunying'" src="./icon/ningdongyunying.png" mode=""></image>
+						<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
+						<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode="">
+						</image>
+						<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'"
+							src="@/static/switch-kuang/jinfeng.png" mode=""></image>
+						<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
+						<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode="">
+						</image>
+						<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'"
+							src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
+						<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode="">
+						</image>
+						<uni-icons type="arrowdown" color="#fff"></uni-icons>
+					</view>
+				</view>
+				<view v-if="app_mine_code != 'ningdongyunying' && app_mine_code != 'ningmeijituan'">
+					<view class="left">
+						<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
+						<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode="">
+						</image>
+						<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'"
+							src="@/static/switch-kuang/jinfeng.png" mode=""></image>
+						<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
+						<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode="">
+						</image>
+						<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode="">
+						</image>
+						<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'"
+							src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
+						<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode="">
+						</image>
+					</view>
 				</view>
-				<!-- <view class="left">
-					<image v-if="mine_code == 'zaoquan'" src="./icon/zaoquan.png" mode=""></image>
-					<image v-if="mine_code == 'yangchangwan'" src="@/static/switch-kuang/yangchangwan.png" mode=""></image>
-					<image v-if="mine_code == 'meihuajing'" src="@/static/switch-kuang/meihuajing.png" mode=""></image>
-					<image v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'" src="@/static/switch-kuang/jinfeng.png" mode=""></image>
-					<image v-if="mine_code == 'xixuan'" src="@/static/switch-kuang/xixuan.png" mode=""></image>
-					<image v-if="mine_code == 'qingshuiying'" src="@/static/switch-kuang/qingshuiying.png" mode=""></image>
-					<image v-if="mine_code == 'wuyegongsi'" src="@/static/switch-kuang/wuyegongsi.png" mode=""></image>
-					<image v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'" src="@/static/switch-kuang/jinjiaqu.png" mode=""></image>
-					<image v-if="mine_code == 'shicaocun'" src="@/static/switch-kuang/shicaocun.png" mode=""></image>
-				</view> -->
 				<view class="search" v-if="mine_code != 'qingshuiying' && mine_code != 'wuyegongsi'">
 					<view class="box">
 						<view class="left" @click="go_search()">
@@ -60,7 +79,7 @@
 					</swiper>
 
 				</view>
-				
+
 			</view>
 		</view>
 
@@ -78,16 +97,18 @@
 		],
 		data() {
 			return {
+				// 根_mine_code
+				app_mine_code: "",
 				// 当前温度
 				temperature_curr: "",
 
 				// 总积分
 				total: 0,
-				
-				base_url:""
+
 			};
 		},
 		created() {
+			this.app_mine_code = uni.getStorageSync('mine_code')
 			// 当前温度
 			uni.request({
 				url: "http://api.k780.com/?app=weather.today&weaId=286&appkey=10003&sign=b59bc3ef6191eb9f747dd4e83c99f2a4&format=json",
@@ -97,8 +118,7 @@
 					this.temperature_curr = res.data.result.temperature_curr
 				}
 			})
-			
-			this.base_url = uni.getStorageSync('base_url')
+
 
 			// 登录签到
 			this.add_staff_integral_increase()
@@ -184,9 +204,13 @@
 				})
 			},
 			// 天气
-			go_tianqi(){
+			go_tianqi() {
+				// uni.navigateTo({
+				// 	url: "../../index/h5/h5?url=https://xw.tianqi.qq.com/"
+				// })
+				
 				uni.navigateTo({
-					url: "../../index/h5/h5?url=https://xw.tianqi.qq.com/"
+					url: "../../index/weather/weather"
 				})
 			}
 		}
@@ -234,8 +258,9 @@
 		}
 
 		.search {
-			width: 370rpx;
-
+			// width: 370rpx;
+			width: 550rpx;
+			
 			.box {
 				display: flex;
 				justify-content: space-between;

+ 2 - 1
components/t-i-news/t-i-news.vue

@@ -1,7 +1,8 @@
 <template>
 	<view class="content">
 		<view class="title">
-			<view class="text">新闻动态</view>
+			<view class="text" v-if="mine_code == 'wuyegongsi'">每日动态</view>
+			<view class="text" v-else>新闻动态</view>
 			<view class="more" @click="go_more()">查看全部 <uni-icons type="arrowright" color="#999" size="11"></uni-icons>
 			</view>
 		</view>

+ 223 - 0
components/t-i-ningdongyunying/t-i-ningdongyunying - 原始适配版本备份.vue

@@ -0,0 +1,223 @@
+<template>
+	<view class="content">
+		<view class="section_1">
+			<view class="tab">
+				<view class="title active">科室部门</view>
+			</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_1.children" :key="index" @click="go_record(item)">
+					{{item.title}}
+				</view>
+			</view>
+		</view>
+
+		<!-- 图片链接 -->
+		<view class="section_2">
+			<view class="title">图片链接</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_2.children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- 快速通道 -->
+		<view class="section_3">
+			<view class="title">快速通道</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_3.children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode="widthFix"></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- <view class="bottom" @click="go_h5()">
+			<image src="./icon/bottom.png" mode="aspectFit"></image>
+		</view> -->
+
+
+	</view>
+</template>
+
+<script>
+	import {
+		goToLink
+	} from "@/common/common.js"
+
+	export default {
+		name: "t-i-ningdongyunying",
+		props: [
+			"mine_code"
+		],
+		data() {
+			return {
+				active: 1,
+				list_1: [],
+				// 图片链接
+				list_2: [],
+				// 快速通道
+				list_3: [],
+			};
+		},
+		created() {
+			this.get_home_link()
+		},
+		methods: {
+			get_home_link() {
+				this.$api.home_link({
+
+				}).then((res) => {
+					// console.log(res.data.data)
+
+					// 科室部门
+					this.list_1 = res.data.data[0].children[0]
+					// 图片链接
+					this.list_2 = res.data.data[2]
+
+					// 快速通道
+					this.list_3 = res.data.data[3]
+				})
+			},
+			go_record(item) {
+				goToLink(item, this.mine_code)
+			},
+			go_h5() {
+				uni.navigateTo({
+					// http://ningdongyunying.nxjiewei.com:8011/assets/html/QRcoddetails/index.html?name=&uuid=&pageId=10ad4420d27b4146bafe43802f03d5c6&departmentID=
+					url: "../../index/h5/h5?url=" +
+						"http://ningdongyunying.nxjiewei.com:8011/web/monitor/dispatch/center"
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 10rpx;
+		padding-bottom: 40rpx;
+		background-color: #FFFFFF;
+	}
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+
+		.tab {
+			display: flex;
+
+			padding-left: 10rpx;
+
+			.title {
+				line-height: 80rpx;
+				font-weight: 700;
+			}
+
+			.active {
+				color: #009fe8;
+				border-bottom: 6rpx solid #009fe8;
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 700rpx;
+
+				border-radius: 10rpx;
+				overflow: hidden;
+
+				image {
+					width: 700rpx;
+				}
+			}
+		}
+	}
+
+	.bottom {
+		margin-top: 10rpx;
+		text-align: center;
+
+		image {
+			width: 700rpx;
+			height: 240rpx;
+		}
+	}
+</style>

+ 25 - 45
components/t-i-ningdongyunying/t-i-ningdongyunying.vue

@@ -1,36 +1,36 @@
 <template>
 	<view class="content">
-		<view class="section_1">
+		<view class="section_1" v-if="home_link[0].children.length > 0">
 			<view class="tab">
 				<view class="title active">科室部门</view>
 			</view>
 			<view class="list">
-				<view class="item" v-for="(item,index) in list_1.children" :key="index" @click="go_record(item)">
+				<view class="item" v-for="(item,index) in home_link[0].children[0].children" :key="index" @click="go_record(item)">
 					{{item.title}}
 				</view>
 			</view>
 		</view>
 
 		<!-- 图片链接 -->
-		<view class="section_2">
+		<view class="section_2" v-if="home_link[2].children.length > 0">
 			<view class="title">图片链接</view>
 			<view class="list">
-				<view class="item" v-for="(item,index) in list_2.children" :key="index" @click="go_record(item)">
+				<view class="item" v-for="(item,index) in home_link[2].children" :key="index" @click="go_record(item)">
 					<image :src="item.thumb" mode=""></image>
 				</view>
 			</view>
 		</view>
 
 		<!-- 快速通道 -->
-		<view class="section_3">
+		<view class="section_3" v-if="home_link[3].children.length > 0">
 			<view class="title">快速通道</view>
 			<view class="list">
-				<view class="item" v-for="(item,index) in list_3.children" :key="index" @click="go_record(item)">
-					<image :src="item.thumb" mode=""></image>
+				<view class="item" v-for="(item,index) in home_link[3].children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode="widthFix"></image>
 				</view>
 			</view>
 		</view>
-		
+
 		<!-- <view class="bottom" @click="go_h5()">
 			<image src="./icon/bottom.png" mode="aspectFit"></image>
 		</view> -->
@@ -40,49 +40,31 @@
 </template>
 
 <script>
-	import {goToLink} from "@/common/common.js"
-	
+	import {
+		goToLink
+	} from "@/common/common.js"
+
 	export default {
 		name: "t-i-ningdongyunying",
 		props: [
-			"mine_code"
+			"mine_code",
+			"home_link"
 		],
 		data() {
 			return {
 				active: 1,
-				list_1: [],
-				// 图片链接
-				list_2: [],
-				// 快速通道
-				list_3: [],
+				
 			};
 		},
-		created() {
-			this.get_home_link()
-		},
 		methods: {
-			get_home_link() {
-				this.$api.home_link({
-
-				}).then((res) => {
-					// console.log(res.data.data)
-
-					// 科室部门
-					this.list_1 = res.data.data[0].children[0]
-					// 图片链接
-					this.list_2 = res.data.data[2]
-
-					// 快速通道
-					this.list_3 = res.data.data[3]
-				})
-			},
 			go_record(item) {
-				goToLink(item,this.mine_code)
+				goToLink(item, this.mine_code)
 			},
-			go_h5(){
+			go_h5() {
 				uni.navigateTo({
 					// http://ningdongyunying.nxjiewei.com:8011/assets/html/QRcoddetails/index.html?name=&uuid=&pageId=10ad4420d27b4146bafe43802f03d5c6&departmentID=
-					url:"../../index/h5/h5?url=" + "http://ningdongyunying.nxjiewei.com:8011/web/monitor/dispatch/center"
+					url: "../../index/h5/h5?url=" +
+						"http://ningdongyunying.nxjiewei.com:8011/web/monitor/dispatch/center"
 				})
 			}
 		}
@@ -102,8 +84,9 @@
 
 		.tab {
 			display: flex;
-			
+
 			padding-left: 10rpx;
+
 			.title {
 				line-height: 80rpx;
 				font-weight: 700;
@@ -152,11 +135,10 @@
 	.section_2 {
 		box-sizing: border-box;
 		padding: 0 25rpx;
-		
+
 		.title {
 			line-height: 120rpx;
 			font-size: 36rpx;
-			font-weight: 700;
 		}
 
 		.list {
@@ -187,7 +169,6 @@
 		.title {
 			line-height: 120rpx;
 			font-size: 36rpx;
-			font-weight: 700;
 		}
 
 		.list {
@@ -198,23 +179,22 @@
 			.item {
 				margin-bottom: 20rpx;
 				width: 700rpx;
-				height: 240rpx;
 
 				border-radius: 10rpx;
 				overflow: hidden;
 
 				image {
 					width: 700rpx;
-					height: 240rpx;
 				}
 			}
 		}
 	}
 
-	.bottom{
+	.bottom {
 		margin-top: 10rpx;
 		text-align: center;
-		image{
+
+		image {
 			width: 700rpx;
 			height: 240rpx;
 		}

+ 212 - 0
components/t-i-ningmeijituan/t-i-ningmeijituan.vue

@@ -0,0 +1,212 @@
+<template>
+	<view class="content">
+		<view class="section_1">
+			<scroll-view scroll-x>
+				<view class="tab_box">
+					<view class="tab" v-for="(item,index) in home_link[0].children" :key="index">
+						<view class="title" @click="change_active(index+1)" :class="active==index+1?'active':''">
+							{{item.title}}</view>
+					</view>
+				</view>
+			</scroll-view>
+			<view v-for="(item,index) in home_link[0].children" :key="index">
+				<view class="list" v-if="index+1 == active">
+					<view class="item" v-for="(item_2,index_2) in item.children" :key="index_2"
+						@click="go_record(item_2)">
+						{{item_2.title}}
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- 快速通道 -->
+		<view class="section_3" v-if="home_link[2].children.length > 0">
+			<view class="title">快速通道</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in home_link[2].children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode="widthFix"></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- <view class="bottom" @click="go_h5()">
+			<image src="./icon/bottom.png" mode="aspectFit"></image>
+		</view> -->
+
+
+	</view>
+</template>
+
+<script>
+	import {
+		goToLink
+	} from "@/common/common.js"
+
+	export default {
+		name: "t-i-ningmeijituan",
+		props: [
+			"mine_code",
+			"home_link"
+		],
+		data() {
+			return {
+				active: 1,
+			};
+		},
+		mounted() {
+			
+		},
+		methods: {
+			change_active(index) {
+				console.log(index)
+				this.active = index
+			},
+			go_record(item) {
+				goToLink(item, this.mine_code)
+			},
+			go_h5() {
+				uni.navigateTo({
+					// http://ningdongyunying.nxjiewei.com:8011/assets/html/QRcoddetails/index.html?name=&uuid=&pageId=10ad4420d27b4146bafe43802f03d5c6&departmentID=
+					url: "../../index/h5/h5?url=" +
+						"http://ningdongyunying.nxjiewei.com:8011/web/monitor/dispatch/center"
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 10rpx;
+		padding-bottom: 40rpx;
+		background-color: #FFFFFF;
+	}
+
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+
+		.tab_box {
+			display: flex;
+
+			.tab {
+				margin-right: 40rpx;
+				text-align: center;
+
+				.title {
+					width: 180rpx;
+					height: 80rpx;
+					line-height: 80rpx;
+					font-size: 36rpx;
+				}
+
+				.active {
+					color: #009fe8;
+					border-bottom: 4rpx solid #009fe8;
+				}
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 700rpx;
+
+				border-radius: 10rpx;
+				overflow: hidden;
+
+				image {
+					width: 700rpx;
+				}
+			}
+		}
+	}
+
+	.bottom {
+		margin-top: 10rpx;
+		text-align: center;
+
+		image {
+			width: 700rpx;
+			height: 240rpx;
+		}
+	}
+</style>

+ 13 - 8
components/t-i-notice-2/t-i-notice-2.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="content">
-		<view class="box">
+		<view class="box" v-if="notice != ''">
 			<!-- 文字滚动 -->
 			<uni-notice-bar scrollable="true" :speed="30" background-color="#ffffff00" color="#fff" single="true"
 				:text="text_time">
@@ -8,11 +8,11 @@
 
 			<!-- 文字滚动 -->
 			<uni-notice-bar scrollable="true" :speed="20" background-color="#ffffff00" color="#fff" single="true"
-				:text="text"></uni-notice-bar>
+				:text="notice"></uni-notice-bar>
 				
-			<!-- <view class="more" @click="go_duty_information()">
-				<uni-icons type="more-filled" color="#fff"></uni-icons>
-			</view> -->
+			<view class="more" @click="go_duty_information()">
+				<uni-icons type="more-filled" size="20" color="#fff"></uni-icons>
+			</view>
 		</view>
 	</view>
 </template>
@@ -54,10 +54,15 @@
 			"text",
 			"mine_code"
 		],
+		watch:{
+			text(newVal,oldVal){
+				this.notice = newVal
+			}
+		},
 		data() {
 			return {
 				text_time: "",
-
+				notice:"",
 
 				year: 0,
 				month: 0,
@@ -67,8 +72,8 @@
 				days: 0
 			};
 		},
-		created() {
-
+		mounted() {
+			this.notice = this.text
 			this.year = new Date().getFullYear();
 			this.month = new Date().getMonth() + 1;
 			this.today = new Date().getDate();

+ 10 - 5
components/t-i-notice/t-i-notice.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="content">
-		<view class="box">
+		<view class="box" v-if="notice != ''">
 			<!-- 文字滚动 -->
 			<uni-notice-bar scrollable="true" :speed="30" background-color="#ffffff00" color="#fff" single="true"
 				:text="text_time">
@@ -10,9 +10,9 @@
 			<uni-notice-bar scrollable="true" :speed="20" background-color="#ffffff00" color="#fff" single="true"
 				:text="notice"></uni-notice-bar>
 				
-			<!-- <view class="more" @click="go_duty_information()">
-				<uni-icons type="more-filled" color="#fff"></uni-icons>
-			</view> -->
+			<view class="more" @click="go_duty_information()">
+				<uni-icons type="more-filled" size="20" color="#fff"></uni-icons>
+			</view>
 		</view>
 	</view>
 </template>
@@ -54,6 +54,11 @@
 			"text",
 			"mine_code"
 		],
+		watch:{
+			text(newVal,oldVal){
+				this.notice = newVal
+			}
+		},
 		data() {
 			return {
 				text_time: "",
@@ -67,7 +72,7 @@
 				days: 0
 			};
 		},
-		created() {
+		mounted() {
 			this.notice = this.text
 			this.year = new Date().getFullYear();
 			this.month = new Date().getMonth() + 1;

+ 211 - 0
components/t-i-shicaocun/t-i-shicaocun - 原始适配版本备份.vue

@@ -0,0 +1,211 @@
+<template>
+	<view class="content">
+		<view class="section_1">
+			<view class="tab">
+				<view class="title active">科室部门</view>
+			</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_1.children" :key="index" @click="go_record(item)">
+					{{item.title}}
+				</view>
+			</view>
+		</view>
+
+		<!-- 图片链接 -->
+		<view class="section_2">
+			<view class="title">图片链接</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_2.children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+		<!-- 快速通道 -->
+		<view class="section_3">
+			<view class="title">快速通道</view>
+			<view class="list">
+				<view class="item" v-for="(item,index) in list_3.children" :key="index" @click="go_record(item)">
+					<image :src="item.thumb" mode=""></image>
+				</view>
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import {goToLink} from "@/common/common.js"
+	
+	export default {
+		name: "t-i-ningdongyunying",
+		props: [
+			"mine_code"
+		],
+		data() {
+			return {
+				active: 1,
+				list_1: [],
+				// 图片链接
+				list_2: [],
+				// 快速通道
+				list_3: [],
+			};
+		},
+		created() {
+			this.get_home_link()
+		},
+		methods: {
+			get_home_link() {
+				this.$api.home_link({
+
+				}).then((res) => {
+					// console.log(res.data.data)
+
+					// 科室部门
+					this.list_1 = res.data.data[1]
+					// 图片链接
+					this.list_2 = res.data.data[2]
+
+					// 快速通道
+					this.list_3 = res.data.data[3]
+				})
+			},
+			go_record(item) {
+				goToLink(item,this.mine_code)
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 10rpx;
+		padding-bottom: 40rpx;
+		background-color: #FFFFFF;
+	}
+
+	.section_1 {
+		box-sizing: border-box;
+		padding: 25rpx;
+
+		.tab {
+			display: flex;
+			
+			padding-left: 10rpx;
+			.title {
+				line-height: 80rpx;
+				font-weight: 700;
+			}
+
+			.active {
+				color: #009fe8;
+				border-bottom: 6rpx solid #009fe8;
+			}
+		}
+
+		.list {
+			margin-top: 30rpx;
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 20rpx;
+				margin-bottom: 30rpx;
+
+				width: 160rpx;
+				box-sizing: border-box;
+				border: 2rpx solid #009fe8;
+				border-radius: 20rpx;
+				font-size: 28rpx;
+				line-height: 70rpx;
+				//超过一行省略号
+				overflow: hidden;
+				white-space: nowrap;
+				text-overflow: ellipsis;
+
+				padding: 0 10rpx;
+				background-color: #66C7F218;
+				color: #009FE8;
+
+				text-align: center;
+			}
+
+			.item:nth-child(4n) {
+				margin-right: 0;
+			}
+		}
+
+	}
+
+	.section_2 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+		
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 340rpx;
+				height: 180rpx;
+
+				border-radius: 20rpx;
+				overflow: hidden;
+
+				image {
+					width: 340rpx;
+					height: 180rpx;
+				}
+			}
+		}
+	}
+
+	.section_3 {
+		box-sizing: border-box;
+		padding: 0 25rpx;
+
+		.title {
+			line-height: 120rpx;
+			font-size: 36rpx;
+			font-weight: 700;
+		}
+
+		.list {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				margin-bottom: 20rpx;
+				width: 700rpx;
+				height: 240rpx;
+
+				border-radius: 10rpx;
+				overflow: hidden;
+
+				image {
+					width: 700rpx;
+					height: 240rpx;
+				}
+			}
+		}
+	}
+
+	.bottom{
+		margin-top: 10rpx;
+		text-align: center;
+		image{
+			width: 700rpx;
+			height: 240rpx;
+		}
+	}
+</style>

+ 10 - 14
components/t-i-shicaocun/t-i-shicaocun.vue

@@ -40,7 +40,8 @@
 	export default {
 		name: "t-i-ningdongyunying",
 		props: [
-			"mine_code"
+			"mine_code",
+			"home_link"
 		],
 		data() {
 			return {
@@ -52,24 +53,21 @@
 				list_3: [],
 			};
 		},
-		created() {
+		mounted() {
 			this.get_home_link()
 		},
 		methods: {
 			get_home_link() {
-				this.$api.home_link({
-
-				}).then((res) => {
-					// console.log(res.data.data)
-
+				setTimeout(()=>{
 					// 科室部门
-					this.list_1 = res.data.data[1]
+					this.list_1 = this.home_link[1]
 					// 图片链接
-					this.list_2 = res.data.data[2]
-
+					this.list_2 = this.home_link[2]
+					
 					// 快速通道
-					this.list_3 = res.data.data[3]
-				})
+					this.list_3 = this.home_link[3]
+				},1000)
+				
 			},
 			go_record(item) {
 				goToLink(item,this.mine_code)
@@ -145,7 +143,6 @@
 		.title {
 			line-height: 120rpx;
 			font-size: 36rpx;
-			font-weight: 700;
 		}
 
 		.list {
@@ -176,7 +173,6 @@
 		.title {
 			line-height: 120rpx;
 			font-size: 36rpx;
-			font-weight: 700;
 		}
 
 		.list {

+ 104 - 0
components/t-i-yangchangwan/t-i-yangchangwan - 原始适配版本.vue

@@ -0,0 +1,104 @@
+<template>
+	<view class="content">
+		<view class="section" v-for="(item,index) in home_link" :key="index">
+			<view class="title">{{item.title}}</view>
+			<view class="list">
+				<view class="item" v-for="(item_2,index_2) in item.children" :key="index_2" @click="go_record(item_2.link)">
+					{{item_2.title}}
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "t-i-yangchangwan",
+		props:[
+			"mine_code",
+			"home_link"
+		],
+		data() {
+			return {
+				// list: [],
+			};
+		},
+		created() {
+			// this.get_home_link()
+		},
+		methods: {
+			
+			go_record(link){
+				// 二维码
+				if(link.indexOf("pageId") != -1 && link.indexOf("app:") == -1){
+					let pageId = ""
+					function GetQueryString(name) {
+						var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+						var r = link.match(reg);
+						if (r != null) return unescape(r[2]);
+						return null;
+					}
+					console.log(GetQueryString("pageId"))
+					if (GetQueryString("pageId")) {
+						pageId = GetQueryString("pageId")
+					} else {
+						pageId = link.split('=')[1]
+					}
+					
+					uni.navigateTo({
+						url:"../../index/record/record?pageId=" + pageId + "&mine_code=" + this.mine_code,
+					})
+				}else{
+					console.log(link)
+				}
+				
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.content {
+		margin-top: 20rpx;
+		background-color: #FFFFFF;
+		
+		padding-top: 20rpx;
+	}
+	
+	.section{
+		box-sizing: border-box;
+		padding: 0 25rpx;
+		
+		margin-top: 10rpx;
+	}
+	
+	.list {
+		margin-top: 30rpx;
+		overflow: hidden;
+		.item{
+			float: left;
+			margin-right: 20rpx;
+			margin-bottom: 30rpx;
+			
+			width: 160rpx;
+			box-sizing: border-box;
+			border: 2rpx solid #009fe8;
+			border-radius: 20rpx;
+			font-size: 28rpx;
+			line-height: 70rpx;
+			//超过一行省略号
+			overflow: hidden;
+			white-space: nowrap;
+			text-overflow: ellipsis;
+			
+			padding: 0 10rpx;
+			background-color: #66C7F218;
+			color: #009FE8;
+		
+			text-align: center;
+		}
+		.item:nth-child(4n){
+			margin-right: 0;
+		}
+	}
+</style>

+ 1 - 1
components/t-i-yangchangwan/t-i-yangchangwan.vue

@@ -1,6 +1,6 @@
 <template>
 	<view class="content">
-		<view class="section" v-for="(item,index) in home_link" :key="index">
+		<view class="section" v-for="(item,index) in home_link" :key="index" v-if="index != 1">
 			<view class="title">{{item.title}}</view>
 			<view class="list">
 				<view class="item" v-for="(item_2,index_2) in item.children" :key="index_2" @click="go_record(item_2.link)">

+ 11 - 12
components/t-o-news-tab-1/t-o-news-tab-1.vue

@@ -76,19 +76,18 @@
 					
 					this.list = res.data.content.data
 					
-					let num = 0
-					
-					this.list.forEach((item,index)=>{
-						num = num + item.no_num
-					})
-					
-					if(num > 0){
-						uni.setTabBarBadge({
-							index: 1,
-							text: '' + num + ''
-						})
-					}
 					
+					// 设置提醒角标
+					// let num = 0
+					// this.list.forEach((item,index)=>{
+					// 	num = num + item.no_num
+					// })
+					// if(num > 0){
+					// 	uni.setTabBarBadge({
+					// 		index: 1,
+					// 		text: '' + num + ''
+					// 	})
+					// }
 				})
 			},
 			go_list(title,table,num,status){

+ 10 - 10
components/t-o-news-tab-2/t-o-news-tab-2.vue

@@ -144,7 +144,7 @@
 				// list
 				table: "",
 
-				page: 1,
+				page: 0,
 				pageSize: 10,
 
 				name: [],
@@ -229,7 +229,7 @@
 				this.date_start = getNextDate(this.date_end, -30)
 				this.get_five_fixed_getTableFiledRemark()
 				// 获取列表
-				this.page = 1
+				this.page = 0
 				this.data = []
 				this.get_five_fixed_getRecordDataByTableName()
 				// 关闭选项
@@ -269,25 +269,25 @@
 					uni.hideLoading()
 					
 					if (this.table == '') {
-						if (res.data.content.data.length < 1) {
+						if (res.data.content.data.record_data.length < 1) {
 							uni.showToast({
 								icon: "none",
 								title: "暂无更多内容。"
 							})
 						} else {
-							this.page++
-							this.data = this.data.concat(res.data.content.data)
+							this.page = res.data.content.data.base_num
+							this.data = this.data.concat(res.data.content.data.record_data)
 						}
 
 					} else {
-						if (res.data.content.data.data.length < 1) {
+						if (res.data.content.data.record_data.length < 1) {
 							uni.showToast({
 								icon: "none",
 								title: "暂无更多内容。"
 							})
 						} else {
-							this.page++
-							this.data = this.data.concat(res.data.content.data.data)
+							this.page = res.data.content.data.base_num
+							this.data = this.data.concat(res.data.content.data.record_data)
 						}
 
 					}
@@ -389,7 +389,7 @@
 				//两次点击间隔小于300ms, 认为是双击
 				let diff = curTime - lastTime;
 				if (diff < 300) {
-					console.log("双击")
+					// console.log("双击")
 					//_this.handleVideo('screen',index)自定义事件
 					clearTimeout(_this.lastTapTimeoutFunc); // 成功触发双击事件时,取消单击事件的执行
 
@@ -404,7 +404,7 @@
 				} else {
 					// 单击事件延时300毫秒执行
 					_this.lastTapTimeoutFunc = setTimeout(function() {
-						console.log("单击")
+						// console.log("单击")
 						//_this.handleVideo('playOrStop',index)自定义事件
 					}, 300);
 				}

+ 163 - 0
components/t-o-news/t-o-news - 模块切换.vue

@@ -0,0 +1,163 @@
+<template>
+	<view>
+		<!-- tab -->
+		<view class="tab">
+			<view class="item" @click="change_active(1)">
+				<view class="icon">
+					<image v-if="active != 1" src="./icon/icon_1.png" mode=""></image>
+					<image v-if="active == 1" src="./icon/icon_1_active.png" style="width: 115rpx;height: 80rpx;"
+						mode=""></image>
+				</view>
+				<view class="title">
+					<view class="text" :style="active==1?'color:#009FE8;font-weight:700;':'' ">闭环管理</view>
+					<view class="tip" :style="active==1?'color:#3a3a3a;':'' ">PDCA循环管理</view>
+				</view>
+			</view>
+			<!-- <view class="item" @click="change_active(2)">
+				<view class="icon">
+					<image v-if="active != 2" src="./icon/icon_2.png" mode=""></image>
+					<image v-if="active == 2" src="./icon/icon_2_active.png" style="width: 115rpx;height: 80rpx;"
+						mode=""></image>
+				</view>
+				<view class="title">
+					<view class="text" :style="active==2?'color:#009FE8;font-weight:700;':'' ">记录管理</view>
+					<view class="tip" :style="active==2?'color:#3a3a3a;':'' ">全部消息一览</view>
+				</view>
+			</view> -->
+			<!-- 矿区圈 -->
+			<view class="item" @click="change_active(2)">
+				<view class="icon">
+					<image v-if="active != 2" src="./icon/kqq.png" mode=""></image>
+					<image v-if="active == 2" src="./icon/kqq_active.png" style="width: 115rpx;height: 80rpx;"
+						mode=""></image>
+				</view>
+				<view class="title">
+					<view class="text" :style="active==2?'color:#009FE8;font-weight:700;':'' ">矿区圈</view>
+					<view class="tip" :style="active==2?'color:#3a3a3a;':'' ">日常记录实时查看</view>
+				</view>
+			</view>
+			<view class="item" @click="change_active(3)">
+				<view class="icon">
+					<image v-if="active != 3" src="./icon/icon_3.png" mode=""></image>
+					<image v-if="active == 3" src="./icon/icon_3_active.png" style="width: 115rpx;height: 80rpx;"
+						mode=""></image>
+				</view>
+				<view class="title">
+					<view class="text" :style="active==3?'color:#009FE8;font-weight:700;':'' ">宣传展板</view>
+					<view class="tip" :style="active==3?'color:#3a3a3a;':'' ">企业文化宣传展示</view>
+				</view>
+			</view>
+		</view>
+
+		<!-- content -->
+		<view class="content">
+			<view v-if="active == 1">
+				<t-o-news-tab-1></t-o-news-tab-1>
+			</view>
+			<view v-if="active == 2">
+				<t-o-news-tab-2 ref="tab_2"></t-o-news-tab-2>
+			</view>
+			<view v-if="active == 3">
+				<t-o-news-tab-3></t-o-news-tab-3>
+			</view>
+		</view>
+		
+		<view class="go_top" @click="go_top">
+			<uni-icons type="top" size="22"></uni-icons>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		name: "t-o-news",
+		data() {
+			return {
+				active: 1
+			};
+		},
+		methods: {
+			change_active(item) {
+				this.active = item
+			},
+			
+			tab_2_onReachBottom(){
+				if(this.active == 2){
+					this.$refs.tab_2.nextPage();
+				}
+			},
+			
+			go_top(){
+				uni.pageScrollTo({
+					scrollTop: 0,
+					duration: 200
+				});
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F2FAF7;
+	}
+
+	.tab {
+		background-color: #FFFFFF;
+		box-sizing: border-box;
+		padding: 25rpx 50rpx;
+
+		display: flex;
+		justify-content: space-between;
+		align-items: center;
+
+		.item {
+			text-align: center;
+
+			.icon {
+				height: 80rpx;
+
+				image {
+					width: 95rpx;
+					height: 66rpx;
+				}
+			}
+
+			.title {
+				margin-top: 10rpx;
+
+				.text {
+					font-size: 30rpx;
+					color: #727272;
+				}
+
+				.tip {
+					margin-top: 5rpx;
+					font-size: 24rpx;
+					color: #979797;
+				}
+			}
+		}
+	}
+	
+	.content{
+		margin-top: 20rpx;
+	}
+	
+	.go_top{
+		z-index: 999;
+		position: fixed;
+		bottom: 150rpx;
+		right: 50rpx;
+		
+		width: 100rpx;
+		height: 100rpx;
+		line-height: 100rpx;
+		text-align: center;
+		// background-color: #FFFFFF;
+		background-color: #EEEEEE;
+		border-radius: 50%;
+		
+		font-weight: 700;
+	}
+</style>

+ 13 - 76
components/t-o-news/t-o-news.vue

@@ -1,67 +1,10 @@
 <template>
 	<view>
-		<!-- tab -->
-		<view class="tab">
-			<view class="item" @click="change_active(1)">
-				<view class="icon">
-					<image v-if="active != 1" src="./icon/icon_1.png" mode=""></image>
-					<image v-if="active == 1" src="./icon/icon_1_active.png" style="width: 115rpx;height: 80rpx;"
-						mode=""></image>
-				</view>
-				<view class="title">
-					<view class="text" :style="active==1?'color:#009FE8;font-weight:700;':'' ">闭环管理</view>
-					<view class="tip" :style="active==1?'color:#3a3a3a;':'' ">PDCA循环管理</view>
-				</view>
-			</view>
-			<!-- <view class="item" @click="change_active(2)">
-				<view class="icon">
-					<image v-if="active != 2" src="./icon/icon_2.png" mode=""></image>
-					<image v-if="active == 2" src="./icon/icon_2_active.png" style="width: 115rpx;height: 80rpx;"
-						mode=""></image>
-				</view>
-				<view class="title">
-					<view class="text" :style="active==2?'color:#009FE8;font-weight:700;':'' ">记录管理</view>
-					<view class="tip" :style="active==2?'color:#3a3a3a;':'' ">全部消息一览</view>
-				</view>
-			</view> -->
-			<!-- 矿区圈 -->
-			<view class="item" @click="change_active(2)">
-				<view class="icon">
-					<image v-if="active != 2" src="./icon/kqq.png" mode=""></image>
-					<image v-if="active == 2" src="./icon/kqq_active.png" style="width: 115rpx;height: 80rpx;"
-						mode=""></image>
-				</view>
-				<view class="title">
-					<view class="text" :style="active==2?'color:#009FE8;font-weight:700;':'' ">矿区圈</view>
-					<view class="tip" :style="active==2?'color:#3a3a3a;':'' ">日常记录实时查看</view>
-				</view>
-			</view>
-			<view class="item" @click="change_active(3)">
-				<view class="icon">
-					<image v-if="active != 3" src="./icon/icon_3.png" mode=""></image>
-					<image v-if="active == 3" src="./icon/icon_3_active.png" style="width: 115rpx;height: 80rpx;"
-						mode=""></image>
-				</view>
-				<view class="title">
-					<view class="text" :style="active==3?'color:#009FE8;font-weight:700;':'' ">宣传展板</view>
-					<view class="tip" :style="active==3?'color:#3a3a3a;':'' ">企业文化宣传展示</view>
-				</view>
-			</view>
-		</view>
-
 		<!-- content -->
 		<view class="content">
-			<view v-if="active == 1">
-				<t-o-news-tab-1></t-o-news-tab-1>
-			</view>
-			<view v-if="active == 2">
-				<t-o-news-tab-2 ref="tab_2"></t-o-news-tab-2>
-			</view>
-			<view v-if="active == 3">
-				<t-o-news-tab-3></t-o-news-tab-3>
-			</view>
+			<t-o-news-tab-2 ref="tab_2"></t-o-news-tab-2>
 		</view>
-		
+
 		<view class="go_top" @click="go_top">
 			<uni-icons type="top" size="22"></uni-icons>
 		</view>
@@ -73,21 +16,15 @@
 		name: "t-o-news",
 		data() {
 			return {
-				active: 1
+
 			};
 		},
 		methods: {
-			change_active(item) {
-				this.active = item
-			},
-			
-			tab_2_onReachBottom(){
-				if(this.active == 2){
-					this.$refs.tab_2.nextPage();
-				}
+			tab_2_onReachBottom() {
+				this.$refs.tab_2.nextPage();
 			},
-			
-			go_top(){
+
+			go_top() {
 				uni.pageScrollTo({
 					scrollTop: 0,
 					duration: 200
@@ -139,17 +76,17 @@
 			}
 		}
 	}
-	
-	.content{
+
+	.content {
 		margin-top: 20rpx;
 	}
-	
-	.go_top{
+
+	.go_top {
 		z-index: 999;
 		position: fixed;
 		bottom: 150rpx;
 		right: 50rpx;
-		
+
 		width: 100rpx;
 		height: 100rpx;
 		line-height: 100rpx;
@@ -157,7 +94,7 @@
 		// background-color: #FFFFFF;
 		background-color: #EEEEEE;
 		border-radius: 50%;
-		
+
 		font-weight: 700;
 	}
 </style>

+ 1 - 0
components/t-o-origanization/t-o-origanization.vue

@@ -7,6 +7,7 @@
 				</view>
 				
 				<view class="text" v-if="mine_code == 'zaoquan'">国家能源集团枣泉煤矿</view>
+				<view class="text" v-if="mine_code == 'ningmeijituan'">国家能源集团宁夏煤业公司</view>
 				<view class="text" v-if="mine_code == 'ningdongyunying'">国家能源集团宁东运营部</view>
 				<view class="text" v-if="mine_code == 'qingshuiying'">国家能源集团清水营煤矿</view>
 				<view class="text" v-if="mine_code == 'wuyegongsi'">物业公司</view>

二进制
components/t-p-icon/icon_15.png


+ 62 - 2
components/t-p-jinjiaqu/t-p-jinjiaqu.vue

@@ -27,6 +27,15 @@
 				<view class="tip">工业视频</view>
 			</view>
 		</view>
+		<view class="item_box" style="background-color: #FBB47B;" @click="go_video_monitor_h5()">
+			<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: #5175E3;" @click="go_shangtang()">
 			<view class="img">
 				<image src="../t-p-icon/icon_4.png" mode=""></image>
@@ -44,6 +53,46 @@
 				<view class="tip"></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: #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: #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: #005754;" @click="go_zdhxt('tsj')">
+			<view class="img">
+				<image src="../t-p-icon/icon_15.png" mode=""></image>
+			</view>
+			<view class="text">
+				<view class="name">提升机</view>
+			</view>
+		</view>
 	</view>
 </template>
 
@@ -86,6 +135,11 @@
 					url:"../../production/video_monitor_app/video_monitor_app?mine_code=" + this.mine_code
 				})
 			},
+			go_video_monitor_h5(){
+				uni.navigateTo({
+					url:"../../production/video_monitor/video_monitor?mine_code=jinjiaquhaikang"
+				})
+			},
 			
 			// 商汤
 			go_shangtang(){
@@ -93,12 +147,18 @@
 					url:"../../production/shangtang/shangtang"
 				})
 			},
-			
+			// 矿压监测
 			go_kuangyajiance(){
 				uni.navigateTo({
 					url:"../../production/jinjiaqu/kuang_ya_jian_ce/kuang_ya_jian_ce"
 				})
-			}
+			},
+			// 自动化系统列表
+			go_zdhxt(zdhxt) {
+				uni.navigateTo({
+					url: "../../production/jinjiaqu/zidonghua_list/zidonghua_list?zdhxt=" + zdhxt
+				})
+			},
 		}
 	}
 </script>

+ 16 - 8
components/t-p-n-section-1/t-p-n-section-1.vue

@@ -41,7 +41,6 @@
 			</view>
 			<view class="text">
 				<view class="name">通风管理</view>
-				<view class="tip">共40个通风机</view>
 			</view>
 		</view>
 		<!-- <view class="item_box" style="background-color: #FBB47B;" @click="go_h5('http://nmjt.nxjiewei.com:8011/web/monitor/video/videoList?mine_code=')"> -->
@@ -63,7 +62,7 @@
 				<view class="tip">分数统计</view>
 			</view>
 		</view> -->
-		<view class="item_box" style="background-color: #009FE8;" @click="go_h5('http://ningdongyunying.nxjiewei.com:8011/web/monitor/performanceRanking/performanceRanking')">
+		<!-- <view class="item_box" style="background-color: #009FE8;" @click="go_h5('http://ningdongyunying.nxjiewei.com:8011/web/monitor/performanceRanking/performanceRanking')">
 			<view class="img">
 				<image src="../t-p-icon/icon_1.png" mode=""></image>
 			</view>
@@ -71,6 +70,14 @@
 				<view class="name">绩效排名</view>
 				<view class="tip">绩效考核分数统计</view>
 			</view>
+		</view> -->
+		<view class="item_box" style="background-color: #005754;" @click="go_zdhxt('tsj')">
+			<view class="img">
+				<image src="../t-p-icon/icon_15.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">
@@ -124,6 +131,7 @@
 				<view class="name">视频分析</view>
 			</view>
 		</view> -->
+		
 	</view>
 </template>
 
@@ -190,14 +198,14 @@
 			},
 			// 视频监控
 			go_h5(url) {
-				uni.navigateTo({
-					url: "../../ningdongyunying/h5/h5?url=" + url
-				})
-				
-				// 原生 rtsp流
 				// uni.navigateTo({
-				// 	url:"../../production/video_monitor_app/video_monitor_app?mine_code=" + this.mine_code
+				// 	url: "../../ningdongyunying/h5/h5?url=" + url
 				// })
+				
+				// 原生 rtsp流
+				uni.navigateTo({
+					url:"../../production/video_monitor_app/video_monitor_app?mine_code=ningmeijituan"
+				})
 			},
 			
 			// 商汤

+ 3 - 3
manifest.json

@@ -1,8 +1,8 @@
 {
-    "name" : "智慧金家渠(内网)",
-    "appid" : "__UNI__CD92393",
+    "name" : "宁煤安全",
+    "appid" : "__UNI__5DF9CB2",
     "description" : "",
-    "versionName" : "1.0.0",
+    "versionName" : "1.0.8",
     "versionCode" : "100",
     "transformPx" : false,
     /* 5+App特有相关 */

+ 100 - 17
pages.json

@@ -1,6 +1,5 @@
 {
 	"pages": [ //pages数组中第一项表示应用启动页,参考:https://uniapp.dcloud.io/collocation/pages
-
 		// tabbar
 		{
 			"path": "pages/tabbar/index/index",
@@ -16,7 +15,7 @@
 			"style": {
 				// "navigationBarTitleText": "通讯录"
 				// 宁东运营 显示消息
-				"navigationBarTitleText": "消息"
+				"navigationBarTitleText": "发现"
 			}
 
 		}, {
@@ -773,6 +772,91 @@
             }
             
         }
+        ,{
+            "path" : "pages/production/unified_automation_system/ventilation/ventilation",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "navigationBarBackgroundColor": "#0B163B"
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/jinjiaqu/zidonghua_list/zidonghua_list",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/unified_automation_system/drainage/drainage",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "navigationBarBackgroundColor": "#0B163B"
+            }
+            
+        }
+        ,{
+            "path" : "pages/workbench/closed_loop_management/closed_loop_management",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "闭环管理",
+                "enablePullDownRefresh": false
+            }
+            
+        }
+        ,{
+            "path" : "pages/index/weather/weather",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "天气预报",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#51AEE8"
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/unified_automation_system/compressed_air/compressed_air",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#0B163B"
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/unified_automation_system/belt_conveyor/belt_conveyor",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#0B163B"
+            }
+            
+        }
+        ,{
+            "path" : "pages/production/unified_automation_system/hoist/hoist",
+            "style" :                                                                                    
+            {
+                "navigationBarTitleText": "",
+                "enablePullDownRefresh": false,
+				"navigationBarBackgroundColor": "#0B163B"
+            }
+            
+        },
+		{
+		    "path" : "pages/index/safetyManagementSystem/safetyManagementSystem",
+		    "style" :                                                                                    
+		    {
+		        "navigationStyle":"custom"
+		    }
+		    
+		}
+        
     ],
 	"globalStyle": {
 		"navigationBarTextStyle": "white",
@@ -788,21 +872,20 @@
 				"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": "工作台",
-				"pagePath": "pages/tabbar/workbench/workbench",
-				"iconPath": "static/tabbar/work.png",
-				"selectedIconPath": "static/tabbar/work_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",
+			// 	"iconPath": "static/tabbar/work.png",
+			// 	"selectedIconPath": "static/tabbar/work_active.png"
+			// },
 			{
 				"text": "生产数据",
 				"pagePath": "pages/tabbar/production/production",

+ 6 - 0
pages/index/record/record.vue

@@ -402,10 +402,16 @@
 			}
 
 			.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 {

二进制
pages/index/safetyManagementSystem/icon/index.png


+ 174 - 0
pages/index/safetyManagementSystem/safetyManagementSystem.vue

@@ -0,0 +1,174 @@
+<template>
+	<view>
+		<view class="bg">
+			<image src="./icon/index.png" mode="widthFix"></image>
+			<view class="seacher" @click="go_search()"></view>
+			
+			<view class="section_btn btn_1" @click="go_record('c8b342510c4e4a79800519b22ff052f1')"></view>
+			<view class="section_btn btn_2" @click="go_record('dd5d82455cc14c4ebc47d577660ec431')"></view>
+			<view class="section_btn btn_3" @click="go_record('a8c7667da26e46e3a3027e0c44edcecc')"></view>
+			<view class="section_btn btn_4" @click="go_record('9280742a1997405aadaa1023dfebcfd4')"></view>
+			<view class="section_btn btn_5" @click="go_record('9f400dc7d919481bb4ef545d9305e183')"></view>
+			<view class="section_btn btn_6" @click="go_record('1a4dd63d18b243079005ec908fa600f7')"></view>
+			<view class="section_btn btn_7" @click="go_record('9023b5d3f6914714a0af17a78fbc7fd0')"></view>
+			
+			<!-- 数据平台 -->
+			<view class="system_btn system_btn_1" @click="go_system('../../ningdongyunying/production_statistics/production_statistics')"></view>
+			<view class="system_btn system_btn_2" @click="go_system('../../ningdongyunying/personnel_orientation/personnel_orientation')"></view>
+			<view class="system_btn system_btn_3" @click="go_system('../../ningdongyunying/safety_monitoring/safety_monitoring')"></view>
+			<view class="system_btn system_btn_4" @click="go_system('../../production/video_monitor/video_monitor?mine_code=ningmeijituan')"></view>
+			<view class="system_btn system_btn_5" @click="go_production()"></view>
+		
+			
+			<!-- 动态信息 -->
+			<view class="news_btn" @click="go_news('../../index/news/news_list/news_list?mine_code=ningmeijituan')"></view>
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+
+			};
+		},
+		methods: {
+			go_record(page_id){
+				uni.navigateTo({
+					url:"../../index/record/record?pageId=" + page_id + "&mine_code=ningmeijituan"
+				})
+			},
+			go_system(url) {
+				uni.navigateTo({
+					url: url
+				})
+			},
+			go_production(){
+				uni.switchTab({
+					url: "../../tabbar/production/production"
+				})
+			},
+				
+			go_news(url){
+				uni.navigateTo({
+					url: url
+				})
+			},
+			go_search(){
+				uni.navigateTo({
+					url:"../../index/search/search?mine_code=ningmeijituan"
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	.bg {
+		position: relative;
+
+		image {
+			width: 750rpx;
+		}
+		.seacher{
+			position: absolute;
+			top: 88rpx;
+			left: 35rpx;
+					
+			width: 680rpx;
+			height: 72rpx;
+			border-radius: 15rpx;
+					
+			// background-color: red;
+		}
+		
+		.section_btn{
+			width: 138rpx;
+			height: 138rpx;
+			border-radius: 15rpx;
+			
+			// background-color: red;
+		}
+
+		.btn_1 {
+			position: absolute;
+			top: 462rpx;
+			left: 116rpx;
+		}
+		.btn_2 {
+			position: absolute;
+			top: 462rpx;
+			left: 302rpx;
+		}
+		.btn_3 {
+			position: absolute;
+			top: 462rpx;
+			left: 496rpx;
+		}
+		.btn_4 {
+			position: absolute;
+			top: 642rpx;
+			left: 40rpx;
+		}
+		.btn_5 {
+			position: absolute;
+			top: 642rpx;
+			left: 216rpx;
+		}
+		.btn_6 {
+			position: absolute;
+			top: 642rpx;
+			left: 388rpx;
+		}
+		.btn_7 {
+			position: absolute;
+			top: 642rpx;
+			left: 572rpx;
+		}
+		
+		.system_btn {
+			position: absolute;
+			top: 1530rpx;
+		
+			width: 72rpx;
+			height: 72rpx;
+			border-radius: 15rpx;
+		
+			// background-color: red;
+		}
+		
+		.system_btn_1{
+			position: absolute;
+			left: 64rpx;
+		}
+		.system_btn_2{
+			position: absolute;
+			left: 200rpx;
+		}
+		.system_btn_3{
+			position: absolute;
+			left: 340rpx;
+		}
+		.system_btn_4{
+			position: absolute;
+			left: 480rpx;
+		}
+		.system_btn_5{
+			position: absolute;
+			left: 620rpx;
+		}
+		
+		.news_btn{
+			position: absolute;
+			top: 2168rpx;
+			left: 536rpx;
+					
+			width: 200rpx;
+			height: 60rpx;
+			border-radius: 15rpx;
+					
+			// background-color: red;
+		}
+	}
+</style>

+ 21 - 4
pages/index/switch-kuang/switch-kuang.vue

@@ -30,6 +30,16 @@
 						<image src="@/static/switch-kuang/xixuan.png" mode="widthFix"></image>
 					</view>
 				</view>
+				<view class="item" style="background-color: #009FE8;" @click="click('shicaocun')">
+					<view class="icon">
+						<image src="@/static/switch-kuang/shicaocun.png" mode="widthFix"></image>
+					</view>
+				</view>
+				<view class="item" style="background-color: #009FE8;" @click="click('jinjiaqu')">
+					<view class="icon">
+						<image src="@/static/switch-kuang/jinjiaqu.png" mode="widthFix"></image>
+					</view>
+				</view>
 				<view class="item">
 					<view class="icon">
 						<image src="@/static/switch-kuang/maiduoshan.png" mode="widthFix"></image>
@@ -114,6 +124,11 @@
 						<image src="@/static/switch-kuang/ningdongyunying.png" mode="widthFix"></image>
 					</view>
 				</view>
+				<view class="item" style="background-color: #009FE8;" @click="click('ningmeijituan')">
+					<view class="icon">
+						<image src="@/static/switch-kuang/ningmeijituan.png" mode="widthFix"></image>
+					</view>
+				</view>
 			</view>
 		</view>
 	</view>
@@ -158,11 +173,10 @@
 		}
 
 		.list {
-			display: flex;
-			justify-content: space-between;
-			flex-wrap: wrap;
-
+			overflow: hidden;
 			.item {
+				margin-right: 50rpx;
+				float: left;
 				width: 200rpx;
 				height: 48rpx;
 				border-radius: 40rpx;
@@ -182,6 +196,9 @@
 					}
 				}
 			}
+			.item:nth-child(3n){
+				margin-right: 0;
+			}
 		}
 	}
 </style>

+ 19 - 0
pages/index/weather/weather.vue

@@ -0,0 +1,19 @@
+<template>
+	<view>
+		<web-view :update-title="false" src="https://xw.tianqi.qq.com/"></web-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				
+			};
+		}
+	}
+</script>
+
+<style lang="scss">
+	
+</style>

+ 3 - 0
pages/my/download/download.vue

@@ -35,6 +35,9 @@
 				<image v-if="mine_code == 'jinfeng_neiwang'"
 					src="http://webdevelop.nxjiewei.com/assets/html/zhks-quankuang/jinfeng/download/download_neiwang.png"
 					mode=""></image>
+				<image v-if="mine_code == 'ningmeijituan'"
+					src="http://webdevelop.nxjiewei.com/assets/html/zhks-quankuang/ningmeijituan/download/download.png"
+					mode=""></image>
 			</view>
 			<view class="card_tips">
 				扫一扫下载

+ 1 - 0
pages/my/forget-password/forget-password.vue

@@ -6,6 +6,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 == 'zaoquan'">枣泉煤矿</text>
 			<text v-if="mine_code == 'qingshuiying'">清水营煤矿</text>
 			<text v-if="mine_code == 'wuyegongsi'">智慧物业</text>

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

@@ -6,6 +6,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 == 'zaoquan'">枣泉煤矿</text>
 			<text v-if="mine_code == 'qingshuiying'">清水营煤矿</text>
 			<text v-if="mine_code == 'wuyegongsi'">智慧物业</text>

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

@@ -398,7 +398,7 @@
 		position: relative;
 		background-color: #FFFFFF;
 		width: 750rpx;
-		height: 490rpx;
+		min-height: 490rpx;
 
 		background-image: url(./icon/top.png);
 		background-size: 100% 100%;

+ 23 - 18
pages/origanization/OA/h5/h5.vue

@@ -15,22 +15,22 @@
 			// 获取位置
 			uni.getLocation({
 				type: 'gcj02',
-				geocode: true ,
-				success: (res)=> {
+				geocode: true,
+				success: (res) => {
 					console.log(res.address)
 					// console.log('当前位置的经度:' + res.longitude);
 					// console.log('当前位置的纬度:' + res.latitude);
-					
+
 					this.$api.workflow_save_location({
 						staff_num: uni.getStorageSync('user').staff_num,
 						location: JSON.stringify(res)
-					}).then((res)=>{
+					}).then((res) => {
 						console.log(res.data)
 					})
 				}
 			});
-			
-			
+
+
 			// #ifndef APP-NVUE
 			const eventChannel = this.getOpenerEventChannel();
 			// #endif
@@ -41,19 +41,24 @@
 				uni.setNavigationBarTitle({
 					title: data.title
 				})
-				
-				let link_neiwang = data.url.replace('oa_system.nxjiewei.com:8011','n.oa_system.nxjiewei.com:8011')
-				
-				// let url = escape(data.url)
+
+				let mine_code = uni.getStorageSync('mine_code')
 				let title = escape(data.title)
-				
-				// this.href = "http://oa_system.nxjiewei.com:8011/oa_login?staff_num=" + uni.getStorageSync('user')
-				// 	.staff_num + "&url=" + url + "&title=" + title
-				
-				// 内网
-				let url = escape(link_neiwang)
-				this.href = "http://n.oa_system.nxjiewei.com:8011/oa_login/index_neiwang.html?staff_num=" + uni.getStorageSync('user')
-					.staff_num + "&url=" + url + "&title=" + title
+
+				if (mine_code.indexOf('_neiwang') != -1) {
+					// 内网
+					let link_neiwang = data.url.replace('oa_system.nxjiewei.com:8011',
+						'n.oa_system.nxjiewei.com:8011')
+					let url = escape(link_neiwang)
+					this.href = "http://n.oa_system.nxjiewei.com:8011/oa_login/index_neiwang.html?staff_num=" + uni
+						.getStorageSync('user')
+						.staff_num + "&url=" + url + "&title=" + title
+				} else {
+					let url = escape(data.url)
+					this.href = "http://oa_system.nxjiewei.com:8011/oa_login?staff_num=" + uni.getStorageSync(
+							'user')
+						.staff_num + "&url=" + url + "&title=" + title
+				}
 			})
 
 		}

+ 65 - 0
pages/origanization/communication/origanization/data.json

@@ -0,0 +1,65 @@
+{
+	"data": [{
+			"id": "部门id",
+			"title": "部门名称",
+			"page_id": "二维码id",
+			"user_num": "员工数",
+			"children": [{
+				"id": "部门id",
+				"title": "部门名称",
+				"page_id": "二维码id",
+				"user_num": "员工数",
+				"children": [{
+					"id": "部门id",
+					"title": "部门名称",
+					"page_id": "二维码id",
+					"user_num": "员工数",
+					"children": [{
+							"id": "部门id",
+							"title": "部门名称",
+							"page_id": "二维码id",
+							"user_num": "员工数",
+							"children": [
+
+							]
+						},
+						{
+							"id": "部门id",
+							"title": "部门名称",
+							"page_id": "二维码id",
+							"user_num": "员工数",
+							"children": [
+
+							]
+						}
+					]
+				}]
+			}]
+		},
+		{
+			"id": "部门id",
+			"title": "部门名称",
+			"page_id": "二维码id",
+			"user_num": "员工数",
+			"children": [{
+					"id": "部门id",
+					"title": "部门名称",
+					"page_id": "二维码id",
+					"user_num": "员工数",
+					"children": [
+
+					]
+				},
+				{
+					"id": "部门id",
+					"title": "部门名称",
+					"page_id": "二维码id",
+					"user_num": "员工数",
+					"children": [
+
+					]
+				}
+			]
+		}
+	]
+}

+ 52 - 39
pages/origanization/communication/origanization/my_department/my_department.vue

@@ -1,17 +1,5 @@
 <template>
 	<view>
-		<!-- <view class="search">
-			<view class="box">
-				<view class="icon">
-					<uni-icons type="search" size="16" color="#BBBBBB"></uni-icons>
-				</view>
-				<view class="text">
-					<input type="text" v-model="search_text" value="" placeholder="搜索" confirm-type="search"
-						placeholder-style="font-size: 30rpx;color: #BBBBBB;" @input="get_list()"/>
-				</view>
-			</view>
-		</view> -->
-
 		<view class="content">
 			<view class="title">
 				<view class="icon">
@@ -21,9 +9,14 @@
 			</view>
 
 			<view class="list">
-				<view class="item" v-for="(item,index) in list" :key="index">
-					<view class="icon">{{item.name.charAt(0)}}</view>
-					<view class="text">{{item.name}} {{item.section_fullname}} {{item.position_name}}</view>
+				<view class="item" v-for="(item,index) in list" :key="index" @click="go_user_info(item.staff_num)">
+					<view class="left">
+						<view class="icon">{{item.name.charAt(0)}}</view>
+						<view class="text">{{item.name}} {{item.section_fullname}} {{item.position_name}}</view>
+					</view>
+					<view class="right" @click.stop="phone(item.mobile)">
+						<uni-icons type="phone"></uni-icons>
+					</view>
 				</view>
 			</view>
 
@@ -69,6 +62,18 @@
 					})
 				})
 			},
+			go_user_info(staff_num){
+				uni.navigateTo({
+					url:"../personal_information/personal_information?staff_num=" + staff_num
+				})
+			},
+			phone(mobile){
+				if(mobile != null){
+					uni.makePhoneCall({
+					    phoneNumber: mobile
+					});
+				}
+			},
 			
 		}
 	}
@@ -135,38 +140,46 @@
 		}
 
 		.list {
-			box-sizing: border-box;
-			padding: 0 20rpx;
-
 			.item {
 				height: 110rpx;
-
+		
 				display: flex;
-				justify-content: left;
+				justify-content: space-between;
 				align-items: center;
-
-				margin-left: 40rpx;
+		
+				margin-left: 108rpx;
 				border-bottom: 1rpx solid #F3F8F7;
-
-				.icon {
-					width: 35rpx;
-					text-align: center;
-					line-height: 35rpx;
-					border-radius: 50%;
-					border: 1rpx solid #00A1E9;
-
-					font-size: 24rpx;
-					color: #00A1E9;
+				
+				.left{
+					width: 500rpx;
+					
+					display: flex;
+					align-items: center;
+					.icon {
+						width: 35rpx;
+						text-align: center;
+						height: 35rpx;
+						line-height: 35rpx;
+						border-radius: 50%;
+						border: 1rpx solid #00A1E9;
+					
+						font-size: 24rpx;
+						color: #00A1E9;
+					}
+					
+					.text {
+						width: 450rpx;
+						margin-left: 18rpx;
+						font-size: 30rpx;
+					
+					}
 				}
-
-				.text {
-					margin-left: 18rpx;
-					font-size: 30rpx;
-
+				.right{
+					width: 90rpx;
+					text-align: center;
 				}
+				
 			}
-
 		}
-
 	}
 </style>

+ 332 - 0
pages/origanization/communication/origanization/origanization-单层级备份.vue

@@ -0,0 +1,332 @@
+<template>
+	<view>
+		<view class="search">
+			<view class="box" @click="go_search()">
+				<view class="icon">
+					<uni-icons type="search" size="16" color="#BBBBBB"></uni-icons>
+				</view>
+				<view class="text">搜索</view>
+			</view>
+		</view>
+
+		<view class="content">
+			<view class="title">
+				<view class="icon">
+					<image src="./icon/title_icon.png" mode=""></image>
+				</view>
+				
+				<view class="text" v-if="mine_code == 'zaoquan'">国家能源集团枣泉煤矿</view>
+				<view class="text" v-if="mine_code == 'ningmeijituan'">国家能源集团宁夏煤业公司</view>
+
+				<view class="text" v-if="mine_code == 'ningdongyunying'">国家能源集团宁东运营部</view>
+				<view class="text" v-if="mine_code == 'qingshuiying'">国家能源集团清水营煤矿</view>
+				<view class="text" v-if="mine_code == 'wuyegongsi'">物业公司</view>
+				<view class="text" v-if="mine_code == 'jinjiaqu' || mine_code == 'jinjiaqu_neiwang'">国家能源集团金家渠煤矿</view>
+				<view class="text" v-if="mine_code == 'yangchangwan'">国家能源集团羊场湾煤矿</view>
+				<view class="text" v-if="mine_code == 'shicaocun'">国家能源集团石槽村煤矿</view>
+				<view class="text" v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'">国家能源集团金凤煤矿</view>
+				
+			</view>
+
+			<view class="section" v-for="(item,index) in list" :key="index">
+				<view class="box">
+					<view class="item">
+						<view class="left">
+							<view class="icon" v-if="active == index" @click.stop="change_active(index,item.id)">
+								<image src="./icon/close.png" mode=""></image>
+							</view>
+							<view class="icon" v-if="active != index" @click.stop="change_active(index,item.id)">
+								<image src="./icon/open.png" mode=""></image>
+							</view>
+							<view class="text">{{item.title}} ({{item.user_num}})</view>
+						</view>
+						<view class="right" @click="go_record(item.page_id)">
+							<uni-icons type="eye"></uni-icons>
+						</view>
+					</view>
+					<view class="list" v-if="active == index">
+						<view class="item" v-for="(item_2,index_2) in user_list" :key="index_2" @click="go_user_info(item_2.staff_num)">
+							<view class="left">
+								<view class="icon">{{item_2.name.charAt(0)}}</view>
+								<view class="text">{{item_2.name}} {{item_2.position_name}} {{item_2.mobile}}</view>
+							</view>
+							<view class="right" @click.stop="phone(item_2.mobile)">
+								<uni-icons type="phone"></uni-icons>
+							</view>
+						</view>
+					</view>
+				</view>
+			</view>
+
+		</view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				// 当前煤矿编码
+				mine_code: "",
+
+				// 部门列表
+				list: [
+
+				],
+				// 当前展开部门
+				active: 99999999,
+
+				// 人员列表
+				user_list: []
+			};
+		},
+		onLoad() {
+			// 初始化当前煤矿编码
+			this.mine_code = uni.getStorageSync('mine_code')
+			
+			this.get_section_getGroupList()
+		},
+		methods: {
+			// 搜索
+			go_search() {
+				uni.navigateTo({
+					url: "./search/search",
+					animationType: "fade-in",
+					animationDuration: 200
+				})
+			},
+			// 获取部门列表
+			get_section_getGroupList() {
+				uni.showLoading({
+					mask: true
+				})
+				this.$api.section_getGroupList({
+
+				}).then((res) => {
+					uni.hideLoading()
+					console.log(res.data.data.group.office.data)
+
+					console.log(this.mine_code)
+					
+						
+					// if(this.mine_code == 'zaoquan'){
+					// 	this.list = res.data.data.group.leader.data.concat(res.data.data.group.office.data.concat(res
+					// 		.data.data.group.basic.data.concat()))
+					// }
+					
+					if(this.mine_code == 'ningdongyunying'){
+						this.list = res.data.data.group.basic.data.concat(res.data.data.group.office.data.concat(res
+							.data.data.group.zongbu.data.concat(res.data.data.group.weiwaidanwei.data.concat())))
+					}else if(this.mine_code == 'jinfeng'){
+						this.list = res.data.data.group.office.data.concat(res.data.data.group.basic.data.concat())
+					}else{
+						this.list = res.data.data.group.leader.data.concat(res.data.data.group.office.data.concat(res
+							.data.data.group.basic.data.concat()))
+					}
+					
+					// console.log(this.list)
+				})
+			},
+
+			change_active(index, id) {
+				this.user_list = []
+				if (this.active == index) {
+					this.active = 99999999
+				} else {
+					this.active = index
+					this.get_user_list(id)
+				}
+			},
+			// 获取当前部门人员
+			get_user_list(id) {
+				uni.showLoading({
+					mask: true
+				})
+				this.$api.user_list({
+					id: id
+				}).then((res) => {
+					uni.hideLoading()
+					console.log(res)
+					this.user_list = res.data.data
+				})
+			},
+
+			go_record(page_id) {
+				console.log(page_id)
+
+				if (page_id == null) {
+					uni.showToast({
+						icon: "none",
+						title: "该部门还未关联二维码"
+					})
+				} else {
+					uni.navigateTo({
+						url: "../../index/record/record?pageId=" + page_id + "&mine_code=" + uni.getStorageSync(
+							'mine_code'),
+					})
+				}
+			},
+		
+			phone(mobile){
+				if(mobile != null){
+					uni.makePhoneCall({
+					    phoneNumber: mobile
+					});
+				}
+			},
+			
+			go_user_info(staff_num){
+				uni.navigateTo({
+					url:"./personal_information/personal_information?staff_num=" + staff_num
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F3F8F7;
+	}
+
+	.search {
+		margin-bottom: 20rpx;
+		background-color: #FFFFFF;
+		box-sizing: border-box;
+		padding: 25rpx 30rpx;
+
+		.box {
+			height: 80rpx;
+			background-color: #F4F4F4;
+			border-radius: 50rpx;
+
+			display: flex;
+			align-items: center;
+
+			box-sizing: border-box;
+			padding: 0 25rpx;
+
+			.icon {
+				margin-right: 10rpx;
+			}
+
+			.text {
+				font-size: 30rpx;
+				color: #BBBBBB;
+			}
+		}
+	}
+
+	.content {
+		background-color: #FFFFFF;
+
+		.title {
+			height: 110rpx;
+			display: flex;
+			align-items: center;
+
+			box-sizing: border-box;
+			padding: 0 36rpx;
+			border-bottom: 1rpx solid #F3F8F7;
+
+			.icon {
+				image {
+					width: 48rpx;
+					height: 36rpx;
+				}
+			}
+
+			.text {
+				margin-left: 20rpx;
+				font-size: 36rpx;
+				font-weight: 700;
+			}
+		}
+
+		.section {
+			box-sizing: border-box;
+			// padding: 0 20rpx;
+
+			.box {
+
+				.item {
+					height: 120rpx;
+					display: flex;
+					align-items: center;
+					justify-content: space-between;
+
+					margin-left: 20rpx;
+					border-bottom: 1rpx solid #F3F8F7;
+
+					.left {
+						display: flex;
+						align-items: center;
+
+						.icon {
+							width: 90rpx;
+							text-align: center;
+
+							image {
+								width: 24rpx;
+								height: 24rpx;
+							}
+						}
+
+						.text {
+							width: 520rpx;
+							font-size: 32rpx;
+						}
+					}
+
+					.right {
+						width: 90rpx;
+						text-align: center;
+					}
+				}
+
+				.list {
+					.item {
+						height: 110rpx;
+
+						display: flex;
+						justify-content: space-between;
+						align-items: center;
+
+						margin-left: 108rpx;
+						border-bottom: 1rpx solid #F3F8F7;
+						
+						.left{
+							width: 500rpx;
+							.icon {
+								width: 35rpx;
+								text-align: center;
+								line-height: 35rpx;
+								border-radius: 50%;
+								border: 1rpx solid #00A1E9;
+							
+								font-size: 24rpx;
+								color: #00A1E9;
+							}
+							
+							.text {
+								width: 450rpx;
+								margin-left: 18rpx;
+								font-size: 30rpx;
+							
+							}
+						}
+						.right{
+							line-height: 110rpx;
+							width: 90rpx;
+							text-align: center;
+						}
+						
+					}
+				}
+
+			}
+
+		}
+
+	}
+</style>

+ 18 - 169
pages/origanization/communication/origanization/origanization.vue

@@ -16,6 +16,7 @@
 				</view>
 				
 				<view class="text" v-if="mine_code == 'zaoquan'">国家能源集团枣泉煤矿</view>
+				<view class="text" v-if="mine_code == 'ningmeijituan'">国家能源集团宁夏煤业公司</view>
 
 				<view class="text" v-if="mine_code == 'ningdongyunying'">国家能源集团宁东运营部</view>
 				<view class="text" v-if="mine_code == 'qingshuiying'">国家能源集团清水营煤矿</view>
@@ -26,42 +27,16 @@
 				<view class="text" v-if="mine_code == 'jinfeng' || mine_code == 'jinfeng_neiwang'">国家能源集团金凤煤矿</view>
 				
 			</view>
-
-			<view class="section" v-for="(item,index) in list" :key="index">
-				<view class="box">
-					<view class="item">
-						<view class="left">
-							<view class="icon" v-if="active == index" @click.stop="change_active(index,item.id)">
-								<image src="./icon/close.png" mode=""></image>
-							</view>
-							<view class="icon" v-if="active != index" @click.stop="change_active(index,item.id)">
-								<image src="./icon/open.png" mode=""></image>
-							</view>
-							<view class="text">{{item.title}} ({{item.user_num}})</view>
-						</view>
-						<view class="right" @click="go_record(item.page_id)">
-							<uni-icons type="eye"></uni-icons>
-						</view>
-					</view>
-					<view class="list" v-if="active == index">
-						<view class="item" v-for="(item_2,index_2) in user_list" :key="index_2" @click="go_user_info(item_2.staff_num)">
-							<view class="left">
-								<view class="icon">{{item_2.name.charAt(0)}}</view>
-								<view class="text">{{item_2.name}} {{item_2.position_name}} {{item_2.mobile}}</view>
-							</view>
-							<view class="right" @click.stop="phone(item_2.mobile)">
-								<uni-icons type="phone"></uni-icons>
-							</view>
-						</view>
-					</view>
-				</view>
-			</view>
+			
+			<origanizationSection :data="list"></origanizationSection>
 
 		</view>
 	</view>
 </template>
 
 <script>
+	import data from "./data.json"
+	
 	export default {
 		data() {
 			return {
@@ -97,34 +72,17 @@
 			// 获取部门列表
 			get_section_getGroupList() {
 				uni.showLoading({
-					mask: true
+					mask:true
 				})
-				this.$api.section_getGroupList({
-
-				}).then((res) => {
-					uni.hideLoading()
-					console.log(res.data.data.group.office.data)
-
-					console.log(this.mine_code)
-					
-						
-					// if(this.mine_code == 'zaoquan'){
-					// 	this.list = res.data.data.group.leader.data.concat(res.data.data.group.office.data.concat(res
-					// 		.data.data.group.basic.data.concat()))
-					// }
+				this.$api.section_get_org_structure({
 					
-					if(this.mine_code == 'ningdongyunying'){
-						this.list = res.data.data.group.basic.data.concat(res.data.data.group.office.data.concat(res
-							.data.data.group.zongbu.data.concat(res.data.data.group.weiwaidanwei.data.concat())))
-					}else if(this.mine_code == 'jinfeng'){
-						this.list = res.data.data.group.office.data.concat(res.data.data.group.basic.data.concat())
-					}else{
-						this.list = res.data.data.group.leader.data.concat(res.data.data.group.office.data.concat(res
-							.data.data.group.basic.data.concat()))
-					}
+				}).then((res)=>{
+					uni.hideLoading()
+					console.log(res.data.content)
 					
-					// console.log(this.list)
+					this.list = res.data.content.data
 				})
+			
 			},
 
 			change_active(index, id) {
@@ -133,23 +91,12 @@
 					this.active = 99999999
 				} else {
 					this.active = index
-					this.get_user_list(id)
+					// this.get_user_list(id)
+					
+					console.log(id)
 				}
 			},
-			// 获取当前部门人员
-			get_user_list(id) {
-				uni.showLoading({
-					mask: true
-				})
-				this.$api.user_list({
-					id: id
-				}).then((res) => {
-					uni.hideLoading()
-					console.log(res)
-					this.user_list = res.data.data
-				})
-			},
-
+			
 			go_record(page_id) {
 				console.log(page_id)
 
@@ -159,26 +106,14 @@
 						title: "该部门还未关联二维码"
 					})
 				} else {
+					console.log(page_id)
 					uni.navigateTo({
-						url: "../../index/record/record?pageId=" + page_id + "&mine_code=" + uni.getStorageSync(
+						url: "../../../index/record/record?pageId=" + page_id + "&mine_code=" + uni.getStorageSync(
 							'mine_code'),
 					})
 				}
 			},
 		
-			phone(mobile){
-				if(mobile != null){
-					uni.makePhoneCall({
-					    phoneNumber: mobile
-					});
-				}
-			},
-			
-			go_user_info(staff_num){
-				uni.navigateTo({
-					url:"./personal_information/personal_information?staff_num=" + staff_num
-				})
-			}
 		}
 	}
 </script>
@@ -242,91 +177,5 @@
 			}
 		}
 
-		.section {
-			box-sizing: border-box;
-			padding: 0 20rpx;
-
-			.box {
-
-				.item {
-					height: 110rpx;
-					display: flex;
-					align-items: center;
-					justify-content: space-between;
-
-					margin-left: 20rpx;
-					border-bottom: 1rpx solid #F3F8F7;
-
-					.left {
-						display: flex;
-						align-items: center;
-
-						.icon {
-							line-height: 110rpx;
-							width: 90rpx;
-							text-align: center;
-
-							image {
-								width: 24rpx;
-								height: 24rpx;
-							}
-						}
-
-						.text {
-							font-size: 32rpx;
-						}
-					}
-
-					.right {
-						line-height: 110rpx;
-						width: 90rpx;
-						text-align: center;
-					}
-				}
-
-				.list {
-					.item {
-						height: 110rpx;
-
-						display: flex;
-						justify-content: space-between;
-						align-items: center;
-
-						margin-left: 108rpx;
-						border-bottom: 1rpx solid #F3F8F7;
-						
-						.left{
-							width: 500rpx;
-							.icon {
-								width: 35rpx;
-								text-align: center;
-								line-height: 35rpx;
-								border-radius: 50%;
-								border: 1rpx solid #00A1E9;
-							
-								font-size: 24rpx;
-								color: #00A1E9;
-							}
-							
-							.text {
-								width: 450rpx;
-								margin-left: 18rpx;
-								font-size: 30rpx;
-							
-							}
-						}
-						.right{
-							line-height: 110rpx;
-							width: 90rpx;
-							text-align: center;
-						}
-						
-					}
-				}
-
-			}
-
-		}
-
 	}
 </style>

+ 2 - 2
pages/origanization/communication/origanization/search/search.vue

@@ -7,7 +7,7 @@
 				</view>
 				<view class="text">
 					<input type="text" v-model="search_text" value="" placeholder="搜索" confirm-type="search"
-						placeholder-style="font-size: 30rpx;color: #BBBBBB;" @input="get_list()" />
+						placeholder-style="font-size: 30rpx;color: #BBBBBB;" @blur="get_list()" />
 				</view>
 			</view>
 		</view>
@@ -18,7 +18,7 @@
 					<image src="./icon/title_icon.png" mode=""></image>
 				</view>
 				<view class="text" v-if="mine_code == 'zaoquan'">国家能源集团枣泉煤矿</view>
-
+				<view class="text" v-if="mine_code == 'ningmeijituan'">国家能源集团宁夏煤业公司</view>
 				<view class="text" v-if="mine_code == 'ningdongyunying'">国家能源集团宁东运营部</view>
 				<view class="text" v-if="mine_code == 'qingshuiying'">国家能源集团清水营煤矿</view>
 				<view class="text" v-if="mine_code == 'wuyegongsi'">物业公司</view>

+ 4 - 4
pages/origanization/news/tab_1/all_list/all_list.vue

@@ -45,7 +45,7 @@
 				num:"",
 				status:"",
 				
-				page: 1,
+				page: 0,
 				pageSize: 20,
 				
 				data:[],
@@ -81,14 +81,14 @@
 					
 					console.log(res)
 					
-					if (res.data.content.data.data.length < 1) {
+					if (res.data.content.data.record_data.length < 1) {
 						uni.showToast({
 							icon: "none",
 							title: "暂无更多内容。"
 						})
 					} else {
-						this.page++
-						this.data = this.data.concat(res.data.content.data.data)
+						this.page = res.data.content.data.base_num
+						this.data = this.data.concat(res.data.content.data.record_data)
 					}
 			
 				})

+ 11 - 11
pages/origanization/news/tab_1/statistical_chart/statistical_chart.vue

@@ -104,7 +104,7 @@
 				// list
 				table: "",
 
-				page: 1,
+				page: 0,
 				pageSize: 20,
 
 				name: [],
@@ -227,27 +227,27 @@
 				}).then((res) => {
 					uni.hideLoading()
 
-					console.log(res)
+					// console.log(res)
 					if (this.table == '') {
-						if (res.data.content.data.length < 1) {
+						if (res.data.content.data.record_data.length < 1) {
 							uni.showToast({
 								icon: "none",
 								title: "暂无更多内容。"
 							})
 						} else {
-							this.page++
-							this.data = this.data.concat(res.data.content.data)
+							this.page = res.data.content.data.base_num
+							this.data = this.data.concat(res.data.content.data.record_data)
 						}
 
 					} else {
-						if (res.data.content.data.data.length < 1) {
+						if (res.data.content.data.record_data.length < 1) {
 							uni.showToast({
 								icon: "none",
 								title: "暂无更多内容。"
 							})
 						} else {
-							this.page++
-							this.data = this.data.concat(res.data.content.data.data)
+							this.page = res.data.content.data.base_num
+							this.data = this.data.concat(res.data.content.data.record_data)
 						}
 
 					}
@@ -350,12 +350,12 @@
 				//两次点击间隔小于300ms, 认为是双击
 				let diff = curTime - lastTime;
 				if (diff < 300) {
-					console.log("双击")
+					// console.log("双击")
 					//_this.handleVideo('screen',index)自定义事件
 					clearTimeout(_this.lastTapTimeoutFunc); // 成功触发双击事件时,取消单击事件的执行
 
 					uni.navigateTo({
-						url: "../../origanization/news/tab_2/all_list/all_list?title=" + this.title + "&table=" +
+						url: "../../../news/tab_2/all_list/all_list?title=" + this.title + "&table=" +
 							this
 							.table + "&tubiao_census_type_fields=" + this.tubiao_census_type_fields +
 							"&tubiao_census_type_fields_value=" + this.chartData.series[0].data[$event
@@ -365,7 +365,7 @@
 				} else {
 					// 单击事件延时300毫秒执行
 					_this.lastTapTimeoutFunc = setTimeout(function() {
-						console.log("单击")
+						// console.log("单击")
 						//_this.handleVideo('playOrStop',index)自定义事件
 					}, 300);
 				}

+ 5 - 4
pages/origanization/news/tab_2/all_list/all_list.vue

@@ -44,7 +44,7 @@
 				date_start: "",
 				date_end: "",
 
-				page: 1,
+				page: 0,
 				pageSize: 20,
 
 				name: [],
@@ -65,7 +65,6 @@
 			this.get_five_fixed_getRecordDataByTableName()
 		},
 		onReachBottom() {
-			this.page++
 			this.get_five_fixed_getRecordDataByTableName()
 		},
 		methods: {
@@ -84,15 +83,17 @@
 					pageSize: this.pageSize
 				}).then((res) => {
 					uni.hideLoading()
+					console.log(res.data.content.data)
 					
-					if(res.data.content.data.data.length < 1){
+					if(res.data.content.data.record_data.length < 1){
 						uni.showToast({
 							icon:"none",
 							title:"暂无更多内容。"
 						})
 					}
 
-					this.data = this.data.concat(res.data.content.data.data)
+					this.page = res.data.content.data.base_num
+					this.data = this.data.concat(res.data.content.data.record_data)
 				})
 			},
 			img_chakan(url) {

+ 16 - 3
pages/origanization/news/tab_3/pin_tu/finish/finish.vue

@@ -24,7 +24,7 @@
 				<view class="btn btn_2" @click="again_btn()"></view>
 			</view>
 			<view class="right" @click="go_personal_rank()">
-				<view class="btn"></view>
+				<view class="btn">{{rank}}</view>
 			</view>
 		</view>
 	</view>
@@ -39,8 +39,10 @@
 				name:"",
 				completion_time:"",
 				page_id:"",
-				mine_code:""
-
+				mine_code:"",
+				
+				// 排名
+				rank:""
 			};
 		},
 		onLoad(option) {
@@ -61,6 +63,8 @@
 				this.mine_code = res.data.data.mine_code
 				this.completion_time = res.data.data.completion_time
 				this.page_id = res.data.data.page_id
+				
+				this.rank = res.data.data.rank
 			})
 			
 		},
@@ -190,12 +194,21 @@
 		}
 
 		.right {
+			position: relative;
 			width: 260rpx;
 			height: 258rpx;
 
 			background-image: url(./icon/rank.png);
 			background-size: cover;
 			background-repeat: no-repeat;
+			
+			.btn{
+				position: absolute;
+				top: 90rpx;
+				left: 60rpx;
+				font-size: 62rpx;
+				color: #FFFFFF;
+			}
 		}
 	}
 </style>

+ 7 - 3
pages/origanization/news/tab_3/pin_tu/picture_list/picture_list.vue

@@ -35,7 +35,7 @@
 				<view class="item" v-for="(item,index) in list" :key="index">
 					<view v-if="item.complete_status == ''" @click="go_game_play(item)">
 						<view class="img">
-							<image src="./icon/lock.png" mode=""></image>
+							<image src="./icon/lock.png" mode="aspectFill"></image>
 						</view>
 						<view class="name">未解锁</view>
 					</view>
@@ -78,6 +78,10 @@
 			this.get_jigsawPuzzle_getPercentCompleteData()
 			this.get_jigsawPuzzle_pictureList()
 		},
+		onShow() {
+			this.get_jigsawPuzzle_getPercentCompleteData()
+			this.get_jigsawPuzzle_pictureList()
+		},
 		methods: {
 			// 专题进度信息
 			get_jigsawPuzzle_getPercentCompleteData() {
@@ -208,7 +212,7 @@
 
 					.slide {
 						position: absolute;
-						top: -12rpx;
+						top: -18rpx;
 						right: -15rpx;
 
 						image {
@@ -242,7 +246,7 @@
 			.img {
 				image {
 					width: 302rpx;
-					height: 182rpx;
+					height: 302rpx;
 
 					display: block;
 				}

+ 26 - 0
pages/production/jinjiaqu/zidonghua_list/detail/detail.vue

@@ -0,0 +1,26 @@
+<template>
+	<view>
+		<web-view :src="url"></web-view>
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				url:""
+			};
+		},
+		onLoad(option) {
+			this.url = option.url
+			
+			uni.setNavigationBarTitle({
+				title:option.name
+			})
+		}
+	}
+</script>
+
+<style lang="scss">
+
+</style>

二进制
pages/production/jinjiaqu/zidonghua_list/img/icon.png


二进制
pages/production/jinjiaqu/zidonghua_list/img/psxt.jpg


二进制
pages/production/jinjiaqu/zidonghua_list/img/tfgl.jpg


二进制
pages/production/jinjiaqu/zidonghua_list/img/tsj.jpg


二进制
pages/production/jinjiaqu/zidonghua_list/img/yfzd.jpg


二进制
pages/production/jinjiaqu/zidonghua_list/img/zys.jpg


+ 346 - 0
pages/production/jinjiaqu/zidonghua_list/zidonghua_list.vue

@@ -0,0 +1,346 @@
+<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>
+
+		<!-- 列表 -->
+		<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>
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				zdhxt: "",
+				active: 0,
+
+
+				// 通风管理
+				data_tfgl: [{
+					name: "金家渠煤矿",
+					list: [{
+						name: "中部主通风监测系统",
+						url: "../../unified_automation_system/ventilation/ventilation?system_type=ventilation_zb"
+					},
+					{
+						name: "北部主通风监测系统",
+						url: "../../unified_automation_system/ventilation/ventilation?system_type=ventilation_bb"
+					}]
+				}],
+				// 排水系统
+				data_psxt: [{
+					name: "金家渠煤矿",
+					list: [{
+						name: "中央水泵排水系统",
+						url: "../../unified_automation_system/drainage/drainage?system_type=pump_zy"
+					},
+					{
+						name: "690水泵排水系统",
+						url: "../../unified_automation_system/drainage/drainage?system_type=pump_690"
+					}]
+				}],
+				// 压风系统
+				data_yfzd: [{
+					name: "金家渠煤矿",
+					list: [{
+						name: "空气压缩机集控系统",
+						url: "../../unified_automation_system/compressed_air/compressed_air?system_type=compressed_air"
+					}]
+				}],
+				// 主运输
+				data_zys: [{
+					name: "金家渠煤矿",
+					list: [{
+						name: "胶带运输机系统",
+						url: "../../unified_automation_system/belt_conveyor/belt_conveyor?system_type=belt_13"
+					}]
+				}],
+				// 提升机
+				data_tsj: [{
+					name: "金家渠煤矿",
+					list: [{
+						name: "中部副立井提升机系统",
+						url: "../../unified_automation_system/hoist/hoist?system_type=hoist"
+					}]
+				}]
+			}
+		},
+		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: "提升机系统"
+				})
+			}
+		},
+		methods: {
+			inner_item_active(item) {
+				uni.navigateTo({
+					url: item.url + "&name=" + item.name + "&mine_code=jinjiaqu"
+				})
+			}
+		}
+	}
+</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>

+ 22 - 0
pages/production/personnel_orientation/personnel_orientation.vue

@@ -130,8 +130,30 @@
 				this.status = res.data.data.status
 				this.updated_at = res.data.data.updated_at
 			})
+			
+			// this.get_product_data_query_power()
 		},
 		methods: {
+			get_product_data_query_power(){
+				this.$p_api.product_data_query_power({
+					staff_num: uni.getStorageSync('user').staff_num,
+					data_module: "rydw"
+				}).then((res)=>{
+					if(res.data.content.status){
+						console.log("可查看")
+					}else{
+						uni.showToast({
+							icon:"none",
+							title:"没有查看权限!"
+						})
+						
+						setTimeout(()=>{
+							uni.navigateBack()
+						},1000)
+					}
+				})
+			},
+			
 			// 改变今日部门人数统计的参数
 			changeDepart(type) {
 				// console.log(type)

+ 20 - 1
pages/production/safety_monitoring/safety_monitoring.vue

@@ -57,7 +57,6 @@
 		onLoad(option) {
 			this.mine = option.mine
 			
-			
 			// 模拟量统计
 			this.getSimulation()
 			
@@ -65,8 +64,28 @@
 			// 开关量统计
 			this.getSluice()
 			
+			this.get_product_data_query_power()
 		},
 		methods:{
+			get_product_data_query_power(){
+				this.$p_api.product_data_query_power({
+					staff_num: uni.getStorageSync('user').staff_num,
+					data_module: "aqjc"
+				}).then((res)=>{
+					if(res.data.content.status){
+						console.log("可查看")
+					}else{
+						uni.showToast({
+							icon:"none",
+							title:"没有查看权限!"
+						})
+						
+						setTimeout(()=>{
+							uni.navigateBack()
+						},1000)
+					}
+				})
+			},
 			click_item(item){
 				this.active = item
 			

+ 238 - 0
pages/production/unified_automation_system/belt_conveyor/belt_conveyor.json

@@ -0,0 +1,238 @@
+{
+	"common": [{
+		"label": "一区段煤仓",
+		"value": 72,
+		"unit": "%"
+	},
+	{
+		"label": "煤位",
+		"value": 0,
+		"unit": "m"
+	},
+	{
+		"label": "速度",
+		"value": 0.72,
+		"unit": "m/s"
+	}],
+	"state":1,
+	"name":"13采区",
+	"electric_parameter":[
+		{
+			"label":"前轴温度",
+			"value_list":[
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				}
+			]
+		},
+		{
+			"label":"后轴温度",
+			"value_list":[
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				}
+			]
+		},
+		{
+			"label":"绕阻U相温度",
+			"value_list":[
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				}
+			]
+		}
+	],
+	"converter_parameter":[
+		{
+			"label":"前轴温度",
+			"value_list":[
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				}
+			]
+		},
+		{
+			"label":"后轴温度",
+			"value_list":[
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				}
+			]
+		},
+		{
+			"label":"绕阻U相温度",
+			"value_list":[
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				},
+				{
+					"value":88.88,
+					"unit":"℃"
+				}
+			]
+		}
+	],
+	"speed_selection_state":[
+		{
+			"label":"速度选择一",
+			"state":1
+		},
+		{
+			"label":"速度选择二",
+			"state":2
+		},
+		{
+			"label":"速度选择三",
+			"state":2
+		}
+	],
+	"belt_control_mode":[
+		{
+			"label":"远控模式",
+			"state":1
+		},
+		{
+			"label":"就地模式",
+			"state":2
+		},
+		{
+			"label":"手动模式",
+			"state":2
+		},
+		{
+			"label":"检修模式",
+			"state":2
+		}
+	],
+	"belt_state":[
+		{
+			"label":"张紧正常",
+			"state":1
+		},
+		{
+			"label":"松闸状态",
+			"state":2
+		},
+		{
+			"label":"张紧异常",
+			"state":2
+		},
+		{
+			"label":"操作台正常",
+			"state":2
+		}
+	],
+	"protection":[
+		{
+			"label":"一级跑偏1",
+			"state":1
+		},
+		{
+			"label":"二级跑偏2",
+			"state":2
+		},
+		{
+			"label":"烟雾",
+			"state":2
+		},
+		{
+			"label":"一级跑偏4",
+			"state":2
+		}
+	],
+	"atresia":[
+		{
+			"label":"闭锁1",
+			"state":1
+		},
+		{
+			"label":"闭锁2",
+			"state":2
+		},
+		{
+			"label":"闭锁3",
+			"state":2
+		},
+		{
+			"label":"闭锁4",
+			"state":2
+		},
+		{
+			"label":"闭锁1",
+			"state":1
+		},
+		{
+			"label":"闭锁2",
+			"state":2
+		},
+		{
+			"label":"闭锁3",
+			"state":2
+		},
+		{
+			"label":"闭锁4",
+			"state":2
+		},
+		{
+			"label":"闭锁3",
+			"state":2
+		},
+		{
+			"label":"闭锁4",
+			"state":2
+		}
+	]
+	
+
+
+}

+ 519 - 0
pages/production/unified_automation_system/belt_conveyor/belt_conveyor.vue

@@ -0,0 +1,519 @@
+<template>
+	<view>
+		<!-- 公共参数 -->
+		<view class="common" v-if="data.common">
+			<view class="item" v-for="(item,index) in data.common" :key="index" @click="show_item(item)">
+				<view class="label">{{item.label}}</view>
+				<view class="value">{{item.value}}</view>
+				<view class="unit">{{item.unit}}</view>
+			</view>
+		</view>
+
+		<!-- 皮带数据 -->
+		<view class="belt" v-if="data.electric_parameter">
+			<view class="icon" v-if="data.state == 1">
+				<image src="./icon/belt_conveyor.gif" mode=""></image>
+			</view>
+			<view class="icon" v-if="data.state == 2">
+				<image src="./icon/belt_conveyor.png" mode=""></image>
+			</view>
+			<view class="name">{{data.name}}</view>
+			<!-- 电机运行参数 -->
+			<view class="parameter">
+				<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">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 converter_parameter">
+				<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">3号</view>
+						</view>
+					</view>
+					<view class="list">
+						<view class="item" v-for="(item,index) in data.converter_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">
+				<view class="title">
+					<view class="icon">
+						<image src="./icon/canshu.png" mode=""></image>
+					</view>
+					<view class="text">速度选择状态</view>
+				</view>
+				<view class="state_list">
+					<view class="state" v-for="(item,index) in data.speed_selection_state" :key="index" @click="show_label(item.label)">
+						<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>
+				</view>
+			</view>
+			
+			<!-- 皮带控制模式 -->
+			<view class="parameter">
+				<view class="title">
+					<view class="icon">
+						<image src="./icon/canshu.png" mode=""></image>
+					</view>
+					<view class="text">皮带控制模式</view>
+				</view>
+				<view class="state_list">
+					<view class="state" v-for="(item,index) in data.belt_control_mode" :key="index" @click="show_label(item.label)">
+						<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>
+				</view>
+			</view>
+			
+			<!-- 皮带状态 -->
+			<view class="parameter belt_state">
+				<view class="title">
+					<view class="icon">
+						<image src="./icon/canshu.png" mode=""></image>
+					</view>
+					<view class="text">皮带状态</view>
+				</view>
+				<view class="state_list">
+					<view class="state" v-for="(item,index) in data.belt_state" :key="index" @click="show_label(item.label)">
+						<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>
+				</view>
+			</view>
+			
+			<!-- 沿线保护状态 -->
+			<view class="parameter">
+				<view class="title">
+					<view class="icon">
+						<image src="./icon/canshu.png" mode=""></image>
+					</view>
+					<view class="text">沿线保护状态</view>
+				</view>
+				<view class="state_list">
+					<view class="state" v-for="(item,index) in data.protection" :key="index" @click="show_label(item.label)">
+						<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>
+				</view>
+			</view>
+			
+			<!-- 沿线闭锁状态 -->
+			<view class="parameter atresia">
+				<view class="title">
+					<view class="icon">
+						<image src="./icon/canshu.png" mode=""></image>
+					</view>
+					<view class="text">沿线闭锁状态</view>
+				</view>
+				<view class="state_list">
+					<view class="state" v-for="(item,index) in data.atresia" :key="index" @click="show_label(item.label)">
+						<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>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+
+<script>
+	import data from './belt_conveyor.json'
+
+	export default {
+		data() {
+			return {
+				mine_code:"",
+				system_type:"",
+				
+				// 数据刷新定时器
+				data_timer:{},
+				data: {}
+			};
+		},
+		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(){
+				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
+				})
+			},
+			show_item(item) {
+				uni.showToast({
+					icon: "none",
+					title: item.label + "  " + item.value + "  " + item.unit
+				})
+			},
+			show_label(label){
+				uni.showToast({
+					icon: "none",
+					title: label
+				})
+			},
+			show_value_list(item) {
+				console.log(item)
+				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 + "  " + item.value_list[2]
+						.value +
+						"  " + item.value_list[2].unit
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #0B163B;
+		box-sizing: border-box;
+		padding: 30rpx 10rpx;
+	}
+
+	.common {
+		margin: 0 auto;
+		width: 700rpx;
+
+		background-image: url(./icon/common.png);
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+
+		box-sizing: border-box;
+		padding: 40rpx;
+
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: space-between;
+
+		.item {
+			height: 50rpx;
+			display: flex;
+			justify-content: space-between;
+
+			color: #4CB1FF;
+			font-size: 28rpx;
+
+			.label {
+				width: 150rpx;
+
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+
+			.value {
+				margin: 0 20rpx;
+				width: 150rpx;
+				height: 40rpx;
+				box-sizing: border-box;
+				padding: 0 10rpx;
+				background: rgba(0, 4, 15, 0.36);
+				border: 2rpx solid #3D55A5;
+
+				color: #FFF600;
+				font-size: 24rpx;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+
+			.unit {
+				width: 100rpx;
+			}
+		}
+	}
+
+	.belt {
+		margin: 40rpx auto 0;
+		width: 700rpx;
+
+		.icon {
+			text-align: center;
+
+			image {
+				width: 218rpx;
+				height: 90rpx;
+			}
+		}
+
+		.name {
+			margin: 30rpx 0;
+			text-align: center;
+			color: #DEF1FF;
+			font-size: 34rpx;
+			font-weight: 700;
+		}
+
+		.parameter {
+			margin-top: 40rpx;
+			box-sizing: border-box;
+
+			.title {
+				margin: 0 auto;
+				display: flex;
+				justify-content: center;
+				align-items: center;
+
+				width: 260rpx;
+				height: 60rpx;
+				background-image: url(./icon/border.png);
+				background-size: 100% 100%;
+				background-repeat: no-repeat;
+
+				.icon {
+					margin-right: 20rpx;
+
+					image {
+						width: 30rpx;
+						height: 30rpx;
+					}
+				}
+
+				.text {
+					color: #00FFF6;
+					font-size: 30rpx;
+				}
+			}
+
+			.content {
+				margin-top: 40rpx;
+
+				.label_index {
+					color: #4CB1FF;
+					font-size: 28rpx;
+					display: flex;
+
+					.index_title {
+						width: 160rpx;
+					}
+
+					.index_box {
+						display: flex;
+						justify-content: space-between;
+
+						.index {
+							width: 180rpx;
+							text-indent: 30rpx;
+						}
+					}
+
+				}
+
+				.list {
+					margin-top: 20rpx;
+
+					.item {
+						height: 60rpx;
+						display: flex;
+
+						color: #4CB1FF;
+						font-size: 28rpx;
+
+						.label {
+							width: 160rpx;
+
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.value_list {
+							display: flex;
+							justify-content: space-between;
+
+							.item {
+								width: 180rpx;
+
+								.value {
+									width: 110rpx;
+									height: 40rpx;
+									box-sizing: border-box;
+									padding: 0 10rpx;
+									background: rgba(0, 4, 15, 0.36);
+									border: 2rpx solid #3D55A5;
+
+									color: #FFF600;
+									font-size: 24rpx;
+									text-overflow: ellipsis;
+									white-space: nowrap;
+									overflow: hidden;
+								}
+
+								.unit {
+									margin-left: 10rpx;
+									width: 60rpx;
+								}
+							}
+						}
+					}
+
+				}
+
+			}
+		
+			.state_list{
+				margin-top: 20rpx;
+				overflow: hidden;
+				.state {
+					margin-right: 20rpx;
+					float: left;
+					width: 220rpx;
+					height: 60rpx;
+					display: flex;
+					align-items: center;
+				
+					.label {
+						text-overflow: ellipsis;
+						white-space: nowrap;
+						overflow: hidden;
+						
+						width: 140rpx;
+						color: #4CB1FF;
+						font-size: 28rpx;
+					}
+				
+					.value {
+						margin-left: 20rpx;
+						width: 40rpx;
+						height: 40rpx;
+						border-radius: 50%;
+					}
+				
+					.value_1 {
+						background-color: #00FF00;
+					}
+				
+					.value_2 {
+						background-color: #7A99FF;
+					}
+				}
+			
+				.state:nth-child(3n){
+					margin-right: 0;
+				}
+			}
+		}
+
+		.converter_parameter {
+			.title {
+				width: 300rpx;
+			}
+		}
+		
+		.belt_state{
+			.state_list{
+				margin: 20rpx auto 0;
+				
+				display: flex;
+				justify-content: space-around;
+				flex-wrap: wrap;
+				.state {
+					margin: 0;
+					width: 250rpx;
+				
+					.label {
+						width: 180rpx;
+						color: #4CB1FF;
+						font-size: 28rpx;
+					}
+				}
+			}
+		}
+		.atresia{
+			.state_list{
+				overflow: hidden;
+				.state{
+					margin-right: 20rpx;
+					float: left;
+					width: 160rpx;
+					.label{
+						width: 90rpx;
+					}
+				}
+				.state:nth-child(3n){
+					margin-right: 20rpx;
+				}
+				.state:nth-child(4n){
+					margin-right: 0rpx;
+				}
+			}
+		}
+
+	}
+</style>

二进制
pages/production/unified_automation_system/belt_conveyor/icon/belt_conveyor.gif


二进制
pages/production/unified_automation_system/belt_conveyor/icon/belt_conveyor.png


二进制
pages/production/unified_automation_system/belt_conveyor/icon/border.png


二进制
pages/production/unified_automation_system/belt_conveyor/icon/canshu.png


二进制
pages/production/unified_automation_system/belt_conveyor/icon/common.png


+ 458 - 0
pages/production/unified_automation_system/compressed_air/compressed_air.vue

@@ -0,0 +1,458 @@
+<template>
+	<view>
+		<!-- 公共参数 -->
+		<view class="common" v-if="data.common">
+			<view class="item" v-for="(item,index) in data.common" :key="index" @click="show_item(item)">
+				<view class="label">{{item.label}}</view>
+				<view class="value">{{item.value}}</view>
+				<view class="unit">{{item.unit}}</view>
+			</view>
+		</view>
+
+		<!-- 压风机切换序号 -->
+		<view class="tab_list">
+			<view class="tab" v-for="(item,index) in data.compressed_air" :key="index"
+				:class="active == index?'active':''" @click="tab(index)">
+				<view class="index">{{index+1}} 号</view>
+				<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>
+			</view>
+		</view>
+
+		<!-- 压风机参数 -->
+		<view class="content">
+			<view class="compressed_air" v-for="(item,index) in data.compressed_air" :key="index"
+				v-show="active == index">
+				<view class="box" v-if="item.state == 1">
+					<image src="./icon/compressed_air_run.gif" mode=""></image>
+				</view>
+				<view class="box" v-if="item.state == 2">
+					<image src="./icon/close.png" mode=""></image>
+				</view>
+				<view class="name">{{item.name}}</view>
+				<view class="state">
+					<view class="label">排污阀状态</view>
+					<!-- 1-开 2-关 -->
+					<view class="value value_1" v-if="item.drain_value_state == 1"></view>
+					<view class="value value_2" v-if="item.drain_value_state == 2"></view>
+				</view>
+				<!-- 运行参数 -->
+				<view class="parameter run_parameter">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/canshu.png" mode=""></image>
+						</view>
+						<view class="text">运行参数</view>
+					</view>
+					<view class="list">
+						<view class="item" v-for="(item_2,index_2) in item.run_parameter" :key="index_2"
+							@click="show_state(item_2)">
+							<view class="label">{{item_2.label}}</view>
+							<view class="value">{{item_2.state}}</view>
+							<view class="unit">{{item_2.unit}}</view>
+						</view>
+					</view>
+				</view>
+				<!-- 报警状态 -->
+				<view class="warn_state">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">报警状态</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.warn_state" :key="index_2">
+							<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>
+					</view>
+				</view>
+
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import data from './compressed_air_system.json'
+
+	export default {
+		data() {
+			return {
+				active: 0,
+				data: {}
+			};
+		},
+		onLoad(option) {
+			// console.log(data)
+			// this.data = 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)
+		},
+		onUnload() {
+			clearInterval(this.data_timer)
+		},
+		methods: {
+			tab(index) {
+				this.active = index
+			},
+			show_item(item) {
+				uni.showToast({
+					icon: "none",
+					title: item.label + "  " + item.value + "  " + item.unit
+				})
+			},
+			show_state(item) {
+				uni.showToast({
+					icon: "none",
+					title: item.label + "  " + item.state + "  " + item.unit
+				})
+			},
+			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
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #0B163B;
+		box-sizing: border-box;
+		padding: 30rpx 10rpx;
+	}
+
+	.common {
+		margin: 0 auto;
+		width: 700rpx;
+
+		background-image: url(./icon/common.png);
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+
+		box-sizing: border-box;
+		padding: 40rpx;
+
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: space-between;
+
+		.item {
+			height: 50rpx;
+			display: flex;
+			justify-content: space-between;
+
+			color: #4CB1FF;
+			font-size: 28rpx;
+
+			.label {
+				width: 150rpx;
+
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+
+			.value {
+				margin: 0 20rpx;
+				width: 150rpx;
+				height: 40rpx;
+				box-sizing: border-box;
+				padding: 0 10rpx;
+				background: rgba(0, 4, 15, 0.36);
+				border: 2rpx solid #3D55A5;
+
+				color: #FFF600;
+				font-size: 24rpx;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+
+			.unit {
+				width: 100rpx;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+		}
+	}
+
+	.tab_list {
+		margin: 30rpx auto;
+		width: 600rpx;
+
+		overflow: hidden;
+
+		.tab {
+			margin-right: 60rpx;
+			float: left;
+			width: 160rpx;
+			height: 70rpx;
+			border-radius: 10rpx;
+			box-sizing: border-box;
+			border: 2rpx solid #4CB1FF;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+
+			.index {
+				color: #4CB1FF;
+				font-size: 28rpx;
+			}
+
+			.state {
+				.value {
+					margin-left: 20rpx;
+					width: 40rpx;
+					height: 40rpx;
+					border-radius: 50%;
+				}
+
+				.value_1 {
+					background-color: #00FF00;
+				}
+
+				.value_2 {
+					background-color: #DCDCDC;
+				}
+			}
+		}
+
+		.tab:nth-child(3n) {
+			margin-right: 0;
+		}
+
+		.active {
+			background-color: #FFFFFF;
+			border: none;
+		}
+	}
+
+	.content {
+		margin-top: 40rpx;
+
+		.compressed_air {
+			margin: 0 auto;
+			width: 700rpx;
+
+			.box {
+				margin: 0 auto;
+				width: 98rpx;
+				height: 160rpx;
+
+				background-image: url(./icon/compressed_air.png);
+				background-size: cover;
+				background-repeat: no-repeat;
+
+				image {
+					margin-top: 60rpx;
+					margin-left: 24rpx;
+					width: 48rpx;
+					height: 48rpx;
+				}
+			}
+
+			.name {
+				margin-top: 20rpx;
+				text-align: center;
+				color: #DEF1FF;
+				font-size: 34rpx;
+				font-weight: 700;
+			}
+
+			.state {
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.label {
+					color: #4CB1FF;
+					font-size: 28rpx;
+				}
+
+				.value {
+					margin-left: 20rpx;
+					width: 40rpx;
+					height: 40rpx;
+					border-radius: 50%;
+				}
+
+				.value_1 {
+					background-color: #00FF00;
+				}
+
+				.value_2 {
+					background-color: #DCDCDC;
+				}
+			}
+
+			.parameter {
+				box-sizing: border-box;
+				margin-top: 40rpx;
+
+				.title {
+					margin: 0 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: 20rpx;
+
+						image {
+							width: 30rpx;
+							height: 30rpx;
+						}
+					}
+
+					.text {
+						color: #00FFF6;
+						font-size: 30rpx;
+					}
+				}
+
+				.list {
+					margin-top: 40rpx;
+
+					.item {
+						height: 60rpx;
+						display: flex;
+
+						color: #4CB1FF;
+						font-size: 28rpx;
+
+						.label {
+							width: 200rpx;
+
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.value {
+							margin: 0 20rpx;
+							width: 200rpx;
+							height: 40rpx;
+							box-sizing: border-box;
+							padding: 0 10rpx;
+							background: rgba(0, 4, 15, 0.36);
+							border: 2rpx solid #3D55A5;
+
+							color: #FFF600;
+							font-size: 24rpx;
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.unit {
+							width: 100rpx;
+						}
+					}
+				}
+			}
+			
+			.warn_state{
+				margin-top: 40rpx;
+				.title {
+					margin: 20rpx 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: 20rpx;
+							
+						image {
+							width: 30rpx;
+							height: 30rpx;
+						}
+					}
+							
+					.text {
+						color: #00FFF6;
+						font-size: 30rpx;
+					}
+				}
+							
+				.list{
+					overflow: hidden;
+					.state{
+						box-sizing: border-box;
+						
+						float: left;
+						width: 350rpx;
+						height: 70rpx;
+						display: flex;
+						align-items: center;
+						.label {
+							width: 200rpx;
+							color: #4CB1FF;
+							font-size: 28rpx;
+							
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+									
+						.value {
+							margin-left: 20rpx;
+							width: 40rpx;
+							height: 40rpx;
+							border-radius: 50%;
+						}
+									
+						.value_1 {
+							background-color: #00FF00;
+						}
+									
+						.value_2 {
+							background-color: #DCDCDC;
+						}
+					}
+					
+					.state:nth-child(Odd){
+						border-right: 2rpx solid;
+						border-image: linear-gradient(#0B163B, #00B7F5, #0B163B) 2;
+					}
+				}
+			}
+		}
+	}
+</style>

+ 159 - 0
pages/production/unified_automation_system/compressed_air/compressed_air_system.json

@@ -0,0 +1,159 @@
+{
+	"common": [{
+		"label": "总管压力",
+		"value": 0.72,
+		"unit": "Mpa"
+	}],
+	"compressed_air":[
+		{
+			"name":"1号压风机",
+			"state":2,
+			"drain_valve_state":1,
+			"run_parameter":[
+				{
+					"label": "排气压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "排气温度",
+					"value": 67.959,
+					"unit": "℃"
+				},
+				{
+					"label": "时间",
+					"value": 67.959,
+					"unit": "H"
+				},
+				{
+					"label": "加载时间",
+					"value": 67.959,
+					"unit": "H"
+				},
+				{
+					"label": "电机电流",
+					"value": 67.959,
+					"unit": "A"
+				},
+				{
+					"label": "油气桶压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "油气桶温度",
+					"value": 67.959,
+					"unit": "℃"
+				}
+			],
+			"warn_state":[
+				{
+					"label": "排气高温",
+					"state": 1
+				},
+				{
+					"label": "传感器故障",
+					"state": 1
+				},
+				{
+					"label": "轻故障",
+					"state": 2
+				},
+				{
+					"label": "油压",
+					"state": 2
+				},
+				{
+					"label": "重故障",
+					"state": 2
+				},
+				{
+					"label": "主接触器反馈故障",
+					"state": 2
+				}
+			]
+		},
+		{
+			"name":"1号压风机",
+			"state":1,
+			"drain_valve_state":2,
+			"run_parameter":[
+				{
+					"label": "吸附塔A压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "吸附塔B压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "空气罐压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "氮气罐压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				}
+			],
+			"warn_state":[
+				{
+					"label": "排气高温",
+					"state": 2
+				},
+				{
+					"label": "传感器故障",
+					"state": 1
+				},
+				{
+					"label": "轻故障",
+					"state": 2
+				}
+			]
+		},
+		{
+			"name":"1号压风机",
+			"state":1,
+			"drain_valve_state":1,
+			"run_parameter":[
+				{
+					"label": "吸附塔A压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "吸附塔B压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "空气罐压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				},
+				{
+					"label": "氮气罐压力",
+					"value": 67.959,
+					"unit": "Mpa"
+				}
+			],
+			"warn_state":[
+				{
+					"label": "排气高温",
+					"state": 2
+				},
+				{
+					"label": "传感器故障",
+					"state": 1
+				},
+				{
+					"label": "轻故障",
+					"state": 2
+				}
+			]
+		}
+	]
+}

二进制
pages/production/unified_automation_system/compressed_air/icon/border.png


二进制
pages/production/unified_automation_system/compressed_air/icon/canshu.png


二进制
pages/production/unified_automation_system/compressed_air/icon/close.png


二进制
pages/production/unified_automation_system/compressed_air/icon/common.png


二进制
pages/production/unified_automation_system/compressed_air/icon/compressed_air.png


二进制
pages/production/unified_automation_system/compressed_air/icon/compressed_air_run.gif


二进制
pages/production/unified_automation_system/compressed_air/icon/warn.png


+ 203 - 0
pages/production/unified_automation_system/drainage/drainage.json

@@ -0,0 +1,203 @@
+{
+	"common": [{
+			"label": "1号管流量",
+			"value": 67.959,
+			"unit": "m3/h"
+		},
+		{
+			"label": "液位左",
+			"value": 67.9,
+			"unit": "m"
+		},
+		{
+			"label": "2号管流量",
+			"value": 67.959,
+			"unit": "m3/h"
+		},
+		{
+			"label": "液位右",
+			"value": 67.959,
+			"unit": "m"
+		},
+		{
+			"label": "环境温度",
+			"value": 67.959,
+			"unit": "℃"
+		}
+	],
+	"water_pump": [{
+		"name": "1号水泵",
+		"state": 1,
+		"parameter": [{
+				"label": "正压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "负压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "前轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "后轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "本次运行",
+				"value": "2时17分56秒",
+				"unit": ""
+			},
+			{
+				"label": "累计运行",
+				"value": "2789时17分56秒",
+				"unit": ""
+			}
+		]
+	},
+	{
+		"name": "2号水泵",
+		"state": 2,
+		"parameter": [{
+				"label": "正压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "负压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "前轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "后轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "本次运行",
+				"value": "2时17分56秒",
+				"unit": ""
+			},
+			{
+				"label": "累计运行",
+				"value": "2789时17分56秒",
+				"unit": ""
+			}
+		]
+	},
+	{
+		"name": "3号水泵",
+		"state": 1,
+		"parameter": [{
+				"label": "正压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "负压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "前轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "后轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "本次运行",
+				"value": "2时17分56秒",
+				"unit": ""
+			},
+			{
+				"label": "累计运行",
+				"value": "2789时17分56秒",
+				"unit": ""
+			}
+		]
+	},
+	{
+		"name": "4号水泵",
+		"state": 2,
+		"parameter": [{
+				"label": "正压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "负压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "前轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "后轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "本次运行",
+				"value": "2时17分56秒",
+				"unit": ""
+			},
+			{
+				"label": "累计运行",
+				"value": "2789时17分56秒",
+				"unit": ""
+			}
+		]
+	},
+	{
+		"name": "5号水泵",
+		"state": 1,
+		"parameter": [{
+				"label": "正压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "负压压力",
+				"value": 67.59,
+				"unit": "Mpa"
+			},
+			{
+				"label": "前轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "后轴温度",
+				"value": 67.95,
+				"unit": "℃"
+			},
+			{
+				"label": "本次运行",
+				"value": "2时17分56秒",
+				"unit": ""
+			},
+			{
+				"label": "累计运行",
+				"value": "2789时17分56秒",
+				"unit": ""
+			}
+		]
+	}]
+}

+ 294 - 0
pages/production/unified_automation_system/drainage/drainage.vue

@@ -0,0 +1,294 @@
+<template>
+	<view>
+		<!-- 公共参数 -->
+		<view class="common" v-if="data.common">
+			<view class="item" v-for="(item,index) in data.common" :key="index" @click="show_item(item)">
+				<view class="label">{{item.label}}</view>
+				<view class="value">{{item.value}}</view>
+				<view class="unit">{{item.unit}}</view>
+			</view>
+		</view>
+
+		<!-- 水泵 -->
+		<view class="pump_list">
+			<view class="pump" v-for="(item,index) in data.water_pump" :key="index">
+				<view class="icon"v-if="item.state == 1">
+					<image src="./icon/water_pump_kai.jpg" mode=""></image>
+				</view>
+				<view class="icon"v-if="item.state == 2">
+					<image src="./icon/water_pump.png" mode=""></image>
+				</view>
+				<view class="name">{{item.label}}</view>
+				<view class="state">
+					<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>
+				<!-- 运行参数 -->
+				<view class="parameter run_parameter">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/canshu.png" mode=""></image>
+						</view>
+						<view class="text">运行参数</view>
+					</view>
+					<view class="list">
+						<view class="item" v-for="(item_2,index_2) in item.parameter" :key="index_2" @click="show_item(item_2)">
+							<view class="label">{{item_2.label}}</view>
+							<view class="value" :style="{width: item_2.unit?'120rpx':'190rpx'}">{{item_2.value}}</view>
+							<view class="unit" :style="{width: item_2.unit?'70rpx':'0rpx'}">{{item_2.unit}}</view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+	import data from './drainage.json'
+
+	export default {
+		data() {
+			return {
+				mine_code:"",
+				system_type:"",
+				
+				// 数据刷新定时器
+				data_timer:{},
+				data: {}
+			};
+		},
+		onLoad(option) {
+			uni.setNavigationBarTitle({
+				title:option.name
+			})
+			this.mine_code = option.mine_code
+			this.system_type = option.system_type
+			// console.log(data)
+			// this.data = data
+			this.get_data()
+			this.data_timer = setInterval(()=>{
+				this.get_data()
+			},5000)
+		},
+		onUnload() {
+			clearInterval(this.data_timer)
+		},
+		methods: {
+			show_item(item) {
+				uni.showToast({
+					icon: "none",
+					title: item.label + "  " + item.value + "  " + item.unit
+				})
+			},
+			get_data(){
+				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;
+	}
+
+	.common {
+		margin: 0 auto;
+		width: 700rpx;
+
+		background-image: url(./icon/common.png);
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+
+		box-sizing: border-box;
+		padding: 40rpx;
+
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: space-between;
+
+		.item {
+			width: 300rpx;
+			height: 50rpx;
+			display: flex;
+			justify-content: space-between;
+
+			color: #4CB1FF;
+			font-size: 28rpx;
+
+			.label {
+				width: 110rpx;
+
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+
+			.value {
+				width: 110rpx;
+				height: 40rpx;
+				box-sizing: border-box;
+				padding: 0 10rpx;
+				background: rgba(0, 4, 15, 0.36);
+				border: 2rpx solid #3D55A5;
+
+				color: #FFF600;
+				font-size: 24rpx;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+
+			.unit {
+				width: 50rpx;
+				text-overflow: ellipsis;
+				white-space: nowrap;
+				overflow: hidden;
+			}
+		}
+	}
+
+	.pump_list {
+		margin-top: 20rpx;
+		display: flex;
+		flex-wrap: wrap;
+		justify-content: space-between;
+		.pump {
+			margin-bottom: 40rpx;
+			width: 360rpx;
+			.icon {
+				text-align: center;
+				image {
+					width: 164rpx;
+					height: 138rpx;
+				}
+			}
+
+			.name {
+				margin-top: 20rpx;
+				text-align: center;
+				color: #DEF1FF;
+				font-size: 34rpx;
+				font-weight: 700;
+			}
+
+			.state {
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+
+				.label {
+					color: #4CB1FF;
+					font-size: 28rpx;
+				}
+
+				.value {
+					margin-left: 20rpx;
+					width: 40rpx;
+					height: 40rpx;
+					border-radius: 50%;
+				}
+
+				.value_1 {
+					background-color: #00FF00;
+				}
+
+				.value_2 {
+					background-color: #DCDCDC;
+				}
+			}
+
+			.parameter {
+				box-sizing: border-box;
+				margin-top: 20rpx;
+
+				.title {
+					margin: 0 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;
+					}
+				}
+
+				.list {
+					margin-top: 40rpx;
+
+					.item {
+						height: 60rpx;
+						display: flex;
+						justify-content: space-between;
+
+						color: #4CB1FF;
+						font-size: 28rpx;
+
+						.label {
+							margin-left: 10rpx;
+							width: 130rpx;
+
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.value {
+							width: 120rpx;
+							height: 40rpx;
+							box-sizing: border-box;
+							padding: 0 10rpx;
+							background: rgba(0, 4, 15, 0.36);
+							border: 2rpx solid #3D55A5;
+
+							color: #FFF600;
+							font-size: 24rpx;
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.unit {
+							width: 70rpx;
+						}
+					}
+				}
+			}
+
+		}
+	
+		.pump:nth-child(Odd) {
+			.parameter {
+				border-right: 2rpx solid;
+				border-image: linear-gradient(#0B163B, #00B7F5, #0B163B) 10;
+			}
+		}
+	}
+</style>

二进制
pages/production/unified_automation_system/drainage/icon/border.png


二进制
pages/production/unified_automation_system/drainage/icon/border_right.png


二进制
pages/production/unified_automation_system/drainage/icon/canshu.png


二进制
pages/production/unified_automation_system/drainage/icon/common.png


二进制
pages/production/unified_automation_system/drainage/icon/water_pump.png


二进制
pages/production/unified_automation_system/drainage/icon/water_pump_kai.jpg


+ 158 - 0
pages/production/unified_automation_system/hoist/hoist.json

@@ -0,0 +1,158 @@
+{
+	"common": {
+		"position":[
+			{
+				"label": "小罐位置",
+				"value": 0.72,
+				"unit": "m"
+			},
+			{
+				"label": "大罐位置",
+				"value": 0.72,
+				"unit": "m"
+			}
+		],
+		"direction":[
+			{
+				"label": "正向提升",
+				"state": 1
+			},
+			{
+				"label": "反向提升",
+				"state": 2
+			}
+		]
+	},
+	"hoist":[
+		{
+			"name":"中部副立井",
+			"state":1,
+			"run_parameter":[
+				{
+					"label": "实测速度",
+					"value": 67.959,
+					"unit": "m/s"
+				},
+				{
+					"label": "励磁电流",
+					"value": 67.959,
+					"unit": "A"
+				},
+				{
+					"label": "绕组1电流",
+					"value": 67.959,
+					"unit": "A"
+				}
+			],
+			
+			"run_mode":[
+				{
+					"label": "手动",
+					"state": 1
+				},
+				{
+					"label": "自动",
+					"state": 1
+				},
+				{
+					"label": "提人",
+					"state": 2
+				},
+				{
+					"label": "提物",
+					"state": 2
+				},
+				{
+					"label": "检修",
+					"state": 2
+				},
+				{
+					"label": "紧急开车",
+					"state": 2
+				}
+			],
+			"system_signal":[
+				{
+					"label": "打点信号2",
+					"state": 1
+				},
+				{
+					"label": "打点信号3",
+					"state": 1
+				},
+				{
+					"label": "打点信号4",
+					"state": 2
+				},
+				{
+					"label": "打点信号5",
+					"state": 2
+				}
+			],
+			"hoist_state":[
+				{
+					"label": "主令拉",
+					"state": 1
+				},
+				{
+					"label": "交流柜1运行",
+					"state": 1
+				},
+				{
+					"label": "主令推4",
+					"state": 2
+				},
+				{
+					"label": "交流柜2运行",
+					"state": 2
+				},
+				{
+					"label": "大罐旁通",
+					"state": 2
+				}
+			],
+			"hoist_run_state":[
+				{
+					"label": "安全回路",
+					"state": 1
+				},
+				{
+					"label": "保护PLC正常",
+					"state": 1
+				}
+			],
+			"small_lifting_process":[
+				{
+					"label": "小罐过卷",
+					"state": 1
+				},
+				{
+					"label": "小罐限速",
+					"state": 1
+				},
+				{
+					"label": "小罐到位",
+					"state": 2
+				}
+			],
+			"big_lifting_process":[
+				{
+					"label": "大罐过卷",
+					"state": 1
+				},
+				{
+					"label": "大罐限速",
+					"state": 1
+				},
+				{
+					"label": "大罐到位",
+					"state": 2
+				}
+			]
+		
+		
+		
+		}
+		
+	]
+}

+ 533 - 0
pages/production/unified_automation_system/hoist/hoist.vue

@@ -0,0 +1,533 @@
+<template>
+	<view>
+		<!-- 公共参数 -->
+		<view class="common" v-if="data.common">
+			<view class="section">
+				<view class="item" v-for="(item,index) in data.common.position" :key="index" @click="show_item(item)">
+					<view class="label">{{item.label}}</view>
+					<view class="value">{{item.value}}</view>
+					<view class="unit">{{item.unit}}</view>
+				</view>
+			</view>
+			<view class="section">
+				<view class="state" v-for="(item,index) in data.common.direction" :key="index">
+					<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>
+			</view>
+		</view>
+
+		<!-- 提升机参数 -->
+		<view class="content">
+			<view class="hoist" v-for="(item,index) in data.hoist" :key="index">
+				<view class="box" v-if="item.state == 1">
+					<image src="./icon/hoist.jpg" mode=""></image>
+				</view>
+				<view class="box" v-if="item.state == 2">
+					<image src="./icon/hoist.png" mode=""></image>
+				</view>
+				<view class="name">{{item.name}}</view>
+				<!-- 运行参数 -->
+				<view class="parameter run_parameter">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/canshu.png" mode=""></image>
+						</view>
+						<view class="text">运行参数</view>
+					</view>
+					<view class="list">
+						<view class="item" v-for="(item_2,index_2) in item.run_parameter" :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>
+				<!-- 提升机运行模式 -->
+				<view class="state_section run_mode">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">提升机运行模式</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.run_mode" :key="index_2"  @click="show_label(item_2.label)">
+							<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>
+					</view>
+				</view>
+
+				<!-- 提升机系统信号 -->
+				<view class="state_section system_signal">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">提升机系统信号</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.system_signal" :key="index_2" @click="show_label(item_2.label)">
+							<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>
+					</view>
+				</view>
+				
+				<!-- 提升机状态 -->
+				<view class="state_section two_row_state">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">提升机状态</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.hoist_state" :key="index_2" @click="show_label(item_2.label)">
+							<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>
+					</view>
+				</view>
+				
+				<!-- 提升机运行状态 -->
+				<view class="state_section two_row_state">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">提升机运行状态</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.hoist_run_state" :key="index_2" @click="show_label(item_2.label)">
+							<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>
+					</view>
+				</view>
+				
+				<!-- 小罐提升过程状态 -->
+				<view class="state_section two_row_state">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">小罐提升过程状态</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.small_lifting_process" :key="index_2" @click="show_label(item_2.label)">
+							<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>
+					</view>
+				</view>
+				
+				<!-- 大罐提升过程状态 -->
+				<view class="state_section two_row_state">
+					<view class="title">
+						<view class="icon">
+							<image src="./icon/warn.png" mode=""></image>
+						</view>
+						<view class="text">大罐提升过程状态</view>
+					</view>
+					<view class="list">
+						<view class="state" v-for="(item_2,index_2) in item.big_lifting_process" :key="index_2" @click="show_label(item_2.label)">
+							<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>
+					</view>
+				</view>
+
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import data from './hoist.json'
+
+	export default {
+		data() {
+			return {
+				data: {}
+			};
+		},
+		onLoad(option) {
+			// console.log(data)
+			// this.data = 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)
+		},
+		onUnload() {
+			clearInterval(this.data_timer)
+		},
+		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
+				})
+			},
+			show_item(item) {
+				uni.showToast({
+					icon: "none",
+					title: item.label + "  " + item.value + "  " + item.unit
+				})
+			},
+			show_label(label){
+				uni.showToast({
+					icon: "none",
+					title: label
+				})
+			}
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #0B163B;
+		box-sizing: border-box;
+		padding: 30rpx 10rpx;
+	}
+
+	.common {
+		margin: 0 auto;
+		width: 700rpx;
+
+		background-image: url(./icon/common.png);
+		background-size: 100% 100%;
+		background-repeat: no-repeat;
+
+		box-sizing: border-box;
+		padding: 40rpx;
+
+		display: flex;
+		justify-content: space-between;
+
+		.section {
+			display: flex;
+			flex-wrap: wrap;
+			justify-content: space-between;
+
+			.item {
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+				justify-content: space-between;
+
+				color: #4CB1FF;
+				font-size: 28rpx;
+
+				.label {
+					width: 120rpx;
+
+					text-overflow: ellipsis;
+					white-space: nowrap;
+					overflow: hidden;
+				}
+
+				.value {
+					margin: 0 20rpx;
+					width: 120rpx;
+					height: 40rpx;
+					box-sizing: border-box;
+					padding: 0 10rpx;
+					background: rgba(0, 4, 15, 0.36);
+					border: 2rpx solid #3D55A5;
+
+					color: #FFF600;
+					font-size: 24rpx;
+					text-overflow: ellipsis;
+					white-space: nowrap;
+					overflow: hidden;
+				}
+
+				.unit {
+					width: 100rpx;
+					text-overflow: ellipsis;
+					white-space: nowrap;
+					overflow: hidden;
+				}
+			}
+
+			.state {
+				height: 60rpx;
+				display: flex;
+				align-items: center;
+
+				.label {
+					text-overflow: ellipsis;
+					white-space: nowrap;
+					overflow: hidden;
+
+					width: 120rpx;
+					color: #4CB1FF;
+					font-size: 28rpx;
+				}
+
+				.value {
+					margin-left: 20rpx;
+					width: 40rpx;
+					height: 40rpx;
+					border-radius: 50%;
+				}
+
+				.value_1 {
+					background-color: #00FF00;
+				}
+
+				.value_2 {
+					background-color: #E5E5E5;
+				}
+			}
+		}
+	}
+
+	.content {
+		margin-top: 40rpx;
+
+		.hoist {
+			margin: 0 auto;
+			width: 700rpx;
+
+			.box {
+				text-align: center;
+
+				image {
+					width: 150rpx;
+					height: 174rpx;
+				}
+			}
+
+			.name {
+				margin-top: 20rpx;
+				text-align: center;
+				color: #DEF1FF;
+				font-size: 34rpx;
+				font-weight: 700;
+			}
+
+			.parameter {
+				box-sizing: border-box;
+				margin-top: 40rpx;
+
+				.title {
+					margin: 0 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: 20rpx;
+
+						image {
+							width: 30rpx;
+							height: 30rpx;
+						}
+					}
+
+					.text {
+						color: #00FFF6;
+						font-size: 30rpx;
+					}
+				}
+
+				.list {
+					margin-top: 40rpx;
+
+					.item {
+						height: 60rpx;
+						display: flex;
+
+						color: #4CB1FF;
+						font-size: 28rpx;
+
+						.label {
+							width: 200rpx;
+							text-align: justify;
+							text-align-last: justify;
+
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.value {
+							margin: 0 40rpx;
+							width: 200rpx;
+							height: 40rpx;
+							box-sizing: border-box;
+							padding: 0 10rpx;
+							background: rgba(0, 4, 15, 0.36);
+							border: 2rpx solid #3D55A5;
+
+							color: #FFF600;
+							font-size: 24rpx;
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.unit {
+							width: 100rpx;
+						}
+					}
+				}
+			}
+
+			.state_section {
+				margin-top: 40rpx;
+
+				.title {
+					margin: 20rpx auto;
+					display: flex;
+					justify-content: center;
+					align-items: center;
+
+					width: 300rpx;
+					height: 60rpx;
+					background-image: url(./icon/border.png);
+					background-size: 100% 100%;
+					background-repeat: no-repeat;
+
+					.icon {
+						margin-right: 20rpx;
+
+						image {
+							width: 30rpx;
+							height: 30rpx;
+						}
+					}
+
+					.text {
+						color: #00FFF6;
+						font-size: 30rpx;
+					}
+				}
+
+				.list {
+					overflow: hidden;
+
+					.state {
+						box-sizing: border-box;
+
+						float: left;
+						margin-right: 20rpx;
+						width: 160rpx;
+						height: 70rpx;
+						display: flex;
+						align-items: center;
+
+						.label {
+							width: 80rpx;
+							color: #4CB1FF;
+							font-size: 28rpx;
+							
+							text-align: justify;
+							text-align-last: justify;
+
+							text-overflow: ellipsis;
+							white-space: nowrap;
+							overflow: hidden;
+						}
+
+						.value {
+							margin-left: 20rpx;
+							width: 40rpx;
+							height: 40rpx;
+							border-radius: 50%;
+						}
+
+						.value_1 {
+							background-color: #00FF00;
+						}
+
+						.value_2 {
+							background-color: #DCDCDC;
+						}
+					}
+
+					.state:nth-child(4n) {
+						margin-right: 0;
+					}
+				}
+			}
+
+			.system_signal {
+				.list {
+					overflow: hidden;
+					.state {
+						margin-right: 30rpx;
+						width: 210rpx;
+
+						.label {
+							width: 140rpx;
+						}
+
+					}
+					.state:nth-child(3n){
+						margin-right: 0;
+					}
+					.state:nth-child(4n) {
+						margin-right: 30rpx;
+					}
+				}
+			}
+			
+			.two_row_state{
+				.list {
+					display: flex;
+					flex-wrap: wrap;
+					justify-content: space-between;
+
+					.state {
+						margin-right: 0;
+						width: 350rpx;
+
+						.label {
+							width: 200rpx;
+							margin-right: 40rpx;
+						}
+
+					}
+				}
+			}
+		}
+	}
+</style>

+ 0 - 0
pages/production/unified_automation_system/hoist/icon/border.png


部分文件因为文件数量过多而无法显示