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.
educoder/app/assets/javascripts/admins/competition_settings/index.js

108 lines
4.1 KiB

5 years ago
$(document).on('turbolinks:load', function(){
if ($('body.admins-competition-settings-index-page').length > 0) {
5 years ago
var dateOptions = {
5 years ago
autoclose: true,
language: 'zh-CN',
format: 'yyyy-mm-dd',
5 years ago
startDate: '2017-04-01'
5 years ago
};
5 years ago
var timeOptions = {
autoclose: true,
language: 'zh-CN',
format: 'yyyy-mm-dd hh:ii:ss',
minuteStep: 30
};
var defineDateRangeSelect = function (element) {
var options = $.extend({inputs: $(element).find('.start-date, .end-date')}, dateOptions);
5 years ago
$(element).datepicker(options);
5 years ago
$(element).find('.start-date').datepicker().on('changeDate', function (e) {
5 years ago
$(element).find('.end-date').datepicker('setStartDate', e.date);
});
};
5 years ago
// var defineTimeRangeSelect = function (element) {
// var options = $.extend({inputs: $(element).find('.start-date, .end-date')}, timeOptions);
// $(element).datetimepicker(options);
//
// $(element).find('.start-date').datetimepicker().on('changeDate', function (e) {
// $(element).find('.end-date').datetimepicker('setStartDate', e.date);
// });
// };
5 years ago
5 years ago
defineDateRangeSelect('.teaching-mode-date');
5 years ago
defineDateRangeSelect('.competition-start-end-date');
5 years ago
5 years ago
var $basicForm = $('form.basic-setting-form');
5 years ago
5 years ago
$basicForm.validate({
5 years ago
errorElement: 'span',
errorClass: 'danger text-danger',
rules: {
name: "required",
subTitle: "required",
startTime: "required",
endTime: "required",
mode: "required",
identifier: "required"
}
});
// 保存按钮
5 years ago
$basicForm.on('click', ".submit-btn", function () {
5 years ago
$basicForm.find('.submit-btn').attr('disabled', 'disabled');
$basicForm.find('.error').html('');
var valid = $basicForm.valid();
5 years ago
5 years ago
if ($("input[name='mode'[checked]]").val() == 2) {
5 years ago
var $courseId = $("input[name='course_id'");
5 years ago
if ($courseId.val() === undefined || $course_id.val().length === 0) {
5 years ago
$courseId.addClass('danger text-danger');
valid = false;
} else {
$courseId.removeClass('danger text-danger');
}
} else if ($("input[name='mode'[checked]]").val() == 4) {
var $techStartTime = $("input[name='teach_start_time'");
var $techEndTime = $("input[name='teach_end_time'");
5 years ago
if ($techStartTime.val() === undefined || $techStartTime.val().length === 0) {
5 years ago
$techStartTime.addClass('danger text-danger');
valid = false;
} else {
$techStartTime.removeClass('danger text-danger');
}
5 years ago
5 years ago
if ($techEndTime.val() === undefined || $techEndTime.val().length === 0) {
5 years ago
$techEndTime.addClass('danger text-danger');
5 years ago
valid = false;
} else {
5 years ago
$techEndTime.removeClass('danger text-danger');
5 years ago
}
5 years ago
}
5 years ago
5 years ago
if (!valid) return;
5 years ago
$.ajax({
5 years ago
method: 'PUT',
5 years ago
dataType: 'json',
5 years ago
url: $basicForm.attr('action'),
data: new FormData($basicForm[0]),
5 years ago
processData: false,
contentType: false,
5 years ago
success: function (data) {
$.notify({message: '保存成功'});
// window.location.reload();
5 years ago
},
5 years ago
error: function (res) {
5 years ago
var data = res.responseJSON;
$form.find('.error').html(data.message);
},
5 years ago
complete: function () {
5 years ago
$form.find('.submit-btn').attr('disabled', false);
}
});
});
5 years ago
}
5 years ago
});