feat(performance): 隐藏个人伞下拨比查询入口

This commit is contained in:
woody 2025-05-24 10:43:54 +08:00
parent 4ad9f77d2b
commit 1bef7f01d3
4 changed files with 332 additions and 308 deletions

View File

@ -6,63 +6,84 @@
--> -->
<template> <template>
<div class="page"> <div class="page">
<topBar v-if="topList.length > 0" <topBar
:top-list="topList" v-if="topList.length > 0"
:moren="moren" /> :top-list="topList"
:moren="moren"
/>
<div v-if="topList[0].changed==true"> <div v-if="topList[0].changed==true">
<div class="main"> <div class="main">
<div class="form_all"> <div class="form_all">
<el-form ref="select" <el-form
:model="select" ref="select"
label-width="auto"> :model="select"
label-width="auto"
>
<el-row :gutter="40"> <el-row :gutter="40">
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'开始日期'"> <el-form-item :label="'开始日期'">
<el-date-picker v-model="creationTime" <el-date-picker
@change="changeTime" v-model="creationTime"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="daterange" type="daterange"
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'"> :end-placeholder="'结束日期'"
</el-date-picker> @change="changeTime"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" <el-button
size="small" type="primary"
@click="getDataList"> {{ '搜索' }}</el-button> size="small"
<el-button size="small" @click="getDataList"
class="resetBtn" > {{ '搜索' }}</el-button>
@click="reset"> {{ '重置' }}</el-button> <el-button
size="small"
class="resetBtn"
@click="reset"
> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
</div> </div>
<div class="form_all1"> <div class="form_all1">
<el-button size="small" <el-button
@click="handleExport(1)" v-hasButtons="['performanceRatioExport']"
v-hasButtons="['performanceRatioExport']" size="small"
class="exportBtn"> {{ '导出' }}柱状图</el-button> class="exportBtn"
<el-button size="small" @click="handleExport(1)"
@click="handleExport(2)" > {{ '导出' }}柱状图</el-button>
v-hasButtons="['performanceRatioExport']" <el-button
class="exportBtn"> {{ '导出' }}饼图</el-button> v-hasButtons="['performanceRatioExport']"
size="small"
class="exportBtn"
@click="handleExport(2)"
> {{ '导出' }}饼图</el-button>
<div class="disFlex"> <div class="disFlex">
<div class="btn1">{{ '注册' }}</div> <div class="btn1">{{ '注册' }}</div>
<div class="btn2">{{ '升级' }}</div> <div class="btn2">{{ '升级' }}</div>
<div class="btn3">{{ '复购' }}</div> <div class="btn3">{{ '复购' }}</div>
<div class="btn4">{{ '嗨粉' }}</div> <div class="btn4">{{ '嗨粉' }}</div>
</div> </div>
<div id="firstPv" <div
style="width: 600px; height: 250px"></div> id="firstPv"
style="width: 600px; height: 250px"
/>
<div class="disFlex1"> <div class="disFlex1">
<div id="firstBb" <div
style="width: 500px; height: 350px"></div> id="firstBb"
<div id="twoBb" style="width: 500px; height: 350px"
style="width: 500px; height: 350px"></div> />
<div id="allBb" <div
style="width: 500px; height: 350px"></div> id="twoBb"
style="width: 500px; height: 350px"
/>
<div
id="allBb"
style="width: 500px; height: 350px"
/>
</div> </div>
</div> </div>
</div> </div>
@ -79,7 +100,7 @@ import { getRouters } from '@/api/settle.js'
export default { export default {
name: 'Bzpz', name: 'Bzpz',
components: { components: {
topBar, topBar
}, },
data() { data() {
@ -87,7 +108,7 @@ export default {
creationTime: [], creationTime: [],
select: { select: {
startDate: '', startDate: '',
endDate: '', endDate: ''
}, },
moren: '/settlementCenter/performanceRatio', moren: '/settlementCenter/performanceRatio',
topList: [ topList: [
@ -95,27 +116,27 @@ export default {
name: '拨比图型', name: '拨比图型',
path: '/settlementCenter/performanceRatio', path: '/settlementCenter/performanceRatio',
url: 'performanceRatio', url: 'performanceRatio',
changed: false, changed: false
}, },
{ {
name: '拨比图表', name: '拨比图表',
path: '/settlementCenter/performanceChart', path: '/settlementCenter/performanceChart',
url: 'performanceChart', url: 'performanceChart',
changed: false, changed: false
}, },
{ {
name: '拨比列表', name: '拨比列表',
path: '/settlementCenter/performanceList', path: '/settlementCenter/performanceList',
url: 'performanceList', url: 'performanceList',
changed: false, changed: false
}, }
{ // {
name: '个人伞下拨比查询', // name: '',
path: "/settlementCenter/personalAllocation", // path: "/settlementCenter/personalAllocation",
url: "PersonalAllocation", // url: "PersonalAllocation",
changed: false, // changed: false,
}, // },
], ]
} }
}, },
mounted() { mounted() {
@ -133,120 +154,120 @@ export default {
}) })
}) })
}, },
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport(index) { handleExport(index) {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning' type: 'warning'
}).then((_) => { }).then((_) => {
if(index == 1){ if (index == 1) {
this.download( this.download(
'/member/manage/bonus-statis/export-pillarRatio', '/member/manage/bonus-statis/export-pillarRatio',
Object.assign({}, this.queryParams, this.select), Object.assign({}, this.queryParams, this.select),
`柱状图-${new Date().getTime()}.xlsx` `柱状图-${new Date().getTime()}.xlsx`
) )
}else{ } else {
this.download( this.download(
'/member/manage/bonus-statis/export-pieChartRatio', '/member/manage/bonus-statis/export-pieChartRatio',
Object.assign({}, this.queryParams, this.select), Object.assign({}, this.queryParams, this.select),
`饼图-${new Date().getTime()}.xlsx` `饼图-${new Date().getTime()}.xlsx`
) )
} }
}) })
}, },
drawChart(lastList, newList) { drawChart(lastList, newList) {
let myChart = this.$echarts.init(document.getElementById('firstPv')) const myChart = this.$echarts.init(document.getElementById('firstPv'))
// //
let option = { const option = {
xAxis: [ xAxis: [
{ {
type: 'category', type: 'category',
data: ['去年 今年', '去年 今年', '去年 今年', '去年 今年'], data: ['去年 今年', '去年 今年', '去年 今年', '去年 今年'],
axisPointer: { axisPointer: {
type: 'shadow', type: 'shadow'
}, }
}, }
], ],
yAxis: [ yAxis: [
{ {
type: 'value', type: 'value'
}, }
], ],
series: [ series: [
{ {
name: '去年', name: '去年',
type: 'bar', type: 'bar',
data: lastList, data: lastList
}, },
{ {
name: '今年', name: '今年',
type: 'bar', type: 'bar',
data: newList, data: newList
}, }
], ]
} }
// 使 // 使
myChart.setOption(option) myChart.setOption(option)
}, },
getDataList() { getDataList() {
api.pillarRatio(this.select).then((res) => { api.pillarRatio(this.select).then((res) => {
let lastList = [ const lastList = [
{ {
value: res.data.lastMainRegAmount, value: res.data.lastMainRegAmount,
itemStyle: { itemStyle: {
color: '#FE5354', color: '#FE5354'
}, }
}, },
{ {
value: res.data.lastMainUpAmount, value: res.data.lastMainUpAmount,
itemStyle: { itemStyle: {
color: '#FDDC33', color: '#FDDC33'
}, }
}, },
{ {
value: res.data.lastMainRepurAmount, value: res.data.lastMainRepurAmount,
itemStyle: { itemStyle: {
color: '#5B8FF9', color: '#5B8FF9'
}, }
}, },
{ {
value: res.data.lastHifansRegAmount, value: res.data.lastHifansRegAmount,
itemStyle: { itemStyle: {
color: '#9528DF', color: '#9528DF'
}, }
}, }
] ]
let newList = [ const newList = [
{ {
value: res.data.mainRegAmount, value: res.data.mainRegAmount,
itemStyle: { itemStyle: {
color: '#950304', color: '#950304'
}, }
}, },
{ {
value: res.data.mainUpAmount, value: res.data.mainUpAmount,
itemStyle: { itemStyle: {
color: '#E46C03', color: '#E46C03'
}, }
}, },
{ {
value: res.data.mainRepurAmount, value: res.data.mainRepurAmount,
itemStyle: { itemStyle: {
color: '#0B307D', color: '#0B307D'
}, }
}, },
{ {
value: res.data.hifansRegAmount, value: res.data.hifansRegAmount,
itemStyle: { itemStyle: {
color: '#5D039A', color: '#5D039A'
}, }
}, }
] ]
this.drawChart(lastList, newList) this.drawChart(lastList, newList)
}) })
api.pieChartRatio(this.select).then((res) => { api.pieChartRatio(this.select).then((res) => {
let data = [ const data = [
{ value: res.data.introduceBonus, name: '直推收益拨比' }, { value: res.data.introduceBonus, name: '直推收益拨比' },
{ value: res.data.orgBonus, name: '拓展收益拨比' }, { value: res.data.orgBonus, name: '拓展收益拨比' },
{ value: res.data.leaderBonus, name: '辅导收益拨比' }, { value: res.data.leaderBonus, name: '辅导收益拨比' },
@ -254,11 +275,11 @@ export default {
{ value: res.data.serviceBonus, name: '服务补贴拨比' }, { value: res.data.serviceBonus, name: '服务补贴拨比' },
{ value: res.data.agentIntroduceBonus, name: '云代直推拨比' }, { value: res.data.agentIntroduceBonus, name: '云代直推拨比' },
{ value: res.data.agentRepurAmount, name: '云代复购拨比' }, { value: res.data.agentRepurAmount, name: '云代复购拨比' },
{ value: res.data.agentFirstAmount, name: '云代首购拨比' }, { value: res.data.agentFirstAmount, name: '云代首购拨比' }
] ]
let data2 = [ const data2 = [
{ value: res.data.repurRangeBonus, name: '复购级差收益拨比' }, { value: res.data.repurRangeBonus, name: '复购级差收益拨比' },
{ value: res.data.repurOrgBonus, name: '复购拓展收益拨比' }, { value: res.data.repurOrgBonus, name: '复购拓展收益拨比' }
] ]
this.drawChartPie1(data) this.drawChartPie1(data)
@ -267,22 +288,22 @@ export default {
}) })
}, },
drawChartPie1(data) { drawChartPie1(data) {
let myChart = this.$echarts.init(document.getElementById('firstBb')) const myChart = this.$echarts.init(document.getElementById('firstBb'))
let option = { const option = {
title: { title: {
text: '首购拨比', text: '首购拨比',
left: 'center', left: 'center'
}, },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
formatter: '占比{d}%<br/> {a} {b}: {c}', formatter: '占比{d}%<br/> {a} {b}: {c}'
}, },
legend: { legend: {
orient: 'vertical', orient: 'vertical',
left: 'left', left: 'left',
top: 'middle', top: 'middle',
formatter: function (name) { formatter: function(name) {
let data = option.series[0].data const data = option.series[0].data
let total = 0 let total = 0
let tarValue let tarValue
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
@ -291,9 +312,9 @@ export default {
tarValue = data[i].value tarValue = data[i].value
} }
} }
let p = Math.round((Number(tarValue) / total) * 100) + '%' const p = Math.round((Number(tarValue) / total) * 100) + '%'
return `${name} ${p}` return `${name} ${p}`
}, }
}, },
series: [ series: [
{ {
@ -304,31 +325,31 @@ export default {
data: data, data: data,
label: { label: {
show: false, show: false,
position: 'center', position: 'center'
}, }
}, }
], ]
} }
// 使 // 使
myChart.setOption(option) myChart.setOption(option)
}, },
drawChartPie2(data) { drawChartPie2(data) {
let myChart = this.$echarts.init(document.getElementById('twoBb')) const myChart = this.$echarts.init(document.getElementById('twoBb'))
let option = { const option = {
title: { title: {
text: '复购拨比', text: '复购拨比',
left: 'center', left: 'center'
}, },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
formatter: '占比{d}%<br/> {a} {b}: {c}', formatter: '占比{d}%<br/> {a} {b}: {c}'
}, },
legend: { legend: {
orient: 'vertical', orient: 'vertical',
left: 'left', left: 'left',
top: 'middle', top: 'middle',
formatter: function (name) { formatter: function(name) {
let data = option.series[0].data const data = option.series[0].data
let total = 0 let total = 0
let tarValue let tarValue
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
@ -337,9 +358,9 @@ export default {
tarValue = data[i].value tarValue = data[i].value
} }
} }
let p = Math.round((Number(tarValue) / total) * 100) + '%' const p = Math.round((Number(tarValue) / total) * 100) + '%'
return `${name} ${p}` return `${name} ${p}`
}, }
}, },
series: [ series: [
{ {
@ -350,31 +371,31 @@ export default {
data: data, data: data,
label: { label: {
show: false, show: false,
position: 'center', position: 'center'
}, }
}, }
], ]
} }
// 使 // 使
myChart.setOption(option) myChart.setOption(option)
}, },
drawChartPie3(data) { drawChartPie3(data) {
let myChart = this.$echarts.init(document.getElementById('allBb')) const myChart = this.$echarts.init(document.getElementById('allBb'))
let option = { const option = {
title: { title: {
text: '各个拨比', text: '各个拨比',
left: 'center', left: 'center'
}, },
tooltip: { tooltip: {
trigger: 'item', trigger: 'item',
formatter: '占比{d}%<br/> {a} {b}: {c}', formatter: '占比{d}%<br/> {a} {b}: {c}'
}, },
legend: { legend: {
orient: 'vertical', orient: 'vertical',
left: 'right', left: 'right',
top: 'middle', top: 'middle',
formatter: function (name) { formatter: function(name) {
let data = option.series[0].data const data = option.series[0].data
let total = 0 let total = 0
let tarValue let tarValue
for (let i = 0; i < data.length; i++) { for (let i = 0; i < data.length; i++) {
@ -383,9 +404,9 @@ export default {
tarValue = data[i].value tarValue = data[i].value
} }
} }
let p = Math.round((Number(tarValue) / total) * 100) + '%' const p = Math.round((Number(tarValue) / total) * 100) + '%'
return `${name} ${p}` return `${name} ${p}`
}, }
}, },
series: [ series: [
{ {
@ -396,10 +417,10 @@ export default {
data: data, data: data,
label: { label: {
show: false, show: false,
position: 'center', position: 'center'
}, }
}, }
], ]
} }
// 使 // 使
myChart.setOption(option) myChart.setOption(option)
@ -409,9 +430,9 @@ export default {
this.select.endDate = val[1] this.select.endDate = val[1]
}, },
reset() { reset() {
this.creationTime= [] this.creationTime = []
}, }
}, }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -6,14 +6,18 @@
--> -->
<template> <template>
<div class="page"> <div class="page">
<topBar v-if="topList.length > 0" <topBar
:topList="topList" v-if="topList.length > 0"
:moren="moren"></topBar> :top-list="topList"
:moren="moren"
/>
<div class="main"> <div class="main">
<el-form ref="select" <el-form
:model="select" ref="select"
style="padding:0 10px 0 0" :model="select"
label-width="80px"> style="padding:0 10px 0 0"
label-width="80px"
>
<el-row> <el-row>
<!-- <el-col :span="4"> <!-- <el-col :span="4">
<el-form-item :label="'币种展示'"> <el-form-item :label="'币种展示'">
@ -30,25 +34,28 @@
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'业绩时间'"> <el-form-item :label="'业绩时间'">
<el-date-picker v-model="creationTime" <el-date-picker
@change="changeTime" v-model="creationTime"
@clear="clearTime" value-format="yyyy-MM-dd"
value-format="yyyy-MM-dd" type="daterange"
type="daterange" :range-separator="'至'"
:range-separator="'至'" :start-placeholder="'开始日期'"
:start-placeholder="'开始日期'" :end-placeholder="'结束日期'"
:end-placeholder="'结束日期'"> @change="changeTime"
</el-date-picker> @clear="clearTime"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="6"> <el-col :span="6">
<el-form-item :label="'隶属体系'"> <el-form-item :label="'隶属体系'">
<el-cascader :options="verList" <el-cascader
v-model="select.pkBdVertexStred" v-model="select.pkBdVertexStred"
@change="getPkBdVertexStr" :options="verList"
:props="props" :props="props"
collapse-tags collapse-tags
clearable></el-cascader> clearable
@change="getPkBdVertexStr"
/>
</el-form-item> </el-form-item>
</el-col> </el-col>
</el-row> </el-row>
@ -78,26 +85,34 @@
</el-row> --> </el-row> -->
<el-row style="margin-left:20px"> <el-row style="margin-left:20px">
<el-col :span="4"> <el-col :span="4">
<el-button type="primary" <el-button
@click="getDataList"> {{ '搜索' }}</el-button> type="primary"
<el-button type="primary" @click="getDataList"
@click="reset"> {{ '重置' }}</el-button> > {{ '搜索' }}</el-button>
<el-button
type="primary"
@click="reset"
> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button size="small" <el-button
@click="handleExport" v-hasButtons="['performanceChartExport']"
v-hasButtons="['performanceChartExport']" size="small"
class="thebtn2"> {{ '导出' }}</el-button> class="thebtn2"
@click="handleExport"
> {{ '导出' }}</el-button>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<div class="maintable_i" <div
v-for="item in tableData" v-for="item in tableData"
:key="item.pkId"> :key="item.pkId"
class="maintable_i"
>
<div class="maintable_l"> <div class="maintable_l">
<div class="maintable_lt"> <div class="maintable_lt">
<div class="maintable_ltt bg"> <div class="maintable_ltt bg">
@ -133,9 +148,9 @@
<div>{{ item.agentIntroduceBonus }}</div> <div>{{ item.agentIntroduceBonus }}</div>
<div>{{ item.agentFirstAmount }}</div> <div>{{ item.agentFirstAmount }}</div>
<div>{{ item.agentRepurAmount }}</div> <div>{{ item.agentRepurAmount }}</div>
<div>{{ item.mainBonus}}</div> <div>{{ item.mainBonus }}</div>
</div> </div>
<div class="xian1"></div> <div class="xian1" />
<div class="t4t"> <div class="t4t">
<div>{{ item.introduceBonusRate }}</div> <div>{{ item.introduceBonusRate }}</div>
<div>{{ item.orgBonusRate }}</div> <div>{{ item.orgBonusRate }}</div>
@ -155,9 +170,9 @@
<div>{{ '复购专区' }}()</div> <div>{{ '复购专区' }}()</div>
<div>{{ '海粉专区' }}()</div> <div>{{ '海粉专区' }}()</div>
<div>{{ '云代复购' }}()</div> <div>{{ '云代复购' }}()</div>
<div class="t1">{{'复购金额'}}()</div> <div class="t1">{{ '复购金额' }}()</div>
<div class="t2">{{'复购级差收益'}}()</div> <div class="t2">{{ '复购级差收益' }}()</div>
<div class="t3">{{'复购拓展收益'}}()</div> <div class="t3">{{ '复购拓展收益' }}()</div>
<div>{{ '复购拨出比例' }}(%)</div> <div>{{ '复购拨出比例' }}(%)</div>
</div> </div>
<div class="maintable_ltt1"> <div class="maintable_ltt1">
@ -171,7 +186,7 @@
<div class="t3">{{ item.repurOrgBonus }}</div> <div class="t3">{{ item.repurOrgBonus }}</div>
<div>{{ item.repurBonus }}</div> <div>{{ item.repurBonus }}</div>
</div> </div>
<div class="xian1"></div> <div class="xian1" />
<div class="t5t"> <div class="t5t">
<div class="t2">{{ item.repurRangeBonusRate }}</div> <div class="t2">{{ item.repurRangeBonusRate }}</div>
<div class="t3">{{ item.repurOrgBonusRate }}</div> <div class="t3">{{ item.repurOrgBonusRate }}</div>
@ -236,9 +251,9 @@
<div>{{ tableObj.agentIntroduceBonusSum }}</div> <div>{{ tableObj.agentIntroduceBonusSum }}</div>
<div>{{ tableObj.agentFirstAmountSum }}</div> <div>{{ tableObj.agentFirstAmountSum }}</div>
<div>{{ tableObj.agentRepurAmountSum }}</div> <div>{{ tableObj.agentRepurAmountSum }}</div>
<div>{{ tableObj.mainBonusSum}}</div> <div>{{ tableObj.mainBonusSum }}</div>
</div> </div>
<div class="xian1"></div> <div class="xian1" />
<div class="t4t"> <div class="t4t">
<div>{{ tableObj.introduceBonusRateSum }}</div> <div>{{ tableObj.introduceBonusRateSum }}</div>
<div>{{ tableObj.orgBonusRateSum }}</div> <div>{{ tableObj.orgBonusRateSum }}</div>
@ -258,9 +273,9 @@
<div>{{ '复购专区' }}()</div> <div>{{ '复购专区' }}()</div>
<div>{{ '海粉专区' }}()</div> <div>{{ '海粉专区' }}()</div>
<div>{{ '云代复购' }}()</div> <div>{{ '云代复购' }}()</div>
<div class="t1">{{'复购金额'}}()</div> <div class="t1">{{ '复购金额' }}()</div>
<div class="t2">{{'复购级差收益'}}()</div> <div class="t2">{{ '复购级差收益' }}()</div>
<div class="t3">{{'复购拓展收益'}}()</div> <div class="t3">{{ '复购拓展收益' }}()</div>
<div>{{ '复购拨出比例' }}(%)</div> <div>{{ '复购拨出比例' }}(%)</div>
</div> </div>
<div class="maintable_ltt1"> <div class="maintable_ltt1">
@ -274,7 +289,7 @@
<div class="t3">{{ tableObj.repurOrgBonusSum }}</div> <div class="t3">{{ tableObj.repurOrgBonusSum }}</div>
<div>{{ tableObj.repurBonusSum }}</div> <div>{{ tableObj.repurBonusSum }}</div>
</div> </div>
<div class="xian1"></div> <div class="xian1" />
<div class="t5t"> <div class="t5t">
<div class="t2">{{ tableObj.repurRangeBonusRateSum }}</div> <div class="t2">{{ tableObj.repurRangeBonusRateSum }}</div>
<div class="t3">{{ tableObj.repurOrgBonusRateSum }}</div> <div class="t3">{{ tableObj.repurOrgBonusRateSum }}</div>
@ -307,23 +322,23 @@
import topBar from '@/components/topBarRole' import topBar from '@/components/topBarRole'
import * as api from '@/api/settle.js' import * as api from '@/api/settle.js'
import { classifyUpdate, classifySave } from '@/api/product' import { classifyUpdate, classifySave } from '@/api/product'
import {getRouters} from "@/api/settle.js"; import { getRouters } from '@/api/settle.js'
import { isOther } from '@/utils/numberToCurrency' import { isOther } from '@/utils/numberToCurrency'
// import { getTeamList } from '@/api/affiliatedteam'; // import { getTeamList } from '@/api/affiliatedteam';
export default { export default {
name: 'Bzpz', name: 'Bzpz',
components: { components: {
topBar, topBar
}, },
filters: { filters: {
isAgree(val) { isAgree(val) {
if (!val) { if (!val) {
return '允许'; return '允许'
} else { } else {
return '禁止'; return '禁止'
} }
}, }
}, },
data() { data() {
return { return {
@ -331,12 +346,12 @@ export default {
creationTime1: [], creationTime1: [],
select: { select: {
pkVertexList: [], pkVertexList: [],
pkMemberTeamList: [], pkMemberTeamList: []
}, },
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}, },
addOrEdit: '', addOrEdit: '',
total: 0, total: 0,
@ -348,39 +363,39 @@ export default {
name: '拨比图型', name: '拨比图型',
path: '/settlementCenter/performanceRatio', path: '/settlementCenter/performanceRatio',
url: 'performanceRatio', url: 'performanceRatio',
changed: false, changed: false
}, },
{ {
name: '拨比图表', name: '拨比图表',
path: '/settlementCenter/performanceChart', path: '/settlementCenter/performanceChart',
url: 'performanceChart', url: 'performanceChart',
changed: false, changed: false
}, },
{ {
name: '拨比列表', name: '拨比列表',
path: '/settlementCenter/performanceList', path: '/settlementCenter/performanceList',
url: 'performanceList', url: 'performanceList',
changed: false, changed: false
}, }
{ // {
name: '个人伞下拨比查询', // name: '',
path: "/settlementCenter/personalAllocation", // path: "/settlementCenter/personalAllocation",
url: "PersonalAllocation", // url: "PersonalAllocation",
changed: false, // changed: false,
}, // },
], ],
form: {}, form: {},
verList: [], verList: [],
memberList: [], memberList: [],
acList: [], acList: [],
tableObj:{}, tableObj: {},
props: { props: {
multiple: true, multiple: true,
expandTrigger: 'hover', expandTrigger: 'hover',
value: 'pkId', value: 'pkId',
label: 'vertexName', label: 'vertexName',
children: 'childList', children: 'childList'
}, }
} }
}, },
mounted() { mounted() {
@ -392,21 +407,21 @@ export default {
// this.getTeamList() // this.getTeamList()
}, },
methods: { methods: {
clearTime(){ clearTime() {
this.select.startDate = [] this.select.startDate = []
this.select.endDate = [] this.select.endDate = []
}, },
getPkBdVertexStr(e) { getPkBdVertexStr(e) {
let arr = e.map((item) => item[1]) const arr = e.map((item) => item[1])
let pkBdVertexStr = arr.join(',') const pkBdVertexStr = arr.join(',')
this.$set(this.select, 'pkBdVertexStr', pkBdVertexStr) this.$set(this.select, 'pkBdVertexStr', pkBdVertexStr)
}, },
isOther, isOther,
getUserRoute() { getUserRoute() {
getRouters().then((res)=>{ getRouters().then((res) => {
res.data.forEach((item)=>{ res.data.forEach((item) => {
this.topList.forEach((items)=>{ this.topList.forEach((items) => {
if (item.routeName == items.url){ if (item.routeName == items.url) {
items.changed = true items.changed = true
} }
}) })
@ -416,11 +431,11 @@ export default {
reset() { reset() {
this.select = { this.select = {
pkVertexList: [], pkVertexList: [],
pkMemberTeamList: [], pkMemberTeamList: []
} }
this.creationTime= [] this.creationTime = []
// //
this.getDataList() this.getDataList()
}, },
getMenu(e, id) { getMenu(e, id) {
if (e && id == 0) { if (e && id == 0) {
@ -440,10 +455,9 @@ export default {
api.vertexChild().then((res) => { api.vertexChild().then((res) => {
this.verList = res.data this.verList = res.data
}) })
}, },
getTeamList(){ getTeamList() {
let pkBdVertexStr = this.select.pkVertexList.join(',') const pkBdVertexStr = this.select.pkVertexList.join(',')
this.$set(this.select, 'pkBdVertexStr', pkBdVertexStr) this.$set(this.select, 'pkBdVertexStr', pkBdVertexStr)
// api.listNoPage({ // api.listNoPage({
// pkBdVertexList:this.select.pkVertexList // pkBdVertexList:this.select.pkVertexList
@ -452,7 +466,7 @@ export default {
// }) // })
}, },
getTeam() { getTeam() {
let pkTeamCodeStr = this.select.pkMemberTeamList.join(',') const pkTeamCodeStr = this.select.pkMemberTeamList.join(',')
this.$set(this.select, 'pkTeamCodeStr', pkTeamCodeStr) this.$set(this.select, 'pkTeamCodeStr', pkTeamCodeStr)
}, },
changeTime(val) { changeTime(val) {
@ -466,17 +480,17 @@ export default {
if (res.code == 200) { if (res.code == 200) {
this.tableData = res.rows this.tableData = res.rows
this.total = res.total this.total = res.total
api.bonusListChartSum(Object.assign({}, this.queryParams, this.select)).then(response=>{ api.bonusListChartSum(Object.assign({}, this.queryParams, this.select)).then(response => {
if (res.code == 200) { if (res.code == 200) {
this.tableObj = response.data||{} this.tableObj = response.data || {}
} }
}) })
} }
}) })
}, },
handleSelectionChange(val) {}, handleSelectionChange(val) {},
/** 导出按钮操作 */ /** 导出按钮操作 */
handleExport() { handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
@ -496,8 +510,8 @@ export default {
return 'success-row' return 'success-row'
} }
return '' return ''
}, }
}, }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
@ -596,7 +610,7 @@ export default {
} }
} }
.maintable { .maintable {
overflow-x: auto; overflow-x: auto;
height: 380px; height: 380px;
.maintable_i { .maintable_i {

View File

@ -432,13 +432,13 @@ export default {
path: '/settlementCenter/performanceList', path: '/settlementCenter/performanceList',
url: 'performanceList', url: 'performanceList',
changed: false changed: false
},
{
name: '个人伞下拨比查询',
path: '/settlementCenter/personalAllocation',
url: 'PersonalAllocation',
changed: false
} }
// {
// name: '',
// path: '/settlementCenter/personalAllocation',
// url: 'PersonalAllocation',
// changed: false
// }
], ],
form: {}, form: {},
verList: [], verList: [],

View File

@ -2,9 +2,9 @@
<div class="page"> <div class="page">
<topBar <topBar
v-if="topList.length > 0" v-if="topList.length > 0"
:topList="topList" :top-list="topList"
:moren="moren" :moren="moren"
></topBar> />
<div class="main"> <div class="main">
<el-form <el-form
ref="select" ref="select"
@ -15,72 +15,67 @@
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'"> <el-form-item :label="'会员编号'">
<el-input clearable v-model="select.memberCode"></el-input> <el-input v-model="select.memberCode" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员姓名'"> <el-form-item :label="'会员姓名'">
<el-input clearable v-model="select.memberName"></el-input> <el-input v-model="select.memberName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
<el-form-item :label="'业绩时间'"> <el-form-item :label="'业绩时间'">
<el-date-picker <el-date-picker
v-model="creationTime" v-model="creationTime"
@change="changeTime"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="daterange" type="daterange"
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
> @change="changeTime"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4" style="margin-left: 10px"> <el-col :span="4" style="margin-left: 10px">
<el-button type="primary" @click="getDataList"> <el-button type="primary" @click="getDataList">
{{ '搜索' }}</el-button {{ '搜索' }}</el-button>
>
<el-button @click="reset"> {{ '重置' }}</el-button> <el-button @click="reset"> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-row> </el-row> <el-row />
</el-form> </el-form>
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button <el-button
size="small"
@click="handleExport"
v-hasButtons="['personalAllocationExport']" v-hasButtons="['personalAllocationExport']"
size="small"
class="thebtn2" class="thebtn2"
@click="handleExport"
> >
{{ '导出' }}</el-button {{ '导出' }}</el-button>
>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<el-table <el-table
:data="tableData"
ref="mainTable" ref="mainTable"
:data="tableData"
height="710px" height="710px"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:row-class-name="tableRowClassName" :row-class-name="tableRowClassName"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column type="selection" width="60"> </el-table-column> <el-table-column type="selection" width="60" />
<el-table-column <el-table-column
align="center" align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="memberName" prop="memberName"
:label="'会员姓名'" :label="'会员姓名'"
> />
</el-table-column>
<!-- <el-table-column <!-- <el-table-column
align="center" align="center"
@ -98,20 +93,18 @@
align="center" align="center"
prop="vertexName" prop="vertexName"
:label="'隶属体系'" :label="'隶属体系'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="teamName" prop="teamName"
:label="'隶属团队'" :label="'隶属团队'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="firstPurchaseAll" prop="firstPurchaseAll"
:label="'首购金额'" :label="'首购金额'"
> >
<template slot-scope="scope"> <template slot-scope="scope">
{{ scope.row.firstPurchaseAll | numberToCurrency }} {{ scope.row.firstPurchaseAll | numberToCurrency }}
</template> </template>
</el-table-column> </el-table-column>
@ -138,8 +131,7 @@
align="center" align="center"
prop="mainBonusRate" prop="mainBonusRate"
:label="`${'首购拨出比例'}(%)`" :label="`${'首购拨出比例'}(%)`"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="repurBonus" prop="repurBonus"
@ -153,8 +145,7 @@
align="center" align="center"
prop="repurBonusRate" prop="repurBonusRate"
:label="`${'复购拨出比例'}(%)`" :label="`${'复购拨出比例'}(%)`"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="totalBonus" prop="totalBonus"
@ -168,8 +159,7 @@
align="center" align="center"
prop="totalBonusRate" prop="totalBonusRate"
:label="`${'总拨出比例'}(%)`" :label="`${'总拨出比例'}(%)`"
> />
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@ -182,14 +172,14 @@
/> />
</div> </div>
</template> </template>
<script> <script>
import topBar from "@/components/topBarRole"; import topBar from '@/components/topBarRole'
import * as api from "@/api/settle.js"; import * as api from '@/api/settle.js'
export default { export default {
name: "Bzpz", name: 'Bzpz',
components: { components: {
topBar, topBar
}, },
data() { data() {
@ -199,71 +189,71 @@ export default {
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}, },
total: 0, total: 0,
tableData: [], tableData: [],
moren: "/settlementCenter/personalAllocation", moren: '/settlementCenter/personalAllocation',
topList: [ topList: [
{ {
name: '拨比图型', name: '拨比图型',
path: "/settlementCenter/performanceRatio", path: '/settlementCenter/performanceRatio',
url: "performanceRatio", url: 'performanceRatio',
changed: false, changed: false
}, },
{ {
name: '拨比图表', name: '拨比图表',
path: "/settlementCenter/performanceChart", path: '/settlementCenter/performanceChart',
url: "performanceChart", url: 'performanceChart',
changed: false, changed: false
}, },
{ {
name: '拨比列表', name: '拨比列表',
path: "/settlementCenter/performanceList", path: '/settlementCenter/performanceList',
url: "performanceList", url: 'performanceList',
changed: false, changed: false
}, }
{ // {
name: '个人伞下拨比查询', // name: '',
path: "/settlementCenter/personalAllocation", // path: "/settlementCenter/personalAllocation",
url: "PersonalAllocation", // url: "PersonalAllocation",
changed: false, // changed: false,
}, // },
], ]
}; }
}, },
mounted() { mounted() {
// //
this.getDataList(); this.getDataList()
}, },
methods: { methods: {
reset() { reset() {
this.select = {}; this.select = {}
this.creationTime = []; this.creationTime = []
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}; }
this.getDataList(); this.getDataList()
}, },
changeTime(val) { changeTime(val) {
this.select.startDate = val ? val[0] : ""; this.select.startDate = val ? val[0] : ''
this.select.endDate = val ? val[1] : ""; this.select.endDate = val ? val[1] : ''
}, },
getDataList() { getDataList() {
api api
.getPersonStatList(Object.assign({}, this.queryParams, this.select)) .getPersonStatList(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.tableData = [res.data]; this.tableData = [res.data]
if (res.data) { if (res.data) {
this.total = 1; this.total = 1
} }
this.getTotal(); this.getTotal()
} }
}); })
}, },
handleSelectionChange(val) {}, handleSelectionChange(val) {},
/** 导出按钮操作 */ /** 导出按钮操作 */
@ -271,25 +261,25 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then((_) => { }).then((_) => {
this.download( this.download(
"/member/manage/bonus-statis/export-singlePersonList", '/member/manage/bonus-statis/export-singlePersonList',
Object.assign({}, this.queryParams, this.select), Object.assign({}, this.queryParams, this.select),
`个人伞下拨比查询-${new Date().getTime()}.xlsx` `个人伞下拨比查询-${new Date().getTime()}.xlsx`
); )
}); })
}, },
tableRowClassName({ row, rowIndex }) { tableRowClassName({ row, rowIndex }) {
if (rowIndex % 2 == 1) { if (rowIndex % 2 == 1) {
return "warning-row"; return 'warning-row'
} else if (rowIndex % 2 == 0) { } else if (rowIndex % 2 == 0) {
return "success-row"; return 'success-row'
} }
return ""; return ''
}, }
}, }
}; }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">
::v-deep .el-table .warning-row { ::v-deep .el-table .warning-row {
@ -399,4 +389,3 @@ export default {
top: -3px; top: -3px;
} }
</style> </style>