@studio-west/employees 0.1.4 → 0.1.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/VacationTable.cjs +1 -1
- package/dist/VacationTable.js +318 -294
- package/dist/WorkTable.cjs +3 -3
- package/dist/WorkTable.js +205 -226
- package/dist/employees.css +1 -1
- package/dist/index-BZDm1cKh.js +107 -0
- package/dist/index-DBlEsnXG.cjs +1 -0
- package/package.json +1 -1
- package/dist/index-Cig-zEKI.js +0 -41
- package/dist/index-r48mhCFw.cjs +0 -1
package/dist/VacationTable.cjs
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
"use strict";const e=require("vue"),N=require("./index-r48mhCFw.cjs"),Y=require("vue-i18n"),r=require("element-plus"),$=require("@imengyu/vue3-context-menu"),j=(b,x)=>{const o=b.__vccOpts||b;for(const[h,f]of x)o[h]=f;return o},L={class:"wrapper"},G={class:"month_year"},U={class:"text"},O={class:"week"},z={class:"month"},R=["onClick"],q={key:0},P={class:"month_year"},A={class:"text"},J={class:"week"},W={class:"month"},X=["onClick"],H={__name:"DataPicker",props:{data:Object,range:{type:String,default:()=>"solid"}},emits:["init"],setup(b,{emit:x}){var B,M,F,I;const o=e.ref(new Date),h=e.ref(new Date),f=b,S=x,p=e.ref(new Date().getFullYear()),E=e.ref(new Date().getMonth()),T=e.ref(new Date().getFullYear()),s=e.ref(new Date().getMonth()),c=e.ref([]),D=e.ref(0),w=e.ref(0),k=e.ref(-1),y=e.ref(-1),_=v=>{const n=v.split(v.match(/\D.*?\D?/));return n[0].length>2?n.join("-")+"T00:00:01":n.reverse().join("-")+"T00:00:01"};typeof((B=f.data)==null?void 0:B.startDate)<"u"&&(o.value=new Date(_(f.data.startDate)),p.value=o.value.getFullYear(),s.value=o.value.getMonth()),typeof((M=f.data)==null?void 0:M.endDate)<"u"&&(h.value=new Date(_(f.data.endDate)),T.value=h.value.getFullYear(),E.value=h.value.getMonth());const i=()=>{let v=new Date(p.value,s.value,0);for(let u=v.getDate()-v.getDay();u<=v.getDate()&&v.getDay()!==6;u++)D.value++,c.value.push({day:u,month:v.getMonth(),year:v.getFullYear()});for(let u=1;u<=new Date(p.value,s.value+1,0).getDate();u++)D.value++,c.value.push({day:u,month:s.value,year:p.value});if(f.range==="range"){w.value=new Date(p.value,s.value+2,0);for(let u=1;u<=w.value.getDate();u++)c.value.push({day:u,month:w.value.getMonth(),year:w.value.getFullYear()})}let n=f.range==="range"?2:1,d=new Date(p.value,s.value+n,1);for(let u=1;u<=7-d.getDay()&&d.getDay()!==0;u++)c.value.push({day:u,month:d.getMonth(),year:d.getFullYear()})},g=(v,n)=>{console.log(n);const d=N.parseTime(new Date(v.year,v.month,v.day),"{dd}.{m}.{Y}");if(f.range==="range")if(console.log(k.value),y.value!==-1)c.value[y.value].class="",c.value[k.value].class="",k.value=n,y.value=-1,c.value[n].class="active";else if(k.value!==-1){y.value=n,c.value[n].class="active";let u=N.parseTime(new Date(c.value[k.value].year,c.value[k.value].month,c.value[k.value].day),"{dd}.{m}.{Y}");k.value>n?S("input",{dateStart:d,dateEnd:u,count:k.value-n+1}):S("input",{dateStart:u,dateEnd:d,count:n-k.value+1})}else k.value=n,c.value[n].class="active";else c.value[k.value].class="",k.value=n,c.value[n].class="active",S("input",{dateStart:d,count:1})};i(),typeof((F=f.data)==null?void 0:F.startDate)<"u"&&(k.value=c.value.findIndex(v=>v.day===o.value.getDate()&&v.month===s.value&&v.year===p.value),c.value[k.value].class="active"),typeof((I=f.data)==null?void 0:I.endDate)<"u"&&f.range==="range"&&(y.value=c.value.findIndex(v=>v.day===h.value.getDate()&&v.month===E.value&&v.year===T.value),c.value[y.value].class="active");const C=(v,n)=>{c.value=[],D.value=0,o.value=new Date(v,n,1),p.value=o.value.getFullYear(),s.value=o.value.getMonth(),i()};return(v,n)=>(e.openBlock(),e.createElementBlock("div",L,[e.createElementVNode("div",null,[e.createElementVNode("p",G,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:n[0]||(n[0]=d=>C(p.value-1,s.value))},"«"),e.createElementVNode("button",{onClick:n[1]||(n[1]=d=>C(p.value,s.value-1))},"‹")]),e.createElementVNode("span",U,[e.createElementVNode("button",null,e.toDisplayString(p.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(N.parseTime)(o.value,"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:n[2]||(n[2]=d=>C(p.value,s.value+1))},"›"),e.createElementVNode("button",{onClick:n[3]||(n[3]=d=>C(p.value+1,s.value))},"»")])]),e.createElementVNode("div",O,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(N.parseTime)(new Date(1970,1,d),"{D}")),1)),64))]),e.createElementVNode("div",z,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(d,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u<=D.value+5-new Date(p.value,s.value+1,0).getDay()?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===s.value?d.class:"disabled"),onClick:a=>g(d,u)},e.toDisplayString(d.day),11,R)):e.createCommentVNode("",!0)],64))),128))])]),f.range==="range"?(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("p",P,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:n[4]||(n[4]=d=>C(p.value-1,s.value))},"«"),e.createElementVNode("button",{onClick:n[5]||(n[5]=d=>C(p.value,s.value-1))},"‹")]),e.createElementVNode("span",A,[e.createElementVNode("button",null,e.toDisplayString(new Date(p.value,s.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(N.parseTime)(o.value.setMonth(s.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:n[6]||(n[6]=d=>C(p.value,s.value+1))},"›"),e.createElementVNode("button",{onClick:n[7]||(n[7]=d=>C(p.value+1,s.value))},"»")])]),e.createElementVNode("div",J,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,u)=>e.createElementVNode("button",{key:u,class:"disabled"},e.toDisplayString(e.unref(N.parseTime)(new Date(1970,1,d),"{D}")),1)),64))]),e.createElementVNode("div",W,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(d,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[u>=D.value-new Date(p.value,s.value+1,1).getDay()?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===w.value.getMonth()?d.class:"disabled"),onClick:a=>g(d,u)},e.toDisplayString(d.day),11,X)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}},K=j(H,[["__scopeId","data-v-1e7f76f5"]]),Z={key:1,class:"controls-container"},Q={key:0},ee={key:1,style:{padding:"0 1rem .5rem"}},te={__name:"VacationTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"}},setup(b){const x=b,{t:o}=Y.useI18n(),h=e.ref([]);e.ref([]);const f=e.ref(new Date().getFullYear()),S=e.ref(!1),p=e.ref(!1),E=e.ref(!1),T=e.ref({zIndex:3,minWidth:230,x:500,y:200}),s=e.ref(!1),c=e.ref("Сектор разработок и эксплуатации сети"),D=e.ref([{value:"Сектор разработок и эксплуатации сети",label:"Сектор разработок и эксплуатации сети"}]),w=e.ref([{value:f.value,label:f.value},{value:f.value+1,label:f.value+1}]),k=e.ref(!1),y=e.ref([]),_=e.ref(!1),i=e.ref({name:"Имя",length:0,code:""});e.watch(c,async(a,l)=>{a!==l&&(y.value=[],S.value=!1,x.odata.personalManagerData.forEach(m=>{m.Status!=="Увольнение"&&m.Group===a&&(y.value.some(t=>(t==null?void 0:t.activeText)===m.Role)||y.value.push({val:!0,activeText:m.Role}))}),B())});const g=e.computed(()=>h.value.flatMap((a,l)=>!a.days||a.days.length===0?[{...a,key:0,ids:l}]:a.days.map((m,t)=>({ids:l,key:t,...a,...m})))),C=async()=>{x.odata.getPersonalManagerData({}).then(a=>{var l;c.value=(l=a.find(m=>m.Status!=="Увольнение"&&m.Description===x.fullName))==null?void 0:l.Group,a.forEach(m=>{m.Status!=="Увольнение"&&(D.value.some(t=>(t==null?void 0:t.value)===m.Group)||D.value.push({value:m.Group,label:m.Group,key:m.Group}),m.Group===c.value&&!y.value.some(t=>(t==null?void 0:t.activeText)===m.Role)&&y.value.push({val:!0,activeText:m.Role}))}),B(),p.value=!1})},B=()=>{h.value=[];let a=[];x.odata.personalManagerData.forEach(l=>{l.Status!=="Увольнение"&&l.Group===c.value&&y.value.some(m=>m.val&&m.activeText===l.Role)&&(a.push(l.Code),h.value.push({name:l.Description,days:[{note:""}],jobTitle:l.Role,code:l.Code}))}),M(a),s.value=!1},M=a=>{x.workSchedule.getAllVacations({year:f.value}).then(l=>{console.log(a),a.forEach((m,t)=>{h.value[t].days=[{note:""}],l.forEach(V=>{m===V.code&&(console.log(V),typeof h.value[t].days[0].dateStart>"u"?h.value[t].days[0]={dateStart:N.parseTime(V.dateStart,"{dd}.{m}.{Y}"),dateEnd:N.parseTime(V.dateEnd,"{dd}.{m}.{Y}"),note:V.note,count:V.count}:h.value[t].days.push({dateStart:N.parseTime(V.dateStart,"{dd}.{m}.{Y}"),dateEnd:N.parseTime(V.dateEnd,"{dd}.{m}.{Y}"),note:V.note,count:V.count}))})})})},F=a=>{if(a.columnIndex<3&&g.value[a.rowIndex].key<g.value[a.rowIndex].days.length)return g.value[a.rowIndex].key===0?{rowspan:g.value[a.rowIndex].days.length,colspan:1}:{rowspan:0,colspan:0}},I=(a,l,m,t)=>{i.value.ids=a.ids,i.value.key=a.key,i.value.startDate=a.dateStart,i.value.endDate=a.dateEnd,i.value.name=a.name,i.value.count=a.count,i.value.length=a.days.length,i.value.add=a.days.length>0&&a.days[a.days.length-1].count,i.value.level=l.level,T.value.y=t.clientY,T.value.x=t.clientX,l.level===2&&l.no<4&&(i.value.add||a.days.length>1)&&(E.value=!0),l.level===3&&(E.value=!0)},v=a=>{console.log(a);let l=h.value[i.value.ids];switch(a){case"add":l.days.push({note:""}),console.log(l.days.length);break;case"delete":delete l.days.pop(),u(i.value.ids);break}E.value=!1},n=a=>{_.value=a,i.value.count=a.count},d=()=>{_.value&&(h.value[i.value.ids].days[i.value.key]={..._.value,note:""},u(i.value.ids)),E.value=!1},u=a=>{x.workSchedule.rewriteFull({year:f.value,code:h.value[a].code,data:h.value[a].days.map(l=>(l.dateStart=l.dateStart.split(".").reverse().join("-"),l.dateEnd=l.dateEnd.split(".").reverse().join("-"),l))})};return C(),(a,l)=>{const m=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",null,[b.checkEdit?(e.openBlock(),e.createBlock(e.unref(r.ElSelect),{key:0,modelValue:c.value,"onUpdate:modelValue":l[0]||(l[0]=t=>c.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(D.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),e.createVNode(e.unref(r.ElButton),{plain:"",onClick:l[1]||(l[1]=t=>s.value=!0),style:{"margin-bottom":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("workSchedule.jobTitle")),1)]),_:1}),e.createVNode(e.unref(r.ElSelect),{modelValue:f.value,"onUpdate:modelValue":l[2]||(l[2]=t=>f.value=t),onChange:B,placeholder:"Year",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(w.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.createVNode(e.unref(r.ElSkeleton),{style:{width:"100%"},loading:p.value,animated:""},{template:e.withCtx(()=>[e.createVNode(e.unref(r.ElSkeletonItem),{variant:"text",style:{width:"100%",height:"2rem"}}),e.createVNode(e.unref(r.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"4rem","margin-right":"4px"}}),e.createVNode(e.unref(r.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"4rem"}}),e.createVNode(e.unref(r.ElSkeletonItem),{variant:"text",style:{width:"180px",height:"8rem","margin-right":"4px"}}),e.createVNode(e.unref(r.ElSkeletonItem),{variant:"text",style:{width:"calc( 100% - 184px)",height:"8rem"}})]),default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTable),{id:"printTable",data:g.value,"span-method":F,onCellClick:I,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(o)("vacationSchedule.emptyText")},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.title",{name:c.value})+` ${f.value}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.jobTitle"),width:"180",align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(g.value[t.$index].jobTitle),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.fullName"),width:"180",align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(g.value[t.$index].name),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.personnelNumber"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(g.value[t.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.vacation"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.days"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(g.value[t.$index].count),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.date"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(g.value[t.$index].dateStart),1)]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.endDate"),align:"center"},{default:e.withCtx(t=>[e.createTextVNode(e.toDisplayString(g.value[t.$index].dateEnd),1)]),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(r.ElTableColumn),{label:e.unref(o)("vacationSchedule.note"),align:"center"},{default:e.withCtx(t=>[e.createVNode(e.unref(r.ElInput),{modelValue:h.value[g.value[t.$index].ids].days[g.value[t.$index].key].note,"onUpdate:modelValue":V=>h.value[g.value[t.$index].ids].days[g.value[t.$index].key].note=V,style:{width:"100%"},placeholder:" ",class:"noBorder",onBlur:V=>u(g.value[t.$index].ids)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["data","empty-text"])]),_:1},8,["loading"]),b.checkEdit?(e.openBlock(),e.createElementBlock("div",Z,[S.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r.ElButton),{key:0,type:"primary",onClick:a.confirmData},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("vacationSchedule.sendInformation")),1)]),_:1},8,["onClick"])),S.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r.ElButton),{key:1,type:"primary",onClick:a.confirmData},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("vacationSchedule.agreeOn")),1)]),_:1},8,["onClick"])),S.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(r.ElButton),{key:2,type:"primary",onClick:a.confirmData},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("vacationSchedule.reject")),1)]),_:1},8,["onClick"]))])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(r.ElButton),{disabled:k.value,plain:"",onClick:a.exportToExcel,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("workSchedule.exportExcel")),1)]),_:1},8,["disabled","onClick"])),[[m,k.value]]),e.createVNode(e.unref(r.ElDialog),{title:e.unref(o)("workSchedule.jobTitle"),modelValue:s.value,"onUpdate:modelValue":l[4]||(l[4]=t=>s.value=t),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(r.ElButton),{onClick:l[3]||(l[3]=t=>s.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(r.ElButton),{size:"default",type:"primary",onClick:B},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(a.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(r.ElForm),{ref:"dialogForm",model:y.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,t=>(e.openBlock(),e.createBlock(e.unref(r.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(r.ElSwitch),{modelValue:t.val,"onUpdate:modelValue":V=>t.val=V,"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($.ContextMenu),{show:E.value,"onUpdate:show":l[8]||(l[8]=t=>E.value=t),options:T.value},{default:e.withCtx(()=>[e.createVNode(e.unref($.ContextMenuItem),{label:i.value.level===3&&typeof i.value.count<"u"?i.value.name+" "+i.value.count+" "+e.unref(o)("vacationSchedule.day",i.value.count):i.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref($.ContextMenuSeparator)),i.value.level===2?(e.openBlock(),e.createElementBlock("div",Q,[i.value.length>1?(e.openBlock(),e.createBlock(e.unref($.ContextMenuItem),{key:0,label:e.unref(o)("vacationSchedule.deleteLast"),onClick:l[5]||(l[5]=t=>v("delete"))},null,8,["label"])):e.createCommentVNode("",!0),i.value.add?(e.openBlock(),e.createBlock(e.unref($.ContextMenuItem),{key:1,label:e.unref(o)("vacationSchedule.addVacation"),onClick:l[6]||(l[6]=t=>v("add"))},null,8,["label"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",ee,[e.createVNode(K,{data:i.value,range:"range",onInput:n},null,8,["data"]),e.createElementVNode("div",null,[e.createVNode(e.unref(r.ElButton),{onClick:l[7]||(l[7]=t=>E.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("vacationSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(r.ElButton),{onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(o)("vacationSchedule.save")),1)]),_:1})])]))]),_:1},8,["show","options"])])}}};module.exports=te;
|
|
1
|
+
"use strict";const e=require("vue"),E=require("./index-DBlEsnXG.cjs"),j=require("vue-i18n"),i=require("element-plus"),I=require("@imengyu/vue3-context-menu"),L=(w,C)=>{const r=w.__vccOpts||w;for(const[h,f]of C)r[h]=f;return r},G={class:"wrapper"},U={class:"month_year"},O={class:"text"},z={class:"week"},R={class:"month"},q=["onClick"],P={key:0},A={class:"month_year"},J={class:"text"},W={class:"week"},X={class:"month"},H=["onClick"],K={__name:"DataPicker",props:{data:Object,range:{type:String,default:()=>"solid"}},emits:["init"],setup(w,{emit:C}){var T,M,F,Y;const r=e.ref(new Date),h=e.ref(new Date),f=w,B=C,p=e.ref(new Date().getFullYear()),D=e.ref(new Date().getMonth()),_=e.ref(new Date().getFullYear()),m=e.ref(new Date().getMonth()),c=e.ref([]),k=e.ref(0),b=e.ref(0),y=e.ref(-1),S=e.ref(-1),V=v=>{const o=v.split(v.match(/\D.*?\D?/));return o[0].length>2?o.join("-")+"T00:00:01":o.reverse().join("-")+"T00:00:01"};typeof((T=f.data)==null?void 0:T.startDate)<"u"&&(r.value=new Date(V(f.data.startDate)),p.value=r.value.getFullYear(),m.value=r.value.getMonth()),typeof((M=f.data)==null?void 0:M.endDate)<"u"&&(h.value=new Date(V(f.data.endDate)),_.value=h.value.getFullYear(),D.value=h.value.getMonth());const $=()=>{let v=new Date(p.value,m.value,0);for(let n=v.getDate()-v.getDay();n<=v.getDate()&&v.getDay()!==6;n++)k.value++,c.value.push({day:n,month:v.getMonth(),year:v.getFullYear(),class:[]});for(let n=1;n<=new Date(p.value,m.value+1,0).getDate();n++)k.value++,c.value.push({day:n,month:m.value,year:p.value,class:[]});if(f.range==="range"){b.value=new Date(p.value,m.value+2,0);for(let n=1;n<=b.value.getDate();n++)c.value.push({day:n,month:b.value.getMonth(),year:b.value.getFullYear(),class:[]})}let o=f.range==="range"?2:1,d=new Date(p.value,m.value+o,1);for(let n=1;n<=7-d.getDay()&&d.getDay()!==0;n++)c.value.push({day:n,month:d.getMonth(),year:d.getFullYear(),class:[]});f.data.holiday.length!==0&&(f.data.holiday.preholidays.forEach(n=>{let t=n.split("-");const l=c.value.findIndex(u=>u.year==t[0]&&u.month+1==t[1]&&u.day==t[2]);l!==-1&&(c.value[l].class[0]="preholiday")}),f.data.holiday.holidays.forEach(n=>{let t=n.split("-");const l=c.value.findIndex(u=>u.year==t[0]&&u.month+1==t[1]&&u.day==t[2]);l!==-1&&(c.value[l].class[0]="weekend")}),f.data.holiday.holiday.forEach(n=>{let t=n.split("-");const l=c.value.findIndex(u=>u.year==t[0]&&u.month+1==t[1]&&u.day==t[2]);l!==-1&&(c.value[l].class[0]="holiday")}),f.data.holiday.nowork.forEach(n=>{let t=n.split("-");const l=c.value.findIndex(u=>u.year==t[0]&&u.month+1==t[1]&&u.day==t[2]);l!==-1&&(c.value[l].class[0]="nowork")}))},s=(v,o)=>{let d=v-o+1;for(let n=0;n<=v-o;n++)c.value[n+o].class[0]==="holiday"&&d--;return d},g=(v,o)=>{const d=E.parseTime(new Date(v.year,v.month,v.day),"{dd}.{m}.{Y}");if(f.range==="range")if(console.log(y.value),S.value!==-1)c.value[S.value].class[1]="",c.value[y.value].class[1]="",y.value=o,S.value=-1,c.value[o].class[1]="active";else if(y.value!==-1){S.value=o,c.value[o].class[1]="active";let n=E.parseTime(new Date(c.value[y.value].year,c.value[y.value].month,c.value[y.value].day),"{dd}.{m}.{Y}");y.value>o?B("input",{dateStart:d,dateEnd:n,count:s(y.value,o)}):B("input",{dateStart:n,dateEnd:d,count:s(o,y.value)})}else y.value=o,c.value[o].class[1]="active";else c.value[y.value].class[1]="",y.value=o,c.value[o].class[1]="active",B("input",{dateStart:d,count:1})};$(),typeof((F=f.data)==null?void 0:F.startDate)<"u"&&(y.value=c.value.findIndex(v=>v.day===r.value.getDate()&&v.month===m.value&&v.year===p.value),c.value[y.value].class[1]="active"),typeof((Y=f.data)==null?void 0:Y.endDate)<"u"&&f.range==="range"&&(S.value=c.value.findIndex(v=>v.day===h.value.getDate()&&v.month===D.value&&v.year===_.value),c.value[S.value].class[1]="active");const N=(v,o)=>{c.value=[],k.value=0,r.value=new Date(v,o,1),p.value=r.value.getFullYear(),m.value=r.value.getMonth(),$()};return(v,o)=>(e.openBlock(),e.createElementBlock("div",G,[e.createElementVNode("div",null,[e.createElementVNode("p",U,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[0]||(o[0]=d=>N(p.value-1,m.value))},"«"),e.createElementVNode("button",{onClick:o[1]||(o[1]=d=>N(p.value,m.value-1))},"‹")]),e.createElementVNode("span",O,[e.createElementVNode("button",null,e.toDisplayString(p.value),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(E.parseTime)(r.value,"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[2]||(o[2]=d=>N(p.value,m.value+1))},"›"),e.createElementVNode("button",{onClick:o[3]||(o[3]=d=>N(p.value+1,m.value))},"»")])]),e.createElementVNode("div",z,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,n)=>e.createElementVNode("button",{key:n,class:"disabled"},e.toDisplayString(e.unref(E.parseTime)(new Date(1970,1,d),"{D}")),1)),64))]),e.createElementVNode("div",R,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(d,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n},[n<=k.value+5-new Date(p.value,m.value+1,0).getDay()?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===m.value?d.class:"disabled"),onClick:t=>g(d,n)},e.toDisplayString(d.day),11,q)):e.createCommentVNode("",!0)],64))),128))])]),f.range==="range"?(e.openBlock(),e.createElementBlock("div",P,[e.createElementVNode("p",A,[e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[4]||(o[4]=d=>N(p.value-1,m.value))},"«"),e.createElementVNode("button",{onClick:o[5]||(o[5]=d=>N(p.value,m.value-1))},"‹")]),e.createElementVNode("span",J,[e.createElementVNode("button",null,e.toDisplayString(new Date(p.value,m.value+1).getFullYear()),1),e.createElementVNode("button",null,e.toDisplayString(e.unref(E.parseTime)(r.value.setMonth(m.value+1),"{F}")),1)]),e.createElementVNode("span",null,[e.createElementVNode("button",{onClick:o[6]||(o[6]=d=>N(p.value,m.value+1))},"›"),e.createElementVNode("button",{onClick:o[7]||(o[7]=d=>N(p.value+1,m.value))},"»")])]),e.createElementVNode("div",W,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(7,(d,n)=>e.createElementVNode("button",{key:n,class:"disabled"},e.toDisplayString(e.unref(E.parseTime)(new Date(1970,1,d),"{D}")),1)),64))]),e.createElementVNode("div",X,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.value,(d,n)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:n},[n>=k.value-new Date(p.value,m.value+1,1).getDay()?(e.openBlock(),e.createElementBlock("button",{key:0,class:e.normalizeClass(d.month===b.value.getMonth()?d.class:"disabled"),onClick:t=>g(d,n)},e.toDisplayString(d.day),11,H)):e.createCommentVNode("",!0)],64))),128))])])):e.createCommentVNode("",!0)]))}},Z=L(K,[["__scopeId","data-v-a842f008"]]),Q={key:1,class:"controls-container",style:{"margin-top":".5rem"}},ee={key:0},te={key:1,style:{padding:"0 1rem .5rem"}},ae={__name:"VacationTable",props:{checkEdit:{type:Boolean,default:()=>!0},odata:Object,workSchedule:Object,fullName:{type:String,default:"Вы"}},setup(w){const C=w,{t:r}=j.useI18n(),h=e.ref([]);e.ref([]);const f=e.ref(new Date().getFullYear()),B=e.ref(!1),p=e.ref(!1),D=e.ref(!1),_=e.ref({zIndex:3,minWidth:230,x:500,y:200}),m=e.ref(!1),c=e.ref([]),k=e.ref("Сектор разработок и эксплуатации сети"),b=e.ref([{value:"all",label:r("vacationSchedule.all"),key:"all"}]),y=e.ref([{value:f.value,label:f.value},{value:f.value+1,label:f.value+1}]),S=e.ref(!1),V=e.ref([]),$=e.ref(!1),s=e.ref({name:"Имя",length:0,code:""});e.watch(k,async(t,l)=>{t!==l&&(V.value=[],B.value=!1,C.odata.personalManagerData.forEach(u=>{(u.Status!=="Увольнение"&&u.Group===t||t==="all")&&(V.value.some(a=>(a==null?void 0:a.activeText)===u.Role)||V.value.push({val:!0,activeText:u.Role}))}),T())});const g=e.computed(()=>h.value.flatMap((t,l)=>!t.days||t.days.length===0?[{...t,key:0,ids:l}]:t.days.map((u,a)=>({ids:l,key:a,...t,...u})))),N=async()=>{C.odata.getPersonalManagerData({}).then(t=>{var l;k.value=(l=t.find(u=>u.Status!=="Увольнение"&&u.Description===C.fullName))==null?void 0:l.Group,t.forEach(u=>{u.Status!=="Увольнение"&&(b.value.some(a=>(a==null?void 0:a.value)===u.Group)||b.value.push({value:u.Group,label:u.Group,key:u.Group}),u.Group===k.value&&!V.value.some(a=>(a==null?void 0:a.activeText)===u.Role)&&V.value.push({val:!0,activeText:u.Role}))}),T(),p.value=!1})},T=()=>{h.value=[];let t=[];C.odata.personalManagerData.forEach(l=>{l.Status!=="Увольнение"&&(l.Group===k.value||k.value==="all")&&V.value.some(u=>u.val&&u.activeText===l.Role)&&(t.push(l.Code),h.value.push({name:l.Description,days:[{note:""}],jobTitle:l.Role,code:l.Code}))}),M(t),m.value=!1},M=t=>{C.workSchedule.getAllVacations({year:f.value}).then(l=>{console.log(t),t.forEach((u,a)=>{h.value[a].days=[{note:""}],l.forEach(x=>{u===x.code&&(console.log(x),typeof h.value[a].days[0].dateStart>"u"?h.value[a].days[0]={dateStart:E.parseTime(x.dateStart,"{dd}.{m}.{Y}"),dateEnd:E.parseTime(x.dateEnd,"{dd}.{m}.{Y}"),note:x.note,count:x.count}:h.value[a].days.push({dateStart:E.parseTime(x.dateStart,"{dd}.{m}.{Y}"),dateEnd:E.parseTime(x.dateEnd,"{dd}.{m}.{Y}"),note:x.note,count:x.count}))})})})},F=t=>{if(t.columnIndex<3&&g.value[t.rowIndex].key<g.value[t.rowIndex].days.length)return g.value[t.rowIndex].key===0?{rowspan:g.value[t.rowIndex].days.length,colspan:1}:{rowspan:0,colspan:0}},Y=(t,l,u,a)=>{s.value.ids=t.ids,s.value.key=t.key,s.value.startDate=t.dateStart,s.value.endDate=t.dateEnd,s.value.name=t.name,s.value.count=t.count,s.value.length=t.days.length,s.value.add=t.days.length>0&&t.days[t.days.length-1].count,s.value.level=l.level,s.value.holiday=c.value,_.value.y=a.clientY,_.value.x=a.clientX,l.level===2&&l.no<4&&(s.value.add||t.days.length>1)&&(D.value=!0),l.level===3&&(D.value=!0)},v=t=>{console.log(t);let l=h.value[s.value.ids];switch(t){case"add":l.days.push({note:""}),console.log(l.days.length);break;case"delete":delete l.days.pop(),n(s.value.ids);break}D.value=!1},o=t=>{$.value=t,s.value.count=t.count},d=()=>{$.value&&(h.value[s.value.ids].days[s.value.key]={...$.value,note:""},n(s.value.ids)),D.value=!1},n=t=>{C.workSchedule.rewriteFull({year:f.value,code:h.value[t].code,data:h.value[t].days.map(l=>(l.dateStart=l.dateStart.split(".").reverse().join("-"),l.dateEnd=l.dateEnd.split(".").reverse().join("-"),l))})};return E.holidays().then(t=>{c.value=t,N()}),(t,l)=>{const u=e.resolveDirective("loading");return e.openBlock(),e.createElementBlock("div",null,[w.checkEdit?(e.openBlock(),e.createBlock(e.unref(i.ElSelect),{key:0,modelValue:k.value,"onUpdate:modelValue":l[0]||(l[0]=a=>k.value=a),placeholder:"Select",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(b.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])):e.createCommentVNode("",!0),e.createVNode(e.unref(i.ElButton),{plain:"",onClick:l[1]||(l[1]=a=>m.value=!0),style:{"margin-bottom":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.jobTitle")),1)]),_:1}),e.createVNode(e.unref(i.ElSelect),{modelValue:f.value,"onUpdate:modelValue":l[2]||(l[2]=a=>f.value=a),onChange:T,placeholder:"Year",style:{width:"240px","margin-bottom":".5rem","margin-right":".5rem"}},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(y.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElOption),{key:a.value,label:a.label,value:a.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"]),e.createVNode(e.unref(i.ElSkeleton),{style:{width:"100%"},loading:p.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:g.value,"span-method":F,onCellClick:Y,border:"",style:{width:"100%"},size:"small","empty-text":e.unref(r)("vacationSchedule.emptyText")},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:k.value!=="all"?e.unref(r)("vacationSchedule.title",{name:k.value}):e.unref(r)("vacationSchedule.enterprise")+` ${f.value}`,align:"center",height:"34"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.jobTitle"),width:"180",align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(g.value[a.$index].jobTitle),1)]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.fullName"),width:"180",align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(g.value[a.$index].name),1)]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.personnelNumber"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(g.value[a.$index].code),1)]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.vacation"),align:"center"},{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.days"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(g.value[a.$index].count),1)]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.date"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(g.value[a.$index].dateStart),1)]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.endDate"),align:"center"},{default:e.withCtx(a=>[e.createTextVNode(e.toDisplayString(g.value[a.$index].dateEnd),1)]),_:1},8,["label"])]),_:1},8,["label"]),e.createVNode(e.unref(i.ElTableColumn),{label:e.unref(r)("vacationSchedule.note"),align:"center"},{default:e.withCtx(a=>[e.createVNode(e.unref(i.ElInput),{modelValue:h.value[g.value[a.$index].ids].days[g.value[a.$index].key].note,"onUpdate:modelValue":x=>h.value[g.value[a.$index].ids].days[g.value[a.$index].key].note=x,style:{width:"100%"},placeholder:" ",class:"noBorder",onBlur:x=>n(g.value[a.$index].ids)},null,8,["modelValue","onUpdate:modelValue","onBlur"])]),_:1},8,["label"])]),_:1},8,["label"])]),_:1},8,["data","empty-text"])]),_:1},8,["loading"]),w.checkEdit?(e.openBlock(),e.createElementBlock("div",Q,[B.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:0,type:"primary",onClick:t.confirmData},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("vacationSchedule.sendInformation")),1)]),_:1},8,["onClick"])),B.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:1,type:"primary",onClick:t.confirmData},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("vacationSchedule.agreeOn")),1)]),_:1},8,["onClick"])),B.value?e.createCommentVNode("",!0):(e.openBlock(),e.createBlock(e.unref(i.ElButton),{key:2,type:"primary",onClick:t.confirmData},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("vacationSchedule.reject")),1)]),_:1},8,["onClick"]))])):e.createCommentVNode("",!0),e.withDirectives((e.openBlock(),e.createBlock(e.unref(i.ElButton),{disabled:S.value,plain:"",onClick:t.exportToExcel,style:{"margin-top":".5rem"}},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("workSchedule.exportExcel")),1)]),_:1},8,["disabled","onClick"])),[[u,S.value]]),e.createVNode(e.unref(i.ElDialog),{title:e.unref(r)("workSchedule.jobTitle"),modelValue:m.value,"onUpdate:modelValue":l[4]||(l[4]=a=>m.value=a),width:"400px"},{footer:e.withCtx(()=>[e.createVNode(e.unref(i.ElButton),{onClick:l[3]||(l[3]=a=>m.value=!1),size:"default"},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(i.ElButton),{size:"default",type:"primary",onClick:T},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(t.$t("workSchedule.select")),1)]),_:1})]),default:e.withCtx(()=>[e.createVNode(e.unref(i.ElForm),{ref:"dialogForm",model:V.value,autocomplete:"on"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(V.value,a=>(e.openBlock(),e.createBlock(e.unref(i.ElFormItem),null,{default:e.withCtx(()=>[e.createVNode(e.unref(i.ElSwitch),{modelValue:a.val,"onUpdate:modelValue":x=>a.val=x,"active-text":a.activeText},null,8,["modelValue","onUpdate:modelValue","active-text"])]),_:2},1024))),256))]),_:1},8,["model"])]),_:1},8,["title","modelValue"]),e.createVNode(e.unref(I.ContextMenu),{show:D.value,"onUpdate:show":l[8]||(l[8]=a=>D.value=a),options:_.value},{default:e.withCtx(()=>[e.createVNode(e.unref(I.ContextMenuItem),{label:s.value.level===3&&typeof s.value.count<"u"?s.value.name+" "+s.value.count+" "+e.unref(r)("vacationSchedule.day",s.value.count):s.value.name,disabled:""},null,8,["label"]),e.createVNode(e.unref(I.ContextMenuSeparator)),s.value.level===2?(e.openBlock(),e.createElementBlock("div",ee,[s.value.length>1?(e.openBlock(),e.createBlock(e.unref(I.ContextMenuItem),{key:0,label:e.unref(r)("vacationSchedule.deleteLast"),onClick:l[5]||(l[5]=a=>v("delete"))},null,8,["label"])):e.createCommentVNode("",!0),s.value.add?(e.openBlock(),e.createBlock(e.unref(I.ContextMenuItem),{key:1,label:e.unref(r)("vacationSchedule.addVacation"),onClick:l[6]||(l[6]=a=>v("add"))},null,8,["label"])):e.createCommentVNode("",!0)])):(e.openBlock(),e.createElementBlock("div",te,[e.createVNode(Z,{data:s.value,range:"range",onInput:o},null,8,["data"]),e.createElementVNode("div",null,[e.createVNode(e.unref(i.ElButton),{onClick:l[7]||(l[7]=a=>D.value=!1)},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("vacationSchedule.cancel")),1)]),_:1}),e.createVNode(e.unref(i.ElButton),{onClick:d},{default:e.withCtx(()=>[e.createTextVNode(e.toDisplayString(e.unref(r)("vacationSchedule.save")),1)]),_:1})])]))]),_:1},8,["show","options"])])}}};module.exports=ae;
|