com-score-expansion.php 8.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168
  1. <template id="com-score-expansion">
  2. <div class="com-score-expansion">
  3. <el-card class="edit-card" shadow="never">
  4. <div slot="header" class="clearfix">
  5. <div class="card-title">积分赠送<span class="card-sub-title"></span></div>
  6. </div>
  7. <el-form :model="form" size="small">
  8. <el-form-item label="开启赠送" label-width="80px">
  9. <el-switch
  10. v-model="form.marketing_model"
  11. :active-value="1"
  12. :inactive-value="0">
  13. </el-switch>
  14. </el-form-item>
  15. <template v-if="form.marketing_model == 1">
  16. <el-form-item style="padding-left: 25px;" :label="'下单赠送:'" prop="material_link">
  17. <br>
  18. <el-form-item label="冻结积分" label-width="80px">
  19. <el-input placeholder="请输入赠送积分金额" style="margin-right: 10px;" class="width-350" v-model="form.buy_frozen_integral.give" onInput="value = toNumber(value, 2)">
  20. <template slot="prepend">赠送积分</template>
  21. <template slot="append">{{ form.buy_frozen_integral.is_percent == 0 ? '个' : '%' }}</template>
  22. </el-input>
  23. <el-radio v-model="form.buy_frozen_integral.is_percent" :label="0">固定值</el-radio>
  24. <el-radio v-model="form.buy_frozen_integral.is_percent" :label="1">百分比</el-radio>
  25. </el-form-item>
  26. <el-form-item label="激活积分" label-width="80px">
  27. <el-input placeholder="请输入赠送积分金额" style="margin-right: 10px;" class="width-350" v-model="form.buy_integral.give" onInput="value = toNumber(value, 2)">
  28. <template slot="prepend">赠送积分</template>
  29. <template slot="append">{{ form.buy_integral.is_percent == 0 ? '个' : '%' }}</template>
  30. </el-input>
  31. <el-radio v-model="form.buy_integral.is_percent" :label="0">固定值</el-radio>
  32. <el-radio v-model="form.buy_integral.is_percent" :label="1">百分比</el-radio>
  33. </el-form-item>
  34. </el-form-item>
  35. <el-form-item style="padding-left: 25px;" :label="'直推上级赠送:'" prop="material_link">
  36. <br>
  37. <el-form-item label="冻结积分" label-width="80px">
  38. <el-input placeholder="请输入赠送积分金额" style="margin-right: 10px;" class="width-350" v-model="form.parent_frozen_integral.give" onInput="value = toNumber(value, 2)">
  39. <template slot="prepend">赠送积分</template>
  40. <template slot="append">{{ form.parent_frozen_integral.is_percent == 0 ? '个' : '%' }}</template>
  41. </el-input>
  42. <el-radio v-model="form.parent_frozen_integral.is_percent" :label="0">固定值</el-radio>
  43. <el-radio v-model="form.parent_frozen_integral.is_percent" :label="1">百分比</el-radio>
  44. </el-form-item>
  45. <el-form-item label="激活积分" label-width="80px">
  46. <el-input placeholder="请输入赠送积分金额" style="margin-right: 10px;" class="width-350" v-model="form.parent_integral.give" onInput="value = toNumber(value, 2)">
  47. <template slot="prepend">赠送积分</template>
  48. <template slot="append">{{ form.parent_integral.is_percent == 0 ? '个' : '%' }}</template>
  49. </el-input>
  50. <el-radio v-model="form.parent_integral.is_percent" :label="0">固定值</el-radio>
  51. <el-radio v-model="form.parent_integral.is_percent" :label="1">百分比</el-radio>
  52. </el-form-item>
  53. </el-form-item>
  54. </template>
  55. </el-form>
  56. </el-card>
  57. </div>
  58. </template>
  59. <script>
  60. Vue.component('com-score-expansion', {
  61. template: "#com-score-expansion",
  62. props: {
  63. goods_id: {
  64. type: Number | String,
  65. default: 0
  66. }
  67. },
  68. data() {
  69. return {
  70. form: {
  71. marketing_model: '',
  72. buy_frozen_integral: {
  73. integral_wallet_type: 'frozen_integral',
  74. give:'',
  75. is_percent:1,
  76. deduct_type: 1,
  77. deduct_money: 0,
  78. is_enable: 1,
  79. parent:0,
  80. },
  81. buy_integral: {
  82. integral_wallet_type: 'integral',
  83. is_percent: 1,
  84. give: 0,
  85. deduct_type: 1,
  86. deduct_money: 0,
  87. is_enable: 1,
  88. parent:0,
  89. },
  90. parent_frozen_integral: {
  91. integral_wallet_type: 'frozen_integral',
  92. give:'',
  93. is_percent:1,
  94. parent:1,
  95. deduct_type: 1,
  96. deduct_money: 0,
  97. is_enable: 1,
  98. },
  99. parent_integral: {
  100. integral_wallet_type: 'integral',
  101. is_percent: 1,
  102. give: 0,
  103. parent:1,
  104. deduct_type: 1,
  105. deduct_money: 0,
  106. is_enable: 1,
  107. },
  108. }
  109. }
  110. },
  111. watch: {
  112. form: {
  113. deep: true,
  114. immediate: true,
  115. handler(value) {
  116. this.$emit("select", {ScoreExpansion: this.form});
  117. }
  118. }
  119. },
  120. mounted: function () {
  121. if (this.goods_id) this.integral();
  122. },
  123. methods: {
  124. //优惠券列表
  125. integral() {
  126. request({
  127. params: {
  128. r: 'score-expansion/default/goods-setting',
  129. },
  130. method: 'post',
  131. data: {
  132. goods_id: this.goods_id
  133. }
  134. }).then(e => {
  135. if (e.data.code == 0 && !isEmpty(e.data.data)) {
  136. this.form.marketing_model = e.data.data.marketing_model;
  137. if (e.data.data.marketing_model == 1){
  138. e.data.data.list.forEach((item) => {
  139. if (item.integral_wallet_type == 'frozen_integral' && item.parent == 1) this.form.parent_frozen_integral = item;
  140. if (item.integral_wallet_type == 'integral' && item.parent == 1) this.form.parent_integral = item;
  141. if (item.integral_wallet_type == 'frozen_integral' && item.parent != 1) this.form.buy_frozen_integral = item;
  142. if (item.integral_wallet_type == 'integral' && item.parent != 1) this.form.buy_integral = item;
  143. });
  144. }
  145. // else{
  146. // e.data.data.list.forEach((item) => {
  147. // if (item.integral_wallet_type == 'frozen_integral') this.form.frozen_integral = item;
  148. // if (item.integral_wallet_type == 'integral') this.form.integral = item;
  149. // });
  150. // }
  151. }
  152. })
  153. },
  154. }
  155. });
  156. </script>