send.blade.php 8.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189
  1. @extends('layouts.base')
  2. @section('title', '发放优惠券')
  3. @section('content')
  4. <link rel="stylesheet" type="text/css" href="{{static_url('yunshop/goods/vue-goods1.css')}}"/>
  5. <style>
  6. .vue-main{padding:0;}
  7. </style>
  8. <div class="all">
  9. <div id="app" v-cloak>
  10. <div class="vue-crumbs">
  11. <a @click="goParent">优惠券管理</a> > 发放优惠券
  12. </div>
  13. <div class="vue-main">
  14. <el-form ref="form" :model="form" :rules="rules" label-width="15%">
  15. <div style="border-radius: 5px;padding: 10px;">
  16. <div class="vue-main-title">
  17. <div class="vue-main-title-left"></div>
  18. <div class="vue-main-title-content">发放优惠券</div>
  19. </div>
  20. <div class="vue-main-form">
  21. <el-form-item label="发送张数" prop="send_total">
  22. <el-input v-model.number="form.send_total" style="width:70%;" placeholder="请输入发送张数"></el-input>
  23. <div class="tip" style="color:red">该处发放张数为发放给单个用户的张数</div>
  24. </el-form-item>
  25. </div>
  26. </div>
  27. <div style="background:#f5f5f5;height:15px"></div>
  28. <div style="border-radius: 5px;padding: 10px;">
  29. <div class="vue-main-title">
  30. <div class="vue-main-title-left"></div>
  31. <div class="vue-main-title-content">发放优惠券</div>
  32. </div>
  33. <div class="vue-main-form">
  34. <el-form-item label="发送类型" prop="sendtype">
  35. <el-radio v-model.number="form.sendtype" :label="1">按会员ID发送</el-radio>
  36. <el-radio v-model.number="form.sendtype" :label="2">按用户等级发送 </el-radio>
  37. <el-radio v-model.number="form.sendtype" :label="3">按用户分组发送 </el-radio>
  38. <el-radio v-model.number="form.sendtype" :label="4">发送给全部用户 </el-radio>
  39. </el-form-item>
  40. <el-form-item label="会员ID" prop="send_memberid" v-if="form.sendtype == 1">
  41. <el-input type="textarea" rows="5" v-model="form.send_memberid" placeholder="请用“半角逗号”隔开会员ID, 比如 1,2,3,注意不能有空格" style="width:70%;"></el-input>
  42. <div class="tip">请用“半角逗号”隔开会员ID, 比如 1,2,3,注意不能有空格</div>
  43. </el-form-item>
  44. <el-form-item label="选择会员等级" prop="send_level" v-if="form.sendtype == 2">
  45. <el-select v-model="form.send_level" style="width:70%" placeholder="请选择会员等级" >
  46. <el-option v-for="item in member_list" :key="item.id" :label="item.level_name" :value="item.id"></el-option>
  47. </el-select>
  48. </el-form-item>
  49. <el-form-item label="选择会员分组" prop="send_group" v-if="form.sendtype == 3">
  50. <el-select v-model="form.send_group" style="width:70%" placeholder="请选择会员分组" >
  51. <el-option v-for="item in groups_list" :key="item.id" :label="item.group_name" :value="item.id"></el-option>
  52. </el-select>
  53. </el-form-item>
  54. </div>
  55. </div>
  56. </el-form>
  57. </div>
  58. <!-- 分页 -->
  59. <div class="vue-page">
  60. <div class="vue-center">
  61. <el-button type="primary" @click="submitForm('form')">提交</el-button>
  62. <el-button @click="goBack">返回</el-button>
  63. </div>
  64. </div>
  65. </div>
  66. </div>
  67. <script>
  68. var app = new Vue({
  69. el:"#app",
  70. delimiters: ['[[', ']]'],
  71. name: 'test',
  72. data() {
  73. let id = {!! $id?:0 !!};
  74. console.log(id);
  75. return{
  76. id:id,
  77. form:{
  78. sendtype:1,
  79. },
  80. member_list:[],
  81. groups_list:[],
  82. rules:{
  83. send_total:[
  84. { required: true, message: '请输入发送张数'},
  85. { type: 'number',min: 1,message: '请输入正确数字',},
  86. ]
  87. },
  88. }
  89. },
  90. created() {
  91. },
  92. mounted() {
  93. if(this.id) {
  94. this.getData();
  95. }
  96. },
  97. methods: {
  98. getData() {
  99. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  100. this.$http.post('{!! yzWebFullUrl('coupon.send-coupon.send-data') !!}',{id:this.id}).then(function (response) {
  101. if (response.data.result){
  102. this.member_list = response.data.data.memberLevels || [];
  103. this.groups_list = response.data.data.memberGroups || [];
  104. }
  105. else {
  106. this.$message({message: response.data.msg,type: 'error'});
  107. }
  108. loading.close();
  109. },function (response) {
  110. this.$message({message: response.data.msg,type: 'error'});
  111. loading.close();
  112. }
  113. );
  114. },
  115. submitForm(formName) {
  116. let that = this;
  117. let json = {
  118. id:this.id,
  119. send_total:this.form.send_total,
  120. sendtype:this.form.sendtype,
  121. };
  122. if(this.form.sendtype == 1) {
  123. if(!this.form.send_memberid) {
  124. this.$message.error("请输入会员ID")
  125. return false;
  126. }
  127. json.send_memberid = this.form.send_memberid
  128. }
  129. if(this.form.sendtype == 2) {
  130. if(!this.form.send_level) {
  131. this.$message.error("请选择会员等级")
  132. return false;
  133. }
  134. json.send_level = this.form.send_level
  135. }
  136. if(this.form.sendtype == 3) {
  137. if(!this.form.send_group) {
  138. this.$message.error("请选择会员分组")
  139. return false;
  140. }
  141. json.send_group = this.form.send_group
  142. }
  143. this.$refs[formName].validate((valid) => {
  144. if (valid) {
  145. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  146. this.$http.post('{!! yzWebFullUrl('coupon.send-coupon.send-data') !!}',json).then(response => {
  147. if (response.data.result) {
  148. this.$message({type: 'success',message: '操作成功!'});
  149. this.goBack();
  150. } else {
  151. this.$message({message: response.data.msg,type: 'error'});
  152. }
  153. loading.close();
  154. },response => {
  155. loading.close();
  156. });
  157. }
  158. else {
  159. console.log('error submit!!');
  160. return false;
  161. }
  162. });
  163. },
  164. goBack() {
  165. history.go(-1)
  166. },
  167. goParent() {
  168. window.location.href = `{!! yzWebFullUrl('coupon.coupon.index') !!}`;
  169. },
  170. },
  171. })
  172. </script>
  173. @endsection