网站
Você não pode selecionar mais de 25 tópicos Os tópicos devem começar com uma letra ou um número, podem incluir traços ('-') e podem ter até 35 caracteres.
 
 
 

157 linhas
6.1 KiB

  1. /**
  2. * Created by Administrator on 2021/4/5.
  3. */
  4. define(['jquery', "template", "Tools", "paging", 'dateTime', 'swiper'], function ($, template, Tools) {
  5. //数据存储
  6. var module = {
  7. data: {
  8. propertyList:'',
  9. phone: '',
  10. leader: '',
  11. map: '', // 地图图层
  12. },
  13. };
  14. var tools = new Tools();
  15. module.init = function (page) {
  16. tools.doGet(zjdzdxxGet+getQueryVariable('id'), {translate_dict: 1}, module.assetDetail , true);
  17. tools.doGet(webList, {}, module.webList , true);
  18. // var map = new BMapGL.Map('container'); // 创建Map实例
  19. // map.centerAndZoom(new BMapGL.Point(116.320938,39.950026), 18); // 初始化地图,设置中心点坐标和地图级别
  20. // map.enableScrollWheelZoom(false); // 开启鼠标滚轮缩放
  21. };
  22. module.useContent = function (data) {
  23. if (data.code == 200) {
  24. module.data.phone = data.data.phone;
  25. module.data.leader = data.data.leader;
  26. var propertyDetailData = template('propertyDetailData', module.data);
  27. $("#propertyDetailContent").html(propertyDetailData);
  28. initMap(data.data);
  29. }
  30. }
  31. initMap = function (dept) {
  32. document.getElementById("container").innerHTML = "";
  33. // 定义地图投影
  34. let projection = new ol.proj.Projection({
  35. code: "EPSG:3857",
  36. units: "degrees",
  37. });
  38. // 定义地图图层
  39. let aerial = new ol.layer.Tile({
  40. source: new ol.source.XYZ({
  41. url: "http://t{0-7}.tianditu.com/img_w/wmts?" +
  42. "SERVICE=WMTS&REQUEST=GetTile&VERSION=1.0.0&LAYER=img&STYLE=default&TILEMATRIXSET=w&FORMAT=tiles" +
  43. "&TILEMATRIX={z}&TILEROW={y}&TILECOL={x}&tk=cc4aba6e967096098249efa069733067",
  44. }),
  45. isGroup: true,
  46. name: "卫星影像图",
  47. });
  48. let yingxzi = new ol.layer.Tile({
  49. source: new ol.source.XYZ({
  50. url: "http://t{0-7}.tianditu.com/DataServer?T=cia_w&x={x}&y={y}&l={z}&tk=cc4aba6e967096098249efa069733067",
  51. }),
  52. isGroup: true,
  53. name: "天地图文字标注--卫星影像图",
  54. });
  55. //加载地图
  56. module.data.map = new ol.Map({
  57. controls: ol.control.defaults({attribution: false, zoom: false, rotate: false}).extend([]),
  58. layers: [aerial, yingxzi],
  59. projection: projection,
  60. target: "container",
  61. view: new ol.View({
  62. // center: mapCenterLocation, // 地图中心坐标
  63. zoom: 16,
  64. minZoom: 1, //地图缩小限制
  65. maxZoom: 18, //地图放大限制
  66. }),
  67. /*interactions: ol.interaction.defaults({
  68. doubleClickZoom: false, // 双击放大地图
  69. // mouseWheelZoom: false, // 鼠标滚轮放大地图
  70. // shiftDragZoom: false, // shift + 鼠标左键拖拽 放大地图
  71. })*/
  72. });
  73. if (module.data.propertyDetail && module.data.propertyDetail.theGeomJson) {
  74. const homesteadDetail = new ol.layer.Vector({
  75. source: new ol.source.Vector({
  76. features: new ol.format.GeoJSON().readFeatures(module.data.propertyDetail.theGeomJson),
  77. }),
  78. name: 'homesteadDetail',
  79. style: new ol.style.Style({
  80. fill: new ol.style.Fill({
  81. //矢量图层填充颜色,以及透明度
  82. color: "rgba(22, 233, 15, 0.3)",
  83. }),
  84. stroke: new ol.style.Stroke({
  85. //边界样式
  86. color: "#16E90F",
  87. width: 2,
  88. }),
  89. })
  90. });
  91. module.data.map.addLayer(homesteadDetail);
  92. module.data.map.getView().setCenter(ol.extent.getCenter(homesteadDetail.getSource().getExtent()));
  93. } else {
  94. module.data.map.getView().setCenter(ol.proj.fromLonLat([dept.lng, dept.lat]));
  95. }
  96. }
  97. module.webList = function (data) {
  98. if (data.code == 200) {
  99. var content = data.data;
  100. module.data.webList = content;
  101. var webData = template('webData', module.data);
  102. $("#webContent").html(webData);
  103. var titData = template('titData', module.data);
  104. $("#titContent").html(titData);
  105. }
  106. }
  107. module.assetDetail = function(data){
  108. if (data.code == 200) {
  109. var content = data.data;
  110. module.data.propertyDetail = content;
  111. tools.doGet(attachmentList, {
  112. tableId:content.id,
  113. tableName: 't_homestead_zjdzdxx',
  114. bizPath: 'home'
  115. }, module.attachmentDetail , true);
  116. tools.doGet(treeselectSecond+content.deptId, {}, module.useContent , true);
  117. // var propertyDetailData = template('propertyDetailData', module.data);
  118. // $("#propertyDetailContent").html(propertyDetailData);
  119. // $('#dialog').css('display','block');
  120. }
  121. }
  122. module.attachmentDetail = function(data){
  123. if (data.code == 200) {
  124. var content = data.rows;
  125. var attachmentList = [];
  126. content.map(res=>{
  127. if (res.fileName.indexOf('png')>-1||res.fileName.indexOf('jpg')>-1){
  128. attachmentList.push(res);
  129. }
  130. })
  131. module.data.attachment = attachmentList;
  132. var propertyDetailData = template('propertyDetailData', module.data);
  133. $("#propertyDetailContent").html(propertyDetailData);
  134. $('#dialog').css('display','block');
  135. }
  136. }
  137. //获取地址栏参数
  138. function getQueryVariable(variable){
  139. var query = window.location.search.substring(1);
  140. var vars = query.split("&");
  141. for (var i=0;i<vars.length;i++) {
  142. var pair = vars[i].split("=");
  143. if(pair[0] == variable){return pair[1];}
  144. }
  145. return(false);
  146. }
  147. return module;
  148. });