图片上传管理

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
    <!-- 引入 layui.css -->
    <link rel="stylesheet" href="/static/lib/layui/css/layui.css">

    <!-- 引入 layui.js -->
    <script src="/static/lib/layui/layui.js"></script>
        <script src="/static/js/jquery.min.js"></script>
        <style>
            .layui-upload-drag-self {
                background-color: #fbfdff;
                border: 1px dashed #c0ccda;
                border-radius: 6px;
                box-sizing: border-box;
                width: 148px;
                height: 148px;
                line-height: 148px;
                vertical-align: top;
                display: inline-block;
                text-align: center;
                cursor: pointer;
                outline: 0;
                margin-right: 13px;
                float: left;
            }

            .layui-input-inlines-self {
                position: relative;
                margin-left: 90px;
                min-height: 36px;
                text-align: left;
            }

            .layui-upload-drag-self .layui-icon {
                font-size: 28px;
                color: #8c939d
            }
            .layui-upload-drag-self .img {
                position:relative;
                height: 148px;
                width: 148px;
            }

            .img-more .layui-icon {
                font-size: 28px;
                color: #8c939d
            }
            .img-more .img {
                position:relative;
                height: 148px;
                width: 148px;
            }

            .layui-upload-img {
                width: 148px;
                height: 148px;
                border-radius: 6px;
                margin-top: -3px;
                margin-left: -2px;
            }


            .handle {
                position: absolute;
                width: 148px;
                height: 100%;
                z-index: 100;
                border-radius: 6px;
                top: 0;
                background: rgba(59, 60, 61, 0.6);
                text-align: center;
            }

            .handle .icon-myself {
                z-index: 999;
                transition: all .3s;
                cursor: pointer;
                font-size: 25px;
                width: 25px;
                color: rgba(255, 255, 255, 0.91);
                margin: 0 4px;
            }



        </style>
</head>
<body>
<div class="layui-col-md12 layui-col-sm6 layui-col-xs12">
    <div class="">
        <div class="layui-card-body">
            <form class="layui-form layui-table-form" style="text-align: center" action="" lay-filter="cfg-form">
                <div class="layui-form-item">
                    <label class="layui-form-label">上传图片:</label>
                    <button type="button" id="importModel" class="layui-hide">图片导入</button>
                    <div class="layui-input-inlines-self" id="imgItemInfo-A">
                        <div class="layui-upload-drag-self" id="importImg-A-0">
                            <div id="imgDivs-A-0">
                                <i class="layui-icon" id="uploadIcon-A-0">&#xe654;</i>
                            </div>
                            <div class="img layui-hide" id="uploadDemoView-A-0">
                                <img class="layui-upload-img" id="imgs-A-0" src="">
                                <div class="handle layui-hide" id="handle-A-0">
                                    <i class="layui-icon icon-myself" id="preImg-A-0">&#xe622;</i>
                                    <i class="layui-icon icon-myself" id="delImg-A-0">&#x1007;</i>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-inline">
                        <button type="button" class="layui-btn layui-btn-normal layui-btn-sm layui-hide" id="btn-more-A" data-type="submit">
                            更多图片
                        </button>
                        <div class="site-demo-flow layui-hide img-more" id="more-A">
                        </div>
                    </div>
                </div>

                <div class="layui-form-item" id="button-group">
                    <div class="layui-inline">
                        <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="getUrls"
                                lay-submit=""
                                lay-filter="getUrls-form-submit" data-type="submit">获取图片url的值
                        </button>
                    </div>
                </div>
            </form>
        </div>
    </div>
</div>
<div class="layui-col-md12 layui-col-sm6 layui-col-xs12">
    <div class="layui-card">
        <div class="layui-card-body">
            <form class="layui-form layui-table-form" style="text-align: center" action="" lay-filter="cfg-form">
                <div class="layui-form-item">
                    <label class="layui-form-label">上传图片:</label>
<!--                    <button type="button" id="importModel" class="layui-hide">图片导入</button>-->
                    <div class="layui-input-inlines-self" id="imgItemInfo-B">
                        <div class="layui-upload-drag-self" id="importImg-B-0">
                            <div id="imgDivs-B-0">
                                <i class="layui-icon" id="uploadIcon-B-0">&#xe654;</i>
                            </div>
                            <div class="img layui-hide" id="uploadDemoView-B-0">
                                <img class="layui-upload-img" id="imgs-B-0" src="">
                                <div class="handle layui-hide" id="handle-B-0">
                                    <i class="layui-icon icon-myself" id="preImg-B-0">&#xe622;</i>
                                    <i class="layui-icon icon-myself" id="delImg-B-0">&#x1007;</i>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-inline">
                        <button type="button" class="layui-btn layui-btn-normal layui-btn-sm layui-hide" id="btn-more-B" data-type="submit">
                            更多图片
                        </button>
                        <div class="site-demo-flow layui-hide img-more" id="more-B">
                        </div>
                    </div>
                </div>

