浏览代码

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

# Conflicts:
#	common/config.js
fuchaoyong 2 周之前
父节点
当前提交
6795589a05

+ 1 - 1
common/config.js

@@ -28,4 +28,4 @@ if (process.env.NODE_ENV !== 'development') {
 		WSHOST4: ROOTPATH4
 		WSHOST4: ROOTPATH4
 	
 	
 	};
 	};
-}
+}

+ 7 - 7
my/order/index.vue

@@ -8,12 +8,12 @@
 		<view>
 		<view>
 			<view class="box" v-for="(item,index) in goods" :key="index"
 			<view class="box" v-for="(item,index) in goods" :key="index"
 				@click="goNav('/my/order/pay?postPushId='+item.postPushId)">
 				@click="goNav('/my/order/pay?postPushId='+item.postPushId)">
-				<view class="flex align-center justify-between padding-lr padding-tb-sm">
+				<!-- <view class="flex align-center justify-between padding-lr padding-tb-sm">
 					<view style="color: #00B88F;font-size: 28rpx;font-weight: bold;"><text
 					<view style="color: #00B88F;font-size: 28rpx;font-weight: bold;"><text
 							v-if="item.isOverdue==1">到期</text>{{item.statusName}}</view>
 							v-if="item.isOverdue==1">到期</text>{{item.statusName}}</view>
 					<view class="text-sm" style="color: #999999;">{{item.createTime}}</view>
 					<view class="text-sm" style="color: #999999;">{{item.createTime}}</view>
 				</view>
 				</view>
-				<view style="width: 100%;height: 1rpx;background: #EEEEEE;"></view>
+				<view style="width: 100%;height: 1rpx;background: #EEEEEE;"></view> -->
 				<view class="padding-lr padding-tb-sm">
 				<view class="padding-lr padding-tb-sm">
 					<view class="flex align-center justify-between">
 					<view class="flex align-center justify-between">
 						<view class="text-bold" style="color: #1F1F1F;font-size: 38upx;">
 						<view class="text-bold" style="color: #1F1F1F;font-size: 38upx;">
@@ -33,19 +33,19 @@
 							{{ite}}
 							{{ite}}
 						</view>
 						</view>
 					</view>
 					</view>
-					<view class="address flex align-center justify-between">
+					<!-- <view class="address flex align-center justify-between">
 						<view class="" style="color: #999999;">
 						<view class="" style="color: #999999;">
 							{{item.company?item.company.companyName:''}}
 							{{item.company?item.company.companyName:''}}
 						</view>
 						</view>
 						<view class="" style="color: #666666;">
 						<view class="" style="color: #666666;">
 							{{item.city}} {{item.county}}
 							{{item.city}} {{item.county}}
 						</view>
 						</view>
-					</view>
+					</view> -->
 				</view>
 				</view>
 				<view style="width: 100%;height: 1rpx;background: #EEEEEE;"></view>
 				<view style="width: 100%;height: 1rpx;background: #EEEEEE;"></view>
-				<view class="flex align-center padding-tb justify-end padding-lr">
+				<!-- <view class="flex align-center padding-tb justify-end padding-lr">
 					<view class="flex align-center">
 					<view class="flex align-center">
-						<!-- <view class="btn" @click.stop="Changekefu()">联系客服</view> -->
+						<view class="btn" @click.stop="Changekefu()">联系客服</view>
 						<view class="btn" v-if="item.status == 2" @click.stop="closeJob(item.postPushId,'close')">关闭岗位
 						<view class="btn" v-if="item.status == 2" @click.stop="closeJob(item.postPushId,'close')">关闭岗位
 						</view>
 						</view>
 						<view class="btn" v-if="item.status == 5 && item.isOverdue == 0"
 						<view class="btn" v-if="item.status == 5 && item.isOverdue == 0"
@@ -57,7 +57,7 @@
 							@click.stop="updataServeType(item.postPushId,'updata')">修改内容</view>
 							@click.stop="updataServeType(item.postPushId,'updata')">修改内容</view>
 						<view v-if="item.status==1" class="btn" @click.stop="cancelProject(item.postPushId)">取消招聘</view>
 						<view v-if="item.status==1" class="btn" @click.stop="cancelProject(item.postPushId)">取消招聘</view>
 					</view>
 					</view>
-				</view>
+				</view> -->
 			</view>
 			</view>
 		</view>
 		</view>
 		<empty v-if="goods.length==0" />
 		<empty v-if="goods.length==0" />

+ 145 - 0
package/jobIntention/addAddress.vue

@@ -0,0 +1,145 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="岗位描述" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="title">添加地址</view>
+        <view class="form-item">
+          <view class="item-label"> 工作地址 </view>
+          <u-input
+            placeholder="请输入办公大楼名称,例:碧桂园凤凰智谷"
+            v-model="address"
+            clearable
+            class="custom-input"
+            :customStyle="{ padding: '8rpx 24rpx ' }"
+          >
+            <template #prefix>
+              <u-icon name="phone" size="36rpx" color="#999" marginRight="20rpx"></u-icon>
+            </template>
+          </u-input>
+        </view>
+        <view class="form-item">
+          <view class="item-label"> 楼层/单元室 </view>
+          <u-input
+            placeholder="楼层/单元室/门牌号,例:3层302室"
+            v-model="addressDetail"
+            clearable
+            class="custom-input"
+            :customStyle="{ padding: '8rpx 24rpx ' }"
+          >
+            <template #prefix>
+              <u-icon name="phone" size="36rpx" color="#999" marginRight="20rpx"></u-icon>
+            </template>
+          </u-input>
+        </view>
+      </view>
+    </view>
+    <view class="submit-btn" @click="goBack">确定</view>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      address: "",
+      addressDetail: '',
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    onInput(e) {
+      //   console.log(e);
+      // 如果需要额外的输入控制
+      //   this.text = e.detail.value;
+    },
+    goBack() {
+      uni.navigateBack();
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 40rpx;
+        font-weight: 600;
+      }
+    }
+  }
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 20rpx;
+  }
+}
+.form-item {
+  margin-bottom: 32rpx;
+  width: 100%;
+}
+.item-label {
+  color: rgba(18, 26, 44, 1);
+  font-family: Roboto;
+  font-size: 32rpx;
+  font-weight: 400;
+  line-height: 51.2rpx;
+  letter-spacing: 0px;
+  text-align: left;
+  padding-bottom: 6rpx;
+  padding: 10rpx 0;
+  box-sizing: border-box;
+}
+
+.custom-input {
+  box-sizing: border-box;
+  border: 2rpx solid rgba(158, 161, 168, 1);
+  border-radius: 100rpx;
+  background: rgba(255, 255, 255, 1);
+  padding: 8rpx 24rpx !important;
+}
+::v-deep .u-input {
+  text-align: left !important;
+}
+</style>

+ 158 - 0
package/jobIntention/editJob.vue

@@ -0,0 +1,158 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="岗位描述" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="title">岗位描述</view>
+        <view class="desc"
+          >请勿填写QQ、微信、电话等联系方式及特殊符号,性别歧视词、
+          违反劳动法相关内容,否则有可能导致账号封禁。</view
+        >
+        <view class="check-box">
+          <textarea
+            v-model="text"
+            placeholder="1.工作内容
+2.任务要求
+3.特别说明"
+            maxlength="500"
+            @input="onInput"
+            class="textarea"
+          ></textarea>
+          <view class="word-count">
+            <text>{{ text ? text.length : 0 }}</text> /500</view
+          >
+        </view>
+      </view>
+    </view>
+    <view class="submit-btn" @click="goJobPosting">确定</view>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      peopleList: [
+        "0-20人",
+        "20-99人",
+        "100-499人",
+        "500-999人",
+        "1000-9999人",
+        "10000人以上",
+      ],
+      text: "",
+      check: 0,
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    onInput(e) {
+      //   console.log(e);
+      // 如果需要额外的输入控制
+      //   this.text = e.detail.value;
+    },
+    goJobPosting() {
+      uni.navigateTo({
+        url: `/pages/my/jobPosting?text=${this.text}`,
+      });
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 40rpx;
+        font-weight: 600;
+      }
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-box {
+        width: 100%;
+        border-radius: 12rpx;
+        background: rgba(240, 240, 240, 1);
+        padding: 34rpx;
+        padding-top: 40rpx;
+        box-sizing: border-box;
+        .word-count {
+          font-family: DM Sans;
+          font-size: 20rpx;
+          font-weight: 400;
+          line-height: 26rpx;
+          text-align: right;
+          text {
+            color: #016bf6;
+          }
+        }
+      }
+    }
+  }
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 20rpx;
+  }
+}
+::v-deep .textarea-placeholder {
+  color: rgba(153, 153, 153, 1);
+  font-family: DM Sans;
+  font-size: 20rpx !important;
+  font-weight: 400;
+  line-height: 26rpx;
+}
+::v-deep .uni-textarea-textarea {
+  font-size: 20rpx;
+}
+</style>

+ 195 - 0
package/jobIntention/fund.vue

@@ -0,0 +1,195 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="福利待遇" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="title">福利待遇</view>
+        <view class="check-box">
+          <textarea
+            v-model="text"
+            placeholder="请详细描述公司的福利待遇"
+            maxlength="500"
+            @input="onInput"
+            class="textarea"
+          ></textarea>
+          <view class="word-count">
+            <text>{{ text ? text.length : 0 }}</text> /500</view
+          >
+        </view>
+        <view class="fund-box">
+          <view
+            class="fund-item"
+            :class="{ 'fund-check': checkList.includes(index) }"
+            v-for="(item, index) in fundList"
+            :key="index"
+            @click="checkFund(index)"
+          >
+            {{ item }}
+          </view>
+        </view>
+        <view class="fund-desc-txt">已选{{ checkList.length }}个</view>
+      </view>
+    </view>
+    <view class="submit-btn" @click="goBack">确定</view>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      fundList: [
+        "五险一金",
+        "定期体检",
+        "年终奖",
+        "带薪年假",
+        "员工旅游",
+        "节日福利",
+        "绩效",
+        "零食下午茶",
+      ],
+      text: "",
+      checkList: [],
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    onInput(e) {
+      //   console.log(e);
+      // 如果需要额外的输入控制
+      //   this.text = e.detail.value;
+    },
+    goBack() {
+      uni.navigateBack();
+    },
+    checkFund(index) {
+      const currentIndex = this.checkList.indexOf(index);
+      if (currentIndex > -1) {
+        // 如果已选中,移除
+        this.checkList.splice(currentIndex, 1);
+      } else {
+        // 如果未选中,添加
+        this.checkList.push(index);
+      }
+    },
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 40rpx;
+        font-weight: 600;
+      }
+
+      .check-box {
+        width: 100%;
+        border-radius: 12rpx;
+        background: rgba(240, 240, 240, 1);
+        padding: 34rpx;
+        padding-top: 40rpx;
+        box-sizing: border-box;
+        margin: 20rpx 0;
+        .word-count {
+          font-family: DM Sans;
+          font-size: 20rpx;
+          font-weight: 400;
+          line-height: 26rpx;
+          text-align: right;
+          text {
+            color: #016bf6;
+          }
+        }
+      }
+    }
+  }
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 20rpx;
+  }
+}
+.fund-desc-txt {
+  color: #016bf6;
+  font-family: DM Sans;
+  font-size: 20rpx;
+  font-weight: 400;
+  line-height: 26rpx;
+  width: 100%;
+  margin-top: 8rpx;
+}
+.fund-box {
+  display: flex;
+  align-items: center;
+  flex-wrap: wrap;
+  gap: 8rpx;
+  .fund-item {
+    flex-shrink: 0;
+    box-sizing: border-box;
+    border: 1rpx solid rgba(255, 102, 0, 1);
+    border-radius: 8rpx;
+    padding: 8rpx;
+    color: #016bf6;
+    font-family: DM Sans;
+    font-size: 16rpx;
+    font-weight: 400;
+    text-align: left;
+  }
+  .fund-check {
+    background: #fce9dc;
+    border-color: #fce9dc;
+  }
+}
+::v-deep .textarea-placeholder {
+  color: rgba(153, 153, 153, 1);
+  font-family: DM Sans;
+  font-size: 20rpx !important;
+  font-weight: 400;
+  line-height: 26rpx;
+}
+::v-deep .uni-textarea-textarea {
+  font-size: 20rpx;
+}
+</style>

+ 65 - 0
pages.json

@@ -42,6 +42,13 @@
 				"navigationStyle": "custom"
 				"navigationStyle": "custom"
 			}
 			}
 		},
 		},
+		{
+			"path": "pages/my/jobPostingSecond",
+			"style": {
+				"navigationBarTitleText": "发布职位",
+				"navigationStyle": "custom"
+			}
+		},
 		{
 		{
 			"path": "pages/index/search/index",
 			"path": "pages/index/search/index",
 			"style": {
 			"style": {
@@ -165,6 +172,34 @@
 				"navigationStyle": "custom"
 				"navigationStyle": "custom"
 			}
 			}
 		},
 		},
