lyuis vor 8 Monaten
Ursprung
Commit
276f509a5a

+ 23 - 0
common/queue.js

@@ -262,5 +262,28 @@ module.exports = {
 	  });
 	
 	  return highestEducation;
+	},
+	appConfirm:function(content='请确认您的操作?',callback,title='操作提示',button=["继续","取消"]){
+		// #ifndef APP-PLUS 
+		uni.showModal({
+			title: title,
+			content: content,
+			success: function(res) {
+				if (res.confirm) {
+					callback(true)
+				}else
+					callback(false)
+			}
+		});
+		return
+		//#endif
+		// #ifdef APP-PLUS 
+		plus.nativeUI.confirm(content, function(e){
+				if(e.index==0)
+					callback(true)
+				else
+					callback(false)
+			},title,button);
+		//#endif
 	}
 };

+ 1 - 1
my/enterpriseInfo/enterpriseInfo.vue

@@ -106,7 +106,7 @@
 							style="color: #ffffff;font-size: 28rpx;font-weight: 500;">
 						</rich-text> -->
 						<view class="remarks-box-con-item">
-							汉睿国际(汉睿集团)成立于2019年11月,是一家致力于打造跨境电商一站式综合服务平台的企业。集团依托全球视野下的跨境服务资源,通过“跨境电商赋能 + 人才培养孵化 + 产业链撮合”的运营模式,推动跨境电商本土XXXXXXXXXXXXXXXXXX...
+							{{info.companyContent}}
 						</view>
 					</u-read-more>
 				</view>

+ 1 - 1
package/jobIntention/addExpectation.vue

@@ -204,7 +204,7 @@ export default {
 		},
 		selectIndustry() {
 			uni.navigateTo({
-				url: '/package/jobIntention/industry'
+				url: '/package/jobIntention/industry?industry='+this.industry
 			})
 		},
 		selectJobType(type) {

+ 3 - 2
package/jobIntention/basicInfo.vue

@@ -178,6 +178,8 @@
 				this.birthDateText=options.birthday
 			if(options&&options.ifExp)
 				this.ifExp=options.ifExp
+			if(options&&options.resumesPhone)
+				this.phone = options.resumesPhone
 			this.getUserInfo()
 		},
 		methods: {
@@ -224,7 +226,6 @@
 						this.weChatNum = res.data.weChatNum
 						this.sex = res.data.sex
 						this.age = res.data.age
-						this.phone = res.data.phone;
 						this.avatar = res.data.avatar;
 						this.userName = res.data.userName;
 					}
