goods-marketing.php 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244
  1. <div class="goods-marketing">
  2. <el-card class="edit-card" shadow="never">
  3. <div slot="header" class="clearfix">
  4. <div class="card-title">营销设置</div>
  5. </div>
  6. <!-- <el-form-item label="单品满额金额阈值" prop="extra.full_reduce_price_limit">-->
  7. <el-form-item label="是否开启满减">
  8. <template>
  9. <el-switch v-model="ruleForm.extra.enable_full_reduce" active-color="#13ce66" :active-value="1" :inactive-value="0">
  10. </el-switch>
  11. <p class="tips-text">开关开启以后设置的满减才会生效</p>
  12. </template>
  13. </el-form-item>
  14. <el-form-item label="单品满" v-if = "ruleForm.extra.enable_full_reduce == 1">
  15. <el-input type="number" placeholder="请输入金额" class="width-200" v-model="ruleForm.extra.full_reduce_price_limit" onInput="value = toNumber(value, 2)">
  16. <template slot="append">元</template>
  17. </el-input>
  18. <el-input placeholder="请输入金额" class="width-200" v-model="ruleForm.extra.full_reduce_money" onInput="value = toNumber(value, 2)">
  19. <template slot="append">元</template>
  20. </el-input>
  21. <p class="tips-text">订单内商品总售价达到该值,则获得满额减免资格,设为0则不支持满额减免;拥有满额减免资格后,订单内此商品分摊该金额</p>
  22. </el-form-item>
  23. <!-- <el-form-item label="单品满额减免金额" prop="extra.full_reduce_money">-->
  24. <!-- <el-input placeholder="请输入金额" class="width-200" v-model="ruleForm.extra.full_reduce_money">-->
  25. <!-- <template slot="append">元</template>-->
  26. <!-- </el-input>-->
  27. <!-- <p class="tips-text">拥有满额减免资格后,订单内此商品分摊该金额</p>-->
  28. <!-- </el-form-item>-->
  29. <el-form-item label="是否开启积分赠送">
  30. <template>
  31. <el-switch v-model="ruleForm.extra.score_give_setting.enable_give_score" active-color="#13ce66" :active-value="1" :inactive-value="0">
  32. </el-switch>
  33. <p class="tips-text">开关开启以后设置的积分赠送才会生效</p>
  34. </template>
  35. </el-form-item>
  36. <el-form-item label="赠送计算方式" v-if = "ruleForm.extra.score_give_setting.enable_give_score == 1">
  37. <el-select v-model="ruleForm.extra.score_give_setting.calculation_value" placeholder="请选择">
  38. <el-option v-for="item in marketing_score_calculation_list"
  39. :key="item.value"
  40. :label="item.label"
  41. :value="item.value">
  42. </el-option>
  43. </el-select>
  44. </el-form-item>
  45. <el-form-item label="积分赠送" v-if = "ruleForm.extra.score_give_setting.enable_give_score == 1">
  46. <div>
  47. <el-radio-group v-model="ruleForm.extra.score_give_setting.give_type" @change="handleGiveTypeChange('score_give_setting')">
  48. <el-radio :label="1">固定值</el-radio>
  49. <el-radio :label="2">百分比</el-radio>
  50. </el-radio-group>
  51. </div>
  52. <el-input placeholder="请输入积分赠送数量" class="width-200" v-model="ruleForm.extra.score_give_setting.give_num" @input="formatGiveNumber(ruleForm.extra.score_give_setting.give_num, 'score_give_setting')">
  53. <template slot="append">{{ ruleForm.extra.score_give_setting.give_type == 1 ? '积分' : '%'}}</template>
  54. </el-input>
  55. <p class="tips-text">积分赠送百分比只能设置整数,固定值可设置两位小数</p>
  56. <div class="give_score_system" v-if = "ruleForm.extra.score_give_setting.calculation_value == 1">
  57. <p class="tips-text">用户购物赠送的积分,如果不填写或填写0,则默认不赠送积分,如果为百分比则按照订单实付金额的比例计算积分</p>
  58. <p class="tips-text">如: 购买2件,设置10积分,不管订单实付金额是多少,则购买后获得20积分</p>
  59. <p class="tips-text">如:购买2件,设置10%,如售价为100元,会员价优惠20元,则订单实付金额为180元,则购买获取18积分(180x10%)</p>
  60. </div>
  61. <div class="give_score_system" v-else>
  62. <p class="tips-text">用户购物赠送的积分, 如果不填写或填写0,则默认为不赠送积分, 如果为百分比则按售价的比例计算积分</p>
  63. <p class="tips-text">如: 购买2件,设置10 积分, 不管售价是多少, 则购买后获得20积分</p>
  64. <p class="tips-text">如: 购买2件,设置10%积分, 如售价200,2 * 200= 400, 则购买后获得 40 积分(400*10%)</p>
  65. </div>
  66. </el-form-item>
  67. <el-form-item label="积分发放等级" v-if = "ruleForm.extra.score_give_setting.enable_give_score == 1">
  68. <template>
  69. <el-switch v-model="ruleForm.extra.score_give_setting.enable_limit_level" active-color="#13ce66" :active-value="1" :inactive-value="0">
  70. </el-switch>
  71. <p class="tips-text">开关开启以后勾选的等级才发放奖励</p>
  72. </template>
  73. <template v-if="ruleForm.extra.score_give_setting.enable_limit_level == 1">
  74. <el-checkbox-group v-model="ruleForm.extra.score_give_setting.limit_level">
  75. <el-checkbox v-for="(item, index) in member_level_list" :label="item.level" :key="index">{{item.name}}</el-checkbox>
  76. </el-checkbox-group>
  77. </template>
  78. </el-form-item>
  79. <el-form-item label="结算方式" v-if = "ruleForm.extra.score_give_setting.enable_give_score == 1">
  80. <el-radio-group v-model="ruleForm.extra.score_give_setting.settlement">
  81. <el-radio :label="0">订单完成</el-radio>
  82. <el-radio :label="1">支付完成</el-radio>
  83. </el-radio-group>
  84. </el-form-item>
  85. <el-form-item label="是否开启余额赠送">
  86. <template>
  87. <el-switch v-model="ruleForm.extra.balance_give_setting.enable_give_balance" active-color="#13ce66" :active-value="1" :inactive-value="0">
  88. </el-switch>
  89. <p class="tips-text">开关开启以后设置的余额赠送才会生效</p>
  90. </template>
  91. </el-form-item>
  92. <el-form-item label="余额赠送" v-if = "ruleForm.extra.balance_give_setting.enable_give_balance == 1">
  93. <div>
  94. <el-radio v-model="ruleForm.extra.balance_give_setting.give_type" :label="1">固定值</el-radio>
  95. <el-radio v-model="ruleForm.extra.balance_give_setting.give_type" :label="2">百分比</el-radio>
  96. </div>
  97. <el-input placeholder="请输入余额赠送数量" class="width-200" v-model="ruleForm.extra.balance_give_setting.give_num" onInput="value = toNumber(value, 2)">
  98. <template slot="append">{{ ruleForm.extra.balance_give_setting.give_type == 1 ? '余额' : '%'}}</template>
  99. </el-input>
  100. <p class="tips-text">用户购物赠送的余额, 如果不填写或填写0,则默认为不赠送余额, 如果为百分比则按售价的比例计算余额</p>
  101. <p class="tips-text">如: 购买2件,设置10 余额, 不管售价是多少, 则购买后获得20余额</p>
  102. <p class="tips-text">如: 购买2件,设置10%余额, 如售价200,2 * 200= 400, 则购买后获得 40 余额(400*10%)</p>
  103. </el-form-item>
  104. <el-form-item label="结算方式" v-if = "ruleForm.extra.balance_give_setting.enable_give_balance == 1">
  105. <el-radio-group v-model="ruleForm.extra.balance_give_setting.settlement">
  106. <el-radio :label="0">订单完成</el-radio>
  107. <el-radio :label="1">支付完成</el-radio>
  108. </el-radio-group>
  109. </el-form-item>
  110. <el-form-item label="积分抵扣">
  111. <el-col :span="16">
  112. <el-switch :active-value="1" :inactive-value="0" v-model="ruleForm.extra.score_deduct_setting.is_enable"></el-switch>
  113. </el-col>
  114. </el-form-item>
  115. <template v-if="ruleForm.extra.score_deduct_setting.is_enable == 1">
  116. <el-form-item label="抵扣设置">
  117. <div>
  118. <el-radio v-model="ruleForm.extra.score_deduct_setting.type" :label="1">固定值</el-radio>
  119. <el-radio v-model="ruleForm.extra.score_deduct_setting.type" :label="2">百分比</el-radio>
  120. </div>
  121. <el-input type="number" placeholder="请输入积分抵扣数量" class="width-200" v-model="ruleForm.extra.score_deduct_setting.deduct_num" onInput="value = toNumber(value, 2)">
  122. <template slot="append">
  123. <span v-if="ruleForm.extra.score_deduct_setting.type == 1">元</span>
  124. <span v-else>%</span>
  125. </template>
  126. </el-input>
  127. <div>
  128. <el-radio v-model="ruleForm.extra.score_deduct_setting.deduct_type" :label="1">单件抵扣</el-radio>
  129. <el-radio v-model="ruleForm.extra.score_deduct_setting.deduct_type" :label="2">多件累计不叠加抵扣</el-radio>
  130. <el-radio v-model="ruleForm.extra.score_deduct_setting.deduct_type" :label="3">按数量叠加抵扣(可抵扣金额 = 商品数量 x 抵扣金额)</el-radio>
  131. </div>
  132. </el-form-item>
  133. </template>
  134. <!-- <div v-for="(item ,key) in ruleForm.extra.currency_deduct_setting" style="border-top: 1px solid #EBEEF5; padding-top: 20px;">
  135. <el-form-item label="">
  136. <template slot="label">{{item.name}}赠送</template>
  137. <div>
  138. <el-radio v-model="item.give_type" :label="1">固定值</el-radio>
  139. <el-radio v-model="item.give_type" :label="2">百分比</el-radio>
  140. </div>
  141. <el-input placeholder="请输入赠送数量" class="width-200" v-model="item.give_num">
  142. <template slot="append">{{item.name}}</template>
  143. </el-input>
  144. </el-form-item>
  145. <el-form-item label="">
  146. <template slot="label">{{item.name}}抵扣</template>
  147. <el-input placeholder="请输入抵扣金额" class="width-350" v-model="item.forehead_num">
  148. <template slot="prepend">最多抵扣</template>
  149. <template slot="append">元</template>
  150. </el-input>
  151. <p class="tips-text">如果设置0,则不支持{{item.name}}抵扣</p>
  152. <div style="padding-top: 10px;">
  153. <el-radio-group v-model="item.deduct_type">
  154. <el-radio label="1">单件抵扣</el-radio>
  155. <el-radio label="2">多件累计抵扣</el-radio>
  156. </el-radio-group>
  157. </div>
  158. </el-form-item>
  159. </div> -->
  160. </el-card>
  161. <!-- 复购设置 -->
  162. <el-card class="edit-card" shadow="never">
  163. <div slot="header" class="clearfix">
  164. <div class="card-title">复购价设置</div>
  165. </div>
  166. <el-form-item label="是否开启复购价设置" prop="is_repurchase">
  167. <el-switch v-model="ruleForm.extra.is_repurchase" :active-value="1" :inactive-value="0"></el-switch>
  168. </el-form-item>
  169. <div v-if="ruleForm.extra.is_repurchase == 1">
  170. <div v-for="(v, k) in ruleForm.extra.repurchase_setting" style="padding-bottom:10px">
  171. <div style="display:flex;align-items:center">
  172. <div class="el-col el-col-3">
  173. <el-input v-model="v.start" type="number" size="small" @input="setRepurchase(k, 'start', v.start)">
  174. <template slot="append">件</template>
  175. </el-input>
  176. </div>
  177. <div style="padding: 0 7px;font-size:22px;font-weight:600px">~</div>
  178. <div class="el-col el-col-3">
  179. <el-input v-model="v.end" type="number" size="small" @input="setRepurchase(k, 'end', v.end)">
  180. <template slot="append">件</template>
  181. </el-input>
  182. </div>
  183. <div class="el-col el-col-4" style="margin-left:12px;">
  184. <el-input v-model="v.price" type="number" size="small" @input="setRepurchase(k, 'price', v.price)">
  185. <template slot="append">元/件</template>
  186. </el-input>
  187. </div>
  188. <div style="margin-left:12px">
  189. <el-button type="danger" icon="el-icon-delete" size="small" @click="delRepurchaseItem(k)"></el-button>
  190. </div>
  191. </div>
  192. </div>
  193. <div style="margin-top:10px;">
  194. <el-button size="small" type="primary" @click="appendRepurchaseItem">添加价位</el-button>
  195. </div>
  196. </div>
  197. </el-card>
  198. <component v-if="show_addons" v-for="(addons,index) in show_addons" :key="index" v-bind:is="addons.component" @select="addons_data_change" :goods_id="goodsId"></component>
  199. <!-- 数字币设置 -->
  200. <div v-if="digital_name">
  201. <el-card class="edit-card" shadow="never">
  202. <div slot="header" class="clearfix">
  203. <div class="card-title">数字币赠送设置</div>
  204. </div>
  205. <el-form-item :label="digital_name +'赠送设置'">
  206. <el-switch v-model="ruleForm.extra.digital_give_setting.is_enable" :active-value="1" :inactive-value="0"></el-switch>
  207. </el-form-item>
  208. <el-form-item label="赠送类型">
  209. <div>
  210. <el-radio v-model="ruleForm.extra.digital_give_setting.give_type" :label="1">固定值</el-radio>
  211. <el-radio v-model="ruleForm.extra.digital_give_setting.give_type" :label="2">百分比</el-radio>
  212. </div>
  213. </el-form-item>
  214. <el-form-item label="赠送数量">
  215. <el-input type="number" placeholder="请输入赠送数量" class="width-200" v-model="ruleForm.extra.digital_give_setting.give_num" onInput="value = toNumber(value, 2)">
  216. <template slot="append">{{ ruleForm.extra.digital_give_setting.give_type == 1 ? '个' : '%'}}</template>
  217. </el-input>
  218. </el-form-item>
  219. <el-form-item label="结算方式">
  220. <el-radio-group v-model="ruleForm.extra.digital_give_setting.settlement">
  221. <el-radio :label="0">订单完成</el-radio>
  222. <el-radio :label="1">支付完成</el-radio>
  223. </el-radio-group>
  224. </el-form-item>
  225. </el-card>
  226. </div>
  227. <div class="bottom-btns" flex="main:center cross:center">
  228. <el-button size="mini" type="primary" @click="submit()">保存</el-button>
  229. </div>
  230. </div>