Administrator
2025-05-08 d4f038804739521706071880fd4be38f485f97e4
feat(mall): 小程序开屏页设置功能

- 新增开屏页设置相关接口和页面
- 实现开屏页图片和显示时间的配置
- 优化轮播图列表和新增页面样式
- 添加开屏页设置的权限控制
9 files modified
4 files added
1122 ■■■■ changed files
src/main/java/cc/mrbird/febs/common/enumerates/CommonDictionaryEnum.java 6 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java 25 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/CommonController.java 29 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewBannerController.java 2 ●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java 21 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/dto/AdminIndexVideoDto.java 2 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/mall/vo/common/ApiIndexSetVo.java 16 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/banner/platformBanner.html 102 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/banner/platformBannerAdd-bak.html 132 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/banner/platformBannerAdd.html 251 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/banner/platformBannerDetail-bak.html 163 ●●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html 258 ●●●● patch | view | raw | blame | history
src/main/resources/templates/febs/views/modules/system/indexPng.html 115 ●●●●● patch | view | raw | blame | history
src/main/java/cc/mrbird/febs/common/enumerates/CommonDictionaryEnum.java
@@ -4,6 +4,12 @@
@Getter
public enum CommonDictionaryEnum {
    /**
     * 开屏页设置
      */
    PNG_URL_INDEX("PNG_URL_INDEX", "PNG_URL_INDEX"),
    TIME_URL_INDEX("TIME_URL_INDEX", "TIME_URL_INDEX"),
    /**
     * 整体置灰
     */
src/main/java/cc/mrbird/febs/mall/controller/AdminSystemController.java
@@ -2,6 +2,7 @@
import cc.mrbird.febs.common.annotation.ControllerEndpoint;
import cc.mrbird.febs.common.entity.FebsResponse;
import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.AppContants;
import cc.mrbird.febs.mall.dto.*;
@@ -197,6 +198,30 @@
        return new FebsResponse().success();
    }
    @PostMapping(value = "/indexPngSet")
    public FebsResponse indexPngSet(AdminIndexVideoDto adminIndexVideoDto) {
        DataDictionaryCustom pngDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                CommonDictionaryEnum.PNG_URL_INDEX.getType(),
                CommonDictionaryEnum.PNG_URL_INDEX.getCode()
        );
        if(ObjectUtil.isEmpty(pngDic)){
            return new FebsResponse().fail().message("请刷新页面重试");
        }
        pngDic.setValue(adminIndexVideoDto.getPngUrl());
        dataDictionaryCustomMapper.updateById(pngDic);
        DataDictionaryCustom timeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                CommonDictionaryEnum.TIME_URL_INDEX.getType(),
                CommonDictionaryEnum.TIME_URL_INDEX.getCode()
        );
        if(ObjectUtil.isEmpty(timeDic)){
            return new FebsResponse().fail().message("请刷新页面重试");
        }
        timeDic.setValue(adminIndexVideoDto.getTimeStop());
        dataDictionaryCustomMapper.updateById(timeDic);
        return new FebsResponse().success();
    }
