@studio-west/employees 0.7.4 → 0.7.6

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.
@@ -2,6 +2,6 @@
2
2
  RussianNounsJS v2.5.0
3
3
  Copyright (c) 2011-2026 Georgy Ustinov
4
4
  Released under the MIT license
5
- */var ln=Je.exports,At;function sn(){return At||(At=1,function(se){(function(T,u){se.exports?se.exports=u():T.RussianNouns=u()})(typeof self<"u"?self:ln,function(){const T=Object.freeze(["именительный","родительный","дательный","винительный","творительный","предложный","местный"]),u=Object.freeze({NOMINATIVE:T[0],GENITIVE:T[1],DATIVE:T[2],ACCUSATIVE:T[3],INSTRUMENTAL:T[4],PREPOSITIONAL:T[5],LOCATIVE:T[6]}),te=Object.freeze(["женский","мужской","средний","общий"]),M=Object.freeze({FEMININE:te[0],MASCULINE:te[1],NEUTER:te[2],COMMON:te[3]});function H(s){let t=new Array(s.length);for(let r=0;r<s.length;r++){let l=s.charCodeAt(r);l>=1040&&l<=1071?l+=32:l>=1024&&l<=1039&&(l+=80),t[r]=l}return String.fromCharCode.apply(null,t)}function me(s){if(s==null)return"No parameters specified.";for(let t of["pluraleTantum","indeclinable","animate","surname","name","transport"])if((l=>l!=null&&typeof l!="boolean")(s[t]))return""+t+" must be boolean.";if(s.text==null)return"A cyrillic word required.";if(!s.pluraleTantum){if(s.gender==null)return"A grammatical gender required.";if(!te.includes(s.gender))return"Bad grammatical gender."}return null}class D{constructor(t){t instanceof D?(this._txt=t._txt,this._lc=t._lc,this._hash=t._hash,this._flags=t._flags):(t.pluraleTantum?this._flags=5:this._flags=1+te.indexOf(t.gender),this._txt=t.text,this._lc=t.text.toLowerCase(),this._hash=ve(this._lc),this._flags|=8*(t.indeclinable&1),this._flags|=16*(t.animate&1),this._flags|=32*(t.surname&1),this._flags|=64*(t.name&1),this._flags|=128*(t.transport&1),this._flags|=65536*(2+qe(this._lc,t.pluraleTantum,t.gender,t.indeclinable)))}static create(t){if(t instanceof this)return t;const r=me(t);if(r)throw new Error(r);return Object.freeze(new this(t))}static createOrNull(t){return me(t)===null?Object.freeze(new this(t)):null}newText(t){const r=new D(this);return r._txt=t(this),r._lc=r._txt.toLowerCase(),r._hash=ve(r.lower()),r._flags&=65535,r._flags|=65536*(2+qe(r.lower(),r.isPluraleTantum(),r.getGender(),r.isIndeclinable())),Object.freeze(r)}newGender(t){const r=t(this);if(te.includes(r)){const l=new D(this);return l._flags&=65528,l._flags|=1+te.indexOf(r),l._flags|=65536*(2+qe(l.lower(),l.isPluraleTantum(),r,l.isIndeclinable())),Object.freeze(l)}}equals(t){return t instanceof D&&this._flags===t._flags&&this.lower()===t.lower()}text(){return this._txt}lower(){return this._lc}isPluraleTantum(){return(7&this._flags)===5}getGender(){const t=7&this._flags;if(t>=1&&t<=4)return te[t-1]}isIndeclinable(){return(8&this._flags)!==0}isAnimate(){return(16&this._flags)!==0||this.isASurname()||this.isAName()}isASurname(){return(32&this._flags)!==0}isAName(){return(64&this._flags)!==0}isATransport(){return(128&this._flags)!==0}getDeclension(){return(this._flags>>16)-2}getSchoolDeclension(){const t=this.getDeclension();return t===1?2:t===2?1:t}}function b(s){const t=s.lower().includes("ё")&1;return((s._flags&65535)<<1|t)*4294967296+s._hash}function O(s){const t=s.charCodeAt(0)-1072;return t===33?32:t===(31&t)?1<<t:0}function $(s,t){return(s&O(t))!==0}const R=3892855073;function F(s){return $(R,H(s))}function K(s){return $(66567902,s)}function Q(s){return $(66567390,s)}const Y=(s,t)=>t===t.toUpperCase()?s.toUpperCase():s,X=s=>s.split("").filter(F).length,V=(s,t)=>s.substring(s.length-t),w=s=>V(s,1),S=(s,t)=>s.substring(0,s.length-t),g=s=>S(s,1);function ne(s,t){const r=s.length-t-1;return s.substring(r,r+1)}const A=(s,t)=>t.some(r=>s.endsWith(r)),Se=s=>s.filter((t,r)=>s.indexOf(t)===r),oe=s=>s.replaceAll("ё","е").replaceAll("Ё","Е"),ie=(s,t,r)=>(s.length?s:[!1]).map(n=>r(n?oe(t):t,n));function ve(s){const t=s.replaceAll("ё","е");let r=t.length%2,l=1,n=5381;function y(){n=(n*33+(r&255))%4294967296,r=r>>8,l-=8}for(let x of t){const p=x.charCodeAt(0)-1072&31;r|=p<<l,l+=5,l>=8&&y()}l>0&&y();const v=t.charCodeAt(0)%2;return(2147483647&n)*2+v}function ue(s){return s>>>22&2047^s>>>11&2047^s&2047}function Ce(s){const t=s.padStart(3,"а");return(t.charCodeAt(0)&7)<<8|(t.charCodeAt(1)&15)<<4|t.charCodeAt(2)&15}function ye(s,t){return!!(s[t>>>3]>>>7-t%8&1)}function E(s,t){const r=t>>>3;s[r]=s[r]|1<<7-t%8}function z(s){let t=new Map;for(let r of s){let l=t;for(let n=r.length-1;n>=0;n--){const y=r.charCodeAt(n);if(n>0){const v=l.get(y);if(v===0)break;v===void 0&&l.set(y,new Map),l=l.get(y)}else l.set(y,0)}}return t}function W(s,t){let r=t;for(let l=s.length-1;l>=0;l--){const n=s.charCodeAt(l);if(r.has(n)){const y=r.get(n);if(y===0)return!0;r=y}else return!1}}function xe(s){const t=new Set;let r=0;for(let l of s)r+=l,t.add(r);return t}const h=xe([11720389,548,1024,1479,2622,2867,1222,2642,264,1328,137,123,397,65542229,212447047,31729170,8094836,1056,21701789,35520559,40358,21819,28248,119786,63892,31809,7356,74383,72369,5945,28902,90120738,21187517,91925642,3054826,1600765,65934,30948851,5569212,4205640,5412804,6787095,9749916,3940084,1511466,1303038,16090470,1376628,49919694,3827522,37915959,14032615,28701924,224587434,637275762,51079457,391103676,24108070,158999424,232633267,6058815,66599250,692781441,816204112,55209380,72754,90006,80058,45564,67845,42548,27193,21401,139393,750335,170896,4424,1566,6264,154969,17292,17229,175112,83011,117872,4183,13065,108972,108088,343663,66210,334,17090,380271,283272,59007,35796,230801,1067156,19992,157124,12433,252644,2626,23776,630482,531296,304718,90891,726,23116,47653,30493,167310,50156,123071,477118,241821,55660,908992,534269,205157,11218,2490,660,66391,46856,847526,68710,8450,36630,15642,109864,41716,354482,79820,51876,97325,5506,46436,191803,3957,40876,126323,2347821,338490,73216,475569,87602,29642,4220,10760,16896,50156,17424,35178,167244,126786,33643,30488,65045,35961,51453,55660,4,152461,138332,1958,34200,3709,61381,17424,30158,80591,11218,44099,260487]),Oe=xe([11720389,548,1024,1060,4,5904,1848,4404,330555234,4691346,3365076,1045362,7414584,960432,10564312,253286,16178203,4357,4355,11350,31120,5248,40591,62367,54057,50487,13069,3664,39764,10263,3002,5810,8844,24551,4091,56761,21785,30553,55147139,15960625,1933097,12258067,16302047,54210486,45688435,1659767,4813249,33577763,2501798,10056946,672528,14209351,2012340,1655412,4652736,62568,148698,21186,71129124,260014161,108045611,1007583269,2026464,22799532,750068913,1499532,1285428194,74598,22348,6599,132273,309821,156816,397448,179394,148036,100257,21779,11218,36631,345954,50442,104394,2724,112115,30690,10552,31377,11286,7168,14612,51480,116537,192258,163145,65604,97951,1363157,212810,431243,2622,425588,275284,150351,570568,244701,16659,26136,130134,11040,159389,728373,3476,726,1290392,224730,189158,11218,2490,10750,21608,143747,65974,664563,84036,16283,17424,5758,45080,33066,1782,90658,37101,56107,233163,14216,5518,179264,2525,146957,111342,80594,2309,4217,25432,26905,29980,518951,1458289,523705,4202,477865,149368,126310,47828,212678,22744,269176,179119,4399,35997,69696,41777,41,127336,4202,73153,46372,114255,126869,23630,11218]),we=new Uint8ClampedArray(256);h.forEach(s=>E(we,ue(s))),Oe.forEach(s=>E(we,ue(s)));const Ee=new Set(["бубен","бугор","ветер","вошь","вымысел","горшок","деготь","дёготь","дятел","домысел","замысел","кашель","коготь","лапоть","лоб","локоть","ломоть","молебен","мох","ноготь","овен","пепел","пес","пёс","петушок","помысел","порошок","промысел","псалом","пушок","ров","рожь","рот","сон","стебель","стишок","угол","умысел","хребет","церковь","шов","ковер","овес","костер"].map(ve)),We=new Uint8ClampedArray(256);Ee.forEach(s=>E(We,ue(s)));const Ve=z(["овёс","ковёр","костёр","шатер","шатёр","козел","козёл","котел","котёл","орел","орёл","осел","осёл","узел","уголь","чок","ешок","хол"]),$e=["ясень","бюллетень","олень","тюлень","гордень","пельмень","ячмень"],Xe=z(["лапоток","желток","нишок","ришок","ишек"]),Ae=["поток","приток","переток","проток","биоток","электроток","восток","водосток","водоток","воток","знаток"],Pe=["инок","исток","обморок","порок","пророк","сток","урок"],_e=new Set("клей,чай,дом,дух,дым,дымок,газ,год,горошек,жар,жир,квас,пар,пыл,род,рост,сахар,свет,сироп,смех,снег,снежок,сок,сор,спор,срок,соус,спирт,страх,суп,сыр,табак,творог,толк,торф,туман,убыток,укроп,уксус,ход,цемент,чеснок,шаг,шик,шиповник,шоколад,шорох,шум,яд".split(",")),Me=new Uint8ClampedArray(256);_e.forEach(s=>E(Me,ue(ve(s))));const Te=z(["ое","нький","ский","ской","лстой","отой","утой","евой","овой","живой"]),Ke=z(["ее","ое","нький","ский","ской","лстой","отой","утой"]),Ze=z(["евой","овой","отой","живой"]),Ie=z(["шний","жний","щий","ший","жий","чий"]),Be=["божий","ажий","яжий","ужий","южий","бульдожий","кабарожий","медвежий","носорожий","миножий"],o=z(Be),a=z(Be.map(s=>S(s,2)+"ьи")),k=z(["мой","ной","дой","шой","жой","рзой","осой","хой","латой","витой","литой","питой","житой","отой","утой","ятой","лагой","рагой","огой","угой","лубой","любой","илой","ылой","злой","малой","овой","евой","живой","ской","акой","укой","нний","ский","йкий","цкий","зкий","ткий","лкий","мкий","хкий","оркий","аркий","яркий","ький","ёкий","бокий","оокий","cокий","токий","ликий","дикий","укий","ыкий","який","пкий","дкий","бкий","нкий","жкий","чкий","гкий","овкий","авкий"]),c=(s,t)=>V(t,2)==="ый"||(t.endsWith("кривой")||W(t,k))&&X(t)>=2,C=z(["ий","ие","чье","тье","дье","вье","бье","жалованье","енье","ружье","божье","верье","мужье"]),d=z(["вое","лое","мое","ное","рое","тое","той","ый"]),i=Object.freeze({CONTAINER:1,LOCATION:2,STRUCTURE:4,SURFACE:8,WAY:16,OBJECT_WITH_FUNCTIONAL_SURFACE:32,SUBSTANCE:64,RESOURCE:128,CONDITION:256,EXPOSURE:512,MOTION:1024,EVENT:2048,WITH_ADJECTIVE:4096,WITHOUT_ADJECTIVE:8192,RELIGIOUS:16384}),m=Object.freeze({PREPOSITIONAL:1,U_SUFFIX:2}),ee=Object.freeze({V:1,VO:2,NA:3});function ae(s,t,r){const l=t-1&7,n=s-1&7;return r<<6|n<<3|l}function q(s){return(s&7)+1}function ce(s){switch((s>>3&7)+1){case ee.V:return"в";case ee.VO:return"во";case ee.NA:return"на"}}function fe(s){return s>>6}const le=Object.freeze(ge()),he={Case:u,Gender:M,CASES:T,LocativeFormAttribute:i,LocativeForm:function(t,r,l){this.preposition=t,this.word=r,this.attributes=l},Lemma:D,createLemma:s=>D.create(s),createLemmaOrNull:s=>D.createOrNull(s),getDeclension:s=>D.create(s).getDeclension(),getSchoolDeclension:s=>D.create(s).getSchoolDeclension(),StressDictionary:function(){const t=new Map,r=Uint8ClampedArray.from(we),l=function(p){return(p._flags&31)*4294967296+p._hash},n=function(p){return p.lower().indexOf("ё")+1&255},y=p=>{const N=l(p),B=t.get(N);return B instanceof Array?B:[]},v=p=>{const N=p._flags&65504,B=y(p).filter(J=>(J[0]&N)<=N),U=B.filter(J=>J[0]>>16===n(p));if(U.length)return U[0][1];if(B.length)return B[0][1]};this.put=function(p,N){const B=N.split("-"),U=(j,G)=>j.length!==G||j.split("").some(Z=>!"SsbeE".includes(Z));if(B.length!==2||U(B[0],7)||U(B[1],6))throw new Error("Bad settings format.");const J=D.create(p),re=l(J);let P=t.get(re);P instanceof Array||(P=[],t.set(re,P));const de=J._flags&65535|n(J)<<16,_=P.find(j=>de===j[0]);_?_[1]=N:P.push([de,N]),E(r,ue(J._hash))};const x=p=>{switch(p){case"E":return[!0];case"e":return[!0,!1];case"b":case"s":return[!1,!0];default:return[!1]}};this.hasStressedEndingSingular=function(p,N){if(ye(r,ue(p._hash))){const B=T.indexOf(N);if(B>=0){let U=v(p);if(U){const J=U.split("-")[0];return x(J[B])}else if(p.getGender()===M.MASCULINE){if(h.has(p._hash))return x("SEESEEE"[B]);if(Oe.has(p._hash))return x("SEEEEEE"[B])}}}return[]},this.hasStressedEndingPlural=function(p,N){if(ye(r,ue(p._hash))){const B=T.indexOf(N);if(B>=0&&B<6){let U=v(p);if(U){const J=U.split("-")[1];return x(J[B])}else if(p.getGender()===M.MASCULINE&&(h.has(p._hash)||p.isAnimate()&&Oe.has(p._hash)))return x("E")}}return[]}},Engine:class{constructor(){this.sd=f()}decline(t,r,l){const n=D.create(t);return Bt(this,n,r,l)}pluralize(t){const r=D.create(t);return r.isPluraleTantum()?[r.text()]:Rt(this,r)}getLocativeForms(t){const r=this,l=D.create(t),n=l.getDeclension();if(n&&n>=0){const y=le.get(b(l));if(y instanceof Array)return y.map(v=>new he.LocativeForm(ce(v),Lt(r,n,l,q(v)),fe(v)))}return[]}}};function f(){function s(p,N,B,U){const J=U.split(",");for(let re of J){const P=Object.assign({},N);P.text=re,p.put(P,B)}}const t=new he.StressDictionary,r=Object.freeze({gender:M.MASCULINE}),l=Object.freeze({gender:M.MASCULINE,animate:!0}),n=Object.freeze({gender:M.FEMININE}),y=Object.freeze({gender:M.FEMININE,animate:!0}),v=Object.freeze({gender:M.COMMON,animate:!0}),x=(p,N)=>s(t,r,p,N);return s(t,r,"SSSSSSS-SSSSSS","брёх,дёрн,идиш,имидж,мед,упрёк"),s(t,{pluraleTantum:!0},"SSSSSSS-SSSSSS","ножны"),s(t,r,"SSSSSSS-EEEEEE","адрес,век,вечер,город,детдом,поезд,спецсчёт,субсчёт"),s(t,r,"SSSSSSE-EEEEEE","берег,бок,вес,лес,снег,дом,катер,счёт,мёд"),s(t,l,"SSSSSSS-SSSSSS","балансёр,шофёр"),s(t,r,"SSSSSSS-bbbbbb","вексель,ветер"),x("SSSSSSE-ESEEEE","глаз"),x("SSSSSSE-bEEbEE","год"),x("SSSSSSb-bbbbbb","цех"),s(t,{gender:M.NEUTER},"EEEEEEE-SSSSSS","тесло,стекло,автостекло,бронестекло,оргстекло,пеностекло,смарт-стекло,спецстекло,бедро,берцо,блесна,чело,стегно,стебло"),s(t,n,"EEEbEEE-SSESEE","щека"),s(t,n,"EEEEEEE-SSESEE","слеза"),s(t,r,"SbbSbbb-bbbbbb","грош,шприц"),s(t,r,"SssSsss-ssssss","кишмиш,кряж,слеш,слэш"),s(t,l,"Sssssss-ssssss","паныч"),x("SEESeEE-EEEEEE","стеллаж"),x("SeeSeee-eeeeee","шиномонтаж"),s(t,{gender:M.NEUTER},"EEEEEEE-SsESEE","плечо"),s(t,v,"EEEEEEE-SSSSSS","судья"),s(t,v,"EEEEEEE-EEEEEE","левша"),s(t,n,"EEEEEEE-SESSSS","семья,макросемья"),s(t,n,"EEEEEEE-SEESEE","вожжа,свеча"),s(t,n,"EEESEEE-SSSSSS","душа"),s(t,y,"EEEEEEE-SESESS","свинья,овца"),s(t,n,"EEEEEEE-eEeeee","скамья"),s(t,n,"EEEEEEE-EEEEEE","башка,кишка,ладья,лапша,моча,пыльца,статья"),t}function ge(){const s=new Map,t=Object.freeze({gender:M.MASCULINE}),r=Object.freeze({gender:M.MASCULINE,animate:!0});function l(N,B,U,J,re){const P=J.split(","),de=re instanceof Array?re:[m.U_SUFFIX];for(let _ of P){const j=Object.assign({},N);j.text=_;const G=b(D.create(j));let Z=s.get(G);Z||(Z=[],s.set(G,Z));for(let be of U)for(let st of de)Z.push(ae(be,st,B))}}const n=Object.freeze([ee.V]),y=Object.freeze([ee.VO]),v=Object.freeze([ee.NA]);l(t,i.CONTAINER,n,"мозг,пруд,стог,таз,год"),l(t,i.CONTAINER,y,"рот"),l(t,i.WAY,n,"год"),l(t,i.CONTAINER,n,"гроб"),l(t,i.CONTAINER|i.RELIGIOUS,y,"гроб",[m.PREPOSITIONAL]),l(t,i.LOCATION,n,"ад,бор,лес,порт,аэропорт,рай,сад,детсад,тыл,низ,хлев"),l(t,i.STRUCTURE,n,"круг,полк,артполк,ряд,род,строй,лад"),l(t,i.SURFACE,v,"баз,берег,бережок,вал,кон,круг,луг,пол,яр"),l(t,i.WAY,v,"век,день"),l(t,i.WAY,n,"час"),l(t,i.WAY,v,"корень"),l(r,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"вор"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"повод,бочок,борт,воз,горб,кол,мост,плот,сук,хуй"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"крюк,болт",[m.PREPOSITIONAL,m.U_SUFFIX]);const x=",мёд,мех,пар,пух";l(t,i.SUBSTANCE,n,"дым,жир,мел,пушок"+x),l(t,i.RESOURCE,v,"газ,клей,спирт"+x),l(t,i.CONDITION,n,"бой,бред,быт,долг,плен,пыл,сок,ход,лад"),l(t,i.EXPOSURE,n.concat(v),"вид"),l(t,i.EXPOSURE,v,"слух,счёт,ветер,ветр,свет"),l(t,i.MOTION,v,"ход,бег,вес"),l(t,i.MOTION|i.WITH_ADJECTIVE,v,"шаг"),l(t,i.EVENT,v,"бал,пир"),l(t,i.CONDITION,v,"дух,плав"),l(t,i.MOTION|i.WITH_ADJECTIVE,v,"газ"),l(t,i.CONTAINER,n,"глаз,зоб,нос,шкаф"),l(t,i.CONTAINER,y,"лоб"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"глаз,лоб,нос,шкаф,холм");let p="бок,верх,зад,угол";return l(t,i.LOCATION,n,p),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,p),l(t,i.LOCATION|i.WITHOUT_ADJECTIVE,n,"край"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE|i.WITHOUT_ADJECTIVE,v,"край"),l(t,i.SURFACE,v,"лёд,мох,снег"),l(t,i.SUBSTANCE,y,"лёд,лён,мох"),l(t,i.SUBSTANCE,n,"снег"),s}const Ue=s=>{const t=Math.max(s.toLowerCase().lastIndexOf("е"),s.toLowerCase().lastIndexOf("ё")),r=Y("ё",s[t]);return s.substring(0,t)+r+s.substring(t+1)},pe=s=>s.replace(/[^её]/g,"").length===1;function it(s,t){const r=w(t);if($(R|512,r)){if($(R,ne(t,1))){const l=S(s,2);return W(t,o)?l+Y("ь",l):l}else if(r!=="й")return g(s)}return s}function Dt(s,t,r){const l=ne(t,1);return l==="ь"||r==="о"&&$(2504708,l)?g(s):it(s,t)}function kt(s,t,r){if(s.length>=4&&A(t,["рёк","нёк","лёк"])&&r!==!1)return S(s,2)+"ьк";if(t.endsWith("ёк")&&F(ne(s,2)))return S(s,2)+"йк"}function Ot(s,t,r){return Ee.has(s._hash)||W(r,Ve)?S(t,3)+ne(t,1):r.endsWith("ень")&&s.getGender()===M.MASCULINE&&!A(r,$e)?S(t,3)+"н":g(t)}function Vt(s,t,r){return(199680&r)!==0&&W(t,Ve)&&!["новосел","новосёл"].includes(t)||(2571270&r)!==0&&(ye(We,ue(s._hash))&&Ee.has(s._hash)||s.isAnimate()&&t.endsWith("посол"))}function Le(s,t,r){const l=s.text(),n=w(t),y=O(n);let v;return(R|512|1024|16|8192|4|1<<28)&y&&((R|512)&y?v=Dt(l,t,n):n==="к"?v=kt(l,t,r):n==="ь"?v=Ot(s,l,t):(["лёд","лед","лён"].includes(t)||t==="лев"&&s.isAnimate())&&(v=S(l,2)+Y("ь",ne(l,1))+w(l))),v||(Vt(s,t,y)?v=S(l,2)+w(l):v=l),v}function qe(s,t,r,l){if(t)return-2;if(l)return-1;const n=w(s);switch(r){case M.FEMININE:return n==="а"||n==="я"?2:K(n)?-1:3;case M.MASCULINE:return n==="а"||n==="я"?2:s==="путь"?0:1;case M.NEUTER:return["дитя","полудитя"].includes(s)?0:V(s,2)==="мя"?3:1;case M.COMMON:return n==="а"||n==="я"?2:n==="и"?-1:1;default:return-2}}function De(s,t){const r=g(s),l=g(t.lower());if(w(l)==="а")return r;if(A(l,["зне","жне","гре","спе","мудре"])||V(g(l),3).split("").every(n=>Q(n))||t.isAName())return r;if(V(l,2)==="ле"){const n=ne(l,2);return F(n)||n==="л"?g(r)+"ь":r}else return F(w(l))&&w(l)!=="и"?F(w(g(l)))?S(s,2)+"й":A(t.lower(),["месяц"])?r:S(s,2):r}function ke(s){return A(s,["чек","шек"])&&s.length>=6||W(s,Xe)||s.endsWith("ок")&&!s.endsWith("шок")&&!Pe.includes(s)&&!A(s,Ae)&&!F(ne(s,2))&&(F(ne(s,3))||A(S(s,2),["ст","рт"]))&&s.length>=4}const Qe=s=>w(s)==="ь"&&!s.endsWith("господь")||"её".includes(w(s))&&!A(s,["це","же"]);function ot(s){if(s.startsWith("пол")&&$(2550137089,w(s))&&s[3]!=="л"&&X(s)>=2){let t=s.substring(3),r=t.search(/[а-яё]/);return r>=0&&K(t[r])}else return!1}function $t(s){return s.endsWith("полночь")||s.startsWith("пол")&&$(134217984,w(s))&&X(s)>=2}function et(s,t,r){const l=t.text(),n=t.lower();if(n.endsWith("путь"))return r===u.INSTRUMENTAL?g(l)+"ём":Fe(s,t,r);if(n.endsWith("дитя"))switch(r){case u.NOMINATIVE:case u.ACCUSATIVE:return l;case u.GENITIVE:case u.DATIVE:case u.PREPOSITIONAL:case u.LOCATIVE:return l+"ти";case u.INSTRUMENTAL:return[l+"тей",l+"тею"]}else throw new Error("unsupported")}function Re(s,t){const r=new D(s);return r._txt=t,r._lc=t.toLowerCase(),r._hash=ve(r.lower()),Object.freeze(r)}function ze(s,t,r,l){const n=()=>l!=="полминуты"?"полу"+t.text().substring(3):t.text();if(l==="полпути"){let y=Re(t,g(n())+"ь");return et(s,y,r)}else if(l.endsWith("зни")||l.endsWith("сти")){let y=Re(t,g(n())+"ь");return Fe(s,y,r)}else{let y=Re(t,g(n())+(V(l,2)==="ни"?"я":"а"));return nt(s,y,r)}}const _t=z(["й","ие","иё"]),Mt=z(["воробей","муравей","ручей","соловей","улей"]),ut=z(["ов","ев","ёв","ин","ын"]),dt=new Map;dt.set(1099,ut);function tt(s,t,r){const l=t.text(),n=t.lower(),y=w(n),v=t.getGender(),x=s.sd.hasStressedEndingSingular(t,r);let p=Le(t,n,x[0]),N=g(l);const B=ot(n);B&&(p="полу"+p.substring(3),N="полу"+N.substring(3));let U=H(p);const J=()=>B&&n.endsWith("я")||Qe(n),re=W(n,_t),P=()=>W(n,Mt)?g(N)+Y("ь",w(N)):N,de=()=>"чщ".includes(w(U));function _(j){return!t.isAnimate()&&ye(Me,ue(t._hash))&&_e.has(n)&&(y==="й"?j.push(g(l)+Y("ю",w(l))):j=j.concat(ie(x,p,G=>G+Y("у",w(G))))),j}switch(r){case u.NOMINATIVE:return l;case u.GENITIVE:switch(y){case"и":case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":if(re&&t.isASurname()||c(t,n)||W(n,Te))return p+"ого";if(W(n,Ie)||n.endsWith("ее"))return p+"его";case"ё":case"я":case"ь":if(re){let Z=[P()+"я"];return _(Z)}else if(J()&&!de())return p+"я";break;case"ц":return De(l,t)+"ца";case"к":if(ke(n))return g(N)+"ка";break;case"о":if(A(n,["шко"])&&M.MASCULINE===v)return N+"и";break}let j;return t.isASurname()||U.indexOf("ё")===-1?j=[p+"а"]:j=ie(x,p,Z=>Z+"а"),_(j);case u.DATIVE:switch(y){case"и":case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":if(re&&t.isASurname()||c(t,n)||W(n,Te))return p+"ому";if(W(n,Ie)||n.endsWith("ее"))return p+"ему";case"ё":case"я":case"ь":if(re)return P()+"ю";if(J()&&!de())return p+"ю";break;case"ц":return De(l,t)+"цу";case"к":if(ke(n))return g(N)+"ку"}return t.isASurname()||U.indexOf("ё")===-1?p+"у":ie(x,p,Z=>Z+"у");case u.ACCUSATIVE:return v===M.NEUTER||"иы".includes(y)&&B?l:t.isAnimate()?tt(s,t,u.GENITIVE):l;case u.INSTRUMENTAL:switch(y){case"и":case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(re&&t.isASurname()||W(n,Ke))return W(n,d)?p+"ым":p+"им";if(c(t,n))return ne(n,1)==="и"||n.endsWith("хой")?p+"им":p+"ым";if(W(n,Ze))return p+"ым";if(W(n,Ie))return p+"им";if(re)return P()+"ем";if(n.endsWith("це"))return l+"м";break;case"ц":return ie(x,l,(Z,be)=>be?De(Z,t)+"цом":De(Z,t)+"цем");case"к":if(ke(n))return g(N)+"ком";break;case"н":case"в":if(t.isASurname()&&W(n,ut))return l+"ым"}return J()||"жшчщ".includes(w(U))?ie(x,p,(Z,be)=>be?Z+"ом":Z+"ем"):t.isASurname()||U.indexOf("ё")===-1?p+"ом":ie(x,p,Z=>Z+"ом");case u.LOCATIVE:if(n==="полпути")return l;const G=le.get(b(t));if(G)return Se(G.map(be=>q(be))).map(be=>ct(s,t,be));case u.PREPOSITIONAL:switch(y){case"и":if(n==="полпути")return l;case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(re&&t.isASurname()||c(t,n)||W(n,Te))return p+"ом";if(W(n,Ie)||n.endsWith("ее"))return p+"ем";if(A(n,["воробей"])){const Z=g(N);return Z+Y("ье",w(Z))}else{if(W(n,C)&&!A(n,["запястье","здоровье","изголовье","платье"]))return N+"и";if(y==="й"||V(n,2)==="иё")return P()+"е"}break;case"ц":return De(l,t)+"це";case"к":if(ke(n))return g(N)+"ке"}return t.isASurname()||U.indexOf("ё")===-1?p+"е":ie(x,p,Z=>Z+"е")}}function nt(s,t,r){const l=t.text(),n=t.lower(),y=Le(t,n),v=H(y),x=g(l),p=g(n),N=()=>w(n)==="я",B=()=>n.endsWith("ая")&&!(X(l)===2||F(w(y))),U=()=>n.endsWith("яя")&&!(X(l)===2||F(w(y))),J=["жая","шая"];switch(r){case u.NOMINATIVE:return l;case u.GENITIVE:return U()||A(n,J)?y+"ей":B()?y+"ой":t.isASurname()&&!n.endsWith("да")?x+"ой":n.endsWith("ничья")?x+"ей":N()||$(60818504,w(v))?x+"и":x+"ы";case u.DATIVE:return U()||A(n,J)?y+"ей":B()?y+"ой":t.isASurname()&&!n.endsWith("да")?x+"ой":V(n,2)==="ия"?x+"и":n.endsWith("ничья")?x+"ей":x+"е";case u.ACCUSATIVE:return B()?y+"ую":U()?y+"юю":N()?x+"ю":x+"у";case u.INSTRUMENTAL:return U()||A(n,J)?y+"ею":B()?[y+"ой",y+"ою"]:N()||"жшчщц".includes(w(v))&&!s.sd.hasStressedEndingSingular(t,r).includes(!0)?w(p)==="и"?x+"ей":[x+"ей",x+"ею"]:[x+"ой",x+"ою"];case u.PREPOSITIONAL:case u.LOCATIVE:return U()||A(n,J)?y+"ей":B()?y+"ой":t.isASurname()&&!n.endsWith("да")?x+"ой":V(n,2)==="ия"?x+"и":n.endsWith("ничья")?x+"ей":x+"е"}}const je={дочь:"дочерь",мать:"матерь"};function Fe(s,t,r){const l=t.text(),n=t.lower();if(![u.NOMINATIVE,u.ACCUSATIVE].includes(r)&&Object.keys(je).includes(n)){const v=Re(t,je[n]);return Fe(s,v,r)}let y=Le(t,n);if($t(n)&&(y="полу"+y.substring(3)),V(n,2)==="мя")switch(r){case u.NOMINATIVE:case u.ACCUSATIVE:return l;case u.GENITIVE:case u.DATIVE:case u.PREPOSITIONAL:case u.LOCATIVE:return y+"ени";case u.INSTRUMENTAL:return y+"енем"}else switch(r){case u.NOMINATIVE:case u.ACCUSATIVE:return l;case u.GENITIVE:case u.DATIVE:case u.PREPOSITIONAL:case u.LOCATIVE:return y+"и";case u.INSTRUMENTAL:return A(n,["вошь","рожь","церковь"])?l+"ю":y+"ью"}}function Bt(s,t,r,l){const n=Ut(s,t,r,l);return n instanceof Array?n:[n]}function Ut(s,t,r,l){const n=t.text();if(t.isIndeclinable())return n;if(t.isPluraleTantum())return wt(s,t,r,n);if(l)return wt(s,t,r,l);switch(t.getDeclension()){case-1:return n;case 0:return et(s,t,r);case 1:return tt(s,t,r);case 2:return nt(s,t,r);case 3:return Fe(s,t,r)}}function ct(s,t,r){if(m.U_SUFFIX===r){const l=t.text(),n=t.lower();let y=Le(t,n),v=g(l);const p=ot(n)&&n.endsWith("я")||Qe(n);return w(n)==="й"?oe(v)+"ю":p?oe(y)+"ю":ke(n)?oe(g(v))+"ку":oe(y)+"у"}else if(m.PREPOSITIONAL===r)return tt(s,t,u.PREPOSITIONAL)}function Lt(s,t,r,l){switch(t){case 0:return et(s,r,u.PREPOSITIONAL);case 1:return ct(s,r,l);case 2:return nt(s,r,u.PREPOSITIONAL);case 3:return Fe(s,r,u.PREPOSITIONAL)}}const ft=new Uint8ClampedArray(256),ht=Object.freeze([[[M.MASCULINE,void 0],{болгарин:["болгары"],господин:["господа"],дядя:["дяди","дядья"],зуб:["зубы","зубья"],клок:["клочья","клоки"],князь:["князи","князья"],кол:["колы","колья"],месяц:["месяцы"],полдень:["полдни","полудни"],татарин:["татары"],хозяин:["хозяева"],цветок:["цветки","цветы"],черт:["черти"],чёрт:["черти"]}],[[M.MASCULINE,!0],{кондуктор:["кондуктора","кондукторы"],кум:["кумовья"],муж:["мужья","мужи"]}],[[M.FEMININE,void 0],{гроздь:["грозди","гроздья"],курица:["курицы","куры"],стая:["стаи"],щека:["щёки"],береста:["берёсты"],верста:["вёрсты"],десна:["дёсны"],жена:["жёны"],звезда:["звёзды"],кинозвезда:["кинозвёзды"],медсестра:["медсёстры"],метла:["мётлы"],пчела:["пчёлы"],сестра:["сёстры"],слеза:["слёзы"]}],[[M.NEUTER,void 0],{брюхо:["брюхи"],колено:["колена","колени","коленья"],древо:["древа","древеса"],ухо:["уши"],око:["очи"],дно:["донья"],чудо:["чудеса","чуда"],небо:["небеса"],бревно:["брёвна"],ведро:["вёдра"],веретено:["веретёна"],весло:["вёсла"],гнездо:["гнёзда"],зерно:["зёрна"],знамя:["знамёна"],колесо:["колёса"],облачко:["облачка"],озеро:["озёра"],полсотни:["полусотни"],ребро:["рёбра"],ремесло:["ремёсла"],седло:["сёдла"],село:["сёла"]}]]);for(const s of ht)Object.keys(s[1]).map(t=>E(ft,ue(ve(t))));const Ft=["зять","деверь","друг","брат","собрат","стул","брус","обод","полоз","струп","подмастерье","якорь","перо","шило"],Wt=new Set(["берег","бок","борт","век","вес","веер","вексель","вечер","глаз","голос","город","доктор","дом","детдом","егерь","жемчуг","катер","колокол","концлагерь","корм","короб","кузов","купол","лес","луг","мастер","номер","пояс","провод","рог","сахар","снег","сорт","стог","счет","счёт","спецсчет","спецсчёт","субсчет","субсчёт","терем","том","холод","цвет","череп"]),Pt=z(["округ","остров","отпуск","паспорт","парус","поезд","повар","погреб","рукав","цех","юнкер"]),gt=new Set(["адрес","договор","буфер","ворох","директор","инспектор","инструктор","корпус","крейсер","орден","ордер","прожектор","пропуск","род","свитер","сервер","тенор","тон","трактор","тормоз","ветер","верх","китель","мех","хлеб","юнкер","ястреб"]),vt=new Set(["бункер","вымпел","год","образ","омут","токарь","тополь","шторм","штуцер"]);function Rt(s,t){const r=[],l=t.text(),n=t.lower(),y=s.sd.hasStressedEndingPlural(t,u.NOMINATIVE);Object.freeze(y);const v=Le(t,n,y[0]),x=H(v);if(n.endsWith("яя"))return r.push(S(l,2)+"ие"),Se(r);const p=_=>{const j=s.sd.hasStressedEndingPlural(t,u.NOMINATIVE).map(G=>!G);return j.length?j.map(G=>G?pe(x)?_(Ue(v)):_(v):_(oe(v))):[_(v)]},N=t.getGender(),B=t.getDeclension(),U=(w(n)==="й"||F(w(l)))&&F(w(g(l)))?g(l):v,J=()=>(n.endsWith("евич")||n.endsWith("евна"))&&n.indexOf("ье")>=0;function re(){const _=U,j=H(_).indexOf("ье"),G=Y("и",_[j]);return _.substring(0,j)+G+_.substring(j+1)}function P(){$(60818504,w(x))||"яйь".includes(w(n))||A(n,["сосед"])?J()?(r.push(re()+"и"),r.push(U+"и")):Array.prototype.push.apply(r,ie(y,U,_=>_+"и")):w(n)==="ц"?r.push(De(l,t)+"цы"):J()?(r.push(re()+"ы"),r.push(U+"ы")):Array.prototype.push.apply(r,ie(y,U,_=>_+"ы"))}if(ye(ft,ue(t._hash)))for(const[_,j]of ht){const G=_[0],Z=_[1];if(N===G&&(Z==null||Z===t.isAnimate())&&j.hasOwnProperty(n)){const be=j[n];for(let st of be)r.push(st);return Se(r)}}const de=w(x)==="ь"?v:w(x)==="к"?g(v)+"чь":w(x)==="г"?g(v)+"зь":w(n)==="й"?g(l):A(n,["рь","ль"])?v:v+"ь";switch(B){case-1:r.push(l);break;case 0:if(n==="путь")r.push("пути");else if(n.endsWith("дитя"))r.push(S(l,3)+"ети");else throw new Error("unsupported");break;case 1:if(Ft.includes(n))r.push(de+"я");else if(M.MASCULINE===N){const _=["крюк","лист","лоскут","повод","прут","сук","учитель","флигель","штабель"],j=["клин","колос","ком","край","соболь"];n==="сын"?(r.push("сыновья"),P()):n==="человек"?(r.push("люди"),P()):_.includes(n)||n==="соболь"&&t.isAnimate()?(P(),r.push(de+"я")):j.includes(n)?r.push(de+"я"):Wt.has(n)||W(n,Pt)||gt.has(n)||vt.has(n)?(vt.has(n)&&P(),Qe(n)?Array.prototype.push.apply(r,p(G=>G+"я")):y.includes(!0)?r.push(oe(v)+"а"):r.push(v+"а"),gt.has(n)&&P()):(n.endsWith("анин")&&n.length>5||n.endsWith("янин"))&&!t.isAName()||["барин","боярин"].includes(n)?(r.push(S(l,2)+"е"),n==="барин"&&r.push(S(l,2)+"ы")):["цыган"].includes(n)?r.push(l+"е"):n==="щенок"?(r.push(S(l,2)+"ки"),r.push(S(l,2)+"ята")):(n.endsWith("ребёнок")||n.endsWith("ребенок"))&&!(n.endsWith("жеребёнок")||n.endsWith("жеребенок"))&&!(n.endsWith("ястребёнок")||n.endsWith("ястребенок"))?r.push(S(l,7)+"дети"):(n.endsWith("ёнок")||n.endsWith("енок"))&&t.isAnimate()?r.push(S(l,4)+"ята"):n.endsWith("ёночек")&&t.isAnimate()?r.push(S(l,6)+"ятки"):n.endsWith("онок")&&"жшч".includes(ne(n,4))&&t.isAnimate()?r.push(S(l,4)+"ата"):ke(n)?r.push(S(l,2)+"ки"):W(n,Ie)?A(n,Be)?r.push(S(l,2)+"ьи"):r.push(g(l)+"е"):c(t,n)?n.endsWith("ый")||n.endsWith("ий")?r.push(g(l)+"е"):n.endsWith("ой")&&!A(n,["хой","ской"])?r.push(S(l,2)+"ые"):r.push(S(l,2)+"ие"):n.endsWith("его")?r.push(S(l,3)+"ие"):["воробей","муравей","ручей","соловей","улей","жеребей","ирей","репей","чирей"].includes(n)?r.push(S(l,2)+"ьи"):P()}else if(M.NEUTER===N)if(A(n,["ко","чо"])&&!A(n,["войско","облако"]))r.push(g(l)+"и");else if(n.endsWith("имое"))r.push(v+"ые");else if(n.endsWith("ее"))r.push(v+"ие");else if(n.endsWith("ое"))A(x,["г","к","ж","ш","х"])?r.push(v+"ие"):r.push(v+"ые");else if(A(n,["ие","иё"]))r.push(S(l,2)+"ия");else if(A(n,["ье","ьё"])){const _=S(l,2),j=["безделье","варенье","воскресенье","жалованье","запястье","застолье","затишье","здоровье","зелье","изголовье","новоселье","одночасье","печенье","платье","побережье","поголовье","подворье","подземелье","подполье","поместье","предплечье","раздумье","сиденье","средневековье","увечье","угодье","устье"].includes(n);w(n)==="е"&&!j&&r.push(_+"ия"),r.push(_+"ья")}else A(n,["дерево","звено","крыло"])?r.push(v+"ья"):A(n,["ле","ре"])?r.push(v+"я"):n.endsWith("судно")&&t.isATransport()?r.push(S(l,2)+"а"):(Array.prototype.push.apply(r,p(_=>_+"а")),A(n,["щупальце"])&&P());else r.push(v+"и");break;case 2:n==="заря"?r.push("зори"):n.endsWith("ая")&&!n.endsWith("свая")?"жхчшщ".includes(w(x))||A(x,["вк","гк","ск","цк","ньк"])?r.push(v+"ие"):r.push(v+"ые"):P();break;case 3:V(n,2)==="мя"?r.push(v+"ена"):Object.keys(je).includes(n)?r.push(g(je[n])+"и"):M.FEMININE===N?r.push(U+"и"):w(U)==="и"?r.push(U+"я"):r.push(U+"а");break}return Se(r)}const pt=z(["ли","си","би","ви","ди","ти","пи","ри","ни","фи","зи","ьи","ья","ия","ря","ля","ая","аи","ои","уи","эи","ыи","яи","ёи","юи","еи","ии"]),lt=["беготни","болтовни","будни","вожжи","возни","доли","лапши","левши","люди","марли","моря","мощи","ноздри","пени","пятерни","распри","родни","сакли","сени","ступни","судьи","фигни","чукчи"],mt=["головы","громадины","детины","деревенщины","дохлятины","дубины","ехидины","жадины","зверины","идиотины","кислятины","молодчины","орясины","остолопины","сиротины","скотины","старейшины","старины","старшины","уродины"],zt=z(mt),yt=["адреса","паспорта","поезда","цеха","снега","бункера","буфера","берега","вымпела","голоса","города","директора","договора","доктора","жемчуга","инспектора","инструктора","колокола","кондуктора","короба","корпуса","крейсера","кузова","леса","мастера","номера","облачка","острова","отпуска","паруса","повара","погреба","пояса","провода","прожектора","пропуска","рукава","сахара","свитера","сервера","счета","трактора","тормоза","холода","цвета","черепа","шторма","штуцера","юнкера","ястреба","суда","корм"],jt=z(yt),Et=new Set(yt.concat(["бега","беглецы","близнецы","бойцы","бока","борта","борцы","бруствера","брюшки","веера","века","венцы","верха","веса","весы","вечера","вороха","глупцы","года","гонцы","дворцы","дельцы","детдома","детдомы","дома","жеребцы","жильцы","жрецы","затишки","зубцы","излишки","истцы","катера","концы","корма","кузнецы","купола","купцы","лишки","луга","мертвецы","меха","мудрецы","облака","образа","образцы","огурцы","округа","омута","ордена","ордера","отцы","очки","певцы","песцы","пловцы","подлецы","продавцы","птенцы","резцы","рога","рода","рубцы","самцы","свинцы","сорта","соуса","спецы","стога","столбцы","стрельцы","творцы","тельцы","тенора","терема","тома","тона","торцы","хлеба","штришки","юнцы"])),bt=new Set(["авары","аланы","аршины","баклажаны","буквы","гольфы","граммы","гусары","дела","кадеты","килограммы","омы","помидоры","рентгены","ботинки","человеки","чулки","шорты"]),St=new Set(["гектары","рельсы"]),Ye=new Uint8ClampedArray(256);Et.forEach(s=>E(Ye,Ce(s))),bt.forEach(s=>E(Ye,Ce(s))),St.forEach(s=>E(Ye,Ce(s)));const Ct=new Set(mt.concat(["абазины","авы","аввы","бедняги","бедолаги","болгары","бродяги","брызги","брюки","брюхи","будды","бусы","валенки","веки","вельможи","верзилы","вилы","владыки","воеводы","волосы","вояки","главы","грузины","задворки","задиры","железы","жилы","зануды","зеваки","именины","калеки","кальсоны","каникулы","колготки","коллеги","крохи","курицы","куры","ладоши","ламы","лыки","макароны","мужчины","нападки","нары","непоседы","носилки","ножны","папы","папаши","таты","падлы","партизаны","погоны","поминки","посиделки","похороны","предтечи","работяги","разы","ребятки","румыны","самоубийцы","санки","убийцы","сапоги","сатаны","сироты","сливки","слуги","солдаты","старосты","сумерки","сутки","татары","телеса","хитрюги","четвереньки","шляпы","шмотки","яблоки","дядьки","дяденьки","зайки","кроссовки","малютки","малолетки","попки","турки","узы","хлопоты","шахматы"])),xt=new Uint8ClampedArray(256);Ct.forEach(s=>E(xt,Ce(s)));const He=["х","ых","их","м","ым","им","х","ых","их","ми","ыми","ими","х","ых","их"],Ge=["ям","ам","","","ями","ами","ях","ах"],Yt=z(["вна","вца","вцы","пла","дца","дра","судна","рки","рцы","тлы","рна","тна","енца","десны","дёсны","рёбра","ребра","сосны"]),Ht=z(["жи","ши","чи","ля","ли","чи","ри","ти","ди","сани","борщи","клещи","товарищи","плащи","прыщи","хрящи"]),Gt=z(["братья","брусья","деревья","донья","звенья","клинья","клочья","коленья","колосья","колья","комья","крылья","крючья","листья","лоскутья","лохмотья","перья","платья","поводья","прутья","стулья","сучья","хлопья","шилья"]),Jt=z(["ишки","дружки","тки","папочки","дедушки","дядюшки","батюшки","катанки","петрушки","шестерки"]),Xt=z(["жки","шки","чки","рки","натки","хатки","ятки","етки","чётки","мки","нки","педки","илки"]),Kt=z(["шок","щок","жок","зок","аток","яток","еток"]);function wt(s,t,r,l){const n=H(l),y=w(n),v=O(y),x=T.indexOf(r)+1;if(x===1||x===4&&!t.isAnimate())return l;if(134217984&v){if(x===2||x===4){if(A(n,["овичи","евичи"]))return g(l)+"ей";if(A(n,["вны","полусотни"])&&n!=="овны")return S(l,2)+"ен"}else if(x===5){if(A(n,["дети","люди"])&&!A(n,["нелюди"]))return g(l)+"ьми";if(A(n,["вери","дочери"]))return[g(l)+"ями",g(l)+"ьми"]}}const p=t.getGender(),N=n.endsWith("цы")?g(l):it(l,n),B=W(n,dt)&&(t.isASurname()||p===M.COMMON)&&!W(n,zt),U=3,J=U*Math.min(Math.round(He.length/U-1),x-2);if(B||n.endsWith("ничьи"))return l+He[J];if(n.endsWith("ые"))return S(l,2)+He[J+1];if(n.endsWith("ие")||W(n,a))return N+He[J+2];if(x>2&&x!==4){const P=2*Math.min(Math.round(Ge.length/2-1),x-3);return W(n,pt)?g(l)+Ge[P]:s.sd.hasStressedEndingPlural(t,r).includes(!0)?oe(N)+Ge[P+1]:N+Ge[P+1]}else{const re=t.getDeclension(),P=()=>{const _=H(N),j=["жки","шки","чки","ножны"];if(A(_,["кн","кл","дк","нк","пк","зк","рк","тк","вк","лк","мк"])&&!A(n,["сумерки"])||_==="зл"||A(n,j)&&s.sd.hasStressedEndingPlural(t,r).includes(!0)){const G=w(N);return g(N)+Y("о",G)+G}else if(W(n,Yt)&&!n.endsWith("недра")||A(n,j)){const G=ne(l,1);return S(l,2)+Y("е",G)+G}else if(A(n,["сестры","сёстры","серьги"])){const G=ne(l,1);return(ne(n,2)==="ь"?oe(S(l,3)):oe(S(l,2)))+Y("ё",G)+G}else if(A(_,["льц","сьм","деньг","ьк","йк","дьб"])){const G=w(N);return S(N,2)+Y("е",G)+G}else return A(n,["сла","слы"])?g(N)+"ел":N};if([3,0].includes(re)){if(n.endsWith("и"))return g(l)+"ей";if(["гроздья"].includes(n))return g(l)+"ев"}const de=ne(n,2);if(M.FEMININE!==p){const _=Ce(n),j=ye(Ye,_);if(j&&Et.has(n))return g(l)+"ов";if(j&&bt.has(n)&&!t.isAName())return[P(),g(l)+"ов"];if(j&&St.has(n))return[g(l)+"ов",P()];if(p===M.COMMON&&!A(n,lt)&&!"жшч".includes(de)||ye(xt,_)&&Ct.has(n)||t.isAName()&&p===M.MASCULINE&&t.lower().endsWith("а")||t.lower()==="барин")return P();switch(y){case"и":case"я":if(W(n,Ht)||n==="щи"||lt.includes(n)||t.lower().endsWith("ь")&&!A(t.lower(),["зять","деверь"]))return(w(g(n))==="ь"?S(l,2):g(l))+"ей";if(y==="и")return n.endsWith("ульи")?g(l)+"ев":n.endsWith("ьи")?M.MASCULINE===p?g(l)+"ёв":S(l,2)+"ей":["ча","кле","холу","ху"].includes(g(n))?g(l)+"ёв":n.endsWith("ищи")?P():n.endsWith("мессии")?g(l)+"й":F(ne(n,1))?g(l)+"ев":W(n,Xt)&&(M.MASCULINE!==p||W(oe(n),Jt))&&!W(t.lower(),Kt)?P():g(l)+"ов";if(W(n,Gt))return g(l)+"ев";if(A(n,["зятья","кумовья","деверья","края","острия"]))return g(l)+"ёв";if(A(n,["ья","ия"]))return M.MASCULINE===p?S(l,2)+"ей":S(l,2)+"ий";break;case"а":return A(n,["семена","стремена"])?S(l,3)+"ян":n.endsWith("мена")?S(l,3)+"ён":t.lower().endsWith("яйцо")?Y("яиц",g(l)):n.endsWith("нца")?[P(),g(l)+"ев"]:W(n,jt)?g(l)+"ов":P();case"ы":return A(n,["ницы","лицы","пицы","бицы"])?g(l):n.endsWith("цы")?g(l)+"ев":g(l)+"ов";default:if(n.endsWith("не"))return P()}}if(n.endsWith("йки"))return S(l,3)+"ек";if(n.endsWith("ки"))if(de==="ь"){const _=w(g(l));return S(l,3)+Y("е",_)+_}else{if("жшч".includes(de))return P();if(Q(de))return S(l,2)+"ок"}if(lt.includes(n))return g(l)+"ей";if(A(n,["аи","ои","еи","эи","уи"]))return g(l)+"й";if(n==="свечи")return[g(l),g(l)+"ей"];if(n==="пригоршни")return[g(l)+"ей",S(l,2)+"ен"];if(n==="тихони")return[S(l,2)+"нь",g(l)+"ей"];if(A(n,["ьи","ии"]))return s.sd.hasStressedEndingSingular(t,r).includes(!0)?S(l,2)+"ей":S(l,2)+"ий";if(n.endsWith("ни")&&Q(ne(n,2)))return["барышни","боярышни","деревни"].includes(n)?S(l,2)+"ень":n.endsWith("кухни")?S(l,2)+"онь":n==="сотни"?[S(l,2),S(l,2)+"ен"]:S(l,2)+"ен";if(H(N).endsWith("ийк"))return S(N,2)+"ек";if(N.length===n.length-1&&W(n,pt))if("ьй".includes(H(ne(N,1)))&&!t.isAnimate()){const _=w(N);return S(N,2)+Y("е",_)+_}else return A(n,["земли","петли","пли","вли"])?g(N)+"ель":N+"ь";else return P()}}return Object.freeze(he)})}(Je)),Je.exports}var an=sn();const rn=Tt(an),on={class:"nav"},un={style:{height:"20px",width:"100%",display:"inline-block"}},dn={style:{height:"20px",width:"100%",display:"inline-block"}},cn={class:"label"},fn={key:0,style:{padding:"0 1rem .5rem"}},hn={key:1,style:{padding:"0 1rem .5rem"}},gn={__name:"SheetTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},group:String,date:String,logo:{type:URL,default:"#"},editor:{type:Object,default:()=>({})}},setup(se){new rn.Engine;const T=se,{t:u,d:te}=Zt.useI18n(),M=e.ref(!1),H=e.ref([]),me=e.ref("0"),D=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(me.value))),b=e.ref([]),O=e.ref([]),$=e.ref("100%"),R=e.ref("true"),F=e.ref([]),K=e.ref([{value:"Я",label:u("sheet.valid.1")},{value:"К",label:u("sheet.valid.2")},{value:"ОТ",label:u("sheet.valid.3")},{value:"ДО",label:u("sheet.valid.4")},{value:"Р",label:u("sheet.valid.5")},{value:"ОЖ",label:u("sheet.valid.6")},{value:"Б",label:u("sheet.valid.7")},{value:"НН",label:u("sheet.valid.8")},{value:"ПР",label:u("sheet.valid.9")},{value:"У",label:u("sheet.valid.10")},{value:"УД",label:u("sheet.valid.11")},{value:"Г",label:u("sheet.valid.12")}]),Q=e.ref([]),Y=e.ref(0),X=e.ref(9),V=e.ref(8),w=e.ref(0),S=e.ref(0),g=e.ref([]),ne=e.ref(!1),A=e.ref(!1),Se=e.ref([]),oe=e.ref([]),ie=e.ref(!1),ve=e.ref(!1),ue=e.ref(1),Ce=e.ref(null),ye=e.ref({zIndex:3,minWidth:230,x:500,y:200}),E=e.ref({name:"",length:0,code:""}),z=e.ref([]),W=e.ref(""),xe=e.ref("_____"),h=e.computed(()=>H.value.flatMap((o,a)=>{const k=z.value.find(d=>d.code===o.code),c=new Map;o.days.forEach(d=>c.set(d.day,{...d})),k&&k.days.forEach(d=>c.set(d.day,{...d}));const C=Array.from(c.values());return[{...o,days:C,key:0,ids:a,numberNonAppearing:[0,0]},{...o,days:C,key:1,ids:a,numberNonAppearing:[0,0]}]}));e.watch(O,async(o,a)=>{o!==a&&(g.value=[],T.odata.personal.forEach(k=>{o.includes(k.divisionName)&&(g.value.some(c=>(c==null?void 0:c.activeText)===k.roleName)||g.value.push({val:!0,activeText:k.roleName}))}),$e())}),e.watch(me,o=>{D.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(o)),Ve(),$e()}),e.watch(V,()=>ne.value=ie.value),e.watch(X,()=>ne.value=ie.value),e.watch(ue,()=>ne.value=ie.value);const Oe=async(o,a,k,c)=>{var ae,q,ce,fe;if(a.level!==3||a.labelClassName==="turn"||a.no===15||a.no>b.value.length||!T.checkEdit)return"";E.value.ids=o.ids,E.value.key=o.key,E.value.day=a.no<15?a.no:a.no-1;let C=[0,0];if(E.value.day>0)C[0]=((ae=h.value[o.ids*2].days[E.value.day-1])==null?void 0:ae.overtime)??0;else{const le=I.parseTime(new Date(D.value).setDate(0),"{Y}-{m}-{dd}"),he=await T.workSchedule.getWorkSheet({code:o.code,date:le});if(he[0]!==null){const f=he[0].data.days.find(ge=>ge.day===le);C[0]=(f==null?void 0:f.overtime)??0}else C[0]=0}if(E.value.day<b.value.length-1)C[1]=((q=h.value[o.ids*2].days[E.value.day+1])==null?void 0:q.overtime)??0;else{const le=I.parseTime(new Date(D.value).setDate(b.value.length),"{Y}-{m}-{dd}"),he=await T.workSchedule.getWorkSheet({code:o.code,date:le});if(he[0]!==null){const f=he[0].data.days.find(ge=>ge.day===le);C[1]=(f==null?void 0:f.overtime)??0}else C[1]=0}console.log(C),E.value.limit=H.value[o.ids].days[E.value.day].time+4-I.clamp(C[0],C[1],4);const d=new Date(D.value),i=`${d.getFullYear()}-${(d.getMonth()+1).toString().padStart(2,"0")}-${(E.value.day+1).toString().padStart(2,"0")}`,m=z.value.findIndex(le=>le.code===o.code);E.value.id=m!==-1?z.value[m].days.findIndex(le=>(le==null?void 0:le.day)===i):m,X.value=typeof o.days[E.value.day].tips>"u"?9:parseInt(o.days[E.value.day].tips.match(/(\d{1,2})/)),w.value=parseInt(((ce=o.days[E.value.day])==null?void 0:ce.night)??0),S.value=parseInt(((fe=o.days[E.value.day])==null?void 0:fe.overtime)??0),V.value=o.days[E.value.day].time!=="-"?parseInt(o.days[E.value.day].time):8;const ee=o.days.findIndex(le=>le.day===i);E.value.failure=o.days[ee].state,ye.value.y=c.clientY,ye.value.x=c.clientX,E.value.rest=m!==-1&&E.value.id!==-1,E.value.name=I.byInitials(o.fio),ie.value=!0,await e.nextTick(),ne.value=!1},we=o=>{const a=new Date(D.value),k=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(E.value.day+1).toString().padStart(2,"0")}`;let c=z.value.findIndex(q=>q.code===H.value[E.value.ids].code);E.value.id=c!==-1?z.value[c].days.findIndex(q=>(q==null?void 0:q.day)===`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(E.value.day+1).toString().padStart(2,"0")}`):c;let C=H.value[E.value.ids].days[E.value.day].state,d=o,i="-",m,ee,ae;switch(o){case"Я":C==="В"&&(d="РВ"),i=8;break;case"КВ":case"К":C==="В"||C==="КВ"?d="КВ":d="К";break;case"save":let q=Ee.value.split('"');d=q[1],ne.value=!1,q[2]!==""&&(i=V.value,ae="("+q[2].split("(")[1],m=w.value,ee=S.value)}o==="reset"?(d=C,z.value[c].days.splice(E.value.id,1)):c===-1?z.value.push({code:H.value[E.value.ids].code,days:[{day:k,state:d,time:i,night:m,overtime:ee,tips:ae}]}):E.value.id===-1?z.value[c].days.push({day:k,state:d,time:i,night:m,overtime:ee,tips:ae}):z.value[c].days[E.value.id]={day:k,state:d,time:i,night:m,overtime:ee,tips:ae},c=z.value.findIndex(q=>q.code===H.value[E.value.ids].code),T.workSchedule.addWorkSheet({date:I.parseTime(new Date(D.value),"{Y}-{m}-{dd}"),data:[{name:H.value[E.value.ids].fio,days:z.value[c].days,code:H.value[E.value.ids].code}]}),E.value.failure=d,ue.value>1&&(ue.value--,E.value.day++,we(d)),Pe()},Ee=e.computed(()=>{ve.value=!1;let o=H.value[E.value.ids].days[E.value.day],a="";w.value=0,S.value=0;let k=V.value>=22?X.value+V.value+2:V.value>4?X.value+V.value+1:X.value+V.value,c=E.value.failure.split("/")[0];c=/^Н(?!Н$)С?$/.test(c)?o.state!=="В"?"Я":"РВ":c,/^(|Я|РВ)$/.test(c)&&((X.value<6||k>22)&&(a="Н",w.value=X.value<6?Math.min(6,k)-X.value:0,k<=6&&(w.value=V.value,c=""),k===7&&w.value>4&&w.value--,w.value+=Math.max(22,k)-22),V.value>o.time&&c!=="РВ"&&(a+="С",ve.value=!0,S.value=V.value-o.time,S.value>4&&(V.value=o.time+4,S.value=4)),/РВ/.test(c)&&(ve.value=!0)),a.length>0&&c.length>0&&(a="/"+a);let C=`(${X.value}:00 - ${V.value>=22?X.value+V.value+2:V.value>4?X.value+V.value+1:X.value+V.value}:00)`,d=h.value[E.value.ids*2].days[E.value.day].time!=="-"?" "+V.value+" "+C:"";return'"'+c+a+'"'+d}),We=o=>{if(o.columnIndex<2||o.columnIndex>b.value.length+3&&o.columnIndex<b.value.length+9||o.columnIndex>b.value.length+11)return h.value[o.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},Ve=()=>{const o=new Date(D.value),a=new Date(o.getFullYear(),o.getMonth()+1,0).getDate();let k=[],c=0;for(let C=1;C<=a;C++){const d=I.parseTime(o.setDate(C),"{Y}-{m}-{dd}");c+=Q.value.nowork.includes(d)||Q.value.holidays.includes(d)?0:Q.value.preholidays.includes(d)?7:8;let i=Q.value.nowork.includes(d)?"nowork":Q.value.holidays.includes(d)?"holiday":Q.value.preholidays.includes(d)?"preholiday":"";k.push({day:C,holidays:i,weekday:te(new Date(o.getFullYear(),o.getMonth(),C),"day")})}return Y.value=c,b.value=k,T.odata.getPersonal({dismissed:"false"}).then(C=>{var d;O.value.length===0&&(O.value=[(d=C.find(i=>i.employeeName===T.fullName&&i.dismissalDate.length===0))==null?void 0:d.divisionName]),C.forEach(i=>{F.value.some(m=>i.dismissalDate.length>0&&new Date(i.dismissalDate)<new Date(D.value)||(m==null?void 0:m.value)===i.divisionName)||F.value.push({value:i.divisionName,label:i.divisionName,key:i.divisionName})})}),!0},$e=()=>{H.value=[],oe.value=[],Se.value=[],T.odata.personal.forEach(o=>{if(O.value.includes(o.divisionName)&&g.value.some(a=>a.val&&a.activeText===o.roleName)&&(o.dismissalDate.length===0||new Date(o.dismissalDate)>new Date(D.value))){let a=I.byInitials(o.employeeName);o.employeeName===T.fullName&&(xe.value=o.roleName),H.value.push({fio:o.employeeName,name:a+" ("+o.roleName+")",code:o.employeeKey,days:[],contHour:0,id:!1,employmentDate:I.parseTime(new Date(o.employmentDate),"{Y}-{m}-{dd}T00:00:00"),dismissalDate:o.dismissalDate})}}),H.value.sort((o,a)=>o.fio<a.fio?-1:o.fio>a.fio?1:0),H.value.forEach((o,a)=>{o.ids=a,oe.value.push(o.code)}),T.workSchedule.getUsersYear({code:oe.value,year:new Date(D.value).getFullYear()}).then(o=>{o.forEach(a=>{a.dateStart&&Se.value.push({code:a.code,dateStart:a.dateStart,dateEnd:a.dateEnd})}),Xe()})},Xe=()=>{T.workSchedule.getWorkSheet({code:oe.value,date:I.parseTime(new Date(D.value),"{Y}-{m}-{dd}")}).then(o=>{z.value=[],o.forEach(a=>{a!==null&&z.value.push({code:a.code,days:a.data.days})}),T.workSchedule.getWorkSchedule({code:oe.value,date:I.parseTime(new Date(D.value),"{Y}-{m}-{dd}")}).then(a=>{a.forEach((k,c)=>{var d,i;if(k!==null){H.value[c].days=[],k.data.days.forEach(m=>m.state="Я");for(let m=1;m<=b.value.length;m++){let ee=I.parseTime(new Date(D.value).setDate(m),"{Y}-{m}-{dd}");const ae=(d=k.data)==null?void 0:d.days.findIndex(q=>q.day===ee);ae===-1?Ae(m,c,"-","В"):H.value[c].days.push((i=k.data)==null?void 0:i.days[ae])}}else for(let m=1;m<=b.value.length;m++)b.value[m-1].holidays===""?Ae(m,c,8):b.value[m-1].holidays==="preholiday"?Ae(m,c,7):Ae(m,c,"-","В");const C=H.value[c];if(C.employmentDate||C.dismissalDate)for(let m=1;m<=b.value.length;m++){const ee=new Date(new Date(D.value).setDate(m)),ae=I.parseTime(ee,"{Y}-{m}-{dd}"),q=C.employmentDate&&ee<new Date(C.employmentDate),ce=C.dismissalDate&&ee>=new Date(C.dismissalDate).setSeconds(0);if(q||ce){const fe=C.days.findIndex(le=>le.day===ae);fe!==-1&&(C.days[fe].state="-",C.days[fe].time="-")}}for(let m=1;m<=b.value.length;m++){let ee=new Date(new Date(D.value).getFullYear(),new Date(D.value).getMonth(),m).getTime()+1e3;for(let ae of Se.value){const{dateStart:q,dateEnd:ce,code:fe}=ae;if(q&&ce&&fe===H.value[c].code){const le=new Date(I.parseDate(q)).getTime(),he=new Date(I.parseDate(ce)).getTime();if(ee>=le&&ee<=he){const f=I.parseTime(new Date(D.value).setDate(m),"{Y}-{m}-{dd}"),ge=H.value[c].days.findIndex(Ue=>Ue.day===f);ge!==-1?H.value[c].days[ge]={day:f,time:"-",state:"ОТ"}:H.value[c].days.push({day:f,time:"-",state:"ОТ"})}}}}}),Pe()})})},Ae=(o,a,k,c="Я")=>{const C=I.parseTime(new Date(D.value).setDate(o),"{Y}-{m}-{dd}");H.value[a].days.push({day:C,time:k,state:c})},Pe=()=>{h.value.forEach(o=>{o.hourI=0,o.hourII=0,o.halfII=0,o.halfI=0,o.weekend=0,o.weekendDays=0,o.overtime=0,o.night=0,o.appearing={code:"-",count:"-"};const a=Object.entries(o.days.reduce((d,i)=>{if(i.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(i.state)){const m=i.state;d[m]=(d[m]||0)+1}return d},{})).map(([d,i])=>({code:d,count:i}));o.numberNonAppearing=[a.reduce((d,i)=>d+i.count,0),0];const k=Math.ceil(a.length/2),c=a.slice(0,k),C=a.slice(k);o.key===0&&c.length>0&&(o.appearing={code:c.map(d=>d.code).join("/"),count:c.map(d=>d.count).join("/")}),o.key===1&&C.length>0&&(o.appearing={code:C.map(d=>d.code).join("/"),count:C.map(d=>d.count).join("/")});for(let d=0;d<o.days.length;d++)d<15&&o.days[d].time!=="-"&&(o.hourI+=Number(o.days[d].time),o.halfI++),d>=15&&o.days[d].time!=="-"&&(o.hourII+=Number(o.days[d].time),o.halfII++),o.days[d].night&&(o.night+=Number(o.days[d].night)),o.days[d].overtime&&(o.overtime+=Number(o.days[d].overtime)),/{|РВ|}/.test(o.days[d].state)&&(o.weekend+=Number(o.days[d].time)),o.days[d].state==="В"&&o.weekendDays++;o.contDays=o.halfI+o.halfII,o.contHour=o.hourI+o.hourII})},_e=(o,a)=>{var m,ee,ae,q,ce;if(a===-1)return"";const k=h.value[a],c=new Date(D.value),C=`${c.getFullYear()}-${(c.getMonth()+1).toString().padStart(2,"0")}-${o.toString().padStart(2,"0")}`,d=k.days.findIndex(fe=>fe.day===C);let i=0;return(m=k.days[d])!=null&&m.overtime&&(i+=k.days[d].overtime),d===-1?"":k.key===0?(ee=k.days[d])==null?void 0:ee.state:((ae=k.days[d])==null?void 0:ae.time)===0?i===0?"-":i:i===0?(q=k.days[d])==null?void 0:q.time:`${((ce=k.days[d])==null?void 0:ce.time)-i}/${i}`};T.group&&(O.value[0]=T.group),T.date&&(me.value=new Date(T.date+"T00:00:01").getMonth()),I.holidays().then(o=>{Q.value=o,Ve()});const Me=o=>new Date(D.value).getMonth()===new Date().getMonth()&&o===new Date().getDate()?" today":"",Te=()=>{let o=Ee.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/),a=H.value[E.value.ids].days[E.value.day+1].tips;return a=typeof a<"u"?a.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/):[0,9,18],Number(o[1])<Number(a[1])?`${o[1]}:00 по ${Number(o[1])+S.value}:00`:`${Number(o[2])-S.value}:00 по ${o[2]}:00`},Ke=()=>{let o=/РВ/.test(Ee.value),a=I.bossPosition(h.value[E.value.ids*2].name.match(/\(([^)]+)\)/)[1]),k=I.bossPosition(xe.value),c=h.value[E.value.ids*2].fio.split(" ");c=rt({last:c[0],first:c[1],middle:c[2]},"accusative");let C=T.fullName.split(" ");C=rt({last:C[0],first:C[1],middle:C[2]},"genitive");let d=o?Ee.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):Te();W.value=`<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${T.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${k} ${I.byInitials(`${C.last} ${C.first} ${C.middle}`)}</div><p>${O.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${I.parseTime(new Date(D.value).setDate(E.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью З_А_П_О_Л_Н_И_Т_Ь_! , прошу привлечь к ${o?"работе в выходной день":"сверхурочной работе"}, ${I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}")} c ${d}, ${a} ${c.last} ${c.first} ${c.middle} для выполнения вышеуказанных работ с ${(c==null?void 0:c.gender)==="male"?"его":"её"} письменного согласия.</p><p>${xe.value} ________________ ${I.byInitials(T.fullName)}</p>`},Ze=()=>{let o=/РВ/.test(Ee.value),a=h.value[E.value.ids*2].fio.split(" ");a=rt({last:a[0],first:a[1],middle:a[2]},"genitive");let k=o?Ee.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):Te();W.value=`<style> @page{size: A4 portrait;margin-top: 20pt;} @media print{.no-print{display: none !important;}} </style><body style="font:9pt/1.08;"><h1 style="text-align: center;"><img style="margin-bottom: 20pt;" src="https://avanta-telecom.ru/local/templates/main/images/Logo-hs.png" width="174" height="51" alt="logo" /><br/>Общество с ограниченной ответственностью «АВАНТА ТЕЛЕКОМ»<br>(ООО «АВАНТА ТЕЛЕКОМ»)</h1><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="left "><span>г.Краснодар</span></td><td align="right"><span>________________ года</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><b>УВЕДОМЛЕНИЕ</br>${o?"о работе в выходной день":"о привлечении к сверхурочной работе "}</b></p><p style="text-align:center;margin: 0 0 .26cm;">Уважаем${(a==null?void 0:a.gender)==="male"?"ый":"ая"} ${h.value[E.value.ids*2].fio}!</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Уведомляю Вас, что в связи с производственной необходимостью возникла необходимость ${o?"работы в выходной день,"+I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}"):"Вас "+I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}")+"г. к сверхурочной работе"} с ${k} часов${o?" (с перерывом на отдых и прием пищи 1 час)":""}.</p>${o?'<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Прошу дать согласие на работу в вышеназванный выходной день.</p>':""}<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">${o?"":"После ознакомления прошу сделать в настоящем уведомлении отметку о согласии/несогласии. "}Если есть запрет на привлечение Вас к работе ${o?"в выходной день":"сверхурочно"} (по состоянию здоровья в соответствии с медицинским заключением), прошу сообщить об этом.</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Сообщаю, что за работу ${o?"в выходной день полагается оплата в двойном размере. По Вашему желанию вместо двойной оплаты может быть предоставлен день отдыха – в этом случае работа в выходной день будет оплачена в одинарном размере, а день отдыха оплате не подлежит.":"сверхурочно"}<br/></p><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="center"><span>Директор</span></td><td align="center"><span>Пунин Д.В</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><br/></p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Я, ${h.value[E.value.ids*2].fio} настоящим сообщаю следующее:</p><p style="margin: 0 0 .26cm;">1. На привлечение к ${o?"работе в выходной день,":"сверхурочной работе"} ${I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}")} :</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>согласен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">2. С правом отказаться от ${o?"работы в выходные дни":"сверхурочной работы"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>ознакомлен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">3. Запрет на работу ${o?"в выходные дни,":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>отсутствует</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;" align="center"><p>(если есть запрет, указать какой)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">4. ${o?"Работу в выходные дни,":"Работу сверхурочно"} прошу компенсировать:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>${o?"Оплатой в двойном размере":"Оплатой в повышенном размере"}</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">5. Экземпляр уведомления о работе ${o?"в выходные дни":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>получил</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table>`},Ie=async()=>{var ce,fe,le,he;M.value=!0;const o=new en.Workbook,a=o.addWorksheet(te(D.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),k={vertical:"middle",horizontal:"center"},c={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},C={vertical:"middle",horizontal:"center",wrapText:!0};a.mergeCells(`A1:${I.cellsDynamically("A1",b.value.length+15)}1`),a.mergeCells("A2:A4"),a.mergeCells("B2:B4"),a.mergeCells("C2:C4"),a.mergeCells("D5:R5"),a.mergeCells(`D2:${I.cellsDynamically("D2",b.value.length+2)}2`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+3)}2:${I.cellsDynamically("D2",b.value.length+8)}2`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+9)}2:${I.cellsDynamically("D2",b.value.length+9)}4`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+10)}2:${I.cellsDynamically("D2",b.value.length+11)}2`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+12)}2:${I.cellsDynamically("D2",b.value.length+12)}4`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+3)}3:${I.cellsDynamically("D3",b.value.length+3)}4`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+4)}3:${I.cellsDynamically("D3",b.value.length+8)}3`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+10)}3:${I.cellsDynamically("D3",b.value.length+10)}4`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+11)}3:${I.cellsDynamically("D3",b.value.length+11)}4`),a.mergeCells(`T5:${I.cellsDynamically("D5",b.value.length+1)}5`);for(let f=1;f<=b.value.length+2;f++)a.mergeCells(`${I.cellsDynamically("D3",f)}3:${I.cellsDynamically("D4",f)}4`),a.getColumn(f+3).width=5,a.getColumn(f+3).alignment=C,a.getCell(3,f+3).border=c,f<16&&(a.getCell(3,f+3).value=f),f>16&&(a.getCell(3,f+3).value=f-1);a.getCell("A1").value=u("sheet.title",{name:O.value[0]})+te(D.value,"month"),a.getCell("A2").value=u("sheet.listNumber"),a.getCell("B2").value=u("sheet.employee"),a.getCell("C2").value=u("sheet.personnelNumber"),a.getCell("D2").value=u("sheet.marks"),a.getCell("S3").value=u("sheet.halfMonth",{half:"I"}),a.getCell("A5").value="1",a.getCell("B5").value="2",a.getCell("C5").value="3",a.getCell("D5").value="4",a.getCell("S5").value="5",a.getCell("T5").value="6",a.getCell(5,b.value.length+5).value="7",a.getCell(2,b.value.length+6).value=u("sheet.workedMonth"),a.getCell(2,b.value.length+12).value=u("sheet.numberNonAppearing"),a.getCell(2,b.value.length+13).value=u("sheet.them"),a.getCell(2,b.value.length+15).value=u("sheet.countWeekend"),a.getCell(3,b.value.length+5).value=u("sheet.halfMonth",{half:"II"}),a.getCell(3,b.value.length+6).value=u("sheet.days"),a.getCell(3,b.value.length+7).value=u("sheet.hours"),a.getCell(4,b.value.length+7).value=u("sheet.all"),a.getCell(4,b.value.length+8).value=u("sheet.overtime"),a.getCell(4,b.value.length+9).value=u("sheet.night"),a.getCell(4,b.value.length+10).value=u("sheet.weekend"),a.getCell(4,b.value.length+13).value=u("sheet.code"),a.getCell(4,b.value.length+14).value=u("sheet.count"),a.getRow(1).height=40,a.getRow(2).height=32,a.getRow(3).height=20,a.getRow(4).height=60,a.getColumn(1).width=6,a.getColumn(2).width=30,a.getColumn(3).width=17,a.getColumn(19).width=12,a.getColumn(b.value.length+5).width=12,a.getColumn(b.value.length+12).width=11,a.getColumn(b.value.length+15).width=11,a.getCell("A1").alignment=k,a.getColumn(1).alignment=C,a.getColumn(2).alignment=C,a.getColumn(3).alignment=C;for(let f=6;f<=15;f++)a.getCell(5,b.value.length+f).value=f+2,a.getColumn(b.value.length+f).alignment=C,a.getCell(4,b.value.length+f).border=c,a.getCell(5,b.value.length+f).border=c;a.getCell("A2").border=c,a.getCell("B2").border=c,a.getCell("C2").border=c,a.getCell("D2").border=c,a.getCell("D2").border=c,a.getCell("A5").border=c,a.getCell("B5").border=c,a.getCell("C5").border=c,a.getCell("D5").border=c,a.getCell("S5").border=c,a.getCell("T5").border=c,a.getCell(2,b.value.length+6).border=c,a.getCell(2,b.value.length+12).border=c,a.getCell(2,b.value.length+13).border=c,a.getCell(2,b.value.length+15).border=c,a.getCell(3,b.value.length+7).border=c;let d=1,i=5,m=!0;for(const f of h.value){let ge=[d,f.name,f.code];for(let pe=0;pe<b.value.length;pe++)pe===15&&ge.push(m?(f==null?void 0:f.halfI)||"":(f==null?void 0:f.hourI)||""),ge.push(m?((ce=f.days[pe])==null?void 0:ce.state)||"":((fe=f.days[pe])==null?void 0:fe.time)||"");ge.push(m?(f==null?void 0:f.halfII)||0:(f==null?void 0:f.hourII)||0,(f==null?void 0:f.contDays)||0,(f==null?void 0:f.contHour)||0,(f==null?void 0:f.overtime)||0,(f==null?void 0:f.night)||0,(f==null?void 0:f.weekend)||0,"",m?(f==null?void 0:f.numberNonAppearing[0])||"":(f==null?void 0:f.numberNonAppearing[1])||0,((le=f==null?void 0:f.appearing)==null?void 0:le.code)||"-",((he=f==null?void 0:f.appearing)==null?void 0:he.count)||"-",(f==null?void 0:f.weekendDays)||0);const Ue=a.addRow(ge);if(Ue.border=c,!m){a.mergeCells(`A${i+d*2-1}:A${i+d*2}`),a.mergeCells(`B${i+d*2-1}:B${i+d*2}`),a.mergeCells(`C${i+d*2-1}:C${i+d*2}`);for(let pe=b.value.length+3;pe<=b.value.length+8;pe++)a.mergeCells(`${I.cellsDynamically("D",pe)}${i+d*2-1}:${I.cellsDynamically("D",pe)}${i+d*2}`);a.mergeCells(`${I.cellsDynamically("D",b.value.length+12)}${i+d*2-1}:${I.cellsDynamically("D",b.value.length+12)}${i+d*2}`),d++}m=!m}let ee="Калач В. В.";T.odata.personal.forEach(f=>{f.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(f.dismissalDate.length===0||new Date(f.dismissalDate)>new Date(D.value))&&(ee=f.employeeName)}),a.mergeCells(`A${h.value.length+7}:B${h.value.length+7}`),a.mergeCells(`C${h.value.length+7}:G${h.value.length+7}`),a.mergeCells(`H${h.value.length+7}:M${h.value.length+7}`),a.mergeCells(`O${h.value.length+7}:T${h.value.length+7}`),a.mergeCells(`V${h.value.length+7}:AC${h.value.length+7}`),a.mergeCells(`AD${h.value.length+7}:AI${h.value.length+7}`),a.mergeCells(`AJ${h.value.length+7}:AL${h.value.length+7}`),a.mergeCells(`AM${h.value.length+7}:AP${h.value.length+7}`),a.mergeCells(`V${h.value.length+9}:AC${h.value.length+9}`),a.mergeCells(`AD${h.value.length+9}:AI${h.value.length+9}`),a.mergeCells(`AJ${h.value.length+9}:AL${h.value.length+9}`),a.mergeCells(`AM${h.value.length+9}:AP${h.value.length+9}`),a.getCell(`A${h.value.length+7}`).value=u("sheet.responsiblePerson"),a.getCell(`V${h.value.length+7}`).value=u("sheet.headStructural"),a.getCell(`C${h.value.length+7}`).value=xe.value+":",a.getCell(`O${h.value.length+7}`).value=I.byInitials(T.fullName),a.getCell(`AD${h.value.length+7}`).value=xe.value+":",a.getCell(`AM${h.value.length+7}`).value=I.byInitials(T.fullName),a.getCell(`V${h.value.length+9}`).value=u("sheet.HREmployee"),a.getCell(`AD${h.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",a.getCell(`AM${h.value.length+9}`).value=I.byInitials(ee),a.getCell(`A${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`C${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`O${h.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${h.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${h.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${h.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${h.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`H${h.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${h.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${h.value.length+9}`).border={bottom:{style:"thin"}};const ae=`export_${I.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,q=await o.xlsx.writeBuffer();Nt.saveAs(new Blob([q]),ae),M.value=!1},Be=()=>{let o=new Blob([W.value],{type:"text/plain;charset=utf-8"});Nt.saveAs(o,`Служебка_${I.byInitials(h.value[E.value.ids*2].fio)}_${I.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(o,a)=>{const k=e.resolveComponent("el-form-item"),c=e.resolveComponent("svg-icon"),C=e.resolveComponent("el-slider"),d=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",on,[se.checkEdit?(e.openBlock(),e.createBlock(e.unref(L.ElSelect),{key:0,modelValue:O.value,"onUpdate:modelValue":a[0]||(a[0]=i=>O.value=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,i=>(e.openBlock(),e.createBlock(e.unref(L.ElOption),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),se.checkEdit?(e.openBlock(),e.createBlock(e.unref(L.ElButton),{key:1,plain:"",onClick:a[1]||(a[1]=i=>A.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),a[20]||(a[20]=e.createElementVNode("div",{class:"expander"},null,-1)),se.checkEdit?(e.openBlock(),e.createBlock(e.unref(L.ElSwitch),{key:2,modelValue:me.value,"onUpdate:modelValue":a[2]||(a[2]=i=>me.value=i),"active-text":e.unref(u)("workSchedule.currentMonth"),"active-value":"0","inactive-value":"-1"},null,8,["modelValue","active-text"])):e.createCommentVNode("",!0),e.createVNode(e.unref(L.ElSwitch),{modelValue:$.value,"onUpdate:modelValue":a[3]||(a[3]=i=>$.value=i),"active-text":o.$t("sheet.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*5 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(L.ElSwitch),{modelValue:R.value,"onUpdate:modelValue":a[4]||(a[4]=i=>R.value=i),"active-text":o.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(L.ElTable),{id:"printTable",data:h.value,"span-method":We,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(u)("sheet.emptyText"),align:"center",onCellClick:Oe,"max-height":$.value,"default-sort":{prop:"mame",order:"descending"},class:"sheet-table"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.title",{name:O.value[0]})+e.unref(te)(D.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.employee"),width:R.value==="false"?180:o.auto,align:"center"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${D.value.getTime()}-${i.day}`},[i.day<=15?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:0,width:"39","class-name":i.holidays+Me(i.day),align:"center",label:i.day.toString()+`
5
+ */var ln=Je.exports,At;function sn(){return At||(At=1,function(se){(function(T,u){se.exports?se.exports=u():T.RussianNouns=u()})(typeof self<"u"?self:ln,function(){const T=Object.freeze(["именительный","родительный","дательный","винительный","творительный","предложный","местный"]),u=Object.freeze({NOMINATIVE:T[0],GENITIVE:T[1],DATIVE:T[2],ACCUSATIVE:T[3],INSTRUMENTAL:T[4],PREPOSITIONAL:T[5],LOCATIVE:T[6]}),te=Object.freeze(["женский","мужской","средний","общий"]),M=Object.freeze({FEMININE:te[0],MASCULINE:te[1],NEUTER:te[2],COMMON:te[3]});function H(s){let t=new Array(s.length);for(let r=0;r<s.length;r++){let l=s.charCodeAt(r);l>=1040&&l<=1071?l+=32:l>=1024&&l<=1039&&(l+=80),t[r]=l}return String.fromCharCode.apply(null,t)}function me(s){if(s==null)return"No parameters specified.";for(let t of["pluraleTantum","indeclinable","animate","surname","name","transport"])if((l=>l!=null&&typeof l!="boolean")(s[t]))return""+t+" must be boolean.";if(s.text==null)return"A cyrillic word required.";if(!s.pluraleTantum){if(s.gender==null)return"A grammatical gender required.";if(!te.includes(s.gender))return"Bad grammatical gender."}return null}class D{constructor(t){t instanceof D?(this._txt=t._txt,this._lc=t._lc,this._hash=t._hash,this._flags=t._flags):(t.pluraleTantum?this._flags=5:this._flags=1+te.indexOf(t.gender),this._txt=t.text,this._lc=t.text.toLowerCase(),this._hash=ve(this._lc),this._flags|=8*(t.indeclinable&1),this._flags|=16*(t.animate&1),this._flags|=32*(t.surname&1),this._flags|=64*(t.name&1),this._flags|=128*(t.transport&1),this._flags|=65536*(2+qe(this._lc,t.pluraleTantum,t.gender,t.indeclinable)))}static create(t){if(t instanceof this)return t;const r=me(t);if(r)throw new Error(r);return Object.freeze(new this(t))}static createOrNull(t){return me(t)===null?Object.freeze(new this(t)):null}newText(t){const r=new D(this);return r._txt=t(this),r._lc=r._txt.toLowerCase(),r._hash=ve(r.lower()),r._flags&=65535,r._flags|=65536*(2+qe(r.lower(),r.isPluraleTantum(),r.getGender(),r.isIndeclinable())),Object.freeze(r)}newGender(t){const r=t(this);if(te.includes(r)){const l=new D(this);return l._flags&=65528,l._flags|=1+te.indexOf(r),l._flags|=65536*(2+qe(l.lower(),l.isPluraleTantum(),r,l.isIndeclinable())),Object.freeze(l)}}equals(t){return t instanceof D&&this._flags===t._flags&&this.lower()===t.lower()}text(){return this._txt}lower(){return this._lc}isPluraleTantum(){return(7&this._flags)===5}getGender(){const t=7&this._flags;if(t>=1&&t<=4)return te[t-1]}isIndeclinable(){return(8&this._flags)!==0}isAnimate(){return(16&this._flags)!==0||this.isASurname()||this.isAName()}isASurname(){return(32&this._flags)!==0}isAName(){return(64&this._flags)!==0}isATransport(){return(128&this._flags)!==0}getDeclension(){return(this._flags>>16)-2}getSchoolDeclension(){const t=this.getDeclension();return t===1?2:t===2?1:t}}function b(s){const t=s.lower().includes("ё")&1;return((s._flags&65535)<<1|t)*4294967296+s._hash}function O(s){const t=s.charCodeAt(0)-1072;return t===33?32:t===(31&t)?1<<t:0}function $(s,t){return(s&O(t))!==0}const R=3892855073;function F(s){return $(R,H(s))}function K(s){return $(66567902,s)}function Q(s){return $(66567390,s)}const Y=(s,t)=>t===t.toUpperCase()?s.toUpperCase():s,X=s=>s.split("").filter(F).length,V=(s,t)=>s.substring(s.length-t),w=s=>V(s,1),S=(s,t)=>s.substring(0,s.length-t),g=s=>S(s,1);function ne(s,t){const r=s.length-t-1;return s.substring(r,r+1)}const A=(s,t)=>t.some(r=>s.endsWith(r)),Se=s=>s.filter((t,r)=>s.indexOf(t)===r),oe=s=>s.replaceAll("ё","е").replaceAll("Ё","Е"),ie=(s,t,r)=>(s.length?s:[!1]).map(n=>r(n?oe(t):t,n));function ve(s){const t=s.replaceAll("ё","е");let r=t.length%2,l=1,n=5381;function y(){n=(n*33+(r&255))%4294967296,r=r>>8,l-=8}for(let x of t){const p=x.charCodeAt(0)-1072&31;r|=p<<l,l+=5,l>=8&&y()}l>0&&y();const v=t.charCodeAt(0)%2;return(2147483647&n)*2+v}function ue(s){return s>>>22&2047^s>>>11&2047^s&2047}function Ce(s){const t=s.padStart(3,"а");return(t.charCodeAt(0)&7)<<8|(t.charCodeAt(1)&15)<<4|t.charCodeAt(2)&15}function ye(s,t){return!!(s[t>>>3]>>>7-t%8&1)}function E(s,t){const r=t>>>3;s[r]=s[r]|1<<7-t%8}function z(s){let t=new Map;for(let r of s){let l=t;for(let n=r.length-1;n>=0;n--){const y=r.charCodeAt(n);if(n>0){const v=l.get(y);if(v===0)break;v===void 0&&l.set(y,new Map),l=l.get(y)}else l.set(y,0)}}return t}function W(s,t){let r=t;for(let l=s.length-1;l>=0;l--){const n=s.charCodeAt(l);if(r.has(n)){const y=r.get(n);if(y===0)return!0;r=y}else return!1}}function xe(s){const t=new Set;let r=0;for(let l of s)r+=l,t.add(r);return t}const h=xe([11720389,548,1024,1479,2622,2867,1222,2642,264,1328,137,123,397,65542229,212447047,31729170,8094836,1056,21701789,35520559,40358,21819,28248,119786,63892,31809,7356,74383,72369,5945,28902,90120738,21187517,91925642,3054826,1600765,65934,30948851,5569212,4205640,5412804,6787095,9749916,3940084,1511466,1303038,16090470,1376628,49919694,3827522,37915959,14032615,28701924,224587434,637275762,51079457,391103676,24108070,158999424,232633267,6058815,66599250,692781441,816204112,55209380,72754,90006,80058,45564,67845,42548,27193,21401,139393,750335,170896,4424,1566,6264,154969,17292,17229,175112,83011,117872,4183,13065,108972,108088,343663,66210,334,17090,380271,283272,59007,35796,230801,1067156,19992,157124,12433,252644,2626,23776,630482,531296,304718,90891,726,23116,47653,30493,167310,50156,123071,477118,241821,55660,908992,534269,205157,11218,2490,660,66391,46856,847526,68710,8450,36630,15642,109864,41716,354482,79820,51876,97325,5506,46436,191803,3957,40876,126323,2347821,338490,73216,475569,87602,29642,4220,10760,16896,50156,17424,35178,167244,126786,33643,30488,65045,35961,51453,55660,4,152461,138332,1958,34200,3709,61381,17424,30158,80591,11218,44099,260487]),Oe=xe([11720389,548,1024,1060,4,5904,1848,4404,330555234,4691346,3365076,1045362,7414584,960432,10564312,253286,16178203,4357,4355,11350,31120,5248,40591,62367,54057,50487,13069,3664,39764,10263,3002,5810,8844,24551,4091,56761,21785,30553,55147139,15960625,1933097,12258067,16302047,54210486,45688435,1659767,4813249,33577763,2501798,10056946,672528,14209351,2012340,1655412,4652736,62568,148698,21186,71129124,260014161,108045611,1007583269,2026464,22799532,750068913,1499532,1285428194,74598,22348,6599,132273,309821,156816,397448,179394,148036,100257,21779,11218,36631,345954,50442,104394,2724,112115,30690,10552,31377,11286,7168,14612,51480,116537,192258,163145,65604,97951,1363157,212810,431243,2622,425588,275284,150351,570568,244701,16659,26136,130134,11040,159389,728373,3476,726,1290392,224730,189158,11218,2490,10750,21608,143747,65974,664563,84036,16283,17424,5758,45080,33066,1782,90658,37101,56107,233163,14216,5518,179264,2525,146957,111342,80594,2309,4217,25432,26905,29980,518951,1458289,523705,4202,477865,149368,126310,47828,212678,22744,269176,179119,4399,35997,69696,41777,41,127336,4202,73153,46372,114255,126869,23630,11218]),we=new Uint8ClampedArray(256);h.forEach(s=>E(we,ue(s))),Oe.forEach(s=>E(we,ue(s)));const Ee=new Set(["бубен","бугор","ветер","вошь","вымысел","горшок","деготь","дёготь","дятел","домысел","замысел","кашель","коготь","лапоть","лоб","локоть","ломоть","молебен","мох","ноготь","овен","пепел","пес","пёс","петушок","помысел","порошок","промысел","псалом","пушок","ров","рожь","рот","сон","стебель","стишок","угол","умысел","хребет","церковь","шов","ковер","овес","костер"].map(ve)),We=new Uint8ClampedArray(256);Ee.forEach(s=>E(We,ue(s)));const Ve=z(["овёс","ковёр","костёр","шатер","шатёр","козел","козёл","котел","котёл","орел","орёл","осел","осёл","узел","уголь","чок","ешок","хол"]),$e=["ясень","бюллетень","олень","тюлень","гордень","пельмень","ячмень"],Xe=z(["лапоток","желток","нишок","ришок","ишек"]),Ae=["поток","приток","переток","проток","биоток","электроток","восток","водосток","водоток","воток","знаток"],Pe=["инок","исток","обморок","порок","пророк","сток","урок"],_e=new Set("клей,чай,дом,дух,дым,дымок,газ,год,горошек,жар,жир,квас,пар,пыл,род,рост,сахар,свет,сироп,смех,снег,снежок,сок,сор,спор,срок,соус,спирт,страх,суп,сыр,табак,творог,толк,торф,туман,убыток,укроп,уксус,ход,цемент,чеснок,шаг,шик,шиповник,шоколад,шорох,шум,яд".split(",")),Me=new Uint8ClampedArray(256);_e.forEach(s=>E(Me,ue(ve(s))));const Te=z(["ое","нький","ский","ской","лстой","отой","утой","евой","овой","живой"]),Ke=z(["ее","ое","нький","ский","ской","лстой","отой","утой"]),Ze=z(["евой","овой","отой","живой"]),Ie=z(["шний","жний","щий","ший","жий","чий"]),Be=["божий","ажий","яжий","ужий","южий","бульдожий","кабарожий","медвежий","носорожий","миножий"],o=z(Be),a=z(Be.map(s=>S(s,2)+"ьи")),k=z(["мой","ной","дой","шой","жой","рзой","осой","хой","латой","витой","литой","питой","житой","отой","утой","ятой","лагой","рагой","огой","угой","лубой","любой","илой","ылой","злой","малой","овой","евой","живой","ской","акой","укой","нний","ский","йкий","цкий","зкий","ткий","лкий","мкий","хкий","оркий","аркий","яркий","ький","ёкий","бокий","оокий","cокий","токий","ликий","дикий","укий","ыкий","який","пкий","дкий","бкий","нкий","жкий","чкий","гкий","овкий","авкий"]),c=(s,t)=>V(t,2)==="ый"||(t.endsWith("кривой")||W(t,k))&&X(t)>=2,C=z(["ий","ие","чье","тье","дье","вье","бье","жалованье","енье","ружье","божье","верье","мужье"]),d=z(["вое","лое","мое","ное","рое","тое","той","ый"]),i=Object.freeze({CONTAINER:1,LOCATION:2,STRUCTURE:4,SURFACE:8,WAY:16,OBJECT_WITH_FUNCTIONAL_SURFACE:32,SUBSTANCE:64,RESOURCE:128,CONDITION:256,EXPOSURE:512,MOTION:1024,EVENT:2048,WITH_ADJECTIVE:4096,WITHOUT_ADJECTIVE:8192,RELIGIOUS:16384}),m=Object.freeze({PREPOSITIONAL:1,U_SUFFIX:2}),ee=Object.freeze({V:1,VO:2,NA:3});function ae(s,t,r){const l=t-1&7,n=s-1&7;return r<<6|n<<3|l}function q(s){return(s&7)+1}function ce(s){switch((s>>3&7)+1){case ee.V:return"в";case ee.VO:return"во";case ee.NA:return"на"}}function fe(s){return s>>6}const le=Object.freeze(ge()),he={Case:u,Gender:M,CASES:T,LocativeFormAttribute:i,LocativeForm:function(t,r,l){this.preposition=t,this.word=r,this.attributes=l},Lemma:D,createLemma:s=>D.create(s),createLemmaOrNull:s=>D.createOrNull(s),getDeclension:s=>D.create(s).getDeclension(),getSchoolDeclension:s=>D.create(s).getSchoolDeclension(),StressDictionary:function(){const t=new Map,r=Uint8ClampedArray.from(we),l=function(p){return(p._flags&31)*4294967296+p._hash},n=function(p){return p.lower().indexOf("ё")+1&255},y=p=>{const N=l(p),B=t.get(N);return B instanceof Array?B:[]},v=p=>{const N=p._flags&65504,B=y(p).filter(J=>(J[0]&N)<=N),U=B.filter(J=>J[0]>>16===n(p));if(U.length)return U[0][1];if(B.length)return B[0][1]};this.put=function(p,N){const B=N.split("-"),U=(j,G)=>j.length!==G||j.split("").some(Z=>!"SsbeE".includes(Z));if(B.length!==2||U(B[0],7)||U(B[1],6))throw new Error("Bad settings format.");const J=D.create(p),re=l(J);let P=t.get(re);P instanceof Array||(P=[],t.set(re,P));const de=J._flags&65535|n(J)<<16,_=P.find(j=>de===j[0]);_?_[1]=N:P.push([de,N]),E(r,ue(J._hash))};const x=p=>{switch(p){case"E":return[!0];case"e":return[!0,!1];case"b":case"s":return[!1,!0];default:return[!1]}};this.hasStressedEndingSingular=function(p,N){if(ye(r,ue(p._hash))){const B=T.indexOf(N);if(B>=0){let U=v(p);if(U){const J=U.split("-")[0];return x(J[B])}else if(p.getGender()===M.MASCULINE){if(h.has(p._hash))return x("SEESEEE"[B]);if(Oe.has(p._hash))return x("SEEEEEE"[B])}}}return[]},this.hasStressedEndingPlural=function(p,N){if(ye(r,ue(p._hash))){const B=T.indexOf(N);if(B>=0&&B<6){let U=v(p);if(U){const J=U.split("-")[1];return x(J[B])}else if(p.getGender()===M.MASCULINE&&(h.has(p._hash)||p.isAnimate()&&Oe.has(p._hash)))return x("E")}}return[]}},Engine:class{constructor(){this.sd=f()}decline(t,r,l){const n=D.create(t);return Bt(this,n,r,l)}pluralize(t){const r=D.create(t);return r.isPluraleTantum()?[r.text()]:Rt(this,r)}getLocativeForms(t){const r=this,l=D.create(t),n=l.getDeclension();if(n&&n>=0){const y=le.get(b(l));if(y instanceof Array)return y.map(v=>new he.LocativeForm(ce(v),Lt(r,n,l,q(v)),fe(v)))}return[]}}};function f(){function s(p,N,B,U){const J=U.split(",");for(let re of J){const P=Object.assign({},N);P.text=re,p.put(P,B)}}const t=new he.StressDictionary,r=Object.freeze({gender:M.MASCULINE}),l=Object.freeze({gender:M.MASCULINE,animate:!0}),n=Object.freeze({gender:M.FEMININE}),y=Object.freeze({gender:M.FEMININE,animate:!0}),v=Object.freeze({gender:M.COMMON,animate:!0}),x=(p,N)=>s(t,r,p,N);return s(t,r,"SSSSSSS-SSSSSS","брёх,дёрн,идиш,имидж,мед,упрёк"),s(t,{pluraleTantum:!0},"SSSSSSS-SSSSSS","ножны"),s(t,r,"SSSSSSS-EEEEEE","адрес,век,вечер,город,детдом,поезд,спецсчёт,субсчёт"),s(t,r,"SSSSSSE-EEEEEE","берег,бок,вес,лес,снег,дом,катер,счёт,мёд"),s(t,l,"SSSSSSS-SSSSSS","балансёр,шофёр"),s(t,r,"SSSSSSS-bbbbbb","вексель,ветер"),x("SSSSSSE-ESEEEE","глаз"),x("SSSSSSE-bEEbEE","год"),x("SSSSSSb-bbbbbb","цех"),s(t,{gender:M.NEUTER},"EEEEEEE-SSSSSS","тесло,стекло,автостекло,бронестекло,оргстекло,пеностекло,смарт-стекло,спецстекло,бедро,берцо,блесна,чело,стегно,стебло"),s(t,n,"EEEbEEE-SSESEE","щека"),s(t,n,"EEEEEEE-SSESEE","слеза"),s(t,r,"SbbSbbb-bbbbbb","грош,шприц"),s(t,r,"SssSsss-ssssss","кишмиш,кряж,слеш,слэш"),s(t,l,"Sssssss-ssssss","паныч"),x("SEESeEE-EEEEEE","стеллаж"),x("SeeSeee-eeeeee","шиномонтаж"),s(t,{gender:M.NEUTER},"EEEEEEE-SsESEE","плечо"),s(t,v,"EEEEEEE-SSSSSS","судья"),s(t,v,"EEEEEEE-EEEEEE","левша"),s(t,n,"EEEEEEE-SESSSS","семья,макросемья"),s(t,n,"EEEEEEE-SEESEE","вожжа,свеча"),s(t,n,"EEESEEE-SSSSSS","душа"),s(t,y,"EEEEEEE-SESESS","свинья,овца"),s(t,n,"EEEEEEE-eEeeee","скамья"),s(t,n,"EEEEEEE-EEEEEE","башка,кишка,ладья,лапша,моча,пыльца,статья"),t}function ge(){const s=new Map,t=Object.freeze({gender:M.MASCULINE}),r=Object.freeze({gender:M.MASCULINE,animate:!0});function l(N,B,U,J,re){const P=J.split(","),de=re instanceof Array?re:[m.U_SUFFIX];for(let _ of P){const j=Object.assign({},N);j.text=_;const G=b(D.create(j));let Z=s.get(G);Z||(Z=[],s.set(G,Z));for(let be of U)for(let st of de)Z.push(ae(be,st,B))}}const n=Object.freeze([ee.V]),y=Object.freeze([ee.VO]),v=Object.freeze([ee.NA]);l(t,i.CONTAINER,n,"мозг,пруд,стог,таз,год"),l(t,i.CONTAINER,y,"рот"),l(t,i.WAY,n,"год"),l(t,i.CONTAINER,n,"гроб"),l(t,i.CONTAINER|i.RELIGIOUS,y,"гроб",[m.PREPOSITIONAL]),l(t,i.LOCATION,n,"ад,бор,лес,порт,аэропорт,рай,сад,детсад,тыл,низ,хлев"),l(t,i.STRUCTURE,n,"круг,полк,артполк,ряд,род,строй,лад"),l(t,i.SURFACE,v,"баз,берег,бережок,вал,кон,круг,луг,пол,яр"),l(t,i.WAY,v,"век,день"),l(t,i.WAY,n,"час"),l(t,i.WAY,v,"корень"),l(r,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"вор"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"повод,бочок,борт,воз,горб,кол,мост,плот,сук,хуй"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"крюк,болт",[m.PREPOSITIONAL,m.U_SUFFIX]);const x=",мёд,мех,пар,пух";l(t,i.SUBSTANCE,n,"дым,жир,мел,пушок"+x),l(t,i.RESOURCE,v,"газ,клей,спирт"+x),l(t,i.CONDITION,n,"бой,бред,быт,долг,плен,пыл,сок,ход,лад"),l(t,i.EXPOSURE,n.concat(v),"вид"),l(t,i.EXPOSURE,v,"слух,счёт,ветер,ветр,свет"),l(t,i.MOTION,v,"ход,бег,вес"),l(t,i.MOTION|i.WITH_ADJECTIVE,v,"шаг"),l(t,i.EVENT,v,"бал,пир"),l(t,i.CONDITION,v,"дух,плав"),l(t,i.MOTION|i.WITH_ADJECTIVE,v,"газ"),l(t,i.CONTAINER,n,"глаз,зоб,нос,шкаф"),l(t,i.CONTAINER,y,"лоб"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,"глаз,лоб,нос,шкаф,холм");let p="бок,верх,зад,угол";return l(t,i.LOCATION,n,p),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE,v,p),l(t,i.LOCATION|i.WITHOUT_ADJECTIVE,n,"край"),l(t,i.OBJECT_WITH_FUNCTIONAL_SURFACE|i.WITHOUT_ADJECTIVE,v,"край"),l(t,i.SURFACE,v,"лёд,мох,снег"),l(t,i.SUBSTANCE,y,"лёд,лён,мох"),l(t,i.SUBSTANCE,n,"снег"),s}const Ue=s=>{const t=Math.max(s.toLowerCase().lastIndexOf("е"),s.toLowerCase().lastIndexOf("ё")),r=Y("ё",s[t]);return s.substring(0,t)+r+s.substring(t+1)},pe=s=>s.replace(/[^её]/g,"").length===1;function it(s,t){const r=w(t);if($(R|512,r)){if($(R,ne(t,1))){const l=S(s,2);return W(t,o)?l+Y("ь",l):l}else if(r!=="й")return g(s)}return s}function Dt(s,t,r){const l=ne(t,1);return l==="ь"||r==="о"&&$(2504708,l)?g(s):it(s,t)}function kt(s,t,r){if(s.length>=4&&A(t,["рёк","нёк","лёк"])&&r!==!1)return S(s,2)+"ьк";if(t.endsWith("ёк")&&F(ne(s,2)))return S(s,2)+"йк"}function Ot(s,t,r){return Ee.has(s._hash)||W(r,Ve)?S(t,3)+ne(t,1):r.endsWith("ень")&&s.getGender()===M.MASCULINE&&!A(r,$e)?S(t,3)+"н":g(t)}function Vt(s,t,r){return(199680&r)!==0&&W(t,Ve)&&!["новосел","новосёл"].includes(t)||(2571270&r)!==0&&(ye(We,ue(s._hash))&&Ee.has(s._hash)||s.isAnimate()&&t.endsWith("посол"))}function Le(s,t,r){const l=s.text(),n=w(t),y=O(n);let v;return(R|512|1024|16|8192|4|1<<28)&y&&((R|512)&y?v=Dt(l,t,n):n==="к"?v=kt(l,t,r):n==="ь"?v=Ot(s,l,t):(["лёд","лед","лён"].includes(t)||t==="лев"&&s.isAnimate())&&(v=S(l,2)+Y("ь",ne(l,1))+w(l))),v||(Vt(s,t,y)?v=S(l,2)+w(l):v=l),v}function qe(s,t,r,l){if(t)return-2;if(l)return-1;const n=w(s);switch(r){case M.FEMININE:return n==="а"||n==="я"?2:K(n)?-1:3;case M.MASCULINE:return n==="а"||n==="я"?2:s==="путь"?0:1;case M.NEUTER:return["дитя","полудитя"].includes(s)?0:V(s,2)==="мя"?3:1;case M.COMMON:return n==="а"||n==="я"?2:n==="и"?-1:1;default:return-2}}function De(s,t){const r=g(s),l=g(t.lower());if(w(l)==="а")return r;if(A(l,["зне","жне","гре","спе","мудре"])||V(g(l),3).split("").every(n=>Q(n))||t.isAName())return r;if(V(l,2)==="ле"){const n=ne(l,2);return F(n)||n==="л"?g(r)+"ь":r}else return F(w(l))&&w(l)!=="и"?F(w(g(l)))?S(s,2)+"й":A(t.lower(),["месяц"])?r:S(s,2):r}function ke(s){return A(s,["чек","шек"])&&s.length>=6||W(s,Xe)||s.endsWith("ок")&&!s.endsWith("шок")&&!Pe.includes(s)&&!A(s,Ae)&&!F(ne(s,2))&&(F(ne(s,3))||A(S(s,2),["ст","рт"]))&&s.length>=4}const Qe=s=>w(s)==="ь"&&!s.endsWith("господь")||"её".includes(w(s))&&!A(s,["це","же"]);function ot(s){if(s.startsWith("пол")&&$(2550137089,w(s))&&s[3]!=="л"&&X(s)>=2){let t=s.substring(3),r=t.search(/[а-яё]/);return r>=0&&K(t[r])}else return!1}function $t(s){return s.endsWith("полночь")||s.startsWith("пол")&&$(134217984,w(s))&&X(s)>=2}function et(s,t,r){const l=t.text(),n=t.lower();if(n.endsWith("путь"))return r===u.INSTRUMENTAL?g(l)+"ём":Fe(s,t,r);if(n.endsWith("дитя"))switch(r){case u.NOMINATIVE:case u.ACCUSATIVE:return l;case u.GENITIVE:case u.DATIVE:case u.PREPOSITIONAL:case u.LOCATIVE:return l+"ти";case u.INSTRUMENTAL:return[l+"тей",l+"тею"]}else throw new Error("unsupported")}function Re(s,t){const r=new D(s);return r._txt=t,r._lc=t.toLowerCase(),r._hash=ve(r.lower()),Object.freeze(r)}function ze(s,t,r,l){const n=()=>l!=="полминуты"?"полу"+t.text().substring(3):t.text();if(l==="полпути"){let y=Re(t,g(n())+"ь");return et(s,y,r)}else if(l.endsWith("зни")||l.endsWith("сти")){let y=Re(t,g(n())+"ь");return Fe(s,y,r)}else{let y=Re(t,g(n())+(V(l,2)==="ни"?"я":"а"));return nt(s,y,r)}}const _t=z(["й","ие","иё"]),Mt=z(["воробей","муравей","ручей","соловей","улей"]),ut=z(["ов","ев","ёв","ин","ын"]),dt=new Map;dt.set(1099,ut);function tt(s,t,r){const l=t.text(),n=t.lower(),y=w(n),v=t.getGender(),x=s.sd.hasStressedEndingSingular(t,r);let p=Le(t,n,x[0]),N=g(l);const B=ot(n);B&&(p="полу"+p.substring(3),N="полу"+N.substring(3));let U=H(p);const J=()=>B&&n.endsWith("я")||Qe(n),re=W(n,_t),P=()=>W(n,Mt)?g(N)+Y("ь",w(N)):N,de=()=>"чщ".includes(w(U));function _(j){return!t.isAnimate()&&ye(Me,ue(t._hash))&&_e.has(n)&&(y==="й"?j.push(g(l)+Y("ю",w(l))):j=j.concat(ie(x,p,G=>G+Y("у",w(G))))),j}switch(r){case u.NOMINATIVE:return l;case u.GENITIVE:switch(y){case"и":case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":if(re&&t.isASurname()||c(t,n)||W(n,Te))return p+"ого";if(W(n,Ie)||n.endsWith("ее"))return p+"его";case"ё":case"я":case"ь":if(re){let Z=[P()+"я"];return _(Z)}else if(J()&&!de())return p+"я";break;case"ц":return De(l,t)+"ца";case"к":if(ke(n))return g(N)+"ка";break;case"о":if(A(n,["шко"])&&M.MASCULINE===v)return N+"и";break}let j;return t.isASurname()||U.indexOf("ё")===-1?j=[p+"а"]:j=ie(x,p,Z=>Z+"а"),_(j);case u.DATIVE:switch(y){case"и":case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":if(re&&t.isASurname()||c(t,n)||W(n,Te))return p+"ому";if(W(n,Ie)||n.endsWith("ее"))return p+"ему";case"ё":case"я":case"ь":if(re)return P()+"ю";if(J()&&!de())return p+"ю";break;case"ц":return De(l,t)+"цу";case"к":if(ke(n))return g(N)+"ку"}return t.isASurname()||U.indexOf("ё")===-1?p+"у":ie(x,p,Z=>Z+"у");case u.ACCUSATIVE:return v===M.NEUTER||"иы".includes(y)&&B?l:t.isAnimate()?tt(s,t,u.GENITIVE):l;case u.INSTRUMENTAL:switch(y){case"и":case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(re&&t.isASurname()||W(n,Ke))return W(n,d)?p+"ым":p+"им";if(c(t,n))return ne(n,1)==="и"||n.endsWith("хой")?p+"им":p+"ым";if(W(n,Ze))return p+"ым";if(W(n,Ie))return p+"им";if(re)return P()+"ем";if(n.endsWith("це"))return l+"м";break;case"ц":return ie(x,l,(Z,be)=>be?De(Z,t)+"цом":De(Z,t)+"цем");case"к":if(ke(n))return g(N)+"ком";break;case"н":case"в":if(t.isASurname()&&W(n,ut))return l+"ым"}return J()||"жшчщ".includes(w(U))?ie(x,p,(Z,be)=>be?Z+"ом":Z+"ем"):t.isASurname()||U.indexOf("ё")===-1?p+"ом":ie(x,p,Z=>Z+"ом");case u.LOCATIVE:if(n==="полпути")return l;const G=le.get(b(t));if(G)return Se(G.map(be=>q(be))).map(be=>ct(s,t,be));case u.PREPOSITIONAL:switch(y){case"и":if(n==="полпути")return l;case"ы":if(B)return ze(s,t,r,n);break;case"й":case"е":case"ё":case"я":case"ь":if(re&&t.isASurname()||c(t,n)||W(n,Te))return p+"ом";if(W(n,Ie)||n.endsWith("ее"))return p+"ем";if(A(n,["воробей"])){const Z=g(N);return Z+Y("ье",w(Z))}else{if(W(n,C)&&!A(n,["запястье","здоровье","изголовье","платье"]))return N+"и";if(y==="й"||V(n,2)==="иё")return P()+"е"}break;case"ц":return De(l,t)+"це";case"к":if(ke(n))return g(N)+"ке"}return t.isASurname()||U.indexOf("ё")===-1?p+"е":ie(x,p,Z=>Z+"е")}}function nt(s,t,r){const l=t.text(),n=t.lower(),y=Le(t,n),v=H(y),x=g(l),p=g(n),N=()=>w(n)==="я",B=()=>n.endsWith("ая")&&!(X(l)===2||F(w(y))),U=()=>n.endsWith("яя")&&!(X(l)===2||F(w(y))),J=["жая","шая"];switch(r){case u.NOMINATIVE:return l;case u.GENITIVE:return U()||A(n,J)?y+"ей":B()?y+"ой":t.isASurname()&&!n.endsWith("да")?x+"ой":n.endsWith("ничья")?x+"ей":N()||$(60818504,w(v))?x+"и":x+"ы";case u.DATIVE:return U()||A(n,J)?y+"ей":B()?y+"ой":t.isASurname()&&!n.endsWith("да")?x+"ой":V(n,2)==="ия"?x+"и":n.endsWith("ничья")?x+"ей":x+"е";case u.ACCUSATIVE:return B()?y+"ую":U()?y+"юю":N()?x+"ю":x+"у";case u.INSTRUMENTAL:return U()||A(n,J)?y+"ею":B()?[y+"ой",y+"ою"]:N()||"жшчщц".includes(w(v))&&!s.sd.hasStressedEndingSingular(t,r).includes(!0)?w(p)==="и"?x+"ей":[x+"ей",x+"ею"]:[x+"ой",x+"ою"];case u.PREPOSITIONAL:case u.LOCATIVE:return U()||A(n,J)?y+"ей":B()?y+"ой":t.isASurname()&&!n.endsWith("да")?x+"ой":V(n,2)==="ия"?x+"и":n.endsWith("ничья")?x+"ей":x+"е"}}const je={дочь:"дочерь",мать:"матерь"};function Fe(s,t,r){const l=t.text(),n=t.lower();if(![u.NOMINATIVE,u.ACCUSATIVE].includes(r)&&Object.keys(je).includes(n)){const v=Re(t,je[n]);return Fe(s,v,r)}let y=Le(t,n);if($t(n)&&(y="полу"+y.substring(3)),V(n,2)==="мя")switch(r){case u.NOMINATIVE:case u.ACCUSATIVE:return l;case u.GENITIVE:case u.DATIVE:case u.PREPOSITIONAL:case u.LOCATIVE:return y+"ени";case u.INSTRUMENTAL:return y+"енем"}else switch(r){case u.NOMINATIVE:case u.ACCUSATIVE:return l;case u.GENITIVE:case u.DATIVE:case u.PREPOSITIONAL:case u.LOCATIVE:return y+"и";case u.INSTRUMENTAL:return A(n,["вошь","рожь","церковь"])?l+"ю":y+"ью"}}function Bt(s,t,r,l){const n=Ut(s,t,r,l);return n instanceof Array?n:[n]}function Ut(s,t,r,l){const n=t.text();if(t.isIndeclinable())return n;if(t.isPluraleTantum())return wt(s,t,r,n);if(l)return wt(s,t,r,l);switch(t.getDeclension()){case-1:return n;case 0:return et(s,t,r);case 1:return tt(s,t,r);case 2:return nt(s,t,r);case 3:return Fe(s,t,r)}}function ct(s,t,r){if(m.U_SUFFIX===r){const l=t.text(),n=t.lower();let y=Le(t,n),v=g(l);const p=ot(n)&&n.endsWith("я")||Qe(n);return w(n)==="й"?oe(v)+"ю":p?oe(y)+"ю":ke(n)?oe(g(v))+"ку":oe(y)+"у"}else if(m.PREPOSITIONAL===r)return tt(s,t,u.PREPOSITIONAL)}function Lt(s,t,r,l){switch(t){case 0:return et(s,r,u.PREPOSITIONAL);case 1:return ct(s,r,l);case 2:return nt(s,r,u.PREPOSITIONAL);case 3:return Fe(s,r,u.PREPOSITIONAL)}}const ft=new Uint8ClampedArray(256),ht=Object.freeze([[[M.MASCULINE,void 0],{болгарин:["болгары"],господин:["господа"],дядя:["дяди","дядья"],зуб:["зубы","зубья"],клок:["клочья","клоки"],князь:["князи","князья"],кол:["колы","колья"],месяц:["месяцы"],полдень:["полдни","полудни"],татарин:["татары"],хозяин:["хозяева"],цветок:["цветки","цветы"],черт:["черти"],чёрт:["черти"]}],[[M.MASCULINE,!0],{кондуктор:["кондуктора","кондукторы"],кум:["кумовья"],муж:["мужья","мужи"]}],[[M.FEMININE,void 0],{гроздь:["грозди","гроздья"],курица:["курицы","куры"],стая:["стаи"],щека:["щёки"],береста:["берёсты"],верста:["вёрсты"],десна:["дёсны"],жена:["жёны"],звезда:["звёзды"],кинозвезда:["кинозвёзды"],медсестра:["медсёстры"],метла:["мётлы"],пчела:["пчёлы"],сестра:["сёстры"],слеза:["слёзы"]}],[[M.NEUTER,void 0],{брюхо:["брюхи"],колено:["колена","колени","коленья"],древо:["древа","древеса"],ухо:["уши"],око:["очи"],дно:["донья"],чудо:["чудеса","чуда"],небо:["небеса"],бревно:["брёвна"],ведро:["вёдра"],веретено:["веретёна"],весло:["вёсла"],гнездо:["гнёзда"],зерно:["зёрна"],знамя:["знамёна"],колесо:["колёса"],облачко:["облачка"],озеро:["озёра"],полсотни:["полусотни"],ребро:["рёбра"],ремесло:["ремёсла"],седло:["сёдла"],село:["сёла"]}]]);for(const s of ht)Object.keys(s[1]).map(t=>E(ft,ue(ve(t))));const Ft=["зять","деверь","друг","брат","собрат","стул","брус","обод","полоз","струп","подмастерье","якорь","перо","шило"],Wt=new Set(["берег","бок","борт","век","вес","веер","вексель","вечер","глаз","голос","город","доктор","дом","детдом","егерь","жемчуг","катер","колокол","концлагерь","корм","короб","кузов","купол","лес","луг","мастер","номер","пояс","провод","рог","сахар","снег","сорт","стог","счет","счёт","спецсчет","спецсчёт","субсчет","субсчёт","терем","том","холод","цвет","череп"]),Pt=z(["округ","остров","отпуск","паспорт","парус","поезд","повар","погреб","рукав","цех","юнкер"]),gt=new Set(["адрес","договор","буфер","ворох","директор","инспектор","инструктор","корпус","крейсер","орден","ордер","прожектор","пропуск","род","свитер","сервер","тенор","тон","трактор","тормоз","ветер","верх","китель","мех","хлеб","юнкер","ястреб"]),vt=new Set(["бункер","вымпел","год","образ","омут","токарь","тополь","шторм","штуцер"]);function Rt(s,t){const r=[],l=t.text(),n=t.lower(),y=s.sd.hasStressedEndingPlural(t,u.NOMINATIVE);Object.freeze(y);const v=Le(t,n,y[0]),x=H(v);if(n.endsWith("яя"))return r.push(S(l,2)+"ие"),Se(r);const p=_=>{const j=s.sd.hasStressedEndingPlural(t,u.NOMINATIVE).map(G=>!G);return j.length?j.map(G=>G?pe(x)?_(Ue(v)):_(v):_(oe(v))):[_(v)]},N=t.getGender(),B=t.getDeclension(),U=(w(n)==="й"||F(w(l)))&&F(w(g(l)))?g(l):v,J=()=>(n.endsWith("евич")||n.endsWith("евна"))&&n.indexOf("ье")>=0;function re(){const _=U,j=H(_).indexOf("ье"),G=Y("и",_[j]);return _.substring(0,j)+G+_.substring(j+1)}function P(){$(60818504,w(x))||"яйь".includes(w(n))||A(n,["сосед"])?J()?(r.push(re()+"и"),r.push(U+"и")):Array.prototype.push.apply(r,ie(y,U,_=>_+"и")):w(n)==="ц"?r.push(De(l,t)+"цы"):J()?(r.push(re()+"ы"),r.push(U+"ы")):Array.prototype.push.apply(r,ie(y,U,_=>_+"ы"))}if(ye(ft,ue(t._hash)))for(const[_,j]of ht){const G=_[0],Z=_[1];if(N===G&&(Z==null||Z===t.isAnimate())&&j.hasOwnProperty(n)){const be=j[n];for(let st of be)r.push(st);return Se(r)}}const de=w(x)==="ь"?v:w(x)==="к"?g(v)+"чь":w(x)==="г"?g(v)+"зь":w(n)==="й"?g(l):A(n,["рь","ль"])?v:v+"ь";switch(B){case-1:r.push(l);break;case 0:if(n==="путь")r.push("пути");else if(n.endsWith("дитя"))r.push(S(l,3)+"ети");else throw new Error("unsupported");break;case 1:if(Ft.includes(n))r.push(de+"я");else if(M.MASCULINE===N){const _=["крюк","лист","лоскут","повод","прут","сук","учитель","флигель","штабель"],j=["клин","колос","ком","край","соболь"];n==="сын"?(r.push("сыновья"),P()):n==="человек"?(r.push("люди"),P()):_.includes(n)||n==="соболь"&&t.isAnimate()?(P(),r.push(de+"я")):j.includes(n)?r.push(de+"я"):Wt.has(n)||W(n,Pt)||gt.has(n)||vt.has(n)?(vt.has(n)&&P(),Qe(n)?Array.prototype.push.apply(r,p(G=>G+"я")):y.includes(!0)?r.push(oe(v)+"а"):r.push(v+"а"),gt.has(n)&&P()):(n.endsWith("анин")&&n.length>5||n.endsWith("янин"))&&!t.isAName()||["барин","боярин"].includes(n)?(r.push(S(l,2)+"е"),n==="барин"&&r.push(S(l,2)+"ы")):["цыган"].includes(n)?r.push(l+"е"):n==="щенок"?(r.push(S(l,2)+"ки"),r.push(S(l,2)+"ята")):(n.endsWith("ребёнок")||n.endsWith("ребенок"))&&!(n.endsWith("жеребёнок")||n.endsWith("жеребенок"))&&!(n.endsWith("ястребёнок")||n.endsWith("ястребенок"))?r.push(S(l,7)+"дети"):(n.endsWith("ёнок")||n.endsWith("енок"))&&t.isAnimate()?r.push(S(l,4)+"ята"):n.endsWith("ёночек")&&t.isAnimate()?r.push(S(l,6)+"ятки"):n.endsWith("онок")&&"жшч".includes(ne(n,4))&&t.isAnimate()?r.push(S(l,4)+"ата"):ke(n)?r.push(S(l,2)+"ки"):W(n,Ie)?A(n,Be)?r.push(S(l,2)+"ьи"):r.push(g(l)+"е"):c(t,n)?n.endsWith("ый")||n.endsWith("ий")?r.push(g(l)+"е"):n.endsWith("ой")&&!A(n,["хой","ской"])?r.push(S(l,2)+"ые"):r.push(S(l,2)+"ие"):n.endsWith("его")?r.push(S(l,3)+"ие"):["воробей","муравей","ручей","соловей","улей","жеребей","ирей","репей","чирей"].includes(n)?r.push(S(l,2)+"ьи"):P()}else if(M.NEUTER===N)if(A(n,["ко","чо"])&&!A(n,["войско","облако"]))r.push(g(l)+"и");else if(n.endsWith("имое"))r.push(v+"ые");else if(n.endsWith("ее"))r.push(v+"ие");else if(n.endsWith("ое"))A(x,["г","к","ж","ш","х"])?r.push(v+"ие"):r.push(v+"ые");else if(A(n,["ие","иё"]))r.push(S(l,2)+"ия");else if(A(n,["ье","ьё"])){const _=S(l,2),j=["безделье","варенье","воскресенье","жалованье","запястье","застолье","затишье","здоровье","зелье","изголовье","новоселье","одночасье","печенье","платье","побережье","поголовье","подворье","подземелье","подполье","поместье","предплечье","раздумье","сиденье","средневековье","увечье","угодье","устье"].includes(n);w(n)==="е"&&!j&&r.push(_+"ия"),r.push(_+"ья")}else A(n,["дерево","звено","крыло"])?r.push(v+"ья"):A(n,["ле","ре"])?r.push(v+"я"):n.endsWith("судно")&&t.isATransport()?r.push(S(l,2)+"а"):(Array.prototype.push.apply(r,p(_=>_+"а")),A(n,["щупальце"])&&P());else r.push(v+"и");break;case 2:n==="заря"?r.push("зори"):n.endsWith("ая")&&!n.endsWith("свая")?"жхчшщ".includes(w(x))||A(x,["вк","гк","ск","цк","ньк"])?r.push(v+"ие"):r.push(v+"ые"):P();break;case 3:V(n,2)==="мя"?r.push(v+"ена"):Object.keys(je).includes(n)?r.push(g(je[n])+"и"):M.FEMININE===N?r.push(U+"и"):w(U)==="и"?r.push(U+"я"):r.push(U+"а");break}return Se(r)}const pt=z(["ли","си","би","ви","ди","ти","пи","ри","ни","фи","зи","ьи","ья","ия","ря","ля","ая","аи","ои","уи","эи","ыи","яи","ёи","юи","еи","ии"]),lt=["беготни","болтовни","будни","вожжи","возни","доли","лапши","левши","люди","марли","моря","мощи","ноздри","пени","пятерни","распри","родни","сакли","сени","ступни","судьи","фигни","чукчи"],mt=["головы","громадины","детины","деревенщины","дохлятины","дубины","ехидины","жадины","зверины","идиотины","кислятины","молодчины","орясины","остолопины","сиротины","скотины","старейшины","старины","старшины","уродины"],zt=z(mt),yt=["адреса","паспорта","поезда","цеха","снега","бункера","буфера","берега","вымпела","голоса","города","директора","договора","доктора","жемчуга","инспектора","инструктора","колокола","кондуктора","короба","корпуса","крейсера","кузова","леса","мастера","номера","облачка","острова","отпуска","паруса","повара","погреба","пояса","провода","прожектора","пропуска","рукава","сахара","свитера","сервера","счета","трактора","тормоза","холода","цвета","черепа","шторма","штуцера","юнкера","ястреба","суда","корм"],jt=z(yt),Et=new Set(yt.concat(["бега","беглецы","близнецы","бойцы","бока","борта","борцы","бруствера","брюшки","веера","века","венцы","верха","веса","весы","вечера","вороха","глупцы","года","гонцы","дворцы","дельцы","детдома","детдомы","дома","жеребцы","жильцы","жрецы","затишки","зубцы","излишки","истцы","катера","концы","корма","кузнецы","купола","купцы","лишки","луга","мертвецы","меха","мудрецы","облака","образа","образцы","огурцы","округа","омута","ордена","ордера","отцы","очки","певцы","песцы","пловцы","подлецы","продавцы","птенцы","резцы","рога","рода","рубцы","самцы","свинцы","сорта","соуса","спецы","стога","столбцы","стрельцы","творцы","тельцы","тенора","терема","тома","тона","торцы","хлеба","штришки","юнцы"])),bt=new Set(["авары","аланы","аршины","баклажаны","буквы","гольфы","граммы","гусары","дела","кадеты","килограммы","омы","помидоры","рентгены","ботинки","человеки","чулки","шорты"]),St=new Set(["гектары","рельсы"]),Ye=new Uint8ClampedArray(256);Et.forEach(s=>E(Ye,Ce(s))),bt.forEach(s=>E(Ye,Ce(s))),St.forEach(s=>E(Ye,Ce(s)));const Ct=new Set(mt.concat(["абазины","авы","аввы","бедняги","бедолаги","болгары","бродяги","брызги","брюки","брюхи","будды","бусы","валенки","веки","вельможи","верзилы","вилы","владыки","воеводы","волосы","вояки","главы","грузины","задворки","задиры","железы","жилы","зануды","зеваки","именины","калеки","кальсоны","каникулы","колготки","коллеги","крохи","курицы","куры","ладоши","ламы","лыки","макароны","мужчины","нападки","нары","непоседы","носилки","ножны","папы","папаши","таты","падлы","партизаны","погоны","поминки","посиделки","похороны","предтечи","работяги","разы","ребятки","румыны","самоубийцы","санки","убийцы","сапоги","сатаны","сироты","сливки","слуги","солдаты","старосты","сумерки","сутки","татары","телеса","хитрюги","четвереньки","шляпы","шмотки","яблоки","дядьки","дяденьки","зайки","кроссовки","малютки","малолетки","попки","турки","узы","хлопоты","шахматы"])),xt=new Uint8ClampedArray(256);Ct.forEach(s=>E(xt,Ce(s)));const He=["х","ых","их","м","ым","им","х","ых","их","ми","ыми","ими","х","ых","их"],Ge=["ям","ам","","","ями","ами","ях","ах"],Yt=z(["вна","вца","вцы","пла","дца","дра","судна","рки","рцы","тлы","рна","тна","енца","десны","дёсны","рёбра","ребра","сосны"]),Ht=z(["жи","ши","чи","ля","ли","чи","ри","ти","ди","сани","борщи","клещи","товарищи","плащи","прыщи","хрящи"]),Gt=z(["братья","брусья","деревья","донья","звенья","клинья","клочья","коленья","колосья","колья","комья","крылья","крючья","листья","лоскутья","лохмотья","перья","платья","поводья","прутья","стулья","сучья","хлопья","шилья"]),Jt=z(["ишки","дружки","тки","папочки","дедушки","дядюшки","батюшки","катанки","петрушки","шестерки"]),Xt=z(["жки","шки","чки","рки","натки","хатки","ятки","етки","чётки","мки","нки","педки","илки"]),Kt=z(["шок","щок","жок","зок","аток","яток","еток"]);function wt(s,t,r,l){const n=H(l),y=w(n),v=O(y),x=T.indexOf(r)+1;if(x===1||x===4&&!t.isAnimate())return l;if(134217984&v){if(x===2||x===4){if(A(n,["овичи","евичи"]))return g(l)+"ей";if(A(n,["вны","полусотни"])&&n!=="овны")return S(l,2)+"ен"}else if(x===5){if(A(n,["дети","люди"])&&!A(n,["нелюди"]))return g(l)+"ьми";if(A(n,["вери","дочери"]))return[g(l)+"ями",g(l)+"ьми"]}}const p=t.getGender(),N=n.endsWith("цы")?g(l):it(l,n),B=W(n,dt)&&(t.isASurname()||p===M.COMMON)&&!W(n,zt),U=3,J=U*Math.min(Math.round(He.length/U-1),x-2);if(B||n.endsWith("ничьи"))return l+He[J];if(n.endsWith("ые"))return S(l,2)+He[J+1];if(n.endsWith("ие")||W(n,a))return N+He[J+2];if(x>2&&x!==4){const P=2*Math.min(Math.round(Ge.length/2-1),x-3);return W(n,pt)?g(l)+Ge[P]:s.sd.hasStressedEndingPlural(t,r).includes(!0)?oe(N)+Ge[P+1]:N+Ge[P+1]}else{const re=t.getDeclension(),P=()=>{const _=H(N),j=["жки","шки","чки","ножны"];if(A(_,["кн","кл","дк","нк","пк","зк","рк","тк","вк","лк","мк"])&&!A(n,["сумерки"])||_==="зл"||A(n,j)&&s.sd.hasStressedEndingPlural(t,r).includes(!0)){const G=w(N);return g(N)+Y("о",G)+G}else if(W(n,Yt)&&!n.endsWith("недра")||A(n,j)){const G=ne(l,1);return S(l,2)+Y("е",G)+G}else if(A(n,["сестры","сёстры","серьги"])){const G=ne(l,1);return(ne(n,2)==="ь"?oe(S(l,3)):oe(S(l,2)))+Y("ё",G)+G}else if(A(_,["льц","сьм","деньг","ьк","йк","дьб"])){const G=w(N);return S(N,2)+Y("е",G)+G}else return A(n,["сла","слы"])?g(N)+"ел":N};if([3,0].includes(re)){if(n.endsWith("и"))return g(l)+"ей";if(["гроздья"].includes(n))return g(l)+"ев"}const de=ne(n,2);if(M.FEMININE!==p){const _=Ce(n),j=ye(Ye,_);if(j&&Et.has(n))return g(l)+"ов";if(j&&bt.has(n)&&!t.isAName())return[P(),g(l)+"ов"];if(j&&St.has(n))return[g(l)+"ов",P()];if(p===M.COMMON&&!A(n,lt)&&!"жшч".includes(de)||ye(xt,_)&&Ct.has(n)||t.isAName()&&p===M.MASCULINE&&t.lower().endsWith("а")||t.lower()==="барин")return P();switch(y){case"и":case"я":if(W(n,Ht)||n==="щи"||lt.includes(n)||t.lower().endsWith("ь")&&!A(t.lower(),["зять","деверь"]))return(w(g(n))==="ь"?S(l,2):g(l))+"ей";if(y==="и")return n.endsWith("ульи")?g(l)+"ев":n.endsWith("ьи")?M.MASCULINE===p?g(l)+"ёв":S(l,2)+"ей":["ча","кле","холу","ху"].includes(g(n))?g(l)+"ёв":n.endsWith("ищи")?P():n.endsWith("мессии")?g(l)+"й":F(ne(n,1))?g(l)+"ев":W(n,Xt)&&(M.MASCULINE!==p||W(oe(n),Jt))&&!W(t.lower(),Kt)?P():g(l)+"ов";if(W(n,Gt))return g(l)+"ев";if(A(n,["зятья","кумовья","деверья","края","острия"]))return g(l)+"ёв";if(A(n,["ья","ия"]))return M.MASCULINE===p?S(l,2)+"ей":S(l,2)+"ий";break;case"а":return A(n,["семена","стремена"])?S(l,3)+"ян":n.endsWith("мена")?S(l,3)+"ён":t.lower().endsWith("яйцо")?Y("яиц",g(l)):n.endsWith("нца")?[P(),g(l)+"ев"]:W(n,jt)?g(l)+"ов":P();case"ы":return A(n,["ницы","лицы","пицы","бицы"])?g(l):n.endsWith("цы")?g(l)+"ев":g(l)+"ов";default:if(n.endsWith("не"))return P()}}if(n.endsWith("йки"))return S(l,3)+"ек";if(n.endsWith("ки"))if(de==="ь"){const _=w(g(l));return S(l,3)+Y("е",_)+_}else{if("жшч".includes(de))return P();if(Q(de))return S(l,2)+"ок"}if(lt.includes(n))return g(l)+"ей";if(A(n,["аи","ои","еи","эи","уи"]))return g(l)+"й";if(n==="свечи")return[g(l),g(l)+"ей"];if(n==="пригоршни")return[g(l)+"ей",S(l,2)+"ен"];if(n==="тихони")return[S(l,2)+"нь",g(l)+"ей"];if(A(n,["ьи","ии"]))return s.sd.hasStressedEndingSingular(t,r).includes(!0)?S(l,2)+"ей":S(l,2)+"ий";if(n.endsWith("ни")&&Q(ne(n,2)))return["барышни","боярышни","деревни"].includes(n)?S(l,2)+"ень":n.endsWith("кухни")?S(l,2)+"онь":n==="сотни"?[S(l,2),S(l,2)+"ен"]:S(l,2)+"ен";if(H(N).endsWith("ийк"))return S(N,2)+"ек";if(N.length===n.length-1&&W(n,pt))if("ьй".includes(H(ne(N,1)))&&!t.isAnimate()){const _=w(N);return S(N,2)+Y("е",_)+_}else return A(n,["земли","петли","пли","вли"])?g(N)+"ель":N+"ь";else return P()}}return Object.freeze(he)})}(Je)),Je.exports}var an=sn();const rn=Tt(an),on={class:"nav"},un={style:{height:"20px",width:"100%",display:"inline-block"}},dn={style:{height:"20px",width:"100%",display:"inline-block"}},cn={class:"label"},fn={key:0,style:{padding:"0 1rem .5rem"}},hn={key:1,style:{padding:"0 1rem .5rem"}},gn={__name:"SheetTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},group:String,date:String,logo:{type:URL,default:"#"},editor:{type:Object,default:()=>({})}},setup(se){new rn.Engine;const T=se,{t:u,d:te}=Zt.useI18n(),M=e.ref(!1),H=e.ref([]),me=e.ref("0"),D=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(me.value))),b=e.ref([]),O=e.ref([]),$=e.ref("100%"),R=e.ref("true"),F=e.ref([]),K=e.ref([{value:"Я",label:u("sheet.valid.1")},{value:"К",label:u("sheet.valid.2")},{value:"ОТ",label:u("sheet.valid.3")},{value:"ДО",label:u("sheet.valid.4")},{value:"Р",label:u("sheet.valid.5")},{value:"ОЖ",label:u("sheet.valid.6")},{value:"Б",label:u("sheet.valid.7")},{value:"НН",label:u("sheet.valid.8")},{value:"ПР",label:u("sheet.valid.9")},{value:"У",label:u("sheet.valid.10")},{value:"УД",label:u("sheet.valid.11")},{value:"Г",label:u("sheet.valid.12")}]),Q=e.ref([]),Y=e.ref(0),X=e.ref(9),V=e.ref(8),w=e.ref(0),S=e.ref(0),g=e.ref([]),ne=e.ref(!1),A=e.ref(!1),Se=e.ref([]),oe=e.ref([]),ie=e.ref(!1),ve=e.ref(!1),ue=e.ref(1),Ce=e.ref(null),ye=e.ref({zIndex:3,minWidth:230,x:500,y:200}),E=e.ref({name:"",length:0,code:""}),z=e.ref([]),W=e.ref(""),xe=e.ref("_____"),h=e.computed(()=>H.value.flatMap((o,a)=>{const k=z.value.find(d=>d.code===o.code),c=new Map;o.days.forEach(d=>c.set(d.day,{...d})),k&&k.days.forEach(d=>c.set(d.day,{...d}));const C=Array.from(c.values());return[{...o,days:C,key:0,ids:a,numberNonAppearing:[0,0]},{...o,days:C,key:1,ids:a,numberNonAppearing:[0,0]}]}));e.watch(O,async(o,a)=>{o!==a&&(g.value=[],T.odata.personal.forEach(k=>{o.includes(k.divisionName)&&(g.value.some(c=>(c==null?void 0:c.activeText)===k.roleName)||g.value.push({val:!0,activeText:k.roleName}))}),$e())}),e.watch(me,o=>{D.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(o)),Ve(),$e()}),e.watch(V,()=>ne.value=ie.value),e.watch(X,()=>ne.value=ie.value),e.watch(ue,()=>ne.value=ie.value);const Oe=async(o,a,k,c)=>{var ae,q,ce,fe;if(a.level!==3||a.labelClassName==="turn"||a.no===15||a.no>b.value.length||!T.checkEdit)return"";E.value.ids=o.ids,E.value.key=o.key,E.value.day=a.no<15?a.no:a.no-1;let C=[0,0];if(E.value.day>0)C[0]=((ae=h.value[o.ids*2].days[E.value.day-1])==null?void 0:ae.overtime)??0;else{const le=I.parseTime(new Date(D.value).setDate(0),"{Y}-{m}-{dd}"),he=await T.workSchedule.getWorkSheet({code:o.code,date:le});if(he[0]!==null){const f=he[0].data.days.find(ge=>ge.day===le);C[0]=(f==null?void 0:f.overtime)??0}else C[0]=0}if(E.value.day<b.value.length-1)C[1]=((q=h.value[o.ids*2].days[E.value.day+1])==null?void 0:q.overtime)??0;else{const le=I.parseTime(new Date(D.value).setDate(b.value.length),"{Y}-{m}-{dd}"),he=await T.workSchedule.getWorkSheet({code:o.code,date:le});if(he[0]!==null){const f=he[0].data.days.find(ge=>ge.day===le);C[1]=(f==null?void 0:f.overtime)??0}else C[1]=0}console.log(C),E.value.limit=H.value[o.ids].days[E.value.day].time+4-I.clamp(C[0],C[1],4);const d=new Date(D.value),i=`${d.getFullYear()}-${(d.getMonth()+1).toString().padStart(2,"0")}-${(E.value.day+1).toString().padStart(2,"0")}`,m=z.value.findIndex(le=>le.code===o.code);E.value.id=m!==-1?z.value[m].days.findIndex(le=>(le==null?void 0:le.day)===i):m,X.value=typeof o.days[E.value.day].tips>"u"?9:parseInt(o.days[E.value.day].tips.match(/(\d{1,2})/)),w.value=parseInt(((ce=o.days[E.value.day])==null?void 0:ce.night)??0),S.value=parseInt(((fe=o.days[E.value.day])==null?void 0:fe.overtime)??0),V.value=o.days[E.value.day].time!=="-"?parseInt(o.days[E.value.day].time):8;const ee=o.days.findIndex(le=>le.day===i);E.value.failure=o.days[ee].state,ye.value.y=c.clientY,ye.value.x=c.clientX,E.value.rest=m!==-1&&E.value.id!==-1,E.value.name=I.byInitials(o.fio),ie.value=!0,await e.nextTick(),ne.value=!1},we=o=>{const a=new Date(D.value),k=`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(E.value.day+1).toString().padStart(2,"0")}`;let c=z.value.findIndex(q=>q.code===H.value[E.value.ids].code);E.value.id=c!==-1?z.value[c].days.findIndex(q=>(q==null?void 0:q.day)===`${a.getFullYear()}-${(a.getMonth()+1).toString().padStart(2,"0")}-${(E.value.day+1).toString().padStart(2,"0")}`):c;let C=H.value[E.value.ids].days[E.value.day].state,d=o,i="-",m,ee,ae;switch(o){case"Я":C==="В"&&(d="РВ"),i=8;break;case"КВ":case"К":C==="В"||C==="КВ"?d="КВ":d="К";break;case"save":let q=Ee.value.split('"');d=q[1],ne.value=!1,q[2]!==""&&(i=V.value,ae="("+q[2].split("(")[1],m=w.value,ee=S.value)}o==="reset"?(d=C,z.value[c].days.splice(E.value.id,1)):c===-1?z.value.push({code:H.value[E.value.ids].code,days:[{day:k,state:d,time:i,night:m,overtime:ee,tips:ae}]}):E.value.id===-1?z.value[c].days.push({day:k,state:d,time:i,night:m,overtime:ee,tips:ae}):z.value[c].days[E.value.id]={day:k,state:d,time:i,night:m,overtime:ee,tips:ae},c=z.value.findIndex(q=>q.code===H.value[E.value.ids].code),T.workSchedule.addWorkSheet({date:I.parseTime(new Date(D.value),"{Y}-{m}-{dd}"),data:[{name:H.value[E.value.ids].fio,days:z.value[c].days,code:H.value[E.value.ids].code}]}),E.value.failure=d,ue.value>1&&(ue.value--,E.value.day++,we(d)),Pe()},Ee=e.computed(()=>{ve.value=!1;let o=H.value[E.value.ids].days[E.value.day],a="";w.value=0,S.value=0;let k=V.value>=22?X.value+V.value+2:V.value>4?X.value+V.value+1:X.value+V.value,c=E.value.failure.split("/")[0];c=/^Н(?!Н$)С?$/.test(c)?o.state!=="В"?"Я":"РВ":c,/^(|Я|РВ)$/.test(c)&&((X.value<6||k>22)&&(a="Н",w.value=X.value<6?Math.min(6,k)-X.value:0,k<=6&&(w.value=V.value,c=""),k===7&&w.value>4&&w.value--,w.value+=Math.max(22,k)-22),V.value>o.time&&c!=="РВ"&&(a+="С",ve.value=!0,S.value=V.value-o.time,S.value>4&&(V.value=o.time+4,S.value=4)),/РВ/.test(c)&&(ve.value=!0)),a.length>0&&c.length>0&&(a="/"+a);let C=`(${X.value}:00 - ${V.value>=22?X.value+V.value+2:V.value>4?X.value+V.value+1:X.value+V.value}:00)`,d=h.value[E.value.ids*2].days[E.value.day].time!=="-"?" "+V.value+" "+C:"";return'"'+c+a+'"'+d}),We=o=>{if(o.columnIndex<2||o.columnIndex>b.value.length+3&&o.columnIndex<b.value.length+9||o.columnIndex>b.value.length+11)return h.value[o.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},Ve=()=>{const o=new Date(D.value),a=new Date(o.getFullYear(),o.getMonth()+1,0).getDate();let k=[],c=0;for(let C=1;C<=a;C++){const d=I.parseTime(o.setDate(C),"{Y}-{m}-{dd}");c+=Q.value.nowork.includes(d)||Q.value.holidays.includes(d)?0:Q.value.preholidays.includes(d)?7:8;let i=Q.value.nowork.includes(d)?"nowork":Q.value.holidays.includes(d)?"holiday":Q.value.preholidays.includes(d)?"preholiday":"";k.push({day:C,holidays:i,weekday:te(new Date(o.getFullYear(),o.getMonth(),C),"day")})}return Y.value=c,b.value=k,T.odata.getPersonal({dismissed:"false"}).then(C=>{var d;O.value.length===0&&(O.value=[(d=C.find(i=>i.employeeName===T.fullName&&i.dismissalDate.length===0))==null?void 0:d.divisionName]),C.forEach(i=>{F.value.some(m=>i.dismissalDate.length>0&&new Date(i.dismissalDate)<new Date(D.value)||(m==null?void 0:m.value)===i.divisionName)||F.value.push({value:i.divisionName,label:i.divisionName,key:i.divisionName})})}),!0},$e=()=>{H.value=[],oe.value=[],Se.value=[],T.odata.personal.forEach(o=>{if(O.value.includes(o.divisionName)&&g.value.some(a=>a.val&&a.activeText===o.roleName)&&(o.dismissalDate.length===0||new Date(o.dismissalDate)>new Date(D.value))){let a=I.byInitials(o.employeeName);o.employeeName===T.fullName&&(xe.value=o.roleName),H.value.push({fio:o.employeeName,name:a+" ("+o.roleName+")",code:o.employeeKey,days:[],contHour:0,id:!1,employmentDate:I.parseTime(new Date(o.employmentDate),"{Y}-{m}-{dd}T00:00:00"),dismissalDate:o.dismissalDate})}}),H.value.sort((o,a)=>o.fio<a.fio?-1:o.fio>a.fio?1:0),H.value.forEach((o,a)=>{o.ids=a,oe.value.push(o.code)}),T.workSchedule.getUsersYear({code:oe.value,year:new Date(D.value).getFullYear()}).then(o=>{o.forEach(a=>{a.dateStart&&Se.value.push({code:a.code,dateStart:a.dateStart,dateEnd:a.dateEnd})}),Xe()})},Xe=()=>{T.workSchedule.getWorkSheet({code:oe.value,date:I.parseTime(new Date(D.value),"{Y}-{m}-{dd}")}).then(o=>{z.value=[],o.forEach(a=>{a!==null&&z.value.push({code:a.code,days:a.data.days})}),T.workSchedule.getWorkSchedule({code:oe.value,date:I.parseTime(new Date(D.value),"{Y}-{m}-{dd}")}).then(a=>{a.forEach((k,c)=>{var d,i;if(k!==null){H.value[c].days=[],k.data.days.forEach(m=>m.state="Я");for(let m=1;m<=b.value.length;m++){let ee=I.parseTime(new Date(D.value).setDate(m),"{Y}-{m}-{dd}");const ae=(d=k.data)==null?void 0:d.days.findIndex(q=>q.day===ee);ae===-1?Ae(m,c,"-","В"):H.value[c].days.push((i=k.data)==null?void 0:i.days[ae])}}else for(let m=1;m<=b.value.length;m++)b.value[m-1].holidays===""?Ae(m,c,8):b.value[m-1].holidays==="preholiday"?Ae(m,c,7):Ae(m,c,"-","В");const C=H.value[c];if(C.employmentDate||C.dismissalDate)for(let m=1;m<=b.value.length;m++){const ee=new Date(new Date(D.value).setDate(m)),ae=I.parseTime(ee,"{Y}-{m}-{dd}"),q=C.employmentDate&&ee<new Date(C.employmentDate),ce=C.dismissalDate&&ee>=new Date(C.dismissalDate).setSeconds(0);if(q||ce){const fe=C.days.findIndex(le=>le.day===ae);fe!==-1&&(C.days[fe].state="-",C.days[fe].time="-")}}for(let m=1;m<=b.value.length;m++){let ee=new Date(new Date(D.value).getFullYear(),new Date(D.value).getMonth(),m).getTime()+1e3;for(let ae of Se.value){const{dateStart:q,dateEnd:ce,code:fe}=ae;if(q&&ce&&fe===H.value[c].code){const le=new Date(I.parseDate(q)).getTime(),he=new Date(I.parseDate(ce)).getTime();if(ee>=le&&ee<=he){const f=I.parseTime(new Date(D.value).setDate(m),"{Y}-{m}-{dd}"),ge=H.value[c].days.findIndex(Ue=>Ue.day===f);ge!==-1?H.value[c].days[ge]={day:f,time:"-",state:"ОТ"}:H.value[c].days.push({day:f,time:"-",state:"ОТ"})}}}}}),Pe()})})},Ae=(o,a,k,c="Я")=>{const C=I.parseTime(new Date(D.value).setDate(o),"{Y}-{m}-{dd}");H.value[a].days.push({day:C,time:k,state:c})},Pe=()=>{h.value.forEach(o=>{o.hourI=0,o.hourII=0,o.halfII=0,o.halfI=0,o.weekend=0,o.weekendDays=0,o.overtime=0,o.night=0,o.appearing={code:"-",count:"-"};const a=Object.entries(o.days.reduce((d,i)=>{if(i.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(i.state)){const m=i.state;d[m]=(d[m]||0)+1}return d},{})).map(([d,i])=>({code:d,count:i}));o.numberNonAppearing=[a.reduce((d,i)=>d+i.count,0),0];const k=Math.ceil(a.length/2),c=a.slice(0,k),C=a.slice(k);o.key===0&&c.length>0&&(o.appearing={code:c.map(d=>d.code).join("/"),count:c.map(d=>d.count).join("/")}),o.key===1&&C.length>0&&(o.appearing={code:C.map(d=>d.code).join("/"),count:C.map(d=>d.count).join("/")});for(let d=0;d<o.days.length;d++)d<15&&o.days[d].time!=="-"&&(o.hourI+=Number(o.days[d].time),o.halfI++),d>=15&&o.days[d].time!=="-"&&(o.hourII+=Number(o.days[d].time),o.halfII++),o.days[d].night&&(o.night+=Number(o.days[d].night)),o.days[d].overtime&&(o.overtime+=Number(o.days[d].overtime)),/{|РВ|}/.test(o.days[d].state)&&(o.weekend+=Number(o.days[d].time)),o.days[d].state==="В"&&o.weekendDays++;o.contDays=o.halfI+o.halfII,o.contHour=o.hourI+o.hourII})},_e=(o,a)=>{var m,ee,ae,q,ce;if(a===-1)return"";const k=h.value[a],c=new Date(D.value),C=`${c.getFullYear()}-${(c.getMonth()+1).toString().padStart(2,"0")}-${o.toString().padStart(2,"0")}`,d=k.days.findIndex(fe=>fe.day===C);let i=0;return(m=k.days[d])!=null&&m.overtime&&(i+=k.days[d].overtime),d===-1?"":k.key===0?(ee=k.days[d])==null?void 0:ee.state:((ae=k.days[d])==null?void 0:ae.time)===0?i===0?"-":i:i===0?(q=k.days[d])==null?void 0:q.time:`${((ce=k.days[d])==null?void 0:ce.time)-i}/${i}`};T.group&&(O.value[0]=T.group),T.date&&(me.value=new Date(T.date+"T00:00:01").getMonth()),I.holidays().then(o=>{Q.value=o,Ve()});const Me=o=>new Date(D.value).getMonth()===new Date().getMonth()&&o===new Date().getDate()?" today":"",Te=()=>{let o=Ee.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/),a=H.value[E.value.ids].days[E.value.day+1].tips;return a=typeof a<"u"?a.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/):[0,9,18],Number(o[1])<Number(a[1])?`${o[1]}:00 по ${Number(o[1])+S.value}:00`:`${Number(o[2])-S.value}:00 по ${o[2]}:00`},Ke=()=>{let o=/РВ/.test(Ee.value),a=I.bossPosition(h.value[E.value.ids*2].name.match(/\(([^)]+)\)/)[1]),k=I.bossPosition(xe.value),c=h.value[E.value.ids*2].fio.split(" ");c=rt({last:c[0],first:c[1],middle:c[2]},"accusative");let C=T.fullName.split(" ");C=rt({last:C[0],first:C[1],middle:C[2]},"genitive");let d=o?Ee.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):Te();W.value=`<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${T.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${k} ${I.byInitials(`${C.last} ${C.first} ${C.middle}`)}</div><p>${O.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${I.parseTime(new Date(D.value).setDate(E.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью З_А_П_О_Л_Н_И_Т_Ь_! , прошу привлечь к ${o?"работе в выходной день":"сверхурочной работе"}, ${I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}")} c ${d}, ${a} ${c.last} ${c.first} ${c.middle} для выполнения вышеуказанных работ с ${(c==null?void 0:c.gender)==="male"?"его":"её"} письменного согласия.</p><p>${xe.value} ________________ ${I.byInitials(T.fullName)}</p>`},Ze=()=>{let o=/РВ/.test(Ee.value),a=h.value[E.value.ids*2].fio.split(" ");a=rt({last:a[0],first:a[1],middle:a[2]},"genitive");let k=o?Ee.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):Te();W.value=`<style> @page{size: A4 portrait;margin-top: 20pt;} @media print{.no-print{display: none !important;}} </style><body style="font:9pt/1.08;"><h1 style="text-align: center;"><img style="margin-bottom: 20pt;" src="https://avanta-telecom.ru/local/templates/main/images/Logo-hs.png" width="174" height="51" alt="logo" /><br/>Общество с ограниченной ответственностью «АВАНТА ТЕЛЕКОМ»<br>(ООО «АВАНТА ТЕЛЕКОМ»)</h1><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="left "><span>г.Краснодар</span></td><td align="right"><span>________________ года</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><b>УВЕДОМЛЕНИЕ</br>${o?"о работе в выходной день":"о привлечении к сверхурочной работе "}</b></p><p style="text-align:center;margin: 0 0 .26cm;">Уважаем${(a==null?void 0:a.gender)==="male"?"ый":"ая"} ${h.value[E.value.ids*2].fio}!</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Уведомляю Вас, что в связи с производственной необходимостью возникла необходимость ${o?"работы в выходной день,"+I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}"):"Вас "+I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}")+"г. к сверхурочной работе"} с ${k} часов${o?" (с перерывом на отдых и прием пищи 1 час)":""}.</p>${o?'<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Прошу дать согласие на работу в вышеназванный выходной день.</p>':""}<p style="margin: 0 0 .26cm;text-indent: 20px each-line;">${o?"":"После ознакомления прошу сделать в настоящем уведомлении отметку о согласии/несогласии. "}Если есть запрет на привлечение Вас к работе ${o?"в выходной день":"сверхурочно"} (по состоянию здоровья в соответствии с медицинским заключением), прошу сообщить об этом.</p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Сообщаю, что за работу ${o?"в выходной день полагается оплата в двойном размере. По Вашему желанию вместо двойной оплаты может быть предоставлен день отдыха – в этом случае работа в выходной день будет оплачена в одинарном размере, а день отдыха оплате не подлежит.":"сверхурочно"}<br/></p><table width="100%" border="0" cellspacing="0" cellpadding="0"><col width="50%"/><col width="50%"/><tr><td align="center"><span>Директор</span></td><td align="center"><span>Пунин Д.В</span></td></tr></table><p style="text-align:center;margin: 0 0 .26cm;"><br/></p><p style="margin: 0 0 .26cm;text-indent: 20px each-line;">Я, ${h.value[E.value.ids*2].fio} настоящим сообщаю следующее:</p><p style="margin: 0 0 .26cm;">1. На привлечение к ${o?"работе в выходной день,":"сверхурочной работе"} ${I.parseTime(new Date(D.value).setDate(E.value.day+1),"{dd}.{m}.{Y}")} :</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>согласен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">2. С правом отказаться от ${o?"работы в выходные дни":"сверхурочной работы"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>ознакомлен</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">3. Запрет на работу ${o?"в выходные дни,":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>отсутствует</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;" align="center"><p>(если есть запрет, указать какой)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">4. ${o?"Работу в выходные дни,":"Работу сверхурочно"} прошу компенсировать:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>${o?"Оплатой в двойном размере":"Оплатой в повышенном размере"}</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table><p style="margin: 0 0 .26cm;">5. Экземпляр уведомления о работе ${o?"в выходные дни":"сверхурочно"}:</p><table width="100%" cellpadding="7" cellspacing="0"><col /><col width="149"/><col width="90"/><tr valign="top"><td style="border-bottom: 1px solid #000000;" align="center"><p><i>получил</i></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td><td style="border-bottom: 1px solid #000000;"><p><br/></p></td></tr><tr valign="top"><td style="border-top: 1px solid #000000;"><p><br/></p></td><td style="border-top: 1px solid #000000;" align="center"><p>(подпись)</p></td><td style="border-top: 1px solid #000000;" align="center"><p>(дата)</p></td></tr></table>`},Ie=async()=>{var ce,fe,le,he;M.value=!0;const o=new en.Workbook,a=o.addWorksheet(te(D.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),k={vertical:"middle",horizontal:"center"},c={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},C={vertical:"middle",horizontal:"center",wrapText:!0};a.mergeCells(`A1:${I.cellsDynamically("A1",b.value.length+15)}1`),a.mergeCells("A2:A4"),a.mergeCells("B2:B4"),a.mergeCells("C2:C4"),a.mergeCells("D5:R5"),a.mergeCells(`D2:${I.cellsDynamically("D2",b.value.length+2)}2`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+3)}2:${I.cellsDynamically("D2",b.value.length+8)}2`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+9)}2:${I.cellsDynamically("D2",b.value.length+9)}4`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+10)}2:${I.cellsDynamically("D2",b.value.length+11)}2`),a.mergeCells(`${I.cellsDynamically("D2",b.value.length+12)}2:${I.cellsDynamically("D2",b.value.length+12)}4`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+3)}3:${I.cellsDynamically("D3",b.value.length+3)}4`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+4)}3:${I.cellsDynamically("D3",b.value.length+8)}3`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+10)}3:${I.cellsDynamically("D3",b.value.length+10)}4`),a.mergeCells(`${I.cellsDynamically("D3",b.value.length+11)}3:${I.cellsDynamically("D3",b.value.length+11)}4`),a.mergeCells(`T5:${I.cellsDynamically("D5",b.value.length+1)}5`);for(let f=1;f<=b.value.length+2;f++)a.mergeCells(`${I.cellsDynamically("D3",f)}3:${I.cellsDynamically("D4",f)}4`),a.getColumn(f+3).width=5,a.getColumn(f+3).alignment=C,a.getCell(3,f+3).border=c,f<16&&(a.getCell(3,f+3).value=f),f>16&&(a.getCell(3,f+3).value=f-1);a.getCell("A1").value=u("sheet.title",{name:O.value[0]})+te(D.value,"month"),a.getCell("A2").value=u("sheet.listNumber"),a.getCell("B2").value=u("sheet.employee"),a.getCell("C2").value=u("sheet.personnelNumber"),a.getCell("D2").value=u("sheet.marks"),a.getCell("S3").value=u("sheet.halfMonth",{half:"I"}),a.getCell("A5").value="1",a.getCell("B5").value="2",a.getCell("C5").value="3",a.getCell("D5").value="4",a.getCell("S5").value="5",a.getCell("T5").value="6",a.getCell(5,b.value.length+5).value="7",a.getCell(2,b.value.length+6).value=u("sheet.workedMonth"),a.getCell(2,b.value.length+12).value=u("sheet.numberNonAppearing"),a.getCell(2,b.value.length+13).value=u("sheet.them"),a.getCell(2,b.value.length+15).value=u("sheet.countWeekend"),a.getCell(3,b.value.length+5).value=u("sheet.halfMonth",{half:"II"}),a.getCell(3,b.value.length+6).value=u("sheet.days"),a.getCell(3,b.value.length+7).value=u("sheet.hours"),a.getCell(4,b.value.length+7).value=u("sheet.all"),a.getCell(4,b.value.length+8).value=u("sheet.overtime"),a.getCell(4,b.value.length+9).value=u("sheet.night"),a.getCell(4,b.value.length+10).value=u("sheet.weekend"),a.getCell(4,b.value.length+13).value=u("sheet.code"),a.getCell(4,b.value.length+14).value=u("sheet.count"),a.getRow(1).height=40,a.getRow(2).height=32,a.getRow(3).height=20,a.getRow(4).height=60,a.getColumn(1).width=6,a.getColumn(2).width=30,a.getColumn(3).width=17,a.getColumn(19).width=12,a.getColumn(b.value.length+5).width=12,a.getColumn(b.value.length+12).width=11,a.getColumn(b.value.length+15).width=11,a.getCell("A1").alignment=k,a.getColumn(1).alignment=C,a.getColumn(2).alignment=C,a.getColumn(3).alignment=C;for(let f=6;f<=15;f++)a.getCell(5,b.value.length+f).value=f+2,a.getColumn(b.value.length+f).alignment=C,a.getCell(4,b.value.length+f).border=c,a.getCell(5,b.value.length+f).border=c;a.getCell("A2").border=c,a.getCell("B2").border=c,a.getCell("C2").border=c,a.getCell("D2").border=c,a.getCell("D2").border=c,a.getCell("A5").border=c,a.getCell("B5").border=c,a.getCell("C5").border=c,a.getCell("D5").border=c,a.getCell("S5").border=c,a.getCell("T5").border=c,a.getCell(2,b.value.length+6).border=c,a.getCell(2,b.value.length+12).border=c,a.getCell(2,b.value.length+13).border=c,a.getCell(2,b.value.length+15).border=c,a.getCell(3,b.value.length+7).border=c;let d=1,i=5,m=!0;for(const f of h.value){let ge=[d,f.name,f.code];for(let pe=0;pe<b.value.length;pe++)pe===15&&ge.push(m?(f==null?void 0:f.halfI)||"":(f==null?void 0:f.hourI)||""),ge.push(m?((ce=f.days[pe])==null?void 0:ce.state)||"":((fe=f.days[pe])==null?void 0:fe.time)||"");ge.push(m?(f==null?void 0:f.halfII)||0:(f==null?void 0:f.hourII)||0,(f==null?void 0:f.contDays)||0,(f==null?void 0:f.contHour)||0,(f==null?void 0:f.overtime)||0,(f==null?void 0:f.night)||0,(f==null?void 0:f.weekend)||0,"",m?(f==null?void 0:f.numberNonAppearing[0])||"":(f==null?void 0:f.numberNonAppearing[1])||0,((le=f==null?void 0:f.appearing)==null?void 0:le.code)||"-",((he=f==null?void 0:f.appearing)==null?void 0:he.count)||"-",(f==null?void 0:f.weekendDays)||0);const Ue=a.addRow(ge);if(Ue.border=c,!m){a.mergeCells(`A${i+d*2-1}:A${i+d*2}`),a.mergeCells(`B${i+d*2-1}:B${i+d*2}`),a.mergeCells(`C${i+d*2-1}:C${i+d*2}`);for(let pe=b.value.length+3;pe<=b.value.length+8;pe++)a.mergeCells(`${I.cellsDynamically("D",pe)}${i+d*2-1}:${I.cellsDynamically("D",pe)}${i+d*2}`);a.mergeCells(`${I.cellsDynamically("D",b.value.length+12)}${i+d*2-1}:${I.cellsDynamically("D",b.value.length+12)}${i+d*2}`),d++}m=!m}let ee="Калач В. В.";T.odata.personal.forEach(f=>{f.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(f.dismissalDate.length===0||new Date(f.dismissalDate)>new Date(D.value))&&(ee=f.employeeName)}),a.mergeCells(`A${h.value.length+7}:B${h.value.length+7}`),a.mergeCells(`C${h.value.length+7}:G${h.value.length+7}`),a.mergeCells(`H${h.value.length+7}:M${h.value.length+7}`),a.mergeCells(`O${h.value.length+7}:T${h.value.length+7}`),a.mergeCells(`V${h.value.length+7}:AC${h.value.length+7}`),a.mergeCells(`AD${h.value.length+7}:AI${h.value.length+7}`),a.mergeCells(`AJ${h.value.length+7}:AL${h.value.length+7}`),a.mergeCells(`AM${h.value.length+7}:AP${h.value.length+7}`),a.mergeCells(`V${h.value.length+9}:AC${h.value.length+9}`),a.mergeCells(`AD${h.value.length+9}:AI${h.value.length+9}`),a.mergeCells(`AJ${h.value.length+9}:AL${h.value.length+9}`),a.mergeCells(`AM${h.value.length+9}:AP${h.value.length+9}`),a.getCell(`A${h.value.length+7}`).value=u("sheet.responsiblePerson"),a.getCell(`V${h.value.length+7}`).value=u("sheet.headStructural"),a.getCell(`C${h.value.length+7}`).value=xe.value+":",a.getCell(`O${h.value.length+7}`).value=I.byInitials(T.fullName),a.getCell(`AD${h.value.length+7}`).value=xe.value+":",a.getCell(`AM${h.value.length+7}`).value=I.byInitials(T.fullName),a.getCell(`V${h.value.length+9}`).value=u("sheet.HREmployee"),a.getCell(`AD${h.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",a.getCell(`AM${h.value.length+9}`).value=I.byInitials(ee),a.getCell(`A${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`C${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`O${h.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${h.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${h.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`V${h.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AD${h.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},a.getCell(`AM${h.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},a.getCell(`H${h.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${h.value.length+7}`).border={bottom:{style:"thin"}},a.getCell(`AJ${h.value.length+9}`).border={bottom:{style:"thin"}};const ae=`export_${I.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,q=await o.xlsx.writeBuffer();Nt.saveAs(new Blob([q]),ae),M.value=!1},Be=()=>{let o=new Blob([W.value],{type:"text/plain;charset=utf-8"});Nt.saveAs(o,`Служебка_${I.byInitials(h.value[E.value.ids*2].fio)}_${I.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(o,a)=>{const k=e.resolveComponent("el-form-item"),c=e.resolveComponent("svg-icon"),C=e.resolveComponent("el-slider"),d=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",on,[se.checkEdit?(e.openBlock(),e.createBlock(e.unref(L.ElSelect),{key:0,modelValue:O.value,"onUpdate:modelValue":a[0]||(a[0]=i=>O.value=i),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(F.value,i=>(e.openBlock(),e.createBlock(e.unref(L.ElOption),{key:i.value,label:i.label,value:i.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),se.checkEdit?(e.openBlock(),e.createBlock(e.unref(L.ElButton),{key:1,plain:"",onClick:a[1]||(a[1]=i=>A.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),a[20]||(a[20]=e.createElementVNode("div",{class:"expander"},null,-1)),se.checkEdit?(e.openBlock(),e.createBlock(e.unref(L.ElSwitch),{key:2,modelValue:me.value,"onUpdate:modelValue":a[2]||(a[2]=i=>me.value=i),"active-text":e.unref(u)("workSchedule.currentMonth"),"active-value":"0","inactive-value":"-1"},null,8,["modelValue","active-text"])):e.createCommentVNode("",!0),e.createVNode(e.unref(L.ElSwitch),{modelValue:$.value,"onUpdate:modelValue":a[3]||(a[3]=i=>$.value=i),"active-text":o.$t("sheet.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*5 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(L.ElSwitch),{modelValue:R.value,"onUpdate:modelValue":a[4]||(a[4]=i=>R.value=i),"active-text":o.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(L.ElTable),{id:"printTable",data:h.value,"span-method":We,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(u)("sheet.emptyText"),align:"center",onCellClick:Oe,"max-height":$.value,"default-sort":{prop:"mame",order:"descending"},class:"sheet-table"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.title",{name:O.value[0]})+e.unref(te)(D.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.employee"),width:R.value==="false"?180:o.auto,align:"center"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,i=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:`${D.value}-${i.day}`},[i.day<=15?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:0,width:"39","class-name":i.holidays+Me(i.day),align:"center",label:i.day.toString()+`
6
6
  `+i.weekday},{default:e.withCtx(m=>[e.createElementVNode("div",un,e.toDisplayString(_e(i.day,m.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0),i.day===15?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:1,label:e.unref(u)("sheet.halfMonth",{half:"I"}),align:"center",width:"120"},{default:e.withCtx(m=>[e.createTextVNode(e.toDisplayString(h.value[m.$index].key===0?h.value[m.$index].halfI:h.value[m.$index].hourI),1)]),_:1},8,["label"])):e.createCommentVNode("",!0),i.day>15?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:2,width:"39","class-name":i.holidays+Me(i.day),align:"center",label:i.day.toString()+`
7
7
  `+i.weekday},{default:e.withCtx(m=>[e.createElementVNode("div",dn,e.toDisplayString(_e(i.day,m.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0)],64))),128)),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.halfMonth",{half:"II"}),align:"center",width:"120"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].key===0?h.value[i.$index].halfII:h.value[i.$index].hourII),1)]),_:1},8,["label"])]),_:1},8,["label"]),R.value==="false"?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:0,label:e.unref(u)("sheet.workedMonth"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.days"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].contDays),1)]),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.hours"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.all"),align:"center","label-class-name":"turn",width:"40"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].contHour),1)]),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.overtime"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].overtime),1)]),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.night"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].night),1)]),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.weekend"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].weekend),1)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),R.value==="false"?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:1,label:e.unref(u)("sheet.numberNonAppearing"),align:"center"},{default:e.withCtx(i=>{var m;return[e.createTextVNode(e.toDisplayString((m=h.value[i.$index])==null?void 0:m.numberNonAppearing[h.value[i.$index].key]),1)]}),_:1},8,["label"])):e.createCommentVNode("",!0),R.value==="false"?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:2,label:e.unref(u)("sheet.them"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.code"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(i=>{var m;return[e.createTextVNode(e.toDisplayString((m=h.value[i.$index].appearing)==null?void 0:m.code),1)]}),_:1},8,["label"]),e.createVNode(e.unref(L.ElTableColumn),{label:e.unref(u)("sheet.count"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(i=>{var m;return[e.createTextVNode(e.toDisplayString((m=h.value[i.$index].appearing)==null?void 0:m.count),1)]}),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),R.value==="false"?(e.openBlock(),e.createBlock(e.unref(L.ElTableColumn),{key:3,label:e.unref(u)("sheet.countWeekend"),align:"center"},{default:e.withCtx(i=>[e.createTextVNode(e.toDisplayString(h.value[i.$index].weekendDays),1)]),_:1},8,["label"])):e.createCommentVNode("",!0)]),_:1},8,["label"])]),_:1},8,["data","empty-text","max-height"]),e.withDirectives((e.openBlock(),e.createBlock(e.unref(L.ElButton),{disabled:M.value,plain:"",onClick:Ie,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[d,M.value]]),e.createVNode(e.unref(L.ElDialog),{title:e.unref(u)("workSchedule.jobTitle"),modelValue:A.value,"onUpdate:modelValue":a[7]||(a[7]=i=>A.value=i),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(L.ElButton),{onClick:a[5]||(a[5]=i=>A.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(L.ElButton),{size:"default",type:"primary",onClick:a[6]||(a[6]=i=>{$e(),A.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(L.ElForm),{ref:"dialogForm",model:g.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(g.value,i=>(e.openBlock(),e.createBlock(k,null,{default:e.withCtx(()=>[e.createVNode(e.unref(L.ElSwitch),{modelValue:i.val,"onUpdate:modelValue":m=>i.val=m,"active-text":i.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(Ne.ContextMenu),{show:ie.value,"onUpdate:show":a[17]||(a[17]=i=>ie.value=i),options:ye.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:a[8]||(a[8]=i=>ie.value=!1)},[e.createElementVNode("span",cn,e.toDisplayString(E.value.name),1),a[21]||(a[21]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(c,{"icon-class":"cross"})]),e.createVNode(e.unref(Ne.ContextMenuSeparator)),e.createElementVNode("div",null,[e.createElementVNode("div",null,[e.createVNode(e.unref(Ne.ContextMenuGroup),{label:Ee.value,style:{padding:"0 0 .5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(K.value,i=>(e.openBlock(),e.createBlock(e.unref(Ne.ContextMenuItem),{key:i.value,label:i.label,onClick:m=>{E.value.rest=!0,ne.value=!1,we(i.value)},clickClose:!1},null,8,["label","onClick"]))),128))]),_:1},8,["label"])]),/^(РВ|Я|Н(?![Н])).*$/.test(E.value.failure)?(e.openBlock(),e.createElementBlock("div",fn,[e.createVNode(e.unref(Ne.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(u)("workSchedule.with"))+":",1)]),_:1}),e.createVNode(C,{modelValue:X.value,"onUpdate:modelValue":a[9]||(a[9]=i=>X.value=i),step:1,min:0,max:23,style:{width:"100%"}},null,8,["modelValue"]),e.createVNode(e.unref(Ne.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(u)("workSchedule.duration"))+":",1)]),_:1}),e.createVNode(C,{modelValue:V.value,"onUpdate:modelValue":a[10]||(a[10]=i=>V.value=i),step:1,min:1,max:e.unref(I.clamp)(/^РВ.*$/.test(E.value.failure)?23-X.value:E.value.limit,1,22)},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),/^(|К|КВ|ОТ|Б|Р|ОЖ|У|ДО|УД|Г)$/.test(E.value.failure)?(e.openBlock(),e.createElementBlock("div",hn,[e.createVNode(e.unref(Ne.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(u)("sheet.count"))+":",1)]),_:1}),e.createVNode(C,{modelValue:ue.value,"onUpdate:modelValue":a[11]||(a[11]=i=>ue.value=i),step:1,min:1,max:b.value.length-E.value.day,style:{width:"100%"}},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),e.createVNode(e.unref(Ne.ContextMenuItem),{class:"wrap"},{default:e.withCtx(()=>[E.value.rest?(e.openBlock(),e.createBlock(e.unref(L.ElButton),{key:0,onClick:a[12]||(a[12]=i=>we("reset"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("sheet.reset")),1)]),_:1})):e.createCommentVNode("",!0),ne.value?(e.openBlock(),e.createBlock(e.unref(L.ElButton),{key:1,onClick:a[13]||(a[13]=i=>we("save"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("sheet.save")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(L.ElButton),{onClick:a[14]||(a[14]=i=>ie.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("sheet.cancel")),1)]),_:1}),ve.value?(e.openBlock(),e.createBlock(e.unref(L.ElButton),{key:2,onClick:a[15]||(a[15]=i=>Ke()),popovertarget:"my-service"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("sheet.service")),1)]),_:1})):e.createCommentVNode("",!0),ve.value?(e.openBlock(),e.createBlock(e.unref(L.ElButton),{key:3,onClick:a[16]||(a[16]=i=>Ze()),popovertarget:"my-service"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(u)("sheet.consent")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})])]),_:1},8,["show","options"]),e.createElementVNode("div",{id:"my-service",class:"sw-popover",popover:"",ref_key:"myService",ref:Ce},[a[22]||(a[22]=e.createElementVNode("header",null,"Служебная записка",-1)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(T.editor),{modelValue:W.value,"onUpdate:modelValue":a[18]||(a[18]=i=>W.value=i)},null,8,["modelValue"])),e.createElementVNode("footer",null,[e.createVNode(e.unref(L.ElButton),{onClick:a[19]||(a[19]=i=>Ce.value.hidePopover()),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("calendar.cancel")),1)]),_:1}),e.createVNode(e.unref(L.ElButton),{type:"success",plain:"",onClick:Be},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(o.$t("calendar.save")),1)]),_:1})])],512)],64)}}};module.exports=gn;
@@ -4257,7 +4257,7 @@ const Pn = /* @__PURE__ */ Kt(Fn), Rn = { class: "nav" }, zn = { style: { height
4257
4257
  }, {
4258
4258
  default: M(() => [
4259
4259
  (le(!0), Le(Be, null, ut(b.value, (r) => (le(), Le(Be, {
4260
- key: `${T.value.getTime()}-${r.day}`
4260
+ key: `${T.value}-${r.day}`
4261
4261
  }, [
4262
4262
  r.day <= 15 ? (le(), fe(h(ce), {
4263
4263
  key: 0,
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("vue"),de=require("file-saver"),se=require("exceljs"),c=require("./index-uKIn9vG1.cjs"),ve=require("vue-i18n"),d=require("element-plus"),_=require("@imengyu/vue3-context-menu");function ce(k){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(k){for(const S in k)if(S!=="default"){const m=Object.getOwnPropertyDescriptor(k,S);Object.defineProperty(r,S,m.get?m:{enumerable:!0,get:()=>k[S]})}}return r.default=k,Object.freeze(r)}const me=ce(se),ge={class:"work"},he={class:"nav"},fe={style:{height:"100px",width:"100%",display:"inline-block"}},pe={style:{height:"100px",width:"100%",display:"inline-block"}},ye={key:0,class:"controls-container",style:{"margin-top":".5rem"}},we={class:"label"},Ce={key:0,style:{padding:"0.5em 1.5em"}},ke={key:1,style:{padding:"0.5em 1.5em"}},Ve={__name:"WorkTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},query:Object},setup(k){var X;const{t:r,d:S}=ve.useI18n(),m=k,U=e.ref(!1),n=e.ref([]),j=e.ref((X=m.query)!=null&&X.date?new Date(m.query.date+"T00:00:01").getMonth():new Date().getMonth()),O=e.ref(!1),T=e.ref([]),h=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1)),u=e.ref([]),M=e.ref(0),p=e.ref(9),f=e.ref(8),I=e.ref(!1),$=e.ref(!1),P=e.ref("5"),A=e.ref(1),V=e.ref([]),W=e.ref([]),N=e.ref([]),H=e.ref([]),g=e.ref({name:"Имя",length:0,code:""}),z=e.ref(!1),L=e.ref({zIndex:3,minWidth:230,x:500,y:200}),b=e.ref({}),F=e.ref("100%");e.watch(V,async(t,l)=>{t!==l&&(N.value=[],I.value=!1,m.odata.personal.forEach(o=>{t.includes(o.divisionName)&&(N.value.some(s=>(s==null?void 0:s.activeText)===o.roleName)||N.value.push({val:!0,activeText:o.roleName}))}),G())}),e.watch(j,async t=>{let l=new Date().getMonth(),o=t===null?l:t-1;o=l-1<=o?o-l>=11?o-12:o:o+12,h.value=new Date(new Date().getFullYear(),o,1),Z()});const ee=(t,l,o,s)=>{g.value.ids=t.ids,g.value.key=t.key,g.value.add=t.days.length>0&&t.days[t.days.length-1].cont,g.value.level=l.level,g.value.day=o.cellIndex,L.value.y=s.clientY,L.value.x=s.clientX,l.level===2&&l.no===0&&m.checkEdit&&(g.value.name=r("workSchedule.autocomplete"),z.value=!0),l.level===3&&o.cellIndex-l.no===1&&m.checkEdit&&(E(o.cellIndex,t.ids),g.value.name=r("workSchedule.modeSelection"),z.value=!0)},le=({row:t,columnIndex:l})=>{if(!T.value||T.value.length===0||!O.value)return"";const o=new Date(new Date(h.value).getFullYear(),new Date(h.value).getMonth(),l).getTime()+1e3;for(let s of T.value){const{dateStart:v,dateEnd:a,code:y}=s;if(v&&a&&y===t.code&&l!==0&&l<=u.value.length){const x=new Date(c.parseDate(v)).getTime(),w=new Date(c.parseDate(a)).getTime();if(o>=x&&o<=w)return"vacation"}}return""},Z=()=>{var v,a,y,x;const t=new Date(h.value),l=new Date(t.getFullYear(),t.getMonth()+1,0).getDate();let o=[],s=0;for(let w=1;w<=l;w++){const C=c.parseTime(t.setDate(w),"{Y}-{m}-{dd}");s+=(v=b.value.nowork)!=null&&v.includes(C)||b.value.holidays.includes(C)?0:(a=b.value.preholidays)!=null&&a.includes(C)?7:8;const i=(y=b.value.nowork)!=null&&y.includes(C)?"nowork":b.value.holidays.includes(C)?"holiday":(x=b.value.preholidays)!=null&&x.includes(C)?"preholiday":"";o.push({day:w,holidays:i,weekday:S(new Date(t.getFullYear(),t.getMonth(),w),"day")})}M.value=s,u.value=o,m.odata.getPersonal({dismissed:"false"}).then(w=>{var C;V.value.length===0&&(V.value=[(C=w.find(i=>i.employeeName===m.fullName&&i.dismissalDate.length===0))==null?void 0:C.divisionName]),w.forEach((i,B)=>{W.value.some(D=>i.dismissalDate.length>0&&new Date(i.dismissalDate)<new Date(h.value)||(D==null?void 0:D.value)===i.divisionName)||W.value.push({value:i.divisionName,label:i.divisionName,key:B}),V.value.includes(i.divisionName)&&!N.value.some(D=>(D==null?void 0:D.activeText)===i.roleName)&&N.value.push({val:!0,activeText:i.roleName})}),G()})},te=e.computed(()=>!n.value.some(t=>t.contHour!==M.value)),Q=(t,l)=>{var a,y,x;const o=new Date(h.value),s=`${o.getFullYear()}-${(o.getMonth()+1).toString().padStart(2,"0")}-${t.toString().padStart(2,"0")}`,v=(a=n.value[l])==null?void 0:a.days.findIndex(w=>w.day===s);return l===-1||v===-1?"":((y=n.value[l].days[v])==null?void 0:y.tips)+`
2
- `+((x=n.value[l].days[v])==null?void 0:x.time)},G=()=>{n.value=[],H.value=[],T.value=[],m.odata.personal.forEach(t=>{if(V.value.includes(t.divisionName)&&N.value.some(l=>l.val&&l.activeText===t.roleName)&&(t.dismissalDate.length===0||new Date(t.dismissalDate)>new Date(h.value))){let l=c.byInitials(t.employeeName);n.value.push({name:l+" ("+t.roleName+")",days:[],contHour:0,code:t.employeeKey,id:!1})}}),n.value.sort((t,l)=>t.name<l.name?-1:t.name>l.name?1:0),n.value.forEach((t,l)=>{t.ids=l,H.value.push(t.code)}),m.workSchedule.getUsersYear({code:H.value,year:new Date(h.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&T.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),ae(),$.value=!1})},ae=()=>{m.workSchedule.getWorkSchedule({code:H.value,date:c.parseTime(new Date(h.value),"{Y}-{m}-{dd}")}).then(t=>{t.forEach((l,o)=>{l!==null&&(n.value[o].days=l.data.days,n.value[o].id=l.id)}),q()})},q=()=>{n.value.forEach(t=>{t.contHour=t.days.reduce((l,o)=>l+o.time,0)})},ne=t=>{n.value[t].days=[],q()},oe=t=>{switch(P.value){case"5":for(let l=A.value;l<=u.value.length;l++)u.value[l-1].holidays===""&&E(l,t,!0),u.value[l-1].holidays==="preholiday"&&(f.value-=1,E(l,t,!0),f.value+=1);break;case"2x2":for(let l=A.value;l<=u.value.length;l+=4)E(l,t,!0),l+1<=u.value.length&&E(l+1,t,!0);break;case"2x5":for(let l=A.value;l<=u.value.length;l+=7)for(let o=l;o<l+5&&o<=u.value.length;o++)u.value[o-1].holidays==="preholiday"?(f.value-=1,E(o,t,!0),f.value+=1):E(o,t,!0);break}},E=(t,l,o=!1)=>{const{date:s,ind:v}=R(t,l);v===-1?(n.value[l].days.push({day:s,time:f.value,tips:`(${p.value}:00 - ${f.value>=22?p.value+f.value+2:p.value+f.value+1}:00)`}),q()):o||(f.value=n.value[l].days[v].time,p.value=parseInt(n.value[l].days[v].tips.slice(1,-12)))},ue=(t,l)=>{const{ind:o}=R(t,l);n.value[l].days.splice(o,1),q(),document.querySelector(".app-main").click()},K=(t,l)=>{const{date:o,ind:s}=R(t,l);n.value[l].days[s]={day:o,time:f.value,tips:`(${p.value}:00 - ${f.value>=22?p.value+f.value+2:p.value+f.value+1}:00)`},q()},R=(t,l)=>{var v;const o=c.parseTime(new Date(h.value).setDate(t),"{Y}-{m}-{dd}"),s=(v=n.value[l])==null?void 0:v.days.findIndex(a=>a.day===o);return{date:o,ind:s}},re=async()=>{var C;U.value=!0;const t=new me.Workbook,l=t.addWorksheet(S(h.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),o={vertical:"middle",horizontal:"center"},s={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},v={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${c.cellsDynamically("A1",u.value.length+6)}1`),l.mergeCells(`A2:${c.cellsDynamically("A2",u.value.length+6)}2`),l.mergeCells("A3:A4"),l.mergeCells(`B3:${c.cellsDynamically("B3",u.value.length)}3`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+1)}3:${c.cellsDynamically("B3",u.value.length+2)}3`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+3)}3:${c.cellsDynamically("B4",u.value.length+3)}4`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+4)}3:${c.cellsDynamically("B4",u.value.length+4)}4`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+5)}3:${c.cellsDynamically("B4",u.value.length+5)}4`),l.getCell("A1").value=r("workSchedule.firm"),l.getCell("A2").value=r("workSchedule.title",{name:V.value[0]})+S(h.value,"month")+` ${new Date(h.value).getFullYear()}`,l.getCell("A3").value=r("workSchedule.month"),l.getCell("B3").value=r("workSchedule.numbersMonth"),l.getCell(3,u.value.length+2).value=r("workSchedule.onSchedule"),l.getCell(3,u.value.length+4).value=r("workSchedule.acquainted"),l.getCell(3,u.value.length+5).value=r("workSchedule.decryption"),l.getCell(3,u.value.length+6).value=r("workSchedule.date"),l.getCell(4,u.value.length+2).value=r("workSchedule.days"),l.getCell(4,u.value.length+3).value=`${r("workSchedule.hours")} (${M.value})`;for(let i=2;i<=u.value.length+1;i++)l.getCell(4,i).value=u.value[i-2].weekday+`
3
- `+(i-1),l.getColumn(i).width=6,l.getColumn(i).alignment=v,l.getCell(4,i).border=s;l.getRow(1).height=40,l.getRow(2).height=30,l.getRow(3).height=20,l.getColumn(1).width=15,l.getColumn(u.value.length+2).width=5,l.getColumn(u.value.length+3).width=6,l.getColumn(u.value.length+4).width=13,l.getColumn(u.value.length+5).width=13,l.getColumn(u.value.length+6).width=13,l.getColumn(1).alignment=v,l.getCell("A2").alignment=o,l.getCell("A3").alignment=o,l.getCell("B3").alignment=o,l.getCell(3,u.value.length+2).alignment=o,l.getColumn(u.value.length+2).alignment=v,l.getColumn(u.value.length+3).alignment=v,l.getColumn(u.value.length+4).alignment=v,l.getColumn(u.value.length+5).alignment=v,l.getColumn(u.value.length+6).alignment=o,l.getCell("A3").border=s,l.getCell("B3").border=s,l.getCell(3,u.value.length+2).border=s,l.getCell(4,u.value.length+2).border=s,l.getCell(3,u.value.length+4).border=s,l.getCell(3,u.value.length+5).border=s,l.getCell(3,u.value.length+6).border=s,l.getCell(4,u.value.length+3).border=s;let a=0;for(const i of n.value){let B=[i.name];for(let Y=1;Y<=u.value.length;Y++){const{ind:J}=R(Y,a);J!==-1?B[Y]=`${i.days[J].time} ${i.days[J].tips}`:B[Y]=" "}B.push(((C=i.days)==null?void 0:C.length)||" ",i.contHour||0);const D=l.addRow(B);D.border=s,a++}let y="Щербина Е. В.";m.odata.personal.forEach(i=>{i.roleName==="Начальник отдела правовой и кадровой работы"&&(i.dismissalDate.length===0||new Date(i.dismissalDate)>new Date(thisMonth.value))&&(y=i.employeeName)}),l.mergeCells(`A${n.value.length+6}:P${n.value.length+6}`),l.mergeCells(`Q${n.value.length+6}:AG${n.value.length+6}`),l.mergeCells(`B${n.value.length+8}:E${n.value.length+8}`),l.mergeCells(`F${n.value.length+8}:L${n.value.length+8}`),l.mergeCells(`M${n.value.length+8}:P${n.value.length+8}`),l.mergeCells(`S${n.value.length+8}:V${n.value.length+8}`),l.mergeCells(`W${n.value.length+8}:AC${n.value.length+8}`),l.mergeCells(`AD${n.value.length+8}:AG${n.value.length+8}`),l.mergeCells(`Z${n.value.length+9}:AA${n.value.length+9}`),l.getCell(`A${n.value.length+6}`).value=r("workSchedule.byInitials"),l.getCell(`Q${n.value.length+6}`).value=r("workSchedule.supervisorHR"),l.getCell(`B${n.value.length+8}`).value=r("workSchedule.compiled")+":",l.getCell(`S${n.value.length+8}`).value=r("workSchedule.approved")+":",l.getCell(`M${n.value.length+8}`).value=c.byInitials(m.fullName),l.getCell(`AD${n.value.length+8}`).value=c.byInitials(y),l.getCell(`Z${n.value.length+9}`).value=r("workSchedule.printPlace"),l.getCell(`A${n.value.length+6}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`Q${n.value.length+6}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`B${n.value.length+8}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`F${n.value.length+8}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`M${n.value.length+8}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`AD${n.value.length+8}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`Z${n.value.length+9}`).alignment=o,l.getCell(`F${n.value.length+8}`).border={bottom:{style:"thin"}},l.getCell(`W${n.value.length+8}`).border={bottom:{style:"thin"}};const x="export_"+c.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",w=await t.xlsx.writeBuffer();de.saveAs(new Blob([w]),x),U.value=!1},ie=async()=>{I.value||m.workSchedule.addWorkSchedule({data:n.value,date:c.parseTime(new Date(h.value),"{Y}-{m}-{dd}"),group:V.value[0]}).then(t=>I.value=t)};return m.query.group&&(V.value[0]=m.query.group),m.query.date&&(h.value=new Date(m.query.date+"T00:00:01")),c.holidays().then(t=>{b.value=t,Z()}),(t,l)=>{const o=e.resolveComponent("el-date-picker"),s=e.resolveComponent("svg-icon"),v=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("div",he,[k.checkEdit?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),{key:0,modelValue:V.value,"onUpdate:modelValue":l[0]||(l[0]=a=>V.value=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,a=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:a.key,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),k.checkEdit?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,plain:"",onClick:l[1]||(l[1]=a=>$.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(o,{modelValue:j.value,"onUpdate:modelValue":l[2]||(l[2]=a=>j.value=a),type:"month",placeholder:"Выберите месяц",format:"MMM","value-format":"M"},null,8,["modelValue"]),l[21]||(l[21]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(e.unref(d.ElSwitch),{modelValue:F.value,"onUpdate:modelValue":l[3]||(l[3]=a=>F.value=a),"active-text":t.$t("bids.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*5 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(d.ElSwitch),{modelValue:O.value,"onUpdate:modelValue":l[4]||(l[4]=a=>O.value=a),"active-text":"Отпуска","active-value":!0,"inactive-value":!1},null,8,["modelValue"])]),e.createVNode(e.unref(d.ElTable),{id:"printTable",data:n.value,style:{width:"100%"},"max-height":F.value,size:"small",align:"center",onCellClick:ee,"empty-text":e.unref(r)("workSchedule.emptyText"),"cell-class-name":le},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.title",{name:V.value[0]})+e.unref(S)(h.value,"month")+` ${new Date(h.value).getFullYear()}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.month"),width:"180",align:"center",fixed:F.value!=="100%"},{default:e.withCtx(a=>[e.createElementVNode("div",fe,e.toDisplayString(n.value[a.$index].name),1)]),_:1},8,["label","fixed"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.numbersMonth"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,a=>(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),{key:`${h.value.getTime()}-${a.day}`,width:"46","class-name":a.holidays,align:"center",label:a.weekday+`
4
- `+a.day.toString(),prop:"vacation"},{default:e.withCtx(y=>[e.createElementVNode("div",pe,e.toDisplayString(Q(a.day,y.$index)||" "),1)]),_:2},1032,["class-name","label"]))),128))]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.onSchedule"),align:"center",fixed:F.value!=="100%"?"right":!1},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.days"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(n.value[a.$index].days.length||0),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:`${e.unref(r)("workSchedule.hours")} ( ${M.value} )`,align:"center"},{default:e.withCtx(a=>[e.createElementVNode("div",{style:e.normalizeStyle(`color: ${M.value===a.row.contHour?"green":"red"};`)},e.toDisplayString(a.row.contHour),5)]),_:1},8,["label"])]),_:1},8,["label","fixed"])]),_:1},8,["label"])]),_:1},8,["data","max-height","empty-text"]),te.value&&k.checkEdit?(e.openBlock(),e.createElementBlock("div",ye,[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.chartsFilled"))+": ",1),I.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:"primary",onClick:ie},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.confirm")),1)]),_:1})),l[22]||(l[22]=e.createTextVNode()),e.createElementVNode("span",null,e.toDisplayString(k.fullName),1)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(d.ElButton),{disabled:U.value,plain:"",onClick:re,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[v,U.value]]),e.createVNode(e.unref(d.ElDialog),{title:e.unref(r)("workSchedule.jobTitle"),modelValue:$.value,"onUpdate:modelValue":l[7]||(l[7]=a=>$.value=a),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{onClick:l[5]||(l[5]=a=>$.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{size:"default",type:"primary",onClick:l[6]||(l[6]=a=>{G(),$.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),{ref:"dialogForm",model:N.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,a=>(e.openBlock(),e.createBlock(e.unref(d.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElSwitch),{modelValue:a.val,"onUpdate:modelValue":y=>a.val=y,"active-text":a.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(_.ContextMenu),{show:z.value,"onUpdate:show":l[20]||(l[20]=a=>z.value=a),options:L.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:l[8]||(l[8]=a=>z.value=!1)},[e.createElementVNode("span",we,e.toDisplayString(g.value.name),1),l[23]||(l[23]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(s,{"icon-class":"cross"})]),e.createVNode(e.unref(_.ContextMenuSeparator)),g.value.level===2?(e.openBlock(),e.createElementBlock("div",Ce,[e.createVNode(e.unref(d.ElRadioGroup),{modelValue:P.value,"onUpdate:modelValue":l[9]||(l[9]=a=>P.value=a),size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElRadioButton),{label:e.unref(r)("workSchedule.Days5"),value:"5"},null,8,["label"]),e.createVNode(e.unref(d.ElRadioButton),{label:"2 Х 2",value:"2x2"}),e.createVNode(e.unref(d.ElRadioButton),{label:"2 Х 5",value:"2x5"})]),_:1},8,["modelValue"]),l[24]||(l[24]=e.createElementVNode("br",null,null,-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.fromDate"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:A.value,"onUpdate:modelValue":l[10]||(l[10]=a=>A.value=a),step:1,min:1,max:u.value.length},null,8,["modelValue","max"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.with"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[11]||(l[11]=a=>p.value=a),step:1,min:0,max:19},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:f.value,"onUpdate:modelValue":l[12]||(l[12]=a=>f.value=a),step:1,min:4,max:e.unref(c.clamp)(p.value!==1?23-p.value:21,4,22)},null,8,["modelValue","max"]),e.createVNode(e.unref(d.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[13]||(l[13]=a=>oe(g.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.fillOut")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[14]||(l[14]=a=>ne(g.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.clearRow")),1)]),_:1})])):(e.openBlock(),e.createElementBlock("div",ke,[e.createElementVNode("div",null,e.toDisplayString(Q(g.value.day,g.value.ids)),1),l[25]||(l[25]=e.createElementVNode("br",null,null,-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.with"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[15]||(l[15]=a=>p.value=a),step:1,min:0,max:19,onChange:l[16]||(l[16]=a=>K(g.value.day,g.value.ids))},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:f.value,"onUpdate:modelValue":l[17]||(l[17]=a=>f.value=a),step:1,min:4,max:e.unref(c.clamp)(p.value!==1?23-p.value:21,4,22),onChange:l[18]||(l[18]=a=>K(g.value.day,g.value.ids))},null,8,["modelValue","max"]),e.createVNode(e.unref(d.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[19]||(l[19]=a=>ue(g.value.day,g.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.delete")),1)]),_:1})]))]),_:1},8,["show","options"])])}}};module.exports=Ve;
1
+ "use strict";const e=require("vue"),ge=require("file-saver"),he=require("exceljs"),c=require("./index-uKIn9vG1.cjs"),fe=require("vue-i18n"),d=require("element-plus"),ne=require("@imengyu/vue3-context-menu");function pe(k){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(k){for(const S in k)if(S!=="default"){const m=Object.getOwnPropertyDescriptor(k,S);Object.defineProperty(r,S,m.get?m:{enumerable:!0,get:()=>k[S]})}}return r.default=k,Object.freeze(r)}const ye=pe(he),we={class:"work"},Ce={class:"nav"},ke={style:{height:"100px",width:"100%",display:"inline-block"}},Ve={style:{height:"100px",width:"100%",display:"inline-block"}},Se={key:0,class:"controls-container",style:{"margin-top":".5rem"}},xe={class:"label"},De={key:0,style:{padding:"0.5em 1.5em"}},Ne={key:1,style:{padding:"0.5em 1.5em"}},be={__name:"WorkTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},query:Object},setup(k){var X,_,ee,le,te,ae;const{t:r,d:S}=fe.useI18n(),m=k,U=e.ref(!1),n=e.ref([]),j=e.ref((X=m.query)!=null&&X.date?new Date(((_=m.query)==null?void 0:_.date)+"T00:00:01").getMonth():new Date().getMonth()),O=e.ref(!1),T=e.ref([]),h=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1)),u=e.ref([]),M=e.ref(0),p=e.ref(9),f=e.ref(8),I=e.ref(!1),$=e.ref(!1),P=e.ref("5"),A=e.ref(1),V=e.ref([]),W=e.ref([]),N=e.ref([]),H=e.ref([]),g=e.ref({name:"Имя",length:0,code:""}),z=e.ref(!1),L=e.ref({zIndex:3,minWidth:230,x:500,y:200}),b=e.ref({}),F=e.ref("100%");e.watch(V,async(t,l)=>{t!==l&&(N.value=[],I.value=!1,m.odata.personal.forEach(o=>{t.includes(o.divisionName)&&(N.value.some(s=>(s==null?void 0:s.activeText)===o.roleName)||N.value.push({val:!0,activeText:o.roleName}))}),G())}),e.watch(j,async t=>{let l=new Date().getMonth(),o=t===null?l:t-1;o=l-1<=o?o-l>=11?o-12:o:o+12,h.value=new Date(new Date().getFullYear(),o,1),Z()});const oe=(t,l,o,s)=>{g.value.ids=t.ids,g.value.key=t.key,g.value.add=t.days.length>0&&t.days[t.days.length-1].cont,g.value.level=l.level,g.value.day=o.cellIndex,L.value.y=s.clientY,L.value.x=s.clientX,l.level===2&&l.no===0&&m.checkEdit&&(g.value.name=r("workSchedule.autocomplete"),z.value=!0),l.level===3&&o.cellIndex-l.no===1&&m.checkEdit&&(E(o.cellIndex,t.ids),g.value.name=r("workSchedule.modeSelection"),z.value=!0)},ue=({row:t,columnIndex:l})=>{if(!T.value||T.value.length===0||!O.value)return"";const o=new Date(new Date(h.value).getFullYear(),new Date(h.value).getMonth(),l).getTime()+1e3;for(let s of T.value){const{dateStart:v,dateEnd:a,code:y}=s;if(v&&a&&y===t.code&&l!==0&&l<=u.value.length){const x=new Date(c.parseDate(v)).getTime(),w=new Date(c.parseDate(a)).getTime();if(o>=x&&o<=w)return"vacation"}}return""},Z=()=>{var v,a,y,x;const t=new Date(h.value),l=new Date(t.getFullYear(),t.getMonth()+1,0).getDate();let o=[],s=0;for(let w=1;w<=l;w++){const C=c.parseTime(t.setDate(w),"{Y}-{m}-{dd}");s+=(v=b.value.nowork)!=null&&v.includes(C)||b.value.holidays.includes(C)?0:(a=b.value.preholidays)!=null&&a.includes(C)?7:8;const i=(y=b.value.nowork)!=null&&y.includes(C)?"nowork":b.value.holidays.includes(C)?"holiday":(x=b.value.preholidays)!=null&&x.includes(C)?"preholiday":"";o.push({day:w,holidays:i,weekday:S(new Date(t.getFullYear(),t.getMonth(),w),"day")})}M.value=s,u.value=o,m.odata.getPersonal({dismissed:"false"}).then(w=>{var C;V.value.length===0&&(V.value=[(C=w.find(i=>i.employeeName===m.fullName&&i.dismissalDate.length===0))==null?void 0:C.divisionName]),w.forEach((i,B)=>{W.value.some(D=>i.dismissalDate.length>0&&new Date(i.dismissalDate)<new Date(h.value)||(D==null?void 0:D.value)===i.divisionName)||W.value.push({value:i.divisionName,label:i.divisionName,key:B}),V.value.includes(i.divisionName)&&!N.value.some(D=>(D==null?void 0:D.activeText)===i.roleName)&&N.value.push({val:!0,activeText:i.roleName})}),G()})},re=e.computed(()=>!n.value.some(t=>t.contHour!==M.value)),Q=(t,l)=>{var a,y,x;const o=new Date(h.value),s=`${o.getFullYear()}-${(o.getMonth()+1).toString().padStart(2,"0")}-${t.toString().padStart(2,"0")}`,v=(a=n.value[l])==null?void 0:a.days.findIndex(w=>w.day===s);return l===-1||v===-1?"":((y=n.value[l].days[v])==null?void 0:y.tips)+`
2
+ `+((x=n.value[l].days[v])==null?void 0:x.time)},G=()=>{n.value=[],H.value=[],T.value=[],m.odata.personal.forEach(t=>{if(V.value.includes(t.divisionName)&&N.value.some(l=>l.val&&l.activeText===t.roleName)&&(t.dismissalDate.length===0||new Date(t.dismissalDate)>new Date(h.value))){let l=c.byInitials(t.employeeName);n.value.push({name:l+" ("+t.roleName+")",days:[],contHour:0,code:t.employeeKey,id:!1})}}),n.value.sort((t,l)=>t.name<l.name?-1:t.name>l.name?1:0),n.value.forEach((t,l)=>{t.ids=l,H.value.push(t.code)}),m.workSchedule.getUsersYear({code:H.value,year:new Date(h.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&T.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),ie(),$.value=!1})},ie=()=>{m.workSchedule.getWorkSchedule({code:H.value,date:c.parseTime(new Date(h.value),"{Y}-{m}-{dd}")}).then(t=>{t.forEach((l,o)=>{l!==null&&(n.value[o].days=l.data.days,n.value[o].id=l.id)}),q()})},q=()=>{n.value.forEach(t=>{t.contHour=t.days.reduce((l,o)=>l+o.time,0)})},de=t=>{n.value[t].days=[],q()},se=t=>{switch(P.value){case"5":for(let l=A.value;l<=u.value.length;l++)u.value[l-1].holidays===""&&E(l,t,!0),u.value[l-1].holidays==="preholiday"&&(f.value-=1,E(l,t,!0),f.value+=1);break;case"2x2":for(let l=A.value;l<=u.value.length;l+=4)E(l,t,!0),l+1<=u.value.length&&E(l+1,t,!0);break;case"2x5":for(let l=A.value;l<=u.value.length;l+=7)for(let o=l;o<l+5&&o<=u.value.length;o++)u.value[o-1].holidays==="preholiday"?(f.value-=1,E(o,t,!0),f.value+=1):E(o,t,!0);break}},E=(t,l,o=!1)=>{const{date:s,ind:v}=R(t,l);v===-1?(n.value[l].days.push({day:s,time:f.value,tips:`(${p.value}:00 - ${f.value>=22?p.value+f.value+2:p.value+f.value+1}:00)`}),q()):o||(f.value=n.value[l].days[v].time,p.value=parseInt(n.value[l].days[v].tips.slice(1,-12)))},ve=(t,l)=>{const{ind:o}=R(t,l);n.value[l].days.splice(o,1),q(),document.querySelector(".app-main").click()},K=(t,l)=>{const{date:o,ind:s}=R(t,l);n.value[l].days[s]={day:o,time:f.value,tips:`(${p.value}:00 - ${f.value>=22?p.value+f.value+2:p.value+f.value+1}:00)`},q()},R=(t,l)=>{var v;const o=c.parseTime(new Date(h.value).setDate(t),"{Y}-{m}-{dd}"),s=(v=n.value[l])==null?void 0:v.days.findIndex(a=>a.day===o);return{date:o,ind:s}},ce=async()=>{var C;U.value=!0;const t=new ye.Workbook,l=t.addWorksheet(S(h.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),o={vertical:"middle",horizontal:"center"},s={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},v={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${c.cellsDynamically("A1",u.value.length+6)}1`),l.mergeCells(`A2:${c.cellsDynamically("A2",u.value.length+6)}2`),l.mergeCells("A3:A4"),l.mergeCells(`B3:${c.cellsDynamically("B3",u.value.length)}3`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+1)}3:${c.cellsDynamically("B3",u.value.length+2)}3`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+3)}3:${c.cellsDynamically("B4",u.value.length+3)}4`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+4)}3:${c.cellsDynamically("B4",u.value.length+4)}4`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+5)}3:${c.cellsDynamically("B4",u.value.length+5)}4`),l.getCell("A1").value=r("workSchedule.firm"),l.getCell("A2").value=r("workSchedule.title",{name:V.value[0]})+S(h.value,"month")+` ${new Date(h.value).getFullYear()}`,l.getCell("A3").value=r("workSchedule.month"),l.getCell("B3").value=r("workSchedule.numbersMonth"),l.getCell(3,u.value.length+2).value=r("workSchedule.onSchedule"),l.getCell(3,u.value.length+4).value=r("workSchedule.acquainted"),l.getCell(3,u.value.length+5).value=r("workSchedule.decryption"),l.getCell(3,u.value.length+6).value=r("workSchedule.date"),l.getCell(4,u.value.length+2).value=r("workSchedule.days"),l.getCell(4,u.value.length+3).value=`${r("workSchedule.hours")} (${M.value})`;for(let i=2;i<=u.value.length+1;i++)l.getCell(4,i).value=u.value[i-2].weekday+`
3
+ `+(i-1),l.getColumn(i).width=6,l.getColumn(i).alignment=v,l.getCell(4,i).border=s;l.getRow(1).height=40,l.getRow(2).height=30,l.getRow(3).height=20,l.getColumn(1).width=15,l.getColumn(u.value.length+2).width=5,l.getColumn(u.value.length+3).width=6,l.getColumn(u.value.length+4).width=13,l.getColumn(u.value.length+5).width=13,l.getColumn(u.value.length+6).width=13,l.getColumn(1).alignment=v,l.getCell("A2").alignment=o,l.getCell("A3").alignment=o,l.getCell("B3").alignment=o,l.getCell(3,u.value.length+2).alignment=o,l.getColumn(u.value.length+2).alignment=v,l.getColumn(u.value.length+3).alignment=v,l.getColumn(u.value.length+4).alignment=v,l.getColumn(u.value.length+5).alignment=v,l.getColumn(u.value.length+6).alignment=o,l.getCell("A3").border=s,l.getCell("B3").border=s,l.getCell(3,u.value.length+2).border=s,l.getCell(4,u.value.length+2).border=s,l.getCell(3,u.value.length+4).border=s,l.getCell(3,u.value.length+5).border=s,l.getCell(3,u.value.length+6).border=s,l.getCell(4,u.value.length+3).border=s;let a=0;for(const i of n.value){let B=[i.name];for(let Y=1;Y<=u.value.length;Y++){const{ind:J}=R(Y,a);J!==-1?B[Y]=`${i.days[J].time} ${i.days[J].tips}`:B[Y]=" "}B.push(((C=i.days)==null?void 0:C.length)||" ",i.contHour||0);const D=l.addRow(B);D.border=s,a++}let y="Щербина Е. В.";m.odata.personal.forEach(i=>{i.roleName==="Начальник отдела правовой и кадровой работы"&&(i.dismissalDate.length===0||new Date(i.dismissalDate)>new Date(thisMonth.value))&&(y=i.employeeName)}),l.mergeCells(`A${n.value.length+6}:P${n.value.length+6}`),l.mergeCells(`Q${n.value.length+6}:AG${n.value.length+6}`),l.mergeCells(`B${n.value.length+8}:E${n.value.length+8}`),l.mergeCells(`F${n.value.length+8}:L${n.value.length+8}`),l.mergeCells(`M${n.value.length+8}:P${n.value.length+8}`),l.mergeCells(`S${n.value.length+8}:V${n.value.length+8}`),l.mergeCells(`W${n.value.length+8}:AC${n.value.length+8}`),l.mergeCells(`AD${n.value.length+8}:AG${n.value.length+8}`),l.mergeCells(`Z${n.value.length+9}:AA${n.value.length+9}`),l.getCell(`A${n.value.length+6}`).value=r("workSchedule.byInitials"),l.getCell(`Q${n.value.length+6}`).value=r("workSchedule.supervisorHR"),l.getCell(`B${n.value.length+8}`).value=r("workSchedule.compiled")+":",l.getCell(`S${n.value.length+8}`).value=r("workSchedule.approved")+":",l.getCell(`M${n.value.length+8}`).value=c.byInitials(m.fullName),l.getCell(`AD${n.value.length+8}`).value=c.byInitials(y),l.getCell(`Z${n.value.length+9}`).value=r("workSchedule.printPlace"),l.getCell(`A${n.value.length+6}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`Q${n.value.length+6}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`B${n.value.length+8}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`F${n.value.length+8}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`M${n.value.length+8}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`AD${n.value.length+8}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`Z${n.value.length+9}`).alignment=o,l.getCell(`F${n.value.length+8}`).border={bottom:{style:"thin"}},l.getCell(`W${n.value.length+8}`).border={bottom:{style:"thin"}};const x="export_"+c.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",w=await t.xlsx.writeBuffer();ge.saveAs(new Blob([w]),x),U.value=!1},me=async()=>{I.value||m.workSchedule.addWorkSchedule({data:n.value,date:c.parseTime(new Date(h.value),"{Y}-{m}-{dd}"),group:V.value[0]}).then(t=>I.value=t)};return(((ee=m.query)==null?void 0:ee.group)??!1)&&(V.value[0]=(le=m.query)==null?void 0:le.group),(((te=m.query)==null?void 0:te.date)??!1)&&(h.value=new Date(((ae=m.query)==null?void 0:ae.date)+"T00:00:01")),c.holidays().then(t=>{b.value=t,Z()}),(t,l)=>{const o=e.resolveComponent("el-date-picker"),s=e.resolveComponent("svg-icon"),v=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("div",Ce,[k.checkEdit?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),{key:0,modelValue:V.value,"onUpdate:modelValue":l[0]||(l[0]=a=>V.value=a),multiple:"","collapse-tags":"","collapse-tags-tooltip":"",placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(W.value,a=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:a.key,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),k.checkEdit?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,plain:"",onClick:l[1]||(l[1]=a=>$.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(o,{modelValue:j.value,"onUpdate:modelValue":l[2]||(l[2]=a=>j.value=a),type:"month",placeholder:"Выберите месяц",format:"MMM","value-format":"M"},null,8,["modelValue"]),l[21]||(l[21]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(e.unref(d.ElSwitch),{modelValue:F.value,"onUpdate:modelValue":l[3]||(l[3]=a=>F.value=a),"active-text":t.$t("bids.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*5 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(d.ElSwitch),{modelValue:O.value,"onUpdate:modelValue":l[4]||(l[4]=a=>O.value=a),"active-text":"Отпуска","active-value":!0,"inactive-value":!1},null,8,["modelValue"])]),e.createVNode(e.unref(d.ElTable),{id:"printTable",data:n.value,style:{width:"100%"},"max-height":F.value,size:"small",align:"center",onCellClick:oe,"empty-text":e.unref(r)("workSchedule.emptyText"),"cell-class-name":ue},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.title",{name:V.value[0]})+e.unref(S)(h.value,"month")+` ${new Date(h.value).getFullYear()}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.month"),width:"180",align:"center",fixed:F.value!=="100%"},{default:e.withCtx(a=>[e.createElementVNode("div",ke,e.toDisplayString(n.value[a.$index].name),1)]),_:1},8,["label","fixed"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.numbersMonth"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(u.value,a=>(e.openBlock(),e.createBlock(e.unref(d.ElTableColumn),{key:`${h.value.getTime()}-${a.day}`,width:"46","class-name":a.holidays,align:"center",label:a.weekday+`
4
+ `+a.day.toString(),prop:"vacation"},{default:e.withCtx(y=>[e.createElementVNode("div",Ve,e.toDisplayString(Q(a.day,y.$index)||" "),1)]),_:2},1032,["class-name","label"]))),128))]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.onSchedule"),align:"center",fixed:F.value!=="100%"?"right":!1},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(r)("workSchedule.days"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(n.value[a.$index].days.length||0),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:`${e.unref(r)("workSchedule.hours")} ( ${M.value} )`,align:"center"},{default:e.withCtx(a=>[e.createElementVNode("div",{style:e.normalizeStyle(`color: ${M.value===a.row.contHour?"green":"red"};`)},e.toDisplayString(a.row.contHour),5)]),_:1},8,["label"])]),_:1},8,["label","fixed"])]),_:1},8,["label"])]),_:1},8,["data","max-height","empty-text"]),re.value&&k.checkEdit?(e.openBlock(),e.createElementBlock("div",Se,[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.chartsFilled"))+": ",1),I.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:"primary",onClick:me},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.confirm")),1)]),_:1})),l[22]||(l[22]=e.createTextVNode()),e.createElementVNode("span",null,e.toDisplayString(k.fullName),1)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(d.ElButton),{disabled:U.value,plain:"",onClick:ce,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[v,U.value]]),e.createVNode(e.unref(d.ElDialog),{title:e.unref(r)("workSchedule.jobTitle"),modelValue:$.value,"onUpdate:modelValue":l[7]||(l[7]=a=>$.value=a),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{onClick:l[5]||(l[5]=a=>$.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{size:"default",type:"primary",onClick:l[6]||(l[6]=a=>{G(),$.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),{ref:"dialogForm",model:N.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,a=>(e.openBlock(),e.createBlock(e.unref(d.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElSwitch),{modelValue:a.val,"onUpdate:modelValue":y=>a.val=y,"active-text":a.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(ne.ContextMenu),{show:z.value,"onUpdate:show":l[20]||(l[20]=a=>z.value=a),options:L.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:l[8]||(l[8]=a=>z.value=!1)},[e.createElementVNode("span",xe,e.toDisplayString(g.value.name),1),l[23]||(l[23]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(s,{"icon-class":"cross"})]),e.createVNode(e.unref(ne.ContextMenuSeparator)),g.value.level===2?(e.openBlock(),e.createElementBlock("div",De,[e.createVNode(e.unref(d.ElRadioGroup),{modelValue:P.value,"onUpdate:modelValue":l[9]||(l[9]=a=>P.value=a),size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElRadioButton),{label:e.unref(r)("workSchedule.Days5"),value:"5"},null,8,["label"]),e.createVNode(e.unref(d.ElRadioButton),{label:"2 Х 2",value:"2x2"}),e.createVNode(e.unref(d.ElRadioButton),{label:"2 Х 5",value:"2x5"})]),_:1},8,["modelValue"]),l[24]||(l[24]=e.createElementVNode("br",null,null,-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.fromDate"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:A.value,"onUpdate:modelValue":l[10]||(l[10]=a=>A.value=a),step:1,min:1,max:u.value.length},null,8,["modelValue","max"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.with"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[11]||(l[11]=a=>p.value=a),step:1,min:0,max:19},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:f.value,"onUpdate:modelValue":l[12]||(l[12]=a=>f.value=a),step:1,min:4,max:e.unref(c.clamp)(p.value!==1?23-p.value:21,4,22)},null,8,["modelValue","max"]),e.createVNode(e.unref(d.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[13]||(l[13]=a=>se(g.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.fillOut")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[14]||(l[14]=a=>de(g.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.clearRow")),1)]),_:1})])):(e.openBlock(),e.createElementBlock("div",Ne,[e.createElementVNode("div",null,e.toDisplayString(Q(g.value.day,g.value.ids)),1),l[25]||(l[25]=e.createElementVNode("br",null,null,-1)),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.with"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[15]||(l[15]=a=>p.value=a),step:1,min:0,max:19,onChange:l[16]||(l[16]=a=>K(g.value.day,g.value.ids))},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(d.ElSlider),{modelValue:f.value,"onUpdate:modelValue":l[17]||(l[17]=a=>f.value=a),step:1,min:4,max:e.unref(c.clamp)(p.value!==1?23-p.value:21,4,22),onChange:l[18]||(l[18]=a=>K(g.value.day,g.value.ids))},null,8,["modelValue","max"]),e.createVNode(e.unref(d.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[19]||(l[19]=a=>ve(g.value.day,g.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.delete")),1)]),_:1})]))]),_:1},8,["show","options"])])}}};module.exports=be;
package/dist/WorkTable.js CHANGED
@@ -1,21 +1,21 @@
1
- import { ref as g, watch as fe, computed as Ne, resolveComponent as ye, resolveDirective as Te, createElementBlock as z, openBlock as S, createElementVNode as w, createVNode as s, createCommentVNode as ee, withDirectives as Ae, createBlock as F, unref as t, withCtx as m, Fragment as ie, renderList as re, createTextVNode as D, toDisplayString as h, normalizeStyle as Be } from "vue";
2
- import { saveAs as ze } from "file-saver";
3
- import * as Fe from "exceljs";
4
- import { p as L, b as se, h as Ye, c as we, a as ke, d as V } from "./index-DaZTfcYO.js";
5
- import { useI18n as Ue } from "vue-i18n";
6
- import { ElSelect as He, ElOption as Ie, ElButton as T, ElSwitch as ve, ElTable as qe, ElTableColumn as Y, ElDialog as Re, ElForm as We, ElFormItem as je, ElRadioGroup as Pe, ElRadioButton as ge, ElSlider as Z } from "element-plus";
7
- import { ContextMenu as Oe, ContextMenuSeparator as Ge } from "@imengyu/vue3-context-menu";
8
- const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "100px", width: "100%", display: "inline-block" } }, Qe = { style: { height: "100px", width: "100%", display: "inline-block" } }, Ke = {
1
+ import { ref as g, watch as $e, computed as Fe, resolveComponent as Se, resolveDirective as Ye, createElementBlock as z, openBlock as S, createElementVNode as w, createVNode as s, createCommentVNode as ee, withDirectives as Ue, createBlock as F, unref as t, withCtx as m, Fragment as ie, renderList as re, createTextVNode as D, toDisplayString as h, normalizeStyle as He } from "vue";
2
+ import { saveAs as Ie } from "file-saver";
3
+ import * as qe from "exceljs";
4
+ import { p as L, b as se, h as Re, c as be, a as xe, d as V } from "./index-DaZTfcYO.js";
5
+ import { useI18n as We } from "vue-i18n";
6
+ import { ElSelect as je, ElOption as Pe, ElButton as T, ElSwitch as ve, ElTable as Oe, ElTableColumn as Y, ElDialog as Ge, ElForm as Le, ElFormItem as Ze, ElRadioGroup as Je, ElRadioButton as ge, ElSlider as Z } from "element-plus";
7
+ import { ContextMenu as Qe, ContextMenuSeparator as Ke } from "@imengyu/vue3-context-menu";
8
+ const Xe = { class: "work" }, _e = { class: "nav" }, el = { style: { height: "100px", width: "100%", display: "inline-block" } }, ll = { style: { height: "100px", width: "100%", display: "inline-block" } }, al = {
9
9
  key: 0,
10
10
  class: "controls-container",
11
11
  style: { "margin-top": ".5rem" }
12
- }, Xe = { class: "label" }, _e = {
12
+ }, tl = { class: "label" }, nl = {
13
13
  key: 0,
14
14
  style: { padding: "0.5em 1.5em" }
15
- }, el = {
15
+ }, ul = {
16
16
  key: 1,
17
17
  style: { padding: "0.5em 1.5em" }
18
- }, dl = {
18
+ }, gl = {
19
19
  __name: "WorkTable",
20
20
  props: {
21
21
  checkEdit: { type: Boolean, default: () => !0 },
@@ -25,8 +25,8 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
25
25
  query: Object
26
26
  },
27
27
  setup(I) {
28
- var pe;
29
- const { t: d, d: J } = Ue(), f = I, Q = g(!1), n = g([
28
+ var pe, fe, ye, we, ke, Ce;
29
+ const { t: d, d: J } = We(), f = I, Q = g(!1), n = g([
30
30
  // { name: 'Иванов П.М. (Ведущий работник месяца)',
31
31
  // days: [], // {day: "2024-11-01", tips: '(9:00 - 18:00)', time: 8 }
32
32
  // contHour: 0,
@@ -39,29 +39,29 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
39
39
  // code: '0000-00052'
40
40
  // ids: 1
41
41
  // }
42
- ]), le = g((pe = f.query) != null && pe.date ? (/* @__PURE__ */ new Date(f.query.date + "T00:00:01")).getMonth() : (/* @__PURE__ */ new Date()).getMonth()), ae = g(!1), q = g([]), p = g(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)), o = g([]), R = g(0), k = g(9), y = g(8), K = g(!1), U = g(!1), te = g("5"), W = g(1), x = g([]), ne = g([]), N = g([]), X = g([]), c = g({ name: "Имя", length: 0, code: "" }), j = g(!1), ue = g({
42
+ ]), le = g((pe = f.query) != null && pe.date ? (/* @__PURE__ */ new Date(((fe = f.query) == null ? void 0 : fe.date) + "T00:00:01")).getMonth() : (/* @__PURE__ */ new Date()).getMonth()), ae = g(!1), q = g([]), p = g(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)), o = g([]), R = g(0), k = g(9), y = g(8), K = g(!1), U = g(!1), te = g("5"), W = g(1), x = g([]), ne = g([]), N = g([]), X = g([]), c = g({ name: "Имя", length: 0, code: "" }), j = g(!1), ue = g({
43
43
  zIndex: 3,
44
44
  minWidth: 230,
45
45
  x: 500,
46
46
  y: 200
47
47
  }), A = g({}), P = g("100%");
48
- fe(x, async (l, e) => {
48
+ $e(x, async (l, e) => {
49
49
  l !== e && (N.value = [], K.value = !1, f.odata.personal.forEach((u) => {
50
50
  l.includes(u.divisionName) && (N.value.some((r) => (r == null ? void 0 : r.activeText) === u.roleName) || N.value.push({ val: !0, activeText: u.roleName }));
51
51
  }), oe());
52
- }), fe(le, async (l) => {
52
+ }), $e(le, async (l) => {
53
53
  let e = (/* @__PURE__ */ new Date()).getMonth(), u = l === null ? e : l - 1;
54
54
  u = e - 1 <= u ? u - e >= 11 ? u - 12 : u : u + 12, p.value = new Date((/* @__PURE__ */ new Date()).getFullYear(), u, 1), me();
55
55
  });
56
- const Ce = (l, e, u, r) => {
56
+ const De = (l, e, u, r) => {
57
57
  c.value.ids = l.ids, c.value.key = l.key, c.value.add = l.days.length > 0 && l.days[l.days.length - 1].cont, c.value.level = e.level, c.value.day = u.cellIndex, ue.value.y = r.clientY, ue.value.x = r.clientX, e.level === 2 && e.no === 0 && f.checkEdit && (c.value.name = d("workSchedule.autocomplete"), j.value = !0), e.level === 3 && u.cellIndex - e.no === 1 && f.checkEdit && (B(u.cellIndex, l.ids), c.value.name = d("workSchedule.modeSelection"), j.value = !0);
58
- }, $e = ({ row: l, columnIndex: e }) => {
58
+ }, Ve = ({ row: l, columnIndex: e }) => {
59
59
  if (!q.value || q.value.length === 0 || !ae.value) return "";
60
60
  const u = new Date(new Date(p.value).getFullYear(), new Date(p.value).getMonth(), e).getTime() + 1e3;
61
61
  for (let r of q.value) {
62
62
  const { dateStart: v, dateEnd: a, code: C } = r;
63
63
  if (v && a && C === l.code && e !== 0 && e <= o.value.length) {
64
- const E = new Date(ke(v)).getTime(), $ = new Date(ke(a)).getTime();
64
+ const E = new Date(xe(v)).getTime(), $ = new Date(xe(a)).getTime();
65
65
  if (u >= E && u <= $) return "vacation";
66
66
  }
67
67
  }
@@ -82,7 +82,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
82
82
  ne.value.some((M) => i.dismissalDate.length > 0 && new Date(i.dismissalDate) < new Date(p.value) || (M == null ? void 0 : M.value) === i.divisionName) || ne.value.push({ value: i.divisionName, label: i.divisionName, key: H }), x.value.includes(i.divisionName) && !N.value.some((M) => (M == null ? void 0 : M.activeText) === i.roleName) && N.value.push({ val: !0, activeText: i.roleName });
83
83
  }), oe();
84
84
  });
85
- }, Se = Ne(() => !n.value.some((l) => l.contHour !== R.value)), he = (l, e) => {
85
+ }, Ee = Fe(() => !n.value.some((l) => l.contHour !== R.value)), he = (l, e) => {
86
86
  var a, C, E;
87
87
  const u = new Date(p.value), r = `${u.getFullYear()}-${(u.getMonth() + 1).toString().padStart(2, "0")}-${l.toString().padStart(2, "0")}`, v = (a = n.value[e]) == null ? void 0 : a.days.findIndex(($) => $.day === r);
88
88
  return e === -1 || v === -1 ? "" : ((C = n.value[e].days[v]) == null ? void 0 : C.tips) + `
@@ -98,9 +98,9 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
98
98
  }), f.workSchedule.getUsersYear({ code: X.value, year: new Date(p.value).getFullYear() }).then((l) => {
99
99
  l.forEach((e) => {
100
100
  e.dateStart && q.value.push({ code: e.code, dateStart: e.dateStart, dateEnd: e.dateEnd });
101
- }), be(), U.value = !1;
101
+ }), Me(), U.value = !1;
102
102
  });
