From 6e31039cff4bb6e212437bb179cad06b645c13a7 Mon Sep 17 00:00:00 2001 From: "DESKTOP-FUS91B7\\Showeasy" Date: Mon, 27 Mar 2023 14:40:11 +0800 Subject: [PATCH] =?UTF-8?q?=E6=AC=8A=E9=99=90=E4=BF=AE=E6=AD=A3=20(?= =?UTF-8?q?=E6=B8=AC=E8=A9=A6)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../service/content/selectExhibitionBooth.vue | 23 ++ FrontEnd/pages/service/_id.vue | 215 +++++++++++------- FrontEnd/pages/service/checkout/_id.vue | 166 ++++++++++---- 3 files changed, 278 insertions(+), 126 deletions(-) diff --git a/FrontEnd/components/service/content/selectExhibitionBooth.vue b/FrontEnd/components/service/content/selectExhibitionBooth.vue index e989a53..843c228 100644 --- a/FrontEnd/components/service/content/selectExhibitionBooth.vue +++ b/FrontEnd/components/service/content/selectExhibitionBooth.vue @@ -41,6 +41,10 @@ export default { data() { return { value: 0, + validation:{ + length: true + }, + errors: null, }; }, watch: { @@ -65,6 +69,25 @@ export default { this.value -= 1; } }, + validators() { + if(this.value == 0) { + + this.validation.length = false; + + } else{ + + this.validation.length = true; + + } + this.errors = Object.entries(this.validation).filter( + (e) => e[1] == false + ); + if (this.errors.length > 0) { + return false; + } else { + return true; + } + } }, }; diff --git a/FrontEnd/pages/service/_id.vue b/FrontEnd/pages/service/_id.vue index 46cc0b8..855b3e9 100644 --- a/FrontEnd/pages/service/_id.vue +++ b/FrontEnd/pages/service/_id.vue @@ -37,7 +37,7 @@

輸入攤位數量

