contents.html 8.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256
  1. {extend name="app/shop/view/base.html"/}
  2. {block name="resources"}
  3. <style>
  4. .single-filter-box{display: flex; justify-content: space-between}
  5. .item-right select {margin-right: 20px;width: 80px; height: 25px;}
  6. .layui-form-label{width: 205px}
  7. .layui-form-item{display: flex;justify-content: center;}
  8. .layui-form-label{width: auto;}
  9. .layui-input-inline textarea{border:1px solid rgba(135,135,135,.2);}
  10. .layui-input-block textarea{border:1px solid rgba(135,135,135,.2);}
  11. textarea{padding: 6px;box-sizing: border-box;height: 156px;}
  12. </style>
  13. {/block}
  14. {block name="main"}
  15. <div class="single-filter-box">
  16. <button class="layui-btn" onclick="addContent()">添加评价</button>
  17. </div>
  18. <table id="content_list" lay-filter="content_list"></table>
  19. <!-- 搜索 -->
  20. <!-- 创建评论库弹出层 -->
  21. <script type="text/html" id="create_content">
  22. <div class="goods-service">
  23. <div class="layui-form-item">
  24. <label class="layui-form-label">评价内容:</label>
  25. <div class="layui-input-inline">
  26. <textarea name="content" id="content" cols="30" rows="10" maxlength="150"></textarea>
  27. </div>
  28. </div>
  29. <div class="form-row mid">
  30. <input type="hidden" name="stock_id" value="{$stock_id}">
  31. <button class="layui-btn" lay-submit lay-filter="save">保存</button>
  32. <button class="layui-btn layui-btn-primary" onclick="closeAddStockLayer()">返回</button>
  33. </div>
  34. </div>
  35. </script>
  36. <!-- 操作 -->
  37. <script type="text/html" id="operation">
  38. <div class="table-btn">
  39. <a class="layui-btn" lay-event="rename">编辑</a>
  40. <a class="layui-btn" lay-event="delete">删除</a>
  41. </div>
  42. </script>
  43. {/block}
  44. {block name="script"}
  45. <script>
  46. var laytpl,save_flag = false;
  47. var layer;
  48. var form,table,element,syncClick = false,repeat_flag = false;
  49. layui.use(['form','layer','laytpl' ,'element'], function() {
  50. form = layui.form;
  51. laytpl = layui.laytpl;
  52. var layer = layui.layer;
  53. element = layui.element;
  54. /**
  55. * 搜索功能
  56. */
  57. form.on('submit(search)', function(data) {
  58. table.reload({
  59. page: {
  60. curr: 1
  61. },
  62. where: data.field
  63. });
  64. });
  65. table = new Table({
  66. elem: '#content_list',
  67. url: ns.url("virtualevaluation://shop/comment/getContents"),
  68. where: {
  69. 'stock_id': {$stock_id}
  70. },
  71. cols: [
  72. [{
  73. title: '评价内容',
  74. unresize: 'false',
  75. width: '35%',
  76. field: 'content'
  77. }, {
  78. title: '创建时间',
  79. unresize: 'false',
  80. width: '35%',
  81. templet: function(data) {
  82. return ns.time_to_date(data.create_time);
  83. }
  84. }, {
  85. title: '操作',
  86. toolbar: '#operation',
  87. unresize: 'false',
  88. align:'right'
  89. }]
  90. ]
  91. });
  92. table.tool(function(obj) {
  93. var data = obj.data;
  94. switch (obj.event) {
  95. case 'rename': //重命名
  96. rename(data.id)
  97. break;
  98. case 'delete': //删除
  99. deleteContent(data.id);
  100. break;
  101. }
  102. });
  103. /**
  104. * 保存添加评价库
  105. */
  106. form.on('submit(save)', function (data) {
  107. if (save_flag) return;
  108. save_flag = true;
  109. var stock_id = $("input[name='stock_id']").val();
  110. var content = $("#content").val();
  111. if(stock_id ==''){
  112. return layer.msg('必备参数不具有');
  113. }
  114. if(content ==''){
  115. return layer.msg('内容不能为空');
  116. }
  117. $.ajax({
  118. type: 'POST',
  119. dataType: 'JSON',
  120. url: ns.url("virtualevaluation://shop/comment/addcontent"),
  121. data: {content:content,stock_id:stock_id},
  122. success: function (res) {
  123. save_flag = false;
  124. layer.msg(res.message);
  125. location.reload();
  126. }
  127. })
  128. })
  129. /**
  130. * 保存添加评价库
  131. */
  132. form.on('submit(editSave)', function (data) {
  133. if (save_flag) return;
  134. save_flag = true;
  135. var content = $("#editcontent").val();
  136. var id = $("input[name='id']").val();
  137. if(id==''){
  138. return layer.msg('必须参数不可少');
  139. }
  140. if(content==''){
  141. return layer.msg('评价不能为空');
  142. }
  143. $.ajax({
  144. type: 'POST',
  145. dataType: 'JSON',
  146. url: ns.url("virtualevaluation://shop/comment/editcontent"),
  147. data: {content:content,id:id},
  148. success: function (res) {
  149. save_flag = false;
  150. layer.msg(res.message);
  151. location.reload();
  152. }
  153. })
  154. })
  155. });
  156. function closeAddStockLayer() {
  157. layer.close(add_stock_layer);
  158. }
  159. /**
  160. * 添加
  161. */
  162. function addContent() {
  163. laytpl($("#create_content").html()).render({}, function(html) {
  164. add_stock_layer = layer.open({
  165. type: 1,
  166. title: '添加评价',
  167. area: ['500px', '300px'],
  168. content: html,
  169. success: function(layero, index) {
  170. form.render();
  171. }
  172. });
  173. })
  174. }
  175. function rename(id){
  176. $.ajax({
  177. url: ns.url("virtualevaluation://shop/comment/getcontentinfo"),
  178. data: {
  179. id:id
  180. },
  181. dataType: 'JSON',
  182. type: 'POST',
  183. success: function(res) {
  184. repeat_flag = false;
  185. var id = res.data.id;
  186. var content = res.data.content;
  187. var html = `<div class="layui-form form-wrap">
  188. <div class="layui-form-item">
  189. <label class="layui-form-label" style="width:auto"><span class="required">*</span>评价内容:</label>
  190. <div class="layui-input-block" style="margin-left: 0;">
  191. <input name="id" type="hidden" lay-verify="required" value="`+ id +`" class="layui-input len-mid">
  192. <textarea name="editcontent" id="editcontent" cols="30" rows="10" >`+content+`</textarea>
  193. </div>
  194. </div>
  195. <div class="form-row mid">
  196. <button class="layui-btn" lay-submit lay-filter="editSave">保存</button>
  197. <button class="layui-btn layui-btn-primary" onclick="closeAddStockLayer()">返回</button>
  198. </div>
  199. </div>`;
  200. add_stock_layer=layer.open({
  201. type: 1,
  202. shadeClose: true,
  203. shade: 0.3,
  204. offset: 'auto',
  205. scrollbar: true,
  206. fixed: false,
  207. title: "编辑评价",
  208. area: ['450px', 'auto'],
  209. content: html,
  210. });
  211. }
  212. });
  213. }
  214. /**
  215. * 删除
  216. */
  217. function deleteContent(id){
  218. if (repeat_flag) return false;
  219. repeat_flag = true;
  220. layer.confirm('确定要删除该评价吗?', function() {
  221. $.ajax({
  222. url: ns.url("virtualevaluation://shop/comment/deletecontent"),
  223. data: {
  224. id:id
  225. },
  226. dataType: 'JSON',
  227. type: 'POST',
  228. success: function(res) {
  229. layer.msg(res.message);
  230. repeat_flag = false;
  231. if (res.code == 0) {
  232. table.reload();
  233. }
  234. }
  235. });
  236. }, function () {
  237. layer.close();
  238. repeat_flag = false;
  239. });
  240. }
  241. </script>
  242. {/block}