/// <reference path="../../jquery/jquery-2.1.1.min.js" />
/// <reference path="../../jqgrid/jqgrid.min.js" />
/// <reference path="../../jquery/xdate.js" />
$(function () {
var startColName = "", mergeCol = 0;
var hzhStation = [
{ label: '月份', name: "月份", align: 'center', sortable: false }
, { label: '二河閘', name: '二河閘', align: 'center', sortable: false }
, { label: '三河閘', name: '三河閘', align: 'center', sortable: false }
, { label: '高良澗', name: '高良澗', align: 'center', sortable: false }
, { label: '高良澗電站', name: '高良澗電站', align: 'center', sortable: false }
, { label: '水量(億m³)', name: "水量", align: 'center', sortable: false }];
var lmhStation = [
{ label: '月份', name: "月份", align: 'center', sortable: false }
, { label: '楊河灘閘', name: '楊河灘閘', align: 'center', sortable: false }
, { label: '皂河閘', name: '皂河閘', align: 'center', sortable: false }
, { label: '嶂山閘', name: '嶂山閘', align: 'center', sortable: false }
, { label: '水量(億m³)', name: "水量", align: 'center', sortable: false }];
var sjhStation = [
{ label: '月份', name: "月份", align: 'center', sortable: false }
, { label: '二級壩閘', name: '二級壩閘', align: 'center', sortable: false }
, { label: '二閘', name: '二閘', align: 'center', sortable: false }
, { label: '三閘', name: '三閘', align: 'center', sortable: false }
, { label: '四閘', name: '四閘', align: 'center', sortable: false }
, { label: '水量(億m³)', name: "水量", align: 'center', sortable: false }];
var xjhStation = [
{ label: '月份', name: "月份", align: 'center', sortable: false }
, { label: '韓庄閘', name: '韓庄閘', align: 'center', sortable: false }
, { label: '伊家河閘', name: '伊家河閘', align: 'center', sortable: false }
, { label: '藺家壩閘', name: '藺家壩閘', align: 'center', sortable: false }
, { label: '老運河閘', name: '老運河閘', align: 'center', sortable: false }
, { label: '水量(億m³)', name: "水量", align: 'center', sortable: false }];
var wfr = {
//初始化方法
init: function () {
wfr.bindInit();//綁定初始化
wfr.bindStation();//綁定站點列表
wfr.bindEvent();//綁定事件
}
, resultData: null
, bindInit: function () {
try {
$('#sel_station').selectpicker({
noneSelectedText: '請選擇要查詢的湖站',
noneResultsText: '未匹配到湖站'
});
var dateNow = new XDate();
$("#time").val(dateNow.toString("yyyy年"));
} catch (e) {
console.log(e);
$.modalAlert("初始化失敗!");
}
}
//綁定事件
, bindEvent: function () {
$("#btn_search").click(function () {
try {
wfr.bindGridData();
} catch (e) {
console.log(e);
$.modalAlert("查詢失敗!");
}
});
$("#btn_export").click(function () {
try {
$.ajax({
type: "POST",
url: "/DataManage/WaterStatistic/ExportTable",
async: true,
data: {
time: $("#time").val()
, title: wfr.getTitle()
, json: JSON.stringify(resultData.rows)
, r: Math.random()
},
success: function (data) {
if (data != null && data != "") {
wfr.download(data);
}
},
error: function () {
$.modalAlert("導出數據失敗!");
},
complete: function () {
}
});
} catch (e) {
$.modalAlert("導出報表失敗!");
}
});
$(window).bind("resize", function () {
wfr.resizeWindow();
});
}
, getTitle: function () {
var sels = $("#sel_station").find("option:selected");
if (sels == null && sels.length == 0) {
$.modalAlert("請選擇站點!");
return [];
}
var station = $(sels[0]).text();
var year = $("#time").val();
var title = "{0}全年{1}出湖水量計算表".format(year, station);
return title;
}
//獲取動態列
, getCols: function () {
var sels = $("#sel_station").find("option:selected");
if (sels == null && sels.length == 0) {
$.modalAlert("請選擇站點!");
return [];
}
var selType = $(sels[0]).val();
switch (selType) {
case "HZH":
startColName = "二河閘";
mergeCol = 4;
return hzhStation;
case "LMH":
startColName = "楊河灘閘";
mergeCol = 3;
return lmhStation;
case "SJH":
startColName = "二級壩閘";
mergeCol = 4;
return sjhStation;
case "XJH":
startColName = "韓庄閘";
mergeCol = 4;
return xjhStation;
}
return [];
//動態獲取站點可用
//var cols = [];
//mergeCol = sels.length;
//cols.push({ label: '月份', name: "Month", align: 'center' });
//startColName = $(sels[0]).val();
//for (var i = 0; i < sels.length; i++) {
// var opt = sels[i];
// cols.push({ label: $(opt).text(), name: $(opt).val(), align: 'center' });
//}
//cols.push({ label: '水量(億m³)', name: "Water", align: 'center' });
//return cols;
}
//綁定站點數據
, bindStation: function () {
try {
$('#sel_station').empty();
var option = "<option value='{0}'>{1}</option>".format("HZH", "洪澤湖");
option += "<option value='{0}'>{1}</option>".format("LMH", "駱馬湖");
option += "<option value='{0}'>{1}</option>".format("SJH", "上級湖");
option += "<option value='{0}'>{1}</option>".format("XJH", "下級湖");
$("#sel_station").append(option);
$('#sel_station').selectpicker('refresh');
wfr.bindGridData();//綁定表格數據
} catch (e) {
console.log(e);
$.modalAlert("查詢站點請求失敗!");
}
}
//動態綁定表格數據
, bindGridData: function () {
try {
$.jgrid.gridUnload("gridList");//先卸載表格
$("#gridList").dataGrid({
url: "/DataManage/WaterStatistic/GetGridJson"
, postData:
{
stations: $("#sel_station").selectpicker("val")
, time: $("#time").val()
}
, height: $(window).height() - 185
, colModel: wfr.getCols()
//, pager: "#gridPager"
, viewrecords: true
, loadComplete: function (data) {
resultData = data;
wfr.resizeWindow();
}
});
} catch (e) {
console.log(e);
$.modalAlert("綁定表格失敗!");
}
}
, download: function (filename) {
if (filename == "") {
$.modalAlert("沒有可以導出的數據!");
return false;
}
var url = "/Helper/WebDownload.aspx?filename=" + filename + "&r=" + Math.random();
window.open(url);
}
//窗體大小改變事件
, resizeWindow: function () {
$("#gridList").setGridWidth($(window).width(), true);
$("#gridList").setGridHeight($(window).height() - 185);
jQuery("#gridList").jqGrid('destroyGroupHeader');//最關鍵的一步、銷毀合並表頭分組、防止出現表頭重疊
jQuery("#gridList").jqGrid('setGroupHeaders', {
useColSpanStyle: true,
groupHeaders: [{ startColumnName: startColName, numberOfColumns: mergeCol, titleText: '月均流量(m³/s)' }]
});
$(".ui-jqgrid-bdiv").css("width", "100%");
}
}
wfr.init();
});
/*
*數據格式化
*/
function fdata(v, repleaceNull) {
if (v == undefined || v == null || $.trim(v.toString()) == "") {
if (repleaceNull != undefined) {
return repleaceNull;
}
return "";
}
else {
return v.toString();
}
}
function cellFormatter(cellvalue, options, rowObject) {
return cellvalue == null ? "-" : cellvalue;
}