form.html 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199
  1. {extend name='admin@main'}
  2. <style>
  3. .layui-form-select{
  4. width: 200px;
  5. }
  6. select{
  7. width: 300px;
  8. }
  9. </style>
  10. {block name="content"}
  11. <div class="think-box-shadow">
  12. <form class="layui-form layui-card" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
  13. <div class="layui-card-body">
  14. <div class="layui-form-item">
  15. <label class="layui-form-label label-required">标题</label>
  16. <div class="layui-input-block">
  17. <input name="title" maxlength="20" value='{$vo.title|default=""}' placeholder="请输入标题" class="layui-input">
  18. </div>
  19. </div>
  20. <div class="layui-form-item">
  21. <label class="layui-form-label label-required">分类</label>
  22. <div class="layui-input-inline">
  23. <select name="first_classify" lay-filter ="first_classify">
  24. <option value="0">请选择</option>
  25. {if !empty($cate_tree)}
  26. {foreach $cate_tree as $ck=>$cv}
  27. {if isset($vo.first_classify) && $vo.first_classify == $cv['id'] }
  28. <option selected data-cl_key="{$ck}" value="{$cv['id']}">{$cv['title']}</option>
  29. {else}
  30. <option data-cl_key="{$ck}" value="{$cv['id']}">{$cv['title']}</option>
  31. {/if}
  32. {/foreach}
  33. {/if}
  34. </select>
  35. </div>
  36. <div class="layui-input-inline">
  37. <select name="second_classify" lay-filter ="second_classify">
  38. <option value="0">请选择</option>
  39. {if !empty($cate_tree)}
  40. {foreach $cate_tree as $ck=>$cv}
  41. {if isset($vo.first_classify) && $vo.first_classify == $cv['id'] }
  42. {if isset($cv['children'])}
  43. {foreach $cv['children'] as $cln}
  44. {if isset($vo.second_classify) && $vo.second_classify == $cln['id'] }
  45. <option selected value="{$cln['id']}">{$cln['title']}</option>
  46. {else}
  47. <option value="{$cln['id']}">{$cln['title']}</option>
  48. {/if}
  49. {/foreach}
  50. {/if}
  51. {/if}
  52. {/foreach}
  53. {/if}
  54. </select>
  55. </div>
  56. </div>
  57. <div class="layui-form-item">
  58. <label class="layui-form-label label-required">关联视频</label>
  59. <div class="layui-input-inline">
  60. <select name="video_id" lay-filter ="video_id">
  61. <option value="0">请选择</option>
  62. {foreach $video_list as $vk=>$vv}
  63. <option {if isset($vo.video_id) && $vo.video_id == $vv['id'] }selected{/if} data-vl_key="{$vk}" value="{$vv['id']}">{$vv['title']}</option>
  64. {/foreach}
  65. </select>
  66. </div>
  67. <div class="layui-input-inline">
  68. <select name="video_item" lay-filter ="video_item">
  69. <option value="0">请选择</option>
  70. {foreach $video_list as $vk=>$vv}
  71. {if isset($vo.video_id) && $vo.video_id == $vv['id'] }
  72. {foreach $cv['video_arr'] as $cln}
  73. <option {if isset($vo.video_item) && $vo.video_item == $cln['id']} selected {/if} value="{$cln['id']}">{$cln['title']}</option>
  74. {/foreach}
  75. {/if}
  76. {/foreach}
  77. </select>
  78. </div>
  79. </div>
  80. <div class="layui-form-item">
  81. <label class="layui-form-label label-required">是否VIP</label>
  82. <div class="layui-input-block">
  83. <select class="layui-select" name="is_vip">
  84. <option value="0">否</option>
  85. <option {if !empty($vo.is_vip) && $vo.is_vip == 1 }selected{/if} value="1">是</option>
  86. </select>
  87. </div>
  88. </div>
  89. <div class="layui-form-item">
  90. <label class="layui-form-label label-required">标签</label>
  91. <div class="layui-input-block">
  92. <input name="label" maxlength="20" value='{$vo.label|default=""}' placeholder="请输入标签" class="layui-input">
  93. </div>
  94. </div>
  95. <div class="layui-form-item">
  96. <label class="layui-form-label label-required">是否置顶</label>
  97. <div class="layui-input-inline">
  98. <select name="is_top" lay-filter ="is_top">
  99. {foreach ['不置顶','置顶'] as $ck=>$cv}
  100. {if !empty($vo.is_top) && $vo.is_top == $ck }
  101. <option selected data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  102. {else}
  103. <option data-cl_key="{$ck}" value="{$ck}">{$cv}</option>
  104. {/if}
  105. {/foreach}
  106. </select>
  107. </div>
  108. </div>
  109. <div class="layui-form-item">
  110. <label class="layui-form-label label-required">图片</label>
  111. <div class="layui-input-block">
  112. <table class="layui-table">
  113. <thead>
  114. <tr>
  115. <th class="text-left">展示图片</th>
  116. </tr>
  117. <tr>
  118. <td width="auto" class="text-left"><input name="images" type="hidden" value="{$vo.images|default=''}"></td>
  119. </tr>
  120. </thead>
  121. </table>
  122. </div>
  123. </div>
  124. <div class="layui-form-item content" >
  125. <label class="layui-form-label">描述</label>
  126. <div class="layui-input-block">
  127. <textarea name="content">{$vo.content|default=""}</textarea>
  128. </div>
  129. </div>
  130. {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
  131. <div class="layui-form-item text-center">
  132. <button class="layui-btn" type='submit'>保 存</button>
  133. <button class="layui-btn layui-btn-danger" type='button' data-confirm="确定取消编辑吗?" data-close>取消编辑</button>
  134. </div>
  135. </div>
  136. </form>
  137. <script>
  138. window.form.render();
  139. require(['ckeditor', 'angular'], function () {
  140. window.createEditor('[name="content"]', {height: 500,width:1000});
  141. })
  142. $('[name="images"]').uploadMultipleImage();
  143. // 分类选择监听
  144. form.on('select(first_classify)', function(data){
  145. var cl_html = '<option value="0">请选择</option>';
  146. if(data.value == 0) {
  147. $("select[name='second_classify']").html(cl_html);
  148. }else{
  149. var cl_key = data.elem[data.elem.selectedIndex].dataset.cl_key;
  150. var goods_spec = {:json_encode($cate_tree)};
  151. $.each(goods_spec[cl_key]['children'],function (ck,cv) {
  152. cl_html +='<option value="'+cv.id+'">'+cv.title+'</option>';
  153. })
  154. $("select[name='second_classify']").html(cl_html);
  155. }
  156. window.form.render();
  157. });
  158. // 关联视频监听
  159. form.on('select(video_id)', function(data){
  160. var cl_html = '<option value="0">请选择</option>';
  161. if(data.value == 0) {
  162. $("select[name='video_item']").html(cl_html);
  163. }else{
  164. var vl_key = data.elem[data.elem.selectedIndex].dataset.vl_key;
  165. var video_list = {:json_encode($video_list)};
  166. $.each(video_list[vl_key]['video_arr'],function (ck,cv) {
  167. cl_html +='<option value="'+cv.id+'">'+cv.title+'</option>';
  168. })
  169. $("select[name='video_item']").html(cl_html);
  170. }
  171. window.form.render();
  172. });
  173. </script>
  174. </div>
  175. {/block}