index.html 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243
  1. {extend name='admin@main'}
  2. {block name="button"}
  3. <a data-dbclick class="layui-btn layui-btn-sm" data-open='{:url("add")}'>添加藏品</a>
  4. {/block}
  5. {block name="content"}
  6. <div class="think-box-shadow">
  7. {include file='goods/index_search'}
  8. <table class="layui-table margin-top-10" lay-skin="line">
  9. {notempty name='list'}
  10. <thead>
  11. <tr>
  12. <th class='text-left nowrap'>商品</th>
  13. <th class='text-left nowrap'>发行方式</th>
  14. <th class='text-left nowrap'>库存</th>
  15. <th class='text-left nowrap'>剩余库存</th>
  16. <th class='text-left nowrap'>铸造数量<br />(成功数/总数)</th>
  17. <th class="text-left nowrap">发行时间</th>
  18. <th class="text-left nowrap">添加时间</th>
  19. <th class="text-left nowrap">状态</th>
  20. <th class="text-left nowrap">操作</th>
  21. </tr>
  22. </thead>
  23. {/notempty}
  24. <tbody>
  25. {foreach $list as $key=>$vo}
  26. <tr>
  27. <td class='text-left nowrap'>
  28. <img class="margin-right-5 text-top" data-tips-image="{$vo.cover|default=''}" src="{$vo.cover|default=''}" width="50px">
  29. <div class="inline-block">
  30. ID: {$vo.id|default=''}<br>
  31. 名称: {$vo.name|default=''}<br>
  32. 售价: {$vo.price|default=''}
  33. </div>
  34. </td>
  35. <td class='text-left nowrap'>
  36. <div class="inline-block">
  37. 方式:{$vo.issue_mode == 1? '普通发行' :'抽签发行'}<br/>
  38. {eq name = 'vo.issue_mode' value='1'}提前购[分钟]:{$vo.before_time}<br/>{/eq}
  39. {eq name = 'vo.issue_mode' value='2'}开始时间:{$vo.apply_st}{/eq}<br/>
  40. {eq name = 'vo.issue_mode' value='2'}结束时间:{$vo.apply_end}{/eq}
  41. </div>
  42. </td>
  43. <td class='text-left nowrap'>{$vo.inventory|default=''}</td>
  44. <td class='text-left nowrap'>{$vo.now_inventory|default=''}</td>
  45. <td class='text-left nowrap'>{$vo.zz|default=''}/{$vo.casting_num|default=''}</td>
  46. <td class='text-left nowrap'>{$vo.sell_time|default=''}</td>
  47. <td class='text-left nowrap'>{$vo.create_at}</td>
  48. <td class='text-left nowrap'>
  49. {if $vo.status eq 0}已下架{else/}
  50. {eq name='vo.state' value='1'}抢购中{/eq}
  51. {eq name='vo.state' value='2'}即将开售{/eq}
  52. {eq name='vo.state' value='3'}已售罄{/eq}
  53. {/if}
  54. </td>
  55. <td class='text-left nowrap'>
  56. <a data-title="铸造明细" class="layui-btn layui-btn-sm" data-open='{:url("detail")}?id={$vo.id}'>铸造明细</a>
  57. <a data-title="铸造" class="layui-btn layui-btn-sm" data-modal='{:url("hash")}?id={$vo.id}'>铸造</a>
  58. <a data-title="赠送" class="layui-btn layui-btn-sm" data-modal='{:url("send")}?id={$vo.id}'>赠送</a>
  59. {eq name='vo.issue_mode' value ='2'} <a data-title="抽签明细" class="layui-btn layui-btn-sm" data-open='{:url("draw")}?id={$vo.id}'>抽签明细</a>{/eq}
  60. <a class='layui-btn layui-btn-normal layui-btn-sm dr' id="dr" style="background-color:#DC2219;margin-right: 10px;width: 65px " onclick="changename('{$vo.id}')">
  61. 批量赠送
  62. </a>
  63. {if $vo.issue_mode == 1}
  64. <a data-title="优先购名单" class="layui-btn layui-btn-sm" data-open='{:url("import_first_list")}?id={$vo.id}'>优先购名单</a>
  65. {if $vo.status == 1 && $vo.state == 2}
  66. <a data-title="导入优先购名单" style="margin-right: 10px; " class="layui-btn layui-btn-normal layui-btn-sm first" id="first" onclick="changefirst('{$vo.id}')" >导入优先购名单</a>
  67. {/if}
  68. {/if}
  69. <a data-title="编辑商品" class="layui-btn layui-btn-sm" data-open='{:url("edit")}?id={$vo.id}'>编 辑</a>
  70. <a data-title="收藏记录" class="layui-btn layui-btn-sm" data-open='{:url("/store/collect_info/index")}?goods_id={$vo.id}'>收藏记录</a>
  71. {if $vo.status eq 1}
  72. <span class="layui-btn layui-btn-sm layui-btn-warm" onclick="btn_confirm('下架','down','{$vo.id}');">下 架</span>
  73. {else}
  74. <span class="layui-btn layui-btn-sm layui-btn-warm" onclick="btn_confirm('上架','up','{$vo.id}');">上 架</span>
  75. {/if}
  76. <span data-title="删除商品" class="layui-btn layui-btn-sm layui-btn-danger" onclick="btn_confirm('删除','del','{$vo.id}');" >删 除</span>
  77. </td>
  78. </tr>
  79. {/foreach}
  80. </tbody>
  81. </table>
  82. {empty name='list'}<span class="notdata">没有记录哦</span>{else}{$pagehtml|raw|default=''}{/empty}
  83. </div>
  84. <script>
  85. function btn_confirm(msg,fun,id) {
  86. layer.confirm('请确定是否'+msg, {btn: ['确定', '取消'], title: "提示"}, function () {
  87. var url = "/store/goods/"+fun;
  88. layer.closeAll();
  89. $.ajax({
  90. type: "post",
  91. url: url,
  92. data: {id:id},
  93. dataType: "json",
  94. async: false,
  95. success: function (data) {
  96. layer.msg(data.info);
  97. setTimeout(function () {
  98. window.location.reload();
  99. },1000)
  100. }
  101. });
  102. });
  103. }
  104. var co_id = ''
  105. function changename(val){
  106. co_id = val
  107. }
  108. var first_id = ''
  109. function changefirst(val){
  110. first_id = val
  111. }
  112. layui.use('upload', function(){
  113. var upload = layui.upload;
  114. //执行实例
  115. var uploadInst = upload.render({
  116. elem: '.dr' //绑定元素
  117. ,url: 'admin/api.plugs/upload'
  118. ,accept: 'file', //普通文件,
  119. before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
  120. console.log(obj)
  121. }
  122. ,done: function(res){
  123. console.log(co_id)
  124. console.log(res)
  125. if (res.uploaded == true){
  126. var value = {path:res.key,c_id:co_id,url:res.url}
  127. $.ajax({
  128. url:"/store/goods/import",
  129. type:'get',
  130. data:value
  131. ,success:function(result){
  132. console.log(result);
  133. if (result.code==1){
  134. layer.msg('赠送成功',{time:2000,end:function () {
  135. location.reload();
  136. }});
  137. }else if (result.code==2){
  138. layer.open({
  139. type:1,
  140. area:['500px', '500px'],
  141. content:'成功:'+result.data.success+',失败:'+result.data.error+'<br />'+
  142. '错误号码:<br />'+result.data.phone_error,
  143. btn:['导出错误号码'],
  144. yes:function (index) {
  145. var url = '/store/goods/get_excl';
  146. var params = {'phone': result.data.phone_error};
  147. jsSubmit(url, params);
  148. }
  149. });
  150. }else if (result.code==3){
  151. layer.msg(result.info,{icon: 5});
  152. }
  153. }
  154. });
  155. }else {
  156. layer.msg(res.error.message,{icon: 5});
  157. }
  158. }
  159. ,error: function(){
  160. layer.msg('上传失败');
  161. }
  162. });
  163. //执行实例
  164. var uploadInstTwo = upload.render({
  165. elem: '.first' //绑定元素
  166. ,url: 'admin/api.plugs/upload'
  167. ,accept: 'file', //普通文件,
  168. before: function(obj){ //obj参数包含的信息,跟 choose回调完全一致,可参见上文。
  169. console.log(obj);
  170. }
  171. ,done: function(res){
  172. if (res.uploaded == true){
  173. var value = {path:res.key,c_id:first_id,url:res.url}
  174. $.ajax({
  175. url:"/store/goods/import_first",
  176. type:'get',
  177. data:value
  178. ,success:function(result){
  179. console.log(result);
  180. if (result.code==1){
  181. layer.msg('导入成功',{time:2000,end:function () {
  182. location.reload();
  183. // $.form.href('{:url("admin/main_project/index")}');
  184. }});
  185. }else if (result.code==2){
  186. // layer.msg('成功:'+result.data.success+',失败:'+result.data.error+'<br />'+
  187. // '错误号码'+result.data.phone_error
  188. //
  189. // ,{icon: 5});
  190. layer.open({
  191. type:1,
  192. area:['500px', '500px'],
  193. content:'成功:'+result.data.success+',失败:'+result.data.error+'<br />'+
  194. '错误号码:<br />'+result.data.phone_error,
  195. btn:['导出错误号码'],
  196. yes:function (index) {
  197. var url = '/store/goods/get_excl';
  198. var params = {'phone': result.data.phone_error};
  199. jsSubmit(url, params);
  200. // layer.msg('的确很重要', {icon: 1});
  201. }
  202. });
  203. }else if (result.code==3){
  204. layer.msg(result.info,{icon: 5});
  205. }
  206. }
  207. });
  208. }else {
  209. layer.msg(res.error.message,{icon: 5});
  210. }
  211. // layer.closeAll('loading'); //关闭loading
  212. }
  213. ,error: function(){
  214. layer.msg('上传失败');
  215. }
  216. });
  217. });
  218. function jsSubmit(url, params, method = "get")
  219. {
  220. var form = $("<form></form>");
  221. form.attr({"method": method, "action": url});
  222. params = JSON.stringify(params.phone)
  223. var input = $("<input type='hidden'>");
  224. input.attr("name", 'phone');
  225. input.val(params);
  226. form.append(input);
  227. $("html").append(form);
  228. form.submit();
  229. }
  230. </script>
  231. {/block}