/**
|
* 初始化城市管理详情对话框
|
*/
|
var TOpenCityInfoDlg = {
|
tOpenCityInfoData : {},
|
editor: null,
|
validateFields: {
|
provinceId: {
|
validators: {
|
notEmpty: {
|
message: '请选择省'
|
}
|
}
|
},
|
cityId: {
|
validators: {
|
notEmpty: {
|
message: '请选择市'
|
}
|
}
|
},
|
isQualifications: {
|
validators: {
|
notEmpty: {
|
message: '请选择是否需要网约车资格证'
|
}
|
}
|
}
|
}
|
};
|
|
/**
|
* 验证数据是否为空
|
*/
|
TOpenCityInfoDlg.validate = function () {
|
$('#openCityForm').data("bootstrapValidator").resetForm();
|
$('#openCityForm').bootstrapValidator('validate');
|
return $("#openCityForm").data('bootstrapValidator').isValid();
|
};
|
|
|
/**
|
* 清除数据
|
*/
|
TOpenCityInfoDlg.clearData = function() {
|
this.tOpenCityInfoData = {};
|
}
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
TOpenCityInfoDlg.set = function(key, val) {
|
this.tOpenCityInfoData[key] = (typeof val == "undefined") ? $("#" + key).val() : val;
|
return this;
|
}
|
|
/**
|
* 设置对话框中的数据
|
*
|
* @param key 数据的名称
|
* @param val 数据的具体值
|
*/
|
TOpenCityInfoDlg.get = function(key) {
|
return $("#" + key).val();
|
}
|
|
/**
|
* 关闭此对话框
|
*/
|
TOpenCityInfoDlg.close = function() {
|
parent.layer.close(window.parent.TOpenCity.layerIndex);
|
}
|
|
/**
|
* 收集数据
|
*/
|
TOpenCityInfoDlg.collectData = function() {
|
this
|
.set('id')
|
.set('code')
|
.set('lon')
|
.set('lat')
|
.set('isQualifications')
|
.set('areaName')
|
.set('cityName')
|
.set('provinceName')
|
.set('flag')
|
.set('insertTime')
|
.set('insertUser')
|
.set('updateTime')
|
.set('updateUser');
|
}
|
/**
|
* 提交添加
|
*/
|
TOpenCityInfoDlg.addSubmit = function() {
|
|
this.clearData();
|
this.collectData();
|
if(!this.validate()){
|
return ;
|
}
|
var subArr=[];
|
$(".timeClass").each(function () {
|
subArr.push({
|
busId:$(this).find("input[name*='busId']").val(),
|
time:$(this).find("input[name*='time']").val(),
|
type:$(this).find("input[name*='type']").val(),
|
sort:$(this).find("input[name*='sort']").val(),
|
})
|
});
|
var subArr1=[];
|
$(".siteClass").each(function () {
|
subArr1.push({
|
busId:$(this).find("input[name*='busId']").val(),
|
time:$(this).find("input[name*='time']").val(),
|
name:$(this).find("input[name*='name']").val(),
|
lonAndLat:$(this).find("input[name*='lonAndLat']").val(),
|
siteType:$(this).find("input[name*='siteType']").val(),
|
})
|
});
|
if(subArr.length <= 0){
|
Feng.error("请选择经营业务");
|
return;
|
}
|
|
//获取经纬度
|
var provinceValue = $("#provinceId option:selected").text();
|
var cityValue = $("#cityId option:selected").text();
|
if ("选择市" == cityValue){
|
cityValue = "";
|
}
|
var areaValue = $("#areaId option:selected").text();
|
if ("选择区" == areaValue){
|
areaValue = "";
|
}
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/tOpenCity/add", function(data){
|
Feng.success("添加成功!");
|
window.parent.TOpenCity.table.refresh();
|
TOpenCityInfoDlg.close();
|
},function(data){
|
Feng.error("添加失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set(this.tOpenCityInfoData);
|
ajax.set("businessTypeStr",JSON.stringify(subArr));
|
ajax.set("sites",JSON.stringify(subArr1));
|
ajax.set("areaName",provinceValue);
|
ajax.set("cityName",cityValue);
|
ajax.set("provinceName",areaValue);
|
ajax.set("provinceId",$("#areaId").val());
|
ajax.set("cityId",$("#cityId").val());
|
ajax.set("areaId",$("#provinceId").val());
|
ajax.start();
|
}
|
|
/**
|
* 提交修改
|
*/
|
TOpenCityInfoDlg.editSubmit = function() {
|
|
this.clearData();
|
this.collectData();
|
if(!this.validate()){
|
return ;
|
}
|
var subArr=[];
|
$(".timeClass").each(function () {
|
subArr.push({
|
busId:$(this).find("input[name*='busId']").val(),
|
time:$(this).find("input[name*='time']").val(),
|
type:$(this).find("input[name*='type']").val(),
|
sort:$(this).find("input[name*='sort']").val(),
|
})
|
});
|
var subArr1=[];
|
$(".siteClass").each(function () {
|
subArr1.push({
|
busId:$(this).find("input[name*='busId']").val(),
|
time:$(this).find("input[name*='time']").val(),
|
name:$(this).find("input[name*='name']").val(),
|
lonAndLat:$(this).find("input[name*='lonAndLat']").val(),
|
siteType:$(this).find("input[name*='siteType']").val(),
|
})
|
});
|
if(subArr.length <= 0){
|
Feng.error("请选择经营业务");
|
return;
|
}
|
|
//获取经纬度
|
var provinceValue = $("#provinceId option:selected").text();
|
var cityValue = $("#cityId option:selected").text();
|
if ("选择市" == cityValue){
|
cityValue = "";
|
}
|
var areaValue = $("#areaId option:selected").text();
|
if ("选择区" == areaValue){
|
areaValue = "";
|
}
|
//提交信息
|
var ajax = new $ax(Feng.ctxPath + "/tOpenCity/update", function(data){
|
Feng.success("修改成功!");
|
window.parent.TOpenCity.table.refresh();
|
TOpenCityInfoDlg.close();
|
},function(data){
|
Feng.error("修改失败!" + data.responseJSON.message + "!");
|
});
|
ajax.set(this.tOpenCityInfoData);
|
ajax.set("businessTypeStr",JSON.stringify(subArr));
|
ajax.set("sites",JSON.stringify(subArr1));
|
ajax.set("areaName",provinceValue);
|
ajax.set("cityName",cityValue);
|
ajax.set("provinceName",areaValue);
|
ajax.set("provinceId",$("#areaId").val());
|
ajax.set("cityId",$("#cityId").val());
|
ajax.set("areaId",$("#provinceId").val());
|
ajax.start();
|
}
|
|
$(function() {
|
Feng.initValidator("openCityForm", TOpenCityInfoDlg.validateFields);
|
});
|
|
/**
|
* 省改变时执行
|
*/
|
TOpenCityInfoDlg.provinceChange = function () {
|
var provinceId = $("#provinceId").val();
|
var ajax = new $ax(Feng.ctxPath + "/tOpenCity/change", function(data){
|
if(data!=null){
|
var content='<option value="">选择市</option>';
|
$.each(data, function(k,v) {
|
content += "<option value='"+v.id+"'>"+v.name+"</option>";
|
});
|
$("#cityId").empty().append(content);
|
$("#areaId").empty().append('<option value="">选择区</option>');
|
}
|
});
|
ajax.set("id",provinceId);
|
ajax.start();
|
}
|
/**
|
* 市改变时执行
|
*/
|
TOpenCityInfoDlg.cityChange = function () {
|
var cityId = $("#cityId").val();
|
var ajax = new $ax(Feng.ctxPath + "/tOpenCity/change", function(data){
|
if(data!=null){
|
var content='<option value="">选择区</option>';
|
$.each(data, function(k,v) {
|
content += "<option value='"+v.id+"'>"+v.name+"</option>";
|
});
|
$("#areaId").empty().append(content);
|
}
|
});
|
ajax.set("id",cityId);
|
ajax.start();
|
}
|
|
/**
|
* 点击添加业务类型
|
*/
|
function addBusinessType(){
|
var businessType=$("#businessType option:selected").text();
|
if ("选择经营业务" == businessType){
|
Feng.info("请选择经营业务");
|
return;
|
}
|
var businessSort=$("#businessSort").val();
|
if ("" == businessSort){
|
Feng.info("排序不能为空");
|
return;
|
}else if (!reg.test(businessSort)) {
|
Feng.info("排序格式不正确");
|
return;
|
}
|
|
//获取所有的值
|
var subArr=[];
|
$(".timeClass").each(function () {
|
subArr.push({
|
busId:$(this).find("input[name*='busId']").val(),
|
time:$(this).find("input[name*='time']").val(),
|
type:$(this).find("input[name*='type']").val(),
|
sort:$(this).find("input[name*='sort']").val(),
|
})
|
});
|
for(var i=0;i<subArr.length;i++){
|
var time = subArr[i].time;
|
var type = subArr[i].type;
|
var sort = subArr[i].sort;
|
if (type == businessType) {
|
Feng.info("经营业务已存在,请重新选择");
|
return;
|
}
|
if (sort == businessSort) {
|
Feng.info("排序已存在,请重新填写");
|
return;
|
}
|
}
|
var str = '<tr class="timeClass">' +
|
'<td><input type="hidden" id="busId" name="busId" value="0"><input type="hidden" id="time" name="time" value="'+getNowFormatDate()+'">' + getNowFormatDate() + '</td>' +
|
'<td><input type="hidden" id="type" name="type" value="'+businessType+'">' + businessType + '</td>' +
|
'<td><input type="hidden" id="sort" name="sort" value="'+businessSort+'">' + businessSort + '</td><td><button onclick="deleteSub(this)">移除</button></td></tr>';
|
$("#coun").append(str);
|
}
|
function addSite(){
|
|
var siteName=$("#siteName").val();
|
var siteType=$("#siteType").val();
|
var type = siteType;
|
if ("" == siteName){
|
Feng.info("站点名称不能为空");
|
return;
|
}
|
if ("" == siteType){
|
Feng.info("请选择站点类型");
|
return;
|
}
|
if (siteType == 1){
|
siteType = "机场"
|
}else{
|
siteType = "动车"
|
}
|
//获取所有的值
|
var subArr=[];
|
$(".siteClass").each(function () {
|
|
subArr.push({
|
name:$(this).find("input[name*='name']").val(),
|
time:$(this).find("input[name*='time']").val(),
|
})
|
});
|
for(var i=0;i<subArr.length;i++){
|
var name = subArr[i].name;
|
if (name == siteName) {
|
Feng.info("站点名称已存在,请重新填写");
|
return;
|
}
|
}
|
var lon = $("#longitude").val();
|
var lat = $("#latitude").val();
|
var lonAndLat = "("+lon+","+lat+")";
|
var str = '<tr class="siteClass">' +
|
'<td><input type="hidden" id="busId" name="busId" value="0">' +
|
'<input type="hidden" id="time" name="time" value="'+getNowFormatDate()+'">' + getNowFormatDate() + '</td>' +
|
'<td><input type="hidden" id="name" name="name" value="'+siteName+'">' + siteName + '</td>' +
|
'<td><input type="hidden" id="lonAndLat" name="lonAndLat" value="'+lonAndLat+'">' + lonAndLat + '</td>' +
|
'<td><input type="hidden" id="siteType" name="siteType" value="'+type+'">' + siteType + '</td>' +
|
'<td><button onclick="deleteSub(this)">移除</button></td></tr>';
|
$("#site").append(str);
|
}
|
function deleteSub(e) {
|
$(e).parent().parent().remove();
|
}
|
|
//获取当前时间,格式YYYY-MM-DD
|
function getNowFormatDate() {
|
var date = new Date();
|
var seperator1 = "-";
|
var year = date.getFullYear();
|
var month = date.getMonth() + 1;
|
var strDate = date.getDate();
|
if (month >= 1 && month <= 9) {
|
month = "0" + month;
|
}
|
if (strDate >= 0 && strDate <= 9) {
|
strDate = "0" + strDate;
|
}
|
var currentdate = year + seperator1 + month + seperator1 + strDate;
|
return currentdate;
|
}
|
var map = new AMap.Map('container', {
|
resizeEnable: true, // 允许缩放
|
zoom: 15 // 设置地图的缩放级别,0 - 20
|
});
|
var marker;
|
//搜索地图
|
TOpenCityInfoDlg.searchByStationName = function(e,type){
|
var keyword="";
|
if(type==2){
|
keyword = $(e).parent().prev().find("input").val();
|
}else {
|
if($("#address").val()!=null && $("#address").val()!=''){
|
keyword = $("#address").val();
|
}
|
}
|
type=1;
|
AMap.plugin('AMap.Geocoder', function() {
|
var geocoder = new AMap.Geocoder();
|
console.log(geocoder)
|
console.log(keyword)
|
geocoder.getLocation(keyword, function(status, result) {
|
console.log(status,result)
|
if (status === 'complete' && result.info === 'OK') {
|
// 经纬度
|
var lng = result.geocodes[0].location.lng;
|
var lat = result.geocodes[0].location.lat;
|
$("#longitude").val(lng)
|
$("#latitude").val(lat)
|
// 地图实例
|
map = new AMap.Map('container', {
|
resizeEnable: true, // 允许缩放
|
center: [lng, lat], // 设置地图的中心点
|
zoom: 15 // 设置地图的缩放级别,0 - 20
|
});
|
//地图画点
|
//addMarker(lng,lat);
|
if(type==1 || type==2){
|
showInfoClick();
|
if(lng == null){
|
}else{
|
addMarker(lng,lat);
|
}
|
}else{
|
addMarker(lng,lat);
|
}
|
} else {
|
console.log('定位失败!');
|
}
|
});
|
});
|
|
}
|
//地图点击事件
|
function showInfoClick(){
|
map.on('click', function (e) {
|
addMarker(e.lnglat.getLng(),e.lnglat.getLat());
|
});
|
}
|
//删除点
|
function removeMarkers(){
|
if(marker!=null){
|
map.remove(marker);
|
}
|
|
}
|
// 实例化点标记
|
function addMarker(lon,lat) {
|
removeMarkers();
|
marker = new AMap.Marker({
|
map: map,
|
position: new AMap.LngLat(lon, lat), // 经纬度
|
});
|
//加经纬度
|
$("#lon").val(lon);
|
$("#lat").val(lat);
|
var lnglatXY = [lon, lat];//地图上所标点的坐标
|
AMap.service('AMap.Geocoder',function() {//回调函数
|
geocoder = new AMap.Geocoder({
|
});
|
geocoder.getAddress(lnglatXY, function (status, result) {
|
if (status === 'complete' && result.info === 'OK') {
|
//获得了有效的地址信息:
|
//即,result.regeocode.formattedAddress
|
// alert(result.regeocode.formattedAddress)
|
//document.getElementById("address").value=result.regeocode.formattedAddress;//将获取到的地址信息赋值给文本框,保存进数据库
|
|
var address = result.regeocode.formattedAddress;
|
var city = result.regeocode.addressComponent.city;
|
var province = result.regeocode.addressComponent.province;
|
var district = result.regeocode.addressComponent.district;
|
$("#address").val(address);
|
} else {
|
//获取地址失败
|
}
|
});
|
})
|
}
|