Ver código fonte

Merge branch 'master' of https://git.nanodreamtech.com/Boss/yizhizan-h5

xxdezh 8 meses atrás
pai
commit
9aa5307785

+ 5 - 3
common/config.js

@@ -1,3 +1,4 @@
+const h5Url='https://bossweb.edccc.cn'
 if (process.env.NODE_ENV !== 'development') {
 	//正式环境
 	const ROOTPATH = "https://yizhizan.edccc.cn/sqx_fast";
@@ -10,8 +11,8 @@ if (process.env.NODE_ENV !== 'development') {
 		APIHOST1: ROOTPATH1,
 		WSHOST: ROOTPATH2,
 		WSHOST1: ROOTPATH3,
-		WSHOST4: ROOTPATH4
-	
+		WSHOST4: ROOTPATH4,
+		h5Url
 	};
 }else{
 	//测试环境
@@ -25,7 +26,8 @@ if (process.env.NODE_ENV !== 'development') {
 		APIHOST1: ROOTPATH1,
 		WSHOST: ROOTPATH2,
 		WSHOST1: ROOTPATH3,
-		WSHOST4: ROOTPATH4
+		WSHOST4: ROOTPATH4,
+		h5Url
 	
 	};
 }

+ 15 - 1
common/queue.js

@@ -19,7 +19,7 @@ module.exports = {
 	},
 	//全局域名 部分html中需要单独替换 需要修改config中的网络请求域名
 	publicYuMing() {
-		return 'https://zp.xianmaxiong.com'
+		return configdata.h5Url
 	},
 	logout() {
 		this.remove("token");
@@ -285,5 +285,19 @@ module.exports = {
 					callback(false)
 			},title,button);
 		//#endif
+	},
+	isDateExpired:function (targetDate) {
+	    const currentTimestamp = new Date().getTime();
+	    const targetTimestamp = new Date(targetDate).getTime();
+		const rest=targetTimestamp < currentTimestamp
+		if(rest)
+			return [true,0]
+		    // 计算毫秒差
+		const diffInMs =  targetTimestamp -currentTimestamp; 
+		    
+		    // 转换为小时(向上取整确保显示完整小时)
+		const hours = Math.ceil(diffInMs / (1000 * 60 * 60));  
+		    
+		return [rest,hours > 0 ? hours : 0];  // 返回非负值
 	}
 };

+ 78 - 9
components/btnPopous/btnPopous.vue

@@ -1,8 +1,23 @@
 <template>
 	<view>
+		<view class="cover"></view>
 		<view class="jobAll" :class="topY==true?'end':'start'" @touchstart="start" @touchend="end"
 			@touchmove.stop="move">
-			<view class="jobAll-search flex justify-center">
+			<view class="header">
+				<view class="shut"><u-icon name="minus" top="10rpx"></u-icon></view>
+				<view class="headerTitle">所有职位<text>{{total}}</text></view>
+				<view class="jobAll-search">
+					<view @click="searchResult" class="searchBox flex">
+						<u-icon size="36rpx" color="#999" name="search" ></u-icon>
+						<u-input @confirm="searchResult" v-model="projectName" placeholder="搜索职位" type="text" input-align="left" confirm-type="search" :custom-style="{marginLeft:'20rpx'}"/>
+					</view>
+					<view class="searchBox nobg flex">
+						<u-tag @click="changeClassify('')" class="tag" text="全部" :type="projectName!=''?'info':'primary'"  mode="light" size="mini" />
+						<u-tag @click="changeClassify(item)" class="tag" :text="item" :type="projectName!=item?'info':'primary'"  mode="light" size="mini" v-for="item in classify"/>
+					</view>
+				</view>
+			</view>
+			<!-- <view class="jobAll-search flex justify-center">
 				<view class="jobAll-search-box">
 					<u-dropdown :mask='false' active-color="#016BF6">
 						<u-dropdown-item v-model="value1" title="岗位" @change="change1"
@@ -15,7 +30,7 @@
 							:options="options4"></u-dropdown-item>
 					</u-dropdown>
 				</view>
-			</view>
+			</view> -->
 			<view class="jobAll-item flex justify-center">
 				<view class="jobAll-item-box">
 					<scroll-view scroll-y="true" v-if="list.length>0" style="width: 100%;height: 100%;"
@@ -55,10 +70,10 @@
 							<!-- 公司简介-位置 -->
 							<view class="jobAll-item-box-item-info flex justify-between align-center">
 								<view class="jobAll-item-box-item-info-l flex align-center">
-									<image :src="item.company?item.company.companyLogo:'../../static/logo.png'"
+									<image :src="item.hr&&item.hr.hrImg?item.hr.hrImg:'../../static/logo.png'"
 										style="width: 58rpx;height: 58rpx;border-radius: 50%;margin-right: 20rpx;" mode=""></image>
 									<view class="company-info-text" v-if="item.company">
-										{{item.company.companyLegalPerson?item.company.companyLegalPerson:'未知'}}·人事总监
+										{{item.user&&item.user.userName?item.user.userName:'未知'}}·{{item.hr&&item.hr.hrPosition||'人事总监'}}
 									</view>
 									<view class="reply-time">10分钟前回复</view>
 								</view>
