网站
Não pode escolher mais do que 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.

propertyDetail.js 6.4 KiB

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