Commit 5be71b0e authored by 李明环(东信)'s avatar 李明环(东信)

推荐简历专业筛选

parent c0642abf
......@@ -23,6 +23,7 @@
<view class="arrow"></view>
</wd-picker>
</view>
<view class="filter-other flex-between">
<wd-col-picker
label="选择地址"
......@@ -36,6 +37,19 @@
>
<view class="item">{{ cityText }} <view class="arrow"></view> </view>
</wd-col-picker>
<view class="filter-opstion">
<wd-col-picker
v-model="majorValue"
:columns="majorOpstion"
value-key="name"
label-key="name"
:column-change="columnChangeMajor"
@confirm="handleConfirmMajor"
use-default-slot
>
<view class="item">{{ majorText || "全部" }} <view class="arrow"></view> </view>
</wd-col-picker>
</view>
<!-- <view class="item">默认排序<view class="arrow"></view> </view> -->
<view class="item" @click="showOtherFilter = true">筛选<view class="arrow"></view> </view>
</view>
......@@ -75,6 +89,7 @@ import jobSeekersCard from "@/components/jobSeekersCard/index.vue";
import { getJobListApi, getApplicationListApi, getRecommendedResumeListApi, getPositionListApi } from "@/api/postion";
import { getTreeListApi } from "@/api/common";
import { getLoginUserApi, companyReviewInfo } from "@/api/user";
import { getMajorTreeApi } from "@/api/common";
import { getEumData, getEnumText } from "@/utils/utils";
import { useAsync } from "@/hooks/useAsync";
import _ from "lodash";
......@@ -140,6 +155,7 @@ const getApplicationListParams = ref({
const getResumeRecommendListParams = ref({
recommend: true,
positionId: "",
major: "",
sex: "",
jobType: "",
provinceCode: "",
......@@ -175,6 +191,7 @@ const resetParams = () => {
recommend: true,
positionId: "",
sex: "",
major: "",
jobType: "",
provinceCode: "",
cityCode: "",
......@@ -321,6 +338,34 @@ const handleConfirmCity = ({ value, selectedItems }) => {
resetPageParams();
getResumeRecommendList();
};
/* 专业筛选 */
const majorValue = ref([]);
const majorOpstion = ref([]);
const columnChangeMajor = ({ selectedItem, resolve, finish }) => {
if (selectedItem.children) {
resolve(selectedItem.children);
} else {
finish();
}
};
const handleConfirmMajor = ({ value }) => {
majorText.value = value[1];
resetPageParams();
getResumeRecommendListParams.value.recommend = false;
getResumeRecommendListParams.value.major = value[1];
getResumeRecommendList();
};
const majorText = ref("");
getMajorTreeApi().then(res => {
if (res.code === 200) {
majorOpstion.value.push(
Object.keys(res.data).map(key => ({
name: key,
children: res.data[key]
}))
);
}
});
// 显示其他筛选
const showOtherFilter = ref(false);
const filterConfirm = data => {
......@@ -373,18 +418,18 @@ onLoad(() => {
display: flex;
align-items: center;
justify-content: center;
padding-bottom: 7px;
padding-bottom: 14rpx;
background-color: #ffffff;
text {
width: 140px;
height: 40px;
font-size: 18px;
line-height: 40px;
width: 280rpx;
height: 80rpx;
font-size: 36rpx;
line-height: 80rpx;
color: #1b2026;
text-align: center;
&.active {
position: relative;
font-size: 18px;
font-size: 36rpx;
font-weight: 600;
background-image: url("https://lygsh-image.wjzpgz.com/community/communityActiveTab.png");
background-repeat: no-repeat;
......@@ -404,56 +449,64 @@ onLoad(() => {
flex-grow: 1;
.filter {
position: relative;
padding: 0 16px 0 22px;
padding: 0 32rpx 0 44rpx;
.filter-opstion {
max-width: 115px;
max-width: 230rpx;
:deep(.wd-picker__field) {
display: flex;
align-items: center;
}
.t1 {
font-size: 12px;
font-size: 24rpx;
font-weight: normal;
line-height: 18px;
line-height: 36rpx;
color: #77818f;
}
.t2 {
flex-grow: 1;
width: 50px;
width: 100rpx;
overflow: hidden;
font-size: 16px;
font-size: 32rpx;
font-weight: 600;
line-height: 24px;
line-height: 48rpx;
color: #1b2026;
text-overflow: ellipsis;
white-space: nowrap;
.arrow {
width: 0;
height: 0;
margin-left: 10px;
margin-left: 20rpx;
border-color: #c9cdd4;
border-width: 4px;
transform: rotateZ(45deg) translateY(-2px);
border-width: 8rpx;
transform: rotateZ(45deg) translateY(-4rpx);
}
}
}
.filter-other {
gap: 8px;
gap: 16rpx;
.item {
display: flex;
align-items: flex-end;
padding: 6px 9px;
font-size: 12px;
/* display: flex;
align-items: flex-end; */
position: relative;
max-width: 120rpx;
padding: 12rpx 18rpx;
overflow: hidden;
font-size: 24rpx;
font-weight: normal;
line-height: 12px;
line-height: 24rpx;
color: #1f86ff;
text-overflow: ellipsis;
white-space: nowrap;
background: rgb(31 134 255 / 10%);
.arrow {
position: absolute;
right: 6rpx;
bottom: 12rpx;
width: 0;
height: 0;
margin-left: 2px;
margin-left: 4rpx;
border-color: #1f86ff;
border-width: 2px;
border-width: 4rpx;
transform: rotateZ(0deg);
}
}
......@@ -468,25 +521,25 @@ onLoad(() => {
height: 100%;
background-color: #00000066;
.wrapper {
padding: 0.5px 20px;
padding: 1rpx 40rpx;
background-color: #ffffff;
.other-view-item {
margin-top: 12px;
margin-top: 24rpx;
label {
font-size: 12px;
font-size: 24rpx;
color: #1b2026;
}
.select-list {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 12px;
gap: 24rpx;
margin-top: 24rpx;
.select-item {
padding: 6px 14px;
font-size: 12px;
padding: 12rpx 28rpx;
font-size: 24rpx;
color: #a3a7b3;
border: 1px solid #e1e2e6;
border-radius: 4px;
border: 2rpx solid #e1e2e6;
border-radius: 8rpx;
&.active {
color: #1f86ff;
background: rgb(31 134 255 / 10%);
......@@ -495,36 +548,36 @@ onLoad(() => {
}
}
:deep(.wd-slider) {
height: 18px;
padding-top: 18px;
height: 36rpx;
padding-top: 36rpx;
.wd-slider__button-wrapper {
width: 15px;
height: 15px;
width: 30rpx;
height: 30rpx;
.wd-slider__button {
width: 15px;
height: 15px;
width: 30rpx;
height: 30rpx;
}
.wd-slider__label {
bottom: 18px;
width: 15px;
font-size: 10px;
bottom: 36rpx;
width: 30rpx;
font-size: 20rpx;
}
}
.wd-slider__bar-wrapper {
margin: 0 20px;
margin: 0 40rpx;
}
}
}
.button-wrap {
display: flex;
gap: 12px;
gap: 24rpx;
justify-content: flex-end;
padding: 16px 0;
padding: 32rpx 0;
div {
padding: 5px 12px;
font-size: 14px;
padding: 10rpx 24rpx;
font-size: 28rpx;
color: #1f86ff;
border-radius: 4px;
border-radius: 8rpx;
}
.reset {
color: #ffffff;
......@@ -532,20 +585,20 @@ onLoad(() => {
}
.confirm {
color: #1f86ff;
border: 1px solid #1f86ff;
border: 2rpx solid #1f86ff;
}
}
}
}
.recommend-list {
flex-grow: 1;
height: 100px;
height: 200rpx;
.item {
padding: 8px 16px;
border-bottom: 8px solid #f3f4f8;
padding: 16rpx 32rpx;
border-bottom: 16rpx solid #f3f4f8;
}
.wd-status-tip {
padding-top: 140px;
padding-top: 280rpx;
}
}
}
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment