From 105eb6748372c92c9c0c69aa503074b9419e0515 Mon Sep 17 00:00:00 2001
From: xiaoyong931011 <15274802129@163.com>
Date: Tue, 28 Sep 2021 15:08:27 +0800
Subject: [PATCH] 20210927
---
src/main/resources/templates/febs/views/modules/goods/goodsUpdate.html | 234 ++++++++++++++++++++++++++++++++++++++++++++++
src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java | 14 ++
src/main/resources/templates/febs/views/modules/goods/goodsList.html | 13 ++
3 files changed, 260 insertions(+), 1 deletions(-)
diff --git a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java
index 766269e..bcec09e 100644
--- a/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java
+++ b/src/main/java/cc/mrbird/febs/mall/controller/ViewMallGoodsController.java
@@ -65,4 +65,18 @@
model.addAttribute("mailGoodsDetail", data);
return FebsUtil.view("modules/goods/detailGoods");
}
+
+ /**
+ * 商品-编辑-详情
+ * @param id
+ * @param model
+ * @return
+ */
+ @GetMapping("goodsUpdate/{id}")
+ @RequiresPermissions("goodsUpdate:update")
+ public String goodsUpdate(@PathVariable long id, Model model) {
+ AdminMailGoodsDetailVo data = mallGoodsService.getMallGoodsInfoById(id);
+ model.addAttribute("mailGoodsUpdate", data);
+ return FebsUtil.view("modules/goods/goodsUpdate");
+ }
}
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsList.html b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
index 260c7ac..e9f4442 100644
--- a/src/main/resources/templates/febs/views/modules/goods/goodsList.html
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsList.html
@@ -98,6 +98,17 @@
maxmin: true,
});
}
+ if (layEvent === 'goodsUpdate') {
+ febs.modal.open('编辑', 'modules/goods/goodsUpdate/' + data.id, {
+ btn: ['提交', '取消'],
+ yes: function (index, layero) {
+ $('#goods-update').find('#submit').trigger('click');
+ },
+ btn2: function () {
+ layer.closeAll();
+ }
+ });
+ }
if (layEvent === 'seeImgThumb') {
var t = $view.find('#seeImgThumb'+data.id+'');
//页面层
@@ -196,7 +207,7 @@
}else{
return '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-green" lay-event="upGoods" shiro:hasPermission="user:update">上架</button>'
+ '<button class="layui-btn layui-btn-normal layui-btn-xs febs-bg-red" lay-event="delGoods" shiro:hasPermission="user:update">删除</button>'
- + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="updateGoods" shiro:hasPermission="user:update">编辑</button>'
+ + '<button class="layui-btn layui-btn-normal layui-btn-xs" lay-event="goodsUpdate" shiro:hasPermission="user:update">编辑</button>'
}
},minWidth: 300,align:'center'}
diff --git a/src/main/resources/templates/febs/views/modules/goods/goodsUpdate.html b/src/main/resources/templates/febs/views/modules/goods/goodsUpdate.html
new file mode 100644
index 0000000..5e66e5b
--- /dev/null
+++ b/src/main/resources/templates/febs/views/modules/goods/goodsUpdate.html
@@ -0,0 +1,234 @@
+<style>
+ #goods-update {
+ padding: 20px 25px 25px 0;
+ }
+
+ #goods-update .layui-treeSelect .ztree li a, .ztree li span {
+ margin: 0 0 2px 3px !important;
+ }
+ #goods-update #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-update">
+ <form class="layui-form" action="" lay-filter="goods-update-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" class="layui-input" readonly>
+ </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" class="layui-input" readonly>
+ </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="parentId" class="categary-goods-update-category" id="categarySelect" readonly>
+ <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">规格:</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">缩略图链接:</label>
+ <div class="layui-input-block">
+ <img alt="缩略图" data-th-src="${mailGoodsUpdate.thumb}" style="width: 100px">
+ </div>
+ </div>
+ <div class="layui-form-item">
+ <label class="layui-form-label">商品详情:</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>
+ </form>
+</div>
+
+<script data-th-inline="javascript">
+ layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','layedit'], function () {
+ var $ = layui.$,
+ febs = layui.febs,
+ layer = layui.layer,
+ formSelects = layui.formSelects,
+ treeSelect = layui.treeSelect,
+ form = layui.form,
+ eleTree = layui.eleTree,
+ mailGoodsUpdate = [[${mailGoodsUpdate}]],
+ $view = $('#goods-update'),
+ validate = layui.validate,
+ layedit = layui.layedit,
+ _deptTree;
+
+ form.render();
+
+ //(下拉框)
+ $.get(ctx + 'admin/goodsCategory/categorys/allTree', function (data) {
+ for (var k in data)
+ {
+ $(".categary-goods-update-category").append("<option value='" + data[k].parentId + "'>" + data[k].name + "</option>");
+ }
+ layui.use('form', function () {
+ var form = layui.form;
+ $("#categarySelect").val(mailGoodsUpdate.categoryId)
+ form.render();
+ });
+ });
+
+ 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 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">
+ <label class="layui-form-label">规格详情:</label>
+ <div class="layui-input-block layui-form-item item">
+ <div style="float:left" >
+ <div>
+ <input type="text" class="layui-input" value="` + attrNameVal + `" readonly >
+ </div>
+ </div>
+ <div style="float:left" >
+ <div>
+ <img class="layui-upload-img" src="` + skuImage + `" style="width: 100px" readonly>
+ </div>
+ </div>
+ <div style="float:left" >
+ <div>
+ <input type="text" value="` + stockVal + `" placeholder="库存" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div style="float:left" >
+ <div>
+ <input type="text" value="` + skuVolume + `" placeholder="销售数量" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div style="float:left" >
+ <div>
+ <input type="text" value="` + originalPrice + `" placeholder="原价" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ <div style="float:left" >
+ <div>
+ <input type="text" value="` + presentPrice + `" placeholder="现价" autocomplete="off" class="layui-input" readonly>
+ </div>
+ </div>
+ </div>
+ </div>
+ `)
+ }
+
+ function initUserValue() {
+ var skuIndex = 0;
+ let skuLength = mailGoodsUpdate.mailGoodsSkuDetailVo.length;
+ for(var skuIndex = 0; skuIndex < skuLength; skuIndex++){
+ appendSku(mailGoodsUpdate.mailGoodsSkuDetailVo[skuIndex],skuIndex);
+ }
+
+ form.val("goods-update-form", {
+ "id": mailGoodsUpdate.id,
+ "goodsNo": mailGoodsUpdate.goodsNo,
+ "categoryId": mailGoodsUpdate.categoryId,
+ "mailGoodsSkuDetailVo": mailGoodsUpdate.mailGoodsSkuDetailVo,
+ "unit": mailGoodsUpdate.unit,
+ "originalPrice": mailGoodsUpdate.originalPrice,
+ "presentPrice": mailGoodsUpdate.presentPrice,
+ "goodsIntrodution": mailGoodsUpdate.goodsIntrodution,
+ "thumb": mailGoodsUpdate.thumb,
+ "goodsDetails": mailGoodsUpdate.goodsDetails,
+ "isHot": mailGoodsUpdate.isHot,
+ "goodsName": mailGoodsUpdate.goodsName
+ });
+ }
+ });
+</script>
\ No newline at end of file
--
Gitblit v1.9.1