@@ -257,7 +258,6 @@
 								that.$Request.postJson("/app/user/updateUser", {
 									userName: that.userName,
 									avatar: that.avatar,
-									phone: that.phone,
 									sex: that.sex,
 									age: that.age,
 									weChatNum:that.weChatNum
@@ -283,6 +283,7 @@
 			setResume() {
 				let data={
 					resumesStatus:this.selectedJobStatus,
+					resumesPhone: that.phone,
 					birthday:this.birthDateText,
 					ifExp:this.ifExp
 				}

+ 20 - 10
package/jobIntention/industry.vue

@@ -21,7 +21,7 @@
 					<u-collapse>
 						<u-collapse-item :title="item.industryName" v-for="(item, index) in itemList" :key="index">
 							<view class="flex align-center flex-wrap" style="width: 100%;">
-								<view class="" @click="select(item.industryId,ite)"
+								<view class="" @click="select(ite.industryId,ite)"
 									:class="ite.select==true?'active':''"
 									style="box-sizing: border-box;color: #1F1F1F;font-size: 24rpx;padding: 16rpx 20rpx 16rpx 20rpx;background-color: #F2F2F7;margin-right: 20rpx;margin-bottom: 20rpx;"
 									v-for="(ite,ind) in item.childrenList" :key="ind">
@@ -74,19 +74,21 @@
 				itemList: [],
 				topList: [],
 				type: 1,
+				selectIndustry:[]
 			};
 		},
-		onLoad(option) {
+		onLoad(options) {
 			// 获取状态栏高度
 			const systemInfo = uni.getSystemInfoSync()
 			this.statusBarHeight = systemInfo.statusBarHeight || 0
 			
-			if (option.type == 2) {
-				this.type = option.type
+			if (options&&options.type == 2) {
+				this.type = options.type
 				uni.setNavigationBarTitle({
 					title: '选择行业'
 				})
 			}
+			this.selectIndustry=options&&options.industry?options.industry.split('/'):[]
 			this.getIndustryList()
 		},
 		methods: {
@@ -110,12 +112,21 @@
 			 * 获取行业数据
 			 */
 			getIndustryList() {
+				var that=this
 				this.$Request.get('/app/industry/getIndustryList').then(res => {
 					if (res.code == 0) {
 						let arr = res.data
 						arr.map(item => {
 							item.childrenList.map(ite => {
 								ite.select = false
+								if(that.selectIndustry.indexOf(ite.industryName)>=0){
+									ite.select = true
+									let data = {
+										industryId: ite.industryId,
+										industryName: ite.industryName
+									}
+									that.selectList.push(data)
+								}	
 							})
 						})
 						this.itemList = arr
@@ -134,19 +145,18 @@
 			//取消选择
 			closeS(item) {
 				let res = this.selectList.findIndex((ev) => {
-					return ev.name === item.name;
+					return ev.industryName === item.industryName;
 				});
-
 				if (res != -1) { //找到了 res为该下标
 					this.selectList.splice(res, 1)
 					this.itemList.map(ite => {
-						if (ite.id == item.id) {
-							ite.body.map(ite2 => {
-								if (ite2.name == item.name) {
+						//if (ite.id == item.id) {
+							ite.childrenList.map(ite2 => {
+								if (ite2.industryId == item.industryId) {
 									ite2.select = false
 								}
 							})
-						}
+						//}
 					})
 				}
 			},

+ 33 - 1
package/jobIntention/tagManage.vue

@@ -23,7 +23,7 @@
 			</view>
 			
 			<view class="job-list">
-				<view @click="addExpectation(item.intentionId)" class="job-item" v-for="item in detail.intentions">
+				<view @longpress="commonDelete(item.intentionId,'intentions')" @click.stop="addExpectation(item.intentionId)" class="job-item" v-for="item in detail.intentions">
 					<view class="job-info">
 						<view>
 							<text class="job-title">{{item.ruleClassifyName}}</text>
@@ -179,6 +179,38 @@ export default {
 		    }
 		  });
 		},
+		commonDelete(id,modules) {
+			  var that=this
+			  var action='userFirst/deleteEdu'
+			  var params={eduId:id}
+			  if(modules=='workExps'){
+				action='userFirst/deleteWorkExp'
+				params={workExpId:id}
+			  }
+			  if(modules=='intentions'){
+			  	action='intention/deleteIntention'
+			  	params={intentionId:id}
+			  }
+			  this.$queue.appConfirm('确认删除该条内容么?',function(res){
+				  if(!res)
+					return;
+				that.$Request.postJson("/app/"+action, params).then((res) => {
+				  if (res.code == 0) {
+				      // 实际开发中可以在这里添加跳转逻辑
+										var info = that.detail[modules].filter(function (item) {
+										  return item[modules=='workExps'?'workExpId':(modules=='intentions'?'intentionId':'eduId')] != id;
+										});
+										that.detail[modules]=info
+				  } else {
+				    uni.showToast({
+				      title: res.msg,
+				      icon: "none",
+				    });
+				  }
+				});
+			  })
+			  
+		},
 	},
 	onLoad() {
 		this.getData()

+ 156 - 73
package/records/records.vue

@@ -86,6 +86,31 @@
                 </view>
               </view>
             </block>
+			<block v-if="title == '面试记录'">
+			  
+			  <view class="gwList-box-item-box-info flex justify-between align-center padding0">
+				  <view class="gwList-box-item-box-info-l flex align-center">
+				  <image
+				    :src="item.company&&item.company.companyLogo ? item.company.companyLogo : '../../static/logo.png'"
+				    class="company-info-img"
+				    mode=""
+				  ></image>
+				  </view>
+				  <view class="companyRight">
+					  <view class="gwList-box-item-box-info-l flex justify-between align-center">
+					    
+					    <text class="companyName">{{ item.company&&item.company.companyName||'匿名公司' }}</text>
+					    <view class="info-tag">待面试</view>
+					  </view>
+					  <view class="gwList-box-item-box-name">
+						<text>{{ item.postPush&&item.postPush.ruleClassifyName ? item.postPush.ruleClassifyName : "匿名" }}</text>·<text>{{ item.postPush&&item.postPush.salaryRange }}</text>
+					  </view>
+					  <view class="gwList-box-item-box-info-r">
+					    {{ item.interviewDateTime }}
+					  </view>
+				  </view>
+			  </view>
+			</block>
             <block v-else>
               <view class="gwList-box-item-box-name">
                 <text>{{ item.companyName ? item.companyName : "匿名公司" }}</text>
@@ -106,9 +131,10 @@
                     class="user-info-img"
                     mode=""
                   ></image>
-                  <text v-if="item.companyLegalPerson"
-                    >{{ item.companyLegalPerson }}·创始人</text
+                  <text
+                    >{{item.user&&item.user.userName?item.user.userName:'未知'}}·{{item.hr&&item.hr.hrPosition?item.hr.hrPosition:'未知'}}</text
                   >
+				  
                   <view class="info-tag">3分钟前回复</view>
                 </view>
                 <view class="gwList-box-item-box-info-r">
@@ -127,7 +153,7 @@
       <empty />
     </view>
     <!-- 筛选悬浮 -->
-    <view class="filterSe" @click="goScreen()">
+    <view hidden class="filterSe" @click="goScreen()">
       <image src="../../static/images/my/filterSe.png" mode=""></image>
     </view>
   </view>
@@ -161,8 +187,11 @@ export default {
         {
           name: "沟通过",
         },
+		{
+		  name: "投递过",
+		},
         {
-          name: "面试过",
+          name: "面试",
         },
         {
           name: "收藏职位",
@@ -171,76 +200,23 @@ export default {
     };
   },
   onLoad(option) {
-    uni.setNavigationBarTitle({
+    /* uni.setNavigationBarTitle({
       title: option.title,
-    });
+    }); */
     uni.showLoading({
       title: "加载中",
     });
     this.title = option.title;
-    if (option.title == "我的收藏") {
-      this.getMyCollectionList();
-    } else if (option.title == "浏览记录") {
-      this.getDataList();
-    } else {
-      this.getDataLists();
-    }
+	var that=this
+	that.getFilter()
+	uni.$on('updateRecord',function(){
+		that.page = 1;
+		that.getFilter()
+	})
   },
   onUnload() {
     uni.removeStorageSync("browse");
-  },
-  watch: {
-    filter: {
-      handler() {
-        this.page = 1;
-        if (this.title == "我的收藏") {
-          this.getMyCollectionList();
-        } else if (this.title == "浏览记录") {
-          this.getDataList();
-        } else {
-          this.getDataLists();
-        }
-      },
-      deep: true,
-      immediate: true,
-    },
-  },
-  onShow() {
-    if (uni.getStorageSync("browse") && uni.getStorageSync("browse").length > 0) {
-      let browse = uni.getStorageSync("browse");
-      console.log(browse, "2222222222");
-      browse.map((item) => {
-        let arr = [];
-        item.list.map((ite) => {
-          if (ite.value != "不限") {
-            arr.push(ite.value);
-          }
-        });
-        switch (item.name) {
-          case "学历":
-            this.filter.education = arr.join(",");
-            break;
-          case "薪资":
-            this.filter.salaryRange = arr.join(",");
-            break;
-          case "经验":
-            this.filter.experience = arr.join(",");
-            break;
-          case "公司规模":
-            this.filter.companyPeople = arr.join(",");
-            break;
-          case "行业":
-            this.filter.industry = arr.join(",");
-            break;
-        }
-      });
-    } else {
-      this.filter.education = ""; //学历
-      this.filter.experience = ""; //经验
-      this.filter.industry = ""; //行业
-      this.filter.salaryRange = ""; //薪资
-      this.filter.companyPeople = ""; //公司规模
-    }
+	uni.$off('updateRecord')
   },
   onReachBottom() {
     if (this.page < this.pages) {
@@ -249,9 +225,13 @@ export default {
         this.getMyCollectionList();
       } else if (this.title == "浏览记录") {
         this.getDataList();
-      } else {
+      } else if(this.title == "投递记录") {
         this.getDataLists();
-      }
+      }else if (this.title == "沟通记录") {
+		  this.getDataLists(1);
+		}else if (this.title == "面试记录") {
+		  this.getDataLists(3);
+		}
     }
   },
   onPullDownRefresh() {
@@ -260,8 +240,12 @@ export default {
       this.getMyCollectionList();
     } else if (this.title == "浏览记录") {
       this.getDataList();
-    } else {
+    } else if (this.title == "投递记录") {
       this.getDataLists();
+    }else if (this.title == "沟通记录") {
+      this.getDataLists(1);
+    }else if (this.title == "面试记录") {
+      this.getDataLists(3);
     }
   },
   methods: {
@@ -273,12 +257,81 @@ export default {
     },
     tabClick(e) {
       this.tabIndex = e;
-      if (e == 2) {
+	  if (this.tabIndex==4) {
+	  		  this.title = "我的收藏"
+	    this.getMyCollectionList();
+	  } else if (this.tabIndex==0) {
+	  		  this.title = "浏览记录"
+	    this.getDataList();
+	  } else if(this.tabIndex==2) {
+	  		  this.title = "投递记录"
+	    this.getDataLists();
+	  }else if(this.tabIndex==1) {
+	  		  this.title = "沟通记录"
+	    this.getDataLists(1);
+	  }else if(this.tabIndex==3) {
+	  		  this.title = "面试记录"
+	    this.getDataLists(3);
+	  }
+      /* if (e == 2) {
         uni.navigateTo({
           url: "/my/jilu/mianshiDetail",
         });
-      }
+      } */
     },
+	getFilter() {
+	  if (uni.getStorageSync("browse") && uni.getStorageSync("browse").length > 0) {
+	    let browse = uni.getStorageSync("browse");
+	    console.log(browse, "2222222222");
+	    browse.map((item) => {
+	      let arr = [];
+	      item.list.map((ite) => {
+	        if (ite.value != "不限") {
+	          arr.push(ite.value);
+	        }
+	      });
+	      switch (item.name) {
+	        case "学历要求":
+	          this.filter.education = arr.join(",");
+	          break;
+	        case "薪资范围(单选)":
+	          this.filter.salaryRange = arr.join(",");
+	          break;
+	        case "经验要求":
+	          this.filter.experience = arr.join(",");
+	          break;
+	        case "公司规模":
+	          this.filter.companyPeople = arr.join(",");
+	          break;
+	        case "行业":
+	          this.filter.industry = arr.join(",");
+	          break;
+	      }
+	    });
+	  } else {
+	    this.filter.education = ""; //学历
+	    this.filter.experience = ""; //经验
+	    this.filter.industry = ""; //行业
+	    this.filter.salaryRange = ""; //薪资
+	    this.filter.companyPeople = ""; //公司规模
+	  }
+	  if (this.title == "我的收藏") {
+		  this.tabIndex=4
+	    this.getMyCollectionList();
+	  } else if (this.title == "浏览记录") {
+		  this.tabIndex=0
+	    this.getDataList();
+	  } else if (this.title == "投递记录"){
+		  this.tabIndex=2
+	    this.getDataLists();
+	  }else if (this.title == "沟通记录"){
+		  this.tabIndex=1
+	    this.getDataLists(1);
+	  }else if (this.title == "面试记录"){
+		  this.tabIndex=3
+	    this.getDataLists(3);
+	  }
+	},
     /**
      * 我的收藏记录列表
      */
@@ -322,7 +375,7 @@ export default {
         url: "/pages/index/game/order?postPushId=" + postPushId,
       });
     },
-    getDataLists() {
+    getDataLists(types=0) {
       let data = {
         page: this.page,
         limit: this.limit,
@@ -333,7 +386,19 @@ export default {
         companyPeople: this.filter.companyPeople, //公司规模
         industry: this.filter.industry, //行业
       };
-      this.$Request.getT("/app/sendRecord/getMyRecordListV2", data).then((res) => {
+	  let action='/app/sendRecord/getMyRecordListV2'
+	  switch (types){
+		  case 0: 
+		  break;
+		  case 1:
+		  	action='/admin/userBrowse/getConversationList'		  
+		  break;
+		  case 3:
+		  	action='/app/interviewRecord/interviewList'		  
+		  break;
+			
+	  }
+      this.$Request.getT(action, data).then((res) => {
         uni.stopPullDownRefresh();
         uni.hideLoading();
         if (res.code == 0) {
@@ -510,12 +575,30 @@ page {
             border-radius: 50%;
             margin-right: 8.62rpx;
           }
+		  .company-info-img{
+			  width: 100rpx;
+			  height: 100rpx;
+			  border: 1rpx solid rgba(240, 240, 240, 1);
+			  border-radius: 50%;
+			  margin-right: 30rpx;
+		  }
         }
 
         .gwList-box-item-box-info-r {
           max-width: 340rpx;
         }
+		.companyRight{
+			width: 100%;
+			.companyName{
+				font-size: 26rpx;
+				color: #353535;
+				margin-right: 20rpx;
+			}
+		}
       }
+	  .padding0{
+		  padding-top:0
+	  }
     }
   }
 }

+ 1 - 0
package/screen/screen.vue

@@ -207,6 +207,7 @@ export default {
       } else {
         uni.setStorageSync("filter", arr); //把选中的条件存到本地然后返回首页进行筛选
       }
+	  uni.$emit('updateRecord')
       uni.navigateBack();
     },
     /**

+ 1 - 1
pages.json

@@ -803,7 +803,7 @@
 				{
 					"path": "records/records",
 					"style": {
-						"navigationBarTitleText": "浏览记录",
+						"navigationBarTitleText": "求职记录",
 						"enablePullDownRefresh": true
 						// ,
 						// "navigationStyle": "custom"

+ 167 - 16
pages/index/game/gameList.vue

@@ -40,7 +40,7 @@
             <!-- 添加求职意向 -->
             <view
               class="topbg-yx-box-r flex align-center"
-              @click="goNav('/package/jobIntention/jobIntention')"
+              @click="goNav('/package/jobIntention/tagManage')"
             >
               <image
                 src="../../../static/images/index/Attachment.svg"
@@ -173,7 +173,7 @@
             :key="index"
           >
             <!-- 急聘标签 -->
-            <view class="urgent-tag">
+            <view v-if="item.isDue==1" class="urgent-tag">
               <image
                 src="../../../static/images/index/jijiji.svg"
                 class="urgent-icon"
@@ -201,7 +201,7 @@
                 <text>¥{{ item.salaryRange }}/月</text>
                 <text>
                   <text class="bonus-tag">奖</text>
-                  <text class="bonus-xin">16薪</text>
+                  <text class="bonus-xin">{{item.salaryTimes}}薪</text>
                 </text>
               </view>
 
@@ -228,7 +228,7 @@
               <view class="contact-info">
                 <image
                   :src="
-                    item.company ? item.company.companyLogo : '../../../static/logo.png'
+                    item.hr&&item.hr.hrImg?item.hr.hrImg:'../../../static/logo.png'
                   "
                   style="
                     width: 58rpx;
@@ -238,12 +238,8 @@
                   "
                   mode=""
                 ></image>
-                <view class="company-info-text" v-if="item.company">
-                  {{
-                    item.company.companyLegalPerson
-                      ? item.company.companyLegalPerson
-                      : "未知"
-                  }}·人事总监
+                <view class="company-info-text">
+                  {{item.user.userName?item.user.userName:'未知'}}·{{item.hr.hrPosition?item.hr.hrPosition:'未知'}}
                 </view>
                 <view class="reply-time">10分钟前回复</view>
               </view>
@@ -259,7 +255,7 @@
                   src="../../../static/images/index/navigation.svg"
                   class="distance-icon"
                 ></image>
-                <text class="distance">{{ item.distance || "22km" }}</text>
+                <text class="distance">{{ item.distance || "--km" }}</text>
               </view>
             </view>
           </view>
@@ -292,6 +288,10 @@ export default {
           id: 2,
           name: "最新",
         },
+		{
+			id: 3,
+			name: '附近',
+		}
       ],
       city: "",
       searchKeyword: "", // 搜索关键词
@@ -303,18 +303,73 @@ export default {
       searchLimit: 10,
       latitude: "",
       longitude: "",
+	  industry:'',
       isFixed: false, // 是否固定
       fixedThreshold: 300, // 固定阈值
+	  education : '' ,//学历
+	  experience : '' ,//经验
+	  salaryRange : '' ,//薪资
+	  companyPeople : '' //公司规模
     };
   },
   onLoad() {
     // 获取状态栏高度
     let systemInfo = uni.getSystemInfoSync();
     this.statusBarHeight = systemInfo.statusBarHeight || 0;
-
+	let that = this;
+			uni.$on('city', data => {
+				that.city = data.city
+				uni.setStorageSync('city', that.city)
+			})
+	if (uni.getStorageSync('city')) {
+		this.city = uni.getStorageSync('city')
+	} else {
+		this.city = ''
+	}
     this.getTypeList();
     this.getLocation();
-    this.getJobSearchList();
+    //this.getJobSearchList();
+  },
+  onUnload(){
+	uni.$off('city') 
+  },
+  watch: {
+  	current(newData, oldData) {
+  		console.log(this.current)
+  		uni.showLoading({
+  			title: '加载中'
+  		})
+  		this.page = 1
+  		this.getJobSearchList();
+  	},
+  	currentSx(newData, oldData) {
+  		uni.showLoading({
+  			title: '加载中'
+  		})
+  		this.page = 1
+  		this.getJobSearchList();
+  	},
+  	currentjob(newData, oldData) {
+  		uni.showLoading({
+  			title: '加载中'
+  		})
+  		this.page = 1
+  		this.getJobSearchList();
+  	},
+  	currentJobSx(newData, oldData) {
+  		uni.showLoading({
+  			title: '加载中'
+  		})
+  		this.page = 1
+  		this.getJobSearchList();
+  	},
+  	currentJobSxs(newData, oldData) {
+  		uni.showLoading({
+  			title: '加载中'
+  		})
+  		this.page = 1
+  		this.getJobSearchList();
+  	},
   },
   onPageScroll(e) {
     // 监听页面滚动
@@ -325,9 +380,91 @@ export default {
       this.isFixed = false;
     }
   },
+  onShow(){
+	//获取选中的筛选条件
+	if (uni.getStorageSync('filter') && (uni.getStorageSync('filter')).length > 0) {
+		let filter = uni.getStorageSync('filter')
+		this.education = '' //学历
+		this.experience = '' //经验
+		this.industry = '' //行业
+		this.salaryRange = '' //薪资
+		this.companyPeople = '' //公司规模
+		filter.map(item => {
+			let arr = []
+			item.list.map(ite => {
+				if (ite.value != '不限') {
+					arr.push(ite.value)
+				}
+			})
+			switch (item.name) {
+				case '学历要求':
+					this.education = arr.join(',')
+					break;
+				case '薪资范围(单选)':
+					this.salaryRange = arr.join(',')
+					break;
+				case '经验要求':
+					this.experience = arr.join(',')
+					break;
+				case '公司规模':
+					this.companyPeople = arr.join(',')
+					break;
+				case '行业':
+					this.industry = arr.join(',')
+					break;
+			}
+	
+		})
+		// console.log(filter)
+	} else {
+		this.education = '' //学历
+		this.experience = '' //经验
+		this.industry = '' //行业
+		this.salaryRange = '' //薪资
+		this.companyPeople = '' //公司规模
+	} 
+	this.getJobSearchList();
+  },
   methods: {
     // 获取工作性质列表
     getTypeList() {
+	var that=this
+	//行业期望
+	this.$Request.get('/app/intention/getIntentionList', {
+		
+	}).then(res => {
+		if (res.code == 0) {
+			let arr = res.data
+		let classRule=[{id:'',name:'',label:'全部'}]
+		let industry=[{id:'不限',name:'不限'}]
+		var industryArr=this.industry==''?[]:this.industry.split(',')
+		industryArr.forEach(function(item){
+			if(that.$queue.array_column(that.directionList,'name').indexOf(item)<0)
+				industry.push({id:item,name:item})
+		})
+		
+		arr.forEach(function(item){
+			var tmp={}
+			tmp.id=item.ruleClassifyId
+			tmp.name=item.ruleClassifyName
+			tmp.label=item.ruleClassifyName
+			classRule.push(tmp)
+			var indus=item.industry.split('/')
+			indus.forEach(function(ind){
+				var tm={}
+				tm.name=ind
+				tm.id=ind
+				if(that.$queue.array_column(industry,'name').indexOf(tm.name)<0)
+					industry.push(tm)
+			})
+		})
+			this.typeList = classRule
+			this.directionList=industry
+			that.getJobList();
+			// console.log(this.typeList, '1111')
+		}
+	})
+	return;
       this.$Request
         .getT("/app/dict/list", {
           type: "工作性质",
@@ -376,23 +513,35 @@ export default {
         success: function (res) {
           that.latitude = res.latitude;
           that.longitude = res.longitude;
-          that.getJobList();
+          that.getSelectCity(res.longitude,res.latitude)
         },
         fail: function () {
           that.getJobList();
         },
       });
     },
+	getSelectCity(longitude, latitude) {
+		let that = this;
+		this.$Request.get('/app/Login/selectCity?lat=' + latitude + '&lng=' + longitude).then(res => {
+			if (res.code == 0) {
+				// console.log(res, '获取地址信息')
+				this.city = res.data.city ? res.data.city : '区域'
+				uni.setStorageSync('city', res.data.city)
+				that.getJobList();
+			}
+		});
+	},
     // 获取职位列表
     getJobList() {
       let data = {
         page: this.page,
         limit: this.limit,
-        postType: this.typeList.length > 0 ? this.typeList[this.current].label : "",
+        postType: this.typeList.length > 0 ? this.typeList[this.current].name : "",
         screen: +this.currentSx + 1, //1推荐 2最新
         city: this.city == "全国" ? "" : this.city,
         lng: this.longitude,
         lat: this.latitude,
+		isDue:1,
         userId: uni.getStorageSync("userId") ? uni.getStorageSync("userId") : "",
       };
       this.$Request.get("/app/postPush/userGetPostPushList", data).then((res) => {
@@ -446,14 +595,16 @@ export default {
       let data = {
         page: this.searchPage,
         limit: this.searchLimit,
-        postType: this.typeList.length > 0 ? this.typeList[this.current].label : "",
+        postType: this.typeList.length > 0 ? this.typeList[this.current].name : "",
         screen: +this.currentSx + 1, //1推荐 2最新
         city: this.city == "全国" ? "" : this.city,
         lng: this.longitude,
         lat: this.latitude,
+		isDue:1,
         userId: uni.getStorageSync("userId") ? uni.getStorageSync("userId") : "",
       };
       this.$Request.get("/app/postPush/userGetPostPushList", data).then((res) => {
+		  uni.hideLoading()
         if (res.code == 0) {
           res.data.records.map((item) => {
             if (item.positionWelfare) {

+ 4 - 22
pages/index/game/order.vue

@@ -67,7 +67,7 @@
 		</view>
 
 		<!-- 急聘 -->
-		<view class="urgent-banner">
+		<view v-if="info.isDue==1" class="urgent-banner">
 			<view class="urgent-icon">
 				<image src="/static/images/index/jipin2.svg" class="icon-img"></image>
 			</view>
@@ -118,25 +118,6 @@
 							{{item}}
 						</view>
 					</view>
-
-					<view class="job-description">
-						<view class="description-item">1.负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;</view>
-						<view class="description-item">2.做好数据的统计分析工作,收集、分析市场信息,竞争对手状况,并根据产品销售与排名变化,及时制定和调整产品的销售策略;</view>
-						<view class="description-item">3.熟悉Amazon店铺操作,负责店铺产品编辑上传,精准把握关键词选择,负责标题,详情页面的优化;</view>
-						<view class="description-item">4.熟悉Amazon平台规则,熟悉Amazon站内广告投放和促销式,站外促销,找红人营销等提高曝光率和转化率的引流方;</view>
-						<view class="description-item">5.控制产品风险,合理规划FBA库存,及时合理处理滞销FBA库存;</view>
-						<view class="description-item">6.对产品销售进行跟踪,分析,及时汇报销售中存在的问题,并给出可行性意见;</view>
-						<view class="description-item">7.及时处理客户留言及回评,解答客户相关咨询与投诉,并进行问题整理统计分析,提高店铺的好评率,确保账号安全;</view>
-						<view class="description-item">8.每月定期整理分析运营各项数据,并提出相应的合理化建议。</view>
-						
-						<view class="description-item">工作经验要求:</view>
-						<view class="description-item">1.Amazon平台欧美站点1年以上独立运营经验,英语能力良好</view>
-						<view class="description-item">2.了解亚马逊平台算法逻辑和排名规则,有清晰的运营思路,掌握亚马逊平台推广技巧</view>
-						<view class="description-item">3.能接受小精品/精铺模式,品类不限,发展空间更大</view>
-						<view class="description-item">4.熟练掌握办公软件,擅长Excel表格的数据汇总和整理</view>
-						<view class="description-item">5.有团队合作精神,良好的沟通和人际交往能力,有较好的主动性及挑战自我的信心</view>
-						<view class="description-item">6.会使用各种AI来辅助运营工作,做过英国,欧洲本土号的优先录用</view>
-					</view>
 					
 					
 					<view class="jobRemarks-box-c-con" v-if="info.positionDetails">
@@ -208,7 +189,7 @@
 		</view>
 		<!-- 底部操作 -->
 		<view class="caozuo flex justify-center align-center">
-			<view class="caozuo-box-l flex justify-center align-center" @click="oneClickApply">
+			<view v-if="info&&info.isDue==1" class="caozuo-box-l flex justify-center align-center" @click="oneClickApply">
 				一键投递
 			</view>
 			<view class="caozuo-box-r flex justify-center align-center" @click="bindphone(2)">
@@ -515,6 +496,7 @@
 									}
 								})
 							} else {
+								console.log(this.info)
 								this.$Request.postJson('/app/chat/insertChatConversation', {
 									userId: uni.getStorageSync('userId'), //用户userid
 									focusedUserId: this.info.user.userId, //企业userid
@@ -648,7 +630,7 @@
 								})
 							} else {
 								// 执行一键投递逻辑
-								this.$Request.postT("/app/postPush/oneClickApply", {
+								this.$Request.postT("/app/sendRecord/addSendRecord", {
 									postPushId: this.postPushId,
 									resumesId: res.data.resumesId
 								}).then(res => {

+ 111 - 34
pages/index/index.vue

@@ -123,7 +123,7 @@
 								</view>
 								<!-- 添加求职意向 -->
 								<view class="topbg-yx-box-r flex align-center"
-									@click="goNav('/package/jobIntention/jobIntention')">
+									@click="addDirection">
 									<image src="../../static/images/index/Attachment.svg" class="attachment-icon" />
 								</view>
 							</view>
@@ -131,7 +131,7 @@
 							<!-- 第二行:筛选 -->
 							<view class="topbg-sx-box flex justify-between align-center">
 								<!-- 分类 -->
-								<view v-if="current != typeList.length - 1" class="topbg-sx-box-l flex align-center">
+								<view class="topbg-sx-box-l flex align-center">
 									<view class="topbg-sx-box-l-i" :class="currentSx==index?'active3':''"
 										@click="currentSx = index" v-for="(item,index) in sxTypeList" :key="index">
 										{{item.name}}
@@ -176,15 +176,15 @@
 
 								<!-- 标签选择 -->
 								<view class="direction-tags flex align-center flex-wrap">
-									<view class="direction-tag" :class="currentDirection==index?'active':''"
-										@click="currentDirection=index" v-for="(item,index) in directionList"
+									<view class="direction-tag" :class="industry.indexOf(item.id)>=0||(industry==''&&item.id=='不限')?'active':''"
+										@click="selectIndustry(item)" v-for="(item,index) in directionList"
 										:key="index">
 										{{item.name}}
 									</view>
-									<view class="direction-tag-add" @click="addDirection">
+									<!-- <view class="direction-tag-add" @click="addDirection">
 										<text>对应职位相关标签</text>
-									</view>
-									<view class="direction-tag-plus" @click="addDirection">
+									</view> -->
+									<view class="direction-tag-plus" @click="goIndustry">
 										<u-icon name="plus" color="#999999" size="16"></u-icon>
 									</view>
 								</view>
@@ -236,7 +236,7 @@
 														{{item.stationName}}
 													</block>
 												</view>
-												<view class="salary-text-box">
+												<view v-if="item.isDue==1" class="salary-text-box">
 													<image src="../../static/images/index/jipinIcom.svg"
 														class="jipin-icon" />
 													<text class="jipin-text">急聘</text>
@@ -263,11 +263,11 @@
 										<view class="gwList-box-item-box-info flex justify-between align-center">
 											<view class="gwList-box-item-box-info-l flex align-center">
 												<image
-													:src="item.company?item.company.companyLogo:'../../static/logo.png'"
+													: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:'未知'}}·人事总监
+												<view class="company-info-text">
+													{{item.user.userName?item.user.userName:'未知'}}·{{item.hr.hrPosition?item.hr.hrPosition:'未知'}}
 												</view>
 												<view class="reply-time">10分钟前回复</view>
 											</view>
@@ -506,6 +506,10 @@
 					{
 						id: 2,
 						name: '最新',
+					},
+					{
+						id: 3,
+						name: '附近',
 					}
 				],
 				currentjob: 0,
@@ -527,7 +531,7 @@
 						id: 2,
 						name: '最新',
 					},
-					// {
+//{
 					// 	id: 2,
 					// 	name: '优选',
 					// }
@@ -555,23 +559,10 @@
 				tuiguang: '', //分享标题
 				bgImg: '', //分享图片
 				companList: [], //公司列表
-				currentDirection: 0, //当前选中的方向
 				directionList: [ //方向列表
 					{
-						id: 1,
+						id:'不限',
 						name: '不限'
-					},
-					{
-						id: 2,
-						name: '内容运营'
-					},
-					{
-						id: 3,
-						name: '投放运营'
-					},
-					{
-						id: 4,
-						name: '店铺运营'
 					}
 				],
 			};
@@ -844,13 +835,13 @@
 						}
 					})
 					switch (item.name) {
-						case '学历':
+						case '学历要求':
 							this.education = arr.join(',')
 							break;
-						case '薪资':
+						case '薪资范围(单选)':
 							this.salaryRange = arr.join(',')
 							break;
-						case '经验':
+						case '经验要求':
 							this.experience = arr.join(',')
 							break;
 						case '公司规模':
@@ -1320,6 +1311,7 @@
 			 * 获取求职意向
 			 */
 			getJobType() {
+				return
 				this.$Request.get('/app/intention/getIntentionList').then(res => {
 					if (res.code == 0 && res.data.records.length > 0) {
 						let arr = [{
@@ -1344,8 +1336,8 @@
 				let data = {
 					page: this.page,
 					limit: this.limit,
-					postType: this.typeList.length > 0 ? this.typeList[this.current].label : '',
-					ruleClassifyName: this.jobTypeList[this.currentjob].projectName, //岗位名称
+					//postType: this.typeList.length > 0 ? this.typeList[this.current].id : '',
+					ruleClassifyName: this.typeList[this.current].name, //岗位名称
 					screen: +this.currentSx + 1, //1推荐 2最新
 					city: this.city == '全国' ? '' : this.city, //城市
 					salaryRange: this.salaryRange, //薪资范围
@@ -1355,7 +1347,7 @@
 					companyPeople: this.companyPeople, //公司规模
 					lng: this.longitude,
 					lat: this.latitude,
-					userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
+					//userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
 				}
 				this.$Request.get('/app/postPush/userGetPostPushList', data).then(res => {
 					uni.stopPullDownRefresh()
@@ -1393,6 +1385,44 @@
 			 * 工作性质
 			 */
 			getPostType() {
+				var that=this
+				//行业期望
+				this.$Request.get('/app/intention/getIntentionList', {
+					
+				}).then(res => {
+					if (res.code == 0) {
+						let arr = res.data
+					let classRule=[{id:'',name:'',label:'全部'}]
+					let industry=[{id:'不限',name:'不限'}]
+					var industryArr=this.industry==''?[]:this.industry.split(',')
+					industryArr.forEach(function(item){
+						if(that.$queue.array_column(that.directionList,'name').indexOf(item)<0)
+							industry.push({id:item,name:item})
+					})
+					
+					arr.forEach(function(item){
+						var tmp={}
+						tmp.id=item.ruleClassifyId
+						tmp.name=item.ruleClassifyName
+						tmp.label=item.ruleClassifyName
+						classRule.push(tmp)
+						var indus=item.industry?item.industry.split('/'):[]
+						indus.forEach(function(ind){
+							var tm={}
+							tm.name=ind
+							tm.id=ind
+							if(that.$queue.array_column(industry,'name').indexOf(tm.name)<0)
+								industry.push(tm)
+						})
+					})
+						classRule.push({id:'',name:'',label:''})//模拟个空企业选项,为了兼容源码和设计图
+						this.typeList = classRule
+						this.directionList=industry
+						// console.log(this.typeList, '1111')
+						this.getUserList()
+					}
+				})
+				return;
 				this.$Request.get('/app/dict/list', {
 					type: '工作性质'
 				}).then(res => {
@@ -1555,8 +1585,54 @@
 				// 这里可以添加关闭逻辑,比如隐藏卡片或记录用户选择
 				console.log('关闭VIP推荐')
 				// 可以通过v-if控制显示隐藏
-			}
-
+			},
+			selectIndustry(item){
+				var industry=this.industry==''?[]:this.industry.split(',')
+				var res=industry.indexOf(item.id)
+				if(res>=0){
+					industry.splice(res,1)
+				}else{
+					if(item.id=='不限')
+					industry=[]
+					else
+					industry.push(item.id)
+				}
+				this.industry=industry.length>0?industry.join(','):''
+				this.setIndustry()
+				this.page = 1
+				if (this.current == this.typeList.length - 1) { //公司
+					this.getComanyList()
+				} else {
+					this.getUserList()
+				}
+			},
+			setIndustry(){
+				if (uni.getStorageSync('filter') && (uni.getStorageSync('filter')).length > 0) {
+					let filter = uni.getStorageSync('filter')
+					console.log(filter)
+					let industry=this.industry==''?[]:this.industry.split(',')
+					filter.forEach(function(item){
+						if(item.name=='行业'){
+							let list=[]
+							industry.forEach(function(ite){
+								var tmp={}
+								tmp.value=ite
+								tmp.childrenList=[]
+								tmp.isEnable=1
+								tmp.select=true
+								list.push(tmp)
+							})
+							item.list=list
+						}
+					})
+					uni.setStorageSync("filter", filter);
+				}
+			} ,
+			goIndustry() {
+				uni.navigateTo({
+					url: '/package/screen/screen?industry='+this.directionList.join('/')
+				})
+			},
 		}
 	}
 </script>
@@ -1800,6 +1876,7 @@
 				letter-spacing: 0%;
 				text-align: center;
 				margin-right: 18rpx;
+				margin-bottom: 18rpx;
 				border-radius: 6px;
 				background: rgba(198, 198, 198, 0.1);
 				padding: 8rpx 12rpx;

+ 1 - 0
pages/my/educationExperience.vue

@@ -215,6 +215,7 @@ export default {
 		    if (res.code == 0) {
 		        uni.showToast({ title: "保存成功", icon: "none" });
 		        // 实际开发中可以在这里添加跳转逻辑
+				uni.$emit('updateResume')
 		      setTimeout(() => {
 		        uni.navigateBack()
 		      }, 1000);

+ 39 - 7
pages/my/onlineResume.vue

@@ -26,7 +26,7 @@
 			<view class="contact-info">
 				<view class="contact-item">
                     <image src="../../static/images/index/phone.svg" style="width: 24rpx;height: 24rpx;" mode=""></image>
-					<text class="contact-text">{{detail.userEntity&&detail.userEntity.phone}}</text>
+					<text class="contact-text">{{detail.resumeList&&detail.resumeList.resumesPhone}}</text>
 				</view>
 				<view class="contact-item">
                     <image src="../../static/images/index/wx.svg" style="width: 24rpx;height: 24rpx;" mode=""></image>
@@ -79,7 +79,7 @@
                 </view>
                 
                 <view class="job-list">
-                    <view @click="addExpectation(item.intentionId)" class="job-item" v-for="(item,index) in detail.intentions">
+                    <view @longpress="commonDelete(item.intentionId,'intentions')" @click.stop="addExpectation(item.intentionId)" class="job-item" v-for="(item,index) in detail.intentions">
                         <view class="job-info">
                             <view>
                                 <text class="job-title">{{item.ruleClassifyName}}</text>
@@ -115,7 +115,7 @@
 				</view>
 				
 				<view class="experience-list">
-					<view class="experience-item" @click="goToWorkExperience(item.workExpId)" v-for="item in detail.workExps">
+					<view class="experience-item" @longpress="commonDelete(item.workExpId,'workExps')" @click.stop="goToWorkExperience(item.workExpId)" v-for="item in detail.workExps">
 						<view class="company-logo">
 							<image src="../../static/images/index/changsha.svg" class="logo-img" mode="aspectFit"></image>
 						</view>
@@ -153,7 +153,7 @@
 				</view>
 				
 				<view class="education-list">
-					<view  class="education-item" @click="goToEducationExperience(item.eduId)" v-for="(item,index) in detail.eduList">
+					<view  class="education-item" @longpress="commonDelete(item.eduId,'eduList')" @click.stop="goToEducationExperience(item.eduId)" v-for="(item,index) in detail.eduList">
 						<view class="school-logo">
 							<image src="../../static/images/index/wuhan.svg" class="logo-img" mode="aspectFit"></image>
 						</view>
@@ -275,7 +275,7 @@
 								item.workExpDetails.push(it)
 						})
 					  })
-					  that.data.workExps=res.data.workExps
+					  that.detail.workExps=res.data.workExps
 				  } else {
 				    uni.showToast({
 				      title: res.msg,
@@ -318,7 +318,7 @@
 				console.log('1111111');
 				
 				uni.navigateTo({
-					url: '/package/jobIntention/basicInfo?resumesStatus='+this.detail.resumeList.resumesStatus+'&birthday='+this.detail.resumeList.birthday+'&ifExp='+this.detail.resumeList.ifExp
+					url: '/package/jobIntention/basicInfo?resumesStatus='+this.detail.resumeList.resumesStatus+'&birthday='+this.detail.resumeList.birthday+'&ifExp='+this.detail.resumeList.ifExp+'&resumesPhone='+this.detail.resumeList.resumesPhone
 				})
 			},
 			getBusinessTypes() {
@@ -373,7 +373,39 @@
 			      });
 			    }
 			  });
-			}
+			},
+			commonDelete(id,modules) {
+				  var that=this
+				  var action='userFirst/deleteEdu'
+				  var params={eduId:id}
+				  if(modules=='workExps'){
+					action='userFirst/deleteWorkExp'
+					params={workExpId:id}
+				  }
+				  if(modules=='intentions'){
+				  	action='intention/deleteIntention'
+				  	params={intentionId:id}
+				  }
+				  this.$queue.appConfirm('确认删除该条内容么?',function(res){
+					  if(!res)
+						return;
+					that.$Request.postJson("/app/"+action, params).then((res) => {
+					  if (res.code == 0) {
+					      // 实际开发中可以在这里添加跳转逻辑
+											var info = that.detail[modules].filter(function (item) {
+											  return item[modules=='workExps'?'workExpId':(modules=='intentions'?'intentionId':'eduId')] != id;
+											});
+											that.detail[modules]=info
+					  } else {
+					    uni.showToast({
+					      title: res.msg,
+					      icon: "none",
+					    });
+					  }
+					});
+				  })
+				  
+			},
 		},
 		watch: {
 			hasEcommerceExperience(newVal, oldVal) {