<template>
	<view>
		<!-- 自定义导航栏 -->
		<view class="custom-navbar">
			<view class="navbar-content">
				<view class="nav-left" @click="goBack">
					<u-icon name="arrow-leftward" color="#333" size="38"></u-icon>
				</view>
				<view class="nav-title">职位搜索</view>
				<view class="nav-right"></view>
			</view>
		</view>
		<!-- 搜索 -->
		<view class="search flex align-center justify-center">
			<view class="search-box">
				<u-search placeholder="搜索职位或公司" shape="round" searchIconSize = 40 searchIconColor="rgba(153, 153, 153, 1)" bgColor="rgba(241, 241, 241, 1)" borderColor="rgba(227, 231, 236, 1)" @clear="clear" v-model="keyword" @custom="custom" @search="custom"></u-search>
			</view>
		</view>
		<block v-if="show">
			<!-- 历史搜索 -->
			<view class="searchJl flex justify-center">
				<view class="searchJl-box">
					<view class="searchJl-box-header">
						<text class="searchJl-box-title">历史搜索</text>
						<image src="../../static/images/shanchu22.svg" style="width: 32rpx; height: 32rpx;" mode="aspectFit" @click="clearHistory"></image>
					</view>
					<view class="searchJl-box-label flex align-center flex-wrap">
						<view class="searchJl-box-item" @click="goSearch(item.keyWord)"
							v-for="(item,index) in searchList" :key="index">
							{{item.keyWord}}
						</view>
					</view>
				</view>
			</view>
			
			<!-- 近期热招 -->
			<view class="hot-jobs-container flex justify-center">
				<view class="hot-jobs-section">
					<view class="section-header">
						<text class="section-title">近期热招</text>
						<image src="../../static/images/shanchu22.svg" style="width: 32rpx; height: 32rpx;" mode="aspectFit" @click="clearHotJobs"></image>
					</view>
					<view class="hot-jobs-grid">
						<view 
							class="hot-job-item" 
							v-for="(job, index) in hotJobsList" 
							:key="index"
							@click="selectHotJob(job)"
						>
							<text class="job-name">{{ job.ruleClassifyName }}</text>
							<view class="hot-tag" v-if="job.isHot">
								<text class="hot-tag-text">Hot</text>
							</view>
						</view>
					</view>
				</view>
			</view>
		</block>
		<block v-else>
			<!-- 筛选 -->
			<view class="screen flex justify-center align-center">
				<view class="screen-box">
					<view class="topbg-sx-box">
						<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="city-container" @click="goNav('/package/screen/city?city='+city+'&county='+county)">
								<text class="city-text" style="margin-right: 10rpx;">{{county?county:city}}</text>
								<u-icon name="arrow-down" color="#999999" size="20"></u-icon>
							</view>

							<view v-if="currentSx==0" class="sort-container" @click="showSortModal">
								<text class="sort-text" style="margin-right: 10rpx;">综合排序</text>
								<u-icon name="arrow-down" color="rgba(1, 107, 246, 1)" size="20"></u-icon>
							</view>
								
							<view class="filter-container" @click="goNav('/package/screen/screen')">
								<text class="filter-text" style="margin-right: 10rpx;">筛选</text>
								<u-icon name="arrow-down" color="#999999" size="20"></u-icon>
							</view>
						</view>
					</view>
				</view>
			</view>
			<!-- 岗位推荐 -->
			<block v-if="currentSx==0">
			<view class="gwList flex justify-center" v-if="dataList.length>0">
				<view class="gwList-box">
					<scroll-view scroll-y="true" style="width: 100%;height: 100%;">
						<view class="gwList-box-item flex justify-center" @click="gotoInfo(item.postPushId)"
							v-for="(item,index) in dataList" :key="index">
							<view class="gwList-box-item-box">
								<!-- 标题-薪资 -->
								<view class="gwList-box-item-box-title flex justify-between align-center">
									<view class="title-left flex align-center">
										<view class="job-title-text"
											style="max-width: 450rpx;overflow:hidden;white-space: nowrap;text-overflow: ellipsis;-o-text-overflow:ellipsis;">
											<!-- <block v-if="isSameName(item.ruleClassifyName,item.stationName)">
												{{item.ruleClassifyName}}-
											</block> -->
											<block>
												{{item.ruleClassifyName}}
											</block>
										</view>
										<view v-if="item.isDue" class="salary-text-box">
											<image src="../../static/images/index/jipinIcom.svg" class="jipin-icon" />
											<text class="jipin-text">急聘</text>
										</view>
									</view>
									<text class="salary-text">{{item.salaryRange}}</text>
								</view>
								<!-- 公司名称-公司人数 -->
								<view class="gwList-box-item-box-name flex align-center">
									<text class="company-name" style="margin-right: 8rpx;">{{item.company?item.company.companyName:''}}</text>
									<text class="company-people"
										v-if="item.company">{{item.company?item.company.companyPeople:'0人'}}</text>
								</view>
								<!-- 职位标签 -->
								<view class="gwList-box-item-box-label flex align-center flex-wrap">
									<text class="job-tag">{{item.education}}</text>
									<text class="job-tag">{{item.experience}}</text>
									<text class="job-tag" v-for="(ite,ind) in item.positionWelfare" :key="ind">{{ite}}</text>
								</view>
								<!-- <view class="gwList-box-item-box-line"></view> -->
								<!-- 公司简介-位置 -->
								<view class="gwList-box-item-box-info flex justify-between align-center">
									<view class="gwList-box-item-box-info-l flex align-center">
										<image
											:src="item.hr&&item.hr.hrImg?item.hr.hrImg:'../../static/logo.png'"
											style="width: 58rpx;height: 58rpx;border-radius: 50%;margin-right: 20rpx;"
											mode=""></image>
										<view class="company-info-text">
											{{item.user&&item.user.userName?item.user.userName:'未知'}}·{{item.hr&&item.hr.hrPosition||'匿名职位'}}
										</view>
										<view v-if="item.respondTime" class="reply-time">{{item.respondTime}}</view>
									</view>
									<view class="location-text">
										{{item.county}} 
									</view>
								</view>
							</view>
						</view>
					</scroll-view>
				</view>
			</view>
			<!-- 暂无数据 -->
			<view class="gwList" v-else>
				<empty />
			</view>
			</block>
			<block v-else>
				<view class="gwList flex justify-center" v-if="dataList.length>0">
					<view class="gwList-box">
						<scroll-view scroll-y="true" style="width: 100%;height: 100%;">
							<view class="box" v-for="(item,index) in dataList" :key="'company'+index">
							<view class="gwList-box-item company" @click="goTo('/my/enterpriseInfo/enterpriseInfo?companyId=' + item.companyId)">
								<view class="gwList-box-item-box">
									<view class="gwList-box-item-box-title flex justify-between align-center">
										<u-avatar :src="item.companyLogo?item.companyLogo:'../../static/images/index/jipinIcom.svg'" class="jipin-icon" ></u-avatar>
										<view class="gwList-box-item-box-info-l">
											<view class="companyTitle">{{item.companyAllName}}</view>
											<view class="company-info-text">
												{{item.companyPeople}} · {{item.companyScope}}
											</view>
											<view class="company-info-text">
												{{item.workTime}} <text v-if="item.welfare.length>0">·</text> <text v-for="(we,i) in item.welfare" :key="'welfare'+i">{{we}} <text v-if="i<item.welfare.length-1">·</text> </text> 
											</view>
										</view>
										<view class="goRight">
											<u-icon name="arrow-right"></u-icon>
										</view>
									</view>
								</view>
							</view>
							<view class="gwList-box-item companyPost" v-for="(it,ind) in item.postPushList" :key="'post'+ind">
								<view class="gwList-box-item-box" @click="goTo('/pages/index/game/order?postPushId=' + it.postPushId)">
									<!-- 标题-薪资 -->
									<view class="gwList-box-item-box-info flex justify-between align-center">
										<view class="gwList-box-item-box-info-l">
											<view class="companyTitle">{{it.ruleClassifyName}}</view>
											<view class="company-info-text tags">
												<u-tag borderColor="#fdfdfd" :text="it.experience" type="info" mode="light" size="mini"></u-tag>
												<u-tag borderColor="#fdfdfd" :text="it.education" type="info" mode="light" size="mini"></u-tag>
												<u-tag v-for="we in it.welfareTag&&it.welfareTag.split(';')||[]" borderColor="#fdfdfd" :text="we" type="info" mode="light" size="mini"></u-tag>
												<u-tag v-for="indus in it.industry&&it.industry.split(',')||[]" borderColor="#fdfdfd" :text="indus" type="info" mode="light" size="mini"></u-tag>
											</view>
										</view>
										<view class="location-text">
											{{it.salaryRange}} · {{item.salaryTimes||12}}薪 
										</view>
									</view>
								
								</view>
							</view>
							<view v-if="item.postPushList.length>3" class="gwList-box-item companyPost" @click="goTo('/my/enterpriseInfo/enterpriseInfo?companyId=' + item.companyId)">
								<view class="gwList-box-item-box">
									<!-- 标题-薪资 -->
									<view class="morePost">查看更多职位</view>
								</view>
							</view>
							</view>
						</scroll-view>
					</view>
				</view>
				<!-- 暂无数据 -->
				<view class="gwList" v-else>
					<empty />
				</view>
			</block>
		</block>
		
		<!-- 排序弹窗 -->
		<view class="sort-modal" v-if="showSortModalFlag" @click="hideSortModal">
			<view class="sort-modal-content" @click.stop>
				<!-- 拖拽条 -->
				<view class="sort-modal-handle"></view>
				
				<!-- 标题 -->
				<view class="sort-modal-title">排序</view>
				
				<!-- 排序选项 -->
				<view class="sort-options">
					<view 
						class="sort-option" 
						:class="selectedSort === index ? 'active' : ''"
						@click="selectSort(index)"
						v-for="(option, index) in sortOptions" 
						:key="index"
					>
						<view class="sort-option-icon">
							<view class="check-icon" v-if="selectedSort === index">✓</view>
						</view>
						<text class="sort-option-text">{{ option }}</text>
					</view>
				</view>
			</view>
		</view>
	</view>
