feat(dealer): 添加客户列表功能并优化邀请流程

- 新增客户列表页面,实现客户数据获取和筛选功能
- 添加客户状态管理工具函数
- 优化邀请流程,支持绑定推荐关系
- 调整提现功能,增加调试组件
- 修复申请经销商功能中的推荐人ID逻辑
This commit is contained in:
2025-09-03 10:41:06 +08:00
parent 7834124095
commit 0b43a3bc92
18 changed files with 1286 additions and 934 deletions

View File

@@ -11,11 +11,12 @@ import {
pageShopDealerApply,
updateShopDealerApply
} from "@/api/shop/shopDealerApply";
import {getShopDealerUser} from "@/api/shop/shopDealerUser";
const AddUserAddress = () => {
const {user} = useUser()
const [loading, setLoading] = useState<boolean>(true)
const [FormData, setFormData] = useState<ShopDealerApply>({})
const [FormData, setFormData] = useState<ShopDealerApply>()
const formRef = useRef<any>(null)
const [isEditMode, setIsEditMode] = useState<boolean>(false)
const [existingApply, setExistingApply] = useState<ShopDealerApply | null>(null)
@@ -47,31 +48,34 @@ const AddUserAddress = () => {
setExistingApply(res.list[0]);
// 如果有记录,填充表单数据
setFormData(res.list[0]);
setLoading(false)
} else {
setFormData({})
setIsEditMode(false);
setExistingApply(null);
setLoading(false)
}
} catch (error) {
setLoading(true)
console.error('查询申请记录失败:', error);
setIsEditMode(false);
setExistingApply(null);
setFormData({})
}
}
// 提交表单
const submitSucceed = async (values: any) => {
try {
// 准备提交的数据
const submitData = {
...values,
realName: values.realName || user?.nickname,
mobile: user?.phone,
refereeId: values.refereeId,
refereeId: values.refereeId || FormData?.refereeId,
applyStatus: 10,
auditTime: undefined
};
await getShopDealerUser(submitData.refereeId);
// 如果是编辑模式添加现有申请的id
if (isEditMode && existingApply?.applyId) {
@@ -86,7 +90,7 @@ const AddUserAddress = () => {
}
Taro.showToast({
title: `${isEditMode ? '更新' : '提交'}成功`,
title: `${isEditMode ? '提交' : '提交'}成功`,
icon: 'success'
});
@@ -95,9 +99,9 @@ const AddUserAddress = () => {
}, 1000);
} catch (error) {
console.error('提交失败:', error);
Taro.showToast({
title: `${isEditMode ? '更新' : '提交'}失败`,
console.error('验证邀请人失败:', error);
return Taro.showToast({
title: '邀请人ID不存在',
icon: 'error'
});
}
@@ -141,8 +145,8 @@ const AddUserAddress = () => {
<Form.Item name="mobile" label="手机号" initialValue={user?.mobile} required>
<Input placeholder="请输入手机号" disabled={true} maxLength={11}/>
</Form.Item>
<Form.Item name="refereeId" label="推荐人ID" initialValue={FormData?.refereeId} required>
<Input placeholder="推荐人ID"/>
<Form.Item name="refereeId" label="邀请人ID" initialValue={FormData?.refereeId} required>
<Input placeholder="邀请人ID"/>
</Form.Item>
</CellGroup>
</Form>
@@ -153,29 +157,29 @@ const AddUserAddress = () => {
title={'审核状态'}
extra={
<span style={{
color: FormData.applyStatus === 20 ? '#52c41a' :
FormData.applyStatus === 30 ? '#ff4d4f' : '#faad14'
color: FormData?.applyStatus === 20 ? '#52c41a' :
FormData?.applyStatus === 30 ? '#ff4d4f' : '#faad14'
}}>
{getApplyStatusText(FormData.applyStatus)}
{getApplyStatusText(FormData?.applyStatus)}
</span>
}
/>
{FormData.applyStatus === 20 && (
<Cell title={'审核时间'} extra={FormData.auditTime || '无'}/>
{FormData?.applyStatus === 20 && (
<Cell title={'审核时间'} extra={FormData?.auditTime || '无'}/>
)}
{FormData.applyStatus === 30 && (
<Cell title={'驳回原因'} extra={FormData.rejectReason || '无'}/>
{FormData?.applyStatus === 30 && (
<Cell title={'驳回原因'} extra={FormData?.rejectReason || '无'}/>
)}
</CellGroup>
)}
{/* 底部浮动按钮 */}
{(!isEditMode || FormData.applyStatus === 10 || FormData.applyStatus === 30) && (
{(!isEditMode || FormData?.applyStatus === 10 || FormData?.applyStatus === 30) && (
<FixedButton
icon={<Edit/>}
text={isEditMode ? '保存修改' : '提交申请'}
disabled={FormData.applyStatus === 10}
disabled={FormData?.applyStatus === 10}
onClick={handleFixedButtonClick}
/>
)}