|
@@ -25,101 +25,32 @@
|
|
|
placeholder="请选择单据日期">
|
|
|
</el-date-picker>
|
|
|
</el-form-item>
|
|
|
- <el-form-item label="制单人编码" prop="creatorCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.creatorCode"
|
|
|
- placeholder="请输入制单人编码"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
<el-form-item label="制单人" prop="creator">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.creator"
|
|
|
- placeholder="请输入制单人"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="部门编码" prop="deptCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.deptCode"
|
|
|
- placeholder="请输入部门编码"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
+ <el-popover-select-v2 v-model="queryParams.creator" title="制单人" valueKey="name" referName="CONTACTS_PARAM" :dataMapping="{
|
|
|
+ creatorCode: 'code',
|
|
|
+ creator: 'name'
|
|
|
+ }" :source.sync="queryParams" placeholder="请输入制单人" @keyup.enter.native="handleQuery">
|
|
|
+ </el-popover-select-v2>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="部门" prop="dept">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.dept"
|
|
|
- placeholder="请输入部门"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="目标值汇总" prop="goalTotal">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.goalTotal"
|
|
|
- placeholder="请输入目标值汇总"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="备注" prop="notes">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.notes"
|
|
|
- placeholder="请输入备注"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="销售区域编码" prop="saleZoneCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.saleZoneCode"
|
|
|
- placeholder="请输入销售区域编码"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
+ <el-popover-select-v2 v-model="queryParams.dept" title="部门" valueKey="name" referName="DEPT_PARAM" :dataMapping="{
|
|
|
+ deptCode: 'code', dept: 'name'
|
|
|
+ }" :source.sync="queryParams" placeholder="请输入部门" @keyup.enter.native="handleQuery"></el-popover-select-v2>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="销售区域" prop="saleZone">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.saleZone"
|
|
|
- placeholder="请输入销售区域"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="一级物料编码" prop="oneLevelClassifyCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.oneLevelClassifyCode"
|
|
|
- placeholder="请输入一级物料编码"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
+ <el-popover-select-v2 v-model="queryParams.dept" title="销售区域" valueKey="name" referName="ORG_PARAM" :dataMapping="{
|
|
|
+ saleZoneCode: 'code', saleZone: 'name'
|
|
|
+ }" :source.sync="queryParams" placeholder="请输入销售区域" @keyup.enter.native="handleQuery"></el-popover-select-v2>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="一级物料" prop="oneLevelClassify">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.oneLevelClassify"
|
|
|
- placeholder="请输入一级物料"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="二级物料编码" prop="twoLevelClassifyCode">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.twoLevelClassifyCode"
|
|
|
- placeholder="请输入二级物料编码"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
+ <el-select v-model="queryParams.oneLevelClassify" placeholder="请输入一级物料" clearable @keyup.enter.native="handleQuery"
|
|
|
+ @focus="chooseTreeRefer('MATERIALCLASSIFY_PARAM', false, '一级物料分类')"
|
|
|
+ ></el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item label="二级物料" prop="twoLevelClassify">
|
|
|
- <el-input
|
|
|
- v-model="queryParams.twoLevelClassify"
|
|
|
- placeholder="请输入二级物料"
|
|
|
- clearable
|
|
|
- @keyup.enter.native="handleQuery"
|
|
|
- />
|
|
|
+ <el-select v-model="queryParams.twoLevelClassify" placeholder="请输入一级物料" clearable @keyup.enter.native="handleQuery"
|
|
|
+ @focus="chooseTreeRefer('MATERIALCLASSIFY_PARAM', false, '二级物料分类')"
|
|
|
+ ></el-select>
|
|
|
</el-form-item>
|
|
|
<el-form-item>
|
|
|
<el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
@@ -316,6 +247,83 @@
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
</el-form>
|
|
|
+
|
|
|
+ <el-row :gutter="10" class="mb8">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="primary"
|
|
|
+ plain
|
|
|
+ icon="el-icon-lollipop"
|
|
|
+ size="mini"
|
|
|
+ @click="annualGoalMerge"
|
|
|
+ v-hasPermi="['goal_management:annualSaleMergeDetails:merge']"
|
|
|
+ >合并</el-button>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button
|
|
|
+ type="danger"
|
|
|
+ plain
|
|
|
+ icon="el-icon-delete"
|
|
|
+ size="mini"
|
|
|
+ :disabled="multiple"
|
|
|
+ @click="handleDelete"
|
|
|
+ v-hasPermi="['goal_management:annualSaleMergeDetails:remove']"
|
|
|
+ >删除</el-button>
|
|
|
+ </el-col>
|
|
|
+<!-- <right-toolbar :showSearch.sync="showSearch" @queryTable="getList"></right-toolbar>-->
|
|
|
+ </el-row>
|
|
|
+
|
|
|
+ <el-table v-loading="loading" :data="annualSaleMergeDetailsList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
+ <el-table-column label="id唯一标识" align="center" prop="id" />
|
|
|
+ <el-table-column label="合并编码" align="center" prop="mergeCode" />
|
|
|
+ <el-table-column label="销售组织" align="center" prop="saleOrg" />
|
|
|
+ <el-table-column label="销售区域" align="center" prop="saleZone" />
|
|
|
+ <el-table-column label="客户" align="center" prop="custom" />
|
|
|
+ <el-table-column label="负责人" align="center" prop="creator" />
|
|
|
+ <el-table-column label="一级分类" align="center" prop="oneLevelClassify" />
|
|
|
+ <el-table-column label="二级分类" align="center" prop="twoLevelClassify" />
|
|
|
+ <el-table-column label="目标合计" align="center" prop="goalSum" />
|
|
|
+ <el-table-column label="一月目标" align="center" prop="juanaryGoal" />
|
|
|
+ <el-table-column label="二月目标" align="center" prop="februaryGoal" />
|
|
|
+ <el-table-column label="三月目标" align="center" prop="marchGoal" />
|
|
|
+ <el-table-column label="四月目标" align="center" prop="aprilGoal" />
|
|
|
+ <el-table-column label="五月目标" align="center" prop="mayGoal" />
|
|
|
+ <el-table-column label="六月目标" align="center" prop="juneGoal" />
|
|
|
+ <el-table-column label="七月目标" align="center" prop="julyGoal" />
|
|
|
+ <el-table-column label="八月目标" align="center" prop="augustGoal" />
|
|
|
+ <el-table-column label="九月目标" align="center" prop="steptemberGoal" />
|
|
|
+ <el-table-column label="十月目标" align="center" prop="octoberGoal" />
|
|
|
+ <el-table-column label="十一月目标" align="center" prop="novemberGoal" />
|
|
|
+ <el-table-column label="十二月目标" align="center" prop="decemberGoal" />
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-edit"
|
|
|
+ @click="handleUpdate(scope.row)"
|
|
|
+ v-hasPermi="['goal_management:annualSaleMergeDetails:edit']"
|
|
|
+ >修改</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDelete(scope.row)"
|
|
|
+ v-hasPermi="['goal_management:annualSaleMergeDetails:remove']"
|
|
|
+ >删除</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+
|
|
|
+ <pagination
|
|
|
+ v-show="total>0"
|
|
|
+ :total="total"
|
|
|
+ :page.sync="queryParams.pageNum"
|
|
|
+ :limit.sync="queryParams.pageSize"
|
|
|
+ @pagination="getList"
|
|
|
+ />
|
|
|
+
|
|
|
</el-drawer>
|
|
|
|
|
|
<el-drawer title="年销售目标合并--修改" :visible.sync="drawerEdit" :direction="direction" :before-close="handleClose" size="100%">
|
|
@@ -397,7 +405,7 @@
|
|
|
</el-col>
|
|
|
<el-col :span="1.5">
|
|
|
<el-form-item v-if="form.goalCategory === '销售区域'" label="销售区域" prop="saleZone" id="saleZone1">
|
|
|
- <el-popover-select-v2 v-model="form.saleZone" title="销售区域" referName="ORG_PARAM" :dataMapping="{
|
|
|
+ <el-popover-select-v2 v-model="form.saleZone" title="销售区域" valueKey="name" referName="ORG_PARAM" :dataMapping="{
|
|
|
saleZoneCode: 'code',
|
|
|
saleZone: 'name',
|
|
|
}" :source.sync="form" placeholder="请输入销售区域"></el-popover-select-v2>
|
|
@@ -428,6 +436,7 @@
|
|
|
|
|
|
<script>
|
|
|
import { listAnnualSaleGoalMerge, getAnnualSaleGoalMerge, delAnnualSaleGoalMerge, addAnnualSaleGoalMerge, updateAnnualSaleGoalMerge } from "@/api/business/spd/goal_management/annualSaleGoalMerge";
|
|
|
+import { delAnnualSaleMergeDetails, updateAnnualSaleMergeDetails, getAnnualSaleMergeDetails } from "@/api/business/spd/goal_management/annualSaleMergeDetails"
|
|
|
|
|
|
// 树形参照
|
|
|
import TreeRefers from "@/components/Refers/treeRefer.vue"
|
|
@@ -550,7 +559,9 @@ export default {
|
|
|
],
|
|
|
// 参照条件 & 参照列表
|
|
|
referCondition: { type: '', isPage: true, title: '' },
|
|
|
- classList: []
|
|
|
+ classList: [],
|
|
|
+ // 合并子表明细
|
|
|
+ annualSaleMergeDetailsList: []
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -599,6 +610,7 @@ export default {
|
|
|
},
|
|
|
/** 搜索按钮操作 */
|
|
|
handleQuery() {
|
|
|
+ console.log(this.queryParams);
|
|
|
this.queryParams.pageNum = 1;
|
|
|
this.getList();
|
|
|
},
|
|
@@ -751,6 +763,13 @@ export default {
|
|
|
this.form.twoLevelClassify = selection.name
|
|
|
this.form.twoLevelClassifyCode = selection.code
|
|
|
}
|
|
|
+ },
|
|
|
+ // 根据目标分类合并数据
|
|
|
+ annualGoalMerge() {
|
|
|
+ const goalCategory = this.form.goalCategory
|
|
|
+ if (goalCategory === null || goalCategory === '') {
|
|
|
+ return this.$message.info('请在主表输入“目标分类”')
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
};
|