registration-info.vue 3.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. <template>
  2. <vxe-modal v-model="dialogVisible" :title="title" show-zoom resize show-footer destroy-on-close transfer @hide="close" :width="width" :z-index="1002">
  3. <template #default>
  4. <div>
  5. <div v-if="info" ref="codeImgRef" style="width: 400px; margin: 0 auto;">
  6. <div class="mb-6 f-w-6 f-s-16 c-333">报名信息</div>
  7. <div class="mb-6">企业名称:{{ info?.company || '-' }}</div>
  8. <div class="mb-6">姓名:{{ info?.name || '-' }}</div>
  9. <div class="mb-6">职务:{{ info?.position || '-' }}</div>
  10. <div class="mb-6">联系电话:{{ info?.contact || '-' }}</div>
  11. <div v-for="item, index in info.questionAnswer" :key="index" class="d-flex" :style="['6', '8', '9', '10'].includes(item.type) ? { 'flex-direction': 'column' } : {}">
  12. <div class="d-flex mb-6">
  13. <div class=" f-s-14" v-if="item.type !== '10' && item.type !== '9'">{{ item.label }}:</div>
  14. </div>
  15. <div class="ov-hd mb-6 f-s-14" v-if="!['5', '6', '8', '9', '10'].includes(item.type)">
  16. {{item?.value || '-' }}
  17. </div>
  18. <div class="ov-hd mb-6 f-s-14" v-if="item.type == '5'">
  19. {{item?.value.join(',') || '-' }}
  20. </div>
  21. <div class="ov-hd mb-6 f-s-14" v-if="item.type == '6'">
  22. <FileLook v-model="item.value" :span="24"></FileLook>
  23. </div>
  24. <div class=" mb-6 f-s-14 d-flex flex-wrap" v-if="item.type == '8'">
  25. <template v-for="(items, index) in item.value" :key="index">
  26. <div class="mr-10 mb-10">
  27. <ImagePreview :src="items" :width="100" :height="100"></ImagePreview>
  28. </div>
  29. </template>
  30. </div>
  31. <!-- <div class="ov-hd mb-6 f-s-14 pt-10 pb-10 d-flex flex-wrap" v-if="item.type == '9'">
  32. <template v-for="(items, index) in item.defValue.split(',')" :key="index">
  33. <div class="mr-10 mb-10">
  34. <ImagePreview :src="items" :width="100" :height="100"></ImagePreview>
  35. </div>
  36. </template>
  37. </div> -->
  38. <!-- <div class="ov-hd mb-6 f-s-14 pt-10 pb-10" v-if="item.type == '10'">
  39. {{ item?.defValue }}
  40. </div> -->
  41. </div>
  42. </div>
  43. </div>
  44. <div class="d-flex j-c"></div>
  45. </template>
  46. </vxe-modal>
  47. </template>
  48. <script setup name="SignInCode" lang="ts">
  49. import { propTypes } from '@/utils/propTypes';
  50. import { FileLook } from '@/views/models';
  51. const emit = defineEmits(['update:show', 'close', 'success']);
  52. const props = defineProps({
  53. show: propTypes.bool.def(false),
  54. title: propTypes.string.def(' '),
  55. width: propTypes.number.def(500),
  56. info: propTypes.any.def(null),
  57. dict: propTypes.object.def({})
  58. });
  59. const dialogVisible = ref(false);
  60. const close = () => {
  61. emit('update:show', false);
  62. emit('close', false);
  63. };
  64. const codeImgRef = ref<HTMLElement | null>(null);
  65. watch(
  66. () => props.show,
  67. (val) => {
  68. dialogVisible.value = val;
  69. },
  70. { immediate: true }
  71. );
  72. </script>