| | |
| | | <template> |
| | | <el-row type="flex" justify="center" :class="cusClass"> |
| | | <el-button @click="addConsultant(agentInfo)" :disabled="isAdded"> |
| | | <span> + 顧問清單</span> |
| | | <span> {{isAdded ? '已加入顧問清單' : '+ 顧問清單'}}</span> |
| | | </el-button> |
| | | <el-button |
| | | @click="reserveCommunication" |
| | |
| | | </template> |
| | | |
| | | <script lang="ts"> |
| | | import { Vue, Component, Prop, Emit, Action, State } from 'nuxt-property-decorator'; |
| | | import { Consultants } from '~/assets/ts/api/consultant'; |
| | | import { isLogin } from '~/assets/ts/auth'; |
| | | import { Vue, Component, Prop, Emit, Action, State, namespace } from 'nuxt-property-decorator'; |
| | | import { Consultant } from '~/assets/ts/models/consultant.model'; |
| | | |
| | | const localStorage = namespace('localStorage'); |
| | | @Component |
| | | export default class AddAndReservedBtns extends Vue { |
| | | @Action addToMyConsultantList!: (consultantToAdd: Consultants) => Promise<boolean> |
| | | @State('myConsultantList') myConsultantList!: Consultants[]; |
| | | |
| | | @Prop() agentInfo!: Consultants; |
| | | @Action addToMyConsultantList!: (consultantToAdd: Consultant) => Promise<boolean> |
| | | @State('myConsultantList') myConsultantList!: Consultant[]; |
| | | @Prop() agentInfo!: Consultant; |
| | | @Prop() cusClass!: string; |
| | | isVisiblePopUp = false; |
| | | addConsultant(item: Consultants) { |
| | | addConsultant(item: Consultant) { |
| | | this.addToMyConsultantList(item).then(addOk => { |
| | | addOk && this.openPopUp(); |
| | | }); |
| | | } |
| | | |
| | | reserveCommunication() { |
| | | isLogin() ? this.$router.push(`/questionnaire/${this.agentInfo.agentNo}`) : this.$router.push('/login'); |
| | | this.$router.push(`/questionnaire/${this.agentInfo.agentNo}`); |
| | | } |
| | | |
| | | @Emit('openPopUp') openPopUp(popUpTxt: string = '成功加入顧問清單') { |