From dcb56b639d6e7829d82a80151571eb16280ab6bb Mon Sep 17 00:00:00 2001 From: Tomas <tomasysh@gmail.com> Date: 星期五, 12 十一月 2021 22:14:46 +0800 Subject: [PATCH] update#129317: [date-filter] 傳入的參數可以為 string 或 Date 或 null 型別 --- PAMapp/components/QuickFilter/QuickFilterSelector.vue | 45 ++++++++++++++++++++++++++------------------- 1 files changed, 26 insertions(+), 19 deletions(-) diff --git a/PAMapp/components/QuickFilter/QuickFilterSelector.vue b/PAMapp/components/QuickFilter/QuickFilterSelector.vue index 18d8a2b..cb2017b 100644 --- a/PAMapp/components/QuickFilter/QuickFilterSelector.vue +++ b/PAMapp/components/QuickFilter/QuickFilterSelector.vue @@ -6,21 +6,22 @@ </span> <span class="smTxt_bold text--primary" - v-if="questionOption.name === 'style'" + v-if="questionOption.name === 'communicationStyles'" >�銴</span> <span class="smTxt_bold text--primary" - v-if="questionOption.name === 'satisfaction'" + v-if="questionOption.name === 'avgScore'" >������</span> </div> - <div class="quickBtnBlock" v-if="questionOption.name === 'style'"> - <el-checkbox-group class="pam-quickFilter-checkbox" v-model="pickedItem.style"> + <div class="quickBtnBlock" v-if="questionOption.name === 'communicationStyles'"> + <el-checkbox-group class="pam-quickFilter-checkbox" v-model="pickedItem.communicationStyles"> <el-checkbox v-for="(i, index) in questionOption.detail" :key="index" - :label="i" - :name="i" + :label="i.value" + :name="i.value" + :class="i.className" ></el-checkbox> </el-checkbox-group> </div> @@ -30,48 +31,54 @@ <el-radio v-for="(i, index) in questionOption.detail" :key="index" - :label="i"></el-radio> + :label="i.value" + :class="i.className" + >{{i.name}}</el-radio> </el-radio-group> </div> - <div class="quickBtnBlock" v-else-if="questionOption.name === 'loginState'"> - <el-radio-group class="pam-quickFilter-radio" v-model="pickedItem.loginState"> + <div class="quickBtnBlock" v-else-if="questionOption.name === 'status'"> + <el-radio-group class="pam-quickFilter-radio" v-model="pickedItem.status"> <el-radio v-for="(i, index) in QuestionOption.detail" :key="index" - :label="i"></el-radio> + :label="i.value" + :class="i.className" + ></el-radio> </el-radio-group> </div> <div v-else> - <el-rate class="pam-quickFilter-rate" v-model="pickedItem.satisfaction"></el-rate> + <el-rate class="pam-quickFilter-rate" v-model="pickedItem.avgScore"></el-rate> </div> </div> </template> <script lang="ts"> -import { Vue, Component, PropSync, Prop, Watch, Emit } from 'nuxt-property-decorator'; -import { QuestionOption, selectedItem } from '~/pages/quickFilter/index.vue'; +import { Vue, Component, PropSync, Prop, Watch } from 'nuxt-property-decorator'; +import { FastQueryParams } from '~/assets/ts/api/consultant'; +import { QuestionOption } from '~/pages/quickFilter/index.vue'; @Component export default class QuickFilterDrawer extends Vue { - pickedItem: selectedItem = { - style: [], - onlineState: '', + pickedItem: FastQueryParams = { + communicationStyles: [], + status: '', gender: '', - satisfaction: 0 + avgScore: 0 } @PropSync('drawerVisible') isVisible!: boolean; - @Prop() selectedItem!: selectedItem; + @Prop() selectedItem!: FastQueryParams; @Prop() questionOption!: QuestionOption; - @Watch('selectedItem', {deep: true, immediate: true}) watchSelected(newValue: selectedItem) { + @Watch('selectedItem', {deep: true, immediate: true}) watchSelected(newValue: FastQueryParams) { if (newValue) { this.pickedItem = JSON.parse(JSON.stringify(this.selectedItem)) } } + } </script> -- Gitblit v1.8.0