237 lines
7.2 KiB
JavaScript
237 lines
7.2 KiB
JavaScript
var shapevm;
|
|
$(function () {
|
|
initshape();
|
|
});
|
|
|
|
var selectedShapeFileID = [];
|
|
function initshape() {
|
|
shapevm = new Vue({
|
|
el: '#shapeList',
|
|
data: {
|
|
shapes: []
|
|
},
|
|
methods: {
|
|
reload: function (data) {
|
|
this.shapes = data;
|
|
|
|
var selcount = 0;
|
|
for (var i = 0; i < this.shapes.length; i++) {
|
|
var o = this.shapes[i];
|
|
if (o.Selected) selcount++;
|
|
}
|
|
|
|
var chkSelectAllShape = document.getElementById("chkSelectAllShape");
|
|
if (selcount == 0) {
|
|
chkSelectAllShape.checked = false;
|
|
chkSelectAllShape.indeterminate = false;
|
|
}
|
|
else if (selcount == this.shapes.length) {
|
|
chkSelectAllShape.checked = true;
|
|
chkSelectAllShape.indeterminate = false;
|
|
}
|
|
else {
|
|
chkSelectAllShape.indeterminate = true;
|
|
}
|
|
},
|
|
chkShapeClick: function (e, s) {
|
|
var t = $(e.target);
|
|
var checked = t.prop("checked");
|
|
if (checked) {
|
|
getShapeFileData(s);
|
|
if (selectedShapeFileID.indexOf(s.ID) < 0) {
|
|
selectedShapeFileID.push(s.ID);
|
|
}
|
|
}
|
|
else {
|
|
mapHelper.removeShape(s);
|
|
selectedShapeFileID.splice(selectedShapeFileID.indexOf(s.ID), 1);
|
|
}
|
|
|
|
this.reload(this.shapes);
|
|
},
|
|
linkShapeClick: function (s) {
|
|
locateShape(s);
|
|
s.Selected = true;
|
|
if (selectedShapeFileID.indexOf(s.ID) < 0) {
|
|
selectedShapeFileID.push(s.ID);
|
|
}
|
|
|
|
this.reload(this.shapes);
|
|
},
|
|
deleteShapeClick: function (m, ev) {
|
|
var e = { data: m };
|
|
deleteShapeClick(e);
|
|
}
|
|
}
|
|
});
|
|
}
|
|
|
|
function getShapeFileInfos() {
|
|
var item = {
|
|
'Key': companyids,
|
|
'Value': htmlencode($("#txtShapeSearchText").val())
|
|
};
|
|
|
|
_network.mapviewquery("GetShapeFileInfos", JSON.stringify(item), function (data) {
|
|
if (typeof (data) === "string") {
|
|
_dialog.showAlert(data, GetTextByKey("P_MV_ERROR", 'Error'));
|
|
return;
|
|
}
|
|
for (var i in data) {
|
|
if (selectedShapeFileID.indexOf(data[i].ID) < 0)
|
|
data[i].Selected = false;
|
|
else
|
|
data[i].Selected = true;
|
|
}
|
|
shapevm.reload(data);
|
|
}, function () {
|
|
});
|
|
}
|
|
|
|
function showConfirm1(msg, title, fok, fcancel) {
|
|
showmaskbg(true);
|
|
$('#addodomask').show();
|
|
$('#addenginehoursmask').show();
|
|
_dialog.showConfirm(msg, title, function (e) {
|
|
showmaskbg(false);
|
|
$('#addodomask').hide();
|
|
$('#addenginehoursmask').hide();
|
|
if (typeof fok === 'function') {
|
|
fok(e);
|
|
}
|
|
}, function () {
|
|
showmaskbg(false);
|
|
$('#addodomask').hide();
|
|
$('#addenginehoursmask').hide();
|
|
});
|
|
}
|
|
|
|
function deleteShapeClick(e) {
|
|
if (!e.data) {
|
|
return;
|
|
}
|
|
var item = {
|
|
'Key': e.data.CompanyID,
|
|
'Value': e.data.ID
|
|
};
|
|
showmaskbg(true);
|
|
showConfirm1(GetTextByKey("P_MV_DOYOUWANTTODELETETHESHAPEFILE", 'Do you want to delete the shape file?'), GetTextByKey("p_MV_DELETESHAPEFILE", 'Delete Shape File'), function () {
|
|
_network.mapviewquery("DeleteShape", JSON.stringify(item), function (data) {
|
|
mapHelper.removeShape(e.data);
|
|
getShapeFileInfos();
|
|
}, function (err) {
|
|
_dialog.showAlert(GetTextByKey("P_MV_FAILEDTODELETETHISSHAPLEFILE", 'Failed to delete this shaple file.'), GetTextByKey("p_MV_DELETESHAPEFILE", 'Delete Shape File'));
|
|
});
|
|
});
|
|
}
|
|
|
|
function openImportShapeFile() {
|
|
$('#dialog_shapename').val('');
|
|
$('#dialog_shapenotes').val('');
|
|
$('#span_filename').text('');
|
|
showmaskbg(true);
|
|
$('#dialog_importshapefile .dialog-title span.title').text(GetTextByKey("P_MV_IMPORTSHAPEFILE", 'Import Shape File'));
|
|
$('#dialog_importshapefile')
|
|
.attr('act', 'edit')
|
|
.css({
|
|
'width': 500,
|
|
'top': (document.documentElement.clientHeight - $('#dialog_importshapefile').height()) / 4,
|
|
'left': (document.documentElement.clientWidth - $('#dialog_importshapefile').width()) / 2
|
|
})
|
|
.showDialogfixed();
|
|
}
|
|
|
|
var shapefiledata;
|
|
function UploadImportShapeFile() {
|
|
var file = $('<input type="file" style="display: none;" accept=".shp,.kml,.kmz"/>');
|
|
file.change(function () {
|
|
var file = this.files[0];
|
|
shapefiledata = file;
|
|
$('#span_filename').text(file.name);
|
|
var name = $("#dialog_shapename").val();
|
|
if (!name || name.length == 0) {
|
|
if (file.name.length > 100)
|
|
$("#dialog_shapename").val(file.name.substring(0, 100));
|
|
else
|
|
$("#dialog_shapename").val(file.name);
|
|
}
|
|
|
|
}).click();
|
|
}
|
|
|
|
function SaveImportShapeFile() {
|
|
if (!shapefiledata)
|
|
return;
|
|
|
|
var item = {
|
|
'Key': companyids,
|
|
'Value': $("#dialog_shapename").val(),
|
|
'Tag1': $("#dialog_shapenotes").val(),
|
|
};
|
|
|
|
if (!item.Value || item.Value.length == 0) {
|
|
_dialog.showAlert(GetTextByKey("P_MV_SHAPENAMECANNOTBEEMPTY", 'Shape name cannot be empty.'), GetTextByKey("P_MV_IMPORTSHAPEFILE", 'Import Shape File'));
|
|
return;
|
|
}
|
|
var param = JSON.stringify(item);
|
|
param = htmlencode(param);
|
|
|
|
var formData = new FormData();
|
|
formData.append("iconFile", shapefiledata);
|
|
formData.append("MethodName", "ImportShape");
|
|
formData.append("ClientData", param);
|
|
$.ajax({
|
|
url: 'mapview.ashx?tp=ashx',
|
|
type: 'POST',
|
|
dataType: 'json',
|
|
processData: false,
|
|
contentType: false,
|
|
data: formData,
|
|
async: true,
|
|
success: function (data) {
|
|
if (data !== "OK") {
|
|
_dialog.showAlert(data, GetTextByKey("P_MV_ERROR", 'Error'));
|
|
return;
|
|
}
|
|
getShapeFileInfos();
|
|
shapefiledata = undefined;
|
|
$('#dialog_importshapefile').hideDialog();
|
|
showmaskbg(false);
|
|
},
|
|
error: function (err) {
|
|
_dialog.showAlert(err.statusText, GetTextByKey("P_MV_IMPORTSHAPEFILE", 'Import Shape File'));
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
function getShapeFileData(s, needLocate) {
|
|
var item = {
|
|
'Key': s.CompanyID,
|
|
'Value': s.ID,
|
|
'Tag1': s.FileName
|
|
};
|
|
|
|
_network.mapviewquery("GetShapeData", JSON.stringify(item), function (data) {
|
|
if (typeof (data) === "string") {
|
|
_dialog.showAlert(data, GetTextByKey("P_MV_ERROR", 'Error'));
|
|
return;
|
|
}
|
|
s.Shape = data;
|
|
|
|
if (needLocate)
|
|
locateShape(s);
|
|
else
|
|
mapHelper.showShape(s);
|
|
}, function () {
|
|
});
|
|
}
|
|
|
|
function locateShape(s) {
|
|
if (s.Shape) {
|
|
mapHelper.showShape(s);
|
|
mapHelper.locateShape(s);
|
|
}
|
|
else
|
|
getShapeFileData(s, true);
|
|
} |