//    public static void main(String[] args) {
//        List<Integer> lines = Arrays.asList(new Integer[]{1, 1, 0,  1, 1, 0, 0, 1, 0,  1, 1, 0, 1, 0, 1, 0});
//        //数字连续出现的计数
src/main/java/cc/mrbird/febs/mall/controller/CommonController.java
@@ -11,6 +11,7 @@
import cc.mrbird.febs.mall.service.ICommonService;
import cc.mrbird.febs.mall.vo.ScoreSignVo;
import cc.mrbird.febs.mall.vo.common.ApiCommonSetVo;
import cc.mrbird.febs.mall.vo.common.ApiIndexSetVo;
import cn.hutool.core.io.file.FileNameUtil;
import cn.hutool.core.lang.UUID;
import cn.hutool.core.util.IdUtil;
@@ -209,6 +210,34 @@
        return new FebsResponse().success().data(apiCommonSetVo);
    }
    @ApiOperation(value = "小程序开屏页设置")
    @ApiResponses({
            @ApiResponse(code = 200, message = "success", response = ApiIndexSetVo.class)
    })
    @GetMapping(value = "/indexSet")
    public FebsResponse indexSet() {
        ApiIndexSetVo apiIndexSetVo = new ApiIndexSetVo();
        String pngUrl = commonService.getDicByTypeAndCode(
                CommonDictionaryEnum.PNG_URL_INDEX.getType(),
                CommonDictionaryEnum.PNG_URL_INDEX.getCode()
        );
        if (pngUrl == null) {
            pngUrl = "";
        }
        apiIndexSetVo.setPngUrl(pngUrl);
        String timeStop = commonService.getDicByTypeAndCode(
                CommonDictionaryEnum.TIME_URL_INDEX.getType(),
                CommonDictionaryEnum.TIME_URL_INDEX.getCode()
        );
        if (timeStop == null) {
            timeStop = "0";
        }
        apiIndexSetVo.setTimeStop(timeStop);
        return new FebsResponse().success().data(apiIndexSetVo);
    }
    @ApiOperation(value = "base64FileUpload上传")
    @PostMapping(value = "/base64FileUpload")
    public Map<String,Object> base64FileUpload(@RequestBody @Validated MultipartFile file) throws IOException {
src/main/java/cc/mrbird/febs/mall/controller/ViewBannerController.java
@@ -36,7 +36,7 @@
    @RequiresPermissions("platformBannerUpdate:update")
    public String platformBannerUpdate(@PathVariable long id, Model model) {
        PlatformBanner data = iAdminBannerService.selectPlatformBannerById(id);
        model.addAttribute("member", data);
        model.addAttribute("banner", data);
        return FebsUtil.view("modules/banner/platformBannerDetail");
    }
src/main/java/cc/mrbird/febs/mall/controller/ViewSystemController.java
@@ -1,6 +1,7 @@
package cc.mrbird.febs.mall.controller;
import cc.mrbird.febs.common.entity.FebsConstant;
import cc.mrbird.febs.common.enumerates.CommonDictionaryEnum;
import cc.mrbird.febs.common.enumerates.DataDictionaryEnum;
import cc.mrbird.febs.common.utils.FebsUtil;
import cc.mrbird.febs.mall.dto.*;
@@ -100,6 +101,26 @@
        return FebsUtil.view("modules/system/indexVideo");
    }
    @GetMapping("indexPng")
    @RequiresPermissions("indexPng:update")
    public String indexPngSet(Model model) {
        DataDictionaryCustom pngDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                CommonDictionaryEnum.PNG_URL_INDEX.getType(),
                CommonDictionaryEnum.PNG_URL_INDEX.getCode());
        AdminIndexVideoDto adminIndexVideoDto = new AdminIndexVideoDto();
        if (ObjectUtil.isNotEmpty(pngDic)) {
            adminIndexVideoDto.setPngUrl(pngDic.getValue());
        }
        DataDictionaryCustom timeDic = dataDictionaryCustomMapper.selectDicDataByTypeAndCode(
                CommonDictionaryEnum.TIME_URL_INDEX.getType(),
                CommonDictionaryEnum.TIME_URL_INDEX.getCode());
        if (ObjectUtil.isNotEmpty(timeDic)) {
            adminIndexVideoDto.setTimeStop(timeDic.getValue());
        }
        model.addAttribute("adminIndexVideoDto", adminIndexVideoDto);
        return FebsUtil.view("modules/system/indexPng");
    }
    @GetMapping("faPiao")
src/main/java/cc/mrbird/febs/mall/dto/AdminIndexVideoDto.java
@@ -5,4 +5,6 @@
@Data
public class AdminIndexVideoDto {
    private String videoUrl;
    private String pngUrl;
    private String timeStop;
}
src/main/java/cc/mrbird/febs/mall/vo/common/ApiIndexSetVo.java
New file
@@ -0,0 +1,16 @@
package cc.mrbird.febs.mall.vo.common;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
@Data
@ApiModel(value = "ApiIndexSetVo", description = "类")
public class ApiIndexSetVo {
    @ApiModelProperty(value = "开屏页链接")
    private String pngUrl;
    @ApiModelProperty(value = "自动关闭时间秒")
    private String timeStop;
}
src/main/resources/templates/febs/views/modules/banner/platformBanner.html
@@ -1,4 +1,4 @@
<div class="layui-fluid layui-anim febs-anim" id="febs-banner" lay-title="轮播图">
<div class="layui-fluid layui-anim febs-anim" id="febs-banner" lay-title="轮播图列表">
    <div class="layui-row febs-container">
        <div class="layui-col-md12">
            <div class="layui-card">
