feat: show attachment filenames in claims and payments tables

This commit is contained in:
Gitead
2026-04-18 11:46:14 -04:00
parent 37a0568b5e
commit 14c534d57d
4 changed files with 50 additions and 0 deletions

View File

@@ -98,6 +98,7 @@ export const paymentsStorage: IStorage = {
claim: { claim: {
include: { include: {
serviceLines: true, serviceLines: true,
claimFiles: true,
}, },
}, },
serviceLines: true, serviceLines: true,
@@ -132,6 +133,7 @@ export const paymentsStorage: IStorage = {
claim: { claim: {
include: { include: {
serviceLines: true, serviceLines: true,
claimFiles: true,
}, },
}, },
serviceLines: true, serviceLines: true,
@@ -164,6 +166,7 @@ export const paymentsStorage: IStorage = {
claim: { claim: {
include: { include: {
serviceLines: true, serviceLines: true,
claimFiles: true,
}, },
}, },
serviceLines: true, serviceLines: true,
@@ -199,6 +202,7 @@ export const paymentsStorage: IStorage = {
claim: { claim: {
include: { include: {
serviceLines: true, serviceLines: true,
claimFiles: true,
}, },
}, },
serviceLines: true, serviceLines: true,
@@ -236,6 +240,7 @@ export const paymentsStorage: IStorage = {
claim: { claim: {
include: { include: {
serviceLines: true, serviceLines: true,
claimFiles: true,
}, },
}, },
serviceLines: true, serviceLines: true,

View File

@@ -16,6 +16,7 @@ import {
Delete, Delete,
Edit, Edit,
Eye, Eye,
Paperclip,
} from "lucide-react"; } from "lucide-react";
import { apiRequest, queryClient } from "@/lib/queryClient"; import { apiRequest, queryClient } from "@/lib/queryClient";
import { useToast } from "@/hooks/use-toast"; import { useToast } from "@/hooks/use-toast";
@@ -313,6 +314,7 @@ export default function ClaimsRecentTable({
<TableHead>Member ID</TableHead> <TableHead>Member ID</TableHead>
<TableHead>Total Billed</TableHead> <TableHead>Total Billed</TableHead>
<TableHead>Status</TableHead> <TableHead>Status</TableHead>
<TableHead>Attachments</TableHead>
<TableHead className="text-right">Actions</TableHead> <TableHead className="text-right">Actions</TableHead>
</TableRow> </TableRow>
</TableHeader> </TableHeader>
@@ -426,6 +428,26 @@ export default function ClaimsRecentTable({
</div> </div>
</TableCell> </TableCell>
<TableCell>
{claim.claimFiles && claim.claimFiles.length > 0 ? (
<ul className="space-y-1">
{claim.claimFiles.map((f) => (
<li
key={f.id ?? f.filename}
className="flex items-center gap-1 text-xs text-gray-700"
>
<Paperclip className="h-3 w-3 text-gray-400 shrink-0" />
<span className="truncate max-w-[140px]" title={f.filename}>
{f.filename}
</span>
</li>
))}
</ul>
) : (
<span className="text-xs text-gray-400"></span>
)}
</TableCell>
<TableCell className="text-right"> <TableCell className="text-right">
<div className="flex justify-end space-x-2"> <div className="flex justify-end space-x-2">
{allowDelete && ( {allowDelete && (

View File

@@ -20,6 +20,7 @@ import {
ThumbsDown, ThumbsDown,
DollarSign, DollarSign,
Ban, Ban,
Paperclip,
} from "lucide-react"; } from "lucide-react";
import { apiRequest, queryClient } from "@/lib/queryClient"; import { apiRequest, queryClient } from "@/lib/queryClient";
import { useToast } from "@/hooks/use-toast"; import { useToast } from "@/hooks/use-toast";
@@ -488,6 +489,7 @@ export default function PaymentsRecentTable({
<TableHead>Amount</TableHead> <TableHead>Amount</TableHead>
<TableHead>Service Date</TableHead> <TableHead>Service Date</TableHead>
<TableHead>Status</TableHead> <TableHead>Status</TableHead>
<TableHead>Attachments</TableHead>
<TableHead className="text-right">Actions</TableHead> <TableHead className="text-right">Actions</TableHead>
</TableRow> </TableRow>
</TableHeader> </TableHeader>
@@ -622,6 +624,26 @@ export default function PaymentsRecentTable({
</div> </div>
</TableCell> </TableCell>
<TableCell>
{payment.claim?.claimFiles && payment.claim.claimFiles.length > 0 ? (
<ul className="space-y-1">
{payment.claim.claimFiles.map((f: { id?: number; filename: string }) => (
<li
key={f.id ?? f.filename}
className="flex items-center gap-1 text-xs text-gray-700"
>
<Paperclip className="h-3 w-3 text-gray-400 shrink-0" />
<span className="truncate max-w-[140px]" title={f.filename}>
{f.filename}
</span>
</li>
))}
</ul>
) : (
<span className="text-xs text-gray-400"></span>
)}
</TableCell>
<TableCell className="text-right"> <TableCell className="text-right">
<div className="flex justify-end space-x-2"> <div className="flex justify-end space-x-2">
{allowDelete && ( {allowDelete && (

View File

@@ -87,6 +87,7 @@ export type PaymentWithExtras = Prisma.PaymentGetPayload<{
claim: { claim: {
include: { include: {
serviceLines: true; serviceLines: true;
claimFiles: true;
}; };
}; };
serviceLines: true; // ✅ OCR-only service lines directly under Payment serviceLines: true; // ✅ OCR-only service lines directly under Payment