flat: 暂存
This commit is contained in:
@@ -56,6 +56,7 @@
|
||||
{{ jobInfo.description }}
|
||||
</view>
|
||||
</view>
|
||||
<!-- 公司信息 -->
|
||||
<view class="content-card">
|
||||
<view class="card-title">
|
||||
<text class="title">公司信息</text>
|
||||
@@ -97,7 +98,7 @@
|
||||
></map>
|
||||
</view>
|
||||
</view>
|
||||
<view class="content-card">
|
||||
<view class="content-card" v-if="!userInfo.isCompanyUser">
|
||||
<view class="card-title">
|
||||
<text class="title">竞争力分析</text>
|
||||
</view>
|
||||
@@ -125,8 +126,52 @@
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 24px"></view>
|
||||
<view class="content-card" v-else>
|
||||
<view class="card-title">
|
||||
<view class="title">申请人列表</view>
|
||||
</view>
|
||||
<view class="applicant-list">
|
||||
<view v-for="applicant in applicants" :key="applicant.userId" class="applicant-item">
|
||||
<view class="item-header">
|
||||
<view class="name">{{ applicant.name }}</view>
|
||||
<view class="right-header">
|
||||
<view class="matching-degree">匹配度:{{ applicant.matchingDegree }}</view>
|
||||
<button class="resume-button" @click="viewResume(applicant.userId)">查看简历</button>
|
||||
</view>
|
||||
</view>
|
||||
<view class="item-details">
|
||||
<view class="detail-text">
|
||||
<view class="label">年龄:{{ applicant.age }}</view>
|
||||
</view>
|
||||
<view class="detail-text">
|
||||
<view class="label">
|
||||
学历:
|
||||
<dict-Label dictType="education" :value="applicant.education"></dict-Label>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-text">
|
||||
<view class="label">
|
||||
经验:
|
||||
<dict-Label dictType="experience" :value="applicant.experience"></dict-Label>
|
||||
</view>
|
||||
</view>
|
||||
<view class="detail-text">
|
||||
<view class="label">
|
||||
期望薪资:
|
||||
<Salary-Expectation
|
||||
style="display: inline-block"
|
||||
:max-salary="applicant.maxSalary"
|
||||
:min-salary="applicant.minSalary"
|
||||
:is-month="true"
|
||||
></Salary-Expectation>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
</view>
|
||||
<view style="height: 34px"></view>
|
||||
<template #footer>
|
||||
<view class="footer">
|
||||
<view class="btn-wq button-click" @click="jobApply">立即前往</view>
|
||||
@@ -143,6 +188,9 @@ import { reactive, inject, watch, ref, onMounted, computed } from 'vue';
|
||||
import { onLoad, onShow, onHide } from '@dcloudio/uni-app';
|
||||
import dictLabel from '@/components/dict-Label/dict-Label.vue';
|
||||
import RadarMap from './component/radarMap.vue';
|
||||
import { storeToRefs } from 'pinia';
|
||||
import useUserStore from '@/stores/useUserStore';
|
||||
const { userInfo } = storeToRefs(useUserStore());
|
||||
const { $api, navTo, getLenPx, parseQueryParams, navBack, isEmptyObject } = inject('globalFunction');
|
||||
import config from '@/config.js';
|
||||
const matchingDegree = ref(['一般', '良好', '优秀', '极好']);
|
||||
@@ -156,6 +204,33 @@ const raderData = ref({});
|
||||
const videoPalyerRef = ref(null);
|
||||
const explainUrlRef = ref('');
|
||||
|
||||
const applicants = ref([
|
||||
{
|
||||
createTime: null,
|
||||
userId: 1,
|
||||
name: '青岛测试账号331',
|
||||
age: '28', // 假设年龄有值
|
||||
sex: '1',
|
||||
birthDate: null,
|
||||
education: '4',
|
||||
politicalAffiliation: '',
|
||||
phone: '',
|
||||
avatar: '',
|
||||
salaryMin: '10000',
|
||||
salaryMax: '15000',
|
||||
area: '3',
|
||||
status: '0',
|
||||
loginIp: '',
|
||||
loginDate: null,
|
||||
jobTitleId: '157,233,373',
|
||||
experience: '3',
|
||||
isRecommend: 1,
|
||||
jobTitle: ['人力资源专员/助理', 'Java', '运维工程师'],
|
||||
applyDate: '2025-09-26',
|
||||
matchingDegree: 1,
|
||||
},
|
||||
]);
|
||||
|
||||
onLoad((option) => {
|
||||
if (option.jobId) {
|
||||
initLoad(option);
|
||||
@@ -188,11 +263,14 @@ function seeExplain() {
|
||||
function getDetail(jobId) {
|
||||
return new Promise((reslove, reject) => {
|
||||
$api.createRequest(`/app/job/${jobId}`).then((resData) => {
|
||||
const { latitude, longitude, companyName, companyId } = resData.data;
|
||||
const { latitude, longitude, companyName, companyId, isCompanyUser } = resData.data;
|
||||
jobInfo.value = resData.data;
|
||||
reslove(resData.data);
|
||||
getCompanyIsAJobs(companyId);
|
||||
getCompetivetuveness(jobId);
|
||||
if (isCompanyUser) {
|
||||
getCompetivetuveness(jobId);
|
||||
}
|
||||
// getCompetivetuveness(jobId);
|
||||
if (latitude && longitude) {
|
||||
mapCovers.value = [
|
||||
{
|
||||
@@ -565,4 +643,100 @@ for i in 0..100
|
||||
line-height: 90rpx
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
.content-card {
|
||||
background-color: #fff;
|
||||
border-radius: 8px;
|
||||
margin: 10px;
|
||||
padding: 15px;
|
||||
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
|
||||
}
|
||||
|
||||
.card-title {
|
||||
padding-bottom: 10px;
|
||||
border-bottom: 1px solid #eee;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.title {
|
||||
font-size: 18px;
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
|
||||
.applicant-list {
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
gap: 15px;
|
||||
}
|
||||
|
||||
.applicant-item {
|
||||
padding: 15px;
|
||||
background-color: #fafafa;
|
||||
border-radius: 8px;
|
||||
border: 1px solid #f0f0f0;
|
||||
}
|
||||
|
||||
.item-header {
|
||||
display: flex;
|
||||
justify-content: space-between; /* 名字和右侧部分分开 */
|
||||
align-items: center;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.right-header {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.name {
|
||||
font-size: 16px;
|
||||
font-weight: bold;
|
||||
max-width: 100px; /* 限制名字的最大宽度,根据你的布局调整 */
|
||||
overflow: hidden; /* 隐藏超出部分 */
|
||||
white-space: nowrap; /* 不换行 */
|
||||
text-overflow: ellipsis; /* 显示省略号 */
|
||||
}
|
||||
|
||||
.matching-degree {
|
||||
font-size: 14px;
|
||||
color: #4CAF50;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.resume-button {
|
||||
font-size: 12px;
|
||||
padding: 5px 10px;
|
||||
border-radius: 20px;
|
||||
border: 1px solid #007aff;
|
||||
color: #007aff;
|
||||
background-color: transparent;
|
||||
line-height: 1;
|
||||
height: auto;
|
||||
}
|
||||
|
||||
.resume-button::after {
|
||||
border: none;
|
||||
}
|
||||
|
||||
.item-details {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
gap: 10px;
|
||||
}
|
||||
|
||||
.detail-text {
|
||||
font-size: 14px;
|
||||
color: #666;
|
||||
/* 确保标签和值在同一行 */
|
||||
display: flex;
|
||||
white-space: nowrap;
|
||||
}
|
||||
|
||||
.label {
|
||||
font-weight: bold;
|
||||
color: #333;
|
||||
}
|
||||
</style>
|
||||
|
Reference in New Issue
Block a user