feat(mall): 添加推广中心功能
- 在 AdminSaleLevelAddDto 和 AdminSaleLevelUpdateDto 中添加 headerPng 字段
- 在 ApiLevelListInfoVo 中添加 headerPng 字段并移除其他未使用的字段
- 在 HappySaleLevel 实体中添加 headerPng 字段
- 更新相关模板文件,支持推广中心图片上传和展示
| | |
| | | private BigDecimal returnPercent; |
| | | private String content; |
| | | private String iconPng; |
| | | |
| | | private String headerPng; |
| | | } |
| | |
| | | private BigDecimal returnPercent; |
| | | private String content; |
| | | private String iconPng; |
| | | |
| | | private String headerPng; |
| | | } |
| | |
| | | `return_percent` decimal(20,2) DEFAULT NULL COMMENT '等级返佣比例', |
| | | `content` text COMMENT '规则说明', |
| | | `icon_png` varchar(200) DEFAULT NULL COMMENT '等级图标', |
| | | `header_png` varchar(200) DEFAULT NULL COMMENT '分销头部图片', |
| | | */ |
| | | |
| | | |
| | |
| | | private BigDecimal returnPercent; |
| | | private String content; |
| | | private String iconPng; |
| | | private String headerPng; |
| | | |
| | | } |
| | |
| | | import io.swagger.annotations.ApiModelProperty; |
| | | import lombok.Data; |
| | | |
| | | import java.math.BigDecimal; |
| | | |
| | | @Data |
| | | @ApiModel(value = "ApiLevelListInfoVo", description = "我的推广") |
| | | public class ApiLevelListInfoVo { |
| | |
| | | private Integer code; |
| | | @ApiModelProperty(value = "规则说明") |
| | | private String content; |
| | | @ApiModelProperty(value = "等级图片") |
| | | private String iconPng; |
| | | @ApiModelProperty(value = "推广中心") |
| | | private String headerPng; |
| | | // @ApiModelProperty(value = "直推人数") |
| | | // private Integer directCnt; |
| | | // @ApiModelProperty(value = "团队人数") |
| | | // private Integer teamCnt; |
| | | // @ApiModelProperty(value = "团队业绩") |
| | | // private BigDecimal teamAmount; |
| | | // @ApiModelProperty(value = "返佣比例:团队成员下单,点击确认收货后,返还支付金额乘以返佣比例=团队业绩") |
| | | // private BigDecimal returnPercent; |
| | | |
| | | |
| | | } |
| | |
| | | //页面层 |
| | | layer.open({ |
| | | type: 1, |
| | | title: "会员图标", |
| | | title: "会员中心", |
| | | skin: 'layui-layer-rim', //加上边框 |
| | | area: ['100%', '100%'], //宽高 |
| | | shadeClose: true, //开启遮罩关闭 |
| | |
| | | '</a>'; |
| | | }, |
| | | minWidth: 150,align: 'center'}, |
| | | {field: 'iconPng',title: '会员中心', |
| | | {field: 'headerPng',title: '会员中心', |
| | | templet: function (d) { |
| | | return '<a lay-event="seeHeaderPng">' + |
| | | '<img id="seeHeaderPng' + d.id + '" src="' + d.headerPng + |
| | |
| | | </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"> |
| | | <div class="layui-upload"> |
| | | <button type="button" class="layui-btn layui-btn-normal layui-btn" id="headerPngUploadButton">上传</button> |
| | | <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> |
| | | <div class="layui-upload-list" id="headerPngUpload"></div> |
| | | </blockquote> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-row layui-col-space10 layui-form-item febs-hide"> |
| | | <div class="layui-col-lg6"> |
| | | <label class="layui-form-label">推广中心图标链接:</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" id="headerPng" lay-verify="required" name="headerPng" autocomplete="off" class="layui-input" readonly> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label febs-form-item-require">返佣比例:</label> |
| | | <div class="layui-form-mid">团队成员下单,点击确认收货后,返还支付金额乘以</div> |
| | |
| | | $("#iconPng").val(res.data.src); |
| | | } |
| | | }); |
| | | //图片上传 |
| | | upload.render({ |
| | | elem: '#headerPngUploadButton' |
| | | ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 |
| | | ,accept: 'file' //普通文件 |
| | | ,size: 10240 //限制文件大小,单位 KB |
| | | ,before: function(obj){ |
| | | //预读本地文件示例,不支持ie8 |
| | | obj.preview(function(index, file, result){ |
| | | $('#headerPngUpload').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">') |
| | | }); |
| | | } |
| | | ,done: function(res){ |
| | | $("#headerPng").val(res.data.src); |
| | | } |
| | | }); |
| | | formSelects.render(); |
| | | form.on('submit(sale-level-form-submit)', function (data) { |
| | | data.field.content = editor.txt.html(); |
| | |
| | | </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"> |
| | | <div class="layui-upload"> |
| | | <button type="button" class="layui-btn layui-btn-normal layui-btn" id="headerPngUploadButton">上传</button> |
| | | <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> |
| | | <div class="layui-upload-list" id="headerPngUpload"></div> |
| | | </blockquote> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | |
| | | <div class="layui-row layui-col-space10 layui-form-item febs-hide"> |
| | | <div class="layui-col-lg6"> |
| | | <label class="layui-form-label">推广中心图标链接:</label> |
| | | <div class="layui-input-block"> |
| | | <input type="text" id="headerPng" lay-verify="required" name="headerPng" autocomplete="off" class="layui-input" readonly> |
| | | </div> |
| | | </div> |
| | | </div> |
| | | <div class="layui-form-item"> |
| | | <label class="layui-form-label febs-form-item-require">返佣比例:</label> |
| | | <div class="layui-form-mid">团队成员下单,点击确认收货后,返还支付金额乘以</div> |
| | |
| | | $("#iconPng").val(res.data.src); |
| | | } |
| | | }); |
| | | //图片上传 |
| | | upload.render({ |
| | | elem: '#headerPngUploadButton' |
| | | ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 |
| | | ,accept: 'file' //普通文件 |
| | | ,size: 10240 //限制文件大小,单位 KB |
| | | ,before: function(obj){ |
| | | //预读本地文件示例,不支持ie8 |
| | | obj.preview(function(index, file, result){ |
| | | $('#headerPngUpload').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">') |
| | | }); |
| | | } |
| | | ,done: function(res){ |
| | | $("#headerPng").val(res.data.src); |
| | | } |
| | | }); |
| | | |
| | | form.render(); |
| | | inithappySaleLevel(); |
| | |
| | | |
| | | $('#iconPngUpload').append('<img src="' + happySaleLevel.iconPng + '" alt="" class="layui-upload-img single-image" style="width: 130px">'); |
| | | $("#iconPng").val(happySaleLevel.iconPng); |
| | | |
| | | |
| | | $('#headerPngUpload').append('<img src="' + happySaleLevel.headerPng + '" alt="" class="layui-upload-img single-image" style="width: 130px">'); |
| | | $("#headerPng").val(happySaleLevel.headerPng); |
| | | editor.txt.html(happySaleLevel.content); |
| | | |
| | | } |
| | |
| | | content: '<div style="text-align:center"><img src="' + $(t).attr('src') + '" /></div>' |
| | | }); |
| | | } |
| | | |
| | | if (layEvent === 'seeHeaderPng') { |
| | | var t = $view.find('#seeHeaderPng'+data.id+''); |
| | | //页面层 |
| | | layer.open({ |
| | | type: 1, |
| | | title: "推广中心", |
| | | skin: 'layui-layer-rim', //加上边框 |
| | | area: ['100%', '100%'], //宽高 |
| | | shadeClose: true, //开启遮罩关闭 |
| | | end: function (index, layero) { |
| | | return false; |
| | | }, |
| | | content: '<div style="text-align:center"><img src="' + $(t).attr('src') + '" /></div>' |
| | | }); |
| | | } |
| | | if (layEvent === 'saleInfoEvent') { |
| | | febs.modal.open('编辑','modules/levelView/saleInfo/' + data.id, { |
| | | btn: ['提交', '取消'], |
| | |
| | | '</a>'; |
| | | }, |
| | | minWidth: 150,align: 'center'}, |
| | | {field: 'headerPng',title: '推广中心', |
| | | templet: function (d) { |
| | | return '<a lay-event="seeHeaderPng">' + |
| | | '<img id="seeHeaderPng' + d.id + '" src="' + d.headerPng + |
| | | '" alt="图片" style="width: 50px; height: 50px; object-fit: cover; border-radius: 5px; cursor: pointer;">' + |
| | | '</a>'; |
| | | }, |
| | | minWidth: 150,align: 'center'}, |
| | | {field: 'directCnt', title: '直推人数', minWidth: 150,align:'center'}, |
| | | {field: 'teamCnt', title: '团队人数', minWidth: 150,align:'center'}, |
| | | {field: 'teamAmount', title: '团队业绩', minWidth: 150,align:'center'}, |