</template>

<script>
	import empty from '../../components/empty.vue'
	export default {
		components: {
			empty
		},
		data() {
			return {
				show: false,
				keyword: '',
				currentSx: 0,
				sxTypeList: [{
						id: 1,
						name: '职位',
					},
					{
						id: 2,
						name: '公司',
					}
				],
				token: '',
				page: 1,
				limit: 10,
				totlo: 1,
				city: '',
				county: '', //区
				education: '', //学历
				salaryRange: '', //薪资
				experience: '', //经验
				companyPeople: '', //公司规模
				industry: '', //行业
				longitude: '',
				latitude: '',
				dataList: [],
				searchList: [],
				hotJobsList: [
					
				],
				showSortModalFlag: false,
				selectedSort: 0,
				sortOptions: ['综合排序', '最新优先', '距离优先'],
				filter:'筛选'
			};
		},
		watch: {
			currentSx(newData, oldData) {
				this.page = 1
				this.dataList=[]
				this.getUserList();
			},
		},
		onLoad() {
			let that = this
			//获取经纬度后请求岗位接口，经纬度用于筛选距离
			uni.getLocation({
				type: 'wgs84', //wgs84  gcj02
				success: function(res) {
					console.log(res, '地理位置');
					that.latitude = res.latitude;
					that.longitude = res.longitude;
					that.getUserList();
				},
				fail: function() {
					console.log('获取地址失败');
				}
			})
			this.getMyRecordList()
			this.getHotList()
		},
		onShow() {
			let that = this;
			if (!this.city) {
				if (uni.getStorageSync('city')) {
					this.city = uni.getStorageSync('city')
				} else {
					this.city = ''
				}
			}
			uni.$once('filterCity', data => {
				console.log(data, '选择的市')
				that.city = data.city
				that.county = data.county
				that.getUserList();
			})
			this.token = uni.getStorageSync('token');

			console.log(uni.getStorageSync('filter'), '1111111111');
			if (uni.getStorageSync('filter') && (uni.getStorageSync('filter')).length > 0) {
				let filter = uni.getStorageSync('filter')
				console.log(filter)
				filter.map(item => {
					let arr = []
					item.list.map(ite => {
						if (ite.value != '不限') {
							arr.push(ite.value)
						}
					})
					switch (item.name) {
						case '学历要求':
							this.education = arr.join(',')
							break;
						case '薪资范围（单选）':
							this.salaryRange = arr.join(',')
							break;
						case '经验要求':
							this.experience = arr.join(',')
							break;
						case '公司规模':
							this.companyPeople = arr.join(',')
							break;
						case '行业':
							this.industry = arr.join(',')
							break;
					}

				})
			} else {
				this.education = '' //学历
				this.experience = '' //经验
				this.industry = '' //行业
				this.salaryRange = '' //薪资
				this.companyPeople = '' //公司规模
			}
			that.getUserList();
		},
		onPullDownRefresh() {
			this.page = 1
			this.getUserList();
		},
		onReachBottom() {
			if (this.page < this.totlo) {
				this.page += 1
				this.getUserList();
			}
		},
		methods: {
			/**
			 * 返回上一页
			 */
			goBack() {
				uni.navigateBack()
			},
			
			//判断岗位名称与职位名称是否相同（不区分大小写）
			isSameName(className, name) {
				if(!className||!name)
					return;
				let str1 = className.trim();
				let str2 = name.trim();
				if (str1.length !== str2.length) {
					return true;
				}
				return str1.toLowerCase() !== str2.toLowerCase();
			},
			/**
			 * @param {Object} postPushId
			 * 岗位详情
			 */
			gotoInfo(postPushId) {
				if (uni.getStorageSync('token')) {
					uni.navigateTo({
						url: '/pages/index/game/order?postPushId=' + postPushId
					})
				} else {
					this.noLogin()
				}

			},
			goTo(action){
				if (uni.getStorageSync('token')) {
					uni.navigateTo({
						url: action,
						success(e) {
							console.log(e)
						},fail(e) {
							console.log(e)
						}
					})
				} else {
					this.noLogin()
				}
			},
			//我的搜索关键词
			getMyRecordList() {
				this.$Request.get('/app/record/getMyRecordList', {
					userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
				}).then(res => {
					if (res.code == 0) {
						this.searchList = res.data.records
						if (this.searchList.length > 0) {
							this.show = true
						} else {
							this.show = false
							this.custom()
						}
					}
				})
			},
			getHotList() {
				this.$Request.get('/app/postPush/getHotList', {
					userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : ''
				}).then(res => {
					if (res.code == 0) {
						this.hotJobsList = res.data
					}
				})
			},
			/**
			 * 清空搜索内容
			 */
			clear() {
				this.page = 1
				this.getUserList();
			},
			/**
			 * @param {Object} keyword
			 * 热词搜索
			 */
			goSearch(keyword) {
				this.show = false
				this.keyword = keyword
				this.getUserList();
			},
			/**
			 * @param {Object} e
			 * 用户点击搜索时触发
			 */
			custom(e) {
				this.show = false
				this.page = 1
				this.getUserList()
			},
			/**
			 * 获取岗位列表
			 */
			getUserList() {
				let data = {
					page: this.page,
					limit: this.limit,
					postType: '',
					ruleClassifyName: this.keyword, //岗位名称
					screen: this.selectedSort + 1, //1推荐 2最新
					county: this.county, //区
					city: this.city, //城市
					salaryRange: this.salaryRange, //薪资范围
					education: this.education, //学历
					experience: this.experience, //经验
					industry: this.industry, //行业
					companyPeople: this.companyPeople, //公司规模
					lng: this.longitude,
					lat: this.latitude,
					/* userId: uni.getStorageSync('userId') ? uni.getStorageSync('userId') : '' */
				}
				if(this.currentSx==1)
					data.key=this.keyword
				let action=this.currentSx==1?'/app/company/getCompanyPostPush':'/app/postPush/userGetPostPushList'
				
				this.$Request.get(action, data).then(res => {
					uni.stopPullDownRefresh()
					if (res.code == 0) {
						if(this.currentSx==0)
						res.data.records.map(item => {
							if (item.positionWelfare) {
								item.positionWelfare = item.positionWelfare.split(',')
							} else {
								item.positionWelfare = []
							}
						})
						else
						res.data.records.map(item => {
							if (item.welfare) {
								item.welfare = item.welfare.split(',')
							} else {
								item.welfare = []
							}
						})
						if (this.page == 1) {
							this.dataList = res.data.records
						} else {
							this.dataList = [...this.dataList, ...res.data.records]
						}
						this.totlo = res.data.pages
					}
				})
			},
			//跳转
			goNav(url) {
				if (uni.getStorageSync('token')) {
					uni.navigateTo({
						url: url
					})
				} else {
					this.noLogin()
				}

			},
			//未登录
			noLogin() {
				uni.showModal({
					title: '提示',
					content: '您还未登录,请先登录',
					confirmColor: '#016BF6',
					success: function(res) {
						if (res.confirm) {
							console.log('用户点击确定');
							// uni.reLaunch({
							// 	url:'/pages/public/login'
							// })
							uni.navigateTo({
								url: '/pages/public/login'
							})
						} else if (res.cancel) {
							console.log('用户点击取消');
						}
					}
				})
			},
			
			// 选择热门职位
			selectHotJob(job) {
				this.keyword = job.ruleClassifyName
				this.custom()
			},
			
			// 显示排序弹窗
			showSortModal() {
				this.showSortModalFlag = true
			},
			
			// 隐藏排序弹窗
			hideSortModal() {
				this.showSortModalFlag = false
			},
			
			// 选择排序选项
			selectSort(index) {
				this.selectedSort = index
				this.hideSortModal()
				// 这里可以添加排序逻辑
				this.getUserList();
			},
		},
	}
