From 07d73df3d817d01ce47f6c7b7a8d8514cd389295 Mon Sep 17 00:00:00 2001 From: zhengyiming <540361168@qq.com> Date: 星期四, 13 三月 2025 10:19:44 +0800 Subject: [PATCH] release: @life-payment/core v0.0.3 --- packages/components/src/views/Order/OrderApplyRefundView.vue | 98 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 files changed, 98 insertions(+), 0 deletions(-) diff --git a/packages/components/src/views/Order/OrderApplyRefundView.vue b/packages/components/src/views/Order/OrderApplyRefundView.vue new file mode 100644 index 0000000..3b5574c --- /dev/null +++ b/packages/components/src/views/Order/OrderApplyRefundView.vue @@ -0,0 +1,98 @@ +<template> + <NutForm + :model-value="form" + ref="formRef" + :rules="rules" + label-position="top" + class="order-bill-recharge phone" + > + <NutFormItem class="bole-form-item" prop="refundApplyRemark" required> + <NutTextarea + placeholder="璇疯緭鍏ラ��娆惧師鍥�" + placeholderClass="bole-input-text-placeholder" + autoSize + class="bole-input-textarea" + v-model="form.refundApplyRemark" + :max-length="200" + limit-show + > + </NutTextarea> + </NutFormItem> + <div class="common-content"> + <nut-button class="recharge-button" type="primary" @click="handleSubmit"> + <div class="recharge-button-inner"> + <div class="recharge-button-text">鎻愪氦</div> + </div> + </nut-button> + </div> + </NutForm> +</template> + +<script setup lang="ts"> +import { + Form as NutForm, + FormItem as NutFormItem, + Input as NutInput, + Textarea as NutTextarea, +} from '@nutui/nutui-taro'; +import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types'; +import { reactive, ref, computed } from 'vue'; +import { + useLifeRechargeContext, + LifeRechargeConstants, + RefundUserLifePayOrderInput, +} from '@life-payment/core-vue'; +import { useQueryClient } from '@tanstack/vue-query'; + +defineOptions({ + name: 'OrderApplyRefundView', +}); + +type Props = { + id: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); + +const emit = defineEmits<{ + (e: 'submitApplyRefund'): void; +}>(); + +const form = reactive({ + refundApplyRemark: '', +}); + +const rules = reactive<FormRules>({ + refundApplyRemark: [{ required: true, message: '璇疯緭鍏ラ��娆惧師鍥�' }], +}); + +const { blLifeRecharge } = useLifeRechargeContext(); + +const formRef = ref<any>(null); + +function handleSubmit() { + if (!formRef.value) return; + formRef.value.validate().then(({ valid, errors }: any) => { + if (valid) { + refundUserLifePayOrder(); + } + }); +} + +const queryClient = useQueryClient(); + +async function refundUserLifePayOrder() { + try { + let params: RefundUserLifePayOrderInput = { + id: props.id, + userId: blLifeRecharge.accountModel.userId, + refundApplyRemark: form.refundApplyRemark, + }; + let res = await blLifeRecharge.services.refundUserLifePayOrder(params); + emit('submitApplyRefund'); + queryClient.invalidateQueries({ + queryKey: ['blLifeRecharge/getUserLifePayOrderPage'], + }); + } catch (error) {} +} +</script> -- Gitblit v1.9.1