|
@@ -43,6 +43,21 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
+ <el-form-item label="单据状态" prop="status">
|
|
|
+ <el-select v-model="queryParams.status" clearable>
|
|
|
+ <el-option v-for="dict in dict.type.sys_status" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
+ </el-option>
|
|
|
+ </el-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="制单人" prop="creator">
|
|
|
+ <el-popover-select-v2 v-model="queryParams.creator" title="制单人" valueKey="name" referName="CONTACTS_PARAM"
|
|
|
+ :dataMapping="{ creatorCode: 'code', creator: 'name'}" :source.sync="queryParams" placeholder="请输入负责人">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
<el-form-item label="部门" prop="dept">
|
|
|
<el-popover-select-v2 v-model="queryParams.dept" title="部门" valueKey="name" referName="DEPT_PARAM"
|
|
|
:dataMapping="{ deptId: 'id', dept: 'name'}" :source.sync="queryParams" placeholder="请输入部门"
|
|
@@ -50,6 +65,8 @@
|
|
|
</el-popover-select-v2>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
<el-col :span="6">
|
|
|
<el-form-item label="目标类型" prop="goalCategory">
|
|
|
<el-select v-model="queryParams.goalCategory" placeholder="请输入目标类型">
|
|
@@ -61,43 +78,26 @@
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-form-item label="销售区域" prop="saleZone">
|
|
|
+ <el-form-item v-if="queryParams.goalCategory === '销售区域'" label="销售区域" prop="saleZone">
|
|
|
<el-popover-select-v2 v-model="queryParams.saleZoneCode" title="销售区域" valueKey="name"
|
|
|
referName="MK_SALESAREA_PARAM" :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
|
|
|
:source.sync="queryParams" placeholder="请输入销售区域">
|
|
|
</el-popover-select-v2>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
<el-col :span="6">
|
|
|
- <el-form-item label="制单人" prop="creator">
|
|
|
- <el-popover-select-v2 v-model="queryParams.creator" title="制单人" valueKey="name" referName="CONTACTS_PARAM"
|
|
|
- :dataMapping="{ creatorCode: 'code', creator: 'name'}" :source.sync="queryParams" placeholder="请输入负责人">
|
|
|
- </el-popover-select-v2>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="一级分类" prop="oneLevelClassify">
|
|
|
+ <el-form-item v-if="queryParams.goalCategory === '一级分类'" label="一级分类" prop="oneLevelClassify">
|
|
|
<el-select v-model="queryParams.oneLevelClassify" size="mini" clearable placeholder="请输入一级分类"
|
|
|
@focus="chooseTreeReferForQuery('MATERIALCLASSIFY_PARAM', false, '一级物料分类')" style="width: 200px">
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.code" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
|
<el-col :span="6">
|
|
|
- <el-form-item label="二级分类" prop="twoLevelClassify">
|
|
|
+ <el-form-item v-if="queryParams.goalCategory === '二级分类'" label="二级分类" prop="twoLevelClassify">
|
|
|
<el-select v-model="queryParams.twoLevelClassify" size="mini" clearable placeholder="请输入二级分类"
|
|
|
@focus="chooseTreeReferForQuery('MATERIALCLASSIFY_PARAM', false, '二级物料分类')" style="width: 200px">
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
- </el-select>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="单据状态" prop="status">
|
|
|
- <el-select size="mini" v-model="queryParams.status" clearable>
|
|
|
- <el-option v-for="dict in dict.type.sys_status" :key="dict.value" :label="dict.label" :value="dict.value">
|
|
|
- </el-option>
|
|
|
+ <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.code" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -238,13 +238,13 @@
|
|
|
<el-form-item v-if="form.goalCategory === '一级分类'" label="一级分类" prop="oneLevelClassify">
|
|
|
<el-select v-model="form.oneLevelClassify" clearable
|
|
|
@focus="chooseTreeReferForMain('MATERIALCLASSIFY_PARAM', false, '一级物料分类')" style="width: 200px">
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.code" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item v-if="form.goalCategory === '二级分类'" label="二级分类" prop="twoLevelClassify">
|
|
|
<el-select v-model="form.twoLevelClassify" clearable
|
|
|
@focus="chooseTreeReferForMain('MATERIALCLASSIFY_PARAM', false, '二级物料分类')" style="width: 200px">
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.code" />
|
|
|
</el-select>
|
|
|
</el-form-item>
|
|
|
</el-col>
|
|
@@ -1184,19 +1184,20 @@
|
|
|
this.$refs.treeQuery.init(this.referCondition)
|
|
|
},
|
|
|
selectionsToInputForQuery(selection) {
|
|
|
- this.classOptions.push(selection)
|
|
|
+ this.classOptions = selection;
|
|
|
if (this.referCondition.title === '一级物料分类') {
|
|
|
- if (selection.code.length !== 1) {
|
|
|
- return this.$message.info('请在一级分类下选择')
|
|
|
+ if (this.classOptions[0].code.length > 2) {
|
|
|
+ return this.$message.info('请在一级分类下选择');
|
|
|
}
|
|
|
- this.queryParams.oneLevelClassifyCode = selection.code
|
|
|
- this.queryParams.oneLevelClassify = selection.name
|
|
|
+ this.queryParams.oneLevelClassifyCode = selection[0].code
|
|
|
+ this.queryParams.oneLevelClassify = selection[0].name
|
|
|
} else if (this.referCondition.title === '二级物料分类') {
|
|
|
- if (selection.code.length !== 4) {
|
|
|
+ if (this.classOptions[0].code.lastIndexOf("-") == 3 || this.classOptions[0].code.indexOf("90") == 0) {
|
|
|
+ this.queryParams.twoLevelClassifyCode = selection[0].code
|
|
|
+ this.queryParams.twoLevelClassify = selection[0].name
|
|
|
+ } else {
|
|
|
return this.$message.info('请在二级分类下选择')
|
|
|
}
|
|
|
- this.queryParams.twoLevelClassifyCode = selection.code
|
|
|
- this.queryParams.twoLevelClassify = selection.name
|
|
|
}
|
|
|
},
|
|
|
chooseTreeReferForMain(type, isPage, title) {
|
|
@@ -1206,19 +1207,20 @@
|
|
|
this.$refs.treeMain.init(this.referCondition)
|
|
|
},
|
|
|
selectionsToInputForMain(selection) {
|
|
|
- this.classOptions.push(selection)
|
|
|
+ this.classOptions = selection;
|
|
|
if (this.referCondition.title === '一级物料分类') {
|
|
|
- if (selection.code.length !== 1) {
|
|
|
- return this.$message.info('请在一级分类下选择')
|
|
|
+ if (this.classOptions[0].code.length > 2) {
|
|
|
+ return this.$message.info('请在一级分类下选择');
|
|
|
}
|
|
|
- this.form.oneLevelClassifyCode = selection.code
|
|
|
- this.form.oneLevelClassify = selection.name
|
|
|
+ this.form.oneLevelClassifyCode = selection[0].code
|
|
|
+ this.form.oneLevelClassify = selection[0].name
|
|
|
} else if (this.referCondition.title === '二级物料分类') {
|
|
|
- if (selection.code.length !== 4) {
|
|
|
+ if (this.classOptions[0].code.lastIndexOf("-") == 3 || this.classOptions[0].code.indexOf("90") == 0) {
|
|
|
+ this.form.twoLevelClassifyCode = selection[0].code
|
|
|
+ this.form.twoLevelClassify = selection[0].name
|
|
|
+ } else {
|
|
|
return this.$message.info('请在二级分类下选择')
|
|
|
}
|
|
|
- this.form.twoLevelClassifyCode = selection.code
|
|
|
- this.form.twoLevelClassify = selection.name
|
|
|
}
|
|
|
},
|
|
|
chooseTreeReferForDetails(type, isPage, title, index) {
|
|
@@ -1229,9 +1231,9 @@
|
|
|
this.$refs.treeDetails.init(this.referCondition)
|
|
|
},
|
|
|
selectionsToInputForDetails(selection) {
|
|
|
- this.classOptions.push(selection)
|
|
|
+ this.classOptions = selection;
|
|
|
if (this.referCondition.title === '一级物料分类') {
|
|
|
- if (selection.code.length !== 1) {
|
|
|
+ if (this.classOptions[0].code.length > 2) {
|
|
|
return this.$message.info('请在一级分类中选择')
|
|
|
}
|
|
|
if (selection.code !== this.annualSaleGoalMergeDetailsList[this.referCondition.index].oneLevelClassifyCode) {
|
|
@@ -1241,7 +1243,7 @@
|
|
|
this.annualSaleGoalMergeDetailsList[this.referCondition.index].oneLevelClassifyCode = selection.code
|
|
|
this.annualSaleGoalMergeDetailsList[this.referCondition.index].oneLevelClassify = selection.name
|
|
|
} else if (this.referCondition.title === '二级物料分类') {
|
|
|
- if (selection.code.length !== 4) {
|
|
|
+ if (this.classOptions[0].code.lastIndexOf("-") == 3 || this.classOptions[0].code.indexOf("90") == 0) {
|
|
|
return this.$message.info('请在二级分类中选择')
|
|
|
} else if (selection.code[0] !== this.annualSaleGoalMergeDetailsList[this.referCondition.index]
|
|
|
.oneLevelClassifyCode) {
|
|
@@ -1370,7 +1372,7 @@
|
|
|
// 合并数据
|
|
|
clickMerge() {
|
|
|
if (this.form.id !== null) {
|
|
|
- this.form.oldAnnualGoalMergeDetailsList = JSON.parse(JSON.stringify(this.form.annualGoalMergeDetailsList))
|
|
|
+ this.form.oldAnnualGoalMergeDetailsList = JSON.parse(JSON.stringify(this.annualGoalMergeDetailsList))
|
|
|
}
|
|
|
if (this.activeName !== 'annualSaleGoalMergeDetails') {
|
|
|
return this.$message.error('当前标签不是年销售目标合并明细')
|
|
@@ -1396,9 +1398,9 @@
|
|
|
mergeAnnualSaleMergeDetails(query).then(response => {
|
|
|
console.log(response);
|
|
|
if (response.data.consolidatedDetail.length > 0) {
|
|
|
- for (const consolidatedDetail of response.data.consolidatedDetail) {
|
|
|
- consolidatedDetail.totalGoal = consolidatedDetail.totalGoal.toFixed(2)
|
|
|
- }
|
|
|
+ // for (const consolidatedDetail of response.data.consolidatedDetail) {
|
|
|
+ // consolidatedDetail.totalGoal = consolidatedDetail.totalGoal.toFixed(2)
|
|
|
+ // }
|
|
|
this.annualSaleGoalMergeDetailsList = response.data.consolidatedDetail
|
|
|
this.computeTotal()
|
|
|
} else {
|