$(function(){
//自定义getQueryString()方法获取httpservlet中url所带的参数
var shopId=getQueryString('shopId');
//判断url所携带的shopId参数是否存在
var isEdit=shopId ? true:false;
//定义跳转到后台的url路径
var initUrl='/o2o/shopadmin/getshopinitinfo';
var registerShopUrl='/o2o/shopadmin/registerShop';
//带参数的路径
var shopInfoUrl='/o2o/shopadmin/getshopbyid?shopId='+shopId;
var editShopUrl='/o2o/shopadmin/modifyShop';
if(!isEdit){
//shopId不存在,执行
getShopInitInfo();
}else{
//shopId存在,执行
getShopInfo(shopId);
}
function getShopInfo(shopId){
//通过$.getJSON发送请求和接受后台返回的数据
$.getJSON(shopInfoUrl,function(data){
if(data.success){
//接受后台shop对象
var shop=data.shop;
//往id设置值
$('#shop-name').val(shop.shopName);
$('#shop-addr').val(shop.shopAddr);
$('#shop-phone').val(shop.phone);
$('#shop-desc').val(shop.shopDesc);
//拼接html语句
var shopCategory='<option data-id="'
+shop.shopCategory.shopCategoryId+'" >'
+shop.shopCategory.shopCategoryName+'</option>';
var tempAreaHtml='';
data.areaList.map(function(item,index){
tempAreaHtml+='<option data-id="'+item.areaId+'" >'
+item.areaName+'</opotion>';
});
//在对应的id加载拼接好html
$('#shop-category').html(shopCategory);
//添加设置属性值
$('#shop-category').attr('disabled','disabled');
//在对应的id加载拼接好html
$('#area').html(tempAreaHtml);
//选中对应的值
$("#area option[data-id='"+shop.area.areaId+"']").attr('selected','selected');
}
});
}
function getShopInitInfo(){
$.getJSON(initUrl,function(data){
if(data.success){
var tempHtml='';
var tempAreaHtml='';
data.shopCategoryList.map(function(item,index){
tempHtml +='<option data-id="'+item.shopCategoryId
+'">'+item.shopCategoryName+'</option>';
});
data.areaList.map(function(item,index){
tempAreaHtml +='<option data-id="'+item.areaId
+'">'+item.areaName+'</option>';
});
$('#shop-category').html(tempHtml);
$('#area').html(tempAreaHtml);
}
});
}
$('#submit').click(function(){
//定义shop数组
var shop={};
if(isEdit){
shop.shopId=shopId;
}
//设置添加设置shop对象属性值
shop.shopName=$('#shop-name').val();
shop.shopAddr=$('#shop-addr').val();
shop.phone=$('#shop-phone').val();
shop.shopDesc=$('#shop-desc').val();
shop.shopCategory={
shopCategoryId:$('#shop-category').find('option').not(function(){
return !this.selected;
}).data('id')
};
shop.area={
areaId:$('#area').find('option').not(function(){
return !this.selected;
}).data('id')
};
//获取文件流
var shopImg=$('#shop-img')[0].files[0];
//创建formData对象
var formData=new FormData();
//属性添加到formData
formData.append('shopImg',shopImg);
formData.append('shopStr',JSON.stringify(shop));
var verifyCodeActual=$('#j_captcha').val();
//判断验证码不存在的情况下
if(!verifyCodeActual){
$.toast('请输入验证码!');
return;
}
formData.append('verifyCodeActual',verifyCodeActual);
//用ajax提交数据
$.ajax({
//选择性跳转url
url : (isEdit ? editShopUrl : registerShopUrl),
type : 'POST',
data :formData,
contentType :false,
processData : false,
cache : false,
success : function(data){
if(data.success){
$.toast('提交成功!');
}else{
$.toast('提交失败!'+data.errMsg);
}
//刷新验证码
$('#captcha_img').click();
}
});
});
});
//日期格式格式化显示
Date.prototype.Format = function(fmt) {
var o = {
"M+" : this.getMonth() + 1, // 月份
"d+" : this.getDate(), // 日
"h+" : this.getHours(), // 小时
"m+" : this.getMinutes(), // 分
"s+" : this.getSeconds(), // 秒
"q+" : Math.floor((this.getMonth() + 3) / 3), // 季度
"S" : this.getMilliseconds()
// 毫秒
};
if (/(y+)/.test(fmt))
fmt = fmt.replace(RegExp.$1, (this.getFullYear() + "")
.substr(4 - RegExp.$1.length));
for ( var k in o)
if (new RegExp("(" + k + ")").test(fmt))
fmt = fmt.replace(RegExp.$1, (RegExp.$1.length == 1) ? (o[k])
: (("00" + o[k]).substr(("" + o[k]).length)));
return fmt;
}
//点击更换验证码方法
function changeVerifyCode(img){
img.src="../Kaptcha?"+Math.floor(Math.random()*100);
}
//获取url携带参数值方法
function getQueryString(name){
var reg=new RegExp("(^|&)"+name+"=([^&]*)(&|$)");
var r=window.location.search.substr(1).match(reg);
if(r!=null){
return decodeURIComponent(r[2]);
}
return '';
}