{"version":3,"mappings":"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","names":["styles","icon1","cursor","width","icon2","ProcessDoneIcon","props","done","disabled","hasClickEvent","undefined","onClick","handleKlik","jsx","CheckBoxIcon","color","style","CheckBoxOutlineBlankIcon","propTypes","PropTypes","bool","func","flex","display","txtDivPointer","txtDivNoPointer","ProcessRow","show","pvm","pvm2","isLoading","hideDate","disableCheckClick","disableTextClick","txt","helpId","children","height","ProgressCirc","Tooltip","disableInteractive","title","placement","arrow","onCheckClick","onTextClick","Typography","variant","className","jsxs","Fragment","aikaPvmStringLong","HelperIcon","ProcessHeadingRow","sx","flexShrink","ProcessSubHeadingRow","MyDivider","gutterBottom","TabSubOtsikko","noDivider","align","paddingTop","gutterHeight","gutterTop","ProcessRowOsoite","thisProcess","isConfirmed","tyomaaOsoiteHyväksytty","confirmDate","checkTip","toimitusOsoiteHylkää","toimitusOsoiteHyväksy","setThisProcess","ProcessRowAika","kellonaikaVahvistettu","isImported","kellonAikaHylkää","kellonAikaVahvista","ProcessRowAsiakas","asiakasHyväksytty","asiakasHylkää","asiakasHyväksy","ProcessRowTilaus","tilausHyväksytty","async","tilausHylkää","tilausHyväksy","ProcessRowPumppu","pumppuVarattu","pumppuHylkää","pumppuHyväksy","ProcessRowBetoni","betoniVarattu","betoniHylkää","betoniHyväksy","string","node","instanceOf","Date","tip","textTip","isRequired","object","_handleKeikkaModal","import","__VITE_PRELOAD__","HandleKeikkaModal","lazy","ProcessRowVastaanotto","betonitoimijaTilausVastaanotettu","handleKeikkaModalIsOpen","setHandleKeikkaModalIsOpen","useState","LazyLoader","open","closeModal","keikkaData","setKeikkaData","ProcessRowTilausvahvistus","tilausvahvistusLähetetty","isFound","firstFoundDate","firstConfirmDate","sendTilausvahvistusModalIsOpen","setSendTilausvahvistusModalIsOpen","SendTilausVahvistusModal","close","reloadProcess","tilausvahvistusHylkää","tilausvahvistusHyväksy","_tilausvahvistusLähetetty","ProcessRowToimitusvalmis","_confirmRightButtonModal","__vitePreload","ConfirmRightButtonModal","Stars","StarsSelectors","StepProcess","user","token","socket","useUserData","doSetKeikkaData","useKeikkaData","stepLog","useStepLogData","doSetStepId","setStepId","useNavData","doSetKeikkaBetoniId","setKeikkaBetoniId","useKeikkaBetoniData","personId","thisProcessJSON","setThisProcessJSON","ProcessClass","keikkaClass","expanded","setExpanded","setIsLoading","starsLoading","setStarsLoading","confirmRightButtonModalIsOpen","setConfirmRightButtonModalIsOpen","stars","setStars","stepLogListener","useCallback","console","log","doSetThisProcess","initProcessClass","useEffect","on","asyncFunc2","initStars","_processClass","asyncFunc1","tila","keikkaTilaId","off","initProcess","_stars","keikkaStars_fetch","keikkaId","handleChange","panel","event","isExpanded","auth","originalEdit","isKeikkaAdmin","tyomaa","tyomaaContactPersonId","pc","_p","hash","navTo","step","handleStarsChange","tot","cnt","betoni","kuljetukset","pumppaus","sovellus","padding","Arvosana","Accordion","onChange","AccordionSummary","expandIcon","ExpandCollapseIcon","id","ProcessHeadingCell","palaute","precision","readOnly","showNumber","AccordionDetails","deliveryDate","pumppu","pumppuAika","ProcentBar","procent","asiakasLuoTilaustaPercent","pvmString","parseJSONDate","luontiAloitettu","kellonaikaValittu","asiakasValittu","toimitusOsoiteValittu","betoniToimijatValittu","modules","hasBetoni","hasPumppu","puomiValittu","linjaValittu","betoniMääräTäytetty","keikkaBetoniId","betoniTiedotTäytetty","tilausLähetetty","isKeikkaHandler","betoniToimijaKäsitteleeTilaustaPercent","tilausToimitetaanPercent","tilausToimitettu","enabled","reloadKeikkaData"],"ignoreList":[],"sources":["../../src/pages/steps/StepProcess/components/ProcessDoneIcon.jsx","../../src/pages/steps/StepProcess/components/ProcessRow.jsx","../../src/pages/steps/StepProcess/components/ProcessHeadingCell.jsx","../../src/pages/steps/StepProcess/components/ProcessSubHeadingRow.jsx","../../src/pages/steps/components/TabSubOtsikko.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowOsoite.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowAika.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowAsiakas.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowTilaus.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowPumppu.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowBetoni.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowVastaanotto.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowTilausvahvistus.jsx","../../src/pages/steps/StepProcess/components/processRows/ProcessRowToimitusvalmis.jsx","../../src/pages/steps/StepProcess/StepProcess.jsx"],"sourcesContent":["import PropTypes from \"prop-types\";\r\nimport CheckBoxOutlineBlankIcon from \"@mui/icons-material/CheckBoxOutlineBlank\";\r\nimport CheckBoxIcon from \"@mui/icons-material/CheckBox\";\r\n\r\nconst styles = {\r\n icon: { width: \"25px\" },\r\n icon1: { cursor: \"pointer\", width: \"25px\" },\r\n icon2: { cursor: \"not-allowed\", width: \"25px\" },\r\n};\r\n\r\nexport default function ProcessDoneIcon(props) {\r\n const done = props.done || false;\r\n const disabled = props.disabled || false;\r\n const hasClickEvent = props.onClick !== undefined && !disabled;\r\n\r\n const handleKlik = () => {\r\n props.onClick();\r\n };\r\n\r\n if (!done)\r\n return (\r\n \r\n );\r\n else {\r\n return (\r\n \r\n );\r\n }\r\n}\r\n\r\nProcessDoneIcon.propTypes = {\r\n done: PropTypes.bool,\r\n onClick: PropTypes.func,\r\n disabled: PropTypes.bool,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessDoneIcon from \"./ProcessDoneIcon\";\r\nimport { Tooltip, Typography } from \"@mui/material\";\r\nimport ProgressCirc from \"src/components/layout/Progress/ProgressCirc\";\r\nimport { aikaPvmStringLong } from \"src/components/js/statics1\";\r\nimport HelperIcon from \"src/components/icons/purposed/HelperIcon/HelperIcon\";\r\n\r\nconst styles = {\r\n flex: { display: \"flex\" },\r\n txtDivPointer: { cursor: \"pointer\", width: \"60%\" },\r\n txtDivNoPointer: { cursor: \"inherit\", width: \"60%\" },\r\n};\r\n\r\nexport default function ProcessRow(props) {\r\n const show = props.show === undefined ? true : props.show;\r\n if (!show) return null;\r\n\r\n const done = props.done || false;\r\n const pvm = props.pvm || null;\r\n const pvm2 = props.pvm2 || null;\r\n const isLoading = props.isLoading === undefined ? false : props.isLoading;\r\n const hideDate = props.hideDate || false;\r\n const disableCheckClick = props.disableCheckClick || false;\r\n const disableTextClick = props.disableTextClick || false;\r\n const handleCheckClick = () =>\r\n props.onCheckClick ? props.onCheckClick() : props.onClick ? props.onClick() : null;\r\n const handleTextClick = () =>\r\n props.onTextClick ? props.onTextClick() : props.onClick ? props.onClick() : null;\r\n const txt = props.txt || \"Teksti puuttuu\";\r\n const textTip = \"\"; // props.textTip || props.tip || null;\r\n const checkTip = \"\"; // props.checkTip || props.tip || null;\r\n const helpId = props.helpId || null;\r\n\r\n //if (!enabled) tip = null;\r\n return (\r\n
\r\n
\r\n {isLoading ? (\r\n
\r\n \r\n
\r\n ) : (\r\n \r\n
\r\n !disableCheckClick && handleCheckClick()}\r\n aria-label=\"Valmis\"\r\n disabled={disableCheckClick}\r\n />\r\n
\r\n \r\n )}\r\n
\r\n\r\n {txt && (\r\n !disableTextClick && handleTextClick()}\r\n aria-label=\"Valmis\">\r\n \r\n
\r\n \r\n {txt}\r\n \r\n
\r\n
\r\n
\r\n )}\r\n
\r\n {pvm && done && !hideDate && (\r\n <>\r\n \r\n {aikaPvmStringLong(pvm, true)}\r\n \r\n {pvm2 && (\r\n \r\n klik:{aikaPvmStringLong(pvm2, true)}\r\n \r\n )}\r\n \r\n )}\r\n
\r\n {props.children}\r\n {helpId && }\r\n \r\n );\r\n\r\n function ToolTipCheckTitle(txt) {\r\n if (disableCheckClick) return null;\r\n if (txt === null || txt === \"\") return null;\r\n return {txt};\r\n }\r\n function ToolTipTextTitle(txt) {\r\n if (disableCheckClick) return null;\r\n if (txt === null || txt === \"\") return null;\r\n return {txt};\r\n }\r\n}\r\n\r\nProcessRow.propTypes = {\r\n done: PropTypes.bool,\r\n txt: PropTypes.string,\r\n children: PropTypes.node,\r\n pvm: PropTypes.instanceOf(Date),\r\n pvm2: PropTypes.instanceOf(Date),\r\n onClick: PropTypes.func,\r\n tip: PropTypes.string,\r\n isLoading: PropTypes.bool,\r\n hideDate: PropTypes.bool,\r\n disableCheckClick: PropTypes.bool,\r\n disableTextClick: PropTypes.bool,\r\n onCheckClick: PropTypes.func,\r\n onTextClick: PropTypes.func,\r\n textTip: PropTypes.string,\r\n checkTip: PropTypes.string,\r\n helpId: PropTypes.string,\r\n show: PropTypes.bool,\r\n};\r\n","import { Typography } from \"@mui/material\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport default function ProcessHeadingRow(props) {\r\n const width = props.width || \"66%\";\r\n return (\r\n \r\n {props.txt}\r\n \r\n );\r\n}\r\n\r\nProcessHeadingRow.propTypes = {\r\n txt: PropTypes.string,\r\n width: PropTypes.string,\r\n};\r\n","import { Typography } from \"@mui/material\";\r\nimport MyDivider from \"src/components/layout/MyDivider\";\r\nimport PropTypes from \"prop-types\";\r\n\r\nexport default function ProcessSubHeadingRow(props) {\r\n //if (!props.show) return null;\r\n return (\r\n <>\r\n \r\n {props.txt}\r\n \r\n \r\n \r\n );\r\n}\r\n\r\nProcessSubHeadingRow.propTypes = {\r\n txt: PropTypes.string,\r\n show: PropTypes.bool,\r\n};\r\n","import propTypes from \"prop-types\";\r\nimport { Typography } from \"@mui/material\";\r\nimport MyDivider from \"src/components/layout/MyDivider\";\r\n\r\nexport default function TabSubOtsikko(props) {\r\n const txt = props.txt;\r\n const show = props.show === undefined ? true : props.show;\r\n const noDivider = props.noDivider;\r\n\r\n if (!show) return null;\r\n\r\n return (\r\n <>\r\n \r\n {txt}\r\n \r\n {!noDivider && }\r\n \r\n );\r\n}\r\n\r\nTabSubOtsikko.propTypes = {\r\n txt: propTypes.string.isRequired,\r\n show: propTypes.bool,\r\n noDivider: propTypes.bool,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowOsoite(props) {\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.tyomaaOsoiteHyväksytty.isConfirmed;\r\n const confirmDate = props.thisProcess.tyomaaOsoiteHyväksytty.confirmDate;\r\n\r\n function handleKlik() {\r\n if (isConfirmed) {\r\n thisProcess.toimitusOsoiteHylkää();\r\n } else {\r\n thisProcess.toimitusOsoiteHyväksy();\r\n }\r\n thisProcess.tyomaaOsoiteHyväksytty.isConfirmed = !isConfirmed;\r\n props.setThisProcess(thisProcess);\r\n }\r\n\r\n function getTip() {\r\n return isConfirmed ? \"Poista työmaaosoitteen hyväksyntä\" : \"Hyväksy toimitusosoite heti\";\r\n }\r\n return (\r\n handleKlik()}\r\n aria-label=\"Työmaaosoitteen hyväksyntä\"\r\n disableTextClick\r\n helpId=\"processRowTyomaaOsoiteHyväksytty\"\r\n />\r\n );\r\n}\r\n\r\nProcessRowOsoite.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowAika(props) {\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.kellonaikaVahvistettu.isConfirmed;\r\n const confirmDate = props.thisProcess.kellonaikaVahvistettu.confirmDate;\r\n\r\n function handleKlik() {\r\n if (isConfirmed) {\r\n thisProcess.kellonAikaHylkää();\r\n } else {\r\n thisProcess.kellonAikaVahvista();\r\n }\r\n props.setThisProcess(thisProcess);\r\n }\r\n\r\n return (\r\n handleKlik()}\r\n aria-label=\"Toimitusajankohta hyväksyntä\"\r\n disableTextClick\r\n disableCheckClick={thisProcess.isImported.isConfirmed}\r\n helpId=\"processRowKellonaikaHyväksytty\"\r\n />\r\n );\r\n\r\n function getTip() {\r\n if (thisProcess.isImported.isConfirmed)\r\n return \"Tilaus on tuotu ulkoisesta järjestelmästä. Toimitusajankohta on hyväksytty automaattisesti.\";\r\n return thisProcess.kellonaikaVahvistettu.isConfirmed\r\n ? \"Poista toimitusajankohdan hyväksyntä\"\r\n : \"Hyväksy toimitusajankohta heti\";\r\n }\r\n}\r\n\r\nProcessRowAika.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowAsiakas(props) {\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.asiakasHyväksytty.isConfirmed;\r\n const confirmDate = props.thisProcess.asiakasHyväksytty.confirmDate;\r\n\r\n function handleKlik() {\r\n if (isConfirmed) {\r\n thisProcess.asiakasHylkää();\r\n } else {\r\n thisProcess.asiakasHyväksy();\r\n }\r\n thisProcess.asiakasHyväksytty.isConfirmed = !isConfirmed;\r\n props.setThisProcess(thisProcess);\r\n }\r\n\r\n function getTip() {\r\n return isConfirmed ? \"Poista asiakkaan hyväksyntä\" : \"Hyväksy asiakas heti\";\r\n }\r\n return (\r\n handleKlik()}\r\n aria-label=\"Asiakkaan hyväksyntä\"\r\n disableTextClick\r\n helpId=\"processRowAsiakasHyväksytty\"\r\n />\r\n );\r\n}\r\n\r\nProcessRowAsiakas.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowTilaus(props) {\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.tilausHyväksytty.isConfirmed;\r\n const confirmDate = props.thisProcess.tilausHyväksytty.confirmDate;\r\n\r\n const handleKlik = async () => {\r\n if (thisProcess.tilausHyväksytty.isConfirmed) {\r\n thisProcess.tilausHylkää();\r\n } else {\r\n thisProcess.tilausHyväksy();\r\n }\r\n thisProcess.tilausHyväksytty.isConfirmed = !isConfirmed;\r\n props.setThisProcess(thisProcess);\r\n };\r\n\r\n function getTip() {\r\n return isConfirmed ? \"Poista tilauksen Vahvistus\" : \"Vahvista tilaus heti\";\r\n }\r\n return (\r\n handleKlik()}\r\n aria-label=\"Tilauksen vahvistus\"\r\n disableTextClick\r\n helpId=\"processRowTilausHyväksytty\"\r\n />\r\n );\r\n}\r\n\r\nProcessRowTilaus.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowPumppu(props) {\r\n const show = props.show === undefined ? true : props.show;\r\n if (!show) return null;\r\n\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.pumppuVarattu.isConfirmed;\r\n const confirmDate = props.thisProcess.pumppuVarattu.confirmDate;\r\n\r\n function handleKlik() {\r\n if (thisProcess.pumppuVarattu.isConfirmed) {\r\n thisProcess.pumppuHylkää();\r\n } else {\r\n thisProcess.pumppuHyväksy();\r\n }\r\n //thisProcess.pumppuVarattu.isConfirmed = !isConfirmed;\r\n props.setThisProcess(thisProcess);\r\n }\r\n\r\n function getTip() {\r\n return isConfirmed\r\n ? \"Poista merkintä että pumppu on varattu tilausta varten\"\r\n : \"Merkitse että pumppu on varattu tilausta varten\";\r\n }\r\n return (\r\n handleKlik()}\r\n aria-label=\"Pumpun varaus\"\r\n disableTextClick\r\n disableCheckClick={thisProcess.isImported.isConfirmed}\r\n helpId=\"processRowPumppuVarattu\"\r\n show={show}\r\n />\r\n );\r\n}\r\n\r\nProcessRowPumppu.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n show: PropTypes.bool,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowBetoni(props) {\r\n const show = props.show === undefined ? true : props.show;\r\n if (!show) return null;\r\n\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.betoniVarattu.isConfirmed;\r\n const confirmDate = props.thisProcess.betoniVarattu.confirmDate;\r\n\r\n function handleKlik() {\r\n if (thisProcess.betoniVarattu.isConfirmed) thisProcess.betoniHylkää();\r\n else thisProcess.betoniHyväksy();\r\n thisProcess.betoniVarattu.isConfirmed = !isConfirmed;\r\n props.setThisProcess(thisProcess);\r\n }\r\n\r\n function getTip() {\r\n if (thisProcess.isImported.isConfirmed)\r\n return \"Tilaus on tuotu ulkoisesta järjestelmästä. Betoni on oletuksella varattu.\";\r\n return isConfirmed\r\n ? \"Poista merkintä että betoni on varattu tilausta varten\"\r\n : \"Merkitse että betoni on varattu tilausta varten\";\r\n }\r\n return (\r\n handleKlik()}\r\n aria-label=\"Betoni varattu\"\r\n disableTextClick\r\n disableCheckClick={thisProcess.isImported.isConfirmed}\r\n helpId=\"processRowBetoniVarattu\"\r\n show={show}\r\n />\r\n );\r\n}\r\n\r\nProcessRowBetoni.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n show: PropTypes.bool,\r\n};\r\n","import { lazy, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\nimport LazyLoader from \"src/components/layout/Progress/LazyLoader\";\r\nconst _handleKeikkaModal = import(\r\n \"src/pages/steps/StepTilaus/Modals/handleKeikka/HandleKeikkaModal\"\r\n);\r\nconst HandleKeikkaModal = lazy(() => _handleKeikkaModal);\r\n\r\nexport default function ProcessRowVastaanotto(props) {\r\n const isConfirmed = props.thisProcess.betonitoimijaTilausVastaanotettu.isConfirmed;\r\n const confirmDate = props.thisProcess.betonitoimijaTilausVastaanotettu.confirmDate;\r\n const [handleKeikkaModalIsOpen, setHandleKeikkaModalIsOpen] = useState(false);\r\n const handleKlik = () => setHandleKeikkaModalIsOpen(true);\r\n\r\n function getTip() {\r\n return \"Avaa tilauksen vastaanotto- ja käsittelyikkuna\";\r\n }\r\n return (\r\n <>\r\n \r\n setHandleKeikkaModalIsOpen(false)}\r\n keikkaData={props.thisProcess.keikkaData}\r\n setKeikkaData={props.setKeikkaData}\r\n />\r\n \r\n handleKlik()}\r\n aria-label=\"Tilaus vastaanotettu\"\r\n helpId=\"processRowVastaanotto\"\r\n />\r\n \r\n );\r\n}\r\n\r\nProcessRowVastaanotto.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n setKeikkaData: PropTypes.func,\r\n};\r\n","import { useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\nimport SendTilausVahvistusModal from \"src/components/comms/SendTilausVahvistusButton/SendTilausVahvistusModal\";\r\n\r\nexport default function ProcessRowTilausvahvistus(props) {\r\n const thisProcess = props.thisProcess;\r\n const keikkaData = props.thisProcess.keikkaData;\r\n const isConfirmed = props.thisProcess.tilausvahvistusLähetetty.isConfirmed;\r\n const isFound = props.thisProcess.tilausvahvistusLähetetty.isFound;\r\n const firstFoundDate = props.thisProcess.tilausvahvistusLähetetty.firstFoundDate;\r\n const firstConfirmDate = props.thisProcess.tilausvahvistusLähetetty.firstConfirmDate;\r\n\r\n const [sendTilausvahvistusModalIsOpen, setSendTilausvahvistusModalIsOpen] = useState(false);\r\n\r\n const handleTextKlik = () => setSendTilausvahvistusModalIsOpen(true);\r\n const handleCheckKlik = () => {\r\n if (isConfirmed) {\r\n thisProcess.tilausvahvistusHylkää();\r\n } else {\r\n thisProcess.tilausvahvistusHyväksy();\r\n }\r\n thisProcess._tilausvahvistusLähetetty.isConfirmed = !isConfirmed;\r\n thisProcess._tilausvahvistusLähetetty.isFound = !isConfirmed;\r\n props.setThisProcess(thisProcess);\r\n };\r\n\r\n const handleSendTilausvahvistusModalClose = async () => {\r\n setSendTilausvahvistusModalIsOpen(false);\r\n props.reloadProcess();\r\n };\r\n\r\n return (\r\n <>\r\n \r\n handleCheckKlik()}\r\n onTextClick={() => handleTextKlik()}\r\n aria-label=\"Tilausvahvistus lähetetty\"\r\n helpId=\"processRowTilausvahvistusLähetetty\"\r\n />\r\n \r\n );\r\n}\r\n\r\nProcessRowTilausvahvistus.propTypes = {\r\n thisProcess: PropTypes.object,\r\n reloadProcess: PropTypes.func,\r\n setThisProcess: PropTypes.func,\r\n};\r\n","import PropTypes from \"prop-types\";\r\nimport ProcessRow from \"../ProcessRow\";\r\n\r\nexport default function ProcessRowToimitusvalmis(props) {\r\n const thisProcess = props.thisProcess;\r\n const isConfirmed = props.thisProcess.tilausHyväksytty.isConfirmed;\r\n const confirmDate = props.thisProcess.tilausHyväksytty.confirmDate;\r\n\r\n const handleKlik = async () => {\r\n if (thisProcess.tilausHyväksytty.isConfirmed) {\r\n await thisProcess.tilausHylkää();\r\n } else {\r\n await thisProcess.tilausHyväksy();\r\n props.setThisProcess(thisProcess);\r\n }\r\n };\r\n\r\n function getTip() {\r\n return \"Vahvista tilaus heti ja merkitse se toimitusvalmiiksi\";\r\n }\r\n\r\n return (\r\n handleKlik()}\r\n aria-label=\"Tilauksen hyväksyntä\"\r\n disableTextClick\r\n />\r\n );\r\n}\r\n\r\nProcessRowToimitusvalmis.propTypes = {\r\n thisProcess: PropTypes.object,\r\n setThisProcess: PropTypes.func,\r\n};\r\n","import { lazy, useCallback, useEffect, useState } from \"react\";\r\nimport PropTypes from \"prop-types\";\r\nimport { Accordion, AccordionDetails, AccordionSummary } from \"@mui/material\";\r\n\r\nimport { useUserData } from \"src/context/userContext\";\r\nimport { useStepLogData } from \"src/context/StepLogContext\";\r\nimport { useKeikkaData } from \"src/context/KeikkaDataContext\";\r\nimport { useKeikkaBetoniData } from \"src/context/KeikkaBetoniContext\";\r\nimport { useNavData } from \"src/context/navContext\";\r\nimport { isKeikkaHandler } from \"src/data/ifs/isIfs\";\r\nimport { keikkaStars_fetch } from \"src/data/starsClass\";\r\nimport { parseJSONDate, pvmString } from \"src/components/js/statics1\";\r\nimport keikkaClass from \"src/data/keikka/keikkaClass\";\r\nimport ProcessClass from \"src/data/keikka/processClass\";\r\n\r\nimport ProcessRow from \"./components/ProcessRow\";\r\nimport ProcentBar from \"./components/ProcentBar\";\r\nimport ProcessHeadingCell from \"./components/ProcessHeadingCell\";\r\nimport ProcessSubHeadingRow from \"./components/ProcessSubHeadingRow\";\r\nimport TabSubOtsikko from \"../components/TabSubOtsikko\";\r\nimport ProcessRowOsoite from \"./components/processRows/ProcessRowOsoite\";\r\nimport ProcessRowAika from \"./components/processRows/ProcessRowAika\";\r\nimport ProcessRowAsiakas from \"./components/processRows/ProcessRowAsiakas\";\r\nimport ProcessRowTilaus from \"./components/processRows/ProcessRowTilaus\";\r\nimport ProcessRowPumppu from \"./components/processRows/ProcessRowPumppu\";\r\nimport ProcessRowBetoni from \"./components/processRows/ProcessRowBetoni\";\r\nimport ProcessRowVastaanotto from \"./components/processRows/ProcessRowVastaanotto\";\r\nimport ProcessRowTilausvahvistus from \"./components/processRows/ProcessRowTilausvahvistus\";\r\nimport ProcessRowToimitusvalmis from \"./components/processRows/ProcessRowToimitusvalmis\";\r\nimport LazyLoader from \"src/components/layout/Progress/LazyLoader\";\r\nimport ExpandCollapseIcon from \"src/components/icons/purposed/ExpandCollapseIcon\";\r\n\r\nconst _confirmRightButtonModal = import(\r\n \"../StepTilaus/Modals/confirmKeikka/ConfirmRightButtonModal\"\r\n);\r\nconst ConfirmRightButtonModal = lazy(() => _confirmRightButtonModal);\r\n\r\nconst _handleKeikkaModal = import(\"../StepTilaus/Modals/handleKeikka/HandleKeikkaModal\");\r\nconst HandleKeikkaModal = lazy(() => _handleKeikkaModal);\r\n\r\nconst Stars = lazy(() => import(\"./components/Stars/Stars\"));\r\nconst StarsSelectors = lazy(() => import(\"./components/Stars/StarsSelectors\"));\r\n\r\nexport default function StepProcess() {\r\n const { user, token, socket } = useUserData();\r\n const { keikkaData, doSetKeikkaData: setKeikkaData } = useKeikkaData();\r\n const { stepLog } = useStepLogData();\r\n const { doSetStepId: setStepId } = useNavData();\r\n const { doSetKeikkaBetoniId: setKeikkaBetoniId } = useKeikkaBetoniData();\r\n\r\n const personId = user.personId;\r\n\r\n // eslint-disable-next-line no-unused-vars\r\n const [thisProcessJSON, setThisProcessJSON] = useState();\r\n const [thisProcess, setThisProcess] = useState(new ProcessClass(new keikkaClass()));\r\n const [expanded, setExpanded] = useState(false);\r\n const [isLoading, setIsLoading] = useState(true);\r\n const [starsLoading, setStarsLoading] = useState(true);\r\n const [handleKeikkaModalIsOpen, setHandleKeikkaModalIsOpen] = useState(false);\r\n const [confirmRightButtonModalIsOpen, setConfirmRightButtonModalIsOpen] = useState(false);\r\n const [stars, setStars] = useState(0);\r\n\r\n const stepLogListener = useCallback(async () => {\r\n console.log(\"Heard stepLog:update\");\r\n setIsLoading(true);\r\n doSetThisProcess(await initProcessClass(token));\r\n setIsLoading(false);\r\n });\r\n\r\n useEffect(() => {\r\n let isMounted = true;\r\n socket.on(\"stepLog:update\", stepLogListener);\r\n const asyncFunc1 = async () => {\r\n // initialize processClass\r\n setIsLoading(true);\r\n asyncFunc2(token);\r\n const _processClass = await initProcessClass(token);\r\n if (isMounted) {\r\n doSetThisProcess(_processClass);\r\n setIsLoading(false);\r\n }\r\n };\r\n const asyncFunc2 = async (token) => {\r\n // initialize stars\r\n await initStars(token);\r\n if (isMounted) setStarsLoading(false);\r\n };\r\n asyncFunc1();\r\n if (keikkaData.tila.keikkaTilaId === 9) {\r\n // jos keikka on valmis, avataan arvosana välilehti\r\n isMounted && setExpanded(\"arvosana\");\r\n } else if (keikkaData.tila.keikkaTilaId < 3) {\r\n // jos keikka on kesken/luonnos, avataan tilaus välilehti\r\n isMounted && setExpanded(\"luonti\");\r\n }\r\n return () => {\r\n socket && socket.off(\"stepLog:update\", stepLogListener);\r\n };\r\n }, []);\r\n\r\n const initProcessClass = async (token) => {\r\n const _processClass = new ProcessClass(keikkaData, personId);\r\n await _processClass.initProcess(token, socket);\r\n return _processClass;\r\n };\r\n\r\n const initStars = async (token) => {\r\n const _stars = await keikkaStars_fetch(keikkaData.keikkaId, token);\r\n setStars(_stars);\r\n keikkaData.stars.stars = _stars;\r\n setKeikkaData(keikkaData);\r\n };\r\n\r\n const handleChange = (panel) => (event, isExpanded) => {\r\n if (isExpanded) {\r\n if (panel === \"luonti\" && !keikkaData.auth.originalEdit) return;\r\n if (panel === \"käsittely\" && !keikkaData.auth.isKeikkaAdmin) return;\r\n if (panel === \"toimitus\" && !keikkaData.auth.isKeikkaAdmin) return;\r\n if (panel === \"arvosana\" && !keikkaData.auth.originalEdit) return;\r\n }\r\n setExpanded(isExpanded ? panel : false);\r\n };\r\n console.log(keikkaData.tyomaa.tyomaaContactPersonId);\r\n const reloadProcess = async () => {\r\n setIsLoading(true);\r\n const pc = await initProcessClass(token);\r\n setThisProcess(pc);\r\n setIsLoading(false);\r\n };\r\n\r\n const doSetThisProcess = (_p) => {\r\n setThisProcess(_p);\r\n setThisProcessJSON(_p.hash);\r\n };\r\n\r\n const navTo = (step) => setStepId(step);\r\n const handleStarsChange = async (stars) => {\r\n // get average stars\r\n let tot = 0;\r\n let cnt = 0;\r\n if (stars.betoni.stars > 0) {\r\n cnt++;\r\n tot += stars.betoni.stars;\r\n }\r\n if (stars.kuljetukset.stars > 0) {\r\n cnt++;\r\n tot += stars.kuljetukset.stars;\r\n }\r\n if (stars.pumppaus.stars > 0) {\r\n cnt++;\r\n tot += stars.pumppaus.stars;\r\n }\r\n if (stars.sovellus.stars > 0) {\r\n cnt++;\r\n tot += stars.sovellus.stars;\r\n }\r\n tot = tot / cnt;\r\n keikkaData.stars.stars = tot;\r\n setKeikkaData(keikkaData);\r\n console.log(stars);\r\n setStars(tot);\r\n };\r\n\r\n if (!thisProcess) return null;\r\n\r\n return (\r\n <>\r\n \r\n setHandleKeikkaModalIsOpen(false)}\r\n />\r\n setConfirmRightButtonModalIsOpen(false)}\r\n />\r\n \r\n \r\n
\r\n {Arvosana()}\r\n {Luonti()}\r\n {Käsittely()}\r\n {Toimitus()}\r\n {Seuranta()}\r\n
\r\n \r\n );\r\n\r\n function Seuranta() {\r\n return (\r\n keikkaData.tila.keikkaTilaId < 5 && (\r\n \r\n }\r\n aria-controls=\"toimitusbh-content\"\r\n id=\"toimitusbh-header\">\r\n \r\n \r\n \r\n \r\n )\r\n );\r\n }\r\n\r\n // function OmaNäkyvyys() {\r\n // return (\r\n // \r\n // }\r\n // aria-controls=\"toimitusbh-content\"\r\n // id=\"toimitusbh-header\">\r\n // \r\n // \r\n // \r\n // {keikkaData.auth.isKeikkaAdmin && renderAuthText(\"Olet tilauksen keikka admin\")}\r\n // {keikkaData.auth.isBetoniAdmin && renderAuthText(\"Olet tilauksen betoni admin\")}\r\n // {keikkaData.auth.isPumppuAdmin && renderAuthText(\"Olet tilauksen pumppu admin\")}\r\n // {keikkaData.keikkaContactPerson.personId === personId &&\r\n // renderAuthText(\"Olet tilauksen yhteyshenkilö\")}\r\n // {keikkaData.auth.isPumppari && renderAuthText(\"Olet pumppari\")}\r\n // {keikkaData.asiakas.auth.edit && renderAuthText(\"Olet asiakkaan henkilö\")}\r\n // {keikkaData.asiakas.auth.isAsiakasAdmin && renderAuthText(\"Olet asiakkaan hallinnoija\")}\r\n // {keikkaData.asiakas.auth.isAsiakasEditor && renderAuthText(\"Olet asiakkaan muokkaaja\")}\r\n // {keikkaData.asiakas.auth.isTarjousAdmin && renderAuthText(\"Olet asiakkaan tarjous admin\")}\r\n // {keikkaData.asiakas.asiakasContactPersonId === personId &&\r\n // renderAuthText(\"Olet asiakkaan yhteyshenkilö\")}\r\n // {keikkaData.tyomaa.auth.edit && renderAuthText(\"Olet työmaan henkilö\")}\r\n // {keikkaData.tyomaa.tyomaaContactPersonId === personId &&\r\n // renderAuthText(\"Olet työmaan yhteyshenkilö\")}\r\n // \r\n // \r\n // );\r\n // }\r\n\r\n function Toimitus() {\r\n return (\r\n \r\n }\r\n aria-controls=\"toimitusbh-content\"\r\n id=\"toimitusbh-header\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n \r\n { }}\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n function Käsittely() {\r\n return (\r\n \r\n }\r\n aria-controls=\"käsittelybh-content\"\r\n id=\"käsittelybh-header\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n );\r\n }\r\n\r\n function Luonti() {\r\n return (\r\n \r\n }\r\n aria-controls=\"luontibh-content\"\r\n id=\"luontibh-header\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n navTo(3)}\r\n aria-label=\"Avaa kellonajan valintaikkuna\"\r\n isLoading={isLoading}\r\n />\r\n navTo(1)}\r\n aria-label=\"Avaa asiakastietojen valintaikkuna\"\r\n isLoading={isLoading}\r\n />\r\n navTo(1)}\r\n aria-label=\"Avaa toimitusosoitteen valintaikkuna\"\r\n isLoading={isLoading}\r\n />\r\n navTo(8)}\r\n aria-label=\"Avaa betonitoimijoiden valintaikkuna\"\r\n isLoading={isLoading}\r\n show={keikkaData.modules.hasBetoni}\r\n />\r\n navTo(8)}\r\n aria-label=\"Avaa betonitoimijoiden valintaikkuna\"\r\n isLoading={isLoading}\r\n show={keikkaData.modules.hasPumppu}\r\n />\r\n navTo(2)}\r\n aria-label=\"Avaa puomin ja linjan valintaikkuna\"\r\n isLoading={isLoading}\r\n show={keikkaData.modules.hasPumppu}\r\n />\r\n navTo(2)}\r\n aria-label=\"Avaa puomin ja linjan valintaikkuna\"\r\n isLoading={isLoading}\r\n show={keikkaData.modules.hasPumppu}\r\n />\r\n {\r\n setKeikkaBetoniId(keikkaData.betoni[0].keikkaBetoniId);\r\n navTo(0);\r\n }}\r\n aria-label=\"Avaa betonin valintaikkuna\"\r\n isLoading={isLoading}\r\n show={keikkaData.modules.hasBetoni}\r\n />\r\n {\r\n setKeikkaBetoniId(keikkaData.betoni[0].keikkaBetoniId);\r\n navTo(4);\r\n }}\r\n aria-label=\"Avaa betonin valintaikkuna\"\r\n isLoading={isLoading}\r\n show={keikkaData.modules.hasBetoni}\r\n />\r\n {\r\n if (keikkaData.tila.keikkaTilaId < 9) {\r\n if (keikkaData.auth.isKeikkaAdmin) setHandleKeikkaModalIsOpen(true);\r\n else setConfirmRightButtonModalIsOpen(true);\r\n }\r\n }}\r\n aria-label=\"Avaa tilauksen vastaanotto- ja käsittelyikkuna\"\r\n isLoading={isLoading}\r\n />\r\n \r\n \r\n );\r\n }\r\n\r\n function Arvosana() {\r\n return (\r\n keikkaData.tila.keikkaTilaId === 9 && ( // jos tilaus on toimitettu, avataan arvosana välilehti\r\n <>\r\n \r\n }\r\n aria-controls=\"arvosanabh-content\"\r\n id=\"arvosanabh-header\">\r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n \r\n )\r\n );\r\n }\r\n}\r\nStepProcess.propTypes = {\r\n keikkaData: PropTypes.object,\r\n navTo: PropTypes.func,\r\n setKeikkaData: PropTypes.func,\r\n reloadKeikkaData: PropTypes.func,\r\n};\r\n"],"file":"chunks/StepProcess.BDtdbizG.js"}