fix bug testdefgrp payload when empty

This commit is contained in:
faiztyanirh 2026-04-02 13:56:19 +07:00
parent 09c2fc5b33
commit 23c3f88f4d
5 changed files with 13 additions and 15 deletions

View File

@ -1068,26 +1068,23 @@ export function buildTestPayload({
const state = activeFormStates[key]; const state = activeFormStates[key];
if (key === 'refNum' && refNumData?.length > 0) { if (key === 'refNum' && refNumData?.length > 0) {
// payload[key] = refNumData;
payload.refnum = refNumData.map((row) => ({ payload.refnum = refNumData.map((row) => ({
...row, ...row,
AgeStart: toDays(row.AgeStart), AgeStart: toDays(row.AgeStart),
AgeEnd: toDays(row.AgeEnd) AgeEnd: toDays(row.AgeEnd)
})); }));
} else if (key === 'refTxt' && refTxtData?.length > 0) { } else if (key === 'refTxt' && refTxtData?.length > 0) {
// payload[key] = refTxtData;
payload.reftxt = refTxtData.map((row) => ({ payload.reftxt = refTxtData.map((row) => ({
...row, ...row,
AgeStart: toDays(row.AgeStart), AgeStart: toDays(row.AgeStart),
AgeEnd: toDays(row.AgeEnd) AgeEnd: toDays(row.AgeEnd)
})); }));
} else if (key === 'group' && state.form?.Members?.length > 0) { } else if (key === 'group') {
payload.testdefgrp = { payload.testdefgrp = {
...state.form, members: (state.form?.Members ?? []).filter((m) => m.value).map((m) => ({
Members: state.form?.Members?.filter((m) => m.value).map((m) => ({
TestSiteID: Number(m.value) TestSiteID: Number(m.value)
})) }))
}; }
} else if (key === 'map' && mapData?.length > 0) { } else if (key === 'map' && mapData?.length > 0) {
payload.testmap = mapData; payload.testmap = mapData;
} else if (key === 'cal') { } else if (key === 'cal') {

View File

@ -149,10 +149,10 @@
}); });
console.log(payload); console.log(payload);
// const result = await formState.save(masterDetail.mode, payload); const result = await formState.save(masterDetail.mode, payload);
// toast('Test Created!'); toast('Test Created!');
// masterDetail?.exitForm(true); masterDetail?.exitForm(true);
} }
const primaryAction = $derived({ const primaryAction = $derived({

View File

@ -323,6 +323,7 @@
}); });
let activeTab = $state('definition'); let activeTab = $state('definition');
let groupInitialized = $state(false);
$effect(() => { $effect(() => {
const mainForm = formState.form; const mainForm = formState.form;
@ -342,11 +343,13 @@
AgeEnd: typeof row.AgeEnd === 'number' ? buildAgeText(daysToAge(row.AgeEnd)) : row.AgeEnd, AgeEnd: typeof row.AgeEnd === 'number' ? buildAgeText(daysToAge(row.AgeEnd)) : row.AgeEnd,
})); }));
} }
if (mainForm.testdefgrp && Array.isArray(mainForm.testdefgrp)) { // groupFormState.form.Members = [];
groupFormState.form.Members = mainForm.testdefgrp.map((m, index) => ({ if (!groupInitialized && mainForm.testdefgrp?.members && Array.isArray(mainForm.testdefgrp.members)) {
groupFormState.form.Members = mainForm.testdefgrp.members.map((m, index) => ({
id: m.id ?? index + 1, id: m.id ?? index + 1,
value: String(m.TestSiteID) value: String(m.TestSiteID)
})); }));
groupInitialized = true;
} }
// if (mainForm.testmap && Array.isArray(mainForm.testmap)) { // if (mainForm.testmap && Array.isArray(mainForm.testmap)) {
// mapData = mainForm.testmap.map((row, index) => ({ // mapData = mainForm.testmap.map((row, index) => ({

View File

@ -9,7 +9,7 @@
import DictionaryFormRenderer from '$lib/components/reusable/form/dictionary-form-renderer.svelte'; import DictionaryFormRenderer from '$lib/components/reusable/form/dictionary-form-renderer.svelte';
let props = $props(); let props = $props();
$inspect(props.calFormState.errors)
const mathop = ['+', '-', '*', '/', '%','**', '(', ')']; const mathop = ['+', '-', '*', '/', '%','**', '(', ')'];
const comparisonop = ['=', '!=', '<', '>', '<=', '>=']; const comparisonop = ['=', '!=', '<', '>', '<=', '>='];
const logicalop = ['AND', 'OR', 'NOT']; const logicalop = ['AND', 'OR', 'NOT'];
@ -133,7 +133,7 @@ $inspect(props.calFormState.errors)
props.calFormState.validateField?.(key, [], false); props.calFormState.validateField?.(key, [], false);
props.calFormState.errors.FormulaCode = null; props.calFormState.errors.FormulaCode = null;
} }
$inspect(props.calFormState.selectOptions)
</script> </script>
<div class="flex flex-col gap-4 w-full"> <div class="flex flex-col gap-4 w-full">

View File

@ -37,8 +37,6 @@
} }
}); });
}); });
$inspect(props.groupFormState.selectOptions)
</script> </script>
<div class="flex flex-col gap-4 w-full"> <div class="flex flex-col gap-4 w-full">