| 
					
				 | 
			
			
				@@ -111,7 +111,7 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                var index = Util.msg.loading('加载中'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                //var index = Util.msg.loading('加载中'); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $.ajax({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     url: option.url, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     type: type, 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -120,12 +120,14 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     data: option.data, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     timeout: 60000, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     success: function (res) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        Util.msg.close(index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        //Util.msg.close(index); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        /* 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (res[option.statusName] == option.statusCode) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             return ok(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             return no(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }*/ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        return ok(res); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     error: function (xhr, textstatus, thrown) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         Util.msg.error('Status:' + xhr.status + ',' + xhr.statusText + ',请稍后再试!', function () { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -146,7 +148,7 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				     class SkuTable { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         options = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            isAttributeValue: 0, //规格类型 0统一规格 1多规格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            isAttributeValue: 1, //规格类型 0统一规格 1多规格 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             isAttributeElemId: 'fairy-is-attribute', //规格类型容器id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             specTableElemId: 'fairy-spec-table', //规格表容器id 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             skuTableElemId: 'fairy-sku-table', //SKU表容器id 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -217,6 +219,9 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     statusCode: this.options.requestSuccessCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }, (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (!res.data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        res.data = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     this.options.skuData = res.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     this.css(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     this.render(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -290,7 +295,7 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 $.each($(`#${that.options.specTableElemId} tbody tr`), function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     var child = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     $.each($(this).find('input[type=checkbox]'), function () { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        child.push({id: $(this).val(), title: $(this).attr('title'), checked: $(this).is(':checked')}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        child.push({id: $(this).val(), title: $(this).attr('title'), checked: $(this).is(':checked') ? '1' : '0'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     var specItem = { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         id: $(this).find('td').eq(0).data('spec-id'), 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -300,10 +305,6 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     specData.push(specItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 that.options.specData = specData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $('#spec').val(JSON.stringify(that.options.specData)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                if (data.elem.checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    //that.options.skuData[] 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 //that.options.skuData = $.extend(that.options.skuData, that.getFormSkuData()); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 that.resetRender(that.options.skuTableElemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 that.renderMultipleSkuTable(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -353,7 +354,7 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 layer.prompt({title: '规格值'}, function (value, index, elem) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     that.options.specData.forEach(function (v, i) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (v.id == specId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            v.child.push({id: Util.tool.uuid(), title: value, checked: false}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            v.child.push({id: Util.tool.uuid(), title: value, checked: '0'}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     that.resetRender(that.options.specTableElemId); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -412,13 +413,16 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         render() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.resetRender(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.renderIsAttribute(this.options.isAttributeValue); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            if (this.options.isAttributeValue == '1') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this.options.isAttributeValue == '2') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 if (this.options.specDataUrl && this.options.productId) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     Util.request.get({ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         url: this.options.specDataUrl, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         productId: this.options.productId, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         statusCode: this.options.requestSuccessCode 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }, (res) => { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (!res.data) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            res.data = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         this.options.specData = res.data; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         this.renderSpecTable(); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         this.renderMultipleSkuTable(); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -456,8 +460,8 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				          */ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         renderIsAttribute(checkedValue) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var html = ''; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            html += `<input type="radio" name="is_attribute" title="统一规格" value="0" lay-filter="fairy-is-attribute" ${checkedValue == '0' ? 'checked' : ''}>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            html += `<input type="radio" name="is_attribute" title="多规格" value="1" lay-filter="fairy-is-attribute" ${checkedValue == '1' ? 'checked' : ''}>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            html += `<input type="radio" name="update_spec_type" title="单规格" value="1" lay-filter="fairy-is-attribute" ${checkedValue == '1' ? 'checked' : ''}>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            html += `<input type="radio" name="update_spec_type" title="多规格" value="2" lay-filter="fairy-is-attribute" ${checkedValue == '2' ? 'checked' : ''}>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.renderFormItem('规格类型', html, this.options.isAttributeElemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -478,9 +482,9 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 switch (item.type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case "select": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         table += '<td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        table += `<select name="${item.field}" lay-verify="${item.verify}" lay-reqtext="${item.reqtext}">`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        table += `<select style="width: 100%;" name="skus[-1][${item.field}]" lay-verify="${item.verify}" lay-reqtext="${item.reqtext}">`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         item.option.forEach(function (o) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            table += `<option value="${o.value}" ${that.options.skuData[item.field] == o.value ? 'selected' : ''}>${o.key}</option>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            table += `<option value="${o.value}" ${that.options.skuData && that.options.skuData[-1] && that.options.skuData[-1][item.field] && that.options.skuData[item.field] == o.value ? 'selected' : ''}>${o.key}</option>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         table += '</select>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         table += '</td>'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -488,7 +492,7 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     case "input": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         table += '<td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        table += `<input type="text" name="${item.field}" value="${that.options.skuData[item.field] ? that.options.skuData[item.field] : item.value}" class="layui-input" lay-verify="${item.verify}" lay-reqtext="${item.reqtext}">`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        table += `<input type="text" style="width: 100%;" name="skus[-1][${item.field}]" value="${that.options.skuData && that.options.skuData[-1] && that.options.skuData[-1][item.field] ? that.options.skuData[-1][item.field] : item.value}" class="layui-input" lay-verify="${item.verify}" lay-reqtext="${item.reqtext}">`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         table += '</td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 } 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -506,17 +510,23 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         renderSpecTable() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             var that = this, 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 table = `<input type="hidden" name="spec" id="spec" value=""/><table class="layui-table" id="${this.options.specTableElemId}"><thead><tr><th>规格名</th><th>规格值</th></tr></thead><colgroup><col width="140"></colgroup><tbody>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            $.each(this.options.specData, function (index, item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                table += that.options.sortable ? `<tr data-id="${item.id}">` : '<tr>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                table += `<td data-spec-id="${item.id}">${item.title}<i class="layui-icon layui-icon-delete layui-anim layui-anim-scale ${that.options.specDataDelete ? '' : 'layui-hide'}" data-spec-index="${index}"></i></td>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                table += '<td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $.each(item.child, function (key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    table += `<input type="checkbox" title="${value.title}" lay-filter="fairy-spec-filter" value="${value.id}" ${value.checked ? 'checked' : ''} /><i class="layui-icon layui-icon-delete layui-anim layui-anim-scale ${that.options.specDataDelete ? '' : 'layui-hide'}" data-spec-value-index="${index}-${key}"></i> `; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this.options.specData.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $.each(this.options.specData, function (index, item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    table += that.options.sortable ? `<tr data-id="${item.id}">` : '<tr>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    table += `<td data-spec-id="${item.id}">${item.title}<i class="layui-icon layui-icon-delete layui-anim layui-anim-scale ${that.options.specDataDelete ? '' : 'layui-hide'}" data-spec-index="${index}"></i></td>`; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    table += '<td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (item.child) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        $.each(item.child, function (key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            table += `<input type="checkbox" title="${value.title}" lay-filter="fairy-spec-filter" value="${value.id}" ${value.checked == '1' ? 'checked' : ''} /><i class="layui-icon layui-icon-delete layui-anim layui-anim-scale ${that.options.specDataDelete ? '' : 'layui-hide'}" data-spec-value-index="${index}-${key}"></i> `; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    table += '<div class="fairy-spec-value-create"><i class="layui-icon layui-icon-addition"></i>规格值</div>' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    table += '</td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    table += '</tr>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                table += '<div class="fairy-spec-value-create"><i class="layui-icon layui-icon-addition"></i>规格值</div>' 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                table += '</td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                table += '</tr>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-            }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             table += '</tbody>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             table += '<tfoot><tr><td colspan="2">'; 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -527,6 +537,10 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             this.renderFormItem('商品规格', table, this.options.specTableElemId); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (this.options.specData.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                $('#spec').val(JSON.stringify(this.options.specData)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if (this.options.sortable) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 /** 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                  * 拖拽 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -556,21 +570,28 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             if ($(`#${this.options.specTableElemId} tbody input[type=checkbox]:checked`).length) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var prependThead = [], prependTbody = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                $.each(this.options.specData, function (index, item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    var isShow = item.child.some(function (value, index, array) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        return value.checked; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    if (isShow) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        prependThead.push(item.title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        var prependTbodyItem = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        $.each(item.child, function (key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            if (value.checked) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                prependTbodyItem.push({id: value.id, title: value.title}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                if (this.options.specData.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $.each(this.options.specData, function (index, item) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        var isShow = item.child.some(function (value, index, array) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            return value.checked == '1' ? true : false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        prependTbody.push(prependTbodyItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        if (isShow) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            prependThead.push(item.title); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            var prependTbodyItem = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            if (item.child) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                $.each(item.child, function (key, value) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    if (value.checked == '1') { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                        prependTbodyItem.push({id: value.id, title: value.title}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                             
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            prependTbody.push(prependTbodyItem); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    $('#spec').val(JSON.stringify(that.options.specData)); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 table += '<colgroup>' + '<col width="70">'.repeat(prependThead.length + 1) + '</colgroup>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -607,15 +628,21 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 var prependTbodyTrs = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 prependTbody.reduce(function (prev, cur, index, array) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     var tmp = []; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    prev.forEach(function (a) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        cur.forEach(function (b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                            tmp.push({id: a.id + that.options.skuNameDelimiter + b.id, title: a.title + that.options.skuNameDelimiter + b.title}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                        }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                    }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    if (cur.length > 0) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        prev.forEach(function (a) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            cur.forEach(function (b) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                tmp.push({id: a.id + that.options.skuNameDelimiter + b.id, title: a.title + that.options.skuNameDelimiter + b.title}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            }) 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        prev.forEach(function (a) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                            tmp.push({id: a.id, title: a.title}); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                        }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                    } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                     
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     return tmp; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                 }).forEach(function (item, index, array) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     var tr = '<tr>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				- 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     tr += item.title.split(that.options.skuNameDelimiter).map(function (t, i, a) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         if (that.options.rowspan) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             if (index % skuRowspanArr[i] === 0 && skuRowspanArr[i] > 1) { 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -633,18 +660,21 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     that.options.multipleSkuTableConfig.tbody.forEach(function (c) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         switch (c.type) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             case "image": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                tr += '<td><input type="hidden" name="' + that.makeSkuName(item, c) + '" value="' + (that.options.skuData[that.makeSkuName(item, c)] ? that.options.skuData[that.makeSkuName(item, c)] : c.value) + '" lay-verify="' + c.verify + '" lay-reqtext="' + c.reqtext + '"><img class="fairy-sku-img" src="' + (that.options.skuData[that.makeSkuName(item, c)] ? that.options.skuData[that.makeSkuName(item, c)] : that.options.skuIcon) + '" alt="' + c.field + '图片"></td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                var skuValue = that.getSkuData(that.options.skuData, item, c); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                tr += '<td><input type="hidden" name="' + that.makeSkuName(item, c) + '" value="' + (skuValue ? skuValue : c.value) + '" lay-verify="' + c.verify + '" lay-reqtext="' + c.reqtext + '"><img class="fairy-sku-img" src="' + (skuValue ? skuValue : that.options.skuIcon) + '" alt="' + c.field + '图片"></td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             case "select": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                tr += '<td><select name="' + that.makeSkuName(item, c) + '" lay-verify="' + c.verify + '" lay-reqtext="' + c.reqtext + '">'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                var skuValue = that.getSkuData(that.options.skuData, item, c); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                tr += '<td><select style="width: 100%;" name="' + that.makeSkuName(item, c) + '" lay-verify="' + c.verify + '" lay-reqtext="' + c.reqtext + '">'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 c.option.forEach(function (o) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                    tr += '<option value="' + o.value + '" ' + (that.options.skuData[that.makeSkuName(item, c)] == o.value ? 'selected' : '') + '>' + o.key + '</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                    tr += '<option value="' + o.value + '" ' + (skuValue && skuValue == o.value ? 'selected' : '') + '>' + o.key + '</option>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 }); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 tr += '</select></td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             case "input": 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                             default: 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				-                                tr += '<td><input type="text" name="' + that.makeSkuName(item, c) + '" value="' + (that.options.skuData[that.makeSkuName(item, c)] ? that.options.skuData[that.makeSkuName(item, c)] : c.value) + '" class="layui-input" lay-verify="' + c.verify + '" lay-reqtext="' + c.reqtext + '"></td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                var skuValue = that.getSkuData(that.options.skuData, item, c); 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                                tr += '<td><input style="width: 100%;" type="text" name="' + that.makeSkuName(item, c) + '" value="' + (skuValue ? skuValue : c.value) + '" class="layui-input" lay-verify="' + c.verify + '" lay-reqtext="' + c.reqtext + '"></td>'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                                 break; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				                     }); 
			 | 
		
	
	
		
			
				| 
					
				 | 
			
			
				@@ -714,6 +744,14 @@ layui.define(['jquery', 'form', 'upload', 'layer', 'sortable'], function (export 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return 'skus[' + (this.options.skuNameType === 0 ? sku.id : sku.title) + '][' + conf.field + ']'; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				  
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        getSkuData(data, sku, conf) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            if (data[(this.options.skuNameType === 0 ? sku.id : sku.title)]) { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return data[(this.options.skuNameType === 0 ? sku.id : sku.title)][conf.field]; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } else { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+                return false; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+            } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+        } 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				+ 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         getSpecData() { 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				             return this.options.specData; 
			 | 
		
	
		
			
				 | 
				 | 
			
			
				         } 
			 |