30.12.25
This commit is contained in:
54
src/App.jsx
54
src/App.jsx
@@ -92,19 +92,19 @@ const data = [
|
||||
|
||||
const purchaseData = [
|
||||
{ status: "Draft", count: draft_p, color: "bg-teal-500", onClick: () => openInTryton("purchase.purchase", undefined, ['tree', 'form'],[['state', '=', 'draft']])},
|
||||
{ status: "Validated", count: val_p, color: "bg-gray-500", onClick: () => openInTryton("purchase.purchase", undefined, ['tree', 'form'],[['state', '=', 'quotation']]) },
|
||||
{ status: "Validated", count: val_p, color: "bg-gray-400", onClick: () => openInTryton("purchase.purchase", undefined, ['tree', 'form'],[['state', '=', 'quotation']]) },
|
||||
{ status: "Confirmed", count: conf_p, color: "bg-sky-600", onClick: () => openInTryton("purchase.purchase", undefined, ['tree', 'form'],[['state', '=', 'confirmed']]) },
|
||||
];
|
||||
|
||||
const saleData = [
|
||||
{ status: "Draft", count: draft_s, color: "bg-teal-500", onClick: () => openInTryton("sale.sale", undefined, ['tree', 'form'],[['state', '=', 'draft']])},
|
||||
{ status: "Validated", count: val_s, color: "bg-gray-500", onClick: () => openInTryton("sale.sale", undefined, ['tree', 'form'],[['state', '=', 'quotation']]) },
|
||||
{ status: "Validated", count: val_s, color: "bg-gray-400", onClick: () => openInTryton("sale.sale", undefined, ['tree', 'form'],[['state', '=', 'quotation']]) },
|
||||
{ status: "Confirmed", count: conf_s, color: "bg-sky-600", onClick: () => openInTryton("sale.sale", undefined, ['tree', 'form'],[['state', '=', 'confirmed']]) },
|
||||
];
|
||||
|
||||
const shipmentData = [
|
||||
{ status: "Draft", count: shipment_d, color: "bg-teal-500", onClick: () => openInTryton("stock.shipment.in", undefined, ['tree', 'form'],[['state', '=', 'draft']])},
|
||||
{ status: "Started", count: shipment_s, color: "bg-gray-500", onClick: () => openInTryton("stock.shipment.in", undefined, ['tree', 'form'],[['state', '=', 'started']]) },
|
||||
{ status: "Started", count: shipment_s, color: "bg-gray-400", onClick: () => openInTryton("stock.shipment.in", undefined, ['tree', 'form'],[['state', '=', 'started']]) },
|
||||
{ status: "Received", count: shipment_r, color: "bg-sky-600", onClick: () => openInTryton("stock.shipment.in", undefined, ['tree', 'form'],[['state', '=', 'received']]) },
|
||||
];
|
||||
|
||||
@@ -118,7 +118,7 @@ const lotData = [
|
||||
wh: 'all',
|
||||
group: 'by_physic'
|
||||
})},
|
||||
{ status: "Available", count: lot_a, color: "bg-gray-500", onClick: () => openInTryton("lot.report", undefined, ['tree', 'form'],[['id', '>', 0]],'exec_window') },
|
||||
{ status: "Available", count: lot_a, color: "bg-gray-400", onClick: () => openInTryton("lot.report", undefined, ['tree', 'form'],[['id', '>', 0]],'exec_window') },
|
||||
{ status: "All", count: lot_al, color: "bg-sky-600", onClick: () => openInTryton("lot.report", undefined, ['tree', 'form'],[['id', '>', 0]],'exec_window') },
|
||||
];
|
||||
|
||||
@@ -188,7 +188,7 @@ const cards = [
|
||||
id: "purchase_invoices",
|
||||
title: "Purchase Invoices",
|
||||
value: inv_p,
|
||||
trend: "-2% this week",
|
||||
trend: "All invoices",
|
||||
icon: Receipt,
|
||||
amountInvoiced: 100523,
|
||||
amount30Days: 456147,
|
||||
@@ -199,24 +199,24 @@ const cards = [
|
||||
id: "sale_invoices",
|
||||
title: "Sale Invoices",
|
||||
value: inv_s,
|
||||
trend: "+2% this week",
|
||||
trend: "All invoices",
|
||||
icon: FileText,
|
||||
amountInvoiced: 100523,
|
||||
amount30Days: 456147,
|
||||
amount60Days: 847512,
|
||||
action: () => openInTryton("account.invoice", undefined, ['tree','form'],[['type', '=', 'out']])
|
||||
},
|
||||
{
|
||||
id: "payments_to_validate",
|
||||
title: "Payments To Validate",
|
||||
value: move_cash,
|
||||
trend: "+12% this week",
|
||||
icon: HandCoins,
|
||||
amountInvoiced: 100523,
|
||||
amount30Days: 456147,
|
||||
amount60Days: 847512,
|
||||
action: () => openInTryton("account.move", undefined, ['tree','form'],[['journal', '=', 3]])
|
||||
},
|
||||
// {
|
||||
// id: "payments_to_validate",
|
||||
// title: "Payments To Validate",
|
||||
// value: move_cash,
|
||||
// trend: "All payments",
|
||||
// icon: HandCoins,
|
||||
// amountInvoiced: 100523,
|
||||
// amount30Days: 456147,
|
||||
// amount60Days: 847512,
|
||||
// action: () => openInTryton("account.move", undefined, ['tree','form'],[['journal', '=', 3]])
|
||||
// },
|
||||
// {
|
||||
// id: "prepayments",
|
||||
// title: "Prepayments To Validate",
|
||||
@@ -579,6 +579,26 @@ export default function App() {
|
||||
</Card>
|
||||
);
|
||||
})}
|
||||
<Card
|
||||
className="p-4 rounded-xl border border-gray-200 dark:border-gray-700 shadow-md bg-white dark:bg-gray-800 hover:shadow-lg transition"
|
||||
>
|
||||
<div className="flex justify-between items-center mb-4">
|
||||
<Title className="text-base">Payments</Title>
|
||||
<HandCoins className="w-6 h-6" />
|
||||
</div>
|
||||
|
||||
<Text className="text-3xl font-bold mb-1">move_cash</Text>
|
||||
<Text className="text-xs text-gray-500 mb-4">To validate</Text>
|
||||
|
||||
<div className="w-full h-1 bg-gray-200 dark:bg-gray-600 mb-4"></div>
|
||||
|
||||
<Text className="text-3xl font-bold mb-1">move_cash</Text>
|
||||
<Text className="text-xs text-gray-500 mb-4">All</Text>
|
||||
|
||||
<button onClick={card.action} className="mt-4 text-xs text-teal-600 underline">
|
||||
View details
|
||||
</button>
|
||||
</Card>
|
||||
</div>
|
||||
</main>
|
||||
</div>
|
||||
|
||||
Reference in New Issue
Block a user