coupon.blade.php 9.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246
  1. @extends('layouts.base')
  2. @section('content')
  3. @section('title', trans('优惠券设置'))
  4. <style>
  5. .panel{
  6. margin-bottom:10px!important;
  7. padding-left: 20px;
  8. border-radius: 10px;
  9. }
  10. .panel .active a {
  11. background-color: #29ba9c!important;
  12. border-radius: 18px!important;
  13. color:#fff;
  14. }
  15. .panel a{
  16. border:none!important;
  17. background-color:#fff!important;
  18. }
  19. .content{
  20. background: #eff3f6;
  21. padding: 10px!important;
  22. }
  23. .con{
  24. padding-bottom:20px;
  25. border-radius: 8px;
  26. min-height:100vh;
  27. background-color:#fff;
  28. position:relative;
  29. }
  30. .con .setting .block{
  31. padding:10px;
  32. margin-bottom:10px;
  33. border-radius: 8px;
  34. }
  35. .con .setting .block .title{
  36. font-size:18px;
  37. margin-bottom:15px;
  38. display:flex;
  39. align-items:center;
  40. }
  41. .el-form-item__label{
  42. margin-right:30px;
  43. }
  44. .confirm-btn{
  45. width: calc(100% - 266px);
  46. position:fixed;
  47. bottom:0;
  48. right:0;
  49. margin-right:10px;
  50. line-height:63px;
  51. background-color: #ffffff;
  52. box-shadow: 0px 8px 23px 1px
  53. rgba(51, 51, 51, 0.3);
  54. background-color:#fff;
  55. text-align:center;
  56. }
  57. b{
  58. font-size:14px;
  59. }
  60. </style>
  61. <div id='re_content' >
  62. @include('layouts.newTabs')
  63. <div class="con">
  64. <div class="setting">
  65. <el-form ref="form" :model="form" label-width="15%">
  66. <div class="block">
  67. <div class="title"><span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>基础设置</b></div>
  68. <el-form-item label="优惠券到期消息通知">
  69. <el-input v-model="form.delayed" placeholder="请输入优惠券在到期前多少天可收到通知" style="width:30%;"></el-input :min="0">
  70. </el-form-item>
  71. <el-form-item label="提醒时间">
  72. <template>
  73. <el-select v-model="form.every_day" @change="getSelect" style="width:30%;">
  74. <el-option
  75. v-for="item in hourData"
  76. :label="item.name"
  77. :value="item.key"
  78. >
  79. </el-option>
  80. </el-select>
  81. </template>
  82. </el-form-item>
  83. <el-form-item label="优惠券过期提醒">
  84. <template>
  85. <el-select v-model="form.expire" filterable placeholder="请选择" @change="getSelect" style="width:30%;">
  86. <el-option
  87. v-for="item in temp_list"
  88. :label="item.title"
  89. :value="item.id">
  90. </el-option>
  91. </el-select>
  92. <el-switch
  93. @change="changeVal('expire')"
  94. style="margin-left:20px;"
  95. v-model="value"
  96. :active-value="1"
  97. :inactive-value="0"
  98. >
  99. </el-switch>
  100. </template>
  101. </el-form-item>
  102. </div>
  103. <div class="block">
  104. <div class="title"><span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>商品详情显示设置</b></div>
  105. <el-form-item label="券后价和商品优惠券显示">
  106. <template>
  107. <el-switch
  108. v-model="form.is_show_coupon"
  109. active-value="1"
  110. inactive-value="0"
  111. >
  112. </el-switch>
  113. </template>
  114. </el-form-item>
  115. </div>
  116. <div class="block">
  117. <div class="title"><span style="width: 4px;height: 18px;background-color: #29ba9c;margin-right:15px;display:inline-block;"></span><b>下单提示使用优惠券</b></div>
  118. <el-form-item label="下单提示使用优惠券">
  119. <template>
  120. <el-switch
  121. v-model="form.coupon_remind"
  122. active-value="1"
  123. inactive-value="0"
  124. >
  125. </el-switch>
  126. </template>
  127. <div><span class='help-block'>下单时会员有优惠券未使用时是否提醒会员使用优惠券</span></div>
  128. </el-form-item>
  129. </div>
  130. <div class="confirm-btn">
  131. <el-button type="primary" @click="submit">提交</el-button>
  132. </div>
  133. </el-form>
  134. </div>
  135. </div>
  136. </div>
  137. <script>
  138. var vm = new Vue({
  139. el: "#re_content",
  140. delimiters: ['[[', ']]'],
  141. data() {
  142. return {
  143. value:0,
  144. activeName: 'first',
  145. temp_list: [],
  146. hourData:[],
  147. form:{
  148. expire:'',
  149. send_times:'0',
  150. delayed:'',
  151. every_day: "",
  152. coupon_remind : '0',
  153. },
  154. }
  155. },
  156. mounted () {
  157. this.getData();
  158. },
  159. methods: {
  160. getSelect(val){
  161. this.$forceUpdate()
  162. },
  163. changeVal(val){
  164. let that=this;
  165. if(this.value==0){
  166. var url = "{!! yzWebUrl('setting.default-notice.cancel') !!}"
  167. var postdata = {
  168. notice_name: val,
  169. setting_name: "shop.coupon"
  170. };
  171. }else if(this.value==1){
  172. var url = "{!! yzWebUrl('setting.default-notice.index') !!}"
  173. var postdata = {
  174. notice_name: val,
  175. setting_name: "shop.coupon"
  176. };
  177. }
  178. this.$http.post(url,postdata).then(function (response){
  179. if (response.data.result==1) {
  180. if(this.value==1){
  181. this.temp_list[0].id=Number(response.data.id)
  182. this.form.expire=Number(response.data.id)
  183. this.$forceUpdate()
  184. }
  185. }else {
  186. this.form.expire=0;
  187. this.value=0;
  188. this.$message({message: response.data.msg,type: 'error'});
  189. }
  190. },function (response) {
  191. this.$message({message: response.data.msg,type: 'error'});
  192. })
  193. },
  194. getData(){
  195. this.$http.post('{!! yzWebFullUrl('setting.coupon.index') !!}').then(function (response){
  196. if (response.data.result) {
  197. if(response.data.data.set){
  198. for(let i in response.data.data.set){
  199. this.form[i]=response.data.data.set[i]
  200. }
  201. this.form.expire=Number(this.form.expire)
  202. }
  203. this.temp_list=response.data.data.temp_list
  204. this.value=response.data.data.is_open;
  205. this.temp_list.unshift({id:this.form.expire,title:'默认消息模板'})
  206. this.hourData=response.data.data.hourData
  207. this.hourData.forEach((item,index,key)=>{
  208. if(this.form.every_day==item.key){
  209. this.form.every_day=item.key
  210. }
  211. })
  212. }else {
  213. this.$message({message: response.data.msg,type: 'error'});
  214. }
  215. },function (response) {
  216. this.$message({message: response.data.msg,type: 'error'});
  217. })
  218. },
  219. submit() {
  220. /* if(this.form.delayed<=0){
  221. this.$message({message:'优惠券到期消息通知不能小于0',type: 'error'});
  222. return
  223. }*/
  224. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0)'});
  225. this.$http.post('{!! yzWebFullUrl('setting.coupon.index') !!}',{'coupon':this.form}).then(function (response){
  226. if (response.data.result) {
  227. this.$message({message: response.data.msg,type: 'success'});
  228. }
  229. else {
  230. this.$message({message: response.data.msg,type: 'error'});
  231. }
  232. loading.close();
  233. location.reload();
  234. },function (response) {
  235. this.$message({message: response.data.msg,type: 'error'});
  236. })
  237. },
  238. },
  239. });
  240. </script>
  241. @endsection