exchange.html 30 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701
  1. {template 'common/header'}
  2. {if $type == 'coupon'}
  3. <ul class="nav nav-tabs">
  4. <li {if $do == 'display'}class="active"{/if}><a href="{php echo url('activity/exchange/display', array('type' => 'coupon'));}">管理卡券兑换</a></li>
  5. <li {if $do == 'post' && !$id}class="active"{/if}><a href="{php echo url('activity/exchange/post', array('type' => 'coupon'))}" id="add-card">添加卡券兑换</a></li>
  6. {if $do == 'post' && $id}<li class="active"><a href="{php echo url('activity/exchange/coupon', array('id' => $id))}">编辑卡券兑换</a></li>{/if}
  7. </ul>
  8. {if $do == 'display'}
  9. <div class="panel panel-default">
  10. <div class="panel-heading">
  11. 是否启用兑换中心:
  12. <input type="checkbox" name="flag" value="1" {if intval($uni_setting['exchange_enable']) == 1} checked="checked" {/if}/>
  13. </div>
  14. </div>
  15. <div class="main">
  16. <div class="panel panel-info">
  17. <div class="panel-heading">筛选</div>
  18. <div class="panel-body">
  19. <form action="./index.php" method="get" class="form-horizontal" role="form">
  20. <input type="hidden" name="c" value="activity" />
  21. <input type="hidden" name="a" value="exchange" />
  22. <input type="hidden" name="do" value="coupon" />
  23. <input type="hidden" name="op" value="display" />
  24. <div class="form-group">
  25. <label class="col-xs-12 col-sm-2 col-md-2 col-lg-2 control-label">卡券名称</label>
  26. <div class="col-sm-7 col-lg-8 col-xs-12">
  27. <input class="form-control" name="title" type="text" value="{$_GPC['title']}">
  28. </div>
  29. <div class="pull-right col-lg-2">
  30. <input type="submit" name="submit" class="btn btn-default" value="搜索">
  31. <input type="hidden" name="token" value="{$_W['token']}">
  32. </div>
  33. </div>
  34. </form>
  35. </div>
  36. </div>
  37. {if empty($list)}
  38. <div class="alert alert-info">
  39. 您当前没有兑换活动
  40. </div>
  41. {else}
  42. <div class="panel panel-default">
  43. <div class="table-responsive panel-body">
  44. <table class="table table-hover">
  45. <thead class="navbar-inner">
  46. <tr>
  47. <th style="width:150px;">卡券名称</th>
  48. <th style="width:200px;">兑换条件</th>
  49. <th style="width:200px;">兑换次数</th>
  50. <th style="width:200px;">每人限领</th>
  51. <th style="width:200px;">兑换时间</th>
  52. <th style="width:150px;">兑换状态</th>
  53. <th style="width:200px;">操作</th>
  54. </tr>
  55. </thead>
  56. <tbody>
  57. {loop $list $item}
  58. <tr>
  59. <td>{$item['coupon']['title']}</td>
  60. <td>
  61. {if $item['credittype'] == 'credit1'}
  62. 积分兑换
  63. {elseif $item['credittype'] == 'credit2'}
  64. 余额兑换
  65. {/if}
  66. </td>
  67. <td>{$item['num']}</td>
  68. <td>{$item['pretotal']}</td>
  69. <td>{$item['starttime']} - {$item['endtime']}</td>
  70. <td>
  71. <input class="js-flag" type="checkbox" data-id="{$item['id']}" {if $item['status']}checked{/if}/>
  72. <script>
  73. require(['bootstrap.switch'],function($){
  74. $('.js-flag:checkbox').bootstrapSwitch({onText: '启用', offText: '关闭'});
  75. $('.js-flag:checkbox').on('switchChange.bootstrapSwitch', function(event, state) {
  76. var id = $(this).data('id');
  77. var ban = state ? 1 : 0;
  78. $.getJSON("{php echo url('activity/exchange/change_status')}", {id:id, status:ban}, function(data) {
  79. var data = eval(data.message);
  80. });
  81. });
  82. });
  83. </script>
  84. </td>
  85. <td>
  86. <a href="{php echo url('activity/exchange/post', array('id' => $item['id'], 'type' => 'coupon'))}">查看详情</a>
  87. <a href="{php echo url('activity/exchange/delete', array('id' => $item['id'], 'type' => 'coupon'))}" onclick="return confirm('确定删除卡券兑换吗?');return false;">删除</a>
  88. </td>
  89. </tr>
  90. {/loop}
  91. </tbody>
  92. </table>
  93. </div>
  94. </div>
  95. {/if}
  96. {$pager}
  97. </div>
  98. <script type="text/javascript">
  99. $(function(){
  100. require(['bootstrap.switch'], function() {
  101. angular.bootstrap(document, ['app']);
  102. $(":checkbox[name='flag']").bootstrapSwitch();
  103. $(':checkbox').on('switchChange.bootstrapSwitch', function(e, state){
  104. $this = $(this);
  105. var status = this.checked ? 1 : 0;
  106. $.post("{php echo url('activity/exchange/exchange_enable');}", {'status' : status}, function(resp){
  107. resp = $.parseJSON(resp);
  108. if (resp.message.errno < 0) {
  109. util.message(resp.message.message, location.href, 'error');
  110. } else {
  111. util.message(resp.message.message, location.href, 'success');
  112. }
  113. });
  114. });
  115. });
  116. $('.modules').click(function(){
  117. return false;
  118. });
  119. });
  120. </script>
  121. {elseif $do == 'post'}
  122. <form action="{php echo url('activity/exchange/post', array('type' => 'coupon'))}" method="post" class="form-horizontal">
  123. <div class="panel panel-default">
  124. <div class="panel-heading">筛选</div>
  125. <div class="panel-body">
  126. <div class="clearfix">
  127. <div class="form-group">
  128. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">* </span> 选择卡券</label>
  129. <div class="col-sm-8 col-xs-12">
  130. {if !$id}
  131. <button type="button" class="btn btn-default" data-toggle="modal" data-target="#myModal" id="add_coupon">添加卡券</button>
  132. {/if}
  133. <img src="{$data['coupon']['logo_url']}" id="coupon_image" style="height: 100px;width: 240px;{if !$id}display: none;{/if}" data-id="{$data['coupon']['id']}">
  134. <span class="help-block" id="coupon_title">{$data['coupon']['title']}</span>
  135. <input type="hidden" name="coupon">
  136. </div>
  137. <div class="modal fade" id="myModal" tabindex="-1" role="dialog" aria-labelledby="myModalLabel">
  138. <div class="modal-dialog" style="width: 450px;">
  139. <div class="modal-content">
  140. <div class="modal-header">
  141. <h4 class="modal-title">选择卡券</h4>
  142. </div>
  143. <div class="modal-body">
  144. {if empty($coupons)}
  145. 您现在没有卡券,请先<a href="{php echo url('activity/coupon/display', array('flag' => 'exchange'))}">添加卡券</a>。
  146. {else}
  147. <table class="table">
  148. <thead style="height: 20px;">
  149. <th style="width: 60px">缩略图</th>
  150. <th style="width: 120px">卡券名称</th>
  151. <th style="width: 100px">类型</th>
  152. <th style="width: 80px">选择</th>
  153. </thead>
  154. <tbody>
  155. {php $types = activity_coupon_type_label();}
  156. {loop $coupons $coupon}
  157. <tr style="height: 20px;">
  158. {if COUPON_TYPE == WECHAT_COUPON}
  159. <td><img src="{php echo $coupon['logo_url']}" style="height: 10px;"></td>
  160. <td>{$coupon['title']}</td>
  161. <td>
  162. {$types[$coupon['type']][0]}
  163. </td>
  164. {else}
  165. <td><img src="{php echo $coupon['logo_url']}" style="height: 30px;"></td>
  166. <td>{$coupon['title']}</td>
  167. <td>{if $coupon['type'] == 2}代金券{else}折扣券{/if}</td>
  168. {/if}
  169. <td>
  170. <button type="button" class="btn btn-default coupon_check" data-src="{$coupon['logo_url']}" data-cid="{$coupon['id']}" data-title="{$coupon['title']}" {if $coupon['date_info']['time_type'] == 1}data-start="{$coupon['date_info']['time_limit_start']}" data-end="{$coupon['date_info']['time_limit_end']}"{/if} data-limit="{$coupon['get_limit']}" data-type="{$coupon['date_info']['time_type']}" data-date_limit="{$coupon['date_info']['limit']}">选择</button>
  171. </td>
  172. </tr>
  173. {/loop}
  174. </tbody>
  175. </table>
  176. {/if}
  177. </div>
  178. </div><!-- /.modal-content -->
  179. </div><!-- /.modal-dialog -->
  180. </div>
  181. </div>
  182. <div class="form-group">
  183. <label class="col-xs-12 col-sm-3 col-md-2 control-label">兑换状态</label>
  184. <div class="col-sm-9 col-xs-12">
  185. {if !$id}
  186. <label class="radio-inline"><input id="a" type="radio" name="status" value="1" {if $data['status'] == 1 || $data['status'] == ''}checked{/if}/>开启</label>
  187. <label class="radio-inline"><input id="b" type="radio" name="status" value="0" {if $data['status'] == 0 && $data['status'] != ''}checked{/if}/>关闭</label>
  188. <span class="help-block">此设置项设置是否开启兑换</span>
  189. {else}
  190. <label class="radio-inline">{if $data['status'] == 1}开启{else}关闭{/if}</label>
  191. {/if}
  192. </div>
  193. </div>
  194. <div class="form-group">
  195. <label class="col-xs-12 col-sm-3 col-md-2 control-label">积分类型</label>
  196. <div class="col-sm-9 col-xs-12">
  197. {if !$id}
  198. <select name="credittype" class="form-control">
  199. <option value="credit1">积分</option>
  200. <option value="credit2">余额</option>
  201. </select>
  202. <span class="help-block">此设置项设置当前卡券兑换需要消耗的积分类型,如:金币、积分、贡献等。</span>
  203. {else}
  204. <label class="radio-inline">{if $data['credittype'] == 'credit1'}积分{else}余额{/if}</label>
  205. {/if}
  206. </div>
  207. </div>
  208. <div class="form-group">
  209. <label class="col-xs-12 col-sm-3 col-md-2 control-label">积分数量</label>
  210. <div class="col-sm-9 col-xs-12">
  211. {if !$id}
  212. <input type="text" name="credit" value="{$data['credit']}" class="form-control"/>
  213. <span class="help-block">此设置项设置当前卡券兑换需要消耗的积分数量。注:所需积分(余额)必须为正整数;</span>
  214. {else}
  215. <label class="radio-inline">{$data['credit']}</label>
  216. {/if}
  217. </div>
  218. </div>
  219. <div class="form-group">
  220. <label class="col-xs-12 col-sm-3 col-md-2 control-label">使用期限</label>
  221. <div class="col-sm-9 col-xs-12">
  222. {if !$id}
  223. {php echo tpl_form_field_daterange('date', array('start' => date('Y-m-d', $data['starttime']), 'end' => date('Y-m-d', $data['endtime'])))}
  224. {else}
  225. <label class="radio-inline">{php echo date('Y-m-d', $data['starttime']);} - {php echo date('Y-m-d', $data['endtime']);}</label>
  226. {/if}
  227. <span style="display: none;" class="help-block"><span class="text-danger">注</span>:卡券有效期为<span id="start"></span> - <span id="end"></span></span>
  228. </div>
  229. </div>
  230. <input type="hidden" name="coupon_limit">
  231. <input type="hidden" name="coupon_start">
  232. <input type="hidden" name="coupon_end">
  233. <div class="form-group">
  234. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger"> </span>每人可领限制</label>
  235. <div class="col-sm-9 col-xs-12">
  236. {if !$id}
  237. <input type="text" name="pretotal" value="{$data['pretotal']}" class="form-control"/>
  238. <span class="help-block" style="display: none;"><span class="text-danger">注</span>:卡券每人领券限制为<span id="limit"></span></span>
  239. <span class="help-block">此设置项设置每个用户可领取此折扣券数量, 默认为1。</span>
  240. {else}
  241. <label class="radio-inline">{$data['pretotal']}</label>
  242. {/if}
  243. </div>
  244. </div>
  245. </div>
  246. </div>
  247. </div>
  248. <div class="form-group">
  249. <div class="col-sm-1 col-xs-2 col-lg-10">
  250. <input type="hidden" name="token" value="{$_W['token']}"/>
  251. <input type="hidden" name="id" value="{$_GPC['id']}"/>
  252. {if !$id}
  253. <input type="submit" id="exchange" name="submit" value="提交" class="btn btn-primary"/>
  254. {else}
  255. <a href="{php echo url('activity/exchange/coupon')}" class="btn btn-primary">确定</a>
  256. {/if}
  257. </div>
  258. </div>
  259. </form>
  260. <script>
  261. require(['bootstrap'], function($) {
  262. $('#coupon_image').hover(function() {
  263. var coupon_info = $(this);
  264. $.post('{php echo url('activity/exchange/coupon_info')}', {'id' : $(this).data('id')}, function(data) {
  265. var data = $.parseJSON(data);
  266. if (data.message.errno != 0) {
  267. coupon_info.popover({
  268. 'html' : true,
  269. 'placement' : 'right',
  270. 'trigger':'manual',
  271. 'content':'卡券不存在'
  272. });
  273. coupon_info.popover('show');
  274. } else {
  275. var data = data.message.message;
  276. var types = new Array();
  277. types = ['','折扣券','代金券','团购券','礼品券','优惠券'];
  278. var display = data.is_display == 1 ? '上架' : '下架';
  279. var content = '标题:'+ data.title+'<br/>';
  280. content += '状态:'+display+'<br/>';
  281. content += '类型:'+types[data.type]+'<br/>';
  282. if (data.extra_instruction != '') {
  283. content += '说明:'+data.extra_instruction+'<br/>';
  284. }
  285. coupon_info.popover({
  286. 'html' : true,
  287. 'placement' : 'right',
  288. 'trigger':'manual',
  289. 'content':content
  290. });
  291. coupon_info.popover('show');
  292. }
  293. });
  294. }, function(){
  295. $(this).popover('hide');
  296. });
  297. });
  298. $('.coupon_check').click(function() {
  299. $('#coupon_image').attr('src', $(this).data('src'));
  300. $('#coupon_title').html($(this).data('title'));
  301. $('#add_coupon').hide();
  302. $('[name="coupon"]').val($(this).data('cid'));
  303. $('#coupon_image').data('id', $(this).data('cid'));
  304. var type = $(this).data('type');
  305. if (type != 2) {
  306. $('[name="coupon_start"]').val($(this).data('start'));
  307. $('#start').html($(this).data('start'));
  308. $('[name="coupon_end"]').val($(this).data('end'));
  309. $('#end').html($(this).data('end'));
  310. } else {
  311. $('#end').html("领取后"+$(this).data('date_limit')+"天");
  312. }
  313. $('#start').parent().show();
  314. $('#end').parent().show();
  315. $('[name="coupon_limit"]').val($(this).data('limit'));
  316. $('#limit').html($(this).data('limit'));
  317. $('#limit').parent().show();
  318. $('#coupon_image').show();
  319. $('#myModal').modal('hide');
  320. });
  321. $('#exchange').click(function(){
  322. var coupon = $('[name="coupon"]').val();
  323. var pretotal = $('[name="pretotal"]').val();
  324. var total = $('[name="total"]').val();
  325. var limit = $('[name="coupon_limit"]').val();
  326. var credit = $('[name="credit"]').val();
  327. if (credit != parseInt(credit) && credit != '') {
  328. util.message('所需积分数量请填写正整数');
  329. return false;
  330. }
  331. limit = parseInt(limit);
  332. pretotal = parseInt(pretotal);
  333. if (pretotal > limit && limit != 0) {
  334. console.dir(pretotal);
  335. console.dir(limit);
  336. util.message('领取限制大于卡券领取限制,请重新填写');
  337. return false;
  338. }
  339. if (coupon == '') {
  340. util.message('请选择折扣券', '', 'info');
  341. return false;
  342. }
  343. }
  344. );
  345. </script>
  346. {/if}
  347. {/if}
  348. {if $type == 'goods'}
  349. <ul class="nav nav-tabs">
  350. <li {if $do == 'display'}class="active"{/if}><a href="{php echo url('activity/exchange/display', array('type' => 'goods'));}">管理实物兑换</a></li>
  351. <li {if $do == 'post' && !$id}class="active"{/if}><a href="{php echo url('activity/exchange/post', array('type' => 'goods'));}">添加实物兑换</a></li>
  352. {if $do == 'post' && $id}<li class="active"><a href="{php echo url('activity/exchange/post', array('id' => $id, 'type' => 'goods'));}">编辑实物兑换</a></li>{/if}
  353. <li {if $do == 'deliver'}class="active"{/if}><a href="{php echo url('activity/exchange/deliver', array('type' => 'goods'));}">发货记录</a></li>
  354. {if $do == 'receiver' && $id}<li class="active"><a href="{php echo url('activity/exchange/receiver', array('id' => $id, 'type' => 'goods'));}">编辑收货人信息</a></li>{/if}
  355. </ul>
  356. {if $do == 'post'}
  357. <style>
  358. .text-danger{color:red;}
  359. </style>
  360. <div class="main">
  361. <form action="" method="post" class="form-horizontal form" enctype="multipart/form-data" id="form1">
  362. <div class="panel panel-default">
  363. <div class="panel-heading">
  364. 兑换真实物品
  365. </div>
  366. <div class="panel-body">
  367. <div class="form-group">
  368. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 兑换名称</label>
  369. <div class="col-sm-9 col-xs-12">
  370. <input type="text" name="title" class="form-control" value="{$item['title']}" />
  371. <span class="help-block">此设置项为当前礼品兑换设置一个名称。</span>
  372. </div>
  373. </div>
  374. <div class="form-group">
  375. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 兑换状态</label>
  376. <div class="col-sm-9 col-xs-12">
  377. <label class="radio-inline"><input name="status" type="radio" value="1" class="" {if !$id}checked{else}{if $item['status']}checked{/if}{/if}>开启</label>
  378. <label class="radio-inline"><input name="status" type="radio" value="0" class="" {if $id && !$item['status']}checked{/if}>关闭</label>
  379. </div>
  380. </div>
  381. <div class="form-group">
  382. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 兑换内容</label>
  383. <div class="col-sm-9 col-xs-12">
  384. <input type="text" name="extra[title]" class="form-control" value="{$item['extra']['title']}" />
  385. <span class="help-block">此设置项设置当前礼品兑换的礼品名称。</span>
  386. </div>
  387. </div>
  388. <div class="form-group">
  389. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 积分类型</label>
  390. <div class="col-sm-9 col-xs-12">
  391. <select name="credittype" class="form-control">
  392. {loop $creditnames $key $credit}
  393. <option value="{$key}" {if $key == $item['credittype']}selected{/if}>{$credit}</option>
  394. {/loop}
  395. </select>
  396. <span class="help-block">此设置项设置当前礼品兑换需要消耗的积分类型,如:金币、积分、贡献等。注:所需积分(余额)必须为正整数;</span>
  397. </div>
  398. </div>
  399. <div class="form-group">
  400. <label class="col-xs-12 col-sm-3 col-md-2 control-label">积分数量</label>
  401. <div class="col-sm-9 col-xs-12">
  402. <input type="text" name="credit" class="form-control" value="{$item['credit']}" />
  403. <span class="help-block">此设置项设置当前礼品兑换需要消耗的积分数量。</span>
  404. </div>
  405. </div>
  406. <div class="form-group">
  407. <label class="col-xs-12 col-sm-3 col-md-2 control-label">使用期限</label>
  408. <div class="col-sm-9 col-xs-12">
  409. {php echo tpl_form_field_daterange('datelimit', array('start' => date('Y-m-d', $item['starttime']),'end' => date('Y-m-d', $item['endtime'])), '')}
  410. </div>
  411. </div>
  412. <div class="form-group">
  413. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 每人最大兑换次数</label>
  414. <div class="col-sm-9 col-xs-12">
  415. <input type="text" name="pretotal" class="form-control" value="{$item['pretotal']}" />
  416. <span class="help-block">此设置项设置每个用户最大兑换次数。</span>
  417. </div>
  418. </div>
  419. <div class="form-group">
  420. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 兑换总数</label>
  421. <div class="col-sm-9 col-xs-12">
  422. <input type="text" name="total" class="form-control" value="{$item['total']}" />
  423. <span class="help-block">此设置项设置兑换总量。</span>
  424. </div>
  425. </div>
  426. <div class="form-group">
  427. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 封面</label>
  428. <div class="col-sm-9 col-xs-12">
  429. {php echo tpl_form_field_image('thumb', $item['thumb'])}
  430. </div>
  431. </div>
  432. <div class="form-group">
  433. <label class="col-xs-12 col-sm-3 col-md-2 control-label"><span class="text-danger">*</span> 说明</label>
  434. <div class="col-sm-9 col-xs-12">
  435. {php echo tpl_ueditor('description', $item['description'])}
  436. </div>
  437. </div>
  438. </div>
  439. </div>
  440. <div class="form-group col-sm-12">
  441. <input name="id" type="hidden" value="{$item['id']}">
  442. <input name="submit" type="submit" value="提交" class="btn btn-primary col-lg-1">
  443. <input type="hidden" name="token" value="{$_W['token']}" />
  444. </div>
  445. </form>
  446. </div>
  447. {elseif $do == 'display'}
  448. <div class="panel panel-default">
  449. <div class="panel-heading">
  450. 是否启用兑换中心:
  451. <input type="checkbox" name="flag" value="1" {if intval($uni_setting['exchange_enable'])==1} checked="checked" {/if}/>
  452. </div>
  453. </div>
  454. <div class="main">
  455. <div class="panel panel-info">
  456. <div class="panel-heading">筛选</div>
  457. <div class="panel-body">
  458. <form action="" method="get" class="form-horizontal" role="form">
  459. <input type="hidden" name="c" value="activity" />
  460. <input type="hidden" name="a" value="exchange" />
  461. <input type="hidden" name="do" value="display" />
  462. <input type="hidden" name="type" value="goods" />
  463. <div class="form-group">
  464. <label class="col-xs-12 col-sm-2 col-md-2 col-lg-1 control-label">兑换名称</label>
  465. <div class="col-sm-7 col-lg-9 col-xs-12">
  466. <input class="form-control" name="keyword" id="" type="text" value="{$_GPC['keyword']}">
  467. </div>
  468. <div class="pull-right col-xs-12 col-sm-3 col-lg-2">
  469. <button class="btn btn-default"><i class="fa fa-search"></i> 搜索</button>
  470. </div>
  471. </div>
  472. </form>
  473. </div>
  474. </div>
  475. <div class="panel panel-default">
  476. <div class="table-responsive panel-body">
  477. <table class="table table-hover">
  478. <thead>
  479. <tr>
  480. <th style="width:50px">图标</th>
  481. <th style="width:100px;">标题</th>
  482. <th style="width:80px;">领取条件</th>
  483. <th style="width:90px;">可兑换次数</th>
  484. <th style="width:80px;">已兑换</th>
  485. <th style="width:80px;">总量</th>
  486. <th style="width:150px;">有效时间</th>
  487. <th style="width:150px;">兑换状态</th>
  488. <th style="text-align:right; width:120px;">操作</th>
  489. </tr>
  490. </thead>
  491. <tbody>
  492. {loop $list $item}
  493. <tr>
  494. <td><img width="40" src="{$item['thumb']}"></td>
  495. <td>{$item['title']}</td>
  496. <td>{$item['credit']} {$creditnames[$item['credittype']]}</td>
  497. <td>{$item['pretotal']} 次</td>
  498. <td>{$item['num']} 个</td>
  499. <td>{$item['total']} 个</td>
  500. <td>{php echo date('Y-m-d', $item['starttime'])} - {php echo date('Y-m-d', $item['endtime'])}</td>
  501. <td>
  502. <input class="js-flag" type="checkbox" data-id="{$item['id']}" {if $item['status']}checked{/if}/>
  503. <script>
  504. require(['bootstrap.switch'],function($){
  505. $('.js-flag:checkbox').bootstrapSwitch({onText: '启用', offText: '关闭'});
  506. $('.js-flag:checkbox').on('switchChange.bootstrapSwitch', function(event, state) {
  507. var id = $(this).data('id');
  508. var ban = state ? 1 : 0;
  509. $.getJSON("{php echo url('activity/exchange/change_status')}", {id:id, status:ban}, function(data) {
  510. var data = eval(data.message);
  511. });
  512. });
  513. });
  514. </script>
  515. </td>
  516. <td style="text-align:right;">
  517. <a href="{php echo url('activity/exchange/post', array('id' => $item['id'], 'type' => 'goods'))}" title="编辑">编辑</a>&nbsp;-&nbsp;
  518. <a href="{php echo url('activity/exchange/del', array('id' => $item['id'], 'type' => 'goods'))}" onclick="return confirm('此操作不可恢复,确认删除?');return false;" title="删除">删除</a>
  519. <a href="{php echo url('activity/exchange/record', array('exid' => $item['id'], 'type' => 'goods'))}" title="兑换记录">兑换记录</a>
  520. </td>
  521. </tr>
  522. {/loop}
  523. </tbody>
  524. </table>
  525. </div>
  526. </div>
  527. {$pager}
  528. </div>
  529. <script type="text/javascript">
  530. $(function(){
  531. require(['wapeditor', 'bootstrap.switch'], function() {
  532. angular.bootstrap(document, ['app']);
  533. $(":checkbox[name='flag']").bootstrapSwitch();
  534. $(':checkbox').on('switchChange.bootstrapSwitch', function(e, state){
  535. $this = $(this);
  536. var status = this.checked ? 1 : 0;
  537. $.post("{php echo url('activity/exchange/exchange_enable');}", {'status' : status}, function(resp){
  538. resp = $.parseJSON(resp);
  539. util.message(resp.message.message, location.href, 'success');
  540. if (resp.message.errno < 0) {
  541. util.message(resp.message.message, location.href, 'error');
  542. } else {
  543. util.message(resp.message.message, location.href, 'success');
  544. }
  545. });
  546. });
  547. });
  548. $('.modules').click(function(){
  549. return false;
  550. });
  551. });
  552. </script>
  553. {elseif $do == 'deliver'}
  554. <div class="main">
  555. <div class="panel panel-info">
  556. <div class="panel-heading">筛选</div>
  557. <div class="panel-body">
  558. <form action="./index.php" method="post" class="form-horizontal" role="form">
  559. <input type="hidden" name="c" value="activity">
  560. <input type="hidden" name="a" value="exchange">
  561. <input type="hidden" name="do" value="deliver">
  562. <input type="hidden" name="type" value="goods">
  563. <div class="form-group">
  564. <label class="col-xs-12 col-sm-3 col-md-2 control-label">兑换标题</label>
  565. <div class="col-sm-6 col-lg-8 col-xs-12">
  566. <select class="form-control" name="exid">
  567. {loop $exchanges $exchange}
  568. <option value="{$exchange['id']}" {if $_GPC['exid'] == $exchange['id']}selected{/if}>{$exchange['title']}</option>
  569. {/loop}
  570. </select>
  571. </div>
  572. </div>
  573. <div class="form-group">
  574. <label class="col-xs-12 col-sm-3 col-md-2 control-label">用户姓名/手机号</label>
  575. <div class="col-sm-6 col-lg-8 col-xs-12">
  576. <input class="form-control" name="uid" value="{$_GPC['uid']}">
  577. </div>
  578. </div>
  579. <div class="form-group">
  580. <label class="col-xs-12 col-sm-3 col-md-2 control-label">兑奖日期</label>
  581. <div class="col-sm-6 col-lg-8 col-xs-12">
  582. {php echo tpl_form_field_daterange('time', array('starttime'=>date('Y-m-d', $starttime),'endtime'=>date('Y-m-d', $endtime)));}
  583. </div>
  584. <div class="pull-right col-xs-12 col-sm-3 col-lg-2">
  585. <button class="btn btn-default"><i class="fa fa-search"></i> 搜索</button>
  586. <input type="submit" name="export" value="导出" class="btn btn-default">
  587. <input type="hidden" name="token" value="{$_W['token']}" class="btn btn-default">
  588. </div>
  589. </div>
  590. </form>
  591. </div>
  592. </div>
  593. <div class="panel panel-default">
  594. <div class="table-responsive panel-body">
  595. <table class="table table-hover">
  596. <thead class="navbar-inner">
  597. <tr>
  598. <th style="width:60px;">用户ID</th>
  599. <th style="width:80px;">标题</th>
  600. <th style="width:100px;">兑换物品</th>
  601. <th style="width:100px;">收件人</th>
  602. <th style="width:100px;">收件人电话</th>
  603. <th style="width:100px;">收件人邮编</th>
  604. <th style="width:150px;">收件地址</th>
  605. <th style="width:80px;">状态</th>
  606. <th style="text-align:center;width:80px;">操作</th>
  607. </tr>
  608. </thead>
  609. <tbody>
  610. {loop $list $item}
  611. <tr>
  612. <td>{$item['uid']}</td>
  613. <td>{$item['title']}</td>
  614. <td>{$item['extra']['title']}</td>
  615. <td>{$item['name']}</td>
  616. <td>{$item['mobile']}</td>
  617. <td>{$item['zipcode']}</td>
  618. <td>{$item['province']} {$item['city']} {$item['district']} {$item['address']}</td>
  619. <td>
  620. {if $item['status'] == 0}
  621. <span class="label label-danger">待发货</span>
  622. {elseif $item['status'] == 1}
  623. <span class="label label-warning">已发货</span>
  624. {elseif $item['status'] == 2}
  625. <span class="label label-success">已收货</span>
  626. {elseif $item['status'] == -1}
  627. <span class="label label-default">已关闭</span>
  628. {/if}
  629. </td>
  630. <td style="text-align:center;">
  631. <a href="{php echo url('activity/exchange/receiver',array('id'=>$item['tid'], 'type' => 'goods'));}" title="编辑">编辑</a>
  632. <!-- <a onclick="return confirm('确定要删除当前物品吗?');" href="{php echo url('activity/exchange/shipping',array('op'=>'delete','id'=>$item['id']));}" title="删除">删除</a>-->
  633. </td>
  634. </tr>
  635. {/loop}
  636. </tbody>
  637. </table>
  638. </div>
  639. </div>
  640. {$pager}
  641. </div>
  642. {elseif $do == 'receiver'}
  643. <div class="main">
  644. <form action="" method="post" class="form-horizontal form">
  645. <div class="panel panel-default">
  646. <div class="panel-heading">
  647. 收货人信息
  648. </div>
  649. <div class="panel-body">
  650. <div class="form-group">
  651. <label class="col-xs-12 col-sm-3 col-md-2 control-label">收货人姓名</label>
  652. <div class="col-sm-9">
  653. <input type="text" name="realname" class="form-control" value="{$shipping['name']}" />
  654. </div>
  655. </div>
  656. <div class="form-group">
  657. <label class="col-xs-12 col-sm-3 col-md-2 control-label">收货人电话</label>
  658. <div class="col-sm-9">
  659. <input type="text" name="mobile" class="form-control" value="{$shipping['mobile']}" />
  660. </div>
  661. </div>
  662. <div class="form-group">
  663. <label class="col-xs-12 col-sm-3 col-md-2 col-lg-2 control-label">邮寄地址</label>
  664. <div class="col-sm-9">
  665. {php echo tpl_fans_form('reside', array('province' => $shipping['province'], 'city' => $shipping['city'], 'district' => $shipping['district']));}
  666. </div>
  667. </div>
  668. <div class="form-group">
  669. <label class="col-xs-12 col-sm-3 col-md-2 control-label">收货人邮编</label>
  670. <div class="col-sm-9">
  671. <input type="text" name="zipcode" class="form-control" value="{$shipping['zipcode']}" />
  672. </div>
  673. </div>
  674. <div class="form-group">
  675. <label class="col-xs-12 col-sm-3 col-md-2 control-label">收件地址</label>
  676. <div class="col-sm-9">
  677. <input type="text" name="address" class="form-control" value="{$shipping['address']}" />
  678. </div>
  679. </div>
  680. <div class="form-group">
  681. <label class="col-xs-12 col-sm-3 col-md-2 control-label">状态</label>
  682. <div class="col-sm-9">
  683. <label class="radio-inline"><input type="radio" value="0" {if $shipping['status'] == 0}checked{/if} name="status">待发货</label>
  684. <label class="radio-inline"><input type="radio" value="1" {if $shipping['status'] == 1}checked{/if} name="status">已发货</label>
  685. <label class="radio-inline"><input type="radio" value="2" {if $shipping['status'] == 2}checked{/if} name="status">已收货</label>
  686. </div>
  687. </div>
  688. </div>
  689. </div>
  690. <div class="form-group">
  691. <div class="col-sm-12">
  692. <input name="id" type="hidden" value="{$id}">
  693. <input name="submit" type="submit" value="保存" class="btn btn-primary">
  694. <input type="hidden" name="token" value="{$_W['token']}" />
  695. </div>
  696. </div>
  697. </form>
  698. </div>
  699. {/if}
  700. {/if}
  701. {template 'common/footer'}