mirror of
https://gitlab.com/mbugroup/lti-web-client.git
synced 2026-05-25 15:55:48 +00:00
refactor(FE-438): Use shared DetailOptionType for result tables
This commit is contained in:
@@ -21,6 +21,7 @@ import {
|
|||||||
getWeightStatusIndicatorColor,
|
getWeightStatusIndicatorColor,
|
||||||
getWeightStatusText,
|
getWeightStatusText,
|
||||||
} from '@/components/pages/uniformity/uniformity-utils';
|
} from '@/components/pages/uniformity/uniformity-utils';
|
||||||
|
import { DetailOptionType } from '@/components/pages/uniformity/detail/UniformityDetail';
|
||||||
|
|
||||||
type BodyWeightData = {
|
type BodyWeightData = {
|
||||||
id: string;
|
id: string;
|
||||||
@@ -29,18 +30,6 @@ type BodyWeightData = {
|
|||||||
status?: 'ideal' | 'outside';
|
status?: 'ideal' | 'outside';
|
||||||
};
|
};
|
||||||
|
|
||||||
type SamplingData = {
|
|
||||||
id: string;
|
|
||||||
label: string;
|
|
||||||
value: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
type ResultData = {
|
|
||||||
id: string;
|
|
||||||
label: string;
|
|
||||||
value: string;
|
|
||||||
};
|
|
||||||
|
|
||||||
const UniformityResultForm = () => {
|
const UniformityResultForm = () => {
|
||||||
const router = useRouter();
|
const router = useRouter();
|
||||||
const setExpandedDrawerOpen = useUiStore((s) => s.setExpandedDrawerOpen);
|
const setExpandedDrawerOpen = useUiStore((s) => s.setExpandedDrawerOpen);
|
||||||
@@ -64,10 +53,6 @@ const UniformityResultForm = () => {
|
|||||||
setVerifyUniformityResult(null);
|
setVerifyUniformityResult(null);
|
||||||
};
|
};
|
||||||
|
|
||||||
const handleBack = () => {
|
|
||||||
setUniformityStep('preview');
|
|
||||||
};
|
|
||||||
|
|
||||||
const handleSubmit = async () => {
|
const handleSubmit = async () => {
|
||||||
if (!uniformityFormData || !uniformityFormData.file) {
|
if (!uniformityFormData || !uniformityFormData.file) {
|
||||||
toast.error('Form data is missing. Please try again.');
|
toast.error('Form data is missing. Please try again.');
|
||||||
@@ -102,7 +87,7 @@ const UniformityResultForm = () => {
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
const samplingTableData: SamplingData[] = useMemo(() => {
|
const samplingTableData: DetailOptionType[] = useMemo(() => {
|
||||||
if (!verifyUniformityResult) return [];
|
if (!verifyUniformityResult) return [];
|
||||||
|
|
||||||
const { sampling } = verifyUniformityResult;
|
const { sampling } = verifyUniformityResult;
|
||||||
@@ -131,7 +116,7 @@ const UniformityResultForm = () => {
|
|||||||
];
|
];
|
||||||
}, [verifyUniformityResult]);
|
}, [verifyUniformityResult]);
|
||||||
|
|
||||||
const columnsSampling: ColumnDef<SamplingData>[] = useMemo(
|
const columnsSampling: ColumnDef<DetailOptionType>[] = useMemo(
|
||||||
() => [
|
() => [
|
||||||
{
|
{
|
||||||
accessorKey: 'label',
|
accessorKey: 'label',
|
||||||
@@ -147,7 +132,7 @@ const UniformityResultForm = () => {
|
|||||||
[]
|
[]
|
||||||
);
|
);
|
||||||
|
|
||||||
const resultTableData: ResultData[] = useMemo(() => {
|
const resultTableData: DetailOptionType[] = useMemo(() => {
|
||||||
if (!verifyUniformityResult) return [];
|
if (!verifyUniformityResult) return [];
|
||||||
|
|
||||||
const { result } = verifyUniformityResult;
|
const { result } = verifyUniformityResult;
|
||||||
@@ -171,7 +156,7 @@ const UniformityResultForm = () => {
|
|||||||
];
|
];
|
||||||
}, [verifyUniformityResult]);
|
}, [verifyUniformityResult]);
|
||||||
|
|
||||||
const resultColumns: ColumnDef<ResultData>[] = useMemo(
|
const resultColumns: ColumnDef<DetailOptionType>[] = useMemo(
|
||||||
() => [
|
() => [
|
||||||
{
|
{
|
||||||
accessorKey: 'label',
|
accessorKey: 'label',
|
||||||
@@ -270,7 +255,7 @@ const UniformityResultForm = () => {
|
|||||||
<div className='flex flex-col gap-4'>
|
<div className='flex flex-col gap-4'>
|
||||||
<div className=''>
|
<div className=''>
|
||||||
<p className='text-sm font-medium mb-5'>Sampling and Range</p>
|
<p className='text-sm font-medium mb-5'>Sampling and Range</p>
|
||||||
<Table<SamplingData>
|
<Table<DetailOptionType>
|
||||||
data={samplingTableData}
|
data={samplingTableData}
|
||||||
columns={columnsSampling}
|
columns={columnsSampling}
|
||||||
pageSize={4}
|
pageSize={4}
|
||||||
@@ -283,7 +268,7 @@ const UniformityResultForm = () => {
|
|||||||
|
|
||||||
<div className=''>
|
<div className=''>
|
||||||
<p className='text-sm font-medium mb-5'>Result</p>
|
<p className='text-sm font-medium mb-5'>Result</p>
|
||||||
<Table<ResultData>
|
<Table<DetailOptionType>
|
||||||
data={resultTableData}
|
data={resultTableData}
|
||||||
columns={resultColumns}
|
columns={resultColumns}
|
||||||
pageSize={3}
|
pageSize={3}
|
||||||
|
|||||||
Reference in New Issue
Block a user