Forráskód Böngészése

feat(招聘) 首页 社招 社招详情

xing.li 4 éve
szülő
commit
11f57a9bb0

+ 6 - 5
app.json

@@ -8,7 +8,8 @@
     "pages/companyProfile/companyProfile",
     "pages/workEnvironment/workEnvironment",
     "pages/schoolTrip/schoolTrip",
-    "pages/recruitInfo/recruitInfo"
+    "pages/recruitInfo/recruitInfo",
+    "pages/collection/collection"
   
     
   ],
@@ -31,14 +32,14 @@
     {
       "pagePath": "pages/sociology/sociology",
       "text": "社招",
-      "iconPath": "images/icons/order.png",
-      "selectedIconPath": "images/icons/order-active.png"
+      "iconPath": "images/icons/sociology_no.png",
+      "selectedIconPath": "images/icons/sociology_yes.png"
     },
     {
       "pagePath": "pages/school/school",
       "text": "校招",
-      "iconPath": "images/icons/order.png",
-      "selectedIconPath": "images/icons/order-active.png"
+      "iconPath": "images/icons/school_no.png",
+      "selectedIconPath": "images/icons/school_yes.png"
     },
     {
       "pagePath": "pages/person/person",

BIN
images/icons/jianjie.png


BIN
images/icons/jianli.png


BIN
images/icons/jilu.png


BIN
images/icons/like_no.png


BIN
images/icons/like_yes.png


BIN
images/icons/school_no.png


BIN
images/icons/school_yes.png


BIN
images/icons/shoucang.png


BIN
images/icons/sociology_no.png


BIN
images/icons/sociology_yes.png


+ 66 - 0
pages/collection/collection.js

@@ -0,0 +1,66 @@
+// pages/collection/collection.js
+Page({
+
+  /**
+   * 页面的初始数据
+   */
+  data: {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面加载
+   */
+  onLoad: function (options) {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面初次渲染完成
+   */
+  onReady: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面显示
+   */
+  onShow: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面隐藏
+   */
+  onHide: function () {
+
+  },
+
+  /**
+   * 生命周期函数--监听页面卸载
+   */
+  onUnload: function () {
+
+  },
+
+  /**
+   * 页面相关事件处理函数--监听用户下拉动作
+   */
+  onPullDownRefresh: function () {
+
+  },
+
+  /**
+   * 页面上拉触底事件的处理函数
+   */
+  onReachBottom: function () {
+
+  },
+
+  /**
+   * 用户点击右上角分享
+   */
+  onShareAppMessage: function () {
+
+  }
+})

+ 9 - 0
pages/collection/collection.json

@@ -0,0 +1,9 @@
+{
+  "usingComponents": {},
+  "navigationBarBackgroundColor": "#fff",
+  "navigationBarTextStyle": "black",
+  "navigationBarTitleText": "我的收藏",
+  "backgroundColor": "#fff",
+  "backgroundTextStyle": "light"
+
+}

+ 41 - 0
pages/collection/collection.wxml

@@ -0,0 +1,41 @@
+
+
+<view class="content" >
+ 
+    <view class="info" bindtap="goToInfo">
+      <view class="info_top">
+        <view class="info_top_left">拓展顾问</view>
+        <view class="info_top_right">6001-8000</view>
+      </view>
+      <view class="info_mid">
+        <view class="info_mid_left">
+          <view>萧山区|</view>
+          <view>2年|</view>
+          <view>大专</view>
+        </view>
+        <view class="info_mid_right">2020-12-01</view>
+      </view>
+      <view class="info_bottom">
+        <image src="/images/icons/user.png" class="info_bottom_img"></image>
+        <view class="info_bottom_2">拓展部</view>
+      </view>
+    </view>
+    <view class="info">
+      <view class="info_top">
+        <view class="info_top_left">招聘顾问</view>
+        <view class="info_top_right">9001-10000</view>
+      </view>
+      <view class="info_mid">
+        <view class="info_mid_left">
+          <view>金山区|</view>
+          <view>2年|</view>
+          <view>大专</view>
+        </view>
+        <view class="info_mid_right">2020-12-01</view>
+      </view>
+      <view class="info_bottom">
+        <image src="/images/icons/user.png" class="info_bottom_img"></image>
+        <view class="info_bottom_2">招聘部</view>
+      </view>
+    </view>
+</view>

+ 72 - 0
pages/collection/collection.wxss

@@ -0,0 +1,72 @@
+.content{
+  background-color: #F2F2F2;
+  padding: 20rpx;
+}
+Page {
+  width: 100%;
+  height: 100%;
+  background-color: #F2F2F2;
+}
+
+
+.info{
+  background-color: #fff;
+  width: 710rpx;
+  height: 160rpx;
+  display: flex;
+  flex-flow: column nowrap;
+  justify-content: space-around;
+  border-radius: 10rpx;
+  margin-bottom: 20rpx;
+}
+.info_top,.info_mid,.info_bottom{
+  display: flex;
+  flex-flow: row nowrap;
+  justify-content: space-between;
+  padding: 0 15rpx;
+}
+.info_bottom{
+  display: flex;
+  flex-flow: row nowrap;
+  justify-content: left;
+  padding: 0 15rpx;
+}
+.info_mid_left{
+  display: flex;
+  flex-flow: row nowrap;
+  justify-content: left;
+  
+}
+.info_bottom_img{
+  width: 35rpx;
+  height: 35rpx;
+}
+.info_top_left{
+  color: #43496a;
+  font-size: 32rpx;
+}
+.info_top_right{
+  color: #ff7c7c;
+  font-size: 28rpx;
+}
+
+.info_mid_left,.info_mid_right{
+  font-size: 12px;
+  color: #b0b4ca;
+}
+.info_bottom_2{
+  font-size: 28rpx;
+  color: #777d9c;
+  margin-left: 10rpx;
+}
+.input_text{
+  color: #c2c6da;
+  font-size: 28rpx;
+}
+.icon_search{
+  margin-left: 20rpx;
+  
+}
+.icon_clear{
+  margin-right: 20rpx;
+}

+ 1 - 1
pages/index/index.wxss

@@ -44,7 +44,7 @@ Page {
 }
 .left_2,.left_4,.right_1,.right_3{
   height: 240rpx;
-  background-color:#0489B1;
+  background-color:#1296db;
   color: #fff;
   border-radius: 10rpx;
   border:4rpx solid #000; 

+ 79 - 6
pages/person/person.js

@@ -1,4 +1,5 @@
 // pages/person/person.js
+const app = getApp()
 Page({
 
   /**
@@ -6,15 +7,22 @@ Page({
    */
   data: {
 
+    hasUserInfo: false
   },
 
   /**
    * 生命周期函数--监听页面加载
    */
-  onLoad: function (options) {
-
+  onLoad: async function (options) {
+    let userInfo = await app.getWxUserInfo()
+    if (userInfo) {
+      this.setData({
+        userInfo: userInfo,
+        hasUserInfo: true,
+        hasMobile: userInfo.mobile ? true : false
+      })
+    }
   },
-
   /**
    * 生命周期函数--监听页面初次渲染完成
    */
@@ -25,8 +33,15 @@ Page({
   /**
    * 生命周期函数--监听页面显示
    */
-  onShow: function () {
-
+  onShow: async function () {
+    let userInfo = await app.getWxUserInfo()
+    if (userInfo) {
+      this.setData({
+        userInfo: userInfo,
+        hasUserInfo: true,
+        hasMobile: userInfo.mobile ? true : false
+      })
+    }
   },
 
   /**
@@ -62,5 +77,63 @@ Page({
    */
   onShareAppMessage: function () {
 
-  }
+  },
+  getInfo: async function (e) {
+    const _self = this
+    let userInfo = e.detail.userInfo
+    userInfo['encryptedData'] = e.detail.encryptedData
+    userInfo['iv'] = e.detail.iv
+    let info = await app.wxLogin(userInfo);
+    let hasMobile = false;
+    if (info.mobile) {
+      hasMobile = true
+    }
+    _self.setData({
+      hasUserInfo: true,
+      userInfo: info,
+      hasMobile: hasMobile,
+    })
+  },
+  gotoCollection: async function (e) {
+   
+    // const isAuth = await app.isAuth()
+    // if (!isAuth) {
+    //   wx.redirectTo({
+    //     url: '/pages/prompt/prompt?page=pages/collection/collection',
+    //   })
+    //   return
+    // }
+    wx.navigateTo({
+      url: '../collection/collection',
+    })
+  },
+  gotoPersonInfo: function (e) {
+    wx.navigateTo({
+      url: '../personinfo/personinfo',
+    })
+  },
+  gotoOrder: function (e) {
+    wx.switchTab({
+      url: '../personorder/personorder',
+    })
+  },
+  getMobile: async function (params) {
+    console.log(params);
+    let _self = this
+    const data = {
+      encryptedData:params.detail.encryptedData,
+      iv: params.detail.iv
+    }
+    const userInfo = await app.getPhoneNumber(data)
+    console.log(userInfo)
+    let hasMobile = false
+    if (userInfo.mobile > 1) {
+      hasMobile:true
+    }
+    _self.setData({
+      hasMobile: hasMobile,
+      mobile: userInfo.mobile,
+      userInfo
+    })
+  },
 })

+ 63 - 0
pages/person/person.wxml

@@ -1 +1,64 @@
 
+<!--pages/person/person.wxml-->
+<view class="container">
+    <view class="person card" wx:if="{{hasUserInfo}}" bindtap = "gotoPersonInfo">
+        <view class="person-info">
+            <view class="user-name f18 c-202020" bindtap = "gotoPersonInfo">{{userInfo.name}}
+                <image class="next" src="../../images/icons/next.png" >
+                </image>
+            </view>
+            <view class="tel c-707070 fw300">{{userInfo.mobile}}</view>
+            <button open-type="getPhoneNumber" catchgetphonenumber="getMobile" class="login-btn" wx:if="{{!userInfo.mobile}}" >获取手机号</button>
+        </view>
+        <view class="head-img">
+            <image class="" src="{{userInfo.avatar}}">
+            </image>
+        </view>
+    </view>
+    <view wx:else class="user-login">
+        <view class="person-info">
+            <view class="user-name f18 c-202020">
+                <button open-type="getUserInfo" bindgetuserinfo="getInfo" class="login-btn"
+            style="height: 100px;width: 200px;">请点击登录</button>
+                <image class="next" src="../../images/icons/next.png">
+                </image>
+            </view>
+        </view>
+        <view class="head-img">
+            <image class="defult-user" src="../../images/icons/defult-user.png">
+
+            </image>
+            
+        </view>
+        
+
+
+    </view>
+    <view class="order" bindtap = "gotoOrder">
+        <image class="icons" src="../../images/icons/jianli.png">
+        </image>
+        <view class="order-text">我的简历
+        </view>
+        <image class="next-gray" src="../../images/icons/next-gray.png">
+        </image>
+    </view>
+    <view class="assess" bindtap = "gotoComment">
+        <image class="icons" src="../../images/icons/jilu.png"></image>
+        <view class="assess-text">投递记录
+
+        </view>
+        <image class="next-gray" src="../../images/icons/next-gray.png">
+
+        </image>
+    </view>
+
+    <view class="assess" bindtap = "gotoCollection">
+        <image class="icons" src="../../images/icons/shoucang.png"></image>
+        <view class="assess-text">我的收藏
+
+        </view>
+        <image class="next-gray" src="../../images/icons/next-gray.png">
+
+        </image>
+    </view>
+</view>

+ 135 - 1
pages/person/person.wxss

@@ -1 +1,135 @@
-/* pages/person/person.wxss */
+.container .person {
+  display: flex;
+  height: 260rpx;
+  padding: 10rpx 30rpx;
+  justify-content: space-between;
+  align-items: center;
+}
+
+.container .person .person-info {
+  padding-left: 40rpx;
+}
+
+.container .person .person-info .user-name {
+  position: relative;
+  margin-top: 10rpx;
+}
+
+.container .person .person-info .user-name .next {
+  width: 35rpx;
+  height: 35rpx;
+  position: absolute;
+  right: -74rpx;
+  top: 12rpx;
+  z-index: -1;
+}
+
+.container .person .person-info .tel {
+  margin-top: 20rpx;
+}
+
+.container .person .head-img {
+  width: 180rpx;
+  height: 180rpx;
+  border-radius: 50%;
+}
+
+.container .person .head-img image {
+  width: 180rpx;
+  height: 180rpx;
+  border-radius: 50%;
+}
+
+.container .user-login {
+  display: flex;
+  height: 260rpx;
+  padding: 10rpx 30rpx;
+  border-bottom: 1px solid #ebeef5;
+  background-size: cover;
+  position: relative;
+}
+
+.container .user-login .login-btn {
+  background-color: transparent;
+  position: absolute;
+  line-height: 100px;
+  top: 14%;
+  font-weight: 400;
+  letter-spacing: 5rpx;
+  line-height: 88px;
+  text-align: left;
+}
+
+.container .user-login .next {
+  width: 50rpx;
+  height: 50rpx;
+  position: absolute;
+  top: 122rpx;
+  right: 385rpx;
+}
+
+.container .user-login .defult-user {
+  width: 150rpx;
+  height: 150rpx;
+  position: absolute;
+  top: 70rpx;
+  right: 65rpx;
+}
+
+.container .order {
+  display: flex;
+  width: 100%;
+  height: 120rpx;
+  background-color: #fff;
+  border-bottom: 1px solid #ebeef5;
+  justify-content: flex-start;
+  position: relative;
+}
+
+.container .order .icons {
+  width: 55rpx;
+  height: 55rpx;
+  margin: 32rpx 23rpx;
+}
+
+.container .order .order-text {
+  line-height: 120rpx;
+  letter-spacing: 3rpx;
+}
+
+.container .order .next-gray {
+  width: 30rpx;
+  height: 30rpx;
+  position: absolute;
+  right: 30rpx;
+  top: 45rpx;
+}
+
+.container .assess {
+  display: flex;
+  width: 100%;
+  height: 120rpx;
+  background-color: #fff;
+  border-bottom: 1px solid #ebeef5;
+  justify-content: flex-start;
+  position: relative;
+}
+
+.container .assess .icons {
+  width: 55rpx;
+  height: 55rpx;
+  margin: 32rpx 23rpx;
+}
+
+.container .assess .assess-text {
+  line-height: 120rpx;
+  letter-spacing: 3rpx;
+}
+
+.container .assess .next-gray {
+  width: 30rpx;
+  height: 30rpx;
+  position: absolute;
+  right: 30rpx;
+  top: 45rpx;
+}

+ 34 - 1
pages/recruitInfo/recruitInfo.js

@@ -5,7 +5,7 @@ Page({
    * 页面的初始数据
    */
   data: {
-
+    imgUrl:'/images/icons/like_no.png'
   },
 
   /**
@@ -62,5 +62,38 @@ Page({
    */
   onShareAppMessage: function () {
 
+  },
+  saveLike:function(){
+    var imgUrl =  '/images/icons/like_no.png';
+    if(this.data.imgUrl =='/images/icons/like_no.png'){
+      imgUrl = '/images/icons/like_yes.png';
+   
+      wx.showToast({
+        title: '已收藏',
+        image:imgUrl,
+        duration: 2000
+      })
+    
+    }
+    this.setData({
+      imgUrl:imgUrl
+    })
+  },
+  //投递简历
+  saveResume:function(){
+    wx.showModal({
+      title: '提示',
+      content: '您可申请2个社招职位,还剩2个,是否继续投递',
+      confirmText:'确认投递',
+      confirmColor:'#1296db',
+      success (res) {
+        if (res.confirm) {
+          console.log('用户点击确定')
+        } else if (res.cancel) {
+          console.log('用户点击取消')
+        }
+      }
+    })
   }
+
 })

+ 12 - 4
pages/recruitInfo/recruitInfo.wxml

@@ -46,14 +46,12 @@
       <view class="duty_top_r">任职资格</view>
     </view>
     <view class="duty_desc">
-      1、大专及以上学历,工商管理、市场营销等商科专业优先;
-      2、2-5年工作经验,熟悉连锁餐饮、茶饮、零售、生鲜拓展模式优先;
-      3、具有良好的系统思维、学习创新能力、市场洞察能力、语言表达能力、分析判断和决策能力;
+      1、大专及以上学历,工商管理、市场营销等商科专业优先; 2、2-5年工作经验,熟悉连锁餐饮、茶饮、零售、生鲜拓展模式优先;3、具有良好的系统思维、学习创新能力、市场洞察能力、语言表达能力、分析判断和决策能力;
       4、具有C1驾照,身体状况良好,适应长期出差。
     </view>
   </view>
 
-  <view class="duty">
+  <view class="duty" style="margin-bottom:120rpx">
     <view class="duty_top">
       <view class="duty_top_l"></view>
       <view class="duty_top_r">沪上阿姨</view>
@@ -66,4 +64,14 @@
       2020年11月,沪上阿姨获得嘉御基金近亿元人民币A轮融资,正加速迈向“百城万店,造福万家”的企业愿景,目标成为一家受人尊敬的百年茶饮品牌。
     </view>
   </view>
+
+  <view class="bottom">
+    <view class="bottom_left" bindtap="saveLike">
+      <image src="{{imgUrl}}" class="bottom_left_top"></image>
+      <view class="bottom_left_bottom">
+        收藏
+      </view>
+    </view>
+    <view class="bottom_right" bindtap="saveResume">投递简历</view>
+  </view>
 </view>

+ 38 - 0
pages/recruitInfo/recruitInfo.wxss

@@ -99,4 +99,42 @@ Page {
   word-break: break-all;
   white-space: pre-line;
 }
+.bottom{
+  display: flex;
+  flex-flow: row nowrap;
+  justify-content: space-between;
+  align-items: center;
+  position: fixed;
+  background-color: #fff;
+  border-radius: 10rpx;
+  height: 100rpx;
+  bottom: 0rpx;
+  left: 0rpx;
+  width: 100%;
+}
+.bottom_left{
+  display: flex;
+  flex-flow: column nowrap;
+  justify-content: space-between;
+  align-items: center;
+  width: 30%;
+}
+.bottom_left_top{
+  height: 50rpx;
+  width: 50rpx;
+}
+.bottom_left_bottom{
+  font-size: 24rpx;
+}
+.bottom_right{
+  width: 50%;
+  text-align: center;
+  margin-right: 30rpx;
+  background-color:rgb(93, 173, 226);
+  height: 70rpx;
+  color: #fff;
+  line-height: 70rpx;
+  border-radius: 10rpx;
+  margin-top: 15rpx;
+}
 

+ 1 - 1
pages/school/school.wxss

@@ -35,7 +35,7 @@ Page {
 }
 .c_name{
   font-size: 36rpx;
-  color: #0489B1;
+  color: #1296db;
 }
 .desc{
   font-size: 24rpx;

+ 1 - 1
pages/sociology/sociology.wxss

@@ -35,7 +35,7 @@ Page {
 }
 .c_name{
   font-size: 36rpx;
-  color: #0489B1;
+  color: #1296db;
 }
 .desc{
   font-size: 24rpx;

+ 6 - 0
project.private.config.json

@@ -21,6 +21,12 @@
         {
           "name": "pages/recruitInfo/recruitInfo",
           "pathName": "pages/recruitInfo/recruitInfo",
+          "query": "",
+          "scene": null
+        },
+        {
+          "name": "pages/person/person",
+          "pathName": "pages/person/person",
           "scene": null
         }
       ]