add.php 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156
  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. <div class="am-form--static"><?= $active['active_date'] ?></div>
  15. </div>
  16. </div>
  17. <div class="am-form-group am-padding-top">
  18. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 活动场次 </label>
  19. <div class="am-u-sm-9 am-u-md-6 am-u-lg-5 am-u-end">
  20. <?php for ($i = 1; $i <= 23; $i++): ?>
  21. <label class="am-checkbox-inline">
  22. <input type="checkbox" name="active[active_times][]" value="<?= $i ?>"
  23. <?= in_array($i, $existTimes) ? 'disabled' : '' ?>
  24. <?= in_array($i, $existTimes) ? 'checked' : '' ?>
  25. data-am-ucheck required>
  26. <?= \pad_left($i) ?>:00
  27. </label>
  28. <?php endfor; ?>
  29. </div>
  30. </div>
  31. <div class="am-form-group am-padding-top">
  32. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 选择商品 </label>
  33. <div class="am-u-sm-9 am-u-md-6 am-u-lg-8 am-u-end">
  34. <div class="am-form-file am-margin-top-xs">
  35. <button type="button"
  36. class="upload-file am-btn am-btn-secondary am-radius"
  37. @click.stop="onSelectGoods">
  38. <i class="am-icon-cloud-upload"></i> 选择秒杀商品
  39. </button>
  40. <div v-if="goodsList.length > 0" class="widget-goods-list am-padding-top">
  41. <table width="100%"
  42. class="am-table am-table-compact tpl-table-black am-text-nowrap">
  43. <thead>
  44. <tr>
  45. <th>商品ID</th>
  46. <th>商品图片</th>
  47. <th>商品名称</th>
  48. <th>操作</th>
  49. </tr>
  50. </thead>
  51. <tbody>
  52. <tr v-for="(item, index) in goodsList">
  53. <td class="am-text-middle">
  54. <input type="hidden" name="active[sharp_goods][]"
  55. :value="item.goods_id">
  56. {{ item.goods_id }}
  57. </td>
  58. <td class="am-text-middle">
  59. <a :href="item.goods_image"
  60. title="点击查看大图" target="_blank">
  61. <img :src="item.goods_image"
  62. width="50" height="50" alt="商品图片">
  63. </a>
  64. </td>
  65. <td class="am-text-middle">
  66. <p class="item-title">{{ item.goods_name }}</p>
  67. </td>
  68. <td class="am-text-middle">
  69. <a href="javascript:void(0);"
  70. @click.stop="onDeleteGoods(index)">删除</a>
  71. </td>
  72. </tr>
  73. </tbody>
  74. </table>
  75. </div>
  76. </div>
  77. </div>
  78. </div>
  79. <div class="am-form-group am-padding-top">
  80. <label class="am-u-sm-3 am-u-lg-2 am-form-label form-require"> 活动状态 </label>
  81. <div class="am-u-sm-9 am-u-md-6 am-u-lg-5 am-u-end">
  82. <label class="am-radio-inline">
  83. <input type="radio" name="active[status]" value="1" data-am-ucheck
  84. checked>
  85. 启用
  86. </label>
  87. <label class="am-radio-inline">
  88. <input type="radio" name="active[status]" value="0" data-am-ucheck>
  89. 禁用
  90. </label>
  91. </div>
  92. </div>
  93. <div class="am-form-group">
  94. <div class="am-u-sm-9 am-u-sm-push-3 am-margin-top-lg">
  95. <button type="submit" class="j-submit am-btn am-btn-sm am-btn-secondary"> 提交
  96. </button>
  97. </div>
  98. </div>
  99. </fieldset>
  100. </div>
  101. </form>
  102. </div>
  103. </div>
  104. </div>
  105. </div>
  106. <script src="assets/common/js/vue.min.js?v=<?= $version ?>"></script>
  107. <script src="assets/store/js/select.data.js?v=<?= $version ?>"></script>
  108. <script>
  109. $(function () {
  110. new Vue({
  111. el: '#app',
  112. data: {
  113. // 商品列表
  114. goodsList: []
  115. },
  116. methods: {
  117. // 选择商品
  118. onSelectGoods: function () {
  119. var app = this;
  120. $.selectData({
  121. title: '选择商品',
  122. uri: 'sharp.goods/lists&status=10',
  123. duplicate: false,
  124. dataIndex: 'goods_id',
  125. done: function (data) {
  126. data.forEach(function (item) {
  127. app.goodsList.push(item);
  128. });
  129. },
  130. getExistData: function () {
  131. var goodsIds = [];
  132. app.goodsList.forEach(function (item) {
  133. goodsIds.push(item.goods_id);
  134. });
  135. return goodsIds;
  136. }
  137. });
  138. },
  139. // 删除商品
  140. onDeleteGoods: function (index) {
  141. var app = this;
  142. return app.goodsList.splice(index, 1);
  143. }
  144. }
  145. });
  146. /**
  147. * 表单验证提交
  148. * @type {*}
  149. */
  150. $('#my-form').superForm();
  151. });
  152. </script>