9503459c by zhangmeng

票务

1 parent 0e1113e9
<template>
<div style="min-height: 100vh">
<div class="box" v-if="!errorBox">
<div v-if="!errorBox" class="box">
<el-card :body-style="{ padding: '0px' }" class="mt20 mb60">
<div slot="header">
<div class="bg-lineg">{{ language == 0 ? '缴费清单' : 'Payment List' }}</div>
......@@ -13,16 +13,17 @@
<h3>{{ form.hotelName }}</h3>
<el-row>
<el-col>
{{ language == 0 ?'地址':'Address' }}
{{ language == 0 ? '地址' : 'Address' }}
<span v-if="language == 0">{{ form.provinceName }} {{ form.cityName }} {{ form.areaName }} </span>
{{ form.address }}
</el-col>
<el-col>
{{ language == 0 ?'入住信息':'Check-in&Check-out' }}{{ form.messageObj?.roomStayDate }}
{{ language == 0 ? '入住信息' : 'Check-in&Check-out' }}{{ form.messageObj?.roomStayDate }}
</el-col>
<el-col>
{{ language == 0 ?'房间信息':'Room Information' }}{{ form.messageObj?.roomName }}{{ form.roomNum }}
{{ language == 0 ? '间':'rooms' }}
{{ language == 0 ? '房间信息' : 'Room Information' }}{{ form.messageObj?.roomName }}
{{ form.roomNum }}
{{ language == 0 ? '间' : 'rooms' }}
</el-col>
</el-row>
</div>
......@@ -32,7 +33,7 @@
<div class="border-info mt20">
<div class="flex aic">
<h3 class="esp">{{ form.checkIn }}</h3>
<img class="w40px mlr20 " style="height: 40px;" src="@/assets/booking/wf.png"/>
<img class="w40px mlr20 " src="@/assets/booking/wf.png" style="height: 40px;"/>
<h3 class="esp">{{ form.checkOut }}</h3>
</div>
</div>
......@@ -41,13 +42,16 @@
<div class="leftboderTT">{{ language == 0 ? '饭店信息' : 'Restaurant Information' }}</div>
<div class="border-info mt20">
<h3>{{ form.name }}</h3>
<!-- <p>{{ language == 0 ?'地址':'Address' }}{{form.address}}</p>-->
<!-- <p>{{ language == 0 ?'地址':'Address' }}{{form.address}}</p>-->
<el-row>
<el-col :lg="12" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'送餐地址':'Delivery Address' }}{{ form.address || '-' }}</div>
<div class="mb10">{{ language == 0 ? '送餐地址' : 'Delivery Address' }}{{
form.address || '-'
}}
</div>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xs="24">
<div>{{ language==0?'送餐时间':'Delivery Time' }}{{form.psStart}} ~ {{ form.psEnd}}</div>
<div>{{ language == 0 ? '送餐时间' : 'Delivery Time' }}{{ form.psStart }} ~ {{ form.psEnd }}</div>
</el-col>
</el-row>
</div>
......@@ -58,27 +62,31 @@
<h3>{{ formInfo.studioName }}</h3>
<el-row>
<el-col>
{{ language == 0 ?'地址':'Address' }}
<span >{{ formInfo.remarks }} </span>
{{ language == 0 ? '地址' : 'Address' }}
<span>{{ formInfo.remarks }} </span>
</el-col>
<el-col>
{{ language == 0 ?'套餐':'Package' }}{{ formInfo.mealName }} <span style="margin-left: 40px">{{ language==0?'价格':'Price' }}</span><span class="price">{{language==0? '¥'+formInfo.mealPrice:'€'+ formInfo.mealPriceEn}}</span>
<span style="margin-left: 40px">{{language==0?'工作室电话':'Studio phone number' }}{{formInfo.contact}}</span>
{{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.mealName }} <span
style="margin-left: 40px">{{ language == 0 ? '价格' : 'Price' }}</span><span
class="price">{{ language == 0 ? '¥' + formInfo.mealPrice : '€' + formInfo.mealPriceEn }}</span>
<span style="margin-left: 40px">{{
language == 0 ? '工作室电话' : 'Studio phone number'
}}{{ formInfo.contact }}</span>
</el-col>
<el-col>
<div class="esp_3 s" @click="handleView()">
{{ language == 0 ?'套餐说明':'Package Description' }}{{ formInfo.introduction}}
</div>
</el-col>
<!-- <el-col>-->
<!-- <div v-if="language == 0">-->
<!-- 套餐详情: <span v-html="form.details"></span>-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- Package details:<span v-html="form.detailsEn"></span>-->
<!-- </div>-->
<!--&lt;!&ndash; {{ language == 0 ?'套餐详情':'Package details' }}{{ language == 0?form.details:form.detailsEn}}&ndash;&gt;-->
<!-- </el-col>-->
{{ language == 0 ? '套餐说明' : 'Package Description' }}{{ formInfo.introduction }}
</div>
</el-col>
<!-- <el-col>-->
<!-- <div v-if="language == 0">-->
<!-- 套餐详情: <span v-html="form.details"></span>-->
<!-- </div>-->
<!-- <div v-else>-->
<!-- Package details:<span v-html="form.detailsEn"></span>-->
<!-- </div>-->
<!--&lt;!&ndash; {{ language == 0 ?'套餐详情':'Package details' }}{{ language == 0?form.details:form.detailsEn}}&ndash;&gt;-->
<!-- </el-col>-->
</el-row>
</div>
</div>
......@@ -88,14 +96,16 @@
<h3>{{ formInfo.shootName }}</h3>
<el-row>
<el-col>
{{ language == 0 ?'地址':'Address' }}
<span >{{ formInfo.remarks }} </span>
{{ language == 0 ? '地址' : 'Address' }}
<span>{{ formInfo.remarks }} </span>
</el-col>
<el-col>
{{ language == 0 ?'套餐':'Package' }}{{ formInfo.photoName }} <span style="margin-left: 40px">{{ language==0?'价格':'Price' }}</span><span class="price">{{language==0? '¥'+formInfo.photoPrice:'€'+ formInfo.photoPriceEn}}</span>
{{ language == 0 ? '套餐' : 'Package' }}{{ formInfo.photoName }} <span
style="margin-left: 40px">{{ language == 0 ? '价格' : 'Price' }}</span><span
class="price">{{ language == 0 ? '¥' + formInfo.photoPrice : '€' + formInfo.photoPriceEn }}</span>
</el-col>
<el-col>
{{ language == 0 ?'套餐说明':'Package Description' }}{{ formInfo.introduction}}
{{ language == 0 ? '套餐说明' : 'Package Description' }}{{ formInfo.introduction }}
</el-col>
</el-row>
</div>
......@@ -106,154 +116,185 @@
<div class="border-info mt20">
<el-row v-if="type == 'hotel'">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{ language == 0 ?'入住人':'Check-in Person' }}{{ form.rzUsers }}</div>
<div>{{ language == 0 ? '入住人' : 'Check-in Person' }}{{ form.rzUsers }}</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{
language == 0 ? '联系方式' : 'Contact Information'
}}{{ form.phone }}
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{ language == 0 ?'联系方式':'Contact Information' }}{{ form.phone }}</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24"></el-col>
</el-row>
<el-row v-if="type == 'car'">
<el-col :lg="12" :md="12" :sm="12" :xs="24" v-if="form.pickUpBo?.revTime">
<h4>{{ language == 0 ?'接站信息':'Pick-up Information' }}</h4>
<el-col v-if="form.pickUpBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24">
<h4>{{ language == 0 ? '接站信息' : 'Pick-up Information' }}</h4>
<div class="st-info">
<div>{{ language == 0 ?'用车时间':'Delivery Time' }}{{ form.pickUpBo.revTime }}</div>
<div class="carLine" v-for="(car,index) in form.pickUpBo.carsList" :key="index">
<div>{{ language == 0 ? '用车时间' : 'Delivery Time' }}{{ form.pickUpBo.revTime }}</div>
<div v-for="(car,index) in form.pickUpBo.carsList" :key="index" class="carLine">
<div v-if="car.num > 0">
<label>{{car.name}}</label>
<el-tag class="mr10">{{car.carSeat}} {{ language == 0 ?'座 ':'Sets'}}</el-tag>
<el-tag>{{car.carColor}}</el-tag>
<label>{{ car.name }}</label>
<el-tag class="mr10">{{ car.carSeat }} {{ language == 0 ? '座 ' : 'Sets' }}</el-tag>
<el-tag>{{ car.carColor }}</el-tag>
</div>
<span v-if="car.num > 0"> {{car.num}}{{ language == 0 ?'辆':'Cars' }} * {{ language == 0 ?'¥':'€' }}{{car.price}}</span>
<span v-if="car.num > 0"> {{ car.num }}{{
language == 0 ? '辆' : 'Cars'
}} * {{ language == 0 ? '¥' : '€' }}{{ car.price }}</span>
</div>
<div>{{ language == 0 ?'人数':'People' }}{{form.pickUpBo.count}}</div>
<div>{{ language == 0 ?'航班/火车班次':'Flight/Train' }}{{form.pickUpBo.no}}</div>
<div>{{ language == 0 ?'接机/接站地点':'Pick-up/Drop-off Place' }}{{form.pickUpBo.noAddress}}</div>
<div>{{ language == 0 ?'送达地点':'Delivery Place' }}{{form.pickUpBo.deliveryAddress}}</div>
<div>{{ language == 0 ?'联系人':'Contact Person' }}{{ form.dropOffBo.contacts }}</div>
<div>{{ language == 0 ?'联系电话':'Contact Phone' }}{{ form.dropOffBo.phone }}</div>
<div>{{ language == 0 ?'备注':'Remarks' }}{{ form.dropOffBo.remarks ||'-'}}</div>
<div>{{ language == 0 ? '人数' : 'People' }}{{ form.pickUpBo.count }}</div>
<div>{{ language == 0 ? '航班/火车班次' : 'Flight/Train' }}{{ form.pickUpBo.no }}</div>
<div>{{ language == 0 ? '接机/接站地点' : 'Pick-up/Drop-off Place' }}
{{ form.pickUpBo.noAddress }}
</div>
<div>{{ language == 0 ? '送达地点' : 'Delivery Place' }}{{ form.pickUpBo.deliveryAddress }}</div>
<div>{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.dropOffBo.contacts }}</div>
<div>{{ language == 0 ? '联系电话' : 'Contact Phone' }}{{ form.dropOffBo.phone }}</div>
<div>{{ language == 0 ? '备注' : 'Remarks' }}{{ form.dropOffBo.remarks || '-' }}</div>
</div>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xs="24" v-if="form.dropOffBo?.revTime">
<h4>{{ language == 0 ?'送站信息':'Drop-off Information' }}</h4>
<el-col v-if="form.dropOffBo?.revTime" :lg="12" :md="12" :sm="12" :xs="24">
<h4>{{ language == 0 ? '送站信息' : 'Drop-off Information' }}</h4>
<div class="st-info">
<div>{{ language == 0 ?'用车时间':'Delivery Time' }}{{ form.dropOffBo.revTime }}</div>
<div class="carLine" v-for="(car,index) in form.dropOffBo.carsList" :key="index">
<div>{{ language == 0 ? '用车时间' : 'Delivery Time' }}{{ form.dropOffBo.revTime }}</div>
<div v-for="(car,index) in form.dropOffBo.carsList" :key="index" class="carLine">
<div v-if="car.num > 0">
<label>{{car.name}}</label>
<el-tag class="mr10">{{car.carSeat}} {{ language == 0 ?'座 ':'Sets'}}</el-tag>
<el-tag>{{car.carColor}}</el-tag>
<label>{{ car.name }}</label>
<el-tag class="mr10">{{ car.carSeat }} {{ language == 0 ? '座 ' : 'Sets' }}</el-tag>
<el-tag>{{ car.carColor }}</el-tag>
</div>
<span v-if="car.num > 0"> {{car.num }}{{ language == 0 ?'辆':'Cars' }} * {{ language == 0 ? '¥' : '€' }}{{car.price}}</span>
<span v-if="car.num > 0"> {{ car.num }}{{
language == 0 ? '辆' : 'Cars'
}} * {{ language == 0 ? '¥' : '€' }}{{ car.price }}</span>
</div>
<div>{{ language == 0 ?'人数':'Counts' }}{{ form.dropOffBo.count }}</div>
<div>{{ language == 0 ?'联系人':'Contact Person' }}{{ form.dropOffBo.contacts }}</div>
<div>{{ language == 0 ?'联系电话':'Contact Phone' }}{{ form.dropOffBo.phone }}</div>
<div>{{ language == 0 ?'备注':'Remarks' }}{{ form.dropOffBo.remarks ||'-'}}</div>
<div>{{ language == 0 ? '人数' : 'Counts' }}{{ form.dropOffBo.count }}</div>
<div>{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.dropOffBo.contacts }}</div>
<div>{{ language == 0 ? '联系电话' : 'Contact Phone' }}{{ form.dropOffBo.phone }}</div>
<div>{{ language == 0 ? '备注' : 'Remarks' }}{{ form.dropOffBo.remarks || '-' }}</div>
</div>
</el-col>
</el-row>
<el-row v-if="type == 'food'">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div v-for="f in form.messageObj?.foodsList">
<span v-if="f.category==0">{{language==0?'早餐':'Breakfast'}}</span>
<span v-if="f.category==1">{{language==0?'午餐':'Lunch'}}</span>
<span v-if="f.category==2">{{language==0?'晚餐':'Dinner'}}</span>
{{f.name}} * {{f.num}} {{language==0?'份':'pcs'}}
<span v-if="f.category==0">{{ language == 0 ? '早餐' : 'Breakfast' }}</span>
<span v-if="f.category==1">{{ language == 0 ? '午餐' : 'Lunch' }}</span>
<span v-if="f.category==2">{{ language == 0 ? '晚餐' : 'Dinner' }}</span>
{{ f.name }} * {{ f.num }} {{ language == 0 ? '份' : 'pcs' }}
</div>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'订餐周期':'Check-in date' }}{{ form.extJsonObj?.dcStart || '-' }} ~ {{form.extJsonObj?.dcEnd|| '-'}}</div>
<div class="mb10">{{
language == 0 ? '订餐周期' : 'Check-in date'
}}{{ form.extJsonObj?.dcStart || '-' }} ~ {{ form.extJsonObj?.dcEnd || '-' }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'联系人':'Contact Person' }}{{ form.contacts }}</div>
<div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{
language == 0 ? '联系方式' : 'Contact Phone'
}}{{ form.phone }}
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{ language==0?'联系方式':'Contact Phone' }}{{ form.phone }}</el-col>
<el-col :span="24" >{{ language==0?'备注':'Remarks' }}{{ form.remarks || '-' }}</el-col>
<el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks || '-' }}</el-col>
</el-row>
<el-row v-if="type == 'makeUp'">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'化妆时间':'Makeup time' }}
<div class="mb10">{{ language == 0 ? '化妆时间' : 'Makeup time' }}
<!-- {{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;' }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'}}-->
{{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+ form.nameStart }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+form.nameEnd}}
{{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameStart }} ~
{{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameEnd }}
</div>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'预约数':'Number of appointments' }}{{ form.num }} </div>
<div class="mb10">{{ language == 0 ? '预约数' : 'Number of appointments' }}{{ form.num }}</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'联系人':'Contact Person' }}{{ form.contacts }}</div>
<div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
</el-col>
<el-col :lg=12 :md="12" :sm="12" :xs="24">
<div class="mb10">
{{ language==0?'联系方式':'Contact Phone' }}{{ form.phone }}
{{ language == 0 ? '联系方式' : 'Contact Phone' }}{{ form.phone }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24" >
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">
{{ language==0?'备注':'Remarks' }}{{ form.remarks }}
{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24" >
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">
{{ language==0?'地点':'Address' }}{{language==0? formInfo.address :formInfo.addressEn }}
{{ language == 0 ? '地点' : 'Address' }}{{ language == 0 ? formInfo.address : formInfo.addressEn }}
</div>
</el-col>
</el-row>
<el-row v-if="type == 'photography'">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'拍摄时间':'Makeup time' }}
{{ dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+ form.nameStart }} ~ {{dayjs(form.dcStart).format('YYYY-MM-DD') +'&nbsp;'+form.nameEnd}}
<div class="mb10">{{ language == 0 ? '拍摄时间' : 'Makeup time' }}
{{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameStart }} ~
{{ dayjs(form.dcStart).format('YYYY-MM-DD') + '&nbsp;' + form.nameEnd }}
</div>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'预约数':'Number of appointments' }}{{ form.num }} </div>
<div class="mb10">{{ language == 0 ? '预约数' : 'Number of appointments' }}{{ form.num }}</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div class="mb10">{{ language==0?'联系人':'Contact Person' }}{{ form.contacts }}</div>
<div class="mb10">{{ language == 0 ? '联系人' : 'Contact Person' }}{{ form.contacts }}</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{ language==0?'联系方式':'Contact Phone' }}{{ form.phone }}</el-col>
<el-col :span="24" >{{ language==0?'备注':'Remarks' }}{{ form.remarks }}</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{
language == 0 ? '联系方式' : 'Contact Phone'
}}{{ form.phone }}
</el-col>
<el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col>
</el-row>
</div>
<el-row justify="space-between" align="middle">
<el-row align="middle" justify="space-between">
<el-col :lg="12">
<div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}{{form.payDate}}</div>
<div class="mt10" v-if="form.payDate">{{ language == 0 ? '支付方式':'Payment Method'}}
<span v-if="form.paymentType=='1'">{{language==0?'微信支付':'WePay'}}</span>
<div v-if="form.payDate">{{ language == 0 ? '支付时间' : 'Payment Time' }}{{ form.payDate }}</div>
<div v-if="form.payDate" class="mt10">{{ language == 0 ? '支付方式' : 'Payment Method' }}
<span v-if="form.paymentType=='1'">{{ language == 0 ? '微信支付' : 'WePay' }}</span>
<span v-if="form.paymentType=='3'">PayPal</span>
</div>
</el-col>
<el-col :lg="12" class="result">
<div class="priceb" v-if="form.viewStatus=='0'">{{ language == 0 ? '待支付金额' : 'Amount Due' }}
<div v-if="form.viewStatus=='0'" class="priceb">{{ language == 0 ? '待支付金额' : 'Amount Due' }}
<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
</div>
<div class="priceb" v-if="form.viewStatus=='1'||form.viewStatus=='5'">{{ language == 0 ? '已支付金额' : 'Amount Due' }}
<div v-if="form.viewStatus=='1'||form.viewStatus=='5'" class="priceb">
{{ language == 0 ? '已支付金额' : 'Amount Due' }}
<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
</div>
<div class="priceb" v-if="form.viewStatus=='4'">{{ language == 0 ? '已退订' : 'Refunded' }}
<div v-if="form.viewStatus=='4'" class="priceb">{{ language == 0 ? '已退订' : 'Refunded' }}
<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
</div>
<div class="priceb" v-if="form.viewStatus=='2'">{{ language == 0 ? '已取消' : 'Canceled' }}
<div v-if="form.viewStatus=='2'" class="priceb">{{ language == 0 ? '已取消' : 'Canceled' }}
<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
</div>
<div class="priceb" v-if="form.viewStatus=='7'">{{ language == 0 ? '退款审核中' : 'Refund in review' }}
<div v-if="form.viewStatus=='7'" class="priceb">{{ language == 0 ? '退款审核中' : 'Refund in review' }}
<span class="price">{{ language == 0 ? '¥' : '€' }}{{ Number(totalFee).toFixed(2) }}</span>
</div>
</el-col>
<el-col :lg="24">
<div class="text-center">
<el-button round class="mt20 btn-lineG" size="large" v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" type="primary" @click="exportPdf">
<el-icon><Upload /></el-icon>
{{ language==0?'导出酒店预订单':'Export PDF' }}
<el-button v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&type == 'hotel'" class="mt20 btn-lineG"
round
size="large" type="primary"
@click="exportPdf">
<el-icon>
<Upload/>
</el-icon>
{{ language == 0 ? '导出酒店预订单' : 'Export PDF' }}
</el-button>
<el-button round class="mt20 btn-lineG" size="large" v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel')" type="primary"
<el-button v-if="(form.viewStatus=='1'||form.viewStatus=='5')&&(type=='makeUp'||type=='hotel')"
class="mt20 btn-lineG" round
size="large"
type="primary"
@click="downInvoice">
<el-icon><Download /></el-icon>
{{ language==0?'下载收据':'DownLoad Invoice' }}
<el-icon>
<Download/>
</el-icon>
{{ language == 0 ? '下载收据' : 'DownLoad Invoice' }}
</el-button>
</div>
</el-col>
......@@ -262,21 +303,21 @@
</div>
<div v-else class="pd20 skeletonBox">
<el-skeleton :rows="8"/>
<el-button type="primary" class="btn-lineG" size="large" :style="language == 0 ?'width:200px':'width:400px'"
round @click="showLogin">
<el-button :style="language == 0 ?'width:200px':'width:400px'" class="btn-lineG" round size="large"
type="primary" @click="showLogin">
{{ language == 0 ? '登录后查看明细' : 'View detailed information after logging in' }}
</el-button>
</div>
<div class="pd20" v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')">
<div v-if="form.viewStatus == '0'&&(form.surplus!='0,0'&&form.surplus!='0')" class="pd20">
<div class="leftboderTT">{{ language == 0 ? '选择支付方式' : 'Choose payment method' }}</div>
<div class="mt20">
<el-radio-group v-model="payType" >
<el-radio value="2" v-if="language==0" border>
<el-radio-group v-model="payType">
<el-radio v-if="language==0" border value="2">
<!-- 微信-->
<svg t="1709002960407" class="icon" viewBox="0 0 3152 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="24747" width="94" height="40">
<svg class="icon" height="40" p-id="24747" t="1709002960407"
version="1.1" viewBox="0 0 3152 1024" width="94" xmlns="http://www.w3.org/2000/svg">
<path
d="M381.998922 630.960647c-4.416173 2.208086-8.832345 3.312129-14.352561 3.312129-12.144474 0-22.080863-7.17628-28.1531-17.66469l-2.208086-4.968194-87.771428-204.247978c-1.104043-2.208086-1.104043-4.416173-1.104043-6.624259 0-9.384367 6.624259-16.560647 15.456603-16.560647 3.312129 0 6.624259 1.104043 9.936388 3.312129l103.780054 78.387062c7.728302 4.968194 16.560647 8.280323 26.497035 8.280324 5.520216 0 11.040431-1.104043 16.560647-3.312129l486.330998-230.192992C819.752022 131.381132 676.226415 60.17035 513.380054 60.17035 248.409704 59.618329 32.017251 250.61779 32.017251 486.883019c0 128.069003 64.586523 244.545553 166.15849 322.932614 7.728302 6.072237 13.248518 16.560647 13.248518 27.601079 0 3.312129-1.104043 7.17628-2.208086 10.488409-7.728302 32.017251-20.976819 84.459299-20.97682 86.667386-1.104043 3.312129-2.208086 8.280323-2.208086 13.248517 0 9.384367 6.624259 16.560647 15.456604 16.560647 3.312129 0 6.624259-1.104043 8.832345-3.312129l104.884097-65.138545c7.728302-4.968194 16.560647-8.280323 25.392992-8.280323 4.416173 0 9.936388 1.104043 14.35256 2.208086 49.129919 15.456604 102.676011 23.736927 157.326146 23.736927 265.522372 0 481.362803-191.551482 481.362803-427.816711 0-71.210782-19.872776-139.109434-54.650135-198.175741L385.863073 628.752561l-3.864151 2.208086z"
fill="#09BB07" p-id="24748"></path>
......@@ -285,10 +326,10 @@
fill="#595757" p-id="24749"></path>
</svg>
</el-radio>
<el-radio value="3" v-if="language==1" border>
<el-radio v-if="language==1" border value="3">
<!--paypal-->
<svg t="1709002828937" class="icon" viewBox="0 0 4220 1024" version="1.1"
xmlns="http://www.w3.org/2000/svg" p-id="22654" width="94" height="40">
<svg class="icon" height="40" p-id="22654" t="1709002828937"
version="1.1" viewBox="0 0 4220 1024" width="94" xmlns="http://www.w3.org/2000/svg">
<path
d="M3249.722604 229.409369h-232.537679c-15.641548 0-29.197556 11.470468-32.325865 27.112016l-93.849287 595.421589c-2.08554 11.470468 7.299389 21.898167 18.769857 21.898167h118.875764c11.470468 0 20.855397-8.342159 21.898167-18.769858l27.112016-168.928717c2.08554-15.641548 15.641548-27.112016 32.325866-27.112016h72.99389c153.287169 0 240.879837-74.03666 263.820774-221.06721 10.427699-63.608961 0-114.704684-29.197556-150.158859-31.283096-38.582485-89.678208-58.395112-167.885947-58.395112z m27.112016 216.89613c-12.513238 83.421589-76.1222 83.421589-137.645621 83.421589h-35.454175l25.026476-155.372709c1.04277-9.384929 9.384929-16.684318 18.769858-16.684318h15.641547c41.710794 0 81.336049 0 102.191447 23.983707 12.513238 14.598778 15.641548 35.454175 11.470468 64.651731z"
fill="#009CDE" p-id="22655"></path>
......@@ -319,18 +360,18 @@
<div v-if="payType == '2'&&wePayCodeUrl">
<div class="payImgbox flexCenter">
<div>
<img width="260" class="border" :src="wePayCodeUrl"/>
<img :src="wePayCodeUrl" class="border" width="260"/>
<img class="mt20" src="@/assets/img/sm.png"/>
</div>
<div class="ml20">
<img height="360" src="@/assets/img/rr.jpg"/>
</div>
</div>
<div class="tip text-center text-danger" v-if="language==0">
<div v-if="language==0" class="tip text-center text-danger">
支付后不要关闭此窗口,等待确认支付成功.
若长时间未收到支付成功提醒,请刷新页面
</div>
<div class="tip text-center text-danger" v-else>
<div v-else class="tip text-center text-danger">
After payment, do not close this window and wait for confirmation of successful payment.
<br/>
If you have not received a notification of successful payment for a long time,
......@@ -339,14 +380,17 @@
</div>
</div>
</div>
<el-row class="mt20 mb60" align="middle" justify="center">
<el-row align="middle" class="mt20 mb60" justify="center">
<el-col :span="24" class="text-center">
<el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" type="primary" @click="goPay" round class="btn-lineG w200px">
<el-button v-if="!hideconfirmbtn&&form.viewStatus == '0'" class="btn-lineG w200px" round type="primary"
@click="goPay">
{{ language == 0 ? '确定' : 'Submit' }}
</el-button>
<el-button round @click="unsubscribe" v-if="form.viewStatus == '5'">{{ language==0?'退订':'Unsubscribe' }}</el-button>
<el-button link class="underline" @click="cancel" v-if="form.viewStatus == '0'">
{{ language==0?'取消订单':'Cancel Order' }}
<el-button v-if="form.viewStatus == '5'" round @click="unsubscribe">
{{ language == 0 ? '退订' : 'Unsubscribe' }}
</el-button>
<el-button v-if="form.viewStatus == '0'" class="underline" link @click="cancel">
{{ language == 0 ? '取消订单' : 'Cancel Order' }}
</el-button>
</el-col>
</el-row>
......@@ -363,23 +407,23 @@
</el-card>
</div>
<div class="box" v-if="errorBox">
<div v-if="errorBox" class="box">
<el-result
icon="error"
:title="language==0?'未找到对应订单':'No corresponding order found'"
:sub-title="language==0?'请确认订单号是否正确':'Please confirm if the order number is correct'"
:title="language==0?'未找到对应订单':'No corresponding order found'"
icon="error"
>
<template #extra>
<el-button type="primary" @click="goHome" class="btn-lineG w200px" round>
<el-button class="btn-lineG w200px" round type="primary" @click="goHome">
{{ language == 0 ? '返回首页' : 'Home' }}
</el-button>
</template>
</el-result>
</div>
<Dialog ref="DialogRef" />
<Dialog ref="DialogRef"/>
<el-dialog :title="language==0?'开收据':'Issue a receipt'" v-model="showSJDialog" width="460px"
:close-on-click-modal="false" :close-on-press-escape="false">
<el-dialog v-model="showSJDialog" :close-on-click-modal="false" :close-on-press-escape="false"
:title="language==0?'开收据':'Issue a receipt'" width="460px">
<div class="flex">
<el-form-item :label="language==0?'开票人':'Name'">
<div class="flex">
......@@ -388,7 +432,7 @@
</div>
</el-form-item>
</div>
<div class="tip mt20" v-if="remark">
<div v-if="remark" class="tip mt20">
<label>{{ language == 0 ? '开电子收据须知' : 'Receipt notice' }}:</label>
<div class="pd10">
{{ remark }}
......@@ -437,7 +481,7 @@ const language = useStorage('language', 0)
const totalFee = ref('')
const wePayCodeUrl = ref('')
const form = ref({})
const formInfo=ref({})
const formInfo = ref({})
const type = ref('')
const errorBox = ref(false)
const hideconfirmbtn = ref(false)
......@@ -456,11 +500,11 @@ onMounted(() => {
} else {
payType.value = '3'
}
if(route.query.type){
if (route.query.type) {
type.value = route.query.type
}
if(route.query.orderType){
switch (route.query.orderType){
if (route.query.orderType) {
switch (route.query.orderType) {
case '0':
type.value = 'hotel'
break
......@@ -476,19 +520,22 @@ onMounted(() => {
case '4':
type.value = 'photography'
break
case '5':
type.value = 'ticket'
break
}
}
if(route.query.matchId){
if (route.query.matchId) {
matchId.value = route.query.matchId
}
getData()
})
function getData() {
if(type.value=='car') {
if (type.value == 'car') {
return booking.getCarBilldetailbyId({orderId: orderId.value}).then(res => {
form.value = res.data
if(language.value==0){
if (language.value == 0) {
totalFee.value = res.data.total
} else {
totalFee.value = res.data.totalEn
......@@ -498,9 +545,9 @@ function getData() {
errorBox.value = true
})
}
if(type.value=='food') {
if (type.value == 'food') {
return booking.getFoodBilldetailbyId({orderId: orderId.value}).then(res => {
if(language.value==0){
if (language.value == 0) {
totalFee.value = res.data.total
} else {
totalFee.value = res.data.totalEn
......@@ -511,9 +558,9 @@ function getData() {
console.log(form.value)
})
}
if(type.value=='hotel') {
if (type.value == 'hotel') {
return booking.getRoomBilldetailbyId({orderId: orderId.value}).then(res => {
if(language.value==0){
if (language.value == 0) {
totalFee.value = res.data.total
} else {
totalFee.value = res.data.totalEn
......@@ -527,15 +574,17 @@ function getData() {
errorBox.value = true
})
}
if(type.value=='makeUp') {
if (type.value == 'makeUp') {
MakeUpOrder()
// MakeUpIno()
}
if(type.value=='photography') {
if (type.value == 'photography') {
photographyOrder()
// photographyInfo()
}
if (type.value == 'ticket') {
}
console.log(payType.value)
}
......@@ -564,8 +613,8 @@ let handle;
function startforGetData() {
handle = setTimeout(() => {
if (type.value=='photography'){
photographyOrder().then(res=>{
if (type.value == 'photography') {
photographyOrder().then(res => {
if (form.value.payDate) {
if (handle) {
clearTimeout(handle)
......@@ -575,8 +624,8 @@ function startforGetData() {
startforGetData()
}
})
}else if(type.value=='makeUp'){
MakeUpOrder().then(res=>{
} else if (type.value == 'makeUp') {
MakeUpOrder().then(res => {
if (form.value.payDate) {
if (handle) {
clearTimeout(handle)
......@@ -586,8 +635,8 @@ function startforGetData() {
startforGetData()
}
})
}else{
getData().then( res => {
} else {
getData().then(res => {
if (form.value.payDate) {
if (handle) {
clearTimeout(handle)
......@@ -606,10 +655,10 @@ function showLogin() {
}
function MakeUpOrder(){
function MakeUpOrder() {
return booking.getMealOrderInfo({orderId: orderId.value}).then(res => {
form.value=res.data
totalFee.value=language.value==0?form.value.total:form.value.totalEn
form.value = res.data
totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
matchId.value = form.value.activeId
MakeUpIno()
console.log(res)
......@@ -618,9 +667,10 @@ function MakeUpOrder(){
errorBox.value = true
})
}
function MakeUpIno(){
booking.getMealOrderInfoByLogex({asmId: form.value.asmId}).then(res=>{
formInfo.value=res.data
function MakeUpIno() {
booking.getMealOrderInfoByLogex({asmId: form.value.asmId}).then(res => {
formInfo.value = res.data
console.log(res)
})
.catch((e) => {
......@@ -630,10 +680,10 @@ function MakeUpIno(){
}
function photographyOrder(){
function photographyOrder() {
return booking.getPhotoOrderInfo({orderId: orderId.value}).then(res => {
form.value=res.data
totalFee.value=language.value==0?form.value.total:form.value.totalEn
form.value = res.data
totalFee.value = language.value == 0 ? form.value.total : form.value.totalEn
photographyInfo()
}).catch(err => {
console.log(err)
......@@ -641,9 +691,9 @@ function photographyOrder(){
})
}
function photographyInfo(){
booking.getPhotoOrderInfoByLogex({aspId: form.value.aspId}).then(res=>{
formInfo.value=res.data
function photographyInfo() {
booking.getPhotoOrderInfoByLogex({aspId: form.value.aspId}).then(res => {
formInfo.value = res.data
})
// .catch((e) => {
// console.log(e)
......@@ -653,22 +703,22 @@ function photographyInfo(){
const cancel = () => {
//取消订单
proxy.$modal.confirm(language.value == 0 ? '确定取消订单吗 ?' :`Are you sure to cancel the order?`).then(() => {
return cancelOrder2(orderId.value).then(res=>{
proxy.$modal.confirm(language.value == 0 ? '确定取消订单吗 ?' : `Are you sure to cancel the order?`).then(() => {
return cancelOrder2(orderId.value).then(res => {
getData()
ElMessage({
message: language.value == 0?'操作成功':'Successful operation!',
message: language.value == 0 ? '操作成功' : 'Successful operation!',
type: 'success'
})
})
})
}
const unsubscribe = () => {
proxy.$modal.confirm(language.value == 0 ?`确定退款吗 ?`:'Are you sure to refund?').then(() => {
return cancelOrder(orderId.value).then(res=>{
proxy.$modal.confirm(language.value == 0 ? `确定退款吗 ?` : 'Are you sure to refund?').then(() => {
return cancelOrder(orderId.value).then(res => {
getData()
ElMessage({
message: language.value == 0?'已提交退款,请等待审核!':'Refund has been submitted, please wait for review!',
message: language.value == 0 ? '已提交退款,请等待审核!' : 'Refund has been submitted, please wait for review!',
type: 'success'
})
})
......@@ -679,7 +729,7 @@ function exportPdf() {
var obj = {
orderId: orderId.value
}
if(language.value==0){
if (language.value == 0) {
proxy.download('/ota/orderRoom/downRoomConfirmation', {
...obj
}, `订房确认书.pdf`)
......@@ -692,9 +742,9 @@ function exportPdf() {
}
// 套餐详情
function handleView(){
function handleView() {
console.log(form.value)
proxy.$refs['DialogRef'].open(language.value==0? form.value.details:form.value.detailsEn)
proxy.$refs['DialogRef'].open(language.value == 0 ? form.value.details : form.value.detailsEn)
}
function downInvoice() {
......@@ -706,15 +756,16 @@ function downInvoice() {
}
}
function getremark(){
function getremark() {
getBaseInfoByActiveId(matchId.value).then(res => {
if (res.data) {
remark.value = res.data.remarks
}
})
}
function submitSJ() {
if(!lpName.value){
if (!lpName.value) {
ElMessage.warning(language.value == 0 ? '请填写开票人' : 'Please fill in the invoice recipient')
return
}
......@@ -727,6 +778,7 @@ function submitSJ() {
showSJ()
})
}
const showSJ = () => {
// 查看电子收据预览信息
var obj = {
......@@ -745,11 +797,19 @@ const showSJ = () => {
}
</script>
<style scoped lang="scss">
.st-info{line-height: 2;font-size: 14px;}
.underline{text-decoration: underline;}
<style lang="scss" scoped>
.st-info {
line-height: 2;
font-size: 14px;
}
.underline {
text-decoration: underline;
}
.wePrice {
font-size: 24px;font-family: "DIN Alternate";
font-size: 24px;
font-family: "DIN Alternate";
font-weight: 400;
}
......@@ -899,7 +959,7 @@ const showSJ = () => {
margin-top: 10px
}
.price{
color:orange;
.price {
color: orange;
}
</style>
......
......@@ -8,8 +8,8 @@
<el-row gutter="20">
<el-col :lg="16" class="left">
<div class="info">
<div class="name">{{ order.activityName }}</div>
<div class="address">{{ order.placeName }}</div>
<div class="name">{{ TickForm.name }}</div>
<div class="address">{{ TickForm.address }}</div>
</div>
<div class="ticket_info mb20">
......@@ -135,7 +135,13 @@
<script setup>
import {ref} from 'vue'
import {customerListApi, getTicketTotalApi, submitOrderTicket, listApi} from '@/apiPc/booking'
import {
customerListApi,
getTicketTotalApi,
submitOrderTicket,
listApi,
getTicketListApi, getTicketInfoByActivityId,
} from '@/apiPc/booking'
import {ElMessage} from "element-plus";
import {languageFormat} from "@/viewsPc/seat/utils/language.js";
import useUserStore from "/@/store/modules/user";
......@@ -171,6 +177,7 @@ const price = ref({
total_cn: 0
})
const tickType = ref({})
const matchType = ref({})
const rules = ref({
contacts: [
{
......@@ -195,6 +202,7 @@ const rules = ref({
],
})
const formRef = ref(null)
const TickForm = ref({})
let timer = null;
......@@ -319,19 +327,27 @@ async function getTicketTotal() {
const res = await getTicketTotalApi(orderForm.value)
price.value = res.data
orderForm.value.total = language == 0 ? price.value.total_cn : price.value.total_en
console.log(orderForm.value)
}
// 获取票档信息
async function getTicketListType() {
const res = await listApi({latId: orderForm.value.latId})
tickType.value = res.rows.find(item => item.id == orderForm.value.attId)
orderForm.value.ticketDate = tickType.value.name
orderForm.value.ticketType = tickType.value.ticketType
orderForm.value.ticketDate = JSON.stringify(tickType.value)
}
getTicketListType()
// 票档信息
async function getTicketList() {
const res = await getTicketListApi({activityId: route.params.activeId})
matchType.value = res.rows.find(item => item.id == orderForm.value.atId)
orderForm.value.ticketType = JSON.stringify(matchType.value)
}
getTicketList()
// 提交
async function paymentHandle() {
await formRef.value.validate()
......@@ -341,6 +357,12 @@ async function paymentHandle() {
}
}
async function getDetail() {
const res = await getTicketInfoByActivityId({activityId: orderForm.value.activeId})
TickForm.value = res.data
}
getDetail()
</script>
......
......@@ -19,6 +19,8 @@
<label v-if="b.orderType == 3" class="orangeTag"> {{ language == 0 ? '化妆' : 'MakeUp' }} </label>
<label v-if="b.orderType == 4" class="orangeTag"> {{ language == 0 ? '拍摄' : 'Shooting ' }} </label>
<span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span>
<label v-if="b.orderType == 5" class="orangeTag"> {{ language == 0 ? '票务' : 'TICKETING ' }} </label>
<span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span>
</div>
<div class="status-po">
......@@ -76,6 +78,16 @@
}}
</p>
</div>
<div v-if="b.orderType==5">
<h3 class="name">{{ b.name }}</h3>
<p>
<!-- {{-->
<!-- dayjs(b.deliveryTime).format('YYYY-MM-DD') + ' ' + b.extJsonObj.timePeriod?.split('-')[0] + '-' + dayjs(b.deliveryTime).format('YYYY-MM-DD') + ' ' + b.extJsonObj.timePeriod?.split('-')[1]-->
<!-- }}-->
{{ b.extJsonObj.ticketDate.name }}
</p>
</div>
</el-col>
<el-col :lg="6" :md="12" :sm="12" :xs="24">
<div v-if="b.orderType == 0">
......@@ -89,6 +101,9 @@
<div v-if="b.orderType == 3||b.orderType == 4">
<p>{{ b.extJsonObj.packageName }}</p>
</div>
<div v-if="b.orderType == 5">
<p>{{ b.extJsonObj.packageName }}</p>
</div>
</el-col>
<el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
<span class="text-warning"> {{ language == 0 ? '¥' : '€' }}
......@@ -97,9 +112,12 @@
</el-col>
<el-col :lg="6" :md="16" :sm="16" :xs="16">
<div class="text-right mb20 text-danger">
<el-countdown v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
:value="b.countdown" format="mm:ss"
value-style="color:#E60012;font-size:16px;" @finish="finish(b)"/>
<el-countdown
v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')"
:value="b.countdown"
format="mm:ss"
value-style="color:#E60012;font-size:16px;"
@finish="finish(b)"/>
</div>
<div class="text-right">
......@@ -160,9 +178,17 @@ function finish(bill) {
function getList() {
newbilllist({createById: user.userId}).then(res => {
list.value = res.rows || []
for (var b of list.value) {
for (let b of list.value) {
b.messageObj = JSON.parse(b.message) || {}
b.extJsonObj = JSON.parse(b.extJson) || {}
if (b.orderType == 5) {
try {
b.extJsonObj.ticketDate = b.extJsonObj.ticketDate ? JSON.parse(b.extJsonObj.ticketDate) : {}
b.extJsonObj.ticketType = b.extJsonObj.ticketType ? JSON.parse(b.extJsonObj.ticketType) : {}
} catch (e) {
console.log(e)
}
}
if (b.surplus && b.status == '0' && (b.surplus != '0,0' && b.surplus != '0')) {
b.countdown = Date.now() + Number((b.surplus.split(',')[0] * 60 + b.surplus.split(',')[1]) * 10)
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!