<style>
|
#goods-updatenew {
|
padding: 20px 25px 25px 0;
|
}
|
|
#goods-updatenew .layui-treeSelect .ztree li a, .ztree li span {
|
margin: 0 0 2px 3px !important;
|
}
|
#goods-updatenew #data-permission-tree-block {
|
border: 1px solid #eee;
|
border-radius: 2px;
|
padding: 3px 0;
|
}
|
#user-add .layui-treeSelect .ztree li span.button.switch {
|
top: 1px;
|
left: 3px;
|
}
|
|
</style>
|
<div class="layui-fluid" id="goods-updatenew">
|
<form class="layui-form" action="" lay-filter="goods-updatenew-form">
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label febs-form-item-require">id:</label>
|
<div class="layui-input-block">
|
<input type="text" name="id">
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">商品名称:</label>
|
<div class="layui-input-block">
|
<input type="text" name="goodsName" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">商品编号:</label>
|
<div class="layui-input-block">
|
<input type="text" name="goodsNo" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">所属分类:</label>
|
<div class="layui-input-block">
|
<select name="categoryId" class="categary-goods-updatenew-category" id="goodsUpdateSelect" >
|
<option value="">请选择</option>
|
</select>
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">单位:</label>
|
<div class="layui-input-block">
|
<input type="text" name="unit" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">原价:</label>
|
<div class="layui-input-block">
|
<input type="text" name="originalPrice" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">现价:</label>
|
<div class="layui-input-block">
|
<input type="text" name="presentPrice" lay-verify="required" placeholder="" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label">商品介绍:</label>
|
<div class="layui-input-block">
|
<input type="text" name="goodsIntrodution" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label febs-form-item-require">样式:</label>
|
<div class="layui-input-block">
|
<input type="text" name="addMallGoodsSkuDtos" autocomplete="off" class="layui-input" id="attrName">
|
</div>
|
</div>
|
<div class="layui-col-lg6">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" id="test3" >添加</button>
|
</div>
|
</div>
|
<div id="attrWrap"></div>
|
|
<div class="layui-form-item">
|
<label class="layui-form-label febs-form-item-require">缩略图:</label>
|
<div class="layui-input-block">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" id="test2">上传</button>
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
<div class="layui-upload-list" id="demo2"></div>
|
</blockquote>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label">缩略图链接:</label>
|
<div class="layui-input-block">
|
<input type="text" id="thumb" lay-verify="required" name="thumb" autocomplete="off" class="layui-input" readonly>
|
</div>
|
</div>
|
|
<div class="layui-form-item">
|
<label class="layui-form-label febs-form-item-require">轮播图:</label>
|
<div class="layui-input-block">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs" id="thumbsBanner">上传</button>
|
<blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
|
<div class="layui-upload-list" id="thumbsBanners"></div>
|
</blockquote>
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label">缩略图链接:</label>
|
<div class="layui-input-block">
|
<input type="text" id="thumbs" lay-verify="required" name="thumbs" autocomplete="off" class="layui-input" readonly>
|
</div>
|
</div>
|
<div class="layui-form-item">
|
<label class="layui-form-label febs-form-item-require">商品详情:</label>
|
<div class="layui-input-block">
|
<textarea id="lay_edit" lay-verify="goodsDetails" name = "goodsDetails" class="layui-textarea">[[${mailGoodsUpdate.goodsDetails}]]</textarea>
|
</div>
|
</div>
|
<div class="layui-row layui-col-space10 layui-form-item">
|
<div class="layui-col-lg6">
|
<label class="layui-form-label">是否热卖:</label>
|
<div class="layui-input-block">
|
<input type="radio" name="isHot" value="1" title="是" >
|
<input type="radio" name="isHot" value="2" title="否" checked="">
|
</div>
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<button class="layui-btn" lay-submit="" lay-filter="goods-update-form-submit" id="submit"></button>
|
</div>
|
<!-- <div class="layui-form-item">-->
|
<!-- <div class="layui-form-item" style="text-align:center">-->
|
<!-- <button class="layui-btn" lay-submit="" lay-filter="goods-update-form-submit" id="submit">保存</button>-->
|
<!-- </div>-->
|
<!-- </div>-->
|
</form>
|
</div>
|
|
<script data-th-inline="javascript">
|
layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate','layedit','upload'], function () {
|
var $ = layui.jquery,
|
febs = layui.febs,
|
layer = layui.layer,
|
formSelects = layui.formSelects,
|
treeSelect = layui.treeSelect,
|
form = layui.form,
|
laydate = layui.laydate,
|
eleTree = layui.eleTree,
|
mailGoodsUpdate = [[${mailGoodsUpdate}]],
|
$view = $('#goods-add'),
|
layedit = layui.layedit,
|
upload = layui.upload,
|
validate = layui.validate;
|
|
form.render();
|
|
//(下拉框)
|
$.get(ctx + 'admin/goodsCategory/categorys/allTree', function (data) {
|
for (var k in data)
|
{
|
$(".categary-goods-updatenew-category").append("<option value='" + data[k].parentId + "'>" + data[k].name + "</option>");
|
}
|
layui.use('form', function () {
|
var form = layui.form;
|
$("#goodsUpdateSelect").val(mailGoodsUpdate.categoryId)
|
form.render();
|
});
|
});
|
|
//多图片上传
|
upload.render({
|
elem: '#thumbsBanner'
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,multiple: true
|
,before: function(obj){
|
//预读本地文件示例,不支持ie8
|
obj.preview(function(index, file, result){
|
$('#thumbsBanners').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img" style="width: 100px">')
|
});
|
}
|
,done: function(res){
|
var thumbs = $("#thumbs").val();
|
if(thumbs == ''){
|
$("#thumbs").val(res.data.src);
|
}else{
|
$("#thumbs").val(thumbs + ',' + res.data.src);
|
}
|
// alert($("#thumb").val());
|
}
|
});
|
|
//图片上传
|
upload.render({
|
elem: '#test2'
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,multiple: true
|
,before: function(obj){
|
//预读本地文件示例,不支持ie8
|
obj.preview(function(index, file, result){
|
$('#demo2').append('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img" style="width: 100px">')
|
});
|
}
|
,done: function(res){
|
// var thumbs = $("#thumb").val();
|
// if(thumbs == ''){
|
$("#thumb").val(res.data.src);
|
// }else{
|
// $("#thumb").val(thumbs + ',' + res.data.src);
|
// }
|
// alert($("#thumb").val());
|
}
|
});
|
|
layedit.set({ //设置图片接口
|
uploadImage: {
|
url: 'admin/goods/uploadFileBase64', //接口url
|
type: 'post',
|
}
|
});
|
//创建一个编辑器
|
var index = layedit.build('lay_edit',{
|
height: 300
|
});
|
//提交时把值同步到文本域中
|
form.verify({
|
//content富文本域中的lay-verify值
|
goodsDetails: function(value) {
|
return layedit.sync(index);
|
}
|
});
|
|
initUserValue();
|
|
function appendSku(sku,skuIndex){
|
var index = skuIndex;
|
let attrNameVal = sku.skuName;
|
let styleName = sku.styleName;
|
let styleId = sku.styleId;
|
let skuId = sku.id;
|
let stockVal = sku.stock;
|
let skuVolume = sku.skuVolume;
|
let originalPrice = sku.originalPrice;
|
let presentPrice = sku.presentPrice;
|
let skuImage = sku.skuImage;
|
$('#attrWrap').append(`
|
<div class="layui-form-item item">
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label febs-form-item-require">id:</label>
|
<div class="layui-input-block">
|
<input type="text" name="id` + index + `" value="` + skuId + `">
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label febs-form-item-require">id:</label>
|
<div class="layui-input-block">
|
<input type="text" name="delLog` + index + `">
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label febs-form-item-require">styleId:</label>
|
<div class="layui-input-block">
|
<input type="text" id="styleId` + index +`" name="styleId` + index + `" value="` + styleId + `">
|
</div>
|
</div>
|
<div style="float:left" >
|
<input type="text" name="styleName` + index + `" value="` + styleName + `" autocomplete="off" class="layui-input" readonly >
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="text" name="skuName` + index +`" value="` + attrNameVal + `" placeholder="规格名称" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<label class="layui-form-label">图片:</label>
|
<div class="layui-input-block">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="skuImg` + index + `">上传</button>
|
<img class="layui-upload-img" src="` + skuImage + `" id="imageUrls` + index + `" style="width: 100px" >
|
</div>
|
</div>
|
</div>
|
<div style="float:left" class="febs-hide">
|
<div>
|
<input type="text" id="skuImage` + index +`" value="` + skuImage + `" name="skuImage` + index + `" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="stock` + index +`" value="` + stockVal + `" placeholder="库存" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="skuVolume` + index +`" value="` + skuVolume + `" placeholder="销售数量" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="originalPrice` + index +`" value="` + originalPrice + `" placeholder="原价" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="presentPrice` + index + `" value="` + presentPrice + `" placeholder="现价" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<button type="button" class="layui-btn del-attr-btn" data-index="` + index +`">删除</button>
|
</div>
|
</div>
|
`)
|
//普通图片上传
|
upload.render({
|
elem: '#skuImg' + index
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,done: function(res){
|
febs.alert.success(res.data.src);
|
$('#imageUrls' + index).attr('src', res.data.src);
|
$('#skuImage'+ index).val(res.data.src);
|
}
|
});
|
}
|
|
function initUserValue() {
|
var skuIndex = 0;
|
let skuLength = mailGoodsUpdate.mailGoodsSkuDetailVo.length;
|
for(var skuIndex = 0; skuIndex < skuLength; skuIndex++){
|
appendSku(mailGoodsUpdate.mailGoodsSkuDetailVo[skuIndex],skuIndex);
|
}
|
//缩略图图片回显
|
if(mailGoodsUpdate.thumb != null || mailGoodsUpdate.thumb != ''){
|
$('#demo2').append('<img src="'+ mailGoodsUpdate.thumb +'" class="layui-upload-img" style="width: 100px">')
|
$("#thumb").val(mailGoodsUpdate.thumb);
|
}
|
var imagesInitIndex = 0;
|
let imagesInitIndexlength = mailGoodsUpdate.mailGoodsImagesVo.length;
|
for(var imagesInitIndex = 0; imagesInitIndex < imagesInitIndexlength; imagesInitIndex++){
|
console.log(mailGoodsUpdate.mailGoodsImagesVo);
|
$('#thumbsBanners').append('<img src="'+ mailGoodsUpdate.mailGoodsImagesVo[imagesInitIndex] +'" class="layui-upload-img" style="width: 100px">')
|
$("#thumbs").val(mailGoodsUpdate.mailGoodsImagesVo[imagesInitIndex] + ',');
|
}
|
|
form.val("goods-updatenew-form", {
|
"id": mailGoodsUpdate.id,
|
"goodsNo": mailGoodsUpdate.goodsNo,
|
"categoryId": mailGoodsUpdate.categoryId,
|
"mailGoodsSkuDetailVo": mailGoodsUpdate.mailGoodsSkuDetailVo,
|
"mailGoodsImagesVo": mailGoodsUpdate.mailGoodsImagesVo,
|
"unit": mailGoodsUpdate.unit,
|
"originalPrice": mailGoodsUpdate.originalPrice,
|
"presentPrice": mailGoodsUpdate.presentPrice,
|
"goodsIntrodution": mailGoodsUpdate.goodsIntrodution,
|
"thumb": mailGoodsUpdate.thumb,
|
"goodsDetails": mailGoodsUpdate.goodsDetails,
|
"isHot": mailGoodsUpdate.isHot,
|
"isHot": mailGoodsUpdate.isHot,
|
"goodsName": mailGoodsUpdate.goodsName
|
});
|
}
|
|
$('#test3').on('click', function (){
|
var index = $("#attrWrap").children().length;
|
let attrNameVal = $('#attrName').val();
|
if(attrNameVal==null || attrNameVal==""){
|
febs.alert.warn('样式名称不能为空');
|
return false;
|
}
|
$('#attrWrap').append(`
|
<div class="layui-form-item item">
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label febs-form-item-require">id:</label>
|
<div class="layui-input-block">
|
<input type="text" name="id` + index + `">
|
</div>
|
</div>
|
<div class="layui-form-item febs-hide">
|
<label class="layui-form-label febs-form-item-require">styleId:</label>
|
<div class="layui-input-block">
|
<input type="text" id="styleId` + index +`" name="styleId` + index + `">
|
</div>
|
</div>
|
<div style="float:left" >
|
<input type="text" name="styleName` + index + `" value="` + $('#attrName').val() + `" autocomplete="off" class="layui-input" readonly >
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="text" name="skuName` + index +`" placeholder="规格名称" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<label class="layui-form-label">图片:</label>
|
<div class="layui-input-block">
|
<div class="layui-upload">
|
<button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="skuImg` + index + `">上传</button>
|
<img class="layui-upload-img" id="imageUrls` + index + `" style="width: 100px" >
|
</div>
|
</div>
|
</div>
|
<div style="float:left" class="febs-hide">
|
<div>
|
<input type="text" id="skuImage` + index +`" name="skuImage` + index + `" autocomplete="off" class="layui-input">
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="stock` + index +`" placeholder="库存" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="skuVolume` + index +`" placeholder="销售数量" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="originalPrice` + index +`" placeholder="原价" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<div>
|
<input type="number" name="presentPrice` + index + `" placeholder="现价" autocomplete="off" class="layui-input" >
|
</div>
|
</div>
|
<div style="float:left" >
|
<button type="button" class="layui-btn del-attr-btn" data-index="` + index +`">删除</button>
|
</div>
|
</div>
|
`)
|
//普通图片上传
|
upload.render({
|
elem: '#skuImg' + index
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,done: function(res){
|
febs.alert.success(res.data.src);
|
$('#imageUrls' + index).attr('src', res.data.src);
|
$('#skuImage'+ index).val(res.data.src);
|
}
|
});
|
});
|
upload.render({
|
elem: '#skuImg'+index
|
,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
|
,done: function(res){
|
febs.alert.success(res.data.src);
|
$('#imageUrls' + index).attr('src', res.data.src);
|
$('#skuImage'+ index).val(res.data.src);
|
}
|
});
|
$("#attrWrap").on("click",".del-attr-btn",function(){
|
var index = $(this).attr('data-index')
|
if($("input[name='styleId" + index + "']").val() ==null || $("input[name='styleId" + index + "']").val() ==''){
|
$($("#attrWrap").find(".item")[index].remove());
|
}else{
|
$("input[name='delLog" + index + "']").val("delLog");
|
$($("#attrWrap").find(".item")[index].style.display = "none");
|
}
|
});
|
form.on('submit(goods-update-form-submit)', function (data) {
|
let skuArrs = [];
|
var skuArr = $("#attrWrap").find(".item");
|
for(var i = 0;i < skuArr.length;i++){
|
skuArrs.push({
|
id: $("input[name='id" + i + "']").val(),
|
styleName: $("input[name='styleName" + i + "']").val(),
|
styleId: $("input[name='styleId" + i + "']").val(),
|
delLog: $("input[name='delLog" + i + "']").val(),
|
skuName: $("input[name='skuName" + i + "']").val(),
|
skuImage: $("input[name='skuImage" + i + "']").val(),
|
stock: $("input[name='stock" + i + "']").val(),
|
skuVolume: $("input[name='skuVolume" + i + "']").val(),
|
originalPrice:$("input[name='originalPrice" + i + "']").val(),
|
presentPrice: $("input[name='presentPrice" + i + "']").val()
|
})
|
}
|
// if(skuArr.length < 0){
|
// febs.alert.warn("请填写商品规格");
|
// return false;
|
// }
|
// console.log(skuArrs)
|
data.field.mailGoodsSkuDto = skuArrs;
|
console.log(data.field)
|
$.ajax({
|
'url':ctx + 'admin/goods/updateMallGoods',
|
'type':'post',
|
'dataType':'json',
|
'headers' : {'Content-Type' : 'application/json;charset=utf-8'}, //接口json格式
|
'traditional': true,//ajax传递数组必须添加属性
|
'data':JSON.stringify(data.field),
|
'success':function (data) {
|
if(data.code==0){
|
layer.closeAll();
|
febs.alert.success('操作成功');
|
// var index = parent.layer.getFrameIndex(window.name);
|
// parent.layer.close(index);
|
// febs.alert.success('操作成功');
|
$('#febs-goods').find('#reset').click();
|
}else{
|
febs.alert.warn(data.message);
|
}
|
},
|
'error':function () {
|
febs.alert.warn('服务器繁忙');
|
}
|
})
|
return false;
|
});
|
});
|
</script>
|