<!--                <div class="layui-form-item" id="button-group">-->
<!--                    <div class="layui-inline">-->
<!--                        <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="getUrls"-->
<!--                                lay-submit=""-->
<!--                                lay-filter="getUrls-form-submit" data-type="submit">获取图片url的值-->
<!--                        </button>-->
<!--                    </div>-->
<!--                </div>-->
            </form>
        </div>
    </div>
</div>
<div class="layui-col-md12 layui-col-sm6 layui-col-xs12">
    <div class="layui-card">
        <div class="layui-card-body">
            <form class="layui-form layui-table-form" style="text-align: center" action="" lay-filter="cfg-form">
                <div class="layui-form-item">
                    <label class="layui-form-label">上传图片:</label>
                    <!-- <button type="button" id="importModel" class="layui-hide">图片导入</button>-->
                    <div class="layui-input-inlines-self" id="imgItemInfo-C">
                        <div class="layui-upload-drag-self" id="importImg-C-0">
                            <div id="imgDivs-C-0">
                                <i class="layui-icon" id="uploadIcon-C-0">&#xe654;</i>
                            </div>
                            <div class="img layui-hide" id="uploadDemoView-C-0">
                                <img class="layui-upload-img" id="imgs-C-0" src="">
                                <div class="handle layui-hide" id="handle-C-0">
                                    <i class="layui-icon icon-myself" id="preImg-C-0">&#xe622;</i>
                                    <i class="layui-icon icon-myself" id="delImg-C-0">&#x1007;</i>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="layui-form-item">
                    <div class="layui-inline">
                        <button type="button" class="layui-btn layui-btn-normal layui-btn-sm layui-hide" id="btn-more-C" data-type="submit">
                            更多图片
                        </button>
                        <div class="site-demo-flow layui-hide img-more" id="more-C">
                        </div>
                    </div>
                </div>

                <!--                <div class="layui-form-item" id="button-group">-->
                <!--                    <div class="layui-inline">-->
                <!--                        <button type="button" class="layui-btn layui-btn-normal layui-btn-sm" id="getUrls"-->
                <!--                                lay-submit=""-->
                <!--                                lay-filter="getUrls-form-submit" data-type="submit">获取图片url的值-->
                <!--                        </button>-->
                <!--                    </div>-->
                <!--                </div>-->
            </form>
        </div>
    </div>
</div>