@@ -6,9 +6,6 @@
                    <form class="layui-form layui-table-form" lay-filter="user-table-form">
                            <div class="layui-row">
                                <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-green-plain table-action" id="add">
                                        新增
                                    </div>
                                    <div class="layui-btn layui-btn-sm layui-btn-primary febs-button-green-plain table-action" id="reset">
                                        <i class="layui-icon">&#xe79b;</i>
                                    </div>
@@ -58,19 +55,17 @@
    }}
    <span class="layui-badge febs-bg-{{isTop.color}}">{{ isTop.title }}</span>
</script>
<script type="text/html" id="bannerToolbar">
    <div class="layui-btn-container">
        <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="platformBannerAdd:add" lay-event="platformBannerAdd">新增</button>
    </div>
</script>
<!-- 表格操作栏 start -->
<script type="text/html" id="user-option">
<!--    <span shiro:lacksPermission="user:view,user:update,user:delete">-->
<!--        <span class="layui-badge-dot febs-bg-orange"></span> 无权限-->
<!--    </span>-->
<!--    <a lay-event="edit" shiro:hasPermission="user:update">编辑-->
    <a lay-event="edit">编辑
        <i class="layui-icon febs-edit-area febs-blue"></i>
     </a>
<!--    <a lay-event="delete" shiro:hasPermission="user:update">删除-->
    <a lay-event="delete">删除
        <i class="layui-icon febs-edit-area febs-blue"></i>
     </a>
    <button class="layui-btn layui-btn-normal layui-btn-sm" type="button" shiro:hasPermission="platformBannerUpdate:update" lay-event="editBanner">编辑</button>
    <button class="layui-btn layui-btn-danger layui-btn-sm" type="button" shiro:hasPermission="platformBannerUpdate:update" lay-event="deleteBanner">删除</button>
