positionOperate.js 4.99 KB
//---------------预置位操作------------
function addPrePosition() {
  var index;

  index = getNextPreValue();
  if (index > 60) {
      alert("最多支持10个预置位");
      return false;
  }
  var isAddSuccess = cameraController.AddPreLocation(index);
  //仅当添加预置位的时候,才保存到数据库
  if (isAddSuccess) {
      //关闭Ocx显示
      hideOcxDiv();
      $.messager.prompt("添加预置位", "请输入预置位名称", function (r) {
          if (r) {
              if (r.length > 32) {
                  $.messager.alert("提示", "预置位名称请保持在32个字节内!", "info", function () {
                      showOcxDiv();
                  });
              } else {
                  addPreLocation(currentCameraID, index, r);
                  showOcxDiv();
              }
          } else {
              //显示Ocx层
              showOcxDiv();
          }
      });

  } else {
      hideOcxDiv();
      $.messager.alert("提示", "添加预置位失败!", "info", function () {
          showOcxDiv();
      });
  }
}

function gotoPrePosition() {
  //停止球机巡航
  stopCameraNavigate();
  //获取选择的预置位
  var index = getSelectedPreValue();
  if (!index) {
      hideOcxDiv();
      $.messager.alert("提示", "请先选择预置位", "info", function () {
          showOcxDiv();
      });
      return false;
  }
  var isGotoSuccess = cameraController.GoToPreplace(index);

}
//从预置位列表获取下一个预置位的索引值
function getNextPreValue() {
  var options = $("#prelocationSelect li");
  var length = options.length;
  if (length == 0) {//如果是空列表,返回初始值1
      return 51;
  } else {
      //获取最后一个列表项的值并返回
      optionValue = $(options[length - 1]).attr("data-value");
      //类型转换,加1得到下一个值
      return optionValue - 0 + 1;
  }
}
//获取已选择的预值位值
function getSelectedPreValue() {
  var containerObj = $("#prelocationSelect");
  //获取选择的预置位
  var index = containerObj.find("li.liSelected").attr("data-value");
  return index;
}
//删除预置位
function deletePrePosition() {
  //获取选择的预置位
  var index = getSelectedPreValue();
  if (!index) {
      hideOcxDiv();
      $.messager.alert("提示", "请先选择预置位", "info", function () {
          showOcxDiv();
      });
      return false;
  }
  var isDeleteSuccess = cameraController.DeletePreplace(index);
  if (isDeleteSuccess) {
      deletePreLocation(currentCameraID, index);
  } else {
      hideOcxDiv();
      $.messager.alert("提示", "删除失败!", "info", function () {
          showOcxDiv();
      });
  }
}

//获取指定相机的预置位列表
function getPreLocationList() {
  var url = "../../Ashx/Vion/SystemManager/CameraPreLocationHandler.ashx?param=GetList&cameraID=" + currentCameraID;
  $.post(url, null, function (data) {
      //清空预置位
      $("#prelocationSelect").find("li").remove();
      //加载预置位
      var optionArray = new Array();

      for (var i = 0; i < data.length; i++) {
          optionArray.push("<li data-value='" + data[i].index + "'>" + data[i].name + "</li>");
      }

      //if ($.browser.msie && $.browser.version == "6.0") {
      $("#prelocationSelect").append(optionArray.join(""));
      //} else {
      //    $("#prelocationSelect .mCSB_container").append(optionArray.join(""));
      //}
  }, "json");
}
//添加预置位   
function addPreLocation(cameraId, preLocationIndex, locationName) {
  var url = "../../Ashx/Vion/SystemManager/CameraPreLocationHandler.ashx?param=Add";
  var prelocationData = {
      cameraId: cameraId,
      preIndex: preLocationIndex,
      locationName: encodeURIComponent(locationName)
  };
  $.post(url, prelocationData, function (data) {
      if (!data.result) {
          hideOcxDiv();
          $.messager.alert("提示", "添加预置位失败!", "info", function () {
              showOcxDiv();
          });
      } else {
          //添加预置位
          getPreLocationList();
      }
  }, "json");
}

function deletePreLocation(cameraID, index) {
  var url = "../../Ashx/Vion/SystemManager/CameraPreLocationHandler.ashx?param=Delete&cameraID=" + cameraID + "&preIndex=" + index;
  $.post(url, "", function (data) {
      if (!data.result) {
          hideOcxDiv();
          $.messager.alert("提示", "删除预置位失败!", "info", function () {
              showOcxDiv();
          });
      } else {
          getPreLocationList();
      }
  }, "json");
}

function changePrePosition(e) {
  //获取预置位
  var selectedIndex = getSelectedPreValue();
  if (!selectedIndex) {
      hideOcxDiv();
      $.messager.alert("提示", "请选择预置位!", "info", function () {
          showOcxDiv();
      });
      return false;
  }
  //重新设置预置位
  var resetSuccess = cameraController.AddPreLocation(selectedIndex);
  if (!resetSuccess) {
      hideOcxDiv();
      $.messager.alert("提示", "重设失败!", "info", function () {
          showOcxDiv();
      });
  }
}