@studio-west/employees 0.5.23 → 0.5.25

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"),M=require("vue-i18n"),p=require("./index-CmFQ6bqG.cjs"),r=require("element-plus"),F={style:{height:"20px",width:"100%",display:"inline-block"}},Y={style:{height:"20px",width:"100%",display:"inline-block"}},H={__name:"SheetTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"}},setup(w){const g=w,{t:i,d:C}=M.useI18n(),c=e.ref([]),x=e.ref("0"),y=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(x.value))),h=e.ref([]),v=e.ref("all"),N=e.ref([{value:"all",label:"Все",key:"all"}]),T=e.ref([]),k=e.ref(0),b=e.ref([]);e.watch(v,async(a,l)=>{a!==l&&(b.value=[],confirm.value=!1,g.odata.personal.forEach(t=>{t.divisionName===a&&(b.value.some(n=>(n==null?void 0:n.activeText)===t.roleName)||b.value.push({val:!0,activeText:t.roleName}))}),V())}),e.watch(x,a=>{y.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(a)),D()});const u=e.computed(()=>c.value.flatMap((a,l)=>[{...a,key:0,ids:l},{...a,key:1,ids:l}])),S=a=>{if(a.columnIndex<2||a.columnIndex>h.value.length+3&&a.columnIndex<h.value.length+9||a.columnIndex>h.value.length+11)return u.value[a.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},D=()=>{const a=T.value,l=new Date(y.value),t=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let n=[],f=0;for(let d=1;d<=t;d++){const o=p.parseTime(l.setDate(d),"{Y}-{m}-{dd}");f+=a.nowork.includes(o)||a.holidays.includes(o)?0:a.preholidays.includes(o)?7:8;let s=a.nowork.includes(o)?"nowork":a.holidays.includes(o)?"holiday":a.preholidays.includes(o)?"preholiday":"";n.push({day:d,holidays:s,weekday:C(new Date(l.getFullYear(),l.getMonth(),d),"day")})}k.value=f,h.value=n,g.odata.getPersonal({}).then(d=>{var o;v.value=(o=d.find(s=>s.employeeName===g.fullName))==null?void 0:o.divisionName,d.forEach(s=>{N.value.some(m=>(m==null?void 0:m.value)===s.divisionName)||N.value.push({value:s.divisionName,label:s.divisionName,key:s.divisionName}),s.divisionName===v.value&&!b.value.some(m=>(m==null?void 0:m.activeText)===s.roleName)&&b.value.push({val:!0,activeText:s.roleName})}),V()})},V=()=>{c.value=[];let a=[];g.odata.personal.forEach(l=>{if(l.divisionName===v.value&&b.value.some(t=>t.val&&t.activeText===l.roleName)){let t=p.byInitials(l.employeeName);a.push(l.employeeKey),c.value.push({name:t+" ("+l.roleName+")",code:l.employeeKey,days:[],contHour:0,id:!1,ids:c.value.length})}}),B(a)},B=a=>{g.workSchedule.getWorkSchedule({code:a,date:p.parseTime(new Date(y.value),"{Y}-{m}-{dd}")}).then(l=>{l.forEach((t,n)=>{var f,d;if(t!==null){t.data.days.forEach(o=>o.state="Я");for(let o=1;o<=h.value.length;o++){let s=p.parseTime(new Date(y.value).setDate(o),"{Y}-{m}-{dd}");const m=(f=t.data)==null?void 0:f.days.findIndex($=>$.day===s);m===-1?c.value[n].days.push({day:s,time:"-",state:"В"}):c.value[n].days.push((d=t.data)==null?void 0:d.days[m])}}else{c.value[n].days=[];for(let o=1;o<=h.value.length;o++)h.value[o-1].holidays===""?E(o,n,8):h.value[o-1].holidays==="preholiday"?E(o,n,7):c.value[n].days.push({day:p.parseTime(new Date(y.value).setDate(o),"{Y}-{m}-{dd}"),time:"-",state:"В"})}}),_()})},E=(a,l,t)=>{const n=p.parseTime(new Date(y.value).setDate(a),"{Y}-{m}-{dd}");c.value[l].days.push({day:n,time:t,state:"Я"})},_=()=>{c.value.forEach(a=>{a.hourI=0,a.hourII=0,a.halfII=0,a.halfI=0,a.weekend=0,a.weekendDays=0,a.night=0;for(let l=0;l<a.days.length;l++)l<15&&a.days[l].time!=="-"&&(a.hourI+=a.days[l].time),l<15&&a.days[l].state==="Я"&&a.halfI++,l>=15&&a.days[l].time!=="-"&&(a.hourII+=a.days[l].time),l>=15&&a.days[l].state==="Я"&&a.halfII++,a.days[l].state==="Н"&&(a.night+=a.days[l].time),a.days[l].state==="РВ"&&(a.weekend+=a.days[l].time),a.days[l].state==="В"&&a.weekendDays++;a.contDays=a.halfI+a.halfII,a.contHour=a.hourI+a.hourII,a.overtime=0,k.value<a.contHour&&(a.overtime=a.contHour-k.value),a.numberNonAppearing=0,a.appearing={code:"-",countH:"-"}})},I=(a,l)=>{var d,o;if(l===-1)return"";const t=new Date(y.value),n=`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${a.toString().padStart(2,"0")}`,f=u.value[l].days.findIndex(s=>s.day===n);return f===-1?"":u.value[l].key===0?(d=u.value[l].days[f])==null?void 0:d.state:(o=u.value[l].days[f])==null?void 0:o.time};return p.holidays().then(a=>{T.value=a,D()}),(a,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[w.checkEdit?(e.openBlock(),e.createBlock(e.unref(r.ElSelect),{key:0,modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=t=>v.value=t),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,t=>(e.openBlock(),e.createBlock(e.unref(r.ElOption),{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),w.checkEdit?(e.openBlock(),e.createBlock(e.unref(r.ElSwitch),{key:1,modelValue:x.value,"onUpdate:modelValue":l[1]||(l[1]=t=>x.value=t),"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(r.ElTable),{id:"printTable",data:u.value,"span-method":S,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(i)("sheet.emptyText"),align:"center",onCellClick:a.coMenu},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.title",{name:v.value})+e.unref(C)(y.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.employee"),width:"180",align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].name),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.personnelNumber"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.day},[t.day<=15?(e.openBlock(),e.createBlock(e.unref(r.ElTableColumn),{key:0,width:"30","class-name":t.holidays,align:"center",label:t.day.toString()+`
1
+ "use strict";const e=require("vue"),M=require("vue-i18n"),p=require("./index-DxdyeKnm.cjs"),r=require("element-plus"),F={style:{height:"20px",width:"100%",display:"inline-block"}},Y={style:{height:"20px",width:"100%",display:"inline-block"}},H={__name:"SheetTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"}},setup(w){const g=w,{t:i,d:C}=M.useI18n(),c=e.ref([]),x=e.ref("0"),y=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(x.value))),h=e.ref([]),v=e.ref("all"),N=e.ref([{value:"all",label:"Все",key:"all"}]),T=e.ref([]),k=e.ref(0),b=e.ref([]);e.watch(v,async(a,l)=>{a!==l&&(b.value=[],confirm.value=!1,g.odata.personal.forEach(t=>{t.divisionName===a&&(b.value.some(n=>(n==null?void 0:n.activeText)===t.roleName)||b.value.push({val:!0,activeText:t.roleName}))}),V())}),e.watch(x,a=>{y.value=new Date(new Date().getFullYear(),new Date().getMonth(),1).setMonth(new Date().getMonth()+Number(a)),D()});const u=e.computed(()=>c.value.flatMap((a,l)=>[{...a,key:0,ids:l},{...a,key:1,ids:l}])),S=a=>{if(a.columnIndex<2||a.columnIndex>h.value.length+3&&a.columnIndex<h.value.length+9||a.columnIndex>h.value.length+11)return u.value[a.rowIndex].key===0?{rowspan:2,colspan:1}:{rowspan:0,colspan:0}},D=()=>{const a=T.value,l=new Date(y.value),t=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let n=[],f=0;for(let d=1;d<=t;d++){const o=p.parseTime(l.setDate(d),"{Y}-{m}-{dd}");f+=a.nowork.includes(o)||a.holidays.includes(o)?0:a.preholidays.includes(o)?7:8;let s=a.nowork.includes(o)?"nowork":a.holidays.includes(o)?"holiday":a.preholidays.includes(o)?"preholiday":"";n.push({day:d,holidays:s,weekday:C(new Date(l.getFullYear(),l.getMonth(),d),"day")})}k.value=f,h.value=n,g.odata.getPersonal({}).then(d=>{var o;v.value=(o=d.find(s=>s.employeeName===g.fullName))==null?void 0:o.divisionName,d.forEach(s=>{N.value.some(m=>(m==null?void 0:m.value)===s.divisionName)||N.value.push({value:s.divisionName,label:s.divisionName,key:s.divisionName}),s.divisionName===v.value&&!b.value.some(m=>(m==null?void 0:m.activeText)===s.roleName)&&b.value.push({val:!0,activeText:s.roleName})}),V()})},V=()=>{c.value=[];let a=[];g.odata.personal.forEach(l=>{if(l.divisionName===v.value&&b.value.some(t=>t.val&&t.activeText===l.roleName)){let t=p.byInitials(l.employeeName);a.push(l.employeeKey),c.value.push({name:t+" ("+l.roleName+")",code:l.employeeKey,days:[],contHour:0,id:!1,ids:c.value.length})}}),B(a)},B=a=>{g.workSchedule.getWorkSchedule({code:a,date:p.parseTime(new Date(y.value),"{Y}-{m}-{dd}")}).then(l=>{l.forEach((t,n)=>{var f,d;if(t!==null){t.data.days.forEach(o=>o.state="Я");for(let o=1;o<=h.value.length;o++){let s=p.parseTime(new Date(y.value).setDate(o),"{Y}-{m}-{dd}");const m=(f=t.data)==null?void 0:f.days.findIndex($=>$.day===s);m===-1?c.value[n].days.push({day:s,time:"-",state:"В"}):c.value[n].days.push((d=t.data)==null?void 0:d.days[m])}}else{c.value[n].days=[];for(let o=1;o<=h.value.length;o++)h.value[o-1].holidays===""?E(o,n,8):h.value[o-1].holidays==="preholiday"?E(o,n,7):c.value[n].days.push({day:p.parseTime(new Date(y.value).setDate(o),"{Y}-{m}-{dd}"),time:"-",state:"В"})}}),_()})},E=(a,l,t)=>{const n=p.parseTime(new Date(y.value).setDate(a),"{Y}-{m}-{dd}");c.value[l].days.push({day:n,time:t,state:"Я"})},_=()=>{c.value.forEach(a=>{a.hourI=0,a.hourII=0,a.halfII=0,a.halfI=0,a.weekend=0,a.weekendDays=0,a.night=0;for(let l=0;l<a.days.length;l++)l<15&&a.days[l].time!=="-"&&(a.hourI+=a.days[l].time),l<15&&a.days[l].state==="Я"&&a.halfI++,l>=15&&a.days[l].time!=="-"&&(a.hourII+=a.days[l].time),l>=15&&a.days[l].state==="Я"&&a.halfII++,a.days[l].state==="Н"&&(a.night+=a.days[l].time),a.days[l].state==="РВ"&&(a.weekend+=a.days[l].time),a.days[l].state==="В"&&a.weekendDays++;a.contDays=a.halfI+a.halfII,a.contHour=a.hourI+a.hourII,a.overtime=0,k.value<a.contHour&&(a.overtime=a.contHour-k.value),a.numberNonAppearing=0,a.appearing={code:"-",countH:"-"}})},I=(a,l)=>{var d,o;if(l===-1)return"";const t=new Date(y.value),n=`${t.getFullYear()}-${(t.getMonth()+1).toString().padStart(2,"0")}-${a.toString().padStart(2,"0")}`,f=u.value[l].days.findIndex(s=>s.day===n);return f===-1?"":u.value[l].key===0?(d=u.value[l].days[f])==null?void 0:d.state:(o=u.value[l].days[f])==null?void 0:o.time};return p.holidays().then(a=>{T.value=a,D()}),(a,l)=>(e.openBlock(),e.createElementBlock(e.Fragment,null,[w.checkEdit?(e.openBlock(),e.createBlock(e.unref(r.ElSelect),{key:0,modelValue:v.value,"onUpdate:modelValue":l[0]||(l[0]=t=>v.value=t),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,t=>(e.openBlock(),e.createBlock(e.unref(r.ElOption),{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),w.checkEdit?(e.openBlock(),e.createBlock(e.unref(r.ElSwitch),{key:1,modelValue:x.value,"onUpdate:modelValue":l[1]||(l[1]=t=>x.value=t),"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(r.ElTable),{id:"printTable",data:u.value,"span-method":S,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(i)("sheet.emptyText"),align:"center",onCellClick:a.coMenu},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.title",{name:v.value})+e.unref(C)(y.value,"month"),align:"center",height:"10"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.employee"),width:"180",align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].name),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.personnelNumber"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.marks"),align:"center"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.day},[t.day<=15?(e.openBlock(),e.createBlock(e.unref(r.ElTableColumn),{key:0,width:"30","class-name":t.holidays,align:"center",label:t.day.toString()+`
2
2
  `+t.weekday},{default:e.withCtx(n=>[e.createElementVNode("div",F,e.toDisplayString(I(t.day,n.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0)],64))),128)),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.halfMonth",{half:"I"}),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].key===0?u.value[t.$index].halfI:u.value[t.$index].hourI),1)]),_:1},8,["label"]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(h.value,t=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:t.day},[t.day>15?(e.openBlock(),e.createBlock(e.unref(r.ElTableColumn),{key:0,width:"30","class-name":t.holidays,align:"center",label:t.day.toString()+`
3
3
  `+t.weekday},{default:e.withCtx(n=>[e.createElementVNode("div",Y,e.toDisplayString(I(t.day,n.$index)||" "),1)]),_:2},1032,["class-name","label"])):e.createCommentVNode("",!0)],64))),128)),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.halfMonth",{half:"II"}),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].key===0?u.value[t.$index].halfII:u.value[t.$index].hourII),1)]),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.workedMonth"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.days"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].contDays),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.hours"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.all"),align:"center","label-class-name":"turn",width:"40"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].contHour),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.overtime"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].overtime),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.night"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].night),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.weekend"),align:"center","label-class-name":"turn",width:"34"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].weekend),1)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.numberNonAppearing"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].numberNonAppearing),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.them"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.code"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(t=>{var n;return[e.createTextVNode(e.toDisplayString((n=u.value[t.$index].appearing)==null?void 0:n.code),1)]}),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.count"),align:"center","label-class-name":"turn",width:"30"},{default:e.withCtx(t=>{var n;return[e.createTextVNode(e.toDisplayString((n=u.value[t.$index].appearing)==null?void 0:n.countH),1)]}),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(i)("sheet.countWeekend"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(u.value[t.$index].weekendDays),1)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["data","empty-text","onCellClick"])],64))}};module.exports=H;
@@ -1,6 +1,6 @@
1
1
  import { ref as w, watch as K, computed as L, createElementBlock as D, openBlock as y, Fragment as N, createBlock as $, createCommentVNode as E, createVNode as d, unref as t, withCtx as s, renderList as H, createTextVNode as m, toDisplayString as c, createElementVNode as P } from "vue";
2
2
  import { useI18n as q } from "vue-i18n";
3
- import { p as M, b as G, h as R } from "./index-DIjJDdmP.js";
3
+ import { p as M, b as G, h as R } from "./index-D4ZMBdCa.js";
4
4
  import { ElSelect as X, ElOption as Z, ElSwitch as Q, ElTable as ee, ElTableColumn as r } from "element-plus";
5
5
  const ae = { style: { height: "20px", width: "100%", display: "inline-block" } }, le = { style: { height: "20px", width: "100%", display: "inline-block" } }, se = {
6
6
  __name: "SheetTable",
@@ -1 +1 @@
1
- "use strict";const e=require("vue"),V=require("./index-CmFQ6bqG.cjs"),W=require("vue-i18n"),Q=require("file-saver"),ee=require("exceljs"),d=require("element-plus"),G=require("@imengyu/vue3-context-menu");function te(D){const x=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(D){for(const n in D)if(n!=="default"){const p=Object.getOwnPropertyDescriptor(D,n);Object.defineProperty(x,n,p.get?p:{enumerable:!0,get:()=>D[n]})}}return x.default=D,Object.freeze(x)}const le=te(ee),ae=(D,x)=>{const n=D.__vccOpts||D;for(const[p,o]of x)n[p]=o;return n},ne={class:"wrapper"},oe={class:"month_year"},ue={class:"text"},re={class:"week"},ie={class:"month"},de=["onClick"],ce={key:0},se={class:"month_year"},ve={class:"text"},me={class:"week"},fe={class:"month"},ge=["onClick"],pe={__name:"DataPicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:()=>"solid"}},emits:["input"],setup(D,{emit:x}){var U,P,J,O;const n=e.ref(new Date),p=e.ref(new Date),o=D,F=x,y=e.ref(new Date().getFullYear()),T=e.ref(new Date().getMonth()),Y=e.ref(new Date().getFullYear()),m=e.ref(new Date().getMonth()),c=e.ref([]),$=e.ref(0),_=e.ref(0),h=e.ref(-1),k=e.ref(-1),{locale:A}=W.useI18n(),b=/en|zh|ja|he/.test(A.value)?0:1,N=o.range==="range"?2:1,I=s=>{const r=s.split(s.match(/\D.*?\D?/));return r[0].length>2?r.join("-")+"T00:00:01":r.reverse().join("-")+"T00:00:01"};typeof((U=o.data)==null?void 0:U.startDate)<"u"&&(n.value=new Date(I(o.data.startDate)),y.value=n.value.getFullYear(),m.value=n.value.getMonth()),typeof((P=o.data)==null?void 0:P.endDate)<"u"&&(p.value=new Date(I(o.data.endDate)),Y.value=p.value.getFullYear(),T.value=p.value.getMonth());const v=()=>{let s=new Date(y.value,m.value,0);for(let a=s.getDate()-s.getDay()+b;a<=s.getDate()&&s.getDay()!==6+b;a++)$.value++,c.value.push({day:a,month:s.getMonth(),year:s.getFullYear(),class:[]});for(let a=1;a<=new Date(y.value,m.value+1,0).getDate();a++)$.value++,c.value.push({day:a,month:m.value,year:y.value,class:[]});if(o.range==="range"){_.value=new Date(y.value,m.value+2,0);for(let a=1;a<=_.value.getDate();a++)c.value.push({day:a,month:_.value.getMonth(),year:_.value.getFullYear(),class:[]})}let r=new Date(y.value,m.value+N,1);console.log(r.getDay());for(let a=1;a<=(7-r.getDay()+b)%7&&r.getDay()!==b;a++)c.value.push({day:a,month:r.getMonth(),year:r.getFullYear(),class:[]});o.data.holiday.length!==0&&(o.data.holiday.preholidays.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="preholiday")}),o.data.holiday.holidays.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="weekend")}),o.data.holiday.holiday.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="holiday")}),o.data.holiday.nowork.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="nowork")}))},L=(s,r)=>{let a=s-r+1;for(let i=0;i<=s-r;i++)c.value[i+r].class[0]==="holiday"&&a--;return a},E=(s,r)=>{const a=V.parseTime(new Date(s.year,s.month,s.day),"{dd}.{m}.{Y}");if(o.range==="range")if(console.log(h.value),k.value!==-1){if(k.value<=h.value)for(let i=k.value;i<=h.value;i++)c.value[i].class[1]="";else for(let i=h.value;i<=k.value;i++)c.value[i].class[1]="";h.value=r,k.value=-1,c.value[r].class[1]="active"}else if(h.value!==-1){if(k.value=r,k.value>=h.value)for(let C=h.value+1;C<r;C++)c.value[C].class[1]="select";else for(let C=r+1;C<h.value;C++)c.value[C].class[1]="select";c.value[r].class[1]="active";let i=V.parseTime(new Date(c.value[h.value].year,c.value[h.value].month,c.value[h.value].day),"{dd}.{m}.{Y}");h.value>r?F("input",{dateStart:a,dateEnd:i,count:L(h.value,r)}):F("input",{dateStart:i,dateEnd:a,count:L(r,h.value)})}else h.value=r,c.value[r].class[1]="active";else c.value[h.value].class[1]="",h.value=r,c.value[r].class[1]="active",F("input",{dateStart:a,count:1})};if(v(),typeof((J=o.data)==null?void 0:J.startDate)<"u"&&(h.value=c.value.findIndex(s=>s.day===n.value.getDate()&&s.month===m.value&&s.year===y.value),c.value[h.value].class[1]="active"),typeof((O=o.data)==null?void 0:O.endDate)<"u"&&o.range==="range"){k.value=c.value.findIndex(s=>s.day===p.value.getDate()&&s.month===T.value&&s.year===Y.value),c.value[k.value].class[1]="active";for(let s=h.value+1;s<k.value;s++)c.value[s].class[1]="select"}const B=(s,r)=>{z(s,r)&&(c.value=[],$.value=0,n.value=new Date(s,r,1),y.value=n.value.getFullYear(),m.value=n.value.getMonth(),v())},z=(s,r)=>{if(!o.limitation)return!0;if(o.limitation[0].dateStart){console.log(o.limitation[0].dateStart);let a=o.limitation[0].dateStart.split(o.limitation[0].dateStart.match(/\D.*?\D?/));if(a[0].length>2&&a.reverse(),parseInt(a[2])>s||parseInt(a[2])===s&&parseInt(a[1])>r+1)return!1}if(o.limitation[o.limitation.length-1].dateEnd){console.log(o.limitation[o.limitation.length-1].dateEnd);let a=o.limitation[o.limitation.length-1].dateEnd.split(o.limitation[o.limitation.length-1].dateEnd.match(/\D.*?\D?/));if(a[0].length>2&&a.reverse(),parseInt(a[2])<s||parseInt(a[2])===s&&parseInt(a[1])<r+N)return!1}return!0};return(s,r)=>(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",null,[e.createElementVNode("p",oe,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[0]||(r[0]=a=>B(y.value-1,m.value))},"«"),e.createElementVNode("button",{onClick:r[1]||(r[1]=a=>B(y.value,m.value-1))},"‹")]),e.createElementVNode("span",ue,[e.createElementVNode("button",null,e.toDisplayString(y.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(V.parseTime)(n.value.setMonth(m.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[2]||(r[2]=a=>B(y.value,m.value+1))},"›"),e.createElementVNode("button",{onClick:r[3]||(r[3]=a=>B(y.value+1,m.value))},"»")])]),e.createElementVNode("div",re,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(a,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(V.parseTime)(new Date(1970,1,a+e.unref(b)),"{D}")),1)),64))]),e.createElementVNode("div",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i<$.value+(7-new Date(y.value,m.value+1,1).getDay()+e.unref(b))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(a.month===m.value&&(!o.limitation||new Date(a.year,a.month,a.day+1).getTime()>new Date(I(o.limitation[0].dateStart)).getTime()&&new Date(a.year,a.month,a.day).getTime()<new Date(I(o.limitation[0].dateEnd)).getTime())?a.class:"disabled"),onClick:()=>{a.month===m.value&&E(a,i)}},e.toDisplayString(a.day),11,de)):e.createCommentVNode("",!0)],64))),128))])]),o.range==="range"?(e.openBlock(),e.createElementBlock("div",ce,[e.createElementVNode("p",se,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[4]||(r[4]=a=>B(y.value-1,m.value))},"«"),e.createElementVNode("button",{onClick:r[5]||(r[5]=a=>B(y.value,m.value-1))},"‹")]),e.createElementVNode("span",ve,[e.createElementVNode("button",null,e.toDisplayString(new Date(y.value,m.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(V.parseTime)(n.value.setMonth(m.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[6]||(r[6]=a=>B(y.value,m.value+1))},"›"),e.createElementVNode("button",{onClick:r[7]||(r[7]=a=>B(y.value+1,m.value))},"»")])]),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(a,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(V.parseTime)(new Date(1970,1,a+e.unref(b)),"{D}")),1)),64))]),e.createElementVNode("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i>=$.value-(7+new Date(y.value,m.value+1,1).getDay()-e.unref(b))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(a.month===_.value.getMonth()&&(!o.limitation||new Date(a.year,a.month,a.day+1).getTime()>new Date(I(o.limitation[0].dateStart)).getTime()&&new Date(a.year,a.month,a.day).getTime()<new Date(I(o.limitation[0].dateEnd)).getTime())?a.class:"disabled"),onClick:()=>{a.month===_.value.getMonth()&&E(a,i)}},e.toDisplayString(a.day),11,ge)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}},he=ae(pe,[["__scopeId","data-v-d1aa0363"]]),ye={key:1,class:"controls-container",style:{"margin-top":".5rem"}},Ce={key:0},ke={key:1,style:{padding:"0 1rem .5rem"}},xe={__name:"VacationTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,query:String,fullName:{type:String,default:"Вы"}},setup(D){const x=D,{t:n}=W.useI18n(),p=e.ref([]);e.ref([]);const o=e.ref(new Date().getFullYear()),F=e.ref(!1),y=e.ref(!1),T=e.ref(!1),Y=e.ref({zIndex:3,minWidth:230,x:500,y:200}),m=e.ref(!1),c=e.ref(!1),$=e.ref({participants:[]}),_=e.ref([]),h=e.ref([]),k=e.ref("all"),A=e.ref([{value:"all",label:n("vacationSchedule.all"),key:"all"}]),b=e.ref(!1),N=e.ref([]),I=e.ref(!1),v=e.ref({name:"",length:0,code:""}),L=new Date().getMonth()>11?[{value:o.value,label:o.value},{value:o.value+1,label:o.value+1}]:[{value:o.value-1,label:o.value-1},{value:o.value,label:o.value}];e.watch(k,async(u,t)=>{u!==t&&(console.log(u),N.value=[],F.value=!1,x.odata.employee.forEach(f=>{(f.divisionName===u||u==="all")&&(N.value.some(l=>(l==null?void 0:l.activeText)===f.roleName)||N.value.push({val:!0,activeText:f.roleName}))}),z())});const E=e.computed(()=>p.value.flatMap((u,t)=>!u.days||u.days.length===0?[{...u,key:0,ids:t}]:u.days.map((f,l)=>({ids:t,key:l,...u,...f})))),B=async()=>{x.odata.getEmployee(o.value-1+"-12-17T23:59:00").then(u=>{var t;k.value=(t=u.find(f=>f.employeeName===x.fullName))==null?void 0:t.divisionName,u.forEach(f=>{A.value.some(l=>(l==null?void 0:l.value)===f.divisionName)||A.value.push({value:f.divisionName,label:f.divisionName,key:f.divisionName}),f.divisionName===k.value&&!N.value.some(l=>(l==null?void 0:l.activeText)===f.roleName)&&N.value.push({val:!0,activeText:f.roleName})}),z(),y.value=!1})},z=()=>{p.value=[];let u=[];x.odata.employee.forEach(t=>{(t.divisionName===k.value||k.value==="all")&&N.value.some(f=>f.val&&f.activeText===t.roleName)&&(u.push(t.employeeKey),p.value.push({name:t.employeeName,days:[{note:""}],jobTitle:t.roleName,code:t.employeeKey}))}),U(u),m.value=!1},U=u=>{x.workSchedule.getAllVacations({year:o.value}).then(t=>{u.forEach((f,l)=>{p.value[l].days=[{note:""}],t.forEach(g=>{f===g.code&&(typeof p.value[l].days[0].dateStart>"u"?p.value[l].days[0]={dateStart:V.parseTime(g.dateStart,"{dd}.{m}.{Y}"),dateEnd:V.parseTime(g.dateEnd,"{dd}.{m}.{Y}"),note:g.note,count:g.count}:p.value[l].days.push({dateStart:V.parseTime(g.dateStart,"{dd}.{m}.{Y}"),dateEnd:V.parseTime(g.dateEnd,"{dd}.{m}.{Y}"),note:g.note,count:g.count}))})})})},P=u=>{if(u.columnIndex<3&&E.value[u.rowIndex].key<E.value[u.rowIndex].days.length)return E.value[u.rowIndex].key===0?{rowspan:E.value[u.rowIndex].days.length,colspan:1}:{rowspan:0,colspan:0}},J=(u,t,f,l)=>{v.value.ids=u.ids,v.value.key=u.key,v.value.startDate=u.dateStart,v.value.endDate=u.dateEnd,v.value.name=u.name,v.value.count=u.count,v.value.allCount=()=>u.days.length===0?0:u.days.reduce((g,q,M)=>M!==u.key?g+parseInt(q.count):g,0),v.value.length=u.days.length,v.value.add=u.days.length>0&&u.days[u.days.length-1].count,v.value.level=t.level,v.value.holiday=h.value,Y.value.y=l.clientY,Y.value.x=l.clientX,t.level===2&&t.no<4&&(v.value.add||u.days.length>1)&&(T.value=!0),t.level===3&&(T.value=!0)},O=u=>{let t=p.value[v.value.ids];switch(u){case"add":t.days.push({note:""}),console.log(t.days.length);break;case"delete":delete t.days.pop(),a(v.value.ids);break}T.value=!1},s=u=>{I.value=u,v.value.count=u.count},r=()=>{I.value&&(p.value[v.value.ids].days[v.value.key]={...I.value,note:""},a(v.value.ids)),T.value=!1},a=u=>{x.workSchedule.rewriteFull({year:o.value,code:p.value[u].code,data:p.value[u].days.map(t=>({dateStart:t.dateStart.split(".").reverse().join("-"),dateEnd:t.dateEnd.split(".").reverse().join("-"),note:t.note,count:t.count}))})},i=u=>{x.workSchedule.sendConfirmMessage({fullname:x.fullName,confirm:u}),x.query=""},C=()=>{x.workSchedule.sendAgreementMessage({users:$.value.participants}),c.value=!1};x.workSchedule.getBoss().then(u=>{_.value=u[0].users}),V.holidays().then(u=>{h.value=u,B()});const S=()=>v.value.length<2?[{dateStart:"01.01."+o.value,dateEnd:"31.12."+o.value}]:[{dateStart:"01.01."+o.value,dateEnd:"31.12."+o.value}],K=async()=>{b.value=!0;const u=new le.Workbook,t=u.addWorksheet(o.value.toString(),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),f={vertical:"middle",horizontal:"center"},l={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},g={vertical:"middle",horizontal:"center",wrapText:!0},q={vertical:"middle",horizontal:"right",wrapText:!0};t.mergeCells("D1:G1"),t.mergeCells("D2:G2"),t.mergeCells("D3:G3"),t.mergeCells("D4:G4"),t.mergeCells("A5:G5"),t.mergeCells("A6:G6"),t.mergeCells("A9:G9"),t.mergeCells("A10:A11"),t.mergeCells("B10:B11"),t.mergeCells("C10:C11"),t.mergeCells("D10:F10"),t.mergeCells("G10:G11"),t.getCell("D1").value=n("vacationSchedule.approve"),t.getCell("D2").value=n("vacationSchedule.dateApprove",{year:o.value-1}),t.getCell("D3").value=n("workSchedule.printPlace"),t.getCell("D4").value=n("vacationSchedule.dateApprove",{year:o.value-1}),t.getCell("A5").value=n("workSchedule.firm"),t.getCell("B7").value=n("vacationSchedule.vacationSchedule"),t.getCell("C7").value=n("vacationSchedule.numberDocs"),t.getCell("D7").value=n("vacationSchedule.compilation"),t.getCell("E7").value=n("vacationSchedule.year"),t.getCell("C8").value="",t.getCell("D8").value="",t.getCell("E8").value=o.value,t.getCell("E7").value=n("vacationSchedule.year"),t.getCell("A10").value=n("vacationSchedule.jobTitle"),t.getCell("B10").value=n("vacationSchedule.fullName"),t.getCell("C10").value=n("vacationSchedule.personnelNumber"),t.getCell("D10").value=n("vacationSchedule.vacation"),t.getCell("D11").value=n("vacationSchedule.days"),t.getCell("E11").value=n("vacationSchedule.date"),t.getCell("F11").value=n("vacationSchedule.endDate"),t.getCell("G11").value=n("vacationSchedule.note"),t.getRow(1).height=80,t.getColumn(1).width=28,t.getColumn(2).width=28,t.getColumn(3).width=18,t.getColumn(4).width=18,t.getColumn(5).width=14,t.getColumn(6).width=14,t.getColumn(7).width=14,t.getColumn(1).alignment=g,t.getColumn(2).alignment=g,t.getColumn(3).alignment=g,t.getColumn(4).alignment=g,t.getColumn(5).alignment=g,t.getColumn(6).alignment=g,t.getColumn(7).alignment=g,t.getCell("D1").alignment=q,t.getCell("D2").alignment=q,t.getCell("D4").alignment=q,t.getCell("A5").alignment=f,t.getCell("C7").border=l,t.getCell("D7").border=l,t.getCell("E7").border=l,t.getCell("C8").border=l,t.getCell("D8").border=l,t.getCell("E8").border=l,t.getCell("A10").border=l,t.getCell("B10").border=l,t.getCell("C10").border=l,t.getCell("D10").border=l,t.getCell("G10").border=l,t.getCell("D11").border=l,t.getCell("E11").border=l,t.getCell("F11").border=l;let M=11;for(const w of p.value)if(w.days.length>1)w.days.forEach(j=>{let R=[w.jobTitle,w.name,w.code,j.count,j.dateStart,j.dateEnd,j.note];const Z=t.addRow(R);Z.border=l,M++}),t.mergeCells(`A${M-w.days.length+1}:A${M}`),t.mergeCells(`B${M-w.days.length+1}:B${M}`),t.mergeCells(`C${M-w.days.length+1}:C${M}`);else{let j=[w.jobTitle,w.name,w.code,w.days[0].count,w.days[0].dateStart,w.days[0].dateEnd,w.days[0].note];const R=t.addRow(j);R.border=l,M++}const X="export_"+V.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",H=await u.xlsx.writeBuffer();Q.saveAs(new Blob([H]),X),b.value=!1};return(u,t)=>{const f=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",null,[D.checkEdit?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),{key:0,modelValue:k.value,"onUpdate:modelValue":t[0]||(t[0]=l=>k.value=l),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,l=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createVNode(e.unref(d.ElButton),{plain:"",onClick:t[1]||(t[1]=l=>m.value=!0),style:{"margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("workSchedule.jobTitle")),1)]),_:1}),e.createVNode(e.unref(d.ElSelect),{modelValue:o.value,"onUpdate:modelValue":t[2]||(t[2]=l=>o.value=l),onChange:B,placeholder:"Year",style:{width:"80px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),l=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(e.unref(d.ElSkeleton),{style:{width:"100%"},loading:y.value,animated:""},{template:e.withCtx(()=>[e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"100%",height:"2rem"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"4rem","margin-right":"4px"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"4rem"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"8rem","margin-right":"4px"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"8rem"}})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTable),{id:"printTable",data:E.value,"span-method":P,onCellClick:J,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(n)("vacationSchedule.emptyText")},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:k.value!=="all"?e.unref(n)("vacationSchedule.title",{name:k.value}):e.unref(n)("vacationSchedule.enterprise")+` ${o.value}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.jobTitle"),width:"180",align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].jobTitle),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.fullName"),width:"180",align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].name),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.personnelNumber"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.vacation"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.days"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].count),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.date"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].dateStart),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.endDate"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].dateEnd),1)]),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.note"),align:"center"},{default:e.withCtx(l=>[e.createVNode(e.unref(d.ElInput),{modelValue:p.value[E.value[l.$index].ids].days[E.value[l.$index].key].note,"onUpdate:modelValue":g=>p.value[E.value[l.$index].ids].days[E.value[l.$index].key].note=g,style:{width:"100%"},placeholder:" ",class:"noBorder",onBlur:g=>a(E.value[l.$index].ids)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["data","empty-text"])]),_:1},8,["loading"]),D.checkEdit?(e.openBlock(),e.createElementBlock("div",ye,[F.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:"primary",onClick:t[3]||(t[3]=l=>c.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.sendInformation")),1)]),_:1})),D.query==="confirm"?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,type:"primary",onClick:t[4]||(t[4]=l=>i(!0))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.agreeOn")),1)]),_:1})):e.createCommentVNode("",!0),D.query==="confirm"?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:2,type:"primary",onClick:t[5]||(t[5]=l=>i(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.reject")),1)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(d.ElButton),{disabled:b.value,plain:"",onClick:K,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[f,b.value]]),e.createVNode(e.unref(d.ElDialog),{title:e.unref(n)("workSchedule.jobTitle"),modelValue:m.value,"onUpdate:modelValue":t[7]||(t[7]=l=>m.value=l),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{onClick:t[6]||(t[6]=l=>m.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{size:"default",type:"primary",onClick:z},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),{model:N.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,l=>(e.openBlock(),e.createBlock(e.unref(d.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElSwitch),{modelValue:l.val,"onUpdate:modelValue":g=>l.val=g,"active-text":l.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(d.ElDialog),{title:e.unref(n)("vacationSchedule.pleaseCoordinate"),modelValue:c.value,"onUpdate:modelValue":t[10]||(t[10]=l=>c.value=l),width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{onClick:t[9]||(t[9]=l=>c.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{size:"default",type:"primary",onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.send")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),{model:$.value,autocomplete:"on"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElSelect),{modelValue:$.value.participants,"onUpdate:modelValue":t[8]||(t[8]=l=>$.value.participants=l),placeholder:e.unref(n)("vacationSchedule.fullName"),multiple:"",size:"default"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,l=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:l,label:l,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(G.ContextMenu),{show:T.value,"onUpdate:show":t[14]||(t[14]=l=>T.value=l),options:Y.value},{default:e.withCtx(()=>[e.createVNode(e.unref(G.ContextMenuItem),{label:v.value.level===3&&typeof v.value.count<"u"?v.value.name+" "+v.value.count+" "+e.unref(n)("vacationSchedule.day",v.value.count)+` ${e.unref(n)("vacationSchedule.from")}: ${v.value.allCount()+parseInt(v.value.count)}`:v.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref(G.ContextMenuSeparator)),v.value.level===2?(e.openBlock(),e.createElementBlock("div",Ce,[v.value.length>1?(e.openBlock(),e.createBlock(e.unref(G.ContextMenuItem),{key:0,label:e.unref(n)("vacationSchedule.deleteLast"),onClick:t[11]||(t[11]=l=>O("delete"))},null,8,["label"])):e.createCommentVNode("",!0),v.value.add?(e.openBlock(),e.createBlock(e.unref(G.ContextMenuItem),{key:1,label:e.unref(n)("vacationSchedule.addVacation"),onClick:t[12]||(t[12]=l=>O("add"))},null,8,["label"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(he,{data:v.value,range:"range",limitation:S(),onInput:s},null,8,["data","limitation"]),e.createElementVNode("div",null,[e.createVNode(e.unref(d.ElButton),{onClick:t[13]||(t[13]=l=>T.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{onClick:r},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.save")),1)]),_:1})])]))]),_:1},8,["show","options"])])}}};module.exports=xe;
1
+ "use strict";const e=require("vue"),V=require("./index-DxdyeKnm.cjs"),W=require("vue-i18n"),Q=require("file-saver"),ee=require("exceljs"),d=require("element-plus"),G=require("@imengyu/vue3-context-menu");function te(D){const x=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(D){for(const n in D)if(n!=="default"){const p=Object.getOwnPropertyDescriptor(D,n);Object.defineProperty(x,n,p.get?p:{enumerable:!0,get:()=>D[n]})}}return x.default=D,Object.freeze(x)}const le=te(ee),ae=(D,x)=>{const n=D.__vccOpts||D;for(const[p,o]of x)n[p]=o;return n},ne={class:"wrapper"},oe={class:"month_year"},ue={class:"text"},re={class:"week"},ie={class:"month"},de=["onClick"],ce={key:0},se={class:"month_year"},ve={class:"text"},me={class:"week"},fe={class:"month"},ge=["onClick"],pe={__name:"DataPicker",props:{data:Object,limitation:{type:[Boolean,Array],default:()=>!1},range:{type:String,default:()=>"solid"}},emits:["input"],setup(D,{emit:x}){var U,P,J,O;const n=e.ref(new Date),p=e.ref(new Date),o=D,F=x,y=e.ref(new Date().getFullYear()),T=e.ref(new Date().getMonth()),Y=e.ref(new Date().getFullYear()),m=e.ref(new Date().getMonth()),c=e.ref([]),$=e.ref(0),_=e.ref(0),h=e.ref(-1),k=e.ref(-1),{locale:A}=W.useI18n(),b=/en|zh|ja|he/.test(A.value)?0:1,N=o.range==="range"?2:1,I=s=>{const r=s.split(s.match(/\D.*?\D?/));return r[0].length>2?r.join("-")+"T00:00:01":r.reverse().join("-")+"T00:00:01"};typeof((U=o.data)==null?void 0:U.startDate)<"u"&&(n.value=new Date(I(o.data.startDate)),y.value=n.value.getFullYear(),m.value=n.value.getMonth()),typeof((P=o.data)==null?void 0:P.endDate)<"u"&&(p.value=new Date(I(o.data.endDate)),Y.value=p.value.getFullYear(),T.value=p.value.getMonth());const v=()=>{let s=new Date(y.value,m.value,0);for(let a=s.getDate()-s.getDay()+b;a<=s.getDate()&&s.getDay()!==6+b;a++)$.value++,c.value.push({day:a,month:s.getMonth(),year:s.getFullYear(),class:[]});for(let a=1;a<=new Date(y.value,m.value+1,0).getDate();a++)$.value++,c.value.push({day:a,month:m.value,year:y.value,class:[]});if(o.range==="range"){_.value=new Date(y.value,m.value+2,0);for(let a=1;a<=_.value.getDate();a++)c.value.push({day:a,month:_.value.getMonth(),year:_.value.getFullYear(),class:[]})}let r=new Date(y.value,m.value+N,1);console.log(r.getDay());for(let a=1;a<=(7-r.getDay()+b)%7&&r.getDay()!==b;a++)c.value.push({day:a,month:r.getMonth(),year:r.getFullYear(),class:[]});o.data.holiday.length!==0&&(o.data.holiday.preholidays.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="preholiday")}),o.data.holiday.holidays.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="weekend")}),o.data.holiday.holiday.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="holiday")}),o.data.holiday.nowork.forEach(a=>{let i=a.split("-");const C=c.value.findIndex(S=>S.year==i[0]&&S.month+1==i[1]&&S.day==i[2]);C!==-1&&(c.value[C].class[0]="nowork")}))},L=(s,r)=>{let a=s-r+1;for(let i=0;i<=s-r;i++)c.value[i+r].class[0]==="holiday"&&a--;return a},E=(s,r)=>{const a=V.parseTime(new Date(s.year,s.month,s.day),"{dd}.{m}.{Y}");if(o.range==="range")if(console.log(h.value),k.value!==-1){if(k.value<=h.value)for(let i=k.value;i<=h.value;i++)c.value[i].class[1]="";else for(let i=h.value;i<=k.value;i++)c.value[i].class[1]="";h.value=r,k.value=-1,c.value[r].class[1]="active"}else if(h.value!==-1){if(k.value=r,k.value>=h.value)for(let C=h.value+1;C<r;C++)c.value[C].class[1]="select";else for(let C=r+1;C<h.value;C++)c.value[C].class[1]="select";c.value[r].class[1]="active";let i=V.parseTime(new Date(c.value[h.value].year,c.value[h.value].month,c.value[h.value].day),"{dd}.{m}.{Y}");h.value>r?F("input",{dateStart:a,dateEnd:i,count:L(h.value,r)}):F("input",{dateStart:i,dateEnd:a,count:L(r,h.value)})}else h.value=r,c.value[r].class[1]="active";else c.value[h.value].class[1]="",h.value=r,c.value[r].class[1]="active",F("input",{dateStart:a,count:1})};if(v(),typeof((J=o.data)==null?void 0:J.startDate)<"u"&&(h.value=c.value.findIndex(s=>s.day===n.value.getDate()&&s.month===m.value&&s.year===y.value),c.value[h.value].class[1]="active"),typeof((O=o.data)==null?void 0:O.endDate)<"u"&&o.range==="range"){k.value=c.value.findIndex(s=>s.day===p.value.getDate()&&s.month===T.value&&s.year===Y.value),c.value[k.value].class[1]="active";for(let s=h.value+1;s<k.value;s++)c.value[s].class[1]="select"}const B=(s,r)=>{z(s,r)&&(c.value=[],$.value=0,n.value=new Date(s,r,1),y.value=n.value.getFullYear(),m.value=n.value.getMonth(),v())},z=(s,r)=>{if(!o.limitation)return!0;if(o.limitation[0].dateStart){console.log(o.limitation[0].dateStart);let a=o.limitation[0].dateStart.split(o.limitation[0].dateStart.match(/\D.*?\D?/));if(a[0].length>2&&a.reverse(),parseInt(a[2])>s||parseInt(a[2])===s&&parseInt(a[1])>r+1)return!1}if(o.limitation[o.limitation.length-1].dateEnd){console.log(o.limitation[o.limitation.length-1].dateEnd);let a=o.limitation[o.limitation.length-1].dateEnd.split(o.limitation[o.limitation.length-1].dateEnd.match(/\D.*?\D?/));if(a[0].length>2&&a.reverse(),parseInt(a[2])<s||parseInt(a[2])===s&&parseInt(a[1])<r+N)return!1}return!0};return(s,r)=>(e.openBlock(),e.createElementBlock("div",ne,[e.createElementVNode("div",null,[e.createElementVNode("p",oe,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[0]||(r[0]=a=>B(y.value-1,m.value))},"«"),e.createElementVNode("button",{onClick:r[1]||(r[1]=a=>B(y.value,m.value-1))},"‹")]),e.createElementVNode("span",ue,[e.createElementVNode("button",null,e.toDisplayString(y.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(V.parseTime)(n.value.setMonth(m.value),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[2]||(r[2]=a=>B(y.value,m.value+1))},"›"),e.createElementVNode("button",{onClick:r[3]||(r[3]=a=>B(y.value+1,m.value))},"»")])]),e.createElementVNode("div",re,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(a,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(V.parseTime)(new Date(1970,1,a+e.unref(b)),"{D}")),1)),64))]),e.createElementVNode("div",ie,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i<$.value+(7-new Date(y.value,m.value+1,1).getDay()+e.unref(b))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(a.month===m.value&&(!o.limitation||new Date(a.year,a.month,a.day+1).getTime()>new Date(I(o.limitation[0].dateStart)).getTime()&&new Date(a.year,a.month,a.day).getTime()<new Date(I(o.limitation[0].dateEnd)).getTime())?a.class:"disabled"),onClick:()=>{a.month===m.value&&E(a,i)}},e.toDisplayString(a.day),11,de)):e.createCommentVNode("",!0)],64))),128))])]),o.range==="range"?(e.openBlock(),e.createElementBlock("div",ce,[e.createElementVNode("p",se,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[4]||(r[4]=a=>B(y.value-1,m.value))},"«"),e.createElementVNode("button",{onClick:r[5]||(r[5]=a=>B(y.value,m.value-1))},"‹")]),e.createElementVNode("span",ve,[e.createElementVNode("button",null,e.toDisplayString(new Date(y.value,m.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(V.parseTime)(n.value.setMonth(m.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:r[6]||(r[6]=a=>B(y.value,m.value+1))},"›"),e.createElementVNode("button",{onClick:r[7]||(r[7]=a=>B(y.value+1,m.value))},"»")])]),e.createElementVNode("div",me,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(a,i)=>e.createElementVNode("button",{key:i,class:"disabled"},e.toDisplayString(e.unref(V.parseTime)(new Date(1970,1,a+e.unref(b)),"{D}")),1)),64))]),e.createElementVNode("div",fe,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(a,i)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:i},[i>=$.value-(7+new Date(y.value,m.value+1,1).getDay()-e.unref(b))%7?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(a.month===_.value.getMonth()&&(!o.limitation||new Date(a.year,a.month,a.day+1).getTime()>new Date(I(o.limitation[0].dateStart)).getTime()&&new Date(a.year,a.month,a.day).getTime()<new Date(I(o.limitation[0].dateEnd)).getTime())?a.class:"disabled"),onClick:()=>{a.month===_.value.getMonth()&&E(a,i)}},e.toDisplayString(a.day),11,ge)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}},he=ae(pe,[["__scopeId","data-v-d1aa0363"]]),ye={key:1,class:"controls-container",style:{"margin-top":".5rem"}},Ce={key:0},ke={key:1,style:{padding:"0 1rem .5rem"}},xe={__name:"VacationTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,query:String,fullName:{type:String,default:"Вы"}},setup(D){const x=D,{t:n}=W.useI18n(),p=e.ref([]);e.ref([]);const o=e.ref(new Date().getFullYear()),F=e.ref(!1),y=e.ref(!1),T=e.ref(!1),Y=e.ref({zIndex:3,minWidth:230,x:500,y:200}),m=e.ref(!1),c=e.ref(!1),$=e.ref({participants:[]}),_=e.ref([]),h=e.ref([]),k=e.ref("all"),A=e.ref([{value:"all",label:n("vacationSchedule.all"),key:"all"}]),b=e.ref(!1),N=e.ref([]),I=e.ref(!1),v=e.ref({name:"",length:0,code:""}),L=new Date().getMonth()>11?[{value:o.value,label:o.value},{value:o.value+1,label:o.value+1}]:[{value:o.value-1,label:o.value-1},{value:o.value,label:o.value}];e.watch(k,async(u,t)=>{u!==t&&(console.log(u),N.value=[],F.value=!1,x.odata.employee.forEach(f=>{(f.divisionName===u||u==="all")&&(N.value.some(l=>(l==null?void 0:l.activeText)===f.roleName)||N.value.push({val:!0,activeText:f.roleName}))}),z())});const E=e.computed(()=>p.value.flatMap((u,t)=>!u.days||u.days.length===0?[{...u,key:0,ids:t}]:u.days.map((f,l)=>({ids:t,key:l,...u,...f})))),B=async()=>{x.odata.getEmployee(o.value-1+"-12-17T23:59:00").then(u=>{var t;k.value=(t=u.find(f=>f.employeeName===x.fullName))==null?void 0:t.divisionName,u.forEach(f=>{A.value.some(l=>(l==null?void 0:l.value)===f.divisionName)||A.value.push({value:f.divisionName,label:f.divisionName,key:f.divisionName}),f.divisionName===k.value&&!N.value.some(l=>(l==null?void 0:l.activeText)===f.roleName)&&N.value.push({val:!0,activeText:f.roleName})}),z(),y.value=!1})},z=()=>{p.value=[];let u=[];x.odata.employee.forEach(t=>{(t.divisionName===k.value||k.value==="all")&&N.value.some(f=>f.val&&f.activeText===t.roleName)&&(u.push(t.employeeKey),p.value.push({name:t.employeeName,days:[{note:""}],jobTitle:t.roleName,code:t.employeeKey}))}),U(u),m.value=!1},U=u=>{x.workSchedule.getAllVacations({year:o.value}).then(t=>{u.forEach((f,l)=>{p.value[l].days=[{note:""}],t.forEach(g=>{f===g.code&&(typeof p.value[l].days[0].dateStart>"u"?p.value[l].days[0]={dateStart:V.parseTime(g.dateStart,"{dd}.{m}.{Y}"),dateEnd:V.parseTime(g.dateEnd,"{dd}.{m}.{Y}"),note:g.note,count:g.count}:p.value[l].days.push({dateStart:V.parseTime(g.dateStart,"{dd}.{m}.{Y}"),dateEnd:V.parseTime(g.dateEnd,"{dd}.{m}.{Y}"),note:g.note,count:g.count}))})})})},P=u=>{if(u.columnIndex<3&&E.value[u.rowIndex].key<E.value[u.rowIndex].days.length)return E.value[u.rowIndex].key===0?{rowspan:E.value[u.rowIndex].days.length,colspan:1}:{rowspan:0,colspan:0}},J=(u,t,f,l)=>{v.value.ids=u.ids,v.value.key=u.key,v.value.startDate=u.dateStart,v.value.endDate=u.dateEnd,v.value.name=u.name,v.value.count=u.count,v.value.allCount=()=>u.days.length===0?0:u.days.reduce((g,q,M)=>M!==u.key?g+parseInt(q.count):g,0),v.value.length=u.days.length,v.value.add=u.days.length>0&&u.days[u.days.length-1].count,v.value.level=t.level,v.value.holiday=h.value,Y.value.y=l.clientY,Y.value.x=l.clientX,t.level===2&&t.no<4&&(v.value.add||u.days.length>1)&&(T.value=!0),t.level===3&&(T.value=!0)},O=u=>{let t=p.value[v.value.ids];switch(u){case"add":t.days.push({note:""}),console.log(t.days.length);break;case"delete":delete t.days.pop(),a(v.value.ids);break}T.value=!1},s=u=>{I.value=u,v.value.count=u.count},r=()=>{I.value&&(p.value[v.value.ids].days[v.value.key]={...I.value,note:""},a(v.value.ids)),T.value=!1},a=u=>{x.workSchedule.rewriteFull({year:o.value,code:p.value[u].code,data:p.value[u].days.map(t=>({dateStart:t.dateStart.split(".").reverse().join("-"),dateEnd:t.dateEnd.split(".").reverse().join("-"),note:t.note,count:t.count}))})},i=u=>{x.workSchedule.sendConfirmMessage({fullname:x.fullName,confirm:u}),x.query=""},C=()=>{x.workSchedule.sendAgreementMessage({users:$.value.participants}),c.value=!1};x.workSchedule.getBoss().then(u=>{_.value=u[0].users}),V.holidays().then(u=>{h.value=u,B()});const S=()=>v.value.length<2?[{dateStart:"01.01."+o.value,dateEnd:"31.12."+o.value}]:[{dateStart:"01.01."+o.value,dateEnd:"31.12."+o.value}],K=async()=>{b.value=!0;const u=new le.Workbook,t=u.addWorksheet(o.value.toString(),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),f={vertical:"middle",horizontal:"center"},l={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},g={vertical:"middle",horizontal:"center",wrapText:!0},q={vertical:"middle",horizontal:"right",wrapText:!0};t.mergeCells("D1:G1"),t.mergeCells("D2:G2"),t.mergeCells("D3:G3"),t.mergeCells("D4:G4"),t.mergeCells("A5:G5"),t.mergeCells("A6:G6"),t.mergeCells("A9:G9"),t.mergeCells("A10:A11"),t.mergeCells("B10:B11"),t.mergeCells("C10:C11"),t.mergeCells("D10:F10"),t.mergeCells("G10:G11"),t.getCell("D1").value=n("vacationSchedule.approve"),t.getCell("D2").value=n("vacationSchedule.dateApprove",{year:o.value-1}),t.getCell("D3").value=n("workSchedule.printPlace"),t.getCell("D4").value=n("vacationSchedule.dateApprove",{year:o.value-1}),t.getCell("A5").value=n("workSchedule.firm"),t.getCell("B7").value=n("vacationSchedule.vacationSchedule"),t.getCell("C7").value=n("vacationSchedule.numberDocs"),t.getCell("D7").value=n("vacationSchedule.compilation"),t.getCell("E7").value=n("vacationSchedule.year"),t.getCell("C8").value="",t.getCell("D8").value="",t.getCell("E8").value=o.value,t.getCell("E7").value=n("vacationSchedule.year"),t.getCell("A10").value=n("vacationSchedule.jobTitle"),t.getCell("B10").value=n("vacationSchedule.fullName"),t.getCell("C10").value=n("vacationSchedule.personnelNumber"),t.getCell("D10").value=n("vacationSchedule.vacation"),t.getCell("D11").value=n("vacationSchedule.days"),t.getCell("E11").value=n("vacationSchedule.date"),t.getCell("F11").value=n("vacationSchedule.endDate"),t.getCell("G11").value=n("vacationSchedule.note"),t.getRow(1).height=80,t.getColumn(1).width=28,t.getColumn(2).width=28,t.getColumn(3).width=18,t.getColumn(4).width=18,t.getColumn(5).width=14,t.getColumn(6).width=14,t.getColumn(7).width=14,t.getColumn(1).alignment=g,t.getColumn(2).alignment=g,t.getColumn(3).alignment=g,t.getColumn(4).alignment=g,t.getColumn(5).alignment=g,t.getColumn(6).alignment=g,t.getColumn(7).alignment=g,t.getCell("D1").alignment=q,t.getCell("D2").alignment=q,t.getCell("D4").alignment=q,t.getCell("A5").alignment=f,t.getCell("C7").border=l,t.getCell("D7").border=l,t.getCell("E7").border=l,t.getCell("C8").border=l,t.getCell("D8").border=l,t.getCell("E8").border=l,t.getCell("A10").border=l,t.getCell("B10").border=l,t.getCell("C10").border=l,t.getCell("D10").border=l,t.getCell("G10").border=l,t.getCell("D11").border=l,t.getCell("E11").border=l,t.getCell("F11").border=l;let M=11;for(const w of p.value)if(w.days.length>1)w.days.forEach(j=>{let R=[w.jobTitle,w.name,w.code,j.count,j.dateStart,j.dateEnd,j.note];const Z=t.addRow(R);Z.border=l,M++}),t.mergeCells(`A${M-w.days.length+1}:A${M}`),t.mergeCells(`B${M-w.days.length+1}:B${M}`),t.mergeCells(`C${M-w.days.length+1}:C${M}`);else{let j=[w.jobTitle,w.name,w.code,w.days[0].count,w.days[0].dateStart,w.days[0].dateEnd,w.days[0].note];const R=t.addRow(j);R.border=l,M++}const X="export_"+V.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",H=await u.xlsx.writeBuffer();Q.saveAs(new Blob([H]),X),b.value=!1};return(u,t)=>{const f=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",null,[D.checkEdit?(e.openBlock(),e.createBlock(e.unref(d.ElSelect),{key:0,modelValue:k.value,"onUpdate:modelValue":t[0]||(t[0]=l=>k.value=l),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(A.value,l=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createVNode(e.unref(d.ElButton),{plain:"",onClick:t[1]||(t[1]=l=>m.value=!0),style:{"margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("workSchedule.jobTitle")),1)]),_:1}),e.createVNode(e.unref(d.ElSelect),{modelValue:o.value,"onUpdate:modelValue":t[2]||(t[2]=l=>o.value=l),onChange:B,placeholder:"Year",style:{width:"80px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(e.unref(L),l=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:l.value,label:l.label,value:l.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(e.unref(d.ElSkeleton),{style:{width:"100%"},loading:y.value,animated:""},{template:e.withCtx(()=>[e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"100%",height:"2rem"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"4rem","margin-right":"4px"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"4rem"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"8rem","margin-right":"4px"}}),e.createVNode(e.unref(d.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"8rem"}})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTable),{id:"printTable",data:E.value,"span-method":P,onCellClick:J,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(n)("vacationSchedule.emptyText")},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:k.value!=="all"?e.unref(n)("vacationSchedule.title",{name:k.value}):e.unref(n)("vacationSchedule.enterprise")+` ${o.value}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.jobTitle"),width:"180",align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].jobTitle),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.fullName"),width:"180",align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].name),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.personnelNumber"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.vacation"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.days"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].count),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.date"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].dateStart),1)]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.endDate"),align:"center"},{default:e.withCtx(l=>[e.createTextVNode(e.toDisplayString(E.value[l.$index].dateEnd),1)]),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(d.ElTableColumn),{label:e.unref(n)("vacationSchedule.note"),align:"center"},{default:e.withCtx(l=>[e.createVNode(e.unref(d.ElInput),{modelValue:p.value[E.value[l.$index].ids].days[E.value[l.$index].key].note,"onUpdate:modelValue":g=>p.value[E.value[l.$index].ids].days[E.value[l.$index].key].note=g,style:{width:"100%"},placeholder:" ",class:"noBorder",onBlur:g=>a(E.value[l.$index].ids)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["data","empty-text"])]),_:1},8,["loading"]),D.checkEdit?(e.openBlock(),e.createElementBlock("div",ye,[F.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:0,type:"primary",onClick:t[3]||(t[3]=l=>c.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.sendInformation")),1)]),_:1})),D.query==="confirm"?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:1,type:"primary",onClick:t[4]||(t[4]=l=>i(!0))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.agreeOn")),1)]),_:1})):e.createCommentVNode("",!0),D.query==="confirm"?(e.openBlock(),e.createBlock(e.unref(d.ElButton),{key:2,type:"primary",onClick:t[5]||(t[5]=l=>i(!1))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.reject")),1)]),_:1})):e.createCommentVNode("",!0)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(d.ElButton),{disabled:b.value,plain:"",onClick:K,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[f,b.value]]),e.createVNode(e.unref(d.ElDialog),{title:e.unref(n)("workSchedule.jobTitle"),modelValue:m.value,"onUpdate:modelValue":t[7]||(t[7]=l=>m.value=l),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{onClick:t[6]||(t[6]=l=>m.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{size:"default",type:"primary",onClick:z},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(u.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),{model:N.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(N.value,l=>(e.openBlock(),e.createBlock(e.unref(d.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElSwitch),{modelValue:l.val,"onUpdate:modelValue":g=>l.val=g,"active-text":l.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(d.ElDialog),{title:e.unref(n)("vacationSchedule.pleaseCoordinate"),modelValue:c.value,"onUpdate:modelValue":t[10]||(t[10]=l=>c.value=l),width:"500px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(d.ElButton),{onClick:t[9]||(t[9]=l=>c.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{size:"default",type:"primary",onClick:C},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.send")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(d.ElForm),{model:$.value,autocomplete:"on"},{default:e.withCtx(()=>[e.createVNode(e.unref(d.ElSelect),{modelValue:$.value.participants,"onUpdate:modelValue":t[8]||(t[8]=l=>$.value.participants=l),placeholder:e.unref(n)("vacationSchedule.fullName"),multiple:"",size:"default"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(_.value,l=>(e.openBlock(),e.createBlock(e.unref(d.ElOption),{key:l,label:l,value:l},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(G.ContextMenu),{show:T.value,"onUpdate:show":t[14]||(t[14]=l=>T.value=l),options:Y.value},{default:e.withCtx(()=>[e.createVNode(e.unref(G.ContextMenuItem),{label:v.value.level===3&&typeof v.value.count<"u"?v.value.name+" "+v.value.count+" "+e.unref(n)("vacationSchedule.day",v.value.count)+` ${e.unref(n)("vacationSchedule.from")}: ${v.value.allCount()+parseInt(v.value.count)}`:v.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref(G.ContextMenuSeparator)),v.value.level===2?(e.openBlock(),e.createElementBlock("div",Ce,[v.value.length>1?(e.openBlock(),e.createBlock(e.unref(G.ContextMenuItem),{key:0,label:e.unref(n)("vacationSchedule.deleteLast"),onClick:t[11]||(t[11]=l=>O("delete"))},null,8,["label"])):e.createCommentVNode("",!0),v.value.add?(e.openBlock(),e.createBlock(e.unref(G.ContextMenuItem),{key:1,label:e.unref(n)("vacationSchedule.addVacation"),onClick:t[12]||(t[12]=l=>O("add"))},null,8,["label"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",ke,[e.createVNode(he,{data:v.value,range:"range",limitation:S(),onInput:s},null,8,["data","limitation"]),e.createElementVNode("div",null,[e.createVNode(e.unref(d.ElButton),{onClick:t[13]||(t[13]=l=>T.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(d.ElButton),{onClick:r},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(n)("vacationSchedule.save")),1)]),_:1})])]))]),_:1},8,["show","options"])])}}};module.exports=xe;
@@ -1,5 +1,5 @@
1
1
  import { ref as f, createElementBlock as $, openBlock as h, createElementVNode as p, createCommentVNode as P, toDisplayString as b, unref as a, Fragment as q, renderList as W, normalizeClass as re, watch as ye, computed as Ce, resolveDirective as be, createBlock as B, createVNode as v, withDirectives as De, withCtx as m, createTextVNode as V } from "vue";
