<template>
|
<ElectricBillRechargeStep1 v-if="current === 'step1'" />
|
<ElectricBillRechargeStep2
|
v-else-if="current === 'step2'"
|
v-bind="props"
|
@go-pay="emit('goPay', $event)"
|
@paySuccess="emit('paySuccess', $event)"
|
@missName="emit('missName', $event)"
|
/>
|
</template>
|
|
<script setup lang="ts">
|
import { computed, provide } from 'vue';
|
import { useStepper } from 'senin-mini/hooks';
|
import { ElectricBillRechargeContextKey } from './context';
|
import ElectricBillRechargeStep1 from './ElectricBillRechargeStep1.vue';
|
import ElectricBillRechargeStep2 from './ElectricBillRechargeStep2.vue';
|
import { RechargeProps } from '../PhoneBillRecharge/types';
|
|
defineOptions({
|
name: 'electricBillRecharge',
|
});
|
|
const props = withDefaults(defineProps<RechargeProps>(), {
|
isDev: false,
|
});
|
|
const emit = defineEmits<{
|
(e: 'goPay', orderNo: string): void;
|
(e: 'paySuccess', orderNo: string): void;
|
(e: 'missName', userAccountId: string): void;
|
}>();
|
|
const stepperInfo = useStepper(['step1', 'step2'], 'step2');
|
const current = computed(() => stepperInfo.current.value);
|
|
provide(ElectricBillRechargeContextKey, {
|
...stepperInfo,
|
});
|
</script>
|