CourseApply.b83a5aef.js 15 KB

1
  1. (window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["CourseApply"],{"1e5c":function(t,e,s){"use strict";var a=s("bfa0"),i=s.n(a);i.a},"6e6e":function(t,e,s){"use strict";var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"mheader"},[s("header",{staticClass:"m-nav-header",class:[t.isFixed?"fixed":""]},[s("div",{directives:[{name:"show",rawName:"v-show",value:t.isBack,expression:"isBack"}],staticClass:"m-nav-bar__left",on:{click:t.goBack}},[s("van-icon",{staticClass:"arrow-left",attrs:{name:"arrow-left"}})],1),s("div",{staticClass:"m-nav-bar__title"},[t._t("default",[t._v(t._s(t.name?t.name:this.$route.meta.descrition))])],2),s("div",{staticClass:"m-nav-bar__right"},[t._t("right")],2)])])},i=[],n={name:"mheader",props:{name:String,isBack:{type:Boolean,default:!0},isFixed:{type:Boolean,default:!0},backUrl:{type:Object,default:function(){return{callBack:null,path:"",params:{}}}}},methods:{goBack:function(){var t=this.backUrl;"function"==typeof t.callBack?t.callBack():t.path?this.$router.push({path:t.path,query:t.params}):history.go(-1)}}},o=n,r=(s("d133"),s("2877")),u=Object(r["a"])(o,a,i,!1,null,"0e835508",null);e["a"]=u.exports},a9c0:function(t,e,s){"use strict";s.r(e);for(var a=function(){var t=this,e=t.$createElement,s=t._self._c||e;return s("div",{staticClass:"courseApply"},[t.statusList.headerStatus?s("m-header"):t._e(),s("van-cell-group",[s("van-field",{attrs:{label:"课程班名称","input-align":"right",size:"large",placeholder:"请输入班级名称"},model:{value:t.form.name,callback:function(e){t.$set(t.form,"name",e)},expression:"form.name"}}),s("van-field",{attrs:{label:"科目名称",readonly:!0,"input-align":"right","is-link":"",size:"large",placeholder:"请选择"},on:{click:function(e){return t.onGetSheetList("subjectList")}},model:{value:t.formName.subjectListName,callback:function(e){t.$set(t.formName,"subjectListName",e)},expression:"formName.subjectListName"}})],1),s("van-cell-group",[s("van-field",{attrs:{label:"每班人数",readonly:!0,"input-align":"right",size:"large","is-link":"",placeholder:"每班预计招收人数"},on:{click:function(e){t.statusList.studentNumStatus=!0}},model:{value:t.form.studentNum,callback:function(e){t.$set(t.form,"studentNum",e)},expression:"form.studentNum"}}),s("van-field",{attrs:{label:"每课时长",readonly:!0,"input-align":"right","is-link":"",size:"large",placeholder:"请输入每课时长"},on:{click:t.onClickSingleClass},model:{value:t.form.singleClassMinutes,callback:function(e){t.$set(t.form,"singleClassMinutes",e)},expression:"form.singleClassMinutes"}})],1),s("van-cell-group",[s("van-field",{attrs:{label:"排课数量","input-align":"right",size:"large",placeholder:"请输入排课数量",type:"digit"},on:{input:t.onCourseChange},model:{value:t.form.courseCount,callback:function(e){t.$set(t.form,"courseCount",e)},expression:"form.courseCount"}}),s("van-field",{attrs:{label:"排课开始时间",readonly:!0,"input-align":"right","is-link":"",size:"large",placeholder:"请选择"},on:{click:function(e){t.dataForm.status=!0}},model:{value:t.formName.courseStart,callback:function(e){t.$set(t.formName,"courseStart",e)},expression:"formName.courseStart"}}),t._l(t.scheduleList,function(e,a){return s("van-cell",{key:a,attrs:{"title-class":"title-time"}},[s("template",{slot:"title"},[s("span",{staticClass:"week"},[t._v(t._s(e.weekStr))]),s("span",{staticClass:"timer"},[t._v(t._s(e.startTime+"-"+e.endTime))])]),s("template",{slot:"default"},[s("van-button",{attrs:{type:"warning",round:"",size:"small",plain:""},on:{click:function(s){return t.onScheduleRemove(e)}}},[t._v("删除")])],1)],2)}),s("div",{staticClass:"add-plan van-cell",on:{click:t.onCourseShedule}},[s("p",[s("van-icon",{attrs:{name:"add-o"}}),t._v("请设置循环周期/每周")],1)]),t.scheduleList.length>0?s("van-field",{attrs:{label:"排课列表",disabled:"","input-align":"right","is-link":"",size:"large"},on:{click:t.onShowTimeTable}}):t._e()],2),s("van-cell-group",[s("van-field",{attrs:{label:"预计消耗课时",disabled:"","input-align":"right",size:"large",placeholder:"预计消耗课时"},model:{value:t.consumePeriodText,callback:function(e){t.consumePeriodText=e},expression:"consumePeriodText"}}),s("van-field",{attrs:{label:"剩余可用课时","input-align":"right",disabled:"",size:"large",placeholder:"剩余可用课时"},model:{value:t.usePeriodText,callback:function(e){t.usePeriodText=e},expression:"usePeriodText"}})],1),s("div",{staticClass:"button-group"},[s("van-button",{attrs:{type:"primary",round:"",size:"large"},on:{click:t.onSubmit}},[t._v("确认")])],1),s("van-action-sheet",{attrs:{round:!1,actions:t.loadData.studentNumList,"cancel-text":"取消"},on:{cancel:function(e){t.statusList.studentNumStatus=!1},select:t.onStudentSelect},model:{value:t.statusList.studentNumStatus,callback:function(e){t.$set(t.statusList,"studentNumStatus",e)},expression:"statusList.studentNumStatus"}}),s("van-popup",{attrs:{position:"bottom"},model:{value:t.statusList.classTimerStatus,callback:function(e){t.$set(t.statusList,"classTimerStatus",e)},expression:"statusList.classTimerStatus"}},[s("van-picker",{attrs:{columns:t.loadData.classTimer,"show-toolbar":""},on:{cancel:function(e){t.statusList.classTimerStatus=!1},confirm:t.onClassTimerSelect}})],1),s("van-popup",{attrs:{position:"bottom"},model:{value:t.sheetForm.sheetStatus,callback:function(e){t.$set(t.sheetForm,"sheetStatus",e)},expression:"sheetForm.sheetStatus"}},[s("van-picker",{attrs:{loading:t.sheetForm.loading,"default-index":t.sheetForm.index,columns:t.sheetForm.columns,"show-toolbar":""},on:{cancel:function(e){t.sheetForm.sheetStatus=!1},confirm:t.onSheetConfirm}})],1),s("van-popup",{attrs:{position:"bottom"},model:{value:t.dataForm.status,callback:function(e){t.$set(t.dataForm,"status",e)},expression:"dataForm.status"}},[s("van-datetime-picker",{attrs:{type:"date","min-date":t.dataForm.minDate,"max-date":t.dataForm.maxDate,formatter:t.formatter},on:{cancel:function(e){t.dataForm.status=!1},confirm:t.onCurrentConfirm},model:{value:t.dataForm.currentDate,callback:function(e){t.$set(t.dataForm,"currentDate",e)},expression:"dataForm.currentDate"}})],1),s("van-popup",{attrs:{position:"bottom"},model:{value:t.courseForm.teachingStatus,callback:function(e){t.$set(t.courseForm,"teachingStatus",e)},expression:"courseForm.teachingStatus"}},[s("van-picker",{attrs:{columns:t.courseForm.columns,"show-toolbar":""},on:{cancel:function(e){t.courseForm.teachingStatus=!1},confirm:t.onTeachinConfirm}})],1),s("van-popup",{attrs:{position:"bottom"},model:{value:t.statusList.classTime,callback:function(e){t.$set(t.statusList,"classTime",e)},expression:"statusList.classTime"}},[s("van-row",[s("van-col",{attrs:{span:"24"}},[t._v("上课时间")])],1),s("div",{staticClass:"tableContainer"},t._l(t.timeTable,function(e,a){return s("van-row",{key:a},[s("van-col",{attrs:{span:"24"}},[t._v("\n "+t._s(e.classDate)+" "+t._s(e.startClassTimeStr)+" "+t._s(t.getWeekStr(new Date(e.classDate).getDay()))+"\n ")])],1)}),1)],1)],1)},i=[],n=s("6e6e"),o=s("ff51"),r=s("9afb"),u=s("b562"),l=[],c=0;c<60;c++){var m=c<10?"0"+c:c;l.push(m+"分")}var d={name:"courseApply",components:{MHeader:n["a"]},data:function(){var t=localStorage.getItem("courseApply");return t=t?JSON.parse(t):null,localStorage.removeItem("courseApply"),{dataForm:{status:!1,minDate:new Date,maxDate:new Date(2025,10,1),currentDate:new Date},statusList:{classTime:!1,headerStatus:!0,studentNumStatus:!1,classTimerStatus:!1,agreeStatus:!1},loadData:{subjectList:[],subjectListSelect:[],classTimer:[{values:[15,30,45,60,75,90,105,120],className:"classTimer"}],studentNumList:[{name:1,subname:"(人)"}]},sheetForm:{currentType:null,sheetStatus:!1,loading:!0,index:0,columns:[]},courseForm:{teachingStatus:!1,columns:[{values:["周一","周二","周三","周四","周五","周六","周日"],className:"week"},{values:[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23],className:"hours",defaultIndex:7},{values:l,className:"minutes"}]},form:t?t.form:{name:null,subjectIdList:null,studentNum:null,singleClassMinutes:null,courseCount:null,courseStart:null},formName:t?t.formName:{subjectListName:null,subjectListIndex:0,courseStart:null},scheduleList:t?t.scheduleList:[],timeTable:[],onSubmitStatus:!0,consumePeriod:t?t.consumePeriod:0,consumePeriodText:t?t.consumePeriodText:"0分钟",usePeriod:0,usePeriodText:"0分钟"}},mounted:function(){var t=this,e=this.$route.query;e.Authorization&&(localStorage.setItem("Authorization",decodeURI(e.Authorization)),localStorage.setItem("userInfo",decodeURI(e.Authorization))),document.title="课程创建",(Object(o["b"])().android||Object(o["b"])().iPhone)&&(this.statusList.headerStatus=!1),Object(u["o"])().then(function(e){var s=e.data;if(200==s.code){var a=s.data;a&&(t.usePeriod=a.availableMinutes?a.availableMinutes:0,t.usePeriodText=Object(o["c"])(t.usePeriod))}else t.$toast(s.msg)})},methods:{onGetSheetList:function(t){var e=this.sheetForm;e.sheetStatus=!0,e.loading=!0,e.currentType=t,e.index=0;var s=this.loadData[t];s.length>0?(e.columns=s,e.index=this.formName[t+"Index"],e.loading=!1):this.onLoadingData(t)},onLoadingData:function(){var t=this,e=this.sheetForm;"subjectList"==e.currentType&&Object(r["P"])().then(function(s){var a=s.data;if(200==a.code&&a.data.length>0){var i=[];a.data.forEach(function(t){t.value=t.id,t.text=t.name,i.push(t)}),t.loadData.subjectList=i,e.columns=i,e.loading=!1}else t.$toast("暂无科目列表"),e.loading=!1})},onSheetConfirm:function(t,e){var s=this.sheetForm,a=this.form,i=this.formName,n=this.loadData;t&&("subjectList"==s.currentType&&(a.subjectIdList=t.value,i.subjectListName=t.text,i.subjectListIndex=e,n.subjectListSelect=t),s.sheetStatus=!1)},onClickSingleClass:function(){this.statusList.classTimerStatus=!0},onCourseChange:function(){this.calcTimer(),this.scheduleList=[],this.timeTable=[],this.setTimeTable()},onClassTimerSelect:function(t){this.form.singleClassMinutes!=t[0]&&(this.form.singleClassMinutes=t[0],this.statusList.classTimerStatus=!1,this.calcTimer(),this.scheduleList=[],this.timeTable=[])},onStudentSelect:function(t){this.form.studentNum=t.name,this.statusList.studentNumStatus=!1},onCurrentConfirm:function(t){var e=new Date(t),s=e.getMonth()+1>=10?e.getMonth()+1:"0"+(e.getMonth()+1),a=e.getDate()>=10?e.getDate():"0"+e.getDate();this.form.courseStart=e.getFullYear()+"-"+s+"-"+a,this.formName.courseStart=e.getFullYear()+"-"+s+"-"+a+" "+this.getWeekStr(e.getDay()),this.dataForm.status=!1},onCourseShedule:function(){this.form.singleClassMinutes?this.form.courseCount?this.form.courseStart?this.scheduleList.length>=this.form.courseCount?this.$toast("循环周期次数不能大于排课数量"):this.courseForm.teachingStatus=!0:this.$toast("请选择排课开始时间"):this.$toast("请选择排课数"):this.$toast("请选择每课时长")},onScheduleRemove:function(t){var e=this.scheduleList.indexOf(t);-1!==e&&this.scheduleList.splice(e,1)},onTeachinConfirm:function(t){var e=this,s=this.scheduleList,a=(t[1]>=10?t[1]:"0"+t[1])+":"+t[2].split("分")[0],i=this.MinutesTest(t[1],t[2],this.form.singleClassMinutes),n=!0;s.forEach(function(s){var o=e.timeIsrange(a,i,s.startTime),r=e.timeIsrange(a,i,s.endTime);n&&(t[0]==s.weekStr?n=!o&&!r:t[0]!=s.weekStr&&(n=!0))}),n?(s.push({weekStr:t[0],weekIndex:this.getWeek(t[0]),startTime:a,endTime:i,id:Date.now()}),this.courseForm.teachingStatus=!1):this.$toast("该时间段已排课请重选时间")},calcTimer:function(){var t=this.form;if(t.singleClassMinutes&&t.courseCount){var e=t.singleClassMinutes*t.courseCount;this.consumePeriod=e,this.consumePeriodText=Object(o["c"])(e)}},onShowTimeTable:function(){this.statusList.classTime=!0,this.setTimeTable()},setTimeTable:function(){this.timeTable=[];var t=this.form,e=this.scheduleList;if(!(e.length<=0)){var s=this.form.courseCount,a=t.courseStart.replace(/-/gi,"/"),i=new Date(a),n=0;while(s&&s>0){for(var o=0;o<e.length;o++){var r=e[o].weekIndex-i.getDay();n>0&&0==r&&0==o&&(r+=7),r<0&&(r+=7);var u=this.getThinkDate(i,r),l=(new Date).getTime(),c=new Date(u.replace(/-/gi,"/")+" "+e[o].startTime+":00").getTime();if(l<c){var m={classDate:u,startClassTimeStr:e[o].startTime,endClassTimeStr:e[o].endTime};this.timeTable.push(m),s--}if(s<=0)return}1==e.length?i.setDate(i.getDate()+7):e.every(function(t){return t.weekStr===e[0].weekStr})&&n++}}},getThinkDate:function(t,e){var s=t;s.setDate(t.getDate()+e);var a=s.getFullYear(),i=s.getMonth()+1,n="";n=i<10?"0"+i:i+"";var o=s.getDate(),r="";return r=o<10?"0"+o:o+"",a+"-"+n+"-"+r},MinutesTest:function(t,e,s){var a=e.split("分")[0],i=new Date(1900,1,1,t,a);i.setMinutes(i.getMinutes()+parseInt(s));var n=i.getHours(),o=i.getMinutes();return n<10&&(n="0"+n),o<10&&(o="0"+o),n+":"+o},timeIsrange:function(t,e,s){var a=t.split(":");if(2!=a.length)return!1;var i=e.split(":");if(2!=i.length)return!1;var n=s.split(":");if(2!=i.length)return!1;var o=new Date,r=new Date,u=new Date;return o.setHours(a[0]),o.setMinutes(a[1]),r.setHours(i[0]),r.setMinutes(i[1]),u.setHours(n[0]),u.setMinutes(n[1]),u.getTime()-o.getTime()>=0&&u.getTime()-r.getTime()<=0},getWeek:function(t){var e={"周一":1,"周二":2,"周三":3,"周四":4,"周五":5,"周六":6,"周日":0};return e[t]},getWeekStr:function(t){var e={1:"周一",2:"周二",3:"周三",4:"周四",5:"周五",6:"周六",0:"周日"};return e[t]},formatter:function(t,e){return"year"===t?"".concat(e,"年"):"month"===t?"".concat(e,"月"):"day"===t?"".concat(e,"日"):e},onSubmit:function(){var t=this,e=this.form;this.statusList;if(this.setTimeTable(),!e.name)return this.$toast("请输入课程班名称"),!1;if(!e.subjectIdList)return this.$toast("请选择科目"),!1;if(!e.singleClassMinutes)return this.$toast("请选择每课时长"),!1;if(this.scheduleList.length<=0)return this.$toast("课时安排不能为空"),!1;var s=[];if(this.scheduleList.forEach(function(t){s.push({dayOfWeek:0==t.weekIndex?7:t.weekIndex,startClassTime:t.startTime+":00"})}),this.consumePeriod>this.usePeriod)this.$dialog.confirm({message:"余额不足,请充值。",confirmButtonText:"充值"}).then(function(){var s={form:e,scheduleList:t.scheduleList,formName:t.formName,consumePeriod:t.consumePeriod,consumePeriodText:t.consumePeriodText};localStorage.setItem("courseApply",JSON.stringify(s)),t.$router.push("/periodExchange")}).catch(function(){});else{var a={coursesGroup:{name:e.name,subjectId:e.subjectIdList,maxStudentNum:e.studentNum},courseCycleInfo:{courseCreateStartTime:e.courseStart,teachMode:"ONLINE",courseCount:Number(e.courseCount),singleClassMinutes:e.singleClassMinutes,courseTimes:s}};this.onSubmitStatus&&(this.onSubmitStatus=!1,this.$dialog.confirm({title:"确认创建",message:"确认创建课程组?"}).then(function(){t.$toast.loading({duration:0,message:"加载中...",forbidClick:!0,loadingType:"spinner"}),Object(u["c"])(a).then(function(e){var s=e.data;t.$toast.clear(),200==s.code?(t.$toast("创建成功"),setTimeout(function(){t.onSubmitStatus=!0,Object(o["b"])().iPhone?window.webkit.messageHandlers.DAYA.postMessage(JSON.stringify({api:"back"})):Object(o["b"])().android&&DAYA.postMessage(JSON.stringify({api:"back"}))},500)):302==s.code?(t.onSubmitStatus=!0,t.$dialog.alert({title:"课程冲突",message:s.msg,messageAlign:"left"}).then(function(){})):(t.onSubmitStatus=!0,t.$toast(s.msg))})}).catch(function(){t.onSubmitStatus=!0}))}}}},h=d,f=(s("1e5c"),s("2877")),g=Object(f["a"])(h,a,i,!1,null,"ebbf5d86",null);e["default"]=g.exports},bb2c:function(t,e,s){},bfa0:function(t,e,s){},d133:function(t,e,s){"use strict";var a=s("bb2c"),i=s.n(a);i.a}}]);