|
@@ -242,8 +242,11 @@
|
|
|
<el-col :span="1.5">
|
|
|
<el-button type="primary" plain icon="el-icon-folder-opened" size="mini" @click="clickMerge">合 并</el-button>
|
|
|
</el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" plain icon="el-icon-folder-opened" size="mini" @click="getNewTwoArray">编程题</el-button>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
- <el-tabs v-model="activeName" @tab-click="handleClick">
|
|
|
+ <el-tabs v-model="activeName" @tab-click="getNewTwoArray">
|
|
|
<el-tab-pane label="年销售目标合并明细" name="annualSaleGoalMergeDetails">
|
|
|
<el-table v-loading="loading" :data="annualSaleGoalMergeDetailsList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column type="selection" width="55" align="center" fixed />
|
|
@@ -386,7 +389,7 @@
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="区域目标汇总(年)" name="zoneGoalSum(year)">
|
|
|
<el-table v-loading="loading" :data="areaDetailList">
|
|
|
- <el-table-column type="index" width="55" align="center" fixed />
|
|
|
+ <el-table-column label="序号" type="index" width="55" align="center" fixed />
|
|
|
<el-table-column label="销售组织" align="center" prop="saleOrg" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="areaDetailList[scope.$index].saleOrg" title="销售组织" valueKey="name"
|
|
@@ -483,7 +486,7 @@
|
|
|
</el-tab-pane>
|
|
|
<el-tab-pane label="客户目标汇总(年)" name="customerGoalSum(year)">
|
|
|
<el-table v-loading="loading" :data="customerDetailList">
|
|
|
- <el-table-column type="index" width="55" align="center" fixed />
|
|
|
+ <el-table-column label="序号" type="index" width="55" align="center" fixed />
|
|
|
<el-table-column label="销售组织" align="center" prop="saleOrg" width="180">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="customerDetailList[scope.$index].saleOrg" title="销售组织" valueKey="name"
|
|
@@ -600,6 +603,7 @@ import {
|
|
|
delAnnualSaleMergeDetails,
|
|
|
getAnnualSaleMergeDetails
|
|
|
} from "@/api/business/spd/goal_management/annualSaleMergeDetails"
|
|
|
+import deepCopy from "@gby/deep-copy";
|
|
|
|
|
|
// 树形参照
|
|
|
import TreeRefers from '@/components/Refers/treeRefer.vue'
|
|
@@ -804,6 +808,7 @@ export default {
|
|
|
this.annualSaleGoalMergeDetailsList = []
|
|
|
this.areaDetailList = []
|
|
|
this.customerDetailList = []
|
|
|
+ this.activeName = 'annualSaleGoalMergeDetails'
|
|
|
this.open = true;
|
|
|
this.title = "添加年度销售目标明细";
|
|
|
},
|
|
@@ -843,6 +848,9 @@ export default {
|
|
|
handleUpdate(row) {
|
|
|
this.reset();
|
|
|
const id = row.id || this.ids
|
|
|
+ this.activeName = 'annualSaleGoalMergeDetails'
|
|
|
+ this.areaDetailList = []
|
|
|
+ this.customerDetailList = []
|
|
|
getAnnualSaleGoalMerge(id).then(response => {
|
|
|
console.log(response);
|
|
|
this.form = response.data;
|
|
@@ -1022,10 +1030,6 @@ export default {
|
|
|
})
|
|
|
.catch(_ => {});
|
|
|
},
|
|
|
- // 标签转换
|
|
|
- handleClick(tab, event) {
|
|
|
- console.log(tab, event);
|
|
|
- },
|
|
|
// 复制明细
|
|
|
handleCopyDetails(row) {
|
|
|
let list = {
|
|
@@ -1072,12 +1076,18 @@ export default {
|
|
|
let list = this.annualSaleGoalMergeDetailsList
|
|
|
let sum = 0
|
|
|
for (const listElement of list) {
|
|
|
+ if (listElement.totalGoal === null) {
|
|
|
+ listElement.totalGoal = 0
|
|
|
+ }
|
|
|
sum = (sum * 1000000 + listElement.totalGoal * 1000000) / 1000000
|
|
|
}
|
|
|
this.form.goalTotal = sum
|
|
|
},
|
|
|
// 合并数据
|
|
|
clickMerge() {
|
|
|
+ if (this.activeName !== 'annualSaleGoalMergeDetails') {
|
|
|
+ return this.$message.error('当前标签不是年销售目标合并明细')
|
|
|
+ }
|
|
|
let classify = this.form.goalCategory
|
|
|
let classifyValue;
|
|
|
if (classify === null || classify === '') {
|
|
@@ -1111,6 +1121,35 @@ export default {
|
|
|
}
|
|
|
this.computeTotal()
|
|
|
})
|
|
|
+ },
|
|
|
+ // 获得区域目标汇总or客户目标汇总
|
|
|
+ getNewTwoArray() {
|
|
|
+ let activeName = this.activeName
|
|
|
+ let array = deepCopy(this.annualSaleGoalMergeDetailsList)
|
|
|
+ console.log(this.annualSaleGoalMergeDetailsList);
|
|
|
+ if (activeName === 'annualSaleGoalMergeDetails') {
|
|
|
+ console.log('annualSaleGoalMergeDetails')
|
|
|
+ } else if (activeName === 'zoneGoalSum(year)') {
|
|
|
+ for (let i = 0; i < array.length; i++) {
|
|
|
+ for (let j = 0; j < array.length; j++) {
|
|
|
+ if (i !== j && array[i].saleOrg === array[j].saleOrg && array[i].saleZone === array[j].saleZone && array[i].creator === array[j].creator) {
|
|
|
+ array[i].totalGoal += array[j].totalGoal
|
|
|
+ array.splice(j, 1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.areaDetailList = array
|
|
|
+ } else if (activeName === 'customerGoalSum(year)') {
|
|
|
+ for (let i = 0; i < array.length; i++) {
|
|
|
+ for (let j = 0; j < array.length; j++) {
|
|
|
+ if (i !== j && array[i].saleOrg === array[j].saleOrg && array[i].saleZone === array[j].saleZone && array[i].custom === array[j].custom) {
|
|
|
+ array[i].totalGoal += array[j].totalGoal
|
|
|
+ array.splice(j, 1)
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
+ this.customerDetailList = array
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|