123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913 |
- /**
- * [ONEMAP.M.projectController]
- * @return {[object]}
- */
- define(['html!templates/menu/projectController',
- 'css!styles/menu/projectController'
- ], function(tplLayout) {
- /**
- * 模块数据 用于数据存储和外部调用
- * @type {Object}
- * 数据存放
- */
- var modValue = {
- webSocket: null,
- currentProjectInfo: null,
- options: {
- project_name: "test",
- currentOriginId: "1",
- controllOptions: {},
- curinfomation: null
- },
- menuProjectObjs: null,
- markerGroup: null,
- polyGroup: null,
- markerId: {},
- polylineId: {},
- appendToMyLayer: null
- };
- /**
- * 模块界面样式 例如:宽,高
- * @type {Object}
- */
- var styles = {};
- /**
- * 模块状态,用于存储模块的状态 例如:收起,关闭
- * @type {Object}
- */
- var status = {
- initialized: false,
- isShowChild: false,
- connect: false,
- webSocketState: false
- };
- /**
- * 查询参数
- * @type {Object}
- */
- var options = {};
- /**
- *
- * 初始化并订阅事件
- * @return {[type]} [description]
- */
- function init() {
- if (!status.initialized) {
- subscribe();
- bindEvent();
- setLayout();
- status.initialized = true;
- }
- if (modValue.webSocket && (modValue.webSocket.readyState === 0 || modValue.webSocket.readyState === 1)) {
- modValue.webSocket.close();
- }
- if (!modValue.markerGroup) {
- modValue.markerGroup = map23DControl.group({
- action: 'add'
- })
- }
- if (!modValue.polyGroup) {
- modValue.polyGroup = map23DControl.group({
- action: 'add'
- })
- }
- modValue.webSocket = null;
- status.webSocketState = false;
- modValue.currentProjectInfo = null;
- /*ONEMAP.C.publisher.publish({
- modName: 'projectController'
- }, 'menuListClick');*/
- //connectSocket();
- $("#menu .startCommit span").click();
- layoutResize();
- getCurrentProject();
- }
- /**
- * 创建冒泡窗
- */
- function creatPopupHtml(options) {
- var popupHtml = '<div class="popup_html">' +
- ' <div class="popup-lt"></div>' +
- ' <div class="popup-lb"></div>' +
- ' <div class="popup-rt"></div>' +
- ' <div class="popup-rb"></div>' +
- ' <div class="popup-ct" style="text-indent:15px;line-height:48px">' + options.name +
- ' </div>' +
- ' <div class="popup-cb" style="padding-bottom:20px;color:#666666 !important">' + options.content + '</div>' +
- '</div>'
- return popupHtml;
- }
- /**
- * 设置界面
- */
- function setLayout() {
- $(tplLayout).appendTo($("#wrapper"));
- //拖拽
- $("#chosseHistroyPositionTime .popup-ct").dragmove($('#chosseHistroyPositionTime'));
- }
- function getCurrentProject() {
- ONEMAP.V.loading.load();
- $.ajax({
- url: onemapUrlConfig.websocketApiUrl + '/project/' + modValue.options.project_name,
- type: 'GET',
- dataType: 'jsonp'
- })
- .done(function(data) {
- ONEMAP.V.loading.loaded();
- if (data.code == 0) {
- modValue.options.controllOptions['project_data'] = data['data'];
- } else {
- ONEMAP.C.publisher.publish({ type: 'error', message: data['msg'] }, 'noteBar::add');
- }
- })
- .fail(function() {
- ONEMAP.V.loading.loaded();
- ONEMAP.C.publisher.publish({ type: 'error', message: '获取项目数据失败!' }, 'noteBar::add');
- });
- }
- /**
- * 界面事件绑定
- * @return {[type]} [description]
- */
- function bindEvent() {
- $("#menu .startCommit span").unbind('click').bind('click', function() {
- status.connect = true;
- $("#menu .startCommit").hide();
- $("#menu .stopCommit").show();
- if (modValue.webSocket && (modValue.webSocket.readyState === 0 || modValue.webSocket.readyState === 1)) {
- modValue.webSocket.close();
- }
- connectSocket();
- if (!modValue.appendToMyLayer) {
- var options = {
- action: "add",
- mod:'zhihuiji',
- DOM: {
- name: '指挥机',
- type: "group",
- guid: modValue.markerGroup
- }
- }
- modValue.appendToMyLayer = ONEMAP.M.myLayers.myLayerControl(options);
- ONEMAP.C.publisher.subscribe(controlMyLayer, modValue.appendToMyLayer);
- }
- })
- $("#menu .stopCommit span").unbind('click').bind('click', function() {
- if (modValue.webSocket && (modValue.webSocket.readyState === 0 || modValue.webSocket.readyState === 1)) {
- modValue.webSocket.close();
- }
- modValue.webSocket = null;
- status.webSocketState = false;
- status.connect = false;
- $("#menu .stopCommit").hide();
- $("#menu .startCommit").show();
- })
- $("#menu .commitMecal .im-2 .fu").unbind('click').bind('click', function() {
- if ($(this).parent().hasClass('active')) {
- $(this).parent().removeClass('active');
- $(this).children().css({
- "background": "url(../images/layout/right.png) left no-repeat"
- })
- $(this).next().hide();
- } else {
- $(this).parent().addClass('active');
- $(this).children().css({
- "background": "url(../images/layout/down.png) left no-repeat"
- })
- $(this).next().show();
- }
- $("#menu .infoMenu .im-1 ul.menu-content").mCustomScrollbar('update');
- })
- //点击子元素地图跳转 打开冒泡窗
- $("#menu .markerlink").unbind('click').bind('click', function() {
- var cid = $(this).parent().attr('cid');
- if (modValue.markerId[cid]) {
- var curmarkerdata = map23DData.markers[modValue.markerId[cid]];
- if (curmarkerdata.visible2D || curmarkerdata.visible3D) {
- var latlng = curmarkerdata.geojson.geometry.coordinates;
- map23DControl.setView({
- center: {
- lat: latlng[1],
- lng: latlng[0]
- }
- })
- map2DViewer.markers[modValue.markerId[cid]].openPopup();
- }
- } else {
- ONEMAP.C.publisher.publish({ type: 'error', message: '暂无数据' }, 'noteBar::add');
- }
- })
- //地图点勾选
- $("#menu .formation-list-content input").unbind('click').bind('click', function() {
- var cid = $(this).attr('cid');
- if ($(this).is(":checked")) {
- if (modValue.markerId[cid]) {
- map23DControl.marker({
- action: 'show',
- guid: modValue.markerId[cid]
- })
- } else {
- ONEMAP.C.publisher.publish({ type: 'error', message: '暂无数据' }, 'noteBar::add');
- }
- } else {
- if (modValue.markerId[cid]) {
- map23DControl.marker({
- action: 'hide',
- guid: modValue.markerId[cid]
- })
- }
- }
- })
- //查询历史位置记录
- $("#chosseHistroyPositionTime .post_time").unbind('click').bind('click', function() {
- var start_time = $("#chosseHistroyPositionTime #sendStartTime").val();
- start_time = start_time.replace(/-/g, "/");
- start_time = new Date(start_time).getTime();
- var stop_time = $("#chosseHistroyPositionTime #sendStopTime").val();
- stop_time = stop_time.replace(/-/g, "/");
- stop_time = new Date(stop_time).getTime();
- var target_id = $("#chooseTargetId").val();
- var options = {
- project_id: modValue.currentProjectInfo.project_id,
- project_name: modValue.currentProjectInfo.project_name,
- origin_list: modValue.currentProjectInfo.origin_list,
- start_time: start_time,
- end_time: stop_time,
- target_id: target_id,
- origin_id: modValue.options.currentOriginId
- }
- getHistoryTargetPosition(options);
- var data = map23DData.markers[modValue.markerId[target_id]];
- map23DControl.setView({
- center: {
- lat: data.geojson.geometry.coordinates[1],
- lng: data.geojson.geometry.coordinates[0]
- }
- })
- })
- //清空历史位置查询
- $("#chosseHistroyPositionTime .clear_time").unbind('click').bind('click', function() {
- cleanPolyline();
- })
- }
- /**
- * 打开历史轨迹查询
- */
- function openHistroyPosition(){
- if (!modValue.showHistroyPosition) {
- if (map23DData.display.map2D) {
- $("#chosseHistroyPositionTime .popup_html").removeClass('TD');
- } else {
- $("#chosseHistroyPositionTime .popup_html").addClass('TD');
- }
- $(".getHistoryZHJ").addClass('active');
- $("#chosseHistroyPositionTime").show();
- modValue.showHistroyPosition = true;
- } else {
- modValue.showHistroyPosition = false;
- $("#chosseHistroyPositionTime").hide();
- cleanPolyline();
- $(".getHistoryZHJ").removeClass('active');
- }
- }
- /**
- * 我的图层控制当值图层
- */
- function controlMyLayer(options) {
- switch (options.action) {
- case 'remove':
- remove();
- break;
- case 'opacity':
- setGropOpacity(options);
- break;
- case 'up':
- case 'down':
- setGroupZIndex(options);
- break;
- }
- };
- function setGroupZIndex(options) {
- }
- function setGropOpacity(options) {
- options = options.options;
- if (modValue.markerGroup) {
- if (options.opacity == 1) {
- map23DControl.group({
- action: 'show',
- guid: modValue.markerGroup
- })
- } else if (options.opacity == 0) {
- map23DControl.group({
- action: 'hide',
- guid: modValue.markerGroup
- })
- }
- }
- if (modValue.polyGroup) {
- if (options.opacity == 1) {
- map23DControl.group({
- action: 'show',
- guid: modValue.polyGroup
- })
- } else if (options.opacity == 0) {
- map23DControl.group({
- action: 'hide',
- guid: modValue.polyGroup
- })
- }
- }
- }
- /**
- * 连接socket
- * @return {[type]} [description]
- */
- function connectSocket() {
- if (modValue.webSocket && (modValue.webSocket.readyState === 0 || modValue.webSocket.readyState === 1)) {
- modValue.webSocket.close();
- }
- modValue.webSocket = null;
- modValue.webSocket = new WebSocket(onemapUrlConfig.websocketUrl);
- modValue.webSocket.onopen = function() {
- status.webSocketState = true;
- getProjectData();
- getCurrentFormation();
- };
- modValue.webSocket.onclose = function() {
- status.webSocketState = false;
- };
- modValue.webSocket.onmessage = function(data) {
- var resultData = JSON.parse(data.data);
- if (resultData['identifier'] == 'gethistorytargetposition') {
- modValue.options.curhistorytargetposition = resultData;
- //console.log(resultData);
- //绘制历史位置回放线
- drawTatgetHistroy(resultData);
- }
- if (resultData['identifier'] == 'getcurrentformation') {
- modValue.options.curinfomation = resultData;
- creatInfomation();
- }
- if (resultData['identifier'] == 'getprojectdata') {
- $(resultData['data']).each(function(index, el) {
- if (el['project_id'] == modValue.options['project_name']) {
- modValue.currentProjectInfo = el;
- }
- });
- setTimeout(function() {
- getProjectLastDataFlow();
- }, 500)
- }
- if (resultData['identifier'] == 'getprojectlastdataflow') {
- $("#chooseTargetId").empty();
- for (var i = 0; i < resultData['data'].length; i++) {
- addMarkers(resultData['data'][i]);
- }
- var request = {
- request: "open_receive_realtime_target",
- origin_id: modValue.options.currentOriginId,
- identifier: 'getprojectdataflow'
- };
- if (status.webSocketState == true) {
- modValue.webSocket.send(JSON.stringify(request));
- } else {
- connectSocket();
- }
- }
- if (resultData['response'] == 'realtime_target') {
- if (resultData['data'].length > 0) {
- addMarkers(resultData['data'][0]);
- }
- }
- }
- }
- /**
- * 解析子数据
- */
- function childrenfun(i) {
- var children = {};
- var data = modValue.options.curinfomation;
- $.each(data, function(j, item) {
- if (item[0] == i) {
- children[j] = {};
- children[j].data = item;
- children[j].children = childrenfun(j);
- }
- });
- return children;
- }
- /*
- * 创建编制信息,并显示
- */
- function creatInfomation() {
- var listData = {};
- $.each(modValue.options.curinfomation.data[0].formation_data, function(i, t) {
- listData[t[1]] = t;
- })
- modValue.options.curinfomation = listData;
- var cateList = {};
- $.each(listData, function(i, t) {
- if (!cateList[t[0]]) {
- cateList[t[0]] = {};
- }
- })
- $.each(cateList, function(i, t) {
- if (listData[i]) { //如果分类无数据,不显示
- if (!listData[listData[i][0]]) { //如果分类父id有数据,不显示
- cateList[i].name = listData[i][1];
- cateList[i].code_name = listData[i][2];
- var children = childrenfun(i);
- cateList[i].children = children;
- }
- } else {
- delete listData[i];
- }
- })
- modValue.options.cateLisdata = cateList;
- creatInfomationHtml();
- }
- function creatInfomationHtml() {
- var htmldata = modValue.options.cateLisdata;
- $("#menu .openhistroyposition").remove();
- $("#menu .current-formation").remove();
- $("#chosseHistroyPositionTime").hide();
- var licontent = '<li class="im-2 openhistroyposition">' +
- ' <input type="checkbox"><span>显示历史位置</span>' +
- '</li>' +
- '<li class="im-2 current-formation">' +
- ' <p class="fu"><span>编制</span></p>' +
- ' <ul class="current-formation-content">' +
- ' <div class="formation-list-content">' +
- ' </div>' +
- ' </ul>' +
- '</li>';
- $(licontent).hide();
- $(licontent).appendTo($("#menu .commitMecal .menu-content .list-infomation-content"));
- $.each(htmldata, function(i, t) {
- if (t.name) {
- if (judgeObject(t.children)) {
- var liHtml = $('<li class="im-2" cid="' + i + '"><p class="fu"><span>' + t.name + '</span></p></li>');
- liHtml.find('.fu').children().css({
- "background": "url(../images/layout/right.png) left no-repeat"
- })
- var curulhtml = setItemSubInfo(t.children);
- curulhtml.hide();
- curulhtml.appendTo(liHtml);
- } else {
- var liHtml = $('<li class="im-2" cid="' + i + '"><input type="checkbox" cid="' + i + '"><span class="markerlink">' + t.name + '</span></li>');
- }
- liHtml.appendTo($("#menu .formation-list-content"))
- }
- })
- $(licontent).show();
- bindEvent();
- $("#menu .menu-base ul.mn-content").mCustomScrollbar('update');
- };
- /**
- * 填充子列表
- */
- function setItemSubInfo(data) {
- var ulHtml = $('<ul class="item-menu-content"></ul>');
- $.each(data, function(i, t) {
- if (judgeObject(t.children)) {
- var liHtml = $('<li class="im-2" cid="' + i + '"><p class="fu"><span>' + t.data[1] + '</span></p></li>');
- liHtml.find('.fu').children().css({
- "background": "url(../images/layout/right.png) left no-repeat"
- })
- var newUlHtml = setItemSubInfo(t.children);
- newUlHtml.hide();
- newUlHtml.appendTo(liHtml);
- } else {
- var liHtml = $('<li class="im-2" cid="' + i + '"><input type="checkbox" cid="' + i + '"><span class="markerlink">' + t.data[1] + '</span></li>');
- }
- liHtml.appendTo(ulHtml)
- })
- return ulHtml;
- }
- /**
- * 判断是否是空对象
- */
- function judgeObject(data) {
- data = JSON.stringify(data);
- if (data == "{}") {
- return false
- } else {
- return true;
- }
- }
- /**
- * 绘制历史位置线
- */
- function drawTatgetHistroy(data) {
- var altitude = [];
- var coordinates = [];
- for (var i = 0; i < data.data.length; i++) {
- altitude.push(data.data[i][8]);
- coordinates.push([data.data[i][6], data.data[i][7]])
- }
- if (modValue.polylineId[data[0]]) {
- map23DControl.polyline({
- action: 'update',
- groupId: modValue.polyGroup,
- guid: modValue.polylineId[data[0]],
- geojson: {
- "properties": {
- title: '历史轨迹',
- color: '#0033ff',
- weight: 1,
- opacity: 1,
- extrude: 10, //拉伸高度
- altitude: altitude, //点海拔高度
- altitudeMode: 1, //海拔模式
- lineJoin: 'miter',
- lineCap: 'butt'
- },
- "geometry": {
- "coordinates": coordinates
- }
- }
- })
- } else {
- var guid = map23DControl.polyline({
- action: 'add',
- groupId: modValue.polyGroup,
- geojson: {
- "properties": {
- title: '历史轨迹',
- color: '#0033ff',
- weight: 1,
- opacity: 1,
- extrude: 10, //拉伸高度
- altitude: altitude, //点海拔高度
- altitudeMode: 1, //海拔模式
- lineJoin: 'miter',
- lineCap: 'butt'
- },
- "geometry": {
- "coordinates": coordinates
- }
- }
- })
- modValue.polylineId[data[0]] = guid;
- }
- };
- /**
- * 地图打点
- */
- function addMarkers(data) {
- var data = data;
- var latlng = new L.latLng(data[9], data[8])
- var nLatlng = L.Util.formatHMS(latlng);
- var curtime = new Date(data[2]);
- /*var popupHtml = '<div class="zhihuiji">' +
- '<ul class="zhjlist">' +
- '<li>目标ID:' + data[0] + '</li>' +
- '<li>目标名字:' + data[1] + '</li>' +
- '<li>敌我关系:' + data[4] + '</li>' +
- '<li>经度:' + nLatlng.lng + '</li>' +
- '<li>纬度:' + nLatlng.lat+ '</li>' +
- '<li>高度:' + data[10] + '</li>' +
- '<li>时间:' + curtime.getFullYear()+'/'+curtime.getMonth()+1+'/'+curtime.getDay()+' '+curtime.getHours()+":"+curtime.getMinutes() + '</li>' +
- '<li>偏航:' + data[11] + '</li>' +
- '<li>俯仰:' + data[12] + '</li>' +
- '<li>滚动:' + data[13] + '</li>' +
- '<li>速度:' + data[14] + '</li>' +
- '<li>状态:' + data[16] + '</li>' +
- '<li>席位:' + data[6] + '</li>' +
- '<li>事件:' + data[17] + '</li>' +
- '<li>等级:' + data[5] + '</li>' +
- '</ul>' +
- '</div>';*/
- var popupHtml = '<table class="controller_table">' +
- ' <tr class="title">' +
- ' <td>目标ID</td>' +
- ' <td>目标名称</td>' +
- ' <td>敌我关系</td>' +
- ' <td>经度</td>' +
- ' <td>纬度</td>' +
- ' </tr>' +
- ' <tr class="info">' +
- ' <td>' + data[0] + '</td>' +
- ' <td>' + data[1] + '</td>' +
- ' <td>' + data[4] + '</td>' +
- ' <td>' + nLatlng.lng + '</td>' +
- ' <td>' + nLatlng.lat + '</td>' +
- ' </tr>' +
- ' <tr class="title">' +
- ' <td>高度</td>' +
- ' <td>时间</td>' +
- ' <td>偏航</td>' +
- ' <td>俯仰</td>' +
- ' <td>滚动</td>' +
- ' </tr>' +
- ' <tr class="info">' +
- ' <td>' + data[10] + '</td>' +
- ' <td>' + curtime.getFullYear() + '/' + curtime.getMonth() + 1 + '/' + curtime.getDay() + '' + curtime.getHours() + ":" + curtime.getMinutes() + '</td>'+
- ' <td>' + data[11] + '</td>' +
- ' <td>' + data[12] + '</td>' +
- ' <td>' + data[13] + '</td>' +
- ' </tr>' +
- ' <tr class="title">' +
- ' <td>速度</td>' +
- ' <td>状态</td>' +
- ' <td>席位</td>' +
- ' <td>事件</td>' +
- ' <td>等级</td>' +
- ' </tr>' +
- ' <tr class="info">' +
- ' <td>' + data[14] + '</td>' +
- ' <td>' + data[16] + '</td>' +
- ' <td>' + data[6] + '</td>' +
- ' <td>' + data[17] + '</td>' +
- ' <td>' + data[5] + '</td>' +
- ' </tr>' +
- '</table>'
- var options_popup = {
- name: data[1],
- content: popupHtml
- }
- popupHtml = creatPopupHtml(options_popup)
- if (modValue.markerId[data[0]]) {
- map23DControl.marker({
- action: 'update',
- groupId: modValue.markerGroup,
- guid: modValue.markerId[data[0]],
- geojson: {
- "type": "Feature",
- "properties": {
- title: data[0],
- iconUrl: map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_1_b.png',
- iconSize: [60, 39],
- iconAnchor: [30, 39],
- popupAnchor: [0, -39],
- altitude: data[10],
- altitudeMode: 1,
- popupContent: popupHtml
- },
- "geometry": {
- "type": "Point",
- "coordinates": [data[8], data[9]]
- }
- }
- })
- } else {
- var guid = map23DControl.marker({
- action: 'add',
- groupId: modValue.markerGroup,
- geojson: {
- "type": "Feature",
- "properties": {
- title: data[0],
- iconUrl: map23DConfig.map23DAssetsUrl + '/images/layout/marker/roadsign_icon_1_b.png',
- iconSize: [60, 39],
- iconAnchor: [30, 39],
- popupAnchor: [0, -39],
- altitude: data[10],
- altitudeMode: 1,
- popupContent: popupHtml
- },
- "geometry": {
- "type": "Point",
- "coordinates": [data[8], data[9]]
- }
- }
- })
- //添加option到历史位置查询
- $('<option value="' + data[0] + '">' + data[0] + '</option>').appendTo($("#chooseTargetId"));
- modValue.markerId[data[0]] = guid;
- $("#menu .formation-list-content").find("input[cid='" + data[0] + "']").attr('checked', true)
- }
- }
- /**
- * 获取历史位置记录
- */
- function getHistoryTargetPosition(options) {
-
- var request = {
- request: "get_target_trail",
- identifier: 'gethistorytargetposition',
- project: {
- project_id: options.project_id,
- project_name: options.project_name,
- origin_list: options.origin_list,
- start_time: options.start_time,
- end_time: options.end_time
- },
- target:{
- origin_id:options.origin_id,
- target_id:options.target_id
- }
- }
- if (status.webSocketState == true) {
- modValue.webSocket.send(JSON.stringify(request));
- } else {
- connectSocket();
- }
- }
- /**
- * 获取项目信息列表
- * @return {[type]} [description]
- */
- function getProjectData() {
- //发送获取当前项目的信息
- var request = {
- request: "get_project_data",
- identifier: 'getprojectdata'
- };
- if (status.webSocketState == true) {
- modValue.webSocket.send(JSON.stringify(request));
- } else {
- connectSocket();
- }
- }
- /**
- * 获取编制记录
- */
- function getCurrentFormation() {
- var request = {
- request: "get_current_formation",
- identifier: 'getcurrentformation',
- origin_id: modValue.options.currentOriginId
- };
- if (status.webSocketState == true) {
- modValue.webSocket.send(JSON.stringify(request));
- } else {
- connectSocket();
- }
- }
- /**
- * 获取所有目标当前状态
- * @return {[type]} [description]
- */
- function getProjectLastDataFlow() {
- var request = {
- request: "get_current_target",
- identifier: 'getprojectlastdataflow',
- origin_id: modValue.options.currentOriginId
- };
- if (status.webSocketState == true) {
- modValue.webSocket.send(JSON.stringify(request));
- } else {
- connectSocket();
- }
- }
- /**
- * 界面重置
- * @return {[type]} [description]
- */
- function layoutResize(options) {
- //if (options.modName != "projectController") {
- // remove();
- //} else {
- if (status.isShowChild) {
- remove();
- } else {
- $("#menu .commitMecal").addClass('active');
- $("#menu .commitMecal").find('.menu-select-no').removeClass("menu-select-no").addClass("menu-select");
- status.isShowChild = true;
- }
- //}
- }
- /**
- * 切换23D样式
- */
- function layoutResizeCSS(cid) {
- if (cid == '2d') {
- $("#chosseHistroyPositionTime .popup_html").removeClass('TD');
- } else {
- $("#chosseHistroyPositionTime .popup_html").addClass('TD');
- }
- }
- /**
- * 注册订阅
- * @type {Function}
- * 推送:ONEMAP.C.publisher.publish(options,'moduleName::type');
- * 订阅:ONEMAP.C.publisher.subscribe(layoutResize,'sideBarLayoutChange');
- */
- function subscribe() {
- //ONEMAP.C.publisher.subscribe(layoutResize, 'menuListClick');
- ONEMAP.C.publisher.subscribe(remove, 'cleanMap');
- ONEMAP.C.publisher.subscribe(layoutResizeCSS, 'change23D');
- }
- /**
- * 取消订阅
- * @type {Function}
- * 取消订阅:ONEMAP.C.publisher.unSubscribe(layoutResize,'sideBarLayoutChange');
- */
- function unSubscribe() {
- }
- /**
- * 清空轨迹线
- */
- function cleanPolyline() {
- if (modValue.polyGroup) {
- map23DControl.group({
- action: 'cleanAll',
- guid: modValue.polyGroup
- })
- modValue.polylineId = {};
- }
- }
- /**
- * 模块移除
- * @return {[type]} [description]
- */
- function remove() {
- if (modValue.webSocket && (modValue.webSocket.readyState === 0 || modValue.webSocket.readyState === 1)) {
- modValue.webSocket.close();
- }
- modValue.webSocket = null;
- status.webSocketState = false;
- //取消订阅
- unSubscribe();
- $("#menu .commitMecal").removeClass('active');
- status.isShowChild = false;
- status.connect = false;
- $("#menu .stopCommit").hide();
- $("#menu .startCommit").show();
- $("#menu .commitMecal").find('.menu-select').removeClass("menu-select").addClass("menu-select-no");
- cleanPolyline();
- if (modValue.markerGroup) {
- map23DControl.group({
- action: 'cleanAll',
- guid: modValue.markerGroup
- })
- modValue.markerGroup = false;
- modValue.markerId = {};
- }
- if (modValue.appendToMyLayer) {
- var options = {
- action: "remove",
- DOMid: modValue.appendToMyLayer
- }
- ONEMAP.M.myLayers.myLayerControl(options);
- modValue.appendToMyLayer = false;
- }
- $("#menu .openhistroyposition").remove();
- $("#menu .current-formation").remove();
- $("#chosseHistroyPositionTime").hide();
- $("#menu .menu-base ul.mn-content").mCustomScrollbar('update');
- }
- /**
- * 获取数据
- * @return {[type]} [description]
- */
- function getValue(name) {
- if (modValue.hasOwnProperty(name)) {
- return modValue[name]
- } else {
- return null;
- }
- }
- /**
- * 设置数据 默认合并
- */
- function setValue(name, value, rewrite) {
- if (rewrite) {
- modValue = value;
- return modValue;
- } else {
- _.merge(modValue, value);
- return modValue;
- }
- }
- return ONEMAP.M.projectController = {
- init: init,
- openHistroyPosition:openHistroyPosition
- }
- });
|