| | |
| | | 'use script' //开发环境建议开启严格模式 |
| | | "use script"; //开发环境建议开启严格模式 |
| | | |
| | | //对应widget.js中MyWidget实例化后的对象 |
| | | var thisWidget |
| | | var $table |
| | | var thisWidget; |
| | | var $table; |
| | | |
| | | function getHeight() { |
| | | return $(window).height() - 50 |
| | | return $(window).height() - 50; |
| | | } |
| | | |
| | | //当前页面业务 |
| | | function initWidgetView(_thisWidget) { |
| | | thisWidget = _thisWidget |
| | | thisWidget = _thisWidget; |
| | | |
| | | $("#btn_bookmark_Add").bind("click", function () { |
| | | saveBookmark(); |
| | | }); |
| | | |
| | | $('#btn_bookmark_Add').bind('click', function () { |
| | | saveBookmark() |
| | | }) |
| | | |
| | | $table = $('#table') |
| | | $table = $("#table"); |
| | | $table.bootstrapTable({ |
| | | height: getHeight(), |
| | | singleSelect: true, //单选 |
| | | pagination: false, |
| | | pageSize: 6, |
| | | iconsPrefix: 'fa', |
| | | iconsPrefix: "fa", |
| | | showHeader: false, |
| | | columns: [ |
| | | { |
| | | title: '', |
| | | title: "", |
| | | sortable: true, |
| | | editable: false, |
| | | align: 'center', |
| | | align: "center", |
| | | events: { |
| | | 'click .remove': function (e, value, row, index) { |
| | | delBookMark(row.id) |
| | | "click .remove": function (e, value, row, index) { |
| | | delBookMark(row.id); |
| | | }, |
| | | }, |
| | | formatter: function (value, row, index) { |
| | | return `<div class="bookmarkitem" title="${row.name}"> |
| | | <img src="${row.icon}" style="width:100%;" /> |
| | | <div class="title"> |
| | | ${row.name} |
| | | <p>${row.name}</p> |
| | | <a class="remove" href="javascript:void(0)" title="删除"><i class="fa fa-trash"></i></a> |
| | | </div> |
| | | </div>` |
| | | </div>`; |
| | | }, |
| | | }, |
| | | ], |
| | | onClickRow: function (rowData, $element, field) { |
| | | var location = rowData.data |
| | | thisWidget.showExtent(location) |
| | | var location = rowData.data; |
| | | thisWidget.showExtent(location); |
| | | }, |
| | | }) |
| | | }); |
| | | $(window).resize(function () { |
| | | $table.bootstrapTable('refreshOptions', { |
| | | $table.bootstrapTable("refreshOptions", { |
| | | height: getHeight(), |
| | | }) |
| | | }) |
| | | }); |
| | | }); |
| | | |
| | | //读取localStorage |
| | | initBookMarkList() |
| | | initBookMarkList(); |
| | | } |
| | | |
| | | var storageName = 'mars3d_bookmark' |
| | | var arrBookmark = [] |
| | | var storageName = "mars3d_bookmark"; |
| | | var arrBookmark = []; |
| | | |
| | | function initBookMarkList() { |
| | | if (window.parent.hasServer) { |
| | | //后台接口 |
| | | parent.sendAjax({ |
| | | url: 'v1/map/bookmark/list', |
| | | type: 'get', |
| | | dataType: 'json', |
| | | contentType: 'application/x-www-form-urlencoded', |
| | | url: "v1/map/bookmark/list", |
| | | type: "get", |
| | | dataType: "json", |
| | | contentType: "application/x-www-form-urlencoded", |
| | | success: function (result) { |
| | | var arr = [] |
| | | var arr = []; |
| | | for (var i = 0; i < result.length; i++) { |
| | | var itme = result[i] |
| | | var itme = result[i]; |
| | | if (!itme) { |
| | | continue |
| | | continue; |
| | | } |
| | | arr.push({ |
| | | name: itme.name, |
| | | data: JSON.parse(itme.center), |
| | | id: itme.id, |
| | | }) |
| | | }); |
| | | } |
| | | arrBookmark = arr |
| | | showListData(arrBookmark) |
| | | arrBookmark = arr; |
| | | showListData(arrBookmark); |
| | | }, |
| | | error: function (XMLHttpRequest, textStatus, errorThrown) { |
| | | alert('服务出错:' + XMLHttpRequest.statusText + ',代码 ' + XMLHttpRequest.status) |
| | | alert("服务出错:" + XMLHttpRequest.statusText + ",代码 " + XMLHttpRequest.status); |
| | | }, |
| | | }) |
| | | }); |
| | | } else { |
| | | var lastcookie = haoutil.storage.get(storageName) //读取localStorage值 |
| | | if (lastcookie != null) { |
| | | arrBookmark = eval(lastcookie) |
| | | } |
| | | if (arrBookmark == null || arrBookmark.length == 0) { |
| | | arrBookmark = [] |
| | | } |
| | | showListData(arrBookmark) |
| | | localforage.getItem(storageName).then((arrBookmark) => { |
| | | if (arrBookmark == null) { |
| | | arrBookmark = []; |
| | | } |
| | | showListData(arrBookmark); |
| | | }); |
| | | } |
| | | } |
| | | |
| | | //添加 |
| | | function saveBookmark() { |
| | | if (arrBookmark == null) { |
| | | arrBookmark = [] |
| | | arrBookmark = []; |
| | | } |
| | | |
| | | var name = $.trim($('#txt_bookmark_name').val()).replace("'", '').replace('"', '') |
| | | var name = $.trim($("#txt_bookmark_name").val()).replace("'", "").replace('"', ""); |
| | | if (name.length == 0) { |
| | | toastr.warning('请输入名称') |
| | | return |
| | | toastr.warning("请输入名称"); |
| | | return; |
| | | } |
| | | for (var index = arrBookmark.length - 1; index >= 0; index--) { |
| | | if (arrBookmark[index].name == name) { |
| | | toastr.info('该名称已存在,请更换!') |
| | | return |
| | | toastr.info("该名称已存在,请更换!"); |
| | | return; |
| | | } |
| | | } |
| | | |
| | | thisWidget.getThisExtent(function (bounds, base64) { |
| | | arrBookmark.insert( |
| | | haoutil.array.insert( |
| | | arrBookmark, |
| | | { |
| | | name: name, |
| | | data: bounds, |
| | |
| | | id: new Date().getTime(), |
| | | }, |
| | | 0 |
| | | ) |
| | | ); |
| | | |
| | | if (window.parent.hasServer) { |
| | | //后台保存接口 |
| | | parent.sendAjax({ |
| | | url: 'v1/map/bookmark/add', |
| | | url: "v1/map/bookmark/add", |
| | | data: JSON.stringify({ |
| | | name: name, //名称 |
| | | center: JSON.stringify(bounds), //中心 |
| | | }), |
| | | type: 'post', |
| | | dataType: 'json', |
| | | contentType: 'application/json', |
| | | type: "post", |
| | | dataType: "json", |
| | | contentType: "application/json", |
| | | success: function (result) { |
| | | $('#txt_bookmark_name').val('') |
| | | initBookMarkList() |
| | | $("#txt_bookmark_name").val(""); |
| | | initBookMarkList(); |
| | | }, |
| | | }) |
| | | }); |
| | | } else { |
| | | //本地存储 |
| | | var lastcookie = JSON.stringify(arrBookmark) |
| | | haoutil.storage.add(storageName, lastcookie) |
| | | $('#txt_bookmark_name').val('') |
| | | initBookMarkList() |
| | | localforage.setItem(storageName, arrBookmark).then((value) => { |
| | | $("#txt_bookmark_name").val(""); |
| | | initBookMarkList(); |
| | | }) |
| | | } |
| | | }) |
| | | }); |
| | | } |
| | | |
| | | function delBookMark(id) { |
| | | if (window.parent.hasServer) { |
| | | //后台 删除 |
| | | parent.sendAjax({ |
| | | url: 'v1/map/bookmark/' + id, |
| | | type: 'delete', |
| | | dataType: 'json', |
| | | contentType: 'application/json', |
| | | url: "v1/map/bookmark/" + id, |
| | | type: "delete", |
| | | dataType: "json", |
| | | contentType: "application/json", |
| | | success: function (result) { |
| | | for (var index = arrBookmark.length - 1; index >= 0; index--) { |
| | | if (arrBookmark[index].id == id) { |
| | | arrBookmark.splice(index, 1) |
| | | showListData(arrBookmark) |
| | | break |
| | | arrBookmark.splice(index, 1); |
| | | showListData(arrBookmark); |
| | | break; |
| | | } |
| | | } |
| | | }, |
| | | }) |
| | | }); |
| | | } else { |
| | | for (var index = arrBookmark.length - 1; index >= 0; index--) { |
| | | if (arrBookmark[index].id == id) { |
| | | arrBookmark.splice(index, 1) |
| | | var lastcookie = JSON.stringify(arrBookmark) |
| | | haoutil.storage.add(storageName, lastcookie) |
| | | showListData(arrBookmark) |
| | | break |
| | | arrBookmark.splice(index, 1); |
| | | |
| | | localforage.setItem(storageName, arrBookmark); |
| | | showListData(arrBookmark); |
| | | break; |
| | | } |
| | | } |
| | | } |
| | | } |
| | | |
| | | function showListData(arr) { |
| | | var positon = $table.bootstrapTable('getScrollPosition') |
| | | $table.bootstrapTable('load', arr) |
| | | $table.bootstrapTable('scrollTo', positon) |
| | | var positon = $table.bootstrapTable("getScrollPosition"); |
| | | $table.bootstrapTable("load", arr); |
| | | $table.bootstrapTable("scrollTo", positon); |
| | | } |