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.
135 lines
4.6 KiB
135 lines
4.6 KiB
$(document).on('turbolinks:load', function(){
|
|
if ($('body.admins-school-statistics-index-page').length > 0) {
|
|
var searchForm = $(".school-statistic-list-form .search-form");
|
|
var growFormUrl = searchForm.data('grow-form-url');
|
|
var contrastFormUrl = searchForm.data('contrast-form-url');
|
|
|
|
var dataTypeInput = searchForm.find("input[name='data_type']");
|
|
var keywordInput = searchForm.find("input[name='keyword']");
|
|
var contrastBtn = searchForm.find(".contrast-btn");
|
|
var growBtn = searchForm.find(".grow-btn");
|
|
var contrastDateContainer = searchForm.find('.contrast-date-container');
|
|
var growDateContainer = searchForm.find('.grow-date-container');
|
|
|
|
// 数据对比日期输入框
|
|
var beginDateInput = searchForm.find("input[name='begin_date']");
|
|
var endDateInput = searchForm.find("input[name='end_date']");
|
|
var otherBeginDateInput = searchForm.find("input[name='other_begin_date']");
|
|
var otherEndDateInput = searchForm.find("input[name='other_end_date']");
|
|
|
|
// 新增数据日期输入框
|
|
var growBeginDateInput = searchForm.find("input[name='grow_begin_date']");
|
|
var growEndDateInput = searchForm.find("input[name='grow_end_date']");
|
|
|
|
// 数据展示切换: 数据对比、新增数据
|
|
searchForm.on('click', ".contrast-btn", function(){
|
|
if(contrastBtn.hasClass("active")) { return }
|
|
changeDataType("contrast");
|
|
submitForm();
|
|
});
|
|
searchForm.on('click', ".grow-btn", function(){
|
|
if(growBtn.hasClass("active")) { return }
|
|
changeDataType("grow");
|
|
submitForm();
|
|
});
|
|
|
|
// 搜索按钮
|
|
searchForm.on('click', ".search-btn", function(){
|
|
console.log('submit');
|
|
submitForm();
|
|
});
|
|
|
|
$('.school-statistic-list-container').on('change', '.contrast-column-select', function() {
|
|
searchForm.find("input[name='contrast_column']").val($('.contrast-column-select').val());
|
|
submitForm();
|
|
});
|
|
|
|
var submitForm = function(){
|
|
if(!validateFrom()) { return }
|
|
|
|
var form = searchForm;
|
|
var url = dataTypeInput.val() == "contrast" ? contrastFormUrl : growFormUrl;
|
|
|
|
$.ajax({
|
|
url: url,
|
|
data: form.serialize(),
|
|
dataType: "script"
|
|
})
|
|
};
|
|
|
|
var validateFrom = function(){
|
|
if (dataTypeInput.val() != "contrast") { return true; }
|
|
|
|
// 全部为空时,需要展示空数据页
|
|
if (beginDateInput.val() == "" && endDateInput.val() == "" &&
|
|
otherBeginDateInput.val() == "" && otherBeginDateInput.val() == "") {
|
|
return true;
|
|
}
|
|
|
|
if (beginDateInput.val() != "" && endDateInput.val() != "" &&
|
|
otherBeginDateInput.val() != "" && otherBeginDateInput.val() != "") {
|
|
return true;
|
|
}
|
|
|
|
return false;
|
|
};
|
|
|
|
var changeDataType = function(dataType){
|
|
if (dataTypeInput.val() == dataType) { return }
|
|
|
|
if (dataType == "contrast") {
|
|
contrastBtn.addClass("active");
|
|
growBtn.removeClass("active");
|
|
dataTypeInput.val('contrast');
|
|
growDateContainer.hide();
|
|
contrastDateContainer.show();
|
|
|
|
clearGrowDateInput();
|
|
} else {
|
|
contrastBtn.removeClass("active");
|
|
growBtn.addClass("active");
|
|
dataTypeInput.val('grow');
|
|
growDateContainer.show();
|
|
contrastDateContainer.hide();
|
|
|
|
clearContrastDateInput();
|
|
}
|
|
};
|
|
|
|
var clearGrowDateInput = function() {
|
|
searchForm.find("input[name='grow_begin_date']").val('');
|
|
searchForm.find("input[name='grow_end_date']").val('');
|
|
searchForm.find("input[name='grow_date_input']").val('');
|
|
};
|
|
|
|
var clearContrastDateInput = function(){
|
|
searchForm.find("input[name='begin_date']").val('');
|
|
searchForm.find("input[name='end_date']").val('');
|
|
searchForm.find("input[name='other_begin_date']").val('');
|
|
searchForm.find("input[name='other_end_date']").val('');
|
|
searchForm.find("input[name='date_input']").val('');
|
|
searchForm.find("input[name='other_date_input']").val('');
|
|
};
|
|
|
|
var baseOptions = {
|
|
autoclose: true,
|
|
language: 'zh-CN',
|
|
format: 'yyyy-mm-dd',
|
|
startDate: '2017-04-01',
|
|
endDate: '-1d'
|
|
}
|
|
|
|
var defineDateRangeSelect = function(element){
|
|
var options = $.extend({inputs: $(element).find('.start-date, .end-date')}, baseOptions);
|
|
$(element).datepicker(options);
|
|
|
|
$(element).find('.start-date').datepicker().on('changeDate', function(e){
|
|
$(element).find('.end-date').datepicker('setStartDate', e.date);
|
|
})
|
|
};
|
|
|
|
defineDateRangeSelect('.grow-date-input-daterange');
|
|
defineDateRangeSelect('.date-input-daterange');
|
|
defineDateRangeSelect('.other-date-input-daterange');
|
|
}
|
|
}) |