</script>

<style lang="scss">
	// page {
	// 	background: #F2F2F7;
	// }

	.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;
	}

	.custom-navbar {
		position: fixed;
		top: 0;
		left: 0;
		right: 0;
		width: 100%;
		padding-top: 80rpx;
		height: 160rpx;
		background-color: #ffffff;
		z-index: 10000;
		
		.navbar-content {
			display: flex;
			align-items: center;
			justify-content: space-between;
			height: 100%;
			padding: 0 32rpx;
			
			.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: 26px;
				letter-spacing: 0px;
				text-align: center;
			}
		}
	}

	.search {
		width: 100%;
		padding-top: 20rpx;
		height: 88rpx;
		background-color: #ffffff;
		position: fixed;
		top: 160rpx;
		z-index: 9999;

		.search-box {
			width: 686rpx;
			height: 60rpx;
		}

		/deep/ .u-action {
				color: rgba(1, 107, 246, 1);
				font-family: DM Sans;
				font-size: 24rpx;
				font-weight: 500;
				line-height: 48rpx;
				letter-spacing: 0px;
				text-align: center;
			}
	}

	.screen {
		width: 100%;
		height: 160rpx;
		background-color: #ffffff;
		position: fixed;
		top: 246rpx;
		z-index: 9999;

		.screen-box {
			padding-top: 20rpx;
			width: 686rpx;
			height: 160rpx;

			.topbg-sx-box {
				width: 686rpx;
				height: 25rpx;
				margin-top: 30rpx;

				.topbg-sx-box-l-i {
					flex-direction: row;
					justify-content: center;
					align-items: center;
					padding: 12rpx;
					border-radius: 12rpx;
					background: rgba(153, 153, 153, 0.1);
					margin-right: 12rpx;

					color: rgba(102, 102, 102, 1);
					font-family: DM Sans;
					font-size: 22rpx;
					font-weight: 400;
					line-height: 20rpx;
					letter-spacing: 0px;
					text-align: left;
					margin-bottom: 20rpx;
				}
			}
		}
	}
	
	// 筛选栏右侧容器样式
	.city-container {
		color: rgba(153, 153, 153, 1);
		font-family: DM Sans;
		font-size: 22rpx;
		font-weight: 400;
		line-height: 20rpx;
		letter-spacing: 0px;
		text-align: left;
		margin-right: 10rpx;
		padding: 8rpx 12rpx;
		border-radius: 12rpx;
		background: rgba(198, 198, 198, 0.1);
	}
	
	.sort-container {
		color: rgba(1, 107, 246, 1);
		font-family: DM Sans;
		font-size: 22rpx;
		font-weight: 400;
		line-height: 20rpx;
		letter-spacing: 0px;
		text-align: left;
		margin-right: 10rpx;
		padding: 8rpx 12rpx;
		border-radius: 12rpx;
		border: 0.5px solid rgba(1, 107, 246, 1);
	}
	
	.filter-container {
		color: rgba(153, 153, 153, 1);
		font-family: DM Sans;
		font-size: 22rpx;
		font-weight: 400;
		line-height: 20rpx;
		letter-spacing: 0px;
		text-align: left;
		margin-right: 10rpx;
		padding: 8rpx 12rpx;
		border-radius: 12rpx;
		background: rgba(198, 198, 198, 0.1);
	}

	.searchJl {
		width: 100%;
		background-color: #ffffff;
		position: fixed;
		top: 240rpx;
		height: calc(100vh - 80rpx);

		.searchJl-box {
			width: 686rpx;
			height: 100%;
			padding-top: 48rpx;

			.searchJl-box-header {
				display: flex;
				align-items: center;
				justify-content: space-between;
				margin-bottom: 20rpx;
			}

			.searchJl-box-title {
				color: rgba(34, 37, 42, 1);
				font-family: DM Sans;
				font-size: 26rpx;
				font-weight: 400;
				line-height: 48rpx;
				letter-spacing: 0px;
				text-align: left;
			}

			.searchJl-box-label {
				width: 100%;
				gap: 8rpx;

				.searchJl-box-item {
					padding: 12rpx;
					border-radius: 8rpx;
					background: rgba(153, 153, 153, 0.1);
					color: rgba(102, 102, 102, 1);
					font-family: DM Sans;
					font-size: 20rpx;
					font-weight: 400;
					line-height: 20rpx;
					letter-spacing: 0px;
					text-align: left;
					margin-top: 20rpx;
				}
			}
		}
	}

	// 近期热招容器样式
	.hot-jobs-container {
		width: 100%;
		background-color: #ffffff;
		position: fixed;
		top: 420rpx; // 调整位置，在历史搜索下方
		height: calc(100vh - 400rpx);
		z-index: 9999;
		
		.hot-jobs-section {
			width: 686rpx;
			padding-top: 28rpx;
		}
	}

	// 近期热招样式
	.hot-jobs-section {
		margin-bottom: 32rpx;
		
		.section-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			margin-bottom: 20rpx;
			
			.section-title {
				color: rgba(34, 37, 42, 1);
				font-family: DM Sans;
				font-size: 26rpx;
				font-weight: 400;
				line-height: 48rpx;
				letter-spacing: 0px;
				text-align: left;
			}
		}
	}

	.hot-jobs-grid {
		display: flex;
		flex-wrap: wrap;
		gap: 8rpx;
		
		.hot-job-item {
			width: calc(50% - 4rpx);
			padding: 8rpx;
			background: #ffffff;
			border-radius: 12rpx;
			position: relative;
			
			.job-name {
				color: rgba(102, 102, 102, 1);
				font-family: DM Sans;
				font-size: 20rpx;
				font-weight: 400;
				line-height: 44rpx;
				letter-spacing: 0px;
				text-align: left;
			}
			
			.hot-tag {
				position: absolute;
				top: 8rpx;
				right: 10rpx;
				border-radius: 12rpx;
				background: rgba(237, 66, 69, 1);
				padding: 4rpx 12rpx;
				
				.hot-tag-text {
					color: rgba(255, 255, 255, 1);
					font-family: DM Sans;
					font-size: 16rpx;
					font-weight: 400;
					text-align: center;
				}
			}
		}
	}

	// 排序弹窗样式
	.sort-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;
		
		.sort-modal-content {
			width: 100%;
			background: #ffffff;
			border-radius: 24rpx 24rpx 0 0;
			padding: 20rpx 40rpx 40rpx 40rpx;
			max-height: 60vh;
			
			.sort-modal-handle {
				width: 80rpx;
				height: 8rpx;
				background: #E5E5E5;
				border-radius: 4rpx;
				margin: 0 auto 30rpx auto;
			}
			
			.sort-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);
			}
			
			.sort-options {
				.sort-option {
					display: flex;
					align-items: center;
					padding: 24rpx 32rpx;
					margin-bottom: 16rpx;
					// background: #F8F8F8;
					border-radius: 42rpx;
					border: 2rpx solid rgba(227, 231, 236, 1);
					
					&.active {
						background: #F0F8FF;
						border-color: #007AFF;
						
						.sort-option-icon {
							background: #007AFF;
							border-color: #007AFF;
							
							.check-icon {
								color: #ffffff;
							}
						}
						
						.sort-option-text {
							color: #007AFF;
							font-weight: 500;
						}
					}
					
					.sort-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;
						}
					}
					
					.sort-option-text {
						font-size: 28rpx;
						color: #333333;
						flex: 1;
					}
				}
			}
		}
	}

	.title-left {
		display: flex;
		align-items: center;
		gap: 8rpx;
	}
	
	.job-title-text {
		color: rgba(23, 23, 37, 1);
		font-family: DM Sans;
		font-size: 38rpx;
		font-weight: 700;
		line-height: 48rpx;
		letter-spacing: 0.5%;
		text-align: left;
	}
	
	.salary-text-box {
		border-radius: 24rpx;
		background: #FEE2E3;
		display: flex;
		justify-content: flex-start;
		align-items: center;
		padding: 6rpx 24rpx;
		
		.jipin-icon {
			width: 20rpx;
			height: 20rpx;
			margin-right: 4rpx;
		}
		
		.jipin-text {
			color: rgba(237, 66, 69, 1);
			font-family: DM Sans;
			font-size: 18rpx;
			font-weight: 400;
			line-height: 20px;
			letter-spacing: 0.5%;
			text-align: left;
		}
	}

	.salary-text {
		color: rgba(1, 107, 246, 1);
		font-family: DM Sans;
		font-size: 28rpx;
		font-weight: 700;
		line-height: 40rpx;
		letter-spacing: 0.5%;
		text-align: right;
	}
	
	.company-name,
	.company-people {
		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-tag {
		height: 42rpx;
		display: flex;
		flex-direction: row;
		justify-content: center;
		align-items: center;
		padding: 8rpx;
		border-radius: 8rpx;
		background: rgba(198, 198, 198, 0.1);
		margin-right: 16rpx;
		margin-bottom: 16rpx;
		color: rgba(153, 153, 153, 1);
		font-size: 24rpx;
	}
	
	.company-info-text,
	.location-text {
		color: rgba(156, 164, 171, 1);
		font-family: DM Sans;
		font-size: 20rpx;
		font-weight: 400;
		line-height: 40rpx;
		letter-spacing: 0.5%;
		text-align: left;
		white-space: nowrap;
	}
	
	.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: 40rpx;
		letter-spacing: 0.5%;
		text-align: left;
		border-radius: 12rpx;
		background: #ECE1FD;
		color: #8858C5;
		margin-left:10rpx
	}

	.gwList {
		width: 100%;
		margin-top: 410rpx;

		.gwList-box {
			width: 710rpx;
			height: 100%;
			.box{
				margin-bottom: 25rpx;
			}
			.gwList-box-item {
				width: 100%;
				// height: 329rpx;
				background-color: #ffffff;
				border-radius: 12rpx;
				margin-bottom: 20rpx;
				padding: 36rpx;
				background: rgba(253, 253, 253, 1);
				border: 0.5px solid rgba(227, 231, 236, 1);
			}
			.company{
				padding: 20rpx;
				background:#fff;
				margin-bottom:0rpx;
				.gwList-box-item-box-info-l{
					width: 80%;
					margin-left:20rpx;
					margin-right: 20rpx;
				}
			}
			.companyPost{
				padding: 20rpx;
				margin-top:8rpx;
				margin-bottom:0rpx;
				.location-text{
					font-size: 26rpx;
					font-weight: 500;
					color: #007AFF;
					align-self: flex-start;
				}
				.companyTitle{
					font-size:32rpx;
					font-weight: 500;
					color:#111
				}
				.morePost{
					color: #007AFF;
					font-size: 20rpx;
					text-align: center;
				}
			}
			.gwList-box-item-box {
				width: 100%;
				height: 100%;

				.gwList-box-item-box-title {
				}

				.gwList-box-item-box-label {
					margin-top: 14rpx;
				}

				.gwList-box-item-box-name {
					margin-top: 14rpx;
					color: #999999;
					font-size: 28rpx;
					font-weight: 500;
				}

				.gwList-box-item-box-line {
					width: 100%;
					border: 1rpx solid #E6E6E6;
					margin-top: 30rpx;
					margin-bottom: 20rpx;
				}

				.gwList-box-item-box-info {
					font-size: 26rpx;

					.gwList-box-item-box-info-l {
						color: #1A1A1A;
						.tags{
							gap:10rpx;
							display: flex;
							margin-top: 10rpx;
							flex-flow: row wrap;
						}
					}

					.gwList-box-item-box-info-r {
						color: #999999;
						max-width: 300rpx;
					}
				}
			}
		}
	}
	
</style>