@@ -0,0 +1,530 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#agentIndex {
|
||||
color: #444;
|
||||
background: #fff;
|
||||
padding-bottom: 30px;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
|
||||
.shopro-reset-button {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.reject-reason-item {
|
||||
width: 140px;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.shopro-edit-cancel {
|
||||
color: #848089;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.theme-cursor {
|
||||
color: #6E3DC8;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
body .table-image {
|
||||
border-radius: 15px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.shopro-refresh-button {
|
||||
margin-right: 20px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.shopro-screen-item-vague .shopro-screen-condition {
|
||||
width: 242px;
|
||||
}
|
||||
|
||||
.shopro-screen-item-vague .el-select {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.agent-apply-item-tip {
|
||||
font-size: 12px;
|
||||
line-height: 12px;
|
||||
color: #58575A;
|
||||
margin-bottom: 14px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.agent-apply-item {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.agent-apply-item-identity {
|
||||
width: 153px;
|
||||
min-height: 42px;
|
||||
background: #E6E6E6;
|
||||
border-radius: 4px;
|
||||
overflow: hidden;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.agent-apply-item-tip-delete {
|
||||
color: #F49300;
|
||||
cursor: pointer;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.color-ED655F {
|
||||
color: #ED655F;
|
||||
}
|
||||
|
||||
.theme-cursor {
|
||||
color: #6E3DC8;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.color-999 {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.color-0ACE97 {
|
||||
color: #0ACE97;
|
||||
}
|
||||
|
||||
.popover-container .table-image-identity {
|
||||
width: 100px;
|
||||
height: 60px;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.unit-tip-item {
|
||||
color: #626066;
|
||||
font-size: 12px;
|
||||
margin-left: 6px;
|
||||
line-height: 18px;
|
||||
}
|
||||
|
||||
.nice-validator .el-input__inner {
|
||||
vertical-align: baseline !important;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="agentIndex" v-cloak v-loading="isAjax">
|
||||
<div class="shopro-tabs-container">
|
||||
<el-tabs v-model="activeTabsName" @tab-click="tabshandleClick">
|
||||
<el-tab-pane v-for="tabs in tabsList" :label="tabs.label" :name="tabs.name"></el-tab-pane>
|
||||
</el-tabs>
|
||||
</div>
|
||||
<div class="shopro-screen-container">
|
||||
<div class="shopro-button shopro-refresh-button" @click="getListData">
|
||||
<i class="el-icon-refresh"></i>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item shopro-screen-item-vague">
|
||||
<div class="shopro-screen-condition">
|
||||
<el-input placeholder="请输入内容" v-model="searchForm.form_1_value" class="input-with-select" size="small">
|
||||
<el-select v-model="searchForm.form_1_key" slot="prepend" placeholder="请选择">
|
||||
<el-option label="会员ID" value="user_id"></el-option>
|
||||
<el-option label="会员昵称" value="nickname"></el-option>
|
||||
<el-option label="手机号" value="mobile"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">分销商等级</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.level" placeholder="请选择" size="small">
|
||||
<el-option v-for="item in agentLevelList" :key="item.level"
|
||||
:label="item.level!='all'?item.name+'(等级'+item.level+')':item.name" :value="item.level">
|
||||
{{item.name}}
|
||||
<span v-if="item.level!='all'">(等级{{item.level}})</span>
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item" v-if="activeTabsName!='pending'">
|
||||
<div class="shopro-screen-tip">审核状态</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.status" placeholder="请选择" size="small">
|
||||
<el-option v-for="item in agentStatusOptions" :key="item.value" :label="item.label"
|
||||
:value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">申请时间</div>
|
||||
<div>
|
||||
<el-date-picker v-model="searchForm.createtime" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="small" format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div> -->
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">更新时间</div>
|
||||
<div>
|
||||
<el-date-picker v-model="searchForm.updatetime" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="small" format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item-button">
|
||||
<div class="shopro-button shopro-reset-button" @click="screenEmpty">重置</div>
|
||||
<div class="shopro-button shopro-screen-button" @click="handleCurrentChange(1)">筛选</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shopro-table-container" v-loading="isAjaxtable">
|
||||
<el-table v-if="activeTabsName=='all'" :data="listData" border stripe :cell-class-name="tableCellClassName"
|
||||
:header-cell-class-name="tableCellClassName">
|
||||
<el-table-column label="ID" prop="user_id" width="70">
|
||||
</el-table-column>
|
||||
<el-table-column label="分销商信息" width="220">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.user" class="display-flex">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.user.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item">{{scope.row.user.nickname?scope.row.user.nickname:'-'}}</div>
|
||||
</div>
|
||||
<div v-else>-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="手机号" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.user && scope.row.user.mobile">{{scope.row.user.mobile}}</div>
|
||||
<div v-else>-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="等级" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex">
|
||||
<div class="ellipsis-item">
|
||||
<span>{{(scope.row.agent_level &&
|
||||
scope.row.agent_level.name)?scope.row.agent_level.name:'-'}}</span>
|
||||
<span>(等级{{scope.row.level}})</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="累计佣金" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.total_income}}<span class="unit-tip-item">元</span></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="消费金额" min-width="100">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.user?scope.row.user.total_consume:'-'}}<span class="unit-tip-item">元</span></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="直推分销业绩" min-width="200">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.order_money}}元/{{scope.row.order_count}}单</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="上级分销商" min-width="140">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.parent_agent && scope.row.parent_agent_id!=0" class="display-flex"
|
||||
@click="operation('edit',scope.row.parent_agent.id)">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.parent_agent.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item theme-cursor">
|
||||
{{scope.row.parent_agent.nickname?scope.row.parent_agent.nickname:'-'}}</div>
|
||||
</div>
|
||||
<div style="justify-content: center;" v-else>-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="一级用户人数" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span v-if="scope.row.user">{{scope.row.user.child_user_count_1}}
|
||||
<span class="unit-tip-item">人</span>
|
||||
</span>
|
||||
<span v-else>-</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="一级分销商人数" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.child_agent_count_1}}<span class="unit-tip-item">人</span></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="状态" width="100">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex">
|
||||
<span v-if="scope.row.status=='normal'" class="display-flex">
|
||||
<span class="shopro-status-dot shopro-status-normal-dot"></span>
|
||||
<span class="shopro-status-normal">{{scope.row.status_text}}</span>
|
||||
</span>
|
||||
<span v-else-if="scope.row.status=='forbidden'" class="display-flex">
|
||||
<span class="shopro-status-dot shopro-status-nonormal-dot"></span>
|
||||
<span class="shopro-status-nonormal">{{scope.row.status_text}}</span>
|
||||
</span>
|
||||
<span v-else-if="scope.row.status=='pending'" class="display-flex">
|
||||
<span class="shopro-status-dot shopro-status-default-dot"></span>
|
||||
<span class="shopro-status-default">{{scope.row.status_text}}</span>
|
||||
</span>
|
||||
<span v-else-if="scope.row.status=='freeze'" class="display-flex">
|
||||
<span class="shopro-status-dot shopro-status-special-dot"></span>
|
||||
<span class="shopro-status-special">{{scope.row.status_text}}</span>
|
||||
</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{moment(scope.row.createtime*1000).format("YYYY-MM-DD HH:mm:ss")}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" min-width="80">
|
||||
<template slot-scope="scope">
|
||||
<div class="theme-cursor" @click="operation('edit',scope.row.user_id)">
|
||||
查看
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table v-if="activeTabsName=='pending'" :data="listData" border stripe :cell-class-name="tableCellClassName2"
|
||||
:header-cell-class-name="tableCellClassName2">
|
||||
<el-table-column label="ID" prop="user_id" width="70">
|
||||
</el-table-column>
|
||||
<el-table-column label="分销商信息" min-width="240">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.user" class="display-flex">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.user.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item">{{scope.row.user.nickname?scope.row.user.nickname:'-'}}</div>
|
||||
</div>
|
||||
<div v-else>-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="资料审核" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="platform-name display-flex-c">
|
||||
<el-popover placement="bottom" trigger="hover">
|
||||
<div class="popover-container">
|
||||
<template v-if="scope.row.apply_info!=''">
|
||||
<div class="display-flex"
|
||||
:style="{marginBottom: (scope.row.apply_info && JSON.parse(scope.row.apply_info).length-1)>index?'14px':0}"
|
||||
v-for="(item,index) in JSON.parse(scope.row.apply_info)">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">{{item.name}}</div>:
|
||||
</div>
|
||||
<div v-if="item.type=='input' || item.type=='number'">{{item.value}}</div>
|
||||
<div class="table-image table-image-identity" v-if="item.type=='image'">
|
||||
<el-image :src="Fast.api.cdnurl(item.value)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
<div v-if="!scope.row.apply_info" style="text-align: center;">
|
||||
-
|
||||
</div>
|
||||
</div>
|
||||
<span class="ellipsis-item cursor-pointer" slot="reference">
|
||||
<span class="color-ED655F" v-if="scope.row.info_status==-1">已驳回</span>
|
||||
<span class="color-999" v-if="scope.row.info_status==0">未完善</span>
|
||||
<span class="color-0ACE97" v-if="scope.row.info_status==1">已完善</span>
|
||||
<span v-if="scope.row.info_status==null">无需资料</span>
|
||||
</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="等级" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex">
|
||||
<div class="ellipsis-item">
|
||||
<span>
|
||||
{{(scope.row.agent_level &&
|
||||
scope.row.agent_level.name)?scope.row.agent_level.name:'-'}}
|
||||
</span>
|
||||
<span>(等级{{scope.row.level}})</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="上级分销商" min-width="140">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.parent_agent && scope.row.parent_agent_id!=0" class="display-flex"
|
||||
@click="operation('edit',scope.row.parent_agent.id)">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.parent_agent.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item theme-cursor">
|
||||
{{scope.row.parent_agent.nickname?scope.row.parent_agent.nickname:'-'}}
|
||||
</div>
|
||||
</div>
|
||||
<div style="justify-content: center;" v-else>-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="消费金额" width="140">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.user?scope.row.user.total_consume:'-'}}<span class="unit-tip-item">元</span></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="推广人数" width="140">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span v-if="scope.row.user">{{scope.row.user.child_user_count_1}}</span>
|
||||
<span v-if="!scope.row.user">-</span>
|
||||
<span class="unit-tip-item">人</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="提交次数" width="100">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.apply_num}}<span class="unit-tip-item">次</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="更新时间" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{moment(scope.row.updatetime*1000).format("YYYY-MM-DD HH:mm:ss")}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" width="150">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{moment(scope.row.createtime*1000).format("YYYY-MM-DD HH:mm:ss")}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" min-width="220">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span class="theme-cursor" style="margin-right: 14px;"
|
||||
@click="operation('edit',scope.row.user_id)">
|
||||
查看
|
||||
</span>
|
||||
<span style="margin-right: 14px;cursor: pointer;color:#687FF4"
|
||||
v-if="scope.row.info_status==0 || scope.row.info_status==-1"
|
||||
@click="operation('edit',scope.row.user_id)">辅助填写</span>
|
||||
<span class="shopro-edit-text" v-if="scope.row.info_status==0 || scope.row.info_status==1"
|
||||
@click="operation('agree',scope.row.user_id,scope.row)">同意</span>
|
||||
<span class="shopro-edit-text" v-if="scope.row.info_status==null"
|
||||
@click="operation('agree-null-status',scope.row.user_id)">同意</span>
|
||||
<span class="agent-apply-item-tip-delete" v-if="scope.row.info_status==1"
|
||||
@click="operation('reject',scope.row.user_id)">驳回</span>
|
||||
<span class="shopro-delete-text" slot="reference" v-if="scope.row.info_status==1"
|
||||
@click="operation('del',scope.row.user_id)">删除</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<el-table v-if="activeTabsName=='1'" :data="listData" border stripe :cell-class-name="tableCellClassName3"
|
||||
:header-cell-class-name="tableCellClassName3">
|
||||
<el-table-column label="ID" prop="user_id" width="70">
|
||||
</el-table-column>
|
||||
<el-table-column label="分销商名称" min-width="240">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.user" class="display-flex">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.user.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item">{{scope.row.user.nickname?scope.row.user.nickname:'-'}}</div>
|
||||
</div>
|
||||
<div v-else>-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="当前等级" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex">
|
||||
<div class="ellipsis-item">
|
||||
<span>{{(scope.row.agent_level &&
|
||||
scope.row.agent_level.name)?scope.row.agent_level.name:'-'}}</span>
|
||||
<span>(等级{{scope.row.level}})</span>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="升级之后的等级" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.level_status_text?scope.row.level_status_text:'-'}}(等级{{scope.row.level_status}})
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="创建时间" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{moment(scope.row.createtime*1000).format("YYYY-MM-DD HH:mm:ss")}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="消费金额(元)" min-width="140">
|
||||
<template slot-scope="scope">
|
||||
<div>{{scope.row.user?scope.row.user.total_consume:'-'}}<span class="unit-tip-item">元</span></div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="推广人数" width="140">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span v-if="scope.row.user">
|
||||
{{scope.row.user.child_user_count_1}}<span class="unit-tip-item">人</span>
|
||||
</span>
|
||||
<span v-else="scope.row.user">-</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column fixed="right" label="操作" min-width="190">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span class="shopro-edit-text color-0ACE97" v-if="scope.row.level_status_text"
|
||||
@click="operation('update-agree',scope.row.user_id,scope.row.level_status)">同意</span>
|
||||
<span style="margin-right: 12px;" v-if="!scope.row.level_status_text">未找到等级</span>
|
||||
<span class="shopro-delete-text" v-if="scope.row.level_status!=0"
|
||||
@click="operation('update-refuse',scope.row.user_id,0)">{{scope.row.level_status_text?'拒绝':'删除'}}</span>
|
||||
<span class="shopro-edit-text" @click="operation('edit',scope.row.user_id)">查看</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="shopro-pagination-container">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" :current-page="currentPage"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalPage">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
文件差异内容过多而无法显示
加载差异
@@ -0,0 +1,281 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#agentTeam {
|
||||
color: #58575A;
|
||||
font-size: 12px;
|
||||
padding: 10px;
|
||||
font-family: Noto Sans SC;
|
||||
font-weight: 400;
|
||||
}
|
||||
|
||||
.theme-cursor {
|
||||
color: #6E3DC8;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.crumbs-item-container {
|
||||
margin: 0 0px 20px;
|
||||
width: auto;
|
||||
overflow-x: auto;
|
||||
}
|
||||
|
||||
.crumbs-item-1 {
|
||||
color: #626066;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.crumbs-item-1:hover,
|
||||
.crumbs-item-id:hover {
|
||||
color: #6E3DC8;
|
||||
}
|
||||
|
||||
.crumbs-item {
|
||||
color: #9E9E9E;
|
||||
}
|
||||
|
||||
.crumbs-item-id {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.crumbs-item i {
|
||||
margin: 0 10px;
|
||||
}
|
||||
|
||||
.shopro-screen-container .shopro-screen-condition {
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
.shopro-screen-container .shopro-screen-condition-1 {
|
||||
width: 240px;
|
||||
}
|
||||
|
||||
.shopro-screen-container .shopro-screen-item {
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.agent-dashboard {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.agent-dashboard-contanmer {
|
||||
padding: 14px 14px 0;
|
||||
box-shadow: 0px 0px 4px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 4px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.agent-dashboard-contanmer-nodata {
|
||||
padding-bottom: 14px;
|
||||
}
|
||||
|
||||
.agent-dashboard-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.agent-dashboard-item-tip {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.shopro-screen-container,
|
||||
.shopro-table-container{
|
||||
padding: 0;
|
||||
}
|
||||
.shopro-pagination-container {
|
||||
padding: 30px 0 10px;
|
||||
}
|
||||
|
||||
.table-dashboard-item-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #8644F2;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dot-2 {
|
||||
background: #E6A93C;
|
||||
}
|
||||
|
||||
.dot-3 {
|
||||
background: #687FF4;
|
||||
}
|
||||
|
||||
.dot-4 {
|
||||
background: #F08972;
|
||||
}
|
||||
|
||||
.dot-5 {
|
||||
background: #EC5B55;
|
||||
}
|
||||
|
||||
.el-cascader-node.in-active-path,
|
||||
.el-cascader-node.is-active,
|
||||
.el-cascader-node.is-selectable.in-checked-path {
|
||||
color: #8644F2;
|
||||
font-weight: 700;
|
||||
}
|
||||
|
||||
.unit-tip-item{
|
||||
color: #626066;
|
||||
font-size: 12px;
|
||||
margin-left: 6px;
|
||||
line-height: 18px;
|
||||
}
|
||||
.shopro-container-scrollbar::-webkit-scrollbar{
|
||||
height: 6px;
|
||||
}
|
||||
.el-popover-container{
|
||||
width: 170px;
|
||||
height: 200px;
|
||||
overflow: auto;
|
||||
}
|
||||
.el-checkbox-group{
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
}
|
||||
.el-icon-container{
|
||||
font-size: 16px;
|
||||
color: #626662;
|
||||
}
|
||||
.flex-between{
|
||||
justify-content: space-between;
|
||||
}
|
||||
.shopro-screen-item{
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
.filter-color-normal {
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.filter-color-forbidden{
|
||||
color: #ED655F;
|
||||
}
|
||||
|
||||
.filter-color-pending{
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.filter-color-freeze{
|
||||
color: #687FF4;
|
||||
}
|
||||
.nice-validator .el-input__inner{
|
||||
vertical-align: baseline !important;
|
||||
}
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="agentTeam" v-cloak>
|
||||
<div class="crumbs-item-container shopro-container-scrollbar">
|
||||
<span class="crumbs-item-1" @click="operation('clickteamdelete')" v-if="parent_user[0]">{{blockSearchId}}</span>
|
||||
<span class="crumbs-item" v-for="(titem,tindex) in tableIdArr">
|
||||
<i class="el-icon-arrow-right"></i>
|
||||
<span class="crumbs-item-id" v-if="tindex<tableIdArr.length-1"
|
||||
@click="operation('clickteamdelete',titem)">{{titem}}</span>
|
||||
<span v-if="tindex==tableIdArr.length-1">{{titem}}</span>
|
||||
</span>
|
||||
</div>
|
||||
<div class="display-flex flex-between">
|
||||
<div class="shopro-screen-container">
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-condition shopro-screen-condition-1">
|
||||
<el-input placeholder="请输入内容" v-model="searchForm.form_1_value" class="input-with-select" size="small"
|
||||
@input="debounceFilter">
|
||||
<el-select v-model="searchForm.form_1_key" slot="prepend" placeholder="请选择">
|
||||
<el-option label="会员ID" value="id"></el-option>
|
||||
<el-option label="会员昵称" value="nickname"></el-option>
|
||||
<el-option label="会员手机号" value="mobile"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">分销商等级</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.level" placeholder="请选择" size="small" @change="debounceFilter">
|
||||
<el-option v-for="item in agentLevelList" :key="item.level" :label="item.name+'(等级'+item.level+')'"
|
||||
:value="item.level">
|
||||
{{item.name}}(等级{{item.level}})
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<el-popover
|
||||
placement="bottom"
|
||||
width="170"
|
||||
trigger="click">
|
||||
<div class="el-popover-container shopro-container-scrollbar">
|
||||
<el-checkbox-group v-model="dashboardIdList">
|
||||
<el-checkbox :label="item.value" v-for="item in dashboardList">{{item.label}}</el-checkbox>
|
||||
</el-checkbox-group>
|
||||
</div>
|
||||
<span slot="reference" class="el-icon-container">
|
||||
<i class="el-icon-s-grid"></i>
|
||||
<i class="el-icon-caret-bottom"></i>
|
||||
</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div v-loading="teamAjax">
|
||||
<div style="margin-bottom: 14px;">
|
||||
<el-table :data="parent_user" border>
|
||||
<template v-for="(item, index) in columns">
|
||||
<el-table-column :key="index" :fixed="item.fixed" :prop="item.field"
|
||||
:align="item.align ? item.align : 'center'" :min-width="item.width" v-if="dashboardIdList.includes(item.field)">
|
||||
<template slot="header" slot-scope="scope">
|
||||
<div>
|
||||
{{item.field=='avatar-nickname'?'当前用户':item.title}}
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<template>
|
||||
<div class="display-flex" v-if="item.type=='vhtml'" v-html="item.formatter(scope.row,item.outterfield,item.field)">
|
||||
</div>
|
||||
<div class="display-flex" v-if="item.type=='click'" v-html="item.formatter(scope.row,item.outterfield,item.field)"></div>
|
||||
<div v-if="item.type=='vmodel'">{{scope.row[item.field]}}</div>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="shopro-table-container">
|
||||
<el-table :data="teamList" border>
|
||||
<template v-for="(item, index) in columns">
|
||||
<el-table-column :key="index" :fixed="item.fixed" :prop="item.field"
|
||||
:align="item.align ? item.align : 'center'" :min-width="item.width" v-if="dashboardIdList.includes(item.field)">
|
||||
<template slot="header" slot-scope="scope">
|
||||
<div>
|
||||
{{item.title}}
|
||||
</div>
|
||||
</template>
|
||||
<template slot-scope="scope">
|
||||
<template>
|
||||
<div class="display-flex" v-if="item.type=='vhtml'" v-html="item.formatter(scope.row,item.outterfield,item.field)">
|
||||
</div>
|
||||
<div class="display-flex" style="cursor: pointer;color:#8644F2;" v-if="item.type=='click'" v-html="item.formatter(scope.row,item.outterfield,item.field)"
|
||||
@click="operation('clickteam',scope.row.id)"></div>
|
||||
<div v-if="item.type=='vmodel'">{{scope.row[item.field]}}</div>
|
||||
</template>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</template>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shopro-pagination-container">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange" pager-count="5"
|
||||
:current-page="currentPage" :page-size="limit" :page-sizes="[10, 20, 30, 40]" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalPage">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,645 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#indexPage {
|
||||
border-radius: 10px 10px 0px 0px;
|
||||
color: #444;
|
||||
font-weight: 500;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
padding: 0 0 0 100px;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
margin-bottom: 16px;
|
||||
}
|
||||
|
||||
.become-register-row {
|
||||
display: flex;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.become-register-row-title {
|
||||
background: #f9f9f9;
|
||||
border: none;
|
||||
}
|
||||
|
||||
|
||||
.become-register-row-item {
|
||||
width: 260px;
|
||||
min-width: 260px;
|
||||
padding: 0 20px;
|
||||
line-height: 44px;
|
||||
}
|
||||
|
||||
.become-register-row-item-center {
|
||||
width: 240px;
|
||||
min-width: 240px;
|
||||
}
|
||||
|
||||
.become-register-row-title .become-register-row-item {
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.become-register-row-item-last {
|
||||
width: 130px;
|
||||
min-width: 130px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.become_register-contaoner {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.become_register_add-button {
|
||||
cursor: pointer;
|
||||
color: #7438D5;
|
||||
width: 60px;
|
||||
margin-top: 16px;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.become_register_add-button i {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.become_register_delete {
|
||||
color: #FF5959;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.become-register-row-frist {
|
||||
width: 90px;
|
||||
color: rgba(0, 0, 0, 0);
|
||||
}
|
||||
|
||||
#draggableHandle {
|
||||
cursor: move;
|
||||
margin-left: 18px;
|
||||
font-size: 16px;
|
||||
}
|
||||
|
||||
.seat-item {
|
||||
display: none;
|
||||
padding: 0 20px;
|
||||
color: #7438D5;
|
||||
height: 44px;
|
||||
line-height: 44px;
|
||||
}
|
||||
|
||||
.sortable-ghost .seat-item {
|
||||
display: block;
|
||||
}
|
||||
|
||||
.sortable-ghost .become_register-contaoner {
|
||||
display: none;
|
||||
}
|
||||
|
||||
.apply_protocol-select {
|
||||
color: #7438D5;
|
||||
cursor: pointer;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.shopro-submit-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
align-items: center;
|
||||
width: calc(100% - 30px);
|
||||
height: 60px;
|
||||
padding: 0 16px;
|
||||
position: fixed;
|
||||
bottom: 0px;
|
||||
right: 16px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.shopro-submit-button {
|
||||
width: 88px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
background: #7438D5;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.shopro-default-button {
|
||||
width: 88px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.title-tip {
|
||||
color: #999;
|
||||
line-height: 13px;
|
||||
font-size: 13px;
|
||||
font-weight: 400;
|
||||
margin-top: 14px;
|
||||
}
|
||||
|
||||
.bgimage-add-container {
|
||||
border: 1px solid #e6e6e6;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.bgimage-add {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 30px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.goods-add {
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
border-radius: 4px;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
background: #7438D5;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-form-item__label,
|
||||
.el-radio__label,
|
||||
.el-input,
|
||||
.el-select-dropdown__item {
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.form-group-area {
|
||||
padding-bottom: 10px;
|
||||
background: #f00;
|
||||
background: #FFFFFF;
|
||||
border-radius: 4px;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.shopro-goods-header {
|
||||
height: 40px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
background: #f9f9f9;
|
||||
}
|
||||
|
||||
.shopro-goods-body {
|
||||
height: 50px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
border-top: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.shopro-goods-title {
|
||||
width: 280px;
|
||||
min-width: 280px;
|
||||
display: flex;
|
||||
height: 50px;
|
||||
align-items: center;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.shopro-goods-stock {
|
||||
width: 120px;
|
||||
min-width: 120px;
|
||||
}
|
||||
|
||||
.shopro-goods-opt {
|
||||
width: 160px;
|
||||
min-width: 160px;
|
||||
}
|
||||
|
||||
.shopro-goods-image {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
|
||||
border: 1px solid #E6E6E6;
|
||||
box-sizing: border-box;
|
||||
border-radius: 2px;
|
||||
margin-right: 12px
|
||||
}
|
||||
|
||||
.shopro-goods-add-button {
|
||||
cursor: pointer;
|
||||
color: #7438D5;
|
||||
font-size: 13px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.shopro-goods-add-button i {
|
||||
margin-right: 6px;
|
||||
}
|
||||
.shopro-form-group-title-href,.shopro-form-group-title-href:hover,.shopro-form-group-title-href:focus{
|
||||
color: #7438D5;
|
||||
}
|
||||
.shopro-form-group-title-agreement{
|
||||
height: 38px;
|
||||
line-height: 38px;
|
||||
background: #F1EBFA;
|
||||
font-size: 12px;
|
||||
color: #444;
|
||||
padding: 0 20px;
|
||||
margin:0 20px 20px 32px;
|
||||
width: auto;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: space-between;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.shopro-form-group-title-agreement i{
|
||||
color: #7438D5;
|
||||
}
|
||||
.shopro-form-group-title-1{
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
.shopro-goods-id{
|
||||
width: 70px;
|
||||
padding: 0 10px;
|
||||
text-align: center;
|
||||
flex-shrink: 0;
|
||||
}
|
||||
.form-group-area-last{
|
||||
padding-bottom: 20px;
|
||||
}
|
||||
.become-register-row-item-esp{
|
||||
line-height: 32px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
.el-dialog{
|
||||
width: 900px;
|
||||
}
|
||||
.el-dialog__wrapper{
|
||||
background: rgba(43, 43, 43, 0.05);
|
||||
backdrop-filter: blur(2px);
|
||||
}
|
||||
.configis-upgrade-image{
|
||||
width: 900px;
|
||||
height: 580px;
|
||||
background: #FFFFFF;
|
||||
border-radius: 4px;
|
||||
position: relative;
|
||||
}
|
||||
.configis-upgrade-image img{
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
.el-dialog__body{
|
||||
padding: 0;
|
||||
}
|
||||
.el-dialog__header{
|
||||
height: 0;
|
||||
padding: 0;
|
||||
}
|
||||
.configis-upgrade-button{
|
||||
position: absolute;
|
||||
bottom: 162px;
|
||||
right: 360px;
|
||||
}
|
||||
.configis-upgrade-button-upgrade{
|
||||
width: 110px;
|
||||
height: 34px;
|
||||
background: #8322FF;
|
||||
border-radius: 2px;
|
||||
justify-content: center;
|
||||
font-weight: bold;
|
||||
font-size: 12px;
|
||||
color: #FFFFFF;
|
||||
margin-left: 42px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.configis-upgrade-button-upgrade .icon-right{
|
||||
margin-left: 12px;
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
}
|
||||
.configis-upgrade-button-refresh{
|
||||
color: #86818E;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
}
|
||||
.configis-upgrade-button-refresh .el-icon-refresh-right{
|
||||
margin-right: 6px;
|
||||
font-size: 14px;
|
||||
}
|
||||
.configis-upgrade-close{
|
||||
position: absolute;
|
||||
top: 53px;
|
||||
right: 58px;
|
||||
font-size: 20px;
|
||||
color: #7F7A87;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/shopro.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/Sortable.min.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vuedraggable.js"></script>
|
||||
<div id="indexPage" v-cloak v-loading="isAjax">
|
||||
<el-form :model="configData" ref="configData" label-width="148px" v-if="configData">
|
||||
<div class="form-group-area">
|
||||
<div class="shopro-form-group-title shopro-form-group-title-1">
|
||||
<div class="shopro-form-group-title-line"></div>基础设置
|
||||
</div>
|
||||
<div class="shopro-form-group-title-agreement" v-if="tipshow">
|
||||
<div>
|
||||
设置分销时,请先了解<a class="shopro-form-group-title-href" href="https://www.spp.gov.cn/flfg/gfwj/201311/t20131122_64638.shtml" target="_blank" rel="noopener noreferrer">《关于办理组织领导传销活动刑事案件适用法律若干问题的意见》</a>
|
||||
</div>
|
||||
<i class="el-icon-close" @click="tipClose"></i>
|
||||
</div>
|
||||
<el-form-item label="分销层级:">
|
||||
<el-radio-group v-model="configData.commission_level">
|
||||
<el-radio label="0">关闭</el-radio>
|
||||
<el-radio label="1">一级</el-radio>
|
||||
<el-radio label="2">二级</el-radio>
|
||||
<el-radio label="3">三级</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="title-tip">
|
||||
默认佣金比例请到 分销等级 进行设置
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="分销内购:">
|
||||
<el-radio-group v-model="configData.self_buy">
|
||||
<el-radio label="0">关闭</el-radio>
|
||||
<el-radio label="1">开启</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="title-tip">
|
||||
内购优惠开启后,分销商自己购买时,下单可以给自己返佣
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="分销商锁定下线条件:">
|
||||
<el-radio-group v-model="configData.invite_lock">
|
||||
<el-radio label="share">点击分享链接</el-radio>
|
||||
<el-radio label="pay">首次支付</el-radio>
|
||||
<el-radio label="agent" :disabled="configData.become_agent.type=='child_user_count_1'">成为子分销商</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="分销商审核:">
|
||||
<el-radio-group v-model="configData.agent_check">
|
||||
<el-radio label="0">不需要</el-radio>
|
||||
<el-radio label="1">需要</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="越级升级:">
|
||||
<el-radio-group v-model="configData.upgrade_jump">
|
||||
<el-radio label="0">不允许</el-radio>
|
||||
<el-radio label="1">允许</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="升级审核:">
|
||||
<el-radio-group v-model="configData.upgrade_check">
|
||||
<el-radio label="0">不需要</el-radio>
|
||||
<el-radio label="1">需要</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<!-- <el-form-item label="升级进度:">
|
||||
<el-radio-group v-model="configData.upgrade_display">
|
||||
<el-radio label="0">不显示</el-radio>
|
||||
<el-radio label="1">显示</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item> -->
|
||||
</div>
|
||||
<div class="form-group-area">
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>默认分销商设置
|
||||
</div>
|
||||
<el-form-item label="成为分销商条件:">
|
||||
<el-radio-group v-model="configData.become_agent.type" @change="changeBecomeAgentType">
|
||||
<el-radio label="apply">自助申请</el-radio>
|
||||
<el-radio label="goods">购买任意商品</el-radio>
|
||||
<el-radio label="consume">消费累计</el-radio>
|
||||
<!-- <el-radio label="child_user_count_1" :disabled="configData.invite_lock=='agent'">邀请下级用户</el-radio> -->
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-collapse-transition>
|
||||
<div v-if="configData.become_agent.type!='apply'">
|
||||
<el-form-item label="选择商品:" v-if="configData.become_agent.type=='goods'">
|
||||
<div class="display-flex">
|
||||
<div class="goods-add" style="margin: 5px 0;" @click="addGoods">{{configData.become_agent.value?'重新选择':'选择商品'}}
|
||||
</div>
|
||||
<!-- <div style="margin-left: 20px;">{{configData.become_agent.value}}</div> -->
|
||||
</div>
|
||||
<div style="max-width: 632px;border: 1px solid #e6e6e6;margin-top: 9px;" v-if="configData.become_agent.value">
|
||||
<div class="shopro-goods-header">
|
||||
<div class="shopro-goods-id">ID</div>
|
||||
<div class="shopro-goods-title">商品信息</div>
|
||||
<div class="shopro-goods-stock">库存</div>
|
||||
<div class="shopro-goods-opt">操作</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="shopro-goods-body" v-if="goods" v-for="(goods,gindex) in goodsDetail">
|
||||
<div class="shopro-goods-id">
|
||||
{{goods.id}}
|
||||
</div>
|
||||
<div class="shopro-goods-title">
|
||||
<div class="shopro-goods-image">
|
||||
<el-image v-if="goods.image" :src="Fast.api.cdnurl(goods.image)"
|
||||
fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div>
|
||||
<div class="ellipsis-item" style="width: 180px;height: 20px;line-height: 20px;">{{goods.title}}</div>
|
||||
<div style="height: 20px;line-height: 20px;">¥{{goods.price}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shopro-goods-stock">
|
||||
{{goods.stock}}
|
||||
</div>
|
||||
<div class="shopro-goods-opt">
|
||||
<span class="become_register_delete" @click="deleteGoods(gindex)">删除</span>
|
||||
</div>
|
||||
</div>
|
||||
<div style="padding: 0 20px;" v-if="!goodsDetail">
|
||||
商品不存在或已下架
|
||||
</div>
|
||||
</div>
|
||||
<!-- <div class="shopro-goods-body" v-if="!configData.become_agent.value">
|
||||
<div class="shopro-goods-add-button" @click="addGoods">
|
||||
<i class="el-icon-plus"></i>选择商品
|
||||
</div>
|
||||
</div> -->
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="消费累计金额:" v-if="configData.become_agent.type=='consume'">
|
||||
<div class="display-flex" style="width: 320px;height: 40px;">
|
||||
<el-input v-model="configData.become_agent.value" size="small" type="number" v-enter-number>
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="邀请下级用户满:" v-if="configData.become_agent.type=='child_user_count_1'">
|
||||
<div class="display-flex" style="width: 320px;height: 40px;">
|
||||
<el-input v-model="configData.become_agent.value" size="small" type="number">
|
||||
<template slot="append">人</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-collapse-transition>
|
||||
<el-form-item label="完善资料:">
|
||||
<el-radio-group v-model="needAgentForm" @change="changeAgentForm">
|
||||
<el-radio label="0" :disabled="configData.become_agent.type=='apply'">不需要</el-radio>
|
||||
<el-radio label="1">需要</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="title-tip">
|
||||
成为分销商条件如果选择自助申请,完善资料必须选择需要
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-collapse-transition>
|
||||
<div v-if="needAgentForm == 1">
|
||||
<el-form-item label="表单背景图:">
|
||||
<div class="bgimage-add-container" @click="bgimageAdd">
|
||||
<el-image v-if="configData.agent_form.background_image"
|
||||
:src="Fast.api.cdnurl(configData.agent_form.background_image)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
<div class="bgimage-add" v-if="!configData.agent_form.background_image">
|
||||
<i class="el-icon-plus"></i>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="表单内容:">
|
||||
<div style="max-width: 632px;">
|
||||
<div style="border: 1px solid #e6e6e6;">
|
||||
<div class="become-register-row become-register-row-title">
|
||||
<div class="become-register-row-item">表单类型</div>
|
||||
<div class="become-register-row-item become-register-row-item-center">表单名称</div>
|
||||
<div class="become-register-row-item become-register-row-item-last">操作</div>
|
||||
</div>
|
||||
<draggable :list="configData.agent_form.content" v-bind="$attrs"
|
||||
:options="defaultOption"
|
||||
:style="{borderTop: configData.agent_form.content && configData.agent_form.content.length>0?'1px solid #e6e6e6':''}">
|
||||
<div class="become-register-row"
|
||||
v-for="(item,rindex) in configData.agent_form.content">
|
||||
<div class="seat-item">
|
||||
可放在此处
|
||||
</div>
|
||||
<div class="become_register-contaoner">
|
||||
<div class="become-register-row-item become-register-row-item-esp">
|
||||
<el-select v-model="item.type" size="small">
|
||||
<el-option v-for="item in become_register_options" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="become-register-row-item become-register-row-item-center become-register-row-item-esp">
|
||||
<el-input v-model="item.name" size="small"></el-input>
|
||||
</div>
|
||||
<div class="become-register-row-item become-register-row-item-last">
|
||||
<span class="become_register_delete"
|
||||
@click="becomeRegisterDelete(rindex)">删除</span>
|
||||
<i id="draggableHandle" class="el-icon-rank"></i>
|
||||
<!-- <img
|
||||
src="/assets/addons/shopro/img/commission/move.png"> -->
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</draggable>
|
||||
</div>
|
||||
<div>
|
||||
<div class="become_register_add-button" @click="becomeRegisterAdd">
|
||||
<i class="el-icon-plus"></i>追加
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="申请协议:">
|
||||
<el-radio-group v-model="needApplyProtocol" @change="changeApplyProtocol">
|
||||
<el-radio label="0">不显示</el-radio>
|
||||
<el-radio label="1">显示</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-collapse-transition>
|
||||
<div v-if="needApplyProtocol == 1">
|
||||
<el-form-item label="协议内容:">
|
||||
<div class="display-flex">
|
||||
<div style="width: 150px;line-height: 32px;">
|
||||
<el-input v-model="configData.apply_protocol.name" size="small"></el-input>
|
||||
</div>
|
||||
<div class="apply_protocol-select" @click="chooseRichText">选择</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-collapse-transition>
|
||||
</div>
|
||||
</el-collapse-transition>
|
||||
</div>
|
||||
<div class="form-group-area form-group-area-last">
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>结算条件
|
||||
</div>
|
||||
<el-form-item label="商品结算方式:">
|
||||
<el-radio-group v-model="configData.commission_price_type">
|
||||
<el-radio label="goods_price">商品价</el-radio>
|
||||
<el-radio label="pay_price">实际支付价</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="title-tip">
|
||||
商品价: 商品实际售价/规格价,实际支付价: 实际支付的费用(不含运费)
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="佣金结算方式:">
|
||||
<el-radio-group v-model="configData.commission_event">
|
||||
<el-radio label="payed">支付后结算</el-radio>
|
||||
<el-radio label="confirm">确认收货结算</el-radio>
|
||||
<el-radio label="finish">订单完成结算</el-radio>
|
||||
<el-radio label="admin">手动打款</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="退款扣除佣金:">
|
||||
<el-radio-group v-model="configData.refund_commission_reward">
|
||||
<el-radio label="0">不扣除</el-radio>
|
||||
<el-radio label="1">扣除</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="退款扣除分销业绩:">
|
||||
<el-radio-group v-model="configData.refund_commission_order">
|
||||
<el-radio label="0">不扣除</el-radio>
|
||||
<el-radio label="1">扣除</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<div class="shopro-submit-container">
|
||||
<div class="shopro-default-button" @click="formRestore">重置</div>
|
||||
<div class="shopro-submit-button" @click="formSubmit">保存</div>
|
||||
</div>
|
||||
<el-dialog
|
||||
:visible.sync="configis_upgrade">
|
||||
<div class="configis-upgrade-image">
|
||||
<img src="/assets/addons/shopro/img/commission/upgrade-config.png">
|
||||
<div class="configis-upgrade-close" @click="operation('close')"><i class="el-icon-error"></i></div>
|
||||
<div class="configis-upgrade-button display-flex">
|
||||
<div class="configis-upgrade-button-refresh" @click="operation('refresh')"><i class="el-icon-refresh-right"></i>刷新</div>
|
||||
<div class="configis-upgrade-button-upgrade display-flex" @click="operation('upgrade')">去升级
|
||||
<img class="icon-right" src="/assets/addons/shopro/img/commission/icon-right.png">
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -0,0 +1 @@
|
||||
请升级
|
||||
@@ -0,0 +1,583 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#detailPage {
|
||||
border-radius: 10px;
|
||||
color: #444;
|
||||
font-weight: 500;
|
||||
padding: 0px 10px 60px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.image-slot {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.goods-image {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #e6e6e6;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.shopro-submit-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
position: fixed;
|
||||
right: 40px;
|
||||
bottom: 10px;
|
||||
/* width: 100%; */
|
||||
height: 40px;
|
||||
}
|
||||
|
||||
.shopro-submit-button {
|
||||
width: 88px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
background: #7438D5;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.sku-price-rate {
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
.sku-price-rate,
|
||||
.sku-price-money {
|
||||
width: 80px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
height: 50px;
|
||||
}
|
||||
|
||||
.commission-body-container {
|
||||
line-height: 50px;
|
||||
display: flex;
|
||||
border-left: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
|
||||
|
||||
.commission-header-container {
|
||||
line-height: 40px;
|
||||
border-left: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.commission-header-container .commission-store-name,
|
||||
.commission-header-container .commission-item,
|
||||
.commission-header-container .commission-sku,
|
||||
.commission-header-container .commission-price {
|
||||
border-top: 1px solid #e6e6e6;
|
||||
background: #f9f9f9;
|
||||
}
|
||||
|
||||
.commission-store-name {
|
||||
width: 120px;
|
||||
min-width: 120px;
|
||||
padding: 0 10px;
|
||||
text-align: center;
|
||||
border-right: 1px solid #e6e6e6;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.commission-item {
|
||||
width: 190px;
|
||||
min-width: 190px;
|
||||
padding: 0 10px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
border-right: 1px solid #e6e6e6;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.commission-sku,.commission-price {
|
||||
width: 180px;
|
||||
min-width: 180px;
|
||||
padding: 0 20px;
|
||||
border-bottom: 1px solid #e6e6e6;
|
||||
border-right: 1px solid #e6e6e6;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.commission-price {
|
||||
width: 100px;
|
||||
min-width: 100px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.commission-item-batch {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.el-button--text,
|
||||
.el-button--text:hover,
|
||||
.el-button--text:focus {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.batch-setting-container {
|
||||
line-height: 50px;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
border-left: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.alone-setting-container {
|
||||
line-height: 50px;
|
||||
display: flex;
|
||||
border-left: 1px solid #e6e6e6;
|
||||
}
|
||||
.commission-order-status-icon{
|
||||
font-size: 20px;
|
||||
color: #7C7C7C;
|
||||
margin-left: 16px;
|
||||
}
|
||||
.el-popover--plain{
|
||||
padding: 12px;
|
||||
color: #444;
|
||||
}
|
||||
.batch-edit-icon{
|
||||
margin-left:10px;margin-top: -3px;
|
||||
}
|
||||
.batch-question-icon{
|
||||
margin-left: 10px;font-size: 14px;
|
||||
}
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/shopro.js"></script>
|
||||
<div id="detailPage" v-cloak>
|
||||
<el-form label-width="124px">
|
||||
<div v-if="isalone==0">
|
||||
<div class="shopro-form-group-title">
|
||||
商品信息
|
||||
</div>
|
||||
<div style="padding: 0 40px;">
|
||||
<div class="display-flex" style="margin-bottom:10px">
|
||||
<div class="goods-image" v-if="goodsDetail.image">
|
||||
<el-image :src="Fast.api.cdnurl(goodsDetail.image)" fit="container">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="goods-title">
|
||||
{{goodsDetail.title}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>佣金设置
|
||||
</div>
|
||||
<el-form-item label="是否参与:">
|
||||
<div>
|
||||
<el-radio-group v-model="status">
|
||||
<el-radio :label="0">不参与</el-radio>
|
||||
<el-radio :label="1">参与</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<div v-if="status==1">
|
||||
<el-form-item label="佣金规则:">
|
||||
<div>
|
||||
<el-radio-group v-model="self_rules" @change="selfRulesChange">
|
||||
<el-radio :label="0">默认规则</el-radio>
|
||||
<el-radio v-if="isalone==0" :label="1">独立规则</el-radio>
|
||||
<el-radio :label="2">批量规则</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="分销商业绩:">
|
||||
<div class="display-flex">
|
||||
<el-radio-group v-model="commission_order_status">
|
||||
<el-radio :label="0">不计入</el-radio>
|
||||
<el-radio :label="1">计入</el-radio>
|
||||
</el-radio-group>
|
||||
<el-popover
|
||||
placement="top"
|
||||
trigger="hover"
|
||||
content="关闭则只分佣,不计入分销订单金额和订单数">
|
||||
<i class="el-icon-question commission-order-status-icon" slot="reference"></i>
|
||||
</el-popover>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<div v-if="self_rules==1 || self_rules==2">
|
||||
<el-form-item label="分销设置:">
|
||||
<el-switch v-model="commission_config" @change="changeCommissionConfig" active-color="#6E3DC8"
|
||||
:active-value="1" :inactive-value="0" inactive-color="#999">
|
||||
</el-switch>
|
||||
<span style="margin-left: 14px;" v-if="commission_config==0">默认设置</span>
|
||||
<span style="margin-left: 14px;" v-if="commission_config==1">独立设置</span>
|
||||
</el-form-item>
|
||||
<div v-if="commission_config==1">
|
||||
<el-form-item label="分销层级:">
|
||||
<el-radio-group v-model="commission_config_obj.commission_level">
|
||||
<el-radio label="1">一级</el-radio>
|
||||
<el-radio label="2">二级</el-radio>
|
||||
<el-radio label="3">三级</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
<el-form-item label="分销内购:">
|
||||
<el-radio-group v-model="commission_config_obj.self_buy">
|
||||
<el-radio label="0">关闭</el-radio>
|
||||
<el-radio label="1">开启</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="title-tip">
|
||||
内购优惠开启后,分销商自己购买时,下单可以给自己返佣
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="商品结算方式:">
|
||||
<el-radio-group v-model="commission_config_obj.commission_price_type">
|
||||
<el-radio label="goods_price">商品价</el-radio>
|
||||
<el-radio label="pay_price">实际支付价</el-radio>
|
||||
</el-radio-group>
|
||||
<div class="title-tip">
|
||||
商品价: 商品实际售价/规格价,实际支付价: 实际支付的费用(不含运费)
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="佣金结算方式:">
|
||||
<el-radio-group v-model="commission_config_obj.commission_event">
|
||||
<el-radio label="payed">支付后结算</el-radio>
|
||||
<el-radio label="confirm">确认收货结算</el-radio>
|
||||
<el-radio label="finish">订单完成结算</el-radio>
|
||||
<el-radio label="admin">手动打款</el-radio>
|
||||
</el-radio-group>
|
||||
</el-form-item>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
<div style="padding: 0 40px;">
|
||||
<div v-if="self_rules==0 && radioEnd==0" style="overflow: auto;">
|
||||
<div class="display-flex goods-header commission-header-container">
|
||||
<div class="commission-store-name">分销等级名称</div>
|
||||
<div class="commission-item">一级(自购)佣金比例</div>
|
||||
<div class="commission-item">二级佣金比例</div>
|
||||
<div class="commission-item">三级佣金比例</div>
|
||||
</div>
|
||||
<div class="display-flex goods-body-item commission-body-container"
|
||||
v-for="levelItem in levelList">
|
||||
<div class="commission-store-name">
|
||||
{{levelItem.name}}
|
||||
</div>
|
||||
<div class="commission-item">
|
||||
{{levelItem.commission_rules.commission_1}}%
|
||||
</div>
|
||||
<div class="commission-item">
|
||||
{{levelItem.commission_rules.commission_2}}%
|
||||
</div>
|
||||
<div class="commission-item">
|
||||
{{levelItem.commission_rules.commission_3}}%
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="self_rules==1 && radioEnd==1" style="overflow: auto;">
|
||||
<div class="display-flex commission-header-container">
|
||||
<div class="commission-sku" style="border-bottom: 1px solid #e6e6e6;text-align: center;">
|
||||
商品规格</div>
|
||||
<div class="commission-price" style="border-bottom: 1px solid #e6e6e6;text-align: center;">
|
||||
价格</div>
|
||||
<div class="commission-store-name">分销商等级</div>
|
||||
<div class="commission-item">
|
||||
一级(自购)佣金比例
|
||||
<el-popover placement="top" width="200" v-model="batchShow[1]">
|
||||
<div>
|
||||
<div class="display-flex"
|
||||
style="justify-content: space-between;padding: 5px 0;">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.rate" size="mini" v-enter-number
|
||||
:disabled="batchList.money!=''">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.money" size="mini" v-enter-number
|
||||
:disabled="batchList.rate!=''">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="batchSet('1','cancel')">取消
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="batchSet('1','define')">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<img class="batch-edit-icon" slot="reference"
|
||||
src="/assets/addons/shopro/img/goods/batch.png">
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="commission-item">
|
||||
二级佣金比例
|
||||
<el-popover placement="top" content="没有请填写为0" trigger="hover">
|
||||
<i slot="reference" class="el-icon-question commission-order-status-icon batch-question-icon"></i>
|
||||
</el-popover>
|
||||
<el-popover placement="top" width="200" v-model="batchShow[2]">
|
||||
<div>
|
||||
<div class="display-flex"
|
||||
style="justify-content: space-between;padding: 5px 0;">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.rate" size="mini" v-enter-number
|
||||
:disabled="batchList.money!=''">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.money" size="mini" v-enter-number
|
||||
:disabled="batchList.rate!=''">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="batchSet('2','cancel')">取消
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="batchSet('2','define')">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<img class="batch-edit-icon" slot="reference"
|
||||
src="/assets/addons/shopro/img/goods/batch.png">
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="commission-item">
|
||||
三级佣金比例
|
||||
<el-popover placement="top" content="没有请填写为0" trigger="hover">
|
||||
<i slot="reference" class="el-icon-question commission-order-status-icon batch-question-icon"></i>
|
||||
</el-popover>
|
||||
<el-popover placement="top" width="200" v-model="batchShow[3]">
|
||||
<div>
|
||||
<div class="display-flex"
|
||||
style="justify-content: space-between;padding: 5px 0;">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.rate" size="mini" v-enter-number
|
||||
:disabled="batchList.money!=''">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.money" size="mini" v-enter-number
|
||||
:disabled="batchList.rate!=''">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="batchSet('3','cancel')">取消
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="batchSet('3','define')">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<img class="batch-edit-icon" slot="reference"
|
||||
src="/assets/addons/shopro/img/goods/batch.png">
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div class="alone-setting-container">
|
||||
<div>
|
||||
<div class="display-flex" v-for="sku in goodsDetail.sku_price">
|
||||
<!-- 规格&价格 -->
|
||||
<div class="commission-sku" :style="{height:51*levelList.length+'px'}" style="display: flex;justify-content: center;align-items: center;line-height: 20px;">
|
||||
<span v-if="goodsDetail.is_sku==1">{{sku.goods_sku_text.join(',')}}</span>
|
||||
<span v-if="goodsDetail.is_sku==0">默认规格</span>
|
||||
</div>
|
||||
<div class="commission-price" :style="{height:51*levelList.length+'px',lineHeight:51*levelList.length+'px'}">{{sku.price}}</div>
|
||||
<div>
|
||||
<!-- 等级 -->
|
||||
<div class="commission-store-name" v-for="(levelItem,level) in levelList">
|
||||
{{levelItem.name}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div v-for="levelObj in commission_rules">
|
||||
<div class="display-flex" v-for="commissionitem in levelObj">
|
||||
<div class="display-flex commission-item">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="commissionitem[1].rate" size="mini" v-enter-number
|
||||
@input="inputChange" :disabled="commissionitem[1].money!=''">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="sku-price-money">
|
||||
<el-input v-model="commissionitem[1].money" size="mini" v-enter-number
|
||||
@input="inputChange" :disabled="commissionitem[1].rate!=''">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex commission-item">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="commissionitem[2].rate" size="mini" v-enter-number
|
||||
@input="inputChange" :disabled="commissionitem[2].money!=''">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="sku-price-money">
|
||||
<el-input v-model="commissionitem[2].money" size="mini" v-enter-number
|
||||
@input="inputChange" :disabled="commissionitem[2].rate!=''">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex commission-item">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="commissionitem[3].rate" size="mini" v-enter-number
|
||||
@input="inputChange" :disabled="commissionitem[3].money!=''">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="sku-price-money">
|
||||
<el-input v-model="commissionitem[3].money" size="mini" v-enter-number
|
||||
@input="inputChange" :disabled="commissionitem[3].rate!=''">
|
||||
<template slot="append">元</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="self_rules==2 && radioEnd==2" style="overflow: auto;">
|
||||
<div class="display-flex commission-header-container">
|
||||
<div class="commission-store-name">分销商等级</div>
|
||||
<div class="commission-item commission-item-batch">
|
||||
一级(自购)佣金比例
|
||||
<el-popover placement="top" width="200" v-model="batchShow[1]">
|
||||
<div>
|
||||
<div class="display-flex" style="padding: 5px 0;">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.rate" size="mini" v-enter-number>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="batchSet('1','cancel')">取消
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="batchSet('1','define')">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<img class="batch-edit-icon" slot="reference"
|
||||
src="/assets/addons/shopro/img/goods/batch.png">
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="commission-item commission-item-batch">
|
||||
二级佣金比例
|
||||
<el-popover placement="top" content="没有请填写为0" trigger="hover">
|
||||
<i slot="reference" class="el-icon-question commission-order-status-icon batch-question-icon"></i>
|
||||
</el-popover>
|
||||
<el-popover placement="top" width="200" v-model="batchShow[2]">
|
||||
<div>
|
||||
<div class="display-flex" style="padding: 5px 0;">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.rate" size="mini" v-enter-number>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="batchSet('2','cancel')">取消
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="batchSet('2','define')">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<img class="batch-edit-icon" slot="reference"
|
||||
src="/assets/addons/shopro/img/goods/batch.png">
|
||||
</el-popover>
|
||||
</div>
|
||||
<div class="commission-item commission-item-batch">
|
||||
三级佣金比例
|
||||
<el-popover placement="top" content="没有请填写为0" trigger="hover">
|
||||
<i slot="reference" class="el-icon-question commission-order-status-icon batch-question-icon"></i>
|
||||
</el-popover>
|
||||
<el-popover placement="top" width="200" v-model="batchShow[3]">
|
||||
<div>
|
||||
<div class="display-flex" style="padding: 5px 0;">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="batchList.rate" size="mini" v-enter-number>
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div style="text-align: right; margin: 0">
|
||||
<el-button size="mini" type="text" @click="batchSet('3','cancel')">取消
|
||||
</el-button>
|
||||
<el-button type="primary" size="mini" @click="batchSet('3','define')">确定
|
||||
</el-button>
|
||||
</div>
|
||||
<img class="batch-edit-icon" slot="reference"
|
||||
src="/assets/addons/shopro/img/goods/batch.png">
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div class="batch-setting-container" style="flex-direction: column;">
|
||||
<div class="batch-setting-item display-flex" v-for="levelItem in levelList">
|
||||
<div class="commission-store-name">
|
||||
{{levelItem.name}}
|
||||
</div>
|
||||
<div>
|
||||
<div class="display-flex">
|
||||
<div class="display-flex commission-item">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="commission_rules[levelItem.level][1].rate"
|
||||
size="mini" v-enter-number @input="inputChange">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex commission-item">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="commission_rules[levelItem.level][2].rate"
|
||||
size="mini" v-enter-number @input="inputChange">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex commission-item">
|
||||
<div class="sku-price-rate">
|
||||
<el-input v-model="commission_rules[levelItem.level][3].rate"
|
||||
size="mini" v-enter-number @input="inputChange">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form>
|
||||
<div class="shopro-submit-container">
|
||||
<div class="shopro-submit-button" @click="formSubmit()">确定</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,301 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#indexPage {
|
||||
font-family: Source Han Sans SC;
|
||||
padding: 0 20px 20px;
|
||||
background: #fff;
|
||||
border-radius: 10px 10px 0px 0px;
|
||||
}
|
||||
|
||||
.shopro-screen-container {
|
||||
padding-top: 20px;
|
||||
}
|
||||
|
||||
.shopro-reset-button {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.title {
|
||||
height: 58px;
|
||||
line-height: 58px;
|
||||
font-weight: 600;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.btn-common {
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-radius: 4px;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn-box {
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.create-btn {
|
||||
background: #7536D0;
|
||||
color: #fff;
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.operation-status {
|
||||
color: #7438D5;
|
||||
margin-right: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.table-header-bgcolor th {
|
||||
background-color: #f9f9f9 !important;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.table-header-bgcolor th .cell {
|
||||
font-weight: 400;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
/* 搜索 筛选 */
|
||||
.screen-con {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.header-input-item {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 14px;
|
||||
width: 242px;
|
||||
}
|
||||
|
||||
.header-input-item .header-input-tip {
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.header-input-item .el-input {
|
||||
width: 176px;
|
||||
}
|
||||
|
||||
.shopro-pagination-container {
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.multiple-set-acitve-1,
|
||||
.multiple-set-acitve-2,
|
||||
.multiple-set-acitve-3 {
|
||||
cursor: pointer;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.multiple-set-acitve .multiple-set-acitve-1 {
|
||||
color: #60CC9E;
|
||||
}
|
||||
|
||||
.multiple-set-acitve .multiple-set-acitve-2 {
|
||||
color: #ED655F;
|
||||
}
|
||||
|
||||
.multiple-set-acitve .multiple-set-acitve-3 {
|
||||
color: #7438D5
|
||||
}
|
||||
|
||||
.shopro-pagination-container .shopro-edit-text {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.shopro-refresh-button {
|
||||
margin-bottom: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.el-checkbox__inner:focus {
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.el-table--border th:first-child .cell {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.multiple-set-item {
|
||||
color: #ccc;
|
||||
}
|
||||
|
||||
.shopro-table-container .table-image {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.el-table td,
|
||||
.el-table th {
|
||||
padding: 10px 0 9px;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="indexPage" v-cloak v-loading="isAjax">
|
||||
<div class="shopro-screen-container">
|
||||
<div class="shopro-button shopro-refresh-button" @click="getListData">
|
||||
<i class="el-icon-refresh"></i>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">商品名称</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-input placeholder="请输入商品名称" size="small" v-model="searchForm.goods_title"></el-input>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">商品分类</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.goods_type" placeholder="请选择商品分类" size="small">
|
||||
<el-option :label="goods.name" :value="goods.type" v-for="goods in goodTypeOptions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">活动类型</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.activity_type" placeholder="请选择活动类型" size="small">
|
||||
<el-option :label="activity.name" :value="activity.type" v-for="activity in activityTypeOptions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">分销规则</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.self_rules" placeholder="请选择分销规则" size="small">
|
||||
<el-option :label="rules.name" :value="rules.type" v-for="rules in commissionTypeOptions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">分销状态</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.commission_goods_status" placeholder="请选择分销状态" size="small">
|
||||
<el-option :label="status.name" :value="status.type" v-for="status in commissionStatusOptions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item-button">
|
||||
<div class="shopro-button shopro-reset-button" @click="screenEmpty">重置</div>
|
||||
<div class="shopro-button shopro-screen-button" @click="pageCurrentChange(1)">筛选</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shopro-table-container" v-loading="tableAjax">
|
||||
<el-table ref="multipleTable" :data="listData" style="width: 100%" border stripe="true"
|
||||
:cell-class-name="tableCellClassName" :header-cell-class-name="tableCellClassName"
|
||||
@selection-change="handleSelectionChange">
|
||||
<el-table-column type="selection" width="55">
|
||||
</el-table-column>
|
||||
<el-table-column prop="id" label="ID" width="130">
|
||||
</el-table-column>
|
||||
<el-table-column prop="name" label="商品信息" min-width="300">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.image)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div>
|
||||
<div class="ellipsis-item" style="margin-top: 8px;line-height: 1;">
|
||||
{{scope.row.title}}
|
||||
</div>
|
||||
<div class="display-flex" style="margin-top: 14px;">
|
||||
<span v-if="scope.row.is_sku==1"
|
||||
style="color: #444;margin-right: 12px;line-height: 20px;">
|
||||
{{scope.row.is_sku==1?'多规格':''}}
|
||||
</span>
|
||||
<div v-if="scope.row.activity_type || scope.row.app_type"
|
||||
class="activity-type display-flex">
|
||||
|
||||
<div v-if="scope.row.app_type" class="activity-tags full-activity-tag">
|
||||
{{scope.row.app_type_text}}
|
||||
</div>
|
||||
<template v-for="(b,a) in scope.row.activity_type_text_arr">
|
||||
<template v-if="a=='groupon'">
|
||||
<div class="activity-tags groupon-activity-tag">
|
||||
拼团
|
||||
</div>
|
||||
</template>
|
||||
<div v-if="a=='seckill'" class="activity-tags seckill-activity-tag">{{b}}</div>
|
||||
<div v-if="a=='full_reduce' || a=='full_discount' || a=='free_shipping'"
|
||||
class="activity-tags full-activity-tag">{{b}}</div>
|
||||
</template>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="分销规则" width="100">
|
||||
<template slot-scope="scope">
|
||||
<div v-if="scope.row.commission && scope.row.commission.status==1">
|
||||
<div v-if="scope.row.commission.self_rules==0">默认规则</div>
|
||||
<div v-if="scope.row.commission.self_rules==1">独立规则</div>
|
||||
<div v-if="scope.row.commission.self_rules==2">批量规则</div>
|
||||
</div>
|
||||
<div v-if="!scope.row.commission || (scope.row.commission && scope.row.commission.status==0)">
|
||||
-
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="商品状态" width="100">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.status_text}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" width="220">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span class="shopro-edit-text" @click="operation('edit',scope.row)">设置佣金</span>
|
||||
<span class="shopro-detail-text" v-if="scope.row.commission">
|
||||
<span v-if="scope.row.commission && scope.row.commission.status==0"
|
||||
@click="operation('join',scope.row)">参与</span>
|
||||
<span style="color:#ff5959;" v-if="scope.row.commission && scope.row.commission.status==1"
|
||||
@click="operation('nojoin',scope.row)">不参与</span>
|
||||
</span>
|
||||
<span class="shopro-detail-text" v-if="!scope.row.commission"
|
||||
@click="operation('join',scope.row)">参与</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="shopro-pagination-container">
|
||||
<div class="display-flex">
|
||||
<div style="margin-right: 40px;">
|
||||
<el-checkbox v-model="allcheckeds" @change="changeAllcheckeds">批量设置</el-checkbox>
|
||||
</div>
|
||||
<div class="display-flex multiple-set-item" :class="multipleSelection.length>0?'multiple-set-acitve':''">
|
||||
<div class="multiple-set-acitve-1" @click="operation('join',0)">参与</div>
|
||||
<div class="multiple-set-acitve-2" @click="operation('nojoin',0)">不参与</div>
|
||||
<div class="multiple-set-acitve-3" @click="operation('edit',0)">设置佣金</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<el-pagination @size-change="pageSizeChange" @current-change="pageCurrentChange" :current-page="currentPage"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalPage" pager-count="5">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,503 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#detailPage {
|
||||
border-radius: 10px;
|
||||
color: #444;
|
||||
font-weight: 500;
|
||||
padding: 0px 10px 60px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-form-item__label,
|
||||
.el-form-item__content {
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
margin-bottom: 14px;
|
||||
/* padding-left: 50px; */
|
||||
}
|
||||
|
||||
.title-tip {
|
||||
color: #999;
|
||||
line-height: 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.commission-rate,
|
||||
.level-name {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.upgrade-condition-item {
|
||||
display: inline-block;
|
||||
margin-bottom: 10px;
|
||||
padding: 0 10px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
text-align: center;
|
||||
border: 1px solid #e5e5e5;
|
||||
border-radius: 6px;
|
||||
margin-right: 14px;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.upgrade-type-container {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.upgrade-type-title {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.upgrade-condition-item-active {
|
||||
border-color: #7438D5;
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.condition-delete {
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
color: #FE7C76;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.goods-header {
|
||||
background: #f9f9f9;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.goods-item-1 {
|
||||
width: 280px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.goods-item-2 {
|
||||
width: 100px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.goods-item-3 {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.goods-delete {
|
||||
cursor: pointer;
|
||||
color: #FF5959;
|
||||
}
|
||||
|
||||
.goods-image {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 20px;
|
||||
border: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.goods-add {
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
background: #7438D5;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.image-slot {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.shopro-submit-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
position: fixed;
|
||||
right: 40px;
|
||||
bottom: 0px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.shopro-submit-button {
|
||||
width: 88px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
background: #7438D5;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.goods-title,
|
||||
.goods-price {
|
||||
line-height: 13px;
|
||||
}
|
||||
|
||||
.goods-price {
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.goods-title {
|
||||
margin-bottom: 13px;
|
||||
}
|
||||
|
||||
.goods-body-item {
|
||||
border-top: 1px solid #e6e6e6;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
.active-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
position: absolute;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.shopro-level-item {
|
||||
width: 70px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #e6e6e6;
|
||||
margin-right: 12px;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.shopro-level-item-active {
|
||||
border-color: #7438D5;
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.shopro-level-item-disable {
|
||||
background: #eee;
|
||||
border-color: #e6e6e6;
|
||||
cursor: auto;
|
||||
}
|
||||
|
||||
.el-dialog__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.el-dialog__footer {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.bgimage-add-container {
|
||||
border: 1px solid #e6e6e6;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.bgimage-add {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 30px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.shopro-goods-add-button {
|
||||
cursor: pointer;
|
||||
color: #7438D5;
|
||||
font-size: 13px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.shopro-goods-add-button i {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.child-agent-count-add {
|
||||
width: 80px;
|
||||
height: 32px;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #7438D5;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #7438D5;
|
||||
margin-bottom: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.child-agent-count-add i {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.child-agent-count-item {
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.child-agent-count-select {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
.child-agent-count-man {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.child-agent-count-input {
|
||||
width: 90px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.level-tip {
|
||||
margin-bottom: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #F1EBFA;
|
||||
padding: 16px;
|
||||
}
|
||||
.el-input-group__append{
|
||||
line-height: 30px;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/shopro.js"></script>
|
||||
<div id="detailPage" v-cloak>
|
||||
<el-form :model="formData" ref="formData" label-width="168px" v-if="formData">
|
||||
<div class="level-tip">
|
||||
新增或编辑等级后,请及时在分销商品中完善对应的佣金规则
|
||||
</div>
|
||||
<div>
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>等级佣金比例
|
||||
</div>
|
||||
<el-form-item label="等级权重:" prop="level">
|
||||
<div class="display-flex" style="width: 410px;flex-wrap: wrap;">
|
||||
<tempalte v-if="optType=='edit'">
|
||||
<div class="shopro-level-item shopro-level-item-disable" v-if="formData.level!=1">
|
||||
一级
|
||||
</div>
|
||||
<div class="shopro-level-item shopro-level-item-active" v-else>
|
||||
<img class="active-icon" src="/assets/addons/shopro/img/goods/active.png">
|
||||
一级
|
||||
</div>
|
||||
</tempalte>
|
||||
<tempalte v-if="optType=='add'">
|
||||
<div class="shopro-level-item shopro-level-item-disable">
|
||||
一级
|
||||
</div>
|
||||
</tempalte>
|
||||
<template v-for="(levelItem,levelIndex) in levelList" v-if="levelIndex>0 && formData.level!=1">
|
||||
<div class="shopro-level-item" v-if="existLevel.includes(Number(levelItem.value))"
|
||||
:class="[(existLevel.includes(Number(levelItem.value)) && formData.level!=levelItem.value)?'shopro-level-item-disable':'',formData.level==levelItem.value?'shopro-level-item-active':'']">
|
||||
<img class="active-icon"
|
||||
v-if="existLevel.includes(Number(levelItem.value)) && formData.level==levelItem.value"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
{{levelItem.title}}
|
||||
</div>
|
||||
<div class="shopro-level-item" v-else
|
||||
:class="formData.level==levelItem.value?'shopro-level-item-active':''"
|
||||
@click="selectLevel(levelIndex)">
|
||||
<img class="active-icon"
|
||||
v-if="formData.level==levelItem.value?'shopro-level-item-active':''"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
{{levelItem.title}}
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="等级名称:" prop="name">
|
||||
<div class="level-name">
|
||||
<el-input v-model="formData.name" placeholder="请输入等级名称" maxlength="6" size="small" show-word-limit>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="等级徽章:" prop="image">
|
||||
<div class="bgimage-add-container" @click="bgimageAdd">
|
||||
<el-image v-if="formData.image" :src="Fast.api.cdnurl(formData.image)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
<div class="bgimage-add" v-if="!formData.image">
|
||||
<i class="el-icon-plus"></i>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="一级(自购)佣金比例:" prop="commission_1">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="formData.commission_rules.commission_1" type="number" placeholder="如不填写默认为0"
|
||||
size="small">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="二级佣金比例:" prop="commission_2">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="formData.commission_rules.commission_2" type="number" placeholder="如不填写默认为0"
|
||||
size="small">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="三级佣金比例:" prop="commission_3">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="formData.commission_rules.commission_3" type="number" placeholder="如不填写默认为0"
|
||||
size="small">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="formData.level!=1">
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>添加升级条件
|
||||
</div>
|
||||
<el-form-item label="升级方式:" prop="upgrade_type">
|
||||
<div>
|
||||
<el-radio-group v-model="formData.upgrade_type">
|
||||
<el-radio :label="0">满足以下任意条件</el-radio>
|
||||
<el-radio :label="1">满足以下全部条件</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex<4" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span>{{upgrade.title}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>3 && upgradeIndex<8" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span v-if="upgradeIndex!=4">{{upgrade.title}}</span>
|
||||
<el-popover placement="bottom" trigger="hover"
|
||||
content="包含直推分销金额和内购分销金额">
|
||||
<span v-if="upgradeIndex==4" slot="reference">{{upgrade.title}}</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>7 && upgradeIndex<12" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span v-if="upgradeIndex!=8">{{upgrade.title}}</span>
|
||||
<el-popover placement="bottom" trigger="hover"
|
||||
content="包含直推分销订单和内购分销订单">
|
||||
<span v-if="upgradeIndex==8" slot="reference">{{upgrade.title}}</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>11 && upgradeIndex<15" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span>{{upgrade.title}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>14" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span>{{upgrade.title}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item :label="upgrade.title+':'" v-if="upgrade.selected"
|
||||
v-for="(upgrade,uindex) in upgradeCondition" :prop="upgrade.key">
|
||||
<div class="display-flex"
|
||||
v-if="upgrade.key!='child_agent_level' && upgrade.key!='child_agent_level_1'">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="upgrade.value" type="number" size="small">
|
||||
<template slot="append"
|
||||
v-if="upgrade.key=='total_consume' || upgrade.key=='child_order_money' || upgrade.key=='child_order_money_1' || upgrade.key=='child_order_money_2' || upgrade.key=='order_money'">元</template>
|
||||
<template slot="append"
|
||||
v-if="upgrade.key=='child_agent_count' || upgrade.key=='child_agent_count_1' || upgrade.key=='child_agent_count_2' || upgrade.key=='child_user_count' || upgrade.key=='child_user_count_1' || upgrade.key=='child_user_count_2'">人</template>
|
||||
<template slot="append"
|
||||
v-if="upgrade.key=='order_count' || upgrade.key=='child_order_count_1' || upgrade.key=='child_order_count_2' || upgrade.key=='child_order_count'">单</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<i class="condition-delete el-icon-circle-close" @click="conditionDelete(uindex)"></i>
|
||||
</div>
|
||||
<div
|
||||
v-if="upgrade.key=='child_agent_level' || upgrade.key=='child_agent_level_1'">
|
||||
<div>
|
||||
<div class="display-flex child-agent-count-item" v-for="(countItem,cindex) in upgrade.value">
|
||||
<div class="child-agent-count-select">
|
||||
<el-select v-model="countItem.level" placeholder="请选择分销商等级" no-data-text="等级已选择完毕" size="small">
|
||||
<el-option v-for="item in levelOptions" :key="item.level"
|
||||
:label="item.name+'(等级'+item.level+')'" :value="item.level"
|
||||
v-if="Number(item.level)<=Number(formData.level) && Number(item.level)!=Number(editId)">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="child-agent-count-man">满</div>
|
||||
<div class="child-agent-count-input">
|
||||
<el-input v-model="countItem.count" type="number" size="small">
|
||||
<template slot="append">人</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<i class="condition-delete el-icon-circle-close" @click="childAgentCountDelete(uindex,cindex)"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="child-agent-count-add" @click="childAgentCountAdd(uindex)"
|
||||
v-if="!formData.level || upgrade.value.length<selectLevelOptionsLength">
|
||||
<i class="el-icon-plus"></i>添加</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<div class="shopro-submit-container">
|
||||
<div class="shopro-submit-button" @click="formSubmit('formData')">确定</div>
|
||||
</div>
|
||||
<el-dialog title="提示" :visible.sync="deleteDialog" width="400" :before-close="deleteDialogClose">
|
||||
<div class="display-flex" style="justify-content: space-between;">
|
||||
<div>分销商移入其他等级</div>
|
||||
<el-select v-model="moveLevel" placeholder="请选择" size="small">
|
||||
<el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button size="small" type="primary" @click="deleteDialogClose('define')">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -0,0 +1,502 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#detailPage {
|
||||
border-radius: 10px;
|
||||
color: #444;
|
||||
font-weight: 500;
|
||||
padding: 0px 10px 60px;
|
||||
position: relative;
|
||||
}
|
||||
|
||||
.el-form-item__label,
|
||||
.el-form-item__content {
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.el-form-item {
|
||||
margin-bottom: 14px;
|
||||
/* padding-left: 50px; */
|
||||
}
|
||||
|
||||
.title-tip {
|
||||
color: #999;
|
||||
line-height: 12px;
|
||||
font-size: 12px;
|
||||
font-weight: 400;
|
||||
margin-top: 10px;
|
||||
}
|
||||
|
||||
.commission-rate,
|
||||
.level-name {
|
||||
width: 200px;
|
||||
}
|
||||
|
||||
.upgrade-condition-item {
|
||||
display: inline-block;
|
||||
margin-bottom: 10px;
|
||||
padding: 0 10px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
text-align: center;
|
||||
border: 1px solid #e5e5e5;
|
||||
border-radius: 6px;
|
||||
margin-right: 14px;
|
||||
cursor: pointer;
|
||||
font-size: 12px;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.upgrade-type-container {
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.upgrade-type-title {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.upgrade-condition-item-active {
|
||||
border-color: #7438D5;
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.condition-delete {
|
||||
margin-left: 20px;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
color: #FE7C76;
|
||||
font-size: 20px;
|
||||
}
|
||||
|
||||
.goods-header {
|
||||
background: #f9f9f9;
|
||||
height: 40px;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.goods-item-1 {
|
||||
width: 280px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.goods-item-2 {
|
||||
width: 100px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.goods-item-3 {
|
||||
width: 100px;
|
||||
}
|
||||
|
||||
.goods-delete {
|
||||
cursor: pointer;
|
||||
color: #FF5959;
|
||||
}
|
||||
|
||||
.goods-image {
|
||||
width: 40px;
|
||||
height: 40px;
|
||||
margin-right: 20px;
|
||||
border: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.goods-add {
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
border-radius: 4px;
|
||||
font-size: 12px;
|
||||
cursor: pointer;
|
||||
background: #7438D5;
|
||||
color: #fff;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.el-image {
|
||||
width: 100%;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.image-slot {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
.shopro-submit-container {
|
||||
display: flex;
|
||||
justify-content: flex-end;
|
||||
position: fixed;
|
||||
right: 40px;
|
||||
bottom: 0px;
|
||||
height: 60px;
|
||||
}
|
||||
|
||||
.shopro-submit-button {
|
||||
width: 88px;
|
||||
height: 36px;
|
||||
line-height: 36px;
|
||||
text-align: center;
|
||||
background: #7438D5;
|
||||
font-size: 14px;
|
||||
color: #fff;
|
||||
cursor: pointer;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.goods-title,
|
||||
.goods-price {
|
||||
line-height: 13px;
|
||||
}
|
||||
|
||||
.goods-price {
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.goods-title {
|
||||
margin-bottom: 13px;
|
||||
}
|
||||
|
||||
.goods-body-item {
|
||||
border-top: 1px solid #e6e6e6;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
}
|
||||
|
||||
.active-icon {
|
||||
width: 22px;
|
||||
height: 22px;
|
||||
position: absolute;
|
||||
right: -1px;
|
||||
top: -1px;
|
||||
}
|
||||
|
||||
.shopro-level-item {
|
||||
width: 70px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
border-radius: 4px;
|
||||
border: 1px solid #e6e6e6;
|
||||
margin-right: 12px;
|
||||
text-align: center;
|
||||
font-size: 13px;
|
||||
cursor: pointer;
|
||||
position: relative;
|
||||
overflow: hidden;
|
||||
margin-bottom: 10px;
|
||||
}
|
||||
|
||||
.shopro-level-item-active {
|
||||
border-color: #7438D5;
|
||||
color: #7438D5;
|
||||
}
|
||||
|
||||
.shopro-level-item-disable {
|
||||
background: #eee;
|
||||
border-color: #e6e6e6;
|
||||
cursor: auto;
|
||||
}
|
||||
|
||||
.el-dialog__body {
|
||||
padding: 10px 20px;
|
||||
}
|
||||
|
||||
.el-dialog__footer {
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
.bgimage-add-container {
|
||||
border: 1px solid #e6e6e6;
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
border-radius: 5px;
|
||||
}
|
||||
|
||||
.bgimage-add {
|
||||
width: 80px;
|
||||
height: 80px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
font-size: 30px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.shopro-goods-add-button {
|
||||
cursor: pointer;
|
||||
color: #7438D5;
|
||||
font-size: 13px;
|
||||
height: 50px;
|
||||
line-height: 50px;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.shopro-goods-add-button i {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.child-agent-count-add {
|
||||
width: 80px;
|
||||
height: 32px;
|
||||
background: #FFFFFF;
|
||||
border: 1px solid #7438D5;
|
||||
border-radius: 4px;
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: center;
|
||||
color: #7438D5;
|
||||
margin-bottom: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.child-agent-count-add i {
|
||||
margin-right: 6px;
|
||||
}
|
||||
|
||||
.child-agent-count-item {
|
||||
margin-bottom: 14px;
|
||||
}
|
||||
|
||||
.child-agent-count-select {
|
||||
width: 150px;
|
||||
}
|
||||
|
||||
.child-agent-count-man {
|
||||
margin-left: 30px;
|
||||
}
|
||||
|
||||
.child-agent-count-input {
|
||||
width: 90px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.level-tip {
|
||||
margin-bottom: 20px;
|
||||
border-radius: 5px;
|
||||
background-color: #F1EBFA;
|
||||
padding: 16px;
|
||||
}
|
||||
.el-input-group__append{
|
||||
line-height: 30px;
|
||||
}
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/shopro.js"></script>
|
||||
<div id="detailPage" v-cloak>
|
||||
<el-form :model="formData" ref="formData" label-width="168px" v-if="formData">
|
||||
<div class="level-tip">
|
||||
新增或编辑等级后,请及时在分销商品中完善对应的佣金规则
|
||||
</div>
|
||||
<div>
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>等级佣金比例
|
||||
</div>
|
||||
<el-form-item label="等级权重:" prop="level">
|
||||
<div class="display-flex" style="width: 410px;flex-wrap: wrap;">
|
||||
<tempalte v-if="optType=='edit'">
|
||||
<div class="shopro-level-item shopro-level-item-disable" v-if="formData.level!=1">
|
||||
一级
|
||||
</div>
|
||||
<div class="shopro-level-item shopro-level-item-active" v-else>
|
||||
<img class="active-icon" src="/assets/addons/shopro/img/goods/active.png">
|
||||
一级
|
||||
</div>
|
||||
</tempalte>
|
||||
<tempalte v-if="optType=='add'">
|
||||
<div class="shopro-level-item shopro-level-item-disable">
|
||||
一级
|
||||
</div>
|
||||
</tempalte>
|
||||
<template v-for="(levelItem,levelIndex) in levelList" v-if="levelIndex>0 && formData.level!=1">
|
||||
<div class="shopro-level-item" v-if="existLevel.includes(Number(levelItem.value))"
|
||||
:class="[(existLevel.includes(Number(levelItem.value)) && formData.level!=levelItem.value)?'shopro-level-item-disable':'',formData.level==levelItem.value?'shopro-level-item-active':'']">
|
||||
<img class="active-icon"
|
||||
v-if="existLevel.includes(Number(levelItem.value)) && formData.level==levelItem.value"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
{{levelItem.title}}
|
||||
</div>
|
||||
<div class="shopro-level-item" v-else
|
||||
:class="formData.level==levelItem.value?'shopro-level-item-active':''"
|
||||
@click="selectLevel(levelIndex)">
|
||||
<img class="active-icon"
|
||||
v-if="formData.level==levelItem.value?'shopro-level-item-active':''"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
{{levelItem.title}}
|
||||
</div>
|
||||
</template>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="等级名称:" prop="name">
|
||||
<div class="level-name">
|
||||
<el-input v-model="formData.name" placeholder="请输入等级名称" maxlength="6" size="small" show-word-limit>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="等级徽章:" prop="image">
|
||||
<div class="bgimage-add-container" @click="bgimageAdd">
|
||||
<el-image v-if="formData.image" :src="Fast.api.cdnurl(formData.image)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
<div class="bgimage-add" v-if="!formData.image">
|
||||
<i class="el-icon-plus"></i>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="一级(自购)佣金比例:" prop="commission_1">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="formData.commission_rules.commission_1" type="number" placeholder="如不填写默认为0"
|
||||
size="small">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="二级佣金比例:" prop="commission_2">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="formData.commission_rules.commission_2" type="number" placeholder="如不填写默认为0"
|
||||
size="small">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item label="三级佣金比例:" prop="commission_3">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="formData.commission_rules.commission_3" type="number" placeholder="如不填写默认为0"
|
||||
size="small">
|
||||
<template slot="append">%</template>
|
||||
</el-input>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
<div v-if="formData.level!=1">
|
||||
<div class="shopro-form-group-title">
|
||||
<div class="shopro-form-group-title-line"></div>添加升级条件
|
||||
</div>
|
||||
<el-form-item label="升级方式:" prop="upgrade_type">
|
||||
<div>
|
||||
<el-radio-group v-model="formData.upgrade_type">
|
||||
<el-radio :label="0">满足以下任意条件</el-radio>
|
||||
<el-radio :label="1">满足以下全部条件</el-radio>
|
||||
</el-radio-group>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item>
|
||||
<div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex<4" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span>{{upgrade.title}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>3 && upgradeIndex<8" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span v-if="upgradeIndex!=4">{{upgrade.title}}</span>
|
||||
<el-popover placement="bottom" trigger="hover"
|
||||
content="包含直推分销金额和内购分销金额">
|
||||
<span v-if="upgradeIndex==4" slot="reference">{{upgrade.title}}</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>7 && upgradeIndex<12" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span v-if="upgradeIndex!=8">{{upgrade.title}}</span>
|
||||
<el-popover placement="bottom" trigger="hover"
|
||||
content="包含直推分销订单和内购分销订单">
|
||||
<span v-if="upgradeIndex==8" slot="reference">{{upgrade.title}}</span>
|
||||
</el-popover>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>11 && upgradeIndex<15" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span>{{upgrade.title}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<div class="upgrade-condition-item" :class="upgrade.selected?'upgrade-condition-item-active':''"
|
||||
v-for="(upgrade,upgradeIndex) in upgradeCondition" v-if="upgradeIndex>14" @click="selectCondition(upgradeIndex)">
|
||||
<img class="active-icon" v-if="upgrade.selected"
|
||||
src="/assets/addons/shopro/img/goods/active.png">
|
||||
<span>{{upgrade.title}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
<el-form-item :label="upgrade.title+':'" v-if="upgrade.selected"
|
||||
v-for="(upgrade,uindex) in upgradeCondition" :prop="upgrade.key">
|
||||
<div class="display-flex"
|
||||
v-if="upgrade.key!='child_agent_level' && upgrade.key!='child_agent_level_1'">
|
||||
<div class="commission-rate">
|
||||
<el-input v-model="upgrade.value" type="number" size="small">
|
||||
<template slot="append"
|
||||
v-if="upgrade.key=='total_consume' || upgrade.key=='child_order_money' || upgrade.key=='child_order_money_1' || upgrade.key=='child_order_money_2' || upgrade.key=='order_money'">元</template>
|
||||
<template slot="append"
|
||||
v-if="upgrade.key=='child_agent_count' || upgrade.key=='child_agent_count_1' || upgrade.key=='child_agent_count_2' || upgrade.key=='child_user_count' || upgrade.key=='child_user_count_1' || upgrade.key=='child_user_count_2'">人</template>
|
||||
<template slot="append"
|
||||
v-if="upgrade.key=='order_count' || upgrade.key=='child_order_count_1' || upgrade.key=='child_order_count_2' || upgrade.key=='child_order_count'">单</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<i class="condition-delete el-icon-circle-close" @click="conditionDelete(uindex)"></i>
|
||||
</div>
|
||||
<div
|
||||
v-if="upgrade.key=='child_agent_level' || upgrade.key=='child_agent_level_1'">
|
||||
<div>
|
||||
<div class="display-flex child-agent-count-item" v-for="(countItem,cindex) in upgrade.value">
|
||||
<div class="child-agent-count-select">
|
||||
<el-select v-model="countItem.level" placeholder="请选择分销商等级" no-data-text="等级已选择完毕" size="small">
|
||||
<el-option v-for="item in levelOptions" :key="item.level"
|
||||
:label="item.name+'(等级'+item.level+')'" :value="item.level"
|
||||
v-if="Number(item.level)<=Number(formData.level) && Number(item.level)!=Number(editId)">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="child-agent-count-man">满</div>
|
||||
<div class="child-agent-count-input">
|
||||
<el-input v-model="countItem.count" type="number" size="small">
|
||||
<template slot="append">人</template>
|
||||
</el-input>
|
||||
</div>
|
||||
<i class="condition-delete el-icon-circle-close" @click="childAgentCountDelete(uindex,cindex)"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div class="child-agent-count-add" @click="childAgentCountAdd(uindex)"
|
||||
v-if="!formData.level || upgrade.value.length<selectLevelOptionsLength">
|
||||
<i class="el-icon-plus"></i>添加</div>
|
||||
</div>
|
||||
</el-form-item>
|
||||
</div>
|
||||
</el-form>
|
||||
<div class="shopro-submit-container">
|
||||
<div class="shopro-submit-button" @click="formSubmit('formData')">确定</div>
|
||||
</div>
|
||||
<el-dialog title="提示" :visible.sync="deleteDialog" width="400" :before-close="deleteDialogClose">
|
||||
<div class="display-flex" style="justify-content: space-between;">
|
||||
<div>分销商移入其他等级</div>
|
||||
<el-select v-model="moveLevel" placeholder="请选择" size="small">
|
||||
<el-option v-for="item in levelOptions" :key="item.value" :label="item.label" :value="item.value">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<span slot="footer" class="dialog-footer">
|
||||
<el-button size="small" type="primary" @click="deleteDialogClose('define')">确 定</el-button>
|
||||
</span>
|
||||
</el-dialog>
|
||||
</div>
|
||||
@@ -0,0 +1,84 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#indexPage {
|
||||
background: #fff;
|
||||
border-radius: 10px 10px 0px 0px;
|
||||
padding-bottom: 30px;
|
||||
}
|
||||
.shopro-edit-text{
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="indexPage" v-cloak v-loading="isAjax">
|
||||
<div class="shopro-header-container">
|
||||
分销商等级
|
||||
</div>
|
||||
<div class="shopro-index-button-container">
|
||||
<div class="shopro-button shopro-refresh-button" @click="getindexList">
|
||||
<i class="el-icon-refresh"></i>
|
||||
</div>
|
||||
<div class="shopro-add-button" @click="operation('create',null,null)">
|
||||
<i class="el-icon-plus"></i>添加等级
|
||||
</div>
|
||||
</div>
|
||||
<div class="shopro-table-container">
|
||||
<el-table :data="indexList" style="width: 100%" stripe border :cell-class-name="tableCellClassName"
|
||||
:header-cell-class-name="tableCellClassName">
|
||||
<el-table-column prop="level" label="等级" width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
等级{{scope.row.level}} <span v-if="scope.row.level==1">(默认等级)</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="等级名称" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="ellipsis-item">
|
||||
{{scope.row.name}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="等级徽章" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.image)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="一级(自购)佣金比例" min-width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="shopro-custom-cell-center">{{scope.row.commission_rules.commission_1}}%</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="二级佣金比例" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="shopro-custom-cell-center">{{scope.row.commission_rules.commission_2}}%</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="三级佣金比例" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div class="shopro-custom-cell-center">{{scope.row.commission_rules.commission_3}}%</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" min-width="120">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
<span class="shopro-edit-text" @click="operation('edit',scope.row.level)">编辑</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,344 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
#indexPage {
|
||||
font-family: Source Han Sans SC;
|
||||
/* padding: 0 0 20px; */
|
||||
/* background: #fff; */
|
||||
border-radius: 10px 10px 0px 0px;
|
||||
}
|
||||
|
||||
.shopro-screen-container {
|
||||
padding-top: 16px;
|
||||
background: #fff;
|
||||
}
|
||||
|
||||
.shopro-table-container {
|
||||
background: #fff;
|
||||
margin-top: 10px;
|
||||
padding: 20px 20px 30px;
|
||||
}
|
||||
|
||||
.shopro-reset-button {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.title {
|
||||
height: 58px;
|
||||
line-height: 58px;
|
||||
font-weight: 600;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.btn-common {
|
||||
width: 80px;
|
||||
height: 30px;
|
||||
line-height: 30px;
|
||||
border-radius: 4px;
|
||||
font-size: 13px;
|
||||
text-align: center;
|
||||
cursor: pointer;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.btn-box {
|
||||
margin-bottom: 20px;
|
||||
display: flex;
|
||||
justify-content: space-between;
|
||||
}
|
||||
|
||||
.create-btn {
|
||||
background: #7536D0;
|
||||
color: #fff;
|
||||
width: 100px;
|
||||
height: 32px;
|
||||
line-height: 32px;
|
||||
}
|
||||
|
||||
.operation-status {
|
||||
color: #7438D5;
|
||||
margin-right: 14px;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.table-header-bgcolor th {
|
||||
background-color: #f9f9f9 !important;
|
||||
padding: 8px 0;
|
||||
}
|
||||
|
||||
.table-header-bgcolor th .cell {
|
||||
font-weight: 400;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
/* 搜索 筛选 */
|
||||
.screen-con {
|
||||
display: flex;
|
||||
}
|
||||
|
||||
.header-input-item {
|
||||
margin-right: 30px;
|
||||
margin-bottom: 14px;
|
||||
width: 242px;
|
||||
}
|
||||
|
||||
.header-input-item .header-input-tip {
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.header-input-item .el-input {
|
||||
width: 176px;
|
||||
}
|
||||
|
||||
.multiple-set-acitve-1,
|
||||
.multiple-set-acitve-2,
|
||||
.multiple-set-acitve-3 {
|
||||
cursor: pointer;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.multiple-set-acitve .multiple-set-acitve-1 {
|
||||
color: #60CC9E;
|
||||
}
|
||||
|
||||
.multiple-set-acitve .multiple-set-acitve-2 {
|
||||
color: #ED655F;
|
||||
}
|
||||
|
||||
.multiple-set-acitve .multiple-set-acitve-3 {
|
||||
color: #7438D5
|
||||
}
|
||||
|
||||
.shopro-pagination-container .shopro-edit-text {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
.shopro-refresh-button {
|
||||
margin-bottom: 20px;
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.el-checkbox__inner:focus {
|
||||
border: none;
|
||||
outline: none;
|
||||
}
|
||||
|
||||
.el-table--border th:first-child .cell {
|
||||
padding-left: 5px;
|
||||
}
|
||||
|
||||
.activity-type {
|
||||
justify-content: space-around;
|
||||
width: 90px;
|
||||
}
|
||||
|
||||
.activity-type-btn {
|
||||
width: 40px;
|
||||
height: 20px;
|
||||
padding-top: 2px;
|
||||
border-radius: 4px;
|
||||
color: #fff;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.seckill-btn {
|
||||
background: #FFF4F3;
|
||||
border: 1px solid #FECAC4;
|
||||
color: #FE9488;
|
||||
}
|
||||
|
||||
.groupon-btn {
|
||||
background: #F1EDFA;
|
||||
border: 1px solid #CEBEEC;
|
||||
color: #9C7EDA;
|
||||
}
|
||||
|
||||
.score-btn {
|
||||
background: #FDF5E8;
|
||||
border: 1px solid #F8DCAE;
|
||||
color: #F2BA5E;
|
||||
}
|
||||
|
||||
.really-status-tip {
|
||||
margin-right: 10px;
|
||||
color: #444;
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.really-status-icon {
|
||||
font-size: 20px;
|
||||
color: #7C7C7C;
|
||||
margin-right: 16px;
|
||||
}
|
||||
|
||||
.el-popover--plain {
|
||||
padding: 12px;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.nice-validator .el-input__inner {
|
||||
vertical-align: baseline !important;
|
||||
}
|
||||
|
||||
.active-cursor-line {
|
||||
color: #7438D5;
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="indexPage" v-cloak v-loading="isAjax">
|
||||
<div class="shopro-screen-container">
|
||||
<div class="shopro-button shopro-refresh-button" @click="getListData">
|
||||
<i class="el-icon-refresh"></i>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="really-status-tip">实时动态</div>
|
||||
<el-popover placement="top" trigger="hover" content="开启后,该页面将实时刷新">
|
||||
<i class="el-icon-question really-status-icon" slot="reference"></i>
|
||||
</el-popover>
|
||||
<el-switch @change="changeReallyStatus" v-model="really_status" active-value="1" inactive-value="0"
|
||||
active-color="#7536D0" inactive-color="#eee">
|
||||
</el-switch>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<el-input placeholder="请输入内容" v-model="searchForm.form_1_value" class="screen-item-select" size="small">
|
||||
<el-select v-model="searchForm.form_1_key" slot="prepend" placeholder="请选择">
|
||||
<el-option label="分销用户ID" value="agent_id"></el-option>
|
||||
<el-option label="分销用户昵称" value="agent_nickname"></el-option>
|
||||
<el-option label="分销用户手机号" value="agent_mobile"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">操作人类型</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.oper_type" placeholder="请选择动态类型" size="small">
|
||||
<el-option :label="type.label" :value="type.value" v-for="type in operTypeOptions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item"
|
||||
v-if="searchForm.oper_type=='user' || searchForm.oper_type=='admin'">
|
||||
<el-input placeholder="请输入内容" v-model="searchForm.form_2_value" class="screen-item-select" size="small">
|
||||
<el-select v-model="searchForm.form_2_key" slot="prepend" placeholder="请选择">
|
||||
<el-option label="操作人ID" value="oper_id"></el-option>
|
||||
<el-option label="操作人昵称" value="oper_nickname"></el-option>
|
||||
<el-option label="操作人手机号" value="oper_mobile" v-if="searchForm.oper_type=='user'"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">动态时间</div>
|
||||
<div>
|
||||
<el-date-picker v-model="searchForm.createtime" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="small" format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item">
|
||||
<div class="shopro-screen-tip">动态类型</div>
|
||||
<div class="shopro-screen-condition">
|
||||
<el-select v-model="searchForm.event" placeholder="请选择动态类型" size="small">
|
||||
<el-option :label="log.name" :value="log.type" v-for="log in logOptions">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex shopro-screen-item-button">
|
||||
<div class="shopro-button shopro-reset-button" @click="screenEmpty">重置</div>
|
||||
<div class="shopro-button shopro-screen-button" @click="pageCurrentChange(1)">筛选</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="shopro-table-container">
|
||||
<el-table :data="listData" style="width: 100%" border stripe="true" :cell-class-name="tableCellClassName"
|
||||
:header-cell-class-name="tableCellClassName">
|
||||
</el-table-column>
|
||||
<el-table-column prop="id" label="ID" width="70">
|
||||
</el-table-column>
|
||||
<el-table-column prop="event_text" label="动态筛选" min-width="100">
|
||||
</el-table-column>
|
||||
<el-table-column label="分销商" width="160">
|
||||
<template slot-scope="scope">
|
||||
<el-popover placement="bottom" trigger="hover" width="180">
|
||||
<div class="popover-container">
|
||||
<div class="display-flex">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">用户ID</div>:
|
||||
</div>
|
||||
<div class="active-cursor-line" @click="openAgentProfile(scope.row.agent_id)">
|
||||
{{scope.row.agent.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex" v-if="scope.row.agent && scope.row.agent.mobile">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">手机号</div>:
|
||||
</div>
|
||||
<div>{{scope.row.agent.mobile}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex" slot="reference" v-if="scope.row.agent">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.agent.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item">{{scope.row.agent.nickname}}</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
<div v-if="!scope.row.agent">-</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column prop="remark" label="内容" width="400">
|
||||
</el-table-column>
|
||||
<el-table-column prop="oper_type_text" label="操作人类型" width="100">
|
||||
</el-table-column>
|
||||
<el-table-column label="操作人" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex" v-if="scope.row.oper">
|
||||
<div class="table-image">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.oper.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item">{{scope.row.oper.nickname}}</div>
|
||||
</div>
|
||||
<div v-if="!scope.row.oper">系统</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="动态时间" width="160">
|
||||
<template slot-scope="scope">
|
||||
<div>
|
||||
{{moment(scope.row.createtime*1000).format("YYYY-MM-DD HH:mm:ss")}}
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column label="操作" fixed="right" min-width="80">
|
||||
<template slot-scope="scope">
|
||||
<div class="operation-status">
|
||||
<span v-if="['order','reward','share','agent','level'].includes(scope.row.event)"
|
||||
@click="operation(scope.row.event,scope.row)">详情</span>
|
||||
<span v-else>-</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
<div class="shopro-pagination-container">
|
||||
<el-pagination @size-change="pageSizeChange" @current-change="pageCurrentChange" :current-page="currentPage"
|
||||
:page-sizes="[10, 20, 30, 40]" :page-size="limit" layout="total, sizes, prev, pager, next, jumper"
|
||||
:total="totalPage">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
文件差异内容过多而无法显示
加载差异
@@ -0,0 +1,537 @@
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/element/element.css">
|
||||
<link rel="stylesheet" href="__CDN__/assets/addons/shopro/libs/common.css">
|
||||
<style>
|
||||
.font-size-12 {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.color-999 {
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.color-22D38D {
|
||||
color: #22D38D;
|
||||
}
|
||||
|
||||
.margin-left-10 {
|
||||
margin-left: 10px;
|
||||
}
|
||||
|
||||
/* table */
|
||||
.order-table {
|
||||
padding: 20px 20px 30px;
|
||||
margin-top: 10px;
|
||||
background: #fff;
|
||||
color: #444;
|
||||
}
|
||||
|
||||
.screen-container {
|
||||
background: #fff;
|
||||
flex-wrap: wrap;
|
||||
padding: 0 20px;
|
||||
}
|
||||
|
||||
.screen-item {
|
||||
width: 240px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
margin: 14px 30px 10px 0;
|
||||
}
|
||||
|
||||
.el-input-group__prepend {
|
||||
width: 116px;
|
||||
}
|
||||
|
||||
.screen-item-time {
|
||||
width: 480px;
|
||||
}
|
||||
|
||||
.screen-item-tip {
|
||||
width: 60px;
|
||||
margin-right: 14px;
|
||||
}
|
||||
|
||||
.expand-container {
|
||||
margin-bottom: 8px;
|
||||
color: #444;
|
||||
width: 100%;
|
||||
border-left: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.expand-item {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
width: 98px;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.expand-item>div {
|
||||
padding: 0 10px;
|
||||
}
|
||||
|
||||
.expand-item-goods {
|
||||
width: 548px;
|
||||
flex-direction: column;
|
||||
/* padding: 0 22px 0 10px; */
|
||||
}
|
||||
|
||||
.expand-item-goods-iamge {
|
||||
width: 60px;
|
||||
height: 60px;
|
||||
margin-right: 10px;
|
||||
border-radius: 2px;
|
||||
border: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
.expand-item-height {
|
||||
height: 80px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
.expand-item-goods-container {
|
||||
flex-direction: column;
|
||||
justify-content: space-between;
|
||||
height: 60px;
|
||||
width: 100%;
|
||||
align-items: flex-start;
|
||||
}
|
||||
|
||||
.expand-item-goods-title {
|
||||
line-height: 18px;
|
||||
color: #444;
|
||||
font-size: 13px;
|
||||
}
|
||||
|
||||
.expand-item-goods-describe {
|
||||
line-height: 12px;
|
||||
color: #999;
|
||||
}
|
||||
|
||||
.border-right {
|
||||
border-right: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
.border-bottom {
|
||||
border-bottom: 1px solid #E6E6E6;
|
||||
}
|
||||
|
||||
.expand-item-commissin-user {
|
||||
width: 110px;
|
||||
}
|
||||
|
||||
.expand-item-commission-describe {
|
||||
width: 294px;
|
||||
}
|
||||
|
||||
.expand-item-commission-describe-image {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
margin-bottom: 8px;
|
||||
}
|
||||
|
||||
.expand-item-commission-container {
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.expand-item-commission-describe-item {
|
||||
/* margin-right: ; */
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.expand-item-commission-describe-item:last-of-type {
|
||||
margin: 0;
|
||||
}
|
||||
|
||||
.expand-item-commission-time {
|
||||
width: 160px;
|
||||
}
|
||||
|
||||
.expand-item-buyer {
|
||||
width: 140px;
|
||||
}
|
||||
|
||||
.expand-item-commission-money {
|
||||
width: 120px;
|
||||
}
|
||||
|
||||
.shopro-reset-button {
|
||||
margin-right: 20px;
|
||||
}
|
||||
|
||||
.display-flex-center {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
}
|
||||
|
||||
.font-weight {
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.table-image {
|
||||
border-radius: 15px;
|
||||
width: 30px;
|
||||
height: 30px;
|
||||
overflow: hidden;
|
||||
border: 1px solid #e6e6e6;
|
||||
}
|
||||
|
||||
.cursor-pointer {
|
||||
cursor: pointer;
|
||||
}
|
||||
|
||||
.popover-container>div {
|
||||
margin-bottom: 12px;
|
||||
}
|
||||
|
||||
.popover-container>div:last-of-type {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
|
||||
.table-dashboard-item-container {
|
||||
width: 20%;
|
||||
}
|
||||
|
||||
.table-dashboard-item {
|
||||
min-height: 46px;
|
||||
box-shadow: 0px 2px 10px rgba(0, 0, 0, 0.1);
|
||||
border-radius: 2px;
|
||||
margin: 0 5px 14px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
font-size: 12px;
|
||||
color: #58575A;
|
||||
line-height: 16px;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.table-dashboard-item-tip {
|
||||
width: 138px;
|
||||
/* text-align: center; */
|
||||
padding-left: 20px;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
}
|
||||
|
||||
.table-dashboard-item-form {
|
||||
display: flex;
|
||||
justify-content: center;
|
||||
align-items: flex-end;
|
||||
flex: 1;
|
||||
height: 46px;
|
||||
line-height: 46px;
|
||||
min-width: 170px;
|
||||
}
|
||||
|
||||
.table-dashboard-item-unit {
|
||||
margin-left: 4px;
|
||||
line-height: 40px;
|
||||
}
|
||||
|
||||
.table-dashboard-item-num {
|
||||
font-size: 20px;
|
||||
/* line-height: 20px; */
|
||||
}
|
||||
|
||||
.el-table td .cell {
|
||||
height: 60px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
}
|
||||
|
||||
.table-dashboard-item-dot {
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: #8644F2;
|
||||
border-radius: 50%;
|
||||
margin-right: 10px;
|
||||
display: inline-block;
|
||||
}
|
||||
|
||||
.dot-2 {
|
||||
background: #E6A93C;
|
||||
}
|
||||
|
||||
.dot-3 {
|
||||
background: #687FF4;
|
||||
}
|
||||
|
||||
.dot-4 {
|
||||
background: #F08972;
|
||||
}
|
||||
|
||||
.dot-5 {
|
||||
background: #EC5B55;
|
||||
}
|
||||
|
||||
.color-ED655F {
|
||||
color: #ED655F;
|
||||
}
|
||||
|
||||
.table-dashboard-container {
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-wrap: wrap;
|
||||
}
|
||||
|
||||
.nice-validator .el-input__inner {
|
||||
vertical-align: baseline !important;
|
||||
}
|
||||
|
||||
.commission-avatar {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border: 1px solid #E6E6E6;
|
||||
border-radius: 50%;
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
.commission-nickname {
|
||||
justify-content: center;
|
||||
cursor: pointer;
|
||||
color: #8644F2;
|
||||
}
|
||||
|
||||
.commission-order-sn {
|
||||
cursor: pointer;
|
||||
color: #8644F2;
|
||||
}
|
||||
|
||||
.table-user-container {
|
||||
flex-direction: column;
|
||||
}
|
||||
|
||||
[v-cloak] {
|
||||
display: none
|
||||
}
|
||||
</style>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/vue.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/element/element.js"></script>
|
||||
<script src="__CDN__/assets/addons/shopro/libs/moment.js"></script>
|
||||
<div id="orderIndex" v-cloak>
|
||||
<div class="screen-container display-flex" v-if="!searchForm.id">
|
||||
<div class="shopro-button shopro-refresh-button" @click="reqOrderList">
|
||||
<i class="el-icon-refresh"></i>
|
||||
</div>
|
||||
<div class="screen-item">
|
||||
<el-input placeholder="请输入内容" v-model="searchForm.form_1_value" class="screen-item-select" size="small">
|
||||
<el-select v-model="searchForm.form_1_key" slot="prepend" placeholder="请选择">
|
||||
<el-option label="下单用户ID" value="buyer_id"></el-option>
|
||||
<el-option label="下单用户昵称" value="buyer_nickname"></el-option>
|
||||
<el-option label="下单用户手机号" value="buyer_mobile"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="screen-item">
|
||||
<el-input placeholder="请输入内容" v-model="searchForm.form_2_value" class="screen-item-select" size="small">
|
||||
<el-select v-model="searchForm.form_2_key" slot="prepend" placeholder="请选择">
|
||||
<el-option label="分销用户ID" value="agent_id"></el-option>
|
||||
<el-option label="分销用户昵称" value="agent_nickname"></el-option>
|
||||
<el-option label="分销用户手机号" value="agent_mobile"></el-option>
|
||||
</el-select>
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="screen-item">
|
||||
<div class="screen-item-tip">订单号</div>
|
||||
<el-input placeholder="请输入订单号" v-model="searchForm.order_sn" class="screen-item-input" size="small">
|
||||
</el-input>
|
||||
</div>
|
||||
<div class="screen-item">
|
||||
<div class="screen-item-tip">入账状态</div>
|
||||
<el-select v-model="searchForm.status" placeholder="请选择分佣状态" size="small">
|
||||
<el-option :label="sitem.label" :value="sitem.value" v-for="sitem in searchStatusOption">
|
||||
</el-option>
|
||||
</el-select>
|
||||
</div>
|
||||
<div class="screen-item screen-item-time">
|
||||
<div class="screen-item-tip">分佣时间</div>
|
||||
<div>
|
||||
<el-date-picker v-model="searchForm.createtime" type="datetimerange" value-format="yyyy-MM-dd HH:mm:ss"
|
||||
size="small" format="yyyy-MM-dd HH:mm:ss" range-separator="至" start-placeholder="开始日期"
|
||||
end-placeholder="结束日期">
|
||||
</el-date-picker>
|
||||
</div>
|
||||
</div>
|
||||
<div class="screen-item shopro-screen-item-button">
|
||||
<div class="shopro-button shopro-reset-button" @click="screenEmpty">重置</div>
|
||||
<div class="shopro-button shopro-screen-button" @click="handleCurrentChange(1)">筛选</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-table" v-loading="isAjax">
|
||||
<div class="table-dashboard-container">
|
||||
<div class="table-dashboard-item-container">
|
||||
<div class="table-dashboard-item">
|
||||
<div class="table-dashboard-item-tip">
|
||||
<span class="table-dashboard-item-dot"></span>
|
||||
佣金单数:
|
||||
</div>
|
||||
<div class="table-dashboard-item-form">
|
||||
<span class="table-dashboard-item-num">{{dashboard.total}}</span>
|
||||
<span class="table-dashboard-item-unit">单</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-dashboard-item-container">
|
||||
<div class="table-dashboard-item">
|
||||
<div class="table-dashboard-item-tip">
|
||||
<span class="table-dashboard-item-dot dot-2"></span>
|
||||
累计佣金:
|
||||
</div>
|
||||
<div class="table-dashboard-item-form">
|
||||
<span class="table-dashboard-item-num">{{dashboard.commission_total}}</span>
|
||||
<span class="table-dashboard-item-unit">元</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-dashboard-item-container">
|
||||
<div class="table-dashboard-item">
|
||||
<div class="table-dashboard-item-tip">
|
||||
<span class="table-dashboard-item-dot dot-3"></span>
|
||||
已到账佣金:
|
||||
</div>
|
||||
<div class="table-dashboard-item-form">
|
||||
<span class="table-dashboard-item-num">{{dashboard.commissioned_total}}</span>
|
||||
<span class="table-dashboard-item-unit">元</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-dashboard-item-container">
|
||||
<div class="table-dashboard-item">
|
||||
<div class="table-dashboard-item-tip">
|
||||
<span class="table-dashboard-item-dot dot-4"></span>
|
||||
待入账佣金:
|
||||
</div>
|
||||
<div class="table-dashboard-item-form">
|
||||
<span class="table-dashboard-item-num">{{dashboard.delay_total}}</span>
|
||||
<span class="table-dashboard-item-unit">元</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="table-dashboard-item-container">
|
||||
<div class="table-dashboard-item">
|
||||
<div class="table-dashboard-item-tip">
|
||||
<span class="table-dashboard-item-dot dot-5"></span>
|
||||
已退回佣金:
|
||||
</div>
|
||||
<div class="table-dashboard-item-form">
|
||||
<span class="table-dashboard-item-num">{{dashboard.commission_back_total}}</span>
|
||||
<span class="table-dashboard-item-unit">元</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div>
|
||||
<el-table :data="orderList" style="width: 100%" ref="multipleTable" tooltip-effect="dark" border stripe
|
||||
default-expand-all="true" @selection-change="handleSelectionChange">
|
||||
<el-table-column width="70" label="ID">
|
||||
<template slot-scope="scope">
|
||||
{{scope.row.order.id}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="220" label="订单号">
|
||||
<template slot-scope="scope">
|
||||
<span class="commission-order-sn"
|
||||
@click="openCommissonOrder(scope.row.order)">{{scope.row.order.order_sn}}</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="160" label="下单用户">
|
||||
<template slot-scope="scope">
|
||||
<el-popover placement="bottom" trigger="hover" width="180">
|
||||
<div v-if="scope.row.buyer" class="popover-container">
|
||||
<div class="display-flex">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">用户ID</div>:
|
||||
</div>
|
||||
<div class="active-cursor-line">
|
||||
{{scope.row.buyer.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex" v-if="scope.row.buyer && scope.row.buyer.mobile">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">手机号</div>:
|
||||
</div>
|
||||
<div>{{scope.row.buyer.mobile}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="scope.row.buyer" slot="reference" class="table-user-container display-flex">
|
||||
<div class="commission-avatar">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.buyer.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item commission-nickname">{{scope.row.buyer.nickname}}</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
<span v-if="!scope.row.buyer">-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="160" label="分销用户">
|
||||
<template slot-scope="scope">
|
||||
<el-popover placement="bottom" trigger="hover" width="180">
|
||||
<div v-if="scope.row.agent" class="popover-container">
|
||||
<div class="display-flex">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">用户ID</div>:
|
||||
</div>
|
||||
<div class="active-cursor-line">
|
||||
{{scope.row.agent.id}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="display-flex" v-if="scope.row.agent && scope.row.agent.mobile">
|
||||
<div class="display-flex">
|
||||
<div class="popover-tip">手机号</div>:
|
||||
</div>
|
||||
<div>{{scope.row.agent.mobile}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div v-if="scope.row.agent" class="table-user-container display-flex" slot="reference">
|
||||
<div class="commission-avatar">
|
||||
<el-image :src="Fast.api.cdnurl(scope.row.agent.avatar)" fit="contain">
|
||||
<div slot="error" class="image-slot">
|
||||
<i class="el-icon-picture-outline"></i>
|
||||
</div>
|
||||
</el-image>
|
||||
</div>
|
||||
<div class="ellipsis-item commission-nickname"
|
||||
@click="operation('edit',scope.row.agent.id)">
|
||||
{{scope.row.agent.nickname}}
|
||||
</div>
|
||||
</div>
|
||||
</el-popover>
|
||||
<span v-if="!scope.row.agent">-</span>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column min-width="90" prop="commission" label="分佣金额">
|
||||
<template slot-scope="scope">
|
||||
<div class="ellipsis-item">{{scope.row.commission}}元</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="90" label="入账状态">
|
||||
<template slot-scope="scope">
|
||||
<div class="display-flex" :class="rewardStatusClass(scope.row.status)">
|
||||
<span class="shopro-status-dot"></span>
|
||||
<span>{{scope.row.status_text}}</span>
|
||||
</div>
|
||||
</template>
|
||||
</el-table-column>
|
||||
<el-table-column width="90" prop="type_text" label="入账方式">
|
||||
</el-table-column>
|
||||
<el-table-column min-width="160" label="分佣时间">
|
||||
<template slot-scope="scope">
|
||||
{{moment(scope.row.createtime*1000).format('YYYY-MM-DD HH:mm:ss')}}
|
||||
</template>
|
||||
</el-table-column>
|
||||
</el-table>
|
||||
</div>
|
||||
<div class="shopro-pagination-container">
|
||||
<el-pagination @size-change="handleSizeChange" @current-change="handleCurrentChange"
|
||||
:current-page="currentPage" :page-sizes="[10, 20, 30, 40]" :page-size="limit"
|
||||
layout="total, sizes, prev, pager, next, jumper" :total="totalPage">
|
||||
</el-pagination>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
在新工单中引用
屏蔽一个用户