From f5105689af0ccee7d34632e8f8b47a66abda0884 Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期一, 09 六月 2025 15:09:06 +0800
Subject: [PATCH] Merge branch 'dev-ui' of http://120.26.58.240:8888/r/LifePaymentFront into dev-ui

---
 apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue |    6 +-
 packages/components/src/views/Mine/GeneratePromotionCodeView.vue             |   25 ++++++++----
 apps/taro/src/subpackages/my/applyAgent/applyAgent.vue                       |    5 +-
 packages/components/src/views/Mine/ApplyAgentView.vue                        |   49 ++++++++++++++++--------
 packages/core/src/lifeRechargeServices.ts                                    |   27 +++++++++++++
 apps/taro/src/subpackages/my/applyResult/applyResult.vue                     |    7 +++
 6 files changed, 88 insertions(+), 31 deletions(-)

diff --git a/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue b/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue
index 61edcaa..232af4e 100644
--- a/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue
+++ b/apps/taro/src/subpackages/my/applyAgent/applyAgent.vue
@@ -13,7 +13,6 @@
 import { PageLayout } from '@/components';
 import { RouterPath } from '@/constants';
 import { ApplyAgentView } from '@life-payment/components';
-import { goBack } from '@/utils';
 import type { ComponentExposed } from 'vue-component-type-helpers';
 
 defineOptions({
@@ -27,9 +26,9 @@
   applyAgentViewRef.value?.handleSubmit?.();
 }
 
-function submit() {
+function submit(value: string) {
   RouteHelper.navigateTo({
-    url: RouterPath.applyResult,
+    url: `${RouterPath.applyResult}?promoterIdNumber=${value}`,
   });
 }
 </script>
diff --git a/apps/taro/src/subpackages/my/applyResult/applyResult.vue b/apps/taro/src/subpackages/my/applyResult/applyResult.vue
index c7c56f1..59e712a 100644
--- a/apps/taro/src/subpackages/my/applyResult/applyResult.vue
+++ b/apps/taro/src/subpackages/my/applyResult/applyResult.vue
@@ -12,14 +12,19 @@
 <script setup lang="ts">
 import { PageLayout } from '@/components';
 import { ResultWithoutBG } from '@life-payment/components';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'applyAgent',
 });
 
+const router = Taro.useRouter();
+
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
+
 function generate() {
   RouteHelper.navigateTo({
-    url: RouterPath.promotionQrcode,
+    url: `${RouterPath.generatePromotionCode}?promoterIdNumber=${promoterIdNumber}`,
   });
 }
 </script>
diff --git a/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue b/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue
index be38334..c264292 100644
--- a/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue
+++ b/apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue
@@ -18,8 +18,8 @@
 import { PageLayout } from '@/components';
 import { RouterPath } from '@/constants';
 import { GeneratePromotionCodeView } from '@life-payment/components';
-import { goBack } from '@/utils';
 import type { ComponentExposed } from 'vue-component-type-helpers';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'generatePromotionCode',
@@ -33,9 +33,9 @@
   generatePromotionCodeViewRef.value?.handleSubmit?.();
 }
 
-function submit() {
+function submit(value: string) {
   RouteHelper.navigateTo({
-    url: RouterPath.applyResult,
+    url: `${RouterPath.promotionQrcode}?promoterIdNumber=${value}`,
   });
 }
 </script>
diff --git a/packages/components/src/views/Mine/ApplyAgentView.vue b/packages/components/src/views/Mine/ApplyAgentView.vue
index 68d9e8a..8c70ef6 100644
--- a/packages/components/src/views/Mine/ApplyAgentView.vue
+++ b/packages/components/src/views/Mine/ApplyAgentView.vue
@@ -30,22 +30,22 @@
         type="text"
       />
     </NutFormItem>
-    <NutFormItem label="鎰忓悜浠g悊绫诲瀷" class="bole-form-item" prop="type" required>
+    <NutFormItem label="鎰忓悜浠g悊绫诲瀷" class="bole-form-item" prop="agentType" required>
       <ChooseInputWithPicker
-        v-model="form.type"
+        v-model="form.agentType"
         placeholder="璇烽�夋嫨鎮ㄦ兂鐢宠鐨勪唬鐞嗙被鍨�"
-        :value-enum="[]"
+        :value-enum="LifeRechargeConstants.LifePayChannelAgentTypeText"
         enum-label-key="gasOrgName"
         enum-value-key="gasOrgCode"
       />
     </NutFormItem>
-    <NutFormItem label="瀹㈡埛璧勬簮" class="bole-form-item" prop="refundApplyRemark">
+    <NutFormItem label="瀹㈡埛璧勬簮" class="bole-form-item" prop="customerResources">
       <NutTextarea
         placeholder="璇峰~鍐欐偍鎷ユ湁鐨勫鎴疯祫婧�"
         placeholderClass="bole-input-text-placeholder"
         autoSize
         class="bole-input-textarea"
-        v-model="form.refundApplyRemark"
+        v-model="form.customerResources"
         :max-length="200"
         limit-show
       >
@@ -63,24 +63,33 @@
 } from '@nutui/nutui-taro';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import { reactive, ref, computed } from 'vue';
-import { useLifeRechargeContext } from '@life-payment/core-vue';
+import {
+  CreateChannelConsultationInput,
+  LifeRechargeConstants,
+  useLifeRechargeContext,
+} from '@life-payment/core-vue';
 import { FormValidator } from '../../utils';
 import ChooseInputWithPicker from '../../components/Input/ChooseInputWithPicker.vue';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'ApplyAgentView',
 });
 
 const emit = defineEmits<{
-  (e: 'submit'): void;
+  (e: 'submit', value: string): void;
 }>();
