feat(statistics): 真实奖项改为月度奖衔

This commit is contained in:
woody 2025-06-17 17:57:37 +08:00
parent d7ec022fd1
commit 6daeec8151
4 changed files with 542 additions and 687 deletions

View File

@ -80,7 +80,7 @@
</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-select <el-select
v-model="select.pkAwards" v-model="select.pkAwards"
clearable clearable
@ -197,7 +197,7 @@
<el-table-column <el-table-column
align="center" align="center"
prop="pkAwardsVal" prop="pkAwardsVal"
:label="'真实奖衔'" :label="'当月奖衔'"
width="180" width="180"
/> />
<el-table-column <el-table-column
@ -363,7 +363,7 @@ export default {
} }
], ],
gradeRangList: [], // gradeRangList: [], //
awardsList: [], // awardsList: [], //
vertexList: [], // vertexList: [], //
memberteamList: [], // memberteamList: [], //
delList: [], delList: [],
@ -381,7 +381,7 @@ export default {
getgradeRanglist().then((res) => { getgradeRanglist().then((res) => {
this.gradeRangList = res.data this.gradeRangList = res.data
}) })
// //
getAwardsListChiose().then((res) => { getAwardsListChiose().then((res) => {
this.awardsList = res.rows this.awardsList = res.rows
}) })

View File

@ -2,106 +2,91 @@
<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="thetopbox"> <div class="thetopbox">
<el-form label-width="100px"> <el-form label-width="100px">
<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="queryParams.memberCode"></el-input> <el-input v-model="queryParams.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="queryParams.memberName"></el-input> <el-input v-model="queryParams.memberName" 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="queryParams.phone"></el-input> <el-input v-model="queryParams.phone" 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-select <el-select
v-model="queryParams.pkRegisterGrade"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkRegisterGrade"
> >
<el-option <el-option
v-for="item in gradeRangList" v-for="item in gradeRangList"
:key="item.pkId" :key="item.pkId"
:label="item.gradeName" :label="item.gradeName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</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-select <el-select
v-model="queryParams.pkAwards"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkAwards"
> >
<el-option <el-option
v-for="item in awardsList" v-for="item in awardsList"
:key="item.pkId" :key="item.pkId"
:label="item.awardsName" :label="item.awardsName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</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-select <el-select
v-model="queryParams.pkMaxAwards"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkRangeAwards"
> >
<el-option <el-option
v-for="item in awardsList" v-for="item in awardsList"
:key="item.pkId" :key="item.pkId"
:label="item.awardsName" :label="item.awardsName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- <el-col :span="4">
<el-form-item :label="'隶属团队'" >
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col> -->
<el-col :span="4"> <el-col :span="4">
<el-form-item label="晋升方式"> <el-form-item label="晋升方式">
<el-select <el-select
v-model="queryParams.upType"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.upType"
> >
<el-option <el-option
v-for="item in upList" v-for="item in upList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -109,30 +94,28 @@
<el-form-item :label="'晋升日期'"> <el-form-item :label="'晋升日期'">
<el-date-picker <el-date-picker
v-model="queryParams.thetimes" v-model="queryParams.thetimes"
@change="changeTime"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="daterange" type="daterange"
:clearable="false" :clearable="false"
: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="8"> <el-col :span="8">
<el-form-item :label="$t('奖衔有效期')"> <el-form-item :label="$t('奖衔有效期')">
<el-date-picker <el-date-picker
v-model="queryParams.Dates" v-model="queryParams.Dates"
@change="changeTime1"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="daterange" type="daterange"
:clearable="false" :clearable="false"
:range-separator="'至'" :range-separator="'至'"
:start-placeholder="'开始日期'" :start-placeholder="'开始日期'"
:end-placeholder="'结束日期'" :end-placeholder="'结束日期'"
> @change="changeTime1"
</el-date-picker> />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
@ -146,11 +129,9 @@
} }
" "
> >
{{ '搜索' }}</el-button {{ '搜索' }}</el-button>
>
<el-button class="my_reset" @click="reChongzhi"> <el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button {{ '重置' }}</el-button>
>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -160,129 +141,73 @@
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button size="small" class="thebtn1" @click="handleExport"> <el-button size="small" class="thebtn1" @click="handleExport">
{{ '导出' }}</el-button {{ '导出' }}</el-button>
>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<el-table <el-table
:data="tableData"
v-loading="loading" v-loading="loading"
:data="tableData"
height="680px" height="680px"
style="width: 100%" style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column prop="colsele" type="selection" width="55"> <el-table-column prop="colsele" type="selection" width="55" />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
min-width="120px" min-width="120px"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="memberName" prop="memberName"
:label="'会员姓名'" :label="'会员姓名'"
min-width="120px" min-width="120px"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="phone" prop="phone"
:label="'联系方式'" :label="'联系方式'"
min-width="120px" min-width="120px"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="pkRegisterGradeVal" prop="pkRegisterGradeVal"
:label="'注册等级'" :label="'注册等级'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="pkAwardsVal" prop="pkAwardsVal"
:label="'真实奖衔'" :label="'当月奖衔'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="pkRangeAwardsVal" prop="pkMaxAwardsVal"
label="荣誉奖衔" label="荣誉奖衔"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="vertexName" prop="vertexName"
:label="'隶属体系'" :label="'隶属体系'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
min-width="150px" min-width="150px"
prop="endValidityDate" prop="endValidityDate"
:label="$t('奖衔有效期')" :label="$t('奖衔有效期')"
> />
</el-table-column>
<!-- <el-table-column
align="center"
prop="teamName"
:label="'隶属团队'"
>
</el-table-column>
<el-table-column <el-table-column align="center" prop="upTypeVal" label="晋升方式" />
align="center"
prop="asumRealPv"
min-width="130px"
:label="'左区真实累计业绩' + `(PV)`"
>
<template slot-scope="scope">
<span
@click="goDetail(1, scope.row)"
style="
color: #48b2fd;
cursor: pointer;
text-decoration: underline;
"
>{{ scope.row.asumRealPv | numFilter }}</span
>
</template>
</el-table-column>
<el-table-column
align="center"
prop="bsumRealPv"
min-width="130px"
:label="'右区真实累计业绩' + `(PV)`"
>
<template slot-scope="scope">
<span
@click="goDetail(2, scope.row)"
style="
color: #48b2fd;
cursor: pointer;
text-decoration: underline;
"
>
{{ scope.row.bsumRealPv | numFilter }}</span
>
</template>
</el-table-column> -->
<el-table-column align="center" prop="upTypeVal" label="晋升方式">
</el-table-column>
<el-table-column <el-table-column
min-width="150px" min-width="150px"
align="center" align="center"
prop="creationTime" prop="creationTime"
:label="'晋升日期'" :label="'晋升日期'"
> />
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@ -297,31 +222,31 @@
</template> </template>
<script> <script>
import topBar from "@/components/topBar"; import topBar from '@/components/topBar'
import * as sta from "@/api/statistics"; import * as sta from '@/api/statistics'
import { getAwardsListChiose, getgradeRanglist } from "@/api/level"; import { getAwardsListChiose, getgradeRanglist } from '@/api/level'
import { getvertexValue, getmemberTeamList } from "@/api/financialCase"; import { getvertexValue, getmemberTeamList } from '@/api/financialCase'
import { isLocals, isLocalSymbol } from "@/utils/numberToCurrency"; import { isLocals, isLocalSymbol } from '@/utils/numberToCurrency'
export default { export default {
name: "AwardAnalysis", name: 'AwardAnalysis',
components: { components: {
topBar, topBar
}, },
filters: { filters: {
numFilter(value) { numFilter(value) {
// //
let realVal = parseFloat(value).toFixed(2); const realVal = parseFloat(value).toFixed(2)
return realVal; return realVal
}, }
}, },
data() { data() {
return { return {
moren: "awardAnalysis", moren: 'awardAnalysis',
topList: [ topList: [
{ {
name: '真实奖衔分析', name: '当月奖衔分析',
path: "awardAnalysis", path: 'awardAnalysis'
}, }
], ],
tableData: [], tableData: [],
loading: false, loading: false,
@ -329,9 +254,9 @@ export default {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,
thetimes: [], thetimes: [],
placeDept: "", placeDept: '',
pkMember: "", pkMember: '',
Dates: [], Dates: []
}, },
total: 0, total: 0,
multipleSelection: [], multipleSelection: [],
@ -339,109 +264,95 @@ export default {
memberTeamList: [], memberTeamList: [],
vertexList: [], vertexList: [],
gradeRangList: [], gradeRangList: [],
upList: [], upList: []
}; }
}, },
created() { created() {
this.getSearch(); this.getSearch()
this.getOthers(); this.getOthers()
}, },
methods: { methods: {
//穿 12
goDetail(index, row) {
this.queryParams = {
pageNum: 1,
pageSize: 50,
thetimes: [],
placeDept: "",
pkMember: "",
};
this.queryParams.placeDept = index;
this.queryParams.pkMember = row.pkMember;
sta.getUmbrellaAnalysisDetailList(this.queryParams).then((res) => {
this.tableData = res.rows;
});
},
isLocalSymbol, isLocalSymbol,
isLocals, isLocals,
changeTime(val) { changeTime(val) {
this.queryParams.startDate = val[0]; this.queryParams.startDate = val[0]
this.queryParams.endDate = val[1]; this.queryParams.endDate = val[1]
}, },
changeTime1(val) { changeTime1(val) {
this.queryParams.startEffectiveDate = val[0]; this.queryParams.startEffectiveDate = val[0]
this.queryParams.endEffectiveDate = val[1]; this.queryParams.endEffectiveDate = val[1]
}, },
getOthers() { getOthers() {
getAwardsListChiose().then((res) => { getAwardsListChiose().then((res) => {
this.awardsList = res.rows; this.awardsList = res.rows
}); })
sta.getUpListList().then((res) => { sta.getUpListList().then((res) => {
this.upList = res.data; this.upList = res.data
}); })
getmemberTeamList().then((res) => { getmemberTeamList().then((res) => {
this.memberTeamList = res.rows; this.memberTeamList = res.rows
}); })
getvertexValue().then((res) => { getvertexValue().then((res) => {
this.vertexList = res.data; this.vertexList = res.data
}); })
getgradeRanglist().then((res) => { getgradeRanglist().then((res) => {
this.gradeRangList = res.data; this.gradeRangList = res.data
}); })
}, },
// //
handleExport() { handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then((_) => { }).then((_) => {
if (this.queryParams.pkMember) { if (this.queryParams.pkMember) {
//穿 // 穿
this.download( this.download(
"/report/manager/member-awards/export-analysis-details", '/report/manager/member-awards/export-analysis-details',
{ {
...this.queryParams, ...this.queryParams
}, },
`${'真实奖衔分析'}${new Date().getTime()}.xlsx` `${'当月奖衔分析'}${new Date().getTime()}.xlsx`
); )
} else { } else {
this.download( this.download(
"/report/manager/member-awards/export-analysis", '/report/manager/member-awards/export-analysis',
{ {
...this.queryParams, ...this.queryParams
}, },
`${'真实奖衔分析'}${new Date().getTime()}.xlsx` `${'当月奖衔分析'}${new Date().getTime()}.xlsx`
); )
} }
}); })
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val
}, },
reChongzhi() { reChongzhi() {
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,
thetimes: [], thetimes: [],
placeDept: "", placeDept: '',
pkMember: "", pkMember: ''
}; }
this.getSearch(); this.getSearch()
}, },
getSearch() { getSearch() {
this.loading = true; this.loading = true
sta.getUmbrellaAnalysisList(this.queryParams).then((res) => { sta.getUmbrellaAnalysisList(this.queryParams).then((res) => {
this.tableData = res.rows; this.tableData = res.rows
this.total = res.total; this.total = res.total
this.loading = false; this.loading = false
}); })
}, },
getCzNum() { getCzNum() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1
}, }
}, }
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>