+		{
+			"path": "pages/jobManagement/jobManagement",
+			"style": {
+				"navigationBarTitleText": "职位管理",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/jobManagement/jobDetail",
+			"style": {
+				"navigationBarTitleText": "职位详情",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/talentSearch/index",
+			"style": {
+				"navigationBarTitleText": "搜索",
+				"navigationStyle": "custom"
+			}
+		},
+		{
+			"path": "pages/talentSearch/filter",
+			"style": {
+				"navigationBarTitleText": "筛选",
+				"navigationStyle": "custom"
+			}
+		},
 		{
 		{
 			"path": "pages/index/webView",
 			"path": "pages/index/webView",
 			"style": {
 			"style": {
@@ -475,6 +510,14 @@
 						"navigationStyle": "custom"
 						"navigationStyle": "custom"
 					}
 					}
 				},
 				},
+				{
+					"path": "jobIntention/editJob",
+					"style": {
+						"navigationBarTitleText": "岗位描述",
+						"enablePullDownRefresh": false,
+						"navigationStyle": "custom"
+					}
+				},
 				{
 				{
 					"path": "jobIntention/edit",
 					"path": "jobIntention/edit",
 					"style": {
 					"style": {
@@ -539,6 +582,22 @@
 						"navigationStyle": "custom"
 						"navigationStyle": "custom"
 					}
 					}
 				},
 				},
+				{
+					"path": "jobIntention/addAddress",
+					"style": {
+						"navigationBarTitleText": "添加地址",
+						"enablePullDownRefresh": false,
+						"navigationStyle": "custom"
+					}
+				},
+							{
+					"path": "jobIntention/fund",
+					"style": {
+						"navigationBarTitleText": "福利待遇",
+						"enablePullDownRefresh": false,
+						"navigationStyle": "custom"
+					}
+				},
 				{
 				{
 					"path": "jobIntention/basicInfo",
 					"path": "jobIntention/basicInfo",
 					"style": {
 					"style": {
@@ -1088,6 +1147,12 @@
 				"selectedIconPath": "static/tabbar/ACjipin.png",
 				"selectedIconPath": "static/tabbar/ACjipin.png",
 				"text": "急聘"
 				"text": "急聘"
 			},
 			},
+			{
+				"pagePath": "pages/talentSearch/index",
+				"iconPath": "static/tabbar/Hrsearch.png",
+				"selectedIconPath": "static/tabbar/ACsearch.png",
+				"text": "搜索"
+			},
 			{
 			{
 				"pagePath": "pages/msg/index",
 				"pagePath": "pages/msg/index",
 				"iconPath": "static/tabbar/Chat.png",
 				"iconPath": "static/tabbar/Chat.png",

+ 272 - 79
pages/index/index.vue

@@ -291,20 +291,24 @@
 			</block>
 			</block>
 			<!-- 企业版 -->
 			<!-- 企业版 -->
 			<block v-else>
 			<block v-else>
-				<!-- banner -->
-				<view class="banner flex justify-center">
-					<view class="banner-box">
-						<swiper :indicator-dots="false" style="width: 100%;height: 100%;" :autoplay="true"
-							:interval="5000" :duration="300">
-							<swiper-item v-for="(item,index) in bannerList" :key="index">
-								<view class="swiper-item" style="width: 100%;height: 100%;">
-									<image :src="item.imageUrl" style="width: 100%;height: 100%;border-radius: 24rpx;"
-										mode="scaleToFill"></image>
-								</view>
-							</swiper-item>
-						</swiper>
+				<!-- 顶部banner图片 -->
+				<!-- 
+					<view class="banner flex justify-center">
+						<view class="banner-box">
+							<swiper :indicator-dots="false" style="width: 100%;height: 100%;" :autoplay="true"
+								:interval="5000" :duration="300">
+								<swiper-item v-for="(item,index) in bannerList" :key="index">
+									<view class="swiper-item" style="width: 100%;height: 100%;">
+										<image :src="item.imageUrl" style="width: 100%;height: 100%;border-radius: 24rpx;"
+											mode="scaleToFill"></image>
+									</view>
+								</swiper-item>
+							</swiper>
+						</view>
 					</view>
 					</view>
-				</view>
+				-->
+				
+				<!-- 最新公告 -->
 				<view class="announcement" v-if="gongao.length!=0">
 				<view class="announcement" v-if="gongao.length!=0">
 					<view class="announcementbox">
 					<view class="announcementbox">
 						<view class="anount">最新公告</view>
 						<view class="anount">最新公告</view>
@@ -335,57 +339,73 @@
 				<u-sticky @fixed="isfixed" @unfixed="isunfixed" :radius='40' h5-nav-height="0" :enable="enable">
 				<u-sticky @fixed="isfixed" @unfixed="isunfixed" :radius='40' h5-nav-height="0" :enable="enable">
 					<view class="qySx flex justify-center" :class="isfixeds==true?'isfixed':'isfixeds'">
 					<view class="qySx flex justify-center" :class="isfixeds==true?'isfixed':'isfixeds'">
 						<view class="qySx-box">
 						<view class="qySx-box">
-							<view class="qySx-box-sxp flex justify-between">
+							<!-- 第一行:tabs -->
+							<view class="qySx-box-row flex justify-between align-center">
 								<view class="qySx-box-l flex align-center">
 								<view class="qySx-box-l flex align-center">
-									<scroll-view scroll-x="true" class="topbg-scroll"
-										:scroll-into-view="'bottomView'+currentJobSx" scroll-with-animation="true">
-										<view class="qySx-box-l-i flex flex-wrap align-center" :id="'bottomView'+index"
-											@tap="currentJobSx=index;getDomWidth()"
-											v-for="(item,index) in jobSxTypeList" :key="index">
-											<view class="jobtitle" style="z-index: 999;"
-												:class="currentJobSx==index?'activeQ':''">
-												{{item.name}}
-												<view class="jobtitleBom"
-													:style="domeWidth>0?'width:'+domeWidth+'rpx':''"
-													v-if="currentJobSx==index"
-													style="height: 14rpx;background: linear-gradient(90deg, #08F3CE 0%, #05F3A7 100%);border-radius: 7rpx;">
-												</view>
-											</view>
-
-										</view>
-									</scroll-view>
-
-
+									<view class="qySx-box-l-i" :class="currentJobSx==index?'active':''"
+										@tap="currentJobSx=index;getDomWidth()" v-for="(item,index) in jobSxTypeList" :key="index">
+										{{item.name}}
+									</view>
 								</view>
 								</view>
+								<!-- 发布招聘 -->
 								<view class="qySx-box-r flex align-center" @click="goNavss('/package/addJob/addJob')">
 								<view class="qySx-box-r flex align-center" @click="goNavss('/package/addJob/addJob')">
-									<text style="margin-right: 20rpx;color: #00B88F;">发布招聘</text>
-									<u-icon name="plus-circle" color="#00B88F" size="38"></u-icon>
+									<image src="../../static/images/index/Attachment.svg" class="attachment-icon" />
 								</view>
 								</view>
 							</view>
 							</view>
-							<view class="qySx-box-sxs flex justify-between align-center">
-								<view class="qySx-box-sxs-l flex align-center">
-									<view class="qySx-box-sxs-l-i" @click="currentJobSxs=index"
-										:class="currentJobSxs==index?'activeQs':''"
-										v-for="(item,index) in jobSxsTypeList" :key="index">
+							
+							<!-- 第二行:筛选 -->
+							<view class="qySx-sx-box flex justify-between align-center">
+								<!-- 分类 -->
+								<view class="qySx-sx-box-l flex align-center">
+									<view class="qySx-sx-box-l-i" :class="currentJobSxs==index?'active3':''"
+										@click="currentJobSxs=index" v-for="(item,index) in jobSxsTypeList" :key="index">
 										{{item.name}}
 										{{item.name}}
 									</view>
 									</view>
 								</view>
 								</view>
-								<view class="qySx-box-sxs-r flex align-center">
-									<text style="margin-right: 10rpx;color: #00B78F;"
-										@click="goNav('/package/jobIntention/city')">{{city?city:'选择城市'}}</text>
-									<u-icon name="arrow-down-fill" @click="goNav('/package/jobIntention/city')"
-										style="margin-right: 30rpx;" color="#00B88F" size="20">
-									</u-icon>
-									<text style="margin-right: 10rpx;"
-										@click="goNav('/package/screen/screen?type=2')">筛选</text>
-									<u-icon name="arrow-down-fill" @click="goNav('/package/screen/screen?type=2')"
-										color="#CCCCCC" size="20"></u-icon>
+								
+								<view class="qySx-sx-box-r flex align-center">
+									<!-- 城市 -->
+									<view class="qySx-sx-box-r-i flex align-center">
+										<text style="margin-right: 10rpx;"
+											@click="goNav('/package/jobIntention/city')">{{city?city:'选择城市'}}</text>
+										<u-icon name="arrow-down" color="#00B78F" size="16"
+											@click="goNav('/package/jobIntention/city')"></u-icon>
+									</view>
+
+									<!-- 筛选 -->
+									<view class="qySx-sx-box-filter flex align-center">
+										<text style="margin-right: 10rpx;"
+											@click="goNav('/package/screen/screen?type=2')">筛选</text>
+										<u-icon name="arrow-down" color="#999999" size="16"
+											@click="goNav('/package/screen/screen?type=2')"></u-icon>
+									</view>
 								</view>
 								</view>
 							</view>
 							</view>
-
 						</view>
 						</view>
 					</view>
 					</view>
 				</u-sticky>
 				</u-sticky>
+
+				<!-- Vip推荐 -->
+				<view class="vipRecommend">
+					<view class="vipRecommend-box">
+						<view class="vipRecommend-close" @click="closeVipRecommend">
+							<image src="../../static/images/index/qiyeDelete.svg" class="close-icon" />
+						</view>
+						<view class="vipRecommend-content">
+							<view class="vipRecommend-title">
+								<text class="job-title">亚马逊运营总监</text>
+								<text class="job-status">职位体验中</text>
+							</view>
+							<view class="vipRecommend-message">
+								今日已错过24位新增牛人
+							</view>
+							<view class="vipRecommend-hint">
+								升级VIP正式版,享更多查看沟通权益
+							</view>
+						</view>
+					</view>
+				</view>
+
 				<!-- 简历列表 -->
 				<!-- 简历列表 -->
 				<view class="qyList flex justify-center">
 				<view class="qyList flex justify-center">
 					<view class="qyList-box">
 					<view class="qyList-box">
@@ -1502,6 +1522,13 @@
 				uni.navigateTo({
 				uni.navigateTo({
 					url: '/package/jobIntention/tagManage'
 					url: '/package/jobIntention/tagManage'
 				})
 				})
+			},
+			
+			//关闭VIP推荐
+			closeVipRecommend() {
+				// 这里可以添加关闭逻辑,比如隐藏卡片或记录用户选择
+				console.log('关闭VIP推荐')
+				// 可以通过v-if控制显示隐藏
 			}
 			}
 
 
 		}
 		}
@@ -2130,59 +2157,225 @@
 	}
 	}
 
 
 	.isfixeds {
 	.isfixeds {
-		border-radius: 40rpx 40rpx 0 0;
+		// border-radius: 40rpx 40rpx 0 0;
 	}
 	}
 
 
 	.qySx {
 	.qySx {
+		position: fixed;
+		top: 0;
+		padding-top: 80rpx !important;
+		z-index: 999;
 		width: 100%;
 		width: 100%;
-		// height: 366rpx;
-		background: linear-gradient(to bottom, #ffffff, #F2F2F7);
+		background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 89, 89, 1) 83%);
 		padding-bottom: 40rpx;
 		padding-bottom: 40rpx;
+		padding: 20rpx;
 
 
 		.qySx-box {
 		.qySx-box {
-			width: 686rpx;
+			width: 100%;
 			height: 100%;
 			height: 100%;
+			border-radius: 12rpx;
+			box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.05);
+			background: rgba(255, 255, 255, 1);
+			padding: 28rpx;
 
 
-			.qySx-box-sxp {
-				height: 60rpx;
-				margin-top: 40rpx;
+			.qySx-box-row {
+				margin-bottom: 20rpx;
 			}
 			}
 
 
 			.qySx-box-l {
 			.qySx-box-l {
-				height: 100%;
-				width: 65%;
+				flex: 1;
+				white-space: nowrap;
+				overflow-x: auto;
+			}
 
 
-				// background-color: red;
-				.qySx-box-l-i {
-					display: inline-block;
-					height: 100%;
-					margin-right: 20rpx;
-					color: #999999;
-					font-size: 32rpx;
+			.qySx-box-l-i {
+				color: rgba(153, 153, 153, 1);
+				font-family: DM Sans;
+				font-size: 28rpx;
+				font-weight: 400;
+				line-height: 18px;
+				letter-spacing: 0%;
+				text-align: left;
+				margin-right: 14rpx;
+
+				&.active {
+					background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+					-webkit-background-clip: text;
+					-webkit-text-fill-color: transparent;
+					background-clip: text;
+					text-fill-color: transparent;
+					font-family: DM Sans;
+					font-size: 24rpx;
+					font-weight: 700;
+					line-height: 48rpx;
+					letter-spacing: 0%;
+					text-align: left;
 				}
 				}
 			}
 			}
 
 
 			.qySx-box-r {
 			.qySx-box-r {
-				height: 100%;
+				color: #ffffff;
+				
+				.attachment-icon {
+					width: 38rpx;
+					height: 38rpx;
+				}
 			}
 			}
+		}
 
 
-			.qySx-box-sxs {
-				width: 100%;
-				height: 30rpx;
-				margin-top: 30rpx;
+		.qySx-sx-box {
+			width: 100%;
+			margin-top: 0rpx;
 
 
-				.qySx-box-sxs-l {
+			.qySx-sx-box-l-i {
+				color: rgba(153, 153, 153, 1);
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 400;
+				line-height: 18px;
+				letter-spacing: 0%;
+				text-align: center;
+				margin-right: 20rpx;
+				border-radius: 6px;
+				background: rgba(198, 198, 198, 0.1);
+				padding: 8rpx 12rpx;
+				display: inline-block;
+				min-width: 60rpx;
+				white-space: nowrap;
 
 
-					.qySx-box-sxs-l-i {
-						margin-right: 40rpx;
-						color: #999999;
+				&.active3 {
+					font-family: DM Sans;
+					font-size: 24rpx !important;
+					font-weight: 400 !important;
+					line-height: 18px;
+					letter-spacing: 0%;
+					text-align: left;
+					padding: 8rpx 12rpx !important;
+					color: rgba(1, 107, 246, 1) !important;
+					// background: #D6E7FD !important;
+					background: rgba(252, 233, 220, 1);
+					border: 1px solid rgba(1, 107, 246, 1);
+				}
+			}
+
+			.qySx-sx-box-r-i {
+				color: rgba(1, 107, 246, 1);
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 400;
+				line-height: 18px;
+				letter-spacing: 0%;
+				text-align: center;
+				margin-right: 20rpx;
+				border-radius: 6px;
+				// background: #D6E7FD;
+				background: rgba(252, 233, 220, 1);
+				padding: 8rpx 12rpx;
+				display: inline-block;
+				min-width: 60rpx;
+				white-space: nowrap;
+				cursor: pointer;
+				transition: all 0.3s ease;
+				border: 0.5px solid rgba(1, 107, 246, 1);
+			}
+
+			.qySx-sx-box-filter {
+				color: rgba(153, 153, 153, 1);
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 400;
+				line-height: 18px;
+				letter-spacing: 0%;
+				text-align: center;
+				border-radius: 6px;
+				background: rgba(198, 198, 198, 0.1);
+				padding: 8rpx 12rpx;
+				display: inline-block;
+				min-width: 60rpx;
+				white-space: nowrap;
+				cursor: pointer;
+				transition: all 0.3s ease;
+			}
+		}
+	}
+
+	.vipRecommend {
+		width: 100%;
+		margin-top: 280rpx;
+		padding: 0 20rpx;
+		box-sizing: border-box;
+
+		.vipRecommend-box {
+			width: 100%;
+			background: #ffffff;
+			border-radius: 12rpx;
+			box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.05);
+			padding: 28rpx;
+			position: relative;
+
+			.vipRecommend-close {
+				position: absolute;
+				top: 24rpx;
+				right: 24rpx;
+				width: 48rpx;
+				height: 48rpx;
+				display: flex;
+				align-items: center;
+				justify-content: center;
+				border-radius: 50%;
+
+				.close-icon {
+					width: 48rpx;
+					height: 48rpx;
+				}
+			}
+
+			.vipRecommend-content {
+				padding-right: 60rpx;
+
+				.vipRecommend-title {
+					margin-bottom: 16rpx;
+
+					.job-title {
+						color: rgba(23, 23, 37, 1);
+						font-family: DM Sans;
 						font-size: 28rpx;
 						font-size: 28rpx;
+						font-weight: 700;
+						line-height: 48rpx;
+						text-align: left;
+						margin-right: 8rpx;
+					}
+
+					.job-status {
+						color: rgba(156, 164, 171, 1);
+						font-family: DM Sans;
+						font-size: 24rpx;
+						font-weight: 400;
+						line-height: 40rpx;
+						letter-spacing: 0.5%;
+						text-align: left;
 					}
 					}
 				}
 				}
 
 
-				.qySx-box-sxs-r {
-					color: #999999;
-					font-size: 28rpx;
+				.vipRecommend-message {
+					color: rgba(102, 102, 102, 1);
+					font-family: DM Sans;
+					font-size: 24rpx;
+					font-weight: 400;
+					line-height: 32rpx;
+					letter-spacing: 0.5%;
+					text-align: left;
+					margin-bottom: 16rpx;
+				}
+
+				.vipRecommend-hint {
+					color: rgba(102, 102, 102, 1);
+					font-family: DM Sans;
+					font-size: 18rpx;
+					font-weight: 400;
+					line-height: 20rpx;
+					letter-spacing: 0.5%;
+					text-align: left;
 				}
 				}
 			}
 			}
 		}
 		}

