diff --git a/src/events/index.ts b/src/events/index.ts new file mode 100644 index 0000000..ef36fe9 --- /dev/null +++ b/src/events/index.ts @@ -0,0 +1 @@ +export const tradeEvent = createEventHook(); diff --git a/src/views/trade/components/confirm-order.vue b/src/views/trade/components/confirm-order.vue index 8a97717..a7cf026 100644 --- a/src/views/trade/components/confirm-order.vue +++ b/src/views/trade/components/confirm-order.vue @@ -3,6 +3,7 @@ import type { SpotOrderBody } from "@/api/types"; import { modalController, toastController } from "@ionic/vue"; import { closeOutline } from "ionicons/icons"; import { client, safeClient } from "@/api"; +import { tradeEvent } from "@/events"; import { tradeWayConfig } from "../config"; const props = defineProps<{ @@ -24,6 +25,7 @@ async function onConfirm() { memo: props.form.memo, price: props.form.price, })); + tradeEvent.trigger(); const toast = await toastController.create({ message: "订单提交成功", duration: 2000, diff --git a/src/views/trade/components/order-list.vue b/src/views/trade/components/order-list.vue index a587432..3460e75 100644 --- a/src/views/trade/components/order-list.vue +++ b/src/views/trade/components/order-list.vue @@ -3,6 +3,7 @@ import type { Treaty } from "@elysiajs/eden"; import type { InfiniteScrollCustomEvent } from "@ionic/vue"; import type { TreatyQuery } from "@/api/types"; import { client, safeClient } from "@/api"; +import { tradeEvent } from "@/events"; import OrderCard from "./order-card.vue"; type Item = Treaty.Data["data"][number]; @@ -50,6 +51,11 @@ async function handleInfinite(event: InfiniteScrollCustomEvent) { }, 500); } +tradeEvent.on(() => { + resetRwaData(); + fetchData(); +}); + onBeforeMount(() => { fetchData(); });