d39c19a0 by zhangmeng

票务

1 parent 900d42f9
......@@ -6,148 +6,176 @@
<div slot="header">
<div class="bg-lineg">
<div class="pl-back" @click="goBack">
<el-icon><ArrowLeftBold /></el-icon> 返回
<el-icon>
<ArrowLeftBold/>
</el-icon>
返回
</div>
{{ language == 0 ? '发票开具' : 'Invoice application' }}</div>
{{ language == 0 ? '发票开具' : 'Invoice application' }}
</div>
</div>
<el-row class="pd20" :gutter="20">
<el-row :gutter="20" class="pd20">
<el-col :span="24">
<!--已选订单-->
<div v-if="orderType!=6" class="border-info" v-for="b in list" :key="b.id">
<label class="blueTag" v-if="orderType == 0"> {{ language==0?'酒店订单':'HOTEL' }}</label>
<label class="orangeTag" v-if="b.orderType == 1"> {{ language==0?'车辆订单':'TRANSPORTATION' }}</label>
<label class="purpleTag" v-if="b.orderType == 2"> {{ language==0?'餐饮订单':'DINING' }}</label>
<label class="pinkTag" v-if="b.orderType == 3"> {{ language==0?'化妆订单':'MakeUp' }}</label>
<label class="yellowTag" v-if="b.orderType == 4"> {{ language==0?'拍摄订单':'Shooting'}}</label>
<label class="yellowTag" v-if="!b.orderType&&orderType==5">{{ language==0?'赛事报名':'REGISTRATION' }}</label>
<div v-for="b in list" v-if="orderType!=6" :key="b.id" class="border-info">
<label v-if="orderType == 0" class="blueTag"> {{ language == 0 ? '酒店订单' : 'HOTEL' }}</label>
<label v-if="b.orderType == 1" class="orangeTag"> {{
language == 0 ? '车辆订单' : 'TRANSPORTATION'
}}</label>
<label v-if="b.orderType == 2" class="purpleTag"> {{ language == 0 ? '餐饮订单' : 'DINING' }}</label>
<label v-if="b.orderType == 3" class="pinkTag"> {{ language == 0 ? '化妆订单' : 'MakeUp' }}</label>
<label v-if="b.orderType == 4" class="yellowTag"> {{ language == 0 ? '拍摄订单' : 'Shooting' }}</label>
<label v-if="!b.orderType&&orderType==5" class="yellowTag">{{
language == 0 ? '赛事报名' : 'REGISTRATION'
}}</label>
<h3 v-if="b.name">{{ b.name }}</h3>
<h3 v-if="b.cptName">{{ b.cptName }}</h3>
<div v-if="!b.orderType&&orderType==5">
<p v-if="b.groupName">{{ language==0?'团队名称':'Team name' }}{{b.groupName}}</p>
<p v-if="b.payTime">{{ language==0?'支付时间':'Payment time' }}{{b.payTime}}</p>
<p class="poPrice" v-if="b.totalPayAmount">{{paymentType!=2?'¥':'€'}} {{b.totalPayAmount}}</p>
<p v-if="b.groupName">{{ language == 0 ? '团队名称' : 'Team name' }}{{ b.groupName }}</p>
<p v-if="b.payTime">{{ language == 0 ? '支付时间' : 'Payment time' }}{{ b.payTime }}</p>
<p v-if="b.totalPayAmount" class="poPrice">{{ paymentType != 2 ? '¥' : '€' }} {{ b.totalPayAmount }}</p>
</div>
<!-- 酒店订单-->
<!-- 酒店订单-->
<div v-if="b.orderType == 0">
<p>{{b.messageObj.roomInfo}}</p>
<p>{{b.messageObj.roomStayDate}}</p>
<p class="poPrice" v-if="b.totalStr">{{ b.paymentType==3?'€' :'¥' }}{{b.totalStr}}</p>
<p>{{ b.messageObj.roomInfo }}</p>
<p>{{ b.messageObj.roomStayDate }}</p>
<p v-if="b.totalStr" class="poPrice">{{ b.paymentType == 3 ? '€' : '¥' }}{{ b.totalStr }}</p>
</div>
<!-- 接送订单-->
<!-- 接送订单-->
<div v-if="b.orderType == 1">
<p v-for="(car,index) in b.messageObj.carsList" :key="index" v-show="car.num>0">
<span>{{car.name}}{{car.num}}</span>
<p v-for="(car,index) in b.messageObj.carsList" v-show="car.num>0" :key="index">
<span>{{ car.name }}{{ car.num }}</span>
</p>
<p class="poPrice" v-if="b.total">{{ b.paymentType==3?'€' :'¥' }}{{b.totalStr}}</p>
<p v-if="b.total" class="poPrice">{{ b.paymentType == 3 ? '€' : '¥' }}{{ b.totalStr }}</p>
</div>
<!-- 餐饮订单-->
<!-- 餐饮订单-->
<div v-if="b.orderType == 2">
<p v-for="(n,index) in b.messageObj.foodsList" :key="index">
<span v-if="n.num > 0">
{{n.name}}({{n.categoryName}}) <span>{{n.num}}</span>
{{ n.name }}({{ n.categoryName }}) <span>{{ n.num }}</span>
</span>
</p>
<p class="poPrice" v-if="b.total">{{ b.paymentType==3?'€' :'¥' }}{{b.total}}</p>
<p v-if="b.total" class="poPrice">{{ b.paymentType == 3 ? '€' : '¥' }}{{ b.total }}</p>
</div>
<div v-if="b.orderType == 3 || b.orderType == 4">
<div>
{{language==0?'套餐名称:':''}}{{b.messageObj.packageName}}
{{ language == 0 ? '套餐名称:' : '' }}{{ b.messageObj.packageName }}
</div>
<div>
{{language==0?'预约时间:':''}}{{b.deliveryTime.slice(0,10)}} {{b.messageObj.timePeriod}}
{{ language == 0 ? '预约时间:' : '' }}{{ b.deliveryTime.slice(0, 10) }} {{ b.messageObj.timePeriod }}
</div>
<p class="poPrice" v-if="b.total">{{ b.paymentType==3?'€' :'¥' }}{{b.totalStr}}</p>
<p v-if="b.total" class="poPrice">{{ b.paymentType == 3 ? '€' : '¥' }}{{ b.totalStr }}</p>
</div>
</div>
<div class="border-info" v-if="orderType==6">
<label class="blueTag" >{{language==0?'票务订单':'Ticket'}}</label>
<h3>{{ formDate.name }}</h3>
<div v-if="orderType==6" class="border-info">
<label class="blueTag">{{ language == 0 ? '票务订单' : 'Ticket' }}</label>
<h3>{{ matchForm.name }}</h3>
<div>
<p>地点:{{formDate.placeName}}</p>
<p>单价:{{paymentType!=2?'¥':'€'}}{{formDate.singlePrice}}</p>
<p>数量:{{formDate.seatList?.length}}</p>
<p class="poPrice">{{paymentType!=2?'¥':'€'}}{{formDate.payAmount}}</p>
<p>地址:{{ matchForm.address }}</p>
<p>票档:{{ ticketForm.extJson?.ticketType?.name }}</p>
<p>日期:{{ ticketForm.extJson?.ticketDate.name }}</p>
<p>单价:{{ paymentType != 2 ? '¥' : '€' }}{{ ticketForm.extJson?.ticketDate.price }}/1张</p>
<p>数量:{{ ticketForm.num }}</p>
<p class="poPrice">{{ paymentType != 2 ? '¥' : '€' }}{{ ticketForm.total }}</p>
</div>
</div>
<!-- <div class="border-info" v-if="orderType==6">-->
<!-- <label class="blueTag" >{{language==0?'票务订单':'Ticket'}}</label>-->
<!-- <h3>{{ formDate.name }}</h3>-->
<!-- <div>-->
<!-- <p>地点:{{formDate.placeName}}</p>-->
<!-- <p>单价:{{paymentType!=2?'¥':'€'}}{{formDate.singlePrice}}</p>-->
<!-- <p>数量:{{formDate.seatList?.length}}</p>-->
<!-- <p class="poPrice">{{paymentType!=2?'¥':'€'}}{{formDate.payAmount}}</p>-->
<!-- </div>-->
<!-- </div>-->
<div class="leftboderTT">{{ language == 0 ? '开票信息' : 'Invoice information' }}</div>
<div class="border-rr mt20 pd20">
<el-form class="mw500" :model="form" :label-width="language == 0 ?'100':'150'" :rules="rules" ref="formRef">
<el-form ref="formRef" :label-width="language == 0 ?'100':'150'" :model="form" :rules="rules"
class="mw500">
<el-form-item :label="language == 0 ?'开票金额':'Amount'">
<span v-if="orderType==5||orderType==6" class="bigprice">{{paymentType!=2?'¥':'€'}}{{totalMoney}}</span>
<span v-else class="bigprice">{{paymentType!=3?'¥':'€'}}{{totalMoney}}</span>
<span v-if="orderType==5||orderType==6"
class="bigprice">{{ paymentType != 2 ? '¥' : '€' }}{{ totalMoney }}</span>
<span v-else class="bigprice">{{ paymentType != 3 ? '¥' : '€' }}{{ totalMoney }}</span>
</el-form-item>
<el-form-item :label="language == 0 ?`发票形式`:'Invoice Form'" required prop="invoiceForm">
<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 value="2" v-if="kpType.indexOf('2')!=-1">{{ language == 0 ? '纸质普票' : 'Paper-invoice' }}</el-radio>-->
<!-- <el-radio value="3" v-if="kpType.indexOf('3')!=-1">{{ language == 0 ? '纸质专票' : 'Paper-special-invoice' }}</el-radio>-->
<!-- <el-radio value="2" v-if="kpType.indexOf('2')!=-1">{{ language == 0 ? '纸质普票' : 'Paper-invoice' }}</el-radio>-->
<!-- <el-radio value="3" v-if="kpType.indexOf('3')!=-1">{{ language == 0 ? '纸质专票' : 'Paper-special-invoice' }}</el-radio>-->
</el-radio-group>
</el-form-item>
<!-- <el-form-item :label="`邮寄地址`" v-else required>-->
<!-- <el-button plain type="primary" size="small" v-if="addrList.length==0" @click="goEditAddress">-->
<!-- +{{ language==0?'添加地址':'Add' }}-->
<!-- </el-button>-->
<!-- <div v-else class="flexCenter">-->
<!-- <div>-->
<!-- <div class="bigSize">{{nowAddress.contact}} {{nowAddress.phone}}</div>-->
<!-- <div class="smallSize">{{nowAddress.addName}}</div>-->
<!-- </div>-->
<!-- <a @click="goEditAddress" class="text-primary">-->
<!-- <el-icon><Switch /></el-icon>切换-->
<!-- </a>-->
<!-- </div>-->
<!-- </el-form-item>-->
<el-form-item :label="language == 0 ?`发票类型`:'Invoice Type'" required prop="invoiceType">
<!-- <el-form-item :label="`邮寄地址`" v-else required>-->
<!-- <el-button plain type="primary" size="small" v-if="addrList.length==0" @click="goEditAddress">-->
<!-- +{{ language==0?'添加地址':'Add' }}-->
<!-- </el-button>-->
<!-- <div v-else class="flexCenter">-->
<!-- <div>-->
<!-- <div class="bigSize">{{nowAddress.contact}} {{nowAddress.phone}}</div>-->
<!-- <div class="smallSize">{{nowAddress.addName}}</div>-->
<!-- </div>-->
<!-- <a @click="goEditAddress" class="text-primary">-->
<!-- <el-icon><Switch /></el-icon>切换-->
<!-- </a>-->
<!-- </div>-->
<!-- </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>
<el-radio value="1">{{ language == 0 ? '个人非企业' : 'Individual' }}</el-radio>
</el-radio-group>
</el-form-item>
<el-form-item v-if="form.invoiceType=='0'" :label="language == 0 ?`发票抬头`:'Invoice Title'" required prop="invoiceTitle">
<el-form-item v-if="form.invoiceType=='0'" :label="language == 0 ?`发票抬头`:'Invoice Title'"
prop="invoiceTitle"
required>
<el-input v-model="form.invoiceTitle"/>
</el-form-item>
<el-form-item :label="language == 0 ?`税号`:'Duty Paragraph'" required v-if="form.invoiceType=='0'" prop="invoiceTfn">
<el-form-item v-if="form.invoiceType=='0'" :label="language == 0 ?`税号`:'Duty Paragraph'"
prop="invoiceTfn"
required>
<el-input v-model="form.invoiceTfn"/>
</el-form-item>
<el-form-item :label="`邮箱`" v-if="form.invoiceForm=='1'" required prop="invoiceEmail">
<el-form-item v-if="form.invoiceForm=='1'" :label="`邮箱`" prop="invoiceEmail" required>
<el-input v-model="form.invoiceEmail"/>
</el-form-item>
<el-form-item label="备注" prop="remarks">
<el-input type="textarea" v-model="form.remarks"/>
<el-form-item label="备注" prop="remarks">
<el-input v-model="form.remarks" type="textarea"/>
</el-form-item>
<div v-if="form.invoiceForm=='3'&&form.invoiceType=='0'">
<el-form-item :label="`地址`" required prop="invoiceAddress">
<el-form-item :label="`地址`" prop="invoiceAddress" required>
<el-input v-model="form.invoiceAddress"/>
</el-form-item>
<el-form-item :label="`电话`" required prop="invoicePhone">
<el-form-item :label="`电话`" prop="invoicePhone" required>
<el-input v-model="form.invoicePhone"/>
</el-form-item>
<el-form-item :label="`开户行`" required prop="invoiceBank">
<el-form-item :label="`开户行`" prop="invoiceBank" required>
<el-input v-model="form.invoiceBank"/>
</el-form-item>
<el-form-item :label="`账户`" required prop="invoiceAccount">
<el-form-item :label="`账户`" prop="invoiceAccount" required>
<el-input v-model="form.invoiceAccount"/>
</el-form-item>
</div>
</el-form>
<div class="tip" v-if="remark">
<label>{{ language == 0 ?'开票须知':'Invoice Notice' }}:</label>
<div v-if="remark" class="tip">
<label>{{ language == 0 ? '开票须知' : 'Invoice Notice' }}:</label>
<div v-html="remark"></div>
</div>
</div>
</el-col>
</el-row>
<el-row justify="center" align="middle" class="pd20">
<el-row align="middle" class="pd20" justify="center">
<el-col :span="12" class="text-center">
<el-button type="primary" class="btn-lineG w200px" size="large" round @click="submit">
{{ language==0?'提交':'Submit' }}
<el-button class="btn-lineG w200px" round size="large" type="primary" @click="submit">
{{ language == 0 ? '提交' : 'Submit' }}
</el-button>
</el-col>
</el-row>
......@@ -157,7 +185,7 @@
</div>
</div>
<address-list-dialog ref="dialogAddressListRef" @submit="getAddress"/>
<!-- 开票须知 -->
<!-- 开票须知 -->
</template>
<script setup>
......@@ -166,7 +194,7 @@ import {ref, reactive, onMounted} from "vue";
import {useStorage} from "@vueuse/core/index";
import AddressListDialog from "./component/addressList"
import dayjs from 'dayjs'
import {ElMessage,ElMessageBox} from "element-plus";
import {ElMessage, ElMessageBox} from "element-plus";
import useUserStore from "@/store/modules/user";
import {getCurrentInstance} from "@vue/runtime-core";
import {submitTitckInvoice, invoice, TitckUpdateInvoice} from '@/viewsPc/seat/api/index'
......@@ -177,7 +205,13 @@ import {
submitInvoice,
getInvoiceDetailBills,
getInvoiceDetail,
submitCptInvoice, getBaseInfoByActiveId, getLeagueInvoiceDetail, getLeagueInvoiceDetailPC,getInvoiceDetailMatch
submitCptInvoice,
getBaseInfoByActiveId,
getLeagueInvoiceDetail,
getLeagueInvoiceDetailPC,
getInvoiceDetailMatch,
getTicketOrderInfo,
getTicketInfoByActivityId,
} from "@/apiPc/booking";
import {getOrderDetail} from "@/viewsPc/seat/api/index";
......@@ -193,8 +227,8 @@ const form = ref({
invoiceType: '0'
})
const formDate = ref({})
const orderType=ref(1)
const paymentType=ref(1)
const orderType = ref(1)
const paymentType = ref(1)
const list = ref([])
const addrList = ref([])
const nowAddress = ref({})
......@@ -203,57 +237,57 @@ const kpType = ref('1')
const remark = 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'}
],
})
const isEdit = ref(false)
const ticketForm = ref({})
const matchForm = ref({})
let invoiceId
let cptId
onMounted(() => {
orderType.value=route.query.orderType
paymentType.value=route.query.paymentType
if(route.query.orders){
orderType.value = route.query.orderType
paymentType.value = route.query.paymentType
if (route.query.orders) {
let obj = JSON.parse(decodeURIComponent(route.query.orders)) || {}
if(obj.cptId){
if (obj.cptId) {
cptId = obj.cptId
}else if(obj.activeId){
} else if (obj.activeId) {
cptId = obj.activeId
}else{
} else {
cptId = '1778253367748993026'
}
console.log(obj)
getRemark()
let arr = []
list.value.push(obj)
for (let bill of list.value) {
if(bill?.message){
if (bill?.message) {
bill.messageObj = JSON.parse(bill.message)
}
arr.push(bill.id)
......@@ -261,7 +295,7 @@ onMounted(() => {
form.value.orders = arr.toString()
console.log(list.value)
}
if(route.query.activeId){
if (route.query.activeId) {
cptId = route.query.activeId
}
if (route.query.totalMoney) {
......@@ -283,34 +317,66 @@ onMounted(() => {
getList()
}
if(user.userName.indexOf('@')>-1){
if (user.userName.indexOf('@') > -1) {
form.value.address = user.userName
}
route.query.orderSn&&getDataInfo()
route.query.orderSn && getDataInfo()
// 获取票务订单信息
route.query.orderType == 6 && getTickInfo()
console.log(route.query)
})
async function getDataInfo(){
const res =await getOrderDetail({orderSn:route.query.orderSn})
formDate.value=res.data
// 票务订单详情
async function getTickInfo() {
const res = await getTicketOrderInfo({orderId: route.query.orderId})
ticketForm.value = res.data
console.log(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
await getDetail(ticketForm.value.extJson.ticketDate.activityId)
} catch (e) {
console.log(e)
} finally {
}
console.log(form.value)
}
async function getDetail(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})
formDate.value = res.data
}
function getList() {
if(route.query.type=='5'){
if (route.query.type == '5') {
getLeagueInvoiceDetailPC(invoiceId).then(res => {
// 订单
list.value = res.rows
console.log(list.value)
cptId = res.rows[0].activeId||res.rows[0].cptId
cptId = res.rows[0].activeId || res.rows[0].cptId
getRemark()
for (var bill of list.value) {
if (bill.messageObj)bill.messageObj = JSON.parse(bill.message)
if (bill.messageObj) bill.messageObj = JSON.parse(bill.message)
}
});
} else {
getInvoiceDetailBills(invoiceId).then(res => {
// 订单
list.value = res.rows;
cptId = res.rows[0].activeId||res.rows[0].cptId
cptId = res.rows[0].activeId || res.rows[0].cptId
getRemark()
for (var bill of list.value) {
bill.messageObj = JSON.parse(bill.message)
......@@ -319,14 +385,14 @@ function getList() {
}
// 回显
if (orderType.value==6){
invoice(invoiceId).then(res=>{
if (orderType.value == 6) {
invoice(invoiceId).then(res => {
// console.log(res)
form.value = res.data;
form.value.invoiceForm='1'
form.value.invoiceForm = '1'
totalMoney.value = form.value.total
})
}else if(orderType.value==5){
} else if (orderType.value == 5) {
getInvoiceDetailMatch(invoiceId).then(res => {
form.value = res.data;
totalMoney.value = form.value.total
......@@ -335,7 +401,7 @@ function getList() {
// }
// getAddrList()
});
}else{
} else {
getInvoiceDetail(invoiceId).then(res => {
form.value = res.data;
totalMoney.value = form.value.total
......@@ -350,87 +416,92 @@ function getList() {
function goEditAddress(id) {
var obj = {
title: language.value==0?'地址列表':'Address list',
title: language.value == 0 ? '地址列表' : 'Address list',
show: true,
id: id
}
proxy.$refs['dialogAddressListRef'].open(obj)
}
function getRemark() {
getBaseInfoByActiveId(cptId).then(res=>{
if(res.data){
// remark.value = res.data.remarks
remark.value = res.data.remarks.replace(/\n/g, '<br>')
}
getBaseInfoByActiveId(cptId).then(res => {
if (res.data) {
// remark.value = res.data.remarks
remark.value = res.data.remarks.replace(/\n/g, '<br>')
}
})
}
function getAddrList() {
addressList(user.userId).then(res=>{
addressList(user.userId).then(res => {
addrList.value = res.rows
if(addrList.value.length>0){
if (addrList.value.length > 0) {
nowAddress.value = addrList.value[0]
}
})
}
function getAddress(obj) {
getAddrList()
nowAddress.value = obj
}
function submit() {
proxy.$refs['formRef'].validate((valid) => {
if(valid){
// 提交确认
ElMessageBox.confirm(language.value == 0 ? '确认提交吗?' : 'Confirm to submit ?', {
confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
type: 'warning'
}).then(() => {
form.value.activeId = cptId
form.value.total = totalMoney.value
form.value.version = 2
form.value.invoicePhone=paymentType.value
if (orderType.value==6) form.value.orders=route.query.orderSn
if (isEdit.value) {
update()
} else {
add()
}
})
}
if (valid) {
// 提交确认
ElMessageBox.confirm(language.value == 0 ? '确认提交吗?' : 'Confirm to submit ?', {
confirmButtonText: language.value == 0 ? '确定' : 'Confirm',
cancelButtonText: language.value == 0 ? '取消' : 'Cancel',
type: 'warning'
}).then(() => {
form.value.activeId = cptId
form.value.total = totalMoney.value
form.value.version = 2
form.value.invoicePhone = paymentType.value
if (orderType.value == 6) form.value.orders = route.query.orderSn
if (isEdit.value) {
update()
} else {
add()
}
})
}
})
}
function update() {
if (orderType.value==6){
TitckUpdateInvoice(form.value).then(res=>{
if (orderType.value == 6) {
TitckUpdateInvoice(form.value).then(res => {
//返回列表
backList()
})
}else if(orderType.value==5){
editInvoiceMatch(form.value).then(res=>{
} else if (orderType.value == 5) {
editInvoiceMatch(form.value).then(res => {
//返回列表
backList()
})
}else{
editInvoice(form.value).then(res=>{
} else {
editInvoice(form.value).then(res => {
//返回列表
backList()
})
}
}
function add() {
if(orderType.value==6){
submitTitckInvoice(form.value).then((res)=>{
if (orderType.value == 6) {
submitTitckInvoice(form.value).then((res) => {
backList()
})
}else if(list.value[0].orderType||list.value[0].orderType==0){
submitInvoice(form.value).then(res=>{
} else if (list.value[0].orderType || list.value[0].orderType == 0) {
submitInvoice(form.value).then(res => {
//返回列表
backList()
})
} else {
submitCptInvoice(form.value).then(res=>{
submitCptInvoice(form.value).then(res => {
//返回列表
backList()
})
......@@ -438,38 +509,73 @@ function add() {
}
function backList() {
router.push({
// name: 'invoice'
name: 'myKP'
})
}
function goBack() {
router.go(-1)
}
// 获取票务订单详情
function getTicketOrderDetail() {
}
</script>
<style scoped lang="scss">
.pl-back{position: absolute;padding: 0 15px;display: flex;align-items: center;cursor: pointer}
<style lang="scss" scoped>
.pl-back {
position: absolute;
padding: 0 15px;
display: flex;
align-items: center;
cursor: pointer
}
.bigMoney {
font-size: 36px !important;
font-family: 'DIN Alternate';
font-weight: bold;
}
.btn-lineG{font-size: 16px}
.btn-lineG {
font-size: 16px
}
.bg-lineg {
height: 40px;
line-height: 40px;
font-size: 18px;
text-align: center;
}
.border-info{position: relative;
&>label{position: absolute;right: 0;top: 0;margin: 0;border-radius: 0 0 0px 15px;
padding: 5px 15px;font-size: 14px;
.border-info {
position: relative;
& > label {
position: absolute;
right: 0;
top: 0;
margin: 0;
border-radius: 0 0 0px 15px;
padding: 5px 15px;
font-size: 14px;
}
.poPrice {
position: absolute;
bottom: 0px;
right: 10px;
font-size: 24px;
line-height: 1;
font-family: "DIN Alternate"
}
.poPrice{position: absolute;bottom: 0px;right: 10px;font-size: 24px;
line-height: 1;font-family: "DIN Alternate"}
}
.blueTag {
color: #fff;
background-color: #1EC886;
......@@ -484,6 +590,7 @@ function goBack() {
color: #fff;
background-color: #ff8124;
}
.pinkTag {
color: #fff;
background-color: #f55497;
......@@ -493,6 +600,7 @@ function goBack() {
color: #fff;
background-color: #bad814;
}
.leftboderTT {
font-weight: 600;
font-size: 16px;
......@@ -546,8 +654,18 @@ function goBack() {
.red {
color: #FF8124;
}
.tip{font-size: 14px;color: #666;padding: 0 10px;}
.mw500{max-width: 500px;margin: auto}
.tip {
font-size: 14px;
color: #666;
padding: 0 10px;
}
.mw500 {
max-width: 500px;
margin: auto
}
.bigSize {
font-size: 16px;
margin-bottom: 5px;
......@@ -567,8 +685,10 @@ function goBack() {
padding: 10px;
box-sizing: border-box;
}
.bigprice {
font-size: 26px;
line-height: 1;font-family: "DIN Alternate";
line-height: 1;
font-family: "DIN Alternate";
}
</style>
......
......@@ -113,16 +113,19 @@
<div v-if="type == 'ticket'">
<div class="leftboderTT">{{ language == 0 ? '购票信息' : 'Ticket Information' }}</div>
<div class="border-info mt20">
<h3>{{ form?.extJson?.ticketType?.name }}</h3>
<h3>{{ matchForm.name }}</h3>
<el-row>
<el-col>
{{ language == 0 ? '地址' : 'Address' }}
<span v-if="language == 0">{{ form.provinceName }} {{ form.cityName }} {{ form.areaName }} </span>
{{ matchForm.address }}
</el-col>
<el-col>
{{ language == 0 ? '票档' : 'Check-in&Check-out' }}{{ form?.extJson?.ticketDate?.name }} x 1
{{ language == 0 ? '张' : 'Tickets' }}
{{ language == 0 ? '票档' : 'Check-in&Check-out' }}{{ form?.extJson?.ticketType?.name }}
</el-col>
<el-col>
{{
language == 0 ? '时间' : 'Room Information'
}}{{ dayjs(form?.extJson?.ticketDate?.ticketStart).format('YYYY-MM-DD') }}
</el-col>
<el-col>
{{
......@@ -132,11 +135,7 @@
}}{{ language == 0 ? '元' : 'Euro' }} x 1
{{ language == 0 ? '张' : 'Tickets' }}
</el-col>
<el-col>
{{
language == 0 ? '时间' : 'Room Information'
}}{{ dayjs(form?.extJson?.ticketDate?.ticketStart).format('YYYY-MM-DD') }}
</el-col>
</el-row>
</div>
</div>
......@@ -648,11 +647,13 @@ async function getTicketOrderInfoFN() {
}
console.log(form.value)
}
async function getDetail(activeId) {
const res = await getTicketInfoByActivityId({activityId: activeId})
matchForm.value = res.data
console.log(matchForm.value)
}
......
......@@ -48,15 +48,15 @@
<el-col :lg="9" :md="12" :sm="12" :xs="24">
<h3 class="m0">{{ b.name }}</h3>
<p> {{ language == 0 ? "时间" : "Event Date & Time" }}{{
b.dateStr
b.messageObj.ticketDate.name
}}</p>
<p class="common">
{{ language == 0 ? "张数" : "Location" }}{{ b.ticketNum }}{{ language == 0 ? "张" : "tickets" }}
{{ language == 0 ? "张数" : "Location" }}{{ b.messageObj.num }}{{ language == 0 ? "张" : "tickets" }}
</p>
</el-col>
<el-col :lg="3" :md="6" :sm="6" :xs="6" class="text-center">
<span class="text-warning"> {{ b.payType == '2' ? '€' : '¥' }}
<span class="bigMoney">{{ b.payAmount }}</span>
<span class="bigMoney">{{ b.total }}</span>
</span>
</el-col>
<el-col :lg="6" :md="16" :sm="16" :xs="16">
......@@ -281,9 +281,13 @@ const getList = () => {
}).then(res => {
list.value = res.rows
for (let b of list.value) {
b.messageObj = JSON.parse(b.message)
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)
})
} else {
getCanInvoiceBills(query.value).then(res => {
......@@ -327,7 +331,8 @@ const gokp = (item) => {
query: {
orders: encodeURIComponent(JSON.stringify(item)),
totalMoney: item.totalStr || item.totalPayAmount || item.payAmount || item.totalAmount,
paymentType: query.value.orderType == 6 || query.value.orderType == 5 ? item.payType : item.paymentType,
orderId: item.id,
paymentType: query.value.orderType == 5 ? item.payType : item.paymentType,
orderType: query.value.orderType,
orderSn: query.value.orderType == 6 ? item.orderSn : null
}
......@@ -338,11 +343,12 @@ const editkp = (item) => {
name: 'addInvoice',
query: {
invoiceId: query.value.orderType == 6 ? item.invoiceIdStr : item.invoiceId,
orderId: item.id,
type: activeName.value,
isEdit: true,
orderType: query.value.orderType,
paymentType: query.value.orderType == 6 || query.value.orderType == 5 ? item.payType : item.paymentType,
orderSn: query.value.orderType == 6 ? item.orderSn : null
paymentType: query.value.orderType == 5 ? item.payType : item.paymentType,
// orderSn: query.value.orderType == 6 ? item.orderSn : null
}
})
}
......@@ -354,7 +360,7 @@ const showDetail = (item) => {
type: activeName.value,
orderType: query.value.orderType,
paymentType: query.value.orderType == 6 || query.value.orderType == 5 ? item.payType : item.paymentType,
orderSn: query.value.orderType == 6 ? item.orderSn : null
// orderSn: query.value.orderType == 6 ? item.orderSn : null
}
})
}
......
......@@ -18,8 +18,8 @@
<label v-if="b.orderType == 2" class="orangeTag"> {{ language == 0 ? '餐饮' : 'DINING' }} </label>
<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>
......
Styling with Markdown is supported
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!