+ 281 - 0
pages/jobManagement/jobDetail.vue

@@ -0,0 +1,281 @@
+<template>
+	<view class="job-detail-page">
+		<!-- 固定顶部导航栏 -->
+		<view class="fixed-header">
+			<!-- 自定义导航栏 -->
+			<view class="custom-navbar">
+				<view class="navbar-content">
+					<view class="nav-left" @click="goBack">
+						<u-icon name="arrow-leftward" color="#333" size="32"></u-icon>
+					</view>
+					<view class="nav-title">职位详情</view>
+					<view class="nav-right"></view>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 主要内容区域 -->
+		<view class="main-content">
+			<!-- 审核状态提示 -->
+			<view class="status-section">
+				<view class="status-icon">
+					<image src="../../static/images/index/redGantan.svg" class="status-icon-img"></image>
+				</view>
+				<view class="status-title">职位审核失败</view>
+			</view>
+			
+			<!-- 职位信息卡片 -->
+			<view class="job-info-card">
+				<view class="job-header">
+					<view class="job-title-section">
+						<text class="job-title">亚马逊运营</text>
+					</view>
+					<view class="job-status">
+						<text class="status-text">审核未通过</text>
+					</view>
+				</view>
+				<view class="job-info">
+					<text class="job-details">深圳-西乡 本科 1-3年 10-15K·13薪 全职</text>
+				</view>
+			</view>
+			
+			<!-- 失败原因 -->
+			<view class="failure-reason-section">
+				<view class="section-title">失败原因</view>
+				<view class="reason-list">
+					<view class="reason-item">
+						<text class="reason-text">1.这是一段由平台端填写的审核详情</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 底部重新发布按钮 -->
+		<view class="bottom-action">
+			<view class="republish-btn" @click="republishJob">
+				<text class="republish-text">重新发布</text>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			
+		}
+	},
+	methods: {
+		goBack() {
+			uni.navigateBack()
+		},
+		republishJob() {
+			// 跳转到重新发布页面
+			uni.navigateTo({
+				url: '/package/addJob/addJob'
+			})
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+page {
+	background-color: #ffffff;
+}
+
+.job-detail-page {
+	min-height: 100vh;
+	background-color: #ffffff;
+}
+
+.fixed-header {
+	position: fixed;
+	top: 0;
+	left: 0;
+	right: 0;
+	z-index: 9999;
+	background-color: #ffffff;
+}
+
+.custom-navbar {
+	padding-top: 80rpx;
+	background-color: #ffffff;
+	box-sizing: border-box;
+	
+	.navbar-content {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		height: 88rpx;
+		padding: 0 40rpx;
+		
+		.nav-left, .nav-right {
+			width: 60rpx;
+			height: 60rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
+		
+		.nav-title {
+			color: rgba(51, 51, 51, 1);
+			font-family: DM Sans;
+			font-size: 30rpx;
+			font-weight: 700;
+			line-height: 52px;
+			letter-spacing: 0.5%;
+			text-align: center;
+		}
+	}
+}
+
+.main-content {
+	padding: 0 40rpx;
+	margin-top: 200rpx;
+	padding-bottom: 120rpx;
+}
+
+.status-section {
+	display: flex;
+	justify-content: center;
+	align-items: center;
+	margin-bottom: 40rpx;
+	
+	.status-icon {
+		margin-right: 20rpx;
+		display: flex;
+		align-items: center;
+		
+		.status-icon-img {
+			width: 48rpx;
+			height: 48rpx;
+		}
+	}
+	
+	.status-title {
+		color: rgba(29, 33, 41, 1);
+		font-family: DM Sans;
+		font-size: 36rpx;
+		font-weight: 500;
+		line-height: 48rpx;
+		letter-spacing: 0%;
+		text-align: left;
+		display: flex;
+		align-items: center;
+	}
+}
+
+.job-info-card {
+	background: #ffffff;
+	border-radius: 12rpx;
+	margin-bottom: 40rpx;
+	padding: 32rpx;
+	border: 0.5px solid rgba(227, 231, 236, 1);
+	
+	.job-header {
+		display: flex;
+		justify-content: space-between;
+		align-items: flex-start;
+		margin-bottom: 16rpx;
+		
+		.job-title-section {
+			flex: 1;
+			
+			.job-title {
+				color: rgba(153, 153, 153, 1);
+				font-family: DM Sans;
+				font-size: 28rpx;
+				font-weight: 400;
+				line-height: 44rpx;
+				letter-spacing: 0.5%;
+				text-align: left;
+			}
+		}
+		
+		.job-status {
+			.status-text {
+				color: rgba(153, 153, 153, 1);
+				font-family: DM Sans;
+				font-size: 18rpx;
+				font-weight: 400;
+				line-height: 20rpx;
+				letter-spacing: -0.5px;
+				text-align: right;
+			}
+		}
+	}
+	
+	.job-info {
+		.job-details {
+			color: rgba(153, 153, 153, 1);
+			font-family: DM Sans;
+			font-size: 28rpx;
+			font-weight: 400;
+			line-height: 36rpx;
+			letter-spacing: 0.5%;
+			text-align: left;
+		}
+	}
+}
+
+.failure-reason-section {
+	.section-title {
+		color: rgba(31, 44, 55, 1);
+		font-family: DM Sans;
+		font-size: 28rpx;
+		font-weight: 500;
+		line-height: 44rpx;
+		letter-spacing: 0.5%;
+		text-align: left;
+		margin-bottom: 20rpx;
+	}
+	
+	.reason-list {
+		.reason-item {
+			margin-bottom: 16rpx;
+			
+			.reason-text {
+				color: rgba(153, 153, 153, 1);
+				font-family: DM Sans;
+				font-size: 24rpx;
+				font-weight: 500;
+				line-height: 48rpx;
+				letter-spacing: 0.5%;
+				text-align: left;
+			}
+		}
+	}
+}
+
+.bottom-action {
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	padding: 30rpx 40rpx;
+	background: #ffffff;
+	z-index: 9999;
+	
+	.republish-btn {
+		width: 100%;
+		height: 88rpx;
+		background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+		border-radius: 44rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		
+		.republish-text {
+			color: rgba(255, 255, 255, 1);
+			font-family: DM Sans;
+			font-size: 32rpx;
+			font-weight: 400;
+			line-height: 48rpx;
+			letter-spacing: 0%;
+			text-align: center;
+		}
+	}
+}
+</style>

+ 605 - 0
pages/jobManagement/jobManagement.vue

@@ -0,0 +1,605 @@
+<template>
+	<view class="job-management-page">
+		<!-- 固定顶部导航栏和标签页 -->
+		<view class="fixed-header">
+			<!-- 自定义导航栏 -->
+			<view class="custom-navbar">
+				<view class="navbar-content">
+					<view class="nav-left" @click="goBack">
+						<u-icon name="arrow-leftward" color="#333" size="32"></u-icon>
+					</view>
+					<view class="nav-title">职位管理</view>
+					<view class="nav-right"></view>
+				</view>
+			</view>
+			
+			<!-- 标签页导航 -->
+			<u-tabs 
+				:list="tabList" 
+				:current="activeTab" 
+				@change="switchTab"
+				:is-scroll="false"
+				:height="88"
+				:font-size="24"
+				active-color="#016BF6"
+				inactive-color="rgba(102, 102, 102, 1)"
+				:bar-width="60"
+				:bar-height="4"
+				:gutter="0"
+				bg-color="#ffffff"
+			></u-tabs>
+		</view>
+		
+		<!-- 职位列表 -->
+		<view class="job-list">
+			<!-- 有数据时显示列表 -->
+			<scroll-view scroll-y="true" style="width: 100%;height: 70vh;" v-if="jobList.length > 0">
+				<view 
+					class="job-card" 
+					:class="job.statusClass"
+					v-for="(job, index) in jobList" 
+					:key="index"
+					@click="goToJobDetail(job)"
+				>
+					<view class="job-card-content">
+						<view class="job-header">
+							<view class="job-title-section">
+								<text class="job-title">{{job.title}}</text>
+								<view class="urgent-tag" v-if="job.isUrgent">
+									<text class="urgent-text">急聘</text>
+								</view>
+							</view>
+							<view class="job-status" :class="job.statusClass">
+								<text class="status-text">{{job.status}}</text>
+							</view>
+						</view>
+						<view class="job-info">
+							<text class="job-details">{{job.location}} {{job.education}} {{job.experience}} {{job.salary}} {{job.type}}</text>
+						</view>
+					</view>
+				</view>
+			</scroll-view>
+			
+			<!-- 空状态显示 -->
+			<view class="empty-state" v-else>
+				<view class="empty-illustration">
+					<image src="../../static/images/index/Hrempty.svg" class="empty-image" mode="aspectFit" />
+				</view>
+			</view>
+		</view>
+		
+		<!-- 底部发布按钮 -->
+		<view class="bottom-action">
+			<view class="publish-btn" @click="publishNewJob">
+				<text class="publish-text">发布新职位</text>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			activeTab: 0,
+			tabList: [
+				{ name: '全部' },
+				{ name: '开放中' },
+				{ name: '审核失败' },
+				{ name: '已关闭' }
+			],
+			jobList: []
+		}
+	},
+	created() {
+		// 页面创建时初始化数据
+		this.filterJobsByTab(0)
+		// 动态设置body和html高度
+		this.setBodyHeight()
+	},
+	methods: {
+		goBack() {
+			// 检查页面栈,如果没有可返回的页面,则跳转到首页
+			const pages = getCurrentPages()
+			if (pages.length > 1) {
+				uni.navigateBack()
+			} else {
+				// 如果没有可返回的页面,跳转到首页
+				uni.switchTab({
+					url: '/pages/index/index'
+				})
+			}
+		},
+		switchTab(e) {
+			// u-tabs组件的change事件传递的是事件对象,需要获取index
+			const index = typeof e === 'number' ? e : e.index
+			this.activeTab = index
+			// 这里可以根据选中的标签过滤职位列表
+			this.filterJobsByTab(index)
+		},
+		filterJobsByTab(tabIndex) {
+			// 根据标签过滤职位列表的逻辑
+			console.log('切换到标签:', this.tabList[tabIndex].name)
+			
+			// 模拟不同标签的数据
+			if (tabIndex === 0) { // 全部
+				this.jobList = [
+					{
+						title: '亚马逊运营',
+						location: '深圳-西乡',
+						education: '本科',
+						experience: '1-3年',
+						salary: '10-15K·13薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: true
+					},
+					{
+						title: '亚马逊运营',
+						location: '深圳-西乡',
+						education: '本科',
+						experience: '1-3年',
+						salary: '10-15K·13薪',
+						type: '全职',
+						status: '审核中',
+						statusClass: 'status-review',
+						isUrgent: false
+					},
+					{
+						title: '亚马逊运营',
+						location: '深圳-西乡',
+						education: '本科',
+						experience: '1-3年',
+						salary: '10-15K·13薪',
+						type: '全职',
+						status: '审核未通过',
+						statusClass: 'status-failed',
+						isUrgent: false
+					},
+					{
+						title: '亚马逊运营',
+						location: '深圳-西乡',
+						education: '本科',
+						experience: '1-3年',
+						salary: '10-15K·13薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: false
+					},
+					{
+						title: '产品经理',
+						location: '深圳-南山',
+						education: '本科',
+						experience: '3-5年',
+						salary: '15-25K·14薪',
+						type: '全职',
+						status: '审核中',
+						statusClass: 'status-review',
+						isUrgent: true
+					},
+					{
+						title: 'UI设计师',
+						location: '深圳-福田',
+						education: '本科',
+						experience: '2-4年',
+						salary: '12-18K·13薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: false
+					},
+					{
+						title: '前端开发工程师',
+						location: '深圳-宝安',
+						education: '本科',
+						experience: '2-5年',
+						salary: '15-22K·13薪',
+						type: '全职',
+						status: '审核中',
+						statusClass: 'status-review',
+						isUrgent: true
+					},
+					{
+						title: '数据分析师',
+						location: '深圳-龙岗',
+						education: '硕士',
+						experience: '1-3年',
+						salary: '18-28K·14薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: false
+					},
+					{
+						title: '销售经理',
+						location: '深圳-罗湖',
+						education: '本科',
+						experience: '3-6年',
+						salary: '20-35K·15薪',
+						type: '全职',
+						status: '审核中',
+						statusClass: 'status-review',
+						isUrgent: false
+					},
+					{
+						title: '运营专员',
+						location: '深圳-盐田',
+						education: '本科',
+						experience: '1-2年',
+						salary: '8-12K·13薪',
+						type: '全职',
+						status: '审核未通过',
+						statusClass: 'status-failed',
+						isUrgent: false
+					},
+					{
+						title: '运营专员',
+						location: '深圳-盐田',
+						education: '本科',
+						experience: '1-2年',
+						salary: '8-12K·13薪',
+						type: '全职',
+						status: '审核未通过',
+						statusClass: 'status-failed',
+						isUrgent: false
+					},
+					{
+						title: '运营专员',
+						location: '深圳-盐田',
+						education: '本科',
+						experience: '1-2年',
+						salary: '8-12K·13薪',
+						type: '全职',
+						status: '审核未通过',
+						statusClass: 'status-failed',
+						isUrgent: false
+					},
+					{
+						title: '运营专员',
+						location: '深圳-盐田',
+						education: '本科',
+						experience: '1-2年',
+						salary: '8-12K·13薪',
+						type: '全职',
+						status: '审核未通过',
+						statusClass: 'status-failed',
+						isUrgent: false
+					}
+				]
+			} else if (tabIndex === 1) { // 开放中
+				this.jobList = [
+					{
+						title: '亚马逊运营',
+						location: '深圳-西乡',
+						education: '本科',
+						experience: '1-3年',
+						salary: '10-15K·13薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: true
+					},
+					{
+						title: '产品经理',
+						location: '深圳-南山',
+						education: '本科',
+						experience: '3-5年',
+						salary: '15-25K·14薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: true
+					},
+					{
+						title: 'UI设计师',
+						location: '深圳-福田',
+						education: '本科',
+						experience: '2-4年',
+						salary: '12-18K·13薪',
+						type: '全职',
+						status: '免费试用中',
+						statusClass: 'status-trial',
+						isUrgent: false
+					}
+				]
+			} else if (tabIndex === 2) { // 审核失败
+				this.jobList = [
+					{
+						title: '亚马逊运营',
+						location: '深圳-西乡',
+						education: '本科',
+						experience: '1-3年',
+						salary: '10-15K·13薪',
+						type: '全职',
+						status: '审核未通过',
+						statusClass: 'status-failed',
+						isUrgent: false
+					}
+				]
+			} else if (tabIndex === 3) { // 已关闭
+				this.jobList = [
+					{
+						title: '运营专员',
+						location: '深圳-盐田',
+						education: '本科',
+						experience: '1-2年',
+						salary: '8-12K·13薪',
+						type: '全职',
+						status: '已关闭',
+						statusClass: 'status-closed',
+						isUrgent: false
+					}
+				]
+			}
+		},
+		goToJobDetail(job) {
+			// 跳转到职位详情页面
+			uni.navigateTo({
+				url: '/pages/jobManagement/jobDetail'
+			})
+		},
+		publishNewJob() {
+			// 跳转到发布新职位页面
+			uni.navigateTo({
+				url: '/package/addJob/addJob'
+			})
+		},
+		setBodyHeight() {
+			// 动态设置body和html高度为auto
+			if (typeof document !== 'undefined') {
+				document.body.style.height = 'auto'
+				document.documentElement.style.height = 'auto'
+				document.body.style.minHeight = 'auto'
+				document.documentElement.style.minHeight = 'auto'
+			}
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+page {
+	background-color: #ffffff;
+}
+.job-management-page {
+	background-color: #ffffff;
+}
+
+.fixed-header {
+	position: fixed;
+	top: 0;
+	left: 0;
+	right: 0;
+	z-index: 9999;
+	background-color: #ffffff;
+}
+
+.custom-navbar {
+	padding-top: 80rpx;
+	background-color: #ffffff;
+	box-sizing: border-box;
+	
+	.navbar-content {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		height: 88rpx;
+		padding: 0 40rpx;
+		
+		.nav-left, .nav-right {
+			width: 60rpx;
+			height: 60rpx;
+			display: flex;
+			align-items: center;
+			justify-content: center;
+		}
+		
+		.nav-title {
+            color: rgba(51, 51, 51, 1);
+            font-family: DM Sans;
+            font-size: 30rpx;
+            font-weight: 700;
+            line-height: 52px;
+            letter-spacing: 0.5%;
+            text-align: center;
+		}
+	}
+}
+
+.job-list {
+	padding: 0 40rpx;
+	margin-top: 280rpx;
+	
+	.job-card {
+		background: #ffffff;
+		border-radius: 12rpx;
+		margin-bottom: 20rpx;
+		padding: 32rpx;
+        border: 0.5px solid rgba(227, 231, 236, 1);
+		// box-shadow: 0px 2px 8px rgba(0, 0, 0, 0.05);
+		
+		.job-card-content {
+			.job-header {
+				display: flex;
+				justify-content: space-between;
+				align-items: flex-start;
+				margin-bottom: 16rpx;
+				
+				.job-title-section {
+					display: flex;
+					align-items: center;
+					flex: 1;
+                    gap: 28rpx;
+					
+					.job-title {
+                        color: rgba(23, 23, 37, 1);
+                        font-family: DM Sans;
+                        font-size: 28rpx;
+                        font-weight: 400;
+                        line-height: 44rpx;
+                        letter-spacing: 0.5%;
+                        text-align: left;
+					}
+					
+					.urgent-tag {
+                        border-radius: 8rpx;
+                        background: rgba(252, 233, 220, 1);
+						padding: 4rpx 8rpx;
+						
+						.urgent-text {
+                            color: rgba(1, 107, 246, 1);
+                            font-family: DM Sans;
+                            font-size: 16rpx;
+                            font-weight: 400;
+                            // line-height: 20rpx;
+                            // letter-spacing: -0.5px;
+                            text-align: left;
+						}
+					}
+				}
+				
+				.job-status {
+					&.status-trial {
+						color: rgba(1, 107, 246, 1);
+					}
+					
+					&.status-review {
+						color: rgba(1, 107, 246, 1);
+					}
+					
+					&.status-failed {
+						color: rgba(153, 153, 153, 1);
+						
+						.status-text {
+							color: rgba(153, 153, 153, 1) !important;
+							background: none !important;
+							-webkit-background-clip: unset !important;
+							-webkit-text-fill-color: rgba(153, 153, 153, 1) !important;
+							background-clip: unset !important;
+							text-fill-color: rgba(153, 153, 153, 1) !important;
+						}
+					}
+					
+					&.status-closed {
+						color: rgba(153, 153, 153, 1);
+						
+						.status-text {
+							color: rgba(153, 153, 153, 1) !important;
+							background: none !important;
+							-webkit-background-clip: unset !important;
+							-webkit-text-fill-color: rgba(153, 153, 153, 1) !important;
+							background-clip: unset !important;
+							text-fill-color: rgba(153, 153, 153, 1) !important;
+						}
+					}
+					
+					.status-text {
+                        background: linear-gradient(132.53deg, rgba(106.94185638427734, 84.63434600830078, 214.0178680419922, 0.96),rgba(144.87640380859375, 87.8011474609375, 191.25, 1) 95%);
+                        -webkit-background-clip: text;
+                        -webkit-text-fill-color: transparent;
+                        background-clip: text;
+                        text-fill-color: transparent;
+                        font-family: DM Sans;
+                        font-size: 18rpx;
+                        font-weight: 400;
+                        line-height: 20rpx;
+                        letter-spacing: -0.5px;
+                        text-align: right;
+					}
+				}
+			}
+			
+			.job-info {
+				.job-details {
+                    color: rgba(120, 130, 138, 1);
+                    font-family: DM Sans;
+                    font-size: 28rpx;
+                    font-weight: 400;
+                    line-height: 36rpx;
+                    letter-spacing: 0.5%;
+                    text-align: left;
+				}
+			}
+		}
+		
+		&.status-failed {
+			.job-title {
+				color: rgba(153, 153, 153, 1) !important;
+			}
+			
+			.job-details {
+				color: rgba(153, 153, 153, 1) !important;
+			}
+		}
+		
+		&.status-closed {
+			.job-title {
+				color: rgba(153, 153, 153, 1) !important;
+			}
+			
+			.job-details {
+				color: rgba(153, 153, 153, 1) !important;
+			}
+		}
+	}
+}
+
+.empty-state {
+	display: flex;
+	// flex-direction: column;
+	align-items: center;
+	justify-content: center;
+	padding: 40rpx;
+	
+	.empty-illustration {
+		margin-bottom: 40rpx;
+		
+		.empty-image {
+			width: 700rpx;
+			height: 800rpx;
+		}
+	}
+	
+	.empty-text {
+		color: rgba(120, 130, 138, 1);
+		font-family: DM Sans;
+		font-size: 28rpx;
+		font-weight: 400;
+		line-height: 36rpx;
+		letter-spacing: 0.5%;
+		text-align: center;
+	}
+}
+
+.bottom-action {
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	padding: 30rpx 40rpx;
+	background: #ffffff;
+	z-index: 9999;
+	
+	.publish-btn {
+		width: 100%;
+		height: 88rpx;
+		background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+		border-radius: 44rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		
+		.publish-text {
+            color: rgba(255, 255, 255, 1);
+            font-family: DM Sans;
+            font-size: 32rpx;
+            font-weight: 400;
+            line-height: 48rpx;
+            letter-spacing: 0%;
+            text-align: center;
+		}
+	}
+}
+</style>

+ 196 - 252
pages/my/jobPosting.vue

@@ -1,280 +1,224 @@
 <template>
 <template>
-  <view class="publish-job">
-    <!-- 导航栏 -->
-    <nav-bar title="发布职位" color="#000"></nav-bar>
-    
-    <view class="content">
-      <!-- 顶部提示 -->
-      <view class="top-tip">
-        <text class="tip-title">发布社招</text>
-        <text class="tip-desc">“深圳市汉睿国际猎头服务有限公司”的人员规模</text>
-        <text class="tip-step">填写基本信息 · Confirm</text>
-      </view>
-
-      <!-- 招聘类型 -->
-      <view class="section">
-        <view class="section-title">招聘类型</view>
-        <view class="recruit-type">
-          <view 
-            class="type-item" 
-            :class="{ active: recruitType === 'social' }"
-            @click="recruitType = 'social'"
-          >
-            <text>社招全职</text>
-          </view>
-          <view 
-            class="type-item" 
-            :class="{ active: recruitType === 'campus' }"
-            @click="recruitType = 'campus'"
-          >
-            <text>应届生校园招聘</text>
-          </view>
-          <view 
-            class="type-item" 
-            :class="{ active: recruitType === 'intern' }"
-            @click="recruitType = 'intern'"
-          >
-            <text>实习生招聘</text>
-          </view>
-          <view 
-            class="type-item" 
-            :class="{ active: recruitType === 'parttime' }"
-            @click="recruitType = 'parttime'"
+  <view class="switch-roles">
+    <nav-bar title="选择公司规模" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="title">发布社招</view>
+        <view class="desc">“深圳市汉睿国际猎头服务有限公司”的人员规模</view>
+        <view class="step">
+          <u-steps :list="numList" mode="number" :current="1"></u-steps>
+        </view>
+        <view class="check-title">招聘类型</view>
+        <view class="check-box">
+          <view
+            class="check-item"
+            :class="{ 'is-check': check == index }"
+            v-for="(item, index) in peopleList"
+            :key="index"
+            @click="checkPeople(index)"
+            >{{ item }}</view
           >
           >
-            <text>兼职招聘</text>
-          </view>
         </view>
         </view>
-      </view>
-
-      <!-- 招聘职位 -->
-      <view class="section">
-        <view class="section-title">招聘职位</view>
-        <view class="job-select" @click="showJobPicker = true">
-          <text class="placeholder" v-if="!selectedJob">请选择要招聘的职位</text>
-          <text class="selected-job" v-else>{{ selectedJob }}</text>
-          <u-icon name="arrow-right" color="#999" size="14"></u-icon>
+        <view class="check-title-big">招聘职位</view>
+        <view class="check-select" @click="goJob">
+          <view class="select-txt">请选择要招聘的职位</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
-        <u-picker 
-          :show="showJobPicker" 
-          :columns="jobColumns" 
-          keyName="label"
-          @confirm="confirmJob"
-          @cancel="showJobPicker = false"
-        ></u-picker>
-      </view>
-
-      <!-- 岗位描述 -->
-      <view class="section">
-        <view class="section-title">岗位描述</view>
-        <view class="job-desc">
-          <u-textarea
-            v-model="jobDescription"
-            placeholder="介绍工作内容、职位要求"
-            height="200"
-            maxlength="1000"
-          ></u-textarea>
+        <view class="check-title-big">岗位描述</view>
+        <view class="check-select" @click="goJobContent">
+          <view class="select-txt">{{
+            this.text ? this.text : "介绍工作内容、职位要求"
+          }}</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
         </view>
         </view>
-        <view class="desc-tip">介绍工作内容、职位要求</view>
+        <view class="txt-desc">注:职位名称、职位类型等发布后不可修改</view>
       </view>
       </view>
-
-      <!-- 注意事项 -->
-      <view class="notice">
-        <text class="notice-text">注:职位名称、职位类型等发布后不可修改</text>
-      </view>
-    </view>
-
-    <!-- 底部按钮 -->
-    <view class="footer">
-      <u-button 
-        type="primary" 
-        text="下一步" 
-        @click="nextStep"
-        :customStyle="{
-          height: '88rpx',
-          borderRadius: '44rpx',
-          fontSize: '32rpx',
-          margin: '0 32rpx'
-        }"
-      ></u-button>
     </view>
     </view>
+    <view class="submit-btn" @click="goJobPostingSecond">下一步</view>
   </view>
   </view>
 </template>
 </template>
-
 <script>
 <script>
 import navBar from "@/components/nav-bar/index.vue";
 import navBar from "@/components/nav-bar/index.vue";
-
 export default {
 export default {
-  components: {
-    navBar
-  },
   data() {
   data() {
     return {
     return {
-      recruitType: 'social', // 默认社招全职
-      showJobPicker: false,
-      selectedJob: '',
-      jobDescription: '',
-      jobColumns: [
-        [
-          { label: '前端开发工程师', value: 'frontend' },
-          { label: '后端开发工程师', value: 'backend' },
-          { label: 'UI设计师', value: 'ui' },
-          { label: '产品经理', value: 'pm' },
-          { label: '测试工程师', value: 'test' },
-          { label: '运维工程师', value: 'devops' }
-        ]
-      ]
+      peopleList: ["社招全职", "应届生校园招聘", "实习生招聘", "兼职招聘"],
+      check: 0,
+      text: "",
+      numList: [
+        {
+          name: "填写基本信息",
+        },
+        {
+          name: "选择职位要求",
+        },
+      ],
     };
     };
   },
   },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
   methods: {
   methods: {
-    confirmJob(e) {
-      this.selectedJob = e.value[0].label;
-      this.showJobPicker = false;
+    goBusinessLicense() {
+      uni.navigateTo({ url: "/pages/my/businessLicense" });
     },
     },
-    
-    nextStep() {
-      if (!this.selectedJob) {
-        uni.showToast({
-          title: '请选择招聘职位',
-          icon: 'none'
-        });
-        return;
-      }
-      
-      if (!this.jobDescription) {
-        uni.showToast({
-          title: '请输入岗位描述',
-          icon: 'none'
-        });
-        return;
-      }
-      
-      // 跳转到下一步
+    checkPeople(index) {
+      this.check = index;
+    },
+    goJob() {
+      uni.navigateTo({
+        url: "/package/jobIntention/jobList",
+      });
+    },
+    goJobContent() {
       uni.navigateTo({
       uni.navigateTo({
-        url: '/pages/job/publish-next'
+        url: `/package/jobIntention/editJob?text=${this.text}`,
       });
       });
+    },
+    goJobPostingSecond(){
+      uni.navigateTo({ url: "/pages/my/jobPostingSecond" });
+
     }
     }
-  }
+  },
 };
 };
 </script>
 </script>
-
 <style lang="scss" scoped>
 <style lang="scss" scoped>
-.publish-job {
-  background-color: #f5f5f5;
-  min-height: 100vh;
-  display: flex;
-  flex-direction: column;
-}
-
-.content {
-  flex: 1;
-  padding: 32rpx;
-}
-
-.top-tip {
-  background: #fff;
-  border-radius: 16rpx;
-  padding: 32rpx;
-  margin-bottom: 32rpx;
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
   display: flex;
   display: flex;
   flex-direction: column;
   flex-direction: column;
-}
-
-.tip-title {
-  font-size: 36rpx;
-  font-weight: 600;
-  color: #333;
-  margin-bottom: 16rpx;
-}
-
-.tip-desc {
-  font-size: 28rpx;
-  color: #666;
-  margin-bottom: 8rpx;
-}
-
-.tip-step {
-  font-size: 24rpx;
-  color: #999;
-}
-
-.section {
-  background: #fff;
-  border-radius: 16rpx;
-  padding: 32rpx;
-  margin-bottom: 32rpx;
-}
-
-.section-title {
-  font-size: 32rpx;
-  font-weight: 500;
-  color: #333;
-  margin-bottom: 24rpx;
-}
-
-.recruit-type {
-  display: grid;
-  grid-template-columns: 1fr 1fr;
-  gap: 24rpx;
-}
-
-.type-item {
-  height: 80rpx;
-  border: 2rpx solid #e0e0e0;
-  border-radius: 12rpx;
-  display: flex;
-  align-items: center;
-  justify-content: center;
-  font-size: 28rpx;
-  color: #666;
-  
-  &.active {
-    border-color: #2979ff;
-    background: #f0f7ff;
-    color: #2979ff;
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 40rpx;
+        font-weight: 600;
+      }
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-title {
+        width: 100%;
+        color: rgba(31, 44, 55, 1);
+        font-family: DM Sans;
+        font-size: 28rpx;
+        font-weight: 500;
+        line-height: 44rpx;
+        margin-top: 20rpx;
+        margin-bottom: 16rpx;
+      }
+      .check-title-big {
+        color: rgba(58, 57, 67, 1);
+        font-family: DM Sans;
+        font-size: 36rpx;
+        font-weight: 500;
+        line-height: 48rpx;
+        width: 100%;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-select {
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        border-radius: 12rpx;
+        box-shadow: 0px 16rpx 300rpx 0px rgba(0, 0, 0, 0.06);
+        background: rgba(255, 255, 255, 1);
+        padding: 32rpx 47rpx;
+        box-sizing: border-box;
+        .select-txt {
+        }
+      }
+      .check-box {
+        width: 100%;
+        display: grid;
+        grid-template-columns: repeat(2, 1fr);
+        gap: 24rpx;
+        .check-item {
+          border-radius: 16rpx;
+          background: rgba(245, 248, 254, 1);
+          color: rgba(153, 153, 153, 1);
+          font-family: DM Sans;
+          font-size: 28rpx;
+          font-weight: 400;
+          line-height: 44rpx;
+          text-align: center;
+          padding: 12rpx 48rpx;
+          box-sizing: border-box;
+        }
+        .is-check {
+          box-sizing: border-box;
+          border: 1rpx solid #016bf6;
+          border-radius: 16rpx;
+          background: rgba(252, 233, 220, 1);
+          color: #016bf6;
+        }
+      }
+    }
+  }
+  .step {
+    width: 100%;
+    padding: 32rpx 0;
+    box-sizing: border-box;
+  }
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 20rpx;
+  }
+  .txt-desc {
+    color: rgba(102, 102, 102, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    text-align: left;
+    width: 100%;
+    margin-top: 20rpx;
   }
   }
 }
 }