2
- import { p as A, h as Se } from "./index-DIjJDdmP.js";
2
+ import { p as A, h as Se } from "./index-D4ZMBdCa.js";
3
3
  import { useI18n as me } from "vue-i18n";
4
4
  import { saveAs as we } from "file-saver";
5
5
  import * as xe from "exceljs";
@@ -1,3 +1,3 @@
1
- "use strict";const e=require("vue"),re=require("file-saver"),ie=require("exceljs"),v=require("./index-CmFQ6bqG.cjs"),de=require("vue-i18n"),i=require("element-plus"),W=require("@imengyu/vue3-context-menu");function se(w){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(w){for(const C in w)if(C!=="default"){const f=Object.getOwnPropertyDescriptor(w,C);Object.defineProperty(r,C,f.get?f:{enumerable:!0,get:()=>w[C]})}}return r.default=w,Object.freeze(r)}const ce=se(ie),ve={class:"work"},me={class:"nav"},ge={style:{height:"100px",width:"100%",display:"inline-block"}},he=["innerHTML"],fe={key:0,class:"controls-container",style:{"margin-top":".5rem"}},pe={key:0,style:{padding:"0.5em 1.5em"}},ye={key:1,style:{padding:"0.5em 1.5em"}},we={__name:"WorkTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"}},setup(w){const{t:r,d:C}=de.useI18n(),f=w,B=e.ref(!1),n=e.ref([]),U=e.ref(new Date().getMonth()+1),Y=e.ref(!1),y=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1)),u=e.ref([]),T=e.ref(0),x=e.ref(9),p=e.ref(8),M=e.ref(!1),L=e.ref(!0),b=e.ref(!1),H=e.ref("5"),E=e.ref(1),V=e.ref(""),R=e.ref([]),S=e.ref([]),A=e.ref([]),c=e.ref({name:"Имя",length:0,code:""}),I=e.ref(!1),j=e.ref({zIndex:30,minWidth:220,x:500,y:200}),G=e.ref({}),q=e.ref("100%");e.watch(V,async(a,l)=>{a!==l&&(S.value=[],M.value=!1,f.odata.personal.forEach(o=>{o.divisionName===a&&(S.value.some(d=>(d==null?void 0:d.activeText)===o.roleName)||S.value.push({val:!0,activeText:o.roleName}))}),O())}),e.watch(U,async a=>{let l=new Date().getMonth(),o=a===null?l:a-1;o=l-1<=o?o:o+12,y.value=new Date(new Date().getFullYear(),o,1),J()}),e.watch(Y,a=>{a&&_()});const X=(a,l,o,d)=>{c.value.ids=a.ids,c.value.key=a.key,c.value.add=a.days.length>0&&a.days[a.days.length-1].cont,c.value.level=l.level,c.value.day=o.cellIndex,j.value.y=d.clientY,j.value.x=d.clientX,l.level===2&&l.no===0&&f.checkEdit&&(c.value.name=r("workSchedule.autocomplete"),I.value=!0),l.level===3&&o.cellIndex-l.no===1&&f.checkEdit&&(N(o.cellIndex,a.ids),c.value.name=r("workSchedule.modeSelection"),I.value=!0)},_=()=>{f.workSchedule.getUsersYear({code:A.value,year:new Date(y.value).getFullYear()}).then(a=>{a.forEach(l=>{console.log(l)})})},J=()=>{const a=G.value,l=new Date(y.value),o=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let d=[],t=0;for(let s=1;s<=o;s++){const h=v.parseTime(l.setDate(s),"{Y}-{m}-{dd}");t+=a.nowork.includes(h)||a.holidays.includes(h)?0:a.preholidays.includes(h)?7:8;const g=a.nowork.includes(h)?"nowork":a.holidays.includes(h)?"holiday":a.preholidays.includes(h)?"preholiday":"";d.push({day:s,holidays:g,weekday:C(new Date(l.getFullYear(),l.getMonth(),s),"day")})}T.value=t,u.value=d,f.odata.getPersonal({}).then(s=>{var h;V.value.length===0&&(V.value=(h=s.find(g=>g.employeeName===f.fullName))==null?void 0:h.divisionName),s.forEach(g=>{R.value.some(k=>(k==null?void 0:k.value)===g.divisionName)||R.value.push({value:g.divisionName,label:g.divisionName,key:g.divisionName}),g.divisionName===V.value&&!S.value.some(k=>(k==null?void 0:k.activeText)===g.roleName)&&S.value.push({val:!0,activeText:g.roleName})}),O(),L.value=!1})},Z=(a,l)=>{var s,h,g;const o=new Date(y.value),d=`${o.getFullYear()}-${(o.getMonth()+1).toString().padStart(2,"0")}-${a.toString().padStart(2,"0")}`,t=(s=n.value[l])==null?void 0:s.days.findIndex(k=>k.day===d);return l===-1||t===-1?"":((h=n.value[l].days[t])==null?void 0:h.tips)+"<br>"+((g=n.value[l].days[t])==null?void 0:g.time)},O=()=>{n.value=[],A.value=[],f.odata.personal.forEach(a=>{if(a.divisionName===V.value&&S.value.some(l=>l.val&&l.activeText===a.roleName)){let l=v.byInitials(a.employeeName);A.value.push(a.employeeKey),n.value.push({name:l+" ("+a.roleName+")",days:[],contHour:0,code:a.employeeKey,id:!1,ids:n.value.length})}}),ee(),b.value=!1},ee=()=>{f.workSchedule.getWorkSchedule({code:A.value,date:v.parseTime(new Date(y.value),"{Y}-{m}-{dd}")}).then(a=>{a.forEach((l,o)=>{l!==null&&(n.value[o].days=l.data.days,n.value[o].id=l.id)}),$()})},$=()=>{n.value.forEach(a=>{a.contHour=a.days.reduce((l,o)=>l+o.time,0)})},le=a=>{n.value[a].days=[],$()},te=a=>{switch(H.value){case"5":for(let l=E.value;l<=u.value.length;l++)u.value[l-1].holidays===""&&N(l,a,!0),u.value[l-1].holidays==="preholiday"&&(p.value-=1,N(l,a,!0),p.value+=1);break;case"2x2":for(let l=E.value;l<=u.value.length;l+=4)N(l,a,!0),l+1<=u.value.length&&N(l+1,a,!0);break;case"2x5":for(let l=E.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"?(p.value-=1,N(o,a,!0),p.value+=1):N(o,a,!0);break}},N=(a,l,o=!1)=>{const{date:d,ind:t}=z(a,l);t===-1?(n.value[l].days.push({day:d,time:p.value,tips:`(${x.value}:00 - ${x.value+p.value+1}:00)`}),$()):o||(p.value=n.value[l].days[t].time,x.value=parseInt(n.value[l].days[t].tips.slice(1,-12)))},ae=(a,l)=>{const{ind:o}=z(a,l);n.value[l].days.splice(o,1),$(),document.querySelector(".app-main").click()},K=(a,l)=>{const{date:o,ind:d}=z(a,l);n.value[l].days[d]={day:o,time:p.value,tips:`(${x.value}:00 - ${x.value+p.value+1}:00)`},$()},z=(a,l)=>{var t;const o=v.parseTime(new Date(y.value).setDate(a),"{Y}-{m}-{dd}"),d=(t=n.value[l])==null?void 0:t.days.findIndex(s=>s.day===o);return{date:o,ind:d}},ne=async()=>{var Q;B.value=!0;const a=new ce.Workbook,l=a.addWorksheet(C(y.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"}},t={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${v.cellsDynamically("A1",u.value.length+5)}1`),l.mergeCells(`A2:${v.cellsDynamically("A2",u.value.length+5)}2`),l.mergeCells("A3:A4"),l.mergeCells(`B3:${v.cellsDynamically("B3",u.value.length)}3`),l.mergeCells(`${v.cellsDynamically("B3",u.value.length+1)}3:${v.cellsDynamically("B3",u.value.length+2)}3`),l.mergeCells(`${v.cellsDynamically("B3",u.value.length+3)}3:${v.cellsDynamically("B4",u.value.length+3)}4`),l.mergeCells(`${v.cellsDynamically("B3",u.value.length+4)}3:${v.cellsDynamically("B4",u.value.length+4)}4`),l.getCell("A1").value=r("workSchedule.firm"),l.getCell("A2").value=r("workSchedule.title",{name:V.value})+C(y.value,"month")+` ${new Date(y.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 m=2;m<=u.value.length+1;m++)l.getCell(4,m).value=u.value[m-2].weekday+`
2
- `+(m-1),l.getColumn(m).width=6,l.getColumn(m).alignment=t,l.getCell(4,m).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=t,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=t,l.getColumn(u.value.length+3).alignment=t,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 s=0;for(const m of n.value){let F=[m.name];for(let D=1;D<=u.value.length;D++){const{ind:P}=z(D,s);P!==-1?F[D]=`${m.days[P].time} ${m.days[P].tips}`:F[D]=" "}F.push(((Q=m.days)==null?void 0:Q.length)||" ",m.contHour||0);const ue=l.addRow(F);ue.border=d,s++}let h="Щербина Е. В.";f.odata.personal.forEach(m=>{m.roleName==="Начальник отдела правовой и кадровой работы"&&(h=m.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=v.byInitials(f.fullName),l.getCell(`AD${n.value.length+8}`).value=v.byInitials(h),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 g="export_"+v.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",k=await a.xlsx.writeBuffer();re.saveAs(new Blob([k]),g),B.value=!1},oe=async()=>{M.value||f.workSchedule.addWorkSchedule({data:n.value,date:v.parseTime(new Date(y.value),"{Y}-{m}-{dd}")}).then(a=>M.value=a)};return v.holidays().then(a=>{G.value=a,J()}),(a,l)=>{const o=e.resolveComponent("el-date-picker"),d=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",ve,[e.createElementVNode("div",me,[w.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElSelect),{key:0,modelValue:V.value,"onUpdate:modelValue":l[0]||(l[0]=t=>V.value=t),placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(R.value,t=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),w.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:1,plain:"",onClick:l[1]||(l[1]=t=>b.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(o,{modelValue:U.value,"onUpdate:modelValue":l[2]||(l[2]=t=>U.value=t),type:"month",placeholder:"Выберите месяц",format:"MMM","value-format":"M"},null,8,["modelValue"]),l[19]||(l[19]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(e.unref(i.ElSwitch),{modelValue:q.value,"onUpdate:modelValue":l[3]||(l[3]=t=>q.value=t),"active-text":a.$t("bids.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*4 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(i.ElSwitch),{modelValue:Y.value,"onUpdate:modelValue":l[4]||(l[4]=t=>Y.value=t),"active-text":"Отпуска","active-value":!0,"inactive-value":!1},null,8,["modelValue"])]),e.createVNode(e.unref(i.ElSkeleton),{style:{width:"100%"},loading:L.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":q.value,size:"small",align:"center",onCellClick:X,"empty-text":e.unref(r)("workSchedule.emptyText")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.title",{name:V.value})+e.unref(C)(y.value,"month")+` ${new Date(y.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"},{default:e.withCtx(t=>[e.createElementVNode("div",ge,e.toDisplayString(n.value[t.$index].name),1)]),_:1},8,["label"]),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,t=>(e.openBlock(),e.createBlock(e.unref(i.ElTableColumn),{key:t.day,width:"45","class-name":t.holidays,align:"center",label:t.weekday+`
3
- `+t.day.toString()},{default:e.withCtx(s=>[e.createElementVNode("div",{style:{height:"100px",width:"100%",display:"inline-block"},innerHTML:Z(t.day,s.$index)||" "},null,8,he)]),_:2},1032,["class-name","label"]))),128))]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.onSchedule"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.days"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(n.value[t.$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(t=>[e.createElementVNode("div",{style:e.normalizeStyle(`color: ${T.value===t.row.contHour?"green":"red"};`)},e.toDisplayString(t.row.contHour),5)]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["data","max-height","empty-text"])]),_:1},8,["loading"]),w.checkEdit?(e.openBlock(),e.createElementBlock("div",fe,[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.chartsFilled"))+": ",1),M.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:0,type:"primary",onClick:oe},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.confirm")),1)]),_:1})),l[20]||(l[20]=e.createTextVNode()),e.createElementVNode("span",null,e.toDisplayString(w.fullName),1)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(i.ElButton),{disabled:B.value,plain:"",onClick:ne,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[d,B.value]]),e.createVNode(e.unref(i.ElDialog),{title:e.unref(r)("workSchedule.jobTitle"),modelValue:b.value,"onUpdate:modelValue":l[6]||(l[6]=t=>b.value=t),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(i.ElButton),{onClick:l[5]||(l[5]=t=>b.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(i.ElButton),{size:"default",type:"primary",onClick:O},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElForm),{ref:"dialogForm",model:S.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,t=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElSwitch),{modelValue:t.val,"onUpdate:modelValue":s=>t.val=s,"active-text":t.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(W.ContextMenu),{show:I.value,"onUpdate:show":l[18]||(l[18]=t=>I.value=t),options:j.value},{default:e.withCtx(()=>[e.createVNode(e.unref(W.ContextMenuItem),{label:c.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref(W.ContextMenuSeparator)),c.value.level===2?(e.openBlock(),e.createElementBlock("div",pe,[e.createVNode(e.unref(i.ElRadioGroup),{modelValue:H.value,"onUpdate:modelValue":l[7]||(l[7]=t=>H.value=t),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[21]||(l[21]=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:E.value,"onUpdate:modelValue":l[8]||(l[8]=t=>E.value=t),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:x.value,"onUpdate:modelValue":l[9]||(l[9]=t=>x.value=t),step:1,min:8,max:11},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(i.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[10]||(l[10]=t=>p.value=t),step:1,min:4,max:12},null,8,["modelValue"]),e.createVNode(e.unref(i.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[11]||(l[11]=t=>te(c.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[12]||(l[12]=t=>le(c.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.clearRow")),1)]),_:1})])):(e.openBlock(),e.createElementBlock("div",ye,[e.createElementVNode("div",null,e.toDisplayString(Z(c.value.day,c.value.ids)),1),l[22]||(l[22]=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:x.value,"onUpdate:modelValue":l[13]||(l[13]=t=>x.value=t),step:1,min:8,max:11,onChange:l[14]||(l[14]=t=>K(c.value.day,c.value.ids))},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(i.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[15]||(l[15]=t=>p.value=t),step:1,min:4,max:12,onChange:l[16]||(l[16]=t=>K(c.value.day,c.value.ids))},null,8,["modelValue"]),e.createVNode(e.unref(i.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[17]||(l[17]=t=>ae(c.value.day,c.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.delete")),1)]),_:1})]))]),_:1},8,["show","options"])])}}};module.exports=we;
1
+ "use strict";const e=require("vue"),ie=require("file-saver"),de=require("exceljs"),c=require("./index-DxdyeKnm.cjs"),se=require("vue-i18n"),i=require("element-plus"),L=require("@imengyu/vue3-context-menu");function ce(k){const r=Object.create(null,{[Symbol.toStringTag]:{value:"Module"}});if(k){for(const C in k)if(C!=="default"){const f=Object.getOwnPropertyDescriptor(k,C);Object.defineProperty(r,C,f.get?f:{enumerable:!0,get:()=>k[C]})}}return r.default=k,Object.freeze(r)}const ve=ce(de),me={class:"work"},ge={class:"nav"},he={style:{height:"100px",width:"100%",display:"inline-block"}},fe=["innerHTML"],pe={key:0,class:"controls-container",style:{"margin-top":".5rem"}},ye={key:0,style:{padding:"0.5em 1.5em"}},we={key:1,style:{padding:"0.5em 1.5em"}},ke={__name:"WorkTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"}},setup(k){const{t:r,d:C}=se.useI18n(),f=k,M=e.ref(!1),o=e.ref([]),H=e.ref(new Date().getMonth()+1),R=e.ref(!1),b=e.ref([]),w=e.ref(new Date(new Date().getFullYear(),new Date().getMonth(),1)),u=e.ref([]),A=e.ref(0),x=e.ref(9),p=e.ref(8),z=e.ref(!1),G=e.ref(!0),E=e.ref(!1),j=e.ref("5"),$=e.ref(1),V=e.ref(""),q=e.ref([]),S=e.ref([]),I=e.ref([]),v=e.ref({name:"Имя",length:0,code:""}),F=e.ref(!1),O=e.ref({zIndex:30,minWidth:220,x:500,y:200}),J=e.ref({}),D=e.ref("100%");e.watch(V,async(a,l)=>{a!==l&&(S.value=[],z.value=!1,f.odata.personal.forEach(n=>{n.divisionName===a&&(S.value.some(d=>(d==null?void 0:d.activeText)===n.roleName)||S.value.push({val:!0,activeText:n.roleName}))}),P())}),e.watch(H,async a=>{let l=new Date().getMonth(),n=a===null?l:a-1;n=l-1<=n?n:n+12,w.value=new Date(new Date().getFullYear(),n,1),Z()});const _=(a,l,n,d)=>{v.value.ids=a.ids,v.value.key=a.key,v.value.add=a.days.length>0&&a.days[a.days.length-1].cont,v.value.level=l.level,v.value.day=n.cellIndex,O.value.y=d.clientY,O.value.x=d.clientX,l.level===2&&l.no===0&&f.checkEdit&&(v.value.name=r("workSchedule.autocomplete"),F.value=!0),l.level===3&&n.cellIndex-l.no===1&&f.checkEdit&&(N(n.cellIndex,a.ids),v.value.name=r("workSchedule.modeSelection"),F.value=!0)},ee=(a,l)=>{if(!b.value||b.value.length===0)return!1;const n=new Date(c.parseDate(a)).getTime();for(let d of b.value){const{dateStart:t,dateEnd:s,code:g}=d;if(t&&s&&g===l){const m=new Date(c.parseDate(t)).getTime(),y=new Date(c.parseDate(s)).getTime();if(n>=m&&n<=y)return!0}}return!1},Z=()=>{const a=J.value,l=new Date(w.value),n=new Date(l.getFullYear(),l.getMonth()+1,0).getDate();let d=[],t=0;for(let s=1;s<=n;s++){const g=c.parseTime(l.setDate(s),"{Y}-{m}-{dd}");t+=a.nowork.includes(g)||a.holidays.includes(g)?0:a.preholidays.includes(g)?7:8;const m=a.nowork.includes(g)?"nowork":a.holidays.includes(g)?"holiday":a.preholidays.includes(g)?"preholiday":"";d.push({day:s,holidays:m,weekday:C(new Date(l.getFullYear(),l.getMonth(),s),"day")})}A.value=t,u.value=d,f.odata.getPersonal({}).then(s=>{var g;V.value.length===0&&(V.value=(g=s.find(m=>m.employeeName===f.fullName))==null?void 0:g.divisionName),s.forEach(m=>{q.value.some(y=>(y==null?void 0:y.value)===m.divisionName)||q.value.push({value:m.divisionName,label:m.divisionName,key:m.divisionName}),m.divisionName===V.value&&!S.value.some(y=>(y==null?void 0:y.activeText)===m.roleName)&&S.value.push({val:!0,activeText:m.roleName})}),P(),G.value=!1})},K=(a,l)=>{var s,g,m;const n=new Date(w.value),d=`${n.getFullYear()}-${(n.getMonth()+1).toString().padStart(2,"0")}-${a.toString().padStart(2,"0")}`,t=(s=o.value[l])==null?void 0:s.days.findIndex(y=>y.day===d);return l===-1||t===-1?"":((g=o.value[l].days[t])==null?void 0:g.tips)+"<br>"+((m=o.value[l].days[t])==null?void 0:m.time)},P=()=>{o.value=[],I.value=[],b.value=[],f.odata.personal.forEach(a=>{if(a.divisionName===V.value&&S.value.some(l=>l.val&&l.activeText===a.roleName)){let l=c.byInitials(a.employeeName);I.value.push(a.employeeKey),o.value.push({name:l+" ("+a.roleName+")",days:[],contHour:0,code:a.employeeKey,id:!1,ids:o.value.length})}f.workSchedule.getUsersYear({code:I.value,year:new Date(w.value).getFullYear()}).then(l=>{l.forEach(n=>{n.dateStart&&b.value.push({code:n.code,dateStart:n.dateStart,dateEnd:n.dateEnd})})})}),le(),E.value=!1},le=()=>{f.workSchedule.getWorkSchedule({code:I.value,date:c.parseTime(new Date(w.value),"{Y}-{m}-{dd}")}).then(a=>{a.forEach((l,n)=>{l!==null&&(o.value[n].days=l.data.days,o.value[n].id=l.id)}),B()})},B=()=>{o.value.forEach(a=>{a.contHour=a.days.reduce((l,n)=>l+n.time,0)})},te=a=>{o.value[a].days=[],B()},ae=a=>{switch(j.value){case"5":for(let l=$.value;l<=u.value.length;l++)u.value[l-1].holidays===""&&N(l,a,!0),u.value[l-1].holidays==="preholiday"&&(p.value-=1,N(l,a,!0),p.value+=1);break;case"2x2":for(let l=$.value;l<=u.value.length;l+=4)N(l,a,!0),l+1<=u.value.length&&N(l+1,a,!0);break;case"2x5":for(let l=$.value;l<=u.value.length;l+=7)for(let n=l;n<l+5&&n<=u.value.length;n++)u.value[n-1].holidays==="preholiday"?(p.value-=1,N(n,a,!0),p.value+=1):N(n,a,!0);break}},N=(a,l,n=!1)=>{const{date:d,ind:t}=U(a,l);t===-1?(o.value[l].days.push({day:d,time:p.value,tips:`(${x.value}:00 - ${x.value+p.value+1}:00)`}),B()):n||(p.value=o.value[l].days[t].time,x.value=parseInt(o.value[l].days[t].tips.slice(1,-12)))},ne=(a,l)=>{const{ind:n}=U(a,l);o.value[l].days.splice(n,1),B(),document.querySelector(".app-main").click()},Q=(a,l)=>{const{date:n,ind:d}=U(a,l);o.value[l].days[d]={day:n,time:p.value,tips:`(${x.value}:00 - ${x.value+p.value+1}:00)`},B()},U=(a,l)=>{var t;const n=c.parseTime(new Date(w.value).setDate(a),"{Y}-{m}-{dd}"),d=(t=o.value[l])==null?void 0:t.days.findIndex(s=>s.day===n);return{date:n,ind:d}},oe=async()=>{var X;M.value=!0;const a=new ve.Workbook,l=a.addWorksheet(C(w.value,"month"),{pageSetup:{paperSize:9,orientation:"landscape",fitToPage:!0}}),n={vertical:"middle",horizontal:"center"},d={top:{style:"thin"},left:{style:"thin"},bottom:{style:"thin"},right:{style:"thin"}},t={vertical:"middle",horizontal:"center",wrapText:!0};l.mergeCells(`A1:${c.cellsDynamically("A1",u.value.length+5)}1`),l.mergeCells(`A2:${c.cellsDynamically("A2",u.value.length+5)}2`),l.mergeCells("A3:A4"),l.mergeCells(`B3:${c.cellsDynamically("B3",u.value.length)}3`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+1)}3:${c.cellsDynamically("B3",u.value.length+2)}3`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+3)}3:${c.cellsDynamically("B4",u.value.length+3)}4`),l.mergeCells(`${c.cellsDynamically("B3",u.value.length+4)}3:${c.cellsDynamically("B4",u.value.length+4)}4`),l.getCell("A1").value=r("workSchedule.firm"),l.getCell("A2").value=r("workSchedule.title",{name:V.value})+C(w.value,"month")+` ${new Date(w.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")} (${A.value})`;for(let h=2;h<=u.value.length+1;h++)l.getCell(4,h).value=u.value[h-2].weekday+`
2
+ `+(h-1),l.getColumn(h).width=6,l.getColumn(h).alignment=t,l.getCell(4,h).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=t,l.getCell("A2").alignment=n,l.getCell("A3").alignment=n,l.getCell("B3").alignment=n,l.getCell(3,u.value.length+2).alignment=n,l.getColumn(u.value.length+2).alignment=t,l.getColumn(u.value.length+3).alignment=t,l.getColumn(u.value.length+4).alignment=n,l.getColumn(u.value.length+5).alignment=n,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 s=0;for(const h of o.value){let Y=[h.name];for(let T=1;T<=u.value.length;T++){const{ind:W}=U(T,s);W!==-1?Y[T]=`${h.days[W].time} ${h.days[W].tips}`:Y[T]=" "}Y.push(((X=h.days)==null?void 0:X.length)||" ",h.contHour||0);const re=l.addRow(Y);re.border=d,s++}let g="Щербина Е. В.";f.odata.personal.forEach(h=>{h.roleName==="Начальник отдела правовой и кадровой работы"&&(g=h.employeeName)}),l.mergeCells(`A${o.value.length+6}:P${o.value.length+6}`),l.mergeCells(`Q${o.value.length+6}:AG${o.value.length+6}`),l.mergeCells(`B${o.value.length+8}:E${o.value.length+8}`),l.mergeCells(`F${o.value.length+8}:L${o.value.length+8}`),l.mergeCells(`M${o.value.length+8}:P${o.value.length+8}`),l.mergeCells(`S${o.value.length+8}:V${o.value.length+8}`),l.mergeCells(`W${o.value.length+8}:AC${o.value.length+8}`),l.mergeCells(`AD${o.value.length+8}:AG${o.value.length+8}`),l.mergeCells(`Z${o.value.length+9}:AA${o.value.length+9}`),l.getCell(`A${o.value.length+6}`).value=r("workSchedule.byInitials"),l.getCell(`Q${o.value.length+6}`).value=r("workSchedule.supervisorHR"),l.getCell(`B${o.value.length+8}`).value=r("workSchedule.compiled")+":",l.getCell(`S${o.value.length+8}`).value=r("workSchedule.approved")+":",l.getCell(`M${o.value.length+8}`).value=c.byInitials(f.fullName),l.getCell(`AD${o.value.length+8}`).value=c.byInitials(g),l.getCell(`Z${o.value.length+9}`).value=r("workSchedule.printPlace"),l.getCell(`A${o.value.length+6}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`Q${o.value.length+6}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`B${o.value.length+8}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`F${o.value.length+8}`).alignment={vertical:"middle",horizontal:"right"},l.getCell(`M${o.value.length+8}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`AD${o.value.length+8}`).alignment={vertical:"middle",horizontal:"left"},l.getCell(`Z${o.value.length+9}`).alignment=n,l.getCell(`F${o.value.length+8}`).border={bottom:{style:"thin"}},l.getCell(`W${o.value.length+8}`).border={bottom:{style:"thin"}};const m="export_"+c.parseTime(Date.now(),"{dd}.{m}.{Y}")+".xlsx",y=await a.xlsx.writeBuffer();ie.saveAs(new Blob([y]),m),M.value=!1},ue=async()=>{z.value||f.workSchedule.addWorkSchedule({data:o.value,date:c.parseTime(new Date(w.value),"{Y}-{m}-{dd}")}).then(a=>z.value=a)};return c.holidays().then(a=>{J.value=a,Z()}),(a,l)=>{const n=e.resolveComponent("el-date-picker"),d=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",me,[e.createElementVNode("div",ge,[k.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElSelect),{key:0,modelValue:V.value,"onUpdate:modelValue":l[0]||(l[0]=t=>V.value=t),placeholder:"Select",style:{width:"240px"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(q.value,t=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:t.value,label:t.label,value:t.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),k.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:1,plain:"",onClick:l[1]||(l[1]=t=>E.value=!0)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.jobTitle")),1)]),_:1})):e.createCommentVNode("",!0),e.createVNode(n,{modelValue:H.value,"onUpdate:modelValue":l[2]||(l[2]=t=>H.value=t),type:"month",placeholder:"Выберите месяц",format:"MMM","value-format":"M"},null,8,["modelValue"]),l[19]||(l[19]=e.createElementVNode("div",{class:"expander"},null,-1)),e.createVNode(e.unref(i.ElSwitch),{modelValue:D.value,"onUpdate:modelValue":l[3]||(l[3]=t=>D.value=t),"active-text":a.$t("bids.currentHeight"),"active-value":"100%","inactive-value":"calc(100vh - var(--el-component-size)*4 - var(--el-main-padding)*2 - var(--header-height))"},null,8,["modelValue","active-text"]),e.createVNode(e.unref(i.ElSwitch),{modelValue:R.value,"onUpdate:modelValue":l[4]||(l[4]=t=>R.value=t),"active-text":"Отпуска","active-value":!0,"inactive-value":!1},null,8,["modelValue"])]),e.createVNode(e.unref(i.ElSkeleton),{style:{width:"100%"},loading:G.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:o.value,style:{width:"100%"},"max-height":D.value,size:"small",align:"center",onCellClick:_,"empty-text":e.unref(r)("workSchedule.emptyText")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.title",{name:V.value})+e.unref(C)(w.value,"month")+` ${new Date(w.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:D.value!=="100%"},{default:e.withCtx(t=>[e.createElementVNode("div",he,e.toDisplayString(o.value[t.$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,t=>(e.openBlock(),e.createBlock(e.unref(i.ElTableColumn),{key:t.day,width:"46","class-name":t.holidays,align:"center",label:t.weekday+`
3
+ `+t.day.toString()},{default:e.withCtx(s=>[e.createElementVNode("div",{style:{height:"100px",width:"100%",display:"inline-block"},class:e.normalizeClass(R.value&&ee(t.day,t.code)?"vacation":""),innerHTML:K(t.day,s.$index)||" "},null,10,fe)]),_:2},1032,["class-name","label"]))),128))]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.onSchedule"),align:"center",fixed:D.value!=="100%"?"right":!1},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("workSchedule.days"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(o.value[t.$index].days.length||0),1)]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:`${e.unref(r)("workSchedule.hours")} ( ${A.value} )`,align:"center"},{default:e.withCtx(t=>[e.createElementVNode("div",{style:e.normalizeStyle(`color: ${A.value===t.row.contHour?"green":"red"};`)},e.toDisplayString(t.row.contHour),5)]),_:1},8,["label"])]),_:1},8,["label","fixed"])]),_:1},8,["label"])]),_:1},8,["data","max-height","empty-text"])]),_:1},8,["loading"]),k.checkEdit?(e.openBlock(),e.createElementBlock("div",pe,[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.chartsFilled"))+": ",1),z.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:0,type:"primary",onClick:ue},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.confirm")),1)]),_:1})),l[20]||(l[20]=e.createTextVNode()),e.createElementVNode("span",null,e.toDisplayString(k.fullName),1)])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(i.ElButton),{disabled:M.value,plain:"",onClick:oe,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.exportExcel")),1)]),_:1},8,["disabled"])),[[d,M.value]]),e.createVNode(e.unref(i.ElDialog),{title:e.unref(r)("workSchedule.jobTitle"),modelValue:E.value,"onUpdate:modelValue":l[6]||(l[6]=t=>E.value=t),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(i.ElButton),{onClick:l[5]||(l[5]=t=>E.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(i.ElButton),{size:"default",type:"primary",onClick:P},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElForm),{ref:"dialogForm",model:S.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(S.value,t=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElSwitch),{modelValue:t.val,"onUpdate:modelValue":s=>t.val=s,"active-text":t.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(L.ContextMenu),{show:F.value,"onUpdate:show":l[18]||(l[18]=t=>F.value=t),options:O.value},{default:e.withCtx(()=>[e.createVNode(e.unref(L.ContextMenuItem),{label:v.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref(L.ContextMenuSeparator)),v.value.level===2?(e.openBlock(),e.createElementBlock("div",ye,[e.createVNode(e.unref(i.ElRadioGroup),{modelValue:j.value,"onUpdate:modelValue":l[7]||(l[7]=t=>j.value=t),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[21]||(l[21]=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:$.value,"onUpdate:modelValue":l[8]||(l[8]=t=>$.value=t),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:x.value,"onUpdate:modelValue":l[9]||(l[9]=t=>x.value=t),step:1,min:8,max:11},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(i.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[10]||(l[10]=t=>p.value=t),step:1,min:4,max:12},null,8,["modelValue"]),e.createVNode(e.unref(i.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[11]||(l[11]=t=>ae(v.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[12]||(l[12]=t=>te(v.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.clearRow")),1)]),_:1})])):(e.openBlock(),e.createElementBlock("div",we,[e.createElementVNode("div",null,e.toDisplayString(K(v.value.day,v.value.ids)),1),l[22]||(l[22]=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:x.value,"onUpdate:modelValue":l[13]||(l[13]=t=>x.value=t),step:1,min:8,max:11,onChange:l[14]||(l[14]=t=>Q(v.value.day,v.value.ids))},null,8,["modelValue"]),e.createElementVNode("span",null,e.toDisplayString(e.unref(r)("workSchedule.duration"))+":",1),e.createVNode(e.unref(i.ElSlider),{modelValue:p.value,"onUpdate:modelValue":l[15]||(l[15]=t=>p.value=t),step:1,min:4,max:12,onChange:l[16]||(l[16]=t=>Q(v.value.day,v.value.ids))},null,8,["modelValue"]),e.createVNode(e.unref(i.ElButton),{style:{"margin-top":".5rem"},size:"small",onClick:l[17]||(l[17]=t=>ne(v.value.day,v.value.ids))},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.delete")),1)]),_:1})]))]),_:1},8,["show","options"])])}}};module.exports=ke;