123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062 |
- <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.name }}</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 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>
- <!-- 岗位推荐 -->
- <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.stationName}}
- </block>
- </view>
- <view 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.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-text">
- {{item.county}} {{item.address}}
- </view>
- </view>
- </view>
- </view>
- </scroll-view>
- </view>
- </view>
- <!-- 暂无数据 -->
- <view class="gwList" v-else>
- <empty />
- </view>
- </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: [
- { name: '美国亚马逊运营', isHot: false },
- { name: '采购经理', isHot: false },
- { name: 'Tik Tok运营助理', isHot: true },
- { name: 'Temu运营专员', isHot: false },
- { name: '跨境电商运营助理', isHot: false },
- { name: '产品开发经理', isHot: false },
- { name: '海外仓管理经理', isHot: false },
- { name: '人事经理', isHot: false }
- ],
- showSortModalFlag: false,
- selectedSort: 0,
- sortOptions: ['综合排序', '最新优先', '距离优先']
- };
- },
- watch: {
- currentSx(newData, oldData) {
- 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()
- },
- 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')
- 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) {
- 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()
- }
- },
- //我的搜索关键词
- 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()
- }
- }
- })
- },
- /**
- * 清空搜索内容
- */
- 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.currentSx + 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') : ''
- }
- this.$Request.get('/app/postPush/userGetPostPushList', data).then(res => {
- uni.stopPullDownRefresh()
- if (res.code == 0) {
- res.data.records.map(item => {
- if (item.positionWelfare) {
- item.positionWelfare = item.positionWelfare.split(',')
- } else {
- item.positionWelfare = []
- }
- })
- 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.name
- this.custom()
- },
-
- // 显示排序弹窗
- showSortModal() {
- this.showSortModalFlag = true
- },
-
- // 隐藏排序弹窗
- hideSortModal() {
- this.showSortModalFlag = false
- },
-
- // 选择排序选项
- selectSort(index) {
- this.selectedSort = index
- uni.showToast({
- title: `已选择: ${this.sortOptions[index]}`,
- icon: 'none'
- })
- this.hideSortModal()
- // 这里可以添加排序逻辑
- },
-
- // 判断分类名称和职位名称是否相同
- isSameName(className, name) {
- let str1 = className.trim();
- let str2 = name.trim();
- if (str1.length !== str2.length) {
- return true;
- }
- return str1.toLowerCase() !== str2.toLowerCase();
- },
- },
- }
- </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;
- }
-
- .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;
- }
- .gwList {
- width: 100%;
- margin-top: 410rpx;
- .gwList-box {
- width: 710rpx;
- height: 100%;
- .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);
- }
- .gwList-box-item-box {
- width: 686rpx;
- 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;
- }
- .gwList-box-item-box-info-r {
- color: #999999;
- max-width: 300rpx;
- }
- }
- }
- }
- }
- </style>
|