feat(dialog): 添加调料选择对话框的本地模拟数据功能

- 实现 loadMockData 函数用于加载本地模拟调料数据
- 在空布局上添加点击事件监听器,点击时加载模拟数据
- 将原有的 TODO 注释代码转换为正式的模拟数据加载功能
- 优化空布局的初始化逻辑并添加安全调用处理
This commit is contained in:
2026-05-11 15:23:23 +08:00
parent 0b9b3e8988
commit 919e43afba
@@ -192,19 +192,23 @@ class SeasoningSelectDialog(
pageSize = PAGE_SIZE, pageSize = PAGE_SIZE,
goodsName = goodsName.takeUnless { it.isNullOrBlank() } goodsName = goodsName.takeUnless { it.isNullOrBlank() }
) )
}
// // TODO: 联调时注释掉下方模拟数据,改为真实接口调用 /**
// val nameList = listOf( * 加载本地模拟数据,仅用于联调时点击空布局快速验证 UI
// "盐", "白砂糖","冰糖", "鸡精", "味精", "陈醋", "老抽", "生抽", "番茄酱", "胡椒粉", "孜然", "十三香", */
// "料酒", "白醋", "蚝油", "辣椒面", "辣椒酱", "豆瓣酱", "淀粉", "葱", "蒜", "姜", "香菜", "油" private fun loadMockData() {
// ) val nameList = listOf(
// "", "白砂糖", "冰糖", "鸡精", "味精", "陈醋", "老抽", "生抽", "番茄酱", "胡椒粉", "孜然", "十三香",
// val mockData = mutableListOf<GoodsItem>() "料酒", "白醋", "蚝油", "辣椒面", "辣椒酱", "豆瓣酱", "淀粉", "", "", "", "香菜", ""
// nameList.forEachIndexed { index, name -> )
// val padString = "${index + 1}".padStart(2, '0') val mockData = mutableListOf<GoodsItem>()
// mockData.add(GoodsItem(goodsId = "1000$padString", goodsName = name)) nameList.forEachIndexed { index, name ->
// } val padString = "${index + 1}".padStart(2, '0')
// loadGoodsList(mockData) mockData.add(GoodsItem(goodsId = "1000$padString", goodsName = name))
}
pageNo = 1
loadGoodsList(mockData)
} }
/** /**
@@ -251,16 +255,20 @@ class SeasoningSelectDialog(
false false
) )
} }
emptyViewBinding!!.tvContent.text = "暂无数据" emptyViewBinding?.let {
emptyViewBinding!!.tvSubContent.text = "未查询到调料信息,请联系管理员添加" it.tvContent.text = "暂无数据"
emptyViewBinding!!.root.layoutParams = FrameLayout.LayoutParams( it.tvSubContent.text = "未查询到调料信息,请联系管理员添加"
FrameLayout.LayoutParams.MATCH_PARENT, // 点击空布局加载本地模拟数据,方便联调时验证 UI
FrameLayout.LayoutParams.MATCH_PARENT it.root.setOnClickListener { loadMockData() }
) it.root.layoutParams = FrameLayout.LayoutParams(
binding.recyclerView.layoutManager = LinearLayoutManager(activity) FrameLayout.LayoutParams.MATCH_PARENT,
binding.recyclerView.post { FrameLayout.LayoutParams.MATCH_PARENT
emptyViewBinding!!.root.minimumHeight = binding.recyclerView.height )
adapter.stateView = emptyViewBinding!!.root binding.recyclerView.layoutManager = LinearLayoutManager(activity)
binding.recyclerView.post {
it.root.minimumHeight = binding.recyclerView.height
adapter.stateView = it.root
}
} }
} catch (e: Exception) { } catch (e: Exception) {
e.printStackTrace() e.printStackTrace()