| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154 |
- var colors = [
- '#FF6666',
- '#FFFF33',
- '#FF9933',
- '#66cccc',
- '#FFCCCC',
- '#3399FF',
- '#9966FF',
- ];
- function formatDate(date){
- var year = date.getFullYear();
- var month = date.getMonth()+1+'';
- var day = date.getDate()+'';
- month.length===1 && (month = '0'+month)
- day.length===1 && (day = '0'+day)
- return year+'-'+month+'-'+day;
- }
- function formatTime(date){
- return date.getHours()+":"+date.getMinutes();
- }
- $(document).ready(function() {
- var hallId,
- scheduleDate = formatDate(new Date());
- initSelectAndDate();
- function getSchedules() {
- var schedules = [];
- postRequest(
- '/schedule/search',
- {
- hallId: hallId,
- startDate: scheduleDate
- },
- function (res) {
- schedules = res.content;
- console.log(schedules);
- renderScheduleTable(schedules);
- },
- function (error) {
- alert(JSON.stringify(error));
- }
- );
- }
- function renderScheduleTable(schedules){
- $('.schedule-date-container').empty();
- $(".schedule-time-line").siblings().remove();
- schedules.forEach(function (scheduleOfDate) {
- $('.schedule-date-container').append("<div class='schedule-date'>"+formatDate(new Date(scheduleOfDate.date))+"</div>");
- var scheduleDateDom = $(" <ul class='schedule-item-line'></ul>");
- $(".schedule-container").append(scheduleDateDom);
- scheduleOfDate.scheduleItemList.forEach(function (schedule,index) {
- var scheduleStyle = mapScheduleStyle(schedule);
- scheduleDateDom.append(
- "<li class='schedule-item' style='background:"+scheduleStyle.color+";top:"+scheduleStyle.top+";height:"+scheduleStyle.height+"'>"+
- "<span>"+schedule.movieName+"</span>"+
- "<span class='error-text'>¥"+schedule.fare+"</span>"+
- "<span>"+formatTime(new Date(schedule.startTime))+"-"+formatTime(new Date(schedule.endTime))+"</span>"+
- "</li>");
- })
- })
- }
- function mapScheduleStyle(schedule) {
- var start = new Date(schedule.startTime).getHours()+new Date(schedule.startTime).getMinutes()/60,
- end = new Date(schedule.endTime).getHours()+new Date(schedule.endTime).getMinutes()/60 ;
- return {
- color: colors[schedule.movieId%colors.length],
- top: 40*start+'px',
- height: 40*(end-start)+'px'
- }
- }
- function initSelectAndDate() {
- $('#schedule-date-input').val(scheduleDate);
- getCinemaHalls();
- getAllMovies();
-
- // 过滤条件变化后重新查询
- $('#hall-select').change (function () {
- hallId=$(this).children('option:selected').val();
- getSchedules();
- });
- $('#schedule-date-input').change(function () {
- scheduleDate = $('#schedule-date-input').val();
- getSchedules();
- });
- }
- function getCinemaHalls() {
- var halls = [];
- getRequest(
- '/hall/all',
- function (res) {
- halls = res.content;
- hallId = halls[0].id;
- halls.forEach(function (hall) {
- $('#hall-select').append("<option value="+ hall.id +">"+hall.name+"</option>");
- $('#schedule-hall-input').append("<option value="+ hall.id +">"+hall.name+"</option>");
- });
- getSchedules();
- },
- function (error) {
- alert(JSON.stringify(error));
- }
- );
- }
- function getAllMovies() {
- getRequest(
- '/movie/all',
- function (res) {
- var movieList = res.content;
- movieList.forEach(function (movie) {
- $('#schedule-movie-input').append("<option value="+ movie.id +">"+movie.name+"</option>");
- });
- },
- function (error) {
- alert(error);
- }
- );
- }
-
- $('#schedule-form-btn').click(function () {
- var form = {
- hallId: $("#schedule-hall-input").children('option:selected').val(),
- movieId : $("#schedule-movie-input").children('option:selected').val(),
- startTime: $("#schedule-start-date-input").val(),
- endTime: $("#schedule-end-date-input").val(),
- fare: $("#schedule-price-input").val()
- };
- //todo 需要做一下表单验证?
- postRequest(
- '/schedule/add',
- form,
- function (res) {
- getSchedules();
- $("#scheduleModal").modal('hide');
- },
- function (error) {
- alert(JSON.stringify(error));
- }
- );
- })
- });
|