{"version":3,"sources":["webpack:///./src/views/report/Create.vue?39b8","webpack:///./src/views/report/Create.vue"],"names":["_hoisted_1","class","_hoisted_2","_hoisted_3","_hoisted_4","_hoisted_5","_hoisted_6","_defineComponent","setup","__props","quasar","useQuasar","router","useRouter","formData","ref","getEmptyReportForm","states","crops","reportAnalysisItems","niveisCriticosP","capacidadesTampaoP","measurementLevels","init","loading","show","api","get","then","response","value","plainToInstance","State","data","params","relations","Crop","map","analysisItem","plain","type","select_options","analysis_item_id","id","analysis_item","ReportAnalysisItem","catch","error","console","log","hide","NivelCriticoP","MeasurementLevel","updateReportAnalysisItems","instanceToPlain","save","toRequestData","post","push","status","notify","message","_ctx","_cache","_component_q_btn","_resolveComponent","_openBlock","_createElementBlock","_Fragment","_createElementVNode","_createVNode","flat","color","label","icon","dense","onClick","$event","_unref","Form","modelValue","__exports__","QBtn"],"mappings":"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","file":"js/chunk-2d0dee87.9ffbbd47.js","sourcesContent":["import { defineComponent as _defineComponent } from 'vue'\nimport { resolveComponent as _resolveComponent, unref as _unref, createVNode as _createVNode, createElementVNode as _createElementVNode, Fragment as _Fragment, openBlock as _openBlock, createElementBlock as _createElementBlock } from \"vue\"\n\nconst _hoisted_1 = { class: \"row justify-start full-width\" }\nconst _hoisted_2 = { class: \"col-auto\" }\nconst _hoisted_3 = { class: \"row justify-start full-width q-mt-xl\" }\nconst _hoisted_4 = { class: \"col\" }\nconst _hoisted_5 = { class: \"row justify-center full-width q-mt-xl\" }\nconst _hoisted_6 = { class: \"col-auto\" }\n\nimport { AnalysisItem } from '@/models/analysis-item';\r\nimport { api } from '@/utils';\r\nimport { CapacidadeTampaoP } from '@/models/capacidade-tampao-p';\r\nimport { Crop } from '@/models/crop';\r\nimport Form from './components/Form.vue';\r\nimport { MeasurementLevel } from '@/models/measurement-level';\r\nimport { NivelCriticoP } from '@/models/nivel-critico-p';\r\nimport { ref } from 'vue';\r\nimport { ReportAnalysisItem } from '@/models/report-analysis-item';\r\nimport { State } from '@/models/state';\r\nimport useQuasar from 'quasar/src/composables/use-quasar.js';;\r\nimport { useRouter } from 'vue-router';\r\nimport { getEmptyReportForm, ReportForm, toRequestData } from './models/report-form';\r\nimport { instanceToPlain, plainToInstance } from 'class-transformer';\r\n\r\n\nexport default /*#__PURE__*/_defineComponent({\n setup(__props) {\n\r\nconst quasar = useQuasar();\r\nconst router = useRouter();\r\n\r\nconst formData = ref(getEmptyReportForm());\r\nconst states = ref([]);\r\nconst crops = ref([]);\r\nconst reportAnalysisItems = ref([]);\r\nconst niveisCriticosP = ref([]);\r\nconst capacidadesTampaoP = ref([]);\r\nconst measurementLevels = ref([]);\r\n\r\nconst init = () => {\r\n quasar.loading.show();\r\n\r\n api\r\n .get('states')\r\n .then((response) => {\r\n states.value = plainToInstance(State, response.data);\r\n\r\n api\r\n .get('crop', { params: { relations: 'exportation.substance,extraction.substance' } })\r\n .then((response) => {\r\n crops.value = plainToInstance(Crop, response.data);\r\n\r\n api\r\n .get('analysis-item')\r\n .then((response) => {\r\n reportAnalysisItems.value = response.data.map(\r\n (analysisItem: AnalysisItem & { select_options: string[] }) => {\r\n const plain = {\r\n value: analysisItem.type === 'select' ? analysisItem.select_options[0] : 0,\r\n analysis_item_id: analysisItem.id,\r\n analysis_item: analysisItem,\r\n };\r\n\r\n return plainToInstance(ReportAnalysisItem, plain);\r\n }\r\n );\r\n })\r\n .catch((error) => {\r\n console.log('Erro obtendo dados dos item de análise', error.response);\r\n });\r\n\r\n quasar.loading.hide();\r\n })\r\n .catch((error) => {\r\n console.log('Erro obtendo os dados de culturas', error.response);\r\n });\r\n })\r\n .catch((error) => {\r\n console.log('Erro obtendo os dados de estados', error.response);\r\n });\r\n\r\n api\r\n .get('phosphorus/nivel-critico')\r\n .then((response) => {\r\n niveisCriticosP.value = plainToInstance(NivelCriticoP, response.data);\r\n })\r\n .catch((error) => {\r\n console.log('Erro obtendo os dados de níveis críticos de P', error.response);\r\n });\r\n\r\n api\r\n .get('phosphorus/capacidade-tampao')\r\n .then((response) => {\r\n capacidadesTampaoP.value = plainToInstance(NivelCriticoP, response.data);\r\n })\r\n .catch((error) => {\r\n console.log('Erro obtendo os dados de níveis críticos de P', error.response);\r\n });\r\n\r\n api\r\n .get('measurement-levels', { params: { relations: 'substance' } })\r\n .then((response) => {\r\n measurementLevels.value = plainToInstance(MeasurementLevel, response.data);\r\n })\r\n .catch((error) => {\r\n console.log('Erro obtendo os dados de níveis de micronutrientes', error.response);\r\n });\r\n};\r\n\r\ninit();\r\n\r\nconst updateReportAnalysisItems = (value: ReportForm) => {\r\n formData.value.reportAnalysisItems = plainToInstance(\r\n ReportAnalysisItem,\r\n instanceToPlain(value.reportAnalysisItems) as never[]\r\n );\r\n};\r\n\r\nconst save = () => {\r\n const data = toRequestData(formData.value);\r\n\r\n quasar.loading.show();\r\n\r\n api\r\n .post('report', data)\r\n .then((response) => {\r\n quasar.loading.hide();\r\n router.push(`/teste/${response.data.id}/recomendacoes`);\r\n })\r\n .catch((error) => {\r\n if (error.response.status === 422) {\r\n quasar.notify({\r\n type: 'warning',\r\n message: error.response.data.message,\r\n });\r\n } else {\r\n quasar.notify({\r\n type: 'negative',\r\n message: 'Erro ao salvar o teste.',\r\n });\r\n\r\n console.log('Erro ao salvar o teste.', error.response);\r\n }\r\n });\r\n};\r\n\nreturn (_ctx: any,_cache: any) => {\n const _component_q_btn = _resolveComponent(\"q-btn\")!\n\n return (_openBlock(), _createElementBlock(_Fragment, null, [\n _createElementVNode(\"div\", _hoisted_1, [\n _createElementVNode(\"div\", _hoisted_2, [\n _createVNode(_component_q_btn, {\n flat: \"\",\n color: \"primary\",\n label: \"Voltar\",\n class: \"text-bold\",\n icon: \"chevron_left\",\n dense: \"\",\n onClick: _cache[0] || (_cache[0] = ($event: any) => (_unref(router).push('/dashboard')))\n })\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_3, [\n _createElementVNode(\"div\", _hoisted_4, [\n _createVNode(Form, {\n states: states.value,\n capacidadesTampaoP: capacidadesTampaoP.value,\n crops: crops.value,\n reportAnalysisItems: reportAnalysisItems.value,\n niveisCriticosP: niveisCriticosP.value,\n measurementLevels: measurementLevels.value,\n modelValue: formData.value,\n \"onUpdate:modelValue\": [\n _cache[1] || (_cache[1] = ($event: any) => ((formData).value = $event)),\n updateReportAnalysisItems\n ]\n }, null, 8, [\"states\", \"capacidadesTampaoP\", \"crops\", \"reportAnalysisItems\", \"niveisCriticosP\", \"measurementLevels\", \"modelValue\"])\n ])\n ]),\n _createElementVNode(\"div\", _hoisted_5, [\n _createElementVNode(\"div\", _hoisted_6, [\n _createVNode(_component_q_btn, {\n label: \"Ver recomendações\",\n color: \"primary\",\n onClick: save\n })\n ])\n ])\n ], 64))\n}\n}\n\n})","import script from \"./Create.vue?vue&type=script&lang=ts&setup=true\"\nexport * from \"./Create.vue?vue&type=script&lang=ts&setup=true\"\n\nconst __exports__ = script;\n\nexport default __exports__\nimport QBtn from 'quasar/src/components/btn/QBtn.js';\nimport qInstall from \"../../../node_modules/vue-cli-plugin-quasar/lib/runtime.auto-import.js\";\nqInstall(script, 'components', {QBtn});\n"],"sourceRoot":""}