|
@@ -1,11 +1,13 @@
|
|
|
<script setup lang="ts">
|
|
|
-import { ref, reactive } from "vue";
|
|
|
+import { ref, reactive, computed } from "vue";
|
|
|
import { required } from "@/utils";
|
|
|
import { useAdminStore } from "@/stores/admin";
|
|
|
import axios from "axios";
|
|
|
import { useMainStore } from "@/stores/main";
|
|
|
|
|
|
const mainStore = useMainStore();
|
|
|
+const fieldRules = [(value: string) => !!value || "此欄位為必填項目"];
|
|
|
+
|
|
|
const items = reactive([
|
|
|
{ title: "100% 真人觀看" },
|
|
|
{ title: "包含影片設定費" },
|
|
@@ -99,6 +101,19 @@ let theme = ref("");
|
|
|
let otherObject = ref("");
|
|
|
let otherTheme = ref("");
|
|
|
|
|
|
+// 檢查必填欄位
|
|
|
+const isSubmitDisabled = computed(() => {
|
|
|
+ return (
|
|
|
+ !userData.email ||
|
|
|
+ !userData.name ||
|
|
|
+ !userData.url ||
|
|
|
+ !userData.area ||
|
|
|
+ !userData.language ||
|
|
|
+ !object.value ||
|
|
|
+ !theme.value
|
|
|
+ );
|
|
|
+});
|
|
|
+
|
|
|
async function ECPaySubmit() {
|
|
|
/*
|
|
|
const timestamp = Date.now()
|
|
@@ -279,13 +294,13 @@ async function saveData() {
|
|
|
<v-form @submit.prevent class="ECPay-form">
|
|
|
<v-text-field
|
|
|
v-model="userData.email"
|
|
|
- :rules="[(v) => !!v || '請輸入您的電子郵件']"
|
|
|
+ :rules="fieldRules"
|
|
|
label="電子郵件"
|
|
|
required
|
|
|
></v-text-field>
|
|
|
<v-text-field
|
|
|
v-model="userData.name"
|
|
|
- :rules="[(v) => !!v || '請輸入您的姓名']"
|
|
|
+ :rules="fieldRules"
|
|
|
label="姓名"
|
|
|
required
|
|
|
></v-text-field>
|
|
@@ -295,19 +310,19 @@ async function saveData() {
|
|
|
></v-text-field>
|
|
|
<v-text-field
|
|
|
v-model="userData.url"
|
|
|
- :rules="[(v) => !!v || '請輸入 YouTube 影片網址']"
|
|
|
+ :rules="fieldRules"
|
|
|
label="YouTube 影片網址"
|
|
|
required
|
|
|
></v-text-field>
|
|
|
<v-text-field
|
|
|
v-model="userData.area"
|
|
|
- :rules="[(v) => !!v || '請輸入影片放送地區']"
|
|
|
+ :rules="fieldRules"
|
|
|
label="影片放送地區(國家 / 縣市)"
|
|
|
required
|
|
|
></v-text-field>
|
|
|
<v-text-field
|
|
|
v-model="userData.language"
|
|
|
- :rules="[(v) => !!v || '請輸入受眾語言']"
|
|
|
+ :rules="fieldRules"
|
|
|
label="受眾語言"
|
|
|
required
|
|
|
></v-text-field>
|
|
@@ -370,6 +385,7 @@ async function saveData() {
|
|
|
type="submit"
|
|
|
block
|
|
|
class="mt-2 submit-btn"
|
|
|
+ :disabled="isSubmitDisabled"
|
|
|
>送出</v-btn
|
|
|
>
|
|
|
</v-form>
|