src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java | ●●●●● patch | view | raw | blame | history | |
src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java | ●●●●● patch | view | raw | blame | history | |
src/main/resources/templates/febs/views/modules/vip/coupon-select.html | ●●●●● patch | view | raw | blame | history | |
src/main/resources/templates/febs/views/modules/vip/goods-select-list.html | ●●●●● patch | view | raw | blame | history | |
src/main/resources/templates/febs/views/modules/vip/vipBenefits-add.html | ●●●●● patch | view | raw | blame | history | |
src/main/resources/templates/febs/views/modules/vip/vipBenefits-list.html | ●●●●● patch | view | raw | blame | history |
src/main/java/cc/mrbird/febs/vip/controller/AdminMallVipBenefitsController.java
@@ -4,14 +4,12 @@ import cc.mrbird.febs.common.controller.BaseController; import cc.mrbird.febs.common.entity.FebsResponse; import cc.mrbird.febs.common.entity.QueryRequest; import cc.mrbird.febs.vip.entity.MallVipBenefits; import cc.mrbird.febs.vip.service.IMallVipBenefitsService; import lombok.RequiredArgsConstructor; import lombok.extern.slf4j.Slf4j; import org.springframework.validation.annotation.Validated; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RestController; import org.springframework.web.bind.annotation.*; import java.util.Map; @@ -37,4 +35,10 @@ public FebsResponse getById(@PathVariable("id") Long id) { return new FebsResponse().success().data(mallVipBenefitsService.findVipBenefitsById(id)); } @PostMapping("/addBenefits") public FebsResponse addBenefits(@RequestBody MallVipBenefits mallVipBenefits) { System.out.println(1111); return new FebsResponse().success(); } } src/main/java/cc/mrbird/febs/vip/controller/ViewVipConfigController.java
@@ -4,7 +4,9 @@ import cc.mrbird.febs.common.utils.FebsUtil; import lombok.RequiredArgsConstructor; import org.springframework.stereotype.Controller; import org.springframework.ui.Model; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.PathVariable; import org.springframework.web.bind.annotation.RequestMapping; @Controller("mallVipConfig") @@ -17,4 +19,23 @@ public String benefitsList() { return FebsUtil.view("modules/vip/vipBenefits-list"); } @GetMapping(value = "/vipBenefitsAdd") public String vipBenefitsAdd() { return FebsUtil.view("modules/vip/vipBenefits-add"); } @GetMapping(value = "/goodsSelect/{index}") public String goodsSelect(@PathVariable("index") String index, Model model) { model.addAttribute("tableIndex", index); return FebsUtil.view("modules/vip/goods-select-list"); } @GetMapping(value = "/couponSelect/{index}") public String couponSelect(@PathVariable("index") String index, Model model) { model.addAttribute("tableIndex", index); return FebsUtil.view("modules/vip/coupon-select"); } } src/main/java/cc/mrbird/febs/vip/entity/MallVipBenefits.java
@@ -5,6 +5,7 @@ import com.baomidou.mybatisplus.annotation.TableName; import lombok.Data; import java.math.BigDecimal; import java.util.List; @Data @@ -29,7 +30,12 @@ /** * 积分倍数 */ private String multiple; private BigDecimal scoreMultiple; /** * 获取途径 1-会员日 2-生日 */ private Integer gainType; /** * 权益备注 src/main/resources/templates/febs/views/modules/vip/coupon-select.html
New file @@ -0,0 +1,92 @@ <style> #vip-coupon-select { padding: 20px 25px 25px 0; } #vip-coupon-select .layui-treeSelect .ztree li a, .ztree li span { margin: 0 0 2px 3px !important; } #vip-coupon-select #data-permission-tree-block { border: 1px solid #eee; border-radius: 2px; padding: 3px 0; } #vip-coupon-select .layui-treeSelect .ztree li span.button.switch { top: 1px; left: 3px; } #vip-coupon-select img{ max-width:100px } </style> <div class="layui-fluid" id="vip-coupon-select"> <form class="layui-form" action="" lay-filter="vip-coupon-select-form"> <div class="layui-form-item"> <label class="layui-form-label">优惠卷:</label> <div class="layui-input-inline"> <select name="couponId" class="vip-coupon-select-category" id="couponCategarySelect" lay-filter="coupon-select"> <option value="">请选择</option> </select> </div> </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" lay-submit="" lay-filter="vip-coupon-select-form-submit" id="submit"></button> </div> </form> </div> <script data-th-inline="javascript"> layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree', 'laydate','upload'], function () { var $ = layui.$, febs = layui.febs, layer = layui.layer, formSelects = layui.formSelects, treeSelect = layui.treeSelect, form = layui.form, laydate = layui.laydate, eleTree = layui.eleTree, tableIndex = [[${tableIndex}]], $view = $('#vip-coupon-select'), upload = layui.upload, selectData, couponList, validate = layui.validate; form.render(); laydate.render({ elem: '#febs-form-group-date' }); formSelects.render(); //(下拉框) $.get(ctx + 'admin/goods/coupon/tree', function (data) { couponList = data; for (var k in data) { $(".vip-coupon-select-category").append("<option value='" + data[k].couponId + "'>" + data[k].couponName + "</option>"); } layui.use('form', function () { var form = layui.form; $("#couponCategarySelect").val('') form.render(); }); }); form.on('select(coupon-select)', function(data) { for(var i = 0; i<couponList.length; i++) { if (data.value == couponList[i].couponId) { selectData = couponList[i]; } } }); form.on('submit(vip-coupon-select-form-submit)', function (data) { console.log(1111); parent.setCouponSelect(tableIndex, selectData) }); }); </script> src/main/resources/templates/febs/views/modules/vip/goods-select-list.html
New file @@ -0,0 +1,229 @@ <div class="layui-fluid layui-anim febs-anim" id="febs-select-goods" lay-title="商品列表"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-tab layui-tab-brief" lay-filter="goods-select-tab"> <ul class="layui-tab-title"> <li class="layui-this">付费商品</li> <li>积分商品</li> </ul> <div class="layui-tab-content"> <div class="layui-tab-item layui-show"> <div class="layui-card"> <div class="layui-card-body febs-table-full"> <form class="layui-form layui-table-form" lay-filter="goods-select-table-form" id="form"> <div class="layui-row"> <div class="layui-col-md10"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">商品名称</label> <div class="layui-input-inline"> <input type="text" placeholder="商品名称" name="goodsName" autocomplete="off" class="layui-input"> </div> </div> </div> </div> <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="query"> <i class="layui-icon"></i> </div> </div> </div> </form> <table lay-filter="goodsListTable" id="goodsListTable" lay-data="{id: 'goodsListTable'}"></table> </div> </div> </div> <div class="layui-tab-item"> <div class="layui-card"> <div class="layui-card-body febs-table-full" id="scoreForm"> <form class="layui-form layui-table-form" lay-filter="goods-select-table-form"> <div class="layui-row"> <div class="layui-col-md10"> <div class="layui-form-item"> <div class="layui-inline"> <label class="layui-form-label layui-form-label-sm">商品名称</label> <div class="layui-input-inline"> <input type="text" placeholder="商品名称" name="goodsName" autocomplete="off" class="layui-input"> </div> </div> </div> </div> <div class="layui-col-md2 layui-col-sm12 layui-col-xs12 table-action-area"> <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-blue-plain table-action" id="scoreQuery"> <i class="layui-icon"></i> </div> </div> </div> </form> <table lay-filter="scoreGoodsListTable" id="scoreGoodsListTable" lay-data="{id: 'scoreGoodsListTable'}"></table> </div> </div> </div> </div> </div> </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" id="goods-select-form-submit"></button> <button class="layui-btn" id="goods-select-close"></button> </div> </div> </div> <style type="text/css"> .layui-table-cell{ text-align:center; height: auto; white-space: nowrap; /*文本不会换行,在同一行显示*/ overflow: hidden; /*超出隐藏*/ text-overflow: ellipsis; /*省略号显示*/ } .layui-table img{ max-width:100px } ::-webkit-scrollbar { height: 20px !important; background-color: #f4f4f4; } </style> <script type="text/html" id="isSkuFormat"> {{# if(d.isSku === 1) { }} <span>是</span> {{# } else { }} <span>否</span> {{# } }} </script> <script type="text/html" id="goodsTypeFormat"> {{# if(d.isNormal == 1) { }} <span>普通商品</span> {{# } else { }} <span>套餐</span> {{# } }} </script> <style> .layui-form-onswitch { background-color: #5FB878 !important; } </style> <!-- 表格操作栏 end --> <script data-th-inline="javascript" type="text/javascript"> // 引入组件并初始化 layui.use([ 'jquery', 'form', 'table', 'febs'], function () { var $ = layui.jquery, febs = layui.febs, form = layui.form, table = layui.table, element = layui.element, $view = $('#febs-select-goods'), $query = $view.find('#query'), $searchForm = $view.find('#form'), $scoreSearchForm = $view.find('#scoreForm'), $scoreQuery = $view.find('#scoreQuery'), sortObject = {field: 'isSale', type: 'asc'}, tableIns, tableIndex = [[${tableIndex}]], tableSelect = 'goodsListTable', scoreTableIns; form.render(); let currPageGoods = 1;//首先默认值为1,防止出错 //获取当前页 currPageGoods = $view.find(".layui-laypage-em").next().html(); // 表格初始化 initTable(); initScoreTable(); // 查询按钮 $query.on('click', function () { var params = $.extend(getQueryParams($searchForm), {field: sortObject.field, order: sortObject.type}); tableIns.reload({where: params, page: {curr: 1}}); }); // 查询按钮 $scoreQuery.on('click', function () { var params = $.extend(getQueryParams($scoreSearchForm), {field: sortObject.field, order: sortObject.type}); scoreTableIns.reload({where: params, page: {curr: 1}}); }); function initTable() { var tableFeilds = [ {type: 'radio', title: ''}, {field: 'goodsName', title: '商品名称', minWidth: 140,align:'left'}, {field: 'thumb', title: '缩略图', templet: function (d) { return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.thumb+'" alt=""></a>'; }, minWidth: 150,align:'center'}, {field: 'categaryName', title: '分类', minWidth: 140,align:'left'}, {templet:"#goodsTypeFormat", title: '商品类型', minWidth: 140,align:'left'}, {field: 'presentPrice', title: '现价', minWidth: 100,align:'left'}, {field: 'originalPrice', title: '原价', minWidth: 100,align:'left'}, {field: 'stock', title: '商品库存', minWidth: 100,align:'left'}, {field: 'skuVolume', title: '商品销量', minWidth: 100,align:'left'}, ]; tableIns = febs.table.init({ elem: $("#goodsListTable"), id: 'goodsListTable', url: ctx + 'admin/goods/goodsList?goodsType=1&isSale=1', cols: [tableFeilds] }); } // table.on('row(goodsListTable)', function(obj){ // var data = obj.data; // 获取当前行数据 // // console.log(obj) // // obj.setRowChecked({ // // type: 'radio' // // }); // }); function initScoreTable() { var scoreFields = [ {type: 'radio', title: ''}, {field: 'goodsName', title: '商品名称', minWidth: 140,align:'left'}, {field: 'thumb', title: '缩略图', templet: function (d) { return '<a lay-event="seeImgThumb"><img id="seeImgThumb'+d.id+'" src="'+d.thumb+'" alt=""></a>'; }, minWidth: 150,align:'center'}, {field: 'categaryName', title: '分类', minWidth: 140,align:'left'}, {field: 'presentPrice', title: '现价', minWidth: 100,align:'left'}, {field: 'originalPrice', title: '原价', minWidth: 100,align:'left'}, {field: 'stock', title: '商品库存', minWidth: 100,align:'left'}, {field: 'skuVolume', title: '商品销量', minWidth: 100,align:'left'}, ] scoreTableIns = febs.table.init({ elem: $("#scoreGoodsListTable"), id: 'scoreGoodsListTable', url: ctx + 'admin/goods/goodsList?goodsType=2&isSale=1', cols: [scoreFields] }); } // 获取查询参数 function getQueryParams(elem) { return { goodsName: elem.find('input[name="goodsName"]').val().trim(), }; } $("#goods-select-form-submit").on('click', function() { var checkData = table.checkStatus(tableSelect).data; if (checkData.length > 0) { parent.setGoodsSelect(tableIndex, checkData[0]); } }) element.on('tab(goods-select-tab)', function(data) { if (data.index == 0) { tableSelect = 'goodsListTable'; } if (data.index == 1) { tableSelect = 'scoreGoodsListTable'; } }); }) </script> src/main/resources/templates/febs/views/modules/vip/vipBenefits-add.html
New file @@ -0,0 +1,478 @@ <div class="layui-fluid layui-anim febs-anim" id="febs-vipBenefits-add" lay-title="新增会员权益"> <div class="layui-row febs-container"> <div class="layui-col-md12"> <div class="layui-fluid" id="act-add"> <form class="layui-form" action="" lay-filter="vipBenefits-add-form"> <div class="layui-tab-item layui-show"> <blockquote class="layui-elem-quote blue-border">基本信息设置</blockquote> <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="name" lay-verify="required" placeholder="" autocomplete="off" class="layui-input"> </div> </div> </div> <div class="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="gainType" class="gain-type" lay-filter="gain-type-select"> <option value="1">会员日</option> <option value="2">会员生日</option> </select> </div> </div> </div> <div class="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="type" class="benefits-type" lay-filter="benefits-type-select"> <option value="1">积分</option> <option value="2">其他</option> </select> </div> </div> <div class="layui-col-lg6" id="scoreMultiple"> <label class="layui-form-label febs-form-item-require">积分倍数:</label> <div class="layui-input-block"> <input type="text" name="scoreMultiple" placeholder="" autocomplete="off" class="layui-input"> </div> </div> </div> <div class="layui-form-item"> <label class="layui-form-label febs-form-item-require">权益ICON</label> <div class="layui-input-block"> <div class="layui-upload"> <button type="button" class="layui-btn layui-btn-normal layui-btn" id="test2">上传</button> <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> <div class="layui-upload-list"> <img class="layui-upload-img" id="demo2" style="width: 100px" > </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="benefitsIcon" lay-verify="required" name="icon" autocomplete="off" class="layui-input" readonly> </div> </div> <div class="layui-form-item"> <label class="layui-form-label">备注:</label> <div class="layui-input-block"> <label> <textarea name="remark" rows="5" autocomplete="off" class="layui-textarea" ></textarea> </label> </div> </div> <blockquote class="layui-elem-quote blue-border">权益详情页面设置</blockquote> <div class="layui-row layui-col-space10 layui-form-item"> <div class="layui-col-lg3"> <label class="layui-form-label">是否可点击</label> <div class="layui-input-block"> <input type="radio" name="isClick" value="1" title="是" lay-filter="isClick"/> <input type="radio" name="isClick" value="2" title="否" lay-filter="isClick" checked /> </div> </div> <div class="layui-col-lg3 febs-hide" id="linkTypeDiv"> <label class="layui-form-label febs-form-item-require">点击类型</label> <div class="layui-input-block"> <select name="linkType" class="linkType" lay-filter="link-type-select"> <option value="">请选择</option> <option value="1">链接</option> <option value="2">领取商品</option> <option value="3">优惠券</option> </select> </div> </div> <div class="layui-col-lg6"> <button type="button" class="layui-btn layui-btn-normal layui-btn" id="addBenefits" >添加</button> </div> <div class="layui-form-item"> <table id="benefitsDetailsItem" lay-filter="benefitsDetailsItem"></table> </div> </div> </div> <div class="layui-form-item febs-hide"> <button class="layui-btn" lay-submit="" lay-filter="vipBenefits-add-form-submit" id="submit">保存</button> </div> </form> </div> </div> </div> </div> <style> .blue-border { border-left-color: #2db7f5; font-size: 18px; } .layui-table-cell { height:auto; } </style> <script type="text/html" id="toolbar"> <div class="layui-btn-container"> <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" lay-event="delAct">删除</button> </div> </script> <script type="text/html" id="awardtableImgUpload"> <div class="layui-upload"> <button type="button" class="layui-btn layui-btn-normal layui-btn-xs sku-img" id="awardImg{{d.index}}">上传</button></br> <img class="layui-upload-img" id="awardImageUrls{{d.index}}" style="width: 100px; display:none;" src="{{d.image}}" > <input type="text" id="awardImage{{d.index}}" name="awardImage{{d.index}}" autocomplete="off" value="{{d.image}}" class="layui-input febs-hide"> </div> </script> <!--<script type="text/html" id="seqInput">--> <!-- <input type="text" name="seq" autocomplete="off" class="layui-input">--> <!--</script>--> <!-- 表格操作栏 end --> <script data-th-inline="javascript"> layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect'], function () { var $ = layui.jquery, febs = layui.febs, layer = layui.layer, table = layui.table, formSelects = layui.formSelects, treeSelect = layui.treeSelect, form = layui.form, laydate = layui.laydate, eleTree = layui.eleTree, $view = $('#febs-vip-benefits'), layedit = layui.layedit, upload = layui.upload, validate = layui.validate, element = layui.element; form.render(); formSelects.render(); //图片上传 upload.render({ elem: '#test2' ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 ,done: function(res){ $('#demo2').attr('src', res.data.src); $("#benefitsIcon").val(res.data.src); } }); var tableBenefitsItemsData=[]; var tableIns = table.render({ elem: '#benefitsDetailsItem' ,limit:999 ,toolbar:"#toolbar" ,defaultToolbar:[] ,cols: [[ //表头 {type: 'checkbox'} ,{field: 'index', title: '序号', width:70} ,{field: 'isClick', title: '是否可点击', templet: function (d) { if (d.isClick == '1') { return '<span>是</span>' } else if (d.isClick == '2') { return '<span>否</span>' }else{ return '' } }, minWidth: 80,align:'center'} ,{field: 'seq', title: '排序', edit:'text'} ,{templet: '#awardtableImgUpload', title: '详情图片', width:150} ,{templet: '#detailsEvent', title: '操作对应属性'} ,{field: 'linkType', title: '类型', templet: function (d) { if (d.linkType == '1') { return '<span>链接</span>' } else if (d.linkType == '2') { return '<span>指定商品</span>' }else if (d.linkType == '3') { return '<span>优惠券</span>' }else{ return '' } }, minWidth: 80,align:'center'} ]] ,data: [] }); table.on('toolbar(benefitsDetailsItem)', function(obj){ var data = obj.data; var hasData = table.cache['benefitsDetailsItem']; var checkData = table.checkStatus('benefitsDetailsItem').data; if (checkData.length <= 0) { febs.alert.warn('请选择删除数据'); return; } if(obj.event === 'delAct'){ for (let i = 0; i < checkData.length; i++) { var delData = checkData[i]; for (let j = 0; j < hasData.length; j++) { if (hasData[j].index == delData.index) { hasData.splice(j, 1); break; } } } for (let i = 0; i < hasData.length; i++) { hasData[i].index = i + 1; } tableBenefitsItemsData=hasData; reloadTable(hasData); } }); function addTableDate(data) { var hasData = table.cache['benefitsDetailsItem']; data.index = hasData.length + 1; data.contentName = '' data.content = '' tableBenefitsItemsData.push(data); reloadTable(tableBenefitsItemsData); return data.index; } function reloadTable(data) { table.reload('benefitsDetailsItem', { data : data }); for (let i = 0; i < data.length; i++) { if (data[i].image) { $('#awardImageUrls'+ (i+1)).css('display','block'); } // 重新绑定图片上传 bindUpload(i+1); } } table.on('edit(benefitsDetailsItem)', function(obj){ var value = obj.value //得到修改后的值 ,data = obj.data //得到所在行所有键值 ,field = obj.field; //得到字段 for (let i = 0; i < tableBenefitsItemsData.length; i++) { if (tableBenefitsItemsData[i].index == data.index) { tableBenefitsItemsData[i] = data; } } }); function listenerLinkContent() { var hasData = table.cache['benefitsDetailsItem']; $(".linkContent").each(function(index, elem) { var dataIndex = $(this).attr('data-index'); var $this = $(this); $(this).on('blur', function() { var data = $this.val(); hasData[dataIndex - 1].content = data; tableBenefitsItemsData = hasData; }) }); } function listenerGoodsSelect() { var hasData = table.cache['benefitsDetailsItem']; $(".goodsSelect").each(function(index, elem) { var dataIndex = $(this).attr('data-index'); $(this).on('click', function() { febs.modal.open('选择商品', 'modules/vip/config/goodsSelect/' + dataIndex, { btn: ['提交', '取消'], yes: function (index, layero) { $('#febs-select-goods').find('#goods-select-form-submit').trigger('click'); layer.close(index); }, btn2: function () { } }); }) }); } function listenerCouponSelect() { $(".couponSelect").each(function(index, elem) { var dataIndex = $(this).attr('data-index'); $(this).on('click', function() { febs.modal.open('选择优惠券', 'modules/vip/config/couponSelect/' + dataIndex, { btn: ['提交', '取消'], yes: function (index, layero) { $('#vip-coupon-select').find('#submit').trigger('click'); layer.close(index); }, btn2: function () { } }); }) }); } $('#addBenefits').on('click', function (){ var isClickVal = $("input[name='isClick']:checked").val(); var linkTypeVal = $("select[name='linkType']").val(); if(isClickVal == 1 && (linkTypeVal == null || linkTypeVal == "")) { febs.alert.warn('链接类型不能为空'); return false; } var data = {}; data.linkType = linkTypeVal; data.isClick = isClickVal; addTableDate(data); if (linkTypeVal == 1) { listenerLinkContent(); } if (linkTypeVal == 2) { listenerGoodsSelect(); } if (linkTypeVal == 3) { listenerCouponSelect(); } }); function bindUpload(index) { // 普通图片上传 upload.render({ elem: '#awardImg' + index ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 ,done: function(res){ febs.alert.success("上传成功"); $('#awardImageUrls' + index).attr('src', res.data.src); $('#awardImageUrls'+ index).css('display','block'); $('#awardImage'+ index).val(res.data.src); for (let i = 0; i < tableBenefitsItemsData.length; i++) { if(tableBenefitsItemsData[i].index == index) { tableBenefitsItemsData[i].image = res.data.src; } } reloadTable(tableBenefitsItemsData); } }); } form.on('radio(isClick)', function(data) { if (data.value == 2) { $('#linkTypeDiv').hide(); } else { $('#linkTypeDiv').show(); } }); form.on('select(benefits-type-select)', function(data) { if (data.value == 1) { $('#scoreMultiple').show(); } else { $('#scoreMultiple').hide(); } }); form.on('submit(vipBenefits-add-form-submit)', function (data) { data.field.details = tableBenefitsItemsData; $.ajax({ 'url':ctx + 'admin/vip/benefits/addBenefits', '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==200){ layer.closeAll(); febs.alert.success(data.message); $('#febs-act').find('#reset').click(); }else{ febs.alert.warn(data.message); } }, 'error':function () { febs.alert.warn('服务器繁忙'); } }) return false; }); window.setGoodsSelect = function(tableIndex, data) { var hasData = table.cache['benefitsDetailsItem']; for(var i = 0; i<hasData.length; i++) { if (tableIndex == hasData[i].index) { hasData[i].content = data.id; hasData[i].contentName = data.goodsName } } tableBenefitsItemsData = hasData; $(".goodsSelect").each(function(index, elem) { var dataIndex = $(this).attr('data-index'); if (dataIndex == tableIndex) { $(this).val(data.goodsName); $(this).next().val(data.id); } }); } window.setCouponSelect = function(tableIndex, data) { var hasData = table.cache['benefitsDetailsItem']; for(var i = 0; i<hasData.length; i++) { if (tableIndex == hasData[i].index) { hasData[i].content = data.couponId; hasData[i].contentName = data.couponName } } tableBenefitsItemsData = hasData; console.log(tableBenefitsItemsData) $(".couponSelect").each(function(index, elem) { var dataIndex = $(this).attr('data-index'); if (dataIndex == tableIndex) { $(this).val(data.couponName); $(this).next().val(data.couponId); } }); } }); </script> <script type="text/html" id="detailsEvent"> {{# if(d.isClick == 1 && d.linkType == 1){ }} <input type="text" name="content" autocomplete="off" data-index="{{d.index}}" value="{{d.content}}" class="layui-input linkContent"> {{# } }} {{# if( d.isClick == 1 && d.linkType == 2){ }} <input type="text" autocomplete="off" name="contentName" data-index="{{d.index}}" value="{{d.contentName}}" class="layui-input goodsSelect" readonly> <input type="text" name="content" autocomplete="off" value="{{d.content}}" class="layui-input goodsSelectId febs-hide" readonly> {{# } }} {{# if(d.isClick == 1 && d.linkType == 3){ }} <input type="text" name="contentName" autocomplete="off" data-index="{{d.index}}" value="{{d.contentName}}" class="layui-input couponSelect" readonly> <input type="text" name="content" autocomplete="off" value="{{d.content}}" class="layui-input couponSelectId febs-hide" readonly> {{# } }} </script> src/main/resources/templates/febs/views/modules/vip/vipBenefits-list.html
@@ -32,13 +32,6 @@ background-color: #5FB878 !important; } </style> <script type="text/html" id="isTopSwitch"> {{# if(d.isTop === 1) { }} <input type="checkbox" value={{d.id}} lay-text="是|否" checked lay-skin="switch" lay-filter="isTopSwitch"> {{# } else { }} <input type="checkbox" value={{d.id}} lay-text="是|否" lay-skin="switch" lay-filter="isTopSwitch"> {{# } }} </script> <!-- 表格操作栏 start --> <script type="text/html" id="user-option"> <span shiro:lacksPermission="vipBenefits:view,vipBenefits:update,vipBenefits:delete"> @@ -111,10 +104,10 @@ }); $add.on('click', function () { febs.modal.open('新增', 'modules/news/newsInfoAdd/', { febs.modal.open('新增', 'modules/vip/config/vipBenefitsAdd/', { btn: ['提交', '取消'], yes: function (index, layero) { $('#newsInfo-add').find('#submit').trigger('click'); $('#febs-vipBenefits-add').find('#submit').trigger('click'); }, btn2: function () { layer.closeAll();