|
@@ -2,7 +2,7 @@
|
|
<div class="Marketingamount-box">
|
|
<div class="Marketingamount-box">
|
|
<!-- 详情弹出框 -->
|
|
<!-- 详情弹出框 -->
|
|
<el-dialog title="详情" :visible.sync="particulars">
|
|
<el-dialog title="详情" :visible.sync="particulars">
|
|
- <el-table :data="gridData">
|
|
|
|
|
|
+ <el-table >
|
|
<el-table-column property="date" label="日期" width="150"></el-table-column>
|
|
<el-table-column property="date" label="日期" width="150"></el-table-column>
|
|
<el-table-column property="name" label="姓名" width="200"></el-table-column>
|
|
<el-table-column property="name" label="姓名" width="200"></el-table-column>
|
|
<el-table-column property="address" label="地址"></el-table-column>
|
|
<el-table-column property="address" label="地址"></el-table-column>
|
|
@@ -12,13 +12,43 @@
|
|
<el-dialog title="拜访记录" :visible.sync="visitlog">
|
|
<el-dialog title="拜访记录" :visible.sync="visitlog">
|
|
|
|
|
|
</el-dialog>
|
|
</el-dialog>
|
|
- <el-form ref="form" label-width="75px">
|
|
|
|
- <el-form-item label="人员名称:">
|
|
|
|
- <el-select v-model="DiId" placeholder="请选择团队名称">
|
|
|
|
- <el-option v-for="(item,index) in cTablelist" :key="index" :label="item.teamName" :value="item.id"></el-option>
|
|
|
|
- </el-select>
|
|
|
|
- </el-form-item>
|
|
|
|
- </el-form>
|
|
|
|
|
|
+ <div class="search-head">
|
|
|
|
+ <el-form ref="form" label-width="75px">
|
|
|
|
+ <el-form-item label="公司名称:">
|
|
|
|
+ <el-select filterable v-model="companyname" placeholder="请选择公司名称">
|
|
|
|
+ <el-option v-for="(item,index) in companynamearr" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-form ref="form" label-width="75px">
|
|
|
|
+ <el-form-item label="人员名称:">
|
|
|
|
+ <el-select filterable v-model="personnelname" placeholder="请选择人员名称">
|
|
|
|
+ <el-option v-for="(item,index) in personnelnamearr" :key="index" :label="item.name" :value="item.id"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-form ref="form" label-width="75px">
|
|
|
|
+ <el-form-item label="年:">
|
|
|
|
+ <el-select filterable v-model="years" placeholder="请选择年">
|
|
|
|
+ <el-option v-for="(item,index) in yearsarr" :key="index" :label="item.year" :value="item.year"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-form ref="form" label-width="75px">
|
|
|
|
+ <el-form-item label="季度:">
|
|
|
|
+ <el-select filterable v-model="quarter" placeholder="请选择季度">
|
|
|
|
+ <el-option v-for="(item,index) in quarterarr" :key="index" :label="item.name" :value="item.name"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ <el-form ref="form" label-width="75px">
|
|
|
|
+ <el-form-item label="月:">
|
|
|
|
+ <el-select filterable v-model="month" placeholder="请选择月">
|
|
|
|
+ <el-option v-for="(item,index) in montharr" :key="index" :label="item.name" :value="item.name"></el-option>
|
|
|
|
+ </el-select>
|
|
|
|
+ </el-form-item>
|
|
|
|
+ </el-form>
|
|
|
|
+ </div>
|
|
<div class="Marketingamount-head-ul">
|
|
<div class="Marketingamount-head-ul">
|
|
<div style="background-color: #ff4f4f;" class="Marketingamount-head-li">
|
|
<div style="background-color: #ff4f4f;" class="Marketingamount-head-li">
|
|
<div class="head-li-title">全年销售总金额</div>
|
|
<div class="head-li-title">全年销售总金额</div>
|
|
@@ -211,6 +241,25 @@ export default {
|
|
],
|
|
],
|
|
particulars:false,
|
|
particulars:false,
|
|
visitlog:false,
|
|
visitlog:false,
|
|
|
|
+ userId:'',
|
|
|
|
+ token:'',
|
|
|
|
+ companyname:'',
|
|
|
|
+ companynamearr:[],
|
|
|
|
+ personnelname:'',
|
|
|
|
+ personnelnamearr:[],
|
|
|
|
+ personnelnamearrs:[],
|
|
|
|
+ years:'',
|
|
|
|
+ yearsarr:'',
|
|
|
|
+ quarter:'',
|
|
|
|
+ quarterarr:'',
|
|
|
|
+ month:'',
|
|
|
|
+ montharr:'',
|
|
|
|
+ YbeginDt:'',
|
|
|
|
+ YendDt:'',
|
|
|
|
+ QbeginDt:'',
|
|
|
|
+ QendDt:'',
|
|
|
|
+ MbeginDt:'',
|
|
|
|
+ MendDt:'',
|
|
}
|
|
}
|
|
},
|
|
},
|
|
methods:{
|
|
methods:{
|
|
@@ -230,10 +279,6 @@ export default {
|
|
tooltip: {
|
|
tooltip: {
|
|
trigger: 'item'
|
|
trigger: 'item'
|
|
},
|
|
},
|
|
- // legend: {
|
|
|
|
- // orient: 'vertical',
|
|
|
|
- // left: 'left'
|
|
|
|
- // },
|
|
|
|
series: [
|
|
series: [
|
|
{
|
|
{
|
|
type: 'pie',
|
|
type: 'pie',
|
|
@@ -252,7 +297,7 @@ export default {
|
|
],
|
|
],
|
|
emphasis: {
|
|
emphasis: {
|
|
itemStyle: {
|
|
itemStyle: {
|
|
- shadowBlur: 10,
|
|
|
|
|
|
+ shadowBlur: 11,
|
|
shadowOffsetX: 0,
|
|
shadowOffsetX: 0,
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
shadowColor: 'rgba(0, 0, 0, 0.5)'
|
|
}
|
|
}
|
|
@@ -288,9 +333,240 @@ export default {
|
|
}
|
|
}
|
|
]
|
|
]
|
|
});
|
|
});
|
|
|
|
+ },
|
|
|
|
+ //获取PostMarketingSalesInitData
|
|
|
|
+ PostMarketingSalesInitData() {
|
|
|
|
+ var url = "/api/Statistics/PostMarketingSalesInitData"
|
|
|
|
+ var that = this
|
|
|
|
+ this.$axios({
|
|
|
|
+ method: 'post',
|
|
|
|
+ url: url,
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
|
+ },
|
|
|
|
+ data: {
|
|
|
|
+ portType:1,
|
|
|
|
+ userId: 208,
|
|
|
|
+ pageId:180,
|
|
|
|
+ }
|
|
|
|
+ }).then(function (res) {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+ that.companynamearr=res.data.data.companyData;
|
|
|
|
+ that.companyname=that.companynamearr[0].id;
|
|
|
|
+ that.personnelnamearrs=res.data.data.userData;
|
|
|
|
+ that.yearsarr=res.data.data.dtData;
|
|
|
|
+ that.years=res.data.data.dtData[0].year;
|
|
|
|
+ }else{
|
|
|
|
+ that.$message({
|
|
|
|
+ message:res.data.msg,
|
|
|
|
+ duration:1000,
|
|
|
|
+ type:"error"
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }).catch(function (error) {
|
|
|
|
+ that.$message.error('接口报错请联系信息部!');
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ //获取PostMarketingSalesInitData
|
|
|
|
+ PostMarketingSalesInitData() {
|
|
|
|
+ var url = "/api/Statistics/PostMarketingSalesInitData"
|
|
|
|
+ var that = this
|
|
|
|
+ this.$axios({
|
|
|
|
+ method: 'post',
|
|
|
|
+ url: url,
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
|
+ },
|
|
|
|
+ data: {
|
|
|
|
+ portType:1,
|
|
|
|
+ userId: 208,
|
|
|
|
+ pageId:180,
|
|
|
|
+ }
|
|
|
|
+ }).then(function (res) {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+ that.companynamearr=res.data.data.companyData;
|
|
|
|
+ that.companyname=that.companynamearr[0].id;
|
|
|
|
+ that.personnelnamearrs=res.data.data.userData;
|
|
|
|
+ that.yearsarr=res.data.data.dtData;
|
|
|
|
+ that.years=res.data.data.dtData[0].year;
|
|
|
|
+ }else{
|
|
|
|
+ that.$message({
|
|
|
|
+ message:res.data.msg,
|
|
|
|
+ duration:1000,
|
|
|
|
+ type:"error"
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }).catch(function (error) {
|
|
|
|
+ that.$message.error('接口报错请联系信息部!');
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ //年市场部销售额api
|
|
|
|
+ YPostMarketingSalesStatistic() {
|
|
|
|
+ var url = "/api/Statistics/PostMarketingSalesStatistics"
|
|
|
|
+ var that = this
|
|
|
|
+ this.$axios({
|
|
|
|
+ method: 'post',
|
|
|
|
+ url: url,
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
|
+ },
|
|
|
|
+ data: {
|
|
|
|
+ portType:1,
|
|
|
|
+ userId: this.userId,
|
|
|
|
+ pageId:180,
|
|
|
|
+ companyId:this.companyname,
|
|
|
|
+ groupPickupUserId:that.personnelname,
|
|
|
|
+ beginDt:that.YbeginDt,
|
|
|
|
+ endDt:that.YendDt,
|
|
|
|
+ }
|
|
|
|
+ }).then(function (res) {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ that.$message({
|
|
|
|
+ message:res.data.msg,
|
|
|
|
+ duration:1000,
|
|
|
|
+ type:"error"
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }).catch(function (error) {
|
|
|
|
+ that.$message.error('接口报错请联系信息部!');
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ //季市场部销售额api
|
|
|
|
+ QPostMarketingSalesStatistic() {
|
|
|
|
+ var url = "/api/Statistics/PostMarketingSalesStatistics"
|
|
|
|
+ var that = this
|
|
|
|
+ this.$axios({
|
|
|
|
+ method: 'post',
|
|
|
|
+ url: url,
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
|
+ },
|
|
|
|
+ data: {
|
|
|
|
+ portType:1,
|
|
|
|
+ userId: this.userId,
|
|
|
|
+ pageId:180,
|
|
|
|
+ companyId:this.companyname,
|
|
|
|
+ groupPickupUserId:that.personnelname,
|
|
|
|
+ beginDt:that.QbeginDt,
|
|
|
|
+ endDt:that.QendDt,
|
|
|
|
+ }
|
|
|
|
+ }).then(function (res) {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ that.$message({
|
|
|
|
+ message:res.data.msg,
|
|
|
|
+ duration:1000,
|
|
|
|
+ type:"error"
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }).catch(function (error) {
|
|
|
|
+ that.$message.error('接口报错请联系信息部!');
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ //月市场部销售额api
|
|
|
|
+ MPostMarketingSalesStatistic() {
|
|
|
|
+ var url = "/api/Statistics/PostMarketingSalesStatistics"
|
|
|
|
+ var that = this
|
|
|
|
+ this.$axios({
|
|
|
|
+ method: 'post',
|
|
|
|
+ url: url,
|
|
|
|
+ headers: {
|
|
|
|
+ Authorization: 'Bearer ' + that.token
|
|
|
|
+ },
|
|
|
|
+ data: {
|
|
|
|
+ portType:1,
|
|
|
|
+ userId: this.userId,
|
|
|
|
+ pageId:180,
|
|
|
|
+ companyId:this.companyname,
|
|
|
|
+ groupPickupUserId:that.personnelname,
|
|
|
|
+ beginDt:that.MbeginDt,
|
|
|
|
+ endDt:that.MendDt,
|
|
|
|
+ }
|
|
|
|
+ }).then(function (res) {
|
|
|
|
+ if (res.data.code == 200) {
|
|
|
|
+
|
|
|
|
+ }else{
|
|
|
|
+ that.$message({
|
|
|
|
+ message:res.data.msg,
|
|
|
|
+ duration:1000,
|
|
|
|
+ type:"error"
|
|
|
|
+ });
|
|
|
|
+ }
|
|
|
|
+ }).catch(function (error) {
|
|
|
|
+ that.$message.error('接口报错请联系信息部!');
|
|
|
|
+ });
|
|
|
|
+ },
|
|
|
|
+ },
|
|
|
|
+ watch: {
|
|
|
|
+ companyname:function(val){
|
|
|
|
+ this.personnelnamearr=[];
|
|
|
|
+ this.personnelname='';
|
|
|
|
+ if(val==-1){
|
|
|
|
+ this.personnelnamearr=this.personnelnamearrs;
|
|
|
|
+ this.personnelname=this.personnelnamearr[0].id;
|
|
|
|
+ }else{
|
|
|
|
+ for(let i=0;i<this.personnelnamearrs.length;i++){
|
|
|
|
+ if(val==this.personnelnamearrs[i].companyId){
|
|
|
|
+ this.personnelnamearr.push(this.personnelnamearrs[i]);
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ years:function(val){
|
|
|
|
+ for(let j=0;j<this.yearsarr.length;j++){
|
|
|
|
+ if(this.yearsarr[j].year==val){
|
|
|
|
+ this.quarterarr=this.yearsarr[j].quarterData;
|
|
|
|
+ this.quarter=this.quarterarr[0].name;
|
|
|
|
+ this.montharr=this.yearsarr[j].quarterData[1].monthData;
|
|
|
|
+ this.month=this.montharr[0].name;
|
|
|
|
+ this.YbeginDt=this.yearsarr[j].quarterData[0].beginDt;
|
|
|
|
+ this.YendDt=this.yearsarr[j].quarterData[0].endDt;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ this.YPostMarketingSalesStatistic()
|
|
|
|
+ },
|
|
|
|
+ quarter:function(val){
|
|
|
|
+ this.montharr=[]
|
|
|
|
+ for (let g = 0; g < this.quarterarr.length; g++) {
|
|
|
|
+ if(val==this.quarterarr[g].name){
|
|
|
|
+ if (val=="全部") {
|
|
|
|
+ this.month="全部";
|
|
|
|
+ this.QbeginDt=this.quarterarr[g].beginDt;
|
|
|
|
+ this.QendDt=this.quarterarr[g].endDt;
|
|
|
|
+ this.QPostMarketingSalesStatistic()
|
|
|
|
+ return
|
|
|
|
+ }
|
|
|
|
+ this.QbeginDt=this.quarterarr[g].monthData[0].beginDt;
|
|
|
|
+ this.QendDt=this.quarterarr[g].monthData[0].endDt;
|
|
|
|
+ this.montharr=this.quarterarr[g].monthData;
|
|
|
|
+ this.month=this.montharr[0].name;
|
|
|
|
+ this.QPostMarketingSalesStatistic()
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ },
|
|
|
|
+ month:function(val){
|
|
|
|
+ console.log(this.montharr);
|
|
|
|
+ if (this.montharr!=undefined) {
|
|
|
|
+ for (let h = 0; h < this.montharr.length; h++) {
|
|
|
|
+ if(val==this.montharr[h].name){
|
|
|
|
+ this.MbeginDt=this.montharr[h].beginDt;
|
|
|
|
+ this.MendDt=this.montharr[h].endDt;
|
|
|
|
+ }
|
|
|
|
+ }
|
|
|
|
+ console.log(this.MbeginDt,this.MendDt);
|
|
|
|
+ // this.MPostMarketingSalesStatistic()
|
|
|
|
+ }
|
|
}
|
|
}
|
|
},
|
|
},
|
|
|
|
+ created(){
|
|
|
|
+ this.userId = JSON.parse(localStorage.getItem('userinif')).userInfo.userId;
|
|
|
|
+ this.token = JSON.parse(localStorage.getItem('userinif')).token;
|
|
|
|
+ },
|
|
mounted(){
|
|
mounted(){
|
|
|
|
+ this.PostMarketingSalesInitData()
|
|
this.statisone()
|
|
this.statisone()
|
|
}
|
|
}
|
|
}
|
|
}
|
|
@@ -341,4 +617,13 @@ export default {
|
|
.content-table .block{
|
|
.content-table .block{
|
|
text-align: center;
|
|
text-align: center;
|
|
}
|
|
}
|
|
|
|
+.search-head{
|
|
|
|
+ display: flex;
|
|
|
|
+}
|
|
|
|
+.search-head .el-form{
|
|
|
|
+ width: 300px;
|
|
|
|
+}
|
|
|
|
+.search-head .el-select{
|
|
|
|
+ width: 100%;
|
|
|
|
+}
|
|
</style>
|
|
</style>
|