Merge branch 'lx-online' of gitee.com:cabbage_qd/web-base-admin into bd-dev

This commit is contained in:
woody 2025-04-30 16:02:44 +08:00
commit 60632fa055
9 changed files with 352 additions and 259 deletions

View File

@ -8,6 +8,9 @@
<div class="thetopbox"> <div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px"> <el-form ref="form" :model="queryParams" label-width="100px">
<el-row> <el-row>
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="TopMemberHandleChange" />
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input <el-input
@ -45,9 +48,13 @@
</el-select> </el-form-item></el-col> </el-select> </el-form-item></el-col>
<el-col :span="4" style="margin-left: 30px"> <el-col :span="4" style="margin-left: 30px">
<div class="searchbox"> <div class="searchbox">
<el-button class="searchbtn" @click="getSearch"> {{ '搜索' }}</el-button> <el-button
<el-button @click="reChongzhi"> {{ '重置' }}</el-button> :loading="loading"
<el-button @click="goback"> {{ '返回' }}</el-button> class="searchbtn"
@click="getSearch"
> 搜索</el-button>
<el-button @click="resetHandle"> 重置</el-button>
<el-button @click="goback"> 返回</el-button>
</div> </div>
</el-col> </el-col>
</el-row></el-form> </el-row></el-form>
@ -238,11 +245,13 @@ import {
getMemberSettlePeriod, getMemberSettlePeriod,
getUrlBase getUrlBase
} from '@/api/archityecture' } from '@/api/archityecture'
import TopMemberSelect from './components/top-member-select.vue'
import { isLocals } from '../../../utils/numberToCurrency' import { isLocals } from '../../../utils/numberToCurrency'
export default { export default {
name: 'Azjg2', name: 'Azjg2',
components: { components: {
topBar topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
@ -287,7 +296,8 @@ export default {
{ value: 1, label: '否' } { value: 1, label: '否' }
], ],
cantz: 1, // 0,1 cantz: 1, // 0,1
scale: 1 scale: 1,
loading: false
} }
}, },
created() { created() {
@ -295,6 +305,12 @@ export default {
this.getAvarerInfo() this.getAvarerInfo()
}, },
methods: { methods: {
TopMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
handleWheel(event) { handleWheel(event) {
if (this.cantz == 1) { if (this.cantz == 1) {
event.preventDefault() event.preventDefault()
@ -522,12 +538,16 @@ export default {
} }
}, },
getSearch() { getSearch() {
this.loading = true
getAzFramework(this.queryParams).then((res) => { getAzFramework(this.queryParams).then((res) => {
this.data = res.data[0] this.data = res.data[0]
this.toggleExpand(this.data, true) this.toggleExpand(this.data, true)
}).finally(() => {
this.loading = false
}) })
}, },
reChongzhi() { resetHandle() {
this.$refs.topMemberSelect.reset()
this.queryParams = { this.queryParams = {
memberSettlePeriodId: '', // memberSettlePeriodId: '', //
memberCode: '', // memberCode: '', //

View File

@ -8,6 +8,9 @@
<div class="thetopbox"> <div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px"> <el-form ref="form" :model="queryParams" label-width="100px">
<el-row> <el-row>
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="TopMemberHandleChange" />
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input <el-input
@ -45,8 +48,12 @@
</el-select> </el-form-item></el-col> </el-select> </el-form-item></el-col>
<el-col :span="4" style="margin-left: 30px"> <el-col :span="4" style="margin-left: 30px">
<div class="searchbox"> <div class="searchbox">
<el-button class="searchbtn" @click="getSearch"> {{ '搜索' }}</el-button> <el-button
<el-button @click="reChongzhi"> {{ '重置' }}</el-button> :loading="loading"
class="searchbtn"
@click="getSearch"
> {{ '搜索' }}</el-button>
<el-button @click="resetHandle"> {{ '重置' }}</el-button>
<el-button @click="goback"> {{ '返回' }}</el-button> <el-button @click="goback"> {{ '返回' }}</el-button>
</div> </div>
</el-col> </el-col>
@ -233,10 +240,12 @@ import {
getUrlBase getUrlBase
} from '@/api/archityecture' } from '@/api/archityecture'
import { isLocals } from '../../../utils/numberToCurrency' import { isLocals } from '../../../utils/numberToCurrency'
import TopMemberSelect from './components/top-member-select.vue'
export default { export default {
name: 'Azjg3', name: 'Azjg3',
components: { components: {
topBar topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
@ -280,7 +289,8 @@ export default {
], ],
cantz: 1, // 0,1 cantz: 1, // 0,1
popdata: {}, popdata: {},
scale: 1 scale: 1,
loading: false
} }
}, },
created() { created() {
@ -288,6 +298,12 @@ export default {
this.getAvarerInfo() this.getAvarerInfo()
}, },
methods: { methods: {
TopMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
handleWheel(event) { handleWheel(event) {
if (this.cantz == 1) { if (this.cantz == 1) {
event.preventDefault() event.preventDefault()
@ -565,6 +581,7 @@ export default {
} }
}, },
getSearch() { getSearch() {
this.loading = true
getAzFramework(this.queryParams).then((res) => { getAzFramework(this.queryParams).then((res) => {
res.data.forEach((ele) => { res.data.forEach((ele) => {
ele.countryUrl2Base64 = '' ele.countryUrl2Base64 = ''
@ -573,11 +590,12 @@ export default {
}) })
this.data = res.data[0] this.data = res.data[0]
this.toggleExpand(this.data, true) this.toggleExpand(this.data, true)
}).finally(() => {
console.log('🌈this.data', this.data) this.loading = false
}) })
}, },
reChongzhi() { resetHandle() {
this.$refs.topMemberSelect.reset()
this.queryParams = { this.queryParams = {
memberSettlePeriodId: '', // memberSettlePeriodId: '', //
memberCode: '', // memberCode: '', //

View File

@ -8,6 +8,9 @@
<div class="thetopbox"> <div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px"> <el-form ref="form" :model="queryParams" label-width="100px">
<el-row> <el-row>
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="TopMemberHandleChange" />
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input <el-input
@ -39,8 +42,12 @@
</el-select> </el-form-item></el-col> </el-select> </el-form-item></el-col>
<el-col :span="4" style="margin-left: 30px"> <el-col :span="4" style="margin-left: 30px">
<div class="searchbox"> <div class="searchbox">
<el-button class="searchbtn" @click="getSearch"> {{ '搜索' }}</el-button> <el-button
<el-button @click="reChongzhi"> {{ '重置' }}</el-button> :loading="loading"
class="searchbtn"
@click="getSearch"
> {{ '搜索' }}</el-button>
<el-button @click="resetHandle"> {{ '重置' }}</el-button>
<el-button @click="goback"> {{ '返回' }}</el-button> <el-button @click="goback"> {{ '返回' }}</el-button>
</div> </div>
</el-col> </el-col>
@ -221,10 +228,12 @@ import {
getUrlBase getUrlBase
} from '@/api/archityecture' } from '@/api/archityecture'
import { isLocals } from '../../../utils/numberToCurrency' import { isLocals } from '../../../utils/numberToCurrency'
import TopMemberSelect from './components/top-member-select.vue'
export default { export default {
name: 'Azjg4', name: 'Azjg4',
components: { components: {
topBar topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
@ -268,7 +277,8 @@ export default {
{ value: 1, label: '否' } { value: 1, label: '否' }
], ],
cantz: 1, // 0,1 cantz: 1, // 0,1
scale: 1 scale: 1,
loading: false
} }
}, },
created() { created() {
@ -276,6 +286,12 @@ export default {
this.getAvarerInfo() this.getAvarerInfo()
}, },
methods: { methods: {
TopMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
// //
move(e) { move(e) {
if (this.cantz == 0) { if (this.cantz == 0) {
@ -490,13 +506,17 @@ export default {
} }
}, },
getSearch() { getSearch() {
this.loading = true
getAzFramework(this.queryParams).then((res) => { getAzFramework(this.queryParams).then((res) => {
this.data = res.data[0] this.data = res.data[0]
// //
this.toggleExpand(this.data, false) this.toggleExpand(this.data, false)
}).finally(() => {
this.loading = false
}) })
}, },
reChongzhi() { resetHandle() {
this.$refs.topMemberSelect.reset()
this.queryParams = { this.queryParams = {
memberSettlePeriodId: '', // memberSettlePeriodId: '', //
memberCode: '', // memberCode: '', //

View File

@ -8,6 +8,9 @@
<div class="thetopbox"> <div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px"> <el-form ref="form" :model="queryParams" label-width="100px">
<el-row> <el-row>
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="TopMemberHandleChange" />
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input <el-input
@ -35,8 +38,12 @@
/></el-form-item></el-col> /></el-form-item></el-col>
<el-col :span="4" style="margin-left: 30px"> <el-col :span="4" style="margin-left: 30px">
<div class="searchbox"> <div class="searchbox">
<el-button class="searchbtn" @click="getSearch"> {{ '搜索' }}</el-button> <el-button
<el-button @click="reChongzhi"> {{ '重置' }}</el-button> :loading="loading"
class="searchbtn"
@click="getSearch"
> {{ '搜索' }}</el-button>
<el-button @click="resetHandle"> {{ '重置' }}</el-button>
<el-button @click="goback"> {{ '返回' }}</el-button> <el-button @click="goback"> {{ '返回' }}</el-button>
</div> </div>
</el-col> </el-col>
@ -229,10 +236,12 @@ import {
getUrlBase getUrlBase
} from '@/api/archityecture' } from '@/api/archityecture'
import { isLocals } from '../../../utils/numberToCurrency' import { isLocals } from '../../../utils/numberToCurrency'
import TopMemberSelect from './components/top-member-select.vue'
export default { export default {
name: 'Azjg5', name: 'Azjg5',
components: { components: {
topBar topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
@ -272,7 +281,8 @@ export default {
memberSettlePeriodList: [], // memberSettlePeriodList: [], //
cantz: 1, // 0,1 cantz: 1, // 0,1
scale: 1 scale: 1,
loading: false
} }
}, },
created() { created() {
@ -280,6 +290,12 @@ export default {
this.getAvarerInfo() this.getAvarerInfo()
}, },
methods: { methods: {
TopMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
handleWheel(event) { handleWheel(event) {
if (this.cantz == 1) { if (this.cantz == 1) {
event.preventDefault() event.preventDefault()
@ -507,12 +523,16 @@ export default {
} }
}, },
getSearch() { getSearch() {
this.loading = true
getAzFramework5(this.queryParams).then((res) => { getAzFramework5(this.queryParams).then((res) => {
this.data = res.data[0] this.data = res.data[0]
this.toggleExpand(this.data, true) this.toggleExpand(this.data, true)
}).finally(() => {
this.loading = false
}) })
}, },
reChongzhi() { resetHandle() {
this.$refs.topMemberSelect.reset()
this.queryParams = { this.queryParams = {
memberSettlePeriodId: '', // memberSettlePeriodId: '', //
memberCode: '', // memberCode: '', //

View File

@ -0,0 +1,55 @@
<template>
<el-form-item label="顶点会员">
<el-select
v-model="pkVertex"
clearable
@change="handleChange"
>
<el-option
v-for="item in verList"
:key="item.pkVertex"
:label="`${item.memberCode} (${item.memberName})`"
:value="item.memberCode"
/>
</el-select>
</el-form-item>
</template>
<script>
import * as api from '@/api/settle.js'
export default {
name: 'TopMemberSelect',
props: {
model: {
type: Object,
default: () => {}
}
},
data() {
return {
pkVertex: '',
verList: []
}
},
created() {
this.getList()
},
methods: {
handleChange() {
this.$emit('change', this.pkVertex)
},
getList() {
api.topVertexList().then((res) => {
this.verList = res.rows
})
},
reset() {
this.pkVertex = ''
}
}
}
</script>
<style>
</style>

View File

@ -8,12 +8,16 @@
<div class="thetopbox"> <div class="thetopbox">
<el-form ref="form" :model="queryParams" label-width="100px"> <el-form ref="form" :model="queryParams" label-width="100px">
<el-row> <el-row>
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="TopMemberHandleChange" />
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input <el-input
v-model="queryParams.memberCode" v-model="queryParams.memberCode"
clearable clearable
/></el-form-item></el-col> /></el-form-item>
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'结算期数'" prop="memberSettlePeriodId"> <el-form-item :label="'结算期数'" prop="memberSettlePeriodId">
<el-select <el-select
@ -28,11 +32,8 @@
:value="item.pkId" :value="item.pkId"
/> />
</el-select> </el-select>
<!-- <el-input </el-form-item>
clearable </el-col>
v-model="queryParams.memberSettlePeriodId"
></el-input> -->
</el-form-item></el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'展示层数'" prop="level"> <el-form-item :label="'展示层数'" prop="level">
<el-input <el-input
@ -51,12 +52,17 @@
</el-select> </el-form-item></el-col> </el-select> </el-form-item></el-col>
<el-col :span="4" style="margin-left: 30px"> <el-col :span="4" style="margin-left: 30px">
<div class="searchbox"> <div class="searchbox">
<el-button class="searchbtn" @click="getSearch"> {{ '搜索' }}</el-button> <el-button
<el-button @click="reChongzhi"> {{ '重置' }}</el-button> :loading="loading"
class="searchbtn"
@click="getSearch"
> {{ '搜索' }}</el-button>
<el-button @click="resetHandle"> {{ '重置' }}</el-button>
<el-button @click="goback"> {{ '返回' }}</el-button> <el-button @click="goback"> {{ '返回' }}</el-button>
</div> </div>
</el-col> </el-col>
</el-row></el-form> </el-row>
</el-form>
</div> </div>
<div class="lefttop"> <div class="lefttop">
<div v-for="(item, index) in avaerInfoList" :key="index" class="single"> <div v-for="(item, index) in avaerInfoList" :key="index" class="single">
@ -244,11 +250,13 @@ import {
getMemberSettlePeriod, getMemberSettlePeriod,
getUrlBase getUrlBase
} from '@/api/archityecture' } from '@/api/archityecture'
import TopMemberSelect from './components/top-member-select.vue'
import { isLocals } from '../../../utils/numberToCurrency' import { isLocals } from '../../../utils/numberToCurrency'
export default { export default {
name: 'Azjg', name: 'Azjg',
components: { components: {
topBar topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
@ -293,7 +301,8 @@ export default {
{ value: 0, label: '是' }, { value: 0, label: '是' },
{ value: 1, label: '否' } { value: 1, label: '否' }
], ],
scale: 1 scale: 1,
loading: false
} }
}, },
created() { created() {
@ -301,6 +310,12 @@ export default {
this.getAvarerInfo() this.getAvarerInfo()
}, },
methods: { methods: {
TopMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
handleWheel(event) { handleWheel(event) {
if (this.cantz == 1) { if (this.cantz == 1) {
event.preventDefault() event.preventDefault()
@ -525,12 +540,16 @@ export default {
// } // }
}, },
getSearch() { getSearch() {
this.loading = true
getAzFramework(this.queryParams).then((res) => { getAzFramework(this.queryParams).then((res) => {
this.data = res.data[0] this.data = res.data[0]
this.toggleExpand(this.data, true) this.toggleExpand(this.data, true)
}).finally(() => {
this.loading = false
}) })
}, },
reChongzhi() { resetHandle() {
this.$refs.topMemberSelect.reset()
this.queryParams = { this.queryParams = {
memberSettlePeriodId: '', // memberSettlePeriodId: '', //
memberCode: '', // memberCode: '', //

View File

@ -8,9 +8,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"
@ -49,14 +49,13 @@
<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="6"> <el-col :span="6">
@ -67,21 +66,19 @@
:key="item.pkVertex" :key="item.pkVertex"
:label="`${item.memberCode} (${item.memberName})`" :label="`${item.memberCode} (${item.memberName})`"
:value="item.pkVertex" :value="item.pkVertex"
></el-option> />
</el-select> </el-select>
</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 type="primary" @click="reset"> <el-button type="primary" @click="reset">
{{ '重置' }}</el-button {{ '重置' }}</el-button>
> <el-button v-hasButtons="['TopPerformanceTotal']" type="primary" @click="getNewData"> 统计</el-button>
<el-button type="primary" v-hasButtons="['TopPerformanceTotal']" @click="getNewData"> 统计</el-button>
</el-col> </el-col>
</el-row> </el-row>
<el-row> </el-row> <el-row />
<!-- <el-row> <!-- <el-row>
<el-col> <el-col>
<el-form-item :label="'隶属体系'"> <el-form-item :label="'隶属体系'">
@ -120,13 +117,12 @@
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button <el-button
size="small"
@click="handleExport"
v-hasButtons="['TopPerformanceExport']" v-hasButtons="['TopPerformanceExport']"
size="small"
class="thebtn2" class="thebtn2"
@click="handleExport"
> >
{{ '导出' }}</el-button {{ '导出' }}</el-button>
>
</div> </div>
<!-- <div> <!-- <div>
<el-dropdown :hide-on-click="false" placement="top"> <el-dropdown :hide-on-click="false" placement="top">
@ -145,9 +141,9 @@
<div class="maintable"> <div class="maintable">
<!-- <div class="itemTrading"> --> <!-- <div class="itemTrading"> -->
<el-table <el-table
ref="mainTable"
v-loading="loading" v-loading="loading"
:data="tableData" :data="tableData"
ref="mainTable"
height="700px" height="700px"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
:summary-method="getSummaries" :summary-method="getSummaries"
@ -155,13 +151,13 @@
: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
v-for="(item, index) in menuList" v-for="(item, index) in menuList"
v-if="item.id != 0"
:key="item.id" :key="item.id"
align="center" align="center"
width="120" width="120"
v-if="item.id != 0"
:prop="item.prop" :prop="item.prop"
:label="item.text" :label="item.text"
> >
@ -187,217 +183,217 @@
</template> </template>
<script> <script>
import topBar from "@/components/topBar"; import topBar from '@/components/topBar'
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, numberToCurrencyNo } from "@/utils/numberToCurrency"; import { isOther, numberToCurrencyNo } from '@/utils/numberToCurrency'
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 {
loading:false, loading: false,
typeList: [ typeList: [
{ {
value: 0, value: 0,
label: '前台', label: '前台'
}, },
{ {
value: 1, value: 1,
label: '后台', label: '后台'
}, }
], ],
digList: [ digList: [
{ {
value: 0, value: 0,
label: '允许', label: '允许'
}, },
{ {
value: 1, value: 1,
label: '禁止', label: '禁止'
}, }
], ],
menuList: [ menuList: [
{ {
id: 0, id: 0,
text: '全选', text: '全选',
checked: false, checked: false
}, },
{ {
id: 1, id: 1,
text: '顶点编号', text: '顶点编号',
checked: true, checked: true,
prop: "memberCode", prop: 'memberCode'
}, },
{ {
id: 31, id: 31,
text: '顶点名称', text: '顶点名称',
checked: true, checked: true,
prop: "memberName", prop: 'memberName'
}, },
{ {
id: 27, id: 27,
text: '业绩时间', text: '业绩时间',
checked: false, checked: false,
prop: "creationTime", prop: 'creationTime'
}, },
{ {
id: 2, id: 2,
text: '隶属团队', text: '隶属团队',
checked: true, checked: true,
prop: "teamName", prop: 'teamName'
}, },
{ {
id: 28, id: 28,
text: "首购PV拨比(%)", text: '首购PV拨比(%)',
checked: true, checked: true,
prop: "mainBonusPvRate", prop: 'mainBonusPvRate',
total: "mainBonusPvRateSum", total: 'mainBonusPvRateSum'
}, },
{ {
id: 29, id: 29,
text: "复购PV拨比(%)", text: '复购PV拨比(%)',
checked: true, checked: true,
prop: "repurBonusPvRate", prop: 'repurBonusPvRate',
total: "repurBonusPvRateSum", total: 'repurBonusPvRateSum'
}, },
{ {
id: 3, id: 3,
text: `${'注册专区'}(¥)`, text: `${'注册专区'}(¥)`,
checked: true, checked: true,
prop: "mainRegAmount", prop: 'mainRegAmount',
total: "mainRegAmountSum", total: 'mainRegAmountSum'
}, },
{ {
id: 4, id: 4,
text: `${'升级专区'}(¥)`, text: `${'升级专区'}(¥)`,
checked: true, checked: true,
prop: "mainUpAmount", prop: 'mainUpAmount',
total: "mainUpAmountSum", total: 'mainUpAmountSum'
}, },
{ {
id: 5, id: 5,
text: `${'云代注册'}(¥)`, text: `${'云代注册'}(¥)`,
checked: true, checked: true,
prop: "agentRegAmount", prop: 'agentRegAmount',
total: "agentRegAmountSum", total: 'agentRegAmountSum'
}, },
{ {
id: 6, id: 6,
text: `${'云代升级'}(¥)`, text: `${'云代升级'}(¥)`,
checked: true, checked: true,
prop: "agentUpAmount", prop: 'agentUpAmount',
total: "agentUpAmountSum", total: 'agentUpAmountSum'
}, },
{ {
id: 7, id: 7,
text: `${'首购金额'}(¥)`, text: `${'首购金额'}(¥)`,
checked: true, checked: true,
prop: "firstPurchaseAll", prop: 'firstPurchaseAll',
total: "firstPurchaseAllSum", total: 'firstPurchaseAllSum'
}, },
{ {
id: 30, id: 30,
text: `能量舱金额(¥)`, text: `能量舱金额(¥)`,
checked: true, checked: true,
prop: "energyAmountAll", prop: 'energyAmountAll',
total: "energyAmountAllSum", total: 'energyAmountAllSum'
}, },
{ {
id: 8, id: 8,
text: `${'直推收益'}(¥)`, text: `${'直推收益'}(¥)`,
checked: true, checked: true,
prop: "introduceBonus", prop: 'introduceBonus',
total: "introduceBonusSum", total: 'introduceBonusSum'
}, },
{ {
id: 9, id: 9,
text: `${'拓展收益'}(¥)`, text: `${'拓展收益'}(¥)`,
checked: true, checked: true,
prop: "orgBonus", prop: 'orgBonus',
total: "orgBonusSum", total: 'orgBonusSum'
}, },
{ {
id: 10, id: 10,
text: `${'辅导收益'}(¥)`, text: `${'辅导收益'}(¥)`,
checked: true, checked: true,
prop: "leaderBonus", prop: 'leaderBonus',
total: "leaderBonusSum", total: 'leaderBonusSum'
}, },
{ {
id: 11, id: 11,
text: `${'分红收益'}(¥)`, text: `${'分红收益'}(¥)`,
checked: true, checked: true,
prop: "shareBonus", prop: 'shareBonus',
total: "shareBonusSum", total: 'shareBonusSum'
}, },
{ {
id: 12, id: 12,
text: `${'服务补贴'}(¥)`, text: `${'服务补贴'}(¥)`,
checked: true, checked: true,
prop: "serviceBonus", prop: 'serviceBonus',
total: "serviceBonusSum", total: 'serviceBonusSum'
}, },
{ {
id: 33, id: 33,
text: `创客空间直推收益(¥)`, text: `创客空间直推收益(¥)`,
checked: true, checked: true,
prop: "makerDirect", prop: 'makerDirect',
total: "makerDirectSum", total: 'makerDirectSum'
}, },
{ {
id: 32, id: 32,
text: `创客空间共享收益(¥)`, text: `创客空间共享收益(¥)`,
checked: true, checked: true,
prop: "makerShare", prop: 'makerShare',
total: "makerShareSum", total: 'makerShareSum'
}, },
{ {
id: 13, id: 13,
text: `${'云代直推'}(¥)`, text: `${'云代直推'}(¥)`,
checked: true, checked: true,
prop: "agentIntroduceBonus", prop: 'agentIntroduceBonus',
total: "agentIntroduceBonusSum", total: 'agentIntroduceBonusSum'
}, },
{ {
id: 14, id: 14,
text: `${'云代首购'}(¥)`, text: `${'云代首购'}(¥)`,
checked: true, checked: true,
prop: "agentFirstAmount", prop: 'agentFirstAmount',
total: "agentFirstAmountSum", total: 'agentFirstAmountSum'
}, },
{ {
id: 15, id: 15,
text: `${'云代复购'}(¥)`, text: `${'云代复购'}(¥)`,
checked: true, checked: true,
prop: "agentRepurAmount", prop: 'agentRepurAmount',
total: "agentRepurAmountSum", total: 'agentRepurAmountSum'
}, },
{ {
id: 16, id: 16,
text: `${'复购专区'}(¥)`, text: `${'复购专区'}(¥)`,
checked: true, checked: true,
prop: "mainRepurAmount", prop: 'mainRepurAmount',
total: "mainRepurAmountSum", total: 'mainRepurAmountSum'
}, },
{ {
id: 17, id: 17,
text: `${'海粉专区'}(¥)`, text: `${'海粉专区'}(¥)`,
checked: true, checked: true,
prop: "hifansRegAmount", prop: 'hifansRegAmount',
total: "hifansRegAmountSum", total: 'hifansRegAmountSum'
}, },
// { // {
// id: 16, // id: 16,
@ -409,65 +405,65 @@ export default {
id: 18, id: 18,
text: `${'复购金额'}(¥)`, text: `${'复购金额'}(¥)`,
checked: false, checked: false,
prop: "repurchaseAllAmount", prop: 'repurchaseAllAmount',
total: "repurchaseAllAmountSum", total: 'repurchaseAllAmountSum'
}, },
{ {
id: 19, id: 19,
text: `${'复购极差收益'}(¥)`, text: `${'复购极差收益'}(¥)`,
checked: false, checked: false,
prop: "repurRangeBonus", prop: 'repurRangeBonus',
total: "repurRangeBonusSum", total: 'repurRangeBonusSum'
}, },
{ {
id: 20, id: 20,
text: `${'复购拓展收益'}(¥)`, text: `${'复购拓展收益'}(¥)`,
checked: false, checked: false,
prop: "repurOrgBonus", prop: 'repurOrgBonus',
total: "repurOrgBonusSum", total: 'repurOrgBonusSum'
}, },
{ {
id: 21, id: 21,
text: `${'首购拨出金额'}(¥)`, text: `${'首购拨出金额'}(¥)`,
checked: false, checked: false,
prop: "mainBonus", prop: 'mainBonus',
total: "mainBonusSum", total: 'mainBonusSum'
}, },
{ {
id: 22, id: 22,
text: '首购拨出比例' + "(%)", text: '首购拨出比例' + '(%)',
checked: false, checked: false,
prop: "mainBonusRate", prop: 'mainBonusRate',
total: "mainBonusRateSum", total: 'mainBonusRateSum'
}, },
{ {
id: 23, id: 23,
text: `${'复购拨出金额'}(¥)`, text: `${'复购拨出金额'}(¥)`,
checked: false, checked: false,
prop: "repurBonus", prop: 'repurBonus',
total: "repurBonusSum", total: 'repurBonusSum'
}, },
{ {
id: 24, id: 24,
text: '复购拨出比例' + "(%)", text: '复购拨出比例' + '(%)',
checked: false, checked: false,
prop: "repurBonusRate", prop: 'repurBonusRate',
total: "repurBonusRateSum", total: 'repurBonusRateSum'
}, },
{ {
id: 25, id: 25,
text: `${'总拨出金额'}(¥)`, text: `${'总拨出金额'}(¥)`,
checked: false, checked: false,
prop: "totalBonus", prop: 'totalBonus',
total: "totalBonusSum", total: 'totalBonusSum'
}, },
{ {
id: 26, id: 26,
text: '总拨出比例' + "(%)", text: '总拨出比例' + '(%)',
checked: false, checked: false,
prop: "totalBonusRate", prop: 'totalBonusRate',
total: "totalBonusRateSum", total: 'totalBonusRateSum'
}, }
// { // {
// id: 28, // id: 28,
@ -480,25 +476,25 @@ 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,
dialogVisible: false, dialogVisible: false,
tableData: [], tableData: [],
moren: "/settlementCenter/topPerformance", moren: '/settlementCenter/topPerformance',
topList: [ topList: [
{ {
name: '顶点奖金拨比列表统计', name: '顶点奖金拨比列表统计',
path: "/settlementCenter/topPerformance", path: '/settlementCenter/topPerformance',
url: "topPerformance", url: 'topPerformance',
changed: false, changed: false
}, }
], ],
form: {}, form: {},
@ -508,25 +504,25 @@ export default {
tableList: {}, tableList: {},
props: { props: {
multiple: true, multiple: true,
expandTrigger: "hover", expandTrigger: 'hover',
value: "pkId", value: 'pkId',
label: "vertexName", label: 'vertexName',
children: "childList", children: 'childList'
}, }
}; }
}, },
mounted() { mounted() {
// //
this.getData(); this.getData()
// //
this.getDataList(); this.getDataList()
// this.getUserRoute(); // this.getUserRoute();
}, },
methods: { methods: {
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)
}, },
// getpkVertex() { // getpkVertex() {
// let pkBdVertexStr = this.select.pkVertexList.join(',') // let pkBdVertexStr = this.select.pkVertexList.join(',')
@ -541,25 +537,25 @@ export default {
.topSubtotal(Object.assign({}, this.queryParams, this.select)) .topSubtotal(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
if (res.code == 200) { if (res.code == 200) {
this.tableList = res.data; this.tableList = res.data
} }
}); })
}, },
getSummaries(param) { getSummaries(param) {
let arr = []; const arr = []
this.menuList.forEach((item) => { this.menuList.forEach((item) => {
for (var i in this.tableList) { for (var i in this.tableList) {
if (i == item.total) { if (i == item.total) {
arr.push(numberToCurrencyNo(this.tableList[i])); arr.push(numberToCurrencyNo(this.tableList[i]))
} }
} }
}); })
arr.unshift("合计", "", "", "", ""); arr.unshift('合计', '', '', '', '')
arr.push(""); arr.push('')
this.$nextTick(() => { this.$nextTick(() => {
this.$refs.mainTable.doLayout(); this.$refs.mainTable.doLayout()
}); })
return arr; return arr
// return [] // return []
}, },
getUserRoute() { getUserRoute() {
@ -567,25 +563,25 @@ export default {
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
} }
}); })
}); })
}); })
}, },
reset() { reset() {
this.select = { this.select = {
pkVertexList: [], pkVertexList: [],
pkMemberTeamList: [], pkMemberTeamList: [],
pkTeamCodeStr: "", pkTeamCodeStr: '',
pkBdVertexStr: "", pkBdVertexStr: ''
}; }
this.creationTime = []; this.creationTime = []
}, },
getData() { getData() {
api.accountList().then((res) => { api.accountList().then((res) => {
this.acList = res.data; this.acList = res.data
}); })
// api.vertexList().then((res) => { // api.vertexList().then((res) => {
// this.verList = res.data // this.verList = res.data
// }) // })
@ -593,24 +589,24 @@ export default {
// this.memberList = res.rows // this.memberList = res.rows
// }) // })
api.topVertexList().then((res) => { api.topVertexList().then((res) => {
this.verList = res.rows; this.verList = res.rows
}); })
}, },
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] : ''
}, },
changeTime1(val) { changeTime1(val) {
this.select.startEffectDate = val ? val[0] : ""; this.select.startEffectDate = val ? val[0] : ''
this.select.endEffectDate = val ? val[1] : ""; this.select.endEffectDate = val ? val[1] : ''
}, },
getNewData() { getNewData() {
this.loading = true this.loading = true
api api
.topBonusListHistory(Object.assign({}, this.queryParams, this.select)) .topBonusListHistory(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.getDataList(); this.getDataList()
}); })
}, },
getDataList() { getDataList() {
api api
@ -618,11 +614,11 @@ export default {
.then((res) => { .then((res) => {
this.loading = false this.loading = false
if (res.code == 200) { if (res.code == 200) {
this.tableData = res.rows; this.tableData = res.rows
this.total = res.total; this.total = res.total
this.getTotal(); this.getTotal()
} }
}); })
}, },
handleSelectionChange(val) {}, handleSelectionChange(val) {},
/** 导出按钮操作 */ /** 导出按钮操作 */
@ -630,25 +626,25 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then((_) => { }).then((_) => {
this.download( this.download(
"/member/manage/bonus-vertex-statis/export", '/member/manage/bonus-vertex-statis/export',
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 {

View File

@ -126,22 +126,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-form-item :label="'考核通过'" prop="isAssess">
<el-select
v-model="queryParams.isAssess"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in yesornoList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4"> <el-col :span="4">
<div class="searchbox"> <div class="searchbox">
@ -209,11 +193,6 @@
prop="pkGradeVal" prop="pkGradeVal"
:label="'结算等级'" :label="'结算等级'"
/> />
<el-table-column
align="center"
prop="oldAwardsName"
label="历史荣誉奖衔"
/>
<el-table-column <el-table-column
align="center" align="center"
prop="pkAwardsVal" prop="pkAwardsVal"
@ -271,12 +250,6 @@
prop="bBalance" prop="bBalance"
:label="'右区结余'" :label="'右区结余'"
/> />
<el-table-column
align="center"
prop="assessStatusVal"
min-width="100px"
:label="'考核状态'"
/>
<el-table-column <el-table-column
align="center" align="center"
prop="payTime" prop="payTime"
@ -337,7 +310,6 @@ export default {
gradeRangList: [], gradeRangList: [],
enumsUpdownList: [], enumsUpdownList: [],
yesornoList: [],
placeDeptList: [] placeDeptList: []
} }
}, },
@ -362,9 +334,7 @@ export default {
getgradeRanglist().then((res) => { getgradeRanglist().then((res) => {
this.gradeRangList = res.data this.gradeRangList = res.data
}) })
sta.getYesornoList().then((res) => {
this.yesornoList = res.data
})
sta.getEnumsUpDown().then((res) => { sta.getEnumsUpDown().then((res) => {
this.enumsUpdownList = res.data this.enumsUpdownList = res.data
}) })

View File

@ -110,22 +110,6 @@
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4">
<el-form-item :label="'考核通过'" prop="isAssess">
<el-select
v-model="queryParams.isAssess"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in yesornoList"
:key="item.value"
:label="item.label"
:value="item.value"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4"> <el-col :span="4">
<div class="searchbox"> <div class="searchbox">
@ -240,12 +224,6 @@
prop="categoryVal" prop="categoryVal"
:label="'会员类型'" :label="'会员类型'"
/> />
<el-table-column
align="center"
prop="assessStatusVal"
min-width="100px"
:label="'考核状态'"
/>
<el-table-column <el-table-column
align="center" align="center"
prop="payTime" prop="payTime"
@ -324,9 +302,6 @@ export default {
getgradeRanglist().then((res) => { getgradeRanglist().then((res) => {
this.gradeRangList = res.data this.gradeRangList = res.data
}) })
sta.getYesornoList().then((res) => {
this.yesornoList = res.data
})
sta.getEnumsUpDown().then(res => { sta.getEnumsUpDown().then(res => {
this.enumsUpdownList = res.data this.enumsUpdownList = res.data
}) })