zhengyiming
4 天以前 fc1722c88aab8ca973e4301c942e269623253658
fix: 修改简历
4个文件已修改
84 ■■■■■ 已修改文件
apps/cMiniApp/.eslintrc-auto-import.json 3 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/auto-imports.d.ts 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/hooks/user.ts 25 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue 54 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
apps/cMiniApp/.eslintrc-auto-import.json
@@ -108,6 +108,7 @@
    "useMyCertificationAuditInfo": true,
    "useSwitchTab": true,
    "useTaskList": true,
    "useUser": true
    "useUser": true,
    "useUserResume": true
  }
}
apps/cMiniApp/auto-imports.d.ts
@@ -92,6 +92,7 @@
  const useSwitchTab: typeof import('./src/hooks/router')['useSwitchTab']
  const useTemplateRef: typeof import('vue')['useTemplateRef']
  const useUser: typeof import('./src/hooks/user')['useUser']
  const useUserResume: typeof import('./src/hooks/user')['useUserResume']
  const watch: typeof import('vue')['watch']
  const watchEffect: typeof import('vue')['watchEffect']
  const watchPostEffect: typeof import('vue')['watchPostEffect']
@@ -203,6 +204,7 @@
    readonly useSwitchTab: UnwrapRef<typeof import('./src/hooks/router')['useSwitchTab']>
    readonly useTemplateRef: UnwrapRef<typeof import('vue')['useTemplateRef']>
    readonly useUser: UnwrapRef<typeof import('./src/hooks/user')['useUser']>
    readonly useUserResume: UnwrapRef<typeof import('./src/hooks/user')['useUserResume']>
    readonly watch: UnwrapRef<typeof import('vue')['watch']>
    readonly watchEffect: UnwrapRef<typeof import('vue')['watchEffect']>
    readonly watchPostEffect: UnwrapRef<typeof import('vue')['watchPostEffect']>
apps/cMiniApp/src/hooks/user.ts
@@ -2,10 +2,10 @@
import Taro from '@tarojs/taro';
import { object2query, LocationUtils } from '@12333/utils';
import { ParkOrHRStatus, UserCertificationFrontStatus } from '@12333/constants';
import * as userServices from '@12333/services/api/User';
import { useQuery } from '@tanstack/vue-query';
import { MaybeRef } from 'vue';
import { useRefeshDidShow } from '@12333/hooks/infiniteLoading';
import * as userResumeServices from '@12333/services/apiV2/userResume';
export function useUser() {
  const userStore = useUserStore();
@@ -94,3 +94,26 @@
    goLoginFn,
  };
}
export function useUserResume() {
  const { userId } = useUser();
  const { data, refetch } = useQuery({
    queryKey: ['userResumeServices/getUserResume', userId],
    queryFn: async () => {
      return await userResumeServices.getUserResume(
        { userId: userId.value },
        {
          showLoading: false,
        }
      );
    },
    placeholderData: () => ({} as API.GetUserResumeQueryResult),
    enabled: computed(() => !!userId.value),
  });
  return {
    userResumeInfo: data,
    refetch,
  };
}
apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue
@@ -1,7 +1,7 @@
<template>
  <ContentView>
    <nut-noticebar
      :text="`个人简历已完善${detail?.completeRate ?? 0},完善简历可提升录用率`"
      :text="`个人简历已完善${userResumeInfo?.completeRate ?? 0},完善简历可提升录用率`"
      :left-icon="false"
      background="transparent"
      close-mode
@@ -11,18 +11,18 @@
      <Avatar
        :size="60"
        class="mine-curriculum-avatar"
        :src="setOSSLink(detail?.avatar ?? '')"
        :src="setOSSLink(userResumeInfo?.avatar ?? '')"
      ></Avatar>
      <div class="mine-curriculum-info-content">
        <div class="mine-curriculum-info-item">
          <div class="mine-curriculum-info-item-left">
            <div class="mine-curriculum-info-item-name">
              {{ detail?.name ?? '' }}
              {{ userResumeInfo?.name ?? '' }}
            </div>
            <div class="mine-curriculum-info-item-gender">
              <div class="mine-curriculum-info-item-gender-dot">·</div>
              <img
                v-if="detail?.gender === EnumUserGender.Male"
                v-if="userResumeInfo?.gender === EnumUserGender.Male"
                :src="IconMale"
                class="mine-curriculum-info-item-gender-icon"
              />
