wupengfei
2025-03-21 1bbd7061dac79cacf5513234a04cac8ba0be5c6f
apps/cMiniApp/src/subpackages/curriculum/mineCurriculumVitae/InnerPage.vue
@@ -8,29 +8,40 @@
      class="mine-curriculum-noticebar"
    />
    <div class="mine-curriculum-info-wrapper">
      <UserAvatar :size="60" class="mine-curriculum-avatar" />
      <Avatar
        :size="60"
        class="mine-curriculum-avatar"
        :src="setOSSLink(detail?.resumeBaseInfo?.avatarUrl ?? '')"
      ></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">
              {{ userStore.userDetail?.userName ?? '' }}
              {{ detail?.resumeBaseInfo?.name ?? '' }}
            </div>
            <div class="mine-curriculum-info-item-gender">
              <div class="mine-curriculum-info-item-gender-dot">·</div>
              <img :src="IconAuth" class="mine-curriculum-info-item-gender-icon" />
              <img
                v-if="detail?.resumeBaseInfo?.genderType === Gender.Male"
                :src="IconMale"
                class="mine-curriculum-info-item-gender-icon"
              />
              <img v-else :src="IconFemale" class="mine-curriculum-info-item-gender-icon" />
            </div>
          </div>
          <IconFont name="rect-right" size="16" color="#6D6E6E" @click="goEditMineInfo"></IconFont>
        </div>
        <div class="mine-curriculum-info-item">
          <div class="mine-curriculum-info-item-left">
            <img :src="IconAuth" class="mine-curriculum-info-item-phone-icon" />
            <img :src="IconPhone" class="mine-curriculum-info-item-phone-icon" />
            <div class="mine-curriculum-info-item-phone">
              {{ userStore.userDetail?.phoneNumber ?? '' }}
              {{ detail?.resumeBaseInfo?.phoneNumber ?? '' }}
            </div>
          </div>
          <div class="mine-curriculum-info-item-detail">
            {{ '26岁 | 非学生 | 本科' }}
            {{
              `${detail?.resumeBaseInfo?.age}岁 | ${detail?.resumeBaseInfo?.socialIdentityName} | ${detail?.resumeBaseInfo?.educationalLevelName}`
            }}
          </div>
        </div>
      </div>
@@ -46,17 +57,23 @@
        </div>
        <MineAgreementSignDetailItem label="期望岗位" class="mine-curriculum-intention-job">
          <template #detail>
            <JobTagList />
            <JobTagList :jobTagList="jobTag" />
          </template>
        </MineAgreementSignDetailItem>
        <MineAgreementSignDetailItem label="空闲时间">
          <template #detail>
            <div class="mine-curriculum-intention-bold">不限</div>
            <div class="mine-curriculum-intention-bold">
              {{ UserResumeFreeTimeEnumText[detail?.resumeExpectationJob?.freeTime] }}
            </div>
          </template>
        </MineAgreementSignDetailItem>
        <MineAgreementSignDetailItem label="求职状态">
          <template #detail>
            <div class="mine-curriculum-intention-bold">积极找工作</div>
            <div class="mine-curriculum-intention-bold">
              {{
                UserResumeJobSeekingStatusEnumText[detail?.resumeExpectationJob?.jobSeekingStatus]
              }}
            </div>
          </template>
        </MineAgreementSignDetailItem>
      </div>
