智慧教务系统 PHP-NiuCloud框架开发
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

1 lines
8.4 KiB

import{d as te,v as se,r as _,l as B,M as O,k as o,ag as oe,h as d,c as f,a as V,t as L,u as c,e as l,w as t,F as b,O as g,m as h,i as y,B as re,_ as de,ac as ie,G as ue,bT as ne,aa as ce,ab as me,H as pe,K as _e,E as fe,bU as ve,bj as be,D as ge,V as he}from"./index-7e4fdde7.js";/* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css *//* empty css */import"./el-form-item-4ed993c7.js";/* empty css *//* empty css *//* empty css */import{u as ye}from"./dict-bea2b24b.js";import{c as Ve,g as ke,b as we,e as Ie,a as Ce}from"./timetables-0e5a007d.js";import{a as Le,h as De,e as Se,f as Ee}from"./schedules-50b8228a.js";import{a as Pe}from"./orders-cdeae999.js";const Ue={class:"main-container"},xe={class:"detail-head"},Fe=V("span",{class:"iconfont iconxiangzuojiantou !text-xs"},null,-1),qe={class:"ml-[1px]"},$e=V("span",{class:"adorn"},"|",-1),Te={class:"right"},Ne={class:"fixed-footer-wrap"},je={class:"fixed-footer"},fa=te({__name:"timetables_edit",setup(Be){const x=se(),S=parseInt(x.query.id),I=_(!1),R=x.meta.title,k=_(!1),r=B({...{id:"",staff_id:"",class_id:"",courses_id:"",schedules:[{students_ids:[],time_slot:[],task:""}]}}),H=()=>{r.schedules.push({date_time:"",time_slot:"",task:""})},W=m=>{r.schedules.splice(m,1)},F=_([]);(async()=>{F.value=await(await Le({})).data})();const G=async m=>{const a=m.target.textContent.trim();if(!a||isNaN(a))return;const s=new Date,p=`${s.getFullYear()}-${String(s.getMonth()+1).padStart(2,"0")}-${String(a).padStart(2,"0")}`,i=await(await De({date_time:p,class_id:n.class_id,courses_id:n.courses_id})).data;Object.assign(r,E),Object.keys(r).forEach(C=>{i[C]!=null&&(r[C]=i[C])}),r.class_id=n.class_id,r.courses_id=n.courses_id,r.date_time=p,k.value=!0},M=O(()=>({staff_id:[{required:!0,message:o("staffIdPlaceholder"),trigger:"blur"}],class_id:[{required:!0,message:o("classIdPlaceholder"),trigger:"blur"}],date_time:[{required:!0,message:o("dateTimePlaceholder"),trigger:"blur"}],time_slot:[{required:!0,message:o("timeSlotPlaceholder"),trigger:"blur"}],task:[{required:!0,message:o("taskPlaceholder"),trigger:"blur"}]})),z=async m=>{I.value||!m||await m.validate(async a=>{if(a){let s=r;(r.id?Se:Ee)(s).then(i=>{k.value=!1}).catch(i=>{k.value=!1})}})},E={id:0,class_id:"",courses_id:"",cycle:""},n=B({...E});S&&(async(m=0)=>{Object.assign(n,E);const a=await(await Ve(m)).data;Object.keys(n).forEach(s=>{a[s]!=null&&(n[s]=a[s])})})(S);const q=_(),$=_();_([]);let D=_([]);(async()=>{D.value=await(await ye("cycle")).data.dictionary})(),oe(()=>D.value,()=>{n.cycle=D.value[0].value});const P=_([]);(async()=>{P.value=await(await ke({})).data})();const U=_([]);(async()=>{U.value=await(await we({})).data})();const T=_([]);(async()=>{T.value=await(await Pe({})).data})();const K=O(()=>({class_id:[{required:!0,message:o("classIdPlaceholder"),trigger:"blur"}],courses_id:[{required:!0,message:o("coursesIdPlaceholder"),trigger:"blur"}],cycle:[{required:!0,message:o("cyclePlaceholder"),trigger:"blur"}]})),Y=async m=>{I.value||!m||await m.validate(async a=>{a&&(I.value=!0,(S?Ie:Ce)(n).then(i=>{I.value=!1,history.back()}).catch(i=>{I.value=!1}))})},N=()=>{history.back()};return(m,a)=>{const s=de,p=ie,i=ue,C=ne,A=ce,J=me,j=pe,Q=_e,w=fe,X=ve,Z=be,ee=ge,ae=he;return d(),f("div",Ue,[V("div",xe,[V("div",{class:"left",onClick:a[0]||(a[0]=e=>N())},[Fe,V("span",qe,L(c(o)("returnToPreviousPage")),1)]),$e,V("span",Te,L(c(R)),1)]),l(Q,{class:"box-card !border-none",shadow:"never"},{default:t(()=>[l(j,{model:n,"label-width":"90px",ref_key:"formRef",ref:q,rules:c(K),class:"page-form"},{default:t(()=>[l(i,{label:c(o)("classId"),prop:"class_id"},{default:t(()=>[l(p,{class:"input-width",modelValue:n.class_id,"onUpdate:modelValue":a[1]||(a[1]=e=>n.class_id=e),clearable:"",placeholder:c(o)("classIdPlaceholder")},{default:t(()=>[l(s,{label:"请选择",value:""}),(d(!0),f(b,null,g(P.value,(e,u)=>(d(),h(s,{key:u,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),l(i,{label:c(o)("coursesId"),prop:"courses_id"},{default:t(()=>[l(p,{class:"input-width",modelValue:n.courses_id,"onUpdate:modelValue":a[2]||(a[2]=e=>n.courses_id=e),clearable:"",placeholder:c(o)("coursesIdPlaceholder")},{default:t(()=>[l(s,{label:"请选择",value:""}),(d(!0),f(b,null,g(U.value,(e,u)=>(d(),h(s,{key:u,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),l(i,{label:"排班"},{default:t(()=>[l(C,{onClick:G})]),_:1}),l(i,{label:c(o)("cycle"),prop:"cycle"},{default:t(()=>[l(J,{modelValue:n.cycle,"onUpdate:modelValue":a[3]||(a[3]=e=>n.cycle=e),placeholder:c(o)("cyclePlaceholder")},{default:t(()=>[(d(!0),f(b,null,g(c(D),(e,u)=>(d(),h(A,{key:u,label:e.value},{default:t(()=>[y(L(e.name),1)]),_:2},1032,["label"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1},8,["model","rules"])]),_:1}),V("div",Ne,[V("div",je,[l(w,{type:"primary",onClick:a[4]||(a[4]=e=>Y(q.value))},{default:t(()=>[y(L(c(o)("save")),1)]),_:1}),l(w,{onClick:a[5]||(a[5]=e=>N())},{default:t(()=>[y(L(c(o)("cancel")),1)]),_:1})])]),l(ae,{modelValue:k.value,"onUpdate:modelValue":a[11]||(a[11]=e=>k.value=e),title:"排班"},{footer:t(()=>[l(w,{onClick:a[9]||(a[9]=e=>k.value=!1)},{default:t(()=>[y("取消")]),_:1}),l(w,{type:"primary",onClick:a[10]||(a[10]=e=>z($.value))},{default:t(()=>[y("提交")]),_:1})]),default:t(()=>[l(j,{ref_key:"form_ref",ref:$,model:r,"label-width":"80px",rules:c(M)},{default:t(()=>[l(i,{label:"选择教练",prop:"staff_id"},{default:t(()=>[l(p,{class:"input-width",modelValue:r.staff_id,"onUpdate:modelValue":a[6]||(a[6]=e=>r.staff_id=e),clearable:"",placeholder:"选择教练"},{default:t(()=>[l(s,{label:"请选择",value:""}),(d(!0),f(b,null,g(F.value,(e,u)=>(d(),h(s,{key:u,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1}),l(i,{label:c(o)("classId"),prop:"class_id"},{default:t(()=>[l(p,{class:"input-width",modelValue:r.class_id,"onUpdate:modelValue":a[7]||(a[7]=e=>r.class_id=e),clearable:"",placeholder:"选择班级",disabled:""},{default:t(()=>[l(s,{label:"请选择",value:""}),(d(!0),f(b,null,g(P.value,(e,u)=>(d(),h(s,{key:u,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1},8,["label"]),l(i,{label:c(o)("coursesId"),prop:"courses_id"},{default:t(()=>[l(p,{class:"input-width",modelValue:r.courses_id,"onUpdate:modelValue":a[8]||(a[8]=e=>r.courses_id=e),clearable:"",placeholder:c(o)("coursesIdPlaceholder"),disabled:""},{default:t(()=>[l(s,{label:"请选择",value:""}),(d(!0),f(b,null,g(U.value,(e,u)=>(d(),h(s,{key:u,label:e.name,value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue","placeholder"])]),_:1},8,["label"]),l(X,null,{default:t(()=>[y("排班详情")]),_:1}),(d(!0),f(b,null,g(r.schedules,(e,u)=>(d(),f("div",{key:u,class:"schedule-item"},[l(i,{label:"学员",prop:"schedules."+u+".students_ids"},{default:t(()=>[l(p,{modelValue:e.students_ids,"onUpdate:modelValue":v=>e.students_ids=v,multiple:"","collapse-tags":"",placeholder:"选择学员",class:"input-width"},{default:t(()=>[(d(!0),f(b,null,g(T.value,(v,le)=>(d(),h(s,{label:v.name,value:String(v.id),key:le},null,8,["label","value"]))),128))]),_:2},1032,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),l(i,{label:"时间段",prop:"schedules."+u+".time_slot"},{default:t(()=>[l(Z,{modelValue:e.time_slot,"onUpdate:modelValue":v=>e.time_slot=v,"is-range":"","range-separator":"至","start-placeholder":"开始时间","end-placeholder":"结束时间",format:"HH:mm","value-format":"HH:mm"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),l(i,{label:"备注",prop:"schedules."+u+".task"},{default:t(()=>[l(ee,{modelValue:e.task,"onUpdate:modelValue":v=>e.task=v,type:"textarea",rows:"2",clearable:"",placeholder:"备注",class:"input-width"},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"]),r.schedules.length>1?(d(),h(w,{key:0,type:"danger",onClick:v=>W(u)},{default:t(()=>[y(" 删除 ")]),_:2},1032,["onClick"])):re("",!0)]))),128)),l(w,{type:"primary",plain:"",onClick:H},{default:t(()=>[y("新增排班")]),_:1})]),_:1},8,["model","rules"])]),_:1},8,["modelValue"])])}}});export{fa as default};