-
-.job-select {
-  height: 80rpx;
-  border: 2rpx solid #e0e0e0;
-  border-radius: 12rpx;
-  padding: 0 24rpx;
-  display: flex;
-  align-items: center;
-  justify-content: space-between;
-}
-
-.placeholder {
-  color: #999;
-  font-size: 28rpx;
-}
-
-.selected-job {
-  color: #333;
-  font-size: 28rpx;
-}
-
-.job-desc {
-  margin-bottom: 16rpx;
-}
-
-.desc-tip {
-  font-size: 24rpx;
-  color: #999;
-}
-
-.notice {
-  padding: 0 32rpx;
-}
-
-.notice-text {
-  font-size: 24rpx;
-  color: #ff6b35;
-}
-
-.footer {
-  padding: 32rpx 0;
-  background: #fff;
-  border-top: 1rpx solid #f0f0f0;
-}
-</style>
+</style>

+ 479 - 0
pages/my/jobPostingSecond.vue

@@ -0,0 +1,479 @@
+<template>
+  <view class="switch-roles">
+    <nav-bar title="选择公司规模" color="#000"></nav-bar>
+    <view class="roles-content">
+      <view class="content">
+        <view class="title">继续填写</view>
+        <view class="desc">“深圳市汉睿国际猎头服务有限公司”的人员规模</view>
+        <view class="step">
+          <u-steps :list="numList" mode="number" :current="1"></u-steps>
+        </view>
+        <view class="check-title-big">经验要求</view>
+        <view class="check-select" @click="showExper = true">
+          <view class="select-txt">请选择经验按要求</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+        </view>
+        <view class="check-title-big">最低学历</view>
+        <view class="check-select" @click="showLevel = true">
+          <view class="select-txt">{{ this.text ? this.text : "请选择学历" }}</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+        </view>
+        <view class="check-title-big">薪资范围</view>
+        <view class="check-select" @click="showMoney = true">
+          <view class="select-txt">请选择合理的薪资范围</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+        </view>
+        <view class="check-title-big">福利待遇(选填)</view>
+        <view class="check-select" @click="goFund">
+          <view class="select-txt">请填写奖金绩效</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+        </view>
+        <view class="check-title-big">职位关键词</view>
+        <view class="check-select" @click="goJobSkill">
+          <view class="select-txt">被选中的关键词将突出展示给牛人</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+        </view>
+        <view class="check-title-big">工作地址</view>
+        <view class="check-select" @click="goAddAddress">
+          <view class="select-txt">请填写精确的工作地点</view>
+          <u-icon name="arrow-down" color="#D3D3D6" size="22"></u-icon>
+        </view>
+        <view class="txt-desc"
+          >温馨提示:职位类型、职位名称和工作城市发布后不可修改, 请您确保信息正确 <br />
+          <br />
+          发布职位即表示同意遵守《招聘行为管理规范》,如违反规则 将导致账号被锁定
+        </view>
+      </view>
+    </view>
+    <view class="submit-btn" @click="goJobPosting">确定</view>
+    <u-select v-model="showExper" :list="listExper" title="请选择经验"></u-select>
+    <u-select v-model="showLevel" :list="listLevel" title="请选择学历"></u-select>
+    <u-select
+      v-model="showMoney"
+      mode="mutil-column"
+      :list="listMoney"
+      title="请选择月薪范围"
+    ></u-select>
+  </view>
+</template>
+<script>
+import navBar from "@/components/nav-bar/index.vue";
+export default {
+  data() {
+    return {
+      peopleList: ["社招全职", "应届生校园招聘", "实习生招聘", "兼职招聘"],
+      check: 0,
+      text: "",
+      showExper: false, //经验
+      listExper: [
+        {
+          label: "不限",
+          value: 1,
+        },
+        {
+          label: "1年以内",
+          value: 2,
+        },
+        {
+          label: "1-3年",
+          value: 3,
+        },
+        {
+          label: "3-5年",
+          value: 4,
+        },
+        {
+          label: "5-10年",
+          value: 5,
+        },
+        {
+          label: "10年以上",
+          value: 6,
+        },
+      ],
+      showLevel: false, //学历
+      listLevel: [
+        { label: "不限", value: 1 },
+        { label: "专科", value: 2 },
+        { label: "本科", value: 3 },
+        { label: "硕士", value: 4 },
+        { label: "博士", value: 5 },
+      ],
+      showMoney: false, //月薪范围
+      listMoney: [
+        [
+          {
+            value: "3",
+            label: "3k",
+          },
+          {
+            value: "4",
+            label: "4k",
+          },
+          {
+            value: "5",
+            label: "5k",
+          },
+          {
+            value: "6",
+            label: "6k",
+          },
+          {
+            value: "7",
+            label: "7k",
+          },
+          {
+            value: "8",
+            label: "8k",
+          },
+          {
+            value: "9",
+            label: "9k",
+          },
+          {
+            value: "10",
+            label: "10k",
+          },
+          {
+            value: "11",
+            label: "11k",
+          },
+          {
+            value: "12",
+            label: "12k",
+          },
+          {
+            value: "13",
+            label: "13k",
+          },
+          {
+            value: "14",
+            label: "14k",
+          },
+          {
+            value: "15",
+            label: "15k",
+          },
+          {
+            value: "16",
+            label: "16k",
+          },
+          {
+            value: "17",
+            label: "17k",
+          },
+          {
+            value: "18",
+            label: "18k",
+          },
+          {
+            value: "19",
+            label: "19k",
+          },
+          {
+            value: "20",
+            label: "20k",
+          },
+        ],
+        [
+          {
+            value: "104",
+            label: "4k",
+          },
+          {
+            value: "105",
+            label: "5k",
+          },
+          {
+            value: "106",
+            label: "6k",
+          },
+          {
+            value: "107",
+            label: "7k",
+          },
+          {
+            value: "108",
+            label: "8k",
+          },
+          {
+            value: "109",
+            label: "9k",
+          },
+          {
+            value: "100",
+            label: "10k",
+          },
+          {
+            value: "101",
+            label: "11k",
+          },
+          {
+            value: "102",
+            label: "12k",
+          },
+          {
+            value: "103",
+            label: "13k",
+          },
+          {
+            value: "104",
+            label: "14k",
+          },
+          {
+            value: "105",
+            label: "15k",
+          },
+          {
+            value: "106",
+            label: "16k",
+          },
+          {
+            value: "107",
+            label: "17k",
+          },
+          {
+            value: "108",
+            label: "18k",
+          },
+          {
+            value: "109",
+            label: "19k",
+          },
+          {
+            value: "200",
+            label: "20k",
+          },
+          {
+            value: "205",
+            label: "25k",
+          },
+          {
+            value: "300",
+            label: "30k",
+          },
+          {
+            value: "305",
+            label: "35k",
+          },
+          {
+            value: "400",
+            label: "40k",
+          },
+        ],
+        [
+          {
+            value: "12m",
+            label: "12月",
+          },
+          {
+            value: "13m",
+            label: "13月",
+          },
+          {
+            value: "14m",
+            label: "14月",
+          },
+          {
+            value: "15m",
+            label: "15月",
+          },
+          {
+            value: "16m",
+            label: "16月",
+          },
+          {
+            value: "17m",
+            label: "17月",
+          },
+        ],
+      ],
+      numList: [
+        {
+          name: "填写基本信息",
+        },
+        {
+          name: "选择职位要求",
+        },
+      ],
+    };
+  },
+  components: {
+    navBar,
+  },
+  onLoad(options) {
+    if (options.text) {
+      this.text = options.text;
+    }
+  },
+  methods: {
+    goBusinessLicense() {
+      uni.navigateTo({ url: "/pages/my/businessLicense" });
+    },
+    checkPeople(index) {
+      this.check = index;
+    },
+    goJob() {
+      uni.navigateTo({
+        url: "/package/jobIntention/jobList",
+      });
+    },
+    goJobSkill() {
+      uni.navigateTo({
+        url: "/package/jobIntention/jobSkills",
+      });
+    },
+    goJobContent() {
+      uni.navigateTo({
+        url: `/package/jobIntention/editJob?text=${this.text}`,
+      });
+    },
+    goAddAddress() {
+      uni.navigateTo({
+        url: "/package/jobIntention/addAddress",
+      });
+    },
+    goFund(){
+        uni.navigateTo({
+            url:'/package/jobIntention/fund'
+        })
+    }
+  },
+};
+</script>
+<style lang="scss" scoped>
+.switch-roles {
+  background-color: #fff;
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+  .roles-content {
+    width: 100%;
+    flex: 1;
+    overflow: hidden;
+    overflow-y: auto;
+    .content {
+      padding: 40rpx;
+      box-sizing: border-box;
+      display: flex;
+      flex-direction: column;
+      align-items: center;
+      justify-content: center;
+      .title {
+        color: #333;
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 40rpx;
+        font-weight: 600;
+      }
+      .desc {
+        color: rgba(102, 102, 102, 1);
+        width: 100%;
+        font-family: DM Sans;
+        font-size: 24rpx;
+        font-weight: 400;
+        line-height: 32rpx;
+        letter-spacing: 0.5%;
+        text-align: left;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-title {
+        width: 100%;
+        color: rgba(31, 44, 55, 1);
+        font-family: DM Sans;
+        font-size: 28rpx;
+        font-weight: 500;
+        line-height: 44rpx;
+        margin-top: 20rpx;
+        margin-bottom: 16rpx;
+      }
+      .check-title-big {
+        color: rgba(58, 57, 67, 1);
+        font-family: DM Sans;
+        font-size: 36rpx;
+        font-weight: 500;
+        line-height: 48rpx;
+        width: 100%;
+        padding: 20rpx 0;
+        box-sizing: border-box;
+      }
+      .check-select {
+        width: 100%;
+        display: flex;
+        justify-content: space-between;
+        align-items: center;
+        border-radius: 12rpx;
+        box-shadow: 0px 16rpx 300rpx 0px rgba(0, 0, 0, 0.06);
+        background: rgba(255, 255, 255, 1);
+        padding: 32rpx 47rpx;
+        box-sizing: border-box;
+        .select-txt {
+          color: rgba(153, 153, 153, 1);
+        }
+      }
+      .check-box {
+        width: 100%;
+        display: grid;
+        grid-template-columns: repeat(2, 1fr);
+        gap: 24rpx;
+        .check-item {
+          border-radius: 16rpx;
+          background: rgba(245, 248, 254, 1);
+          color: rgba(153, 153, 153, 1);
+          font-family: DM Sans;
+          font-size: 28rpx;
+          font-weight: 400;
+          line-height: 44rpx;
+          text-align: center;
+          padding: 12rpx 48rpx;
+          box-sizing: border-box;
+        }
+        .is-check {
+          box-sizing: border-box;
+          border: 1rpx solid #016bf6;
+          border-radius: 16rpx;
+          background: rgba(252, 233, 220, 1);
+          color: #016bf6;
+        }
+      }
+    }
+  }
+  .step {
+    width: 100%;
+    padding: 32rpx 0;
+    box-sizing: border-box;
+  }
+  .submit-btn {
+    flex-shrink: 0;
+    border-radius: 999px;
+    box-shadow: 0px 2px 4px 0px rgba(9, 196, 116, 0.3);
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 32rpx;
+    font-weight: 400;
+    line-height: 48rpx;
+    display: flex;
+    justify-content: center;
+    align-items: center;
+    padding: 16rpx 32rpx;
+    box-sizing: border-box;
+    margin: 60rpx 20rpx;
+  }
+  .txt-desc {
+    color: rgba(102, 102, 102, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 400;
+    line-height: 32rpx;
+    text-align: left;
+    width: 100%;
+    margin-top: 20rpx;
+  }
+}
+</style>

+ 354 - 0
pages/talentSearch/filter.vue

@@ -0,0 +1,354 @@
+<template>
+	<view class="filter-page">
+		<!-- 导航栏 -->
+		<view class="filter-header">
+			<view class="header-content">
+				<view class="header-left" @click="goBack">
+					<u-icon name="arrow-left" color="rgba(51, 51, 51, 1)" size="32"></u-icon>
+				</view>
+				<view class="header-title">筛选</view>
+				<view class="header-right"></view>
+			</view>
+		</view>
+		
+		<!-- 筛选内容 -->
+		<view class="filter-content">
+			<!-- 学历要求 -->
+			<view class="filter-section">
+				<view class="section-title">学历要求 (不限)</view>
+				<view class="range-slider">
+					<view class="range-labels">
+						<text class="range-label">初中及以下</text>
+						<text class="range-label">博士</text>
+					</view>
+					<view class="slider-container">
+						<view class="slider-track">
+							<view class="slider-fill"></view>
+							<view class="slider-thumb slider-thumb-left"></view>
+							<view class="slider-thumb slider-thumb-right"></view>
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- 工作经验 -->
+			<view class="filter-section">
+				<view class="section-title">工作经验 (不限)</view>
+				<view class="range-slider">
+					<view class="range-labels">
+						<text class="range-label">在校/应届生</text>
+						<text class="range-label">10年+</text>
+					</view>
+					<view class="slider-container">
+						<view class="slider-track">
+							<view class="slider-fill"></view>
+							<view class="slider-thumb slider-thumb-left"></view>
+							<view class="slider-thumb slider-thumb-right"></view>
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- 期望薪资 -->
+			<view class="filter-section">
+				<view class="section-title">期望薪资 (15K-150K)</view>
+				<view class="range-slider">
+					<view class="range-labels">
+						<text class="range-label">15K</text>
+						<text class="range-label">150K</text>
+					</view>
+					<view class="slider-container">
+						<view class="slider-track">
+							<view class="slider-fill"></view>
+							<view class="slider-thumb slider-thumb-left"></view>
+							<view class="slider-thumb slider-thumb-right"></view>
+						</view>
+					</view>
+				</view>
+			</view>
+			
+			<!-- 求职状态 -->
+			<view class="filter-section">
+				<view class="section-title">求职状态 (不限)</view>
+				<view class="status-buttons">
+					<view class="status-button active">不限</view>
+					<view class="status-button">离职&随时到岗</view>
+					<view class="status-button">在职&暂不考虑</view>
+					<view class="status-button">在职&考虑机会</view>
+					<view class="status-button">在职&月内到岗</view>
+				</view>
+			</view>
+			
+			<!-- 年龄要求 -->
+			<view class="filter-section">
+				<view class="section-title">年龄要求 (不限)</view>
+				<view class="range-slider">
+					<view class="range-labels">
+						<text class="range-label">16岁</text>
+						<text class="range-label">46岁+</text>
+					</view>
+					<view class="slider-container">
+						<view class="slider-track">
+							<view class="slider-fill"></view>
+							<view class="slider-thumb slider-thumb-left"></view>
+							<view class="slider-thumb slider-thumb-right"></view>
+						</view>
+					</view>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 免责声明 -->
+		<view class="disclaimer">
+			<text class="disclaimer-text">筛选功能仅供您分析招聘数据,请勿有招聘歧视行为,如因名族、种族、性别等行为不合理差别对待候选人</text>
+		</view>
+		
+		<!-- 底部按钮 -->
+		<view class="bottom-buttons">
+			<view class="clear-button" @click="clearFilters">清除</view>
+			<view class="confirm-button" @click="confirmFilters">确定</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			// 筛选数据
+			educationRange: [0, 100],
+			experienceRange: [0, 100],
+			salaryRange: [15, 150],
+			ageRange: [16, 46],
+			jobStatus: '不限'
+		}
+	},
+	methods: {
+		// 返回上一页
+		goBack() {
+			uni.navigateBack()
+		},
+		
+		// 清除筛选
+		clearFilters() {
+			this.educationRange = [0, 100]
+			this.experienceRange = [0, 100]
+			this.salaryRange = [15, 150]
+			this.ageRange = [16, 46]
+			this.jobStatus = '不限'
+			
+			uni.showToast({
+				title: '已清除筛选条件',
+				icon: 'success'
+			})
+		},
+		
+		// 确认筛选
+		confirmFilters() {
+			console.log('筛选条件:', {
+				education: this.educationRange,
+				experience: this.experienceRange,
+				salary: this.salaryRange,
+				age: this.ageRange,
+				jobStatus: this.jobStatus
+			})
+			
+			uni.showToast({
+				title: '筛选条件已应用',
+				icon: 'success'
+			})
+			
+			setTimeout(() => {
+				uni.navigateBack()
+			}, 1500)
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+.filter-page {
+	min-height: 100vh;
+	// background-color: #f5f5f5;
+}
+
+// 导航栏
+.filter-header {
+	// background-color: #333333;
+	padding-top: 80rpx;
+	
+	.header-content {
+		display: flex;
+		align-items: center;
+		justify-content: space-between;
+		padding: 20rpx 30rpx;
+		
+		.header-left {
+			width: 60rpx;
+		}
+		
+		.header-title {
+			color:  rgba(51, 51, 51, 1);
+			font-size: 36rpx;
+			font-weight: 600;
+			text-align: center;
+		}
+		
+		.header-right {
+			width: 60rpx;
+		}
+	}
+}
+
+// 筛选内容
+.filter-content {
+	padding: 40rpx 30rpx;
+	background-color: #ffffff;
+	margin-bottom: 20rpx;
+}
+
+.filter-section {
+	margin-bottom: 60rpx;
+	
+	&:last-child {
+		margin-bottom: 0;
+	}
+}
+
+.section-title {
+	color: #333333;
+	font-size: 32rpx;
+	font-weight: 600;
+	margin-bottom: 30rpx;
+}
+
+// 范围滑块
+.range-slider {
+	.range-labels {
+		display: flex;
+		justify-content: space-between;
+		margin-bottom: 20rpx;
+		
+		.range-label {
+			color: #666666;
+			font-size: 24rpx;
+		}
+	}
+	
+	.slider-container {
+		padding: 20rpx 0;
+	}
+	
+	.slider-track {
+		position: relative;
+		height: 8rpx;
+		background-color: #e5e5e5;
+		border-radius: 4rpx;
+		
+		.slider-fill {
+			position: absolute;
+			top: 0;
+			left: 0;
+			right: 0;
+			height: 100%;
+			background-color: #007AFF;
+			border-radius: 4rpx;
+		}
+		
+		.slider-thumb {
+			position: absolute;
+			top: 50%;
+			transform: translateY(-50%);
+			width: 32rpx;
+			height: 32rpx;
+			background-color: #ffffff;
+			border: 4rpx solid #007AFF;
+			border-radius: 50%;
+			box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.2);
+			
+			&.slider-thumb-left {
+				left: 0;
+			}
+			
+			&.slider-thumb-right {
+				right: 0;
+			}
+		}
+	}
+}
+
+// 状态按钮
+.status-buttons {
+	display: flex;
+	flex-wrap: wrap;
+	justify-content: space-between;
+	
+	.status-button {
+		width: 48%;
+		padding: 16rpx 32rpx;
+		background-color: rgba(245, 248, 254, 1);
+		border-radius: 16rpx;
+		color: rgba(153, 153, 153, 1);
+        font-family: DM Sans;
+        font-size: 28rpx;
+        font-weight: 400;
+        line-height: 44rpx;
+        letter-spacing: 0px;
+        text-align: center;
+		box-sizing: border-box;
+		margin-bottom: 20rpx;
+		
+		&.active {
+			background-color: rgba(1, 107, 246, 1);
+			color: #ffffff;
+		}
+	}
+}
+
+// 免责声明
+.disclaimer {
+	padding: 30rpx;
+	
+	.disclaimer-text {
+		color: #999999;
+		font-size: 24rpx;
+		line-height: 1.5;
+		text-align: center;
+	}
+}
+
+// 底部按钮
+.bottom-buttons {
+	position: fixed;
+	bottom: 0;
+	left: 0;
+	right: 0;
+	display: flex;
+	background-color: #ffffff;
+	border-top: 1rpx solid #e5e5e5;
+	padding: 20rpx 30rpx;
+	gap: 20rpx;
+	
+	.clear-button {
+		flex: 1;
+		padding: 24rpx;
+		background-color: #f5f5f5;
+		color: #666666;
+		font-size: 32rpx;
+		font-weight: 500;
+		text-align: center;
+		border-radius: 50rpx;
+	}
+	
+	.confirm-button {
+		flex: 1;
+		padding: 24rpx;
+		background: linear-gradient(90deg, #007AFF, #00BFFF);
+		color: #ffffff;
+		font-size: 32rpx;
+		font-weight: 500;
+		text-align: center;
+		border-radius: 50rpx;
+	}
+}
+</style>

+ 842 - 0
pages/talentSearch/index.vue

@@ -0,0 +1,842 @@
+<template>
+	<view class="talent-search-page">
+		<!-- 搜索框 -->
+		<view class="search flex align-center justify-center">
+			<view class="search-box">
+				<view class="dropdown-btn" @click="showDropdown">
+					<text class="dropdown-text">{{ positionOptions[selectedPosition] }}</text>
+					<u-icon name="arrow-down" color="#016BF6" size="16"></u-icon>
+				</view>
+				<view class="separator"></view>
+				<input 
+					class="search-input"
+					v-model="searchKeyword"
+					placeholder="通过职位关键词查询"
+					@confirm="custom"
+				/>
+			</view>
+			<view class="search-btn" @click="custom">搜索</view>
+		</view>
+		
+		<!-- 筛选栏 -->
+		<view class="topbg-sx-box flex justify-start align-center">
+			<view class="topbg-sx-box-r flex align-center">
+				<!-- 城市 -->
+				<view class="topbg-sx-box-r-i flex align-center" style="">
+					<text style="margin-right: 10rpx;"
+					@click="goNavs('/pages/index/citySelect')">{{city?city:'选择城市'}}</text>
+					<u-icon name="arrow-down" color="#00B78F" size="16"
+						@click="goNavs('/pages/index/citySelect')"></u-icon>
+				</view>
+
+				<!-- 筛选 -->
+				<view class="topbg-sx-box-filter flex align-center">
+					<text style="margin-right: 10rpx;"
+						@click="goNavs('/pages/talentSearch/filter')">筛选</text>
+					<u-icon name="arrow-down" color="#999999" size="16"
+						@click="goNavs('/pages/talentSearch/filter')"></u-icon>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 人才列表 -->
+		<view class="talent-list">
+			<view 
+				class="talent-card" 
+				v-for="(talent, index) in talentList" 
+				:key="index"
+				@click="goToTalentDetail(talent)"
+			>
+				<view class="talent-content">
+					<!-- 头像和基本信息 -->
+					<view class="talent-header">
+						<image :src="talent.avatar" class="talent-avatar" mode="aspectFill"></image>
+						<view class="talent-info">
+							<view class="talent-name-section">
+								<view class="talent-name">{{ talent.name }}</view>
+								<view class="talent-tags">
+									<view class="status-tag online" v-if="talent.isOnline">在线</view>
+									<view class="status-tag hot" v-if="talent.isHot">热门搜索</view>
+									<view class="status-tag active" v-if="talent.lastActive">{{ talent.lastActive }}</view>
+								</view>
+							</view>
+							<!-- 经验和薪资 -->
+							<view class="talent-experience">
+								<text class="experience-text">{{ talent.experience }}</text>
+								<text class="education-salary">{{ talent.education }} {{ talent.salary }}</text>
+								<text class="status-text">{{ talent.jobStatus }}</text>
+							</view>
+						</view>
+					</view>
+					
+					<!-- 当前职位 -->
+					<view class="current-job" v-if="talent.currentJob">
+						<image src="../../static/images/aixin.svg" class="job-icon" mode="aspectFit"></image>
+						<text class="job-text">{{ talent.currentJob }}</text>
+					</view>
+					
+					<!-- 求职期望 -->
+					<view class="job-expectation">
+						<image src="../../static/images/xiangzi.svg" class="job-icon" mode="aspectFit"></image>
+						<text class="expectation-text">求职期望: {{ talent.jobExpectation }}</text>
+					</view>
+					
+					<!-- 技能标签 -->
+					<view class="skill-tags">
+						<view 
+							class="skill-tag" 
+							v-for="(skill, skillIndex) in talent.skills" 
+							:key="skillIndex"
+						>
+							{{ skill }}
+						</view>
+					</view>
+					
+					<!-- 工作描述 -->
+					<view class="job-description">
+						<text class="description-text">{{ talent.description }}</text>
+					</view>
+				</view>
+			</view>
+		</view>
+		
+		<!-- 职位选择弹窗 -->
+		<view class="position-modal" v-if="showPositionModal" @click="hidePositionModal">
+			<view class="position-modal-content" @click.stop>
+				<!-- 拖拽条 -->
+				<view class="position-modal-handle"></view>
+				
+				<!-- 标题 -->
+				<view class="position-modal-title">选择职位</view>
+				
+				<!-- 职位选项 -->
+				<view class="position-options">
+					<view 
+						class="position-option" 
+						:class="selectedPosition === index ? 'active' : ''"
+						@click="selectPosition(index)"
+						v-for="(option, index) in positionOptions" 
+						:key="index"
+					>
+						<view class="position-option-icon">
+							<view class="check-icon" v-if="selectedPosition === index">✓</view>
+						</view>
+						<text class="position-option-text">{{ option }}</text>
+					</view>
+				</view>
+			</view>
+		</view>
+	</view>
+</template>
+
+<script>
+export default {
+	data() {
+		return {
+			searchKeyword: '',
+			currentSx: 0,
+			sxTypeList: [
+				{
+					id: 1,
+					name: '推荐',
+				},
+				{
+					id: 2,
+					name: '最新',
+				}
+			],
+			city: '深圳',
+			county: '',
+			showSortModalFlag: false,
+			selectedSort: 0,
+			sortOptions: ['综合排序', '最新优先', '距离优先'],
+			showPositionModal: false,
+			selectedPosition: 0,
+			positionOptions: ['亚马逊运营', 'TikTok运营', '采购经理', '不限职位'],
+			city: '深圳',
+			talentList: [
+				{
+					id: 1,
+					name: '刘**',
+					avatar: '../../static/images/avator.png',
+					isOnline: true,
+					isHot: true,
+					experience: '8年',
+					education: '本科',
+					salary: '10-15K',
+					jobStatus: '在职&考虑机会',
+					currentJob: '通拓集团·店铺运营',
+					jobExpectation: '亚马逊运营',
+					skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
+					description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
+					workPeriod: '2021-2024'
+				},
+				{
+					id: 2,
+					name: '李**',
+					avatar: '../../static/images/avator.png',
+					lastActive: '5分钟前活跃',
+					experience: '25年应届生',
+					education: '本科',
+					salary: '8-12K',
+					jobStatus: '离职&随时到岗',
+					currentJob: '大连海事学院·法学',
+					jobExpectation: '亚马逊运营',
+					skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
+					description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
+					workPeriod: ''
+				},
+				{
+					id: 3,
+					name: '李**',
+					avatar: '../../static/images/avator.png',
+					lastActive: '刚刚活跃',
+					experience: '25年应届生',
+					education: '本科',
+					salary: '8-12K',
+					jobStatus: '离职&随时到岗',
+					currentJob: '臣美科技·小红书运营',
+					jobExpectation: '亚马逊运营',
+					skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
+					description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
+					workPeriod: '2021-2025'
+				},
+				{
+					id: 4,
+					name: '李**',
+					avatar: '../../static/images/avator.png',
+					lastActive: '刚刚活跃',
+					experience: '25年应届生',
+					education: '本科',
+					salary: '8-12K',
+					jobStatus: '离职&随时到岗',
+					currentJob: '臣美科技·小红书运营',
+					jobExpectation: '亚马逊运营',
+					skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
+					description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
+					workPeriod: ''
+				}
+			]
+		}
+	},
+	methods: {
+		// 返回上一页
+		goBack() {
+			uni.navigateBack()
+		},
+		
+		// 显示下拉菜单
+		showDropdown() {
+			this.showPositionModal = true
+		},
+		
+		// 隐藏职位选择弹窗
+		hidePositionModal() {
+			this.showPositionModal = false
+		},
+		
+		// 选择职位
+		selectPosition(index) {
+			this.selectedPosition = index
+			// 更新下拉按钮显示的文字
+			const selectedText = this.positionOptions[index]
+			// 这里可以更新下拉按钮的显示文字
+			uni.showToast({
+				title: `已选择: ${selectedText}`,
+				icon: 'none'
+			})
+			this.hidePositionModal()
+		},
+		
+		// 搜索
+		custom() {
+			console.log('搜索关键词:', this.searchKeyword)
+			// 这里可以添加搜索逻辑
+		},
+		
+		// 跳转页面
+		goNavs(url) {
+			uni.navigateTo({
+				url: url
+			})
+		},
+		
+		// 清空搜索
+		clear() {
+			this.searchKeyword = ''
+		},
+		
+		// 跳转页面
+		goNav(url) {
+			if (uni.getStorageSync('token')) {
+				uni.navigateTo({
+					url: url
+				})
+			} else {
+				this.noLogin()
+			}
+		},
+		
+		// 未登录提示
+		noLogin() {
+			uni.showModal({
+				title: '提示',
+				content: '您还未登录,请先登录',
+				confirmColor: '#00B88F',
+				success: function(res) {
+					if (res.confirm) {
+						uni.navigateTo({
+							url: '/pages/public/login'
+						})
+					}
+				}
+			})
+		},
+		
+		// 显示排序弹窗
+		showSortModal() {
+			this.showSortModalFlag = true
+		},
+		
+		// 隐藏排序弹窗
+		hideSortModal() {
+			this.showSortModalFlag = false
+		},
+		
+		// 选择排序选项
+		selectSort(index) {
+			this.selectedSort = index
+			uni.showToast({
+				title: `已选择: ${this.sortOptions[index]}`,
+				icon: 'none'
+			})
+			this.hideSortModal()
+		},
+		
+		// 跳转到人才详情
+		goToTalentDetail(talent) {
+			console.log('查看人才详情:', talent)
+			// 这里可以跳转到人才详情页面
+		}
+	}
+}
+</script>
+
+<style lang="scss" scoped>
+// 激活状态样式
+.active3 {
+	flex-direction: row;
+	justify-content: center;
+	align-items: center;
+	padding: 12rpx;
+	border-radius: 12rpx;
+	background: #FFFFFF !important;
+	margin-right: 12rpx;
+	border: 0.5px solid rgba(1, 107, 246, 1);
+
+	color: rgba(1, 107, 246, 1) !important;
+	font-family: DM Sans;
+	font-size: 22rpx;
+	font-weight: 400;
+	line-height: 20rpx;
+	letter-spacing: 0px;
+	text-align: left;
+}
+
+.talent-search-page {
+	min-height: 100vh;
+	background-color: #f5f5f5;
+}
+
+
+// 搜索框
+.search {
+	position: fixed;
+	top: 0;
+	width: 100%;
+	padding: 80rpx 20rpx 20rpx 20rpx;
+	background: linear-gradient(180.00deg, rgba(255, 102, 0, 1),rgba(255, 89, 89, 1) 83%);
+	z-index: 99;
+
+	.search-box {
+		flex: 1;
+		box-sizing: border-box;
+		border: 1px solid rgba(227, 231, 236, 1);
+		border-radius: 24px;
+		background: rgba(241, 241, 241, 1);
+		overflow: hidden;
+		display: flex;
+		align-items: center;
+		padding: 0 32rpx;
+		height: 60rpx;
+	}
+
+	.dropdown-btn {
+		display: flex;
+		align-items: center;
+		padding: 8rpx 16rpx;
+		background-color: #F1F1F1;
+		border: 1rpx solid #016BF6;
+		border-radius: 8rpx;
+		margin-right: 12rpx;
+		
+		.dropdown-text {
+			color: rgba(1, 107, 246, 1);
+			font-family: DM Sans;
+			font-size: 20rpx;
+			font-weight: 400;
+			line-height: 20rpx;
+			letter-spacing: -0.5px;
+			text-align: left;
+			margin-right: 8rpx;
+		}
+	}
+
+	.separator {
+		width: 4rpx;
+		height: 30rpx;
+		background-color: rgba(153, 153, 153, 1);
+		margin-right: 12rpx;
+	}
+
+	.search-input {
+		flex: 1;
+		height: 100%;
+		background: transparent;
+		color: #333;
+		font-family: DM Sans;
+		font-size: 20rpx;
+		font-weight: 400;
+		line-height: 48rpx;
+		letter-spacing: 0.5%;
+		text-align: left;
+		
+		&::placeholder {
+			color: rgba(182, 182, 182, 1);
+			font-family: DM Sans;
+			font-size: 20rpx;
+			font-weight: 400;
+			line-height: 48rpx;
+			letter-spacing: 0.5%;
+			text-align: left;
+		}
+	}
+
+	.search-btn {
+		width: 80rpx;
+		color: rgba(255, 255, 255, 1);
+		font-family: DM Sans;
+		font-size: 20rpx;
+		font-weight: 500;
+		line-height: 48rpx;
+		letter-spacing: 0.5%;
+		text-align: center;
+	}
+}
+
+
+.search-bar {
+	display: flex;
+	align-items: center;
+	margin-bottom: 20rpx;
+	
+	.search-input {
+		flex: 1;
+		height: 80rpx;
+		background-color: #f8f8f8;
+		border-radius: 40rpx;
+		padding: 0 30rpx;
+		font-size: 28rpx;
+		color: #333;
+		margin-right: 20rpx;
+	}
+	
+	.search-btn {
+		width: 120rpx;
+		height: 80rpx;
+		background-color: #016BF6;
+		color: #ffffff;
+		border-radius: 40rpx;
+		display: flex;
+		align-items: center;
+		justify-content: center;
+		font-size: 28rpx;
+	}
+}
+
+.filter-tags {
+	display: flex;
+	flex-wrap: wrap;
+	gap: 16rpx;
+	
+	.filter-tag {
+		padding: 12rpx 24rpx;
+		background-color: #ffffff;
+		border: 1rpx solid #e5e5e5;
+		border-radius: 20rpx;
+		font-size: 24rpx;
+		color: #666;
+	}
+}
+
+.active3 {
+	color: #1A1A1A !important;
+	font-size: 28rpx !important;
+	font-weight: 800 !important;
+}
+
+.topbg-sx-box {
+	position: fixed;
+	top: 160rpx;
+	left: 0;
+	right: 0;
+	width: 100%;
+	background-color: #ffffff;
+	z-index: 98;
+	padding: 20rpx;
+	box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
+
+	.topbg-sx-box-l-i {
+		color: rgba(153, 153, 153, 1);
+		font-family: DM Sans;
+		font-size: 24rpx;
+		font-weight: 400;
+		line-height: 18px;
+		letter-spacing: 0%;
+		text-align: center;
+		margin-right: 20rpx;
+		border-radius: 6px;
+		background: rgba(198, 198, 198, 0.1);
+		padding: 8rpx 12rpx;
+		display: inline-block;
+		min-width: 60rpx;
+		white-space: nowrap;
+
+		&.active3 {
+			font-family: DM Sans;
+			font-size: 24rpx !important;
+			font-weight: 400 !important;
+			line-height: 18px;
+			letter-spacing: 0%;
+			text-align: left;
+			padding: 8rpx 12rpx !important;
+			color: rgba(1, 107, 246, 1) !important;
+			background: rgba(252, 233, 220, 1) !important;
+			border: 1px solid rgba(1, 107, 246, 1);
+		}
+	}
+
+	.topbg-sx-box-r-i {
+		color: rgba(1, 107, 246, 1);
+		font-family: DM Sans;
+		font-size: 24rpx;
+		font-weight: 400;
+		line-height: 18px;
+		letter-spacing: 0%;
+		text-align: center;
+		margin-right: 20rpx;
+		border-radius: 6px;
+		background: rgba(252, 233, 220, 1);
+		padding: 8rpx 12rpx;
+		display: inline-block;
+		min-width: 60rpx;
+		white-space: nowrap;
+		cursor: pointer;
+		transition: all 0.3s ease;
+		border: 0.5px solid rgba(1, 107, 246, 1);
+	}
+
+	.topbg-sx-box-filter {
+		color: rgba(153, 153, 153, 1);
+		font-family: DM Sans;
+		font-size: 24rpx;
+		font-weight: 400;
+		line-height: 18px;
+		letter-spacing: 0%;
+		text-align: center;
+		border-radius: 6px;
+		background: rgba(198, 198, 198, 0.1);
+		padding: 8rpx 12rpx;
+		display: inline-block;
+		min-width: 60rpx;
+		white-space: nowrap;
+		cursor: pointer;
+		transition: all 0.3s ease;
+	}
+}
+
+.talent-list {
+	margin-top: 280rpx;
+	padding: 20rpx;
+}
+
+.talent-card {
+	background-color: #ffffff;
+	border-radius: 16rpx;
+	margin-bottom: 20rpx;
+	padding: 30rpx;
+	box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
+}
+
+.talent-content {
+	.talent-header {
+		display: flex;
+		align-items: flex-start;
+		
+		.talent-avatar {
+			width: 80rpx;
+			height: 80rpx;
+			border-radius: 50%;
+			margin-right: 20rpx;
+		}
+		
+		.talent-info {
+			flex: 1;
+			
+			.talent-name-section {
+				display: flex;
+				align-items: center;
+				justify-content: flex-start;
+				width: 100%;
+				margin-bottom: 6rpx;
+			}
+			
+			.talent-name {
+				color: rgba(51, 51, 51, 1);
+				font-family: DM Sans;
+				font-size: 28rpx;
+				font-weight: 500;
+				line-height: 36rx;
+				letter-spacing: 0.5%;
+				text-align: left;
+				margin-right: 16rpx;
+			}
+			
+			.talent-tags {
+				display: flex;
+				flex-wrap: wrap;
+				gap: 10rpx;
+				
+				.status-tag {
+					padding: 8rpx;
+					border-radius: 12rpx;
+					font-size: 18rpx;
+					font-family: DM Sans;
+					font-weight: 400;
+					line-height: 20rpx;
+					letter-spacing: -0.5px;
+					text-align: left;
+					
+					&.online {
+						background: rgba(213, 255, 231, 1);
+						color: rgba(29, 209, 104, 1);
+					}
+					
+					&.hot {
+						background: rgba(252, 233, 220, 1);
+						color: rgba(1, 107, 246, 1);
+					}
+					
+					&.active {
+						color: rgba(153, 153, 153, 1);
+					}
+				}
+			}
+		}
+	}
+	
+	.talent-experience {
+		display: flex;
+		align-items: center;
+		margin-bottom: 12rpx;
+		gap: 16rpx;
+		color: rgba(156, 164, 171, 1);
+		font-family: DM Sans;
+		font-size: 24rpx;
+		font-weight: 400;
+		line-height: 32rpx;
+		letter-spacing: 0.5%;
+		text-align: left;
+	}
+	
+	.current-job {
+		display: flex;
+		align-items: center;
+		margin-bottom: 12rpx;
+		
+		.job-icon {
+			width: 40rpx;
+			height: 40rpx;
+			margin-right: 8rpx;
+		}
+		
+		.job-text {
+			color: rgba(156, 164, 171, 1);
+			font-family: DM Sans;
+			font-size: 24rpx;
+			font-weight: 400;
+			line-height: 40rpx;
+			letter-spacing: 0.5%;
+			text-align: left;
+		}
+	}
+	
+	.job-expectation {
+		display: flex;
+		align-items: center;
+		margin-bottom: 16rpx;
+
+		.job-icon {
+			width: 40rpx;
+			height: 40rpx;
+			margin-right: 8rpx;
+		}
+		
+		.expectation-text {
+			color: rgba(156, 164, 171, 1);
+			font-family: DM Sans;
+			font-size: 24rpx;
+			font-weight: 400;
+			line-height: 40rpx;
+			letter-spacing: 0.5%;
+			text-align: left;
+		}
+	}
+	
+	.skill-tags {
+		display: flex;
+		flex-wrap: wrap;
+		gap: 10rpx;
+		margin-bottom: 16rpx;
+		
+		.skill-tag {
+			padding: 8rpx;
+			background: rgba(198, 198, 198, 0.1);
+			border-radius: 12rpx;
+			color: rgba(153, 153, 153, 1);
+			font-family: DM Sans;
+			font-size: 20rpx;
+			font-weight: 400;
+			line-height: 20rpx;
+			letter-spacing: -0.5px;
+			text-align: left;
+		}
+	}
+	
+	.job-description {
+		margin-bottom: 12rpx;
+		
+		.description-text {
+			color: rgba(97, 110, 124, 1);
+			font-family: DM Sans;
+			font-size: 24rpx;
+			font-weight: 400;
+			line-height: 32rpx;
+			letter-spacing: 0px;
+			text-align: left;
+		}
+	}
+	
+	.work-period {
+		text-align: right;
+		
+		.period-text {
+			font-size: 22rpx;
+			color: #999;
+		}
+		}
+	}
+
+	// 职位选择弹窗样式
+	.position-modal {
+		position: fixed;
+		top: 0;
+		left: 0;
+		right: 0;
+		bottom: 0;
+		background: rgba(0, 0, 0, 0.5);
+		z-index: 10001;
+		display: flex;
+		align-items: flex-end;
+		
+		.position-modal-content {
+			width: 100%;
+			background: #ffffff;
+			border-radius: 24rpx 24rpx 0 0;
+			padding: 20rpx 40rpx 40rpx 40rpx;
+			max-height: 60vh;
+			
+			.position-modal-handle {
+				width: 80rpx;
+				height: 8rpx;
+				background: #E5E5E5;
+				border-radius: 4rpx;
+				margin: 0 auto 30rpx auto;
+			}
+			
+			.position-modal-title {
+				font-size: 32rpx;
+				font-weight: 600;
+				color: #333333;
+				text-align: center;
+				padding-bottom: 30rpx;
+				margin-bottom: 30rpx;
+				border-bottom: 1px solid rgba(153, 153, 153, 0.25);
+			}
+			
+			.position-options {
+				.position-option {
+					display: flex;
+					align-items: center;
+					padding: 24rpx 32rpx;
+					margin-bottom: 16rpx;
+					border-radius: 42rpx;
+					border: 2rpx solid rgba(227, 231, 236, 1);
+					
+					&.active {
+						background: #F0F8FF;
+						border-color: #007AFF;
+						
+						.position-option-icon {
+							background: #007AFF;
+							border-color: #007AFF;
+							
+							.check-icon {
+								color: #ffffff;
+							}
+						}
+						
+						.position-option-text {
+							color: #007AFF;
+							font-weight: 500;
+						}
+					}
+					
+					.position-option-icon {
+						width: 40rpx;
+						height: 40rpx;
+						border-radius: 50%;
+						border: 2rpx solid #E5E5E5;
+						background: #ffffff;
+						display: flex;
+						align-items: center;
+						justify-content: center;
+						margin-right: 24rpx;
+						
+						.check-icon {
+							font-size: 24rpx;
+							color: #ffffff;
+							font-weight: bold;
+						}
+					}
+					
+					.position-option-text {
+						font-size: 28rpx;
+						color: #333333;
+						flex: 1;
+					}
+				}
+			}
+		}
+	}
+</style>

文件差异内容过多而无法显示
+ 2 - 0
static/images/aixin.svg


二进制
static/images/avator.png


二进制
static/images/default-avatar-female.png


二进制
static/images/default-avatar-male.png


文件差异内容过多而无法显示
+ 2 - 0
static/images/index/Hrempty.svg


+ 5 - 0
static/images/index/qiyeDelete.svg

@@ -0,0 +1,5 @@
+<svg viewBox="0 0 20.9375 20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20.937500" height="20.000000" fill="none">
+	<rect id="svg 46" width="20.937500" height="20.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 46" d="M12.7846 8.12285C12.7846 8.04568 12.7531 7.97315 12.6961 7.91861C12.6389 7.86404 12.563 7.83399 12.4822 7.83399C12.4014 7.83399 12.3255 7.86404 12.2684 7.91859L10.4926 9.61481L8.71692 7.91859C8.65797 7.86198 8.58669 7.83377 8.50309 7.83399C8.41949 7.83377 8.34821 7.86197 8.28926 7.91859C8.17134 8.03121 8.17134 8.21447 8.28926 8.32711L10.065 10.0233L8.28928 11.7196C8.23215 11.7741 8.20068 11.8467 8.20068 11.9238C8.20068 12.001 8.23215 12.0735 8.28922 12.128C8.34633 12.1826 8.42229 12.2127 8.50307 12.2127C8.58386 12.2127 8.65984 12.1826 8.7169 12.1281L10.4926 10.4319L12.2683 12.128C12.3254 12.1826 12.4014 12.2127 12.4822 12.2127C12.563 12.2127 12.639 12.1826 12.696 12.1281C12.7531 12.0736 12.7846 12.001 12.7846 11.9238C12.7846 11.8467 12.7531 11.7741 12.696 11.7196L10.9203 10.0234L12.696 8.32715C12.7553 8.27083 12.7848 8.20273 12.7846 8.12285L12.7846 8.12285Z" fill="rgb(0,0,0)" fill-rule="nonzero" />
+	<path id="矢量 47" d="M15.0678 5.57814C13.8363 4.40178 12.1989 3.75391 10.4573 3.75391C8.71567 3.75391 7.07829 4.40176 5.84676 5.57814C4.61525 6.75453 3.93701 8.31861 3.93701 9.98225C3.93701 11.6459 4.61523 13.21 5.84676 14.3863C7.07829 15.5627 8.71569 16.2106 10.4573 16.2106C12.1989 16.2106 13.8363 15.5627 15.0678 14.3863C16.2994 13.21 16.9776 11.6459 16.9776 9.98225C16.9776 8.31859 16.2994 6.75453 15.0678 5.57814ZM10.4573 15.6246C7.20024 15.6246 4.55042 13.0935 4.55042 9.98225C4.55042 6.87102 7.20024 4.33984 10.4573 4.33984C13.7144 4.33984 16.3642 6.87102 16.3642 9.98225C16.3642 13.0935 13.7144 15.6246 10.4573 15.6246Z" fill="rgb(0,0,0)" fill-rule="nonzero" />
+</svg>

+ 5 - 0
static/images/index/redGantan.svg

@@ -0,0 +1,5 @@
+<svg viewBox="0 0 20 20" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="20.000000" height="20.000000" fill="none">
+	<rect id="svg 56" width="20.000000" height="20.000000" x="0.000000" y="0.000000" />
+	<path id="矢量 56" d="M10.0004 1.12695C5.09974 1.12695 1.12695 5.09974 1.12695 10.0004C1.12695 14.9011 5.09974 18.8739 10.0004 18.8739C14.9011 18.8739 18.8739 14.9011 18.8739 10.0004C18.8739 5.09974 14.9011 1.12695 10.0004 1.12695Z" fill="rgb(255,55,0)" fill-rule="nonzero" />
+	<path id="矢量 57" d="M8.54297 8.05729C8.54297 5.7507 9.19531 3.88086 9.99981 3.88086C10.8045 3.88086 11.4568 5.7507 11.4568 8.05729C11.4568 10.364 10.8045 12.2339 9.99981 12.2339C9.19531 12.2339 8.54297 10.364 8.54297 8.05729ZM8.54297 14.662C8.54297 13.8575 9.19531 13.2051 9.99981 13.2051C10.8045 13.2051 11.4568 13.8575 11.4568 14.662C11.4568 15.4666 10.8045 16.119 9.99981 16.119C9.19531 16.119 8.54297 15.4666 8.54297 14.662Z" fill="rgb(255,255,255)" fill-rule="nonzero" />
+</svg>

+ 5 - 0
static/images/man.svg

@@ -0,0 +1,5 @@
+<svg viewBox="0 0 11 11" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="11.000000" height="11.000000" fill="none">
+	<rect id="svg 49" width="11.000000" height="11.000000" x="0.000000" y="0.000000" />
+	<circle id="椭圆 10" cx="5.5" cy="5.5" r="5.5" fill="rgb(255,255,255)" />
+	<path id="矢量 48" d="M8.84505 4.47989L8.84505 3.02702C8.55674 3.30779 7.69086 4.15012 7.24238 4.58636C7.68332 5.12529 7.94808 5.80839 7.94808 6.55272C7.94808 8.28448 6.51783 9.69401 4.75969 9.69401C3.00155 9.69401 1.57129 8.28448 1.57129 6.55272C1.57129 4.82096 3.00154 3.41144 4.75969 3.41144C5.44749 3.41144 6.08347 3.62908 6.60545 3.9956C7.04828 3.57444 7.9396 2.72834 8.24299 2.43909L6.64973 2.43909L6.64973 1.57227L9.68832 1.57227L9.68832 4.47895L8.84506 4.47895L8.84505 4.47989ZM2.4513 6.55272C2.4513 7.80679 3.48678 8.82719 4.76063 8.82719C6.03448 8.82719 7.06995 7.80679 7.06995 6.55272C7.06995 5.29866 6.03259 4.27826 4.75969 4.27826C3.48678 4.27826 2.4513 5.29866 2.4513 6.55272L2.4513 6.55272Z" fill="rgb(16,0,255)" fill-rule="nonzero" />
+</svg>

文件差异内容过多而无法显示
+ 2 - 0
static/images/wuman.svg


文件差异内容过多而无法显示
+ 2 - 0
static/images/xiangzi.svg


二进制
static/tabbar/ACjob.png


二进制
static/tabbar/ACsearch.png


二进制
static/tabbar/Hrsearch.png


二进制
static/tabbar/Rectangle7.png


二进制
static/tabbar/job.png


部分文件因为文件数量过多而无法显示