فهرست منبع

fix:急聘主题色更改

jianghaili 18 ساعت پیش
والد
کامیت
4035637988
3فایلهای تغییر یافته به همراه1053 افزوده شده و 909 حذف شده
  1. 7 7
      pages.json
  2. 1045 901
      pages/index/game/gameList.vue
  3. 1 1
      static/images/index/shuaxin.svg

+ 7 - 7
pages.json

@@ -133,7 +133,7 @@
 			"path": "pages/index/game/gameList",
 			"style": {
 				"navigationBarTitleText": "人才库",
-				"enablePullDownRefresh": true,
+				"enablePullDownRefresh": false,
 				"navigationStyle": "custom"
 			}
 		},
@@ -1372,12 +1372,12 @@
 				"selectedIconPath": "static/tabbar/ACjipin.png",
 				"text": "急聘"
 			},
-			{
-				"pagePath": "pages/talentSearch/index",
-				"iconPath": "static/tabbar/Hrsearch.png",
-				"selectedIconPath": "static/tabbar/ACsearch.png",
-				"text": "搜索"
-			},
+			// {
+			// 	"pagePath": "pages/talentSearch/index",
+			// 	"iconPath": "static/tabbar/Hrsearch.png",
+			// 	"selectedIconPath": "static/tabbar/ACsearch.png",
+			// 	"text": "搜索"
+			// },
 			{
 				"pagePath": "pages/msg/index",
 				"iconPath": "static/tabbar/Chat.png",

+ 1045 - 901
pages/index/game/gameList.vue

@@ -1,912 +1,1056 @@
 <template>
-	<view class="page-container" :style="{ paddingTop: (12 + statusBarHeight) + 'px' }">
-		<!-- 搜索栏 -->
-		<view class="search-section" :class="{'fixed': isFixed}" :style="isFixed ? { paddingTop: (12 + statusBarHeight) + 'px' } : {}">
-			<view class="search-bar">
-				<u-icon name="search" color="#999999" size="32" class="search-icon"></u-icon>
-				<input type="text" placeholder="搜索职位" class="search-input" v-model="searchKeyword" @confirm="handleSearch" />
-			</view>
-			<text class="search-btn" @click="handleSearch">搜索</text>
-		</view>
-		
-		<!-- tabs和筛选 -->
-		<view class="topbg-type flex justify-center" :class="{'fixed': isFixed}">
-			<view class="topbg-type-box">
-				<!-- 第一行:tabs -->
-				<view class="topbg-type-box-row flex justify-between align-center">
-					<view class="topbg-type-box-l flex align-center">
-						<view class="topbg-type-box-l-i" :class="current==index?'active':''"
-							@tap="current = index" v-for="(item,index) in typeList" :key="index">
-							{{item.label}}
-						</view>
-					</view>
-					<!-- 添加求职意向 -->
-					<view class="topbg-yx-box-r flex align-center"
-						@click="goNav('/package/jobIntention/jobIntention')">
-						<image src="../../../static/images/index/Attachment.svg" class="attachment-icon" />
-					</view>
-				</view>
-				
-				<!-- 第二行:筛选 -->
-				<view class="topbg-sx-box flex justify-between align-center">
-					<!-- 分类 -->
-					<view class="topbg-sx-box-l flex align-center">
-						<view class="topbg-sx-box-l-i" :class="currentSx==index?'active3':''"
-							@click="currentSx = index" v-for="(item,index) in sxTypeList" :key="index">
-							{{item.name}}
-						</view>
-					</view>
-					
-					<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('/package/jobIntention/city')">{{city?city:'选择城市'}}</text>
-							<u-icon name="arrow-down" color="#00B78F" size="16"
-								@click="goNavs('/package/jobIntention/city')"></u-icon>
-						</view>
-
-						<!-- 筛选 -->
-						<view class="topbg-sx-box-filter flex align-center">
-							<text style="margin-right: 10rpx;"
-								@click="goNavs('/package/screen/screen')">筛选</text>
-							<u-icon name="arrow-down" color="#999999" size="16"
-								@click="goNavs('/package/screen/screen')"></u-icon>
-						</view>
-					</view>
-				</view>
-			</view>
-		</view>
-		
-		<!-- 职位列表 -->
-		<view class="job-list-section">
-			<view class="job-list-header">
-				<text class="job-list-title">亿职赞急聘推荐</text>
-				<view class="refresh-btn" @click="refreshJobList">
-					<text>换一批推荐</text>
-					<image src="../../../static/images/index/shuaxin.svg" class="refresh-icon"></image>
-				</view>
-			</view>
-			
-			<view class="job-list" v-if="dataList.length > 0">
-				<view class="job-item" @click="gotoInfo(item.postPushId)" v-for="(item, index) in dataList" :key="index">
-					<view class="job-item-content">
-						<!-- 公司logo -->
-						<image :src="item.company ? item.company.companyLogo : '../../../static/logo.png'" 
-							class="company-logo" mode="aspectFill"></image>
-						
-						<view class="job-info">
-							<!-- 公司名称 -->
-							<view class="company-name">{{item.company ? item.company.companyName : ''}}</view>
-							
-							<!-- 公司规模-行业 -->
-							<view class="company-details">
-								<text>{{item.company ? item.company.companyPeople : '0人'}}</text>
-								<text>{{item.company ? item.industry.split(',').join(' ') : '未知行业'}}</text>
-							</view>
-							
-							<!-- 工作时间-福利 -->
-							<view class="job-benefits">
-								<text>上午9:00-下午06:30</text>
-								<text v-for="(benefit, idx) in item.positionWelfare" :key="idx">{{benefit}}</text>
-							</view>
-						</view>
-						
-						<!-- 右箭头 -->
-						<u-icon name="arrow-right" color="rgba(29, 33, 41, 1)" size="24"></u-icon>
-					</view>
-				</view>
-			</view>
-			
-			<!-- 暂无数据 -->
-			<view class="empty-state" v-else>
-				<text>暂无急聘职位</text>
-			</view>
-		</view>
-		
-		<!-- 求职列表 -->
-		<view class="job-search-section">			
-			<view class="job-search-list" v-if="jobSearchList.length > 0">
-				<view class="job-search-item" @click="gotoInfo(item.postPushId)" v-for="(item, index) in jobSearchList" :key="index">
-					<!-- 急聘标签 -->
-					<view class="urgent-tag">
-						<image src="../../../static/images/index/jijiji.svg" class="urgent-icon"></image>
-					</view>
-					
-					<view class="job-search-content">
-						<!-- 职位标题 -->
-						<view class="job-title">{{item.stationName || item.positionName || '职位名称'}}</view>
-						
-						<!-- 公司信息 -->
-						<view class="company-info">
-							<text class="company-name">{{item.company ? item.company.companyName : ''}}</text>
-							<text class="company-name">{{item.company ? item.company.companyPeople : '0人'}}</text>
-						</view>
-						
-						<!-- 薪资 -->
-						<view class="salary" v-if="item.salaryRange">
-							<text>¥{{item.salaryRange}}/月</text>
-                            <text>
-                                <text class="bonus-tag">奖</text>
-                                <text class="bonus-xin">16薪</text>
-                            </text>
-						</view>
-						
-						<!-- 职位要求标签 -->
-						<view class="job-requirements" v-if="item.experience || item.education || item.positionWelfare">
-							<text class="requirement-tag" v-if="item.experience">{{item.experience}}</text>
-							<text class="requirement-tag" v-if="item.education">{{item.education}}</text>
-							<text class="requirement-tag" v-for="(welfare, idx) in item.positionWelfare" :key="idx">{{welfare}}</text>
-						</view>
-						
-						<!-- 联系人信息 -->
-						<view class="contact-info">
-							<image :src="item.company?item.company.companyLogo:'../../../static/logo.png'"
-								style="width: 58rpx;height: 58rpx;border-radius: 50%;margin-right: 20rpx;" mode=""></image>
-							<view class="company-info-text" v-if="item.company">
-								{{item.company.companyLegalPerson?item.company.companyLegalPerson:'未知'}}·人事总监
-							</view>
-							<view class="reply-time">10分钟前回复</view>
-						</view>
-						
-						<!-- 地址和距离 -->
-						<view class="location-info">
-							<u-icon name="map" color="#999999" size="16"></u-icon>
-							<text class="address">{{item.province || ''}}{{item.city || ''}}{{item.county || ''}}{{item.address || ''}}</text>
-							<image src="../../../static/images/index/navigation.svg" class="distance-icon"></image>
-							<text class="distance">{{item.distance || '22km'}}</text>
-						</view>
-					</view>
-				</view>
-			</view>
-			
-			<!-- 暂无数据 -->
-			<view class="empty-state" v-else>
-				<text>暂无更多职位</text>
-			</view>
-		</view>
-	</view>
+  <view class="page-container">
+    <view class="page-bg">
+      <view class="page-bottom"></view>
+    </view>
+    <!-- 搜索栏 -->
+    <view class="search-section" :style="{ paddingTop: 12 + statusBarHeight + 'px' }">
+      <!-- :class="{ fixed: isFixed }"
+      :style="isFixed ? { paddingTop: 12 + statusBarHeight + 'px' } : {}" -->
+      <view class="search-bar">
+        <u-icon name="search" color="#999999" size="32" class="search-icon"></u-icon>
+        <input
+          type="text"
+          placeholder="搜索职位"
+          class="search-input"
+          v-model="searchKeyword"
+          @confirm="handleSearch"
+        />
+      </view>
+      <text class="search-btn" @click="handleSearch">搜索</text>
+    </view>
+
+    <view class="page-content">
+      <!-- tabs和筛选 -->
+      <view class="topbg-type flex justify-center" :class="{ fixed: isFixed }">
+        <view class="topbg-type-box">
+          <!-- 第一行:tabs -->
+          <view class="topbg-type-box-row flex justify-between align-center">
+            <view class="topbg-type-box-l flex align-center">
+              <view
+                class="topbg-type-box-l-i"
+                :class="current == index ? 'active' : ''"
+                @tap="current = index"
+                v-for="(item, index) in typeList"
+                :key="index"
+              >
+                {{ item.label }}
+              </view>
+            </view>
+            <!-- 添加求职意向 -->
+            <view
+              class="topbg-yx-box-r flex align-center"
+              @click="goNav('/package/jobIntention/jobIntention')"
+            >
+              <image
+                src="../../../static/images/index/Attachment.svg"
+                class="attachment-icon"
+              />
+            </view>
+          </view>
+
+          <!-- 第二行:筛选 -->
+          <view class="topbg-sx-box flex justify-between align-center">
+            <!-- 分类 -->
+            <view class="topbg-sx-box-l flex align-center">
+              <view
+                class="topbg-sx-box-l-i"
+                :class="currentSx == index ? 'active3' : ''"
+                @click="currentSx = index"
+                v-for="(item, index) in sxTypeList"
+                :key="index"
+              >
+                {{ item.name }}
+              </view>
+            </view>
+
+            <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('/package/jobIntention/city')"
+                  >{{ city ? city : "选择城市" }}</text
+                >
+                <u-icon
+                  name="arrow-down"
+                  color="#00B78F"
+                  size="16"
+                  @click="goNavs('/package/jobIntention/city')"
+                ></u-icon>
+              </view>
+
+              <!-- 筛选 -->
+              <view class="topbg-sx-box-filter flex align-center">
+                <text
+                  style="margin-right: 10rpx"
+                  @click="goNavs('/package/screen/screen')"
+                  >筛选</text
+                >
+                <u-icon
+                  name="arrow-down"
+                  color="#999999"
+                  size="16"
+                  @click="goNavs('/package/screen/screen')"
+                ></u-icon>
+              </view>
+            </view>
+          </view>
+        </view>
+      </view>
+
+      <!-- 职位列表 -->
+      <view class="job-list-section">
+        <view class="job-list-header">
+          <text class="job-list-title">亿职赞急聘推荐</text>
+          <view class="refresh-btn" @click="refreshJobList">
+            <text>换一批推荐</text>
+            <image
+              src="../../../static/images/index/shuaxin.svg"
+              class="refresh-icon"
+            ></image>
+          </view>
+        </view>
+
+        <view class="job-list" v-if="dataList.length > 0">
+          <view
+            class="job-item"
+            @click="gotoInfo(item.postPushId)"
+            v-for="(item, index) in dataList"
+            :key="index"
+          >
+            <view class="job-item-content">
+              <!-- 公司logo -->
+              <image
+                :src="
+                  item.company ? item.company.companyLogo : '../../../static/logo.png'
+                "
+                class="company-logo"
+                mode="aspectFill"
+              ></image>
+
+              <view class="job-info">
+                <!-- 公司名称 -->
+                <view class="company-name">{{
+                  item.company ? item.company.companyName : ""
+                }}</view>
+
+                <!-- 公司规模-行业 -->
+                <view class="company-details">
+                  <text>{{ item.company ? item.company.companyPeople : "0人" }}</text>
+                  <text>{{
+                    item.company ? item.industry.split(",").join(" ") : "未知行业"
+                  }}</text>
+                </view>
+
+                <!-- 工作时间-福利 -->
+                <view class="job-benefits">
+                  <text>上午9:00-下午06:30</text>
+                  <text v-for="(benefit, idx) in item.positionWelfare" :key="idx">{{
+                    benefit
+                  }}</text>
+                </view>
+              </view>
+
+              <!-- 右箭头 -->
+              <u-icon name="arrow-right" color="rgba(29, 33, 41, 1)" size="24"></u-icon>
+            </view>
+          </view>
+        </view>
+
+        <!-- 暂无数据 -->
+        <view class="empty-state" v-else>
+          <text>暂无急聘职位</text>
+        </view>
+      </view>
+
+      <!-- 求职列表 -->
+      <view class="job-search-section">
+        <view class="job-search-list" v-if="jobSearchList.length > 0">
+          <view
+            class="job-search-item"
+            @click="gotoInfo(item.postPushId)"
+            v-for="(item, index) in jobSearchList"
+            :key="index"
+          >
+            <!-- 急聘标签 -->
+            <view class="urgent-tag">
+              <image
+                src="../../../static/images/index/jijiji.svg"
+                class="urgent-icon"
+              ></image>
+            </view>
+
+            <view class="job-search-content">
+              <!-- 职位标题 -->
+              <view class="job-title">{{
+                item.stationName || item.positionName || "职位名称"
+              }}</view>
+
+              <!-- 公司信息 -->
+              <view class="company-info">
+                <text class="company-name">{{
+                  item.company ? item.company.companyName : ""
+                }}</text>
+                <text class="company-name">{{
+                  item.company ? item.company.companyPeople : "0人"
+                }}</text>
+              </view>
+
+              <!-- 薪资 -->
+              <view class="salary" v-if="item.salaryRange">
+                <text>¥{{ item.salaryRange }}/月</text>
+                <text>
+                  <text class="bonus-tag">奖</text>
+                  <text class="bonus-xin">16薪</text>
+                </text>
+              </view>
+
+              <!-- 职位要求标签 -->
+              <view
+                class="job-requirements"
+                v-if="item.experience || item.education || item.positionWelfare"
+              >
+                <text class="requirement-tag" v-if="item.experience">{{
+                  item.experience
+                }}</text>
+                <text class="requirement-tag" v-if="item.education">{{
+                  item.education
+                }}</text>
+                <text
+                  class="requirement-tag"
+                  v-for="(welfare, idx) in item.positionWelfare"
+                  :key="idx"
+                  >{{ welfare }}</text
+                >
+              </view>
+
+              <!-- 联系人信息 -->
+              <view class="contact-info">
+                <image
+                  :src="
+                    item.company ? item.company.companyLogo : '../../../static/logo.png'
+                  "
+                  style="
+                    width: 58rpx;
+                    height: 58rpx;
+                    border-radius: 50%;
+                    margin-right: 20rpx;
+                  "
+                  mode=""
+                ></image>
+                <view class="company-info-text" v-if="item.company">
+                  {{
+                    item.company.companyLegalPerson
+                      ? item.company.companyLegalPerson
+                      : "未知"
+                  }}·人事总监
+                </view>
+                <view class="reply-time">10分钟前回复</view>
+              </view>
+
+              <!-- 地址和距离 -->
+              <view class="location-info">
+                <u-icon name="map" color="#999999" size="16"></u-icon>
+                <text class="address"
+                  >{{ item.province || "" }}{{ item.city || "" }}{{ item.county || ""
+                  }}{{ item.address || "" }}</text
+                >
+                <image
+                  src="../../../static/images/index/navigation.svg"
+                  class="distance-icon"
+                ></image>
+                <text class="distance">{{ item.distance || "22km" }}</text>
+              </view>
+            </view>
+          </view>
+        </view>
+
+        <!-- 暂无数据 -->
+        <view class="empty-state" v-else>
+          <text>暂无更多职位</text>
+        </view>
+      </view>
+    </view>
+  </view>
 </template>
 
 <script>
-	export default {
-		name: 'gameList',
-		data() {
-			return {
-				statusBarHeight: 0, // 状态栏高度
-				current: 0,
-				typeList: [],
-				currentSx: 0,
-				sxTypeList: [{
-						id: 1,
-						name: '推荐',
-					},
-					{
-						id: 2,
-						name: '最新',
-					}
-				],
-				city: '',
-				searchKeyword: '', // 搜索关键词
-				dataList: [], // 职位列表
-				jobSearchList: [], // 求职列表
-				page: 1,
-				limit: 10,
-				searchPage: 1,
-				searchLimit: 10,
-				latitude: '',
-				longitude: '',
-				isFixed: false, // 是否固定
-				fixedThreshold: 300, // 固定阈值
-			};
-		},
-		onLoad() {
-			// 获取状态栏高度
-			let systemInfo = uni.getSystemInfoSync();
-			this.statusBarHeight = systemInfo.statusBarHeight || 0;
-			
-			this.getTypeList()
-			this.getLocation()
-			this.getJobSearchList()
-		},
-		onPageScroll(e) {
-			// 监听页面滚动
-			const scrollTop = e.scrollTop
-			if (scrollTop > this.fixedThreshold) {
-				this.isFixed = true
-			} else {
-				this.isFixed = false
-			}
-		},
-		methods: {
-			// 获取工作性质列表
-			getTypeList() {
-				this.$Request.getT('/app/dict/list', {
-					type: '工作性质'
-				}).then(res => {
-					if (res.code == 0) {
-						this.typeList = res.data.map(item => ({
-							label: item.value,
-							value: item.code
-						}))
-						// 获取到tabs数据后调用职位列表
-						this.getJobList()
-					}
-				})
-			},
-			// 跳转到搜索页面
-			goNavs(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			// 跳转到求职意向页面
-			goNav(url) {
-				uni.navigateTo({
-					url: url
-				})
-			},
-			// 处理搜索
-			handleSearch() {
-				if (this.searchKeyword.trim()) {
-					uni.navigateTo({
-						url: '/package/search/search?keyword=' + encodeURIComponent(this.searchKeyword)
-					})
-				} else {
-					uni.showToast({
-						title: '请输入搜索关键词',
-						icon: 'none'
-					})
-				}
-			},
-			// 获取位置信息
-			getLocation() {
-				let that = this
-				uni.getLocation({
-					type: 'wgs84',
-					success: function(res) {
-						that.latitude = res.latitude;
-						that.longitude = res.longitude;
-						that.getJobList()
-					},
-					fail: function() {
-						that.getJobList()
-					}
-				})
-			},
-			// 获取职位列表
-			getJobList() {
-				let data = {
-					page: this.page,
-					limit: this.limit,
-					postType: this.typeList.length > 0 ? this.typeList[this.current].label : '',
-					screen: +this.currentSx + 1, //1推荐 2最新
-					city: this.city == '全国' ? '' : this.city,
-					lng: this.longitude,
-					lat: this.latitude,
-					userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
-				}
-				this.$Request.get('/app/postPush/userGetPostPushList', data).then(res => {
-					if (res.code == 0) {
-						res.data.records.map(item => {
-							if (item.positionWelfare) {
-								item.positionWelfare = item.positionWelfare.split(',')
-							} else {
-								item.positionWelfare = []
-							}
-							if (item.distance) {
-								if (parseFloat(item.distance) > 1000) {
-									item.distance = (parseFloat(item.distance) / 1000).toFixed(2) + 'km'
-								} else {
-									item.distance = (parseFloat(item.distance)).toFixed(2) + 'm'
-								}
-							} else {
-								item.distance = ''
-							}
-						})
-						if (this.page == 1) {
-							this.dataList = res.data.records.slice(0, 2)
-						} else {
-							this.dataList = [...this.dataList, ...res.data.records.slice(0, 2)]
-						}
-					}
-				})
-			},
-			// 跳转到职位详情
-			gotoInfo(postPushId) {
-				uni.navigateTo({
-					url: '/pages/index/game/order?postPushId=' + postPushId
-				})
-			},
-			// 判断岗位名称与职位名称是否相同
-			isSameName(className, name) {
-				let str1 = className.trim();
-				let str2 = name.trim();
-				if (str1.length !== str2.length) {
-					return true;
-				}
-				return str1.toLowerCase() !== str2.toLowerCase();
-			},
-			// 刷新职位列表
-			refreshJobList() {
-				this.page = 1
-				this.getJobList()
-			},
-			// 获取求职列表
-			getJobSearchList() {
-				let data = {
-					page: this.searchPage,
-					limit: this.searchLimit,
-					postType: this.typeList.length > 0 ? this.typeList[this.current].label : '',
-					screen: +this.currentSx + 1, //1推荐 2最新
-					city: this.city == '全国' ? '' : this.city,
-					lng: this.longitude,
-					lat: this.latitude,
-					userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
-				}
-				this.$Request.get('/app/postPush/userGetPostPushList', data).then(res => {
-					if (res.code == 0) {
-						res.data.records.map(item => {
-							if (item.positionWelfare) {
-								item.positionWelfare = item.positionWelfare.split(',')
-							} else {
-								item.positionWelfare = []
-							}
-							if (item.distance) {
-								if (parseFloat(item.distance) > 1000) {
-									item.distance = (parseFloat(item.distance) / 1000).toFixed(2) + 'km'
-								} else {
-									item.distance = (parseFloat(item.distance)).toFixed(2) + 'm'
-								}
-							} else {
-								item.distance = ''
-							}
-						})
-						if (this.searchPage == 1) {
-							this.jobSearchList = res.data.records
-						} else {
-							this.jobSearchList = [...this.jobSearchList, ...res.data.records]
-						}
-					}
-				})
-			}
-		}
-	}
+export default {
+  name: "gameList",
+  data() {
+    return {
+      statusBarHeight: 0, // 状态栏高度
+      current: 0,
+      typeList: [],
+      currentSx: 0,
+      sxTypeList: [
+        {
+          id: 1,
+          name: "推荐",
+        },
+        {
+          id: 2,
+          name: "最新",
+        },
+      ],
+      city: "",
+      searchKeyword: "", // 搜索关键词
+      dataList: [], // 职位列表
+      jobSearchList: [], // 求职列表
+      page: 1,
+      limit: 10,
+      searchPage: 1,
+      searchLimit: 10,
+      latitude: "",
+      longitude: "",
+      isFixed: false, // 是否固定
+      fixedThreshold: 300, // 固定阈值
+    };
+  },
+  onLoad() {
+    // 获取状态栏高度
+    let systemInfo = uni.getSystemInfoSync();
+    this.statusBarHeight = systemInfo.statusBarHeight || 0;
+
+    this.getTypeList();
+    this.getLocation();
+    this.getJobSearchList();
+  },
+  onPageScroll(e) {
+    // 监听页面滚动
+    const scrollTop = e.scrollTop;
+    if (scrollTop > this.fixedThreshold) {
+      this.isFixed = true;
+    } else {
+      this.isFixed = false;
+    }
+  },
+  methods: {
+    // 获取工作性质列表
+    getTypeList() {
+      this.$Request
+        .getT("/app/dict/list", {
+          type: "工作性质",
+        })
+        .then((res) => {
+          if (res.code == 0) {
+            this.typeList = res.data.map((item) => ({
+              label: item.value,
+              value: item.code,
+            }));
+            // 获取到tabs数据后调用职位列表
+            this.getJobList();
+          }
+        });
+    },
+    // 跳转到搜索页面
+    goNavs(url) {
+      uni.navigateTo({
+        url: url,
+      });
+    },
+    // 跳转到求职意向页面
+    goNav(url) {
+      uni.navigateTo({
+        url: url,
+      });
+    },
+    // 处理搜索
+    handleSearch() {
+      if (this.searchKeyword.trim()) {
+        uni.navigateTo({
+          url: "/package/search/search?keyword=" + encodeURIComponent(this.searchKeyword),
+        });
+      } else {
+        uni.showToast({
+          title: "请输入搜索关键词",
+          icon: "none",
+        });
+      }
+    },
+    // 获取位置信息
+    getLocation() {
+      let that = this;
+      uni.getLocation({
+        type: "wgs84",
+        success: function (res) {
+          that.latitude = res.latitude;
+          that.longitude = res.longitude;
+          that.getJobList();
+        },
+        fail: function () {
+          that.getJobList();
+        },
+      });
+    },
+    // 获取职位列表
+    getJobList() {
+      let data = {
+        page: this.page,
+        limit: this.limit,
+        postType: this.typeList.length > 0 ? this.typeList[this.current].label : "",
+        screen: +this.currentSx + 1, //1推荐 2最新
+        city: this.city == "全国" ? "" : this.city,
+        lng: this.longitude,
+        lat: this.latitude,
+        userId: uni.getStorageSync("userId") ? uni.getStorageSync("userId") : "",
+      };
+      this.$Request.get("/app/postPush/userGetPostPushList", data).then((res) => {
+        if (res.code == 0) {
+          res.data.records.map((item) => {
+            if (item.positionWelfare) {
+              item.positionWelfare = item.positionWelfare.split(",");
+            } else {
+              item.positionWelfare = [];
+            }
+            if (item.distance) {
+              if (parseFloat(item.distance) > 1000) {
+                item.distance = (parseFloat(item.distance) / 1000).toFixed(2) + "km";
+              } else {
+                item.distance = parseFloat(item.distance).toFixed(2) + "m";
+              }
+            } else {
+              item.distance = "";
+            }
+          });
+          if (this.page == 1) {
+            this.dataList = res.data.records.slice(0, 2);
+          } else {
+            this.dataList = [...this.dataList, ...res.data.records.slice(0, 2)];
+          }
+        }
+      });
+    },
+    // 跳转到职位详情
+    gotoInfo(postPushId) {
+      uni.navigateTo({
+        url: "/pages/index/game/order?postPushId=" + postPushId,
+      });
+    },
+    // 判断岗位名称与职位名称是否相同
+    isSameName(className, name) {
+      let str1 = className.trim();
+      let str2 = name.trim();
+      if (str1.length !== str2.length) {
+        return true;
+      }
+      return str1.toLowerCase() !== str2.toLowerCase();
+    },
+    // 刷新职位列表
+    refreshJobList() {
+      this.page = 1;
+      this.getJobList();
+    },
+    // 获取求职列表
+    getJobSearchList() {
+      let data = {
+        page: this.searchPage,
+        limit: this.searchLimit,
+        postType: this.typeList.length > 0 ? this.typeList[this.current].label : "",
+        screen: +this.currentSx + 1, //1推荐 2最新
+        city: this.city == "全国" ? "" : this.city,
+        lng: this.longitude,
+        lat: this.latitude,
+        userId: uni.getStorageSync("userId") ? uni.getStorageSync("userId") : "",
+      };
+      this.$Request.get("/app/postPush/userGetPostPushList", data).then((res) => {
+        if (res.code == 0) {
+          res.data.records.map((item) => {
+            if (item.positionWelfare) {
+              item.positionWelfare = item.positionWelfare.split(",");
+            } else {
+              item.positionWelfare = [];
+            }
+            if (item.distance) {
+              if (parseFloat(item.distance) > 1000) {
+                item.distance = (parseFloat(item.distance) / 1000).toFixed(2) + "km";
+              } else {
+                item.distance = parseFloat(item.distance).toFixed(2) + "m";
+              }
+            } else {
+              item.distance = "";
+            }
+          });
+          if (this.searchPage == 1) {
+            this.jobSearchList = res.data.records;
+          } else {
+            this.jobSearchList = [...this.jobSearchList, ...res.data.records];
+          }
+        }
+      });
+    },
+  },
+};
 </script>
 
-<style lang="scss">
-	page {
-		background-color: #F2F2F7;
-	}
-
-	.page-container {
-		width: 100%;
-		height: 40vh;
-		background-image: url('../../../static/images/index/jipinBac.png');
-		background-size: cover;
-		background-position: center;
-		background-repeat: no-repeat;
-	}
-
-	.search-section {
-		width: 100%;
-		padding: 0 20rpx;
-		margin-bottom: 20rpx;
-		display: flex;
-		justify-content: space-between;
-
-		.search-bar {
-			flex: 1;
-			height: 52rpx;
-			background-color: #ffffff;
-			border-radius: 40rpx;
-			display: flex;
-			align-items: center;
-			padding: 0 30rpx;
-			margin-right: 20rpx;
-			box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
-
-			.search-icon {
-				margin-right: 20rpx;
-			}
-
-			.search-input {
-				flex: 1;
-				height: 100%;
-				font-size: 24rpx;
-				color: #333333;
-				border: none;
-				outline: none;
-				background: transparent;
-
-				&::placeholder {
-					color: #999999;
-				}
-			}
-		}
-
-		.search-btn {
-            color: rgba(255, 255, 255, 1);
+<style lang="scss" scoped>
+page {
+  background-color: #f2f2f7;
+}
+
+.page-container {
+  position: absolute;
+  left: 0;
+  right: 0;
+  top: 0;
+  bottom: 0;
+  display: flex;
+  flex-direction: column;
+  overflow: hidden;
+  .page-bg {
+    position: absolute;
+    top: 0;
+    left: 0;
+    right: 0;
+    height: 40vh;
+    background: linear-gradient(90deg, rgba(13, 39, 247, 1), rgba(19, 193, 234, 1) 100%);
+    z-index: -1;
+    .page-bottom {
+      height: 20vh;
+      position: absolute;
+      bottom: 0;
+      left: 0;
+      right: 0;
+      background: linear-gradient(
+        to top,
+        rgba(244, 243, 243, 1),
+        rgba(255, 255, 255, 0.5) 46%,
+        rgba(255, 255, 255, 0) 100%
+      );
+    }
+  }
+  .page-content {
+    flex: 1;
+    width: 100%;
+	overflow: hidden;
+	overflow-y: auto;
+  }
+}
+
+.search-section {
+  flex-shrink: 0;
+  width: 100%;
+  padding: 20rpx 20rpx;
+  display: flex;
+  justify-content: space-between;
+
+  .search-bar {
+    flex: 1;
+    height: 52rpx;
+    background-color: #ffffff;
+    border-radius: 40rpx;
+    display: flex;
+    align-items: center;
+    padding: 0 30rpx;
+    margin-right: 20rpx;
+    box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.1);
+
+    .search-icon {
+      margin-right: 20rpx;
+    }
+
+    .search-input {
+      flex: 1;
+      height: 100%;
+      font-size: 24rpx;
+      color: #333333;
+      border: none;
+      outline: none;
+      background: transparent;
+
+      &::placeholder {
+        color: #999999;
+      }
+    }
+  }
+
+  .search-btn {
+    color: rgba(255, 255, 255, 1);
+    font-family: DM Sans;
+    font-size: 24rpx;
+    font-weight: 500;
+    line-height: 24px;
+    letter-spacing: 0%;
+    text-align: center;
+  }
+}
+
+.active {
+  font-size: 38rpx !important;
+  font-weight: 800 !important;
+}
+
+.active2 {
+  color: #1a1a1a !important;
+  font-size: 38rpx !important;
+  font-weight: 800 !important;
+}
+
+.active3 {
+  color: #1a1a1a !important;
+  font-size: 28rpx !important;
+  font-weight: 800 !important;
+}
+
+.topbg-type {
+  width: 710rpx;
+  border-radius: 6px;
+  box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.05);
+  background: rgba(255, 255, 255, 1);
+  padding: 18rpx 25rpx;
+  margin: 0rpx auto 12rpx auto;
+
+  .topbg-type-box {
+    width: 686rpx;
+  }
+
+  .topbg-type-box-row {
+    margin-bottom: 20rpx;
+  }
+
+  .topbg-type-box-l {
+    flex: 1;
+    white-space: nowrap;
+    overflow-x: auto;
+  }
+
+  .topbg-type-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;
+    }
+  }
+
+  .topbg-type-box-r {
+    color: #ffffff;
+  }
+
+  .attachment-icon {
+    width: 38rpx;
+    height: 38rpx;
+  }
+}
+
+.topbg-sx-box {
+  width: 100%;
+  margin-top: 0rpx;
+
+  .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;
+  }
+}
+
+.job-list-section {
+  padding: 20rpx;
+  margin: 20rpx;
+  border-radius: 6px;
+  box-shadow: 0px 5px 8px 0px rgba(255, 255, 255, 0.05);
+  background: linear-gradient(180deg, #78e4ff9d 1%, rgb(255, 255, 255) 38%);
+
+  .job-list-header {
+    display: flex;
+    justify-content: space-between;
+    align-items: center;
+    margin-bottom: 20rpx;
+
+    .job-list-title {
+      color: rgba(1, 107, 246, 1);
+      font-family: DM Sans;
+      font-size: 32rpx;
+      font-weight: 700;
+      line-height: 21px;
+      text-align: left;
+    }
+
+    .refresh-btn {
+      color: rgba(1, 107, 246, 1);
+      font-family: DM Sans;
+      font-size: 18rpx;
+      font-weight: 400;
+      line-height: 10px;
+      text-align: right;
+      display: flex;
+      align-items: center;
+      gap: 8rpx;
+
+      .refresh-icon {
+        width: 28rpx;
+        height: 28rpx;
+      }
+    }
+  }
+
+  .job-list {
+    .job-item {
+      background-color: #ffffff;
+      border-radius: 12rpx;
+      margin-bottom: 16rpx;
+      padding: 20rpx;
+      box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
+
+      .job-item-content {
+        display: flex;
+        align-items: center;
+        gap: 20rpx;
+
+        .company-logo {
+          width: 80rpx;
+          height: 80rpx;
+          border-radius: 8rpx;
+          flex-shrink: 0;
+        }
+
+        .job-info {
+          flex: 1;
+
+          .company-name {
+            color: rgba(29, 33, 41, 1);
             font-family: DM Sans;
             font-size: 24rpx;
             font-weight: 500;
-            line-height: 24px;
+            line-height: 13px;
+            letter-spacing: 0%;
+            text-align: left;
+            margin-bottom: 8rpx;
+          }
+
+          .company-details {
+            display: flex;
+            gap: 16rpx;
+            margin-bottom: 8rpx;
+
+            text {
+              color: rgba(153, 153, 153, 1);
+              font-family: DM Sans;
+              font-size: 20rpx;
+              font-weight: 400;
+              line-height: 13px;
+              letter-spacing: 0%;
+              text-align: left;
+            }
+          }
+
+          .job-benefits {
+            display: flex;
+            gap: 12rpx;
+            flex-wrap: nowrap;
+            overflow: hidden;
+            width: 450rpx;
+
+            text {
+              color: rgba(153, 153, 153, 1);
+              font-family: DM Sans;
+              font-size: 20rpx;
+              font-weight: 400;
+              line-height: 13px;
+              letter-spacing: 0%;
+              text-align: left;
+              white-space: nowrap;
+              flex-shrink: 0;
+            }
+          }
+        }
+      }
+    }
+  }
+
+  .empty-state {
+    text-align: center;
+    padding: 60rpx 0;
+    color: #999999;
+    font-size: 28rpx;
+  }
+}
+
+// 求职列表样式
+.job-search-section {
+  width: 100%;
+  padding: 0 20rpx 20rpx 20rpx;
+
+  .job-search-header {
+    margin-bottom: 20rpx;
+
+    .job-search-title {
+      font-size: 32rpx;
+      font-weight: 600;
+      color: #333333;
+    }
+  }
+
+  .job-search-list {
+    .job-search-item {
+      background-color: #ffffff;
+      border-radius: 12rpx;
+      margin-bottom: 16rpx;
+      padding: 30rpx;
+      box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
+      position: relative;
+
+      .urgent-tag {
+        position: absolute;
+        top: 0rpx;
+        right: 40rpx;
+
+        .urgent-icon {
+          width: 80rpx;
+          height: 80rpx;
+        }
+      }
+
+      .job-search-content {
+        .job-title {
+          color: rgba(29, 33, 41, 1);
+          font-family: DM Sans;
+          font-size: 36rpx;
+          font-weight: 500;
+          line-height: 21px;
+          letter-spacing: 0%;
+          text-align: left;
+        }
+
+        .company-info {
+          display: flex;
+          gap: 16rpx;
+          margin: 12rpx 0;
+
+          .company-name {
+            color: rgba(156, 164, 171, 1);
+            font-family: DM Sans;
+            font-size: 24rpx;
+            font-weight: 400;
+            line-height: 20px;
+            letter-spacing: 0%;
+            text-align: left;
+          }
+        }
+
+        .salary {
+          display: flex;
+          align-items: center;
+          justify-content: space-between;
+          color: rgba(1, 107, 246, 1);
+          font-family: DM Sans;
+          font-size: 32rpx;
+          font-weight: 700;
+          line-height: 23px;
+          letter-spacing: 0%;
+          text-align: left;
+
+          .bonus-tag {
+            color: rgba(255, 255, 255, 1);
+            font-family: DM Sans;
+            padding: 4rpx;
+            font-size: 24rpx;
+            font-weight: 400;
             letter-spacing: 0%;
             text-align: center;
-		}
-	}
-
-	.active {
-		font-size: 38rpx !important;
-		font-weight: 800 !important;
-	}
-
-	.active2 {
-		color: #1A1A1A !important;
-		font-size: 38rpx !important;
-		font-weight: 800 !important;
-	}
-
-	.active3 {
-		color: #1A1A1A !important;
-		font-size: 28rpx !important;
-		font-weight: 800 !important;
-	}
-
-	.topbg-type {
-		width: 710rpx;
-		border-radius: 6px;
-		box-shadow: 0px 8px 12px 0px rgba(0, 0, 0, 0.05);
-		background: rgba(255, 255, 255, 1);
-		padding: 18rpx 25rpx;
-		margin: 0rpx auto 12rpx auto;
-
-		.topbg-type-box {
-			width: 686rpx;
-		}
-
-		.topbg-type-box-row {
-			margin-bottom: 20rpx;
-		}
-
-		.topbg-type-box-l {
-			flex: 1;
-			white-space: nowrap;
-			overflow-x: auto;
-		}
-
-		.topbg-type-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;
-			}
-		}
-
-		.topbg-type-box-r {
-			color: #ffffff;
-		}
-
-		.attachment-icon {
-			width: 38rpx;
-			height: 38rpx;
-		}
-	}
-
-	.topbg-sx-box {
-		width: 100%;
-		margin-top: 0rpx;
-
-		.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;
-		}
-	}
-
-	.job-list-section {
-		padding: 20rpx;
-        margin: 20rpx;
-        border-radius: 6px;
-        box-shadow: 0px 5px 8px 0px rgba(0, 0, 0, 0.05);
-        background: linear-gradient(180.00deg, rgba(255, 179, 180, 1) 1%,rgba(255, 255, 255, 1) 38%);
-
-		.job-list-header {
-			display: flex;
-			justify-content: space-between;
-			align-items: center;
-			margin-bottom: 20rpx;
-
-			.job-list-title {
-                color: rgba(255, 89, 89, 1);
-                font-family: DM Sans;
-                font-size: 32rpx;
-                font-weight: 700;
-                line-height: 21px;
-                text-align: left;
-			}
-
-			.refresh-btn {
-                color: rgba(255, 89, 89, 1);
-                font-family: DM Sans;
-                font-size: 18rpx;
-                font-weight: 400;
-                line-height: 10px;
-                text-align: right;
-                display: flex;
-                align-items: center;
-                gap: 8rpx;
-                
-                .refresh-icon {
-                    width: 28rpx;
-                    height: 28rpx;
-                }
-			}
-		}
-
-		.job-list {
-			.job-item {
-				background-color: #ffffff;
-				border-radius: 12rpx;
-				margin-bottom: 16rpx;
-				padding: 20rpx;
-				box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
-
-				.job-item-content {
-					display: flex;
-					align-items: center;
-					gap: 20rpx;
-
-					.company-logo {
-						width: 80rpx;
-						height: 80rpx;
-						border-radius: 8rpx;
-						flex-shrink: 0;
-					}
-
-					.job-info {
-						flex: 1;
-
-						.company-name {
-                            color: rgba(29, 33, 41, 1);
-                            font-family: DM Sans;
-                            font-size: 24rpx;
-                            font-weight: 500;
-                            line-height: 13px;
-                            letter-spacing: 0%;
-                            text-align: left;
-                            margin-bottom: 8rpx;
-						}
-
-						.company-details {
-							display: flex;
-							gap: 16rpx;
-							margin-bottom: 8rpx;
-
-							text {
-                                color: rgba(153, 153, 153, 1);
-                                font-family: DM Sans;
-                                font-size: 20rpx;
-                                font-weight: 400;
-                                line-height: 13px;
-                                letter-spacing: 0%;
-                                text-align: left;
-							}
-						}
-
-						.job-benefits {
-							display: flex;
-							gap: 12rpx;
-							flex-wrap: nowrap;
-							overflow: hidden;
-							width: 450rpx;
-
-							text {
-                                color: rgba(153, 153, 153, 1);
-                                font-family: DM Sans;
-                                font-size: 20rpx;
-                                font-weight: 400;
-                                line-height: 13px;
-                                letter-spacing: 0%;
-                                text-align: left;
-                                white-space: nowrap;
-                                flex-shrink: 0;
-							}
-						}
-					}
-				}
-			}
-		}
-
-		.empty-state {
-			text-align: center;
-			padding: 60rpx 0;
-			color: #999999;
-			font-size: 28rpx;
-		}
-	}
-	
-	// 求职列表样式
-	.job-search-section {
-		width: 100%;
-		padding: 0 20rpx 20rpx 20rpx;
-		
-		.job-search-header {
-			margin-bottom: 20rpx;
-			
-			.job-search-title {
-				font-size: 32rpx;
-				font-weight: 600;
-				color: #333333;
-			}
-		}
-		
-		.job-search-list {
-			.job-search-item {
-				background-color: #ffffff;
-				border-radius: 12rpx;
-				margin-bottom: 16rpx;
-				padding: 30rpx;
-				box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.1);
-				position: relative;
-				
-				.urgent-tag {
-					position: absolute;
-					top: 0rpx;
-					right: 40rpx;
-					
-					.urgent-icon {
-						width: 80rpx;
-						height: 80rpx;
-					}
-				}
-				
-				.job-search-content {
-					.job-title {
-                        color: rgba(29, 33, 41, 1);
-                        font-family: DM Sans;
-                        font-size: 36rpx;
-                        font-weight: 500;
-                        line-height: 21px;
-                        letter-spacing: 0%;
-                        text-align: left;
-					}
-					
-					.company-info {
-						display: flex;
-						gap: 16rpx;
-						margin: 12rpx 0; 
-						
-						.company-name {
-                            color: rgba(156, 164, 171, 1);
-                            font-family: DM Sans;
-                            font-size: 24rpx;
-                            font-weight: 400;
-                            line-height: 20px;
-                            letter-spacing: 0%;
-                            text-align: left;
-						}
-					}
-					
-					.salary {
-                        display: flex;
-                        align-items: center;
-                        justify-content: space-between;
-                        color: rgba(255, 89, 89, 1);
-                        font-family: DM Sans;
-                        font-size: 32rpx;
-                        font-weight: 700;
-                        line-height: 23px;
-                        letter-spacing: 0%;
-                        text-align: left;
-
-                        .bonus-tag {
-                            color: rgba(255, 255, 255, 1);
-                            font-family: DM Sans;
-                            padding: 4rpx;
-                            font-size: 24rpx;
-                            font-weight: 400;
-                            letter-spacing: 0%;
-                            text-align: center;
-                            border-radius: 4rpx;
-                            background: rgba(255, 89, 89, 1);
-                            margin-right: 12rpx;
-                        }
-
-                        .bonus-xin {
-                            color: rgba(255, 89, 89, 1);
-                            font-family: DM Sans;
-                            font-size: 24rpx;
-                            font-weight: 700;
-                            line-height: 20px;
-                            letter-spacing: 0%;
-                            text-align: right;
-                        }
-					}
-					
-					.job-requirements {
-						display: flex;
-						gap: 12rpx;
-						flex-wrap: wrap;
-						margin-bottom: 12rpx;
-						
-						.requirement-tag {
-							font-size: 18rpx;
-							color: rgba(1, 107, 246, 1);
-							padding: 6rpx 10rpx;
-                            background: rgba(153, 196, 250, 0.4);
-							border-radius: 12rpx;
-                            margin: 12rpx 0;
-						}
-					}
-					
-					.contact-info {
-						display: flex;
-						align-items: center;
-						margin-bottom: 12rpx;
-						
-						.company-info-text {
-                            color: rgba(51, 51, 51, 1);
-                            font-family: DM Sans;
-                            font-size: 24rpx;
-                            font-weight: 400;
-                            line-height: 20px;
-                            letter-spacing: 0%;
-                            text-align: left;
-						}
-						
-						.reply-time {
-							display: flex;
-							flex-direction: row;
-							justify-content: center;
-							align-items: center;
-							padding: 8rpx;
-							font-family: DM Sans;
-							font-size: 20rpx;
-							font-weight: 400;
-							line-height: 30rpx;
-							letter-spacing: 0.5%;
-							text-align: left;
-							border-radius: 12rpx;
-							background: #ECE1FD;
-							color: #8858C5;
-							margin-left: 12rpx;
-						}
-					}
-					
-					.location-info {
-						display: flex;
-						align-items: center;
-						gap: 8rpx;
-						
-						.address {
-							font-size: 22rpx;
-							color: #999999;
-							flex: 1;
-						}
-						
-						.distance-icon {
-							width: 24rpx;
-							height: 24rpx;
-						}
-						
-						.distance {
-							font-size: 22rpx;
-							color: #999999;
-						}
-					}
-				}
-			}
-		}
-		
-		.empty-state {
-			text-align: center;
-			padding: 60rpx 0;
-			color: #999999;
-			font-size: 28rpx;
-		}
-	}
-	
-	// 固定样式
-	.search-section.fixed {
-		position: fixed;
-		top: 0;
-		left: 0;
-		right: 0;
-		z-index: 100;
-		background-image: url('../../../static/images/index/jipinBac.png');
-		background-size: cover;
-		background-position: top center;
-		background-repeat: no-repeat;
-		height: 19vh;
-	}
-	
-	.topbg-type.fixed {
-		position: fixed;
-		top: 9vh;
-		left: 50%;
-		transform: translateX(-50%);
-		z-index: 101;
-		background: rgba(255, 255, 255, 0.95);
-		backdrop-filter: blur(10rpx);
-	}
-</style>
+            border-radius: 4rpx;
+            background: rgba(1, 107, 246, 1);
+            margin-right: 12rpx;
+          }
+
+          .bonus-xin {
+            color: rgba(1, 107, 246, 1);
+            font-family: DM Sans;
+            font-size: 24rpx;
+            font-weight: 700;
+            line-height: 20px;
+            letter-spacing: 0%;
+            text-align: right;
+          }
+        }
+
+        .job-requirements {
+          display: flex;
+          gap: 12rpx;
+          flex-wrap: wrap;
+          margin-bottom: 12rpx;
+
+          .requirement-tag {
+            font-size: 18rpx;
+            color: rgba(1, 107, 246, 1);
+            padding: 6rpx 10rpx;
+            background: rgba(153, 196, 250, 0.4);
+            border-radius: 12rpx;
+            margin: 12rpx 0;
+          }
+        }
+
+        .contact-info {
+          display: flex;
+          align-items: center;
+          margin-bottom: 12rpx;
+
+          .company-info-text {
+            color: rgba(51, 51, 51, 1);
+            font-family: DM Sans;
+            font-size: 24rpx;
+            font-weight: 400;
+            line-height: 20px;
+            letter-spacing: 0%;
+            text-align: left;
+          }
+
+          .reply-time {
+            display: flex;
+            flex-direction: row;
+            justify-content: center;
+            align-items: center;
+            padding: 8rpx;
+            font-family: DM Sans;
+            font-size: 20rpx;
+            font-weight: 400;
+            line-height: 30rpx;
+            letter-spacing: 0.5%;
+            text-align: left;
+            border-radius: 12rpx;
+            background: #ece1fd;
+            color: #8858c5;
+            margin-left: 12rpx;
+          }
+        }
+
+        .location-info {
+          display: flex;
+          align-items: center;
+          gap: 8rpx;
+
+          .address {
+            font-size: 22rpx;
+            color: #999999;
+            flex: 1;
+          }
+
+          .distance-icon {
+            width: 24rpx;
+            height: 24rpx;
+          }
+
+          .distance {
+            font-size: 22rpx;
+            color: #999999;
+          }
+        }
+      }
+    }
+  }
+
+  .empty-state {
+    text-align: center;
+    padding: 60rpx 0;
+    color: #999999;
+    font-size: 28rpx;
+  }
+}
+
+// 固定样式
+.search-section.fixed {
+  position: fixed;
+  top: 0;
+  left: 0;
+  right: 0;
+  z-index: 100;
+  background-image: url("../../../static/images/index/jipinBac.png");
+  background-size: cover;
+  background-position: top center;
+  background-repeat: no-repeat;
+  height: 19vh;
+}
+
+.topbg-type.fixed {
+  position: fixed;
+  top: 9vh;
+  left: 50%;
+  transform: translateX(-50%);
+  z-index: 101;
+  background: rgba(255, 255, 255, 0.95);
+  backdrop-filter: blur(10rpx);
+}
+</style>

