line_push/changepage/index.vue.org
2022-07-17 13:16:16 +08:00

6.6 KiB
Raw Permalink Blame History

<template lang="pug"> v-container(fluid) v-card.elevation-0 v-card-title 您好! 歡迎您來參加11/14 西湖渡假村《秋季也有趣》 v-card-text p 這次我們活動採用line的報名機制 br

*報名費用(含活動費+晚餐合菜)

br

一日遊

br

7歲以上950元/人

br

3-6歲—-400元/人

br

2歲以下免費

br

二日遊

br

7歲以上700元/人

br

3-6歲—-400元/人

br

2歲以下免費

br

*住宿費用(含隔日早餐/門票)

br

2人房:3100元

br

4人房:4200元

br

加床600元(含隔日早餐/門票)

br

註:

br

7歲以上:102年11月14日前出生

br

3-6歲:102年11月13日~106年11月14日出生

br

2歲以下:106年11月13日後出生

br

報名後您能憑此LINE@在現場參加遊戲
若因故須取消已報名之活動,為便於作業流程之順暢,請於一個月前提出異動,於活動日一個月前提出可全額退費;之後提出者概不退還費用,煩請自行找其他車友替補。有任何困難之處可向管理群尋求協助,謝

v-form(@submit.prevent="submit" v-model="isValid") v-select( v-model="form.yesorno" :items="yesorno" label="社團活動報名表單的退費機制同意與否" :rules="[requireInput]") v-text-field(v-model="form.FBNAME" label="FB名稱" :rules="[requireInput]") v-text-field(v-model="form.NAME" label="姓名" :rules="[requireInput]") v-text-field(v-model="form.Phone" label="連絡電話" :rules="[requireInput, isPhone]" validate-on-blur type="tel") v-text-field(v-model="form.CARNUM" label="車號(ABC-1234)" :rules="[requireInput]") v-select( v-model="form.cartype" :items="cartype" label="車型" :rules="[requireInput]") v-select( v-model="form.CARCOLOR" :items="CARCOLOR" label="車色" :rules="[requireInput]") v-select( v-model="form.NumberOfPeople" :items="NumberOfPeople" label="7歲(含)以上至成人" :rules="[requireInput]") p.greytext 7歲以上 一日遊950元/人 二日遊700元/人 v-select( v-model="form.NumberOfChild" :items="NumberOfChild" label="3-6歲" :rules="[requireInput]") p.greytext 3-6歲—-400元/人 v-select( v-model="form.NumberOfBaby" :items="NumberOfBaby" label="0~2歲" :rules="[requireInput]") p.greytext 2歲以下免費 v-select( v-model="form.DAYS" :items="DAYS" label="一日遊or二日遊" :rules="[requireInput]") v-select( v-model="form.HOTELROOM2" :items="HOTELROOM2" label="訂飯店二人房(一大床)3100元/晚" :rules="[requireInput]") v-select( v-model="form.HOTELROOM4" :items="HOTELROOM4" label="訂飯店四人房(二大床)4200元/晚," :rules="[requireInput]") v-select( v-model="form.HALLROOM2" :items="HALLROOM2" label="訂會館二人房(二小床)3100元/晚" :rules="[requireInput]") v-select( v-model="form.AddBED" :items="AddBED" label="加床600元 \n" :rules="[requireInput]") v-text-field(v-model="form.Charge" label="報名費總金額" :rules="[requireInput]") p.greytext 註1: 計算方式: (報名人數*費用)+(房價*間數)) v-text-field(v-model="form.BANKACCOUNT" label="匯款帳號後五碼" :rules="[requireInput]") p.greytext 註2: 只是先填寫.不用急著匯款,請耐心等待通知~確定有報到名後再進行匯款動作即可 v-btn.airplug(type="submit" dark block depressed large :disabled="!isValid") {{ isValid ? '填好送出完成報到' : '您還沒填好喔' }} </template> <script lang="ts"> import { Vue, Component } from "nuxt-property-decorator"; import querystring from "querystring"; import { initLIFF } from "~/plugins/liff"; import { IForm } from "~/models/submit";

@Component export default class Home extends Vue { isValid = true; NumberOfPeople = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "再多…請聯絡管理員" ]; NumberOfChild = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "再多就變安親班了…請聯絡管理員" ]; NumberOfBaby = [ "0", "1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "再多變成幼稚園…請聯絡管理員" ]; yesorno = ["同意", "不同意"]; cartype = ["AT", "GT", "其他"]; CARCOLOR = ["300標準白", "668標準黑","A89帝王藍","C09地中海藍","B39礦物灰","A96珍珠白","A83冰川銀","B53深棕","C08香檳金","C10寶藍","C06紅","B45M款藍","其他"]; DAYS = ["一日遊", "二日遊"]; AddBED = ["0", "1", "2", "3", "4", "5"]; HOTELROOM2 = ["0", "1", "2", "3", "4", "5"]; HOTELROOM4 = ["0", "1", "2", "3", "4", "5"]; HALLROOM2 = ["0", "1", "2", "3", "4", "5"]; form = { NAME: "", FBNAME: "", CARNUM: "", yesorno: "", CARCOLOR: "", Phone: "", LINEUserID: "", NumberOfPeople: "", NumberOfChild: "", NumberOfBaby: "", DAYS: "", HOTELROOM2: "", HOTELROOM4: "", HALLROOM2: "", AddBED: "", BANKACCOUNT: "" };

liff: any;

async mounted() { const liffId = "1654797836-k7jJLNP4"; const liff = (this.liff = await initLIFF(liffId)); if (!liff.isLoggedIn()) { liff.login(); } else { const profile = await liff.getProfile(); this.form.LINEUserID = profile.userId; console.log(this.form); } }

async submit() { try { await this.$axios.$post(`//${window.location.host}/submit`, this.form); this.liff.closeWindow(); } catch (error) { alert("送出失敗"); } }

requireInput(value) { value = value || ''; return !!value.trim() ? true : "這個欄位也要填喔"; }

isEmail(value) { return !!value.match(/.+@.+[.].+/g) ? true : "email 格式不正確"; }

isPhone(value) { return value.replace(/[^0-9]/g, "").length >= 9 ? true

"電話號碼不正確, 市話記得加區碼喔";

} } </script> <style scoped> button.airplug.themedark.v-btn:not(.v-btnflat):not(.v-btntext):not(.v-btnoutlined) { background-color: #44d62c !important; color: white !important; } button.airplug.themedark.v-btn.v-btndisabled:not(.v-btnflat):not(.v-btntext):not(.v-btnoutlined) { opacity: 0.3; } </style>