feat(web): el artículo muestra el nombre del almacén por defecto y los nombres de las listas de precios y de la lista base
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
1 parent
8af3b11ac2
commit
d05b497cb2
5 files changed
+13
-7
No files matched your search
@@ -74,7 +74,7 @@ export interface DetailColumn {
|
||||
* La columna muestra el nombre de lo que identifica el código de otra columna (`WarehouseCode` → nombre del almacén);
|
||||
* el catálogo se consulta una sola vez. No es un campo que se guarde.
|
||||
*/
|
||||
nameOf?: { codeKey: string; resource: string; valueField: string; labelField: string };
|
||||
nameOf?: { codeKey: string; resource: string; valueField: string; labelField: string; /** Se ve `código · nombre` en vez de solo el nombre. */ withCode?: boolean };
|
||||
/** Texto calculado de la fila (solo se muestra; no es un campo que se guarde). */
|
||||
computed?: (row: Record<string, unknown>) => string;
|
||||
/** Campos de la fila que cambian además del propio al elegir o escribir un valor de la lista (la cuenta elegida primero completa el «Cuenta / socio»). */
|
||||
|
||||
@@ -233,7 +233,11 @@ export class RowsTable {
|
||||
|
||||
protected text(row: Row, c: DetailColumn): string {
|
||||
if (c.computed) return c.computed(row);
|
||||
if (c.nameOf) return this.names()[c.nameOf.resource]?.get(String(row[c.nameOf.codeKey] ?? '')) ?? '';
|
||||
if (c.nameOf) {
|
||||
const code = String(row[c.nameOf.codeKey] ?? '');
|
||||
const name = this.names()[c.nameOf.resource]?.get(code);
|
||||
return c.nameOf.withCode ? (name ? `${code} · ${name}` : code) : (name ?? '');
|
||||
}
|
||||
const v = row[c.key];
|
||||
if (c.type === 'date') return dateOnly(v);
|
||||
if (c.type === 'number') return v === null || v === undefined || v === '' ? '' : formatNumber(v, c.decimals);
|
||||
|
||||
Reference in new issue
Block a user