add.php 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173
  1. <div class="row-content am-cf">
  2. <div class="row">
  3. <div class="am-u-sm-12 am-u-md-12 am-u-lg-12">
  4. <div id="app" v-cloak class="widget am-cf">
  5. <form id="my-form" class="am-form tpl-form-line-form" method="post">
  6. <div class="widget-body">
  7. <fieldset>
  8. <div class="widget-head am-cf">
  9. <div class="widget-title am-fl"> 新增活动会场</div>
  10. </div>
  11. <div class="am-form-group am-padding-top">
  12. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 活动日期 </label>
  13. <div class="am-u-sm-9 am-u-md-6 am-u-lg-5 am-u-end">
  14. <input type="text" class="j-laydate-start am-form-field"
  15. name="active[active_date]"
  16. value="<?= date('Y-m-d') ?>"
  17. placeholder="点击选择日期"
  18. required>
  19. <div class="help-block">
  20. <small>注:活动日期保存后不能更改</small>
  21. </div>
  22. </div>
  23. </div>
  24. <div class="am-form-group am-padding-top">
  25. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 活动场次 </label>
  26. <div class="am-u-sm-9 am-u-md-6 am-u-lg-5 am-u-end">
  27. <?php for ($i = 1; $i <= 23; $i++): ?>
  28. <label class="am-checkbox-inline">
  29. <input type="checkbox" name="active[active_times][]" value="<?= $i ?>"
  30. data-am-ucheck required>
  31. <?= \pad_left($i) ?>:00
  32. </label>
  33. <?php endfor; ?>
  34. </div>
  35. </div>
  36. <div class="am-form-group am-padding-top">
  37. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 选择商品 </label>
  38. <div class="am-u-sm-9 am-u-md-6 am-u-lg-8 am-u-end">
  39. <div class="am-form-file am-margin-top-xs">
  40. <button type="button"
  41. class="upload-file am-btn am-btn-secondary am-radius"
  42. @click.stop="onSelectGoods">
  43. <i class="am-icon-cloud-upload"></i> 选择秒杀商品
  44. </button>
  45. <div v-if="goodsList.length > 0" class="widget-goods-list am-padding-top">
  46. <table width="100%"
  47. class="am-table am-table-compact tpl-table-black am-text-nowrap">
  48. <thead>
  49. <tr>
  50. <th>商品ID</th>
  51. <th>商品图片</th>
  52. <th>商品名称</th>
  53. <th>操作</th>
  54. </tr>
  55. </thead>
  56. <tbody>
  57. <tr v-for="(item, index) in goodsList">
  58. <td class="am-text-middle">
  59. <input type="hidden" name="active[sharp_goods][]"
  60. :value="item.goods_id">
  61. {{ item.goods_id }}
  62. </td>
  63. <td class="am-text-middle">
  64. <a :href="item.goods_image"
  65. title="点击查看大图" target="_blank">
  66. <img :src="item.goods_image"
  67. width="50" height="50" alt="商品图片">
  68. </a>
  69. </td>
  70. <td class="am-text-middle">
  71. <p class="item-title">{{ item.goods_name }}</p>
  72. </td>
  73. <td class="am-text-middle">
  74. <a href="javascript:void(0);"
  75. @click.stop="onDeleteGoods(index)">删除</a>
  76. </td>
  77. </tr>
  78. </tbody>
  79. </table>
  80. </div>
  81. </div>
  82. <div class="help-block">
  83. <small>注:每个活动场次中出售的秒杀商品,此处非必填,可在场次管理中单独设置</small>
  84. </div>
  85. </div>
  86. </div>
  87. <div class="am-form-group am-padding-top">
  88. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 活动状态 </label>
  89. <div class="am-u-sm-9 am-u-md-6 am-u-lg-5 am-u-end">
  90. <label class="am-radio-inline">
  91. <input type="radio" name="active[status]" value="1" data-am-ucheck
  92. checked>
  93. 启用
  94. </label>
  95. <label class="am-radio-inline">
  96. <input type="radio" name="active[status]" value="0" data-am-ucheck>
  97. 禁用
  98. </label>
  99. </div>
  100. </div>
  101. <div class="am-form-group">
  102. <div class="am-u-sm-9 am-u-sm-push-3 am-margin-top-lg">
  103. <button type="submit" class="j-submit am-btn am-btn-sm am-btn-secondary"> 提交
  104. </button>
  105. </div>
  106. </div>
  107. </fieldset>
  108. </div>
  109. </form>
  110. </div>
  111. </div>
  112. </div>
  113. </div>
  114. <script src="assets/common/js/vue.min.js?v=<?= $version ?>"></script>
  115. <script src="assets/common/plugins/laydate/laydate.js"></script>
  116. <script src="assets/store/js/select.data.js?v=<?= $version ?>"></script>
  117. <script>
  118. $(function () {
  119. new Vue({
  120. el: '#app',
  121. data: {
  122. // 商品列表
  123. goodsList: []
  124. },
  125. methods: {
  126. // 选择商品
  127. onSelectGoods: function () {
  128. var app = this;
  129. $.selectData({
  130. title: '选择商品',
  131. uri: 'sharp.goods/lists&status=10',
  132. duplicate: false,
  133. dataIndex: 'goods_id',
  134. done: function (data) {
  135. data.forEach(function (item) {
  136. app.goodsList.push(item);
  137. });
  138. },
  139. getExistData: function () {
  140. var goodsIds = [];
  141. app.goodsList.forEach(function (item) {
  142. goodsIds.push(item.goods_id);
  143. });
  144. return goodsIds;
  145. }
  146. });
  147. },
  148. // 删除商品
  149. onDeleteGoods: function (index) {
  150. var app = this;
  151. return app.goodsList.splice(index, 1);
  152. }
  153. }
  154. });
  155. // 日期选择器
  156. laydate.render({
  157. elem: '.j-laydate-start'
  158. , type: 'date'
  159. });
  160. /**
  161. * 表单验证提交
  162. * @type {*}
  163. */
  164. $('#my-form').superForm();
  165. });
  166. </script>