import{d as e,r as t,f as r,g as a,o,h as s,w as n,i as l,X as u,j as i,t as d,k as _,l as f,F as m,z as c,N as p,a2 as y,T as b,a as h,a8 as k,aj as g,e as x,_ as v,ag as w,dh as I,di as j,ah as A,x as C,dj as D,bl as N,y as $}from"./index-DXvjTqMr.js";import{_ as T}from"./uni-nav-bar.BZJJc0Hh.js";import{_ as S}from"./uni-popup.BpvJsdxE.js";import{_ as M}from"./_plugin-vue_export-helper.BCo6x5W8.js";import{h as K}from"./moment.BD7_iMEL.js";import"./uni-icons.Dxt3pfrw.js";/* empty css *//* empty css */import"./uni-popup.vue_vue_type_style_index_0_scoped_90b62717_lang.BoqUbMLw.js";const O=M(e({__name:"index",props:{title:{},list:{},activeIndex:{}},emits:["selectItem"],setup(e,{emit:y}){const b=t(null),h=e,k=y,g=()=>{b.value.open()},x=()=>{b.value.close()};return(e,t)=>{const y=c,v=r(a("uni-popup"),S);return o(),s(y,null,{default:n((()=>[l(y,{onClick:g},{default:n((()=>[u(e.$slots,"default",{},void 0,!0)])),_:3}),l(v,{ref_key:"popupRef",ref:b,type:"bottom"},{default:n((()=>[l(y,{class:"popup-content"},{default:n((()=>[l(y,{class:"popup-title"},{default:n((()=>[i(d(h.title)+" ",1),l(y,{class:"popup-close-btn iconfont icon-guanbi",onClick:x})])),_:1}),l(y,{class:"popup-list"},{default:n((()=>[(o(!0),_(m,null,f(h.list,((e,t)=>(o(),s(y,{class:"popup-list-item",key:t,onClick:e=>(e=>{k("selectItem",e),b.value.close()})(t)},{default:n((()=>[i(d(e)+" ",1),t===h.activeIndex?(o(),s(y,{key:0,class:"iconfont icon-xuanzhong"})):p("",!0)])),_:2},1032,["onClick"])))),128))])),_:1})])),_:1})])),_:1},512)])),_:3})}}}),[["__scopeId","data-v-1421c4f4"]]),z=[Array.from({length:5},((e,t)=>t.toString()+"小时")),Array.from({length:60},((e,t)=>t.toString()+"分钟"))];Object.freeze(z);const q=e=>{const t=[];return 0!==e[0]&&t.push(z[0][e[0]]),t.push(z[1][e[1]]),t.join("")},V=(e,t)=>{e=new Date(`1970-01-01 ${e}`).getTime();let r=((t=new Date(`1970-01-01 ${t}`).getTime())-e)%864e5,a=r%36e5;return[Math.floor(r/36e5),Math.floor(a/6e4)]},F=(e,t,r,a)=>{e=new Date(`1970-01-01 ${e}`).getTime(),t=new Date(`1970-01-01 ${t}`).getTime();let o=0;r&&a&&(r=new Date(`1970-01-01 ${r}`).getTime(),o=(a=new Date(`1970-01-01 ${a}`).getTime())-r);let s=(t-e-o)%864e5,n=s%36e5;return[Math.floor(s/36e5),Math.floor(n/6e4)]},H=(e,t,r,a)=>{e=new Date(`1970-01-01 ${e}`).getTime(),t=new Date(`1970-01-01 ${t}`).getTime();let o=0;r&&a&&(r=new Date(`1970-01-01 ${r}`).getTime(),o=(a=new Date(`1970-01-01 ${a}`).getTime())-r);let s=(t-e+o)%864e5,n=s%36e5;return[Math.floor(s/36e5),Math.floor(n/6e4)]},X=M(e({__name:"ShiftAddForm",props:{form:{},type:{},allowNextDay:{type:Boolean,default:void 0},prefix:{}},emits:["change"],setup(e,{emit:r}){const a=e,{form:u,allowNextDay:x}=y(a),v=(e=!1)=>{const t=[["当日"],Array.from({length:24},((e,t)=>t.toString().padStart(2,"0"))),Array.from({length:60},((e,t)=>t.toString().padStart(2,"0")))];return e||t[0].push("次日"),t},w=(e,t)=>{const r=[];return 1===e[0]&&r.push("次日"),r.push(t[1][e[1]],":",t[2][e[2]]),r.join("")},I=t({work:()=>[{label:"上班时间",key:"work_hours",type:"date-time",index:[0,0,0],range:v(!0)},{label:"晚到超过多久记为迟到",key:"late",type:"hour-time",index:[0,0]},{label:"晚到超过多久记为严重迟到",key:"extreme_late",type:"hour-time",index:[0,0]},{label:"晚到超过多久记为半天缺卡",key:"late_lack_card",type:"hour-time",index:[0,0]},{label:"最早可提前多久打卡",key:"early_card",type:"hour-time",index:[0,0]}],"off-work":()=>[{label:"下班时间",key:"off_hours",type:"date-time",dayAfterKey:"second_day_after",index:[0,0,0],range:v()},{label:"提前多久打卡记为早退",key:"early_leave",type:"hour-time",index:[0,0]},{label:"提前多久打卡记为半天缺卡",key:"early_lack_card",type:"hour-time",index:[0,0]},{label:"最晚可延后多久打卡",key:"delay_card",type:"hour-time",index:[0,0]},{label:"下班可免打卡",key:"free_clock",type:"switch",checked:0}],rest:()=>[{label:"休息开始时间",key:"rest_start",dayAfterKey:"rest_start_after",type:"date-time",index:[0,0,0],range:v()},{label:"休息结束时间",key:"rest_end",type:"date-time",dayAfterKey:"rest_end_after",index:[0,0,0],range:v()}]}[a.type]());b(x,(()=>{if(void 0!==a.allowNextDay)for(const e of I.value)"date-time"===e.type&&(e.range=v(!a.allowNextDay))}),{immediate:!0});const j=r,A=(e,t)=>{const r={};if("date-time"===e.type){e.dayAfterKey&&Object.assign(r,{[e.dayAfterKey]:t.detail.value[0]});const a=e.range[1][t.detail.value[1]],o=e.range[2][t.detail.value[2]];Object.assign(r,{[e.key]:`${a}:${o}`})}else"hour-time"===e.type&&Object.assign(r,{[e.key]:3600*t.detail.value[0]+60*t.detail.value[1]});j("change",a.prefix,r)};return b(u,(e=>{const t={work:"first_day_after","off-work":"second_day_after",rest:"rest_day_after"};for(const r of I.value)if("date-time"===r.type){const o=K(e[r.key],"HH:mm"),s=[e[t[a.type]],o.hour(),o.minute()];r.index=s}else if("hour-time"===r.type){const t=K.duration(e[r.key],"seconds"),a=t.hours(),o=t.minutes();r.index=[a,o]}else"switch"===r.type&&(r.checked=e[r.key])}),{immediate:!0,deep:!0}),(e,t)=>{const r=c,u=k,y=g;return o(),s(r,{class:"form-body"},{default:n((()=>[(o(!0),_(m,null,f(h(I),(e=>(o(),s(r,{class:"form-item",key:e.key},{default:n((()=>[l(r,{class:"form-item-label"},{default:n((()=>[i(d(e.label),1)])),_:2},1024),"date-time"===e.type?(o(),s(u,{key:0,mode:"multiSelector",value:e.index,range:e.range,class:"form-item-content",onChange:t=>A(e,t)},{default:n((()=>[l(r,{class:"picker-content"},{default:n((()=>[i(d(w(e.index,e.range))+" ",1),l(r,{class:"iconfont icon-jinru-copy"})])),_:2},1024)])),_:2},1032,["value","range","onChange"])):"hour-time"===e.type?(o(),s(u,{key:1,mode:"multiSelector",value:e.index,range:h(z),class:"form-item-content",onChange:t=>A(e,t)},{default:n((()=>[l(r,{class:"picker-content"},{default:n((()=>[i(d(h(q)(e.index))+" ",1),l(r,{class:"iconfont icon-jinru-copy"})])),_:2},1024)])),_:2},1032,["value","range","onChange"])):"switch"===e.type?(o(),s(r,{key:2,class:"form-item-content"},{default:n((()=>[l(r,{class:"switch-content"},{default:n((()=>[l(y,{checked:1===e.checked,onChange:t=>((e,t)=>{j("change",a.prefix,{[e.key]:t.detail.value})})(e,t)},null,8,["checked","onChange"])])),_:2},1024)])),_:2},1024)):p("",!0)])),_:2},1024)))),128))])),_:1})}}}),[["__scopeId","data-v-b23a04df"]]),B=M(e({__name:"shiftAdd",props:{id:{default:""}},setup(e){const u=e,f=x({color:"#1890ff",name:"",number:1,work_time:"",number1:{first_day_after:0,work_hours:"09:00",late:600,extreme_late:1800,late_lack_card:3600,early_card:1800,second_day_after:0,off_hours:"18:00",early_leave:600,early_lack_card:1800,delay_card:1800,free_clock:1},number2:{first_day_after:0,work_hours:"09:00",late:600,extreme_late:1800,late_lack_card:3600,early_card:1800,second_day_after:0,off_hours:"18:00",early_leave:600,early_lack_card:1800,delay_card:1800,free_clock:1},rest_time:0,rest_start_after:0,rest_start:"12:00",rest_end_after:0,rest_end:"13:30",overtime:0}),y=t({overtimeIndex:[0,0],commutesNumberActiveIndex:0}),b=["一次上下班","两次上下班"],S=e=>{y.value.commutesNumberActiveIndex=e,f.number=0===e?1:2,1===f.number?(f.number1.second_day_after=0,f.number1.work_hours="09:00",f.number1.off_hours="18:00"):(f.number1.second_day_after=0,f.number1.work_hours="09:00",f.number1.off_hours="12:00",f.number2.first_day_after=0,f.number2.second_day_after=0,f.number2.work_hours="14:00",f.number2.off_hours="18:00"),Q(f)},M=()=>{v()},B=(e,t)=>{e?f[e]={...f[e],...t}:Object.entries(t).forEach((([e,t])=>{f[e]=t})),Q(f)},E=e=>{f.rest_time=e.detail.value?1:0,Q(f)},L=e=>{y.value.overtimeIndex=e.detail.value,f.overtime=3600*e.detail.value[0]+60*e.detail.value[1]},P=async()=>{w({title:"保存中...",mask:!0});const e=u.id?()=>I(u.id,f):()=>j(f);try{const t=await e();A(),C.success(t.message,"success"),setTimeout((()=>{v()}),1e3)}catch(t){A(),C.error(t.message,"error")}};function Q(e){let t=[];if(1==e.number&&1==e.rest_time){if(0==e.number1.second_day_after){if(e.number1.work_hours>e.rest_start)return C.error("中途休息开始时间要大于上班时间","error");if(e.number1.off_hourse.rest_start)return C.error("中途休息开始时间要大于上班时间","error");if(1==e.rest_end_after&&e.number1.off_hours{for(const o in f)if(e[o]&&!Array.isArray(e[o]))if("number1"===o||"number2"===o)for(const t in f[o])e[o][t]&&(f[o][t]=e[o][t]);else f[o]=e[o];const t=K.duration(f.overtime,"seconds"),r=t.hours(),a=t.minutes();y.value.overtimeIndex=[r,a]})),(e,t)=>{const u=r(a("uni-nav-bar"),T),x=c,v=N,w=g,I=k,j=$;return o(),_(m,null,[l(x,{class:"main"},{default:n((()=>[l(x,{class:"header-fixed"},{default:n((()=>[l(u,{"background-color":"transparent",border:!1,"status-bar":"","left-icon":"left",title:"班次设置",dark:"",class:"custom-nav-bar",onClickLeft:M})])),_:1})])),_:1}),l(x,{class:"page-body"},{default:n((()=>[l(x,{class:"page-card"},{default:n((()=>[l(x,{class:"form-item",style:{"margin-top":"6rpx"}},{default:n((()=>[l(x,{class:"form-item-label","data-required":""},{default:n((()=>[i("班次名称")])),_:1}),l(v,{type:"text",placeholder:"请填写",class:"form-item-input",modelValue:h(f).name,"onUpdate:modelValue":t[0]||(t[0]=e=>h(f).name=e)},null,8,["modelValue"])])),_:1}),l(x,{class:"form-item",style:{"margin-top":"48rpx"}},{default:n((()=>[l(x,{class:"form-item-label","data-required":""},{default:n((()=>[i("一次上下班")])),_:1}),l(O,{style:{flex:"1"},title:"上下班次数",list:b,activeIndex:h(y).commutesNumberActiveIndex,onSelectItem:S},{default:n((()=>[l(x,{class:"form-item-content"},{default:n((()=>[i(d(b[h(y).commutesNumberActiveIndex])+" ",1),l(x,{class:"iconfont icon-jinru-copy"})])),_:1})])),_:1},8,["activeIndex"])])),_:1})])),_:1}),l(x,{class:"page-card"},{default:n((()=>[l(x,{class:"card-tips"},{default:n((()=>[i(d(0===h(y).commutesNumberActiveIndex?"":"第1次")+"上班时间设置 ",1)])),_:1}),l(X,{onChange:B,prefix:"number1",form:h(f).number1,type:"work"},null,8,["form"]),l(x,{class:"card-tips"},{default:n((()=>[i(d(0===h(y).commutesNumberActiveIndex?"":"第1次")+"下班时间设置 ",1)])),_:1}),l(X,{onChange:B,prefix:"number1",form:h(f).number1,type:"off-work"},null,8,["form"])])),_:1}),1===h(y).commutesNumberActiveIndex?(o(),s(x,{key:0,class:"page-card"},{default:n((()=>[l(x,{class:"card-tips"},{default:n((()=>[i(" 第2次上班时间设置 ")])),_:1}),l(X,{onChange:B,prefix:"number2",form:h(f).number2,type:"work"},null,8,["form"]),l(x,{class:"card-tips"},{default:n((()=>[i(" 第2次下班时间设置 ")])),_:1}),l(X,{onChange:B,prefix:"number2",form:h(f).number2,type:"off-work"},null,8,["form"])])),_:1})):p("",!0),0===h(y).commutesNumberActiveIndex?(o(),s(x,{key:1,class:"page-card"},{default:n((()=>[l(x,{class:"card-action-box"},{default:n((()=>[l(x,null,{default:n((()=>[l(x,null,{default:n((()=>[i("中途休息时间")])),_:1}),l(x,{class:"card-tips",style:{"margin-top":"8rpx","font-size":"12px"}},{default:n((()=>[i(" 休息时间不计入工时 ")])),_:1})])),_:1}),l(w,{checked:1===h(f).rest_time,onChange:E},null,8,["checked"])])),_:1}),l(X,{onChange:B,prefix:"",form:h(f),type:"rest",allowNextDay:1===h(f).number1.second_day_after},null,8,["form","allowNextDay"])])),_:1})):p("",!0),l(x,{class:"overtime-title"},{default:n((()=>[i("加班起算时间")])),_:1}),l(x,{class:"page-card"},{default:n((()=>[l(x,{class:"form-item"},{default:n((()=>[l(x,{class:"form-item-label","data-required":""},{default:n((()=>[i("最后班次下班后多久开始计算")])),_:1}),l(I,{mode:"multiSelector",style:{flex:"1"},range:h(z),value:h(y).overtimeIndex,onChange:L},{default:n((()=>[l(x,{class:"form-item-content"},{default:n((()=>[i(d(h(q)(h(y).overtimeIndex))+" ",1),l(x,{class:"iconfont icon-jinru-copy"})])),_:1})])),_:1},8,["range","value"])])),_:1})])),_:1}),l(x,{class:"work-time-total-box"},{default:n((()=>[l(x,{class:"work-time-total-title"},{default:n((()=>[i(" 合计工作时长  "),l(j,null,{default:n((()=>{return[i(d((e=h(f).work_time,e.replace("小时"," 小时 ").replace("分钟"," 分钟"))),1)];var e})),_:1})])),_:1}),l(x,{class:"work-time-total-btn",onClick:P},{default:n((()=>[i("保存")])),_:1})])),_:1})])),_:1})],64)}}}),[["__scopeId","data-v-eb7bece7"]]);export{B as default};