zhengkaixin 1 年之前
父節點
當前提交
bf86d9f008

+ 6 - 1
components/nx-search.vue

@@ -86,7 +86,11 @@
             radius: {
                 value: String,
                 default: 60
-            }
+            },
+			defaultSelectIndex: {
+                value: String,
+                default: 0
+            },
         },
         data() {
             return {
@@ -100,6 +104,7 @@
         },
 		created() {
 			//this.isFocus=this.setIsFocus;
+			this.selectIndex=this.defaultSelectIndex
 		},
         methods: {
             selectItem(index) {

+ 1 - 10
main.js

@@ -32,16 +32,7 @@ Vue.mixin({
 
 	},
 	methods: {
-		getAge(item){
-			var age=''
-			if(item&&item.idCard){
-				if(item.idCard.length==18){
-					var idCard=item.idCard.substring(6,10)
-					age=eval(new Date().getFullYear()+"-"+idCard)
-				}
-			}
-			return age
-		},
+		
 		getTime(item){
 			var time=item.updateTime?item.updateTime:item.createTime;
 			if(time){

+ 1 - 1
pages/main/index/index.vue

@@ -9,7 +9,7 @@
 		<view class="top">
 			<!-- 搜索框 -->
 			<view class="search">
-				<u-search placeholder="请输入找工关键字" @focus="gotoUrl('pages/packages/search/search')"
+				<u-search placeholder="请输入找工关键字" @focus="gotoUrl('pages/packages/search/search?type=1')"
 					:show-action="false"></u-search>
 			</view>
 

+ 16 - 5
pages/packages/choreInformation/jobSearchDetails.vue

@@ -54,7 +54,8 @@
 				<view class="details">
 					<!-- 照片 -->
 					<view class="photo">
-						<img :src="personInfo.photo" alt="">
+						<u-avatar :src="personInfo.photo"></u-avatar>
+						
 					</view>
 					<view class="linkman-infos">
 						<!-- 姓名电话 -->
@@ -74,10 +75,10 @@
 							<view class="tag-item">
 								{{personInfo.age}}岁
 							</view>
-							<view class="tag-item">
+							<view class="tag-item" v-if="info.educationN">
 								{{info.educationN}}
 							</view>
-							<view class="tag-item">
+							<view class="tag-item" v-if="info.workExperienceN">
 								{{info.workExperienceN}}
 							</view>
 						</view>
@@ -102,7 +103,7 @@
 			 </button>
 		 </view>
 		 <view class="btn">
-		 	<button class="dialing"  @click="showPhone=true" >一键拨号</button>
+		 	<button class="dialing"  @click="dialingBtn" >一键拨号</button>
 			<button class="invite"  :class="{
 					isJoin:isJoin
 				}"  @click="isJoinBtn"
@@ -198,8 +199,18 @@
 			this.getInfo()
 		},
 		methods: {
-			
+			dialingBtn(){
+				if(this.personInfo.phone){
+					this.showPhone=true
+				}else{
+					uni.showToast({
+						icon: 'none',
+						title:"该用户未预留手机号"
+					})
+				}
+			},
 			confirmPhone() {
+				
 				this.showPhone = false;
 				uni.makePhoneCall({
 					phoneNumber: this.personInfo.phone

+ 34 - 8
pages/packages/mine/myJobInformation/myJobInformation.vue

@@ -17,7 +17,7 @@
 					</view>
 					<view class="gender-age" v-if="userInfo.status==1">
 						<text class="text">{{userInfo.gender==1?'男':'女'}}</text>|
-						<text class="text">{{getAge(userInfo)}}岁</text>
+						<text class="text">{{userInfo.age}}岁</text>
 					</view>
 				</view>
 
@@ -46,10 +46,10 @@
 				<!-- 意向行业 -->
 				<view class="item">
 					<view class="title">
-						意向行业
+						意向行业<text>*</text>
 					</view>
-					<view class="input">
-						<u-input type="select" v-model="intendedIndustries"  @click="showselect(0)" placeholder="请选择意向行业"></u-input>
+					<view class="input"  >
+						<u-input type="select" v-model="intendedIndustries" @click="showselect(0)" readonly   placeholder="请选择意向行业"></u-input>
 						
 					</view>
 					
@@ -57,7 +57,7 @@
 				<!--意向岗位 -->
 				<view class="item">
 					<view class="title">
-						意向岗位
+						意向岗位<text>*</text>
 					</view>
 					<view class="input">
 						<u-input type="text" v-model="formData.intendedPosition"
@@ -69,7 +69,7 @@
 				<!-- 期望薪资 -->
 				<view class="item">
 					<view class="title">
-						期望薪资
+						期望薪资<text>*</text>
 					</view>
 					<view class="input2">
 						<u-input type="number"  v-model="formData.hopeSalary"
@@ -202,7 +202,30 @@
 				})
 			},
 			submit(){
-				
+				if(!this.formData.intendedIndustries){
+					uni.showToast({icon: 'none',
+						title: "请选择意向行业"
+					})
+					return
+				}
+				if(!this.formData.intendedPosition){
+					uni.showToast({icon: 'none',
+						title: "请填写想找的工作岗位"
+					})
+					return
+				}
+				if(!this.formData.hopeSalary){
+					uni.showToast({icon: 'none',
+						title: "请填写期望薪资"
+					})
+					return
+				}
+				if(!this.formData.serviceDesc){
+					uni.showToast({icon: 'none',
+						title: "请描述您能提供哪些服务"
+					})
+					return
+				}
 				
 				uni.showLoading({
 					title: "加载中",
@@ -416,7 +439,10 @@
 				.title {
 					color: rgba(51, 51, 51, 1);
 					font-size: 32rpx;
-					width: 140rpx;
+					width: 150rpx;
+					text {
+						color: #FF0000;
+					}
 				}
 				.input2 {
 					width: 360rpx;

+ 107 - 32
pages/packages/search/search.vue

@@ -7,7 +7,9 @@
 		<view class="search">
 			<view class="search-box">
 				<view class="option">
-					<nxsearch :selectList="selectList" button="inside" @search="doSearch" @confirm="doSearch"
+					<nxsearch :selectList="selectList"
+					:defaultSelectIndex="defaultSelectIndex"
+					 button="inside" @search="doSearch" @confirm="doSearch"
 						v-model="searchQuery.keyword" placeholder="输入关键字找工作" />
 
 
@@ -48,7 +50,7 @@
 					<view>筛选</view>
 				</view>
 			</view>
-			<view class="result-item"   v-for="(item,i) in tabList[current].list" :key="i"
+			<view class="result-item result-item1"   v-for="(item,i) in tabList[current].list" :key="i"
 			  @click="gotoUrl('pages/packages/choreInformation/jobSearchDetails?id='+item.id)" >
 				<!-- 照片 -->
 				<view class="photo">
@@ -70,19 +72,22 @@
 					</view>
 					<view class="bottom">
 						<view class="tags">
-						<!-- 	<view class="tag-item">
-								男
-							</view>
 							<view class="tag-item">
-								21岁
-							</view> -->
+								{{item.gender==1?'男':'女'}}
+							</view>
 							<view class="tag-item">
+								{{item.age}}岁
+							</view>
+							<view class="tag-item" v-if="item.educationN" >
 								{{item.educationN}}
 							</view>
+							<view class="tag-item" v-if="item.workExperienceN">
+								{{item.workExperienceN}}
+							</view>
 						</view>
-		
+						
 						<view class="date">
-							更新时间:{{getTime(item)}}
+							{{getTime(item)}}
 						</view>
 					</view>
 				</view>
@@ -126,7 +131,7 @@
 					</view>
 				</view>
 			</u-popup>
-			<u-divider   bgNoneColor="#F0F0F2" style="background: #F0F0F2;" v-if="tabList[current].recordsTotal==tabList[current].list.length"
+			<u-divider   bgNoneColor="#ffffff" style="background: #F0F0F2;" v-if="tabList[current].recordsTotal==tabList[current].list.length"
 					 :isnone="tabList[current].recordsTotal==0" nonetext="没有找到相关内容" 
 					border-color="#CFD2D5">已经到底了</u-divider>
 		</view>
@@ -162,13 +167,20 @@
 				<view class="content-2">
 					<!-- 标签 -->
 					<view class="tag">
+						<view class="tag-item">
+							{{item.workArea}}
+						</view>
 						<view class="tag-item">
 							{{item.settlementMethodN}}
 						</view>
+						<view class="tag-item">
+							{{item.industryN}}
+						</view>
+						
 					</view>
 					<!-- 日期 -->
 					<view class="date">
-						{{item.createTime}}
+						{{getTime(item)}}
 					</view>
 				</view>
 				<view class="content-3">
@@ -176,7 +188,7 @@
 						{{item.contacts}}
 					</view>
 					<view class="address">
-						{{item.workArea}}
+						{{item.address}}
 					</view>
 				</view>
 			</view>
@@ -236,7 +248,7 @@
 					</view>
 				</view>
 			</u-popup>
-			<u-divider   bgNoneColor="#F0F0F2" style="background: #F0F0F2;" v-if="tabList[current].recordsTotal==tabList[current].list.length"
+			<u-divider   bgNoneColor="#ffffff" style="background: #F0F0F2;" v-if="tabList[current].recordsTotal==tabList[current].list.length"
 					 :isnone="tabList[current].recordsTotal==0" nonetext="没有找到相关内容" 
 					border-color="#CFD2D5">已经到底了</u-divider>
 		</view>
@@ -381,12 +393,19 @@
 				isChecked: -1,
 				wayChecked: -1,
 				popupShow:false,
+				defaultSelectIndex:0,
+				queryForm:{
+					
+				}
 			}
 		},
 		onLoad(op) {
 			if (op.type) {
 				this.searchQuery.selectIndex = op.type
+				this.defaultSelectIndex=op.type
+				//this.$refs.nxsearch.selectItem(op.type)
 			}
+			
 
 			var sz = this.carhelp.get("setSearchHistory");
 			if (sz) {
@@ -394,6 +413,9 @@
 			} else {
 				this.searchHistory = []
 			}
+		},
+		onReady() {
+			
 		},
 		onReachBottom() {
 			if (this.list.length < this.recordsTotal) {
@@ -401,7 +423,16 @@
 			}
 		},
 		methods: {
+			changeSaralyChecked(index) {
+				this.saralyChecked = index;
+			},
+			changeWorkChecked(index) {
+				this.workChecked = index;
+			},
+			changeChecked(index) {
+				this.isChecked = index;
 			
+			},
 			popupShowOpen2(){
 				
 				if(this.workList.length==0){
@@ -540,16 +571,32 @@
 					title: "加载中",
 					mask: true,
 				})
-				API.findRecruitSearch({
-					pageIndex: 1,
-					pageSize: 20,
-					status: this.selectList[this.searchQuery.selectIndex].id,
-					content: this.searchQuery.keyword
-				}).then((res) => {
+				
+				var list = this.tabList[this.current].list
+				var obj = this.tabList[this.current]
+				var listForm = {
+					...obj,
+					...this.queryForm
+					
+				}
+				listForm.status= this.selectList[this.searchQuery.selectIndex].id,
+				listForm.content= this.searchQuery.keyword
+				delete listForm.list
+				
+				API.findRecruitSearch(listForm).then((res) => {
 					uni.hideLoading();
-					this.tabList[this.current].list = res.data.data
-					this.tabList[this.current].recordsTotal = res.data.recordsTotal
-
+					if (listForm.pageIndex == 1) {
+						list = res.data.data;
+					} else {
+						list = [
+							...list,
+							...res.data.data
+						];
+					}
+							
+					this.tabList[this.current].list = list
+							
+					this.tabList[this.current].recordsTotal = res.data.recordsTotal;
 				}).catch(error => {
 
 					uni.showToast({icon: 'none',
@@ -587,14 +634,18 @@
 				// this.queryForm.salaryEnd=""
 				// this.queryForm.workExp=""
 				
-				// if(this.saralyChecked!=-1){
-				// 	this.queryForm.salaryStart=this.salaryList[this.saralyChecked].min
-				// 	this.queryForm.salaryEnd=this.salaryList[this.saralyChecked].max
+				if(this.isChecked!=-1){
+					this.queryForm.industry=this.industryList[this.isChecked].value
+				} 
+				
+				if(this.saralyChecked!=-1){
+					this.queryForm.salaryStart=this.salaryList[this.saralyChecked].min
+					this.queryForm.salaryEnd=this.salaryList[this.saralyChecked].max
 					
-				// } 
-				// if(this.workChecked!=-1){
-				// 	this.queryForm.workExp=this.workList[this.workChecked].value
-				// } 
+				} 
+				if(this.workChecked!=-1){
+					this.queryForm.workExp=this.workList[this.workChecked].value
+				} 
 				
 				this.query();
 			},
@@ -602,6 +653,10 @@
 			
 				this.saralyChecked = -1;
 				this.workChecked = -1;
+				
+				this.isChecked = -1;
+				this.queryForm.industry=""
+				
 				this.queryForm.salaryStart=""
 				this.queryForm.salaryEnd=""
 				this.queryForm.workExp=""
@@ -699,11 +754,28 @@
 			}
 	
 		}
-	
+		.result-item1{
+			display: flex;
+		}
 		.result-item {
 			padding: 24rpx 0;
 			margin: 0 32rpx;
 			border-bottom: 1px solid #F0F0F2;
+			
+			
+			// 照片
+			.photo {
+				width: 96rpx;
+				height: 96rpx;
+				overflow: hidden;
+				border-radius: 50px;
+				border: 1px solid rgba(255, 255, 255, 1);
+			
+				img {
+					width: 100%;
+					height: 100%;
+				}
+			}
 			.content {
 				margin-left: 24rpx;
 				flex: 1;
@@ -792,7 +864,7 @@
 					display: flex;
 	
 					.tag-item {
-						width: 64rpx;
+						min-width: 64rpx;
 						height: 36rpx;
 						line-height: 36rpx;
 						border-radius: 8rpx;
@@ -801,6 +873,7 @@
 						font-size: 24rpx;
 						text-align: center;
 						margin-right: 12rpx;
+						padding: 0 12rpx;
 					}
 				}
 	
@@ -884,7 +957,9 @@
 			display: flex;
 	
 			margin-top: 8rpx;
-	
+			.reset:after{
+					border:0
+			}
 			.reset {
 				color: #999999;
 				background-color: #F3F3F4;

+ 6 - 4
pages/tab/choreInformation/choreInformation.vue

@@ -28,7 +28,7 @@
 					<view>筛选</view>
 				</view>
 			</view>
-			<view class="result-item"   v-for="(item,i) in tabList[current].list" :key="i"
+			<view class="result-item "   v-for="(item,i) in tabList[current].list" :key="i"
 			  @click="gotoUrl('pages/packages/choreInformation/jobSearchDetails?id='+item.id)" >
 				<!-- 照片 -->
 				<view class="photo">
@@ -56,10 +56,10 @@
 							<view class="tag-item">
 								{{item.age}}岁
 							</view>
-							<view class="tag-item">
+							<view class="tag-item" v-if="item.educationN" >
 								{{item.educationN}}
 							</view>
-							<view class="tag-item">
+							<view class="tag-item" v-if="item.workExperienceN">
 								{{item.workExperienceN}}
 							</view>
 						</view>
@@ -534,7 +534,9 @@
 			display: flex;
 
 			margin-top: 8rpx;
-
+			.reset:after{
+					border:0
+			}
 			.reset {
 				color: #999999;
 				background-color: #F3F3F4;

+ 5 - 2
pages/tab/jobInformation/jobInformation.vue

@@ -8,7 +8,7 @@
 			<view class="search-box">
 				<view class="option">
 					<nxsearch :selectList="selectList" button="inside" @search="doSearch" @confirm="doSearc"
-						:setIsFocus="false" @focus="gotoUrl('pages/packages/search/search')"
+						:setIsFocus="false" @focus="gotoUrl('pages/packages/search/search?type=1')"
 						v-model="searchQuery.keyword" placeholder="输入关键字找工作" />
 
 
@@ -543,7 +543,9 @@
 			display: flex;
 
 			margin-top: 8rpx;
-
+			.reset:after{
+					border:0
+			}
 			.reset {
 				color: #999999;
 				background-color: #F3F3F4;
@@ -551,6 +553,7 @@
 				height: 72rpx;
 				line-height: 72rpx;
 				border-radius: 8px;
+				
 			}
 
 			.confirm {

+ 21 - 13
pages/tab/mine/mine.vue

@@ -392,19 +392,27 @@
 				 	mask: true,
 				 })
 				 API_weixin.findUserPhoneNumber(e.detail.code).then((res) => {
-				 	//.log(res)
-					API.createUser({
-						phone:res.data,
-						openId:this.carhelp.getOpenId()
-					}).then((res2) => {
-						
-						this.findByOpenId()
-						
-					}).catch(error2 => {	 
-						uni.showToast({icon: 'none',
-							title: error2
-						})
-					})
+					 if(res.data){
+						 //.log(res)
+						 API.createUser({
+						 	phone:res.data,
+						 	openId:this.carhelp.getOpenId()
+						 }).then((res2) => {
+						 	
+						 	this.findByOpenId()
+						 	
+						 }).catch(error2 => {	 
+						 	uni.showToast({icon: 'none',
+						 		title: error2
+						 	})
+						 })
+					 }else{
+						 uni.showToast({
+							 icon: 'none',
+						 	title: "获取手机号失败,请检查"
+						 })
+					 }
+				 	
 					
 				 	
 				 }).catch(error => {

+ 13 - 2
uni_modules/uview-ui/components/u-input/u-input.vue

@@ -12,8 +12,12 @@
 		}"
 		@tap.stop="inputClick"
 	>
+		<view v-if="type == 'select'" class="u-input__input">
+			<span  class="u-input__input_select_span">{{defaultValue}}</span>
+			<span class="u-input__input_select_span span_placeholder" v-if="!defaultValue">{{placeholder}}</span>
+		</view>
 		<textarea
-			v-if="type == 'textarea'"
+			v-else-if="type == 'textarea'"
 			class="u-input__input u-input__textarea"
 			:style="[getStyle]"
 			:value="defaultValue"
@@ -350,7 +354,14 @@ export default {
 
 <style lang="scss" scoped>
 @import "../../libs/css/style.components.scss";
-
+.u-input__input_select_span{
+	line-height: 70rpx;
+	float: left;
+	
+}
+.span_placeholder{
+		color: rgb(192, 196, 204);  
+	}
 .u-input {
 	position: relative;
 	flex: 1;