SyuanYu 1 anno fa
parent
commit
e13b02c875

+ 22 - 6
frontend/src/views/main/admin/TestECPay.vue

@@ -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>

+ 2 - 2
frontend/src/views/main/profile/UserProfileEditPassword.vue

@@ -60,14 +60,14 @@ async function submit() {
           <v-text-field
             type="password"
             ref="password"
-            :label="$t('password')"
+            :label="$t('newPassword')"
             v-model="password1"
             :rules="password1Rules"
           >
           </v-text-field>
           <v-text-field
             type="password"
-            :label="$t('confirmPassword')"
+            :label="$t('confirmNewPassword')"
             :rules="password2Rules"
             v-model="password2"
           >