fix: admin records filter by user_id instead of keyword search

- RecordView passes user_id as separate filter param, not as keyword
- Admin records endpoint forwards user_id to DAO
- treatmentDao.listAdmin supports exact user_id match filter
- Added visible filter tag with clear button in RecordView
这个提交包含在:
Guoguo
2026-05-11 07:15:40 -07:00
父节点 0c65ef95f8
当前提交 624f52f4cc
修改 3 个文件,包含 42 行新增6 行删除
+5 -1
查看文件
@@ -105,9 +105,13 @@ async function updateDevice(deviceId, battery, temperature) {
* @param {number} opts.offset
* @returns {Promise<{records: Array, total: number}>}
*/
async function listAdmin({ keyword, dateFrom, dateTo, pageSize, offset }) {
async function listAdmin({ keyword, userId, dateFrom, dateTo, pageSize, offset }) {
const conditions = []
const params = {}
if (userId) {
conditions.push('r.user_id = :user_id')
params.user_id = userId
}
if (keyword) {
conditions.push('u.nickname LIKE :kw')
params.kw = '%' + keyword + '%'
+1
查看文件
@@ -227,6 +227,7 @@ router.get('/records', requireAdmin, wrap(async (req, res) => {
const { page, pageSize, offset } = pageParams(req.query)
const { records, total } = await treatmentDao.listAdmin({
keyword: req.query.keyword,
userId: req.query.user_id,
dateFrom: req.query.date_from,
dateTo: req.query.date_to,
pageSize,