</body>
<script>
    layui.use(['form', 'layer',  'upload'], function () {
        var $ = layui.jquery,
            layer = layui.layer,
            form = layui.form,
            upload = layui.upload,

            imgsId,
            uploadDemoViewId,
            uploadIconId,
            importImg,
            imgItemInfo,
            photo_type,
            count = 1;
        //查看更多
        $(document).on('click', '[id^=btn-more]', function () {
            let more = $(this).next().attr('id')
            layer.open({
                type: 1,
                skin: 'ayui-layer-nobg',
                maxHeight: 960,
                title: false,
                shadeClose: true, //开启遮罩关闭
                content: $('#' + more),
                area:['900px','500px'],
                success: function () {
                    $('#' + more).removeClass('layui-hide')
                }
            });
        })
        //删除图片
        $(document).on('click', '[id^=delImg]', function () {
            //判断哪一行的照片上传
            photo_type = ($(this).attr('id')).split('-')
            photo_type = photo_type[1]

            var importImgF = $('#imgItemInfo-'+ photo_type).find('div:first');
            var empt = $(this).parent().parent().parent();
            var nextImgSrc = $(this).parent().parent().parent().next().find('img').attr('src');
            //判断当前DIV后面的div的url是否为空
            if (!nextImgSrc) {
                //判断是否为第一个
                if (importImgF.attr('id') === empt.attr('id')) {
                    //-是 ,清空第一个 最后面的删除
                    //图片url清空
                    empt.find('img').attr('src','');
                    $(this).parent().parent().addClass('layui-hide');
                    importImgF.find('i:first').removeClass('layui-hide');
                    count--;
                    $('#importImg-'+ photo_type + '-' + count).remove();
                } else {
                    // -否,删除当前
                    empt.remove();
                }
            } else {
                //如果有值删除当前div
                empt.remove();
            }
            let more_length = $('#more-'+ photo_type).children().length
            if (more_length != 0){
                if ($('#imgItemInfo-'+ photo_type).children().length < 7){
                    let first = $('#more-'+ photo_type).find('div:first')
                    $('#imgItemInfo-'+ photo_type).children().eq(-2).after(first.prop('outerHTML'))
                    first.remove()
                }
            }else{
                $('#btn-more-'+ photo_type).addClass('layui-hide')
            }

            return false;
        });

        //图片预览
        $(document).on('click', '[id^=preImg]', function () {
            var iHtml = "<img src='" + $(this).parent().parent().find('img:first').attr('src') + "' style='width: 100%; height: 100%;'/>";
            layer.open({
                type: 1,
                shade: false,
                title: false, //不显示标题
                area: ['40%', '60%'],
                content: iHtml //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响
            });
            return false;
        });

        //图片绑定鼠标悬浮
        $(document).on("mouseenter", ".img", function () {
            //鼠标悬浮
            $(this).find('div:first').removeClass('layui-hide');
        }).on("mouseleave", ".img", function () {
            //鼠标离开
            $(this).find('div:first').addClass('layui-hide');
        });

        $(document).on('click', '[id^=imgDivs]', function () {
            //判断哪一行的照片上传
            photo_type = ($(this).attr('id')).split('-')
            photo_type = photo_type[1]
            //给id赋值
            uploadIconId = $(this).find('i').attr('id');
            uploadDemoViewId = $(this).next().attr('id');
            imgsId = $(this).next().find('img').attr('id');
            importImg = $(this).parent().eq(0).attr('id');
            imgItemInfo = $(this).parent().parent().eq(0).attr('id');
            $('#importModel').click();
        });

        upload.render({
            elem: '#importModel'
            , multiple: true
            , url: '/index/index/upload' //改成您自己的上传接口
            , data:{
                'a_id': 'DX20200227001'
            }
            , done: function (res) {
                if (res.code !== 2000) {
                    return layer.msg('上传失败')
                }
                $('#' + imgsId).attr('src', res.data.file_path);
                $('#' + uploadDemoViewId).removeClass('layui-hide');
                $('#' + uploadIconId).addClass('layui-hide');
                let length = $('#imgItemInfo-'+photo_type).children().length
                console.log(length)
                if (length > 6){
                    let temp_num = imgsId.split('-')
                    temp_num = temp_num[2]
                    let temp = $('#importImg-'+ photo_type + '-' + temp_num)
                    $('#more-'+ photo_type).append(temp.prop('outerHTML'))
                    temp.remove()
                    $('#btn-more-'+ photo_type).removeClass('layui-hide')
                }

                $('#imgItemInfo-'+ photo_type).append(
                    '<div class="layui-upload-drag-self" id="importImg-'+ photo_type + '-' + count + '">' +
                    '<div id="imgDivs-'+ photo_type + '-' + count + '">' +
                    '<i class="layui-icon" id="uploadIcon-'+ photo_type + '-' + count + '"> &#xe654; </i>' +
                    '</div>' +
                    '<div class="img layui-hide" id="uploadDemoView-'+ photo_type + '-' + count + '">' +
                    '<img class="layui-upload-img" id="imgs-'+ photo_type + '-' + count + '" src="">' +
                    '<div class="handle layui-hide" id="handle-'+ photo_type + '-' + count + '">' +
                    '<i class="layui-icon icon-myself" id="preImg-'+ photo_type + '-' + count + '">&#xe622;</i>' +
                    '<i class="layui-icon icon-myself" id="delImg-'+ photo_type + '-' + count + '">&#x1007;</i>' +
                    '</div>' + '</div>' + '</div>'
                );
                count++;
            }
        });

        form.on('submit(getUrls-form-submit)', function (data) {
            //使用data.field获取不到值
            var imgs = $('[id^=imgs]');
            var imgArray=[];
            imgs.each(function () {
                var url=$(this).attr('src');
                //滤空
                if (url){
                    imgArray.push(url);
                }
            });
            alert(JSON.stringify(imgArray));
            return false;
        });
    });
</script>
</html>

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值