406 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Vue
		
	
	
			
		
		
	
	
			406 lines
		
	
	
		
			13 KiB
		
	
	
	
		
			Vue
		
	
	
| <template>
 | |
| 	<view>
 | |
| 		<basics v-if="PageCur=='basics'" id="basics"></basics>
 | |
| 		<application v-if="PageCur=='application'" :dys="dys" :qrdh="qrdh" :dzg="dzg" :dqr="dqr" :dsh="dsh"></application>
 | |
| 		<works v-if="PageCur=='works'" id = "works"></works>
 | |
| 		<my v-if="PageCur=='my'" id = "my"></my>
 | |
| 		<view class="cu-bar tabbar bg-white shadow foot" v-if="isShowTabBar">
 | |
| 			<view class="action" @click="NavChange" data-cur="basics">
 | |
| 				<view class='cuIcon-cu-image'>
 | |
| 					<image :src="'/static/tabbar/basics' + [PageCur=='basics'?'_cur':''] + '.png'"></image>
 | |
| 				</view>
 | |
| 				<view :class="PageCur=='basics'?'text-blue':'text-gray'">首页</view>
 | |
| 			</view>
 | |
| 			<view class="action" @click="NavChange" data-cur="application">
 | |
| 				<view class='cuIcon-cu-image'>
 | |
| 					<image :src="'/static/tabbar/application' + [PageCur == 'application'?'_cur':''] + '.png'"></image>
 | |
|           <view v-if="hidCount>0" class="cu-tag badge">{{hidCount}}</view>
 | |
| 				</view>
 | |
| 				<view :class="PageCur=='application'?'text-blue':'text-gray'">应用</view>
 | |
| 			</view>
 | |
| 			<view class="action" @click="NavChange" data-cur="my">
 | |
| 				<view class='cuIcon-cu-image'>
 | |
| 					<image :src="'/static/tabbar/my' + [PageCur == 'my'?'_cur':''] + '.png'"></image>
 | |
| 				</view>
 | |
| 				<view :class="PageCur=='my'?'text-blue':'text-gray'">我的</view>
 | |
| 			</view>
 | |
| 		</view>
 | |
|     <uni-popup ref="popup1" background-color="#fff" :mask-click="false" style="position: relative">
 | |
|       <view style="text-align: center;color:#606266;width: 500upx;padding: 40upx;margin-bottom: 40upx;">
 | |
|         <view style="margin-bottom: 40upx;">温馨提示</view>
 | |
|         <view>有未签署的安全承诺,点击确认前往签署</view>
 | |
|       </view>
 | |
|       <view style="display: flex;width: 100%;position: absolute;bottom: 0;">
 | |
|         <button class="cu-btn bg-green" style="flex: 1;border-radius: 0" @click="modalConfirm1">确定</button>
 | |
|       </view>
 | |
|     </uni-popup>
 | |
|     <u-modal :show="updateVersion.modalShow" title="温馨提示" :showConfirmButton="updateVersion.showConfirmButton"
 | |
|              :showCancelButton="updateVersion.showCancelButton" :confirmText="updateVersion.confirmText"
 | |
|              :cancelText="updateVersion.cancelText"
 | |
|              @cancel="modalCancel" @confirm="modalConfirm">
 | |
|       <view style="text-align: center;color:#606266">
 | |
|         <rich-text :nodes="updateVersion.modalContent"></rich-text>
 | |
|       </view>
 | |
|     </u-modal>
 | |
| 	</view>
 | |
| </template>
 | |
| 
 | |
| <script>
 | |
| 	import {
 | |
| 		basePath,
 | |
| 		loginUserId,
 | |
| 		loginUser,
 | |
| 		setloginUserId,
 | |
| 		setCorpinfoId,
 | |
| 		setDeptId,
 | |
| 		setloginUser,
 | |
| 		setVersion,
 | |
| 	} from '@/common/tool.js';
 | |
|   import uniPopup from '@/components/more-select/uni-popup/uni-popup.vue';
 | |
