form.html 10 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248
  1. <link rel="stylesheet" href="/static/plugs/layui/css/layui.css" media="all">
  2. <style>
  3. .layui-form-item {
  4. width: 80%;
  5. height: 90%;
  6. }
  7. </style>
  8. <div class="think-box-shadow" style="height: 100%">
  9. <form class="layui-form layui-card" id="subForm" action="{:request()->url()}" data-auto="true" method="post" autocomplete="off">
  10. <fieldset class="layui-elem-field layui-field-title" style="margin-top: 30px;">
  11. <legend>编辑直播</legend>
  12. </fieldset>
  13. <div class="layui-tab">
  14. <ul class="layui-tab-title">
  15. <li class="layui-this">基础设置</li>
  16. </ul>
  17. <div class="layui-tab-content">
  18. <!-- 基础设置-->
  19. <div class="layui-tab-item layui-show">
  20. <div class="layui-form-item">
  21. <label class="layui-form-label label-required">直播标题</label>
  22. <div class="layui-input-block">
  23. <input name="name" lay-verify="required" maxlength="50" value='{$vo.name|default=""}' placeholder="请输入商品名称" class="layui-input">
  24. </div>
  25. </div>
  26. <div class="layui-form-item">
  27. <label class="layui-form-label label-required">直播简介</label>
  28. <div class="layui-input-block">
  29. <input name="desc" maxlength="50" value='{$vo.desc|default=""}' placeholder="请输入商品简介" class="layui-input">
  30. </div>
  31. </div>
  32. <div class="layui-form-item">
  33. <label class="layui-form-label label-required">直播封面</label>
  34. <div class="layui-input-block">
  35. <input name="cover" type="hidden" value="{$vo.cover|default=''}">
  36. </div>
  37. </div>
  38. <div class="layui-form-item">
  39. <label class="layui-form-label label-required">开始时间</label>
  40. <div class="layui-input-block">
  41. <input name="start_at" type="text" class="layui-input" id="start_at" value="{$vo.start_at|default=''}">
  42. </div>
  43. </div>
  44. <div class="layui-form-item">
  45. <label class="layui-form-label label-required">结束时间</label>
  46. <div class="layui-input-block">
  47. <input name="end_at" type="text" class="layui-input" id="end_at" value="{$vo.end_at|default=''}">
  48. </div>
  49. </div>
  50. <div class="layui-form-item">
  51. <label class="layui-form-label label-required">直播详情</label>
  52. <div class="layui-input-block">
  53. <table class="layui-table margin-top-10" lay-skin="line">
  54. <thead>
  55. <tr>
  56. <th class='text-left nowrap'>开始时间</th>
  57. <th class='text-left nowrap'>结束时间</th>
  58. <th class='text-left nowrap'>商品</th>
  59. <th class='text-left nowrap'>操作</th>
  60. </tr>
  61. </thead>
  62. <tbody class="no_html">
  63. {foreach $vo['detail'] as $dk=>$dv}
  64. <tr class="no_detail change_del" data-dh ="">
  65. <td class='text-left nowrap'>
  66. <input class='layui-input gl_st st_at{$dk}' id="st_at{$dk}" name='gl_st[]' value='{$dv.gl_st}'/>
  67. </td>
  68. <td class='text-left nowrap'>
  69. <input class='layui-input gl_st en_at{$dk}' id="en_at{$dk}" name='gl_end[]' value='{$dv.gl_end}'/>
  70. </td>
  71. <td class='text-left nowrap'>
  72. <select name=goods_id[]>
  73. {foreach $all_goods as $gv}
  74. {if $gv.id == $dv.goods_id}
  75. <option selected value="{$gv.id}">{$gv.name}</option>
  76. {else}
  77. <option value="{$gv.id}">{$gv.name}</option>
  78. {/if}
  79. {/foreach}
  80. </select>
  81. </td>
  82. <td class='text-left nowrap'>
  83. <a class="layui-btn layui-btn-sm layui-btn-danger del_no">删 除</a>
  84. <a class="layui-btn layui-btn-sm layui-btn-sm add_goods_no">添 加</a>
  85. </td>
  86. </tr>
  87. {/foreach}
  88. </tbody>
  89. </table>
  90. </div>
  91. </div>
  92. {notempty name='vo.id'}<input type='hidden' value='{$vo.id}' name='id'>{/notempty}
  93. <div class="layui-form-item text-center">
  94. <span class="layui-btn" type='submit' id ="submit">保 存</span>
  95. </div>
  96. </div>
  97. </div>
  98. </div>
  99. </form>
  100. </div>
  101. <script src="/static/plugs/layui/layui.all.js" charset="utf-8"></script>
  102. <script>
  103. window.form.render();
  104. $('[name="cover"]').uploadOneImage();
  105. // 时间
  106. layui.use('laydate', function(){
  107. var laydate = layui.laydate;
  108. laydate.render({
  109. elem: '#start_at'
  110. ,type: 'datetime'
  111. });
  112. laydate.render({
  113. elem: '#end_at'
  114. ,type: 'datetime'
  115. });
  116. })
  117. layui.use('element', function(){
  118. var $ = layui.jquery
  119. ,element = layui.element;
  120. var active = {
  121. tabAdd: function(){
  122. element.tabAdd('demo', {
  123. title: '新选项'+ (Math.random()*1000|0)
  124. ,content: '内容'+ (Math.random()*1000|0)
  125. ,id: new Date().getTime()
  126. })
  127. }
  128. ,tabDelete: function(othis){
  129. element.tabDelete('demo', '44');
  130. othis.addClass('layui-btn-disabled');
  131. }
  132. ,tabChange: function(){
  133. element.tabChange('demo', '22');
  134. }
  135. };
  136. $('.site-demo-active').on('click', function(){
  137. var othis = $(this), type = othis.data('type');
  138. active[type] ? active[type].call(this, othis) : '';
  139. });
  140. //Hash地址的定位
  141. var layid = location.hash.replace(/^#test=/, '');
  142. element.tabChange('test', layid);
  143. element.on('tab(test)', function(elem){
  144. location.hash = 'test='+ $(this).attr('lay-id');
  145. });
  146. });
  147. // 添加详情
  148. $(document).on('click',".add_goods_no",function () {
  149. add_detail();
  150. })
  151. // 删除详情
  152. $(document).on('click',".del_no",function (){
  153. var index= $(".del_no").index(this);
  154. console.log(index);
  155. $(".no_detail").eq(index).remove();
  156. })
  157. // 商品选择
  158. var goods_json = {:json_encode($all_goods)};
  159. lay_date();
  160. function lay_date() {
  161. $.each($(".no_html .gl_st"),function (k,v) {
  162. var id = $(".no_html .gl_st").eq(k).attr('id');
  163. laydate.render({
  164. elem: '#'+id
  165. ,type: 'datetime'
  166. });
  167. })
  168. $.each($(".no_html .gl_end"),function (k,v) {
  169. var id = $(".no_html .gl_end").eq(k).attr('id');
  170. laydate.render({
  171. elem: '#'+id
  172. ,type: 'datetime'
  173. });
  174. })
  175. window.form.render();
  176. }
  177. function add_detail() {
  178. var no_html= get_ht();
  179. $(".no_html").append(no_html);
  180. $.each($(".no_html .gl_st"),function (k,v) {
  181. var id = $(".no_html .gl_st").eq(k).attr('id');
  182. laydate.render({
  183. elem: '#'+id
  184. ,type: 'datetime'
  185. });
  186. })
  187. $.each($(".no_html .gl_end"),function (k,v) {
  188. var id = $(".no_html .gl_end").eq(k).attr('id');
  189. laydate.render({
  190. elem: '#'+id
  191. ,type: 'datetime'
  192. });
  193. })
  194. window.form.render();
  195. }
  196. function get_ht() {
  197. var sel = '<select name=goods_id[]>'
  198. $.each(goods_json,function (gk,gv) {
  199. sel += '<option value="'+gv.id+'">'+gv.name+'</option>'
  200. })
  201. sel += '</select>'
  202. var st = $(".change_del").length;
  203. var no_html = '';
  204. no_html += ' <tr class="no_detail change_del" data-dh ="">';
  205. no_html += "<td class='text-left nowrap'> " +
  206. "<input class='layui-input gl_st st_at"+st+"' id='st_at"+st+"' name='gl_st[]' value=''/>" +
  207. "</td>";
  208. no_html += "<td class='text-left nowrap'> " +
  209. "<input class='layui-input gl_end en_at"+st+"' id='en_at"+st+"' name='gl_end[]' value=''/>" +
  210. "</td>";
  211. no_html += "<td class='text-left nowrap'> " +sel+ "</td>";
  212. no_html += "<td class='text-left nowrap'>" +
  213. "<a class=\"layui-btn layui-btn-sm layui-btn-danger del_no\">删 除</a>" +
  214. "<a class=\"layui-btn layui-btn-sm layui-btn-sm add_goods_no\">添 加</a>"+
  215. "</td>"
  216. no_html += "</tr>";
  217. return no_html;
  218. }
  219. /**
  220. * 表单验证
  221. */
  222. var is_click = 0;
  223. $(document).on('click','#submit',function () {
  224. if(is_click == 1) return;
  225. is_click = 1;
  226. $("#subForm").submit();
  227. })
  228. </script>