|
|
@@ -8,7 +8,7 @@
|
|
|
:style="{ paddingTop: (22 + statusBarHeight) + 'px' }">
|
|
|
<view class="search-box">
|
|
|
<view class="dropdown-btn" @click="showDropdown">
|
|
|
- <text class="dropdown-text">{{ positionOptions[selectedPosition] }}</text>
|
|
|
+ <text class="dropdown-text">{{ selectedText }}</text>
|
|
|
<u-icon name="arrow-down" color="#016BF6" size="16"></u-icon>
|
|
|
</view>
|
|
|
<view class="separator"></view>
|
|
|
@@ -20,7 +20,26 @@
|
|
|
|
|
|
|
|
|
<!-- 筛选栏 -->
|
|
|
-
|
|
|
+ <view class="qySx-sx-box flex justify-between align-center">
|
|
|
+ <view class="qySx-sx-box-r flex align-center">
|
|
|
+ <!-- 城市 -->
|
|
|
+ <view class="qySx-sx-box-r-i flex align-center">
|
|
|
+ <text style="margin-right: 10rpx;"
|
|
|
+ @click="goNav('/package/jobIntention/city')">{{city?city:'选择城市'}}</text>
|
|
|
+ <u-icon name="arrow-down" color="#00B78F" size="16"
|
|
|
+ @click="goNav('/package/jobIntention/city')"></u-icon>
|
|
|
+ </view>
|
|
|
+
|
|
|
+ <!-- 筛选 -->
|
|
|
+ <view class="qySx-sx-box-filter flex align-center">
|
|
|
+ <text style="margin-right: 10rpx;"
|
|
|
+ @click="goNav('/package/screen/screen?type=2')">筛选</text>
|
|
|
+ <u-icon name="arrow-down" color="#999999" size="16"
|
|
|
+ @click="goNav('/package/screen/screen?type=2')"></u-icon>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+
|
|
|
</view>
|
|
|
|
|
|
<!-- 人才列表 -->
|
|
|
@@ -30,36 +49,36 @@
|
|
|
<view class="talent-content">
|
|
|
<!-- 头像和基本信息 -->
|
|
|
<view class="talent-header">
|
|
|
- <image :src="talent.avatar" class="talent-avatar" mode="aspectFill"></image>
|
|
|
+ <image :src="talent.userAvatar" class="talent-avatar" mode="aspectFill"></image>
|
|
|
<view class="talent-info">
|
|
|
<view class="talent-name-section">
|
|
|
- <view class="talent-name">{{ talent.name }}</view>
|
|
|
+ <view class="talent-name">{{ talent.maskedName }}</view>
|
|
|
<view class="talent-tags">
|
|
|
<view class="status-tag online" v-if="talent.isOnline">在线</view>
|
|
|
- <view class="status-tag hot" v-if="talent.isHot">热门搜索</view>
|
|
|
+ <!-- <view class="status-tag hot" v-if="talent.isHot">热门搜索</view> -->
|
|
|
<view class="status-tag active" v-if="talent.lastActive">{{ talent.lastActive }}
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
<!-- 经验和薪资 -->
|
|
|
<view class="talent-experience">
|
|
|
- <text class="experience-text">{{ talent.experience }}</text>
|
|
|
- <text class="education-salary">{{ talent.education }} {{ talent.salary }}</text>
|
|
|
- <text class="status-text">{{ talent.jobStatus }}</text>
|
|
|
+ <text class="experience-text">{{ talent.resumesWorkExperience || 0 }}年</text>
|
|
|
+ <text class="education-salary">{{ talent.minSalary }} -{{ talent.maxSalary }}</text>
|
|
|
+ <text class="status-text">{{ jobStatusList[talent.resumesStatus].text}}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 当前职位 -->
|
|
|
- <view class="current-job" v-if="talent.currentJob">
|
|
|
+ <view class="current-job">
|
|
|
<image src="../../static/images/aixin.svg" class="job-icon" mode="aspectFit"></image>
|
|
|
- <text class="job-text">{{ talent.currentJob }}</text>
|
|
|
+ <text class="job-text">{{ talent.companyName }}·{{ talent.lastWorkPosition }}</text>
|
|
|
</view>
|
|
|
|
|
|
<!-- 求职期望 -->
|
|
|
<view class="job-expectation">
|
|
|
<image src="../../static/images/xiangzi.svg" class="job-icon" mode="aspectFit"></image>
|
|
|
- <text class="expectation-text">求职期望: {{ talent.jobExpectation }}</text>
|
|
|
+ <text class="expectation-text">求职期望: {{ talent.expectedPosition }}</text>
|
|
|
</view>
|
|
|
|
|
|
<!-- 技能标签 -->
|
|
|
@@ -71,7 +90,7 @@
|
|
|
|
|
|
<!-- 工作描述 -->
|
|
|
<view class="job-description">
|
|
|
- <text class="description-text">{{ talent.description }}</text>
|
|
|
+ <text class="description-text">{{ talent.adv }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -88,12 +107,12 @@
|
|
|
|
|
|
<!-- 职位选项 -->
|
|
|
<view class="position-options">
|
|
|
- <view class="position-option" :class="selectedPosition === index ? 'active' : ''"
|
|
|
- @click="selectPosition(index)" v-for="(option, index) in positionOptions" :key="index">
|
|
|
+ <view class="position-option" :class="selectedPosition === option.id ? 'active' : ''"
|
|
|
+ @click="selectPosition(option)" v-for="(option, index) in positionOptions" :key="index">
|
|
|
<view class="position-option-icon">
|
|
|
- <view class="check-icon" v-if="selectedPosition === index">✓</view>
|
|
|
+ <view class="check-icon" v-if="selectedPosition === option.id">✓</view>
|
|
|
</view>
|
|
|
- <text class="position-option-text">{{ option }}</text>
|
|
|
+ <text class="position-option-text">{{ option.name }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -124,70 +143,43 @@
|
|
|
sortOptions: ['综合排序', '最新优先', '距离优先'],
|
|
|
showPositionModal: false,
|
|
|
selectedPosition: 0,
|
|
|
- positionOptions: ['亚马逊运营', 'TikTok运营', '采购经理', '不限职位'],
|
|
|
- city: '深圳',
|
|
|
- talentList: [{
|
|
|
- id: 1,
|
|
|
- name: '刘**',
|
|
|
- avatar: '../../static/images/avator.png',
|
|
|
- isOnline: true,
|
|
|
- isHot: true,
|
|
|
- experience: '8年',
|
|
|
- education: '本科',
|
|
|
- salary: '10-15K',
|
|
|
- jobStatus: '在职&考虑机会',
|
|
|
- currentJob: '通拓集团·店铺运营',
|
|
|
- jobExpectation: '亚马逊运营',
|
|
|
- skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
|
|
|
- description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
|
|
|
- workPeriod: '2021-2024'
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- name: '李**',
|
|
|
- avatar: '../../static/images/avator.png',
|
|
|
- lastActive: '5分钟前活跃',
|
|
|
- experience: '25年应届生',
|
|
|
- education: '本科',
|
|
|
- salary: '8-12K',
|
|
|
- jobStatus: '离职&随时到岗',
|
|
|
- currentJob: '大连海事学院·法学',
|
|
|
- jobExpectation: '亚马逊运营',
|
|
|
- skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
|
|
|
- description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
|
|
|
- workPeriod: ''
|
|
|
- },
|
|
|
- {
|
|
|
- id: 3,
|
|
|
- name: '李**',
|
|
|
- avatar: '../../static/images/avator.png',
|
|
|
- lastActive: '刚刚活跃',
|
|
|
- experience: '25年应届生',
|
|
|
- education: '本科',
|
|
|
- salary: '8-12K',
|
|
|
- jobStatus: '离职&随时到岗',
|
|
|
- currentJob: '臣美科技·小红书运营',
|
|
|
- jobExpectation: '亚马逊运营',
|
|
|
- skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
|
|
|
- description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
|
|
|
- workPeriod: '2021-2025'
|
|
|
- },
|
|
|
+ positionOptions: '',
|
|
|
+ selectedText: "请选择",
|
|
|
+ talentList: [],
|
|
|
+ jobStatusList: [],
|
|
|
+ token: '',
|
|
|
+ page: 1,
|
|
|
+ limit: 10,
|
|
|
+ latitude: '',
|
|
|
+ longitude: '',
|
|
|
+ totlo: '',
|
|
|
+ education: '', //学历
|
|
|
+ experience: '', //经验
|
|
|
+ industry: '', //行业
|
|
|
+ salaryRange: '', //薪资
|
|
|
+ companyPeople: '', //公司规模
|
|
|
+ preference: [],
|
|
|
+ domeWidth: 0,
|
|
|
+ showModal: true,
|
|
|
+ arr: [],
|
|
|
+ companyStatus: '',
|
|
|
+ XCXIsSelect: '是',
|
|
|
+ bannerList: [], //企业端轮播图
|
|
|
+ bannerListuser: [], //用户端轮播图
|
|
|
+ gridlist: [], //用户端分类
|
|
|
+ gongao: [], //公告
|
|
|
+ tuiguang: '', //分享标题
|
|
|
+ bgImg: '', //分享图片
|
|
|
+ companList: [], //公司列表
|
|
|
+ directionList: [ //方向列表
|
|
|
{
|
|
|
- id: 4,
|
|
|
- name: '李**',
|
|
|
- avatar: '../../static/images/avator.png',
|
|
|
- lastActive: '刚刚活跃',
|
|
|
- experience: '25年应届生',
|
|
|
- education: '本科',
|
|
|
- salary: '8-12K',
|
|
|
- jobStatus: '离职&随时到岗',
|
|
|
- currentJob: '臣美科技·小红书运营',
|
|
|
- jobExpectation: '亚马逊运营',
|
|
|
- skills: ['精品', '铺货', 'TikTok', '平台运营', '投放策略', '3C数码'],
|
|
|
- description: '负责Amazon英国、欧洲站、制定推广与销售计划,达成团队要求的销售业绩;做好数据的统计分析工作,收集、分析...',
|
|
|
- workPeriod: ''
|
|
|
+ id: '不限',
|
|
|
+ name: '不限'
|
|
|
}
|
|
|
- ]
|
|
|
+ ],
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
}
|
|
|
},
|
|
|
computed: {
|
|
|
@@ -201,15 +193,72 @@
|
|
|
talentListMarginTop() {
|
|
|
// 搜索框高度 + 筛选栏高度(紧凑布局)
|
|
|
// 筛选栏实际高度约 46px(按钮18px + 内边距16px + 外边距12px)
|
|
|
- //return (12 + this.statusBarHeight + 26 + 10 + 46) + 'px';
|
|
|
- return '-69px';
|
|
|
+ return (4 + this.statusBarHeight) + 'px';
|
|
|
+ //return '-69px';
|
|
|
}
|
|
|
},
|
|
|
onLoad() {
|
|
|
// 获取状态栏高度
|
|
|
let systemInfo = uni.getSystemInfoSync();
|
|
|
this.statusBarHeight = systemInfo.statusBarHeight || 0;
|
|
|
- this.getPeopList()
|
|
|
+ this.getCompanyClassify()
|
|
|
+ //this.getPeopList()
|
|
|
+ this.jobStatusList = this.$queue.resumesStatus()
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
+ },
|
|
|
+ onShow() {
|
|
|
+ if (uni.getStorageSync('city')) {
|
|
|
+ this.city = uni.getStorageSync('city')
|
|
|
+ } else {
|
|
|
+ this.city = ''
|
|
|
+ }
|
|
|
+ //获取选中的筛选条件
|
|
|
+ if (uni.getStorageSync('filter') && (uni.getStorageSync('filter')).length > 0) {
|
|
|
+ let filter = uni.getStorageSync('filter')
|
|
|
+ this.education = '' //学历
|
|
|
+ this.experience = '' //经验
|
|
|
+ this.industry = '' //行业
|
|
|
+ this.salaryRange = '' //薪资
|
|
|
+ this.companyPeople = '' //公司规模
|
|
|
+ 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;
|
|
|
+ }
|
|
|
+
|
|
|
+ })
|
|
|
+ // console.log(filter)
|
|
|
+ } else {
|
|
|
+ this.education = '' //学历
|
|
|
+ this.experience = '' //经验
|
|
|
+ this.industry = '' //行业
|
|
|
+ this.salaryRange = '' //薪资
|
|
|
+ this.companyPeople = '' //公司规模
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
+
|
|
|
},
|
|
|
methods: {
|
|
|
// 返回上一页
|
|
|
@@ -227,8 +276,73 @@
|
|
|
this.showPositionModal = false
|
|
|
},
|
|
|
|
|
|
+ /**
|
|
|
+ * 获取公司发布的岗位列表
|
|
|
+ */
|
|
|
+ getCompanyClassify() {
|
|
|
+ let data = {
|
|
|
+ companyId: uni.getStorageSync('companyId')
|
|
|
+ }
|
|
|
+ this.$Request.getT('/app/postPush/getCompanyClassify', data).then(res => {
|
|
|
+ if (res.code == 0) {
|
|
|
+ let arr = [
|
|
|
+ /* {
|
|
|
+ projectName: '',
|
|
|
+ name: '全部',
|
|
|
+ }, */
|
|
|
+ ]
|
|
|
+ if (res.data.length == 0) {
|
|
|
+ uni.navigateTo({
|
|
|
+ url: '/pages/my/jobPosting?companyId=' + companyId + '&status=' + this
|
|
|
+ .companyStatus + '&companyName=' + this.companyName
|
|
|
+ })
|
|
|
+ }
|
|
|
+ if (res && res.data && Array.isArray(res.data)) {
|
|
|
+
|
|
|
+ console.log(res.data)
|
|
|
+ this.selectedPosition = res.data[0].ruleClassifyId
|
|
|
+ // 更新下拉按钮显示的文字
|
|
|
+ this.selectedText = res.data[0].ruleClassifyName
|
|
|
+ res.data.map(item => {
|
|
|
+ let obj = {
|
|
|
+ id: item.ruleClassifyId,
|
|
|
+ projectName: item.ruleClassifyName,
|
|
|
+ name: item.ruleClassifyName,
|
|
|
+ }
|
|
|
+ arr.push(obj)
|
|
|
+ })
|
|
|
+ console.log(arr)
|
|
|
+
|
|
|
+ this.positionOptions = arr
|
|
|
+ this.getPeopList()
|
|
|
+ }
|
|
|
+
|
|
|
+ }
|
|
|
+ })
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
+ maskName(name) {
|
|
|
+ // 处理空值或非字符串情况
|
|
|
+ if (!name || typeof name !== 'string') {
|
|
|
+ return '';
|
|
|
+ }
|
|
|
+
|
|
|
+ // 获取姓氏(第一个字符)
|
|
|
+ const surname = name.charAt(0);
|
|
|
+
|
|
|
+ // 计算需要替换的字符数(名字长度 - 1)
|
|
|
+ const nameLength = name.length - 1;
|
|
|
+
|
|
|
+ // 生成对应数量的星号
|
|
|
+ const maskedPart = '*'.repeat(nameLength > 0 ? nameLength : 0);
|
|
|
+
|
|
|
+ // 返回处理后的名字
|
|
|
+ return surname + maskedPart;
|
|
|
+ },
|
|
|
+
|
|
|
|
|
|
- /**
|
|
|
+ /**
|
|
|
* 获取简历列表
|
|
|
*/
|
|
|
getPeopList() {
|
|
|
@@ -249,11 +363,12 @@
|
|
|
companyId: uni.getStorageSync('companyId') ? uni.getStorageSync('companyId') : ''
|
|
|
|
|
|
}
|
|
|
+
|
|
|
this.$Request.postJson('/app/resumes/selectResumesList', data).then(res => {
|
|
|
uni.stopPullDownRefresh()
|
|
|
uni.hideLoading()
|
|
|
if (res.code == 0 && res.data) {
|
|
|
-
|
|
|
+ this.talentList = [] //清空下搜索和筛选之前的数据
|
|
|
this.totalPage = res.data.totalPage
|
|
|
// res.data.list.map(item => {
|
|
|
// if (item.positionWelfare) {
|
|
|
@@ -263,35 +378,41 @@
|
|
|
// }
|
|
|
// })
|
|
|
console.log(res.data);
|
|
|
-
|
|
|
- const list = res.data.intentIndustry.map(item => {
|
|
|
- // 若技能字段为其他名称(如 skillTags),需映射为 skills
|
|
|
- item.skills = item.skillTags || '';
|
|
|
- return item;
|
|
|
- });
|
|
|
+
|
|
|
+ const list = res.data.records.map(item => {
|
|
|
+ // 若技能字段为其他名称(如 skillTags),需映射为 skills
|
|
|
+ // item.skills = item.skillName || '';
|
|
|
+ item.skills = item.skillName ? item.skillName.split(',').map(skill => skill
|
|
|
+ .trim()) : [];
|
|
|
+ item.maskedName = this.maskName(item.userName);
|
|
|
+ return item;
|
|
|
+ });
|
|
|
if (this.page == 1) {
|
|
|
- this.datasList = res.data
|
|
|
+ this.talentList = list
|
|
|
} else {
|
|
|
- this.datasList = [...this.datasList, ...res.data]
|
|
|
+ this.talentList = [...this.talentList, ...list]
|
|
|
}
|
|
|
- this.totlo = res.data.totalPage
|
|
|
+ this.totlo = list.totalPage
|
|
|
} else {
|
|
|
- this.datasList = []
|
|
|
+ this.talentList = []
|
|
|
}
|
|
|
})
|
|
|
},
|
|
|
|
|
|
|
|
|
// 选择职位
|
|
|
- selectPosition(index) {
|
|
|
- this.selectedPosition = index
|
|
|
+ selectPosition(obj) {
|
|
|
+ console.log(obj)
|
|
|
+ this.selectedPosition = obj.id
|
|
|
// 更新下拉按钮显示的文字
|
|
|
- const selectedText = this.positionOptions[index]
|
|
|
+ const selectedTexts = obj.name
|
|
|
+ this.selectedText = selectedTexts
|
|
|
// 这里可以更新下拉按钮的显示文字
|
|
|
uni.showToast({
|
|
|
- title: `已选择: ${selectedText}`,
|
|
|
+ title: `已选择: ${selectedTexts}`,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
+ this.getPeopList()
|
|
|
this.hidePositionModal()
|
|
|
},
|
|
|
|
|
|
@@ -302,7 +423,25 @@
|
|
|
},
|
|
|
|
|
|
// 跳转页面
|
|
|
- goNavs(url) {
|
|
|
+ goNavs(url) {
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ if (uni.getStorageSync('sendMsg')) {
|
|
|
+ // console.log('授权+1')
|
|
|
+ wx.requestSubscribeMessage({
|
|
|
+ tmplIds: this.arr,
|
|
|
+ success(re) {
|
|
|
+ // console.log(JSON.stringify(re), 111111111111)
|
|
|
+ var datas = JSON.stringify(re);
|
|
|
+ if (datas.indexOf("accept") != -1) {
|
|
|
+ // console.log(re)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: (res) => {
|
|
|
+ // console.log(res)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // #endif
|
|
|
uni.navigateTo({
|
|
|
url: url
|
|
|
})
|
|
|
@@ -314,15 +453,36 @@
|
|
|
},
|
|
|
|
|
|
// 跳转页面
|
|
|
- goNav(url) {
|
|
|
- if (uni.getStorageSync('token')) {
|
|
|
- uni.navigateTo({
|
|
|
- url: url
|
|
|
- })
|
|
|
- } else {
|
|
|
- this.noLogin()
|
|
|
- }
|
|
|
- },
|
|
|
+ goNav(url) {
|
|
|
+ if (uni.getStorageSync('token')) {
|
|
|
+ // #ifdef MP-WEIXIN
|
|
|
+ if (uni.getStorageSync('sendMsg')) {
|
|
|
+ // console.log('授权+1')
|
|
|
+ wx.requestSubscribeMessage({
|
|
|
+ tmplIds: this.arr,
|
|
|
+ success(re) {
|
|
|
+ // console.log(JSON.stringify(re), 111111111111)
|
|
|
+ var datas = JSON.stringify(re);
|
|
|
+ if (datas.indexOf("accept") != -1) {
|
|
|
+ // console.log(re)
|
|
|
+ }
|
|
|
+ },
|
|
|
+ fail: (res) => {
|
|
|
+ // console.log(res)
|
|
|
+ }
|
|
|
+ })
|
|
|
+ }
|
|
|
+ // #endif
|
|
|
+ uni.navigateTo({
|
|
|
+ url: url
|
|
|
+ })
|
|
|
+ } else {
|
|
|
+ this.noLogin()
|
|
|
+ }
|
|
|
+
|
|
|
+ },
|
|
|
+
|
|
|
+
|
|
|
|
|
|
// 未登录提示
|
|
|
noLogin() {
|
|
|
@@ -357,6 +517,7 @@
|
|
|
title: `已选择: ${this.sortOptions[index]}`,
|
|
|
icon: 'none'
|
|
|
})
|
|
|
+
|
|
|
this.hideSortModal()
|
|
|
},
|
|
|
|
|
|
@@ -365,7 +526,7 @@
|
|
|
console.log('查看人才详情:', talent)
|
|
|
// 跳转到简历详情页面
|
|
|
uni.navigateTo({
|
|
|
- url: `/pages/talentSearch/resumeDetail?resumeId=${talent.id || talent.resumeId || ''}`
|
|
|
+ url: `/pages/talentSearch/resumeDetail?resumesId=${talent.id || talent.resumesId || ''}`
|
|
|
})
|
|
|
}
|
|
|
}
|
|
|
@@ -450,6 +611,88 @@
|
|
|
text-align: left;
|
|
|
}
|
|
|
|
|
|
+.qySx-sx-box {
|
|
|
+ width: 94%;
|
|
|
+ //margin-top: -60rpx;
|
|
|
+ background-color: #fff;
|
|
|
+ height: 82rpx;
|
|
|
+ position:relative;
|
|
|
+ z-index: 22;
|
|
|
+ margin: -80rpx auto 0rpx auto;
|
|
|
+ border-radius: 8px;
|
|
|
+ padding: 24rpx;
|
|
|
+ .qySx-sx-box-l-i {
|
|
|
+ color: rgba(153, 153, 153, 1);
|
|
|
+ font-family: DM Sans;
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 36rpx;
|
|
|
+ letter-spacing: 0%;
|
|
|
+ text-align: center;
|
|
|
+ margin-right: 20rpx;
|
|
|
+ border-radius: 6px;
|
|
|
+ background: rgba(198, 198, 198, 0.1);
|
|
|
+ padding: 8rpx 12rpx;
|
|
|
+ display: inline-block;
|
|
|
+ min-width: 60rpx;
|
|
|
+ white-space: nowrap;
|
|
|
+
|
|
|
+ &.active3 {
|
|
|
+ font-family: DM Sans;
|
|
|
+ font-size: 24rpx !important;
|
|
|
+ font-weight: 400 !important;
|
|
|
+ line-height: 36rpx;
|
|
|
+ letter-spacing: 0%;
|
|
|
+ text-align: left;
|
|
|
+ padding: 8rpx 12rpx !important;
|
|
|
+ color: rgba(1, 107, 246, 1) !important;
|
|
|
+ // background: #D6E7FD !important;
|
|
|
+ background: rgba(252, 233, 220, 1);
|
|
|
+ border: 1px solid rgba(1, 107, 246, 1);
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ .qySx-sx-box-r-i {
|
|
|
+ color: rgba(1, 107, 246, 1);
|
|
|
+ font-family: DM Sans;
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 36rpx;
|
|
|
+ letter-spacing: 0%;
|
|
|
+ text-align: center;
|
|
|
+ margin-right: 20rpx;
|
|
|
+ border-radius: 6px;
|
|
|
+ // background: #D6E7FD;
|
|
|
+ background: rgba(252, 233, 220, 1);
|
|
|
+ padding: 8rpx 12rpx;
|
|
|
+ display: inline-block;
|
|
|
+ min-width: 60rpx;
|
|
|
+ white-space: nowrap;
|
|
|
+ cursor: pointer;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ border: 0.5px solid rgba(1, 107, 246, 1);
|
|
|
+ }
|
|
|
+
|
|
|
+ .qySx-sx-box-filter {
|
|
|
+ color: rgba(153, 153, 153, 1);
|
|
|
+ font-family: DM Sans;
|
|
|
+ font-size: 24rpx;
|
|
|
+ font-weight: 400;
|
|
|
+ line-height: 36rpx;
|
|
|
+ letter-spacing: 0%;
|
|
|
+ text-align: center;
|
|
|
+ border-radius: 6px;
|
|
|
+ background: rgba(198, 198, 198, 0.1);
|
|
|
+ padding: 8rpx 12rpx;
|
|
|
+ display: inline-block;
|
|
|
+ min-width: 60rpx;
|
|
|
+ white-space: nowrap;
|
|
|
+ cursor: pointer;
|
|
|
+ transition: all 0.3s ease;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+
|
|
|
|
|
|
|
|
|
// 搜索框
|
|
|
@@ -472,13 +715,13 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
padding: 0 32rpx;
|
|
|
- height: 60rpx;
|
|
|
+ height: 80rpx;
|
|
|
}
|
|
|
|
|
|
.dropdown-btn {
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
- padding: 8rpx 16rpx;
|
|
|
+ padding: 14rpx 16rpx;
|
|
|
background-color: #F1F1F1;
|
|
|
border: 1rpx solid #016BF6;
|
|
|
border-radius: 8rpx;
|
|
|
@@ -487,7 +730,7 @@
|
|
|
.dropdown-text {
|
|
|
color: rgba(1, 107, 246, 1);
|
|
|
font-family: DM Sans;
|
|
|
- font-size: 20rpx;
|
|
|
+ font-size: 24rpx;
|
|
|
font-weight: 400;
|
|
|
line-height: 20rpx;
|
|
|
letter-spacing: -0.5px;
|
|
|
@@ -498,7 +741,7 @@
|
|
|
|
|
|
.separator {
|
|
|
width: 4rpx;
|
|
|
- height: 30rpx;
|
|
|
+ height: 56rpx;
|
|
|
background-color: rgba(153, 153, 153, 1);
|
|
|
margin-right: 12rpx;
|
|
|
}
|
|
|
@@ -509,7 +752,7 @@
|
|
|
background: transparent;
|
|
|
color: #333;
|
|
|
font-family: DM Sans;
|
|
|
- font-size: 20rpx;
|
|
|
+ font-size: 26rpx;
|
|
|
font-weight: 400;
|
|
|
line-height: 48rpx;
|
|
|
letter-spacing: 0.5%;
|
|
|
@@ -564,7 +807,7 @@
|
|
|
display: flex;
|
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
|
- font-size: 28rpx;
|
|
|
+ font-size: 32rpx;
|
|
|
}
|
|
|
}
|
|
|
|
|
|
@@ -672,8 +915,8 @@
|
|
|
.talent-list {
|
|
|
// margin-top: 280rpx; // 已改为动态计算,在模板中通过 :style 设置
|
|
|
padding: 20rpx;
|
|
|
- z-index: 100;
|
|
|
- position: relative;
|
|
|
+ z-index: 100;
|
|
|
+ position: relative;
|
|
|
}
|
|
|
|
|
|
.talent-card {
|
|
|
@@ -831,7 +1074,7 @@
|
|
|
|
|
|
.job-description {
|
|
|
margin-bottom: 12rpx;
|
|
|
-
|
|
|
+ width: 100%;
|
|
|
.description-text {
|
|
|
color: rgba(97, 110, 124, 1);
|
|
|
font-family: DM Sans;
|
|
|
@@ -840,11 +1083,17 @@
|
|
|
line-height: 32rpx;
|
|
|
letter-spacing: 0px;
|
|
|
text-align: left;
|
|
|
+ display: -webkit-box;
|
|
|
+ -webkit-line-clamp: 2; /* 只显示2行 */
|
|
|
+ -webkit-box-orient: vertical;
|
|
|
+ overflow: hidden; /* 隐藏超出内容 */
|
|
|
+ text-overflow: ellipsis; /* 显示省略号 */
|
|
|
+
|
|
|
}
|
|
|
}
|
|
|
|
|
|
.work-period {
|
|
|
- text-align: right;
|
|
|
+ text-align: right;
|
|
|
|
|
|
.period-text {
|
|
|
font-size: 22rpx;
|