form.html 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274
  1. <link rel="stylesheet" href="/static/plugs/layui/css/layui.css" media="all">
  2. <script src="/static/plugs/layui/layui.all.js" charset="utf-8"></script>
  3. <div class="think-box-shadow">
  4. <form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
  5. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  6. <legend>视频编辑</legend>
  7. </fieldset>
  8. <div class="layui-card-body layui-tab-content">
  9. <div class="layui-form-item">
  10. <label class="layui-form-label label-required">系列</label>
  11. <div class="layui-input-block">
  12. <input name="video_id" type="hidden" value='{$video_info.id|default=""}' class="layui-input">
  13. <input readonly maxlength="20" value='{$video_info.title|default=""}' 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-block">
  19. <input name="title" value='{$vo.title|default=""}' class="layui-input">
  20. </div>
  21. </div>
  22. <div class="layui-form-item">
  23. <label class="layui-form-label label-required">简介</label>
  24. <div class="layui-input-block">
  25. <textarea placeholder="请输入简介" maxlength="100" class="layui-textarea" name="desc">{$vo.desc|default=''}</textarea>
  26. </div>
  27. </div>
  28. <div class="layui-form-item">
  29. <label class="layui-form-label label-required">标签</label>
  30. <div class="layui-input-block">
  31. <textarea placeholder="请输入标签" maxlength="100" class="layui-textarea" name="label">{$vo.label|default=''}</textarea>
  32. <span >多个用逗号隔开(半角)</span>
  33. </div>
  34. </div>
  35. <div class="layui-form-item">
  36. <label class="layui-form-label label-required">关联文章</label>
  37. <div class="layui-input-inline">
  38. <select name="article_id" lay-filter ="article_id">
  39. <option value="0">请选择</option>
  40. {foreach $article_list as $vk=>$vv}
  41. <option {if isset($vo.article_id) && $vo.article_id == $vv['id'] }selected{/if} data-vl_key="{$vk}" value="{$vv['id']}">{$vv['title']}</option>
  42. {/foreach}
  43. </select>
  44. </div>
  45. <div class="layui-input-inline">
  46. <select name="article_item" lay-filter ="article_item">
  47. <option value="0">请选择</option>
  48. {foreach $article_list as $vk=>$vv}
  49. {if isset($vo.article_id) && $vo.article_id == $vv['id'] }
  50. {foreach $vv['item_children'] as $cln}
  51. <option {if isset($vo.article_item) && $vo.article_item == $cln['id']} selected {/if} value="{$cln['id']}">{$cln['title']}</option>
  52. {/foreach}
  53. {/if}
  54. {/foreach}
  55. </select>
  56. </div>
  57. </div>
  58. <div class="layui-form-item" style="display: none">
  59. <label class="layui-form-label ">关联资料</label>
  60. <div class="layui-input-inline">
  61. <select name="datum_id" lay-filter ="datum_id">
  62. <option value="0">请选择</option>
  63. {foreach $datum_list as $dk=>$dv}
  64. <option {if isset($vo.datum_id) && $vo.datum_id == $dv['id'] }selected{/if} data-dl_key="{$dk}" value="{$dv['id']}">{$dv['title']}</option>
  65. {/foreach}
  66. </select>
  67. </div>
  68. <div class="layui-input-inline">
  69. <select name="datum_item" lay-filter ="datum_item">
  70. <option value="0">请选择</option>
  71. {foreach $datum_list as $vk=>$vv}
  72. {if isset($vo.datum_id) && $vo.datum_id == $vv['id'] }
  73. {foreach $vv['url_arr'] as $cln}
  74. <option {if isset($vo.datum_item) && $vo.datum_item == $cln['id']} selected {/if} value="{$cln['id']}">{$cln['title']}</option>
  75. {/foreach}
  76. {/if}
  77. {/foreach}
  78. </select>
  79. </div>
  80. </div>
  81. <div class="layui-form-item">
  82. <label class="layui-form-label ">会员账号</label>
  83. <div class="layui-input-block">
  84. <input name="phone" value='{$vo.phone|default=""}' placeholder="请输入会员会员账号" class="layui-input">
  85. </div>
  86. </div>
  87. <div class="layui-form-item">
  88. <label class="layui-form-label ">播放量</label>
  89. <div class="layui-input-block">
  90. <input name="read_num" value='{$vo.read_num|default=""}' placeholder="请输入播放量" class="layui-input">
  91. </div>
  92. </div>
  93. <div class="layui-form-item">
  94. <label class="layui-form-label label-required">PPT</label>
  95. <label class="layui-col-xs10 relative">
  96. <label class="layui-col-xs9 think-form-group-left">
  97. <input name="ppt" value='{$vo.ppt|default=""}' readonly placeholder="请上传" class="layui-input">
  98. </label>
  99. <button type="button" class="layui-btn" id="test3"><i class="layui-icon"></i>上传PPT</button>
  100. </label>
  101. </div>
  102. <div class="layui-form-item">
  103. <label class="layui-form-label label-required">视频封面</label>
  104. <div class="layui-input-block">
  105. <input class="cover" name="cover" type="hidden" class="layui-input" value="{$vo.cover|default=''}">
  106. </div>
  107. </div>
  108. <div class="layui-form-item" style="display: none">
  109. <label class="layui-form-label label-required">上传类型</label>
  110. <div class="layui-input-inline">
  111. <select name="up_type" lay-filter ="up_type">
  112. {foreach [2=>'路径'] as $ck=>$cv}
  113. {if !empty($vo.up_type) && $vo.up_type == $ck }
  114. <option selected data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  115. {else}
  116. <option data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  117. {/if}
  118. {/foreach}
  119. </select>
  120. </div>
  121. </div>
  122. <!--
  123. <div class="layui-form-item up_video">
  124. <label class="layui-form-label label-required">视频上传</label>
  125. <div class="layui-input-block">
  126. <input class="up_url layui-input" name="up_url" type="hidden" value="{$vo.url|default=''}">
  127. </div>
  128. </div>-->
  129. <!-- <div class="layui-form-item path" >
  130. <label class="layui-form-label label-required">视频路径</label>
  131. <div class="layui-input-block">
  132. <input name="path" class="layui-input" value="{$vo.url|default=''}" />
  133. </div>
  134. </div>-->
  135. <div class="layui-form-item" >
  136. <label class="layui-form-label label-required">云点播ID</label>
  137. <div class="layui-input-block">
  138. <input name="ali_vid" class="layui-input" value="{$vo.ali_vid|default=''}" />
  139. </div>
  140. </div>
  141. <div class="layui-form-item">
  142. <label class="layui-form-label label-required">是否VIP</label>
  143. <div class="layui-input-block">
  144. <select class="layui-select" name="is_vip">
  145. <option value="0">否</option>
  146. <option {if !empty($vo.is_vip) && $vo.is_vip == 1 }selected{/if} value="1">是</option>
  147. </select>
  148. </div>
  149. </div>
  150. <div class="layui-form-item">
  151. <label class="layui-form-label label-required">排序</label>
  152. <div class="layui-input-block">
  153. <input name="sort" maxlength="20" value='{$vo.sort|default=""}' class="layui-input">
  154. </div>
  155. </div>
  156. {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
  157. <div class="layui-form-item text-center">
  158. <button class="layui-btn" type='submit'>保 存</button>
  159. <button class="layui-btn layui-btn-danger" type='button' onclick="history.go(-1)" data-close>返回</button>
  160. </div>
  161. </div>
  162. </form>
  163. <script src="/static/plugs/layui/layui.all.js" charset="utf-8"></script>
  164. <script>
  165. window.form.render();
  166. $('[name="cover"]').uploadOneImage()
  167. $('[name="up_url"]').uploadOneVideo()
  168. $(document).on("click",'.video_player',function () {
  169. vUrl = $(".item_url").val(); //获取到播放的url
  170. var loadstr = '<video width="100%" height="100%" controls="controls" autobuffer="autobuffer" autoplay="autoplay" loop="loop">' +
  171. '<source src='+vUrl+' type="video/mp4"></source></video>';
  172. layer.open({
  173. type: 1,
  174. title: false,
  175. area: ['730px', '500px'],
  176. shade: [0.8, 'rgb(14, 16, 22)'],
  177. skin: 'demo-class',
  178. content: loadstr
  179. });
  180. form.render();
  181. });
  182. // 文章监听
  183. form.on('select(article_id)', function(data){
  184. var cl_html = '<option value="0">请选择</option>';
  185. if(data.value == 0) {
  186. $("select[name='article_item']").html(cl_html);
  187. }else{
  188. var vl_key = data.elem[data.elem.selectedIndex].dataset.vl_key;
  189. var article_list = {:json_encode($article_list)};
  190. $.each(article_list[vl_key]['item_children'],function (ck,cv) {
  191. cl_html +='<option value="'+cv.id+'">'+cv.title+'</option>';
  192. })
  193. $("select[name='article_item']").html(cl_html);
  194. }
  195. window.form.render();
  196. });
  197. // 关联资料监听
  198. form.on('select(datum_id)', function(data){
  199. var cl_html = '<option value="0">请选择</option>';
  200. if(data.value == 0) {
  201. $("select[name='datum_item']").html(cl_html);
  202. }else{
  203. var dl_key = data.elem[data.elem.selectedIndex].dataset.dl_key;
  204. var datum_list = {:json_encode($datum_list)};
  205. $.each(datum_list[dl_key]['url_arr'],function (ck,cv) {
  206. cl_html +='<option value="'+cv.id+'">'+cv.title+'</option>';
  207. })
  208. $("select[name='datum_item']").html(cl_html);
  209. }
  210. window.form.render();
  211. });
  212. form.on('select(up_type)', function(data){
  213. check_type()
  214. window.form.render();
  215. })
  216. function check_type() {
  217. if( $("select[name='up_type']").val() == 1) {
  218. $(".up_video").show();
  219. $(".path").hide();
  220. }else{
  221. $(".up_video").hide();
  222. $(".path").show();
  223. }
  224. window.form.render();
  225. }
  226. check_type()
  227. layui.use(['upload', 'element', 'layer'], function(){
  228. var $ = layui.jquery
  229. ,upload = layui.upload
  230. ,element = layui.element
  231. ,layer = layui.layer;
  232. upload.render({
  233. elem: '#test3',
  234. url: '/api/upload/pdfUpload', //此处用的是第三方的 http 请求演示,实际使用时改成您自己的上传接口即可。,accept: 'file', //普通文件,
  235. accept: 'file', //普通文件,
  236. done: function(res){
  237. if(res.code == 1){
  238. $("input[name='datum_url']").val(res.data);
  239. }
  240. layer.msg(res.msg);
  241. }
  242. });
  243. });
  244. </script>
  245. </div>