|
@@ -1,16 +1,16 @@
|
|
<template>
|
|
<template>
|
|
<div class="partner-detail">
|
|
<div class="partner-detail">
|
|
<h1>剑鱼伙伴</h1>
|
|
<h1>剑鱼伙伴</h1>
|
|
- <Row>
|
|
|
|
- <Col :lg="6" class="top-col">
|
|
|
|
|
|
+ <Row class="par-row">
|
|
|
|
+ <Col style="float:left;width: 20%" class="top-col">
|
|
<Card>
|
|
<Card>
|
|
<div slot="title" class="top-tit">
|
|
<div slot="title" class="top-tit">
|
|
<div class="avatr">
|
|
<div class="avatr">
|
|
- <img src="../../assets/images/login_logo.png" alt="">
|
|
|
|
|
|
+ <img :src="parDetail.headImg" alt="">
|
|
</div>
|
|
</div>
|
|
- <div class="names">卡卡罗特</div>
|
|
|
|
- <div class="msg1">183 8923 9821</div>
|
|
|
|
- <div class="msg1 msg2">mark.andre@gmail.com</div>
|
|
|
|
|
|
+ <div class="names">{{parDetail.name}}</div>
|
|
|
|
+ <div class="msg1"><span>{{parDetail.phone}}</span></div>
|
|
|
|
+ <div class="msg1 msg2"><span>{{parDetail.email}}</span></div>
|
|
</div>
|
|
</div>
|
|
<div class="bot-tit">
|
|
<div class="bot-tit">
|
|
<div class="over-view" @click="tabClick(1)" :class="{active:infor === 1}"><span>概览</span></div>
|
|
<div class="over-view" @click="tabClick(1)" :class="{active:infor === 1}"><span>概览</span></div>
|
|
@@ -19,96 +19,101 @@
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
</Col>
|
|
</Col>
|
|
- <Col :lg="17">
|
|
|
|
|
|
+ <Col style="float:left;width: 77.5%">
|
|
<Card v-if="infor == 1">
|
|
<Card v-if="infor == 1">
|
|
<div slot="title" class="right-fund">概览</div>
|
|
<div slot="title" class="right-fund">概览</div>
|
|
<div class="msg-card">
|
|
<div class="msg-card">
|
|
<Card>
|
|
<Card>
|
|
<div class="add-time">
|
|
<div class="add-time">
|
|
<div class="time1"><img src="../../assets/images/riqi.svg" />加入日期</div>
|
|
<div class="time1"><img src="../../assets/images/riqi.svg" />加入日期</div>
|
|
- <div class="time2">2020.02.02</div>
|
|
|
|
|
|
+ <div class="time2">{{parDetail.createtime}}</div>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
<Card>
|
|
<Card>
|
|
<div class="add-time">
|
|
<div class="add-time">
|
|
- <div class="time1"><img src="../../assets/images/riqi.svg" />最后使用日期</div>
|
|
|
|
- <div class="time2">2020.02.02</div>
|
|
|
|
|
|
+ <div class="time1"><img src="../../assets/images/riqi.png" />最后使用日期</div>
|
|
|
|
+ <div class="time2">{{parDetail.lastlogintime}}</div>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
<Card>
|
|
<Card>
|
|
<div class="add-time">
|
|
<div class="add-time">
|
|
<div class="time1"><img src="../../assets/images/yongjin.svg" />累计销售额</div>
|
|
<div class="time1"><img src="../../assets/images/yongjin.svg" />累计销售额</div>
|
|
- <div class="time2">2020.02.02</div>
|
|
|
|
|
|
+ <div class="time2">¥{{(parDetail.dis_sales/100).toLocaleString('en-US')}}</div>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
<Card>
|
|
<Card>
|
|
<div class="add-time">
|
|
<div class="add-time">
|
|
<div class="time1"><img src="../../assets/images/dingdan.svg" />累计销售订单</div>
|
|
<div class="time1"><img src="../../assets/images/dingdan.svg" />累计销售订单</div>
|
|
- <div class="time2">2020.02.02</div>
|
|
|
|
|
|
+ <div class="time2">{{parDetail.dis_order}}</div>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
<Card>
|
|
<Card>
|
|
<div class="add-time">
|
|
<div class="add-time">
|
|
<div class="time1"><img src="../../assets/images/yongjin.svg" />累计佣金</div>
|
|
<div class="time1"><img src="../../assets/images/yongjin.svg" />累计佣金</div>
|
|
- <div class="time2">2020.02.02</div>
|
|
|
|
|
|
+ <div class="time2">¥{{(parDetail.dis_commission/100).toLocaleString('en-US')}}</div>
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
</div>
|
|
</div>
|
|
- <Table ellipsis :loading="loading" :columns="column1" :data="data" stripe style="margin-top: 30px">
|
|
|
|
- <template slot-scope="{ row }" slot="opt"></template>
|
|
|
|
- </Table>
|
|
|
|
|
|
+ <Table
|
|
|
|
+ ellipsis
|
|
|
|
+ ref="selection"
|
|
|
|
+ :loading="loading"
|
|
|
|
+ :columns="column1"
|
|
|
|
+ :data="datas1"
|
|
|
|
+ stripe
|
|
|
|
+ style="margin-top: 30px"
|
|
|
|
+ ></Table>
|
|
</Card>
|
|
</Card>
|
|
<Card v-else-if="infor == 2">
|
|
<Card v-else-if="infor == 2">
|
|
<div slot="title" class="right-fund">基本信息</div>
|
|
<div slot="title" class="right-fund">基本信息</div>
|
|
<div class="infor-card">
|
|
<div class="infor-card">
|
|
- <div class="con" v-if="types">
|
|
|
|
|
|
+ <div class="con" v-if="types == '2'">
|
|
<span>企业名称</span>
|
|
<span>企业名称</span>
|
|
- <span class="spa2">北京拓普</span>
|
|
|
|
|
|
+ <span class="spa2">{{parDetail.name}}</span>
|
|
</div>
|
|
</div>
|
|
<div class="con" v-else>
|
|
<div class="con" v-else>
|
|
<span>用户名</span>
|
|
<span>用户名</span>
|
|
- <span class="spa2">卡卡罗特</span>
|
|
|
|
|
|
+ <span class="spa2">{{parDetail.name}}</span>
|
|
</div>
|
|
</div>
|
|
<Divider />
|
|
<Divider />
|
|
<div class="con">
|
|
<div class="con">
|
|
<span>手机</span>
|
|
<span>手机</span>
|
|
- <span class="spa2">卡卡罗特</span>
|
|
|
|
|
|
+ <span class="spa2">{{parDetail.phone}}</span>
|
|
</div>
|
|
</div>
|
|
<Divider />
|
|
<Divider />
|
|
<div class="con">
|
|
<div class="con">
|
|
<span>邮箱</span>
|
|
<span>邮箱</span>
|
|
- <span class="spa2">卡卡罗特</span>
|
|
|
|
|
|
+ <span class="spa2">{{parDetail.email}}</span>
|
|
</div>
|
|
</div>
|
|
<Divider />
|
|
<Divider />
|
|
<div class="con">
|
|
<div class="con">
|
|
<span>类型</span>
|
|
<span>类型</span>
|
|
- <span class="spa2">卡卡罗特</span>
|
|
|
|
|
|
+ <span class="spa2">{{parDetail.type == '1'?'个人':'企业'}}</span>
|
|
</div>
|
|
</div>
|
|
<Divider />
|
|
<Divider />
|
|
<div class="con">
|
|
<div class="con">
|
|
<span>渠道</span>
|
|
<span>渠道</span>
|
|
- <span class="spa2">卡卡罗特</span>
|
|
|
|
|
|
+ <span class="spa2">{{parDetail.channel}}</span>
|
|
</div>
|
|
</div>
|
|
<Divider />
|
|
<Divider />
|
|
- <div class="con" v-if="types">
|
|
|
|
|
|
+ <div class="con" v-if="types == '2'">
|
|
<span class="spa1">营业执照</span>
|
|
<span class="spa1">营业执照</span>
|
|
<img @click="fruit" src="../../assets/images/frut.jpg"/>
|
|
<img @click="fruit" src="../../assets/images/frut.jpg"/>
|
|
</div>
|
|
</div>
|
|
- <Divider v-if="types" />
|
|
|
|
|
|
+ <Divider v-if="types == '2'" />
|
|
</div>
|
|
</div>
|
|
</Card>
|
|
</Card>
|
|
<Card v-else>
|
|
<Card v-else>
|
|
<div slot="title" class="right-fund">资金明细</div>
|
|
<div slot="title" class="right-fund">资金明细</div>
|
|
- <Table ellipsis :loading="loading" :columns="column2" :data="data" stripe style="margin-top: 10px">
|
|
|
|
- <template slot-scope="{ row }" slot="opt">
|
|
|
|
- <Button
|
|
|
|
- class="find-btn"
|
|
|
|
- size="small"
|
|
|
|
- type="primary"
|
|
|
|
- :to="{path:'/sales/commissionList'}"
|
|
|
|
- >详情</Button>
|
|
|
|
- </template>
|
|
|
|
- </Table>
|
|
|
|
|
|
+ <Table
|
|
|
|
+ ellipsis
|
|
|
|
+ ref="selection"
|
|
|
|
+ :loading="loading"
|
|
|
|
+ :columns="column2"
|
|
|
|
+ :data="data"
|
|
|
|
+ stripe
|
|
|
|
+ style="margin-top: 10px"
|
|
|
|
+ ></Table>
|
|
</Card>
|
|
</Card>
|
|
</Col>
|
|
</Col>
|
|
</Row>
|
|
</Row>
|
|
@@ -120,7 +125,26 @@
|
|
</template>
|
|
</template>
|
|
|
|
|
|
<script>
|
|
<script>
|
|
|
|
+import { ChangeDate } from '../../assets/js/date'
|
|
export default {
|
|
export default {
|
|
|
|
+ created () {
|
|
|
|
+ let rout = this.$route.query
|
|
|
|
+ this.$request('/sales/partnerList/partnerDetail').data({
|
|
|
|
+ uid: rout.uid,
|
|
|
|
+ id: rout.id
|
|
|
|
+ }).success((r) => {
|
|
|
|
+ this.parDetail = r.data;
|
|
|
|
+ this.parDetail.createtime = ChangeDate(this.parDetail.createtime);
|
|
|
|
+ this.parDetail.lastlogintime = ChangeDate(this.parDetail.lastlogintime)
|
|
|
|
+ }).get()
|
|
|
|
+
|
|
|
|
+ this.$request('/sales/partnerList/overview').data({
|
|
|
|
+ uid: rout.uid,
|
|
|
|
+ id: rout.id
|
|
|
|
+ }).success((r) => {
|
|
|
|
+ this.datas1 = r.data;
|
|
|
|
+ }).get()
|
|
|
|
+ },
|
|
methods: {
|
|
methods: {
|
|
load(val) {
|
|
load(val) {
|
|
this.loading = val
|
|
this.loading = val
|
|
@@ -135,64 +159,45 @@ export default {
|
|
data () {
|
|
data () {
|
|
return {
|
|
return {
|
|
loading: false,
|
|
loading: false,
|
|
|
|
+ parDetail: [],
|
|
infor: 1,
|
|
infor: 1,
|
|
- types: 1,
|
|
|
|
|
|
+ types: this.$route.query.type,
|
|
preview: false,
|
|
preview: false,
|
|
- data: [
|
|
|
|
- {
|
|
|
|
- name: 'VIP订阅',
|
|
|
|
- slat: '¥293.09',
|
|
|
|
- _action: 3,
|
|
|
|
- money: '¥293.09',
|
|
|
|
- aver: '¥293.09'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: 'VIP订阅',
|
|
|
|
- slat: '¥293.09',
|
|
|
|
- _action: 3,
|
|
|
|
- money: '¥293.09',
|
|
|
|
- aver: '¥293.09'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: 'VIP订阅',
|
|
|
|
- slat: '¥293.09',
|
|
|
|
- _action: 3,
|
|
|
|
- money: '¥293.09',
|
|
|
|
- aver: '¥293.09'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- name: 'VIP订阅',
|
|
|
|
- slat: '¥293.09',
|
|
|
|
- _action: 3,
|
|
|
|
- money: '¥293.09',
|
|
|
|
- aver: '¥293.09'
|
|
|
|
- }
|
|
|
|
- ],
|
|
|
|
|
|
+ datas1: [],
|
|
column1: [
|
|
column1: [
|
|
{
|
|
{
|
|
title: '产品名称',
|
|
title: '产品名称',
|
|
- key: 'name',
|
|
|
|
|
|
+ key: 'product_name',
|
|
align: 'center'
|
|
align: 'center'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '累计销售额',
|
|
title: '累计销售额',
|
|
- key: 'slat',
|
|
|
|
- align: 'center'
|
|
|
|
|
|
+ key: 'sale_money_sum',
|
|
|
|
+ align: 'center',
|
|
|
|
+ render: (h, {row}) => {
|
|
|
|
+ return h('span','¥' + parseFloat(row.sale_money_sum/100).toLocaleString('en-US'))
|
|
|
|
+ }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '累计销售订单',
|
|
title: '累计销售订单',
|
|
- key: '_action',
|
|
|
|
|
|
+ key: 'count',
|
|
align: 'center'
|
|
align: 'center'
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '累计佣金',
|
|
title: '累计佣金',
|
|
- key: 'money',
|
|
|
|
- align: 'center'
|
|
|
|
|
|
+ key: 'commission_sum',
|
|
|
|
+ align: 'center',
|
|
|
|
+ render: (h, {row}) => {
|
|
|
|
+ return h('span','¥' + parseFloat(row.commission_sum/100).toLocaleString('en-US'))
|
|
|
|
+ }
|
|
},
|
|
},
|
|
{
|
|
{
|
|
title: '平均佣金',
|
|
title: '平均佣金',
|
|
- key: 'money',
|
|
|
|
- align: 'center'
|
|
|
|
|
|
+ key: 'average',
|
|
|
|
+ align: 'center',
|
|
|
|
+ render: (h, {row}) => {
|
|
|
|
+ return h('span','¥' + parseFloat(row.average/100).toLocaleString('en-US'))
|
|
|
|
+ }
|
|
}
|
|
}
|
|
],
|
|
],
|
|
column2: [
|
|
column2: [
|
|
@@ -214,12 +219,10 @@ export default {
|
|
{
|
|
{
|
|
title: '金额',
|
|
title: '金额',
|
|
key: 'money',
|
|
key: 'money',
|
|
- align: 'center'
|
|
|
|
- },
|
|
|
|
- {
|
|
|
|
- title: '操作',
|
|
|
|
- slot: 'opt',
|
|
|
|
- align: 'center'
|
|
|
|
|
|
+ align: 'center',
|
|
|
|
+ render: (h, {row}) => {
|
|
|
|
+ return h('span','¥' + parseFloat(row.money/100).toLocaleString('en-US'))
|
|
|
|
+ }
|
|
}
|
|
}
|
|
]
|
|
]
|
|
}
|
|
}
|
|
@@ -229,11 +232,15 @@ export default {
|
|
|
|
|
|
<style lang="scss" scoped>
|
|
<style lang="scss" scoped>
|
|
.partner-detail {
|
|
.partner-detail {
|
|
- padding-left: 20px;
|
|
|
|
|
|
+ // padding-left: 20px;
|
|
|
|
+ .par-row {
|
|
|
|
+ background:#Fff;
|
|
|
|
+ padding:20px 0 20px 15px;
|
|
|
|
+ }
|
|
h1 {
|
|
h1 {
|
|
font-size:24px;
|
|
font-size:24px;
|
|
color:#3f4047;
|
|
color:#3f4047;
|
|
- padding: 10px 0 20px 30px;
|
|
|
|
|
|
+ padding: 10px 0 20px 10px;
|
|
}
|
|
}
|
|
.top-col {
|
|
.top-col {
|
|
margin-right: 20px;
|
|
margin-right: 20px;
|
|
@@ -250,9 +257,10 @@ export default {
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: column;
|
|
flex-direction: column;
|
|
align-items: center;
|
|
align-items: center;
|
|
|
|
+ padding: 0 25px;
|
|
.avatr {
|
|
.avatr {
|
|
- width: 126px;
|
|
|
|
- height: 126px;
|
|
|
|
|
|
+ width: 80px;
|
|
|
|
+ height: 80px;
|
|
border: 2px solid #f4f5f8;
|
|
border: 2px solid #f4f5f8;
|
|
border-radius: 63px;
|
|
border-radius: 63px;
|
|
overflow: hidden;
|
|
overflow: hidden;
|
|
@@ -260,30 +268,35 @@ export default {
|
|
display: flex;
|
|
display: flex;
|
|
justify-content: center;
|
|
justify-content: center;
|
|
align-items: center;
|
|
align-items: center;
|
|
- img {
|
|
|
|
- width: 100px;
|
|
|
|
- height: 100px;
|
|
|
|
- }
|
|
|
|
}
|
|
}
|
|
.names {
|
|
.names {
|
|
- font-size: 20px;
|
|
|
|
|
|
+ line-height: 23px;
|
|
|
|
+ font-size: 16px;
|
|
font-weight: 700;
|
|
font-weight: 700;
|
|
color: #1b1c1e;
|
|
color: #1b1c1e;
|
|
margin-bottom: 15px;
|
|
margin-bottom: 15px;
|
|
}
|
|
}
|
|
.msg1 {
|
|
.msg1 {
|
|
- width: 200px;
|
|
|
|
|
|
+ width: 100%;
|
|
|
|
+ // padding: 0 30px;
|
|
|
|
+ span {
|
|
|
|
+ display: block;
|
|
|
|
+ width: 100%;
|
|
height: 32px;
|
|
height: 32px;
|
|
- line-height: 32px;
|
|
|
|
|
|
+ line-height: 20px;
|
|
color: #7b7e8a;
|
|
color: #7b7e8a;
|
|
- background: url(../../assets/images/shoujihao.svg) no-repeat left center;
|
|
|
|
- background-size: 26px 26px;
|
|
|
|
|
|
+ background: url(../../assets/images/shoujihao.svg) no-repeat 6px top;
|
|
|
|
+ background-size: 20px 20px;
|
|
padding-left: 40px;
|
|
padding-left: 40px;
|
|
|
|
+ // margin-left: 10px;
|
|
|
|
+ word-break:break-all;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
.msg2 {
|
|
.msg2 {
|
|
- background: url(../../assets/images/youxiang.svg) no-repeat left center;
|
|
|
|
- background-size: 26px 26px;
|
|
|
|
- margin-top: 5px;
|
|
|
|
|
|
+ span {
|
|
|
|
+ background: url(../../assets/images/youxiang.svg) no-repeat 6px top;
|
|
|
|
+ background-size: 20px 20px;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.bot-tit {
|
|
.bot-tit {
|
|
@@ -304,9 +317,10 @@ export default {
|
|
}
|
|
}
|
|
}
|
|
}
|
|
span {
|
|
span {
|
|
- width: 200px;
|
|
|
|
|
|
+ width: 100%;
|
|
background-size: 20px 20px!important;
|
|
background-size: 20px 20px!important;
|
|
padding-left: 40px;
|
|
padding-left: 40px;
|
|
|
|
+ margin: 0 25px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.over-view {
|
|
.over-view {
|
|
@@ -319,8 +333,11 @@ export default {
|
|
background: url(../../assets/images/xinxi.svg) no-repeat 6px center;
|
|
background: url(../../assets/images/xinxi.svg) no-repeat 6px center;
|
|
}
|
|
}
|
|
i {
|
|
i {
|
|
|
|
+ display: inline-block;
|
|
|
|
+ width: 70px;
|
|
color: #70b603;
|
|
color: #70b603;
|
|
- margin-left: 40px;
|
|
|
|
|
|
+ text-align: right;
|
|
|
|
+ // margin-left: 40px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.fund {
|
|
.fund {
|
|
@@ -343,7 +360,7 @@ export default {
|
|
align-items: center;
|
|
align-items: center;
|
|
.ivu-card {
|
|
.ivu-card {
|
|
overflow:hidden;
|
|
overflow:hidden;
|
|
- width: 220px;
|
|
|
|
|
|
+ width: 252px;
|
|
}
|
|
}
|
|
.ivu-card:not(:last-child) {
|
|
.ivu-card:not(:last-child) {
|
|
margin-right: 20px;
|
|
margin-right: 20px;
|
|
@@ -357,19 +374,19 @@ export default {
|
|
.time1 {
|
|
.time1 {
|
|
display: flex;
|
|
display: flex;
|
|
flex-direction: initial;
|
|
flex-direction: initial;
|
|
|
|
+ justify-content: center;
|
|
align-items: center;
|
|
align-items: center;
|
|
width: 100%;
|
|
width: 100%;
|
|
- height: 50px;
|
|
|
|
- font-size: 15px;
|
|
|
|
|
|
+ height: 40px;
|
|
|
|
+ font-size: 14px;
|
|
img {
|
|
img {
|
|
- width: 50px;
|
|
|
|
- height: 50px;
|
|
|
|
- margin-right: 20px;
|
|
|
|
|
|
+ width: 24px;
|
|
|
|
+ height: 24px;
|
|
|
|
+ margin-right: 8px;
|
|
}
|
|
}
|
|
}
|
|
}
|
|
.time2 {
|
|
.time2 {
|
|
font-size: 18px;
|
|
font-size: 18px;
|
|
- margin-top: 20px;
|
|
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|
|
}
|