bms-shared-components 1.1.78 → 1.1.79

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1297,7 +1297,7 @@ This will fail in production.`);vt=activePinia,vt._s.has(e)||(V?createSetupStore
1297
1297
  `,wn),wn.data.length){V.value=wn.data;let Nn=wn.data.find(ar=>Cn===ar[J.idField]),Hn={};Hn[J.idField]="",_t.value=Nn||Hn,Dt.value=Nn?Cn:""}else if("Body"in wn.data){V.value=wn.data.Body;let Nn=V.value.find(ar=>Cn===ar[J.idField]),Hn={};Hn[J.idField]="",_t.value=Nn||Hn,Dt.value=Nn?Cn:""}else{Rt=!0;let Nn={};Nn[J.idField]="",_t.value=Nn,Dt.value=""}N("onSelect",{data:_t.value,list:M.value,filteredList:V.value}),N("update:modelValue",Dt.value)});else if(J.loadBy&&(J.onlyLoadBy||!Dt.value)){V.value=[];let wn=J.url,Nn=!0;for(let Hn in J.loadBy){let ar;Nn?(Nn=!1,ar="?"):ar="&",wn+=ar+Hn+"="+J.loadBy[Hn]}J.secondParam&&(wn+="&"+J.secondParam),window.axios({url:wn,method:"get"}).then(Hn=>{if(J.devMode&&console.log(`RequestingSelect load by id response:
1298
1298
  `,Hn),!J.targetField&&Hn.data?.length||J.targetField&&(J.targetField==="object"||Hn.data[J.targetField]?.length))At="byId",yn(Hn,"","byId",!0),J.targetField&&(J.targetField!=="object"||!Hn.data?.length)?J.targetField==="object"?(_t.value=Hn.data,Dt.value=Hn.data[J.idField]):(_t.value=Hn.data[J.targetField][0],Dt.value=Hn.data[J.targetField][0][J.idField]):(_t.value=Hn.data[0],Dt.value=Hn.data[0][J.idField],J.defaultOption&&!_t.value&&(_t.value=J.defaultOption,Dt.value=J.defaultOption.Id));else{let ar={};ar[J.idField]="",_t.value=ar,Dt.value=""}Dt.value||(_t.value=J.defaultOption,Dt.value=J.defaultOption?.Id),N("onSelect",{data:_t.value,list:M.value,filteredList:V.value})})}else{let wn=J.url+"?"+(J.idFromIdField?J.idField:"Id")+"="+Cn+`${J.secondParam?"&"+J.secondParam:""}`;window.axios({url:wn,method:"get"}).then(Nn=>{if(J.devMode&&console.log(`RequestingSelect load by id response:
1299
1299
  `,Nn),Nn.data.length>0)V.value.push(Nn.data[0]),_t.value=Nn.data[0],Dt.value=Nn.data[0][J.idField];else{let Hn={};Hn[J.idField]="",_t.value=Hn,Dt.value=""}N("onSelect",{data:_t.value,list:M.value,filteredList:V.value})})}};vue.watch(()=>J.getFirstFromString,()=>{J.getFirstFromString&&(At="firstFromString",dr(J.getFirstFromString,"firstFromString",()=>{V.value?.length&&tr(V.value[0])}))},{immediate:!0}),vue.watch(()=>J.modelValue,(Cn,wn)=>{if(Cn!==wn&&_t.value&&J.idField in _t.value&&J?.modelValue!==_t.value[J.idField]&&J?.filterField)Rt=!1,Jt(J.modelValue);else if(!J?.modelValue){let Nn={};Nn[J.idField]="",_t.value=Nn,Dt.value=""}}),vue.watch(()=>J.loadBy,(Cn,wn)=>{let Nn=!1;for(let Hn in Cn)(!wn||Cn[Hn]!=wn[Hn])&&(Nn=!0);Nn&&Jt(J.modelValue)},{deep:!0,immediate:!0}),vue.watch(()=>J.newElement,()=>{if(J.newElement){let Cn=!1;J.checkForPush?Cn=J.checkForPush(J.newElement,V.value):Cn=!0,Cn?(V.value.push(J.newElement),N("newElementSuccess")):N("newElementReject")}}),vue.watch(()=>J.deleteElement,()=>{J.devDelete&&notifyWarning("Удаление этого элемента на сервере пока не доступно.");let Cn;typeof J.deleteElement!="string"?Cn=J.deleteElement[J.idField]:Cn=J.deleteElement,V.value=V.value.filter(Hn=>Hn[J.idField]!==Cn);let wn={};wn[J.idField]="",_t.value=wn,Dt.value="";let Nn;J?.deleteUrl?Nn=J.deleteUrl+"?"+(J.idFromIdField?J.idField:"Id")+"="+Cn:Nn=J.url+"?"+(J.idFromIdField?J.idField:"Id")+"="+Cn,N("newData",{data:V.value}),Cn&&!J.devDelete&&window.axios({url:Nn,method:"delete"}).then(Hn=>{Hn.status===200?notifySuccess("Шаблон удалён."):notifyError$1("При удалении шаблона что-то пошло не так!")})});let $n=!1;function Ln(){if(_t.value&&J.idField in _t.value&&J.modelValue!==_t.value[J.idField]&&J?.modelValue&&!$n)if(J?.url){$n=!0;let Cn=J.url;window.axios({url:Cn+"?"+(J.idFromIdField?J.idField:"Id")+"="+J.modelValue,method:"get"}).then(wn=>{J.devMode&&console.log(`RequestingSelect load on mounted response:
1300
- `,wn);let Nn;if(J?.targetField?J.targetField==="object"?Nn=[wn.data]:Nn=wn.data[J.targetField]:Nn=wn.data,Nn?.length){let Hn=J.idFromIdField?J.idField:"Id",ar=Nn.find(vr=>vr[Hn]==J.modelValue);V.value.push(ar),_t.value=ar,Dt.value=ar&&Hn in ar?ar[Hn]:null,N("newData",{data:V.value}),N("onSelect",{data:_t.value,list:M.value,filteredList:V.value})}$n=!1})}else Jt(J.modelValue);else Pt&&J.preload&&(Pt=!1,br())}function br(){if(J?.url){V.value=[],M.value=[];for(let Cn of Lt.value)fn(J.url+Cn)}else V.value=[],M.value=[],J.apiString.get().then(Cn=>{At="withoutString",yn(Cn,"","withoutString",!0)})}return vue.onMounted(Ln),vue.onUpdated(Ln),(Cn,wn)=>(vue.openBlock(),vue.createBlock(_sfc_main$O,{modelValue:Dt.value,"onUpdate:modelValue":wn[0]||(wn[0]=Nn=>Dt.value=Nn),"display-expr":J.displayExpr,data:V.value,searchable:"",onInput:sn,label:J.label,onSelect:tr,onClear:dn,"no-filtering":"","id-field":J.idField,limit:200},{option:vue.withCtx(({item:Nn})=>[vue.renderSlot(Cn.$slots,"option",{item:Nn})]),_:3},8,["modelValue","display-expr","data","label","id-field"]))}},_sfc_main$K={__name:"NewMkbSelectBox",props:{mkbId:{type:[String,null]},label:{type:String,default:"Диагноз"},readOnly:{type:Boolean},isValidated:{type:Boolean,default:!1},mkbCode:{type:String,default:""},filterCodes:{type:Array,default:()=>[]},OMC:{type:Boolean,default:null}},emits:["getMKBId","getMKBItem","validate"],setup(e,{emit:I}){const N=I,J=e;vue.watch(()=>J.OMC,()=>{M.value={Id:""},N("getMKBId",{choosedMKB:null}),N("getMKBItem",{choosedMKB:null})}),vue.ref([]);const V=vue.ref(!1),M=vue.ref({Id:""}),vt=vue.ref(""),_t=vue.computed(()=>({_mkb_oplata_param_:J.OMC===null?null:String(!!J.OMC),_mkb_codes_param_:J.filterCodes?.length?J.filterCodes.join(","):null}));function Et({data:Pt}){vt.value="",Pt?.Id?(N("getMKBId",{choosedMKB:Pt.Id}),N("getMKBItem",{choosedMKB:Pt})):(M.value={Id:""},N("getMKBId",{choosedMKB:null}),N("getMKBItem",{choosedMKB:null}))}function Dt(Pt,Ot,Rt){return Pt.Code.indexOf(".")!==-1||Ot.filter(Ut=>Ut.Code.startsWith(Pt.Code)).length===1&&(At(Rt[0])&&Rt.length>2||!At(Rt[0])&&Rt.length>1)}function At(Pt){return new RegExp("^\\p{L}$","u").test(Pt)}return vue.watch(()=>J.mkbCode,()=>{J.mkbCode||(M.value={Id:""},Et({data:M.value}))}),vue.watch(()=>J.mkbId,(Pt,Ot)=>{Pt?Ot!==Pt&&(M.value={Id:Pt}):(M.value={Id:""},Et({data:M.value}))},{immediate:!0}),vue.watch(()=>M.value,()=>{J.isValidated&&(M.value?.Id?(N("validate",{isValid:!0}),N("getMKBItem",{choosedMKB:M.value}),V.value=!0):(N("validate",{isValid:!1}),N("getMKBId",{choosedMKB:""}),V.value=!1))}),(Pt,Ot)=>(vue.openBlock(),vue.createBlock(_sfc_main$L,{disabled:J.readOnly,modelValue:M.value.Id,"onUpdate:modelValue":Ot[0]||(Ot[0]=Rt=>M.value.Id=Rt),"display-expr":Rt=>"("+Rt.Code+") "+Rt.Name,"api-string":vue.unref(api$1).Mkb,"api-id":vue.unref(api$1).MkbById,label:J.label,"get-first-from-string":J.mkbCode,"result-filter":Dt,params:_t.value,onOnSelect:Et,clearable:""},null,8,["disabled","modelValue","display-expr","api-string","api-id","label","get-first-from-string","params"]))}},_sfc_main$J={__name:"FilterInput",props:{type:{type:String,required:!0},modelValue:{required:!0},name:{type:String,required:!0},list:{type:[Array,null],default:null},display:{type:[Function,null],default:null},style:{type:Object,default:()=>({})},idField:{type:String,default:null},mask:{type:String,default:null},placeholder:{type:String,default:null}},emits:["update:modelValue"],setup(e,{emit:I}){const N=I,J=e,V=vue.ref(null);vue.watch(()=>J.modelValue,()=>{V.value=J.modelValue},{immediate:!0});const M=vue.computed(()=>{let vt={label:J.name};return J.type==="select"&&(vt.data=J.list,vt.searchable=!0,vt.clearable=!0,J.idField&&(vt.idField=J.idField),J.display&&(vt.displayExpr=J.display),J.placeholder&&(vt.placeholder=J.placeholder)),J.type==="text"&&(vt.mask=J.mask),vt});return vue.watch(V,()=>{V.value!==J.modelValue&&N("update:modelValue",V.value)}),(vt,_t)=>(vue.openBlock(),vue.createElementBlock("div",null,[J.type==="text"?(vue.openBlock(),vue.createElementBlock("div",{key:0,style:vue.normalizeStyle(J.style)},[vue.createVNode(vue.unref(AA),vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[0]||(_t[0]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="checkbox"?(vue.openBlock(),vue.createElementBlock("div",{key:1,style:vue.normalizeStyle(J.style)},[vue.createVNode(vue.unref(Zc),vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[1]||(_t[1]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="select"?(vue.openBlock(),vue.createElementBlock("div",{key:2,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$O,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[2]||(_t[2]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="mkb"?(vue.openBlock(),vue.createElementBlock("div",{key:3,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$K,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[3]||(_t[3]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="employee"?(vue.openBlock(),vue.createElementBlock("div",{key:4,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$N,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[4]||(_t[4]=Et=>V.value=Et)},M.value,{"other-lpu":"","lpu-id":"9d1790e4-965e-46d3-878f-c8c5ce7ae8c6"}),null,16,["modelValue"])],4)):J.type==="date"?(vue.openBlock(),vue.createElementBlock("div",{key:5,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$P,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[5]||(_t[5]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):vue.createCommentVNode("",!0)]))}};var Mode$1=(e=>(e[e.DELAY=0]="DELAY",e[e.INTERVAL=1]="INTERVAL",e[e.INTERVAL_BLOCK=2]="INTERVAL_BLOCK",e))(Mode$1||{});let ActionLimiter$1=(AD=class{constructor(I,N,J){this.action=I,this.milliseconds=N,this.mode=J,this.currentTimerId=null,this.needRepeat=null,this.init()}init(){switch(this.mode){case 0:this.repeat=()=>{console.warn(this.mode+" mode has no repeat function!")},this.start=I=>{this.currentTimerId===null?this.currentTimerId=Number(setTimeout(()=>this.action(I),this.milliseconds)):(clearTimeout(this.currentTimerId),this.currentTimerId=Number(setTimeout(()=>this.action(I),this.milliseconds)))};break;case 1:this.repeat=()=>{this.needRepeat?(this.action(),this.needRepeat=!1,this.currentTimerId=Number(setTimeout(this.repeat,this.milliseconds))):this.needRepeat=null},this.start=()=>{this.needRepeat===null?(this.needRepeat=!0,this.repeat()):this.needRepeat===!1&&(this.needRepeat=!0)};break;case 2:this.repeat=()=>{console.warn(this.mode+" mode has no repeat function!")},this.start=()=>{this.currentTimerId===null&&(this.action(),this.currentTimerId=Number(setTimeout(()=>{this.currentTimerId=null},this.milliseconds)))};break;default:console.error("internal error! invalid mode for ActionLimiter!")}}stop(){clearTimeout(this.currentTimerId),this.currentTimerId=null}},AD.MODE=Mode$1,AD);const _sfc_main$I={__name:"FilterPanel",props:{filterList:{type:Array,required:!0}},emits:["search","update:modelValue"],setup(e,{emit:I}){const N=I,J=e,V=vue.ref({});for(let At of J.filterList)At?.default&&(V.value[At.accessor]=At.default);const M=vue.computed(()=>{let At={};for(let Pt of J.filterList??[])Pt?.relation?At[Pt.accessor]=Pt.relation({filters:J.filterList,values:V.value}):At[Pt.accessor]=Pt?.list??null;return At}),vt=new ActionLimiter$1(Dt,500,ActionLimiter$1.MODE.DELAY);function _t(){vt.start()}function Et(){V.value={}}function Dt(){N("search",{filters:V.value})}return vue.watch(V,At=>{N("update:modelValue",At)},{deep:!0}),(At,Pt)=>(vue.openBlock(),vue.createElementBlock("form",{class:"flex flex-wrap gap-x-2 gap-y-0.5 items-end",onSubmit:vue.withModifiers(_t,["prevent"])},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(J.filterList,Ot=>(vue.openBlock(),vue.createBlock(_sfc_main$J,{key:Ot,modelValue:V.value[Ot.accessor],"onUpdate:modelValue":Rt=>V.value[Ot.accessor]=Rt,type:Ot.type,display:Ot?.display??null,name:Ot.name,list:M.value[Ot.accessor],style:vue.normalizeStyle(Ot?.style??null),"id-field":Ot?.idField??null,mask:Ot?.mask??null,placeholder:Ot?.placeholder??null},null,8,["modelValue","onUpdate:modelValue","type","display","name","list","style","id-field","mask","placeholder"]))),128)),vue.createVNode(vue.unref(_2),{label:"Найти",type:"submit",primary:"","prepend-icon":"search"}),vue.createVNode(vue.unref(_2),{label:"Сбросить фильтры",onClick:Et,delete:"",secondary:"","prepend-icon":"xmark"})],32))}};function validateResponse(e,I,N){getRefbookRequest(e).then(J=>{if(J.status!==200)N(new Error("Ответ со статусом "+J.data.Status));else if(J?.data?.Status==="Error")console.error("------------===Ошибка загрузки справочника===------------"),console.error(J),console.error("------------=================================------------"),N(new Error(J.data.Comment));else{let V=J.data;"target"in e&&(V=V[e.target]),!V?.length&&V?.length!==0?(console.error(J),N(new Error("Ошибка загрузки справочника!"))):I(V)}})}function getRefbookRequest(e){const I=e?.address?e.address:window.localhost;return"params"in e?window.axios.get(I+e.url,{params:e.params}):window.axios.get(I+e.url)}function RefbookPromiseHandler(e,I,N){validateResponse(e,I,N)}const RefbookProxyHandler={get(e,I){if(I===void 0||I==="__v_isRef")return;const N=e[I];if(!N)throw new Error('Справочника "'+I+'" не существует!');return N?.value?Promise.resolve(N.value):new Promise((J,V)=>RefbookPromiseHandler(N,J,V))},set(){throw new Error("Невозможно изменить справочник!")}};function getRefbookPromise(e,I){return new Promise(N=>{e.then(J=>{I?(I(J),N(!0)):N(J)})})}const refbook={BioFactor:{name:"BioFactor",url:"refs/BioFactor",target:"Body"},DiseaseCharacter:{name:"DiseaseCharacter",url:"GetDiseaseCharacters"},DiseaseType:{name:"DiseaseType",url:"GetDiseaseType"},DispTakeForm:{name:"DispTakeForm",url:"DispTakeForm"},Drug:{name:"Drug",url:"refs/Drug",target:"Body"},EmdType:{name:"EmdType",url:"emd/TypeEmd",target:"Body"},OrderType:{name:"OrderType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1009"}},Status:{name:"Status",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1006"}},PayMethod:{name:"PayMethod",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1039"}},TypeVisit:{name:"TypeVisit",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1007"}},VaccinationConclusion:{name:"VaccinationConclusion",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.725"}},ConsultationType:{name:"ConsultationType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.797"}},BenefitType:{name:"BenefitType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.713"}},PostVaccinalComplication:{name:"PostVaccinalComplication",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.960"}},LabMaterialTakeMethod:{name:"LabMaterialTakeMethod",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.1065"}},LabMaterial:{name:"LabMaterial",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.1019"}},BloodComponent:{name:"BloodComponent",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1386"}},RecipeType:{name:"RecipeType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.651"}},BenefitProgram:{name:"BenefitProgram",url:"refs/BenefitProgram",target:"Body"},BenefitMap:{name:"BenefitMap",url:"refs/BenefitMap",target:"Body"},Excipient:{name:"Excipient",url:"refs/Excipient",target:"Body"},Outcome:{name:"Outcome",url:"Ffoms",params:{NsiCode:"V012"}},ReasonVisit:{name:"ReasonVisit",url:"Ffoms",params:{NsiCode:"V025"}},Result:{name:"Result",url:"Ffoms",params:{NsiCode:"V009"}},StageResult:{name:"StageResult",url:"Ffoms",params:{NsiCode:"V009",LinkCode:"3"}},Gender:{name:"Gender",url:"Gender"},HivContingent:{name:"HivContingent",url:"refs/HivContingent",target:"Body"},LabTest:{name:"LabTest",url:"refs/LabTest",target:"Body"},Palliatives:{name:"Palliatives",url:"refs/Palliatives",target:"Body"},Position:{name:"Position",url:"Position"},Region:{name:"Region",url:"Region"},ServiceFactType:{name:"ServiceFactType",url:"refs/UslFactType",target:"Body"},ServiceFactTypeGroup:{name:"ServiceFactTypeGroup",url:"refs/UslFactTypeGroup",target:"Body"},ServicePlace:{name:"ServicePlace",url:"GetServicePlaces"},SocialStatus:{name:"SocialStatus",url:"getsocstatus"},Speciality:{name:"Speciality",url:"Speciality"},Uchastok:{name:"Uchastok",url:"Uchastok"},VitalParamTypes:{name:"VitalParamTypes",url:"Reference/VitalParamTypes"},PmoType:{name:"PmoType",url:"PmoType"},HealthGroup:{name:"HealthGroup",url:"HealthGroup"}},exportRefbook=new Proxy(refbook,RefbookProxyHandler),BenefitProgram=(e=null)=>getRefbookPromise(exportRefbook.BenefitProgram,e),BenefitMap=(e=null)=>getRefbookPromise(exportRefbook.BenefitMap,e),useBenefit=()=>{async function e(N){let J=await window.axios.get(window.localhost+"patient/Benefit_v2",{params:N});return J.data.Body=J.data.Body.filter((V,M,vt)=>M===vt.findIndex(_t=>_t.PatientBenefitId===V.PatientBenefitId)),J.data.Body=J.data.Body.sort((V,M)=>new Date(M.LogDateTime)-new Date(V.LogDateTime)),J.data.Body}async function I(N,J=!0){let V=await api$1.PatientBenefit.get(N);if(V.data.Body=V.data.Body.filter((M,vt,_t)=>vt===_t.findIndex(Et=>Et.PatientBenefitId===M.PatientBenefitId)),V.data.Body=V.data.Body.sort((M,vt)=>new Date(vt.LogDateTime)-new Date(M.LogDateTime)),J){const M=V.data.Body.reduce((vt,_t)=>{const Et=`${_t.Snils}-${_t.BenefitCodeShort}`;return vt[Et]||(vt[Et]=_t),vt},{});return Object.values(M)}return V.data.Body}return{getBenefitListV2:e,getBenefitList:I}},listStateActionCopy={CHANGE_LP:{state:"change_lp",label:"Редактирование ЛП в потребности"},CHANGE_COPY:{state:"change_copy",label:"Редактирование потребности"},BLOCK_CHANGE_LP:{state:"block_change_lp",label:"Блокировка редактирования поля ЛП"}},_hoisted_1$z={class:"preparat-tooltip-wrapper"},_sfc_main$H={__name:"MkbSelectLite",props:{modelValue:{type:[String,null],default:null},listDiagnosis:{type:Array,required:!0},label:{type:String,default:"Диагноз"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","select"],setup(e,{emit:I}){const N=e,J=I,V=vue.ref(N.modelValue),M=vue.ref(""),vt=vue.ref(""),_t=vue.computed(()=>{if(!N.listDiagnosis?.length)return[];if(!M.value)return N.listDiagnosis;const At=M.value.toLowerCase().trim(),Pt=swapKeyboardLayout(At,!1);return N.listDiagnosis.filter(Rt=>{const Ut=(Rt.Code||"").toLowerCase(),Lt=(Rt.Name||"").toLowerCase(),Ht=Ut.includes(At)||Lt.includes(At),jt=Ut.includes(Pt)||Lt.includes(Pt);return Ht||jt})});function Et(At){M.value=At||""}function Dt(At){return At?`(${At.Code}) ${At.Name}`:""}return vue.watch(V,At=>{if(J("update:modelValue",At),At){const Pt=N.listDiagnosis.find(Ot=>Ot.Id===At);Pt&&(vt.value=`${Pt.Code} ${Pt.Name}`,J("select",Pt))}else vt.value=""}),vue.watch(()=>N.modelValue,At=>{V.value=At}),(At,Pt)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createVNode(vue.unref($s),{text:vt.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$O,{modelValue:V.value,"onUpdate:modelValue":Pt[0]||(Pt[0]=Ot=>V.value=Ot),data:_t.value,"onUpdate:data":Pt[1]||(Pt[1]=Ot=>_t.value=Ot),label:e.label,disabled:e.disabled,required:e.required,clearable:e.clearable,limit:1e3,"display-expr":Dt,onInput:Et,placeholder:"Поиск заболевания..."},null,8,["modelValue","data","label","disabled","required","clearable"])]),_:1},8,["text"])]))}},_sfc_main$G={__name:"SDateInput",props:vue.mergeModels({withHours:{type:Boolean,default:!1},min:{type:Date,default:null},max:{type:Date,default:null}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const I=vue.useModel(e,"modelValue"),N=e;function J(M){return N.min&&hooks(N.min).format("YYYY-MM-DD HH:mm")>=hooks(M).format("YYYY-MM-DD HH:mm")?hooks(N.min).add(1,"minutes").format("YYYY-MM-DD HH:mm"):hooks(M).format("YYYY-MM-DD HH:mm")}function V(M){return M?N.withHours?J(M):M:null}return(M,vt)=>(vue.openBlock(),vue.createBlock(vue.unref(jc),{format:"",min:e.min,max:e.max,withHours:e.withHours,label:"Дата","model-value":I.value,"onUpdate:modelValue":vt[0]||(vt[0]=_t=>I.value=V(_t))},null,8,["min","max","withHours","model-value"]))}},_hoisted_1$y={class:"flex justify-between items-center"},_hoisted_2$s={key:0},_hoisted_3$n={key:1,class:"text-gray-600"},_hoisted_4$l={key:0},_hoisted_5$j={class:"text-sm text-gray-600"},_sfc_main$F={__name:"ReSimpleOption",props:{item:{type:Object,required:!0},label:{type:[String,null],default:null},labelLow:{type:[String,null],default:null},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["select"],setup(e,{emit:I}){const N=I,J=e;return(V,M)=>(vue.openBlock(),vue.createElementBlock("div",{onClick:M[0]||(M[0]=vue.withModifiers(vt=>J.disabled?null:N("select",J.item),["stop"])),class:vue.normalizeClass([{selected:J.selected,disabled:J.disabled},"px-2 py-1.5 hover:bg-slate-100 cursor-pointer"])},[vue.createElementVNode("div",_hoisted_1$y,[J.label?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$s,vue.toDisplayString(J.label),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$n,"Нет имени")),J.selected?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:2,name:"check",class:"text-slate-400"})):vue.createCommentVNode("",!0)]),J.labelLow?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$l,[vue.createElementVNode("p",_hoisted_5$j,vue.toDisplayString(J.labelLow),1)])):vue.createCommentVNode("",!0)],2))}},ReSimpleOption=_export_sfc(_sfc_main$F,[["__scopeId","data-v-6a702340"]]),_hoisted_1$x={class:"text-sm font-medium text-nowrap"},_hoisted_2$r={key:0,class:"text-red-100"},_hoisted_3$m={key:0,class:"text-xs text-black-35 mb-1 cursor-text"},_hoisted_4$k=["readonly","placeholder","required"],_sfc_main$E={__name:"ReSimpleSelect",props:vue.mergeModels({isLoading:{type:Boolean,default:!1},label:{type:String,default:"Выберите из списка"},data:{type:Array,default:()=>[]},placeholder:{type:String,default:"Нажмите для выбора..."},idField:{type:String,default:"Id"},displayExpr:{type:[String,Function,Array],default:"Name"},displayExprLow:{type:[String,Function,Array,null],default:null},required:{type:Boolean,default:!1},maxOptionCount:{type:Number,default:50},listOptionHeightPx:{type:Number,default:400},maxOptionHistoryLength:{type:Number,default:10},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},noLocalFiltering:{type:Boolean,default:!1},devMode:{type:Boolean,default:!1},variant:{type:String,default:"default"},optionDisabled:{type:[Function,null],default:null},customNoOptionText:{type:[String,null],default:null},description:{type:[String,null],default:null},searchByLowField:{type:Boolean,default:!1},compact:{type:Boolean,default:!0}},{modelValue:{type:[String,null],default:null,local:!0},modelModifiers:{}}),emits:vue.mergeModels(["input","onSelectObject","clear"],["update:modelValue"]),setup(e,{emit:I}){const N=I,J=e,V=vue.useModel(e,"modelValue"),M=vue.ref(null),vt=vue.ref(!1),_t=vue.ref(!1),Et=vue.ref(),Dt=vue.ref(null),At=new ActionLimiter$1(_n,500,ActionLimiter$1.MODE.DELAY),Pt=vue.ref([]),Ot=vue.ref({left:0,width:0});vue.watch(_t,()=>{_t.value||Lt()},{immediate:!0}),vue.watch(V,()=>{Lt()},{immediate:!0}),vue.watch(()=>J.data,()=>{V.value&&!_t.value&&(J.data.find(dn=>dn[J.idField]===V.value)?(Et.value=Ht(J.data.find(dn=>dn[J.idField]===V.value)),M.value=J.data.find(dn=>dn[J.idField]===V.value)):Pt.value.find(dn=>dn[J.idField]===V.value)&&(Et.value=Ht(Pt.value.find(dn=>dn[J.idField]===V.value)),M.value=Pt.value.find(dn=>dn[J.idField]===V.value)))},{immediate:!0});const Rt=vue.computed(()=>{let dn=JSON.parse(JSON.stringify(J.data));return _t.value&&!J.noLocalFiltering&&Et.value&&(dn=dn.filter(sn=>{let fn=Ht(sn);if(J.searchByLowField){const pn=jt(sn);fn+=" "+pn}return fn&&sn&&Et.value?fn.toLowerCase().includes(Et.value.toLowerCase()):!1})),V.value&&V.value!=window.nullGuid&&!_t.value&&(dn.find(sn=>sn[J.idField]===V.value)?dn=dn.sort((sn,fn)=>sn[J.idField]===V.value?-1:fn[J.idField]===V.value?1:0):(M.value&&(dn=[M.value,...dn]),dn.findIndex(sn=>sn[J.idField]===V.value)===-1&&(J.customNoOptionText?notifyError$1(`${J.customNoOptionText} ● ${J.idField}=${V.value}`):notifyError$1(`Не удалось найти опцию с ${J.idField}=${V.value}`)))),dn=dn.splice(0,J.maxOptionCount),dn});function Ut(){if(Dt.value){const dn=Dt.value.getBoundingClientRect();Ot.value.left=dn.left,Ot.value.width=dn.width}}function Lt(){if(!V.value){Et.value=null,M.value=null,N("clear");return}const dn=J.data.find(sn=>sn[J.idField]===V.value)||Pt.value.find(sn=>sn[J.idField]===V.value)||M.value;dn?(Et.value=Ht(dn),M.value=dn):(Et.value="Нет в списке",M.value=null)}function Ht(dn,sn=J.displayExpr){if(typeof sn=="function")return String(sn(dn));if(typeof sn=="string")return String(dn?.[sn]);if(Array.isArray(sn)){let fn="";for(let pn=0;pn<sn.length;pn++){if(!dn?.[sn[pn]]&&!sn[pn].startsWith("*")){J.devMode&&console.error(`Cant find ${sn[pn]} in record with ${J.idField} = ${dn[J.idField]}`);continue}if(sn[pn].startsWith("*")){const mr=sn[pn].slice(1);fn+=String(mr)}else fn+=String(dn?.[sn[pn]]);pn<sn.length-1&&(fn+=" ")}return fn}return null}function jt(dn){return Ht(dn,J.displayExprLow)}function Kt(dn){if(M.value=dn||null,dn[J.idField]===V.value&&J.clearable){rn();return}vt.value=!1,V.value=dn[J.idField],Et.value=Ht(dn),Pt.value.push(dn),N("onSelectObject",dn),Pt.value.length>J.maxOptionHistoryLength&&(Pt.value=Pt.value.slice(1,Pt.value.length))}function Zt(){J.disabled||(vt.value=!vt.value,Ut())}function mn(dn){Dt.value&&!Dt.value.contains(dn.target)&&(vt.value=!1)}vue.onMounted(()=>{document.addEventListener("click",mn),window.addEventListener("resize",Ut)}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",mn),window.removeEventListener("resize",Ut)});function cn(){_t.value=!0,vt.value=!0,Ut(),At.start()}function yn(){_t.value&&!Et.value?.length&&J.clearable&&rn(),setTimeout(()=>{_t.value=!1},200)}function rn(){V.value=null,Et.value=null,N("onSelectObject",null),N("clear")}function _n(){N("input",Et.value||"")}return(dn,sn)=>{const fn=vue.resolveComponent("PerfectScrollbar");return vue.openBlock(),vue.createBlock(vue.unref(kt),{shown:vt.value,triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createVNode(fn,{class:"max-h-96 min-w-[350px]",style:vue.normalizeStyle({width:Ot.value.width+"px"})},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Rt.value,pn=>(vue.openBlock(),vue.createBlock(ReSimpleOption,{onSelect:mr=>Kt(pn),item:pn,selected:pn[J.idField]===V.value,key:pn[J.idField],label:Ht(pn),labelLow:jt(pn),disabled:typeof J.optionDisabled=="function"?J.optionDisabled(pn):!1},null,8,["onSelect","item","selected","label","labelLow","disabled"]))),128)),Rt.value.length===0?(vue.openBlock(),vue.createBlock(ReSimpleOption,{key:0,disabled:"",label:"Нет данных"})):vue.createCommentVNode("",!0)]),_:1},8,["style"])]),default:vue.withCtx(()=>[vue.createElementVNode("div",{ref_key:"dropdown",ref:Dt,onClick:vue.withModifiers(Zt,["prevent"]),class:"relative"},[vue.createElementVNode("label",{class:vue.normalizeClass({"flex flex-row gap-2 items-center":J.variant=="left-label"})},[vue.createElementVNode("p",_hoisted_1$x,[vue.createTextVNode(vue.toDisplayString(J.label)+" ",1),J.required&&!V.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$r,"*")):vue.createCommentVNode("",!0)]),J.description?(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$m,vue.toDisplayString(J.description),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["flex justify-between items-center border px-1 rounded border-slate-200 bg-white",{"bg-gray-100":J.disabled,"w-full":J.variant=="left-label","h-8":J.compact}])},[vue.withDirectives(vue.createElementVNode("input",{class:"border-none bg-transparent w-full text-sm focus:ring-0",readonly:J.disabled,onInput:cn,onBlur:yn,placeholder:J.placeholder,type:"text","onUpdate:modelValue":sn[0]||(sn[0]=pn=>Et.value=pn),required:J.required},null,40,_hoisted_4$k),[[vue.vModelText,Et.value]]),J.isLoading?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:J.isLoading,name:"spinner",class:"px-1 text-gray-300 animate-spin"})):vue.createCommentVNode("",!0),V.value&&J.clearable&&!J.disabled?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:1,name:"xmark",class:"px-1 text-gray-300 hover:text-gray-600",onClickOnce:rn})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Z1),{onClick:sn[1]||(sn[1]=()=>console.log(123)),name:"chevron-down",style:vue.normalizeStyle({color:J.disabled?"gray":"rgb(108, 139, 201)"}),class:"px-1 hover:bg-slate-100 rounded-full cursor-pointer py-1"},null,8,["style"])],2)],2)],512)]),_:1},8,["shown"])}}},_hoisted_1$w={class:"border p-2 rounded"},_hoisted_2$q={class:"grid grid-cols-2 gap-1"},_hoisted_3$l={class:"border p-2 rounded"},_hoisted_4$j={class:"grid grid-cols-2 gap-1"},_hoisted_5$i={class:"flex gap-3"},_hoisted_6$i={class:"w-[50%] preparat-tooltip-wrapper"},_hoisted_7$h={class:"w-[50%] preparat-tooltip-wrapper"},_hoisted_8$f={class:"flex gap-2 w-full border p-2 rounded-lg"},_hoisted_9$d={class:"preparat-tooltip-wrapper"},_hoisted_10$c={key:0,class:"text-xs text-amber-600 cursor-help border-b border-dashed border-amber-300",title:"При копировании потребности можно заменить препарат на другой только с таким же МНН"},_hoisted_11$b={key:2,class:"flex flex-col gap-1"},_hoisted_12$a={class:"text-sm border rounded px-3 py-1 bg-gray-100 text-gray-800 text-balance"},_hoisted_13$9={class:"flex gap-3"},_hoisted_14$7={class:"preparat-tooltip-wrapper"},_hoisted_15$6={class:"flex gap-3"},_sfc_main$D={__name:"ApplicationFormFields",props:{formData:{type:Object,required:!0},readOnly:{type:Boolean,default:!1},user:{type:Object,required:!0},listDivision:{type:Array,default:()=>[]},selectListLgots:{type:Array,default:()=>[]},api_listProgramms:{type:Array,default:()=>[]},listPreparatsFiltered:{type:Array,default:()=>[]},listDiagnosis:{type:Array,default:()=>[]},selectedPreparatSign:{type:Boolean,default:!1},isNewNeed:{type:Boolean,default:!0},isMkbDisabled:{type:Boolean,default:!1},VKtrue:{type:Boolean,default:!1},isViewSignPreparat:{type:[Boolean,null],default:null},attributesPreparatTemplate:{type:Array,default:()=>[]},preparatDisplayExpr:{type:Function,default:()=>{}},preparatDisplayExprLow:{type:Function,default:()=>{}},labelLgota:{type:String,default:"Льгота"},nameActionCopyNeed:{type:Object,default:null}},emits:["removeLeadingZero","update:isViewSignPreparat"],setup(e,{expose:I,emit:N}){const J=e,V=N,M=vue.ref(null),vt=vue.computed(()=>J.listPreparatsFiltered?.filter(Ot=>J.isViewSignPreparat===null?!0:Ot.Sign===J.isViewSignPreparat)||[]),_t=vue.ref(""),Et=vue.ref(""),Dt=vue.ref(""),At=vue.ref("");vue.watch(()=>J.formData?.Mkb10Id,Ot=>{if(!J.listDiagnosis?.length||!Ot){At.value="";return}const Rt=J.listDiagnosis.find(Ut=>Ut.Id===Ot);At.value=Rt?`${Rt.Code} ${Rt.Name}`:""},{immediate:!0}),vue.watch(()=>J.formData?.LgotaId,Ot=>{if(!J.selectListLgots?.length||!Ot){_t.value="";return}const Rt=J.selectListLgots.find(Ut=>Ut.Id===Ot);_t.value=Rt?`(${Rt.BenefitCodeShort}) ${Rt.BenefitNameLong}`:""},{immediate:!0}),vue.watch(()=>J.formData?.ProgramId,Ot=>{if(!J.api_listProgramms?.length||!Ot){Et.value="";return}const Rt=J.api_listProgramms.find(Ut=>Ut.Id===Ot);Et.value=Rt?`(${Rt.Name})`:""},{immediate:!0}),vue.watch(()=>J.formData?.TemplatePreparatId,Ot=>{if(!vt.value?.length||!Ot){Dt.value="";return}const Rt=J.preparatDisplayExpr(vt.value.find(Ut=>Ut.Id===Ot));Dt.value=Rt?`(${Rt})`:""},{immediate:!0});function Pt(Ot){V("removeLeadingZero",Ot)}return I({formRef:M,reportValidity:()=>M.value?.reportValidity()}),(Ot,Rt)=>(vue.openBlock(),vue.createElementBlock("fieldset",null,[vue.createElementVNode("form",{ref_key:"formRef",ref:M,class:"flex flex-col gap-1"},[e.user.LpuId=="e41d5246-7a49-4b5a-a306-00ef5125d3d8"?(vue.openBlock(),vue.createBlock(vue.unref(Zc),{key:0,label:"Дополнительная заявочная кампания",modelValue:e.formData.Additional,"onUpdate:modelValue":Rt[0]||(Rt[0]=Ut=>e.formData.Additional=Ut)},null,8,["modelValue"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$G,{label:"Дата заявки",modelValue:e.formData.DateNeed,"onUpdate:modelValue":Rt[1]||(Rt[1]=Ut=>e.formData.DateNeed=Ut),disabled:""},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_1$w,[Rt[19]||(Rt[19]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"ВК",-1)),Rt[20]||(Rt[20]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_2$q,[vue.createVNode(vue.unref(AA),{label:"Номер ВК",modelValue:e.formData.NumberVK,"onUpdate:modelValue":Rt[2]||(Rt[2]=Ut=>e.formData.NumberVK=Ut),mask:"00000000000",tokens:"0:\\d:optional",required:!e.selectedPreparatSign,disabled:e.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$G,{label:"Дата ВК",modelValue:e.formData.DateVK,"onUpdate:modelValue":Rt[3]||(Rt[3]=Ut=>e.formData.DateVK=Ut),required:!e.selectedPreparatSign,disabled:e.readOnly},null,8,["modelValue","required","disabled"])])]),vue.createElementVNode("div",_hoisted_3$l,[Rt[21]||(Rt[21]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"НПР",-1)),Rt[22]||(Rt[22]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_4$j,[vue.createVNode(vue.unref(AA),{label:"Номер НПР",modelValue:e.formData.NprNumber,"onUpdate:modelValue":Rt[4]||(Rt[4]=Ut=>e.formData.NprNumber=Ut),mask:"00000000000",tokens:"0:\\d:optional",required:!!e.formData.NprDate,disabled:e.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$G,{label:"Дата НПР",modelValue:e.formData.NprDate,"onUpdate:modelValue":Rt[5]||(Rt[5]=Ut=>e.formData.NprDate=Ut),required:!!e.formData.NprNumber,disabled:e.readOnly},null,8,["modelValue","required","disabled"])])]),vue.unref(lpusWithDivision).includes(e.user.LpuId)?(vue.openBlock(),vue.createBlock(_sfc_main$O,{key:1,data:e.listDivision,label:"Отделение",modelValue:e.formData.DivisionId,"onUpdate:modelValue":Rt[6]||(Rt[6]=Ut=>e.formData.DivisionId=Ut),required:"",clearable:"",disabled:e.readOnly},null,8,["data","modelValue","disabled"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$i,[vue.createElementVNode("div",_hoisted_6$i,[vue.createVNode(vue.unref($s),{text:_t.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$O,{ref:"fieldLgota",label:e.labelLgota,modelValue:e.formData.LgotaId,"onUpdate:modelValue":Rt[7]||(Rt[7]=Ut=>e.formData.LgotaId=Ut),data:e.selectListLgots,"display-expr":Ut=>"("+Ut.BenefitCodeShort+") "+Ut.BenefitNameLong,required:"",clearable:"",disabled:!e.isNewNeed||e.readOnly},null,8,["label","modelValue","data","display-expr","disabled"])]),_:1},8,["text"])]),vue.createElementVNode("div",_hoisted_7$h,[vue.createVNode(vue.unref($s),{text:Et.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$O,{required:"",label:"Программа",modelValue:e.formData.ProgramId,"onUpdate:modelValue":Rt[8]||(Rt[8]=Ut=>e.formData.ProgramId=Ut),data:e.api_listProgramms,disabled:""},null,8,["modelValue","data"])]),_:1},8,["text"])])]),vue.createElementVNode("div",_hoisted_8$f,[vue.createVNode(vue.unref(_v1),{label:"Выбор признака ЛП при поиске в поле [Препарат]","model-value":e.isViewSignPreparat,"onUpdate:modelValue":Rt[9]||(Rt[9]=Ut=>V("update:isViewSignPreparat",Ut))},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.attributesPreparatTemplate,Ut=>(vue.openBlock(),vue.createBlock(vue.unref(Av1),{value:Ut.value,label:Ut.label,disabled:e.readOnly||e.nameActionCopyNeed?.state},null,8,["value","label","disabled"]))),256))]),_:1},8,["model-value"])]),vue.createElementVNode("div",_hoisted_9$d,[e.nameActionCopyNeed?.state===vue.unref(listStateActionCopy).CHANGE_LP.state?(vue.openBlock(),vue.createElementBlock("span",_hoisted_10$c," 🔄 Возможна замена только по ранее одобренной\\отклоненной МНН ")):vue.createCommentVNode("",!0),vue.createVNode(vue.unref($s),{text:Dt.value,placement:"top"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(_sfc_main$E,{key:vt.value.length,modelValue:e.formData.TemplatePreparatId,"onUpdate:modelValue":Rt[10]||(Rt[10]=Ut=>e.formData.TemplatePreparatId=Ut),data:vt.value,"display-expr":e.preparatDisplayExpr,"display-expr-low":e.preparatDisplayExprLow,searchByLowField:!e.nameActionCopyNeed,disabled:!e.formData.ProgramId||e.readOnly||e.nameActionCopyNeed?.state===vue.unref(listStateActionCopy).BLOCK_CHANGE_LP.state,clearable:!e.nameActionCopyNeed},null,8,["modelValue","data","display-expr","display-expr-low","searchByLowField","disabled","clearable"]))]),_:1},8,["text"])]),e.VKtrue?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$b,[Rt[23]||(Rt[23]=vue.createElementVNode("p",{class:"text-sm font-medium"},"Торговое наименование",-1)),vue.createElementVNode("p",_hoisted_12$a,vue.toDisplayString(vt.value.find(Ut=>Ut.Id==e.formData.TemplatePreparatId)?.TradeName),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_13$9,[vue.createVNode(vue.unref(Zc),{label:"Взаимозаменяемость",modelValue:e.formData.Interchangeability,"onUpdate:modelValue":Rt[11]||(Rt[11]=Ut=>e.formData.Interchangeability=Ut),disabled:e.readOnly},null,8,["modelValue","disabled"]),vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_14$7,[vue.createVNode(vue.unref($s),{text:At.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$H,{label:"Диагноз",modelValue:e.formData.Mkb10Id,"onUpdate:modelValue":Rt[13]||(Rt[13]=Ut=>e.formData.Mkb10Id=Ut),required:"",clearable:"",disabled:e.isMkbDisabled||e.readOnly,"list-diagnosis":e.listDiagnosis},null,8,["modelValue","disabled","list-diagnosis"])]),_:1},8,["text"])]),vue.createVNode(vue.unref(s$),{label:"Примечание",modelValue:e.formData.Comment,"onUpdate:modelValue":Rt[14]||(Rt[14]=Ut=>e.formData.Comment=Ut),readonly:e.readOnly},null,8,["modelValue","readonly"]),vue.createElementVNode("div",_hoisted_15$6,[vue.createVNode(vue.unref(AA),{id:"CountMonth",label:"Кол-во упаковок на 1 месяц",mask:"0",tokens:"0:\\d:multiple",modelValue:e.formData.CountMonth,"onUpdate:modelValue":Rt[15]||(Rt[15]=Ut=>e.formData.CountMonth=Ut),disabled:e.readOnly,required:"",onInput:Rt[16]||(Rt[16]=Ut=>Pt(Ut))},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(AA),{id:"CountYear",label:"Кол-во упаковок на 1 год",mask:"0",tokens:"0:\\d:multiple",modelValue:e.formData.CountYear,"onUpdate:modelValue":Rt[17]||(Rt[17]=Ut=>e.formData.CountYear=Ut),disabled:e.readOnly,required:"",onInput:Rt[18]||(Rt[18]=Ut=>Pt(Ut))},null,8,["modelValue","disabled"])])],512)]))}},_hoisted_1$v={key:0},_hoisted_2$p={class:"p-3"},_hoisted_3$k={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_4$i={class:"flex justify-end gap-3"},_hoisted_5$h={key:1},_hoisted_6$h={class:"pl-1 pr-1 relative"},_hoisted_7$g={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_sfc_main$C={__name:"ApplicationForm",props:vue.mergeModels({noModal:{type:Boolean,default:!1},needId:{type:String,default:""},waitRequest:{type:Boolean,default:!1},patientId:{type:String,default:"",required:!0},patientSnils:{type:String,default:"",required:!0},userOpen:{type:Object,default:{},required:!0},selectedApplication:{type:Object,default:{}},hiddenControl:{type:Boolean,default:!1},additional:{type:Boolean,default:!1},docAppYear:{type:Number,required:!0},api_listBenefits:{type:Array,default:[]},api_listPreparats:{type:Array,default:[]},api_listProgramms:{type:Array,default:[]},api_historyLgots:{type:Array,default:[]},api_activeLgots:{type:Array,default:[]},api_listDiagnosis:{type:Array,default:[]},api_appDocuments:{type:Array,default:[]}},{readOnly:{default:!1},readOnlyModifiers:{},stateActionCopy:{default:null},stateActionCopyModifiers:{},dataNeedCopy:{default:null},dataNeedCopyModifiers:{},modalVisible:{default:!1},modalVisibleModifiers:{},waitRequest:{default:!1},waitRequestModifiers:{}}),emits:vue.mergeModels(["onSave","onDelete"],["update:readOnly","update:stateActionCopy","update:dataNeedCopy","update:modalVisible","update:waitRequest"]),setup(e,{expose:I,emit:N}){const{getBenefitList:J,getBenefitListV2:V}=useBenefit(),M=e,vt=vue.computed(()=>M.userOpen),_t=N,Et=vue.useModel(e,"readOnly"),Dt=vue.useModel(e,"stateActionCopy"),At=vue.useModel(e,"dataNeedCopy"),Pt=vue.useModel(e,"modalVisible"),Ot=vue.useModel(e,"waitRequest"),Rt=vue.ref(M.api_listProgramms),Ut=vue.ref(M.api_listBenefits),Lt=vue.ref(M.api_listPreparats),Ht=vue.ref(M.api_historyLgots),jt=vue.ref(M.api_activeLgots),Kt=vue.ref(M.api_listDiagnosis),Zt=vue.ref(M.api_appDocuments),mn=vue.ref(null),cn=vue.ref(null),yn=vue.ref(!1),rn=vue.ref(M.selectedApplication),_n=vue.ref(M.hiddenControl),dn=vue.ref(M.needId),sn=Object.values(approvedBenefitProgram),fn=vue.ref(!0),pn=vue.ref(!1),mr=vue.ref("Льгота"),dr=vue.computed(()=>!!vt.value.Permissions.find(da=>["0","1","40","41"].includes(da.AccessCode))),tr=vue.ref([]),Jt=vue.ref([]),$n=vue.ref({}),Ln=vue.computed(()=>Jt.value?.find(da=>da.Id===ur.value.TemplatePreparatId)),br=vue.computed(()=>!!Ln.value?.Sign),Cn=vue.ref(null),wn=vue.computed(()=>[{label:"Только ЖВ",value:!0},{label:"Только НЕ ЖВ",value:!1},{label:"Все",value:null}]),Nn=vue.ref(!1),Hn=vue.computed(()=>{if(ur.value?.ProgramId){let da=Jt.value;noSignPrograms.includes(ur.value.ProgramId)&&(da=da.filter(fu=>fu.Sign));let pa=Object.keys(programToPreparat).find(fu=>fu==ur.value.ProgramId);return pa&&(da=da.filter(fu=>fu[programToPreparat[pa]])),da}return[]}),ar=vue.ref([]),vr=vue.ref([]),er=vue.ref([]),rr=vue.ref([]),an=vue.ref(!1),yr=vue.ref(!1),ur=vue.ref({DateNeed:new Date().toLocaleDateString("ru-RU"),Additional:M.additional,Interchangeability:!1});vue.onMounted(()=>{Sr()});const Sr=async()=>{try{if(cf(),await vl(),Et.value)tr.value=rr.value;else{const da=Rt.value?.find(fu=>fu.Id===rn?.value?.Program),pa=da?.BenefitProgramId;if(pa){const fu=er.value?.filter(Qr=>Qr.ProgramId===pa);if(!fu?.length){notifyError$1(`Отсутствует активная льгота по программе ${da.ProgramName}`,15e3,"Нет активных льгот"),tr.value=[];return}tr.value=fu}else tr.value=er.value}lpusWithDivision.includes(vt.value.LpuId)&&rd(),await ro()}catch(da){const pa=da.response?.data?.message||da.message||"Неизвестная ошибка";notifyError$1(`${pa}. Пожалуйста, откройте потребность повторно`,15e3,"Ошибка загрузки данных"),console.error(da)}finally{qo()}};async function qr(){if(ur.value.Id){if(yr.value){notifySuccess("Потребность уже была сохранена. Закройте форму!");return}await No().then(async da=>{ur.value.Id=null,await Pr()}).catch(da=>{da.response.data&&notifyError$1(da.response.data)}).finally(()=>{})}}async function Pr(da=null){if(yr.value=!1,!!cn.value?.reportValidity?.()){if(ur.value.NprNumber||ur.value.NprDate?ur.value.Npr=!0:ur.value.Npr=!1,!ur.value.LgotaId){notifyError$1("Льгота не выбрана");return}if(!ur.value.TemplatePreparatId){notifyError$1("Препарат не выбран");return}if(!br.value&&(!ur.value.NumberVK||!ur.value.DateVK)){notifyError$1("Для выбранного препарата требуется заполнить номер и дату ВК");return}if(ur.value.NprNumber&&!ur.value.NprDate){notifyError$1("Заполните дату НПР для указанного номера НПР");return}if(ur.value.NprDate&&!ur.value.NprNumber){notifyError$1("Заполните номер НПР для указанной даты НПР");return}if(!ur.value.ProgramId){notifyError$1("Программа не выбрана");return}if(lpusWithDivision.includes(vt.value.LpuId)&&!ur.value.DivisionId){notifyError$1("Отделение не выбрано");return}if(pn.value){notifyError$1("Невозможно сохранить потребность при неактивной льготе");return}an.value!=!0&&(cf(),an.value=!0,ur.value.LpuId=vt.value.LpuId,ur.value.EmployeePostId=vt.value.Id,ur.value.PatientId=M.patientId,ur.value.CountMonth=Number(ur.value.CountMonth),ur.value.CountYear=Number(ur.value.CountYear),await window.axios({url:window.localhost+`ApplicationCompany/PatientNeeds?Id=${ur.value.Id??""}${"&AppDocId="+$n.value.Id}`,method:"post",data:ur.value}).then(async pa=>{if(da)return{state:200};ur.value.Id||(ur.value.Id=pa.data.Id),notifySuccess("Сохранено"),_t("onSave"),an.value=!1,yr.value=!0}).catch(pa=>{if(pa.response.data&&notifyError$1(pa.response.data),da)return{state:500};an.value=!1}).finally(()=>{qo()}))}}async function ir(){cf(),await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${ur.value.Id}`).then(async()=>{await ro(),notifySuccess("Удалено"),_t("onDelete"),Pt.value=!1}).catch(da=>{da?.response?.data?.Status?notifyError$1(da.response.data.Status):notifyError$1("Произошла ошибка при удалении")}).finally(()=>qo())}async function No(){return await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${ur.value.Id}`).catch(da=>(da.response.data.Status&&notifyError$1(da.response.data.Status),"error"))}async function Fr(){if(Zt.value?.length===0&&(Zt.value=await window.axios.get(window.localhost+"ApplicationCompany/AppDocuments").then(da=>da.data)),Et.value?$n.value=Zt.value?.filter(da=>da.Name.includes(`${M.docAppYear}`))[0]??[]:$n.value=Zt.value?.filter(da=>!da.Deleted&&da.Name.includes(`${M.docAppYear}`))[0]??[],!$n?.value?.Id){notifyError$1(`Неудалось получить перечень ЛП из шаблона за ${M.docAppYear} год. Пожалуйста, откройте потребность повторно или обратитесь в службу. тех. поддержки!`,15e3,"Ошибка загрузки данных"),Nn.value=!0;return}}async function wr(){Lt.value?.length===0&&(Lt.value=await window.axios.get(window.localhost+`ApplicationCompany/TemplatePreparatList?DocumentId=${$n.value.Id}`).then(pa=>pa.data));const da=Lt?.value?.filter(pa=>pa.AppDocumentId===$n.value.Id);if(!Et.value&&da){const fu=da.filter(Qr=>!Qr.Deleted).filter(Qr=>!Qr.DeletedDate);Jt.value=fu}else Jt.value=da}async function ro(){Ed();let da=null;if(At?.value)da=At.value;else if(M.needId)da=await window.axios.get(window.localhost+`ApplicationCompany/PatientNeeds?Id=${M.needId}`).then(pa=>pa.data[0]);else return;da?.DateNeed&&(da.DateNeed=Dt?.value?new Date().toLocaleDateString("ru-RU"):da.DateNeed),Dt?.value?.state?.includes("change")&&(da.NumberVK=null,da.DateVK=null,da.Npr=!1,da.NprDate=null,da.NprNumber=null),ur.value=da,console.log("formData ",ur.value)}async function Bo(){Rt.value?.length===0&&(Rt.value=await window.axios.get(window.localhost+"PreparatProgram?BaseProgram=true").then(da=>da.data.Body.filter(pa=>pa.BenefitProgramId).map(pa=>({...pa,label:pa.ValidName,Name:pa.ValidName}))))}async function Lr(){try{if(Kt.value?.length===0){const da=await api$1.Mkb.get();Kt.value=da.data}}catch(da){notifyError$1("Ошибка загрузки справочника МКБ. Пожалуйста, откройте потребность повторно",15e3,"Ошибка загрузки данных"),console.error(da)}finally{}}async function ma(){Ht.value?.length===0&&M.patientSnils&&(Ht.value=await J({Snils:M.patientSnils})||null),jt.value?.length===0&&M.patientSnils&&(jt.value=(await V({Snils:M.patientSnils,Monetized:!1,Active:!0,Deleted:!1})).filter(da=>Object.values(sn).includes(da.BenefitProgram))||null),ar.value=Ht.value,vr.value=jt.value}async function ld(){Ut.value?.length===0&&(Ut.value=await window.axios.get(window.localhost+"refs/BenefitMap").then(da=>(da.data?.length?da.data:da.data.Body).map(fu=>({...fu})))),ar.value?.length!==0&&(rr.value=Ut.value?.filter(da=>ar.value.map(pa=>pa.BenefitCodeShort).includes(da.BenefitCodeShort))),vr.value?.length!==0&&(er.value=Ut.value?.filter(da=>vr.value.map(pa=>pa.BenefitCodeShort).includes(da.BenefitCodeShort)))}async function vl(){await Fr(),await wr(),await Lr(),await Bo(),await ma(),await ld()}function Ed(){ur.value={DateNeed:new Date().toLocaleDateString("ru-RU"),Additional:M.additional,Interchangeability:!1}}vue.watch(()=>Cn.value,()=>{ur.value.TemplatePreparatId=null},{deep:!0}),vue.watch(()=>ur.value.LgotaId,async(da,pa)=>{if(da==null){ur.value.Mkb10Id=null,ur.value.ProgramId=null,ur.value.TemplatePreparatId=null,yn.value=!1;return}const Qr=tr.value.find(cd=>cd.Id==ur.value.LgotaId)?.BenefitCodeShort,nu=vr.value.find(cd=>cd.BenefitCodeShort==Qr)?.MkbId;let hl;ur.value.Id?hl=ur.value.Mkb10Id||nu:hl=nu,["Заявка одобрена","Заявка отклонена"].includes(ur.value.ApplicationsStatus)||vr.value.some(ha=>ha.BenefitCodeShort==Qr)||(tr.value=rr.value,hl=ar.value.find(ha=>ha.BenefitCodeShort==Qr)?.MkbId||ur.value.Mkb10Id,mn.value?.$el?.style?.setProperty("background-color","#f9c7c8"),mr.value="Льгота неактивна",pn.value=!0,notifyError$1("Льгота неактивна!",15e3,"ВНИМАНИЕ!"),notifyWarning("Указанная льгота в потребности в данный момент является неактивной! Необходимо принять меры по актуализации потребности(пересоздать) или льготы(восстановить)!",15e3,"Уведомление системы")),ur.value.ProgramId=Rt.value?.find(cd=>cd.BenefitProgramId==tr.value?.find(ha=>ha.Id==ur.value.LgotaId)?.ProgramId)?.Id,hl?(ur.value.Mkb10Id=hl,yn.value=!0):Et.value||(ur.value.Mkb10Id=null,yn.value=!1)},{deep:!0}),vue.watch(()=>ur.value.TemplatePreparatId,(da,pa)=>{if(!da)return;if(Dt?.value?.state===listStateActionCopy.CHANGE_LP.state){const cd=["глюкометр","иглы инсулиновые","инфузионные наборы к инсулиновой помпе","медицинские изделия","резервуар к инсулиновой помпе","Резервуары к инсулиновой помпе","Специализированный продукт лечебного питания","тест для определения содержания глюкозы в крови","тест-полоски","шприц - ручка"],ha=Jt?.value?.find(To=>To.Id===da)?.Mnn?.trim()?.toLowerCase();if(!ha){notifyError$1("Не указан МНН у мед. продукции",15e3,"Ошибка в шаблоне ЛП"),Dt.value=listStateActionCopy.BLOCK_CHANGE_LP,Et.value=!0;return}const Cd=cd.some(To=>ha===To.toLowerCase());if(ha&&!Cd){const To=Jt.value.filter(Ba=>Ba.Mnn?.trim().toLowerCase()===ha);Jt.value=To}else notifyWarning("Изменять по МНН можно только для ЛП",15e3,"Уведомление системы!"),Dt.value=listStateActionCopy.BLOCK_CHANGE_LP}if(!ur.value.ProgramId||!ur.value.TemplatePreparatId)return;const fu=Jt.value?.find(cd=>cd.Id===ur.value.TemplatePreparatId),Qr=Rt.value?.find(cd=>cd.Id===ur.value.ProgramId)?.ProgramName??"Неизвестная программа";let Yo=Hn.value,nu=Yo.some(cd=>cd.Id===ur.value.TemplatePreparatId),hl=(fu?`Неверно выбранный препарат ${fu.Mnn} ${fu.FullName}`:"Не найден препарат в справочнике").trimStart().trimEnd();if(!nu&&Yo?.length>0){const cd=`${hl} для программы ${Qr}`;notifyError$1(cd),Et.value||(notifyWarning("Выберите заново препарат!"),ur.value.TemplatePreparatId=null)}},{deep:!0}),vue.watch(()=>ur.value.Id,da=>{fn.value=!da},{deep:!0});const Ja=vue.computed(()=>ur.value.NumberVK&&ur.value.DateVK);function Tu(da){return da.CodeOKPD2=="1.2.643.5.1.13.13.99.2.1212"&&da.CodeATX=="Лекарственные препараты и специализированные продукты лечебного питания"?da.TradeName:""}function jo(da){const pa=[];return da.Mnn&&pa.push(da.Mnn),da.FullName&&pa.push(da.FullName),da.MaxPriceWithVat&&pa.push(`(Цена: ${da.MaxPriceWithVat??"не указана"})`),da.CountInPackage&&pa.push(`(в уп-ке: ${da.CountInPackage??"не указано"})`),typeof da.Sign=="boolean"&&pa.push(`(${da.Sign?"ЖВ":"Не ЖВ"})`),pa.join(" ")}const Zo=vue.ref([]);async function rd(){Zo.value=await window.axios.get(window.localhost+`Frmo?LpuId=${vt.value.LpuId}&TypeCode=18`).then(da=>da.data)}async function cf(){Ot.value=!0,await vue.nextTick()}function qo(){Ot.value=!1}function Uo(da){const pa=da.target.value;pa.startsWith("0")&&(da.target.value=pa.replace(/^0+/,""),da.target.id==="CountMonth"&&(ur.value.CountMonth=da.target.value),da.target.id==="CountYear"&&(ur.value.CountYear=da.target.value))}return I({save:Pr,loadData:Sr,resetFormData:Ed}),(da,pa)=>e.noModal?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$h,[vue.createElementVNode("div",_hoisted_6$h,[vue.withDirectives(vue.createElementVNode("div",_hoisted_7$g,[...pa[12]||(pa[12]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Загрузка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,Ot.value]]),vue.createVNode(_sfc_main$D,{ref_key:"formRef",ref:cn,formData:ur.value,readOnly:Et.value,user:vt.value,listDivision:Zo.value,selectListLgots:tr.value,api_listProgramms:Rt.value,listPreparatsFiltered:Hn.value,selectedPreparatSign:br.value,isNewNeed:fn.value,isMkbDisabled:yn.value,VKtrue:Ja.value,isViewSignPreparat:Cn.value,"onUpdate:isViewSignPreparat":pa[7]||(pa[7]=fu=>Cn.value=fu),attributesPreparatTemplate:wn.value,preparatDisplayExpr:jo,preparatDisplayExprLow:Tu,labelLgota:mr.value,onRemoveLeadingZero:Uo,nameActionCopyNeed:Dt.value,listDiagnosis:Kt.value},null,8,["formData","readOnly","user","listDivision","selectListLgots","api_listProgramms","listPreparatsFiltered","selectedPreparatSign","isNewNeed","isMkbDisabled","VKtrue","isViewSignPreparat","attributesPreparatTemplate","labelLgota","nameActionCopyNeed","listDiagnosis"])])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$v,[vue.createVNode(vue.unref(Ps),{size:"2xl",title:`${rn.value?.Additional??ur.value.Additional?"Дополнительная":"Основная"} заявка${rn.value?.Number?` № ${rn.value.Number}`:""} на ${e.docAppYear} год ${yr.value?"(Сохранено)":""}`,modelValue:Pt.value,"onUpdate:modelValue":pa[5]||(pa[5]=fu=>Pt.value=fu),onKeydown:pa[6]||(pa[6]=vue.withKeys(fu=>Et.value?fu.preventDefault():null,["tab"]))},{default:vue.withCtx(()=>[Nn.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,onKeydown:pa[0]||(pa[0]=vue.withKeys(vue.withModifiers(()=>{},["prevent"]),["tab"])),tabindex:"0",style:{position:"absolute",inset:"0",background:"rgba(200, 200, 200, 0.5)","z-index":"999","pointer-events":"all"}},null,32)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$p,[vue.withDirectives(vue.createElementVNode("div",_hoisted_3$k,[...pa[8]||(pa[8]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Загрузка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,Ot.value]]),vue.createVNode(_sfc_main$D,{ref_key:"formRef",ref:cn,formData:ur.value,readOnly:Et.value,user:vt.value,listDivision:Zo.value,selectListLgots:tr.value,api_listProgramms:Rt.value,listPreparatsFiltered:Hn.value,selectedPreparatSign:br.value,isNewNeed:fn.value,isMkbDisabled:yn.value,VKtrue:Ja.value,isViewSignPreparat:Cn.value,"onUpdate:isViewSignPreparat":pa[1]||(pa[1]=fu=>Cn.value=fu),attributesPreparatTemplate:wn.value,preparatDisplayExpr:jo,preparatDisplayExprLow:Tu,labelLgota:mr.value,onRemoveLeadingZero:Uo,listDiagnosis:Kt.value},null,8,["formData","readOnly","user","listDivision","selectListLgots","api_listProgramms","listPreparatsFiltered","selectedPreparatSign","isNewNeed","isMkbDisabled","VKtrue","isViewSignPreparat","attributesPreparatTemplate","labelLgota","listDiagnosis"])])]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$i,[dn.value&&!_n.value?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:0,delete:"",onClick:pa[2]||(pa[2]=fu=>ir(dn.value)),disabled:!dr.value||Et.value||Nn.value,loading:Ot.value},{default:vue.withCtx(()=>[...pa[9]||(pa[9]=[vue.createTextVNode("Удалить",-1)])]),_:1},8,["disabled","loading"])):vue.createCommentVNode("",!0),_n.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:1,primary:"",onClick:pa[3]||(pa[3]=fu=>dn.value?qr():Pr()),loading:Ot.value,disabled:Et.value||Nn.value},{default:vue.withCtx(()=>[...pa[10]||(pa[10]=[vue.createTextVNode("Сохранить",-1)])]),_:1},8,["loading","disabled"])),vue.createVNode(vue.unref(_2),{onClick:pa[4]||(pa[4]=fu=>Pt.value=!1)},{default:vue.withCtx(()=>[...pa[11]||(pa[11]=[vue.createTextVNode("Закрыть",-1)])]),_:1})])]),_:1},8,["title","modelValue"])]))}},_hoisted_1$u=["id"],_hoisted_2$o={key:0,class:"flex justify-end mb-1 flex-none"},_hoisted_3$j={class:"min-h-0 overflow-hidden"},_hoisted_4$h={class:"re-table"},_hoisted_5$g={key:0,class:"text-right"},_hoisted_6$g={class:"flex flex-col"},_hoisted_7$f=["onClick"],_hoisted_8$e={class:"flex flex-col gap-0.5 w-[600px]"},_hoisted_9$c={class:"text-sm text-slate-500 text-center"},_hoisted_10$b={open:"",class:"px-1"},_hoisted_11$a={class:"px-1"},_hoisted_12$9={class:"rs-table-btn"},_hoisted_13$8={class:"flex justify-between items-center text-sm text-slate-500 gap-1"},_hoisted_14$6={class:"flex flex-col gap-1"},_hoisted_15$5=["onClick"],_hoisted_16$5={class:"px-1"},_hoisted_17$4=["onClick"],_hoisted_18$4=["onDblclick"],_hoisted_19$4={key:1},_hoisted_20$4=["onContextmenu","onClick"],_hoisted_21$4={key:0,class:"text-right"},_hoisted_22$4=["onClick","title"],_hoisted_23$4={key:0},_hoisted_24$3={key:1},_hoisted_25$3={key:2},_hoisted_26$3=["title"],_hoisted_27$3=["title"],_hoisted_28$3={key:1},_hoisted_29$3=["onClick"],_hoisted_30$3={key:0},_hoisted_31$2={key:0,class:"bg-slate-100 hover:bg-slate-100 cursor-arrow"},_hoisted_32$2={key:0},_hoisted_33$2={key:1},_hoisted_34$2={key:1},_hoisted_35$1={key:0},_hoisted_36$1={class:"mb-3"},_hoisted_37$1={class:"border rounded p-3 bg-gray-50"},_hoisted_38$1=["onDragstart","onDrop"],_hoisted_39$1={class:"flex items-center gap-2"},_hoisted_40$1={class:"text-sm font-medium"},_hoisted_41$1={class:"flex items-center gap-1"},_hoisted_42$1=["onClick"],_hoisted_43$1=["onClick"],_hoisted_44$1={class:"flex justify-end gap-2"},_hoisted_45$1={class:"flex-none pagination-wrapper"},_hoisted_46$1={class:"flex items-center gap-4"},_hoisted_47$1={key:0,class:"pagination"},_hoisted_48$1=["onClick"],_hoisted_49$1={key:1,class:"flex items-center gap-2"},_hoisted_50$1={class:"text-sm text-slate-400"},STORAGE_KEY_ALL_HIDDEN="table_hidden_columns",STORAGE_KEY_ALL_WIDTHS="table_column_widths",STORAGE_KEY_PAGE_SIZE="table_page_size",STORAGE_KEY_COLUMN_ORDER="table_column_order",_sfc_main$B={__name:"ReSimpleTableAppCompany",props:vue.mergeModels({striped:{type:Boolean,default:!1},columns:{type:Array,default:()=>[]},growOnlyX:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},pageSize:{type:Number,default:999},rowActions:{type:Array,default:()=>[]},rowColor:{type:Function,default:()=>{}},enableXlsxExport:{type:Boolean,default:!1},contextActions:{type:Array,default:()=>[]},rowHorizontal:{type:Boolean,default:!1},tableClass:{type:String,default:""},customPagination:{type:Boolean,default:!1},recordTotal:{type:Number,default:0},tableId:{type:String,required:!0},stickyHeader:{type:Boolean,default:!1},wheelPropagation:{type:Boolean,default:!0},numbering:{type:Boolean,default:!1},enablePageSizeSelector:{type:Boolean,default:!1},footer:{type:Boolean,default:!1},height:{type:String}},{sortDirection:{local:!0,default:null},sortDirectionModifiers:{},sortColumnIndex:{local:!0,default:null},sortColumnIndexModifiers:{},page:{local:!0,default:1},pageModifiers:{}}),emits:vue.mergeModels(["rowClicked","cellClicked"],["update:sortDirection","update:sortColumnIndex","update:page"]),setup(e,{expose:I,emit:N}){const J=N,V=vue.ref({}),M=e,vt=vue.useModel(e,"sortDirection"),_t=vue.useModel(e,"sortColumnIndex"),Et=vue.ref(""),Dt=vue.ref({}),At=vue.ref({}),Pt=vue.ref({}),Ot=vue.ref(!1),Rt=vue.ref([]),Ut=vue.ref(null),Lt=vue.ref(M.pageSize);vue.watch(()=>M.pageSize,()=>{Lt.value=M.pageSize},{immediate:!0});function Ht(){try{const qo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Uo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),da=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");qo[M.tableId]&&(pn.value=qo[M.tableId]),Uo[M.tableId]&&(rn.value=Uo[M.tableId],Kt()),da[M.tableId]&&cf(da[M.tableId])}catch(qo){console.error("Ошибка при загрузке состояния таблицы:",qo)}}function jt(){try{const qo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Uo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),da=JSON.parse(localStorage.getItem(STORAGE_KEY_PAGE_SIZE)||"{}"),pa=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Object.keys(pn.value).length?qo[M.tableId]=pn.value:delete qo[M.tableId],Object.keys(rn.value).length?Uo[M.tableId]=rn.value:delete Uo[M.tableId],da[M.tableId]=Lt.value,Rt.value.length>0?pa[M.tableId]=Rt.value.map(fu=>fu.originalIndex):delete pa[M.tableId],localStorage.setItem(STORAGE_KEY_ALL_HIDDEN,JSON.stringify(qo)),localStorage.setItem(STORAGE_KEY_ALL_WIDTHS,JSON.stringify(Uo)),localStorage.setItem(STORAGE_KEY_PAGE_SIZE,JSON.stringify(da)),localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(pa))}catch(qo){console.error("Ошибка при сохранении состояния таблицы:",qo)}}async function Kt(){if(await vue.nextTick(),!M.tableId){console.log("Не указан идентификатор таблицы",M.columns),notifyError$1("Не указан идентификатор таблицы");return}const qo=document.getElementById(`table-${M.tableId}`);if(!qo)return;const Uo=qo.querySelector(".re-table");if(!Uo)return;const da=Uo.querySelectorAll("thead th");Object.entries(rn.value).forEach(([pa,fu])=>{const Qr=da[parseInt(pa)];Qr&&fu&&(Qr.style.width=`${fu}px`,Qr.style.minWidth=`${fu}px`)})}vue.onMounted(()=>{ro(),Ht(),document.addEventListener("click",qr),document.addEventListener("keydown",Pr)});const Zt=vue.useModel(e,"page"),mn=vue.ref(!1),cn=vue.ref({x:"0px",y:"0px"}),yn=vue.ref(null),rn=vue.ref({});let _n=!1,dn=null,sn=0,fn=0;const pn=vue.ref({}),mr=vue.ref(!1);let dr=vue.ref(null);function tr(qo){_n=!0,dn=qo.target.parentElement,sn=qo.pageX,fn=dn.offsetWidth,document.addEventListener("mousemove",Jt),document.addEventListener("mouseup",$n),qo.preventDefault()}function Jt(qo){if(!_n)return;const Uo=fn+(qo.pageX-sn);if(Uo>=50){dn.style.width=`${Uo}px`,dn.style.minWidth=`${Uo}px`;const da=document.getElementById(`table-${M.tableId}`);if(!da)return;const pa=da.querySelector(".re-table");if(!pa)return;const fu=pa.querySelectorAll("thead th"),Qr=Array.from(fu).indexOf(dn);Qr!==-1&&(rn.value[Qr]=Uo,jt())}}function $n(){_n=!1,document.removeEventListener("mousemove",Jt),document.removeEventListener("mouseup",$n)}function Ln(qo){const Uo=document.getElementById(`table-${M.tableId}`);if(!Uo)return;const da=Uo.querySelector(".re-table");if(!da)return;const fu=da.querySelectorAll("thead th")[qo];fu&&(fu.style.width="",fu.style.minWidth="120px",delete rn.value[qo],jt())}vue.onUnmounted(()=>{document.removeEventListener("mousemove",Jt),document.removeEventListener("mouseup",$n),document.removeEventListener("click",qr),jt()});const br=vue.computed(()=>{let qo=[...M.data];for(const Uo in V.value)V.value[Uo]&&(typeof Cn.value[Uo]?.Field=="function"?qo=qo.filter(da=>String(Cn.value[Uo].Field(da))?.toLowerCase().indexOf(V.value[Uo]?.toLowerCase())>-1):qo=qo.filter(da=>String(da[Cn.value[Uo].Field])?.toLowerCase().indexOf(V.value[Uo]?.toLowerCase())>-1));for(const Uo in Dt.value)Dt.value[Uo]&&(qo=qo.filter(da=>typeof Cn.value[Uo]?.Field=="function"?Dt.value[Uo].includes(Cn.value[Uo].Field(da)):Dt.value[Uo].includes(da[Cn.value[Uo].Field])));for(const Uo in Pt.value)Pt.value[Uo]&&(qo=qo.filter(da=>{let pa;return typeof Cn.value[Uo]?.Field=="function"?pa=Cn.value[Uo].Field(da):pa=da[Cn.value[Uo].Field],pa==null||pa===""||typeof pa=="string"&&pa.trim()===""}));return _t.value>=0&&vt.value&&(qo=qo.sort((Uo,da)=>typeof Cn.value[_t.value].Field=="function"?typeof Cn.value[_t.value].SortMethod=="function"?Cn.value[_t.value].SortMethod(Uo,da):String(Cn.value[_t.value].Field(Uo))>String(Cn.value[_t.value].Field(da))?1:-1:typeof Cn.value[_t.value].SortMethod=="function"?Cn.value[_t.value].SortMethod(Uo,da):String(Uo[Cn.value[_t.value].Field])>String(da[Cn.value[_t.value].Field])?1:-1),vt.value==="desc"&&(qo=qo.reverse())),qo}),Cn=vue.computed(()=>{let qo=M.columns.filter(Uo=>!pn.value[Uo.Index]);return Rt.value.length>0&&(qo=Rt.value.map(Uo=>qo.find((da,pa)=>pa===Uo.originalIndex))),qo}),wn=vue.computed(()=>M.contextActions.filter(qo=>typeof qo.IsVisible=="function"?qo.IsVisible(yn.value):!0)),Nn=vue.computed(()=>{if(M.customPagination)return M.data;const qo=(Zt.value-1)*parseInt(Lt.value);return br.value.slice(qo,qo+parseInt(Lt.value))}),Hn=vue.computed(()=>M.customPagination?Math.ceil(M.recordTotal/parseInt(Lt.value)):Math.ceil(br.value.length/parseInt(Lt.value))),ar=vue.computed(()=>Hn.value>5?Zt.value<=3?[1,2,3,4,5,"...",Hn.value]:Zt.value>=Hn.value-2?[1,"...",Hn.value-4,Hn.value-3,Hn.value-2,Hn.value-1,Hn.value]:[1,"...",Zt.value-2,Zt.value-1,Zt.value,Zt.value+1,Zt.value+2,"...",Hn.value]:Array.from({length:Hn.value},(qo,Uo)=>Uo+1)),vr=vue.computed(()=>M.customPagination?M.recordTotal:br.value.length);vue.watch(()=>M.data,()=>{M.customPagination||(Zt.value=1,ro())}),vue.watch(()=>Cn.value,(qo,Uo)=>{(!Uo||qo.length!==Uo.length||!qo.every((da,pa)=>da.Title===Uo[pa].Title))&&(V.value={},pn.value={},rn.value={},jt(),ro(),ir(null,null),Dt.value={},Pt.value={})},{deep:!0}),vue.watch(()=>br.value.length,()=>{M.customPagination||(Zt.value=1)}),vue.watch(Lt,()=>{Zt.value=1,jt()});function er(){if(br.value.length===0){notifyError$1("Нет данных для экспорта");return}let qo=[{sheet:"Лист 1",columns:M.columns.map(da=>({label:da.Title,value:pa=>{let fu="";return typeof da.Field=="function"?fu=da.Field(pa):fu=pa[da.Field],da.LowField&&(typeof da.LowField=="function"?fu+=` (${da.LowField(pa)})`:pa[da.LowField]&&(fu+=` (${pa[da.LowField]})`)),fu}})),content:br.value}],Uo={fileName:"Выгрузка данных от "+hooks().format("L HH:mm:ss"),extraLength:3,writeMode:"writeFile"};xlsx(qo,Uo)}function rr(qo,Uo){cn.value={x:qo.pageX+"px",y:qo.pageY+"px"},yn.value=Uo,mn.value=!0}function an(){yn.value=null,mn.value=!1}function yr(qo,Uo){if(mr.value){Sr();return}cn.value={x:qo.pageX,y:qo.pageY},dr.value=Uo,mr.value=!0,mn.value=!1}function ur(qo){if(!pn.value[qo]&&Cn.value.length-Object.values(pn.value).filter(Boolean).length<=1){notifyError$1("Должен быть виден хотя бы один столбец");return}pn.value[qo]=!pn.value[qo],jt()}function Sr(){mr.value=!1,dr.value=null}function qr(qo){const Uo=document.getElementById("headerContextMenuId");Uo&&!Uo.contains(qo.target)&&!qo.target.closest(".header-filter-activator")&&Sr()}function Pr(qo){qo.key==="Escape"&&mr.value&&Sr()}function ir(qo,Uo){_t.value===qo&&vt.value===Uo?(_t.value=null,vt.value=null):(_t.value=qo,vt.value=Uo)}function No(qo){return _t.value===qo||V.value[qo]||Dt.value[qo]?.length>0||Pt.value[qo]}function Fr(){pn.value={},jt()}function wr(qo){let Uo=Dt.value[dr.value]||[];Uo.includes(qo)?Uo=Uo.filter(da=>da!==qo):Uo.push(qo),Dt.value[dr.value]=Uo,Uo.length===0&&delete Dt.value[dr.value]}function ro(){At.value={},Cn.value.forEach((qo,Uo)=>{At.value[Uo]=[],M.data.forEach(da=>{let pa=At.value[Uo]||[];typeof qo.Field=="function"?pa.push(qo.Field(da)):pa.push(da[qo.Field]),At.value[Uo]=pa}),At.value[Uo]=[...new Set(At.value[Uo])],At.value[Uo].sort()})}function Bo(qo){if(!At.value[qo])return[];let Uo=[...At.value[qo]];return Uo=Uo.filter(da=>da&&String(da).toLowerCase().includes(Et.value)),Uo}function Lr(qo){Dt.value[qo]=At.value[qo]}function ma(qo){Pt.value[qo]=!Pt.value[qo],Pt.value[qo]||delete Pt.value[qo]}function ld(qo){let Uo=!1;mn.value&&(an(),Uo=!0),mr.value&&(Sr(),Uo=!0),!Uo&&J("rowClicked",qo)}function vl(){(Rt.value.length>0?Rt.value:null)||(Rt.value=Cn.value.map((Uo,da)=>({originalIndex:da,displayIndex:da,title:Uo.Title}))),Ot.value=!0,Sr()}function Ed(){Ot.value=!1}function Ja(qo,Uo){Ut.value=Uo,qo.dataTransfer.effectAllowed="move"}function Tu(qo,Uo){if(Ut.value===null||Ut.value===Uo)return;const da=Rt.value[Ut.value],pa=[...Rt.value];pa.splice(Ut.value,1),pa.splice(Uo,0,da),pa.forEach((fu,Qr)=>{fu.displayIndex=Qr}),Rt.value=pa,Ut.value=null}function jo(qo,Uo){if(Uo==="up"&&qo>0){const da=Rt.value[qo];Rt.value[qo]=Rt.value[qo-1],Rt.value[qo-1]=da,Rt.value[qo].displayIndex=qo,Rt.value[qo-1].displayIndex=qo-1}else if(Uo==="down"&&qo<Rt.value.length-1){const da=Rt.value[qo];Rt.value[qo]=Rt.value[qo+1],Rt.value[qo+1]=da,Rt.value[qo].displayIndex=qo,Rt.value[qo+1].displayIndex=qo+1}}function Zo(){Rt.value=M.columns.map((qo,Uo)=>({originalIndex:Uo,displayIndex:Uo,title:qo.Title}))}function rd(){const qo=Rt.value.map(Uo=>Uo.originalIndex);try{const Uo=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Uo[M.tableId]=qo,localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(Uo))}catch(Uo){console.error("Ошибка при сохранении порядка столбцов:",Uo)}Ed()}function cf(qo){if(!qo||!Array.isArray(qo))return;const Uo=qo.filter(da=>da>=0&&da<M.columns.length);Uo.length===M.columns.length&&(Rt.value=Uo.map((da,pa)=>({originalIndex:da,displayIndex:pa,title:M.columns[da].Title})))}return I({exportToXlsx:er,filteredData:br,showOnlyEmpty:Pt,filterByValue:Dt,filterOption:V,saveTableState:jt}),(qo,Uo)=>{const da=vue.resolveComponent("PerfectScrollbar");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{style:vue.normalizeStyle({height:M.height}),class:"flex flex-col",id:"table-"+M.tableId},[M.enableXlsxExport?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$o,[vue.createVNode(vue.unref(_2),{onClick:er,prependIcon:"file-arrow-down"},{default:vue.withCtx(()=>[...Uo[11]||(Uo[11]=[vue.createTextVNode("Экспорт в Excel",-1)])]),_:1})])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$j,[vue.createVNode(da,{class:vue.normalizeClass(["h-full pb-4",M.tableClass]),options:{wheelPropagation:M.wheelPropagation}},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_4$h,[vue.createElementVNode("thead",{class:vue.normalizeClass({sticky:M.stickyHeader})},[vue.createElementVNode("tr",null,[M.numbering?(vue.openBlock(),vue.createElementBlock("th",_hoisted_5$g,"№")):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(pa,fu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("th",{class:"min-w-[120px] relative",key:pa.Title},[vue.createVNode(vue.unref(kt),{shown:mr.value&&vue.unref(dr)!==null&&fu===vue.unref(dr),triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$e,[vue.createElementVNode("p",_hoisted_9$c,vue.toDisplayString(Cn.value[vue.unref(dr)]?.Title),1),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":_t.value===vue.unref(dr)&&vt.value==="asc"}]),onClick:Uo[0]||(Uo[0]=Qr=>ir(vue.unref(dr),"asc"))}," Сортировать А > Я ",2),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":_t.value===vue.unref(dr)&&vt.value==="desc"}]),onClick:Uo[1]||(Uo[1]=Qr=>ir(vue.unref(dr),"desc"))}," Сортировать Я > А ",2),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("details",_hoisted_10$b,[Uo[12]||(Uo[12]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Поиск по значению",-1)),vue.createVNode(vue.unref(AA),{type:"text",placeholder:"Введите значение",modelValue:V.value[vue.unref(dr)],"onUpdate:modelValue":Uo[2]||(Uo[2]=Qr=>V.value[vue.unref(dr)]=Qr),modelModifiers:{lazy:!0}},null,8,["modelValue"])]),vue.createElementVNode("details",_hoisted_11$a,[vue.createElementVNode("summary",_hoisted_12$9,[Uo[13]||(Uo[13]=vue.createTextVNode(" Фильтр по значению ",-1)),Dt.value[vue.unref(dr)]?.length>0?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"circle-exclamation"})):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(AA),{placeholder:"Введите значение",modelValue:Et.value,"onUpdate:modelValue":Uo[3]||(Uo[3]=Qr=>Et.value=Qr)},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_13$8,[vue.createElementVNode("p",null," Показано "+vue.toDisplayString(Dt.value[vue.unref(dr)]?.length?Dt.value[vue.unref(dr)].length:At.value[vue.unref(dr)]?.length)+" из "+vue.toDisplayString(At.value[vue.unref(dr)]?.length),1),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Uo[4]||(Uo[4]=Qr=>Lr(vue.unref(dr)))},"Все"),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Uo[5]||(Uo[5]=Qr=>delete Dt.value[vue.unref(dr)])}," Сбросить ")]),vue.createVNode(da,{class:"max-h-[300px] max-w-[600px]"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_14$6,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Bo(vue.unref(dr)),Qr=>(vue.openBlock(),vue.createElementBlock("div",{key:Qr,class:"flex gap-1 select-none cursor-pointer hover:bg-slate-100 rounded",onClick:Yo=>wr(Qr)},[vue.createVNode(vue.unref(Zc),{checked:Dt.value[vue.unref(dr)]?.includes(Qr)},null,8,["checked"]),vue.createElementVNode("p",null,vue.toDisplayString(Qr||"(пусто)"),1)],8,_hoisted_15$5))),128))])]),_:1})]),vue.createElementVNode("details",_hoisted_16$5,[Uo[14]||(Uo[14]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Скрыть столбец",-1)),vue.createElementVNode("p",{class:"text-sm text-slate-500 text-center cursor-pointer hover:text-slate-700 hover:bg-slate-100 rounded",onClick:Fr}," Показать все "),vue.createVNode(da,{class:"max-h-[300px] overflow-y-auto"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(Qr,Yo)=>(vue.openBlock(),vue.createElementBlock("div",{key:Qr.Title,class:"flex items-center gap-1 px-2 py-1 hover:bg-slate-100 cursor-pointer",onClick:nu=>ur(Yo)},[vue.createVNode(vue.unref(Z1),{class:"text-slate-500",name:pn.value[Yo]?"square":"check-square"},null,8,["name"]),vue.createElementVNode("span",null,vue.toDisplayString(Qr.Title),1)],8,_hoisted_17$4))),128))]),_:2},1024)]),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":Pt.value[vue.unref(dr)]}]),onClick:Uo[6]||(Uo[6]=Qr=>ma(vue.unref(dr)))}," Показать только пустые ",2),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("p",{class:"rs-table-btn",onClick:vl},"Изменить порядок столбцов")])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_6$g,[vue.createElementVNode("div",{onClick:Qr=>pa.filterable!=!1?yr(Qr,fu):null,class:"flex flex-row justify-between items-center gap-1 hover:cursor-pointer hover:bg-slate-200 rounded px-2 py-1 header-filter-activator"},[vue.createElementVNode("p",{class:vue.normalizeClass({"whitespace-nowrap":M.growOnlyX})},vue.toDisplayString(pa.Title),3),pa.filterable!=!1?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"filter",class:vue.normalizeClass([{activeFilter:No(fu)},"text-slate-500"])},null,8,["class"])):vue.createCommentVNode("",!0)],8,_hoisted_7$f)])]),_:2},1032,["shown"]),pa.Template?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"column-resizer",onMousedown:Uo[7]||(Uo[7]=Qr=>tr(Qr)),onDblclick:Qr=>Ln(fu)},null,40,_hoisted_18$4))])),[[vue.vShow,!pn.value[fu]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("th",_hoisted_19$4,[...Uo[15]||(Uo[15]=[vue.createElementVNode("p",null,"Действия",-1)])])):vue.createCommentVNode("",!0)])],2),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Nn.value,(pa,fu)=>(vue.openBlock(),vue.createElementBlock("tr",{class:vue.normalizeClass({"even:bg-slate-50":M.striped}),onContextmenu:vue.withModifiers(Qr=>rr(Qr,pa),["right","prevent"]),onClick:Qr=>ld(pa),key:pa,style:vue.normalizeStyle({backgroundColor:mn.value&&yn.value===pa?"rgba(0, 0, 0, 0.05)":"",backgroundColor:e.rowColor(pa)})},[M.numbering?(vue.openBlock(),vue.createElementBlock("td",_hoisted_21$4,vue.toDisplayString(Zt.value*parseInt(Lt.value)-parseInt(Lt.value)+1+fu),1)):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(Qr,Yo)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:Qr.Title,class:vue.normalizeClass(["hover:bg-slate-200",typeof Qr.Class=="function"?Qr.Class(pa):Qr.Class]),onClick:nu=>J("cellClicked",{record:pa,column:Qr,index:Yo}),title:typeof Qr.titleOnHover=="function"?Qr.titleOnHover(pa):Qr.titleOnHover},[Qr.Template?(vue.openBlock(),vue.createElementBlock("div",_hoisted_23$4,[vue.renderSlot(qo.$slots,`cell(${Qr.Template})`,{record:pa},void 0,!0)])):Qr.List?(vue.openBlock(),vue.createElementBlock("div",_hoisted_24$3,vue.toDisplayString(Qr.List.find(nu=>nu.Id===pa[Qr.Field])?.Name||""),1)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_25$3,[vue.createElementVNode("p",{class:vue.normalizeClass(["primary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof Qr.Field=="function"?Qr.Field(pa):pa[Qr.Field]},vue.toDisplayString(typeof Qr.Field=="function"?Qr.Field(pa):pa[Qr.Field]),11,_hoisted_26$3),vue.createElementVNode("p",{class:vue.normalizeClass(["secondary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof Qr.LowField=="function"?Qr.LowField(pa):pa[Qr.LowField]},vue.toDisplayString(typeof Qr.LowField=="function"?Qr.LowField(pa):pa[Qr.LowField]),11,_hoisted_27$3)]))],10,_hoisted_22$4)),[[vue.vShow,!pn.value[Yo]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("td",_hoisted_28$3,[vue.createElementVNode("div",{class:vue.normalizeClass(["flex flex-col items-start",{horizontalAction:M.rowHorizontal}])},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(M.rowActions,Qr=>(vue.openBlock(),vue.createElementBlock("span",{class:"rowAction whitespace-nowrap",onClick:vue.withModifiers(Yo=>Qr.Action(pa),["stop"]),key:Qr},[typeof Qr.IsVisible!="function"||Qr.IsVisible(pa)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_30$3,[Qr.Icon?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:Qr.Icon},null,8,["name"])):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(Qr.Name),1)])):vue.createCommentVNode("",!0)],8,_hoisted_29$3))),128))],2)])):vue.createCommentVNode("",!0)],46,_hoisted_20$4))),128)),M.footer?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_31$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(pa,fu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:pa.Title},[typeof pa.Footer=="function"?(vue.openBlock(),vue.createElementBlock("p",_hoisted_32$2,vue.toDisplayString(pa.Footer(qo.row)),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_33$2,vue.toDisplayString(pa.Footer),1))])),[[vue.vShow,!pn.value[fu]]])),128))])):vue.createCommentVNode("",!0),vr.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",_hoisted_34$2,[...Uo[16]||(Uo[16]=[vue.createElementVNode("td",{colspan:"100",class:"text-center"},[vue.createElementVNode("p",{class:"text-xl text-slate-400 font-semibold"},"Данные отсутствуют")],-1)])]))])])]),_:3},8,["class","options"])]),mn.value?(vue.openBlock(),vue.createElementBlock("div",{id:"contextMenuId",class:"context-menu",key:cn.value,style:vue.normalizeStyle({top:cn.value.y,left:cn.value.x})},[vue.createVNode(vue.unref(Iv1),{spacing:"xs"},{default:vue.withCtx(()=>[wn.value.length?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("p",_hoisted_35$1,"Нет доступных действий контекстного меню")),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(wn.value,pa=>(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:pa,prependIcon:pa.Icon,onClick:fu=>(pa.Action(yn.value),an())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(pa.Name),1)]),_:2},1032,["prependIcon","onClick"]))),128))]),_:1})],4)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Ps),{title:"Изменение порядка столбцов",modelValue:Ot.value,"onUpdate:modelValue":Uo[9]||(Uo[9]=pa=>Ot.value=pa),closeOnClickOutside:!0,class:"p-2"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_44$1,[vue.createVNode(vue.unref(_2),{onClick:Zo,variant:"outline",size:"sm"},{default:vue.withCtx(()=>[...Uo[18]||(Uo[18]=[vue.createTextVNode("Сбросить",-1)])]),_:1}),vue.createVNode(vue.unref(_2),{onClick:rd,size:"sm"},{default:vue.withCtx(()=>[...Uo[19]||(Uo[19]=[vue.createTextVNode("Сохранить",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_36$1,[Uo[17]||(Uo[17]=vue.createElementVNode("p",{class:"text-sm text-gray-600 mb-2"},"Перетащите столбцы для изменения их порядка:",-1)),vue.createElementVNode("div",_hoisted_37$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Rt.value,(pa,fu)=>(vue.openBlock(),vue.createElementBlock("div",{key:pa.originalIndex,class:"flex items-center justify-between p-2 mb-1 bg-white rounded border cursor-move hover:bg-gray-50",draggable:"true",onDragstart:Qr=>Ja(Qr,fu),onDragover:Uo[8]||(Uo[8]=vue.withModifiers(()=>{},["prevent"])),onDrop:Qr=>Tu(Qr,fu)},[vue.createElementVNode("div",_hoisted_39$1,[vue.createVNode(vue.unref(Z1),{name:"grip-vertical",class:"text-gray-400 text-sm"}),vue.createElementVNode("span",_hoisted_40$1,vue.toDisplayString(pa.title),1)]),vue.createElementVNode("div",_hoisted_41$1,[fu>0?(vue.openBlock(),vue.createElementBlock("button",{key:0,onClick:Qr=>jo(fu,"up"),class:"p-1 hover:bg-gray-200 rounded text-xs",title:"Переместить вверх"},[vue.createVNode(vue.unref(Z1),{name:"chevron-up",class:"text-gray-500"})],8,_hoisted_42$1)):vue.createCommentVNode("",!0),fu<Rt.value.length-1?(vue.openBlock(),vue.createElementBlock("button",{key:1,onClick:Qr=>jo(fu,"down"),class:"p-1 hover:bg-gray-200 rounded text-xs",title:"Переместить вниз"},[vue.createVNode(vue.unref(Z1),{name:"chevron-down",class:"text-gray-500"})],8,_hoisted_43$1)):vue.createCommentVNode("",!0)])],40,_hoisted_38$1))),128))])])]),_:1},8,["modelValue"])],12,_hoisted_1$u),vue.createElementVNode("div",_hoisted_45$1,[vue.createElementVNode("div",_hoisted_46$1,[Hn.value>1?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_47$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ar.value,pa=>(vue.openBlock(),vue.createElementBlock("li",{key:pa,class:vue.normalizeClass({active:pa===Zt.value}),onClick:fu=>pa!=="..."?Zt.value=pa:null},[vue.createElementVNode("a",null,vue.toDisplayString(pa),1)],10,_hoisted_48$1))),128))])):vue.createCommentVNode("",!0),M.enablePageSizeSelector?(vue.openBlock(),vue.createElementBlock("div",_hoisted_49$1,[Uo[21]||(Uo[21]=vue.createElementVNode("span",{class:"text-sm text-slate-500"},"Показать:",-1)),vue.withDirectives(vue.createElementVNode("select",{"onUpdate:modelValue":Uo[10]||(Uo[10]=pa=>Lt.value=pa),class:"text-sm border rounded px-1 py-0.5 w-[60px] border-slate-300"},[...Uo[20]||(Uo[20]=[vue.createElementVNode("option",{value:"5"},"5",-1),vue.createElementVNode("option",{value:"10"},"10",-1),vue.createElementVNode("option",{value:"20"},"20",-1),vue.createElementVNode("option",{value:"100"},"100",-1)])],512),[[vue.vModelSelect,Lt.value]])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_50$1," Записи "+vue.toDisplayString(Zt.value*parseInt(Lt.value)-parseInt(Lt.value)+1)+"-"+vue.toDisplayString(Math.min(Zt.value*parseInt(Lt.value),vr.value))+" из "+vue.toDisplayString(vr.value),1)])],64)}}},ReSimpleTableAppCompany=_export_sfc(_sfc_main$B,[["__scopeId","data-v-947a7d0d"]]),_hoisted_1$t={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_2$n={class:"border rounded p-2 bg-slate-100"},_hoisted_3$i={class:"h-full flex flex-col p-3 gap-3"},_hoisted_4$g=["title"],_hoisted_5$f=["title"],_hoisted_6$f=["title"],_hoisted_7$e=["title"],_hoisted_8$d=["title"],_hoisted_9$b=["title"],_sfc_main$A={__name:"PatientInfoPageAppCompany",props:{patientId:{type:String,default:"",required:!0},patientSnils:{type:String,default:"",required:!0},nameApp:{type:String,default:""},isParentModalExpanded:{type:Boolean,default:!1},minHeightCalcTable:{type:String,default:"calc(100vh - 290px)"},maxHeightCalcTable:{type:String,default:"calc(100vh - 560px)"},isExportExcelTable:{type:Boolean,default:!0}},setup(e){const I=vue.computed(()=>useUserStore().user),N=e,J=vue.computed(()=>N.isParentModalExpanded?N.minHeightCalcTable:N.maxHeightCalcTable),V=vue.ref(!1),M=vue.ref(!1),vt=vue.ref(!1),_t=vue.ref(!1),Et=vue.ref(null),Dt=vue.ref(null),At=vue.ref(null),Pt=vue.ref(!1),Ot=vue.ref([]),Rt=vue.ref(null),Ut=vue.ref([]),Lt=[{Name:"Просмотр",Icon:"eye",Action:sn=>cn(sn.NeedsId,sn.ApplicationId,sn.MessageWarning,sn.Period,sn.AdditionalApp==="Дополнительная")}];vue.onMounted(async()=>{await rn(),Kt(null)});const Ht=vue.computed(()=>{const sn=[];for(let fn=0;fn<listStatuses.length;fn++)sn.push({Id:listStatuses[fn],Name:listStatuses[fn]});return sn}),jt=vue.computed(()=>{if(!Ot.value?.length)return[];const sn=new Set;return Ot.value.forEach(fn=>{if(fn.Name){const pn=fn.Name.match(/\b(20\d{2})\b/);pn&&sn.add({Id:pn[1],Name:pn[1]})}}),Array.from(sn).sort()});async function Kt(sn){_t.value=!1,V.value=!1,At.value=null,Pt.value=!1,Dt.value=null,Et.value=null,vt.value=!1;try{N.patientId&&(M.value=!0,Ut.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientApplications?PatientId=${N.patientId}&Sort=CreateDateApp&Desc=true`,{params:sn||{}}).then(fn=>fn.data.map(pn=>({...pn,AdditionalApp:pn.AdditionalApp===!1?"Основная":"Дополнительная",SumPrepapp:pn.SumPrepapp.replace(".",","),SumPrepappfinal:pn.SumPrepappfinal.replace(".",",")}))))}catch(fn){const pn=fn.response?.data?.message||fn.message||"Неизвестная ошибка";notifyError$1(`${pn}. Пожалуйста, выполните поиск повторно`,15e3,"Ошибка загрузки данных")}finally{M.value=!1}}async function Zt(sn){let fn=await window.axios.get(window.localhost+`ApplicationCompany/Application?ApplicationId=${sn}`).then(pn=>pn.data).catch(pn=>{});return Et.value=fn,fn?(fn.DateClose&&hooks(fn.DateClose).format("YYYY-MM-DD")<hooks().format("YYYY-MM-DD")||fn.Status!="В работе"&&fn.Status!="Заполнение льгот"&&fn.Status!="Проверка"&&fn.Status!="Заявка")&&N.nameApp==="WebBMS"?{status:!0,notify:{type:"warn",message:"Заявка по выбранной потребности закрыта для редактирования",duration:15e3,title:"Доступ для редактирования закрыт"}}:{status:!0,notify:{type:"",message:"",duration:15e3,title:""}}:{status:!1,notify:{type:"error",message:"Заявка по выбранной потребности не найдена",duration:15e3,title:"Ошибка в поиске заявки"}}}function mn(sn){return sn.MessageWarning?"#fff6f6":""}async function cn(sn,fn,pn,mr,dr){if(!sn){notifyWarning(pn,15e3,"Уведомление системы");return}Dt.value=sn,At.value=mr,Pt.value=dr;const{status:tr,notify:Jt}=await Zt(fn);switch(tr&&!Jt?.type&&(V.value=!0,vt.value=!1),tr&&Jt?.type==="warn"&&(V.value=!0,vt.value=!0),Jt.type){case"error":notifyError$1(Jt.message,Jt.duration,Jt.title);break;case"warn":notifyWarning(Jt.message,Jt.duration,Jt.title);break}}async function yn(sn){"filters"in sn&&(sn=sn.filters),sn={...sn},sn&&"Additional"in sn&&(sn.Additional=sn.Additional==="true"),Rt.value=Object.keys(sn).length>0?sn:null,_t.value=!0;try{await Kt(Rt.value)}catch(fn){notifyError$1(`Ошибка при загрузке данных:
1300
+ `,wn);let Nn;if(J?.targetField?J.targetField==="object"?Nn=[wn.data]:Nn=wn.data[J.targetField]:Nn=wn.data,Nn?.length){let Hn=J.idFromIdField?J.idField:"Id",ar=Nn.find(vr=>vr[Hn]==J.modelValue);V.value.push(ar),_t.value=ar,Dt.value=ar&&Hn in ar?ar[Hn]:null,N("newData",{data:V.value}),N("onSelect",{data:_t.value,list:M.value,filteredList:V.value})}$n=!1})}else Jt(J.modelValue);else Pt&&J.preload&&(Pt=!1,br())}function br(){if(J?.url){V.value=[],M.value=[];for(let Cn of Lt.value)fn(J.url+Cn)}else V.value=[],M.value=[],J.apiString.get().then(Cn=>{At="withoutString",yn(Cn,"","withoutString",!0)})}return vue.onMounted(Ln),vue.onUpdated(Ln),(Cn,wn)=>(vue.openBlock(),vue.createBlock(_sfc_main$O,{modelValue:Dt.value,"onUpdate:modelValue":wn[0]||(wn[0]=Nn=>Dt.value=Nn),"display-expr":J.displayExpr,data:V.value,searchable:"",onInput:sn,label:J.label,onSelect:tr,onClear:dn,"no-filtering":"","id-field":J.idField,limit:200},{option:vue.withCtx(({item:Nn})=>[vue.renderSlot(Cn.$slots,"option",{item:Nn})]),_:3},8,["modelValue","display-expr","data","label","id-field"]))}},_sfc_main$K={__name:"NewMkbSelectBox",props:{mkbId:{type:[String,null]},label:{type:String,default:"Диагноз"},readOnly:{type:Boolean},isValidated:{type:Boolean,default:!1},mkbCode:{type:String,default:""},filterCodes:{type:Array,default:()=>[]},OMC:{type:Boolean,default:null}},emits:["getMKBId","getMKBItem","validate"],setup(e,{emit:I}){const N=I,J=e;vue.watch(()=>J.OMC,()=>{M.value={Id:""},N("getMKBId",{choosedMKB:null}),N("getMKBItem",{choosedMKB:null})}),vue.ref([]);const V=vue.ref(!1),M=vue.ref({Id:""}),vt=vue.ref(""),_t=vue.computed(()=>({_mkb_oplata_param_:J.OMC===null?null:String(!!J.OMC),_mkb_codes_param_:J.filterCodes?.length?J.filterCodes.join(","):null}));function Et({data:Pt}){vt.value="",Pt?.Id?(N("getMKBId",{choosedMKB:Pt.Id}),N("getMKBItem",{choosedMKB:Pt})):(M.value={Id:""},N("getMKBId",{choosedMKB:null}),N("getMKBItem",{choosedMKB:null}))}function Dt(Pt,Ot,Rt){return Pt.Code.indexOf(".")!==-1||Ot.filter(Ut=>Ut.Code.startsWith(Pt.Code)).length===1&&(At(Rt[0])&&Rt.length>2||!At(Rt[0])&&Rt.length>1)}function At(Pt){return new RegExp("^\\p{L}$","u").test(Pt)}return vue.watch(()=>J.mkbCode,()=>{J.mkbCode||(M.value={Id:""},Et({data:M.value}))}),vue.watch(()=>J.mkbId,(Pt,Ot)=>{Pt?Ot!==Pt&&(M.value={Id:Pt}):(M.value={Id:""},Et({data:M.value}))},{immediate:!0}),vue.watch(()=>M.value,()=>{J.isValidated&&(M.value?.Id?(N("validate",{isValid:!0}),N("getMKBItem",{choosedMKB:M.value}),V.value=!0):(N("validate",{isValid:!1}),N("getMKBId",{choosedMKB:""}),V.value=!1))}),(Pt,Ot)=>(vue.openBlock(),vue.createBlock(_sfc_main$L,{disabled:J.readOnly,modelValue:M.value.Id,"onUpdate:modelValue":Ot[0]||(Ot[0]=Rt=>M.value.Id=Rt),"display-expr":Rt=>"("+Rt.Code+") "+Rt.Name,"api-string":vue.unref(api$1).Mkb,"api-id":vue.unref(api$1).MkbById,label:J.label,"get-first-from-string":J.mkbCode,"result-filter":Dt,params:_t.value,onOnSelect:Et,clearable:""},null,8,["disabled","modelValue","display-expr","api-string","api-id","label","get-first-from-string","params"]))}},_sfc_main$J={__name:"FilterInput",props:{type:{type:String,required:!0},modelValue:{required:!0},name:{type:String,required:!0},list:{type:[Array,null],default:null},display:{type:[Function,null],default:null},style:{type:Object,default:()=>({})},idField:{type:String,default:null},mask:{type:String,default:null},placeholder:{type:String,default:null}},emits:["update:modelValue"],setup(e,{emit:I}){const N=I,J=e,V=vue.ref(null);vue.watch(()=>J.modelValue,()=>{V.value=J.modelValue},{immediate:!0});const M=vue.computed(()=>{let vt={label:J.name};return J.type==="select"&&(vt.data=J.list,vt.searchable=!0,vt.clearable=!0,J.idField&&(vt.idField=J.idField),J.display&&(vt.displayExpr=J.display),J.placeholder&&(vt.placeholder=J.placeholder)),J.type==="text"&&(vt.mask=J.mask),vt});return vue.watch(V,()=>{V.value!==J.modelValue&&N("update:modelValue",V.value)}),(vt,_t)=>(vue.openBlock(),vue.createElementBlock("div",null,[J.type==="text"?(vue.openBlock(),vue.createElementBlock("div",{key:0,style:vue.normalizeStyle(J.style)},[vue.createVNode(vue.unref(AA),vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[0]||(_t[0]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="checkbox"?(vue.openBlock(),vue.createElementBlock("div",{key:1,style:vue.normalizeStyle(J.style)},[vue.createVNode(vue.unref(Zc),vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[1]||(_t[1]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="select"?(vue.openBlock(),vue.createElementBlock("div",{key:2,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$O,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[2]||(_t[2]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="mkb"?(vue.openBlock(),vue.createElementBlock("div",{key:3,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$K,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[3]||(_t[3]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):J.type==="employee"?(vue.openBlock(),vue.createElementBlock("div",{key:4,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$N,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[4]||(_t[4]=Et=>V.value=Et)},M.value,{"other-lpu":"","lpu-id":"9d1790e4-965e-46d3-878f-c8c5ce7ae8c6"}),null,16,["modelValue"])],4)):J.type==="date"?(vue.openBlock(),vue.createElementBlock("div",{key:5,style:vue.normalizeStyle(J.style)},[vue.createVNode(_sfc_main$P,vue.mergeProps({modelValue:V.value,"onUpdate:modelValue":_t[5]||(_t[5]=Et=>V.value=Et)},M.value),null,16,["modelValue"])],4)):vue.createCommentVNode("",!0)]))}};var Mode$1=(e=>(e[e.DELAY=0]="DELAY",e[e.INTERVAL=1]="INTERVAL",e[e.INTERVAL_BLOCK=2]="INTERVAL_BLOCK",e))(Mode$1||{});let ActionLimiter$1=(AD=class{constructor(I,N,J){this.action=I,this.milliseconds=N,this.mode=J,this.currentTimerId=null,this.needRepeat=null,this.init()}init(){switch(this.mode){case 0:this.repeat=()=>{console.warn(this.mode+" mode has no repeat function!")},this.start=I=>{this.currentTimerId===null?this.currentTimerId=Number(setTimeout(()=>this.action(I),this.milliseconds)):(clearTimeout(this.currentTimerId),this.currentTimerId=Number(setTimeout(()=>this.action(I),this.milliseconds)))};break;case 1:this.repeat=()=>{this.needRepeat?(this.action(),this.needRepeat=!1,this.currentTimerId=Number(setTimeout(this.repeat,this.milliseconds))):this.needRepeat=null},this.start=()=>{this.needRepeat===null?(this.needRepeat=!0,this.repeat()):this.needRepeat===!1&&(this.needRepeat=!0)};break;case 2:this.repeat=()=>{console.warn(this.mode+" mode has no repeat function!")},this.start=()=>{this.currentTimerId===null&&(this.action(),this.currentTimerId=Number(setTimeout(()=>{this.currentTimerId=null},this.milliseconds)))};break;default:console.error("internal error! invalid mode for ActionLimiter!")}}stop(){clearTimeout(this.currentTimerId),this.currentTimerId=null}},AD.MODE=Mode$1,AD);const _sfc_main$I={__name:"FilterPanel",props:{filterList:{type:Array,required:!0}},emits:["search","update:modelValue"],setup(e,{emit:I}){const N=I,J=e,V=vue.ref({});for(let At of J.filterList)At?.default&&(V.value[At.accessor]=At.default);const M=vue.computed(()=>{let At={};for(let Pt of J.filterList??[])Pt?.relation?At[Pt.accessor]=Pt.relation({filters:J.filterList,values:V.value}):At[Pt.accessor]=Pt?.list??null;return At}),vt=new ActionLimiter$1(Dt,500,ActionLimiter$1.MODE.DELAY);function _t(){vt.start()}function Et(){V.value={}}function Dt(){N("search",{filters:V.value})}return vue.watch(V,At=>{N("update:modelValue",At)},{deep:!0}),(At,Pt)=>(vue.openBlock(),vue.createElementBlock("form",{class:"flex flex-wrap gap-x-2 gap-y-0.5 items-end",onSubmit:vue.withModifiers(_t,["prevent"])},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(J.filterList,Ot=>(vue.openBlock(),vue.createBlock(_sfc_main$J,{key:Ot,modelValue:V.value[Ot.accessor],"onUpdate:modelValue":Rt=>V.value[Ot.accessor]=Rt,type:Ot.type,display:Ot?.display??null,name:Ot.name,list:M.value[Ot.accessor],style:vue.normalizeStyle(Ot?.style??null),"id-field":Ot?.idField??null,mask:Ot?.mask??null,placeholder:Ot?.placeholder??null},null,8,["modelValue","onUpdate:modelValue","type","display","name","list","style","id-field","mask","placeholder"]))),128)),vue.createVNode(vue.unref(_2),{label:"Найти",type:"submit",primary:"","prepend-icon":"search"}),vue.createVNode(vue.unref(_2),{label:"Сбросить фильтры",onClick:Et,delete:"",secondary:"","prepend-icon":"xmark"})],32))}};function validateResponse(e,I,N){getRefbookRequest(e).then(J=>{if(J.status!==200)N(new Error("Ответ со статусом "+J.data.Status));else if(J?.data?.Status==="Error")console.error("------------===Ошибка загрузки справочника===------------"),console.error(J),console.error("------------=================================------------"),N(new Error(J.data.Comment));else{let V=J.data;"target"in e&&(V=V[e.target]),!V?.length&&V?.length!==0?(console.error(J),N(new Error("Ошибка загрузки справочника!"))):I(V)}})}function getRefbookRequest(e){const I=e?.address?e.address:window.localhost;return"params"in e?window.axios.get(I+e.url,{params:e.params}):window.axios.get(I+e.url)}function RefbookPromiseHandler(e,I,N){validateResponse(e,I,N)}const RefbookProxyHandler={get(e,I){if(I===void 0||I==="__v_isRef")return;const N=e[I];if(!N)throw new Error('Справочника "'+I+'" не существует!');return N?.value?Promise.resolve(N.value):new Promise((J,V)=>RefbookPromiseHandler(N,J,V))},set(){throw new Error("Невозможно изменить справочник!")}};function getRefbookPromise(e,I){return new Promise(N=>{e.then(J=>{I?(I(J),N(!0)):N(J)})})}const refbook={BioFactor:{name:"BioFactor",url:"refs/BioFactor",target:"Body"},DiseaseCharacter:{name:"DiseaseCharacter",url:"GetDiseaseCharacters"},DiseaseType:{name:"DiseaseType",url:"GetDiseaseType"},DispTakeForm:{name:"DispTakeForm",url:"DispTakeForm"},Drug:{name:"Drug",url:"refs/Drug",target:"Body"},EmdType:{name:"EmdType",url:"emd/TypeEmd",target:"Body"},OrderType:{name:"OrderType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1009"}},Status:{name:"Status",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1006"}},PayMethod:{name:"PayMethod",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1039"}},TypeVisit:{name:"TypeVisit",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1007"}},VaccinationConclusion:{name:"VaccinationConclusion",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.725"}},ConsultationType:{name:"ConsultationType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.797"}},BenefitType:{name:"BenefitType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.713"}},PostVaccinalComplication:{name:"PostVaccinalComplication",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.960"}},LabMaterialTakeMethod:{name:"LabMaterialTakeMethod",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.1065"}},LabMaterial:{name:"LabMaterial",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.1019"}},BloodComponent:{name:"BloodComponent",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.11.1386"}},RecipeType:{name:"RecipeType",url:"Egisz",params:{EgiszOid:"1.2.643.5.1.13.13.99.2.651"}},BenefitProgram:{name:"BenefitProgram",url:"refs/BenefitProgram",target:"Body"},BenefitMap:{name:"BenefitMap",url:"refs/BenefitMap",target:"Body"},Excipient:{name:"Excipient",url:"refs/Excipient",target:"Body"},Outcome:{name:"Outcome",url:"Ffoms",params:{NsiCode:"V012"}},ReasonVisit:{name:"ReasonVisit",url:"Ffoms",params:{NsiCode:"V025"}},Result:{name:"Result",url:"Ffoms",params:{NsiCode:"V009"}},StageResult:{name:"StageResult",url:"Ffoms",params:{NsiCode:"V009",LinkCode:"3"}},Gender:{name:"Gender",url:"Gender"},HivContingent:{name:"HivContingent",url:"refs/HivContingent",target:"Body"},LabTest:{name:"LabTest",url:"refs/LabTest",target:"Body"},Palliatives:{name:"Palliatives",url:"refs/Palliatives",target:"Body"},Position:{name:"Position",url:"Position"},Region:{name:"Region",url:"Region"},ServiceFactType:{name:"ServiceFactType",url:"refs/UslFactType",target:"Body"},ServiceFactTypeGroup:{name:"ServiceFactTypeGroup",url:"refs/UslFactTypeGroup",target:"Body"},ServicePlace:{name:"ServicePlace",url:"GetServicePlaces"},SocialStatus:{name:"SocialStatus",url:"getsocstatus"},Speciality:{name:"Speciality",url:"Speciality"},Uchastok:{name:"Uchastok",url:"Uchastok"},VitalParamTypes:{name:"VitalParamTypes",url:"Reference/VitalParamTypes"},PmoType:{name:"PmoType",url:"PmoType"},HealthGroup:{name:"HealthGroup",url:"HealthGroup"}},exportRefbook=new Proxy(refbook,RefbookProxyHandler),BenefitProgram=(e=null)=>getRefbookPromise(exportRefbook.BenefitProgram,e),BenefitMap=(e=null)=>getRefbookPromise(exportRefbook.BenefitMap,e),useBenefit=()=>{async function e(N){let J=await window.axios.get(window.localhost+"patient/Benefit_v2",{params:N});return J.data.Body=J.data.Body.filter((V,M,vt)=>M===vt.findIndex(_t=>_t.PatientBenefitId===V.PatientBenefitId)),J.data.Body=J.data.Body.sort((V,M)=>new Date(M.LogDateTime)-new Date(V.LogDateTime)),J.data.Body}async function I(N,J=!0){let V=await api$1.PatientBenefit.get(N);if(V.data.Body=V.data.Body.filter((M,vt,_t)=>vt===_t.findIndex(Et=>Et.PatientBenefitId===M.PatientBenefitId)),V.data.Body=V.data.Body.sort((M,vt)=>new Date(vt.LogDateTime)-new Date(M.LogDateTime)),J){const M=V.data.Body.reduce((vt,_t)=>{const Et=`${_t.Snils}-${_t.BenefitCodeShort}`;return vt[Et]||(vt[Et]=_t),vt},{});return Object.values(M)}return V.data.Body}return{getBenefitListV2:e,getBenefitList:I}},listStateActionCopy={CHANGE_LP:{state:"change_lp",label:"Редактирование ЛП в потребности"},CHANGE_COPY:{state:"change_copy",label:"Редактирование потребности"},BLOCK_CHANGE_LP:{state:"block_change_lp",label:"Блокировка редактирования поля ЛП"}},_hoisted_1$z={class:"preparat-tooltip-wrapper"},_sfc_main$H={__name:"MkbSelectLite",props:{modelValue:{type:[String,null],default:null},listDiagnosis:{type:Array,required:!0},label:{type:String,default:"Диагноз"},disabled:{type:Boolean,default:!1},required:{type:Boolean,default:!1},clearable:{type:Boolean,default:!0}},emits:["update:modelValue","select"],setup(e,{emit:I}){const N=e,J=I,V=vue.ref(N.modelValue),M=vue.ref(""),vt=vue.ref(""),_t=vue.computed(()=>{if(!N.listDiagnosis?.length)return[];if(!M.value)return N.listDiagnosis;const At=M.value.toLowerCase().trim(),Pt=swapKeyboardLayout(At,!1);return N.listDiagnosis.filter(Rt=>{const Ut=(Rt.Code||"").toLowerCase(),Lt=(Rt.Name||"").toLowerCase(),Ht=Ut.includes(At)||Lt.includes(At),jt=Ut.includes(Pt)||Lt.includes(Pt);return Ht||jt})});function Et(At){M.value=At||""}function Dt(At){return At?`(${At.Code}) ${At.Name}`:""}return vue.watch(V,At=>{if(J("update:modelValue",At),At){const Pt=N.listDiagnosis.find(Ot=>Ot.Id===At);Pt&&(vt.value=`${Pt.Code} ${Pt.Name}`,J("select",Pt))}else vt.value=""}),vue.watch(()=>N.modelValue,At=>{V.value=At}),(At,Pt)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$z,[vue.createVNode(vue.unref($s),{text:vt.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$O,{modelValue:V.value,"onUpdate:modelValue":Pt[0]||(Pt[0]=Ot=>V.value=Ot),data:_t.value,"onUpdate:data":Pt[1]||(Pt[1]=Ot=>_t.value=Ot),label:e.label,disabled:e.disabled,required:e.required,clearable:e.clearable,limit:1e3,"display-expr":Dt,onInput:Et,placeholder:"Поиск заболевания..."},null,8,["modelValue","data","label","disabled","required","clearable"])]),_:1},8,["text"])]))}},_sfc_main$G={__name:"SDateInput",props:vue.mergeModels({withHours:{type:Boolean,default:!1},min:{type:Date,default:null},max:{type:Date,default:null}},{modelValue:{},modelModifiers:{}}),emits:["update:modelValue"],setup(e){const I=vue.useModel(e,"modelValue"),N=e;function J(M){return N.min&&hooks(N.min).format("YYYY-MM-DD HH:mm")>=hooks(M).format("YYYY-MM-DD HH:mm")?hooks(N.min).add(1,"minutes").format("YYYY-MM-DD HH:mm"):hooks(M).format("YYYY-MM-DD HH:mm")}function V(M){return M?N.withHours?J(M):M:null}return(M,vt)=>(vue.openBlock(),vue.createBlock(vue.unref(jc),{format:"",min:e.min,max:e.max,withHours:e.withHours,label:"Дата","model-value":I.value,"onUpdate:modelValue":vt[0]||(vt[0]=_t=>I.value=V(_t))},null,8,["min","max","withHours","model-value"]))}},_hoisted_1$y={class:"flex justify-between items-center"},_hoisted_2$s={key:0},_hoisted_3$n={key:1,class:"text-gray-600"},_hoisted_4$l={key:0},_hoisted_5$j={class:"text-sm text-gray-600"},_sfc_main$F={__name:"ReSimpleOption",props:{item:{type:Object,required:!0},label:{type:[String,null],default:null},labelLow:{type:[String,null],default:null},selected:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1}},emits:["select"],setup(e,{emit:I}){const N=I,J=e;return(V,M)=>(vue.openBlock(),vue.createElementBlock("div",{onClick:M[0]||(M[0]=vue.withModifiers(vt=>J.disabled?null:N("select",J.item),["stop"])),class:vue.normalizeClass([{selected:J.selected,disabled:J.disabled},"px-2 py-1.5 hover:bg-slate-100 cursor-pointer"])},[vue.createElementVNode("div",_hoisted_1$y,[J.label?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$s,vue.toDisplayString(J.label),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$n,"Нет имени")),J.selected?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:2,name:"check",class:"text-slate-400"})):vue.createCommentVNode("",!0)]),J.labelLow?(vue.openBlock(),vue.createElementBlock("div",_hoisted_4$l,[vue.createElementVNode("p",_hoisted_5$j,vue.toDisplayString(J.labelLow),1)])):vue.createCommentVNode("",!0)],2))}},ReSimpleOption=_export_sfc(_sfc_main$F,[["__scopeId","data-v-6a702340"]]),_hoisted_1$x={class:"text-sm font-medium text-nowrap"},_hoisted_2$r={key:0,class:"text-red-100"},_hoisted_3$m={key:0,class:"text-xs text-black-35 mb-1 cursor-text"},_hoisted_4$k=["readonly","placeholder","required"],_sfc_main$E={__name:"ReSimpleSelect",props:vue.mergeModels({isLoading:{type:Boolean,default:!1},label:{type:String,default:"Выберите из списка"},data:{type:Array,default:()=>[]},placeholder:{type:String,default:"Нажмите для выбора..."},idField:{type:String,default:"Id"},displayExpr:{type:[String,Function,Array],default:"Name"},displayExprLow:{type:[String,Function,Array,null],default:null},required:{type:Boolean,default:!1},maxOptionCount:{type:Number,default:50},listOptionHeightPx:{type:Number,default:400},maxOptionHistoryLength:{type:Number,default:10},clearable:{type:Boolean,default:!1},disabled:{type:Boolean,default:!1},noLocalFiltering:{type:Boolean,default:!1},devMode:{type:Boolean,default:!1},variant:{type:String,default:"default"},optionDisabled:{type:[Function,null],default:null},customNoOptionText:{type:[String,null],default:null},description:{type:[String,null],default:null},searchByLowField:{type:Boolean,default:!1},compact:{type:Boolean,default:!0}},{modelValue:{type:[String,null],default:null,local:!0},modelModifiers:{}}),emits:vue.mergeModels(["input","onSelectObject","clear"],["update:modelValue"]),setup(e,{emit:I}){const N=I,J=e,V=vue.useModel(e,"modelValue"),M=vue.ref(null),vt=vue.ref(!1),_t=vue.ref(!1),Et=vue.ref(),Dt=vue.ref(null),At=new ActionLimiter$1(_n,500,ActionLimiter$1.MODE.DELAY),Pt=vue.ref([]),Ot=vue.ref({left:0,width:0});vue.watch(_t,()=>{_t.value||Lt()},{immediate:!0}),vue.watch(V,()=>{Lt()},{immediate:!0}),vue.watch(()=>J.data,()=>{V.value&&!_t.value&&(J.data.find(dn=>dn[J.idField]===V.value)?(Et.value=Ht(J.data.find(dn=>dn[J.idField]===V.value)),M.value=J.data.find(dn=>dn[J.idField]===V.value)):Pt.value.find(dn=>dn[J.idField]===V.value)&&(Et.value=Ht(Pt.value.find(dn=>dn[J.idField]===V.value)),M.value=Pt.value.find(dn=>dn[J.idField]===V.value)))},{immediate:!0});const Rt=vue.computed(()=>{let dn=JSON.parse(JSON.stringify(J.data));return _t.value&&!J.noLocalFiltering&&Et.value&&(dn=dn.filter(sn=>{let fn=Ht(sn);if(J.searchByLowField){const pn=jt(sn);fn+=" "+pn}return fn&&sn&&Et.value?fn.toLowerCase().includes(Et.value.toLowerCase()):!1})),V.value&&V.value!=window.nullGuid&&!_t.value&&(dn.find(sn=>sn[J.idField]===V.value)?dn=dn.sort((sn,fn)=>sn[J.idField]===V.value?-1:fn[J.idField]===V.value?1:0):(M.value&&(dn=[M.value,...dn]),dn.findIndex(sn=>sn[J.idField]===V.value)===-1&&(J.customNoOptionText?notifyError$1(`${J.customNoOptionText} ● ${J.idField}=${V.value}`):notifyError$1(`Не удалось найти опцию с ${J.idField}=${V.value}`)))),dn=dn.splice(0,J.maxOptionCount),dn});function Ut(){if(Dt.value){const dn=Dt.value.getBoundingClientRect();Ot.value.left=dn.left,Ot.value.width=dn.width}}function Lt(){if(!V.value){Et.value=null,M.value=null,N("clear");return}const dn=J.data.find(sn=>sn[J.idField]===V.value)||Pt.value.find(sn=>sn[J.idField]===V.value)||M.value;dn?(Et.value=Ht(dn),M.value=dn):(Et.value="Нет в списке",M.value=null)}function Ht(dn,sn=J.displayExpr){if(typeof sn=="function")return String(sn(dn));if(typeof sn=="string")return String(dn?.[sn]);if(Array.isArray(sn)){let fn="";for(let pn=0;pn<sn.length;pn++){if(!dn?.[sn[pn]]&&!sn[pn].startsWith("*")){J.devMode&&console.error(`Cant find ${sn[pn]} in record with ${J.idField} = ${dn[J.idField]}`);continue}if(sn[pn].startsWith("*")){const mr=sn[pn].slice(1);fn+=String(mr)}else fn+=String(dn?.[sn[pn]]);pn<sn.length-1&&(fn+=" ")}return fn}return null}function jt(dn){return Ht(dn,J.displayExprLow)}function Kt(dn){if(M.value=dn||null,dn[J.idField]===V.value&&J.clearable){rn();return}vt.value=!1,V.value=dn[J.idField],Et.value=Ht(dn),Pt.value.push(dn),N("onSelectObject",dn),Pt.value.length>J.maxOptionHistoryLength&&(Pt.value=Pt.value.slice(1,Pt.value.length))}function Zt(){J.disabled||(vt.value=!vt.value,Ut())}function mn(dn){Dt.value&&!Dt.value.contains(dn.target)&&(vt.value=!1)}vue.onMounted(()=>{document.addEventListener("click",mn),window.addEventListener("resize",Ut)}),vue.onBeforeUnmount(()=>{document.removeEventListener("click",mn),window.removeEventListener("resize",Ut)});function cn(){_t.value=!0,vt.value=!0,Ut(),At.start()}function yn(){_t.value&&!Et.value?.length&&J.clearable&&rn(),setTimeout(()=>{_t.value=!1},200)}function rn(){V.value=null,Et.value=null,N("onSelectObject",null),N("clear")}function _n(){N("input",Et.value||"")}return(dn,sn)=>{const fn=vue.resolveComponent("PerfectScrollbar");return vue.openBlock(),vue.createBlock(vue.unref(kt),{shown:vt.value,triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createVNode(fn,{class:"max-h-96 min-w-[350px]",style:vue.normalizeStyle({width:Ot.value.width+"px"})},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Rt.value,pn=>(vue.openBlock(),vue.createBlock(ReSimpleOption,{onSelect:mr=>Kt(pn),item:pn,selected:pn[J.idField]===V.value,key:pn[J.idField],label:Ht(pn),labelLow:jt(pn),disabled:typeof J.optionDisabled=="function"?J.optionDisabled(pn):!1},null,8,["onSelect","item","selected","label","labelLow","disabled"]))),128)),Rt.value.length===0?(vue.openBlock(),vue.createBlock(ReSimpleOption,{key:0,disabled:"",label:"Нет данных"})):vue.createCommentVNode("",!0)]),_:1},8,["style"])]),default:vue.withCtx(()=>[vue.createElementVNode("div",{ref_key:"dropdown",ref:Dt,onClick:vue.withModifiers(Zt,["prevent"]),class:"relative"},[vue.createElementVNode("label",{class:vue.normalizeClass({"flex flex-row gap-2 items-center":J.variant=="left-label"})},[vue.createElementVNode("p",_hoisted_1$x,[vue.createTextVNode(vue.toDisplayString(J.label)+" ",1),J.required&&!V.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_2$r,"*")):vue.createCommentVNode("",!0)]),J.description?(vue.openBlock(),vue.createElementBlock("p",_hoisted_3$m,vue.toDisplayString(J.description),1)):vue.createCommentVNode("",!0),vue.createElementVNode("div",{class:vue.normalizeClass(["flex justify-between items-center border px-1 rounded border-slate-200 bg-white",{"bg-gray-100":J.disabled,"w-full":J.variant=="left-label","h-8":J.compact}])},[vue.withDirectives(vue.createElementVNode("input",{class:"border-none bg-transparent w-full text-sm focus:ring-0",readonly:J.disabled,onInput:cn,onBlur:yn,placeholder:J.placeholder,type:"text","onUpdate:modelValue":sn[0]||(sn[0]=pn=>Et.value=pn),required:J.required},null,40,_hoisted_4$k),[[vue.vModelText,Et.value]]),J.isLoading?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:J.isLoading,name:"spinner",class:"px-1 text-gray-300 animate-spin"})):vue.createCommentVNode("",!0),V.value&&J.clearable&&!J.disabled?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:1,name:"xmark",class:"px-1 text-gray-300 hover:text-gray-600",onClickOnce:rn})):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Z1),{onClick:sn[1]||(sn[1]=()=>console.log(123)),name:"chevron-down",style:vue.normalizeStyle({color:J.disabled?"gray":"rgb(108, 139, 201)"}),class:"px-1 hover:bg-slate-100 rounded-full cursor-pointer py-1"},null,8,["style"])],2)],2)],512)]),_:1},8,["shown"])}}},_hoisted_1$w={class:"border p-2 rounded"},_hoisted_2$q={class:"grid grid-cols-2 gap-1"},_hoisted_3$l={class:"border p-2 rounded"},_hoisted_4$j={class:"grid grid-cols-2 gap-1"},_hoisted_5$i={class:"flex gap-3"},_hoisted_6$i={class:"w-[50%] preparat-tooltip-wrapper"},_hoisted_7$h={class:"w-[50%] preparat-tooltip-wrapper"},_hoisted_8$f={class:"flex gap-2 w-full border p-2 rounded-lg"},_hoisted_9$d={class:"preparat-tooltip-wrapper"},_hoisted_10$c={key:0,class:"text-xs text-amber-600 cursor-help border-b border-dashed border-amber-300",title:"При копировании потребности можно заменить препарат на другой только с таким же МНН"},_hoisted_11$b={key:2,class:"flex flex-col gap-1"},_hoisted_12$a={class:"text-sm border rounded px-3 py-1 bg-gray-100 text-gray-800 text-balance"},_hoisted_13$9={class:"flex gap-3"},_hoisted_14$7={class:"preparat-tooltip-wrapper"},_hoisted_15$6={class:"flex gap-3"},_sfc_main$D={__name:"ApplicationFormFields",props:{formData:{type:Object,required:!0},readOnly:{type:Boolean,default:!1},user:{type:Object,required:!0},listDivision:{type:Array,default:()=>[]},selectListLgots:{type:Array,default:()=>[]},api_listProgramms:{type:Array,default:()=>[]},listPreparatsFiltered:{type:Array,default:()=>[]},listDiagnosis:{type:Array,default:()=>[]},selectedPreparatSign:{type:Boolean,default:!1},isNewNeed:{type:Boolean,default:!0},isMkbDisabled:{type:Boolean,default:!1},VKtrue:{type:Boolean,default:!1},isViewSignPreparat:{type:[Boolean,null],default:null},attributesPreparatTemplate:{type:Array,default:()=>[]},preparatDisplayExpr:{type:Function,default:()=>{}},preparatDisplayExprLow:{type:Function,default:()=>{}},labelLgota:{type:String,default:"Льгота"},nameActionCopyNeed:{type:Object,default:null}},emits:["removeLeadingZero","update:isViewSignPreparat"],setup(e,{expose:I,emit:N}){const J=e,V=N,M=vue.ref(null),vt=vue.computed(()=>J.listPreparatsFiltered?.filter(Ot=>J.isViewSignPreparat===null?!0:Ot.Sign===J.isViewSignPreparat)||[]),_t=vue.ref(""),Et=vue.ref(""),Dt=vue.ref(""),At=vue.ref("");vue.watch(()=>J.formData?.Mkb10Id,Ot=>{if(!J.listDiagnosis?.length||!Ot){At.value="";return}const Rt=J.listDiagnosis.find(Ut=>Ut.Id===Ot);At.value=Rt?`${Rt.Code} ${Rt.Name}`:""},{immediate:!0}),vue.watch(()=>J.formData?.LgotaId,Ot=>{if(!J.selectListLgots?.length||!Ot){_t.value="";return}const Rt=J.selectListLgots.find(Ut=>Ut.Id===Ot);_t.value=Rt?`(${Rt.BenefitCodeShort}) ${Rt.BenefitNameLong}`:""},{immediate:!0}),vue.watch(()=>J.formData?.ProgramId,Ot=>{if(!J.api_listProgramms?.length||!Ot){Et.value="";return}const Rt=J.api_listProgramms.find(Ut=>Ut.Id===Ot);Et.value=Rt?`(${Rt.Name})`:""},{immediate:!0}),vue.watch(()=>J.formData?.TemplatePreparatId,Ot=>{if(!vt.value?.length||!Ot){Dt.value="";return}const Rt=J.preparatDisplayExpr(vt.value.find(Ut=>Ut.Id===Ot));Dt.value=Rt?`(${Rt})`:""},{immediate:!0});function Pt(Ot){V("removeLeadingZero",Ot)}return I({formRef:M,reportValidity:()=>M.value?.reportValidity()}),(Ot,Rt)=>(vue.openBlock(),vue.createElementBlock("fieldset",null,[vue.createElementVNode("form",{ref_key:"formRef",ref:M,class:"flex flex-col gap-1"},[e.user.LpuId=="e41d5246-7a49-4b5a-a306-00ef5125d3d8"?(vue.openBlock(),vue.createBlock(vue.unref(Zc),{key:0,label:"Дополнительная заявочная кампания",modelValue:e.formData.Additional,"onUpdate:modelValue":Rt[0]||(Rt[0]=Ut=>e.formData.Additional=Ut)},null,8,["modelValue"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$G,{label:"Дата заявки",modelValue:e.formData.DateNeed,"onUpdate:modelValue":Rt[1]||(Rt[1]=Ut=>e.formData.DateNeed=Ut),disabled:""},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_1$w,[Rt[19]||(Rt[19]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"ВК",-1)),Rt[20]||(Rt[20]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_2$q,[vue.createVNode(vue.unref(AA),{label:"Номер ВК",modelValue:e.formData.NumberVK,"onUpdate:modelValue":Rt[2]||(Rt[2]=Ut=>e.formData.NumberVK=Ut),mask:"00000000000",tokens:"0:\\d:optional",required:!e.selectedPreparatSign,disabled:e.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$G,{label:"Дата ВК",modelValue:e.formData.DateVK,"onUpdate:modelValue":Rt[3]||(Rt[3]=Ut=>e.formData.DateVK=Ut),required:!e.selectedPreparatSign,disabled:e.readOnly},null,8,["modelValue","required","disabled"])])]),vue.createElementVNode("div",_hoisted_3$l,[Rt[21]||(Rt[21]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"НПР",-1)),Rt[22]||(Rt[22]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_4$j,[vue.createVNode(vue.unref(AA),{label:"Номер НПР",modelValue:e.formData.NprNumber,"onUpdate:modelValue":Rt[4]||(Rt[4]=Ut=>e.formData.NprNumber=Ut),mask:"00000000000",tokens:"0:\\d:optional",required:!!e.formData.NprDate,disabled:e.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$G,{label:"Дата НПР",modelValue:e.formData.NprDate,"onUpdate:modelValue":Rt[5]||(Rt[5]=Ut=>e.formData.NprDate=Ut),required:!!e.formData.NprNumber,disabled:e.readOnly},null,8,["modelValue","required","disabled"])])]),vue.unref(lpusWithDivision).includes(e.user.LpuId)?(vue.openBlock(),vue.createBlock(_sfc_main$O,{key:1,data:e.listDivision,label:"Отделение",modelValue:e.formData.DivisionId,"onUpdate:modelValue":Rt[6]||(Rt[6]=Ut=>e.formData.DivisionId=Ut),required:"",clearable:"",disabled:e.readOnly},null,8,["data","modelValue","disabled"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_5$i,[vue.createElementVNode("div",_hoisted_6$i,[vue.createVNode(vue.unref($s),{text:_t.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$O,{ref:"fieldLgota",label:e.labelLgota,modelValue:e.formData.LgotaId,"onUpdate:modelValue":Rt[7]||(Rt[7]=Ut=>e.formData.LgotaId=Ut),data:e.selectListLgots,"display-expr":Ut=>"("+Ut.BenefitCodeShort+") "+Ut.BenefitNameLong,required:"",clearable:"",disabled:!e.isNewNeed||e.readOnly},null,8,["label","modelValue","data","display-expr","disabled"])]),_:1},8,["text"])]),vue.createElementVNode("div",_hoisted_7$h,[vue.createVNode(vue.unref($s),{text:Et.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$O,{required:"",label:"Программа",modelValue:e.formData.ProgramId,"onUpdate:modelValue":Rt[8]||(Rt[8]=Ut=>e.formData.ProgramId=Ut),data:e.api_listProgramms,disabled:""},null,8,["modelValue","data"])]),_:1},8,["text"])])]),vue.createElementVNode("div",_hoisted_8$f,[vue.createVNode(vue.unref(_v1),{label:"Выбор признака ЛП при поиске в поле [Препарат]","model-value":e.isViewSignPreparat,"onUpdate:modelValue":Rt[9]||(Rt[9]=Ut=>V("update:isViewSignPreparat",Ut))},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(e.attributesPreparatTemplate,Ut=>(vue.openBlock(),vue.createBlock(vue.unref(Av1),{value:Ut.value,label:Ut.label,disabled:e.readOnly||e.nameActionCopyNeed?.state},null,8,["value","label","disabled"]))),256))]),_:1},8,["model-value"])]),vue.createElementVNode("div",_hoisted_9$d,[e.nameActionCopyNeed?.state===vue.unref(listStateActionCopy).CHANGE_LP.state?(vue.openBlock(),vue.createElementBlock("span",_hoisted_10$c," 🔄 Возможна замена только по ранее одобренной\\отклоненной МНН ")):vue.createCommentVNode("",!0),vue.createVNode(vue.unref($s),{text:Dt.value,placement:"top"},{default:vue.withCtx(()=>[(vue.openBlock(),vue.createBlock(_sfc_main$E,{key:vt.value.length,modelValue:e.formData.TemplatePreparatId,"onUpdate:modelValue":Rt[10]||(Rt[10]=Ut=>e.formData.TemplatePreparatId=Ut),data:vt.value,"display-expr":e.preparatDisplayExpr,"display-expr-low":e.preparatDisplayExprLow,searchByLowField:!e.nameActionCopyNeed,disabled:!e.formData.ProgramId||e.readOnly||e.nameActionCopyNeed?.state===vue.unref(listStateActionCopy).BLOCK_CHANGE_LP.state,clearable:!e.nameActionCopyNeed},null,8,["modelValue","data","display-expr","display-expr-low","searchByLowField","disabled","clearable"]))]),_:1},8,["text"])]),e.VKtrue?(vue.openBlock(),vue.createElementBlock("div",_hoisted_11$b,[Rt[23]||(Rt[23]=vue.createElementVNode("p",{class:"text-sm font-medium"},"Торговое наименование",-1)),vue.createElementVNode("p",_hoisted_12$a,vue.toDisplayString(vt.value.find(Ut=>Ut.Id==e.formData.TemplatePreparatId)?.TradeName),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_13$9,[vue.createVNode(vue.unref(Zc),{label:"Взаимозаменяемость",modelValue:e.formData.Interchangeability,"onUpdate:modelValue":Rt[11]||(Rt[11]=Ut=>e.formData.Interchangeability=Ut),disabled:e.readOnly},null,8,["modelValue","disabled"]),vue.createCommentVNode("",!0)]),vue.createElementVNode("div",_hoisted_14$7,[vue.createVNode(vue.unref($s),{text:At.value,placement:"top"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$H,{label:"Диагноз",modelValue:e.formData.Mkb10Id,"onUpdate:modelValue":Rt[13]||(Rt[13]=Ut=>e.formData.Mkb10Id=Ut),required:"",clearable:"",disabled:e.isMkbDisabled||e.readOnly,"list-diagnosis":e.listDiagnosis},null,8,["modelValue","disabled","list-diagnosis"])]),_:1},8,["text"])]),vue.createVNode(vue.unref(s$),{label:"Примечание",modelValue:e.formData.Comment,"onUpdate:modelValue":Rt[14]||(Rt[14]=Ut=>e.formData.Comment=Ut),readonly:e.readOnly},null,8,["modelValue","readonly"]),vue.createElementVNode("div",_hoisted_15$6,[vue.createVNode(vue.unref(AA),{id:"CountMonth",label:"Кол-во упаковок на 1 месяц",mask:"0",tokens:"0:\\d:multiple",modelValue:e.formData.CountMonth,"onUpdate:modelValue":Rt[15]||(Rt[15]=Ut=>e.formData.CountMonth=Ut),disabled:e.readOnly,required:"",onInput:Rt[16]||(Rt[16]=Ut=>Pt(Ut))},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(AA),{id:"CountYear",label:"Кол-во упаковок на 1 год",mask:"0",tokens:"0:\\d:multiple",modelValue:e.formData.CountYear,"onUpdate:modelValue":Rt[17]||(Rt[17]=Ut=>e.formData.CountYear=Ut),disabled:e.readOnly,required:"",onInput:Rt[18]||(Rt[18]=Ut=>Pt(Ut))},null,8,["modelValue","disabled"])])],512)]))}},_hoisted_1$v={key:0},_hoisted_2$p={class:"p-3"},_hoisted_3$k={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_4$i={class:"flex justify-end gap-3"},_hoisted_5$h={key:1},_hoisted_6$h={class:"pl-1 pr-1 relative"},_hoisted_7$g={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_sfc_main$C={__name:"ApplicationForm",props:vue.mergeModels({noModal:{type:Boolean,default:!1},needId:{type:String,default:""},waitRequest:{type:Boolean,default:!1},patientId:{type:String,default:"",required:!0},patientSnils:{type:String,default:"",required:!0},userOpen:{type:Object,default:{},required:!0},selectedApplication:{type:Object,default:{}},hiddenControl:{type:Boolean,default:!1},additional:{type:Boolean,default:!1},docAppYear:{type:Number,required:!0},api_listBenefits:{type:Array,default:[]},api_listPreparats:{type:Array,default:[]},api_listProgramms:{type:Array,default:[]},api_historyLgots:{type:Array,default:[]},api_activeLgots:{type:Array,default:[]},api_listDiagnosis:{type:Array,default:[]},api_appDocuments:{type:Array,default:[]}},{readOnly:{default:!1},readOnlyModifiers:{},stateActionCopy:{default:null},stateActionCopyModifiers:{},dataNeedCopy:{default:null},dataNeedCopyModifiers:{},modalVisible:{default:!1},modalVisibleModifiers:{},waitRequest:{default:!1},waitRequestModifiers:{}}),emits:vue.mergeModels(["onSave","onDelete"],["update:readOnly","update:stateActionCopy","update:dataNeedCopy","update:modalVisible","update:waitRequest"]),setup(e,{expose:I,emit:N}){const{getBenefitList:J,getBenefitListV2:V}=useBenefit(),M=e,vt=vue.computed(()=>M.userOpen),_t=N,Et=vue.useModel(e,"readOnly"),Dt=vue.useModel(e,"stateActionCopy"),At=vue.useModel(e,"dataNeedCopy"),Pt=vue.useModel(e,"modalVisible"),Ot=vue.useModel(e,"waitRequest"),Rt=vue.ref(M.api_listProgramms),Ut=vue.ref(M.api_listBenefits),Lt=vue.ref(M.api_listPreparats),Ht=vue.ref(M.api_historyLgots),jt=vue.ref(M.api_activeLgots),Kt=vue.ref(M.api_listDiagnosis),Zt=vue.ref(M.api_appDocuments),mn=vue.ref(null),cn=vue.ref(null),yn=vue.ref(!1),rn=vue.ref(M.selectedApplication),_n=vue.ref(M.hiddenControl),dn=vue.ref(M.needId),sn=Object.values(approvedBenefitProgram),fn=vue.ref(!0),pn=vue.ref(!1),mr=vue.ref("Льгота"),dr=vue.computed(()=>!!vt.value.Permissions.find(da=>["0","1","5","40","41"].includes(da.AccessCode))),tr=vue.ref([]),Jt=vue.ref([]),$n=vue.ref({}),Ln=vue.computed(()=>Jt.value?.find(da=>da.Id===ur.value.TemplatePreparatId)),br=vue.computed(()=>!!Ln.value?.Sign),Cn=vue.ref(null),wn=vue.computed(()=>[{label:"Только ЖВ",value:!0},{label:"Только НЕ ЖВ",value:!1},{label:"Все",value:null}]),Nn=vue.ref(!1),Hn=vue.computed(()=>{if(ur.value?.ProgramId){let da=Jt.value;noSignPrograms.includes(ur.value.ProgramId)&&(da=da.filter(fu=>fu.Sign));let pa=Object.keys(programToPreparat).find(fu=>fu==ur.value.ProgramId);return pa&&(da=da.filter(fu=>fu[programToPreparat[pa]])),da}return[]}),ar=vue.ref([]),vr=vue.ref([]),er=vue.ref([]),rr=vue.ref([]),an=vue.ref(!1),yr=vue.ref(!1),ur=vue.ref({DateNeed:new Date().toLocaleDateString("ru-RU"),Additional:M.additional,Interchangeability:!1});vue.onMounted(()=>{Sr()});const Sr=async()=>{try{if(cf(),await vl(),Et.value)tr.value=rr.value;else{const da=Rt.value?.find(fu=>fu.Id===rn?.value?.Program),pa=da?.BenefitProgramId;if(pa){const fu=er.value?.filter(Qr=>Qr.ProgramId===pa);if(!fu?.length){notifyError$1(`Отсутствует активная льгота по программе ${da.ProgramName}`,15e3,"Нет активных льгот"),tr.value=[];return}tr.value=fu}else tr.value=er.value}lpusWithDivision.includes(vt.value.LpuId)&&rd(),await ro()}catch(da){const pa=da.response?.data?.message||da.message||"Неизвестная ошибка";notifyError$1(`${pa}. Пожалуйста, откройте потребность повторно`,15e3,"Ошибка загрузки данных"),console.error(da)}finally{qo()}};async function qr(){if(ur.value.Id){if(yr.value){notifySuccess("Потребность уже была сохранена. Закройте форму!");return}await No().then(async da=>{ur.value.Id=null,await Pr()}).catch(da=>{da.response.data&&notifyError$1(da.response.data)}).finally(()=>{})}}async function Pr(da=null){if(yr.value=!1,!!cn.value?.reportValidity?.()){if(ur.value.NprNumber||ur.value.NprDate?ur.value.Npr=!0:ur.value.Npr=!1,!ur.value.LgotaId){notifyError$1("Льгота не выбрана");return}if(!ur.value.TemplatePreparatId){notifyError$1("Препарат не выбран");return}if(!br.value&&(!ur.value.NumberVK||!ur.value.DateVK)){notifyError$1("Для выбранного препарата требуется заполнить номер и дату ВК");return}if(ur.value.NprNumber&&!ur.value.NprDate){notifyError$1("Заполните дату НПР для указанного номера НПР");return}if(ur.value.NprDate&&!ur.value.NprNumber){notifyError$1("Заполните номер НПР для указанной даты НПР");return}if(!ur.value.ProgramId){notifyError$1("Программа не выбрана");return}if(lpusWithDivision.includes(vt.value.LpuId)&&!ur.value.DivisionId){notifyError$1("Отделение не выбрано");return}if(pn.value){notifyError$1("Невозможно сохранить потребность при неактивной льготе");return}an.value!=!0&&(cf(),an.value=!0,ur.value.LpuId=vt.value.LpuId,ur.value.EmployeePostId=vt.value.Id,ur.value.PatientId=M.patientId,ur.value.CountMonth=Number(ur.value.CountMonth),ur.value.CountYear=Number(ur.value.CountYear),await window.axios({url:window.localhost+`ApplicationCompany/PatientNeeds?Id=${ur.value.Id??""}${"&AppDocId="+$n.value.Id}`,method:"post",data:ur.value}).then(async pa=>{if(da)return{state:200};ur.value.Id||(ur.value.Id=pa.data.Id),notifySuccess("Сохранено"),_t("onSave"),an.value=!1,yr.value=!0}).catch(pa=>{if(pa.response.data&&notifyError$1(pa.response.data),da)return{state:500};an.value=!1}).finally(()=>{qo()}))}}async function ir(){cf(),await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${ur.value.Id}`).then(async()=>{await ro(),notifySuccess("Удалено"),_t("onDelete"),Pt.value=!1}).catch(da=>{da?.response?.data?.Status?notifyError$1(da.response.data.Status):notifyError$1("Произошла ошибка при удалении")}).finally(()=>qo())}async function No(){return await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${ur.value.Id}`).catch(da=>(da.response.data.Status&&notifyError$1(da.response.data.Status),"error"))}async function Fr(){if(Zt.value?.length===0&&(Zt.value=await window.axios.get(window.localhost+"ApplicationCompany/AppDocuments").then(da=>da.data)),Et.value?$n.value=Zt.value?.filter(da=>da.Name.includes(`${M.docAppYear}`))[0]??[]:$n.value=Zt.value?.filter(da=>!da.Deleted&&da.Name.includes(`${M.docAppYear}`))[0]??[],!$n?.value?.Id){notifyError$1(`Неудалось получить перечень ЛП из шаблона за ${M.docAppYear} год. Пожалуйста, откройте потребность повторно или обратитесь в службу. тех. поддержки!`,15e3,"Ошибка загрузки данных"),Nn.value=!0;return}}async function wr(){Lt.value?.length===0&&(Lt.value=await window.axios.get(window.localhost+`ApplicationCompany/TemplatePreparatList?DocumentId=${$n.value.Id}`).then(pa=>pa.data));const da=Lt?.value?.filter(pa=>pa.AppDocumentId===$n.value.Id);if(!Et.value&&da){const fu=da.filter(Qr=>!Qr.Deleted).filter(Qr=>!Qr.DeletedDate);Jt.value=fu}else Jt.value=da}async function ro(){Ed();let da=null;if(At?.value)da=At.value;else if(M.needId)da=await window.axios.get(window.localhost+`ApplicationCompany/PatientNeeds?Id=${M.needId}`).then(pa=>pa.data[0]);else return;da?.DateNeed&&(da.DateNeed=Dt?.value?new Date().toLocaleDateString("ru-RU"):da.DateNeed),Dt?.value?.state?.includes("change")&&(da.NumberVK=null,da.DateVK=null,da.Npr=!1,da.NprDate=null,da.NprNumber=null),ur.value=da,console.log("formData ",ur.value)}async function Bo(){Rt.value?.length===0&&(Rt.value=await window.axios.get(window.localhost+"PreparatProgram?BaseProgram=true").then(da=>da.data.Body.filter(pa=>pa.BenefitProgramId).map(pa=>({...pa,label:pa.ValidName,Name:pa.ValidName}))))}async function Lr(){try{if(Kt.value?.length===0){const da=await api$1.Mkb.get();Kt.value=da.data}}catch(da){notifyError$1("Ошибка загрузки справочника МКБ. Пожалуйста, откройте потребность повторно",15e3,"Ошибка загрузки данных"),console.error(da)}finally{}}async function ma(){Ht.value?.length===0&&M.patientSnils&&(Ht.value=await J({Snils:M.patientSnils})||null),jt.value?.length===0&&M.patientSnils&&(jt.value=(await V({Snils:M.patientSnils,Monetized:!1,Active:!0,Deleted:!1})).filter(da=>Object.values(sn).includes(da.BenefitProgram))||null),ar.value=Ht.value,vr.value=jt.value}async function ld(){Ut.value?.length===0&&(Ut.value=await window.axios.get(window.localhost+"refs/BenefitMap").then(da=>(da.data?.length?da.data:da.data.Body).map(fu=>({...fu})))),ar.value?.length!==0&&(rr.value=Ut.value?.filter(da=>ar.value.map(pa=>pa.BenefitCodeShort).includes(da.BenefitCodeShort))),vr.value?.length!==0&&(er.value=Ut.value?.filter(da=>vr.value.map(pa=>pa.BenefitCodeShort).includes(da.BenefitCodeShort)))}async function vl(){await Fr(),await wr(),await Lr(),await Bo(),await ma(),await ld()}function Ed(){ur.value={DateNeed:new Date().toLocaleDateString("ru-RU"),Additional:M.additional,Interchangeability:!1}}vue.watch(()=>Cn.value,()=>{ur.value.TemplatePreparatId=null},{deep:!0}),vue.watch(()=>ur.value.LgotaId,async(da,pa)=>{if(da==null){ur.value.Mkb10Id=null,ur.value.ProgramId=null,ur.value.TemplatePreparatId=null,yn.value=!1;return}const Qr=tr.value.find(cd=>cd.Id==ur.value.LgotaId)?.BenefitCodeShort,nu=vr.value.find(cd=>cd.BenefitCodeShort==Qr)?.MkbId;let hl;ur.value.Id?hl=ur.value.Mkb10Id||nu:hl=nu,["Заявка одобрена","Заявка отклонена"].includes(ur.value.ApplicationsStatus)||vr.value.some(ha=>ha.BenefitCodeShort==Qr)||(tr.value=rr.value,hl=ar.value.find(ha=>ha.BenefitCodeShort==Qr)?.MkbId||ur.value.Mkb10Id,mn.value?.$el?.style?.setProperty("background-color","#f9c7c8"),mr.value="Льгота неактивна",pn.value=!0,notifyError$1("Льгота неактивна!",15e3,"ВНИМАНИЕ!"),notifyWarning("Указанная льгота в потребности в данный момент является неактивной! Необходимо принять меры по актуализации потребности(пересоздать) или льготы(восстановить)!",15e3,"Уведомление системы")),ur.value.ProgramId=Rt.value?.find(cd=>cd.BenefitProgramId==tr.value?.find(ha=>ha.Id==ur.value.LgotaId)?.ProgramId)?.Id,hl?(ur.value.Mkb10Id=hl,yn.value=!0):Et.value||(ur.value.Mkb10Id=null,yn.value=!1)},{deep:!0}),vue.watch(()=>ur.value.TemplatePreparatId,(da,pa)=>{if(!da)return;if(Dt?.value?.state===listStateActionCopy.CHANGE_LP.state){const cd=["глюкометр","иглы инсулиновые","инфузионные наборы к инсулиновой помпе","медицинские изделия","резервуар к инсулиновой помпе","Резервуары к инсулиновой помпе","Специализированный продукт лечебного питания","тест для определения содержания глюкозы в крови","тест-полоски","шприц - ручка"],ha=Jt?.value?.find(To=>To.Id===da)?.Mnn?.trim()?.toLowerCase();if(!ha){notifyError$1("Не указан МНН у мед. продукции",15e3,"Ошибка в шаблоне ЛП"),Dt.value=listStateActionCopy.BLOCK_CHANGE_LP,Et.value=!0;return}const Cd=cd.some(To=>ha===To.toLowerCase());if(ha&&!Cd){const To=Jt.value.filter(Ba=>Ba.Mnn?.trim().toLowerCase()===ha);Jt.value=To}else notifyWarning("Изменять по МНН можно только для ЛП",15e3,"Уведомление системы!"),Dt.value=listStateActionCopy.BLOCK_CHANGE_LP}if(!ur.value.ProgramId||!ur.value.TemplatePreparatId)return;const fu=Jt.value?.find(cd=>cd.Id===ur.value.TemplatePreparatId),Qr=Rt.value?.find(cd=>cd.Id===ur.value.ProgramId)?.ProgramName??"Неизвестная программа";let Yo=Hn.value,nu=Yo.some(cd=>cd.Id===ur.value.TemplatePreparatId),hl=(fu?`Неверно выбранный препарат ${fu.Mnn} ${fu.FullName}`:"Не найден препарат в справочнике").trimStart().trimEnd();if(!nu&&Yo?.length>0){const cd=`${hl} для программы ${Qr}`;notifyError$1(cd),Et.value||(notifyWarning("Выберите заново препарат!"),ur.value.TemplatePreparatId=null)}},{deep:!0}),vue.watch(()=>ur.value.Id,da=>{fn.value=!da},{deep:!0});const Ja=vue.computed(()=>ur.value.NumberVK&&ur.value.DateVK);function Tu(da){return da.CodeOKPD2=="1.2.643.5.1.13.13.99.2.1212"&&da.CodeATX=="Лекарственные препараты и специализированные продукты лечебного питания"?da.TradeName:""}function jo(da){const pa=[];return da.Mnn&&pa.push(da.Mnn),da.FullName&&pa.push(da.FullName),da.MaxPriceWithVat&&pa.push(`(Цена: ${da.MaxPriceWithVat??"не указана"})`),da.CountInPackage&&pa.push(`(в уп-ке: ${da.CountInPackage??"не указано"})`),typeof da.Sign=="boolean"&&pa.push(`(${da.Sign?"ЖВ":"Не ЖВ"})`),pa.join(" ")}const Zo=vue.ref([]);async function rd(){Zo.value=await window.axios.get(window.localhost+`Frmo?LpuId=${vt.value.LpuId}&TypeCode=18`).then(da=>da.data)}async function cf(){Ot.value=!0,await vue.nextTick()}function qo(){Ot.value=!1}function Uo(da){const pa=da.target.value;pa.startsWith("0")&&(da.target.value=pa.replace(/^0+/,""),da.target.id==="CountMonth"&&(ur.value.CountMonth=da.target.value),da.target.id==="CountYear"&&(ur.value.CountYear=da.target.value))}return I({save:Pr,loadData:Sr,resetFormData:Ed}),(da,pa)=>e.noModal?(vue.openBlock(),vue.createElementBlock("div",_hoisted_5$h,[vue.createElementVNode("div",_hoisted_6$h,[vue.withDirectives(vue.createElementVNode("div",_hoisted_7$g,[...pa[12]||(pa[12]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Загрузка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,Ot.value]]),vue.createVNode(_sfc_main$D,{ref_key:"formRef",ref:cn,formData:ur.value,readOnly:Et.value,user:vt.value,listDivision:Zo.value,selectListLgots:tr.value,api_listProgramms:Rt.value,listPreparatsFiltered:Hn.value,selectedPreparatSign:br.value,isNewNeed:fn.value,isMkbDisabled:yn.value,VKtrue:Ja.value,isViewSignPreparat:Cn.value,"onUpdate:isViewSignPreparat":pa[7]||(pa[7]=fu=>Cn.value=fu),attributesPreparatTemplate:wn.value,preparatDisplayExpr:jo,preparatDisplayExprLow:Tu,labelLgota:mr.value,onRemoveLeadingZero:Uo,nameActionCopyNeed:Dt.value,listDiagnosis:Kt.value},null,8,["formData","readOnly","user","listDivision","selectListLgots","api_listProgramms","listPreparatsFiltered","selectedPreparatSign","isNewNeed","isMkbDisabled","VKtrue","isViewSignPreparat","attributesPreparatTemplate","labelLgota","nameActionCopyNeed","listDiagnosis"])])])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$v,[vue.createVNode(vue.unref(Ps),{size:"2xl",title:`${rn.value?.Additional??ur.value.Additional?"Дополнительная":"Основная"} заявка${rn.value?.Number?` № ${rn.value.Number}`:""} на ${e.docAppYear} год ${yr.value?"(Сохранено)":""}`,modelValue:Pt.value,"onUpdate:modelValue":pa[5]||(pa[5]=fu=>Pt.value=fu),onKeydown:pa[6]||(pa[6]=vue.withKeys(fu=>Et.value?fu.preventDefault():null,["tab"]))},{default:vue.withCtx(()=>[Nn.value?(vue.openBlock(),vue.createElementBlock("div",{key:0,onKeydown:pa[0]||(pa[0]=vue.withKeys(vue.withModifiers(()=>{},["prevent"]),["tab"])),tabindex:"0",style:{position:"absolute",inset:"0",background:"rgba(200, 200, 200, 0.5)","z-index":"999","pointer-events":"all"}},null,32)):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_2$p,[vue.withDirectives(vue.createElementVNode("div",_hoisted_3$k,[...pa[8]||(pa[8]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Загрузка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,Ot.value]]),vue.createVNode(_sfc_main$D,{ref_key:"formRef",ref:cn,formData:ur.value,readOnly:Et.value,user:vt.value,listDivision:Zo.value,selectListLgots:tr.value,api_listProgramms:Rt.value,listPreparatsFiltered:Hn.value,selectedPreparatSign:br.value,isNewNeed:fn.value,isMkbDisabled:yn.value,VKtrue:Ja.value,isViewSignPreparat:Cn.value,"onUpdate:isViewSignPreparat":pa[1]||(pa[1]=fu=>Cn.value=fu),attributesPreparatTemplate:wn.value,preparatDisplayExpr:jo,preparatDisplayExprLow:Tu,labelLgota:mr.value,onRemoveLeadingZero:Uo,listDiagnosis:Kt.value},null,8,["formData","readOnly","user","listDivision","selectListLgots","api_listProgramms","listPreparatsFiltered","selectedPreparatSign","isNewNeed","isMkbDisabled","VKtrue","isViewSignPreparat","attributesPreparatTemplate","labelLgota","listDiagnosis"])])]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_4$i,[dn.value&&!_n.value?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:0,delete:"",onClick:pa[2]||(pa[2]=fu=>ir(dn.value)),disabled:!dr.value||Et.value||Nn.value,loading:Ot.value},{default:vue.withCtx(()=>[...pa[9]||(pa[9]=[vue.createTextVNode("Удалить",-1)])]),_:1},8,["disabled","loading"])):vue.createCommentVNode("",!0),_n.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:1,primary:"",onClick:pa[3]||(pa[3]=fu=>dn.value?qr():Pr()),loading:Ot.value,disabled:Et.value||Nn.value},{default:vue.withCtx(()=>[...pa[10]||(pa[10]=[vue.createTextVNode("Сохранить",-1)])]),_:1},8,["loading","disabled"])),vue.createVNode(vue.unref(_2),{onClick:pa[4]||(pa[4]=fu=>Pt.value=!1)},{default:vue.withCtx(()=>[...pa[11]||(pa[11]=[vue.createTextVNode("Закрыть",-1)])]),_:1})])]),_:1},8,["title","modelValue"])]))}},_hoisted_1$u=["id"],_hoisted_2$o={key:0,class:"flex justify-end mb-1 flex-none"},_hoisted_3$j={class:"min-h-0 overflow-hidden"},_hoisted_4$h={class:"re-table"},_hoisted_5$g={key:0,class:"text-right"},_hoisted_6$g={class:"flex flex-col"},_hoisted_7$f=["onClick"],_hoisted_8$e={class:"flex flex-col gap-0.5 w-[600px]"},_hoisted_9$c={class:"text-sm text-slate-500 text-center"},_hoisted_10$b={open:"",class:"px-1"},_hoisted_11$a={class:"px-1"},_hoisted_12$9={class:"rs-table-btn"},_hoisted_13$8={class:"flex justify-between items-center text-sm text-slate-500 gap-1"},_hoisted_14$6={class:"flex flex-col gap-1"},_hoisted_15$5=["onClick"],_hoisted_16$5={class:"px-1"},_hoisted_17$4=["onClick"],_hoisted_18$4=["onDblclick"],_hoisted_19$4={key:1},_hoisted_20$4=["onContextmenu","onClick"],_hoisted_21$4={key:0,class:"text-right"},_hoisted_22$4=["onClick","title"],_hoisted_23$4={key:0},_hoisted_24$3={key:1},_hoisted_25$3={key:2},_hoisted_26$3=["title"],_hoisted_27$3=["title"],_hoisted_28$3={key:1},_hoisted_29$3=["onClick"],_hoisted_30$3={key:0},_hoisted_31$2={key:0,class:"bg-slate-100 hover:bg-slate-100 cursor-arrow"},_hoisted_32$2={key:0},_hoisted_33$2={key:1},_hoisted_34$2={key:1},_hoisted_35$1={key:0},_hoisted_36$1={class:"mb-3"},_hoisted_37$1={class:"border rounded p-3 bg-gray-50"},_hoisted_38$1=["onDragstart","onDrop"],_hoisted_39$1={class:"flex items-center gap-2"},_hoisted_40$1={class:"text-sm font-medium"},_hoisted_41$1={class:"flex items-center gap-1"},_hoisted_42$1=["onClick"],_hoisted_43$1=["onClick"],_hoisted_44$1={class:"flex justify-end gap-2"},_hoisted_45$1={class:"flex-none pagination-wrapper"},_hoisted_46$1={class:"flex items-center gap-4"},_hoisted_47$1={key:0,class:"pagination"},_hoisted_48$1=["onClick"],_hoisted_49$1={key:1,class:"flex items-center gap-2"},_hoisted_50$1={class:"text-sm text-slate-400"},STORAGE_KEY_ALL_HIDDEN="table_hidden_columns",STORAGE_KEY_ALL_WIDTHS="table_column_widths",STORAGE_KEY_PAGE_SIZE="table_page_size",STORAGE_KEY_COLUMN_ORDER="table_column_order",_sfc_main$B={__name:"ReSimpleTableAppCompany",props:vue.mergeModels({striped:{type:Boolean,default:!1},columns:{type:Array,default:()=>[]},growOnlyX:{type:Boolean,default:!1},data:{type:Array,default:()=>[]},pageSize:{type:Number,default:999},rowActions:{type:Array,default:()=>[]},rowColor:{type:Function,default:()=>{}},enableXlsxExport:{type:Boolean,default:!1},contextActions:{type:Array,default:()=>[]},rowHorizontal:{type:Boolean,default:!1},tableClass:{type:String,default:""},customPagination:{type:Boolean,default:!1},recordTotal:{type:Number,default:0},tableId:{type:String,required:!0},stickyHeader:{type:Boolean,default:!1},wheelPropagation:{type:Boolean,default:!0},numbering:{type:Boolean,default:!1},enablePageSizeSelector:{type:Boolean,default:!1},footer:{type:Boolean,default:!1},height:{type:String}},{sortDirection:{local:!0,default:null},sortDirectionModifiers:{},sortColumnIndex:{local:!0,default:null},sortColumnIndexModifiers:{},page:{local:!0,default:1},pageModifiers:{}}),emits:vue.mergeModels(["rowClicked","cellClicked"],["update:sortDirection","update:sortColumnIndex","update:page"]),setup(e,{expose:I,emit:N}){const J=N,V=vue.ref({}),M=e,vt=vue.useModel(e,"sortDirection"),_t=vue.useModel(e,"sortColumnIndex"),Et=vue.ref(""),Dt=vue.ref({}),At=vue.ref({}),Pt=vue.ref({}),Ot=vue.ref(!1),Rt=vue.ref([]),Ut=vue.ref(null),Lt=vue.ref(M.pageSize);vue.watch(()=>M.pageSize,()=>{Lt.value=M.pageSize},{immediate:!0});function Ht(){try{const qo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Uo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),da=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");qo[M.tableId]&&(pn.value=qo[M.tableId]),Uo[M.tableId]&&(rn.value=Uo[M.tableId],Kt()),da[M.tableId]&&cf(da[M.tableId])}catch(qo){console.error("Ошибка при загрузке состояния таблицы:",qo)}}function jt(){try{const qo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Uo=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),da=JSON.parse(localStorage.getItem(STORAGE_KEY_PAGE_SIZE)||"{}"),pa=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Object.keys(pn.value).length?qo[M.tableId]=pn.value:delete qo[M.tableId],Object.keys(rn.value).length?Uo[M.tableId]=rn.value:delete Uo[M.tableId],da[M.tableId]=Lt.value,Rt.value.length>0?pa[M.tableId]=Rt.value.map(fu=>fu.originalIndex):delete pa[M.tableId],localStorage.setItem(STORAGE_KEY_ALL_HIDDEN,JSON.stringify(qo)),localStorage.setItem(STORAGE_KEY_ALL_WIDTHS,JSON.stringify(Uo)),localStorage.setItem(STORAGE_KEY_PAGE_SIZE,JSON.stringify(da)),localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(pa))}catch(qo){console.error("Ошибка при сохранении состояния таблицы:",qo)}}async function Kt(){if(await vue.nextTick(),!M.tableId){console.log("Не указан идентификатор таблицы",M.columns),notifyError$1("Не указан идентификатор таблицы");return}const qo=document.getElementById(`table-${M.tableId}`);if(!qo)return;const Uo=qo.querySelector(".re-table");if(!Uo)return;const da=Uo.querySelectorAll("thead th");Object.entries(rn.value).forEach(([pa,fu])=>{const Qr=da[parseInt(pa)];Qr&&fu&&(Qr.style.width=`${fu}px`,Qr.style.minWidth=`${fu}px`)})}vue.onMounted(()=>{ro(),Ht(),document.addEventListener("click",qr),document.addEventListener("keydown",Pr)});const Zt=vue.useModel(e,"page"),mn=vue.ref(!1),cn=vue.ref({x:"0px",y:"0px"}),yn=vue.ref(null),rn=vue.ref({});let _n=!1,dn=null,sn=0,fn=0;const pn=vue.ref({}),mr=vue.ref(!1);let dr=vue.ref(null);function tr(qo){_n=!0,dn=qo.target.parentElement,sn=qo.pageX,fn=dn.offsetWidth,document.addEventListener("mousemove",Jt),document.addEventListener("mouseup",$n),qo.preventDefault()}function Jt(qo){if(!_n)return;const Uo=fn+(qo.pageX-sn);if(Uo>=50){dn.style.width=`${Uo}px`,dn.style.minWidth=`${Uo}px`;const da=document.getElementById(`table-${M.tableId}`);if(!da)return;const pa=da.querySelector(".re-table");if(!pa)return;const fu=pa.querySelectorAll("thead th"),Qr=Array.from(fu).indexOf(dn);Qr!==-1&&(rn.value[Qr]=Uo,jt())}}function $n(){_n=!1,document.removeEventListener("mousemove",Jt),document.removeEventListener("mouseup",$n)}function Ln(qo){const Uo=document.getElementById(`table-${M.tableId}`);if(!Uo)return;const da=Uo.querySelector(".re-table");if(!da)return;const fu=da.querySelectorAll("thead th")[qo];fu&&(fu.style.width="",fu.style.minWidth="120px",delete rn.value[qo],jt())}vue.onUnmounted(()=>{document.removeEventListener("mousemove",Jt),document.removeEventListener("mouseup",$n),document.removeEventListener("click",qr),jt()});const br=vue.computed(()=>{let qo=[...M.data];for(const Uo in V.value)V.value[Uo]&&(typeof Cn.value[Uo]?.Field=="function"?qo=qo.filter(da=>String(Cn.value[Uo].Field(da))?.toLowerCase().indexOf(V.value[Uo]?.toLowerCase())>-1):qo=qo.filter(da=>String(da[Cn.value[Uo].Field])?.toLowerCase().indexOf(V.value[Uo]?.toLowerCase())>-1));for(const Uo in Dt.value)Dt.value[Uo]&&(qo=qo.filter(da=>typeof Cn.value[Uo]?.Field=="function"?Dt.value[Uo].includes(Cn.value[Uo].Field(da)):Dt.value[Uo].includes(da[Cn.value[Uo].Field])));for(const Uo in Pt.value)Pt.value[Uo]&&(qo=qo.filter(da=>{let pa;return typeof Cn.value[Uo]?.Field=="function"?pa=Cn.value[Uo].Field(da):pa=da[Cn.value[Uo].Field],pa==null||pa===""||typeof pa=="string"&&pa.trim()===""}));return _t.value>=0&&vt.value&&(qo=qo.sort((Uo,da)=>typeof Cn.value[_t.value].Field=="function"?typeof Cn.value[_t.value].SortMethod=="function"?Cn.value[_t.value].SortMethod(Uo,da):String(Cn.value[_t.value].Field(Uo))>String(Cn.value[_t.value].Field(da))?1:-1:typeof Cn.value[_t.value].SortMethod=="function"?Cn.value[_t.value].SortMethod(Uo,da):String(Uo[Cn.value[_t.value].Field])>String(da[Cn.value[_t.value].Field])?1:-1),vt.value==="desc"&&(qo=qo.reverse())),qo}),Cn=vue.computed(()=>{let qo=M.columns.filter(Uo=>!pn.value[Uo.Index]);return Rt.value.length>0&&(qo=Rt.value.map(Uo=>qo.find((da,pa)=>pa===Uo.originalIndex))),qo}),wn=vue.computed(()=>M.contextActions.filter(qo=>typeof qo.IsVisible=="function"?qo.IsVisible(yn.value):!0)),Nn=vue.computed(()=>{if(M.customPagination)return M.data;const qo=(Zt.value-1)*parseInt(Lt.value);return br.value.slice(qo,qo+parseInt(Lt.value))}),Hn=vue.computed(()=>M.customPagination?Math.ceil(M.recordTotal/parseInt(Lt.value)):Math.ceil(br.value.length/parseInt(Lt.value))),ar=vue.computed(()=>Hn.value>5?Zt.value<=3?[1,2,3,4,5,"...",Hn.value]:Zt.value>=Hn.value-2?[1,"...",Hn.value-4,Hn.value-3,Hn.value-2,Hn.value-1,Hn.value]:[1,"...",Zt.value-2,Zt.value-1,Zt.value,Zt.value+1,Zt.value+2,"...",Hn.value]:Array.from({length:Hn.value},(qo,Uo)=>Uo+1)),vr=vue.computed(()=>M.customPagination?M.recordTotal:br.value.length);vue.watch(()=>M.data,()=>{M.customPagination||(Zt.value=1,ro())}),vue.watch(()=>Cn.value,(qo,Uo)=>{(!Uo||qo.length!==Uo.length||!qo.every((da,pa)=>da.Title===Uo[pa].Title))&&(V.value={},pn.value={},rn.value={},jt(),ro(),ir(null,null),Dt.value={},Pt.value={})},{deep:!0}),vue.watch(()=>br.value.length,()=>{M.customPagination||(Zt.value=1)}),vue.watch(Lt,()=>{Zt.value=1,jt()});function er(){if(br.value.length===0){notifyError$1("Нет данных для экспорта");return}let qo=[{sheet:"Лист 1",columns:M.columns.map(da=>({label:da.Title,value:pa=>{let fu="";return typeof da.Field=="function"?fu=da.Field(pa):fu=pa[da.Field],da.LowField&&(typeof da.LowField=="function"?fu+=` (${da.LowField(pa)})`:pa[da.LowField]&&(fu+=` (${pa[da.LowField]})`)),fu}})),content:br.value}],Uo={fileName:"Выгрузка данных от "+hooks().format("L HH:mm:ss"),extraLength:3,writeMode:"writeFile"};xlsx(qo,Uo)}function rr(qo,Uo){cn.value={x:qo.pageX+"px",y:qo.pageY+"px"},yn.value=Uo,mn.value=!0}function an(){yn.value=null,mn.value=!1}function yr(qo,Uo){if(mr.value){Sr();return}cn.value={x:qo.pageX,y:qo.pageY},dr.value=Uo,mr.value=!0,mn.value=!1}function ur(qo){if(!pn.value[qo]&&Cn.value.length-Object.values(pn.value).filter(Boolean).length<=1){notifyError$1("Должен быть виден хотя бы один столбец");return}pn.value[qo]=!pn.value[qo],jt()}function Sr(){mr.value=!1,dr.value=null}function qr(qo){const Uo=document.getElementById("headerContextMenuId");Uo&&!Uo.contains(qo.target)&&!qo.target.closest(".header-filter-activator")&&Sr()}function Pr(qo){qo.key==="Escape"&&mr.value&&Sr()}function ir(qo,Uo){_t.value===qo&&vt.value===Uo?(_t.value=null,vt.value=null):(_t.value=qo,vt.value=Uo)}function No(qo){return _t.value===qo||V.value[qo]||Dt.value[qo]?.length>0||Pt.value[qo]}function Fr(){pn.value={},jt()}function wr(qo){let Uo=Dt.value[dr.value]||[];Uo.includes(qo)?Uo=Uo.filter(da=>da!==qo):Uo.push(qo),Dt.value[dr.value]=Uo,Uo.length===0&&delete Dt.value[dr.value]}function ro(){At.value={},Cn.value.forEach((qo,Uo)=>{At.value[Uo]=[],M.data.forEach(da=>{let pa=At.value[Uo]||[];typeof qo.Field=="function"?pa.push(qo.Field(da)):pa.push(da[qo.Field]),At.value[Uo]=pa}),At.value[Uo]=[...new Set(At.value[Uo])],At.value[Uo].sort()})}function Bo(qo){if(!At.value[qo])return[];let Uo=[...At.value[qo]];return Uo=Uo.filter(da=>da&&String(da).toLowerCase().includes(Et.value)),Uo}function Lr(qo){Dt.value[qo]=At.value[qo]}function ma(qo){Pt.value[qo]=!Pt.value[qo],Pt.value[qo]||delete Pt.value[qo]}function ld(qo){let Uo=!1;mn.value&&(an(),Uo=!0),mr.value&&(Sr(),Uo=!0),!Uo&&J("rowClicked",qo)}function vl(){(Rt.value.length>0?Rt.value:null)||(Rt.value=Cn.value.map((Uo,da)=>({originalIndex:da,displayIndex:da,title:Uo.Title}))),Ot.value=!0,Sr()}function Ed(){Ot.value=!1}function Ja(qo,Uo){Ut.value=Uo,qo.dataTransfer.effectAllowed="move"}function Tu(qo,Uo){if(Ut.value===null||Ut.value===Uo)return;const da=Rt.value[Ut.value],pa=[...Rt.value];pa.splice(Ut.value,1),pa.splice(Uo,0,da),pa.forEach((fu,Qr)=>{fu.displayIndex=Qr}),Rt.value=pa,Ut.value=null}function jo(qo,Uo){if(Uo==="up"&&qo>0){const da=Rt.value[qo];Rt.value[qo]=Rt.value[qo-1],Rt.value[qo-1]=da,Rt.value[qo].displayIndex=qo,Rt.value[qo-1].displayIndex=qo-1}else if(Uo==="down"&&qo<Rt.value.length-1){const da=Rt.value[qo];Rt.value[qo]=Rt.value[qo+1],Rt.value[qo+1]=da,Rt.value[qo].displayIndex=qo,Rt.value[qo+1].displayIndex=qo+1}}function Zo(){Rt.value=M.columns.map((qo,Uo)=>({originalIndex:Uo,displayIndex:Uo,title:qo.Title}))}function rd(){const qo=Rt.value.map(Uo=>Uo.originalIndex);try{const Uo=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Uo[M.tableId]=qo,localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(Uo))}catch(Uo){console.error("Ошибка при сохранении порядка столбцов:",Uo)}Ed()}function cf(qo){if(!qo||!Array.isArray(qo))return;const Uo=qo.filter(da=>da>=0&&da<M.columns.length);Uo.length===M.columns.length&&(Rt.value=Uo.map((da,pa)=>({originalIndex:da,displayIndex:pa,title:M.columns[da].Title})))}return I({exportToXlsx:er,filteredData:br,showOnlyEmpty:Pt,filterByValue:Dt,filterOption:V,saveTableState:jt}),(qo,Uo)=>{const da=vue.resolveComponent("PerfectScrollbar");return vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.createElementVNode("div",{style:vue.normalizeStyle({height:M.height}),class:"flex flex-col",id:"table-"+M.tableId},[M.enableXlsxExport?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$o,[vue.createVNode(vue.unref(_2),{onClick:er,prependIcon:"file-arrow-down"},{default:vue.withCtx(()=>[...Uo[11]||(Uo[11]=[vue.createTextVNode("Экспорт в Excel",-1)])]),_:1})])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$j,[vue.createVNode(da,{class:vue.normalizeClass(["h-full pb-4",M.tableClass]),options:{wheelPropagation:M.wheelPropagation}},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_4$h,[vue.createElementVNode("thead",{class:vue.normalizeClass({sticky:M.stickyHeader})},[vue.createElementVNode("tr",null,[M.numbering?(vue.openBlock(),vue.createElementBlock("th",_hoisted_5$g,"№")):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(pa,fu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("th",{class:"min-w-[120px] relative",key:pa.Title},[vue.createVNode(vue.unref(kt),{shown:mr.value&&vue.unref(dr)!==null&&fu===vue.unref(dr),triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$e,[vue.createElementVNode("p",_hoisted_9$c,vue.toDisplayString(Cn.value[vue.unref(dr)]?.Title),1),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":_t.value===vue.unref(dr)&&vt.value==="asc"}]),onClick:Uo[0]||(Uo[0]=Qr=>ir(vue.unref(dr),"asc"))}," Сортировать А > Я ",2),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":_t.value===vue.unref(dr)&&vt.value==="desc"}]),onClick:Uo[1]||(Uo[1]=Qr=>ir(vue.unref(dr),"desc"))}," Сортировать Я > А ",2),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("details",_hoisted_10$b,[Uo[12]||(Uo[12]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Поиск по значению",-1)),vue.createVNode(vue.unref(AA),{type:"text",placeholder:"Введите значение",modelValue:V.value[vue.unref(dr)],"onUpdate:modelValue":Uo[2]||(Uo[2]=Qr=>V.value[vue.unref(dr)]=Qr),modelModifiers:{lazy:!0}},null,8,["modelValue"])]),vue.createElementVNode("details",_hoisted_11$a,[vue.createElementVNode("summary",_hoisted_12$9,[Uo[13]||(Uo[13]=vue.createTextVNode(" Фильтр по значению ",-1)),Dt.value[vue.unref(dr)]?.length>0?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"circle-exclamation"})):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(AA),{placeholder:"Введите значение",modelValue:Et.value,"onUpdate:modelValue":Uo[3]||(Uo[3]=Qr=>Et.value=Qr)},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_13$8,[vue.createElementVNode("p",null," Показано "+vue.toDisplayString(Dt.value[vue.unref(dr)]?.length?Dt.value[vue.unref(dr)].length:At.value[vue.unref(dr)]?.length)+" из "+vue.toDisplayString(At.value[vue.unref(dr)]?.length),1),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Uo[4]||(Uo[4]=Qr=>Lr(vue.unref(dr)))},"Все"),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Uo[5]||(Uo[5]=Qr=>delete Dt.value[vue.unref(dr)])}," Сбросить ")]),vue.createVNode(da,{class:"max-h-[300px] max-w-[600px]"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_14$6,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Bo(vue.unref(dr)),Qr=>(vue.openBlock(),vue.createElementBlock("div",{key:Qr,class:"flex gap-1 select-none cursor-pointer hover:bg-slate-100 rounded",onClick:Yo=>wr(Qr)},[vue.createVNode(vue.unref(Zc),{checked:Dt.value[vue.unref(dr)]?.includes(Qr)},null,8,["checked"]),vue.createElementVNode("p",null,vue.toDisplayString(Qr||"(пусто)"),1)],8,_hoisted_15$5))),128))])]),_:1})]),vue.createElementVNode("details",_hoisted_16$5,[Uo[14]||(Uo[14]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Скрыть столбец",-1)),vue.createElementVNode("p",{class:"text-sm text-slate-500 text-center cursor-pointer hover:text-slate-700 hover:bg-slate-100 rounded",onClick:Fr}," Показать все "),vue.createVNode(da,{class:"max-h-[300px] overflow-y-auto"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(Qr,Yo)=>(vue.openBlock(),vue.createElementBlock("div",{key:Qr.Title,class:"flex items-center gap-1 px-2 py-1 hover:bg-slate-100 cursor-pointer",onClick:nu=>ur(Yo)},[vue.createVNode(vue.unref(Z1),{class:"text-slate-500",name:pn.value[Yo]?"square":"check-square"},null,8,["name"]),vue.createElementVNode("span",null,vue.toDisplayString(Qr.Title),1)],8,_hoisted_17$4))),128))]),_:2},1024)]),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":Pt.value[vue.unref(dr)]}]),onClick:Uo[6]||(Uo[6]=Qr=>ma(vue.unref(dr)))}," Показать только пустые ",2),vue.createVNode(vue.unref(zv1)),vue.createElementVNode("p",{class:"rs-table-btn",onClick:vl},"Изменить порядок столбцов")])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_6$g,[vue.createElementVNode("div",{onClick:Qr=>pa.filterable!=!1?yr(Qr,fu):null,class:"flex flex-row justify-between items-center gap-1 hover:cursor-pointer hover:bg-slate-200 rounded px-2 py-1 header-filter-activator"},[vue.createElementVNode("p",{class:vue.normalizeClass({"whitespace-nowrap":M.growOnlyX})},vue.toDisplayString(pa.Title),3),pa.filterable!=!1?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"filter",class:vue.normalizeClass([{activeFilter:No(fu)},"text-slate-500"])},null,8,["class"])):vue.createCommentVNode("",!0)],8,_hoisted_7$f)])]),_:2},1032,["shown"]),pa.Template?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",{key:0,class:"column-resizer",onMousedown:Uo[7]||(Uo[7]=Qr=>tr(Qr)),onDblclick:Qr=>Ln(fu)},null,40,_hoisted_18$4))])),[[vue.vShow,!pn.value[fu]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("th",_hoisted_19$4,[...Uo[15]||(Uo[15]=[vue.createElementVNode("p",null,"Действия",-1)])])):vue.createCommentVNode("",!0)])],2),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Nn.value,(pa,fu)=>(vue.openBlock(),vue.createElementBlock("tr",{class:vue.normalizeClass({"even:bg-slate-50":M.striped}),onContextmenu:vue.withModifiers(Qr=>rr(Qr,pa),["right","prevent"]),onClick:Qr=>ld(pa),key:pa,style:vue.normalizeStyle({backgroundColor:mn.value&&yn.value===pa?"rgba(0, 0, 0, 0.05)":"",backgroundColor:e.rowColor(pa)})},[M.numbering?(vue.openBlock(),vue.createElementBlock("td",_hoisted_21$4,vue.toDisplayString(Zt.value*parseInt(Lt.value)-parseInt(Lt.value)+1+fu),1)):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(Qr,Yo)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:Qr.Title,class:vue.normalizeClass(["hover:bg-slate-200",typeof Qr.Class=="function"?Qr.Class(pa):Qr.Class]),onClick:nu=>J("cellClicked",{record:pa,column:Qr,index:Yo}),title:typeof Qr.titleOnHover=="function"?Qr.titleOnHover(pa):Qr.titleOnHover},[Qr.Template?(vue.openBlock(),vue.createElementBlock("div",_hoisted_23$4,[vue.renderSlot(qo.$slots,`cell(${Qr.Template})`,{record:pa},void 0,!0)])):Qr.List?(vue.openBlock(),vue.createElementBlock("div",_hoisted_24$3,vue.toDisplayString(Qr.List.find(nu=>nu.Id===pa[Qr.Field])?.Name||""),1)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_25$3,[vue.createElementVNode("p",{class:vue.normalizeClass(["primary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof Qr.Field=="function"?Qr.Field(pa):pa[Qr.Field]},vue.toDisplayString(typeof Qr.Field=="function"?Qr.Field(pa):pa[Qr.Field]),11,_hoisted_26$3),vue.createElementVNode("p",{class:vue.normalizeClass(["secondary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof Qr.LowField=="function"?Qr.LowField(pa):pa[Qr.LowField]},vue.toDisplayString(typeof Qr.LowField=="function"?Qr.LowField(pa):pa[Qr.LowField]),11,_hoisted_27$3)]))],10,_hoisted_22$4)),[[vue.vShow,!pn.value[Yo]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("td",_hoisted_28$3,[vue.createElementVNode("div",{class:vue.normalizeClass(["flex flex-col items-start",{horizontalAction:M.rowHorizontal}])},[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(M.rowActions,Qr=>(vue.openBlock(),vue.createElementBlock("span",{class:"rowAction whitespace-nowrap",onClick:vue.withModifiers(Yo=>Qr.Action(pa),["stop"]),key:Qr},[typeof Qr.IsVisible!="function"||Qr.IsVisible(pa)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_30$3,[Qr.Icon?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:Qr.Icon},null,8,["name"])):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(Qr.Name),1)])):vue.createCommentVNode("",!0)],8,_hoisted_29$3))),128))],2)])):vue.createCommentVNode("",!0)],46,_hoisted_20$4))),128)),M.footer?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_31$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Cn.value,(pa,fu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:pa.Title},[typeof pa.Footer=="function"?(vue.openBlock(),vue.createElementBlock("p",_hoisted_32$2,vue.toDisplayString(pa.Footer(qo.row)),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_33$2,vue.toDisplayString(pa.Footer),1))])),[[vue.vShow,!pn.value[fu]]])),128))])):vue.createCommentVNode("",!0),vr.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",_hoisted_34$2,[...Uo[16]||(Uo[16]=[vue.createElementVNode("td",{colspan:"100",class:"text-center"},[vue.createElementVNode("p",{class:"text-xl text-slate-400 font-semibold"},"Данные отсутствуют")],-1)])]))])])]),_:3},8,["class","options"])]),mn.value?(vue.openBlock(),vue.createElementBlock("div",{id:"contextMenuId",class:"context-menu",key:cn.value,style:vue.normalizeStyle({top:cn.value.y,left:cn.value.x})},[vue.createVNode(vue.unref(Iv1),{spacing:"xs"},{default:vue.withCtx(()=>[wn.value.length?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("p",_hoisted_35$1,"Нет доступных действий контекстного меню")),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(wn.value,pa=>(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:pa,prependIcon:pa.Icon,onClick:fu=>(pa.Action(yn.value),an())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(pa.Name),1)]),_:2},1032,["prependIcon","onClick"]))),128))]),_:1})],4)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Ps),{title:"Изменение порядка столбцов",modelValue:Ot.value,"onUpdate:modelValue":Uo[9]||(Uo[9]=pa=>Ot.value=pa),closeOnClickOutside:!0,class:"p-2"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_44$1,[vue.createVNode(vue.unref(_2),{onClick:Zo,variant:"outline",size:"sm"},{default:vue.withCtx(()=>[...Uo[18]||(Uo[18]=[vue.createTextVNode("Сбросить",-1)])]),_:1}),vue.createVNode(vue.unref(_2),{onClick:rd,size:"sm"},{default:vue.withCtx(()=>[...Uo[19]||(Uo[19]=[vue.createTextVNode("Сохранить",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_36$1,[Uo[17]||(Uo[17]=vue.createElementVNode("p",{class:"text-sm text-gray-600 mb-2"},"Перетащите столбцы для изменения их порядка:",-1)),vue.createElementVNode("div",_hoisted_37$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Rt.value,(pa,fu)=>(vue.openBlock(),vue.createElementBlock("div",{key:pa.originalIndex,class:"flex items-center justify-between p-2 mb-1 bg-white rounded border cursor-move hover:bg-gray-50",draggable:"true",onDragstart:Qr=>Ja(Qr,fu),onDragover:Uo[8]||(Uo[8]=vue.withModifiers(()=>{},["prevent"])),onDrop:Qr=>Tu(Qr,fu)},[vue.createElementVNode("div",_hoisted_39$1,[vue.createVNode(vue.unref(Z1),{name:"grip-vertical",class:"text-gray-400 text-sm"}),vue.createElementVNode("span",_hoisted_40$1,vue.toDisplayString(pa.title),1)]),vue.createElementVNode("div",_hoisted_41$1,[fu>0?(vue.openBlock(),vue.createElementBlock("button",{key:0,onClick:Qr=>jo(fu,"up"),class:"p-1 hover:bg-gray-200 rounded text-xs",title:"Переместить вверх"},[vue.createVNode(vue.unref(Z1),{name:"chevron-up",class:"text-gray-500"})],8,_hoisted_42$1)):vue.createCommentVNode("",!0),fu<Rt.value.length-1?(vue.openBlock(),vue.createElementBlock("button",{key:1,onClick:Qr=>jo(fu,"down"),class:"p-1 hover:bg-gray-200 rounded text-xs",title:"Переместить вниз"},[vue.createVNode(vue.unref(Z1),{name:"chevron-down",class:"text-gray-500"})],8,_hoisted_43$1)):vue.createCommentVNode("",!0)])],40,_hoisted_38$1))),128))])])]),_:1},8,["modelValue"])],12,_hoisted_1$u),vue.createElementVNode("div",_hoisted_45$1,[vue.createElementVNode("div",_hoisted_46$1,[Hn.value>1?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_47$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(ar.value,pa=>(vue.openBlock(),vue.createElementBlock("li",{key:pa,class:vue.normalizeClass({active:pa===Zt.value}),onClick:fu=>pa!=="..."?Zt.value=pa:null},[vue.createElementVNode("a",null,vue.toDisplayString(pa),1)],10,_hoisted_48$1))),128))])):vue.createCommentVNode("",!0),M.enablePageSizeSelector?(vue.openBlock(),vue.createElementBlock("div",_hoisted_49$1,[Uo[21]||(Uo[21]=vue.createElementVNode("span",{class:"text-sm text-slate-500"},"Показать:",-1)),vue.withDirectives(vue.createElementVNode("select",{"onUpdate:modelValue":Uo[10]||(Uo[10]=pa=>Lt.value=pa),class:"text-sm border rounded px-1 py-0.5 w-[60px] border-slate-300"},[...Uo[20]||(Uo[20]=[vue.createElementVNode("option",{value:"5"},"5",-1),vue.createElementVNode("option",{value:"10"},"10",-1),vue.createElementVNode("option",{value:"20"},"20",-1),vue.createElementVNode("option",{value:"100"},"100",-1)])],512),[[vue.vModelSelect,Lt.value]])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_50$1," Записи "+vue.toDisplayString(Zt.value*parseInt(Lt.value)-parseInt(Lt.value)+1)+"-"+vue.toDisplayString(Math.min(Zt.value*parseInt(Lt.value),vr.value))+" из "+vue.toDisplayString(vr.value),1)])],64)}}},ReSimpleTableAppCompany=_export_sfc(_sfc_main$B,[["__scopeId","data-v-947a7d0d"]]),_hoisted_1$t={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_2$n={class:"border rounded p-2 bg-slate-100"},_hoisted_3$i={class:"h-full flex flex-col p-3 gap-3"},_hoisted_4$g=["title"],_hoisted_5$f=["title"],_hoisted_6$f=["title"],_hoisted_7$e=["title"],_hoisted_8$d=["title"],_hoisted_9$b=["title"],_sfc_main$A={__name:"PatientInfoPageAppCompany",props:{patientId:{type:String,default:"",required:!0},patientSnils:{type:String,default:"",required:!0},nameApp:{type:String,default:""},isParentModalExpanded:{type:Boolean,default:!1},minHeightCalcTable:{type:String,default:"calc(100vh - 290px)"},maxHeightCalcTable:{type:String,default:"calc(100vh - 560px)"},isExportExcelTable:{type:Boolean,default:!0}},setup(e){const I=vue.computed(()=>useUserStore().user),N=e,J=vue.computed(()=>N.isParentModalExpanded?N.minHeightCalcTable:N.maxHeightCalcTable),V=vue.ref(!1),M=vue.ref(!1),vt=vue.ref(!1),_t=vue.ref(!1),Et=vue.ref(null),Dt=vue.ref(null),At=vue.ref(null),Pt=vue.ref(!1),Ot=vue.ref([]),Rt=vue.ref(null),Ut=vue.ref([]),Lt=[{Name:"Просмотр",Icon:"eye",Action:sn=>cn(sn.NeedsId,sn.ApplicationId,sn.MessageWarning,sn.Period,sn.AdditionalApp==="Дополнительная")}];vue.onMounted(async()=>{await rn(),Kt(null)});const Ht=vue.computed(()=>{const sn=[];for(let fn=0;fn<listStatuses.length;fn++)sn.push({Id:listStatuses[fn],Name:listStatuses[fn]});return sn}),jt=vue.computed(()=>{if(!Ot.value?.length)return[];const sn=new Set;return Ot.value.forEach(fn=>{if(fn.Name){const pn=fn.Name.match(/\b(20\d{2})\b/);pn&&sn.add({Id:pn[1],Name:pn[1]})}}),Array.from(sn).sort()});async function Kt(sn){_t.value=!1,V.value=!1,At.value=null,Pt.value=!1,Dt.value=null,Et.value=null,vt.value=!1;try{N.patientId&&(M.value=!0,Ut.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientApplications?PatientId=${N.patientId}&Sort=CreateDateApp&Desc=true`,{params:sn||{}}).then(fn=>fn.data.map(pn=>({...pn,AdditionalApp:pn.AdditionalApp===!1?"Основная":"Дополнительная",SumPrepapp:pn.SumPrepapp.replace(".",","),SumPrepappfinal:pn.SumPrepappfinal.replace(".",",")}))))}catch(fn){const pn=fn.response?.data?.message||fn.message||"Неизвестная ошибка";notifyError$1(`${pn}. Пожалуйста, выполните поиск повторно`,15e3,"Ошибка загрузки данных")}finally{M.value=!1}}async function Zt(sn){let fn=await window.axios.get(window.localhost+`ApplicationCompany/Application?ApplicationId=${sn}`).then(pn=>pn.data).catch(pn=>{});return Et.value=fn,fn?(fn.DateClose&&hooks(fn.DateClose).format("YYYY-MM-DD")<hooks().format("YYYY-MM-DD")||fn.Status!="В работе"&&fn.Status!="Заполнение льгот"&&fn.Status!="Проверка"&&fn.Status!="Заявка")&&N.nameApp==="WebBMS"?{status:!0,notify:{type:"warn",message:"Заявка по выбранной потребности закрыта для редактирования",duration:15e3,title:"Доступ для редактирования закрыт"}}:{status:!0,notify:{type:"",message:"",duration:15e3,title:""}}:{status:!1,notify:{type:"error",message:"Заявка по выбранной потребности не найдена",duration:15e3,title:"Ошибка в поиске заявки"}}}function mn(sn){return sn.MessageWarning?"#fff6f6":""}async function cn(sn,fn,pn,mr,dr){if(!sn){notifyWarning(pn,15e3,"Уведомление системы");return}Dt.value=sn,At.value=mr,Pt.value=dr;const{status:tr,notify:Jt}=await Zt(fn);switch(tr&&!Jt?.type&&(V.value=!0,vt.value=!1),tr&&Jt?.type==="warn"&&(V.value=!0,vt.value=!0),Jt.type){case"error":notifyError$1(Jt.message,Jt.duration,Jt.title);break;case"warn":notifyWarning(Jt.message,Jt.duration,Jt.title);break}}async function yn(sn){"filters"in sn&&(sn=sn.filters),sn={...sn},sn&&"Additional"in sn&&(sn.Additional=sn.Additional==="true"),Rt.value=Object.keys(sn).length>0?sn:null,_t.value=!0;try{await Kt(Rt.value)}catch(fn){notifyError$1(`Ошибка при загрузке данных:
1301
1301
  `+fn.message)}finally{_t.value=!1}}vue.watch(()=>V.value,sn=>{sn||(_t.value=!1,V.value=!1,At.value=null,Pt.value=!1,Dt.value=null,Et.value=null,vt.value=!1)});async function rn(){const sn=await window.axios.get(window.localhost+"ApplicationCompany/AppDocuments",{params:{Deleted:!1}});Ot.value=sn.data}const _n=vue.computed(()=>[{name:"Потребность есть в карте пациента",type:"select",accessor:"IsNeed",list:[{Id:"IsCreate",Name:"Да"},{Id:"IsNotCreate",Name:"Нет"}],style:{width:"16rem",minWidth:"16rem",maxWidth:"16rem"}},{name:"Заявка",type:"select",accessor:"Additional",list:[{Id:"false",Name:"Основная"},{Id:"true",Name:"Допонительная"}],style:{width:"12rem",minWidth:"12rem",maxWidth:"12rem"},default:"false"},{name:"Статус заявки",type:"select",accessor:"Status",list:Ht.value,style:{width:"15rem",minWidth:"15rem",maxWidth:"15rem"}},{name:"Период",type:"select",accessor:"Period",list:jt.value,style:{width:"13rem",minWidth:"13rem",maxWidth:"13rem"}},{name:"Программа",type:"select",accessor:"ProgramId",list:Object.entries(approvedBenefitProgramToPreparatProgramm).map(([sn,fn])=>({Id:sn,Name:approvedBenefitProgram[fn]})),style:{width:"15rem",minWidth:"15rem",maxWidth:"15rem"}}]),dn=[{Title:"№",Field:"ApplicationNumber",SortMethod:(sn,fn)=>{const pn=parseInt(sn.ApplicationNumber,10),mr=parseInt(fn.ApplicationNumber,10);return pn-mr}},{Title:"Заявка",Field:"AdditionalApp"},{Title:"Дата создания",Field:sn=>sn.CreateDateTimeApp?hooks.utc(sn.CreateDateTimeApp).format("DD.MM.YYYY"):""},{Title:"Дата закрытия",Field:sn=>sn.DateCloseApp?hooks(sn.DateCloseApp).format("DD.MM.YYYY"):""},{Title:"Статус",Field:"StatusApp",Class:"whitespace-nowrap"},{Title:"Комментарий к заявке",Field:"CommentApp",Class:"!p-0 w-[303px] min-w-[303px] max-w-[303px] h-[70px] min-h-[70px] max-h-[200px]",Template:"CommentApp"},{Title:"Период",Field:"Period",SortMethod:(sn,fn)=>{const pn=parseInt(sn.Period,10),mr=parseInt(fn.Period,10);return pn-mr}},{Title:"ЛПУ",Field:"LpuName",Class:"whitespace-nowrap"},{Title:"Отделение",Field:"DivisionName"},{Title:"Программа",Field:"Program"},{Title:"Категория",Field:"LgotaCode",SortMethod:(sn,fn)=>{const pn=parseInt(sn.LgotaCode,10)||0,mr=parseInt(fn.LgotaCode,10)||0;return pn-mr}},{Title:"Заболевание по МКБ-10",Field:"MkbCode"},{Title:"Номер ВК",Field:"NumberVk",SortMethod:(sn,fn)=>{const pn=parseInt(sn.NumberVk,10)||0,mr=parseInt(fn.NumberVk,10)||0;return pn-mr}},{Title:"Дата ВК",Field:sn=>sn.DateVk?hooks(sn.DateVk).format("DD.MM.YYYY"):""},{Title:"Наличие НПР в потребности",Field:sn=>sn.PnNpr?"Да":"Нет"},{Title:"Номер НПР в потребности",Field:"PnNprNumber",SortMethod:(sn,fn)=>{const pn=parseInt(sn.PnNprNumber,10)||0,mr=parseInt(fn.PnNprNumber,10)||0;return pn-mr}},{Title:"Дата НПР в потребности",Field:sn=>sn.PnNprDate?hooks(sn.PnNprDate).format("DD.MM.YYYY"):""},{Title:"МНН",Field:"Mnn",Class:"!p-0 w-[303px] min-w-[303px] max-w-[303px] h-[70px] min-h-[70px] max-h-[200px]",Template:"Mnn"},{Title:"Торговое наименование",Field:"TradeName",Class:"!p-0 w-[303px] min-w-[303px] max-w-[303px] h-[70px] min-h-[70px] max-h-[200px]",Template:"TradeName"},{Title:"Описание",Field:"Description",Class:"!p-0 w-[303px] min-w-[303px] max-w-[303px] h-[70px] min-h-[70px] max-h-[200px]",Template:"Description"},{Title:"Дозировка",Field:"Dosage",Class:"!p-0 w-[303px] min-w-[303px] max-w-[303px] h-[70px] min-h-[70px] max-h-[200px]",Template:"Dosage"},{Title:"ЖВ",Field:sn=>sn.Sign?"Да":"Нет"},{Title:"Взаимозаменяемость",Field:sn=>sn.Interchangeability?"Да":"Нет"},{Title:"Кто создал/редактировал потребность",Field:"PnEmployeePostFIO"},{Title:"Количество упаковок на месяц",Field:"CountMonth",SortMethod:(sn,fn)=>{const pn=parseInt(sn.CountMonth,10)||0,mr=parseInt(fn.CountMonth,10)||0;return pn-mr}},{Title:"Количество упаковок на год",Field:"CountYear",SortMethod:(sn,fn)=>{const pn=parseInt(sn.CountYear,10)||0,mr=parseInt(fn.CountYear,10)||0;return pn-mr}},{Title:"Количество упаковок в сводной потребности на год",Field:"CountPrepapp",SortMethod:(sn,fn)=>{const pn=parseInt(sn.CountPrepapp,10)||0,mr=parseInt(fn.CountPrepapp,10)||0;return pn-mr}},{Title:"Сумма в сводной потребности на год",Field:"SumPrepapp",SortMethod:(sn,fn)=>{const pn=parseFloat(sn.SumPrepapp,10)||0,mr=parseFloat(fn.SumPrepapp,10)||0;return pn-mr}},{Title:"Количество упаковок в сводной заявке на год",Field:"CountPrepappfinal",SortMethod:(sn,fn)=>{const pn=parseInt(sn.CountPrepappfinal,10)||0,mr=parseInt(fn.CountPrepappfinal,10)||0;return pn-mr}},{Title:"Сумма в сводной заявке на год",Field:"SumPrepappfinal",SortMethod:(sn,fn)=>{const pn=parseFloat(sn.SumPrepappfinal,10)||0,mr=parseFloat(fn.SumPrepappfinal,10)||0;return pn-mr}},{Title:"Комментарий к потребности",Field:"CommentNeed",Class:"!p-0 w-[303px] min-w-[303px] max-w-[303px] h-[70px] min-h-[70px] max-h-[200px]",Template:"CommentNeed"},{Title:"Сообщение системы",Field:"MessageWarning",Class:"whitespace-nowrap"}];return(sn,fn)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.withDirectives(vue.createElementVNode("div",_hoisted_1$t,[...fn[4]||(fn[4]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Обработка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,M.value]]),vue.createElementVNode("div",_hoisted_2$n,[vue.createVNode(_sfc_main$I,{"filter-list":_n.value,onSearch:yn,class:"flex justify-end gap-2"},null,8,["filter-list"])]),vue.createElementVNode("div",_hoisted_3$i,[fn[5]||(fn[5]=vue.createElementVNode("div",{class:"flex items-center gap-1"},[vue.createElementVNode("p",{class:"text-xs"},"Примечание:"),vue.createElementVNode("div",{class:"flex px-2 text-xs h-7 items-center",style:{background:"#fff0f0"}},"Потребность в карте пациента отсутствует, но имеется в своде")],-1)),vue.createVNode(ReSimpleTableAppCompany,{ref:"refTableAppCompany","enable-xlsx-export":N.isExportExcelTable,data:Ut.value,columns:dn,"page-size":20,"enable-page-size-selector":"","table-id":"appsList","context-actions":Lt,rowColor:mn,height:J.value,"sticky-header":"true"},{"cell(CommentApp)":vue.withCtx(({record:pn})=>[vue.createElementVNode("span",{title:pn.CommentApp},[vue.createVNode(vue.unref(s$),{modelValue:pn.CommentApp,"onUpdate:modelValue":mr=>pn.CommentApp=mr,class:"mw-[300px] min-w-[300px] max-w-[300px] h-[70px] min-h-[70px] max-h-[200px]",readonly:!0,style:vue.normalizeStyle({backgroundColor:mn(pn)})},null,8,["modelValue","onUpdate:modelValue","style"])],8,_hoisted_4$g)]),"cell(Mnn)":vue.withCtx(({record:pn})=>[vue.createElementVNode("span",{title:pn.Mnn},[vue.createVNode(vue.unref(s$),{modelValue:pn.Mnn,"onUpdate:modelValue":mr=>pn.Mnn=mr,class:"w-[300px] min-w-[300px] max-w-[300px] h-[70px] min-h-[70px] max-h-[200px]",readonly:!0,style:vue.normalizeStyle({backgroundColor:mn(pn)})},null,8,["modelValue","onUpdate:modelValue","style"])],8,_hoisted_5$f)]),"cell(TradeName)":vue.withCtx(({record:pn})=>[vue.createElementVNode("span",{title:pn.TradeName},[vue.createVNode(vue.unref(s$),{modelValue:pn.TradeName,"onUpdate:modelValue":mr=>pn.TradeName=mr,class:"w-[300px] min-w-[300px] max-w-[300px] h-[70px] min-h-[70px] max-h-[200px]",readonly:!0,style:vue.normalizeStyle({backgroundColor:mn(pn)})},null,8,["modelValue","onUpdate:modelValue","style"])],8,_hoisted_6$f)]),"cell(Dosage)":vue.withCtx(({record:pn})=>[vue.createElementVNode("span",{title:pn.Dosage},[vue.createVNode(vue.unref(s$),{modelValue:pn.Dosage,"onUpdate:modelValue":mr=>pn.Dosage=mr,class:"w-[302px] min-w-[302px] max-w-[302px] h-[70px] min-h-[70px] max-h-[200px]",readonly:!0,style:vue.normalizeStyle({backgroundColor:mn(pn)})},null,8,["modelValue","onUpdate:modelValue","style"])],8,_hoisted_7$e)]),"cell(CommentNeed)":vue.withCtx(({record:pn})=>[vue.createElementVNode("span",{title:pn.CommentNeed},[vue.createVNode(vue.unref(s$),{modelValue:pn.CommentNeed,"onUpdate:modelValue":mr=>pn.CommentNeed=mr,class:"w-[300px] min-w-[300px] max-w-[300px] h-[70px] min-h-[70px] max-h-[200px]",readonly:!0,style:vue.normalizeStyle({backgroundColor:mn(pn)})},null,8,["modelValue","onUpdate:modelValue","style"])],8,_hoisted_8$d)]),"cell(Description)":vue.withCtx(({record:pn})=>[vue.createElementVNode("span",{title:pn.Description},[vue.createVNode(vue.unref(s$),{modelValue:pn.Description,"onUpdate:modelValue":mr=>pn.Description=mr,class:"w-[300px] min-w-[300px] max-w-[300px] h-[70px] min-h-[70px] max-h-[200px]",readonly:!0,style:vue.normalizeStyle({backgroundColor:mn(pn)})},null,8,["modelValue","onUpdate:modelValue","style"])],8,_hoisted_9$b)]),_:1},8,["enable-xlsx-export","data","height"])]),V.value?(vue.openBlock(),vue.createBlock(_sfc_main$C,{key:0,"user-open":I.value,"patient-id":N.patientId,"patient-snils":N.patientSnils,"selected-application":Et.value,"need-id":Dt.value,"read-only":!0,"hidden-control":!0,additional:Pt.value,"doc-app-year":At.value,"modal-visible":V.value,"onUpdate:modalVisible":fn[0]||(fn[0]=pn=>V.value=pn),"wait-request":_t.value,"onUpdate:waitRequest":fn[1]||(fn[1]=pn=>_t.value=pn),onOnSave:fn[2]||(fn[2]=pn=>Kt()),onOnDelete:fn[3]||(fn[3]=pn=>Kt())},null,8,["user-open","patient-id","patient-snils","selected-application","need-id","additional","doc-app-year","modal-visible","wait-request"])):vue.createCommentVNode("",!0)],64))}},_sfc_main$z={__name:"RSMKBSelect",props:{modelValue:{type:String,default:""},idField:{type:String,default:"Id"},filterFunction:{type:Function,default:()=>!0}},emits:["update:modelValue"],setup(e,{emit:I}){const N=vue.ref({Id:null,Code:null,SearchStr:null}),J=e,V=I,M=vue.ref(!1),vt=vue.ref(null),_t=vue.ref([]);vue.watch(()=>J.modelValue,Ot=>{vt.value=Ot,_t.value.find(Rt=>Rt[J.idField]===Ot)||Et({[J.idField]:Ot})},{immediate:!0});async function Et(Ot){M.value=!0;const Rt=await window.axios.get(window.localhost+"refs/Mkb10",{params:{...N.value,...Ot}});_t.value=Rt.data.Body.filter(Ut=>!Pt(Ut)&&J.filterFunction(Ut))||[],M.value=!1}function Dt(Ot){Et({SearchStr:Ot})}function At(Ot){V("update:modelValue",Ot[J.idField])}function Pt(Ot){return!!(["J47","E10","C82","C85","D66","D67","G35","E84"].includes(Ot.Code)||Ot.Code.indexOf(".")===-1)}return(Ot,Rt)=>(vue.openBlock(),vue.createBlock(_sfc_main$E,{modelValue:vt.value,"onUpdate:modelValue":Rt[0]||(Rt[0]=Ut=>vt.value=Ut),onOnSelectObject:At,data:_t.value,onInput:Dt,label:"Диагноз","display-expr":["Code","Name"],"id-field":e.idField,isLoading:M.value},null,8,["modelValue","data","id-field","isLoading"]))}},BenefitCodesChildren=Object.freeze({CHILDREN_NMG_START:"302",CHILDREN_NMG_END:"303",CHILDREN_THREE:"601",CHILDREN_CIRCLEGOODNESS:"931"}),BenefitCodesMapFederal=Object.freeze([{Regional:"506",Federal:"205",RequiredMkb:!0},{Regional:"516",Federal:"210",RequiredMkb:!0},{Regional:"519",Federal:"213",RequiredMkb:!0},{Regional:"522",Federal:"211",RequiredMkb:!0},{Regional:"547",Federal:"083",RequiredMkb:!1},{Regional:"574",Federal:"082",RequiredMkb:!1},{Regional:"575",Federal:"084",RequiredMkb:!1}]),today=getStrLocalDate();function getStrLocalDate(e=null){try{const I=e?new Date(e):new Date;return isNaN(I.getTime())?null:I.toLocaleDateString("fr-CA")}catch{return null}}function setStrYearLocalDate(e,I=null,N=null){try{const J=getStrLocalDate(e);if(!J)return null;const V=new Date(J);return I&&V.setFullYear(V.getFullYear()+I),N&&V.setMonth(V.getMonth()+N),V.toLocaleDateString("fr-CA")}catch{return null}}function isFindActiveProgrammCategory(e,I){return I.some(N=>{const J=N.BenefitProgram===e.ProgramName,V=(!N.DateOut||N.DateOut>today)&&!N.Deleted,M=e.BenefitCodeShort!=N.BenefitCodeShort;return J&&V&&M})}function isFindActiveOrMonetizInPerson(e){return e.some(I=>I.BenefitProgram==="ОНЛС"&&(!I.DateOut||I.DateOut>today||I.Monetization)&&!I.Deleted)}function findLastOldActiveOnls(e){const I=e?.filter(N=>N.BenefitProgram==="ОНЛС")?.sort((N,J)=>new Date(N.DateIn)-new Date(J.DateIn));if(I&&I.length>0){(!I[0].DateOut||I[0].DateOut<=today)&&!I[0].Monetization&&I[0].Deleted;const N=new Date(I[0].DateIn);return new Date(today).getFullYear()-N.getFullYear()<=3}return!1}function isFindActiveInvalidInPerson(e,I){const N=["081","082","083","084"];return I.some(J=>J.BenefitProgram==="ОНЛС"&&N.includes(J.BenefitCodeShort)&&(!J.DateOut||J.DateOut>today||J.Monetization)&&!J.Deleted&&e.BenefitCodeShort!=J.BenefitCodeShort)}function isFindInvalidBenefitCodeShort(e){return["081","082","083","084"].includes(e.BenefitCodeShort)}function isExistCategoryPerson(e,I){return I.some(N=>N.BenefitProgram===e.ProgramName&&N.BenefitCodeShort===e.BenefitCodeShort)}function isResultValidateOnls(e,I,N){return e&&I&&N}function isResultValidateNotOnls(e,I){return e&&I}function existFindedBenefit(e,I){return I.filter(J=>{const V=J.BenefitProgram===e.ProgramName,M=e.BenefitCodeShort==J.BenefitCodeShort;return V&&M&&!J.Deleted})}function findReferenceFederal(e,I){const N=BenefitCodesMapFederal.find(M=>M.Regional===e.BenefitCodeShort);if(!N)return null;let J=null,V=null;return I.some(M=>{const vt=(!M.DateOut||M.DateOut>today)&&!M.Deleted,_t=M.BenefitCodeShort===N.Federal,Et=M.Ds===e.Ds;if(vt&&_t||M.Monetization&&_t)return J=_t,N.RequiredMkb&&(V=Et),!0}),{referenceCategory:N,statusCategory:J,statusMkb:V}}function useCheckAddedBenefit(e,I,N,J=null,V=null,M=null){const{DateIn:vt,DateOut:_t}=e,Et=e.ProgramName==="ОНЛС",Dt=e.Annulate,At=isFindActiveProgrammCategory(e,I),Pt=(!_t||_t>today)&&!Dt,Ot=isFindInvalidBenefitCodeShort(e),Rt=isFindActiveInvalidInPerson(e,I),Ut=isExistCategoryPerson(e,I),Lt=Ut?"редактировании":"добавлении",Ht=Ut?"активировать":"добавить";if(Et&&isResultValidateOnls(Rt,Ot,Pt)&&Pt)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Невозможно ${Ht} инвалидность по коду ${e.BenefitCodeShort} программы ОНЛС так как уже имеется активная`,displayTime:15e3}};if(!Et&&isResultValidateNotOnls(At,Pt)&&Pt)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Невозможно ${Ht} категорию по коду ${e.BenefitCodeShort} программы ${e.ProgramName} так как уже имеется активная. Для добавления новой льготы необходимо закрыть уже активную`,displayTime:15e3}};if(existFindedBenefit(e,I).length>1&&!M)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Невозможно отредактировать категорию по коду ${e.BenefitCodeShort} программы ${e.ProgramName} так как имеются дубли. Обратитесь в тех. поддержку Минздрава отдела ЛЛО`,displayTime:15e3}};if(vt&&vt>today)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Указан некорректный период действия льготы. Дата начала льготы больше текущей даты!",displayTime:15e3}};if(vt&&V!=null&&!V&&vt<today&&!["510","901","902","903","904","905","906"].includes(e.BenefitCodeShort))return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Указан некорректный период действия льготы. Дата начала льготы меньше текущей даты!",displayTime:15e3}};if(vt&&_t&&vt>=_t)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Указан некорректный период действия льготы. Дата начала льготы не может быть равна или больше дате конца льготы!",displayTime:15e3}};if(!N?.BirthDate&&Object.values(BenefitCodesChildren).includes(e.BenefitCodeShort))return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Для категорий 302, 303, 601, 931 необходимо чтобы дата рождения пациента была указана",displayTime:15e3}};if((!vt||!_t)&&(Object.values(BenefitCodesChildren).includes(e.BenefitCodeShort)||["510","901","902","903","904","905"].includes(e.BenefitCodeShort)))return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Для категории 302, 303, 510, 601, 901, 902, 903, 904, 905, 931 дата начала и дата конца льготы не может быть пустой!",displayTime:15e3}};if(e.BenefitCodeShort===BenefitCodesChildren.CHILDREN_NMG_START){const cn=setStrYearLocalDate(N.BirthDate,2),yn=setStrYearLocalDate(cn,2);if(vt<cn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории НМГ-дети (дети от 2 до 4 лет) дата начала не может быть меньше даты ${new Date(cn).toLocaleDateString("ru-RU")}`,displayTime:15e3}};if(_t>=yn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории НМГ-дети (дети от 2 до 4 лет) дата конца не может быть больше ${new Date(yn).toLocaleDateString("ru-RU")}`,displayTime:15e3}}}if(e.BenefitCodeShort===BenefitCodesChildren.CHILDREN_NMG_END){const cn=setStrYearLocalDate(N.BirthDate,4),yn=setStrYearLocalDate(cn,14);if(vt<cn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории НМГ-дети (дети от 4 до 17 лет включительно) дата начала не может быть меньше даты ${new Date(cn).toLocaleDateString("ru-RU")}`,displayTime:15e3}};if(_t>=yn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории НМГ-дети (дети от 4 до 17 лет включительно) дата конца не может быть больше ${new Date(yn).toLocaleDateString("ru-RU")}`,displayTime:15e3}}}if(e.BenefitCodeShort===BenefitCodesChildren.CHILDREN_THREE){const cn=N.BirthDate,yn=setStrYearLocalDate(cn,3);if(vt<cn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Для категории дети до 3-х лет дата начала льготы не может быть меньше даты рождения",displayTime:15e3}};if(_t>=yn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории дети до 3-х лет дата конца льготы не может быть больше ${new Date(yn).toLocaleDateString("ru-RU")}`,displayTime:15e3}}}if(e.BenefitCodeShort==="510"){const cn=setStrYearLocalDate(today,null,6);if(_t>cn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории 510 (инфаркт миокарда (первые шесть месяцев)) дата конца не может быть больше ${new Date(cn).toLocaleDateString("ru-RU")}`,displayTime:15e3}}}if(["901","902","903","904","905"].includes(e.BenefitCodeShort)){const cn=setStrYearLocalDate(today,2);if(_t>cn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории по ССЗ (901, 902, 903, 904, 905) дата конца не может быть больше ${new Date(cn).toLocaleDateString("ru-RU")}`,displayTime:15e3}}}if(isFindActiveOrMonetizInPerson(I)&&e.ProgramName==="ССЗ"&&(!V||_t>today))return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Невозможно добавить/редактировать льготу по ССЗ при наличии активной или монетизированной категории ОНЛС. Если ССЗ активна, то необходимо её закрыть!",displayTime:15e3}};if(findLastOldActiveOnls(I)&&e.ProgramName==="ССЗ"&&(!V||_t>today))return{status:"checkOnls",notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Для добавления ССЗ при неактивной ОНЛС необходимо сообщить код запроса администратору ЛЛО МЗ РБ для получения кода потверждения",displayTime:15e3}};if(e.BenefitCodeShort===BenefitCodesChildren.CHILDREN_CIRCLEGOODNESS){const cn=N.BirthDate,yn=setStrYearLocalDate(cn,19);if(vt<cn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:"Для категории Фонд Круг добра дата начала льготы не может быть меньше даты рождения",displayTime:15e3}};if(_t>=yn)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для категории Фонд Круг добра дата конца льготы не может быть больше ${new Date(yn).toLocaleDateString("ru-RU")}`,displayTime:15e3}}}const mn=findReferenceFederal(e,I);if(mn){if(!mn.statusCategory&&Pt)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Для региональной категории ${mn.referenceCategory.Regional} требуется наличие активной федеральной категории ${mn.referenceCategory.Federal}`,displayTime:15e3}};if(mn.statusCategory&&mn.statusMkb===!1)return{status:!1,notifyParam:{title:`Ошибка при ${Lt} категории`,message:`Указанная МКБ региональной категории ${mn.referenceCategory.Regional} не совпадает с МКБ активной федеральной категорией ${mn.referenceCategory.Federal}`,displayTime:15e3}}}return{status:!0,notifyParam:{title:"",message:"",displayTime:15e3}}}function useCheckCategoryExists(e,I){const N=I.value?.filter(J=>J.BenefitCodeShort===e);return!N||N.length===0?{status:!1,notifyParam:{title:"Ошибка при определении новой категории",message:`Указанная категория ${e} отсутствует в справочнике BenefitMap`,displayTime:15e3},result:null}:N.length>1?{status:!1,notifyParam:{title:"Ошибка при определении новой категории",message:`Указанная категория ${e} имеет дубликаты в справочнике BenefitMap`,displayTime:15e3},result:null}:{status:!0,notifyParam:{title:"",message:"",displayTime:15e3},result:N[0]}}function useValidateSnils(e){if(e=e.toString().replace(/\D/g,""),e.length!=11||Number(e.substring(0,9))<=1001998)return!1;const N=isNaN(Number(e.slice(-2)))?-1:Number(e.slice(-2));return N>-1?calculate(e)==N:!1}function calculate(e){const N=e.slice(0,9).split("");e.slice(-2);let J=0,V=9;for(let M=0;M<N.length;M++){const vt=parseInt(N[M],10);isNaN(vt)||(J+=vt*V,V--)}for(;J>99;){if(J===100)return 0;J%=101}return J}const _hoisted_1$s={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_2$m={class:"flex m-[1rem] flex-row flex-wrap gap-[.5rem] items-end"},_hoisted_3$h={key:0,class:"w-[10rem]"},_hoisted_4$f={class:"w-[13rem]"},_hoisted_5$e={class:"w-[10rem]"},_hoisted_6$e={class:"flex flex-col"},_hoisted_7$d={class:"w-[100%]"},_hoisted_8$c={key:0,class:"text-red-500 bg-red-50 p-1 rounded-md"},_hoisted_9$a={class:"w-[100%]"},_hoisted_10$a={key:1,class:"w-[100%]"},_hoisted_11$9={class:"flex gap-[1rem]"},MINZDRAV_ID$1="9d1790e4-965e-46d3-878f-c8c5ce7ae8c6",RKIB_ID$1="3ef9a148-4f1f-4bfc-9717-ef876f210b7b",_sfc_main$y={__name:"BenefitForm",props:{editBenefit:{type:[Object,null],default:null},snils:{type:String,default:null},permisionLgot:{type:Object,required:!0},patientOpen:{type:Object,default:{},required:!0},userOpen:{type:Object,default:{},required:!0}},emits:["save","delete","error"],setup(e,{emit:I}){const{getBenefitListV2:N}=useBenefit(),J=I,V=e,M=vue.computed(()=>V.userOpen),vt=vue.computed(()=>V.patientOpen),_t=vue.ref({Endministrator:{Id:"86d86dd3-0f57-421a-a1e0-5765149d96ce",IsActive:M?.value?.UserId=="86d86dd3-0f57-421a-a1e0-5765149d96ce"},Root:{Id:"3fc433b5-a61f-4775-a925-abbbadb92150",IsActive:M?.value?.UserId=="3fc433b5-a61f-4775-a925-abbbadb92150"}}),Et=vue.inject("isAdmin")||_t.value.Endministrator.IsActive||_t.value.Root.IsActive,Dt=vue.ref(!1),At=vue.ref({Snils:V.snils,EmployeePostId:M.value.Id}),Pt=vue.ref({Person:null,IsValidSnils:!1}),Ot=vue.ref([]),Rt=vue.ref([]),Ut=vue.ref(!1),Lt=vue.ref(!1),Ht=vue.ref(!0),jt=vue.ref(!1),Kt=vue.ref(!1),Zt=vue.ref(!1),mn=vue.ref(!1),cn=vue.ref(!1),yn=vue.computed(()=>(!M.value?.AccessCodes||!M.value.AccessCodes.includes(0))&&V.editBenefit?.Id&&V.editBenefit.EmployeePostId!==M.value.Id),rn=vue.computed(()=>yn.value||!At.value.BenefitCodeShort||!Pt.value?.IsValidSnils),_n=vue.ref({noSnils:"Укажите снилс для выбора категории",noCategory:"Выберите категорию льготы для ввода других параметров"}),dn=vue.computed(()=>At.value.Snils?At.value.BenefitCodeShort?null:_n.value.noCategory:_n.value.noSnils);let sn=null;wn(),fn();async function fn(){switch(await window.axios.get(window.localhost+"refs/BenefitMap",{params:{LpuIdForAccess:MINZDRAV_ID$1}}).then(Hn=>{Ot.value=Hn.data.Body}).finally(()=>{Nn()}),M.value.LpuId){case RKIB_ID$1:Ot.value=Ot.value.filter(Hn=>Hn.id==="88afb49a-4350-4ea1-aed3-e31f4de22bfa");break;case vt?.value?.LpuId:Ot.value=Ot.value.filter(Hn=>!["ОНЛС","ВЗН","Орфанные заболевания","Фонд Круг добра"].includes(Hn.ProgramName));break;default:M?.value?.LpuId!==MINZDRAV_ID$1&&!Et&&(Ot.value=Ot.value.filter(Hn=>!["ОНЛС","ВЗН","Орфанные заболевания","Фонд Круг добра","Хронический Гепатит C"].includes(Hn.ProgramName)));break}}vue.watch(()=>V.editBenefit,Hn=>{Hn&&(jt.value=!0,pn(Hn.BenefitCodeShort).then(()=>{At.value={Id:Hn.PatientBenefitId??Hn.Id,Snils:Hn.Snils,EmployeePostId:M.value.Id,Ds:Hn.Ds,DateIn:Hn.DateIn,DateOut:Hn.DateOut,BenefitCodeShort:Hn.BenefitCodeShort,Monetization:Hn.Monetization,Deleted:Hn.Deleted},At.value.Snils&&V.snils&&At.value.Snils!==V.snils&&(notifyError$1("Код ошибки 57195"),J("error",new Error("Критическое неравенство СНИЛС"))),V.snils&&(At.value.Snils=V.snils)}))},{immediate:!0,deep:!0}),vue.watch(()=>At.value.BenefitCodeShort,Hn=>{if(pn(Hn),Hn&&(parseInt(Hn)>=901&&parseInt(Hn)<=906||parseInt(Hn)===510)){Kt.value=!0;return}Kt.value=!1},{immediate:!0});function pn(Hn){return wn(),new Promise(ar=>{(!rn.value&&sn!==Hn||!Hn)&&(Rt.value=[],At.value.Ds=null),Hn?(sn=Hn,window.axios.get(window.localhost+"ReportServiceV2",{params:{Id:"46b51d40-777d-4dbb-83de-2ff88a8ed102",_param1_:Hn}}).then(vr=>{Rt.value=vr.data||[],ar(!0)}).catch(vr=>{notifyError$1("Произошла ошибка при попытке загрузить диагнозы для льготы, попробуйте позже"),J("error",vr),console.error(vr),ar(!1)}).finally(()=>{Nn()})):(At.value.DateIn=null,At.value.DateOut=null,Nn(),ar(!0))})}let mr=null;vue.watch(()=>At.value.Snils,Hn=>{clearTimeout(mr),mr=setTimeout(async()=>{try{if(Hn?.length===14){if(!useValidateSnils(Hn)){notifyError$1("Ошибка в номере СНИЛС",15e3,"Введённый СНИЛС неверен"),Pt.value.IsValidSnils=!1;return}wn();const{data:ar}=await api$1.Patient.get({Snils:Hn});if(ar.length>1){notifyError$1("По указанному СНИЛС найдены дублирующие записи. Необходимо объединить данные.",15e3,"Ошибка при поиске пациента"),Pt.value.IsValidSnils=!1;return}Pt.value.Person=ar[0],Pt.value.IsValidSnils=!0}else Pt.value.IsValidSnils=!1}catch{notifyError$1("Ошибка при отправке запроса",15e3,"Необходимо заново открыть форму Льгота. При повторной ошибке необходимо обратиться в СТП ЛЛО Минздрав")}finally{Nn()}},500)},{immediate:!0});function dr(Hn){return At.value.BenefitCodeShort==="999"}async function tr(){try{if(await wn(),At.value?.Snils&&At.value?.BenefitCodeShort&&(Rt.value.length===0||At.value.Ds)&&At.value.DateIn){At.value.EmployeePostId=M.value.Id;const Hn=At.value.Snils,ar=At.value.BenefitCodeShort,vr=await N({Snils:Hn}),er={...useCheckCategoryExists(ar,Ot)};if(!er.status){notifyError$1(er.notifyParam.message,er.notifyParam.displayTime,er.notifyParam.title);return}const rr={...er.result,DateIn:At.value.DateIn,DateOut:At.value.DateOut,Annulate:At.value.Deleted,Ds:At.value.Ds,EmployeePostId:At.value.EmployeePostId,IdNewBenefit:At.value.Id,Monetization:At.value.Monetization};if(!Et){const ur={...useCheckAddedBenefit(rr,vr,Pt.value.Person,M.value,jt.value,Et)};if(ur.status==="checkOnls"&&!cn.value&&(mn.value=!0,notifyWarning(ur.notifyParam.message,ur.notifyParam.displayTime,ur.notifyParam.title),await Cn(),cn.value=!1,mn.value=!1),!ur?.status){notifyError$1(ur.notifyParam.message,ur.notifyParam.displayTime,ur.notifyParam.title);return}}if(!jt.value&&ar==="999"&&!window.confirm(`Вы подтверждаете добавление льготы по категории 999?
1302
1302
  Данная категория не относится к "304 - НМГ Беременные"!`))return;let an;At.value?.Id?an=api$1.PatientBenefit.put(At.value.Id,At.value):an=api$1.PatientBenefit.post(At.value);const yr=await an;J("save",yr.data.Body[0])}else notifyWarning("Заполните обязательные поля!")}catch(Hn){notifyError$1(Hn.message,15e3,"Произошла ошибка при сохранении льготы")}finally{Nn()}}function Jt(){wn(),api$1.PatientBenefit.delete(At.value.Id).then(()=>{J("delete")}).catch(Hn=>{notifyError$1(Hn.message,15e3,"Не удалось аннулировать льготу!")}).finally(()=>{Nn()})}vue.watch(()=>At.value.DateIn,(Hn,ar)=>{if((Hn!==null||Hn!==void 0)&&Hn!=ar&&hooks(Hn).isValid()&&Hn.length===10){const er=parseInt(At.value?.BenefitCodeShort);if(!er||jt.value)return;er>=901&&er<=905&&(notifySuccess("Дата окончания льготы автоматически установлена на 2 года"),At.value.DateOut=hooks(At.value.DateIn).add(2,"year").format("YYYY-MM-DD")),er===510&&(notifySuccess("Дата окончания льготы автоматически установлена на 6 месяцев"),At.value.DateOut=hooks(At.value.DateIn).add(6,"month").format("YYYY-MM-DD"))}});async function $n(Hn){if(!Hn)return;const{BenefitCodeShort:ar}=Hn;if(Ut.value=!1,Lt.value=!1,Zt.value=!1,!ar)return;const vr=parseInt(ar);if((vr<901||vr>905)&&vr!=510&&(At.value.DateIn=getStrLocalDate(),At.value.DateOut=null,notifySuccess("Дата начала льготы автоматически установлена текущим днём"),Lt.value=!0),vr>=901&&vr<=905||vr===510){notifyWarning("Укажите дату постановки на учёт. Дата начала льготы будет соответствовать дате постановки на учёт"),At.value.DateIn=null,At.value.DateOut=null,Ut.value=!0;return}if((vr>=532&&vr<=572||[574,575,601].includes(vr))&&(Zt.value=!0),Pt.value?.Person?.BirthDate){const er=Pt.value.Person.BirthDate;if(vr===parseInt(BenefitCodesChildren.CHILDREN_THREE)){At.value.DateOut=hooks(er).add(3,"year").subtract(1,"day").format("YYYY-MM-DD"),notifySuccess("Дата окончания льготы автоматически установлена на 3 года"),Lt.value=!1;return}if(vr===parseInt(BenefitCodesChildren.CHILDREN_NMG_START)){At.value.DateOut=hooks(er).add(4,"year").subtract(1,"day").format("YYYY-MM-DD"),notifySuccess("Дата окончания льготы автоматически установлена на 4 года с даты рождения"),Lt.value=!1;return}if(vr===parseInt(BenefitCodesChildren.CHILDREN_NMG_END)){At.value.DateOut=hooks(er).add(18,"year").subtract(1,"day").format("YYYY-MM-DD"),notifySuccess("Дата окончания льготы автоматически установлена на 18 лет с даты рождения"),Lt.value=!1;return}if(vr===parseInt(BenefitCodesChildren.CHILDREN_CIRCLEGOODNESS)){At.value.DateOut=hooks(er).add(19,"year").subtract(1,"day").format("YYYY-MM-DD"),notifySuccess("Дата окончания льготы автоматически установлена на 19 лет с даты рождения"),Lt.value=!1;return}}}function Ln(Hn){return["901","902","903","904","905"].includes(Hn.BenefitCodeShort)?!Ht.value:!1}const br=Hn=>{cn.value=Hn.status,Hn.status?notifySuccess(Hn.message,15e3,"Выдача разрешения на добавление льготы ССЗ"):notifyError$1(Hn.message,15e3,"Выдача разрешения на добавление льготы ССЗ")},Cn=()=>new Promise(Hn=>{const ar=vue.watch(cn,vr=>{vr&&(ar(),Hn())})});async function wn(){Dt.value=!0,await vue.nextTick()}function Nn(){Dt.value=!1}return(Hn,ar)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.withDirectives(vue.createElementVNode("div",_hoisted_1$s,[...ar[10]||(ar[10]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Загрузка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,Dt.value]]),vue.createElementVNode("div",null,[vue.createElementVNode("div",_hoisted_2$m,[V.snils?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$h,[vue.createVNode(vue.unref(AA),{label:"СНИЛС",mask:"###-###-### ##",required:"",modelValue:At.value.Snils,"onUpdate:modelValue":ar[0]||(ar[0]=vr=>At.value.Snils=vr),disabled:yn.value},null,8,["modelValue","disabled"])])),vue.createElementVNode("div",_hoisted_4$f,[vue.createVNode(_sfc_main$P,{modelValue:At.value.DateIn,"onUpdate:modelValue":ar[1]||(ar[1]=vr=>At.value.DateIn=vr),label:Kt.value?"Дата постановки на учёт":"Дата начала",required:"",disabled:(rn.value||!Ut.value)&&!vue.unref(Et)},null,8,["modelValue","label","disabled"])]),vue.createElementVNode("div",_hoisted_5$e,[vue.createVNode(_sfc_main$P,{modelValue:At.value.DateOut,"onUpdate:modelValue":ar[2]||(ar[2]=vr=>At.value.DateOut=vr),label:"Дата конца",disabled:(rn.value||!Lt.value)&&!jt.value},null,8,["modelValue","disabled"])]),vue.withDirectives(vue.createElementVNode("div",_hoisted_6$e,[vue.createVNode(vue.unref(Zc),{label:"Монетизирована",modelValue:At.value.Monetization,"onUpdate:modelValue":ar[3]||(ar[3]=vr=>At.value.Monetization=vr),disabled:!vue.unref(Et)||rn.value},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(Zc),{label:"Аннулирована",modelValue:At.value.Deleted,"onUpdate:modelValue":ar[4]||(ar[4]=vr=>At.value.Deleted=vr),disabled:!vue.unref(Et)||rn.value},null,8,["modelValue","disabled"])],512),[[vue.vShow,vue.unref(Et)]]),vue.createElementVNode("div",_hoisted_7$d,[dn.value?(vue.openBlock(),vue.createElementBlock("p",_hoisted_8$c,vue.toDisplayString(dn.value),1)):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$E,{"max-option-count":9999,disabled:yn.value||!Pt.value.IsValidSnils||jt.value,required:"",label:"Категория льготы",modelValue:At.value.BenefitCodeShort,"onUpdate:modelValue":ar[5]||(ar[5]=vr=>At.value.BenefitCodeShort=vr),onOnSelectObject:$n,data:Ot.value,"option-disabled":Ln,"id-field":"BenefitCodeShort","display-expr":vr=>"("+vr.BenefitCodeShort+") "+vr.BenefitNameLong,clearable:""},null,8,["disabled","modelValue","data","display-expr"])]),vue.createElementVNode("div",_hoisted_9$a,[Rt.value.length===0||At.value.BenefitCodeShort==="999"?(vue.openBlock(),vue.createBlock(_sfc_main$z,{key:0,idField:"Code",modelValue:At.value.Ds,"onUpdate:modelValue":ar[6]||(ar[6]=vr=>At.value.Ds=vr),disabled:rn.value||Zt.value,"filter-function":dr,clearable:""},null,8,["modelValue","disabled"])):(vue.openBlock(),vue.createBlock(_sfc_main$O,{key:1,label:"Диагноз",required:"",data:Rt.value,modelValue:At.value.Ds,"onUpdate:modelValue":ar[7]||(ar[7]=vr=>At.value.Ds=vr),idField:"Code",disabled:rn.value||Zt.value,"display-expr":vr=>"("+vr.Code+") "+vr.Name,clearable:""},null,8,["data","modelValue","disabled","display-expr"]))]),At.value?.EmployeePostId?(vue.openBlock(),vue.createElementBlock("div",_hoisted_10$a,[vue.createVNode(_sfc_main$N,{disabled:"","other-lpu":"",modelValue:At.value.EmployeePostId,"onUpdate:modelValue":ar[8]||(ar[8]=vr=>At.value.EmployeePostId=vr),label:"Врач, который сохранит льготу"},null,8,["modelValue"])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_11$9,[vue.createVNode(vue.unref(_2),{label:"Сохранить",onClick:tr,disabled:rn.value},null,8,["disabled"]),At.value?.Id?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:0,label:"Аннулировать",delete:"",onClick:Jt,disabled:rn.value},null,8,["disabled"])):vue.createCommentVNode("",!0)])])]),(vue.openBlock(),vue.createBlock(vue.resolveDynamicComponent(V.permisionLgot),{visible:mn.value,"onUpdate:visible":ar[9]||(ar[9]=vr=>mn.value=vr),onSuccess:br},null,40,["visible"]))],64))}},_hoisted_1$r={class:"content-wrapper"},_hoisted_2$l={class:"fields-section"},_hoisted_3$g={class:"action-buttons"},XOR_KEY=42108,_sfc_main$x={__name:"PermissionLgot",props:{isAdmin:{type:Boolean,default:null},visible:{type:Boolean,default:null}},emits:["update:visible","success"],setup(e,{emit:I}){const N=I,J=e,V=vue.ref(""),M=vue.ref(""),vt=vue.ref(0),_t=vue.computed(()=>J?.isAdmin||!1),Et=vue.computed({get:()=>J.visible,set:Ot=>N("update:visible",Ot)});vue.watch(Et,Ot=>{Ot&&!_t.value&&Pt()}),vue.watch(()=>V.value,()=>{M.value=""});const Dt=()=>{try{if(_t.value){const Kt=parseInt(V.value,10);if(isNaN(Kt)){notifyError$1("Введите корректный код запроса",15e3,"Выдача разрешения на добавление льготы ССЗ");return}const Zt=new Date,mn=Math.floor((Zt-new Date(Zt.getFullYear(),0,0))/(1e3*60*60*24)),cn=Zt.getFullYear(),yn=Kt^XOR_KEY^mn^cn;M.value=yn.toString();return}const Ot=parseInt(M.value,10);if(isNaN(Ot)){notifyError$1("Введите корректный код подтверждения",15e3,"Выдача разрешения на добавление льготы ССЗ");return}const Rt=parseInt(V.value,10),Ut=new Date,Lt=Math.floor((Ut-new Date(Ut.getFullYear(),0,0))/(1e3*60*60*24)),Ht=Ut.getFullYear(),jt=Rt^XOR_KEY^Lt^Ht;Ot===jt?N("success",{message:"Код корректный",status:!0}):N("success",{message:"Код неверный",status:!1})}catch(Ot){notifyError$1(`${Ot.message}`,15e3,"Ошибка")}},At=()=>{Et.value=!1,V.value="",M.value=""};function Pt(){let Ot=Math.floor(Math.random()*99e3)+1e3;Ot=Ot&4294967040,Ot=Ot^9012345,vt.value=Ot,V.value=Ot.toString()}return(Ot,Rt)=>(vue.openBlock(),vue.createBlock(vue.unref(Ps),{onClose:At,size:"xl",class:"p-4",modelValue:Et.value,"onUpdate:modelValue":Rt[2]||(Rt[2]=Ut=>Et.value=Ut),title:"Выдача разрешения на добавление льготы ССЗ",hideExpandedButton:!0},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$r,[vue.createElementVNode("div",_hoisted_2$l,[vue.createVNode(vue.unref(AA),{label:"Код запроса:",modelValue:V.value,"onUpdate:modelValue":Rt[0]||(Rt[0]=Ut=>V.value=Ut),required:_t.value,readonly:!_t.value,clearable:_t.value,class:"form-field",mask:"#########"},null,8,["modelValue","required","readonly","clearable"]),vue.createVNode(vue.unref(AA),{label:"Код подтверждения:",modelValue:M.value,"onUpdate:modelValue":Rt[1]||(Rt[1]=Ut=>M.value=Ut),required:!_t.value,readonly:_t.value,clearable:!_t.value,class:"form-field",mask:"#########"},null,8,["modelValue","required","readonly","clearable"])]),vue.createElementVNode("div",_hoisted_3$g,[vue.createVNode(vue.unref(_2),{onClick:Dt,"prepend-icon":"lock-open",color:_t.value?"warning":"success",size:"lg",primary:""},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(_t.value?"Разблокировать":"Принять"),1)]),_:1},8,["color"]),vue.createVNode(vue.unref(_2),{onClick:At,"prepend-icon":"circle-xmark",color:"secondary",outline:"",size:"lg",delete:""},{default:vue.withCtx(()=>[...Rt[3]||(Rt[3]=[vue.createTextVNode(" Закрыть ",-1)])]),_:1})])])]),_:1},8,["modelValue"]))}},PermissionLgot=_export_sfc(_sfc_main$x,[["__scopeId","data-v-c8a29744"]]),_hoisted_1$q={class:"flex flex-col gap-3"},_hoisted_2$k={key:0,class:"border rounded p-2 bg-slate-100"},_hoisted_3$f={key:1,class:"flex justify-end gap-2 py-2"},_hoisted_4$e=["title"],_hoisted_5$d=["title"],_hoisted_6$d={key:2,class:"text-sm text-right text-gray-500"},_hoisted_7$c={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_8$b={class:"flex flex-col gap-4"},_hoisted_9$9={class:"flex justify-end gap-2"},_hoisted_10$9=["title"],_hoisted_11$8={class:"flex gap-4 justify-end"},_hoisted_12$8={class:"flex-1 gap-4"},_hoisted_13$7={class:"flex flex-col border rounded p-4 gap-4"},_hoisted_14$5={class:"flex gap-4"},_hoisted_15$4={class:"flex flex-col border rounded p-4 gap-4"},_hoisted_16$4={class:"flex justify-end gap-2"},BURYAT_PHARMACY_ID="6fe08f39-a61e-4687-96a5-7f599ca9e5df",RKIB_ID="3ef9a148-4f1f-4bfc-9717-ef876f210b7b",MINZDRAV_ID="9d1790e4-965e-46d3-878f-c8c5ce7ae8c6",_sfc_main$w={__name:"NewBenefitList",props:{userOpen:{type:Object,default:{},required:!0},dataPatient:{type:{},default:null,require:!0},customRowClickHandler:{type:[Function,null],default:null},infoOnly:{type:Boolean,default:!1},selectable:{type:Boolean,default:!1},frlloFilters:{type:Object,default:{}},isMainViewTable:{type:Boolean,default:!1},nameProject:{type:String,default:"WebBMS",required:!0},viewFilter:{type:Boolean,default:!0},filterList:{type:Array,default:()=>[]},columnsMainTable:{type:Array,default:()=>[]},visibleHelperStateLgota:{type:Boolean,default:!0},visibleExportExcel:{type:Boolean,default:!0},visibleContextTable:{type:Boolean,default:!0},hiddenLgots:{type:Boolean,default:!1},allowedProgrammsApplications:{type:Array,default:!1}},setup(e,{expose:I}){const N=e,J=vue.computed(()=>N.userOpen),V=vue.ref(J.value.LpuId===MINZDRAV_ID),M=vue.ref([]),vt=vue.ref([]),_t=vue.ref(!1),Et=vue.ref(!1),Dt=vue.ref([]),At=vue.ref({Endministrator:{Id:"86d86dd3-0f57-421a-a1e0-5765149d96ce",IsActive:J?.value?.UserId=="86d86dd3-0f57-421a-a1e0-5765149d96ce"},Root:{Id:"3fc433b5-a61f-4775-a925-abbbadb92150",IsActive:J?.value?.UserId=="3fc433b5-a61f-4775-a925-abbbadb92150"}}),Pt=vue.inject("isAdmin")||At.value.Endministrator.IsActive||At.value.Root.IsActive;api$1.LpuByRegionId.get("03").then(Pr=>{M.value=Pr.data});const Ot=vue.computed(()=>N.dataPatient.PatientSnils?{Snils:N.dataPatient.PatientSnils}:{}),Rt=vue.ref(N.isMainViewTable),{getBenefitList:Ut,getBenefitListV2:Lt}=useBenefit(),Ht=vue.ref(!1),jt=vue.ref([]),Kt=vue.ref(!1),Zt=vue.ref(null),mn=vue.ref([]),cn=vue.ref({}),yn=vue.ref(!1),rn=vue.ref({}),_n=[{Name:"История",Icon:"history",Action:tr}];function dn(Pr){const ir=N.nameProject,No=[],Fr=[];switch(Pr){case"registerControl":return!!(Pt||ir!="Pharmacy"&&ir!="MZ"&&ir!="Stock"||No.includes(J?.value?.UserId)||Fr.includes(J?.value?.LpuId));case"getRegister":return J?.value?.LpuId===BURYAT_PHARMACY_ID}}vue.watch(()=>[rn.value.BenefitCodeShort,rn.value.ProgramName,rn.value.LpuIdPrikrep],()=>{rn.value.FileName=sn()});function sn(){return`${rn.value.BenefitCodeShort||"Все-льготы"}_${rn.value.ProgramName?.replace(/\s/g,"-")||"Все-программы"}_${M.value.find(Pr=>Pr.Id===rn.value.LpuIdPrikrep)?.Name?.replace(/\s/g,"-")||"Все-МО"}_${hooks().format("YYYY-MM-DD_HH-mm-ss")}`}function fn(){rn.value={},yn.value=!0,rn.value.FileName=sn()}async function pn(){Ht.value=!0;try{const Pr=await window.axios.get(window.localhost+"dbf/export",{params:rn.value});Pr.data?.File&&Pr.data?.Name?mr(Pr.data):notifyError$1("Нет данных для экспорта")}catch(Pr){notifyError$1(`Ошибка при экспорте:
1303
1303
  `+Pr.message)}finally{Ht.value=!1}}function mr(Pr){let ir="data: application/x-zip-compressed;base64,"+Pr.File,No=document.createElement("a");No.href=ir,No.setAttribute("download",Pr.Name),document.body.appendChild(No),No.click(),document.body.removeChild(No)}async function dr(Pr){"filters"in Pr&&(Pr=Pr.filters),Pr={...Ot.value,...Pr,...N.frlloFilters},cn.value=Pr,Ht.value=!0;try{let ir=await Lt(Pr);if(N.hiddenLgots){const No=hooks().startOf("day"),Fr=ir.filter(ro=>{const Bo=hooks(ro.DateIn).startOf("day"),Lr=hooks(ro.DateOut??"2999-12-12").startOf("day");return!ro.Deleted&&!ro.Monetization&&(!ro.DateOut||No.isBetween(Bo,Lr,null,"[]"))});if(ir=[...new Map(Fr.map(ro=>[ro.Snils,ro])).values()].map(ro=>{let Bo=null;N.allowedProgrammsApplications&&(Bo=Object.keys(N.allowedProgrammsApplications));const Lr=Fr.filter(ma=>ma.Snils===ro.Snils).map(ma=>ma.BenefitProgram);return{...ro,BenefitProgramsActive:[...new Set(Lr)].join(", ")}}),!ir?.length)throw{message:"Не найден пациент или отсутствуют активные льготы у пациента",code:"NO_DATA_PATIENT_OR_ACTIVE_LGOTS",status:404}}jt.value=ir}catch(ir){jt.value=[];const No=ir.message||"Неизвестная ошибка",Fr=ir.code||"UNKNOWN_ERROR";notifyError$1(`Ошибка при загрузке данных: ${No}`,15e3,`${Fr}`)}finally{Ht.value=!1}}async function tr(Pr){const ir=await Ut({Snils:Pr.Snils,BenefitCodeShort:Pr.BenefitCodeShort},!1);mn.value=ir,Zt.value=Pr,Kt.value=!0}function Jt(){mn.value=[],Zt.value=null}const $n={ОНЛС:[null],ВЗН:[null],"Орфанные заболевания":[null],П890:["ALL"],ССЗ:["ALL"],"Паллиативная помощь":["ALL"],"Сахарный диабет":["ALL"],"Дети до трёх лет":["ALL"],"Фонд Круг добра":[null],"Незарег. ЛП.":[null],"НМГ(Беременные)":["ALL"],"НМГ(Дети)":["ALL"],"Хронический Гепатит C":[RKIB_ID]};function Ln(Pr){const ir=$n[Pr?.BenefitProgram]?.includes(J.value.LpuId),No=$n[Pr?.BenefitProgram]?.includes(J.value.UserId),Fr=$n[Pr?.BenefitProgram]?.includes("ALL")&&dn("registerControl")&&J.value.LpuId!==RKIB_ID,wr=!Object.keys($n).includes(Pr?.BenefitProgram),ro=J.value.LpuId===N.dataPatient?.LpuId&&Pr?.BenefitProgram==="Хронический Гепатит C";if(!Rt.value)if(ir||No||Fr||wr||Pt||ro){const{Id:Bo,LogDateTime:Lr,PatientBenefitId:ma,...ld}=Pr;Zt.value=ld,N.infoOnly?notifyWarning("Данные только в режиме просмотра",15e3,"Ограничено системой"):vr()}else notifyWarning("У вас нет прав на редактирование данной льготы",15e3,"Ограничено системой");if(typeof N.customRowClickHandler=="function"){N.customRowClickHandler(Pr);return}}function br(){Kt.value=!1,Ln(mn.value[0])}function Cn(Pr){if(Pr?.Deleted)return"#f9c7c8";if(Pr?.Monetization)return"#f3c77a";let ir=hooks().startOf("day"),No=hooks(Pr.DateIn).startOf("day"),Fr=hooks(Pr.DateOut??"2999-12-12").startOf("day");return!Pr.DateOut||ir.isBetween(No,Fr,null,"[]")?"#cbe4cb":"#dedee1"}BenefitProgram(Pr=>vt.value=Pr.map(ir=>({...ir,Benefits:JSON.parse(ir.Benefits)}))),BenefitMap(Pr=>Dt.value=Pr);const wn=["Snils","Fio","AttachedMo"],Nn=vue.computed(()=>{if(N.filterList?.length)return N.filterList;let Pr=[{accessor:"Fio",type:"text",name:"Ф.И.О."},{accessor:"ProgramId",type:"select",list:vt.value,name:"Программа"},{accessor:"BenefitCodeShort",type:"select",name:"Код льготы",relation:({values:ir})=>ir?.ProgramId?vt.value.find(No=>ir.ProgramId===No.Id).Benefits:Dt.value,display:ir=>"("+ir.BenefitCodeShort+") "+ir.BenefitNameLong,idField:"BenefitCodeShort",style:{width:"20rem"}},{accessor:"Snils",type:"text",name:"СНИЛС",mask:"###-###-### ##"},{accessor:"Monetized",type:"select",name:"Монетизация",list:[{Id:"false",Name:"Не монетизированные"},{Id:"true",Name:"Монетизированные"}],placeholder:"Все"},{accessor:"AttachedMo",type:"select",list:M.value,name:"МО прикрепления",style:{width:"15rem"}},{accessor:"Active",type:"select",list:[{Id:"true",Name:"Активные"},{Id:"false",Name:"Неактивные"}],name:"Активность",placeholder:"Все",style:{width:"10rem"}},{accessor:"InMis",type:"select",list:[{Id:"true",Name:"Есть данные"},{Id:"false",Name:"Нет данных"}],name:"Данные пациента в МИС",placeholder:"Все",style:{width:"15rem"}},{accessor:"Deleted",type:"select",placeholder:"Неаннулированные",list:[{Id:"all",Name:"Все"},{Id:"true",Name:"Аннулированные"}],name:"Состояние",style:{width:"15rem"}}];return N.dataPatient.PatientSnils&&(Pr=Pr.filter(ir=>!wn.includes(ir.accessor))),V||(Pr=Pr.filter(ir=>ir.accessor!=="InMis")),Pr});vue.watch(()=>N.dataPatient.PatientSnils,()=>{N.dataPatient.PatientSnils&&dr({})},{immediate:!0});const Hn=vue.computed(()=>[{name:"Ф.И.О.",accessor:"PatientFio"},{name:"Дата рождения",display:ir=>hooks(ir.PatientBirthdate).format("DD.MM.YYYY")},{name:"МО прикрепления",accessor:"AttachedMoName"},{name:"Программа",accessor:"BenefitProgram"},{name:"СНИЛС",accessor:"Snils"},{name:"Полис",accessor:"PolicyNumber"},{name:"Страховая компания",accessor:"SmoName",Template:"SmoName"},{name:"Диагноз",accessor:"Ds"},{name:"Код льготы",accessor:"BenefitCodeShort"},{name:"Категория льготности",accessor:"BenefitName",Template:"BenefitName"},{name:"Адрес проживания",accessor:"AddressFact"},{name:"Адрес регистрации",accessor:"AddressReg"},{name:"Монетизирована",accessor:"MonetizationText"},{name:"Дата начала",display:ir=>ir?.DateIn?hooks(ir.DateIn).format("DD.MM.YYYY"):"-"},{name:"Дата конца",display:ir=>ir?.DateOut?hooks(ir.DateOut).format("DD.MM.YYYY"):"-"},{name:"Статус ФРЛЛО",display:ir=>ir?.FrlloStatus?ir.FrlloStatus:"Не выгружен"},{name:"Дата изменения",display:ir=>hooks(ir.LogDateTime).format("DD.MM.YYYY HH:mm:ss")},{name:"Пользователь",display:ir=>(ir.EmployeeLastname||"").trim()+" "+(ir.EmployeeFirstname||"").trim()+" "+(ir.EmployeePatronymic||"").trim()}].filter(ir=>!ir.hidden).map(ir=>({Title:ir.name,Field:typeof ir.display=="function"?ir.display:ir.accessor,Template:ir?.Template}))),ar=vue.computed(()=>[{name:"Программа",accessor:"BenefitProgram"},{name:"Диагноз",accessor:"Ds"},{name:"Код льготы",accessor:"BenefitCodeShort"},{name:"Категория льготности",accessor:"BenefitName",Template:"BenefitName"},{name:"Монетизирована",accessor:"MonetizationText"},{name:"Дата начала",display:ir=>ir?.DateIn?hooks(ir.DateIn).format("DD.MM.YYYY"):"-"},{name:"Дата конца",display:ir=>ir?.DateOut?hooks(ir.DateOut).format("DD.MM.YYYY"):"-"},{name:"Статус ФРЛЛО",display:ir=>ir?.FrlloStatus?ir.FrlloStatus:"Не выгружен"},{name:"Дата изменения",display:ir=>hooks(ir.LogDateTime).format("DD.MM.YYYY HH:mm:ss")},{name:"Пользователь",display:ir=>(ir.EmployeeLastname||"").trim()+" "+(ir.EmployeeFirstname||"").trim()+" "+(ir.EmployeePatronymic||"").trim()}].filter(ir=>!ir.hidden).map(ir=>({Title:ir.name,Field:typeof ir.display=="function"?ir.display:ir.accessor,Template:ir?.Template})));function vr(){_t.value=!0}function er(Pr){_t.value=!1,notifyError$1(Pr)}async function rr(){_t.value=!1,await new Promise(Pr=>setTimeout(Pr,1e3)),dr(cn.value),notifySuccess("Льгота сохранена успешно!")}function an(){_t.value=!1,dr(cn.value),notifySuccess("Льгота аннулирована!")}function yr(){Zt.value=null,vr()}function ur(){Et.value=!0}function Sr(){return jt.value.filter(Pr=>Pr._selected_).map(Pr=>({Id:Pr.PatientBenefitId,Snils:Pr.PatientSnils}))}function qr(){rn.value={}}return I({getSelectedRows:Sr}),(Pr,ir)=>(vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("div",_hoisted_1$q,[N.viewFilter?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$k,[vue.createVNode(_sfc_main$I,{"filter-list":Nn.value,onSearch:dr},null,8,["filter-list"])])):vue.createCommentVNode("",!0),N.visibleHelperStateLgota?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$f,[ir[13]||(ir[13]=vue.createStaticVNode('<div class="flex items-center gap-1"><div class="size-4 rounded" style="background:#f9c7c8;"></div><p>Аннулирована</p></div><div class="flex items-center gap-1"><div class="size-4 rounded" style="background:#f3c77a;"></div><p>Монетизированна</p></div><div class="flex items-center gap-1"><div class="size-4 rounded" style="background:#dedee1;"></div><p>Неактивная</p></div><div class="flex items-center gap-1"><div class="size-4 rounded" style="background:#cbe4cb;"></div><p>Активная</p></div>',4)),dn("getRegister")&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:0,onClick:fn,"prepend-icon":"download"},{default:vue.withCtx(()=>[...ir[10]||(ir[10]=[vue.createTextVNode("Экспорт в .dbf",-1)])]),_:1})):vue.createCommentVNode("",!0),dn("registerControl")&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:1,onClick:yr,"prepend-icon":"plus",primary:""},{default:vue.withCtx(()=>[...ir[11]||(ir[11]=[vue.createTextVNode("Добавить льготу",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.unref(Pt)&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:2,onClick:ur,"prepend-icon":"unlock-keyhole",style:{backgroundColor:"white",color:"rgb(198 28 28 / var(--tw-text-opacity))"}},{default:vue.withCtx(()=>[...ir[12]||(ir[12]=[vue.createTextVNode("Доступ к ССЗ",-1)])]),_:1})):vue.createCommentVNode("",!0)])):vue.createCommentVNode("",!0),vue.createVNode(ReSimpleTable,{"enable-xlsx-export":Rt.value&&N.visibleExportExcel,data:jt.value,columns:Rt.value?N.columnsMainTable?.length?N.columnsMainTable:Hn.value:ar.value,"page-size":20,"enable-page-size-selector":"","table-id":"benefitsList","context-actions":N.visibleContextTable?_n:null,"row-color":Cn,onRowClicked:Ln},{"cell(BenefitName)":vue.withCtx(({record:No})=>[vue.createElementVNode("p",{class:"cell-lite",title:No?.BenefitName},vue.toDisplayString(No?.BenefitName),9,_hoisted_4$e)]),"cell(SmoName)":vue.withCtx(({record:No})=>[vue.createElementVNode("p",{class:"cell-lite",title:No?.SmoName},vue.toDisplayString(No?.SmoName),9,_hoisted_5$d)]),_:1},8,["enable-xlsx-export","data","columns","context-actions"]),jt.value.length>950?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$d,[vue.createElementVNode("p",null,"Показаны первые ~"+vue.toDisplayString(Math.ceil(jt.value.length/1e3)*1e3)+" записей, чтобы найти нужного пациента уточните фильтры",1)])):vue.createCommentVNode("",!0)]),vue.withDirectives(vue.createElementVNode("div",_hoisted_7$c,[...ir[14]||(ir[14]=[vue.createElementVNode("div",{class:"bg-black/60 w-full h-full absolute top-0 left-0 z-[5001]"},null,-1),vue.createElementVNode("div",{class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},[vue.createElementVNode("div",{role:"status"},[vue.createElementVNode("svg",{"aria-hidden":"true",class:"w-8 h-8 text-gray-200 animate-spin dark:text-gray-300 fill-blue-600",viewBox:"0 0 100 101",fill:"none",xmlns:"http://www.w3.org/2000/svg"},[vue.createElementVNode("path",{d:"M100 50.5908C100 78.2051 77.6142 100.591 50 100.591C22.3858 100.591 0 78.2051 0 50.5908C0 22.9766 22.3858 0.59082 50 0.59082C77.6142 0.59082 100 22.9766 100 50.5908ZM9.08144 50.5908C9.08144 73.1895 27.4013 91.5094 50 91.5094C72.5987 91.5094 90.9186 73.1895 90.9186 50.5908C90.9186 27.9921 72.5987 9.67226 50 9.67226C27.4013 9.67226 9.08144 27.9921 9.08144 50.5908Z",fill:"currentColor"}),vue.createElementVNode("path",{d:"M93.9676 39.0409C96.393 38.4038 97.8624 35.9116 97.0079 33.5539C95.2932 28.8227 92.871 24.3692 89.8167 20.348C85.8452 15.1192 80.8826 10.7238 75.2124 7.41289C69.5422 4.10194 63.2754 1.94025 56.7698 1.05124C51.7666 0.367541 46.6976 0.446843 41.7345 1.27873C39.2613 1.69328 37.813 4.19778 38.4501 6.62326C39.0873 9.04874 41.5694 10.4717 44.0505 10.1071C47.8511 9.54855 51.7191 9.52689 55.5402 10.0491C60.8642 10.7766 65.9928 12.5457 70.6331 15.2552C75.2735 17.9648 79.3347 21.5619 82.5849 25.841C84.9175 28.9121 86.7997 32.2913 88.1811 35.8758C89.083 38.2158 91.5421 39.6781 93.9676 39.0409Z",fill:"currentFill"})])]),vue.createElementVNode("div",null,[vue.createElementVNode("p",{class:"font-bold"},"Обработка данных"),vue.createElementVNode("p",{class:"text-sm text-gray-500"},"Пожалуйста, подождите...")])],-1)])],512),[[vue.vShow,Ht.value]]),vue.createVNode(vue.unref(Ps),{modelValue:Kt.value,"onUpdate:modelValue":ir[0]||(ir[0]=No=>Kt.value=No),title:`История льготы ${Zt.value?.BenefitCodeShort}`,class:"p-4",size:"7xl",onClose:Jt},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$b,[vue.createElementVNode("div",_hoisted_9$9,[dn("registerControl")&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(_2),{key:0,onClick:br,"prepend-icon":"pencil"},{default:vue.withCtx(()=>[...ir[15]||(ir[15]=[vue.createTextVNode("Изменить льготу",-1)])]),_:1})):vue.createCommentVNode("",!0)]),vue.createVNode(ReSimpleTable,{data:mn.value,columns:ar.value,"page-size":20,"enable-page-size-selector":"","table-id":"benefitsListHistory"},{"cell(BenefitName)":vue.withCtx(({record:No})=>[vue.createElementVNode("p",{class:"cell-lite",title:No?.BenefitName},vue.toDisplayString(No?.BenefitName),9,_hoisted_10$9)]),_:1},8,["data","columns"])])]),_:1},8,["modelValue","title"]),vue.createVNode(vue.unref(Ps),{modelValue:_t.value,"onUpdate:modelValue":ir[1]||(ir[1]=No=>_t.value=No),title:"Льгота",size:"5xl",class:"p-4"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$y,{snils:Zt.value?.Snils||N.dataPatient.PatientSnils,"user-open":J.value,"patient-open":N.dataPatient,onSave:rr,onDelete:an,onError:er,"edit-benefit":Zt.value,disable:N.infoOnly,permisionLgot:PermissionLgot},null,8,["snils","user-open","patient-open","edit-benefit","disable"])]),_:1},8,["modelValue"]),vue.createVNode(vue.unref(Ps),{modelValue:yn.value,"onUpdate:modelValue":ir[8]||(ir[8]=No=>yn.value=No),title:"Экспорт .dbf",size:"5xl",class:"p-4"},{default:vue.withCtx(()=>[vue.createElementVNode("form",{class:"flex flex-col gap-4",onSubmit:vue.withModifiers(pn,["prevent"])},[vue.createVNode(vue.unref(AA),{label:"Имя файла",disabled:"",modelValue:rn.value.FileName,"onUpdate:modelValue":ir[2]||(ir[2]=No=>rn.value.FileName=No)},null,8,["modelValue"]),vue.createVNode(_sfc_main$O,{required:!rn.value.BenefitCodeShort&&!rn.value.ProgramName,label:"МО прикрепления",data:M.value,modelValue:rn.value.LpuIdPrikrep,"onUpdate:modelValue":ir[3]||(ir[3]=No=>rn.value.LpuIdPrikrep=No),"id-field":"Id","display-expr":No=>No.Name,clearable:""},null,8,["required","data","modelValue","display-expr"]),vue.createElementVNode("div",_hoisted_11$8,[vue.createElementVNode("div",_hoisted_12$8,[vue.createElementVNode("fieldset",_hoisted_13$7,[ir[16]||(ir[16]=vue.createElementVNode("legend",{class:"px-2 font-semibold text-sm"},"Льгота",-1)),vue.createVNode(_sfc_main$O,{required:!rn.value.BenefitCodeShort&&!rn.value.LpuIdPrikrep,label:"Программа",data:vt.value,modelValue:rn.value.ProgramName,"onUpdate:modelValue":ir[4]||(ir[4]=No=>rn.value.ProgramName=No),"id-field":"Name","display-expr":No=>No.Name,clearable:""},null,8,["required","data","modelValue","display-expr"]),vue.createVNode(_sfc_main$O,{required:!rn.value.ProgramName&&!rn.value.LpuIdPrikrep,label:"Код льготы",data:Dt.value,modelValue:rn.value.BenefitCodeShort,"onUpdate:modelValue":ir[5]||(ir[5]=No=>rn.value.BenefitCodeShort=No),"id-field":"BenefitCodeShort","display-expr":No=>No.BenefitCodeShort+" | "+No.BenefitNameLong,clearable:"",limit:1e3},null,8,["required","data","modelValue","display-expr"])])]),vue.createElementVNode("div",_hoisted_14$5,[vue.createElementVNode("fieldset",_hoisted_15$4,[ir[17]||(ir[17]=vue.createElementVNode("legend",{class:"px-2 font-semibold text-sm"},"Период активности льготы",-1)),vue.createVNode(_sfc_main$P,{style:{width:"250px"},modelValue:rn.value.BenefitStartDate,"onUpdate:modelValue":ir[6]||(ir[6]=No=>rn.value.BenefitStartDate=No),label:"Дата начала",clearable:""},null,8,["modelValue"]),vue.createVNode(_sfc_main$P,{style:{width:"250px"},modelValue:rn.value.BenefitEndDate,"onUpdate:modelValue":ir[7]||(ir[7]=No=>rn.value.BenefitEndDate=No),label:"Дата окончания",clearable:""},null,8,["modelValue"])])])]),vue.createElementVNode("div",_hoisted_16$4,[vue.createVNode(vue.unref(_2),{label:"Сбросить фильтры",onClick:qr,delete:"",secondary:"","prepend-icon":"xmark"}),vue.createVNode(vue.unref(_2),{type:"submit","prepend-icon":"download",primary:""},{default:vue.withCtx(()=>[...ir[18]||(ir[18]=[vue.createTextVNode("Экспортировать",-1)])]),_:1})])],32)]),_:1},8,["modelValue"]),vue.createVNode(PermissionLgot,{isAdmin:vue.unref(Pt),visible:Et.value,"onUpdate:visible":ir[9]||(ir[9]=No=>Et.value=No)},null,8,["isAdmin","visible"])]))}},_hoisted_1$p={key:0,class:"grid grid-cols-2 gap-4 p-4"},_hoisted_2$j={class:"flex flex-col gap-2"},_hoisted_3$e={class:"flex items-center gap-2"},_hoisted_4$d={class:"flex items-center gap-2"},_hoisted_5$c={class:"flex items-center gap-2"},_hoisted_6$c={class:"flex flex-col gap-2"},_hoisted_7$b={class:"flex items-center gap-2"},_hoisted_8$a={class:"flex items-center gap-2"},_hoisted_9$8={class:"flex items-center gap-2"},_hoisted_10$8={class:"col-span-2 flex flex-col gap-2"},_hoisted_11$7={class:"flex items-center gap-2"},_hoisted_12$7={class:"flex items-center gap-2"},_hoisted_13$6={class:"border-t border-gray-200 mt-4 pt-4"},_sfc_main$v={__name:"PatientInfoComponent",props:{user:{type:Object,default:{},required:!0},patient:{type:Object,required:!0},infoOnly:{type:Boolean,default:!1},nameProject:{type:String,default:"",required:!0},isParentModalExpanded:{type:Boolean,default:!1},modalVisible:{type:Boolean,default:!1},hideDataPatient:{type:Boolean,default:!1},titleOverride:{type:String,default:null}},emits:["update:modalVisible","update:patient"],setup(e,{emit:I}){const N=I,J=e,V=vue.ref(!1),M=vue.computed({get:()=>J.modalVisible,set:_t=>N("update:modalVisible",_t)}),vt=vue.computed({get:()=>J.patient,set:_t=>N("update:patient",_t)});return(_t,Et)=>(vue.openBlock(),vue.createBlock(vue.unref(Ps),{title:J.titleOverride??`Информация о пациенте ${J.patient?.PatientFio} ${vue.unref(hooks)(J.patient?.PatientBirthdate).format("DD.MM.YYYY")}`,class:"p-4",modelValue:M.value,"onUpdate:modelValue":Et[0]||(Et[0]=Dt=>M.value=Dt),onClose:Et[1]||(Et[1]=Dt=>vt.value={}),size:"7xl",expanded:V.value,"onUpdate:expanded":Et[2]||(Et[2]=Dt=>V.value=Dt)},{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createVNode(vue.unref(gv1),{grow:"","keep-mounted":""},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Mv1),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Cv1),null,{default:vue.withCtx(()=>[...Et[3]||(Et[3]=[vue.createElementVNode("h2",null,"Данные пациента",-1)])]),_:1}),J.infoOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(Cv1),{key:0},{default:vue.withCtx(()=>[...Et[4]||(Et[4]=[vue.createElementVNode("h2",null,"Заявочная кампания",-1)])]),_:1}))]),_:1}),vue.createVNode(vue.unref(Vv1),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(bv1),null,{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[J.hideDataPatient?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$p,[vue.createElementVNode("div",_hoisted_2$j,[vue.createElementVNode("div",_hoisted_3$e,[Et[5]||(Et[5]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"ФИО:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.PatientFio),1)]),vue.createElementVNode("div",_hoisted_4$d,[Et[6]||(Et[6]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"СНИЛС:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.PatientSnils),1)]),vue.createElementVNode("div",_hoisted_5$c,[Et[7]||(Et[7]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Дата рождения:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vue.unref(hooks)(vt.value?.PatientBirthdate).format("DD.MM.YYYY")),1)])]),vue.createElementVNode("div",_hoisted_6$c,[vue.createElementVNode("div",_hoisted_7$b,[Et[8]||(Et[8]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Полис:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.PolicyNumber),1)]),vue.createElementVNode("div",_hoisted_8$a,[Et[9]||(Et[9]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"СМО:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.SmoName),1)]),vue.createElementVNode("div",_hoisted_9$8,[Et[10]||(Et[10]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Прикрепление:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.AttachedMoName),1)])]),vue.createElementVNode("div",_hoisted_10$8,[vue.createElementVNode("div",_hoisted_11$7,[Et[11]||(Et[11]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Адрес регистрации:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.AddressReg),1)]),vue.createElementVNode("div",_hoisted_12$7,[Et[12]||(Et[12]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Адрес фактический:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vt.value?.AddressFact),1)])])])),vue.createElementVNode("div",_hoisted_13$6,[Et[13]||(Et[13]=vue.createElementVNode("h3",{class:"text-lg font-medium text-gray-900 mb-4"}," Льготы пациента ",-1)),vue.createVNode(_sfc_main$w,{"data-patient":vt.value,"name-project":J.nameProject,"user-open":e.user},null,8,["data-patient","name-project","user-open"])])])]),_:1}),J.infoOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(bv1),{key:0},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$A,{"patient-id":vt.value.PatientId,"patient-snils":vt.value.PatientSnils,"is-parent-modal-expanded":V.value},null,8,["patient-id","patient-snils","is-parent-modal-expanded"])]),_:1}))]),_:1})]),_:1})])]),_:1},8,["title","modelValue","expanded"]))}},_hoisted_1$o={class:"p-1 text-xs"},_hoisted_2$i={class:"flex gap-3 p-2 bg-slate-100 w-full"},_hoisted_3$d={class:"flex items-center gap-2 p-3 bg-yellow-50 border-yellow-200 text-gray-700 text-sm w-full justify-end flex-wrap"},_hoisted_4$c={class:"flex gap-2 mt-2"},_hoisted_5$b={class:"flex-1 min-w-0 relative"},_hoisted_6$b={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_7$a={class:"bg-white rounded-lg p-4 flex flex-row gap-3 items-center z-[5002]"},_hoisted_8$9={class:"font-bold"},_hoisted_9$7={class:"copy-needs-table-wrapper"},_hoisted_10$7=["checked"],_hoisted_11$6=["checked","onChange","disabled"],_hoisted_12$6={class:"w-[30%] min-w-[300px] border-l"},_hoisted_13$5={class:"flex justify-end gap-3 text-xs"},_sfc_main$u={__name:"CopyNeeds",props:vue.mergeModels({user:{type:Object,default:null,required:!0},openedFromPatient:{type:Object,default:null},openedFromApp:{type:Object,default:null},modalVisible:{type:Boolean,required:!0,default:!1},listYearApp:{type:Array,required:!0,default:[]},nowPeriodApp:{type:Number,default:2026},completeLoadApi:{default:null},api_listBenefits:{type:Array,default:null},api_listPreparats:{type:Array,default:null},api_listProgramms:{type:Array,default:null},api_historyLgots:{type:Array,default:null},api_activeLgots:{type:Array,default:null},api_listDiagnosis:{type:Array,default:null},api_appDocuments:{type:Array,default:null}},{completeLoadApi:{default:null},completeLoadApiModifiers:{},modalVisible:{default:!1},modalVisibleModifiers:{}}),emits:vue.mergeModels(["onSave","update:waitRequest"],["update:completeLoadApi","update:modalVisible"]),setup(e,{emit:I}){const N=e,J=vue.computed(()=>({0:"",1:"Успешно скопирована",2:"Ошибка при копировании",3:"Уже имеется в заявке",4:"Невозможно скопировать, так как льгота неактивна.",5:`Невозможно скопировать, так как препарат был исключен из перечня шаблона(ЛП/МИ/СПЛП) за ${N.nowPeriodApp}.`,6:"Копирование отклонено, так как не является ЖВ. Необходимо отредактировать потребность."})),V=vue.ref({0:"",1:"",2:"",3:"На редактировании",4:"На просмотре"}),M=vue.ref(N.user),vt=vue.ref(N.openedFromPatient),_t=vue.ref(N.openedFromApp),Et=vue.ref(null),Dt=vue.ref(null),At=vue.ref(!1),Pt=vue.ref(!1),Ot=vue.ref(new Set),Rt=vue.ref(!1),Ut=vue.ref([]),Lt=vue.ref([]),Ht=vue.ref([]),jt=vue.useModel(e,"completeLoadApi"),Kt=vue.ref(N.api_listProgramms),Zt=vue.ref(N.api_listBenefits),mn=vue.ref(N.api_listPreparats),cn=vue.ref(N.api_historyLgots),yn=vue.ref(N.api_activeLgots),rn=vue.ref(N.api_listDiagnosis),_n=vue.ref(N.api_appDocuments),dn=vue.ref({Id:null,Additional:null,Period:N.nowPeriodApp}),sn=vue.ref({}),fn=vue.ref(!0),pn=vue.ref(null),mr=vue.ref(!0),dr=vue.ref({}),tr=vue.ref("Загрузка данных"),Jt=vue.useModel(e,"modalVisible"),$n=vue.computed(()=>{if(Lt.value.length===0)return!1;const Fr=Lt.value.filter(wr=>![4,5].includes(wr.StateCopy));return Fr.length>0&&Fr.every(wr=>Ot.value.has(wr))});vue.onMounted(async()=>{await an(),Ln(),await ur(),dr.value=_n.value?.filter(Fr=>!Fr.Deleted&&Fr.Name.includes(`${N.nowPeriodApp}`))[0]??[],yr()}),vue.watch(()=>dn?.value,(Fr,wr)=>{wr&&Fr!==wr&&(wr.StateCopy=0,wr.StateRecord=0,Ot.value.delete(wr))});function Ln(){dn.value={Id:null,Additional:null,Period:N.nowPeriodApp}}function br(Fr){return Ot.value.has(Fr)}function Cn(Fr){if(dn.value?.Id){notifyWarning("Множественный выбор недоступен во время редактирования. Отмените редактирование или скопируйте редактируемую потребность.",15e3,"Внимание!");return}Ot.value.has(Fr)?Ot.value.delete(Fr):Ot.value.add(Fr)}function wn(){$n.value?Ot.value.clear():Lt.value.forEach(Fr=>{[4,5].includes(Fr.StateCopy)||Ot.value.add(Fr)})}async function Nn(Fr){if([4,5].includes(Fr.StateCopy)){notifyWarning("Невозможно выбрать заблокированную потребность для копирования!",15e3,"Внимание!");return}if(Cn(Fr),Rt.value)if(Ut.value.includes(order.Id)){const wr=Ut.value.findIndex(ro=>ro===order.Id);Ut.value.splice(wr,1)}else Ut.value.push(order.Id)}async function Hn(Fr){Fr&&(Array.from(Ot.value).some(Bo=>Bo.Id===Fr.Id)||Ot.value.add(Fr));const wr=Ot.value.size>0?Array.from(Ot.value).filter(ro=>ro.signTemplate===!1):[];if(wr?.length>0){const ro=wr.map(Bo=>Bo._rowNumber).join(", ");notifyWarning("Для копирования потребности с НЕ ЖВ препаратом необходимо сначала отредактировать потребность нажав по записи правой кнопкой мыши и выбрав 'Редактировать'",25e3,"Ограничение копирования"),notifyInfo(`Выбранные номера строк потребностей с НЕ ЖВ: ${ro}`,15e3,"Уведомление системы!"),wr.forEach(Bo=>{const Lr=Lt.value?.find(ma=>ma.Id===Bo.Id)||null;Lr&&(Lr.StateCopy=4),Ot.value.delete(Bo)});return}if(Ot.value.size===0){notifyInfo("Нет выбранных потребностей для копирования");return}if(tr.value="Выполняется процесс копирования",await an(),dn.value&&dn.value.StateRecord===3){const ro=Lt.value.find(Lr=>Lr.Id===Fr.Id);delete dn.value.Id,delete dn.value.ApplicationsId,delete dn.value.PreparatApplicationId;const Bo=Et.value?.save(!0);Bo?.state&&Bo.state===200&&(ro.StateCopy=1,Ot.value.clear()),Bo?.state&&Bo.state===500&&(ro.StateCopy=2,Ot.value.clear());return}await ar(),yr(),tr.value="Загрузка данных"}async function ar(){for(const Fr of Ot.value){const wr={...Fr},ro=Lt.value.find(Bo=>Bo.Id===wr.Id);wr.Id=null,wr.DateNeed=hooks().format("YYYY-MM-DD"),wr.ApplicationsId=null,wr.PreparatApplicationId=null,wr.LpuId=M.value.LpuId,wr.EmployeePostId=M.value.Id,wr.CountMonth=Number(wr.CountMonth),wr.CountYear=Number(wr.CountYear),await window.axios({url:window.localhost+`ApplicationCompany/PatientNeeds?Id=${"&AppDocId="+dr.value.Id}`,method:"post",data:wr}).then(async Bo=>{ro.StateCopy=1}).catch(Bo=>{Bo.response.data&&notifyError$1(Bo.response.data),ro.StateCopy=2}).finally(()=>{ro.StateRecord===3?er():Ot.value.delete(ro)})}}function vr(){Ot.value.clear(),Jt.value=!1}function er(){if(dn?.value){Ot.value.delete(dn);const Fr=Lt.value?.find(wr=>wr.Id===dn.value?.Id);Fr&&(Fr.StateRecord=0),Et.value?.resetFormData(),Ln(),mr.value=!0}}function rr(Fr){Dt.value=Fr}async function an(){At.value=!0,await vue.nextTick()}function yr(){At.value=!1}async function ur(){try{if(Ln(),Ot.value.clear(),await an(),vt.value?.PatientId&&(Lt.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientNeeds?PatientId=${vt.value.PatientId}&LpuId=${M.value.LpuId}&IsCheckActiveLgota=true&IsCheckActivePreparat=true`,{params:Dt.value||{}}).then(Fr=>{let wr=Fr.data.map((ro,Bo)=>{const Lr={...ro,MkbFullName:`${ro.MkbCode?`${ro.MkbCode} - ${ro.MkbName}`:""}`,PreparatFullName:`${ro.Mnn} - ${ro.FullName} (Цена: ${ro.MaxPriceWithVat??"не указана"})`,_rowNumber:Bo+1,signTemplate:mn.value?.find(ma=>ma.Id===ro.TemplatePreparatId)?.Sign??!1,StateCopy:0,StateRecord:0};return Lr?.ActiveBenefitNeed?Lr.ActiveBenefitNeed?.lgota_mkb_code&&Lr?.MkbCode&&Lr.ActiveBenefitNeed.lgota_mkb_code!=Lr.MkbCode&&(Lr.UpdateInMkbCode=Lr.ActiveBenefitNeed.lgota_mkb_code):Lr.StateCopy=4,Lr?.ActiveTemplatePreparat&&Lr.ActiveTemplatePreparat.find(ld=>ld.AppDocName.includes(`${N.nowPeriodApp}`))||(Lr.StateCopy=5),Object.prototype.hasOwnProperty.call(ro,"ApplicationsStatus")||(Lr.ApplicationsStatus=null),Object.prototype.hasOwnProperty.call(ro,"ApplicationsComment")||(Lr.ApplicationsComment=null),Object.prototype.hasOwnProperty.call(ro,"Period")||(Lr.Period=null),Lr});return Ht.value=wr.filter(ro=>!["Заявка одобрена","Заявка отклонена"].includes(ro.ApplicationsStatus)),wr=wr.filter(ro=>["Заявка одобрена","Заявка отклонена"].includes(ro.ApplicationsStatus)).sort((ro,Bo)=>ro.DateNeed?Bo.DateNeed?hooks(Bo.DateNeed).diff(hooks(ro.DateNeed)):-1:1).sort((ro,Bo)=>ro._rowNumber-Bo._rowNumber),wr}).finally(()=>{yr()}),Et.value?.resetFormData(),mr.value=!0),!vt.value&&(_t.value?.LpuId||_t.value?.ApplicationsId||_t.value?.ProgramId||_t.value?.CategoryId)){const Fr={...qr(Dt.value),...qr(_t.value)};Lt.value=await window.axios.get(window.localhost+"ApplicationCompany/PatientNeeds",{params:Fr}).then(wr=>{let ro=wr.data.map((Bo,Lr)=>{const ma={...Bo,MkbFullName:`${Bo.MkbCode?`${Bo.MkbCode} - ${Bo.MkbName}`:""}`,PreparatFullName:`${Bo.Mnn} - ${Bo.FullName} (Цена: ${Bo.MaxPriceWithVat??"не указана"})`,_rowNumber:Lr+1,signTemplate:mn.value?.find(ld=>ld.Id===Bo.TemplatePreparatId)?.Sign??!1,StateCopy:0,StateRecord:0};return Object.prototype.hasOwnProperty.call(Bo,"ApplicationsStatus")||(ma.ApplicationsStatus=null),Object.prototype.hasOwnProperty.call(Bo,"ApplicationsComment")||(ma.ApplicationsComment=null),Object.prototype.hasOwnProperty.call(Bo,"Period")||(ma.Period=null),ma});return Ht.value=ro.filter(Bo=>!["Заявка одобрена","Заявка отклонена"].includes(Bo.ApplicationsStatus)),ro=ro.filter(Bo=>["Заявка одобрена","Заявка отклонена"].includes(Bo.ApplicationsStatus)).sort((Bo,Lr)=>Bo.DateNeed?Lr.DateNeed?hooks(Lr.DateNeed).diff(hooks(Bo.DateNeed)):-1:1).sort((Bo,Lr)=>Bo._rowNumber-Lr._rowNumber),ro}).finally(()=>{yr()}),Et.value?.resetFormData(),mr.value=!0}yr()}catch(Fr){notifyError$1(`${Fr?.message??"Произошла ошибка в getAppData_CopyNeeds"}`)}}function Sr(Fr){const wr=Fr?.StateRecord,ro=Fr?.StateCopy;return wr==3?"#ffe79e":wr==4?"#94ebff":Ot.value.has(Fr)?"#f2fff3":ro==6?"#ffb79e":ro==4||ro==5?"#c4c4c4":ro==1?"#54b858":ro==2?"#b86c6c":null}function qr(Fr){return Fr?Object.fromEntries(Object.entries(Fr).filter(([wr,ro])=>ro!=null&&ro!=="")):{}}const Pr=vue.computed(()=>{const Fr=[{name:"Тип заявки",type:"select",accessor:"Additional",list:[{Id:"false",Name:"Основная"},{Id:"true",Name:"Допонительная"}],style:{width:"12rem",minWidth:"12rem",maxWidth:"12rem"}},{name:"Период",type:"select",accessor:"Period",list:N.listYearApp,style:{width:"13rem",minWidth:"13rem",maxWidth:"13rem"}},{name:"Статус ЖВ",type:"select",accessor:"SignPrep",list:[{Id:!0,Name:"ЖВ"},{Id:!1,Name:"НЕ ЖВ"}],style:{width:"13rem",minWidth:"13rem",maxWidth:"13rem"}}];return _t.value?.ProgramId||Fr.push({name:"Программа",type:"select",accessor:"ProgramId",list:Object.entries(approvedBenefitProgramToPreparatProgramm).map(([wr,ro])=>({Id:wr,Name:approvedBenefitProgram[ro]})),style:{width:"15rem",minWidth:"15rem",maxWidth:"15rem"}}),Fr}),ir=vue.ref([{Name:"Редактировать",Icon:"pen",Action:async Fr=>{if(dn.value?.Id){const ro=Lt.value?.find(Bo=>Bo.Id===dn.value?.Id);ro&&(ro.StateRecord=0),Ln()}pn.value=listStateActionCopy.CHANGE_LP,mr.value=!1;let wr=await window.axios.get(window.localhost+`ApplicationCompany/Application?ApplicationId=${Fr.ApplicationsId}`).then(ro=>ro.data).catch(ro=>{});if(!wr)return pn.value=null,mr.value=!0,{status:!1,notify:{type:"error",message:"Заявка по выбранной потребности не найдена",duration:15e3,title:"Ошибка в поиске заявки"}};sn.value=wr,Fr.StateRecord=3,await vue.nextTick(),dn.value={...Fr},console.log("need ",Fr),Ot?.value.size>1&&(Ot.value.clear(),notifyWarning("Потребность выбрана для редактирования... мультивыбор записей будет сброшен!",3e3,"Внимание!")),Ot?.value.add(dn),await vue.nextTick(),Et.value?.loadData()},IsDisabled:Fr=>Fr.StateRecord===3||[4,5].includes(Fr.StateCopy)},{Name:"Скопировать",Icon:"copy",Action:Fr=>{Hn({...Fr})},IsDisabled:Fr=>Fr.StateRecord===3||[4,5].includes(Fr.StateCopy)},{Name:"Просмотреть",Icon:"eye",Action:async Fr=>{if(dn.value?.Id){const ro=Lt.value?.find(Bo=>Bo.Id===dn.value?.Id);ro&&(ro.StateRecord=0),Ln()}pn.value=null,mr.value=!0;let wr=await window.axios.get(window.localhost+`ApplicationCompany/Application?ApplicationId=${Fr.ApplicationsId}`).then(ro=>ro.data).catch(ro=>{});if(!wr)return{status:!1,notify:{type:"error",message:"Заявка по выбранной потребности не найдена",duration:15e3,title:"Ошибка в поиске заявки"}};sn.value=wr,Fr.StateRecord=4,await vue.nextTick(),dn.value={...Fr},await vue.nextTick(),Et.value?.loadData()},IsDisabled:Fr=>Fr.StateRecord===4}]),No=vue.ref([{Title:"№",Field:"_rowNumber",Class:"text-center !p-0 w-[50px] min-w-[50px] max-w-[50px]",ClassTitle:"w-[50px] min-w-[50px] max-w-[50px]"},{TitleTemplate:"headerCheckbox",Field:"Id",Template:"checkbox",Class:"text-center !p-0",ClassTitle:"w-[40px] min-w-[40px] max-w-[40px]",filterable:!1,sortable:!1},{Title:"№ заявки/Тип заявки/Период",Field:Fr=>{const wr=Fr?.ApplicationsNumber?parseInt(Fr.ApplicationsNumber):"Не указано",ro=Fr?.Additional!==void 0&&Fr?.Additional!==null?Fr.Additional==="true"||Fr.Additional===!0?"Дополнительная":"Основная":"-",Bo=Fr?.Period?parseInt(Fr.Period):"Не указано";return`${wr}
@@ -1317,7 +1317,7 @@ ${ro}`},Class:"whitespace-pre-line text-center !p-0 w-[105px] min-w-[105px] max-
1317
1317
  //! author : Viktorminator : https://github.com/Viktorminator
1318
1318
  //! author : Menelion Elensúle : https://github.com/Oire
1319
1319
  //! author : Коренберг Марк : https://github.com/socketpair
1320
- function plural(e,I){var N=e.split("_");return I%10===1&&I%100!==11?N[0]:I%10>=2&&I%10<=4&&(I%100<10||I%100>=20)?N[1]:N[2]}function relativeTimeWithPlural(e,I,N){var J={ss:I?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:I?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",ww:"неделя_недели_недель",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return N==="m"?I?"минута":"минуту":e+" "+plural(J[N],+e)}var monthsParse=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];hooks.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(e){if(e.week()!==this.week())switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}else return this.day()===2?"[Во] dddd, [в] LT":"[В] dddd, [в] LT"},lastWeek:function(e){if(e.week()!==this.week())switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}else return this.day()===2?"[Во] dddd, [в] LT":"[В] dddd, [в] LT"},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:relativeTimeWithPlural,m:relativeTimeWithPlural,mm:relativeTimeWithPlural,h:"час",hh:relativeTimeWithPlural,d:"день",dd:relativeTimeWithPlural,w:"неделя",ww:relativeTimeWithPlural,M:"месяц",MM:relativeTimeWithPlural,y:"год",yy:relativeTimeWithPlural},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,I,N){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,I){switch(I){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}}),hooks.locale("ru");function getPolicy(e=[]){if(!e||!e.length)return"";if(e.find(I=>!I.DateEnd||I.DateEnd>new Date))return`${e.find(I=>!I.DateEnd||I.DateEnd>new Date)?.Serial??""} ${e.find(I=>!I.DateEnd||I.DateEnd>new Date)?.Number}`}const arrPatients=[{name:"Number",caption:"Номер амбулаторной карты"},{name:"Lastname",caption:"Фамилия"},{name:"Firstname",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"BirthDateLabel",caption:"Дата рождения",dataType:"date",customizeText:e=>hooks(e.BirthDate).format("LL")!="Invalid date"?hooks(e.BirthDate).format("L"):"",display:e=>hooks(e.BirthDate).format("LL")!="Invalid date"?hooks(e.BirthDate).format("L"):""},{name:"AddressRegFullInfo",caption:"Адрес регистрации"},{name:"AddressFactFullInfo",caption:"Адрес фактический",width:"260px"},{name:"Snils",caption:"СНИЛС",width:"140px"},{name:"_policy",caption:"Полис",display:e=>getPolicy(e.policy)},{name:"Prikrep",caption:"Прикрепление",type:"bool",display:e=>e.Prikrep?"Имеется":"Не имеется"},{name:"UchastokName",caption:"Участок"}],arrJCallHouse=[{name:"Lastname",caption:"Фамилия"},{name:"Firstname",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"Birthdate",caption:"Дата рождения",type:"date"}],arrRecordedPatients=[{name:"LastName",caption:"Фамилия"},{name:"FirstName",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"BirthDate",caption:"Дата рождения",type:"date"},{name:"DateNazn",caption:"Дата назначения",type:"date"},{name:"TimeNazn",caption:"Время назначения",type:"date"},{name:"PatientPhones",caption:"Телефон",type:"text"},{name:"Address",caption:"Адрес",type:"string"},{name:"Prikrep",caption:"Прикрепление",type:"bool",display:e=>e.Prikrep?"Имеется":"Не имеется"},{name:"Inogorod",caption:"Иногород",type:"bool",display:e=>e.Inogorod?"Да":"Нет"}],arrClosedPatients=[{name:"PatientFio",caption:"Фамилия Имя Отчество"},{name:"PolisNumber",caption:"Номер полиса"},{name:"KindPaidName",caption:"Способ оплаты"},{name:"MinVisitDate",caption:"Дата начала",dataType:"datetime",customizeText:e=>hooks(e.MinVisitDate).format("LL")!="Invalid date"?hooks(e.MinVisitDate).format("L"):""},{name:"MaxVisitDate",caption:"Дата окончания",dataType:"datetime",customizeText:e=>hooks(e.MaxVisitDate).format("LL")!="Invalid date"?hooks(e.MaxVisitDate).format("L"):""},{name:"Name",caption:"Услуга"},{name:"Cost",caption:"Оплаченная сумма"}],arrHospitalizationList=[{name:"Lastname",caption:"Фамилия"},{name:"Firstname",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"Birthdate",caption:"Дата рождения",dataType:"date",customizeText:e=>hooks(e.Birthdate).format("LL")!="Invalid date"?hooks(e.Birthdate).format("L"):""},{name:"DateIn",caption:"Дата начала",dataType:"datetime",customizeText:e=>hooks(e.DateIn).format("LL")!="Invalid date"?hooks(e.DateIn).format("L"):""},{name:"DateOut",caption:"Дата окончания",dataType:"datetime",customizeText:e=>hooks(e.DateOut).format("LL")!="Invalid date"?hooks(e.DateOut).format("L"):""},{name:"Diagn",caption:"Диагноз"},{name:"HospDivName",caption:"Отделение госпитализации"},{name:"Npol",caption:"Номер полиса"},{name:"KsgCode",caption:"КСГ код"},{name:"Status",caption:"Статус",group:"0"},{name:"Oplata",caption:"Оплата"},{name:"Nschet",caption:"Номер счета"}],usePatientStoreImpl=defineStore("patient",{state:()=>({patient:null}),actions:{setPatient(e){this.patient=e},clearPatient(){this.patient=null}}});function usePatientStore(e,I){return usePatientStoreImpl(e??usePinia(),I)}const DoctorPositionTypeCode=2,NursePositionTypeCode=1,NoPositionTypeCode=null,_sfc_main$q={__name:"EmployeeSelectBox",props:{modelValue:{type:String,default:null},display:{type:Function,default:null},readOnly:{type:Boolean,default:!1},label:{type:String,default:null},nurse:{type:Boolean,default:!1},doctor:{type:Boolean,default:!1},extraInfo:{type:Array,default:()=>["PositionName","DivisionName"]},fullName:{type:Boolean,default:!1},otherLpu:{type:Boolean,default:!1},lpuId:{type:[String,null],default:null},showFired:{type:Boolean,default:!1},showExpired:{type:Boolean,default:!1},filter:{type:Function,default:()=>!0}},emits:["update:modelValue","selectEmployee"],setup(e,{emit:I}){const N=I,J=e,V=vue.computed(()=>useUserStore().EmployeePostId),M=vue.ref({Id:null}),vt=vue.ref(null),_t=vue.ref([]),Et=vue.computed(()=>J.nurse?NursePositionTypeCode:J.doctor?DoctorPositionTypeCode:NoPositionTypeCode),Dt=vue.computed(()=>J.label??(J.nurse?"Медсестра":"Доктор"));vue.onMounted(()=>{Ot()}),vue.onUnmounted(()=>{_t.value=[]}),vue.watch(()=>J.lpuId,()=>{Ot()}),vue.watch(()=>J.modelValue,Ht=>{Ht||(M.value={Id:null},vt.value=null,At(null)),Ht!==vt.value&&Ot()});function At(Ht){M.value=Ht??{Id:null},vt.value=Ht?.Id,N("update:modelValue",vt.value),N("selectEmployee",M.value)}let Pt=null;function Ot(){let Ht;J.otherLpu?J.modelValue&&(Ht={Id:J.modelValue,EmployeePostId:J.modelValue,PositionTypeCode:Et.value}):Ht={EmployeePostId:V.value,PositionTypeCode:Et.value},J.lpuId&&(Ht={LpuId:J.lpuId}),Pt=Ht,Ht&&window.axiosCache.get(window.localhost+"EmployeePost",{params:Ht}).then(jt=>{if(JSON.stringify(Pt)===JSON.stringify(Ht)){let Kt=jt.data;if(!J.showExpired&&!J.readOnly&&(Kt=Kt.filter(Zt=>Zt.ExpirationDate?hooks(Zt.ExpirationDate).isAfter(hooks()):!0)),!J.showFired&&!J.readOnly&&(Kt=Kt.filter(Zt=>!Zt?.Fired)),Kt=Kt.filter(J.filter),Kt?.length){if(_t.value=Kt.sort((Zt,mn)=>Zt.LastName<mn.LastName?-1:1),J.modelValue){let Zt=_t.value.find(mn=>mn.Id===J.modelValue);At(Zt)}}else _t.value=[],J.modelValue&&At(null)}})}const Rt=vue.computed(()=>{let Ht='return employee.LastName + " " + (employee?.FirstName ? employee.FirstName'+(J.fullName?"":'[0] + "."')+' : "") + " " + (employee?.Patronymic ? employee.Patronymic'+(J.fullName?"":'[0] + "."')+' : "") + " "';if(J.extraInfo?.length){Ht+=' + " ("';let jt=!0;for(let Kt of J.extraInfo)jt?jt=!1:Ht+=' + ", "',Ht+=" + employee."+Kt;Ht+='+ ")";'}return new Function("employee",Ht)});function Ut(){M.value&&At(null)}function Lt(Ht){At(Ht)}return(Ht,jt)=>(vue.openBlock(),vue.createBlock(_sfc_main$O,{modelValue:vt.value,"onUpdate:modelValue":jt[0]||(jt[0]=Kt=>vt.value=Kt),"display-expr":J.display?J.display:Rt.value,data:_t.value,label:Dt.value,onOnSelectObject:Lt,onInput:Ut,searchable:"",clearable:""},null,8,["modelValue","display-expr","data","label"]))}},_hoisted_1$l={style:{display:"flex","flex-direction":"row","align-items":"center",gap:"1rem"}},_hoisted_2$g={key:0},_hoisted_3$b={key:1,style:{display:"flex","flex-direction":"row",gap:"0.25rem"}},_hoisted_4$a={class:"search-interface search-interface"},_hoisted_5$9={class:"listHospSearchInput search-interface"},_hoisted_6$9={class:"flex justify-between gap-3 items-end"},_hoisted_7$8={class:"flex gap-3 grow"},_hoisted_8$7={class:"grow"},_hoisted_9$5={class:"flex justify-between gap-3 items-end"},_hoisted_10$5={class:"flex gap-3 my-2"},_hoisted_11$5={class:"flex gap-3 my-2"},_hoisted_12$5={class:"p-3 grid grid-cols-2 gap-3"},_hoisted_13$4={class:"col-span-2 bg-slate-100 rounded border p-2 flex flex-col gap-2"},_hoisted_14$4={class:"p-2 rounded border bg-slate-200"},_hoisted_15$3={class:"flex flex-row gap-2 items-center justify-between"},_hoisted_16$3={class:"w-full"},_hoisted_17$3={class:"w-full"},_hoisted_18$3={class:"w-full"},_hoisted_19$3={class:"p-2 rounded border bg-slate-200"},_hoisted_20$3={class:"flex flex-row justify-between gap-2 items-center"},_hoisted_21$3={class:"w-full"},_hoisted_22$3={class:"w-full"},_hoisted_23$3={class:"bg-slate-100 rounded border p-2"},_hoisted_24$2={class:"bg-slate-100 rounded border p-2"},_hoisted_25$2={class:"bg-slate-100 rounded border p-2"},_hoisted_26$2={class:"bg-slate-100 rounded border p-2"},_hoisted_27$2={class:"bg-slate-100 rounded border p-2 col-span-2"},_hoisted_28$2={class:"modal-footer-buttons"},_hoisted_29$2={class:"body__input search-interface"},_hoisted_30$2={style:{width:"100%",margin:"0 10px"}},_hoisted_31$1={style:{display:"flex","align-items":"flex-end",gap:"0.5rem"}},_hoisted_32$1={class:"search-interface",style:{gap:"1rem"}},_hoisted_33$1={style:{width:"350px"}},_hoisted_34$1={class:"listHospSearchInput"},_sfc_main$p={__name:"SearchPatient",props:{onlyDesktopVersion:{type:Boolean,default:!1},showSelectSearch:{type:Boolean,default:!0},show:{type:Boolean,default:!1},showPopup:{type:Boolean},fromJournal:{type:Boolean},selectedRepresentative:{type:String},setMode:{default:"showSearch",type:String},setOnClick:{type:Function,default:null},setColumnNames:{type:Object,default:null},tableHeight:{type:Number||String,default:null},emitMode:{type:Boolean,default:!1},preloadData:{type:Object,default:{}},expanded:{type:Boolean,default:!1}},emits:["getSearchParams","update:show","onPatientSelect"],setup(e,{expose:I,emit:N}){hooks.locale("ru");const J=vue.computed(()=>useUserStore().EmployeePostId),V=vue.computed(()=>useUserStore().LpuId),M=vue.computed(()=>usePatientStore().patient),vt=vue.computed(()=>useUserStore().user),_t=N,Et=vue.ref(!1),Dt=vue.ref(!1),At=vue.computed(()=>{let Tu=!1,jo=vt.value.DivisionTypeCode;return(jo=="2"||jo=="8"||jo=="9"||jo=="10")&&(Tu=!0),Tu}),Pt=vue.computed(()=>vt.value.DivisionTypeCode!="7"),Ot=e,Rt=vue.ref([]),Ut=vue.ref("showSearch"),Lt=vue.ref([]),Ht=vue.ref("");vue.ref(""),vue.ref("");const jt=vue.ref(0);vue.ref(["Активные","Завершённые"]);const Kt=vue.ref(""),Zt=vue.ref(Pr()),mn=vue.ref(Pr()),cn=vue.ref([]),yn=vue.ref(""),rn=vue.ref(hooks().format("YYYY-MM-DD")),_n=vue.ref(""),dn=vue.ref([]),sn=vue.ref("btnSearch"),fn=vue.ref(hooks().format("DD.MM.YYYY")),pn=vue.ref(""),mr=vue.ref(hooks().format("YYYY-MM-DD")),dr=vue.ref(""),tr=vue.ref([]),Jt=vue.ref(""),$n=vue.ref(""),Ln=vue.ref([]),br=vue.ref({}),Cn=vue.ref([]),wn=vue.ref(""),Nn=vue.ref(""),Hn=vue.ref(""),ar=vue.ref(null),vr=vue.ref(null),er=vue.ref({Snils:"",talonNumber:"",policy:{series:"",number:""},addressFact:{street:"",house:"",flat:""},addressReg:{street:"",house:"",flat:""},patientId:"",ambulatoryCardId:"",PatientFio:"",BirthDate:null,Lastname:"",Firstname:"",Patronymic:""});vue.watch(()=>Ot.setMode,Tu=>{Ut.value=Tu,Ed()}),vue.watch(fn,()=>{wr()});function rr(){Ut.value="showVizov",Rt.value=arrJCallHouse,sn.value="btnVizov",Lt.value=[]}function an(Tu){Ut.value="showSearch",Rt.value=arrPatients,sn.value=Tu,Lt.value=[]}function yr(Tu){Ut.value="showVizov",Rt.value=arrJCallHouse,sn.value=Tu,Lt.value=[]}function ur(Tu){Ut.value="showRecordedPatients",Rt.value=arrRecordedPatients,sn.value=Tu,Lt.value=[]}function Sr(Tu){Ut.value="showClosedPatients",Rt.value=arrClosedPatients,sn.value=Tu,Lt.value=[]}function qr(Tu){Ut.value="showHospitalizationList",Rt.value=arrHospitalizationList,sn.value=Tu,Lt.value=[]}function Pr(){let Tu=new Date;return Tu="2023-01-12",Tu}function ir(){Dt.value=!0,window.axios({url:window.localhost+`WebHouseCall?DateStart=${Zt.value}&DateEnd=${mn.value}&employeePostIdto=${_n.value.Id}&PatientFio=${Jt.value}&Address=${$n.value}&UchastokId=${typeof br.value.Id<"u"?br.value.Id:""}`}).then(Tu=>{dn.value=Tu.data,Dt.value=!1,jt.value?Lt.value=dn.value.filter(jo=>jo.TalonId==null):Lt.value=dn.value.filter(jo=>jo.TalonId!=null)})}function No(){Dt.value=!0,Et.value=!1;let Tu=er.value.BirthDate??"",jo=er.value.BirthDate??"";const Zo={PatientFIO:er.value.PatientFio,From:Tu,To:jo,AmbulatoryCardNumber:Ht.value,Snils:er.value.Snils,PolicySerial:er.value.policy.series,PolicyNumber:er.value.policy.number,AddrFact:er.value.addressFact.street,HouseFact:er.value.addressFact.house,FlatFact:er.value.addressFact.flat,AddrReg:er.value.addressReg.street,HouseReg:er.value.addressReg.house,FlatReg:er.value.addressReg.flat,EmployeePostId:J.value,AmbulatoryCardId:er.value.ambulatoryCardId,Id:er.value.patientId,LastName:er.value.Lastname,FirstName:er.value.Firstname,Patronymic:er.value.Patronymic,From:ar.value??Tu,To:vr.value??jo};window.axios.get(window.localhost+"Patient",{params:Zo}).then(rd=>{if(Dt.value=!1,Lt.value=rd.data.map(cf=>({...cf,AddressRegFullInfo:`${cf.AddressReg??""} ${cf.HouseReg?"д. "+cf.HouseReg:""} ${cf.FlatReg?"кв. "+cf.FlatReg:""}`,AddressFactFullInfo:`${cf.AddressFact??""} ${cf.HouseFact??""} ${cf.FlatFact??""}`})),!Lt.value?.length&&Ht.value){notifyError$1("Пациент с таким номером не найден");return}!Lt.value?.length&&window.confirm("Пациент не найден, хотите создать?")&&(store.commit("CLEAR_PATIENT"),store.commit("SET_SEARCH_PATIENT_FIELDS",er.value),window.open(router.resolve({name:"patientInfo",query:{StoredFields:!0}}).href,"_blank"))})}const Fr=vue.computed(()=>{let Tu=["Firstname","Lastname","Patronymic","Birthdate","Snils","Policy"];if(Object.keys(er.value).find(jo=>er.value[jo]&&Tu.includes(jo)))return!0});function wr(){Dt.value=!0,_t("getSearchParams",{date:fn.value,resourceId:dr.value}),window.axios({url:window.localhost+"Schedule/ByResourceId?DateTalon="+hooks(fn.value,"DD.MM.YYYY").format("YYYY-MM-DD")+"&ResourceId="+dr.value+"&EmployeePostId="+J.value,method:"get"}).then(Tu=>{Dt.value=!1;let jo=Tu.data;jo.sort((rd,cf)=>{let qo=hooks(rd?.TimeNazn?rd.TimeNazn:rd.VIsitTime,"HH:mm:ss"),Uo=hooks(cf?.TimeNazn?cf.TimeNazn:cf.VIsitTime,"HH:mm:ss");return qo>Uo?1:qo<Uo?-1:0}),Lt.value=jo;let Zo=[];for(let rd of Lt.value){let cf=!1;if(rd.OrderId)cf=!0;else{let qo=Lt.value.filter(Uo=>rd.Id===Uo.Id);qo?.length&&(cf=qo.findIndex(Uo=>Uo.OrderId)===-1)}cf&&Zo.length&&(cf=Zo.findIndex(qo=>rd.Id===qo.Id)===-1),cf&&Zo.push(rd)}Lt.value=Zo})}async function ro(){Dt.value=!0,Kt.value==null&&(Kt.value=""),await window.axios({url:window.localhost+"GetOpenTalons",method:"get",params:{Close:!0,EmployeePostId:Kt.value,MinVisitDate:pn.value?hooks(pn.value,"DD.MM.YYYY").format("YYYY-MM-DD"):"",MaxVisitDate:mr.value?hooks(mr.value,"DD.MM.YYYY").format("YYYY-MM-DD"):"",LpuId:V.value,Limit:100}}).then(Tu=>{Dt.value=!1,Lt.value=Tu.data})}async function Bo(){if(!Dt.value){if(!pn.value&&!Hn.value&&!yn.value){notifyError$1("Выберите хотя бы один фильтр: Дата, ФИО или Дата окончания с");return}Dt.value=!0,wn.value||(wn.value=""),Nn.value||(Nn.value=""),await window.axios({url:window.localhost+"refs/HospitalizationList?&employeePostId="+wn.value+"&DivisionId="+Nn.value+"&CreateDateFrom="+pn.value+"&CreateDateTo="+mr.value+"&VisitDateFrom="+yn.value+"&VisitDateTo="+rn.value+"&PatientFio="+Hn.value,method:"get"}).then(Tu=>{Dt.value=!1,Lt.value=Tu.data})}}function Lr(){_t("update:show",!1)}let ma=Tu=>{if(Tu.DeathDate&&window.alert("Умер: "+(Tu.DeathDate?hooks(Tu.DeathDate).format("L"):"не удалось получить дату")),Ot.emitMode){_t("onPatientSelect",Tu),Lr();return}if(Ut.value=="showSearch"){let jo=Tu;if(M?.value.Representative=="select")M.value.Representative=jo.PatientId,M.value.RepresentativeFio=jo?.Lastname.value+" "+jo?.Firstname.value+" "+jo?.Patronymic?.value,jo={PatientIdMain:M.value.PatientId,PatientIdRepresentative:jo.PatientId,EgiszId:Ot.selectedRepresentative},window.axios({url:window.localhost+"PatientRepresentative?PatientId="+M.value.PatientId,method:"post",data:jo}).then(()=>{M.value.Representative="update"});else if(jo?.Id!=null)store.dispatch("SET_PATIENT",jo.Id);else{let Zo={PatientId:jo.PatientId,userId:J.value};window.axios({url:window.localhost+"AmbulatoryCard",method:"post",data:Zo}).then(rd=>{store.dispatch("SET_PATIENT",rd.data)})}}if(Ut.value=="showClosedPatients"){let jo=Tu;store.dispatch("SET_PATIENT",jo.AmbulatoryCardId)}if(Ut.value=="showRecordedPatients"){let jo=Tu;store.dispatch("SET_PATIENT",jo.Id)}if(Ut.value=="showHospitalizationList"){let jo=Tu;route.push({path:"/Home/Visit",query:{Id:jo.AmbulatoryCardId,HHistoryId:jo.Id}})}Ut.value=="showVizov"&&ld(Tu),Lr()};function ld(Tu){const jo=Tu.data;route.push({path:"/Home/journal",query:{Id:jo.Id,DocId:_n.value.Id}})}function vl(){window.axios({url:window.localhost+"Frmo?EmployeePostId="+J.value,method:"get"}).then(Tu=>{Cn.value=Tu.data})}function Ed(){Ot?.setMode&&(Ot.setMode=="showSearch"?an("btnSearch"):Ot.setMode=="showRecordedPatients"?ur("btnSearch"):Ot.setMode=="showVizov"?yr("btnVizov"):Ot.setMode=="showClosedPatients"?Sr("btnClosed"):Ot.setMode=="showHospitalizationList"&&qr("btnRecorded"),Ot.setColumnNames!=null&&(Rt.value=Ot.setColumnNames)),Ot.setOnClick!=null&&(ma=Ot.setOnClick)}Ed(),vt.value?.Id&&(window.axios({url:window.localhost+"EmployeePost?EmployeePostId="+J.value,method:"get"}).then(Tu=>{cn.value=Tu.data,cn.value.forEach(jo=>{jo.fio=jo.LastName+" "+jo.FirstName+" "+jo.Patronymic}),_n.value=cn.value.find(jo=>jo.Id==store.state.user.Id)}),vl(),window.axios({url:window.localhost+"Resource/ForSchedule?ResourceEmployeePostId="+J.value+"&EmployeePostId="+J.value,method:"get"}).then(Tu=>{Tu.data?.length&&(tr.value=Tu.data,dr.value=tr.value[0].Id,dr.value=Tu.data[0].Id)})),Ot.fromJournal&&rr(),window.addEventListener("journal-update",()=>{ir()}),_n.value.Id&&window.axios({url:window.localhost+`Uchastok?TokenEmployeePostId=${_n.value?.Id}`}).then(Tu=>{Ln.value=Tu.data,Ln.value.forEach(jo=>{jo.modifName=`(${jo.Number}) ${jo.Name}`})}),vue.onMounted(()=>{vue.nextTick(()=>{fioPatientField.focus()}),Object.keys(Ot.preloadData).length>0&&Ja(Ot.preloadData)});function Ja(Tu){er.value.PatientFio=Tu.Fio,er.value.Snils=Tu.Snils,er.value.policy.number=Tu.Policy,er.value.BirthDate=Tu.BirthDate,er.value.Lastname=Tu.Lastname,er.value.Firstname=Tu.Firstname,er.value.Patronymic=Tu.Patronymic,er.value.Comment=Tu.Comment,er.value.GenderCode=Tu.GenderCode}return I({getFilteredPatient:No}),(Tu,jo)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["resolution popup__content__wrapper",{journal:Ut.value=="showVizov"&&Tu.route.path=="/search"}])},[vue.withDirectives(vue.createElementVNode("div",null,[vue.withDirectives(vue.createElementVNode("div",_hoisted_1$l,[vue.createVNode(vue.unref(_2),{class:"every-button",id:"btnSearch",primary:"",label:"Поиск",onClick:jo[0]||(jo[0]=Zo=>an("btnSearch")),disabled:sn.value=="btnSearch"},null,8,["disabled"]),vt.value.Permissions.find(Zo=>Zo.AccessCode==1||Zo.AccessCode==16)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",onClick:jo[1]||(jo[1]=Zo=>yr("btnVizov")),disabled:sn.value=="btnVizov"},{default:vue.withCtx(()=>[...jo[56]||(jo[56]=[vue.createTextVNode(" Вызов на дом ",-1)])]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0),vt.value.Permissions.find(Zo=>Zo.AccessCode==1||Zo.AccessCode==16||Zo.AccessCode==5)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$b,[vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",onClick:jo[2]||(jo[2]=Zo=>ur("btnRecorded")),disabled:sn.value=="btnRecorded"},{default:vue.withCtx(()=>[...jo[57]||(jo[57]=[vue.createTextVNode(" Записанные ",-1)])]),_:1},8,["disabled"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",onClick:jo[3]||(jo[3]=Zo=>Sr("btnClosed")),disabled:sn.value=="btnClosed"},{default:vue.withCtx(()=>[...jo[58]||(jo[58]=[vue.createTextVNode(" Выполненные ",-1)])]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0)],512),[[vue.vShow,!Ot.fromJournal]])],512),[[vue.vShow,!At.value&&Pt.value&&Ot.showSelectSearch]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_4$a,[vue.createVNode(_sfc_main$q,{modelValue:Kt.value,"onUpdate:modelValue":jo[4]||(jo[4]=Zo=>Kt.value=Zo),label:"Врач",placeholder:"Выберите врача"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:pn.value,"onUpdate:modelValue":jo[5]||(jo[5]=Zo=>pn.value=Zo),label:"Дата визита от",onKeyup:vue.withKeys(ro,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mr.value,"onUpdate:modelValue":jo[6]||(jo[6]=Zo=>mr.value=Zo),label:"Дата визита до",onKeyup:vue.withKeys(ro,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:ro})],512),[[vue.vShow,Ut.value=="showClosedPatients"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_5$9,[vue.createVNode(vue.unref(xv1),{data:cn.value.map(Zo=>({label:Zo.fio,...Zo})),modelValue:wn.value,"onUpdate:modelValue":jo[7]||(jo[7]=Zo=>wn.value=Zo),searchable:"",placeholder:"Врач",label:"Врач"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(xv1),{data:Cn.value.map(Zo=>({label:Zo.Name,...Zo})),modelValue:Nn.value,"onUpdate:modelValue":jo[8]||(jo[8]=Zo=>Nn.value=Zo),searchable:"",placeholder:"Отделение",label:"Отделение"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(s$),{modelValue:Hn.value,"onUpdate:modelValue":jo[9]||(jo[9]=Zo=>Hn.value=Zo),placeholder:"ФИО",label:"ФИО",onKeyup:vue.withKeys(Bo,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:pn.value,"onUpdate:modelValue":jo[10]||(jo[10]=Zo=>pn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата начала с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mr.value,"onUpdate:modelValue":jo[11]||(jo[11]=Zo=>mr.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:yn.value,"onUpdate:modelValue":jo[12]||(jo[12]=Zo=>yn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата окончания с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:rn.value,"onUpdate:modelValue":jo[13]||(jo[13]=Zo=>rn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:Bo})],512),[[vue.vShow,Ut.value=="showHospitalizationList"]]),vue.withDirectives(vue.createElementVNode("div",null,[vue.createElementVNode("div",_hoisted_6$9,[vue.createElementVNode("div",_hoisted_7$8,[vue.createElementVNode("div",_hoisted_8$7,[vue.createVNode(vue.unref(AA),{label:"ФИО пациента",modelValue:er.value.PatientFio,"onUpdate:modelValue":jo[14]||(jo[14]=Zo=>er.value.PatientFio=Zo),placeholder:"Введите ФИО",onKeyup:vue.withKeys(No,["enter"]),id:"fioPatientField"},null,8,["modelValue"])]),vue.createVNode(vue.unref(jc),{format:"",label:"Дата рождения",modelValue:er.value.BirthDate,"onUpdate:modelValue":jo[15]||(jo[15]=Zo=>er.value.BirthDate=Zo),placeholder:"Введите дату",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Номер амбулаторной карты",modelValue:Ht.value,"onUpdate:modelValue":jo[16]||(jo[16]=Zo=>Ht.value=Zo),placeholder:"Введите номер",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"])]),vue.createVNode(vue.unref(_2),{primary:"",prependIcon:"search",label:"Найти",onClick:No})]),vue.createElementVNode("div",_hoisted_9$5,[vue.createElementVNode("div",_hoisted_10$5,[vue.createVNode(vue.unref(AA),{label:"Серия полиса",modelValue:er.value.policy.series,"onUpdate:modelValue":jo[17]||(jo[17]=Zo=>er.value.policy.series=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Номер полиса",modelValue:er.value.policy.number,"onUpdate:modelValue":jo[18]||(jo[18]=Zo=>er.value.policy.number=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"СНИЛС",modelValue:er.value.Snils,"onUpdate:modelValue":jo[19]||(jo[19]=Zo=>er.value.Snils=Zo),mask:"000-000-000 00",tokens:JSON.stringify({0:{pattern:"[0-9]"}})},null,8,["modelValue","tokens"])]),vue.createElementVNode("div",_hoisted_11$5,[vue.createVNode(vue.unref(_2),{delete:Fr.value,label:"Расширенный поиск",prependIcon:"bars",onClick:jo[20]||(jo[20]=Zo=>Et.value=!0)},null,8,["delete"])])]),vue.createVNode(vue.unref(Ps),{"close-on-click-outside":!1,modelValue:Et.value,"onUpdate:modelValue":jo[40]||(jo[40]=Zo=>Et.value=Zo),size:"3xl",title:"Расширенный поиск"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_28$2,[vue.createVNode(vue.unref(_2),{class:"secondary-button",label:"Поиск",onClick:No})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_12$5,[vue.createElementVNode("div",_hoisted_13$4,[jo[60]||(jo[60]=vue.createElementVNode("p",null,"Данные о пациенте",-1)),vue.createElementVNode("div",_hoisted_14$4,[vue.createVNode(vue.unref(AA),{label:"ФИО пациента",modelValue:er.value.PatientFio,"onUpdate:modelValue":jo[21]||(jo[21]=Zo=>er.value.PatientFio=Zo),placeholder:"Введите ФИО",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(zv1),{label:"Или"}),vue.createElementVNode("div",_hoisted_15$3,[vue.createElementVNode("div",_hoisted_16$3,[vue.createVNode(vue.unref(AA),{label:"Фамилия",placeholder:"Введите фамилию",modelValue:er.value.Lastname,"onUpdate:modelValue":jo[22]||(jo[22]=Zo=>er.value.Lastname=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_17$3,[vue.createVNode(vue.unref(AA),{label:"Имя",placeholder:"Введите имя",modelValue:er.value.Firstname,"onUpdate:modelValue":jo[23]||(jo[23]=Zo=>er.value.Firstname=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_18$3,[vue.createVNode(vue.unref(AA),{label:"Отчество",placeholder:"Введите отчество",modelValue:er.value.Patronymic,"onUpdate:modelValue":jo[24]||(jo[24]=Zo=>er.value.Patronymic=Zo)},null,8,["modelValue"])])])]),vue.createElementVNode("div",_hoisted_19$3,[jo[59]||(jo[59]=vue.createElementVNode("p",null,"Дата рождения",-1)),vue.createVNode(vue.unref(jc),{label:"",modelValue:er.value.BirthDate,"onUpdate:modelValue":jo[25]||(jo[25]=Zo=>er.value.BirthDate=Zo),placeholder:"Введите точную дату",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(zv1),{label:"Или"}),vue.createElementVNode("div",_hoisted_20$3,[vue.createElementVNode("div",_hoisted_21$3,[vue.createVNode(_sfc_main$P,{label:"Дата рождения с",modelValue:ar.value,"onUpdate:modelValue":jo[26]||(jo[26]=Zo=>ar.value=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_22$3,[vue.createVNode(_sfc_main$P,{label:"до",modelValue:vr.value,"onUpdate:modelValue":jo[27]||(jo[27]=Zo=>vr.value=Zo)},null,8,["modelValue"])])])]),vue.createVNode(vue.unref(AA),{label:"Номер амбулаторной карты",modelValue:Ht.value,"onUpdate:modelValue":jo[28]||(jo[28]=Zo=>Ht.value=Zo),placeholder:"Введите номер",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"ID пациента",modelValue:er.value.patientId,"onUpdate:modelValue":jo[29]||(jo[29]=Zo=>er.value.patientId=Zo),placeholder:"Введите ID",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_23$3,[jo[61]||(jo[61]=vue.createElementVNode("p",null,"Адрес фактический",-1)),vue.createVNode(vue.unref(AA),{label:"Улица",modelValue:er.value.addressFact.street,"onUpdate:modelValue":jo[30]||(jo[30]=Zo=>er.value.addressFact.street=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Дом",modelValue:er.value.addressFact.house,"onUpdate:modelValue":jo[31]||(jo[31]=Zo=>er.value.addressFact.house=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Квартира",modelValue:er.value.addressFact.flat,"onUpdate:modelValue":jo[32]||(jo[32]=Zo=>er.value.addressFact.flat=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_24$2,[jo[62]||(jo[62]=vue.createElementVNode("p",null,"Адрес регистрации",-1)),vue.createVNode(vue.unref(AA),{label:"Улица",modelValue:er.value.addressReg.street,"onUpdate:modelValue":jo[33]||(jo[33]=Zo=>er.value.addressReg.street=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Дом",modelValue:er.value.addressReg.house,"onUpdate:modelValue":jo[34]||(jo[34]=Zo=>er.value.addressReg.house=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Квартира",modelValue:er.value.addressReg.flat,"onUpdate:modelValue":jo[35]||(jo[35]=Zo=>er.value.addressReg.flat=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_25$2,[jo[63]||(jo[63]=vue.createElementVNode("p",null,"Полис",-1)),vue.createVNode(vue.unref(AA),{label:"Серия",modelValue:er.value.policy.series,"onUpdate:modelValue":jo[36]||(jo[36]=Zo=>er.value.policy.series=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Номер",modelValue:er.value.policy.number,"onUpdate:modelValue":jo[37]||(jo[37]=Zo=>er.value.policy.number=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_26$2,[jo[64]||(jo[64]=vue.createElementVNode("p",null,"СНИЛС",-1)),vue.createVNode(vue.unref(AA),{label:"Номер",modelValue:er.value.Snils,"onUpdate:modelValue":jo[38]||(jo[38]=Zo=>er.value.Snils=Zo),mask:"000-000-000 00",tokens:JSON.stringify({0:{pattern:"[0-9]"}})},null,8,["modelValue","tokens"])]),vue.createElementVNode("div",_hoisted_27$2,[jo[65]||(jo[65]=vue.createElementVNode("p",null,"По талону",-1)),vue.createVNode(vue.unref(AA),{disabled:"",label:"ТАП №",modelValue:er.value.talonNumber,"onUpdate:modelValue":jo[39]||(jo[39]=Zo=>er.value.talonNumber=Zo),placeholder:"В разработке"},null,8,["modelValue"])])])]),_:1},8,["modelValue"])],512),[[vue.vShow,Ut.value=="showSearch"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_29$2,[vue.createElementVNode("div",_hoisted_30$2,[vue.createVNode(vue.unref(AA),{modelValue:Jt.value,"onUpdate:modelValue":jo[41]||(jo[41]=Zo=>Jt.value=Zo),label:"ФИО",placeholder:"ФИО"},null,8,["modelValue"])]),vue.createVNode(vue.unref(xv1),{data:cn.value.map(Zo=>({label:Zo.fio,...Zo})),modelValue:_n.value,"onUpdate:modelValue":jo[42]||(jo[42]=Zo=>_n.value=Zo),label:"Врач",placeholder:"Врач"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(xv1),{label:"Участок",placeholder:"Участок",data:Ln.value.map(Zo=>({label:Zo.modifName,...Zo})),modelValue:br.value,"onUpdate:modelValue":jo[43]||(jo[43]=Zo=>br.value=Zo)},null,8,["data","modelValue"]),vue.createVNode(vue.unref(AA),{modelValue:$n.value,"onUpdate:modelValue":jo[44]||(jo[44]=Zo=>$n.value=Zo),label:"Адрес вызова",placeholder:"Адрес вызова"},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_31$1,[vue.createVNode(vue.unref(jc),{modelValue:Zt.value,"onUpdate:modelValue":jo[45]||(jo[45]=Zo=>Zt.value=Zo),label:"От",placeholder:"От"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mn.value,"onUpdate:modelValue":jo[46]||(jo[46]=Zo=>mn.value=Zo),label:"До",placeholder:"До"},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:ir})])],512),[[vue.vShow,Ut.value=="showVizov"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_32$1,[vue.createElementVNode("div",_hoisted_33$1,[vue.createVNode(_sfc_main$O,{data:tr.value,modelValue:dr.value,"onUpdate:modelValue":jo[47]||(jo[47]=Zo=>dr.value=Zo),label:"Ресурс","display-expr":Zo=>Zo.Name},null,8,["data","modelValue","display-expr"])]),vue.createVNode(vue.unref(jc),{label:"Дата",modelValue:fn.value,"onUpdate:modelValue":jo[48]||(jo[48]=Zo=>fn.value=Zo),onKeyup:vue.withKeys(wr,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:wr})],512),[[vue.vShow,Ut.value=="showRecordedPatients"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_34$1,[vue.createVNode(vue.unref(xv1),{data:cn.value.map(Zo=>({label:Zo.fio,...Zo})),modelValue:wn.value,"onUpdate:modelValue":jo[49]||(jo[49]=Zo=>wn.value=Zo),searchable:"",placeholder:"Врач",label:"Врач"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(xv1),{data:Cn.value.map(Zo=>({label:Zo.Name,...Zo})),modelValue:Nn.value,"onUpdate:modelValue":jo[50]||(jo[50]=Zo=>Nn.value=Zo),searchable:"",placeholder:"Отделение",label:"Отделение"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(s$),{modelValue:Hn.value,"onUpdate:modelValue":jo[51]||(jo[51]=Zo=>Hn.value=Zo),placeholder:"ФИО",onKeyup:vue.withKeys(Bo,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:pn.value,"onUpdate:modelValue":jo[52]||(jo[52]=Zo=>pn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата начала с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mr.value,"onUpdate:modelValue":jo[53]||(jo[53]=Zo=>mr.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:yn.value,"onUpdate:modelValue":jo[54]||(jo[54]=Zo=>yn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата окончания с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:rn.value,"onUpdate:modelValue":jo[55]||(jo[55]=Zo=>rn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:Bo})],512),[[vue.vShow,Ut.value=="showHospitalizationList"]]),vue.createElementVNode("div",{class:vue.normalizeClass({body__table:!Ot.onlyDesktopVersion})},[vue.createVNode(_sfc_main$r,{numbering:"","border-radius":"sm",loading:Dt.value,height:Ot.tableHeight??`calc(100vh - ${Ot.expanded?"220":"440"}px)`,striped:!1,"data-source":Lt.value,columns:Rt.value,"on-select-row":vue.unref(ma),compact:"",customColoring:Zo=>Zo.DeathDate?"#cad2d4":"",coloring:Zo=>Zo?.Prikrep===!1&&Ut.value==="showRecordedPatients"?"red":""},null,8,["loading","height","data-source","columns","on-select-row","customColoring","coloring"])],2)],2))}},SearchPatient=_export_sfc(_sfc_main$p,[["__scopeId","data-v-4b4870b1"]]),_hoisted_1$k=["required","value"],_hoisted_2$f={class:"font-medium text-sm"},_hoisted_3$a={class:"text-red-500"},_hoisted_4$9={key:0},_sfc_main$o={__name:"EasyPatientSelectBox",props:vue.mergeModels({label:{type:String,default:"Пациент"},required:{type:Boolean,default:!1},acMode:{type:Boolean,default:!1},compact:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:vue.mergeModels(["onSelectPatient"],["update:modelValue"]),setup(e,{emit:I}){const N=e,J=vue.useModel(e,"modelValue"),V=I,M=vue.ref(null),vt=vue.ref(!1);vue.watch(J,()=>{_t(J.value)},{immediate:!0});async function _t(Et,Dt=null){Et!==M.value?.Id&&(!Et||J.value==window.nullGuid?M.value=null:Dt?M.value=Dt:M.value=await window.axios.get(window.localhost+"Patient",{params:{Id:Et}}).then(At=>At.data[0]),J.value=Et,V("onSelectPatient",M.value))}return(Et,Dt)=>(vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("input",{type:"hidden",name:"data9128yd9812182y",required:N.required,value:J.value},null,8,_hoisted_1$k),vue.createElementVNode("div",{onClick:Dt[1]||(Dt[1]=At=>vt.value=!0)},[vue.createElementVNode("p",_hoisted_2$f,[vue.createTextVNode(vue.toDisplayString(N.label)+" ",1),vue.createElementVNode("span",_hoisted_3$a,vue.toDisplayString(N.required?"*":""),1)]),vue.createElementVNode("div",{class:vue.normalizeClass(["w-full rounded border border-slate-200 bg-white px-3 text-sm flex items-center justify-between hover:bg-slate-50 hover:cursor-pointer",(M.value,N.compact?"h-[32px]":"h-[38px]")])},[vue.createTextVNode(vue.toDisplayString(M.value?M.value.Lastname+" "+M.value.Firstname+" "+M.value.Patronymic+" "+vue.unref(hooks)(M.value.BirthDate).format("DD.MM.YYYY"):"Нажмите чтобы выбрать...")+" ",1),M.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$9,[vue.createVNode(vue.unref(Z1),{name:"xmark",class:"w-4 h-4 text-gray-400 hover:text-gray-500",onClick:Dt[0]||(Dt[0]=vue.withModifiers(At=>_t(null),["stop"]))})])):vue.createCommentVNode("",!0)],2)]),vue.createVNode(vue.unref(Ps),{modelValue:vt.value,"onUpdate:modelValue":Dt[3]||(Dt[3]=At=>vt.value=At),title:"Поиск",size:"4xl",class:"p-2"},{default:vue.withCtx(()=>[vue.createVNode(SearchPatient,{emitMode:"",onOnPatientSelect:Dt[2]||(Dt[2]=At=>(_t(At.PatientId,At),vt.value=!1))})]),_:1},8,["modelValue"])]))}},_hoisted_1$j={class:"p-2 space-y-2"},_hoisted_2$e={key:0,class:"text-sm text-red-600 font-medium"},_hoisted_3$9={key:0,class:"space-y-2 rounded border p-2 bg-slate-100 border-slate-200"},_hoisted_4$8={class:"text-center font-semibold"},_hoisted_5$8={class:"flex flex-col"},_hoisted_6$8={key:0},_hoisted_7$7={key:1},_hoisted_8$6={class:"font-mono"},_hoisted_9$4={key:2},_hoisted_10$4={class:"font-mono"},_hoisted_11$4={key:0,class:"text-sm text-gray-500"},_hoisted_12$4={class:"text-sm"},_hoisted_13$3={class:"flex justify-end gap-1"},_hoisted_14$3={key:1,class:"space-y-2"},_hoisted_15$2={class:"space-y-2"},_hoisted_16$2={class:"flex gap-2"},_hoisted_17$2={key:0,class:"w-full"},_hoisted_18$2={key:1,class:"w-full"},_hoisted_19$2={key:2,class:"w-full"},_hoisted_20$2={class:"w-full"},_hoisted_21$2={key:0},_hoisted_22$2={class:"max-h-[min(60vh,420px)] overflow-auto text-xs leading-relaxed whitespace-pre-wrap font-sans text-slate-800 m-0"},_hoisted_23$2={class:"flex justify-end mt-3"},_sfc_main$n={__name:"ScanWriteOffMedicalDevicesFormMDLP",props:{dataPreparats:{type:Array,required:!0},stockId:{type:[String,null],default:null}},emits:"close",setup(e,{emit:I}){const N=I,J=useUserStore(),V=vue.ref([]),M=vue.ref([]),vt=vue.ref([]),_t=vue.ref([]),Et=vue.ref(!1),Dt=vue.ref({}),At=vue.ref({}),Pt=vue.ref([]),Ot=vue.ref(!1),Rt=vue.ref(""),Ut=vue.computed(()=>window.localhost),Lt={"Возврат поставщику":"053cc08f-fc62-4853-a576-365f092a5cc8","Перемещение в карантин":"db0d64d9-44e4-4ad3-9a66-9e38568aaca4"},Ht=e,jt=vue.computed({get:()=>Ht.dataPreparats,set:Cn=>N("update:dataPreparats",Cn)}),Kt=()=>({StockId:Ht.stockId,DocNumber:null,StockIdTo:null,DocDate:new Date,DocSeries:null,DocTypeId:null,ContractNumber:"",TurnoverType:"",SourceType:"",ContractType:"",Preparats:[],PatientId:null}),Zt=vue.ref(Kt());vue.onMounted(async()=>{await mn(),await yn(),await cn(),await dn()}),vue.watch(()=>Zt.value.DocTypeId,()=>{if(Zt.value.DocTypeId){const Cn=V.value.find(wn=>wn.Id===Zt.value.DocTypeId);Cn?Dt.value={...Cn,FullInfo:"Тип документа "+(Cn.MdlpTypeId||"")+" - "+Cn.Name}:Dt.value={},Lt["Возврат поставщику"]===Zt.value.DocTypeId&&(Zt.value.StockIdTo="1701f900-fe6b-4272-9246-a938eaac622c")}},{deep:!1});async function mn(){try{await window.axios.get(window.localhost+"DocumentTypes",{params:{Creatable:!0}}).then(Cn=>{V.value=Cn.data.Body})}catch(Cn){console.log(Cn)}}async function cn(){try{const{data:Cn}=await window.axios.get(`${window.localhost}TurnoverTypes`);vt.value=Cn.Body}catch(Cn){console.log(Cn)}}async function yn(){try{const{data:Cn}=await window.axios.get(`${window.localhost}Stock`,{params:{LpuId:J.user.LpuId}});M.value=Cn.filter(wn=>wn.Id!==Ht.stockId)}catch(Cn){console.log(Cn)}}async function rn(){if(Zt.value.Preparats=jt.value.map(Nn=>Nn.Id),Zt.value.Preparats.length===0){notifyError$1("Список препаратов для формирования документа пуст");return}const Cn=Zt.value.DocTypeId,wn=Dt.value?.Name;Et.value=!0;try{const{data:Nn}=await window.axios.post(`${window.localhost}Stock/CreateDoc/${Cn}`,Zt.value),Hn=br(Nn);Zt.value=Kt(),Ln(Cn,wn)&&Hn?(Rt.value=Hn,Ot.value=!0):(N("close"),notifySuccess("Документ создан"))}catch(Nn){console.error(Nn),notifyError$1("Ошибка при создании документа")}finally{Et.value=!1}}async function _n(){if(Pt.value.map(wn=>wn.IdBms).length===0){notifyError$1("Список препаратов для формирования документа пуст");return}const Cn={PatientId:Zt.value.PatientId,EmployeePostId:J.user.Id,StockId:Ht.stockId,Preparats:Pt.value.map(wn=>wn.IdBms)};Et.value=!0;try{(await window.axios.post(window.localhost+"Stock/CreateDoc/"+Zt.value.DocTypeId,Cn)).data?.id?(notifySuccess("Документ создан"),N("close")):notifyError$1("Ошибка при создании документа")}catch(wn){console.error(wn),notifyError$1("Ошибка при создании документа")}finally{Et.value=!1}}async function dn(){try{await window.axios.get(window.localhost+"Stock/Mdlp").then(Cn=>{_t.value=Cn.data})}catch(Cn){console.log(Cn)}}function sn(Cn){return Cn.SellName+(Cn?.Sgtin?"":" ("+Cn.Series+") количество: "+Cn.Count)}function fn(Cn){return["SellName","Sgtin","Series","PreparatProgram"].map(Nn=>Cn[Nn]).filter(Boolean).join(" | ")}function pn(Cn){At.value.NotPreparat=Cn}function mr(){const Cn=At.value.NotPreparat;if(!Cn||!Array.isArray(Cn.Preparats)||Cn.Preparats.length===0){notifyError$1("Выберите изделие для добавления");return}const wn=Number(At.value.Count)||1;if(wn<=0){notifyError$1("Количество должно быть больше 0");return}const Nn=Math.min(wn,Cn.Preparats.length),Hn=Cn.Preparats.slice(0,Nn);if(Hn.length===0){notifyError$1("Не удалось добавить изделие");return}jt.value=[...jt.value,...Hn],At.value.Count=1}function dr(Cn){const wn=Cn?.Id||Cn?.IdBms||Cn?.Sgtin;if(!wn){notifyError$1("Не удалось определить препарат для удаления");return}jt.value=jt.value.filter(Nn=>(Nn?.Id||Nn?.IdBms||Nn?.Sgtin)!==wn),N("deletePreparat",Cn)}function tr(Cn){Pt.value.push(Cn)}function Jt(){Pt.value=[]}function $n(){N("close")}function Ln(Cn,wn){if(Cn===Lt["Перемещение в карантин"])return!0;const Nn=(wn||"").replace(/\\/g,"/").toLowerCase();return Nn.includes("перемещение")&&Nn.includes("возврат")&&Nn.includes("карантин")}function br(Cn){return Cn==null||Cn===""?null:typeof Cn=="string"?Cn.trim()||null:typeof Cn=="object"?"Body"in Cn&&Cn.Body!=null?typeof Cn.Body=="string"?Cn.Body.trim()||null:JSON.stringify(Cn.Body,null,2):typeof Cn.Message=="string"&&Cn.Message.trim()?Cn.Message.trim():typeof Cn.message=="string"&&Cn.message.trim()?Cn.message.trim():Object.keys(Cn).length===0?null:JSON.stringify(Cn,null,2):String(Cn)}return(Cn,wn)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[e.dataPreparats===void 0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$e," Необходимо передать v-model:data-preparats для работы компонента. ")):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(_sfc_main$O,{label:"Тип документа",data:V.value,"display-expr":Nn=>`${Nn.Name} ${Nn.MdlpTypeId?`(${Nn.MdlpTypeId})`:""}`,modelValue:Zt.value.DocTypeId,"onUpdate:modelValue":wn[0]||(wn[0]=Nn=>Zt.value.DocTypeId=Nn),required:"",searchable:"",clearable:""},null,8,["data","display-expr","modelValue"]),Zt.value.DocTypeId?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$9,[vue.createElementVNode("h3",_hoisted_4$8,vue.toDisplayString(Dt.value.FullInfo),1),Zt.value.DocTypeId==="b416a544-ba1a-4163-95c4-f5c40cfe095f"?(vue.openBlock(),vue.createElementBlock("form",{key:0,onSubmit:vue.withModifiers(_n,["prevent"])},[vue.createVNode(_sfc_main$L,{clearable:"",label:"Торговое наименование",params:{LpuId:vue.unref(J).user.LpuId,StockId:Ht.stockId,Valid:"true"},onSelect:tr,url:Ut.value+"Stock/Preparat","filter-field":"PreparatName","display-expr":fn,idField:"IdBms"},{option:vue.withCtx(({item:Nn})=>[vue.createElementVNode("div",_hoisted_5$8,[vue.createElementVNode("p",null,vue.toDisplayString(Nn?.SellName),1),Nn?.PreparatProgram?(vue.openBlock(),vue.createElementBlock("p",_hoisted_6$8,[wn[12]||(wn[12]=vue.createElementVNode("span",null,"Программа:",-1)),vue.createTextVNode(" "+vue.toDisplayString(Nn?.PreparatProgram),1)])):vue.createCommentVNode("",!0),Nn?.Series?(vue.openBlock(),vue.createElementBlock("p",_hoisted_7$7,[wn[13]||(wn[13]=vue.createElementVNode("span",null,"Серия:",-1)),wn[14]||(wn[14]=vue.createTextVNode()),vue.createElementVNode("span",_hoisted_8$6,vue.toDisplayString(Nn?.Series),1)])):vue.createCommentVNode("",!0),Nn?.Sgtin?(vue.openBlock(),vue.createElementBlock("p",_hoisted_9$4,[wn[15]||(wn[15]=vue.createElementVNode("span",null,"Sgtin:",-1)),wn[16]||(wn[16]=vue.createTextVNode()),vue.createElementVNode("span",_hoisted_10$4,vue.toDisplayString(Nn?.Sgtin),1)])):vue.createCommentVNode("",!0)])]),_:1},8,["params","url"]),vue.createVNode(_sfc_main$o,{label:"Пациент",modelValue:Zt.value.PatientId,"onUpdate:modelValue":wn[1]||(wn[1]=Nn=>Zt.value.PatientId=Nn)},null,8,["modelValue"]),wn[19]||(wn[19]=vue.createElementVNode("p",{class:"text-sm font-medium"},"Препараты для списания:",-1)),Pt.value.length===0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_11$4,"Препараты не выбраны")):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(Pt.value,Nn=>(vue.openBlock(),vue.createElementBlock("div",{key:Nn.IdBms},[vue.createElementVNode("p",_hoisted_12$4,"- "+vue.toDisplayString(Nn.label),1)]))),128)),vue.createElementVNode("div",_hoisted_13$3,[vue.createVNode(vue.unref(_2),{onClick:Jt,disabled:Pt.value.length===0},{default:vue.withCtx(()=>[...wn[17]||(wn[17]=[vue.createTextVNode("Сбросить препараты",-1)])]),_:1},8,["disabled"]),vue.createVNode(vue.unref(_2),{type:"submit",primary:""},{default:vue.withCtx(()=>[...wn[18]||(wn[18]=[vue.createTextVNode("Сформировать документ",-1)])]),_:1})])],32)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$3,[wn[21]||(wn[21]=vue.createElementVNode("p",{class:"w-full text-center text-sm text-gray-500"},"Просканируйте препараты перед подтверждением",-1)),vue.createVNode(_sfc_main$L,{modelValue:At.value.SellName,"onUpdate:modelValue":wn[2]||(wn[2]=Nn=>At.value.SellName=Nn),clearable:"",label:"Торговое наименование мед. изделия",params:{LpuId:vue.unref(J).user.LpuId,StockId:Ht.stockId,Valid:"true"},onSelect:pn,url:Ut.value+"Stock/PreparatApiece","filter-field":"SellName","display-expr":sn},null,8,["modelValue","params","url"]),vue.createVNode(vue.unref(a$),{label:"Количество",modelValue:At.value.Count,"onUpdate:modelValue":wn[3]||(wn[3]=Nn=>At.value.Count=Nn)},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"w-full",label:"Добавить изделие",onClick:mr}),vue.createElementVNode("div",_hoisted_15$2,[vue.createElementVNode("div",_hoisted_16$2,[Dt.value.MdlpTypeId==="415"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$2,[vue.createVNode(_sfc_main$O,{label:"Склады МДЛП",data:_t.value,clearable:"",disabled:Lt["Возврат поставщику"]===Zt.value.DocTypeId,modelValue:Zt.value.StockIdTo,"onUpdate:modelValue":wn[4]||(wn[4]=Nn=>Zt.value.StockIdTo=Nn),"display-expr":Nn=>Nn.OrgName+" по адресу: "+Nn.AddressName,searchable:""},null,8,["data","disabled","modelValue","display-expr"])])):vue.createCommentVNode("",!0),Dt.value.MdlpTypeId==="431"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18$2,[vue.createVNode(_sfc_main$O,{label:"Склад получатель",modelValue:Zt.value.StockIdTo,"onUpdate:modelValue":wn[5]||(wn[5]=Nn=>Zt.value.StockIdTo=Nn),"display-expr":Nn=>Nn.Name,data:M.value,required:""},null,8,["modelValue","display-expr","data"])])):vue.createCommentVNode("",!0),Dt.value.MdlpTypeId==="521"||Dt.value.Id===null?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19$2,[vue.createVNode(vue.unref(AA),{label:"Серия документа",modelValue:Zt.value.DocSeries,"onUpdate:modelValue":wn[6]||(wn[6]=Nn=>Zt.value.DocSeries=Nn),required:""},null,8,["modelValue"])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_20$2,[vue.createVNode(vue.unref(jc),{label:"Дата отгрузки со склада",modelValue:Zt.value.DocDate,"onUpdate:modelValue":wn[7]||(wn[7]=Nn=>Zt.value.DocDate=Nn),required:""},null,8,["modelValue"])])]),Dt.value.MdlpTypeId==="415"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_21$2,[vue.createVNode(_sfc_main$O,{label:"Тип оборота",data:vt.value,"display-expr":Nn=>Nn.Name,modelValue:Zt.value.TurnoverType,"onUpdate:modelValue":wn[8]||(wn[8]=Nn=>Zt.value.TurnoverType=Nn),"id-field":"Code",required:""},null,8,["data","display-expr","modelValue"])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[wn[20]||(wn[20]=vue.createElementVNode("h3",{class:"mb-3 font-medium"},"Список препаратов для списания",-1)),vue.createVNode(_sfc_main$r,{"data-source":jt.value,columns:vue.unref(preparatSgtin),pagination:5,actions:[{name:"",icon:"trash",tooltip:"Убрать препарат",tooltipPlacement:"top",onClick({record:Nn}){dr(Nn)}}]},null,8,["data-source","columns","actions"])]),vue.createVNode(vue.unref(_2),{class:"w-full",primary:"",label:"Подтвердить",onClick:rn})]),vue.createVNode(FullLoader,{modelValue:Et.value,"onUpdate:modelValue":wn[9]||(wn[9]=Nn=>Et.value=Nn)},null,8,["modelValue"])]))])):vue.createCommentVNode("",!0)],64)),vue.createVNode(vue.unref(Ps),{modelValue:Ot.value,"onUpdate:modelValue":wn[11]||(wn[11]=Nn=>Ot.value=Nn),title:"Результат",size:"lg",class:"p-3",onClose:$n},{default:vue.withCtx(()=>[vue.createElementVNode("pre",_hoisted_22$2,vue.toDisplayString(Rt.value),1),vue.createElementVNode("div",_hoisted_23$2,[vue.createVNode(vue.unref(_2),{primary:"",label:"OK",onClick:wn[10]||(wn[10]=Nn=>Ot.value=!1)})])]),_:1},8,["modelValue"])]))}},_sfc_main$m={__name:"IsOkay",setup(e){function I(){alert("Hello")}return(N,J)=>(vue.openBlock(),vue.createElementBlock("div",null,[J[1]||(J[1]=vue.createElementVNode("p",null,"IsOkay",-1)),vue.createVNode(vue.unref(_2),{onClick:I},{default:vue.withCtx(()=>[...J[0]||(J[0]=[vue.createTextVNode("Click me 1",-1)])]),_:1})]))}};var sha1={exports:{}};/*
1320
+ function plural(e,I){var N=e.split("_");return I%10===1&&I%100!==11?N[0]:I%10>=2&&I%10<=4&&(I%100<10||I%100>=20)?N[1]:N[2]}function relativeTimeWithPlural(e,I,N){var J={ss:I?"секунда_секунды_секунд":"секунду_секунды_секунд",mm:I?"минута_минуты_минут":"минуту_минуты_минут",hh:"час_часа_часов",dd:"день_дня_дней",ww:"неделя_недели_недель",MM:"месяц_месяца_месяцев",yy:"год_года_лет"};return N==="m"?I?"минута":"минуту":e+" "+plural(J[N],+e)}var monthsParse=[/^янв/i,/^фев/i,/^мар/i,/^апр/i,/^ма[йя]/i,/^июн/i,/^июл/i,/^авг/i,/^сен/i,/^окт/i,/^ноя/i,/^дек/i];hooks.defineLocale("ru",{months:{format:"января_февраля_марта_апреля_мая_июня_июля_августа_сентября_октября_ноября_декабря".split("_"),standalone:"январь_февраль_март_апрель_май_июнь_июль_август_сентябрь_октябрь_ноябрь_декабрь".split("_")},monthsShort:{format:"янв._февр._мар._апр._мая_июня_июля_авг._сент._окт._нояб._дек.".split("_"),standalone:"янв._февр._март_апр._май_июнь_июль_авг._сент._окт._нояб._дек.".split("_")},weekdays:{standalone:"воскресенье_понедельник_вторник_среда_четверг_пятница_суббота".split("_"),format:"воскресенье_понедельник_вторник_среду_четверг_пятницу_субботу".split("_"),isFormat:/\[ ?[Вв] ?(?:прошлую|следующую|эту)? ?] ?dddd/},weekdaysShort:"вс_пн_вт_ср_чт_пт_сб".split("_"),weekdaysMin:"вс_пн_вт_ср_чт_пт_сб".split("_"),monthsParse,longMonthsParse:monthsParse,shortMonthsParse:monthsParse,monthsRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsShortRegex:/^(январ[ья]|янв\.?|феврал[ья]|февр?\.?|марта?|мар\.?|апрел[ья]|апр\.?|ма[йя]|июн[ья]|июн\.?|июл[ья]|июл\.?|августа?|авг\.?|сентябр[ья]|сент?\.?|октябр[ья]|окт\.?|ноябр[ья]|нояб?\.?|декабр[ья]|дек\.?)/i,monthsStrictRegex:/^(январ[яь]|феврал[яь]|марта?|апрел[яь]|ма[яй]|июн[яь]|июл[яь]|августа?|сентябр[яь]|октябр[яь]|ноябр[яь]|декабр[яь])/i,monthsShortStrictRegex:/^(янв\.|февр?\.|мар[т.]|апр\.|ма[яй]|июн[ья.]|июл[ья.]|авг\.|сент?\.|окт\.|нояб?\.|дек\.)/i,longDateFormat:{LT:"H:mm",LTS:"H:mm:ss",L:"DD.MM.YYYY",LL:"D MMMM YYYY г.",LLL:"D MMMM YYYY г., H:mm",LLLL:"dddd, D MMMM YYYY г., H:mm"},calendar:{sameDay:"[Сегодня, в] LT",nextDay:"[Завтра, в] LT",lastDay:"[Вчера, в] LT",nextWeek:function(e){if(e.week()!==this.week())switch(this.day()){case 0:return"[В следующее] dddd, [в] LT";case 1:case 2:case 4:return"[В следующий] dddd, [в] LT";case 3:case 5:case 6:return"[В следующую] dddd, [в] LT"}else return this.day()===2?"[Во] dddd, [в] LT":"[В] dddd, [в] LT"},lastWeek:function(e){if(e.week()!==this.week())switch(this.day()){case 0:return"[В прошлое] dddd, [в] LT";case 1:case 2:case 4:return"[В прошлый] dddd, [в] LT";case 3:case 5:case 6:return"[В прошлую] dddd, [в] LT"}else return this.day()===2?"[Во] dddd, [в] LT":"[В] dddd, [в] LT"},sameElse:"L"},relativeTime:{future:"через %s",past:"%s назад",s:"несколько секунд",ss:relativeTimeWithPlural,m:relativeTimeWithPlural,mm:relativeTimeWithPlural,h:"час",hh:relativeTimeWithPlural,d:"день",dd:relativeTimeWithPlural,w:"неделя",ww:relativeTimeWithPlural,M:"месяц",MM:relativeTimeWithPlural,y:"год",yy:relativeTimeWithPlural},meridiemParse:/ночи|утра|дня|вечера/i,isPM:function(e){return/^(дня|вечера)$/.test(e)},meridiem:function(e,I,N){return e<4?"ночи":e<12?"утра":e<17?"дня":"вечера"},dayOfMonthOrdinalParse:/\d{1,2}-(й|го|я)/,ordinal:function(e,I){switch(I){case"M":case"d":case"DDD":return e+"-й";case"D":return e+"-го";case"w":case"W":return e+"-я";default:return e}},week:{dow:1,doy:4}}),hooks.locale("ru");function getPolicy(e=[]){if(!e||!e.length)return"";if(e.find(I=>!I.DateEnd||I.DateEnd>new Date))return`${e.find(I=>!I.DateEnd||I.DateEnd>new Date)?.Serial??""} ${e.find(I=>!I.DateEnd||I.DateEnd>new Date)?.Number}`}const arrPatients=[{name:"Number",caption:"Номер амбулаторной карты"},{name:"Lastname",caption:"Фамилия"},{name:"Firstname",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"BirthDateLabel",caption:"Дата рождения",dataType:"date",customizeText:e=>hooks(e.BirthDate).format("LL")!="Invalid date"?hooks(e.BirthDate).format("L"):"",display:e=>hooks(e.BirthDate).format("LL")!="Invalid date"?hooks(e.BirthDate).format("L"):""},{name:"AddressRegFullInfo",caption:"Адрес регистрации"},{name:"AddressFactFullInfo",caption:"Адрес фактический",width:"260px"},{name:"Snils",caption:"СНИЛС",width:"140px"},{name:"_policy",caption:"Полис",display:e=>getPolicy(e.policy)},{name:"Prikrep",caption:"Прикрепление",type:"bool",display:e=>e.Prikrep?"Имеется":"Не имеется"},{name:"UchastokName",caption:"Участок"}],arrJCallHouse=[{name:"Lastname",caption:"Фамилия"},{name:"Firstname",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"Birthdate",caption:"Дата рождения",type:"date"}],arrRecordedPatients=[{name:"LastName",caption:"Фамилия"},{name:"FirstName",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"BirthDate",caption:"Дата рождения",type:"date"},{name:"DateNazn",caption:"Дата назначения",type:"date"},{name:"TimeNazn",caption:"Время назначения",type:"date"},{name:"PatientPhones",caption:"Телефон",type:"text"},{name:"Address",caption:"Адрес",type:"string"},{name:"Prikrep",caption:"Прикрепление",type:"bool",display:e=>e.Prikrep?"Имеется":"Не имеется"},{name:"Inogorod",caption:"Иногород",type:"bool",display:e=>e.Inogorod?"Да":"Нет"}],arrClosedPatients=[{name:"PatientFio",caption:"Фамилия Имя Отчество"},{name:"PolisNumber",caption:"Номер полиса"},{name:"KindPaidName",caption:"Способ оплаты"},{name:"MinVisitDate",caption:"Дата начала",dataType:"datetime",customizeText:e=>hooks(e.MinVisitDate).format("LL")!="Invalid date"?hooks(e.MinVisitDate).format("L"):""},{name:"MaxVisitDate",caption:"Дата окончания",dataType:"datetime",customizeText:e=>hooks(e.MaxVisitDate).format("LL")!="Invalid date"?hooks(e.MaxVisitDate).format("L"):""},{name:"Name",caption:"Услуга"},{name:"Cost",caption:"Оплаченная сумма"}],arrHospitalizationList=[{name:"Lastname",caption:"Фамилия"},{name:"Firstname",caption:"Имя"},{name:"Patronymic",caption:"Отчество"},{name:"Birthdate",caption:"Дата рождения",dataType:"date",customizeText:e=>hooks(e.Birthdate).format("LL")!="Invalid date"?hooks(e.Birthdate).format("L"):""},{name:"DateIn",caption:"Дата начала",dataType:"datetime",customizeText:e=>hooks(e.DateIn).format("LL")!="Invalid date"?hooks(e.DateIn).format("L"):""},{name:"DateOut",caption:"Дата окончания",dataType:"datetime",customizeText:e=>hooks(e.DateOut).format("LL")!="Invalid date"?hooks(e.DateOut).format("L"):""},{name:"Diagn",caption:"Диагноз"},{name:"HospDivName",caption:"Отделение госпитализации"},{name:"Npol",caption:"Номер полиса"},{name:"KsgCode",caption:"КСГ код"},{name:"Status",caption:"Статус",group:"0"},{name:"Oplata",caption:"Оплата"},{name:"Nschet",caption:"Номер счета"}],usePatientStoreImpl=defineStore("patient",{state:()=>({patient:null}),actions:{setPatient(e){this.patient=e},clearPatient(){this.patient=null}}});function usePatientStore(e,I){return usePatientStoreImpl(e??usePinia(),I)}const DoctorPositionTypeCode=2,NursePositionTypeCode=1,NoPositionTypeCode=null,_sfc_main$q={__name:"EmployeeSelectBox",props:{modelValue:{type:String,default:null},display:{type:Function,default:null},readOnly:{type:Boolean,default:!1},label:{type:String,default:null},nurse:{type:Boolean,default:!1},doctor:{type:Boolean,default:!1},extraInfo:{type:Array,default:()=>["PositionName","DivisionName"]},fullName:{type:Boolean,default:!1},otherLpu:{type:Boolean,default:!1},lpuId:{type:[String,null],default:null},showFired:{type:Boolean,default:!1},showExpired:{type:Boolean,default:!1},filter:{type:Function,default:()=>!0}},emits:["update:modelValue","selectEmployee"],setup(e,{emit:I}){const N=I,J=e,V=vue.computed(()=>useUserStore().EmployeePostId),M=vue.ref({Id:null}),vt=vue.ref(null),_t=vue.ref([]),Et=vue.computed(()=>J.nurse?NursePositionTypeCode:J.doctor?DoctorPositionTypeCode:NoPositionTypeCode),Dt=vue.computed(()=>J.label??(J.nurse?"Медсестра":"Доктор"));vue.onMounted(()=>{Ot()}),vue.onUnmounted(()=>{_t.value=[]}),vue.watch(()=>J.lpuId,()=>{Ot()}),vue.watch(()=>J.modelValue,Ht=>{Ht||(M.value={Id:null},vt.value=null,At(null)),Ht!==vt.value&&Ot()});function At(Ht){M.value=Ht??{Id:null},vt.value=Ht?.Id,N("update:modelValue",vt.value),N("selectEmployee",M.value)}let Pt=null;function Ot(){let Ht;J.otherLpu?J.modelValue&&(Ht={Id:J.modelValue,EmployeePostId:J.modelValue,PositionTypeCode:Et.value}):Ht={EmployeePostId:V.value,PositionTypeCode:Et.value},J.lpuId&&(Ht={LpuId:J.lpuId}),Pt=Ht,Ht&&window.axiosCache.get(window.localhost+"EmployeePost",{params:Ht}).then(jt=>{if(JSON.stringify(Pt)===JSON.stringify(Ht)){let Kt=jt.data;if(!J.showExpired&&!J.readOnly&&(Kt=Kt.filter(Zt=>Zt.ExpirationDate?hooks(Zt.ExpirationDate).isAfter(hooks()):!0)),!J.showFired&&!J.readOnly&&(Kt=Kt.filter(Zt=>!Zt?.Fired)),Kt=Kt.filter(J.filter),Kt?.length){if(_t.value=Kt.sort((Zt,mn)=>Zt.LastName<mn.LastName?-1:1),J.modelValue){let Zt=_t.value.find(mn=>mn.Id===J.modelValue);At(Zt)}}else _t.value=[],J.modelValue&&At(null)}})}const Rt=vue.computed(()=>{let Ht='return employee.LastName + " " + (employee?.FirstName ? employee.FirstName'+(J.fullName?"":'[0] + "."')+' : "") + " " + (employee?.Patronymic ? employee.Patronymic'+(J.fullName?"":'[0] + "."')+' : "") + " "';if(J.extraInfo?.length){Ht+=' + " ("';let jt=!0;for(let Kt of J.extraInfo)jt?jt=!1:Ht+=' + ", "',Ht+=" + employee."+Kt;Ht+='+ ")";'}return new Function("employee",Ht)});function Ut(){M.value&&At(null)}function Lt(Ht){At(Ht)}return(Ht,jt)=>(vue.openBlock(),vue.createBlock(_sfc_main$O,{modelValue:vt.value,"onUpdate:modelValue":jt[0]||(jt[0]=Kt=>vt.value=Kt),"display-expr":J.display?J.display:Rt.value,data:_t.value,label:Dt.value,onOnSelectObject:Lt,onInput:Ut,searchable:"",clearable:""},null,8,["modelValue","display-expr","data","label"]))}},_hoisted_1$l={style:{display:"flex","flex-direction":"row","align-items":"center",gap:"1rem"}},_hoisted_2$g={key:0},_hoisted_3$b={key:1,style:{display:"flex","flex-direction":"row",gap:"0.25rem"}},_hoisted_4$a={class:"search-interface search-interface"},_hoisted_5$9={class:"listHospSearchInput search-interface"},_hoisted_6$9={class:"flex justify-between gap-3 items-end"},_hoisted_7$8={class:"flex gap-3 grow"},_hoisted_8$7={class:"grow"},_hoisted_9$5={class:"flex justify-between gap-3 items-end"},_hoisted_10$5={class:"flex gap-3 my-2"},_hoisted_11$5={class:"flex gap-3 my-2"},_hoisted_12$5={class:"p-3 grid grid-cols-2 gap-3"},_hoisted_13$4={class:"col-span-2 bg-slate-100 rounded border p-2 flex flex-col gap-2"},_hoisted_14$4={class:"p-2 rounded border bg-slate-200"},_hoisted_15$3={class:"flex flex-row gap-2 items-center justify-between"},_hoisted_16$3={class:"w-full"},_hoisted_17$3={class:"w-full"},_hoisted_18$3={class:"w-full"},_hoisted_19$3={class:"p-2 rounded border bg-slate-200"},_hoisted_20$3={class:"flex flex-row justify-between gap-2 items-center"},_hoisted_21$3={class:"w-full"},_hoisted_22$3={class:"w-full"},_hoisted_23$3={class:"bg-slate-100 rounded border p-2"},_hoisted_24$2={class:"bg-slate-100 rounded border p-2"},_hoisted_25$2={class:"bg-slate-100 rounded border p-2"},_hoisted_26$2={class:"bg-slate-100 rounded border p-2"},_hoisted_27$2={class:"bg-slate-100 rounded border p-2 col-span-2"},_hoisted_28$2={class:"modal-footer-buttons"},_hoisted_29$2={class:"body__input search-interface"},_hoisted_30$2={style:{width:"100%",margin:"0 10px"}},_hoisted_31$1={style:{display:"flex","align-items":"flex-end",gap:"0.5rem"}},_hoisted_32$1={class:"search-interface",style:{gap:"1rem"}},_hoisted_33$1={style:{width:"350px"}},_hoisted_34$1={class:"listHospSearchInput"},_sfc_main$p={__name:"SearchPatient",props:{onlyDesktopVersion:{type:Boolean,default:!1},showSelectSearch:{type:Boolean,default:!0},show:{type:Boolean,default:!1},showPopup:{type:Boolean},fromJournal:{type:Boolean},selectedRepresentative:{type:String},setMode:{default:"showSearch",type:String},setOnClick:{type:Function,default:null},setColumnNames:{type:Object,default:null},tableHeight:{type:Number||String,default:null},emitMode:{type:Boolean,default:!1},preloadData:{type:Object,default:{}},expanded:{type:Boolean,default:!1}},emits:["getSearchParams","update:show","onPatientSelect"],setup(e,{expose:I,emit:N}){hooks.locale("ru");const J=vue.computed(()=>useUserStore().EmployeePostId),V=vue.computed(()=>useUserStore().LpuId),M=vue.computed(()=>usePatientStore().patient),vt=vue.computed(()=>useUserStore().user),_t=N,Et=vue.ref(!1),Dt=vue.ref(!1),At=vue.computed(()=>{let Tu=!1,jo=vt.value.DivisionTypeCode;return(jo=="2"||jo=="8"||jo=="9"||jo=="10")&&(Tu=!0),Tu}),Pt=vue.computed(()=>vt.value.DivisionTypeCode!="7"),Ot=e,Rt=vue.ref([]),Ut=vue.ref("showSearch"),Lt=vue.ref([]),Ht=vue.ref("");vue.ref(""),vue.ref("");const jt=vue.ref(0);vue.ref(["Активные","Завершённые"]);const Kt=vue.ref(""),Zt=vue.ref(Pr()),mn=vue.ref(Pr()),cn=vue.ref([]),yn=vue.ref(""),rn=vue.ref(hooks().format("YYYY-MM-DD")),_n=vue.ref(""),dn=vue.ref([]),sn=vue.ref("btnSearch"),fn=vue.ref(hooks().format("DD.MM.YYYY")),pn=vue.ref(""),mr=vue.ref(hooks().format("YYYY-MM-DD")),dr=vue.ref(""),tr=vue.ref([]),Jt=vue.ref(""),$n=vue.ref(""),Ln=vue.ref([]),br=vue.ref({}),Cn=vue.ref([]),wn=vue.ref(""),Nn=vue.ref(""),Hn=vue.ref(""),ar=vue.ref(null),vr=vue.ref(null),er=vue.ref({Snils:"",talonNumber:"",policy:{series:"",number:""},addressFact:{street:"",house:"",flat:""},addressReg:{street:"",house:"",flat:""},patientId:"",ambulatoryCardId:"",PatientFio:"",BirthDate:null,Lastname:"",Firstname:"",Patronymic:""});vue.watch(()=>Ot.setMode,Tu=>{Ut.value=Tu,Ed()}),vue.watch(fn,()=>{wr()});function rr(){Ut.value="showVizov",Rt.value=arrJCallHouse,sn.value="btnVizov",Lt.value=[]}function an(Tu){Ut.value="showSearch",Rt.value=arrPatients,sn.value=Tu,Lt.value=[]}function yr(Tu){Ut.value="showVizov",Rt.value=arrJCallHouse,sn.value=Tu,Lt.value=[]}function ur(Tu){Ut.value="showRecordedPatients",Rt.value=arrRecordedPatients,sn.value=Tu,Lt.value=[]}function Sr(Tu){Ut.value="showClosedPatients",Rt.value=arrClosedPatients,sn.value=Tu,Lt.value=[]}function qr(Tu){Ut.value="showHospitalizationList",Rt.value=arrHospitalizationList,sn.value=Tu,Lt.value=[]}function Pr(){let Tu=new Date;return Tu="2023-01-12",Tu}function ir(){Dt.value=!0,window.axios({url:window.localhost+`WebHouseCall?DateStart=${Zt.value}&DateEnd=${mn.value}&employeePostIdto=${_n.value.Id}&PatientFio=${Jt.value}&Address=${$n.value}&UchastokId=${typeof br.value.Id<"u"?br.value.Id:""}`}).then(Tu=>{dn.value=Tu.data,Dt.value=!1,jt.value?Lt.value=dn.value.filter(jo=>jo.TalonId==null):Lt.value=dn.value.filter(jo=>jo.TalonId!=null)})}function No(){Dt.value=!0,Et.value=!1;let Tu=er.value.BirthDate??"",jo=er.value.BirthDate??"";const Zo={PatientFIO:er.value.PatientFio,From:Tu,To:jo,AmbulatoryCardNumber:Ht.value,Snils:er.value.Snils,PolicySerial:er.value.policy.series,PolicyNumber:er.value.policy.number,AddrFact:er.value.addressFact.street,HouseFact:er.value.addressFact.house,FlatFact:er.value.addressFact.flat,AddrReg:er.value.addressReg.street,HouseReg:er.value.addressReg.house,FlatReg:er.value.addressReg.flat,EmployeePostId:J.value,AmbulatoryCardId:er.value.ambulatoryCardId,Id:er.value.patientId,LastName:er.value.Lastname,FirstName:er.value.Firstname,Patronymic:er.value.Patronymic,From:ar.value??Tu,To:vr.value??jo};window.axios.get(window.localhost+"Patient",{params:Zo}).then(rd=>{if(Dt.value=!1,Lt.value=rd.data.map(cf=>({...cf,AddressRegFullInfo:`${cf.AddressReg??""} ${cf.HouseReg?"д. "+cf.HouseReg:""} ${cf.FlatReg?"кв. "+cf.FlatReg:""}`,AddressFactFullInfo:`${cf.AddressFact??""} ${cf.HouseFact??""} ${cf.FlatFact??""}`})),!Lt.value?.length&&Ht.value){notifyError$1("Пациент с таким номером не найден");return}!Lt.value?.length&&window.confirm("Пациент не найден, хотите создать?")&&(store.commit("CLEAR_PATIENT"),store.commit("SET_SEARCH_PATIENT_FIELDS",er.value),window.open(router.resolve({name:"patientInfo",query:{StoredFields:!0}}).href,"_blank"))})}const Fr=vue.computed(()=>{let Tu=["Firstname","Lastname","Patronymic","Birthdate","Snils","Policy"];if(Object.keys(er.value).find(jo=>er.value[jo]&&Tu.includes(jo)))return!0});function wr(){Dt.value=!0,_t("getSearchParams",{date:fn.value,resourceId:dr.value}),window.axios({url:window.localhost+"Schedule/ByResourceId?DateTalon="+hooks(fn.value,"DD.MM.YYYY").format("YYYY-MM-DD")+"&ResourceId="+dr.value+"&EmployeePostId="+J.value,method:"get"}).then(Tu=>{Dt.value=!1;let jo=Tu.data;jo.sort((rd,cf)=>{let qo=hooks(rd?.TimeNazn?rd.TimeNazn:rd.VIsitTime,"HH:mm:ss"),Uo=hooks(cf?.TimeNazn?cf.TimeNazn:cf.VIsitTime,"HH:mm:ss");return qo>Uo?1:qo<Uo?-1:0}),Lt.value=jo;let Zo=[];for(let rd of Lt.value){let cf=!1;if(rd.OrderId)cf=!0;else{let qo=Lt.value.filter(Uo=>rd.Id===Uo.Id);qo?.length&&(cf=qo.findIndex(Uo=>Uo.OrderId)===-1)}cf&&Zo.length&&(cf=Zo.findIndex(qo=>rd.Id===qo.Id)===-1),cf&&Zo.push(rd)}Lt.value=Zo})}async function ro(){Dt.value=!0,Kt.value==null&&(Kt.value=""),await window.axios({url:window.localhost+"GetOpenTalons",method:"get",params:{Close:!0,EmployeePostId:Kt.value,MinVisitDate:pn.value?hooks(pn.value,"DD.MM.YYYY").format("YYYY-MM-DD"):"",MaxVisitDate:mr.value?hooks(mr.value,"DD.MM.YYYY").format("YYYY-MM-DD"):"",LpuId:V.value,Limit:100}}).then(Tu=>{Dt.value=!1,Lt.value=Tu.data})}async function Bo(){if(!Dt.value){if(!pn.value&&!Hn.value&&!yn.value){notifyError$1("Выберите хотя бы один фильтр: Дата, ФИО или Дата окончания с");return}Dt.value=!0,wn.value||(wn.value=""),Nn.value||(Nn.value=""),await window.axios({url:window.localhost+"refs/HospitalizationList?&employeePostId="+wn.value+"&DivisionId="+Nn.value+"&CreateDateFrom="+pn.value+"&CreateDateTo="+mr.value+"&VisitDateFrom="+yn.value+"&VisitDateTo="+rn.value+"&PatientFio="+Hn.value,method:"get"}).then(Tu=>{Dt.value=!1,Lt.value=Tu.data})}}function Lr(){_t("update:show",!1)}let ma=Tu=>{if(Tu.DeathDate&&window.alert("Умер: "+(Tu.DeathDate?hooks(Tu.DeathDate).format("L"):"не удалось получить дату")),Ot.emitMode){_t("onPatientSelect",Tu),Lr();return}if(Ut.value=="showSearch"){let jo=Tu;if(M?.value.Representative=="select")M.value.Representative=jo.PatientId,M.value.RepresentativeFio=jo?.Lastname.value+" "+jo?.Firstname.value+" "+jo?.Patronymic?.value,jo={PatientIdMain:M.value.PatientId,PatientIdRepresentative:jo.PatientId,EgiszId:Ot.selectedRepresentative},window.axios({url:window.localhost+"PatientRepresentative?PatientId="+M.value.PatientId,method:"post",data:jo}).then(()=>{M.value.Representative="update"});else if(jo?.Id!=null)store.dispatch("SET_PATIENT",jo.Id);else{let Zo={PatientId:jo.PatientId,userId:J.value};window.axios({url:window.localhost+"AmbulatoryCard",method:"post",data:Zo}).then(rd=>{store.dispatch("SET_PATIENT",rd.data)})}}if(Ut.value=="showClosedPatients"){let jo=Tu;store.dispatch("SET_PATIENT",jo.AmbulatoryCardId)}if(Ut.value=="showRecordedPatients"){let jo=Tu;store.dispatch("SET_PATIENT",jo.Id)}if(Ut.value=="showHospitalizationList"){let jo=Tu;route.push({path:"/Home/Visit",query:{Id:jo.AmbulatoryCardId,HHistoryId:jo.Id}})}Ut.value=="showVizov"&&ld(Tu),Lr()};function ld(Tu){const jo=Tu.data;route.push({path:"/Home/journal",query:{Id:jo.Id,DocId:_n.value.Id}})}function vl(){window.axios({url:window.localhost+"Frmo?EmployeePostId="+J.value,method:"get"}).then(Tu=>{Cn.value=Tu.data})}function Ed(){Ot?.setMode&&(Ot.setMode=="showSearch"?an("btnSearch"):Ot.setMode=="showRecordedPatients"?ur("btnSearch"):Ot.setMode=="showVizov"?yr("btnVizov"):Ot.setMode=="showClosedPatients"?Sr("btnClosed"):Ot.setMode=="showHospitalizationList"&&qr("btnRecorded"),Ot.setColumnNames!=null&&(Rt.value=Ot.setColumnNames)),Ot.setOnClick!=null&&(ma=Ot.setOnClick)}Ed(),vt.value?.Id&&(window.axios({url:window.localhost+"EmployeePost?EmployeePostId="+J.value,method:"get"}).then(Tu=>{cn.value=Tu.data,cn.value.forEach(jo=>{jo.fio=jo.LastName+" "+jo.FirstName+" "+jo.Patronymic}),_n.value=cn.value.find(jo=>jo.Id==store.state.user.Id)}),vl(),window.axios({url:window.localhost+"Resource/ForSchedule?ResourceEmployeePostId="+J.value+"&EmployeePostId="+J.value,method:"get"}).then(Tu=>{Tu.data?.length&&(tr.value=Tu.data,dr.value=tr.value[0].Id,dr.value=Tu.data[0].Id)})),Ot.fromJournal&&rr(),window.addEventListener("journal-update",()=>{ir()}),_n.value.Id&&window.axios({url:window.localhost+`Uchastok?TokenEmployeePostId=${_n.value?.Id}`}).then(Tu=>{Ln.value=Tu.data,Ln.value.forEach(jo=>{jo.modifName=`(${jo.Number}) ${jo.Name}`})}),vue.onMounted(()=>{vue.nextTick(()=>{fioPatientField.focus()}),Object.keys(Ot.preloadData).length>0&&Ja(Ot.preloadData)});function Ja(Tu){er.value.PatientFio=Tu.Fio,er.value.Snils=Tu.Snils,er.value.policy.number=Tu.Policy,er.value.BirthDate=Tu.BirthDate,er.value.Lastname=Tu.Lastname,er.value.Firstname=Tu.Firstname,er.value.Patronymic=Tu.Patronymic,er.value.Comment=Tu.Comment,er.value.GenderCode=Tu.GenderCode}return I({getFilteredPatient:No}),(Tu,jo)=>(vue.openBlock(),vue.createElementBlock("div",{class:vue.normalizeClass(["resolution popup__content__wrapper",{journal:Ut.value=="showVizov"&&Tu.route.path=="/search"}])},[vue.withDirectives(vue.createElementVNode("div",null,[vue.withDirectives(vue.createElementVNode("div",_hoisted_1$l,[vue.createVNode(vue.unref(_2),{class:"every-button",id:"btnSearch",primary:"",label:"Поиск",onClick:jo[0]||(jo[0]=Zo=>an("btnSearch")),disabled:sn.value=="btnSearch"},null,8,["disabled"]),vt.value.Permissions.find(Zo=>Zo.AccessCode==1||Zo.AccessCode==16)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",onClick:jo[1]||(jo[1]=Zo=>yr("btnVizov")),disabled:sn.value=="btnVizov"},{default:vue.withCtx(()=>[...jo[56]||(jo[56]=[vue.createTextVNode(" Вызов на дом ",-1)])]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0),vt.value.Permissions.find(Zo=>Zo.AccessCode==1||Zo.AccessCode==16||Zo.AccessCode==5)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$b,[vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",onClick:jo[2]||(jo[2]=Zo=>ur("btnRecorded")),disabled:sn.value=="btnRecorded"},{default:vue.withCtx(()=>[...jo[57]||(jo[57]=[vue.createTextVNode(" Записанные ",-1)])]),_:1},8,["disabled"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",onClick:jo[3]||(jo[3]=Zo=>Sr("btnClosed")),disabled:sn.value=="btnClosed"},{default:vue.withCtx(()=>[...jo[58]||(jo[58]=[vue.createTextVNode(" Выполненные ",-1)])]),_:1},8,["disabled"])])):vue.createCommentVNode("",!0)],512),[[vue.vShow,!Ot.fromJournal]])],512),[[vue.vShow,!At.value&&Pt.value&&Ot.showSelectSearch]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_4$a,[vue.createVNode(_sfc_main$q,{modelValue:Kt.value,"onUpdate:modelValue":jo[4]||(jo[4]=Zo=>Kt.value=Zo),label:"Врач",placeholder:"Выберите врача"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:pn.value,"onUpdate:modelValue":jo[5]||(jo[5]=Zo=>pn.value=Zo),label:"Дата визита от",onKeyup:vue.withKeys(ro,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mr.value,"onUpdate:modelValue":jo[6]||(jo[6]=Zo=>mr.value=Zo),label:"Дата визита до",onKeyup:vue.withKeys(ro,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:ro})],512),[[vue.vShow,Ut.value=="showClosedPatients"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_5$9,[vue.createVNode(vue.unref(xv1),{data:cn.value.map(Zo=>({label:Zo.fio,...Zo})),modelValue:wn.value,"onUpdate:modelValue":jo[7]||(jo[7]=Zo=>wn.value=Zo),searchable:"",placeholder:"Врач",label:"Врач"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(xv1),{data:Cn.value.map(Zo=>({label:Zo.Name,...Zo})),modelValue:Nn.value,"onUpdate:modelValue":jo[8]||(jo[8]=Zo=>Nn.value=Zo),searchable:"",placeholder:"Отделение",label:"Отделение"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(s$),{modelValue:Hn.value,"onUpdate:modelValue":jo[9]||(jo[9]=Zo=>Hn.value=Zo),placeholder:"ФИО",label:"ФИО",onKeyup:vue.withKeys(Bo,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:pn.value,"onUpdate:modelValue":jo[10]||(jo[10]=Zo=>pn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата начала с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mr.value,"onUpdate:modelValue":jo[11]||(jo[11]=Zo=>mr.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:yn.value,"onUpdate:modelValue":jo[12]||(jo[12]=Zo=>yn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата окончания с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:rn.value,"onUpdate:modelValue":jo[13]||(jo[13]=Zo=>rn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:Bo})],512),[[vue.vShow,Ut.value=="showHospitalizationList"]]),vue.withDirectives(vue.createElementVNode("div",null,[vue.createElementVNode("div",_hoisted_6$9,[vue.createElementVNode("div",_hoisted_7$8,[vue.createElementVNode("div",_hoisted_8$7,[vue.createVNode(vue.unref(AA),{label:"ФИО пациента",modelValue:er.value.PatientFio,"onUpdate:modelValue":jo[14]||(jo[14]=Zo=>er.value.PatientFio=Zo),placeholder:"Введите ФИО",onKeyup:vue.withKeys(No,["enter"]),id:"fioPatientField"},null,8,["modelValue"])]),vue.createVNode(vue.unref(jc),{format:"",label:"Дата рождения",modelValue:er.value.BirthDate,"onUpdate:modelValue":jo[15]||(jo[15]=Zo=>er.value.BirthDate=Zo),placeholder:"Введите дату",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Номер амбулаторной карты",modelValue:Ht.value,"onUpdate:modelValue":jo[16]||(jo[16]=Zo=>Ht.value=Zo),placeholder:"Введите номер",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"])]),vue.createVNode(vue.unref(_2),{primary:"",prependIcon:"search",label:"Найти",onClick:No})]),vue.createElementVNode("div",_hoisted_9$5,[vue.createElementVNode("div",_hoisted_10$5,[vue.createVNode(vue.unref(AA),{label:"Серия полиса",modelValue:er.value.policy.series,"onUpdate:modelValue":jo[17]||(jo[17]=Zo=>er.value.policy.series=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Номер полиса",modelValue:er.value.policy.number,"onUpdate:modelValue":jo[18]||(jo[18]=Zo=>er.value.policy.number=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"СНИЛС",modelValue:er.value.Snils,"onUpdate:modelValue":jo[19]||(jo[19]=Zo=>er.value.Snils=Zo),mask:"000-000-000 00",tokens:JSON.stringify({0:{pattern:"[0-9]"}})},null,8,["modelValue","tokens"])]),vue.createElementVNode("div",_hoisted_11$5,[vue.createVNode(vue.unref(_2),{delete:Fr.value,label:"Расширенный поиск",prependIcon:"bars",onClick:jo[20]||(jo[20]=Zo=>Et.value=!0)},null,8,["delete"])])]),vue.createVNode(vue.unref(Ps),{"close-on-click-outside":!1,modelValue:Et.value,"onUpdate:modelValue":jo[40]||(jo[40]=Zo=>Et.value=Zo),size:"3xl",title:"Расширенный поиск"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_28$2,[vue.createVNode(vue.unref(_2),{class:"secondary-button",label:"Поиск",onClick:No})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_12$5,[vue.createElementVNode("div",_hoisted_13$4,[jo[60]||(jo[60]=vue.createElementVNode("p",null,"Данные о пациенте",-1)),vue.createElementVNode("div",_hoisted_14$4,[vue.createVNode(vue.unref(AA),{label:"ФИО пациента",modelValue:er.value.PatientFio,"onUpdate:modelValue":jo[21]||(jo[21]=Zo=>er.value.PatientFio=Zo),placeholder:"Введите ФИО",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(zv1),{label:"Или"}),vue.createElementVNode("div",_hoisted_15$3,[vue.createElementVNode("div",_hoisted_16$3,[vue.createVNode(vue.unref(AA),{label:"Фамилия",placeholder:"Введите фамилию",modelValue:er.value.Lastname,"onUpdate:modelValue":jo[22]||(jo[22]=Zo=>er.value.Lastname=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_17$3,[vue.createVNode(vue.unref(AA),{label:"Имя",placeholder:"Введите имя",modelValue:er.value.Firstname,"onUpdate:modelValue":jo[23]||(jo[23]=Zo=>er.value.Firstname=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_18$3,[vue.createVNode(vue.unref(AA),{label:"Отчество",placeholder:"Введите отчество",modelValue:er.value.Patronymic,"onUpdate:modelValue":jo[24]||(jo[24]=Zo=>er.value.Patronymic=Zo)},null,8,["modelValue"])])])]),vue.createElementVNode("div",_hoisted_19$3,[jo[59]||(jo[59]=vue.createElementVNode("p",null,"Дата рождения",-1)),vue.createVNode(vue.unref(jc),{label:"",modelValue:er.value.BirthDate,"onUpdate:modelValue":jo[25]||(jo[25]=Zo=>er.value.BirthDate=Zo),placeholder:"Введите точную дату",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(zv1),{label:"Или"}),vue.createElementVNode("div",_hoisted_20$3,[vue.createElementVNode("div",_hoisted_21$3,[vue.createVNode(_sfc_main$P,{label:"Дата рождения с",modelValue:ar.value,"onUpdate:modelValue":jo[26]||(jo[26]=Zo=>ar.value=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_22$3,[vue.createVNode(_sfc_main$P,{label:"до",modelValue:vr.value,"onUpdate:modelValue":jo[27]||(jo[27]=Zo=>vr.value=Zo)},null,8,["modelValue"])])])]),vue.createVNode(vue.unref(AA),{label:"Номер амбулаторной карты",modelValue:Ht.value,"onUpdate:modelValue":jo[28]||(jo[28]=Zo=>Ht.value=Zo),placeholder:"Введите номер",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"ID пациента",modelValue:er.value.patientId,"onUpdate:modelValue":jo[29]||(jo[29]=Zo=>er.value.patientId=Zo),placeholder:"Введите ID",onKeyup:vue.withKeys(No,["enter"])},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_23$3,[jo[61]||(jo[61]=vue.createElementVNode("p",null,"Адрес фактический",-1)),vue.createVNode(vue.unref(AA),{label:"Улица",modelValue:er.value.addressFact.street,"onUpdate:modelValue":jo[30]||(jo[30]=Zo=>er.value.addressFact.street=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Дом",modelValue:er.value.addressFact.house,"onUpdate:modelValue":jo[31]||(jo[31]=Zo=>er.value.addressFact.house=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Квартира",modelValue:er.value.addressFact.flat,"onUpdate:modelValue":jo[32]||(jo[32]=Zo=>er.value.addressFact.flat=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_24$2,[jo[62]||(jo[62]=vue.createElementVNode("p",null,"Адрес регистрации",-1)),vue.createVNode(vue.unref(AA),{label:"Улица",modelValue:er.value.addressReg.street,"onUpdate:modelValue":jo[33]||(jo[33]=Zo=>er.value.addressReg.street=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Дом",modelValue:er.value.addressReg.house,"onUpdate:modelValue":jo[34]||(jo[34]=Zo=>er.value.addressReg.house=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Квартира",modelValue:er.value.addressReg.flat,"onUpdate:modelValue":jo[35]||(jo[35]=Zo=>er.value.addressReg.flat=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_25$2,[jo[63]||(jo[63]=vue.createElementVNode("p",null,"Полис",-1)),vue.createVNode(vue.unref(AA),{label:"Серия",modelValue:er.value.policy.series,"onUpdate:modelValue":jo[36]||(jo[36]=Zo=>er.value.policy.series=Zo)},null,8,["modelValue"]),vue.createVNode(vue.unref(AA),{label:"Номер",modelValue:er.value.policy.number,"onUpdate:modelValue":jo[37]||(jo[37]=Zo=>er.value.policy.number=Zo)},null,8,["modelValue"])]),vue.createElementVNode("div",_hoisted_26$2,[jo[64]||(jo[64]=vue.createElementVNode("p",null,"СНИЛС",-1)),vue.createVNode(vue.unref(AA),{label:"Номер",modelValue:er.value.Snils,"onUpdate:modelValue":jo[38]||(jo[38]=Zo=>er.value.Snils=Zo),mask:"000-000-000 00",tokens:JSON.stringify({0:{pattern:"[0-9]"}})},null,8,["modelValue","tokens"])]),vue.createElementVNode("div",_hoisted_27$2,[jo[65]||(jo[65]=vue.createElementVNode("p",null,"По талону",-1)),vue.createVNode(vue.unref(AA),{disabled:"",label:"ТАП №",modelValue:er.value.talonNumber,"onUpdate:modelValue":jo[39]||(jo[39]=Zo=>er.value.talonNumber=Zo),placeholder:"В разработке"},null,8,["modelValue"])])])]),_:1},8,["modelValue"])],512),[[vue.vShow,Ut.value=="showSearch"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_29$2,[vue.createElementVNode("div",_hoisted_30$2,[vue.createVNode(vue.unref(AA),{modelValue:Jt.value,"onUpdate:modelValue":jo[41]||(jo[41]=Zo=>Jt.value=Zo),label:"ФИО",placeholder:"ФИО"},null,8,["modelValue"])]),vue.createVNode(vue.unref(xv1),{data:cn.value.map(Zo=>({label:Zo.fio,...Zo})),modelValue:_n.value,"onUpdate:modelValue":jo[42]||(jo[42]=Zo=>_n.value=Zo),label:"Врач",placeholder:"Врач"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(xv1),{label:"Участок",placeholder:"Участок",data:Ln.value.map(Zo=>({label:Zo.modifName,...Zo})),modelValue:br.value,"onUpdate:modelValue":jo[43]||(jo[43]=Zo=>br.value=Zo)},null,8,["data","modelValue"]),vue.createVNode(vue.unref(AA),{modelValue:$n.value,"onUpdate:modelValue":jo[44]||(jo[44]=Zo=>$n.value=Zo),label:"Адрес вызова",placeholder:"Адрес вызова"},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_31$1,[vue.createVNode(vue.unref(jc),{modelValue:Zt.value,"onUpdate:modelValue":jo[45]||(jo[45]=Zo=>Zt.value=Zo),label:"От",placeholder:"От"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mn.value,"onUpdate:modelValue":jo[46]||(jo[46]=Zo=>mn.value=Zo),label:"До",placeholder:"До"},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:ir})])],512),[[vue.vShow,Ut.value=="showVizov"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_32$1,[vue.createElementVNode("div",_hoisted_33$1,[vue.createVNode(_sfc_main$O,{data:tr.value,modelValue:dr.value,"onUpdate:modelValue":jo[47]||(jo[47]=Zo=>dr.value=Zo),label:"Ресурс","display-expr":Zo=>Zo.Name},null,8,["data","modelValue","display-expr"])]),vue.createVNode(vue.unref(jc),{label:"Дата",modelValue:fn.value,"onUpdate:modelValue":jo[48]||(jo[48]=Zo=>fn.value=Zo),onKeyup:vue.withKeys(wr,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:wr})],512),[[vue.vShow,Ut.value=="showRecordedPatients"]]),vue.withDirectives(vue.createElementVNode("div",_hoisted_34$1,[vue.createVNode(vue.unref(xv1),{data:cn.value.map(Zo=>({label:Zo.fio,...Zo})),modelValue:wn.value,"onUpdate:modelValue":jo[49]||(jo[49]=Zo=>wn.value=Zo),searchable:"",placeholder:"Врач",label:"Врач"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(xv1),{data:Cn.value.map(Zo=>({label:Zo.Name,...Zo})),modelValue:Nn.value,"onUpdate:modelValue":jo[50]||(jo[50]=Zo=>Nn.value=Zo),searchable:"",placeholder:"Отделение",label:"Отделение"},null,8,["data","modelValue"]),vue.createVNode(vue.unref(s$),{modelValue:Hn.value,"onUpdate:modelValue":jo[51]||(jo[51]=Zo=>Hn.value=Zo),placeholder:"ФИО",onKeyup:vue.withKeys(Bo,["enter"])},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:pn.value,"onUpdate:modelValue":jo[52]||(jo[52]=Zo=>pn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата начала с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:mr.value,"onUpdate:modelValue":jo[53]||(jo[53]=Zo=>mr.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:yn.value,"onUpdate:modelValue":jo[54]||(jo[54]=Zo=>yn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"Дата окончания с"},null,8,["modelValue"]),vue.createVNode(vue.unref(jc),{modelValue:rn.value,"onUpdate:modelValue":jo[55]||(jo[55]=Zo=>rn.value=Zo),onKeyup:vue.withKeys(Bo,["enter"]),label:"по"},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"every-button",primary:"",label:"Найти",onClick:Bo})],512),[[vue.vShow,Ut.value=="showHospitalizationList"]]),vue.createElementVNode("div",{class:vue.normalizeClass({body__table:!Ot.onlyDesktopVersion})},[vue.createVNode(_sfc_main$r,{numbering:"","border-radius":"sm",loading:Dt.value,height:Ot.tableHeight??`calc(100vh - ${Ot.expanded?"220":"440"}px)`,striped:!1,"data-source":Lt.value,columns:Rt.value,"on-select-row":vue.unref(ma),compact:"",customColoring:Zo=>Zo.DeathDate?"#cad2d4":"",coloring:Zo=>Zo?.Prikrep===!1&&Ut.value==="showRecordedPatients"?"red":""},null,8,["loading","height","data-source","columns","on-select-row","customColoring","coloring"])],2)],2))}},SearchPatient=_export_sfc(_sfc_main$p,[["__scopeId","data-v-71eef3a6"]]),_hoisted_1$k=["required","value"],_hoisted_2$f={class:"font-medium text-sm"},_hoisted_3$a={class:"text-red-500"},_hoisted_4$9={key:0},_sfc_main$o={__name:"EasyPatientSelectBox",props:vue.mergeModels({label:{type:String,default:"Пациент"},required:{type:Boolean,default:!1},acMode:{type:Boolean,default:!1},compact:{type:Boolean,default:!0}},{modelValue:{},modelModifiers:{}}),emits:vue.mergeModels(["onSelectPatient"],["update:modelValue"]),setup(e,{emit:I}){const N=e,J=vue.useModel(e,"modelValue"),V=I,M=vue.ref(null),vt=vue.ref(!1);vue.watch(J,()=>{_t(J.value)},{immediate:!0});async function _t(Et,Dt=null){Et!==M.value?.Id&&(!Et||J.value==window.nullGuid?M.value=null:Dt?M.value=Dt:M.value=await window.axios.get(window.localhost+"Patient",{params:{Id:Et}}).then(At=>At.data[0]),J.value=Et,V("onSelectPatient",M.value))}return(Et,Dt)=>(vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("input",{type:"hidden",name:"data9128yd9812182y",required:N.required,value:J.value},null,8,_hoisted_1$k),vue.createElementVNode("div",{onClick:Dt[1]||(Dt[1]=At=>vt.value=!0)},[vue.createElementVNode("p",_hoisted_2$f,[vue.createTextVNode(vue.toDisplayString(N.label)+" ",1),vue.createElementVNode("span",_hoisted_3$a,vue.toDisplayString(N.required?"*":""),1)]),vue.createElementVNode("div",{class:vue.normalizeClass(["w-full rounded border border-slate-200 bg-white px-3 text-sm flex items-center justify-between hover:bg-slate-50 hover:cursor-pointer",(M.value,N.compact?"h-[32px]":"h-[38px]")])},[vue.createTextVNode(vue.toDisplayString(M.value?M.value.Lastname+" "+M.value.Firstname+" "+M.value.Patronymic+" "+vue.unref(hooks)(M.value.BirthDate).format("DD.MM.YYYY"):"Нажмите чтобы выбрать...")+" ",1),M.value?(vue.openBlock(),vue.createElementBlock("span",_hoisted_4$9,[vue.createVNode(vue.unref(Z1),{name:"xmark",class:"w-4 h-4 text-gray-400 hover:text-gray-500",onClick:Dt[0]||(Dt[0]=vue.withModifiers(At=>_t(null),["stop"]))})])):vue.createCommentVNode("",!0)],2)]),vue.createVNode(vue.unref(Ps),{modelValue:vt.value,"onUpdate:modelValue":Dt[3]||(Dt[3]=At=>vt.value=At),title:"Поиск",size:"4xl",class:"p-2"},{default:vue.withCtx(()=>[vue.createVNode(SearchPatient,{emitMode:"",onOnPatientSelect:Dt[2]||(Dt[2]=At=>(_t(At.PatientId,At),vt.value=!1))})]),_:1},8,["modelValue"])]))}},_hoisted_1$j={class:"p-2 space-y-2"},_hoisted_2$e={key:0,class:"text-sm text-red-600 font-medium"},_hoisted_3$9={key:0,class:"space-y-2 rounded border p-2 bg-slate-100 border-slate-200"},_hoisted_4$8={class:"text-center font-semibold"},_hoisted_5$8={class:"flex flex-col"},_hoisted_6$8={key:0},_hoisted_7$7={key:1},_hoisted_8$6={class:"font-mono"},_hoisted_9$4={key:2},_hoisted_10$4={class:"font-mono"},_hoisted_11$4={key:0,class:"text-sm text-gray-500"},_hoisted_12$4={class:"text-sm"},_hoisted_13$3={class:"flex justify-end gap-1"},_hoisted_14$3={key:1,class:"space-y-2"},_hoisted_15$2={class:"space-y-2"},_hoisted_16$2={class:"flex gap-2"},_hoisted_17$2={key:0,class:"w-full"},_hoisted_18$2={key:1,class:"w-full"},_hoisted_19$2={key:2,class:"w-full"},_hoisted_20$2={class:"w-full"},_hoisted_21$2={key:0},_hoisted_22$2={class:"max-h-[min(60vh,420px)] overflow-auto text-xs leading-relaxed whitespace-pre-wrap font-sans text-slate-800 m-0"},_hoisted_23$2={class:"flex justify-end mt-3"},_sfc_main$n={__name:"ScanWriteOffMedicalDevicesFormMDLP",props:{dataPreparats:{type:Array,required:!0},stockId:{type:[String,null],default:null}},emits:"close",setup(e,{emit:I}){const N=I,J=useUserStore(),V=vue.ref([]),M=vue.ref([]),vt=vue.ref([]),_t=vue.ref([]),Et=vue.ref(!1),Dt=vue.ref({}),At=vue.ref({}),Pt=vue.ref([]),Ot=vue.ref(!1),Rt=vue.ref(""),Ut=vue.computed(()=>window.localhost),Lt={"Возврат поставщику":"053cc08f-fc62-4853-a576-365f092a5cc8","Перемещение в карантин":"db0d64d9-44e4-4ad3-9a66-9e38568aaca4"},Ht=e,jt=vue.computed({get:()=>Ht.dataPreparats,set:Cn=>N("update:dataPreparats",Cn)}),Kt=()=>({StockId:Ht.stockId,DocNumber:null,StockIdTo:null,DocDate:new Date,DocSeries:null,DocTypeId:null,ContractNumber:"",TurnoverType:"",SourceType:"",ContractType:"",Preparats:[],PatientId:null}),Zt=vue.ref(Kt());vue.onMounted(async()=>{await mn(),await yn(),await cn(),await dn()}),vue.watch(()=>Zt.value.DocTypeId,()=>{if(Zt.value.DocTypeId){const Cn=V.value.find(wn=>wn.Id===Zt.value.DocTypeId);Cn?Dt.value={...Cn,FullInfo:"Тип документа "+(Cn.MdlpTypeId||"")+" - "+Cn.Name}:Dt.value={},Lt["Возврат поставщику"]===Zt.value.DocTypeId&&(Zt.value.StockIdTo="1701f900-fe6b-4272-9246-a938eaac622c")}},{deep:!1});async function mn(){try{await window.axios.get(window.localhost+"DocumentTypes",{params:{Creatable:!0}}).then(Cn=>{V.value=Cn.data.Body})}catch(Cn){console.log(Cn)}}async function cn(){try{const{data:Cn}=await window.axios.get(`${window.localhost}TurnoverTypes`);vt.value=Cn.Body}catch(Cn){console.log(Cn)}}async function yn(){try{const{data:Cn}=await window.axios.get(`${window.localhost}Stock`,{params:{LpuId:J.user.LpuId}});M.value=Cn.filter(wn=>wn.Id!==Ht.stockId)}catch(Cn){console.log(Cn)}}async function rn(){if(Zt.value.Preparats=jt.value.map(Nn=>Nn.Id),Zt.value.Preparats.length===0){notifyError$1("Список препаратов для формирования документа пуст");return}const Cn=Zt.value.DocTypeId,wn=Dt.value?.Name;Et.value=!0;try{const{data:Nn}=await window.axios.post(`${window.localhost}Stock/CreateDoc/${Cn}`,Zt.value),Hn=br(Nn);Zt.value=Kt(),Ln(Cn,wn)&&Hn?(Rt.value=Hn,Ot.value=!0):(N("close"),notifySuccess("Документ создан"))}catch(Nn){console.error(Nn),notifyError$1("Ошибка при создании документа")}finally{Et.value=!1}}async function _n(){if(Pt.value.map(wn=>wn.IdBms).length===0){notifyError$1("Список препаратов для формирования документа пуст");return}const Cn={PatientId:Zt.value.PatientId,EmployeePostId:J.user.Id,StockId:Ht.stockId,Preparats:Pt.value.map(wn=>wn.IdBms)};Et.value=!0;try{(await window.axios.post(window.localhost+"Stock/CreateDoc/"+Zt.value.DocTypeId,Cn)).data?.id?(notifySuccess("Документ создан"),N("close")):notifyError$1("Ошибка при создании документа")}catch(wn){console.error(wn),notifyError$1("Ошибка при создании документа")}finally{Et.value=!1}}async function dn(){try{await window.axios.get(window.localhost+"Stock/Mdlp").then(Cn=>{_t.value=Cn.data})}catch(Cn){console.log(Cn)}}function sn(Cn){return Cn.SellName+(Cn?.Sgtin?"":" ("+Cn.Series+") количество: "+Cn.Count)}function fn(Cn){return["SellName","Sgtin","Series","PreparatProgram"].map(Nn=>Cn[Nn]).filter(Boolean).join(" | ")}function pn(Cn){At.value.NotPreparat=Cn}function mr(){const Cn=At.value.NotPreparat;if(!Cn||!Array.isArray(Cn.Preparats)||Cn.Preparats.length===0){notifyError$1("Выберите изделие для добавления");return}const wn=Number(At.value.Count)||1;if(wn<=0){notifyError$1("Количество должно быть больше 0");return}const Nn=Math.min(wn,Cn.Preparats.length),Hn=Cn.Preparats.slice(0,Nn);if(Hn.length===0){notifyError$1("Не удалось добавить изделие");return}jt.value=[...jt.value,...Hn],At.value.Count=1}function dr(Cn){const wn=Cn?.Id||Cn?.IdBms||Cn?.Sgtin;if(!wn){notifyError$1("Не удалось определить препарат для удаления");return}jt.value=jt.value.filter(Nn=>(Nn?.Id||Nn?.IdBms||Nn?.Sgtin)!==wn),N("deletePreparat",Cn)}function tr(Cn){Pt.value.push(Cn)}function Jt(){Pt.value=[]}function $n(){N("close")}function Ln(Cn,wn){if(Cn===Lt["Перемещение в карантин"])return!0;const Nn=(wn||"").replace(/\\/g,"/").toLowerCase();return Nn.includes("перемещение")&&Nn.includes("возврат")&&Nn.includes("карантин")}function br(Cn){return Cn==null||Cn===""?null:typeof Cn=="string"?Cn.trim()||null:typeof Cn=="object"?"Body"in Cn&&Cn.Body!=null?typeof Cn.Body=="string"?Cn.Body.trim()||null:JSON.stringify(Cn.Body,null,2):typeof Cn.Message=="string"&&Cn.Message.trim()?Cn.Message.trim():typeof Cn.message=="string"&&Cn.message.trim()?Cn.message.trim():Object.keys(Cn).length===0?null:JSON.stringify(Cn,null,2):String(Cn)}return(Cn,wn)=>(vue.openBlock(),vue.createElementBlock("div",_hoisted_1$j,[e.dataPreparats===void 0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_2$e," Необходимо передать v-model:data-preparats для работы компонента. ")):(vue.openBlock(),vue.createElementBlock(vue.Fragment,{key:1},[vue.createVNode(_sfc_main$O,{label:"Тип документа",data:V.value,"display-expr":Nn=>`${Nn.Name} ${Nn.MdlpTypeId?`(${Nn.MdlpTypeId})`:""}`,modelValue:Zt.value.DocTypeId,"onUpdate:modelValue":wn[0]||(wn[0]=Nn=>Zt.value.DocTypeId=Nn),required:"",searchable:"",clearable:""},null,8,["data","display-expr","modelValue"]),Zt.value.DocTypeId?(vue.openBlock(),vue.createElementBlock("div",_hoisted_3$9,[vue.createElementVNode("h3",_hoisted_4$8,vue.toDisplayString(Dt.value.FullInfo),1),Zt.value.DocTypeId==="b416a544-ba1a-4163-95c4-f5c40cfe095f"?(vue.openBlock(),vue.createElementBlock("form",{key:0,onSubmit:vue.withModifiers(_n,["prevent"])},[vue.createVNode(_sfc_main$L,{clearable:"",label:"Торговое наименование",params:{LpuId:vue.unref(J).user.LpuId,StockId:Ht.stockId,Valid:"true"},onSelect:tr,url:Ut.value+"Stock/Preparat","filter-field":"PreparatName","display-expr":fn,idField:"IdBms"},{option:vue.withCtx(({item:Nn})=>[vue.createElementVNode("div",_hoisted_5$8,[vue.createElementVNode("p",null,vue.toDisplayString(Nn?.SellName),1),Nn?.PreparatProgram?(vue.openBlock(),vue.createElementBlock("p",_hoisted_6$8,[wn[12]||(wn[12]=vue.createElementVNode("span",null,"Программа:",-1)),vue.createTextVNode(" "+vue.toDisplayString(Nn?.PreparatProgram),1)])):vue.createCommentVNode("",!0),Nn?.Series?(vue.openBlock(),vue.createElementBlock("p",_hoisted_7$7,[wn[13]||(wn[13]=vue.createElementVNode("span",null,"Серия:",-1)),wn[14]||(wn[14]=vue.createTextVNode()),vue.createElementVNode("span",_hoisted_8$6,vue.toDisplayString(Nn?.Series),1)])):vue.createCommentVNode("",!0),Nn?.Sgtin?(vue.openBlock(),vue.createElementBlock("p",_hoisted_9$4,[wn[15]||(wn[15]=vue.createElementVNode("span",null,"Sgtin:",-1)),wn[16]||(wn[16]=vue.createTextVNode()),vue.createElementVNode("span",_hoisted_10$4,vue.toDisplayString(Nn?.Sgtin),1)])):vue.createCommentVNode("",!0)])]),_:1},8,["params","url"]),vue.createVNode(_sfc_main$o,{label:"Пациент",modelValue:Zt.value.PatientId,"onUpdate:modelValue":wn[1]||(wn[1]=Nn=>Zt.value.PatientId=Nn)},null,8,["modelValue"]),wn[19]||(wn[19]=vue.createElementVNode("p",{class:"text-sm font-medium"},"Препараты для списания:",-1)),Pt.value.length===0?(vue.openBlock(),vue.createElementBlock("p",_hoisted_11$4,"Препараты не выбраны")):(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,{key:1},vue.renderList(Pt.value,Nn=>(vue.openBlock(),vue.createElementBlock("div",{key:Nn.IdBms},[vue.createElementVNode("p",_hoisted_12$4,"- "+vue.toDisplayString(Nn.label),1)]))),128)),vue.createElementVNode("div",_hoisted_13$3,[vue.createVNode(vue.unref(_2),{onClick:Jt,disabled:Pt.value.length===0},{default:vue.withCtx(()=>[...wn[17]||(wn[17]=[vue.createTextVNode("Сбросить препараты",-1)])]),_:1},8,["disabled"]),vue.createVNode(vue.unref(_2),{type:"submit",primary:""},{default:vue.withCtx(()=>[...wn[18]||(wn[18]=[vue.createTextVNode("Сформировать документ",-1)])]),_:1})])],32)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_14$3,[wn[21]||(wn[21]=vue.createElementVNode("p",{class:"w-full text-center text-sm text-gray-500"},"Просканируйте препараты перед подтверждением",-1)),vue.createVNode(_sfc_main$L,{modelValue:At.value.SellName,"onUpdate:modelValue":wn[2]||(wn[2]=Nn=>At.value.SellName=Nn),clearable:"",label:"Торговое наименование мед. изделия",params:{LpuId:vue.unref(J).user.LpuId,StockId:Ht.stockId,Valid:"true"},onSelect:pn,url:Ut.value+"Stock/PreparatApiece","filter-field":"SellName","display-expr":sn},null,8,["modelValue","params","url"]),vue.createVNode(vue.unref(a$),{label:"Количество",modelValue:At.value.Count,"onUpdate:modelValue":wn[3]||(wn[3]=Nn=>At.value.Count=Nn)},null,8,["modelValue"]),vue.createVNode(vue.unref(_2),{class:"w-full",label:"Добавить изделие",onClick:mr}),vue.createElementVNode("div",_hoisted_15$2,[vue.createElementVNode("div",_hoisted_16$2,[Dt.value.MdlpTypeId==="415"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_17$2,[vue.createVNode(_sfc_main$O,{label:"Склады МДЛП",data:_t.value,clearable:"",disabled:Lt["Возврат поставщику"]===Zt.value.DocTypeId,modelValue:Zt.value.StockIdTo,"onUpdate:modelValue":wn[4]||(wn[4]=Nn=>Zt.value.StockIdTo=Nn),"display-expr":Nn=>Nn.OrgName+" по адресу: "+Nn.AddressName,searchable:""},null,8,["data","disabled","modelValue","display-expr"])])):vue.createCommentVNode("",!0),Dt.value.MdlpTypeId==="431"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_18$2,[vue.createVNode(_sfc_main$O,{label:"Склад получатель",modelValue:Zt.value.StockIdTo,"onUpdate:modelValue":wn[5]||(wn[5]=Nn=>Zt.value.StockIdTo=Nn),"display-expr":Nn=>Nn.Name,data:M.value,required:""},null,8,["modelValue","display-expr","data"])])):vue.createCommentVNode("",!0),Dt.value.MdlpTypeId==="521"||Dt.value.Id===null?(vue.openBlock(),vue.createElementBlock("div",_hoisted_19$2,[vue.createVNode(vue.unref(AA),{label:"Серия документа",modelValue:Zt.value.DocSeries,"onUpdate:modelValue":wn[6]||(wn[6]=Nn=>Zt.value.DocSeries=Nn),required:""},null,8,["modelValue"])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_20$2,[vue.createVNode(vue.unref(jc),{label:"Дата отгрузки со склада",modelValue:Zt.value.DocDate,"onUpdate:modelValue":wn[7]||(wn[7]=Nn=>Zt.value.DocDate=Nn),required:""},null,8,["modelValue"])])]),Dt.value.MdlpTypeId==="415"?(vue.openBlock(),vue.createElementBlock("div",_hoisted_21$2,[vue.createVNode(_sfc_main$O,{label:"Тип оборота",data:vt.value,"display-expr":Nn=>Nn.Name,modelValue:Zt.value.TurnoverType,"onUpdate:modelValue":wn[8]||(wn[8]=Nn=>Zt.value.TurnoverType=Nn),"id-field":"Code",required:""},null,8,["data","display-expr","modelValue"])])):vue.createCommentVNode("",!0),vue.createElementVNode("div",null,[wn[20]||(wn[20]=vue.createElementVNode("h3",{class:"mb-3 font-medium"},"Список препаратов для списания",-1)),vue.createVNode(_sfc_main$r,{"data-source":jt.value,columns:vue.unref(preparatSgtin),pagination:5,actions:[{name:"",icon:"trash",tooltip:"Убрать препарат",tooltipPlacement:"top",onClick({record:Nn}){dr(Nn)}}]},null,8,["data-source","columns","actions"])]),vue.createVNode(vue.unref(_2),{class:"w-full",primary:"",label:"Подтвердить",onClick:rn})]),vue.createVNode(FullLoader,{modelValue:Et.value,"onUpdate:modelValue":wn[9]||(wn[9]=Nn=>Et.value=Nn)},null,8,["modelValue"])]))])):vue.createCommentVNode("",!0)],64)),vue.createVNode(vue.unref(Ps),{modelValue:Ot.value,"onUpdate:modelValue":wn[11]||(wn[11]=Nn=>Ot.value=Nn),title:"Результат",size:"lg",class:"p-3",onClose:$n},{default:vue.withCtx(()=>[vue.createElementVNode("pre",_hoisted_22$2,vue.toDisplayString(Rt.value),1),vue.createElementVNode("div",_hoisted_23$2,[vue.createVNode(vue.unref(_2),{primary:"",label:"OK",onClick:wn[10]||(wn[10]=Nn=>Ot.value=!1)})])]),_:1},8,["modelValue"])]))}},_sfc_main$m={__name:"IsOkay",setup(e){function I(){alert("Hello")}return(N,J)=>(vue.openBlock(),vue.createElementBlock("div",null,[J[1]||(J[1]=vue.createElementVNode("p",null,"IsOkay",-1)),vue.createVNode(vue.unref(_2),{onClick:I},{default:vue.withCtx(()=>[...J[0]||(J[0]=[vue.createTextVNode("Click me 1",-1)])]),_:1})]))}};var sha1={exports:{}};/*
1321
1321
  * [js-sha1]{@link https://github.com/emn178/js-sha1}
1322
1322
  *
1323
1323
  * @version 0.7.0