diff --git a/client/lib/screens/inventory/inventory_list_screen.dart b/client/lib/screens/inventory/inventory_list_screen.dart index f4dec06..4b7973c 100644 --- a/client/lib/screens/inventory/inventory_list_screen.dart +++ b/client/lib/screens/inventory/inventory_list_screen.dart @@ -805,12 +805,40 @@ class _InventoryListScreenState extends ConsumerState { SizedBox(width: 240, child: searchField), const SizedBox(width: AppDims.sp3), PopupMenuButton( - initialValue: _statusFilter, onSelected: (v) => setState(() => _statusFilter = v), - itemBuilder: (_) => const ['全部', '在售', '预警', '缺货'] - .map((s) => - PopupMenuItem(value: s, child: Text(s))) - .toList(), + color: ctx.tokens.surface, + elevation: 8, + shape: RoundedRectangleBorder( + side: BorderSide(color: ctx.tokens.border), + borderRadius: BorderRadius.circular(AppDims.rMd), + ), + itemBuilder: (_) => + ['全部', '在售', '预警', '缺货'].map((s) { + final sel = s == _statusFilter; + return PopupMenuItem( + value: s, + height: 40, + child: Row(children: [ + SizedBox( + width: 18, + child: sel + ? Icon(LucideIcons.check, + size: 15, color: ctx.tokens.primary) + : null, + ), + const SizedBox(width: 4), + Text(s, + style: TextStyle( + fontSize: 13, + color: sel + ? ctx.tokens.primary + : ctx.tokens.text, + fontWeight: sel + ? FontWeight.w600 + : FontWeight.w400)), + ]), + ); + }).toList(), child: DsChip( label: '状态', value: _statusFilter == '全部' ? null : _statusFilter,