83f265ca by zhangmeng

场次

1 parent 11b2e06d
......@@ -271,19 +271,26 @@
<el-col :span="24">{{ language == 0 ? '备注' : 'Remarks' }}{{ form.remarks }}</el-col>
</el-row>
<el-row v-if="type == 'ticket'" style="width: 100%">
<el-col :lg="12">
<el-col :lg="8">
{{ language == 0 ? '联系人' : 'Contact' }}{{ form.contacts }}
</el-col>
<el-col :lg="12">
<el-col :lg="8">
{{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }}
</el-col>
<el-col :lg="8">
{{ language == 0 ? '联系方式' : 'Contact' }}{{ form.phone }}
</el-col>
<el-row v-for="(v,i) in form.extJson?.orderCustomerList" :key="i" style="width: 100%">
<el-col :lg="12" :md="12" :sm="12" :xs="24">
<el-col :lg="8" :md="8" :sm="12" :xs="24">
{{ v.name }} -
<span class="text-gray">{{ v.idCard }}</span>
</el-col>
<el-col :lg="12" :md="12" :sm="12" :xs="24" class="text-right">
<el-col :lg="8" :md="8" :sm="12" :xs="24" class="">
<span v-if="v.deskNo" class="">{{ language == 0 ? '座位号' : 'Seat Number' }}{{
v.deskNo + '-' + v.seatNo
}}</span>
</el-col>
<el-col :lg="8" :md="8" :sm="12" :xs="24" class="text-right">
<span v-if="language == 0 " class="text-primary">{{ form.price }}</span>
<span v-else>{{ form.priceEn || 0 }}</span>
</el-col>
......
<template>
<div>
<!-- top -->
<div class="container top">
<div class="container top father">
<img :src="fillImgUrl(matchForm.ticketImg)" alt="" class="cover_img">
<div class="info">
<div class="title">{{ matchForm.name }}</div>
......@@ -151,15 +151,15 @@
{{ triggerLanguage(language, "票型", "Ticket Type") }} :
</div>
<div>
<span
v-if="currTick?.images"
style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"
@click="showUrl=currTick.images;show=true"
> <span style="color: red;font-size: 18px">*</span>
{{
language == 0 ? '点击查看区域布局' : 'View Area Layout'
}}
</span>
<!-- <span-->
<!-- v-if="currTick?.images"-->
<!-- style="color: #493ceb;cursor:pointer;font-weight:600;font-size: 14px"-->
<!-- @click="showUrl=currTick.images;show=true"-->
<!-- > <span style="color: red;font-size: 18px">*</span>-->
<!-- {{-->
<!-- language == 0 ? '点击查看区域布局' : 'View Area Layout'-->
<!-- }}-->
<!-- </span>-->
</div>
</div>
<div class="select_item_box">
......@@ -221,7 +221,15 @@
</div>
</div>
<el-image
v-if="currTick?.images"
:preview-src-list="[fillImgUrl(currTick?.images)]"
:src="fillImgUrl(currTick?.images) "
class="son"
fit="cover"
preview-teleported
style="width:200px"
/>
</div>
</div>
......@@ -345,10 +353,10 @@ async function getTicketListType() {
tickList.value = res.data
selectForm.value.sessionType = Object.keys(res.data)[0]
currTick.value = tickList.value[selectForm.value.sessionType][0]
selectForm.value.latstId = currTick.value?.id
selectForm.value.price = currTick.value?.price
selectForm.value.priceEn = currTick.value?.priceEn
// currTick.value = tickList.value[selectForm.value.sessionType][0]
// selectForm.value.latstId = currTick.value?.id
// selectForm.value.price = currTick.value?.price
// selectForm.value.priceEn = currTick.value?.priceEn
}
function select(v) {
......@@ -378,12 +386,13 @@ function selectVenue(v) {
function selectSessionType(key) {
selectForm.value.sessionType = key
currTick.value = tickList.value[selectForm.value.sessionType][0]
// currTick.value = tickList.value[selectForm.value.sessionType][0]
selectForm.value.latstId = currTick.value?.id
selectForm.value.price = currTick.value?.price
selectForm.value.priceEn = currTick.value?.priceEn
}
// 选择票型
function selectTick(v) {
currTick.value = v
selectForm.value.latstId = v.id
......@@ -760,4 +769,13 @@ getmatchData()
text-align: center;
}
.father {
position: relative;
}
.son {
position: absolute;
bottom: 30px;
right: 50px;
}
</style>
......
......@@ -4,12 +4,12 @@
<div class="indexTitle">
<h3 class="leftboderTT">{{ language == 0 ? '我的预订' : 'My reservation' }}
</h3>
<!-- <el-button class="fr" type="primary" plain @click="toInvoice">{{ language==0?'发票开具':'Invoice' }}</el-button>-->
<!-- <el-button class="fr" type="primary" plain @click="toInvoice">{{ language==0?'我的发票':'My Invoice' }}</el-button>-->
</div>
<el-empty v-if="list?.length == 0" :image="`/img/order_no.png`" :image-size="228"/>
<el-empty v-if="list?.length == 0" :image="`/img/order_no.png`" :image-size="228" />
<div class="pd20">
<div v-for="b in list" class="item">
<div class="title">
......@@ -20,27 +20,29 @@
<label v-if="b.orderType == 4" class="orangeTag"> {{ language == 0 ? '拍摄' : 'Shooting ' }} </label>
<label v-if="b.orderType == 5" class="greenTag"> {{ language == 0 ? '票务' : 'TICKETING ' }} </label>
<label v-if="b.orderType == 6" class="orangeTag"> {{ language == 0 ? '旅游' : 'Travel ' }} </label>
<span>{{ language == 0 ? '订单编号:' : 'No.' }} {{ b.id }}</span>
</div>
<div class="status-po">
<span v-if="b.status == '0'&&b.surplus!='0,0'&&b.surplus!='0'" class="bg-warning">
{{ language == 0 ? '待支付' : 'Unpaid' }}
</span>
<span v-if="b.status == '0'&&(b.surplus=='0,0'||b.surplus=='0')"
class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span>
<span
v-if="b.status == '0'&&(b.surplus=='0,0'||b.surplus=='0')"
class="bg-warning"
>{{ language == 0 ? '已取消' : 'Canceled' }}</span>
<span v-if="b.status == '1'" class="bg-blue">{{ language == 0 ? '支付成功' : 'successful' }}</span>
<span v-if="b.status == '2'" class="bg-warning">{{ language == 0 ? '已取消' : 'Canceled' }}</span>
<span v-if="b.status == '3'||b.status == '4'" class="bg-danger">{{
language == 0 ? '已退订' : 'Refunded'
}}</span>
language == 0 ? '已退订' : 'Refunded'
}}</span>
<span v-if="b.status == '7'" class="bg-danger">{{
language == 0 ? '退款审核中' : 'Refund in review'
}}</span>
language == 0 ? '退款审核中' : 'Refund in review'
}}</span>
<span v-if="b.status == '-1'" class="bg-blue">{{ language == 0 ? '已核销' : 'Completed' }}</span>
</div>
<el-row align="middle" class="pd20 mt10" justify="space-between">
<el-col :lg="9" :md="12" :sm="12" :xs="24">
<div v-if="b.orderType == 0">
......@@ -48,7 +50,7 @@
<p v-if="language==0">{{ b.messageObj?.roomStayDate }}</p>
<p v-else>{{ b.messageObj?.roomStayDate.replace('共', ' total ').replace('晚', ' days') }}</p>
<p>{{ b.messageObj?.roomInfo }}</p>
</div>
<div v-if="b.orderType == 1">
<h3 class="name">{{ b.name }}</h3>
......@@ -68,7 +70,7 @@
</div>
<p>{{ language == 0 ? '配送日期' : 'Delivery Date' }}{{ b.extJsonObj.dcEnd }} ~
{{ b.extJsonObj.dcEnd }}</p>
</div>
<div v-if="b.orderType==3 ||b.orderType == 4">
<h3 class="name">{{ b.name }}</h3>
......@@ -78,15 +80,19 @@
}}
</p>
</div>
<div v-if="b.orderType==5">
<h3 class="name">{{ b.name }}</h3>
<p v-if="b.extJsonObj.ticketDate.name">
{{ b.extJsonObj.ticketDate.name }}
</p>
<p>{{ b.extJsonObj.atName }}{{ b.extJsonObj.atsName }}{{ b.extJsonObj.atstName }}</p>
<p v-for="p in b.extJsonObj?.orderCustomerList">
<el-tag class="mr10" v-if="p.deskNo">{{p.deskNo}}-{{p.seatNo}}</el-tag>
<p>{{ b.extJsonObj.atName }}{{ b.extJsonObj.atsName }}
{{
b.extJsonObj.sessionType == '1000' ? language == 0 ? '日间场' : 'Day' : language == 0 ? '夜间场' : 'Night'
}} |
{{ b.extJsonObj.atstName }}</p>
<p v-for="(p,i) in b.extJsonObj?.orderCustomerList" :key="i">
<el-tag v-if="p.deskNo" class="mr10">{{ p.deskNo }}-{{ p.seatNo }}</el-tag>
{{ p.name }} - {{ p.paymentType == '3' ? '€' : '¥' }}{{ b.extJsonObj.price }}
</p>
</div>
......@@ -101,8 +107,8 @@
<p>{{ b.messageObj?.roomName }}</p>
<p>{{ b.messageObj?.roomInfo }}</p>
</div>
<div v-if="b.orderType == 1"/>
<div v-if="b.orderType == 2"/>
<div v-if="b.orderType == 1" />
<div v-if="b.orderType == 2" />
<div v-if="b.orderType == 3||b.orderType == 4">
<p>{{ b.extJsonObj.packageName }}</p>
</div>
......@@ -118,74 +124,73 @@
<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)"
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">
<el-button
v-if="(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0" class="mb10" plain round
size="small" type="success"
@click="Rebook(b)"
v-if="(b.orderType == 0||b.orderType == 5)&&b.viewStatus!=0" class="mb10" plain round
size="small" type="success"
@click="Rebook(b)"
>
{{ language == 0 ? '再次预订' : 'Rebook' }}
</el-button>
<el-button
class="mb10" plain round size="small" type="primary"
@click="goDetail(b)"
class="mb10" plain round size="small" type="primary"
@click="goDetail(b)"
>
{{ language == 0 ? '详情' : 'Detail' }}
</el-button>
<el-button
v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" class="mb10"
plain round size="small" type="primary" @click="goDetail(b)"
v-if="b.status == '0'&&(b.surplus!='0,0'&&b.surplus!='0')" class="mb10"
plain round size="small" type="primary" @click="goDetail(b)"
>
{{ language == 0 ? '支付' : 'Pay' }}
</el-button>
<el-button
v-if="b.viewStatus==0" class="mb10" plain round size="small"
type="warning"
@click="cancel(b)"
v-if="b.viewStatus==0" class="mb10" plain round size="small"
type="warning"
@click="cancel(b)"
>
{{ language == 0 ? '取消订单' : 'Cancel Order' }}
</el-button>
<el-button
v-if="b.viewStatus==5" class="mb10" plain round size="small"
type="" @click="unsubscribe(b)"
v-if="b.viewStatus==5" class="mb10" plain round size="small"
type="" @click="unsubscribe(b)"
>
{{ language == 0 ? '退订' : 'Unsubscribe' }}
</el-button>
</div>
</el-col>
</el-row>
</div>
</div>
</el-card>
<div class="pd20"/>
<div class="pd20" />
</div>
</template>
<script setup>
import {onMounted, getCurrentInstance} from '@vue/runtime-core'
import {useStorage} from '@vueuse/core/index'
import {newbilllist} from '@/apiPc/common'
import { onMounted, getCurrentInstance } from '@vue/runtime-core'
import { useStorage } from '@vueuse/core/index'
import { newbilllist } from '@/apiPc/common'
import useUserStore from '@/store/modules/user'
import dayjs from 'dayjs'
import {cancelOrder2, cancelOrder} from '/@/apiPc/booking'
import { cancelOrder2, cancelOrder } from '/@/apiPc/booking'
import {ElMessage} from 'element-plus'
import { ElMessage } from 'element-plus'
const router = useRouter()
const language = useStorage('language', 0)
const list = ref([])
const user = useUserStore().user
const {proxy} = getCurrentInstance()
const { proxy } = getCurrentInstance()
onMounted(() => {
getList()
......@@ -197,7 +202,7 @@ function finish(bill) {
}
function getList() {
newbilllist({createById: user.userId}).then(res => {
newbilllist({ createById: user.userId }).then(res => {
list.value = res.rows || []
for (const b of list.value) {
b.messageObj = JSON.parse(b.message) || {}
......@@ -300,28 +305,28 @@ function toInvoice() {
top: 0;
font-size: 12px;
color: #FFFFFF;
span {
border-radius: 0px 10px 0px 10px;
padding: 4px 10px;
}
.bg-danger {
background: #E60012;
}
.bg-warning {
background: #e89f39;
}
.bg-pink {
background: #F740A6;
}
.bg-primary {
background: var(--el-color-primary)
}
.bg-blue {
background: #00a0e9
}
......@@ -332,11 +337,11 @@ function toInvoice() {
overflow: visible;
padding: 0 20px 15px;
border-bottom: 1px solid #e5e5e5;
.fr {
margin: -8px 0 0
}
h3 {
display: inline-block;
font-size: 16px;
......@@ -350,32 +355,32 @@ function toInvoice() {
color: #000000;
margin: 0 0 10px;
}
p {
margin: 8px 0 0;
color: #707070;
font-size: 14px;
}
margin: 0 0 20px;
border: 1px solid #E5E5E5;
border-radius: 10px;
position: relative;
.bbody {
padding: 0 15px 20px;
}
.title {
background: #F7F7F7;
border-bottom: 1px solid #E5E5E5;
span {
font-size: 14px;
color: #4C5359;
}
}
.title label {
border-radius: 5px 0 5px 0;
font-size: 12px;
......@@ -383,19 +388,19 @@ function toInvoice() {
padding: 4px 10px;
margin-right: 10px;
}
.blueTag {
background-color: #1e62c8;
}
.greenTag {
background-color: #1EC886;
}
.purpleTag {
background-color: #717bef;
}
.orangeTag {
background-color: #ff8124;
}
......@@ -420,19 +425,19 @@ function toInvoice() {
right: 10px;
bottom: 60px;
white-space: nowrap;
.warning {
color: #ff8124;
}
.danger {
color: #da2a2a;
}
.gary {
color: #666;
}
.success {
color: #1EC886;
}
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!