From 43fa0ec4dc02c2bb1a2ac5e9eea81cae4d2cb11d Mon Sep 17 00:00:00 2001 From: Helius <wangdoubleone@gmail.com> Date: Fri, 17 Dec 2021 16:08:18 +0800 Subject: [PATCH] Merge branch 'master' of http://120.27.238.55:7000/r/xc-video --- src/main/resources/templates/febs/views/video/video/video-add.html | 183 ++++++++++++++++++++++++++++----------------- 1 files changed, 112 insertions(+), 71 deletions(-) diff --git a/src/main/resources/templates/febs/views/video/video/video-add.html b/src/main/resources/templates/febs/views/video/video/video-add.html index 573dae2..a0051eb 100644 --- a/src/main/resources/templates/febs/views/video/video/video-add.html +++ b/src/main/resources/templates/febs/views/video/video/video-add.html @@ -24,7 +24,7 @@ <div class="layui-col-md6"> <label class="layui-form-label febs-form-item-require">视频标题:</label> <div class="layui-input-block"> - <input type="text" name="username" minlength="2" maxlength="10" lay-verify="range|username" + <input type="text" name="title" minlength="2" maxlength="10" lay-verify="range" autocomplete="off" class="layui-input"> </div> </div> @@ -47,6 +47,7 @@ <button type="button" class="layui-btn" id="thumbUpload">上传图片</button> <div class="layui-upload-list"> <img class="layui-upload-img" id="thumb" style="width: 150px;"/> + <input class="layui-input febs-hide" name="thumb" autocomplete="off" /> </div> </div> </div> @@ -64,52 +65,13 @@ <table class="layui-table"> <thead> <tr> - <th>排序</th> - <th>视频标题</th> - <th>视频缩略图</th> + <th>章节标题</th> + <th>缩略图</th> <th>资源名称</th> <th>操作</th> </tr> </thead> <tbody id="itemList"> - <tr> - <th> - 1 - </th> - <th> - <input type="text" class="layui-input" placeholder="" /> - </th> - <th> - <div class="upload"> - <img class="layui-upload-img item-img febs-hide" style="width: 150px;"/> - <button class="layui-btn layui-btn-xs" type="button">点击上传</button> - <input type="text" class="febs-hide" name="itemThumb" /> - </div> - </th> - <th>123</th> - <th> - <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button> - </th> - </tr> - <tr> - <th> - 2 - </th> - <th> - <input type="text" class="layui-input" placeholder="" /> - </th> - <th> - <div class="upload"> - <img class="layui-upload-img item-img" src="https://gimg2.baidu.com/image_search/src=http%3A%2F%2Fimg.jj20.com%2Fup%2Fallimg%2Ftp05%2F19100120461512E-0-lp.jpg&refer=http%3A%2F%2Fimg.jj20.com&app=2002&size=f9999,10000&q=a80&n=0&g=0n&fmt=jpeg" style="width: 150px;"/> - <button class="layui-btn layui-btn-xs febs-hide" type="button">点击上传</button> - <input type="text" class="febs-hide" name="itemThumb" /> - </div> - </th> - <th>123</th> - <th> - <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button> - </th> - </tr> </tbody> </table> </div> @@ -140,28 +102,25 @@ {{# layui.each(d, function(index, item){ }} <tr> <th> - {{item.seq}} <input type="text" class="febs-hide" name="sourceId" value="{{item.id}}"/> + <input type="text" class="layui-input" name="name" placeholder="" value=""/> </th> <th> - <input type="text" class="layui-input" placeholder="" value=""/> - </th> - <th> - <div class="upload"> + <div class="upload{{item.id}}"> {{# if(!item.thumb || item.thumb == ''){ }} <img class="layui-upload-img item-img febs-hide" src="" style="width: 150px;"/> <button class="layui-btn layui-btn-xs" type="button">点击上传</button> - <input type="text" class="febs-hide" name="itemThumb" /> + <input type="text" class="febs-hide" autocomplete="off" name="itemThumb" /> {{# } else { }} - <img class="layui-upload-img item-img" src="" style="width: 150px;"/> + <img class="layui-upload-img item-img" src="{{item.thumb}}" style="width: 150px;"/> <button class="layui-btn layui-btn-xs febs-hide" type="button">点击上传</button> - <input type="text" class="febs-hide" name="itemThumb" /> + <input type="text" class="febs-hide" autocomplete="off" name="itemThumb" /> {{# } }} </div> </th> <th>{{item.name}}</th> <th> - <button class="layui-btn layui-btn-xs layui-btn-danger demo-delete">删除</button> + <button class="layui-btn layui-btn-xs layui-btn-danger item-delete" type="button">删除</button> </th> </tr> {{# }); }} @@ -185,6 +144,7 @@ form.verify(validate); form.render(); + // 已添加的item数据 var itemData = []; var videoCate = xmSelect.render({ el: '#video-cate', @@ -203,8 +163,6 @@ }) $("#addItem").on('click', function() { - - febs.modal.open('选择视频资源', 'video/source/select/list', { area: $(window).width() <= 750 ? '90%' : '50%', offset: '30px', @@ -212,8 +170,8 @@ yes: function (index, layero) { var selectData = table.checkStatus('videoSourceSelectTable').data; + // 去重 var noRepeatData = []; - // 需要去重 if (itemData.length != 0) { for (var i = 0; i < selectData.length; i++) { var flag = true; @@ -230,16 +188,22 @@ } } else { - itemData = selectData; + noRepeatData = selectData; } - var data = itemData.concat(noRepeatData); - $itemList.empty(); - laytpl(templateHtml).render(data, function(html) { - $itemList.append(html); - }) + if (noRepeatData.length > 0) { + itemData = itemData.concat(noRepeatData); + laytpl(templateHtml).render(noRepeatData, function(html) { + $itemList.append(html); + }) - bindUpload(); + for (var i = 0; i < noRepeatData.length; i++) { + bindUpload(noRepeatData[i].id); + } + } +`` + deleteUnBind(); + deleteBind(); layer.close(layer.index); }, btn2: function () { @@ -248,7 +212,7 @@ }); }); - var uploadInst = upload.render({ + upload.render({ elem: '#thumbUpload' ,url: 'common/upload' ,before: function(obj){ @@ -264,6 +228,7 @@ return layer.msg('上传失败'); } + $('#thumb').next().val(res.data[0]) layer.msg('上传成功', {icon: 1}); } ,error: function(){ @@ -272,9 +237,9 @@ }); // 表格中的图片上传 - function bindUpload() { + function bindUpload(id) { upload.render({ - elem: '.upload' + elem: '.upload' + id ,url: ctx + 'common/upload' //改成您自己的上传接口 // ,accept: 'file' ,before: function(obj){ @@ -318,15 +283,91 @@ }); } - bindUpload(); - form.on('submit(video-add-form-submit)', function (data) { - // febs.post(ctx + 'user', data.field, function () { - // layer.closeAll(); - // febs.alert.success('新增用户成功,初始密码为 1234qwer'); - // $('#febs-user').find('#query').click(); - // }); + var $tr = $("#itemList").find("tr"); + var itemLength = $tr.length; + if (itemLength == 0) { + layer.msg('请添加章节!'); + return; + } + + var cateIds = videoCate.getValue('value'); + if (cateIds.length <= 0) { + febs.alert.warn('至少选择一个目录'); + return false; + } + + var itemData = []; + $tr.each(function() { + var data = {}; + var sourceId = $(this).find("input[name = 'sourceId']").val(); + var videoItemName = $(this).find("input[name = 'name']").val(); + var itemThumb = $(this).find("input[name = 'itemThumb']").val(); + + data.sourceId = sourceId; + data.name = videoItemName; + data.thumb = itemThumb; + itemData.push(data); + }); + + if (!data.field.thumb) { + febs.alert.warn('未上传缩略图'); + return; + } + + var field = {}; + field.items = itemData; + field.title = data.field.title; + field.cateIds = cateIds.join(","); + field.thumb = data.field.thumb; + field.isFree = data.field.isFree; + field.intro = data.field.intro; + console.log(field); + + $.ajax({ + url : ctx + 'video/video/add', + type : "post", + dataType : "json", + contentType : "application/json", + data : JSON.stringify(field), + success : function(res) { + console.log(res) + if (res.code != 200) { + febs.alert.warn(res.message); + return; + } + febs.alert.success('新增成功'); + $('#febs-video').find('#query').click(); + layer.closeAll(); + }, + error : function(err) { + layer.msg("请求错误"); + } + }) return false; }); + + function deleteBind() { + $(".item-delete").each(function(index, element) { + $(this).on("click", function() { + var $tr = $(this).parents("tr"); + var id = $tr.find("input[name='sourceId']").val(); + for (var i = 0; i < itemData.length; i++) { + if (itemData[i].id == id) { + itemData.splice(i, 1); + break; + } + } + + $tr.remove(); + }); + }) + } + + function deleteUnBind() { + $(".item-delete").each(function(index, element) { + $(this).unbind('click'); + }) + } }); </script> \ No newline at end of file -- Gitblit v1.9.1