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