| | |
| | | TSite.removeTimeSlot = function(btn) { |
| | | $(btn).closest('tr').remove(); |
| | | } |
| | | |
| | | /** |
| | | * 检查时段是否重叠 |
| | | */ |
| | |
| | | var parts = time.split(':'); |
| | | return parseInt(parts[0]) * 60 + parseInt(parts[1]); |
| | | }; |
| | | |
| | | |
| | | var s1 = toMinutes(start1); |
| | | var e1 = toMinutes(end1); |
| | | var s2 = toMinutes(start2); |
| | | var e2 = toMinutes(end2); |
| | | |
| | | |
| | | // 检查重叠:时段1的结束时间 > 时段2的开始时间 且 时段1的开始时间 < 时段2的结束时间 |
| | | return (e1 > s2 && s1 < e2); |
| | | } |
| | |
| | | TSite.validateNoTimeOverlap = function() { |
| | | var bookingTimeSlots = []; |
| | | var walkinTimeSlots = []; |
| | | |
| | | |
| | | // 收集订场时段 |
| | | $("#booking_price_tbody tr").each(function() { |
| | | var index = $(this).data('index'); |
| | |
| | | bookingTimeSlots.push({start: startTime, end: endTime}); |
| | | } |
| | | }); |
| | | |
| | | |
| | | // 收集散客时段 |
| | | $("#walkin_price_tbody tr").each(function() { |
| | | var index = $(this).data('index'); |
| | |
| | | walkinTimeSlots.push({start: startTime, end: endTime}); |
| | | } |
| | | }); |
| | | |
| | | |
| | | // 检查订场时段之间是否重叠 |
| | | for (var i = 0; i < bookingTimeSlots.length; i++) { |
| | | for (var j = i + 1; j < bookingTimeSlots.length; j++) { |
| | |
| | | bookingTimeSlots[i].start, bookingTimeSlots[i].end, |
| | | bookingTimeSlots[j].start, bookingTimeSlots[j].end |
| | | )) { |
| | | Feng.error("订场价格表中存在重叠的时段:" + |
| | | Feng.error("订场价格表中存在重叠的时段:" + |
| | | bookingTimeSlots[i].start + "-" + bookingTimeSlots[i].end + " 与 " + |
| | | bookingTimeSlots[j].start + "-" + bookingTimeSlots[j].end); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | // 检查散客时段之间是否重叠 |
| | | for (var i = 0; i < walkinTimeSlots.length; i++) { |
| | | for (var j = i + 1; j < walkinTimeSlots.length; j++) { |
| | |
| | | walkinTimeSlots[i].start, walkinTimeSlots[i].end, |
| | | walkinTimeSlots[j].start, walkinTimeSlots[j].end |
| | | )) { |
| | | Feng.error("散客价格表中存在重叠的时段:" + |
| | | Feng.error("散客价格表中存在重叠的时段:" + |
| | | walkinTimeSlots[i].start + "-" + walkinTimeSlots[i].end + " 与 " + |
| | | walkinTimeSlots[j].start + "-" + walkinTimeSlots[j].end); |
| | | return false; |
| | | } |
| | | } |
| | | } |
| | | |
| | | |
| | | return true; |
| | | } |
| | | |
| | | /** |
| | | * 保存所有数据(基本信息+价格配置) |
| | | */ |
| | |
| | | Feng.error("请先点击【生成价格表】按钮生成价格配置表!"); |
| | | return; |
| | | } |
| | | |
| | | // 验证时段不重叠 |
| | | if (!TSite.validateNoTimeOverlap()) { |
| | | return; |
| | | } |
| | | // 验证人群选择 |
| | | var bookingChecked = $("#audience_booking").is(':checked'); |
| | | var walkinChecked = $("#audience_walkin").is(':checked'); |
| | |
| | | return; |
| | | } |
| | | } |
| | | |
| | | |
| | | // 验证时段不重叠 |
| | | if (!TSite.validateNoTimeOverlap()) { |
| | | return; |
| | | } |
| | | |
| | | |
| | | // 收集价格数据 |
| | | var priceDTOS = TSite.collectPriceData(); |
| | | |