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/userAccount/EditElectricUserAccount.vue | 123 +++++++++++++++++++++++++++++++++++++++++ 1 files changed, 123 insertions(+), 0 deletions(-) diff --git a/packages/components/src/views/userAccount/EditElectricUserAccount.vue b/packages/components/src/views/userAccount/EditElectricUserAccount.vue new file mode 100644 index 0000000..d094b25 --- /dev/null +++ b/packages/components/src/views/userAccount/EditElectricUserAccount.vue @@ -0,0 +1,123 @@ +<template> + <LoadingLayout :loading="isLoading"> + <ElectricBillRechargeBaseForm ref="formRef" v-model:form="form"> + <NutFormItem label="澶囨敞淇℃伅" class="bole-form-item" prop="remark"> + <NutTextarea + placeholder="璇疯緭鍏ュ娉ㄤ俊鎭�" + placeholderClass="bole-input-text-placeholder" + autoSize + class="bole-input-textarea" + v-model="form.remark" + :max-length="30" + limit-show + > + </NutTextarea> + </NutFormItem> + <div class="common-content"> + <NutButton class="recharge-button" type="primary" @click="handleSave"> + <div class="recharge-button-inner"> + <div class="recharge-button-text">淇濆瓨</div> + </div> + </NutButton> + </div> + </ElectricBillRechargeBaseForm> + </LoadingLayout> +</template> + +<script setup lang="ts"> +import ElectricBillRechargeBaseForm from '../electricBillRecharge/ElectricBillRechargeBaseForm.vue'; +import { Button as NutButton, Textarea as NutTextarea } from '@nutui/nutui-taro'; +import { reactive, ref, computed } from 'vue'; +import { + useLifeRechargeContext, + LifeRechargeConstants, + AddUpdateUserAccountInput, +} from '@life-payment/core-vue'; +import { useAddUpdateUserAccount } from '../../hooks'; +import LoadingLayout from '../../components//Layout/LoadingLayout.vue'; +import { useQuery } from '@tanstack/vue-query'; +import { ElectricUserAccountExtraProperties } from '../electricBillRecharge/context'; + +defineOptions({ + name: 'EditElectricUserAccount', +}); + +type Props = { + id?: string; +}; + +const props = withDefaults(defineProps<Props>(), {}); + +const emit = defineEmits<{ + (e: 'success'): void; +}>(); + +const { blLifeRecharge } = useLifeRechargeContext(); + +const { isLoading } = useQuery({ + queryKey: ['blLifeRecharge/getUserAccountDetail', props.id], + queryFn: async () => { + return await blLifeRecharge.services.getUserAccountDetail( + { id: props.id }, + { + showLoading: false, + } + ); + }, + onSuccess(data) { + const currentUserAccountExtraProperties = JSON.parse( + data.extraProperties + ) as ElectricUserAccountExtraProperties; + form.electricAccount = data.content; + form.province = data.province; + form.city = data.city; + + form.electricType = currentUserAccountExtraProperties.electricType; + form.electricAccountType = currentUserAccountExtraProperties.electricAccountType; + form.sixID = currentUserAccountExtraProperties.sixID; + form.remark = data.remark; + }, + enabled: computed(() => !!props.id), +}); + +const form = reactive({ + electricAccount: '', + electricType: '', + electricAccountType: '', + province: '', + city: '', + sixID: '', + remark: '', +}); + +const formRef = ref<any>(null); + +function handleSave() { + if (!formRef.value) return; + formRef.value.validate().then(({ valid, errors }: any) => { + if (valid) { + handleAddUpdateUserAccount(); + } + }); +} + +const { addUpdateUserAccount } = useAddUpdateUserAccount(); + +async function handleAddUpdateUserAccount() { + try { + let params: AddUpdateUserAccountInput = { + userId: blLifeRecharge.accountModel.userId, + operators: form.electricType, + lifePayType: LifeRechargeConstants.LifePayOrderTypeEnum.鐢佃垂璁㈠崟, + content: form.electricAccount, + province: form.province, + city: form.city, + extraProperties: JSON.stringify(form), + remark: form.remark, + id: props.id, + }; + await addUpdateUserAccount(params); + emit('success'); + } catch (error) {} +} +</script> -- Gitblit v1.9.1