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/EditPhoneUserAccount.vue |  114 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++
 1 files changed, 114 insertions(+), 0 deletions(-)

diff --git a/packages/components/src/views/userAccount/EditPhoneUserAccount.vue b/packages/components/src/views/userAccount/EditPhoneUserAccount.vue
new file mode 100644
index 0000000..93654be
--- /dev/null
+++ b/packages/components/src/views/userAccount/EditPhoneUserAccount.vue
@@ -0,0 +1,114 @@
+<template>
+  <LoadingLayout :loading="isLoading">
+    <PhoneBillRechargeBaseForm 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>
+    </PhoneBillRechargeBaseForm>
+  </LoadingLayout>
+</template>
+
+<script setup lang="ts">
+import PhoneBillRechargeBaseForm from '../PhoneBillRecharge/PhoneBillRechargeBaseForm.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 { PhoneUserAccountExtraProperties } from '../PhoneBillRecharge/context';
+
+defineOptions({
+  name: 'EditPhoneUserAccount',
+});
+
+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 PhoneUserAccountExtraProperties;
+    form.ispCode = currentUserAccountExtraProperties.ispCode;
+    form.phone = data.content;
+    form.name = currentUserAccountExtraProperties.name;
+    form.remark = data.remark;
+  },
+  enabled: computed(() => !!props.id),
+});
+
+const form = reactive({
+  ispCode: '',
+  phone: '',
+  name: '',
+  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.ispCode,
+      lifePayType: LifeRechargeConstants.LifePayOrderTypeEnum.璇濊垂璁㈠崟,
+      content: form.phone,
+      extraProperties: JSON.stringify(form),
+      remark: form.remark,
+      id: props.id,
+    };
+    await addUpdateUserAccount(params);
+    emit('success');
+  } catch (error) {}
+}
+</script>

--
Gitblit v1.9.1