@studio-west/employees 0.6.57 → 0.6.59

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.
@@ -1,3 +1,3 @@
1
- "use strict";const e=require("vue"),be=require("vue-i18n"),c=require("./index-Dn3djtwj.cjs"),g=require("element-plus"),_=require("@imengyu/vue3-context-menu"),de=require("file-saver"),we=require("exceljs");function De(N){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(N){for(const s in N)if(s!=="default"){const M=Object.getOwnPropertyDescriptor(N,s);Object.defineProperty(y,s,M.get?M:{enumerable:!0,get:()=>N[s]})}}return y.default=N,Object.freeze(y)}const xe=De(we),$e={class:"nav"},ke={style:{height:"20px",width:"100%",display:"inline-block"}},Ne={style:{height:"20px",width:"100%",display:"inline-block"}},Ve={class:"label"},Se={key:0,style:{padding:"0 1rem .5rem"}},Te={key:1,style:{padding:"0 1rem .5rem"}},Ee={__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(N){const y=N,{t:s,d:M}=be.useI18n(),q=e.ref(!1),b=e.ref([]),H=e.ref("0"),p=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(H.value))),d=e.ref([]),V=e.ref([]),Z=e.ref("100%"),A=e.ref("true"),Q=e.ref([]),ve=e.ref([{value:"Я",label:s("sheet.valid.1")},{value:"К",label:s("sheet.valid.2")},{value:"ОТ",label:s("sheet.valid.3")},{value:"ДО",label:s("sheet.valid.4")},{value:"Р",label:s("sheet.valid.5")},{value:"ОЖ",label:s("sheet.valid.6")},{value:"Б",label:s("sheet.valid.7")},{value:"НН",label:s("sheet.valid.8")},{value:"ПР",label:s("sheet.valid.9")},{value:"У",label:s("sheet.valid.10")},{value:"УД",label:s("sheet.valid.11")},{value:"Г",label:s("sheet.valid.12")}]),ne=e.ref([]),ce=e.ref(0),x=e.ref(9),D=e.ref(8),I=e.ref(0),z=e.ref(0),O=e.ref([]),Y=e.ref(!1),P=e.ref(!1),ee=e.ref([]),j=e.ref([]),B=e.ref(!1),J=e.ref(!1),L=e.ref(1),oe=e.ref(null),le=e.ref({zIndex:3,minWidth:230,x:500,y:200}),v=e.ref({name:"",length:0,code:""}),$=e.ref([]),G=e.ref(""),R=e.ref("_____"),i=e.computed(()=>b.value.flatMap((t,l)=>{const m=$.value.find(n=>n.code===t.code),o=new Map;t.days.forEach(n=>o.set(n.day,{...n})),m&&m.days.forEach(n=>o.set(n.day,{...n}));const h=Array.from(o.values());return[{...t,days:h,key:0,ids:l,numberNonAppearing:[0,0]},{...t,days:h,key:1,ids:l,numberNonAppearing:[0,0]}]}));e.watch(V,async(t,l)=>{t!==l&&(O.value=[],y.odata.personal.forEach(m=>{t.includes(m.divisionName)&&(O.value.some(o=>(o==null?void 0:o.activeText)===m.roleName)||O.value.push({val:!0,activeText:m.roleName}))}),te())}),e.watch(H,t=>{p.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(t)),ue(),te()}),e.watch(D,()=>Y.value=B.value),e.watch(x,()=>Y.value=B.value),e.watch(L,()=>Y.value=B.value);const me=async(t,l,m,o)=>{if(console.log("row",t),console.log("column",l),l.level!==3||l.labelClassName==="turn"||l.no===15||l.no>d.value.length||!y.checkEdit)return"";v.value.ids=t.ids,v.value.key=t.key,v.value.day=l.no<15?l.no:l.no-1;const h=new Date(p.value),n=`${h.getFullYear()}-${(h.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`,a=$.value.findIndex(f=>f.code===t.code);v.value.id=a!==-1?$.value[a].days.findIndex(f=>(f==null?void 0:f.day)===n):a,x.value=typeof t.days[v.value.day].tips>"u"?9:parseInt(t.days[v.value.day].tips.match(/(\d{1,2})/)),I.value=typeof t.days[v.value.day].night>"u"?0:parseInt(t.days[v.value.day].night),z.value=typeof t.days[v.value.day].overtime>"u"?0:parseInt(t.days[v.value.day].overtime),D.value=t.days[v.value.day].time!=="-"?parseInt(t.days[v.value.day].time):8;const u=t.days.findIndex(f=>f.day===n);v.value.failure=t.days[u].state,le.value.y=o.clientY,le.value.x=o.clientX,v.value.rest=a!==-1&&v.value.id!==-1,v.value.name=c.byInitials(t.fio),B.value=!0,await e.nextTick(),Y.value=!1},K=t=>{const l=new Date(p.value),m=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`;let o=$.value.findIndex(C=>C.code===b.value[v.value.ids].code);v.value.id=o!==-1?$.value[o].days.findIndex(C=>(C==null?void 0:C.day)===`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`):o;let h=b.value[v.value.ids].days[v.value.day].state,n=t,a="-",u,f,w;switch(t){case"Я":h==="В"&&(n="РВ"),a=8;break;case"КВ":case"К":h==="В"||h==="КВ"?n="КВ":n="К";break;case"save":let C=W.value.split('"');n=C[1],Y.value=!1,C[2]!==""&&(a=D.value,w="("+C[2].split("(")[1],u=I.value,f=z.value)}t==="reset"?(n=h,$.value[o].days.splice(v.value.id,1)):o===-1?$.value.push({code:b.value[v.value.ids].code,days:[{day:m,state:n,time:a,night:u,overtime:f,tips:w}]}):v.value.id===-1?$.value[o].days.push({day:m,state:n,time:a,night:u,overtime:f,tips:w}):$.value[o].days[v.value.id]={day:m,state:n,time:a,night:u,overtime:f,tips:w},o=$.value.findIndex(C=>C.code===b.value[v.value.ids].code),y.workSchedule.addWorkSheet({date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}"),data:[{name:b.value[v.value.ids].fio,days:$.value[o].days,code:b.value[v.value.ids].code}]}),v.value.failure=n,L.value>1&&(L.value--,v.value.day++,K(n)),re()},W=e.computed(()=>{J.value=!1;let t=b.value[v.value.ids].days[v.value.day],l="";I.value=0,z.value=0;let m=D.value>=22?x.value+D.value+2:x.value+D.value+1,o=v.value.failure.split("/")[0];o=/^Н(?!Н$)С?$/.test(o)?t.state!=="В"?"Я":"РВ":o,/^(|Я|РВ)$/.test(o)&&((x.value<6||m>22)&&(l="Н",I.value=x.value<6?Math.min(6,m)-x.value:0,m<=6&&(I.value=D.value,o=""),m===7&&I.value>3&&I.value--,I.value+=Math.max(22,m)-22),D.value>t.time&&o!=="РВ"&&(l+="С",J.value=!0,z.value=D.value-t.time),/РВ/.test(o)&&(J.value=!0)),l.length>0&&o.length>0&&(l="/"+l);let h=`(${x.value}:00 - ${D.value>=22?x.value+D.value+2:x.value+D.value+1}:00)`,n=i.value[v.value.ids*2].days[v.value.day].time!=="-"?" "+D.value+" "+h:"";return'"'+o+l+'"'+n}),he=t=>{if(t.columnIndex<2||t.columnIndex>d.value.length+3&&t.columnIndex<d.value.length+9||t.columnIndex>d.value.length+11)return i.value[t.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},ue=()=>{const t=ne.value,l=new Date(p.value),m=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let o=[],h=0;for(let n=1;n<=m;n++){const a=c.parseTime(l.setDate(n),"{Y}-{m}-{dd}");h+=t.nowork.includes(a)||t.holidays.includes(a)?0:t.preholidays.includes(a)?7:8;let u=t.nowork.includes(a)?"nowork":t.holidays.includes(a)?"holiday":t.preholidays.includes(a)?"preholiday":"";o.push({day:n,holidays:u,weekday:M(new Date(l.getFullYear(),l.getMonth(),n),"day")})}return ce.value=h,d.value=o,y.odata.getPersonal({dismissed:"false"}).then(n=>{var a;V.value.length===0&&(V.value=[(a=n.find(u=>u.employeeName===y.fullName))==null?void 0:a.divisionName]),n.forEach(u=>{Q.value.some(f=>u.dismissalDate.length>0&&new Date(u.dismissalDate)<new Date(p.value)||(f==null?void 0:f.value)===u.divisionName)||Q.value.push({value:u.divisionName,label:u.divisionName,key:u.divisionName})})}),!0},te=()=>{b.value=[],j.value=[],ee.value=[],y.odata.personal.forEach(t=>{if(V.value.includes(t.divisionName)&&O.value.some(l=>l.val&&l.activeText===t.roleName)&&(t.dismissalDate.length===0||new Date(t.dismissalDate)>new Date(p.value))){let l=c.byInitials(t.employeeName);b.value.push({fio:t.employeeName,name:l+" ("+t.roleName+")",code:t.employeeKey,days:[],contHour:0,id:!1,employmentDate:c.parseTime(new Date(t.employmentDate),"{Y}-{m}-{dd}T00:00:00"),dismissalDate:t.dismissalDate})}t.employeeName===y.fullName&&(R.value=t.roleName)}),b.value.sort((t,l)=>t.fio<l.fio?-1:t.fio>l.fio?1:0),b.value.forEach((t,l)=>{t.ids=l,j.value.push(t.code)}),y.workSchedule.getUsersYear({code:j.value,year:new Date(p.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&ee.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),ge()})},ge=()=>{y.workSchedule.getWorkSheet({code:j.value,date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(t=>{$.value=[],t.forEach(l=>{l!==null&&$.value.push({code:l.code,days:l.data.days})}),y.workSchedule.getWorkSchedule({code:j.value,date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(l=>{l.forEach((m,o)=>{var n,a;if(m!==null){b.value[o].days=[],m.data.days.forEach(u=>u.state="Я");for(let u=1;u<=d.value.length;u++){let f=c.parseTime(new Date(p.value).setDate(u),"{Y}-{m}-{dd}");const w=(n=m.data)==null?void 0:n.days.findIndex(C=>C.day===f);w===-1?X(u,o,"-","В"):b.value[o].days.push((a=m.data)==null?void 0:a.days[w])}}else for(let u=1;u<=d.value.length;u++)d.value[u-1].holidays===""?X(u,o,8):d.value[u-1].holidays==="preholiday"?X(u,o,7):X(u,o,"-","В");const h=b.value[o];if(h.employmentDate||h.dismissalDate)for(let u=1;u<=d.value.length;u++){const f=new Date(new Date(p.value).setDate(u)),w=c.parseTime(f,"{Y}-{m}-{dd}"),C=h.employmentDate&&f<new Date(h.employmentDate),S=h.dismissalDate&&f>new Date(h.dismissalDate);if(C||S){const k=h.days.findIndex(E=>E.day===w);k!==-1&&(h.days[k].state="-",h.days[k].time="-")}}for(let u=1;u<=d.value.length;u++){let f=new Date(new Date(p.value).getFullYear(),new Date(p.value).getMonth(),u).getTime()+1e3;for(let w of ee.value){const{dateStart:C,dateEnd:S,code:k}=w;if(C&&S&&k===b.value[o].code){const E=new Date(c.parseDate(C)).getTime(),U=new Date(c.parseDate(S)).getTime();if(f>=E&&f<=U){const r=c.parseTime(new Date(p.value).setDate(u),"{Y}-{m}-{dd}"),F=b.value[o].days.findIndex(ae=>ae.day===r);F!==-1?b.value[o].days[F]={day:r,time:"-",state:"ОТ"}:b.value[o].days.push({day:r,time:"-",state:"ОТ"})}}}}}),re()})})},X=(t,l,m,o="Я")=>{const h=c.parseTime(new Date(p.value).setDate(t),"{Y}-{m}-{dd}");b.value[l].days.push({day:h,time:m,state:o})},re=()=>{i.value.forEach(t=>{t.hourI=0,t.hourII=0,t.halfII=0,t.halfI=0,t.weekend=0,t.weekendDays=0,t.overtime=0,t.night=0,t.appearing={code:"-",count:"-"};const l=Object.entries(t.days.reduce((n,a)=>{if(a.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(a.state)){const u=a.state;n[u]=(n[u]||0)+1}return n},{})).map(([n,a])=>({code:n,count:a}));t.numberNonAppearing=[l.reduce((n,a)=>n+a.count,0),0];const m=Math.ceil(l.length/2),o=l.slice(0,m),h=l.slice(m);t.key===0&&o.length>0&&(t.appearing={code:o.map(n=>n.code).join("/"),count:o.map(n=>n.count).join("/")}),t.key===1&&h.length>0&&(t.appearing={code:h.map(n=>n.code).join("/"),count:h.map(n=>n.count).join("/")});for(let n=0;n<t.days.length;n++)n<15&&t.days[n].time!=="-"&&(t.hourI+=Number(t.days[n].time),t.days[n].overtime&&(t.hourI+=Number(t.days[n].overtime)),t.halfI++),n>=15&&t.days[n].time!=="-"&&(t.days[n].overtime&&(t.hourII+=Number(t.days[n].overtime)),t.hourII+=Number(t.days[n].time),t.halfII++),t.days[n].night&&(t.night+=Number(t.days[n].night)),t.days[n].overtime&&(t.overtime+=Number(t.days[n].overtime)),/{|РВ|}/.test(t.days[n].state)&&(t.weekend+=Number(t.days[n].time)),t.days[n].state==="В"&&t.weekendDays++;t.contDays=t.halfI+t.halfII,t.contHour=t.hourI+t.hourII})},ie=(t,l)=>{var u,f,w,C,S,k,E;if(l===-1)return"";const m=i.value[l],o=new Date(p.value),h=`${o.getFullYear()}-${(o.getMonth()+1).toString().padStart(2,"0")}-${t.toString().padStart(2,"0")}`,n=m.days.findIndex(U=>U.day===h);let a=0;return(u=m.days[n])!=null&&u.night&&(a+=m.days[n].night),(f=m.days[n])!=null&&f.overtime&&(a+=m.days[n].overtime),n===-1?"":m.key===0?(w=m.days[n])==null?void 0:w.state:((C=m.days[n])==null?void 0:C.time)===0?a===0?"-":a:a===0||a===((S=m.days[n])==null?void 0:S.time)?(k=m.days[n])==null?void 0:k.time:`${(E=m.days[n])==null?void 0:E.time}/${a}`};y.group&&(V.value[0]=y.group),y.date&&(H.value=new Date(y.date+"T00:00:01").getMonth()),c.holidays().then(t=>{ne.value=t,ue()});const se=t=>new Date(p.value).getMonth()===new Date().getMonth()&&t===new Date().getDate()?" today":"",fe=()=>{let t=W.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/),l=b.value[v.value.ids].days[v.value.day+1].tips;return l=typeof l<"u"?l.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/):[0,9,18],Number(t[1])<Number(l[1])?`${t[1]}:00 по ${Number(t[1])+z.value}:00`:`${Number(t[2])-z.value}:00 по ${t[2]}:00`},ye=()=>{let t=/РВ/.test(W.value),l=t?W.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):fe();G.value=`<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${y.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${R.value} ${c.byInitials(y.fullName)}</div><p>${V.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${c.parseTime(new Date(p.value).setDate(v.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью _________________, прошу привлечь к ${t?"к работе в выходной день":"сверхурочной работе"}, ${c.parseTime(new Date(p.value).setDate(v.value.day+1),"{dd}.{m}.{Y}")} c ${l}, ${i.value[v.value.ids*2].name.match(/\(([^)]+)\)/)[1]} ${i.value[v.value.ids*2].fio} для выполнения вышеуказанных работ с его(её) письменного согласия.</p><p>${R.value} ________________ ${c.byInitials(y.fullName)}</p>`},pe=async()=>{var S,k,E,U;q.value=!0;const t=new xe.Workbook,l=t.addWorksheet(M(p.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),m={vertical:"middle",horizontal:"center"},o={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},h={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${c.cellsDynamically("A1",d.value.length+15)}1`),l.mergeCells("A2:A4"),l.mergeCells("B2:B4"),l.mergeCells("C2:C4"),l.mergeCells("D5:R5"),l.mergeCells(`D2:${c.cellsDynamically("D2",d.value.length+2)}2`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+3)}2:${c.cellsDynamically("D2",d.value.length+8)}2`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+9)}2:${c.cellsDynamically("D2",d.value.length+9)}4`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+10)}2:${c.cellsDynamically("D2",d.value.length+11)}2`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+12)}2:${c.cellsDynamically("D2",d.value.length+12)}4`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+3)}3:${c.cellsDynamically("D3",d.value.length+3)}4`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+4)}3:${c.cellsDynamically("D3",d.value.length+8)}3`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+10)}3:${c.cellsDynamically("D3",d.value.length+10)}4`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+11)}3:${c.cellsDynamically("D3",d.value.length+11)}4`),l.mergeCells(`T5:${c.cellsDynamically("D5",d.value.length+1)}5`);for(let r=1;r<=d.value.length+2;r++)l.mergeCells(`${c.cellsDynamically("D3",r)}3:${c.cellsDynamically("D4",r)}4`),l.getColumn(r+3).width=5,l.getColumn(r+3).alignment=h,l.getCell(3,r+3).border=o,r<16&&(l.getCell(3,r+3).value=r),r>16&&(l.getCell(3,r+3).value=r-1);l.getCell("A1").value=s("sheet.title",{name:V.value[0]})+M(p.value,"month"),l.getCell("A2").value=s("sheet.listNumber"),l.getCell("B2").value=s("sheet.employee"),l.getCell("C2").value=s("sheet.personnelNumber"),l.getCell("D2").value=s("sheet.marks"),l.getCell("S3").value=s("sheet.halfMonth",{half:"I"}),l.getCell("A5").value="1",l.getCell("B5").value="2",l.getCell("C5").value="3",l.getCell("D5").value="4",l.getCell("S5").value="5",l.getCell("T5").value="6",l.getCell(5,d.value.length+5).value="7",l.getCell(2,d.value.length+6).value=s("sheet.workedMonth"),l.getCell(2,d.value.length+12).value=s("sheet.numberNonAppearing"),l.getCell(2,d.value.length+13).value=s("sheet.them"),l.getCell(2,d.value.length+15).value=s("sheet.countWeekend"),l.getCell(3,d.value.length+5).value=s("sheet.halfMonth",{half:"II"}),l.getCell(3,d.value.length+6).value=s("sheet.days"),l.getCell(3,d.value.length+7).value=s("sheet.hours"),l.getCell(4,d.value.length+7).value=s("sheet.all"),l.getCell(4,d.value.length+8).value=s("sheet.overtime"),l.getCell(4,d.value.length+9).value=s("sheet.night"),l.getCell(4,d.value.length+10).value=s("sheet.weekend"),l.getCell(4,d.value.length+13).value=s("sheet.code"),l.getCell(4,d.value.length+14).value=s("sheet.count"),l.getRow(1).height=40,l.getRow(2).height=32,l.getRow(3).height=20,l.getRow(4).height=60,l.getColumn(1).width=6,l.getColumn(2).width=30,l.getColumn(3).width=17,l.getColumn(19).width=12,l.getColumn(d.value.length+5).width=12,l.getColumn(d.value.length+12).width=11,l.getColumn(d.value.length+15).width=11,l.getCell("A1").alignment=m,l.getColumn(1).alignment=h,l.getColumn(2).alignment=h,l.getColumn(3).alignment=h;for(let r=6;r<=15;r++)l.getCell(5,d.value.length+r).value=r+2,l.getColumn(d.value.length+r).alignment=h,l.getCell(4,d.value.length+r).border=o,l.getCell(5,d.value.length+r).border=o;l.getCell("A2").border=o,l.getCell("B2").border=o,l.getCell("C2").border=o,l.getCell("D2").border=o,l.getCell("D2").border=o,l.getCell("A5").border=o,l.getCell("B5").border=o,l.getCell("C5").border=o,l.getCell("D5").border=o,l.getCell("S5").border=o,l.getCell("T5").border=o,l.getCell(2,d.value.length+6).border=o,l.getCell(2,d.value.length+12).border=o,l.getCell(2,d.value.length+13).border=o,l.getCell(2,d.value.length+15).border=o,l.getCell(3,d.value.length+7).border=o;let n=1,a=5,u=!0;for(const r of i.value){let F=[n,r.name,r.code];for(let T=0;T<d.value.length;T++)T===15&&F.push(u?(r==null?void 0:r.halfI)||"":(r==null?void 0:r.hourI)||""),F.push(u?((S=r.days[T])==null?void 0:S.state)||"":((k=r.days[T])==null?void 0:k.time)||"");F.push(u?(r==null?void 0:r.halfII)||0:(r==null?void 0:r.hourII)||0,(r==null?void 0:r.contDays)||0,(r==null?void 0:r.contHour)||0,(r==null?void 0:r.overtime)||0,(r==null?void 0:r.night)||0,(r==null?void 0:r.weekend)||0,"",u?(r==null?void 0:r.numberNonAppearing[0])||"":(r==null?void 0:r.numberNonAppearing[1])||0,((E=r==null?void 0:r.appearing)==null?void 0:E.code)||"-",((U=r==null?void 0:r.appearing)==null?void 0:U.count)||"-",(r==null?void 0:r.weekendDays)||0);const ae=l.addRow(F);if(ae.border=o,!u){l.mergeCells(`A${a+n*2-1}:A${a+n*2}`),l.mergeCells(`B${a+n*2-1}:B${a+n*2}`),l.mergeCells(`C${a+n*2-1}:C${a+n*2}`);for(let T=d.value.length+3;T<=d.value.length+8;T++)l.mergeCells(`${c.cellsDynamically("D",T)}${a+n*2-1}:${c.cellsDynamically("D",T)}${a+n*2}`);l.mergeCells(`${c.cellsDynamically("D",d.value.length+12)}${a+n*2-1}:${c.cellsDynamically("D",d.value.length+12)}${a+n*2}`),n++}u=!u}let f="Чемарина Н. Ю.";y.odata.personal.forEach(r=>{r.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(f=r.employeeName)}),l.mergeCells(`A${i.value.length+7}:B${i.value.length+7}`),l.mergeCells(`C${i.value.length+7}:G${i.value.length+7}`),l.mergeCells(`H${i.value.length+7}:M${i.value.length+7}`),l.mergeCells(`O${i.value.length+7}:T${i.value.length+7}`),l.mergeCells(`V${i.value.length+7}:AC${i.value.length+7}`),l.mergeCells(`AD${i.value.length+7}:AI${i.value.length+7}`),l.mergeCells(`AJ${i.value.length+7}:AL${i.value.length+7}`),l.mergeCells(`AM${i.value.length+7}:AP${i.value.length+7}`),l.mergeCells(`V${i.value.length+9}:AC${i.value.length+9}`),l.mergeCells(`AD${i.value.length+9}:AI${i.value.length+9}`),l.mergeCells(`AJ${i.value.length+9}:AL${i.value.length+9}`),l.mergeCells(`AM${i.value.length+9}:AP${i.value.length+9}`),l.getCell(`A${i.value.length+7}`).value=s("sheet.responsiblePerson"),l.getCell(`V${i.value.length+7}`).value=s("sheet.headStructural"),l.getCell(`C${i.value.length+7}`).value=R.value+":",l.getCell(`O${i.value.length+7}`).value=c.byInitials(y.fullName),l.getCell(`AD${i.value.length+7}`).value=R.value+":",l.getCell(`AM${i.value.length+7}`).value=c.byInitials(y.fullName),l.getCell(`V${i.value.length+9}`).value=s("sheet.HREmployee"),l.getCell(`AD${i.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",l.getCell(`AM${i.value.length+9}`).value=c.byInitials(f),l.getCell(`A${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`C${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`O${i.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${i.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${i.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${i.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${i.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`H${i.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${i.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${i.value.length+9}`).border={bottom:{style:"thin"}};const w=`export_${c.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,C=await t.xlsx.writeBuffer();de.saveAs(new Blob([C]),w),q.value=!1},Ce=()=>{let t=new Blob([G.value],{type:"text/plain;charset=utf-8"});de.saveAs(t,`Служебка_${c.byInitials(i.value[v.value.ids*2].fio)}_${c.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(t,l)=>{const m=e.resolveComponent("el-form-item"),o=e.resolveComponent("svg-icon"),h=e.resolveComponent("el-slider"),n=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",$e,[N.checkEdit?(e.openBlock(),e.createBlock(e.unref(g.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","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,a=>(e.openBlock(),e.createBlock(e.unref(g.ElOption),{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),N.checkEdit?(e.openBlock(),e.createBlock(e.unref(g.ElButton),{key:1,plain:"",onClick:l[1]||(l[1]=a=>P.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),l[19]||(l[19]=e.createElementVNode("div",{class:"expander"},null,-1)),N.checkEdit?(e.openBlock(),e.createBlock(e.unref(g.ElSwitch),{key:2,modelValue:H.value,"onUpdate:modelValue":l[2]||(l[2]=a=>H.value=a),"active-text":e.unref(s)("workSchedule.currentMonth"),"active-value":"0","inactive-value":"-1",style:{"margin-bottom":".5rem","margin-left":".5rem"}},null,8,["modelValue","active-text"])):e.createCommentVNode("",!0),e.createVNode(e.unref(g.ElSwitch),{modelValue:Z.value,"onUpdate:modelValue":l[3]||(l[3]=a=>Z.value=a),"active-text":t.$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(g.ElSwitch),{modelValue:A.value,"onUpdate:modelValue":l[4]||(l[4]=a=>A.value=a),"active-text":t.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(g.ElTable),{id:"printTable",data:i.value,"span-method":he,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(s)("sheet.emptyText"),align:"center",onCellClick:me,"max-height":Z.value,"default-sort":{prop:"mame",order:"descending"}},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.title",{name:V.value[0]})+e.unref(M)(p.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.employee"),width:A.value==="false"?180:t.auto,align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.day},[a.day<=15?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:0,width:"39","class-name":a.holidays+se(a.day),align:"center",label:a.day.toString()+`
1
+ "use strict";const e=require("vue"),be=require("vue-i18n"),c=require("./index-Dn3djtwj.cjs"),g=require("element-plus"),_=require("@imengyu/vue3-context-menu"),de=require("file-saver"),we=require("exceljs");function De(N){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(N){for(const s in N)if(s!=="default"){const M=Object.getOwnPropertyDescriptor(N,s);Object.defineProperty(y,s,M.get?M:{enumerable:!0,get:()=>N[s]})}}return y.default=N,Object.freeze(y)}const xe=De(we),$e={class:"nav"},ke={style:{height:"20px",width:"100%",display:"inline-block"}},Ne={style:{height:"20px",width:"100%",display:"inline-block"}},Ve={class:"label"},Se={key:0,style:{padding:"0 1rem .5rem"}},Te={key:1,style:{padding:"0 1rem .5rem"}},Ee={__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(N){const y=N,{t:s,d:M}=be.useI18n(),q=e.ref(!1),b=e.ref([]),H=e.ref("0"),p=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(H.value))),d=e.ref([]),V=e.ref([]),Z=e.ref("100%"),A=e.ref("true"),Q=e.ref([]),ve=e.ref([{value:"Я",label:s("sheet.valid.1")},{value:"К",label:s("sheet.valid.2")},{value:"ОТ",label:s("sheet.valid.3")},{value:"ДО",label:s("sheet.valid.4")},{value:"Р",label:s("sheet.valid.5")},{value:"ОЖ",label:s("sheet.valid.6")},{value:"Б",label:s("sheet.valid.7")},{value:"НН",label:s("sheet.valid.8")},{value:"ПР",label:s("sheet.valid.9")},{value:"У",label:s("sheet.valid.10")},{value:"УД",label:s("sheet.valid.11")},{value:"Г",label:s("sheet.valid.12")}]),ne=e.ref([]),ce=e.ref(0),x=e.ref(9),D=e.ref(8),I=e.ref(0),z=e.ref(0),O=e.ref([]),Y=e.ref(!1),P=e.ref(!1),ee=e.ref([]),j=e.ref([]),B=e.ref(!1),J=e.ref(!1),L=e.ref(1),oe=e.ref(null),le=e.ref({zIndex:3,minWidth:230,x:500,y:200}),v=e.ref({name:"",length:0,code:""}),$=e.ref([]),G=e.ref(""),R=e.ref("_____"),i=e.computed(()=>b.value.flatMap((t,l)=>{const m=$.value.find(n=>n.code===t.code),o=new Map;t.days.forEach(n=>o.set(n.day,{...n})),m&&m.days.forEach(n=>o.set(n.day,{...n}));const h=Array.from(o.values());return[{...t,days:h,key:0,ids:l,numberNonAppearing:[0,0]},{...t,days:h,key:1,ids:l,numberNonAppearing:[0,0]}]}));e.watch(V,async(t,l)=>{t!==l&&(O.value=[],y.odata.personal.forEach(m=>{t.includes(m.divisionName)&&(O.value.some(o=>(o==null?void 0:o.activeText)===m.roleName)||O.value.push({val:!0,activeText:m.roleName}))}),te())}),e.watch(H,t=>{p.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(t)),ue(),te()}),e.watch(D,()=>Y.value=B.value),e.watch(x,()=>Y.value=B.value),e.watch(L,()=>Y.value=B.value);const me=async(t,l,m,o)=>{if(console.log("row",t),console.log("column",l),l.level!==3||l.labelClassName==="turn"||l.no===15||l.no>d.value.length||!y.checkEdit)return"";v.value.ids=t.ids,v.value.key=t.key,v.value.day=l.no<15?l.no:l.no-1;const h=new Date(p.value),n=`${h.getFullYear()}-${(h.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`,a=$.value.findIndex(f=>f.code===t.code);v.value.id=a!==-1?$.value[a].days.findIndex(f=>(f==null?void 0:f.day)===n):a,x.value=typeof t.days[v.value.day].tips>"u"?9:parseInt(t.days[v.value.day].tips.match(/(\d{1,2})/)),I.value=typeof t.days[v.value.day].night>"u"?0:parseInt(t.days[v.value.day].night),z.value=typeof t.days[v.value.day].overtime>"u"?0:parseInt(t.days[v.value.day].overtime),D.value=t.days[v.value.day].time!=="-"?parseInt(t.days[v.value.day].time):8;const u=t.days.findIndex(f=>f.day===n);v.value.failure=t.days[u].state,le.value.y=o.clientY,le.value.x=o.clientX,v.value.rest=a!==-1&&v.value.id!==-1,v.value.name=c.byInitials(t.fio),B.value=!0,await e.nextTick(),Y.value=!1},K=t=>{const l=new Date(p.value),m=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`;let o=$.value.findIndex(C=>C.code===b.value[v.value.ids].code);v.value.id=o!==-1?$.value[o].days.findIndex(C=>(C==null?void 0:C.day)===`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`):o;let h=b.value[v.value.ids].days[v.value.day].state,n=t,a="-",u,f,w;switch(t){case"Я":h==="В"&&(n="РВ"),a=8;break;case"КВ":case"К":h==="В"||h==="КВ"?n="КВ":n="К";break;case"save":let C=W.value.split('"');n=C[1],Y.value=!1,C[2]!==""&&(a=D.value,w="("+C[2].split("(")[1],u=I.value,f=z.value)}t==="reset"?(n=h,$.value[o].days.splice(v.value.id,1)):o===-1?$.value.push({code:b.value[v.value.ids].code,days:[{day:m,state:n,time:a,night:u,overtime:f,tips:w}]}):v.value.id===-1?$.value[o].days.push({day:m,state:n,time:a,night:u,overtime:f,tips:w}):$.value[o].days[v.value.id]={day:m,state:n,time:a,night:u,overtime:f,tips:w},o=$.value.findIndex(C=>C.code===b.value[v.value.ids].code),y.workSchedule.addWorkSheet({date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}"),data:[{name:b.value[v.value.ids].fio,days:$.value[o].days,code:b.value[v.value.ids].code}]}),v.value.failure=n,L.value>1&&(L.value--,v.value.day++,K(n)),re()},W=e.computed(()=>{J.value=!1;let t=b.value[v.value.ids].days[v.value.day],l="";I.value=0,z.value=0;let m=D.value>=22?x.value+D.value+2:x.value+D.value+1,o=v.value.failure.split("/")[0];o=/^Н(?!Н$)С?$/.test(o)?t.state!=="В"?"Я":"РВ":o,/^(|Я|РВ)$/.test(o)&&((x.value<6||m>22)&&(l="Н",I.value=x.value<6?Math.min(6,m)-x.value:0,m<=6&&(I.value=D.value,o=""),m===7&&I.value>3&&I.value--,I.value+=Math.max(22,m)-22),D.value>t.time&&o!=="РВ"&&(l+="С",J.value=!0,z.value=D.value-t.time),/РВ/.test(o)&&(J.value=!0)),l.length>0&&o.length>0&&(l="/"+l);let h=`(${x.value}:00 - ${D.value>=22?x.value+D.value+2:x.value+D.value+1}:00)`,n=i.value[v.value.ids*2].days[v.value.day].time!=="-"?" "+D.value+" "+h:"";return'"'+o+l+'"'+n}),he=t=>{if(t.columnIndex<2||t.columnIndex>d.value.length+3&&t.columnIndex<d.value.length+9||t.columnIndex>d.value.length+11)return i.value[t.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},ue=()=>{const t=ne.value,l=new Date(p.value),m=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let o=[],h=0;for(let n=1;n<=m;n++){const a=c.parseTime(l.setDate(n),"{Y}-{m}-{dd}");h+=t.nowork.includes(a)||t.holidays.includes(a)?0:t.preholidays.includes(a)?7:8;let u=t.nowork.includes(a)?"nowork":t.holidays.includes(a)?"holiday":t.preholidays.includes(a)?"preholiday":"";o.push({day:n,holidays:u,weekday:M(new Date(l.getFullYear(),l.getMonth(),n),"day")})}return ce.value=h,d.value=o,y.odata.getPersonal({dismissed:"false"}).then(n=>{var a;V.value.length===0&&(V.value=[(a=n.find(u=>u.employeeName===y.fullName))==null?void 0:a.divisionName]),n.forEach(u=>{Q.value.some(f=>u.dismissalDate.length>0&&new Date(u.dismissalDate)<new Date(p.value)||(f==null?void 0:f.value)===u.divisionName)||Q.value.push({value:u.divisionName,label:u.divisionName,key:u.divisionName})})}),!0},te=()=>{b.value=[],j.value=[],ee.value=[],y.odata.personal.forEach(t=>{if(V.value.includes(t.divisionName)&&O.value.some(l=>l.val&&l.activeText===t.roleName)&&(t.dismissalDate.length===0||new Date(t.dismissalDate)>new Date(p.value))){let l=c.byInitials(t.employeeName);b.value.push({fio:t.employeeName,name:l+" ("+t.roleName+")",code:t.employeeKey,days:[],contHour:0,id:!1,employmentDate:c.parseTime(new Date(t.employmentDate),"{Y}-{m}-{dd}T00:00:00"),dismissalDate:t.dismissalDate})}t.employeeName===y.fullName&&(R.value=t.roleName)}),b.value.sort((t,l)=>t.fio<l.fio?-1:t.fio>l.fio?1:0),b.value.forEach((t,l)=>{t.ids=l,j.value.push(t.code)}),y.workSchedule.getUsersYear({code:j.value,year:new Date(p.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&ee.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),ge()})},ge=()=>{y.workSchedule.getWorkSheet({code:j.value,date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(t=>{$.value=[],t.forEach(l=>{l!==null&&$.value.push({code:l.code,days:l.data.days})}),y.workSchedule.getWorkSchedule({code:j.value,date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(l=>{l.forEach((m,o)=>{var n,a;if(m!==null){b.value[o].days=[],m.data.days.forEach(u=>u.state="Я");for(let u=1;u<=d.value.length;u++){let f=c.parseTime(new Date(p.value).setDate(u),"{Y}-{m}-{dd}");const w=(n=m.data)==null?void 0:n.days.findIndex(C=>C.day===f);w===-1?X(u,o,"-","В"):b.value[o].days.push((a=m.data)==null?void 0:a.days[w])}}else for(let u=1;u<=d.value.length;u++)d.value[u-1].holidays===""?X(u,o,8):d.value[u-1].holidays==="preholiday"?X(u,o,7):X(u,o,"-","В");const h=b.value[o];if(h.employmentDate||h.dismissalDate)for(let u=1;u<=d.value.length;u++){const f=new Date(new Date(p.value).setDate(u)),w=c.parseTime(f,"{Y}-{m}-{dd}"),C=h.employmentDate&&f<new Date(h.employmentDate),S=h.dismissalDate&&f>=new Date(h.dismissalDate).setSeconds(0);if(C||S){const k=h.days.findIndex(E=>E.day===w);k!==-1&&(h.days[k].state="-",h.days[k].time="-")}}for(let u=1;u<=d.value.length;u++){let f=new Date(new Date(p.value).getFullYear(),new Date(p.value).getMonth(),u).getTime()+1e3;for(let w of ee.value){const{dateStart:C,dateEnd:S,code:k}=w;if(C&&S&&k===b.value[o].code){const E=new Date(c.parseDate(C)).getTime(),U=new Date(c.parseDate(S)).getTime();if(f>=E&&f<=U){const r=c.parseTime(new Date(p.value).setDate(u),"{Y}-{m}-{dd}"),F=b.value[o].days.findIndex(ae=>ae.day===r);F!==-1?b.value[o].days[F]={day:r,time:"-",state:"ОТ"}:b.value[o].days.push({day:r,time:"-",state:"ОТ"})}}}}}),re()})})},X=(t,l,m,o="Я")=>{const h=c.parseTime(new Date(p.value).setDate(t),"{Y}-{m}-{dd}");b.value[l].days.push({day:h,time:m,state:o})},re=()=>{i.value.forEach(t=>{t.hourI=0,t.hourII=0,t.halfII=0,t.halfI=0,t.weekend=0,t.weekendDays=0,t.overtime=0,t.night=0,t.appearing={code:"-",count:"-"};const l=Object.entries(t.days.reduce((n,a)=>{if(a.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(a.state)){const u=a.state;n[u]=(n[u]||0)+1}return n},{})).map(([n,a])=>({code:n,count:a}));t.numberNonAppearing=[l.reduce((n,a)=>n+a.count,0),0];const m=Math.ceil(l.length/2),o=l.slice(0,m),h=l.slice(m);t.key===0&&o.length>0&&(t.appearing={code:o.map(n=>n.code).join("/"),count:o.map(n=>n.count).join("/")}),t.key===1&&h.length>0&&(t.appearing={code:h.map(n=>n.code).join("/"),count:h.map(n=>n.count).join("/")});for(let n=0;n<t.days.length;n++)n<15&&t.days[n].time!=="-"&&(t.hourI+=Number(t.days[n].time),t.days[n].overtime&&(t.hourI+=Number(t.days[n].overtime)),t.halfI++),n>=15&&t.days[n].time!=="-"&&(t.days[n].overtime&&(t.hourII+=Number(t.days[n].overtime)),t.hourII+=Number(t.days[n].time),t.halfII++),t.days[n].night&&(t.night+=Number(t.days[n].night)),t.days[n].overtime&&(t.overtime+=Number(t.days[n].overtime)),/{|РВ|}/.test(t.days[n].state)&&(t.weekend+=Number(t.days[n].time)),t.days[n].state==="В"&&t.weekendDays++;t.contDays=t.halfI+t.halfII,t.contHour=t.hourI+t.hourII})},ie=(t,l)=>{var u,f,w,C,S,k,E;if(l===-1)return"";const m=i.value[l],o=new Date(p.value),h=`${o.getFullYear()}-${(o.getMonth()+1).toString().padStart(2,"0")}-${t.toString().padStart(2,"0")}`,n=m.days.findIndex(U=>U.day===h);let a=0;return(u=m.days[n])!=null&&u.night&&(a+=m.days[n].night),(f=m.days[n])!=null&&f.overtime&&(a+=m.days[n].overtime),n===-1?"":m.key===0?(w=m.days[n])==null?void 0:w.state:((C=m.days[n])==null?void 0:C.time)===0?a===0?"-":a:a===0||a===((S=m.days[n])==null?void 0:S.time)?(k=m.days[n])==null?void 0:k.time:`${(E=m.days[n])==null?void 0:E.time}/${a}`};y.group&&(V.value[0]=y.group),y.date&&(H.value=new Date(y.date+"T00:00:01").getMonth()),c.holidays().then(t=>{ne.value=t,ue()});const se=t=>new Date(p.value).getMonth()===new Date().getMonth()&&t===new Date().getDate()?" today":"",fe=()=>{let t=W.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/),l=b.value[v.value.ids].days[v.value.day+1].tips;return l=typeof l<"u"?l.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/):[0,9,18],Number(t[1])<Number(l[1])?`${t[1]}:00 по ${Number(t[1])+z.value}:00`:`${Number(t[2])-z.value}:00 по ${t[2]}:00`},ye=()=>{let t=/РВ/.test(W.value),l=t?W.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):fe();G.value=`<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${y.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Пунину Д. В.<br><br>от ${R.value} ${c.byInitials(y.fullName)}</div><p>${V.value[0]}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${c.parseTime(new Date(p.value).setDate(v.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Дмитрий Владимирович!</p><p>В связи с производственной необходимостью _________________, прошу привлечь к ${t?"к работе в выходной день":"сверхурочной работе"}, ${c.parseTime(new Date(p.value).setDate(v.value.day+1),"{dd}.{m}.{Y}")} c ${l}, ${i.value[v.value.ids*2].name.match(/\(([^)]+)\)/)[1]} ${i.value[v.value.ids*2].fio} для выполнения вышеуказанных работ с его(её) письменного согласия.</p><p>${R.value} ________________ ${c.byInitials(y.fullName)}</p>`},pe=async()=>{var S,k,E,U;q.value=!0;const t=new xe.Workbook,l=t.addWorksheet(M(p.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),m={vertical:"middle",horizontal:"center"},o={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},h={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${c.cellsDynamically("A1",d.value.length+15)}1`),l.mergeCells("A2:A4"),l.mergeCells("B2:B4"),l.mergeCells("C2:C4"),l.mergeCells("D5:R5"),l.mergeCells(`D2:${c.cellsDynamically("D2",d.value.length+2)}2`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+3)}2:${c.cellsDynamically("D2",d.value.length+8)}2`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+9)}2:${c.cellsDynamically("D2",d.value.length+9)}4`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+10)}2:${c.cellsDynamically("D2",d.value.length+11)}2`),l.mergeCells(`${c.cellsDynamically("D2",d.value.length+12)}2:${c.cellsDynamically("D2",d.value.length+12)}4`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+3)}3:${c.cellsDynamically("D3",d.value.length+3)}4`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+4)}3:${c.cellsDynamically("D3",d.value.length+8)}3`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+10)}3:${c.cellsDynamically("D3",d.value.length+10)}4`),l.mergeCells(`${c.cellsDynamically("D3",d.value.length+11)}3:${c.cellsDynamically("D3",d.value.length+11)}4`),l.mergeCells(`T5:${c.cellsDynamically("D5",d.value.length+1)}5`);for(let r=1;r<=d.value.length+2;r++)l.mergeCells(`${c.cellsDynamically("D3",r)}3:${c.cellsDynamically("D4",r)}4`),l.getColumn(r+3).width=5,l.getColumn(r+3).alignment=h,l.getCell(3,r+3).border=o,r<16&&(l.getCell(3,r+3).value=r),r>16&&(l.getCell(3,r+3).value=r-1);l.getCell("A1").value=s("sheet.title",{name:V.value[0]})+M(p.value,"month"),l.getCell("A2").value=s("sheet.listNumber"),l.getCell("B2").value=s("sheet.employee"),l.getCell("C2").value=s("sheet.personnelNumber"),l.getCell("D2").value=s("sheet.marks"),l.getCell("S3").value=s("sheet.halfMonth",{half:"I"}),l.getCell("A5").value="1",l.getCell("B5").value="2",l.getCell("C5").value="3",l.getCell("D5").value="4",l.getCell("S5").value="5",l.getCell("T5").value="6",l.getCell(5,d.value.length+5).value="7",l.getCell(2,d.value.length+6).value=s("sheet.workedMonth"),l.getCell(2,d.value.length+12).value=s("sheet.numberNonAppearing"),l.getCell(2,d.value.length+13).value=s("sheet.them"),l.getCell(2,d.value.length+15).value=s("sheet.countWeekend"),l.getCell(3,d.value.length+5).value=s("sheet.halfMonth",{half:"II"}),l.getCell(3,d.value.length+6).value=s("sheet.days"),l.getCell(3,d.value.length+7).value=s("sheet.hours"),l.getCell(4,d.value.length+7).value=s("sheet.all"),l.getCell(4,d.value.length+8).value=s("sheet.overtime"),l.getCell(4,d.value.length+9).value=s("sheet.night"),l.getCell(4,d.value.length+10).value=s("sheet.weekend"),l.getCell(4,d.value.length+13).value=s("sheet.code"),l.getCell(4,d.value.length+14).value=s("sheet.count"),l.getRow(1).height=40,l.getRow(2).height=32,l.getRow(3).height=20,l.getRow(4).height=60,l.getColumn(1).width=6,l.getColumn(2).width=30,l.getColumn(3).width=17,l.getColumn(19).width=12,l.getColumn(d.value.length+5).width=12,l.getColumn(d.value.length+12).width=11,l.getColumn(d.value.length+15).width=11,l.getCell("A1").alignment=m,l.getColumn(1).alignment=h,l.getColumn(2).alignment=h,l.getColumn(3).alignment=h;for(let r=6;r<=15;r++)l.getCell(5,d.value.length+r).value=r+2,l.getColumn(d.value.length+r).alignment=h,l.getCell(4,d.value.length+r).border=o,l.getCell(5,d.value.length+r).border=o;l.getCell("A2").border=o,l.getCell("B2").border=o,l.getCell("C2").border=o,l.getCell("D2").border=o,l.getCell("D2").border=o,l.getCell("A5").border=o,l.getCell("B5").border=o,l.getCell("C5").border=o,l.getCell("D5").border=o,l.getCell("S5").border=o,l.getCell("T5").border=o,l.getCell(2,d.value.length+6).border=o,l.getCell(2,d.value.length+12).border=o,l.getCell(2,d.value.length+13).border=o,l.getCell(2,d.value.length+15).border=o,l.getCell(3,d.value.length+7).border=o;let n=1,a=5,u=!0;for(const r of i.value){let F=[n,r.name,r.code];for(let T=0;T<d.value.length;T++)T===15&&F.push(u?(r==null?void 0:r.halfI)||"":(r==null?void 0:r.hourI)||""),F.push(u?((S=r.days[T])==null?void 0:S.state)||"":((k=r.days[T])==null?void 0:k.time)||"");F.push(u?(r==null?void 0:r.halfII)||0:(r==null?void 0:r.hourII)||0,(r==null?void 0:r.contDays)||0,(r==null?void 0:r.contHour)||0,(r==null?void 0:r.overtime)||0,(r==null?void 0:r.night)||0,(r==null?void 0:r.weekend)||0,"",u?(r==null?void 0:r.numberNonAppearing[0])||"":(r==null?void 0:r.numberNonAppearing[1])||0,((E=r==null?void 0:r.appearing)==null?void 0:E.code)||"-",((U=r==null?void 0:r.appearing)==null?void 0:U.count)||"-",(r==null?void 0:r.weekendDays)||0);const ae=l.addRow(F);if(ae.border=o,!u){l.mergeCells(`A${a+n*2-1}:A${a+n*2}`),l.mergeCells(`B${a+n*2-1}:B${a+n*2}`),l.mergeCells(`C${a+n*2-1}:C${a+n*2}`);for(let T=d.value.length+3;T<=d.value.length+8;T++)l.mergeCells(`${c.cellsDynamically("D",T)}${a+n*2-1}:${c.cellsDynamically("D",T)}${a+n*2}`);l.mergeCells(`${c.cellsDynamically("D",d.value.length+12)}${a+n*2-1}:${c.cellsDynamically("D",d.value.length+12)}${a+n*2}`),n++}u=!u}let f="Чемарина Н. Ю.";y.odata.personal.forEach(r=>{r.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(f=r.employeeName)}),l.mergeCells(`A${i.value.length+7}:B${i.value.length+7}`),l.mergeCells(`C${i.value.length+7}:G${i.value.length+7}`),l.mergeCells(`H${i.value.length+7}:M${i.value.length+7}`),l.mergeCells(`O${i.value.length+7}:T${i.value.length+7}`),l.mergeCells(`V${i.value.length+7}:AC${i.value.length+7}`),l.mergeCells(`AD${i.value.length+7}:AI${i.value.length+7}`),l.mergeCells(`AJ${i.value.length+7}:AL${i.value.length+7}`),l.mergeCells(`AM${i.value.length+7}:AP${i.value.length+7}`),l.mergeCells(`V${i.value.length+9}:AC${i.value.length+9}`),l.mergeCells(`AD${i.value.length+9}:AI${i.value.length+9}`),l.mergeCells(`AJ${i.value.length+9}:AL${i.value.length+9}`),l.mergeCells(`AM${i.value.length+9}:AP${i.value.length+9}`),l.getCell(`A${i.value.length+7}`).value=s("sheet.responsiblePerson"),l.getCell(`V${i.value.length+7}`).value=s("sheet.headStructural"),l.getCell(`C${i.value.length+7}`).value=R.value+":",l.getCell(`O${i.value.length+7}`).value=c.byInitials(y.fullName),l.getCell(`AD${i.value.length+7}`).value=R.value+":",l.getCell(`AM${i.value.length+7}`).value=c.byInitials(y.fullName),l.getCell(`V${i.value.length+9}`).value=s("sheet.HREmployee"),l.getCell(`AD${i.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",l.getCell(`AM${i.value.length+9}`).value=c.byInitials(f),l.getCell(`A${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`C${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`O${i.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${i.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${i.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${i.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${i.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${i.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`H${i.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${i.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${i.value.length+9}`).border={bottom:{style:"thin"}};const w=`export_${c.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,C=await t.xlsx.writeBuffer();de.saveAs(new Blob([C]),w),q.value=!1},Ce=()=>{let t=new Blob([G.value],{type:"text/plain;charset=utf-8"});de.saveAs(t,`Служебка_${c.byInitials(i.value[v.value.ids*2].fio)}_${c.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(t,l)=>{const m=e.resolveComponent("el-form-item"),o=e.resolveComponent("svg-icon"),h=e.resolveComponent("el-slider"),n=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",$e,[N.checkEdit?(e.openBlock(),e.createBlock(e.unref(g.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","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Q.value,a=>(e.openBlock(),e.createBlock(e.unref(g.ElOption),{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),N.checkEdit?(e.openBlock(),e.createBlock(e.unref(g.ElButton),{key:1,plain:"",onClick:l[1]||(l[1]=a=>P.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),l[19]||(l[19]=e.createElementVNode("div",{class:"expander"},null,-1)),N.checkEdit?(e.openBlock(),e.createBlock(e.unref(g.ElSwitch),{key:2,modelValue:H.value,"onUpdate:modelValue":l[2]||(l[2]=a=>H.value=a),"active-text":e.unref(s)("workSchedule.currentMonth"),"active-value":"0","inactive-value":"-1",style:{"margin-bottom":".5rem","margin-left":".5rem"}},null,8,["modelValue","active-text"])):e.createCommentVNode("",!0),e.createVNode(e.unref(g.ElSwitch),{modelValue:Z.value,"onUpdate:modelValue":l[3]||(l[3]=a=>Z.value=a),"active-text":t.$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(g.ElSwitch),{modelValue:A.value,"onUpdate:modelValue":l[4]||(l[4]=a=>A.value=a),"active-text":t.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(g.ElTable),{id:"printTable",data:i.value,"span-method":he,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(s)("sheet.emptyText"),align:"center",onCellClick:me,"max-height":Z.value,"default-sort":{prop:"mame",order:"descending"}},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.title",{name:V.value[0]})+e.unref(M)(p.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.employee"),width:A.value==="false"?180:t.auto,align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,a=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:a.day},[a.day<=15?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:0,width:"39","class-name":a.holidays+se(a.day),align:"center",label:a.day.toString()+`
2
2
  `+a.weekday},{default:e.withCtx(u=>[e.createElementVNode("div",ke,e.toDisplayString(ie(a.day,u.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0),a.day===15?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:1,label:e.unref(s)("sheet.halfMonth",{half:"I"}),align:"center",width:"120"},{default:e.withCtx(u=>[e.createTextVNode(e.toDisplayString(i.value[u.$index].key===0?i.value[u.$index].halfI:i.value[u.$index].hourI),1)]),_:1},8,["label"])):e.createCommentVNode("",!0),a.day>15?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:2,width:"39","class-name":a.holidays+se(a.day),align:"center",label:a.day.toString()+`
3
3
  `+a.weekday},{default:e.withCtx(u=>[e.createElementVNode("div",Ne,e.toDisplayString(ie(a.day,u.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0)],64))),128)),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.halfMonth",{half:"II"}),align:"center",width:"120"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].key===0?i.value[a.$index].halfII:i.value[a.$index].hourII),1)]),_:1},8,["label"])]),_:1},8,["label"]),A.value==="false"?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:0,label:e.unref(s)("sheet.workedMonth"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.days"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].contDays),1)]),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.hours"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.all"),align:"center","label-class-name":"turn",width:"40"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].contHour),1)]),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.overtime"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].overtime),1)]),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.night"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].night),1)]),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.weekend"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$index].weekend),1)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),A.value==="false"?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:1,label:e.unref(s)("sheet.numberNonAppearing"),align:"center"},{default:e.withCtx(a=>{var u;return[e.createTextVNode(e.toDisplayString((u=i.value[a.$index])==null?void 0:u.numberNonAppearing[i.value[a.$index].key]),1)]}),_:1},8,["label"])):e.createCommentVNode("",!0),A.value==="false"?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:2,label:e.unref(s)("sheet.them"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.code"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(a=>{var u;return[e.createTextVNode(e.toDisplayString((u=i.value[a.$index].appearing)==null?void 0:u.code),1)]}),_:1},8,["label"]),e.createVNode(e.unref(g.ElTableColumn),{label:e.unref(s)("sheet.count"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(a=>{var u;return[e.createTextVNode(e.toDisplayString((u=i.value[a.$index].appearing)==null?void 0:u.count),1)]}),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),A.value==="false"?(e.openBlock(),e.createBlock(e.unref(g.ElTableColumn),{key:3,label:e.unref(s)("sheet.countWeekend"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(i.value[a.$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(g.ElButton),{disabled:q.value,plain:"",onClick:pe,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[n,q.value]]),e.createVNode(e.unref(g.ElDialog),{title:e.unref(s)("workSchedule.jobTitle"),modelValue:P.value,"onUpdate:modelValue":l[7]||(l[7]=a=>P.value=a),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(g.ElButton),{onClick:l[5]||(l[5]=a=>P.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(g.ElButton),{size:"default",type:"primary",onClick:l[6]||(l[6]=a=>{te(),P.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(g.ElForm),{ref:"dialogForm",model:O.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(O.value,a=>(e.openBlock(),e.createBlock(m,null,{default:e.withCtx(()=>[e.createVNode(e.unref(g.ElSwitch),{modelValue:a.val,"onUpdate:modelValue":u=>a.val=u,"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:B.value,"onUpdate:show":l[16]||(l[16]=a=>B.value=a),options:le.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:l[8]||(l[8]=a=>B.value=!1)},[e.createElementVNode("span",Ve,e.toDisplayString(v.value.name),1),l[20]||(l[20]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(o,{"icon-class":"cross"})]),e.createVNode(e.unref(_.ContextMenuSeparator)),e.createElementVNode("div",null,[e.createElementVNode("div",null,[e.createVNode(e.unref(_.ContextMenuGroup),{label:W.value,style:{padding:"0 0 .5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(ve.value,a=>(e.openBlock(),e.createBlock(e.unref(_.ContextMenuItem),{key:a.value,label:a.label,onClick:u=>{v.value.rest=!0,Y.value=!1,K(a.value)},clickClose:!1},null,8,["label","onClick"]))),128))]),_:1},8,["label"])]),/^(РВ|Я|Н(?![Н])).*$/.test(v.value.failure)?(e.openBlock(),e.createElementBlock("div",Se,[e.createVNode(e.unref(_.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(s)("workSchedule.with"))+":",1)]),_:1}),e.createVNode(h,{modelValue:x.value,"onUpdate:modelValue":l[9]||(l[9]=a=>x.value=a),step:1,min:0,max:19,style:{width:"100%"}},null,8,["modelValue"]),e.createVNode(e.unref(_.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(s)("workSchedule.duration"))+":",1)]),_:1}),e.createVNode(h,{modelValue:D.value,"onUpdate:modelValue":l[10]||(l[10]=a=>D.value=a),step:1,min:4,max:e.unref(c.clamp)(x.value!==1?23-x.value:21,4,22)},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),/^(|К|КВ|ОТ|Б|Р|ОЖ|У|ДО|УД|Г)$/.test(v.value.failure)?(e.openBlock(),e.createElementBlock("div",Te,[e.createVNode(e.unref(_.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(s)("sheet.count"))+":",1)]),_:1}),e.createVNode(h,{modelValue:L.value,"onUpdate:modelValue":l[11]||(l[11]=a=>L.value=a),step:1,min:1,max:d.value.length-v.value.day,style:{width:"100%"}},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),e.createVNode(e.unref(_.ContextMenuItem),{class:"wrap"},{default:e.withCtx(()=>[v.value.rest?(e.openBlock(),e.createBlock(e.unref(g.ElButton),{key:0,onClick:l[12]||(l[12]=a=>K("reset"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("sheet.reset")),1)]),_:1})):e.createCommentVNode("",!0),Y.value?(e.openBlock(),e.createBlock(e.unref(g.ElButton),{key:1,onClick:l[13]||(l[13]=a=>K("save"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("sheet.save")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(g.ElButton),{onClick:l[14]||(l[14]=a=>B.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("sheet.cancel")),1)]),_:1}),J.value?(e.openBlock(),e.createBlock(e.unref(g.ElButton),{key:2,onClick:l[15]||(l[15]=a=>ye()),popovertarget:"my-service"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(s)("sheet.service")),1)]),_:1})):e.createCommentVNode("",!0)]),_:1})])]),_:1},8,["show","options"]),e.createElementVNode("div",{id:"my-service",class:"sw-popover",popover:"",ref_key:"myService",ref:oe},[l[21]||(l[21]=e.createElementVNode("header",null,"Служебная записка",-1)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.editor),{modelValue:G.value,"onUpdate:modelValue":l[17]||(l[17]=a=>G.value=a)},null,8,["modelValue"])),e.createElementVNode("footer",null,[e.createVNode(e.unref(g.ElButton),{onClick:l[18]||(l[18]=a=>oe.value.hidePopover()),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("calendar.cancel")),1)]),_:1}),e.createVNode(e.unref(g.ElButton),{type:"success",plain:"",onClick:Ce},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("calendar.save")),1)]),_:1})])],512)],64)}}};module.exports=Ee;
@@ -175,7 +175,7 @@ const al = { class: "nav" }, tl = { style: { height: "20px", width: "100%", disp
175
175
  const g = x.value[u];
176
176
  if (g.employmentDate || g.dismissalDate)
177
177
  for (let o = 1; o <= r.value.length; o++) {
178
- const f = new Date(new Date(b.value).setDate(o)), N = T(f, "{Y}-{m}-{dd}"), w = g.employmentDate && f < new Date(g.employmentDate), B = g.dismissalDate && f > new Date(g.dismissalDate);
178
+ const f = new Date(new Date(b.value).setDate(o)), N = T(f, "{Y}-{m}-{dd}"), w = g.employmentDate && f < new Date(g.employmentDate), B = g.dismissalDate && f >= new Date(g.dismissalDate).setSeconds(0);
179
179
  if (w || B) {
180
180
  const Y = g.days.findIndex((H) => H.day === N);
181
181
  Y !== -1 && (g.days[Y].state = "-", g.days[Y].time = "-");
@@ -1,4 +1,4 @@
1
- "use strict";const e=require("vue"),de=require("file-saver"),se=require("exceljs"),m=require("./index-Dn3djtwj.cjs"),ve=require("vue-i18n"),i=require("element-plus"),_=require("@imengyu/vue3-context-menu");function ce(C){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(C){for(const V in C)if(V!=="default"){const c=Object.getOwnPropertyDescriptor(C,V);Object.defineProperty(r,V,c.get?c:{enumerable:!0,get:()=>C[V]})}}return r.default=C,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"},ke={key:0,style:{padding:"0.5em 1.5em"}},Ce={key:1,style:{padding:"0.5em 1.5em"}},xe={__name:"WorkTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},group:String,date:String},setup(C){const{t:r,d:V}=ve.useI18n(),c=C,I=e.ref(!1),n=e.ref([]),R=e.ref(c.date?new Date(c.date+"T00:00:01").getMonth():new Date().getMonth()),j=e.ref(!1),B=e.ref([]),f=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1)),u=e.ref([]),T=e.ref(0),p=e.ref(9),h=e.ref(8),Y=e.ref(!1),J=e.ref(!0),$=e.ref(!1),q=e.ref("5"),M=e.ref(1),x=e.ref([]),O=e.ref([]),E=e.ref([]),U=e.ref([]),g=e.ref({name:"Имя",length:0,code:""}),A=e.ref(!1),P=e.ref({zIndex:3,minWidth:230,x:500,y:200}),Z=e.ref({}),z=e.ref("100%");e.watch(x,async(t,l)=>{t!==l&&(E.value=[],Y.value=!1,c.odata.personal.forEach(o=>{t.includes(o.divisionName)&&(E.value.some(d=>(d==null?void 0:d.activeText)===o.roleName)||E.value.push({val:!0,activeText:o.roleName}))}),W())}),e.watch(R,async t=>{let l=new Date().getMonth(),o=t===null?l:t-1;o=l-1<=o?o:o+12,console.log("currentMonth",o),f.value=new Date(new Date().getFullYear(),o,1),Q()});const ee=(t,l,o,d)=>{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,P.value.y=d.clientY,P.value.x=d.clientX,l.level===2&&l.no===0&&c.checkEdit&&(g.value.name=r("workSchedule.autocomplete"),A.value=!0),l.level===3&&o.cellIndex-l.no===1&&c.checkEdit&&(D(o.cellIndex,t.ids),g.value.name=r("workSchedule.modeSelection"),A.value=!0)},le=({row:t,columnIndex:l})=>{if(!B.value||B.value.length===0||!j.value)return"";const o=new Date(new Date(f.value).getFullYear(),new Date(f.value).getMonth(),l).getTime()+1e3;for(let d of B.value){const{dateStart:v,dateEnd:a,code:w}=d;if(v&&a&&w===t.code&&l!==0&&l<=u.value.length){const N=new Date(m.parseDate(v)).getTime(),b=new Date(m.parseDate(a)).getTime();if(o>=N&&o<=b)return"vacation"}}return""},Q=()=>{var a,w,N,b;const t=Z.value,l=new Date(f.value),o=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let d=[],v=0;for(let S=1;S<=o;S++){const s=m.parseTime(l.setDate(S),"{Y}-{m}-{dd}");v+=(a=t.nowork)!=null&&a.includes(s)||t.holidays.includes(s)?0:(w=t.preholidays)!=null&&w.includes(s)?7:8;const y=(N=t.nowork)!=null&&N.includes(s)?"nowork":t.holidays.includes(s)?"holiday":(b=t.preholidays)!=null&&b.includes(s)?"preholiday":"";d.push({day:S,holidays:y,weekday:V(new Date(l.getFullYear(),l.getMonth(),S),"day")})}T.value=v,u.value=d,c.odata.getPersonal({}).then(S=>{var s;x.value.length===0&&(x.value=[(s=S.find(y=>y.employeeName===c.fullName))==null?void 0:s.divisionName]),S.forEach((y,L)=>{O.value.some(k=>(k==null?void 0:k.value)===y.divisionName)||O.value.push({value:y.divisionName,label:y.divisionName,key:L}),x.value.includes(y.divisionName)&&!E.value.some(k=>(k==null?void 0:k.activeText)===y.roleName)&&E.value.push({val:!0,activeText:y.roleName})}),W(),J.value=!1})},te=e.computed(()=>!n.value.some(t=>t.contHour!==T.value)),K=(t,l)=>{var a,w,N;const o=new Date(f.value),d=`${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(b=>b.day===d);return l===-1||v===-1?"":((w=n.value[l].days[v])==null?void 0:w.tips)+`
2
- `+((N=n.value[l].days[v])==null?void 0:N.time)},W=()=>{n.value=[],U.value=[],B.value=[],c.odata.personal.forEach(t=>{if(x.value.includes(t.divisionName)&&E.value.some(l=>l.val&&l.activeText===t.roleName)){let l=m.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,U.value.push(t.code)}),c.workSchedule.getUsersYear({code:U.value,year:new Date(f.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&B.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),ae(),$.value=!1})},ae=()=>{c.workSchedule.getWorkSchedule({code:U.value,date:m.parseTime(new Date(f.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)}),F()})},F=()=>{n.value.forEach(t=>{t.contHour=t.days.reduce((l,o)=>l+o.time,0)})},ne=t=>{n.value[t].days=[],F()},oe=t=>{switch(q.value){case"5":for(let l=M.value;l<=u.value.length;l++)u.value[l-1].holidays===""&&D(l,t,!0),u.value[l-1].holidays==="preholiday"&&(h.value-=1,D(l,t,!0),h.value+=1);break;case"2x2":for(let l=M.value;l<=u.value.length;l+=4)D(l,t,!0),l+1<=u.value.length&&D(l+1,t,!0);break;case"2x5":for(let l=M.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"?(h.value-=1,D(o,t,!0),h.value+=1):D(o,t,!0);break}},D=(t,l,o=!1)=>{const{date:d,ind:v}=H(t,l);v===-1?(n.value[l].days.push({day:d,time:h.value,tips:`(${p.value}:00 - ${h.value>=22?p.value+h.value+2:p.value+h.value+1}:00)`}),F()):o||(h.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}=H(t,l);n.value[l].days.splice(o,1),F(),document.querySelector(".app-main").click()},X=(t,l)=>{const{date:o,ind:d}=H(t,l);n.value[l].days[d]={day:o,time:h.value,tips:`(${p.value}:00 - ${h.value>=22?p.value+h.value+2:p.value+h.value+1}:00)`},F()},H=(t,l)=>{var v;const o=m.parseTime(new Date(f.value).setDate(t),"{Y}-{m}-{dd}"),d=(v=n.value[l])==null?void 0:v.days.findIndex(a=>a.day===o);return{date:o,ind:d}},re=async()=>{var S;I.value=!0;const t=new me.Workbook,l=t.addWorksheet(V(f.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),o={vertical:"middle",horizontal:"center"},d={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},v={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${m.cellsDynamically("A1",u.value.length+5)}1`),l.mergeCells(`A2:${m.cellsDynamically("A2",u.value.length+5)}2`),l.mergeCells("A3:A4"),l.mergeCells(`B3:${m.cellsDynamically("B3",u.value.length)}3`),l.mergeCells(`${m.cellsDynamically("B3",u.value.length+1)}3:${m.cellsDynamically("B3",u.value.length+2)}3`),l.mergeCells(`${m.cellsDynamically("B3",u.value.length+3)}3:${m.cellsDynamically("B4",u.value.length+3)}4`),l.mergeCells(`${m.cellsDynamically("B3",u.value.length+4)}3:${m.cellsDynamically("B4",u.value.length+4)}4`),l.getCell("A1").value=r("workSchedule.firm"),l.getCell("A2").value=r("workSchedule.title",{name:x.value[0]})+V(f.value,"month")+` ${new Date(f.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.date"),l.getCell(4,u.value.length+2).value=r("workSchedule.days"),l.getCell(4,u.value.length+3).value=`${r("workSchedule.hours")} (${T.value})`;for(let s=2;s<=u.value.length+1;s++)l.getCell(4,s).value=u.value[s-2].weekday+`
3
- `+(s-1),l.getColumn(s).width=6,l.getColumn(s).alignment=v,l.getCell(4,s).border=d;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(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=o,l.getColumn(u.value.length+5).alignment=o,l.getCell("A3").border=d,l.getCell("B3").border=d,l.getCell(3,u.value.length+2).border=d,l.getCell(4,u.value.length+2).border=d,l.getCell(3,u.value.length+4).border=d,l.getCell(3,u.value.length+5).border=d,l.getCell(4,u.value.length+3).border=d;let a=0;for(const s of n.value){let y=[s.name];for(let k=1;k<=u.value.length;k++){const{ind:G}=H(k,a);G!==-1?y[k]=`${s.days[G].time} ${s.days[G].tips}`:y[k]=" "}y.push(((S=s.days)==null?void 0:S.length)||" ",s.contHour||0);const L=l.addRow(y);L.border=d,a++}let w="Щербина Е. В.";c.odata.personal.forEach(s=>{s.roleName==="Начальник отдела правовой и кадровой работы"&&(w=s.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=m.byInitials(c.fullName),l.getCell(`AD${n.value.length+8}`).value=m.byInitials(w),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 N="export_"+m.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",b=await t.xlsx.writeBuffer();de.saveAs(new Blob([b]),N),I.value=!1},ie=async()=>{Y.value||c.workSchedule.addWorkSchedule({data:n.value,date:m.parseTime(new Date(f.value),"{Y}-{m}-{dd}"),group:x.value[0]}).then(t=>Y.value=t)};return console.log("props.group",c.group),console.log("props.date",c.date),c.group&&(x.value[0]=c.group),c.date&&(f.value=new Date(c.date+"T00:00:01")),m.holidays().then(t=>{Z.value=t,Q()}),(t,l)=>{const o=e.resolveComponent("el-date-picker"),d=e.resolveComponent("svg-icon"),v=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("div",he,[C.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElSelect),{key:0,modelValue:x.value,"onUpdate:modelValue":l[0]||(l[0]=a=>x.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(O.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:a.key,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),C.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.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:R.value,"onUpdate:modelValue":l[2]||(l[2]=a=>R.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(i.ElSwitch),{modelValue:z.value,"onUpdate:modelValue":l[3]||(l[3]=a=>z.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(i.ElSwitch),{modelValue:j.value,"onUpdate:modelValue":l[4]||(l[4]=a=>j.value=a),"active-text":"Отпуска","active-value":!0,"inactive-value":!1},null,8,["modelValue"])]),e.createVNode(e.unref(i.ElSkeleton),{style:{width:"100%"},loading:J.value,animated:""},{template:e.withCtx(()=>[e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"100%",height:"2rem"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"4rem","margin-right":"4px"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"4rem"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"8rem","margin-right":"4px"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"8rem"}})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTable),{id:"printTable",data:n.value,style:{width:"100%"},"max-height":z.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(i.ElTableColumn),{label:e.unref(r)("workSchedule.title",{name:x.value[0]})+e.unref(V)(f.value,"month")+` ${new Date(f.value).getFullYear()}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.month"),width:"180",align:"center",fixed:z.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(i.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(i.ElTableColumn),{key:a.day,width:"46","class-name":a.holidays,align:"center",label:a.weekday+`
4
- `+a.day.toString(),prop:"vacation"},{default:e.withCtx(w=>[e.createElementVNode("div",pe,e.toDisplayString(K(a.day,w.$index)||" "),1)]),_:2},1032,["class-name","label"]))),128))]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.onSchedule"),align:"center",fixed:z.value!=="100%"?"right":!1},{default:e.withCtx(()=>[e.createVNode(e.unref(i.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(i.ElTableColumn),{label:`${e.unref(r)("workSchedule.hours")} ( ${T.value} )`,align:"center"},{default:e.withCtx(a=>[e.createElementVNode("div",{style:e.normalizeStyle(`color: ${T.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"])]),_:1},8,["loading"]),te.value&&C.checkEdit?(e.openBlock(),e.createElementBlock("div",ye,[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.chartsFilled"))+": ",1),Y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.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(C.fullName),1)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(i.ElButton),{disabled:I.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,I.value]]),e.createVNode(e.unref(i.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(i.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(i.ElButton),{size:"default",type:"primary",onClick:l[6]||(l[6]=a=>{W(),$.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElForm),{ref:"dialogForm",model:E.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElSwitch),{modelValue:a.val,"onUpdate:modelValue":w=>a.val=w,"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:A.value,"onUpdate:show":l[20]||(l[20]=a=>A.value=a),options:P.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:l[8]||(l[8]=a=>A.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(d,{"icon-class":"cross"})]),e.createVNode(e.unref(_.ContextMenuSeparator)),g.value.level===2?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(e.unref(i.ElRadioGroup),{modelValue:q.value,"onUpdate:modelValue":l[9]||(l[9]=a=>q.value=a),size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElRadioButton),{label:e.unref(r)("workSchedule.Days5"),value:"5"},null,8,["label"]),e.createVNode(e.unref(i.ElRadioButton),{label:"2 Х 2",value:"2x2"}),e.createVNode(e.unref(i.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(i.ElSlider),{modelValue:M.value,"onUpdate:modelValue":l[10]||(l[10]=a=>M.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(i.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(i.ElSlider),{modelValue:h.value,"onUpdate:modelValue":l[12]||(l[12]=a=>h.value=a),step:1,min:4,max:e.unref(m.clamp)(p.value!==1?23-p.value:21,4,22)},null,8,["modelValue","max"]),e.createVNode(e.unref(i.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(i.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",Ce,[e.createElementVNode("div",null,e.toDisplayString(K(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(i.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=>X(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(i.ElSlider),{modelValue:h.value,"onUpdate:modelValue":l[17]||(l[17]=a=>h.value=a),step:1,min:4,max:e.unref(m.clamp)(p.value!==1?23-p.value:21,4,22),onChange:l[18]||(l[18]=a=>X(g.value.day,g.value.ids))},null,8,["modelValue","max"]),e.createVNode(e.unref(i.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=xe;
1
+ "use strict";const e=require("vue"),de=require("file-saver"),se=require("exceljs"),m=require("./index-Dn3djtwj.cjs"),ve=require("vue-i18n"),i=require("element-plus"),_=require("@imengyu/vue3-context-menu");function ce(C){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(C){for(const V in C)if(V!=="default"){const c=Object.getOwnPropertyDescriptor(C,V);Object.defineProperty(r,V,c.get?c:{enumerable:!0,get:()=>C[V]})}}return r.default=C,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"},ke={key:0,style:{padding:"0.5em 1.5em"}},Ce={key:1,style:{padding:"0.5em 1.5em"}},xe={__name:"WorkTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"},group:String,date:String},setup(C){const{t:r,d:V}=ve.useI18n(),c=C,I=e.ref(!1),n=e.ref([]),R=e.ref(c.date?new Date(c.date+"T00:00:01").getMonth():new Date().getMonth()),j=e.ref(!1),B=e.ref([]),h=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1)),u=e.ref([]),T=e.ref(0),y=e.ref(9),f=e.ref(8),Y=e.ref(!1),J=e.ref(!0),$=e.ref(!1),q=e.ref("5"),M=e.ref(1),x=e.ref([]),O=e.ref([]),E=e.ref([]),U=e.ref([]),g=e.ref({name:"Имя",length:0,code:""}),A=e.ref(!1),P=e.ref({zIndex:3,minWidth:230,x:500,y:200}),Z=e.ref({}),z=e.ref("100%");e.watch(x,async(t,l)=>{t!==l&&(E.value=[],Y.value=!1,c.odata.personal.forEach(o=>{t.includes(o.divisionName)&&(E.value.some(d=>(d==null?void 0:d.activeText)===o.roleName)||E.value.push({val:!0,activeText:o.roleName}))}),W())}),e.watch(R,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),Q()});const ee=(t,l,o,d)=>{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,P.value.y=d.clientY,P.value.x=d.clientX,l.level===2&&l.no===0&&c.checkEdit&&(g.value.name=r("workSchedule.autocomplete"),A.value=!0),l.level===3&&o.cellIndex-l.no===1&&c.checkEdit&&(b(o.cellIndex,t.ids),g.value.name=r("workSchedule.modeSelection"),A.value=!0)},le=({row:t,columnIndex:l})=>{if(!B.value||B.value.length===0||!j.value)return"";const o=new Date(new Date(h.value).getFullYear(),new Date(h.value).getMonth(),l).getTime()+1e3;for(let d of B.value){const{dateStart:v,dateEnd:a,code:w}=d;if(v&&a&&w===t.code&&l!==0&&l<=u.value.length){const N=new Date(m.parseDate(v)).getTime(),D=new Date(m.parseDate(a)).getTime();if(o>=N&&o<=D)return"vacation"}}return""},Q=()=>{var a,w,N,D;const t=Z.value,l=new Date(h.value),o=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let d=[],v=0;for(let S=1;S<=o;S++){const s=m.parseTime(l.setDate(S),"{Y}-{m}-{dd}");v+=(a=t.nowork)!=null&&a.includes(s)||t.holidays.includes(s)?0:(w=t.preholidays)!=null&&w.includes(s)?7:8;const p=(N=t.nowork)!=null&&N.includes(s)?"nowork":t.holidays.includes(s)?"holiday":(D=t.preholidays)!=null&&D.includes(s)?"preholiday":"";d.push({day:S,holidays:p,weekday:V(new Date(l.getFullYear(),l.getMonth(),S),"day")})}T.value=v,u.value=d,c.odata.getPersonal({dismissed:"false"}).then(S=>{var s;x.value.length===0&&(x.value=[(s=S.find(p=>p.employeeName===c.fullName))==null?void 0:s.divisionName]),S.forEach((p,L)=>{O.value.some(k=>p.dismissalDate.length>0&&new Date(p.dismissalDate)<new Date(h.value)||(k==null?void 0:k.value)===p.divisionName)||O.value.push({value:p.divisionName,label:p.divisionName,key:L}),x.value.includes(p.divisionName)&&!E.value.some(k=>(k==null?void 0:k.activeText)===p.roleName)&&E.value.push({val:!0,activeText:p.roleName})}),W(),J.value=!1})},te=e.computed(()=>!n.value.some(t=>t.contHour!==T.value)),K=(t,l)=>{var a,w,N;const o=new Date(h.value),d=`${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(D=>D.day===d);return l===-1||v===-1?"":((w=n.value[l].days[v])==null?void 0:w.tips)+`
2
+ `+((N=n.value[l].days[v])==null?void 0:N.time)},W=()=>{n.value=[],U.value=[],B.value=[],c.odata.personal.forEach(t=>{if(x.value.includes(t.divisionName)&&E.value.some(l=>l.val&&l.activeText===t.roleName)&&(t.dismissalDate.length===0||new Date(t.dismissalDate)>new Date(h.value))){let l=m.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,U.value.push(t.code)}),c.workSchedule.getUsersYear({code:U.value,year:new Date(h.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&B.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),ae(),$.value=!1})},ae=()=>{c.workSchedule.getWorkSchedule({code:U.value,date:m.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)}),F()})},F=()=>{n.value.forEach(t=>{t.contHour=t.days.reduce((l,o)=>l+o.time,0)})},ne=t=>{n.value[t].days=[],F()},oe=t=>{switch(q.value){case"5":for(let l=M.value;l<=u.value.length;l++)u.value[l-1].holidays===""&&b(l,t,!0),u.value[l-1].holidays==="preholiday"&&(f.value-=1,b(l,t,!0),f.value+=1);break;case"2x2":for(let l=M.value;l<=u.value.length;l+=4)b(l,t,!0),l+1<=u.value.length&&b(l+1,t,!0);break;case"2x5":for(let l=M.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,b(o,t,!0),f.value+=1):b(o,t,!0);break}},b=(t,l,o=!1)=>{const{date:d,ind:v}=H(t,l);v===-1?(n.value[l].days.push({day:d,time:f.value,tips:`(${y.value}:00 - ${f.value>=22?y.value+f.value+2:y.value+f.value+1}:00)`}),F()):o||(f.value=n.value[l].days[v].time,y.value=parseInt(n.value[l].days[v].tips.slice(1,-12)))},ue=(t,l)=>{const{ind:o}=H(t,l);n.value[l].days.splice(o,1),F(),document.querySelector(".app-main").click()},X=(t,l)=>{const{date:o,ind:d}=H(t,l);n.value[l].days[d]={day:o,time:f.value,tips:`(${y.value}:00 - ${f.value>=22?y.value+f.value+2:y.value+f.value+1}:00)`},F()},H=(t,l)=>{var v;const o=m.parseTime(new Date(h.value).setDate(t),"{Y}-{m}-{dd}"),d=(v=n.value[l])==null?void 0:v.days.findIndex(a=>a.day===o);return{date:o,ind:d}},re=async()=>{var S;I.value=!0;const t=new me.Workbook,l=t.addWorksheet(V(h.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),o={vertical:"middle",horizontal:"center"},d={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},v={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${m.cellsDynamically("A1",u.value.length+5)}1`),l.mergeCells(`A2:${m.cellsDynamically("A2",u.value.length+5)}2`),l.mergeCells("A3:A4"),l.mergeCells(`B3:${m.cellsDynamically("B3",u.value.length)}3`),l.mergeCells(`${m.cellsDynamically("B3",u.value.length+1)}3:${m.cellsDynamically("B3",u.value.length+2)}3`),l.mergeCells(`${m.cellsDynamically("B3",u.value.length+3)}3:${m.cellsDynamically("B4",u.value.length+3)}4`),l.mergeCells(`${m.cellsDynamically("B3",u.value.length+4)}3:${m.cellsDynamically("B4",u.value.length+4)}4`),l.getCell("A1").value=r("workSchedule.firm"),l.getCell("A2").value=r("workSchedule.title",{name:x.value[0]})+V(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.date"),l.getCell(4,u.value.length+2).value=r("workSchedule.days"),l.getCell(4,u.value.length+3).value=`${r("workSchedule.hours")} (${T.value})`;for(let s=2;s<=u.value.length+1;s++)l.getCell(4,s).value=u.value[s-2].weekday+`
3
+ `+(s-1),l.getColumn(s).width=6,l.getColumn(s).alignment=v,l.getCell(4,s).border=d;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(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=o,l.getColumn(u.value.length+5).alignment=o,l.getCell("A3").border=d,l.getCell("B3").border=d,l.getCell(3,u.value.length+2).border=d,l.getCell(4,u.value.length+2).border=d,l.getCell(3,u.value.length+4).border=d,l.getCell(3,u.value.length+5).border=d,l.getCell(4,u.value.length+3).border=d;let a=0;for(const s of n.value){let p=[s.name];for(let k=1;k<=u.value.length;k++){const{ind:G}=H(k,a);G!==-1?p[k]=`${s.days[G].time} ${s.days[G].tips}`:p[k]=" "}p.push(((S=s.days)==null?void 0:S.length)||" ",s.contHour||0);const L=l.addRow(p);L.border=d,a++}let w="Щербина Е. В.";c.odata.personal.forEach(s=>{s.roleName==="Начальник отдела правовой и кадровой работы"&&(w=s.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=m.byInitials(c.fullName),l.getCell(`AD${n.value.length+8}`).value=m.byInitials(w),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 N="export_"+m.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",D=await t.xlsx.writeBuffer();de.saveAs(new Blob([D]),N),I.value=!1},ie=async()=>{Y.value||c.workSchedule.addWorkSchedule({data:n.value,date:m.parseTime(new Date(h.value),"{Y}-{m}-{dd}"),group:x.value[0]}).then(t=>Y.value=t)};return console.log("props.group",c.group),console.log("props.date",c.date),c.group&&(x.value[0]=c.group),c.date&&(h.value=new Date(c.date+"T00:00:01")),m.holidays().then(t=>{Z.value=t,Q()}),(t,l)=>{const o=e.resolveComponent("el-date-picker"),d=e.resolveComponent("svg-icon"),v=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",ge,[e.createElementVNode("div",he,[C.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElSelect),{key:0,modelValue:x.value,"onUpdate:modelValue":l[0]||(l[0]=a=>x.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(O.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:a.key,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),C.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.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:R.value,"onUpdate:modelValue":l[2]||(l[2]=a=>R.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(i.ElSwitch),{modelValue:z.value,"onUpdate:modelValue":l[3]||(l[3]=a=>z.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(i.ElSwitch),{modelValue:j.value,"onUpdate:modelValue":l[4]||(l[4]=a=>j.value=a),"active-text":"Отпуска","active-value":!0,"inactive-value":!1},null,8,["modelValue"])]),e.createVNode(e.unref(i.ElSkeleton),{style:{width:"100%"},loading:J.value,animated:""},{template:e.withCtx(()=>[e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"100%",height:"2rem"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"4rem","margin-right":"4px"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"4rem"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"8rem","margin-right":"4px"}}),e.createVNode(e.unref(i.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"8rem"}})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTable),{id:"printTable",data:n.value,style:{width:"100%"},"max-height":z.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(i.ElTableColumn),{label:e.unref(r)("workSchedule.title",{name:x.value[0]})+e.unref(V)(h.value,"month")+` ${new Date(h.value).getFullYear()}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.month"),width:"180",align:"center",fixed:z.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(i.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(i.ElTableColumn),{key:a.day,width:"46","class-name":a.holidays,align:"center",label:a.weekday+`
4
+ `+a.day.toString(),prop:"vacation"},{default:e.withCtx(w=>[e.createElementVNode("div",pe,e.toDisplayString(K(a.day,w.$index)||" "),1)]),_:2},1032,["class-name","label"]))),128))]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.onSchedule"),align:"center",fixed:z.value!=="100%"?"right":!1},{default:e.withCtx(()=>[e.createVNode(e.unref(i.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(i.ElTableColumn),{label:`${e.unref(r)("workSchedule.hours")} ( ${T.value} )`,align:"center"},{default:e.withCtx(a=>[e.createElementVNode("div",{style:e.normalizeStyle(`color: ${T.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"])]),_:1},8,["loading"]),te.value&&C.checkEdit?(e.openBlock(),e.createElementBlock("div",ye,[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.chartsFilled"))+": ",1),Y.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.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(C.fullName),1)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(i.ElButton),{disabled:I.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,I.value]]),e.createVNode(e.unref(i.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(i.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(i.ElButton),{size:"default",type:"primary",onClick:l[6]||(l[6]=a=>{W(),$.value=!1})},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElForm),{ref:"dialogForm",model:E.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(E.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElSwitch),{modelValue:a.val,"onUpdate:modelValue":w=>a.val=w,"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:A.value,"onUpdate:show":l[20]||(l[20]=a=>A.value=a),options:P.value},{default:e.withCtx(()=>[e.createElementVNode("div",{class:"mx-context-menu-item",onClick:l[8]||(l[8]=a=>A.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(d,{"icon-class":"cross"})]),e.createVNode(e.unref(_.ContextMenuSeparator)),g.value.level===2?(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(e.unref(i.ElRadioGroup),{modelValue:q.value,"onUpdate:modelValue":l[9]||(l[9]=a=>q.value=a),size:"small"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElRadioButton),{label:e.unref(r)("workSchedule.Days5"),value:"5"},null,8,["label"]),e.createVNode(e.unref(i.ElRadioButton),{label:"2 Х 2",value:"2x2"}),e.createVNode(e.unref(i.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(i.ElSlider),{modelValue:M.value,"onUpdate:modelValue":l[10]||(l[10]=a=>M.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(i.ElSlider),{modelValue:y.value,"onUpdate:modelValue":l[11]||(l[11]=a=>y.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(i.ElSlider),{modelValue:f.value,"onUpdate:modelValue":l[12]||(l[12]=a=>f.value=a),step:1,min:4,max:e.unref(m.clamp)(y.value!==1?23-y.value:21,4,22)},null,8,["modelValue","max"]),e.createVNode(e.unref(i.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(i.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",Ce,[e.createElementVNode("div",null,e.toDisplayString(K(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(i.ElSlider),{modelValue:y.value,"onUpdate:modelValue":l[15]||(l[15]=a=>y.value=a),step:1,min:0,max:19,onChange:l[16]||(l[16]=a=>X(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(i.ElSlider),{modelValue:f.value,"onUpdate:modelValue":l[17]||(l[17]=a=>f.value=a),step:1,min:4,max:e.unref(m.clamp)(y.value!==1?23-y.value:21,4,22),onChange:l[18]||(l[18]=a=>X(g.value.day,g.value.ids))},null,8,["modelValue","max"]),e.createVNode(e.unref(i.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=xe;
package/dist/WorkTable.js CHANGED
@@ -1,7 +1,7 @@
1
- import { ref as g, watch as ye, computed as Ae, resolveComponent as we, resolveDirective as Te, createElementBlock as z, openBlock as S, createElementVNode as y, createVNode as i, createCommentVNode as _, withDirectives as Be, createBlock as F, unref as a, withCtx as v, Fragment as ie, renderList as re, createTextVNode as V, toDisplayString as h, normalizeStyle as ze } from "vue";
1
+ import { ref as g, watch as ye, computed as Me, resolveComponent as we, resolveDirective as Te, createElementBlock as z, openBlock as S, createElementVNode as k, createVNode as i, createCommentVNode as _, withDirectives as Be, createBlock as F, unref as a, withCtx as v, Fragment as ie, renderList as re, createTextVNode as V, toDisplayString as h, normalizeStyle as ze } from "vue";
2
2
  import { saveAs as Fe } from "file-saver";
3
3
  import * as Ye from "exceljs";
4
- import { p as G, b as se, h as Ue, c as ke, a as Ce, d as M } from "./index-2Mx6IUGl.js";
4
+ import { p as G, b as se, h as Ue, c as ke, a as Ce, d as N } from "./index-2Mx6IUGl.js";
5
5
  import { useI18n as He } from "vue-i18n";
6
6
  import { ElSelect as Ie, ElOption as Re, ElButton as T, ElSwitch as ve, ElSkeleton as We, ElTable as Pe, ElTableColumn as Y, ElSkeletonItem as L, ElDialog as je, ElForm as Oe, ElFormItem as Ge, ElRadioGroup as Le, ElRadioButton as ge, ElSlider as Z } from "element-plus";
7
7
  import { ContextMenu as Ze, ContextMenuSeparator as qe } from "@imengyu/vue3-context-menu";
@@ -39,69 +39,69 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
39
39
  // code: '0000-00052'
40
40
  // ids: 1
41
41
  // }
42
- ]), ee = g(c.date ? (/* @__PURE__ */ new Date(c.date + "T00:00:01")).getMonth() : (/* @__PURE__ */ new Date()).getMonth()), le = g(!1), I = g([]), w = g(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)), u = g([]), R = g(0), k = g(9), f = g(8), Q = g(!1), me = g(!0), U = g(!1), te = g("5"), W = g(1), b = g([]), ae = g([]), N = g([]), K = g([]), p = g({ name: "Имя", length: 0, code: "" }), P = g(!1), ne = g({
42
+ ]), ee = g(c.date ? (/* @__PURE__ */ new Date(c.date + "T00:00:01")).getMonth() : (/* @__PURE__ */ new Date()).getMonth()), le = g(!1), I = g([]), f = g(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1)), u = g([]), R = g(0), C = g(9), y = g(8), Q = g(!1), me = g(!0), U = g(!1), te = g("5"), W = g(1), b = g([]), ae = g([]), A = g([]), K = g([]), p = g({ name: "Имя", length: 0, code: "" }), P = g(!1), ne = g({
43
43
  zIndex: 3,
44
44
  minWidth: 230,
45
45
  x: 500,
46
46
  y: 200
47
47
  }), he = g({}), j = g("100%");
48
48
  ye(b, async (l, e) => {
49
- l !== e && (N.value = [], Q.value = !1, c.odata.personal.forEach((o) => {
50
- l.includes(o.divisionName) && (N.value.some((r) => (r == null ? void 0 : r.activeText) === o.roleName) || N.value.push({ val: !0, activeText: o.roleName }));
49
+ l !== e && (A.value = [], Q.value = !1, c.odata.personal.forEach((o) => {
50
+ l.includes(o.divisionName) && (A.value.some((r) => (r == null ? void 0 : r.activeText) === o.roleName) || A.value.push({ val: !0, activeText: o.roleName }));
51
51
  }), oe());
52
52
  }), ye(ee, async (l) => {
53
53
  let e = (/* @__PURE__ */ new Date()).getMonth(), o = l === null ? e : l - 1;
54
- o = e - 1 <= o ? o : o + 12, console.log("currentMonth", o), w.value = new Date((/* @__PURE__ */ new Date()).getFullYear(), o, 1), ce();
54
+ o = e - 1 <= o ? o - e >= 11 ? o - 12 : o : o + 12, f.value = new Date((/* @__PURE__ */ new Date()).getFullYear(), o, 1), ce();
55
55
  });
56
56
  const xe = (l, e, o, r) => {
57
57
  p.value.ids = l.ids, p.value.key = l.key, p.value.add = l.days.length > 0 && l.days[l.days.length - 1].cont, p.value.level = e.level, p.value.day = o.cellIndex, ne.value.y = r.clientY, ne.value.x = r.clientX, e.level === 2 && e.no === 0 && c.checkEdit && (p.value.name = d("workSchedule.autocomplete"), P.value = !0), e.level === 3 && o.cellIndex - e.no === 1 && c.checkEdit && (B(o.cellIndex, l.ids), p.value.name = d("workSchedule.modeSelection"), P.value = !0);
58
58
  }, Se = ({ row: l, columnIndex: e }) => {
59
59
  if (!I.value || I.value.length === 0 || !le.value) return "";
60
- const o = new Date(new Date(w.value).getFullYear(), new Date(w.value).getMonth(), e).getTime() + 1e3;
60
+ const o = new Date(new Date(f.value).getFullYear(), new Date(f.value).getMonth(), e).getTime() + 1e3;
61
61
  for (let r of I.value) {
62
62
  const { dateStart: m, dateEnd: t, code: x } = r;
63
63
  if (m && t && x === l.code && e !== 0 && e <= u.value.length) {
64
- const E = new Date(Ce(m)).getTime(), A = new Date(Ce(t)).getTime();
65
- if (o >= E && o <= A) return "vacation";
64
+ const E = new Date(Ce(m)).getTime(), M = new Date(Ce(t)).getTime();
65
+ if (o >= E && o <= M) return "vacation";
66
66
  }
67
67
  }
68
68
  return "";
69
69
  }, ce = () => {
70
- var t, x, E, A;
71
- const l = he.value, e = new Date(w.value), o = new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate();
70
+ var t, x, E, M;
71
+ const l = he.value, e = new Date(f.value), o = new Date(e.getFullYear(), e.getMonth() + 1, 0).getDate();
72
72
  let r = [], m = 0;
73
73
  for (let D = 1; D <= o; D++) {
74
74
  const s = G(e.setDate(D), "{Y}-{m}-{dd}");
75
75
  m += (t = l.nowork) != null && t.includes(s) || l.holidays.includes(s) ? 0 : (x = l.preholidays) != null && x.includes(s) ? 7 : 8;
76
- const C = (E = l.nowork) != null && E.includes(s) ? "nowork" : l.holidays.includes(s) ? "holiday" : (A = l.preholidays) != null && A.includes(s) ? "preholiday" : "";
77
- r.push({ day: D, holidays: C, weekday: q(new Date(e.getFullYear(), e.getMonth(), D), "day") });
76
+ const w = (E = l.nowork) != null && E.includes(s) ? "nowork" : l.holidays.includes(s) ? "holiday" : (M = l.preholidays) != null && M.includes(s) ? "preholiday" : "";
77
+ r.push({ day: D, holidays: w, weekday: q(new Date(e.getFullYear(), e.getMonth(), D), "day") });
78
78
  }
79
- R.value = m, u.value = r, c.odata.getPersonal({}).then((D) => {
79
+ R.value = m, u.value = r, c.odata.getPersonal({ dismissed: "false" }).then((D) => {
80
80
  var s;
81
- b.value.length === 0 && (b.value = [(s = D.find((C) => C.employeeName === c.fullName)) == null ? void 0 : s.divisionName]), D.forEach((C, ue) => {
82
- ae.value.some(($) => ($ == null ? void 0 : $.value) === C.divisionName) || ae.value.push({ value: C.divisionName, label: C.divisionName, key: ue }), b.value.includes(C.divisionName) && !N.value.some(($) => ($ == null ? void 0 : $.activeText) === C.roleName) && N.value.push({ val: !0, activeText: C.roleName });
81
+ b.value.length === 0 && (b.value = [(s = D.find((w) => w.employeeName === c.fullName)) == null ? void 0 : s.divisionName]), D.forEach((w, ue) => {
82
+ ae.value.some(($) => w.dismissalDate.length > 0 && new Date(w.dismissalDate) < new Date(f.value) || ($ == null ? void 0 : $.value) === w.divisionName) || ae.value.push({ value: w.divisionName, label: w.divisionName, key: ue }), b.value.includes(w.divisionName) && !A.value.some(($) => ($ == null ? void 0 : $.activeText) === w.roleName) && A.value.push({ val: !0, activeText: w.roleName });
83
83
  }), oe(), me.value = !1;
84
84
  });
85
- }, $e = Ae(() => !n.value.some((l) => l.contHour !== R.value)), pe = (l, e) => {
85
+ }, $e = Me(() => !n.value.some((l) => l.contHour !== R.value)), pe = (l, e) => {
86
86
  var t, x, E;
87
- const o = new Date(w.value), r = `${o.getFullYear()}-${(o.getMonth() + 1).toString().padStart(2, "0")}-${l.toString().padStart(2, "0")}`, m = (t = n.value[e]) == null ? void 0 : t.days.findIndex((A) => A.day === r);
87
+ const o = new Date(f.value), r = `${o.getFullYear()}-${(o.getMonth() + 1).toString().padStart(2, "0")}-${l.toString().padStart(2, "0")}`, m = (t = n.value[e]) == null ? void 0 : t.days.findIndex((M) => M.day === r);
88
88
  return e === -1 || m === -1 ? "" : ((x = n.value[e].days[m]) == null ? void 0 : x.tips) + `
89
89
  ` + ((E = n.value[e].days[m]) == null ? void 0 : E.time);
90
90
  }, oe = () => {
91
91
  n.value = [], K.value = [], I.value = [], c.odata.personal.forEach((l) => {
92
- if (b.value.includes(l.divisionName) && N.value.some((e) => e.val && e.activeText === l.roleName)) {
92
+ if (b.value.includes(l.divisionName) && A.value.some((e) => e.val && e.activeText === l.roleName) && (l.dismissalDate.length === 0 || new Date(l.dismissalDate) > new Date(f.value))) {
93
93
  let e = se(l.employeeName);
94
94
  n.value.push({ name: e + " (" + l.roleName + ")", days: [], contHour: 0, code: l.employeeKey, id: !1 });
95
95
  }
96
96
  }), n.value.sort((l, e) => l.name < e.name ? -1 : l.name > e.name ? 1 : 0), n.value.forEach((l, e) => {
97
97
  l.ids = e, K.value.push(l.code);
98
- }), c.workSchedule.getUsersYear({ code: K.value, year: new Date(w.value).getFullYear() }).then((l) => {
98
+ }), c.workSchedule.getUsersYear({ code: K.value, year: new Date(f.value).getFullYear() }).then((l) => {
99
99
  l.forEach((e) => {
100
100
  e.dateStart && I.value.push({ code: e.code, dateStart: e.dateStart, dateEnd: e.dateEnd });
101
101
  }), be(), U.value = !1;
102
102
  });
103
103
  }, be = () => {
104
- c.workSchedule.getWorkSchedule({ code: K.value, date: G(new Date(w.value), "{Y}-{m}-{dd}") }).then(
104
+ c.workSchedule.getWorkSchedule({ code: K.value, date: G(new Date(f.value), "{Y}-{m}-{dd}") }).then(
105
105
  (l) => {
106
106
  l.forEach((e, o) => {
107
107
  e !== null && (n.value[o].days = e.data.days, n.value[o].id = e.id);
@@ -118,7 +118,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
118
118
  switch (te.value) {
119
119
  case "5":
120
120
  for (let e = W.value; e <= u.value.length; e++)
121
- u.value[e - 1].holidays === "" && B(e, l, !0), u.value[e - 1].holidays === "preholiday" && (f.value -= 1, B(e, l, !0), f.value += 1);
121
+ u.value[e - 1].holidays === "" && B(e, l, !0), u.value[e - 1].holidays === "preholiday" && (y.value -= 1, B(e, l, !0), y.value += 1);
122
122
  break;
123
123
  case "2x2":
124
124
  for (let e = W.value; e <= u.value.length; e += 4)
@@ -127,16 +127,16 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
127
127
  case "2x5":
128
128
  for (let e = W.value; e <= u.value.length; e += 7)
129
129
  for (let o = e; o < e + 5 && o <= u.value.length; o++)
130
- u.value[o - 1].holidays === "preholiday" ? (f.value -= 1, B(o, l, !0), f.value += 1) : B(o, l, !0);
130
+ u.value[o - 1].holidays === "preholiday" ? (y.value -= 1, B(o, l, !0), y.value += 1) : B(o, l, !0);
131
131
  break;
132
132
  }
133
133
  }, B = (l, e, o = !1) => {
134
134
  const { date: r, ind: m } = X(l, e);
135
135
  m === -1 ? (n.value[e].days.push({
136
136
  day: r,
137
- time: f.value,
138
- tips: `(${k.value}:00 - ${f.value >= 22 ? k.value + f.value + 2 : k.value + f.value + 1}:00)`
139
- }), O()) : o || (f.value = n.value[e].days[m].time, k.value = parseInt(n.value[e].days[m].tips.slice(1, -12)));
137
+ time: y.value,
138
+ tips: `(${C.value}:00 - ${y.value >= 22 ? C.value + y.value + 2 : C.value + y.value + 1}:00)`
139
+ }), O()) : o || (y.value = n.value[e].days[m].time, C.value = parseInt(n.value[e].days[m].tips.slice(1, -12)));
140
140
  }, Ee = (l, e) => {
141
141
  const { ind: o } = X(l, e);
142
142
  n.value[e].days.splice(o, 1), O(), document.querySelector(".app-main").click();
@@ -144,48 +144,48 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
144
144
  const { date: o, ind: r } = X(l, e);
145
145
  n.value[e].days[r] = {
146
146
  day: o,
147
- time: f.value,
148
- tips: `(${k.value}:00 - ${f.value >= 22 ? k.value + f.value + 2 : k.value + f.value + 1}:00)`
147
+ time: y.value,
148
+ tips: `(${C.value}:00 - ${y.value >= 22 ? C.value + y.value + 2 : C.value + y.value + 1}:00)`
149
149
  }, O();
150
150
  }, X = (l, e) => {
151
151
  var m;
152
- const o = G(new Date(w.value).setDate(l), "{Y}-{m}-{dd}"), r = (m = n.value[e]) == null ? void 0 : m.days.findIndex((t) => t.day === o);
152
+ const o = G(new Date(f.value).setDate(l), "{Y}-{m}-{dd}"), r = (m = n.value[e]) == null ? void 0 : m.days.findIndex((t) => t.day === o);
153
153
  return { date: o, ind: r };
154
- }, Me = async () => {
154
+ }, Ne = async () => {
155
155
  var D;
156
156
  J.value = !0;
157
- const l = new Ye.Workbook(), e = l.addWorksheet(q(w.value, "month"), { pageSetup: { paperSize: 9, orientation: "landscape", fitToPage: !0 } }), o = { vertical: "middle", horizontal: "center" }, r = { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } }, m = { vertical: "middle", horizontal: "center", wrapText: !0 };
158
- e.mergeCells(`A1:${M("A1", u.value.length + 5)}1`), e.mergeCells(`A2:${M("A2", u.value.length + 5)}2`), e.mergeCells("A3:A4"), e.mergeCells(`B3:${M("B3", u.value.length)}3`), e.mergeCells(`${M("B3", u.value.length + 1)}3:${M("B3", u.value.length + 2)}3`), e.mergeCells(`${M("B3", u.value.length + 3)}3:${M("B4", u.value.length + 3)}4`), e.mergeCells(`${M("B3", u.value.length + 4)}3:${M("B4", u.value.length + 4)}4`), e.getCell("A1").value = d("workSchedule.firm"), e.getCell("A2").value = d("workSchedule.title", { name: b.value[0] }) + q(w.value, "month") + ` ${new Date(w.value).getFullYear()}`, e.getCell("A3").value = d("workSchedule.month"), e.getCell("B3").value = d("workSchedule.numbersMonth"), e.getCell(3, u.value.length + 2).value = d("workSchedule.onSchedule"), e.getCell(3, u.value.length + 4).value = d("workSchedule.acquainted"), e.getCell(3, u.value.length + 5).value = d("workSchedule.date"), e.getCell(4, u.value.length + 2).value = d("workSchedule.days"), e.getCell(4, u.value.length + 3).value = `${d("workSchedule.hours")} (${R.value})`;
157
+ const l = new Ye.Workbook(), e = l.addWorksheet(q(f.value, "month"), { pageSetup: { paperSize: 9, orientation: "landscape", fitToPage: !0 } }), o = { vertical: "middle", horizontal: "center" }, r = { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } }, m = { vertical: "middle", horizontal: "center", wrapText: !0 };
158
+ e.mergeCells(`A1:${N("A1", u.value.length + 5)}1`), e.mergeCells(`A2:${N("A2", u.value.length + 5)}2`), e.mergeCells("A3:A4"), e.mergeCells(`B3:${N("B3", u.value.length)}3`), e.mergeCells(`${N("B3", u.value.length + 1)}3:${N("B3", u.value.length + 2)}3`), e.mergeCells(`${N("B3", u.value.length + 3)}3:${N("B4", u.value.length + 3)}4`), e.mergeCells(`${N("B3", u.value.length + 4)}3:${N("B4", u.value.length + 4)}4`), e.getCell("A1").value = d("workSchedule.firm"), e.getCell("A2").value = d("workSchedule.title", { name: b.value[0] }) + q(f.value, "month") + ` ${new Date(f.value).getFullYear()}`, e.getCell("A3").value = d("workSchedule.month"), e.getCell("B3").value = d("workSchedule.numbersMonth"), e.getCell(3, u.value.length + 2).value = d("workSchedule.onSchedule"), e.getCell(3, u.value.length + 4).value = d("workSchedule.acquainted"), e.getCell(3, u.value.length + 5).value = d("workSchedule.date"), e.getCell(4, u.value.length + 2).value = d("workSchedule.days"), e.getCell(4, u.value.length + 3).value = `${d("workSchedule.hours")} (${R.value})`;
159
159
  for (let s = 2; s <= u.value.length + 1; s++)
160
160
  e.getCell(4, s).value = u.value[s - 2].weekday + `
161
161
  ` + (s - 1), e.getColumn(s).width = 6, e.getColumn(s).alignment = m, e.getCell(4, s).border = r;
162
162
  e.getRow(1).height = 40, e.getRow(2).height = 30, e.getRow(3).height = 20, e.getColumn(1).width = 15, e.getColumn(u.value.length + 2).width = 5, e.getColumn(u.value.length + 3).width = 6, e.getColumn(u.value.length + 4).width = 13, e.getColumn(u.value.length + 5).width = 13, e.getColumn(1).alignment = m, e.getCell("A2").alignment = o, e.getCell("A3").alignment = o, e.getCell("B3").alignment = o, e.getCell(3, u.value.length + 2).alignment = o, e.getColumn(u.value.length + 2).alignment = m, e.getColumn(u.value.length + 3).alignment = m, e.getColumn(u.value.length + 4).alignment = o, e.getColumn(u.value.length + 5).alignment = o, e.getCell("A3").border = r, e.getCell("B3").border = r, e.getCell(3, u.value.length + 2).border = r, e.getCell(4, u.value.length + 2).border = r, e.getCell(3, u.value.length + 4).border = r, e.getCell(3, u.value.length + 5).border = r, e.getCell(4, u.value.length + 3).border = r;
163
163
  let t = 0;
164
164
  for (const s of n.value) {
165
- let C = [s.name];
165
+ let w = [s.name];
166
166
  for (let $ = 1; $ <= u.value.length; $++) {
167
167
  const { ind: de } = X($, t);
168
- de !== -1 ? C[$] = `${s.days[de].time} ${s.days[de].tips}` : C[$] = " ";
168
+ de !== -1 ? w[$] = `${s.days[de].time} ${s.days[de].tips}` : w[$] = " ";
169
169
  }
170
- C.push(((D = s.days) == null ? void 0 : D.length) || " ", s.contHour || 0);
171
- const ue = e.addRow(C);
170
+ w.push(((D = s.days) == null ? void 0 : D.length) || " ", s.contHour || 0);
171
+ const ue = e.addRow(w);
172
172
  ue.border = r, t++;
173
173
  }
174
174
  let x = "Щербина Е. В.";
175
175
  c.odata.personal.forEach((s) => {
176
176
  s.roleName === "Начальник отдела правовой и кадровой работы" && (x = s.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(c.fullName), e.getCell(`AD${n.value.length + 8}`).value = se(x), 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 = o, e.getCell(`F${n.value.length + 8}`).border = { bottom: { style: "thin" } }, e.getCell(`W${n.value.length + 8}`).border = { bottom: { style: "thin" } };
178
- const E = "export_" + G(Date.now(), "{dd}.{m}.{Y}") + ".xlsx", A = await l.xlsx.writeBuffer();
179
- Fe(new Blob([A]), E), J.value = !1;
180
- }, Ne = async () => {
181
- Q.value || c.workSchedule.addWorkSchedule({ data: n.value, date: G(new Date(w.value), "{Y}-{m}-{dd}"), group: b.value[0] }).then((l) => Q.value = l);
178
+ const E = "export_" + G(Date.now(), "{dd}.{m}.{Y}") + ".xlsx", M = await l.xlsx.writeBuffer();
179
+ Fe(new Blob([M]), E), J.value = !1;
180
+ }, Ae = async () => {
181
+ Q.value || c.workSchedule.addWorkSchedule({ data: n.value, date: G(new Date(f.value), "{Y}-{m}-{dd}"), group: b.value[0] }).then((l) => Q.value = l);
182
182
  };
183
- return console.log("props.group", c.group), console.log("props.date", c.date), c.group && (b.value[0] = c.group), c.date && (w.value = /* @__PURE__ */ new Date(c.date + "T00:00:01")), Ue().then((l) => {
183
+ return console.log("props.group", c.group), console.log("props.date", c.date), c.group && (b.value[0] = c.group), c.date && (f.value = /* @__PURE__ */ new Date(c.date + "T00:00:01")), Ue().then((l) => {
184
184
  he.value = l, ce();
185
185
  }), (l, e) => {
186
186
  const o = we("el-date-picker"), r = we("svg-icon"), m = Te("loading");
187
187
  return S(), z("div", Je, [
188
- y("div", Qe, [
188
+ k("div", Qe, [
189
189
  H.checkEdit ? (S(), F(a(Ie), {
190
190
  key: 0,
191
191
  modelValue: b.value,
@@ -223,7 +223,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
223
223
  format: "MMM",
224
224
  "value-format": "M"
225
225
  }, null, 8, ["modelValue"]),
226
- e[21] || (e[21] = y("div", { class: "expander" }, null, -1)),
226
+ e[21] || (e[21] = k("div", { class: "expander" }, null, -1)),
227
227
  i(a(ve), {
228
228
  modelValue: j.value,
229
229
  "onUpdate:modelValue": e[3] || (e[3] = (t) => j.value = t),
@@ -280,7 +280,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
280
280
  }, {
281
281
  default: v(() => [
282
282
  i(a(Y), {
283
- label: a(d)("workSchedule.title", { name: b.value[0] }) + a(q)(w.value, "month") + ` ${new Date(w.value).getFullYear()}`,
283
+ label: a(d)("workSchedule.title", { name: b.value[0] }) + a(q)(f.value, "month") + ` ${new Date(f.value).getFullYear()}`,
284
284
  align: "center",
285
285
  height: "34"
286
286
  }, {
@@ -292,7 +292,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
292
292
  fixed: j.value !== "100%"
293
293
  }, {
294
294
  default: v((t) => [
295
- y("div", Ke, h(n.value[t.$index].name), 1)
295
+ k("div", Ke, h(n.value[t.$index].name), 1)
296
296
  ]),
297
297
  _: 1
298
298
  }, 8, ["label", "fixed"]),
@@ -311,7 +311,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
311
311
  prop: "vacation"
312
312
  }, {
313
313
  default: v((x) => [
314
- y("div", Xe, h(pe(t.day, x.$index) || " "), 1)
314
+ k("div", Xe, h(pe(t.day, x.$index) || " "), 1)
315
315
  ]),
316
316
  _: 2
317
317
  }, 1032, ["class-name", "label"]))), 128))
@@ -338,7 +338,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
338
338
  align: "center"
339
339
  }, {
340
340
  default: v((t) => [
341
- y("div", {
341
+ k("div", {
342
342
  style: ze(`color: ${R.value === t.row.contHour ? "green" : "red"};`)
343
343
  }, h(t.row.contHour), 5)
344
344
  ]),
@@ -361,7 +361,7 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
361
361
  Q.value ? _("", !0) : (S(), F(a(T), {
362
362
  key: 0,
363
363
  type: "primary",
364
- onClick: Ne
364
+ onClick: Ae
365
365
  }, {
366
366
  default: v(() => [
367
367
  V(h(a(d)("workSchedule.confirm")), 1)
@@ -369,12 +369,12 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
369
369
  _: 1
370
370
  })),
371
371
  e[22] || (e[22] = V()),
372
- y("span", null, h(H.fullName), 1)
372
+ k("span", null, h(H.fullName), 1)
373
373
  ])) : _("", !0),
374
374
  Be((S(), F(a(T), {
375
375
  disabled: J.value,
376
376
  plain: "",
377
- onClick: Me,
377
+ onClick: Ne,
378
378
  style: { "margin-top": ".5rem" }
379
379
  }, {
380
380
  default: v(() => [
@@ -416,11 +416,11 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
416
416
  default: v(() => [
417
417
  i(a(Oe), {
418
418
  ref: "dialogForm",
419
- model: N.value,
419
+ model: A.value,
420
420
  autocomplete: "on"
421
421
  }, {
422
422
  default: v(() => [
423
- (S(!0), z(ie, null, re(N.value, (t) => (S(), F(a(Ge), null, {
423
+ (S(!0), z(ie, null, re(A.value, (t) => (S(), F(a(Ge), null, {
424
424
  default: v(() => [
425
425
  i(a(ve), {
426
426
  modelValue: t.val,
@@ -442,12 +442,12 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
442
442
  options: ne.value
443
443
  }, {
444
444
  default: v(() => [
445
- y("div", {
445
+ k("div", {
446
446
  class: "mx-context-menu-item",
447
447
  onClick: e[8] || (e[8] = (t) => P.value = !1)
448
448
  }, [
449
- y("span", el, h(p.value.name), 1),
450
- e[23] || (e[23] = y("div", { class: "expander" }, null, -1)),
449
+ k("span", el, h(p.value.name), 1),
450
+ e[23] || (e[23] = k("div", { class: "expander" }, null, -1)),
451
451
  i(r, { "icon-class": "cross" })
452
452
  ]),
453
453
  i(a(qe)),
@@ -473,8 +473,8 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
473
473
  ]),
474
474
  _: 1
475
475
  }, 8, ["modelValue"]),
476
- e[24] || (e[24] = y("br", null, null, -1)),
477
- y("span", null, h(a(d)("workSchedule.fromDate")) + ":", 1),
476
+ e[24] || (e[24] = k("br", null, null, -1)),
477
+ k("span", null, h(a(d)("workSchedule.fromDate")) + ":", 1),
478
478
  i(a(Z), {
479
479
  modelValue: W.value,
480
480
  "onUpdate:modelValue": e[10] || (e[10] = (t) => W.value = t),
@@ -482,21 +482,21 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
482
482
  min: 1,
483
483
  max: u.value.length
484
484
  }, null, 8, ["modelValue", "max"]),
485
- y("span", null, h(a(d)("workSchedule.with")) + ":", 1),
485
+ k("span", null, h(a(d)("workSchedule.with")) + ":", 1),
486
486
  i(a(Z), {
487
- modelValue: k.value,
488
- "onUpdate:modelValue": e[11] || (e[11] = (t) => k.value = t),
487
+ modelValue: C.value,
488
+ "onUpdate:modelValue": e[11] || (e[11] = (t) => C.value = t),
489
489
  step: 1,
490
490
  min: 0,
491
491
  max: 19
492
492
  }, null, 8, ["modelValue"]),
493
- y("span", null, h(a(d)("workSchedule.duration")) + ":", 1),
493
+ k("span", null, h(a(d)("workSchedule.duration")) + ":", 1),
494
494
  i(a(Z), {
495
- modelValue: f.value,
496
- "onUpdate:modelValue": e[12] || (e[12] = (t) => f.value = t),
495
+ modelValue: y.value,
496
+ "onUpdate:modelValue": e[12] || (e[12] = (t) => y.value = t),
497
497
  step: 1,
498
498
  min: 4,
499
- max: a(ke)(k.value !== 1 ? 23 - k.value : 21, 4, 22)
499
+ max: a(ke)(C.value !== 1 ? 23 - C.value : 21, 4, 22)
500
500
  }, null, 8, ["modelValue", "max"]),
501
501
  i(a(T), {
502
502
  style: { "margin-top": ".5rem" },
@@ -519,24 +519,24 @@ const Je = { class: "work" }, Qe = { class: "nav" }, Ke = { style: { height: "10
519
519
  _: 1
520
520
  })
521
521
  ])) : (S(), z("div", tl, [
522
- y("div", null, h(pe(p.value.day, p.value.ids)), 1),
523
- e[25] || (e[25] = y("br", null, null, -1)),
524
- y("span", null, h(a(d)("workSchedule.with")) + ":", 1),
522
+ k("div", null, h(pe(p.value.day, p.value.ids)), 1),
523
+ e[25] || (e[25] = k("br", null, null, -1)),
524
+ k("span", null, h(a(d)("workSchedule.with")) + ":", 1),
525
525
  i(a(Z), {
526
- modelValue: k.value,
527
- "onUpdate:modelValue": e[15] || (e[15] = (t) => k.value = t),
526
+ modelValue: C.value,
527
+ "onUpdate:modelValue": e[15] || (e[15] = (t) => C.value = t),
528
528
  step: 1,
529
529
  min: 0,
530
530
  max: 19,
531
531
  onChange: e[16] || (e[16] = (t) => fe(p.value.day, p.value.ids))
532
532
  }, null, 8, ["modelValue"]),
533
- y("span", null, h(a(d)("workSchedule.duration")) + ":", 1),
533
+ k("span", null, h(a(d)("workSchedule.duration")) + ":", 1),
534
534
  i(a(Z), {
535
- modelValue: f.value,
536
- "onUpdate:modelValue": e[17] || (e[17] = (t) => f.value = t),
535
+ modelValue: y.value,
536
+ "onUpdate:modelValue": e[17] || (e[17] = (t) => y.value = t),
537
537
  step: 1,
538
538
  min: 4,
539
- max: a(ke)(k.value !== 1 ? 23 - k.value : 21, 4, 22),
539
+ max: a(ke)(C.value !== 1 ? 23 - C.value : 21, 4, 22),
540
540
  onChange: e[18] || (e[18] = (t) => fe(p.value.day, p.value.ids))
541
541
  }, null, 8, ["modelValue", "max"]),
542
542
  i(a(T), {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@studio-west/employees",
3
- "version": "0.6.57",
3
+ "version": "0.6.59",
4
4
  "files": [
5
5
  "dist"
6
6
  ],