set.blade.php 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221
  1. @extends('layouts.base')
  2. @section('title', '基础设置')
  3. @section('content')
  4. <link href="{{ static_url('yunshop/element-ui/2.10.1/css/index.css') }}" rel="stylesheet">
  5. <link rel="stylesheet" type="text/css" href="{{static_url('yunshop/goods/vue-goods1.css')}}"/>
  6. <link rel="stylesheet" href="{{static_url('css/public-number.css')}}">
  7. <style>
  8. .dialog-cover{z-index:2001}
  9. .dialog-content{z-index:2002}
  10. </style>
  11. <div class="all">
  12. <div id="app" v-cloak>
  13. <el-form ref="form" :model="form" label-width="15%">
  14. <div class="vue-head">
  15. <div class="vue-main-title">
  16. <div class="vue-main-title-left"></div>
  17. <div class="vue-main-title-content">基础设置</div>
  18. </div>
  19. <div class="vue-main-form">
  20. <el-form-item label="共享合伙人" prop="is_open">
  21. <el-switch v-model="form.is_open" :active-value="1" :inactive-value="0"></el-switch>
  22. </el-form-item>
  23. <el-form-item label="计算基数">
  24. <div style="line-height: 50px">
  25. <el-radio-group v-model="form.cardinality">
  26. <el-radio :label='0'>实际支付金额</el-radio>
  27. <el-radio :label='1'>利润</el-radio>
  28. </el-radio-group>
  29. <div class="tip">实际支付金额为订单实际支付的金额(含余额支付,不含余额抵扣、运费、服务费)
  30. 平台自营、供应商、供应链商品利润为实际支付金额-成本!O2O多商户、酒店插件利润为平台提成部分,自营扫码买单功能利润为实际支付金额。</div>
  31. </div>
  32. </el-form-item>
  33. <el-form-item label="分成比例">
  34. <el-input style="width: 30%;" v-for="(item,index) in form.share_ratio" :key="item.id" v-model="item.value" >
  35. <template slot="prepend">[[item.level_name]]</template>
  36. <template slot="append">%</template>
  37. </el-input>
  38. <div class="tip">所有等级设置比例总和不能超过70%</div>
  39. </el-form-item>
  40. <el-form-item label="分红份数" prop="bonus_set">
  41. <el-switch v-model="form.bonus_set" :active-value="1" :inactive-value="0"></el-switch>
  42. <div class="tip">开启后分红按等级设置条件会员持有的份数进行分红,关闭或没设定的等级则按原来的机制均分<br>公式:分红金额=等级分红总额度/分红份数*对应会员获得的份数<br>封顶金额:对应等级可以获得的最多分红金额</div>
  43. </el-form-item>
  44. <el-form-item label="分成周期">
  45. <div style="line-height: 50px">
  46. <el-radio-group v-model="form.dividend_cycle">
  47. <el-radio :label="0">天</el-radio>
  48. <el-radio :label="1">周</el-radio>
  49. <el-radio :label="2">月</el-radio>
  50. </el-radio-group>
  51. </div>
  52. </el-form-item>
  53. <el-form-item label="结算周期" prop="">
  54. <el-input style="width: 20%;vertical-align:baseline" v-model="form.settlement_cycle">
  55. <template slot="append">天</template>
  56. </el-input>
  57. <div class="tip">计算订单完成后满足设置天数的累计订单,请勿中途修改天数,否则会导致部分订单重复计算分成!</div>
  58. </el-form-item>
  59. <el-form-item label="分成方式">
  60. <div style="line-height: 50px">
  61. <el-radio-group v-model="form.dividend_type">
  62. <el-radio :label="0">等级人数</el-radio>
  63. <el-radio :label="1">达标等级人数</el-radio>
  64. </el-radio-group>
  65. </div>
  66. <div class="tip">等级人数:按该等级总人数分成<br>达标等级人数:满足消费限制的人数分成</div>
  67. </el-form-item>
  68. <el-form-item label="前端显示分成明细" prop="detail_set">
  69. <el-switch v-model="form.detail_set" :active-value="1" :inactive-value="0"></el-switch>
  70. </el-form-item>
  71. <div class="vue-main-title">
  72. <div class="vue-main-title-left"></div>
  73. <div class="vue-main-title-content">分成限制</div>
  74. </div>
  75. <el-form-item label="消费限制">
  76. <div style="line-height: 50px">
  77. <el-radio-group v-model="form.consume_limit">
  78. <el-radio :label="0">周</el-radio>
  79. <el-radio :label="1">月</el-radio>
  80. <el-radio :label="2">季度</el-radio>
  81. </el-radio-group>
  82. </div>
  83. <el-input style="width: 20%;vertical-align:baseline" v-model="form.consume_money">
  84. <template slot="append">元</template>
  85. </el-input>
  86. <div class="tip">分成时上个限制周期(自然周、自然月、自然季度)内自购已支付订单满足条件才可以获得分红!</div>
  87. </el-form-item>
  88. <div class="vue-main-title">
  89. <div class="vue-main-title-left"></div>
  90. <div class="vue-main-title-content">领取限制</div>
  91. </div>
  92. <el-form-item label="手动领取" prop="is_manual">
  93. <el-switch v-model="form.is_manual" :active-value="1" :inactive-value="0"></el-switch>
  94. <div class="tip">开启后,合伙人分成获得为待领取状态,需手动领取才计入收入账户。</div>
  95. </el-form-item>
  96. <el-form-item label="每日领取限制" prop="">
  97. <el-input style="width: 20%;vertical-align:baseline" v-model="form.receive_limit">
  98. <template slot="append">次</template>
  99. </el-input>
  100. <div class="tip">为空或者0为不限制,设置后,合伙人每天最多可以领取设置次数的分红;</div>
  101. </el-form-item>
  102. <el-form-item label="领取激励视频" prop="urge_video">
  103. <el-switch v-model="form.urge_video" :active-value="1" :inactive-value="0"></el-switch>
  104. <div class="tip">开启后合伙人点击领取分红,都需要观看激励视频广告,如果开启该选项,只能在微信小程序、聚合APP中领取分红。</div>
  105. </el-form-item>
  106. <el-form-item label="提示跳转链接" prop="jump_url">
  107. <el-input style="width: 20%;vertical-align:baseline" v-model="form.jump_url">
  108. </el-input>
  109. <div class="tip">非微信小程序、聚合APP端领取提示跳转链接</div>
  110. </el-form-item>
  111. <div class="vue-main-title">
  112. <div class="vue-main-title-left"></div>
  113. <div class="vue-main-title-content">分成说明</div>
  114. </div>
  115. <el-form-item label="" prop="description">
  116. <tinymceee v-model="form.description" style="width:70%"></tinymceee>
  117. </el-form-item>
  118. </div>
  119. </div>
  120. </el-form>
  121. <!-- 分页 -->
  122. <div class="vue-page">
  123. <div class="vue-center">
  124. <el-button type="primary" @click="submitForm()">保存设置</el-button>
  125. </div>
  126. </div>
  127. </div>
  128. </div>
  129. <script src="{{resource_get('static/yunshop/tinymce4.7.5/tinymce.min.js')}}"></script>
  130. @include('public.admin.uploadImg')
  131. @include('public.admin.pop')
  132. @include('public.admin.program')
  133. @include('public.admin.tinymceee')
  134. <script>
  135. var app = new Vue({
  136. el:"#app",
  137. delimiters: ['[[', ']]'],
  138. name: 'test',
  139. data() {
  140. return{
  141. mini_page:'',
  142. page:'',
  143. form:{
  144. is_open:0,
  145. cardinality:0,
  146. dividend_cycle:0,
  147. dividend_type:0,
  148. settlement_cycle:0,
  149. consume_limit:0,
  150. consume_money:0.00,
  151. is_manual:0,
  152. receive_limit:0,
  153. urge_video:0,
  154. jump_url:'',
  155. description:'',
  156. bonus_set:0,
  157. detail_set:1,
  158. share_ratio:[]
  159. },
  160. }
  161. },
  162. created() {
  163. this.getData();
  164. },
  165. mounted() {
  166. },
  167. methods: {
  168. getData() {
  169. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0.2)'});
  170. this.$http.get('{!! yzWebFullUrl('plugin.share-partner.admin.set.detail') !!}').then(function (response) {
  171. if (response.data.result){
  172. this.form = Object.assign(this.form,response.data.data.data);
  173. console.log(this.form.share_ratio);
  174. }
  175. else {
  176. this.$message({message: response.data.msg,type: 'error'});
  177. }
  178. loading.close();
  179. },function (response) {
  180. this.$message({message: response.data.msg,type: 'error'});
  181. loading.close();
  182. }
  183. );
  184. },
  185. submitForm() {
  186. let json = {
  187. set:this.form
  188. };
  189. let loading = this.$loading({target:document.querySelector(".content"),background: 'rgba(0, 0, 0, 0.2)'});
  190. this.$http.post('{!! yzWebFullUrl('plugin.share-partner.admin.set.detail') !!}',json).then(response => {
  191. if (response.data.result) {
  192. this.$message({type: 'success',message: '操作成功!'});
  193. // this.goBack();
  194. } else {
  195. this.$message({message: response.data.msg,type: 'error'});
  196. }
  197. loading.close();
  198. },response => {
  199. loading.close();
  200. });
  201. },
  202. },
  203. })
  204. </script>
  205. @endsection