123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- <script setup lang="ts">
- import { computed } from "vue";
- import { useI18n } from "vue-i18n";
- const { t } = useI18n();
- const showDialog = computed(() => props.dialog);
- const props = defineProps({
- msg: {
- type: String,
- default: "",
- },
- dialog: {
- type: Boolean,
- default: false,
- },
- state: {
- type: String,
- },
- icon: {
- type: String,
- default: "info"
- },
- qrcode: {
- type: Boolean,
- default: false,
- }
- });
- const emit = defineEmits(["close"]);
- function close() {
- emit("close", false);
- }
- </script>
- <template>
- <v-dialog
- :value="showDialog"
- v-model="showDialog"
- width="400"
- @click:outside="close()"
- >
- <v-card>
- <v-card-text>
- <section class="d-flex flex-column align-center">
- <v-icon style="font-size: 70px" :icon="icon" :color="state" />
- <!-- <p class="mt-3">{{ msg }}</p> -->
- <p v-html="msg" class="mt-3 text-center"></p>
- </section>
- </v-card-text>
- <v-card-actions class="d-flex justify-space-evenly">
- <v-btn @click="close()" v-show="!qrcode || (state === 'error' && qrcode)">{{ t("close") }}</v-btn>
- <router-link v-show="(state === 'success' || state === 'error') && qrcode" to="/main/dashboard">返回使用者頁面</router-link>
- </v-card-actions>
- </v-card>
- </v-dialog>
- </template>
|