@studio-west/employees 0.6.31 → 0.6.32
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.
- package/dist/SheetTable.cjs +3 -3
- package/dist/SheetTable.js +76 -76
- package/package.json +1 -1
package/dist/SheetTable.cjs
CHANGED
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),Ce=require("vue-i18n"),c=require("./index-Dn3djtwj.cjs"),m=require("element-plus"),T=require("@imengyu/vue3-context-menu"),ie=require("file-saver"),be=require("exceljs");function we(S){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(S){for(const i in S)if(i!=="default"){const E=Object.getOwnPropertyDescriptor(S,i);Object.defineProperty(y,i,E.get?E:{enumerable:!0,get:()=>S[i]})}}return y.default=S,Object.freeze(y)}const De=we(be),$e={class:"nav"},xe={style:{height:"20px",width:"100%",display:"inline-block"}},ke={style:{height:"20px",width:"100%",display:"inline-block"}},Ne={key:0,style:{padding:"0 1rem .5rem"}},Ve={key:1,style:{padding:"0 1rem .5rem"}},Se={__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(S){const y=S,{t:i,d:E}=Ce.useI18n(),j=e.ref(!1),b=e.ref([]),U=e.ref("0"),p=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(U.value))),d=e.ref([]),N=e.ref(""),X=e.ref("100%"),B=e.ref("true"),Z=e.ref([{value:"all",label:"Все",key:"all"}]),se=e.ref([{value:"Я",label:i("sheet.valid.1")},{value:"К",label:i("sheet.valid.2")},{value:"ОТ",label:i("sheet.valid.3")},{value:"ДО",label:i("sheet.valid.4")},{value:"Р",label:i("sheet.valid.5")},{value:"ОЖ",label:i("sheet.valid.6")},{value:"Б",label:i("sheet.valid.7")},{value:"НН",label:i("sheet.valid.8")},{value:"ПР",label:i("sheet.valid.9")},{value:"У",label:i("sheet.valid.10")},{value:"УД",label:i("sheet.valid.11")},{value:"Г",label:i("sheet.valid.12")}]),le=e.ref([]),de=e.ref(0),$=e.ref(9),w=e.ref(8),x=e.ref(0),I=e.ref(0),z=e.ref([]),_=e.ref(!1),Q=e.ref([]),J=e.ref([]),M=e.ref(!1),q=e.ref(!1),R=e.ref(1),te=e.ref(null),ee=e.ref({zIndex:3,minWidth:230,x:500,y:200}),v=e.ref({name:"",length:0,code:""}),k=e.ref([]),L=e.ref(""),W=e.ref("_____"),r=e.computed(()=>b.value.flatMap((t,l)=>{console.log("allPeriods");const h=k.value.find(a=>a.code===t.code),u=new Map;t.days.forEach(a=>u.set(a.day,{...a})),h&&h.days.forEach(a=>u.set(a.day,{...a}));const n=Array.from(u.values());return[{...t,days:n,key:0,ids:l,numberNonAppearing:[0,0]},{...t,days:n,key:1,ids:l,numberNonAppearing:[0,0]}]}));e.watch(N,async(t,l)=>{t!==l&&(z.value=[],confirm.value=!1,y.odata.personal.forEach(h=>{h.divisionName===t&&(z.value.some(u=>(u==null?void 0:u.activeText)===h.roleName)||z.value.push({val:!0,activeText:h.roleName}))}),ne())}),e.watch(U,t=>{p.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(t)),ae(),ne()}),e.watch(w,()=>{_.value=M.value}),e.watch($,()=>{_.value=M.value}),e.watch(R,()=>{_.value=M.value});const ve=(t,l,h,u)=>{if(console.log("coMenu"),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 n=new Date(p.value),a=`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`,s=k.value.findIndex(f=>f.code===t.code);v.value.id=s!==-1?k.value[s].days.findIndex(f=>(f==null?void 0:f.day)===a):s,v.value.rest=s!==-1&&v.value.id!==-1,$.value=typeof t.days[v.value.day].tips>"u"?9:parseInt(t.days[v.value.day].tips.match(/(\d{1,2})/)),x.value=typeof t.days[v.value.day].night>"u"?0:parseInt(t.days[v.value.day].night),I.value=typeof t.days[v.value.day].overtime>"u"?0:parseInt(t.days[v.value.day].overtime),w.value=t.days[v.value.day].time!=="-"?parseInt(t.days[v.value.day].time+x.value+I.value):8;const g=t.days.findIndex(f=>f.day===a);v.value.failure=t.days[g].state,ee.value.y=u.clientY,ee.value.x=u.clientX,v.value.name=i("sheet.choiceOfMode"),M.value=!0,_.value=!1},G=t=>{console.log("onMenuClick");const l=new Date(p.value),h=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`;let u=k.value.findIndex(C=>C.code===b.value[v.value.ids].code);v.value.id=u!==-1?k.value[u].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")}`):u;let n=b.value[v.value.ids].days[v.value.day].state,a=t,s="-",g,f,D;switch(console.log(t),t){case"Я":n==="В"&&(a="РВ"),s=8;break;case"КВ":case"К":n==="В"||n==="КВ"?a="КВ":a="К";break;case"save":console.log(F.value);let C=F.value.split('"');a=C[1],_.value=!1,console.log(a),console.log(C[2]),C[2]!==""&&(s=w.value-x.value-I.value,D="("+C[2].split("(")[1],g=x.value,f=I.value,console.log(D))}console.log(v.value.id),t==="reset"?(a=n,k.value[u].days.splice(v.value.id,1)):u===-1?k.value.push({code:b.value[v.value.ids].code,days:[{day:h,state:a,time:s,night:g,overtime:f,tips:D}]}):v.value.id===-1?k.value[u].days.push({day:h,state:a,time:s,night:g,overtime:f,tips:D}):k.value[u].days[v.value.id]={day:h,state:a,time:s,night:g,overtime:f,tips:D},u=k.value.findIndex(C=>C.code===b.value[v.value.ids].code),y.workSchedule.addWorkSheet({group:N.value,date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}"),data:[{name:b.value[v.value.ids].fio,days:k.value[u].days,code:b.value[v.value.ids].code}]}),v.value.failure=a,R.value>1&&(R.value--,v.value.day++,G(a)),ue()},F=e.computed(()=>{q.value=!1;let t=b.value[v.value.ids].days[v.value.day],l="";x.value=0,I.value=0;let h=w.value>=22?$.value+w.value+2:$.value+w.value+1,u=v.value.failure.split("/")[0];u=/^Н(?!Н$)С?$/.test(u)?t.state!=="В"?"Я":"РВ":u,/^(|Я|РВ)$/.test(u)&&(($.value<6||h>22)&&(l="Н",x.value=$.value<6?Math.min(6,h)-$.value:0,h<=6&&(x.value=w.value,u=""),h===7&&x.value>3&&x.value--,x.value+=Math.max(22,h)-22),w.value>t.time&&u!=="РВ"&&(l+="С",q.value=!0,I.value=w.value-t.time),/РВ/.test(u)&&(q.value=!0)),l.length>0&&u.length>0&&(l="/"+l);let n=typeof(t==null?void 0:t.tips)<"u"?t.tips:`(${$.value}:00 - ${w.value>=22?$.value+w.value+2:$.value+w.value+1}:00)`,a=r.value[v.value.ids*2].days[v.value.day].time!=="-"?" "+w.value+" "+n:"";return'"'+u+l+'"'+a}),ce=t=>{if(t.columnIndex<2||t.columnIndex>d.value.length+3&&t.columnIndex<d.value.length+9||t.columnIndex>d.value.length+11)return r.value[t.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},ae=()=>{console.log("holiday");const t=le.value,l=new Date(p.value),h=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let u=[],n=0;for(let a=1;a<=h;a++){const s=c.parseTime(l.setDate(a),"{Y}-{m}-{dd}");n+=t.nowork.includes(s)||t.holidays.includes(s)?0:t.preholidays.includes(s)?7:8;let g=t.nowork.includes(s)?"nowork":t.holidays.includes(s)?"holiday":t.preholidays.includes(s)?"preholiday":"";u.push({day:a,holidays:g,weekday:E(new Date(l.getFullYear(),l.getMonth(),a),"day")})}return de.value=n,d.value=u,y.odata.getPersonal({}).then(a=>{var s;N.value.length===0&&(N.value=(s=a.find(g=>g.employeeName===y.fullName))==null?void 0:s.divisionName),a.forEach(g=>{Z.value.some(f=>(f==null?void 0:f.value)===g.divisionName)||Z.value.push({value:g.divisionName,label:g.divisionName,key:g.divisionName}),g.divisionName===N.value&&!z.value.some(f=>(f==null?void 0:f.activeText)===g.roleName)&&z.value.push({val:!0,activeText:g.roleName})})}),!0},ne=()=>{console.log("handleJob"),b.value=[],J.value=[],Q.value=[],y.odata.personal.forEach(t=>{if(t.divisionName===N.value&&z.value.some(l=>l.val&&l.activeText===t.roleName)){let l=c.byInitials(t.employeeName);J.value.push(t.employeeKey),b.value.push({fio:t.employeeName,name:l+" ("+t.roleName+")",code:t.employeeKey,days:[],contHour:0,id:!1,ids:b.value.length})}t.employeeName===y.fullName&&(W.value=t.roleName)}),y.workSchedule.getUsersYear({code:J.value,year:new Date(p.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&Q.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),he()})},he=()=>{console.log("personal"),y.workSchedule.getWorkSheet({code:J.value,date:c.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(t=>{k.value=[],t.forEach(l=>{l!==null&&k.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((h,u)=>{var n,a;if(h!==null){b.value[u].days=[],h.data.days.forEach(s=>s.state="Я");for(let s=1;s<=d.value.length;s++){let g=c.parseTime(new Date(p.value).setDate(s),"{Y}-{m}-{dd}");const f=(n=h.data)==null?void 0:n.days.findIndex(D=>D.day===g);f===-1?K(s,u,"-","В"):b.value[u].days.push((a=h.data)==null?void 0:a.days[f])}}else for(let s=1;s<=d.value.length;s++)d.value[s-1].holidays===""?K(s,u,8):d.value[s-1].holidays==="preholiday"?K(s,u,7):K(s,u,"-","В");for(let s=1;s<=d.value.length;s++){let g=new Date(new Date(p.value).getFullYear(),new Date(p.value).getMonth(),s).getTime()+1e3;for(let f of Q.value){const{dateStart:D,dateEnd:C,code:A}=f;if(D&&C&&A===b.value[u].code){const Y=new Date(c.parseDate(D)).getTime(),O=new Date(c.parseDate(C)).getTime();if(g>=Y&&g<=O){const P=c.parseTime(new Date(p.value).setDate(s),"{Y}-{m}-{dd}"),o=b.value[u].days.findIndex(H=>H.day===P);o!==-1?b.value[u].days[o]={day:P,time:"-",state:"ОТ"}:b.value[u].days.push({day:P,time:"-",state:"ОТ"})}}}}}),ue()})})},K=(t,l,h,u="Я")=>{const n=c.parseTime(new Date(p.value).setDate(t),"{Y}-{m}-{dd}");b.value[l].days.push({day:n,time:h,state:u})},ue=()=>{console.log("contDay"),r.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((a,s)=>{if(s.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(s.state)){const g=s.state;a[g]=(a[g]||0)+1}return a},{})).map(([a,s])=>({code:a,count:s}));t.numberNonAppearing=[l.reduce((a,s)=>a+s.count,0),0];const h=Math.ceil(l.length/2),u=l.slice(0,h),n=l.slice(h);t.key===0&&u.length>0&&(t.appearing={code:u.map(a=>a.code).join("/"),count:u.map(a=>a.count).join("/")}),t.key===1&&n.length>0&&(t.appearing={code:n.map(a=>a.code).join("/"),count:n.map(a=>a.count).join("/")});for(let a=0;a<t.days.length;a++)a<15&&t.days[a].time!=="-"&&(t.hourI+=Number(t.days[a].time),t.days[a].night&&(t.hourI+=Number(t.days[a].night)),t.days[a].overtime&&(t.hourI+=Number(t.days[a].overtime)),t.halfI++),a>=15&&t.days[a].time!=="-"&&(t.days[a].night&&(t.hourII+=Number(t.days[a].night)),t.days[a].overtime&&(t.hourII+=Number(t.days[a].overtime)),t.hourII+=Number(t.days[a].time),t.halfII++),t.days[a].night&&(t.night+=Number(t.days[a].night)),t.days[a].overtime&&(t.overtime+=Number(t.days[a].overtime)),/{|РВ|}/.test(t.days[a].state)&&(t.weekend+=Number(t.days[a].time)),t.days[a].state==="В"&&t.weekendDays++;t.contDays=t.halfI+t.halfII,t.contHour=t.hourI+t.hourII})},oe=(t,l)=>{var g,f,D,C,A,Y;if(l===-1)return"";const h=r.value[l],u=new Date(p.value),n=`${u.getFullYear()}-${(u.getMonth()+1).toString().padStart(2,"0")}-${t.toString().padStart(2,"0")}`,a=h.days.findIndex(O=>O.day===n);let s=0;return(g=h.days[a])!=null&&g.night&&(s+=h.days[a].night),(f=h.days[a])!=null&&f.overtime&&(s+=h.days[a].overtime),a===-1?"":h.key===0?(D=h.days[a])==null?void 0:D.state:((C=h.days[a])==null?void 0:C.time)===0?s===0?"-":s:s===0?(A=h.days[a])==null?void 0:A.time:`${(Y=h.days[a])==null?void 0:Y.time}/${s}`};y.group&&(N.value=y.group),y.date&&(U.value=new Date(y.date+"T00:00:01").getMonth()),c.holidays().then(t=>{le.value=t,ae()});const re=t=>new Date(p.value).getMonth()===new Date().getMonth()&&t===new Date().getDate()?" today":"",ge=()=>{let t=F.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],x.value>0&&(Number(t[1])<=6?t[1]=Number(t[1])+x.value:t[2]=Number(t[2])-x.value),Number(t[1])<Number(l[1])?`${t[1]}:00 по ${Number(t[1])+I.value}:00`:`${Number(t[2])-I.value}:00 по ${t[2]}:00`},me=()=>{let t=/РВ/.test(F.value),l=t?F.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):ge();console.log(t),L.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>от ${W.value} ${c.byInitials(y.fullName)}</div><p>${N.value}<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}, ${r.value[v.value.ids*2].name.match(/\(([^)]+)\)/)[1]} ${r.value[v.value.ids*2].fio} для выполнения вышеуказанных работ с его(её) письменного согласия.</p><p>${W.value} ________________ ${c.byInitials(y.fullName)}</p>`},fe=async()=>{var A,Y,O,P;j.value=!0;const t=new De.Workbook,l=t.addWorksheet(E(p.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),h={vertical:"middle",horizontal:"center"},u={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},n={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 o=1;o<=d.value.length+2;o++)l.mergeCells(`${c.cellsDynamically("D3",o)}3:${c.cellsDynamically("D4",o)}4`),l.getColumn(o+3).width=5,l.getColumn(o+3).alignment=n,l.getCell(3,o+3).border=u,o<16&&(l.getCell(3,o+3).value=o),o>16&&(l.getCell(3,o+3).value=o-1);l.getCell("A1").value=i("sheet.title",{name:N.value})+E(p.value,"month"),l.getCell("A2").value=i("sheet.listNumber"),l.getCell("B2").value=i("sheet.employee"),l.getCell("C2").value=i("sheet.personnelNumber"),l.getCell("D2").value=i("sheet.marks"),l.getCell("S3").value=i("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=i("sheet.workedMonth"),l.getCell(2,d.value.length+12).value=i("sheet.numberNonAppearing"),l.getCell(2,d.value.length+13).value=i("sheet.them"),l.getCell(2,d.value.length+15).value=i("sheet.countWeekend"),l.getCell(3,d.value.length+5).value=i("sheet.halfMonth",{half:"II"}),l.getCell(3,d.value.length+6).value=i("sheet.days"),l.getCell(3,d.value.length+7).value=i("sheet.hours"),l.getCell(4,d.value.length+7).value=i("sheet.all"),l.getCell(4,d.value.length+8).value=i("sheet.overtime"),l.getCell(4,d.value.length+9).value=i("sheet.night"),l.getCell(4,d.value.length+10).value=i("sheet.weekend"),l.getCell(4,d.value.length+13).value=i("sheet.code"),l.getCell(4,d.value.length+14).value=i("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=h,l.getColumn(1).alignment=n,l.getColumn(2).alignment=n,l.getColumn(3).alignment=n;for(let o=6;o<=15;o++)l.getCell(5,d.value.length+o).value=o+2,l.getColumn(d.value.length+o).alignment=n,l.getCell(4,d.value.length+o).border=u,l.getCell(5,d.value.length+o).border=u;l.getCell("A2").border=u,l.getCell("B2").border=u,l.getCell("C2").border=u,l.getCell("D2").border=u,l.getCell("D2").border=u,l.getCell("A5").border=u,l.getCell("B5").border=u,l.getCell("C5").border=u,l.getCell("D5").border=u,l.getCell("S5").border=u,l.getCell("T5").border=u,l.getCell(2,d.value.length+6).border=u,l.getCell(2,d.value.length+12).border=u,l.getCell(2,d.value.length+13).border=u,l.getCell(2,d.value.length+15).border=u,l.getCell(3,d.value.length+7).border=u;let a=1,s=5,g=!0;for(const o of r.value){let H=[a,o.name,o.code];for(let V=0;V<d.value.length;V++)V===15&&H.push(g?(o==null?void 0:o.halfI)||"":(o==null?void 0:o.hourI)||""),H.push(g?((A=o.days[V])==null?void 0:A.state)||"":((Y=o.days[V])==null?void 0:Y.time)||"");H.push(g?(o==null?void 0:o.halfII)||0:(o==null?void 0:o.hourII)||0,(o==null?void 0:o.contDays)||0,(o==null?void 0:o.contHour)||0,(o==null?void 0:o.overtime)||0,(o==null?void 0:o.night)||0,(o==null?void 0:o.weekend)||0,"",g?(o==null?void 0:o.numberNonAppearing[0])||"":(o==null?void 0:o.numberNonAppearing[1])||0,((O=o==null?void 0:o.appearing)==null?void 0:O.code)||"-",((P=o==null?void 0:o.appearing)==null?void 0:P.count)||"-",(o==null?void 0:o.weekendDays)||0);const pe=l.addRow(H);if(pe.border=u,!g){l.mergeCells(`A${s+a*2-1}:A${s+a*2}`),l.mergeCells(`B${s+a*2-1}:B${s+a*2}`),l.mergeCells(`C${s+a*2-1}:C${s+a*2}`);for(let V=d.value.length+3;V<=d.value.length+8;V++)l.mergeCells(`${c.cellsDynamically("D",V)}${s+a*2-1}:${c.cellsDynamically("D",V)}${s+a*2}`);l.mergeCells(`${c.cellsDynamically("D",d.value.length+12)}${s+a*2-1}:${c.cellsDynamically("D",d.value.length+12)}${s+a*2}`),a++}g=!g}let f="Чемарина Н. Ю.";y.odata.personal.forEach(o=>{o.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(f=o.employeeName)}),l.mergeCells(`A${r.value.length+7}:B${r.value.length+7}`),l.mergeCells(`C${r.value.length+7}:G${r.value.length+7}`),l.mergeCells(`H${r.value.length+7}:M${r.value.length+7}`),l.mergeCells(`O${r.value.length+7}:T${r.value.length+7}`),l.mergeCells(`V${r.value.length+7}:AC${r.value.length+7}`),l.mergeCells(`AD${r.value.length+7}:AI${r.value.length+7}`),l.mergeCells(`AJ${r.value.length+7}:AL${r.value.length+7}`),l.mergeCells(`AM${r.value.length+7}:AP${r.value.length+7}`),l.mergeCells(`V${r.value.length+9}:AC${r.value.length+9}`),l.mergeCells(`AD${r.value.length+9}:AI${r.value.length+9}`),l.mergeCells(`AJ${r.value.length+9}:AL${r.value.length+9}`),l.mergeCells(`AM${r.value.length+9}:AP${r.value.length+9}`),l.getCell(`A${r.value.length+7}`).value=i("sheet.responsiblePerson"),l.getCell(`V${r.value.length+7}`).value=i("sheet.headStructural"),l.getCell(`C${r.value.length+7}`).value=W.value+":",l.getCell(`O${r.value.length+7}`).value=c.byInitials(y.fullName),l.getCell(`AD${r.value.length+7}`).value=W.value+":",l.getCell(`AM${r.value.length+7}`).value=c.byInitials(y.fullName),l.getCell(`V${r.value.length+9}`).value=i("sheet.HREmployee"),l.getCell(`AD${r.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",l.getCell(`AM${r.value.length+9}`).value=c.byInitials(f),l.getCell(`A${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`C${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`O${r.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${r.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${r.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${r.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${r.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`H${r.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${r.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${r.value.length+9}`).border={bottom:{style:"thin"}};const D=`export_${c.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,C=await t.xlsx.writeBuffer();ie.saveAs(new Blob([C]),D),j.value=!1},ye=()=>{let t=new Blob([L.value],{type:"text/plain;charset=utf-8"});ie.saveAs(t,`Служебка_${c.byInitials(r.value[v.value.ids*2].fio)}_${c.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(t,l)=>{const h=e.resolveComponent("el-slider"),u=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",$e,[S.checkEdit?(e.openBlock(),e.createBlock(e.unref(m.ElSelect),{key:0,modelValue:N.value,"onUpdate:modelValue":l[0]||(l[0]=n=>N.value=n),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Z.value,n=>(e.openBlock(),e.createBlock(e.unref(m.ElOption),{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),l[14]||(l[14]=e.createElementVNode("div",{class:"expander"},null,-1)),S.checkEdit?(e.openBlock(),e.createBlock(e.unref(m.ElSwitch),{key:1,modelValue:U.value,"onUpdate:modelValue":l[1]||(l[1]=n=>U.value=n),"active-text":e.unref(i)("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(m.ElSwitch),{modelValue:X.value,"onUpdate:modelValue":l[2]||(l[2]=n=>X.value=n),"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(m.ElSwitch),{modelValue:B.value,"onUpdate:modelValue":l[3]||(l[3]=n=>B.value=n),"active-text":t.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(m.ElTable),{id:"printTable",data:r.value,"span-method":ce,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(i)("sheet.emptyText"),align:"center",onCellClick:ve,"max-height":X.value},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.title",{name:N.value})+e.unref(E)(p.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.employee"),width:B.value==="false"?180:t.auto,align:"center"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,n=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n.day},[n.day<=15?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:0,width:"30","class-name":n.holidays+re(n.day),align:"center",label:n.day.toString()+`
|
|
2
|
-
`+n.weekday},{default:e.withCtx(a=>[e.createElementVNode("div",xe,e.toDisplayString(
|
|
3
|
-
`+n.weekday},{default:e.withCtx(a=>[e.createElementVNode("div",ke,e.toDisplayString(
|
|
1
|
+
"use strict";const e=require("vue"),Ce=require("vue-i18n"),h=require("./index-Dn3djtwj.cjs"),m=require("element-plus"),T=require("@imengyu/vue3-context-menu"),ie=require("file-saver"),be=require("exceljs");function we(S){const y=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(S){for(const i in S)if(i!=="default"){const E=Object.getOwnPropertyDescriptor(S,i);Object.defineProperty(y,i,E.get?E:{enumerable:!0,get:()=>S[i]})}}return y.default=S,Object.freeze(y)}const De=we(be),$e={class:"nav"},xe={style:{height:"20px",width:"100%",display:"inline-block"}},ke={style:{height:"20px",width:"100%",display:"inline-block"}},Ne={key:0,style:{padding:"0 1rem .5rem"}},Ve={key:1,style:{padding:"0 1rem .5rem"}},Se={__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(S){const y=S,{t:i,d:E}=Ce.useI18n(),j=e.ref(!1),b=e.ref([]),U=e.ref("0"),p=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(U.value))),d=e.ref([]),k=e.ref(""),X=e.ref("100%"),B=e.ref("true"),Z=e.ref([{value:"all",label:"Все",key:"all"}]),se=e.ref([{value:"Я",label:i("sheet.valid.1")},{value:"К",label:i("sheet.valid.2")},{value:"ОТ",label:i("sheet.valid.3")},{value:"ДО",label:i("sheet.valid.4")},{value:"Р",label:i("sheet.valid.5")},{value:"ОЖ",label:i("sheet.valid.6")},{value:"Б",label:i("sheet.valid.7")},{value:"НН",label:i("sheet.valid.8")},{value:"ПР",label:i("sheet.valid.9")},{value:"У",label:i("sheet.valid.10")},{value:"УД",label:i("sheet.valid.11")},{value:"Г",label:i("sheet.valid.12")}]),le=e.ref([]),de=e.ref(0),$=e.ref(9),w=e.ref(8),N=e.ref(0),F=e.ref(0),O=e.ref([]),_=e.ref(!1),Q=e.ref([]),J=e.ref([]),M=e.ref(!1),q=e.ref(!1),R=e.ref(1),te=e.ref(null),ee=e.ref({zIndex:3,minWidth:230,x:500,y:200}),v=e.ref({name:"",length:0,code:""}),x=e.ref([]),L=e.ref(""),W=e.ref("_____"),r=e.computed(()=>b.value.flatMap((t,l)=>{console.log("allPeriods");const c=x.value.find(a=>a.code===t.code),o=new Map;t.days.forEach(a=>o.set(a.day,{...a})),c&&c.days.forEach(a=>o.set(a.day,{...a}));const n=Array.from(o.values());return[{...t,days:n,key:0,ids:l,numberNonAppearing:[0,0]},{...t,days:n,key:1,ids:l,numberNonAppearing:[0,0]}]}));e.watch(k,async(t,l)=>{t!==l&&(O.value=[],confirm.value=!1,y.odata.personal.forEach(c=>{c.divisionName===t&&(O.value.some(o=>(o==null?void 0:o.activeText)===c.roleName)||O.value.push({val:!0,activeText:c.roleName}))}),ne())}),e.watch(U,t=>{p.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(t)),ae(),ne()}),e.watch(w,()=>{_.value=M.value}),e.watch($,()=>{_.value=M.value}),e.watch(R,()=>{_.value=M.value});const ve=(t,l,c,o)=>{if(console.log("coMenu"),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 n=new Date(p.value),a=`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`,s=x.value.findIndex(f=>f.code===t.code);v.value.id=s!==-1?x.value[s].days.findIndex(f=>(f==null?void 0:f.day)===a):s,v.value.rest=s!==-1&&v.value.id!==-1,$.value=typeof t.days[v.value.day].tips>"u"?9:parseInt(t.days[v.value.day].tips.match(/(\d{1,2})/)),N.value=typeof t.days[v.value.day].night>"u"?0:parseInt(t.days[v.value.day].night),F.value=typeof t.days[v.value.day].overtime>"u"?0:parseInt(t.days[v.value.day].overtime),w.value=t.days[v.value.day].time!=="-"?parseInt(t.days[v.value.day].time):8;const g=t.days.findIndex(f=>f.day===a);v.value.failure=t.days[g].state,ee.value.y=o.clientY,ee.value.x=o.clientX,v.value.name=i("sheet.choiceOfMode"),M.value=!0,_.value=!1},G=t=>{console.log("onMenuClick");const l=new Date(p.value),c=`${l.getFullYear()}-${(l.getMonth()+1).toString().padStart(2,"0")}-${(v.value.day+1).toString().padStart(2,"0")}`;let o=x.value.findIndex(C=>C.code===b.value[v.value.ids].code);v.value.id=o!==-1?x.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 n=b.value[v.value.ids].days[v.value.day].state,a=t,s="-",g,f,D;switch(console.log(t),t){case"Я":n==="В"&&(a="РВ"),s=8;break;case"КВ":case"К":n==="В"||n==="КВ"?a="КВ":a="К";break;case"save":console.log(P.value);let C=P.value.split('"');a=C[1],_.value=!1,console.log(a),console.log(C[2]),C[2]!==""&&(s=w.value,D="("+C[2].split("(")[1],g=N.value,f=F.value,console.log(D))}console.log(v.value.id),t==="reset"?(a=n,x.value[o].days.splice(v.value.id,1)):o===-1?x.value.push({code:b.value[v.value.ids].code,days:[{day:c,state:a,time:s,night:g,overtime:f,tips:D}]}):v.value.id===-1?x.value[o].days.push({day:c,state:a,time:s,night:g,overtime:f,tips:D}):x.value[o].days[v.value.id]={day:c,state:a,time:s,night:g,overtime:f,tips:D},o=x.value.findIndex(C=>C.code===b.value[v.value.ids].code),y.workSchedule.addWorkSheet({group:k.value,date:h.parseTime(new Date(p.value),"{Y}-{m}-{dd}"),data:[{name:b.value[v.value.ids].fio,days:x.value[o].days,code:b.value[v.value.ids].code}]}),v.value.failure=a,R.value>1&&(R.value--,v.value.day++,G(a)),oe()},P=e.computed(()=>{q.value=!1;let t=b.value[v.value.ids].days[v.value.day],l="";N.value=0,F.value=0;let c=w.value>=22?$.value+w.value+2:$.value+w.value+1,o=v.value.failure.split("/")[0];o=/^Н(?!Н$)С?$/.test(o)?t.state!=="В"?"Я":"РВ":o,/^(|Я|РВ)$/.test(o)&&(($.value<6||c>22)&&(l="Н",N.value=$.value<6?Math.min(6,c)-$.value:0,c<=6&&(N.value=w.value,o=""),c===7&&N.value>3&&N.value--,N.value+=Math.max(22,c)-22),w.value>t.time&&o!=="РВ"&&(l+="С",q.value=!0,F.value=w.value-t.time),/РВ/.test(o)&&(q.value=!0)),l.length>0&&o.length>0&&(l="/"+l);let n=typeof(t==null?void 0:t.tips)<"u"?t.tips:`(${$.value}:00 - ${w.value>=22?$.value+w.value+2:$.value+w.value+1}:00)`,a=r.value[v.value.ids*2].days[v.value.day].time!=="-"?" "+w.value+" "+n:"";return'"'+o+l+'"'+a}),ce=t=>{if(t.columnIndex<2||t.columnIndex>d.value.length+3&&t.columnIndex<d.value.length+9||t.columnIndex>d.value.length+11)return r.value[t.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},ae=()=>{console.log("holiday");const t=le.value,l=new Date(p.value),c=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let o=[],n=0;for(let a=1;a<=c;a++){const s=h.parseTime(l.setDate(a),"{Y}-{m}-{dd}");n+=t.nowork.includes(s)||t.holidays.includes(s)?0:t.preholidays.includes(s)?7:8;let g=t.nowork.includes(s)?"nowork":t.holidays.includes(s)?"holiday":t.preholidays.includes(s)?"preholiday":"";o.push({day:a,holidays:g,weekday:E(new Date(l.getFullYear(),l.getMonth(),a),"day")})}return de.value=n,d.value=o,y.odata.getPersonal({}).then(a=>{var s;k.value.length===0&&(k.value=(s=a.find(g=>g.employeeName===y.fullName))==null?void 0:s.divisionName),a.forEach(g=>{Z.value.some(f=>(f==null?void 0:f.value)===g.divisionName)||Z.value.push({value:g.divisionName,label:g.divisionName,key:g.divisionName}),g.divisionName===k.value&&!O.value.some(f=>(f==null?void 0:f.activeText)===g.roleName)&&O.value.push({val:!0,activeText:g.roleName})})}),!0},ne=()=>{console.log("handleJob"),b.value=[],J.value=[],Q.value=[],y.odata.personal.forEach(t=>{if(t.divisionName===k.value&&O.value.some(l=>l.val&&l.activeText===t.roleName)){let l=h.byInitials(t.employeeName);J.value.push(t.employeeKey),b.value.push({fio:t.employeeName,name:l+" ("+t.roleName+")",code:t.employeeKey,days:[],contHour:0,id:!1,ids:b.value.length})}t.employeeName===y.fullName&&(W.value=t.roleName)}),y.workSchedule.getUsersYear({code:J.value,year:new Date(p.value).getFullYear()}).then(t=>{t.forEach(l=>{l.dateStart&&Q.value.push({code:l.code,dateStart:l.dateStart,dateEnd:l.dateEnd})}),he()})},he=()=>{console.log("personal"),y.workSchedule.getWorkSheet({code:J.value,date:h.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(t=>{x.value=[],t.forEach(l=>{l!==null&&x.value.push({code:l.code,days:l.data.days})}),y.workSchedule.getWorkSchedule({code:J.value,date:h.parseTime(new Date(p.value),"{Y}-{m}-{dd}")}).then(l=>{l.forEach((c,o)=>{var n,a;if(c!==null){b.value[o].days=[],c.data.days.forEach(s=>s.state="Я");for(let s=1;s<=d.value.length;s++){let g=h.parseTime(new Date(p.value).setDate(s),"{Y}-{m}-{dd}");const f=(n=c.data)==null?void 0:n.days.findIndex(D=>D.day===g);f===-1?K(s,o,"-","В"):b.value[o].days.push((a=c.data)==null?void 0:a.days[f])}}else for(let s=1;s<=d.value.length;s++)d.value[s-1].holidays===""?K(s,o,8):d.value[s-1].holidays==="preholiday"?K(s,o,7):K(s,o,"-","В");for(let s=1;s<=d.value.length;s++){let g=new Date(new Date(p.value).getFullYear(),new Date(p.value).getMonth(),s).getTime()+1e3;for(let f of Q.value){const{dateStart:D,dateEnd:C,code:A}=f;if(D&&C&&A===b.value[o].code){const Y=new Date(h.parseDate(D)).getTime(),z=new Date(h.parseDate(C)).getTime();if(g>=Y&&g<=z){const I=h.parseTime(new Date(p.value).setDate(s),"{Y}-{m}-{dd}"),u=b.value[o].days.findIndex(H=>H.day===I);u!==-1?b.value[o].days[u]={day:I,time:"-",state:"ОТ"}:b.value[o].days.push({day:I,time:"-",state:"ОТ"})}}}}}),oe()})})},K=(t,l,c,o="Я")=>{const n=h.parseTime(new Date(p.value).setDate(t),"{Y}-{m}-{dd}");b.value[l].days.push({day:n,time:c,state:o})},oe=()=>{console.log("contDay"),r.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((a,s)=>{if(s.hasOwnProperty("state")&&/^(|К|КВ|ОТ|Б|Р|ПР|ОЖ|НН|У|ДО|УД|Г)$/.test(s.state)){const g=s.state;a[g]=(a[g]||0)+1}return a},{})).map(([a,s])=>({code:a,count:s}));t.numberNonAppearing=[l.reduce((a,s)=>a+s.count,0),0];const c=Math.ceil(l.length/2),o=l.slice(0,c),n=l.slice(c);t.key===0&&o.length>0&&(t.appearing={code:o.map(a=>a.code).join("/"),count:o.map(a=>a.count).join("/")}),t.key===1&&n.length>0&&(t.appearing={code:n.map(a=>a.code).join("/"),count:n.map(a=>a.count).join("/")});for(let a=0;a<t.days.length;a++)a<15&&t.days[a].time!=="-"&&(t.hourI+=Number(t.days[a].time),t.days[a].night&&(t.hourI+=Number(t.days[a].night)),t.days[a].overtime&&(t.hourI+=Number(t.days[a].overtime)),t.halfI++),a>=15&&t.days[a].time!=="-"&&(t.days[a].night&&(t.hourII+=Number(t.days[a].night)),t.days[a].overtime&&(t.hourII+=Number(t.days[a].overtime)),t.hourII+=Number(t.days[a].time),t.halfII++),t.days[a].night&&(t.night+=Number(t.days[a].night)),t.days[a].overtime&&(t.overtime+=Number(t.days[a].overtime)),/{|РВ|}/.test(t.days[a].state)&&(t.weekend+=Number(t.days[a].time)),t.days[a].state==="В"&&t.weekendDays++;t.contDays=t.halfI+t.halfII,t.contHour=t.hourI+t.hourII})},ue=(t,l)=>{var g,f,D,C,A,Y,z;if(l===-1)return"";const c=r.value[l],o=new Date(p.value),n=`${o.getFullYear()}-${(o.getMonth()+1).toString().padStart(2,"0")}-${t.toString().padStart(2,"0")}`,a=c.days.findIndex(I=>I.day===n);let s=0;return(g=c.days[a])!=null&&g.night&&(s+=c.days[a].night),(f=c.days[a])!=null&&f.overtime&&(s+=c.days[a].overtime),a===-1?"":c.key===0?(D=c.days[a])==null?void 0:D.state:((C=c.days[a])==null?void 0:C.time)===0?s===0?"-":s:s===0||s===((A=c.days[a])==null?void 0:A.time)?(Y=c.days[a])==null?void 0:Y.time:`${(z=c.days[a])==null?void 0:z.time}/${s}`};y.group&&(k.value=y.group),y.date&&(U.value=new Date(y.date+"T00:00:01").getMonth()),h.holidays().then(t=>{le.value=t,ae()});const re=t=>new Date(p.value).getMonth()===new Date().getMonth()&&t===new Date().getDate()?" today":"",ge=()=>{let t=P.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],N.value>0&&(Number(t[1])<=6?t[1]=Number(t[1])+N.value:t[2]=Number(t[2])-N.value),Number(t[1])<Number(l[1])?`${t[1]}:00 по ${Number(t[1])+F.value}:00`:`${Number(t[2])-F.value}:00 по ${t[2]}:00`},me=()=>{let t=/РВ/.test(P.value),l=t?P.value.match(/\(([^)]+)\)/)[1].replace("-"," по "):ge();console.log(t),L.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>от ${W.value} ${h.byInitials(y.fullName)}</div><p>${k.value}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${h.parseTime(new Date(p.value).setDate(v.value.day+1),'"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Иван Сергеевич!</p><p>В связи с производственной необходимостью _________________, прошу привлечь к ${t?"к работе в выходной день":"сверхурочной работе"}, ${h.parseTime(new Date(p.value).setDate(v.value.day+1),"{dd}.{m}.{Y}")} c ${l}, ${r.value[v.value.ids*2].name.match(/\(([^)]+)\)/)[1]} ${r.value[v.value.ids*2].fio} для выполнения вышеуказанных работ с его(её) письменного согласия.</p><p>${W.value} ________________ ${h.byInitials(y.fullName)}</p>`},fe=async()=>{var A,Y,z,I;j.value=!0;const t=new De.Workbook,l=t.addWorksheet(E(p.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),c={vertical:"middle",horizontal:"center"},o={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},n={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${h.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:${h.cellsDynamically("D2",d.value.length+2)}2`),l.mergeCells(`${h.cellsDynamically("D2",d.value.length+3)}2:${h.cellsDynamically("D2",d.value.length+8)}2`),l.mergeCells(`${h.cellsDynamically("D2",d.value.length+9)}2:${h.cellsDynamically("D2",d.value.length+9)}4`),l.mergeCells(`${h.cellsDynamically("D2",d.value.length+10)}2:${h.cellsDynamically("D2",d.value.length+11)}2`),l.mergeCells(`${h.cellsDynamically("D2",d.value.length+12)}2:${h.cellsDynamically("D2",d.value.length+12)}4`),l.mergeCells(`${h.cellsDynamically("D3",d.value.length+3)}3:${h.cellsDynamically("D3",d.value.length+3)}4`),l.mergeCells(`${h.cellsDynamically("D3",d.value.length+4)}3:${h.cellsDynamically("D3",d.value.length+8)}3`),l.mergeCells(`${h.cellsDynamically("D3",d.value.length+10)}3:${h.cellsDynamically("D3",d.value.length+10)}4`),l.mergeCells(`${h.cellsDynamically("D3",d.value.length+11)}3:${h.cellsDynamically("D3",d.value.length+11)}4`),l.mergeCells(`T5:${h.cellsDynamically("D5",d.value.length+1)}5`);for(let u=1;u<=d.value.length+2;u++)l.mergeCells(`${h.cellsDynamically("D3",u)}3:${h.cellsDynamically("D4",u)}4`),l.getColumn(u+3).width=5,l.getColumn(u+3).alignment=n,l.getCell(3,u+3).border=o,u<16&&(l.getCell(3,u+3).value=u),u>16&&(l.getCell(3,u+3).value=u-1);l.getCell("A1").value=i("sheet.title",{name:k.value})+E(p.value,"month"),l.getCell("A2").value=i("sheet.listNumber"),l.getCell("B2").value=i("sheet.employee"),l.getCell("C2").value=i("sheet.personnelNumber"),l.getCell("D2").value=i("sheet.marks"),l.getCell("S3").value=i("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=i("sheet.workedMonth"),l.getCell(2,d.value.length+12).value=i("sheet.numberNonAppearing"),l.getCell(2,d.value.length+13).value=i("sheet.them"),l.getCell(2,d.value.length+15).value=i("sheet.countWeekend"),l.getCell(3,d.value.length+5).value=i("sheet.halfMonth",{half:"II"}),l.getCell(3,d.value.length+6).value=i("sheet.days"),l.getCell(3,d.value.length+7).value=i("sheet.hours"),l.getCell(4,d.value.length+7).value=i("sheet.all"),l.getCell(4,d.value.length+8).value=i("sheet.overtime"),l.getCell(4,d.value.length+9).value=i("sheet.night"),l.getCell(4,d.value.length+10).value=i("sheet.weekend"),l.getCell(4,d.value.length+13).value=i("sheet.code"),l.getCell(4,d.value.length+14).value=i("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=c,l.getColumn(1).alignment=n,l.getColumn(2).alignment=n,l.getColumn(3).alignment=n;for(let u=6;u<=15;u++)l.getCell(5,d.value.length+u).value=u+2,l.getColumn(d.value.length+u).alignment=n,l.getCell(4,d.value.length+u).border=o,l.getCell(5,d.value.length+u).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 a=1,s=5,g=!0;for(const u of r.value){let H=[a,u.name,u.code];for(let V=0;V<d.value.length;V++)V===15&&H.push(g?(u==null?void 0:u.halfI)||"":(u==null?void 0:u.hourI)||""),H.push(g?((A=u.days[V])==null?void 0:A.state)||"":((Y=u.days[V])==null?void 0:Y.time)||"");H.push(g?(u==null?void 0:u.halfII)||0:(u==null?void 0:u.hourII)||0,(u==null?void 0:u.contDays)||0,(u==null?void 0:u.contHour)||0,(u==null?void 0:u.overtime)||0,(u==null?void 0:u.night)||0,(u==null?void 0:u.weekend)||0,"",g?(u==null?void 0:u.numberNonAppearing[0])||"":(u==null?void 0:u.numberNonAppearing[1])||0,((z=u==null?void 0:u.appearing)==null?void 0:z.code)||"-",((I=u==null?void 0:u.appearing)==null?void 0:I.count)||"-",(u==null?void 0:u.weekendDays)||0);const pe=l.addRow(H);if(pe.border=o,!g){l.mergeCells(`A${s+a*2-1}:A${s+a*2}`),l.mergeCells(`B${s+a*2-1}:B${s+a*2}`),l.mergeCells(`C${s+a*2-1}:C${s+a*2}`);for(let V=d.value.length+3;V<=d.value.length+8;V++)l.mergeCells(`${h.cellsDynamically("D",V)}${s+a*2-1}:${h.cellsDynamically("D",V)}${s+a*2}`);l.mergeCells(`${h.cellsDynamically("D",d.value.length+12)}${s+a*2-1}:${h.cellsDynamically("D",d.value.length+12)}${s+a*2}`),a++}g=!g}let f="Чемарина Н. Ю.";y.odata.personal.forEach(u=>{u.roleName==="Специалист по кадрам и кадровому делопроизводству"&&(f=u.employeeName)}),l.mergeCells(`A${r.value.length+7}:B${r.value.length+7}`),l.mergeCells(`C${r.value.length+7}:G${r.value.length+7}`),l.mergeCells(`H${r.value.length+7}:M${r.value.length+7}`),l.mergeCells(`O${r.value.length+7}:T${r.value.length+7}`),l.mergeCells(`V${r.value.length+7}:AC${r.value.length+7}`),l.mergeCells(`AD${r.value.length+7}:AI${r.value.length+7}`),l.mergeCells(`AJ${r.value.length+7}:AL${r.value.length+7}`),l.mergeCells(`AM${r.value.length+7}:AP${r.value.length+7}`),l.mergeCells(`V${r.value.length+9}:AC${r.value.length+9}`),l.mergeCells(`AD${r.value.length+9}:AI${r.value.length+9}`),l.mergeCells(`AJ${r.value.length+9}:AL${r.value.length+9}`),l.mergeCells(`AM${r.value.length+9}:AP${r.value.length+9}`),l.getCell(`A${r.value.length+7}`).value=i("sheet.responsiblePerson"),l.getCell(`V${r.value.length+7}`).value=i("sheet.headStructural"),l.getCell(`C${r.value.length+7}`).value=W.value+":",l.getCell(`O${r.value.length+7}`).value=h.byInitials(y.fullName),l.getCell(`AD${r.value.length+7}`).value=W.value+":",l.getCell(`AM${r.value.length+7}`).value=h.byInitials(y.fullName),l.getCell(`V${r.value.length+9}`).value=i("sheet.HREmployee"),l.getCell(`AD${r.value.length+9}`).value="Специалист по кадрам и кадровому делопроизводству:",l.getCell(`AM${r.value.length+9}`).value=h.byInitials(f),l.getCell(`A${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`C${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`O${r.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${r.value.length+7}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${r.value.length+7}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`V${r.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AD${r.value.length+9}`).alignment={vertical:"middle",horizontal:"right",wrapText:!0},l.getCell(`AM${r.value.length+9}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`H${r.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${r.value.length+7}`).border={bottom:{style:"thin"}},l.getCell(`AJ${r.value.length+9}`).border={bottom:{style:"thin"}};const D=`export_${h.parseTime(Date.now(),"{dd}.{m}.{Y}")}.xlsx`,C=await t.xlsx.writeBuffer();ie.saveAs(new Blob([C]),D),j.value=!1},ye=()=>{let t=new Blob([L.value],{type:"text/plain;charset=utf-8"});ie.saveAs(t,`Служебка_${h.byInitials(r.value[v.value.ids*2].fio)}_${h.parseTime(Date.now(),"{dd}.{m}.{Y}")}.html`)};return(t,l)=>{const c=e.resolveComponent("el-slider"),o=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock(e.Fragment,null,[e.createElementVNode("div",$e,[S.checkEdit?(e.openBlock(),e.createBlock(e.unref(m.ElSelect),{key:0,modelValue:k.value,"onUpdate:modelValue":l[0]||(l[0]=n=>k.value=n),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(Z.value,n=>(e.openBlock(),e.createBlock(e.unref(m.ElOption),{key:n.value,label:n.label,value:n.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),l[14]||(l[14]=e.createElementVNode("div",{class:"expander"},null,-1)),S.checkEdit?(e.openBlock(),e.createBlock(e.unref(m.ElSwitch),{key:1,modelValue:U.value,"onUpdate:modelValue":l[1]||(l[1]=n=>U.value=n),"active-text":e.unref(i)("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(m.ElSwitch),{modelValue:X.value,"onUpdate:modelValue":l[2]||(l[2]=n=>X.value=n),"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(m.ElSwitch),{modelValue:B.value,"onUpdate:modelValue":l[3]||(l[3]=n=>B.value=n),"active-text":t.$t("sheet.simplified"),"active-value":"true","inactive-value":"false"},null,8,["modelValue","active-text"])]),e.createVNode(e.unref(m.ElTable),{id:"printTable",data:r.value,"span-method":ce,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(i)("sheet.emptyText"),align:"center",onCellClick:ve,"max-height":X.value},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.title",{name:k.value})+e.unref(E)(p.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.employee"),width:B.value==="false"?180:t.auto,align:"center"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].name),1)]),_:1},8,["label","width"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.personnelNumber"),align:"center",width:"108"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(d.value,n=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n.day},[n.day<=15?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:0,width:"30","class-name":n.holidays+re(n.day),align:"center",label:n.day.toString()+`
|
|
2
|
+
`+n.weekday},{default:e.withCtx(a=>[e.createElementVNode("div",xe,e.toDisplayString(ue(n.day,a.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0),n.day===15?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:1,label:e.unref(i)("sheet.halfMonth",{half:"I"}),align:"center",width:"120"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(r.value[a.$index].key===0?r.value[a.$index].halfI:r.value[a.$index].hourI),1)]),_:1},8,["label"])):e.createCommentVNode("",!0),n.day>15?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:2,width:"30","class-name":n.holidays+re(n.day),align:"center",label:n.day.toString()+`
|
|
3
|
+
`+n.weekday},{default:e.withCtx(a=>[e.createElementVNode("div",ke,e.toDisplayString(ue(n.day,a.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0)],64))),128)),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.halfMonth",{half:"II"}),align:"center",width:"120"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].key===0?r.value[n.$index].halfII:r.value[n.$index].hourII),1)]),_:1},8,["label"])]),_:1},8,["label"]),B.value==="false"?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:0,label:e.unref(i)("sheet.workedMonth"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.days"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].contDays),1)]),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.hours"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.all"),align:"center","label-class-name":"turn",width:"40"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].contHour),1)]),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.overtime"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].overtime),1)]),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.night"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].night),1)]),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.weekend"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$index].weekend),1)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),B.value==="false"?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:1,label:e.unref(i)("sheet.numberNonAppearing"),align:"center"},{default:e.withCtx(n=>{var a;return[e.createTextVNode(e.toDisplayString((a=r.value[n.$index])==null?void 0:a.numberNonAppearing[r.value[n.$index].key]),1)]}),_:1},8,["label"])):e.createCommentVNode("",!0),B.value==="false"?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:2,label:e.unref(i)("sheet.them"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.code"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(n=>{var a;return[e.createTextVNode(e.toDisplayString((a=r.value[n.$index].appearing)==null?void 0:a.code),1)]}),_:1},8,["label"]),e.createVNode(e.unref(m.ElTableColumn),{label:e.unref(i)("sheet.count"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(n=>{var a;return[e.createTextVNode(e.toDisplayString((a=r.value[n.$index].appearing)==null?void 0:a.count),1)]}),_:1},8,["label"])]),_:1},8,["label"])):e.createCommentVNode("",!0),B.value==="false"?(e.openBlock(),e.createBlock(e.unref(m.ElTableColumn),{key:3,label:e.unref(i)("sheet.countWeekend"),align:"center"},{default:e.withCtx(n=>[e.createTextVNode(e.toDisplayString(r.value[n.$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(m.ElButton),{disabled:j.value,plain:"",onClick:fe,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[o,j.value]]),e.createVNode(e.unref(T.ContextMenu),{show:M.value,"onUpdate:show":l[11]||(l[11]=n=>M.value=n),options:ee.value},{default:e.withCtx(()=>[e.createVNode(e.unref(T.ContextMenuItem),{label:v.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref(T.ContextMenuSeparator)),e.createElementVNode("div",null,[e.createElementVNode("div",null,[e.createVNode(e.unref(T.ContextMenuGroup),{label:P.value,style:{padding:"0 0 .5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(se.value,n=>(e.openBlock(),e.createBlock(e.unref(T.ContextMenuItem),{key:n.value,label:n.label,onClick:a=>{G(n.value),_.value=!1},clickClose:!1},null,8,["label","onClick"]))),128))]),_:1},8,["label"])]),/^(РВ|Я|Н(?![Н])).*$/.test(v.value.failure)?(e.openBlock(),e.createElementBlock("div",Ne,[e.createVNode(e.unref(T.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(i)("workSchedule.with"))+":",1)]),_:1}),e.createVNode(c,{modelValue:$.value,"onUpdate:modelValue":l[4]||(l[4]=n=>$.value=n),step:1,min:0,max:19,style:{width:"100%"}},null,8,["modelValue"]),e.createVNode(e.unref(T.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(i)("workSchedule.duration"))+":",1)]),_:1}),e.createVNode(c,{modelValue:w.value,"onUpdate:modelValue":l[5]||(l[5]=n=>w.value=n),step:1,min:4,max:e.unref(h.clamp)($.value!==1?23-$.value:21,4,22)},null,8,["modelValue","max"])])):e.createCommentVNode("",!0),/^(|К|КВ|ОТ|Б|Р|ОЖ|У|ДО|УД|Г)$/.test(v.value.failure)?(e.openBlock(),e.createElementBlock("div",Ve,[e.createVNode(e.unref(T.ContextMenuItem),{clickClose:!1},{default:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(e.unref(i)("sheet.count"))+":",1)]),_:1}),e.createVNode(c,{modelValue:R.value,"onUpdate:modelValue":l[6]||(l[6]=n=>R.value=n),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(T.ContextMenuItem),{class:"wrap"},{default:e.withCtx(()=>[v.value.rest?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:0,onClick:l[7]||(l[7]=n=>G("reset"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("sheet.reset")),1)]),_:1})):e.createCommentVNode("",!0),_.value?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:1,onClick:l[8]||(l[8]=n=>G("save"))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("sheet.save")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(e.unref(m.ElButton),{onClick:l[9]||(l[9]=n=>M.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("sheet.cancel")),1)]),_:1}),q.value?(e.openBlock(),e.createBlock(e.unref(m.ElButton),{key:2,onClick:l[10]||(l[10]=n=>me()),popovertarget:"my-service"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(i)("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:te},[l[15]||(l[15]=e.createElementVNode("header",null,"Служебная записка",-1)),(e.openBlock(),e.createBlock(e.resolveDynamicComponent(y.editor),{modelValue:L.value,"onUpdate:modelValue":l[12]||(l[12]=n=>L.value=n)},null,8,["modelValue"])),e.createElementVNode("footer",null,[e.createVNode(e.unref(m.ElButton),{onClick:l[13]||(l[13]=n=>te.value.hidePopover()),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("calendar.cancel")),1)]),_:1}),e.createVNode(e.unref(m.ElButton),{type:"success",plain:"",onClick:ye},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("calendar.save")),1)]),_:1})])],512)],64)}}};module.exports=Se;
|
package/dist/SheetTable.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import { ref as f, computed as xe, watch as te, resolveComponent as Fe, resolveDirective as He, createElementBlock as
|
|
1
|
+
import { ref as f, computed as xe, watch as te, resolveComponent as Fe, resolveDirective as He, createElementBlock as J, openBlock as C, Fragment as ne, createElementVNode as E, createVNode as y, withDirectives as Oe, createBlock as N, createCommentVNode as A, unref as s, withCtx as c, renderList as ye, createTextVNode as k, toDisplayString as p, resolveDynamicComponent as Ue } from "vue";
|
|
2
2
|
import { useI18n as Pe } from "vue-i18n";
|
|
3
|
-
import { p as B, b as
|
|
4
|
-
import { ElSelect as Je, ElOption as Le, ElSwitch as fe, ElTable as je, ElTableColumn as x, ElButton as
|
|
3
|
+
import { p as B, b as L, a as Ie, h as Re, c as We, d as b } from "./index-2Mx6IUGl.js";
|
|
4
|
+
import { ElSelect as Je, ElOption as Le, ElSwitch as fe, ElTable as je, ElTableColumn as x, ElButton as j } from "element-plus";
|
|
5
5
|
import { ContextMenu as Ge, ContextMenuItem as Z, ContextMenuSeparator as Ke, ContextMenuGroup as Xe } from "@imengyu/vue3-context-menu";
|
|
6
6
|
import { saveAs as Ne } from "file-saver";
|
|
7
7
|
import * as qe from "exceljs";
|
|
@@ -24,7 +24,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
24
24
|
editor: { type: Object, default: () => ({}) }
|
|
25
25
|
},
|
|
26
26
|
setup(de) {
|
|
27
|
-
const $ = de, { t: r, d: ue } = Pe(), oe = f(!1), I = f([]), Q = f("0"), w = f(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1).setMonth((/* @__PURE__ */ new Date()).getMonth() + Number(Q.value))), v = f([]),
|
|
27
|
+
const $ = de, { t: r, d: ue } = Pe(), oe = f(!1), I = f([]), Q = f("0"), w = f(new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1).setMonth((/* @__PURE__ */ new Date()).getMonth() + Number(Q.value))), v = f([]), T = f(""), he = f("100%"), H = f("true"), ge = f([{ value: "all", label: "Все", key: "all" }]), Se = f([
|
|
28
28
|
{ value: "Я", label: r("sheet.valid.1") },
|
|
29
29
|
{ value: "К", label: r("sheet.valid.2") },
|
|
30
30
|
{ value: "ОТ", label: r("sheet.valid.3") },
|
|
@@ -37,12 +37,12 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
37
37
|
{ value: "У", label: r("sheet.valid.10") },
|
|
38
38
|
{ value: "УД", label: r("sheet.valid.11") },
|
|
39
39
|
{ value: "Г", label: r("sheet.valid.12") }
|
|
40
|
-
]), pe = f([]), _e = f(0), M = f(9), S = f(8),
|
|
40
|
+
]), pe = f([]), _e = f(0), M = f(9), S = f(8), Y = f(0), G = f(0), K = f([]), O = f(!1), ce = f([]), ee = f([]), U = f(!1), se = f(!1), le = f(1), be = f(null), me = f({
|
|
41
41
|
zIndex: 3,
|
|
42
42
|
minWidth: 230,
|
|
43
43
|
x: 500,
|
|
44
44
|
y: 200
|
|
45
|
-
}), d = f({ name: "", length: 0, code: "" }),
|
|
45
|
+
}), d = f({ name: "", length: 0, code: "" }), V = f([
|
|
46
46
|
// {code: '00ЗК-00336',
|
|
47
47
|
// days:[
|
|
48
48
|
// {
|
|
@@ -54,14 +54,14 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
54
54
|
// }
|
|
55
55
|
]), ie = f(""), ae = f("_____"), o = xe(() => I.value.flatMap((l, e) => {
|
|
56
56
|
console.log("allPeriods");
|
|
57
|
-
const h =
|
|
57
|
+
const h = V.value.find((a) => a.code === l.code), n = /* @__PURE__ */ new Map();
|
|
58
58
|
l.days.forEach((a) => n.set(a.day, { ...a })), h && h.days.forEach((a) => n.set(a.day, { ...a }));
|
|
59
59
|
const t = Array.from(n.values());
|
|
60
60
|
return [{ ...l, days: t, key: 0, ids: e, numberNonAppearing: [0, 0] }, { ...l, days: t, key: 1, ids: e, numberNonAppearing: [0, 0] }];
|
|
61
61
|
}));
|
|
62
|
-
te(
|
|
63
|
-
l !== e && (
|
|
64
|
-
h.divisionName === l && (
|
|
62
|
+
te(T, async (l, e) => {
|
|
63
|
+
l !== e && (K.value = [], confirm.value = !1, $.odata.personal.forEach((h) => {
|
|
64
|
+
h.divisionName === l && (K.value.some((n) => (n == null ? void 0 : n.activeText) === h.roleName) || K.value.push({ val: !0, activeText: h.roleName }));
|
|
65
65
|
}), $e());
|
|
66
66
|
}), te(Q, (l) => {
|
|
67
67
|
w.value = new Date((/* @__PURE__ */ new Date()).getFullYear(), (/* @__PURE__ */ new Date()).getMonth(), 1).setMonth((/* @__PURE__ */ new Date()).getMonth() + Number(l)), Ce(), $e();
|
|
@@ -75,15 +75,15 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
75
75
|
const Me = (l, e, h, n) => {
|
|
76
76
|
if (console.log("coMenu"), e.level !== 3 || e.labelClassName === "turn" || e.no === 15 || e.no > v.value.length || !$.checkEdit) return "";
|
|
77
77
|
d.value.ids = l.ids, d.value.key = l.key, d.value.day = e.no < 15 ? e.no : e.no - 1;
|
|
78
|
-
const t = new Date(w.value), a = `${t.getFullYear()}-${(t.getMonth() + 1).toString().padStart(2, "0")}-${(d.value.day + 1).toString().padStart(2, "0")}`, i =
|
|
79
|
-
d.value.id = i !== -1 ?
|
|
78
|
+
const t = new Date(w.value), a = `${t.getFullYear()}-${(t.getMonth() + 1).toString().padStart(2, "0")}-${(d.value.day + 1).toString().padStart(2, "0")}`, i = V.value.findIndex((m) => m.code === l.code);
|
|
79
|
+
d.value.id = i !== -1 ? V.value[i].days.findIndex((m) => (m == null ? void 0 : m.day) === a) : i, d.value.rest = i !== -1 && d.value.id !== -1, M.value = typeof l.days[d.value.day].tips > "u" ? 9 : parseInt(l.days[d.value.day].tips.match(/(\d{1,2})/)), Y.value = typeof l.days[d.value.day].night > "u" ? 0 : parseInt(l.days[d.value.day].night), G.value = typeof l.days[d.value.day].overtime > "u" ? 0 : parseInt(l.days[d.value.day].overtime), S.value = l.days[d.value.day].time !== "-" ? parseInt(l.days[d.value.day].time) : 8;
|
|
80
80
|
const g = l.days.findIndex((m) => m.day === a);
|
|
81
81
|
d.value.failure = l.days[g].state, me.value.y = n.clientY, me.value.x = n.clientX, d.value.name = r("sheet.choiceOfMode"), U.value = !0, O.value = !1;
|
|
82
82
|
}, re = (l) => {
|
|
83
83
|
console.log("onMenuClick");
|
|
84
84
|
const e = new Date(w.value), h = `${e.getFullYear()}-${(e.getMonth() + 1).toString().padStart(2, "0")}-${(d.value.day + 1).toString().padStart(2, "0")}`;
|
|
85
|
-
let n =
|
|
86
|
-
d.value.id = n !== -1 ?
|
|
85
|
+
let n = V.value.findIndex((D) => D.code === I.value[d.value.ids].code);
|
|
86
|
+
d.value.id = n !== -1 ? V.value[n].days.findIndex((D) => (D == null ? void 0 : D.day) === `${e.getFullYear()}-${(e.getMonth() + 1).toString().padStart(2, "0")}-${(d.value.day + 1).toString().padStart(2, "0")}`) : n;
|
|
87
87
|
let t = I.value[d.value.ids].days[d.value.day].state, a = l, i = "-", g, m, _;
|
|
88
88
|
switch (console.log(l), l) {
|
|
89
89
|
case "Я":
|
|
@@ -94,25 +94,25 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
94
94
|
t === "В" || t === "КВ" ? a = "КВ" : a = "К";
|
|
95
95
|
break;
|
|
96
96
|
case "save":
|
|
97
|
-
console.log(
|
|
98
|
-
let D =
|
|
99
|
-
a = D[1], O.value = !1, console.log(a), console.log(D[2]), D[2] !== "" && (i = S.value
|
|
97
|
+
console.log(X.value);
|
|
98
|
+
let D = X.value.split('"');
|
|
99
|
+
a = D[1], O.value = !1, console.log(a), console.log(D[2]), D[2] !== "" && (i = S.value, _ = "(" + D[2].split("(")[1], g = Y.value, m = G.value, console.log(_));
|
|
100
100
|
}
|
|
101
|
-
console.log(d.value.id), l === "reset" ? (a = t,
|
|
102
|
-
group:
|
|
101
|
+
console.log(d.value.id), l === "reset" ? (a = t, V.value[n].days.splice(d.value.id, 1)) : n === -1 ? V.value.push({ code: I.value[d.value.ids].code, days: [{ day: h, state: a, time: i, night: g, overtime: m, tips: _ }] }) : d.value.id === -1 ? V.value[n].days.push({ day: h, state: a, time: i, night: g, overtime: m, tips: _ }) : V.value[n].days[d.value.id] = { day: h, state: a, time: i, night: g, overtime: m, tips: _ }, n = V.value.findIndex((D) => D.code === I.value[d.value.ids].code), $.workSchedule.addWorkSheet({
|
|
102
|
+
group: T.value,
|
|
103
103
|
date: B(new Date(w.value), "{Y}-{m}-{dd}"),
|
|
104
104
|
data: [{
|
|
105
105
|
name: I.value[d.value.ids].fio,
|
|
106
|
-
days:
|
|
106
|
+
days: V.value[n].days,
|
|
107
107
|
code: I.value[d.value.ids].code
|
|
108
108
|
}]
|
|
109
109
|
}), d.value.failure = a, le.value > 1 && (le.value--, d.value.day++, re(a)), we();
|
|
110
|
-
},
|
|
110
|
+
}, X = xe(() => {
|
|
111
111
|
se.value = !1;
|
|
112
112
|
let l = I.value[d.value.ids].days[d.value.day], e = "";
|
|
113
|
-
|
|
113
|
+
Y.value = 0, G.value = 0;
|
|
114
114
|
let h = S.value >= 22 ? M.value + S.value + 2 : M.value + S.value + 1, n = d.value.failure.split("/")[0];
|
|
115
|
-
n = /^Н(?!Н$)С?$/.test(n) ? l.state !== "В" ? "Я" : "РВ" : n, /^(|Я|РВ)$/.test(n) && ((M.value < 6 || h > 22) && (e = "Н",
|
|
115
|
+
n = /^Н(?!Н$)С?$/.test(n) ? l.state !== "В" ? "Я" : "РВ" : n, /^(|Я|РВ)$/.test(n) && ((M.value < 6 || h > 22) && (e = "Н", Y.value = M.value < 6 ? Math.min(6, h) - M.value : 0, h <= 6 && (Y.value = S.value, n = ""), h === 7 && Y.value > 3 && Y.value--, Y.value += Math.max(22, h) - 22), S.value > l.time && n !== "РВ" && (e += "С", se.value = !0, G.value = S.value - l.time), /РВ/.test(n) && (se.value = !0)), e.length > 0 && n.length > 0 && (e = "/" + e);
|
|
116
116
|
let t = typeof (l == null ? void 0 : l.tips) < "u" ? l.tips : `(${M.value}:00 - ${S.value >= 22 ? M.value + S.value + 2 : M.value + S.value + 1}:00)`, a = o.value[d.value.ids * 2].days[d.value.day].time !== "-" ? " " + S.value + " " + t : "";
|
|
117
117
|
return '"' + n + e + '"' + a;
|
|
118
118
|
}), Ae = (l) => {
|
|
@@ -136,14 +136,14 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
136
136
|
}
|
|
137
137
|
return _e.value = t, v.value = n, $.odata.getPersonal({}).then((a) => {
|
|
138
138
|
var i;
|
|
139
|
-
|
|
140
|
-
ge.value.some((m) => (m == null ? void 0 : m.value) === g.divisionName) || ge.value.push({ value: g.divisionName, label: g.divisionName, key: g.divisionName }), g.divisionName ===
|
|
139
|
+
T.value.length === 0 && (T.value = (i = a.find((g) => g.employeeName === $.fullName)) == null ? void 0 : i.divisionName), a.forEach((g) => {
|
|
140
|
+
ge.value.some((m) => (m == null ? void 0 : m.value) === g.divisionName) || ge.value.push({ value: g.divisionName, label: g.divisionName, key: g.divisionName }), g.divisionName === T.value && !K.value.some((m) => (m == null ? void 0 : m.activeText) === g.roleName) && K.value.push({ val: !0, activeText: g.roleName });
|
|
141
141
|
});
|
|
142
142
|
}), !0;
|
|
143
143
|
}, $e = () => {
|
|
144
144
|
console.log("handleJob"), I.value = [], ee.value = [], ce.value = [], $.odata.personal.forEach((l) => {
|
|
145
|
-
if (l.divisionName ===
|
|
146
|
-
let e =
|
|
145
|
+
if (l.divisionName === T.value && K.value.some((e) => e.val && e.activeText === l.roleName)) {
|
|
146
|
+
let e = L(l.employeeName);
|
|
147
147
|
ee.value.push(l.employeeKey), I.value.push({ fio: l.employeeName, name: e + " (" + l.roleName + ")", code: l.employeeKey, days: [], contHour: 0, id: !1, ids: I.value.length });
|
|
148
148
|
}
|
|
149
149
|
l.employeeName === $.fullName && (ae.value = l.roleName);
|
|
@@ -155,8 +155,8 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
155
155
|
}, Ve = () => {
|
|
156
156
|
console.log("personal"), $.workSchedule.getWorkSheet({ code: ee.value, date: B(new Date(w.value), "{Y}-{m}-{dd}") }).then(
|
|
157
157
|
(l) => {
|
|
158
|
-
|
|
159
|
-
e !== null &&
|
|
158
|
+
V.value = [], l.forEach((e) => {
|
|
159
|
+
e !== null && V.value.push({ code: e.code, days: e.data.days });
|
|
160
160
|
}), $.workSchedule.getWorkSchedule({ code: ee.value, date: B(new Date(w.value), "{Y}-{m}-{dd}") }).then(
|
|
161
161
|
(e) => {
|
|
162
162
|
e.forEach((h, n) => {
|
|
@@ -176,10 +176,10 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
176
176
|
for (let m of ce.value) {
|
|
177
177
|
const { dateStart: _, dateEnd: D, code: P } = m;
|
|
178
178
|
if (_ && D && P === I.value[n].code) {
|
|
179
|
-
const R = new Date(Ie(_)).getTime(),
|
|
180
|
-
if (g >= R && g <=
|
|
181
|
-
const
|
|
182
|
-
u !== -1 ? I.value[n].days[u] = { day:
|
|
179
|
+
const R = new Date(Ie(_)).getTime(), W = new Date(Ie(D)).getTime();
|
|
180
|
+
if (g >= R && g <= W) {
|
|
181
|
+
const F = B(new Date(w.value).setDate(i), "{Y}-{m}-{dd}"), u = I.value[n].days.findIndex((q) => q.day === F);
|
|
182
|
+
u !== -1 ? I.value[n].days[u] = { day: F, time: "-", state: "ОТ" } : I.value[n].days.push({ day: F, time: "-", state: "ОТ" });
|
|
183
183
|
}
|
|
184
184
|
}
|
|
185
185
|
}
|
|
@@ -225,29 +225,29 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
225
225
|
l.contDays = l.halfI + l.halfII, l.contHour = l.hourI + l.hourII;
|
|
226
226
|
});
|
|
227
227
|
}, De = (l, e) => {
|
|
228
|
-
var g, m, _, D, P, R;
|
|
228
|
+
var g, m, _, D, P, R, W;
|
|
229
229
|
if (e === -1) return "";
|
|
230
|
-
const h = o.value[e], n = new Date(w.value), t = `${n.getFullYear()}-${(n.getMonth() + 1).toString().padStart(2, "0")}-${l.toString().padStart(2, "0")}`, a = h.days.findIndex((
|
|
230
|
+
const h = o.value[e], n = new Date(w.value), t = `${n.getFullYear()}-${(n.getMonth() + 1).toString().padStart(2, "0")}-${l.toString().padStart(2, "0")}`, a = h.days.findIndex((F) => F.day === t);
|
|
231
231
|
let i = 0;
|
|
232
|
-
return (g = h.days[a]) != null && g.night && (i += h.days[a].night), (m = h.days[a]) != null && m.overtime && (i += h.days[a].overtime), a === -1 ? "" : h.key === 0 ? (_ = h.days[a]) == null ? void 0 : _.state : ((D = h.days[a]) == null ? void 0 : D.time) === 0 ? i === 0 ? "-" : i : i === 0
|
|
232
|
+
return (g = h.days[a]) != null && g.night && (i += h.days[a].night), (m = h.days[a]) != null && m.overtime && (i += h.days[a].overtime), a === -1 ? "" : h.key === 0 ? (_ = h.days[a]) == null ? void 0 : _.state : ((D = h.days[a]) == null ? void 0 : D.time) === 0 ? i === 0 ? "-" : i : i === 0 || i === ((P = h.days[a]) == null ? void 0 : P.time) ? (R = h.days[a]) == null ? void 0 : R.time : `${(W = h.days[a]) == null ? void 0 : W.time}/${i}`;
|
|
233
233
|
};
|
|
234
|
-
$.group && (
|
|
234
|
+
$.group && (T.value = $.group), $.date && (Q.value = (/* @__PURE__ */ new Date($.date + "T00:00:01")).getMonth()), Re().then((l) => {
|
|
235
235
|
pe.value = l, Ce();
|
|
236
236
|
});
|
|
237
237
|
const ke = (l) => new Date(w.value).getMonth() === (/* @__PURE__ */ new Date()).getMonth() && l === (/* @__PURE__ */ new Date()).getDate() ? " today" : "", Te = () => {
|
|
238
|
-
let l =
|
|
239
|
-
return e = typeof e < "u" ? e.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/) : [0, 9, 18],
|
|
238
|
+
let l = X.value.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/), e = I.value[d.value.ids].days[d.value.day + 1].tips;
|
|
239
|
+
return e = typeof e < "u" ? e.match(/(\d{1,2}):\d{2}\s*-\s*(\d{1,2})/) : [0, 9, 18], Y.value > 0 && (Number(l[1]) <= 6 ? l[1] = Number(l[1]) + Y.value : l[2] = Number(l[2]) - Y.value), Number(l[1]) < Number(e[1]) ? `${l[1]}:00 по ${Number(l[1]) + G.value}:00` : `${Number(l[2]) - G.value}:00 по ${l[2]}:00`;
|
|
240
240
|
}, Ee = () => {
|
|
241
|
-
let l = /РВ/.test(
|
|
242
|
-
console.log(l), ie.value = `<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${$.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Майстренко И.С.<br><br>от ${ae.value} ${
|
|
241
|
+
let l = /РВ/.test(X.value), e = l ? X.value.match(/\(([^)]+)\)/)[1].replace("-", " по ") : Te();
|
|
242
|
+
console.log(l), ie.value = `<p style="position: absolute;"><img src="https://cp.avanta-telecom.ru${$.logo}" style="height: 3rem;"></p><div style="display:inline-block;margin-left:66%;width:34%;">Директору<br>ООО "АВАНТА ТЕЛЕКОМ" Майстренко И.С.<br><br>от ${ae.value} ${L($.fullName)}</div><p>${T.value}<br>СЛУЖЕБНАЯ ЗАПИСКА<br>${B(new Date(w.value).setDate(d.value.day + 1), '"{dd}" {F} {Y}')}г.</p><p style="text-align:center;">Уважаемый Иван Сергеевич!</p><p>В связи с производственной необходимостью _________________, прошу привлечь к ${l ? "к работе в выходной день" : "сверхурочной работе"}, ${B(new Date(w.value).setDate(d.value.day + 1), "{dd}.{m}.{Y}")} c ${e}, ${o.value[d.value.ids * 2].name.match(/\(([^)]+)\)/)[1]} ${o.value[d.value.ids * 2].fio} для выполнения вышеуказанных работ с его(её) письменного согласия.</p><p>${ae.value} ________________ ${L($.fullName)}</p>`;
|
|
243
243
|
}, Ye = async () => {
|
|
244
|
-
var P, R,
|
|
244
|
+
var P, R, W, F;
|
|
245
245
|
oe.value = !0;
|
|
246
246
|
const l = new qe.Workbook(), e = l.addWorksheet(ue(w.value, "month"), { pageSetup: { paperSize: 9, orientation: "landscape", fitToPage: !0 } }), h = { vertical: "middle", horizontal: "center" }, n = { top: { style: "thin" }, left: { style: "thin" }, bottom: { style: "thin" }, right: { style: "thin" } }, t = { vertical: "middle", horizontal: "center", wrapText: !0 };
|
|
247
247
|
e.mergeCells(`A1:${b("A1", v.value.length + 15)}1`), e.mergeCells("A2:A4"), e.mergeCells("B2:B4"), e.mergeCells("C2:C4"), e.mergeCells("D5:R5"), e.mergeCells(`D2:${b("D2", v.value.length + 2)}2`), e.mergeCells(`${b("D2", v.value.length + 3)}2:${b("D2", v.value.length + 8)}2`), e.mergeCells(`${b("D2", v.value.length + 9)}2:${b("D2", v.value.length + 9)}4`), e.mergeCells(`${b("D2", v.value.length + 10)}2:${b("D2", v.value.length + 11)}2`), e.mergeCells(`${b("D2", v.value.length + 12)}2:${b("D2", v.value.length + 12)}4`), e.mergeCells(`${b("D3", v.value.length + 3)}3:${b("D3", v.value.length + 3)}4`), e.mergeCells(`${b("D3", v.value.length + 4)}3:${b("D3", v.value.length + 8)}3`), e.mergeCells(`${b("D3", v.value.length + 10)}3:${b("D3", v.value.length + 10)}4`), e.mergeCells(`${b("D3", v.value.length + 11)}3:${b("D3", v.value.length + 11)}4`), e.mergeCells(`T5:${b("D5", v.value.length + 1)}5`);
|
|
248
248
|
for (let u = 1; u <= v.value.length + 2; u++)
|
|
249
249
|
e.mergeCells(`${b("D3", u)}3:${b("D4", u)}4`), e.getColumn(u + 3).width = 5, e.getColumn(u + 3).alignment = t, e.getCell(3, u + 3).border = n, u < 16 && (e.getCell(3, u + 3).value = u), u > 16 && (e.getCell(3, u + 3).value = u - 1);
|
|
250
|
-
e.getCell("A1").value = r("sheet.title", { name:
|
|
250
|
+
e.getCell("A1").value = r("sheet.title", { name: T.value }) + ue(w.value, "month"), e.getCell("A2").value = r("sheet.listNumber"), e.getCell("B2").value = r("sheet.employee"), e.getCell("C2").value = r("sheet.personnelNumber"), e.getCell("D2").value = r("sheet.marks"), e.getCell("S3").value = r("sheet.halfMonth", { half: "I" }), e.getCell("A5").value = "1", e.getCell("B5").value = "2", e.getCell("C5").value = "3", e.getCell("D5").value = "4", e.getCell("S5").value = "5", e.getCell("T5").value = "6", e.getCell(5, v.value.length + 5).value = "7", e.getCell(2, v.value.length + 6).value = r("sheet.workedMonth"), e.getCell(2, v.value.length + 12).value = r("sheet.numberNonAppearing"), e.getCell(2, v.value.length + 13).value = r("sheet.them"), e.getCell(2, v.value.length + 15).value = r("sheet.countWeekend"), e.getCell(3, v.value.length + 5).value = r("sheet.halfMonth", { half: "II" }), e.getCell(3, v.value.length + 6).value = r("sheet.days"), e.getCell(3, v.value.length + 7).value = r("sheet.hours"), e.getCell(4, v.value.length + 7).value = r("sheet.all"), e.getCell(4, v.value.length + 8).value = r("sheet.overtime"), e.getCell(4, v.value.length + 9).value = r("sheet.night"), e.getCell(4, v.value.length + 10).value = r("sheet.weekend"), e.getCell(4, v.value.length + 13).value = r("sheet.code"), e.getCell(4, v.value.length + 14).value = r("sheet.count"), e.getRow(1).height = 40, e.getRow(2).height = 32, e.getRow(3).height = 20, e.getRow(4).height = 60, e.getColumn(1).width = 6, e.getColumn(2).width = 30, e.getColumn(3).width = 17, e.getColumn(19).width = 12, e.getColumn(v.value.length + 5).width = 12, e.getColumn(v.value.length + 12).width = 11, e.getColumn(v.value.length + 15).width = 11, e.getCell("A1").alignment = h, e.getColumn(1).alignment = t, e.getColumn(2).alignment = t, e.getColumn(3).alignment = t;
|
|
251
251
|
for (let u = 6; u <= 15; u++)
|
|
252
252
|
e.getCell(5, v.value.length + u).value = u + 2, e.getColumn(v.value.length + u).alignment = t, e.getCell(4, v.value.length + u).border = n, e.getCell(5, v.value.length + u).border = n;
|
|
253
253
|
e.getCell("A2").border = n, e.getCell("B2").border = n, e.getCell("C2").border = n, e.getCell("D2").border = n, e.getCell("D2").border = n, e.getCell("A5").border = n, e.getCell("B5").border = n, e.getCell("C5").border = n, e.getCell("D5").border = n, e.getCell("S5").border = n, e.getCell("T5").border = n, e.getCell(2, v.value.length + 6).border = n, e.getCell(2, v.value.length + 12).border = n, e.getCell(2, v.value.length + 13).border = n, e.getCell(2, v.value.length + 15).border = n, e.getCell(3, v.value.length + 7).border = n;
|
|
@@ -265,8 +265,8 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
265
265
|
(u == null ? void 0 : u.weekend) || 0,
|
|
266
266
|
"",
|
|
267
267
|
g ? (u == null ? void 0 : u.numberNonAppearing[0]) || "" : (u == null ? void 0 : u.numberNonAppearing[1]) || 0,
|
|
268
|
-
((
|
|
269
|
-
((
|
|
268
|
+
((W = u == null ? void 0 : u.appearing) == null ? void 0 : W.code) || "-",
|
|
269
|
+
((F = u == null ? void 0 : u.appearing) == null ? void 0 : F.count) || "-",
|
|
270
270
|
(u == null ? void 0 : u.weekendDays) || 0
|
|
271
271
|
);
|
|
272
272
|
const ze = e.addRow(q);
|
|
@@ -281,26 +281,26 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
281
281
|
let m = "Чемарина Н. Ю.";
|
|
282
282
|
$.odata.personal.forEach((u) => {
|
|
283
283
|
u.roleName === "Специалист по кадрам и кадровому делопроизводству" && (m = u.employeeName);
|
|
284
|
-
}), e.mergeCells(`A${o.value.length + 7}:B${o.value.length + 7}`), e.mergeCells(`C${o.value.length + 7}:G${o.value.length + 7}`), e.mergeCells(`H${o.value.length + 7}:M${o.value.length + 7}`), e.mergeCells(`O${o.value.length + 7}:T${o.value.length + 7}`), e.mergeCells(`V${o.value.length + 7}:AC${o.value.length + 7}`), e.mergeCells(`AD${o.value.length + 7}:AI${o.value.length + 7}`), e.mergeCells(`AJ${o.value.length + 7}:AL${o.value.length + 7}`), e.mergeCells(`AM${o.value.length + 7}:AP${o.value.length + 7}`), e.mergeCells(`V${o.value.length + 9}:AC${o.value.length + 9}`), e.mergeCells(`AD${o.value.length + 9}:AI${o.value.length + 9}`), e.mergeCells(`AJ${o.value.length + 9}:AL${o.value.length + 9}`), e.mergeCells(`AM${o.value.length + 9}:AP${o.value.length + 9}`), e.getCell(`A${o.value.length + 7}`).value = r("sheet.responsiblePerson"), e.getCell(`V${o.value.length + 7}`).value = r("sheet.headStructural"), e.getCell(`C${o.value.length + 7}`).value = ae.value + ":", e.getCell(`O${o.value.length + 7}`).value =
|
|
284
|
+
}), e.mergeCells(`A${o.value.length + 7}:B${o.value.length + 7}`), e.mergeCells(`C${o.value.length + 7}:G${o.value.length + 7}`), e.mergeCells(`H${o.value.length + 7}:M${o.value.length + 7}`), e.mergeCells(`O${o.value.length + 7}:T${o.value.length + 7}`), e.mergeCells(`V${o.value.length + 7}:AC${o.value.length + 7}`), e.mergeCells(`AD${o.value.length + 7}:AI${o.value.length + 7}`), e.mergeCells(`AJ${o.value.length + 7}:AL${o.value.length + 7}`), e.mergeCells(`AM${o.value.length + 7}:AP${o.value.length + 7}`), e.mergeCells(`V${o.value.length + 9}:AC${o.value.length + 9}`), e.mergeCells(`AD${o.value.length + 9}:AI${o.value.length + 9}`), e.mergeCells(`AJ${o.value.length + 9}:AL${o.value.length + 9}`), e.mergeCells(`AM${o.value.length + 9}:AP${o.value.length + 9}`), e.getCell(`A${o.value.length + 7}`).value = r("sheet.responsiblePerson"), e.getCell(`V${o.value.length + 7}`).value = r("sheet.headStructural"), e.getCell(`C${o.value.length + 7}`).value = ae.value + ":", e.getCell(`O${o.value.length + 7}`).value = L($.fullName), e.getCell(`AD${o.value.length + 7}`).value = ae.value + ":", e.getCell(`AM${o.value.length + 7}`).value = L($.fullName), e.getCell(`V${o.value.length + 9}`).value = r("sheet.HREmployee"), e.getCell(`AD${o.value.length + 9}`).value = "Специалист по кадрам и кадровому делопроизводству:", e.getCell(`AM${o.value.length + 9}`).value = L(m), e.getCell(`A${o.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, e.getCell(`C${o.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, e.getCell(`O${o.value.length + 7}`).alignment = { vertical: "middle", horizontal: "left" }, e.getCell(`V${o.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, e.getCell(`AD${o.value.length + 7}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, e.getCell(`AM${o.value.length + 7}`).alignment = { vertical: "middle", horizontal: "left" }, e.getCell(`V${o.value.length + 9}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, e.getCell(`AD${o.value.length + 9}`).alignment = { vertical: "middle", horizontal: "right", wrapText: !0 }, e.getCell(`AM${o.value.length + 9}`).alignment = { vertical: "middle", horizontal: "left" }, e.getCell(`H${o.value.length + 7}`).border = { bottom: { style: "thin" } }, e.getCell(`AJ${o.value.length + 7}`).border = { bottom: { style: "thin" } }, e.getCell(`AJ${o.value.length + 9}`).border = { bottom: { style: "thin" } };
|
|
285
285
|
const _ = `export_${B(Date.now(), "{dd}.{m}.{Y}")}.xlsx`, D = await l.xlsx.writeBuffer();
|
|
286
286
|
Ne(new Blob([D]), _), oe.value = !1;
|
|
287
287
|
}, Be = () => {
|
|
288
288
|
let l = new Blob([ie.value], { type: "text/plain;charset=utf-8" });
|
|
289
|
-
Ne(l, `Служебка_${
|
|
289
|
+
Ne(l, `Служебка_${L(o.value[d.value.ids * 2].fio)}_${B(Date.now(), "{dd}.{m}.{Y}")}.html`);
|
|
290
290
|
};
|
|
291
291
|
return (l, e) => {
|
|
292
292
|
const h = Fe("el-slider"), n = He("loading");
|
|
293
|
-
return C(),
|
|
294
|
-
|
|
293
|
+
return C(), J(ne, null, [
|
|
294
|
+
E("div", Ze, [
|
|
295
295
|
de.checkEdit ? (C(), N(s(Je), {
|
|
296
296
|
key: 0,
|
|
297
|
-
modelValue:
|
|
298
|
-
"onUpdate:modelValue": e[0] || (e[0] = (t) =>
|
|
297
|
+
modelValue: T.value,
|
|
298
|
+
"onUpdate:modelValue": e[0] || (e[0] = (t) => T.value = t),
|
|
299
299
|
placeholder: "Select",
|
|
300
300
|
style: { width: "240px", "margin-bottom": ".5rem", "margin-right": ".5rem" }
|
|
301
301
|
}, {
|
|
302
302
|
default: c(() => [
|
|
303
|
-
(C(!0),
|
|
303
|
+
(C(!0), J(ne, null, ye(ge.value, (t) => (C(), N(s(Le), {
|
|
304
304
|
key: t.value,
|
|
305
305
|
label: t.label,
|
|
306
306
|
value: t.value
|
|
@@ -308,7 +308,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
308
308
|
]),
|
|
309
309
|
_: 1
|
|
310
310
|
}, 8, ["modelValue"])) : A("", !0),
|
|
311
|
-
e[14] || (e[14] =
|
|
311
|
+
e[14] || (e[14] = E("div", { class: "expander" }, null, -1)),
|
|
312
312
|
de.checkEdit ? (C(), N(s(fe), {
|
|
313
313
|
key: 1,
|
|
314
314
|
modelValue: Q.value,
|
|
@@ -347,7 +347,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
347
347
|
}, {
|
|
348
348
|
default: c(() => [
|
|
349
349
|
y(s(x), {
|
|
350
|
-
label: s(r)("sheet.title", { name:
|
|
350
|
+
label: s(r)("sheet.title", { name: T.value }) + s(ue)(w.value, "month"),
|
|
351
351
|
align: "center",
|
|
352
352
|
height: "10"
|
|
353
353
|
}, {
|
|
@@ -377,7 +377,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
377
377
|
align: "center"
|
|
378
378
|
}, {
|
|
379
379
|
default: c(() => [
|
|
380
|
-
(C(!0),
|
|
380
|
+
(C(!0), J(ne, null, ye(v.value, (t) => (C(), J(ne, {
|
|
381
381
|
key: t.day
|
|
382
382
|
}, [
|
|
383
383
|
t.day <= 15 ? (C(), N(s(x), {
|
|
@@ -389,7 +389,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
389
389
|
` + t.weekday
|
|
390
390
|
}, {
|
|
391
391
|
default: c((a) => [
|
|
392
|
-
|
|
392
|
+
E("div", Qe, p(De(t.day, a.$index) || " "), 1)
|
|
393
393
|
]),
|
|
394
394
|
_: 2
|
|
395
395
|
}, 1032, ["class-name", "label"])) : A("", !0),
|
|
@@ -413,7 +413,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
413
413
|
` + t.weekday
|
|
414
414
|
}, {
|
|
415
415
|
default: c((a) => [
|
|
416
|
-
|
|
416
|
+
E("div", el, p(De(t.day, a.$index) || " "), 1)
|
|
417
417
|
]),
|
|
418
418
|
_: 2
|
|
419
419
|
}, 1032, ["class-name", "label"])) : A("", !0)
|
|
@@ -569,7 +569,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
569
569
|
]),
|
|
570
570
|
_: 1
|
|
571
571
|
}, 8, ["data", "empty-text", "max-height"]),
|
|
572
|
-
Oe((C(), N(s(
|
|
572
|
+
Oe((C(), N(s(j), {
|
|
573
573
|
disabled: oe.value,
|
|
574
574
|
plain: "",
|
|
575
575
|
onClick: Ye,
|
|
@@ -593,14 +593,14 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
593
593
|
disabled: ""
|
|
594
594
|
}, null, 8, ["label"]),
|
|
595
595
|
y(s(Ke)),
|
|
596
|
-
|
|
597
|
-
|
|
596
|
+
E("div", null, [
|
|
597
|
+
E("div", null, [
|
|
598
598
|
y(s(Xe), {
|
|
599
|
-
label:
|
|
599
|
+
label: X.value,
|
|
600
600
|
style: { padding: "0 0 .5rem" }
|
|
601
601
|
}, {
|
|
602
602
|
default: c(() => [
|
|
603
|
-
(C(!0),
|
|
603
|
+
(C(!0), J(ne, null, ye(Se.value, (t) => (C(), N(s(Z), {
|
|
604
604
|
key: t.value,
|
|
605
605
|
label: t.label,
|
|
606
606
|
onClick: (a) => {
|
|
@@ -612,10 +612,10 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
612
612
|
_: 1
|
|
613
613
|
}, 8, ["label"])
|
|
614
614
|
]),
|
|
615
|
-
/^(РВ|Я|Н(?![Н])).*$/.test(d.value.failure) ? (C(),
|
|
615
|
+
/^(РВ|Я|Н(?![Н])).*$/.test(d.value.failure) ? (C(), J("div", ll, [
|
|
616
616
|
y(s(Z), { clickClose: !1 }, {
|
|
617
617
|
default: c(() => [
|
|
618
|
-
|
|
618
|
+
E("span", null, p(s(r)("workSchedule.with")) + ":", 1)
|
|
619
619
|
]),
|
|
620
620
|
_: 1
|
|
621
621
|
}),
|
|
@@ -629,7 +629,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
629
629
|
}, null, 8, ["modelValue"]),
|
|
630
630
|
y(s(Z), { clickClose: !1 }, {
|
|
631
631
|
default: c(() => [
|
|
632
|
-
|
|
632
|
+
E("span", null, p(s(r)("workSchedule.duration")) + ":", 1)
|
|
633
633
|
]),
|
|
634
634
|
_: 1
|
|
635
635
|
}),
|
|
@@ -641,10 +641,10 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
641
641
|
max: s(We)(M.value !== 1 ? 23 - M.value : 21, 4, 22)
|
|
642
642
|
}, null, 8, ["modelValue", "max"])
|
|
643
643
|
])) : A("", !0),
|
|
644
|
-
/^(|К|КВ|ОТ|Б|Р|ОЖ|У|ДО|УД|Г)$/.test(d.value.failure) ? (C(),
|
|
644
|
+
/^(|К|КВ|ОТ|Б|Р|ОЖ|У|ДО|УД|Г)$/.test(d.value.failure) ? (C(), J("div", al, [
|
|
645
645
|
y(s(Z), { clickClose: !1 }, {
|
|
646
646
|
default: c(() => [
|
|
647
|
-
|
|
647
|
+
E("span", null, p(s(r)("sheet.count")) + ":", 1)
|
|
648
648
|
]),
|
|
649
649
|
_: 1
|
|
650
650
|
}),
|
|
@@ -659,7 +659,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
659
659
|
])) : A("", !0),
|
|
660
660
|
y(s(Z), { class: "wrap" }, {
|
|
661
661
|
default: c(() => [
|
|
662
|
-
d.value.rest ? (C(), N(s(
|
|
662
|
+
d.value.rest ? (C(), N(s(j), {
|
|
663
663
|
key: 0,
|
|
664
664
|
onClick: e[7] || (e[7] = (t) => re("reset"))
|
|
665
665
|
}, {
|
|
@@ -668,7 +668,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
668
668
|
]),
|
|
669
669
|
_: 1
|
|
670
670
|
})) : A("", !0),
|
|
671
|
-
O.value ? (C(), N(s(
|
|
671
|
+
O.value ? (C(), N(s(j), {
|
|
672
672
|
key: 1,
|
|
673
673
|
onClick: e[8] || (e[8] = (t) => re("save"))
|
|
674
674
|
}, {
|
|
@@ -677,7 +677,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
677
677
|
]),
|
|
678
678
|
_: 1
|
|
679
679
|
})) : A("", !0),
|
|
680
|
-
y(s(
|
|
680
|
+
y(s(j), {
|
|
681
681
|
onClick: e[9] || (e[9] = (t) => U.value = !1)
|
|
682
682
|
}, {
|
|
683
683
|
default: c(() => [
|
|
@@ -685,7 +685,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
685
685
|
]),
|
|
686
686
|
_: 1
|
|
687
687
|
}),
|
|
688
|
-
se.value ? (C(), N(s(
|
|
688
|
+
se.value ? (C(), N(s(j), {
|
|
689
689
|
key: 2,
|
|
690
690
|
onClick: e[10] || (e[10] = (t) => Ee()),
|
|
691
691
|
popovertarget: "my-service"
|
|
@@ -702,20 +702,20 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
702
702
|
]),
|
|
703
703
|
_: 1
|
|
704
704
|
}, 8, ["show", "options"]),
|
|
705
|
-
|
|
705
|
+
E("div", {
|
|
706
706
|
id: "my-service",
|
|
707
707
|
class: "sw-popover",
|
|
708
708
|
popover: "",
|
|
709
709
|
ref_key: "myService",
|
|
710
710
|
ref: be
|
|
711
711
|
}, [
|
|
712
|
-
e[15] || (e[15] =
|
|
712
|
+
e[15] || (e[15] = E("header", null, "Служебная записка", -1)),
|
|
713
713
|
(C(), N(Ue($.editor), {
|
|
714
714
|
modelValue: ie.value,
|
|
715
715
|
"onUpdate:modelValue": e[12] || (e[12] = (t) => ie.value = t)
|
|
716
716
|
}, null, 8, ["modelValue"])),
|
|
717
|
-
|
|
718
|
-
y(s(
|
|
717
|
+
E("footer", null, [
|
|
718
|
+
y(s(j), {
|
|
719
719
|
onClick: e[13] || (e[13] = (t) => be.value.hidePopover()),
|
|
720
720
|
size: "default"
|
|
721
721
|
}, {
|
|
@@ -724,7 +724,7 @@ const Ze = { class: "nav" }, Qe = { style: { height: "20px", width: "100%", disp
|
|
|
724
724
|
]),
|
|
725
725
|
_: 1
|
|
726
726
|
}),
|
|
727
|
-
y(s(
|
|
727
|
+
y(s(j), {
|
|
728
728
|
type: "success",
|
|
729
729
|
plain: "",
|
|
730
730
|
onClick: Be
|