feat: port QA/money fixes from tehran_taj (atomic document confirm, validated inputs, expert customer edit/toggle/weights, made-to-order, grid sort/customer column)

Order-revision workflow kept as is: the direct admin line-edit routes were not ported.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
This commit is contained in:
saeed
2026-10-29 18:43:22 +03:30
co-authored by Claude Sonnet 5.5
parent 756ecef6db
commit 3eaecde876
65 changed files with 3810 additions and 216 deletions
@@ -303,9 +303,13 @@ const filterableOptions = computed(() =>
);
/** legacy `order` computed: '+field' / '-field' */
const order = computed(() =>
sort.value ? `${sortDirection.value === 'asc' ? '+' : '-'}${sort.value}` : undefined,
);
const order = computed(() => {
if (!sort.value) return undefined;
// A column may be keyed by the reference's name for it; its filter key, when it
// has one, is the real field it stands for, so that is what is sorted on.
const col = cols.value.find((c) => c.key === sort.value);
return `${sortDirection.value === 'asc' ? '+' : '-'}${col?.__fkey ?? sort.value}`;
});
const antColumns = computed(() =>
visibleCols.value.map((c) => ({