From 3e8c86ebf61df1ac5c9dfd96c7a829a2cd9ec4a2 Mon Sep 17 00:00:00 2001
From: Mila <Mila@pollex.com.tw>
Date: 星期一, 15 十一月 2021 17:55:59 +0800
Subject: [PATCH] TODO#130023 客戶預約清單: 串接標註已聯絡 api

---
 PAMapp/components/Ui/UiField.vue |   32 ++++++++++++++++++++++++--------
 1 files changed, 24 insertions(+), 8 deletions(-)

diff --git a/PAMapp/components/Ui/UiField.vue b/PAMapp/components/Ui/UiField.vue
index f069cc7..5d5ee7b 100644
--- a/PAMapp/components/Ui/UiField.vue
+++ b/PAMapp/components/Ui/UiField.vue
@@ -1,9 +1,11 @@
 <template>
-    <el-col :span="24" class="pam-field">
-      <div class="pam-field-label">
-        <div class="pam-field-title"><i :class="fieldIcon"></i>{{ fieldLabel }}</div>
+    <el-col :span="fieldSpan" class="pam-field"
+      v-if="fieldDisplayDevice === 'ALL'
+      || fieldDisplayDevice === currentDevice">
+      <div class="pam-field__label">
+        <div class="pam-field__title"><i :class="fieldIcon"></i>{{ fieldLabel }}</div>
       </div>
-      <p class="pam-field-content pt-10">
+      <p class="pam-field__content">
         <slot></slot>
       </p>
     </el-col>
@@ -11,15 +13,22 @@
 
 <script lang="ts">
 import { Vue, Component, Prop } from 'vue-property-decorator';
+import { isMobileDevice } from '~/assets/ts/device';
 
 @Component
-export default class UiCarousel extends Vue {
+export default class UiField extends Vue {
 
   @Prop() span!: number;
   @Prop() icon!: string;
   @Prop() label!: string;
   @Prop() content!: string;
-  // @Prop() displayDevice!: 'MOBILE' | 'DESKTOP';
+  @Prop() displayDevice!: 'MOBILE' | 'DESKTOP' | 'ALL';
+
+  currentDevice: 'MOBILE' | 'DESKTOP' = 'MOBILE';
+
+  mounted(): void {
+    this.currentDevice = isMobileDevice() ? 'MOBILE' : 'DESKTOP';
+  }
 
   get fieldSpan(): number {
     return this.span || 24;
@@ -33,6 +42,10 @@
     return `${this.label}`;
   }
 
+  get fieldDisplayDevice(): 'MOBILE' | 'DESKTOP' | 'ALL' {
+    return this.displayDevice || 'ALL';
+  }
+
 }
 </script>
 
@@ -41,18 +54,21 @@
 .pam-field {
   display: flex;
   flex-direction: column;
-  .pam-field-label {
+  .pam-field__label {
     display: flex;
     align-items: center;
     .pam-icon {
       font-size: 12px;
     }
-    .pam-field-title {
+    .pam-field__title {
       font-size: 16px;
       font-weight: bold;
       display: flex;
       align-items: center;
     }
   }
+  .pam-field__content {
+    padding-top: 10px;
+  }
 }
 </style>

--
Gitblit v1.8.0