{"version":3,"sources":["webpack:///./src/Vorfallmanagement/tabs/Tab-Base-vfmt.ts","webpack:///./src/Vorfallmanagement/api/mapper-vfmt.ts","webpack:///./src/Vorfallmanagement/api/api-vfmt.ts"],"names":["registerHooks","reloadVorfallOnChange","hasChanged","api","status_dirty","status_sending","can_save","Konstanten","Debug","isDebug","updateDirty","this","some","c","updateCanSave","scrollToElementId","id","tempid","startsWith","slice","length","element","document","getElementById","scrollIntoView","block","console","error","getElementIdFromLocation","locationHash","window","location","hash","split","elementId","lastIndexOf","disabled","status_loading","status_failed","load","mounted","guard_status","setTimeout","guard_save","action","skipMessage","result","vorfall","GetVorfall","Id","$emit","NotifySuccess","$t","err","einfo","response","status","data","ErrorId","info","TitleTranslationKey","Content","__type","Text","toString","Bold","Pad","NotifyError2","beforeRouteLeave","to","from","next","type","Object","default","deep","immediate","TabBaseVfmt","NeuerSachverhaltDatumKeys","Set","DatumKeysVorfall","DatumKeysKorrespondenz","DatumKeys","Array","mapDatum","item","temp","forEach","key","date","mappedDate","Date","mapSachverhaltDatum","mapDatums","items","map","mapKorrespondenz","mapKorrespondenzen","mapNeueSachverhalte","NeueSachverhalte","mapSachverhalt","mapVorfall","reduce","func","mapVorfaelle","vorfaelle","VorfallmanagementMapper","controller","leitlinienController","apiUrl","fetchToyFetch","urlAddition","replaceUrl","method","headers","body","Promise","url","mergedHeaders","apiHeaders","chosenMethod","a","get","patch","head","options","post","put","Error","GetVorfaelle","VorfallErstellen","VorfallLoeschen","delete","StatusSpeichern","Status","ErfassungSpeichern","RechtlicheBeurteilungSpeichern","AufgabeSpeichern","aufgabe","Art","AufgabeDaten","GetLeitlinien","leitlinienUrl","AddLeitlinie","neu","GetLeitlinie","UpdateLeitlinie","leitlinie","DeleteLeitlinie","GetDokumenteArten","respone","GetListen","KorrespondenzSenden","korrespondenz","GetAnhang","responseType","AnhangLoeschen","Nachmeldung","undefined","NachmeldungLoeschen","BehoerdlichesSchreiben","BehoerdlichesSchreibenLoeschen"],"mappings":"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","file":"js/chunk-b26c76be.a856d944.js","sourcesContent":["import { Component, Vue, Prop, InjectReactive, Watch, VModel, PropSync, ProvideReactive } from \"vue-property-decorator\";\r\nimport { confirmDeletion, GlobalHelper } from \"@/helper/global-helper\";\r\nimport { GuardileoVueComponent } from \"@/lib\";\r\nimport Vorfallmanagement from \"../api/Vorfallmanagement\";\r\nimport VorfallmangementApi from \"../api/api-vfmt\";\r\n\r\nComponent.registerHooks([\"beforeRouteLeave\"]);\r\n\r\n@Component({})\r\nexport class TabBaseVfmt extends GuardileoVueComponent {\r\n @VModel({ type: Object }) public vorfall!: Vorfallmanagement.Vorfall;\r\n @Prop({ type: Object, default: null }) public vorfallClone!: Vorfallmanagement.Vorfall | null;\r\n @Prop({ default: false }) protected disabled!: boolean;\r\n\r\n get isDebug() {\r\n return Vorfallmanagement.Konstanten.Debug.isDebug;\r\n }\r\n\r\n public reloadVorfallOnChange: boolean = true;\r\n\r\n public hasChanged: boolean[] = [false];\r\n\r\n public readonly api = new VorfallmangementApi();\r\n\r\n public status_dirty: boolean = false;\r\n public status_sending: boolean = false;\r\n\r\n @Watch(\"hasChanged\", { deep: true })\r\n updateDirty() {\r\n this.status_dirty = this.hasChanged.some((c) => c);\r\n }\r\n\r\n public can_save: boolean = false;\r\n\r\n @Watch(\"status_dirty\", { deep: true, immediate: true })\r\n updateCanSave() {\r\n this.can_save = !this.status_dirty;\r\n }\r\n\r\n public scrollToElementId(id: string) {\r\n let tempid = id;\r\n if (tempid.startsWith(\"#\")) tempid = tempid.slice(1, tempid.length);\r\n const element = document.getElementById(tempid);\r\n if (element) element.scrollIntoView({ block: \"center\" });\r\n else {\r\n console.error(\"could not find element by id \" + tempid);\r\n }\r\n }\r\n\r\n public getElementIdFromLocation() {\r\n const locationHash = window.location.hash;\r\n if (locationHash.split(\"#\").length > 2) {\r\n const elementId = locationHash.slice(locationHash.lastIndexOf(\"#\"));\r\n return elementId;\r\n } else return null;\r\n }\r\n\r\n get ready(): boolean {\r\n return !this.disabled && !this.status_loading && !this.status_failed && !this.status_sending;\r\n }\r\n\r\n public async load() {\r\n console.error(\"Tab-Base-vfmt.load() must be overridden.\");\r\n }\r\n\r\n async mounted() {\r\n if (this.load) {\r\n await this.guard_status(this.load);\r\n }\r\n setTimeout(() => {\r\n const elementId = this.getElementIdFromLocation();\r\n if (elementId) this.scrollToElementId(elementId);\r\n }, 100);\r\n }\r\n\r\n async guard_save(action: () => Promise, skipMessage?: boolean) {\r\n try {\r\n this.status_sending = true;\r\n const result: T = await action();\r\n if (this.reloadVorfallOnChange && this.vorfall) {\r\n const vorfall = await this.api.GetVorfall(this.vorfall.Id);\r\n this.vorfall = vorfall;\r\n this.$emit(\"save\", { ...vorfall });\r\n }\r\n this.status_dirty = false;\r\n if (!skipMessage) GlobalHelper.NotifySuccess(this.$t(\"Allgemein.Eingabe gespeichert\"));\r\n\r\n return result;\r\n } catch (e) {\r\n const err: any = e;\r\n let einfo = \"\";\r\n if (!!err.response) einfo = `${err.response.status}`;\r\n if (!!err.response && !!err.response.data && !!err.response.data.ErrorId) {\r\n einfo = `(${err.response.status}) ${err.response.data.ErrorId}`;\r\n }\r\n console.error(err);\r\n if (einfo != \"\") einfo = this.$t(\"Error.Saving-info2\") + \" \" + einfo;\r\n const info = {\r\n TitleTranslationKey: \"Error.Saving\",\r\n Content: {\r\n __type: \"sections\",\r\n Content: [\r\n {\r\n __type: \"section\",\r\n Content: [\r\n { __type: \"fixed-text\", Text: this.$t(\"Error.Saving-info\").toString(), Bold: true, Pad: false },\r\n ],\r\n },\r\n { __type: \"section\", Content: [{ __type: \"fixed-text\", Text: einfo, Bold: false, Pad: false }] },\r\n ],\r\n },\r\n };\r\n GlobalHelper.NotifyError2(info);\r\n console.error(\"Error.Saving\");\r\n console.error(err.response.status);\r\n console.error(err);\r\n this.status_sending = false;\r\n throw err;\r\n } finally {\r\n this.status_sending = false;\r\n }\r\n }\r\n\r\n beforeRouteLeave(to: any, from: any, next: any) {\r\n if (this.status_dirty) {\r\n confirmDeletion(\r\n this.$t(\"Nicht gespeicherte Änderungen\"),\r\n this.$t(\r\n \"Sie haben nicht gespeicherte Änderungen auf dieser Seite - Möchten Sie die Seite verlassen und die Änderungen verwerfen?\"\r\n ),\r\n this.$t(\"Ohne speichern verlassen\"),\r\n this.$t(\"Abbrechen\"),\r\n async () => {\r\n this.$emit(\"reset\");\r\n this.hasChanged = [];\r\n next(true);\r\n },\r\n () => {\r\n next(false);\r\n }\r\n );\r\n } else {\r\n next();\r\n }\r\n }\r\n}\r\n","import Vorfallmanagement from \"./Vorfallmanagement\";\r\n\r\nconst NeuerSachverhaltDatumKeys: Set = new Set([\r\n \"NeuerSachverhaltDatum\",\r\n \"NeuerSachverhaltFristEnde\",\r\n] as (keyof Vorfallmanagement.NeuerSachverhalt)[]);\r\n\r\nconst DatumKeysVorfall: Set = new Set([\r\n \"Feststellung\",\r\n \"BeginnVorfall\",\r\n \"FristEnde\",\r\n \"EndeVorfall\",\r\n] as (keyof Vorfallmanagement.Vorfall | keyof Vorfallmanagement.Vorfall.Info)[]);\r\n\r\nconst DatumKeysKorrespondenz: (keyof Vorfallmanagement.Korrespondenz)[] = [\r\n \"BenachrichtigungVon\",\r\n \"BenachrichtigungBis\",\r\n \"Datum\",\r\n];\r\n\r\nconst DatumKeys = [...Array.from(DatumKeysVorfall), ...DatumKeysKorrespondenz];\r\n\r\nconst mapDatum = (item: T) => {\r\n const temp = { ...item };\r\n DatumKeys.forEach((key) => {\r\n if (key in temp && (temp as any)[key]) {\r\n try {\r\n const date: string = (temp as any)[key];\r\n const mappedDate = new Date(date);\r\n (temp as any)[key] = mappedDate;\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n });\r\n return temp;\r\n};\r\n\r\nconst mapSachverhaltDatum = (item: T) => {\r\n const temp = { ...item };\r\n NeuerSachverhaltDatumKeys.forEach((key) => {\r\n if (key in temp && (temp as any)[key]) {\r\n try {\r\n const date: string = (temp as any)[key];\r\n const mappedDate = new Date(date);\r\n (temp as any)[key] = mappedDate;\r\n } catch (error) {\r\n console.error(error);\r\n }\r\n }\r\n });\r\n return temp;\r\n};\r\n\r\nconst mapDatums = (items: T[]) => {\r\n return items.map((c) => mapDatum(c));\r\n};\r\n\r\nconst mapKorrespondenz = (item: T) => {\r\n return mapDatum(item);\r\n};\r\n\r\nconst mapKorrespondenzen = (items: T[]) => {\r\n return items.map(mapKorrespondenz);\r\n};\r\n\r\nconst mapNeueSachverhalte = (item: T) => {\r\n if (\"NeueSachverhalte\" in item) {\r\n let temp: any = { ...item };\r\n temp.NeueSachverhalte = temp.NeueSachverhalte.map(mapSachverhalt);\r\n return temp as T;\r\n }\r\n return item;\r\n};\r\n\r\nconst mapSachverhalt = (item: T) => {\r\n return mapSachverhaltDatum(item);\r\n};\r\n\r\nconst mapVorfall = (vorfall: T) => {\r\n return [mapDatum, mapKorrespondenz, mapNeueSachverhalte].reduce((vorfall, func) => func(vorfall), vorfall);\r\n};\r\n\r\nconst mapVorfaelle = (vorfaelle: T[]) => {\r\n return vorfaelle.map(mapVorfall);\r\n};\r\n\r\nconst VorfallmanagementMapper = {\r\n mapDatum,\r\n mapDatums,\r\n mapKorrespondenz,\r\n mapKorrespondenzen,\r\n mapSachverhalt,\r\n mapVorfall,\r\n mapVorfaelle,\r\n};\r\n\r\nexport default VorfallmanagementMapper;\r\n","import axios from \"axios\";\r\nimport { config } from \"@/appconfig\";\r\nimport Vorfallmanagement from \"./Vorfallmanagement\";\r\nimport { KorrespondenzArt } from \"@/models/Beschwerdemanagement/korrespondenzart-model\";\r\nimport VorfallmanagementMapper from \"./mapper-vfmt\";\r\n\r\nconst controller = \"Vorfallmanagement\";\r\nconst leitlinienController = \"LeitlinienEinstellung\";\r\n\r\nclass VorfallmangementApi {\r\n get url() {\r\n return `${config.apiUrl}/${controller}`;\r\n }\r\n\r\n get leitlinienUrl() {\r\n return `${config.apiUrl}/${leitlinienController}`;\r\n }\r\n\r\n public async fetchToyFetch(\r\n urlAddition: string,\r\n replaceUrl: boolean,\r\n method: keyof Pick,\r\n headers: Request[\"headers\"],\r\n body?: any\r\n ): Promise {\r\n const url = replaceUrl ? urlAddition : `${this.url}${urlAddition}`;\r\n const mergedHeaders = { ...config.apiHeaders, ...headers };\r\n const chosenMethod =\r\n method in axios\r\n ? method === \"get\"\r\n ? axios.get(url, mergedHeaders)\r\n : method === \"patch\"\r\n ? axios.patch(url, body, mergedHeaders)\r\n : method === \"head\"\r\n ? axios.head(url, mergedHeaders)\r\n : method === \"options\"\r\n ? axios.options(url, mergedHeaders)\r\n : method === \"post\"\r\n ? axios.post(url, body, mergedHeaders)\r\n : method === \"put\"\r\n ? axios.put(url, body, mergedHeaders)\r\n : null\r\n : null;\r\n\r\n if (chosenMethod) {\r\n const response = await chosenMethod;\r\n return response;\r\n } else throw new Error(\"could not find matching method \" + method);\r\n }\r\n\r\n /**\r\n * @description Gibt alle Vorfälle zurück\r\n */\r\n public async GetVorfaelle() {\r\n try {\r\n const response = await axios.get(`${this.url}`, config.apiHeaders);\r\n return VorfallmanagementMapper.mapDatums(response.data);\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt einen Vorfall zurück\r\n */\r\n public async GetVorfall(id: Vorfallmanagement.Vorfall[\"Id\"]) {\r\n try {\r\n const response = await axios.get(`${this.url}/${id}`, config.apiHeaders);\r\n return VorfallmanagementMapper.mapVorfall(response.data);\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Erstellt einen Vorfall\r\n */\r\n public async VorfallErstellen(vorfall: Vorfallmanagement.Vorfall.Neu) {\r\n try {\r\n const response = await axios.post(`${this.url}`, vorfall, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Löschen eines Vorfalls\r\n */\r\n public async VorfallLoeschen(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.delete(`${this.url}/${vorfall.Id}`, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Speichern des Status\r\n */\r\n public async StatusSpeichern(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.put(\r\n `${this.url}/${vorfall.Id}/status/${vorfall.Status}`,\r\n vorfall,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Speichern der Erfassung\r\n */\r\n public async ErfassungSpeichern(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.put(\r\n `${this.url}/${vorfall.Id}/erfassung`,\r\n vorfall,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Speichern der Rechtlichen Beurteilung\r\n */\r\n public async RechtlicheBeurteilungSpeichern(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.put(\r\n `${this.url}/${vorfall.Id}/rechtlichebeurteilung`,\r\n vorfall,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Speichern der jeweiligen Aufgabe\r\n */\r\n public async AufgabeSpeichern(vorfall: Vorfallmanagement.Vorfall, aufgabe: Vorfallmanagement.Aufgabe) {\r\n try {\r\n const response = await axios.post(\r\n `${this.url}/${vorfall.Id}/aufgabe/${aufgabe.Art}`,\r\n aufgabe.AufgabeDaten,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt die Leitlinien aus den Einstellungen zurück\r\n */\r\n public async GetLeitlinien() {\r\n try {\r\n const response = await axios.get(`${this.leitlinienUrl}/`, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Erstellt eine neue Leitlinie aus den Daten\r\n */\r\n public async AddLeitlinie(neu: Vorfallmanagement.Leitlinie.Neu) {\r\n try {\r\n const response = await axios.post(`${this.leitlinienUrl}/`, neu, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt die passende Leitlinie zu der Id aus den Einstellungen zurück\r\n */\r\n public async GetLeitlinie(id: Vorfallmanagement.Leitlinie[\"Id\"]) {\r\n try {\r\n const response = await axios.get(`${this.leitlinienUrl}/${id}`, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt die passende Leitlinie zu der Id aus den Einstellungen zurück\r\n */\r\n public async UpdateLeitlinie(leitlinie: Vorfallmanagement.Leitlinie) {\r\n try {\r\n const response = await axios.put(\r\n `${this.leitlinienUrl}/${leitlinie.Id}`,\r\n leitlinie,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt die passende Leitlinie zu der Id aus den Einstellungen zurück\r\n */\r\n public async DeleteLeitlinie(id: Vorfallmanagement.Leitlinie[\"Id\"]) {\r\n try {\r\n const response = await axios.delete(`${this.leitlinienUrl}/${id}`, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt die möglichen Dokumentenarten zurück\r\n */\r\n public async GetDokumenteArten(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const respone = await axios.get(\r\n `${this.url}/${vorfall.Id}/korrespondenzartenbyanfrage`,\r\n config.apiHeaders\r\n );\r\n return respone.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Gibt alle Auswahllisten zurück\r\n */\r\n public async GetListen() {\r\n try {\r\n const response = await axios.get(`${this.url}/listen`, config.apiHeaders);\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Speichert eine Korrespondenz\r\n */\r\n public async KorrespondenzSenden(\r\n id: Vorfallmanagement.Vorfall[\"Id\"],\r\n korrespondenz: Vorfallmanagement.Korrespondenz\r\n ) {\r\n try {\r\n const response = await axios.post(\r\n `${this.url}/${id}/korrespondenz`,\r\n korrespondenz,\r\n config.apiHeaders\r\n );\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Downloaded einen Anhang\r\n */\r\n public async GetAnhang(id: Vorfallmanagement.Korrespondenz[\"Anhaenge\"][0][\"Guid\"]) {\r\n try {\r\n const response = await axios.get(`${this.url}/getkorrespondenzanhang/${id}`, {\r\n ...config.apiHeaders,\r\n responseType: \"blob\",\r\n });\r\n return response.data;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Löscht einen Anhang\r\n */\r\n public async AnhangLoeschen(\r\n id: Vorfallmanagement.Korrespondenz[\"Anhaenge\"][0][\"Guid\"] | Vorfallmanagement.Korrespondenz[\"Anhaenge\"][0][\"Id\"]\r\n ) {\r\n try {\r\n const response = await axios.delete(`${this.url}/deleteanhang/${id}`, config.apiHeaders);\r\n return;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n /**\r\n * @description Fügt Nachmeldung hinzu\r\n */\r\n public async Nachmeldung(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.post(`${this.url}/${vorfall.Id}/Nachmeldung`, undefined, config.apiHeaders);\r\n return response;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Löscht die letzte offene Nachmeldung\r\n */\r\n public async NachmeldungLoeschen({ Id }: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.delete(`${this.url}/${Id}/Nachmeldung`, config.apiHeaders);\r\n return;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Fügt Behördliches Schreiben hinzu\r\n */\r\n public async BehoerdlichesSchreiben(vorfall: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.post(\r\n `${this.url}/${vorfall.Id}/BehoerdlichesSchreiben`,\r\n undefined,\r\n config.apiHeaders\r\n );\r\n return response;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n\r\n /**\r\n * @description Löscht das letzte offene Behördliche Schreiben\r\n */\r\n public async BehoerdlichesSchreibenLoeschen({ Id }: Vorfallmanagement.Vorfall) {\r\n try {\r\n const response = await axios.delete(`${this.url}/${Id}/BehoerdlichesSchreiben`, config.apiHeaders);\r\n return;\r\n } catch (error) {\r\n throw error;\r\n }\r\n }\r\n}\r\n\r\nexport default VorfallmangementApi;\r\n"],"sourceRoot":""}