com-boss.php 6.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160
  1. <template id="com-boss">
  2. <div class="com-boss">
  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. <div v-for="(setting,index) in form">
  9. <el-form-item label="商品是否参与股东分红" prop="is_enable">
  10. <el-switch :active-value="1" :inactive-value="0" v-model="setting.is_enable"></el-switch>
  11. </el-form-item>
  12. <el-form-item label="是否独立设置" prop="is_alone">
  13. <el-switch :active-value="1" :inactive-value="0" v-model="setting.is_alone"></el-switch>
  14. </el-form-item>
  15. <el-row :gutter="16" v-if="setting.is_alone == 1">
  16. <el-col :span="8">
  17. <el-card shadow="always">
  18. <!--永久分红设置 -->
  19. <div slot="header" class="clearfix">
  20. <span>永久分红</span>
  21. </div>
  22. <el-form-item>
  23. <el-col :span="24">
  24. <el-row>
  25. <el-col :span="5"><div class="grid-content bg-purple">股东等级</div></el-col>
  26. <el-col :span="18"><div class="grid-content bg-purple-light">提成比例</div></el-col>
  27. </el-row>
  28. <el-row v-for="(item,index) in level_arr.Boss" :key="index" style="margin-bottom:10px">
  29. <el-col :span="5">{{ item.name }}</el-col>
  30. <el-col :span="18">
  31. <el-input type="number" v-model="setting.detail[item.level].prize" placeholder="输入数值">
  32. <template slot="append">%</template>
  33. </el-input>
  34. </el-col>
  35. </el-row>
  36. </el-col>
  37. </el-form-item>
  38. </el-card>
  39. </el-col>
  40. <el-col :span="8">
  41. <el-card shadow="always">
  42. <div slot="header" class="clearfix">
  43. <span>开启额外分红</span>
  44. <el-switch :active-value="1" :inactive-value="0" v-model="setting.is_extra" style="margin-left: 10px;"></el-switch>
  45. </div>
  46. <!-- 额外分红设置 -->
  47. <el-form-item>
  48. <el-col :span="24">
  49. <el-row>
  50. <el-col :span="5"><div class="grid-content bg-purple">股东等级</div></el-col>
  51. <el-col :span="18"><div class="grid-content bg-purple-light">额外分红比例</div></el-col>
  52. </el-row>
  53. <el-row v-for="(item,index) in level_arr.Boss" :key="index" style="margin-bottom:10px">
  54. <el-col :span="5">{{ item.name }}</el-col>
  55. <el-col :span="18">
  56. <el-input type="number" v-model="setting.detail[item.level].extra_prize" placeholder="输入数值">
  57. <template slot="append">%</template>
  58. </el-input>
  59. </el-col>
  60. </el-row>
  61. </el-col>
  62. </el-form-item>
  63. </el-card>
  64. </el-col>
  65. </el-row>
  66. </div>
  67. </el-form>
  68. </el-card>
  69. </div>
  70. </template>
  71. <script>
  72. Vue.component('com-boss', {
  73. template: "#com-boss",
  74. props: {
  75. goods: {
  76. type: Object,
  77. default: () => {
  78. return {};
  79. }
  80. },
  81. level_arr: {
  82. type: Object,
  83. default: () => {
  84. return {};
  85. }
  86. },
  87. setting: {
  88. type: Object,
  89. default: () => {
  90. return {};
  91. }
  92. },
  93. },
  94. data() {
  95. return {
  96. form: {
  97. commission: {
  98. is_enable: 1,
  99. is_alone: 0,
  100. item_type: 'goods',
  101. commission_type: 'commission',
  102. is_extra: 0,
  103. detail: {}
  104. }
  105. }
  106. }
  107. },
  108. watch: {
  109. setting: {
  110. deep:true,
  111. immediate: true,
  112. handler(value){
  113. if (!isEmpty(value)) {
  114. this.form = value;
  115. }
  116. }
  117. },
  118. level_arr: {
  119. deep:true,
  120. immediate: true,
  121. handler(value){
  122. if (!isEmpty(value)) {
  123. var data = value.Boss;
  124. let detail = {};
  125. var prize = isEmpty(this.form) ? {} : this.form.commission.detail;
  126. Object.keys(data).forEach(function (key) {
  127. var formKey = data[key].level;
  128. Object.assign(detail, {
  129. [formKey]: {
  130. level: data[key].level,
  131. prize: prize[formKey] ? prize[formKey].prize : 0,
  132. extra_prize: prize[formKey] ? prize[formKey].extra_prize : 0
  133. }
  134. });
  135. });
  136. for(let key in this.form) {
  137. this.form[key].detail = detail;
  138. }
  139. }
  140. }
  141. },
  142. form:{
  143. deep:true,
  144. immediate: true,
  145. handler(value){
  146. this.$emit("change",JSON.stringify(value),"Boss");
  147. }
  148. }
  149. }
  150. });
  151. </script>