bms-shared-components 1.1.19 → 1.1.20
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.
|
@@ -120494,7 +120494,7 @@ const xlsx = /* @__PURE__ */ getDefaultExportFromCjs(distExports), _hoisted_1$l
|
|
|
120494
120494
|
}
|
|
120495
120495
|
return I({ getSelectedRows: br }), (Br, ar) => (openBlock(), createElementBlock("div", null, [
|
|
120496
120496
|
createElementVNode("div", _hoisted_1$k, [
|
|
120497
|
-
|
|
120497
|
+
N.viewFilter ? createCommentVNode("", !0) : (openBlock(), createElementBlock("div", _hoisted_2$g, [
|
|
120498
120498
|
createVNode(_sfc_main$z, {
|
|
120499
120499
|
"filter-list": zn.value,
|
|
120500
120500
|
onSearch: ur
|
|
@@ -120502,7 +120502,7 @@ const xlsx = /* @__PURE__ */ getDefaultExportFromCjs(distExports), _hoisted_1$l
|
|
|
120502
120502
|
])),
|
|
120503
120503
|
createElementVNode("div", _hoisted_3$c, [
|
|
120504
120504
|
ar[14] || (ar[14] = 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)),
|
|
120505
|
-
fn("getRegister") && !
|
|
120505
|
+
fn("getRegister") && !N.infoOnly ? (openBlock(), createBlock(unref(P2), {
|
|
120506
120506
|
key: 0,
|
|
120507
120507
|
onClick: bn,
|
|
120508
120508
|
"prepend-icon": "download"
|
|
@@ -120512,7 +120512,7 @@ const xlsx = /* @__PURE__ */ getDefaultExportFromCjs(distExports), _hoisted_1$l
|
|
|
120512
120512
|
])]),
|
|
120513
120513
|
_: 1
|
|
120514
120514
|
})) : createCommentVNode("", !0),
|
|
120515
|
-
fn("registerControl") && !
|
|
120515
|
+
fn("registerControl") && !N.infoOnly ? (openBlock(), createBlock(unref(P2), {
|
|
120516
120516
|
key: 1,
|
|
120517
120517
|
onClick: gr,
|
|
120518
120518
|
"prepend-icon": "plus",
|
|
@@ -120523,7 +120523,7 @@ const xlsx = /* @__PURE__ */ getDefaultExportFromCjs(distExports), _hoisted_1$l
|
|
|
120523
120523
|
])]),
|
|
120524
120524
|
_: 1
|
|
120525
120525
|
})) : createCommentVNode("", !0),
|
|
120526
|
-
unref(Pt) && !
|
|
120526
|
+
unref(Pt) && !N.infoOnly ? (openBlock(), createBlock(unref(P2), {
|
|
120527
120527
|
key: 2,
|
|
120528
120528
|
onClick: mr,
|
|
120529
120529
|
"prepend-icon": "unlock-keyhole",
|
|
@@ -120544,7 +120544,7 @@ const xlsx = /* @__PURE__ */ getDefaultExportFromCjs(distExports), _hoisted_1$l
|
|
|
120544
120544
|
"table-id": "benefitsList",
|
|
120545
120545
|
"context-actions": wn,
|
|
120546
120546
|
"row-color": Ln,
|
|
120547
|
-
onRowClicked: ar[0] || (ar[0] = (io) =>
|
|
120547
|
+
onRowClicked: ar[0] || (ar[0] = (io) => N.infoOnly ? null : tr)
|
|
120548
120548
|
}, {
|
|
120549
120549
|
"cell(BenefitName)": withCtx(({ record: io }) => [
|
|
120550
120550
|
createElementVNode("p", {
|
|
@@ -120604,7 +120604,7 @@ const xlsx = /* @__PURE__ */ getDefaultExportFromCjs(distExports), _hoisted_1$l
|
|
|
120604
120604
|
default: withCtx(() => [
|
|
120605
120605
|
createElementVNode("div", _hoisted_8$9, [
|
|
120606
120606
|
createElementVNode("div", _hoisted_9$7, [
|
|
120607
|
-
fn("registerControl") && !
|
|
120607
|
+
fn("registerControl") && !N.infoOnly ? (openBlock(), createBlock(unref(P2), {
|
|
120608
120608
|
key: 0,
|
|
120609
120609
|
onClick: Sr,
|
|
120610
120610
|
"prepend-icon": "pencil"
|
|
@@ -1300,7 +1300,7 @@ EOD`}return{to_workbook:St,to_sheet:ve,from_sheet:Ut}}(),rC=function(){function
|
|
|
1300
1300
|
`,on=qt.charCodeAt(0),un="",vn=[],$n=St.skipHidden&&oe["!cols"]||[],En=St.skipHidden&&oe["!rows"]||[],Nn=Et.s.c;Nn<=Et.e.c;++Nn)($n[Nn]||{}).hidden||(vn[Nn]=mf(Nn));var ur=Et.s.r,dr=!1,sr=0;return ve._read=function(){if(!dr)return dr=!0,ve.push("\uFEFF");for(;ur<=Et.e.r;)if(++ur,!(En[ur-1]||{}).hidden&&(un=Bq(oe,Et,ur-1,vn,Ut,on,Mt,sr,St),un!=null&&(un||St.blankrows!==!1)))return ve.push((sr++?qt:"")+un);return ve.push(null)},ve}function JI(oe,ze){var ve=UR(),St=ze||{},Et=St.header!=null?St.header:$M,Mt=St.footer!=null?St.footer:GL;ve.push(Et);var Ut=K0(oe["!ref"]);ve.push(HI(oe,Ut,St));var qt=Ut.s.r,on=!1;return ve._read=function(){if(qt>Ut.e.r)return on||(on=!0,ve.push("</table>"+Mt)),ve.push(null);for(;qt<=Ut.e.r;){ve.push(Ly(oe,Ut,qt,St)),++qt;break}},ve}function UH(oe,ze){var ve=UR({objectMode:!0});if(oe==null||oe["!ref"]==null)return ve.push(null),ve;var St={t:"n",v:0},Et=0,Mt=1,Ut=[],qt=0,on="",un={s:{r:0,c:0},e:{r:0,c:0}},vn=ze||{},$n=vn.range!=null?vn.range:oe["!ref"];switch(vn.header===1?Et=1:vn.header==="A"?Et=2:Array.isArray(vn.header)&&(Et=3),typeof $n){case"string":un=Nf($n);break;case"number":un=Nf(oe["!ref"]),un.s.r=$n;break;default:un=$n}Et>0&&(Mt=0);var En=Jd(un.s.r),Nn=[],ur=0,dr=oe["!data"]!=null,sr=un.s.r,er=0,Or={};dr&&!oe["!data"][sr]&&(oe["!data"][sr]=[]);var xr=vn.skipHidden&&oe["!cols"]||[],zr=vn.skipHidden&&oe["!rows"]||[];for(er=un.s.c;er<=un.e.c;++er)if(!(xr[er]||{}).hidden)switch(Nn[er]=mf(er),St=dr?oe["!data"][sr][er]:oe[Nn[er]+En],Et){case 1:Ut[er]=er-un.s.c;break;case 2:Ut[er]=Nn[er];break;case 3:Ut[er]=vn.header[er-un.s.c];break;default:if(St==null&&(St={w:"__EMPTY",t:"s"}),on=qt=Lh(St,null,vn),ur=Or[qt]||0,!ur)Or[qt]=1;else{do on=qt+"_"+ur++;while(Or[on]);Or[qt]=ur,Or[on]=1}Ut[er]=on}return sr=un.s.r+Mt,ve._read=function(){for(;sr<=un.e.r;)if(!(zr[sr-1]||{}).hidden){var Io=h1(oe,un,sr,Nn,Et,Ut,vn);if(++sr,Io.isempty===!1||(Et===1?vn.blankrows!==!1:vn.blankrows)){ve.push(Io.row);return}}return ve.push(null)},ve}function Mq(oe,ze){var ve=UR(),St=ze??{},Et=+St.stride||10;oe.SSF||(oe.SSF=Cd(ka)),oe.SSF&&(va(),rl(oe.SSF),St.revssf=Dg(oe.SSF),St.revssf[oe.SSF[65535]]=0,St.ssf=oe.SSF,St.cellXfs=[],Fv(St.cellXfs,{},{revssf:{General:0}})),oe.SheetNames.forEach(function(er){var Or=oe.Sheets[er];if(!(!Or||!Or["!ref"])){for(var xr=K0(Or["!ref"]),zr=Or["!data"]!=null,Io=zr?Or["!data"]:[],Bs=xr.s.r;Bs<=xr.e.r;++Bs)if(!(zr&&!Io[Bs]))for(var Yr=xr.s.c;Yr<=xr.e.c;++Yr){var oo=zr?Io[Bs][Yr]:Or[mf(Yr)+Jd(Bs)];oo&&(oo.t=="d"&&oo.z==null&&(oo=Cd(oo),oo.z=ka[14]),Fv(St.cellXfs,oo,St))}}});var Mt=TO(oe,St),Ut=0,qt=0,on=oe.Sheets[oe.SheetNames[qt]],un=Nf(on),vn=-1,$n=!1,En=[],Nn=0,ur=!1,dr=[],sr={r:0,c:0};return ve._read=function(){switch(Ut){case 0:Ut=1,ve.push(cp),ve.push("<Workbook"+fx({xmlns:vf.ss,"xmlns:o":vf.o,"xmlns:x":vf.x,"xmlns:ss":vf.ss,"xmlns:dt":vf.dt,"xmlns:html":vf.html})+">");break;case 1:Ut=2,ve.push(EO(oe,St)),ve.push(FC(oe));break;case 2:Ut=3,ve.push(Mt),ve.push(OC(oe));break;case 3:{if($n=!1,qt>=oe.SheetNames.length){Ut=-1,ve.push("");break}if(ve.push("<Worksheet"+fx({"ss:Name":wd(oe.SheetNames[qt])})+">"),on=oe.Sheets[oe.SheetNames[qt]],!on)return ve.push("</Worksheet>"),void++qt;var er=LL(on,St,qt,oe);if(er.length&&ve.push("<Names>"+er+"</Names>"),!on["!ref"])return Ut=5;un=Nf(on["!ref"]),vn=un.s.r,Ut=4}break;case 4:{if(vn<0||vn>un.e.r)return $n&&ve.push("</Table>"),void(Ut=5);vn<=un.s.r&&(on["!cols"]&&on["!cols"].forEach(function(oo,Ao){ob(oo);var Yo=!!oo.width,Jo=fb(Ao,oo),Oa={"ss:Index":Ao+1};Yo&&(Oa["ss:Width"]=F1(Jo.width)),oo.hidden&&(Oa["ss:Hidden"]="1"),$n||($n=!0,ve.push("<Table>")),ve.push(Fu("Column",null,Oa))}),ur=on["!data"]!=null,ur&&(dr=on["!data"]),sr.r=sr.c=0);for(var Or=0;vn<=un.e.r&&Or<Et;++vn,++Or){var xr=[VL(vn,(on["!rows"]||[])[vn])];if(sr.r=vn,!(ur&&!dr[vn]))for(var zr=un.s.c;zr<=un.e.c;++zr){sr.c=zr;var Io=!1;for(Nn=0;Nn!=En.length;++Nn)if(!(En[Nn].s.c>zr)&&!(En[Nn].s.r>vn)&&!(En[Nn].e.c<zr)&&!(En[Nn].e.r<vn)){(En[Nn].s.c!=zr||En[Nn].s.r!=vn)&&(Io=!0);break}if(!Io){var Bs=mf(zr)+Jd(vn),Yr=ur?dr[vn][zr]:on[Bs];xr.push($L(Yr,Bs,on,St,qt,oe,sr))}}xr.push("</Row>"),$n||($n=!0,ve.push("<Table>")),ve.push(xr.join(""))}}break;case 5:return ve.push(PR(on,St,qt,oe)),on&&on["!autofilter"]&&ve.push('<AutoFilter x:Range="'+Wb(j0(on["!autofilter"].ref),{r:0,c:0})+'" xmlns="urn:schemas-microsoft-com:office:excel"></AutoFilter>'),ve.push("</Worksheet>"),qt++,vn=-1,void(Ut=3);case-1:Ut=-2,ve.push("</Workbook>");break;case-2:ve.push(null);break}},ve}var HH={to_json:UH,to_html:JI,to_csv:IC,to_xlml:Mq,set_readable:p3};if(typeof IM<"u"&&(V.parse_xlscfb=IM),V.parse_zip=HM,V.read=NO,V.readFile=IH,V.readFileSync=IH,V.write=P7,V.writeFile=LH,V.writeFileSync=LH,V.writeFileAsync=RC,V.utils=iV,V.writeXLSX=jM,V.writeFileXLSX=Iq,V.set_fs=um,V.set_cptable=cn,V.SSF=Aa,typeof HH<"u"&&(V.stream=HH),typeof Wu<"u"&&(V.CFB=Wu),typeof commonjsRequire<"u"){var Gz=require$$1;(Gz||{}).Readable&&p3(Gz.Readable);try{O0=require$$1}catch{}}}if(J(I),typeof window<"u"&&!window.XLSX)try{window.XLSX=N}catch{}}(xlsx$1,xlsx$1.exports)),xlsx$1.exports}var hasRequiredDist;function requireDist(){return hasRequiredDist||(hasRequiredDist=1,function(e,I){Object.defineProperty(I,"__esModule",{value:!0}),I.libraryName=I.xlsx=I.getWorksheetColumnWidths=I.getJsonSheetRow=I.getContentProperty=I.utils=void 0;const N=requireXlsx();Object.defineProperty(I,"utils",{enumerable:!0,get:function(){return N.utils}});const J=(Rt,$t)=>{const Gt=(Ht,Yt)=>{const Kt=Ht[Yt[0]];return Yt.length===1?Kt??"":Kt==null||typeof Kt=="string"||typeof Kt=="boolean"||typeof Kt=="number"||Kt instanceof Date?"":Gt(Kt,Yt.slice(1))},zt=$t.split(".");return Gt(Rt,zt)};I.getContentProperty=J;const V=(Rt,$t)=>{const Gt={};return $t.forEach(zt=>{typeof zt.value=="function"?Gt[zt.label]=zt.value(Rt):Gt[zt.label]=(0,I.getContentProperty)(Rt,zt.value)}),Gt};I.getJsonSheetRow=V;const M=(Rt,$t,Gt)=>{var zt;for(let Ht=0;Ht<$t.length;Ht+=1){const Yt=Gt[Ht];if(!Yt)continue;const Kt=N.utils.decode_col($t[Ht]),Xt=N.utils.decode_range((zt=Rt["!ref"])!==null&&zt!==void 0?zt:"");for(let dn=Xt.s.r+1;dn<=Xt.e.r;++dn){const cn=N.utils.encode_cell({r:dn,c:Kt});if(Rt[cn])switch(Yt){case"hyperlink":Rt[cn].l={Target:Rt[cn].v};break;default:Rt[cn].z=Yt}}}},vt=Rt=>{var $t;const Gt=N.utils.decode_range(($t=Rt["!ref"])!==null&&$t!==void 0?$t:""),zt=[];for(let Ht=Gt.s.c;Ht<=Gt.e.c;Ht++){const Yt=N.utils.encode_col(Ht);zt.push(Yt)}return zt},yt=Rt=>typeof Rt=="string"?Math.max(...Rt.split(`
|
|
1301
1301
|
`).map($t=>$t.length)):typeof Rt=="number"?Rt.toString().length:typeof Rt=="boolean"?Rt?4:5:Rt instanceof Date?Rt.toString().length:0,At=(Rt,$t=1)=>vt(Rt).map(zt=>({width:Object.keys(Rt).filter(Kt=>Kt.replace(/[0-9]/g,"")===zt).reduce((Kt,Xt)=>{const dn=Rt[Xt],cn=yt(dn.v);if(!dn.z)return Math.max(Kt,cn);const yn=dn.z.length,rn=Math.max(cn,yn);return Math.max(Kt,rn)},0)+$t}));I.getWorksheetColumnWidths=At;const Dt=(Rt,$t)=>{let Gt;Rt.content.length>0?Gt=Rt.content.map(Kt=>(0,I.getJsonSheetRow)(Kt,Rt.columns)):Gt=Rt.columns.map(Kt=>({[Kt.label]:""}));const zt=N.utils.json_to_sheet(Gt),Ht=vt(zt),Yt=Rt.columns.map(Kt=>{var Xt;return(Xt=Kt.format)!==null&&Xt!==void 0?Xt:null});return M(zt,Ht,Yt),zt["!cols"]=(0,I.getWorksheetColumnWidths)(zt,$t.extraLength),zt},Ft=(Rt,$t={})=>{var Gt,zt,Ht,Yt,Kt;const Xt=!!$t.RTL;(Gt=Rt.Workbook)!==null&&Gt!==void 0||(Rt.Workbook={}),(zt=(Kt=Rt.Workbook).Views)!==null&&zt!==void 0||(Kt.Views=[{}]),Rt.Workbook.Views.forEach(yn=>{yn.RTL=Xt});const dn=`${(Ht=$t.fileName)!==null&&Ht!==void 0?Ht:"Spreadsheet"}.xlsx`,cn=(Yt=$t.writeOptions)!==null&&Yt!==void 0?Yt:{};return $t.writeMode==="write"?(0,N.write)(Rt,cn):$t.writeMode==="writeFile"?(0,N.writeFile)(Rt,dn,cn):cn.type==="buffer"?(0,N.write)(Rt,cn):(0,N.writeFile)(Rt,dn,cn)},Pt=(Rt,$t={},Gt=()=>{})=>{if(Rt.length===0)return;const zt=N.utils.book_new();return Rt.forEach((Ht,Yt)=>{var Kt;const Xt=Dt(Ht,$t),dn=(Kt=Ht.sheet)!==null&&Kt!==void 0?Kt:`Sheet ${Yt+1}`;N.utils.book_append_sheet(zt,Xt,dn)}),Gt(zt),Ft(zt,$t)};I.xlsx=Pt,I.default=I.xlsx,I.libraryName="json-as-xlsx",e.exports=I.xlsx,e.exports.getContentProperty=I.getContentProperty,e.exports.getJsonSheetRow=I.getJsonSheetRow,e.exports.getWorksheetColumnWidths=I.getWorksheetColumnWidths,e.exports.utils=N.utils}(dist,dist.exports)),dist.exports}var distExports=requireDist();const xlsx=getDefaultExportFromCjs(distExports),_hoisted_1$l=["id"],_hoisted_2$h={key:0,class:"flex justify-end mb-1"},_hoisted_3$d={class:"re-table"},_hoisted_4$c={key:0,class:"text-right"},_hoisted_5$b={class:"flex flex-col"},_hoisted_6$b=["onClick"],_hoisted_7$a={class:"flex flex-col gap-0.5 w-[600px]"},_hoisted_8$a={class:"text-sm text-slate-500 text-center"},_hoisted_9$8={open:"",class:"px-1"},_hoisted_10$8={class:"px-1"},_hoisted_11$7={class:"rs-table-btn"},_hoisted_12$6={class:"flex justify-between items-center text-sm text-slate-500 gap-1"},_hoisted_13$5={class:"flex flex-col gap-1"},_hoisted_14$4=["onClick"],_hoisted_15$4={class:"px-1"},_hoisted_16$4=["onClick"],_hoisted_17$3=["onDblclick"],_hoisted_18$3={key:1},_hoisted_19$3=["onContextmenu","onClick"],_hoisted_20$3={key:0,class:"text-right"},_hoisted_21$3=["onClick","title"],_hoisted_22$2={key:0},_hoisted_23$2={key:1},_hoisted_24$2=["title"],_hoisted_25$2=["title"],_hoisted_26$2={key:1},_hoisted_27$2=["onClick"],_hoisted_28$2={key:0},_hoisted_29$2={key:0,class:"bg-slate-100 hover:bg-slate-100 cursor-arrow"},_hoisted_30$2={key:0},_hoisted_31$2={key:1},_hoisted_32$2={key:1},_hoisted_33$2={class:"pagination-wrapper"},_hoisted_34$2={class:"flex items-center gap-4"},_hoisted_35$1={key:0,class:"pagination"},_hoisted_36$1=["onClick"],_hoisted_37$1={key:1,class:"flex items-center gap-2"},_hoisted_38$1={class:"text-sm text-slate-400"},_hoisted_39$1={key:0},_hoisted_40$1={class:"mb-3"},_hoisted_41$1={class:"border rounded p-3 bg-gray-50"},_hoisted_42$1=["onDragstart","onDrop"],_hoisted_43$1={class:"flex items-center gap-2"},_hoisted_44$1={class:"text-sm font-medium"},_hoisted_45$1={class:"flex items-center gap-1"},_hoisted_46$1=["onClick"],_hoisted_47$1=["onClick"],_hoisted_48$1={class:"flex justify-end gap-2"},STORAGE_KEY_ALL_HIDDEN$1="table_hidden_columns",STORAGE_KEY_ALL_WIDTHS$1="table_column_widths",STORAGE_KEY_PAGE_SIZE$1="table_page_size",STORAGE_KEY_COLUMN_ORDER$1="table_column_order",_sfc_main$t={__name:"ReSimpleTable",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}},{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"),yt=vue.useModel(e,"sortColumnIndex"),At=vue.ref(""),Dt=vue.ref({}),Ft=vue.ref({}),Pt=vue.ref({}),Rt=vue.ref(!1),$t=vue.ref([]),Gt=vue.ref(null),zt=vue.ref(M.pageSize);vue.watch(()=>M.pageSize,()=>{zt.value=M.pageSize},{immediate:!0});function Ht(){try{const Ir=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN$1)||"{}"),Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS$1)||"{}"),Da=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER$1)||"{}");Ir[M.tableId]&&(_n.value=Ir[M.tableId]),Fr[M.tableId]&&(rn.value=Fr[M.tableId],Kt()),Da[M.tableId]&&yd(Da[M.tableId])}catch(Ir){console.error("Ошибка при загрузке состояния таблицы:",Ir)}}function Yt(){try{const Ir=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN$1)||"{}"),Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS$1)||"{}"),Da=JSON.parse(localStorage.getItem(STORAGE_KEY_PAGE_SIZE$1)||"{}"),fs=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER$1)||"{}");Object.keys(_n.value).length?Ir[M.tableId]=_n.value:delete Ir[M.tableId],Object.keys(rn.value).length?Fr[M.tableId]=rn.value:delete Fr[M.tableId],Da[M.tableId]=zt.value,$t.value.length>0?fs[M.tableId]=$t.value.map(eu=>eu.originalIndex):delete fs[M.tableId],localStorage.setItem(STORAGE_KEY_ALL_HIDDEN$1,JSON.stringify(Ir)),localStorage.setItem(STORAGE_KEY_ALL_WIDTHS$1,JSON.stringify(Fr)),localStorage.setItem(STORAGE_KEY_PAGE_SIZE$1,JSON.stringify(Da)),localStorage.setItem(STORAGE_KEY_COLUMN_ORDER$1,JSON.stringify(fs))}catch(Ir){console.error("Ошибка при сохранении состояния таблицы:",Ir)}}async function Kt(){if(await vue.nextTick(),!M.tableId){console.log("Не указан идентификатор таблицы",M.columns),notifyError$1("Не указан идентификатор таблицы");return}const Ir=document.getElementById(`table-${M.tableId}`);if(!Ir)return;const Fr=Ir.querySelector(".re-table");if(!Fr)return;const Da=Fr.querySelectorAll("thead th");Object.entries(rn.value).forEach(([fs,eu])=>{const ha=Da[parseInt(fs)];ha&&eu&&(ha.style.width=`${eu}px`,ha.style.minWidth=`${eu}px`)})}vue.onMounted(()=>{ka(),Ht(),document.addEventListener("click",Wr),document.addEventListener("keydown",Br)});const Xt=vue.useModel(e,"page"),dn=vue.ref(!1),cn=vue.ref({x:"0px",y:"0px"}),yn=vue.ref(null),rn=vue.ref({});let wn=!1,fn=null,hn=0,bn=0;const _n=vue.ref({}),yr=vue.ref(!1);let cr=vue.ref(null);function ir(Ir){wn=!0,fn=Ir.target.parentElement,hn=Ir.pageX,bn=fn.offsetWidth,document.addEventListener("mousemove",Qt),document.addEventListener("mouseup",An),Ir.preventDefault()}function Qt(Ir){if(!wn)return;const Fr=bn+(Ir.pageX-hn);if(Fr>=50){fn.style.width=`${Fr}px`,fn.style.minWidth=`${Fr}px`;const Da=document.getElementById(`table-${M.tableId}`);if(!Da)return;const fs=Da.querySelector(".re-table");if(!fs)return;const eu=fs.querySelectorAll("thead th"),ha=Array.from(eu).indexOf(fn);ha!==-1&&(rn.value[ha]=Fr,Yt())}}function An(){wn=!1,document.removeEventListener("mousemove",Qt),document.removeEventListener("mouseup",An)}function Hn(Ir){const Fr=document.getElementById(`table-${M.tableId}`);if(!Fr)return;const Da=Fr.querySelector(".re-table");if(!Da)return;const eu=Da.querySelectorAll("thead th")[Ir];eu&&(eu.style.width="",eu.style.minWidth="120px",delete rn.value[Ir],Yt())}vue.onUnmounted(()=>{document.removeEventListener("mousemove",Qt),document.removeEventListener("mouseup",An),document.removeEventListener("click",Wr),Yt()});const wr=vue.computed(()=>{let Ir=[...M.data];for(const Fr in V.value)V.value[Fr]&&(typeof Ln.value[Fr]?.Field=="function"?Ir=Ir.filter(Da=>String(Ln.value[Fr].Field(Da))?.toLowerCase().indexOf(V.value[Fr]?.toLowerCase())>-1):Ir=Ir.filter(Da=>String(Da[Ln.value[Fr].Field])?.toLowerCase().indexOf(V.value[Fr]?.toLowerCase())>-1));for(const Fr in Dt.value)Dt.value[Fr]&&(Ir=Ir.filter(Da=>typeof Ln.value[Fr]?.Field=="function"?Dt.value[Fr].includes(Ln.value[Fr].Field(Da)):Dt.value[Fr].includes(Da[Ln.value[Fr].Field])));for(const Fr in Pt.value)Pt.value[Fr]&&(Ir=Ir.filter(Da=>{let fs;return typeof Ln.value[Fr]?.Field=="function"?fs=Ln.value[Fr].Field(Da):fs=Da[Ln.value[Fr].Field],fs==null||fs===""||typeof fs=="string"&&fs.trim()===""}));return yt.value>=0&&vt.value&&(Ir=Ir.sort((Fr,Da)=>typeof Ln.value[yt.value].Field=="function"?typeof Ln.value[yt.value].SortMethod=="function"?Ln.value[yt.value].SortMethod(Fr,Da):String(Ln.value[yt.value].Field(Fr))>String(Ln.value[yt.value].Field(Da))?1:-1:typeof Ln.value[yt.value].SortMethod=="function"?Ln.value[yt.value].SortMethod(Fr,Da):String(Fr[Ln.value[yt.value].Field])>String(Da[Ln.value[yt.value].Field])?1:-1),vt.value==="desc"&&(Ir=Ir.reverse())),Ir}),Ln=vue.computed(()=>{let Ir=M.columns.filter(Fr=>!_n.value[Fr.Index]);return $t.value.length>0&&(Ir=$t.value.map(Fr=>Ir.find((Da,fs)=>fs===Fr.originalIndex))),Ir}),xn=vue.computed(()=>M.contextActions.filter(Ir=>typeof Ir.IsVisible=="function"?Ir.IsVisible(yn.value):!0)),Vn=vue.computed(()=>{if(M.customPagination)return M.data;const Ir=(Xt.value-1)*parseInt(zt.value);return wr.value.slice(Ir,Ir+parseInt(zt.value))}),Bn=vue.computed(()=>M.customPagination?Math.ceil(M.recordTotal/parseInt(zt.value)):Math.ceil(wr.value.length/parseInt(zt.value))),or=vue.computed(()=>Bn.value>5?Xt.value<=3?[1,2,3,4,5,"...",Bn.value]:Xt.value>=Bn.value-2?[1,"...",Bn.value-4,Bn.value-3,Bn.value-2,Bn.value-1,Bn.value]:[1,"...",Xt.value-2,Xt.value-1,Xt.value,Xt.value+1,Xt.value+2,"...",Bn.value]:Array.from({length:Bn.value},(Ir,Fr)=>Fr+1)),hr=vue.computed(()=>M.customPagination?M.recordTotal:wr.value.length);vue.watch(()=>M.data,()=>{M.customPagination||(Xt.value=1,ka())}),vue.watch(()=>Ln.value,(Ir,Fr)=>{(!Fr||Ir.length!==Fr.length||!Ir.every((Da,fs)=>Da.Title===Fr[fs].Title))&&(V.value={},_n.value={},rn.value={},Yt(),ka(),ar(null,null),Dt.value={},Pt.value={})},{deep:!0}),vue.watch(()=>wr.value.length,()=>{M.customPagination||(Xt.value=1)}),vue.watch(zt,()=>{Xt.value=1,Yt()});function rr(){if(wr.value.length===0){notifyError$1("Нет данных для экспорта");return}let Ir=[{sheet:"Лист 1",columns:M.columns.map(Da=>({label:Da.Title,value:fs=>{let eu="";return typeof Da.Field=="function"?eu=Da.Field(fs):eu=fs[Da.Field],Da.LowField&&(typeof Da.LowField=="function"?eu+=` (${Da.LowField(fs)})`:fs[Da.LowField]&&(eu+=` (${fs[Da.LowField]})`)),eu}})),content:wr.value}],Fr={fileName:"Выгрузка данных от "+hooks().format("L HH:mm:ss"),extraLength:3,writeMode:"writeFile"};xlsx(Ir,Fr)}function tr(Ir,Fr){cn.value={x:Ir.pageX+"px",y:Ir.pageY+"px"},yn.value=Fr,dn.value=!0}function sn(){yn.value=null,dn.value=!1}function gr(Ir,Fr){if(yr.value){br();return}cn.value={x:Ir.pageX,y:Ir.pageY},cr.value=Fr,yr.value=!0,dn.value=!1}function mr(Ir){if(!_n.value[Ir]&&Ln.value.length-Object.values(_n.value).filter(Boolean).length<=1){notifyError$1("Должен быть виден хотя бы один столбец");return}_n.value[Ir]=!_n.value[Ir],Yt()}function br(){yr.value=!1,cr.value=null}function Wr(Ir){const Fr=document.getElementById("headerContextMenuId");Fr&&!Fr.contains(Ir.target)&&!Ir.target.closest(".header-filter-activator")&&br()}function Br(Ir){Ir.key==="Escape"&&yr.value&&br()}function ar(Ir,Fr){yt.value===Ir&&vt.value===Fr?(yt.value=null,vt.value=null):(yt.value=Ir,vt.value=Fr)}function io(Ir){return yt.value===Ir||V.value[Ir]||Dt.value[Ir]?.length>0||Pt.value[Ir]}function Bo(){_n.value={},Yt()}function Ur(Ir){let Fr=Dt.value[cr.value]||[];Fr.includes(Ir)?Fr=Fr.filter(Da=>Da!==Ir):Fr.push(Ir),Dt.value[cr.value]=Fr,Fr.length===0&&delete Dt.value[cr.value]}function ka(){Ft.value={},Ln.value.forEach((Ir,Fr)=>{Ft.value[Fr]=[],M.data.forEach(Da=>{let fs=Ft.value[Fr]||[];typeof Ir.Field=="function"?fs.push(Ir.Field(Da)):fs.push(Da[Ir.Field]),Ft.value[Fr]=fs}),Ft.value[Fr]=[...new Set(Ft.value[Fr])],Ft.value[Fr].sort()})}function pu(Ir){if(!Ft.value[Ir])return[];let Fr=[...Ft.value[Ir]];return Fr=Fr.filter(Da=>Da&&String(Da).toLowerCase().includes(At.value)),Fr}function Ba(Ir){Dt.value[Ir]=Ft.value[Ir]}function sf(Ir){Pt.value[Ir]=!Pt.value[Ir],Pt.value[Ir]||delete Pt.value[Ir]}function Cf(Ir){let Fr=!1;dn.value&&(sn(),Fr=!0),yr.value&&(br(),Fr=!0),!Fr&&J("rowClicked",Ir)}function hl(){($t.value.length>0?$t.value:null)||($t.value=Ln.value.map((Fr,Da)=>({originalIndex:Da,displayIndex:Da,title:Fr.Title}))),Rt.value=!0,br()}function Bf(){Rt.value=!1}function Ka(Ir,Fr){Gt.value=Fr,Ir.dataTransfer.effectAllowed="move"}function Tu(Ir,Fr){if(Gt.value===null||Gt.value===Fr)return;const Da=$t.value[Gt.value],fs=[...$t.value];fs.splice(Gt.value,1),fs.splice(Fr,0,Da),fs.forEach((eu,ha)=>{eu.displayIndex=ha}),$t.value=fs,Gt.value=null}function Uo(Ir,Fr){if(Fr==="up"&&Ir>0){const Da=$t.value[Ir];$t.value[Ir]=$t.value[Ir-1],$t.value[Ir-1]=Da,$t.value[Ir].displayIndex=Ir,$t.value[Ir-1].displayIndex=Ir-1}else if(Fr==="down"&&Ir<$t.value.length-1){const Da=$t.value[Ir];$t.value[Ir]=$t.value[Ir+1],$t.value[Ir+1]=Da,$t.value[Ir].displayIndex=Ir,$t.value[Ir+1].displayIndex=Ir+1}}function qo(){$t.value=M.columns.map((Ir,Fr)=>({originalIndex:Fr,displayIndex:Fr,title:Ir.Title}))}function af(){const Ir=$t.value.map(Fr=>Fr.originalIndex);try{const Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER$1)||"{}");Fr[M.tableId]=Ir,localStorage.setItem(STORAGE_KEY_COLUMN_ORDER$1,JSON.stringify(Fr))}catch(Fr){console.error("Ошибка при сохранении порядка столбцов:",Fr)}Bf()}function yd(Ir){if(!Ir||!Array.isArray(Ir))return;const Fr=Ir.filter(Da=>Da>=0&&Da<M.columns.length);Fr.length===M.columns.length&&($t.value=Fr.map((Da,fs)=>({originalIndex:Da,displayIndex:fs,title:M.columns[Da].Title})))}return I({exportToXlsx:rr,filteredData:wr}),(Ir,Fr)=>{const Da=vue.resolveComponent("PerfectScrollbar");return vue.openBlock(),vue.createElementBlock("div",{class:"h-full",id:"table-"+M.tableId},[M.enableXlsxExport?(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$h,[vue.createVNode(vue.unref(P2),{onClick:rr,prependIcon:"file-arrow-down"},{default:vue.withCtx(()=>[...Fr[11]||(Fr[11]=[vue.createTextVNode("Экспорт в Excel",-1)])]),_:1})])):vue.createCommentVNode("",!0),vue.createVNode(Da,{class:vue.normalizeClass(["pb-4",M.tableClass]),options:{wheelPropagation:M.wheelPropagation}},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_3$d,[vue.createElementVNode("thead",{class:vue.normalizeClass({sticky:M.stickyHeader})},[vue.createElementVNode("tr",null,[M.numbering?(vue.openBlock(),vue.createElementBlock("th",_hoisted_4$c,"№")):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(fs,eu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("th",{class:"min-w-[120px] relative",key:fs.Title},[vue.createVNode(vue.unref(kt),{shown:yr.value&&vue.unref(cr)!==null&&eu===vue.unref(cr),triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_7$a,[vue.createElementVNode("p",_hoisted_8$a,vue.toDisplayString(Ln.value[vue.unref(cr)]?.Title),1),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":yt.value===vue.unref(cr)&&vt.value==="asc"}]),onClick:Fr[0]||(Fr[0]=ha=>ar(vue.unref(cr),"asc"))}," Сортировать А > Я ",2),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":yt.value===vue.unref(cr)&&vt.value==="desc"}]),onClick:Fr[1]||(Fr[1]=ha=>ar(vue.unref(cr),"desc"))}," Сортировать Я > А ",2),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("details",_hoisted_9$8,[Fr[12]||(Fr[12]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Поиск по значению",-1)),vue.createVNode(vue.unref(IA),{type:"text",placeholder:"Введите значение",modelValue:V.value[vue.unref(cr)],"onUpdate:modelValue":Fr[2]||(Fr[2]=ha=>V.value[vue.unref(cr)]=ha),modelModifiers:{lazy:!0}},null,8,["modelValue"])]),vue.createElementVNode("details",_hoisted_10$8,[vue.createElementVNode("summary",_hoisted_11$7,[Fr[13]||(Fr[13]=vue.createTextVNode(" Фильтр по значению ",-1)),Dt.value[vue.unref(cr)]?.length>0?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"circle-exclamation"})):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(IA),{placeholder:"Введите значение",modelValue:At.value,"onUpdate:modelValue":Fr[3]||(Fr[3]=ha=>At.value=ha)},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_12$6,[vue.createElementVNode("p",null," Показано "+vue.toDisplayString(Dt.value[vue.unref(cr)]?.length?Dt.value[vue.unref(cr)].length:Ft.value[vue.unref(cr)]?.length)+" из "+vue.toDisplayString(Ft.value[vue.unref(cr)]?.length),1),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Fr[4]||(Fr[4]=ha=>Ba(vue.unref(cr)))},"Все"),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Fr[5]||(Fr[5]=ha=>delete Dt.value[vue.unref(cr)])}," Сбросить ")]),vue.createVNode(Da,{class:"max-h-[300px] max-w-[600px]"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_13$5,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(pu(vue.unref(cr)),ha=>(vue.openBlock(),vue.createElementBlock("div",{key:ha,class:"flex gap-1 select-none cursor-pointer hover:bg-slate-100 rounded",onClick:Xo=>Ur(ha)},[vue.createVNode(vue.unref(Kc),{checked:Dt.value[vue.unref(cr)]?.includes(ha)},null,8,["checked"]),vue.createElementVNode("p",null,vue.toDisplayString(ha||"(пусто)"),1)],8,_hoisted_14$4))),128))])]),_:1})]),vue.createElementVNode("details",_hoisted_15$4,[Fr[14]||(Fr[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:Bo}," Показать все "),vue.createVNode(Da,{class:"max-h-[300px] overflow-y-auto"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(ha,Xo)=>(vue.openBlock(),vue.createElementBlock("div",{key:ha.Title,class:"flex items-center gap-1 px-2 py-1 hover:bg-slate-100 cursor-pointer",onClick:Ea=>mr(Xo)},[vue.createVNode(vue.unref(Z1),{class:"text-slate-500",name:_n.value[Xo]?"square":"check-square"},null,8,["name"]),vue.createElementVNode("span",null,vue.toDisplayString(ha.Title),1)],8,_hoisted_16$4))),128))]),_:2},1024)]),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":Pt.value[vue.unref(cr)]}]),onClick:Fr[6]||(Fr[6]=ha=>sf(vue.unref(cr)))}," Показать только пустые ",2),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:"rs-table-btn",onClick:hl},"Изменить порядок столбцов")])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_5$b,[vue.createElementVNode("div",{onClick:ha=>fs.filterable!=!1?gr(ha,eu):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(fs.Title),3),fs.filterable!=!1?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"filter",class:vue.normalizeClass([{activeFilter:io(eu)},"text-slate-500"])},null,8,["class"])):vue.createCommentVNode("",!0)],8,_hoisted_6$b)])]),_:2},1032,["shown"]),vue.createElementVNode("div",{class:"column-resizer",onMousedown:Fr[7]||(Fr[7]=ha=>ir(ha)),onDblclick:ha=>Hn(eu)},null,40,_hoisted_17$3)])),[[vue.vShow,!_n.value[eu]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("th",_hoisted_18$3,[...Fr[15]||(Fr[15]=[vue.createElementVNode("p",null,"Действия",-1)])])):vue.createCommentVNode("",!0)])],2),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Vn.value,(fs,eu)=>(vue.openBlock(),vue.createElementBlock("tr",{class:vue.normalizeClass({"even:bg-slate-50":M.striped}),onContextmenu:vue.withModifiers(ha=>tr(ha,fs),["right","prevent"]),onClick:ha=>Cf(fs),key:fs,style:vue.normalizeStyle({backgroundColor:dn.value&&yn.value===fs?"rgba(0, 0, 0, 0.05)":"",backgroundColor:e.rowColor(fs)})},[M.numbering?(vue.openBlock(),vue.createElementBlock("td",_hoisted_20$3,vue.toDisplayString(Xt.value*parseInt(zt.value)-parseInt(zt.value)+1+eu),1)):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(ha,Xo)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:ha.Title,class:vue.normalizeClass(["hover:bg-slate-200",typeof ha.Class=="function"?ha.Class(fs):ha.Class]),onClick:Ea=>J("cellClicked",{record:fs,column:ha,index:Xo}),title:typeof ha.titleOnHover=="function"?ha.titleOnHover(fs):ha.titleOnHover},[ha.Template?(vue.openBlock(),vue.createElementBlock("div",_hoisted_22$2,[vue.renderSlot(Ir.$slots,`cell(${ha.Template})`,{record:fs},void 0,!0)])):(vue.openBlock(),vue.createElementBlock("div",_hoisted_23$2,[vue.createElementVNode("p",{class:vue.normalizeClass(["primary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof ha.Field=="function"?ha.Field(fs):fs[ha.Field]},vue.toDisplayString(typeof ha.Field=="function"?ha.Field(fs):fs[ha.Field]),11,_hoisted_24$2),vue.createElementVNode("p",{class:vue.normalizeClass(["secondary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof ha.LowField=="function"?ha.LowField(fs):fs[ha.LowField]},vue.toDisplayString(typeof ha.LowField=="function"?ha.LowField(fs):fs[ha.LowField]),11,_hoisted_25$2)]))],10,_hoisted_21$3)),[[vue.vShow,!_n.value[Xo]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("td",_hoisted_26$2,[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,ha=>(vue.openBlock(),vue.createElementBlock("span",{class:"rowAction whitespace-nowrap",onClick:vue.withModifiers(Xo=>ha.Action(fs),["stop"]),key:ha},[typeof ha.IsVisible!="function"||ha.IsVisible(fs)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_28$2,[ha.Icon?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:ha.Icon},null,8,["name"])):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(ha.Name),1)])):vue.createCommentVNode("",!0)],8,_hoisted_27$2))),128))],2)])):vue.createCommentVNode("",!0)],46,_hoisted_19$3))),128)),M.footer?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_29$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(fs,eu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:fs.Title},[typeof fs.Footer=="function"?(vue.openBlock(),vue.createElementBlock("p",_hoisted_30$2,vue.toDisplayString(fs.Footer(Ir.row)),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_31$2,vue.toDisplayString(fs.Footer),1))])),[[vue.vShow,!_n.value[eu]]])),128))])):vue.createCommentVNode("",!0),hr.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",_hoisted_32$2,[...Fr[16]||(Fr[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"]),vue.createElementVNode("div",_hoisted_33$2,[vue.createElementVNode("div",_hoisted_34$2,[Bn.value>1?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_35$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(or.value,fs=>(vue.openBlock(),vue.createElementBlock("li",{key:fs,class:vue.normalizeClass({active:fs===Xt.value}),onClick:eu=>fs!=="..."?Xt.value=fs:null},[vue.createElementVNode("a",null,vue.toDisplayString(fs),1)],10,_hoisted_36$1))),128))])):vue.createCommentVNode("",!0),M.enablePageSizeSelector?(vue.openBlock(),vue.createElementBlock("div",_hoisted_37$1,[Fr[18]||(Fr[18]=vue.createElementVNode("span",{class:"text-sm text-slate-500"},"Показать:",-1)),vue.withDirectives(vue.createElementVNode("select",{"onUpdate:modelValue":Fr[8]||(Fr[8]=fs=>zt.value=fs),class:"text-sm border rounded px-1 py-0.5 w-[60px] border-slate-300"},[...Fr[17]||(Fr[17]=[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,zt.value]])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_38$1," Записи "+vue.toDisplayString(Xt.value*parseInt(zt.value)-parseInt(zt.value)+1)+"-"+vue.toDisplayString(Math.min(Xt.value*parseInt(zt.value),hr.value))+" из "+vue.toDisplayString(hr.value),1)]),dn.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(dz1),{spacing:"xs"},{default:vue.withCtx(()=>[xn.value.length?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("p",_hoisted_39$1,"Нет доступных действий контекстного меню")),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xn.value,fs=>(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:fs,prependIcon:fs.Icon,onClick:eu=>(fs.Action(yn.value),sn())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(fs.Name),1)]),_:2},1032,["prependIcon","onClick"]))),128))]),_:1})],4)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Ds),{title:"Изменение порядка столбцов",modelValue:Rt.value,"onUpdate:modelValue":Fr[10]||(Fr[10]=fs=>Rt.value=fs),closeOnClickOutside:!0,class:"p-2"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_48$1,[vue.createVNode(vue.unref(P2),{onClick:qo,variant:"outline",size:"sm"},{default:vue.withCtx(()=>[...Fr[20]||(Fr[20]=[vue.createTextVNode("Сбросить",-1)])]),_:1}),vue.createVNode(vue.unref(P2),{onClick:af,size:"sm"},{default:vue.withCtx(()=>[...Fr[21]||(Fr[21]=[vue.createTextVNode("Сохранить",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_40$1,[Fr[19]||(Fr[19]=vue.createElementVNode("p",{class:"text-sm text-gray-600 mb-2"},"Перетащите столбцы для изменения их порядка:",-1)),vue.createElementVNode("div",_hoisted_41$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($t.value,(fs,eu)=>(vue.openBlock(),vue.createElementBlock("div",{key:fs.originalIndex,class:"flex items-center justify-between p-2 mb-1 bg-white rounded border cursor-move hover:bg-gray-50",draggable:"true",onDragstart:ha=>Ka(ha,eu),onDragover:Fr[9]||(Fr[9]=vue.withModifiers(()=>{},["prevent"])),onDrop:ha=>Tu(ha,eu)},[vue.createElementVNode("div",_hoisted_43$1,[vue.createVNode(vue.unref(Z1),{name:"grip-vertical",class:"text-gray-400 text-sm"}),vue.createElementVNode("span",_hoisted_44$1,vue.toDisplayString(fs.title),1)]),vue.createElementVNode("div",_hoisted_45$1,[eu>0?(vue.openBlock(),vue.createElementBlock("button",{key:0,onClick:ha=>Uo(eu,"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_46$1)):vue.createCommentVNode("",!0),eu<$t.value.length-1?(vue.openBlock(),vue.createElementBlock("button",{key:1,onClick:ha=>Uo(eu,"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_47$1)):vue.createCommentVNode("",!0)])],40,_hoisted_42$1))),128))])])]),_:1},8,["modelValue"])],8,_hoisted_1$l)}}},ReSimpleTable=_export_sfc(_sfc_main$t,[["__scopeId","data-v-821997b1"]]),_hoisted_1$k={class:"flex flex-col gap-3"},_hoisted_2$g={key:0,class:"border rounded p-2 bg-slate-100"},_hoisted_3$c={class:"flex justify-end gap-2 py-2"},_hoisted_4$b=["title"],_hoisted_5$a=["title"],_hoisted_6$a={key:1,class:"text-sm text-right text-gray-500"},_hoisted_7$9={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_8$9={class:"flex flex-col gap-4"},_hoisted_9$7={class:"flex justify-end gap-2"},_hoisted_10$7=["title"],_hoisted_11$6={class:"flex gap-4 justify-end"},_hoisted_12$5={class:"flex-1 gap-4"},_hoisted_13$4={class:"flex flex-col border rounded p-4 gap-4"},_hoisted_14$3={class:"flex gap-4"},_hoisted_15$3={class:"flex flex-col border rounded p-4 gap-4"},_hoisted_16$3={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$s={__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}},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([]),yt=vue.ref(!1),At=vue.ref(!1),Dt=vue.ref([]),Ft=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")||Ft.value.Endministrator.IsActive||Ft.value.Root.IsActive;api$1.LpuByRegionId.get("03").then(Br=>{M.value=Br.data});const Rt=vue.computed(()=>N.dataPatient.PatientSnils?{Snils:N.dataPatient.PatientSnils}:{}),$t=vue.ref(N.isMainViewTable),{getBenefitList:Gt,getBenefitListV2:zt}=useBenefit(),Ht=vue.ref(!1),Yt=vue.ref([]),Kt=vue.ref(!1),Xt=vue.ref(null),dn=vue.ref([]),cn=vue.ref({}),yn=vue.ref(!1),rn=vue.ref({}),wn=[{Name:"История",Icon:"history",Action:ir}];function fn(Br){const ar=N.nameProject,io=[],Bo=[];switch(Br){case"registerControl":return!!(Pt||ar!="Pharmacy"&&ar!="MZ"&&ar!="Stock"||io.includes(J?.value?.UserId)||Bo.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=hn()});function hn(){return`${rn.value.BenefitCodeShort||"Все-льготы"}_${rn.value.ProgramName?.replace(/\s/g,"-")||"Все-программы"}_${M.value.find(Br=>Br.Id===rn.value.LpuIdPrikrep)?.Name?.replace(/\s/g,"-")||"Все-МО"}_${hooks().format("YYYY-MM-DD_HH-mm-ss")}`}function bn(){rn.value={},yn.value=!0,rn.value.FileName=hn()}async function _n(){Ht.value=!0;try{const Br=await window.axios.get(window.localhost+"dbf/export",{params:rn.value});Br.data?.File&&Br.data?.Name?yr(Br.data):notifyError$1("Нет данных для экспорта")}catch(Br){notifyError$1(`Ошибка при экспорте:
|
|
1302
1302
|
`+Br.message)}finally{Ht.value=!1}}function yr(Br){let ar="data: application/x-zip-compressed;base64,"+Br.File,io=document.createElement("a");io.href=ar,io.setAttribute("download",Br.Name),document.body.appendChild(io),io.click(),document.body.removeChild(io)}async function cr(Br){"filters"in Br&&(Br=Br.filters),Br={...Rt.value,...Br,...N.frlloFilters},cn.value=Br,Ht.value=!0;try{const ar=await zt(Br);Yt.value=ar}catch(ar){Yt.value=[],notifyError$1(`Ошибка при загрузке данных:
|
|
1303
|
-
`+ar.message)}finally{Ht.value=!1}}async function ir(Br){const ar=await Gt({Snils:Br.Snils,BenefitCodeShort:Br.BenefitCodeShort},!1);dn.value=ar,Xt.value=Br,Kt.value=!0}function Qt(){dn.value=[],Xt.value=null}const An={ОНЛС:[null],ВЗН:[null],"Орфанные заболевания":[null],П890:["ALL"],ССЗ:["ALL"],"Паллиативная помощь":["ALL"],"Сахарный диабет":["ALL"],"Дети до трёх лет":["ALL"],"Фонд Круг добра":[null],"Незарег. ЛП.":[null],"НМГ(Беременные)":["ALL"],"НМГ(Дети)":["ALL"],"Хронический Гепатит C":[RKIB_ID]};function Hn(Br){const ar=An[Br?.BenefitProgram]?.includes(J.value.LpuId),io=An[Br?.BenefitProgram]?.includes(J.value.UserId),Bo=An[Br?.BenefitProgram]?.includes("ALL")&&fn("registerControl")&&J.value.LpuId!==RKIB_ID,Ur=!Object.keys(An).includes(Br?.BenefitProgram),ka=J.value.LpuId===N.dataPatient?.LpuId&&Br?.BenefitProgram==="Хронический Гепатит C";if(!$t.value)if(ar||io||Bo||Ur||Pt||ka){const{Id:pu,LogDateTime:Ba,PatientBenefitId:sf,...Cf}=Br;Xt.value=Cf,hr()}else notifyWarning("У вас нет прав на редактирование данной льготы",15e3,"Ограничено системой");if(typeof N.customRowClickHandler=="function"){N.customRowClickHandler(Br);return}}function wr(){Kt.value=!1,Hn(dn.value[0])}function Ln(Br){if(Br?.Deleted)return"#f9c7c8";if(Br?.Monetization)return"#f3c77a";let ar=hooks().startOf("day"),io=hooks(Br.DateIn).startOf("day"),Bo=hooks(Br.DateOut??"2999-12-12").startOf("day");return!Br.DateOut||ar.isBetween(io,Bo,null,"[]")?"#cbe4cb":"#dedee1"}BenefitProgram(Br=>vt.value=Br.map(ar=>({...ar,Benefits:JSON.parse(ar.Benefits)}))),BenefitMap(Br=>Dt.value=Br);const xn=["Snils","Fio","AttachedMo"],Vn=vue.computed(()=>{let Br=[{accessor:"Fio",type:"text",name:"Ф.И.О."},{accessor:"ProgramId",type:"select",list:vt.value,name:"Программа"},{accessor:"BenefitCodeShort",type:"select",name:"Код льготы",relation:({values:ar})=>ar?.ProgramId?vt.value.find(io=>ar.ProgramId===io.Id).Benefits:Dt.value,display:ar=>"("+ar.BenefitCodeShort+") "+ar.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&&(Br=Br.filter(ar=>!xn.includes(ar.accessor))),V||(Br=Br.filter(ar=>ar.accessor!=="InMis")),Br});vue.watch(()=>N.dataPatient.PatientSnils,()=>{N.dataPatient.PatientSnils&&cr({})},{immediate:!0});const Bn=vue.computed(()=>[{name:"Ф.И.О.",accessor:"PatientFio"},{name:"Дата рождения",display:ar=>hooks(ar.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:ar=>ar?.DateIn?hooks(ar.DateIn).format("DD.MM.YYYY"):"-"},{name:"Дата конца",display:ar=>ar?.DateOut?hooks(ar.DateOut).format("DD.MM.YYYY"):"-"},{name:"Статус ФРЛЛО",display:ar=>ar?.FrlloStatus?ar.FrlloStatus:"Не выгружен"},{name:"Дата изменения",display:ar=>hooks(ar.LogDateTime).format("DD.MM.YYYY HH:mm:ss")},{name:"Пользователь",display:ar=>(ar.EmployeeLastname||"").trim()+" "+(ar.EmployeeFirstname||"").trim()+" "+(ar.EmployeePatronymic||"").trim()}].filter(ar=>!ar.hidden).map(ar=>({Title:ar.name,Field:typeof ar.display=="function"?ar.display:ar.accessor,Template:ar?.Template}))),or=vue.computed(()=>[{name:"Программа",accessor:"BenefitProgram"},{name:"Диагноз",accessor:"Ds"},{name:"Код льготы",accessor:"BenefitCodeShort"},{name:"Категория льготности",accessor:"BenefitName",Template:"BenefitName"},{name:"Монетизирована",accessor:"MonetizationText"},{name:"Дата начала",display:ar=>ar?.DateIn?hooks(ar.DateIn).format("DD.MM.YYYY"):"-"},{name:"Дата конца",display:ar=>ar?.DateOut?hooks(ar.DateOut).format("DD.MM.YYYY"):"-"},{name:"Статус ФРЛЛО",display:ar=>ar?.FrlloStatus?ar.FrlloStatus:"Не выгружен"},{name:"Дата изменения",display:ar=>hooks(ar.LogDateTime).format("DD.MM.YYYY HH:mm:ss")},{name:"Пользователь",display:ar=>(ar.EmployeeLastname||"").trim()+" "+(ar.EmployeeFirstname||"").trim()+" "+(ar.EmployeePatronymic||"").trim()}].filter(ar=>!ar.hidden).map(ar=>({Title:ar.name,Field:typeof ar.display=="function"?ar.display:ar.accessor,Template:ar?.Template})));function hr(){yt.value=!0}function rr(Br){yt.value=!1,notifyError$1(Br)}async function tr(){yt.value=!1,await new Promise(Br=>setTimeout(Br,1e3)),cr(cn.value),notifySuccess("Льгота сохранена успешно!")}function sn(){yt.value=!1,cr(cn.value),notifySuccess("Льгота аннулирована!")}function gr(){Xt.value=null,hr()}function mr(){At.value=!0}function br(){return Yt.value.filter(Br=>Br._selected_).map(Br=>({Id:Br.PatientBenefitId,Snils:Br.PatientSnils}))}function Wr(){rn.value={}}return I({getSelectedRows:br}),(Br,ar)=>(vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("div",_hoisted_1$k,[e.viewFilter?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.createVNode(_sfc_main$z,{"filter-list":Vn.value,onSearch:cr},null,8,["filter-list"])])),vue.createElementVNode("div",_hoisted_3$c,[ar[14]||(ar[14]=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)),fn("getRegister")&&!e.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:0,onClick:bn,"prepend-icon":"download"},{default:vue.withCtx(()=>[...ar[11]||(ar[11]=[vue.createTextVNode("Экспорт в .dbf",-1)])]),_:1})):vue.createCommentVNode("",!0),fn("registerControl")&&!e.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:1,onClick:gr,"prepend-icon":"plus",primary:""},{default:vue.withCtx(()=>[...ar[12]||(ar[12]=[vue.createTextVNode("Добавить льготу",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.unref(Pt)&&!e.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:2,onClick:mr,"prepend-icon":"unlock-keyhole",style:{backgroundColor:"white",color:"rgb(198 28 28 / var(--tw-text-opacity))"}},{default:vue.withCtx(()=>[...ar[13]||(ar[13]=[vue.createTextVNode("Доступ к ССЗ",-1)])]),_:1})):vue.createCommentVNode("",!0)]),vue.createVNode(ReSimpleTable,{"enable-xlsx-export":!0,data:Yt.value,columns:$t.value?Bn.value:or.value,"page-size":20,"enable-page-size-selector":"","table-id":"benefitsList","context-actions":wn,"row-color":Ln,onRowClicked:ar[0]||(ar[0]=io=>e.infoOnly?null:Hn)},{"cell(BenefitName)":vue.withCtx(({record:io})=>[vue.createElementVNode("p",{class:"cell-lite",title:io?.BenefitName},vue.toDisplayString(io?.BenefitName),9,_hoisted_4$b)]),"cell(SmoName)":vue.withCtx(({record:io})=>[vue.createElementVNode("p",{class:"cell-lite",title:io?.SmoName},vue.toDisplayString(io?.SmoName),9,_hoisted_5$a)]),_:1},8,["data","columns"]),Yt.value.length>950?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$a,[vue.createElementVNode("p",null,"Показаны первые ~"+vue.toDisplayString(Math.ceil(Yt.value.length/1e3)*1e3)+" записей, чтобы найти нужного пациента уточните фильтры",1)])):vue.createCommentVNode("",!0)]),vue.withDirectives(vue.createElementVNode("div",_hoisted_7$9,[...ar[15]||(ar[15]=[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(Ds),{modelValue:Kt.value,"onUpdate:modelValue":ar[1]||(ar[1]=io=>Kt.value=io),title:`История льготы ${Xt.value?.BenefitCodeShort}`,class:"p-4",size:"7xl",onClose:Qt},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$9,[vue.createElementVNode("div",_hoisted_9$7,[fn("registerControl")&&!e.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:0,onClick:wr,"prepend-icon":"pencil"},{default:vue.withCtx(()=>[...ar[16]||(ar[16]=[vue.createTextVNode("Изменить льготу",-1)])]),_:1})):vue.createCommentVNode("",!0)]),vue.createVNode(ReSimpleTable,{data:dn.value,columns:or.value,"page-size":20,"enable-page-size-selector":"","table-id":"benefitsListHistory"},{"cell(BenefitName)":vue.withCtx(({record:io})=>[vue.createElementVNode("p",{class:"cell-lite",title:io?.BenefitName},vue.toDisplayString(io?.BenefitName),9,_hoisted_10$7)]),_:1},8,["data","columns"])])]),_:1},8,["modelValue","title"]),vue.createVNode(vue.unref(Ds),{modelValue:yt.value,"onUpdate:modelValue":ar[2]||(ar[2]=io=>yt.value=io),title:"Льгота",size:"5xl",class:"p-4"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$v,{snils:Xt.value?.Snils||N.dataPatient.PatientSnils,"user-open":J.value,"patient-open":N.dataPatient,onSave:tr,onDelete:sn,onError:rr,"edit-benefit":Xt.value,disable:N.infoOnly,permisionLgot:PermissionLgot},null,8,["snils","user-open","patient-open","edit-benefit","disable"])]),_:1},8,["modelValue"]),vue.createVNode(vue.unref(Ds),{modelValue:yn.value,"onUpdate:modelValue":ar[9]||(ar[9]=io=>yn.value=io),title:"Экспорт .dbf",size:"5xl",class:"p-4"},{default:vue.withCtx(()=>[vue.createElementVNode("form",{class:"flex flex-col gap-4",onSubmit:vue.withModifiers(_n,["prevent"])},[vue.createVNode(vue.unref(IA),{label:"Имя файла",disabled:"",modelValue:rn.value.FileName,"onUpdate:modelValue":ar[3]||(ar[3]=io=>rn.value.FileName=io)},null,8,["modelValue"]),vue.createVNode(_sfc_main$F,{required:!rn.value.BenefitCodeShort&&!rn.value.ProgramName,label:"МО прикрепления",data:M.value,modelValue:rn.value.LpuIdPrikrep,"onUpdate:modelValue":ar[4]||(ar[4]=io=>rn.value.LpuIdPrikrep=io),"id-field":"Id","display-expr":io=>io.Name,clearable:""},null,8,["required","data","modelValue","display-expr"]),vue.createElementVNode("div",_hoisted_11$6,[vue.createElementVNode("div",_hoisted_12$5,[vue.createElementVNode("fieldset",_hoisted_13$4,[ar[17]||(ar[17]=vue.createElementVNode("legend",{class:"px-2 font-semibold text-sm"},"Льгота",-1)),vue.createVNode(_sfc_main$F,{required:!rn.value.BenefitCodeShort&&!rn.value.LpuIdPrikrep,label:"Программа",data:vt.value,modelValue:rn.value.ProgramName,"onUpdate:modelValue":ar[5]||(ar[5]=io=>rn.value.ProgramName=io),"id-field":"Name","display-expr":io=>io.Name,clearable:""},null,8,["required","data","modelValue","display-expr"]),vue.createVNode(_sfc_main$F,{required:!rn.value.ProgramName&&!rn.value.LpuIdPrikrep,label:"Код льготы",data:Dt.value,modelValue:rn.value.BenefitCodeShort,"onUpdate:modelValue":ar[6]||(ar[6]=io=>rn.value.BenefitCodeShort=io),"id-field":"BenefitCodeShort","display-expr":io=>io.BenefitCodeShort+" | "+io.BenefitNameLong,clearable:"",limit:1e3},null,8,["required","data","modelValue","display-expr"])])]),vue.createElementVNode("div",_hoisted_14$3,[vue.createElementVNode("fieldset",_hoisted_15$3,[ar[18]||(ar[18]=vue.createElementVNode("legend",{class:"px-2 font-semibold text-sm"},"Период активности льготы",-1)),vue.createVNode(_sfc_main$E,{style:{width:"250px"},modelValue:rn.value.BenefitStartDate,"onUpdate:modelValue":ar[7]||(ar[7]=io=>rn.value.BenefitStartDate=io),label:"Дата начала",clearable:""},null,8,["modelValue"]),vue.createVNode(_sfc_main$E,{style:{width:"250px"},modelValue:rn.value.BenefitEndDate,"onUpdate:modelValue":ar[8]||(ar[8]=io=>rn.value.BenefitEndDate=io),label:"Дата окончания",clearable:""},null,8,["modelValue"])])])]),vue.createElementVNode("div",_hoisted_16$3,[vue.createVNode(vue.unref(P2),{label:"Сбросить фильтры",onClick:Wr,delete:"",secondary:"","prepend-icon":"xmark"}),vue.createVNode(vue.unref(P2),{type:"submit","prepend-icon":"download",primary:""},{default:vue.withCtx(()=>[...ar[19]||(ar[19]=[vue.createTextVNode("Экспортировать",-1)])]),_:1})])],32)]),_:1},8,["modelValue"]),vue.createVNode(PermissionLgot,{isAdmin:vue.unref(Pt),visible:At.value,"onUpdate:visible":ar[10]||(ar[10]=io=>At.value=io)},null,8,["isAdmin","visible"])]))}},listStatuses=["В работе","Заполнение льгот","Проверка","Отправлен в МЗ","Завершен","Заявка","Заявка отправлена в МЗ","Заявка закрыта","Отклонено МЗ"],programToPreparat={"29528611-4db8-4a92-990d-0664eaec37fd":"ONLS","7303e13b-92f3-4f36-a08d-d52080c0ca28":"Cardio","0d3ffdb7-5a18-4efe-9853-a1a09927f415":"VNZ","5bc6620a-1ed6-4a60-a8ed-fa2a5e786150":"Diabetic","b50d16ad-6258-4e72-b8fc-49a5cefaf4ee":"Oraf","3398f155-5168-4c62-8861-5b8da2f191b4":"P890","0ca74c2a-a34b-4c9e-9ced-1565cdc8c067":"CircleGoodness","99b7de3c-52b0-4f65-b9a1-aacd6e47f073":"NMG","408e7c6f-0e70-4964-bc1c-0d3c4892b657":"NMG"},approvedBenefitProgram={"279c0cdc-772f-4f76-984c-2b463a42edd6":"ОНЛС","2b448ae8-4ff9-4fe6-a581-2cab122273b9":"ССЗ","270fefac-9670-4fcb-8c56-b7a422b774ad":"Сахарный диабет","260d15f6-3b69-4646-b551-c88404ca35df":"Орфанные заболевания","87691abf-cc37-49e5-8295-18eb71e9e015":"П890"},approvedBenefitProgramToPreparatProgramm={"29528611-4db8-4a92-990d-0664eaec37fd":"279c0cdc-772f-4f76-984c-2b463a42edd6","7303e13b-92f3-4f36-a08d-d52080c0ca28":"2b448ae8-4ff9-4fe6-a581-2cab122273b9","5bc6620a-1ed6-4a60-a8ed-fa2a5e786150":"270fefac-9670-4fcb-8c56-b7a422b774ad","b50d16ad-6258-4e72-b8fc-49a5cefaf4ee":"260d15f6-3b69-4646-b551-c88404ca35df","3398f155-5168-4c62-8861-5b8da2f191b4":"87691abf-cc37-49e5-8295-18eb71e9e015"},noSignPrograms=["29528611-4db8-4a92-990d-0664eaec37fd","7303e13b-92f3-4f36-a08d-d52080c0ca28"],lpusWithDivision=["f6bb8d21-9371-42e8-9406-b592fe2025e7","03032196-cf4b-480d-ab08-706f0eaa89ae","bff70664-565d-4b29-86ab-0cc3285ad156","1314c963-b459-43f4-b082-3b43f11cd7b2","8ac51557-f416-4032-b602-61b0bcf991e7","03bb9b43-b003-4eeb-a451-cb15ca6e28d3","5bd0e29f-6d86-476c-8caa-67f9c20ca243"],_sfc_main$r={__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},filterFunction:{type:Function,default:null},filterMkb:{type:Boolean,default:!0}},emits:["getMKBId","getMKBItem","validate"],setup(e,{emit:I}){const N=I;let J=null;const V=e;let M=!0;vue.watch(()=>V.OMC,(zt,Ht)=>{zt!==Ht&&!M&&(Ht?(J=yt.value,yt.value={Id:""},N("getMKBId",{choosedMKB:null}),Rt()):J&&Pt({data:J})),M&&(M=!1)});const vt=vue.ref(!1),yt=vue.ref({Id:""}),At=vue.ref(""),Dt=vue.computed(()=>({_mkb_oplata_param_:V.OMC===null?null:String(!!V.OMC),_mkb_codes_param_:V.filterCodes?.length?V.filterCodes.join(","):null})),Ft=vue.ref({Id:null});function Pt({data:zt}){J=null,At.value="",zt?.Id?(yt.value=zt,N("getMKBId",{choosedMKB:zt.Id}),Rt(zt)):(yt.value={Id:""},N("getMKBId",{choosedMKB:null}),Rt())}function Rt(zt={Id:null}){Ft.value.Id!==zt.Id&&(zt.Id?(N("getMKBItem",{choosedMKB:zt}),Ft.value=zt):(Ft.value={Id:null},N("getMKBItem",{choosedMKB:null})))}function $t(zt,Ht,Yt){return V.filterMkb?["J47","E10","M45"].includes(zt.Code)?!0:(zt.Code.indexOf(".")!==-1||Ht.filter(Xt=>Xt.Code.startsWith(zt.Code)&&Xt.Code.length>3).length===0&&(Gt(Yt[0])&&Yt.length>2||!Gt(Yt[0])&&Yt.length>1))&&(typeof V.filterFunction!="function"||V.filterFunction(zt))&&(V.mkbCode!==Yt||zt.Code===V.mkbCode):!0}function Gt(zt){return new RegExp("^\\p{L}$","u").test(zt)}return vue.watch(()=>V.mkbCode,()=>{V.mkbCode||(yt.value={Id:""},Pt({data:yt.value}))}),vue.watch(()=>V.mkbId,zt=>{zt?yt.value.Id!==zt&&(yt.value={Id:zt}):(yt.value={Id:""},Pt({data:yt.value}))},{immediate:!0}),vue.watch(()=>yt.value,()=>{V.isValidated&&(yt.value?.Id?(N("validate",{isValid:!0}),Rt(yt.value),vt.value=!0):(N("validate",{isValid:!1}),N("getMKBId",{choosedMKB:""}),vt.value=!1))}),(zt,Ht)=>(vue.openBlock(),vue.createBlock(_sfc_main$C,{disabled:V.readOnly,modelValue:yt.value.Id,"onUpdate:modelValue":Ht[0]||(Ht[0]=Yt=>yt.value.Id=Yt),"display-expr":Yt=>"("+Yt.Code+") "+Yt.Name,"api-string":vue.unref(api$1).Mkb,"api-id":vue.unref(api$1).MkbById,label:V.label,"filter-field":"_search_str_","get-first-from-string":V.mkbCode,"result-filter":$t,params:Dt.value,onOnSelect:Pt,clearable:""},null,8,["disabled","modelValue","display-expr","api-string","api-id","label","get-first-from-string","params"]))}},_sfc_main$q={__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]=yt=>I.value=V(yt))},null,8,["min","max","withHours","model-value"]))}},_hoisted_1$j={class:"p-3"},_hoisted_2$f={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_3$b={class:"border p-2 rounded"},_hoisted_4$a={class:"grid grid-cols-2 gap-1"},_hoisted_5$9={class:"border p-2 rounded"},_hoisted_6$9={class:"grid grid-cols-2 gap-1"},_hoisted_7$8={class:"flex gap-3"},_hoisted_8$8={key:2,class:"flex flex-col gap-1"},_hoisted_9$6={class:"text-sm border rounded px-3 py-1 bg-gray-100 text-gray-800 text-balance h-[32px]"},_hoisted_10$6={class:"flex gap-3"},_hoisted_11$5={class:"flex gap-3"},_hoisted_12$4={class:"flex justify-end gap-3"},_sfc_main$p={__name:"ApplicationForm",props:{needId:{type:String,default:""},waitRequest:{type:Boolean,default:!1,required:!0},readOnly:{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:{}},modalVisible:{type:Boolean,default:!1},hiddenControl:{type:Boolean,default:!1},additional:{type:Boolean,default:!1},docAppYear:{type:Number,required:!0}},emits:["onSave","onDelete","update:waitRequest"],setup(e,{expose:I,emit:N}){const{getBenefitList:J,getBenefitListV2:V}=useBenefit(),M=e,vt=vue.computed(()=>M.userOpen),yt=N,At=vue.ref(null),Dt=vue.ref(null),Ft=vue.ref(!1),Pt=vue.computed({get:()=>M.waitRequest,set:Br=>yt("update:waitRequest",Br)}),Rt=vue.computed({get:()=>M.modalVisible,set:Br=>yt("update:modalVisible",Br)}),$t=vue.ref(M.selectedApplication),Gt=vue.ref(M.hiddenControl),zt=vue.ref(M.needId),Ht=Object.values(approvedBenefitProgram),Yt=vue.ref(!0),Kt=vue.ref(!1),Xt=vue.ref("Льгота"),dn=vue.computed(()=>!!vt.value.Permissions.find(Br=>["0","1","40"].includes(Br.AccessCode))),cn=vue.ref([]),yn=vue.ref([]),rn=vue.ref([]),wn=vue.ref({}),fn=vue.computed(()=>rn.value.find(Br=>Br.Id===An.value.TemplatePreparatId)),hn=vue.computed(()=>!!fn.value?.Sign),bn=vue.computed(()=>{if(An.value.ProgramId){let Br=rn.value;noSignPrograms.includes(An.value.ProgramId)&&(Br=Br.filter(io=>io.Sign));let ar=Object.keys(programToPreparat).find(io=>io==An.value.ProgramId);return ar&&(Br=Br.filter(io=>io[programToPreparat[ar]])),Br}}),_n=vue.ref([]),yr=vue.ref([]),cr=vue.ref([]),ir=vue.ref([]);vue.onMounted(async()=>{try{br(),await Bn(),await Qt(),await or(),_n.value=await J({Snils:M.patientSnils})||[],yr.value=(await V({Snils:M.patientSnils,Monetized:!1,Active:!0,Deleted:!1})).filter(Br=>Ht.includes(Br.BenefitProgram))||[],await BenefitMap(Br=>{cr.value=Br.filter(ar=>yr.value.map(io=>io.BenefitCodeShort).includes(ar.BenefitCodeShort)),ir.value=Br.filter(ar=>_n.value.map(io=>io.BenefitCodeShort).includes(ar.BenefitCodeShort))}),M.readOnly?yn.value=ir.value:yn.value=cr.value,lpusWithDivision.includes(vt.value.LpuId)&&mr(),hr()}catch(Br){const ar=Br.response?.data?.message||Br.message||"Неизвестная ошибка";notifyError$1(`${ar}. Пожалуйста, откройте потребность повторно`,15e3,"Ошибка загрузки данных")}finally{Wr()}});async function Qt(){cn.value=await window.axios.get(window.localhost+"PreparatProgram?BaseProgram=true").then(Br=>Br.data.Body.filter(ar=>ar.BenefitProgramId).map(ar=>({...ar,label:ar.ValidName,Name:ar.ValidName})))}const An=vue.ref({DateNeed:new Date,Additional:M.additional,Interchangeability:!1}),Hn=vue.ref(!1);async function wr(){if(Dt.value.reportValidity()){if(An.value.NprNumber||An.value.NprDate?An.value.Npr=!0:An.value.Npr=!1,!An.value.LgotaId){notifyError$1("Льгота не выбрана");return}if(!An.value.TemplatePreparatId){notifyError$1("Препарат не выбран");return}if(!hn.value&&(!An.value.NumberVK||!An.value.DateVK)){notifyError$1("Для выбранного препарата требуется заполнить номер и дату ВК");return}if(An.value.NprNumber&&!An.value.NprDate){notifyError$1("Заполните дату НПР для указанного номера НПР");return}if(An.value.NprDate&&!An.value.NprNumber){notifyError$1("Заполните номер НПР для указанной даты НПР");return}if(!An.value.ProgramId){notifyError$1("Программа не выбрана");return}if(lpusWithDivision.includes(vt.value.LpuId)&&!An.value.DivisionId){notifyError$1("Отделение не выбрано");return}if(Kt.value){notifyError$1("Невозможно сохранить потребность при неактивной льготе");return}Hn.value!=!0&&(br(),Hn.value=!0,An.value.LpuId=vt.value.LpuId,An.value.EmployeePostId=vt.value.Id,An.value.PatientId=M.patientId,An.value.CountMonth=Number(An.value.CountMonth),delete An.value.MkbName,delete An.value.Mnn,delete An.value.MaxPriceWithVat,delete An.value.MkbCode,delete An.value.FullName,delete An.value.DivisionName,delete An.value.EmployeePostFIO,delete An.value.ApplicationsNumber,delete An.value.ApplicationsDeleted,delete An.value.ApplicationsId,delete An.value.CreateDateTime,delete An.value.ApplicationsStatus,delete An.value.ApplicationsComment,delete An.value.Period,await window.axios({url:window.localhost+`ApplicationCompany/PatientNeeds?Id=${An.value.Id??""}`,method:"post",data:An.value}).then(async Br=>{An.value.Id&&await xn().then(ar=>{}),An.value.Id||(An.value.Id=Br.data.Id),notifySuccess("Сохранено"),yt("onSave"),Hn.value=!1}).catch(Br=>{Br.response.data&¬ifyError$1(Br.response.data),Hn.value=!1}).finally(()=>Wr()))}}async function Ln(){br(),await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${An.value.Id}`).then(async()=>{await hr(),notifySuccess("Удалено"),yt("onDelete"),Rt.value=!1}).catch(Br=>{Br?.response?.data?.Status?notifyError$1(Br.response.data.Status):notifyError$1("Произошла ошибка при удалении")}).finally(()=>Wr())}async function xn(){return await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${An.value.Id}`).catch(Br=>(Br.response.data.Status&¬ifyError$1(Br.response.data.Status),"error"))}async function Vn(){await wr()}async function Bn(){const Br=await window.axios.get(window.localhost+"ApplicationCompany/Documents").then(ar=>ar.data);M.readOnly?wn.value=Br.filter(ar=>ar.Name.includes(`${M.docAppYear}`))[0]:wn.value=Br.filter(ar=>!ar.Deleted&&ar.Name.includes(`${M.docAppYear}`))[0]}async function or(){const Br=await window.axios.get(window.localhost+`ApplicationCompany/TemplatePreparatList?DocumentId=${wn.value.Id}`).then(ar=>ar.data);M.readOnly?rn.value=Br:rn.value=Br.filter(ar=>!ar.Deleted)}async function hr(){M.needId&&(An.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientNeeds?Id=${M.needId}`).then(Br=>Br.data[0]))}vue.watch(()=>An.value.LgotaId,async Br=>{if(Br==null){An.value.Mkb10Id=null,An.value.ProgramId=null,An.value.TemplatePreparatId=null,Ft.value=!1;return}let ar=yr.value.find(io=>io.BenefitCodeShort==yn.value.find(Bo=>Bo.Id==An.value.LgotaId)?.BenefitCodeShort)?.MkbId||An.value.Mkb10Id;["Отклонено МЗ","Заявка закрыта"].includes(An.value.ApplicationsStatus)||yr.value.some(Bo=>Bo.BenefitCodeShort==yn.value.find(Ur=>Ur.Id==An.value.LgotaId)?.BenefitCodeShort)||(yn.value=ir.value,ar=_n.value.find(Bo=>Bo.BenefitCodeShort==yn.value.find(Ur=>Ur.Id==An.value.LgotaId)?.BenefitCodeShort)?.MkbId||An.value.Mkb10Id,At.value?.$el?.style?.setProperty("background-color","#f9c7c8"),Xt.value="Льгота неактивна",Kt.value=!0,notifyError$1("Льгота неактивна!",15e3,"ВНИМАНИЕ!"),notifyWarning("Указанная льгота в потребности в данный момент является неактивной! Необходимо принять меры по актуализации потребности(пересоздать) или льготы(восстановить)!",15e3,"Уведомление системы")),An.value.ProgramId=cn.value.find(io=>io.BenefitProgramId==yn.value.find(Bo=>Bo.Id==An.value.LgotaId)?.ProgramId)?.Id,ar?(An.value.Mkb10Id=ar,Ft.value=!0):M.readOnly||(An.value.Mkb10Id=null,Ft.value=!1)}),vue.watch([()=>An.value.TemplatePreparatId,()=>bn.value],()=>{if(!An.value.ProgramId||!An.value.TemplatePreparatId)return;const Br=rn.value?.find(ka=>ka.Id===An.value.TemplatePreparatId),ar=cn.value?.find(ka=>ka.Id===An.value.ProgramId)?.ProgramName??"Неизвестная программа";let io=bn.value,Bo=io.some(ka=>ka.Id===An.value.TemplatePreparatId),Ur=(Br?`Неверно выбранный препарат ${Br.Mnn} ${Br.FullName}`:"Не найден препарат в справочнике").trimStart().trimEnd();!Bo&&io.length>0&&(notifyError$1(`${Ur} для программы ${ar}`),M.readOnly||notifyWarning("Выберите заново препарат!"),An.value.TemplatePreparatId=null)}),vue.watch(()=>An.value.Id,Br=>{Yt.value=!Br});const rr=vue.computed(()=>An.value.NumberVK&&An.value.DateVK);function tr(Br){return Br.CodeOKPD2=="1.2.643.5.1.13.13.99.2.1212"&&Br.CodeATX=="Лекарственные препараты и специализированные продукты лечебного питания"?Br.TradeName:""}function sn(Br){const ar=[];return Br.Mnn&&ar.push(Br.Mnn),Br.FullName&&ar.push(Br.FullName),Br.MaxPriceWithVat&&ar.push(`(Цена: ${Br.MaxPriceWithVat??"не указана"})`),Br.CountInPackage&&ar.push(`(в уп-ке: ${Br.CountInPackage??"не указано"})`),typeof Br.Sign=="boolean"&&ar.push(`(${Br.Sign?"ЖВ":"Не ЖВ"})`),ar.join(" ")}const gr=vue.ref([]);async function mr(){gr.value=await window.axios.get(window.localhost+`Frmo?LpuId=${vt.value.LpuId}&TypeCode=18`).then(Br=>Br.data)}async function br(){Pt.value=!0,await vue.nextTick()}function Wr(){Pt.value=!1}return I({save:wr,edit:Vn}),(Br,ar)=>(vue.openBlock(),vue.createBlock(vue.unref(Ds),{size:"2xl",title:`${$t.value?.Additional??An.value.Additional?"Дополнительная":"Основная"} заявка${$t.value?.Number?` № ${$t.value.Number}`:""}`,modelValue:Rt.value,"onUpdate:modelValue":ar[19]||(ar[19]=io=>Rt.value=io)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$j,[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$f,[...ar[20]||(ar[20]=[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,Pt.value]]),vue.createElementVNode("fieldset",null,[vue.createElementVNode("form",{ref_key:"formRef",ref:Dt,class:"flex flex-col gap-1"},[vt.value.LpuId=="e41d5246-7a49-4b5a-a306-00ef5125d3d8"?(vue.openBlock(),vue.createBlock(vue.unref(Kc),{key:0,label:"Дополнительная заявочная кампания",modelValue:An.value.Additional,"onUpdate:modelValue":ar[0]||(ar[0]=io=>An.value.Additional=io)},null,8,["modelValue"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$q,{label:"Дата заявки",modelValue:An.value.DateNeed,"onUpdate:modelValue":ar[1]||(ar[1]=io=>An.value.DateNeed=io),disabled:""},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_3$b,[ar[21]||(ar[21]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"ВК",-1)),ar[22]||(ar[22]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_4$a,[vue.createVNode(vue.unref(IA),{label:"Номер ВК",modelValue:An.value.NumberVK,"onUpdate:modelValue":ar[2]||(ar[2]=io=>An.value.NumberVK=io),mask:"00000000000",tokens:"0:\\d:optional",required:!hn.value,disabled:M.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$q,{label:"Дата ВК",modelValue:An.value.DateVK,"onUpdate:modelValue":ar[3]||(ar[3]=io=>An.value.DateVK=io),required:!hn.value,disabled:M.readOnly},null,8,["modelValue","required","disabled"])])]),vue.createElementVNode("div",_hoisted_5$9,[ar[23]||(ar[23]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"НПР",-1)),ar[24]||(ar[24]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_6$9,[vue.createVNode(vue.unref(IA),{label:"Номер НПР",modelValue:An.value.NprNumber,"onUpdate:modelValue":ar[4]||(ar[4]=io=>An.value.NprNumber=io),mask:"00000000000",tokens:"0:\\d:optional",required:!!An.value.NprDate,disabled:M.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$q,{label:"Дата НПР",modelValue:An.value.NprDate,"onUpdate:modelValue":ar[5]||(ar[5]=io=>An.value.NprDate=io),required:!!An.value.NprNumber,disabled:M.readOnly},null,8,["modelValue","required","disabled"])])]),vue.unref(lpusWithDivision).includes(vt.value.LpuId)?(vue.openBlock(),vue.createBlock(_sfc_main$F,{key:1,data:gr.value,label:"Отделение",modelValue:An.value.DivisionId,"onUpdate:modelValue":ar[6]||(ar[6]=io=>An.value.DivisionId=io),required:"",clearable:"",disabled:M.readOnly},null,8,["data","modelValue","disabled"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_7$8,[vue.createVNode(_sfc_main$F,{ref_key:"fieldLgota",ref:At,label:Xt.value,modelValue:An.value.LgotaId,"onUpdate:modelValue":ar[7]||(ar[7]=io=>An.value.LgotaId=io),data:yn.value,"display-expr":io=>"("+io.BenefitCodeShort+") "+io.BenefitNameLong,required:"",clearable:"",disabled:!Yt.value},null,8,["label","modelValue","data","display-expr","disabled"]),vue.createVNode(_sfc_main$F,{required:"",label:"Программа",modelValue:An.value.ProgramId,"onUpdate:modelValue":ar[8]||(ar[8]=io=>An.value.ProgramId=io),data:cn.value,disabled:""},null,8,["modelValue","data"])]),vue.createVNode(_sfc_main$x,{required:"",label:"Препарат",modelValue:An.value.TemplatePreparatId,"onUpdate:modelValue":ar[9]||(ar[9]=io=>An.value.TemplatePreparatId=io),data:bn.value,"display-expr":sn,"display-expr-low":tr,searchByLowField:"",disabled:!An.value.ProgramId||M.readOnly,clearable:""},null,8,["modelValue","data","disabled"]),rr.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$8,[ar[25]||(ar[25]=vue.createElementVNode("p",{class:"text-sm font-medium"},"Торговое наименование",-1)),vue.createElementVNode("p",_hoisted_9$6,vue.toDisplayString(rn.value.find(io=>io.Id==An.value.TemplatePreparatId)?.TradeName),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_10$6,[vue.createVNode(vue.unref(Kc),{label:"Взаимозаменяемость",modelValue:An.value.Interchangeability,"onUpdate:modelValue":ar[10]||(ar[10]=io=>An.value.Interchangeability=io),disabled:M.readOnly},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(Kc),{label:"Дополнительная",modelValue:An.value.Additional,"onUpdate:modelValue":ar[11]||(ar[11]=io=>An.value.Additional=io),disabled:""},null,8,["modelValue"])]),vue.createVNode(_sfc_main$r,{label:"Диагноз",modelValue:An.value.Mkb10Id,"onUpdate:modelValue":ar[12]||(ar[12]=io=>An.value.Mkb10Id=io),required:"",clearable:"",disabled:Ft.value||M.readOnly},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(y$),{label:"Примечание",modelValue:An.value.Comment,"onUpdate:modelValue":ar[13]||(ar[13]=io=>An.value.Comment=io),readonly:M.readOnly},null,8,["modelValue","readonly"]),vue.createElementVNode("div",_hoisted_11$5,[vue.createVNode(vue.unref(IA),{label:"Кол-во упаковок на 1 месяц",mask:"0.99",tokens:"0:\\d:multiple|9:\\d:optional",modelValue:An.value.CountMonth,"onUpdate:modelValue":ar[14]||(ar[14]=io=>An.value.CountMonth=io),disabled:M.readOnly},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(g$),{label:"Кол-во упаковок на 1 год",min:1,modelValue:An.value.CountYear,"onUpdate:modelValue":ar[15]||(ar[15]=io=>An.value.CountYear=io),disabled:M.readOnly},null,8,["modelValue","disabled"])])],512)])])]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_12$4,[zt.value&&!Gt.value?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:0,delete:"",onClick:ar[16]||(ar[16]=io=>Ln(zt.value)),disabled:!dn.value||e.readOnly,loading:Pt.value},{default:vue.withCtx(()=>[...ar[26]||(ar[26]=[vue.createTextVNode("Удалить",-1)])]),_:1},8,["disabled","loading"])):vue.createCommentVNode("",!0),Gt.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:1,primary:"",onClick:ar[17]||(ar[17]=io=>zt.value?Vn():wr()),loading:Pt.value,disabled:e.readOnly},{default:vue.withCtx(()=>[...ar[27]||(ar[27]=[vue.createTextVNode("Сохранить",-1)])]),_:1},8,["loading","disabled"])),vue.createVNode(vue.unref(P2),{onClick:ar[18]||(ar[18]=io=>Rt.value=!1)},{default:vue.withCtx(()=>[...ar[28]||(ar[28]=[vue.createTextVNode("Закрыть",-1)])]),_:1})])]),_:1},8,["title","modelValue"]))}},_hoisted_1$i=["id"],_hoisted_2$e={key:0,class:"flex justify-end mb-1 flex-none"},_hoisted_3$a={class:"min-h-0 overflow-hidden"},_hoisted_4$9={class:"re-table"},_hoisted_5$8={key:0,class:"text-right"},_hoisted_6$8={class:"flex flex-col"},_hoisted_7$7=["onClick"],_hoisted_8$7={class:"flex flex-col gap-0.5 w-[600px]"},_hoisted_9$5={class:"text-sm text-slate-500 text-center"},_hoisted_10$5={open:"",class:"px-1"},_hoisted_11$4={class:"px-1"},_hoisted_12$3={class:"rs-table-btn"},_hoisted_13$3={class:"flex justify-between items-center text-sm text-slate-500 gap-1"},_hoisted_14$2={class:"flex flex-col gap-1"},_hoisted_15$2=["onClick"],_hoisted_16$2={class:"px-1"},_hoisted_17$2=["onClick"],_hoisted_18$2=["onDblclick"],_hoisted_19$2={key:1},_hoisted_20$2=["onContextmenu","onClick"],_hoisted_21$2={key:0,class:"text-right"},_hoisted_22$1=["onClick","title"],_hoisted_23$1={key:0},_hoisted_24$1={key:1},_hoisted_25$1={key:2},_hoisted_26$1=["title"],_hoisted_27$1=["title"],_hoisted_28$1={key:1},_hoisted_29$1=["onClick"],_hoisted_30$1={key:0},_hoisted_31$1={key:0,class:"bg-slate-100 hover:bg-slate-100 cursor-arrow"},_hoisted_32$1={key:0},_hoisted_33$1={key:1},_hoisted_34$1={key:1},_hoisted_35={key:0},_hoisted_36={class:"mb-3"},_hoisted_37={class:"border rounded p-3 bg-gray-50"},_hoisted_38=["onDragstart","onDrop"],_hoisted_39={class:"flex items-center gap-2"},_hoisted_40={class:"text-sm font-medium"},_hoisted_41={class:"flex items-center gap-1"},_hoisted_42=["onClick"],_hoisted_43=["onClick"],_hoisted_44={class:"flex justify-end gap-2"},_hoisted_45={class:"flex-none pagination-wrapper"},_hoisted_46={class:"flex items-center gap-4"},_hoisted_47={key:0,class:"pagination"},_hoisted_48=["onClick"],_hoisted_49={key:1,class:"flex items-center gap-2"},_hoisted_50={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$o={__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"),yt=vue.useModel(e,"sortColumnIndex"),At=vue.ref(""),Dt=vue.ref({}),Ft=vue.ref({}),Pt=vue.ref({}),Rt=vue.ref(!1),$t=vue.ref([]),Gt=vue.ref(null),zt=vue.ref(M.pageSize);vue.watch(()=>M.pageSize,()=>{zt.value=M.pageSize},{immediate:!0});function Ht(){try{const Ir=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),Da=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Ir[M.tableId]&&(_n.value=Ir[M.tableId]),Fr[M.tableId]&&(rn.value=Fr[M.tableId],Kt()),Da[M.tableId]&&yd(Da[M.tableId])}catch(Ir){console.error("Ошибка при загрузке состояния таблицы:",Ir)}}function Yt(){try{const Ir=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),Da=JSON.parse(localStorage.getItem(STORAGE_KEY_PAGE_SIZE)||"{}"),fs=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Object.keys(_n.value).length?Ir[M.tableId]=_n.value:delete Ir[M.tableId],Object.keys(rn.value).length?Fr[M.tableId]=rn.value:delete Fr[M.tableId],Da[M.tableId]=zt.value,$t.value.length>0?fs[M.tableId]=$t.value.map(eu=>eu.originalIndex):delete fs[M.tableId],localStorage.setItem(STORAGE_KEY_ALL_HIDDEN,JSON.stringify(Ir)),localStorage.setItem(STORAGE_KEY_ALL_WIDTHS,JSON.stringify(Fr)),localStorage.setItem(STORAGE_KEY_PAGE_SIZE,JSON.stringify(Da)),localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(fs))}catch(Ir){console.error("Ошибка при сохранении состояния таблицы:",Ir)}}async function Kt(){if(await vue.nextTick(),!M.tableId){console.log("Не указан идентификатор таблицы",M.columns),notifyError$1("Не указан идентификатор таблицы");return}const Ir=document.getElementById(`table-${M.tableId}`);if(!Ir)return;const Fr=Ir.querySelector(".re-table");if(!Fr)return;const Da=Fr.querySelectorAll("thead th");Object.entries(rn.value).forEach(([fs,eu])=>{const ha=Da[parseInt(fs)];ha&&eu&&(ha.style.width=`${eu}px`,ha.style.minWidth=`${eu}px`)})}vue.onMounted(()=>{ka(),Ht(),document.addEventListener("click",Wr),document.addEventListener("keydown",Br)});const Xt=vue.useModel(e,"page"),dn=vue.ref(!1),cn=vue.ref({x:"0px",y:"0px"}),yn=vue.ref(null),rn=vue.ref({});let wn=!1,fn=null,hn=0,bn=0;const _n=vue.ref({}),yr=vue.ref(!1);let cr=vue.ref(null);function ir(Ir){wn=!0,fn=Ir.target.parentElement,hn=Ir.pageX,bn=fn.offsetWidth,document.addEventListener("mousemove",Qt),document.addEventListener("mouseup",An),Ir.preventDefault()}function Qt(Ir){if(!wn)return;const Fr=bn+(Ir.pageX-hn);if(Fr>=50){fn.style.width=`${Fr}px`,fn.style.minWidth=`${Fr}px`;const Da=document.getElementById(`table-${M.tableId}`);if(!Da)return;const fs=Da.querySelector(".re-table");if(!fs)return;const eu=fs.querySelectorAll("thead th"),ha=Array.from(eu).indexOf(fn);ha!==-1&&(rn.value[ha]=Fr,Yt())}}function An(){wn=!1,document.removeEventListener("mousemove",Qt),document.removeEventListener("mouseup",An)}function Hn(Ir){const Fr=document.getElementById(`table-${M.tableId}`);if(!Fr)return;const Da=Fr.querySelector(".re-table");if(!Da)return;const eu=Da.querySelectorAll("thead th")[Ir];eu&&(eu.style.width="",eu.style.minWidth="120px",delete rn.value[Ir],Yt())}vue.onUnmounted(()=>{document.removeEventListener("mousemove",Qt),document.removeEventListener("mouseup",An),document.removeEventListener("click",Wr),Yt()});const wr=vue.computed(()=>{let Ir=[...M.data];for(const Fr in V.value)V.value[Fr]&&(typeof Ln.value[Fr]?.Field=="function"?Ir=Ir.filter(Da=>String(Ln.value[Fr].Field(Da))?.toLowerCase().indexOf(V.value[Fr]?.toLowerCase())>-1):Ir=Ir.filter(Da=>String(Da[Ln.value[Fr].Field])?.toLowerCase().indexOf(V.value[Fr]?.toLowerCase())>-1));for(const Fr in Dt.value)Dt.value[Fr]&&(Ir=Ir.filter(Da=>typeof Ln.value[Fr]?.Field=="function"?Dt.value[Fr].includes(Ln.value[Fr].Field(Da)):Dt.value[Fr].includes(Da[Ln.value[Fr].Field])));for(const Fr in Pt.value)Pt.value[Fr]&&(Ir=Ir.filter(Da=>{let fs;return typeof Ln.value[Fr]?.Field=="function"?fs=Ln.value[Fr].Field(Da):fs=Da[Ln.value[Fr].Field],fs==null||fs===""||typeof fs=="string"&&fs.trim()===""}));return yt.value>=0&&vt.value&&(Ir=Ir.sort((Fr,Da)=>typeof Ln.value[yt.value].Field=="function"?typeof Ln.value[yt.value].SortMethod=="function"?Ln.value[yt.value].SortMethod(Fr,Da):String(Ln.value[yt.value].Field(Fr))>String(Ln.value[yt.value].Field(Da))?1:-1:typeof Ln.value[yt.value].SortMethod=="function"?Ln.value[yt.value].SortMethod(Fr,Da):String(Fr[Ln.value[yt.value].Field])>String(Da[Ln.value[yt.value].Field])?1:-1),vt.value==="desc"&&(Ir=Ir.reverse())),Ir}),Ln=vue.computed(()=>{let Ir=M.columns.filter(Fr=>!_n.value[Fr.Index]);return $t.value.length>0&&(Ir=$t.value.map(Fr=>Ir.find((Da,fs)=>fs===Fr.originalIndex))),Ir}),xn=vue.computed(()=>M.contextActions.filter(Ir=>typeof Ir.IsVisible=="function"?Ir.IsVisible(yn.value):!0)),Vn=vue.computed(()=>{if(M.customPagination)return M.data;const Ir=(Xt.value-1)*parseInt(zt.value);return wr.value.slice(Ir,Ir+parseInt(zt.value))}),Bn=vue.computed(()=>M.customPagination?Math.ceil(M.recordTotal/parseInt(zt.value)):Math.ceil(wr.value.length/parseInt(zt.value))),or=vue.computed(()=>Bn.value>5?Xt.value<=3?[1,2,3,4,5,"...",Bn.value]:Xt.value>=Bn.value-2?[1,"...",Bn.value-4,Bn.value-3,Bn.value-2,Bn.value-1,Bn.value]:[1,"...",Xt.value-2,Xt.value-1,Xt.value,Xt.value+1,Xt.value+2,"...",Bn.value]:Array.from({length:Bn.value},(Ir,Fr)=>Fr+1)),hr=vue.computed(()=>M.customPagination?M.recordTotal:wr.value.length);vue.watch(()=>M.data,()=>{M.customPagination||(Xt.value=1,ka())}),vue.watch(()=>Ln.value,(Ir,Fr)=>{(!Fr||Ir.length!==Fr.length||!Ir.every((Da,fs)=>Da.Title===Fr[fs].Title))&&(V.value={},_n.value={},rn.value={},Yt(),ka(),ar(null,null),Dt.value={},Pt.value={})},{deep:!0}),vue.watch(()=>wr.value.length,()=>{M.customPagination||(Xt.value=1)}),vue.watch(zt,()=>{Xt.value=1,Yt()});function rr(){if(wr.value.length===0){notifyError$1("Нет данных для экспорта");return}let Ir=[{sheet:"Лист 1",columns:M.columns.map(Da=>({label:Da.Title,value:fs=>{let eu="";return typeof Da.Field=="function"?eu=Da.Field(fs):eu=fs[Da.Field],Da.LowField&&(typeof Da.LowField=="function"?eu+=` (${Da.LowField(fs)})`:fs[Da.LowField]&&(eu+=` (${fs[Da.LowField]})`)),eu}})),content:wr.value}],Fr={fileName:"Выгрузка данных от "+hooks().format("L HH:mm:ss"),extraLength:3,writeMode:"writeFile"};xlsx(Ir,Fr)}function tr(Ir,Fr){cn.value={x:Ir.pageX+"px",y:Ir.pageY+"px"},yn.value=Fr,dn.value=!0}function sn(){yn.value=null,dn.value=!1}function gr(Ir,Fr){if(yr.value){br();return}cn.value={x:Ir.pageX,y:Ir.pageY},cr.value=Fr,yr.value=!0,dn.value=!1}function mr(Ir){if(!_n.value[Ir]&&Ln.value.length-Object.values(_n.value).filter(Boolean).length<=1){notifyError$1("Должен быть виден хотя бы один столбец");return}_n.value[Ir]=!_n.value[Ir],Yt()}function br(){yr.value=!1,cr.value=null}function Wr(Ir){const Fr=document.getElementById("headerContextMenuId");Fr&&!Fr.contains(Ir.target)&&!Ir.target.closest(".header-filter-activator")&&br()}function Br(Ir){Ir.key==="Escape"&&yr.value&&br()}function ar(Ir,Fr){yt.value===Ir&&vt.value===Fr?(yt.value=null,vt.value=null):(yt.value=Ir,vt.value=Fr)}function io(Ir){return yt.value===Ir||V.value[Ir]||Dt.value[Ir]?.length>0||Pt.value[Ir]}function Bo(){_n.value={},Yt()}function Ur(Ir){let Fr=Dt.value[cr.value]||[];Fr.includes(Ir)?Fr=Fr.filter(Da=>Da!==Ir):Fr.push(Ir),Dt.value[cr.value]=Fr,Fr.length===0&&delete Dt.value[cr.value]}function ka(){Ft.value={},Ln.value.forEach((Ir,Fr)=>{Ft.value[Fr]=[],M.data.forEach(Da=>{let fs=Ft.value[Fr]||[];typeof Ir.Field=="function"?fs.push(Ir.Field(Da)):fs.push(Da[Ir.Field]),Ft.value[Fr]=fs}),Ft.value[Fr]=[...new Set(Ft.value[Fr])],Ft.value[Fr].sort()})}function pu(Ir){if(!Ft.value[Ir])return[];let Fr=[...Ft.value[Ir]];return Fr=Fr.filter(Da=>Da&&String(Da).toLowerCase().includes(At.value)),Fr}function Ba(Ir){Dt.value[Ir]=Ft.value[Ir]}function sf(Ir){Pt.value[Ir]=!Pt.value[Ir],Pt.value[Ir]||delete Pt.value[Ir]}function Cf(Ir){let Fr=!1;dn.value&&(sn(),Fr=!0),yr.value&&(br(),Fr=!0),!Fr&&J("rowClicked",Ir)}function hl(){($t.value.length>0?$t.value:null)||($t.value=Ln.value.map((Fr,Da)=>({originalIndex:Da,displayIndex:Da,title:Fr.Title}))),Rt.value=!0,br()}function Bf(){Rt.value=!1}function Ka(Ir,Fr){Gt.value=Fr,Ir.dataTransfer.effectAllowed="move"}function Tu(Ir,Fr){if(Gt.value===null||Gt.value===Fr)return;const Da=$t.value[Gt.value],fs=[...$t.value];fs.splice(Gt.value,1),fs.splice(Fr,0,Da),fs.forEach((eu,ha)=>{eu.displayIndex=ha}),$t.value=fs,Gt.value=null}function Uo(Ir,Fr){if(Fr==="up"&&Ir>0){const Da=$t.value[Ir];$t.value[Ir]=$t.value[Ir-1],$t.value[Ir-1]=Da,$t.value[Ir].displayIndex=Ir,$t.value[Ir-1].displayIndex=Ir-1}else if(Fr==="down"&&Ir<$t.value.length-1){const Da=$t.value[Ir];$t.value[Ir]=$t.value[Ir+1],$t.value[Ir+1]=Da,$t.value[Ir].displayIndex=Ir,$t.value[Ir+1].displayIndex=Ir+1}}function qo(){$t.value=M.columns.map((Ir,Fr)=>({originalIndex:Fr,displayIndex:Fr,title:Ir.Title}))}function af(){const Ir=$t.value.map(Fr=>Fr.originalIndex);try{const Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Fr[M.tableId]=Ir,localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(Fr))}catch(Fr){console.error("Ошибка при сохранении порядка столбцов:",Fr)}Bf()}function yd(Ir){if(!Ir||!Array.isArray(Ir))return;const Fr=Ir.filter(Da=>Da>=0&&Da<M.columns.length);Fr.length===M.columns.length&&($t.value=Fr.map((Da,fs)=>({originalIndex:Da,displayIndex:fs,title:M.columns[Da].Title})))}return I({exportToXlsx:rr,filteredData:wr,showOnlyEmpty:Pt,filterByValue:Dt,filterOption:V,saveTableState:Yt}),(Ir,Fr)=>{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$e,[vue.createVNode(vue.unref(P2),{onClick:rr,prependIcon:"file-arrow-down"},{default:vue.withCtx(()=>[...Fr[11]||(Fr[11]=[vue.createTextVNode("Экспорт в Excel",-1)])]),_:1})])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(Da,{class:vue.normalizeClass(["h-full pb-4",M.tableClass]),options:{wheelPropagation:M.wheelPropagation}},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_4$9,[vue.createElementVNode("thead",{class:vue.normalizeClass({sticky:M.stickyHeader})},[vue.createElementVNode("tr",null,[M.numbering?(vue.openBlock(),vue.createElementBlock("th",_hoisted_5$8,"№")):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(fs,eu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("th",{class:"min-w-[120px] relative",key:fs.Title},[vue.createVNode(vue.unref(kt),{shown:yr.value&&vue.unref(cr)!==null&&eu===vue.unref(cr),triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$7,[vue.createElementVNode("p",_hoisted_9$5,vue.toDisplayString(Ln.value[vue.unref(cr)]?.Title),1),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":yt.value===vue.unref(cr)&&vt.value==="asc"}]),onClick:Fr[0]||(Fr[0]=ha=>ar(vue.unref(cr),"asc"))}," Сортировать А > Я ",2),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":yt.value===vue.unref(cr)&&vt.value==="desc"}]),onClick:Fr[1]||(Fr[1]=ha=>ar(vue.unref(cr),"desc"))}," Сортировать Я > А ",2),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("details",_hoisted_10$5,[Fr[12]||(Fr[12]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Поиск по значению",-1)),vue.createVNode(vue.unref(IA),{type:"text",placeholder:"Введите значение",modelValue:V.value[vue.unref(cr)],"onUpdate:modelValue":Fr[2]||(Fr[2]=ha=>V.value[vue.unref(cr)]=ha),modelModifiers:{lazy:!0}},null,8,["modelValue"])]),vue.createElementVNode("details",_hoisted_11$4,[vue.createElementVNode("summary",_hoisted_12$3,[Fr[13]||(Fr[13]=vue.createTextVNode(" Фильтр по значению ",-1)),Dt.value[vue.unref(cr)]?.length>0?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"circle-exclamation"})):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(IA),{placeholder:"Введите значение",modelValue:At.value,"onUpdate:modelValue":Fr[3]||(Fr[3]=ha=>At.value=ha)},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_13$3,[vue.createElementVNode("p",null," Показано "+vue.toDisplayString(Dt.value[vue.unref(cr)]?.length?Dt.value[vue.unref(cr)].length:Ft.value[vue.unref(cr)]?.length)+" из "+vue.toDisplayString(Ft.value[vue.unref(cr)]?.length),1),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Fr[4]||(Fr[4]=ha=>Ba(vue.unref(cr)))},"Все"),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Fr[5]||(Fr[5]=ha=>delete Dt.value[vue.unref(cr)])}," Сбросить ")]),vue.createVNode(Da,{class:"max-h-[300px] max-w-[600px]"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_14$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(pu(vue.unref(cr)),ha=>(vue.openBlock(),vue.createElementBlock("div",{key:ha,class:"flex gap-1 select-none cursor-pointer hover:bg-slate-100 rounded",onClick:Xo=>Ur(ha)},[vue.createVNode(vue.unref(Kc),{checked:Dt.value[vue.unref(cr)]?.includes(ha)},null,8,["checked"]),vue.createElementVNode("p",null,vue.toDisplayString(ha||"(пусто)"),1)],8,_hoisted_15$2))),128))])]),_:1})]),vue.createElementVNode("details",_hoisted_16$2,[Fr[14]||(Fr[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:Bo}," Показать все "),vue.createVNode(Da,{class:"max-h-[300px] overflow-y-auto"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(ha,Xo)=>(vue.openBlock(),vue.createElementBlock("div",{key:ha.Title,class:"flex items-center gap-1 px-2 py-1 hover:bg-slate-100 cursor-pointer",onClick:Ea=>mr(Xo)},[vue.createVNode(vue.unref(Z1),{class:"text-slate-500",name:_n.value[Xo]?"square":"check-square"},null,8,["name"]),vue.createElementVNode("span",null,vue.toDisplayString(ha.Title),1)],8,_hoisted_17$2))),128))]),_:2},1024)]),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":Pt.value[vue.unref(cr)]}]),onClick:Fr[6]||(Fr[6]=ha=>sf(vue.unref(cr)))}," Показать только пустые ",2),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:"rs-table-btn",onClick:hl},"Изменить порядок столбцов")])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_6$8,[vue.createElementVNode("div",{onClick:ha=>fs.filterable!=!1?gr(ha,eu):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(fs.Title),3),fs.filterable!=!1?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"filter",class:vue.normalizeClass([{activeFilter:io(eu)},"text-slate-500"])},null,8,["class"])):vue.createCommentVNode("",!0)],8,_hoisted_7$7)])]),_:2},1032,["shown"]),vue.createElementVNode("div",{class:"column-resizer",onMousedown:Fr[7]||(Fr[7]=ha=>ir(ha)),onDblclick:ha=>Hn(eu)},null,40,_hoisted_18$2)])),[[vue.vShow,!_n.value[eu]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("th",_hoisted_19$2,[...Fr[15]||(Fr[15]=[vue.createElementVNode("p",null,"Действия",-1)])])):vue.createCommentVNode("",!0)])],2),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Vn.value,(fs,eu)=>(vue.openBlock(),vue.createElementBlock("tr",{class:vue.normalizeClass({"even:bg-slate-50":M.striped}),onContextmenu:vue.withModifiers(ha=>tr(ha,fs),["right","prevent"]),onClick:ha=>Cf(fs),key:fs,style:vue.normalizeStyle({backgroundColor:dn.value&&yn.value===fs?"rgba(0, 0, 0, 0.05)":"",backgroundColor:e.rowColor(fs)})},[M.numbering?(vue.openBlock(),vue.createElementBlock("td",_hoisted_21$2,vue.toDisplayString(Xt.value*parseInt(zt.value)-parseInt(zt.value)+1+eu),1)):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(ha,Xo)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:ha.Title,class:vue.normalizeClass(["hover:bg-slate-200",typeof ha.Class=="function"?ha.Class(fs):ha.Class]),onClick:Ea=>J("cellClicked",{record:fs,column:ha,index:Xo}),title:typeof ha.titleOnHover=="function"?ha.titleOnHover(fs):ha.titleOnHover},[ha.Template?(vue.openBlock(),vue.createElementBlock("div",_hoisted_23$1,[vue.renderSlot(Ir.$slots,`cell(${ha.Template})`,{record:fs},void 0,!0)])):ha.List?(vue.openBlock(),vue.createElementBlock("div",_hoisted_24$1,vue.toDisplayString(ha.List.find(Ea=>Ea.Id===fs[ha.Field])?.Name||""),1)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_25$1,[vue.createElementVNode("p",{class:vue.normalizeClass(["primary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof ha.Field=="function"?ha.Field(fs):fs[ha.Field]},vue.toDisplayString(typeof ha.Field=="function"?ha.Field(fs):fs[ha.Field]),11,_hoisted_26$1),vue.createElementVNode("p",{class:vue.normalizeClass(["secondary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof ha.LowField=="function"?ha.LowField(fs):fs[ha.LowField]},vue.toDisplayString(typeof ha.LowField=="function"?ha.LowField(fs):fs[ha.LowField]),11,_hoisted_27$1)]))],10,_hoisted_22$1)),[[vue.vShow,!_n.value[Xo]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("td",_hoisted_28$1,[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,ha=>(vue.openBlock(),vue.createElementBlock("span",{class:"rowAction whitespace-nowrap",onClick:vue.withModifiers(Xo=>ha.Action(fs),["stop"]),key:ha},[typeof ha.IsVisible!="function"||ha.IsVisible(fs)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_30$1,[ha.Icon?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:ha.Icon},null,8,["name"])):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(ha.Name),1)])):vue.createCommentVNode("",!0)],8,_hoisted_29$1))),128))],2)])):vue.createCommentVNode("",!0)],46,_hoisted_20$2))),128)),M.footer?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_31$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(fs,eu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:fs.Title},[typeof fs.Footer=="function"?(vue.openBlock(),vue.createElementBlock("p",_hoisted_32$1,vue.toDisplayString(fs.Footer(Ir.row)),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_33$1,vue.toDisplayString(fs.Footer),1))])),[[vue.vShow,!_n.value[eu]]])),128))])):vue.createCommentVNode("",!0),hr.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",_hoisted_34$1,[...Fr[16]||(Fr[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"])]),dn.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(dz1),{spacing:"xs"},{default:vue.withCtx(()=>[xn.value.length?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("p",_hoisted_35,"Нет доступных действий контекстного меню")),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xn.value,fs=>(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:fs,prependIcon:fs.Icon,onClick:eu=>(fs.Action(yn.value),sn())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(fs.Name),1)]),_:2},1032,["prependIcon","onClick"]))),128))]),_:1})],4)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Ds),{title:"Изменение порядка столбцов",modelValue:Rt.value,"onUpdate:modelValue":Fr[9]||(Fr[9]=fs=>Rt.value=fs),closeOnClickOutside:!0,class:"p-2"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_44,[vue.createVNode(vue.unref(P2),{onClick:qo,variant:"outline",size:"sm"},{default:vue.withCtx(()=>[...Fr[18]||(Fr[18]=[vue.createTextVNode("Сбросить",-1)])]),_:1}),vue.createVNode(vue.unref(P2),{onClick:af,size:"sm"},{default:vue.withCtx(()=>[...Fr[19]||(Fr[19]=[vue.createTextVNode("Сохранить",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_36,[Fr[17]||(Fr[17]=vue.createElementVNode("p",{class:"text-sm text-gray-600 mb-2"},"Перетащите столбцы для изменения их порядка:",-1)),vue.createElementVNode("div",_hoisted_37,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($t.value,(fs,eu)=>(vue.openBlock(),vue.createElementBlock("div",{key:fs.originalIndex,class:"flex items-center justify-between p-2 mb-1 bg-white rounded border cursor-move hover:bg-gray-50",draggable:"true",onDragstart:ha=>Ka(ha,eu),onDragover:Fr[8]||(Fr[8]=vue.withModifiers(()=>{},["prevent"])),onDrop:ha=>Tu(ha,eu)},[vue.createElementVNode("div",_hoisted_39,[vue.createVNode(vue.unref(Z1),{name:"grip-vertical",class:"text-gray-400 text-sm"}),vue.createElementVNode("span",_hoisted_40,vue.toDisplayString(fs.title),1)]),vue.createElementVNode("div",_hoisted_41,[eu>0?(vue.openBlock(),vue.createElementBlock("button",{key:0,onClick:ha=>Uo(eu,"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)):vue.createCommentVNode("",!0),eu<$t.value.length-1?(vue.openBlock(),vue.createElementBlock("button",{key:1,onClick:ha=>Uo(eu,"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)):vue.createCommentVNode("",!0)])],40,_hoisted_38))),128))])])]),_:1},8,["modelValue"])],12,_hoisted_1$i),vue.createElementVNode("div",_hoisted_45,[vue.createElementVNode("div",_hoisted_46,[Bn.value>1?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_47,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(or.value,fs=>(vue.openBlock(),vue.createElementBlock("li",{key:fs,class:vue.normalizeClass({active:fs===Xt.value}),onClick:eu=>fs!=="..."?Xt.value=fs:null},[vue.createElementVNode("a",null,vue.toDisplayString(fs),1)],10,_hoisted_48))),128))])):vue.createCommentVNode("",!0),M.enablePageSizeSelector?(vue.openBlock(),vue.createElementBlock("div",_hoisted_49,[Fr[21]||(Fr[21]=vue.createElementVNode("span",{class:"text-sm text-slate-500"},"Показать:",-1)),vue.withDirectives(vue.createElementVNode("select",{"onUpdate:modelValue":Fr[10]||(Fr[10]=fs=>zt.value=fs),class:"text-sm border rounded px-1 py-0.5 w-[60px] border-slate-300"},[...Fr[20]||(Fr[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,zt.value]])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_50," Записи "+vue.toDisplayString(Xt.value*parseInt(zt.value)-parseInt(zt.value)+1)+"-"+vue.toDisplayString(Math.min(Xt.value*parseInt(zt.value),hr.value))+" из "+vue.toDisplayString(hr.value),1)])],64)}}},ReSimpleTableAppCompany=_export_sfc(_sfc_main$o,[["__scopeId","data-v-e04facb3"]]),_hoisted_1$h={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_2$d={class:"border rounded p-2 bg-slate-100"},_hoisted_3$9={class:"h-full flex flex-col p-3 gap-3"},_sfc_main$n={__name:"PatientInfoPageAppCompany",props:{patientId:{type:String,default:"",required:!0},patientSnils:{type:String,default:"",required:!0},nameApp:{type:String,default:""}},setup(e){const I=vue.computed(()=>useUserStore().user),N=e,J=vue.ref(!1),V=vue.ref(!1),M=vue.ref(!1),vt=vue.ref(null),yt=vue.ref(null),At=vue.ref(null),Dt=vue.ref(!1),Ft=[{Name:"Просмотр",Icon:"eye",Action:rn=>Xt(rn.NeedsId,rn.ApplicationId,rn.MessageWarning,rn.Period,rn.AdditionalApp)}],Pt=vue.computed(()=>{const rn=hooks().year(),wn=2025,fn=rn+1,hn=[];for(let bn=wn;bn<=fn;bn++)hn.push({Id:bn.toString(),Name:bn.toString()});return hn}),Rt=vue.computed(()=>{const rn=[];for(let wn=0;wn<=listStatuses.length;wn++)rn.push({Id:listStatuses[wn],Name:listStatuses[wn]});return rn});vue.onMounted(()=>{zt(null)});const $t=vue.ref(null),Gt=vue.ref([]);async function zt(rn){M.value=!1,Ht.value=!1,At.value=null,Dt.value=!1,yt.value=null,vt.value=null,V.value=!1;try{N.patientId&&(J.value=!0,Gt.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientApplications?PatientId=${N.patientId}&Sort=CreateDateApp&Desc=true`,{params:rn||{}}).then(wn=>wn.data.map(fn=>({...fn,SumPrepapp:fn.SumPrepapp.replace(".",","),SumPrepappfinal:fn.SumPrepappfinal.replace(".",",")}))))}catch(wn){const fn=wn.response?.data?.message||wn.message||"Неизвестная ошибка";notifyError$1(`${fn}. Пожалуйста, выполните поиск повторно`,15e3,"Ошибка загрузки данных")}finally{J.value=!1}}const Ht=vue.ref(!1);async function Yt(rn){let wn=await window.axios.get(window.localhost+`ApplicationCompany/Application?ApplicationId=${rn}`).then(fn=>fn.data).catch(fn=>{});return vt.value=wn,wn?(wn.DateClose&&hooks(wn.DateClose).format("YYYY-MM-DD")<hooks().format("YYYY-MM-DD")||wn.Status!="В работе"&&wn.Status!="Заполнение льгот"&&wn.Status!="Проверка"&&wn.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 Kt(rn){return rn.MessageWarning?"#fff6f6":""}async function Xt(rn,wn,fn,hn,bn){if(!rn){notifyWarning(fn,15e3,"Уведомление системы"),console.log(fn);return}yt.value=rn,At.value=hn,Dt.value=bn;const{status:_n,notify:yr}=await Yt(wn);switch(_n&&!yr?.type&&(Ht.value=!0,V.value=!1),_n&&yr?.type==="warn"&&(Ht.value=!0,V.value=!0),yr.type){case"error":notifyError$1(yr.message,yr.duration,yr.title),console.log(`${yr.message} ${yr.duration} ${yr.title}`);break;case"warn":notifyWarning(yr.message,yr.duration,yr.title),console.log(`${yr.message} ${yr.duration} ${yr.title}`);break}}async function dn(rn){"filters"in rn&&(rn=rn.filters),rn={...rn},$t.value=Object.keys(rn).length>0?rn:null,M.value=!0,console.log($t.value);try{await zt($t.value)}catch(wn){notifyError$1(`Ошибка при загрузке данных:
|
|
1303
|
+
`+ar.message)}finally{Ht.value=!1}}async function ir(Br){const ar=await Gt({Snils:Br.Snils,BenefitCodeShort:Br.BenefitCodeShort},!1);dn.value=ar,Xt.value=Br,Kt.value=!0}function Qt(){dn.value=[],Xt.value=null}const An={ОНЛС:[null],ВЗН:[null],"Орфанные заболевания":[null],П890:["ALL"],ССЗ:["ALL"],"Паллиативная помощь":["ALL"],"Сахарный диабет":["ALL"],"Дети до трёх лет":["ALL"],"Фонд Круг добра":[null],"Незарег. ЛП.":[null],"НМГ(Беременные)":["ALL"],"НМГ(Дети)":["ALL"],"Хронический Гепатит C":[RKIB_ID]};function Hn(Br){const ar=An[Br?.BenefitProgram]?.includes(J.value.LpuId),io=An[Br?.BenefitProgram]?.includes(J.value.UserId),Bo=An[Br?.BenefitProgram]?.includes("ALL")&&fn("registerControl")&&J.value.LpuId!==RKIB_ID,Ur=!Object.keys(An).includes(Br?.BenefitProgram),ka=J.value.LpuId===N.dataPatient?.LpuId&&Br?.BenefitProgram==="Хронический Гепатит C";if(!$t.value)if(ar||io||Bo||Ur||Pt||ka){const{Id:pu,LogDateTime:Ba,PatientBenefitId:sf,...Cf}=Br;Xt.value=Cf,hr()}else notifyWarning("У вас нет прав на редактирование данной льготы",15e3,"Ограничено системой");if(typeof N.customRowClickHandler=="function"){N.customRowClickHandler(Br);return}}function wr(){Kt.value=!1,Hn(dn.value[0])}function Ln(Br){if(Br?.Deleted)return"#f9c7c8";if(Br?.Monetization)return"#f3c77a";let ar=hooks().startOf("day"),io=hooks(Br.DateIn).startOf("day"),Bo=hooks(Br.DateOut??"2999-12-12").startOf("day");return!Br.DateOut||ar.isBetween(io,Bo,null,"[]")?"#cbe4cb":"#dedee1"}BenefitProgram(Br=>vt.value=Br.map(ar=>({...ar,Benefits:JSON.parse(ar.Benefits)}))),BenefitMap(Br=>Dt.value=Br);const xn=["Snils","Fio","AttachedMo"],Vn=vue.computed(()=>{let Br=[{accessor:"Fio",type:"text",name:"Ф.И.О."},{accessor:"ProgramId",type:"select",list:vt.value,name:"Программа"},{accessor:"BenefitCodeShort",type:"select",name:"Код льготы",relation:({values:ar})=>ar?.ProgramId?vt.value.find(io=>ar.ProgramId===io.Id).Benefits:Dt.value,display:ar=>"("+ar.BenefitCodeShort+") "+ar.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&&(Br=Br.filter(ar=>!xn.includes(ar.accessor))),V||(Br=Br.filter(ar=>ar.accessor!=="InMis")),Br});vue.watch(()=>N.dataPatient.PatientSnils,()=>{N.dataPatient.PatientSnils&&cr({})},{immediate:!0});const Bn=vue.computed(()=>[{name:"Ф.И.О.",accessor:"PatientFio"},{name:"Дата рождения",display:ar=>hooks(ar.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:ar=>ar?.DateIn?hooks(ar.DateIn).format("DD.MM.YYYY"):"-"},{name:"Дата конца",display:ar=>ar?.DateOut?hooks(ar.DateOut).format("DD.MM.YYYY"):"-"},{name:"Статус ФРЛЛО",display:ar=>ar?.FrlloStatus?ar.FrlloStatus:"Не выгружен"},{name:"Дата изменения",display:ar=>hooks(ar.LogDateTime).format("DD.MM.YYYY HH:mm:ss")},{name:"Пользователь",display:ar=>(ar.EmployeeLastname||"").trim()+" "+(ar.EmployeeFirstname||"").trim()+" "+(ar.EmployeePatronymic||"").trim()}].filter(ar=>!ar.hidden).map(ar=>({Title:ar.name,Field:typeof ar.display=="function"?ar.display:ar.accessor,Template:ar?.Template}))),or=vue.computed(()=>[{name:"Программа",accessor:"BenefitProgram"},{name:"Диагноз",accessor:"Ds"},{name:"Код льготы",accessor:"BenefitCodeShort"},{name:"Категория льготности",accessor:"BenefitName",Template:"BenefitName"},{name:"Монетизирована",accessor:"MonetizationText"},{name:"Дата начала",display:ar=>ar?.DateIn?hooks(ar.DateIn).format("DD.MM.YYYY"):"-"},{name:"Дата конца",display:ar=>ar?.DateOut?hooks(ar.DateOut).format("DD.MM.YYYY"):"-"},{name:"Статус ФРЛЛО",display:ar=>ar?.FrlloStatus?ar.FrlloStatus:"Не выгружен"},{name:"Дата изменения",display:ar=>hooks(ar.LogDateTime).format("DD.MM.YYYY HH:mm:ss")},{name:"Пользователь",display:ar=>(ar.EmployeeLastname||"").trim()+" "+(ar.EmployeeFirstname||"").trim()+" "+(ar.EmployeePatronymic||"").trim()}].filter(ar=>!ar.hidden).map(ar=>({Title:ar.name,Field:typeof ar.display=="function"?ar.display:ar.accessor,Template:ar?.Template})));function hr(){yt.value=!0}function rr(Br){yt.value=!1,notifyError$1(Br)}async function tr(){yt.value=!1,await new Promise(Br=>setTimeout(Br,1e3)),cr(cn.value),notifySuccess("Льгота сохранена успешно!")}function sn(){yt.value=!1,cr(cn.value),notifySuccess("Льгота аннулирована!")}function gr(){Xt.value=null,hr()}function mr(){At.value=!0}function br(){return Yt.value.filter(Br=>Br._selected_).map(Br=>({Id:Br.PatientBenefitId,Snils:Br.PatientSnils}))}function Wr(){rn.value={}}return I({getSelectedRows:br}),(Br,ar)=>(vue.openBlock(),vue.createElementBlock("div",null,[vue.createElementVNode("div",_hoisted_1$k,[N.viewFilter?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("div",_hoisted_2$g,[vue.createVNode(_sfc_main$z,{"filter-list":Vn.value,onSearch:cr},null,8,["filter-list"])])),vue.createElementVNode("div",_hoisted_3$c,[ar[14]||(ar[14]=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)),fn("getRegister")&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:0,onClick:bn,"prepend-icon":"download"},{default:vue.withCtx(()=>[...ar[11]||(ar[11]=[vue.createTextVNode("Экспорт в .dbf",-1)])]),_:1})):vue.createCommentVNode("",!0),fn("registerControl")&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:1,onClick:gr,"prepend-icon":"plus",primary:""},{default:vue.withCtx(()=>[...ar[12]||(ar[12]=[vue.createTextVNode("Добавить льготу",-1)])]),_:1})):vue.createCommentVNode("",!0),vue.unref(Pt)&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:2,onClick:mr,"prepend-icon":"unlock-keyhole",style:{backgroundColor:"white",color:"rgb(198 28 28 / var(--tw-text-opacity))"}},{default:vue.withCtx(()=>[...ar[13]||(ar[13]=[vue.createTextVNode("Доступ к ССЗ",-1)])]),_:1})):vue.createCommentVNode("",!0)]),vue.createVNode(ReSimpleTable,{"enable-xlsx-export":!0,data:Yt.value,columns:$t.value?Bn.value:or.value,"page-size":20,"enable-page-size-selector":"","table-id":"benefitsList","context-actions":wn,"row-color":Ln,onRowClicked:ar[0]||(ar[0]=io=>N.infoOnly?null:Hn)},{"cell(BenefitName)":vue.withCtx(({record:io})=>[vue.createElementVNode("p",{class:"cell-lite",title:io?.BenefitName},vue.toDisplayString(io?.BenefitName),9,_hoisted_4$b)]),"cell(SmoName)":vue.withCtx(({record:io})=>[vue.createElementVNode("p",{class:"cell-lite",title:io?.SmoName},vue.toDisplayString(io?.SmoName),9,_hoisted_5$a)]),_:1},8,["data","columns"]),Yt.value.length>950?(vue.openBlock(),vue.createElementBlock("div",_hoisted_6$a,[vue.createElementVNode("p",null,"Показаны первые ~"+vue.toDisplayString(Math.ceil(Yt.value.length/1e3)*1e3)+" записей, чтобы найти нужного пациента уточните фильтры",1)])):vue.createCommentVNode("",!0)]),vue.withDirectives(vue.createElementVNode("div",_hoisted_7$9,[...ar[15]||(ar[15]=[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(Ds),{modelValue:Kt.value,"onUpdate:modelValue":ar[1]||(ar[1]=io=>Kt.value=io),title:`История льготы ${Xt.value?.BenefitCodeShort}`,class:"p-4",size:"7xl",onClose:Qt},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$9,[vue.createElementVNode("div",_hoisted_9$7,[fn("registerControl")&&!N.infoOnly?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:0,onClick:wr,"prepend-icon":"pencil"},{default:vue.withCtx(()=>[...ar[16]||(ar[16]=[vue.createTextVNode("Изменить льготу",-1)])]),_:1})):vue.createCommentVNode("",!0)]),vue.createVNode(ReSimpleTable,{data:dn.value,columns:or.value,"page-size":20,"enable-page-size-selector":"","table-id":"benefitsListHistory"},{"cell(BenefitName)":vue.withCtx(({record:io})=>[vue.createElementVNode("p",{class:"cell-lite",title:io?.BenefitName},vue.toDisplayString(io?.BenefitName),9,_hoisted_10$7)]),_:1},8,["data","columns"])])]),_:1},8,["modelValue","title"]),vue.createVNode(vue.unref(Ds),{modelValue:yt.value,"onUpdate:modelValue":ar[2]||(ar[2]=io=>yt.value=io),title:"Льгота",size:"5xl",class:"p-4"},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$v,{snils:Xt.value?.Snils||N.dataPatient.PatientSnils,"user-open":J.value,"patient-open":N.dataPatient,onSave:tr,onDelete:sn,onError:rr,"edit-benefit":Xt.value,disable:N.infoOnly,permisionLgot:PermissionLgot},null,8,["snils","user-open","patient-open","edit-benefit","disable"])]),_:1},8,["modelValue"]),vue.createVNode(vue.unref(Ds),{modelValue:yn.value,"onUpdate:modelValue":ar[9]||(ar[9]=io=>yn.value=io),title:"Экспорт .dbf",size:"5xl",class:"p-4"},{default:vue.withCtx(()=>[vue.createElementVNode("form",{class:"flex flex-col gap-4",onSubmit:vue.withModifiers(_n,["prevent"])},[vue.createVNode(vue.unref(IA),{label:"Имя файла",disabled:"",modelValue:rn.value.FileName,"onUpdate:modelValue":ar[3]||(ar[3]=io=>rn.value.FileName=io)},null,8,["modelValue"]),vue.createVNode(_sfc_main$F,{required:!rn.value.BenefitCodeShort&&!rn.value.ProgramName,label:"МО прикрепления",data:M.value,modelValue:rn.value.LpuIdPrikrep,"onUpdate:modelValue":ar[4]||(ar[4]=io=>rn.value.LpuIdPrikrep=io),"id-field":"Id","display-expr":io=>io.Name,clearable:""},null,8,["required","data","modelValue","display-expr"]),vue.createElementVNode("div",_hoisted_11$6,[vue.createElementVNode("div",_hoisted_12$5,[vue.createElementVNode("fieldset",_hoisted_13$4,[ar[17]||(ar[17]=vue.createElementVNode("legend",{class:"px-2 font-semibold text-sm"},"Льгота",-1)),vue.createVNode(_sfc_main$F,{required:!rn.value.BenefitCodeShort&&!rn.value.LpuIdPrikrep,label:"Программа",data:vt.value,modelValue:rn.value.ProgramName,"onUpdate:modelValue":ar[5]||(ar[5]=io=>rn.value.ProgramName=io),"id-field":"Name","display-expr":io=>io.Name,clearable:""},null,8,["required","data","modelValue","display-expr"]),vue.createVNode(_sfc_main$F,{required:!rn.value.ProgramName&&!rn.value.LpuIdPrikrep,label:"Код льготы",data:Dt.value,modelValue:rn.value.BenefitCodeShort,"onUpdate:modelValue":ar[6]||(ar[6]=io=>rn.value.BenefitCodeShort=io),"id-field":"BenefitCodeShort","display-expr":io=>io.BenefitCodeShort+" | "+io.BenefitNameLong,clearable:"",limit:1e3},null,8,["required","data","modelValue","display-expr"])])]),vue.createElementVNode("div",_hoisted_14$3,[vue.createElementVNode("fieldset",_hoisted_15$3,[ar[18]||(ar[18]=vue.createElementVNode("legend",{class:"px-2 font-semibold text-sm"},"Период активности льготы",-1)),vue.createVNode(_sfc_main$E,{style:{width:"250px"},modelValue:rn.value.BenefitStartDate,"onUpdate:modelValue":ar[7]||(ar[7]=io=>rn.value.BenefitStartDate=io),label:"Дата начала",clearable:""},null,8,["modelValue"]),vue.createVNode(_sfc_main$E,{style:{width:"250px"},modelValue:rn.value.BenefitEndDate,"onUpdate:modelValue":ar[8]||(ar[8]=io=>rn.value.BenefitEndDate=io),label:"Дата окончания",clearable:""},null,8,["modelValue"])])])]),vue.createElementVNode("div",_hoisted_16$3,[vue.createVNode(vue.unref(P2),{label:"Сбросить фильтры",onClick:Wr,delete:"",secondary:"","prepend-icon":"xmark"}),vue.createVNode(vue.unref(P2),{type:"submit","prepend-icon":"download",primary:""},{default:vue.withCtx(()=>[...ar[19]||(ar[19]=[vue.createTextVNode("Экспортировать",-1)])]),_:1})])],32)]),_:1},8,["modelValue"]),vue.createVNode(PermissionLgot,{isAdmin:vue.unref(Pt),visible:At.value,"onUpdate:visible":ar[10]||(ar[10]=io=>At.value=io)},null,8,["isAdmin","visible"])]))}},listStatuses=["В работе","Заполнение льгот","Проверка","Отправлен в МЗ","Завершен","Заявка","Заявка отправлена в МЗ","Заявка закрыта","Отклонено МЗ"],programToPreparat={"29528611-4db8-4a92-990d-0664eaec37fd":"ONLS","7303e13b-92f3-4f36-a08d-d52080c0ca28":"Cardio","0d3ffdb7-5a18-4efe-9853-a1a09927f415":"VNZ","5bc6620a-1ed6-4a60-a8ed-fa2a5e786150":"Diabetic","b50d16ad-6258-4e72-b8fc-49a5cefaf4ee":"Oraf","3398f155-5168-4c62-8861-5b8da2f191b4":"P890","0ca74c2a-a34b-4c9e-9ced-1565cdc8c067":"CircleGoodness","99b7de3c-52b0-4f65-b9a1-aacd6e47f073":"NMG","408e7c6f-0e70-4964-bc1c-0d3c4892b657":"NMG"},approvedBenefitProgram={"279c0cdc-772f-4f76-984c-2b463a42edd6":"ОНЛС","2b448ae8-4ff9-4fe6-a581-2cab122273b9":"ССЗ","270fefac-9670-4fcb-8c56-b7a422b774ad":"Сахарный диабет","260d15f6-3b69-4646-b551-c88404ca35df":"Орфанные заболевания","87691abf-cc37-49e5-8295-18eb71e9e015":"П890"},approvedBenefitProgramToPreparatProgramm={"29528611-4db8-4a92-990d-0664eaec37fd":"279c0cdc-772f-4f76-984c-2b463a42edd6","7303e13b-92f3-4f36-a08d-d52080c0ca28":"2b448ae8-4ff9-4fe6-a581-2cab122273b9","5bc6620a-1ed6-4a60-a8ed-fa2a5e786150":"270fefac-9670-4fcb-8c56-b7a422b774ad","b50d16ad-6258-4e72-b8fc-49a5cefaf4ee":"260d15f6-3b69-4646-b551-c88404ca35df","3398f155-5168-4c62-8861-5b8da2f191b4":"87691abf-cc37-49e5-8295-18eb71e9e015"},noSignPrograms=["29528611-4db8-4a92-990d-0664eaec37fd","7303e13b-92f3-4f36-a08d-d52080c0ca28"],lpusWithDivision=["f6bb8d21-9371-42e8-9406-b592fe2025e7","03032196-cf4b-480d-ab08-706f0eaa89ae","bff70664-565d-4b29-86ab-0cc3285ad156","1314c963-b459-43f4-b082-3b43f11cd7b2","8ac51557-f416-4032-b602-61b0bcf991e7","03bb9b43-b003-4eeb-a451-cb15ca6e28d3","5bd0e29f-6d86-476c-8caa-67f9c20ca243"],_sfc_main$r={__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},filterFunction:{type:Function,default:null},filterMkb:{type:Boolean,default:!0}},emits:["getMKBId","getMKBItem","validate"],setup(e,{emit:I}){const N=I;let J=null;const V=e;let M=!0;vue.watch(()=>V.OMC,(zt,Ht)=>{zt!==Ht&&!M&&(Ht?(J=yt.value,yt.value={Id:""},N("getMKBId",{choosedMKB:null}),Rt()):J&&Pt({data:J})),M&&(M=!1)});const vt=vue.ref(!1),yt=vue.ref({Id:""}),At=vue.ref(""),Dt=vue.computed(()=>({_mkb_oplata_param_:V.OMC===null?null:String(!!V.OMC),_mkb_codes_param_:V.filterCodes?.length?V.filterCodes.join(","):null})),Ft=vue.ref({Id:null});function Pt({data:zt}){J=null,At.value="",zt?.Id?(yt.value=zt,N("getMKBId",{choosedMKB:zt.Id}),Rt(zt)):(yt.value={Id:""},N("getMKBId",{choosedMKB:null}),Rt())}function Rt(zt={Id:null}){Ft.value.Id!==zt.Id&&(zt.Id?(N("getMKBItem",{choosedMKB:zt}),Ft.value=zt):(Ft.value={Id:null},N("getMKBItem",{choosedMKB:null})))}function $t(zt,Ht,Yt){return V.filterMkb?["J47","E10","M45"].includes(zt.Code)?!0:(zt.Code.indexOf(".")!==-1||Ht.filter(Xt=>Xt.Code.startsWith(zt.Code)&&Xt.Code.length>3).length===0&&(Gt(Yt[0])&&Yt.length>2||!Gt(Yt[0])&&Yt.length>1))&&(typeof V.filterFunction!="function"||V.filterFunction(zt))&&(V.mkbCode!==Yt||zt.Code===V.mkbCode):!0}function Gt(zt){return new RegExp("^\\p{L}$","u").test(zt)}return vue.watch(()=>V.mkbCode,()=>{V.mkbCode||(yt.value={Id:""},Pt({data:yt.value}))}),vue.watch(()=>V.mkbId,zt=>{zt?yt.value.Id!==zt&&(yt.value={Id:zt}):(yt.value={Id:""},Pt({data:yt.value}))},{immediate:!0}),vue.watch(()=>yt.value,()=>{V.isValidated&&(yt.value?.Id?(N("validate",{isValid:!0}),Rt(yt.value),vt.value=!0):(N("validate",{isValid:!1}),N("getMKBId",{choosedMKB:""}),vt.value=!1))}),(zt,Ht)=>(vue.openBlock(),vue.createBlock(_sfc_main$C,{disabled:V.readOnly,modelValue:yt.value.Id,"onUpdate:modelValue":Ht[0]||(Ht[0]=Yt=>yt.value.Id=Yt),"display-expr":Yt=>"("+Yt.Code+") "+Yt.Name,"api-string":vue.unref(api$1).Mkb,"api-id":vue.unref(api$1).MkbById,label:V.label,"filter-field":"_search_str_","get-first-from-string":V.mkbCode,"result-filter":$t,params:Dt.value,onOnSelect:Pt,clearable:""},null,8,["disabled","modelValue","display-expr","api-string","api-id","label","get-first-from-string","params"]))}},_sfc_main$q={__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]=yt=>I.value=V(yt))},null,8,["min","max","withHours","model-value"]))}},_hoisted_1$j={class:"p-3"},_hoisted_2$f={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_3$b={class:"border p-2 rounded"},_hoisted_4$a={class:"grid grid-cols-2 gap-1"},_hoisted_5$9={class:"border p-2 rounded"},_hoisted_6$9={class:"grid grid-cols-2 gap-1"},_hoisted_7$8={class:"flex gap-3"},_hoisted_8$8={key:2,class:"flex flex-col gap-1"},_hoisted_9$6={class:"text-sm border rounded px-3 py-1 bg-gray-100 text-gray-800 text-balance h-[32px]"},_hoisted_10$6={class:"flex gap-3"},_hoisted_11$5={class:"flex gap-3"},_hoisted_12$4={class:"flex justify-end gap-3"},_sfc_main$p={__name:"ApplicationForm",props:{needId:{type:String,default:""},waitRequest:{type:Boolean,default:!1,required:!0},readOnly:{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:{}},modalVisible:{type:Boolean,default:!1},hiddenControl:{type:Boolean,default:!1},additional:{type:Boolean,default:!1},docAppYear:{type:Number,required:!0}},emits:["onSave","onDelete","update:waitRequest"],setup(e,{expose:I,emit:N}){const{getBenefitList:J,getBenefitListV2:V}=useBenefit(),M=e,vt=vue.computed(()=>M.userOpen),yt=N,At=vue.ref(null),Dt=vue.ref(null),Ft=vue.ref(!1),Pt=vue.computed({get:()=>M.waitRequest,set:Br=>yt("update:waitRequest",Br)}),Rt=vue.computed({get:()=>M.modalVisible,set:Br=>yt("update:modalVisible",Br)}),$t=vue.ref(M.selectedApplication),Gt=vue.ref(M.hiddenControl),zt=vue.ref(M.needId),Ht=Object.values(approvedBenefitProgram),Yt=vue.ref(!0),Kt=vue.ref(!1),Xt=vue.ref("Льгота"),dn=vue.computed(()=>!!vt.value.Permissions.find(Br=>["0","1","40"].includes(Br.AccessCode))),cn=vue.ref([]),yn=vue.ref([]),rn=vue.ref([]),wn=vue.ref({}),fn=vue.computed(()=>rn.value.find(Br=>Br.Id===An.value.TemplatePreparatId)),hn=vue.computed(()=>!!fn.value?.Sign),bn=vue.computed(()=>{if(An.value.ProgramId){let Br=rn.value;noSignPrograms.includes(An.value.ProgramId)&&(Br=Br.filter(io=>io.Sign));let ar=Object.keys(programToPreparat).find(io=>io==An.value.ProgramId);return ar&&(Br=Br.filter(io=>io[programToPreparat[ar]])),Br}}),_n=vue.ref([]),yr=vue.ref([]),cr=vue.ref([]),ir=vue.ref([]);vue.onMounted(async()=>{try{br(),await Bn(),await Qt(),await or(),_n.value=await J({Snils:M.patientSnils})||[],yr.value=(await V({Snils:M.patientSnils,Monetized:!1,Active:!0,Deleted:!1})).filter(Br=>Ht.includes(Br.BenefitProgram))||[],await BenefitMap(Br=>{cr.value=Br.filter(ar=>yr.value.map(io=>io.BenefitCodeShort).includes(ar.BenefitCodeShort)),ir.value=Br.filter(ar=>_n.value.map(io=>io.BenefitCodeShort).includes(ar.BenefitCodeShort))}),M.readOnly?yn.value=ir.value:yn.value=cr.value,lpusWithDivision.includes(vt.value.LpuId)&&mr(),hr()}catch(Br){const ar=Br.response?.data?.message||Br.message||"Неизвестная ошибка";notifyError$1(`${ar}. Пожалуйста, откройте потребность повторно`,15e3,"Ошибка загрузки данных")}finally{Wr()}});async function Qt(){cn.value=await window.axios.get(window.localhost+"PreparatProgram?BaseProgram=true").then(Br=>Br.data.Body.filter(ar=>ar.BenefitProgramId).map(ar=>({...ar,label:ar.ValidName,Name:ar.ValidName})))}const An=vue.ref({DateNeed:new Date,Additional:M.additional,Interchangeability:!1}),Hn=vue.ref(!1);async function wr(){if(Dt.value.reportValidity()){if(An.value.NprNumber||An.value.NprDate?An.value.Npr=!0:An.value.Npr=!1,!An.value.LgotaId){notifyError$1("Льгота не выбрана");return}if(!An.value.TemplatePreparatId){notifyError$1("Препарат не выбран");return}if(!hn.value&&(!An.value.NumberVK||!An.value.DateVK)){notifyError$1("Для выбранного препарата требуется заполнить номер и дату ВК");return}if(An.value.NprNumber&&!An.value.NprDate){notifyError$1("Заполните дату НПР для указанного номера НПР");return}if(An.value.NprDate&&!An.value.NprNumber){notifyError$1("Заполните номер НПР для указанной даты НПР");return}if(!An.value.ProgramId){notifyError$1("Программа не выбрана");return}if(lpusWithDivision.includes(vt.value.LpuId)&&!An.value.DivisionId){notifyError$1("Отделение не выбрано");return}if(Kt.value){notifyError$1("Невозможно сохранить потребность при неактивной льготе");return}Hn.value!=!0&&(br(),Hn.value=!0,An.value.LpuId=vt.value.LpuId,An.value.EmployeePostId=vt.value.Id,An.value.PatientId=M.patientId,An.value.CountMonth=Number(An.value.CountMonth),delete An.value.MkbName,delete An.value.Mnn,delete An.value.MaxPriceWithVat,delete An.value.MkbCode,delete An.value.FullName,delete An.value.DivisionName,delete An.value.EmployeePostFIO,delete An.value.ApplicationsNumber,delete An.value.ApplicationsDeleted,delete An.value.ApplicationsId,delete An.value.CreateDateTime,delete An.value.ApplicationsStatus,delete An.value.ApplicationsComment,delete An.value.Period,await window.axios({url:window.localhost+`ApplicationCompany/PatientNeeds?Id=${An.value.Id??""}`,method:"post",data:An.value}).then(async Br=>{An.value.Id&&await xn().then(ar=>{}),An.value.Id||(An.value.Id=Br.data.Id),notifySuccess("Сохранено"),yt("onSave"),Hn.value=!1}).catch(Br=>{Br.response.data&¬ifyError$1(Br.response.data),Hn.value=!1}).finally(()=>Wr()))}}async function Ln(){br(),await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${An.value.Id}`).then(async()=>{await hr(),notifySuccess("Удалено"),yt("onDelete"),Rt.value=!1}).catch(Br=>{Br?.response?.data?.Status?notifyError$1(Br.response.data.Status):notifyError$1("Произошла ошибка при удалении")}).finally(()=>Wr())}async function xn(){return await window.axios.delete(window.localhost+`ApplicationCompany/PatientNeeds?PatientNeedId=${An.value.Id}`).catch(Br=>(Br.response.data.Status&¬ifyError$1(Br.response.data.Status),"error"))}async function Vn(){await wr()}async function Bn(){const Br=await window.axios.get(window.localhost+"ApplicationCompany/Documents").then(ar=>ar.data);M.readOnly?wn.value=Br.filter(ar=>ar.Name.includes(`${M.docAppYear}`))[0]:wn.value=Br.filter(ar=>!ar.Deleted&&ar.Name.includes(`${M.docAppYear}`))[0]}async function or(){const Br=await window.axios.get(window.localhost+`ApplicationCompany/TemplatePreparatList?DocumentId=${wn.value.Id}`).then(ar=>ar.data);M.readOnly?rn.value=Br:rn.value=Br.filter(ar=>!ar.Deleted)}async function hr(){M.needId&&(An.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientNeeds?Id=${M.needId}`).then(Br=>Br.data[0]))}vue.watch(()=>An.value.LgotaId,async Br=>{if(Br==null){An.value.Mkb10Id=null,An.value.ProgramId=null,An.value.TemplatePreparatId=null,Ft.value=!1;return}let ar=yr.value.find(io=>io.BenefitCodeShort==yn.value.find(Bo=>Bo.Id==An.value.LgotaId)?.BenefitCodeShort)?.MkbId||An.value.Mkb10Id;["Отклонено МЗ","Заявка закрыта"].includes(An.value.ApplicationsStatus)||yr.value.some(Bo=>Bo.BenefitCodeShort==yn.value.find(Ur=>Ur.Id==An.value.LgotaId)?.BenefitCodeShort)||(yn.value=ir.value,ar=_n.value.find(Bo=>Bo.BenefitCodeShort==yn.value.find(Ur=>Ur.Id==An.value.LgotaId)?.BenefitCodeShort)?.MkbId||An.value.Mkb10Id,At.value?.$el?.style?.setProperty("background-color","#f9c7c8"),Xt.value="Льгота неактивна",Kt.value=!0,notifyError$1("Льгота неактивна!",15e3,"ВНИМАНИЕ!"),notifyWarning("Указанная льгота в потребности в данный момент является неактивной! Необходимо принять меры по актуализации потребности(пересоздать) или льготы(восстановить)!",15e3,"Уведомление системы")),An.value.ProgramId=cn.value.find(io=>io.BenefitProgramId==yn.value.find(Bo=>Bo.Id==An.value.LgotaId)?.ProgramId)?.Id,ar?(An.value.Mkb10Id=ar,Ft.value=!0):M.readOnly||(An.value.Mkb10Id=null,Ft.value=!1)}),vue.watch([()=>An.value.TemplatePreparatId,()=>bn.value],()=>{if(!An.value.ProgramId||!An.value.TemplatePreparatId)return;const Br=rn.value?.find(ka=>ka.Id===An.value.TemplatePreparatId),ar=cn.value?.find(ka=>ka.Id===An.value.ProgramId)?.ProgramName??"Неизвестная программа";let io=bn.value,Bo=io.some(ka=>ka.Id===An.value.TemplatePreparatId),Ur=(Br?`Неверно выбранный препарат ${Br.Mnn} ${Br.FullName}`:"Не найден препарат в справочнике").trimStart().trimEnd();!Bo&&io.length>0&&(notifyError$1(`${Ur} для программы ${ar}`),M.readOnly||notifyWarning("Выберите заново препарат!"),An.value.TemplatePreparatId=null)}),vue.watch(()=>An.value.Id,Br=>{Yt.value=!Br});const rr=vue.computed(()=>An.value.NumberVK&&An.value.DateVK);function tr(Br){return Br.CodeOKPD2=="1.2.643.5.1.13.13.99.2.1212"&&Br.CodeATX=="Лекарственные препараты и специализированные продукты лечебного питания"?Br.TradeName:""}function sn(Br){const ar=[];return Br.Mnn&&ar.push(Br.Mnn),Br.FullName&&ar.push(Br.FullName),Br.MaxPriceWithVat&&ar.push(`(Цена: ${Br.MaxPriceWithVat??"не указана"})`),Br.CountInPackage&&ar.push(`(в уп-ке: ${Br.CountInPackage??"не указано"})`),typeof Br.Sign=="boolean"&&ar.push(`(${Br.Sign?"ЖВ":"Не ЖВ"})`),ar.join(" ")}const gr=vue.ref([]);async function mr(){gr.value=await window.axios.get(window.localhost+`Frmo?LpuId=${vt.value.LpuId}&TypeCode=18`).then(Br=>Br.data)}async function br(){Pt.value=!0,await vue.nextTick()}function Wr(){Pt.value=!1}return I({save:wr,edit:Vn}),(Br,ar)=>(vue.openBlock(),vue.createBlock(vue.unref(Ds),{size:"2xl",title:`${$t.value?.Additional??An.value.Additional?"Дополнительная":"Основная"} заявка${$t.value?.Number?` № ${$t.value.Number}`:""}`,modelValue:Rt.value,"onUpdate:modelValue":ar[19]||(ar[19]=io=>Rt.value=io)},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_1$j,[vue.withDirectives(vue.createElementVNode("div",_hoisted_2$f,[...ar[20]||(ar[20]=[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,Pt.value]]),vue.createElementVNode("fieldset",null,[vue.createElementVNode("form",{ref_key:"formRef",ref:Dt,class:"flex flex-col gap-1"},[vt.value.LpuId=="e41d5246-7a49-4b5a-a306-00ef5125d3d8"?(vue.openBlock(),vue.createBlock(vue.unref(Kc),{key:0,label:"Дополнительная заявочная кампания",modelValue:An.value.Additional,"onUpdate:modelValue":ar[0]||(ar[0]=io=>An.value.Additional=io)},null,8,["modelValue"])):vue.createCommentVNode("",!0),vue.createVNode(_sfc_main$q,{label:"Дата заявки",modelValue:An.value.DateNeed,"onUpdate:modelValue":ar[1]||(ar[1]=io=>An.value.DateNeed=io),disabled:""},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_3$b,[ar[21]||(ar[21]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"ВК",-1)),ar[22]||(ar[22]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_4$a,[vue.createVNode(vue.unref(IA),{label:"Номер ВК",modelValue:An.value.NumberVK,"onUpdate:modelValue":ar[2]||(ar[2]=io=>An.value.NumberVK=io),mask:"00000000000",tokens:"0:\\d:optional",required:!hn.value,disabled:M.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$q,{label:"Дата ВК",modelValue:An.value.DateVK,"onUpdate:modelValue":ar[3]||(ar[3]=io=>An.value.DateVK=io),required:!hn.value,disabled:M.readOnly},null,8,["modelValue","required","disabled"])])]),vue.createElementVNode("div",_hoisted_5$9,[ar[23]||(ar[23]=vue.createElementVNode("p",{class:"font-semibold text-sm"},"НПР",-1)),ar[24]||(ar[24]=vue.createElementVNode("hr",null,null,-1)),vue.createElementVNode("div",_hoisted_6$9,[vue.createVNode(vue.unref(IA),{label:"Номер НПР",modelValue:An.value.NprNumber,"onUpdate:modelValue":ar[4]||(ar[4]=io=>An.value.NprNumber=io),mask:"00000000000",tokens:"0:\\d:optional",required:!!An.value.NprDate,disabled:M.readOnly},null,8,["modelValue","required","disabled"]),vue.createVNode(_sfc_main$q,{label:"Дата НПР",modelValue:An.value.NprDate,"onUpdate:modelValue":ar[5]||(ar[5]=io=>An.value.NprDate=io),required:!!An.value.NprNumber,disabled:M.readOnly},null,8,["modelValue","required","disabled"])])]),vue.unref(lpusWithDivision).includes(vt.value.LpuId)?(vue.openBlock(),vue.createBlock(_sfc_main$F,{key:1,data:gr.value,label:"Отделение",modelValue:An.value.DivisionId,"onUpdate:modelValue":ar[6]||(ar[6]=io=>An.value.DivisionId=io),required:"",clearable:"",disabled:M.readOnly},null,8,["data","modelValue","disabled"])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_7$8,[vue.createVNode(_sfc_main$F,{ref_key:"fieldLgota",ref:At,label:Xt.value,modelValue:An.value.LgotaId,"onUpdate:modelValue":ar[7]||(ar[7]=io=>An.value.LgotaId=io),data:yn.value,"display-expr":io=>"("+io.BenefitCodeShort+") "+io.BenefitNameLong,required:"",clearable:"",disabled:!Yt.value},null,8,["label","modelValue","data","display-expr","disabled"]),vue.createVNode(_sfc_main$F,{required:"",label:"Программа",modelValue:An.value.ProgramId,"onUpdate:modelValue":ar[8]||(ar[8]=io=>An.value.ProgramId=io),data:cn.value,disabled:""},null,8,["modelValue","data"])]),vue.createVNode(_sfc_main$x,{required:"",label:"Препарат",modelValue:An.value.TemplatePreparatId,"onUpdate:modelValue":ar[9]||(ar[9]=io=>An.value.TemplatePreparatId=io),data:bn.value,"display-expr":sn,"display-expr-low":tr,searchByLowField:"",disabled:!An.value.ProgramId||M.readOnly,clearable:""},null,8,["modelValue","data","disabled"]),rr.value?(vue.openBlock(),vue.createElementBlock("div",_hoisted_8$8,[ar[25]||(ar[25]=vue.createElementVNode("p",{class:"text-sm font-medium"},"Торговое наименование",-1)),vue.createElementVNode("p",_hoisted_9$6,vue.toDisplayString(rn.value.find(io=>io.Id==An.value.TemplatePreparatId)?.TradeName),1)])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_10$6,[vue.createVNode(vue.unref(Kc),{label:"Взаимозаменяемость",modelValue:An.value.Interchangeability,"onUpdate:modelValue":ar[10]||(ar[10]=io=>An.value.Interchangeability=io),disabled:M.readOnly},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(Kc),{label:"Дополнительная",modelValue:An.value.Additional,"onUpdate:modelValue":ar[11]||(ar[11]=io=>An.value.Additional=io),disabled:""},null,8,["modelValue"])]),vue.createVNode(_sfc_main$r,{label:"Диагноз",modelValue:An.value.Mkb10Id,"onUpdate:modelValue":ar[12]||(ar[12]=io=>An.value.Mkb10Id=io),required:"",clearable:"",disabled:Ft.value||M.readOnly},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(y$),{label:"Примечание",modelValue:An.value.Comment,"onUpdate:modelValue":ar[13]||(ar[13]=io=>An.value.Comment=io),readonly:M.readOnly},null,8,["modelValue","readonly"]),vue.createElementVNode("div",_hoisted_11$5,[vue.createVNode(vue.unref(IA),{label:"Кол-во упаковок на 1 месяц",mask:"0.99",tokens:"0:\\d:multiple|9:\\d:optional",modelValue:An.value.CountMonth,"onUpdate:modelValue":ar[14]||(ar[14]=io=>An.value.CountMonth=io),disabled:M.readOnly},null,8,["modelValue","disabled"]),vue.createVNode(vue.unref(g$),{label:"Кол-во упаковок на 1 год",min:1,modelValue:An.value.CountYear,"onUpdate:modelValue":ar[15]||(ar[15]=io=>An.value.CountYear=io),disabled:M.readOnly},null,8,["modelValue","disabled"])])],512)])])]),footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_12$4,[zt.value&&!Gt.value?(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:0,delete:"",onClick:ar[16]||(ar[16]=io=>Ln(zt.value)),disabled:!dn.value||e.readOnly,loading:Pt.value},{default:vue.withCtx(()=>[...ar[26]||(ar[26]=[vue.createTextVNode("Удалить",-1)])]),_:1},8,["disabled","loading"])):vue.createCommentVNode("",!0),Gt.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:1,primary:"",onClick:ar[17]||(ar[17]=io=>zt.value?Vn():wr()),loading:Pt.value,disabled:e.readOnly},{default:vue.withCtx(()=>[...ar[27]||(ar[27]=[vue.createTextVNode("Сохранить",-1)])]),_:1},8,["loading","disabled"])),vue.createVNode(vue.unref(P2),{onClick:ar[18]||(ar[18]=io=>Rt.value=!1)},{default:vue.withCtx(()=>[...ar[28]||(ar[28]=[vue.createTextVNode("Закрыть",-1)])]),_:1})])]),_:1},8,["title","modelValue"]))}},_hoisted_1$i=["id"],_hoisted_2$e={key:0,class:"flex justify-end mb-1 flex-none"},_hoisted_3$a={class:"min-h-0 overflow-hidden"},_hoisted_4$9={class:"re-table"},_hoisted_5$8={key:0,class:"text-right"},_hoisted_6$8={class:"flex flex-col"},_hoisted_7$7=["onClick"],_hoisted_8$7={class:"flex flex-col gap-0.5 w-[600px]"},_hoisted_9$5={class:"text-sm text-slate-500 text-center"},_hoisted_10$5={open:"",class:"px-1"},_hoisted_11$4={class:"px-1"},_hoisted_12$3={class:"rs-table-btn"},_hoisted_13$3={class:"flex justify-between items-center text-sm text-slate-500 gap-1"},_hoisted_14$2={class:"flex flex-col gap-1"},_hoisted_15$2=["onClick"],_hoisted_16$2={class:"px-1"},_hoisted_17$2=["onClick"],_hoisted_18$2=["onDblclick"],_hoisted_19$2={key:1},_hoisted_20$2=["onContextmenu","onClick"],_hoisted_21$2={key:0,class:"text-right"},_hoisted_22$1=["onClick","title"],_hoisted_23$1={key:0},_hoisted_24$1={key:1},_hoisted_25$1={key:2},_hoisted_26$1=["title"],_hoisted_27$1=["title"],_hoisted_28$1={key:1},_hoisted_29$1=["onClick"],_hoisted_30$1={key:0},_hoisted_31$1={key:0,class:"bg-slate-100 hover:bg-slate-100 cursor-arrow"},_hoisted_32$1={key:0},_hoisted_33$1={key:1},_hoisted_34$1={key:1},_hoisted_35={key:0},_hoisted_36={class:"mb-3"},_hoisted_37={class:"border rounded p-3 bg-gray-50"},_hoisted_38=["onDragstart","onDrop"],_hoisted_39={class:"flex items-center gap-2"},_hoisted_40={class:"text-sm font-medium"},_hoisted_41={class:"flex items-center gap-1"},_hoisted_42=["onClick"],_hoisted_43=["onClick"],_hoisted_44={class:"flex justify-end gap-2"},_hoisted_45={class:"flex-none pagination-wrapper"},_hoisted_46={class:"flex items-center gap-4"},_hoisted_47={key:0,class:"pagination"},_hoisted_48=["onClick"],_hoisted_49={key:1,class:"flex items-center gap-2"},_hoisted_50={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$o={__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"),yt=vue.useModel(e,"sortColumnIndex"),At=vue.ref(""),Dt=vue.ref({}),Ft=vue.ref({}),Pt=vue.ref({}),Rt=vue.ref(!1),$t=vue.ref([]),Gt=vue.ref(null),zt=vue.ref(M.pageSize);vue.watch(()=>M.pageSize,()=>{zt.value=M.pageSize},{immediate:!0});function Ht(){try{const Ir=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),Da=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Ir[M.tableId]&&(_n.value=Ir[M.tableId]),Fr[M.tableId]&&(rn.value=Fr[M.tableId],Kt()),Da[M.tableId]&&yd(Da[M.tableId])}catch(Ir){console.error("Ошибка при загрузке состояния таблицы:",Ir)}}function Yt(){try{const Ir=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_HIDDEN)||"{}"),Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_ALL_WIDTHS)||"{}"),Da=JSON.parse(localStorage.getItem(STORAGE_KEY_PAGE_SIZE)||"{}"),fs=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Object.keys(_n.value).length?Ir[M.tableId]=_n.value:delete Ir[M.tableId],Object.keys(rn.value).length?Fr[M.tableId]=rn.value:delete Fr[M.tableId],Da[M.tableId]=zt.value,$t.value.length>0?fs[M.tableId]=$t.value.map(eu=>eu.originalIndex):delete fs[M.tableId],localStorage.setItem(STORAGE_KEY_ALL_HIDDEN,JSON.stringify(Ir)),localStorage.setItem(STORAGE_KEY_ALL_WIDTHS,JSON.stringify(Fr)),localStorage.setItem(STORAGE_KEY_PAGE_SIZE,JSON.stringify(Da)),localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(fs))}catch(Ir){console.error("Ошибка при сохранении состояния таблицы:",Ir)}}async function Kt(){if(await vue.nextTick(),!M.tableId){console.log("Не указан идентификатор таблицы",M.columns),notifyError$1("Не указан идентификатор таблицы");return}const Ir=document.getElementById(`table-${M.tableId}`);if(!Ir)return;const Fr=Ir.querySelector(".re-table");if(!Fr)return;const Da=Fr.querySelectorAll("thead th");Object.entries(rn.value).forEach(([fs,eu])=>{const ha=Da[parseInt(fs)];ha&&eu&&(ha.style.width=`${eu}px`,ha.style.minWidth=`${eu}px`)})}vue.onMounted(()=>{ka(),Ht(),document.addEventListener("click",Wr),document.addEventListener("keydown",Br)});const Xt=vue.useModel(e,"page"),dn=vue.ref(!1),cn=vue.ref({x:"0px",y:"0px"}),yn=vue.ref(null),rn=vue.ref({});let wn=!1,fn=null,hn=0,bn=0;const _n=vue.ref({}),yr=vue.ref(!1);let cr=vue.ref(null);function ir(Ir){wn=!0,fn=Ir.target.parentElement,hn=Ir.pageX,bn=fn.offsetWidth,document.addEventListener("mousemove",Qt),document.addEventListener("mouseup",An),Ir.preventDefault()}function Qt(Ir){if(!wn)return;const Fr=bn+(Ir.pageX-hn);if(Fr>=50){fn.style.width=`${Fr}px`,fn.style.minWidth=`${Fr}px`;const Da=document.getElementById(`table-${M.tableId}`);if(!Da)return;const fs=Da.querySelector(".re-table");if(!fs)return;const eu=fs.querySelectorAll("thead th"),ha=Array.from(eu).indexOf(fn);ha!==-1&&(rn.value[ha]=Fr,Yt())}}function An(){wn=!1,document.removeEventListener("mousemove",Qt),document.removeEventListener("mouseup",An)}function Hn(Ir){const Fr=document.getElementById(`table-${M.tableId}`);if(!Fr)return;const Da=Fr.querySelector(".re-table");if(!Da)return;const eu=Da.querySelectorAll("thead th")[Ir];eu&&(eu.style.width="",eu.style.minWidth="120px",delete rn.value[Ir],Yt())}vue.onUnmounted(()=>{document.removeEventListener("mousemove",Qt),document.removeEventListener("mouseup",An),document.removeEventListener("click",Wr),Yt()});const wr=vue.computed(()=>{let Ir=[...M.data];for(const Fr in V.value)V.value[Fr]&&(typeof Ln.value[Fr]?.Field=="function"?Ir=Ir.filter(Da=>String(Ln.value[Fr].Field(Da))?.toLowerCase().indexOf(V.value[Fr]?.toLowerCase())>-1):Ir=Ir.filter(Da=>String(Da[Ln.value[Fr].Field])?.toLowerCase().indexOf(V.value[Fr]?.toLowerCase())>-1));for(const Fr in Dt.value)Dt.value[Fr]&&(Ir=Ir.filter(Da=>typeof Ln.value[Fr]?.Field=="function"?Dt.value[Fr].includes(Ln.value[Fr].Field(Da)):Dt.value[Fr].includes(Da[Ln.value[Fr].Field])));for(const Fr in Pt.value)Pt.value[Fr]&&(Ir=Ir.filter(Da=>{let fs;return typeof Ln.value[Fr]?.Field=="function"?fs=Ln.value[Fr].Field(Da):fs=Da[Ln.value[Fr].Field],fs==null||fs===""||typeof fs=="string"&&fs.trim()===""}));return yt.value>=0&&vt.value&&(Ir=Ir.sort((Fr,Da)=>typeof Ln.value[yt.value].Field=="function"?typeof Ln.value[yt.value].SortMethod=="function"?Ln.value[yt.value].SortMethod(Fr,Da):String(Ln.value[yt.value].Field(Fr))>String(Ln.value[yt.value].Field(Da))?1:-1:typeof Ln.value[yt.value].SortMethod=="function"?Ln.value[yt.value].SortMethod(Fr,Da):String(Fr[Ln.value[yt.value].Field])>String(Da[Ln.value[yt.value].Field])?1:-1),vt.value==="desc"&&(Ir=Ir.reverse())),Ir}),Ln=vue.computed(()=>{let Ir=M.columns.filter(Fr=>!_n.value[Fr.Index]);return $t.value.length>0&&(Ir=$t.value.map(Fr=>Ir.find((Da,fs)=>fs===Fr.originalIndex))),Ir}),xn=vue.computed(()=>M.contextActions.filter(Ir=>typeof Ir.IsVisible=="function"?Ir.IsVisible(yn.value):!0)),Vn=vue.computed(()=>{if(M.customPagination)return M.data;const Ir=(Xt.value-1)*parseInt(zt.value);return wr.value.slice(Ir,Ir+parseInt(zt.value))}),Bn=vue.computed(()=>M.customPagination?Math.ceil(M.recordTotal/parseInt(zt.value)):Math.ceil(wr.value.length/parseInt(zt.value))),or=vue.computed(()=>Bn.value>5?Xt.value<=3?[1,2,3,4,5,"...",Bn.value]:Xt.value>=Bn.value-2?[1,"...",Bn.value-4,Bn.value-3,Bn.value-2,Bn.value-1,Bn.value]:[1,"...",Xt.value-2,Xt.value-1,Xt.value,Xt.value+1,Xt.value+2,"...",Bn.value]:Array.from({length:Bn.value},(Ir,Fr)=>Fr+1)),hr=vue.computed(()=>M.customPagination?M.recordTotal:wr.value.length);vue.watch(()=>M.data,()=>{M.customPagination||(Xt.value=1,ka())}),vue.watch(()=>Ln.value,(Ir,Fr)=>{(!Fr||Ir.length!==Fr.length||!Ir.every((Da,fs)=>Da.Title===Fr[fs].Title))&&(V.value={},_n.value={},rn.value={},Yt(),ka(),ar(null,null),Dt.value={},Pt.value={})},{deep:!0}),vue.watch(()=>wr.value.length,()=>{M.customPagination||(Xt.value=1)}),vue.watch(zt,()=>{Xt.value=1,Yt()});function rr(){if(wr.value.length===0){notifyError$1("Нет данных для экспорта");return}let Ir=[{sheet:"Лист 1",columns:M.columns.map(Da=>({label:Da.Title,value:fs=>{let eu="";return typeof Da.Field=="function"?eu=Da.Field(fs):eu=fs[Da.Field],Da.LowField&&(typeof Da.LowField=="function"?eu+=` (${Da.LowField(fs)})`:fs[Da.LowField]&&(eu+=` (${fs[Da.LowField]})`)),eu}})),content:wr.value}],Fr={fileName:"Выгрузка данных от "+hooks().format("L HH:mm:ss"),extraLength:3,writeMode:"writeFile"};xlsx(Ir,Fr)}function tr(Ir,Fr){cn.value={x:Ir.pageX+"px",y:Ir.pageY+"px"},yn.value=Fr,dn.value=!0}function sn(){yn.value=null,dn.value=!1}function gr(Ir,Fr){if(yr.value){br();return}cn.value={x:Ir.pageX,y:Ir.pageY},cr.value=Fr,yr.value=!0,dn.value=!1}function mr(Ir){if(!_n.value[Ir]&&Ln.value.length-Object.values(_n.value).filter(Boolean).length<=1){notifyError$1("Должен быть виден хотя бы один столбец");return}_n.value[Ir]=!_n.value[Ir],Yt()}function br(){yr.value=!1,cr.value=null}function Wr(Ir){const Fr=document.getElementById("headerContextMenuId");Fr&&!Fr.contains(Ir.target)&&!Ir.target.closest(".header-filter-activator")&&br()}function Br(Ir){Ir.key==="Escape"&&yr.value&&br()}function ar(Ir,Fr){yt.value===Ir&&vt.value===Fr?(yt.value=null,vt.value=null):(yt.value=Ir,vt.value=Fr)}function io(Ir){return yt.value===Ir||V.value[Ir]||Dt.value[Ir]?.length>0||Pt.value[Ir]}function Bo(){_n.value={},Yt()}function Ur(Ir){let Fr=Dt.value[cr.value]||[];Fr.includes(Ir)?Fr=Fr.filter(Da=>Da!==Ir):Fr.push(Ir),Dt.value[cr.value]=Fr,Fr.length===0&&delete Dt.value[cr.value]}function ka(){Ft.value={},Ln.value.forEach((Ir,Fr)=>{Ft.value[Fr]=[],M.data.forEach(Da=>{let fs=Ft.value[Fr]||[];typeof Ir.Field=="function"?fs.push(Ir.Field(Da)):fs.push(Da[Ir.Field]),Ft.value[Fr]=fs}),Ft.value[Fr]=[...new Set(Ft.value[Fr])],Ft.value[Fr].sort()})}function pu(Ir){if(!Ft.value[Ir])return[];let Fr=[...Ft.value[Ir]];return Fr=Fr.filter(Da=>Da&&String(Da).toLowerCase().includes(At.value)),Fr}function Ba(Ir){Dt.value[Ir]=Ft.value[Ir]}function sf(Ir){Pt.value[Ir]=!Pt.value[Ir],Pt.value[Ir]||delete Pt.value[Ir]}function Cf(Ir){let Fr=!1;dn.value&&(sn(),Fr=!0),yr.value&&(br(),Fr=!0),!Fr&&J("rowClicked",Ir)}function hl(){($t.value.length>0?$t.value:null)||($t.value=Ln.value.map((Fr,Da)=>({originalIndex:Da,displayIndex:Da,title:Fr.Title}))),Rt.value=!0,br()}function Bf(){Rt.value=!1}function Ka(Ir,Fr){Gt.value=Fr,Ir.dataTransfer.effectAllowed="move"}function Tu(Ir,Fr){if(Gt.value===null||Gt.value===Fr)return;const Da=$t.value[Gt.value],fs=[...$t.value];fs.splice(Gt.value,1),fs.splice(Fr,0,Da),fs.forEach((eu,ha)=>{eu.displayIndex=ha}),$t.value=fs,Gt.value=null}function Uo(Ir,Fr){if(Fr==="up"&&Ir>0){const Da=$t.value[Ir];$t.value[Ir]=$t.value[Ir-1],$t.value[Ir-1]=Da,$t.value[Ir].displayIndex=Ir,$t.value[Ir-1].displayIndex=Ir-1}else if(Fr==="down"&&Ir<$t.value.length-1){const Da=$t.value[Ir];$t.value[Ir]=$t.value[Ir+1],$t.value[Ir+1]=Da,$t.value[Ir].displayIndex=Ir,$t.value[Ir+1].displayIndex=Ir+1}}function qo(){$t.value=M.columns.map((Ir,Fr)=>({originalIndex:Fr,displayIndex:Fr,title:Ir.Title}))}function af(){const Ir=$t.value.map(Fr=>Fr.originalIndex);try{const Fr=JSON.parse(localStorage.getItem(STORAGE_KEY_COLUMN_ORDER)||"{}");Fr[M.tableId]=Ir,localStorage.setItem(STORAGE_KEY_COLUMN_ORDER,JSON.stringify(Fr))}catch(Fr){console.error("Ошибка при сохранении порядка столбцов:",Fr)}Bf()}function yd(Ir){if(!Ir||!Array.isArray(Ir))return;const Fr=Ir.filter(Da=>Da>=0&&Da<M.columns.length);Fr.length===M.columns.length&&($t.value=Fr.map((Da,fs)=>({originalIndex:Da,displayIndex:fs,title:M.columns[Da].Title})))}return I({exportToXlsx:rr,filteredData:wr,showOnlyEmpty:Pt,filterByValue:Dt,filterOption:V,saveTableState:Yt}),(Ir,Fr)=>{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$e,[vue.createVNode(vue.unref(P2),{onClick:rr,prependIcon:"file-arrow-down"},{default:vue.withCtx(()=>[...Fr[11]||(Fr[11]=[vue.createTextVNode("Экспорт в Excel",-1)])]),_:1})])):vue.createCommentVNode("",!0),vue.createElementVNode("div",_hoisted_3$a,[vue.createVNode(Da,{class:vue.normalizeClass(["h-full pb-4",M.tableClass]),options:{wheelPropagation:M.wheelPropagation}},{default:vue.withCtx(()=>[vue.createElementVNode("table",_hoisted_4$9,[vue.createElementVNode("thead",{class:vue.normalizeClass({sticky:M.stickyHeader})},[vue.createElementVNode("tr",null,[M.numbering?(vue.openBlock(),vue.createElementBlock("th",_hoisted_5$8,"№")):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(fs,eu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("th",{class:"min-w-[120px] relative",key:fs.Title},[vue.createVNode(vue.unref(kt),{shown:yr.value&&vue.unref(cr)!==null&&eu===vue.unref(cr),triggers:[],autoHide:!1,noAutoFocus:""},{popper:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_8$7,[vue.createElementVNode("p",_hoisted_9$5,vue.toDisplayString(Ln.value[vue.unref(cr)]?.Title),1),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":yt.value===vue.unref(cr)&&vt.value==="asc"}]),onClick:Fr[0]||(Fr[0]=ha=>ar(vue.unref(cr),"asc"))}," Сортировать А > Я ",2),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":yt.value===vue.unref(cr)&&vt.value==="desc"}]),onClick:Fr[1]||(Fr[1]=ha=>ar(vue.unref(cr),"desc"))}," Сортировать Я > А ",2),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("details",_hoisted_10$5,[Fr[12]||(Fr[12]=vue.createElementVNode("summary",{class:"rs-table-btn"},"Поиск по значению",-1)),vue.createVNode(vue.unref(IA),{type:"text",placeholder:"Введите значение",modelValue:V.value[vue.unref(cr)],"onUpdate:modelValue":Fr[2]||(Fr[2]=ha=>V.value[vue.unref(cr)]=ha),modelModifiers:{lazy:!0}},null,8,["modelValue"])]),vue.createElementVNode("details",_hoisted_11$4,[vue.createElementVNode("summary",_hoisted_12$3,[Fr[13]||(Fr[13]=vue.createTextVNode(" Фильтр по значению ",-1)),Dt.value[vue.unref(cr)]?.length>0?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"circle-exclamation"})):vue.createCommentVNode("",!0)]),vue.createVNode(vue.unref(IA),{placeholder:"Введите значение",modelValue:At.value,"onUpdate:modelValue":Fr[3]||(Fr[3]=ha=>At.value=ha)},null,8,["modelValue"]),vue.createElementVNode("div",_hoisted_13$3,[vue.createElementVNode("p",null," Показано "+vue.toDisplayString(Dt.value[vue.unref(cr)]?.length?Dt.value[vue.unref(cr)].length:Ft.value[vue.unref(cr)]?.length)+" из "+vue.toDisplayString(Ft.value[vue.unref(cr)]?.length),1),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Fr[4]||(Fr[4]=ha=>Ba(vue.unref(cr)))},"Все"),vue.createElementVNode("p",{class:"cursor-pointer hover:text-slate-700 hover:underline",onClick:Fr[5]||(Fr[5]=ha=>delete Dt.value[vue.unref(cr)])}," Сбросить ")]),vue.createVNode(Da,{class:"max-h-[300px] max-w-[600px]"},{default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_14$2,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(pu(vue.unref(cr)),ha=>(vue.openBlock(),vue.createElementBlock("div",{key:ha,class:"flex gap-1 select-none cursor-pointer hover:bg-slate-100 rounded",onClick:Xo=>Ur(ha)},[vue.createVNode(vue.unref(Kc),{checked:Dt.value[vue.unref(cr)]?.includes(ha)},null,8,["checked"]),vue.createElementVNode("p",null,vue.toDisplayString(ha||"(пусто)"),1)],8,_hoisted_15$2))),128))])]),_:1})]),vue.createElementVNode("details",_hoisted_16$2,[Fr[14]||(Fr[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:Bo}," Показать все "),vue.createVNode(Da,{class:"max-h-[300px] overflow-y-auto"},{default:vue.withCtx(()=>[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(ha,Xo)=>(vue.openBlock(),vue.createElementBlock("div",{key:ha.Title,class:"flex items-center gap-1 px-2 py-1 hover:bg-slate-100 cursor-pointer",onClick:Ea=>mr(Xo)},[vue.createVNode(vue.unref(Z1),{class:"text-slate-500",name:_n.value[Xo]?"square":"check-square"},null,8,["name"]),vue.createElementVNode("span",null,vue.toDisplayString(ha.Title),1)],8,_hoisted_17$2))),128))]),_:2},1024)]),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:vue.normalizeClass(["rs-table-btn",{"!font-bold !text-slate-500 !bg-slate-200":Pt.value[vue.unref(cr)]}]),onClick:Fr[6]||(Fr[6]=ha=>sf(vue.unref(cr)))}," Показать только пустые ",2),vue.createVNode(vue.unref(Iv1)),vue.createElementVNode("p",{class:"rs-table-btn",onClick:hl},"Изменить порядок столбцов")])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_6$8,[vue.createElementVNode("div",{onClick:ha=>fs.filterable!=!1?gr(ha,eu):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(fs.Title),3),fs.filterable!=!1?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:"filter",class:vue.normalizeClass([{activeFilter:io(eu)},"text-slate-500"])},null,8,["class"])):vue.createCommentVNode("",!0)],8,_hoisted_7$7)])]),_:2},1032,["shown"]),vue.createElementVNode("div",{class:"column-resizer",onMousedown:Fr[7]||(Fr[7]=ha=>ir(ha)),onDblclick:ha=>Hn(eu)},null,40,_hoisted_18$2)])),[[vue.vShow,!_n.value[eu]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("th",_hoisted_19$2,[...Fr[15]||(Fr[15]=[vue.createElementVNode("p",null,"Действия",-1)])])):vue.createCommentVNode("",!0)])],2),vue.createElementVNode("tbody",null,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Vn.value,(fs,eu)=>(vue.openBlock(),vue.createElementBlock("tr",{class:vue.normalizeClass({"even:bg-slate-50":M.striped}),onContextmenu:vue.withModifiers(ha=>tr(ha,fs),["right","prevent"]),onClick:ha=>Cf(fs),key:fs,style:vue.normalizeStyle({backgroundColor:dn.value&&yn.value===fs?"rgba(0, 0, 0, 0.05)":"",backgroundColor:e.rowColor(fs)})},[M.numbering?(vue.openBlock(),vue.createElementBlock("td",_hoisted_21$2,vue.toDisplayString(Xt.value*parseInt(zt.value)-parseInt(zt.value)+1+eu),1)):vue.createCommentVNode("",!0),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(ha,Xo)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:ha.Title,class:vue.normalizeClass(["hover:bg-slate-200",typeof ha.Class=="function"?ha.Class(fs):ha.Class]),onClick:Ea=>J("cellClicked",{record:fs,column:ha,index:Xo}),title:typeof ha.titleOnHover=="function"?ha.titleOnHover(fs):ha.titleOnHover},[ha.Template?(vue.openBlock(),vue.createElementBlock("div",_hoisted_23$1,[vue.renderSlot(Ir.$slots,`cell(${ha.Template})`,{record:fs},void 0,!0)])):ha.List?(vue.openBlock(),vue.createElementBlock("div",_hoisted_24$1,vue.toDisplayString(ha.List.find(Ea=>Ea.Id===fs[ha.Field])?.Name||""),1)):(vue.openBlock(),vue.createElementBlock("div",_hoisted_25$1,[vue.createElementVNode("p",{class:vue.normalizeClass(["primary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof ha.Field=="function"?ha.Field(fs):fs[ha.Field]},vue.toDisplayString(typeof ha.Field=="function"?ha.Field(fs):fs[ha.Field]),11,_hoisted_26$1),vue.createElementVNode("p",{class:vue.normalizeClass(["secondary-text",{"whitespace-nowrap":M.growOnlyX}]),title:typeof ha.LowField=="function"?ha.LowField(fs):fs[ha.LowField]},vue.toDisplayString(typeof ha.LowField=="function"?ha.LowField(fs):fs[ha.LowField]),11,_hoisted_27$1)]))],10,_hoisted_22$1)),[[vue.vShow,!_n.value[Xo]]])),128)),M.rowActions.length?(vue.openBlock(),vue.createElementBlock("td",_hoisted_28$1,[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,ha=>(vue.openBlock(),vue.createElementBlock("span",{class:"rowAction whitespace-nowrap",onClick:vue.withModifiers(Xo=>ha.Action(fs),["stop"]),key:ha},[typeof ha.IsVisible!="function"||ha.IsVisible(fs)?(vue.openBlock(),vue.createElementBlock("div",_hoisted_30$1,[ha.Icon?(vue.openBlock(),vue.createBlock(vue.unref(Z1),{key:0,name:ha.Icon},null,8,["name"])):vue.createCommentVNode("",!0),vue.createTextVNode(" "+vue.toDisplayString(ha.Name),1)])):vue.createCommentVNode("",!0)],8,_hoisted_29$1))),128))],2)])):vue.createCommentVNode("",!0)],46,_hoisted_20$2))),128)),M.footer?(vue.openBlock(),vue.createElementBlock("tr",_hoisted_31$1,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(Ln.value,(fs,eu)=>vue.withDirectives((vue.openBlock(),vue.createElementBlock("td",{key:fs.Title},[typeof fs.Footer=="function"?(vue.openBlock(),vue.createElementBlock("p",_hoisted_32$1,vue.toDisplayString(fs.Footer(Ir.row)),1)):(vue.openBlock(),vue.createElementBlock("p",_hoisted_33$1,vue.toDisplayString(fs.Footer),1))])),[[vue.vShow,!_n.value[eu]]])),128))])):vue.createCommentVNode("",!0),hr.value?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("tr",_hoisted_34$1,[...Fr[16]||(Fr[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"])]),dn.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(dz1),{spacing:"xs"},{default:vue.withCtx(()=>[xn.value.length?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createElementBlock("p",_hoisted_35,"Нет доступных действий контекстного меню")),(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(xn.value,fs=>(vue.openBlock(),vue.createBlock(vue.unref(P2),{key:fs,prependIcon:fs.Icon,onClick:eu=>(fs.Action(yn.value),sn())},{default:vue.withCtx(()=>[vue.createTextVNode(vue.toDisplayString(fs.Name),1)]),_:2},1032,["prependIcon","onClick"]))),128))]),_:1})],4)):vue.createCommentVNode("",!0),vue.createVNode(vue.unref(Ds),{title:"Изменение порядка столбцов",modelValue:Rt.value,"onUpdate:modelValue":Fr[9]||(Fr[9]=fs=>Rt.value=fs),closeOnClickOutside:!0,class:"p-2"},{footer:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_44,[vue.createVNode(vue.unref(P2),{onClick:qo,variant:"outline",size:"sm"},{default:vue.withCtx(()=>[...Fr[18]||(Fr[18]=[vue.createTextVNode("Сбросить",-1)])]),_:1}),vue.createVNode(vue.unref(P2),{onClick:af,size:"sm"},{default:vue.withCtx(()=>[...Fr[19]||(Fr[19]=[vue.createTextVNode("Сохранить",-1)])]),_:1})])]),default:vue.withCtx(()=>[vue.createElementVNode("div",_hoisted_36,[Fr[17]||(Fr[17]=vue.createElementVNode("p",{class:"text-sm text-gray-600 mb-2"},"Перетащите столбцы для изменения их порядка:",-1)),vue.createElementVNode("div",_hoisted_37,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList($t.value,(fs,eu)=>(vue.openBlock(),vue.createElementBlock("div",{key:fs.originalIndex,class:"flex items-center justify-between p-2 mb-1 bg-white rounded border cursor-move hover:bg-gray-50",draggable:"true",onDragstart:ha=>Ka(ha,eu),onDragover:Fr[8]||(Fr[8]=vue.withModifiers(()=>{},["prevent"])),onDrop:ha=>Tu(ha,eu)},[vue.createElementVNode("div",_hoisted_39,[vue.createVNode(vue.unref(Z1),{name:"grip-vertical",class:"text-gray-400 text-sm"}),vue.createElementVNode("span",_hoisted_40,vue.toDisplayString(fs.title),1)]),vue.createElementVNode("div",_hoisted_41,[eu>0?(vue.openBlock(),vue.createElementBlock("button",{key:0,onClick:ha=>Uo(eu,"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)):vue.createCommentVNode("",!0),eu<$t.value.length-1?(vue.openBlock(),vue.createElementBlock("button",{key:1,onClick:ha=>Uo(eu,"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)):vue.createCommentVNode("",!0)])],40,_hoisted_38))),128))])])]),_:1},8,["modelValue"])],12,_hoisted_1$i),vue.createElementVNode("div",_hoisted_45,[vue.createElementVNode("div",_hoisted_46,[Bn.value>1?(vue.openBlock(),vue.createElementBlock("ul",_hoisted_47,[(vue.openBlock(!0),vue.createElementBlock(vue.Fragment,null,vue.renderList(or.value,fs=>(vue.openBlock(),vue.createElementBlock("li",{key:fs,class:vue.normalizeClass({active:fs===Xt.value}),onClick:eu=>fs!=="..."?Xt.value=fs:null},[vue.createElementVNode("a",null,vue.toDisplayString(fs),1)],10,_hoisted_48))),128))])):vue.createCommentVNode("",!0),M.enablePageSizeSelector?(vue.openBlock(),vue.createElementBlock("div",_hoisted_49,[Fr[21]||(Fr[21]=vue.createElementVNode("span",{class:"text-sm text-slate-500"},"Показать:",-1)),vue.withDirectives(vue.createElementVNode("select",{"onUpdate:modelValue":Fr[10]||(Fr[10]=fs=>zt.value=fs),class:"text-sm border rounded px-1 py-0.5 w-[60px] border-slate-300"},[...Fr[20]||(Fr[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,zt.value]])])):vue.createCommentVNode("",!0)]),vue.createElementVNode("p",_hoisted_50," Записи "+vue.toDisplayString(Xt.value*parseInt(zt.value)-parseInt(zt.value)+1)+"-"+vue.toDisplayString(Math.min(Xt.value*parseInt(zt.value),hr.value))+" из "+vue.toDisplayString(hr.value),1)])],64)}}},ReSimpleTableAppCompany=_export_sfc(_sfc_main$o,[["__scopeId","data-v-e04facb3"]]),_hoisted_1$h={class:"w-full h-full absolute top-0 left-0 flex justify-center items-center animate-pulse z-[5000]"},_hoisted_2$d={class:"border rounded p-2 bg-slate-100"},_hoisted_3$9={class:"h-full flex flex-col p-3 gap-3"},_sfc_main$n={__name:"PatientInfoPageAppCompany",props:{patientId:{type:String,default:"",required:!0},patientSnils:{type:String,default:"",required:!0},nameApp:{type:String,default:""}},setup(e){const I=vue.computed(()=>useUserStore().user),N=e,J=vue.ref(!1),V=vue.ref(!1),M=vue.ref(!1),vt=vue.ref(null),yt=vue.ref(null),At=vue.ref(null),Dt=vue.ref(!1),Ft=[{Name:"Просмотр",Icon:"eye",Action:rn=>Xt(rn.NeedsId,rn.ApplicationId,rn.MessageWarning,rn.Period,rn.AdditionalApp)}],Pt=vue.computed(()=>{const rn=hooks().year(),wn=2025,fn=rn+1,hn=[];for(let bn=wn;bn<=fn;bn++)hn.push({Id:bn.toString(),Name:bn.toString()});return hn}),Rt=vue.computed(()=>{const rn=[];for(let wn=0;wn<=listStatuses.length;wn++)rn.push({Id:listStatuses[wn],Name:listStatuses[wn]});return rn});vue.onMounted(()=>{zt(null)});const $t=vue.ref(null),Gt=vue.ref([]);async function zt(rn){M.value=!1,Ht.value=!1,At.value=null,Dt.value=!1,yt.value=null,vt.value=null,V.value=!1;try{N.patientId&&(J.value=!0,Gt.value=await window.axios.get(window.localhost+`ApplicationCompany/PatientApplications?PatientId=${N.patientId}&Sort=CreateDateApp&Desc=true`,{params:rn||{}}).then(wn=>wn.data.map(fn=>({...fn,SumPrepapp:fn.SumPrepapp.replace(".",","),SumPrepappfinal:fn.SumPrepappfinal.replace(".",",")}))))}catch(wn){const fn=wn.response?.data?.message||wn.message||"Неизвестная ошибка";notifyError$1(`${fn}. Пожалуйста, выполните поиск повторно`,15e3,"Ошибка загрузки данных")}finally{J.value=!1}}const Ht=vue.ref(!1);async function Yt(rn){let wn=await window.axios.get(window.localhost+`ApplicationCompany/Application?ApplicationId=${rn}`).then(fn=>fn.data).catch(fn=>{});return vt.value=wn,wn?(wn.DateClose&&hooks(wn.DateClose).format("YYYY-MM-DD")<hooks().format("YYYY-MM-DD")||wn.Status!="В работе"&&wn.Status!="Заполнение льгот"&&wn.Status!="Проверка"&&wn.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 Kt(rn){return rn.MessageWarning?"#fff6f6":""}async function Xt(rn,wn,fn,hn,bn){if(!rn){notifyWarning(fn,15e3,"Уведомление системы"),console.log(fn);return}yt.value=rn,At.value=hn,Dt.value=bn;const{status:_n,notify:yr}=await Yt(wn);switch(_n&&!yr?.type&&(Ht.value=!0,V.value=!1),_n&&yr?.type==="warn"&&(Ht.value=!0,V.value=!0),yr.type){case"error":notifyError$1(yr.message,yr.duration,yr.title),console.log(`${yr.message} ${yr.duration} ${yr.title}`);break;case"warn":notifyWarning(yr.message,yr.duration,yr.title),console.log(`${yr.message} ${yr.duration} ${yr.title}`);break}}async function dn(rn){"filters"in rn&&(rn=rn.filters),rn={...rn},$t.value=Object.keys(rn).length>0?rn:null,M.value=!0,console.log($t.value);try{await zt($t.value)}catch(wn){notifyError$1(`Ошибка при загрузке данных:
|
|
1304
1304
|
`+wn.message)}finally{M.value=!1}}vue.watch(()=>Ht.value,rn=>{rn||(M.value=!1,Ht.value=!1,At.value=null,Dt.value=!1,yt.value=null,vt.value=null,V.value=!1)});const cn=[{name:"Наличие потребности в карте пациента",type:"select",accessor:"IsNeed",list:[{Id:"IsCreate",Name:"Да"},{Id:"IsNotCreate",Name:"Нет"}]},{name:"Статус потребности",type:"select",accessor:"Status",list:Rt.value},{name:"Период",type:"select",accessor:"Period",list:Pt.value},{name:"Заявка",type:"select",accessor:"Additional",list:[{Id:!0,Name:"Допонительная"},{Id:!1,Name:"Основная"}]},{name:"Программа",type:"select",accessor:"ProgramId",list:Object.entries(approvedBenefitProgramToPreparatProgramm).map(([rn,wn])=>({Id:rn,Name:approvedBenefitProgram[wn]}))}],yn=[{Title:"№",Field:"ApplicationNumber",SortMethod:(rn,wn)=>{const fn=parseInt(rn.ApplicationNumber,10),hn=parseInt(wn.ApplicationNumber,10);return fn-hn}},{Title:"Заявка",Field:"AdditionalApp",List:[{Id:!0,Name:"Допонительная"},{Id:!1,Name:"Основная"}]},{Title:"Дата создания",Field:rn=>rn.CreateDateTimeApp?hooks(rn.CreateDateTimeApp).format("DD.MM.YYYY"):""},{Title:"Дата закрытия",Field:rn=>rn.DateCloseApp?hooks(rn.DateCloseApp).format("DD.MM.YYYY"):""},{Title:"Статус",Field:"StatusApp",Class:"whitespace-nowrap"},{Title:"Комментарий к заявке",Field:"CommentApp",Class:"min-w-[300px] max-w-[300px] break-all"},{Title:"Период",Field:"Period",SortMethod:(rn,wn)=>{const fn=parseInt(rn.Period,10),hn=parseInt(wn.Period,10);return fn-hn}},{Title:"ЛПУ",Field:"LpuName",Class:"whitespace-nowrap"},{Title:"Отделение",Field:"DivisionName"},{Title:"Программа",Field:"Program"},{Title:"Категория",Field:"LgotaCode",SortMethod:(rn,wn)=>{const fn=parseInt(rn.LgotaCode,10)||0,hn=parseInt(wn.LgotaCode,10)||0;return fn-hn}},{Title:"Заболевание по МКБ-10",Field:"MkbCode"},{Title:"Номер ВК",Field:"NumberVk",SortMethod:(rn,wn)=>{const fn=parseInt(rn.NumberVk,10)||0,hn=parseInt(wn.NumberVk,10)||0;return fn-hn}},{Title:"Дата ВК",Field:rn=>rn.DateVk?hooks(rn.DateVk).format("DD.MM.YYYY"):""},{Title:"Наличие НПР в потребности",Field:rn=>rn.PnNpr?"Да":"Нет"},{Title:"Номер НПР в потребности",Field:"PnNprNumber",SortMethod:(rn,wn)=>{const fn=parseInt(rn.PnNprNumber,10)||0,hn=parseInt(wn.PnNprNumber,10)||0;return fn-hn}},{Title:"Дата НПР в потребности",Field:rn=>rn.PnNprDate?hooks(rn.PnNprDate).format("DD.MM.YYYY"):""},{Title:"МНН",Field:"Mnn",Class:"min-w-[300px] max-w-[300px] break-all"},{Title:"Торговое наименование",Field:"TradeName",Class:"min-w-[300px] max-w-[300px] break-all"},{Title:"Описание",Field:"Description",Class:"min-w-[300px] max-w-[300px] break-all"},{Title:"Дозировка",Field:"Dosage",Class:"min-w-[300px] max-w-[300px] break-all"},{Title:"ЖВ",Field:rn=>rn.Sign?"Да":"Нет"},{Title:"Взаимозаменяемость",Field:rn=>rn.Interchangeability?"Да":"Нет"},{Title:"Кто создал/редактировал потребность",Field:"PnEmployeePostFIO"},{Title:"Количество упаковок на месяц",Field:"CountMonth",SortMethod:(rn,wn)=>{const fn=parseInt(rn.CountMonth,10)||0,hn=parseInt(wn.CountMonth,10)||0;return fn-hn}},{Title:"Количество упаковок на год",Field:"CountYear",SortMethod:(rn,wn)=>{const fn=parseInt(rn.CountYear,10)||0,hn=parseInt(wn.CountYear,10)||0;return fn-hn}},{Title:"Количество упаковок в сводной потребности на год",Field:"CountPrepapp",SortMethod:(rn,wn)=>{const fn=parseInt(rn.CountPrepapp,10)||0,hn=parseInt(wn.CountPrepapp,10)||0;return fn-hn}},{Title:"Сумма в сводной потребности на год",Field:"SumPrepapp",SortMethod:(rn,wn)=>{const fn=parseFloat(rn.SumPrepapp,10)||0,hn=parseFloat(wn.SumPrepapp,10)||0;return fn-hn}},{Title:"Количество упаковок в сводной заявке на год",Field:"CountPrepappfinal",SortMethod:(rn,wn)=>{const fn=parseInt(rn.CountPrepappfinal,10)||0,hn=parseInt(wn.CountPrepappfinal,10)||0;return fn-hn}},{Title:"Сумма в сводной заявке на год",Field:"SumPrepappfinal",SortMethod:(rn,wn)=>{const fn=parseFloat(rn.SumPrepappfinal,10)||0,hn=parseFloat(wn.SumPrepappfinal,10)||0;return fn-hn}},{Title:"Комментарий к потребности",Field:"CommentNeed",Class:"min-w-[500px] max-w-[500px] break-all"},{Title:"Примечание",Field:"MessageWarning",Class:"whitespace-nowrap"}];return(rn,wn)=>(vue.openBlock(),vue.createElementBlock(vue.Fragment,null,[vue.withDirectives(vue.createElementVNode("div",_hoisted_1$h,[...wn[4]||(wn[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,J.value]]),vue.createElementVNode("div",_hoisted_2$d,[vue.createVNode(_sfc_main$z,{"filter-list":cn,onSearch:dn,class:"flex justify-end"})]),vue.createElementVNode("div",_hoisted_3$9,[wn[5]||(wn[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":!0,data:Gt.value,columns:yn,"page-size":20,"enable-page-size-selector":"","table-id":"appsList","context-actions":Ft,rowColor:Kt,height:"calc(100vh - 560px)","sticky-header":"true"},null,8,["data"])]),Ht.value?(vue.openBlock(),vue.createBlock(_sfc_main$p,{key:0,"user-open":I.value,"patient-id":N.patientId,"patient-snils":N.patientSnils,"selected-application":vt.value,"need-id":yt.value,"read-only":!0,"hidden-control":!0,additional:Dt.value,"doc-app-year":At.value,"modal-visible":Ht.value,"onUpdate:modalVisible":wn[0]||(wn[0]=fn=>Ht.value=fn),"wait-request":M.value,"onUpdate:waitRequest":wn[1]||(wn[1]=fn=>M.value=fn),onOnSave:wn[2]||(wn[2]=fn=>zt()),onOnDelete:wn[3]||(wn[3]=fn=>zt())},null,8,["user-open","patient-id","patient-snils","selected-application","need-id","additional","doc-app-year","modal-visible","wait-request"])):vue.createCommentVNode("",!0)],64))}},_hoisted_1$g={class:"grid grid-cols-2 gap-4 p-4"},_hoisted_2$c={class:"flex flex-col gap-2"},_hoisted_3$8={class:"flex items-center gap-2"},_hoisted_4$8={class:"flex items-center gap-2"},_hoisted_5$7={class:"flex items-center gap-2"},_hoisted_6$7={class:"flex flex-col gap-2"},_hoisted_7$6={class:"flex items-center gap-2"},_hoisted_8$6={class:"flex items-center gap-2"},_hoisted_9$4={class:"flex items-center gap-2"},_hoisted_10$4={class:"col-span-2 flex flex-col gap-2"},_hoisted_11$3={class:"flex items-center gap-2"},_hoisted_12$2={class:"flex items-center gap-2"},_hoisted_13$2={class:"border-t border-gray-200 mt-4 pt-4"},_sfc_main$m={__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}},setup(e){const I=e;return(N,J)=>(vue.openBlock(),vue.createElementBlock("div",null,[vue.createVNode(vue.unref(Wv1),{grow:"","keep-mounted":""},{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Uv1),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Gv1),null,{default:vue.withCtx(()=>[...J[0]||(J[0]=[vue.createElementVNode("h2",null,"Данные пациента",-1)])]),_:1}),I.infoOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(Gv1),{key:0},{default:vue.withCtx(()=>[...J[1]||(J[1]=[vue.createElementVNode("h2",null,"Заявочная кампания",-1)])]),_:1}))]),_:1}),vue.createVNode(vue.unref(Yv1),null,{default:vue.withCtx(()=>[vue.createVNode(vue.unref(Xv1),null,{default:vue.withCtx(()=>[vue.createElementVNode("div",null,[vue.createElementVNode("div",_hoisted_1$g,[vue.createElementVNode("div",_hoisted_2$c,[vue.createElementVNode("div",_hoisted_3$8,[J[2]||(J[2]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"ФИО:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.PatientFio),1)]),vue.createElementVNode("div",_hoisted_4$8,[J[3]||(J[3]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"СНИЛС:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.PatientSnils),1)]),vue.createElementVNode("div",_hoisted_5$7,[J[4]||(J[4]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Дата рождения:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(vue.unref(hooks)(I.patient.PatientBirthdate).format("DD.MM.YYYY")),1)])]),vue.createElementVNode("div",_hoisted_6$7,[vue.createElementVNode("div",_hoisted_7$6,[J[5]||(J[5]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Полис:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.PolicyNumber),1)]),vue.createElementVNode("div",_hoisted_8$6,[J[6]||(J[6]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"СМО:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.SmoName),1)]),vue.createElementVNode("div",_hoisted_9$4,[J[7]||(J[7]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Прикрепление:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.AttachedMoName),1)])]),vue.createElementVNode("div",_hoisted_10$4,[vue.createElementVNode("div",_hoisted_11$3,[J[8]||(J[8]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Адрес регистрации:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.AddressReg),1)]),vue.createElementVNode("div",_hoisted_12$2,[J[9]||(J[9]=vue.createElementVNode("span",{class:"font-medium text-gray-600"},"Адрес фактический:",-1)),vue.createElementVNode("span",null,vue.toDisplayString(I.patient.AddressFact),1)])])]),vue.createElementVNode("div",_hoisted_13$2,[J[10]||(J[10]=vue.createElementVNode("h3",{class:"text-lg font-medium text-gray-900 mb-4"}," Льготы пациента ",-1)),vue.createVNode(_sfc_main$s,{"data-patient":I.patient,"name-project":I.nameProject,"user-open":e.user},null,8,["data-patient","name-project","user-open"])])])]),_:1}),I.infoOnly?vue.createCommentVNode("",!0):(vue.openBlock(),vue.createBlock(vue.unref(Xv1),{key:0},{default:vue.withCtx(()=>[vue.createVNode(_sfc_main$n,{"patient-id":I.patient.PatientId,"patient-snils":I.patient.PatientSnils},null,8,["patient-id","patient-snils"])]),_:1}))]),_:1})]),_:1})]))}};var Mode=(e=>(e[e.DELAY=0]="DELAY",e[e.INTERVAL=1]="INTERVAL",e[e.INTERVAL_BLOCK=2]="INTERVAL_BLOCK",e))(Mode||{});const hz=class hz{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}};hz.MODE=Mode;let ActionLimiter=hz;const DEFAULT_TYPE$1="string",TYPES=["string","boolean","number","date"],defaultMethods$1={"=":{compare:(e,I,N="string")=>N==="date"?e.isSame(I):e===I,types:TYPES,icon:"equals"},"!=":{compare:(e,I,N="string")=>N==="date"?!e.isSame(I):e!==I,types:TYPES,icon:"not-equal"},">":{compare:(e,I,N="string")=>N==="date"?e.isBefore(I):e>I,types:["number","date"],icon:"greater-than"},">=":{compare:(e,I,N="string")=>N==="date"?e.isSameOrBefore(I):e>=I,types:["number","date"],icon:"greater-than-equal"},"<":{compare:(e,I,N="string")=>N==="date"?e.isAfter(I):e<I,types:["number","date"],icon:"less-than"},"<=":{compare:(e,I,N="string")=>N==="date"?e.isSameOrAfter(I):e<=I,types:["number","date"],icon:"less-than-equal"},include:{compare:(e,I)=>I?String(I).toLowerCase().includes(e.toLowerCase()):!1,types:["string"],icon:"t"},exclude:{compare:(e,I)=>I?!String(I).toLowerCase().includes(e.toLowerCase()):!0,types:["string"],icon:"text-slash"}},types$1={string:{method:"include",value:""},number:{method:"=",value:null},boolean:{method:"=",value:!1},date:{method:"=",value:""}};function getFilterValue$1(e){return e in types$1?types$1[e].value:types$1[DEFAULT_TYPE$1].value}function getFilterMethod$1(e){return e in types$1?types$1[e].method:types$1[DEFAULT_TYPE$1].method}function getMethodIcon$1(e){return e in defaultMethods$1?defaultMethods$1[e].icon:"question"}function getFilter$1(e){return{method:getFilterMethod$1(e),value:getFilterValue$1(e)}}function getMethodsForType$1(e){if(typeof e=="string"&&TYPES.includes(e)){let I=[];for(let N in defaultMethods$1)defaultMethods$1[N].types.includes(e)&&I.push(N);return I}else{let I=new Error('Невозможно получить список методов сравнения для неопределённого типа: "'+e+'"');throw console.error(I),I}}function compare$1(e,I,N="string"){let J=e.value,V=I;if(N==="date"&&(J=hooks(hooks(J).format("YYYY-MM-DD")),V=hooks(hooks(V).format("YYYY-MM-DD"))),e?.method&&e.method in defaultMethods$1)if(e?.value??!1)try{return defaultMethods$1[e.method].compare(J,V,N)}catch(M){throw new Error(`Не удалось сравнить данные для фильтрации.
|
|
1305
1305
|
`+J+`
|
|
1306
1306
|
`+V+`
|