143 lines
3.6 KiB
JavaScript
143 lines
3.6 KiB
JavaScript
"use script"; //开发环境建议开启严格模式
|
||
|
||
//对应widget.js中MyWidget实例化后的对象
|
||
var thisWidget;
|
||
var $table;
|
||
|
||
function getHeight() {
|
||
return $(window).height() - 40;
|
||
}
|
||
|
||
//当前页面业务
|
||
function initWidgetView(_thisWidget) {
|
||
thisWidget = _thisWidget;
|
||
|
||
plotFile.initEvent();
|
||
|
||
$("#btn_marker_Add").bind("click", function () {
|
||
thisWidget.drawPoint();
|
||
});
|
||
|
||
//清除所有标号
|
||
$("#btn_plot_delall").click(function () {
|
||
thisWidget.deleteAll();
|
||
refMarkerList();
|
||
});
|
||
|
||
//是否可以编辑
|
||
var isedit = true;
|
||
$("#btn_plot_isedit").click(function () {
|
||
isedit = !isedit;
|
||
|
||
if (isedit) {
|
||
$(this).removeClass("active");
|
||
$(this).children().removeClass("fa-lock").addClass("fa-unlock");
|
||
} else {
|
||
$(this).addClass("active");
|
||
$(this).children().removeClass("fa-unlock").addClass("fa-lock");
|
||
}
|
||
thisWidget.hasEdit(isedit);
|
||
});
|
||
|
||
$table = $("#table");
|
||
$table.bootstrapTable({
|
||
height: getHeight(),
|
||
singleSelect: true, //单选
|
||
pagination: false,
|
||
pageSize: 6,
|
||
iconsPrefix: "fa",
|
||
columns: [
|
||
{
|
||
field: "name",
|
||
title: "名称",
|
||
sortable: true,
|
||
editable: false,
|
||
align: "left",
|
||
},
|
||
{
|
||
field: "operate",
|
||
title: "操作",
|
||
align: "center",
|
||
width: 50,
|
||
events: {
|
||
"click .remove": function (e, value, row, index) {
|
||
thisWidget.deleteItemById(row.id);
|
||
},
|
||
},
|
||
formatter: function (value, row, index) {
|
||
return ['<a class="remove" href="javascript:void(0)" title="删除">', '<i class="fa fa-trash"></i>', "</a>"].join("");
|
||
},
|
||
},
|
||
],
|
||
onClickRow: function (rowData, $element, field) {
|
||
thisWidget.flyTo(rowData.id);
|
||
},
|
||
});
|
||
$(window).resize(function () {
|
||
$table.bootstrapTable("refreshOptions", {
|
||
height: getHeight(),
|
||
});
|
||
});
|
||
refMarkerList();
|
||
}
|
||
|
||
function refMarkerList() {
|
||
var arr = thisWidget.getGraphicAttrList();
|
||
$table.bootstrapTable("load", arr);
|
||
}
|
||
|
||
//文件处理
|
||
var plotFile = {
|
||
initEvent: function () {
|
||
var that = this;
|
||
|
||
var isClearForOpenFile;
|
||
$("#btn_plot_openfile").click(function () {
|
||
isClearForOpenFile = true;
|
||
$("#input_plot_file").click();
|
||
});
|
||
|
||
$("#btn_plot_openfile2").click(function () {
|
||
isClearForOpenFile = false;
|
||
$("#input_plot_file").click();
|
||
});
|
||
$("#btn_plot_savefile").click(function () {
|
||
var data = thisWidget.getJsonData();
|
||
if (data == null || data == "") {
|
||
toastr.error("当前未标记任何数据!");
|
||
} else {
|
||
haoutil.file.downloadFile("我的标记点.json", data);
|
||
}
|
||
});
|
||
|
||
$("#input_plot_file").change(function (e) {
|
||
var file = this.files[0];
|
||
|
||
var fileName = file.name;
|
||
var fileType = fileName.substring(fileName.lastIndexOf(".") + 1, fileName.length).toLowerCase();
|
||
if (fileType != "json") {
|
||
toastr.error("文件类型不合法,请选择json格式标注文件!");
|
||
that.clearPlotFile();
|
||
return;
|
||
}
|
||
|
||
if (window.FileReader) {
|
||
var reader = new FileReader();
|
||
reader.readAsText(file, "UTF-8");
|
||
reader.onloadend = function (e) {
|
||
var strjson = JSON.parse(this.result);
|
||
thisWidget.loadJson(strjson, isClearForOpenFile);
|
||
that.clearPlotFile();
|
||
};
|
||
}
|
||
});
|
||
},
|
||
clearPlotFile: function () {
|
||
if (!window.addEventListener) {
|
||
document.getElementById("input_plot_file").outerHTML += ""; //IE
|
||
} else {
|
||
document.getElementById("input_plot_file").value = ""; //FF
|
||
}
|
||
},
|
||
};
|