+
+const router = Taro.useRouter();
+
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
 
 const form = reactive({
   companyName: '',
   name: '',
   phoneNumber: '',
-  type: '',
-  refundApplyRemark: '',
+  agentType: '' as any as LifeRechargeConstants.LifePayChannelAgentType,
+  customerResources: '',
 });
 
 const rules = reactive<FormRules>({
@@ -89,7 +98,7 @@
     { required: true, message: '璇峰~鍐欐偍鐨勮仈绯绘柟寮�' },
     { validator: FormValidator.validatorPhoneNumber, message: '璇疯緭鍏ユ纭殑鎵嬫満鍙�' },
   ],
-  type: [{ required: true, message: '璇烽�夋嫨鎮ㄦ兂鐢宠鐨勪唬鐞嗙被鍨�' }],
+  agentType: [{ required: true, message: '璇烽�夋嫨鎮ㄦ兂鐢宠鐨勪唬鐞嗙被鍨�' }],
 });
 
 const { blLifeRecharge } = useLifeRechargeContext();
@@ -100,19 +109,27 @@
   if (!formRef.value) return;
   formRef.value.validate().then(({ valid, errors }: any) => {
     if (valid) {
-      refundUserLifePayOrder();
+      createChannelConsultation();
     }
   });
 }
 
-async function refundUserLifePayOrder() {
+async function createChannelConsultation() {
   try {
-    let params = {
+    let params: CreateChannelConsultationInput = {
       userId: blLifeRecharge.accountModel.userId,
-      refundApplyRemark: form.refundApplyRemark,
+      idNumber: promoterIdNumber,
+      name: form.name,
+      agentType: form.agentType,
+      phoneNumber: form.phoneNumber,
+      companyName: form.companyName,
+      customerResources: form.customerResources,
     };
-    let res = await blLifeRecharge.services.refundUserLifePayOrder(params);
-    emit('submit');
+    console.log('params: ', params);
+    let res = await blLifeRecharge.services.createChannelConsultation(params);
+    if (res) {
+      emit('submit', res);
+    }
   } catch (error) {}
 }
 
diff --git a/packages/components/src/views/Mine/GeneratePromotionCodeView.vue b/packages/components/src/views/Mine/GeneratePromotionCodeView.vue
index b4b40d3..9a9c670 100644
--- a/packages/components/src/views/Mine/GeneratePromotionCodeView.vue
+++ b/packages/components/src/views/Mine/GeneratePromotionCodeView.vue
@@ -29,16 +29,21 @@
 import { Form as NutForm, FormItem as NutFormItem, Input as NutInput } from '@nutui/nutui-taro';
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import { reactive, ref } from 'vue';
-import { useLifeRechargeContext } from '@life-payment/core-vue';
+import { CreateOrUpdatePromoterInput, useLifeRechargeContext } from '@life-payment/core-vue';
 import { FormValidator } from '../../utils';
+import Taro from '@tarojs/taro';
 
 defineOptions({
   name: 'ApplyAgentView',
 });
 
 const emit = defineEmits<{
-  (e: 'submit'): void;
+  (e: 'submit', data: string): void;
 }>();
+
+const router = Taro.useRouter();
+
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
 
 const form = reactive({
   name: '',
@@ -68,12 +73,16 @@
 
 async function refundUserLifePayOrder() {
   try {
-    // let params = {
-    //   userId: blLifeRecharge.accountModel.userId,
-    //   refundApplyRemark: form.refundApplyRemark,
-    // };
-    // let res = await blLifeRecharge.services.refundUserLifePayOrder(params);
-    emit('submit');
+    let params: CreateOrUpdatePromoterInput = {
+      userId: blLifeRecharge.accountModel.userId,
+      idNumber: promoterIdNumber,
+      name: form.name,
+      phoneNumber: form.phoneNumber,
+    };
+    let res = await blLifeRecharge.services.createOrUpdatePromoter(params);
+    if (res) {
+      emit('submit', res);
+    }
   } catch (error) {}
 }
 
diff --git a/packages/core/src/lifeRechargeServices.ts b/packages/core/src/lifeRechargeServices.ts
index 6762eea..71d3723 100644
--- a/packages/core/src/lifeRechargeServices.ts
+++ b/packages/core/src/lifeRechargeServices.ts
@@ -422,6 +422,18 @@
       ...(options || {}),
     });
   }
+
+  /** 鍒涘缓鎴栨洿鏂版帹骞垮憳 POST /api/Promoter/CreateOrUpdatePromoter */
+  async createOrUpdatePromoter(body: API.CreateOrUpdatePromoterInput, options?: API.RequestConfig) {
+    return this.request<string>('/api/Promoter/CreateOrUpdatePromoter', {
+      method: 'POST',
+      headers: {
+        'Content-Type': 'application/json',
+      },
+      data: body,
+      ...(options || {}),
+    });
+  }
 }
 
 export interface PhoneMesssageCodeLoginInput {
@@ -945,3 +957,18 @@
   /** 瀹㈡埛璧勬簮 */
   customerResources?: string;
 }
+
+export interface CreateOrUpdatePromoterInput {
+  /** Id */
+  id?: string;
+  /** 瀹㈡埛绔敤鎴稩d 濡傛湁 */
+  userId?: string;
+  /** ID */
+  idNumber?: string;
+  /** 鎺ㄥ箍鍛� */
+  name?: string;
+  /** 鑱旂郴鏂瑰紡 */
+  phoneNumber?: string;
+  /** 澶囨敞 */
+  remark?: string;
+}

--
Gitblit v1.9.1