westdc-zf1/application/admin/views/scripts/data/map-add.phtml

275 lines
12 KiB
PHTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<?php
$this->headTitle($this->config->title->site);
$this->headTitle('后台管理');
$this->headTitle()->setSeparator(' - ');
$this->breadcrumb('<a href="/">首页</a>');
$this->breadcrumb('<a href="/admin">后台首页</a>');
$this->breadcrumb('<a href="/admin/data">数据管理</a>');
$this->breadcrumb()->setSeparator(' > ');
?>
<div class="row-fluid">
<div class="span2">
<?= $this->partial('data/left.phtml'); ?>
</div>
<div class="span10">
<h3>地图可视化要素编辑</h3>
<hr />
<?php if(!empty($this->error)) {?>
<div class="alert alert-error">
<?= $this->error ?>
</div>
<?php }?>
<form class="form-horizontal" method="post" action="">
<div class="control-group">
<label class="control-label" for="inputUUID">UUID</label>
<div class="controls">
<input type="text" id="inputUUID" placeholder="UUID" value="<?= $this->info['uuid'] ?>" class="input-block-level" name="uuid" readonly>
</div>
</div>
<div class="control-group">
<label class="control-label">状态</label>
<div class="controls">
<label class="radio inline">
<?php $checked = function(){
if(isset($this->info['status']))
{
if($this->info['status'] == 1)
{
return 'checked="checked"';
}
}else{
return 'checked="checked"';
}
}; ?>
<input type="radio" name="status" id="optionsRadios1" value="1" <?= $checked() ?>>
启用
</label>
<label class="radio inline">
<input type="radio" name="status" id="optionsRadios2" value="0"
<?= isset($this->info['status']) && $this->info['status'] == 0 ? 'checked="checked"':"" ?>>
禁用
</label>
</div>
</div>
<div class="control-group">
<label class="control-label">最小缩放等级</label>
<div class="controls">
<select name="zoom_min">
<?php for($i=1;$i<=23;$i++){ ?>
<?php if($this->info['zoom_min'] != $i) { ?>
<option value="<?= $i ?>"><?= $i ?></option>
<?php }else{ ?>
<option value="<?= $i ?>" selected="selected"><?= $i ?></option>
<?php } ?>
<?php }?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">最大缩放等级</label>
<div class="controls">
<select name="zoom_max">
<?php for($i=1;$i<=23;$i++){ ?>
<?php if($this->info['zoom_max'] != $i) { ?>
<option value="<?= $i ?>"><?= $i ?></option>
<?php }else{ ?>
<option value="<?= $i ?>" selected="selected"><?= $i ?></option>
<?php } ?>
<?php }?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label">默认缩放等级</label>
<div class="controls">
<select name="zoom_default">
<?php for($i=1;$i<=23;$i++){ ?>
<?php if($this->info['zoom_default'] != $i) { ?>
<option value="<?= $i ?>"><?= $i ?></option>
<?php }else{ ?>
<option value="<?= $i ?>" selected="selected"><?= $i ?></option>
<?php } ?>
<?php }?>
</select>
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputLongitude">中心点经度</label>
<div class="controls">
<input type="text" id="inputLongitude" placeholder="longitude" value="<?= $this->info['center_lon'] ?>" class="input-block-level" name="center_lon">
</div>
</div>
<div class="control-group">
<label class="control-label" for="inputLatitude">中心点维度</label>
<div class="controls">
<input type="text" id="inputLatitude" placeholder="latitude" value="<?= $this->info['center_lat'] ?>" class="input-block-level" name="center_lat">
</div>
</div>
<?php if(!empty($this->info['layers'])) { ?>
<?php var_dump($this->info['layers']) ?>
<?php $vars = array() ?>
<?php $encoder = new \Westdc\Visual\VariableEncoder; ?>
<?php $vars = $encoder->decode($this->info['layers']);?>
<?php foreach($vars as $index=>$value) { ?>
<div class="control-group var-group">
<label class="control-label" for="inputVariable">可视化要素 <small><a href="javascript:void(0);" onclick="delVar(this)">删除</a></small></label>
<div class="controls">
<input type="text" placeholder="标题" name="layers[<?= $index ?>][title]" class="input-xlarge" value="<?= $value['title'] ?>">
<input type="text" placeholder="类型" name="layers[<?= $index ?>][type]" class="input-xlarge" value="<?= $value['type'] ?>">
</div>
<div class="controls" style="padding-top:10px;">
<input type="text" placeholder="url" name="layers[<?= $index ?>][sql]" class="input-block-level" value="<?= $value['url'] ?>">
</div>
<div class="controls" style="padding-top:10px;">
<input type="text" placeholder="最大经度" name="layers[<?= $index ?>][extent][lon_max]" class="input-mini" value="<?= $value['extent']['lon_max'] ?>">
<input type="text" placeholder="最小经度" name="layers[<?= $index ?>][extent][lon_min]" class="input-mini" value="<?= $value['extent']['lon_min'] ?>">
<input type="text" placeholder="最大维度" name="layers[<?= $index ?>][extent][lat_max]" class="input-mini" value="<?= $value['extent']['lat_max'] ?>">
<input type="text" placeholder="最小维度" name="layers[<?= $index ?>][extent][lat_min]" class="input-mini" value="<?= $value['extent']['lat_min'] ?>">
</div>
</div>
<?php } ?>
<?php } ?>
<div class="control-group" id="last-control-group">
<div class="controls">
<button type="button" class="btn btn-defualt" id="addVariable">添加要素</button>
</div>
</div>
<div class="control-group" id="last-control-group">
<div class="controls">
<input type="hidden" name="submit" value="1" />
<button type="submit" class="btn btn-primary">提交</button>
</div>
</div>
</form>
</div>
</div>
<script type="text/javascript">
var fieldData,fieldHtml,varHtml,current_count;
function makeVarSelectHtml(field_data){
current_count = $('.var-group').length;
fieldHtml = []
varHtml = '<input type="text" placeholder="标题" name="layers['+current_count+'][title]" class="input-xlarge"> '
+ '<input type="text" placeholder="类型" name="layers['+current_count+'][type]" class="input-xlarge">'
+ '</div><div class="controls" style="padding-top:10px;">'
+ '<input type="text" placeholder="url" name="layers['+current_count+'][sql]" class="input-block-level">'
+ '</div><div class="controls" style="padding-top:10px;">'
+ '<input type="text" placeholder="最大经度" name="layers['+current_count+'][extent][lon_max]" class="input-mini"> '
+ '<input type="text" placeholder="最小经度" name="layers['+current_count+'][extent][lon_min]" class="input-mini"> '
+ '<input type="text" placeholder="最大维度" name="layers['+current_count+'][extent][lat_max]" class="input-mini"> '
+ '<input type="text" placeholder="最小维度" name="layers['+current_count+'][extent][lat_min]" class="input-mini">';
html = '<div class="control-group var-group">'
+ '<label class="control-label" for="inputVariable">可视化要素 <small><a href="javascript:void(0);" onclick="delVar(this)">删除</a></small></label>'
+ '<div class="controls">'
+ varHtml
+ '</div>'
+'</div>';
return html;
}
function delVar(dom){
$(dom).parent().parent().parent('.control-group').remove();
};
$(document).ready(function(){
$('#data-table').change(function(){
$('.var-group').remove();
$.ajax({
type:"POST",
url:'',
data:'tablename='+ $(this).val(),
success:function(data){
fieldData = data;
html = [];
for(i in data)
{
html.push('<option value="' + data[i] + '">' + data[i] + '</option>');
}
html = '<select name="visual_timefield">' + html.join('')+'</select>';
$('#field-time').html(html);
},
beforeSend:function(){
$('#field-time').html('加载中');
}
});
});
<?php if(!empty($this->info['ts_created']) && !empty($this->info['visual_datatable'])) { ?>
$.ajax({
type:"POST",
url:'',
data:'tablename=<?= $this->info['visual_datatable'] ?>',
success:function(data){
fieldData = data;
html = [];
for(i in data)
{
if('<?= $this->info['visual_timefield'] ?>' == data[i])
html.push('<option value="' + data[i] + '" selected="selected">' + data[i] + '</option>');
else
html.push('<option value="' + data[i] + '">' + data[i] + '</option>');
}
html = '<select name="visual_timefield">' + html.join('')+'</select>';
$('#field-time').html(html);
},
beforeSend:function(){
$('#field-time').html('加载中');
}
});
<?php } ?>
$('#addVariable').click(function(e) {
if($('#var-group').length > 0)
$('#var-group').append(makeVarSelectHtml(fieldData));
else
$('#last-control-group').prepend(makeVarSelectHtml(fieldData));
});
$('#open-field-helper').click(function(){
if(null == fieldData || $('#data-table').val() == '0')
{
alert('请先选择数据表和时间字段');
return false;
}
$('.modal-body p').html(fieldData.join(','));
$('#modal-show-field').modal('show');
});
});
</script>
<div id="modal-show-field" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
<h3 id="myModalLabel">字段列表</h3>
</div>
<div class="modal-body">
<p></p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">关闭</button>
</div>
</div>