|   import updateVersion from '../../utils/updateVersion'
 | |
| 
 | |
| 	export default {
 | |
|     mixins: [updateVersion],
 | |
| 
 | |
|     components: {
 | |
|       uniPopup,
 | |
|     },
 | |
| 		data() {
 | |
| 			return {
 | |
| 				initflag:false,
 | |
| 				PageCur: 'basics',
 | |
| 				wgtVer:'',
 | |
| 				version:'',
 | |
| 				brand:'other',
 | |
| 				mesCount:0,
 | |
|         hidCount:0,
 | |
|         dys:0,
 | |
|         qrdh:0,
 | |
|         dzg:0,
 | |
|         dqr:0,
 | |
|         dsh:0,
 | |
|         isShowTabBar:false
 | |
| 			}
 | |
| 		},
 | |
| 		onBackPress() {
 | |
| 			//console.log("press back");
 | |
| 
 | |
| 			uni.showModal({
 | |
| 				title: '是否退出',
 | |
| 				confirmText: '退出',
 | |
| 				success: function(res) {
 | |
| 					if (res.confirm) {
 | |
| 						setloginUserId(null);
 | |
| 						setCorpinfoId(null);
 | |
| 						setDeptId(null);
 | |
| 						setloginUser(null);
 | |
| 						uni.removeStorage({key: 'USER'});
 | |
| 						uni.reLaunch({
 | |
| 							url: '/pages/login/home'
 | |
| 						});
 | |
| 					}
 | |
| 				}.bind(this)//此处bind是关键
 | |
| 			})
 | |
| 			return true;
 | |
| 		},
 | |
| 		onShow() {
 | |
| 			var _this = this;
 | |
| 			_this.$nextTick(() => { //等待组件渲染结束才调用
 | |
| 				if(_this.initflag) {
 | |
| 					console.info("index的initflag=="+_this.initflag);
 | |
| 					if(_this.PageCur=='basics' || _this.PageCur=='message') {
 | |
| 						var page = _this.selectComponent("#" + _this.PageCur);//按子组件ID 获取子组件对象
 | |
| 						// page.getData();//调用子组件init方法
 | |
| 					}
 | |
| 					 if(_this.PageCur=='works') {
 | |
| 					 	var page = _this.selectComponent("#" + _this.PageCur);//按子组件ID 获取子组件对象
 | |
| 						page.getData();//调用子组件init方法
 | |
| 						page.getPcData();//调用子组件init方法
 | |
| 					 }
 | |
| 					 if(_this.PageCur=='my') {
 | |
| 					 	var page = _this.selectComponent("#" + _this.PageCur);//按子组件ID 获取子组件对象
 | |
| 						page.getData();//调用子组件init方法
 | |
| 					 }
 | |
| 				}
 | |
| 
 | |
| 				_this.initflag=false;//false;子组件调用跳转方法时设为true
 | |
| 			});
 | |
| 			_this.$nextTick(() => { //等待组件渲染结束才调用
 | |
| 				if(_this.PageCur=='basics') {
 | |
| 					var page = _this.selectComponent("#" + _this.PageCur);//按子组件ID 获取子组件对象
 | |
| 					// page.getData();//调用子组件init方法
 | |
| 				}
 | |
| 			});
 | |
| 
 | |
|       this.mesCount = 0
 | |
|       this.hidCount = 0
 | |
|       this.dys = 0
 | |
|       this.qrdh = 0
 | |
|       this.dzg = 0
 | |
|       this.dsh = 0
 | |
|       this.dqr = 0
 | |
| 			this.getRedPoint();
 | |
|       this.getPromiseUnsigned()
 | |
| 		},
 | |
|  		onLoad() {
 | |
| 			 this.plusReady();
 | |
| 			// this.checkPlatform();
 | |
| 			// this.checkUpdate("android");
 | |
| 		},
 | |
| 		plusReady() {
 | |
| 			uni.startPullDownRefresh();
 | |
| 
 | |
| 		},
 | |
| 		onPullDownRefresh() {
 | |
| 			var _this = this;
 | |
| 			// console.info(_this.PageCur)
 | |
| 			if(_this.PageCur=='basics' || _this.PageCur=='message' || _this.PageCur=='works') {
 | |
| 				var page = _this.selectComponent("#" + _this.PageCur);//按子组件ID 获取子组件对象
 | |
| 				page.getData();//调用子组件init方法
 | |
| 			}
 | |
| 			setTimeout(function () {
 | |
| 				uni.stopPullDownRefresh();
 | |
| 			}, 1000);
 | |
| 		},
 | |
| 		methods: {
 | |
| 
 | |
| 			getRedPoint() {
 | |
| 				var _this = this;
 | |
| 				uni.showLoading({
 | |
| 					title: '请稍候'
 | |
| 				})
 | |
| 				uni.request({
 | |
| 					url: basePath + '/app/notice/getRedPoint',
 | |
| 					method: 'POST',
 | |
| 					dataType: 'json',
 | |
| 					header: {
 | |
| 						'Content-type':'application/x-www-form-urlencoded'
 | |
| 					},
 | |
| 					data: {
 | |
| 						CORPINFO_ID:loginUser.CORPINFO_ID,
 | |
| 						USER_ID:loginUser.USER_ID,
 | |
| 					},
 | |
| 					success: (res) => {
 | |
| 
 | |
| 						if("success" == res.data.result){
 | |
| 							uni.hideLoading();
 | |
| 							_this.mesCount = res.data.count;
 | |
| 							if(_this.mesCount > 0){
 | |
|                 uni.setTabBarBadge({ //显示数字
 | |
|                   index: 2,//tabbar下标
 | |
|                   text: _this.mesCount//数字
 | |
|                 })
 | |
|               }else{
 | |
|                 uni.hideTabBarRedDot({ //隐藏红点
 | |
|                   index:2
 | |
|                 })
 | |
|               }
 | |
| 						} else {
 | |
| 							uni.showToast({
 | |
| 								title: res.data.message,
 | |
| 								duration: 2000
 | |
| 							});
 | |
| 						}
 | |
| 					},
 | |
| 					fail: (res) => {
 | |
| 						uni.showToast({
 | |
| 							icon: 'none',
 | |
| 							title: "服务器正在升级,请稍后再试。",
 | |
| 							duration: 2000
 | |
| 						});
 | |
| 					}
 | |
| 				});
 | |
| 
 | |
|         uni.request({
 | |
|           url: basePath + '/app/hidden/getCountByUserId',
 | |
|           method: 'POST',
 | |
|           dataType: 'json',
 | |
|           header:{
 | |
|             'Content-type':'application/x-www-form-urlencoded'
 | |
|           },
 | |
|           data: {
 | |
|             userId: loginUserId,
 | |
|             USER_NAME: loginUser.NAME,
 | |
|             CHECK_DEPARTMENT_ID: loginUser.DEPARTMENT_ID,
 | |
|             IS_MAIN:loginUser.ISMAIN,
 | |
|             CORPINFO_ID:loginUser.CORPINFO_ID,
 | |
|             USER_ID:loginUser.USER_ID,
 | |
|           },
 | |
|           success: (res) => {
 | |
|             if (res.data != null) {
 | |
|               _this.hidCount += res.data.hidCount.dys || 0
 | |
|               _this.hidCount += res.data.hidCount.dzg || 0
 | |
|               _this.hidCount += res.data.hidCount.dqr || 0
 | |
|               _this.hidCount += res.data.hidCount.dsh || 0
 | |
|               _this.hidCount += res.data.hidCount.qrdh || 0
 | |
|               _this.dys += res.data.hidCount.dys || 0
 | |
|               _this.qrdh += res.data.hidCount.qrdh || 0
 | |
|               _this.dzg += res.data.hidCount.dzg || 0
 | |
|               _this.dsh += res.data.hidCount.dsh || 0
 | |
|               _this.dqr += res.data.hidCount.dqr || 0
 | |
|             }
 | |
|           }
 | |
|         });
 | |
| 			},
 | |
| 			NavChange: function (e) {
 | |
| 				this.PageCur = e.currentTarget.dataset.cur
 | |
| 			},
 | |
| 			setInit(flag) {//子组件调用init方法后 无需再执行onShow方法
 | |
| 				this.initflag = flag;
 | |
| 			},
 | |
| 			// 获取当前版本号
 | |
| 			plusReady() {
 | |
| 				var that = this;
 | |
| 
 | |
| 				// 获取本地应用资源版本号
 | |
| 				plus.runtime.getProperty(plus.runtime.appid, function (inf) {
 | |
| 					that.wgtVer = inf.version;  //获取当前版本号
 | |
| 					setVersion(that.wgtVer);
 | |
| 					that.version = plus.runtime.version;
 | |
| 					uni.getSystemInfo({
 | |
| 
 | |
| 						success(res) {
 | |
| 							that.brand = res.brand.toUpperCase();
 | |
| 							// that.checkPlatform();
 | |
|               console.log(that.brand) //手机牌子
 | |
|               console.log(res.model) //手机型号
 | |
|               console.log(res.screenWidth) //屏幕宽度
 | |
|               console.log(res.screenHeight) //屏幕高度
 | |
| 						}
 | |
| 					});
 | |
| 				});
 | |
| 
 | |
| 			},
 | |
| 			getBrand() {
 | |
| 				var that = this;
 | |
| 				uni.getSystemInfo({
 | |
| 
 | |
| 					success(res) {
 | |
| 						that.brand = res.brand.toUpperCase();
 | |
| 						console.log(that.brand) //手机牌子
 | |
| 						console.log(res.model) //手机型号
 | |
| 						console.log(res.screenWidth) //屏幕宽度
 | |
| 						console.log(res.screenHeight) //屏幕高度
 | |
| 					}
 | |
| 				});
 | |
| 			},
 | |
| 			// checkPlatform() {
 | |
| 			// 	var _this=this;
 | |
| 			// 	uni.getSystemInfo({
 | |
| 			// 		success: (res) => {
 | |
| 			// 			_this.checkUpdate(res.platform);
 | |
| 			// 		}
 | |
| 			// 	})
 | |
| 			// },
 | |
| 			// 自动更新
 | |
| 			// checkUpdate(platform){
 | |
| 			// 	var that=this;
 | |
| 			// 	uni.request({
 | |
| 			// 		url: basePath + '/app/versionmanager/getVersion',  //获取最新版本号
 | |
| 			// 		method: 'POST',
 | |
| 			// 		data: {
 | |
| 			// 			FILETYPE:platform,
 | |
| 			// 			CORPINFO_ID:loginUser.CORPINFO_ID,
 | |
| 			// 			USER_ID:loginUser.USER_ID,
 | |
| 			// 		  },
 | |
| 			// 		success: res => {
 | |
|       //
 | |
| 			// 			if(res.data.pd.VERSION>that.wgtVer){
 | |
|       //         if(platform=="android"){
 | |
|       //           plus.nativeUI.confirm( "请保持应用最新版本,否则将无法使用。", function(e){
 | |
|       //             if(e.index == 0){
 | |
|       //               // if(that.brand == 'HUAWEI' || that.brand == 'XIAOMI' || that.brand == 'VIVO' || that.brand == 'OPPO' ){ //这几个牌子去自带应用商店升级
 | |
|       //               if(that.brand == 'XIAOMI'){ //这几个牌子去自带应用商店升级
 | |
|       //                 plus.runtime.openURL("http://app.mi.com/detail/1509254", function(e1){// 本机应用商店升级
 | |
|       //                 });
 | |
|       //               } else if(that.brand == 'VIVO'){ //这几个牌子去自带应用商店升级
 | |
|       //                 plus.runtime.openURL("https://h5coml.vivo.com.cn/h5coml/appdetail_h5/browser_v2/index.html?appId=3457593", function(e1){// 本机应用商店升级
 | |
|       //                 });
 | |
|       //               } else if(that.brand == 'OPPO' || that.brand == 'ONEPLUS' || that.brand == 'HUAWEI'){ //这几个牌子去自带应用商店升级
 | |
|       //                 plus.runtime.openURL("market://details?id=uni.UNIC846DA5", function(e1){// 本机应用商店升级
 | |
|       //                 });
 | |
|       //               }else if( that.brand == 'HUAWEI'){ //这几个牌子去自带应用商店升级
 | |
|       //                 plus.runtime.openURL("https://url.cloud.huawei.com/n8nzgul61O", function(e1){// 本机应用商店升级
 | |
|       //                 });
 | |
|       //               } else {
 | |
|       //                 var url2 = encodeURI('https://qaaq.qhdsafety.com/file/uploadFiles/qaaqapp/app.apk');
 | |
|       //                 plus.runtime.openURL(url2, function(res) {});
 | |
|       //               }
 | |
|       //               setTimeout(function() {
 | |
|       //                 plus.runtime.quit();
 | |
|       //               }, 2000);
 | |
|       //             } else {
 | |
|       //               plus.runtime.quit();
 | |
|       //             }
 | |
|       //           }, "下载更新", ["下载"] );
 | |
|       //         }else{
 | |
|       //           plus.nativeUI.confirm( "请保持应用最新版本,否则将无法使用。", function(e){
 | |
|       //             if(e.index == 0){
 | |
|       //               var url='itms-apps://itunes.apple.com/cn/app/id1632339513?mt=8';// 应用在appstore的地址
 | |
|       //               plus.runtime.openURL(url);
 | |
|       //               setTimeout(function() {
 | |
|       //                 const threadClass = plus.ios.importClass("NSThread");
 | |
|       //                 const mainThread = plus.ios.invoke(threadClass, "mainThread");
 | |
|       //                 plus.ios.invoke(mainThread, "exit");
 | |
|       //               }, 2000);
 | |
|       //             }
 | |
|       //           }, "下载更新", ["下载"] );
 | |
|       //         }
 | |
| 			// 			}
 | |
| 			// 		},
 | |
|       //
 | |
| 			// 		fail: (res) => {
 | |
| 			// 			uni.showToast({
 | |
| 			// 				icon: 'none',
 | |
| 			// 				title: "服务器正在升级,请稍后再试。",
 | |
| 			// 				duration: 2000
 | |
| 			// 			});
 | |
| 			// 		}
 | |
| 			// 	});
 | |
| 			// },
 | |
|       getPromiseUnsigned(){
 | |
|         uni.request({
 | |
|           url: basePath + '/app/corppromise/ISSIGN_II',
 | |
|           method: 'POST',
 | |
|           dataType: 'json',
 | |
|           header: {
 | |
|             'Content-type':'application/x-www-form-urlencoded'
 | |
|           },
 | |
|           data: {
 | |
|             USER_ID: loginUserId
 | |
|           },
 | |
|           success: (res) => {
 | |
|             if(res.data.ISSIGN === 1){
 | |
|               this.isShowTabBar = false;
 | |
|               this.$nextTick(()=>{
 | |
|                 this.$refs.popup1.open()
 | |
|               })
 | |
|             }else {
 | |
|               this.isShowTabBar = true;
 | |
|               this.$nextTick(()=>{
 | |
|                 this.$refs.popup1.close()
 | |
|               })
 | |
|             }
 | |
|           },
 | |
|           fail: (res) => {
 | |
|             uni.showToast({
 | |
|               icon: 'none',
 | |
|               title: "服务器正在升级,请稍后再试。",
 | |
|               duration: 2000
 | |
|             });
 | |
|           }
 | |
|         });
 | |
|       },
 | |
|       modalConfirm1(){
 | |
|         uni.reLaunch({
 | |
|           url:'/pages/my/promise/sign'
 | |
|         })
 | |
|       },
 | |
| 		}
 | |
| 	}
 | |
| </script>
 | |
| 
 | |
| <style>
 | |
| 
 | |
| </style>
 |