257 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
		
		
			
		
	
	
			257 lines
		
	
	
		
			7.1 KiB
		
	
	
	
		
			Vue
		
	
	
	
	
	
| 
								 | 
							
								<script>
							 | 
						|||
| 
								 | 
							
									import {
							 | 
						|||
| 
								 | 
							
										getTasksUpdate
							 | 
						|||
| 
								 | 
							
									} from './services/app'
							 | 
						|||
| 
								 | 
							
									import {
							 | 
						|||
| 
								 | 
							
										initFilter
							 | 
						|||
| 
								 | 
							
									} from './utils/common'
							 | 
						|||
| 
								 | 
							
									import request from './utils/request'
							 | 
						|||
| 
								 | 
							
									import config from './config/common'
							 | 
						|||
| 
								 | 
							
									import checkappupdate from './utils/checkappupdate.js'
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									export default {
							 | 
						|||
| 
								 | 
							
										globalData: {
							 | 
						|||
| 
								 | 
							
											noticeAndTask: {
							 | 
						|||
| 
								 | 
							
												Task: 0,
							 | 
						|||
| 
								 | 
							
												Msg: 0
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										data() {
							 | 
						|||
| 
								 | 
							
											return {
							 | 
						|||
| 
								 | 
							
												getUpdateFn: undefined
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										onLaunch: function() {
							 | 
						|||
| 
								 | 
							
											const token = uni.getStorageSync('accessToken')
							 | 
						|||
| 
								 | 
							
											const orgId = uni.getStorageSync('orgId')
							 | 
						|||
| 
								 | 
							
											const Tenant = uni.getStorageSync('Tenant')
							 | 
						|||
| 
								 | 
							
											const appInfo = uni.getStorageSync('appInfo')
							 | 
						|||
| 
								 | 
							
											if (!token || !orgId || !Tenant || !appInfo) {
							 | 
						|||
| 
								 | 
							
												uni.reLaunch({
							 | 
						|||
| 
								 | 
							
													url: 'pages/login/index'
							 | 
						|||
| 
								 | 
							
												})
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											// checkappupdate.check({
							 | 
						|||
| 
								 | 
							
											// 	versionContent: '1.升级提示框改造早早早哦啊早\n2.提示标语更新\n3.其他优化升级,建议全员升级',
							 | 
						|||
| 
								 | 
							
											// 	versionNumber: '1.0.022',
							 | 
						|||
| 
								 | 
							
											// 	appurl: '大大哇',
							 | 
						|||
| 
								 | 
							
											// 	apk:'false',
							 | 
						|||
| 
								 | 
							
											// 	versionNow:'1.0.021'
							 | 
						|||
| 
								 | 
							
											// })
							 | 
						|||
| 
								 | 
							
											const store = this.$store
							 | 
						|||
| 
								 | 
							
											// #ifndef MP
							 | 
						|||
| 
								 | 
							
											uni.onTabBarMidButtonTap(function() {
							 | 
						|||
| 
								 | 
							
												uni.chooseImage({
							 | 
						|||
| 
								 | 
							
													count: 6, //默认9
							 | 
						|||
| 
								 | 
							
													sizeType: ['original', 'compressed'], //可以指定是原图还是压缩图,默认二者都有
							 | 
						|||
| 
								 | 
							
													sourceType: ['camera'],
							 | 
						|||
| 
								 | 
							
													success: (res) => {
							 | 
						|||
| 
								 | 
							
														const url = config.serviceHost('/PF/File/UploadFile')
							 | 
						|||
| 
								 | 
							
														request.upload(url, res.tempFilePaths).then((result) => {
							 | 
						|||
| 
								 | 
							
															if (result.IsSuccessful) {
							 | 
						|||
| 
								 | 
							
																// TODO: 目前只支持一张照片
							 | 
						|||
| 
								 | 
							
																store.commit('updateImageLists', [{
							 | 
						|||
| 
								 | 
							
																	IMG_FILE_ID: result.Data.imgFileID,
							 | 
						|||
| 
								 | 
							
																	IMG_FILE_PATH: result.Data.imgFilePath
							 | 
						|||
| 
								 | 
							
																}]);
							 | 
						|||
| 
								 | 
							
																uni.showActionSheet({
							 | 
						|||
| 
								 | 
							
																	title: '选择上报类型',
							 | 
						|||
| 
								 | 
							
																	itemList: ['随手拍', '隐患上报'],
							 | 
						|||
| 
								 | 
							
																	success: (e) => {
							 | 
						|||
| 
								 | 
							
																		if (e.tapIndex === 0) {
							 | 
						|||
| 
								 | 
							
																			uni.navigateTo({
							 | 
						|||
| 
								 | 
							
																				url: '/pages/camera/index'
							 | 
						|||
| 
								 | 
							
																			})
							 | 
						|||
| 
								 | 
							
																		} else {
							 | 
						|||
| 
								 | 
							
																			uni.navigateTo({
							 | 
						|||
| 
								 | 
							
																				url: '/pages/apply/subPages/riskReport'
							 | 
						|||
| 
								 | 
							
																			})
							 | 
						|||
| 
								 | 
							
																		}
							 | 
						|||
| 
								 | 
							
																	}
							 | 
						|||
| 
								 | 
							
																})
							 | 
						|||
| 
								 | 
							
															}
							 | 
						|||
| 
								 | 
							
														}).catch((error) => {
							 | 
						|||
| 
								 | 
							
															console.log(error)
							 | 
						|||
| 
								 | 
							
														});
							 | 
						|||
| 
								 | 
							
													},
							 | 
						|||
| 
								 | 
							
													complete: function(com) {
							 | 
						|||
| 
								 | 
							
														console.log('choose image complete', com)
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												})
							 | 
						|||
| 
								 | 
							
											})
							 | 
						|||
| 
								 | 
							
											// #endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											// 检查更新
							 | 
						|||
| 
								 | 
							
											// #ifdef APP-PLUS
							 | 
						|||
| 
								 | 
							
											if (this.judgeTabbar()) {
							 | 
						|||
| 
								 | 
							
												// 在有tabbar页时,提示更新
							 | 
						|||
| 
								 | 
							
												getTasksUpdate(json).then(res => {
							 | 
						|||
| 
								 | 
							
													if (res.Data.AppVersion) {
							 | 
						|||
| 
								 | 
							
														this.checkVersionUpdate(res.Data.AppVersion)
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												})
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											// #endif
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										onShow: function() {
							 | 
						|||
| 
								 | 
							
											console.log('App Show')
							 | 
						|||
| 
								 | 
							
											const orgId = uni.getStorageSync('orgId')
							 | 
						|||
| 
								 | 
							
											const json = initFilter(orgId)
							 | 
						|||
| 
								 | 
							
											// 检查更新
							 | 
						|||
| 
								 | 
							
											// #ifdef APP-PLUS
							 | 
						|||
| 
								 | 
							
											if (this.judgeTabbar()) {
							 | 
						|||
| 
								 | 
							
												// 在有tabbar页时,提示更新
							 | 
						|||
| 
								 | 
							
												getTasksUpdate(json).then(res => {
							 | 
						|||
| 
								 | 
							
													if (res.Data.AppVersion) {
							 | 
						|||
| 
								 | 
							
														this.checkVersionUpdate(res.Data.AppVersion)
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												})
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											// #endif
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
											// 获取任务和消息更新
							 | 
						|||
| 
								 | 
							
											const timingUpdate = () => {
							 | 
						|||
| 
								 | 
							
												if (this.judgeTabbar()) {
							 | 
						|||
| 
								 | 
							
													getTasksUpdate(json).then(res => {
							 | 
						|||
| 
								 | 
							
														getApp().globalData.noticeAndTask = res.Data
							 | 
						|||
| 
								 | 
							
														if (res.Data) {
							 | 
						|||
| 
								 | 
							
															if (res.Data.Task > 0 || res.Data.Msg > 0) {
							 | 
						|||
| 
								 | 
							
																// 设置tab红点
							 | 
						|||
| 
								 | 
							
																uni.showTabBarRedDot({
							 | 
						|||
| 
								 | 
							
																	index: 0
							 | 
						|||
| 
								 | 
							
																})
							 | 
						|||
| 
								 | 
							
															} else {
							 | 
						|||
| 
								 | 
							
																uni.hideTabBarRedDot({
							 | 
						|||
| 
								 | 
							
																	index: 0
							 | 
						|||
| 
								 | 
							
																})
							 | 
						|||
| 
								 | 
							
															}
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
													})
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
											setTimeout(timingUpdate, 1000)
							 | 
						|||
| 
								 | 
							
											this.getUpdateFn = setInterval(timingUpdate, 60000)
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										onHide: function() {
							 | 
						|||
| 
								 | 
							
											console.log('App Hide')
							 | 
						|||
| 
								 | 
							
											clearInterval(this.getUpdateFn)
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										onExit: function() {
							 | 
						|||
| 
								 | 
							
											console.log('App Exit')
							 | 
						|||
| 
								 | 
							
											clearInterval(this.getUpdateFn)
							 | 
						|||
| 
								 | 
							
										},
							 | 
						|||
| 
								 | 
							
										methods: {
							 | 
						|||
| 
								 | 
							
											judgeTabbar() {
							 | 
						|||
| 
								 | 
							
												let pages = getCurrentPages()
							 | 
						|||
| 
								 | 
							
												if (pages.length > 0) {
							 | 
						|||
| 
								 | 
							
													let prevPage = pages[pages.length - 1]
							 | 
						|||
| 
								 | 
							
													if (prevPage.route === 'pages/index/index2' || prevPage.route === 'pages/performance/index1' ||
							 | 
						|||
| 
								 | 
							
														prevPage.route === 'pages/my/index1' || prevPage.route === 'pages/apply/index') {
							 | 
						|||
| 
								 | 
							
														return true
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												}
							 | 
						|||
| 
								 | 
							
											},
							 | 
						|||
| 
								 | 
							
											checkVersionUpdate(versionInfo) {
							 | 
						|||
| 
								 | 
							
												const latestVersion = parseInt(versionInfo.Code.split('.').join(''))
							 | 
						|||
| 
								 | 
							
												// const localVersion = parseInt(plus.runtime.version.split('.').join(''))
							 | 
						|||
| 
								 | 
							
												plus.runtime.getProperty(plus.runtime.appid, function(widgetInfo) {
							 | 
						|||
| 
								 | 
							
													const localVersion = parseInt(widgetInfo.version.split('.').join(''))
							 | 
						|||
| 
								 | 
							
													if (latestVersion > localVersion) {
							 | 
						|||
| 
								 | 
							
														if (versionInfo.Upgrade >= 0 && versionInfo.Url) {
							 | 
						|||
| 
								 | 
							
															if (versionInfo.Upgrade === 0) { // 资源包更新
							 | 
						|||
| 
								 | 
							
																checkappupdate.check({
							 | 
						|||
| 
								 | 
							
																	versionContent: versionInfo.Desc,
							 | 
						|||
| 
								 | 
							
																	versionNumber: versionInfo.Code,
							 | 
						|||
| 
								 | 
							
																	versionNow: widgetInfo.version,
							 | 
						|||
| 
								 | 
							
																	appurl: config.uni_app_web_source_url + versionInfo.Url,
							 | 
						|||
| 
								 | 
							
																	apk: 'false'
							 | 
						|||
| 
								 | 
							
																})
							 | 
						|||
| 
								 | 
							
																// uni.showModal({
							 | 
						|||
| 
								 | 
							
																// 	title: "有新的版本(" + latestVersion + "),请更新",
							 | 
						|||
| 
								 | 
							
																// 	content: versionInfo.Desc,
							 | 
						|||
| 
								 | 
							
																// 	cancelText: '稍后更新',
							 | 
						|||
| 
								 | 
							
																// 	confirmText: '立即更新',
							 | 
						|||
| 
								 | 
							
																// 	success: (res) => {
							 | 
						|||
| 
								 | 
							
																// 		if (res.confirm) {
							 | 
						|||
| 
								 | 
							
																// 			uni.showLoading({
							 | 
						|||
| 
								 | 
							
																// 				title: "下载资源包",
							 | 
						|||
| 
								 | 
							
																// 				mask: true,
							 | 
						|||
| 
								 | 
							
																// 			})
							 | 
						|||
| 
								 | 
							
																// 			uni.downloadFile({ // 下载资源包
							 | 
						|||
| 
								 | 
							
																// 				url: config.uni_app_web_source_url +
							 | 
						|||
| 
								 | 
							
																// 					versionInfo.Url,
							 | 
						|||
| 
								 | 
							
																// 				success: (downloadResult) => {
							 | 
						|||
| 
								 | 
							
																// 					uni.hideLoading()
							 | 
						|||
| 
								 | 
							
																// 					if (downloadResult.statusCode ===
							 | 
						|||
| 
								 | 
							
																// 						200) {
							 | 
						|||
| 
								 | 
							
																// 						plus.runtime.install(downloadResult
							 | 
						|||
| 
								 | 
							
																// 							.tempFilePath, { // 安装资源包
							 | 
						|||
| 
								 | 
							
																// 								force: false
							 | 
						|||
| 
								 | 
							
																// 							},
							 | 
						|||
| 
								 | 
							
																// 							function() {
							 | 
						|||
| 
								 | 
							
																// 								console.log(
							 | 
						|||
| 
								 | 
							
																// 									'install success...'
							 | 
						|||
| 
								 | 
							
																// 								);
							 | 
						|||
| 
								 | 
							
																// 								plus.runtime
							 | 
						|||
| 
								 | 
							
																// 									.restart(); // 重启APP
							 | 
						|||
| 
								 | 
							
																// 							},
							 | 
						|||
| 
								 | 
							
																// 							function(e) {
							 | 
						|||
| 
								 | 
							
																// 								console.error(e,
							 | 
						|||
| 
								 | 
							
																// 									'install fail...'
							 | 
						|||
| 
								 | 
							
																// 								);
							 | 
						|||
| 
								 | 
							
																// 							})
							 | 
						|||
| 
								 | 
							
																// 					}
							 | 
						|||
| 
								 | 
							
																// 				}
							 | 
						|||
| 
								 | 
							
																// 			})
							 | 
						|||
| 
								 | 
							
																// 		} else if (res.cancel) {
							 | 
						|||
| 
								 | 
							
																// 			// 暂不更新
							 | 
						|||
| 
								 | 
							
																// 		}
							 | 
						|||
| 
								 | 
							
																// 	}
							 | 
						|||
| 
								 | 
							
																// })
							 | 
						|||
| 
								 | 
							
															} else if (versionInfo.Upgrade === 1) { // 整包更新
							 | 
						|||
| 
								 | 
							
																checkappupdate.check({
							 | 
						|||
| 
								 | 
							
																	versionContent: versionInfo.Desc,
							 | 
						|||
| 
								 | 
							
																	versionNumber: versionInfo.Code,
							 | 
						|||
| 
								 | 
							
																	versionNow: widgetInfo.version,
							 | 
						|||
| 
								 | 
							
																	appurl: config.uni_app_web_source_url + versionInfo.Url,
							 | 
						|||
| 
								 | 
							
																	apk: 'true'
							 | 
						|||
| 
								 | 
							
																})
							 | 
						|||
| 
								 | 
							
																// uni.showModal({
							 | 
						|||
| 
								 | 
							
																// 	title: "更新提示",
							 | 
						|||
| 
								 | 
							
																// 	content: '版本号:' + versionInfo.Desc,
							 | 
						|||
| 
								 | 
							
																// 	success: (res) => {
							 | 
						|||
| 
								 | 
							
																// 		if (res.confirm) {
							 | 
						|||
| 
								 | 
							
																// 			var appurl = ''
							 | 
						|||
| 
								 | 
							
																// 			if (plus.os.name === 'Android') {
							 | 
						|||
| 
								 | 
							
																// 				appurl = config.uni_app_web_source_url + versionInfo
							 | 
						|||
| 
								 | 
							
																// 					.Url;
							 | 
						|||
| 
								 | 
							
																// 			} else {
							 | 
						|||
| 
								 | 
							
																// 				// 其它平台
							 | 
						|||
| 
								 | 
							
																// 				// appurl = versionInfo.pathIos;
							 | 
						|||
| 
								 | 
							
																// 			}
							 | 
						|||
| 
								 | 
							
																// 			plus.runtime.openURL(appurl); // 跳转应用发布平台
							 | 
						|||
| 
								 | 
							
																// 		}
							 | 
						|||
| 
								 | 
							
																// 	}
							 | 
						|||
| 
								 | 
							
																// })
							 | 
						|||
| 
								 | 
							
															}
							 | 
						|||
| 
								 | 
							
														}
							 | 
						|||
| 
								 | 
							
													}
							 | 
						|||
| 
								 | 
							
												})
							 | 
						|||
| 
								 | 
							
											}
							 | 
						|||
| 
								 | 
							
										}
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								</script>
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
								<style lang="scss">
							 | 
						|||
| 
								 | 
							
									@import "/uni_modules/uview-ui/index.scss";
							 | 
						|||
| 
								 | 
							
									@import '/static/iconfont/iconfont.css';
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/*每个页面公共css */
							 | 
						|||
| 
								 | 
							
									/* #ifdef MP */
							 | 
						|||
| 
								 | 
							
									page {
							 | 
						|||
| 
								 | 
							
										width: 100vw;
							 | 
						|||
| 
								 | 
							
									}
							 | 
						|||
| 
								 | 
							
								
							 | 
						|||
| 
								 | 
							
									/* #endif */
							 | 
						|||
| 
								 | 
							
								</style>
							 |