0% found this document useful (0 votes)
4 views16 pages

Production Planning Module Code

Uploaded by

vishaldeepika248
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
4 views16 pages

Production Planning Module Code

Uploaded by

vishaldeepika248
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd

import { memo, useState, useEffect, useCallback } from 'react';

import { json, redirect } from '@remix-run/node';


import {
Form,
useActionData,
useLoaderData,
useNavigation,
useSubmit
} from '@remix-run/react';
import ContentLayout from '~/components/content-layout';
import FormField from '~/components/form-field';
import Container from '~/components/container';
import Select from '~/components/select';
import Header from '~/components/header';
import Grid from '~/components/grid';
import Checkbox from '~/components/checkbox';
import Input from '~/components/input';
import Tiles from '~/components/tiles';
import DatePicker from '~/components/date-picker';
import SpaceBetween from '~/components/space-between';
import getCurrentDate from './utils';
import { DeleteContext } from './context';
import Table from './table';

const fetchData = async (url) => {


const response = await fetch(url);
return [Link] ? await [Link]() : [];
};

const loader = async function ({ request }) {


const data = {};
const url = new URL([Link]);
const ProdTypeUID = [Link]("ProdTypeUID");
const VType = [Link]("VType");
const ProdTypeID = [Link]("ProdTypeID");
const ProdTypeDesc = [Link]("ProdTypeDesc");
const Authorised = [Link]("Authorised");
const Issued = [Link]("Issued");
const ORDNUMBER = [Link]("ORDNUMBER");

data.List_Locations = await
fetchData('[Link]
data.List_Units = await fetchData('[Link]
data.List_ProdTypes = await
fetchData('[Link]

if (!!ProdTypeUID && VType === 'C') {


data.List_CustomerOrder = await
fetchData(`[Link]
{ProdTypeUID}`);
}

if (!!VType === 'O') {


data.List_CustomerStock = await
fetchData('[Link]
}
if(!!ORDNUMBER)
{
const PlanItem = await
fetch(`[Link]
{ProdTypeID}&ProductType=${ProdTypeUID}&ProductTypeDesc=$
{ProdTypeDesc}&Authorised=${Authorised}&Issued=${Issued}&ORDNUMBER=${ORDNUMBER}`);
[Link] = [Link] ? await [Link]() : []
//[Link]([Link])
}
return data;
};

const action = async function ({ request }) {


const fd = new Map([...(await [Link]())].map(e => [e[0],
e[1].trim()]));

try {
const resp = await fetch('[Link] {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: [Link](fd)
});
const result = await [Link]();
} catch (err) {
[Link](err);
}
return redirect('/prodplan/create', { status: 302 });
};

const Z = memo(() => {


const nav = useNavigation();
const actionData = useActionData();
const loaderData = useLoaderData();
const submit = useSubmit();

const [locOptions, setLocOptions] = useState([]);


const [unitOptions, setUnitOptions] = useState([]);
const [prodTypeOptions, setProdTypeOptions] = useState([]);
const [customerStockOptions, setCustomerStockOptions] = useState([]);
const [customerOrderOptions, setCustomerOrderOptions] = useState([]);

const [planDate, setPlanDate] = useState(getCurrentDate());


const [deliveryDate, setDeliveryDate] = useState("");
const [selectedLoc, setLoc] = useState({ label: '', value: '' });
const [selectedUnit, setUnit] = useState({ label: '', value: '' });
const [selectedProd, setProdType] = useState({ label: '', value: '' });
const [selectedCS, setCustomeStock] = useState({ label: '', value: '' });
const [selectedCO, setCustomerOrder] = useState({ label: '', value: '' });
const [achecked, setAChecked] = useState(false);
const [ichecked, setIChecked] = useState(false);
const [type, setType] = useState();

useEffect(() => {
if (loaderData.List_Locations) {
setLocOptions(loaderData.List_Locations.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_Units) {
setUnitOptions(loaderData.List_Units.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_ProdTypes) {
setProdTypeOptions(loaderData.List_ProdTypes.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_CustomerStock) {
setCustomerStockOptions(loaderData.List_CustomerStock.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_CustomerOrder) {
setCustomerOrderOptions(loaderData.List_CustomerOrder.map(e => ({
label: [Link],
value: [Link],
description: `ORDNUMBER: ${[Link]} NAMECUST: ${[Link]} PONUMBER: $
{[Link]}`
})));
}
}, [loaderData]);

const onLoadCustomeStockOptions = useCallback(async e => {


const filter = [Link];
if (!!filter) {
try {
const response = await
fetch(`[Link]
if (![Link]) {
throw new Error("Failed to fetch vendor data");
}
const responseObject = await [Link]();
const List_CustomerStock = responseObject?.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})) || [];
setCustomerStockOptions(List_CustomerStock);
} catch (error) {
[Link]("Error fetching vendor data:", error);
}
}
}, []);

const onLoadCustomeOrderOptions = useCallback(async e => {


const filter = [Link];
if (!!filter) {
try {
const response = await
fetch(`[Link]
{[Link]}&filterQuery=${filter}`);
if (![Link]) {
throw new Error("Failed to fetch vendor data");
}
const responseObject = await [Link]();
const List_CustomerOrder = responseObject?.map(e => ({
label: [Link],
value: [Link],
description: `ORDNUMBER: ${[Link]} NAMECUST: ${[Link]} PONUMBER:
${[Link]}`
})) || [];
setCustomerOrderOptions(List_CustomerOrder);
} catch (error) {
[Link]("Error fetching vendor data:", error);
}
}
}, [selectedProd]);

const onchangeType = useCallback(ev => {


const { value } = [Link];
setType(value);
if (value !== 'S') {
submit({
ProdTypeUID: [Link],
VType: value,
}, { method: "get" });
}
}, [selectedProd, submit]);

const onChangeCustomerOrder = useCallback(ev => {


const selectedOption = [Link];
setCustomerOrder(selectedOption);

const requestData = {
ProdTypeID: [Link],
ProdTypeUID: [Link],
ProdTypeDesc: [Link],
Authorised: achecked,
Issued: ichecked,
ORDNUMBER: [Link]
};

submit(requestData, { method: "GET" });


}, [selectedProd, achecked, ichecked, submit]);

const [PlanItem, setPlanItem] = useState(loaderData?.PlanItem?.Table || []);


[Link](PlanItem)
useEffect(() => {
[Link]("Data Changed");
updateTableItem();
}, [[Link]]);

const addItem = () => {


const newItem = {
PlanItm: [Link] + 1,
ItemNo: "",
ItemDesc: "",
Status: "White",
MinQty: "",
MaxQty: "",
StockQty: 0,
WipQty: 0,
Qty: 0,
TotalQty: 0,
POQty: 0,
TotalAuthQty: 0,
WSIssueQty: 0,
PendingQty: "",
Uom: "",
Schedule: "",
Pack_Qty: 0.00,
PackUom: "",
SpecialReq: "No Requiremnet"
};
setPlanItem([...PlanItem, newItem]);
};

const updateTableItem = () => {


setPlanItem(loaderData?.PlanItem?.Table || []);
};

const deleteTableItem = id => {


const updatedItems = [Link](item => [Link] !== id);
setPlanItem(updatedItems);
};

return (
<ContentLayout header={
<Header variant='h1'>Production Plan Module</Header>
}>
<Form data-login method='POST' action='./'>
<input type='hidden' name='VType' value={type} />
<Container>
<Grid gridDefinition={[
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 8 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 3 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 4 } },
]}>
<FormField
errorText={actionData?.[Link]}
stretch={false}
label='Location'>
<Input type='hidden' name='Location' value={[Link]} />
<Select
selectedOption={selectedLoc}
onChange={({ detail }) => setLoc([Link])}
options={locOptions}
placeholder="Choose a Location"
filteringType="auto"
preventScrollReset={true}
/>
</FormField>
<FormField
stretch={false}
label='Location Desc'>
<Input value={[Link]} />
</FormField>
<FormField
stretch={false}
label='Unit'>
<Select
selectedOption={selectedUnit}
onChange={({ detail }) => setUnit([Link])}
options={unitOptions}
placeholder="Choose a Unit"
filteringType="auto"
preventScrollReset={true}
/>
</FormField>
<FormField
stretch={false}
label='Unit Desc'>
<Input value={[Link]} />
</FormField>
<FormField
stretch={false}
label='Prod Type'>
<Select
selectedOption={selectedProd}
onChange={({ detail }) => setProdType([Link])}
options={prodTypeOptions}
placeholder="Choose a ProdType"
filteringType="auto"
preventScrollReset={true}
/>
</FormField>
<FormField
stretch={false}
label='Prod Type Desc'>
<Input value={[Link]} />
</FormField>
<Checkbox
onChange={({ detail }) => setAChecked([Link])}
checked={achecked}>
Authorised
<Input type='hidden' name='Authorised' value={achecked} />
</Checkbox>
<Checkbox
onChange={({ detail }) => setIChecked([Link])}
checked={ichecked}>
Issued
<Input type='hidden' name='Issued' value={ichecked} />
</Checkbox>
<Tiles
onChange={onchangeType}
value={type}
items={[
{ label: "Stock", value: "S" },
{ label: "Customer Stock", value: "O" },
{ label: "Customer Order", value: "C" }
]}
/>
<FormField
label="Plan Date"
errorText={actionData?.[Link]}>
<input type='hidden' name='PlanDate' value={planDate} />
<DatePicker
onChange={({ detail }) => setPlanDate([Link])}
value={planDate}
openCalendarAriaLabel={selectedDate => "Choose plan date" +
(selectedDate ? `, selected date is ${selectedDate}` : "")}
placeholder="YYYY/MM/DD"
/>
</FormField>
<FormField
label="Delivery Date"
errorText={actionData?.[Link]}>
<input type='hidden' name='DeliveryDate' value={deliveryDate} />
<DatePicker
onChange={({ detail }) => setDeliveryDate([Link])}
value={deliveryDate}
openCalendarAriaLabel={selectedDate => "Choose plan date" +
(selectedDate ? `, selected date is ${selectedDate}` : "")}
placeholder="YYYY/MM/DD"
/>
</FormField>
{type === "O" &&
<FormField stretch={false} label='Customer'>
<Select
selectedOption={selectedCS}
onChange={({ detail }) => setCustomeStock([Link])}
onLoadItems={onLoadCustomeStockOptions}
options={customerStockOptions}
placeholder="Choose a ProdType"
filteringType="auto"
/>
</FormField>
}
{type === "C" &&
<FormField stretch={false} label='Customer Order'>
<Select
selectedOption={selectedCO}
onChange={onChangeCustomerOrder}
onLoadItems={onLoadCustomeOrderOptions}
options={customerOrderOptions}
filteringType="auto"
/>
</FormField>
}
{type !== "C" && (
<div style={{ width: '150px' }}>
<FormField stretch={false} label='Auto Planing Items'>
<Input type='number' name='AutoPlanItem' onChange={({ detail })
=> setAPI([Link])} />&nbsp;
</FormField>
</div>
)}
</Grid>
</Container>
</Form>
<FormField><br /></FormField>
<SpaceBetween size='m'>
<[Link] value={deleteTableItem}>
<Table
items={PlanItem}
setPlanItem={setPlanItem}
rcnt={PlanItem}
//attrOpts={itemNo}
addItem={addItem}
/>
</[Link]>
</SpaceBetween>
</ContentLayout>
);
});

const handle = {
//crumb: {text: 'Create'},
contentType: 'form'
}
export {
action,
loader,
handle,
Z as default
}

24/04/2024

import { memo, useState, useEffect, useCallback } from 'react';


import { json, redirect } from '@remix-run/node';
import {
Form,
useActionData,
useLoaderData,
useNavigation,
useSubmit
} from '@remix-run/react';
import ContentLayout from '~/components/content-layout';
import FormField from '~/components/form-field';
import Container from '~/components/container';
import Select from '~/components/select';
import Header from '~/components/header';
import Grid from '~/components/grid';
import Checkbox from '~/components/checkbox';
import Input from '~/components/input';
import Tiles from '~/components/tiles';
import DatePicker from '~/components/date-picker';
import SpaceBetween from '~/components/space-between';
import getCurrentDate from './utils';
import { DeleteContext } from './context';
import Table from './table';

const fetchData = async (url) => {


const response = await fetch(url);
return [Link] ? await [Link]() : [];
};

const loader = async function ({ request }) {


const data = {};
const url = new URL([Link]);
const ProdTypeUID = [Link]("ProdTypeUID");
const VType = [Link]("VType");
const ProdTypeID = [Link]("ProdTypeID");
const ProdTypeDesc = [Link]("ProdTypeDesc");
const Authorised = [Link]("Authorised");
const Issued = [Link]("Issued");
const ORDNUMBER = [Link]("ORDNUMBER");

data.List_Locations = await
fetchData('[Link]
data.List_Units = await fetchData('[Link]
data.List_ProdTypes = await
fetchData('[Link]

if (!!ProdTypeUID && VType === 'C') {


data.List_CustomerOrder = await
fetchData(`[Link]
{ProdTypeUID}`);
}

if (!!VType === 'O') {


data.List_CustomerStock = await
fetchData('[Link]
}

if(!!ORDNUMBER)
{
const PlanItem = await
fetch(`[Link]
{ProdTypeID}&ProductType=${ProdTypeUID}&ProductTypeDesc=$
{ProdTypeDesc}&Authorised=${Authorised}&Issued=${Issued}&ORDNUMBER=${ORDNUMBER}`);
[Link] = [Link] ? await [Link]() : []
//[Link]([Link])
}
return data;
};

const action = async function ({ request }) {


const fd = new Map([...(await [Link]())].map(e => [e[0],
e[1].trim()]));

try {
const resp = await fetch('[Link] {
method: 'POST',
headers: {
'Content-Type': 'application/json'
},
body: [Link](fd)
});
const result = await [Link]();
} catch (err) {
[Link](err);
}
return redirect('/prodplan/create', { status: 302 });
};

const Z = memo(() => {


const nav = useNavigation();
const actionData = useActionData();
const loaderData = useLoaderData();
const submit = useSubmit();

const [locOptions, setLocOptions] = useState([]);


const [unitOptions, setUnitOptions] = useState([]);
const [prodTypeOptions, setProdTypeOptions] = useState([]);
const [customerStockOptions, setCustomerStockOptions] = useState([]);
const [customerOrderOptions, setCustomerOrderOptions] = useState([]);

const [planDate, setPlanDate] = useState(getCurrentDate());


const [deliveryDate, setDeliveryDate] = useState("");
const [selectedLoc, setLoc] = useState({ label: '', value: '' });
const [selectedUnit, setUnit] = useState({ label: '', value: '' });
const [selectedProd, setProdType] = useState({ label: '', value: '' });
const [selectedCS, setCustomeStock] = useState({ label: '', value: '' });
const [selectedCO, setCustomerOrder] = useState({ label: '', value: '' });
const [achecked, setAChecked] = useState(false);
const [ichecked, setIChecked] = useState(false);
const [type, setType] = useState();
const [autoPlanItem, setAutoPlanItem] = useState(0);

useEffect(() => {
if (loaderData.List_Locations) {
setLocOptions(loaderData.List_Locations.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_Units) {
setUnitOptions(loaderData.List_Units.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_ProdTypes) {
setProdTypeOptions(loaderData.List_ProdTypes.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_CustomerStock) {
setCustomerStockOptions(loaderData.List_CustomerStock.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})));
}
if (loaderData.List_CustomerOrder) {
setCustomerOrderOptions(loaderData.List_CustomerOrder.map(e => ({
label: [Link],
value: [Link],
description: `ORDNUMBER: ${[Link]} NAMECUST: ${[Link]} PONUMBER: $
{[Link]}`
})));
}
}, [loaderData]);

const onLoadCustomeStockOptions = useCallback(async e => {


const filter = [Link];
if (!!filter) {
try {
const response = await
fetch(`[Link]
if (![Link]) {
throw new Error("Failed to fetch vendor data");
}
const responseObject = await [Link]();
const List_CustomerStock = responseObject?.map(e => ({
label: [Link],
value: [Link],
description: [Link]
})) || [];
setCustomerStockOptions(List_CustomerStock);
} catch (error) {
[Link]("Error fetching vendor data:", error);
}
}
}, []);

const onLoadCustomeOrderOptions = useCallback(async e => {


const filter = [Link];
if (!!filter) {
try {
const response = await
fetch(`[Link]
{[Link]}&filterQuery=${filter}`);
if (![Link]) {
throw new Error("Failed to fetch vendor data");
}
const responseObject = await [Link]();
const List_CustomerOrder = responseObject?.map(e => ({
label: [Link],
value: [Link],
description: `ORDNUMBER: ${[Link]} NAMECUST: ${[Link]} PONUMBER:
${[Link]}`
})) || [];
setCustomerOrderOptions(List_CustomerOrder);
} catch (error) {
[Link]("Error fetching vendor data:", error);
}
}
}, [selectedProd]);

const onchangeType = useCallback(ev => {


const { value } = [Link];
setType(value);
if (value !== 'S') {
submit({
ProdTypeUID: [Link],
VType: value,
}, { method: "get" });
}
}, [selectedProd, submit]);

const onChangeCustomerOrder = useCallback(ev => {


const selectedOption = [Link];
setCustomerOrder(selectedOption);

const requestData = {
ProdTypeID: [Link],
ProdTypeUID: [Link],
ProdTypeDesc: [Link],
Authorised: achecked,
Issued: ichecked,
ORDNUMBER: [Link]
};

submit(requestData, { method: "GET" });


}, [selectedProd, achecked, ichecked, submit]);

const PO = loaderData?.PlanItem?.Table ?? []
const [PlanItem, setPlanItem] = useState(PO || []);

//const [PlanItem, setPlanItem] = useState([]);


//[Link](PlanItem);

const addItem = () => {


setPlanItem(prevPlanItems => [
...prevPlanItems,
{
PlanItem: [Link] + 1,
ItemNo: "",
ItemDesc: "",
Status: "White",
MinQty: "",
MaxQty: "",
StockQty: 0,
WipQty: 0,
Qty: 0,
TotalQty: 0,
POQty: 0,
TotalAuthQty: 0,
WSIssueQty: 0,
PendingQty: "",
Uom: "",
Schedule: "",
Pack_Qty: 0.00,
PackUom: "",
SpecialReq: "No Requirement"
}
]);
};

const updateTableItem = () => {


setPlanItem(loaderData?.PlanItem?.Table || []);
};

const deleteTableItem = id => {


setPlanItem(prevPlanItems =>
[Link](item => [Link] !== id)
);
};

useEffect(() => {
[Link]("Data Changed");
updateTableItem();
}, [[Link]]);

return (
<ContentLayout header={
<Header variant='h1'>Production Plan Module</Header>
}>
<Form data-login method='POST' action='./'>
<input type='hidden' name='VType' defaultValue={type} />
<Container>
<Grid gridDefinition={[
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 8 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 3 } },
{ colspan: { default: 12, s: 2 } },
{ colspan: { default: 12, s: 4 } },
]}>
<FormField
errorText={actionData?.[Link]}
stretch={false}
label='Location'>
<input type='hidden' name='Location' defaultValue={[Link]}
/>
<Select
selectedOption={selectedLoc}
onChange={({ detail }) => setLoc([Link])}
options={locOptions}
placeholder="Choose a Location"
filteringType="auto"
preventScrollReset={true}
/>
</FormField>
<FormField
stretch={false}
label='Location Desc'>
<Input value={[Link]} />
</FormField>
<FormField
stretch={false}
label='Unit'>
<Select
selectedOption={selectedUnit}
onChange={({ detail }) => setUnit([Link])}
options={unitOptions}
placeholder="Choose a Unit"
filteringType="auto"
preventScrollReset={true}
/>
</FormField>
<FormField
stretch={false}
label='Unit Desc'>
<Input value={[Link]} />
</FormField>
<FormField
stretch={false}
label='Prod Type'>
<Select
selectedOption={selectedProd}
onChange={({ detail }) => setProdType([Link])}
options={prodTypeOptions}
placeholder="Choose a ProdType"
filteringType="auto"
preventScrollReset={true}
/>
</FormField>
<FormField
stretch={false}
label='Prod Type Desc'>
<Input value={[Link]} />
</FormField>
<Checkbox
onChange={({ detail }) => setAChecked([Link])}
checked={achecked}>
Authorised
<input type='hidden' name='Authorised' defaultValue={achecked} />
</Checkbox>
<Checkbox
onChange={({ detail }) => setIChecked([Link])}
checked={ichecked}>
Issued
<input type='hidden' name='Issued' defaultValue={ichecked} />
</Checkbox>
<Tiles
onChange={onchangeType}
value={type}
items={[
{ label: "Stock", value: "S" },
{ label: "Customer Stock", value: "O" },
{ label: "Customer Order", value: "C" }
]}
/>
<FormField
label="Plan Date"
errorText={actionData?.[Link]}>
<input type='hidden' name='PlanDate' defaultValue={planDate} />
<DatePicker
onChange={({ detail }) => setPlanDate([Link])}
value={planDate}
openCalendarAriaLabel={selectedDate => "Choose plan date" +
(selectedDate ? `, selected date is ${selectedDate}` : "")}
placeholder="YYYY/MM/DD"
/>
</FormField>
<FormField
label="Delivery Date"
errorText={actionData?.[Link]}>
<input type='hidden' name='DeliveryDate'
defaultValue={deliveryDate} />
<DatePicker
onChange={({ detail }) => setDeliveryDate([Link])}
value={deliveryDate}
openCalendarAriaLabel={selectedDate => "Choose plan date" +
(selectedDate ? `, selected date is ${selectedDate}` : "")}
placeholder="YYYY/MM/DD"
/>
</FormField>
{type === "O" &&
<FormField stretch={false} label='Customer'>
<Select
selectedOption={selectedCS}
onChange={({ detail }) => setCustomeStock([Link])}
onLoadItems={onLoadCustomeStockOptions}
options={customerStockOptions}
placeholder="Choose a ProdType"
filteringType="auto"
/>
</FormField>
}
{type === "C" &&
<FormField stretch={false} label='Customer Order'>
<Select
selectedOption={selectedCO}
onChange={onChangeCustomerOrder}
onLoadItems={onLoadCustomeOrderOptions}
options={customerOrderOptions}
filteringType="auto"
/>
</FormField>
}
{type !== "C" && (
<div style={{ width: '150px' }}>
<FormField stretch={false} label='Auto Planing Items'>
<Input type='number' name='AutoPlanItem' value={autoPlanItem}
onChange={({ detail }) => setAutoPlanItem([Link])} />&nbsp;
</FormField>
</div>
)}
</Grid>
</Container>
</Form>
<FormField><br /></FormField>
<SpaceBetween size='m'>
<[Link] value={deleteTableItem}>
<Table
items={PlanItem}
setPlanItem={setPlanItem}
rcnt={[Link]}
//attrOpts={itemNo}
addItem={addItem}
/>
</[Link]>
</SpaceBetween>
</ContentLayout>
);
});

const handle = {
//crumb: {text: 'Create'},
contentType: 'form'
}
export {
action,
loader,
handle,
Z as default
}

You might also like