</script>
<!-- 表格操作栏 end -->
<script data-th-inline="none" type="text/javascript">
@@ -99,19 +94,36 @@
        table.on('tool(bannerTable)', function (obj) {
            var data = obj.data,
                layEvent = obj.event;
            if (layEvent === 'seeIconPng') {
                var t = $view.find('#seeIconPng'+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 === 'edit') {
                febs.modal.open('轮播图设置', 'modules/banner/platformBannerUpdate/' + data.id, {
            if (layEvent === 'editBanner') {
                febs.modal.open('设置', 'modules/banner/platformBannerUpdate/' + data.id, {
                    btn: ['提交', '取消'],
                    area: ['100%', '100%'],
                    yes: function (index, layero) {
                        $('#banner-update').find('#submit').trigger('click');
                        $('#febs-banner-Info').find('#submit').trigger('click');
                    },
                    btn2: function () {
                        layer.closeAll();
                    }
                });
            }
            if (layEvent === 'delete') {
            if (layEvent === 'deleteBanner') {
                febs.modal.confirm('删除', '您是否确认删除?', function () {
                    deleteUsers(data.id);
                });
@@ -131,47 +143,55 @@
            sortObject.type = 'null';
            tableIns.reload({where: getQueryParams(), page: {curr: 1}, initSort: sortObject});
        });
         // 刷新按钮
        $add.on('click', function () {
            febs.modal.open('轮播图新增', 'modules/banner/platformBannerAdd/', {
                btn: ['提交', '取消'],
                yes: function (index, layero) {
                    $('#banner-add').find('#submit').trigger('click');
                },
                btn2: function () {
                    layer.closeAll();
                }
            });
        // 初始化表格操作栏各个按钮功能
        table.on('toolbar(bannerTable)', function (obj) {
            let data = obj.data,
                layEvent = obj.event;
            console.log("触发事件:", obj.event); // 调试信息
            if(layEvent === 'platformBannerAdd'){
                febs.modal.open('新增', 'modules/banner/platformBannerAdd/', {
                    btn: ['提交', '取消'],
                    area:['100%','100%'],
                    yes: function (index, layero) {
                        $('#febs-banner-add').find('#submit').trigger('click');
                    },
                    btn2: function () {
                        layer.closeAll();
                    }
                });
            }
        });
         // 获取查询参数
        function getQueryParams() {
            return {};
        }
        function initTable() {
            tableIns = febs.table.init({
                elem: $view.find('table'),
                id: 'bannerTable',
                url: ctx + 'admin/banner/platformBanner',
                toolbar:"#bannerToolbar",
                defaultToolbar:[],
                cols: [[
                    {field: 'id', title: '', minWidth: 10,align:'left'},
                    {title: '操作', toolbar: '#user-option', minWidth: 140, fixed : 'right'},
                    {field: 'name', title: '标题', minWidth: 120,align:'center'},
                    {field: 'imageUrl', title: '图片链接',
                    {field: 'imageUrl',title: '图片',
                        templet: function (d) {
                            return '<img src="'+d.imageUrl+'" >'
                        }, minWidth: 200,align:'center'},
                    // {field: 'sort', title: '联系方式', minWidth: 200,align:'center'},
                            return '<a lay-event="seeIconPng">' +
                                '<img id="seeIconPng' + d.id + '" src="' + d.imageUrl +
                                '" alt="图片" style="width: 50px; height: 50px; object-fit: cover; border-radius: 5px; cursor: pointer;">' +
                                '</a>';
                        },
                        minWidth: 150,align: 'center'},
                    {title: '是否可跳转', templet: '#isJump', minWidth: 60,align:'center'},
                    {field: 'jumpUrl', title: '跳转链接', minWidth: 200,align:'center'},
                    {title: '跳转外部或内部', templet: '#isInside', minWidth: 60,align:'center'},
                    // {title: '显示端口', templet: '#showPort', minWidth: 60,align:'center'},
                    {title: '是否置顶', templet: '#isTop', minWidth: 60,align:'center'},
                    {title: '操作', toolbar: '#user-option', minWidth: 140, fixed : 'right'}
                ]]
            });
        }
src/main/resources/templates/febs/views/modules/banner/platformBannerAdd-bak.html
New file
@@ -0,0 +1,132 @@
<style>
    #banner-add {
        padding: 20px 25px 25px 0;
    }
    #banner-add .layui-treeSelect .ztree li a, .ztree li span {
        margin: 0 0 2px 3px !important;
    }
    #banner-add #data-permission-tree-block {
        border: 1px solid #eee;
        border-radius: 2px;
        padding: 3px 0;
    }
    #banner-add .layui-treeSelect .ztree li span.button.switch {
        top: 1px;
        left: 3px;
    }
</style>
<div class="layui-fluid" id="banner-add">
    <form class="layui-form" action="" lay-filter="banner-add-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-form-item">
            <label class="layui-form-label febs-form-item-require">标题:</label>
            <div class="layui-input-block">
                <input type="text" name="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>
                </div>
            </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"
                       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="radio" name="isTop" value="1" title="是" checked="">
                <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="isJump" value="1" title="是" checked="">
                <input type="radio" name="isJump" value="2" title="否">
            </div>
        </div>
        <div class="layui-form-item">
            <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 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="内" checked="">
                <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-add-form-submit" id="submit"></button>
        </div>
    </form>
</div>
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','upload'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            formSelects = layui.formSelects,
            treeSelect = layui.treeSelect,
            form = layui.form,
            eleTree = layui.eleTree,
            member = [[${member}]],
            $view = $('#banner-add'),
            validate = layui.validate,
            upload = layui.upload,
            _deptTree;
        //普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#imageUrls').attr('src', result); //图片链接(base64)
                });
            }
            ,done: function(res){
                febs.alert.success(res.data.src);
                $("#imageUrl").val(res.data.src);
            }
        });
        form.render();
        formSelects.render();
        form.on('submit(banner-add-form-submit)', function (data) {
            febs.post(ctx + 'admin/banner/platformBannerAdds', data.field, function () {
                layer.closeAll();
                febs.alert.success('新增成功');
                $('#febs-banner').find('#reset').click();
            });
            return false;
        });
    });
</script>
src/main/resources/templates/febs/views/modules/banner/platformBannerAdd.html
@@ -1,146 +1,153 @@
<style>
    #banner-add {
        padding: 20px 25px 25px 0;
    }
<div class="layui-fluid layui-anim febs-anim" id="febs-banner-add" lay-title="新增">
    <div class="layui-row febs-container">
        <div class="layui-col-md12">
            <div class="layui-fluid" id="banner-add">
                <form class="layui-form" action="" lay-filter="banner-add-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">
                            <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">
                                            <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>
    #banner-add .layui-treeSelect .ztree li a, .ztree li span {
        margin: 0 0 2px 3px !important;
    }
    #banner-add #data-permission-tree-block {
        border: 1px solid #eee;
        border-radius: 2px;
        padding: 3px 0;
    }
    #banner-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">
                                            <input type="radio" name="isTop" value="1" title="是" checked="">
                                            <input type="radio" name="isTop" value="2" title="否">
                                        </div>
                                    </div>
                                </div>
