index.php 11 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222
  1. <?php
  2. /**
  3. * @link:http://www.gdqijianshi.com/
  4. * @copyright: Copyright (c) 2020 广东七件事集团
  5. * Created by PhpStorm
  6. * Author: lun
  7. * Date: 2021-10-23
  8. * Time: 16:11
  9. */
  10. ?>
  11. <div id="app" v-cloak>
  12. <el-card class="box-card" v-loading="loading" shadow="never" style="border:0;min-width: 1500px;"
  13. body-style="background-color: #f3f3f3;padding: 10px 0 0;">
  14. <div slot="header">
  15. <div>
  16. <span>基础设置</span>
  17. </div>
  18. </div>
  19. <div class="form_box">
  20. <el-form :model="ruleForm" size="small" ref="ruleForm" label-width="150px">
  21. <el-card shadow="never">
  22. <div slot="header">
  23. <div>
  24. <span>服务商设置</span>
  25. </div>
  26. </div>
  27. <div>
  28. <el-row>
  29. <el-col :span="16">
  30. <el-form-item label="启用服务商提成" >
  31. <div>
  32. <el-switch v-model="ruleForm.is_enable" :active-value="1" :inactive-value="0"></el-switch>
  33. </div>
  34. <div class="tips-text" style="line-height: 24px;">
  35. 是否开启服务商提成计算
  36. </div>
  37. </el-form-item>
  38. <el-form-item label="推广中心显示">
  39. <div>
  40. <el-switch v-model="ruleForm.is_show_at_center" :active-value="1" :inactive-value="0">
  41. </el-switch>
  42. </div>
  43. </el-form-item>
  44. <el-form-item prop="compute_type" label="佣金计算方式">
  45. <el-col :span="8" style="width:100%;">
  46. <el-radio-group v-model="ruleForm.compute_type" size="small">
  47. <el-radio :label="0" border>实际支付金额(不含运费)</el-radio>
  48. <el-radio :label="1" border>商品利润</el-radio>
  49. <el-radio :label="2" border>商品售价</el-radio>
  50. </el-radio-group>
  51. </el-col>
  52. <div class="tips-text" style="line-height: 24px;">
  53. 商品利润=商品销售价-商品成本价
  54. </div>
  55. </el-form-item>
  56. <el-form-item prop="settlement_method" label="结算方式">
  57. <el-col :span="8" style="width: 100%;">
  58. <el-radio-group v-model="ruleForm.settlement_method" size="small">
  59. <el-radio :label="0" border>支付完成发放</el-radio>
  60. <el-radio :label="1" border>订单完成发放</el-radio>
  61. </el-radio-group>
  62. </el-col>
  63. <div class="tips-text" style="line-height: 24px;">
  64. 计算方式跟结算方式包含加权分红跟出单奖励
  65. </div>
  66. </el-form-item>
  67. <el-form-item prop="compute_period" label="结算周期">
  68. <el-col :span="8">
  69. <el-radio-group v-model="ruleForm.compute_period" size="small">
  70. <el-radio :label="1" border>天</el-radio>
  71. <el-radio :label="2" border>周</el-radio>
  72. <el-radio :label="3" border>月</el-radio>
  73. </el-radio-group>
  74. </el-col>
  75. <div class="tips-text" style="line-height: 24px;">
  76. 佣金结算周期选择
  77. </div>
  78. </el-form-item>
  79. <el-form-item label="团队业绩计算">
  80. <el-col :span="20">
  81. <el-switch v-model="ruleForm.set_team_achievement" :active-value="1" :inactive-value="0"></el-switch>
  82. <div class="tips-text">开启后条件升级“成为服务商后,好友人数____人,下级团队业绩达到____元”此条件才会开始计算好友人数跟团队业绩,否则将不进行计算</div>
  83. </el-col>
  84. </el-form-item>
  85. <el-form-item prop="is_open_level_limit">
  86. <label slot="label">升级等级限制
  87. <el-tooltip class="item" effect="dark"
  88. content="开启后等级只能一级一级往上升级"
  89. placement="top">
  90. <i class="el-icon-info"></i>
  91. </el-tooltip>
  92. </label>
  93. <el-col :span="18">
  94. <el-switch v-model="ruleForm.is_open_level_limit" :active-value="1" :inactive-value="0"></el-switch>
  95. </el-col>
  96. </el-form-item>
  97. <el-form-item prop="is_cloud_stock_open">
  98. <label slot="label">云库存加权分红
  99. <el-tooltip class="item" effect="dark"
  100. content="开启时,只有云库存向平台补货才算加权分红金额。"
  101. placement="top">
  102. <i class="el-icon-info"></i>
  103. </el-tooltip>
  104. </label>
  105. <el-col :span="18">
  106. <el-switch v-model="ruleForm.is_cloud_stock_open" :active-value="1" :inactive-value="0"></el-switch>
  107. </el-col>
  108. </el-form-item>
  109. <el-form-item prop="achievement_count_method" label="总业绩统计方式">
  110. <el-col :span="8" style="width: 100%;">
  111. <el-radio-group v-model="ruleForm.achievement_count_method" size="small">
  112. <el-radio :label="0" border>支付完成</el-radio>
  113. <el-radio :label="1" border>订单完成</el-radio>
  114. </el-radio-group>
  115. </el-col>
  116. </el-form-item>
  117. </el-col>
  118. </el-row>
  119. </div>
  120. </el-card>
  121. </el-form>
  122. <el-button :loading="btnLoading" class="button-item" type="primary" style="margin-top: 24px;"
  123. @click="store('ruleForm')" size="small">保存
  124. </el-button>
  125. </div>
  126. </el-card>
  127. </div>
  128. <script>
  129. const app = new Vue({
  130. el: '#app',
  131. data() {
  132. return {
  133. loading: false,
  134. btnLoading: false,
  135. ruleForm: {
  136. is_enable: 0,
  137. is_show_at_center: 1,
  138. compute_type:0,//佣金计算方式
  139. compute_period:1,//结算周期
  140. settlement_method:0,//结算方式
  141. set_team_achievement:0,//团队业绩计算
  142. is_open_level_limit:0,//升级等级限制
  143. is_cloud_stock_open:0,
  144. achievement_count_method: 0, // 总业绩统计方式
  145. },
  146. }
  147. },
  148. mounted: function () {
  149. this.loadData();
  150. },
  151. methods: {
  152. loadData() {
  153. this.loading = true;
  154. request({
  155. params: {
  156. r: 'serve-bonus/setting/index',
  157. },
  158. method: 'get'
  159. }).then(e => {
  160. this.loading = false;
  161. if (e.data.code == 0 && !isEmpty(e.data.data)) {
  162. this.ruleForm = e.data.data;
  163. }
  164. }).catch(e => {
  165. this.loading = false;
  166. })
  167. },
  168. store(formName) {
  169. this.$refs[formName].validate((valid) => {
  170. if (valid) {
  171. this.btnLoading = true;
  172. request({
  173. params: {
  174. r: 'serve-bonus/setting/index',
  175. },
  176. method: 'post',
  177. data: this.ruleForm
  178. }).then(e => {
  179. this.btnLoading = false;
  180. if (e.data.code == 0) {
  181. this.$message.success(e.data.msg);
  182. } else {
  183. this.$message.error(e.data.msg);
  184. }
  185. }).catch(e => {
  186. this.$message.error(e);
  187. this.btnLoading = false;
  188. })
  189. } else {
  190. this.btnLoading = false;
  191. console.log('error submit!!');
  192. return false;
  193. }
  194. });
  195. },
  196. }
  197. });
  198. </script>
  199. <style>
  200. .form_box {
  201. background-color: #f3f3f3;
  202. padding: 0 0 20px;
  203. }
  204. .button-item {
  205. margin-top: 12px;
  206. padding: 9px 25px;
  207. }
  208. .el-input-group__append {
  209. background-color: #fff;
  210. color: #353535;
  211. }
  212. </style>