index.DDIv6WXB.js 5.2 KB

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