添加wsn数据选择弹窗控件和数据服务选择功能
This commit is contained in:
parent
eac0d60036
commit
53c820faa0
|
@ -668,6 +668,9 @@ class DataController extends Zend_Controller_Action
|
|||
$fund = new Fund($this->db);
|
||||
$this->view->fund = $fund->fetch($uuid);
|
||||
|
||||
//判断特殊数据服务
|
||||
$this->view->dataService= $this->checkDataService($uuid);
|
||||
|
||||
//自动跳转
|
||||
$sql="select s.* from datasource d left join source s on d.sourceid=s.id where d.uuid=?";
|
||||
$row=$this->db->fetchRow($this->db->quoteInto($sql,$uuid));
|
||||
|
@ -679,6 +682,47 @@ class DataController extends Zend_Controller_Action
|
|||
}
|
||||
} //viewAction
|
||||
|
||||
//检查特殊数据服务是否存在
|
||||
private function checkDataService($uuid)
|
||||
{
|
||||
$order = new \order\mount\OrderOperate();
|
||||
$service = $order->getDataService($uuid);
|
||||
|
||||
if(empty($service))
|
||||
{
|
||||
return NULL;
|
||||
}else{
|
||||
if($order->checkOrderHas($uuid))
|
||||
{
|
||||
return NULL;
|
||||
}else{
|
||||
return $service;
|
||||
}
|
||||
}
|
||||
}//checkDataService
|
||||
|
||||
//特殊数据服务
|
||||
public function dataserviceAction()
|
||||
{
|
||||
$uuid = $this->_getParam('uuid');
|
||||
|
||||
if(empty($uuid))
|
||||
{
|
||||
$this->jsonexit(array("error"=>"参数错误"));
|
||||
}
|
||||
|
||||
$dataservice = new \data\DataService();
|
||||
$info = $dataservice->get($uuid);
|
||||
|
||||
//暂时只有wsn
|
||||
$data = array(
|
||||
"type"=>"wsn", //服务类型
|
||||
"info"=>$info, //信息 dataservice 表中的字段
|
||||
"callback"=>"" //成功后的js回调函数
|
||||
);
|
||||
|
||||
}
|
||||
|
||||
/*
|
||||
getversionAction() 获取数据版本
|
||||
*/
|
||||
|
|
|
@ -336,9 +336,13 @@ endforeach;
|
|||
在线下载
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<a href="/data/order/uuid/<?php echo $md->uuid; ?>" class="btn btn-primary btn-large btn-block" title="免费!离线申请此数据(在线数据和离线数据都可申请)">
|
||||
放入数据篮
|
||||
</a>
|
||||
<?php if(!empty($this->dataService)) { ?>
|
||||
<a href="javascript:void(0);" class="btn btn-primary btn-large btn-block" title="此数据需要选择要下载的子集" onclick="westdc.dataservice.choiceData('<?= $md->uuid ?>');">
|
||||
<?php }else{ ?>
|
||||
<a href="/data/order/uuid/<?php echo $md->uuid; ?>" class="btn btn-primary btn-large btn-block" title="免费!离线申请此数据(在线数据和离线数据都可申请)">
|
||||
<?php } ?>
|
||||
放入数据篮
|
||||
</a>
|
||||
<?php endif;endif; ?>
|
||||
<a href="javascript:void(0);" class="btn btn-block" title="喜欢此数据可以将它放到收藏夹中下次浏览">
|
||||
收藏此数据
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
$this->headLink()->appendStylesheet('/css/water.css');
|
||||
$this->theme->AppendPlus($this,'google_map_v3');
|
||||
$this->theme->AppendPlus($this,'colorbox');
|
||||
if(!empty($this->dataService)) {
|
||||
$this->theme->AppendModel($this,"dataservice");
|
||||
}
|
||||
?>
|
||||
<?= $this->render('breadcrumbs.phtml') ?>
|
||||
<style>
|
||||
|
@ -360,10 +363,18 @@ endforeach;
|
|||
在线下载
|
||||
</a>
|
||||
<?php else: ?>
|
||||
<a href="/data/order/uuid/<?php echo $md->uuid; ?>" class="btn btn-primary btn-large btn-block" title="免费!离线申请此数据(在线数据和离线数据都可申请)">
|
||||
<?php
|
||||
if(!empty($this->dataService)) { ?>
|
||||
<a href="javascript:void(0);" class="btn btn-primary btn-large btn-block" title="此数据需要选择要下载的子集" onclick="westdc.dataservice.choiceData('<?= $md->uuid ?>');">
|
||||
<?php }else{ ?>
|
||||
<a href="/data/order/uuid/<?php echo $md->uuid; ?>" class="btn btn-primary btn-large btn-block" title="免费!离线申请此数据(在线数据和离线数据都可申请)">
|
||||
<?php } ?>
|
||||
放入数据篮
|
||||
</a>
|
||||
<?php endif;endif; ?>
|
||||
<a href="javascript:void(0);" onclick="method.like('<?php echo $md->uuid; ?>',this)" class="btn btn-block" title="喜欢此数据可以将它放到收藏夹中下次浏览">
|
||||
收藏此数据
|
||||
</a>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
|
|
@ -0,0 +1,35 @@
|
|||
<?php
|
||||
namespace data;
|
||||
class DataService
|
||||
{
|
||||
private $db; //传入PDO对象.
|
||||
|
||||
//使用到的公共变量
|
||||
public $tbl_dataservice = "dataservice";
|
||||
|
||||
function __construct($db = NULL)
|
||||
{
|
||||
if(empty($db))
|
||||
{
|
||||
$this->db = \Zend_Registry::get('db');
|
||||
}else{
|
||||
$this->db = $db;
|
||||
}
|
||||
|
||||
$this->config = \Zend_Registry::get('config');
|
||||
}
|
||||
|
||||
function Fetch()
|
||||
{
|
||||
$sql = "SELECT * FROM ".$this->tbl_dataservice."";
|
||||
$rs = $this->db->query($sql);
|
||||
return $rs->fetchAll();
|
||||
}
|
||||
|
||||
function get($uuid)
|
||||
{
|
||||
$sql = "SELECT * FROM ".$this->tbl_dataservice." WHERE uuid='$uuid' LIMIT 1 START 0";
|
||||
$rs = $this->db->query($sql);
|
||||
return $rs->fetch();
|
||||
}
|
||||
}
|
|
@ -77,7 +77,7 @@ class OrderOperate implements \order\listener\OrderEvents
|
|||
}
|
||||
|
||||
$sql = "select count(*) as datacount from {$this->tbl_dataorder} where (ts_approved is null) and userid=$uid and uuid=? and status in (1,2,3,4)";
|
||||
$rs = $this->db->fetchRow($this->db->quoteInto($sql,$uuid));
|
||||
$rs = $this->db->fetchRow($this->db->quoteInto($sql,$uuid),\PDO::FETCH_BOTH);
|
||||
|
||||
if($rs['datacount']>=1)
|
||||
{
|
||||
|
@ -128,7 +128,7 @@ class OrderOperate implements \order\listener\OrderEvents
|
|||
|
||||
$rs = $this->db->query($sql);
|
||||
|
||||
$row = $rs->fetch();
|
||||
$row = $rs->fetch(\PDO::FETCH_BOTH);
|
||||
|
||||
if(isset($row['uuid']) && !empty($row['uuid']))
|
||||
{
|
||||
|
|
|
@ -0,0 +1,100 @@
|
|||
var dataservice = {
|
||||
//wsn 选择数据
|
||||
choiceData : function(uuid)
|
||||
{
|
||||
this.uuid = uuid;
|
||||
|
||||
$.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 = dataservice.wsn.dialog.site(data);
|
||||
methods.creatWindow(id,html);
|
||||
}
|
||||
|
||||
},
|
||||
'timeout': 30000,
|
||||
'error': function(){
|
||||
alert('出现错误,请刷新后重试');
|
||||
}
|
||||
});
|
||||
|
||||
},
|
||||
creatWindow : function(html){
|
||||
$.colorbox({
|
||||
initialHeight: '0',
|
||||
initialWidth: '0',
|
||||
html: html,
|
||||
opacity: '0.3',
|
||||
onComplete: function(){
|
||||
$('.confirm_yes').click(function(e){
|
||||
e.preventDefault();
|
||||
});
|
||||
$('.confirm_no').click(function(e){
|
||||
e.preventDefault();
|
||||
$.colorbox.close();
|
||||
});
|
||||
}
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
dataservice.wsn = {
|
||||
request : function()
|
||||
{
|
||||
$.ajax({
|
||||
'type':"POST",
|
||||
'url':'/data/wsn/',
|
||||
'data':$('#wsn-form').serialize(),
|
||||
'success':function(data){
|
||||
if (typeof(data)=='object')
|
||||
{
|
||||
if(typeof(data.error)!='undefined')
|
||||
{alert(data.error);}
|
||||
if(typeof(data.success)!='undefined')
|
||||
{
|
||||
window.location.reload();
|
||||
}
|
||||
}
|
||||
else{
|
||||
alert('出现错误,请稍候再试');
|
||||
}
|
||||
},
|
||||
'timeout': 30000,
|
||||
'error': function(){
|
||||
alert('出现错误,请刷新后重试');
|
||||
}
|
||||
});
|
||||
},
|
||||
dialog : {
|
||||
site : function(data){
|
||||
|
||||
this.HTML = '<div class=""><div class="modal-header"><h3>选择观测点</h3></div>'
|
||||
+ '<div class="modal-body"><form id="wsn-form">'
|
||||
+ '<div></div>'
|
||||
+ '<input type="hidden" name="uuid" value="'+data.uuid+'" />'
|
||||
+ '</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;
|
||||
},
|
||||
var : function(data){
|
||||
|
||||
}
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue