apps/taro/src/subpackages/my/applyAgent/applyAgent.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
apps/taro/src/subpackages/my/applyResult/applyResult.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
apps/taro/src/subpackages/my/generatePromotionCode/generatePromotionCode.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packages/components/src/views/Mine/ApplyAgentView.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packages/components/src/views/Mine/GeneratePromotionCodeView.vue | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 | |
packages/core/src/lifeRechargeServices.ts | ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史 |
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> 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> 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> packages/components/src/views/Mine/ApplyAgentView.vue
@@ -30,22 +30,22 @@ type="text" /> </NutFormItem> <NutFormItem label="意向代理类型" class="bole-form-item" prop="type" required> <NutFormItem label="意向代理类型" 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) {} } 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) {} } 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; /** 客户端用户Id 如有 */ userId?: string; /** ID */ idNumber?: string; /** 推广员 */ name?: string; /** 联系方式 */ phoneNumber?: string; /** 备注 */ remark?: string; }