From f16f74cacb9ef0ae4be89ed15353b6a449479d8c Mon Sep 17 00:00:00 2001 From: Administrator <15274802129@163.com> Date: Wed, 28 May 2025 13:38:09 +0800 Subject: [PATCH] feat(mall): 添加轮播图背景图片功能 --- src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html | 339 +++++++++++++++++++++++++++++++++++-------------------- 1 files changed, 214 insertions(+), 125 deletions(-) diff --git a/src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html b/src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html index 31fef1d..10156a1 100644 --- a/src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html +++ b/src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html @@ -1,162 +1,251 @@ -<style> - #banner-update { - padding: 20px 25px 25px 0; - } +<div class="layui-fluid layui-anim febs-anim" id="febs-banner-Info" lay-title="编辑"> + <div class="layui-row febs-container"> + <div class="layui-col-md12"> + <div class="layui-fluid" id="banner-info"> + <form class="layui-form" action="" lay-filter="banner-info-form"> + <div class="layui-tab layui-tab-brief" lay-filter="docDemoTabBrief"> + <ul class="layui-tab-title"> + <li class="layui-this">基础信息</li> + </ul> + <div class="layui-tab-content"> + <input type="text" name="id" + placeholder="" autoComplete="off" class="layui-input febs-hide"> + <div class="layui-tab-item layui-show"> + <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-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="sort" 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="type" class="banner-type" id="type"> + <option value="">请选择</option> + </select> + </div> + </div> + </div> - #banner-update .layui-treeSelect .ztree li a, .ztree li span { - margin: 0 0 2px 3px !important; - } - #banner-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; - } + <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="bannerImgUploadButton">上传</button> + <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> + <div class="layui-upload-list" id="bannerImgUpload"></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="imageUrl" lay-verify="required" name="imageUrl" autocomplete="off" class="layui-input" readonly> + </div> + </div> + </div> -</style> -<div class="layui-fluid" id="banner-update"> - <form class="layui-form" action="" lay-filter="banner-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" data-th-value="${member.id}"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">标题:</label> - <div class="layui-input-block"> - <input type="text" name="name" minlength="4" maxlength="10" data-th-id="${member.name}" - lay-verify="range|name" autocomplete="off" class="layui-input" > - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">图片:</label> - <div class="layui-upload"> - <button type="button" class="layui-btn" id="test1">上传图片</button> - <div class="layui-input-block"> - <div class="layui-upload-list"> - <img class="layui-upload-img" id="imageUrls" width="100%" > + <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"> + <div class="layui-upload"> + <button type="button" class="layui-btn layui-btn-normal layui-btn" id="bannerImgUploadButtonBack">上传</button> + <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;"> + <div class="layui-upload-list" id="bannerImgUploadBack"></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="imageBackUrl" name="imageBackUrl" autocomplete="off" 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"> + <input type="radio" name="isTop" value="1" title="是" checked=""> + <input type="radio" name="isTop" value="2" title="否"> + </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="radio" name="isJump" value="1" title="是" checked=""> + <input type="radio" name="isJump" value="2" title="否"> + </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="radio" name="isInside" value="1" title="内" checked=""> + <input type="radio" name="isInside" value="2" title="外"> + </div> + </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="jumpUrl" + autocomplete="off" class="layui-input" > + <div class="layui-form-mid layui-word-aux">图片需要跳转到商品详情,请填写商品编号。</div> + </div> + </div> + </div> + </div> + </div> </div> - </div> + <div class="layui-form-item febs-hide"> + <button class="layui-btn" lay-submit="" lay-filter="banner-info-form-submit" id="submit">保存</button> + </div> + </form> </div> </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">图片链接:</label> - <div class="layui-input-block"> - <input type="text" id="imageUrl" name="imageUrl" minlength="4" maxlength="500" - lay-verify="range|imageUrl" 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"> - <input type="text" name="jumpUrl" minlength="4" maxlength="10" data-th-id="${member.jumpUrl}" - lay-verify="range|jumpUrl" autocomplete="off" class="layui-input" > - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">联系方式:</label> - <div class="layui-input-block"> - <input type="text" name="sort" minlength="4" maxlength="10" data-th-id="${member.sort}" - lay-verify="range|sort" autocomplete="off" class="layui-input" > - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">是否置顶:</label> - <div class="layui-input-block"> - <input type="radio" name="isTop" value="1" title="是"> - <input type="radio" name="isTop" value="2" title="否"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">显示端口:</label> - <div class="layui-input-block"> - <input type="radio" name="showPort" value="1" title="pc"> - <input type="radio" name="showPort" value="2" title="手机"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">是否可跳转:</label> - <div class="layui-input-block"> - <input type="radio" name="isJump" value="1" title="是"> - <input type="radio" name="isJump" value="2" title="否"> - </div> - </div> - <div class="layui-form-item"> - <label class="layui-form-label febs-form-item-require">跳转外部或内部:</label> - <div class="layui-input-block"> - <input type="radio" name="isInside" value="1" title="内"> - <input type="radio" name="isInside" value="2" title="外"> - </div> - </div> - <div class="layui-form-item febs-hide"> - <button class="layui-btn" lay-submit="" lay-filter="banner-update-form-submit" id="submit"></button> - </div> - </form> + </div> </div> - +<style> + .blue-border { + border-left-color: #2db7f5; + font-size: 18px; + } + .layui-table-cell { + height:auto; + } + .layui-upload-list { + margin: 0 !important; + } + .multi-images { + margin: 0 5px !important; + } +</style> +<!-- 表格操作栏 end --> <script data-th-inline="javascript"> - layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','upload'], function () { - var $ = layui.$, + layui.use(['febs', 'form', 'validate','formSelects', 'table', 'upload'], function () { + var $ = layui.jquery, febs = layui.febs, layer = layui.layer, - formSelects = layui.formSelects, - treeSelect = layui.treeSelect, + table = layui.table, form = layui.form, - eleTree = layui.eleTree, - member = [[${member}]], - $view = $('#banner-update'), - validate = layui.validate, + formSelects = layui.formSelects, + $view = $('#banner-info'), + banner = [[${banner}]], upload = layui.upload, - _deptTree; + validate = layui.validate; - //普通图片上传 - var uploadInst = upload.render({ - elem: '#test1' + //图片上传 + upload.render({ + elem: '#bannerImgUploadButton' ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 + ,accept: 'file' //普通文件 + ,size: 10240 //限制文件大小,单位 KB ,before: function(obj){ //预读本地文件示例,不支持ie8 obj.preview(function(index, file, result){ - $('#imageUrls').attr('src', result); //图片链接(base64) + $('#bannerImgUpload').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">') }); } ,done: function(res){ - febs.alert.success(res.data.src); $("#imageUrl").val(res.data.src); } }); - form.render(); + //图片上传 + upload.render({ + elem: '#bannerImgUploadButtonBack' + ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口 + ,accept: 'file' //普通文件 + ,size: 10240 //限制文件大小,单位 KB + ,before: function(obj){ + //预读本地文件示例,不支持ie8 + obj.preview(function(index, file, result){ + $('#bannerImgUploadBack').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">') + }); + } + ,done: function(res){ + $("#imageBackUrl").val(res.data.src); + } + }); - initUserValue(); + form.render(); + //(下拉框) + $.get(ctx + 'admin/banner/typeAll', function (res) { + var data = res.data; + for (let k in data) + { + $(".banner-type").append("<option value='" + data[k].type + "'>" + data[k].code + "</option>"); + } + layui.use('form', function () { + var form = layui.form; + $("#type").val(banner.type) + form.render(); + }); + }); + + initBannerTable(); formSelects.render(); - function initUserValue() { - $('#imageUrls').attr('src', member.imageUrl); - form.val("banner-update-form", { - "id": member.id, - "name": member.name, - "imageUrl": member.imageUrl, - "isInside": member.isInside, - "showPort": member.showPort, - "jumpUrl": member.jumpUrl, - "sort": member.sort, - "isTop": member.isTop, - "isJump": member.isJump + function initBannerTable() { + form.val("banner-info-form", { + "id": banner.id, + "name": banner.name, + "imageUrl": banner.imageUrl, + "imageBackUrl": banner.imageBackUrl, + "isInside": banner.isInside, + "jumpUrl": banner.jumpUrl, + "isTop": banner.isTop, + "sort": banner.sort, + "isJump": banner.isJump, + "type": banner.type, }); + + $('#bannerImgUpload').append('<img src="' + banner.imageUrl + '" alt="" class="layui-upload-img single-image" style="width: 130px">'); + $("#imageUrl").val(banner.imageUrl); + + $('#bannerImgUploadBack').append('<img src="' + banner.imageBackUrl + '" alt="" class="layui-upload-img single-image" style="width: 130px">'); + $("#imageBackUrl").val(banner.imageBackUrl); } - form.on('submit(banner-update-form-submit)', function (data) { + form.on('submit(banner-info-form-submit)', function (data) { febs.post(ctx + 'admin/banner/platformBannerConfirm', data.field, function () { layer.closeAll(); - febs.alert.success('设置成功'); - $('#febs-banner').find('#reset').click(); + febs.alert.success('操作成功'); + $('#febs-banner').find('#query').click(); }); return false; }); + }); </script> \ No newline at end of file -- Gitblit v1.9.1