This commit is contained in:
zhaoxiao
2021-09-24 08:55:10 +08:00
5 changed files with 377 additions and 11 deletions
+13 -1
View File
@@ -1,12 +1,17 @@
<template>
<!-- 父组件的文件id如果是异步获取的 需要加上v-if判断-->
<div style="display: inline-block"> <span @click="handlePreview(item)" class="color-blue" v-for="(item) of fileList" :key="item.id">{{ item.name +' ' }}</span></div>
<div style="display: inline-block">
<span v-for="(item) of fileList" :key="item.id">{{ item.name +' ' }}
<span class="m-l-4 color-blue" @click="handleDownLoad(item)">下载</span> <span class="m-l-4 color-blue" @click="handlePreview(item)">查看</span>
</span>
</div>
</template>
<script>
import Vue from 'vue'
import {ACCESS_TOKEN} from '@/store/mutation-types'
import {getFileInfo} from '@/api/api'
import {downloadFile} from '@api/manage'
// eslint-disable-next-line
const Base64 = require('js-base64').Base64
@@ -72,6 +77,10 @@ export default {
this.fileList = []
}
},
handleDownLoad(file){
console.log(file)
downloadFile(`sys/common/download/${file.id}`, file.name)
},
handlePreview(file) {
if (file && file.id) {
const fileFullUrl = `${window._CONFIG['domianWebSocketURL']}/sys/common/download/${file.id}?token=${Vue.ls.get(ACCESS_TOKEN)}&fullfilename=${file.name}`
@@ -89,4 +98,7 @@ export default {
color: #069f99 !important;
cursor: pointer;
}
.m-l-4 {
margin-left: 4px;
}
</style>
@@ -81,9 +81,9 @@
<label>签到二维码</label><img class="qr-code" :src="signInQRCode" alt="签到二维码"/>
<!-- <i class="copy primary-color" @click="copy(signUpHerfUrl)">复制</i>-->
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<a-col :xxl="8" :xl="12" :sm="24" style="display:flex;">
<label>收款二维码</label>
<j-image-upload :return-id="true" v-show="currentMeetingInfo.QRCode"></j-image-upload>
<j-image-upload :return-id="true" v-if="currentMeetingInfo.paymentQrCode" v-model="currentMeetingInfo.paymentQrCode" disabled></j-image-upload>
</a-col>
</a-row>
<a-row v-show="currentMeetingInfo.meetingType === '2' ">
@@ -626,7 +626,7 @@ export default {
toSignUpDetail(record){
this.$router.push({
path:'/incomePayments/meetManage/SignUpInfoDetail',
query:{meetingId:record.meetingid}
query:{id:record.id, meetingType: this.currentMeetingInfo.meetingType,}
})
},
/*
@@ -0,0 +1,346 @@
<template>
<div>
<page-header-title :is-level-one="false" level-two-title="报名详情"></page-header-title>
<a-card :bordered="false">
<!--个人信息begin-->
<template>
<div class="item-title">个人信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">参会企业</label><span>{{ model.companyName }}</span>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">姓名</label><span>{{ model.companyContactName }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">手机号</label><span>{{ model.phone }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">身份</label><span>{{ model.identity_dictText }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="!!model.guestType">
<label class="label">嘉宾类型</label><span>{{ initGuestType(model.guestType) }}</span>
</a-col>
</a-row>
</template>
<!--个人信息end-->
<!-- 不是国际研讨会的 -->
<div v-if="meetingType !== '3' ">
<!--行程信息begin-->
<template>
<div class="item-title">行程信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否住酒店</label><span>{{ model.checkInHotel_dictText }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">抵达时间</label><span>{{ model.arrivalTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离开时间</label><span>{{ model.departureTime }}</span>
</a-col>
</a-row>
</template>
<!--行程信息end-->
<!--缴费信息begin-->
<template>
<div class="item-title">缴费信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">缴费方式</label><span>{{ model.payMode_dictText }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">需要发票</label><span>{{ model.needInvoice_dictText }}</span>
</a-col>
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
<!-- <label class="label">缴费凭证</label><j-image-upload :return-id="true" v-model="model.photo " disabled></j-image-upload> -->
<!-- </a-col>-->
</a-row>
</template>
<!--缴费信息end-->
<!--邮寄信息begin-->
<template>
<div class="item-title">邮寄信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">邮寄联系人</label><span>{{ model.postContactName }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">地址</label><span>{{ model.postContactAddress }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">邮编</label><span>{{ model.postCode }}</span>
</a-col>
</a-row>
</template>
<!--邮寄信息end-->
</div>
<!-- 国际研讨会的参会人与内部企业-->
<div v-if="meetingType === '3' && (model.identity === 2 || model.identity === 3) ">
<!--行程信息begin-->
<template>
<div class="item-title">行程信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否住酒店</label><span>{{ model.checkInHotel_dictText }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">抵达时间</label><span>{{ model.arrivalTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离开时间</label><span>{{ model.departureTime }}</span>
</a-col>
</a-row>
</template>
<!--行程信息end-->
<!--缴费信息begin-->
<template>
<div class="item-title">缴费信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">缴费方式</label><span>{{ model.payMode_dictText }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">需要发票</label><span>{{ model.needInvoice_dictText }}</span>
</a-col>
<!-- <a-col :xxl="8" :xl="12" :sm="24">-->
<!-- <label class="label">缴费凭证</label><j-image-upload :return-id="true" v-model="model.photo " disabled></j-image-upload> -->
<!-- </a-col>-->
</a-row>
</template>
<!--缴费信息end-->
<!--邮寄信息begin-->
<template>
<div class="item-title">邮寄信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">邮寄联系人</label><span>{{ model.postContactName }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">地址</label><span>{{ model.postContactAddress }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">邮编</label><span>{{ model.postCode }}</span>
</a-col>
</a-row>
</template>
<!--邮寄信息end-->
</div>
<!--国际研讨会选择嘉宾身份-->
<div v-if="meetingType === '3' && model.identity === 1 && model.guestType !== 4 ">
<!--演讲信息begin-->
<template v-if="model.guestType !== 3">
<div class="item-title">演讲信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">演讲题目</label><span>{{ model.speechTopic }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">演讲PPT</label> <preview-file v-if="model.speechPpt" :file-id="model.speechPpt"></preview-file>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" style="display: flex" >
<label class="label">照片</label><span><j-image-upload v-if="model.photo" :return-id="true" v-model="model.photo " disabled></j-image-upload></span>
</a-col>
</a-row>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">个人简介</label><span>{{ model.profile }}</span>
</a-col>
</a-row>
</template>
<!--演讲信息end-->
<!--用餐信息begin-->
<template>
<div class="item-title">用餐信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否用餐</label><span>{{ model.haveMeals_dictText }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24" v-if="model.haveMeals === 1">
<label class="label">是否回民</label><span>{{ model.huiPeople_dictText }}</span>
</a-col>
</a-row>
</template>
<!--用餐信息end-->
<!--住店信息begin-->
<template v-if="model.guestType !== 3">
<div class="item-title">住店信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否住酒店</label><span>{{ model.checkInHotel_dictText }}</span>
</a-col>
<div v-if="model.checkInHotel === 1">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">入住酒店时间</label><span>{{ model.inHotelTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离店时间</label><span>{{ model.outHotelTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">房型</label><span>{{ model.roomLayout }}</span>
</a-col>
</div>
</a-row>
</template>
<!--住店信息end-->
<!--行程信息begin-->
<template>
<div class="item-title">行程信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否需要接站</label><span>{{ model.pickUp_dictText }}</span>
</a-col>
<div v-if="model.pickUp === 1">
<a-col :xxl="8" :xl="12" :sm="24" >
<label class="label">抵达时间</label><span>{{ model.arrivalTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">到达站</label><span>{{ model.destination }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">到达班次</label><span>{{ model.arrivalShift }}</span>
</a-col>
</div>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">是否需要送站</label><span>{{ model.deliveryStation_dictText }}</span>
</a-col>
<div v-if="model.deliveryStation === 1">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离开时间</label><span>{{ model.departureTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离开站</label><span>{{ model.departureStation }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离开班次</label><span>{{ model.departureShift }}</span>
</a-col>
</div>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">同行人</label><span>{{ model.peer }}</span>
</a-col>
</a-row>
<a-row :gutter="24" v-if="model.guestType !== 3">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">备注</label><span>{{ model.remark }}</span>
</a-col>
</a-row>
</template>
<!--行程信息end-->
</div>
<!--合作伙伴行程信息-->
<!--合作伙伴行程信息begin-->
<template v-if="model.guestType === 4 && meetingType === '3' ">
<div class="item-title">合作伙伴行程信息</div>
<a-row :gutter="24">
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">抵达时间</label><span>{{ model.arrivalTime }}</span>
</a-col>
<a-col :xxl="8" :xl="12" :sm="24">
<label class="label">离开时间</label><span>{{ model.departureTime }}</span>
</a-col>
</a-row>
</template>
<!--合作伙伴行程信息end-->
</a-card>
</div>
</template>
<script>
import PageHeaderTitle from '@comp/layouts/PageHeaderTitle'
import {getSingUpUserInfo} from '@api/incomeMeetingApi'
import JImageUpload from '@comp/jero/JImageUpload'
import PreviewFile from '@comp/jero/PreviewFile'
export default {
name: 'SignUpInfoDetail',
components: {
PageHeaderTitle,
JImageUpload,
PreviewFile
},
created() {
let id = this.$route.query.id ? this.$route.query.id : undefined
this.meetingType = this.$route.query.meetingType ? this.$route.query.meetingType : undefined
// 通过id获取参会人详情
getSingUpUserInfo({id}).then(res => {
if (res.success) {
this.model = res.result
console.log(this.model)
}
})
},
data() {
return {
model: {}, // 会议信息
meetingType: '' // 会议类型
}
},
methods: {
initGuestType(val) {
switch (val) {
case 1:
return 'VIP'
case 2:
return '演讲嘉宾'
case 3:
return '特邀嘉宾'
case 4:
return '合作伙伴'
}
}
}
}
</script>
<style scoped lang="less">
@import '~@assets/less/common.less';
.ant-row {
line-height: 3;
.ant-col {
label {
color: #999;
}
span {
color: black;
}
}
}
.item-title {
padding-left: 40px;
box-sizing: border-box;
height: 46px;
line-height: 46px;
color: #333;
position: relative;
font-size: 16px;
&::before {
position: absolute;
content: "";
width: 10px;
height: 10px;
border-radius: 50%;
background: #069f99;
top: 50%;
margin-top: -5px;
left: 15px;
}
}
</style>
+6 -2
View File
@@ -58,9 +58,9 @@
<label>报名截止时间</label>
<span>{{ currentMeetingInfo.registerDeadline }}</span>
</a-col>
<a-col :span="12">
<a-col :span="12" style="display: flex">
<label>附件</label>
<span>{{ currentMeetingInfo.meetingFiles }}</span>
<preview-file :file-id="currentMeetingInfo.meetingFiles" v-if="currentMeetingInfo.meetingFiles"></preview-file>
</a-col>
</a-row>
<a-row>
@@ -78,11 +78,15 @@
</template>
<script>
import PreviewFile from '@comp/jero/PreviewFile'
import {createQcCode} from '@api/incomeMeetingApi'
import {getMeetInfoById} from '@api/incomeMeetingApi'
export default {
name: 'SignUpEntrance',
components:{
PreviewFile
},
data() {
return {
description: '报名入口',
+9 -5
View File
@@ -68,14 +68,14 @@
<label>报名截止时间</label>
<span>{{ currentMeetingInfo.registerDeadline }}</span>
</a-col>
<a-col :span="12">
<a-col :span="12" style="display: flex">
<label>会议通知</label>
<span>{{ currentMeetingInfo.meetingFiles }}</span>
<preview-file :file-id="currentMeetingInfo.meetingFiles" v-if="currentMeetingInfo.meetingFiles"></preview-file>
</a-col>
</a-row>
<a-row>
<a-row type="flex">
<label>收费二维码</label>
<img :src="singUpQRCode" class="qr-code"/>
<j-image-upload :return-id="true" v-if="currentMeetingInfo.paymentQrCode" v-model="currentMeetingInfo.paymentQrCode" disabled></j-image-upload>
</a-row>
<a-row>
<a-col :span="24">
@@ -243,6 +243,8 @@ import AddMeetingCompany from '@comp/company/AddMeetingCompany'
import {httpAction} from '@api/manage'
import {getContactsById} from '@api/api'
import pick from 'lodash.pick'
import PreviewFile from '@comp/jero/PreviewFile'
import JImageUpload from '@comp/jero/JImageUpload'
export default {
name: 'SignUpPage',
@@ -252,7 +254,9 @@ export default {
// JDictSelectTag,
OtherMeetingForm,
SeminarVipForm,
AddMeetingCompany
AddMeetingCompany,
PreviewFile,
JImageUpload
},
data() {
return {