103
- }, be = () => {
103
+ }, Me = () => {
104
104
  f.workSchedule.getWorkSchedule({ code: X.value, date: L(new Date(p.value), "{Y}-{m}-{dd}") }).then(
105
105
  (l) => {
106
106
  l.forEach((e, u) => {
@@ -112,9 +112,9 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
112
112
  n.value.forEach((l) => {
113
113
  l.contHour = l.days.reduce((e, u) => e + u.time, 0);
114
114
  });
115
- }, xe = (l) => {
115
+ }, Ne = (l) => {
116
116
  n.value[l].days = [], O();
117
- }, De = (l) => {
117
+ }, Te = (l) => {
118
118
  switch (te.value) {
119
119
  case "5":
120
120
  for (let e = W.value; e <= o.value.length; e++)
@@ -137,7 +137,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
137
137
  time: y.value,
138
138
  tips: `(${k.value}:00 - ${y.value >= 22 ? k.value + y.value + 2 : k.value + y.value + 1}:00)`
139
139
  }), O()) : u || (y.value = n.value[e].days[v].time, k.value = parseInt(n.value[e].days[v].tips.slice(1, -12)));
140
- }, Ve = (l, e) => {
140
+ }, Ae = (l, e) => {
141
141
  const { ind: u } = _(l, e);
142
142
  n.value[e].days.splice(u, 1), O(), document.querySelector(".app-main").click();
143
143
  }, ce = (l, e) => {
@@ -151,10 +151,10 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
151
151
  var v;
152
152
  const u = L(new Date(p.value).setDate(l), "{Y}-{m}-{dd}"), r = (v = n.value[e]) == null ? void 0 : v.days.findIndex((a) => a.day === u);
153
153
  return { date: u, ind: r };
154
- }, Ee = async () => {
154
+ }, Be = async () => {
155
155
  var b;
156
156
  Q.value = !0;
157
- const l = new Fe.Workbook(), e = l.addWorksheet(J(p.value, "month"), { pageSetup: { paperSize: 9, orientation: "landscape", fitToPage: !0 } }), u = { vertical: "middle", horizontal: "center" }, r = { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } }, v = { vertical: "middle", horizontal: "center", wrapText: !0 };
157
+ const l = new qe.Workbook(), e = l.addWorksheet(J(p.value, "month"), { pageSetup: { paperSize: 9, orientation: "landscape", fitToPage: !0 } }), u = { vertical: "middle", horizontal: "center" }, r = { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } }, v = { vertical: "middle", horizontal: "center", wrapText: !0 };
158
158
  e.mergeCells(`A1:${V("A1", o.value.length + 6)}1`), e.mergeCells(`A2:${V("A2", o.value.length + 6)}2`), e.mergeCells("A3:A4"), e.mergeCells(`B3:${V("B3", o.value.length)}3`), e.mergeCells(`${V("B3", o.value.length + 1)}3:${V("B3", o.value.length + 2)}3`), e.mergeCells(`${V("B3", o.value.length + 3)}3:${V("B4", o.value.length + 3)}4`), e.mergeCells(`${V("B3", o.value.length + 4)}3:${V("B4", o.value.length + 4)}4`), e.mergeCells(`${V("B3", o.value.length + 5)}3:${V("B4", o.value.length + 5)}4`), e.getCell("A1").value = d("workSchedule.firm"), e.getCell("A2").value = d("workSchedule.title", { name: x.value[0] }) + J(p.value, "month") + ` ${new Date(p.value).getFullYear()}`, e.getCell("A3").value = d("workSchedule.month"), e.getCell("B3").value = d("workSchedule.numbersMonth"), e.getCell(3, o.value.length + 2).value = d("workSchedule.onSchedule"), e.getCell(3, o.value.length + 4).value = d("workSchedule.acquainted"), e.getCell(3, o.value.length + 5).value = d("workSchedule.decryption"), e.getCell(3, o.value.length + 6).value = d("workSchedule.date"), e.getCell(4, o.value.length + 2).value = d("workSchedule.days"), e.getCell(4, o.value.length + 3).value = `${d("workSchedule.hours")} (${R.value})`;
159
159
  for (let i = 2; i <= o.value.length + 1; i++)
160
160
  e.getCell(4, i).value = o.value[i - 2].weekday + `
@@ -176,17 +176,17 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
176
176
  i.roleName === "Начальник отдела правовой и кадровой работы" && (i.dismissalDate.length === 0 || new Date(i.dismissalDate) > new Date(thisMonth.value)) && (C = i.employeeName);
177
177
  }), e.mergeCells(`A${n.value.length + 6}:P${n.value.length + 6}`), e.mergeCells(`Q${n.value.length + 6}:AG${n.value.length + 6}`), e.mergeCells(`B${n.value.length + 8}:E${n.value.length + 8}`), e.mergeCells(`F${n.value.length + 8}:L${n.value.length + 8}`), e.mergeCells(`M${n.value.length + 8}:P${n.value.length + 8}`), e.mergeCells(`S${n.value.length + 8}:V${n.value.length + 8}`), e.mergeCells(`W${n.value.length + 8}:AC${n.value.length + 8}`), e.mergeCells(`AD${n.value.length + 8}:AG${n.value.length + 8}`), e.mergeCells(`Z${n.value.length + 9}:AA${n.value.length + 9}`), e.getCell(`A${n.value.length + 6}`).value = d("workSchedule.byInitials"), e.getCell(`Q${n.value.length + 6}`).value = d("workSchedule.supervisorHR"), e.getCell(`B${n.value.length + 8}`).value = d("workSchedule.compiled") + ":", e.getCell(`S${n.value.length + 8}`).value = d("workSchedule.approved") + ":", e.getCell(`M${n.value.length + 8}`).value = se(f.fullName), e.getCell(`AD${n.value.length + 8}`).value = se(C), e.getCell(`Z${n.value.length + 9}`).value = d("workSchedule.printPlace"), e.getCell(`A${n.value.length + 6}`).alignment = { vertical: "middle", horizontal: "right" }, e.getCell(`Q${n.value.length + 6}`).alignment = { vertical: "middle", horizontal: "right" }, e.getCell(`B${n.value.length + 8}`).alignment = { vertical: "middle", horizontal: "right" }, e.getCell(`F${n.value.length + 8}`).alignment = { vertical: "middle", horizontal: "right" }, e.getCell(`M${n.value.length + 8}`).alignment = { vertical: "middle", horizontal: "left" }, e.getCell(`AD${n.value.length + 8}`).alignment = { vertical: "middle", horizontal: "left" }, e.getCell(`Z${n.value.length + 9}`).alignment = u, e.getCell(`F${n.value.length + 8}`).border = { bottom: { style: "thin" } }, e.getCell(`W${n.value.length + 8}`).border = { bottom: { style: "thin" } };
178
178
  const E = "export_" + L(Date.now(), "{dd}.{m}.{Y}") + ".xlsx", $ = await l.xlsx.writeBuffer();
179
- ze(new Blob([$]), E), Q.value = !1;
180
- }, Me = async () => {
179
+ Ie(new Blob([$]), E), Q.value = !1;
180
+ }, ze = async () => {
181
181
  K.value || f.workSchedule.addWorkSchedule({ data: n.value, date: L(new Date(p.value), "{Y}-{m}-{dd}"), group: x.value[0] }).then((l) => K.value = l);
182
182
  };
183
- return f.query.group && (x.value[0] = f.query.group), f.query.date && (p.value = /* @__PURE__ */ new Date(f.query.date + "T00:00:01")), Ye().then((l) => {
183
+ return (((ye = f.query) == null ? void 0 : ye.group) ?? !1) && (x.value[0] = (we = f.query) == null ? void 0 : we.group), (((ke = f.query) == null ? void 0 : ke.date) ?? !1) && (p.value = /* @__PURE__ */ new Date(((Ce = f.query) == null ? void 0 : Ce.date) + "T00:00:01")), Re().then((l) => {
184
184
  A.value = l, me();
185
185
  }), (l, e) => {
186
- const u = ye("el-date-picker"), r = ye("svg-icon"), v = Te("loading");
187
- return S(), z("div", Le, [
188
- w("div", Ze, [
189
- I.checkEdit ? (S(), F(t(He), {
186
+ const u = Se("el-date-picker"), r = Se("svg-icon"), v = Ye("loading");
187
+ return S(), z("div", Xe, [
188
+ w("div", _e, [
189
+ I.checkEdit ? (S(), F(t(je), {
190
190
  key: 0,
191
191
  modelValue: x.value,
192
192
  "onUpdate:modelValue": e[0] || (e[0] = (a) => x.value = a),
@@ -197,7 +197,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
197
197
  style: { width: "240px" }
198
198
  }, {
199
199
  default: m(() => [
200
- (S(!0), z(ie, null, re(ne.value, (a) => (S(), F(t(Ie), {
200
+ (S(!0), z(ie, null, re(ne.value, (a) => (S(), F(t(Pe), {
201
201
  key: a.key,
202
202
  label: a.label,
203
203
  value: a.value
@@ -239,16 +239,16 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
239
239
  "inactive-value": !1
240
240
  }, null, 8, ["modelValue"])
241
241
  ]),
242
- s(t(qe), {
242
+ s(t(Oe), {
243
243
  id: "printTable",
244
244
  data: n.value,
245
245
  style: { width: "100%" },
246
246
  "max-height": P.value,
247
247
  size: "small",
248
248
  align: "center",
249
- onCellClick: Ce,
249
+ onCellClick: De,
250
250
  "empty-text": t(d)("workSchedule.emptyText"),
251
- "cell-class-name": $e
251
+ "cell-class-name": Ve
252
252
  }, {
253
253
  default: m(() => [
254
254
  s(t(Y), {
@@ -264,7 +264,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
264
264
  fixed: P.value !== "100%"
265
265
  }, {
266
266
  default: m((a) => [
267
- w("div", Je, h(n.value[a.$index].name), 1)
267
+ w("div", el, h(n.value[a.$index].name), 1)
268
268
  ]),
269
269
  _: 1
270
270
  }, 8, ["label", "fixed"]),
@@ -283,7 +283,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
283
283
  prop: "vacation"
284
284
  }, {
285
285
  default: m((C) => [
286
- w("div", Qe, h(he(a.day, C.$index) || " "), 1)
286
+ w("div", ll, h(he(a.day, C.$index) || " "), 1)
287
287
  ]),
288
288
  _: 2
289
289
  }, 1032, ["class-name", "label"]))), 128))
@@ -311,7 +311,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
311
311
  }, {
312
312
  default: m((a) => [
313
313
  w("div", {
314
- style: Be(`color: ${R.value === a.row.contHour ? "green" : "red"};`)
314
+ style: He(`color: ${R.value === a.row.contHour ? "green" : "red"};`)
315
315
  }, h(a.row.contHour), 5)
316
316
  ]),
317
317
  _: 1
@@ -325,12 +325,12 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
325
325
  ]),
326
326
  _: 1
327
327
  }, 8, ["data", "max-height", "empty-text"]),
328
- Se.value && I.checkEdit ? (S(), z("div", Ke, [
328
+ Ee.value && I.checkEdit ? (S(), z("div", al, [
329
329
  D(h(t(d)("workSchedule.chartsFilled")) + ": ", 1),
330
330
  K.value ? ee("", !0) : (S(), F(t(T), {
331
331
  key: 0,
332
332
  type: "primary",
333
- onClick: Me
333
+ onClick: ze
334
334
  }, {
335
335
  default: m(() => [
336
336
  D(h(t(d)("workSchedule.confirm")), 1)
@@ -340,10 +340,10 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
340
340
  e[22] || (e[22] = D()),
341
341
  w("span", null, h(I.fullName), 1)
342
342
  ])) : ee("", !0),
343
- Ae((S(), F(t(T), {
343
+ Ue((S(), F(t(T), {
344
344
  disabled: Q.value,
345
345
  plain: "",
346
- onClick: Ee,
346
+ onClick: Be,
347
347
  style: { "margin-top": ".5rem" }
348
348
  }, {
349
349
  default: m(() => [
@@ -353,7 +353,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
353
353
  }, 8, ["disabled"])), [
354
354
  [v, Q.value]
355
355
  ]),
356
- s(t(Re), {
356
+ s(t(Ge), {
357
357
  title: t(d)("workSchedule.jobTitle"),
358
358
  modelValue: U.value,
359
359
  "onUpdate:modelValue": e[7] || (e[7] = (a) => U.value = a),
@@ -383,13 +383,13 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
383
383
  })
384
384
  ]),
385
385
  default: m(() => [
386
- s(t(We), {
386
+ s(t(Le), {
387
387
  ref: "dialogForm",
388
388
  model: N.value,
389
389
  autocomplete: "on"
390
390
  }, {
391
391
  default: m(() => [
392
- (S(!0), z(ie, null, re(N.value, (a) => (S(), F(t(je), null, {
392
+ (S(!0), z(ie, null, re(N.value, (a) => (S(), F(t(Ze), null, {
393
393
  default: m(() => [
394
394
  s(t(ve), {
395
395
  modelValue: a.val,
@@ -405,7 +405,7 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
405
405
  ]),
406
406
  _: 1
407
407
  }, 8, ["title", "modelValue"]),
408
- s(t(Oe), {
408
+ s(t(Qe), {
409
409
  show: j.value,
410
410
  "onUpdate:show": e[20] || (e[20] = (a) => j.value = a),
411
411
  options: ue.value
@@ -415,13 +415,13 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
415
415
  class: "mx-context-menu-item",
416
416
  onClick: e[8] || (e[8] = (a) => j.value = !1)
417
417
  }, [
418
- w("span", Xe, h(c.value.name), 1),
418
+ w("span", tl, h(c.value.name), 1),
419
419
  e[23] || (e[23] = w("div", { class: "expander" }, null, -1)),
420
420
  s(r, { "icon-class": "cross" })
421
421
  ]),
422
- s(t(Ge)),
423
- c.value.level === 2 ? (S(), z("div", _e, [
424
- s(t(Pe), {
422
+ s(t(Ke)),
423
+ c.value.level === 2 ? (S(), z("div", nl, [
424
+ s(t(Je), {
425
425
  modelValue: te.value,
426
426
  "onUpdate:modelValue": e[9] || (e[9] = (a) => te.value = a),
427
427
  size: "small"
@@ -465,12 +465,12 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
465
465
  "onUpdate:modelValue": e[12] || (e[12] = (a) => y.value = a),
466
466
  step: 1,
467
467
  min: 4,
468
- max: t(we)(k.value !== 1 ? 23 - k.value : 21, 4, 22)
468
+ max: t(be)(k.value !== 1 ? 23 - k.value : 21, 4, 22)
469
469
  }, null, 8, ["modelValue", "max"]),
470
470
  s(t(T), {
471
471
  style: { "margin-top": ".5rem" },
472
472
  size: "small",
473
- onClick: e[13] || (e[13] = (a) => De(c.value.ids))
473
+ onClick: e[13] || (e[13] = (a) => Te(c.value.ids))
474
474
  }, {
475
475
  default: m(() => [
476
476
  D(h(t(d)("workSchedule.fillOut")), 1)
@@ -480,14 +480,14 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
480
480
  s(t(T), {
481
481
  style: { "margin-top": ".5rem" },
482
482
  size: "small",
483
- onClick: e[14] || (e[14] = (a) => xe(c.value.ids))
483
+ onClick: e[14] || (e[14] = (a) => Ne(c.value.ids))
484
484
  }, {
485
485
  default: m(() => [
486
486
  D(h(t(d)("workSchedule.clearRow")), 1)
487
487
  ]),
488
488
  _: 1
489
489
  })
490
- ])) : (S(), z("div", el, [
490
+ ])) : (S(), z("div", ul, [
491
491
  w("div", null, h(he(c.value.day, c.value.ids)), 1),
492
492
  e[25] || (e[25] = w("br", null, null, -1)),
493
493
  w("span", null, h(t(d)("workSchedule.with")) + ":", 1),
@@ -505,13 +505,13 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
505
505
  "onUpdate:modelValue": e[17] || (e[17] = (a) => y.value = a),
506
506
  step: 1,
507
507
  min: 4,
508
- max: t(we)(k.value !== 1 ? 23 - k.value : 21, 4, 22),
508
+ max: t(be)(k.value !== 1 ? 23 - k.value : 21, 4, 22),
509
509
  onChange: e[18] || (e[18] = (a) => ce(c.value.day, c.value.ids))
510
510
  }, null, 8, ["modelValue", "max"]),
511
511
  s(t(T), {
512
512
  style: { "margin-top": ".5rem" },
513
513
  size: "small",
514
- onClick: e[19] || (e[19] = (a) => Ve(c.value.day, c.value.ids))
514
+ onClick: e[19] || (e[19] = (a) => Ae(c.value.day, c.value.ids))
515
515
  }, {
516
516
  default: m(() => [
517
517
  D(h(t(d)("workSchedule.delete")), 1)
@@ -527,5 +527,5 @@ const Le = { class: "work" }, Ze = { class: "nav" }, Je = { style: { height: "10
527
527
  }
528
528
  };
529
529
  export {
530
- dl as default
530
+ gl as default
531
531
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-west/employees",
3
- "version": "0.7.4",
3
+ "version": "0.7.6",
4
4
  "files": [
5
5
  "dist"
6
6
  ],