|
@@ -254,118 +254,122 @@
|
|
|
<el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddDetails">增行</el-button>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- <el-table v-loading="loading" :data="monthSaleGoalDetailsList" @selection-change="handleSelectionChange">
|
|
|
- <el-table-column type="selection" 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="monthSaleGoalDetailsList[scope.$index].saleOrg" title="销售组织" valueKey="name"
|
|
|
- referName="CUSTOMER_PARAM"
|
|
|
- :dataMapping="{ saleOrgCode: 'code', saleOrg: 'name'}"
|
|
|
- :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入销售组织">
|
|
|
- </el-popover-select-v2>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="销售区域" align="center" prop="saleZone" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].saleZone" title="销售区域" valueKey="name"
|
|
|
- referName="CUSTOMER_PARAM"
|
|
|
- :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
|
|
|
- :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入销售区域">
|
|
|
- </el-popover-select-v2>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="客户" align="center" prop="custom" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].custom" title="客户" valueKey="name"
|
|
|
- referName="CUSTOMER_PARAM"
|
|
|
- :dataMapping="{ customCode: 'code', custom: 'name'}"
|
|
|
- :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入客户">
|
|
|
- </el-popover-select-v2>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="部门" align="center" prop="dept" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].dept" title="部门" valueKey="name"
|
|
|
- referName="DEPT_PARAM"
|
|
|
- :dataMapping="{ deptCode: 'code', dept: 'name'}"
|
|
|
- :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入客户">
|
|
|
- </el-popover-select-v2>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="制单人" align="center" prop="creator" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].creator" title="负责人" valueKey="name"
|
|
|
- referName="CONTACTS_PARAM"
|
|
|
- :dataMapping="{ creatorCode: 'code', creator: 'name'}"
|
|
|
- :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入负责人">
|
|
|
- </el-popover-select-v2>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="一级分类" align="center" prop="oneLevelClassify" width="220">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-select v-model="monthSaleGoalDetailsList[scope.$index].oneLevelClassify" size="mini" clearable
|
|
|
- @focus="chooseTreeReferForDetails('MATERIALCLASSIFY_PARAM', false, '一级物料分类', scope.$index)"
|
|
|
- style="width: 200px">
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="二级分类" align="center" prop="twoLevelClassify" width="220">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-select v-model="monthSaleGoalDetailsList[scope.$index].twoLevelClassify" size="mini" clearable
|
|
|
- @focus="chooseTreeReferForDetails('MATERIALCLASSIFY_PARAM', false, '二级物料分类', scope.$index)"
|
|
|
- style="width: 200px">
|
|
|
- <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
- </el-select>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="物料" align="center" prop="material" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].material" title="物料" valueKey="name"
|
|
|
- referName="MATERIAL_PARAM"
|
|
|
- :dataMapping="{ materialCode: 'code', material: 'name'}"
|
|
|
- :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入物料">
|
|
|
- </el-popover-select-v2>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="科室" align="center" prop="department" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input v-model="monthSaleGoalDetailsList[scope.$index].department" placeholder="请输入科室"></el-input>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="数量" align="center" prop="num" width="220">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input-number v-model="monthSaleGoalDetailsList[scope.$index].num" :min="0"></el-input-number>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="月份" align="center" prop="num" width="250">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-date-picker v-model="monthSaleGoalDetailsList[scope.$index].monthly" value-format="M" type="month" placeholder="选择月份">
|
|
|
- </el-date-picker>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="合计" align="center" prop="totalGoal" width="220">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-input-number @change="computeTotal" v-model="monthSaleGoalDetailsList[scope.$index].goalValue" :precision="2" :step="1" :min="0"></el-input-number>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120px" fixed="right">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleDeleteDetails(scope.$index, scope.row)"
|
|
|
- >删除</el-button>
|
|
|
- <el-button
|
|
|
- size="mini"
|
|
|
- type="text"
|
|
|
- icon="el-icon-delete"
|
|
|
- @click="handleCopyDetails(scope.row)"
|
|
|
- >复制</el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
+ <el-tabs v-model="activeName">
|
|
|
+ <el-tab-pane label="月销售目标明细" name="monthSaleGoalDetails">
|
|
|
+ <el-table v-loading="loading" :data="monthSaleGoalDetailsList" @selection-change="handleSelectionChange">
|
|
|
+ <el-table-column type="selection" 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="monthSaleGoalDetailsList[scope.$index].saleOrg" title="销售组织" valueKey="name"
|
|
|
+ referName="CUSTOMER_PARAM"
|
|
|
+ :dataMapping="{ saleOrgCode: 'code', saleOrg: 'name'}"
|
|
|
+ :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入销售组织">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="销售区域" align="center" prop="saleZone" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].saleZone" title="销售区域" valueKey="name"
|
|
|
+ referName="CUSTOMER_PARAM"
|
|
|
+ :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
|
|
|
+ :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入销售区域">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="客户" align="center" prop="custom" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].custom" title="客户" valueKey="name"
|
|
|
+ referName="CUSTOMER_PARAM"
|
|
|
+ :dataMapping="{ customCode: 'code', custom: 'name'}"
|
|
|
+ :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入客户">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="部门" align="center" prop="dept" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].dept" title="部门" valueKey="name"
|
|
|
+ referName="DEPT_PARAM"
|
|
|
+ :dataMapping="{ deptCode: 'code', dept: 'name'}"
|
|
|
+ :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入客户">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="制单人" align="center" prop="creator" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].creator" title="负责人" valueKey="name"
|
|
|
+ referName="CONTACTS_PARAM"
|
|
|
+ :dataMapping="{ creatorCode: 'code', creator: 'name'}"
|
|
|
+ :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入负责人">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="一级分类" align="center" prop="oneLevelClassify" width="220">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select v-model="monthSaleGoalDetailsList[scope.$index].oneLevelClassify" size="mini" clearable
|
|
|
+ @focus="chooseTreeReferForDetails('MATERIALCLASSIFY_PARAM', false, '一级物料分类', scope.$index)"
|
|
|
+ style="width: 200px">
|
|
|
+ <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="二级分类" align="center" prop="twoLevelClassify" width="220">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-select v-model="monthSaleGoalDetailsList[scope.$index].twoLevelClassify" size="mini" clearable
|
|
|
+ @focus="chooseTreeReferForDetails('MATERIALCLASSIFY_PARAM', false, '二级物料分类', scope.$index)"
|
|
|
+ style="width: 200px">
|
|
|
+ <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
|
|
|
+ </el-select>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="物料" align="center" prop="material" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-popover-select-v2 v-model="monthSaleGoalDetailsList[scope.$index].material" title="物料" valueKey="name"
|
|
|
+ referName="MATERIAL_PARAM"
|
|
|
+ :dataMapping="{ materialCode: 'code', material: 'name'}"
|
|
|
+ :source.sync="monthSaleGoalDetailsList[scope.$index]" placeholder="请输入物料">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="科室" align="center" prop="department" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input v-model="monthSaleGoalDetailsList[scope.$index].department" placeholder="请输入科室"></el-input>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="数量" align="center" prop="num" width="220">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input-number v-model="monthSaleGoalDetailsList[scope.$index].num" :min="0"></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="月份" align="center" prop="num" width="250">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-date-picker v-model="monthSaleGoalDetailsList[scope.$index].monthly" value-format="yyyy-MM" type="month" placeholder="选择月份">
|
|
|
+ </el-date-picker>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="合计" align="center" prop="totalGoal" width="220">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-input-number @change="computeTotal" v-model="monthSaleGoalDetailsList[scope.$index].goalValue" :precision="2" :step="1" :min="0"></el-input-number>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding fixed-width" width="120px" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleDeleteDetails(scope.$index, scope.row)"
|
|
|
+ >删除</el-button>
|
|
|
+ <el-button
|
|
|
+ size="mini"
|
|
|
+ type="text"
|
|
|
+ icon="el-icon-delete"
|
|
|
+ @click="handleCopyDetails(scope.row)"
|
|
|
+ >复制</el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
+ </el-tab-pane>
|
|
|
+ </el-tabs>
|
|
|
</el-drawer>
|
|
|
|
|
|
<TreeRefers ref="treeDetails" @doSubmit="selectionsToInputForDetails" :single="true"/>
|
|
@@ -481,6 +485,8 @@ export default {
|
|
|
// 参照条件
|
|
|
referCondition: { type: '', isPage: true, title: '', index: null },
|
|
|
classOptions: [],
|
|
|
+ // 子表导航名
|
|
|
+ activeName: 'monthSaleGoalDetails'
|
|
|
};
|
|
|
},
|
|
|
created() {
|