diff --git a/yuthon_base/static/webh5/assets/ClockInStatistics-BrZzgXnf.js b/yuthon_base/static/webh5/assets/ClockInStatistics-BrZzgXnf.js index c259c0020..03405f04f 100644 --- a/yuthon_base/static/webh5/assets/ClockInStatistics-BrZzgXnf.js +++ b/yuthon_base/static/webh5/assets/ClockInStatistics-BrZzgXnf.js @@ -1 +1 @@ -import{c as oe,K as be,m as de,t as V,v as fe,y as ke,M as Ze,l as ze,n as ie,N as Ke,G as De,b as Le,q as Se,O as Qe,z as ge,I as $e,H as Re,Q as xe,R as Xe,P as et,S as tt,E as Ie,r as we,j as Ce,a as nt,T as at,k as rt,U as ot,V as st,W as it,X as lt,B as ct,C as ut,D as dt}from"./requests-xqoomqVS.js";import{u as ft,E as ht}from"./index-3GJ5XN5E.js";import{B as mt}from"./index-DO483s-t.js";/* empty css */import{r as J,z as vt,d as ce,c as N,g as y,w as _e,m as Ve,_ as gt,a as Be,o as yt,u as Dt,h as bt,i as G,q as Ae,k as ae,A as He,l as Me,t as se}from"./index-C1-xKBz6.js";function wt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}oe("picker-toolbar");const _t={title:String,cancelButtonText:String,confirmButtonText:String};function Mt(){const e=J([]),o=[];return vt(()=>{e.value=[]}),[e,w=>(o[w]||(o[w]=x=>{e.value[w]=x}),o[w])]}const qe=be({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:de(44),showToolbar:V,swipeDuration:de(1e3),visibleOptionNum:de(6)},_t);be({},qe,{columns:ke(),modelValue:ke(),toolbarPosition:fe("top"),columnsFieldNames:Object});const[kt,W,te]=oe("calendar"),St=e=>te("monthTitle",e.getFullYear(),e.getMonth()+1);function re(e,o){const s=e.getFullYear(),w=o.getFullYear();if(s===w){const x=e.getMonth(),R=o.getMonth();return x===R?0:x>R?1:-1}return s>w?1:-1}function q(e,o){const s=re(e,o);if(s===0){const w=e.getDate(),x=o.getDate();return w===x?0:w>x?1:-1}return s}const le=e=>new Date(e),Fe=e=>Array.isArray(e)?e.map(le):le(e);function Pe(e,o){const s=le(e);return s.setDate(s.getDate()+o),s}function Ye(e,o){const s=le(e);return s.setMonth(s.getMonth()+o),s.getDate()!==e.getDate()&&s.setDate(0),s}function Ue(e,o){const s=le(e);return s.setFullYear(s.getFullYear()+o),s.getDate()!==e.getDate()&&s.setDate(0),s}const Oe=e=>Pe(e,-1),Te=e=>Pe(e,1),Ne=e=>Ye(e,-1),We=e=>Ye(e,1),je=e=>Ue(e,-1),Ee=e=>Ue(e,1),me=()=>{const e=new Date;return e.setHours(0,0,0,0),e};function $t(e){const o=e[0].getTime();return(e[1].getTime()-o)/(1e3*60*60*24)+1}function xt(e,o=0){const s=new Date(e.getFullYear(),e.getMonth()+1,0),w=o+e.getDate()-1,x=o+s.getDate()-1;return Math.floor(w/7)===Math.floor(x/7)}be({},qe,{modelValue:ke(),filter:Function,formatter:{type:Function,default:(e,o)=>o}});const Ot=(e,o)=>32-new Date(e,o-1,32).getDate(),[Tt]=oe("calendar-day");var Ct=ce({name:Tt,props:{item:ze(Object),color:String,index:Number,offset:Ze(0),rowHeight:String},emits:["click","clickDisabledDate"],setup(e,{emit:o,slots:s}){const w=N(()=>{const{item:_,index:$,color:u,offset:T,rowHeight:h}=e,l={height:h};if(_.type==="placeholder")return l.width="100%",l;if($===0&&(l.marginLeft=`${100*T/7}%`),u)switch(_.type){case"end":case"start":case"start-end":case"multiple-middle":case"multiple-selected":l.background=u;break;case"middle":l.color=u;break}return _.date&&xt(_.date,T)&&(l.marginBottom=0),l}),x=()=>{e.item.type!=="disabled"?o("click",e.item):o("clickDisabledDate",e.item)},R=()=>{const{topInfo:_}=e.item;if(_||s["top-info"])return y("div",{class:W("top-info")},[s["top-info"]?s["top-info"](e.item):_])},B=()=>{const{bottomInfo:_}=e.item;if(_||s["bottom-info"])return y("div",{class:W("bottom-info")},[s["bottom-info"]?s["bottom-info"](e.item):_])},j=()=>s.text?s.text(e.item):e.item.text,F=()=>{const{item:_,color:$,rowHeight:u}=e,{type:T}=_,h=[R(),j(),B()];return T==="selected"?y("div",{class:W("selected-day"),style:{width:u,height:u,background:$}},[h]):h};return()=>{const{type:_,className:$}=e.item;return _==="placeholder"?y("div",{class:W("day"),style:w.value},null):y("div",{role:"gridcell",style:w.value,class:[W("day",_),$],tabindex:_==="disabled"?void 0:-1,onClick:x},[F()])}}});const[Pt]=oe("calendar-month"),Yt={date:ze(Date),type:String,color:String,minDate:Date,maxDate:Date,showMark:Boolean,rowHeight:ie,formatter:Function,lazyRender:Boolean,currentDate:[Date,Array],allowSameDay:Boolean,showSubtitle:Boolean,showMonthTitle:Boolean,firstDayOfWeek:Number};var Rt=ce({name:Pt,props:Yt,emits:["click","clickDisabledDate"],setup(e,{emit:o,slots:s}){const[w,x]=Ke(),R=J(),B=J(),j=ft(B),F=N(()=>St(e.date)),_=N(()=>De(e.rowHeight)),$=N(()=>{const f=e.date.getDate(),k=(e.date.getDay()-f%7+8)%7;return e.firstDayOfWeek?(k+7-e.firstDayOfWeek)%7:k}),u=N(()=>Ot(e.date.getFullYear(),e.date.getMonth()+1)),T=N(()=>w.value||!e.lazyRender),h=()=>F.value,l=f=>{const m=k=>e.currentDate.some(A=>q(A,k)===0);if(m(f)){const k=Oe(f),A=Te(f),c=m(k),a=m(A);return c&&a?"multiple-middle":c?"end":a?"start":"multiple-selected"}return""},M=f=>{const[m,k]=e.currentDate;if(!m)return"";const A=q(f,m);if(!k)return A===0?"start":"";const c=q(f,k);return e.allowSameDay&&A===0&&c===0?"start-end":A===0?"start":c===0?"end":A>0&&c<0?"middle":""},S=f=>{const{type:m,minDate:k,maxDate:A,currentDate:c}=e;if(k&&q(f,k)<0||A&&q(f,A)>0)return"disabled";if(c===null)return"";if(Array.isArray(c)){if(m==="multiple")return l(f);if(m==="range")return M(f)}else if(m==="single")return q(f,c)===0?"selected":"";return""},C=f=>{if(e.type==="range"){if(f==="start"||f==="end")return te(f);if(f==="start-end")return`${te("start")}/${te("end")}`}},E=()=>{if(e.showMonthTitle)return y("div",{class:W("month-title")},[s["month-title"]?s["month-title"]({date:e.date,text:F.value}):F.value])},U=()=>{if(e.showMark&&T.value)return y("div",{class:W("month-mark")},[e.date.getMonth()+1])},Z=N(()=>{const f=Math.ceil((u.value+$.value)/7);return Array(f).fill({type:"placeholder"})}),p=N(()=>{const f=[],m=e.date.getFullYear(),k=e.date.getMonth();for(let A=1;A<=u.value;A++){const c=new Date(m,k,A),a=S(c);let n={date:c,type:a,text:A,bottomInfo:C(a)};e.formatter&&(n=e.formatter(n)),f.push(n)}return f}),L=N(()=>p.value.filter(f=>f.type==="disabled")),X=(f,m)=>{if(R.value){const k=Se(R.value),A=Z.value.length,a=(Math.ceil((m.getDate()+$.value)/7)-1)*k.height/A;Qe(f,k.top+a+f.scrollTop-Se(f).top)}},K=(f,m)=>y(Ct,{item:f,index:m,color:e.color,offset:$.value,rowHeight:_.value,onClick:k=>o("click",k),onClickDisabledDate:k=>o("clickDisabledDate",k)},ge(s,["top-info","bottom-info","text"])),ne=()=>y("div",{ref:R,role:"grid",class:W("days")},[U(),(T.value?p:Z).value.map(K)]);return Le({getTitle:h,getHeight:()=>j.value,setVisible:x,scrollToDate:X,disabledDays:L}),()=>y("div",{class:W("month"),ref:B},[E(),ne()])}});const[It]=oe("calendar-header");var Bt=ce({name:It,props:{date:Date,minDate:Date,maxDate:Date,title:String,subtitle:String,showTitle:Boolean,showSubtitle:Boolean,firstDayOfWeek:Number,switchMode:fe("none")},emits:["clickSubtitle","panelChange"],setup(e,{slots:o,emit:s}){const w=N(()=>e.date&&e.minDate&&re(Ne(e.date),e.minDate)<0),x=N(()=>e.date&&e.minDate&&re(je(e.date),e.minDate)<0),R=N(()=>e.date&&e.maxDate&&re(We(e.date),e.maxDate)>0),B=N(()=>e.date&&e.maxDate&&re(Ee(e.date),e.maxDate)>0),j=()=>{if(e.showTitle){const h=e.title||te("title"),l=o.title?o.title():h;return y("div",{class:W("header-title")},[l])}},F=h=>s("clickSubtitle",h),_=h=>s("panelChange",h),$=h=>{const l=e.switchMode==="year-month",M=o[h?"next-month":"prev-month"],S=o[h?"next-year":"prev-year"],C=h?R.value:w.value,E=h?B.value:x.value,U=h?"arrow":"arrow-left",Z=h?"arrow-double-right":"arrow-double-left",p=()=>_((h?We:Ne)(e.date)),L=()=>_((h?Ee:je)(e.date)),X=y("view",{class:W("header-action",{disabled:C}),onClick:C?void 0:p},[M?M({disabled:C}):y($e,{class:{[Re]:!C},name:U},null)]),K=l&&y("view",{class:W("header-action",{disabled:E}),onClick:E?void 0:L},[S?S({disabled:E}):y($e,{class:{[Re]:!E},name:Z},null)]);return h?[X,K]:[K,X]},u=()=>{if(e.showSubtitle){const h=o.subtitle?o.subtitle({date:e.date,text:e.subtitle}):e.subtitle,l=e.switchMode!=="none";return y("div",{class:W("header-subtitle",{"with-switch":l}),onClick:F},[l?[$(),y("div",{class:W("header-subtitle-text")},[h]),$(!0)]:h])}},T=()=>{const{firstDayOfWeek:h}=e,l=te("weekdays"),M=[...l.slice(h,7),...l.slice(0,h)];return y("div",{class:W("weekdays")},[M.map(S=>y("span",{class:W("weekday")},[S]))])};return()=>y("div",{class:W("header")},[j(),u(),T()])}});const At={show:Boolean,type:fe("single"),switchMode:fe("none"),title:String,color:String,round:V,readonly:Boolean,poppable:V,maxRange:de(null),position:fe("bottom"),teleport:[String,Object],showMark:V,showTitle:V,formatter:Function,rowHeight:ie,confirmText:String,rangePrompt:String,lazyRender:V,showConfirm:V,defaultDate:[Date,Array],allowSameDay:Boolean,showSubtitle:V,closeOnPopstate:V,showRangePrompt:V,confirmDisabledText:String,closeOnClickOverlay:V,safeAreaInsetTop:Boolean,safeAreaInsetBottom:V,minDate:{type:Date,validator:xe},maxDate:{type:Date,validator:xe},firstDayOfWeek:{type:ie,default:0,validator:e=>e>=0&&e<=6}};var Ht=ce({name:kt,props:At,emits:["select","confirm","unselect","monthShow","overRange","update:show","clickSubtitle","clickDisabledDate","clickOverlay","panelChange"],setup(e,{emit:o,slots:s}){const w=N(()=>e.switchMode!=="none"),x=N(()=>!e.minDate&&!w.value?me():e.minDate),R=N(()=>!e.maxDate&&!w.value?Ye(me(),6):e.maxDate),B=(t,r=x.value,v=R.value)=>r&&q(t,r)===-1?r:v&&q(t,v)===1?v:t,j=(t=e.defaultDate)=>{const{type:r,allowSameDay:v}=e;if(t===null)return t;const g=me();if(r==="range"){Array.isArray(t)||(t=[]),t.length===1&&q(t[0],g)===1&&(t=[]);const I=x.value,H=R.value,z=B(t[0]||g,I,H?v?H:Oe(H):void 0),P=B(t[1]||(v?g:Te(g)),I?v?I:Te(I):void 0);return[z,P]}return r==="multiple"?Array.isArray(t)?t.map(I=>B(I)):[B(g)]:((!t||Array.isArray(t))&&(t=g),B(t))},F=()=>{const t=Array.isArray(u.value)?u.value[0]:u.value;return t||B(me())};let _;const $=J(),u=J(j()),T=J(F()),h=J(),[l,M]=Mt(),S=N(()=>e.firstDayOfWeek?+e.firstDayOfWeek%7:0),C=N(()=>{const t=[];if(!x.value||!R.value)return t;const r=new Date(x.value);r.setDate(1);do t.push(new Date(r)),r.setMonth(r.getMonth()+1);while(re(r,R.value)!==1);return t}),E=N(()=>{if(u.value){if(e.type==="range")return!u.value[0]||!u.value[1];if(e.type==="multiple")return!u.value.length}return!u.value}),U=()=>u.value,Z=()=>{const t=tt($.value),r=t+_,v=C.value.map((P,Y)=>l.value[Y].getHeight()),g=v.reduce((P,Y)=>P+Y,0);if(r>g&&t>0)return;let I=0,H;const z=[-1,-1];for(let P=0;P=t&&(z[1]=P,H||(H=Y,z[0]=P),l.value[P].showed||(l.value[P].showed=!0,o("monthShow",{date:Y.date,title:Y.getTitle()}))),I+=v[P]}C.value.forEach((P,Y)=>{const Q=Y>=z[0]-1&&Y<=z[1]+1;l.value[Y].setVisible(Q)}),H&&(h.value=H)},p=t=>{w.value?T.value=t:we(()=>{C.value.some((r,v)=>re(r,t)===0?($.value&&l.value[v].scrollToDate($.value,t),!0):!1),Z()})},L=()=>{if(!(e.poppable&&!e.show))if(u.value){const t=e.type==="single"?u.value:u.value[0];xe(t)&&p(t)}else w.value||we(Z)},X=()=>{e.poppable&&!e.show||(w.value||we(()=>{_=Math.floor(Se($).height)}),L())},K=(t=j())=>{u.value=t,L()},ne=t=>{const{maxRange:r,rangePrompt:v,showRangePrompt:g}=e;return r&&$t(t)>+r?(g&&Ie(v||te("rangePrompt",r)),o("overRange"),!1):!0},f=t=>{T.value=t,o("panelChange",{date:t})},m=()=>{var t;return o("confirm",(t=u.value)!=null?t:Fe(u.value))},k=(t,r)=>{const v=g=>{u.value=g,o("select",Fe(g))};if(r&&e.type==="range"&&!ne(t)){v([t[0],Pe(t[0],+e.maxRange-1)]);return}v(t),r&&!e.showConfirm&&m()},A=(t,r,v)=>{var g;return(g=t.find(I=>q(r,I.date)===-1&&q(I.date,v)===-1))==null?void 0:g.date},c=N(()=>l.value.reduce((t,r)=>{var v,g;return t.push(...(g=(v=r.disabledDays)==null?void 0:v.value)!=null?g:[]),t},[])),a=t=>{if(e.readonly||!t.date)return;const{date:r}=t,{type:v}=e;if(v==="range"){if(!u.value){k([r]);return}const[g,I]=u.value;if(g&&!I){const H=q(r,g);if(H===1){const z=A(c.value,g,r);if(z){const P=Oe(z);q(g,P)===-1?k([g,P]):k([r])}else k([g,r],!0)}else H===-1?k([r]):e.allowSameDay&&k([r,r],!0)}else k([r])}else if(v==="multiple"){if(!u.value){k([r]);return}const g=u.value,I=g.findIndex(H=>q(H,r)===0);if(I!==-1){const[H]=g.splice(I,1);o("unselect",le(H))}else e.maxRange&&g.length>=+e.maxRange?Ie(e.rangePrompt||te("rangePrompt",e.maxRange)):k([...g,r])}else k(r,!0)},n=t=>o("clickOverlay",t),d=t=>o("update:show",t),i=(t,r)=>{const v=r!==0||!e.showSubtitle;return y(Rt,Ve({ref:w.value?h:M(r),date:t,currentDate:u.value,showMonthTitle:v,firstDayOfWeek:S.value,lazyRender:w.value?!1:e.lazyRender,maxDate:R.value,minDate:x.value},ge(e,["type","color","showMark","formatter","rowHeight","showSubtitle","allowSameDay"]),{onClick:a,onClickDisabledDate:g=>o("clickDisabledDate",g)}),ge(s,["top-info","bottom-info","month-title","text"]))},D=()=>{if(s.footer)return s.footer();if(e.showConfirm){const t=s["confirm-text"],r=E.value,v=r?e.confirmDisabledText:e.confirmText;return y(mt,{round:!0,block:!0,type:"primary",color:e.color,class:W("confirm"),disabled:r,nativeType:"button",onClick:m},{default:()=>[t?t({disabled:r}):v||te("confirm")]})}},b=()=>y("div",{class:[W("footer"),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[D()]),O=()=>{var t,r;return y("div",{class:W()},[y(Bt,{date:(t=h.value)==null?void 0:t.date,maxDate:R.value,minDate:x.value,title:e.title,subtitle:(r=h.value)==null?void 0:r.getTitle(),showTitle:e.showTitle,showSubtitle:e.showSubtitle,switchMode:e.switchMode,firstDayOfWeek:S.value,onClickSubtitle:v=>o("clickSubtitle",v),onPanelChange:f},ge(s,["title","subtitle","prev-month","prev-year","next-month","next-year"])),y("div",{ref:$,class:W("body"),onScroll:w.value?void 0:Z},[w.value?i(T.value,0):C.value.map(i)]),b()])};return _e(()=>e.show,X),_e(()=>[e.type,e.minDate,e.maxDate,e.switchMode],()=>K(j(u.value))),_e(()=>e.defaultDate,t=>{K(t)}),Le({reset:K,scrollToDate:p,getSelectedDate:U}),Xe(X),()=>e.poppable?y(et,{show:e.show,class:W("popup"),round:e.round,position:e.position,closeable:e.showTitle||e.showSubtitle,teleport:e.teleport,closeOnPopstate:e.closeOnPopstate,safeAreaInsetTop:e.safeAreaInsetTop,closeOnClickOverlay:e.closeOnClickOverlay,onClickOverlay:n,"onUpdate:show":d},{default:O}):O()}});const Ft=Ce(Ht),[Ge,Nt]=oe("grid"),Wt={square:Boolean,center:V,border:V,gutter:ie,reverse:Boolean,iconSize:ie,direction:String,clickable:Boolean,columnNum:de(4)},Je=Symbol(Ge);var jt=ce({name:Ge,props:Wt,setup(e,{slots:o}){const{linkChildren:s}=nt(Je);return s({props:e}),()=>{var w;return y("div",{style:{paddingLeft:De(e.gutter)},class:[Nt(),{[at]:e.border&&!e.gutter}]},[(w=o.default)==null?void 0:w.call(o)])}}});const Et=Ce(jt),[pt,ve]=oe("grid-item"),zt=be({},it,{dot:Boolean,text:String,icon:String,badge:ie,iconColor:String,iconPrefix:String,badgeProps:Object});var Lt=ce({name:pt,props:zt,setup(e,{slots:o}){const{parent:s,index:w}=rt(Je),x=ot();if(!s)return;const R=N(()=>{const{square:$,gutter:u,columnNum:T}=s.props,h=`${100/+T}%`,l={flexBasis:h};if($)l.paddingTop=h;else if(u){const M=De(u);l.paddingRight=M,w.value>=+T&&(l.marginTop=M)}return l}),B=N(()=>{const{square:$,gutter:u}=s.props;if($&&u){const T=De(u);return{right:T,bottom:T,height:"auto"}}}),j=()=>{if(o.icon)return y(lt,Ve({dot:e.dot,content:e.badge},e.badgeProps),{default:o.icon});if(e.icon)return y($e,{dot:e.dot,name:e.icon,size:s.props.iconSize,badge:e.badge,class:ve("icon"),color:e.iconColor,badgeProps:e.badgeProps,classPrefix:e.iconPrefix},null)},F=()=>{if(o.text)return o.text();if(e.text)return y("span",{class:ve("text")},[e.text])},_=()=>o.default?o.default():[j(),F()];return()=>{const{center:$,border:u,square:T,gutter:h,reverse:l,direction:M,clickable:S}=s.props,C=[ve("content",[M,{center:$,square:T,reverse:l,clickable:S,surround:u&&h}]),{[st]:u}];return y("div",{class:[ve({square:T})],style:R.value},[y("div",{role:S?"button":void 0,class:C,style:B.value,tabindex:S?0:void 0,onClick:x},[_()])])}}});const Vt=Ce(Lt),qt=(e,o)=>ct("/yuthon/app/att",{selected_month:e,user_id:o});var ye={exports:{}},Ut=ye.exports,pe;function Gt(){return pe||(pe=1,(function(e,o){(function(s,w){e.exports=w()})(Ut,(function(){var s=1e3,w=6e4,x=36e5,R="millisecond",B="second",j="minute",F="hour",_="day",$="week",u="month",T="quarter",h="year",l="date",M="Invalid Date",S=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(c){var a=["th","st","nd","rd"],n=c%100;return"["+c+(a[(n-20)%10]||a[n]||a[0])+"]"}},U=function(c,a,n){var d=String(c);return!d||d.length>=a?c:""+Array(a+1-d.length).join(n)+c},Z={s:U,z:function(c){var a=-c.utcOffset(),n=Math.abs(a),d=Math.floor(n/60),i=n%60;return(a<=0?"+":"-")+U(d,2,"0")+":"+U(i,2,"0")},m:function c(a,n){if(a.date()1)return c(b[0])}else{var O=a.name;L[O]=a,i=O}return!d&&i&&(p=i),i||!d&&p},f=function(c,a){if(K(c))return c.clone();var n=typeof a=="object"?a:{};return n.date=c,n.args=arguments,new k(n)},m=Z;m.l=ne,m.i=K,m.w=function(c,a){return f(c,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var k=(function(){function c(n){this.$L=ne(n.locale,null,!0),this.parse(n),this.$x=this.$x||n.x||{},this[X]=!0}var a=c.prototype;return a.parse=function(n){this.$d=(function(d){var i=d.date,D=d.utc;if(i===null)return new Date(NaN);if(m.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var b=i.match(S);if(b){var O=b[2]-1||0,t=(b[7]||"0").substring(0,3);return D?new Date(Date.UTC(b[1],O,b[3]||1,b[4]||0,b[5]||0,b[6]||0,t)):new Date(b[1],O,b[3]||1,b[4]||0,b[5]||0,b[6]||0,t)}}return new Date(i)})(n),this.init()},a.init=function(){var n=this.$d;this.$y=n.getFullYear(),this.$M=n.getMonth(),this.$D=n.getDate(),this.$W=n.getDay(),this.$H=n.getHours(),this.$m=n.getMinutes(),this.$s=n.getSeconds(),this.$ms=n.getMilliseconds()},a.$utils=function(){return m},a.isValid=function(){return this.$d.toString()!==M},a.isSame=function(n,d){var i=f(n);return this.startOf(d)<=i&&i<=this.endOf(d)},a.isAfter=function(n,d){return f(n){const S=ee(`${l}-${M}`).format("YYYY-MM");console.log("请求月份数据",S);let C=await qt(S,_.value);Object.assign(o,C.data.current_month.banner_rote||{}),j.value=(C.data.current_month.holiday_data?.holiday_list||[]).map(E=>ee(E).format("YYYY/MM/DD")),F.value=(C.data.current_month.attendance_data||[]).map(E=>({...E,date:ee(E.date).format("YYYY/MM/DD")}))},u=l=>{const M=ee(l.date).format("YYYY/MM/DD"),S=F.value.find(C=>C.date===M);return S&&(S.color_select===1?(l.bottomInfo=".",l.className="att-green"):S.color_select===2?(l.bottomInfo=".",l.className="att-red"):S.color_select===3&&(l.bottomInfo="休",l.className="att-gray")),j.value.includes(M)&&(l.topInfo="休",l.className="att-blue"),l},T=l=>{console.log(l),$(l.date.getFullYear(),l.date.getMonth()+1)},h=l=>{const M=ee(l).format("YYYY/MM/DD"),S=F.value.find(C=>C.date===M);S?(s.state="true",s.group=S.class.join(""),s.check_in=S.check_in,s.check_out=S.check_out):s.state=""};return yt(async()=>{const l=Dt(),M=parseInt(l.query.user_id);_.value=M,$(w.value,x.value)}),(l,M)=>{const S=Vt,C=Et,E=Ft,U=dt,Z=ut,p=ht;return Me(),bt("div",Zt,[y(C,{"column-num":4,border:!1,class:"stats-grid"},{default:ae(()=>[y(S,null,{default:ae(()=>[G("div",Kt,se(o.is_late_card),1),M[0]||(M[0]=G("div",null,"迟到",-1))]),_:1,__:[0]}),y(S,null,{default:ae(()=>[G("div",Qt,se(o.is_early_card),1),M[1]||(M[1]=G("div",null,"早退",-1))]),_:1,__:[1]}),y(S,null,{default:ae(()=>[G("div",Xt,se(o.is_no_card),1),M[2]||(M[2]=G("div",null,"缺卡",-1))]),_:1,__:[2]}),y(S,null,{default:ae(()=>[G("div",en,se(o.is_no_work),1),M[3]||(M[3]=G("div",null,"旷工",-1))]),_:1,__:[3]}),y(S,null,{default:ae(()=>[G("div",tn,se(o.is_holiday),1),M[4]||(M[4]=G("div",null,"请假",-1))]),_:1,__:[4]}),y(S,null,{default:ae(()=>[G("div",nn,se(o.is_abnormal),1),M[5]||(M[5]=G("div",null,"异常",-1))]),_:1,__:[5]})]),_:1}),G("div",an,[y(E,{"switch-mode":"year-month",poppable:!1,"show-confirm":!1,"min-date":He(R),"max-date":He(B),formatter:u,onSelect:h,onPanelChange:T},null,8,["min-date","max-date"])]),s.state==="true"?(Me(),Ae(Z,{key:0,inset:""},{default:ae(()=>[y(U,{title:"班组",value:s.group},null,8,["value"]),y(U,{title:"签到时间",value:s.check_in},null,8,["value"]),y(U,{title:"签离时间",value:s.check_out},null,8,["value"])]),_:1})):(Me(),Ae(p,{key:1,description:"暂无打卡记录",image:"search"}))])}}},dn=gt(rn,[["__scopeId","data-v-d2e1e0ee"]]);export{dn as default}; +import{c as oe,K as be,m as de,t as V,v as fe,y as ke,M as Ze,l as ze,n as ie,N as Ke,G as De,b as Le,q as Se,O as Qe,z as ge,I as $e,H as Re,Q as xe,R as Xe,P as et,S as tt,E as Ie,r as we,j as Ce,a as nt,T as at,k as rt,U as ot,V as st,W as it,X as lt,B as ct,C as ut,D as dt}from"./requests-xqoomqVS.js";import{u as ft,E as ht}from"./index-3GJ5XN5E.js";import{B as mt}from"./index-DO483s-t.js";/* empty css */import{r as J,z as vt,d as ce,c as N,g as y,w as _e,m as Ve,_ as gt,a as Be,o as yt,u as Dt,h as bt,i as G,q as Ae,k as ae,A as He,l as Me,t as se}from"./index-C1-xKBz6.js";function wt(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}oe("picker-toolbar");const _t={title:String,cancelButtonText:String,confirmButtonText:String};function Mt(){const e=J([]),o=[];return vt(()=>{e.value=[]}),[e,w=>(o[w]||(o[w]=x=>{e.value[w]=x}),o[w])]}const qe=be({loading:Boolean,readonly:Boolean,allowHtml:Boolean,optionHeight:de(44),showToolbar:V,swipeDuration:de(1e3),visibleOptionNum:de(6)},_t);be({},qe,{columns:ke(),modelValue:ke(),toolbarPosition:fe("top"),columnsFieldNames:Object});const[kt,W,te]=oe("calendar"),St=e=>te("monthTitle",e.getFullYear(),e.getMonth()+1);function re(e,o){const s=e.getFullYear(),w=o.getFullYear();if(s===w){const x=e.getMonth(),R=o.getMonth();return x===R?0:x>R?1:-1}return s>w?1:-1}function q(e,o){const s=re(e,o);if(s===0){const w=e.getDate(),x=o.getDate();return w===x?0:w>x?1:-1}return s}const le=e=>new Date(e),Fe=e=>Array.isArray(e)?e.map(le):le(e);function Pe(e,o){const s=le(e);return s.setDate(s.getDate()+o),s}function Ye(e,o){const s=le(e);return s.setMonth(s.getMonth()+o),s.getDate()!==e.getDate()&&s.setDate(0),s}function Ue(e,o){const s=le(e);return s.setFullYear(s.getFullYear()+o),s.getDate()!==e.getDate()&&s.setDate(0),s}const Oe=e=>Pe(e,-1),Te=e=>Pe(e,1),Ne=e=>Ye(e,-1),We=e=>Ye(e,1),je=e=>Ue(e,-1),Ee=e=>Ue(e,1),me=()=>{const e=new Date;return e.setHours(0,0,0,0),e};function $t(e){const o=e[0].getTime();return(e[1].getTime()-o)/(1e3*60*60*24)+1}function xt(e,o=0){const s=new Date(e.getFullYear(),e.getMonth()+1,0),w=o+e.getDate()-1,x=o+s.getDate()-1;return Math.floor(w/7)===Math.floor(x/7)}be({},qe,{modelValue:ke(),filter:Function,formatter:{type:Function,default:(e,o)=>o}});const Ot=(e,o)=>32-new Date(e,o-1,32).getDate(),[Tt]=oe("calendar-day");var Ct=ce({name:Tt,props:{item:ze(Object),color:String,index:Number,offset:Ze(0),rowHeight:String},emits:["click","clickDisabledDate"],setup(e,{emit:o,slots:s}){const w=N(()=>{const{item:_,index:$,color:u,offset:T,rowHeight:h}=e,l={height:h};if(_.type==="placeholder")return l.width="100%",l;if($===0&&(l.marginLeft=`${100*T/7}%`),u)switch(_.type){case"end":case"start":case"start-end":case"multiple-middle":case"multiple-selected":l.background=u;break;case"middle":l.color=u;break}return _.date&&xt(_.date,T)&&(l.marginBottom=0),l}),x=()=>{e.item.type!=="disabled"?o("click",e.item):o("clickDisabledDate",e.item)},R=()=>{const{topInfo:_}=e.item;if(_||s["top-info"])return y("div",{class:W("top-info")},[s["top-info"]?s["top-info"](e.item):_])},B=()=>{const{bottomInfo:_}=e.item;if(_||s["bottom-info"])return y("div",{class:W("bottom-info")},[s["bottom-info"]?s["bottom-info"](e.item):_])},j=()=>s.text?s.text(e.item):e.item.text,F=()=>{const{item:_,color:$,rowHeight:u}=e,{type:T}=_,h=[R(),j(),B()];return T==="selected"?y("div",{class:W("selected-day"),style:{width:u,height:u,background:$}},[h]):h};return()=>{const{type:_,className:$}=e.item;return _==="placeholder"?y("div",{class:W("day"),style:w.value},null):y("div",{role:"gridcell",style:w.value,class:[W("day",_),$],tabindex:_==="disabled"?void 0:-1,onClick:x},[F()])}}});const[Pt]=oe("calendar-month"),Yt={date:ze(Date),type:String,color:String,minDate:Date,maxDate:Date,showMark:Boolean,rowHeight:ie,formatter:Function,lazyRender:Boolean,currentDate:[Date,Array],allowSameDay:Boolean,showSubtitle:Boolean,showMonthTitle:Boolean,firstDayOfWeek:Number};var Rt=ce({name:Pt,props:Yt,emits:["click","clickDisabledDate"],setup(e,{emit:o,slots:s}){const[w,x]=Ke(),R=J(),B=J(),j=ft(B),F=N(()=>St(e.date)),_=N(()=>De(e.rowHeight)),$=N(()=>{const f=e.date.getDate(),k=(e.date.getDay()-f%7+8)%7;return e.firstDayOfWeek?(k+7-e.firstDayOfWeek)%7:k}),u=N(()=>Ot(e.date.getFullYear(),e.date.getMonth()+1)),T=N(()=>w.value||!e.lazyRender),h=()=>F.value,l=f=>{const m=k=>e.currentDate.some(A=>q(A,k)===0);if(m(f)){const k=Oe(f),A=Te(f),c=m(k),a=m(A);return c&&a?"multiple-middle":c?"end":a?"start":"multiple-selected"}return""},M=f=>{const[m,k]=e.currentDate;if(!m)return"";const A=q(f,m);if(!k)return A===0?"start":"";const c=q(f,k);return e.allowSameDay&&A===0&&c===0?"start-end":A===0?"start":c===0?"end":A>0&&c<0?"middle":""},S=f=>{const{type:m,minDate:k,maxDate:A,currentDate:c}=e;if(k&&q(f,k)<0||A&&q(f,A)>0)return"disabled";if(c===null)return"";if(Array.isArray(c)){if(m==="multiple")return l(f);if(m==="range")return M(f)}else if(m==="single")return q(f,c)===0?"selected":"";return""},C=f=>{if(e.type==="range"){if(f==="start"||f==="end")return te(f);if(f==="start-end")return`${te("start")}/${te("end")}`}},E=()=>{if(e.showMonthTitle)return y("div",{class:W("month-title")},[s["month-title"]?s["month-title"]({date:e.date,text:F.value}):F.value])},U=()=>{if(e.showMark&&T.value)return y("div",{class:W("month-mark")},[e.date.getMonth()+1])},Z=N(()=>{const f=Math.ceil((u.value+$.value)/7);return Array(f).fill({type:"placeholder"})}),p=N(()=>{const f=[],m=e.date.getFullYear(),k=e.date.getMonth();for(let A=1;A<=u.value;A++){const c=new Date(m,k,A),a=S(c);let n={date:c,type:a,text:A,bottomInfo:C(a)};e.formatter&&(n=e.formatter(n)),f.push(n)}return f}),L=N(()=>p.value.filter(f=>f.type==="disabled")),X=(f,m)=>{if(R.value){const k=Se(R.value),A=Z.value.length,a=(Math.ceil((m.getDate()+$.value)/7)-1)*k.height/A;Qe(f,k.top+a+f.scrollTop-Se(f).top)}},K=(f,m)=>y(Ct,{item:f,index:m,color:e.color,offset:$.value,rowHeight:_.value,onClick:k=>o("click",k),onClickDisabledDate:k=>o("clickDisabledDate",k)},ge(s,["top-info","bottom-info","text"])),ne=()=>y("div",{ref:R,role:"grid",class:W("days")},[U(),(T.value?p:Z).value.map(K)]);return Le({getTitle:h,getHeight:()=>j.value,setVisible:x,scrollToDate:X,disabledDays:L}),()=>y("div",{class:W("month"),ref:B},[E(),ne()])}});const[It]=oe("calendar-header");var Bt=ce({name:It,props:{date:Date,minDate:Date,maxDate:Date,title:String,subtitle:String,showTitle:Boolean,showSubtitle:Boolean,firstDayOfWeek:Number,switchMode:fe("none")},emits:["clickSubtitle","panelChange"],setup(e,{slots:o,emit:s}){const w=N(()=>e.date&&e.minDate&&re(Ne(e.date),e.minDate)<0),x=N(()=>e.date&&e.minDate&&re(je(e.date),e.minDate)<0),R=N(()=>e.date&&e.maxDate&&re(We(e.date),e.maxDate)>0),B=N(()=>e.date&&e.maxDate&&re(Ee(e.date),e.maxDate)>0),j=()=>{if(e.showTitle){const h=e.title||te("title"),l=o.title?o.title():h;return y("div",{class:W("header-title")},[l])}},F=h=>s("clickSubtitle",h),_=h=>s("panelChange",h),$=h=>{const l=e.switchMode==="year-month",M=o[h?"next-month":"prev-month"],S=o[h?"next-year":"prev-year"],C=h?R.value:w.value,E=h?B.value:x.value,U=h?"arrow":"arrow-left",Z=h?"arrow-double-right":"arrow-double-left",p=()=>_((h?We:Ne)(e.date)),L=()=>_((h?Ee:je)(e.date)),X=y("view",{class:W("header-action",{disabled:C}),onClick:C?void 0:p},[M?M({disabled:C}):y($e,{class:{[Re]:!C},name:U},null)]),K=l&&y("view",{class:W("header-action",{disabled:E}),onClick:E?void 0:L},[S?S({disabled:E}):y($e,{class:{[Re]:!E},name:Z},null)]);return h?[X,K]:[K,X]},u=()=>{if(e.showSubtitle){const h=o.subtitle?o.subtitle({date:e.date,text:e.subtitle}):e.subtitle,l=e.switchMode!=="none";return y("div",{class:W("header-subtitle",{"with-switch":l}),onClick:F},[l?[$(),y("div",{class:W("header-subtitle-text")},[h]),$(!0)]:h])}},T=()=>{const{firstDayOfWeek:h}=e,l=te("weekdays"),M=[...l.slice(h,7),...l.slice(0,h)];return y("div",{class:W("weekdays")},[M.map(S=>y("span",{class:W("weekday")},[S]))])};return()=>y("div",{class:W("header")},[j(),u(),T()])}});const At={show:Boolean,type:fe("single"),switchMode:fe("none"),title:String,color:String,round:V,readonly:Boolean,poppable:V,maxRange:de(null),position:fe("bottom"),teleport:[String,Object],showMark:V,showTitle:V,formatter:Function,rowHeight:ie,confirmText:String,rangePrompt:String,lazyRender:V,showConfirm:V,defaultDate:[Date,Array],allowSameDay:Boolean,showSubtitle:V,closeOnPopstate:V,showRangePrompt:V,confirmDisabledText:String,closeOnClickOverlay:V,safeAreaInsetTop:Boolean,safeAreaInsetBottom:V,minDate:{type:Date,validator:xe},maxDate:{type:Date,validator:xe},firstDayOfWeek:{type:ie,default:0,validator:e=>e>=0&&e<=6}};var Ht=ce({name:kt,props:At,emits:["select","confirm","unselect","monthShow","overRange","update:show","clickSubtitle","clickDisabledDate","clickOverlay","panelChange"],setup(e,{emit:o,slots:s}){const w=N(()=>e.switchMode!=="none"),x=N(()=>!e.minDate&&!w.value?me():e.minDate),R=N(()=>!e.maxDate&&!w.value?Ye(me(),6):e.maxDate),B=(t,r=x.value,v=R.value)=>r&&q(t,r)===-1?r:v&&q(t,v)===1?v:t,j=(t=e.defaultDate)=>{const{type:r,allowSameDay:v}=e;if(t===null)return t;const g=me();if(r==="range"){Array.isArray(t)||(t=[]),t.length===1&&q(t[0],g)===1&&(t=[]);const I=x.value,H=R.value,z=B(t[0]||g,I,H?v?H:Oe(H):void 0),P=B(t[1]||(v?g:Te(g)),I?v?I:Te(I):void 0);return[z,P]}return r==="multiple"?Array.isArray(t)?t.map(I=>B(I)):[B(g)]:((!t||Array.isArray(t))&&(t=g),B(t))},F=()=>{const t=Array.isArray(u.value)?u.value[0]:u.value;return t||B(me())};let _;const $=J(),u=J(j()),T=J(F()),h=J(),[l,M]=Mt(),S=N(()=>e.firstDayOfWeek?+e.firstDayOfWeek%7:0),C=N(()=>{const t=[];if(!x.value||!R.value)return t;const r=new Date(x.value);r.setDate(1);do t.push(new Date(r)),r.setMonth(r.getMonth()+1);while(re(r,R.value)!==1);return t}),E=N(()=>{if(u.value){if(e.type==="range")return!u.value[0]||!u.value[1];if(e.type==="multiple")return!u.value.length}return!u.value}),U=()=>u.value,Z=()=>{const t=tt($.value),r=t+_,v=C.value.map((P,Y)=>l.value[Y].getHeight()),g=v.reduce((P,Y)=>P+Y,0);if(r>g&&t>0)return;let I=0,H;const z=[-1,-1];for(let P=0;P=t&&(z[1]=P,H||(H=Y,z[0]=P),l.value[P].showed||(l.value[P].showed=!0,o("monthShow",{date:Y.date,title:Y.getTitle()}))),I+=v[P]}C.value.forEach((P,Y)=>{const Q=Y>=z[0]-1&&Y<=z[1]+1;l.value[Y].setVisible(Q)}),H&&(h.value=H)},p=t=>{w.value?T.value=t:we(()=>{C.value.some((r,v)=>re(r,t)===0?($.value&&l.value[v].scrollToDate($.value,t),!0):!1),Z()})},L=()=>{if(!(e.poppable&&!e.show))if(u.value){const t=e.type==="single"?u.value:u.value[0];xe(t)&&p(t)}else w.value||we(Z)},X=()=>{e.poppable&&!e.show||(w.value||we(()=>{_=Math.floor(Se($).height)}),L())},K=(t=j())=>{u.value=t,L()},ne=t=>{const{maxRange:r,rangePrompt:v,showRangePrompt:g}=e;return r&&$t(t)>+r?(g&&Ie(v||te("rangePrompt",r)),o("overRange"),!1):!0},f=t=>{T.value=t,o("panelChange",{date:t})},m=()=>{var t;return o("confirm",(t=u.value)!=null?t:Fe(u.value))},k=(t,r)=>{const v=g=>{u.value=g,o("select",Fe(g))};if(r&&e.type==="range"&&!ne(t)){v([t[0],Pe(t[0],+e.maxRange-1)]);return}v(t),r&&!e.showConfirm&&m()},A=(t,r,v)=>{var g;return(g=t.find(I=>q(r,I.date)===-1&&q(I.date,v)===-1))==null?void 0:g.date},c=N(()=>l.value.reduce((t,r)=>{var v,g;return t.push(...(g=(v=r.disabledDays)==null?void 0:v.value)!=null?g:[]),t},[])),a=t=>{if(e.readonly||!t.date)return;const{date:r}=t,{type:v}=e;if(v==="range"){if(!u.value){k([r]);return}const[g,I]=u.value;if(g&&!I){const H=q(r,g);if(H===1){const z=A(c.value,g,r);if(z){const P=Oe(z);q(g,P)===-1?k([g,P]):k([r])}else k([g,r],!0)}else H===-1?k([r]):e.allowSameDay&&k([r,r],!0)}else k([r])}else if(v==="multiple"){if(!u.value){k([r]);return}const g=u.value,I=g.findIndex(H=>q(H,r)===0);if(I!==-1){const[H]=g.splice(I,1);o("unselect",le(H))}else e.maxRange&&g.length>=+e.maxRange?Ie(e.rangePrompt||te("rangePrompt",e.maxRange)):k([...g,r])}else k(r,!0)},n=t=>o("clickOverlay",t),d=t=>o("update:show",t),i=(t,r)=>{const v=r!==0||!e.showSubtitle;return y(Rt,Ve({ref:w.value?h:M(r),date:t,currentDate:u.value,showMonthTitle:v,firstDayOfWeek:S.value,lazyRender:w.value?!1:e.lazyRender,maxDate:R.value,minDate:x.value},ge(e,["type","color","showMark","formatter","rowHeight","showSubtitle","allowSameDay"]),{onClick:a,onClickDisabledDate:g=>o("clickDisabledDate",g)}),ge(s,["top-info","bottom-info","month-title","text"]))},D=()=>{if(s.footer)return s.footer();if(e.showConfirm){const t=s["confirm-text"],r=E.value,v=r?e.confirmDisabledText:e.confirmText;return y(mt,{round:!0,block:!0,type:"primary",color:e.color,class:W("confirm"),disabled:r,nativeType:"button",onClick:m},{default:()=>[t?t({disabled:r}):v||te("confirm")]})}},b=()=>y("div",{class:[W("footer"),{"van-safe-area-bottom":e.safeAreaInsetBottom}]},[D()]),O=()=>{var t,r;return y("div",{class:W()},[y(Bt,{date:(t=h.value)==null?void 0:t.date,maxDate:R.value,minDate:x.value,title:e.title,subtitle:(r=h.value)==null?void 0:r.getTitle(),showTitle:e.showTitle,showSubtitle:e.showSubtitle,switchMode:e.switchMode,firstDayOfWeek:S.value,onClickSubtitle:v=>o("clickSubtitle",v),onPanelChange:f},ge(s,["title","subtitle","prev-month","prev-year","next-month","next-year"])),y("div",{ref:$,class:W("body"),onScroll:w.value?void 0:Z},[w.value?i(T.value,0):C.value.map(i)]),b()])};return _e(()=>e.show,X),_e(()=>[e.type,e.minDate,e.maxDate,e.switchMode],()=>K(j(u.value))),_e(()=>e.defaultDate,t=>{K(t)}),Le({reset:K,scrollToDate:p,getSelectedDate:U}),Xe(X),()=>e.poppable?y(et,{show:e.show,class:W("popup"),round:e.round,position:e.position,closeable:e.showTitle||e.showSubtitle,teleport:e.teleport,closeOnPopstate:e.closeOnPopstate,safeAreaInsetTop:e.safeAreaInsetTop,closeOnClickOverlay:e.closeOnClickOverlay,onClickOverlay:n,"onUpdate:show":d},{default:O}):O()}});const Ft=Ce(Ht),[Ge,Nt]=oe("grid"),Wt={square:Boolean,center:V,border:V,gutter:ie,reverse:Boolean,iconSize:ie,direction:String,clickable:Boolean,columnNum:de(4)},Je=Symbol(Ge);var jt=ce({name:Ge,props:Wt,setup(e,{slots:o}){const{linkChildren:s}=nt(Je);return s({props:e}),()=>{var w;return y("div",{style:{paddingLeft:De(e.gutter)},class:[Nt(),{[at]:e.border&&!e.gutter}]},[(w=o.default)==null?void 0:w.call(o)])}}});const Et=Ce(jt),[pt,ve]=oe("grid-item"),zt=be({},it,{dot:Boolean,text:String,icon:String,badge:ie,iconColor:String,iconPrefix:String,badgeProps:Object});var Lt=ce({name:pt,props:zt,setup(e,{slots:o}){const{parent:s,index:w}=rt(Je),x=ot();if(!s)return;const R=N(()=>{const{square:$,gutter:u,columnNum:T}=s.props,h=`${100/+T}%`,l={flexBasis:h};if($)l.paddingTop=h;else if(u){const M=De(u);l.paddingRight=M,w.value>=+T&&(l.marginTop=M)}return l}),B=N(()=>{const{square:$,gutter:u}=s.props;if($&&u){const T=De(u);return{right:T,bottom:T,height:"auto"}}}),j=()=>{if(o.icon)return y(lt,Ve({dot:e.dot,content:e.badge},e.badgeProps),{default:o.icon});if(e.icon)return y($e,{dot:e.dot,name:e.icon,size:s.props.iconSize,badge:e.badge,class:ve("icon"),color:e.iconColor,badgeProps:e.badgeProps,classPrefix:e.iconPrefix},null)},F=()=>{if(o.text)return o.text();if(e.text)return y("span",{class:ve("text")},[e.text])},_=()=>o.default?o.default():[j(),F()];return()=>{const{center:$,border:u,square:T,gutter:h,reverse:l,direction:M,clickable:S}=s.props,C=[ve("content",[M,{center:$,square:T,reverse:l,clickable:S,surround:u&&h}]),{[st]:u}];return y("div",{class:[ve({square:T})],style:R.value},[y("div",{role:S?"button":void 0,class:C,style:B.value,tabindex:S?0:void 0,onClick:x},[_()])])}}});const Vt=Ce(Lt),qt=(e,o)=>ct("/yuthon/app/att",{selected_month:e,user_id:o});var ye={exports:{}},Ut=ye.exports,pe;function Gt(){return pe||(pe=1,(function(e,o){(function(s,w){e.exports=w()})(Ut,(function(){var s=1e3,w=6e4,x=36e5,R="millisecond",B="second",j="minute",F="hour",_="day",$="week",u="month",T="quarter",h="year",l="date",M="Invalid Date",S=/^(\d{4})[-/]?(\d{1,2})?[-/]?(\d{0,2})[Tt\s]*(\d{1,2})?:?(\d{1,2})?:?(\d{1,2})?[.:]?(\d+)?$/,C=/\[([^\]]+)]|Y{1,4}|M{1,4}|D{1,2}|d{1,4}|H{1,2}|h{1,2}|a|A|m{1,2}|s{1,2}|Z{1,2}|SSS/g,E={name:"en",weekdays:"Sunday_Monday_Tuesday_Wednesday_Thursday_Friday_Saturday".split("_"),months:"January_February_March_April_May_June_July_August_September_October_November_December".split("_"),ordinal:function(c){var a=["th","st","nd","rd"],n=c%100;return"["+c+(a[(n-20)%10]||a[n]||a[0])+"]"}},U=function(c,a,n){var d=String(c);return!d||d.length>=a?c:""+Array(a+1-d.length).join(n)+c},Z={s:U,z:function(c){var a=-c.utcOffset(),n=Math.abs(a),d=Math.floor(n/60),i=n%60;return(a<=0?"+":"-")+U(d,2,"0")+":"+U(i,2,"0")},m:function c(a,n){if(a.date()1)return c(b[0])}else{var O=a.name;L[O]=a,i=O}return!d&&i&&(p=i),i||!d&&p},f=function(c,a){if(K(c))return c.clone();var n=typeof a=="object"?a:{};return n.date=c,n.args=arguments,new k(n)},m=Z;m.l=ne,m.i=K,m.w=function(c,a){return f(c,{locale:a.$L,utc:a.$u,x:a.$x,$offset:a.$offset})};var k=(function(){function c(n){this.$L=ne(n.locale,null,!0),this.parse(n),this.$x=this.$x||n.x||{},this[X]=!0}var a=c.prototype;return a.parse=function(n){this.$d=(function(d){var i=d.date,D=d.utc;if(i===null)return new Date(NaN);if(m.u(i))return new Date;if(i instanceof Date)return new Date(i);if(typeof i=="string"&&!/Z$/i.test(i)){var b=i.match(S);if(b){var O=b[2]-1||0,t=(b[7]||"0").substring(0,3);return D?new Date(Date.UTC(b[1],O,b[3]||1,b[4]||0,b[5]||0,b[6]||0,t)):new Date(b[1],O,b[3]||1,b[4]||0,b[5]||0,b[6]||0,t)}}return new Date(i)})(n),this.init()},a.init=function(){var n=this.$d;this.$y=n.getFullYear(),this.$M=n.getMonth(),this.$D=n.getDate(),this.$W=n.getDay(),this.$H=n.getHours(),this.$m=n.getMinutes(),this.$s=n.getSeconds(),this.$ms=n.getMilliseconds()},a.$utils=function(){return m},a.isValid=function(){return this.$d.toString()!==M},a.isSame=function(n,d){var i=f(n);return this.startOf(d)<=i&&i<=this.endOf(d)},a.isAfter=function(n,d){return f(n){const S=ee(`${l}-${M}`).format("YYYY-MM");console.log("请求月份数据",S);let C=await qt(S,_.value);Object.assign(o,C.data.current_month.banner_rote||{}),j.value=(C.data.current_month.holiday_data?.holiday_list||[]).map(E=>ee(E).format("YYYY/MM/DD")),F.value=(C.data.current_month.attendance_data||[]).map(E=>({...E,date:ee(E.date).format("YYYY/MM/DD")}))},u=l=>{const M=ee(l.date).format("YYYY/MM/DD"),S=F.value.find(C=>C.date===M);return S&&(S.color_select===1?(l.bottomInfo=".",l.className="att-green"):S.color_select===2?(l.bottomInfo=".",l.className="att-red"):S.color_select===4?(l.bottomInfo=".",l.className="att-yellow"):S.color_select===3&&(l.bottomInfo="休",l.className="att-gray")),j.value.includes(M)&&(l.topInfo="休",l.className="att-blue"),l},T=l=>{console.log(l),$(l.date.getFullYear(),l.date.getMonth()+1)},h=l=>{const M=ee(l).format("YYYY/MM/DD"),S=F.value.find(C=>C.date===M);S?(s.state="true",s.group=S.class.join(""),s.check_in=S.check_in,s.check_out=S.check_out):s.state=""};return yt(async()=>{const l=Dt(),M=parseInt(l.query.user_id);_.value=M,$(w.value,x.value)}),(l,M)=>{const S=Vt,C=Et,E=Ft,U=dt,Z=ut,p=ht;return Me(),bt("div",Zt,[y(C,{"column-num":4,border:!1,class:"stats-grid"},{default:ae(()=>[y(S,null,{default:ae(()=>[G("div",Kt,se(o.is_late_card),1),M[0]||(M[0]=G("div",null,"迟到",-1))]),_:1,__:[0]}),y(S,null,{default:ae(()=>[G("div",Qt,se(o.is_early_card),1),M[1]||(M[1]=G("div",null,"早退",-1))]),_:1,__:[1]}),y(S,null,{default:ae(()=>[G("div",Xt,se(o.is_no_card),1),M[2]||(M[2]=G("div",null,"缺卡",-1))]),_:1,__:[2]}),y(S,null,{default:ae(()=>[G("div",en,se(o.is_no_work),1),M[3]||(M[3]=G("div",null,"旷工",-1))]),_:1,__:[3]}),y(S,null,{default:ae(()=>[G("div",tn,se(o.is_holiday),1),M[4]||(M[4]=G("div",null,"请假",-1))]),_:1,__:[4]}),y(S,null,{default:ae(()=>[G("div",nn,se(o.is_abnormal),1),M[5]||(M[5]=G("div",null,"异常",-1))]),_:1,__:[5]})]),_:1}),G("div",an,[y(E,{"switch-mode":"year-month",poppable:!1,"show-confirm":!1,"min-date":He(R),"max-date":He(B),formatter:u,onSelect:h,onPanelChange:T},null,8,["min-date","max-date"])]),s.state==="true"?(Me(),Ae(Z,{key:0,inset:""},{default:ae(()=>[y(U,{title:"班组",value:s.group},null,8,["value"]),y(U,{title:"签到时间",value:s.check_in},null,8,["value"]),y(U,{title:"签离时间",value:s.check_out},null,8,["value"])]),_:1})):(Me(),Ae(p,{key:1,description:"暂无打卡记录",image:"search"}))])}}},dn=gt(rn,[["__scopeId","data-v-d2e1e0ee"]]);export{dn as default}; diff --git a/yuthon_base/static/webh5/assets/ClockInStatistics-MKYqmpdm.css b/yuthon_base/static/webh5/assets/ClockInStatistics-MKYqmpdm.css index 47eb7a033..363e0e0a0 100644 --- a/yuthon_base/static/webh5/assets/ClockInStatistics-MKYqmpdm.css +++ b/yuthon_base/static/webh5/assets/ClockInStatistics-MKYqmpdm.css @@ -1 +1,4 @@ :root,:host{--van-toast-max-width: 70%;--van-toast-font-size: var(--van-font-size-md);--van-toast-text-color: var(--van-white);--van-toast-loading-icon-color: var(--van-white);--van-toast-line-height: var(--van-line-height-md);--van-toast-radius: var(--van-radius-lg);--van-toast-background: rgba(0, 0, 0, .7);--van-toast-icon-size: 36px;--van-toast-text-min-width: 96px;--van-toast-text-padding: var(--van-padding-xs) var(--van-padding-sm);--van-toast-default-padding: var(--van-padding-md);--van-toast-default-width: 88px;--van-toast-default-min-height: 88px;--van-toast-position-top-distance: 20%;--van-toast-position-bottom-distance: 20%}.van-toast{display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:content-box;transition:all var(--van-duration-fast);width:var(--van-toast-default-width);max-width:var(--van-toast-max-width);min-height:var(--van-toast-default-min-height);padding:var(--van-toast-default-padding);color:var(--van-toast-text-color);font-size:var(--van-toast-font-size);line-height:var(--van-toast-line-height);white-space:pre-wrap;word-break:break-all;text-align:center;background:var(--van-toast-background);border-radius:var(--van-toast-radius)}.van-toast--break-normal{word-break:normal;word-wrap:normal}.van-toast--break-word{word-break:normal;word-wrap:break-word}.van-toast--unclickable{overflow:hidden;cursor:not-allowed}.van-toast--unclickable *{pointer-events:none}.van-toast--text,.van-toast--html{width:-webkit-fit-content;width:fit-content;min-width:var(--van-toast-text-min-width);min-height:0;padding:var(--van-toast-text-padding)}.van-toast--text .van-toast__text,.van-toast--html .van-toast__text{margin-top:0}.van-toast--top{top:var(--van-toast-position-top-distance)}.van-toast--bottom{top:auto;bottom:var(--van-toast-position-bottom-distance)}.van-toast__icon{font-size:var(--van-toast-icon-size)}.van-toast__loading{padding:var(--van-padding-base);color:var(--van-toast-loading-icon-color)}.van-toast__text{margin-top:var(--van-padding-xs)}:root,:host{--van-sticky-z-index: 99}.van-sticky--fixed{position:fixed;z-index:var(--van-sticky-z-index)}:root,:host{--van-swipe-indicator-size: 6px;--van-swipe-indicator-margin: var(--van-padding-sm);--van-swipe-indicator-active-opacity: 1;--van-swipe-indicator-inactive-opacity: .3;--van-swipe-indicator-active-background: var(--van-primary-color);--van-swipe-indicator-inactive-background: var(--van-border-color)}.van-swipe{position:relative;overflow:hidden;transform:translateZ(0);cursor:-webkit-grab;cursor:grab;-webkit-user-select:none;user-select:none}.van-swipe__track{display:flex;height:100%;transition-property:transform}.van-swipe__track--vertical{flex-direction:column}.van-swipe__indicators{position:absolute;bottom:var(--van-swipe-indicator-margin);left:50%;display:flex;transform:translate(-50%)}.van-swipe__indicators--vertical{top:50%;bottom:auto;left:var(--van-swipe-indicator-margin);flex-direction:column;transform:translateY(-50%)}.van-swipe__indicators--vertical .van-swipe__indicator:not(:last-child){margin-bottom:var(--van-swipe-indicator-size)}.van-swipe__indicator{width:var(--van-swipe-indicator-size);height:var(--van-swipe-indicator-size);background-color:var(--van-swipe-indicator-inactive-background);border-radius:100%;opacity:var(--van-swipe-indicator-inactive-opacity);transition:opacity var(--van-duration-fast),background-color var(--van-duration-fast)}.van-swipe__indicator:not(:last-child){margin-right:var(--van-swipe-indicator-size)}.van-swipe__indicator--active{background-color:var(--van-swipe-indicator-active-background);opacity:var(--van-swipe-indicator-active-opacity)}.van-swipe-item{position:relative;flex-shrink:0;width:100%;height:100%}:root,:host{--van-tab-text-color: var(--van-gray-7);--van-tab-active-text-color: var(--van-text-color);--van-tab-disabled-text-color: var(--van-text-color-3);--van-tab-font-size: var(--van-font-size-md);--van-tab-line-height: var(--van-line-height-md);--van-tabs-default-color: var(--van-primary-color);--van-tabs-line-height: 44px;--van-tabs-card-height: 30px;--van-tabs-nav-background: var(--van-background-2);--van-tabs-bottom-bar-width: 40px;--van-tabs-bottom-bar-height: 3px;--van-tabs-bottom-bar-color: var(--van-primary-color)}.van-tab{position:relative;display:flex;flex:1;align-items:center;justify-content:center;box-sizing:border-box;padding:0 var(--van-padding-base);color:var(--van-tab-text-color);font-size:var(--van-tab-font-size);line-height:var(--van-tab-line-height);cursor:pointer}.van-tab--active{color:var(--van-tab-active-text-color);font-weight:var(--van-font-bold)}.van-tab--disabled{color:var(--van-tab-disabled-text-color);cursor:not-allowed}.van-tab--grow{flex:1 0 auto;padding:0 var(--van-padding-sm)}.van-tab--shrink{flex:none;padding:0 var(--van-padding-xs)}.van-tab--card{color:var(--van-tabs-default-color);border-right:var(--van-border-width) solid var(--van-tabs-default-color)}.van-tab--card:last-child{border-right:none}.van-tab--card.van-tab--active{color:var(--van-white);background-color:var(--van-tabs-default-color)}.van-tab--card.van-tab--disabled{color:var(--van-tab-disabled-text-color)}.van-tab__text--ellipsis{display:-webkit-box;overflow:hidden;-webkit-line-clamp:1;-webkit-box-orient:vertical}.van-tabs{position:relative}.van-tabs__wrap{overflow:hidden}.van-tabs__wrap--page-top{position:fixed}.van-tabs__wrap--content-bottom{top:auto;bottom:0}.van-tabs__nav{position:relative;display:flex;background:var(--van-tabs-nav-background);-webkit-user-select:none;user-select:none}.van-tabs__nav--complete{overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}.van-tabs__nav--complete::-webkit-scrollbar{display:none}.van-tabs__nav--line{box-sizing:content-box;height:100%;padding-bottom:15px}.van-tabs__nav--line.van-tabs__nav--shrink,.van-tabs__nav--line.van-tabs__nav--complete{padding-right:var(--van-padding-xs);padding-left:var(--van-padding-xs)}.van-tabs__nav--card{box-sizing:border-box;height:var(--van-tabs-card-height);margin:0 var(--van-padding-md);border:var(--van-border-width) solid var(--van-tabs-default-color);border-radius:var(--van-radius-sm)}.van-tabs__nav--card.van-tabs__nav--shrink{display:inline-flex}.van-tabs__line{position:absolute;bottom:15px;left:0;z-index:1;width:var(--van-tabs-bottom-bar-width);height:var(--van-tabs-bottom-bar-height);background:var(--van-tabs-bottom-bar-color);border-radius:var(--van-tabs-bottom-bar-height)}.van-tabs__track{position:relative;display:flex;width:100%;height:100%;will-change:left}.van-tabs__content--animated{overflow:hidden}.van-tabs--line .van-tabs__wrap{height:var(--van-tabs-line-height)}.van-tabs--card>.van-tabs__wrap{height:var(--van-tabs-card-height)}.van-tab__panel,.van-tab__panel-wrapper{flex-shrink:0;box-sizing:border-box;width:100%}.van-tab__panel-wrapper--inactive{height:0;overflow:visible}:root,:host{--van-picker-background: var(--van-background-2);--van-picker-toolbar-height: 44px;--van-picker-title-font-size: var(--van-font-size-lg);--van-picker-title-line-height: var(--van-line-height-md);--van-picker-action-padding: 0 var(--van-padding-md);--van-picker-action-font-size: var(--van-font-size-md);--van-picker-confirm-action-color: var(--van-primary-color);--van-picker-cancel-action-color: var(--van-text-color-2);--van-picker-option-font-size: var(--van-font-size-lg);--van-picker-option-padding: 0 var(--van-padding-base);--van-picker-option-text-color: var(--van-text-color);--van-picker-option-disabled-opacity: .3;--van-picker-loading-icon-color: var(--van-primary-color);--van-picker-loading-mask-color: rgba(255, 255, 255, .9);--van-picker-mask-color: linear-gradient(180deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4)), linear-gradient(0deg, rgba(255, 255, 255, .9), rgba(255, 255, 255, .4))}.van-theme-dark{--van-picker-loading-mask-color: rgba(0, 0, 0, .6);--van-picker-mask-color: linear-gradient(180deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1)), linear-gradient(0deg, rgba(0, 0, 0, .6), rgba(0, 0, 0, .1))}.van-picker{position:relative;background:var(--van-picker-background);-webkit-user-select:none;user-select:none}.van-picker__toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;height:var(--van-picker-toolbar-height)}.van-picker__cancel,.van-picker__confirm{height:100%;padding:var(--van-picker-action-padding);font-size:var(--van-picker-action-font-size);background-color:transparent;border:none}.van-picker__confirm{color:var(--van-picker-confirm-action-color)}.van-picker__cancel{color:var(--van-picker-cancel-action-color)}.van-picker__title{position:absolute;left:50%;color:var(--van-text-color);max-width:50%;font-weight:var(--van-font-bold);font-size:var(--van-picker-title-font-size);line-height:var(--van-picker-title-line-height);text-align:center;transform:translate(-50%)}.van-picker__columns{position:relative;display:flex;cursor:-webkit-grab;cursor:grab}.van-picker__loading{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;color:var(--van-picker-loading-icon-color);background:var(--van-picker-loading-mask-color)}.van-picker__frame{position:absolute;top:50%;right:var(--van-padding-md);left:var(--van-padding-md);z-index:2;transform:translateY(-50%);pointer-events:none}.van-picker__mask{position:absolute;top:0;left:0;z-index:1;width:100%;height:100%;background-image:var(--van-picker-mask-color);background-repeat:no-repeat;background-position:top,bottom;transform:translateZ(0);pointer-events:none}.van-picker-column{flex:1;overflow:hidden;font-size:var(--van-picker-option-font-size)}.van-picker-column__wrapper{transition-timing-function:cubic-bezier(.23,1,.68,1)}.van-picker-column__item{display:flex;align-items:center;justify-content:center;padding:var(--van-picker-option-padding);color:var(--van-picker-option-text-color)}.van-picker-column__item--disabled{cursor:not-allowed;opacity:var(--van-picker-option-disabled-opacity)}:root,:host{--van-picker-group-background: var(--van-background-2)}.van-picker-group{background:var(--van-picker-group-background)}.van-picker-group__tabs{margin-top:var(--van-padding-base)}.van-picker-group__tab-title{margin-right:16px}:root,:host{--van-calendar-background: var(--van-background-2);--van-calendar-popup-height: 80%;--van-calendar-header-shadow: 0 2px 10px rgba(125, 126, 128, .16);--van-calendar-header-title-height: 44px;--van-calendar-header-title-font-size: var(--van-font-size-lg);--van-calendar-header-subtitle-font-size: var(--van-font-size-md);--van-calendar-header-action-width: 28px;--van-calendar-header-action-color: var(--van-text-color);--van-calendar-header-action-disabled-color: var(--van-text-color-3);--van-calendar-weekdays-height: 30px;--van-calendar-weekdays-font-size: var(--van-font-size-sm);--van-calendar-month-title-font-size: var(--van-font-size-md);--van-calendar-month-mark-color: rgba(242, 243, 245, .8);--van-calendar-month-mark-font-size: 160px;--van-calendar-day-height: 64px;--van-calendar-day-font-size: var(--van-font-size-lg);--van-calendar-day-margin-bottom: 4px;--van-calendar-day-disabled-color: var(--van-text-color-3);--van-calendar-range-edge-color: var(--van-white);--van-calendar-range-edge-background: var(--van-primary-color);--van-calendar-range-middle-color: var(--van-primary-color);--van-calendar-range-middle-background-opacity: .1;--van-calendar-selected-day-size: 54px;--van-calendar-selected-day-color: var(--van-white);--van-calendar-selected-day-background: var(--van-primary-color);--van-calendar-info-font-size: var(--van-font-size-xs);--van-calendar-info-line-height: var(--van-line-height-xs);--van-calendar-confirm-button-height: 36px;--van-calendar-confirm-button-margin: 7px 0}.van-theme-dark{--van-calendar-month-mark-color: rgba(100, 101, 102, .2);--van-calendar-day-disabled-color: var(--van-gray-7)}.van-calendar{display:flex;flex-direction:column;height:100%;background:var(--van-calendar-background)}.van-calendar__popup.van-popup--top,.van-calendar__popup.van-popup--bottom{height:var(--van-calendar-popup-height)}.van-calendar__popup.van-popup--left,.van-calendar__popup.van-popup--right{height:100%}.van-calendar__popup .van-popup__close-icon{top:11px}.van-calendar__header{flex-shrink:0;box-shadow:var(--van-calendar-header-shadow)}.van-calendar__month-title,.van-calendar__header-title,.van-calendar__header-subtitle{color:var(--van-text-color);height:var(--van-calendar-header-title-height);font-weight:var(--van-font-bold);line-height:var(--van-calendar-header-title-height);text-align:center}.van-calendar__header-title{font-size:var(--van-calendar-header-title-font-size)}.van-calendar__header-subtitle{font-size:var(--van-calendar-header-subtitle-font-size)}.van-calendar__header-subtitle--with-switch{display:flex;align-items:center;padding:0 var(--van-padding-base)}.van-calendar__header-subtitle-text{flex:1}.van-calendar__header-action{display:flex;align-items:center;justify-content:center;min-width:var(--van-calendar-header-action-width);height:100%;color:var(--van-calendar-header-action-color);cursor:pointer}.van-calendar__header-action--disabled{color:var(--van-calendar-header-action-disabled-color);cursor:not-allowed}.van-calendar__month-title{font-size:var(--van-calendar-month-title-font-size)}.van-calendar__weekdays{display:flex}.van-calendar__weekday{flex:1;font-size:var(--van-calendar-weekdays-font-size);line-height:var(--van-calendar-weekdays-height);text-align:center}.van-calendar__body{flex:1;overflow:auto;-webkit-overflow-scrolling:touch}.van-calendar__days{position:relative;display:flex;flex-wrap:wrap;-webkit-user-select:none;user-select:none}.van-calendar__month-mark{position:absolute;top:50%;left:50%;z-index:0;color:var(--van-calendar-month-mark-color);font-size:var(--van-calendar-month-mark-font-size);transform:translate(-50%,-50%);pointer-events:none}.van-calendar__day,.van-calendar__selected-day{display:flex;align-items:center;justify-content:center;text-align:center}.van-calendar__day{position:relative;width:14.285%;height:var(--van-calendar-day-height);font-size:var(--van-calendar-day-font-size);margin-bottom:var(--van-calendar-day-margin-bottom);cursor:pointer}.van-calendar__day--end,.van-calendar__day--start,.van-calendar__day--start-end,.van-calendar__day--multiple-middle,.van-calendar__day--multiple-selected{color:var(--van-calendar-range-edge-color);background:var(--van-calendar-range-edge-background)}.van-calendar__day--start{border-radius:var(--van-radius-md) 0 0 var(--van-radius-md)}.van-calendar__day--end{border-radius:0 var(--van-radius-md) var(--van-radius-md) 0}.van-calendar__day--start-end,.van-calendar__day--multiple-selected{border-radius:var(--van-radius-md)}.van-calendar__day--middle{color:var(--van-calendar-range-middle-color)}.van-calendar__day--middle:after{position:absolute;inset:0;background-color:currentColor;opacity:var(--van-calendar-range-middle-background-opacity);content:""}.van-calendar__day--disabled{color:var(--van-calendar-day-disabled-color);cursor:default}.van-calendar__top-info,.van-calendar__bottom-info{position:absolute;right:0;left:0;font-size:var(--van-calendar-info-font-size);line-height:var(--van-calendar-info-line-height)}@media (max-width: 350px){.van-calendar__top-info,.van-calendar__bottom-info{font-size:9px}}.van-calendar__top-info{top:6px}.van-calendar__bottom-info{bottom:6px}.van-calendar__selected-day{width:var(--van-calendar-selected-day-size);height:var(--van-calendar-selected-day-size);color:var(--van-calendar-selected-day-color);background:var(--van-calendar-selected-day-background);border-radius:var(--van-radius-md)}.van-calendar__footer{flex-shrink:0;padding-left:var(--van-padding-md);padding-right:var(--van-padding-md)}.van-calendar__confirm{height:var(--van-calendar-confirm-button-height);margin:var(--van-calendar-confirm-button-margin)}.van-grid{display:flex;flex-wrap:wrap}:root,:host{--van-grid-item-content-padding: var(--van-padding-md) var(--van-padding-xs);--van-grid-item-content-background: var(--van-background-2);--van-grid-item-content-active-color: var(--van-active-color);--van-grid-item-icon-size: 28px;--van-grid-item-text-color: var(--van-text-color);--van-grid-item-text-font-size: var(--van-font-size-sm)}.van-grid-item{position:relative;box-sizing:border-box}.van-grid-item--square{height:0}.van-grid-item__icon{font-size:var(--van-grid-item-icon-size)}.van-grid-item__text{color:var(--van-grid-item-text-color);font-size:var(--van-grid-item-text-font-size);line-height:1.5;word-break:break-all}.van-grid-item__icon+.van-grid-item__text{margin-top:var(--van-padding-xs)}.van-grid-item__content{display:flex;flex-direction:column;box-sizing:border-box;height:100%;padding:var(--van-grid-item-content-padding);background:var(--van-grid-item-content-background)}.van-grid-item__content:after{z-index:1;border-width:0 var(--van-border-width) var(--van-border-width) 0}.van-grid-item__content--square{position:absolute;top:0;right:0;left:0}.van-grid-item__content--center{align-items:center;justify-content:center}.van-grid-item__content--horizontal{flex-direction:row}.van-grid-item__content--horizontal .van-grid-item__text{margin:0 0 0 var(--van-padding-xs)}.van-grid-item__content--reverse{flex-direction:column-reverse}.van-grid-item__content--reverse .van-grid-item__text{margin:0 0 var(--van-padding-xs)}.van-grid-item__content--horizontal.van-grid-item__content--reverse{flex-direction:row-reverse}.van-grid-item__content--horizontal.van-grid-item__content--reverse .van-grid-item__text{margin:0 var(--van-padding-xs) 0 0}.van-grid-item__content--surround:after{border-width:var(--van-border-width)}.van-grid-item__content--clickable{cursor:pointer}.van-grid-item__content--clickable:active{background-color:var(--van-grid-item-content-active-color)}.clock-in-page[data-v-d2e1e0ee]{background:#f7f8fa;min-height:100vh;padding-bottom:50px}.stats-grid[data-v-d2e1e0ee]{text-align:center;font-size:14px;background:#fff}.stat[data-v-d2e1e0ee]{font-size:20px;font-weight:700}.stat.red[data-v-d2e1e0ee]{color:red}.stat.green[data-v-d2e1e0ee]{color:green}.calendar-card[data-v-d2e1e0ee]{margin:16px;padding:12px;background:#fff;border-radius:8px}.calendar-header[data-v-d2e1e0ee]{display:flex;justify-content:space-between;align-items:center;padding:8px 0;font-weight:700}.att-green[data-v-d2e1e0ee] .van-calendar__bottom-info{color:#07c160!important;font-weight:700;font-size:33px}.att-green[data-v-d2e1e0ee]{color:#07c160}[data-v-d2e1e0ee] .att-green .van-calendar__bottom-info{color:#07c160!important;font-weight:700;font-size:33px}.att-red[data-v-d2e1e0ee] .van-calendar__bottom-info,[data-v-d2e1e0ee] .att-red .van-calendar__bottom-info{color:#ee0a24!important;font-weight:700;font-size:33px}.att-gray[data-v-d2e1e0ee] .van-calendar__bottom-info{color:#999!important}.att-blue[data-v-d2e1e0ee] .van-calendar__bottom-info{color:#1989fa!important} +.att-yellow[data-v-d2e1e0ee] .van-calendar__bottom-info{color:#ffaa00!important;font-weight:700;font-size:33px} +.att-yellow[data-v-d2e1e0ee]{color:#ffaa00} +.att-yellow .van-calendar__bottom-info{color:#ffaa00!important;font-weight:700;font-size:33px} diff --git a/yuthon_hr_attendance/controllers/applet_attendance.py b/yuthon_hr_attendance/controllers/applet_attendance.py index 9cff7eb8b..4db810adf 100644 --- a/yuthon_hr_attendance/controllers/applet_attendance.py +++ b/yuthon_hr_attendance/controllers/applet_attendance.py @@ -781,7 +781,10 @@ class AppletAttendance(Controller): if att.workflow_id.res_model in ['hr.leave.batch', 'go.approval', 'card.approval']: has_leave_batch_workflow = True - if not check_in_status and not check_out_status: + # 黄色(4):天河物管宽容迟到——已消耗允许迟到次数,且未达旷工 + if getattr(att, 'is_late_allowed', False) and not absenteeism_card: + color_select = 4 + elif not check_in_status and not check_out_status: color_select = 3 else: if has_leave_batch_workflow or is_rest_shift or att.shift_name == '外派':