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