navigation_form.html 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148
  1. <div class="layui-fluid">
  2. <div class="layui-row layui-col-space15">
  3. <div class="layui-col-md12">
  4. <div class="layui-card">
  5. <div class="layui-card-header">页面导航</div>
  6. <div class="layui-card-body" pad15>
  7. <div class="layui-form layui-form-pane">
  8. <input type="hidden" name="id" value="{$info.id}">
  9. <div class="layui-form-item">
  10. <label class="layui-form-label"><span style="color:#f90c05;">*</span>位置</label>
  11. <div class="layui-input-block">
  12. <select name="tab">
  13. {volist name="tab_list" id="v"}
  14. <option value="{$key}" {$info.tab==$key ?'selected' : '' }>{$v}</option>
  15. {/volist}
  16. </select>
  17. </div>
  18. </div>
  19. <div class="layui-form-item">
  20. <label class="layui-form-label"><span style="color:#f90c05;">*</span>标题</label>
  21. <div class="layui-input-block">
  22. <input type="text" name="title" value="{$info.title}" lay-verify="required"
  23. placeholder="请输入标题"
  24. autocomplete="off" class="layui-input">
  25. </div>
  26. </div>
  27. <div class="layui-form-item">
  28. <label class="layui-form-label"><span style="color:#f90c05;">*</span>标图</label>
  29. <div class="layui-input-block">
  30. <div class="layui-upload">
  31. <button type="button" class="layui-btn attachment-upload-images" data-input="image"
  32. data-amount="1">上传图片
  33. </button>
  34. <div class="layui-inline layui-word-aux"> 最佳尺寸:240px*240px</div>
  35. <div class="layui-upload-list echo-attachment-image-list" id="image">
  36. {notempty name="info.image"}
  37. <div>
  38. <input type="hidden" name="image" value="{$info.image}">
  39. <img src="{$info.image}">
  40. </div>
  41. {/notempty}
  42. </div>
  43. </div>
  44. </div>
  45. </div>
  46. <div class="layui-form-item">
  47. <label class="layui-form-label">跳转链接</label>
  48. <div class="layui-input-block">
  49. <input type="text" name="url" value="{$info.url}"
  50. placeholder="请输入跳转链接"
  51. autocomplete="off" class="layui-input">
  52. </div>
  53. </div>
  54. <div class="layui-form-item">
  55. <label class="layui-form-label"><span style="color:#f90c05;">*</span>状态</label>
  56. <div class="layui-input-block">
  57. {volist name="status_list" id="v"}
  58. <input type="radio" name="status" value="{$key}" title="{$v}" {eq name="info.status|default=1" value="$key" }checked{/eq}>
  59. {/volist}
  60. </div>
  61. </div>
  62. <div class="layui-form-item">
  63. <label class="layui-form-label"><span style="color:#f90c05;">*</span>排序</label>
  64. <div class="layui-input-block">
  65. <input type="text" name="priority" value="{$info.priority|default=255}"
  66. lay-verify="required" placeholder="请输入排序值(倒序,值越大越靠前)"
  67. autocomplete="off" class="layui-input">
  68. <div class="layui-form-mid layui-word-aux">倒序,值越大越靠前</div>
  69. </div>
  70. </div>
  71. <div class="layui-form-item">
  72. <div class="layui-input-block">
  73. <input type="button" lay-submit lay-filter="{$lay_btn}" value="确认提交" class="layui-btn">
  74. </div>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. </div>
  80. </div>
  81. </div>
  82. <script>
  83. layui.use(['index', 'form', 'upload'], function () {
  84. const $ = layui.$;
  85. const admin = layui.admin;
  86. const form = layui.form;
  87. const upload = layui.upload;
  88. form.render();
  89. form.on('submit({$lay_btn})', function (obj) {
  90. var index = parent.layer.getFrameIndex(window.name);
  91. admin.req({
  92. url: "{:url('navigation/editNavigation')}",
  93. type: 'post',
  94. data: obj.field,
  95. done: function (res) {
  96. layer.msg("提交成功", {icon: 1});
  97. parent.layui.table.reload('lay-navigation-index-table'); //重载表格
  98. parent.layer.close(index);
  99. }
  100. });
  101. });
  102. $('.echo-attachment-image-list').on('click', '.attachmentdel', function () {
  103. $(this).parent().remove();
  104. });
  105. let upload_input = '';
  106. let upload_amount = '';
  107. upload.render({
  108. elem: '.attachment-upload-images',
  109. url: "{:url('upload/image')}",
  110. accept: 'images',
  111. exits: 'jpg|png|jpeg',
  112. acceptMime: 'image/*',
  113. size: 2048,
  114. number: 1,
  115. method: 'post',
  116. before: function (obj) {
  117. const item = this.item;
  118. upload_input = $(item).data('input');
  119. upload_amount = $(item).data('amount');
  120. layer.load();
  121. },
  122. done: function (res, index, upload) {
  123. layer.closeAll('loading');
  124. let html = "";
  125. if (upload_amount == 1) {
  126. html += '<div> <input type="hidden" name="' + upload_input + '" value="' + res.data.src + '"> ';
  127. html += '<img src="' + res.data.src + '"></div>';
  128. $("#" + upload_input).html(html);
  129. } else {
  130. html += '<div> <input type="hidden" name="' + upload_input + '[]" value="' + res.data.src + '"> ';
  131. html += '<img src="' + res.data.src +
  132. '"> <button type="button" class="attachmentdel layui-btn layui-btn-primary layui-btn-xs layui-btn-fluid">删除</button></div>';
  133. $("#" + upload_input).append(html);
  134. }
  135. },
  136. error: function (index, upload) {
  137. layer.closeAll('loading');
  138. }
  139. });
  140. });
  141. </script>