zhengyiming
8 天以前 b267cf72173eb068293832f0c9b16b58e36729e2
src/views/FlexJobManage/components/StaffResumeView.vue
@@ -58,6 +58,36 @@
    <ProFormItemV2 label="个人照片:" prop="photos">
      <ProFormImageUpload v-model:file-url="detail.photos"> </ProFormImageUpload>
    </ProFormItemV2>
    <ProFormItemV2 label="个人视频:" prop="videos">
      <video-player
        v-for="video in detail.videos"
        :key="video.path"
        class="video-player-box"
        playsinline
        :options="{
          aspectRatio: '16:9',
          autoplay: false,
          muted: false,
          language: 'en',
          fluid: false,
          poster: '', // 封面地址
          controls: true,
          controlBar: {
            timeDivider: false, // 当前时间和持续时间的分隔符
            durationDisplay: false, // 显示持续时间
            remainingTimeDisplay: false, // 是否显示剩余时间功能
            fullscreenToggle: true, // 是否显示全屏按钮
          },
          sources: [
            {
              type: 'video/mp4', // 类型
              src: video.url, // url地址
            },
          ],
        }"
        src="/src/assets/boleclound.png"
      />
    </ProFormItemV2>
  </ProForm>
</template>
@@ -77,6 +107,7 @@
import { useQuery } from '@tanstack/vue-query';
import * as userResumeServices from '@/services/api/userResume';
import { convertApi2FormUrl } from '@/utils';
import { VideoPlayer } from '@videojs-player/vue';
defineOptions({
  name: 'StaffResumeView',
@@ -97,6 +128,7 @@
  height: 0,
  weight: 0,
  photos: [] as UploadUserFile[],
  videos: [] as UploadUserFile[],
});
const { isLoading } = useQuery({
@@ -118,6 +150,9 @@
    detail.photos = data.photos
      ? data.photos.map((x) => convertApi2FormUrl(x))
      : ([] as UploadUserFile[]);
    detail.videos = data.videos
      ? data.videos.map((x) => convertApi2FormUrl(x))
      : ([] as UploadUserFile[]);
  },
  enabled: computed(() => !!form.value.id),
});