8ea6b012 by zhangmeng

Merge remote-tracking branch 'origin/devmatch' into devmatch

2 parents 3bb29bd7 e21670cf
......@@ -20,43 +20,12 @@
<label class="blueTag">{{ paymentType != 3 ? '票务订单' : 'Ticket' }}</label>
<h3>{{ matchForm.name }}</h3>
<div>
<p>地址:{{ matchForm.address }}</p>
<p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p>
<p>时间:{{ ticketForm.extJson?.ticketDate.name }}</p>
<p>通票:{{
paymentType != 3 ? '¥' : '€'
}}
{{
paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn
}}
/1张</p>
<p>优惠票:{{
paymentType != 3 ? '¥' : '€'
}}
{{
paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
}}
/1张</p>
<p class="poPrice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</p>
<p>票档:{{ ticketForm.extJson?.atName }}</p>
<p>场馆:{{ ticketForm.extJson?.atsName }}</p>
<p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p>
<p>票型:{{ ticketForm.extJson?.atstName }}</p>
</div>
<div>
<el-row v-for="v in message" style="width: 100%">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{ v.name }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{ !v.discount ? '通票' : '优惠票' }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
{{
!v.discount ? paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn : paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
}}
{{ paymentType != 3 ? '¥' : '€' }}/张
</el-col>
</el-row>
<el-row style="width: 100%">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>购票数量:{{ ticketForm.num }}
......@@ -65,14 +34,14 @@
<el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }}
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
共计:{{ (totalMoney * 1).toFixed(2) }}{{
paymentType != 3 ? '¥' : '€'
共计:{{ (totalMoney*1).toFixed(2) }}{{
paymentType == 1 ? '¥' : '€'
}}
</el-col>
</el-row>
</div>
</div>
<div class="leftboderTT">
{{ paymentType != 3 ? '开票信息' : 'Invoice information' }}
</div>
......@@ -82,15 +51,15 @@
class="mw500"
>
<el-form-item :label="language==0 ?'开票金额':'Amount'">
<span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span>
<span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ paymentType != 3?ticketForm.total:ticketForm.totalEn }}</span>
</el-form-item>
<el-form-item :label="language==0 ?`发票形式`:'Invoice Form'" prop="invoiceForm" required>
<el-radio-group v-model="form.invoiceForm">
<el-radio value="1">{{ language == 0 ? '电子发票' : 'E-invoice' }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item :label="language==0 ?`发票类型`:'Invoice Type'" prop="invoiceType" required>
<el-radio-group v-model="form.invoiceType">
<el-radio value="0">{{ language == 0 ? '企业' : 'Company' }}</el-radio>
......@@ -132,7 +101,7 @@
</el-form-item>
</div>
</el-form>
<div v-if="remark" class="tip">
<label>{{ paymentType != 3 ? '开票须知' : 'Invoice Notice' }}:</label>
<div v-html="remark" />
......@@ -140,7 +109,7 @@
</div>
</el-col>
</el-row>
<el-row align="middle" class="pd20" justify="center">
<el-col :span="12" class="text-center">
<el-button class="btn-lineG w200px" round size="large" type="primary" @click="submit">
......@@ -150,7 +119,7 @@
</el-row>
</el-card>
<div style="height: 60px;" />
</div>
</div>
<address-list-dialog ref="dialogAddressListRef" @submit="getAddress" />
......@@ -248,27 +217,27 @@ async function getTickInfo() {
ticketForm.value = res.data
try {
ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson)
ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate)
ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType)
cptId = ticketForm.value.extJson.ticketDate.activityId
totalMoney.value.val = ticketForm.value.extJson.total
message.value = JSON.parse(ticketForm.value.extJson.message)
console.log(message.value)
// ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate)
// ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType)
cptId = ticketForm.value.activeId
totalMoney.value = ticketForm.value.paymentType != 3 ? ticketForm.value.total : ticketForm.value.totalEn
// message.value = JSON.parse(ticketForm.value.extJson.message)
// console.log(message.value)
paymentType.value = ticketForm.value.paymentType
totalMoney.value = paymentType.value == 3 ? ticketForm.value.totalEn : ticketForm.value.total
await getDetail(ticketForm.value.extJson.ticketDate.activityId)
console.log(ticketForm.value)
await getDetail(ticketForm.value.activeId)
// console.log(ticketForm.value)
} catch (e) {
console.log(e)
} finally {
}
}
async function getDetail(activeId) {
const res = await getTicketInfoByActivityId({ activityId: activeId })
matchForm.value = res.data
console.log(matchForm.value)
// console.log(matchForm.value)
}
function getList() {
......@@ -370,7 +339,7 @@ function goBack() {
.border-info {
position: relative;
& > label {
position: absolute;
right: 0;
......@@ -380,7 +349,7 @@ function goBack() {
padding: 5px 15px;
font-size: 14px;
}
.poPrice {
position: absolute;
bottom: 0px;
......@@ -435,12 +404,12 @@ function goBack() {
.ccitemBox {
overflow: auto;
label {
margin: 10px 0;
display: block;
min-height: 30px;
span {
color: #FF8124;
font-family: DIN Alternate;
......@@ -455,12 +424,12 @@ function goBack() {
font-size: 15px;
color: #666;
margin: 5px 0 10px;
label {
font-size: 16px;
color: #000;
}
span {
font-size: 13px;
}
......
......@@ -6,7 +6,7 @@
<div class="bg-lineg">
<div class="pl-back" @click="goBack">
<el-icon>
<ArrowLeftBold/>
<ArrowLeftBold />
</el-icon>
返回
</div>
......@@ -21,52 +21,22 @@
<label class="blueTag">票务订单</label>
<h3>{{ matchForm.name }}</h3>
<div>
<p>地址:{{ matchForm.address }}</p>
<p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p>
<p>时间:{{ ticketForm.extJson?.ticketDate.name }}</p>
<p>通票:{{ paymentType != 3 ? '¥' : '€' }}
{{
paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn
}}
/1张</p>
<p>优惠票:{{ paymentType != 3 ? '¥' : '€' }}
{{
paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
}}
/1张</p>
<p class="poPrice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</p>
<p>票档:{{ ticketForm.extJson?.atName }}</p>
<p>场馆:{{ ticketForm.extJson?.atsName }}</p>
<p>场次:{{ ticketForm.extJson?.sessionType =='1000'? '日间场' : '夜间场' }}</p>
<p>票型:{{ ticketForm.extJson?.atstName }}</p>
</div>
<div>
<el-row v-for="v in message" style="width: 100%">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{ v.name }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{ !v.discount ? '通票' : '优惠票' }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
{{
!v.discount ? paymentType != 3 ? ticketForm.extJson?.ticketDate.price : ticketForm.extJson?.ticketDate.priceEn : paymentType != 3 ? ticketForm.extJson?.ticketDate.rebatePrice : ticketForm.extJson?.ticketDate.rebatePriceEn
}}
{{ paymentType != 3 ? '¥' : '€' }}/张
</el-col>
</el-row>
<el-row style="width: 100%">
<el-col :lg="8" :md="12" :sm="12" :xs="24">
<div>{{
language == 0 ? '购票数量' : 'Number of tickets purchased'
}}{{ ticketForm.num }}
<div>购票数量:{{ ticketForm.num }}
</div>
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">{{
language == 0 ? '联系方式' : 'Contact Information'
}}{{ ticketForm.phone }}
<el-col :lg="8" :md="12" :sm="12" :xs="24">联系方式:{{ ticketForm.phone }}
</el-col>
<el-col :lg="8" :md="12" :sm="12" :xs="24">
共计:{{ (totalMoney * 1).toFixed(2) }}{{
paymentType != 3 ? '¥' : '€'
共计:{{ (totalMoney*1).toFixed(2) }}{{
paymentType == 1 ? '¥' : '€'
}}
</el-col>
</el-row>
......@@ -74,8 +44,10 @@
</div>
<div class="leftboderTT">{{ language == 0 ? '开票信息' : 'Invoice information' }}</div>
<div class="border-rr mt20 pd20">
<el-form ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules"
class="mw500">
<el-form
ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules"
class="mw500"
>
<el-form-item :label="'开票金额'">
<span class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span>
</el-form-item>
......@@ -124,27 +96,27 @@
<el-button plain round type="primary" @click="backList">返回</el-button>
</div>
</el-card>
<div style="height: 60px;"></div>
<div style="height: 60px;" />
</div>
</div>
</template>
<script setup>
import {useRouter, useRoute} from "vue-router";
import {ref, onMounted} from "vue";
import {useStorage} from "@vueuse/core/index";
import { useRouter, useRoute } from 'vue-router'
import { ref, onMounted } from 'vue'
import { useStorage } from '@vueuse/core/index'
import dayjs from 'dayjs'
import {ElMessage, ElMessageBox} from "element-plus";
import useUserStore from "@/store/modules/user";
import {getCurrentInstance} from "@vue/runtime-core";
import { ElMessage, ElMessageBox } from 'element-plus'
import useUserStore from '@/store/modules/user'
import { getCurrentInstance } from '@vue/runtime-core'
import {
getInvoiceDetail,
getTicketOrderInfo,
getTicketInfoByActivityId
} from "@/apiPc/booking";
import {getOrderDetail} from "@/viewsPc/seat/api/index";
} from '@/apiPc/booking'
import { getOrderDetail } from '@/viewsPc/seat/api/index'
const {proxy} = getCurrentInstance()
const { proxy } = getCurrentInstance()
const user = useUserStore().user
const language = useStorage('language', 0)
......@@ -164,58 +136,57 @@ const invoiceId = ref()
const rules = ref({
invoiceType: [
{required: true, message: language.value == 0 ? '请选择发票类型' : 'Please select invoice type', trigger: 'change'}
{ required: true, message: language.value == 0 ? '请选择发票类型' : 'Please select invoice type', trigger: 'change' }
],
invoiceEmail: [
{required: true, message: language.value == 0 ? '请输入邮箱' : 'Please enter email', trigger: 'blur'}
{ required: true, message: language.value == 0 ? '请输入邮箱' : 'Please enter email', trigger: 'blur' }
],
invoiceForm: [
{required: true, message: language.value == 0 ? '请选择发票形式' : 'Please select invoice form', trigger: 'change'}
{ required: true, message: language.value == 0 ? '请选择发票形式' : 'Please select invoice form', trigger: 'change' }
],
invoiceTitle: [
{required: true, message: language.value == 0 ? '请输入发票抬头' : 'Please enter invoice title', trigger: 'blur'}
{ required: true, message: language.value == 0 ? '请输入发票抬头' : 'Please enter invoice title', trigger: 'blur' }
],
invoiceTfn: [
{required: true, message: language.value == 0 ? '请输入税号' : 'Please enter TFN', trigger: 'blur'}
{ required: true, message: language.value == 0 ? '请输入税号' : 'Please enter TFN', trigger: 'blur' }
],
invoiceAddress: [
{required: true, message: language.value == 0 ? '请输入地址' : 'Please enter address', trigger: 'blur'}
{ required: true, message: language.value == 0 ? '请输入地址' : 'Please enter address', trigger: 'blur' }
],
invoicePhone: [
{required: true, message: language.value == 0 ? '请输入电话' : 'Please enter phone', trigger: 'blur'}
{ required: true, message: language.value == 0 ? '请输入电话' : 'Please enter phone', trigger: 'blur' }
],
invoiceBank: [
{required: true, message: language.value == 0 ? '请输入开户行' : 'Please enter bank', trigger: 'blur'}
{ required: true, message: language.value == 0 ? '请输入开户行' : 'Please enter bank', trigger: 'blur' }
],
invoiceAccount: [
{required: true, message: language.value == 0 ? '请输入账户' : 'Please enter account', trigger: 'blur'}
],
{ required: true, message: language.value == 0 ? '请输入账户' : 'Please enter account', trigger: 'blur' }
]
})
onMounted(() => {
if (route.query.invoiceId) {
invoiceId.value = route.query.invoiceId
getList()
}
// 获取票务订单信息
// 获取票务订单信息
getTickInfo()
})
// 票务订单详情
async function getTickInfo() {
const res = await getTicketOrderInfo({orderId: route.query.orderId})
const res = await getTicketOrderInfo({ orderId: route.query.orderId })
ticketForm.value = res.data
try {
ticketForm.value.extJson = JSON.parse(ticketForm.value.extJson)
ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate)
ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType)
cptId = ticketForm.value.extJson.ticketDate.activityId
totalMoney.val = ticketForm.value.extJson.total
message.value = JSON.parse(ticketForm.value.extJson.message)
// ticketForm.value.extJson.ticketDate = JSON.parse(ticketForm.value.extJson.ticketDate)
// ticketForm.value.extJson.ticketType = JSON.parse(ticketForm.value.extJson.ticketType)
cptId = ticketForm.value.activeId
totalMoney.value = ticketForm.value.paymentType != 3 ? ticketForm.value.total : ticketForm.value.totalEn
// message.value = JSON.parse(ticketForm.value.extJson.message)
paymentType.value = ticketForm.value.paymentType
totalMoney.value = paymentType.value == 3 ? ticketForm.value.totalEn : ticketForm.value.total
await getDetail(ticketForm.value.extJson.ticketDate.activityId)
console.log(ticketForm.value)
await getDetail(cptId)
// console.log(ticketForm.value)
} catch (e) {
console.log(e)
} finally {
......@@ -224,19 +195,19 @@ async function getTickInfo() {
}
async function getDetail(activeId) {
const res = await getTicketInfoByActivityId({activityId: activeId})
const res = await getTicketInfoByActivityId({ activityId: activeId })
matchForm.value = res.data
console.log(matchForm.value)
}
async function getDataInfo() {
const res = await getOrderDetail({orderSn: route.query.orderSn})
const res = await getOrderDetail({ orderSn: route.query.orderSn })
formDate.value = res.data
}
function getList() {
getInvoiceDetail(invoiceId.value).then(res => {
form.value = res.data;
form.value = res.data
totalMoney.value = form.value.total
})
}
......
......@@ -14,7 +14,7 @@
<el-row :gutter="20" align="middle" class="hote ">
<el-col :span="language == 0?16:24">
<h3 class="esp flex">{{ scenicItem?.name }}
<!-- <el-tag class="ml20" effect="dark">{{ scenicItem?.rank || 0 }}A</el-tag>-->
</h3>
<div class="info">
......@@ -33,7 +33,7 @@
<!-- ~ {{scenicItem?.workTime }}-->
</span>
</div>
<div class="info esp">
<el-icon>
<MapLocation />
......@@ -45,7 +45,7 @@
</el-col>
</el-row>
</div>
<div class="leftboderTT">{{ language == 0 ? '预约信息' : 'Reservation information' }}</div>
<div class="border-rr mt20 pd20">
<el-form
......@@ -120,21 +120,21 @@
</el-icon>
</div>
</div>
<el-form-item :label="language==0?'联系人':'Contact'" prop="contacts">
<el-input v-model="form.contacts" />
</el-form-item>
<el-form-item :label="language==0?'联系电话':'Contact phone'" prop="phone" required>
<el-input v-model="form.phone" />
</el-form-item>
</el-form>
</div>
</el-col>
<el-col :span="10">
<div class="leftboderTT">{{ language == 0 ? '订单明细' : 'Order details' }}</div>
<div class="border-rr mt20 pd20 ccitemBox">
<div v-for="(c, index) in gateList" v-show="c.count>0" :key="index" class="ccitem">
{{ c.name }}
<span v-if="language==0">
......@@ -143,18 +143,18 @@
<span v-else>{{ c.count }} * {{ '€' }} {{ c.priceEn }}
</span>
</div>
<label>{{ language == 0 ? '共计' : 'Total' }}
<span class="fr bigMoney">
{{ language == 0 ? '¥' : '€' }} {{ money }}
</span>
</label>
</div>
</el-col>
</el-row>
</el-card>
<el-card class="mt30">
<el-row align="middle" justify="space-between">
<el-col :span="12">
......@@ -176,7 +176,7 @@
</el-card>
<div style="height: 60px;" />
</div>
<choose-person ref="choosePersonRef" @add-person="addPerson" />
</div>
</template>
......@@ -319,7 +319,7 @@ function getCountInfo() {
function changeNum(e) {
checkPersonNum()
if (e.personArr.length < e.count) {
e.personArr.push({
customerId: '',
......@@ -330,7 +330,7 @@ function changeNum(e) {
} else if (e.personArr.length > e.count) {
e.personArr.splice(e.count)
}
countMoney()
}
......@@ -343,8 +343,8 @@ const showAddPerson = (item, index, person) => {
}
})
})
choosePersonRef.value.open({
gateId: item.id,
gateType: item.gateType,
......@@ -361,13 +361,13 @@ const addPerson = (item) => {
idcType: item.idcType,
idCard: item.idCard
}
checkPersonNum()
}
const delPerson = (item, index) => {
item.personArr.splice(index, 1)
item.count--
checkPersonNum()
countMoney()
}
......@@ -399,7 +399,7 @@ function submit() {
ElMessage.warning(language.value == 0 ? '出行人数与票数不匹配' : 'The number of people travelling does not match the number of rooms')
return
}
// 提交确认
ElMessageBox.confirm(language.value == 0 ? '确认提交订单吗?' : 'Confirm to submit the order?', {
confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
......@@ -410,7 +410,7 @@ function submit() {
form.value.asId = route.query.lasId
form.value.orderName = scenicItem.value.name
form.value.dcStart = rzRange.value
const personArr = []
_.each(gateList.value, (item) => {
if (item.count > 0) {
......@@ -433,7 +433,7 @@ function submit() {
}
})
form.value.touristList = personArr
submitOrderScenic(form.value).then(res => {
if (res.data) {
if (res.data.orderId == -400) {
......@@ -495,12 +495,12 @@ function handleGo() {
.ccitemBox {
overflow: auto;
label {
margin: 10px 0;
display: block;
min-height: 30px;
span {
color: #FF8124;
font-family: DIN Alternate;
......@@ -515,12 +515,12 @@ function handleGo() {
font-size: 15px;
color: #666;
margin: 5px 0 10px;
label {
font-size: 16px;
color: #000;
}
span {
font-size: 13px;
}
......@@ -533,7 +533,7 @@ function handleGo() {
.fakeFormItem {
display: flex;
padding: 10px 0;
label {
height: 32px;
font-size: var(--el-form-label-font-size);
......@@ -559,11 +559,11 @@ function handleGo() {
.personIt {
display: flex;
align-items: center;
.mation {
width: 200px;
font-size: 12px;
div {
font-size: 14px;
}
......@@ -572,7 +572,7 @@ function handleGo() {
.father {
position: relative;
}
.son {
......
......@@ -86,10 +86,10 @@
<el-col :lg="9" :md="12" :sm="12" :xs="24">
<h3 class="m0">{{ b.name }}</h3>
<p> {{ language == 0 ? "时间" : "Event Date & Time" }}{{
b.messageObj.ticketDate.name
b.messageObj.atName
}}</p>
<p class="common">
{{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.num }}{{ language == 0 ? "张" : "tickets" }}
{{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.orderCustomerList.length }}{{ language == 0 ? "张" : "tickets" }}
</p>
</el-col>
<el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
......@@ -336,8 +336,6 @@ const getList = () => {
list.value = res.rows
for (const b of list.value) {
b.messageObj = JSON.parse(b.extJson)
b.messageObj.ticketDate = JSON.parse(b.messageObj.ticketDate)
b.messageObj.ticketType = JSON.parse(b.messageObj.ticketType)
}
loading.value = false
console.log(list.value)
......
......@@ -109,7 +109,7 @@ watch(matchId, (val) => {
})
onMounted(() => {
})
function building() {
......@@ -126,7 +126,7 @@ function popRemark(type) {
(form.value.isFoodView == 0 && type == '3') ||
(form.value.isMealView == 0 && type == '4') ||
(form.value.isPhotoView == 0 && type == '5') ||
(form.value.isTicket == 0 && type == '0') ||
(form.value.isTicketView == 0 && type == '0') ||
(form.value.isScenicView == 0 && type == '8')
) {
building()
......@@ -186,7 +186,7 @@ function goBooking(n) {
.itemBox_en {
padding: 20px 40px;
p {
margin: 0;
height: 40px;
......@@ -205,7 +205,7 @@ function goBooking(n) {
background: url("@/assets/dance/btn_bg.png") no-repeat left #FFFFFF;
background-size: 100% 100%;
border-radius: 15px;
img {
margin: 0 5%;
}
......@@ -226,20 +226,20 @@ function goBooking(n) {
background-size: cover;
position: relative;
border-radius: 15px;
img {
position: absolute;
top: -30px;
transition: all 0.2s;
}
&:hover {
box-shadow: 0 0 10px #333;
img {
transform: rotateY(180deg);
}
p {
color: #000;
}
......@@ -252,7 +252,7 @@ function goBooking(n) {
}
.item {
font-size: 16px;
img {
width: 50px;
height: 50px
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!