|
|
@@ -13,7 +13,9 @@
|
|
|
<!-- 搜索 -->
|
|
|
<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>
|
|
|
+ <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>
|
|
|
<view v-if="show" style="flex: 1;">
|
|
|
@@ -22,18 +24,19 @@
|
|
|
<view class="searchJl-box">
|
|
|
<view class="searchJl-box-header">
|
|
|
<text class="searchJl-box-title">历史搜索</text>
|
|
|
- <image v-if="searchList.length > 0" src="../../static/images/shanchu22.svg" style="width: 32rpx; height: 32rpx;" mode="aspectFit" @click="clearHistory"></image>
|
|
|
+ <image v-if="searchList.length > 0" 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}}
|
|
|
+ v-for="(item, index) in searchList" :key="index">
|
|
|
+ {{ item.keyWord }}
|
|
|
</view>
|
|
|
<view class="no-more" v-if="searchList.length == 0">暂无记录</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
-
|
|
|
+
|
|
|
<!-- 近期热招 -->
|
|
|
<view class="hot-jobs-container flex justify-center">
|
|
|
<view class="hot-jobs-section">
|
|
|
@@ -42,12 +45,8 @@
|
|
|
<!-- <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)"
|
|
|
- >
|
|
|
+ <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>
|
|
|
@@ -63,147 +62,168 @@
|
|
|
<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 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="selectCity">
|
|
|
- <text class="city-text" style="margin-right: 10rpx;">{{county?county:(city?city:'选择城市')}}</text>
|
|
|
+ <text class="city-text"
|
|
|
+ style="margin-right: 10rpx;">{{ county ? county : (city ? 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;">{{sortOptions[selectedSort]}}</text>
|
|
|
+ <view v-if="currentSx == 0" class="sort-container" @click="showSortModal">
|
|
|
+ <text class="sort-text"
|
|
|
+ style="margin-right: 10rpx;">{{ sortOptions[selectedSort] }}</text>
|
|
|
<u-icon name="arrow-down" color="rgba(1, 107, 246, 1)" size="20"></u-icon>
|
|
|
</view>
|
|
|
-
|
|
|
- <view class="filter-container" :class="{ activeColor: filledFieldsCount }" @click="goNav('/package/screen/screen')">
|
|
|
- <text class="filter-text" style="margin-right: 10rpx;">筛选{{filledFieldsCount}}</text>
|
|
|
- <u-icon name="arrow-down" :color="filledFieldsCount?'#016bf6':'#999999'" size="20"></u-icon>
|
|
|
+
|
|
|
+ <view class="filter-container" :class="{ activeColor: filledFieldsCount }"
|
|
|
+ @click="goNav('/package/screen/screen')">
|
|
|
+ <text class="filter-text" style="margin-right: 10rpx;">筛选{{ filledFieldsCount }}</text>
|
|
|
+ <u-icon name="arrow-down" :color="filledFieldsCount ? '#016bf6' : '#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)">
|
|
|
+ <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>
|
|
|
+ <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>
|
|
|
- <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 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="location-text">
|
|
|
- {{item.county}}
|
|
|
+ <!-- 职位标签 -->
|
|
|
+ <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 : item.user && item.user.avatar ? item.user.avatar : '../../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>
|
|
|
- </view>
|
|
|
- </scroll-view>
|
|
|
+ </scroll-view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <!-- 暂无数据 -->
|
|
|
+ <view class="gwList" v-else>
|
|
|
+ <empty />
|
|
|
</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 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 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="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 class="goRight">
|
|
|
+ <u-icon name="arrow-right"></u-icon>
|
|
|
</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 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 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 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>
|
|
|
- </view>
|
|
|
</scroll-view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -213,25 +233,20 @@
|
|
|
</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" :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>
|
|
|
@@ -249,292 +264,292 @@
|
|
|
</template>
|
|
|
|
|
|
<script>
|
|
|
- import empty from '../../components/empty.vue'
|
|
|
- export default {
|
|
|
- components: {
|
|
|
- empty
|
|
|
- },
|
|
|
- data() {
|
|
|
- return {
|
|
|
- statusBarHeight: 0, // 状态栏高度
|
|
|
- show: true,
|
|
|
- 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();
|
|
|
+import empty from '../../components/empty.vue'
|
|
|
+export default {
|
|
|
+ components: {
|
|
|
+ empty
|
|
|
+ },
|
|
|
+ data() {
|
|
|
+ return {
|
|
|
+ statusBarHeight: 0, // 状态栏高度
|
|
|
+ show: true,
|
|
|
+ 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 systemInfo = uni.getSystemInfoSync();
|
|
|
- this.statusBarHeight = systemInfo.statusBarHeight || 0;
|
|
|
- let that = this
|
|
|
- const condition=this.$queue.getFilterData()
|
|
|
+ },
|
|
|
+ onLoad() {
|
|
|
+ // 获取状态栏高度
|
|
|
+ let systemInfo = uni.getSystemInfoSync();
|
|
|
+ this.statusBarHeight = systemInfo.statusBarHeight || 0;
|
|
|
+ let that = this
|
|
|
+ const condition = this.$queue.getFilterData()
|
|
|
+ this.education = condition.education //学历
|
|
|
+ this.experience = condition.experience //经验
|
|
|
+ this.industry = condition.industry //行业
|
|
|
+ this.salaryRange = condition.salaryRange //薪资
|
|
|
+ this.companyPeople = condition.companyPeople //公司规模
|
|
|
+ if (!this.city) {
|
|
|
+ if (uni.getStorageSync('city')) {
|
|
|
+ this.city = uni.getStorageSync('city')
|
|
|
+ } else {
|
|
|
+ this.city = ''
|
|
|
+ }
|
|
|
+ }
|
|
|
+ uni.$on('filterCity', data => {
|
|
|
+ console.log(data, '选择的市')
|
|
|
+ that.city = data.city
|
|
|
+ that.county = data.county
|
|
|
+ this.page = 1
|
|
|
+ that.getUserList();
|
|
|
+ })
|
|
|
+ this.token = uni.getStorageSync('token');
|
|
|
+
|
|
|
+ this.getMyRecordList()
|
|
|
+ this.getHotList()
|
|
|
+
|
|
|
+ uni.$on('updateScreenFilterRecord', () => {
|
|
|
+ const condition = this.$queue.getFilterData()
|
|
|
this.education = condition.education //学历
|
|
|
this.experience = condition.experience //经验
|
|
|
this.industry = condition.industry //行业
|
|
|
this.salaryRange = condition.salaryRange //薪资
|
|
|
this.companyPeople = condition.companyPeople //公司规模
|
|
|
- if (!this.city) {
|
|
|
- if (uni.getStorageSync('city')) {
|
|
|
- this.city = uni.getStorageSync('city')
|
|
|
- } else {
|
|
|
- this.city = ''
|
|
|
+ this.page = 1
|
|
|
+ that.getUserList();
|
|
|
+ })
|
|
|
+ },
|
|
|
+ onUnload() {
|
|
|
+ uni.$off('filterCity');
|
|
|
+ uni.$off('updateScreenFilterRecord');
|
|
|
+ },
|
|
|
+ computed: {
|
|
|
+ filledFieldsCount() {
|
|
|
+ const fields = [this.education, this.experience, this.industry, this.salaryRange, this.companyPeople];
|
|
|
+ const count = fields.filter(item => item).length;
|
|
|
+ return count > 0 ? '·' + count : '';
|
|
|
+ }
|
|
|
+ },
|
|
|
+ onPullDownRefresh() {
|
|
|
+ this.page = 1
|
|
|
+ this.getUserList();
|
|
|
+ },
|
|
|
+ onReachBottom() {
|
|
|
+ if (this.page < this.totlo) {
|
|
|
+ this.page += 1
|
|
|
+ this.getUserList();
|
|
|
+ }
|
|
|
+ },
|
|
|
+ methods: {
|
|
|
+ // 删除历史记录
|
|
|
+ clearHistory() {
|
|
|
+ let that = this;
|
|
|
+ uni.showModal({
|
|
|
+ title: "提示",
|
|
|
+ content: "确定删除吗?",
|
|
|
+ confirmColor: "#016BF6",
|
|
|
+ success: function (res) {
|
|
|
+ if (res.cancel) return;
|
|
|
+ that.$Request.post('/app/record/deleteRecord', { recordId: '' }).then(res => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ that.searchList = []
|
|
|
+ uni.showToast({
|
|
|
+ title: '删除成功',
|
|
|
+ icon: "none"
|
|
|
+ })
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+ });
|
|
|
+ },
|
|
|
+ async selectCity() {
|
|
|
+ //获取经纬度后请求岗位接口,经纬度用于筛选距离
|
|
|
+ var that = this
|
|
|
+ // #ifdef APP
|
|
|
+ const hasLocation = await this.$queue.checkPermission(
|
|
|
+ 'location',
|
|
|
+ '获取位置需要定位权限,用于推荐同城的求职岗位或牛人',
|
|
|
+ this
|
|
|
+ );
|
|
|
+ if (!hasLocation) return that.goNav('/package/screen/city?city=' + that.city + '&county=' + that.county);
|
|
|
+ // #endif
|
|
|
+ uni.getLocation({
|
|
|
+ type: 'wgs84', //wgs84 gcj02
|
|
|
+ success: function (res) {
|
|
|
+ console.log(res, '地理位置');
|
|
|
+ that.latitude = res.latitude;
|
|
|
+ that.longitude = res.longitude;
|
|
|
+ // that.getUserList();
|
|
|
+ that.goNav('/package/screen/city?city=' + that.city + '&county=' + that.county)
|
|
|
+ },
|
|
|
+ fail: function () {
|
|
|
+ console.log('获取地址失败');
|
|
|
+ that.goNav('/package/screen/city?city=' + that.city + '&county=' + that.county)
|
|
|
}
|
|
|
- }
|
|
|
- uni.$on('filterCity', data => {
|
|
|
- console.log(data, '选择的市')
|
|
|
- that.city = data.city
|
|
|
- that.county = data.county
|
|
|
- this.page = 1
|
|
|
- that.getUserList();
|
|
|
- })
|
|
|
- this.token = uni.getStorageSync('token');
|
|
|
-
|
|
|
- this.getMyRecordList()
|
|
|
- this.getHotList()
|
|
|
-
|
|
|
- uni.$on('updateScreenFilterRecord', () => {
|
|
|
- const condition=this.$queue.getFilterData()
|
|
|
- this.education = condition.education //学历
|
|
|
- this.experience = condition.experience //经验
|
|
|
- this.industry = condition.industry //行业
|
|
|
- this.salaryRange = condition.salaryRange //薪资
|
|
|
- this.companyPeople = condition.companyPeople //公司规模
|
|
|
- this.page = 1
|
|
|
- that.getUserList();
|
|
|
})
|
|
|
},
|
|
|
- onUnload(){
|
|
|
- uni.$off('filterCity');
|
|
|
- uni.$off('updateScreenFilterRecord');
|
|
|
+ /**
|
|
|
+ * 返回上一页
|
|
|
+ */
|
|
|
+ goBack() {
|
|
|
+ uni.navigateBack()
|
|
|
},
|
|
|
- computed: {
|
|
|
- filledFieldsCount() {
|
|
|
- const fields = [this.education, this.experience, this.industry, this.salaryRange, this.companyPeople];
|
|
|
- const count = fields.filter(item => item).length;
|
|
|
- return count > 0 ? '·' + count : '';
|
|
|
+
|
|
|
+ //判断岗位名称与职位名称是否相同(不区分大小写)
|
|
|
+ isSameName(className, name) {
|
|
|
+ if (!className || !name)
|
|
|
+ return;
|
|
|
+ let str1 = className.trim();
|
|
|
+ let str2 = name.trim();
|
|
|
+ if (str1.length !== str2.length) {
|
|
|
+ return true;
|
|
|
}
|
|
|
- },
|
|
|
- onPullDownRefresh() {
|
|
|
- this.page = 1
|
|
|
- this.getUserList();
|
|
|
+ return str1.toLowerCase() !== str2.toLowerCase();
|
|
|
},
|
|
|
- onReachBottom() {
|
|
|
- if (this.page < this.totlo) {
|
|
|
- this.page += 1
|
|
|
- this.getUserList();
|
|
|
+ /**
|
|
|
+ * @param {Object} postPushId
|
|
|
+ * 岗位详情
|
|
|
+ */
|
|
|
+ gotoInfo(postPushId) {
|
|
|
+ if (uni.getStorageSync('token')) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/index/game/order?postPushId=' + postPushId
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.noLogin()
|
|
|
}
|
|
|
+
|
|
|
},
|
|
|
- methods: {
|
|
|
- // 删除历史记录
|
|
|
- clearHistory(){
|
|
|
- let that = this;
|
|
|
- uni.showModal({
|
|
|
- title: "提示",
|
|
|
- content: "确定删除吗?",
|
|
|
- confirmColor: "#016BF6",
|
|
|
- success: function(res) {
|
|
|
- if(res.cancel)return;
|
|
|
- that.$Request.post('/app/record/deleteRecord', {recordId:''}).then(res => {
|
|
|
- if (res.code == 0) {
|
|
|
- that.searchList = []
|
|
|
- uni.showToast({
|
|
|
- title: '删除成功',
|
|
|
- icon: "none"
|
|
|
- })
|
|
|
- }
|
|
|
- })
|
|
|
- },
|
|
|
- });
|
|
|
- },
|
|
|
- async selectCity(){
|
|
|
- //获取经纬度后请求岗位接口,经纬度用于筛选距离
|
|
|
- var that=this
|
|
|
- // #ifdef APP
|
|
|
- const hasLocation = await this.$queue.checkPermission(
|
|
|
- 'location',
|
|
|
- '获取位置需要定位权限,用于推荐同城的求职岗位或牛人',
|
|
|
- this
|
|
|
- );
|
|
|
- if (!hasLocation) return that.goNav('/package/screen/city?city='+that.city+'&county='+that.county);
|
|
|
- // #endif
|
|
|
- uni.getLocation({
|
|
|
- type: 'wgs84', //wgs84 gcj02
|
|
|
- success: function(res) {
|
|
|
- console.log(res, '地理位置');
|
|
|
- that.latitude = res.latitude;
|
|
|
- that.longitude = res.longitude;
|
|
|
- // that.getUserList();
|
|
|
- that.goNav('/package/screen/city?city='+that.city+'&county='+that.county)
|
|
|
- },
|
|
|
- fail: function() {
|
|
|
- console.log('获取地址失败');
|
|
|
- that.goNav('/package/screen/city?city='+that.city+'&county='+that.county)
|
|
|
+ goTo(action) {
|
|
|
+ if (uni.getStorageSync('token')) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: action,
|
|
|
+ success(e) {
|
|
|
+ console.log(e)
|
|
|
+ }, fail(e) {
|
|
|
+ console.log(e)
|
|
|
}
|
|
|
})
|
|
|
- },
|
|
|
- /**
|
|
|
- * 返回上一页
|
|
|
- */
|
|
|
- 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;
|
|
|
+ } 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()
|
|
|
+ }
|
|
|
}
|
|
|
- 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()
|
|
|
+ })
|
|
|
+ },
|
|
|
+ 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'
|
|
|
|
|
|
- },
|
|
|
- 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)
|
|
|
+ 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(',')
|
|
|
@@ -542,7 +557,7 @@
|
|
|
item.positionWelfare = []
|
|
|
}
|
|
|
})
|
|
|
- else
|
|
|
+ else
|
|
|
res.data.records.map(item => {
|
|
|
if (item.welfare) {
|
|
|
item.welfare = item.welfare.split(',')
|
|
|
@@ -550,686 +565,700 @@
|
|
|
item.welfare = []
|
|
|
}
|
|
|
})
|
|
|
- if (this.page == 1) {
|
|
|
- this.dataList = res.data.records
|
|
|
- } else {
|
|
|
- this.dataList = [...this.dataList, ...res.data.records]
|
|
|
- }
|
|
|
- this.totlo = res.data.pages
|
|
|
+ if (this.page == 1) {
|
|
|
+ this.dataList = res.data.records
|
|
|
+ } else {
|
|
|
+ this.dataList = [...this.dataList, ...res.data.records]
|
|
|
}
|
|
|
- })
|
|
|
- },
|
|
|
- //跳转
|
|
|
- goNav(url) {
|
|
|
- if (uni.getStorageSync('token')) {
|
|
|
- uni.navigateTo({
|
|
|
- url: url
|
|
|
- })
|
|
|
- } else {
|
|
|
- this.noLogin()
|
|
|
+ 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('用户点击取消');
|
|
|
- }
|
|
|
+ },
|
|
|
+ //未登录
|
|
|
+ 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();
|
|
|
- },
|
|
|
+ }
|
|
|
+ })
|
|
|
},
|
|
|
- }
|
|
|
+
|
|
|
+ // 选择热门职位
|
|
|
+ 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;
|
|
|
- // }
|
|
|
+// 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);
|
|
|
+.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;
|
|
|
- }
|
|
|
+ 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: 88rpx;
|
|
|
- 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;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+.custom-navbar {
|
|
|
+ // position: fixed;
|
|
|
+ // top: 0;
|
|
|
+ // left: 0;
|
|
|
+ // right: 0;
|
|
|
+ width: 100%;
|
|
|
+ // padding-top: 80rpx;
|
|
|
+ // height: 88rpx;
|
|
|
+ background-color: #ffffff;
|
|
|
+ z-index: 10000;
|
|
|
|
|
|
- .search {
|
|
|
- width: 100%;
|
|
|
- padding-top: 20rpx;
|
|
|
- height: 88rpx;
|
|
|
- background-color: #ffffff;
|
|
|
- // position: fixed;
|
|
|
- // top: 88rpx;
|
|
|
- // z-index: 9999;
|
|
|
+ .navbar-content {
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: space-between;
|
|
|
+ height: 100%;
|
|
|
+ padding: 0 32rpx;
|
|
|
|
|
|
- .search-box {
|
|
|
- width: 686rpx;
|
|
|
+ .nav-left,
|
|
|
+ .nav-right {
|
|
|
+ width: 60rpx;
|
|
|
height: 60rpx;
|
|
|
+ display: flex;
|
|
|
+ align-items: center;
|
|
|
+ justify-content: center;
|
|
|
}
|
|
|
|
|
|
- /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;
|
|
|
- }
|
|
|
+ .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;
|
|
|
+ }
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- .screen {
|
|
|
- width: 100%;
|
|
|
- height: 160rpx;
|
|
|
- background-color: #ffffff;
|
|
|
- // position: fixed;
|
|
|
- // top: 200rpx;
|
|
|
- // z-index: 9999;
|
|
|
-
|
|
|
- .screen-box {
|
|
|
- padding-top: 20rpx;
|
|
|
- width: 686rpx;
|
|
|
- height: 160rpx;
|
|
|
+.search {
|
|
|
+ width: 100%;
|
|
|
+ padding-top: 20rpx;
|
|
|
+ height: 88rpx;
|
|
|
+ background-color: #ffffff;
|
|
|
+ // position: fixed;
|
|
|
+ // top: 88rpx;
|
|
|
+ // z-index: 9999;
|
|
|
|
|
|
- .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;
|
|
|
- }
|
|
|
- }
|
|
|
- }
|
|
|
+ .search-box {
|
|
|
+ width: 686rpx;
|
|
|
+ height: 60rpx;
|
|
|
}
|
|
|
-
|
|
|
- // 筛选栏右侧容器样式
|
|
|
- .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 {
|
|
|
+
|
|
|
+ /deep/ .u-action {
|
|
|
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;
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ line-height: 48rpx;
|
|
|
letter-spacing: 0px;
|
|
|
- text-align: left;
|
|
|
- margin-right: 10rpx;
|
|
|
- padding: 8rpx 12rpx;
|
|
|
- border-radius: 12rpx;
|
|
|
- background: rgba(198, 198, 198, 0.1);
|
|
|
- border:1rpx solid rgba(198, 198, 198, 0.1);
|
|
|
- }
|
|
|
- .activeColor{
|
|
|
- color: #016bf6;
|
|
|
- border:1rpx solid #016bf6;
|
|
|
- background: #fff;
|
|
|
+ text-align: center;
|
|
|
}
|
|
|
+}
|
|
|
|
|
|
- .searchJl {
|
|
|
- width: 100%;
|
|
|
- background-color: #ffffff;
|
|
|
- // position: fixed;
|
|
|
- // top: 200rpx;
|
|
|
- // height: calc(100vh - 80rpx);
|
|
|
- margin-bottom: 40rpx;
|
|
|
+.screen {
|
|
|
+ width: 100%;
|
|
|
+ height: 160rpx;
|
|
|
+ background-color: #ffffff;
|
|
|
+ // position: fixed;
|
|
|
+ // top: 200rpx;
|
|
|
+ // z-index: 9999;
|
|
|
|
|
|
- .searchJl-box {
|
|
|
+ .screen-box {
|
|
|
+ padding-top: 20rpx;
|
|
|
+ width: 686rpx;
|
|
|
+ height: 160rpx;
|
|
|
+
|
|
|
+ .topbg-sx-box {
|
|
|
width: 686rpx;
|
|
|
- height: 100%;
|
|
|
- padding-top: 28rpx;
|
|
|
+ height: 25rpx;
|
|
|
+ margin-top: 30rpx;
|
|
|
|
|
|
- .searchJl-box-header {
|
|
|
- display: flex;
|
|
|
+ .topbg-sx-box-l-i {
|
|
|
+ flex-direction: row;
|
|
|
+ justify-content: center;
|
|
|
align-items: center;
|
|
|
- justify-content: space-between;
|
|
|
- // margin-bottom: 15rpx;
|
|
|
- }
|
|
|
+ padding: 12rpx;
|
|
|
+ border-radius: 12rpx;
|
|
|
+ background: rgba(153, 153, 153, 0.1);
|
|
|
+ margin-right: 12rpx;
|
|
|
|
|
|
- .searchJl-box-title {
|
|
|
- color: rgba(34, 37, 42, 1);
|
|
|
+ color: rgba(102, 102, 102, 1);
|
|
|
font-family: DM Sans;
|
|
|
- font-size: 26rpx;
|
|
|
+ font-size: 22rpx;
|
|
|
font-weight: 400;
|
|
|
- line-height: 48rpx;
|
|
|
+ line-height: 20rpx;
|
|
|
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;
|
|
|
- }
|
|
|
- .no-more{
|
|
|
- line-height: 20rpx;
|
|
|
- padding: 12rpx;
|
|
|
- font-family: DM Sans;
|
|
|
- font-size: 20rpx;
|
|
|
- font-weight: 400;
|
|
|
- }
|
|
|
+ margin-bottom: 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;
|
|
|
- }
|
|
|
- }
|
|
|
+// 筛选栏右侧容器样式
|
|
|
+.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);
|
|
|
+}
|
|
|
|
|
|
- // 近期热招样式
|
|
|
- .hot-jobs-section {
|
|
|
- // margin-bottom: 32rpx;
|
|
|
-
|
|
|
- .section-header {
|
|
|
+.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);
|
|
|
+ border: 1rpx solid rgba(198, 198, 198, 0.1);
|
|
|
+}
|
|
|
+
|
|
|
+.activeColor {
|
|
|
+ color: #016bf6;
|
|
|
+ border: 1rpx solid #016bf6;
|
|
|
+ background: #fff;
|
|
|
+}
|
|
|
+
|
|
|
+.searchJl {
|
|
|
+ width: 100%;
|
|
|
+ background-color: #ffffff;
|
|
|
+ // position: fixed;
|
|
|
+ // top: 200rpx;
|
|
|
+ // height: calc(100vh - 80rpx);
|
|
|
+ margin-bottom: 40rpx;
|
|
|
+
|
|
|
+ .searchJl-box {
|
|
|
+ width: 686rpx;
|
|
|
+ height: 100%;
|
|
|
+ padding-top: 28rpx;
|
|
|
+
|
|
|
+ .searchJl-box-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;
|
|
|
- }
|
|
|
+ // margin-bottom: 15rpx;
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .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 {
|
|
|
+ .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: 44rpx;
|
|
|
+ line-height: 20rpx;
|
|
|
letter-spacing: 0px;
|
|
|
text-align: left;
|
|
|
+ margin-top: 20rpx;
|
|
|
}
|
|
|
-
|
|
|
- .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;
|
|
|
- }
|
|
|
+
|
|
|
+ .no-more {
|
|
|
+ line-height: 20rpx;
|
|
|
+ padding: 12rpx;
|
|
|
+ font-family: DM Sans;
|
|
|
+ font-size: 20rpx;
|
|
|
+ font-weight: 400;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+}
|
|
|
+
|
|
|
+// 近期热招容器样式
|
|
|
+.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;
|
|
|
|
|
|
- // 排序弹窗样式
|
|
|
- .sort-modal {
|
|
|
- position: fixed;
|
|
|
- top: 0;
|
|
|
- left: 0;
|
|
|
- right: 0;
|
|
|
- bottom: 0;
|
|
|
- background: rgba(0, 0, 0, 0.5);
|
|
|
- z-index: 10001;
|
|
|
+ .section-header {
|
|
|
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;
|
|
|
+ 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;
|
|
|
- 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-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 {
|
|
|
- width: 40rpx;
|
|
|
- height: 40rpx;
|
|
|
- border-radius: 50%;
|
|
|
- border: 2rpx solid #E5E5E5;
|
|
|
- background: #ffffff;
|
|
|
- display: flex;
|
|
|
- align-items: center;
|
|
|
- justify-content: center;
|
|
|
- margin-right: 24rpx;
|
|
|
-
|
|
|
+ background: #007AFF;
|
|
|
+ border-color: #007AFF;
|
|
|
+
|
|
|
.check-icon {
|
|
|
- font-size: 24rpx;
|
|
|
color: #ffffff;
|
|
|
- font-weight: bold;
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+
|
|
|
.sort-option-text {
|
|
|
- font-size: 28rpx;
|
|
|
- color: #333333;
|
|
|
- flex: 1;
|
|
|
+ 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;
|
|
|
+.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;
|
|
|
}
|
|
|
-
|
|
|
- .job-title-text {
|
|
|
- color: rgba(23, 23, 37, 1);
|
|
|
+
|
|
|
+ .jipin-text {
|
|
|
+ color: rgba(237, 66, 69, 1);
|
|
|
font-family: DM Sans;
|
|
|
- font-size: 38rpx;
|
|
|
- font-weight: 700;
|
|
|
- line-height: 48rpx;
|
|
|
+ font-size: 18rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 20px;
|
|
|
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;
|
|
|
+}
|
|
|
+
|
|
|
+.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;
|
|
|
+ overflow: hidden;
|
|
|
+ text-overflow: ellipsis;
|
|
|
+}
|
|
|
+
|
|
|
+.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: 40rpx;
|
|
|
+ flex: 1;
|
|
|
+ overflow: auto;
|
|
|
+
|
|
|
+ .gwList-box {
|
|
|
+ width: 710rpx;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .box {
|
|
|
+ margin-bottom: 25rpx;
|
|
|
}
|
|
|
-
|
|
|
- .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;
|
|
|
+
|
|
|
+ .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);
|
|
|
}
|
|
|
- }
|
|
|
|
|
|
- .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;
|
|
|
- overflow: hidden;
|
|
|
- text-overflow: ellipsis;
|
|
|
- }
|
|
|
-
|
|
|
- .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
|
|
|
- }
|
|
|
+ .company {
|
|
|
+ padding: 20rpx;
|
|
|
+ background: #fff;
|
|
|
+ margin-bottom: 0rpx;
|
|
|
|
|
|
- .gwList {
|
|
|
- width: 100%;
|
|
|
- margin-top: 40rpx;
|
|
|
- flex: 1;
|
|
|
- overflow: auto;
|
|
|
- .gwList-box {
|
|
|
- width: 710rpx;
|
|
|
- height: 100%;
|
|
|
- .box{
|
|
|
- margin-bottom: 25rpx;
|
|
|
+ .gwList-box-item-box-info-l {
|
|
|
+ width: 80%;
|
|
|
+ margin-left: 20rpx;
|
|
|
+ margin-right: 20rpx;
|
|
|
}
|
|
|
- .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);
|
|
|
+ }
|
|
|
+
|
|
|
+ .companyPost {
|
|
|
+ padding: 20rpx;
|
|
|
+ margin-top: 8rpx;
|
|
|
+ margin-bottom: 0rpx;
|
|
|
+
|
|
|
+ .location-text {
|
|
|
+ font-size: 26rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #007AFF;
|
|
|
+ align-self: flex-start;
|
|
|
}
|
|
|
- .company{
|
|
|
- padding: 20rpx;
|
|
|
- background:#fff;
|
|
|
- margin-bottom:0rpx;
|
|
|
- .gwList-box-item-box-info-l{
|
|
|
- width: 80%;
|
|
|
- margin-left:20rpx;
|
|
|
- margin-right: 20rpx;
|
|
|
- }
|
|
|
+
|
|
|
+ .companyTitle {
|
|
|
+ font-size: 32rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ color: #111
|
|
|
}
|
|
|
- .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;
|
|
|
- }
|
|
|
+
|
|
|
+ .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 {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
|
|
|
- .gwList-box-item-box-name {
|
|
|
- margin-top: 14rpx;
|
|
|
- color: #999999;
|
|
|
- font-size: 28rpx;
|
|
|
- font-weight: 500;
|
|
|
- }
|
|
|
+ .gwList-box-item-box-title {}
|
|
|
|
|
|
- .gwList-box-item-box-line {
|
|
|
- width: 100%;
|
|
|
- border: 1rpx solid #E6E6E6;
|
|
|
- margin-top: 30rpx;
|
|
|
- margin-bottom: 20rpx;
|
|
|
- }
|
|
|
+ .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-info {
|
|
|
- font-size: 26rpx;
|
|
|
+ .gwList-box-item-box-line {
|
|
|
+ width: 100%;
|
|
|
+ border: 1rpx solid #E6E6E6;
|
|
|
+ margin-top: 30rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+ }
|
|
|
|
|
|
- .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 {
|
|
|
+ font-size: 26rpx;
|
|
|
+
|
|
|
+ .gwList-box-item-box-info-l {
|
|
|
+ color: #1A1A1A;
|
|
|
|
|
|
- .gwList-box-item-box-info-r {
|
|
|
- color: #999999;
|
|
|
- max-width: 300rpx;
|
|
|
+ .tags {
|
|
|
+ gap: 10rpx;
|
|
|
+ display: flex;
|
|
|
+ margin-top: 10rpx;
|
|
|
+ flex-flow: row wrap;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+ .gwList-box-item-box-info-r {
|
|
|
+ color: #999999;
|
|
|
+ max-width: 300rpx;
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
-
|
|
|
+}
|
|
|
</style>
|