@@ -88,11 +105,23 @@
import { useUserStore } from '@/stores/modules/user';
import { useIsLogin } from '@/hooks';
import MineAgreementSignDetailItem from '../../mine/mineAgreementSignDetail/MineAgreementSignDetailItem.vue';
import { List, ListItem, JobTagList } from '@12333/components';
import { List, ListItem, JobTagList, Avatar } from '@12333/components';
import {
  Gender,
  UserResumeFreeTimeEnumText,
  UserResumeJobSeekingStatusEnumText,
} from '@12333/constants';
import { RouterPath } from '@/constants';
import * as userResumeServices from '@12333/services/api/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, useEventChannel } from 'senin-mini/hooks';
defineOptions({
  name: 'InnerPage',
@@ -100,6 +129,39 @@
const userStore = useUserStore();
const isLogin = useIsLogin();
const router = Taro.useRouter();
const taskId = router.params?.taskId;
const eventChannel = useEventChannel();
useEvent('updateResume', function (data: { content: boolean }) {
  if (data.content) {
    refetch({
      type: 'inactive',
    });
  }
});
const jobTag = computed(
  () => detail?.value?.resumeExpectationJob?.jobIdList?.map((x) => x.name) ?? []
);
const {
  isLoading,
  isError,
  data: detail,
  refetch,
} = useQuery({
  queryKey: ['userResumeServices/getUserResume', taskId],
  queryFn: async () => {
    return await userResumeServices.getUserResume({
      showLoading: false,
    });
  },
  placeholderData: () => ({} as API.MyResumeOutput),
  onSuccess(data) {},
});
function goPage(routeName: string) {
  Taro.navigateTo({
@@ -126,133 +188,153 @@
<style lang="scss">
@import '@/styles/common.scss';
.mine-curriculum-noticebar {
  .nut-noticebar__page {
    padding: 0;
  }
}
.mine-curriculum-info-wrapper {
  padding: 24px 0 60px;
  display: flex;
  .mine-curriculum-avatar {
    margin-right: 24px;
.mineCurriculumVitae-page-wrapper {
  .mine-curriculum-noticebar {
    .nut-noticebar__page {
      padding: 0;
    }
  }
  .mine-curriculum-info-content {
  .mine-curriculum-info-wrapper {
    padding: 24px 0 60px;
    display: flex;
    flex-direction: column;
    padding: 12px 0;
    justify-content: space-between;
    flex: 1;
    min-width: 0;
    .mine-curriculum-info-item {
    .mine-curriculum-avatar {
      margin-right: 24px;
    }
    .mine-curriculum-info-content {
      display: flex;
      align-items: center;
      flex-direction: column;
      padding: 12px 0;
      justify-content: space-between;
      flex: 1;
      min-width: 0;
      .mine-curriculum-info-item-left {
        display: inline-flex;
      .mine-curriculum-info-item {
        display: flex;
        align-items: center;
        justify-content: space-between;
        .mine-curriculum-info-item-name {
          font-size: 32px;
        .mine-curriculum-info-item-left {
          display: inline-flex;
          align-items: center;
          .mine-curriculum-info-item-name {
            font-size: 32px;
            line-height: 40px;
            font-weight: 600;
            color: boleGetCssVar('text-color', 'primary');
          }
          .mine-curriculum-info-item-gender {
            display: inline-flex;
            align-items: center;
            .mine-curriculum-info-item-gender-dot {
              margin: 0 8px;
              line-height: 40px;
            }
            .mine-curriculum-info-item-gender-icon {
              width: 28px;
              height: 28px;
            }
          }
          .mine-curriculum-info-item-phone {
            font-size: 28px;
            line-height: 40px;
            font-weight: 400;
            color: boleGetCssVar('text-color', 'primary');
          }
          .mine-curriculum-info-item-phone-icon {
            width: 40px;
            height: 40px;
          }
        }
        .mine-curriculum-info-item-detail {
          font-size: 24px;
          line-height: 40px;
          color: boleGetCssVar('text-color', 'primary');
        }
      }
    }
  }
  .mine-curriculum-intention {
    padding: 30px 0;
    border-radius: 12px;
    .mine-curriculum-intention-content {
      padding: 0 boleGetCssVar('size', 'body-padding-h') 40px;
      border-bottom: 1px solid #f6f6f6;
      .mine-curriculum-intention-title {
        display: flex;
        justify-content: space-between;
        align-items: center;
        margin-bottom: 40px;
        .mine-curriculum-intention-title-text {
          font-size: 32px;
          font-weight: 600;
          color: boleGetCssVar('text-color', 'primary');
        }
        .mine-curriculum-info-item-gender {
        .mine-curriculum-intention-title-edit {
          display: inline-flex;
          align-items: center;
          font-size: 22px;
          color: boleGetCssVar('text-color', 'regular');
          .mine-curriculum-info-item-gender-dot {
            margin: 0 8px;
            line-height: 40px;
          .mine-curriculum-intention-title-edit-icon {
            width: 32px;
            height: 32px;
          }
          .mine-curriculum-info-item-gender-icon {
            width: 36px;
            height: 36px;
          }
        }
        .mine-curriculum-info-item-phone {
          font-size: 28px;
          line-height: 40px;
          font-weight: 400;
          color: boleGetCssVar('text-color', 'primary');
        }
        .mine-curriculum-info-item-phone-icon {
          width: 24px;
          height: 24px;
        }
      }
      .mine-curriculum-info-item-detail {
        font-size: 24px;
        line-height: 40px;
        color: boleGetCssVar('text-color', 'primary');
      .mine-curriculum-intention-job {
        align-items: flex-start;
        .mine-curriculum-intention-job-content {
          display: inline-flex;
          flex-wrap: wrap;
          .mine-curriculum-intention-job-item {
            font-size: 20px;
            color: boleGetCssVar('color', 'primary');
            padding: 6px 16px;
            background-color: #edf2ff;
            border-radius: 4px;
            display: inline-flex;
            align-items: center;
            justify-content: center;
            margin-right: 16px;
            margin-bottom: 14px;
          }
        }
      }
    }
  }
}
.mine-curriculum-intention {
  padding: 30px 0;
  border-radius: 12px;
  .mine-curriculum-intention-content {
    padding: 0 boleGetCssVar('size', 'body-padding-h') 40px;
    border-bottom: 1px solid #f6f6f6;
    .mine-curriculum-intention-title {
      display: flex;
      justify-content: space-between;
      align-items: center;
      margin-bottom: 40px;
      .mine-curriculum-intention-title-text {
        font-size: 32px;
      .mine-curriculum-intention-bold {
        font-weight: 600;
        font-size: 28px;
        color: boleGetCssVar('text-color', 'primary');
      }
    }
      .mine-curriculum-intention-title-edit {
        display: inline-flex;
        align-items: center;
        font-size: 22px;
        color: boleGetCssVar('text-color', 'regular');
    .mine-curriculum-intention-enit-btn {
      font-size: 22px;
      color: boleGetCssVar('text-color', 'regular');
    }
        .mine-curriculum-intention-title-edit-icon {
          width: 32px;
          height: 32px;
        }
    .mine-curriculum-intention-detail {
      .pro-list-item-inner {
        border-bottom: none;
      }
    }
    .mine-curriculum-intention-job {
      align-items: flex-start;
    }
    .mine-curriculum-intention-bold {
      font-weight: 600;
      font-size: 28px;
      color: boleGetCssVar('text-color', 'primary');
    }
  }
  .mine-curriculum-intention-enit-btn {
    font-size: 22px;
    color: boleGetCssVar('text-color', 'regular');
  }
  .mine-curriculum-intention-detail {
    .pro-list-item-inner {
      border-bottom: none;
    }
  }
}