截流自动化的商城平台
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

edit.html 11KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271
  1. {layout name="layout2" /}
  2. <style>
  3. .tips{
  4. color: red;
  5. }
  6. .link{
  7. display: none;
  8. }
  9. .size-tips-div{
  10. display: none;
  11. }
  12. .category{
  13. display: none;
  14. }
  15. .layui-form-label{
  16. width: 90px;
  17. }
  18. </style>
  19. <div class="layui-form" lay-filter="layuiadmin-form" id="layuiadmin-form" style="padding: 20px 30px 0 0;">
  20. <input type="hidden" name="id" value="{$detail.id}">
  21. <div class="layui-form-item">
  22. <label class="layui-form-label"><span class="tips">*</span>广告位标题:</label>
  23. <div class="layui-input-inline">
  24. <input type="text" name="title" value="{$detail.title}" lay-vertype="tips" autocomplete="off" class="layui-input">
  25. </div>
  26. </div>
  27. <div class="layui-form-item">
  28. <label class="layui-form-label" style="white-space:nowrap;"><span class="tips">*</span>广告位置:</label>
  29. <div class="layui-input-inline">
  30. <select name="pid" lay-filter="selectPid">
  31. <option value="" ></option>
  32. {foreach $position_list as $position }
  33. <option value="{$position.id}" data-width="{$position.width}" data-height="{$position.height}" {if condition="$detail.pid eq $position.id"} selected {/if} >{$position.name}</option>
  34. {/foreach}
  35. </select>
  36. </div>
  37. </div>
  38. <div class="layui-form-item category">
  39. <label class="layui-form-label" style="white-space:nowrap;"><span class="tips">*</span>商品分类:</label>
  40. <div class="layui-input-inline">
  41. <select name="category_id">
  42. <option value="">请选择分类</option>
  43. {foreach $category_list as $category }
  44. <option value="{$category.id}" {if condition="$detail.category_id eq $category.id"} selected {/if} >{$category.name}</option>
  45. {/foreach}
  46. </select>
  47. </div>
  48. </div>
  49. <div class="layui-form-item">
  50. <label class="layui-form-label" style="white-space:nowrap;"><span class="tips">*</span>广告图片:</label>
  51. <div class="layui-input-block">
  52. <div class="like-upload-image">
  53. {if $detail.image}
  54. <div class="upload-image-div">
  55. <img src="{$detail.image}" alt="img">
  56. <input type="hidden" name="image" value="{$detail.image}">
  57. <div class="del-upload-btn">x</div>
  58. </div>
  59. <div class="upload-image-elem" style="display:none;"><a class="add-upload-image"> + 添加图片</a></div>
  60. {else}
  61. <div class="upload-image-elem"><a class="add-upload-image"> + 添加图片</a></div>
  62. {/if}
  63. </div>
  64. </div>
  65. </div>
  66. <div class="layui-form-item size-tips-div">
  67. <label class="layui-form-label"></label>
  68. <span class="size-tips"></span>
  69. </div>
  70. <div class="layui-form-item">
  71. <label class="layui-form-label" style="white-space:nowrap;">广告链接:</label>
  72. <div class="layui-input-block">
  73. <input type="radio" name="link_type" title="商城页面" value="1" lay-filter="link" {if condition="$detail.link_type eq 1" }checked{/if}>
  74. <input type="radio" name="link_type" title="商品页面" value="2" lay-filter="link" {if condition="$detail.link_type eq 2" }checked{/if}>
  75. <input type="radio" name="link_type" title="自定义链接" value="3" lay-filter="link" {if condition="$detail.link_type eq 3" }checked{/if}>
  76. </div>
  77. </div>
  78. <div class="layui-form-item link page">
  79. <label class="layui-form-label">商城页面:</label>
  80. <div class="layui-input-inline">
  81. <select name="page" style="width: 300px">
  82. {foreach $link_page as $item => $val}
  83. <option value="{$item}" {if condition="$item eq $detail.link"} selected{/if}>{$val.name}</option>
  84. {/foreach}
  85. </select>
  86. </div>
  87. </div>
  88. <div class="layui-form-item link goods">
  89. <label class="layui-form-label">商品页面:</label>
  90. <div class="layui-input-inline">
  91. <a class="layui-btn layui-btn-normal select-goods" >选择商品</a>
  92. </div>
  93. </div>
  94. <div class="layui-form-item link goods-tips">
  95. <label class="layui-form-label"></label>
  96. <div class="layui-input-block ">
  97. <input type="hidden" name="goods_id" value="">
  98. <table id="goods_list" class="layui-table" lay-size="sm">
  99. <colgroup>
  100. <col width="40px">
  101. </colgroup>
  102. <thead>
  103. <tr style="background-color: #f3f5f9">
  104. <th style="width: 120px;text-align: center">商品信息</th>
  105. <th style="width: 60px;text-align: center">商品价格</th>
  106. </tr>
  107. </thead>
  108. <tbody>
  109. </tbody>
  110. </table>
  111. </div>
  112. </div>
  113. <div class="layui-form-item link url">
  114. <label class="layui-form-label">跳转链接:</label>
  115. <div class="layui-input-block">
  116. <div class="layui-col-sm4">
  117. <input type="text" name="url" value="" placeholder="请输入跳转链接" autocomplete="off" class="layui-input">
  118. </div>
  119. </div>
  120. </div>
  121. <div class="layui-form-item link url-tips">
  122. <label class="layui-form-label"></label>
  123. <span>请填写完整的自定义链接,http或者https开头的完整链接。</span>
  124. </div>
  125. <div class="layui-form-item">
  126. <label class="layui-form-label">排序:</label>
  127. <div class="layui-input-inline">
  128. <input type="number" name="sort" value="{$detail.sort}" class="layui-input">
  129. </div>
  130. </div>
  131. <div class="layui-form-item">
  132. <label class="layui-form-label"></label>
  133. <span style="color: #a3a3a3;font-size: 9px">排序值必须为整数;数值越小,越靠前</span>
  134. </div>
  135. <div class="layui-form-item">
  136. <label class="layui-form-label" style="white-space:nowrap;">广告位状态:</label>
  137. <div class="layui-input-inline">
  138. <input type="radio" name="status" value=0 title="停用" {if $detail.status == 0 }checked{/if}>
  139. <input type="radio" name="status" value=1 title="启用" {if $detail.status == 1 }checked{/if}>
  140. </div>
  141. </div>
  142. <div class="layui-form-item layui-hide">
  143. <input type="button" lay-submit lay-filter="editSubmit" id="editSubmit" value="确认">
  144. </div>
  145. </div>
  146. <script>
  147. layui.use(["table", "laydate","form", "jquery"], function(){
  148. var $ = layui.jquery;
  149. var table = layui.table;
  150. var element = layui.element;
  151. var form = layui.form;
  152. var link_type = {$detail.link_type};
  153. var link = "{$detail.link}";
  154. var goods_info = {:json_encode($detail.goods)};
  155. var pid = {$detail.pid}; //广告位id
  156. if(3 == pid || 4 == pid){
  157. $('.category').show();
  158. }else{
  159. $('.category').hide();
  160. }
  161. form.render();
  162. switch (link_type) {
  163. case 1:
  164. $('.page').show();
  165. $("input[name=page][value="+link+"]").prop("checked",true);
  166. form.render();
  167. break;
  168. case 2:
  169. $('.goods').show();
  170. $('.goods-tips').show();
  171. var goods_html = '<tr>\n' +
  172. ' <td style="text-align: center"><img class="image-show" width="80px" height="80px" src="'+goods_info.image +'">'+goods_info.name+'</td>\n' +
  173. ' <td style="text-align: center">'+goods_info.price+'</td>\n' +
  174. ' </tr>';
  175. $('#goods_list').prev().val(goods_info.id);
  176. $('#goods_list').append(goods_html);
  177. break;
  178. case 3:
  179. $('.url').show();
  180. $('.url-tips').show();
  181. $("input[name=url]").val(link);
  182. form.render();
  183. break;
  184. }
  185. // 监听 广告位置选择
  186. form.on('select(selectPid)', function(data){
  187. var id = data.value;
  188. var elem = $(data.elem).find("option:selected");
  189. if(id){
  190. renderSize(elem);
  191. }else{
  192. $('.size-tips-div').hide();
  193. }
  194. if(3 == id || 4 == id){
  195. $('.category').show();
  196. }else{
  197. $('.category').hide();
  198. }
  199. });
  200. form.on('radio(link)', function (data) {
  201. var value = data.value;
  202. $('.link').hide();
  203. switch (value) {
  204. case '1':
  205. $('.page').show();
  206. break;
  207. case '2':
  208. $('.goods').show();
  209. $('.goods-tips').show();
  210. break;
  211. case '3':
  212. $('.url').show();
  213. $('.url-tips').show();
  214. break;
  215. }
  216. })
  217. $(document).on('click','.select-goods',function () {
  218. layer.open({
  219. type: 2
  220. ,title: '选择商品'
  221. ,content: '{:url("common.goods/selectGoods")}'
  222. ,area: ['90%', '90%']
  223. ,btn: ['确认', '取消']
  224. ,yes: function(index, layero){
  225. var data = window["layui-layer-iframe" + index].callbackdata();
  226. if(data.length){
  227. $('#goods_list tbody').remove();
  228. var goods = data[0];
  229. var goods_html = '<tr>\n' +
  230. ' <td style="text-align: center"><img class="image-show" width="80px" height="80px" src="'+goods.image +'">'+goods.name+'</td>\n' +
  231. ' <td style="text-align: center">'+goods.price+'</td>\n' +
  232. ' </tr>';
  233. $('#goods_list').prev().val(goods.id);
  234. $('#goods_list').append(goods_html);
  235. $('.goods').show();
  236. }
  237. }
  238. })
  239. })
  240. function renderSize(elem) {
  241. var width = elem.attr('data-width') ? elem.attr('data-width'): 0;
  242. var height = elem.attr('data-height') ? elem.attr('data-height') : 0;
  243. if(width || height){
  244. $('.size-tips-div').show();
  245. var html = '建议上传广告图片宽*高, '+width+'px*'+height+'px';
  246. $('.size-tips').text(html);
  247. }
  248. }
  249. like.delUpload();
  250. $(document).on("click", ".add-upload-image", function () {
  251. like.imageUpload({
  252. limit: 1,
  253. field: "image",
  254. that: $(this)
  255. });
  256. })
  257. })
  258. </script>