| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265 |
- <template id="com-serve-bonus">
- <div class="com-serve-bonus">
- <el-card class="edit-card" shadow="never">
- <!-- <div slot="header" class="clearfix">
- <div class="card-title">服务商分红设置<span class="card-sub-title"></span></div>
- </div> -->
- <el-form :model="form" size="small">
- <div v-for="(setting,index) in form">
- <el-form-item label="商品是否参与服务商分红" prop="is_enable">
- <el-switch :active-value="1" :inactive-value="0" v-model="setting.is_enable"></el-switch>
- </el-form-item>
- <el-form-item label="是否独立设置" prop="is_alone">
- <el-switch :active-value="1" :inactive-value="0" v-model="setting.is_alone"></el-switch>
- </el-form-item>
- <el-row :gutter="16" v-if="setting.is_alone == 1">
- <el-col :span="8">
- <el-card shadow="always">
- <!--永久分红设置 -->
- <div slot="header" class="clearfix">
- <span>出单奖励</span>
- </div>
- <el-form-item>
- <el-col :span="24">
- <el-row>
- <el-col :span="5">
- <div class="grid-content bg-purple">奖励类型</div>
- </el-col>
- <el-col :span="18">
- <div class="grid-content bg-purple-light">
- <el-radio-group v-model="setting.is_percent_prize">
- <el-radio :label="0"
- class="grid-content bg-purple">百分比</el-radio>
- <el-radio :label="1"
- class="grid-content bg-purple">固定金额</el-radio>
- </el-radio-group>
- </div>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="5">
- <div class="grid-content bg-purple">服务商等级</div>
- </el-col>
- <el-col :span="18">
- <div class="grid-content bg-purple-light">出单奖励设置</div>
- </el-col>
- </el-row>
- <el-row v-for="(item,index) in level_arr.ServeBonus" :key="index"
- style="margin-bottom:10px">
- <el-col :span="5">{{ item.name }}</el-col>
- <el-col :span="18">
- <el-input v-model="setting.detail[item.level].prize"
- onkeyup="value=toNumber(value,2)" placeholder="输入数值">
- <template slot="append">{{ setting.is_percent_prize == 0 ? '%' : '元'
- }}</template>
- </el-input>
- </el-col>
- </el-row>
- </el-col>
- </el-form-item>
- </el-card>
- </el-col>
- <el-col :span="8">
- <el-card shadow="always">
- <div slot="header" class="clearfix">
- <span>加权分红</span>
- </div>
- <!-- 加权分红设置 -->
- <!-- 额外分红设置 -->
- <el-form-item>
- <el-col :span="24">
- <el-row>
- <el-col :span="5">
- <div class="grid-content bg-purple">分红类型</div>
- </el-col>
- <el-col :span="18">
- <div class="grid-content bg-purple-light">
- <el-radio-group v-model="setting.is_percent_extra">
- <el-radio :label="0"
- class="grid-content bg-purple">百分比</el-radio>
- <el-radio :label="1"
- class="grid-content bg-purple">固定金额</el-radio>
- </el-radio-group>
- </div>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="5">
- <div class="grid-content bg-purple">服务商等级</div>
- </el-col>
- <el-col :span="18">
- <div class="grid-content bg-purple-light">加权分红设置</div>
- </el-col>
- </el-row>
- <el-row v-for="(item,index) in level_arr.ServeBonus" :key="index"
- style="margin-bottom:10px">
- <el-col :span="5">{{ item.name }}</el-col>
- <el-col :span="18">
- <el-input v-model="setting.detail[item.level].extra_prize"
- onkeyup="value=toNumber(value,2)" placeholder="输入数值">
- <template slot="append">{{ setting.is_percent_extra == 0 ? '%' : '元'
- }}</template>
- </el-input>
- </el-col>
- <el-col :span="9">
- <span style="margin: 0 10px 0 20px;">开启叠加分红</span><el-switch
- :active-value="1" :inactive-value="0"
- v-model="setting.detail[item.level].is_accumulation"></el-switch>
- </el-col>
- </el-row>
- </el-col>
- </el-form-item>
- </el-card>
- </el-col>
- <el-col :span="8">
- <el-card shadow="always">
- <div slot="header" class="clearfix">
- <span>云库存业绩分红</span>
- </div>
- <!-- 业绩分红设置 -->
- <el-form-item>
- <el-col :span="24">
- <el-row>
- <el-col :span="5">
- <div class="grid-content bg-purple">分红类型</div>
- </el-col>
- <el-col :span="18">
- <div class="grid-content bg-purple-light">
- <el-radio-group v-model="setting.cloud_stock_achievement_percent">
- <el-radio :label="0"
- class="grid-content bg-purple">百分比</el-radio>
- <el-radio :label="1"
- class="grid-content bg-purple">固定金额</el-radio>
- </el-radio-group>
- </div>
- </el-col>
- </el-row>
- <el-row>
- <el-col :span="5">
- <div class="grid-content bg-purple">服务商等级</div>
- </el-col>
- <el-col :span="18">
- <div class="grid-content bg-purple-light">业绩分红设置</div>
- </el-col>
- </el-row>
- <el-row v-for="(item,index) in level_arr.ServeBonus" :key="index"
- style="margin-bottom:10px">
- <el-col :span="5">{{ item.name }}</el-col>
- <el-col :span="18">
- <el-input v-model="setting.detail[item.level].cloud_stock_achievement_prize"
- onkeyup="value=toNumber(value,2)" placeholder="输入数值">
- <template slot="append">{{ setting.cloud_stock_achievement_percent == 0 ? '%' : '元'
- }}</template>
- </el-input>
- </el-col>
- </el-row>
- </el-col>
- </el-form-item>
- </el-card>
- </el-col>
- </el-row>
- </div>
- </el-form>
- </el-card>
- </div>
- </template>
- <script>
- Vue.component('com-serve-bonus', {
- template: "#com-serve-bonus",
- props: {
- goods: {
- type: Object,
- default: () => {
- return {};
- }
- },
- level_arr: {
- type: Object,
- default: () => {
- return {};
- }
- },
- setting: {
- type: Object,
- default: () => {
- return {};
- }
- },
- },
- data() {
- return {
- form: {
- commission: {
- is_enable: 0,
- is_alone: 0,
- item_type: 'goods',
- commission_type: 'commission',
- is_percent_prize: 1,
- is_percent_extra: 1,
- cloud_stock_achievement_percent:1,
- detail: {}
- }
- }
- }
- },
- watch: {
- setting: {
- deep: true,
- immediate: true,
- handler(value) {
- if (!isEmpty(value)) {
- this.form = value;
- }
- }
- },
- level_arr: {
- deep: true,
- immediate: true,
- handler(value) {
- if (!isEmpty(value)) {
- var data = value.ServeBonus;
- let detail = {};
- var prize = isEmpty(this.form) ? {} : this.form.commission.detail;
- Object.keys(data).forEach(function (key) {
- var formKey = data[key].level;
- Object.assign(detail, {
- [formKey]: {
- level: data[key].level,
- prize: prize[formKey] ? prize[formKey].prize : 0,
- extra_prize: prize[formKey] ? prize[formKey].extra_prize : 0,
- is_accumulation: prize[formKey] ? prize[formKey].is_accumulation : 0,
- cloud_stock_achievement_prize:prize[formKey] ? prize[formKey].cloud_stock_achievement_prize : 0,
- }
- });
- });
- for (let key in this.form) {
- this.form[key].detail = detail;
- }
- }
- }
- },
- form: {
- deep: true,
- immediate: true,
- handler(value) {
- this.$emit("change", JSON.stringify(value), "ServeBonus");
- }
- }
- }
- });
- </script>
|