5.1 KiB
5.1 KiB
功能更新日志 - 添加品名筛选
📋 更新内容
新增功能
✅ 品名筛选条件 - 在价格查询页面添加了品名(partsname_name)筛选选项
更新时间
2026-01-06
🎯 功能详情
品名筛选选项
新增的品名选择器包含以下选项:
- 全部(默认)
- 高线
- 螺纹钢
- 盘螺
- 工字钢
- 槽钢
- 角钢
- H型钢
- 钢板
- 卷板
- 中厚板
查询逻辑优化
1. 必填/可选条件调整
- 必填:地区
- 可选:材质、品名、日期
2. 查询参数构建
{
region: '昆明', // 必填
material: 'HPB300', // 可选
partsname: '高线', // 可选(新增)
startDate: '2026-01-01', // 可选
endDate: '2026-01-05', // 可选
pageSize: 100
}
3. API 调用
统一使用 searchPrices API,支持多条件组合查询。
📂 修改的文件
1. pages/index/index.js
新增数据:
// 品名选项
partsnames: [
'全部', '高线', '螺纹钢', '盘螺', '工字钢', '槽钢',
'角钢', 'H型钢', '钢板', '卷板', '中厚板'
],
// 选中的品名索引
selectedPartsnameIndex: 0,
新增方法:
onPartsnameChange(e) {
const index = parseInt(e.detail.value)
this.setData({
selectedPartsnameIndex: index
})
}
更新的方法:
onSearch()- 添加品名参数处理onReset()- 添加品名重置
2. pages/index/index.wxml
新增UI:
<!-- 品名选择 -->
<view class="form-item">
<view class="form-label">品名</view>
<picker
class="form-picker"
mode="selector"
range="{{partsnames}}"
value="{{selectedPartsnameIndex}}"
bindchange="onPartsnameChange">
<view class="picker-text">
{{partsnames[selectedPartsnameIndex]}}
</view>
</picker>
</view>
优化:
- 材质选择器改为可选(显示"请选择材质 (可选)")
- 添加品名选择器,默认"全部"
🔧 技术实现
参数验证逻辑
// 地区必填
if (selectedRegionIndex === -1) {
api.showError('请选择地区')
return
}
// 材质可选
const material = selectedMaterialIndex === -1
? ''
: materials[selectedMaterialIndex]
// 品名可选(0 表示"全部")
const partsname = selectedPartsnameIndex === 0
? ''
: partsnames[selectedPartsnameIndex]
API 调用示例
示例 1:只筛选地区
{ region: '昆明', pageSize: 100 }
示例 2:筛选地区 + 品名
{
region: '昆明',
partsname: '高线',
pageSize: 100
}
示例 3:筛选地区 + 材质 + 品名 + 日期
{
region: '昆明',
material: 'HPB300',
partsname: '高线',
startDate: '2026-01-01',
endDate: '2026-01-05',
pageSize: 100
}
📊 数据字段映射
API 返回字段
{
partsname_name: '高线', // 品名字段
goods_material: 'HPB300', // 材质字段
price_region: '昆明', // 地区字段
// ... 其他字段
}
查询参数字段
{
partsname: '高线', // 品名筛选参数
material: 'HPB300', // 材质筛选参数
region: '昆明' // 地区筛选参数
}
✨ 用户体验优化
1. 灵活的筛选组合
- 支持单独按地区查询
- 支持地区 + 品名组合查询
- 支持地区 + 材质 + 品名全条件查询
2. 默认值设置
- 品名默认"全部"(索引 0)
- 材质默认不选(索引 -1)
- 日期默认不选
3. 表单提示
- 必填项:地区
- 可选项:材质(标注"可选")
- 可选项:品名(默认"全部")
- 可选项:日期(标注"可选")
🚀 使用方法
场景 1:查询某地区所有高线价格
- 地区:选择"昆明"
- 材质:不选
- 品名:选择"高线"
- 点击"查询价格"
场景 2:查询某地区特定材质的高线价格
- 地区:选择"昆明"
- 材质:选择"HPB300"
- 品名:选择"高线"
- 点击"查询价格"
场景 3:查询某地区所有产品
- 地区:选择"昆明"
- 材质:不选
- 品名:保持"全部"
- 点击"查询价格"
🐛 已知问题
API 字段不一致
- 数据返回字段:
partsname_name - 查询参数字段:
partsname
解决方案:
- 后端 API 应同时支持两种字段名
- 前端查询时使用
partsname - 如果 API 不支持,需后端添加支持
📝 后续优化建议
-
动态品名列表
- 从 API 获取可用的品名列表
- 根据地区动态显示不同品名
-
级联选择
- 品名和材质的级联关系
- 选择品名后自动过滤相关材质
-
搜索历史
- 保存用户常用的筛选组合
- 快速应用历史筛选条件
-
批量查询
- 支持同时查询多个品名
- 对比不同品名的价格走势
✅ 测试检查清单
- 品名选择器显示正常
- 默认选中"全部"
- 选择品名后查询参数正确
- 查询结果正确过滤
- 重置按钮恢复默认值
- 材质改为可选
- 表单验证逻辑正确
更新完成! 🎉