- +
@@ -487,7 +487,7 @@ export default { this.isLoading = false; }); - // this.discount(); + console.log(this.$refs.ref_selectExhibition) }, mounted() { let vm = this; @@ -676,8 +676,6 @@ export default { if(response && response.data && response.data.DATA && response.data.DATA.rel){ let data = response.data.DATA.rel - console.log('getExhibitions: ', data) - if(data.length>0){ this.selectExhibitionList = data.map((item) => { return { @@ -698,8 +696,6 @@ export default { if(response && response.data && response.data.DATA && response.data.DATA.rel){ let data = response.data.DATA.rel - console.log('getServiceItems: ', data) - if(data.length>0){ this.typeGroupList = data.map((item) => { if(item.ItemType=="02"){ @@ -733,8 +729,6 @@ export default { if(response && response.data && response.data.DATA && response.data.DATA.rel){ let data = response.data.DATA.rel - console.log('getPackages: ', data) - if(data.length>0){ this.selectPackageList = data.map((item) => { return { @@ -754,8 +748,6 @@ export default { if(response && response.data && response.data.DATA && response.data.DATA.rel){ let data = response.data.DATA.rel - console.log('getQuantitySelects: ', data) - if(data.length>0){ this.quantitySelectList = data; } @@ -788,8 +780,6 @@ export default { if(response && response.data && response.data.DATA && response.data.DATA.rel){ let data = response.data.DATA.rel - console.log('getServiceData: ', data) - if(data){ this.content.name = data.ServiceName; this.content.highlights = data.Features; @@ -849,8 +839,6 @@ export default { if(response && response.data && response.data.DATA && response.data.DATA.rel){ let data = response.data.DATA.rel - console.log('getInfoItem: ', data); - if(data.length>0){ this.expenseRules = data; } @@ -889,72 +877,155 @@ export default { } }, bookNow() { - let validators = this.$refs.ref_selectExhibition.validators(); - - console.log("this.$refs.ref_selectExhibition:" + this.$refs.ref_selectExhibition); - if(validators==false){ - return false; - } - if(this.selectExhibitionServiceList.length>0){ - for(let i=0;i0){ + for(let i=0;i0){ + for(let i=0;i0){ + if(this.showCardItem){ + validators = this.$refs.ref_quantitySelectGroup.validators(); if(validators==false){ - ref.show = true; + this.pickupServiceShow = true; + return false; + } + validators = this.$refs.ref_pickupService.validators(); + if(validators==false){ + this.pickupServiceShow = true; return false; } } } + // let pickupServiceData = this.$refs. ref_pickupService.formData; + if(this.rulesShow){ + this.ChangeCosts(null); + return false; + } + this.$router.push( + { + path: this.localePath("/service/checkout/" + this.$route.params.id), + //携带需要传递的参数 + query: { + selectExhibitionData: encodeURIComponent(JSON.stringify(selectExhibitionData)), + selectExhibitionServiceData: encodeURIComponent(JSON.stringify(selectExhibitionServiceData)), + quantityData: encodeURIComponent(JSON.stringify(quantityData)), + // pickupServiceData: encodeURIComponent(JSON.stringify(pickupServiceData)), + totalPrice: this.totalPrice, + currencyName: encodeURIComponent(this.currencyName), + previewFile: encodeURIComponent(this.previewFile), + title: encodeURIComponent(this.content.name) + } + }); + } - - let selectExhibitionData = this.$refs.ref_selectExhibition.formData; - let selectExhibitionServiceData = []; - if(this.selectExhibitionServiceList.length>0){ - for(let i=0;i0){ + for(let i=0;i0){ - if(this.showCardItem){ - validators = this.$refs.ref_quantitySelectGroup.validators(); - if(validators==false){ - this.pickupServiceShow = true; - return false; + + // let selectExhibitionData = this.$refs.ref_selectExhibition.formData; + let selectExhibitionServiceData = []; + if(this.selectExhibitionServiceList.length>0){ + for(let i=0;i0){ + if(this.showCardItem){ + validators = this.$refs.ref_quantitySelectGroup.validators(); + if(validators==false){ + this.pickupServiceShow = true; + return false; + } + validators = this.$refs.ref_pickupService.validators(); + if(validators==false){ + this.pickupServiceShow = true; + return false; + } } } - } - // let pickupServiceData = this.$refs. ref_pickupService.formData; - if(this.rulesShow){ - this.ChangeCosts(null); - return false; - } - this.$router.push( - { - path: this.localePath("/service/checkout/" + this.$route.params.id), - //携带需要传递的参数 - query: { - selectExhibitionData: encodeURIComponent(JSON.stringify(selectExhibitionData)), - selectExhibitionServiceData: encodeURIComponent(JSON.stringify(selectExhibitionServiceData)), - quantityData: encodeURIComponent(JSON.stringify(quantityData)), - // pickupServiceData: encodeURIComponent(JSON.stringify(pickupServiceData)), - totalPrice: this.totalPrice, - currencyName: encodeURIComponent(this.currencyName), - previewFile: encodeURIComponent(this.previewFile), - title: encodeURIComponent(this.content.name) + // let pickupServiceData = this.$refs. ref_pickupService.formData; + if(this.rulesShow){ + this.ChangeCosts(null); + return false; } - }); + this.$router.push( + { + path: this.localePath("/service/checkout/" + this.$route.params.id), + //携带需要传递的参数 + query: { + // selectExhibitionData: encodeURIComponent(JSON.stringify(selectExhibitionData)), + selectExhibitionServiceData: encodeURIComponent(JSON.stringify(selectExhibitionServiceData)), + quantityData: encodeURIComponent(JSON.stringify(quantityData)), + // pickupServiceData: encodeURIComponent(JSON.stringify(pickupServiceData)), + totalPrice: this.totalPrice, + currencyName: encodeURIComponent(this.currencyName), + previewFile: encodeURIComponent(this.previewFile), + title: encodeURIComponent(this.content.name) + } + }); + + } + + }, // choicesIdx(data) { // let vm = this; @@ -1119,10 +1190,6 @@ export default { // 堆高機 stackerCostRules(data1,data2){ - console.log('堆高機func: ', data1); - console.log('堆高機func: ', data2); - console.log('expenseRules: ', this.expenseRules); - let price = 0; let tmpWeight = 0;//Number(data1.weight)/1000; // 材積重 長x寬x高/6000 得到噸 @@ -1161,8 +1228,6 @@ export default { for(let i=0;i0){ for(let j=0;j0){ - for(let i=0;i0){ - for(let j=0;j0){ - itemTypes +=","; + + if(this.serviceID == "1c6e0001-e2dd-46b5-a617-4dac2f34894f"){ + + let selectExhibitionServiceData = JSON.parse(decodeURIComponent(data.selectExhibitionServiceData)); + let quantityData = JSON.parse(decodeURIComponent(data.quantityData)); + this.currency = decodeURIComponent(data.currencyName); + // let pickupServiceData = JSON.parse(data.pickupServiceData); + this.order.preview_image = decodeURIComponent(data.previewFile); + this.order.title = decodeURIComponent(data.title); + let serviceItems = ""; + let orderItems = []; + if(selectExhibitionServiceData && selectExhibitionServiceData.length>0){ + for(let i=0;i0){ + for(let j=0;j0){ + itemTypes +=","; + } + itemTypes += target[j].name; } - itemTypes += target[j].name; } } - } - let item = "["+ tmpData.selectPackape.name +","+tmpData.length+"*"+tmpData.width+"*"+tmpData.height+"cm,"+tmpData.weight+"kg,"+itemTypes+"] x"+tmpData.quantity; - orderItems.push(item); - } - } - for(let n=0;n0){ - let item = "["+ name +" "+ this.$t("Ton truck")+","+this.$t("Maximum load")+" "+maxWeight+","+this.$t("Car size")+" "+size+"] x"+num; + let item = "["+ tmpData.selectPackape.name +","+tmpData.length+"*"+tmpData.width+"*"+tmpData.height+"cm,"+tmpData.weight+"kg,"+itemTypes+"] x"+tmpData.quantity; orderItems.push(item); } + } + for(let n=0;n0){ + let item = "["+ name +" "+ this.$t("Ton truck")+","+this.$t("Maximum load")+" "+maxWeight+","+this.$t("Car size")+" "+size+"] x"+num; + orderItems.push(item); + } + } + for(let n=0;n0){ + let item = "["+ name +" "+this.$t("Ton lift tailgate truck")+"] x"+num; + orderItems.push(item); + } + } + if(data.totalPrice!=undefined && data.totalPrice!=""){ + let price = Number(data.totalPrice); + this.order.total = Math.ceil(price); + this.subTotal = Math.ceil(price); + this.total = Math.ceil(price*0.05)+Math.ceil(price); + } + this.order.order_item = orderItems; + let title = this.order.title; + this.order.title = title; + this.order.service_name = title; + // this.order.selectExhibition = selectExhibitionData.selectPackape.name; + // this.order.selectExhibitionID = selectExhibitionData.selectPackape.id; } - for(let n=0;n0){ - let item = "["+ name +" "+this.$t("Ton lift tailgate truck")+"] x"+num; + else{ + + let selectExhibitionData = JSON.parse(decodeURIComponent(data.selectExhibitionData)); + + console.log(selectExhibitionData) + + let selectExhibitionServiceData = JSON.parse(decodeURIComponent(data.selectExhibitionServiceData)); + let quantityData = JSON.parse(decodeURIComponent(data.quantityData)); + this.currency = decodeURIComponent(data.currencyName); + // let pickupServiceData = JSON.parse(data.pickupServiceData); + this.order.preview_image = decodeURIComponent(data.previewFile); + this.order.title = decodeURIComponent(data.title); + let serviceItems = ""; + let orderItems = []; + if(selectExhibitionServiceData && selectExhibitionServiceData.length>0){ + for(let i=0;i0){ + for(let j=0;j0){ + itemTypes +=","; + } + itemTypes += target[j].name; + } + } + } + let item = "["+ tmpData.selectPackape.name +","+tmpData.length+"*"+tmpData.width+"*"+tmpData.height+"cm,"+tmpData.weight+"kg,"+itemTypes+"] x"+tmpData.quantity; orderItems.push(item); } + } + for(let n=0;n0){ + let item = "["+ name +" "+ this.$t("Ton truck")+","+this.$t("Maximum load")+" "+maxWeight+","+this.$t("Car size")+" "+size+"] x"+num; + orderItems.push(item); + } + } + for(let n=0;n0){ + let item = "["+ name +" "+this.$t("Ton lift tailgate truck")+"] x"+num; + orderItems.push(item); + } + } + if(data.totalPrice!=undefined && data.totalPrice!=""){ + let price = Number(data.totalPrice); + this.order.total = Math.ceil(price); + this.subTotal = Math.ceil(price); + this.total = Math.ceil(price*0.05)+Math.ceil(price); + } + this.order.order_item = orderItems; + let title = this.order.title; + this.order.title = title; + this.order.service_name = title; + this.order.selectExhibition = selectExhibitionData.selectPackape.name; + this.order.selectExhibitionID = selectExhibitionData.selectPackape.id; } - if(data.totalPrice!=undefined && data.totalPrice!=""){ - let price = Number(data.totalPrice); - this.order.total = Math.ceil(price); - this.subTotal = Math.ceil(price); - this.total = Math.ceil(price*0.05)+Math.ceil(price); - } - this.order.order_item = orderItems; - let title = this.order.title; - this.order.title = title; - this.order.service_name = title; - this.order.selectExhibition = selectExhibitionData.selectPackape.name; - this.order.selectExhibitionID = selectExhibitionData.selectPackape.id; + // await this.getContactList(); // await this.getActiveLength(); // await this.getOrder();