Files
qlg.tsgz.moe/hyhproject/home2/view/default/shops/goods/goods.js
2019-09-06 23:53:10 +08:00

1137 lines
41 KiB
JavaScript
Executable File

/**删除批量上传的图片**/
function delBatchUploadImg(obj){
var c = WST.confirm({content:'您确定要删除商品图片吗?',yes:function(){
$(obj).parent().remove("li");
layer.close(c);
}});
}
function lastGoodsCatCallback(opts){
if(opts.isLast && opts.val){
getSpecAttrs(opts.val);
}else{
$('#specBtns').hide();
$('#specsAttrBox').empty();
}
}
/**初始化**/
function initEdit(){
$('#tab').TabPanel({tab:0,callback:function(no){
if(no==1){
$('.j-specImg').children().each(function(){
if(!$(this).hasClass('webuploader-pick'))$(this).css({width:'80px',height:'25px'});
});
}
if(!initBatchUpload && no==2){
initBatchUpload = true;
var uploader = batchUpload({uploadPicker:'#batchUpload',uploadServer:WST.U('home/index/uploadPic'),formData:{dir:'goods',isWatermark:1,isThumb:1},uploadSuccess:function(file,response){
var json = WST.toJson(response);
if(json.status==1){
$li = $('#'+file.id);
$li.append('<input type="hidden" class="j-gallery-img" iv="'+json.savePath + json.thumb+'" v="' +json.savePath + json.name+'"/>');
//$li.append('<span class="btn-setDefault">默认</span>' );
var delBtn = $('<span class="btn-del">删除</span>');
$li.append(delBtn);
delBtn.on('click',function(){
delBatchUploadImg($(this),function(){
uploader.removeFile(file);
uploader.refresh();
});
});
$('.filelist li').css('border','1px solid rgb(59, 114, 165)');
}else{
WST.msg(json.msg,{icon:2});
}
}});
}
$('.btn-del').click(function(){
delBatchUploadImg($(this),function(){
$(this).parent().remove();
});
})
}});
WST.upload({
pick:'#goodsImgPicker',
/**不让上传图片压缩,否则图片不清晰,make cheng 20180703**/
formData: {dir:'goods',isWatermark:1,isThumb:0},
accept: {extensions: 'gif,jpg,jpeg,png',mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif'},
callback:function(f){
var json = WST.toJson(f);
console.log(json);
if(json.status==1){
$('#uploadMsg').empty().hide();
// $('#preview').attr('src',WST.conf.ROOT+"/"+json.savePath+json.thumb);
// 修改为oss 地址 mark 20180612 by zll
$('#preview').attr('src',WST.conf.IMGURL+"/"+json.savePath+json.thumb);
$('#goodsImg').val(json.savePath+json.name);
$('#msg_goodsImg').hide();
}
},
progress:function(rate){
$('#uploadMsg').show().html('已上传'+rate+"%");
}
});
KindEditor.ready(function(K) {
editor1 = K.create('textarea[name="goodsDesc"]', {
height:'350px',
width:'800px',
uploadJson : WST.conf.ROOT+'/home/goods/editorUpload',
allowFileManager : false,
allowImageUpload : true,
allowMediaUpload : false,
items:[
'source', '|', 'undo', 'redo', '|', 'preview', 'print', 'template', 'code', 'cut', 'copy', 'paste',
'plainpaste', 'wordpaste', '|', 'justifyleft', 'justifycenter', 'justifyright',
'justifyfull', 'insertorderedlist', 'insertunorderedlist', 'indent', 'outdent', 'subscript',
'superscript', 'clearhtml', 'quickformat', 'selectall', '|', 'fullscreen', '/',
'formatblock', 'fontname', 'fontsize', '|', 'forecolor', 'hilitecolor', 'bold',
'italic', 'underline', 'strikethrough', 'lineheight', 'removeformat', '|','image','multiimage','media','table', 'hr', 'emoticons', 'baidumap', 'pagebreak',
'anchor', 'link', 'unlink', '|', 'about'
],
afterBlur: function(){ this.sync(); }
});
});
if(OBJ.goodsId>0){
var goodsCatIds = OBJ.goodsCatIdPath.split('_');
getBrands('brandId',goodsCatIds[0],OBJ.brandId);
if(goodsCatIds.length>1){
var objId = goodsCatIds[0];
$('#cat_0').val(objId);
var opts = {id:'cat_0',val:goodsCatIds[0],childIds:goodsCatIds,className:'j-goodsCats',afterFunc:'lastGoodsCatCallback'}
WST.ITSetGoodsCats(opts);
}
getShopsCats('shopCatId2',OBJ.shopCatId1,OBJ.shopCatId2);
}
}
/**获取本店分类**/
function getShopsCats(objId,pVal,objVal){
$('#'+objId).empty();
$.post(WST.U('home/shopcats/listQuery'),{parentId:pVal},function(data,textStatus){
var json = WST.toJson(data);
var html = [],cat;
html.push("<option value='' >-请选择-</option>");
if(json.status==1 && json.list){
json = json.list;
for(var i=0;i<json.length;i++){
cat = json[i];
html.push("<option value='"+cat.catId+"' "+((objVal==cat.catId)?"selected":"")+">"+cat.catName+"</option>");
}
}
$('#'+objId).html(html.join(''));
});
}
/**获取品牌**/
function getBrands(objId,catId,objVal){
$('#'+objId).empty();
$.post(WST.U('home/brands/listQuery'),{catId:catId},function(data,textStatus){
var json = WST.toJson(data);
var html = [],cat;
html.push("<option value='' >-请选择-</option>");
if(json.status==1 && json.list){
json = json.list;
for(var i=0;i<json.length;i++){
cat = json[i];
html.push("<option value='"+cat.brandId+"' "+((objVal==cat.brandId)?"selected":"")+">"+cat.brandName+"</option>");
}
}
$('#'+objId).html(html.join(''));
});
}
function toEdit(id,src){
location.href = WST.U('home/goods/edit','id='+id+'&src='+src);
}
/**保存商品数据**/
function save(){
var va = $("input[name='defaultSpec']:checked").val();
if(va){
$("#marketPrice").val($("#marketPrice_"+va).val());
$("#shopPrice").val( $("#specPrice_"+va).val());
}
$('#editform').isValid(function(v){
if(v){
var params = WST.getParams('.j-ipt');
params.goodsCatId = WST.ITGetGoodsCatVal('j-goodsCats');
params.specNum = specNum;
var specsName,specImg;
$('.j-speccat').each(function(){
specsName = 'specName_'+$(this).attr('cat')+'_'+$(this).attr('num');
specImg = 'specImg_'+$(this).attr('cat')+'_'+$(this).attr('num');
if($(this)[0].checked){
params[specsName] = $.trim($('#'+specsName).val());
params[specImg] = $.trim($('#'+specImg).attr('v'));
}
});
var gallery = [];
$('.j-gallery-img').each(function(){
gallery.push($(this).attr('v'));
});
params.gallery = gallery.join(',');
var specsIds = [];
var specidsmap = [];
$('.j-ws').each(function(){
specsIds.push($(this).attr('v'));
specidsmap.push(WST.blank($(this).attr('sid'))+":"+$(this).attr('v'));
});
var specmap = [];
for(var key in id2SepcNumConverter){
specmap.push(key+":"+id2SepcNumConverter[key]);
}
params.specsIds = specsIds.join(',');
params.specidsmap = specidsmap.join(',');
params.specmap = specmap.join(',');
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('home/goods/'+((params.goodsId==0)?"toAdd":"toEdit")),params,function(data,textStatus){
layer.close(loading);
var json = WST.toJson(data);
if(json.status=='1'){
WST.msg(json.msg,{icon:1},function(){
if(params.goodsType==1){
location.href=WST.U('home/goodsvirtuals/stock','id='+json.data.id);
}else{
location.href=WST.U('home/goods/'+src);
}
});
}else{
WST.msg(json.msg,{icon:2});
}
});
}
});
}
var id2SepcNumConverter = {};
/**添加普通规格值**/
function addSpec(opts){
var html = [];
html.push('<div class="spec-item">',
'<input type="checkbox" class="j-speccat j-speccat_'+opts.catId+' j-spec_'+opts.catId+'_'+specNum+'" cat="'+opts.catId+'" num="'+specNum+'" onclick="javascript:addSpecSaleCol()" '+opts.checked+'/>',
'<input type="text" class="spec-ipt" id="specName_'+opts.catId+'_'+specNum+'" maxLength="50" value="'+WST.blank(opts.val)+'" onblur="batchChangeTxt(this.value,'+opts.catId+','+specNum+')"/>',
'<span class="item-del" onclick="delSpec(this,'+opts.catId+','+specNum+')"></span>',
'</div>');
$(html.join('')).insertBefore('#specAddBtn_'+opts.catId);
if(opts.itemId){
id2SepcNumConverter[opts.itemId] = opts.catId+'_'+specNum;
}
specNum++;
}
/**删除普通规格值**/
function delSpec(obj,catId,num){
if($('.j-spec_'+catId+'_'+num)[0].checked){
$('.j-spec_'+catId+'_'+num)[0].checked = false;
addSpecSaleCol();
}
$(obj).parent().remove();
}
/**添加带图片的规格值**/
function addSpecImg(opts){
var html = [];
html.push('<tr>',
'<td>',
'<input type="checkbox" class="j-speccat j-speccat_'+opts.catId+' j-spec_'+opts.catId+'_'+specNum+'" cat="'+opts.catId+'" num="'+specNum+'" onclick="javascript:addSpecSaleCol()" '+opts.checked+'/>',
'<input type="text" id="specName_'+opts.catId+'_'+specNum+'" maxLength="50" value="'+WST.blank(opts.val)+'" onblur="batchChangeTxt(this.value,'+opts.catId+','+specNum+')"/>',
'</td>',
'<td id="uploadMsg_'+opts.catId+'_'+specNum+'">',
(opts.specImg)?'<img height="25" width="25" id="specImg_'+opts.catId+'_'+specNum+'" src="'+WST.conf.IMGURL+"/"+opts.specImg+'" v="'+opts.specImg+'"/>':"",
'</td><td><div id="specImgPicker_'+specNum+'" class="j-specImg">上传图片</div></td>'
);
if($('#specTby').children().size()==0){
html.push('<td><input type="button" id="specImgBtn" value="新增" onclick="addSpecImg({catId:'+opts.catId+',checked:\'\'})"/></td>');
}else{
html.push('<td><input type="button" id="specImgBtn" value="删除" onclick="delSpecImg(this,'+opts.catId+','+specNum+')"/></td>');
}
html.push('</tr>');
$('#specTby').append(html.join(''));
WST.upload({
num:specNum,
cat:opts.catId,
pick:'#specImgPicker_'+specNum,
formData: {dir:'goods',isThumb:1},
accept: {extensions: 'gif,jpg,jpeg,png',mimeTypes: 'image/jpg,image/jpeg,image/png,image/gif'},
callback:function(f){
var json = WST.toJson(f);
if(json.status==1){
$('#uploadMsg_'+this.cat+"_"+this.num).html('<img id="specImg_'+this.cat+"_"+this.num+'" v="'+json.savePath+json.name+'" src="'+WST.conf.IMGURL+"/"+json.savePath+json.thumb+'" height="25" width="25"/>');
}
},
progress:function(rate){
$('#uploadMsg_'+this.cat+"_"+this.num).html('已上传'+rate+"%");
}
});
if(opts.itemId){
id2SepcNumConverter[opts.itemId] = opts.catId+'_'+specNum;
}
specNum++;
}
/**删除带图片的规格值**/
function delSpecImg(obj,catId,num){
if($('.j-spec_'+catId+'_'+num)[0].checked){
$('.j-spec_'+catId+'_'+num)[0].checked = false;
addSpecSaleCol();
}
$(obj).parent().parent().remove();
}
/**给销售规格表填上值**/
function fillSepcSale(){
var ids = '',tmpids = [];
for(var i=0;i<OBJ.saleSpec.length;i++){
tmpids = [];
ids = OBJ.saleSpec[i].specIds;
ids = ids.split(':');
for(var j=0;j<ids.length;j++){
tmpids.push(id2SepcNumConverter[ids[j]]);
}
tmpids = tmpids.join('-');
if(OBJ.saleSpec[i].isDefault)$('#isDefault_'+tmpids).attr('checked',true);
$('#productNo_'+tmpids).val(OBJ.saleSpec[i].productNo);
$('#marketPrice_'+tmpids).val(OBJ.saleSpec[i].marketPrice);
$('#specPrice_'+tmpids).val(OBJ.saleSpec[i].specPrice);
$('#initNum_'+tmpids).val(OBJ.saleSpec[i].initNum);
$('#whslePrice_'+tmpids).val(OBJ.saleSpec[i].whslePrice);
$('#specStock_'+tmpids).val(OBJ.saleSpec[i].specStock);
$('#warnStock_'+tmpids).val(OBJ.saleSpec[i].warnStock);
$('#saleNum_'+tmpids).val(OBJ.saleSpec[i].saleNum);
$('#saleNum_'+tmpids).attr('sid',OBJ.saleSpec[i].id);
}
}
/**生成销售规格表**/
function addSpecSaleCol(){
//获取规格分类和规格值
var catId,snum,specCols = {},obj = [];
$('.j-speccat').each(function(){
if($(this)[0].checked){
catId = $(this).attr('cat');
snum = $(this).attr('num');
if(!specCols[catId]){
specCols[catId] = [];
specCols[catId].push({id:catId+"_"+snum,val:$.trim($('#specName_'+catId+"_"+snum).val())});
}else{
specCols[catId].push({id:catId+"_"+snum,val:$.trim($('#specName_'+catId+"_"+snum).val())});
}
}
});
//创建表头
$('.j-saleTd').remove();
var html = [],specArray = [];;
for(var key in specCols){
html.push('<th class="j-saleTd">'+$('#specCat_'+key).html()+'</th>');
specArray.push(specCols[key]);
}
if(html.length==0){
$('#goodsStock').removeAttr('disabled');
$('#shopPrice').removeAttr('disabled');
$('#marketPrice').removeAttr('disabled');
$('#warnStock').removeAttr('disabled');
return;
}
$(html.join('')).insertBefore('#thCol');
//组合规格值
this.combined = function(doubleArrays){
var len = doubleArrays.length;
if (len >= 2) {
var arr1 = doubleArrays[0];
var arr2 = doubleArrays[1];
var len1 = doubleArrays[0].length;
var len2 = doubleArrays[1].length;
var newlen = len1 * len2;
var temp = new Array(newlen),ntemp;
var index = 0;
for (var i = 0; i < len1; i++) {
if(arr1[i].length){
for (var k = 0; k < len2; k++) {
ntemp = arr1[i].slice();
ntemp.push(arr2[k]);
temp[index] = ntemp;
index++;
}
}else{
for (var j = 0; j < len2; j++) {
temp[index] = [arr1[i],arr2[j]];
index++;
}
}
}
var newArray = new Array(len - 1);
newArray[0] = temp;
if (len > 2) {
var _count = 1;
for (var i = 2; i < len; i++) {
newArray[_count] = doubleArrays[i];
_count++;
}
}
return this.combined(newArray);
}else {
return doubleArrays[0];
}
}
var specsRows = this.combined(specArray);
//生成规格值表
html = [];
var id=[],key=1,specHtml = [];
var productNo = $('#productNo').val(),specProductNo = '';
for(var i=0;i<specsRows.length;i++){
id = [],specHtml = [];
html.push('<tr class="j-saleTd">');
if(specsRows[i].length){
for(var j=0;j<specsRows[i].length;j++){
id.push(specsRows[i][j].id);
specHtml.push('<td class="j-td_'+specsRows[i][j].id+'">' + specsRows[i][j].val + '</td>');
}
}else{
id.push(specsRows[i].id);
specHtml.push('<td>' + specsRows[i].val + '</td>');
}
id = id.join('-');
if(OBJ.goodsId==0){
specProductNo = productNo+'-'+key;
}
html.push(' <td><input type="radio" id="isDefault_'+id+'" name="defaultSpec" class="j-ipt" value="'+id+'"/></td>');
html.push(specHtml.join(''));
html.push(' <td><input type="text" class="spec-sale-goodsNo j-ipt" id="productNo_'+id+'" value="'+specProductNo+'" onblur="checkProductNo(this)" ></td>',
' <td><input type="text" class="spec-sale-ipt j-ipt" id="marketPrice_'+id+'" onblur="WST.limitDecimal(this,2);javascript:WST.limitDecimal(this,2)" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></td>',
' <td><input type="text" class="spec-sale-ipt j-ipt" id="specPrice_'+id+'" onblur="WST.limitDecimal(this,2);javascript:WST.limitDecimal(this,2)" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></td>',
' <td><input type="text" class="spec-sale-ipt j-ipt" id="initNum_'+id+'" onblur="WST.limitDecimal(this,2);javascript:WST.limitDecimal(this,2)" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></td>',
' <td><input type="text" class="spec-sale-ipt j-ipt" id="whslePrice_'+id+'" onblur="WST.limitDecimal(this,2);javascript:WST.limitDecimal(this,2)" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></td>',
' <td><input type="text" class="spec-sale-ipt j-ipt" id="specStock_'+id+'" onkeypress="return WST.isNumberKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></td>',
' <td><input type="text" class="spec-sale-ipt j-ipt" id="warnStock_'+id+'" onkeypress="return WST.isNumberKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></td>',
' <td class="j-ws" v="'+id+'" id="saleNum_'+id+'">0</td>',
'</tr>');
key++;
}
$('#spec-sale-tby').append(html.join(''));
//判断是否禁用商品价格和库存字段
if($('#spec-sale-tby').html()!=''){
$('#goodsStock').prop('disabled',true);
$('#shopPrice').prop('disabled',true);
$('#marketPrice').prop('disabled',true);
$('#warnStock').prop('disabled',true);
}
//设置销售规格表值
if(OBJ.saleSpec)fillSepcSale();
}
/**根据批量修改销售规格值**/
function batchChange(v,id){
if($.trim(v)!=''){
$('input[type=text][id^="'+id+'_"]').val(v);
}
}
/**根据规格值修改 销售规格表 里的值**/
function batchChangeTxt(v,catId,num){
$('.j-td_'+catId+"_"+num).each(function(){
$(this).html(v);
});
}
/**检测商品销售规格值是否重复**/
function checkProductNo(obj){
v = $.trim(obj.value);
var num = 0;
$('input[type=text][id^="productNo_"]').each(function(){
if(v==$.trim($(this).val()))num++;
});
if(num>1){
WST.msg('已存在相同的货号',{icon:2});
obj.value = '';
}
}
/**获取商品规格和属性**/
function getSpecAttrs(goodsCatId){
$('#specsAttrBox').empty();
$('#specBtns').hide();
specNum = 0;
$.post(WST.U('home/goods/getSpecAttrs'),{goodsCatId:goodsCatId,goodsType:$('#goodsType').val()},function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1 && json.data){
var html = [],tmp,str;
if(json.data.spec0 || json.data.spec1){
html.push('<div class="spec-head">商品规格</div>');
html.push('<div class="spec-body">');
if(json.data.spec0){
tmp = json.data.spec0;
html.push('<div id="specCat_'+tmp.catId+'">'+tmp.catName+'</div>');
html.push('<table><tbody id="specTby"></tbody></table>');
}
if(json.data.spec1){
for(var i=0;i<json.data.spec1.length;i++){
tmp = json.data.spec1[i];
html.push('<div class="spec-line"></div>',
'<div id="specCat_'+tmp.catId+'">'+tmp.catName+'</div>',
'<div>',
'<input type="button" value="新增" id="specAddBtn_'+tmp.catId+'" onclick="javascript:addSpec({catId:'+tmp.catId+',checked:\'\'})"/>',
'</div>'
);
}
}
html.push('</div>');
html.push($('#specTips').html());
html.push('<div id="specSaleHead" class="spec-head">销售规格</div>',
'<table class="specs-sale-table">',
' <thead id="spec-sale-hed">',
' <tr>',
' <th>推荐<br/>规格</th>',
' <th id="thCol"><font color="red">*</font>货号</th>',
' <th><font color="red">*</font>市场价<br/><input type="text" class="spec-sale-ipt" onblur="WST.limitDecimal(this,2);batchChange(this.value,\'marketPrice\')" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></th>',
' <th><font color="red">*</font>本店价<br/><input type="text" class="spec-sale-ipt" onblur="WST.limitDecimal(this,2);batchChange(this.value,\'specPrice\')" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></th>',
' <th><font color="red">*</font>起批数<br/><input type="text" class="spec-sale-ipt" onblur="WST.limitDecimal(this,2);batchChange(this.value,\'initNum\')" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></th>',
' <th><font color="red">*</font>批发价<br/><input type="text" class="spec-sale-ipt" onblur="WST.limitDecimal(this,2);batchChange(this.value,\'whslePrice\')" onkeypress="return WST.isNumberdoteKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></th>',
' <th><font color="red">*</font>库存<br/><input type="text" class="spec-sale-ipt" onblur="batchChange(this.value,\'specStock\')" onkeypress="return WST.isNumberKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></th>',
' <th><font color="red">*</font>预警库存<br/><input type="text" class="spec-sale-ipt" onblur="batchChange(this.value,\'warnStock\')" onkeypress="return WST.isNumberKey(event)" onkeyup="javascript:WST.isChinese(this,1)"></th>',
' <th>销量</th>',
' </tr>',
' </thead>',
' <tbody id="spec-sale-tby"></tbody></table>'
);
}
if(json.data.attrs){
html.push('<div class="spec-head">商品属性</div>');
html.push('<div class="spec-body">');
html.push('<table class="attr-table">');
for(var i=0;i<json.data.attrs.length;i++){
tmp = json.data.attrs[i];
html.push('<tr><th width="120" nowrap>'+tmp.attrName+':</th><td>');
if(tmp.attrType==1){
str = tmp.attrVal.split(',');
for(var j=0;j<str.length;j++){
html.push('<label><input type="checkbox" class="j-ipt" name="attr_'+tmp.attrId+'" value="'+str[j]+'"/>'+str[j]+'</label>');
}
}else if(tmp.attrType==2){
html.push('<select name="attr_'+tmp.attrId+'" id="attr_'+tmp.attrId+'" class="j-ipt">');
html.push('<option value="0">请选择</option>');
str = tmp.attrVal.split(',');
for(var j=0;j<str.length;j++){
html.push('<option value="'+str[j]+'">'+str[j]+'</option>');
}
html.push('</select>');
}else{
html.push('<input type="text" name="attr_'+tmp.attrId+'" id="attr_'+tmp.attrId+'" class="spec-sale-text j-ipt"/>');
}
html.push('</td></tr>');
}
html.push('</table>');
html.push('</div>');
}
$('#specsAttrBox').html(html.join(''));
//如果是编辑的话,第一次要设置之前设置的值
if(OBJ.goodsId>0 && specNum==0){
//设置规格值
if(OBJ.spec0){
for(var i=0;i<OBJ.spec0.length;i++){
addSpecImg({catId:OBJ.spec0[i].catId,checked:'checked',val:OBJ.spec0[i].itemName,itemId:OBJ.spec0[i].itemId,specImg:OBJ.spec0[i].itemImg});
}
}
if(OBJ.spec1){
for(var i=0;i<OBJ.spec1.length;i++){
addSpec({catId:OBJ.spec1[i].catId,checked:'checked',val:OBJ.spec1[i].itemName,itemId:OBJ.spec1[i].itemId});
}
}
addSpecSaleCol();
//设置商品属性值
var tmp = null;
if(OBJ.attrs.length){
for(var i=0;i<OBJ.attrs.length;i++){
if(OBJ.attrs[i].attrType==1){
tmp = OBJ.attrs[i].attrVal.split(',');
WST.setValue("attr_"+OBJ.attrs[i].attrId,tmp);
}else{
WST.setValue("attr_"+OBJ.attrs[i].attrId,OBJ.attrs[i].attrVal);
}
}
}
}
//给没有初始化的规格初始化一个输入框
if(json.data.spec0 && !$('.j-speccat_'+json.data.spec0.catId)[0]){
addSpecImg({catId:json.data.spec0.catId,checked:''});
}
if(json.data.spec1){
for(var i=0;i<json.data.spec1.length;i++){
if(!$('.j-speccat_'+json.data.spec1[i].catId)[0])addSpec({catId:json.data.spec1[i].catId,checked:''});
}
}
$('#specBtns').show();
}
});
}
function changeGoodsType(v){
if(v==0){
$('#goodsStockTr').show();
$('#goodsStock').removeAttr('disabled');
}else{
$('#goodsStockTr').hide();
$('#goodsStock').prop('disabled',true);
}
var goodsCatId =WST.ITGetGoodsCatVal('j-goodsCats');
getSpecAttrs(goodsCatId);
}
function toStock(id,src){
location.href=WST.U('home/goodsvirtuals/stock','id='+id+"&src="+src);
}
function saleByPage(p){
$('#list').html('<tr><td colspan="11"><img src="'+WST.conf.ROOT+'/hyhproject/home/view/default/img/loading.gif">正在加载数据...</td></tr>');
var params = {};
params = WST.getParams('.s-query');
params.key = $.trim($('#key').val());
params.page = p;
$.post(WST.U('home/goods/saleByPage'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1 && json.Rows){
var gettpl = document.getElementById('tblist').innerHTML;
laytpl(gettpl).render(json.Rows, function(html){
$('#list').html(html);
$('.j-lazyGoodsImg').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 200,placeholder:window.conf.IMGURL+'/'+window.conf.GOODS_LOGO});//商品默认图片
});
if(json.TotalPage>1){
laypage({
cont: 'pager',
pages:json.TotalPage,
curr: json.CurrentPage,
skin: '#e23e3d',
groups: 3,
jump: function(e, first){
if(!first){
saleByPage(e.curr);
}
}
});
}else{
$('#pager').empty();
}
}
});
}
function auditByPage(p){
$('#list').html('<tr><td colspan="11"><img src="'+WST.conf.ROOT+'/hyhproject/home/view/default/img/loading.gif">正在加载数据...</td></tr>');
var params = {};
params = WST.getParams('.s-query');
params.key = $.trim($('#key').val());
params.page = p;
$.post(WST.U('home/goods/auditByPage'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1 && json.Rows){
var gettpl = document.getElementById('tblist').innerHTML;
laytpl(gettpl).render(json.Rows, function(html){
$('#list').html(html);
$('.j-lazyGoodsImg').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 200,placeholder:window.conf.IMGURL+'/'+window.conf.GOODS_LOGO});//商品默认图片
});
if(json.TotalPage>1){
laypage({
cont: 'pager',
pages:json.TotalPage,
curr: json.CurrentPage,
skin: '#e23e3d',
groups: 3,
jump: function(e, first){
if(!first){
auditByPage(e.curr);
}
}
});
}else{
$('#pager').empty();
}
}
});
}
function storeByPage(p){
$('#list1').html('<tr><td colspan="11"><img src="'+WST.conf.ROOT+'/hyhproject/home/view/default/img/loading.gif">正在加载数据...</td></tr>');
var params = {};
params = WST.getParams('.s-query');
params.key = $.trim($('#key1').val());
params.page = p;
$.post(WST.U('home/goods/storeByPage'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1 && json.Rows){
var gettpl = document.getElementById('tblist1').innerHTML;
laytpl(gettpl).render(json.Rows, function(html){
$('#list1').html(html);
$('.j-lazyGoodsImg').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 200,placeholder:window.conf.IMGURL+'/'+window.conf.GOODS_LOGO});//商品默认图片
});
if(json.TotalPage>1){
laypage({
cont: 'pager1',
pages:json.TotalPage,
curr: json.CurrentPage,
skin: '#e23e3d',
groups: 3,
jump: function(e, first){
if(!first){
storeByPage(e.curr);
}
}
});
}else{
$('#pager1').empty();
}
}
});
}
function illegalByPage(p){
$('#list2').html('<tr><td colspan="4"><img src="'+WST.conf.ROOT+'/hyhproject/home/view/default/img/loading.gif">正在加载数据...</td></tr>');
var params = {};
params = WST.getParams('.s-query');
params.key = $.trim($('#key2').val());
params.page = p;
$.post(WST.U('home/goods/illegalByPage'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1 && json.Rows){
var gettpl = document.getElementById('tblist2').innerHTML;
laytpl(gettpl).render(json.Rows, function(html){
$('#list2').html(html);
$('.j-lazyGoodsImg').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 200,placeholder:window.conf.IMGURL+'/'+WST.conf.GOODS_LOGO});
});
if(json.TotalPage>1){
laypage({
cont: 'pager2',
pages:json.TotalPage,
curr: json.CurrentPage,
skin: '#e23e3d',
groups: 3,
jump: function(e, first){
if(!first){
illegalByPage(e.curr);
}
}
});
}else{
$('#pager2').empty();
}
}
});
}
function limitPriceByPage(p){
$('#list').html('<tr><td colspan="11"><img src="'+WST.conf.ROOT+'/hyhproject/home/view/default/img/loading.gif">正在加载数据...</td></tr>');
var params = {};
params = WST.getParams('.s-query');
params.key = $.trim($('#key').val());
params.page = p;
$.post(WST.U('home/goods/limitPriceByPage'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status==1 && json.Rows){
var gettpl = document.getElementById('tblist').innerHTML;
laytpl(gettpl).render(json.Rows, function(html){
$('#list').html(html);
$('.j-lazyGoodsImg').lazyload({ effect: "fadeIn",failurelimit : 10,skip_invisible : false,threshold: 200,placeholder:window.conf.IMGURL+'/'+window.conf.GOODS_LOGO});//商品默认图片
});
if(json.TotalPage>1){
laypage({
cont: 'pager',
pages:json.TotalPage,
curr: json.CurrentPage,
skin: '#e23e3d',
groups: 3,
jump: function(e, first){
if(!first){
auditByPage(e.curr);
}
}
});
}else{
$('#pager').empty();
}
}
});
}
function limitPriceGoods(){
var params = WST.getParams('.ipt');
//alert(JSON.stringify(params));
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
$.post(WST.U('home/goods/limitPrice'),params,function(data){
layer.close(loading);
var json = WST.toJson(data);
if(json.status==1){
var html = [];
var option1 = [];
for(i in json.data){
if(i==0)option1 = json.data[i];
html.push('<option value="'+json.data[i].goodsId+'" gt="'+json.data[i].goodsType+'">'+json.data[i].goodsName+'</option>');
}
$('#goodsId').html(html.join(''));
}else{
WST.msg("获取失败",{icon:2});
}
});
}
function changeGoods(){
var goodsId=document.getElementById("goodsId").value;
$.post("getGoodsProduct",{goodsId:goodsId},function(data){
$("#productNo").empty();
if(data['specs']!=''){
for(var i in data['specs']){
$("#productNo").append("<option value='"+data['specs'][i].productNo+"'>"+data['specs'][i].productNo+"</option>");
changeSpecs();
}
}else{
var html = [];
html.push('<option value="">无商品货号</option>');
$('#productNo').html(html.join(''));
//$("#productNo").html('<option value=0>无商品货号</option>');
document.getElementById('specs').value = '';
}
}
, "json")
}
function changeSpecs(){
var productNo=document.getElementById("productNo").value;
$.post("getGoodsSpecs",{productNo:productNo},function(data){
document.getElementById('specs').value = data['itemName'];
}, "json")
}
//添加限时价格商品
function addLimitGoods(id){
var laydate = layui.laydate;
laydate.render({
elem: '#startTime',
type: 'datetime'
});
laydate.render({
elem: '#endTime',
type: 'datetime'
});
$('#goodsForm').get(0).reset();
$.post(WST.U('home/goods/getLimitGoods'),{id:id},function(data,textStatus){
var json = WST.toJson(data);
WST.setValues(json);
if(id>0){
if(json.productNo!=""){
$("#productNo").html("<option value='"+json.productNo+"'>"+json.productNo+"</option>");
}
else{
$("#productNo").html("<option value=''>无商品货号</option>");
}
}
//alert(JSON.stringify(json.productNo))
var title =(id==0)?"新增":"编辑";
var box = WST.open({title:title,type:1,content:$('#goodsBox'),area: ['750px', '320px'],btn:['确定','取消'],
end:function(){$('#goodsBox').hide();},yes:function(){
var params = WST.getParams('.j-ipt');
//alert(JSON.stringify(params));
if(params.goodsId==''){
WST.msg('请先选择商品!', {icon: 5});
return;
}
if(params.startTime==''){
WST.msg('开始时间不能为空!', {icon: 5});
return;
}
if(params.endTime==''){
WST.msg('结束时间不能为空!', {icon: 5});
return;
}
if(params.endTime<params.startTime){
WST.msg('结束时间不能小于结束时间!', {icon: 5});
return;
}
var loading = WST.msg('正在提交数据,请稍后...', {icon: 16,time:60000});
params.id=id;
$.post(WST.U('home/goods/'+((id==0)?"addLimitGoods":"editLimitGoods")),params,function(data,textStatus){
layer.close(loading);
var json = WST.toJson(data);
//alert(json)
if(json.status=='1'){
WST.msg("操作成功",{icon:1});
layer.close(box);
$('#goodsBox').hide();
limitPriceByPage(0);
}else{
WST.msg(json.msg,{icon:2});
}
});
//$('#goodsForm').submit();
}});
});
}
//删除限时价格商品
function delLimitGoods(id){
var c = WST.confirm({content:'您确定要删除商品吗?',yes:function(){
layer.close(c);
var load = WST.load({msg:'正在删除,请稍后...'});
$.post(WST.U('home/goods/delLimitGoods'),{id:id},function(data){
layer.close(load);
var json = WST.toJson(data);
if(json.status==1){
WST.msg("删除成功",{icon:1});
limitPriceByPage(0);
}else{
WST.msg(json.msg,{icon:2});
}
});
}});
}
function del(id,func){
var c = WST.confirm({content:'您确定要删除商品吗?',yes:function(){
layer.close(c);
var load = WST.load({msg:'正在删除,请稍后...'});
$.post(WST.U('home/goods/del'),{id:id},function(data,textStatus){
layer.close(load);
var json = WST.toJson(data);
if(json.status==1){
switch(func){
case 'store':storeByPage(0);break;
case 'sale':saleByPage(0);break;
case 'audit':auditByPage(0);break;
case 'illegal':illegalByPage(0);break;
}
}else{
WST.msg(json.msg,{icon:2});
}
});
}});
}
// 批量 上架/下架
function changeSale(i,func){
var ids = WST.getChks('.chk');
if(ids==''){
WST.msg('请先选择商品!', {icon: 5});
return;
}
var params = {};
params.ids = ids;
params.isSale = i;
$.post(WST.U('home/goods/changeSale'), params, function(data,textStatus){
var json = WST.toJson(data);
if(json.status=='1'){
WST.msg('操作成功',{icon:1},(function(){
$('#all').prop('checked',false);
switch(func){
case 'store':storeByPage(0);break;
case 'sale':saleByPage(0);break;
case 'audit':auditByPage(0);break;
}
}));
}else if(json.status=='-2'){
WST.msg(json.msg, {icon: 5});
}else if(json.status=='2'){
WST.msg(json.msg, {icon: 5},function(){
switch(func){
case 'store':storeByPage(0);break;
case 'sale':saleByPage(0);break;
case 'audit':auditByPage(0);break;
}
});
}else if(json.status=='-3'){
WST.msg(json.msg, {icon: 5,time:3000});
}else{
WST.msg('操作失败!', {icon: 5});
}
});
}
// 批量设置 精品/新品/推荐/热销
function changeGoodsStatus(isWhat,func){
var ids = WST.getChks('.chk');
if(ids==''){
WST.msg('请先选择商品!', {icon: 5});
return;
}
var params = {};
params.ids = ids;
params.is = isWhat;
$.post(WST.U('home/goods/changeGoodsStatus'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status=='1'){
WST.msg('设置成功',{icon:1},function(){
$('#all').prop('checked',false);
switch(func){
case 'store':storeByPage(0);break;
case 'sale':saleByPage(0);break;
case 'audit':auditByPage(0);break;
}
});
}else{
WST.msg('设置失败',{icon:5});
}
});
}
// 批量设置 店长推荐
function changeStoreStatus(isWhat,func){
var ids = WST.getChks('.chk');
if(ids==''){
WST.msg('请先选择商品!', {icon: 5});
return;
}
var params = {};
params.ids = ids;
params.is = isWhat;
$.post(WST.U('home/goods/changeStoreStatus'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status=='1'){
WST.msg('设置成功',{icon:1},function(){
$('#all').prop('checked',false);
switch(func){
case 'store':storeByPage(0);break;
case 'sale':saleByPage(0);break;
case 'audit':auditByPage(0);break;
}
});
}else{
WST.msg('设置失败',{icon:5});
}
});
}
// 双击设置
function changSaleStatus(isWhat, obj, id){
var params = {};
status = $(obj).attr('status');
params.status = status;
params.id = id;
switch(isWhat){
case 'r':params.is = "isRecom";break;
case 'b':params.is = "isBest";break;
case 'n':params.is = "isNew";break;
case 'h':params.is = "isHot";break;
case 's':params.is = "storeRecom";break;
}
var load = WST.load({msg:'请稍后...'});
$.post(WST.U('home/goods/changSaleStatus'),params,function(data,textStatus){
layer.close(load);
var json = WST.toJson(data);
if(json.status==1){
if(status==0){
$(obj).attr('status',1);
$(obj).removeClass('wrong').addClass('right');
}else{
$(obj).attr('status',0);
$(obj).removeClass('right').addClass('wrong');
}
}else{
WST.msg('操作失败',{icon:5});
}
});
}
// 双击修改店长推荐
function changStoreRecom(isWhat, obj, id){
var params = {};
status = $(obj).attr('status');
params.status = status;
params.id = id;
var load = WST.load({msg:'请稍后...'});
$.post(WST.U('home/goods/changStoreRecom'),params,function(data,textStatus){
layer.close(load);
var json = WST.toJson(data);
if(json.status==1){
if(status==0){
$(obj).attr('status',1);
$(obj).removeClass('wrong').addClass('right');
}else{
$(obj).attr('status',0);
$(obj).removeClass('right').addClass('wrong');
}
}else{
WST.msg('操作失败',{icon:5});
}
});
}
//双击修改
function toEditGoodsBase(fv,goodsId,flag){
if((fv==2 || fv==3) && flag==1){
WST.msg('该商品存在商品属性,不能直接修改,请进入编辑页修改', {icon: 5});
return;
}else{
$("#ipt_"+fv+"_"+goodsId).show();
$("#span_"+fv+"_"+goodsId).hide();
$("#ipt_"+fv+"_"+goodsId).focus();
$("#ipt_"+fv+"_"+goodsId).val($("#span_"+fv+"_"+goodsId).html());
}
}
function endEditGoodsBase(fv,goodsId){
$('#span_'+fv+'_'+goodsId).html($('#ipt_'+fv+'_'+goodsId).val());
$('#span_'+fv+'_'+goodsId).show();
$('#ipt_'+fv+'_'+goodsId).hide();
}
function editGoodsBase(fv,goodsId){
var vtext = $.trim($('#ipt_'+fv+'_'+goodsId).val());
if(fv==2){
if(vtext=='' || parseFloat(vtext,10)<=0){
WST.msg('价格必须大于0', {icon: 5});
return;
}
}else if(fv==3){
if(vtext=='' || parseInt(vtext,10)<0 || vtext.indexOf('.')>-1){
WST.msg('库存必须为正整数', {icon: 5});
return;
}
}
var params = {};
(fv==2)?params.shopPrice=vtext:params.goodsStock=vtext;
params.goodsId = goodsId;
$.post(WST.U('Home/Goods/editGoodsBase'),params,function(data,textStatus){
var json = WST.toJson(data);
if(json.status>0){
$('#img_'+fv+'_'+goodsId).fadeTo("fast",100);
endEditGoodsBase(fv,goodsId);
$('#img_'+fv+'_'+goodsId).fadeTo("slow",0);
}else{
WST.msg(json.msg, {icon: 5});
}
});
}
function benchDel(func,flag){
if(flag==1){
var ids = WST.getChks('.chk1');
}else{
var ids = WST.getChks('.chk');
}
if(ids==''){
WST.msg('请先选择商品!', {icon: 5});
return;
}
var params = {};
params.ids = ids;
var load = WST.load({msg:'请稍后...'});
$.post(WST.U('home/goods/batchDel'),params,function(data,textStatus){
layer.close(load);
var json = WST.toJson(data);
if(json.status=='1'){
WST.msg('操作成功',{icon:1},function(){
$('#all').prop('checked',false);
switch(func){
case 'store':storeByPage(0);break;
case 'sale':saleByPage(0);break;
case 'audit':auditByPage(0);break;
}
});
}else{
WST.msg('操作失败',{icon:5});
}
});
}
function getCat(val){
if(val==''){
$('#cat2').html("<option value='' >-请选择-</option>");
$('#cat3').html("<option value='' >-请选择-</option>");
return;
}
$.post(WST.U('home/shopcats/listQuery'),{parentId:val},function(data,textStatus){
//alert(JSON.stringify(data))
var json = WST.toJson(data);
var html = [],cat;
html.push("<option value='' >-请选择-</option>");
if(json.status==1 && json.list){
json = json.list;
for(var i=0;i<json.length;i++){
cat = json[i];
html.push("<option value='"+cat.catId+"'>"+cat.catName+"</option>");
}
}
$('#cat2').html(html.join(''));
$('#cat3').html(html.join(''));
});
}
function resetForm(){
location.reload();
}