|  |  | 
 |  |  |             <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> | 
 |  |  | 
 |  |  |                     <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> | 
 |  |  | 
 |  |  |                 <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> | 
 |  |  | 
 |  |  |     {{#  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> | 
 |  |  |     {{#  }); }} | 
 |  |  | 
 |  |  |         form.verify(validate); | 
 |  |  |         form.render(); | 
 |  |  |  | 
 |  |  |         // 已添加的item数据 | 
 |  |  |         var itemData = []; | 
 |  |  |         var videoCate = xmSelect.render({ | 
 |  |  |             el: '#video-cate', | 
 |  |  | 
 |  |  |         }) | 
 |  |  |  | 
 |  |  |         $("#addItem").on('click', function() { | 
 |  |  |  | 
 |  |  |  | 
 |  |  |             febs.modal.open('选择视频资源', 'video/source/select/list', { | 
 |  |  |                 area: $(window).width() <= 750 ? '90%' : '50%', | 
 |  |  |                 offset: '30px', | 
 |  |  | 
 |  |  |                 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; | 
 |  |  | 
 |  |  |                         } | 
 |  |  |  | 
 |  |  |                     } 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 () { | 
 |  |  | 
 |  |  |             }); | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         var uploadInst = upload.render({ | 
 |  |  |         upload.render({ | 
 |  |  |             elem: '#thumbUpload' | 
 |  |  |             ,url: 'common/upload' | 
 |  |  |             ,before: function(obj){ | 
 |  |  | 
 |  |  |                     return layer.msg('上传失败'); | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 $('#thumb').next().val(res.data[0]) | 
 |  |  |                 layer.msg('上传成功', {icon: 1}); | 
 |  |  |             } | 
 |  |  |             ,error: function(){ | 
 |  |  | 
 |  |  |         }); | 
 |  |  |  | 
 |  |  |         // 表格中的图片上传 | 
 |  |  |         function bindUpload() { | 
 |  |  |         function bindUpload(id) { | 
 |  |  |             upload.render({ | 
 |  |  |                 elem: '.upload' | 
 |  |  |                 elem: '.upload' + id | 
 |  |  |                 ,url: ctx + 'common/upload' //改成您自己的上传接口 | 
 |  |  |                 // ,accept: 'file' | 
 |  |  |                 ,before: function(obj){ | 
 |  |  | 
 |  |  |             }); | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         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> |