From 4b5a4c322d5a777f2715e1574ab3ef7cbcf14d6d Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期三, 13 八月 2025 18:46:01 +0800
Subject: [PATCH] fix: 验收管理
---
apps/bMiniApp/src/components/JobDetailContent/JobDetailContent.vue | 30 +++++++++++++-
packages/utils/common.ts | 4 +
apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue | 44 +++++++++++++++++----
packages/services/apiV2/typings.d.ts | 15 ++++++-
apps/bMiniApp/src/pages/home/index.vue | 2
apps/bMiniApp/project.private.config.json | 14 +++---
6 files changed, 86 insertions(+), 23 deletions(-)
diff --git a/apps/bMiniApp/project.private.config.json b/apps/bMiniApp/project.private.config.json
index 57b2186..56374b3 100644
--- a/apps/bMiniApp/project.private.config.json
+++ b/apps/bMiniApp/project.private.config.json
@@ -9,6 +9,13 @@
"miniprogram": {
"list": [
{
+ "name": "鐏靛伐璇︽儏",
+ "pathName": "subpackages/flexJob/flexJobDetail/flexJobDetail",
+ "query": "id=700a3a67-5da5-49d2-a65a-08ddd661238b",
+ "launchMode": "default",
+ "scene": null
+ },
+ {
"name": "鐏靛伐绠$悊",
"pathName": "subpackages/flexJobManage/flexJobManage/flexJobManage",
"query": "",
@@ -61,13 +68,6 @@
"name": "楠屾敹绠$悊",
"pathName": "subpackages/task/taskCheck/taskCheck",
"query": "",
- "launchMode": "default",
- "scene": null
- },
- {
- "name": "鐏靛伐璇︽儏",
- "pathName": "subpackages/flexJob/flexJobDetail/flexJobDetail",
- "query": "id=c4cfe028-23e7-0be8-ee56-3a11e3743b9d",
"launchMode": "default",
"scene": null
},
diff --git a/apps/bMiniApp/src/components/JobDetailContent/JobDetailContent.vue b/apps/bMiniApp/src/components/JobDetailContent/JobDetailContent.vue
index 6552419..4fdb0ed 100644
--- a/apps/bMiniApp/src/components/JobDetailContent/JobDetailContent.vue
+++ b/apps/bMiniApp/src/components/JobDetailContent/JobDetailContent.vue
@@ -1,17 +1,28 @@
<template>
<ContentView style="background-color: transparent" class="job-detail-content">
- <FlexJobTopView size="small" class="job-detail-content-top" />
+ <FlexJobTopView
+ :avatar="avatar"
+ :name="name"
+ :age="age"
+ :isReal="isReal"
+ :gender="gender"
+ :personalIdentityContent="personalIdentityContent"
+ :educationalBackgroundContent="educationalBackgroundContent"
+ :taskCount="taskCount"
+ size="small"
+ class="job-detail-content-top"
+ />
<div class="job-detail-content-contact-info">
<div class="job-detail-content-contact-info-item">
<div class="job-detail-content-contact-info-item-label">鎵嬫満鍙凤細</div>
<div class="job-detail-content-contact-info-item-text">
- {{ isCollapse ? '13333333333' : '绔嬪嵆鑱旂郴鍚庡彲鏌ョ湅' }}
+ {{ isCollapse ? contactPhoneNumber : '绔嬪嵆鑱旂郴鍚庡彲鏌ョ湅' }}
</div>
</div>
<div class="job-detail-content-contact-info-item">
<div class="job-detail-content-contact-info-item-label">韬唤璇佸彿锛�</div>
<div class="job-detail-content-contact-info-item-text">
- {{ isCollapse ? hiddenIDNumberForEnd6('330902199909123456') : '绔嬪嵆鑱旂郴鍚庡彲鏌ョ湅' }}
+ {{ isCollapse ? hiddenIDNumberForEnd6(identity) : '绔嬪嵆鑱旂郴鍚庡彲鏌ョ湅' }}
</div>
</div>
</div>
@@ -42,6 +53,7 @@
import { hiddenIDNumberForEnd6 } from '@12333/utils';
import curriculumView from './components/curriculumView.vue';
import experienceView from './components/experienceView.vue';
+import { EnumUserGender } from '@12333/constants';
defineOptions({
name: 'JobDetailContent',
@@ -49,6 +61,18 @@
type Props = {
isCollapse: boolean;
+
+ avatar?: string;
+ name?: string;
+ gender?: EnumUserGender;
+ age?: number;
+ isReal?: boolean;
+ personalIdentityContent?: string;
+ educationalBackgroundContent?: string;
+ taskCount?: number;
+ contactPhoneNumber?: string;
+ identity?: string;
+ userId?: string;
};
const tab = ref('1');
diff --git a/apps/bMiniApp/src/pages/home/index.vue b/apps/bMiniApp/src/pages/home/index.vue
index 6d98d86..8912acb 100644
--- a/apps/bMiniApp/src/pages/home/index.vue
+++ b/apps/bMiniApp/src/pages/home/index.vue
@@ -130,7 +130,7 @@
pageModel: {
rows: 20,
page: pageParam,
- orderInput: [{ property: 'id', order: EnumPagedListOrder.Desc }],
+ orderInput: [{ property: 'createdTime', order: EnumPagedListOrder.Desc }],
},
userExpectJobs: queryPositionState.userExpectJobs,
gender: queryMenuState.genderLimit,
diff --git a/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue b/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue
index ba4a7e5..4b3bde8 100644
--- a/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue
+++ b/apps/bMiniApp/src/subpackages/flexJob/flexJobDetail/flexJobDetail.vue
@@ -1,7 +1,20 @@
<template>
<PageLayoutWithBg class="flexJobDetail-page-wrapper" title="鐏靛伐璇︽儏" :need-auth="false">
<LoadingLayout :loading="isLoading" :error="isError" :loadError="refetch">
- <JobDetailContent :isCollapse="isCollapse">
+ <JobDetailContent
+ :avatar="userResumeInfo.avatar"
+ :name="userResumeInfo.name"
+ :age="userResumeInfo.age"
+ :isReal="userResumeInfo.isReal"
+ :gender="userResumeInfo.gender"
+ :personalIdentityContent="userResumeInfo.personalIdentityContent"
+ :educationalBackgroundContent="userResumeInfo.educationalBackgroundContent"
+ :taskCount="userResumeInfo.taskCount"
+ :contactPhoneNumber="userResumeInfo.contactPhoneNumber"
+ :identity="userResumeInfo.identity"
+ :isCollapse="isCollapse"
+ :userId="userId"
+ >
<template #footer>
<PageFooterAction
:icon="IconShare"
@@ -15,7 +28,7 @@
:isFlex="false"
@click="handleAttention"
></PageFooterAction>
- <PageFooterBtn type="primary" @click="toggle">绔嬪嵆鑱旂郴</PageFooterBtn>
+ <PageFooterBtn type="primary" @click="handleContact">绔嬪嵆鑱旂郴</PageFooterBtn>
</template>
</JobDetailContent>
</LoadingLayout>
@@ -25,31 +38,44 @@
<script setup lang="ts">
import Taro from '@tarojs/taro';
import { useQuery } from '@tanstack/vue-query';
-import * as flexWorkerServices from '@12333/services/api/FlexWorker';
+import * as userResumeServices from '@12333/services/apiV2/userResume';
import IconShare from '@/assets/flexJob/icon-share.png';
import IconAttention from '@/assets/flexJob/icon-attention-lg.png';
import IconAttentionActive from '@/assets/flexJob/icon-attention-lg-active.png';
import { useToggle } from 'senin-mini/hooks';
import { Message } from '@12333/utils';
+import { useUserResume } from '@12333/hooks';
+import { useAccessLogin } from '@/hooks';
defineOptions({
name: 'flexJobDetail',
});
const router = Taro.useRouter();
-const taskId = router.params?.id ?? '';
+const userId = router.params?.id ?? '';
-const { isLoading, isError, data: detail, refetch } = useUserResume();
+const { isLoading, isError, userResumeInfo, refetch } = useUserResume({
+ userId,
+});
const { isCollapse, toggle } = useToggle();
+const handleContact = useAccessLogin(async () => {
+ try {
+ if (!isCollapse.value) {
+ await userResumeServices.contactUserResume({ id: userId });
+ toggle();
+ }
+ } catch (error) {}
+});
+
async function handleAttention() {
try {
- let params: API.CollectFlexWorkerResumeInput = {
- flexWorkerId: detail.value?.flexWorkerId,
- userResumeId: detail.value?.userResumeId,
+ let params: API.CollectUserResumeCommand = {
+ id: userId,
+ // isCollected: userResumeInfo.value.i,
};
- let res = await flexWorkerServices.collectFlexWorkerResume(params);
+ let res = await userResumeServices.collectUserResume(params);
if (res) {
Message.success('鏀惰棌鎴愬姛');
}
diff --git a/packages/services/apiV2/typings.d.ts b/packages/services/apiV2/typings.d.ts
index dfb52b9..db45e9b 100644
--- a/packages/services/apiV2/typings.d.ts
+++ b/packages/services/apiV2/typings.d.ts
@@ -1412,6 +1412,9 @@
interface GetCheckReceiveTaskQuery {
/** 浠诲姟Id */
taskInfoId?: string;
+ checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ /** 鏃ユ湡锛圔绔皬绋嬪簭涓撶敤锛� */
+ date?: string;
pageModel?: PagedListQueryPageModel;
}
@@ -1815,9 +1818,9 @@
/** 鏄惁瀹炲悕 */
isReal?: boolean;
/** 鎴戠殑鏀惰棌 */
- collectUsers?: number;
+ collectedUserCount?: number;
/** 鑱旂郴璁板綍 */
- contactRecords?: number;
+ contactedRecordCount?: number;
}
interface GetEnterpriseQueryResult {
@@ -2393,6 +2396,8 @@
releaseStatus?: EnumTaskReleaseStatus;
recommendStatus?: EnumTaskRecommendStatus;
checkReceiveStatus?: EnumTaskCheckReceiveStatus;
+ /** 鏄惁鏀惰棌 */
+ isCollected?: boolean;
pageModel?: PagedListQueryPageModel;
}
@@ -2722,6 +2727,10 @@
ageMax?: number;
/** 璧勬牸璇佷功缂栧彿 */
userCredentials?: string[];
+ /** 鏄惁宸叉敹钘� */
+ isCollected?: boolean;
+ /** 鏄惁宸茶仈绯� */
+ isContacted?: boolean;
pageModel?: PagedListQueryPageModel;
}
@@ -2763,6 +2772,8 @@
workSeniority?: string;
/** 宸ヤ綔缁忛獙 */
workExperience?: string;
+ /** 鍒涘缓鏃堕棿 */
+ createdTime?: string;
}
type GetUserResumeWorkExperienceQuery = Record<string, any>;
diff --git a/packages/utils/common.ts b/packages/utils/common.ts
index bd11db4..238407e 100644
--- a/packages/utils/common.ts
+++ b/packages/utils/common.ts
@@ -131,5 +131,7 @@
return list.filter(Boolean).join(separator);
}
-export const hiddenIDNumberForEnd6 = (realIDNumber: string) =>
+export const hiddenIDNumberForEnd6 = (realIDNumber: string) => {
+ if (!realIDNumber) return '';
realIDNumber.replace(/^(\d+)(.{6})$/, '$1******');
+};
--
Gitblit v1.9.1