index.N7xjeg8G.js 4.6 KB

1
  1. import{a as q,i as V,r,f as Z,q as ee,aj as L,c as R,o as g,b as v,S as f,K as y,P as I,Q as C,R as G,a9 as H,J as te,F as ae,Y as oe,H as se,u as ne}from"./vue.YrNK8sx4.js";import{g as j,c as N,k as re,D as p,w as ie}from"./index.vzye5GYA.js";import{a as T,g as le}from"./api.BY4Nakda.js";import{createCrudOptions as de}from"./crud.CcI6Ct9F.js";import{h as ce}from"./columnPermission.DxuzN4Lr.js";import{_ as ue}from"./index.vue_vue_type_script_setup_true_lang.BR9iwHMP.js";import{_ as fe}from"./_plugin-vue_export-helper.DlAUqK2U.js";var z={exports:{}};(function(m,Y){(function(n,o){m.exports=o()})(N,function(){return function(n,o){o.prototype.isLeapYear=function(){return this.$y%4==0&&this.$y%100!=0||this.$y%400==0}}})})(z);var pe=z.exports;const me=j(pe);var A={exports:{}};(function(m,Y){(function(n,o){m.exports=o()})(N,function(){var n="day";return function(o,x,l){var $=function(e){return e.add(4-e.isoWeekday(),n)},d=x.prototype;d.isoWeekYear=function(){return $(this).year()},d.isoWeek=function(e){if(!this.$utils().u(e))return this.add(7*(e-this.isoWeek()),n);var a,c,i,w,_=$(this),M=(a=this.isoWeekYear(),c=this.$u,i=(c?l.utc:l)().year(a).startOf("year"),w=4-i.isoWeekday(),i.isoWeekday()>4&&(w+=7),i.add(w,n));return _.diff(M,"week")+1},d.isoWeekday=function(e){return this.$utils().u(e)?this.day()||7:this.day(this.day()%7?e:e-7)};var b=d.startOf;d.startOf=function(e,a){var c=this.$utils(),i=!!c.u(a)||a;return c.p(e)==="isoweek"?i?this.date(this.date()-(this.isoWeekday()-1)).startOf("day"):this.date(this.date()-1-(this.isoWeekday()-1)+7).endOf("day"):b.bind(this)(e,a)}}})})(A);var _e=A.exports;const ke=j(_e);var J={exports:{}};(function(m,Y){(function(n,o){m.exports=o()})(N,function(){return function(n,o){o.prototype.isoWeeksInYear=function(){var x=this.isLeapYear(),l=this.endOf("y").day();return l===4||x&&l===5?53:52}}})})(J);var he=J.exports;const ve=j(he),ye={class:"schedule-wrapper"},xe={class:"header"},be={class:"header-bar"},we={class:"week-display"},We=["onClick"],ge=q({name:"timetablemanage"}),Ce=q({...ge,setup(m){const Y=V("isEmbedded",!1),n=V("onCourseSelected",()=>{}),{crudBinding:o,crudRef:x,crudExpose:l,crudOptions:$,resetCrudOptions:d}=re({createCrudOptions:de});p.extend(ie),p.extend(ke),p.extend(me),p.extend(ve);const b=r(p().isoWeek()),e=r(p().isoWeeksInYear()),a=r(0),c=["#e3f2fd","#e8f5e9","#fff3e0","#fce4ec","#ede7f6","#f3e5f5","#fbe9e7"],i=r([]),w=Z(()=>b.value+a.value),_=r();function M(t){_.value.open(t)}r([]),r(!1);function K(t,s,W){const O=(t==null?void 0:t.classdetail)||"",D=B.value[W].match(/\d{4}-\d{2}-\d{2}/),k=D?D[0]:p().format("YYYY-MM-DD"),h=(s==null?void 0:s.split("-")[0])||"09:00",E=`${k} ${h}:00`;if(Y&&typeof n=="function")try{n({course_name:O,expected_start_time:E}),_.value.open(t)}catch(u){console.warn("onCourseSelected failed:",u)}else _.value.open(t)}function Q(){b.value+a.value<e.value&&(a.value++,S())}function U(){a.value--,S()}const X={backgroundColor:"#f5f5f5",fontWeight:"bold",color:"#333",textAlign:"center"},P=r([]),B=r([]);async function S(){const t=await T(a.value);i.value=t.data.time_labels,B.value=t.data.week_labels_with_date,P.value=await le(t)}return ee(async()=>{const t=await ce(T,$);d(t),l.doRefresh(),await S()}),(t,s)=>{const W=L("el-button"),O=L("el-table-column"),F=L("el-table"),D=L("fs-crud");return g(),R("div",null,[v("div",ye,[v("div",xe,[v("div",be,[f(W,{type:"primary",icon:"el-icon-arrow-left",onClick:U,circle:""},{default:y(()=>s[1]||(s[1]=[I("<")])),_:1}),v("span",we,C(w.value)+" 周",1),f(W,{type:"primary",icon:"el-icon-arrow-right",onClick:Q,circle:"",disabled:b.value+a.value>=e.value},{default:y(()=>s[2]||(s[2]=[I(">")])),_:1},8,["disabled"])]),v("div",null,[f(W,{type:"success",icon:"el-icon-plus",onClick:s[0]||(s[0]=k=>M())},{default:y(()=>s[3]||(s[3]=[I("添加课程")])),_:1})])]),f(F,{data:P.value,style:{width:"100%","background-color":"white"},"header-cell-style":X},{default:y(()=>[f(O,{label:"时间段",width:"100"},{default:y(k=>[I(C(k.row.timeLabel),1)]),_:1}),(g(!0),R(G,null,H(B.value,(k,h)=>(g(),te(O,{key:h,label:k,"min-width":"160"},{default:y(E=>[v("div",{style:ae({backgroundColor:c[h],padding:"6px",borderRadius:"4px",whiteSpace:"pre-line",minHeight:"40px"})},[(g(!0),R(G,null,H(E.row[`day${h+1}`],u=>(g(),R("div",{key:u.id,style:{"margin-bottom":"4px",cursor:"pointer"},onClick:oe(Ye=>K(u,E.row.timeLabel,h),["stop"])},C(u.classdetail)+" 老师:("+C(u.teacher_name)+") 班级:"+C(u.classroom),9,We))),128))],4)]),_:2},1032,["label"]))),128))]),_:1},8,["data"])]),f(D,se({ref_key:"crudRef",ref:x},ne(o)),null,16),f(ue,{ref_key:"dialogRef",ref:_,onSaved:S},null,512)])}}}),Ie=fe(Ce,[["__scopeId","data-v-2835f292"]]);export{Ie as default};