版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/bitree1/article/details/80830186
一、@Transient注解
1.serialization会忽略掉
Java的serialization提供了一种持久化对象实例的机制。当持久化对象时,可能有一个特殊的对象数据成员,我们不想用serialization机制来保存它。
为了在一个特定对象的一个域上关闭serialization,可以在这个域前加上关键字transient
2.不跟数据库表做映射 就是表中没有这个字段
@Transient表示该属性并非一个到数据库表的字段的映射,ORM框架将忽略该属性.
二、使用@Transient注解输出空间位置属性POINTS Geometry属性
1.实体类
package com.trgis.trmap.gov.model;
import java.io.Serializable;
import java.util.Date;
import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
import javax.persistence.Table;
import javax.persistence.Transient;
import org.hibernate.annotations.Cache;
import org.hibernate.annotations.CacheConcurrencyStrategy;
import org.hibernate.annotations.Type;
import com.alibaba.fastjson.annotation.JSONField;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.fasterxml.jackson.annotation.JsonIgnore;
import com.trgis.trmap.gov.util.EnumUtil;
import com.vividsolutions.jts.geom.Geometry;
/**
* 县域平台
* @author liuyan
*
*/
@Entity
@Table(name = "xjpt")
@Cache(usage = CacheConcurrencyStrategy.READ_WRITE)
public class PT implements Serializable{
/**
* @Fields serialVersionUID : serialVersionUID
*/
private static final long serialVersionUID = 1L;
/**
* id
*/
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
/**
* geometry 中心点
*/
@Column(name="geom")
@Type(type = "org.hibernate.spatial.GeometryType")
@JsonIgnore
//@JSONField(serialize = false)
private Geometry geom;
/**
* geometry
*/
@Transient
@JSONField(deserialize = false)
private String points;
/**
* 平台配色方案
*/
@Column(name="style")
private String style;
/**
* 平台状态 关停 启动
*/
@Column(name="status")
private Integer status = EnumUtil.PTSTATUS.QD.getValue();
/**
* 平台名称
*/
@Column(name="ptname")
private String ptname;
/**
* 平台的访问目录 /main/zzx
*/
@Column(name="pturl")
private String pturl;
/**
* 平台的等级 省级1 市级2 县级 3
*/
@Column(name="level")
private Integer level =1;
/**
* 平台的父级
*/
@Column(name="parentid")
private Long parentid ;
/**
* 创建时间
* @return
*/
@Column(name="createTime")
@JsonFormat(pattern="yyyy-MM-dd HH:mm:ss",timezone="GMT+8")
private Date createTime = new Date();
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Long getParentid() {
return parentid;
}
public void setParentid(Long parentid) {
this.parentid = parentid;
}
public String getPoints() {
return this.geom.toString();
}
public void setPoints(String points) {
this.points = this.geom.toString();
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getPtname() {
return ptname;
}
public void setPtname(String ptname) {
this.ptname = ptname;
}
public String getPturl() {
return pturl;
}
public void setPturl(String pturl) {
this.pturl = pturl;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public Geometry getGeom() {
return geom;
}
public void setGeom(Geometry geom) {
this.geom = geom;
}
public PT() {
super();
}
@Override
public String toString() {
return "PT [id=" + id + ", geom=" + geom + ", points=" + points + ", style=" + style + ", status=" + status
+ ", ptname=" + ptname + ", pturl=" + pturl + ", level=" + level + ", parentid=" + parentid
+ ", createTime=" + createTime + "]";
}
public PT(Long id, Geometry geom, String points, String style, Integer status, String ptname, String pturl,
Integer level, Long parentid, Date createTime) {
super();
this.id = id;
this.geom = geom;
this.points = points;
this.style = style;
this.status = status;
this.ptname = ptname;
this.pturl = pturl;
this.level = level;
this.parentid = parentid;
this.createTime = createTime;
}
}
points 属性作为geom字段的输出格式 但是在数据里面不存在 geom属性则忽略,仔细看points的get set 方法
2.modelvo
package com.trgis.trmap.gov.model.vo;
import java.util.Date;
import java.util.List;
import com.trgis.trmap.gov.model.PT;
import com.trgis.trmap.gov.util.EnumUtil;
import com.vividsolutions.jts.geom.Geometry;
/**
* 县域平台vo
* @author liuyan
*
*/
public class PTVO{
/**
* id
*/
private Long id;
/**
* geometry 中心点
*/
private Geometry geom;
private String points;
/**
* 平台配色方案
*/
private String style;
/**
* 平台状态 关停 启动
*/
private Integer status = EnumUtil.PTSTATUS.QD.getValue();
/**
* 平台名称
*/
private String ptname;
/**
* 平台的访问目录 /main/zzx
*/
private String pturl;
/**
* 平台的等级 省级1 市级2 县级 3
*/
private Integer level =1;
/**
* 平台的父级
*/
private Integer parentid ;
/**
* 创建时间
* @return
*/
private Date createTime = new Date();
/**
* 子集
*/
private List<PT> child;
public Long getId() {
return id;
}
public void setId(Long id) {
this.id = id;
}
public String getStyle() {
return style;
}
public void setStyle(String style) {
this.style = style;
}
public Date getCreateTime() {
return createTime;
}
public void setCreateTime(Date createTime) {
this.createTime = createTime;
}
public Integer getParentid() {
return parentid;
}
public void setParentid(Integer parentid) {
this.parentid = parentid;
}
public Geometry getPoints() {
return geom;
}
public void setPoints(Geometry points) {
this.geom = points;
}
public Integer getStatus() {
return status;
}
public void setStatus(Integer status) {
this.status = status;
}
public String getPtname() {
return ptname;
}
public void setPtname(String ptname) {
this.ptname = ptname;
}
public String getPturl() {
return pturl;
}
public void setPturl(String pturl) {
this.pturl = pturl;
}
public Integer getLevel() {
return level;
}
public void setLevel(Integer level) {
this.level = level;
}
public List<PT> getChild() {
return child;
}
public void setChild(List<PT> child) {
this.child = child;
}
public String getGeometry() {
return points;
}
public void setGeometry(String points) {
this.points = points;
}
@Override
public String toString() {
return "PTVO [id=" + id + ", geom=" + geom + ", points=" + points + ", style=" + style + ", status=" + status
+ ", ptname=" + ptname + ", pturl=" + pturl + ", level=" + level + ", parentid=" + parentid
+ ", createTime=" + createTime + ", child=" + child + "]";
}
}
3.dao
package com.trgis.trmap.gov.repository;
import java.util.List;
import org.springframework.data.jpa.repository.JpaRepository;
import org.springframework.data.jpa.repository.JpaSpecificationExecutor;
import org.springframework.stereotype.Repository;
import com.trgis.trmap.gov.model.PT;
import com.trgis.trmap.gov.model.Points;
/**
* 平台数据层
* @author Administrator
*
*/
@Repository
public interface PTRepository extends JpaRepository<PT, Long> , JpaSpecificationExecutor<Points>{
List<PT> findByLevel(Integer level);
}
4 service
package com.trgis.trmap.gov.service;
import java.util.List;
import com.trgis.common.page.ConditionGroup;
import com.trgis.trmap.gov.model.PT;
/**
*要素的service 层
* @author Administrator
*
*/
public interface PTService {
//添加一个平台并返回id
public Long save(PT pt);
//根据id删除
public void delPT(Long id);
//修改信息
public void updPT(PT pt);
//根据id查询单个信息
public PT findById(Long id);
//根据id查询单个信息
public List<PT> findByLevel(Integer level);
//根据条件查询
public List<PT> findByConditions(ConditionGroup conditionGroup);
}
5.serviceimpl
package com.trgis.trmap.gov.service.impl;
import java.util.List;
import javax.transaction.Transactional;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.data.domain.Sort;
import org.springframework.data.domain.Sort.Direction;
import org.springframework.data.jpa.domain.Specification;
import org.springframework.stereotype.Service;
import com.trgis.common.page.ConditionGroup;
import com.trgis.common.page.DynamicSpecficationUtil;
import com.trgis.trmap.gov.model.PT;
import com.trgis.trmap.gov.repository.PTRepository;
import com.trgis.trmap.gov.service.PTService;
/**
*
* 平台的service实现类
* @author liuyan
*
*/
@Service
@Transactional
public class PTServiceImp implements PTService {
@Autowired
private PTRepository PTRepository;
@Override
public Long save(PT pt) {
PTRepository.saveAndFlush(pt);
Long id = pt.getId();
return id;
}
@Override
public void delPT(Long id) {
PTRepository.delete(id);
}
@Override
public void updPT(PT pt) {
PTRepository.saveAndFlush(pt);
}
@Override
public PT findById(Long id) {
return PTRepository.findOne(id);
}
@Override
public List<PT> findByLevel(Integer level) {
return PTRepository.findByLevel(level);
}
@Override
public List<PT> findByConditions(ConditionGroup conditionGroup) {
Specification specifications = DynamicSpecficationUtil.buildSpecfication(conditionGroup);
long count = PTRepository.count(specifications);
if (count == 0) {
return null;
}
Sort sort = new Sort(Direction.DESC,"id");
return PTRepository.findAll(specifications,sort);
}
}
6.controller
package com.trgis.address.xjpt;
import java.util.ArrayList;
import java.util.Date;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpSession;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import org.springframework.beans.BeanUtils;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestMethod;
import org.springframework.web.bind.annotation.ResponseBody;
import org.springframework.web.servlet.ModelAndView;
import com.trgis.common.page.ConditionGroup;
import com.trgis.common.page.Operator;
import com.trgis.common.page.SearchCondition;
import com.trgis.common.page.SearchRelation;
import com.trgis.trmap.gov.controller.DataCorrigendaController;
import com.trgis.trmap.gov.model.GovUser;
import com.trgis.trmap.gov.model.PT;
import com.trgis.trmap.gov.model.vo.PTVO;
import com.trgis.trmap.gov.service.PTService;
import com.trgis.trmap.gov.util.BeanUtil;
import com.vividsolutions.jts.geom.Point;
import com.vividsolutions.jts.io.ParseException;
import com.vividsolutions.jts.io.WKTReader;
/*
* 统计服务点击量和系统登录量
*/
@Controller
@RequestMapping("/xypt")
public class XJPTController {
private static final Logger logger = LoggerFactory.getLogger(DataCorrigendaController.class);
@Autowired
private PTService ptService;
/**
* 县级平台页面
* @param request
* @return
*/
@RequestMapping(value = "/xjpt", method = RequestMethod.GET)
public ModelAndView page(HttpServletRequest request){
ModelAndView mod= new ModelAndView();
GovUser user = (GovUser) request.getSession().getAttribute("UserSession");
if (BeanUtil.isNotEmpty(user)) {
mod = new ModelAndView("xjpt");
//mod.setViewName("/deptser/manager_xjpt");
} else {
mod = new ModelAndView("redirect:/login");
}
return mod;
}
/**
* 获取当前项目
* @return
*/
@ResponseBody
@RequestMapping(value = "/getRoot", method ={ RequestMethod.GET, RequestMethod.POST })
public Map<String, Object> index() {
Map<String, Object> map = new HashMap<String, Object>();
PT pt = null;
String id= System.getenv("SXSK_WEB_ROOT");
System.err.print("当前主系统ID:"+id);
if(id!=""){
long l=Long.parseLong(id);
pt = ptService.findById(l);
}else {
pt = ptService.findById(1l);
}
map.put("result", "success");
map.put("system", pt);
return map;
}
/**
* 根据id查找
* @param id
* @return
*/
@ResponseBody
@RequestMapping(value = "/findByID", method = { RequestMethod.GET, RequestMethod.POST })
public Map<String, Object> findByID(String id) {
Map<String, Object> map = new HashMap<String, Object>();
PT pt = null;
if(id!=""){
long l=Long.parseLong(id);
pt = ptService.findById(l);
map.put("result", "success");
}else {
map.put("result", "err");
}
map.put("system", pt);
return map;
}
/**
* 保存县域平台
* @param pt 平台信息
* @param place 位置信息
* @param session
* @param request
* @return
*/
@ResponseBody
@RequestMapping(value = "/save",method = { RequestMethod.GET, RequestMethod.POST })
public Map<String, Object> save(PT pt,String place,HttpSession session,HttpServletRequest request){
WKTReader wkt = new WKTReader();
com.vividsolutions.jts.geom.Geometry geometry =null;
try {
geometry = wkt.read(place);
} catch (ParseException e1) {
e1.printStackTrace();
}
Map<String, Object> map = new HashMap<String, Object>();
GovUser tuser =(GovUser) request.getSession().getAttribute("UserSession");
pt.setGeom((Point)geometry);
pt.setPoints(place);
try{
if(BeanUtil.isNotEmpty(tuser)){
pt.setCreateTime(new Date());
ptService.save(pt);
logger.debug("add success.....");
map.put("result", "success");
map.put("msg", "提交县域平台信息成功!");
}else{
map.put("result", "error");
map.put("msg", "用户未登录!");
}
}catch(Exception e){
map.put("result", "error");
map.put("msg", "提交县域平台信息失败!");
}
map.put("data",pt);
return map;
}
/**
* 修改平台状态信息
* @param id
* @param status
* @param request
* @return
*/
@ResponseBody
@RequestMapping(value = "/updatestatus", method = { RequestMethod.GET, RequestMethod.POST })
public Map<String, Object> updateStatus(Long id,Integer status,HttpServletRequest request){
Map<String, Object> map = new HashMap<>();
GovUser tuser =(GovUser) request.getSession().getAttribute("UserSession");
if(BeanUtil.isNotEmpty(tuser)){
try{
PT pt = ptService.findById(id);
if(BeanUtil.isNotEmpty(pt)){
pt.setStatus(status);
ptService.save(pt);
}
logger.debug("add success.....");
map.put("result", "chenggong");
map.put("msg", "状态修改成功!");
map.put("data",pt);
}catch(Exception e){
map.put("data",null);
map.put("result", "shibai");
map.put("msg", "状态修改失败!");
}
}else{
map.put("result", "error");
map.put("msg", "用户未登录!");
}
return map;
}
/**
* 删除县域平台
* @param id
* @param request
* @return
*/
@ResponseBody
@RequestMapping(value = "/del", method = { RequestMethod.GET, RequestMethod.POST })
public Map<String, Object> del(Long id,HttpServletRequest request){
Map<String, Object> map = new HashMap<>();
try{
ptService.delPT(id);
logger.debug("delsuccess.....");
map.put("result", "chenggong");
map.put("msg", "删除信息成功!");
}catch(Exception e){
map.put("result", "shibai");
map.put("msg", "删除信息失败!");
}
map.put("data", id);
return map;
}
/**
* 获取根据条件获取县域平台 查询当前系统和他的子集
* @param rows
* @param page
* @param status
* @param details
* @return
*/
@ResponseBody
@RequestMapping(value = "/getlist", method = { RequestMethod.GET, RequestMethod.POST })
public Map<String, Object> getlist(){
Map<String, Object> map = new HashMap<>();
//获取当前系统ID
String id= System.getenv("SXSK_WEB_ROOT");
System.err.print("当前主系统ID:"+id);
Long parentid = 1L;
PT pt = null;
PTVO vo = new PTVO();
//当前平台
if(id!=""){
parentid=Long.parseLong(id);
pt = ptService.findById(parentid);
}else {
pt = ptService.findById(1l);
}
BeanUtils.copyProperties(pt, vo);
// 组装条件组
ConditionGroup group = new ConditionGroup();
group.setSearchRelation(SearchRelation.AND);
//条件
List<SearchCondition> conditions = new ArrayList<SearchCondition>();
/*if(BeanUtil.isNotEmpty(level)){
if(Long.valueOf(level)!=-1){
conditions.add(new SearchCondition("level", Operator.EQ, level));
}
}*/
if(BeanUtil.isNotEmpty(parentid)){
if(Long.valueOf(parentid)!=-1){
conditions.add(new SearchCondition("parentid", Operator.EQ, parentid));
}
}
//把条件加到条件组中
group.setConditions(conditions);
List<PT> pts = ptService.findByConditions(group);
if (BeanUtil.isNotEmpty(pts)) {
vo.setChild(pts);
map.put("data", vo);
}else{
map.put("data",vo);
}
return map;
}
}
7.前端传参
<%@ page language="java" contentType="text/html; charset=UTF-8"
pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<%@ include file="/assets/global.jsp"%>
<title>县级平台</title>
<link href="${ctx}/assets/statis/css/font-awesome.min.css" rel="stylesheet">
<link rel="stylesheet" href="${ctx}/assets/css/comm.css"/>
<link rel="stylesheet" href="${ctx}/assets/css/xypt/xjpt.css"/>
<script src="${ctx}/assets/statis/js/jquery.min.js"></script>
<script src="${ctx}/assets/statis/js/tool.js"></script>
<script src="${ctx}/assets/statis/js/bootstrap.min.js"></script>
<script src="${ctx}/assets/libs/avalon/avalon.min.js"></script>
<script type="text/javascript" src="${ctx}/assets/js/ol3/ol-debug.js"></script>
<%-- <script src="${ctx}/assets/libs/cseajs/csea$.js" id="seajsnode" main="${ctx}/assets/js/xjpt.js"></script> --%>
<script type="text/javascript" src="${ctx}/assets/js/conf_4490.js"></script>
<script type="text/javascript">
var pageCfg = {
/*左侧树枝*/
action_leftinfor:ctx+"/xypt/getlist",///assets/data/information_wh.json
/*平台添加编辑*/
action_add:ctx+"/xypt/save",
/*平台删除*/
action_del:ctx+"/xypt/del",
/*根据ID平台信息获取*/
action_getid:ctx+"/xypt/findByID",
/*获取当前系统*/
action_root:ctx+"/xypt/getRoot",
};
var map, extent, center, projection, view, resolutions,draw,cursystem,curxjpt,vm,addoredit="add";
var wkt = new ol.format.WKT();
var controls = ol.control.defaults({
attribution: false,
rotate: false,
zoom:false
});
/**
* 用于临时绘画的图层
*/
var vectorLayer;
var source = new ol.source.Vector({wrapX: true});
var overlay, content;
/**
* 地图初始化完成后
*/
function afterInit(){
map.addControl(new ol.control.MousePosition({
coordinateFormat: ol.coordinate.createStringXY(4),
projection : projection
}));
//增加图层
vectorLayer = new ol.layer.Vector({
source: source,
style: new ol.style.Style({
fill: new ol.style.Fill({
color: 'rgba(255, 255, 255, 0.4)'
}),
stroke: new ol.style.Stroke({
color: '#f00',
width: 2
}),
image: new ol.style.Circle({
radius: 7,
fill: new ol.style.Fill({
color: '#f00'
})
})
})
});
map.addLayer(vectorLayer);
}
//注册绘制
function initDraw(){
source.clear();
draw = new ol.interaction.Draw({
source: source,
type: "Point"
});
map.addInteraction(draw);
draw.on('drawend',
function(evt) {
var geoms = evt.feature.getGeometry().getCoordinates();// [108.81274696136576, 34.310883846833875]
$('#addlat1').val(geoms[0]);
$('#addlon1').val(geoms[1]);
console.log(geoms[0]);
map.removeInteraction(draw);
}, this);
}
//新增点到地图上
function addPointToMap(obj){
source.clear();
//对象生成Feature
var geom = wkt.readGeometry(obj.points);
var f = new ol.Feature({
geometry: geom,
id: obj.id,
text: obj.ptname
});
source.addFeature(f);
var coord = geom.getCoordinates();
var point = /** @type {ol.geom.Point} */ (f.getGeometry());
var size = /** @type {ol.Size} */ (map.getSize());
/*view.centerOn(point.getCoordinates(), size, [570, 600]); */
//view.fit(point, {padding: [170, 50, 30, 150], minResolution: 50});
view.fit(point, {padding: [170, 50, 30, 150]});
}
//左侧列表
function getList(){
/*左边列表*/
$.getJSON(pageCfg.action_leftinfor,
function(data){
scenelist = data.data;
$.each(scenelist.child, function(i,item){
//var str = '<li onclick="gotosee('+ item.id + ')">'+ item.ptname + '<span class="op_btn green" onclick="gotoupdata('+ item.id + ')">编辑</span><span class="op_btn orange" onclick="delclick('+ item.id + ')">删除</span></li>'
// var str = '<li onclick="gotosee('+ item.id + ')">'+ item.ptname + '<span class="op_btn orange" onclick="delclick('+ item.id + ')">删除</span></li>'
var str = '<li><span class="text" onclick="gotosee('+ item.id + ')">'+ item.ptname + '</span><span class="lop_btn orange " onclick="delclick('+ item.id + ')">删除</span></li>'
$("#sendary-law").append(str)
});
});
getOne("",function(data){
var a = vm.pt;
if(data && data.system){
addPointToMap(data.system) ;
}
});
}
function getOne(tid,callback) {
var m =this;
var system = null;
if(!tid){
//cursystem
$.getJSON(pageCfg.action_root,
function(data){
if(data && data.system){
m.cursystem = data.system;
system = data.system;
console.log("cursystem"+data.system);
if(callback && typeof callback=="function"){
callback(data);
}
}
});
}else{
$.getJSON(pageCfg.action_getid+"?id="+ tid,
function(data){
if(data && data.system){
console.log("curxjpt"+tid+data.system);
m.curxjpt = data.system;
vm.pt = data.system;
system = data.system;
if(callback && typeof callback=="function"){
callback(data);
}
}
});
}
return system;
}
function delclick(tid) {
xyid = tid
$("#lwindow").removeClass("ldisplay");
}
//删除信息的关闭按钮
function lwclose() {
$("#lwindow").addClass("ldisplay");
}
//点击编辑的时候调用函数
function toedit() {
addoredit="edit";
$("#updateid3").attr("disabled",false);
$("#updateurl3").attr("disabled",false);
$("#updatename3").attr("disabled",false);
$("#lbtnerea").removeClass("ldisplay");
initDraw();
}
//删除县域的函数
function delid () {
$.getJSON(pageCfg.action_del+"?id="+ xyid,
function(data){
if(data && data.result){
if(data.result=="chenggong"){
//修改成功之后的处理(左侧列表重新查询,右侧还原)
$("#sendary-law").empty();
getList();
gotosee(data.data);
lwclose();
}
}
});
}
//点击新增时函数
function gotoadd () {
addoredit="add";
$("#rightcont >div").removeClass("ldisplay");
$("#rightcont >div").eq(0).addClass("ldisplay");
$("#rightcont >div").eq(2).addClass("ldisplay");
$("#sendary-law > li").removeClass("liactive");
$("#lbtnerea").removeClass("ldisplay");
initDraw();
}
//点击某一个进行修改时的函数 废弃
function gotoupdata (lid) {
addoredit="edit";
$("#rightcont >div").removeClass("ldisplay");
$("#rightcont >div").eq(1).addClass("ldisplay");
$("#rightcont >div").eq(2).addClass("ldisplay");
$("#lbtnerea").removeClass("ldisplay");
//重构地图
// initDraw();
}
/**
* 改变颜色
*/
function tabchangecolor (preid,classname,labelname) {
$("#" + preid + ">" + labelname).bind('click',function () {
var zind = $(this).index();
$("#" + preid + ">" + labelname).removeClass(classname);
$("#" + preid + ">" + labelname).eq(zind).addClass(classname);
})
}
//查看点击函数
function gotosee (tid) {
$("#rightcont >div").removeClass("ldisplay");
$("#rightcont >div").eq(0).addClass("ldisplay");
$("#rightcont >div").eq(1).addClass("ldisplay");
$("#lbtnerea").addClass("ldisplay");
$("#updateid3").attr("disabled",true);
$("#updateurl3").attr("disabled",true);
$("#updatename3").attr("disabled",true);
tabchangecolor('sendary-law', 'liactive', 'li');
var curxj = getOne(tid,function(data){
var a = vm.pt;
if(data && data.system){
addPointToMap(data.system)
}
var ss='';
if(a.style =='blue'){
ss = 21
}else if(a.style =='red'){
ss = 22
}else if (a.style == 'gray') {
ss = 23
}else {
ss = 21
}
$("input[name='color1']").each(function(index, element) {
if($(this).val()==ss){
$(this).prop("checked",true);
}
});
});
}
//新增保存函数
function addnewdata () {
debugger
var colorname='';
var colorsex = $("input[name='sex']:checked").val();
if (colorsex == 11) {
colorname = 'blue'
} else if (colorsex == 12) {
colorname = 'red'
}else if (colorsex == 13) {
colorname = 'gray'
}else {
colorname = 'blue'
}
if (addoredit=="edit") { //修改
var lats = $("#updatelat3").val();
var lons = $("#updatelon3").val();
if(!lats|| lats.trim().length <=0){
return ;
}
var place = "POINT("+lats+' '+lons+")";
debugger
console.log(place);
var prop = {
id:$("#updateid3").val(),
pturl: $("#updateurl3").val(),
ptname: $("#updatename3").val(),
parentid: 1,
style:colorname,
level:3,
status:0,
// points:place,
place:place
};
} else if (addoredit=="add") { //新增
var lats = $("#addlat1").val();
var lons = $("#addlon1").val();
var place = "POINT("+lats+' '+lons+")";
if(!lats|| lats.trim().length <=0){
return ;
}
var prop = {
pturl: $("#addurl").val(),
ptname: $("#addname").val(),
parentid: 1,
style:colorname,
level:3,
status:0,
// points:place,
place:place
};
}
$.post(pageCfg.action_add, prop, function(data){
if(data && data.result){
if(data.result=="success"){
//修改成功之后的处理(左侧列表重新查询,右侧还原)
$("#sendary-law").empty();
getList();
gotosee(data.data.id);
}
}
});
}
//修改保存数据
function changedata () {
var ncolor='';
var lcolor = $("input[name='color']:checked").val();
if (lcolor == 1) {
ncolor = 'blue'
} else if (lcolor == 2) {
ncolor = 'red'
}else if (lcolor == 3) {
ncolor = 'gray'
}else {
ncolor = 'blue'
}
var prop = {
id: $("#updateid").val(),
pturl: $("#updateurl").val(),
ptname: $("#updatename").val(),
style:ncolor,
};
$.getJSON(pageCfg.action_add, prop, function(data){
if(data && data.result){
if(data.result=="success"){
//修改成功之后的处理(左侧列表重新查询,右侧还原)
$("#sendary-law").empty();
getList();
gotosee(data.data.id);
}
}
});
}
</script>
</head>
<body style="min-height:1000px;overflow-y:hidden" onload="init_wmts()">
<em class="cl_loading"></em>
<jsp:include page="/assets/top.jsp"></jsp:include>
<div class="nav_1">
</div>
<div class="ptlists">
<div>
<div class="leftmenu" id="leftpro">
<div class="lfhead">县级平台</div>
<div class="ladd" onclick="gotoadd()">新增</div>
<ul class="litem" id="sendary-law">
</ul>
</div>
<div class="righterea" >
<div id="rightcont">
<!--修改-->
<div class="ldisplay">
<div ms-controller="xypt1">
<input type="text" id="parentid" ms-duplex="pt.parentid" class="parentid"/>
<div class="concect">平台标识:
<input type="text" value="1" id="updateid" ms-duplex="pt.id" disabled/></div>
<div class="concect">网 址:<input type="text" ms-duplex="pt.pturl" id="updateurl"/></div>
<div class="concect">系统名称:<input type="text" id="updatename"/></div>
<div class="lconcect">
<label>皮肤:</label>
<input type="radio" name="color" id="radioA" value='1'/><label for="radioA">经典蓝(默认)</label>
<input type="radio" name="color" id="radioB" value="2"/><label for="radioB">暖韵红</label>
<input type="radio" name="color" id="radioC" value="3"/><label for="radioC">炫酷黑</label>
</div>
<div class="location">
<div class="lat">经度:<input type="text" id="addlat"></div>
<div class="lat">纬度:<input type="text" id="addlon"></div>
</div>
</div><!--
<div class="lbtnerea">
<button class="lbtn" onclick="changedata">保存</button><button class="lbtn" onclick="cancel">取消</button>
</div> -->
</div>
<!--新增-->
<div class="ldisplay">
<div ms-controller="xypt2">
<!-- <div class="concect">平台标识:<input type="text" id="addid"/></div> -->
<input type="text" id="parentid" ms-duplex="pt.parentid" class="parentid"/>
<div class="concect">网 址:<input type="text" id="addurl" ms-duplex="pt.pturl" /></div>
<div class="concect">系统名称:<input type="text" id="addname" ms-duplex="pt.ptname"/></div>
<div class="lconcect">
<label>皮肤:</label>
<input type="radio" name="sex" id="radio1" checked value='11'/><label for="radio1">经典蓝(默认)</label>
<input type="radio" name="sex" id="radio2" value="12"/><label for="radio2">暖韵红</label>
<input type="radio" name="sex" id="radio3" value="13"/><label for="radio3">炫酷黑</label>
</div>
<div class="location">
<div class="lat">中心点:</div>
<div class="lat">经度<input type="text" id="addlat1" ms-duplex="lat"></div>
<div class="lat">纬度<input type="text" id="addlon1" ms-duplex="lon"></div>
<div class="lat" style="color:red;">(请在地图上选择经纬度)</div>
<input class="place" type="hidden" value="">
</div>
</div><!--
<div class="lmap">
<div id="map1"></div>
</div> -->
</div>
<!--查看 -->
<div class="see">
<div ms-controller="xypt">
<span class=" lbj op_btn green bj" onclick="toedit()">编辑</span>
<input type="text" id="parentid3" ms-duplex="pt.parentid" class="parentid"/>
<div class="concect">平台标识:<input type="text" ms-duplex="pt.id" id="updateid3" disabled/></div>
<div class="concect">网 址:<input type="text" id="updateurl3" ms-duplex="pt.pturl" disabled /></div>
<div class="concect">系统名称:<input type="text" id="updatename3" ms-duplex="pt.ptname" disabled/></div>
<div class="lconcect" >
<label>皮肤:</label>
<input type="radio" name="color1" id="radiox" value='21' /><label for="radiox">经典蓝(默认)</label>
<input type="radio" name="color1" id="radioy" value="22" /><label for="radioy">暖韵红</label>
<input type="radio" name="color1" id="radioz" value="23" /><label for="radioz">炫酷黑</label>
</div>
<div class="location" >
<div class="lat">经 度:<input type="text" disabled id="updatelat3" ms-duplex="lat" ></div>
<div class="lat">纬度:<input type="text" disabled id="updatelon3" ms-duplex="lon" ></div>
</div>
</div><!--
<div class="lmap">
<div id="map"></div>
</div> -->
</div>
</div>
<div class="lmap">
<div></div>
<div id="map"></div>
</div>
<div class="lbtnerea ldisplay" id="lbtnerea" >
<button class="lbtn lwblue" onclick="addnewdata()">保存</button> <button class="lbtn" onclick="cancel">取消</button>
</div>
</div>
<!--弹出层-->
<div class="lwindow ldisplay" id='lwindow'>
<div class="lwcont">
<div class="lwhead">信息</div>
<div class="lwtext">你确定要删除吗?</div>
<div class="lberea">
<button class="lwbtn lwblue" onclick="delid()">确定</button>
<button class="lwbtn" onclick="lwclose()">取消</button>
</div>
</div>
</div>
</div>
</div>
<script type="text/javascript">
var c={};
//获取菜单
c.getsubmenu = function(callback){
$.get(ctx+"/getmenu",function(t){
callback(t.menus);
})
}
//获取用户
c.getUser = function(callback){
$.get(ctx + "/getinfo", {}, function(tk){
//var data;
if(!tk.user){
if(window.ctx)
c.alert(tk.msg,function(){
//todo:获取用户信息失败,自动跳到登陆
location.href = ctx + "/login";
});
return;
}else{
data = tk.user;
}
if(!data.headimg){
data.headimg = c._def_user_icon
}else{
data.headimg = c.media_url + data.headimg;
}
(callback || $.noop)(data);
})
}
$(function(){
/*县级平台左边点击*/
tabchangecolor('sendary-law', 'liactive', 'li');
var lo = $(".op_bar a:contains(退出)");
lo.click(function(){
top.logout();
});
/**
* 注销
*/
if(top == window){
window.logout = function(callback){
top.location.href = ctx + "/logout";
}
}
if(!$("#__fm1").length){
c.getUser(function(data){
var tpl = '<em >当前用户:</em><a style="padding-left: 0.5em;" class=user href='+ ctx + "user/toinfo" +'>'+ data.name +'</a><a class="exit" href="#">退出</a>';
$(".op_bar").append(tpl);
})
}
$(".nav_1").each(function(i){
var me=$(this).empty();
c.getsubmenu(function(menus){
$.each(menus,function(key,ele){
me.append(
'<a href="'+ ele.href + '">'+ ele.text +'</a>'
)
ele.href = ele.href.replace(/\:\d+/,"");
//子菜单高亮
if(location.href.replace(/\:\d+/,"").indexOf(ele.href) !=-1){
me.children(":last").addClass("cur");
}
});
})
});
vm = avalon.define({
$id: "xypt",
pt: {id:1,
level:1,
parentid:0,
points:"POINT (109.27824631000004 35.25287165000003)",
ptname:"陕西省",
pturl:null,
status:0,
style:"blue"},
parentid:1,
lat:"109.27824631000004",
lon:"35.25287165000003",
place:""
});
getList();
})
</script>
</body>
</html>
8效果