+ 1 - 1
static/images/index/shuaxin.svg

@@ -1,4 +1,4 @@
 <svg viewBox="0 0 15 15" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" width="15.000000" height="15.000000" fill="none">
 	<rect id="svg 15" width="15.000001" height="15.000000" x="0.000000" y="0.000000" />
-	<path id="矢量 20" d="M7.4935 0.928711C3.88343 0.928711 0.946289 3.86585 0.946289 7.47593C0.946289 11.086 3.88343 14.0232 7.49352 14.0232C11.1036 14.0232 14.0408 11.086 14.0408 7.47593C14.0408 3.86583 11.1036 0.928711 7.4935 0.928711ZM7.4557 11.0134C6.01257 11.0134 4.78283 10.096 4.30963 8.81528L4.31443 8.81332C4.28502 8.75419 4.26487 8.68994 4.26487 8.61941C4.26487 8.37556 4.46254 8.17787 4.70641 8.17787C4.90256 8.17787 5.06323 8.30791 5.12081 8.48483L5.127 8.4823C5.46787 9.44093 6.38157 10.1303 7.4557 10.1303C8.81957 10.1303 9.92902 9.02084 9.92902 7.65697C9.92902 6.29311 8.81957 5.18365 7.4557 5.18365C7.1564 5.18365 6.87161 5.24196 6.6059 5.33994L6.91716 5.93676C6.95359 5.97598 6.97601 6.02879 6.97601 6.0868C6.97601 6.21011 6.8529 6.30539 6.75092 6.30756C6.74942 6.30756 6.7479 6.30756 6.7464 6.30756C6.74317 6.30756 6.74013 6.30756 6.73691 6.30736L4.53115 6.21269C4.45246 6.20926 4.3813 6.1642 4.34488 6.09413C4.30845 6.02427 4.31211 5.94019 4.35436 5.87359L5.53928 4.01061C5.58154 3.9442 5.65656 3.90584 5.73506 3.90865C5.81376 3.91208 5.88489 3.95717 5.92131 4.02723L6.19348 4.54909C6.58356 4.39007 7.00915 4.3006 7.45572 4.3006C9.30638 4.3006 10.8121 5.80633 10.8121 7.657C10.8121 9.50768 9.30636 11.0134 7.4557 11.0134Z" fill="rgb(255,89,89)" fill-rule="nonzero" />
+	<path id="矢量 20" d="M7.4935 0.928711C3.88343 0.928711 0.946289 3.86585 0.946289 7.47593C0.946289 11.086 3.88343 14.0232 7.49352 14.0232C11.1036 14.0232 14.0408 11.086 14.0408 7.47593C14.0408 3.86583 11.1036 0.928711 7.4935 0.928711ZM7.4557 11.0134C6.01257 11.0134 4.78283 10.096 4.30963 8.81528L4.31443 8.81332C4.28502 8.75419 4.26487 8.68994 4.26487 8.61941C4.26487 8.37556 4.46254 8.17787 4.70641 8.17787C4.90256 8.17787 5.06323 8.30791 5.12081 8.48483L5.127 8.4823C5.46787 9.44093 6.38157 10.1303 7.4557 10.1303C8.81957 10.1303 9.92902 9.02084 9.92902 7.65697C9.92902 6.29311 8.81957 5.18365 7.4557 5.18365C7.1564 5.18365 6.87161 5.24196 6.6059 5.33994L6.91716 5.93676C6.95359 5.97598 6.97601 6.02879 6.97601 6.0868C6.97601 6.21011 6.8529 6.30539 6.75092 6.30756C6.74942 6.30756 6.7479 6.30756 6.7464 6.30756C6.74317 6.30756 6.74013 6.30756 6.73691 6.30736L4.53115 6.21269C4.45246 6.20926 4.3813 6.1642 4.34488 6.09413C4.30845 6.02427 4.31211 5.94019 4.35436 5.87359L5.53928 4.01061C5.58154 3.9442 5.65656 3.90584 5.73506 3.90865C5.81376 3.91208 5.88489 3.95717 5.92131 4.02723L6.19348 4.54909C6.58356 4.39007 7.00915 4.3006 7.45572 4.3006C9.30638 4.3006 10.8121 5.80633 10.8121 7.657C10.8121 9.50768 9.30636 11.0134 7.4557 11.0134Z" fill="#0d27f7" fill-rule="nonzero" />
 </svg>