Commit 2bb99ef9 authored by youjie's avatar youjie

no message

parent a807cf4b
...@@ -113,6 +113,7 @@ export default defineComponent({ ...@@ -113,6 +113,7 @@ export default defineComponent({
const methods = { const methods = {
getTickets() { getTickets() {
$q.loading.show();
let param = Object.assign(data.pages, search.msg) let param = Object.assign(data.pages, search.msg)
TicketService.getTicketList(param) TicketService.getTicketList(param)
.then(r => { .then(r => {
...@@ -122,7 +123,9 @@ export default defineComponent({ ...@@ -122,7 +123,9 @@ export default defineComponent({
} else { } else {
message.errorMsg(r.data.message) message.errorMsg(r.data.message)
} }
$q.loading.hide();
}).catch(e => { }).catch(e => {
$q.loading.hide();
message.errorMsg(e.message) message.errorMsg(e.message)
data.loading = false data.loading = false
}) })
......
...@@ -61,6 +61,11 @@ ...@@ -61,6 +61,11 @@
<q-tooltip>{{ props.value }}</q-tooltip> <q-tooltip>{{ props.value }}</q-tooltip>
</q-td> </q-td>
</template> </template>
<template v-slot:body-cell-MailingMoney="props">
<q-td :props="props">
<span>{{moneyFormat(x.MailingMoney)}}</span>
</q-td>
</template>
<template v-slot:body-cell-Money="props"> <template v-slot:body-cell-Money="props">
<q-td :props="props" > <q-td :props="props" >
{{props.row.Money}} {{props.row.Money}}
...@@ -207,6 +212,7 @@ export default defineComponent({ ...@@ -207,6 +212,7 @@ export default defineComponent({
{ name: 'Date', label: t('v102.ticket.jq')+'('+t('v102.ticket.d')+')', field: (row: any) => row.Date, align: 'left' }, { name: 'Date', label: t('v102.ticket.jq')+'('+t('v102.ticket.d')+')', field: (row: any) => row.Date, align: 'left' },
{ name: 'TicketName', label: t('v102.ticket.hn'), field: (row: any) => row.TicketName, align: 'left' }, { name: 'TicketName', label: t('v102.ticket.hn'), field: (row: any) => row.TicketName, align: 'left' },
{ name: 'Num', label: t('v102.ticket.sl'), field: (row: any) => row.Num, align: 'left' }, { name: 'Num', label: t('v102.ticket.sl'), field: (row: any) => row.Num, align: 'left' },
{ name: 'MailingMoney', label: t('v102.ticket.sjc.c6'), field: (row: any) => row, align: 'left' },
{ name: 'Money', label: t('hotelorder.col.m'), field: (row: any) => row.Money, align: 'left' } { name: 'Money', label: t('hotelorder.col.m'), field: (row: any) => row.Money, align: 'left' }
] as any[], ] as any[],
modifyOrder:{} as any, modifyOrder:{} as any,
...@@ -228,9 +234,12 @@ export default defineComponent({ ...@@ -228,9 +234,12 @@ export default defineComponent({
x.typeInfo = data.status.find(y => y.StatusId == x.OrderStatus) ?? data.status[1] x.typeInfo = data.status.find(y => y.StatusId == x.OrderStatus) ?? data.status[1]
x.SendType = data.sends.find(y => y.Id == x.MailingState) ?? data.sends[0] x.SendType = data.sends.find(y => y.Id == x.MailingState) ?? data.sends[0]
x.Money = 0 x.Money = 0
let Money = 0
x.DetailList.forEach((y:any)=>{ x.DetailList.forEach((y:any)=>{
x.Money+=y.Money Money+=y.Money
y.Money=Number(y.Money+x.MailingMoney)
}) })
x.Money= Number(Money+x.MailingMoney)
}) })
data.orders = r.data.data.pageData data.orders = r.data.data.pageData
data.pages.pageCount = r.data.data.pageCount data.pages.pageCount = r.data.data.pageCount
...@@ -303,89 +312,6 @@ export default defineComponent({ ...@@ -303,89 +312,6 @@ export default defineComponent({
} }
methods.init() methods.init()
// data.orders.push(
// {
// OrderType: 0,
// typeInfo: data.status[1],
// OrderIncome: 0.0,
// OrderNo: '20230106214591',
// OrderId: 89123,
// CreateTime: '2023/01/06 14:34:56',
// DetailList: [
// {
// TicketName: '大阪環球影城',
// TicketMoney: 4200.0,
// Date: '2023/09/10',
// TicketList: [
// {
// TypeName: '兒童票',
// Num: 5,
// Price: 400.0,
// Money: 2000.0
// },
// {
// TypeName: '成人票',
// Num: 2,
// Price: 800.0,
// Money: 1600.0
// },
// {
// TypeName: '學生票',
// Num: 1,
// Price: 600.0,
// Money: 600.0
// }
// ]
// }
// ],
// Remark: '迪士尼陆地乐园 客人姓名:Liu Chang+Hu Yuwei~~~~注意!!! 人数:2大 日期:1月3号 价格:大人490元/张 共收980元,全款已收!',
// Money:4200.0,
// OrderStatus:1
// },
// {
// OrderType: 1,
// typeInfo: data.status[2],
// OrderIncome: 0.0,
// OrderNo: '2023010621459800',
// OrderId: 891452,
// ContactName: '罗超',
// ContactEnName: 'LUOCHAO',
// ContactPhone: '892788812',
// Address: '318国道2913公桩左边的祝桑乡境内',
// CreateTime: '2023/01/06 14:34:56',
// DetailList: [
// {
// TicketName: '大阪環球影城',
// TicketMoney: 4200.0,
// Date: '2023/09/10',
// TicketList: [
// {
// TypeName: '兒童票',
// Num: 5,
// Price: 400.0,
// Money: 2000.0
// },
// {
// TypeName: '成人票',
// Num: 2,
// Price: 800.0,
// Money: 1600.0
// },
// {
// TypeName: '學生票',
// Num: 1,
// Price: 600.0,
// Money: 600.0
// }
// ]
// }
// ],
// Remark: '迪士尼陆地乐园 客人姓名:Liu Chang+Hu Yuwei~~~~注意!!! 人数:2大 日期:1月3号 价格:大人490元/张 共收980元,全款已收!',
// Money:4200.0,
// OrderStatus:2,
// SendType: data.sends[0]
// }
// )
return { return {
...toRefs(data), ...toRefs(data),
...methods, ...methods,
......
...@@ -858,13 +858,15 @@ export default { ...@@ -858,13 +858,15 @@ export default {
c2: '英語の名前です', c2: '英語の名前です',
c3: '性別です', c3: '性別です',
c4: '連絡します', c4: '連絡します',
c5: '宛先です' c5: '宛先です',
c6: '郵送料です',
}, },
sjcp: { sjcp: {
c1: '中国語の名前を入力してくださいです', c1: '中国語の名前を入力してくださいです',
c2: '英語の名前を入力してくださいです', c2: '英語の名前を入力してくださいです',
c4: '連絡先を入力します', c4: '連絡先を入力します',
c5: '宛先を入力します' c5: '宛先を入力します',
c6: '郵送料を入力願います',
}, },
st: '勘定書を決済します', st: '勘定書を決済します',
rtt: 'チケットの払い戻し制限です', rtt: 'チケットの払い戻し制限です',
......
...@@ -858,13 +858,15 @@ export default { ...@@ -858,13 +858,15 @@ export default {
c2: '영어 이름', c2: '영어 이름',
c3: "성별", c3: "성별",
c4: "연락 전화", c4: "연락 전화",
c5: "수신 주소" c5: "수신 주소",
c6: '우송료',
}, },
sjcp: { sjcp: {
c1: "중국어 이름을 입력해주세요", c1: "중국어 이름을 입력해주세요",
c2: "영어 이름을 입력해주세요", c2: "영어 이름을 입력해주세요",
c4: "연락처를 입력해주세요", c4: "연락처를 입력해주세요",
c5: "수신 주소를 입력하십시오" c5: "수신 주소를 입력하십시오",
c6: '우송료를 입력해 주십시오',
}, },
st: "계산서를 정리합니다", st: "계산서를 정리합니다",
rtt: "환불 제한", rtt: "환불 제한",
......
...@@ -858,13 +858,15 @@ export default { ...@@ -858,13 +858,15 @@ export default {
c2: '英文姓名', c2: '英文姓名',
c3: '性別', c3: '性別',
c4: '聯絡電話', c4: '聯絡電話',
c5: '收件地址' c5: '收件地址',
c6: '郵寄費'
}, },
sjcp: { sjcp: {
c1: '請輸入中文姓名', c1: '請輸入中文姓名',
c2: '請輸入英文姓名', c2: '請輸入英文姓名',
c4: '請輸入聯絡電話', c4: '請輸入聯絡電話',
c5: '請輸入收件地址' c5: '請輸入收件地址',
c6: '請輸入郵寄費'
}, },
st: '結算帳單', st: '結算帳單',
rtt: '退票限制', rtt: '退票限制',
......
...@@ -77,8 +77,8 @@ ...@@ -77,8 +77,8 @@
<div class="row items-center"> <div class="row items-center">
<span class="f12 text-grey-900 text-subtitle2 text-weight-bold" :class="{ 'col-2': $q.platform.is.desktop, 'col-3': $q.platform.is.mobile }">{{ $t('v102.ticket.gi') }}:</span> <span class="f12 text-grey-900 text-subtitle2 text-weight-bold" :class="{ 'col-2': $q.platform.is.desktop, 'col-3': $q.platform.is.mobile }">{{ $t('v102.ticket.gi') }}:</span>
<span class="col f12"> <span class="col f12">
<q-radio v-model="msg.MailingState" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" val="1" :label="$t('v102.ticket.zq')" /> <q-radio v-model="msg.MailingState" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" val="1" :label="$t('v102.ticket.zq')" @update:model-value="changePeople"/>
<q-radio v-model="msg.MailingState" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" val="2" :label="$t('v102.ticket.yj')" /> <q-radio v-model="msg.MailingState" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" val="2" :label="$t('v102.ticket.yj')" @update:model-value="changePeople"/>
</span> </span>
</div> </div>
<div v-if="msg.MailingState == '1'" class="bg-light-blue-1 q-pa-md fz14 rounded-borders q-mt-md"> <div v-if="msg.MailingState == '1'" class="bg-light-blue-1 q-pa-md fz14 rounded-borders q-mt-md">
...@@ -94,7 +94,10 @@ ...@@ -94,7 +94,10 @@
<div class="col q-mr-md">{{ $t('v102.ticket.sjc.c2') }}</div> <div class="col q-mr-md">{{ $t('v102.ticket.sjc.c2') }}</div>
<div class="col-2 q-mr-md">{{ $t('v102.ticket.sjc.c3') }}</div> <div class="col-2 q-mr-md">{{ $t('v102.ticket.sjc.c3') }}</div>
<div class="col q-mr-md">{{ $t('v102.ticket.sjc.c4') }}</div> <div class="col q-mr-md">{{ $t('v102.ticket.sjc.c4') }}</div>
<div class="col-4" v-if="msg.MailingState == '2'">{{ $t('v102.ticket.sjc.c5') }}</div> <template v-if="msg.MailingState == '2'">
<div class="col-4">{{ $t('v102.ticket.sjc.c5') }}</div>
<!-- <div class="col-2">{{ $t('v102.ticket.sjc.c6') }}</div> -->
</template>
</div> </div>
<div style="border-top: 1px dashed #eee" :class="{'row items-center':$q.platform.is.desktop,'column':$q.platform.is.mobile}"> <div style="border-top: 1px dashed #eee" :class="{'row items-center':$q.platform.is.desktop,'column':$q.platform.is.mobile}">
<q-input dense standout v-model="msg.Name" class="col q-mt-md" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.ticket.sjcp.c1')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestName"/> <q-input dense standout v-model="msg.Name" class="col q-mt-md" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.ticket.sjcp.c1')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestName"/>
...@@ -104,7 +107,15 @@ ...@@ -104,7 +107,15 @@
<q-radio v-model="msg.Sex" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" val="2" :label="$t('v102.ticket.sex.women')" /> <q-radio v-model="msg.Sex" checked-icon="task_alt" unchecked-icon="panorama_fish_eye" val="2" :label="$t('v102.ticket.sex.women')" />
</div> </div>
<q-input dense standout v-model="msg.Mobile" class="col q-mt-md" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.ticket.sjcp.c4')" :rules="[ val => val && val.length == 11 || ' ']" ref="guestMobile"/> <q-input dense standout v-model="msg.Mobile" class="col q-mt-md" :class="{'q-mr-md':$q.platform.is.desktop}" :placeholder="$t('v102.ticket.sjcp.c4')" :rules="[ val => val && val.length == 11 || ' ']" ref="guestMobile"/>
<q-input v-if="msg.MailingState == '2'" dense standout v-model="msg.MailingAddress" class="col-4 q-mt-md" :placeholder="$t('v102.ticket.sjcp.c5')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestAddress"/> <template v-if="msg.MailingState == '2'">
<q-input dense standout v-model="msg.MailingAddress" class="col-4 q-mt-md" :placeholder="$t('v102.ticket.sjcp.c5')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestAddress" readonly>
<q-popup-edit v-model="msg.MailingAddress" buttons>
<q-input type="textarea" dense standout autofocus v-model="msg.MailingAddress" :placeholder="$t('v102.ticket.sjcp.c5')" />
</q-popup-edit>
</q-input>
<!-- <q-input dense standout v-model="msg.MailingMoney" class="col-2 q-mt-md" :placeholder="$t('v102.ticket.sjcp.c6')" :rules="[ val => val && val.length > 0 || ' ']" ref="guestMailingMoney" mask="#" reverse-fill-mask @update:model-value="changePeople"/> -->
</template>
</div> </div>
</div> </div>
<div class="q-mt-md"> <div class="q-mt-md">
...@@ -134,26 +145,32 @@ ...@@ -134,26 +145,32 @@
</div> </div>
<div class="q-pt-md q-mb-lg" style="border-top: 1px dashed #eee"> <div class="q-pt-md q-mb-lg" style="border-top: 1px dashed #eee">
<div class="text-grey-900 text-subtitle2 text-weight-bold">{{ $t('v102.ticket.ms') }}</div> <div class="text-grey-900 text-subtitle2 text-weight-bold">{{ $t('v102.ticket.ms') }}</div>
<div v-if="isCheck"> <template v-if="isCheck">
<template v-for="x in types"> <template v-for="x in types">
<div class="row items-center q-mt-md" v-if="x.checked"> <div class="row items-center q-mt-md" v-if="x.checked">
<q-badge color="grey-3" style="padding: 5px 8px" text-color="info" :label="x.TicketName" /> <q-badge color="grey-3" style="padding: 5px 8px" text-color="info" :label="x.TicketName" />
<div class="col f12 text-right">{{x.B2BPrice.toFixed(2)}} x {{x.num}}{{ $t('v102.ticket.unit') }}</div> <div class="col f12 text-right">{{x.B2BPrice.toFixed(2)}} x {{x.num}}{{ $t('v102.ticket.unit') }}</div>
</div> </div>
</template> </template>
</div> </template>
<div v-else class="text-center text-grey-600 q-py-lg">{{ $t('v102.ticket.nt') }}</div> <div v-else class="text-center text-grey-600 q-py-lg">{{ $t('v102.ticket.nt') }}</div>
<div class="row items-center q-mt-md" v-if="msg.MailingMoney>0&&msg.Money>msg.MailingMoney">
<q-badge color="grey-3" style="padding: 5px 8px" text-color="negative" :label="$t('v102.ticket.sjc.c6')" />
<div class="col f12 text-right">{{msg.MailingMoney}}</div>
</div>
</div> </div>
<div class="q-pt-md q-mb-lg text-right" style="border-top: 1px dashed #eee"> <div class="q-pt-md q-mb-lg text-right" style="border-top: 1px dashed #eee">
<span class="f12 text-dark q-mr-md"> <span class="f12 text-dark q-mr-md">
{{ $t('v102.ticket.ds') }}: {{ $t('v102.ticket.ds') }}:
</span> </span>
<span class="text-h6 text-negative"> <span class="text-h6 text-negative">
{{ msg.Money.toFixed(2) }} {{ msg.Money>msg.MailingMoney?msg.Money.toFixed(2):0.0 }}
<span class="fz14" v-if="types&&types.length>0">{{types[0].CurrencyName}}</span>
</span> </span>
</div> </div>
<div class="text-right"> <div class="text-right">
<q-btn color="primary" unelevated class="q-px-lg" :disable="!isCheck" :label="$t('v102.ticket.sb')" @click="submit"/> <q-btn color="primary" unelevated class="q-px-lg"
:loading="loading" :disable="!isCheck" :label="$t('v102.ticket.sb')" @click="submit"/>
</div> </div>
</div> </div>
</div> </div>
...@@ -201,9 +218,10 @@ export default defineComponent({ ...@@ -201,9 +218,10 @@ export default defineComponent({
msg: { msg: {
OrderId: 0, OrderId: 0,
Money: 0.0, Money: 0.0,
Remark: '', Remark: '' as String,
MailingState: '1',//邮寄状态 1自取 2邮寄 MailingState: '1',//邮寄状态 1自取 2邮寄
MailingAddress: '',//MailingState =2 填写邮寄 MailingAddress: '',//MailingState =2 填写邮寄
MailingMoney: null as Number,
UseDate:'',//门票日期 UseDate:'',//门票日期
Name:'', Name:'',
EName:'', EName:'',
...@@ -250,6 +268,7 @@ export default defineComponent({ ...@@ -250,6 +268,7 @@ export default defineComponent({
}; };
addList(r.data.data.TicketPriceList); addList(r.data.data.TicketPriceList);
data.types = r.data.data.TicketPriceList data.types = r.data.data.TicketPriceList
methods.getNum()
if(data.types&&data.types.length==0){ if(data.types&&data.types.length==0){
message.errorMsg(`${t('v102.ticket.nobj')}`) message.errorMsg(`${t('v102.ticket.nobj')}`)
} }
...@@ -265,8 +284,6 @@ export default defineComponent({ ...@@ -265,8 +284,6 @@ export default defineComponent({
submit(){ submit(){
methods.getNum() methods.getNum()
if(!data.isCheck) return if(!data.isCheck) return
if(data.loading) return
data.loading = true
let flag = false let flag = false
guestName.value.validate() guestName.value.validate()
guestEName.value.validate() guestEName.value.validate()
...@@ -277,8 +294,11 @@ export default defineComponent({ ...@@ -277,8 +294,11 @@ export default defineComponent({
}else{ }else{
flag = !guestName.value.hasError && !guestEName.value.hasError && !guestMobile.value.hasError flag = !guestName.value.hasError && !guestEName.value.hasError && !guestMobile.value.hasError
data.msg.MailingAddress = '' data.msg.MailingAddress = ''
data.msg.MailingMoney = 0
} }
if(!flag) return if(!flag) return
if(data.loading) return
data.loading = true
data.msg.DetailList = [] as any data.msg.DetailList = [] as any
data.types.forEach(x=>{ data.types.forEach(x=>{
if(x.checked){ if(x.checked){
...@@ -294,16 +314,19 @@ export default defineComponent({ ...@@ -294,16 +314,19 @@ export default defineComponent({
} }
}) })
let param = Object.assign(data.msg) let param = Object.assign(data.msg)
TicketService.setTicketOrder(param) TicketService.setTicketOrder(param)
.then(r => { .then(r => {
if (r.data.resultCode == ApiResult.SUCCESS) { if (r.data.resultCode == ApiResult.SUCCESS) {
data.loading = false
message.successMsg(`${t('success')}`) message.successMsg(`${t('success')}`)
$router.push({ path:'/ticket/order' }) $router.push({ path:'/ticket/order' })
} else { } else {
data.loading = false
message.errorMsg(r.data.message) message.errorMsg(r.data.message)
} }
methods.getInfo() methods.getInfo()
data.loading = false
}).catch(e => { }).catch(e => {
data.loading = false data.loading = false
message.errorMsg(e.message) message.errorMsg(e.message)
...@@ -351,11 +374,18 @@ export default defineComponent({ ...@@ -351,11 +374,18 @@ export default defineComponent({
}, },
calcMoneyHandler(){ calcMoneyHandler(){
data.msg.Money=0.0 data.msg.Money=0.0
let Money= 0
if(data.msg.MailingState == '2'){
data.msg.MailingMoney = data.detailsObj.MailingMoney
}else{
data.msg.MailingMoney = 0
}
data.types.forEach(x=>{ data.types.forEach(x=>{
if(x.checked){ if(x.checked){
data.msg.Money+=x.B2BPrice*x.num Money+=x.B2BPrice*x.num
} }
}) })
data.msg.Money = Number(Money)+Number(data.msg.MailingMoney)
} }
} }
methods.getInfo() methods.getInfo()
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment