feat(referral): 新增楼栋单元楼层房号精细选择功能

- 将房号唯一键增加楼层字段,修改相关函数支持楼层处理
- 新增楼栋、单元、楼层、房号的选择状态和搜索过滤功能
- 实现楼栋、单元、楼层、房号的选择弹窗和清除按钮
- 表单改用选择控件替代输入框,隐藏字段同步表单数据
- 修改表单校验,验证楼栋、楼层、房号字段必填
- 编辑模式支持从dealerCode解析回填楼栋、单元、楼层、房号
- 优化房号规范化逻辑,去除楼层相关后缀
- 代码中统一使用规范化后的楼栋单元楼层房号构造唯一
This commit is contained in:
2026-04-16 17:09:58 +08:00
parent 8128e2ffb2
commit 099855e121
10 changed files with 1284 additions and 59 deletions

View File

@@ -3,7 +3,7 @@ import {View, Text, ScrollView, Input, Button} from '@tarojs/components'
import {ConfigProvider, Field, Cell, CellGroup, Toast} from '@nutui/nutui-react-taro'
import {useDealerUser} from '@/hooks/useDealerUser'
import Taro from '@tarojs/taro'
import {addReferral, getReferralList, getReferralStats} from '@/api/shop/referral'
import {addReferral, getMyReferrals, getMyStats} from '@/api/app/referral'
import './index.scss'
// 状态映射
@@ -50,13 +50,13 @@ const ReferralPage: React.FC = () => {
setLoading(true)
// 获取统计
const statsRes = await getReferralStats(dealerUser.userId)
const statsRes = await getMyStats()
if (statsRes.data.code === 0) {
setStats(statsRes.data.data)
}
// 获取列表
const listRes = await getReferralList({pageNum: 1, pageSize: 10})
const listRes = await getMyReferrals({pageNum: 1, pageSize: 10})
if (listRes.data.code === 0) {
setRecords(listRes.data.data.list || [])
setHasMore(listRes.data.data.list?.length === 10)
@@ -137,7 +137,7 @@ const ReferralPage: React.FC = () => {
try {
const nextPage = page + 1
const res = await getReferralList({pageNum: nextPage, pageSize: 10})
const res = await getMyReferrals({pageNum: nextPage, pageSize: 10})
if (res.data.code === 0 && res.data.data.list) {
setRecords(prev => [...prev, ...res.data.data.list])
setPage(nextPage)