mirror of
https://origin.cursor.com/mrdevmx/panels.git
synced 2026-10-09 21:03:17 +00:00
Implementa el módulo integral de costos según el plan acordado: - Esquema Liquibase: expense_entries, almacén (central + obra), IVA, tenant_cost_settings, permisos IAM y RLS - Funciones RPC core: gastos, almacén, control presupuestal, sync nómina, cierre de almacén al concluir proyecto - API HTTP: expenses_http, warehouse_http, cost_control_http, iam_http - Middleware requirePermission con matriz IAM - UI web-panel: /gastos, /almacen, /control-presupuesto, /usuarios - Componentes BudgetItemPicker, CostSemaphore y semáforos CSS - Smoke tests extendidos para gastos/almacén/control Co-authored-by: alberto.martinez <alberto.martinez@mrdev.mx>
18 lines
449 B
Vue
18 lines
449 B
Vue
<template>
|
|
<Chip :class="chipClass" :label="label" />
|
|
</template>
|
|
|
|
<script setup lang="ts">
|
|
const props = withDefaults(defineProps<{
|
|
pct: number;
|
|
compact?: boolean;
|
|
}>(), { compact: false });
|
|
|
|
const label = computed(() => props.compact ? `${props.pct}%` : `${props.pct}% ejecutado`);
|
|
|
|
const chipClass = computed(() => {
|
|
if (props.pct > 100) return "cost-critical";
|
|
if (props.pct > 85) return "cost-warn";
|
|
return "cost-ok";
|
|
});
|
|
</script>
|