|
@@ -317,9 +317,9 @@
|
|
|
</el-row>
|
|
|
<el-tabs v-model="activeName">
|
|
|
<el-tab-pane label="年销售目标填报明细" name="annualSaleGoalDetails">
|
|
|
- <el-table max-height="300" show-summary sum-text="小计" v-loading="loading" :data="annualSaleGoalDetailsList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table max-height="300" show-summary :summary-method="getSummaries" v-loading="loading" :data="annualSaleGoalDetailsList" @selection-change="handleSelectionChange">
|
|
|
<el-table-column label="序号" type="index" width="70" align="center" fixed />
|
|
|
- <el-table-column label="销售组织" align="center" width="180" :render-header="addRedStar">
|
|
|
+ <el-table-column label="销售组织" align="center" width="180" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="annualSaleGoalDetailsList[scope.$index].saleOrg" title="销售组织" valueKey="name"
|
|
|
referName="ORG_PARAM"
|
|
@@ -328,7 +328,7 @@
|
|
|
</el-popover-select-v2>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="销售区域" align="center" width="180" :render-header="addRedStar">
|
|
|
+ <el-table-column label="销售区域" align="center" width="180" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="annualSaleGoalDetailsList[scope.$index].saleZone" title="销售区域" valueKey="name"
|
|
|
referName="MK_SALESAREA_PARAM"
|
|
@@ -337,7 +337,7 @@
|
|
|
</el-popover-select-v2>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="客户" align="center" width="180" :render-header="addRedStar">
|
|
|
+ <el-table-column label="客户" align="center" width="180" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="annualSaleGoalDetailsList[scope.$index].custom" title="客户" valueKey="name"
|
|
|
referName="CUSTOMER_PARAM"
|
|
@@ -346,7 +346,7 @@
|
|
|
</el-popover-select-v2>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="负责人" align="center" width="180" :render-header="addRedStar">
|
|
|
+ <el-table-column label="负责人" align="center" width="180" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="annualSaleGoalDetailsList[scope.$index].creator" title="负责人" valueKey="name"
|
|
|
referName="CONTACTS_PARAM"
|
|
@@ -355,17 +355,17 @@
|
|
|
</el-popover-select-v2>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="一级分类" align="center" width="180" :render-header="addRedStar">
|
|
|
+ <el-table-column label="一级分类" align="center" width="180" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-input v-model="annualSaleGoalDetailsList[scope.$index].oneLevelClassify" placeholder="请输入一级分类" disabled></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="二级分类" align="center" width="180" :render-header="addRedStar">
|
|
|
+ <el-table-column label="二级分类" align="center" width="180" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-input v-model="annualSaleGoalDetailsList[scope.$index].twoLevelClassify" placeholder="请输入二级分类" disabled></el-input>
|
|
|
</template>
|
|
|
</el-table-column>
|
|
|
- <el-table-column label="物料" align="center" width="220" :render-header="addRedStar">
|
|
|
+ <el-table-column label="物料" align="center" width="220" :render-header="(h, obj) => addRedStar(h, obj, '0')">
|
|
|
<template slot-scope="scope">
|
|
|
<el-popover-select-v2 v-model="annualSaleGoalDetailsList[scope.$index].material" title="物料" valueKey="name"
|
|
|
referName="MATERIAL_PARAM"
|
|
@@ -546,12 +546,12 @@ import {
|
|
|
addAnnualSaleGoal,
|
|
|
updateAnnualSaleGoal
|
|
|
} from "@/api/business/spd/goal_management/annualSaleGoal";
|
|
|
-
|
|
|
import {
|
|
|
delAnnualSaleGoalDetails,
|
|
|
getAnnualSaleGoalDetails
|
|
|
} from "@/api/business/spd/goal_management/annualSaleGoalDetails"
|
|
|
import { getToken } from "@/utils/auth";
|
|
|
+import { getSummary } from "@/api/business/spd/goal_management/commonWays";
|
|
|
|
|
|
// 树形参照
|
|
|
import TreeRefers from '@/components/Refers/treeRefer.vue'
|
|
@@ -828,7 +828,7 @@ export default {
|
|
|
twoLevelClassify: null,
|
|
|
materialCode: null,
|
|
|
material: null,
|
|
|
- totalGoal: 0,
|
|
|
+ totalGoal: '0.00',
|
|
|
januaryGoal: null,
|
|
|
februaryGoal: null,
|
|
|
marchGoal: null,
|
|
@@ -851,6 +851,7 @@ export default {
|
|
|
const id = row.id || this.ids
|
|
|
getAnnualSaleGoal(id).then(response => {
|
|
|
this.form = response.data;
|
|
|
+ this.saveFormTwoPoint(this.form)
|
|
|
this.annualSaleGoalDetailsList = this.form.annualGoalMergeDetails
|
|
|
this.open = true;
|
|
|
this.title = "修改--年度销售目标";
|
|
@@ -860,11 +861,13 @@ export default {
|
|
|
handleCopy(id) {
|
|
|
this.reset();
|
|
|
getAnnualSaleGoal(id).then(response => {
|
|
|
+ console.log(response);
|
|
|
this.form = response.data;
|
|
|
this.form.id = null
|
|
|
this.form.code = null
|
|
|
this.form.documentDate = new Date().getFullYear().toString() + '-' + (new Date().getMonth() + 1).toString().padStart(2, '0') + '-' + new Date().getDate().toString().padStart(2, '0')
|
|
|
this.form.annual = new Date().getFullYear().toString()
|
|
|
+ this.saveFormTwoPoint(this.form)
|
|
|
this.annualSaleGoalDetailsList = JSON.parse(JSON.stringify(this.form.annualGoalMergeDetails))
|
|
|
for (const element of this.annualSaleGoalDetailsList) {
|
|
|
element.id = null
|
|
@@ -875,6 +878,13 @@ export default {
|
|
|
console.log(this.form);
|
|
|
})
|
|
|
},
|
|
|
+ // 进入修改复制界面保留两位小数
|
|
|
+ saveFormTwoPoint(form) {
|
|
|
+ form.goalTotal = form.goalTotal.toFixed(2)
|
|
|
+ for (const element of form.annualGoalMergeDetails) {
|
|
|
+ element.totalGoal = element.totalGoal.toFixed(2)
|
|
|
+ }
|
|
|
+ },
|
|
|
/** 提交按钮 */
|
|
|
submitForm() {
|
|
|
if (!this.justiceDetailsList()) {
|
|
@@ -892,6 +902,7 @@ export default {
|
|
|
} else {
|
|
|
this.form.documentStatus = '未提交'
|
|
|
this.form.annualGoalMergeDetails = JSON.parse(JSON.stringify(this.annualSaleGoalDetailsList))
|
|
|
+ console.log(this.form);
|
|
|
addAnnualSaleGoal(this.form).then(response => {
|
|
|
this.$modal.msgSuccess("新增成功");
|
|
|
this.open = false;
|
|
@@ -990,7 +1001,7 @@ export default {
|
|
|
for (const element of array) {
|
|
|
sum = (sum * 1000000 + element * 1000000) / 1000000
|
|
|
}
|
|
|
- this.annualSaleGoalDetailsList[index].totalGoal = sum
|
|
|
+ this.annualSaleGoalDetailsList[index].totalGoal = sum.toFixed(2)
|
|
|
this.computeTotal()
|
|
|
},
|
|
|
// 计算主表合计
|
|
@@ -1000,14 +1011,24 @@ export default {
|
|
|
for (const listElement of list) {
|
|
|
sum = (sum * 1000000 + listElement.totalGoal * 1000000) / 1000000
|
|
|
}
|
|
|
- this.form.goalTotal = sum
|
|
|
+ this.form.goalTotal = sum.toFixed(2)
|
|
|
+ },
|
|
|
+ getSummaries(param) {
|
|
|
+ return getSummary(param)
|
|
|
},
|
|
|
// 给table添加必填项
|
|
|
- addRedStar(h, { column }) {
|
|
|
- return [
|
|
|
- h('span', { style: 'color: #F56C6C' }, '*'),
|
|
|
- h('span', '' + column.label)
|
|
|
- ]
|
|
|
+ addRedStar(h, { column }, required) {
|
|
|
+ if (required === '0') {
|
|
|
+ return [
|
|
|
+ h('span', { style: 'color: #F56C6C' }, '*'),
|
|
|
+ h('span', '' + column.label)
|
|
|
+ ]
|
|
|
+ } else {
|
|
|
+ return [
|
|
|
+ // h('span', { style: 'color: #F56C6C' }, '*'),
|
|
|
+ h('span', '' + column.label)
|
|
|
+ ]
|
|
|
+ }
|
|
|
},
|
|
|
// 判断子表的字段是否都填了
|
|
|
justiceDetailsList() {
|