|
|
@@ -147,20 +147,20 @@
|
|
|
<view v-if="interviewRecords.length > 0">
|
|
|
<view
|
|
|
class="interview-record"
|
|
|
- :class="{ 'today': record.isToday, 'tomorrow': record.isTomorrow }"
|
|
|
+ :class="{ 'today': formatDate(record.interviewDateTime,'YYYY-MM-DD') === formatDate(selectDate,'YYYY-MM-DD') }"
|
|
|
v-for="(record, index) in interviewRecords"
|
|
|
:key="index"
|
|
|
@click="goToInterviewDetail(record)"
|
|
|
>
|
|
|
<view class="record-content">
|
|
|
<view class="record-left">
|
|
|
- <text class="date-label">{{ record.dateLabel }}</text>
|
|
|
- <text class="time-label">{{ record.time }}</text>
|
|
|
+ <text class="date-label">{{ checkDate(record.interviewDateTime) === 1 ? '今天' : checkDate(record.interviewDateTime) === 2 ? '明天' : record.interviewDateTime.substring(5, 10) }}</text>
|
|
|
+ <text class="time-label">{{ record.detailTime? record.detailTime : record.interviewDateTime.substring(11, 16) }}</text>
|
|
|
</view>
|
|
|
<view class="record-divider"></view>
|
|
|
<view class="record-right">
|
|
|
- <text class="candidate-name">{{ record.candidateName }}</text>
|
|
|
- <text class="candidate-details">{{ record.experience }} {{ record.education }} {{ record.salary }}</text>
|
|
|
+ <text class="candidate-name">{{ record.resumesListDto[0].userName }}</text>
|
|
|
+ <text class="candidate-details">{{ record.resumesListDto[0].resumesWorkExperience }}年 {{ record.resumesListDto[0].degree }} {{ record.resumesListDto[0].minSalary }}-{{ record.resumesListDto[0].maxSalary }}</text>
|
|
|
</view>
|
|
|
</view>
|
|
|
</view>
|
|
|
@@ -180,6 +180,72 @@
|
|
|
<!-- 有数据时显示列表 -->
|
|
|
<view v-if="favoriteRecords.length > 0">
|
|
|
<!-- 收藏记录列表内容 -->
|
|
|
+ <view class="qyList flex justify-center">
|
|
|
+ <view class="qyList-box">
|
|
|
+ <view
|
|
|
+ class="qyList-box-item flex justify-center"
|
|
|
+ v-for="(item, index) in favoriteRecords"
|
|
|
+ :key="index"
|
|
|
+ @click="goNav(`/pages/talentSearch/resumeDetail?resumesId=${item.resumesId}&postPushId=${item.postPushId}`)"
|
|
|
+ >
|
|
|
+ <view class="qyList-box-item-box">
|
|
|
+ <view class="qyList-box-item-info flex justify-between align-center">
|
|
|
+ <view class="qyList-box-item-info-l">
|
|
|
+ <view
|
|
|
+ class=""
|
|
|
+ style="color: #212121; font-size: 38rpx; font-weight: 800"
|
|
|
+ >
|
|
|
+ {{ item.resumesListDto[0].userName }}
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="flex align-center flex-wrap"
|
|
|
+ style="color: #999999; font-size: 26rpx; margin-top: 10rpx"
|
|
|
+ >
|
|
|
+ <text>{{ item.resumesListDto[0].userAge }}岁</text>
|
|
|
+ <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
|
|
|
+ <text>{{ item.resumesListDto[0].resumesWorkExperience }}年</text>
|
|
|
+ <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
|
|
|
+ <text>{{ item.resumesListDto[0].school }}</text>
|
|
|
+ <text style="margin-left: 20rpx; margin-right: 20rpx">|</text>
|
|
|
+ <text>期望 {{ item.resumesListDto[0].minSalary }}-{{ item.resumesListDto[0].maxSalary }}</text>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="qyList-box-item-info-r">
|
|
|
+ <image
|
|
|
+ :src="item.resumesListDto[0].userAvatar ? item.resumesListDto[0].userAvatar : '../../static/logo.png'"
|
|
|
+ style="width: 95rpx; height: 95rpx; border-radius: 50%"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ <view class="qyList-box-item-job flex align-center">
|
|
|
+ <u-icon
|
|
|
+ name="heart-fill"
|
|
|
+ color="#016BF6"
|
|
|
+ size="30"
|
|
|
+ style="margin-right: 16rpx"
|
|
|
+ >
|
|
|
+ </u-icon>
|
|
|
+ 期望岗位:{{ item.resumesListDto[0].expectedPosition }}
|
|
|
+ </view>
|
|
|
+ <view
|
|
|
+ class="qyList-box-item-job flex align-center"
|
|
|
+ >
|
|
|
+ <image
|
|
|
+ src="../../static/images/qi.png"
|
|
|
+ style="width: 30rpx; height: 32rpx; margin-right: 16rpx"
|
|
|
+ mode=""
|
|
|
+ ></image>
|
|
|
+ {{ item.resumesListDto[0].companyName }} /
|
|
|
+ {{ item.resumesListDto[0].lastWorkPosition }}
|
|
|
+ </view>
|
|
|
+ <view class="qyList-box-item-rem" v-if="item.resumesDetails">
|
|
|
+ 优势:{{ item.resumesListDto[0].workContent }}
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
+ </view>
|
|
|
</view>
|
|
|
|
|
|
<!-- 空状态显示 -->
|
|
|
@@ -352,8 +418,61 @@ export default {
|
|
|
const systemInfo = uni.getSystemInfoSync()
|
|
|
this.statusBarHeight = systemInfo.statusBarHeight || 0
|
|
|
this.getData()
|
|
|
+ this.getInterviewRecords()
|
|
|
+ this.getFavoriteRecords()
|
|
|
},
|
|
|
methods: {
|
|
|
+ getFavoriteRecords(){
|
|
|
+ this.$Request.getT("/app/myCollection/getCompanyCollectionList").then(res=>{
|
|
|
+ console.log(res);
|
|
|
+ this.favoriteRecords = res.data.records //收藏记录
|
|
|
+ })
|
|
|
+ },
|
|
|
+ checkDate(targetDate) {
|
|
|
+ const today = new Date();
|
|
|
+ const tomorrow = new Date();
|
|
|
+ tomorrow.setDate(today.getDate() + 1);
|
|
|
+
|
|
|
+ const inputDate = new Date(targetDate);
|
|
|
+
|
|
|
+ // 重置时间为 00:00:00 进行比较
|
|
|
+ today.setHours(0, 0, 0, 0);
|
|
|
+ tomorrow.setHours(0, 0, 0, 0);
|
|
|
+ inputDate.setHours(0, 0, 0, 0);
|
|
|
+
|
|
|
+ if (inputDate.getTime() === today.getTime()) {
|
|
|
+ return 1; // 今天
|
|
|
+ } else if (inputDate.getTime() === tomorrow.getTime()) {
|
|
|
+ return 2; // 明天
|
|
|
+ } else {
|
|
|
+ return 0; // 其他日期
|
|
|
+ }
|
|
|
+ },
|
|
|
+ formatDate(date, format = 'YYYY-MM-DD HH:mm:ss') {
|
|
|
+ const d = new Date(date);
|
|
|
+ const padZero = (num) => String(num).padStart(2, '0');
|
|
|
+ const replacements = {
|
|
|
+ 'YYYY': d.getFullYear(),
|
|
|
+ 'MM': padZero(d.getMonth() + 1),
|
|
|
+ 'DD': padZero(d.getDate()),
|
|
|
+ 'HH': padZero(d.getHours()),
|
|
|
+ 'mm': padZero(d.getMinutes()),
|
|
|
+ 'ss': padZero(d.getSeconds()),
|
|
|
+ 'SSS': padZero(d.getMilliseconds()).padStart(3, '0'),
|
|
|
+ 'M': d.getMonth() + 1,
|
|
|
+ 'D': d.getDate(),
|
|
|
+ 'H': d.getHours(),
|
|
|
+ 'm': d.getMinutes(),
|
|
|
+ 's': d.getSeconds()
|
|
|
+ };
|
|
|
+ return format.replace(/YYYY|MM|DD|HH|mm|ss|SSS|M|D|H|m|s/g, match => replacements[match]);
|
|
|
+ },
|
|
|
+ getInterviewRecords(){
|
|
|
+ this.$Request.getT("/app/interviewRecord/getHrInterviewList").then(res=>{
|
|
|
+ console.log(res);
|
|
|
+ this.interviewRecords = res.data.records //沟通记录
|
|
|
+ })
|
|
|
+ },
|
|
|
getYearMonthInterval(startDate, endDate) {
|
|
|
// 确保传入的是 Date 对象
|
|
|
const start = new Date(startDate);
|
|
|
@@ -405,9 +524,9 @@ export default {
|
|
|
},
|
|
|
goToInterviewDetail(record) {
|
|
|
console.log('查看面试详情:', record)
|
|
|
- // uni.navigateTo({
|
|
|
- // url: `/pages/interview/detail?id=${record.id}`
|
|
|
- // })
|
|
|
+ uni.navigateTo({
|
|
|
+ url: `/my/jilu/bossMianshiDetail?recordId=${record.recordId}`
|
|
|
+ })
|
|
|
},
|
|
|
goToInterviewManage() {
|
|
|
console.log('跳转到面试管理')
|
|
|
@@ -421,6 +540,11 @@ export default {
|
|
|
this.communicationRecords = res.records //沟通记录
|
|
|
})
|
|
|
},
|
|
|
+ goNav(url){
|
|
|
+ uni.navigateTo({
|
|
|
+ url: url
|
|
|
+ })
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
</script>
|
|
|
@@ -900,4 +1024,46 @@ export default {
|
|
|
text-align: center;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+.qyList {
|
|
|
+ width: 100%;
|
|
|
+ height: auto;
|
|
|
+ margin-top: 20rpx;
|
|
|
+
|
|
|
+ .qyList-box {
|
|
|
+ width: 686rpx;
|
|
|
+ height: 100%;
|
|
|
+
|
|
|
+ .qyList-box-item {
|
|
|
+ width: 100%;
|
|
|
+ // height: 400rpx;
|
|
|
+ padding-bottom: 40rpx;
|
|
|
+ background-color: #ffffff;
|
|
|
+ border-radius: 24rpx;
|
|
|
+ margin-bottom: 20rpx;
|
|
|
+
|
|
|
+ .qyList-box-item-box {
|
|
|
+ width: 626rpx;
|
|
|
+ height: 100%;
|
|
|
+ }
|
|
|
+
|
|
|
+ .qyList-box-item-info {
|
|
|
+ margin-top: 40rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .qyList-box-item-job {
|
|
|
+ color: #121212;
|
|
|
+ font-size: 28rpx;
|
|
|
+ font-weight: 500;
|
|
|
+ margin-top: 20rpx;
|
|
|
+ }
|
|
|
+
|
|
|
+ .qyList-box-item-rem {
|
|
|
+ color: #999999;
|
|
|
+ font-size: 26rpx;
|
|
|
+ margin-top: 20rpx;
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+}
|
|
|
</style>
|