zhengkaixin пре 1 година
родитељ
комит
b20de9572f

+ 18 - 1
apis/pagejs/packages.js

@@ -175,4 +175,21 @@ export function jobHuntDetail(data) {
  		data: data,
  		url: '/mobile/job/jobHuntDetail'
  	})
-}
+}
+
+export function inviteJob(data) {
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: '/mobile/recruit/inviteJob'
+ 	})
+}
+
+export function myRegistration(data) {
+ 	return request({
+ 		method: 'post',
+ 		data: data,
+ 		url: '/mobile/job/myRegistration'
+ 	})
+}
+

+ 224 - 49
pages/packages/choreInformation/jobSearchDetails.vue

@@ -5,16 +5,16 @@
 		<view class="content">
 			<!-- 职位 -->
 			<view class="position">
-				司机/保安/普工/地推
+				{{info.intendedIndustriesN}}
 			</view>
 			<!-- 薪水 -->
 			<view class="saraly">
-				200<text>元/天</text>
+				{{info.hopeSalary}}<text>元/天</text>
 			</view>
 			<!-- 发布日期和浏览量 -->
 			<view class="date-views">
 				<view class="date">
-					更新时间:2023-06-01
+					更新时间:{{getTime(info)}}
 				</view>
 				<view class="views">
 					浏览量:1
@@ -32,7 +32,7 @@
 					意向岗位:
 				</view>
 				<view class="details">
-					会的很多,都可以做
+					{{info.intendedPosition}}
 				</view>
 			</view>
 			<!-- 服务描述 -->
@@ -40,7 +40,7 @@
 				服务描述
 			</view>
 			<view class="describe-details">
-				有相关2年工作经验,吃苦耐劳,工作认真仔细。
+				{{info.serviceDesc}}
 			</view>
 		</view>
 	
@@ -54,16 +54,16 @@
 				<view class="details">
 					<!-- 照片 -->
 					<view class="photo">
-						<img src="@/assets/img/informationPhoto.png" alt="">
+						<img :src="personInfo.photo" alt="">
 					</view>
 					<view class="linkman-infos">
 						<!-- 姓名电话 -->
 						<view class="name-tel">
 							<view class="name">
-								李先生
+								{{personInfo.realName}}
 							</view>
 							<view class="tel">
-								155****1111
+								{{personInfo.phone}}
 							</view>
 						</view>
 						<!-- 标签 -->
@@ -110,9 +110,32 @@
 			>{{isJoin?'已邀请':'立即邀请'}}</button>
 		 </view>
 	 	<u-modal v-model="showPhone" @confirm="confirmPhone" :confirm-text="confirmText" confirm-color="#606266"
-	 		:show-cancel-button="true" ref="uModal" :asyncClose="true" title="联系电话" :content="info.contactsPhone"
+	 		:show-cancel-button="true" ref="uModal" :asyncClose="true" title="联系电话" :content="personInfo.phone"
 	 		:content-style="{fontSize: '24px',color: '#101010'}"></u-modal>
-	 	
+	 	<!-- 筛选框 -->
+	 	<u-popup v-model="popupShow"   @open="popupShowOpen" mode="bottom" border-radius="20" :closeable="true">
+	 		<view class="popup-content">
+	 			<view class="headline">
+	 				选择岗位
+	 			</view>
+	 			
+	 			<!-- 工作经验 -->
+	 			<view class="work-experience">
+	 				
+	 				<!-- 选项 -->
+	 				<view class="options">
+	 					<view :class="{item,checked:workChecked==index}" v-for="(item,index) in workList" :key="index"
+	 						@click="workChecked=index">
+	 						{{item.positionName}}-{{item.salary}}元/天
+	 					</view>
+	 				</view>
+	 			</view>
+	 			<view class="button">
+	 				<button class="reset" @click="popupShow=false">关闭</button>
+	 				<button class="confirm" @click="isJoinMethodBtn()" >发出邀请</button>
+	 			</view>
+	 		</view>
+	 	</u-popup>
 	 </view>
 	</view>
 </template>