</style>
<div class="layui-fluid" id="banner-add">
    <form class="layui-form" action="" lay-filter="banner-add-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-form-item">
            <label class="layui-form-label febs-form-item-require">标题:</label>
            <div class="layui-input-block">
                <input type="text" name="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 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>
        </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"
                       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="sort" minlength="4" maxlength="10" -->
<!--                       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="是" checked="">
                <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" checked="">-->
<!--                <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="是" checked="">
                <input type="radio" name="isJump" value="2" title="否">
            </div>
        </div>
        <div class="layui-form-item">
            <label class="layui-form-label">跳转链接:</label>
            <div class="layui-input-block">
                <input type="text" name="jumpUrl"
                        autocomplete="off" class="layui-input" >
            </div>
            <div class="layui-form-mid layui-word-aux">图片需要跳转到商品详情,请填写商品编号。</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="内" checked="">
                <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-add-form-submit" id="submit"></button>
        </div>
    </form>
</div>
                    <div class="layui-form-item febs-hide">
                        <button class="layui-btn" lay-submit="" lay-filter="banner-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>
<!-- 表格操作栏 end -->
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','upload'], function () {
        var $ = layui.$,
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','dropdown', 'laydate', 'layedit', 'upload', 'element', 'table', 'xmSelect','jquery'], 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,
            member = [[${member}]],
            $view = $('#banner-add'),
            validate = layui.validate,
            $view = $('#febs-banner-add'),
            layedit = layui.layedit,
            upload = layui.upload,
            _deptTree;
        //普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#imageUrls').attr('src', result); //图片链接(base64)
                });
            }
            ,done: function(res){
                febs.alert.success(res.data.src);
                $("#imageUrl").val(res.data.src);
            }
        });
            validate = layui.validate,
            element = layui.element;
        form.render();
        //图片上传
        upload.render({
            elem: '#bannerImgUploadButton'
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,accept: 'file' //普通文件
            ,size: 10240 //限制文件大小,单位 KB
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#bannerImgUpload').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
                });
            }
            ,done: function(res){
                $("#imageUrl").val(res.data.src);
            }
        });
        formSelects.render();
        form.on('submit(banner-add-form-submit)', function (data) {
            febs.post(ctx + 'admin/banner/platformBannerAdds', data.field, function () {
                layer.closeAll();
                febs.alert.success('新增成功');
                febs.alert.success('操作成功');
                $('#febs-banner').find('#reset').click();
            });
            return false;
        });
    });
</script>
</script>
src/main/resources/templates/febs/views/modules/banner/platformBannerDetail-bak.html
New file
@@ -0,0 +1,163 @@
<style>
    #banner-update {
        padding: 20px 25px 25px 0;
    }
    #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;
    }
</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"  data-th-id="${member.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>
                </div>
            </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"
                        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="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">跳转链接:</label>
            <div class="layui-input-block">
                <input type="text" name="jumpUrl"  data-th-id="${member.jumpUrl}"
                        autocomplete="off" class="layui-input" >
                <div class="layui-form-mid layui-word-aux">图片需要跳转到商品详情,请填写商品编号。</div>
            </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>
<script data-th-inline="javascript">
    layui.use(['febs', 'form', 'formSelects', 'validate', 'treeSelect', 'eleTree','upload'], function () {
        var $ = layui.$,
            febs = layui.febs,
            layer = layui.layer,
            formSelects = layui.formSelects,
            treeSelect = layui.treeSelect,
            form = layui.form,
            eleTree = layui.eleTree,
            member = [[${member}]],
            $view = $('#banner-update'),
            validate = layui.validate,
            upload = layui.upload,
            _deptTree;
        //普通图片上传
        var uploadInst = upload.render({
            elem: '#test1'
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#imageUrls').attr('src', result); //图片链接(base64)
                });
            }
            ,done: function(res){
                febs.alert.success(res.data.src);
                $("#imageUrl").val(res.data.src);
            }
        });
        form.render();
        initUserValue();
        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
            });
        }
        form.on('submit(banner-update-form-submit)', function (data) {
            febs.post(ctx + 'admin/banner/platformBannerConfirm', data.field, function () {
                layer.closeAll();
                febs.alert.success('设置成功');
                $('#febs-banner').find('#reset').click();
            });
            return false;
        });
    });
