From e9c808a55b0b1837181391681f3fec34eb71cd2a Mon Sep 17 00:00:00 2001
From: zhengyiming <540361168@qq.com>
Date: 星期二, 10 六月 2025 16:38:42 +0800
Subject: [PATCH] Merge branch 'dev-ui' of http://120.26.58.240:8888/r/LifePaymentFront into dev-ui

---
 packages/components/src/views/Mine/ApplyAgentView.vue |  103 ++++++++++++++++++++++++++++++++++++++++++++-------
 1 files changed, 88 insertions(+), 15 deletions(-)

diff --git a/packages/components/src/views/Mine/ApplyAgentView.vue b/packages/components/src/views/Mine/ApplyAgentView.vue
index 518e578..805bbad 100644
--- a/packages/components/src/views/Mine/ApplyAgentView.vue
+++ b/packages/components/src/views/Mine/ApplyAgentView.vue
@@ -1,5 +1,57 @@
 <template>
-  <div></div>
+  <NutForm
+    :model-value="form"
+    ref="formRef"
+    :rules="rules"
+    label-position="top"
+    class="order-bill-recharge phone chunk-form"
+  >
+    <NutFormItem label="鍏徃鍚嶇О" class="bole-form-item" prop="companyName">
+      <NutInput
+        v-model.trim="form.companyName"
+        class="bole-input-text"
+        placeholder="璇峰~鍐欐偍鐨勫叕鍙稿悕绉�"
+        type="text"
+      />
+    </NutFormItem>
+    <NutFormItem label="濮撳悕" class="bole-form-item" prop="name" required>
+      <NutInput
+        v-model.trim="form.name"
+        class="bole-input-text"
+        placeholder="璇峰~鍐欐偍鐨勫鍚�"
+        type="text"
+      />
+    </NutFormItem>
+    <NutFormItem label="鑱旂郴鏂瑰紡" class="bole-form-item" prop="phoneNumber" required>
+      <NutInput
+        v-model.trim="form.phoneNumber"
+        class="bole-input-text"
+        placeholder="璇峰~鍐欐偍鐨勮仈绯绘柟寮�"
+        type="text"
+      />
+    </NutFormItem>
+    <NutFormItem label="鎰忓悜浠g悊绫诲瀷" class="bole-form-item" prop="agentType" required>
+      <ChooseInputWithPicker
+        v-model="form.agentType"
+        placeholder="璇烽�夋嫨鎮ㄦ兂鐢宠鐨勪唬鐞嗙被鍨�"
+        :value-enum="LifeRechargeConstants.LifePayChannelAgentTypeText"
+        enum-label-key="gasOrgName"
+        enum-value-key="gasOrgCode"
+      />
+    </NutFormItem>
+    <NutFormItem label="瀹㈡埛璧勬簮" class="bole-form-item" prop="customerResources" required>
+      <NutTextarea
+        placeholder="璇峰~鍐欐偍鎷ユ湁鐨勫鎴疯祫婧�"
+        placeholderClass="bole-input-text-placeholder"
+        autoSize
+        class="bole-input-textarea"
+        v-model="form.customerResources"
+        :max-length="200"
+        limit-show
+      >
+      </NutTextarea>
+    </NutFormItem>
+  </NutForm>
 </template>
 
 <script setup lang="ts">
@@ -12,26 +64,42 @@
 import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
 import { reactive, ref, computed } from 'vue';
 import {
-  useLifeRechargeContext,
+  CreateChannelConsultationInput,
   LifeRechargeConstants,
-  RefundUserLifePayOrderInput,
+  useLifeRechargeContext,
 } from '@life-payment/core-vue';
-import { useQueryClient } from '@tanstack/vue-query';
+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', consultationId: string): void;
 }>();
 
+const router = Taro.useRouter();
+
+const promoterIdNumber = router.params?.promoterIdNumber ?? '';
+
 const form = reactive({
-  refundApplyRemark: '',
+  companyName: '',
+  name: '',
+  phoneNumber: '',
+  agentType: '' as any as LifeRechargeConstants.LifePayChannelAgentType,
+  customerResources: '',
 });
 
 const rules = reactive<FormRules>({
-  refundApplyRemark: [{ required: true, message: '璇疯緭鍏ラ��娆惧師鍥�' }],
+  name: [{ required: true, message: '璇峰~鍐欐偍鐨勫鍚�' }],
+  phoneNumber: [
+    { required: true, message: '璇峰~鍐欐偍鐨勮仈绯绘柟寮�' },
+    { validator: FormValidator.validatorPhoneNumber, message: '璇疯緭鍏ユ纭殑鎵嬫満鍙�' },
+  ],
+  agentType: [{ required: true, message: '璇烽�夋嫨鎮ㄦ兂鐢宠鐨勪唬鐞嗙被鍨�' }],
+  customerResources: [{ required: true, message: '璇峰~鍐欐偍鎷ユ湁鐨勫鎴疯祫婧�' }],
 });
 
 const { blLifeRecharge } = useLifeRechargeContext();
@@ -42,21 +110,26 @@
   if (!formRef.value) return;
   formRef.value.validate().then(({ valid, errors }: any) => {
     if (valid) {
-      refundUserLifePayOrder();
+      createChannelConsultation();
     }
   });
 }
 
-const queryClient = useQueryClient();
-
-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');
+    let res = await blLifeRecharge.services.createChannelConsultation(params);
+    if (res) {
+      emit('submit', res);
+    }
   } catch (error) {}
 }
 

--
Gitblit v1.9.1