Browse Source

宁煤安全:1.0.15

tiandewen 3 years ago
parent
commit
4120e42f66
71 changed files with 14503 additions and 12628 deletions
  1. 11 11
      common/vmeitime-http/interface.js
  2. 38 0
      components/e-link/e-link.vue
  3. 12 5
      components/t-p-n-section-1/t-p-n-section-1.vue
  4. 1 1
      manifest.json
  5. 36 5
      pages/index/record/detail_list/detail_list.vue
  6. 7 4
      pages/my/forget-password/forget-password.vue
  7. 16 7
      pages/my/login/login.vue
  8. 3 0
      pages/my/personal_information/honor/honor.vue
  9. BIN
      pages/my/personal_information/icon/icon_1.png
  10. BIN
      pages/my/personal_information/icon/icon_2.png
  11. BIN
      pages/my/personal_information/icon/icon_3.png
  12. BIN
      pages/my/personal_information/icon/icon_4.png
  13. BIN
      pages/my/personal_information/icon/icon_5.png
  14. BIN
      pages/my/personal_information/icon/icon_6.png
  15. BIN
      pages/my/personal_information/icon/icon_7.png
  16. 0 23
      pages/my/personal_information/personal_information - h5副本.vue
  17. 5 56
      pages/my/personal_information/personal_information - 副本.vue
  18. 466 460
      pages/my/personal_information/personal_information.vue
  19. BIN
      pages/origanization/communication/origanization/icon/bumen.png
  20. 55 4
      pages/origanization/communication/origanization/origanization.vue
  21. 496 0
      pages/origanization/communication/origanization/personal_information/personal_information - 个人信息页.vue
  22. 0 491
      pages/origanization/communication/origanization/personal_information/personal_information - 人资培训信息.vue
  23. 389 390
      pages/origanization/communication/origanization/personal_information/personal_information.vue
  24. 13 5
      pages/production/video_monitor_app/video-block/video-block.vue
  25. 0 0
      pages/tabbar/index/index - 全矿适配版本.vue
  26. 136 26
      pages/tabbar/index/index.vue
  27. 17 15
      pages/tabbar/my/my.vue
  28. BIN
      static/login_bg.jpg
  29. BIN
      static/login_logo.png
  30. 2 2
      unpackage/dist/build/app-plus/app-service.js
  31. 1 1
      unpackage/dist/build/app-plus/app-view.js
  32. BIN
      unpackage/dist/build/app-plus/components/openingNotice/icon/icon.png
  33. 1 1
      unpackage/dist/build/app-plus/manifest.json
  34. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_1.png
  35. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_2.png
  36. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_3.png
  37. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_4.png
  38. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_5.png
  39. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_6.png
  40. BIN
      unpackage/dist/build/app-plus/pages/my/personal_information/icon/top.png
  41. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/icon/bumen.png
  42. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_1.png
  43. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_2.png
  44. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_3.png
  45. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_4.png
  46. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_5.png
  47. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_6.png
  48. BIN
      unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/top.png
  49. BIN
      unpackage/dist/build/app-plus/static/login_bg.jpg
  50. BIN
      unpackage/dist/build/app-plus/static/login_logo.png
  51. 6360 5330
      unpackage/dist/dev/app-plus/app-service.js
  52. 6437 5790
      unpackage/dist/dev/app-plus/app-view.js
  53. BIN
      unpackage/dist/dev/app-plus/components/openingNotice/icon/icon.png
  54. 1 1
      unpackage/dist/dev/app-plus/manifest.json
  55. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_1.png
  56. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_2.png
  57. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_3.png
  58. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_4.png
  59. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_5.png
  60. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_6.png
  61. BIN
      unpackage/dist/dev/app-plus/pages/my/personal_information/icon/top.png
  62. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/icon/bumen.png
  63. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_1.png
  64. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_2.png
  65. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_3.png
  66. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_4.png
  67. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_5.png
  68. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_6.png
  69. BIN
      unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/top.png
  70. BIN
      unpackage/dist/dev/app-plus/static/login_bg.jpg
  71. BIN
      unpackage/dist/dev/app-plus/static/login_logo.png

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

@@ -104,17 +104,17 @@ export default {
 					if (statusCode === 200) {
 					if (statusCode === 200) {
 						// uni.hideLoading()
 						// uni.hideLoading()
 						// console.log("【" + _config.requestId + "】 结果:" + JSON.stringify(response.data))
 						// console.log("【" + _config.requestId + "】 结果:" + JSON.stringify(response.data))
-						if(response.data.code == 401){
-							uni.showToast({
-								icon:"none",
-								title:"登录失效、请重新登录"
-							})
-							setTimeout(function(){
-								uni.redirectTo({
-									url:"/my/login/login.vue"
-								})
-							},2000)
-						}
+						// if(response.data.code == 401){
+						// 	uni.showToast({
+						// 		icon:"none",
+						// 		title:"登录失效、请重新登录"
+						// 	})
+						// 	setTimeout(function(){
+						// 		uni.redirectTo({
+						// 			url:"/my/login/login.vue"
+						// 		})
+						// 	},2000)
+						// }
 					}else if(statusCode === 500){
 					}else if(statusCode === 500){
 						uni.hideLoading()
 						uni.hideLoading()
 						uni.showToast({
 						uni.showToast({

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

@@ -152,12 +152,50 @@
 						})
 						})
 					}
 					}
 					
 					
+					
 					if (link.indexOf("app_url") != -1) {
 					if (link.indexOf("app_url") != -1) {
+						// console.log(link.split('app_url=')[1] + "&title=" + item.linkName + "&mine_code=" + this.mine_code)
 						uni.navigateTo({
 						uni.navigateTo({
 							url:link.split('app_url=')[1] + "&title=" + item.linkName + "&mine_code=" + this.mine_code
 							url:link.split('app_url=')[1] + "&title=" + item.linkName + "&mine_code=" + this.mine_code
 						})
 						})
 						
 						
 					}
 					}
+					
+					if (link.indexOf("nativeApp://") != -1) {
+						
+						let app_name = link.match(/nativeApp:\/\/(\S*)\?/)[1]
+						let app_down_link = link.split('?')[1]
+					
+						console.log(app_name,app_down_link)
+					
+						// #ifdef APP
+						if (plus.os.name == 'Android') {
+					
+							plus.runtime.launchApplication({
+								pname: app_name
+							}, (e) => {
+								console.log('Open system default browser failed: ' + e.message)
+					
+								uni.showModal({
+									title: app_name,
+									content: '未安装此应用、是否下载?',
+									success: (res) => {
+										if (res.confirm) {
+											console.log('用户点击确定');
+					
+											uni.navigateTo({
+												url: "../../index/h5/h5?url=" + app_down_link
+											})
+										} else if (res.cancel) {
+											console.log('用户点击取消');
+										}
+									}
+								});
+							})
+						}
+						// #endif
+					} 
+					
 				}
 				}
 				
 				
 			}
 			}

+ 12 - 5
components/t-p-n-section-1/t-p-n-section-1.vue

@@ -156,8 +156,7 @@
 		name: "t-p-n-section-1",
 		name: "t-p-n-section-1",
 		data() {
 		data() {
 			return {
 			return {
-				mine_code: "",
-				
+				mine_code: "",		
 				
 				
 				mineall_people: "",
 				mineall_people: "",
 				days_output: ""
 				days_output: ""
@@ -224,9 +223,17 @@
 				})
 				})
 			},
 			},
 			go_rongzhi(){
 			go_rongzhi(){
-				uni.navigateTo({
-					url: "../../ningdongyunying/h5/h5?url=" + "http://rongzhi.nxjiewei.com:8011/h5/#/auth"
-				})
+				
+				if(uni.getStorageSync('mine_code') != 'ningmeijituan'){
+					uni.navigateTo({
+						url: "../../ningdongyunying/h5/h5?url=" + "http://rongzhi.nxjiewei.com:8011/h5/#/auth"
+					})
+				}else{
+					uni.navigateTo({
+						url:"../../index/record/record?mine_code=ningmeijituan&pageId=b89076dac2cd45a8831ee8d3e85b4ed6"
+					})
+				}
+				
 			},
 			},
 			
 			
 			// 商汤
 			// 商汤

+ 1 - 1
manifest.json

@@ -2,7 +2,7 @@
     "name" : "宁煤安全",
     "name" : "宁煤安全",
     "appid" : "__UNI__5DF9CB2",
     "appid" : "__UNI__5DF9CB2",
     "description" : "",
     "description" : "",
-    "versionName" : "1.0.12",
+    "versionName" : "1.0.15",
     "versionCode" : "100",
     "versionCode" : "100",
     "transformPx" : false,
     "transformPx" : false,
     /* 5+App特有相关 */
     /* 5+App特有相关 */

+ 36 - 5
pages/index/record/detail_list/detail_list.vue

@@ -10,7 +10,7 @@
 			</view>
 			</view>
 		</scroll-view>
 		</scroll-view>
 		
 		
-		<view class="list" v-for="(item,index) in data" :key="index" @click="click(item)">
+		<view class="list" v-if="!article" v-for="(item,index) in data" :key="index" @click="click(item)">
 			<!-- 文件 -->
 			<!-- 文件 -->
 			<view v-if="item.type == 'files'">
 			<view v-if="item.type == 'files'">
 				<view class="file">
 				<view class="file">
@@ -89,6 +89,11 @@
 			</view>
 			</view>
 
 
 		</view>
 		</view>
+	
+		<view class="article" v-if="article">
+			<mp-html :content="detail" />
+			<!-- <view v-html="detail"></view> -->
+		</view>
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -103,7 +108,12 @@
 				title:"",
 				title:"",
 				mine_code:"",
 				mine_code:"",
 				data: [],
 				data: [],