View File

@ -2,90 +2,90 @@
<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="thetopbox"> <div class="thetopbox">
<el-form label-width="100px"> <el-form label-width="100px">
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input clearable v-model="queryParams.memberCode"></el-input> <el-input v-model="queryParams.memberCode" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员姓名'" prop="memberName"> <el-form-item :label="'会员姓名'" prop="memberName">
<el-input clearable v-model="queryParams.memberName"></el-input> <el-input v-model="queryParams.memberName" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'联系方式'" prop="phone"> <el-form-item :label="'联系方式'" prop="phone">
<el-input clearable v-model="queryParams.phone"></el-input> <el-input v-model="queryParams.phone" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="pkAwards"> <el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select <el-select
v-model="queryParams.pkAwards"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkAwards"
> >
<el-option <el-option
v-for="item in awardsList" v-for="item in awardsList"
:key="item.pkId" :key="item.pkId"
:label="item.awardsName" :label="item.awardsName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'隶属体系'" prop="pkVertex"> <el-form-item :label="'隶属体系'" prop="pkVertex">
<el-select <el-select
v-model="queryParams.pkVertex"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkVertex"
> >
<el-option <el-option
v-for="item in vertexList" v-for="item in vertexList"
:key="item.pkId" :key="item.pkId"
:label="item.vertexName" :label="item.vertexName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'隶属团队'" prop="pkTeamCode"> <el-form-item :label="'隶属团队'" prop="pkTeamCode">
<el-select <el-select
v-model="queryParams.pkTeamCode"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
> >
<el-option <el-option
v-for="item in memberTeamList" v-for="item in memberTeamList"
:key="item.pkId" :key="item.pkId"
:label="item.teamName" :label="item.teamName"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'国家'" prop="pkCountry"> <el-form-item :label="'国家'" prop="pkCountry">
<el-select <el-select
v-model="queryParams.pkCountry"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.pkCountry"
> >
<el-option <el-option
v-for="item in countryList" v-for="item in countryList"
:key="item.pkId" :key="item.pkId"
:label="item.name" :label="item.name"
:value="item.pkId" :value="item.pkId"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -93,15 +93,14 @@
<el-form-item :label="'升级日期'" prop="thetimes"> <el-form-item :label="'升级日期'" prop="thetimes">
<el-date-picker <el-date-picker
v-model="queryParams.thetimes" v-model="queryParams.thetimes"
@change="changeTime"
value-format="yyyy-MM-dd" value-format="yyyy-MM-dd"
type="daterange" type="daterange"
:clearable="false" :clearable="false"
: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"> <el-col :span="4">
@ -115,11 +114,9 @@
} }
" "
> >
{{ '搜索' }}</el-button {{ '搜索' }}</el-button>
>
<el-button class="my_reset" @click="reChongzhi"> <el-button class="my_reset" @click="reChongzhi">
{{ '重置' }}</el-button {{ '重置' }}</el-button>
>
</div> </div>
</el-col> </el-col>
</el-row> </el-row>
@ -129,105 +126,73 @@
<div class="maintop"> <div class="maintop">
<div class="mainbtn"> <div class="mainbtn">
<el-button size="small" class="thebtn1" @click="handleExport"> <el-button size="small" class="thebtn1" @click="handleExport">
{{ '导出' }}</el-button {{ '导出' }}</el-button>
>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<el-table <el-table
:data="tableData"
v-loading="loading" v-loading="loading"
:data="tableData"
height="680px" height="680px"
style="width: 100%" style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }" :header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange" @selection-change="handleSelectionChange"
> >
<el-table-column prop="colsele" type="selection" width="55"> <el-table-column prop="colsele" type="selection" width="55" />
</el-table-column>
<el-table-column
align="center"
prop="nationalFlag1"
:label="'国旗(圆形)'"
>
<template scope="scope">
<img
style="width: 44px; height: 44px; border-radius: 50%"
:src="scope.row.nationalFlag1"
alt=""
/>
</template>
</el-table-column>
<el-table-column
align="center"
prop="shortName"
:label="'国家'"
min-width="120px"
>
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'" :label="'会员编号'"
min-width="120px" min-width="120px"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="memberName" prop="memberName"
:label="'会员姓名'" :label="'会员姓名'"
min-width="120px" min-width="120px"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="phone" prop="phone"
:label="'联系方式'" :label="'联系方式'"
min-width="120px" min-width="120px"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="pkAwardsVal" prop="pkAwardsVal"
:label="'真实奖衔'" :label="'真实奖衔'"
> />
</el-table-column>
<el-table-column <el-table-column
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="anewPv" prop="anewPv"
min-width="100px" min-width="100px"
:label="'左区累计业绩' + `(PV)`" :label="'左区累计业绩' + `(PV)`"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="bnewPv" prop="bnewPv"
min-width="100px" min-width="100px"
:label="'右区累计业绩' + `(PV)`" :label="'右区累计业绩' + `(PV)`"
> />
</el-table-column>
<el-table-column <el-table-column
min-width="120px" min-width="120px"
align="center" align="center"
prop="creationTime" prop="creationTime"
:label="'升级日期'" :label="'升级日期'"
> />
</el-table-column>
</el-table> </el-table>
</div> </div>
</div> </div>
@ -241,108 +206,107 @@
</div> </div>
</template> </template>
<script> <script>
import topBar from "@/components/topBar"; import topBar from '@/components/topBar'
import * as sta from "@/api/statistics"; import * as sta from '@/api/statistics'
import { getAwardsListChiose } from "@/api/level"; import { getAwardsListChiose } from '@/api/level'
import { getcountryAllList } from "@/api/exchangerate"; import { getcountryAllList } from '@/api/exchangerate'
import { getvertexValue, getmemberTeamList } from "@/api/financialCase"; import { getvertexValue, getmemberTeamList } from '@/api/financialCase'
import { isLocals, isLocalSymbol } from "@/utils/numberToCurrency"; import { isLocals, isLocalSymbol } from '@/utils/numberToCurrency'
export default { export default {
name: "RealPerAddAwards", name: 'RealPerAddAwards',
components: { components: {
topBar, topBar
}, },
data() { data() {
return { return {
moren: "realPerAddAwards", moren: 'realPerAddAwards',
topList: [ topList: [
{ {
name: '真实业绩新增奖衔', name: '真实业绩新增奖衔',
path: "realPerAddAwards", path: 'realPerAddAwards'
}, }
], ],
tableData: [], tableData: [],
loading:false, loading: false,
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,
thetimes: [], thetimes: []
}, },
total: 0, total: 0,
multipleSelection: [], multipleSelection: [],
awardsList: [], awardsList: [],
memberTeamList: [], memberTeamList: [],
vertexList: [], vertexList: [],
countryList: [], countryList: []
}; }
}, },
created() { created() {
this.getSearch(); this.getSearch()
this.getOthers(); this.getOthers()
}, },
methods: { methods: {
isLocalSymbol, isLocalSymbol,
isLocals, isLocals,
changeTime(val) { changeTime(val) {
this.queryParams.startDate = val[0]; this.queryParams.startDate = val[0]
this.queryParams.endDate = val[1]; this.queryParams.endDate = val[1]
}, },
getOthers() { getOthers() {
getAwardsListChiose().then((res) => { getAwardsListChiose().then((res) => {
this.awardsList = res.rows; this.awardsList = res.rows
}); })
getmemberTeamList().then((res) => { getmemberTeamList().then((res) => {
this.memberTeamList = res.rows; this.memberTeamList = res.rows
}); })
getvertexValue().then((res) => { getvertexValue().then((res) => {
this.vertexList = res.data; this.vertexList = res.data
}); })
getcountryAllList().then((res) => { getcountryAllList().then((res) => {
this.countryList = res.data; this.countryList = res.data
}); })
}, },
// //
handleExport() { handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then((_) => { }).then((_) => {
this.download( this.download(
"/report/manager/member-awards/export", '/report/manager/member-awards/export',
{ ...this.queryParams }, { ...this.queryParams },
`${'真实业绩新增奖衔'}${new Date().getTime()}.xlsx` `${'真实业绩新增奖衔'}${new Date().getTime()}.xlsx`
); )
}); })
}, },
handleSelectionChange(val) { handleSelectionChange(val) {
this.multipleSelection = val; this.multipleSelection = val
}, },
reChongzhi() { reChongzhi() {
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,
thetimes: [], thetimes: []
}; }
this.getSearch(); this.getSearch()
}, },
getSearch() { getSearch() {
this.loading = true this.loading = true
sta.getUmbrellaAwardsList(this.queryParams).then((res) => { sta.getUmbrellaAwardsList(this.queryParams).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
} }
}); })
}, },
getCzNum() { getCzNum() {
this.queryParams.pageNum = 1; this.queryParams.pageNum = 1
}, }
}, }
}; }
</script> </script>
<style lang="scss" scoped> <style lang="scss" scoped>
@ -417,4 +381,3 @@ export default {
} }
} }
</style> </style>

