Browse Source

無登入下單功能(細節待優化)

Dev
parent
commit
e7becc3341
  1. 430
      FrontEnd/components/service/BookingInfoItem.vue
  2. 165
      FrontEnd/components/service/OrderingPersonInfo.vue
  3. 2
      FrontEnd/layouts/login.vue
  4. 1
      FrontEnd/pages/service/_id.vue
  5. 59
      FrontEnd/pages/service/checkout/_id.vue

430
FrontEnd/components/service/BookingInfoItem.vue

@ -32,40 +32,11 @@
<div>{{ $t("Select Exhibition") }}</div>
<div class="tw-ml-[10px]">{{ info.selectExhibition }}</div>
</div>
<!-- <div
v-for="(item, key) in info.order_as" :key="key"
class="detail tw-body-5 tw-mb-[10px] xl:tw-mb-0 xl:tw-text-neutrals-600"
>
{{ item.as_name + "&nbsp;x&nbsp;" + item.quantity }}
</div> -->
<!-- <div
class="date tw-body-5 tw-mb-[10px] xl:tw-mt-[12px]"
v-if="info.service_date != null || info.service_time != null"
>
Service Date: {{ info.service_date +"&nbsp;"+ info.service_time }}
</div> -->
<!-- <div
class="total t14 tw-font-bold tw-text-primary-1 tw-mb-[10px] xl:tw-hidden"
>
$3,500 {{ info.currency
}}<span class="tw-font-normal tw-text-neutrals-400 tw-ml-[10px]"
>(Tax included)</span
>
</div>
<div class="element xl:tw-hidden">
<button
class="tw-transition tw-flex tw-justify-center tw-items-center tw-btn-md tw-text-primary-1 tw-border tw-border-solid tw-border-primary-1 tw-px-[30px] tw-py-[8.5px] tw-w-full tw-rounded-xl hover:tw-bg-primary-3"
>
{{ $t("Enter Required info") }}
<span
v-if="questionValidation == true"
class="status-check-icon tw-inline-block tw-items-center tw-w-[16px] tw-h-[16px] tw-ml-[10px]"
></span>
</button>
</div> -->
</div>
<div class="element content-status tw-hidden xl:tw-block xl:tw-ml-[20px]">
<span
v-if="questionValidation == true"
class="status-check-icon tw-inline-block tw-w-[30px] tw-h-[30px]"
></span>
</div>
@ -83,6 +54,7 @@
<h3 class="tw-mb-[40px] t18 tw-font-bold tw-text-black">{{ $t("Ordering details") }}</h3>
<table class="table-auto">
<template v-for="(item,index) in questions">
<template v-if="windewWidth>414">
<tr v-if="item.type != 'MultilineText'" class="element tw-my-[10px]" :key="index">
<td class="tw-pr-[20px]">
@ -166,184 +138,9 @@
></elementTextarea>
</div>
</template>
<!-- <template v-for="(item,index) in questions">
<div v-if="item.type == 'CustomDate'" class="element tw-mt-[16px]">
<div class="element tw-flex">
<div class="tw-flex element tw-grid tw-grid-cols-1 md:tw-grid-cols-[190px_215px_auto] xl:tw-grid-cols-[190px_215px_auto] tw-gap-[10px]">
<div class="tw-items-center"></div>
<label class="tw-font-normal "><span>{{ item.name }}
<span class="required">*</span></span></label>
</div>
<selectDate @selected="item.value = $event"></selectDate>
</div>
</div>
<div v-else-if="item.type == 'TimeText'" class="element tw-mt-[16px]">
<div class="element tw-flex">
<label class="tw-font-normal "><span>{{ item.name }}
<span class="required">*</span></span></label>
<elementTimePicker></elementTimePicker>
</div>
</div>
<div v-else-if="item.type == 'Email'" class="element tw-mt-[16px]">
<div class="element tw-flex">
<div class="tw-flex tw-items-center">
<label class="tw-font-normal ">
<span>{{ item.name }}</span><span class="required">*</span>
</label>
</div>
<elementInputNew
:input="{
id: item.id,
required: true,
type: 'text',
placeholder: '',
}"
:validation="item.validation"
@change="item.value = $event"
>
</elementInputNew>
</div>
</div>
<div v-else-if="item.type == 'MultilineText'" class="element tw-mt-[16px]" >
<elementTextarea
:input="{
id: item.id,
label: item.name,
required: false,
placeholder: '',
}"
:default="''"
:validation="true"
@change="item.value = $event"
></elementTextarea>
</div>
</template> -->
<!-- <div
v-for="(item, key) in content.booking_questions" :key="key"
class="element tw-mb-[20px]"
>
<elementTextarea
:input="{
id: item.question_id,
label: item.question,
required:
item.required === 1 || item.required === 'required'
? true
: false,
placeholder: '',
}"
:default="''"
:validation="question[key].validation"
@change="setQuestion($event, key, item)"
></elementTextarea>
</div> -->
<!-- <OrderingDetails ref="child_Ordering"></OrderingDetails> -->
</div>
<!-- <div
:class="[
'contact-info',
'tw-border-0 tw-border-t tw-border-solid tw-border-neutrals-200',
'tw-pt-[20px] tw-mt-[20px]',
]"
> -->
<!-- <h3 class="tw-mb-[20px]">{{ $t("Contact information") }}</h3>
<Contact></Contact> -->
<!-- <div
class="element element-button-group tw-flex tw-justify-start tw-flex-wrap -tw-mx-[8px]"
>
<button
v-for="(item, index) in contact"
:key="index"
:class="[
'tw-transition',
'tw-btn-md',
'tw-text-[14px]',
'tw-leading-[18px]',
'tw-text-complementary-1',
'tw-bg-neutrals-0',
'tw-px-[12px]',
'tw-py-[11px]',
'tw-mx-[8px]',
'tw-mb-[16px]',
'tw-rounded-2xl',
'tw-border tw-border-solid',
'tw-bg-complementary-3',
activeLabel == index + 1
? 'tw-border-complementary-1 tw-bg-complementary-1/20'
: 'tw-border-transparent',
]"
@click="onLabelClick(index + 1, item)"
>
{{ item.first_name }} {{ item.last_name }}
</button>
<button
class="btn-add-icon tw-transition tw-btn-md tw-text-[14px] tw-leading-[18px] tw-text-complementary-1 tw-bg-complementary-3 tw-pr-[12px] tw-pl-[36px] tw-py-[11px] tw-mx-[8px] tw-mb-[16px] tw-rounded-[10px]"
@click="$modal.show('add-contact-modal')"
>
{{ $t("Add") }}
</button>
</div> -->
<!-- <div class="company-info-list">
<template v-for="(item, index) in contact">
<div
:key="index"
v-if="index + 1 === activeLabel"
class="tw-grid tw-grid-cols-1 tw-gap-y-[16px]"
>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">
{{ $t("First Name") }}
</div>
<div class="content tw-body-4">
{{ item.first_name }}
</div>
</div>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">
{{ $t("Last Name") }}
</div>
<div class="content tw-body-4">
{{ item.last_name }}
</div>
</div>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">{{ $t("Email") }}</div>
<div class="content tw-body-4">
{{ item.email }}
</div>
</div>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">{{ $t("Phone") }}</div>
<div class="content tw-body-4">
{{ item.phone_number }}
</div>
</div>
<button
class="btn-edit-icon tw-w-[28px] tw-h-[28px]"
@click="$modal.show('edit-contact-modal')"
></button>
</div>
</template>
</div> -->
<!-- </div> -->
<!-- <div
:class="[
'promo-code',
'tw-border-0 tw-border-t tw-border-solid tw-border-neutrals-200',
'tw-pt-[20px] tw-mt-[20px]',
]"
>
<h3 class="tw-mb-[10px]">{{ $t("Promo code") }}</h3>
<elementPromoCode></elementPromoCode>
</div> -->
<div class="element tw-text-right tw-mt-[40px]">
<button
class="tw-transition tw-btn-md tw-bg-primary-1 tw-px-[30px] tw-py-[8.5px] tw-rounded-2xl hover:tw-bg-primary-2"
@ -354,153 +151,6 @@
</div>
</div>
</Transition>
<!-- <Transition name="bounce">
<div v-show="show" :class="['info-form']">
<div
:class="[
'bookingdetails',
'tw-border-0 tw-border-t tw-border-solid tw-border-neutrals-200',
'tw-pt-[20px] tw-mt-[20px]',
]"
>
{{ content.booking_questions }}
<h3 class="tw-mb-[40px]">{{ $t("Booking Details") }}</h3>
<div
v-for="(item, key) in content.booking_questions"
class="element tw-mb-[20px]"
>
<elementTextarea
:input="{
id: item.question_id,
label: item.question,
required:
item.required === 1 || item.required === 'required'
? true
: false,
placeholder: '',
}"
:default="''"
:validation="true"
@change="
setQuestion($event, key, item.question_id, item.question)
"
></elementTextarea>
</div>
</div>
<div
:class="[
'contact-info',
'tw-border-0 tw-border-t tw-border-solid tw-border-neutrals-200',
'tw-pt-[20px] tw-mt-[20px]',
]"
>
<h3 class="tw-mb-[20px]">{{ $t("Contact Info") }}</h3>
<div
class="element element-button-group tw-flex tw-justify-start tw-flex-wrap -tw-mx-[8px]"
>
<button
v-for="(item, index) in contact"
:key="index"
:class="[
'tw-transition',
'tw-btn-md',
'tw-text-[14px]',
'tw-leading-[18px]',
'tw-text-complementary-1',
'tw-bg-neutrals-0',
'tw-px-[12px]',
'tw-py-[11px]',
'tw-mx-[8px]',
'tw-mb-[16px]',
'tw-rounded-2xl',
'tw-border tw-border-solid',
'tw-bg-complementary-3',
activeLabel == index + 1
? 'tw-border-complementary-1 tw-bg-complementary-1/20'
: 'tw-border-transparent',
]"
@click="onLabelClick(index + 1, item)"
>
{{ item.first_name }} {{ item.last_name }}
</button>
<button
class="btn-add-icon tw-transition tw-btn-md tw-text-[14px] tw-leading-[18px] tw-text-complementary-1 tw-bg-complementary-3 tw-pr-[12px] tw-pl-[36px] tw-py-[11px] tw-mx-[8px] tw-mb-[16px] tw-rounded-[10px]"
@click="$modal.show('add-contact-modal')"
>
{{ $t("Add") }}
</button>
</div>
<div class="company-info-list">
<template v-for="(item, index) in contact">
<div
:key="index"
v-if="index + 1 === activeLabel"
class="tw-grid tw-grid-cols-1 tw-gap-y-[16px]"
>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">
{{ $t("First Name") }}
</div>
<div class="content tw-body-4">
{{ item.first_name }}
</div>
</div>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">
{{ $t("Last Name") }}
</div>
<div class="content tw-body-4">
{{ item.last_name }}
</div>
</div>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">{{ $t("Email") }}</div>
<div class="content tw-body-4">
{{ item.email }}
</div>
</div>
<div
class="element tw-grid tw-grid-cols-[140px_auto] tw-gap-x-[12px]"
>
<div class="label t14 tw-font-bold">{{ $t("Phone") }}</div>
<div class="content tw-body-4">
{{ item.phone_number }}
</div>
</div>
<button
class="btn-edit-icon tw-w-[28px] tw-h-[28px]"
@click="$modal.show('edit-contact-modal')"
></button>
</div>
</template>
</div>
</div>
<div
:class="[
'promo-code',
'tw-border-0 tw-border-t tw-border-solid tw-border-neutrals-200',
'tw-pt-[20px] tw-mt-[20px]',
]"
>
<h3 class="tw-mb-[10px]">{{ $t("Promo code") }}</h3>
<elementPromoCode></elementPromoCode>
</div>
<div class="element tw-text-right tw-mt-[40px]">
<button
class="tw-transition tw-btn-md tw-bg-primary-1 tw-px-[30px] tw-py-[8.5px] tw-rounded-2xl hover:tw-bg-primary-2"
@click="updateInfo()"
>
{{ $t("Next") }}
</button>
</div>
</div>
</Transition> -->
</div>
</template>
<script>
@ -508,9 +158,7 @@ import elementTextarea from "@/components/newComponent/form/ElementTextarea";
import elementInputNew from "@/components/newComponent/form/ElementInputNew";
import selectDate from "@/components/service/content/selectDate.vue";
import elementTimePicker from "@/components/newComponent/form/ElementTimePicker";
// import elementPromoCode from "@/components/newComponent/form/ElementPromoCode";
import Contact from "@/components/service/Contact";
// import OrderingDetails from "@/components/service/OrderingDetails";
import is from "is_js";
export default {
@ -518,11 +166,9 @@ export default {
elementTextarea,
elementInputNew,
selectDate,
// elementPromoCode,
elementTimePicker,
is,
Contact,
// OrderingDetails,
},
props: {
info: {
@ -538,11 +184,13 @@ export default {
active: {
type: Number,
},
orderingPerson_Validation: {
type: Boolean,
}
},
data() {
return {
show: true,
// question: [],
show: false,
contactData: {
first_name: "",
last_name: "",
@ -564,12 +212,6 @@ export default {
mounted() {
let vm = this;
vm.$nextTick(function () {
// if (vm.contact.length > 0) {
// vm.contactData.first_name = vm.contact[0].first_name;
// vm.contactData.last_name = vm.contact[0].last_name;
// vm.contactData.email = vm.contact[0].email;
// vm.contactData.phone_number = vm.contact[0].phone_number;
// }
});
},
created(){
@ -584,22 +226,15 @@ export default {
}
},
watch: {
// contact: {
// handler: function () {
// let vm = this;
// if (vm.contact.length > 0) {
// vm.contactData.first_name = vm.contact[0].first_name;
// vm.contactData.last_name = vm.contact[0].last_name;
// vm.contactData.email = vm.contact[0].email;
// vm.contactData.phone_number = vm.contact[0].phone_number;
// }
// },
// },
// questions: {
// handler: function () {
// this.getContent();
// },
// },
orderingPerson_Validation: {
handler: function () {
if (this.orderingPerson_Validation == true) {
this.show = true;
} else {
this.show = false;
}
},
},
questionValidation: {
handler: function () {
if (this.questionValidation == true) {
@ -617,18 +252,6 @@ export default {
this.windewWidth = window.innerWidth;
}
},
// onLabelClick(label) {
// let index = label - 1;
// if (index <= 0) {
// index = 0;
// }
// this.contactData.first_name = this.contact[index].first_name;
// this.contactData.last_name = this.contact[index].last_name;
// this.contactData.email = this.contact[index].email;
// this.contactData.phone_number = this.contact[index].phone_number;
// this.$emit("changeActiveLabel", label);
// },
updateInfo() {
//
this.questions.forEach((item) => {
@ -638,7 +261,6 @@ export default {
} else {
item.validation = true;
this.$emit("answer", this.questions);
// this.$emit("contact", this.contactData);
}
} else {
this.$emit("answer", this.questions);
@ -651,10 +273,11 @@ export default {
return item.validation == true;
});
this.$emit("bookingDetail_validation", this.questionValidation);
this.questionValidation == true;
},
getValidation(){
this.updateInfo();
// let isPass = this.$refs.child_Ordering.save();
this.questionValidation = this.questions.every(function (item) {
return item.validation == true;
});
@ -663,19 +286,6 @@ export default {
}
return this.questionValidation;
},
// getContent() {
// this.questions.forEach((item) => {
// item.validation = true;
// });
// // this.question = JSON.parse(JSON.stringify(this.questions));
// this.questions.forEach((item) => {
// item.answer = "";
// });
// },
// setQuestion(val, index, item) {
// this.question[index].answer = val;
// },
},
};
</script>

165
FrontEnd/components/service/OrderingPersonInfo.vue

@ -1,24 +1,51 @@
<template>
<client-only>
<!-- 狀態1 -->
<div
class="purchaser-info tw-p-5 tw-mb-[20px] tw-bg-white tw-rounded-xl"
>
<div class="tw-flex tw-flex-row tw-justify-between tw-items-center">
<h3
:class="[
'collapse',
't16',
'tw-relative',
'tw-cursor-pointer',
'xl:tw-text-[18px]',
show ? 'show' : 'hide',
disabled ? 'disabled' : '',
disabled ? 'tw-text-neutrals-300' : 'tw-text-black',
]"
@click="show = !show"
>
{{ $t("Ordering person") }}
</h3>
<!-- <template> -->
<h3
v-if="show == true"
:class="[
'collapse',
't16',
'tw-relative',
'tw-cursor-pointer',
'xl:tw-text-[18px]',
show ? 'show' : 'hide',
disabled ? 'disabled' : '',
disabled ? 'tw-text-neutrals-300' : 'tw-text-black',
]"
@click="show = !show"
>
{{ $t("Ordering person") }}
</h3>
<!-- </template> -->
<div v-else>
<h3
:class="[
'collapse',
't16',
'tw-relative',
'tw-cursor-pointer',
'xl:tw-text-[18px]',
show ? 'show' : 'hide',
disabled ? 'disabled' : '',
disabled ? 'tw-text-neutrals-300' : 'tw-text-black',
]"
@click="show = !show"
>{{ userData.first_name }} {{ userData.last_name }}</h3>
<div style="margin-left: 55px;">
<div>{{ '電子信箱 : ' + userData.email }}</div>
<div>{{ '聯絡電話 : ' + userData.phone_number }}</div>
</div>
</div>
<div class="element content-status xl:tw-ml-[20px]">
<span
v-if="orderingPersonValidation == true"
@ -27,6 +54,7 @@
</div>
</div>
<Transition name="bounce">
<div v-show="show">
<div class="tw-mt-[32px] md:tw-ml-[60px]">
@ -121,11 +149,21 @@
</div>
</div>
<div class="element tw-mt-[40px] tw-text-right">
<button
class="tw-transition tw-btn-md tw-bg-primary-1 tw-px-[30px] tw-py-[9.5px] tw-rounded-2xl hover:tw-bg-primary-2"
@click="OrderingPersonInfo()"
>
{{ $t("Next") }}
</button>
</div>
</div>
</div>
</Transition>
</div>
</client-only>
</template>>
<script>
@ -141,6 +179,9 @@ export default {
countryOptions: {
type: Array,
},
infoType: {
type: String,
},
},
components: {
elementInput,
@ -151,8 +192,9 @@ export default {
},
data() {
return {
show: false,
show: true,
disabled: false,
updatePersonalInfo: false,
orderingPersonValidation: false,
userData: {
first_name: "",
@ -171,12 +213,27 @@ export default {
phone_number: true,
country: true,
},
translateOption: {
countrySelectorLabel: this.$t("country code"),
phoneNumberLabel: this.$t("phone number"),
},
error: false,
}
},
created() {
this.getUser()
},
watch: {},
watch: {
orderingPersonValidation: {
handler: function () {
if(this.show){
this.orderingPersonValidation = false
} else {
this.orderingPersonValidation = true
}
}
}
},
methods: {
async getUser() {
await this.$axios
@ -203,6 +260,80 @@ export default {
getPhoneData(phoneData) {
this.validation.phone_number = phoneData.isValid;
},
//post
postOrderingPerson() {
const patchData = JSON.parse(JSON.stringify(this.userData));
let params = {
FirstName: patchData.first_name,
LastName: patchData.last_name,
Email: patchData.email,
Phone: patchData.phone_number,
CountryID: patchData.country,
PhoneCode: patchData.phone_code,
}
this.$axios
.post(
`/trending/api/Onsite/Member`,
params
)
.then((result) => {
console.log(result);
})
.catch((err) => {
console.log(err);
});
},
OrderingPersonInfo() {
if(this.validators()) {
console.log('fuck')
this.show = false;
this.orderingPersonValidation = true
this.$emit('orderingPerson_Validation', this.orderingPersonValidation)
console.log(this.orderingPersonValidation)
}
},
validators() {
if (is.empty(this.userData.first_name)) {
this.validation.first_name = false;
} else {
this.validation.first_name = true;
}
if (is.empty(this.userData.last_name)) {
this.validation.last_name = false;
} else {
this.validation.last_name = true;
}
if (is.empty(this.userData.email) || is.not.email(this.userData.email)) {
this.validation.email = false;
} else {
this.validation.email = true;
}
if (
is.empty(this.userData.phone_number) ||
IsNumber(this.userData.phone_number) == false
) {
this.validation.phone_number = false;
this.error = true;
} else {
this.validation.phone_number = true;
this.error = false;
}
if (is.empty(this.userData.country) || this.userData.country == "0") {
this.validation.country = false;
} else {
this.validation.country = true;
}
this.errors = Object.entries(this.validation).filter(
(e) => e[1] == false
);
if (this.errors.length > 0) {
this.purchaserValidation = false;
return false;
} else {
return true;
}
},
}
}
</script>

2
FrontEnd/layouts/login.vue

@ -38,7 +38,7 @@ export default {
},
data() {
return {
includeArr: ['ServiceContent']
includeArr: ['ServiceContent', 'checkout']
};
},
computed: {

1
FrontEnd/pages/service/_id.vue

@ -1,6 +1,5 @@
<template>
<div
style="border: 1px solid red;"
class="service-content tw-mb-[60px] tw-grid tw-grid-cols-1 tw-gap-[30px] md:tw-mb-[100px] xl:tw-px-[60px] xl:tw-max-w-screen-xl xl:tw-mx-auto xl:tw-grid-cols-[auto_364px]">
<mobileFixTopBar ref="stickySwiper" :fixBar="fixBar" :currStep="currStep" :list="fixBarList"></mobileFixTopBar>
<section class="step sercion-1 tw-w-full md:tw-px-[30px] xl:tw-px-0 xl:tw-col-span-2">

59
FrontEnd/pages/service/checkout/_id.vue

@ -2,6 +2,7 @@
<client-only>
<div
class="tw-px-[15px] tw-mb-[60px] xl:tw-px-[60px] xl:tw-max-w-screen-xl xl:tw-mx-auto xl:tw-grid xl:tw-grid-cols-[822px_auto] xl:tw-gap-[30px]"
style="background-color: #f1f1f1;"
>
<!-- 步驟條 -->
@ -35,23 +36,32 @@
class="tw-flex tw-justify-between purchaser-info tw-p-8 tw-mb-[20px] tw-bg-white tw-rounded-xl"
>
<div style="width: 25%;">
<div style="margin-bottom: 15px;">
<button
class="btn_login tw-transition"
>
登入
<!-- {{ $t("Next") }} -->
</button>
</div>
<div>
<button
class="btn_add"
<nuxt-link :to="localePath('/user')">
<button
class="btn_login tw-transition"
@click="checkRoute"
>
加入會員
登入
<!-- {{ $t("Next") }} -->
</button>
</button>
</nuxt-link>
</div>
<div>
<nuxt-link :to="localePath('/user/signUp')">
<button
class="btn_add"
>
加入會員
<!-- {{ $t("Next") }} -->
</button>
</nuxt-link>
</div>
</div>
<div style="border-left: 1px solid #e5e5e5; width: 75%; padding-left: 30px;">
<p class="tw-body-3 tw-text-primary-1 tw-font-bold">加入會員的好處 : </p>
<ul>
@ -63,7 +73,14 @@
</div>
</div>
<OrderPersonInfo></OrderPersonInfo>
<OrderPersonInfo
:countryOptions="countryOptions"
@type="type = $event"
@individual="individualData = $event"
@company="companyData = $event"
@orderingPerson_Validation="getOrderingPerson_validation"
>
</OrderPersonInfo>
<!-- 訂購資訊 -->
<h2
@ -81,9 +98,11 @@
}}
</div>
<BookingInfoItem
:class="[orderingPerson_Validation ? 'noFilter' : 'haveFilter']"
ref="ref_Booking"
:info="order"
:content="content"
:orderingPerson_Validation="orderingPerson_Validation"
:questions="questionList"
@answer="answerData = $event"
@bookingDetail_validation="getBookingDetail_validation"
@ -193,7 +212,8 @@ import loading from "@/components/newComponent/loading/loading.vue";
export default {
name: "checkout",
layout: "service",
// layout: "service",
layout: ['login', 'service'],
// auth: true,
auth: false,
components: {
@ -283,10 +303,12 @@ export default {
payToken: "",
three_d_url: "",
validation: {
orderPersonInfo: true,
bookingInfo: false,
purchaserInfo: false,
chooseMethod: false,
},
orderingPerson_Validation: false,
bookingDetail_Validation: false,
purchaserInfo_Validation: false,
chooseMethod: "",
@ -329,7 +351,7 @@ export default {
// this.isLoading = false;
// });
console.log(this.$auth.loggedIn)
this.getOrderingPerson_validation();
// if (this.$auth.loggedIn) {
let data = this.$route.query;
@ -409,6 +431,9 @@ export default {
},
mounted() {},
methods: {
checkRoute() {
console.log(this.$route)
},
getQuestionList(){
this.questionList = [{
id: "question01",
@ -806,6 +831,10 @@ export default {
// })
// .catch((error) => console.log(error));
// },
getOrderingPerson_validation(data) {
this.orderingPerson_Validation = data;
console.log(this.orderingPerson_Validation)
},
getBookingDetail_validation(data) {
this.bookingDetail_Validation = data;
},

Loading…
Cancel
Save