1
0
mirror of https://github.com/ZeroCatDev/Classworks.git synced 2025-07-02 17:29:23 +00:00
Classworks/assets/cses2wakeup-DihXoR-c.js

8 lines
40 KiB
JavaScript

import{g as F,p as H,u as Re,t as z,d as nt,ad as ve,am as We,an as it,a9 as rt,j as U,ao as ut,k as n,Y as _e,ap as ye,aq as Ne,S as _,V as R,ar as dt,m as Le,n as be,o as ct,ac as mt,x as ge,X as ft,a1 as ne,as as ht,f as x,at as Me,a4 as ke,a2 as Ye,au as xe,r as q,a3 as ze,H as P,av as Fe,a8 as He,aw as vt,R as L,W as yt,ax as bt,ay as gt,az as Ue,a as kt,ae as pt,aA as Tt,s as fe,aB as wt,aC as Vt,aD as Oe,aE as xt,aF as Ct,aG as St,aH as Dt,l as he,aI as jt,aJ as Pt,aK as Bt,aL as At,aM as Et,_ as It,A,D as f,E as r,J as c,B as D,F as p,G as T,K as V,aN as Rt,I as Y,aO as Wt}from"./index-DS-PQfxe.js";import{g as Ce,e as K,V as Z,a as me,f as _t,b as se,i as Nt,d as Lt}from"./VRow-CGjt_Ylu.js";import{V as $}from"./VAlert-DKHJjpIZ.js";import{u as Mt}from"./ssrBoot-BdMesoYN.js";import{a as G,h as Se,m as Yt,i as zt,V as Ft}from"./VList-BALO7KWx.js";import{V as Ht}from"./VTooltip-C8aYz4ka.js";import{u as Xe,c as ae,m as Ge,d as De,e as Ut,f as Ot,a as Xt,b as Gt}from"./VTextarea-dJYIPawQ.js";import{V as je,m as Jt,a as Pe,b as qt,c as Kt}from"./VSwitch-CCdgGYUA.js";import{V as Zt}from"./VSkeletonLoader-DlFx02sE.js";const Qt=H({bordered:Boolean,color:String,content:[Number,String],dot:Boolean,floating:Boolean,icon:ft,inline:Boolean,label:{type:String,default:"$vuetify.badge"},max:[Number,String],modelValue:{type:Boolean,default:!0},offsetX:[Number,String],offsetY:[Number,String],textColor:String,...ge(),...mt({location:"top end"}),...ct(),...be(),...Le(),...dt({transition:"scale-rotate-transition"})},"VBadge"),Be=F()({name:"VBadge",inheritAttrs:!1,props:Qt(),setup(e,t){const{backgroundColorClasses:o,backgroundColorStyles:a}=Re(z(e,"color")),{roundedClasses:s}=nt(e),{t:i}=ve(),{textColorClasses:l,textColorStyles:u}=We(z(e,"textColor")),{themeClasses:d}=it(),{locationStyles:m}=rt(e,!0,y=>(e.floating?e.dot?2:4:e.dot?8:12)+(["top","bottom"].includes(y)?Number(e.offsetY??0):["left","right"].includes(y)?Number(e.offsetX??0):0));return U(()=>{const y=Number(e.content),g=!e.max||isNaN(y)?e.content:y<=Number(e.max)?y:`${e.max}+`,[k,b]=ut(t.attrs,["aria-atomic","aria-label","aria-live","role","title"]);return n(e.tag,_({class:["v-badge",{"v-badge--bordered":e.bordered,"v-badge--dot":e.dot,"v-badge--floating":e.floating,"v-badge--inline":e.inline},e.class]},b,{style:e.style}),{default:()=>{var h,C;return[n("div",{class:"v-badge__wrapper"},[(C=(h=t.slots).default)==null?void 0:C.call(h),n(_e,{transition:e.transition},{default:()=>{var E,j;return[ye(n("span",_({class:["v-badge__badge",d.value,o.value,s.value,l.value],style:[a.value,u.value,e.inline?{}:m.value],"aria-atomic":"true","aria-label":i(e.label,y),"aria-live":"polite",role:"status"},k),[e.dot?void 0:t.slots.badge?(j=(E=t.slots).badge)==null?void 0:j.call(E):e.icon?n(R,{icon:e.icon},null):g]),[[Ne,e.modelValue]])]}})])]}})}),{}}}),$t=H({...Ge(),...ke(Jt(),["inline"])},"VCheckbox"),es=F()({name:"VCheckbox",inheritAttrs:!1,props:$t(),emits:{"update:modelValue":e=>!0,"update:focused":e=>!0},setup(e,t){let{attrs:o,slots:a}=t;const s=ne(e,"modelValue"),{isFocused:i,focus:l,blur:u}=Xe(e),d=ht(),m=x(()=>e.id||`checkbox-${d}`);return U(()=>{const[y,g]=Me(o),k=ae.filterProps(e),b=je.filterProps(e);return n(ae,_({class:["v-checkbox",e.class]},y,k,{modelValue:s.value,"onUpdate:modelValue":h=>s.value=h,id:m.value,focused:i.value,style:e.style}),{...a,default:h=>{let{id:C,messagesId:E,isDisabled:j,isReadonly:N,isValid:W}=h;return n(je,_(b,{id:C.value,"aria-describedby":E.value,disabled:j.value,readonly:N.value},g,{error:W.value===!1,modelValue:s.value,"onUpdate:modelValue":w=>s.value=w,onFocus:l,onBlur:u}),a)}})}),{}}}),ts=H({chips:Boolean,counter:Boolean,counterSizeString:{type:String,default:"$vuetify.fileInput.counterSize"},counterString:{type:String,default:"$vuetify.fileInput.counter"},hideInput:Boolean,multiple:Boolean,showSize:{type:[Boolean,Number,String],default:!1,validator:e=>typeof e=="boolean"||[1e3,1024].includes(Number(e))},...Ge({prependIcon:"$file"}),modelValue:{type:[Array,Object],default:e=>e.multiple?[]:null,validator:e=>Ye(e).every(t=>t!=null&&typeof t=="object")},...Ot({clearable:!0})},"VFileInput"),ss=F()({name:"VFileInput",inheritAttrs:!1,props:ts(),emits:{"click:control":e=>!0,"mousedown:control":e=>!0,"update:focused":e=>!0,"update:modelValue":e=>!0},setup(e,t){let{attrs:o,emit:a,slots:s}=t;const{t:i}=ve(),l=ne(e,"modelValue",e.modelValue,v=>Ye(v),v=>!e.multiple&&Array.isArray(v)?v[0]:v),{isFocused:u,focus:d,blur:m}=Xe(e),y=x(()=>typeof e.showSize!="boolean"?e.showSize:void 0),g=x(()=>(l.value??[]).reduce((v,B)=>{let{size:J=0}=B;return v+J},0)),k=x(()=>xe(g.value,y.value)),b=x(()=>(l.value??[]).map(v=>{const{name:B="",size:J=0}=v;return e.showSize?`${B} (${xe(J,y.value)})`:B})),h=x(()=>{var B;const v=((B=l.value)==null?void 0:B.length)??0;return e.showSize?i(e.counterSizeString,v,k.value):i(e.counterString,v)}),C=q(),E=q(),j=q(),N=x(()=>u.value||e.active),W=x(()=>["plain","underlined"].includes(e.variant));function w(){var v;j.value!==document.activeElement&&((v=j.value)==null||v.focus()),u.value||d()}function S(v){var B;(B=j.value)==null||B.click()}function I(v){a("mousedown:control",v)}function M(v){var B;(B=j.value)==null||B.click(),a("click:control",v)}function ie(v){v.stopPropagation(),w(),He(()=>{l.value=[],vt(e["onClick:clear"],v)})}function re(v){v.preventDefault()}function O(v){v.preventDefault(),v.dataTransfer&&(l.value=[...v.dataTransfer.files??[]])}return ze(l,v=>{(!Array.isArray(v)||!v.length)&&j.value&&(j.value.value="")}),U(()=>{const v=!!(s.counter||e.counter),B=!!(v||s.details),[J,ue]=Me(o),{modelValue:de,...$e}=ae.filterProps(e),et=De.filterProps(e);return n(ae,_({ref:C,modelValue:e.multiple?l.value:l.value[0],class:["v-file-input",{"v-file-input--chips":!!e.chips,"v-file-input--hide":e.hideInput,"v-input--plain-underlined":W.value},e.class],style:e.style,"onClick:prepend":S},J,$e,{centerAffix:!W.value,focused:u.value}),{...s,default:ce=>{let{id:te,isDisabled:Q,isDirty:Te,isReadonly:we,isValid:tt}=ce;return n(De,_({ref:E,"prepend-icon":e.prependIcon,onMousedown:I,onClick:M,"onClick:clear":ie,"onClick:prependInner":e["onClick:prependInner"],"onClick:appendInner":e["onClick:appendInner"]},et,{id:te.value,active:N.value||Te.value,dirty:Te.value||e.dirty,disabled:Q.value,focused:u.value,error:tt.value===!1,onDragover:re,onDrop:O}),{...s,default:st=>{var Ve;let{props:{class:lt,...at}}=st;return n(P,null,[n("input",_({ref:j,type:"file",readonly:we.value,disabled:Q.value,multiple:e.multiple,name:e.name,onClick:X=>{X.stopPropagation(),we.value&&X.preventDefault(),w()},onChange:X=>{if(!X.target)return;const ot=X.target;l.value=[...ot.files??[]]},onFocus:w,onBlur:m},at,ue),null),n("div",{class:lt},[!!((Ve=l.value)!=null&&Ve.length)&&!e.hideInput&&(s.selection?s.selection({fileNames:b.value,totalBytes:g.value,totalBytesReadable:k.value}):e.chips?b.value.map(X=>n(G,{key:X,size:"small",text:X},null)):b.value.join(", "))])])}})},details:B?ce=>{var te,Q;return n(P,null,[(te=s.details)==null?void 0:te.call(s,ce),v&&n(P,null,[n("span",null,null),n(Ut,{active:!!((Q=l.value)!=null&&Q.length),value:h.value,disabled:e.disabled},s.counter)])])}:void 0})}),Fe({},C,E,j)}}),pe=Symbol.for("vuetify:v-tabs"),ls=H({fixed:Boolean,sliderColor:String,hideSlider:Boolean,direction:{type:String,default:"horizontal"},...ke(yt({selectedClass:"v-tab--selected",variant:"text"}),["active","block","flat","location","position","symbol"])},"VTab"),le=F()({name:"VTab",props:ls(),setup(e,t){let{slots:o,attrs:a}=t;const{textColorClasses:s,textColorStyles:i}=We(e,"sliderColor"),l=q(),u=q(),d=x(()=>e.direction==="horizontal"),m=x(()=>{var g,k;return((k=(g=l.value)==null?void 0:g.group)==null?void 0:k.isSelected.value)??!1});function y(g){var b,h;let{value:k}=g;if(k){const C=(h=(b=l.value)==null?void 0:b.$el.parentElement)==null?void 0:h.querySelector(".v-tab--selected .v-tab__slider"),E=u.value;if(!C||!E)return;const j=getComputedStyle(C).color,N=C.getBoundingClientRect(),W=E.getBoundingClientRect(),w=d.value?"x":"y",S=d.value?"X":"Y",I=d.value?"right":"bottom",M=d.value?"width":"height",ie=N[w],re=W[w],O=ie>re?N[I]-W[I]:N[w]-W[w],v=Math.sign(O)>0?d.value?"right":"bottom":Math.sign(O)<0?d.value?"left":"top":"center",J=(Math.abs(O)+(Math.sign(O)<0?N[M]:W[M]))/Math.max(N[M],W[M])||0,ue=N[M]/W[M]||0,de=1.5;bt(E,{backgroundColor:[j,"currentcolor"],transform:[`translate${S}(${O}px) scale${S}(${ue})`,`translate${S}(${O/de}px) scale${S}(${(J-1)/de+1})`,"none"],transformOrigin:Array(3).fill(v)},{duration:225,easing:gt})}}return U(()=>{const g=L.filterProps(e);return n(L,_({symbol:pe,ref:l,class:["v-tab",e.class],style:e.style,tabindex:m.value?0:-1,role:"tab","aria-selected":String(m.value),active:!1},g,a,{block:e.fixed,maxWidth:e.fixed?300:void 0,"onGroup:selected":y}),{...o,default:()=>{var k;return n(P,null,[((k=o.default)==null?void 0:k.call(o))??e.text,!e.hideSlider&&n("div",{ref:u,class:["v-tab__slider",s.value],style:i.value},null)])}})}),Fe({},l)}}),as=e=>{const{touchstartX:t,touchendX:o,touchstartY:a,touchendY:s}=e,i=.5,l=16;e.offsetX=o-t,e.offsetY=s-a,Math.abs(e.offsetY)<i*Math.abs(e.offsetX)&&(e.left&&o<t-l&&e.left(e),e.right&&o>t+l&&e.right(e)),Math.abs(e.offsetX)<i*Math.abs(e.offsetY)&&(e.up&&s<a-l&&e.up(e),e.down&&s>a+l&&e.down(e))};function os(e,t){var a;const o=e.changedTouches[0];t.touchstartX=o.clientX,t.touchstartY=o.clientY,(a=t.start)==null||a.call(t,{originalEvent:e,...t})}function ns(e,t){var a;const o=e.changedTouches[0];t.touchendX=o.clientX,t.touchendY=o.clientY,(a=t.end)==null||a.call(t,{originalEvent:e,...t}),as(t)}function is(e,t){var a;const o=e.changedTouches[0];t.touchmoveX=o.clientX,t.touchmoveY=o.clientY,(a=t.move)==null||a.call(t,{originalEvent:e,...t})}function rs(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};const t={touchstartX:0,touchstartY:0,touchendX:0,touchendY:0,touchmoveX:0,touchmoveY:0,offsetX:0,offsetY:0,left:e.left,right:e.right,up:e.up,down:e.down,start:e.start,move:e.move,end:e.end};return{touchstart:o=>os(o,t),touchend:o=>ns(o,t),touchmove:o=>is(o,t)}}function us(e,t){var u;const o=t.value,a=o!=null&&o.parent?e.parentElement:e,s=(o==null?void 0:o.options)??{passive:!0},i=(u=t.instance)==null?void 0:u.$.uid;if(!a||!i)return;const l=rs(t.value);a._touchHandlers=a._touchHandlers??Object.create(null),a._touchHandlers[i]=l,Ue(l).forEach(d=>{a.addEventListener(d,l[d],s)})}function ds(e,t){var i,l;const o=(i=t.value)!=null&&i.parent?e.parentElement:e,a=(l=t.instance)==null?void 0:l.$.uid;if(!(o!=null&&o._touchHandlers)||!a)return;const s=o._touchHandlers[a];Ue(s).forEach(u=>{o.removeEventListener(u,s[u])}),delete o._touchHandlers[a]}const Je={mounted:us,unmounted:ds},qe=Symbol.for("vuetify:v-window"),Ke=Symbol.for("vuetify:v-window-group"),Ze=H({continuous:Boolean,nextIcon:{type:[Boolean,String,Function,Object],default:"$next"},prevIcon:{type:[Boolean,String,Function,Object],default:"$prev"},reverse:Boolean,showArrows:{type:[Boolean,String],validator:e=>typeof e=="boolean"||e==="hover"},touch:{type:[Object,Boolean],default:void 0},direction:{type:String,default:"horizontal"},modelValue:null,disabled:Boolean,selectedClass:{type:String,default:"v-window-item--active"},mandatory:{type:[Boolean,String],default:"force"},...ge(),...be(),...Le()},"VWindow"),oe=F()({name:"VWindow",directives:{Touch:Je},props:Ze(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:o}=t;const{themeClasses:a}=kt(e),{isRtl:s}=pt(),{t:i}=ve(),l=Tt(e,Ke),u=q(),d=x(()=>s.value?!e.reverse:e.reverse),m=fe(!1),y=x(()=>{const w=e.direction==="vertical"?"y":"x",I=(d.value?!m.value:m.value)?"-reverse":"";return`v-window-${w}${I}-transition`}),g=fe(0),k=q(void 0),b=x(()=>l.items.value.findIndex(w=>l.selected.value.includes(w.id)));ze(b,(w,S)=>{const I=l.items.value.length,M=I-1;I<=2?m.value=w<S:w===M&&S===0?m.value=!0:w===0&&S===M?m.value=!1:m.value=w<S}),Vt(qe,{transition:y,isReversed:m,transitionCount:g,transitionHeight:k,rootRef:u});const h=x(()=>e.continuous||b.value!==0),C=x(()=>e.continuous||b.value!==l.items.value.length-1);function E(){h.value&&l.prev()}function j(){C.value&&l.next()}const N=x(()=>{const w=[],S={icon:s.value?e.nextIcon:e.prevIcon,class:`v-window__${d.value?"right":"left"}`,onClick:l.prev,"aria-label":i("$vuetify.carousel.prev")};w.push(h.value?o.prev?o.prev({props:S}):n(L,S,null):n("div",null,null));const I={icon:s.value?e.prevIcon:e.nextIcon,class:`v-window__${d.value?"left":"right"}`,onClick:l.next,"aria-label":i("$vuetify.carousel.next")};return w.push(C.value?o.next?o.next({props:I}):n(L,I,null):n("div",null,null)),w}),W=x(()=>e.touch===!1?e.touch:{...{left:()=>{d.value?E():j()},right:()=>{d.value?j():E()},start:S=>{let{originalEvent:I}=S;I.stopPropagation()}},...e.touch===!0?{}:e.touch});return U(()=>ye(n(e.tag,{ref:u,class:["v-window",{"v-window--show-arrows-on-hover":e.showArrows==="hover"},a.value,e.class],style:e.style},{default:()=>{var w,S;return[n("div",{class:"v-window__container",style:{height:k.value}},[(w=o.default)==null?void 0:w.call(o,{group:l}),e.showArrows!==!1&&n("div",{class:"v-window__controls"},[N.value])]),(S=o.additional)==null?void 0:S.call(o,{group:l})]}}),[[wt("touch"),W.value]])),{group:l}}}),cs=H({...ke(Ze(),["continuous","nextIcon","prevIcon","showArrows","touch","mandatory"])},"VTabsWindow"),ms=F()({name:"VTabsWindow",props:cs(),emits:{"update:modelValue":e=>!0},setup(e,t){let{slots:o}=t;const a=Oe(pe,null),s=ne(e,"modelValue"),i=x({get(){var l;return s.value!=null||!a?s.value:(l=a.items.value.find(u=>a.selected.value.includes(u.id)))==null?void 0:l.value},set(l){s.value=l}});return U(()=>{const l=oe.filterProps(e);return n(oe,_({_as:"VTabsWindow"},l,{modelValue:i.value,"onUpdate:modelValue":u=>i.value=u,class:["v-tabs-window",e.class],style:e.style,mandatory:!1,touch:!1}),o)}),{}}}),Qe=H({reverseTransition:{type:[Boolean,String],default:void 0},transition:{type:[Boolean,String],default:void 0},...ge(),...Dt(),...St()},"VWindowItem"),ee=F()({name:"VWindowItem",directives:{Touch:Je},props:Qe(),emits:{"group:selected":e=>!0},setup(e,t){let{slots:o}=t;const a=Oe(qe),s=xt(e,Ke),{isBooted:i}=Mt();if(!a||!s)throw new Error("[Vuetify] VWindowItem must be used inside VWindow");const l=fe(!1),u=x(()=>i.value&&(a.isReversed.value?e.reverseTransition!==!1:e.transition!==!1));function d(){!l.value||!a||(l.value=!1,a.transitionCount.value>0&&(a.transitionCount.value-=1,a.transitionCount.value===0&&(a.transitionHeight.value=void 0)))}function m(){var h;l.value||!a||(l.value=!0,a.transitionCount.value===0&&(a.transitionHeight.value=he((h=a.rootRef.value)==null?void 0:h.clientHeight)),a.transitionCount.value+=1)}function y(){d()}function g(h){l.value&&He(()=>{!u.value||!l.value||!a||(a.transitionHeight.value=he(h.clientHeight))})}const k=x(()=>{const h=a.isReversed.value?e.reverseTransition:e.transition;return u.value?{name:typeof h!="string"?a.transition.value:h,onBeforeEnter:m,onAfterEnter:d,onEnterCancelled:y,onBeforeLeave:m,onAfterLeave:d,onLeaveCancelled:y,onEnter:g}:!1}),{hasContent:b}=Ct(e,s.isSelected);return U(()=>n(_e,{transition:k.value,disabled:!i.value},{default:()=>{var h;return[ye(n("div",{class:["v-window-item",s.selectedClass.value,e.class],style:e.style},[b.value&&((h=o.default)==null?void 0:h.call(o))]),[[Ne,s.isSelected.value]])]}})),{groupItem:s}}}),fs=H({...Qe()},"VTabsWindowItem"),hs=F()({name:"VTabsWindowItem",props:fs(),setup(e,t){let{slots:o}=t;return U(()=>{const a=ee.filterProps(e);return n(ee,_({_as:"VTabsWindowItem"},a,{class:["v-tabs-window-item",e.class],style:e.style}),o)}),{}}});function vs(e){return e?e.map(t=>Et(t)?t:{text:t,value:t}):[]}const ys=H({alignTabs:{type:String,default:"start"},color:String,fixedTabs:Boolean,items:{type:Array,default:()=>[]},stacked:Boolean,bgColor:String,grow:Boolean,height:{type:[Number,String],default:void 0},hideSlider:Boolean,sliderColor:String,...Yt({mandatory:"force",selectedClass:"v-tab-item--selected"}),...At(),...be()},"VTabs"),Ae=F()({name:"VTabs",props:ys(),emits:{"update:modelValue":e=>!0},setup(e,t){let{attrs:o,slots:a}=t;const s=ne(e,"modelValue"),i=x(()=>vs(e.items)),{densityClasses:l}=jt(e),{backgroundColorClasses:u,backgroundColorStyles:d}=Re(z(e,"bgColor")),{scopeId:m}=Pt();return Bt({VTab:{color:z(e,"color"),direction:z(e,"direction"),stacked:z(e,"stacked"),fixed:z(e,"fixedTabs"),sliderColor:z(e,"sliderColor"),hideSlider:z(e,"hideSlider")}}),U(()=>{const y=Se.filterProps(e),g=!!(a.window||e.items.length>0);return n(P,null,[n(Se,_(y,{modelValue:s.value,"onUpdate:modelValue":k=>s.value=k,class:["v-tabs",`v-tabs--${e.direction}`,`v-tabs--align-tabs-${e.alignTabs}`,{"v-tabs--fixed-tabs":e.fixedTabs,"v-tabs--grow":e.grow,"v-tabs--stacked":e.stacked},l.value,u.value,e.class],style:[{"--v-tabs-height":he(e.height)},d.value,e.style],role:"tablist",symbol:pe},m,o),{default:()=>{var k;return[((k=a.default)==null?void 0:k.call(a))??i.value.map(b=>{var h;return((h=a.tab)==null?void 0:h.call(a,{item:b}))??n(le,_(b,{key:b.text,value:b.value}),{default:a[`tab.${b.value}`]?()=>{var C;return(C=a[`tab.${b.value}`])==null?void 0:C.call(a,{item:b})}:void 0})})]}}),g&&n(ms,_({modelValue:s.value,"onUpdate:modelValue":k=>s.value=k,key:"tabs-window"},m),{default:()=>{var k;return[i.value.map(b=>{var h;return((h=a.item)==null?void 0:h.call(a,{item:b}))??n(hs,{value:b.value},{default:()=>{var C;return(C=a[`item.${b.value}`])==null?void 0:C.call(a,{item:b})}})}),(k=a.window)==null?void 0:k.call(a)]}})])}),{}}}),Ee=()=>new Promise((e,t)=>{if(typeof window.jsyaml<"u")return e(window.jsyaml);const o=document.createElement("script");o.src="https://cdnjs.cloudflare.com/ajax/libs/js-yaml/4.1.0/js-yaml.min.js",o.async=!0,o.onload=()=>e(window.jsyaml),o.onerror=()=>t(new Error("无法加载YAML解析库")),document.head.appendChild(o)});class Ie{constructor(t){this.data=t,this.version=null,this.subjects=[],this.schedules=[],this._parseData()}_parseData(){if(!this.data)return;this.version=this.data.version||1;const t=this.data.subjects||[];for(const a of t)this.subjects.push({name:a.name,simplified_name:a.simplified_name||null,teacher:a.teacher||null,room:a.room||null});const o=this.data.schedules||[];for(const a of o){const s=[];for(const i of a.classes||[])s.push({subject:i.subject,start_time:i.start_time,end_time:i.end_time});this.schedules.push({name:a.name,enable_day:a.enable_day,weeks:a.weeks||"all",classes:s})}}getSubjects(){return this.subjects}getSchedules(){return this.schedules}getScheduleByDay(t){const o=this.schedules.find(a=>a.enable_day===t);return o?o.classes:[]}toCsesData(){return{version:this.version,subjects:this.subjects,schedules:this.schedules}}}const bs={name:"Cses2Wakeup",data(){return{activeTab:"text",file:null,jsonText:"",loading:!1,error:"",success:"",processedData:null,selectedRows:[],exportPeriods:[],selectedDays:[1,2,3,4,5,6,7],formatMode:"auto",yamlLibLoaded:!1,activeDay:null,subjectColors:{数学:"blue",语文:"red",英语:"green",物理:"purple",化学:"orange",生物:"teal",历史:"brown",地理:"indigo",政治:"pink",体育:"cyan",自习:"grey",早读:"amber",班会:"deep-purple",听力:"light-blue",信息技术:"light-green"},settings:{hideTeacherName:!1,hideRoom:!1,totalWeeks:30},tableHeaders:[{title:"",key:"data-table-select"},{title:"节次",key:"period"},{title:"周一",key:"1"},{title:"周二",key:"2"},{title:"周三",key:"3"},{title:"周四",key:"4"},{title:"周五",key:"5"},{title:"周六",key:"6"},{title:"周日",key:"7"}],timeTableHeaders:[{title:"节次",key:"period"},{title:"课程",key:"subject"},{title:"星期",key:"day"},{title:"开始时间",key:"startTime"},{title:"结束时间",key:"endTime"},{title:"教师",key:"teacher"},{title:"教室",key:"room"},{title:"周次",key:"weeks"}],dayNames:{1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",7:"周日"}}},computed:{timeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const e=[];return this.processedData.tableData.filter(o=>this.exportPeriods.includes(o.period)).forEach(o=>{for(let a=1;a<=7;a++){if(!this.selectedDays.includes(a))continue;const s=o[a];if(s)if(Array.isArray(s))s.forEach(i=>{!i||!i.name||e.push({period:o.period,subject:i.name,day:this.dayNames[a],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!s.name)continue;e.push({period:o.period,subject:s.name,day:this.dayNames[a],startTime:s.startTime,endTime:s.endTime,teacher:this.settings.hideTeacherName?"":s.teacher||"",room:this.settings.hideRoom?"":s.room||"",weeks:s.weekType?`1-${this.settings.totalWeeks}${s.weekType}`:`1-${this.settings.totalWeeks}`})}}}),e.sort((o,a)=>{if(o.period!==a.period)return o.period-a.period;const s={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return s[o.day]-s[a.day]})},hasExportData(){return this.processedData&&this.exportPeriods.length>0},totalClassHours(){return this.timeTableData.length},daysWithSchedule(){const e=[];for(let t=1;t<=7;t++)this.selectedDays.includes(t)&&this.getDaySchedule(t).length>0&&e.push(t);return e}},methods:{async handleFileChange(){if(this.resetData(),!this.file)return;const e=this.file.name.toLowerCase();if(e.endsWith(".json")||e.endsWith(".js"))this.formatMode="json";else if((e.endsWith(".yml")||e.endsWith(".yaml"))&&(this.formatMode="yaml",!this.yamlLibLoaded))try{await Ee(),this.yamlLibLoaded=!0}catch(t){this.error=`无法加载YAML解析库: ${t.message}`;return}try{const t=new FileReader;t.onload=async o=>{try{this.jsonText=o.target.result,await this.processInput()}catch(a){this.error=`文件读取失败: ${a.message}`}},t.onerror=()=>{this.error="文件读取失败"},t.readAsText(this.file)}catch(t){this.error=`文件处理失败: ${t.message}`}},handleTextChange(){this.resetData()},resetData(){this.error="",this.success="",this.processedData=null,this.selectedRows=[],this.exportPeriods=[]},async processInput(){if(!this.jsonText&&!this.file){this.error="请粘贴文本或上传文件";return}this.loading=!0,this.error="",this.success="";try{await this.$nextTick();let e;try{if(this.formatMode==="yaml"||this.formatMode==="auto"&&this.isYaml(this.jsonText)){const o=this.parseYaml(this.jsonText);e=new Ie(o).toCsesData()}else e=JSON.parse(this.jsonText)}catch(o){throw new Error(`格式解析错误: ${o.message}`)}if(!this.validateCsesFormat(e))throw new Error("不是有效的CSES格式数据");const t=this.processCsesData(e);this.processedData=t,this.selectedDays=[1,2,3,4,5],this.success="数据处理成功!",t.tableData&&t.tableData.length>0&&(this.selectedRows=[...t.tableData],this.exportPeriods=t.tableData.map(o=>o.period))}catch(e){this.error="数据处理失败:"+e.message,console.error(e)}finally{this.loading=!1}},validateCsesFormat(e){return e instanceof Ie?e.version===1&&Array.isArray(e.subjects)&&Array.isArray(e.schedules):!(!e||typeof e!="object"||e.version!==1||!Array.isArray(e.subjects)||!Array.isArray(e.schedules))},processCsesData(e){const{schedules:t,subjects:o}=e,a=Object.fromEntries(o.map(l=>[l.name,l])),s=[];let i=0;t.forEach(l=>{l.classes&&l.classes.length>i&&(i=l.classes.length)});for(let l=1;l<=i;l++)s.push({period:l,1:null,2:null,3:null,4:null,5:null,6:null,7:null});return t.forEach(l=>{const u=l.enable_day;if(!u||u<1||u>7)return;let d="";l.weeks==="odd"?d="单":l.weeks==="even"&&(d="双"),l.classes.forEach((m,y)=>{if(!m.subject)return;const g=y+1;if(g>i)return;const k=a[m.subject]||{},b={name:m.subject,teacher:k.teacher||"",room:k.room||"",period:g,startTime:m.start_time,endTime:m.end_time,day:u,weekType:d},h=s[g-1][u];h?d&&h.weekType&&d!==h.weekType?(Array.isArray(s[g-1][u])||(s[g-1][u]=[h]),s[g-1][u].push(b)):d===h.weekType?s[g-1][u]=b:d||(s[g-1][u]=b):s[g-1][u]=b})}),{tableData:s,originalData:e}},updateSelectedPeriods(e){this.exportPeriods=[],e&&e.length>0&&(this.exportPeriods=[...new Set(e.filter(t=>t&&typeof t.period=="number").map(t=>t.period))])},getTimeTableData(){return this.timeTableData},downloadCSV(){var s;if(!((s=this.processedData)!=null&&s.tableData)){this.error="没有可下载的数据";return}if(this.exportPeriods.length===0){this.error="请至少选择一节要导出的课";return}if(this.daysWithSchedule.length===0||this.totalClassHours===0){this.error="没有课程数据可导出";return}let e=`课程名称,星期,开始节数,结束节数,老师,地点,周数
`;for(const i of this.daysWithSchedule){const l=this.groupByPeriod(this.getDaySchedule(i));for(const u of l)for(const d of u.items){const m={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7}[d.day],y=this.settings.hideTeacherName?"":d.teacher||"",g=this.settings.hideRoom?"":d.room||"";e+=`${d.subject},${m},${d.period},${d.period},${y},${g},${d.weeks}
`}}const t="\uFEFF",o=new Blob([t+e],{type:"text/csv;charset=utf-8"}),a=document.createElement("a");a.href=URL.createObjectURL(o),a.download=`course_schedule_${this.totalClassHours}课时.csv`,a.click(),URL.revokeObjectURL(a.href),this.success=`导出成功!共计 ${this.totalClassHours} 课时`},showExportPreview(){if(!this.hasExportData){this.error="请先选择要导出的节次";return}const e=this.timeTableData.slice(0,5).map(t=>`${t.subject} (${t.day}${t.period}节)`).join(`
`);this.timeTableData.length>5?this.success=`导出预览 (共${this.totalClassHours}课时):
${e}
...等${this.totalClassHours-5}`:this.success=`导出预览 (共${this.totalClassHours}课时):
${e}`},isYaml(e){const t=e.trim();if(t.startsWith("{")||t.startsWith("["))try{return JSON.parse(t),!1}catch{}return/^\s*[a-zA-Z0-9_-]+\s*:/.test(t)||/\n\s*[a-zA-Z0-9_-]+\s*:/.test(t)},parseYaml(e){try{if(typeof window.jsyaml<"u")return window.jsyaml.load(e);throw new Error("YAML解析器未加载")}catch(t){throw new Error(`YAML解析错误: ${t.message}`)}},getDaySchedule(e){return this.timeTableData?this.getUnfilteredTimeTableData().filter(o=>({周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7})[o.day]===e):[]},getUnfilteredTimeTableData(){if(!this.processedData||!this.processedData.tableData)return[];const e=[];return this.processedData.tableData.filter(o=>this.exportPeriods.includes(o.period)).forEach(o=>{for(let a=1;a<=7;a++){const s=o[a];if(s)if(Array.isArray(s))s.forEach(i=>{!i||!i.name||e.push({period:o.period,subject:i.name,day:this.dayNames[a],startTime:i.startTime,endTime:i.endTime,teacher:this.settings.hideTeacherName?"":i.teacher||"",room:this.settings.hideRoom?"":i.room||"",weeks:i.weekType?`1-${this.settings.totalWeeks}${i.weekType}`:`1-${this.settings.totalWeeks}`})});else{if(!s.name)continue;e.push({period:o.period,subject:s.name,day:this.dayNames[a],startTime:s.startTime,endTime:s.endTime,teacher:this.settings.hideTeacherName?"":s.teacher||"",room:this.settings.hideRoom?"":s.room||"",weeks:s.weekType?`1-${this.settings.totalWeeks}${s.weekType}`:`1-${this.settings.totalWeeks}`})}}}),e.sort((o,a)=>{if(o.period!==a.period)return o.period-a.period;const s={周一:1,周二:2,周三:3,周四:4,周五:5,周六:6,周日:7};return s[o.day]-s[a.day]})},groupByPeriod(e){const t={};return e.forEach(o=>{t[o.period]||(t[o.period]={period:o.period,items:[],timeSlots:[]}),t[o.period].items.push(o),t[o.period].timeSlots.push({startTime:o.startTime,endTime:o.endTime})}),Object.values(t).forEach(o=>{o.uniqueTimeSlots=[],o.timeSlots.forEach(a=>{o.uniqueTimeSlots.some(s=>s.startTime===a.startTime&&s.endTime===a.endTime)||o.uniqueTimeSlots.push(a)}),o.uniqueTimeSlots.sort((a,s)=>a.startTime.localeCompare(s.startTime))}),Object.values(t).sort((o,a)=>o.period-a.period)},formatTime(e){return e?e.substring(0,5):""},getSubjectColor(e){return this.subjectColors[e]||"grey"},selectAllDays(){this.selectedDays=[1,2,3,4,5,6,7]},clearSelectedDays(){this.selectedDays=[]}},async mounted(){try{await Ee(),this.yamlLibLoaded=!0}catch(e){this.error=e.message}this.$watch("daysWithSchedule",e=>{e.length>0&&!this.activeDay&&(this.activeDay=e[0])})}},gs={class:"d-flex align-center"},ks={class:"d-flex align-center"},ps={key:2,class:"text-caption mb-2"},Ts={class:"d-flex align-center mb-2"},ws={class:"d-flex align-center mb-3"},Vs={class:"d-flex align-center mb-3"},xs={key:0,class:"course-cell"},Cs={key:0},Ss={key:1},Ds={key:2,class:"week-type"},js={key:0},Ps={key:1},Bs={key:2,class:"week-type"},As={class:"text-center font-weight-bold"};function Es(e,t,o,a,s,i){return f(),A(Lt,{class:"fill-height"},{default:r(()=>[n(Ce,null,{default:r(()=>[n(K,{cols:"12"},{default:r(()=>[n(Z,{class:"elevation-12",border:""},{default:r(()=>[n(me,{class:"d-flex align-center primary lighten-1 white--text py-3 px-4"},{default:r(()=>[n(R,{color:"white",class:"mr-2"},{default:r(()=>t[15]||(t[15]=[c("mdi-swap-horizontal")])),_:1}),t[16]||(t[16]=c(" 课程表转换工具 "))]),_:1}),n(_t,null,{default:r(()=>t[17]||(t[17]=[c(" 将CSES格式的JSON或YAML文本转换为WakeUp软件使用的课程表 ")])),_:1}),n(se,null,{default:r(()=>[s.error?(f(),A($,{key:0,type:"error",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":t[0]||(t[0]=l=>s.error="")},{default:r(()=>[T("div",gs,[n(R,{class:"mr-2"},{default:r(()=>t[18]||(t[18]=[c("mdi-alert-circle")])),_:1}),c(" "+V(s.error),1)])]),_:1})):D("",!0),s.success?(f(),A($,{key:1,type:"success",class:"mb-4 mt-3 mx-2",variant:"tonal",border:"start",closable:"","onClick:close":t[1]||(t[1]=l=>s.success="")},{default:r(()=>[T("div",ks,[n(R,{class:"mr-2"},{default:r(()=>t[19]||(t[19]=[c("mdi-check-circle")])),_:1}),c(" "+V(s.success),1)])]),_:1})):D("",!0),n(Ae,{modelValue:s.activeTab,"onUpdate:modelValue":t[2]||(t[2]=l=>s.activeTab=l),class:"mb-4 mx-2",color:"primary",rounded:""},{default:r(()=>[n(le,{value:"text",class:"px-5"},{default:r(()=>[n(R,{start:""},{default:r(()=>t[20]||(t[20]=[c("mdi-text-box")])),_:1}),t[21]||(t[21]=c(" 文本粘贴"))]),_:1}),n(le,{value:"file",class:"px-5"},{default:r(()=>[n(R,{start:""},{default:r(()=>t[22]||(t[22]=[c("mdi-file-upload")])),_:1}),t[23]||(t[23]=c(" 文件上传"))]),_:1})]),_:1},8,["modelValue"]),n(Rt,{modelValue:s.formatMode,"onUpdate:modelValue":t[3]||(t[3]=l=>s.formatMode=l),color:"primary",class:"mb-4 mx-2",mandatory:"",density:"comfortable",border:"",rounded:""},{default:r(()=>[n(L,{value:"auto"},{default:r(()=>t[24]||(t[24]=[c("自动检测")])),_:1}),n(L,{value:"json"},{default:r(()=>t[25]||(t[25]=[c("JSON")])),_:1}),n(L,{value:"yaml",disabled:!s.yamlLibLoaded},{default:r(()=>[t[26]||(t[26]=c(" YAML ")),n(Ht,{activator:"parent",location:"bottom"},{default:r(()=>[c(V(s.yamlLibLoaded?"YAML解析库已加载":"正在加载YAML解析库..."),1)]),_:1})]),_:1},8,["disabled"])]),_:1},8,["modelValue"]),s.jsonText&&s.formatMode==="auto"?(f(),p("div",ps," 检测到的格式: "+V(i.isYaml(s.jsonText)?"YAML":"JSON"),1)):D("",!0),n(oe,{modelValue:s.activeTab,"onUpdate:modelValue":t[6]||(t[6]=l=>s.activeTab=l)},{default:r(()=>[n(ee,{value:"text"},{default:r(()=>[T("div",Ts,[n(Xt,{modelValue:s.jsonText,"onUpdate:modelValue":t[4]||(t[4]=l=>s.jsonText=l),label:"粘贴JSON或YAML文本",loading:s.loading,disabled:s.loading,"row-height":"25",rows:"6",placeholder:"请在此粘贴CSES格式的数据...",onInput:i.handleTextChange},null,8,["modelValue","loading","disabled","onInput"])])]),_:1}),n(ee,{value:"file"},{default:r(()=>[n(ss,{modelValue:s.file,"onUpdate:modelValue":t[5]||(t[5]=l=>s.file=l),accept:".js,.json,.yml,.yaml",label:"选择课程表文件","prepend-icon":"mdi-file-upload",loading:s.loading,disabled:s.loading,onChange:i.handleFileChange,hint:"支持JSON、YAML格式文件","persistent-hint":"",rules:[l=>!l||l.size<2e6||"文件大小不能超过 2 MB"]},null,8,["modelValue","loading","disabled","onChange","rules"]),s.file&&s.formatMode==="auto"?(f(),A($,{key:0,type:"info",class:"mb-4",variant:"tonal",density:"compact"},{default:r(()=>t[27]||(t[27]=[c(" 将根据文件扩展名自动检测格式 ")])),_:1})):D("",!0)]),_:1})]),_:1},8,["modelValue"]),n(K,{cols:"12"},{default:r(()=>[n(Z,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[T("div",ws,[n(R,{color:"primary",class:"mr-2"},{default:r(()=>t[28]||(t[28]=[c("mdi-calendar-multiselect")])),_:1}),t[33]||(t[33]=T("h3",{class:"text-subtitle-1 font-weight-medium mr-auto"},"选择导出天数",-1)),n(L,{variant:"text",color:"primary",class:"ml-2",onClick:i.selectAllDays},{default:r(()=>[n(R,{start:"",size:"small"},{default:r(()=>t[29]||(t[29]=[c("mdi-checkbox-multiple-marked")])),_:1}),t[30]||(t[30]=c(" 全选 "))]),_:1},8,["onClick"]),n(L,{variant:"text",color:"error",class:"ml-2",onClick:i.clearSelectedDays},{default:r(()=>[n(R,{start:"",size:"small"},{default:r(()=>t[31]||(t[31]=[c("mdi-checkbox-multiple-blank-outline")])),_:1}),t[32]||(t[32]=c(" 清除 "))]),_:1},8,["onClick"])]),n(zt,{modelValue:s.selectedDays,"onUpdate:modelValue":t[7]||(t[7]=l=>s.selectedDays=l),multiple:"",class:"mb-2",color:"primary"},{default:r(()=>[(f(),p(P,null,Y(7,l=>n(G,{key:l,value:l,filter:"",variant:"tonal",class:"filter-chip",label:""},{default:r(()=>[c(V(s.dayNames[l])+" ",1),i.getDaySchedule(l).length>0?(f(),A(Be,{key:0,content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])):D("",!0)]),_:2},1032,["value"])),64))]),_:1},8,["modelValue"])]),_:1})]),_:1}),n(K,{cols:"12"},{default:r(()=>[n(Z,{flat:"",class:"pa-4 rounded-lg",border:""},{default:r(()=>[T("div",Vs,[n(R,{color:"primary",class:"mr-2"},{default:r(()=>t[34]||(t[34]=[c("mdi-cog")])),_:1}),t[35]||(t[35]=T("h3",{class:"text-subtitle-1 font-weight-medium"},"显示配置",-1))]),n(Ce,null,{default:r(()=>[n(K,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideTeacherName,"onUpdate:modelValue":t[8]||(t[8]=l=>s.settings.hideTeacherName=l),label:"不显示教师姓名",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(K,{cols:"12",sm:"6"},{default:r(()=>[n(Pe,{modelValue:s.settings.hideRoom,"onUpdate:modelValue":t[9]||(t[9]=l=>s.settings.hideRoom=l),label:"不显示教室信息",color:"primary",inset:"","hide-details":""},null,8,["modelValue"])]),_:1}),n(K,{cols:"12",sm:"6"},{default:r(()=>[n(Gt,{modelValue:s.settings.totalWeeks,"onUpdate:modelValue":t[10]||(t[10]=l=>s.settings.totalWeeks=l),modelModifiers:{number:!0},label:"总周数",type:"number",min:"1",max:"30",rules:[l=>l>0||"周数必须大于0"],density:"comfortable",variant:"outlined","prepend-inner-icon":"mdi-calendar-week",class:"mt-3"},null,8,["modelValue","rules"])]),_:1})]),_:1})]),_:1})]),_:1}),s.loading?(f(),A(Z,{key:3,class:"my-4",outlined:""},{default:r(()=>[n(se,null,{default:r(()=>[n(Zt,{type:"table",class:"mx-auto"})]),_:1})]),_:1})):D("",!0),s.processedData?(f(),A(G,{key:4,color:"primary",class:"ml-2","prepend-icon":"mdi-book-open-variant"},{default:r(()=>[c(V(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})):D("",!0),s.processedData&&s.exportPeriods.length===0?(f(),A($,{key:5,type:"warning",class:"mb-4",closable:""},{default:r(()=>t[36]||(t[36]=[c(" 请选择要导出的节次 ")])),_:1})):D("",!0),s.processedData?(f(),A(Z,{key:6,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(R,{color:"primary",class:"mr-2"},{default:r(()=>t[37]||(t[37]=[c("mdi-table")])),_:1}),t[39]||(t[39]=T("span",{class:"font-weight-bold"},"课程表",-1)),n(G,{color:"primary",class:"ml-3",size:"small",pill:""},{default:r(()=>[n(R,{start:"",size:"x-small"},{default:r(()=>t[38]||(t[38]=[c("mdi-book-open-variant")])),_:1}),c(" "+V(s.processedData.tableData.length)+" 节课程 ",1)]),_:1})]),_:1}),n(se,{class:"pa-0"},{default:r(()=>[n(qt,{"items-selected":s.selectedRows,"onUpdate:itemsSelected":[t[12]||(t[12]=l=>s.selectedRows=l),i.updateSelectedPeriods],headers:s.tableHeaders,items:s.processedData.tableData,"hide-default-footer":"",class:"elevation-1","items-per-page":-1,"item-value":"period","show-select":"","select-strategy":"single-independent","sort-by":[],"disable-sort":""},Wt({"item.data-table-select":r(({item:l})=>[n(es,{modelValue:s.exportPeriods,"onUpdate:modelValue":t[11]||(t[11]=u=>s.exportPeriods=u),value:l.period,"hide-details":"",density:"compact"},null,8,["modelValue","value"])]),_:2},[Y(7,l=>({name:`item.${l}`,fn:r(({item:u})=>[u[l]?(f(),p("div",xs,[Array.isArray(u[l])?(f(!0),p(P,{key:0},Y(u[l],(d,m)=>(f(),p("div",{key:m,class:"course-item"},[c(V(d.name)+" ",1),!s.settings.hideTeacherName&&d.teacher?(f(),p("span",Cs,[t[40]||(t[40]=T("br",null,null,-1)),c(V(d.teacher),1)])):D("",!0),!s.settings.hideRoom&&d.room?(f(),p("span",Ss,[t[41]||(t[41]=T("br",null,null,-1)),c(V(d.room),1)])):D("",!0),d.weekType?(f(),p("span",Ds,V(d.weekType)+"周 ",1)):D("",!0)]))),128)):(f(),p(P,{key:1},[c(V(u[l].name)+" ",1),!s.settings.hideTeacherName&&u[l].teacher?(f(),p("span",js,[t[42]||(t[42]=T("br",null,null,-1)),c(V(u[l].teacher),1)])):D("",!0),!s.settings.hideRoom&&u[l].room?(f(),p("span",Ps,[t[43]||(t[43]=T("br",null,null,-1)),c(V(u[l].room),1)])):D("",!0),u[l].weekType?(f(),p("span",Bs,V(u[l].weekType)+"周 ",1)):D("",!0)],64))])):D("",!0)])}))]),1032,["items-selected","headers","items","onUpdate:itemsSelected"])]),_:1})]),_:1})):D("",!0),i.hasExportData?(f(),A(Z,{key:7,class:"my-4",elevation:"1"},{default:r(()=>[n(me,{class:"d-flex align-center pa-4 bg-primary-lighten-5"},{default:r(()=>[n(R,{color:"primary",class:"mr-2"},{default:r(()=>t[44]||(t[44]=[c("mdi-timetable")])),_:1}),t[46]||(t[46]=T("span",{class:"font-weight-bold"},"每日课程时间表",-1)),n(G,{class:"ml-3",size:"small",color:"primary",pill:""},{default:r(()=>[n(R,{start:"",size:"x-small"},{default:r(()=>t[45]||(t[45]=[c("mdi-clock-outline")])),_:1}),c(" "+V(i.totalClassHours)+" 课时 ",1)]),_:1})]),_:1}),n(se,null,{default:r(()=>[i.daysWithSchedule.length>0?(f(),A(Ae,{key:0,modelValue:s.activeDay,"onUpdate:modelValue":t[13]||(t[13]=l=>s.activeDay=l),class:"mb-4",color:"primary",grow:"","align-tabs":"center"},{default:r(()=>[(f(!0),p(P,null,Y(i.daysWithSchedule,l=>(f(),A(le,{key:l,value:l,class:"px-2 font-weight-medium"},{default:r(()=>[c(V(s.dayNames[l])+" ",1),n(Be,{content:i.getDaySchedule(l).length,color:"primary",inline:""},null,8,["content"])]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"])):D("",!0),n(oe,{modelValue:s.activeDay,"onUpdate:modelValue":t[14]||(t[14]=l=>s.activeDay=l)},{default:r(()=>[(f(!0),p(P,null,Y(i.daysWithSchedule,l=>(f(),A(ee,{key:l,value:l},{default:r(()=>[n(Kt,{density:"compact",class:"rounded","headers-length":6,"disable-sort":""},{default:r(()=>[t[47]||(t[47]=T("thead",null,[T("tr",null,[T("th",{class:"text-center"},"节次"),T("th",null,"课程"),T("th",null,"时间"),T("th",null,"教师"),T("th",null,"教室"),T("th",null,"周次")])],-1)),T("tbody",null,[(f(!0),p(P,null,Y(i.groupByPeriod(i.getDaySchedule(l)),(u,d)=>(f(),p("tr",{key:d},[T("td",As,V(u.period),1),T("td",null,[(f(!0),p(P,null,Y(u.items,(m,y)=>(f(),p("div",{key:y,class:"mb-1"},[n(G,{size:"small",color:i.getSubjectColor(m.subject),label:"","text-color":"white",class:"mr-1"},{default:r(()=>[c(V(m.subject),1)]),_:2},1032,["color"]),u.items.length>1?(f(),A(G,{key:0,size:"x-small",class:"ml-1",color:m.weekType==="单"?"warning":"success"},{default:r(()=>[c(V(m.weekType)+"周 ",1)]),_:2},1032,["color"])):D("",!0)]))),128))]),T("td",null,[(f(!0),p(P,null,Y(u.uniqueTimeSlots,(m,y)=>(f(),p("div",{key:y,class:"mb-1"},[n(G,{size:"x-small",class:"time-chip"},{default:r(()=>[c(V(i.formatTime(m.startTime))+" - "+V(i.formatTime(m.endTime)),1)]),_:2},1024)]))),128))]),T("td",null,[s.settings.hideTeacherName?(f(),p(P,{key:1},[c("-")],64)):(f(!0),p(P,{key:0},Y(u.items,(m,y)=>(f(),p("div",{key:y,class:"mb-1"},V(m.teacher||"-"),1))),128))]),T("td",null,[s.settings.hideRoom?(f(),p(P,{key:1},[c("-")],64)):(f(!0),p(P,{key:0},Y(u.items,(m,y)=>(f(),p("div",{key:y,class:"mb-1"},V(m.room||"-"),1))),128))]),T("td",null,[(f(!0),p(P,null,Y(u.items,(m,y)=>(f(),p("div",{key:y,class:"mb-1"},V(m.weeks),1))),128))])]))),128))])]),_:2},1024)]),_:2},1032,["value"]))),128))]),_:1},8,["modelValue"]),i.hasExportData&&i.daysWithSchedule.length===0?(f(),A($,{key:1,type:"info",class:"mt-3"},{default:r(()=>t[48]||(t[48]=[c(" 没有找到任何课程数据 ")])),_:1})):D("",!0)]),_:1})]),_:1})):D("",!0)]),_:1}),n(Nt,{class:""},{default:r(()=>[n(Ft),n(L,{color:"primary",variant:"outlined",loading:s.loading,disabled:!s.jsonText&&!s.file||s.loading,onClick:i.processInput,"prepend-icon":"mdi-cog-refresh"},{default:r(()=>t[49]||(t[49]=[c(" 处理数据 ")])),_:1},8,["loading","disabled","onClick"]),n(L,{color:"info",disabled:!i.hasExportData,onClick:i.showExportPreview,class:"ml-2","prepend-icon":"mdi-eye",border:""},{default:r(()=>t[50]||(t[50]=[c(" 刷新 ")])),_:1},8,["disabled","onClick"]),n(L,{color:"success",variant:"outlined",disabled:!i.hasExportData,onClick:i.downloadCSV,class:"ml-2","prepend-icon":"mdi-download",border:""},{default:r(()=>t[51]||(t[51]=[c(" 下载CSV ")])),_:1},8,["disabled","onClick"])]),_:1})]),_:1})]),_:1})]),_:1})]),_:1})}const Fs=It(bs,[["render",Es],["__scopeId","data-v-2aeb4274"]]);export{Fs as default};