@@ -123,12 +146,38 @@
 		data() {
 			return {
 				id: "",
+				workList:[],
+				popupShow:false,
 				showPhone: false,
 				confirmText: '拨打电话',
 				content: "",
 				isJoin: false,
 				share: 0,
-				info: {}
+				personInfo:{},
+				workChecked:-1,
+				info: {
+					"id": "",
+					"personId": "",
+					"photo": "",
+					"serviceDesc": "5",
+					"intendedIndustries": "2",
+					"intendedPosition": "1",
+					"hopeSalary": 2,
+					"method": "1",
+					"workExperience": "1",
+					"education": "2",
+					"status": "0",
+					"createBy": "",
+					"createTime": "",
+					"updateBy": "",
+					"updateTime": "",
+					"delFlag": false,
+					"personName": null,
+					"intendedIndustriesN": null,
+					"methodN": null,
+					"workExperienceN": null,
+					"educationN": null
+				}
 			}
 		},
 		onShareAppMessage(res) {
@@ -149,16 +198,97 @@
 			this.getInfo()
 		},
 		methods: {
-			
+			getTime(item){
+				var time=item.updateTime?item.updateTime:item.createTime;
+				if(time){
+					return time.substring(0,10)
+				}
+				return  ''
+			},
+			confirmPhone() {
+				this.showPhone = false;
+				uni.makePhoneCall({
+					phoneNumber: this.personInfo.phone
+				});
+			},
+			isJoinMethodBtn() {
+				if(this.workChecked==-1){
+					uni.showToast({
+						title:"请选择邀请岗位"
+					})
+					return
+				}
+				var jobId =this.workList[this.workChecked].id
+				
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				API.inviteJob({
+					recruitId:jobId,
+					jobId: this.id,
+				}).then((res) => {
+					this.isJoin = true;
+					this.popupShow=false
+					//this.info=res.data.recruitInformationInfo;
+					uni.showModal({
+						title: '提示',
+						content: '邀请成功',
+						showCancel: false,
+						success: function(res) {
+							if (res.confirm) {
+				
+								//uni.navigateBack()
+							} else if (res.cancel) {
+								console.log('用户点击取消');
+							}
+						}
+					});
+					uni.hideLoading();
+				
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			},
+			popupShowOpen(){
+				if(this.workList.length==0){
+					uni.showLoading({
+						title: "加载中",
+						mask: true,
+					})
+					API.myEmployment({
+						pageIndex: 1,
+						pageSize: 200,
+						status: 1
+					}).then((res) => {
+						uni.hideLoading();
+						
+						this.workList=res.data.data
+						
+					}).catch(error => {
+					
+						uni.showToast({
+							title: error
+						})
+						//this.getPhone()
+						
+					})
+				}
+			},
 			isJoinBtn() {
 				if (this.isJoin) {
 					return
 				}
 				var user=this.carhelp.getPersonInfo();
+				var enterpriseInfo=this.carhelp.getPersonInfoPlus().enterpriseInfo;
+				
 				if (!user) {
 					uni.showModal({
 						title: '提示',
-						content: '登录并实名认证后可以报名',
+						content: '登录并企业认证后可以邀请',
 						confirmText:"前往登录",
 						showCancel: true,
 						success: function(res) {
@@ -174,11 +304,11 @@
 					});
 					return
 				}
-				if (user.status!=1) {
+				if (!enterpriseInfo||enterpriseInfo.status!=1) {
 					uni.showModal({
 						title: '提示',
-						content: '实名认证后可以报名',
-						confirmText:"实名认证",
+						content: '企业认证后可以邀请',
+						confirmText:"企业认证",
 						showCancel: true,
 						success: function(res) {
 							if (res.confirm) {
@@ -194,36 +324,7 @@
 					return
 				}
 				 
-				uni.showLoading({
-					title: "加载中",
-					mask: true,
-				})
-				API.joinRecruit({
-					recruitId: this.id,
-				}).then((res) => {
-					this.isJoin = true;
-					//this.info=res.data.recruitInformationInfo;
-					uni.showModal({
-						title: '提示',
-						content: '报名成功',
-						showCancel: false,
-						success: function(res) {
-							if (res.confirm) {
-			
-								//uni.navigateBack()
-							} else if (res.cancel) {
-								console.log('用户点击取消');
-							}
-						}
-					});
-					uni.hideLoading();
-			
-				}).catch(error => {
-					uni.showToast({
-						title: error,
-						icon: "none"
-					})
-				})
+				this.popupShow=true
 			},
 			getInfo() {
 				uni.showLoading({
@@ -233,9 +334,10 @@
 				API.jobHuntDetail({
 					id: this.id,
 				}).then((res) => {
-					this.isJoin = res.data.isJoin;
-					this.info = res.data.recruitInformationInfo;
-			
+					this.isJoin = res.data.isInvite;
+					this.info = res.data.jobInformationInfo;
+					this.personInfo = res.data.personInfo;
+					
 					uni.hideLoading();
 			
 				}).catch(error => {
@@ -438,4 +540,77 @@
 		  }
 	  }
   }
+  
+  
+  // 筛选框
+  .popup-content {
+  	padding: 32rpx;
+  
+  	.headline {
+  		color: #101010;
+  		font-size: 40rpx;
+  		text-align: center;
+  	}
+  
+  	// 薪资待遇
+  	.salary-package,
+  	.work-experience {
+  		margin-top: 16rpx;
+  
+  		.title {
+  			font-size: 32rpx;
+  			color: #111111;
+  		}
+  
+  		// 选项
+  		.options {
+  			display: flex;
+  			flex-wrap: wrap;
+  			justify-content: flex-start;
+  			margin-top: 24rpx;
+  
+  			.item {
+  				height: 56rpx;
+  				line-height: 56rpx;
+  				min-width: 210rpx;
+  				text-align: center;
+  				margin-bottom: 16rpx;
+  				margin-right: 16rpx;
+  				color: #999999;
+  				background-color: #F3F3F4;
+  				border-radius: 4px;
+				    padding: 0 6rpx;
+  			}
+  
+  			.checked {
+  				background-color: #2795FD;
+  				color: #fff;
+  			}
+  		}
+  	}
+  
+  	.button {
+  		display: flex;
+  
+  		margin-top: 8rpx;
+  
+  		.reset {
+  			color: #999999;
+  			background-color: #F3F3F4;
+  			width: 200rpx;
+  			height: 72rpx;
+  			line-height: 72rpx;
+  			border-radius: 8px;
+  		}
+  
+  		.confirm {
+  			width: 440rpx;
+  			background-color: #2795FD;
+  			color: #fff;
+  			height: 72rpx;
+  			line-height: 72rpx;
+  			border-radius: 8px;
+  		}
+  	}
+  }
 </style>

+ 7 - 1
pages/packages/jobInformation/jobDetails.vue

@@ -187,7 +187,13 @@
 			this.getInfo()
 		},
 		methods: {
-			
+						confirmPhone() {
+							this.showPhone = false;
+							uni.makePhoneCall({
+								phoneNumber: this.info.contactsPhone
+							});
+						},
+
 			isJoinBtn() {
 				if (this.isJoin) {
 					return

+ 82 - 54
pages/packages/mine/employmentService/receiveRegistration.vue

@@ -7,7 +7,7 @@
 			<u-tabs :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
 		</view>
 		<!-- 我的报名 -->
-		<view class="receive-registration" v-if="current==0">
+		<view class="receive-registration" v-for="(item,i) in list[current].list"   :key="i">
 			<view class="card">
 				<view class="top">
 					
@@ -47,63 +47,18 @@
 				</view>
 				<u-line color="#E6E6E6"></u-line>
 				<view class="buttons">
-					<view class="btn check">
+					<view class="btn check" @click="ckInfo(item)">
 						查看
 					</view>
-					<view class="btn delete">
+					<!-- <view class="btn delete">
 						删除
-					</view>
+					</view> -->
 				</view>
 			</view>
 		</view>
-	 <!-- 邀请记录 -->
-	 <view class="invitation-record" v-if="current==1">
-	 	<view class="card">
-	 		<view class="top">
-	 			
-	 		<!-- 头像 -->
-	 		<view class="photo">
-	 			<img src="@/assets/img/informationPhoto.png"></img>
-	 		</view>
-	 		<!-- 信息 -->
-	 		<view class="infos">
-	 			<view class="positon-salary">
-	 				<view class="positon">
-	 					家政清洁
-	 				</view>
-	 				<view class="salary">
-	 					200元/天
-	 				</view>
-	 			</view>
-	 			<view class="tags-date">
-	 				<view class="tags">
-	 					<view class="item">
-	 						男
-	 					</view>
-	 					<view class="item">
-	 						21岁
-	 					</view>
-	 					<view class="item">
-	 						高中
-	 					</view>
-	 				</view>
-	 				<view class="date">
-	 					报名时间:2023-06-01
-	 				</view>
-	 			</view>
-	 		</view>
-	 			
-	 	
-	 		</view>
-	 		<u-line color="#E6E6E6"></u-line>
-	 		<view class="buttons">
-	 			<view class="btn check">
-	 				查看
-	 			</view>
-	 			
-	 		</view>
-	 	</view>
-	 </view>
+	 <u-divider  v-if="list[current].recordsTotal==list[current].list.length"
+	 		 :isnone="list[current].recordsTotal==0" nonetext="没有找到相关内容" 
+	 		border-color="#CFD2D5">已经到底了</u-divider>
 	     
 	</view>
 </template>
@@ -114,16 +69,89 @@
 		data() {
 			return {
 				list: [{
-					name: '收到的报名'
+					name: '收到的报名',
+					pageIndex: 1,
+					pageSize: 20,
+					recordsTotal: 1,
+					status: "0",
+					list: []
 				}, {
-					name: '邀请记录'
+					name: '邀请记录',
+					pageIndex: 1,
+					pageSize: 20,
+					recordsTotal: 1,
+					status: "1",
+					list: []
 				}],
 				current: 0
 			}
 		},
+		onLoad(op) {
+			if(op.c){
+				this.current=op.c
+			}
+			this.getList();
+		},
 		methods: {
+			ckInfo(item){
+				
+				var url="/pages/packages/choreInformation/jobSearchDetails?id="
+				if(this.current==0){
+					url+=item.workPersonInfo.id
+				}
+				if(this.current==1){
+					url+=item.jobInformationInfo.id
+				}
+				uni.navigateTo({
+					url:url
+				})
+			},
+			getList() {
+			
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				var list = this.list[this.current].list
+				var obj = this.list[this.current]
+				var listForm = {
+					...obj
+				}
+				delete listForm.list
+			
+				API.myReceivedRegistration(listForm).then((res) => {
+			
+					if (listForm.pageIndex == 1) {
+						list = res.data.data;
+					} else {
+						list = [
+							...list,
+							...res.data.data
+						];
+					}
+			
+					this.list[this.current].list = list
+			
+					this.list[this.current].recordsTotal = res.data.recordsTotal;
+					uni.hideLoading();
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			
+			},
+			myLoadmore() {
+				this.list[this.current].pageIndex += 1;
+				this.getList();
+			},
 			change(index) {
 				this.current = index;
+				var list = this.list[this.current].list
+				if (list.length == 0) {
+					this.getList();
+				}
 			}
 		}
 	}

+ 85 - 36
pages/packages/mine/myJobInformation/myRegistration.vue

@@ -7,18 +7,22 @@
 			<u-tabs :list="list" :is-scroll="false" :current="current" @change="change"></u-tabs>
 		</view>
 		<!-- 我的报名 -->
-		<view class="my-registration" v-if="current==0">
+		<view class="my-registration"  v-for="(item,i) in list[current].list"   :key="i" >
 			<view class="card">
 				<view class="positon-salary">
 					<view class="positon">
-						家政清洁
+						{{item.recruitInformationInfo.positionName}}
 					</view>
 					<view class="salary">
-						200元/天
+						{{item.recruitInformationInfo.salary}}元/天
 					</view>
 				</view>
 				<view class="tags-date">
-					<view class="tags">
+					<view class="company" >
+						{{item.recruitInformationInfo.enterpriseName}}
+						
+					</view>
+					<view class="tags" v-if="current==0&&false">
 						<view class="item">
 							企业
 						</view>
@@ -27,61 +31,106 @@
 						</view>
 					</view>
 					<view class="date">
-						报名时间:2023-06-01
+						{{current==0?'报名时间':'邀请时间'}}:{{item.createTime.substring(0,10)}}
 					</view>
 				</view>
 				<u-line color="#E6E6E6"></u-line>
-				<view class="check">
+				<view class="check"  @click="ckInfo(item.recruitInformationInfo)">
 					查看
 				</view>
 			</view>
 		</view>
-	 <!-- 收到的邀请 -->
-	 <view class="invitation-received" v-else>
-		 <view class="card">
-		 	<view class="positon-salary">
-		 		<view class="positon">
-		 			家政清洁
-		 		</view>
-		 		<view class="salary">
-		 			200元/天
-		 		</view>
-		 	</view>
-		 	<view class="tags-date">
-		 		<view class="company">
-		 			荆鹏家政公司
-		 			
-		 		</view>
-		 		<view class="date">
-		 			邀请时间:2023-06-01
-		 		</view>
-		 	</view>
-		 	<u-line color="#E6E6E6"></u-line>
-		 	<view class="check">
-		 		查看
-		 	</view>
-		 </view>
-	 	
-	 </view>
-	     
+		
+		<u-divider  v-if="list[current].recordsTotal==list[current].list.length"
+				 :isnone="list[current].recordsTotal==0" nonetext="没有找到相关内容" 
+				border-color="#CFD2D5">已经到底了</u-divider>
+		
 	</view>
 </template>
 
 <script>
+	import * as API from '@/apis/pagejs/packages.js'
+	
 	export default {
 		data() {
 			return {
 				list: [{
-					name: '我的报名'
+					name: '我的报名',
+					pageIndex: 1,
+					pageSize: 20,
+					recordsTotal: 1,
+					type: "0",
+					list: []
 				}, {
-					name: '收到的邀请'
+					name: '收到的邀请',
+					pageIndex: 1,
+					pageSize: 20,
+					recordsTotal: 1,
+					type: "1",
+					list: []
 				}],
 				current: 0
 			}
 		},
+		onLoad(op) {
+			if(op.c){
+				this.current=op.c
+			}
+			this.getList();
+		},
 		methods: {
+			ckInfo(item){
+				var url="/pages/packages/jobInformation/jobDetails?id="
+				uni.navigateTo({
+					url:url+item.id
+				})
+			},
+			getList() {
+			
+				uni.showLoading({
+					title: "加载中",
+					mask: true,
+				})
+				var list = this.list[this.current].list
+				var obj = this.list[this.current]
+				var listForm = {
+					...obj
+				}
+				delete listForm.list
+			
+				API.myRegistration(listForm).then((res) => {
+			
+					if (listForm.pageIndex == 1) {
+						list = res.data.data;
+					} else {
+						list = [
+							...list,
+							...res.data.data
+						];
+					}
+			
+					this.list[this.current].list = list
+			
+					this.list[this.current].recordsTotal = res.data.recordsTotal;
+					uni.hideLoading();
+				}).catch(error => {
+					uni.showToast({
+						title: error,
+						icon: "none"
+					})
+				})
+			
+			},
+			myLoadmore() {
+				this.list[this.current].pageIndex += 1;
+				this.getList();
+			},
 			change(index) {
 				this.current = index;
+				var list = this.list[this.current].list
+				if (list.length == 0) {
+					this.getList();
+				}
 			}
 		}
 	}