Add.js
6.99 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
/**
* Created by ty on 2016/3/24.
*/
var $ = require('jquery');
var common = require('../../../common/common');
var hasClickEvent = false;//判断保存按钮是否有点击事件;
//定义全局数据变量
var dataList = {};
//点击搜索按钮
$(document).on('click', '#searchSku', function () {
var val = $.trim($("#skuInput").val());
if (!val.match(/^[0-9]+$/)) {
common.util.__tip("输入不合法", "warning");
return;
}
if (val) {
$("#add-list").hide();
common.util.__ajax({
url: '/meterManage/productSize/queryProdSizeList',
data: {productSku: val}
}, function (res) {
if (res.data.list && res.data.list.length > 0) {
var e = new common.edit("#add-list");
dataList = res.data.list[0];
//拼接分类字符串
var a = dataList.productType.replace(/<br>/g, "/");
dataList.productType = a.substring(0, a.length - 1);
var headList = [];
var j = 0;//创造一个变量以供赋值
if (dataList.sizeRelationsList.length > 0) {
headList.push({display: "尺码", name: "sizeName"});//尺码
headList.push({
display: "参考尺码(" + dataList.genderName + ")", name: "referenceName", render: function (item1) {//参考尺码列
var refName = item1.referenceName ? item1.referenceName : "";//非空判断
var a = refName.split(/[|/]/g);
var refName1 = a[0] || "", refName2 = a[1] || "";
return '<input class="col-sm-5 refInfo refInfo1" data-index="' + item1.__index + '"' + 'value="' + refName1 + '"/>' + '<div class="col-sm-1">' + '/</div>' + '<input class="col-sm-5 refInfo refInfo2" data-index="' + item1.__index + '"' + 'value="' + refName2 + '"/>';
}
});
for (var i = 0; i < dataList.sizeRelationsList[0].prdSizeAttributeBoList.length; i++) {//尺码列
var sizeAttributes = dataList.sizeRelationsList[0].prdSizeAttributeBoList[i];//参考尺码数组里的数据
var chkbox = '<label style="cursor: pointer;"><input type="checkbox" name="noMeasureIds" data-index="' + i + '" value="' + sizeAttributes.sizeAttributeId + '"/>无需测量</label>';
headList.push({
display: sizeAttributes.sizeAttributeName + "<br>" + chkbox,
name: "sizeValue",
render: function (item1) {
var prdList = item1.prdSizeAttributeBoList;
if (j >= prdList.length) j = 0;//防止越界
var sizeVal = prdList[j].sizeValue ? prdList[j].sizeValue : "";
return '<input class="form-control sizeInfo ' + prdList[j++].sizeAttributeId
+ '" data-index="' + item1.__index + '"' + 'value="' + sizeVal + '"/>';
}
});
}
}
var grid = new common.grid({
el: "#content-list",
hash: false,
columns: headList
});
grid.init(dataList.sizeRelationsList);
$("#add-head").html(common.util.__template2($("#modifySize-template").html(), dataList));
$("#noMeasureIds").val(dataList.noMeasureIds ? dataList.noMeasureIds.join("|") : "");
$("#add-list").show();
e.init();
if (!hasClickEvent) {
hasClickEvent = true;
$(document).on('click', '#add-saveBtn', function () {
var noMeasureIds = JSON.stringify($("#noMeasureIds").val() ? $("#noMeasureIds").val().split("|") : []);//无需测量的列
//尺码信息列表
var sizeInfoList = [];
for (var i = 0; i < $(".sizeInfo").length; i++) {
var info = $($(".sizeInfo")[i]);//当前尺码input对象
var prdList = dataList.sizeRelationsList[info.data("index")].prdSizeAttributeBoList;//当前列的对象的尺码列表
var attrIndex = parseInt(i % prdList.length);//在当前列的索引
sizeInfoList[i] = ({
productSkn: dataList.productSkn,
sizeId: dataList.sizeRelationsList[info.data("index")].sizeId,
sizeAttributeId: prdList[attrIndex].sizeAttributeId,
sizeValue: info.val()
});
}
//商品参考尺码
var productSizeReferList = [];
for (var i = 0; i < $(".refInfo").length / 2; i++) {
var ref1 = $($(".refInfo1")[i]);
var ref2 = $($(".refInfo2")[i]);
productSizeReferList.push({
sizeId: dataList.sizeRelationsList[ref1.data("index")].sizeId,
gender: dataList.gender,
referenceName: ref1.val() + '/' + ref2.val()
});
}
var data = {
productSkn: dataList.productSkn,
noMeasureIds: noMeasureIds,
sizeInfoList: JSON.stringify(sizeInfoList),
productSizeReferList: JSON.stringify(productSizeReferList)
};
common.util.__ajax({
url: "/meterManage/productSize/saveProdSizeInfo",
data: data
}, function (res) {
if (res.code == '200') {
}
});
return false;
});
}
} else {
common.util.__tip("未搜索到sku:" + val);
}
}, true);
}
});
$("#skuInput").keydown(function () {
if (event.keyCode == "13") {
$("#searchSku").click();
}
});
//当点击“无需测量”,该列输入框不可编辑
$(document).on("change", "input[name='noMeasureIds']", function () {
var _index = $(this).data("index");
var tbody = $(this).parents('table').children('tbody');
if ($(this).is(':checked')) {
tbody.children('tr').each(function () {
$(this).find('td').eq(_index + 2).children().attr("readonly", true);
});
}
else {
tbody.children('tr').each(function () {
$(this).find('td').eq(_index + 2).children().attr("readonly", false);
});
}
});