function arrangegoods(gds) {
if (typeof (brandsdata) == "undefined") {
alert("无效的brandsdata");
return false;
}
var brands = brandsdata;
var brandsorts = brandsortsdata;
brandsorts.sort(web960.utils.tools.sort('asc', 'sort'));
for (var i = 0; i < gds.length; i++) {
gds[i]["sort_purity"] = i;
gds[i]["sort_brand"] = i;
gds[i]["sort_standard"] = i;
var extendattrs = {};
if (gds[i].extendattrs != null) {
var extendattrslist = gds[i].extendattrs;
$.each(gds[i].extendattrs, function () {
if (this.field != "purity" && this.field != "brand" && this.field != "packaging") {
extendattrs[this.field] = {
title: this.srctitle,
value: this.keyword
}
}
});
}
gds[i]["extendattrs"] = extendattrs;
var purity = $.trim(web960.utils.tools.getvalfromjson(gds[i].goods_info, "{goodsinfo.purity}"));
var brand = $.trim(web960.utils.tools.getvalfromjson(gds[i].goods_info, "{goodsinfo.brand}"));
var packaging = $.trim(web960.utils.tools.getvalfromjson(gds[i].goods_info, "{goodsinfo.packaging}"));
var msd = $.trim(packaging.tolowercase());
var xmsd = "";
var intpackaging = 0;
if (msd.indexof("ml") != -1) {
xmsd = msd.replace("ml", "");
intpackaging = 1;
}
else if (msd.indexof("μl") != -1) {
xmsd = msd.replace("μl", "");
intpackaging = 0.001;
}
else if (msd.indexof("ul") != -1) {
xmsd = msd.replace("ul", "");
intpackaging = 0.001;
}
else if (msd.indexof("l") != -1) {
xmsd = msd.replace("l", "");
intpackaging = 1000;
}
else if (msd.indexof("kg") != -1) {
xmsd = msd.replace("kg", "");
intpackaging = 1000;
}
else if (msd.indexof("mg") != -1) {
xmsd = msd.replace("mg", "");
intpackaging = 0.001;
}
else if (msd.indexof("ug") != -1) {
xmsd = msd.replace("ug", "");
intpackaging = 0.000001;
}
else if (msd.indexof("μg") != -1) {
xmsd = msd.replace("μg", "");
intpackaging = 0.000001;
}
else if (msd.indexof("g") != -1) {
xmsd = msd.replace("g", "");
intpackaging = 1;
}
var resultsortpack = 0;
try {
resultsortpack = parsefloat(xmsd) * intpackaging;
}
catch (e) { }
if (isnan(resultsortpack)) {
resultsortpack = 0;
}
var bsd = $.grep(brandsortsdata, function (v) {
return v.title == brand;
})
if (brands[brand] != undefined) {
gds[i]["brandsort"] = brands[brand];
}
else {
gds[i]["brandsort"] = 1000;
}
gds[i]["brand"] = brand;
if (bsd.length > 0) {
if (bsd[0]["brandtype"] != null) {
gds[i]["brandtype"] = parseint(bsd[0]["brandtype"]);
}
else {
gds[i]["brandtype"] = 0;
}
}
else {
gds[i]["brandtype"] = 0;
}
gds[i]["purity"] = purity;
gds[i]["packaging"] = resultsortpack;
gds[i]["intpackaging"] = intpackaging;
var suminventory = 0;
if (gds[i]["inventores"] != null) {
for (var ni = 0; ni < gds[i]["inventores"].length; ni++) {
suminventory += gds[i]["inventores"][ni].amount;
}
}
gds[i]["suminventory"] = suminventory;
if (gds[i].sort != "" || gds[i].sort != "0") {
var sort = eval('(' + gds[i].sort + ');');
if (sort.sort_purity != undefined) {
gds[i]["sort_purity"] = sort.sort_purity;
}
if (sort.sort_brand != undefined) {
gds[i]["sort_brand"] = sort.sort_brand;
}
if (sort.sort_standard != undefined) {
gds[i]["sort_standard"] = sort.sort_standard;
}
}
}
gds.sort(web960.utils.tools.sort('asc', 'brandsort'));
var cdarr = [];
var fangds = [];
for (var i = 0; i < gds.length; i++) {
var cdstr = gds[i].purity + "|" + gds[i].brand;
var dataar = [];
var idx = jquery.inarray(cdstr, cdarr);
if (idx == -1) {
var item = {};
item["title"] = cdstr;
item["purity"] = gds[i].purity;
item["packaging"] = gds[i].packaging;
item["intpackaging"] = gds[i].intpackaging;
item["brand"] = gds[i].brand;
item["brandtype"] = gds[i].brandtype;
item["pd_id"] = gds[i].pd_id;
item["items"] = [];
item.items.push(gds[i]);
fangds.push(item);
cdarr.push(cdstr);
}
else {
fangds[idx].items.push(gds[i]);
}
}
return fangds;
}
var goodsconfig = {
whennogoods: function () {
return "";
},
callback: function () {
if (this.nowviewmode == "newlist") {
//如果有默认显示的规格需要显示
//否则选择最小价格
this.initproductitemclick("#progoodslist");
this.initproductitemclick("#kj-buy-select-content");
this.displaygoodsinfo("#progoodslist", {
ableaddactive:true
});
}
$(".kj-product-prep-item").each(function () {
$(this).parents(".kj-product-item").addclass("kj-product-item-viewbyprepent");
});
},
inventoryitemhtml_productlist: function (goodss, pd_id) {
var html = '';
if ($("#viewbyintegralproduct").length == 0) {
goodss = arrangegoods(goodss);//整理goods
//产品
var stdcode = $("input[name='productstandardcatalog'][productid='" + pd_id+ "']").val();
var issebei = false;
if (stdcode.length > 0 && stdcode.substr(0, 2) == "12") {
issebei = true;
}
//issebei = false;//都用统一样式
var isproinfopage = false;
isproinfopage = $("#nowproductid").length > 0;
if (goodss.length > 0) {
// html += '
\
html += '
\
\
'+ (isproinfopage ?"品牌 | ":"")+'\
货号 | \
'+ (issebei ? "产品描述" :"规格/纯度")+' | \
包装 | \
市场价(cny) | \
会员价(cny) | \
库存 | \
数量 | \
购物车 | \
';
var packages = [];
var minprice = -1;
var minpricestr = "";
var firstpdidx = 0;
for (var m = 0; m < goodss.length; m++) {
pd_id = goodss[m].pd_id;
var goods = goodss[m].items;
var catacode = $("input[name='productitem_catalogno'][productid='" + goodss[m]["pd_id"] + "']").val();
var producturl = $("#productitem_href_" + goodss[m]["pd_id"]).attr("href");
var productcustomno = $("input[name='productcustomno'][productid='" + goodss[m]["pd_id"] + "']").val();
var packagesds = [];
for (var j = 0; j < goods.length; j++) {
var packagingds = $.trim(web960.utils.tools.getvalfromjson(goods[j].goods_info, "{goodsinfo.packaging}"));
if (packagesds.indexof(packagingds) == -1) {
packagesds.push(packagingds);
}
}
var brand = goodss[m].brand;
$(".productbrand_" + goodss[m]["pd_id"]).html(brand);
goods.sort(web960.utils.tools.sort("asc", "packaging"));
var puritys = [];
for (var i = 0; i < goods.length; i++) {
firstpdidx++;
var packaging = $.trim(web960.utils.tools.getvalfromjson(goods[i].goods_info, "{goodsinfo.packaging}"));
var purity = $.trim(web960.utils.tools.getvalfromjson(goods[i].goods_info, "{goodsinfo.purity}"));
if (purity!=""&&puritys.indexof(purity) == -1) {
puritys.push(purity);
}
if (packages.indexof(packaging) == -1) {
packages.push(packaging);
}
var price = this.getgoodsinventoreprice(goods[i], goods[i].inventores[0].preferenttype, goods[i].inventores[0].preferentinfo, goods[i].inventores[0].moneyunit, goods[i].inventores[0].price);
if ($("#pro_ispromotion_" + pd_id).length > 0) {
if (price.ispromotion == 1) {
$("#pro_ispromotion_" + pd_id).replacewith('促销
');
}
}
if (minprice == -1 || price.finalprice < minprice) {
minprice = price.finalprice;
minpricestr = price.moneyunit + price.finalprice;
}
if (typeof (fliterjson) != "undefined") {
var ismatched = true;
for (var fliterkey in fliterjson) {
var thisvkey = (fliterkey == "brandname" ? "brand" : fliterkey);
if (fliterjson[fliterkey] != null && fliterjson[fliterkey] != "") {
var thisval = $.trim(web960.utils.tools.getvalfromjson(goods[i].goods_info, "{goodsinfo." + thisvkey + "}"));
if (thisval == null || thisval == "") {
thisval = $.trim(web960.utils.tools.getvalfromjson(goods[i].goods_info, "{extendattrs." + thisvkey + "}"));
}
if (thisval != fliterjson[fliterkey]) {
firstpdidx = 0;
ismatched = false;
break;
}
}
}
if (!ismatched) {
continue;
}
}
firstpdidx = 0;//都用统一的样式
if (firstpdidx == 1 && isproinfopage && issebei) {
// 详情页 设备类产品
$("#firstgoodsno").html(goods[i].goods_no);
$("#firstgoodsbrand").html(brand);
var firsthtml = '';
$("#progoodsfirst").html(firsthtml);
}
else {
var inventorydisplay = "";
if (brand == "dieckmann") {
inventorydisplay = "有";
}
else {
inventorydisplay = "以(" + brand + ")官网为准";
}
// initinventorydisplay(goods[i].inventores[0], null, goods[i])
var _thisproducturl = goods[i].goods_no;
if (producturl != undefined) {
_thisproducturl = '' + goods[i].goods_no + '';
}
html += '\
'+ (isproinfopage ? "" + brand+" | " : "") +'\
'+ _thisproducturl+' | \
'+ purity+' | \
'+ packaging +'\
' + price.finalprice + '\
' + getsimpmoneyunit(goods[i].inventores[0].moneyunit) + '\
' + parsefloat(goods[i].inventores[0].price).tofixed(2) + '\
' + goods[i].inventores[0].moneyunit + '\
' + goods[i].inventores[0].unit + '\
| \
' + price.moneyunit + price.orgprice + ' | \
' + price.moneyunit + price.finalprice + ' | \
' + inventorydisplay+ ' | \
\
\
\
\
\
| \
\
\
| \
';
}
}
if ($("#product_pur_package_" + pd_id).length > 0) {
if (puritys.length > 0) {
$("#product_pur_package_" + pd_id).html('' + puritys.join("
") + "
");//" + packages.join(",") + "
}
else {
// $("#product_pur_package_" + pd_id).html('' + packages.join(",") + "
");
}
}
}
html += '
\
';
if ($("#kj-item-caption_" + pd_id).length > 0) {
for (var key in proinfoview) {
$("#kj-item-caption_" + pd_id).append('
' + proinfoview[key]["title"] + ":" + proinfoview[key]["data"].join(",") + '
');
}
}
$("#product_small_price_" + pd_id).html(minpricestr);
}
}
else {
//积分商品
var minintegral = -1;
var maxintegral = -1;
if (goodss.length > 0) {
for (var i = 0; i < goodss.length; i++) {
if (goodss[i].inventores.length > 0) {
var integral = parsefloat(goodss[i].inventores[0].integral);
if (!isnan(integral)) {
if (minintegral == -1 || integral < minintegral) {
minintegral = integral;
}
if (maxintegral == -1 || integral > maxintegral) {
maxintegral = integral;
}
}
}
}
if (minintegral > 0 && maxintegral > 0) {
var integ = minintegral;
if (minintegral != maxintegral) {
integ = minintegral + "-" + maxintegral;
}
html = '
积分:' + integ + ' 兑换
';
}
}
}
return html;
},
nowselectegoods: null,
nowproductgoods: {
inventorys: [],
invsofpackage: {},
invsoflengthss: {},
invsofnjs: {},
invsofkjs: {},
invsofljs: {},
invsofjhxs: {},
invsofsccjs: {},
invsofpurity: {},
invsofbrand: {},
minpriceinv: null
},
initproductitemclick: function (el) {
var _this = this;
$("dl[propkey] dd a", el).click(function () {
var _s = this;
var propkey = $(_s).attr("propkey");
var thisval = $(_s).attr("propvalue");
if ($(_s).hasclass("sel_disabled")) {
return false;
}
if ($(_s).hasclass("sel_active")) {
$(_s).removeclass("sel_active");
}
else {
$("dl[propkey='" + propkey + "'] dd a", el).removeclass("sel_active");
$(_s).addclass("sel_active");
}
var whereobj = {};
$("dl[propkey]", el).each(function () {
var _thisdl = this;
var pkey = $(_thisdl).attr("propkey");
if ($("dd a.sel_active", _thisdl).length > 0) {
var _tvalue = $("dd a.sel_active", _thisdl).attr("propvalue");
whereobj[pkey] = _this.goodsdata[pkey][_tvalue].value;
}
});
_this.selectedgoods = $.grep(_this.goodsofnowproduct, function (obj, i) {
var r = true;
for (var key in whereobj) {
r = r && obj["extdetails"][key] == whereobj[key];
}
return r;
});
//console.log("查询条件");
//console.log(whereobj);
_this.displaygoodsinfo(el, {
clickrow: propkey,
ableaddactive: false
});
//console.log(propkey + "-" + thisval);
//console.log(_this.goodsdata[propkey][thisval]);
//console.log("可供选择的数组");
//console.log(_this.selectedgoods);
});
},
goodsdata: {
},
selectedgoods: [],
displaygoodsinfo: function (el, cfg) {
cfg = $.extend({}, cfg);
var _this = this;
_this.nowselectegoods = null;
// console.log(_this.selectedgoods);
if (_this.selectedgoods.length == 0) {
$("dl[propkey] dd a", el).removeclass("sel_disabled");
}
else {
$("dl[propkey]", el).each(function () {
var _thisdl = this;
var pkey = $(_thisdl).attr("propkey");
if (cfg["clickrow"] == null || cfg.clickrow != pkey) {
$("dd a", _thisdl).addclass("sel_disabled");
}
for (var i = 0; i < _this.selectedgoods.length; i++) {
var titem = _this.selectedgoods[i];
var rpvalue = md5(titem.extdetails[pkey]);
$("dd a[propvalue='" + rpvalue + "']", _thisdl).removeclass("sel_disabled");
}
if (cfg.ableaddactive) {
var totala = $("dd a", _thisdl).length;
var disc = $("dd a.sel_disabled", _thisdl).length;
var activec = $("dd a.sel_active", _thisdl).length;
if (activec == 0 && (totala - disc == 1)) {
$("dd a[class!='sel_disabled']", _thisdl).addclass("sel_active");
}
}
});
}
var cleargoodcontent = true;
if (_this.selectedgoods.length == 1) {
//定位到唯一了
var ngoodsinfo = _this.selectedgoods[0];
if (ngoodsinfo["invprice"] != null) {
cleargoodcontent = false;
_this.nowselectegoods = ngoodsinfo;
$("#kj-addtocart-btn", el).removeclass("disabled").attr("disabled", false);
$("#kj-buy-selected-ok").removeclass("disabled").attr("disabled", false);
$(".kj-nowproduct-price").html(ngoodsinfo.invprice.moneyunit + ngoodsinfo.invprice.finalprice);
$(".kj-nowproduct-orgprice").html(ngoodsinfo.invprice.moneyunit + ngoodsinfo.invprice.orgprice);
$(".kj-nowgoods-no").html(ngoodsinfo.goodsno);
var laohuohao = " ";
if (ngoodsinfo["extdetails"] != null && ngoodsinfo["extdetails"]["laohuohao"] != null) {
laohuohao = ngoodsinfo["extdetails"]["laohuohao"];
}
$(".laohuohao").html(laohuohao);
$(".kj-nowgoods-name").html((ngoodsinfo["extdetails"]["goodsname"] != null ? ngoodsinfo["extdetails"]["goodsname"] : ""));
$(".nowgoodsinventory").html(initinventorydisplay(ngoodsinfo.inv, null, ngoodsinfo));
}
}
if (cleargoodcontent) {
$("#kj-addtocart-btn", el).addclass("disabled").attr("disabled", true);
$("#kj-buy-selected-ok").removeclass("disabled").attr("disabled", true);
$(".kj-nowproduct-price").html(" ");
$(".kj-nowproduct-orgprice").html(" ");
$(".kj-nowgoods-no").html(" ");
$(".laohuohao").html(" ");
$(".nowgoodsinventory").html(" ");
$(".kj-nowgoods-name").html(" ");
}
},
goodsofnowproduct:[],
inventoryitemhtml_productinfo: function (goodss, pd_id) {
var _this = this;
var get = $.urlget(); //获取url的get参数
var def_goodsno = get['goodsno']; //取得id的值
var defviewinv = null; //默认显示哪一个规格
var minpriceinv = null;//价格最小的规格
var minprice = -1;
var minpricestr = "";
//参数配置部分------开始
var isviewdefinv = false;//是否默认显示一个规格 如果是defviewinv 讲可以赋值
var isviewinventory = true;//是否显示库存量
var proptitles = {
// goodsname: "商品名称",
brand: "品牌",
jianhexing:"键合相",
packaging: "包装",
changdu: "长度",
lijing: "粒径",
sizeinside: "内径",
kongjing: "孔径",
//changjia: "生产厂家",
purity: "纯度"
};
//按钮控制
var btnconfig = {
buynow: true,//显示立即购买
addtocart: true,//显示加入购物车
addtofav: false//显示加入收藏
};
//参数配置部分------结束
var extinfogoodslist = {};
//解析商品的扩展属性
for (var i = 0; i < goodss.length; i++) {
var item = goodss[i];
var extobj = json.parse(item.goods_info);
var extdetails = {};
for (var key in extobj["extendattrs"]) {
extdetails["" + key] = extobj["extendattrs"][key];
}
for (var key in extobj["goodsinfo"]) {
extdetails["" + key] = extobj["goodsinfo"][key];
}
goodss[i]["extdetails"] = extdetails;
goodss[i]["extobj"] = extobj;
}
var emptyvaluekeys = {};
for (var i = 0; i < goodss.length; i++) {
var item = goodss[i];
var goodsno = item["goods_no"];
item["goodsno"] = goodsno;
item["goodsid"] = item.id;
item["pd_id"] = item.pd_id;
if (item.inventores.length > 0) {
var stock = item.inventores[0];
var price = _this.getgoodsinventoreprice(item, stock.preferenttype, stock.preferentinfo, stock.moneyunit, stock.price);
// console.log(price);
item["invprice"] = price;
item["price"] = price;
item["id"] = stock.inventory_id;
item["inv"] = stock;
if (minprice == -1 || parsefloat(price.finalprice) < minprice) {
minprice = parsefloat( price.finalprice);
minpricestr = price.moneyunit + price.finalprice;
minpriceinv = item;
}
if (def_goodsno != null && def_goodsno.length > 0 && def_goodsno == goodsno) {
defviewinv = item;
}
}
for (var key in item.extdetails) {
if (extinfogoodslist[key] == null) {
extinfogoodslist[ key] = {};
}
var thisval = item.extdetails[key];
if (thisval == null || thisval == "") {
thisval = "n/a";
if (emptyvaluekeys[key] == undefined) {
emptyvaluekeys[key] = 1;
}
}
else {
emptyvaluekeys[key] = 0;
}
var encodevalkey = md5(thisval);
if (extinfogoodslist[key][encodevalkey] == undefined) {
extinfogoodslist[key][encodevalkey] = { value: thisval,items:[]};
}
extinfogoodslist[key][encodevalkey].items.push(item);
}
_this.goodsofnowproduct.push(item);
}
for (var key in emptyvaluekeys) {
if (emptyvaluekeys[key] == 1) {
delete extinfogoodslist[key];
}
}
if (defviewinv == null && minpriceinv != null && isviewdefinv) {
defviewinv = minpriceinv;
}
if (defviewinv != null) {
_this.selectedgoods = [defviewinv];
}
var html = "";
for (var key in proptitles) {
if (extinfogoodslist[key] != undefined) {
html += '
\
- '+ (proptitles[key] == null ? key : proptitles[key]) + '
\
- ';
for (var ik in extinfogoodslist[key]) {
html += '' + extinfogoodslist[key][ik].value + '';
}
html += '
\
';
}
}
if (isviewinventory) {
html += '
- 库存
';
}
html += '
- 数量
\
- \
\
\
\
\
\
\
\
';
if (btnconfig.buynow) {
html += '
立即购买';
}
if (btnconfig.addtofav) {
html += '
';
}
if (btnconfig.addtocart) {
html += '
';
}
html+='
\
';
this.goodsdata = extinfogoodslist;
//console.log(extinfogoodslist);
//console.log(goodss);
// console.log(_this.goodsofnowproduct);
return html;
},
buynowv3: function (invid, o, isintegral) {
if (typeof (inventorydatacfg) != "undefined" && inventorydatacfg["inv_" + invid] != null) {
inventorydatacfg["inv_" + invid]["ordernum"] = parseint($("#goodsinv_" + invid).val());
addtocart(invid, o, inventorydatacfg["inv_" + invid], isintegral);
settimeout(function () {
location.href = "/order/shopcart/";
}, 1000);
}
},
addtocartbulk: function (o,el) {
$("input[shopcart-num-box='true']", el).each(function () {
var _s = this;
var v = $(_s).val();
if (v != "") {
var num = parseint(v);
if (!isnan(num) && num > 0) {
var invid = $(_s).attr("shopcart-inv");
var isintegral = parseint( $(_s).attr("shopcart-isintegral"));
goodsconfig.addtocartv3(invid, o, isintegral);
}
}
});
},
addtocartv3: function (invid, o, isintegral) {
try {
if (typeof (inventorydatacfg) != "undefined" && inventorydatacfg["inv_" + invid] != null) {
inventorydatacfg["inv_" + invid]["ordernum"] = parseint($("#goodsinv_" + invid).val());
addtocart(invid, o, inventorydatacfg["inv_" + invid], isintegral);
}
}
catch (e) {
alert(e.tostring());
}
},
addtocart: function (o, isintegral) {
if (this.nowselectegoods != null) {
var ordernum = parseint($(".kj-order-num", $(o).parents(".kj-productinfo-fliter")).val());
this.nowselectegoods["ordernum"] = ordernum;
addtocart(this.nowselectegoods.id, o, this.nowselectegoods, isintegral);
}
},
addtocarttg: function (o, isintegral) {
if (this.nowselectegoods != null) {
var ordernum = parseint($(".kj-order-num", $(o).parents(".kj-productinfo-fliter")).val());
this.nowselectegoods["ordernum"] = ordernum;
addtocart(this.nowselectegoods.id, o, this.nowselectegoods, isintegral);
settimeout(function () {
location.href = "/order/shopcart/";
}, 1000);
}
},
addtocart_mobile: function (o, isintegral) {
if (this.nowselectegoods != null) {
var ordernum = parseint($(".kj-buy-select-content .kj-order-num").val());
this.nowselectegoods["ordernum"] = ordernum;
addtocart(this.nowselectegoods.id, null, this.nowselectegoods, isintegral);
}
},
nowproductviewinfo: {},
inventoryitemhtml: function (goodss, pd_id) {
this.nowproductviewinfo["goodss"] = goodss;
this.nowproductviewinfo["pd_id"] = pd_id;
//if ($("#nowproductid").length > 0) {
// this.nowviewmode = "list";
// return goodsconfig.inventoryitemhtml_productlist(goodss, pd_id);
//}
//else {
// this.nowviewmode = "newlist";
// return goodsconfig.inventoryitemhtml_productlist(goodss, pd_id);
//}
var viewwidth = window.innerwidth;
if ($("#nowintegralproductid").length == 0) {
this.nowviewmode = "list";
}
if (viewwidth < 768 || $("#nowproinfo").length == 1) {
this.nowviewmode = "newlist";
}
this.nowviewmode = "list";
if ($("#nowproductid").length > 0) {
$("#goods_viewmode_ctrlbox button").removeclass("active");
if (this.nowviewmode == "list") {
$("#goods_viewmode_list").addclass("active");
return goodsconfig.inventoryitemhtml_productlist(goodss, pd_id);
}
else if (this.nowviewmode == "newlist") {
$("#goods_viewmode_newlist").addclass("active");
return goodsconfig.inventoryitemhtml_productinfo(goodss, pd_id);
}
}
else {
this.nowviewmode = "list";
return goodsconfig.inventoryitemhtml_productlist(goodss, pd_id);
}
},
nowviewmode: "list",
toggleviewmode: function (o, el, type) {
this.nowviewmode = type;
$("button", $(o).parent()).removeclass("active");
$(o).addclass("active");
var goodss = this.nowproductviewinfo["goodss"];
var pd_id = this.nowproductviewinfo["pd_id"];
if (type == "list") {
$(el).html(goodsconfig.inventoryitemhtml_productlist(goodss, pd_id));
}
else if (type == "newlist") {
$(el).html(goodsconfig.inventoryitemhtml_productinfo(goodss, pd_id));
}
this.callback();
},
viewmore: function (o) {
$("tr[hidenitem='hideitem']", $(o).parent().parent().parent()).toggle();
},
getgoodsinventoreprice: function (goods, preferenttype, preferentinfo, moneyunit, price) {
var brand = $.trim(web960.utils.tools.getvalfromjson(goods.goods_info, "{goodsinfo.brand}"));
return this._getgoodsinventoreprice(brand, preferenttype, preferentinfo, moneyunit, price);
},
_getgoodsinventoreprice: function (brand, preferenttype, preferentinfo, moneyunit, price) {
var returnv = { html: "", orgprice: price, finalprice: price, moneyunit: getsimpmoneyunit(moneyunit) };
var html = "";
if (preferenttype == "-1") {
returnv.finalprice = price;
}
else {
if (goodsglobalsettings.preferentsetting != undefined) {
var setting = eval('(' + goodsglobalsettings.preferentsetting + ');');
var preinfo = eval('(' + preferentinfo + ');');
var brandset = setting["preferentsettingbybrand"];//品牌设置优惠
var brandprice = price;
if (brandset != undefined && brand != "") {
for (var x = 0; x < brandset.length; x++) {
var tbrandset = brandset[x];
if (brand == tbrandset.brandname) {
//默认品牌优惠设置
for (var i = 0; i < tbrandset.rolessetting.length; i++) {
if (typeof (nowuserinfo) != "undefined") {
if (nowuserinfo.rolename != undefined && nowuserinfo.rolename != "") {
if (nowuserinfo.rolename == tbrandset.rolessetting[i].rolename) {
brandprice = parsefloat(tbrandset.rolessetting[i].zk) * price;
// html += getsimpmoneyunit(moneyunit) + (parsefloat(tbrandset.rolessetting[i].zk) * price).tofixed(2);
}
} else {
if (tbrandset.rolessetting[i].visible == "all") {
brandprice = parsefloat(tbrandset.rolessetting[i].zk) * price;
// html += getsimpmoneyunit(moneyunit) + (parsefloat(tbrandset.rolessetting[i].zk) * price).tofixed(2);
}
}
}
else {
if (tbrandset.rolessetting[i].visible == "all") {
brandprice = parsefloat(tbrandset.rolessetting[i].zk) * price;
// html += getsimpmoneyunit(moneyunit) + (parsefloat(tbrandset.rolessetting[i].zk) * price).tofixed(2);
}
}
}
break;
}
}
}
var norprice = price;
var exhtml = '';
if (preferenttype == "1" && setting.suspendpromotion == "0") {
//促销
returnv.ispromotion = 1;
if (preinfo.premethod == "1") {
var val = preinfo.val;
if (val == null || val == "") {
val = 10;
}
val = parsefloat(val);
if (isnan(val)) {
val = 10;
}
norprice = (val / 10) * parsefloat(price);
exhtml = '
促销';
html = getsimpmoneyunit(moneyunit) + ((val / 10) * parsefloat(price)).tofixed(2) + '
促销';
// html = getsimpmoneyunit(moneyunit) + (parsefloat(preinfo.val) * parsefloat(price)).tofixed(2) + '
促 ';
}
else {
norprice = parsefloat(preinfo.val);
exhtml = '
促销';
html = getsimpmoneyunit(moneyunit) + parsefloat(preinfo.val).tofixed(2) + '
促销';
//html = getsimpmoneyunit(moneyunit) + parsefloat(preinfo.val).tofixed(2) + '
促';
}
// html = preinfo.val + ' ' + (preinfo.premethod == "1" ? "折" : moneyunit)+'
促销 ';
}
else if (preferenttype == "2" && setting.suspendpreferent == "0") {
//优惠
for (var i = 0; i < preinfo.rolessetting.length; i++) {
if (typeof (nowuserinfo) != "undefined") {
if (nowuserinfo.rolename != undefined && nowuserinfo.rolename != "") {
if (nowuserinfo.rolename == preinfo.rolessetting[i].rolename) {
if (preinfo.premethod == "1") {
norprice = parsefloat(preinfo.rolessetting[i].zk) * parsefloat(price);
html += getsimpmoneyunit(moneyunit) + (parsefloat(preinfo.rolessetting[i].zk) * parsefloat(price)).tofixed(2);
}
else {
norprice = parsefloat(preinfo.rolessetting[i].zk);
html += getsimpmoneyunit(moneyunit) + parsefloat(preinfo.rolessetting[i].zk).tofixed(2);
}
}
} else {
if (preinfo.rolessetting[i].visible == "all") {
if (preinfo.premethod == "1") {
norprice = parsefloat(preinfo.rolessetting[i].zk) * parsefloat(price);
html += getsimpmoneyunit(moneyunit) + (parsefloat(preinfo.rolessetting[i].zk) * parsefloat(price)).tofixed(2);
}
else {
norprice = parsefloat(preinfo.rolessetting[i].zk);
html += getsimpmoneyunit(moneyunit) + parsefloat(preinfo.rolessetting[i].zk).tofixed(2);
}
}
}
}
else {
if (preinfo.rolessetting[i].visible == "all") {
if (preinfo.premethod == "1") {
norprice = parsefloat(preinfo.rolessetting[i].zk) * parsefloat(price);
html += getsimpmoneyunit(moneyunit) + (parsefloat(preinfo.rolessetting[i].zk) * parsefloat(price)).tofixed(2);
}
else {
norprice = parsefloat(preinfo.rolessetting[i].zk);
html += getsimpmoneyunit(moneyunit) + parsefloat(preinfo.rolessetting[i].zk).tofixed(2);
}
}
}
}
}
else if (preferenttype == "0" && setting.suspendpreferent == "0" && setting.enable == "1") {
//默认优惠设置
for (var i = 0; i < setting.rolessetting.length; i++) {
if (typeof (nowuserinfo) != "undefined") {
if (nowuserinfo.rolename != undefined && nowuserinfo.rolename != "") {
if (nowuserinfo.rolename == setting.rolessetting[i].rolename) {
norprice = parsefloat(setting.rolessetting[i].zk) * price;
html += getsimpmoneyunit(moneyunit) + (parsefloat(setting.rolessetting[i].zk) * price).tofixed(2);
}
} else {
if (setting.rolessetting[i].visible == "all") {
norprice = parsefloat(setting.rolessetting[i].zk) * price;
html += getsimpmoneyunit(moneyunit) + (parsefloat(setting.rolessetting[i].zk) * price).tofixed(2);
}
}
}
else {
if (setting.rolessetting[i].visible == "all") {
norprice = parsefloat(setting.rolessetting[i].zk) * price;
html += getsimpmoneyunit(moneyunit) + (parsefloat(setting.rolessetting[i].zk) * price).tofixed(2);
}
}
}
}
}
if (norprice > brandprice) {
returnv.finalprice = parsefloat(brandprice).tofixed(2);
html = getsimpmoneyunit(moneyunit) + '
' + parsefloat(brandprice).tofixed(2) + "" + exhtml;
}
else {
returnv.finalprice = parsefloat(norprice).tofixed(2);
}
}
returnv.finalprice = parsefloat(returnv.finalprice).tofixed(2);
html = '
' + getsimpmoneyunit(moneyunit) + '' + returnv.finalprice + "";
returnv.html = html;
return returnv;
},
dynamiccompinventory: true,//库存是否按产品动态计算
invbypd_id: {},
initinventoryprice: function () {
var _s = this;
if (typeof (inventorydatacfg) != "undefined") {
var invs = [];
for (var key in inventorydatacfg) {
var inv = inventorydatacfg[key];
inv["moneyunit"] = inv.moneyunit;
inv["orgprice"] = inv.price;
var price = _s._getgoodsinventoreprice(inv.brandname, inv.preferenttype, inv.preferentinfo, inv.moneyunit, inv.price);
$(".kj-pre-price[invid='" + inv.inventory_id + "']").html('' + price.moneyunit + price.finalprice + '');
inv["price"] = price;
inv["inv"] = { unit: inv.unit, moneyunit: inv.moneyunit };
var invdisplay = initinventorydisplay(inv);
invs.push(inv);
if (goodsconfig.invbypd_id["p_" + inv["pd_id"]] == null) {
goodsconfig.invbypd_id["p_" + inv["pd_id"]] = [];
}
goodsconfig.invbypd_id["p_" + inv["pd_id"]].push(inv);
$(".kj-inventory-display[invid='" + inv.inventory_id + "']").html(invdisplay);
}
if (goodsconfig.dynamiccompinventory) {
//动态计算
for (var key in goodsconfig.invbypd_id) {
var invs = goodsconfig.invbypd_id[key];
for (var i = 0; i < invs.length; i++) {
var packaging = invs[i]["packaging"];
var msd = $.trim(packaging.tolowercase());
var xmsd = "";
var intpackaging = 0;
if (msd.indexof("ml") != -1) {
xmsd = msd.replace("ml", "");
intpackaging = 1;
}
else if (msd.indexof("μl") != -1) {
xmsd = msd.replace("μl", "");
intpackaging = 0.001;
}
else if (msd.indexof("ul") != -1) {
xmsd = msd.replace("ul", "");
intpackaging = 0.001;
}
else if (msd.indexof("l") != -1) {
xmsd = msd.replace("l", "");
intpackaging = 1000;
}
else if (msd.indexof("kg") != -1) {
xmsd = msd.replace("kg", "");
intpackaging = 1000;
}
else if (msd.indexof("mg") != -1) {
xmsd = msd.replace("mg", "");
intpackaging = 0.001;
}
else if (msd.indexof("ug") != -1) {
xmsd = msd.replace("ug", "");
intpackaging = 0.000001;
}
else if (msd.indexof("μg") != -1) {
xmsd = msd.replace("μg", "");
intpackaging = 0.000001;
}
else if (msd.indexof("g") != -1) {
xmsd = msd.replace("g", "");
intpackaging = 1;
}
var packbyg = 0;
try {
packbyg = parsefloat(xmsd) * intpackaging;
}
catch (e) { }
if (isnan(packbyg)) {
packbyg = 0;
}
invs[i]["packbyg"] = packbyg;
}
var totalsumpackbyg = 0;
for (var i = 0; i < invs.length; i++) {
totalsumpackbyg += invs[i]["packbyg"] * invs[i]["amount"];
}
for (var i = 0; i < invs.length; i++) {
if (invs[i]["packbyg"] != 0) {
invs[i]["zamount"] = math.floor(totalsumpackbyg / invs[i]["packbyg"]);
}
else {
invs[i]["zamount"] = 0;
}
}
for (var i = 0; i < invs.length; i++) {
var inv = invs[i];
var invstr = "询单";
if (inv.zamount > 10) {
invstr = ">10";
}
else if (inv.zamount>0){
invstr = inv.zamount + "";
}
$(".kj-inventory-display[invid='" + inv.inventory_id + "']").html(invstr);
}
}
}
}
},
guestprice: function (rolessetting, premethod, preinfo, price) {
for (var j = 0; j < rolessetting.length; j++) {
if (rolessetting[j].rolename == "普通会员") {
//if (preinfo.premethod == "2") {
// price = parsefloat(rolessetting[j].zk);
//}
//else {
// price = price * parsefloat(rolessetting[j].zk);
//}
price = price * parsefloat(rolessetting[j].zk);
}
}
return price;
}
};