@@ -35,16 +35,20 @@
          <div class="mine-curriculum-info-item-left">
            <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" />
            <div class="mine-curriculum-info-item-phone">
              {{ detail?.contactPhoneNumber ?? '' }}
              {{ userResumeInfo?.contactPhoneNumber ?? '' }}
            </div>
          </div>
          <div class="mine-curriculum-info-item-detail">
            {{
              `${detail?.age ? `${detail?.age}岁` : ''}
              ${detail?.personalIdentityContent ? `| ${detail?.personalIdentityContent}` : ''}
              `${userResumeInfo?.age ? `${userResumeInfo?.age}岁` : ''}
              ${
                userResumeInfo?.personalIdentityContent
                  ? `| ${userResumeInfo?.personalIdentityContent}`
                  : ''
              }
                ${
                  detail?.educationalBackgroundContent
                    ? `| ${detail?.educationalBackgroundContent}`
                  userResumeInfo?.educationalBackgroundContent
                    ? `| ${userResumeInfo?.educationalBackgroundContent}`
                    : ''
                }`
            }}
@@ -69,14 +73,14 @@
        <MineAgreementSignDetailItem label="空闲时间">
          <template #detail>
            <div class="mine-curriculum-intention-bold">
              {{ EnumPersonalFreeTimeText[detail?.freeTime] }}
              {{ EnumPersonalFreeTimeText[userResumeInfo?.freeTime] }}
            </div>
          </template>
        </MineAgreementSignDetailItem>
        <MineAgreementSignDetailItem label="求职状态">
          <template #detail>
            <div class="mine-curriculum-intention-bold">
              {{ EnumPersonalJobSeekingStatusText[detail?.jobSeekingStatus] }}
              {{ EnumPersonalJobSeekingStatusText[userResumeInfo?.jobSeekingStatus] }}
            </div>
          </template>
        </MineAgreementSignDetailItem>
@@ -106,7 +110,6 @@
</template>
<script setup lang="ts">
import { useUserStore } from '@/stores/modules/user';
import MineAgreementSignDetailItem from '../../mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue';
import { List, ListItem, JobTagList, Avatar } from '@12333/components';
import {
@@ -115,22 +118,18 @@
  EnumPersonalJobSeekingStatusText,
} from '@12333/constants';
import { RouterPath } from '@/constants';
import * as userResumeServices from '@12333/services/apiV2/userResume';
import IconArrow from '@/assets/setting/icon-arrow.png';
import IconAuth from '@/assets/mine/icon-auth.png';
import IconMale from '@/assets/mine/icon-male.png';
import IconFemale from '@/assets/mine/icon-female.png';
import IconPhone from '@/assets/mine/icon-phone.png';
import Taro from '@tarojs/taro';
import { useQuery } from '@tanstack/vue-query';
import { setOSSLink } from '@12333/utils';
import { useEvent } from 'senin-mini/hooks';
defineOptions({
  name: 'InnerPage',
});
const { userId } = useUser();
useEvent('updateResume', function (data: { content: boolean }) {
  if (data.content) {
@@ -140,26 +139,11 @@
  }
});
const jobTag = computed(() => detail?.value?.userExpectJobs?.map((x) => x.expectJobContent) ?? []);
const jobTag = computed(
  () => userResumeInfo?.value?.userExpectJobs?.map((x) => x.expectJobContent) ?? []
);
const {
  isLoading,
  isError,
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['userResumeServices/getUserResume', userId],
  queryFn: async () => {
    return await userResumeServices.getUserResume(
      { userId: userId.value },
      {
        showLoading: false,
      }
    );
  },
  placeholderData: () => ({} as API.GetUserResumeQueryResult),
  enabled: computed(() => !!userId.value),
});
const { userResumeInfo, refetch } = useUserResume();
function goPage(routeName: string) {
  Taro.navigateTo({