@@ -133,6 +148,8 @@
 				address: '', //城市
 				salaryRange: '', //薪资
 				experience: '', //经验
+				title:'',
+				total:0
 			};
 		},
 		watch: {
@@ -230,6 +247,16 @@
 				this.address = e
 				this.userGetPostPushList()
 			},
+			changeClassify(e){
+				console.log(e)
+				this.page=1
+				this.projectName = e
+				this.userGetPostPushList()
+			},
+			searchResult(){
+				this.page=1
+				this.userGetPostPushList()
+			},
 			/**
 			 * 上拉加载更多
 			 */
@@ -255,6 +282,7 @@
 				this.$Request.getT("/app/postPush/userGetPostPushList", data).then(res => {
 					if (res.code == 0) {
 						this.pages = res.data.pages
+						this.total=res.data.total
 						if (this.page == 1) {
 							this.list = res.data.records
 						} else {
@@ -302,20 +330,28 @@
 </script>
 
 <style lang="scss">
+	.cover{
+		width: 100%;
+		height: 100%;
+		background: rgba(0,0,0,.5);
+		position: fixed;
+		z-index: 99998;
+		top:0;
+		left:0
+	}
 	.jobAll {
 		width: 100%;
 		height: 90vh;
-		background-color: rgba(253, 253, 253, 1);
+		background-color: #f4f3f3;
 		border-radius: 60rpx 60rpx 0px 0px;
-		padding: 0 20rpx;
 		position: fixed;
 		z-index: 99999;
 		box-shadow: 0 -4rpx 20rpx rgba(0, 0, 0, 0.1);
-
+		overflow: hidden;
 		.jobAll-search {
 			width: 100%;
 			margin-top: 20rpx;
-
+border-top: 1px solid #ebebeb;
 			.jobAll-search-box {
 				width: 686rpx;
 				height: 100%;
@@ -326,7 +362,7 @@
 			width: 100%;
 			height: calc(90vh - 120rpx);
 			margin-top: 20rpx;
-
+			padding: 0 20rpx;
 			.jobAll-item-box {
 				width: 100%;
 				height: 100%;
@@ -485,4 +521,37 @@
 		background: #ECE1FD;
 		color: #8858C5;
 	}
+	.header{
+		width: 100%;
+		background: #fff;
+		text-align: center;
+		color: #111;
+		padding-bottom: 1rpx;
+		.headerTitle{
+			font-size: 34rpx;
+			text{
+				font-size: 20rpx;
+				vertical-align:top
+			}
+		}
+		.shut{
+			color: #bbb;
+			font-size: 60rpx;
+			transform: scaleX(1.6)
+		}
+		.searchBox{
+			width: 92%;
+			margin: 30rpx auto;
+			border-radius:70rpx;
+			background:#f1f1f1;
+			padding:0 20rpx
+		}
+		.nobg{
+			background: none;
+			border-radius: 0;
+			gap: 20rpx;
+			margin-left: 10rpx;
+		}
+		
+	}
 </style>

+ 175 - 27
my/enterpriseInfo/enterpriseInfo.vue

@@ -9,7 +9,7 @@
 				<view class="nav-title">公司介绍</view>
 				<view class="nav-right">
 					<view class="nav-icons">
-						<view class="nav-icon" @click="setCollection">
+						<view v-if="false" class="nav-icon" @click="setCollection">
 							<image v-if="isCollection==0" src="/static/images/index/guanzhu.svg" class="icon-img"></image>
 							<image v-else src="/static/images/index/gzActive.svg" class="icon-img"></image>
 						</view>
@@ -53,28 +53,17 @@
 					<!-- 工作时间 -->
 					<view class="working-hours flex align-center">
 						<u-icon name="clock" color="rgba(51, 51, 51, 1)" size="38" style="margin-right: 12rpx;"></u-icon>
-						<text>上午9:00-下午06:30</text>
+						<text>{{info.workTime}}</text>
 					</view>
 					
 					<!-- 福利标签 -->
 					<view class="benefits-section">
 						<view class="benefits-tags flex align-center flex-wrap">
-							<view class="benefit-tag">
+							<view class="benefit-tag" v-for="item in info.welfareArr">
 								<image src="/static/images/index/huizhang.svg" class="tag-icon"></image>
-								<text>五险一金</text>
-							</view>
-							<view class="benefit-tag">
-								<image src="/static/images/index/huizhang.svg" class="tag-icon"></image>
-								<text>补充医疗保险</text>
-							</view>
-							<view class="benefit-tag">
-								<image src="/static/images/index/huizhang.svg" class="tag-icon"></image>
-								<text>定期体检</text>
-							</view>
-							<view class="benefit-tag">
-								<image src="/static/images/index/huizhang.svg" class="tag-icon"></image>
-								<text>年终奖</text>
+								<text>{{item}}</text>
 							</view>
+							
 						</view>
 					</view>
 					
@@ -136,7 +125,7 @@
 				</view>
 				
 				<view class="hr-list flex justify-between">
-					<view class="hr-item" v-for="(hr, index) in hrList" :key="index">
+					<view class="hr-item" v-for="(hr, index) in info.hr" :key="index">
 						<view class="hr-content flex align-center">
 							<view class="hr-avatar-container">
 								<view class="hr-avatar" :style="{ backgroundColor: hr.color }">
@@ -146,7 +135,7 @@
 							</view>
 							<view class="hr-text">
 								<view class="hr-name">{{hr.name}}</view>
-								<view class="hr-position">{{hr.position}}</view>
+								<view class="hr-position">{{hr.hrPosition}}</view>
 							</view>
 						</view>
 					</view>
@@ -169,10 +158,10 @@
 		<!-- 公司风采 -->
 		<view class="talent-section flex justify-center">
 			<view class="talent-box">
-				<view class="talent-title">人才发展</view>
+				<view class="talent-title">公司风采</view>
 				<view class="talent-tags flex flex-wrap">
-					<view class="talent-tag" v-for="(talent, index) in info.photos" :key="index">
-						{{talent}}
+					<view class="photo" v-for="(talent, index) in info.photosArr" :key="index">
+						<image mode="widthFix" :src="talent" class="photoImage"></image>
 					</view>
 				</view>
 			</view>
@@ -204,11 +193,37 @@
 		<!-- 全部岗位弹窗 -->
 		<btnPopous ref="jobPopup" v-if="showJobPopup && companyId" :companyId="companyId" :cittArr="cittArr" :classify="classify" :moneyArr="moneyArr"
 			:jyArr="jyArr" @closePopup="closeJobPopup" />
+			
+		<u-popup v-model="shows" z-index="99999" mode="bottom" border-radius="14" height="300rpx">
+			<view class="shar flex justify-center">
+				<view class="shar-box flex justify-around">
+					<view class="shar-box-item" @click="appShare('WXSceneSession')">
+						<u-icon name="weixin-circle-fill" color="#45b630" style="margin-left: 10rpx;" size="70">
+						</u-icon>
+						<view class="">
+							微信好友
+						</view>
+					</view>
+					<view class="shar-box-item" @click="appShare('WXSenceTimeline')">
+						<u-icon name="moments-circel-fill" color="#6dbf30" size="70" style="margin-left: 20rpx;">
+						</u-icon>
+						<view class="">
+							微信朋友圈
+						</view>
+					</view>
+				</view>
+			</view>
+			<view class="line"></view>
+			<view class="sharNo" @click="shows = false">
+				取消
+			</view>
+		</u-popup>
 	</view>
 </template>
 
 <script>
 	import btnPopous from '../../components/btnPopous/btnPopous.vue'
+	import config from '../../common/config.js'
 	export default {
 		components: {
 			btnPopous
@@ -247,8 +262,11 @@
 						color: '#F5A623'
 					}
 				],
-				businessList: ['居家日用', '食品饮料', '3C数码', '美妆日化'],
-				talentList: ['考核晋升', '项目奖金', '股票期权', '每年普调']
+				businessList: [],
+				talentList: [],
+				sharType: 0,
+				sharMsg: '',
+				shows:false
 			};
 		},
 		//分享
@@ -315,16 +333,94 @@
 			// 显示分享选项
 			showShare() {
 				// 可以添加分享逻辑
-				uni.showToast({
-					title: '分享功能',
-					icon: 'none'
+				this.shows=true
+			},
+			//app分享
+			appShare(scene) {
+				// #ifdef H5
+				this.shar()
+				this.shows = false;
+				return
+				//#endif
+				let that = this
+				let routes = getCurrentPages(); // 获取当前打开过的页面路由数组
+				let curRoute = routes[routes.length - 1].$page.fullPath // 获取当前页面路由,也就是最后一个打开的页面路由
+				uni.share({
+					provider: "weixin", //分享服务提供商(即weixin|qq|sinaweibo)
+					scene: scene, //场景,可取值参考下面说明。
+					type: 5, //分享形式 0:图文 1:纯文字 2:纯图片 3:音乐 4:视频 5:小程序
+					// href: curRoute, //跳转链接
+					// imageUrl:'https://bjetxgzv.cdn.bspapp.com/VKCEYUGU-uni-app-doc/962fc340-4f2c-11eb-bdc1-8bd33eb6adaa.png',
+					imageUrl: that.sharMsg,
+					title: that.info.stationName, //分享内容的标题
+					miniProgram: {
+						id: 'gh_d531be6accdb', //分享的小程序原始id
+						path: curRoute, //分享的小程序的页面路径
+						webUrl: "https://ask.dcloud.net.cn/article/287", //地址
+						type: that.sharType, //微信小程序的版本  0-正式版; 1-测试版; 2-体验版。 默认值为0。
+					},
+					success: function(res) {
+						that.shows = false; //成功后关闭底部弹框
+					},
+					fail: function(err) {
+						console.log(err, '分享失败回调')
+						uni.showToast({
+							title: '分享失败',
+							icon: 'none',
+							duration: 2000
+						})
+						that.shows = false;
+					}
+				});
+			},
+			getShowModal() {
+				uni.showModal({
+					title: '提示',
+					content: '请登录后联系企业',
+					showCancel: true,
+					cancelText: '取消',
+					confirmText: '去登录',
+					complete: (res) => {
+						if (res.confirm) {
+							uni.navigateTo({
+								url: '/pages/public/login'
+							})
+						}
+			
+					}
 				});
 			},
+			shar() {
+				if (uni.getStorageSync('token')) {
+					let that = this
+					// h5分享
+					// #ifdef H5
+					let url = config.WSHOST4 + '/my/enterpriseInfo/enterpriseInfo?companyId=' + this.companyId + '&invitation=' + uni
+						.getStorageSync(
+							'invitationCode')
+					// let url = 'http://192.168.0.109:8081/pages/index/game/order?postPushId=' + this.postPushId
+					// alert(url)
+					
+					uni.setClipboardData({
+						data: url,
+						success() {
+							uni.showToast({
+								title: '分享链接已复制'
+							})
+						}
+					})
+					// #endif
+			
+				} else {
+					this.getShowModal()
+				}
+			
+			},
 			// 收藏企业
 			setCollection() {
 				this.$Request.postT("/app/myCollection/saveCollection", {
 					companyId: this.companyId,
-					type: 2 // 2表示收藏企业
+					type: 3 // 2表示收藏企业
 				}).then(res => {
 					if (res.code == 0) {
 						uni.showToast({
@@ -423,12 +519,29 @@
 					companyId: this.companyId
 				}).then(res => {
 					if (res.code == 0) {
+						let color=['#4A90E2','#7ED321','#F5A623']
+						res.data.welfareArr=res.data.welfare?res.data.welfare.split(','):[]
+						res.data.photosArr=res.data.photosArr?res.data.photos.split(','):[]
+						that.talentList=res.data.companyPeopleDevelop?res.data.companyPeopleDevelop.split(','):[]
+						that.businessList=res.data.workDescribe?res.data.workDescribe.split(','):[]
+						if(res.data.hr)
+						res.data.hr.forEach(function(item,index){
+							item.name='匿名'
+							item.color=color[index%3]
+							for(const user of res.data.userEntities) {
+							    if(item.userId == user.userId) {
+							        item.name = user.userName;
+							        break; // 直接跳出循环
+							    }
+							}
+						})
 						this.info = res.data
 						if (this.info.companyName) {
 							uni.setNavigationBarTitle({
 								title: that.info.companyName
 							})
 						}
+						that.isCollection=res.data.isCollect||0
 						// let reg = /.+?(省|市|自治区|自治州|县|区)/g
 						// let cityarr = this.info.companyAddress.match(reg)
 						// if (cityarr && cityarr != null) {
@@ -749,6 +862,13 @@
 					letter-spacing: 0px;
 					text-align: center;
 				}
+				.photo{
+					width: 100%;
+					.photoImage{
+						width: 100%;
+						display: block;
+					}
+				}
 			}
 		}
 	}
@@ -894,4 +1014,32 @@
 			}
 		}
 	}
+	.shar {
+		width: 100%;
+		height: 100rpx;
+		margin-top: 40rpx;
+	
+		.shar-box {
+			width: 686rpx;
+			height: 100%;
+	
+			.shar-box-item {
+				font-size: 24rpx;
+			}
+		}
+	}
+	
+	.line {
+		width: 100%;
+		border: 1rpx solid #F2F2F7;
+		margin-top: 30rpx;
+		margin-bottom: 20rpx;
+	}
+	
+	.sharNo {
+		width: 100%;
+		color: #cccccc;
+		font-size: 24rpx;
+		text-align: center;
+	}
 </style>

+ 134 - 47
my/jilu/mianshiDetail.vue

@@ -3,50 +3,74 @@
     <view class="detail-bg"></view>
     <nav-bar title="面试详情"></nav-bar>
     <view class="detail-index">
-      <view class="detail-title">已面试08月27日</view>
+      <view class="detail-title">
+		<block v-if="info.status==2">
+		  <block v-if="currentStep === 1&&info.restHour>3">
+	  {{info.statusText}} {{info.interviewDate}}
+	  </block>
+	  <block v-else-if="currentStep === 1&&info.restHour<=3&&info.restHour>0">
+		  {{info.restHour*60}}分钟后面试
+	  </block>
+	  <block v-else-if="currentStep === 1&&info.restHour==0">
+	  		  面试已开始,待签到
+	  </block>
+	  <block v-else-if="currentStep === 2">
+	  		  面试已签到
+	  </block>
+	  <block v-else-if="currentStep === 3">
+	  		  面试中
+	  </block>
+	  <block v-else-if="currentStep === 4">
+	  		  面试已完成
+	  </block>
+	  </block>
+	  <block v-else-if="info.status==3">
+		  面试已取消
+		</block>
+	  </view>
       <view class="detail-item">
         <view class="user-title">
           <view class="user-img">
-            <image src="@/static/images/geren.png" mode="aspectFill" />
+            <image :src="info.company&&info.company.companyLogo||'../../static/images/geren.png'" mode="aspectFill" />
           </view>
           <view class="user-name-box">
-            <view class="user-name-com">深圳市世迪贸易科技有限公司</view>
+            <view class="user-name-com">{{info.company&&info.company.companyName||'匿名公司'}}</view>
             <view class="user-info-img">
-              <image src="@/static/images/geren.png" mode="aspectFill" />
-              <view class="user-name">孙先生·人事经理</view>
+              <image :src="info.hr&&info.hr.hrImg||'../../static/images/geren.png'" mode="aspectFill" />
+              <view class="user-name">{{info.userEntity&&info.userEntity.userName||'匿名'}}·{{info.hr&&info.hr.hrPosition||'匿名职务'}}</view>
             </view>
           </view>
         </view>
         <view class="msg-box">
           <view class="msg-item">
             <view class="msg-label">时间</view>
-            <view class="msg-value">2025-09-19 20:00:00</view>
+            <view class="msg-value">{{info.interviewDateTime}}</view>
           </view>
           <view class="msg-item">
             <view class="msg-label">职位</view>
-            <view class="msg-value">资深产品经理 15-25K</view>
+            <view class="msg-value">{{info.postPush&&info.postPush.ruleClassifyName}} {{info.postPush&&info.postPush.salaryRange}}</view>
           </view>
           <view class="msg-item">
             <view class="msg-label">联系人</view>
-            <view class="msg-value">熊女士</view>
+            <view class="msg-value">{{info.hrName}}</view>
           </view>
           <view class="msg-item">
             <view class="msg-label">备注</view>
-            <view class="msg-value">请携带一份最新的简历</view>
+            <view class="msg-value">{{info.remarks}}</view>
           </view>
           <view class="msg-item">
             <view class="msg-label">地址</view>
-            <view class="msg-value">光谷软件园F21602栋</view>
+            <view class="msg-value">{{info.address}} {{info.detailedAddress}}</view>
           </view>
         </view>
         <view class="map-box">
-          <map name="map" class="map"></map>
+          <map v-if="info.lng" name="map" class="map" :longitude="parseFloat(info.lng)" :latitude="parseFloat(info.lat)" :markers="covers"></map>
         </view>
       </view>
-      <view class="detail-item">
+      <view class="detail-item" v-if="info&&info.status==2">
         <view class="process-top">
           <view class="process-title">面试进度</view>
-          <view class="process-status">爽约说明</view>
+          <view hidden class="process-status">爽约说明</view>
         </view>
         <view class="process-index">
           <view class="interview-process">
@@ -64,8 +88,8 @@
                   </view>
                 </view>
                 <view class="step-content">
-                  <view class="step-title">面试时间到</view>
-                  <view class="step-desc">面试一开始,此时不能取消面试</view>
+                  <view class="step-title">{{info.expired?'面试时间到':'接受面试'}}</view>
+                  <view class="step-desc">{{info.expired?'面试已开始,此时不能取消面试':'离面试开始3小时内,不可以取消面试'}}</view>
                 </view>
                 <view class="step-line"></view>
               </view>
@@ -84,6 +108,7 @@
                 <view class="step-content">
                   <view class="step-title">面试签到</view>
                   <view class="step-desc">到场后请及时签到,可体验面试全流程服务</view>
+				  <u-tag :text="currentStep<2?(info.expired?'签到超时':'请签到'):'已签到'" type="primary" :mode="currentStep<2&&!info.expired?'plain':'light'" size="mini"/>
                 </view>
                 <view class="step-line"></view>
               </view>
@@ -120,12 +145,15 @@
                 <view class="step-content">
                   <view class="step-title">面试结果</view>
                   <view class="step-desc">面试完后30天内可向招聘方获取面试结果</view>
+				  <u-tag v-if="currentStep>=4&&info.interviewResultType==null" text="等待面试结果" type="primary" mode="plain" size="mini"/>
+				  <u-tag v-if="currentStep>=4&&info.interviewResultType!=null" :text="info.interviewResultType==0?'面试通过':(info.interviewResultType==1?info.interviewResultMsg||'面试未通过':'结果待定')" :type="info.interviewResultType==0?'primary':'error'" mode="light" size="mini"/>
+				  <u-tag v-if="currentStep==3" text="获取面试结果" type="info" mode="light" size="mini"/>
                 </view>
                 <view class="step-line"></view>
               </view>
 
               <!-- 步骤5: 获取面试结果 -->
-              <view
+              <!-- <view
                 class="step-item"
                 :class="{ active: currentStep >= 5, completed: currentStep > 5 }"
               >
@@ -139,40 +167,45 @@
                   <view class="step-title">获取面试结果</view>
                   <view class="step-desc"></view>
                 </view>
-              </view>
+              </view> -->
             </view>
 
-            <!-- 操作按钮 -->
-            <view class="process-actions" v-if="showActions">
-              <button class="action-btn" v-if="currentStep === 2" @click="handleSignIn">
-                立即签到
-              </button>
-              <button
-                class="action-btn"
-                v-if="currentStep === 3"
-                @click="handleStartInterview"
-              >
-                开始面试
-              </button>
-              <button
-                class="action-btn"
-                v-if="currentStep === 4"
-                @click="handleGetResult"
-              >
-                获取结果
-              </button>
-              <button
-                class="action-btn complaint-btn"
-                v-if="currentStep === 3"
-                @click="handleComplaint"
-              >
-                投诉
-              </button>
-            </view>
+            
           </view>
         </view>
       </view>
+	  <!-- 操作按钮 -->
+	  <view class="process-actions" v-if="info&&info.status==2">
+	  	<button class="action-btn" v-if="currentStep === 1&&info.restHour>3" @click="updateRecord(1,3)">
+	  	  取消面试
+	  	</button>
+	    <button class="action-btn" v-if="currentStep === 1&&info.restHour<=3" @click="updateRecord(2,2)">
+	      签到
+	    </button>
+	    <button
+	      class="action-btn"
+	      v-if="currentStep === 2"
+	      @click="updateRecord(3,2)"
+	    >
+	      开始面试
+	    </button>
+	    <button
+	      class="action-btn"
+	      v-if="currentStep === 4"
+	      @click="handleGetResult"
+	    >
+	      获取结果
+	    </button>
+	   <!-- <button
+	      class="action-btn complaint-btn"
+	      v-if="currentStep === 3"
+	      @click="handleComplaint"
+	    >
+	      投诉
+	    </button> -->
+	  </view>	  
     </view>
+	
   </view>
 </template>
 <script>
@@ -181,10 +214,10 @@ import navBar from "@/components/nav-bar/index.vue";
 export default {
   data() {
     return {
-      currentStep: 3,
-      showActions: true,
+      currentStep: 1,
 	  recordId:'',
-	  info:{}
+	  info:{},
+	  covers: []
     };
   },
   components: {
@@ -199,7 +232,33 @@ export default {
 	 	var that=this
 	 	this.$Request.getT("/app/interviewRecord/getInterviewInfo", {recordId:this.recordId}).then((res) => {
 	 	  if (res.code == 0) {
+			  let statusArr=['','待接受','已同意','已拒绝','已过期']
+			  res.data.statusText=statusArr[res.data.status]
+			   var expired=that.$queue.isDateExpired(res.data.interviewDateTime)
+			   res.data.expired=expired[0]
+				res.data.restHour=expired[1]
+			  res.data.interviewDate=res.data.interviewDateTime.slice(0, 10)
 	 		  that.info=res.data
+			  console.log(that.info)
+			  that.currentStep=res.data.interviewProcesses==0?res.data.interviewProcesses+1:res.data.interviewProcesses
+			  that.covers.push({
+				  id:1,
+				latitude: res.data.lat,
+				longitude: res.data.lng,
+				iconPath:'../../static/images/mapMarker.png',
+				alpha:0.5,
+				width:20,
+				height:20,
+					callout: {
+						content: res.data.detailedAddress,
+						color: '#000', //文字颜色
+						fontSize: 10, //文本大小
+						padding: 5, //附近留白
+						borderRadius: 24, //边框圆角
+						bgColor: '#FFFFFF', //背景颜色
+						display: 'ALWAYS', //常显
+					}
+			  })
 	 	  } else {
 	 	    uni.showToast({
 	 	      title: res.msg,
@@ -221,6 +280,14 @@ export default {
     },
 
     handleGetResult() {
+		if(this.info.interviewResultType==null)
+			return this.$queue.showToast('还未出结果,请耐心等待')
+		uni.showModal({
+		  title: "面试"+(this.info.interviewResultType==0?'已通过':(this.info.interviewResultType==1?'未通过':'结果待定')),
+		  content: this.info.interviewResultMsg||'祝您生活愉快',
+		  editable: false,
+		  showCancel:false
+		});
       this.$emit("get-result");
     },
     handleComplaint() {
@@ -240,6 +307,25 @@ export default {
         },
       });
     },
+	updateRecord(interviewProcesses,status=2){
+		var that=this
+		that.$Request.postJson("/app/interviewRecord/saveInterview", {
+			recordId:that.recordId,
+			status:status,
+			interviewProcesses:interviewProcesses
+		}).then(res => {
+			if (res.code === 0) {
+				that.info.interviewProcesses=interviewProcesses
+				that.info.status=status
+				that.currentStep=interviewProcesses
+			} else {
+				uni.showToast({
+					title: res.msg,
+					icon: "none"
+				})
+			}
+		})
+	}
   },
 };
 </script>
@@ -445,6 +531,7 @@ export default {
   font-size: 20rpx;
   font-weight: 400;
   line-height: 26rpx;
+  margin-bottom: 10rpx;
 }
 
 .step-line {

+ 2 - 0
package/records/records.vue

@@ -396,6 +396,8 @@ export default {
     },
     gotoInfo(item) {
 		if(this.title == "面试记录"){
+			if(item.status!=2)
+				return this.$queue.showToast('已同意方可查看详情')
 			uni.navigateTo({
 			  url: "/my/jilu/mianshiDetail?recordId="+item.recordId,
 			});

+ 2 - 2
pages/msg/addmsg.vue

@@ -64,8 +64,8 @@
 				<view v-if="tabCurrentIndex == 0">
 					<view v-for="item in list" :key="item.id" @click="goAdd(1,0,item.id)">
 					<view
-						style="margin-top: 20upx;color: #000000;display: flex;align-items: center;background: #FFFFFF;padding: 0rpx 40rpx;">
-						<view style="height: 80upx;line-height: 80upx;width: 80%;">
+						style="margin-top: 20rpx;color: #000000;display: flex;align-items: center;background: #FFFFFF;padding: 0rpx 40rpx;">
+						<view style="height: 80rpx;width: 80%;">
 							{{item.content}}
 						</view>
 						

+ 45 - 16
pages/my/index.vue

@@ -74,19 +74,19 @@
                 <image src="../../static/images/my/icon/set.png" style="width: 44rpx;height: 100%;" mode="">
 						</image>
               </view> -->
-              <view class="info-box-header flex justify-between align-center">
+              <view @click="goNav('/pages/my/onlineResume')" class="info-box-header flex justify-between align-center">
                 <view style="width: 60%; height: 100%" class="flex align-center">
                   <view class="info-box-header-l">
                     <image
                       :src="avatar ? avatar : '../../static/logo.png'"
-                      @click="goNav('/pages/my/userinfo')"
+                     
                       mode=""
                     ></image>
                   </view>
                   <view class="info-box-header-r">
                     <view
                       class="info-box-header-r-name flex align-center"
-                      @click="goNav('/pages/my/userinfo')"
+                     
                     >
                       <view
                         class=""
@@ -110,7 +110,6 @@
                     <view
                       v-if="token && XCXIsSelect != '否'"
                       class="info-box-header-r-bj flex align-center"
-                      @click="goNav('/pages/my/onlineResume')"
                     >
                       编辑简历
                       <image
@@ -120,7 +119,10 @@
                     </view>
                   </view>
                 </view>
-                <view
+				<view class="flex align-center status-txt">
+					<u-icon name="arrow-right"></u-icon>
+				</view>
+                <!-- <view
                   class="flex align-center status-txt"
                   @click="currenStatus()"
                   v-if="token && XCXIsSelect != '否'"
@@ -131,21 +133,24 @@
                     mode=""
                   ></image>
                   {{
+					  resumesStatus == 0
+					    ? "离职-随时到岗"
+					    :
                     resumesStatus == 1
                       ? "离职-正在找工作"
                       : resumesStatus == 2
                       ? "在职-考虑机会"
                       : "在职-暂不考虑"
                   }}
-                </view>
+                </view> -->
               </view>
               <view
                 class="info-box-num flex align-center justify-between"
                 v-if="XCXIsSelect != '否'"
               >
-                <view class="info-box-num-td" @click="goNav('/pages/my/onlineResume')">
-                  <view class="info-box-num-td-num"> 1 </view>
-                  <view class="info-box-num-td-name"> 在线简历 </view>
+                <view class="info-box-num-td" @click="gojiLuList('/package/records/records', '沟通记录')">
+                  <view class="info-box-num-td-num"> {{chatCount}} </view>
+                  <view class="info-box-num-td-name"> 沟通过 </view>
                 </view>
                 <view
                   class="info-box-num-td"
@@ -154,16 +159,16 @@
                   <view class="info-box-num-td-num">
                     {{ deliveryCount }}
                   </view>
-                  <view class="info-box-num-td-name"> 投递记录 </view>
+                  <view class="info-box-num-td-name"> 已投简历 </view>
                 </view>
                 <view
                   class="info-box-num-td"
-                  @click="gojiLuList('/package/records/records', '浏览记录')"
+                  @click="gojiLuList('/package/records/records', '面试记录')"
                 >
                   <view class="info-box-num-td-num">
-                    {{ browseCount }}
+                    {{ interviewCount }}
                   </view>
-                  <view class="info-box-num-td-name"> 浏览记录 </view>
+                  <view class="info-box-num-td-name"> 待面试 </view>
                 </view>
                 <view
                   class="info-box-num-td"
@@ -172,7 +177,7 @@
                   <view class="info-box-num-td-num">
                     {{ collectionCount }}
                   </view>
-                  <view class="info-box-num-td-name"> 我的收藏 </view>
+                  <view class="info-box-num-td-name"> 收藏 </view>
                 </view>
               </view>
             </view>
@@ -269,7 +274,7 @@
                   </view>
                   <view
                     class="jobServer-box-btn-item flex justify-center flex-wrap"
-                    @click="goNav('/my/jilu/jiluUser')"
+                    @click="gojiLuList('/package/records/records', '面试记录')"
                   >
                     <image src="../../static/images/index/rmhd.svg" mode=""></image>
                     <view class=""> 我的面试 </view>
@@ -369,7 +374,7 @@
                       用户协议
                     </view>
                   </view>
-                  <view class="util-item" @click="goNavNoLogin('/pages/my/jobApplicant/guidePage')">
+                  <view class="util-item" @click="goNavNoLogin('/my/setting/about')">
                     <!-- goNavNoLogin('/my/setting/about') -->
                     <!-- pages/my/jobApplicant/startPage -->
                     <image
@@ -933,6 +938,26 @@ export default {
           text: "在职-暂不考虑",
           fontSize: 24,
         },
+		/* {
+			id: '0',
+			text: '离职-随时到岗',
+			fontSize: 24,
+		},
+		{
+			id: '1',
+			text: '在职-月内到岗',
+			fontSize: 24,
+		},
+		{
+			id: '2',
+			text: '在职-考虑机会',
+			fontSize: 24,
+		},
+		{
+			id: '3',
+			text: '在职-暂不考虑',
+			fontSize: 24,
+		} */
       ],
       userType: 1,
       avatar: "../../static/logo.png",
@@ -946,6 +971,8 @@ export default {
       browseCount: 0,
       collectionCount: 0,
       deliveryCount: 0,
+	  chatCount:0,
+	  interviewCount:0,
       isVip: false, //用户是否是vip
       isCompanyVip: false, //企业是否是vip
       resumesStatus: 1, //求职状态
@@ -1297,6 +1324,8 @@ export default {
           this.browseCount = res.data.browseCount;
           this.collectionCount = res.data.collectionCount;
           this.deliveryCount = res.data.deliveryCount;
+		  this.chatCount=res.data.chatCount;
+		  this.interviewCount=res.data.interviewCount;
         }
       });
     },

+ 2 - 2
pages/my/invitationUser.vue

@@ -13,10 +13,10 @@
 				</view>
 			</view>
 		</view> -->
-			<!-- #ifdef MP-WEIXIN -->
+	
 			<!-- <image src="https://zhaopin.xianmaxiong.com/file/uploadPath/2022/09/02/55ae353dccf567c61c08a1e8889fb723.png" style="width: 100%;position: fixed;top: 0%;" mode="widthFix"></image> -->
 			<image :src="backgroundImage" style="width: 100%;position: fixed;top: 0%;" mode="widthFix"></image>
-			<!-- #endif -->
+	
 			<view class="headTop" :style="numPeople>0&&zhiRate>0?'top:420px':''">
 				<view class="margin-lr-sm" style="background: #FFFFFF;border-radius: 20upx;">
 					<view class="flex justify-between  padding">

+ 30 - 19
pages/my/ruleCenter.vue

@@ -31,19 +31,9 @@
                     mode="aspectFill"
                     class="paopao paopao-one"
                   />
-                  <image
-                    src="@/static/images/my/icon/paopao.svg"
-                    mode="aspectFill"
-                    class="paopao paopao-two"
-                  />
-                  <image
-                    src="@/static/images/my/icon/paopao.svg"
-                    mode="aspectFill"
-                    class="paopao paopao-three"
-                  />
                   <view class="banner-txt">
-                    <view class="banner-title">{{ item.title }}</view>
-                    <view class="banner-subtitle">{{ item.subtitle }}</view>
+                    <view class="banner-title">{{ item.noticeTitle }}</view>
+                    <view class="banner-subtitle">{{ item.noticeDetail }}</view>
                   </view>
                   <view class="banner-btn" @click="goMianshiBoss">去看看</view>
                 </view>
@@ -64,19 +54,16 @@
         </view>
       </view>
       <view class="rule-txt-box">
-        <view class="rule-text">
-          <view class="rule-text-title">平台总则</view>
-          <view class="rule-text-desc">亿职赞规则公约</view>
+        <view v-for="item in rule" class="rule-text">
+          <view class="rule-text-title">{{item.noticeTitle}}</view>
+          <view class="rule-text-desc">{{item.noticeDetail}}</view>
         </view>
         <view class="rule-txt-icon">
           <image src="@/static/images/my/icon/pingtaizongze.svg" mode="scaleToFill" />
         </view>
       </view>
       <view class="notice">
-        <view class="notice-item">平台公告</view>
-        <view class="notice-item">诚信求职共建真实求职环境</view>
-        <view class="notice-item">求职文明公约</view>
-        <view class="notice-item">关于冒用平台名义发布虚假信息的通告</view>
+        <view @click="showDetail(item.noticeDetail)" v-for="item in notice" class="notice-item">{{item.noticeTitle}}</view>
       </view>
     </view>
   </view>
@@ -112,12 +99,33 @@ export default {
           link: "/pages/rules/privacy",
         },
       ],
+	  notice:[],
+	  rule:[]
     };
   },
   components: {
     navBar,
   },
   methods: {
+	  getData(){
+		  var that=this
+		this.$Request.getT("/app/message/selectNotice").then((res) => {
+		  //订单状态通知
+		  if (res.code == 0) {
+		    that.bannerList=res.data.banner
+			that.notice=res.data.notice
+			that.rule=res.data.rule
+		  }
+		});  
+	  },
+	  showDetail(content){
+		  uni.showModal({
+		    title: '公告详情',
+		    content: content,
+		    editable: false,
+		    showCancel:false
+		  });
+	  },
     // 轮播图切换事件
     onSwiperChange(e) {
       this.currentIndex = e.detail.current;
@@ -161,6 +169,9 @@ export default {
     // 页面隐藏时暂停自动播放
     this.pauseAutoplay();
   },
+  onLoad(){
+	  this.getData()
+  }
 };
 </script>