feat(underDirect): 安置伞下添加系统编号快速筛条件

This commit is contained in:
woody 2025-05-20 14:05:53 +08:00
parent f47fb2d019
commit bc0b62e7f5
5 changed files with 480 additions and 408 deletions

View File

@ -1,5 +1,5 @@
<template> <template>
<el-form-item label="顶点会员"> <el-form-item label="系统编号">
<el-select <el-select
v-model="pkVertex" v-model="pkVertex"
clearable clearable

View File

@ -6,110 +6,147 @@
--> -->
<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">
<div class="form_all"> <div class="form_all">
<el-form ref="select" <el-form
ref="select"
:model="select" :model="select"
label-width="auto"> label-width="auto"
>
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="topMemberHandleChange" />
</el-col>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'会员编号'"> <el-form-item :label="'会员编号'">
<el-input clearable <el-input
v-model="select.memberCode"></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 <el-input
v-model="select.memberName"></el-input> v-model="select.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
prop="orderType"> :label="'订单类型'"
<el-select clearable prop="orderType"
>
<el-select
v-model="select.orderType" v-model="select.orderType"
:placeholder="'请选择'"> clearable
<el-option v-for="(item, index) in orderTypeList" :placeholder="'请选择'"
>
<el-option
v-for="(item, index) in orderTypeList"
:key="index" :key="index"
:label="item.label" :label="item.label"
:value="item.value"></el-option> :value="item.value"
/>
</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 clearable <el-select
v-model="select.pkAwards"
clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="select.pkAwards"> >
<el-option v-for="item in awardsList" <el-option
v-for="item in awardsList"
:key="item.pkId" :key="item.pkId"
:label="item.awardsName" :label="item.awardsName"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</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 clearable <el-select
v-model="select.pkVertex"
clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="select.pkVertex"> >
<el-option v-for="item in vertexList" <el-option
v-for="item in vertexList"
:key="item.pkId" :key="item.pkId"
:label="item.vertexName" :label="item.vertexName"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</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 clearable <el-select
v-model="select.pkTeamCode"
clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="select.pkTeamCode"> >
<el-option v-for="item in teamList" <el-option
v-for="item in teamList"
:key="item.pkId" :key="item.pkId"
:label="item.teamName" :label="item.teamName"
:value="item.pkId"></el-option> :value="item.pkId"
/>
</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 v-model="select.pkCountry" <el-select
v-model="select.pkCountry"
size="medium" size="medium"
filterable filterable
:placeholder="'请选择'"> :placeholder="'请选择'"
<el-option v-for="item in countryList" >
<el-option
v-for="item in countryList"
:key="item.pkCountry" :key="item.pkCountry"
:label="item.name" :label="item.name"
:value="item.pkCountry"> :value="item.pkCountry"
</el-option> />
</el-select> </el-select>
</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 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
@click="getDataList"> {{ '搜索' }}</el-button> type="primary"
<el-button type="" @click="getDataList"
@click="reset"> {{ '重置' }}</el-button> > {{ '搜索' }}</el-button>
<el-button
type=""
@click="reset"
> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
</el-form> </el-form>
@ -120,73 +157,93 @@
@click="openDig" @click="openDig"
v-hasButtons="['MissionAdd']" v-hasButtons="['MissionAdd']"
class="addBtn">{{'添加'}}</el-button> --> class="addBtn">{{'添加'}}</el-button> -->
<el-button size="small" <el-button
@click="handleExport" size="small"
style="background-color: #ffad41" style="background-color: #ffad41"
class="thebtn1"> {{ '导出' }}</el-button> class="thebtn1"
@click="handleExport"
> {{ '导出' }}</el-button>
</div> </div>
</div> </div>
<div class="maintable"> <div class="maintable">
<el-table :data="tableData" <el-table
v-loading="loading" v-loading="loading"
:data="tableData"
style="width: 100%" style="width: 100%"
height="700px" height="700px"
: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="55"> </el-table-column> <el-table-column
<el-table-column align="center" type="selection"
width="55"
/>
<el-table-column
align="center"
prop="picture" prop="picture"
label="国旗"> label="国旗"
>
<template slot-scope="scope"> <template slot-scope="scope">
<div class="tem"> <div class="tem">
<img :src="scope.row.nationalFlag1" <img
alt=""> :src="scope.row.nationalFlag1"
alt=""
>
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column align="center" <el-table-column
align="center"
prop="shortName" prop="shortName"
:label="'国家'"> :label="'国家'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="memberCode" prop="memberCode"
:label="'会员编号'"> :label="'会员编号'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="memberName" prop="memberName"
:label="'会员姓名'"> :label="'会员姓名'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="phone" prop="phone"
:label="'联系方式'"> :label="'联系方式'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="orderTypeVal" prop="orderTypeVal"
:label="'订单类型'"> :label="'订单类型'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="awardsName" prop="awardsName"
:label="'真实奖衔'"> :label="'真实奖衔'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="vertexName" prop="vertexName"
:label="'隶属体系'"> :label="'隶属体系'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="pkTeamCode" prop="pkTeamCode"
:label="'隶属团队'"> :label="'隶属团队'"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="orderAmount" prop="orderAmount"
label="新增金额(¥)"> label="新增金额(¥)"
</el-table-column> />
<el-table-column align="center" <el-table-column
align="center"
prop="orderAchieve" prop="orderAchieve"
:label="'新增业绩'+'(PV)'"> :label="'新增业绩'+'(PV)'"
</el-table-column> />
<!-- <el-table-column align="center" <!-- <el-table-column align="center"
prop="payTime" prop="payTime"
label="订单日期"> label="订单日期">
@ -194,11 +251,13 @@
</el-table> </el-table>
</div> </div>
</div> </div>
<pagination v-show="total>0" <pagination
v-show="total>0"
:total="total" :total="total"
:page.sync="queryParams.pageNum" :page.sync="queryParams.pageNum"
:limit.sync="queryParams.pageSize" :limit.sync="queryParams.pageSize"
@pagination="getDataList" /> @pagination="getDataList"
/>
</div> </div>
</template> </template>
@ -210,37 +269,39 @@ import * as log from '@/api/logistics'
import { getAwardsListChiose } from '@/api/level' import { getAwardsListChiose } from '@/api/level'
import { getvertexValue } from '@/api/financialCase' import { getvertexValue } from '@/api/financialCase'
import { userCountryList } from '@/api/site.js' import { userCountryList } from '@/api/site.js'
import TopMemberSelect from '@/components/top-member-select'
export default { export default {
name: 'Bzpz', name: 'Bzpz',
components: { components: {
topBar, topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
creationTime: [], creationTime: [],
select: { select: {
orderType:1 orderType: 1
}, },
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}, },
total: 0, total: 0,
tableData: [], tableData: [],
loading:false, loading: false,
awardsList: [], awardsList: [],
vertexList: [], vertexList: [],
teamList: [], teamList: [],
countryList: [], countryList: [],
orderTypeList:[], orderTypeList: [],
moren: 'underDirectAdd', moren: 'underDirectAdd',
topList: [ topList: [
{ {
name: '伞下直推新增业绩', name: '伞下直推新增业绩',
path: 'underDirectAdd', path: 'underDirectAdd'
}, }
], ]
} }
}, },
mounted() { mounted() {
@ -255,26 +316,32 @@ export default {
// this.getEYesNoList() // this.getEYesNoList()
}, },
methods: { methods: {
topMemberHandleChange(val) {
if (val) {
this.select.memberCode = val
this.getDataList()
}
},
getStartTime() { getStartTime() {
const date = new Date(); const date = new Date()
date.setDate(1); // date.setDate(1) //
const year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day; return year + '-' + month + '-' + day
}, },
getEndTime() { getEndTime() {
let date = new Date(); const date = new Date()
let year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day + " "; return year + '-' + month + '-' + day + ' '
}, },
// //
getData() { getData() {
getAwardsListChiose().then((res) => { getAwardsListChiose().then((res) => {
this.awardsList = res.rows this.awardsList = res.rows
@ -293,27 +360,28 @@ export default {
}) })
}, },
getStartTime() { getStartTime() {
const date = new Date(); const date = new Date()
date.setDate(1); // date.setDate(1) //
const year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day; return year + '-' + month + '-' + day
}, },
getEndTime() { getEndTime() {
let date = new Date(); const date = new Date()
let year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1; // 0-11+1 let month = date.getDate() === 1 ? date.getMonth() : date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day + " "; return year + '-' + month + '-' + day + ' '
}, },
reset() { reset() {
this.$refs.topMemberSelect.reset()
this.select = { this.select = {
orderType:1 orderType: 1
} }
this.creationTime = [] this.creationTime = []
this.getDataList() this.getDataList()
@ -338,7 +406,7 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: 'warning', type: 'warning'
}).then((_) => { }).then((_) => {
this.download( this.download(
'report/manager/member-report/export-direct-push-new', 'report/manager/member-report/export-direct-push-new',
@ -354,8 +422,8 @@ export default {
return 'success-row' return 'success-row'
} }
return '' return ''
}, }
}, }
} }
</script> </script>
<style scoped lang="scss"> <style scoped lang="scss">

View File

@ -2,28 +2,31 @@
<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">
<div class="form_all"> <div class="form_all">
<el-form ref="select" :model="select" label-width="auto"> <el-form ref="select" :model="select" label-width="auto">
<el-row :gutter="10"> <el-row :gutter="10">
<el-col :span="4">
<TopMemberSelect ref="topMemberSelect" @change="topMemberHandleChange" />
</el-col>
<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="4"> <el-col :span="4">
<el-form-item :label="'订单类型'" prop="orderType"> <el-form-item :label="'订单类型'" prop="orderType">
<el-select <el-select
clearable
v-model="select.orderType" v-model="select.orderType"
clearable
:placeholder="'请选择'" :placeholder="'请选择'"
> >
<el-option <el-option
@ -31,23 +34,23 @@
:key="index" :key="index"
: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>
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'真实奖衔'"> <el-form-item :label="'真实奖衔'">
<el-select <el-select
v-model="select.pkAwards"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="select.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>
@ -55,32 +58,32 @@
<el-col :span="4"> <el-col :span="4">
<el-form-item :label="'隶属体系'"> <el-form-item :label="'隶属体系'">
<el-select <el-select
v-model="select.pkVertex"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="select.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="'隶属团队'"> <el-form-item :label="'隶属团队'">
<el-select <el-select
v-model="select.pkTeamCode"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="select.pkTeamCode"
> >
<el-option <el-option
v-for="item in teamList" v-for="item in teamList"
: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>
@ -97,8 +100,7 @@
:key="item.pkCountry" :key="item.pkCountry"
:label="item.name" :label="item.name"
:value="item.pkCountry" :value="item.pkCountry"
> />
</el-option>
</el-select> </el-select>
</el-form-item> </el-form-item>
</el-col> </el-col>
@ -106,20 +108,18 @@
<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"> <el-col :span="4">
<el-button type="primary" @click="getDataList"> <el-button type="primary" @click="getDataList">
{{ '搜索' }}</el-button {{ '搜索' }}</el-button>
>
<el-button type="" @click="reset"> {{ '重置' }}</el-button> <el-button type="" @click="reset"> {{ '重置' }}</el-button>
</el-col> </el-col>
</el-row> </el-row>
@ -133,29 +133,28 @@
class="addBtn">{{'添加'}}</el-button> --> class="addBtn">{{'添加'}}</el-button> -->
<el-button <el-button
size="small" size="small"
@click="handleExport"
style="background-color: #ffad41" style="background-color: #ffad41"
class="thebtn1" 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"
style="width: 100%" style="width: 100%"
height="700px" height="700px"
: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="55"> </el-table-column> <el-table-column type="selection" width="55" />
<el-table-column align="center" prop="picture" label="国旗"> <el-table-column align="center" prop="picture" label="国旗">
<template slot-scope="scope"> <template slot-scope="scope">
<div class="tem"> <div class="tem">
<img :src="scope.row.nationalFlag1" alt="" /> <img :src="scope.row.nationalFlag1" alt="">
</div> </div>
</template> </template>
</el-table-column> </el-table-column>
@ -163,59 +162,49 @@
align="center" align="center"
prop="shortName" prop="shortName"
:label="'国家'" :label="'国家'"
> />
</el-table-column>
<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 align="center" prop="phone" :label="'联系方式'" />
<el-table-column align="center" prop="phone" :label="'联系方式'">
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="orderTypeVal" prop="orderTypeVal"
:label="'订单类型'" :label="'订单类型'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="awardsName" prop="awardsName"
: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="pkTeamCode" prop="pkTeamCode"
:label="'隶属团队'" :label="'隶属团队'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="orderAmount" prop="orderAmount"
label="新增金额(¥)" label="新增金额(¥)"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="orderAchieve" prop="orderAchieve"
:label="'新增业绩' + '(PV)'" :label="'新增业绩' + '(PV)'"
> />
</el-table-column>
<!-- <el-table-column align="center" <!-- <el-table-column align="center"
prop="payTime" prop="payTime"
label="订单日期"> label="订单日期">
@ -233,118 +222,126 @@
</div> </div>
</template> </template>
<script> <script>
import topBar from "@/components/topBar"; import topBar from '@/components/topBar'
import * as api from "@/api/business.js"; import * as api from '@/api/business.js'
import * as log from "@/api/logistics"; import * as log from '@/api/logistics'
import TopMemberSelect from '@/components/top-member-select'
import { getAwardsListChiose } from "@/api/level"; import { getAwardsListChiose } from '@/api/level'
import { getvertexValue } from "@/api/financialCase"; import { getvertexValue } from '@/api/financialCase'
import { userCountryList } from "@/api/site.js"; import { userCountryList } from '@/api/site.js'
export default { export default {
name: "UnderDirectAddNew", name: 'UnderDirectAddNew',
components: { components: {
topBar, topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
creationTime: [], creationTime: [],
select: { select: {
orderType: 1, orderType: 1
}, },
// //
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50
}, },
total: 0, total: 0,
tableData: [], tableData: [],
loading:false, loading: false,
awardsList: [], awardsList: [],
vertexList: [], vertexList: [],
teamList: [], teamList: [],
countryList: [], countryList: [],
orderTypeList: [], orderTypeList: [],
moren: "underDirectAddNew", moren: 'underDirectAddNew',
topList: [ topList: [
{ {
name: "伞下直推新增业绩(新)", name: '伞下直推新增业绩(新)',
path: "underDirectAddNew", path: 'underDirectAddNew'
}, }
], ],
monthFirstday: "", monthFirstday: '',
monthLastday: "", monthLastday: ''
}; }
}, },
mounted() { mounted() {
var s1 = this.getStartTime(); var s1 = this.getStartTime()
var s2 = this.getEndTime(); var s2 = this.getEndTime()
this.select.startPayTime = s1; this.select.startPayTime = s1
this.select.endPayTime = s2; this.select.endPayTime = s2
this.creationTime = [s1, s2]; this.creationTime = [s1, s2]
// //
this.getDataList(); this.getDataList()
this.getData(); this.getData()
}, },
methods: { methods: {
topMemberHandleChange(val) {
if (val) {
this.select.memberCode = val
this.getDataList()
}
},
getStartTime() { getStartTime() {
const date = new Date(); const date = new Date()
date.setDate(1); // date.setDate(1) //
const year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day; return year + '-' + month + '-' + day
}, },
getEndTime() { getEndTime() {
let date = new Date(); const date = new Date()
let year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day + " "; return year + '-' + month + '-' + day + ' '
}, },
// //
getData() { getData() {
getAwardsListChiose().then((res) => { getAwardsListChiose().then((res) => {
this.awardsList = res.rows; this.awardsList = res.rows
}); })
getvertexValue().then((res) => { getvertexValue().then((res) => {
this.vertexList = res.data; this.vertexList = res.data
}); })
api.teamList().then((res) => { api.teamList().then((res) => {
this.teamList = res.data; this.teamList = res.data
}); })
userCountryList().then((res) => { userCountryList().then((res) => {
this.countryList = res.data; this.countryList = res.data
}); })
log.getUnderAddOrderTypeNew().then((res) => { log.getUnderAddOrderTypeNew().then((res) => {
this.orderTypeList = res.data; this.orderTypeList = res.data
}); })
}, },
reset() { reset() {
this.$refs.topMemberSelect.reset()
this.select = { this.select = {
orderType: 1, orderType: 1
}; }
this.creationTime = []; this.creationTime = []
this.getDataList(); this.getDataList()
}, },
changeTime(val) { changeTime(val) {
this.select.startPayTime = val ? val[0] : ""; this.select.startPayTime = val ? val[0] : ''
this.select.endPayTime = val ? val[1] : ""; this.select.endPayTime = val ? val[1] : ''
}, },
getDataList() { getDataList() {
this.loading = true this.loading = true
api api
.directAddNewList(Object.assign({}, this.queryParams, this.select)) .directAddNewList(Object.assign({}, this.queryParams, this.select))
.then((res) => { .then((res) => {
this.tableData = res.rows; this.tableData = res.rows
this.total = res.total; this.total = res.total
this.loading = false this.loading = false
}); })
}, },
handleSelectionChange(val) {}, handleSelectionChange(val) {},
/** 导出按钮操作 */ /** 导出按钮操作 */
@ -352,25 +349,25 @@ export default {
this.$confirm('是否确认导出所有数据项?', '警告', { this.$confirm('是否确认导出所有数据项?', '警告', {
confirmButtonText: '确定', confirmButtonText: '确定',
cancelButtonText: '取消', cancelButtonText: '取消',
type: "warning", type: 'warning'
}).then((_) => { }).then((_) => {
this.download( this.download(
"/report/manager/member-report/export-direct-push-new-up", '/report/manager/member-report/export-direct-push-new-up',
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 {
@ -463,4 +460,3 @@ export default {
width: 100%; width: 100%;
} }
</style> </style>

View File

@ -2,36 +2,42 @@
<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">
<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 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="orderType"> <el-form-item :label="'订单类型'" prop="orderType">
<el-select <el-select
v-model="queryParams.orderType"
clearable clearable
:placeholder="'请选择'" :placeholder="'请选择'"
v-model="queryParams.orderType"
> >
<el-option <el-option
v-for="item in orderTypeList" v-for="item in orderTypeList"
: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>
@ -39,48 +45,48 @@
<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>
@ -104,15 +110,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">
@ -126,11 +131,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>
@ -140,21 +143,19 @@
<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"
@ -166,7 +167,7 @@
style="width: 44px; height: 44px; border-radius: 50%" style="width: 44px; height: 44px; border-radius: 50%"
:src="scope.row.nationalFlag" :src="scope.row.nationalFlag"
alt="" alt=""
/> >
</template> </template>
</el-table-column> </el-table-column>
@ -175,74 +176,63 @@
prop="shortName" prop="shortName"
:label="'国家'" :label="'国家'"
min-width="120px" 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="awardsName" prop="awardsName"
: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="teamCodeName" prop="teamCodeName"
:label="'隶属团队'" :label="'隶属团队'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="leftNewAddAmount" prop="leftNewAddAmount"
:label="'左区新增金额'" :label="'左区新增金额'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="rightNewAddAmount" prop="rightNewAddAmount"
:label="'右区新增金额'" :label="'右区新增金额'"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="leftNewAddAchieve" prop="leftNewAddAchieve"
min-width="100px" min-width="100px"
:label="'左区新增业绩' + `(PV)`" :label="'左区新增业绩' + `(PV)`"
> />
</el-table-column>
<el-table-column <el-table-column
align="center" align="center"
prop="rightNewAddAchieve" prop="rightNewAddAchieve"
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"
@ -263,34 +253,36 @@
</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 * as log from "@/api/logistics"; import * as log from '@/api/logistics'
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'
import TopMemberSelect from '@/components/top-member-select/index.vue'
export default { export default {
name: "UnderPlacementPer", name: 'UnderPlacementPer',
components: { components: {
topBar, topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
moren: "underPlacementPer", moren: 'underPlacementPer',
topList: [ topList: [
{ {
name: '伞下新增安置业绩', name: '伞下新增安置业绩',
path: "underPlacementPer", path: 'underPlacementPer'
}, }
], ],
tableData: [], tableData: [],
loading:false, loading: false,
queryParams: { queryParams: {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,
thetimes: [], thetimes: []
}, },
total: 0, total: 0,
multipleSelection: [], multipleSelection: [],
@ -298,103 +290,109 @@ export default {
memberTeamList: [], memberTeamList: [],
vertexList: [], vertexList: [],
countryList: [], countryList: [],
orderTypeList: [], orderTypeList: []
}; }
}, },
created() { created() {
this.getSearch(); this.getSearch()
this.getOthers(); this.getOthers()
var s1 = this.getStartTime(); var s1 = this.getStartTime()
var s2 = this.getEndTime(); var s2 = this.getEndTime()
this.queryParams.startPayTime = s1; this.queryParams.startPayTime = s1
this.queryParams.endPayTime = s2; this.queryParams.endPayTime = s2
this.queryParams.thetimes = [s1, s2]; this.queryParams.thetimes = [s1, s2]
}, },
methods: { methods: {
isLocalSymbol, isLocalSymbol,
isLocals, isLocals,
topMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
getStartTime() { getStartTime() {
const date = new Date(); const date = new Date()
date.setDate(1); // date.setDate(1) //
const year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day; return year + '-' + month + '-' + day
}, },
getEndTime() { getEndTime() {
let date = new Date(); const date = new Date()
let year = date.getFullYear(); // const year = date.getFullYear() //
let month = date.getMonth() + 1; // 0-11+1 let month = date.getMonth() + 1 // 0-11+1
month = month >= 10 ? month : "0" + month; // month = month >= 10 ? month : '0' + month //
let day = date.getDate(); // setDate(1) let day = date.getDate() // setDate(1)
day = day >= 10 ? day : "0" + day; // day = day >= 10 ? day : '0' + day //
return year + "-" + month + "-" + day + " "; return year + '-' + month + '-' + day + ' '
}, },
changeTime(val) { changeTime(val) {
this.queryParams.startPayTime = val[0]; this.queryParams.startPayTime = val[0]
this.queryParams.endPayTime = val[1]; this.queryParams.endPayTime = 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
}); })
// //
log.getUnderAddOrderType().then((res) => { log.getUnderAddOrderType().then((res) => {
this.orderTypeList = res.data; this.orderTypeList = 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-report/member-resettle-achieve-export", '/report/manager/member-report/member-resettle-achieve-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.$refs.topMemberSelect.reset()
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.getResettleAchieve(this.queryParams).then((res) => { sta.getResettleAchieve(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>
@ -469,4 +467,3 @@ export default {
} }
} }
</style> </style>

View File

@ -8,6 +8,9 @@
<div class="thetopbox"> <div class="thetopbox">
<el-form label-width="100px"> <el-form 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 v-model="queryParams.memberCode" clearable /> <el-input v-model="queryParams.memberCode" clearable />
@ -255,11 +258,12 @@ 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'
import TopMemberSelect from '@/components/top-member-select/index.vue'
export default { export default {
name: 'UnderPlacementPerNew', name: 'UnderPlacementPerNew',
components: { components: {
topBar topBar,
TopMemberSelect
}, },
data() { data() {
return { return {
@ -298,6 +302,12 @@ export default {
methods: { methods: {
isLocalSymbol, isLocalSymbol,
isLocals, isLocals,
topMemberHandleChange(val) {
if (val) {
this.queryParams.memberCode = val
this.getSearch()
}
},
getStartTime() { getStartTime() {
const date = new Date() const date = new Date()
date.setDate(1) // date.setDate(1) //
@ -357,6 +367,7 @@ export default {
this.multipleSelection = val this.multipleSelection = val
}, },
reChongzhi() { reChongzhi() {
this.$refs.topMemberSelect.reset()
this.queryParams = { this.queryParams = {
pageNum: 1, pageNum: 1,
pageSize: 50, pageSize: 50,