278 lines
8.6 KiB
JavaScript
278 lines
8.6 KiB
JavaScript
var westdc = {};
|
|
westdc.dataservice = {
|
|
//wsn 选择数据
|
|
choiceData : function(uuid,btn)
|
|
{
|
|
this.uuid = uuid;
|
|
_btn = {
|
|
html : $(btn).html(),
|
|
onclick : $(btn).attr('onclick')
|
|
};
|
|
|
|
$.ajax({
|
|
'type':"POST",
|
|
'url':'/data/dataservice',
|
|
'data':'uuid=' + this.uuid,
|
|
'success':function(data){
|
|
if(typeof(data) == 'undefined')
|
|
{
|
|
alert("数据源错误,请联系管理员");
|
|
return false;
|
|
}
|
|
|
|
if(!$.isEmptyObject(data.error))
|
|
{
|
|
alert(data.error);
|
|
return false;
|
|
}
|
|
|
|
if(data.type == "wsn")
|
|
{
|
|
html = westdc.dataservice.wsn.dialog.site(data);
|
|
westdc.dataservice.creatWindow(html);
|
|
}
|
|
|
|
},
|
|
'timeout': 30000,
|
|
'beforeSend': function(){
|
|
$(btn).attr('onclick','');
|
|
$(btn).html("加载中...");
|
|
$(btn).addClass('disabled');
|
|
},
|
|
'complete': function(){
|
|
$(btn).attr('onclick', _btn.onclick);
|
|
$(btn).html(_btn.html);
|
|
$(btn).removeClass('disabled');
|
|
},
|
|
'error': function(){
|
|
alert('出现错误,请刷新后重试');
|
|
}
|
|
});
|
|
|
|
},
|
|
creatWindow : function(html){
|
|
$.colorbox({
|
|
initialHeight: '0',
|
|
initialWidth: '0',
|
|
maxWidth : '80%',
|
|
html: html,
|
|
opacity: '0.3',
|
|
onComplete: function(){
|
|
$('.confirm_yes').click(function(e){
|
|
e.preventDefault();
|
|
});
|
|
$('.confirm_no').click(function(e){
|
|
e.preventDefault();
|
|
$.colorbox.close();
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
westdc.dataservice.wsn = {
|
|
request : function()
|
|
{
|
|
$.ajax({
|
|
'type':"POST",
|
|
'url':'/data/wsn/',
|
|
'data':$('#dataservice-wsn-form').serialize(),
|
|
'success':function(data){
|
|
if(typeof(data) == 'undefined')
|
|
{
|
|
alert("数据源错误,请联系管理员");
|
|
return false;
|
|
}
|
|
|
|
if(!$.isEmptyObject(data.error))
|
|
{
|
|
alert(data.error);
|
|
return false;
|
|
}
|
|
|
|
html = westdc.dataservice.wsn.dialog.vars(data);
|
|
westdc.dataservice.creatWindow(html);
|
|
westdc.dataservice.wsn._init.vars();
|
|
|
|
},
|
|
'timeout': 30000,
|
|
'error': function(){
|
|
alert('出现错误,请刷新后重试');
|
|
}
|
|
});
|
|
},
|
|
Submit : function(){
|
|
$.ajax({
|
|
'type':"POST",
|
|
'url':'/data/wsn/',
|
|
'data':$('#dataservice-wsn-form').serialize(),
|
|
'success':function(data){
|
|
if(typeof(data) == 'undefined')
|
|
{
|
|
alert("数据源错误,请联系管理员");
|
|
return false;
|
|
}
|
|
|
|
if(!$.isEmptyObject(data.error))
|
|
{
|
|
alert(data.error);
|
|
return false;
|
|
}
|
|
|
|
if($.isEmptyObject(data.data))
|
|
{
|
|
alert("提交失败,可能是服务器通信错误,请联系管理员");
|
|
return false;
|
|
}
|
|
|
|
if(data.data.success == 1)
|
|
{
|
|
window.location = '/data/order/ac/offline1';
|
|
return true;
|
|
}else{
|
|
alert('提交失败,请重试');
|
|
return false;
|
|
}
|
|
},
|
|
'timeout': 30000,
|
|
'error': function(){
|
|
alert('出现错误,请刷新后重试');
|
|
}
|
|
});
|
|
},
|
|
dialog : {
|
|
site : function(data){
|
|
this.input = new Array();
|
|
for(i in data.data)
|
|
{
|
|
this.li = '<label class="checkbox">'
|
|
+ '<input type="checkbox" value="' + data.data[i].siteid + '" name="siteid[]" checked="checked" /> '
|
|
+ data.data[i].sitename
|
|
+ '</label>';
|
|
this.input.push(this.li);
|
|
}
|
|
this.HTML = '<div class=""><div class="modal-header"><h3>'+data.info.service_title+'</h3></div>'
|
|
+ '<div class="modal-body"><form id="dataservice-wsn-form">'
|
|
+ '<div>请选择要下载数据的观测点</div>'
|
|
+ '<div>'
|
|
+ this.input.join("")
|
|
+ '</div>'
|
|
+ '<input type="hidden" name="uuid" value="'+data.info.uuid+'" />'
|
|
+ '<input type="hidden" name="type" value="var" />'
|
|
+ '</form></div>'
|
|
+ '<div class="modal-footer"><a href="javascript:void(0);" class="btn btn-primary confirm_yes" onclick=' + data.callback + '>下一步</a>'
|
|
+ '<a href="javascript:void(0);" class="btn confirm_no">取消</a></div></div>';
|
|
return this.HTML;
|
|
},
|
|
vars : function(data){
|
|
this.selects = "";
|
|
|
|
this.uls = new Array();
|
|
this.count = 0;
|
|
this.first = 0;
|
|
for(i in data.data)
|
|
{
|
|
this.input = new Array();
|
|
this.input.push('<label class="checkbox inline"><input type="checkbox" class="wsnctl-select-all" value="-1" name="site['+i+'][var]" checked="checked" /> 全选</label>');
|
|
for(x in data.data[i].var)
|
|
{
|
|
this.li = '<label class="checkbox inline">'
|
|
+ '<input class="wsnctl-select" type="checkbox" value="' + data.data[i].var[x]['varid'] + '" name="site['+i+'][var][]" checked="checked" disabled="disabled" /> '
|
|
+ data.data[i].var[x]['nameview']
|
|
+ '</label>';
|
|
this.input.push(this.li);
|
|
}
|
|
this.timemap = '<div class="wsnctl-time">数据时间范围: '
|
|
+ '<input class="wsnctl-timestart" type="text" name="site['+i+'][starttime]" value="' + data.data[i].starttime + '" /> - '
|
|
+ '<input class="wsnctl-timeend" type="text" name="site['+i+'][endtime]" value="' + data.data[i].endtime + '" />'
|
|
+ '</div>';
|
|
this.uls.push('<div class="wsnctl" rel="'+i+'" style="float:left"><h4>观测点:'+data.data[i].name+'</h4>可下载的变量: '+ this.input.join("") + this.timemap + '<hr /></div>');
|
|
|
|
this.count++;
|
|
if(this.count == 1)
|
|
{
|
|
this.first = i;
|
|
}
|
|
|
|
}
|
|
|
|
this.selects = this.uls.join("");
|
|
|
|
if(this.count > 1)
|
|
{
|
|
this.allcontrol = '<div class="wsnctl">'
|
|
+ '<div class="wsnctl-time"><div>为所有数据选择时间范围(如果某些数据的时间超出范围请单独再次修改):</div> '
|
|
+ '<input class="wsnctl-all-timestart" type="text" value="' + data.data[this.first].starttime + '" /> - '
|
|
+ '<input class="wsnctl-all-timeend" type="text" value="' + data.data[this.first].endtime + '" />'
|
|
+ '</div></div><hr />';
|
|
}else{
|
|
this.allcontrol = "";
|
|
}
|
|
|
|
this.HTML = '<div class=""><div class="modal-header"><h3>'+data.info.service_title+'</h3></div>'
|
|
+ '<div class="modal-body">'
|
|
+ this.allcontrol
|
|
+ '<form id="dataservice-wsn-form">'
|
|
+ '<div>'
|
|
+ this.selects
|
|
+ '</div>'
|
|
+ '<input type="hidden" name="uuid" value="'+data.info.uuid+'" />'
|
|
+ '<input type="hidden" name="type" value="submit" />'
|
|
+ '</form></div>'
|
|
+ '<div class="modal-footer"><a href="javascript:void(0);" class="btn btn-primary confirm_yes" onclick=' + data.callback + '>提交</a>'
|
|
+ '<a href="javascript:void(0);" class="btn confirm_no">取消</a></div></div>';
|
|
return this.HTML;
|
|
}
|
|
},
|
|
_init : {
|
|
vars : function(){
|
|
$('.wsnctl').each(function(index, element) {
|
|
_this = $(this);
|
|
siteid = $(this).attr('rel');
|
|
timestart = $(this).children('.wsnctl-time').children('.wsnctl-timestart');
|
|
timeend = $(this).children('.wsnctl-time').children('.wsnctl-timeend');
|
|
if(timestart.length && timeend.length)
|
|
{
|
|
year_start=(timestart).val().substr(0,4);
|
|
month_start=parseInt((timestart).val().substr(5,2))-1;
|
|
day_start=parseInt((timestart).val().substr(8,2));
|
|
year_end=(timeend.val()).substr(0,4);
|
|
month_end=parseInt((timeend.val()).substr(5,2))-1;
|
|
day_end=parseInt((timeend.val()).substr(8,2));
|
|
timestart.datepicker({ minDate: new Date(year_start, month_start, day_start), maxDate: new Date(year_end, month_end, day_end) });
|
|
timeend.datepicker({ minDate: new Date(year_start, month_start, day_start), maxDate: new Date(year_end, month_end, day_end) });
|
|
}
|
|
$(this).find('.wsnctl-select-all').click(function(e) {
|
|
if($(this).attr('checked') == 'checked')
|
|
{
|
|
$(this).parent('label').parent('div').find('.wsnctl-select').attr('disabled','disabled');
|
|
}else{
|
|
$(this).parent('label').parent('div').find('.wsnctl-select').removeAttr('disabled');
|
|
}
|
|
});
|
|
alltimestart = $(this).children('.wsnctl-time').children('.wsnctl-all-timestart');
|
|
alltimeend = $(this).children('.wsnctl-time').children('.wsnctl-all-timeend');
|
|
if(alltimestart.length)
|
|
{
|
|
alltimestart.datepicker({});
|
|
alltimestart.change(function(e) {
|
|
val = $(this).val();
|
|
$('.wsnctl').each(function(index, element) {
|
|
$(this).children('.wsnctl-time').children('.wsnctl-timestart').val(val);
|
|
});
|
|
});
|
|
}
|
|
if(alltimeend.length)
|
|
{
|
|
alltimeend.datepicker({});
|
|
alltimeend.change(function(e) {
|
|
val = $(this).val();
|
|
$('.wsnctl').each(function(index, element) {
|
|
$(this).children('.wsnctl-time').children('.wsnctl-timeend').val(val);
|
|
});
|
|
});
|
|
}
|
|
});
|
|
}
|
|
}
|
|
} |