-				tabList:[]
+				tabList:[],
+				
+				
+				// 是否直接显示文章
+				article:false,
+				detail:null
 			};
 			};
 		},
 		},
 		onLoad(option) {
 		onLoad(option) {
@@ -123,8 +133,6 @@
 				this.$api.oa_article_lm_list({
 				this.$api.oa_article_lm_list({
 					column:column
 					column:column
 				}).then((res)=>{
 				}).then((res)=>{
-					console.log(res.data.data)
-					
 					this.tabList = res.data.data
 					this.tabList = res.data.data
 					
 					
 					if(this.tabList.length == 0){
 					if(this.tabList.length == 0){
@@ -149,8 +157,27 @@
 				this.$api.oa_article_list({
 				this.$api.oa_article_list({
 					column:id
 					column:id
 				}).then((res)=>{
 				}).then((res)=>{
+					// console.log(res.data.data)
 					uni.hideLoading()
 					uni.hideLoading()
 					this.data = res.data.data
 					this.data = res.data.data
+					
+					this.article = false
+					this.detail = null
+					if(res.data.data.length == 1 && res.data.data[0].type == 'article'){
+						console.log(res.data.data[0].data)
+						uni.showLoading({
+							mask:true
+						})
+						this.article = true
+						
+						this.$api.oa_article_detail({
+							id:res.data.data[0].data.id
+						}).then((res)=>{
+							this.detail = res.data.data.content
+							uni.hideLoading()
+							console.log(this.detail)
+						})
+					}
 				})
 				})
 			},
 			},
 			
 			
@@ -263,8 +290,12 @@
 		}
 		}
 	}
 	}
 	
 	
+	.article{
+		box-sizing: border-box;
+		padding: 10rpx 25rpx;
+	}
+	
 	.list {
 	.list {
-		border-top: 2rpx solid #f2f2f2;
 		box-sizing: border-box;
 		box-sizing: border-box;
 		padding: 10rpx 25rpx;
 		padding: 10rpx 25rpx;
 
 

+ 7 - 4
pages/my/forget-password/forget-password.vue

@@ -2,7 +2,8 @@
 	<view class="content">
 	<view class="content">
 		<view class="status_bar"></view>
 		<view class="status_bar"></view>
 		<view class="logo">
 		<view class="logo">
-			<image src="~@/static/logo.png" mode="aspectFit"></image>
+			<!-- <image src="~@/static/logo.png" mode="aspectFit"></image> -->
+			<image src="~@/static/login_logo.png" mode="aspectFit"></image>
 		</view>
 		</view>
 		<view class="title">
 		<view class="title">
 			<text v-if="mine_code == 'ningdongyunying'">E信管理</text>
 			<text v-if="mine_code == 'ningdongyunying'">E信管理</text>
@@ -216,7 +217,8 @@
 		width: 750rpx;
 		width: 750rpx;
 		min-height: 100vh;
 		min-height: 100vh;
 		height: 100%;
 		height: 100%;
-		background-image: url(~@/static/login.png);
+		// background-image: url(~@/static/login.png);
+		background-image: url(~@/static/login_bg.jpg);
 		background-size: cover;
 		background-size: cover;
 		background-position: center  center;
 		background-position: center  center;
 		background-repeat: no-repeat;
 		background-repeat: no-repeat;
@@ -235,10 +237,11 @@
 		
 		
 		.title {
 		.title {
 			margin: 0 auto;
 			margin: 0 auto;
-			margin-top: 32rpx;
+			margin-top: 60rpx;
 			width: 288rpx;
 			width: 288rpx;
 			height: 47rpx;
 			height: 47rpx;
-			font-size: 36rpx;
+			font-size: 42rpx;
+			font-weight: 700;
 			color: #FFFFFF;
 			color: #FFFFFF;
 			line-height: 47rpx;
 			line-height: 47rpx;
 			text-align: center;
 			text-align: center;

+ 16 - 7
pages/my/login/login.vue

@@ -2,7 +2,8 @@
 	<view class="content">
 	<view class="content">
 		<view class="status_bar"></view>
 		<view class="status_bar"></view>
 		<view class="logo">
 		<view class="logo">
-			<image src="~@/static/logo.png" mode="aspectFit"></image>
+			<!-- <image src="~@/static/logo.png" mode="aspectFit"></image> -->
+			<image src="~@/static/login_logo.png" mode="aspectFit"></image>
 		</view>
 		</view>
 		<view class="title">
 		<view class="title">
 			<text v-if="mine_code == 'ningdongyunying'">E信管理</text>
 			<text v-if="mine_code == 'ningdongyunying'">E信管理</text>
@@ -62,6 +63,8 @@
 			loginBtn() {
 			loginBtn() {
 				const user = this.user
 				const user = this.user
 				uni.setStorageSync('login_password', this.user.password)
 				uni.setStorageSync('login_password', this.user.password)
+				
+				
 				// 判断是否为空
 				// 判断是否为空
 				if (user.username == '' || user.password == '') {
 				if (user.username == '' || user.password == '') {
 					uni.showToast({
 					uni.showToast({
@@ -70,12 +73,16 @@
 					})
 					})
 					return false
 					return false
 				}
 				}
+				
 				this.$api.login({
 				this.$api.login({
 					username: user.username,
 					username: user.username,
 					password: user.password
 					password: user.password
 				}).then((res) => {
 				}).then((res) => {
 					if (res.data.code === 0) {
 					if (res.data.code === 0) {
-
+						
+						// 保存当前用户的登录 工号和密码
+						uni.setStorageSync('login_user', this.user)
+						
 						// console.log(res.data.data.token_type +''+res.data.data.access_token)
 						// console.log(res.data.data.token_type +''+res.data.data.access_token)
 						console.log(res.data.data.user.mobile)
 						console.log(res.data.data.user.mobile)
 
 
@@ -147,9 +154,10 @@
 	page {}
 	page {}
 
 
 	.content {
 	.content {
-		width: 749rpx;
+		width: 750rpx;
 		height: 100vh;
 		height: 100vh;
-		background-image: url(~@/static/login.png);
+		// background-image: url(~@/static/login.png);
+		background-image: url(~@/static/login_bg.jpg);
 		background-size: cover;
 		background-size: cover;
 		background-position: center center;
 		background-position: center center;
 		background-repeat: no-repeat;
 		background-repeat: no-repeat;
@@ -168,17 +176,18 @@
 
 
 		.title {
 		.title {
 			margin: 0 auto;
 			margin: 0 auto;
-			margin-top: 32rpx;
+			margin-top: 60rpx;
 			width: 288rpx;
 			width: 288rpx;
 			height: 47rpx;
 			height: 47rpx;
-			font-size: 36rpx;
+			font-size: 42rpx;
+			font-weight: 700;
 			color: #FFFFFF;
 			color: #FFFFFF;
 			line-height: 47rpx;
 			line-height: 47rpx;
 			text-align: center;
 			text-align: center;
 		}
 		}
 
 
 		.login_box {
 		.login_box {
-			padding-top: 40px;
+			padding-top: 80px;
 
 
 			.item {
 			.item {
 				margin: 0 auto;
 				margin: 0 auto;

+ 3 - 0
pages/my/personal_information/honor/honor.vue

@@ -100,6 +100,9 @@
 					console.log(this.imageName, this.data.path)
 					console.log(this.imageName, this.data.path)
 
 
 					this.data.imageName = this.imageName
 					this.data.imageName = this.imageName
+					
+					console.log(this.honor_list)
+					console.log(this.data)
 
 
 					if (!this.honor_list) {
 					if (!this.honor_list) {
 						this.honor_list = []
 						this.honor_list = []

BIN
pages/my/personal_information/icon/icon_1.png


BIN
pages/my/personal_information/icon/icon_2.png


BIN
pages/my/personal_information/icon/icon_3.png


BIN
pages/my/personal_information/icon/icon_4.png


BIN
pages/my/personal_information/icon/icon_5.png


BIN
pages/my/personal_information/icon/icon_6.png


BIN
pages/my/personal_information/icon/icon_7.png


+ 0 - 23
pages/my/personal_information/personal_information - h5副本.vue

@@ -1,23 +0,0 @@
-<template>
-	<view>
-		<web-view :src="href"></web-view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				href: ""
-
-			};
-		},
-		onLoad(option) {
-			this.href = "http://webdevelop.nxjiewei.com/assets/html/zhks-quankuang/user_info?token=" + uni.getStorageSync('Authorization') + "&mine_code=" + uni.getStorageSync('mine_code') + "&staff_num=" + uni.getStorageSync('user').staff_num
-		}
-	}
-</script>
-
-<style lang="scss">
-
-</style>

+ 5 - 56
pages/my/personal_information/personal_information - 副本.vue

@@ -361,62 +361,11 @@
 				uni.showActionSheet({
 				uni.showActionSheet({
 					itemList: ['更换头像'],
 					itemList: ['更换头像'],
 					success: (res) => {
 					success: (res) => {
-						uni.chooseImage({
-							count: 1,
-							success: (chooseImageRes) => {
-								const tempFilePaths = chooseImageRes.tempFilePaths;
-								console.log(chooseImageRes.tempFiles[0]);
-
-								uni.showLoading({
-									mask: true,
-									title: "上传中..."
-								})
-								
-								uni.uploadFile({
-									url: this.base_url + "/worksheet/design/up_images",
-									header: {
-										'Authorization': uni.getStorageSync('token_type') +' '+uni.getStorageSync('Authorization')
-									},
-									filePath: tempFilePaths[0],
-									name: 'file',
-									// formData只有H5存在
-									formData: {
-										image: chooseImageRes.tempFiles[0]
-									},
-									success: (uploadFileRes) => {
-										
-										console.log(JSON.parse(uploadFileRes.data));
-
-										const data = JSON.parse(uploadFileRes.data).data
-
-										if (!this.info.avatar) {
-											this.info.avatar = data.path
-										} else {
-											this.info.avatar = data.path
-										}
-
-										console.log(this.info.avatar)
-
-										this.$api.user_updateUserMessage({
-											avatar: this.info.avatar
-										}).then((res) => {
-											console.log(res)
-											
-											uni.hideLoading()
-											
-											uni.showToast({
-												icon: "none",
-												title: "更换成功"
-											})
-										})
-										
-										
-									}
-								})
-
-							}
+						console.log("更换头像")
+						
+						uni.navigateTo({
+							url:"./upload_avatar/upload_avatar?base_url=" + this.base_url
 						})
 						})
-
 					},
 					},
 					fail: (res) => {
 					fail: (res) => {
 						console.log(res.errMsg);
 						console.log(res.errMsg);
@@ -449,7 +398,7 @@
 		position: relative;
 		position: relative;
 		background-color: #FFFFFF;
 		background-color: #FFFFFF;
 		width: 750rpx;
 		width: 750rpx;
-		height: 490rpx;
+		min-height: 490rpx;
 
 
 		background-image: url(./icon/top.png);
 		background-image: url(./icon/top.png);
 		background-size: 100% 100%;
 		background-size: 100% 100%;

File diff suppressed because it is too large
+ 466 - 460
pages/my/personal_information/personal_information.vue


BIN
pages/origanization/communication/origanization/icon/bumen.png


+ 55 - 4
pages/origanization/communication/origanization/origanization.vue

@@ -29,8 +29,21 @@
 			</view>
 			</view>
 
 
 			<origanizationSection :data="list" :mine_code="mine_code"></origanizationSection>
 			<origanizationSection :data="list" :mine_code="mine_code"></origanizationSection>
-
+			
 		</view>
 		</view>
+		
+		
+		<view v-if="mine_code == 'ningmeijituan' && page == 'origanization'">
+			<view class="bottom_btn">
+				<view class="item" @click="go_my_department()">
+					<view class="icon">
+						<image src="./icon/bumen.png" mode=""></image>
+					</view>
+					<view class="text">我的部门</view>
+				</view>
+			</view>
+		</view>
+		
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -51,10 +64,17 @@
 				active: 99999999,
 				active: 99999999,
 
 
 				// 人员列表
 				// 人员列表
-				user_list: []
+				user_list: [],
+				
+				
+				// 入口来源
+				page:""
 			};
 			};
 		},
 		},
-		onLoad() {
+		onLoad(option) {
+			setTimeout(()=>{
+				this.page = option.page
+			},2000)
 			// 初始化当前煤矿编码
 			// 初始化当前煤矿编码
 			this.mine_code = uni.getStorageSync('mine_code')
 			this.mine_code = uni.getStorageSync('mine_code')
 
 
@@ -78,7 +98,6 @@
 
 
 				}).then((res) => {
 				}).then((res) => {
 					uni.hideLoading()
 					uni.hideLoading()
-					console.log(res.data.content.data[0].children)
 					if(this.mine_code == 'ningmeijituan'){
 					if(this.mine_code == 'ningmeijituan'){
 						this.list = res.data.content.data[0].children
 						this.list = res.data.content.data[0].children
 					}else{
 					}else{
@@ -116,6 +135,11 @@
 					})
 					})
 				}
 				}
 			},
 			},
+			go_my_department(){
+				uni.navigateTo({
+					url:"./my_department/my_department"
+				})
+			}
 
 
 		}
 		}
 	}
 	}
@@ -181,4 +205,31 @@
 		}
 		}
 
 
 	}
 	}
+	
+	.bottom_btn{
+		margin-top: 50rpx;
+		
+		background-color: #FFFFFF;
+		box-sizing: border-box;
+		padding: 0 50rpx;
+		.item{
+			height: 110rpx;
+			
+			display: flex;
+			align-items: center;
+			
+			border-bottom: 1rpx solid #F3F8F7;
+			
+			.icon{
+				image{
+					width: 36rpx;
+					height: 36rpx;
+				}
+			}
+			.text{
+				margin-left: 20rpx;
+				font-size: 32rpx;
+			}
+		}
+	}
 </style>
 </style>

+ 496 - 0
pages/origanization/communication/origanization/personal_information/personal_information - 个人信息页.vue

@@ -0,0 +1,496 @@
+<template>
+	<view>
+		<view class="top">
+			<view class="avatar" @click="change_avatar(info.avatar)">
+				<image v-if="info.avatar" :src="info.avatar" mode="aspectFill"></image>
+				<view class="avatar" v-if="!info.avatar && !info" :style="{backgroundColor:bgColor[1]}">
+					{{info.name.split('').pop()}}
+				</view>
+			</view>
+			<view class="info">
+				<view class="name">{{info.name}}</view>
+				<view class="box">
+					<view class="item">
+						<view class="label">部门</view>
+						<view class="text">{{info.section_fullname}}</view>
+					</view>
+					<view class="item">
+						<view class="label">职务</view>
+						<view class="text">{{info.duty_num}}</view>
+					</view>
+					<view class="item">
+						<view class="label">员工编号</view>
+						<view class="text">{{info.staff_num}}</view>
+					</view>
+				</view>
+			</view>
+		</view>
+
+		<view class="content">
+			<view class="box">
+				<view class="item" @click="change_active(1)">
+					<view class="text" :style="{color:active == 1?'#333':'#8e8e8e'}">个人信息</view>
+					<view class="line" v-if="active == 1"></view>
+				</view>
+				<view class="item" @click="change_active(2)">
+					<view class="text" :style="{color:active == 2?'#333':'#8e8e8e'}">工作经历</view>
+					<view class="line" v-if="active == 2"></view>
+				</view>
+				<view class="item" @click="change_active(3)">
+					<view class="text" :style="{color:active == 3?'#333':'#8e8e8e'}">荣誉及证书</view>
+					<view class="line" v-if="active == 3"></view>
+				</view>
+			</view>
+
+
+			<!-- 个人信息 -->
+			<view class="list_1" v-if="active == 1">
+				<view class="item" @click="binding_phone()">
+					<view class="label">手机号</view>
+					<view class="text">{{info.mobile}}</view>
+					<view class="right">
+						<!-- <uni-icons type="arrowright"></uni-icons> -->
+					</view>
+				</view>
+				<view class="item" @click="binding_phone()">
+					<view class="label">手写签名</view>
+					<view class="text">
+						<image :src="info.base_img" style="width: 300rpx;height: 120rpx;" mode="aspectFill"></image>
+					</view>
+					<view class="right">
+						<!-- <uni-icons type="arrowright"></uni-icons> -->
+					</view>
+				</view>
+				<view class="item">
+					<view class="label">岗位分类</view>
+					<view class="text">{{info.job_classify}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">岗位</view>
+					<view class="text">{{info.job}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">职级(职务码)</view>
+					<view class="text">{{info.duty_num}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">性别</view>
+					<view class="text" v-if="info.sex == 1">男</view>
+					<view class="text" v-if="info.sex == 0">女</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">初始学历</view>
+					<view class="text">{{info.start_education}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">最高学历</view>
+					<view class="text">{{info.best_education}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">员工组</view>
+					<view class="text">{{info.group}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">员工子组</view>
+					<view class="text">{{info.group_sub}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">籍贯</view>
+					<view class="text">{{info.native}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">宗教信仰</view>
+					<view class="text">{{info.faith}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">户口性质</view>
+					<view class="text">{{info.registered}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">民族</view>
+					<view class="text">{{info.nation}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">出生日期</view>
+					<view class="text">{{info.birthday}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">身份证号</view>
+					<view class="text">{{info.identity_card}}</view>
+					<view class="right"></view>
+				</view>
+
+				<view class="item">
+					<view class="label">参加工作时间</view>
+					<view class="text">{{info.working_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">进入神华系统时间</view>
+					<view class="text">{{info.system_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">进入子分公司时间</view>
+					<view class="text">{{info.system_sub_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">进入本单位时间</view>
+					<view class="text">{{info.section_date}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">政治面貌</view>
+					<view class="text">{{info.politics}}</view>
+					<view class="right"></view>
+				</view>
+				<view class="item">
+					<view class="label">参加党派时间</view>
+					<view class="text">{{info.politics_date}}</view>
+					<view class="right"></view>
+				</view>
+			</view>
+
+			<!-- 工作经历 -->
+			<view class="list_2" v-if="active == 2">
+				<view class="item">
+					<view class="text_1">任职时间</view>
+					<view class="text_2">工作单位</view>
+					<view class="text_3">职务</view>
+				</view>
+				<view class="item" v-for="(item,index) in info.work_experience" :key="index" @click="del_job(index)">
+					<view class="text_1">{{item.range_text}}</view>
+					<view class="text_2">{{item.job_unit}}</view>
+					<view class="text_3">{{item.job_post}}</view>
+				</view>
+
+			</view>
+			<!-- 荣誉及证书 -->
+			<view class="list_3" v-if="active == 3">
+				<view class="item" v-for="(item,index) in info.honor" :key="index"
+					@click="click_image(index,item.path)">
+					<view class="img">
+						<image :src="item.path" mode="aspectFill"></image>
+					</view>
+					<view class="text">{{item.imageName}}</view>
+				</view>
+
+			</view>
+		</view>
+
+
+	</view>
+</template>
+
+<script>
+	export default {
+		data() {
+			return {
+				staff_num: "",
+				active: 1,
+				info: {},
+				// 头像随机色
+				bgColor: [],
+			};
+		},
+		onLoad(option) {
+			// 设置头像
+			for (let i = 0; i < 2; i++) {
+				// 获取随机色
+				let r = parseInt(Math.random() * 256)
+				let g = parseInt(Math.random() * 256)
+				let b = parseInt(Math.random() * 256)
+
+				// ES6 字符串拼接
+				// this.bgColor = `rgba(${r},${g},${b},0.3)`
+				let color = "rgba(" + r + "," + g + "," + b + "," + 0.3 + ")"
+				// console.log(color)
+				this.bgColor.push(color)
+			}
+			this.staff_num = option.staff_num
+			this.get_info()
+		},
+		methods: {
+			change_active(index) {
+				this.active = index
+			},
+			// 获取个人信息
+			get_info() {
+				this.$api.user_getUinfo({
+					staff_num: this.staff_num
+				}).then((res) => {
+					console.log(res)
+					console.log(res.data.data)
+					this.info = res.data.data
+					this.info.work_experience = JSON.parse(res.data.data.work_experience)
+					this.info.honor = JSON.parse(res.data.data.honor)
+				})
+			},
+
+
+			click_image(index, path) {
+				console.log(index, path)
+				uni.showActionSheet({
+					itemList: ['查看'],
+					success: (res) => {
+
+						if (res.tapIndex == 0) {
+							console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
+
+							uni.previewImage({
+								urls: path.split(','),
+							});
+
+						}
+					},
+					fail: (res) => {
+						console.log(res.errMsg);
+					}
+				})
+			},
+
+		}
+	}
+</script>
+
+<style lang="scss">
+	page {
+		background-color: #F5F8F8;
+	}
+
+	.top {
+		position: relative;
+		background-color: #FFFFFF;
+		width: 750rpx;
+		min-height: 490rpx;
+
+		background-image: url(./icon/top.png);
+		background-size: 100% 100%;
+		background-position: 0 -110rpx;
+		background-repeat: no-repeat;
+
+		.avatar {
+			padding-top: 70rpx;
+			text-align: center;
+
+			image {
+				width: 200rpx;
+				height: 200rpx;
+
+				border-radius: 50%;
+			}
+		}
+
+		.info {
+			margin-top: 20rpx;
+
+			.name {
+				text-align: center;
+				font-size: 40rpx;
+				font-weight: 700;
+			}
+
+			.box {
+				margin-top: 30rpx;
+				display: flex;
+				justify-content: space-around;
+
+				.item {
+					width: 250rpx;
+					text-align: center;
+
+					.label {
+						font-size: 30rpx;
+						color: #009FE8;
+						margin-bottom: 10rpx;
+					}
+
+					.text {
+						font-size: 32rpx;
+					}
+				}
+			}
+		}
+
+		.redo {
+			width: 100rpx;
+			height: 100rpx;
+
+			line-height: 100rpx;
+			text-align: center;
+
+
+			position: absolute;
+			top: 0;
+			right: 0;
+		}
+
+		margin-bottom: 20rpx;
+	}
+
+
+	.content {
+		background-color: #FFFFFF;
+
+		.box {
+			display: flex;
+			justify-content: space-around;
+			align-items: center;
+
+			border-bottom: 2rpx solid #F5F8F8;
+
+			.item {
+				height: 95rpx;
+				width: 230rpx;
+				text-align: center;
+
+				position: relative;
+
+				.text {
+					font-size: 34rpx;
+					line-height: 95rpx;
+				}
+
+				.line {
+					margin: -6rpx auto 0;
+					width: 80rpx;
+					height: 6rpx;
+					background-color: #009FE8;
+				}
+			}
+		}
+
+		.list_1 {
+			box-sizing: border-box;
+			padding: 0 50rpx;
+
+			.item {
+				border-bottom: 2rpx solid #F5F8F8;
+				// height: 95rpx;
+				box-sizing: border-box;
+				padding: 30rpx 0;
+				display: flex;
+				// justify-content: space-between;
+				justify-content: space-between;
+				align-items: center;
+				font-size: 32rpx;
+
+				.label {
+					width: 300rpx;
+					text-align: left;
+				}
+
+				.text {
+					width: 300rpx;
+					text-align: left;
+					color: #8e8e8e;
+
+				}
+
+				.right {
+					// width: 100rpx;
+					text-align: right;
+				}
+			}
+
+		}
+
+		.list_2 {
+			box-sizing: border-box;
+			padding: 0 50rpx;
+
+			.item {
+				border-bottom: 2rpx solid #F5F8F8;
+				// height: 95rpx;
+				box-sizing: border-box;
+				padding: 20rpx 0;
+				display: flex;
+				justify-content: space-between;
+				align-items: center;
+				font-size: 28rpx;
+				text-align: center;
+				color: #8e8e8e;
+
+				.text_1 {
+					width: 190rpx;
+				}
+
+				.text_2 {
+					width: 240rpx;
+
+				}
+
+				.text_3 {
+					width: 160rpx;
+				}
+			}
+
+			.item:first-child {
+				font-size: 32rpx;
+				color: #333;
+			}
+
+		}
+
+		.list_3 {
+			box-sizing: border-box;
+			padding: 50rpx;
+
+			overflow: hidden;
+
+			.item {
+				float: left;
+				margin-right: 50rpx;
+				margin-bottom: 30rpx;
+
+				width: 300rpx;
+				text-align: center;
+
+				.img {
+					image {
+						width: 300rpx;
+						height: 180rpx;
+					}
+
+					.add {
+						font-size: 140rpx;
+						color: #DCDCDC;
+						text-align: center;
+						height: 180rpx;
+						line-height: 160rpx;
+						background-color: #EEEEEE;
+					}
+				}
+
+				.text {
+					width: 260rpx;
+					font-size: 30rpx;
+					color: #8e8e8e;
+
+					overflow: hidden;
+					white-space: nowrap;
+					text-overflow: ellipsis;
+
+				}
+			}
+
+			.item:nth-child(2n) {
+				margin-right: 0;
+			}
+		}
+	}
+</style>

+ 0 - 491
pages/origanization/communication/origanization/personal_information/personal_information - 人资培训信息.vue

@@ -1,491 +0,0 @@
-<template>
-	<view>
-		<view class="content" v-if="user_info">
-			<view class="user">
-				<view class="left">
-					<view class="line name">{{user_info.name}}</view>
-					<view class="line">
-						<view class="item">
-							<view class="label">年龄</view>
-							<view class="box">{{user_info.age}}岁</view>
-						</view>
-						<view class="item">
-							<view class="label">性别</view>
-							<view class="box">{{user_info.sex}}</view>
-						</view>
-					</view>
-				</view>
-				<view class="right">
-					<view class="img">
-						<image
-							src="https://cdn.colorhub.me/NjEsLkWKhU8/rs:auto:280:0:0/g:sm/fn:colorhub/bG9jYWw6Ly8vNDUvODgvZTAxZjE5ZmMwYjEzMmRhYzYwMTY3NmFiNGRhNzA5NmQyNmY5NDU4OC5qcGc.jpg"
-							mode="aspectFill"></image>
-					</view>
-				</view>
-			</view>
-			<view class="inner">
-				<view class="line">
-					<view class="item">
-						<view class="label">学历</view>
-						<view class="box">{{user_info.edu_as}}</view>
-					</view>
-					<view class="item">
-						<view class="label">职务/岗位</view>
-						<view class="box">{{user_info.job_as}}</view>
-					</view>
-					<view class="item">
-						<view class="label">职称</view>
-						<view class="box">无</view>
-					</view>
-				</view>
-				<view class="line">
-					<view class="item">
-						<view class="label">技能等级</view>
-						<view class="box">中级工</view>
-					</view>
-					<view class="item">
-						<view class="label">身体状况</view>
-						<view class="box">{{user_info.daltonism}}</view>
-					</view>
-					<view class="item">
-						<view class="label">参加工作时间</view>
-						<view class="box">2004-09-20</view>
-					</view>
-				</view>
-				<view class="line">
-					<view class="item">
-						<view class="label">进入本企业时间</view>
-						<view class="box">2006-01-18</view>
-					</view>
-					<view class="item">
-						<view class="label">所在部门/区队</view>
-						<view class="box">{{user_info.org_name}}</view>
-					</view>
-				</view>
-			</view>
-		</view>
-
-		<view class="tab_content" v-if="user_info">
-			<view class="tab">
-				<!-- <view class="item" v-for="(item,index) in 7" :key="index" @click="tab(index)">
-					<image v-if="index == 0" src="./icon/icon_1.png" mode=""></image>
-					<image v-if="index == 1" src="./icon/icon_2.png" mode=""></image>
-					<image v-if="index == 2" src="./icon/icon_3.png" mode=""></image>
-					<image v-if="index == 3" src="./icon/icon_4.png" mode=""></image>
-					<image v-if="index == 4" src="./icon/icon_5.png" mode=""></image>
-					<image v-if="index == 5" src="./icon/icon_6.png" mode=""></image>
-					<image v-if="index == 6" src="./icon/icon_7.png" mode=""></image>
-				</view> -->
-				<view class="item" :class="active == index? 'active' : ''" v-for="(item,index) in 6" :key="index"
-					@click="tab(index)">
-					<view class="img">
-						<image v-if="index == 0" src="./icon/icon_1.png" mode=""></image>
-						<image v-if="index == 1" src="./icon/icon_2.png" mode=""></image>
-						<image v-if="index == 2" src="./icon/icon_3.png" mode=""></image>
-						<image v-if="index == 3" src="./icon/icon_4.png" mode=""></image>
-						<image v-if="index == 4" src="./icon/icon_5.png" mode=""></image>
-						<image v-if="index == 5" src="./icon/icon_6.png" mode=""></image>
-					</view>
-					<view class="text" v-if="index == 0">培训情况</view>
-					<view class="text" v-if="index == 1">违章记录</view>
-					<view class="text" v-if="index == 2">持证记录</view>
-					<view class="text" v-if="index == 3">考试记录</view>
-					<view class="text" v-if="index == 4">工作简历</view>
-					<view class="text" v-if="index == 5">个人荣誉</view>
-				</view>
-			</view>
-			<view class="content">
-				<view class="list list_1" v-if="active == 0">
-					<view class="item label_box">
-						<view class="label text_1">培训时间</view>
-						<view class="label text_2">培训项目</view>
-						<view class="label text_3">培训地点</view>
-						<view class="label text_4">考核情况</view>
-					</view>
-
-					<view class="item">
-						<view class="text_1">2022/05/05</view>
-						<view class="text_2">煤矿生产安全事故应急救援预案</view>
-						<view class="text_3">综采一队会议室</view>
-						<view class="text_4">98</view>
-					</view>
-				</view>
-				<view class="list list_2" v-if="active == 1">
-					<view class="item label_box">
-						<view class="label text_1">违章日期</view>
-						<view class="label text_2">行为描述</view>
-						<view class="label text_3">风险等级</view>
-						<view class="label text_4">矫正措施</view>
-						<view class="label text_5">负责人签字</view>
-					</view>
-				
-					<view class="item">
-						<view class="text_1">2022/05/05</view>
-						<view class="text_2">煤矿生产安全事故应急救援预案</view>
-						<view class="text_3">一般</view>
-						<view class="text_4">培训矫正</view>
-						<view class="text_5">龙皓晨</view>
-					</view>
-				</view>
-				<view class="list list_3" v-if="active == 2">
-					<view class="item label_box">
-						<view class="label text_1">发证机关</view>
-						<view class="label text_2">证件名称</view>
-						<view class="label text_3">取证日期</view>
-						<view class="label text_4">有效时间至</view>
-					</view>
-				
-					<view class="item">
-						<view class="text_1">综采一队会议室</view>
-						<view class="text_2">煤矿生产安全事故应急救援预案</view>
-						<view class="text_3">2022/05/05</view>
-						<view class="text_4">2022/05/05</view>
-					</view>
-				</view>
-				<view class="list list_4" v-if="active == 3">
-					<view class="item label_box">
-						<view class="label text_1">考试名称</view>
-						<view class="label text_2">考试时间</view>
-						<view class="label text_3">考试限时</view>
-						<view class="label text_4">考试总分</view>
-						<view class="label text_5">考试成绩</view>
-					</view>
-				
-					<view class="item">
-						<view class="text_1">从业人员2022年3月9日煤矿采煤作业人员考试</view>
-						<view class="text_2">2022-03-09</view>
-						<view class="text_3">60分钟</view>
-						<view class="text_4">100分</view>
-						<view class="text_5">98分</view>
-					</view>
-				</view>
-				<view class="list list_5" v-if="active == 4">
-					<view class="item label_box">
-						<view class="label text_1">个人工作简历</view>
-					</view>
-				
-					<view class="item">
-						<view class="text_1">1998-08-15 到 2002-06-01 灵武矿务局磁窑堡煤矿</view>
-					</view>
-				</view>
-			</view>
-		</view>
-	</view>
-</template>
-
-<script>
-	export default {
-		data() {
-			return {
-				active: 0,
-				staff_num:'15003194',
-				user_info:null,
-				list:null
-			};
-		},
-		onLoad() {
-			this.get_examination_get_detail()
-		},
-		methods: {
-			tab(index) {
-				console.log(index)
-				this.active = index
-				
-				this.$api.examination_get_detail({
-					staff_num:this.staff_num,
-					type: index+1
-				}).then((res)=>{
-					console.log(res.data.content.data)
-				})
-			},
-			get_examination_get_detail(){
-				this.$api.examination_get_detail({
-					staff_num:this.staff_num,
-					type:1
-				}).then((res)=>{
-					console.log(res.data.content.data)
-					
-					this.user_info = res.data.content.data.user_info
-				})
-			}
-		}
-	}
-</script>
-
-<style lang="scss">
-	page {
-		background-color: #009fe8;
-
-		box-sizing: border-box;
-		padding: 25rpx;
-	}
-
-	.content {
-		.line {
-			color: #FFFFFF;
-
-			border-bottom: 2rpx dashed #C4EDFF;
-			overflow: hidden;
-
-			box-sizing: border-box;
-			padding: 25rpx 0;
-
-			.item {
-				float: left;
-				margin-right: 5rpx;
-
-				width: 230rpx;
-
-				.label {
-					font-size: 28rpx;
-					opacity: 0.5;
-					margin-bottom: 8rpx;
-				}
-
-				.box {
-					font-size: 30rpx;
-					font-weight: 700;
-
-					white-space: nowrap;
-					// overflow: hidden;
-					// text-overflow: ellipsis;
-				}
-			}
-
-			.item:last-child {
-				margin-right: 0;
-			}
-		}
-
-		.user {
-			display: flex;
-			justify-content: space-between;
-
-			.left {
-				width: 470rpx;
-
-				.name {
-					font-size: 60rpx;
-					font-weight: 700;
-				}
-			}
-
-			.right {
-				width: 200rpx;
-
-				.img {
-					image {
-						width: 200rpx;
-						height: 268rpx;
-					}
-				}
-			}
-		}
-
-	}
-
-	.tab_content {
-		margin: 30rpx 0;
-
-		.tab {
-			margin: 0 auto;
-			width: 660rpx;
-			display: flex;
-			justify-content: space-around;
-			// .item{
-			// 	width: 90rpx;
-			// 	height: 82rpx;
-			// 	background-color: #FFFFFF;
-
-			// 	text-align: center;
-			// 	border-radius: 0 20rpx 0 0;
-			// 	image{
-			// 		margin-top: 20rpx;
-			// 		width: 44rpx;
-			// 		height: 44rpx;
-			// 	}
-			// }
-			.item {
-				width: 110rpx;
-				background-color: #FFFFFF;
-
-				text-align: center;
-				border-radius: 0 20rpx 0 0;
-
-				.img {
-					-webkit-filter: grayscale(100%);
-					/* Chrome, Safari, Opera */
-					filter: grayscale(100%);
-
-					image {
-						margin-top: 20rpx;
-						width: 44rpx;
-						height: 44rpx;
-					}
-				}
-
-				.text {
-					font-size: 24rpx;
-					color: #848484;
-				}
-			}
-
-			.active {
-				.img {
-					-webkit-filter: none;
-					/* Chrome, Safari, Opera */
-					filter: none;
-					image {
-						margin-top: 10rpx;
-						width: 54rpx;
-						height: 54rpx;
-					}
-				}
-
-				.text {
-					color: #009fe8;
-					font-size: 26rpx;
-					font-weight: 700;
-				}
-			}
-		}
-
-		.content {
-			min-height: 400rpx;
-			background-color: #FFFFFF;
-			border-radius: 16rpx;
-
-			padding-top: 20rpx;
-
-			.list{
-				.item {
-					display: flex;
-					justify-content: space-around;
-					align-items: center;
-					text-align: center;
-					height: 120rpx;
-					line-height: 36rpx;
-					font-size: 26rpx;
-
-					border-bottom: 2rpx dashed #DCDCDC;
-
-					.text_1 {
-						width: 130rpx;
-					}
-
-					.text_2 {
-						width: 190rpx;
-					}
-
-					.text_3 {
-						width: 130rpx;
-					}
-
-					.text_4 {
-						width: 130rpx;
-					}
-				}
-
-				.label_box {
-					background-color: #DCDCDC;
-					display: flex;
-					justify-content: space-around;
-					align-items: center;
-					height: 60rpx;
-
-					.label {
-						color: #999999;
-						font-size: 26rpx;
-						font-weight: 700;
-					}
-				}
-			}
-			
-			.list_2 {
-				.item {
-					.text_1 {
-						width: 130rpx;
-					}
-			
-					.text_2 {
-						width: 180rpx;
-					}
-			
-					.text_3 {
-						width: 100rpx;
-					}
-			
-					.text_4 {
-						width: 100rpx;
-					}
-					
-					.text_5 {
-						width: 140rpx;
-					}
-				}
-			
-				.label_box {
-					.label {
-						font-size: 24rpx;
-					}
-				}
-			}
-			.list_3 {
-				.item {
-					.text_1 {
-						width: 160rpx;
-					}
-					
-					.text_2 {
-						width: 180rpx;
-					}
-					
-					.text_3 {
-						width: 130rpx;
-					}
-					
-					.text_4 {
-						width: 130rpx;
-					}
-				}
-			}
-			.list_4 {
-				.item {
-					.text_1 {
-						width: 180rpx;
-					}
-			
-					.text_2 {
-						width: 130rpx;
-					}
-			
-					.text_3 {
-						width: 100rpx;
-					}
-			
-					.text_4 {
-						width: 100rpx;
-					}
-					
-					.text_5 {
-						width: 100rpx;
-					}
-				}
-			
-				.label_box {
-					.label {
-						font-size: 24rpx;
-					}
-				}
-			}
-			.list_5 {
-				.item {
-					.text_1 {
-						width: 700rpx;
-						font-size: 28rpx;
-					}
-				}
-			}
-		}
-	}
-</style>

+ 389 - 390
pages/origanization/communication/origanization/personal_information/personal_information.vue

@@ -1,198 +1,175 @@
 <template>
 <template>
 	<view>
 	<view>
-		<view class="top">
-			<view class="avatar" @click="change_avatar(info.avatar)">
-				<image v-if="info.avatar" :src="info.avatar" mode="aspectFill"></image>
-				<view class="avatar" v-if="!info.avatar && !info" :style="{backgroundColor:bgColor[1]}">
-					{{info.name.split('').pop()}}
+		<view class="content" v-if="user_info">
+			<view class="user">
+				<view class="left">
+					<view class="line name">{{user_info.name}} <text style="font-size: 34rpx;margin-left: 100rpx;">{{staff_num}}</text> </view>
+					<view class="line">
+						<view class="item">
+							<view class="label">年龄</view>
+							<view class="box">{{user_info.age}}岁</view>
+						</view>
+						<view class="item">
+							<view class="label">性别</view>
+							<view class="box">{{user_info.sex}}</view>
+						</view>
+					</view>
+				</view>
+				<view class="right">
+					<view class="img">
+						<image
+							:src="user_info.photo_pic"
+							mode="aspectFill"></image>
+					</view>
 				</view>
 				</view>
 			</view>
 			</view>
-			<view class="info">
-				<view class="name">{{info.name}}</view>
-				<view class="box">
+			<view class="inner">
+				<view class="line">
+					<view class="item">
+						<view class="label">学历</view>
+						<view class="box">{{user_info.edu_as}}</view>
+					</view>
+					<view class="item">
+						<view class="label">职务/岗位</view>
+						<view class="box">{{user_info.job_as}}</view>
+					</view>
+					<!-- <view class="item">
+						<view class="label">职称</view>
+						<view class="box">无</view>
+					</view> -->
+				</view>
+				<view class="line">
+					<view class="item">
+						<view class="label">技能等级</view>
+						<view class="box">{{user_info.jnjdclass}}</view>
+					</view>
+					<view class="item">
+						<view class="label">身体状况</view>
+						<view class="box">{{user_info.daltonism}}</view>
+					</view>
 					<view class="item">
 					<view class="item">
-						<view class="label">部门</view>
-						<view class="text">{{info.section_fullname}}</view>
+						<view class="label">参加工作时间</view>
+						<view class="box">{{user_info.attend_work_time}}</view>
 					</view>
 					</view>
+				</view>
+				<view class="line">
 					<view class="item">
 					<view class="item">
-						<view class="label">职务</view>
-						<view class="text">{{info.duty_num}}</view>
+						<view class="label">进入本企业时间</view>
+						<view class="box">{{user_info.access_sh_time}}</view>
 					</view>
 					</view>
 					<view class="item">
 					<view class="item">
-						<view class="label">员工编号</view>
-						<view class="text">{{info.staff_num}}</view>
+						<view class="label">所在部门/区队</view>
+						<view class="box">{{user_info.org_name}}</view>
 					</view>
 					</view>
 				</view>
 				</view>
 			</view>
 			</view>
 		</view>
 		</view>
 
 
-		<view class="content">
-			<view class="box">
-				<view class="item" @click="change_active(1)">
-					<view class="text" :style="{color:active == 1?'#333':'#8e8e8e'}">个人信息</view>
-					<view class="line" v-if="active == 1"></view>
-				</view>
-				<view class="item" @click="change_active(2)">
-					<view class="text" :style="{color:active == 2?'#333':'#8e8e8e'}">工作经历</view>
-					<view class="line" v-if="active == 2"></view>
-				</view>
-				<view class="item" @click="change_active(3)">
-					<view class="text" :style="{color:active == 3?'#333':'#8e8e8e'}">荣誉及证书</view>
-					<view class="line" v-if="active == 3"></view>
+		<view class="tab_content" v-if="user_info">
+			<view class="tab">
+				<!-- <view class="item" v-for="(item,index) in 7" :key="index" @click="tab(index)">
+					<image v-if="index == 0" src="./icon/icon_1.png" mode=""></image>
+					<image v-if="index == 1" src="./icon/icon_2.png" mode=""></image>
+					<image v-if="index == 2" src="./icon/icon_3.png" mode=""></image>
+					<image v-if="index == 3" src="./icon/icon_4.png" mode=""></image>
+					<image v-if="index == 4" src="./icon/icon_5.png" mode=""></image>
+					<image v-if="index == 5" src="./icon/icon_6.png" mode=""></image>
+					<image v-if="index == 6" src="./icon/icon_7.png" mode=""></image>
+				</view> -->
+				<view class="item" :class="active == index? 'active' : ''" v-for="(item,index) in 5" :key="index"
+					@click="tab(index)">
+					<view class="img">
+						<image v-if="index == 0" src="./icon/icon_1.png" mode=""></image>
+						<image v-if="index == 1" src="./icon/icon_2.png" mode=""></image>
+						<image v-if="index == 2" src="./icon/icon_3.png" mode=""></image>
+						<image v-if="index == 3" src="./icon/icon_4.png" mode=""></image>
+						<image v-if="index == 4" src="./icon/icon_5.png" mode=""></image>
+						<image v-if="index == 5" src="./icon/icon_6.png" mode=""></image>
+					</view>
+					<view class="text" v-if="index == 0">培训情况</view>
+					<view class="text" v-if="index == 1">违章记录</view>
+					<view class="text" v-if="index == 2">持证记录</view>
+					<view class="text" v-if="index == 3">考试记录</view>
+					<view class="text" v-if="index == 4">工作简历</view>
+					<view class="text" v-if="index == 5">个人荣誉</view>
 				</view>
 				</view>
 			</view>
 			</view>
+			<view class="content">
+				<view class="list list_1" v-if="active == 0">
+					<view class="item label_box">
+						<view class="label text_1">培训时间</view>
+						<view class="label text_2">培训项目</view>
+						<view class="label text_3">培训地点</view>
+						<view class="label text_4">考核情况</view>
+					</view>
 
 
-
-			<!-- 个人信息 -->
-			<view class="list_1" v-if="active == 1">
-				<view class="item" @click="binding_phone()">
-					<view class="label">手机号</view>
-					<view class="text">{{info.mobile}}</view>
-					<view class="right">
-						<!-- <uni-icons type="arrowright"></uni-icons> -->
+					<view class="item" v-for="(item,index) in list" :key="index">
+						<view class="text_1">{{item.start_time}}</view>
+						<view class="text_2">{{item.px_project_name}}</view>
+						<view class="text_3">{{item.px_address}}</view>
+						<view class="text_4">{{item.score}}</view>
 					</view>
 					</view>
 				</view>
 				</view>
-				<view class="item" @click="binding_phone()">
-					<view class="label">手写签名</view>
-					<view class="text">
-						<image :src="info.base_img" style="width: 300rpx;height: 120rpx;" mode="aspectFill"></image>
+				<view class="list list_2" v-if="active == 1">
+					<view class="item label_box">
+						<view class="label text_1">违章日期</view>
+						<view class="label text_2">行为描述</view>
+						<view class="label text_3">风险等级</view>
+						<view class="label text_4">矫正措施</view>
+						<view class="label text_5">负责人签字</view>
 					</view>
 					</view>
-					<view class="right">
-						<!-- <uni-icons type="arrowright"></uni-icons> -->
+				
+					<view class="item" v-for="(item,index) in list" :key="index">
+						<view class="text_1">{{item.unsafe_time}}</view>
+						<view class="text_2">{{item.context}}</view>
+						<view class="text_3">{{item.level_name}}</view>
+						<view class="text_4">{{item.safe_method}}</view>
+						<view class="text_5">{{item.resp_user}}</view>
 					</view>
 					</view>
 				</view>
 				</view>
-				<view class="item">
-					<view class="label">岗位分类</view>
-					<view class="text">{{info.job_classify}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">岗位</view>
-					<view class="text">{{info.job}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">职级(职务码)</view>
-					<view class="text">{{info.duty_num}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">性别</view>
-					<view class="text" v-if="info.sex == 1">男</view>
-					<view class="text" v-if="info.sex == 0">女</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">初始学历</view>
-					<view class="text">{{info.start_education}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">最高学历</view>
-					<view class="text">{{info.best_education}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">员工组</view>
-					<view class="text">{{info.group}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">员工子组</view>
-					<view class="text">{{info.group_sub}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">籍贯</view>
-					<view class="text">{{info.native}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">宗教信仰</view>
-					<view class="text">{{info.faith}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">户口性质</view>
-					<view class="text">{{info.registered}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">民族</view>
-					<view class="text">{{info.nation}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">出生日期</view>
-					<view class="text">{{info.birthday}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">身份证号</view>
-					<view class="text">{{info.identity_card}}</view>
-					<view class="right"></view>
-				</view>
-
-				<view class="item">
-					<view class="label">参加工作时间</view>
-					<view class="text">{{info.working_date}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">进入神华系统时间</view>
-					<view class="text">{{info.system_date}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">进入子分公司时间</view>
-					<view class="text">{{info.system_sub_date}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">进入本单位时间</view>
-					<view class="text">{{info.section_date}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">政治面貌</view>
-					<view class="text">{{info.politics}}</view>
-					<view class="right"></view>
-				</view>
-				<view class="item">
-					<view class="label">参加党派时间</view>
-					<view class="text">{{info.politics_date}}</view>
-					<view class="right"></view>
-				</view>
-			</view>
-
-			<!-- 工作经历 -->
-			<view class="list_2" v-if="active == 2">
-				<view class="item">
-					<view class="text_1">任职时间</view>
-					<view class="text_2">工作单位</view>
-					<view class="text_3">职务</view>
+				<view class="list list_3" v-if="active == 2">
+					<view class="item label_box">
+						<view class="label text_1">发证机关</view>
+						<view class="label text_2">证件名称</view>
+						<view class="label text_3">取证日期</view>
+						<view class="label text_4">有效时间至</view>
+					</view>
+				
+					<view class="item" v-for="(item,index) in list" :key="index">
+						<view class="text_1">{{item.organzation}}</view>
+						<view class="text_2">{{item.name}}</view>
+						<view class="text_3">{{item.gain_time}}</view>
+						<view class="text_4">{{item.end_time}}</view>
+					</view>
 				</view>
 				</view>
-				<view class="item" v-for="(item,index) in info.work_experience" :key="index" @click="del_job(index)">
-					<view class="text_1">{{item.range_text}}</view>
-					<view class="text_2">{{item.job_unit}}</view>
-					<view class="text_3">{{item.job_post}}</view>
+				<view class="list list_4" v-if="active == 3">
+					<view class="item label_box">
+						<view class="label text_1">考试名称</view>
+						<view class="label text_2">考试时间</view>
+						<view class="label text_3">考试限时</view>
+						<view class="label text_4">考试总分</view>
+						<view class="label text_5">考试成绩</view>
+					</view>
+				
+					<view class="item" v-for="(item,index) in list" :key="index">
+						<view class="text_1">{{item.name}}</view>
+						<view class="text_2">{{item.exam_time}}</view>
+						<view class="text_3">{{item.time}}</view>
+						<view class="text_4">{{item.total_score}}分</view>
+						<view class="text_5">{{item.score}}分</view>
+					</view>
 				</view>
 				</view>
-
-			</view>
-			<!-- 荣誉及证书 -->
-			<view class="list_3" v-if="active == 3">
-				<view class="item" v-for="(item,index) in info.honor" :key="index"
-					@click="click_image(index,item.path)">
-					<view class="img">
-						<image :src="item.path" mode="aspectFill"></image>
+				<view class="list list_5" v-if="active == 4">
+					<view class="item label_box">
+						<view class="label text_1">个人工作简历</view>
+					</view>
+				
+					<view class="item" v-for="(item,index) in list" :key="index">
+						<view class="text_1">{{item.begda}} 到 {{item.endda}} {{item.works}}</view>
 					</view>
 					</view>
-					<view class="text">{{item.imageName}}</view>
 				</view>
 				</view>
-
 			</view>
 			</view>
 		</view>
 		</view>
-
-
 	</view>
 	</view>
 </template>
 </template>
 
 
@@ -200,296 +177,318 @@
 	export default {
 	export default {
 		data() {
 		data() {
 			return {
 			return {
-				staff_num: "",
-				active: 1,
-				info: {},
-				// 头像随机色
-				bgColor: [],
+				active: 0,
+				staff_num:'',
+				user_info:null,
+				list:null,
+				
+				list_1:[],
+				list_4:[]
 			};
 			};
 		},
 		},
 		onLoad(option) {
 		onLoad(option) {
-			// 设置头像
-			for (let i = 0; i < 2; i++) {
-				// 获取随机色
-				let r = parseInt(Math.random() * 256)
-				let g = parseInt(Math.random() * 256)
-				let b = parseInt(Math.random() * 256)
-
-				// ES6 字符串拼接
-				// this.bgColor = `rgba(${r},${g},${b},0.3)`
-				let color = "rgba(" + r + "," + g + "," + b + "," + 0.3 + ")"
-				// console.log(color)
-				this.bgColor.push(color)
-			}
 			this.staff_num = option.staff_num
 			this.staff_num = option.staff_num
-			this.get_info()
+			this.get_examination_get_detail()
 		},
 		},
 		methods: {
 		methods: {
-			change_active(index) {
+			tab(index) {
+				console.log(index+1)
+				this.list = []
 				this.active = index
 				this.active = index
-			},
-			// 获取个人信息
-			get_info() {
-				this.$api.user_getUinfo({
-					staff_num: this.staff_num
-				}).then((res) => {
-					console.log(res)
-					console.log(res.data.data)
-					this.info = res.data.data
-					this.info.work_experience = JSON.parse(res.data.data.work_experience)
-					this.info.honor = JSON.parse(res.data.data.honor)
+				
+				this.$api.examination_get_detail({
+					staff_num:this.staff_num,
+					type: index+1
+				}).then((res)=>{
+					console.log(res.data.content.data)
+					
+					this.list = res.data.content.data.list
 				})
 				})
 			},
 			},
-
-
-			click_image(index, path) {
-				console.log(index, path)
-				uni.showActionSheet({
-					itemList: ['查看'],
-					success: (res) => {
-
-						if (res.tapIndex == 0) {
-							console.log('选中了第' + (res.tapIndex + 1) + '个按钮');
-
-							uni.previewImage({
-								urls: path.split(','),
-							});
-
-						}
-					},
-					fail: (res) => {
-						console.log(res.errMsg);
-					}
+			get_examination_get_detail(){
+				this.$api.examination_get_detail({
+					staff_num:this.staff_num,
+					type:1
+				}).then((res)=>{
+					console.log(res.data.content.data)
+					
+					this.user_info = res.data.content.data.user_info
+					this.list = res.data.content.data.list
 				})
 				})
-			},
-
+			}
 		}
 		}
 	}
 	}
 </script>
 </script>
 
 
 <style lang="scss">
 <style lang="scss">
-	page {
-		background-color: #F5F8F8;
-	}
+	.content {
+		background-color: #009fe8;
+		box-sizing: border-box;
+		padding: 25rpx;
+		.line {
+			color: #FFFFFF;
 
 
-	.top {
-		position: relative;
-		background-color: #FFFFFF;
-		width: 750rpx;
-		min-height: 490rpx;
+			border-bottom: 2rpx dashed #C4EDFF;
+			overflow: hidden;
 
 
-		background-image: url(./icon/top.png);
-		background-size: 100% 100%;
-		background-position: 0 -110rpx;
-		background-repeat: no-repeat;
+			box-sizing: border-box;
+			padding: 20rpx 0;
 
 
-		.avatar {
-			padding-top: 70rpx;
-			text-align: center;
+			.item {
+				float: left;
+				margin-right: 5rpx;
 
 
-			image {
-				width: 200rpx;
-				height: 200rpx;
+				width: 230rpx;
 
 
-				border-radius: 50%;
-			}
-		}
+				.label {
+					font-size: 28rpx;
+					opacity: 0.9;
+					margin-bottom: 8rpx;
+				}
 
 
-		.info {
-			margin-top: 20rpx;
+				.box {
+					font-size: 30rpx;
+					font-weight: 700;
 
 
-			.name {
-				text-align: center;
-				font-size: 40rpx;
-				font-weight: 700;
+					white-space: nowrap;
+					// overflow: hidden;
+					// text-overflow: ellipsis;
+				}
 			}
 			}
 
 
-			.box {
-				margin-top: 30rpx;
-				display: flex;
-				justify-content: space-around;
+			.item:last-child {
+				margin-right: 0;
+			}
+		}
 
 
-				.item {
-					width: 250rpx;
-					text-align: center;
+		.user {
+			display: flex;
+			justify-content: space-between;
 
 
-					.label {
-						font-size: 30rpx;
-						color: #009FE8;
-						margin-bottom: 10rpx;
-					}
+			.left {
+				width: 470rpx;
 
 
-					.text {
-						font-size: 32rpx;
-					}
+				.name {
+					font-size: 60rpx;
+					font-weight: 700;
 				}
 				}
 			}
 			}
-		}
-
-		.redo {
-			width: 100rpx;
-			height: 100rpx;
-
-			line-height: 100rpx;
-			text-align: center;
 
 
+			.right {
+				width: 200rpx;
 
 
-			position: absolute;
-			top: 0;
-			right: 0;
+				.img {
+					image {
+						width: 200rpx;
+						height: 250rpx;
+					}
+				}
+			}
 		}
 		}
 
 
-		margin-bottom: 20rpx;
 	}
 	}
 
 
-
-	.content {
-		background-color: #FFFFFF;
-
-		.box {
+	.tab_content {
+		padding-top: 20rpx;
+		background-color: #009fe8;
+		.tab {
+			margin: 0 auto;
+			width: 590rpx;
 			display: flex;
 			display: flex;
 			justify-content: space-around;
 			justify-content: space-around;
-			align-items: center;
-
-			border-bottom: 2rpx solid #F5F8F8;
-
+			// .item{
+			// 	width: 90rpx;
+			// 	height: 82rpx;
+			// 	background-color: #FFFFFF;
+
+			// 	text-align: center;
+			// 	border-radius: 0 20rpx 0 0;
+			// 	image{
+			// 		margin-top: 20rpx;
+			// 		width: 44rpx;
+			// 		height: 44rpx;
+			// 	}
+			// }
 			.item {
 			.item {
-				height: 95rpx;
-				width: 230rpx;
+				width: 116rpx;
+				background-color: #FFFFFF;
+
 				text-align: center;
 				text-align: center;
+				border-radius: 0 20rpx 0 0;
 
 
-				position: relative;
+				.img {
+					-webkit-filter: grayscale(100%);
+					/* Chrome, Safari, Opera */
+					filter: grayscale(100%);
 
 
-				.text {
-					font-size: 34rpx;
-					line-height: 95rpx;
+					image {
+						margin-top: 20rpx;
+						width: 44rpx;
+						height: 44rpx;
+					}
 				}
 				}
 
 
-				.line {
-					margin: -6rpx auto 0;
-					width: 80rpx;
-					height: 6rpx;
-					background-color: #009FE8;
+				.text {
+					font-size: 24rpx;
+					color: #848484;
 				}
 				}
 			}
 			}
-		}
-
-		.list_1 {
-			box-sizing: border-box;
-			padding: 0 50rpx;
-
-			.item {
-				border-bottom: 2rpx solid #F5F8F8;
-				// height: 95rpx;
-				box-sizing: border-box;
-				padding: 30rpx 0;
-				display: flex;
-				// justify-content: space-between;
-				justify-content: space-between;
-				align-items: center;
-				font-size: 32rpx;
 
 
-				.label {
-					width: 300rpx;
-					text-align: left;
+			.active {
+				.img {
+					-webkit-filter: none;
+					/* Chrome, Safari, Opera */
+					filter: none;
+					image {
+						margin-top: 10rpx;
+						width: 54rpx;
+						height: 54rpx;
+					}
 				}
 				}
 
 
 				.text {
 				.text {
-					width: 300rpx;
-					text-align: left;
-					color: #8e8e8e;
-
-				}
-
-				.right {
-					// width: 100rpx;
-					text-align: right;
+					color: #009fe8;
+					font-size: 26rpx;
+					font-weight: 700;
 				}
 				}
 			}
 			}
-
 		}
 		}
 
 
-		.list_2 {
-			box-sizing: border-box;
-			padding: 0 50rpx;
-
-			.item {
-				border-bottom: 2rpx solid #F5F8F8;
-				// height: 95rpx;
-				box-sizing: border-box;
-				padding: 20rpx 0;
-				display: flex;
-				justify-content: space-between;
-				align-items: center;
-				font-size: 28rpx;
-				text-align: center;
-				color: #8e8e8e;
-
-				.text_1 {
-					width: 190rpx;
-				}
-
-				.text_2 {
-					width: 240rpx;
+		.content {
+			padding: 0;
+			background-color: #FFFFFF;
+			border-radius: 16rpx 16rpx 0 0;
 
 
-				}
-
-				.text_3 {
-					width: 160rpx;
-				}
-			}
-
-			.item:first-child {
-				font-size: 32rpx;
-				color: #333;
-			}
+			padding-top: 20rpx;
 
 
-		}
-
-		.list_3 {
-			box-sizing: border-box;
-			padding: 50rpx;
+			.list{
+				.item {
+					display: flex;
+					justify-content: space-around;
+					align-items: center;
+					text-align: center;
+					padding: 20rpx 0;
+					line-height: 36rpx;
+					font-size: 26rpx;
 
 
-			overflow: hidden;
+					border-bottom: 2rpx dashed #DCDCDC;
 
 
-			.item {
-				float: left;
-				margin-right: 50rpx;
-				margin-bottom: 30rpx;
+					.text_1 {
+						width: 130rpx;
+					}
 
 
-				width: 300rpx;
-				text-align: center;
+					.text_2 {
+						width: 190rpx;
+					}
 
 
-				.img {
-					image {
-						width: 300rpx;
-						height: 180rpx;
+					.text_3 {
+						width: 130rpx;
 					}
 					}
 
 
-					.add {
-						font-size: 140rpx;
-						color: #DCDCDC;
-						text-align: center;
-						height: 180rpx;
-						line-height: 160rpx;
-						background-color: #EEEEEE;
+					.text_4 {
+						width: 130rpx;
 					}
 					}
 				}
 				}
 
 
-				.text {
-					width: 260rpx;
-					font-size: 30rpx;
-					color: #8e8e8e;
-
-					overflow: hidden;
-					white-space: nowrap;
-					text-overflow: ellipsis;
+				.label_box {
+					background-color: #DCDCDC;
+					display: flex;
+					justify-content: space-around;
+					align-items: center;
+					height: 60rpx;
 
 
+					.label {
+						color: #999999;
+						font-size: 26rpx;
+						font-weight: 700;
+					}
 				}
 				}
 			}
 			}
-
-			.item:nth-child(2n) {
-				margin-right: 0;
+			
+			.list_2 {
+				.item {
+					.text_1 {
+						width: 130rpx;
+					}
+			
+					.text_2 {
+						width: 180rpx;
+					}
+			
+					.text_3 {
+						width: 100rpx;
+					}
+			
+					.text_4 {
+						width: 100rpx;
+					}
+					
+					.text_5 {
+						width: 140rpx;
+					}
+				}
+			
+				.label_box {
+					.label {
+						font-size: 24rpx;
+					}
+				}
+			}
+			.list_3 {
+				.item {
+					.text_1 {
+						width: 160rpx;
+					}
+					
+					.text_2 {
+						width: 180rpx;
+					}
+					
+					.text_3 {
+						width: 130rpx;
+					}
+					
+					.text_4 {
+						width: 130rpx;
+					}
+				}
+			}
+			.list_4 {
+				.item {
+					.text_1 {
+						width: 180rpx;
+					}
+			
+					.text_2 {
+						width: 130rpx;
+					}
+			
+					.text_3 {
+						width: 100rpx;
+					}
+			
+					.text_4 {
+						width: 100rpx;
+					}
+					
+					.text_5 {
+						width: 100rpx;
+					}
+				}
+			
+				.label_box {
+					.label {
+						font-size: 24rpx;
+					}
+				}
+			}
+			.list_5 {
+				.item {
+					.text_1 {
+						width: 700rpx;
+						font-size: 28rpx;
+					}
+				}
 			}
 			}
 		}
 		}
 	}
 	}

+ 13 - 5
pages/production/video_monitor_app/video-block/video-block.vue

@@ -6,7 +6,8 @@
 					<image v-if="item.cover_picture" :src="item.cover_picture" mode="aspectFill"></image>
 					<image v-if="item.cover_picture" :src="item.cover_picture" mode="aspectFill"></image>
 					<image v-else src="./icon/default.jpg" mode="aspectFill"></image>
 					<image v-else src="./icon/default.jpg" mode="aspectFill"></image>
 					<view class="tip" v-if="item.camera_status == 1">在线</view>
 					<view class="tip" v-if="item.camera_status == 1">在线</view>
-					<view class="tip" v-if="item.camera_status == 2" style="background-color: #f30220;">不在线</view>
+					<view class="tip" v-if="item.camera_status == 2" style="background-color: #f30220;">离线</view>
+					<view class="tip" v-if="item.camera_status == 3" style="background-color: #f30220;">异常</view>
 				</view>
 				</view>
 				<view class="name">
 				<view class="name">
 					<view class="text">{{item.camera_name}}</view>
 					<view class="text">{{item.camera_name}}</view>
@@ -47,7 +48,10 @@
 
 
 				base_url: "",
 				base_url: "",
 				// 视频流方式
 				// 视频流方式
-				url: ""
+				url: "",
+				
+				mine_id:"",
+				parent_id:""
 			};
 			};
 		},
 		},
 		onLoad(option) {
 		onLoad(option) {
@@ -72,10 +76,14 @@
 				this.url = "/camera/get_hik_rtsp"
 				this.url = "/camera/get_hik_rtsp"
 			}
 			}
 
 
-			this.get_camera(option.mine_id, option.parent_id)
+			this.mine_id = option.mine_id
+			this.parent_id = option.parent_id
+		},
+		onShow() {
+			this.get_camera()
 		},
 		},
 		methods: {
 		methods: {
-			get_camera(mine_id, parent_id) {
+			get_camera() {
 				uni.request({
 				uni.request({
 					method: "POST",
 					method: "POST",
 					header: {
 					header: {
@@ -85,7 +93,7 @@
 						"Access-Control-Max-Age": "86400",
 						"Access-Control-Max-Age": "86400",
 						"Authorization": uni.getStorageSync('video_type') + ' ' + uni.getStorageSync('video_token')
 						"Authorization": uni.getStorageSync('video_type') + ' ' + uni.getStorageSync('video_token')
 					},
 					},
-					url: this.base_url + "/camera/getlist?mine_id=" + mine_id + "&parent_id=" + parent_id,
+					url: this.base_url + "/camera/getlist?mine_id=" + this.mine_id + "&parent_id=" + this.parent_id,
 					// 内网
 					// 内网
 					// url: "http://n.video.nxjiewei.com:8011/api/camera/getlist?mine_id=" + mine_id + "&parent_id=" + parent_id,
 					// url: "http://n.video.nxjiewei.com:8011/api/camera/getlist?mine_id=" + mine_id + "&parent_id=" + parent_id,
 					success: res => {
 					success: res => {

pages/tabbar/index/index - 宁煤及全矿适配.vue → pages/tabbar/index/index - 全矿适配版本.vue


+ 136 - 26
pages/tabbar/index/index.vue

@@ -7,10 +7,16 @@
 			<view class="status_bar"></view>
 			<view class="status_bar"></view>
 			<!-- 查询 -->
 			<!-- 查询 -->
 			<view class="search" @click="go_search()">
 			<view class="search" @click="go_search()">
-				<view class="icon">
-					<image src="./icon/search.png" mode=""></image>
+				<view class="left">
+					<view class="icon">
+						<image src="./icon/search.png" mode=""></image>
+					</view>
+					<view class="text">查询</view>
+				</view>
+
+				<view @click.stop="scan()">
+					<uni-icons type="scan" color="#fff"></uni-icons>
 				</view>
 				</view>
-				<view class="text">查询</view>
 			</view>
 			</view>
 
 
 			<!-- 日期天气 -->
 			<!-- 日期天气 -->
@@ -22,10 +28,13 @@
 			</view>
 			</view>
 
 
 			<!-- 值班 -->
 			<!-- 值班 -->
-			<view class="notice">
+			<view class="notice" @click="go_duty_information()">
 				{{text}}
 				{{text}}
 			</view>
 			</view>
 
 
+			<!-- 开屏通告 -->
+			<openingNotice></openingNotice>
+
 
 
 			<view v-for="(item,index) in common" :key="index">
 			<view v-for="(item,index) in common" :key="index">
 				<view class="fixed_system" v-if="item.type_name == '七大板块' && item.index == index">
 				<view class="fixed_system" v-if="item.type_name == '七大板块' && item.index == index">
@@ -194,7 +203,8 @@
 	} from '@/common/common.js'
 	} from '@/common/common.js'
 	import time from "@/common/time.js"
 	import time from "@/common/time.js"
 	import {
 	import {
-		getCurrentDate,diffTime
+		getCurrentDate,
+		diffTime
 	} from '@/common/time.js'
 	} from '@/common/time.js'
 	// 版本控制
 	// 版本控制
 	import upApp from "@/uni_modules/uni-upgrade-center-app/utils/check-update"
 	import upApp from "@/uni_modules/uni-upgrade-center-app/utils/check-update"
@@ -305,6 +315,37 @@
 			}
 			}
 		},
 		},
 		methods: {
 		methods: {
+			scan() {
+				// 只允许通过相机扫码
+				uni.scanCode({
+					onlyFromCamera: true,
+					success: (res) => {
+						console.log('条码类型:' + res.scanType);
+						console.log('条码内容:' + res.result);
+
+						let pageId = ""
+
+						function GetQueryString(name) {
+							var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)");
+							var r = res.result.match(reg);
+							if (r != null) return unescape(r[2]);
+							return null;
+						}
+						console.log(GetQueryString("pageId"))
+						if (GetQueryString("pageId")) {
+							pageId = GetQueryString("pageId")
+						} else {
+							pageId = res.result.split('=')[1]
+						}
+
+
+						uni.navigateTo({
+							url: "../../index/record/record?pageId=" + pageId + "&mine_code=" + this
+								.mine_code,
+						})
+					}
+				})
+			},
 			maskClick() {
 			maskClick() {
 				this.password = ""
 				this.password = ""
 			},
 			},
@@ -403,20 +444,77 @@
 				this.$api.worksheet_classify_list({
 				this.$api.worksheet_classify_list({
 
 
 				}).then((res) => {
 				}).then((res) => {
-					// console.log(res)
 					if (res.data.code == 401) {
 					if (res.data.code == 401) {
-						uni.showToast({
-							icon: "none",
-							title: "登录失效、请重新登录"
-						})
-
-						uni.clearStorageSync('Authorization');
 
 
-						setTimeout(function() {
-							uni.redirectTo({
-								url: "../../my/login/login"
+						uni.removeStorageSync('ningmei_token');
+						uni.removeStorageSync('Authorization');
+
+						const user = uni.getStorageSync('login_user')
+
+						if (user) {
+							this.$api.login({
+								username: user.username,
+								password: user.password
+							}).then((res) => {
+								if (res.data.code === 0) {
+
+									// 保存当前用户的登录 工号和密码
+									uni.setStorageSync('login_user', user)
+									uni.setStorageSync('Authorization', res.data.data.access_token)
+									uni.setStorageSync('token_type', res.data.data.token_type)
+									// 存储用户基本信息
+									uni.setStorageSync('user', res.data.data.user);
+									uni.setStorageSync('people_code', res.data.data.user.people_code);
+									// 存储电话号码
+									uni.setStorageSync('mobile', res.data.data.user.mobile);
+
+									// 清除信息平台的登录历史token
+									uni.setStorageSync('ningmei_token', ' ')
+									// 登录成功跳转首页
+									uni.switchTab({
+										url: "../../tabbar/index/index",
+										success: () => {
+											//#ifdef H5
+											window.location.reload();
+											//#endif
+										}
+									})
+
+									// #ifdef APP-PLUS
+									plus.runtime.restart();
+									// #endif
+
+								} else if (res.data.code === 1001) {
+									uni.showToast({
+										icon: "none",
+										title: "用户不存在"
+									})
+								} else if (res.data.code === 1002) {
+									uni.showToast({
+										icon: "none",
+										title: "密码错误"
+									})
+								} else {
+									return false
+								}
+							}).catch((err) => {
+								console.log('request fail', err);
+								uni.showToast({
+									icon: "none",
+									title: err
+								})
+							})
+						} else {
+							uni.showToast({
+								icon: "none",
+								title: "登录失效、请重新登录"
 							})
 							})
-						}, 1500)
+							setTimeout(function() {
+								uni.redirectTo({
+									url: "../../my/login/login"
+								})
+							}, 1500)
+						}
 					} else {
 					} else {
 						// console.log(res)
 						// console.log(res)
 					}
 					}
@@ -583,6 +681,11 @@
 				uni.navigateTo({
 				uni.navigateTo({
 					url: "../../index/news/news_list/news_list?mine_code=ningmeijituan"
 					url: "../../index/news/news_list/news_list?mine_code=ningmeijituan"
 				})
 				})
+			},
+			go_duty_information() {
+				uni.navigateTo({
+					url: "../../workbench/duty_information/duty_information"
+				})
 			}
 			}
 		}
 		}
 
 
@@ -632,22 +735,29 @@
 		border-radius: 30rpx;
 		border-radius: 30rpx;
 		opacity: 0.5;
 		opacity: 0.5;
 
 
+
+		padding: 0 30rpx;
 		display: flex;
 		display: flex;
+		justify-content: space-between;
 		align-items: center;
 		align-items: center;
-		padding: 0 30rpx;
 
 
-		.icon {
-			margin-right: 10rpx;
+		.left {
+			display: flex;
+			align-items: center;
 
 
-			image {
-				width: 35rpx;
-				height: 27rpx;
+			.icon {
+				margin-right: 10rpx;
+
+				image {
+					width: 35rpx;
+					height: 27rpx;
+				}
 			}
 			}
-		}
 
 
-		.text {
-			color: #DDF4FF;
-			font-size: 27rpx;
+			.text {
+				color: #DDF4FF;
+				font-size: 27rpx;
+			}
 		}
 		}
 	}
 	}
 
 

+ 17 - 15
pages/tabbar/my/my.vue

@@ -211,20 +211,20 @@
 			// 初始化当前煤矿编码
 			// 初始化当前煤矿编码
 			this.mine_code = uni.getStorageSync('mine_code')
 			this.mine_code = uni.getStorageSync('mine_code')
 			// 判断会否登录、没有则跳转至登录页
 			// 判断会否登录、没有则跳转至登录页
-			const Authorization = uni.getStorageSync('Authorization')
-			if (Authorization == '') {
-
-				uni.showToast({
-					icon: "none",
-					title: "用户未登录"
-				})
-
-				setTimeout(function() {
-					uni.redirectTo({
-						url: "../../my/login/login"
-					})
-				}, 1500)
-			}
+			// const Authorization = uni.getStorageSync('Authorization')
+			// if (Authorization == '') {
+
+			// 	uni.showToast({
+			// 		icon: "none",
+			// 		title: "用户未登录"
+			// 	})
+
+			// 	setTimeout(function() {
+			// 		uni.redirectTo({
+			// 			url: "../../my/login/login"
+			// 		})
+			// 	}, 1500)
+			// }
 			// 设置头像
 			// 设置头像
 			for (let i = 0; i < 2; i++) {
 			for (let i = 0; i < 2; i++) {
 				// 获取随机色
 				// 获取随机色
@@ -289,7 +289,9 @@
 
 
 			// 退出登录
 			// 退出登录
 			login_out() {
 			login_out() {
-				uni.clearStorageSync('Authorization');
+				let mine_code = uni.getStorageSync('mine_code')
+				uni.clearStorageSync();
+				uni.setStorageSync('mine_code',mine_code)
 				uni.showToast({
 				uni.showToast({
 					icon: "none",
 					icon: "none",
 					title: "退出登录"
 					title: "退出登录"

BIN
static/login_bg.jpg


BIN
static/login_logo.png


File diff suppressed because it is too large
+ 2 - 2
unpackage/dist/build/app-plus/app-service.js


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/app-plus/app-view.js


BIN
unpackage/dist/build/app-plus/components/openingNotice/icon/icon.png


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/build/app-plus/manifest.json


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_1.png


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_2.png


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_3.png


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_4.png


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_5.png


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/icon_6.png


BIN
unpackage/dist/build/app-plus/pages/my/personal_information/icon/top.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/icon/bumen.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_1.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_2.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_3.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_4.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_5.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_6.png


BIN
unpackage/dist/build/app-plus/pages/origanization/communication/origanization/personal_information/icon/top.png


BIN
unpackage/dist/build/app-plus/static/login_bg.jpg


BIN
unpackage/dist/build/app-plus/static/login_logo.png


File diff suppressed because it is too large
+ 6360 - 5330
unpackage/dist/dev/app-plus/app-service.js


File diff suppressed because it is too large
+ 6437 - 5790
unpackage/dist/dev/app-plus/app-view.js


BIN
unpackage/dist/dev/app-plus/components/openingNotice/icon/icon.png


File diff suppressed because it is too large
+ 1 - 1
unpackage/dist/dev/app-plus/manifest.json


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_1.png


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_2.png


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_3.png


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_4.png


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_5.png


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/icon_6.png


BIN
unpackage/dist/dev/app-plus/pages/my/personal_information/icon/top.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/icon/bumen.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_1.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_2.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_3.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_4.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_5.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/icon_6.png


BIN
unpackage/dist/dev/app-plus/pages/origanization/communication/origanization/personal_information/icon/top.png


BIN
unpackage/dist/dev/app-plus/static/login_bg.jpg


BIN
unpackage/dist/dev/app-plus/static/login_logo.png