View File

@ -1,398 +1,379 @@
<template> <template>
<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="thetopbox"> <div class="thetopbox">
<el-form label-width="100px"> <el-form label-width="100px">
<el-row> <el-row>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'" prop="memberCode"> <el-form-item :label="'会员编号'" prop="memberCode">
<el-input clearable v-model="queryParams.memberCode"></el-input> <el-input v-model="queryParams.memberCode" clearable />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'查询方向'" prop="upDown"> <el-form-item :label="'查询方向'" prop="upDown">
<el-select <el-select
clearable v-model="queryParams.upDown"
:placeholder="'请选择'" clearable
v-model="queryParams.upDown" :placeholder="'请选择'"
> >
<el-option <el-option
v-for="item in enumsUpdownList" v-for="item in enumsUpdownList"
:key="item.value" :key="item.value"
:label="item.label" :label="item.label"
:value="item.value" :value="item.value"
></el-option> />
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col>
<!-- <el-col :span="4">-->
<!-- <el-form-item :label="'注册等级'" prop="pkRegisterGrade">-->
<!-- <el-select-->
<!-- clearable-->
<!-- :placeholder="'请选择'"-->
<!-- v-model="queryParams.pkRegisterGrade"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in gradeRangList"-->
<!-- :key="item.pkId"-->
<!-- :label="item.gradeName"-->
<!-- :value="item.pkId"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
<!-- </el-col>-->
<el-col :span="4">
<el-form-item :label="'结算等级'" prop="pkGrade">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkGrade"
>
<el-option
v-for="item in gradeRangList"
:key="item.pkId"
:label="item.gradeName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'真实奖衔'" prop="pkAwards">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkAwards"
>
<el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'" prop="pkVertex">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkVertex"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'" prop="pkTeamCode">
<el-select
clearable
:placeholder="'请选择'"
v-model="queryParams.pkTeamCode"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
></el-option>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-form-item :label="'考核通过'" prop="isAssess">-->
<!-- <el-select-->
<!-- clearable-->
<!-- :placeholder="'请选择'"-->
<!-- v-model="queryParams.isAssess"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in yesornoList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col> </el-col>
<el-col :span="4"> <!-- <el-col :span="4">-->
<div class="searchbox"> <!-- <el-form-item :label="'注册等级'" prop="pkRegisterGrade">-->
<el-button <!-- <el-select-->
class="my_search" <!-- clearable-->
@click=" <!-- :placeholder="'请选择'"-->
() => { <!-- v-model="queryParams.pkRegisterGrade"-->
getSearch(); <!-- >-->
getCzNum(); <!-- <el-option-->
} <!-- v-for="item in gradeRangList"-->
" <!-- :key="item.pkId"-->
> <!-- :label="item.gradeName"-->
{{ '搜索' }}</el-button <!-- :value="item.pkId"-->
> <!-- ></el-option>-->
<el-button class="my_reset" @click="reChongzhi"> <!-- </el-select>-->
{{ '重置' }}</el-button <!-- </el-form-item>-->
> <!-- </el-col>-->
</div> <el-col :span="4">
</el-col> <el-form-item :label="'结算等级'" prop="pkGrade">
</el-row> <el-select
</el-form> v-model="queryParams.pkGrade"
</div> clearable
<div class="main"> :placeholder="'请选择'"
<div class="maintop"> >
<div class="mainbtn"> <el-option
<el-button size="small" class="thebtn1" @click="handleExport"> v-for="item in gradeRangList"
{{ '导出' }}</el-button :key="item.pkId"
> :label="item.gradeName"
</div> :value="item.pkId"
</div> />
<div class="maintable"> </el-select>
<el-table </el-form-item>
:data="tableData" </el-col>
v-loading="loading" <el-col :span="4">
height="680px" <el-form-item :label="'当月奖衔'" prop="pkAwards">
style="width: 100%" <el-select
:header-cell-style="{ background: '#EEEEEE' }" v-model="queryParams.pkAwards"
@selection-change="handleSelectionChange" clearable
> :placeholder="'请选择'"
<el-table-column prop="colsele" type="selection" width="55"> >
</el-table-column> <el-option
v-for="item in awardsList"
:key="item.pkId"
:label="item.awardsName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属体系'" prop="pkVertex">
<el-select
v-model="queryParams.pkVertex"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in vertexList"
:key="item.pkId"
:label="item.vertexName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<el-form-item :label="'隶属团队'" prop="pkTeamCode">
<el-select
v-model="queryParams.pkTeamCode"
clearable
:placeholder="'请选择'"
>
<el-option
v-for="item in memberTeamList"
:key="item.pkId"
:label="item.teamName"
:value="item.pkId"
/>
</el-select>
</el-form-item>
</el-col>
<el-col :span="4">
<!-- <el-form-item :label="'考核通过'" prop="isAssess">-->
<!-- <el-select-->
<!-- clearable-->
<!-- :placeholder="'请选择'"-->
<!-- v-model="queryParams.isAssess"-->
<!-- >-->
<!-- <el-option-->
<!-- v-for="item in yesornoList"-->
<!-- :key="item.value"-->
<!-- :label="item.label"-->
<!-- :value="item.value"-->
<!-- ></el-option>-->
<!-- </el-select>-->
<!-- </el-form-item>-->
</el-col>
<el-table-column align="center" prop="algebra" :label="'代数'"> <el-col :span="4">
</el-table-column> <div class="searchbox">
<el-table-column <el-button
align="center" class="my_search"
prop="memberCode" @click="
:label="'会员编号'" () => {
min-width="120px" getSearch();
> getCzNum();
</el-table-column> }
<el-table-column "
align="center" >
prop="memberName" {{ '搜索' }}</el-button>
:label="'会员姓名'" <el-button class="my_reset" @click="reChongzhi">
> {{ '重置' }}</el-button>
</el-table-column> </div>
</el-col>
<el-table-column </el-row>
align="center" </el-form>
prop="phone"
:label="'联系方式'"
min-width="120px"
>
</el-table-column>
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="pkRegisterGradeVal"-->
<!-- :label="'注册等级'"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
align="center"
prop="pkGradeVal"
:label="'结算等级'"
>
</el-table-column>
<el-table-column
align="center"
prop="pkAwardsVal"
label="当月奖衔"
>
</el-table-column>
<el-table-column
align="center"
prop="vertexName"
:label="'隶属体系'"
>
</el-table-column>
<el-table-column
align="center"
prop="teamName"
:label="'隶属团队'"
>
</el-table-column>
<el-table-column
align="center"
prop="parentCode"
:label="'推荐编号'"
min-width="120px"
>
</el-table-column>
<el-table-column
align="center"
prop="parentName"
:label="'推荐姓名'"
>
</el-table-column>
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="placeCode"-->
<!-- :label="'安置编号'"-->
<!-- min-width="120px"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="placeName"-->
<!-- :label="'安置姓名'"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="placeDeptVal"-->
<!-- :label="'安置部门'"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
align="center"
prop="categoryVal"
:label="'会员类型'"
>
</el-table-column>
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="assessStatusVal"-->
<!-- min-width="100px"-->
<!-- :label="'考核状态'"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
align="center"
prop="payTime"
:label="'注册日期'"
min-width="180px"
>
</el-table-column>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getSearch"
/>
</div> </div>
</template> <div class="main">
<div class="maintop">
<div class="mainbtn">
<el-button size="small" class="thebtn1" @click="handleExport">
{{ '导出' }}</el-button>
</div>
</div>
<div class="maintable">
<el-table
v-loading="loading"
:data="tableData"
height="680px"
style="width: 100%"
:header-cell-style="{ background: '#EEEEEE' }"
@selection-change="handleSelectionChange"
>
<el-table-column prop="colsele" type="selection" width="55" />
<script> <el-table-column align="center" prop="algebra" :label="'代数'" />
import topBar from "@/components/topBar"; <el-table-column
import * as sta from "@/api/statistics"; align="center"
import { getAwardsListChiose, getgradeRanglist } from "@/api/level"; prop="memberCode"
import { getvertexValue, getmemberTeamList } from "@/api/financialCase"; :label="'会员编号'"
min-width="120px"
/>
<el-table-column
align="center"
prop="memberName"
:label="'会员姓名'"
/>
import { isLocals, isLocalSymbol } from "@/utils/numberToCurrency"; <el-table-column
export default { align="center"
name: "RecommendedCheck", prop="phone"
components: { :label="'联系方式'"
topBar, min-width="120px"
/>
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="pkRegisterGradeVal"-->
<!-- :label="'注册等级'"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
align="center"
prop="pkGradeVal"
:label="'结算等级'"
/>
<el-table-column
align="center"
prop="pkAwardsVal"
label="当月奖衔"
/>
<el-table-column
align="center"
prop="vertexName"
:label="'隶属体系'"
/>
<el-table-column
align="center"
prop="teamName"
:label="'隶属团队'"
/>
<el-table-column
align="center"
prop="parentCode"
:label="'推荐编号'"
min-width="120px"
/>
<el-table-column
align="center"
prop="parentName"
:label="'推荐姓名'"
/>
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="placeCode"-->
<!-- :label="'安置编号'"-->
<!-- min-width="120px"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="placeName"-->
<!-- :label="'安置姓名'"-->
<!-- >-->
<!-- </el-table-column>-->
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="placeDeptVal"-->
<!-- :label="'安置部门'"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
align="center"
prop="categoryVal"
:label="'会员类型'"
/>
<!-- <el-table-column-->
<!-- align="center"-->
<!-- prop="assessStatusVal"-->
<!-- min-width="100px"-->
<!-- :label="'考核状态'"-->
<!-- >-->
<!-- </el-table-column>-->
<el-table-column
align="center"
prop="payTime"
:label="'注册日期'"
min-width="180px"
/>
</el-table>
</div>
</div>
<pagination
v-show="total > 0"
:total="total"
:page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize"
@pagination="getSearch"
/>
</div>
</template>
<script>
import topBar from '@/components/topBar'
import * as sta from '@/api/statistics'
import { getAwardsListChiose, getgradeRanglist } from '@/api/level'
import { getvertexValue, getmemberTeamList } from '@/api/financialCase'
import { isLocals, isLocalSymbol } from '@/utils/numberToCurrency'
export default {
name: 'RecommendedCheck',
components: {
topBar
},
data() {
return {
moren: 'recommendedCheck',
topList: [
{
name: '推荐正反查',
path: 'recommendedCheck'
}
],
tableData: [],
loading: false,
queryParams: {
pageNum: 1,
pageSize: 50
},
total: 0,
multipleSelection: [],
awardsList: [],
memberTeamList: [],
vertexList: [],
gradeRangList: [],
enumsUpdownList: [],
yesornoList: []
}
},
created() {
this.getSearch()
this.getOthers()
},
methods: {
isLocalSymbol,
isLocals,
getOthers() {
getAwardsListChiose().then((res) => {
this.awardsList = res.rows
})
getmemberTeamList().then((res) => {
this.memberTeamList = res.rows
})
getvertexValue().then((res) => {
this.vertexList = res.data
})
getgradeRanglist().then((res) => {
this.gradeRangList = res.data
})
sta.getYesornoList().then((res) => {
this.yesornoList = res.data
})
sta.getEnumsUpDown().then(res => {
this.enumsUpdownList = res.data
})
}, },
data() { //
return { handleExport() {
moren: "recommendedCheck", this.$confirm('是否确认导出所有数据项?', '警告', {
topList: [ confirmButtonText: '确定',
{ cancelButtonText: '取消',
name: '推荐正反查', type: 'warning'
path: "recommendedCheck", }).then((_) => {
}, this.download(
], '/report/manager/member-report/export-parent-peg',
tableData: [], { ...this.queryParams },
loading:false, `${'推荐正反查'}${new Date().getTime()}.xlsx`
queryParams: { )
pageNum: 1, })
pageSize: 50,
},
total: 0,
multipleSelection: [],
awardsList: [],
memberTeamList: [],
vertexList: [],
gradeRangList: [],
enumsUpdownList:[],
yesornoList:[]
};
}, },
created() { handleSelectionChange(val) {
this.getSearch(); this.multipleSelection = val
this.getOthers();
}, },
methods: { reChongzhi() {
isLocalSymbol, this.queryParams = {
isLocals, pageNum: 1,
pageSize: 50
getOthers() { }
getAwardsListChiose().then((res) => { this.getSearch()
this.awardsList = res.rows;
});
getmemberTeamList().then((res) => {
this.memberTeamList = res.rows;
});
getvertexValue().then((res) => {
this.vertexList = res.data;
});
getgradeRanglist().then((res) => {
this.gradeRangList = res.data;
});
sta.getYesornoList().then((res) => {
this.yesornoList = res.data;
});
sta.getEnumsUpDown().then(res=>{
this.enumsUpdownList = res.data
})
},
//
handleExport() {
this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定',
cancelButtonText: '取消',
type: "warning",
}).then((_) => {
this.download(
"/report/manager/member-report/export-parent-peg",
{ ...this.queryParams },
`${'推荐正反查'}${new Date().getTime()}.xlsx`
);
});
},
handleSelectionChange(val) {
this.multipleSelection = val;
},
reChongzhi() {
this.queryParams = {
pageNum: 1,
pageSize: 50,
};
this.getSearch();
},
getSearch() {
this.loading = true
sta.getRecommendedCheckList(this.queryParams).then((res) => {
this.tableData = res.rows;
this.total = res.total;
this.loading = false
});
},
getCzNum() {
this.queryParams.pageNum = 1;
},
}, },
}; getSearch() {
</script> this.loading = true
sta.getRecommendedCheckList(this.queryParams).then((res) => {
this.tableData = res.rows
this.total = res.total
this.loading = false
})
},
getCzNum() {
this.queryParams.pageNum = 1
}
}
}
</script>
<style lang="scss" scoped> <style lang="scss" scoped>
::v-deep .el-image-viewer__close { ::v-deep .el-image-viewer__close {