1037 lines
35 KiB
Vue
1037 lines
35 KiB
Vue
<template>
|
||
<j-modal
|
||
:title="title"
|
||
:width="width"
|
||
:visible="visible"
|
||
switchFullscreen
|
||
fullscreen
|
||
@cancel="handleCancel"
|
||
cancelText="关闭">
|
||
<a-spin :spinning="situationInfoLoading">
|
||
<!--会议信息begin-->
|
||
<section class="base-info">
|
||
<h3 class="title">会议信息</h3>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>会议名称:</label>
|
||
<span><j-ellipsis :value="model.meetingName" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>会议类型:</label>
|
||
<span><j-ellipsis :value="generateMeetingType(model.meetingType)" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>召开时间:</label>
|
||
<span>{{ model.startTime + '~' + model.endTime }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>年份:</label>
|
||
<span><j-ellipsis :value="model.particularYear" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>召开地点:</label>
|
||
<span><j-ellipsis :value="model.venue + '/' + model.address"></j-ellipsis></span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>负责人:</label>
|
||
<span><j-ellipsis :value="model.directorName" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>酒店名称:</label><span>{{ model.hotelName }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>酒店地址:</label><span>{{ model.hotelAddress }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col>
|
||
<label class="label">酒店联系人及手机号:</label>
|
||
<span class="content"
|
||
v-for="(item,index) of model.hotelContactsList"
|
||
:key="index">
|
||
{{ item.hotelContacts + ':' + item.hotelContactsPhone + ' ' }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>报名截止时间:</label>
|
||
<span><j-ellipsis :value="model.registerDeadline" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>会议通知:</label>
|
||
<span style="width: 100%;">
|
||
<preview-file style="width: 80%" :file-id="model.meetingFiles"></preview-file>
|
||
</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>会议费用:</label>
|
||
<span>{{ model.meetingCosts }} 元/人</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="model.meetingType === '2' ">
|
||
<label>会议费用(标协会员):</label>
|
||
<span>{{ model.meetingCostsVip }} 元/人</span>
|
||
</a-col>
|
||
<a-col :span="12" v-if="model.paymentQrCode && model.meetingType !== '2'">
|
||
<label>收费二维码:</label>
|
||
<span>
|
||
<img :src="paymentQrCodeSrc" alt="nothing show" class="payment-qrcode-img" />
|
||
</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-if="model.paymentQrCode && model.meetingType === '2'">
|
||
<a-col :span="24">
|
||
<label>收费二维码:</label>
|
||
<span>
|
||
<img :src="paymentQrCodeSrc" alt="nothing show" class="payment-qrcode-img" />
|
||
</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="24">
|
||
<label>会议内容:</label>
|
||
<span><j-ellipsis :value="model.meetingContent" :length="100"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
</section>
|
||
<!--会议信息end-->
|
||
<!--开票邮寄信息begin-->
|
||
<section class="logistics-info">
|
||
<h3 class="title">开票邮寄信息</h3>
|
||
<div>
|
||
<span class="collapse-span color-blue"
|
||
@click="showMoreInfo = !showMoreInfo">{{ showMoreInfo ? '收起' : '查看' }}</span>
|
||
</div>
|
||
<div class="wrap-table" :class="{'hide': !showMoreInfo}">
|
||
<a-table
|
||
ref="table"
|
||
size="middle"
|
||
rowKey="id"
|
||
:scroll="{x:true}"
|
||
:pagination="false"
|
||
:columns="columns"
|
||
:dataSource="logisticsInfoList"
|
||
class="j-table-force-nowrap"
|
||
:class="{'hide': !showMoreInfo}"
|
||
>
|
||
<span slot="action" slot-scope="record" class="action-span-cell">
|
||
<a @click="lookLogistics(record)" v-if="record.postStatus === 1">查看物流</a>
|
||
</span>
|
||
<!-- <p slot="expandedRowRender" slot-scope="record" style="margin: 0">-->
|
||
<!-- {{ record.sendDate }}-->
|
||
<!-- </p>-->
|
||
</a-table>
|
||
</div>
|
||
</section>
|
||
<!--开票邮寄信息end-->
|
||
|
||
<!--报名信息begin-->
|
||
|
||
<!-- 除开国际研讨会嘉宾身份个人信息的显示 -->
|
||
<section class="base-info" v-if="!(model.meetingType === 3 && situationInfo.identity === 1 )">
|
||
<h3 class="title">报名信息</h3>
|
||
<template v-if="Object.keys(situationInfo).length > 0">
|
||
<section>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>参会单位:</label>
|
||
<span><j-ellipsis :value="situationInfo.companyName" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>参会人:</label>
|
||
<span><j-ellipsis :value="situationInfo.companyContactName" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>身份:</label>
|
||
<span><j-ellipsis :value="situationInfo.identity_dictText" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>手机号:</label>
|
||
<span><j-ellipsis :value="situationInfo.phone" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- 行程信息 -->
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.checkInHotel_dictText">
|
||
<label>是否住酒店:</label>
|
||
<span>{{ situationInfo.checkInHotel_dictText }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-if=" (situationInfo.arrivalTime || situationInfo.departureTime)">
|
||
<a-col :span="12" v-show="situationInfo.arrivalTime">
|
||
<label>抵达时间:</label>
|
||
<span>{{ situationInfo.arrivalTime }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.departureTime">
|
||
<label>离开时间:</label>
|
||
<span> {{ situationInfo.departureTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- 只有参会人才会显示 会议费用为 0 不显示 -->
|
||
<a-row :gutter="24" class="flex-col"
|
||
v-show="situationInfo.identity === 2 && model.meetingCosts !== '0.00' ">
|
||
<a-col :span="12">
|
||
<label>付款方式:</label>
|
||
<span><j-ellipsis :value="situationInfo.payMode_dictText" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
<!-- 缴费方式为打包不显示-->
|
||
<a-col :span="12" v-show="situationInfo.payMode !== 3">
|
||
<label>需要发票:</label>
|
||
<span><j-ellipsis :value="situationInfo.needInvoice_dictText" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- 缴费方式为打包时候 不需要发票 不显示 会议费用为 0 不显示 -->
|
||
<a-row :gutter="24"
|
||
v-if=" situationInfo.needInvoice !== 0 && situationInfo.identity === 2 && model.meetingCosts !== '0.00' "
|
||
class="flex-col">
|
||
<a-col :span="12">
|
||
<label>发票邮寄地址:</label>
|
||
<span><j-ellipsis :value="situationInfo.postContactAddress" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>邮编:</label>
|
||
<span><j-ellipsis :value="situationInfo.postCode" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
</section>
|
||
</template>
|
||
<template>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<!-- /*
|
||
* 1、判断当前会议是否需要缴费,通过会议详情中的 meetingCosts 字段判断,如果是‘0.00’则是不需要花钱的
|
||
* 2、报名详情中的 registerProcess 代表报名状态,类型是 1-15 对应需求文档中的不同状态
|
||
* */ -->
|
||
<a-col :span="12">
|
||
<label>报名状态:</label>
|
||
<span>
|
||
<sign-step :register-process="Number(situationInfo.registerProcess)"
|
||
:need-costs="model.meetingCosts !== '0.00'"></sign-step>
|
||
</span>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- <div>-->
|
||
<!-- <a-button type="primary" @click="goSignUpPage">报名</a-button>-->
|
||
<!-- </div>-->
|
||
</template>
|
||
</section>
|
||
<!-- 国际研讨会嘉宾身份个人信息的显示 -->
|
||
<section class="base-info" v-else>
|
||
<h3 class="title">报名信息</h3>
|
||
<template v-if="Object.keys(situationInfo).length > 0">
|
||
<section>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>参会单位:</label>
|
||
<span><j-ellipsis :value="situationInfo.companyName" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>参会人:</label>
|
||
<span><j-ellipsis :value="situationInfo.companyContactName" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>身份:</label>
|
||
<span><j-ellipsis :value="situationInfo.identity_dictText" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>手机号:</label>
|
||
<span><j-ellipsis :value="situationInfo.phone" :length="20"></j-ellipsis></span>
|
||
</a-col>
|
||
</a-row>
|
||
|
||
<!--vip身份显示-->
|
||
<section v-show="situationInfo.guestType == 1 ">
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.speechTopic">
|
||
<label>演讲题目:</label>
|
||
<span>{{ situationInfo.speechTopic }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.speechPpt">
|
||
<label>演讲ppt:</label>
|
||
<span style="width: 100%;"><preview-file style="width: 80%"
|
||
:file-id="situationInfo.speechPpt"></preview-file></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.photo">
|
||
<label>照片:</label>
|
||
<span><j-image-upload v-if="situationInfo.photo" :return-id="true" v-model="situationInfo.photo"
|
||
disabled></j-image-upload></span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.profile">
|
||
<label>个人简介:</label>
|
||
<span>{{ situationInfo.profile }}</span>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否用餐:</label>
|
||
<span>{{ situationInfo.haveMeals_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.haveMeals === 1">
|
||
<label>是否回民:</label>
|
||
<span> {{ situationInfo.huiPeople_dictText }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否住酒店:</label>
|
||
<span>{{ situationInfo.checkInHotel_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.checkInHotel === 1">
|
||
<label>入住酒店时间:</label>
|
||
<span> {{ situationInfo.inHotelTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.checkInHotel === 1">
|
||
<a-col :span="12">
|
||
<label>离店时间:</label>
|
||
<span>{{ situationInfo.outHotelTime }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>房型:</label>
|
||
<span> {{ situationInfo.roomLayout }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否需要接站:</label>
|
||
<span>{{ situationInfo.pickUp_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.pickUp === 1">
|
||
<label>抵达时间:</label>
|
||
<span> {{ situationInfo.arrivalTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.pickUp === 1">
|
||
<a-col :span="12">
|
||
<label>到达站:</label>
|
||
<span>{{ situationInfo.destination }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>到达班次:</label>
|
||
<span> {{ situationInfo.arrivalShift }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否需要送站:</label>
|
||
<span>{{ situationInfo.deliveryStation_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.deliveryStation === 1">
|
||
<label>离开时间:</label>
|
||
<span> {{ situationInfo.departureTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.deliveryStation === 1">
|
||
<a-col :span="12">
|
||
<label>离开站:</label>
|
||
<span>{{ situationInfo.departureStation }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>离开班次:</label>
|
||
<span> {{ situationInfo.departureShift }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.peer">
|
||
<label>同行人:</label>
|
||
<span>{{ situationInfo.peer }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.remark">
|
||
<label>备注:</label>
|
||
<span> {{ situationInfo.remark }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
</section>
|
||
<!-- 演讲嘉宾显示 -->
|
||
<section v-show="situationInfo.guestType == 2 ">
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.speechTopic">
|
||
<label>演讲题目:</label>
|
||
<span>{{ situationInfo.speechTopic }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.speechPpt">
|
||
<label>演讲ppt:</label>
|
||
<span style="width: 100%;"><preview-file style="width: 80%"
|
||
:file-id="situationInfo.speechPpt"></preview-file></span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.photo">
|
||
<label>照片:</label>
|
||
<span><j-image-upload v-if="situationInfo.photo" :return-id="true" v-model="situationInfo.photo"
|
||
disabled></j-image-upload></span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.profile">
|
||
<label>个人简介:</label>
|
||
<span>{{ situationInfo.profile }}</span>
|
||
</a-col>
|
||
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否用餐:</label>
|
||
<span>{{ situationInfo.haveMeals_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.haveMeals === 1">
|
||
<label>是否回民:</label>
|
||
<span> {{ situationInfo.huiPeople_dictText }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否需要接站:</label>
|
||
<span>{{ situationInfo.pickUp_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.pickUp === 1">
|
||
<label>抵达时间:</label>
|
||
<span> {{ situationInfo.arrivalTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.pickUp === 1">
|
||
<a-col :span="12">
|
||
<label>到达站:</label>
|
||
<span>{{ situationInfo.destination }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>到达班次:</label>
|
||
<span> {{ situationInfo.arrivalShift }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否需要送站:</label>
|
||
<span>{{ situationInfo.deliveryStation_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.deliveryStation === 1">
|
||
<label>离开时间:</label>
|
||
<span> {{ situationInfo.departureTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.deliveryStation === 1">
|
||
<a-col :span="12">
|
||
<label>离开站:</label>
|
||
<span>{{ situationInfo.departureStation }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>离开班次:</label>
|
||
<span> {{ situationInfo.departureShift }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.peer">
|
||
<label>同行人:</label>
|
||
<span>{{ situationInfo.peer }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.remark">
|
||
<label>备注:</label>
|
||
<span> {{ situationInfo.remark }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
</section>
|
||
<!-- 特邀嘉宾显示-->
|
||
<section v-show="situationInfo.guestType == 3 ">
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否用餐:</label>
|
||
<span>{{ situationInfo.haveMeals_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.haveMeals === 1">
|
||
<label>是否回民:</label>
|
||
<span> {{ situationInfo.huiPeople_dictText }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否需要接站:</label>
|
||
<span>{{ situationInfo.pickUp_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.pickUp === 1">
|
||
<label>抵达时间:</label>
|
||
<span> {{ situationInfo.arrivalTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.pickUp === 1">
|
||
<a-col :span="12">
|
||
<label>到达站:</label>
|
||
<span>{{ situationInfo.destination }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>到达班次:</label>
|
||
<span> {{ situationInfo.arrivalShift }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12">
|
||
<label>是否需要送站:</label>
|
||
<span>{{ situationInfo.deliveryStation_dictText }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.deliveryStation === 1">
|
||
<label>离开时间:</label>
|
||
<span> {{ situationInfo.departureTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.deliveryStation === 1">
|
||
<a-col :span="12">
|
||
<label>离开站:</label>
|
||
<span>{{ situationInfo.departureStation }}</span>
|
||
</a-col>
|
||
<a-col :span="12">
|
||
<label>离开班次:</label>
|
||
<span> {{ situationInfo.departureShift }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<a-col :span="12" v-show="situationInfo.peer">
|
||
<label>同行人:</label>
|
||
<span>{{ situationInfo.peer }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
</section>
|
||
<!--合作伙伴身份显示 -->
|
||
<a-row :gutter="24" class="flex-col" v-show="situationInfo.guestType == 4 ">
|
||
<a-col :span="12" v-show="situationInfo.arrivalTime">
|
||
<label>抵达时间:</label>
|
||
<span>{{ situationInfo.arrivalTime }}</span>
|
||
</a-col>
|
||
<a-col :span="12" v-show="situationInfo.departureTime">
|
||
<label>离开时间:</label>
|
||
<span> {{ situationInfo.departureTime }}</span>
|
||
</a-col>
|
||
</a-row>
|
||
</section>
|
||
</template>
|
||
<!-- v-if="!model.signUpStatus"-->
|
||
<template>
|
||
<a-row :gutter="24" class="flex-col">
|
||
<!-- /*
|
||
* 1、判断当前会议是否需要缴费,通过会议详情中的 meetingCosts 字段判断,如果是‘0.00’则是不需要花钱的
|
||
* 2、报名详情中的 registerProcess 代表报名状态,类型是 1-15 对应需求文档中的不同状态
|
||
* */ -->
|
||
<a-col :span="12">
|
||
<label>报名状态:</label>
|
||
<span>
|
||
<sign-step :register-process="Number(situationInfo.registerProcess)"
|
||
:need-costs="model.meetingCosts !== '0.00'"></sign-step>
|
||
</span>
|
||
</a-col>
|
||
</a-row>
|
||
<!-- 只有可报名的会议 才能去报名 -->
|
||
|
||
|
||
</template>
|
||
</section>
|
||
<div v-if=" (model.meetingSignUpType+'' === '1' && !compareCurrentTime(model.registerDeadline)) ">
|
||
<a-button type="primary" @click="goSignUpPage" >报名 </a-button>
|
||
</div>
|
||
</a-spin>
|
||
<!--报名信息end-->
|
||
<!--会议资料begin-->
|
||
<section class="base-info">
|
||
<h3 class="title">会议资料</h3>
|
||
<!-- 报名成功才显示查看按钮-->
|
||
<file-table :file-id="model.meetingData" :has-limit-bool="true" :meeting-id="model.id" :show-detail-bool="showDetailBool"></file-table>
|
||
</section>
|
||
<!--会议资料end-->
|
||
|
||
<!--会议纪要begin-->
|
||
<section class="base-info">
|
||
<h3 class="title">会议纪要</h3>
|
||
<file-table :file-id="model.meetingMinute" :has-limit-bool="true" :meeting-id="model.id" :show-detail-bool="showDetailBool"></file-table>
|
||
</section>
|
||
<!--会议纪要end-->
|
||
<!--到账信息 begin 2021-12-10 版需求变更去掉了-->
|
||
<!-- <section class="payment-info">
|
||
<h3 class="title">付款信息</h3>
|
||
<div class="payment-info-box">
|
||
<section class="payment-info-title">付款信息</section>
|
||
<template v-if="paymentInfoList && paymentInfoList.length > 0">
|
||
<div class="payment-info-content" v-for="item of paymentInfoList" :key="item.id">
|
||
{{ item.paymentDate }}付款{{ item.amountReceived }}元
|
||
</div>
|
||
</template>
|
||
<a-list v-else :data-source="[]"/>
|
||
</div>
|
||
</section>-->
|
||
<!--到账信息end-->
|
||
|
||
<template slot="footer">
|
||
<a-button @click="handleCancel">关闭</a-button>
|
||
</template>
|
||
</j-modal>
|
||
</template>
|
||
|
||
<script>
|
||
import PreviewFile from '@comp/jero/PreviewFile'
|
||
import FileTable from '@/views/MessagePage/modules/FileTable'
|
||
import JEllipsis from '@comp/jero/JEllipsis'
|
||
import { getMeetInfoById, queryCommonProjectById } from '@api/incomePaymentsApi'
|
||
import { getSingUpUserInfo } from '@api/incomePaymentsApi'
|
||
import JImageUpload from '@comp/jero/JImageUpload'
|
||
import '@/assets/less/TableExpand.less'
|
||
import SignStep from './modules/SignStep'
|
||
|
||
const columns = [
|
||
{
|
||
title: '开票人',
|
||
align: 'center',
|
||
dataIndex: 'realName'
|
||
},
|
||
{
|
||
title: '日期',
|
||
align: 'center',
|
||
dataIndex: 'billDate'
|
||
},
|
||
{
|
||
title: '金额(元)',
|
||
align: 'center',
|
||
dataIndex: 'invoiceAmount'
|
||
},
|
||
{
|
||
title: '票号',
|
||
align: 'center',
|
||
dataIndex: 'billNo'
|
||
},
|
||
{
|
||
title: '项目',
|
||
align: 'center',
|
||
dataIndex: 'projectName'
|
||
},
|
||
{
|
||
title: '邮寄人',
|
||
align: 'center',
|
||
dataIndex: 'mailName'
|
||
},
|
||
{
|
||
title: '快递',
|
||
align: 'center',
|
||
dataIndex: 'sendMethod_dictText'
|
||
},
|
||
{
|
||
title: '快递单号',
|
||
align: 'center',
|
||
dataIndex: 'postNo'
|
||
},
|
||
{
|
||
title: '操作',
|
||
align: 'center',
|
||
dataIndex: '',
|
||
scopedSlots: { customRender: 'action' }
|
||
}
|
||
]
|
||
export default {
|
||
name: 'MeetingDetailModal',
|
||
components: {
|
||
PreviewFile,
|
||
JEllipsis,
|
||
JImageUpload,
|
||
FileTable,
|
||
SignStep
|
||
},
|
||
props: {
|
||
// 是否是从会议点进来的 默认走消息
|
||
isMeetingBool: {
|
||
type: Boolean,
|
||
required: false,
|
||
default: false
|
||
}
|
||
},
|
||
data() {
|
||
return {
|
||
title: '会议详情',
|
||
width: 800,
|
||
visible: false,
|
||
model: {},
|
||
// 会议信息
|
||
meetingInfo: {},
|
||
// 参会人信息
|
||
situationInfo: {},
|
||
// 加载参会信息的标识
|
||
situationInfoLoading: false,
|
||
columns,
|
||
// 到账信息
|
||
paymentInfoList: [],
|
||
// 开票邮寄信息
|
||
logisticsInfoList: [],
|
||
// 显示更多的开票邮寄信息
|
||
showMoreInfo: false,
|
||
|
||
// showDetailBool:true
|
||
}
|
||
},
|
||
computed: {
|
||
// eslint-disable-next-line
|
||
genderTest() {
|
||
if (this.$store.getters.userInfo.gender === 1) {
|
||
return '男'
|
||
} else if (this.$store.getters.userInfo.gender === 2) {
|
||
return '女'
|
||
}
|
||
},
|
||
// 是否显示文件查看
|
||
showDetailBool(){
|
||
if((this.situationInfo.checkResult == 1 && this.situationInfo.registerCheckResult == 1)){
|
||
return true
|
||
}else{
|
||
return false
|
||
}
|
||
},
|
||
// 收费二维码 src
|
||
paymentQrCodeSrc() {
|
||
return `${window._CONFIG['domianURL']}/sys/common/download/${this.model.paymentQrCode}`
|
||
}
|
||
|
||
},
|
||
methods: {
|
||
async open(param) {
|
||
this.visible = true
|
||
this.situationInfoLoading = true
|
||
this.showMoreInfo = false
|
||
// 通过id查询项目详情
|
||
if(!param.situationId) {
|
||
queryCommonProjectById({ id: param.situationId }).then(res => {
|
||
if (res.success) {
|
||
console.log(res.result, 'res.result')
|
||
// 到账信息
|
||
this.paymentInfoList = res.result.paymentRecord
|
||
// 开票邮寄信息
|
||
this.logisticsInfoList = res.result.mailBill
|
||
} else {
|
||
console.log('未查到相应的信息')
|
||
}
|
||
})
|
||
} else {
|
||
this.paymentInfoList = []
|
||
// 开票邮寄信息
|
||
this.logisticsInfoList = []
|
||
}
|
||
|
||
if (param && !this.isMeetingBool) {
|
||
// 查询参会人的信息
|
||
await this.getSingUpUserInfoFunc(param)
|
||
// 消息进来的获取会议的详情
|
||
this.queryMeetingInfoById(param.id).then(res => {
|
||
// 会议详情
|
||
this.model = Object.assign({}, res)
|
||
// if((this.model.checkResult == 1 && this.model.registerCheckResult == 1)){
|
||
// this.showDetailBool =true
|
||
// }else{
|
||
// this.showDetailBool = false
|
||
// }
|
||
console.log(this.model, 'this.model')
|
||
})
|
||
} else {
|
||
// 会议进来查询的会议信息
|
||
this.model = Object.assign({}, param)
|
||
// 会议进来的查询参会人信息
|
||
await this.getSingUpUserInfoFunc(param)
|
||
}
|
||
setTimeout(() => {
|
||
this.situationInfoLoading = false
|
||
}, 100)
|
||
},
|
||
getSingUpUserInfoFunc(param) {
|
||
return new Promise(resolve => {
|
||
// 存在报名信息
|
||
if(param.situationId) {
|
||
getSingUpUserInfo({ id: param.situationId }).then(res => {
|
||
if (res.success) {
|
||
this.situationInfo = res.result
|
||
} else {
|
||
this.situationInfo = {}
|
||
}
|
||
}).finally(() => {
|
||
resolve()
|
||
})
|
||
} else {
|
||
this.situationInfo = {}
|
||
resolve()
|
||
}
|
||
})
|
||
},
|
||
close() {
|
||
this.visible = false
|
||
},
|
||
handleCancel() {
|
||
this.close()
|
||
},
|
||
|
||
/*
|
||
* 生成每一个开票信息
|
||
* */
|
||
createItemInfo(item) {
|
||
let porjectItem = ''
|
||
if (item.projects.length > 0) {
|
||
item.projects.forEach((val, index) => {
|
||
if (index === item.projects.length - 1) {
|
||
porjectItem += val
|
||
} else {
|
||
porjectItem += val + '、'
|
||
}
|
||
})
|
||
}
|
||
return `${item.person}于${item.time}开票,金额为:${item.money}元,票号:${item.piaoNo},项目:${porjectItem}`
|
||
},
|
||
/*
|
||
* 查看物流
|
||
* */
|
||
lookLogistics(record) {
|
||
const com = Number(record.sendMethod) === 1 && 'ems' || 'shunfeng'
|
||
window.open(`https://www.kuaidi100.com/chaxun?com=${com}&nu=${record.postNo}`)
|
||
},
|
||
/*
|
||
* 当前时间是否超过会议报名时间
|
||
* */
|
||
compareCurrentTime(time) {
|
||
let date = new Date()
|
||
let compareTime = new Date(time)
|
||
if (date.getTime() > compareTime.getTime()) {
|
||
return true
|
||
} else {
|
||
return false
|
||
}
|
||
},
|
||
/*
|
||
* 通过会议id获取会议性情
|
||
* */
|
||
queryMeetingInfoById(id) {
|
||
return new Promise(resolve => {
|
||
let result = {}
|
||
getMeetInfoById({ id }).then(res => {
|
||
if (res.success) {
|
||
result = res.result
|
||
}
|
||
}).finally(() => {
|
||
resolve(result)
|
||
})
|
||
})
|
||
},
|
||
/*
|
||
* 会议类型 1 工作组会议 2 标协会议 3国际研讨会 4 其他会议
|
||
* */
|
||
generateMeetingType(val) {
|
||
switch (val + '') {
|
||
case '1':
|
||
return '工作组会议'
|
||
case '2':
|
||
switch (this.model.tbMeetingType + '') {
|
||
case '1':
|
||
return '标协会议-标准宣贯'
|
||
case '2':
|
||
return '标协会议-培训会'
|
||
case '3':
|
||
return '标协会议-信息交流会'
|
||
}
|
||
break
|
||
// return '标协会议'
|
||
case '3':
|
||
return '国际研讨会'
|
||
case '4':
|
||
return '其他会议'
|
||
case '5':
|
||
return '分标委会议'
|
||
case '6':
|
||
return '理事会会议'
|
||
default:
|
||
return '其他会议'
|
||
}
|
||
},
|
||
goSignUpPage() {
|
||
let url = `${window._CONFIG['singUpQRCodeURL']}?id=${this.model.id}`
|
||
window.open(url, '_blank')
|
||
}
|
||
|
||
}
|
||
}
|
||
</script>
|
||
|
||
<style scoped lang="less">
|
||
|
||
.info {
|
||
.ant-col {
|
||
span {
|
||
display: inline-block;
|
||
word-break: keep-all;
|
||
white-space: nowrap;
|
||
max-width: calc(100% - 100px);
|
||
overflow: hidden;
|
||
text-overflow: ellipsis;
|
||
}
|
||
}
|
||
}
|
||
|
||
//会议内容、备注的样式
|
||
.info-textarea {
|
||
display: flex;
|
||
|
||
label {
|
||
flex-shrink: 0;
|
||
}
|
||
}
|
||
|
||
.flex-col {
|
||
.ant-col {
|
||
display: flex;
|
||
}
|
||
}
|
||
|
||
.ant-row {
|
||
margin: 12px;
|
||
}
|
||
|
||
h3 {
|
||
position: relative;
|
||
}
|
||
|
||
label {
|
||
min-width: 80px;
|
||
color: #666;
|
||
}
|
||
|
||
.contract-num {
|
||
color: #42b983;
|
||
cursor: pointer;
|
||
}
|
||
|
||
h3.title::before {
|
||
position: absolute;
|
||
top: 4px;
|
||
left: -10px;
|
||
content: "";
|
||
height: 20px;
|
||
width: 3px;
|
||
background: #069f99;
|
||
}
|
||
|
||
/* 到账信息 */
|
||
.payment-info {
|
||
margin-bottom: 14px;
|
||
|
||
&-title {
|
||
text-align: center;
|
||
font-size: 14px;
|
||
height: 35px;
|
||
line-height: 35px;
|
||
letter-spacing: 1px;
|
||
color: #fff;
|
||
background: #a2e6e4;
|
||
}
|
||
|
||
&-content {
|
||
color: #424242;
|
||
//background: #efefef;
|
||
padding: 5px;
|
||
padding-left: 10px;
|
||
border: 1px solid #ccc;
|
||
border-top: none;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
/* 到账信息 */
|
||
.payment-info {
|
||
margin-bottom: 14px;
|
||
|
||
&-box {
|
||
border: 1px solid #ccc;
|
||
}
|
||
|
||
&-title {
|
||
text-align: center;
|
||
font-size: 14px;
|
||
height: 35px;
|
||
line-height: 35px;
|
||
letter-spacing: 1px;
|
||
color: #fff;
|
||
background: #a2e6e4;
|
||
}
|
||
|
||
&-content {
|
||
color: #424242;
|
||
//background: #efefef;
|
||
padding: 5px;
|
||
padding-left: 10px;
|
||
//border: 1px solid #ccc;
|
||
border-top: none;
|
||
}
|
||
|
||
|
||
}
|
||
|
||
/* 开票邮寄信息 */
|
||
.wrap-table {
|
||
border: 1px solid #ccc;
|
||
border-bottom: none;
|
||
}
|
||
|
||
/deep/ .ant-table-thead {
|
||
tr > th {
|
||
color: #fff;
|
||
background: #a2e6e4;
|
||
border: none;
|
||
}
|
||
}
|
||
|
||
/deep/ .ant-table-tbody {
|
||
tr > td {
|
||
border: none;
|
||
border-bottom: 1px solid #ccc;
|
||
}
|
||
}
|
||
|
||
.payment-qrcode-img {
|
||
width: 100px;
|
||
height: 100px
|
||
}
|
||
|
||
// 查看 开票邮寄信息
|
||
.logistics-info {
|
||
position: relative;
|
||
|
||
.wrap-table.hide {
|
||
height: 0;
|
||
display: none;
|
||
transition: all 0.5s ease-out;
|
||
}
|
||
|
||
.wrap-table {
|
||
transition: all 0.5s ease-out;
|
||
}
|
||
}
|
||
|
||
.collapse-span {
|
||
cursor: pointer;
|
||
color: #069f99 !important;
|
||
line-height: 24px;
|
||
display: inline-block;
|
||
position: absolute;
|
||
right: 0;
|
||
top: 0;
|
||
}
|
||
|
||
/deep/ .ant-empty-normal {
|
||
padding: 0;
|
||
margin: 0;
|
||
}
|
||
</style>
|