Advertisement
Fratris

widget.js

Jul 29th, 2019
72
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. define(['dojo/_base/declare', 'jimu/BaseWidget', 'dijit/_WidgetsInTemplateMixin',
  2.         'esri/layers/FeatureLayer', 'jimu/dijit/PageUtils', 'esri/tasks/IdentifyTask',
  3.         'esri/tasks/IdentifyParameters', 'esri/symbols/SimpleFillSymbol', 'esri/symbols/SimpleLineSymbol',
  4.         'esri/graphic', 'esri/Color', 'dojo/_base/lang', 'dojo/on', 'dojo/domReady!', 'esri/tasks/QueryTask',
  5.         'esri/tasks/query', 'dojo/_base/html', 'dojo/dom', "esri/tasks/IdentifyTask", "esri/map", "esri/geometry/Extent",
  6.         "esri/layers/ArcGISDynamicMapServiceLayer", "esri/geometry/Point", "esri/SpatialReference",
  7.         "esri/symbols/TextSymbol", "esri/renderers/SimpleRenderer", "esri/layers/LabelClass",
  8.         './html2pdf.bundle.min', 'dijit/form/Button', 'esri/geometry/Point', 'esri/geometry/Polygon',
  9.         'jimu/loaderplugins/jquery-loader!https://code.jquery.com/jquery-3.4.1.min.js'
  10.     ],
  11.     function(declare, BaseWidget, _WidgetsInTemplateMixin, FeatureLayer,
  12.         PageUtils, IdentifyTask, IdentifyParameters,
  13.         SimpleFillSymbol, SimpleLineSymbol, Graphic,
  14.         Color, lang, on, domReady, QueryTask, Query,
  15.         html, dom, IdentifyTask, Map, Extent,
  16.         ArcGISDynamicMapServiceLayer, Point, SpatialReference,
  17.         TextSymbol, SimpleRenderer, LabelClass, html2pdf, Button, Point, Polygon) {
  18.  
  19.         var baseWidgetClass = declare([BaseWidget, _WidgetsInTemplateMixin], {
  20.             baseClass: 'jimu-widget-demo',
  21.  
  22.             postCreate: function() { // POST CREATE!
  23.                 this.inherited(arguments);
  24.                 this.map.infoWindow.hide();
  25.                 // Start of the modal fucntion, do not touch. ==============================================================================================//
  26.                 // A simple jQuery modal (http://github.com/kylefox/jquery-modal)
  27.                 //Version 0.9.1
  28.                 ! function(o) { "object" == typeof module && "object" == typeof module.exports ? o(require("jquery"), window, document) : o(jQuery, window, document) }(function(o, t, i, e) {
  29.                     var s = [],
  30.                         l = function() { return s.length ? s[s.length - 1] : null },
  31.                         n = function() { var o, t = !1; for (o = s.length - 1; o >= 0; o--) s[o].$blocker && (s[o].$blocker.toggleClass("current", !t).toggleClass("behind", t), t = !0) };
  32.                     o.modal = function(t, i) {
  33.                         var e, n;
  34.                         if (this.$body = o("body"), this.options = o.extend({}, o.modal.defaults, i), this.options.doFade = !isNaN(parseInt(this.options.fadeDuration, 10)), this.$blocker = null, this.options.closeExisting)
  35.                             for (; o.modal.isActive();) o.modal.close();
  36.                         if (s.push(this), t.is("a"))
  37.                             if (n = t.attr("href"), this.anchor = t, /^#/.test(n)) {
  38.                                 if (this.$elm = o(n), 1 !== this.$elm.length) return null;
  39.                                 this.$body.append(this.$elm), this.open()
  40.                             } else this.$elm = o("<div>"), this.$body.append(this.$elm), e = function(o, t) { t.elm.remove() }, this.showSpinner(), t.trigger(o.modal.AJAX_SEND), o.get(n).done(function(i) {
  41.                                 if (o.modal.isActive()) {
  42.                                     t.trigger(o.modal.AJAX_SUCCESS);
  43.                                     var s = l();
  44.                                     s.$elm.empty().append(i).on(o.modal.CLOSE, e), s.hideSpinner(), s.open(), t.trigger(o.modal.AJAX_COMPLETE)
  45.                                 }
  46.                             }).fail(function() {
  47.                                 t.trigger(o.modal.AJAX_FAIL);
  48.                                 var i = l();
  49.                                 i.hideSpinner(), s.pop(), t.trigger(o.modal.AJAX_COMPLETE)
  50.                             });
  51.                         else this.$elm = t, this.anchor = t, this.$body.append(this.$elm), this.open()
  52.                     }, o.modal.prototype = {
  53.                         constructor: o.modal,
  54.                         open: function() {
  55.                             var t = this;
  56.                             this.block(), this.anchor.blur(), this.options.doFade ? setTimeout(function() { t.show() }, this.options.fadeDuration * this.options.fadeDelay) : this.show(), o(i).off("keydown.modal").on("keydown.modal", function(o) {
  57.                                 var t = l();
  58.                                 27 === o.which && t.options.escapeClose && t.close()
  59.                             }), this.options.clickClose && this.$blocker.click(function(t) { t.target === this && o.modal.close() })
  60.                         },
  61.                         close: function() { s.pop(), this.unblock(), this.hide(), o.modal.isActive() || o(i).off("keydown.modal") },
  62.                         block: function() { this.$elm.trigger(o.modal.BEFORE_BLOCK, [this._ctx()]), this.$body.css("overflow", "hidden"), this.$blocker = o('<div class="' + this.options.blockerClass + ' blocker current"></div>').appendTo(this.$body), n(), this.options.doFade && this.$blocker.css("opacity", 0).animate({ opacity: 1 }, this.options.fadeDuration), this.$elm.trigger(o.modal.BLOCK, [this._ctx()]) },
  63.                         unblock: function(t) {!t && this.options.doFade ? this.$blocker.fadeOut(this.options.fadeDuration, this.unblock.bind(this, !0)) : (this.$blocker.children().appendTo(this.$body), this.$blocker.remove(), this.$blocker = null, n(), o.modal.isActive() || this.$body.css("overflow", "")) },
  64.                         show: function() { this.$elm.trigger(o.modal.BEFORE_OPEN, [this._ctx()]), this.options.showClose && (this.closeButton = o('<a href="#close-modal" rel="modal:close" class="close-modal ' + this.options.closeClass + '">' + this.options.closeText + "</a>"), this.$elm.append(this.closeButton)), this.$elm.addClass(this.options.modalClass).appendTo(this.$blocker), this.options.doFade ? this.$elm.css({ opacity: 0, display: "inline-block" }).animate({ opacity: 1 }, this.options.fadeDuration) : this.$elm.css("display", "inline-block"), this.$elm.trigger(o.modal.OPEN, [this._ctx()]) },
  65.                         hide: function() {
  66.                             this.$elm.trigger(o.modal.BEFORE_CLOSE, [this._ctx()]), this.closeButton && this.closeButton.remove();
  67.                             var t = this;
  68.                             this.options.doFade ? this.$elm.fadeOut(this.options.fadeDuration, function() { t.$elm.trigger(o.modal.AFTER_CLOSE, [t._ctx()]) }) : this.$elm.hide(0, function() { t.$elm.trigger(o.modal.AFTER_CLOSE, [t._ctx()]) }), this.$elm.trigger(o.modal.CLOSE, [this._ctx()])
  69.                         },
  70.                         showSpinner: function() { this.options.showSpinner && (this.spinner = this.spinner || o('<div class="' + this.options.modalClass + '-spinner"></div>').append(this.options.spinnerHtml), this.$body.append(this.spinner), this.spinner.show()) },
  71.                         hideSpinner: function() { this.spinner && this.spinner.remove() },
  72.                         _ctx: function() { return { elm: this.$elm, $elm: this.$elm, $blocker: this.$blocker, options: this.options } }
  73.                     }, o.modal.close = function(t) { if (o.modal.isActive()) { t && t.preventDefault(); var i = l(); return i.close(), i.$elm } }, o.modal.isActive = function() { return s.length > 0 }, o.modal.getCurrent = l, o.modal.defaults = { closeExisting: !0, escapeClose: !0, clickClose: !0, closeText: "Close", closeClass: "", modalClass: "modal", blockerClass: "jquery-modal", spinnerHtml: '<div class="rect1"></div><div class="rect2"></div><div class="rect3"></div><div class="rect4"></div>', showSpinner: !0, showClose: !0, fadeDuration: null, fadeDelay: 1 }, o.modal.BEFORE_BLOCK = "modal:before-block", o.modal.BLOCK = "modal:block", o.modal.BEFORE_OPEN = "modal:before-open", o.modal.OPEN = "modal:open", o.modal.BEFORE_CLOSE = "modal:before-close", o.modal.CLOSE = "modal:close", o.modal.AFTER_CLOSE = "modal:after-close", o.modal.AJAX_SEND = "modal:ajax:send", o.modal.AJAX_SUCCESS = "modal:ajax:success", o.modal.AJAX_FAIL = "modal:ajax:fail", o.modal.AJAX_COMPLETE = "modal:ajax:complete", o.fn.modal = function(t) { return 1 === this.length && new o.modal(this, t), this }, o(i).on("click.modal", 'a[rel~="modal:close"]', o.modal.close), o(i).on("click.modal", 'a[rel~="modal:open"]', function(t) { t.preventDefault(), o(this).modal() })
  74.                 });
  75.                 // End of the modal function. ===============================================================================================//
  76.                 //===========================================================================================================================//
  77.             },
  78.  
  79.  
  80.  
  81.             startup: function() {
  82.                 this.inherited(arguments);
  83.                 console.log('startup');
  84.             },
  85.  
  86.             //GERAR FICHA ===============================================================================================================//
  87.             _onBtnPrintClicked: function() {
  88.  
  89.                 objID = dom.byId("objID").value;
  90.                 where = "OBJECTID = " + objID;
  91.  
  92.                 console.log("Query Iniciado...");
  93.                 var queryUrl = "https://ENTER/SERVICE/URL/HERE/FeatureServer/0";
  94.                 var queryTask = new QueryTask(queryUrl);
  95.                 var query = new Query();
  96.                 query.returnGeometry = true;
  97.                 query.outFields = ["*"];
  98.                 query.where = where;
  99.                 console.log("Gerando Ficha...");
  100.  
  101.                 queryTask.execute(query).then(function(results) {
  102.                     newExtent = new Extent(results.features[0].geometry.getExtent());
  103.  
  104.                     //MAP CREATION ================================================
  105.                     fichaMap = new Map("mapDiv", {
  106.                         extent: newExtent,
  107.                         showLabels: true,
  108.                         logo: false,
  109.                         zoom: 16,
  110.                         slider: false
  111.                     });
  112.  
  113.                     // fichaMap.setExtent(newExtent);
  114.  
  115.                     // ===========================================================
  116.  
  117.                     // LAYERS ====================================================
  118.                     // Logradouros Labeling ======================================
  119.                     var layerLotes = new FeatureLayer("https://ENTER/SERVICE/URL/HERE/FeatureServer/0");
  120.                     fichaMap.addLayer(layerLotes);
  121.  
  122.                     var logradColor = new Color("#000");
  123.                     var logradLine = new SimpleLineSymbol("solid", logradColor, 1);
  124.                     var logradSymbol = new SimpleFillSymbol("solid", logradLine, null);
  125.                     var logradRender = new SimpleRenderer(logradSymbol);
  126.  
  127.                     layerLograd = "https://ENTER/SERVICE/URL/HERE/FeatureServer/0";
  128.  
  129.                     layerLogradRender = new FeatureLayer(layerLograd, {
  130.                         id: "layerLogradRender",
  131.                         outFields: ["*"]
  132.                     });
  133.                     layerLogradRender.setRenderer(logradRender);
  134.  
  135.                     var logradLabels = new TextSymbol().setColor(logradColor);
  136.                     logradLabels.font.setSize("8pt");
  137.                     logradLabels.font.setFamily("arial");
  138.  
  139.                     var logradJSON = {
  140.                         "labelExpressionInfo": { "value": "{TIPO} {LOGRADOURO}" }
  141.                     };
  142.  
  143.                     var logradLabelClass = new LabelClass(logradJSON);
  144.                     logradLabelClass.symbol = logradLabels;
  145.                     layerLogradRender.setLabelingInfo([logradLabelClass]);
  146.                     // fichaMap.addLayer(layerLogradRender);
  147.  
  148.                     // QUERY FEATURE LABELING ====================================
  149.  
  150.                     var patHistoricoColor = new Color("#000");
  151.                     var patHistoricoLine = new SimpleLineSymbol("solid", patHistoricoColor, 4);
  152.                     var patHistoricoSymbol = new SimpleFillSymbol("solid", patHistoricoLine, null);
  153.                     // var patHistoricoRender = new SimpleRenderer(patHistoricoSymbol);
  154.  
  155.                     patHistoricoUrl = "https://ENTER/SERVICE/URL/HERE/FeatureServer/0";
  156.                     patHistoricoLayer = new FeatureLayer(patHistoricoUrl, {
  157.                         id: "patHistoricoRender",
  158.                         outFields: ["*"]
  159.                     });
  160.                     //=============================================================
  161.                     let rings = results.features[0].geometry.rings;
  162.                     let spatialRef = results.features[0].geometry.spatialReference;
  163.  
  164.                     var polygonJson = {
  165.                         rings,
  166.                         spatialRef
  167.                     };
  168.  
  169.                     var polygonOne = new Polygon(polygonJson);
  170.  
  171.                     var x = polygonOne.getCentroid().x;
  172.                     var y = polygonOne.getCentroid().y;
  173.  
  174.                     var pointOne = new Point(x, y, new SpatialReference(results.features[0].geometry.spatialReference));
  175.  
  176.                     //=============================================================
  177.  
  178.                     // patHistoricoLayer.setRenderer(patHistoricoRender);
  179.                     fichaMap.addLayer(patHistoricoLayer);
  180.                     fichaMap.addLayer(layerLogradRender);
  181.  
  182.  
  183.                     //ZOOMING AND ADDING GRAPHICS ================================
  184.                     // fichaMap.centerAt(pointOne);
  185.  
  186.                     // ON LOAD  
  187.                     fichaMap.on("load", function() {
  188.                         fichaMap.disableDoubleClickZoom();
  189.                         fichaMap.graphics.add(new Graphic(results.features[0].geometry, patHistoricoSymbol));
  190.                         fichaMap.setZoom(fichaMap.getZoom() + 15);
  191.                     });
  192.                     // ON CLICK
  193.                     fichaMap.on("click", function() {
  194.                         fichaMap.centerAt(pointOne);
  195.                         fichaMap.graphics.add(new Graphic(results.features[0].geometry, patHistoricoSymbol));
  196.                         // fichaMap.setExtent(newExtent);
  197.                         // console.log(pointOne);
  198.                     });
  199.  
  200.                     // ADDING AND LABELING IMAGES. ============================================
  201.                     // ===========================================================
  202.                     featObjID = results.features[0].attributes.OBJECTID;
  203.                     var oldImg = dom.byId("oldImg");
  204.                     var newImg = dom.byId("newImg");
  205.  
  206.                     console.log("Loading Image...");
  207.  
  208.                     // IMAGE CLEANER ====================================================
  209.  
  210.                     function imageCleaner() {
  211.                         oldImg.src = "";
  212.                         newImg.src = "";
  213.                     }
  214.  
  215.                     imageCleaner();
  216.  
  217.                     // =================================================================
  218.  
  219.                     patHistoricoUrl = "https://ENTER/SERVICE/URL/HERE/FeatureServer/0";
  220.                     patHistoricoLayer = new FeatureLayer(patHistoricoUrl, {
  221.                         id: "patHistoricoRender",
  222.                         outFields: ["*"]
  223.                     });
  224.  
  225.                     patHistoricoLayer.queryAttachmentInfos(featObjID, function(resultado) {
  226.                         console.log(resultado[0]);
  227.                         console.log(resultado[1]);
  228.                         var oldimgUrl = resultado[0].url;
  229.  
  230.  
  231.  
  232.                         // ADDING IMAGE 1 ========================================
  233.  
  234.                         function convertImgToBase64URL(url, callback, outputFormat) {
  235.                             var img = new Image();
  236.                             img.crossOrigin = 'Anonymous';
  237.                             img.onload = function() {
  238.                                 var canvas = document.createElement('CANVAS'),
  239.                                     ctx = canvas.getContext('2d'),
  240.                                     dataURL;
  241.  
  242.                                 // canvas.height = 215;
  243.                                 // canvas.width = 190;
  244.                                 canvas.height = img.height;
  245.                                 canvas.width = img.width;
  246.                                 ctx.drawImage(img, 0, 0);
  247.                                 dataURL = canvas.toDataURL(resultado[0].contentType, 0.1);
  248.                                 callback(dataURL);
  249.                                 canvas = null;
  250.                             };
  251.                             img.src = url;
  252.                         }
  253.  
  254.                         convertImgToBase64URL(oldimgUrl, function(base64Img) {
  255.                             // Base64DataURL
  256.                             oldImg.src = base64Img;
  257.                             // console.log(base64Img);
  258.                         });
  259.  
  260.                         // Old Image Title =======================================
  261.                         var oldImgTitle = resultado[0].name;
  262.                         var oldImgTitle = oldImgTitle.substring(oldImgTitle.length - 4, oldImgTitle.length - 8);
  263.                         dom.byId("oldImgTitle").innerHTML = oldImgTitle;
  264.  
  265.                         // ADDING IMAGE 2 ========================================
  266.                         if (resultado[1] != undefined) {
  267.                             var newimgUrl = resultado[1].url;
  268.  
  269.                             function convertImgToBase64URL(url, callback, outputFormat) {
  270.                                 var img = new Image();
  271.                                 img.crossOrigin = 'Anonymous';
  272.                                 img.onload = function() {
  273.                                     var canvas = document.createElement('CANVAS'),
  274.                                         ctx = canvas.getContext('2d'),
  275.                                         dataURL;
  276.  
  277.                                     canvas.height = img.height;
  278.                                     canvas.width = img.width;
  279.                                     ctx.drawImage(img, 0, 0);
  280.                                     dataURL = canvas.toDataURL(resultado[1].contentType, 0.1);
  281.                                     callback(dataURL);
  282.                                     canvas = null;
  283.                                 };
  284.                                 img.src = url;
  285.                             }
  286.  
  287.                             convertImgToBase64URL(newimgUrl, function(base64Img) {
  288.                                 newImg.src = base64Img;
  289.  
  290.                             });
  291.  
  292.                             // New Image Title =======================================
  293.                             var newImgTitle = resultado[1].name;
  294.                             var newImgTitle = newImgTitle.substring(newImgTitle.length - 4, newImgTitle.length - 8);
  295.                             dom.byId("newImgTitle").innerHTML = newImgTitle;
  296.                         }
  297.                     });
  298.  
  299.                     // CLEANER ====================================================
  300.  
  301.                     function fieldCleaner() {
  302.                         dom.byId("X1").innerHTML = ""
  303.                         dom.byId("X2").innerHTML = ""
  304.                         dom.byId("X3").innerHTML = ""
  305.                         dom.byId("X4").innerHTML = ""
  306.                         dom.byId("X5").innerHTML = ""
  307.                         dom.byId("X6").innerHTML = ""
  308.                         dom.byId("X7").innerHTML = ""
  309.                         dom.byId("X8").innerHTML = ""
  310.                         dom.byId("Y1").innerHTML = ""
  311.                         dom.byId("Y2").innerHTML = ""
  312.                         dom.byId("Y3").innerHTML = ""
  313.                         dom.byId("Z1").innerHTML = ""
  314.                         dom.byId("Z2").innerHTML = ""
  315.                         dom.byId("Z3").innerHTML = ""
  316.                         dom.byId("Z4").innerHTML = ""
  317.                         dom.byId("A1").innerHTML = ""
  318.                         dom.byId("A2").innerHTML = ""
  319.                         dom.byId("A3").innerHTML = ""
  320.                         dom.byId("B1").innerHTML = ""
  321.                         dom.byId("B2").innerHTML = ""
  322.                         dom.byId("B3").innerHTML = ""
  323.                         dom.byId("B4").innerHTML = ""
  324.                         dom.byId("gphAbandonadoS").innerHTML = ""
  325.                         dom.byId("gphAbandonadoN").innerHTML = ""
  326.                     }
  327.  
  328.                     fieldCleaner();
  329.                     // ===========================================================
  330.  
  331.                     // DECRETO CONDITIONAL========================================
  332.                     if (results.features[0].attributes.CLASSIFICACAO_DECRETO_7176 == 1) {
  333.                         dom.byId("gphDecreto7176").innerHTML = "1º GRAU"
  334.                     } else if (results.features[0].attributes.CLASSIFICACAO_DECRETO_7176 == 2) {
  335.                         dom.byId("gphDecreto7176").innerHTML = "2º GRAU"
  336.                     } else if (results.features[0].attributes.CLASSIFICACAO_DECRETO_7176 == 3) {
  337.                         dom.byId("gphDecreto7176").innerHTML = "NÃO LISTADO"
  338.                     } else if (results.features[0].attributes.CLASSIFICACAO_DECRETO_7176 == null) {
  339.                         dom.byId("gphDecreto7176").innerHTML = "NENHUM"
  340.                     }
  341.  
  342.                     //SETOR CONDITIONAL===========================================
  343.                     if (results.features[0].attributes.SETOR == 1) {
  344.                         dom.byId("gphSetor").innerHTML = "SETOR 01"
  345.                     } else if (results.features[0].attributes.SETOR == 2) {
  346.                         dom.byId("gphSetor").innerHTML = "SETOR 02"
  347.                     } else if (results.features[0].attributes.SETOR == 3) {
  348.                         dom.byId("gphSetor").innerHTML = "SETOR 03"
  349.                     } else if (results.features[0].attributes.SETOR == null) {
  350.                         dom.byId("gphSetor").innerHTML = "NENHUM"
  351.                     }
  352.  
  353.                     // SUBSETOR/PLANO DIRETOR CONDITIONAL=========================
  354.                     if (results.features[0].attributes.SUBSETOR == 1) {
  355.                         dom.byId("gphSubsetor").innerHTML = "CENTRO ANTIGO/SITIO HISTORICO"
  356.                     } else if (results.features[0].attributes.SUBSETOR == 2) {
  357.                         dom.byId("gphSubsetor").innerHTML = "SITIO HISTORICO"
  358.                     } else if (results.features[0].attributes.SUBSETOR == 3) {
  359.                         dom.byId("gphSubsetor").innerHTML = "CENTRO ANTIGO"
  360.                     } else if (results.features[0].attributes.SUBSETOR == 4) {
  361.                         dom.byId("gphSubsetor").innerHTML = "CENTRO ANTIGO/ORLA APARECIDA"
  362.                     } else if (results.features[0].attributes.SUBSETOR == 5) {
  363.                         dom.byId("gphSubsetor").innerHTML = "CENTRO ANTIGO/BARES E RESTAURANTES"
  364.                     } else if (results.features[0].attributes.SUBSETOR == 6) {
  365.                         dom.byId("gphSubsetor").innerHTML = "CENTRO ANTIGO/BARES E RESTAURANTES/SITIO HISTORICO"
  366.                     } else if (results.features[0].attributes.SUBSETOR == null) {
  367.                         dom.byId("gphSubsetor").innerHTML = "NENHUM"
  368.                     }
  369.  
  370.                     // TOMBAMENTO CONDITIONAL=====================================
  371.                     if (results.features[0].attributes.SUBSETOR == 1) {
  372.                         dom.byId("gphTombamento").innerHTML = "MUNICIPAL"
  373.                     } else if (results.features[0].attributes.TOMBAMENTO_INDIVIDUAL == 2) {
  374.                         dom.byId("gphTombamento").innerHTML = "ESTADUAL"
  375.                     } else if (results.features[0].attributes.TOMBAMENTO_INDIVIDUAL == 3) {
  376.                         dom.byId("gphTombamento").innerHTML = "FEDERAL"
  377.                     } else if (results.features[0].attributes.TOMBAMENTO_INDIVIDUAL == 4) {
  378.                         dom.byId("gphTombamento").innerHTML = "NENHUM"
  379.                     } else if (results.features[0].attributes.TOMBAMENTO_INDIVIDUAL == 5) {
  380.                         dom.byId("gphTombamento").innerHTML = "MUNICIPAL/ESTADUAL"
  381.                     } else if (results.features[0].attributes.TOMBAMENTO_INDIVIDUAL == 6) {
  382.                         dom.byId("gphTombamento").innerHTML = "MUNICIPAL/FEDERAL"
  383.                     } else if (results.features[0].attributes.TOMBAMENTO_INDIVIDUAL == null) {
  384.                         dom.byId("gphTombamento").innerHTML = "NENHUM"
  385.                     }
  386.  
  387.                     // REVISÃO DECRETO 7176/AÇÃO CONDITIONAL======================
  388.                     if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 1) {
  389.                         dom.byId("gphRevisao").innerHTML = "MANTER"
  390.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 2) {
  391.                         dom.byId("gphRevisao").innerHTML = "INCLUIR"
  392.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 3) {
  393.                         dom.byId("gphRevisao").innerHTML = "EXCLUIR"
  394.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == null) {
  395.                         dom.byId("gphRevisao").innerHTML = "NENHUM"
  396.                     }
  397.  
  398.                     // AREA TOMBAMENTO CONDITIONAL================================
  399.                     if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 1) {
  400.                         dom.byId("gphArea").innerHTML = "MUNICIPAL"
  401.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 2) {
  402.                         dom.byId("gphArea").innerHTML = "ESTADUAL"
  403.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 3) {
  404.                         dom.byId("gphArea").innerHTML = "FEDERAL"
  405.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 4) {
  406.                         dom.byId("gphArea").innerHTML = "NENHUMA"
  407.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == 5) {
  408.                         dom.byId("gphArea").innerHTML = "MUNICIPAL/FEDERAL"
  409.                     } else if (results.features[0].attributes.REVISAO_DECRETO_ACAO == null) {
  410.                         dom.byId("gphArea").innerHTML = "NENHUM"
  411.                     }
  412.  
  413.                     //===============================================//
  414.                     // USO DE IMOVEL CONDITIONAL
  415.                     if (results.features[0].attributes.USO_IMOVEL == 1) {
  416.                         dom.byId("X1").innerHTML = "X"
  417.                     } else if (results.features[0].attributes.USO_IMOVEL == 2) {
  418.                         dom.byId("X2").innerHTML = "X"
  419.                     } else if (results.features[0].attributes.USO_IMOVEL == 3) {
  420.                         dom.byId("X3").innerHTML = "X"
  421.                     } else if (results.features[0].attributes.USO_IMOVEL == 4) {
  422.                         dom.byId("X4").innerHTML = "X"
  423.                     } else if (results.features[0].attributes.USO_IMOVEL == 5) {
  424.                         dom.byId("X5").innerHTML = "X"
  425.                     } else if (results.features[0].attributes.USO_IMOVEL == 6) {
  426.                         dom.byId("X6").innerHTML = "X"
  427.                     } else if (results.features[0].attributes.USO_IMOVEL == 7) {
  428.                         dom.byId("X7").innerHTML = "X"
  429.                     } else if (results.features[0].attributes.USO_IMOVEL == 8) {
  430.                         dom.byId("X8").innerHTML = "X"
  431.                     }
  432.  
  433.  
  434.                     // SITUACAO CONDITIONAL
  435.                     if (results.features[0].attributes.SITUACAO_IMOVEL == 1) {
  436.                         dom.byId("Y1").innerHTML = "X"
  437.                     } else if (results.features[0].attributes.SITUACAO_IMOVEL == 2) {
  438.                         dom.byId("Y2").innerHTML = "X"
  439.                     } else if (results.features[0].attributes.SITUACAO_IMOVEL == 3) {
  440.                         dom.byId("Y3").innerHTML = "X"
  441.                     }
  442.  
  443.                     // CONSERVACAO CONDITIONAL
  444.                     if (results.features[0].attributes.CONSERVACAO == 1) {
  445.                         dom.byId("Z1").innerHTML = "X"
  446.                     } else if (results.features[0].attributes.CONSERVACAO == 2) {
  447.                         dom.byId("Z2").innerHTML = "X"
  448.                     } else if (results.features[0].attributes.CONSERVACAO == 3) {
  449.                         dom.byId("Z3").innerHTML = "X"
  450.                     } else if (results.features[0].attributes.CONSERVACAO == 4) {
  451.                         dom.byId("Z4").innerHTML = "X"
  452.                     }
  453.  
  454.                     // FACHADA CONDITIONAL
  455.                     if (results.features[0].attributes.FACHADA == 1) {
  456.                         dom.byId("A1").innerHTML = "X"
  457.                     } else if (results.features[0].attributes.FACHADA == 2) {
  458.                         dom.byId("A2").innerHTML = "X"
  459.                     } else if (results.features[0].attributes.FACHADA == 3) {
  460.                         dom.byId("A3").innerHTML = "X"
  461.                     }
  462.  
  463.                     // COBERTURA CONDITIONAL
  464.                     if (results.features[0].attributes.COBERTURA == 1) {
  465.                         dom.byId("B1").innerHTML = "X"
  466.                     } else if (results.features[0].attributes.COBERTURA == 2) {
  467.                         dom.byId("B2").innerHTML = "X"
  468.                     } else if (results.features[0].attributes.COBERTURA == 3) {
  469.                         dom.byId("B3").innerHTML = "X"
  470.                     } else if (results.features[0].attributes.COBERTURA == 4) {
  471.                         dom.byId("B4").innerHTML = "X"
  472.                     }
  473.  
  474.                     // ABANDONO CONDITIONAL
  475.                     if (results.features[0].attributes.IMOVEL_ABANDONADO == 1) {
  476.                         dom.byId("gphAbandonadoS").innerHTML = "X"
  477.                     } else if (results.features[0].attributes.IMOVEL_ABANDONADO == 2) {
  478.                         dom.byId("gphAbandonadoN").innerHTML = "X"
  479.                     }
  480.  
  481.                     //TIMESTAMP CONVERSION ===============================//
  482.                     var dataAtualização = results.features[0].attributes.DATA_ATUALIZACAO + 14400000;
  483.                     var dataString = dataAtualização.toString();
  484.                     var subData = dataString.substring(0, dataString.length - 3);
  485.                     date = new Date(subData * 1000);
  486.  
  487.                     var day = date.getDate();
  488.                     var month = date.getMonth() + 1;
  489.  
  490.                     if (day < 10) {
  491.                         day = "0" + day;
  492.                     }
  493.  
  494.                     if (month < 10) {
  495.                         month = "0" + month;
  496.                     }
  497.  
  498.                     var dateString = day + "/" + month + "/" + date.getFullYear();
  499.                     dom.byId("gphDataAtualizacao").innerHTML = dateString;
  500.                     //====================================================//
  501.  
  502.                     //DIVERSOS
  503.                     dom.byId("gphEndereco").innerHTML = results.features[0].attributes.ENDERECO;
  504.                     dom.byId("gphDescaracterizacao").innerHTML = results.features[0].attributes.DESCARACTERIZACAO;
  505.                     dom.byId("gphObservacao").innerHTML = results.features[0].attributes.OBSERVACOES;
  506.  
  507.                 });
  508.             },
  509.             _onButtonPDFClicked: function() {
  510.                 var element = dom.byId("ex1");
  511.  
  512.                 html2pdf(element, {
  513.                     margin: [0.5, 0.3, 0, 0],
  514.                     width: 500,
  515.                     filename: "ficha_técnica_GPH.pdf",
  516.                     image: {
  517.                         type: 'jpg',
  518.                         quality: 0.98
  519.                     },
  520.                     html2canvas: {
  521.                         dpi: 192,
  522.                         letterRendering: true
  523.                     },
  524.                     jsPDF: {
  525.                         unit: 'in',
  526.                         format: 'a4',
  527.                         orientation: 'portrait'
  528.                     }
  529.                 });
  530.             }
  531.         });
  532.         return baseWidgetClass;
  533.     });
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement