selectResumeDialog.vue 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. <!-- 选择简历 -->
  2. <template>
  3. <Dialog
  4. :visible="show"
  5. :widthType="2"
  6. titleClass="text-h6"
  7. :title="$t('resume.selectResumeToSubmit')"
  8. @close="emit('close')"
  9. @submit="emit('submit', selectResume)"
  10. >
  11. <div v-if="selectLocalFile" class="defaultLink ml-3 mb-3" style="font-size: 15px;" @click="emit('handleLocalFileClick')">{{ $t('resume.selectLocalFile') }}</div>
  12. <v-radio-group v-model="selectResume">
  13. <v-radio v-for="val in list" :key="val.id" :value="val.id" :label="val.title" color="primary"></v-radio>
  14. </v-radio-group>
  15. </Dialog>
  16. </template>
  17. <script setup>
  18. import Dialog from '@/components/CtDialog'
  19. import { watch, computed, ref } from 'vue'
  20. defineOptions({name: 'position-details-selectResumeDialog'})
  21. const props = defineProps({
  22. selectLocalFile: {
  23. type: Boolean,
  24. default: false
  25. },
  26. list: {
  27. type: Array,
  28. default: () => []
  29. },
  30. modelValue: [Boolean, Number]
  31. })
  32. const emit = defineEmits(['update:modelValue', 'handleToUpload', 'submit', 'close', 'handleLocalFileClick'])
  33. const show = computed(() => {
  34. return props.modelValue
  35. })
  36. watch(() => show.value, (newVal) => {
  37. emit('update:modelValue', newVal)
  38. })
  39. const selectResume = ref()
  40. </script>
  41. <style lang="scss" scoped>
  42. </style>