|
@@ -145,26 +145,47 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <!-- 求助意向列表 -->
|
|
|
- <div v-if="jobHuntList.length > 0" class="jobHunt-list-box">
|
|
|
- <div class="jobHunt-box" v-for="(jobHunt, jobHuntIndex) in jobHuntList" :key="jobHuntIndex">
|
|
|
- <div class="jobHunt-title">
|
|
|
- <span class="font-weight-700">{{ jobHunt.professionName }}</span>
|
|
|
- <span class="jobHunt-salary">{{ showSalary(jobHunt.minSalary, jobHunt.maxSalary) }}</span>
|
|
|
+ <a-radio-group v-model:value="dataType" button-style="solid" size="small"
|
|
|
+ style="margin-bottom: 10px">
|
|
|
+ <a-radio-button value="jobHunt">求职意向</a-radio-button>
|
|
|
+ <a-radio-button value="serviceRecords">服务记录</a-radio-button>
|
|
|
+ </a-radio-group>
|
|
|
+ <div v-if="dataType == 'jobHunt'" class="dataType-box">
|
|
|
+ <!-- 求职意向列表 -->
|
|
|
+ <div v-if="jobHuntList.length > 0" class="jobHunt-list-box">
|
|
|
+ <div class="jobHunt-box" v-for="(jobHunt, jobHuntIndex) in jobHuntList" :key="jobHuntIndex">
|
|
|
+ <div class="jobHunt-title">
|
|
|
+ <span class="font-weight-700">{{ jobHunt.professionName }}</span>
|
|
|
+ <span class="jobHunt-salary">{{ showSalary(jobHunt.minSalary, jobHunt.maxSalary) }}</span>
|
|
|
+ </div>
|
|
|
+ <p class="label-text">求职类型:{{ jobHunt.jobHuntTypeStr }}</p>
|
|
|
+ <p class="label-text">可到职日期:{{ dayjs(jobHunt.inDate).format("YYYY-MM-DD") }}</p>
|
|
|
</div>
|
|
|
- <p class="label-text">求职类型:{{ jobHunt.jobHuntTypeStr }}</p>
|
|
|
- <p class="label-text">可到职日期:{{ dayjs(jobHunt.inDate).format("YYYY-MM-DD") }}</p>
|
|
|
+ </div>
|
|
|
+ <div v-else class="empty-box">
|
|
|
+ <a-empty description="暂无求职意向"/>
|
|
|
+ </div>
|
|
|
+ <!-- 分页控件 -->
|
|
|
+ <div v-if="jobHuntList.length > 0" class="pagination-box">
|
|
|
+ <span>共{{ jobHuntTotal }}个</span>
|
|
|
+ <a-pagination v-model:current="jobHuntSearchParams.pageIndex" :total="jobHuntTotal"
|
|
|
+ v-model:pageSize="jobHuntSearchParams.pageSize"
|
|
|
+ show-less-items @change="jobHuntPaginationChange" simple :show-size-changer="false"/>
|
|
|
</div>
|
|
|
</div>
|
|
|
- <div v-else class="empty-box">
|
|
|
- <a-empty description="暂无求职意向"/>
|
|
|
- </div>
|
|
|
- <!-- 分页控件 -->
|
|
|
- <div class="pagination-box">
|
|
|
- <span>共{{ jobHuntTotal }}个</span>
|
|
|
- <a-pagination v-model:current="jobHuntSearchParams.pageIndex" :total="jobHuntTotal"
|
|
|
- v-model:pageSize="jobHuntSearchParams.pageSize"
|
|
|
- show-less-items @change="jobHuntPaginationChange" simple :show-size-changer="false"/>
|
|
|
+ <div v-if="dataType == 'serviceRecords'" class="dataType-box">
|
|
|
+ <!-- 服务记录时间轴 -->
|
|
|
+ <div v-if="serviceRecordList.length > 0" class="serviceRecords-list">
|
|
|
+ <a-timeline>
|
|
|
+ <a-timeline-item v-for="(service, key) in serviceRecordList" :key="key" position="left">
|
|
|
+ <p>{{ dayjs(service.serviceTime).format('YYYY-MM-DD') }}({{ service.serviceUserName }})</p>
|
|
|
+ <p>服务内容:{{ service.serviceContent }}</p>
|
|
|
+ </a-timeline-item>
|
|
|
+ </a-timeline>
|
|
|
+ </div>
|
|
|
+ <div v-else class="empty-box">
|
|
|
+ <a-empty description="暂无服务记录"/>
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
@@ -183,6 +204,7 @@ import {getDataMapList} from "@/api/jobUserManager/jobuser";
|
|
|
import thIcon from "@/assets/images/blueTh.png"
|
|
|
import {getJobHuntList} from "@/api/jobUserManager/jobhunt";
|
|
|
import dayjs from "dayjs";
|
|
|
+import {getAllListByJobUserID} from "@/api/jobUserManager/jobuser/jobUserService";
|
|
|
|
|
|
const T = (window as any).T;
|
|
|
const zoom = 9;
|
|
@@ -234,6 +256,10 @@ const jobUserLabelBoxRef = ref<Array<any>>([]);
|
|
|
const nowCheckJobUserLabelBoxRef = ref<any>(null);
|
|
|
// 右侧求职人员详情的标签展开与收起开关
|
|
|
const nowCheckJobUserLabelExpanded = ref(true)
|
|
|
+// 求职人员详情显示内容tab
|
|
|
+const dataType = ref("jobHunt");
|
|
|
+// 求职人员的服务记录列表
|
|
|
+const serviceRecordList = ref<Array<any>>([]);
|
|
|
|
|
|
// 查询求职人员标签字典
|
|
|
function getJobUserLabelDicList() {
|
|
@@ -427,6 +453,9 @@ function checkJobUser(jobUser: any) {
|
|
|
jobHuntList.value = [];
|
|
|
jobHuntTotal.value = 0;
|
|
|
getJobHunt();
|
|
|
+ // 查询服务记录
|
|
|
+ serviceRecordList.value = [];
|
|
|
+ getServiceRecords();
|
|
|
// 关闭地图上的其他信息弹窗
|
|
|
(map as any).closeInfoWindow();
|
|
|
if (jobUser.longitude && jobUser.latitude) {
|
|
@@ -436,7 +465,7 @@ function checkJobUser(jobUser: any) {
|
|
|
if (jobUser.labelList && jobUser.labelList.length > 0) {
|
|
|
jobUser.labelList.forEach((item: any) => {
|
|
|
labelHtml += `
|
|
|
- <span style="padding: 2px 5px; background-color: #eaeaea; color: #545454; margin-right: 3px;margin-bottom: 3px;">${item.labelName}</span>
|
|
|
+ <span style="padding: 2px 5px; background-color: #F3F6F8; color: #899099; margin-right: 3px;margin-bottom: 3px;">${item.labelName}</span>
|
|
|
`
|
|
|
})
|
|
|
}
|
|
@@ -473,6 +502,9 @@ function checkJobUserById(jobUserID: any) {
|
|
|
jobHuntList.value = [];
|
|
|
jobHuntTotal.value = 0;
|
|
|
getJobHunt();
|
|
|
+ // 查询服务记录
|
|
|
+ serviceRecordList.value = []
|
|
|
+ getServiceRecords();
|
|
|
if (nowCheckJobUser.value.longitude && nowCheckJobUser.value.latitude) {
|
|
|
// 设置地图中心点
|
|
|
(map as any).centerAndZoom(new T.LngLat(nowCheckJobUser.value.longitude, nowCheckJobUser.value.latitude), (map as any).getZoom());
|
|
@@ -518,7 +550,14 @@ async function getJobHunt() {
|
|
|
})
|
|
|
}
|
|
|
|
|
|
-// 求助意向分页变更事件
|
|
|
+// 查询服务记录
|
|
|
+async function getServiceRecords() {
|
|
|
+ await getAllListByJobUserID(nowCheckJobUser.value.jobUserID).then((result: any) => {
|
|
|
+ serviceRecordList.value = result;
|
|
|
+ })
|
|
|
+}
|
|
|
+
|
|
|
+// 求职意向分页变更事件
|
|
|
function jobHuntPaginationChange() {
|
|
|
getJobHunt();
|
|
|
}
|
|
@@ -690,6 +729,7 @@ export default {
|
|
|
padding: 10px;
|
|
|
box-sizing: border-box;
|
|
|
border: 1px solid white;
|
|
|
+ box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.3);
|
|
|
|
|
|
.jobHunt-box {
|
|
|
width: 100%;
|
|
@@ -769,26 +809,41 @@ export default {
|
|
|
border-radius: 10px;
|
|
|
padding: 10px;
|
|
|
|
|
|
+ .dataType-box {
|
|
|
+ height: 75%;
|
|
|
+
|
|
|
+ .serviceRecords-list {
|
|
|
+ width: 100%;
|
|
|
+ height: 100%;
|
|
|
+ overflow: hidden;
|
|
|
+ overflow-y: auto;
|
|
|
+ padding: 15px;
|
|
|
+ background-color: white;
|
|
|
+ border-radius: 10px;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
.jobUser-data-box {
|
|
|
background-color: white;
|
|
|
padding: 10px;
|
|
|
width: 100%;
|
|
|
- max-height: 165px;
|
|
|
+ height: 165px;
|
|
|
overflow-y: auto;
|
|
|
border-radius: 10px;
|
|
|
}
|
|
|
|
|
|
.jobHunt-list-box {
|
|
|
width: 100%;
|
|
|
- height: calc(100% - 210px);
|
|
|
+ height: calc(100% - 50px);
|
|
|
overflow: hidden;
|
|
|
overflow-y: auto;
|
|
|
|
|
|
.jobHunt-box {
|
|
|
border-radius: 10px;
|
|
|
- background-color: #d5f2ff;
|
|
|
+ background-color: white;
|
|
|
padding: 8px 10px;
|
|
|
margin-bottom: 10px;
|
|
|
+ box-shadow: 0 5px 5px -5px rgba(0, 0, 0, 0.3);
|
|
|
|
|
|
.jobHunt-title {
|
|
|
display: flex;
|
|
@@ -807,7 +862,7 @@ export default {
|
|
|
|
|
|
.empty-box {
|
|
|
width: 100%;
|
|
|
- height: calc(100% - 210px);
|
|
|
+ height: calc(100% - 50px);
|
|
|
display: flex;
|
|
|
justify-content: center;
|
|
|
align-items: center;
|