zhengyiming
2 天以前 e0cb82c8dbf83fabc0cab548abc873926366fb75
packages/components/src/views/electricBillRecharge/electricBillRecharge.vue
@@ -4,35 +4,49 @@
    v-else-if="current === 'step2'"
    v-bind="props"
    @go-pay="emit('goPay', $event)"
    @paySuccess="emit('paySuccess', $event)"
    @missName="emit('missName', $event)"
    @editUserAccount="emit('editUserAccount', $event)"
  />
</template>
<script setup lang="ts">
import { computed, provide } from 'vue';
import { computed, provide, watch } 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',
});
type Props = {
  isDev?: boolean;
};
const props = withDefaults(defineProps<Props>(), {
const props = withDefaults(defineProps<RechargeProps>(), {
  isDev: false,
});
const emit = defineEmits<{
  (e: 'goPay', orderNo: string): void;
}>();
const stepperInfo = useStepper(['step1', 'step2'], 'step2');
const current = computed(() => stepperInfo.current.value);
const emit = defineEmits<{
  (e: 'goPay', orderNo: string): void;
  (e: 'paySuccess', orderNo: string): void;
  (e: 'missName', userAccountId: string): void;
  (e: 'editUserAccount', userAccountId: string): void;
  (e: 'currentChange', current: 'step1' | 'step2'): void;
}>();
watch(
  current,
  (newVal) => {
    emit('currentChange', newVal);
  },
  {
    immediate: true,
  }
);
provide(ElectricBillRechargeContextKey, {
  ...stepperInfo,
});