@Transient注解输出空间位置属性

 一、@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效果

 

将不定期更新资源,欢迎持续关注


想获得更多的学习知识请关注微信公众号:西北码农或扫下方二维码

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值