form.html 7.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161
  1. <div class="think-box-shadow">
  2. <form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
  3. <div class="layui-card-body">
  4. <div class="layui-form-item">
  5. <label class="layui-form-label label-required">标题</label>
  6. <div class="layui-input-block">
  7. <input name="title" maxlength="20" value='{$vo.title|default=""}' placeholder="请输入标题" class="layui-input">
  8. </div>
  9. </div>
  10. <div class="layui-form-item">
  11. <label class="layui-form-label label-required">简介</label>
  12. <div class="layui-input-block">
  13. <input name="desc" maxlength="100" value='{$vo.desc|default=""}' placeholder="请输入简介" class="layui-input">
  14. </div>
  15. </div>
  16. <div class="layui-form-item">
  17. <label class="layui-form-label label-required">分类</label>
  18. <div class="layui-input-inline">
  19. <select name="first_classify" lay-filter ="first_classify">
  20. <option value="0">请选择</option>
  21. {if !empty($cate_tree)}
  22. {foreach $cate_tree as $ck=>$cv}
  23. {if isset($vo.first_classify) && $vo.first_classify == $cv['id'] }
  24. <option selected data-cl_key="{$ck}" value="{$cv['id']}">{$cv['title']}</option>
  25. {else}
  26. <option data-cl_key="{$ck}" value="{$cv['id']}">{$cv['title']}</option>
  27. {/if}
  28. {/foreach}
  29. {/if}
  30. </select>
  31. </div>
  32. <div class="layui-input-inline">
  33. <select name="second_classify" lay-filter ="second_classify">
  34. <option value="0">请选择</option>
  35. {if !empty($cate_tree)}
  36. {foreach $cate_tree as $ck=>$cv}
  37. {if isset($vo.first_classify) && $vo.first_classify == $cv['id'] }
  38. {if isset($cv['children'])}
  39. {foreach $cv['children'] as $cln}
  40. {if isset($vo.second_classify) && $vo.second_classify == $cln['id'] }
  41. <option selected value="{$cln['id']}">{$cln['title']}</option>
  42. {else}
  43. <option value="{$cln['id']}">{$cln['title']}</option>
  44. {/if}
  45. {/foreach}
  46. {/if}
  47. {/if}
  48. {/foreach}
  49. {/if}
  50. </select>
  51. </div>
  52. </div>
  53. <div class="layui-form-item">
  54. <label class="layui-form-label label-required">标签</label>
  55. <div class="layui-input-block">
  56. <input name="label" maxlength="100" value='{$vo.label|default=""}' placeholder="请输入标签" class="layui-input">
  57. </div>
  58. </div>
  59. <input type="hidden" name="type" value="{$type}">
  60. <div class="layui-form-item">
  61. <label class="layui-form-label label-required">视频</label>
  62. <div class="layui-input-block">
  63. <input class="item_url" name="url" type="hidden" value="{$video_url.url|default=''}">
  64. <a style="margin-left: 20px;" class="layui-btn layui-btn-sm video_player">预 览</a>
  65. </div>
  66. </div>
  67. <div class="layui-form-item">
  68. <label class="layui-form-label label-required">是否VIP</label>
  69. <div class="layui-input-inline">
  70. <select class="layui-select" name="is_vip" lay-filter ="is_vip">
  71. {foreach ['否','是'] as $ck=>$cv}
  72. {if !empty($video_url.is_vip) && $video_url.is_vip == $ck }
  73. <option selected data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  74. {else}
  75. <option data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  76. {/if}
  77. {/foreach}
  78. </select>
  79. </div>
  80. </div>
  81. <div class="layui-form-item">
  82. <label class="layui-form-label label-required">是否置顶</label>
  83. <div class="layui-input-inline">
  84. <select name="is_top" lay-filter ="is_top">
  85. {foreach ['不置顶','置顶'] as $ck=>$cv}
  86. {if !empty($vo.is_top) && $vo.is_top == $ck }
  87. <option selected data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  88. {else}
  89. <option data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  90. {/if}
  91. {/foreach}
  92. </select>
  93. </div>
  94. </div>
  95. <div class="layui-form-item">
  96. <label class="layui-form-label label-required">排序</label>
  97. <div class="layui-input-block">
  98. <input type="number" name="sort" value='{$vo.sort|default=""}' placeholder="请输入排序号" class="layui-input">
  99. </div>
  100. </div>
  101. {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
  102. <div class="layui-form-item text-center">
  103. <button class="layui-btn" type='submit'>保 存</button>
  104. <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定取消编辑吗?" data-close>取消编辑</button>
  105. </div>
  106. </div>
  107. </form>
  108. <script>
  109. window.form.render();
  110. require(['ckeditor', 'angular'], function () {
  111. window.createEditor('[name="detail"]', {height: 500,width:1000});
  112. })
  113. $('[name="url"]').uploadOneVideo()
  114. // 分类选择监听
  115. form.on('select(first_classify)', function(data){
  116. var cl_html = '<option value="0">请选择</option>';
  117. if(data.value == 0) {
  118. $("select[name='second_classify']").html(cl_html);
  119. }else{
  120. var cl_key = data.elem[data.elem.selectedIndex].dataset.cl_key;
  121. var goods_spec = {:json_encode($cate_tree)};
  122. $.each(goods_spec[cl_key]['children'],function (ck,cv) {
  123. cl_html +='<option value="'+cv.id+'">'+cv.title+'</option>';
  124. })
  125. $("select[name='second_classify']").html(cl_html);
  126. }
  127. window.form.render();
  128. })
  129. $(document).on("click",'.video_player',function () {
  130. vUrl = $(".item_url").val(); //获取到播放的url
  131. var loadstr = '<video width="100%" height="100%" controls="controls" autobuffer="autobuffer" autoplay="autoplay" loop="loop">' +
  132. '<source src='+vUrl+' type="video/mp4"></source></video>';
  133. layer.open({
  134. type: 1,
  135. title: false,
  136. area: ['730px', '500px'],
  137. shade: [0.8, 'rgb(14, 16, 22)'],
  138. skin: 'demo-class',
  139. content: loadstr
  140. });
  141. form.render();
  142. });
  143. </script>
  144. </div>