import{a as J,i as V,r as i,f as se,q as ie,aj as D,c as E,o as w,b as _,S as f,u as z,Q as W,K as C,P as L,R as G,a9 as Q,J as re,F as le,Y as q}from"./vue.D1BjjNmv.js";import{g as N,c as P,k as de,D as h,O as ce,P as pe,Q as fe,E as A}from"./index.DxJKo3PQ.js";import{D as ue,a as H,g as me}from"./api.zysNM6L2.js";import{createCrudOptions as _e}from"./crud.N0z1xCeH.js";import{h as he}from"./columnPermission.CXxtPz_m.js";import{_ as ke}from"./index.vue_vue_type_script_setup_true_lang.mIl78ysB.js";import{_ as ye}from"./_plugin-vue_export-helper.DlAUqK2U.js";var K={exports:{}};(function(u,$){(function(n,o){u.exports=o()})(P,function(){return function(n,o){o.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}})})(K);var ve=K.exports;const xe=N(ve);var U={exports:{}};(function(u,$){(function(n,o){u.exports=o()})(P,function(){var n="day";return function(o,O,d){var Y=function(t){return t.add(4-t.isoWeekday(),n)},c=O.prototype;c.isoWeekYear=function(){return Y(this).year()},c.isoWeek=function(t){if(!this.$utils().u(t))return this.add(7*(t-this.isoWeek()),n);var a,p,r,y,v=Y(this),I=(a=this.isoWeekYear(),p=this.$u,r=(p?d.utc:d)().year(a).startOf("year"),y=4-r.isoWeekday(),r.isoWeekday()>4&&(y+=7),r.add(y,n));return v.diff(I,"week")+1},c.isoWeekday=function(t){return this.$utils().u(t)?this.day()||7:this.day(this.day()%7?t:t-7)};var k=c.startOf;c.startOf=function(t,a){var p=this.$utils(),r=!!p.u(a)||a;return p.p(t)==="isoweek"?r?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):k.bind(this)(t,a)}}})})(U);var be=U.exports;const ge=N(be);var X={exports:{}};(function(u,$){(function(n,o){u.exports=o()})(P,function(){return function(n,o){o.prototype.isoWeeksInYear=function(){var O=this.isLeapYear(),d=this.endOf("y").day();return d===4||O&&d===5?53:52}}})})(X);var we=X.exports;const We=N(we),Ce={class:"schedule-wrapper"},$e={class:"header"},Oe={class:"header-bar"},Ye={class:"week-display"},Se=["onClick"],De=J({name:"timetablemanage"}),Ee=J({...De,setup(u){const $=V("isEmbedded",!1),n=V("onCourseSelected"),{crudBinding:o,crudRef:O,crudExpose:d,crudOptions:Y,resetCrudOptions:c}=de({createCrudOptions:_e});h.extend(ce),h.extend(ge),h.extend(xe),h.extend(We);const k=i(h().isoWeek()),t=i(h().isoWeeksInYear()),a=i(0),p=["#e3f2fd","#e8f5e9","#fff3e0","#fce4ec","#ede7f6","#f3e5f5","#fbe9e7"],r=i([]),y=se(()=>k.value+a.value),v=i();function I(e){v.value.open(e)}i([]),i(!1);async function Z(e){try{await ue(e),A.success("删除成功"),await x()}catch{A.error("删除失败,请稍后重试")}}function ee(e){return{1:"09:00:00",2:"14:00:00",3:"19:00:00"}[e]??"09:00:00"}function te(e){const s=(e==null?void 0:e.id)||"",b=(e==null?void 0:e.classdetail)||"",S=(e==null?void 0:e.teacher_name)||"",M=(e==null?void 0:e.classroom)||"",R=(e==null?void 0:e.time_label)||"",m=(e==null?void 0:e.class_date)||"",g=ee(e==null?void 0:e.time),j=`${m} ${g}`,l=`${b} - ${S} - ${M} - ${R}`;if($&&typeof n=="function"&&n)try{n({course_id:s,course_Name:l,expected_start_time:j})}catch(B){console.warn("onCourseSelected failed:",B)}else v.value.open(e)}function ae(){k.value+a.value{const e=await he(H,Y);c(e),d.doRefresh(),await x()}),(e,s)=>{const b=D("el-button"),S=D("el-table-column"),M=D("el-link"),R=D("el-table");return w(),E("div",null,[_("div",Ce,[_("div",$e,[_("div",Oe,[f(b,{type:"primary",icon:z(pe),onClick:ne,circle:""},null,8,["icon"]),_("span",Ye,W(y.value)+" 周",1),f(b,{type:"primary",icon:z(fe),onClick:ae,circle:"",disabled:k.value+a.value>=t.value},null,8,["icon","disabled"])]),_("div",null,[f(b,{type:"success",onClick:s[0]||(s[0]=m=>I())},{default:C(()=>s[1]||(s[1]=[L("添加课程")])),_:1})])]),f(R,{data:F.value,style:{width:"100%","background-color":"white"},"header-cell-style":oe},{default:C(()=>[f(S,{label:"时间段",width:"100"},{default:C(m=>[L(W(m.row.timeLabel),1)]),_:1}),(w(!0),E(G,null,Q(T.value,(m,g)=>(w(),re(S,{key:g,label:m,"min-width":"160"},{default:C(j=>[_("div",{style:le({backgroundColor:p[g],padding:"6px",borderRadius:"4px",whiteSpace:"pre-line",minHeight:"40px"})},[(w(!0),E(G,null,Q(j.row[`day${g+1}`],l=>(w(),E("div",{key:l.id,style:{"margin-bottom":"6px",cursor:"pointer",border:"1px solid #ccc","border-radius":"6px",padding:"3px","background-color":"transparent","box-shadow":"0 1px 2px rgba(0,0,0,0.05)"},onClick:q(B=>te(l),["stop"])},[L(W(l.classdetail)+" 老师:("+W(l.teacher_name)+") 教室:"+W(l.classroom)+" ",1),f(M,{type:"danger",style:{"font-size":"12px",top:"0",right:"0"},onClick:q(B=>Z(l.id),["stop"])},{default:C(()=>s[2]||(s[2]=[L(" 删除 ")])),_:2},1032,["onClick"])],8,Se))),128))],4)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])]),f(ke,{ref_key:"dialogRef",ref:v,onSaved:x},null,512)])}}}),Pe=ye(Ee,[["__scopeId","data-v-0fae40de"]]);export{Pe as default};