{"version":3,"sources":["webpack:///./src/TOM-Fragebogen/views/TOMFragebogen-Aufstellung-Neu.vue?6f76","webpack:///./src/TOM-Fragebogen/views/TOMFragebogen-Aufstellung-Neu.vue?a2f1","webpack:///./src/TOM-Fragebogen/views/TOMFragebogen-Aufstellung-Neu.vue?5b61","webpack:///./src/TOM-Fragebogen/views/TOMFragebogen-Aufstellung-Neu.vue"],"names":["render","_vm","this","_h","$createElement","_c","_self","staticClass","_v","_s","$t","isLoading","isUpdating","isDisplayingFragebogen","key","attrs","aufgeklappteIds","on","toggleFragebogen","speichernUndKlappen","onKlappen","model","value","callback","$$v","fakeFragebogen","expression","onSubmit","directives","name","rawName","required","errors","isDisabled","aufstellung","$set","class","disabled","dplang","formatter","erstellungDatum","staticRenderFns","tomfApi","TOMFragebogen","API","isDirty","isSending","hasTriedSaving","TomBausteine","every","c","IstAusgewaehlt","undefined","baustein","elternteil","Baustein","Symbols","istAngepasst","save","refreshFragebogen","klappeBausteinZu","filter","id","Id","KinderIds","kindId","istAufgeklappt","some","Art","Ueberschrift1Ordnung","Logic","getIdsWithAtleastOneOfKindOpen","getAllParentIds","shouldRedirectToDokumente","removeById","Bezeichnung","add","field","msg","$validator","validateAll","count","AufstellungErstellen","erstellteAufstellungId","NotifySuccess","$router","push","searchParams","URLSearchParams","set","Modus","Auswahl","toString","join","query","items","forEach","error","console","NotifyError","Promise","reject","event","preventDefault","updateErstellung","Erstellung","fromJSDate","toUTC","toISO","prepareAufgeklappteForAuswahl","loadTomFragebogen","GetHauptFragebogen","response","mode","map","kapitel","getAllElementsOfKind","Kapitel","firstKapitel","length","initialise","hauptFragebogen","clone","window","structuredClone","filled","fillSymbolsFragebogen","createAufstellung","userStore","currentKundeId","initialesDatum","fromISO","Date","toISOString","toJSDate","date","PickerFormatter","$i18n","locale","toLowerCase","beforeRouteLeave","to","from","next","mounted","deep","TOMFragebogenAufstellungNeu","components","Spinner","TOMFragebogenAuswahl","EditPageBase","component"],"mappings":"uHAAA,IAAIA,EAAS,WAAa,IAAIC,EAAIC,KAASC,EAAGF,EAAIG,eAAmBC,EAAGJ,EAAIK,MAAMD,IAAIF,EAAG,OAAOE,EAAG,MAAM,CAACE,YAAY,WAAW,CAACF,EAAG,KAAK,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iDAAkDT,EAAIU,WAAaV,EAAIW,WAAYP,EAAG,WAAW,CAAGJ,EAAIY,uBAQ0LR,EAAG,uBAAuB,CAACS,IAAI,WAAWC,MAAM,CAAC,mBAAoB,EAAK,mBAAoB,EAAM,kBAAmB,EAAK,gBAAkBd,EAAIe,gBAAgB,oBAAqB,EAAK,aAAc,GAAMC,GAAG,CAAC,QAAUhB,EAAIiB,iBAAiB,gBAAkBjB,EAAIkB,oBAAoB,OAASlB,EAAImB,WAAWC,MAAM,CAACC,MAAOrB,EAAkB,eAAEsB,SAAS,SAAUC,GAAMvB,EAAIwB,eAAeD,GAAKE,WAAW,oBARrjBrB,EAAG,OAAO,CAACY,GAAG,CAAC,OAAShB,EAAI0B,WAAW,CAACtB,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACN,EAAIO,GAAG,eAAeP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,gBAAgBL,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,QAAQ,CAACU,MAAM,CAAC,IAAM,sBAAsB,CAACd,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,+BAA+B,yBAAyBL,EAAG,OAAO,CAACE,YAAY,QAAQ,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAC5wB,oFACUL,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,qBAAqB,CAACN,EAAIO,GAAG,mBAAmBP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0B,qBAAqBL,EAAG,OAAO,CAACJ,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAC1M,2EACQL,EAAG,MAAM,CAACE,YAAY,YAAY,CAACF,EAAG,MAAM,CAACE,YAAY,cAAc,CAACF,EAAG,YAAY,CAACuB,WAAW,CAAC,CAACC,KAAK,WAAWC,QAAQ,aAAaR,MAAM,CAAGS,UAAU,GAAQL,WAAW,uBAAuBnB,YAAY,WAAWQ,MAAM,CAAC,KAAO,uBAAuB,SAAWd,EAAI+B,OAAO,SAAW/B,EAAIgC,YAAYZ,MAAM,CAACC,MAAOrB,EAAIiC,YAAuB,YAAEX,SAAS,SAAUC,GAAMvB,EAAIkC,KAAKlC,EAAIiC,YAAa,cAAeV,IAAME,WAAW,6BAA6BrB,EAAG,IAAI,CAACE,YAAY,0BAA0B,CAACN,EAAIO,GAAG,qBAAqBP,EAAIQ,GAAGR,EAAIS,GAC3iB,gEACC,uBAAuB,KAAKL,EAAG,MAAM,CAACE,YAAY,OAAO,CAACF,EAAG,MAAM,CAACE,YAAY,oDAAoD,CAACF,EAAG,MAAM,CAACE,YAAY,gBAAgB6B,MAAM,CAAEC,SAAUpC,EAAIgC,aAAc,CAAC5B,EAAG,QAAQ,CAACU,MAAM,CAAC,IAAM,eAAe,CAACd,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,iCAAiCL,EAAG,aAAa,CAACU,MAAM,CAAC,GAAK,aAAa,uBAAuB,kCAAkC,mBAAkB,EAAK,SAAWd,EAAIqC,OAAO,qBAAoB,EAAK,gBAAe,EAAK,cAAc,eAAe,OAASrC,EAAIsC,UAAU,SAAWtC,EAAIgC,YAAYZ,MAAM,CAACC,MAAOrB,EAAmB,gBAAEsB,SAAS,SAAUC,GAAMvB,EAAIuC,gBAAgBhB,GAAKE,WAAW,sBAAsB,WAAWrB,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,MAAM,CAACE,YAAY,iBAAiB,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,0BAA0BL,EAAG,MAAM,CAACE,YAAY,kBAAkB,CAACF,EAAG,OAAO,CAACE,YAAY,sBAAsB,CAACN,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GACp6B,qHACIL,EAAG,aAAa,CAACU,MAAM,CAAC,KAAO,cAAcE,GAAG,CAAC,MAAQhB,EAAIiB,mBAAmB,CAACb,EAAG,OAAO,CAACJ,EAAIO,GAAG,mBAAmBP,EAAIQ,GAAGR,EAAIS,GAAG,yCAAyC,uBAAuB,KAAKL,EAAG,MAAM,CAACE,YAAY,iDAAiD,CAACF,EAAG,MAAM,CAACE,YAAY,UAAU,CAACF,EAAG,aAAa,CAACU,MAAM,CAAC,GAAK,UAAU,KAAO,OAAO,GAAK,cAAc,CAACd,EAAIO,GAAGP,EAAIQ,GAAGR,EAAIS,GAAG,yBAAyB,SAAgb,IACv2B+B,EAAkB,G,gkEC6ItB,cANA,2D,OAOS,EAAAC,QAAU,IAAIC,EAAA,KAAcC,IAG3B,EAAAC,SAAmB,EAEpB,EAAAlC,WAAqB,EAMrB,EAAAsB,YAAsB,EACtB,EAAAa,WAAqB,EACrB,EAAAC,gBAA0B,EAC1B,EAAAlC,wBAAkC,EAElC,EAAAD,YAAsB,EACtB,EAAAI,gBAA4B,G,EA0PrC,OA5QyD,OAoBvD,sBAAI,iCAAkB,C,IAAtB,WACE,OAAOd,KAAKuB,eAAeuB,aAAaC,OACtC,SAACC,GAAM,OAAqB,IAArBA,EAAEC,qBAAiDC,IAArBF,EAAEC,mB,gCAI9B,YAAAhC,oBAAb,SACEkC,EACAC,G,0FAKE,O,uBAFAD,EAASV,EAAA,KAAcY,SAASC,QAAQC,eAAgB,EACxDvD,KAAKkB,UAAUiC,GACf,GAAMnD,KAAKwD,MAAK,I,cAAhB,S,6BAEAL,EAASV,EAAA,KAAcY,SAASC,QAAQC,eAAgB,EACxDvD,KAAKkB,UAAUiC,G,oBAEf,OAAAM,EAAA,MAAkBzD,KAAKuB,gB,6BAIpB,YAAAmC,iBAAP,SAAwBP,GACtBnD,KAAKc,gBAAkBd,KAAKc,gBAAgB6C,QAC1C,SAACC,GAAO,OAAAA,IAAOT,EAASU,MAE1B7D,KAAKc,gBAAkBd,KAAKc,gBAAgB6C,QAAO,SAACC,GAClD,OAAAT,EAASW,UAAUf,OAAM,SAACgB,GAAW,OAAAH,IAAOG,SAIzC,YAAA7C,UAAP,SAAiBiC,GACf,IAAMa,EAAiBhE,KAAKc,gBAAgBmD,MAC1C,SAACL,GAAO,OAAAA,IAAOT,EAASU,MAGtBG,GACFhE,KAAK0D,iBAAiBP,GAElBA,EAASe,MAAQzB,EAAA,KAAcY,SAASa,IAAIC,uBAC9CnE,KAAKc,gBACH2B,EAAA,KAAc2B,MAAMC,+BAClBrE,KAAKuB,eAAeuB,aACpB9C,KAAKc,gBACLqC,MAIFA,EAASe,MAAQzB,EAAA,KAAcY,SAASa,IAAIC,uBAE9CnE,KAAKc,gBAAkB,IAGzBd,KAAKc,gBAAsBd,KAAKc,gBAAe,QAAEqC,EAASU,KAE1D7D,KAAKc,gBACAd,KAAKc,gBAAe,OACpB2B,EAAA,KAAc2B,MAAME,gBAAgBnB,MAKhC,YAAAK,KAAb,SAAkBe,G,sGA4Bd,O,sBAXAvE,KAAK8B,OAAO0C,WAAW,uBACc,KAAjCxE,KAAKgC,YAAYyC,aACnBzE,KAAK8B,OAAO4C,IAAI,CACdC,MAAO,uBACPC,IAAK,cACLhB,GAAI,wBAIR5D,KAAK6C,gBAAiB,EACtB7C,KAAKgC,YAAYc,aAAe9C,KAAKuB,eAAeuB,aACpD,GAAM9C,KAAK6E,WAAWC,e,UAAtB,SAC2B,GAAvB9E,KAAK8B,OAAOiD,QAAZ,Y,iBAKE,O,sBAHF/E,KAAK4C,WAAY,EACjB5C,KAAK2C,SAAU,EAEb,GAAM3C,KAAKwC,QAAQwC,qBAAqBhF,KAAKgC,c,cADzCiD,EACJ,SAEF,OAAaC,gBACTX,EACFvE,KAAKmF,QAAQC,KAAK,cAEZC,EAAe,IAAIC,gBACzBD,EAAaE,IAAI,OAAQ9C,EAAA,KAAc+C,MAAMC,QAAQC,YACrDL,EAAaE,IAAI,cAAevF,KAAKc,gBAAgB6E,KAAK,MACpDC,EAAQP,EAAaK,WAE3B1F,KAAKmF,QAAQC,KACX,uCAAuCH,EAAsB,IAAIW,I,oBAIrE5F,KAAK4C,WAAY,E,8BASnB,OANI5C,KAAK8B,OAAO+D,OACd7F,KAAK8B,OAAO+D,MAAMC,SAAQ,SAACC,GAAU,OAAAC,QAAQD,MAAMA,MAErD,OAAaE,YACXjG,KAAKQ,GAAG,2CAA2CkF,YAE9C,CAAP,EAAOQ,QAAQC,U,0BAIjB,M,WADAH,QAAQD,MAAM,GACR,E,yBAIG,YAAAtE,SAAb,SAAsB2E,G,gGAIlB,O,sBAFAA,EAAMC,iBAEN,GAAMrG,KAAKwD,MAAK,I,cAAhB,S,aAGA,M,WADAwC,QAAQD,MAAM,GACR,E,yBAKH,YAAAO,iBAAP,SAAwBlF,GAClBpB,KAAKgC,cACPhC,KAAKgC,YAAYuE,WAAa,cAASC,WAAWpF,GAAOqF,QAAQC,UAI9D,YAAA1F,iBAAP,WACEhB,KAAK2G,gCACL3G,KAAKW,wBAA0BX,KAAKW,wBAGzB,YAAAiG,kBAAb,W,kGAEqB,O,sBAAA,GAAM5G,KAAKwC,QAAQqE,sB,OACpC,OADMC,EAAW,SACV,CAAP,EAAOA,G,OAGP,M,WADAd,QAAQD,MAAM,GACR,E,yBAIH,YAAAY,8BAAP,SAAqCI,GACnC/G,KAAKuB,eAAeuB,aAAe9C,KAAKuB,eAAeuB,aAAakE,KAClE,SAAChE,GAGC,OAFAA,EAAEP,EAAA,KAAcY,SAASC,QAAQC,eAAgB,EACjDP,EAAEP,EAAA,KAAcY,SAASC,QAAQU,iBAAkB,EAC5ChB,KAIXhD,KAAKc,gBAAkB,GAEvB,IAAMmG,EAAUxE,EAAA,KAAc2B,MAAM8C,qBAClClH,KAAKuB,eAAeuB,aACpBL,EAAA,KAAcY,SAASa,IAAIiD,SAGvBC,EAAeH,EAAQ,GACzBG,GAAcpH,KAAKc,gBAAgBsE,KAAKgC,EAAavD,IACrDuD,EAAatD,UAAUuD,QACzBrH,KAAKc,gBAAgBsE,KAAKgC,EAAatD,UAAU,KAGxC,YAAAwD,WAAb,W,wGAE4B,O,sBAAA,GAAMtH,KAAK4G,qB,OAmBnC,OAnBMW,EAAkB,SAElBC,EAASC,OAAeC,gBAAgBH,GACxCI,EAASlF,EAAA,KAAc2B,MAAMwD,sBAAsBJ,GACzDxH,KAAKuB,eAAiBoG,EAEtB3H,KAAKgC,YAAcS,EAAA,KAAc2B,MAAMyD,kBACrC7H,KAAKuB,eACLvB,KAAK8H,UAAUC,gBAGXC,EAAiB,cAASC,SAAQ,IAAIC,MAAOC,eAChD1B,QACA2B,WACHpI,KAAKsC,gBAAkB0F,EACvBhI,KAAKsG,iBAAiB0B,GAEtBhI,KAAK2G,gCAEL,I,OAGA,M,WADAX,QAAQD,MAAM,GACR,E,yBAIV,YAAA1D,UAAA,SAAUgG,GACR,OAAO,OAAYC,gBAAgBD,IAGrC,sBAAI,qBAAM,C,IAAV,WACE,MAAqD,MAA9CrI,KAAKuI,MAAMC,OAAO9C,WAAW+C,cAChC,OACA,Q,gCAGN,YAAAC,iBAAA,SAAiBC,EAASC,EAAWC,GAC/B7I,KAAKW,wBAAwBX,KAAKgB,mBAClChB,KAAK2C,QACP,eACE3C,KAAKQ,GAAG,iCACRR,KAAKQ,GACH,4HAEFR,KAAKQ,GAAG,4BACRR,KAAKQ,GAAG,cACR,WACEqI,GAAK,MAEP,WACEA,GAAK,MAITA,GAAK,IAIH,YAAAC,QAAN,W,0FACE,SAAM9I,KAAKsH,c,cAAX,SACAtH,KAAKS,WAAY,E,YAzGnB,GADC,eAAM,kBAAmB,CAAEsI,MAAM,K,qCAhKfC,EAA2B,GAN/C,eAAU,CACTC,WAAY,CACVC,QAAO,OACPC,qBAAoB,WAGHH,GA4QrB,EA5QA,CAAyDI,EAAA,MAApC,ICtJqW,I,YCOtXC,EAAY,eACd,EACAvJ,EACAyC,GACA,EACA,KACA,KACA,MAIa,aAAA8G,E","file":"js/chunk-2d210627.08380beb.js","sourcesContent":["var render = function () {var _vm=this;var _h=_vm.$createElement;var _c=_vm._self._c||_h;return _c('div',{staticClass:\"content\"},[_c('h1',[_vm._v(_vm._s(_vm.$t(\"TOM-Fragebogen.TOM-Aufstellung hinzufügen\")))]),(_vm.isLoading || _vm.isUpdating)?_c('spinner'):[(!_vm.isDisplayingFragebogen)?_c('form',{on:{\"submit\":_vm.onSubmit}},[_c('div',{staticClass:\"icsbox\"},[_c('div',{staticClass:\"icsbox-header\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"Dokument.Art des Dokuments\"))+\"\\n \")]),_c('div',{staticClass:\"icsbox-content\"},[_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-12\"},[_c('div',{staticClass:\"form-group\"},[_c('label',{attrs:{\"for\":\"art-des-dokuments\"}},[_vm._v(_vm._s(_vm.$t(\"Dokument.Art des Dokuments\"))+\":\\n \")]),_c('span',{staticClass:\"ml-1\"},[_vm._v(_vm._s(_vm.$t(\n \"TOM-Fragebogen.Aufstellung technischer und organisatorischer Maßnahmen\"\n )))])])])]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"form-group col-12\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"Dokument.Aktenzeichen\"))+\":\\n \"),_c('span',[_vm._v(_vm._s(_vm.$t(\n \"TOM-Fragebogen.Wird nach dem Hinzufügen des Dokuments vergeben.\"\n )))])])]),_c('div',{staticClass:\"row mt-2\"},[_c('div',{staticClass:\"form-group\"},[_c('ics-input',{directives:[{name:\"validate\",rawName:\"v-validate\",value:({ required: true }),expression:\"{ required: true }\"}],staticClass:\"col-xl-6\",attrs:{\"name\":'Dokument.Bezeichnung',\"errorBag\":_vm.errors,\"disabled\":_vm.isDisabled},model:{value:(_vm.aufstellung.Bezeichnung),callback:function ($$v) {_vm.$set(_vm.aufstellung, \"Bezeichnung\", $$v)},expression:\"aufstellung.Bezeichnung\"}}),_c('p',{staticClass:\"text-muted mb-0 col-12\"},[_vm._v(\"\\n \"+_vm._s(_vm.$t(\n \"TOM-Fragebogen.Bitte wählen Sie aussagekräftige Schlagworte\"\n ))+\"\\n \")])],1)]),_c('div',{staticClass:\"row\"},[_c('div',{staticClass:\"col-xl-6 d-flex flex-row justify-content-between\"},[_c('div',{staticClass:\"form-group dp\",class:{ disabled: _vm.isDisabled }},[_c('label',{attrs:{\"for\":\"erstellung\"}},[_vm._v(_vm._s(_vm.$t(\"Dokument.Datum Erstellung\")))]),_c('datepicker',{attrs:{\"id\":\"erstellung\",\"calendar-button-icon\":\"bt-icon inline size-15 kalender\",\"calendar-button\":true,\"language\":_vm.dplang,\"bootstrap-styling\":true,\"monday-first\":true,\"input-class\":\"form-control\",\"format\":_vm.formatter,\"disabled\":_vm.isDisabled},model:{value:(_vm.erstellungDatum),callback:function ($$v) {_vm.erstellungDatum=$$v},expression:\"erstellungDatum\"}})],1)])])])]),_c('div',{staticClass:\"icsbox\"},[_c('div',{staticClass:\"icsbox-header\"},[_vm._v(_vm._s(_vm.$t(\"Allgemein.Dokument\")))]),_c('div',{staticClass:\"icsbox-content\"},[_c('span',{staticClass:\"d-inline-flex mb-2\"},[_vm._v(_vm._s(_vm.$t(\n \"TOM-Fragebogen.Bitte geben Sie der TOM-Aufstellung einen aussagekräftigen Dateinamen bevor Sie sie erstellen.\"\n )))]),_c('ics-button',{attrs:{\"type\":\"add-button\"},on:{\"click\":_vm.toggleFragebogen}},[_c('span',[_vm._v(\"\\n \"+_vm._s(_vm.$t(\"TOM-Fragebogen.TOM-Fragebogen öffnen\"))+\"\\n \")])])],1)]),_c('div',{staticClass:\"d-flex justify-content-end align-items-center\"},[_c('div',{staticClass:\"d-flex\"},[_c('ics-button',{attrs:{\"id\":\"btnBack\",\"type\":\"back\",\"to\":\"/dokument\"}},[_vm._v(_vm._s(_vm.$t(\"Allgemein.Zurück\")))])],1)])]):_c('TOMFragebogenAuswahl',{key:'Auswahl2',attrs:{\"showGlobalBackBtn\":true,\"showGlobalSaveBtn\":false,\"showGroupSaveBtn\":true,\"aufgeklappteIds\":_vm.aufgeklappteIds,\"nurNeueBearbeitbar\":true,\"preventSave\":true},on:{\"zurueck\":_vm.toggleFragebogen,\"gruppespeichern\":_vm.speichernUndKlappen,\"klappe\":_vm.onKlappen},model:{value:(_vm.fakeFragebogen),callback:function ($$v) {_vm.fakeFragebogen=$$v},expression:\"fakeFragebogen\"}})]],2)}\nvar staticRenderFns = []\n\nexport { render, staticRenderFns }","\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\r\nimport { Component, Prop, Vue, Watch } from \"vue-property-decorator\";\r\nimport {\r\n confirmDeletion,\r\n DateHelpers,\r\n GlobalHelper,\r\n} from \"@/helper/global-helper\";\r\nimport { ErrorBag, Validator } from \"vee-validate\";\r\nimport { PageStore, PageStores } from \"@/store/modules/page-store\";\r\nimport Spinner from \"@/components/Spinner.vue\";\r\nimport TOMFragebogen from \"../TOMFragebogen\";\r\nimport { UserModule, UserStore } from \"@/store/modules/currentuser-store\";\r\n//@ts-ignore\r\nimport * as pickerlanguages from \"vuejs-datepicker/dist/locale/index.js\";\r\nimport { DateTime } from \"luxon\";\r\nimport { DokumentService } from \"@/services/dokument-service\";\r\nimport TOMFragebogenAuswahl from \"./TOMFragebogen-Auswahl.vue\";\r\nimport refreshFragebogen from \"../logic/refreshFragebogen\";\r\nimport EditPageBase from \"@/views/Generic/EditPageBase.vue\";\r\n\r\n@Component({\r\n components: {\r\n Spinner,\r\n TOMFragebogenAuswahl,\r\n },\r\n})\r\nexport default class TOMFragebogenAufstellungNeu extends EditPageBase {\r\n public tomfApi = new TOMFragebogen.API();\r\n public errors!: ErrorBag;\r\n\r\n private isDirty: boolean = true;\r\n\r\n public isLoading: boolean = true;\r\n public aufstellung!: TOMFragebogen.TOMAufstellung.Neu;\r\n public fakeFragebogen!: TOMFragebogen;\r\n\r\n public erstellungDatum!: Date;\r\n\r\n public isDisabled: boolean = false;\r\n public isSending: boolean = false;\r\n public hasTriedSaving: boolean = false;\r\n public isDisplayingFragebogen: boolean = false;\r\n\r\n public isUpdating: boolean = false;\r\n public aufgeklappteIds: string[] = [];\r\n\r\n get isMissingBausteine() {\r\n return this.fakeFragebogen.TomBausteine.every(\r\n (c) => c.IstAusgewaehlt === false || c.IstAusgewaehlt === undefined\r\n );\r\n }\r\n\r\n public async speichernUndKlappen(\r\n baustein: TOMFragebogen.Baustein,\r\n elternteil: TOMFragebogen.Baustein\r\n ) {\r\n try {\r\n baustein[TOMFragebogen.Baustein.Symbols.istAngepasst] = true;\r\n this.onKlappen(baustein);\r\n await this.save(false);\r\n } catch (error) {\r\n baustein[TOMFragebogen.Baustein.Symbols.istAngepasst] = false;\r\n this.onKlappen(baustein);\r\n } finally {\r\n refreshFragebogen(this.fakeFragebogen);\r\n }\r\n }\r\n\r\n public klappeBausteinZu(baustein: TOMFragebogen.Baustein) {\r\n this.aufgeklappteIds = this.aufgeklappteIds.filter(\r\n (id) => id !== baustein.Id\r\n );\r\n this.aufgeklappteIds = this.aufgeklappteIds.filter((id) =>\r\n baustein.KinderIds.every((kindId) => id !== kindId)\r\n );\r\n }\r\n\r\n public onKlappen(baustein: TOMFragebogen.Baustein) {\r\n const istAufgeklappt = this.aufgeklappteIds.some(\r\n (id) => id === baustein.Id\r\n );\r\n\r\n if (istAufgeklappt) {\r\n this.klappeBausteinZu(baustein);\r\n\r\n if (baustein.Art === TOMFragebogen.Baustein.Art.Ueberschrift1Ordnung) {\r\n this.aufgeklappteIds =\r\n TOMFragebogen.Logic.getIdsWithAtleastOneOfKindOpen(\r\n this.fakeFragebogen.TomBausteine,\r\n this.aufgeklappteIds,\r\n baustein\r\n );\r\n }\r\n } else {\r\n if (baustein.Art === TOMFragebogen.Baustein.Art.Ueberschrift1Ordnung) {\r\n // Nur eine Überschrift soll geöffnet sein während der Bearbeitung/Auswahl\r\n this.aufgeklappteIds = [];\r\n }\r\n\r\n this.aufgeklappteIds = [...this.aufgeklappteIds, baustein.Id];\r\n\r\n this.aufgeklappteIds = [\r\n ...this.aufgeklappteIds,\r\n ...TOMFragebogen.Logic.getAllParentIds(baustein),\r\n ];\r\n }\r\n }\r\n\r\n public async save(shouldRedirectToDokumente?: boolean) {\r\n try {\r\n // if (\r\n // this.fakeFragebogen.TomBausteine.every(\r\n // (c) => c.IstAusgewaehlt === false || c.IstAusgewaehlt === undefined\r\n // )\r\n // ) {\r\n // this.errors.add({ field: \"Aufstellung\", msg: \"Aufstellung\" });\r\n // console.error(\r\n // \"nichts ausgewählt?\",\r\n // this.fakeFragebogen.TomBausteine.filter((c) => c.IstAusgewaehlt),\r\n // this.aufstellung.TomBausteine.filter((c) => c.IstAusgewaehlt)\r\n // );\r\n // } else {\r\n // this.errors.remove(\"Aufstellung\");\r\n // }\r\n\r\n this.errors.removeById(\"DokumentBezeichnung\");\r\n if (this.aufstellung.Bezeichnung === \"\") {\r\n this.errors.add({\r\n field: \"Dokument.Bezeichnung\",\r\n msg: \"Bezeichnung\",\r\n id: \"DokumentBezeichnung\",\r\n });\r\n }\r\n\r\n this.hasTriedSaving = true;\r\n this.aufstellung.TomBausteine = this.fakeFragebogen.TomBausteine;\r\n await this.$validator.validateAll();\r\n if (this.errors.count() == 0) {\r\n try {\r\n this.isSending = true;\r\n this.isDirty = false;\r\n const erstellteAufstellungId =\r\n await this.tomfApi.AufstellungErstellen(this.aufstellung);\r\n\r\n GlobalHelper.NotifySuccess();\r\n if (shouldRedirectToDokumente) {\r\n this.$router.push(\"/dokument\");\r\n } else {\r\n const searchParams = new URLSearchParams();\r\n searchParams.set(\"mode\", TOMFragebogen.Modus.Auswahl.toString());\r\n searchParams.set(\"aufgeklappt\", this.aufgeklappteIds.join(\",\"));\r\n const query = searchParams.toString();\r\n\r\n this.$router.push(\r\n `/dokument/tomfragebogen/aufstellung/${erstellteAufstellungId}?${query}`\r\n );\r\n }\r\n } finally {\r\n this.isSending = false;\r\n }\r\n } else {\r\n if (this.errors.items) {\r\n this.errors.items.forEach((error) => console.error(error));\r\n }\r\n GlobalHelper.NotifyError(\r\n this.$t(\"Allgemein.Pflichtfeld nicht ausgefüllt.\").toString()\r\n );\r\n return Promise.reject();\r\n }\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n public async onSubmit(event: Event) {\r\n try {\r\n event.preventDefault();\r\n\r\n await this.save(true);\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n @Watch(\"erstellungDatum\", { deep: true })\r\n public updateErstellung(value: Date) {\r\n if (this.aufstellung) {\r\n this.aufstellung.Erstellung = DateTime.fromJSDate(value).toUTC().toISO();\r\n }\r\n }\r\n\r\n public toggleFragebogen() {\r\n this.prepareAufgeklappteForAuswahl();\r\n this.isDisplayingFragebogen = !this.isDisplayingFragebogen;\r\n }\r\n\r\n public async loadTomFragebogen() {\r\n try {\r\n const response = await this.tomfApi.GetHauptFragebogen();\r\n return response;\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n public prepareAufgeklappteForAuswahl(mode?: TOMFragebogen.Modus) {\r\n this.fakeFragebogen.TomBausteine = this.fakeFragebogen.TomBausteine.map(\r\n (c) => {\r\n c[TOMFragebogen.Baustein.Symbols.istAngepasst] = false;\r\n c[TOMFragebogen.Baustein.Symbols.istAufgeklappt] = false;\r\n return c;\r\n }\r\n );\r\n\r\n this.aufgeklappteIds = [];\r\n\r\n const kapitel = TOMFragebogen.Logic.getAllElementsOfKind(\r\n this.fakeFragebogen.TomBausteine,\r\n TOMFragebogen.Baustein.Art.Kapitel\r\n );\r\n\r\n const firstKapitel = kapitel[0];\r\n if (firstKapitel) this.aufgeklappteIds.push(firstKapitel.Id);\r\n if (firstKapitel.KinderIds.length)\r\n this.aufgeklappteIds.push(firstKapitel.KinderIds[0]);\r\n }\r\n\r\n public async initialise() {\r\n try {\r\n const hauptFragebogen = await this.loadTomFragebogen();\r\n\r\n const clone = (window as any).structuredClone(hauptFragebogen);\r\n const filled = TOMFragebogen.Logic.fillSymbolsFragebogen(clone);\r\n this.fakeFragebogen = filled;\r\n\r\n this.aufstellung = TOMFragebogen.Logic.createAufstellung(\r\n this.fakeFragebogen,\r\n this.userStore.currentKundeId\r\n );\r\n\r\n const initialesDatum = DateTime.fromISO(new Date().toISOString())\r\n .toUTC()\r\n .toJSDate();\r\n this.erstellungDatum = initialesDatum;\r\n this.updateErstellung(initialesDatum);\r\n\r\n this.prepareAufgeklappteForAuswahl();\r\n\r\n return;\r\n } catch (error) {\r\n console.error(error);\r\n throw error;\r\n }\r\n }\r\n\r\n formatter(date: Date) {\r\n return DateHelpers.PickerFormatter(date);\r\n }\r\n\r\n get dplang(): any {\r\n return this.$i18n.locale.toString().toLowerCase() == \"de\"\r\n ? pickerlanguages.de\r\n : pickerlanguages.en;\r\n }\r\n\r\n beforeRouteLeave(to: any, from: any, next: any) {\r\n if (this.isDisplayingFragebogen) this.toggleFragebogen();\r\n if (this.isDirty) {\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 () => {\r\n next(true);\r\n },\r\n () => {\r\n next(false);\r\n }\r\n );\r\n } else {\r\n next(true);\r\n }\r\n }\r\n\r\n async mounted() {\r\n await this.initialise();\r\n this.isLoading = false;\r\n }\r\n}\r\n","import mod from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TOMFragebogen-Aufstellung-Neu.vue?vue&type=script&lang=ts&\"; export default mod; export * from \"-!../../../node_modules/cache-loader/dist/cjs.js??ref--12-0!../../../node_modules/thread-loader/dist/cjs.js!../../../node_modules/ts-loader/index.js??ref--12-2!../../../node_modules/cache-loader/dist/cjs.js??ref--0-0!../../../node_modules/vue-loader/lib/index.js??vue-loader-options!./TOMFragebogen-Aufstellung-Neu.vue?vue&type=script&lang=ts&\"","import { render, staticRenderFns } from \"./TOMFragebogen-Aufstellung-Neu.vue?vue&type=template&id=1fbb177d&\"\nimport script from \"./TOMFragebogen-Aufstellung-Neu.vue?vue&type=script&lang=ts&\"\nexport * from \"./TOMFragebogen-Aufstellung-Neu.vue?vue&type=script&lang=ts&\"\n\n\n/* normalize component */\nimport normalizer from \"!../../../node_modules/vue-loader/lib/runtime/componentNormalizer.js\"\nvar component = normalizer(\n script,\n render,\n staticRenderFns,\n false,\n null,\n null,\n null\n \n)\n\nexport default component.exports"],"sourceRoot":""}