</script>
src/main/resources/templates/febs/views/modules/banner/platformBannerDetail.html
@@ -1,163 +1,173 @@
<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">
                                            <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>
    #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">
                                            <input type="radio" name="isTop" value="1" title="是" checked="">
                                            <input type="radio" name="isTop" value="2" title="否">
                                        </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"  data-th-id="${member.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 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"
                        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="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">跳转链接:</label>
            <div class="layui-input-block">
                <input type="text" name="jumpUrl"  data-th-id="${member.jumpUrl}"
                        autocomplete="off" class="layui-input" >
            </div>
            <div class="layui-form-mid layui-word-aux">图片需要跳转到商品详情,请填写商品编号。</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();
        initUserValue();
        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,
                "isInside": banner.isInside,
                "jumpUrl": banner.jumpUrl,
                "isTop": banner.isTop,
                "isJump": banner.isJump
            });
            $('#bannerImgUpload').append('<img src="' + banner.imageUrl + '" alt="" class="layui-upload-img single-image" style="width: 130px">');
            $("#imageUrl").val(banner.imageUrl);
        }
        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.alert.success('操作成功');
                $('#febs-banner').find('#reset').click();
            });
            return false;
        });
    });
</script>
src/main/resources/templates/febs/views/modules/system/indexPng.html
New file
@@ -0,0 +1,115 @@
<div class="layui-fluid layui-anim febs-anim" id="index-png-set" lay-title="开屏页设置">
    <div class="layui-row layui-col-space8 febs-container">
        <form class="layui-form" action="" lay-filter="index-png-set-form">
            <div class="layui-card">
                <div class="layui-card-body">
                    <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">
                                <div class="layui-upload">
                                    <button type="button" class="layui-btn layui-btn-normal layui-btn" id="indexImgUploadButton">上传</button>
                                    <blockquote class="layui-elem-quote layui-quote-nm" style="margin-top: 10px;">
                                        <div class="layui-upload-list" id="indexImgUpload"></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="pngUrl" lay-verify="required" name="pngUrl" 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">关闭时间:</label>
                            <div class="layui-input-block">
                                <input type="text" name="timeStop"
                                       autocomplete="off" class="layui-input" >
                                <div class="layui-form-mid layui-word-aux">5:表示显示5秒后自动关闭。</div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="layui-card-footer">
                    <button class="layui-btn layui-btn-normal" lay-submit="" lay-filter="index-png-set-form-submit" id="submit">保存</button>
                </div>
            </div>
        </form>
    </div>
</div>
<style>
    .layui-form-label {
        width: 120px;
    }
    .layui-form-item .layui-input-block {
        margin-left: 150px;
    }
    .layui-table-form .layui-form-item {
        margin-bottom: 20px !important;
    }
</style>
<script data-th-inline="javascript" type="text/javascript">
    layui.use(['dropdown', 'jquery', 'validate', 'febs', 'form', 'eleTree', 'upload'], function () {
        var $ = layui.jquery,
            febs = layui.febs,
            form = layui.form,
            adminIndexVideoDto = [[${adminIndexVideoDto}]],
            validate = layui.validate,
            upload = layui.upload,
            $view = $('#index-png-set');
        form.verify(validate);
        //图片上传
        upload.render({
            elem: '#indexImgUploadButton'
            ,url: ctx + 'admin/goods/uploadFileBase64' //改成您自己的上传接口
            ,accept: 'file' //普通文件
            ,size: 10240 //限制文件大小,单位 KB
            ,before: function(obj){
                //预读本地文件示例,不支持ie8
                obj.preview(function(index, file, result){
                    $('#indexImgUpload').html('<img src="'+ result +'" alt="'+ file.name +'" class="layui-upload-img single-image" style="width: 130px">')
                });
            }
            ,done: function(res){
                $("#pngUrl").val(res.data.src);
            }
        });
        initIndexVideoValue();
        form.render();
        function initIndexVideoValue() {
            form.val("index-png-set-form", {
                "pngUrl": adminIndexVideoDto.pngUrl,
                "timeStop": adminIndexVideoDto.timeStop,
            });
            $('#indexImgUpload').append('<img src="' + adminIndexVideoDto.pngUrl + '" alt="" class="layui-upload-img single-image" style="width: 130px">');
            $("#pngUrl").val(adminIndexVideoDto.pngUrl);
        }
        form.on('submit(index-png-set-form-submit)', function (data) {
            console.log(data);
            febs.post(ctx + 'admin/system/indexPngSet', data.field, function (res) {
                if (res.code == 200) {
                    febs.alert.success("操作成功");
                } else {
                    febs.alert.warn(res.message);
                }
            });
            return false;
        });
    });
</script>