|
@@ -1,160 +1,164 @@
|
|
|
<template>
|
|
|
<div class="app-container">
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" label-width="100px">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="编码" prop="code">
|
|
|
- <el-input v-model="queryParams.code" placeholder="请输入编码" clearable @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="目标名称" prop="goalName">
|
|
|
- <el-input v-model="queryParams.goalName" placeholder="请输入目标名称" clearable
|
|
|
- @keyup.enter.native="handleQuery" />
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="8">
|
|
|
- <el-form-item label="单据日期" prop="documentDate">
|
|
|
- <el-date-picker v-model="documentDateRange" value-format="yyyy-MM-dd" @change="setBeginAndEnd"
|
|
|
- type="daterange" align="right" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
- :picker-options="pickerOptions">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="4">
|
|
|
- <el-form-item>
|
|
|
- <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
- <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
- <el-tooltip class="item" effect="dark" :content="showSearch?'隐藏搜索':'显示搜索'" placement="top">
|
|
|
- <el-button type="warning" :icon="showSearch?'el-icon-caret-top':'el-icon-caret-bottom'" circle
|
|
|
- @click="showSearch = !showSearch"></el-button>
|
|
|
- </el-tooltip>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- </el-form>
|
|
|
- <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
- <el-row :gutter="20">
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="年度" prop="annual">
|
|
|
- <el-date-picker v-model="queryParams.annual" type="year" value-format="yyyy" placeholder="选择年度" clearable
|
|
|
- @keyup.enter.native="handleQuery">
|
|
|
- </el-date-picker>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="客户" prop="custom" v-if="isDept && !isJiwei">
|
|
|
- <el-popover-tree-select v-model="queryParams.custom" valueKey='name' title="客户" referName="PROFITCENTER"
|
|
|
- :dataMapping="{ customCode: 'code', custom: 'name'}" :source.sync="queryParams" placeholder="请输入客户"
|
|
|
- @keyup.enter.native="handleQuery">
|
|
|
- </el-popover-tree-select>
|
|
|
- </el-form-item>
|
|
|
- <el-form-item label="客户" prop="custom" v-if="!(isDept && !isJiwei)">
|
|
|
- <el-popover-select-v2 v-model="queryParams.custom" title="客户" valueKey="name" referName="CUSTOMER_PARAM"
|
|
|
- :dataMapping="{ customCode: 'code', custom: 'name'}" :source.sync="queryParams" placeholder="请输入客户"
|
|
|
- @keyup.enter.native="handleQuery">
|
|
|
- </el-popover-select-v2>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- <el-col :span="6">
|
|
|
- <el-form-item label="销售区域" prop="saleZone">
|
|
|
- <el-popover-select-v2 v-model="queryParams.saleZone" title="销售区域" valueKey="name"
|
|
|
- referName="MK_SALESAREA_PARAM" :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
|
|
|
- :source.sync="queryParams" placeholder="请输入销售区域" @keyup.enter.native="handleQuery">
|
|
|
- </el-popover-select-v2>
|
|
|
- </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="请输入制单人"
|
|
|
- @keyup.enter.native="handleQuery">
|
|
|
- </el-popover-select-v2>
|
|
|
- </el-form-item>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
- <el-row :gutter="20">
|
|
|
- <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="{ deptCode: 'id', dept: 'name'}" :source.sync="queryParams" placeholder="请输入部门"
|
|
|
- @keyup.enter.native="handleQuery">
|
|
|
- </el-popover-select-v2>
|
|
|
- </el-form-item>
|
|
|
+ <div v-if="isList">
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" label-width="100px">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="编码" prop="code">
|
|
|
+ <el-input v-model="queryParams.code" placeholder="请输入编码" clearable @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="目标名称" prop="goalName">
|
|
|
+ <el-input v-model="queryParams.goalName" placeholder="请输入目标名称" clearable
|
|
|
+ @keyup.enter.native="handleQuery" />
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="8">
|
|
|
+ <el-form-item label="单据日期" prop="documentDate">
|
|
|
+ <el-date-picker v-model="documentDateRange" value-format="yyyy-MM-dd" @change="setBeginAndEnd"
|
|
|
+ type="daterange" align="right" range-separator="至" start-placeholder="开始日期" end-placeholder="结束日期"
|
|
|
+ :picker-options="pickerOptions">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="4">
|
|
|
+ <el-form-item>
|
|
|
+ <el-button type="primary" icon="el-icon-search" size="mini" @click="handleQuery">搜索</el-button>
|
|
|
+ <el-button icon="el-icon-refresh" size="mini" @click="resetQuery">重置</el-button>
|
|
|
+ <el-tooltip class="item" effect="dark" :content="showSearch?'隐藏搜索':'显示搜索'" placement="top">
|
|
|
+ <el-button type="warning" :icon="showSearch?'el-icon-caret-top':'el-icon-caret-bottom'" circle
|
|
|
+ @click="showSearch = !showSearch"></el-button>
|
|
|
+ </el-tooltip>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+ <el-form :model="queryParams" ref="queryForm" size="mini" :inline="true" v-show="showSearch" label-width="100px">
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="年度" prop="annual">
|
|
|
+ <el-date-picker v-model="queryParams.annual" type="year" value-format="yyyy" placeholder="选择年度" clearable
|
|
|
+ @keyup.enter.native="handleQuery">
|
|
|
+ </el-date-picker>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="客户" prop="custom" v-if="isDept && !isJiwei">
|
|
|
+ <el-popover-tree-select v-model="queryParams.custom" valueKey='name' title="客户" referName="PROFITCENTER"
|
|
|
+ :dataMapping="{ customCode: 'code', custom: 'name'}" :source.sync="queryParams" placeholder="请输入客户"
|
|
|
+ @keyup.enter.native="handleQuery">
|
|
|
+ </el-popover-tree-select>
|
|
|
+ </el-form-item>
|
|
|
+ <el-form-item label="客户" prop="custom" v-if="!(isDept && !isJiwei)">
|
|
|
+ <el-popover-select-v2 v-model="queryParams.custom" title="客户" valueKey="name" referName="CUSTOMER_PARAM"
|
|
|
+ :dataMapping="{ customCode: 'code', custom: 'name'}" :source.sync="queryParams" placeholder="请输入客户"
|
|
|
+ @keyup.enter.native="handleQuery">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ <el-col :span="6">
|
|
|
+ <el-form-item label="销售区域" prop="saleZone">
|
|
|
+ <el-popover-select-v2 v-model="queryParams.saleZone" title="销售区域" valueKey="name"
|
|
|
+ referName="MK_SALESAREA_PARAM" :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
|
|
|
+ :source.sync="queryParams" placeholder="请输入销售区域" @keyup.enter.native="handleQuery">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </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="请输入制单人"
|
|
|
+ @keyup.enter.native="handleQuery">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ <el-row :gutter="20">
|
|
|
+ <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="{ deptCode: 'id', dept: 'name'}" :source.sync="queryParams" placeholder="请输入部门"
|
|
|
+ @keyup.enter.native="handleQuery">
|
|
|
+ </el-popover-select-v2>
|
|
|
+ </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-select>
|
|
|
+ </el-form-item>
|
|
|
+ </el-col>
|
|
|
+ </el-row>
|
|
|
+ </el-form>
|
|
|
+
|
|
|
+ <el-row :gutter="10" class="mb8" style="float: right">
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增
|
|
|
+ </el-button>
|
|
|
</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-select>
|
|
|
- </el-form-item>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-dropdown @command="handleCommand">
|
|
|
+ <el-button type="warning" plain icon="el-icon-download" size="mini">
|
|
|
+ 导出<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
+ </el-button>
|
|
|
+ <el-dropdown-menu slot="dropdown">
|
|
|
+ <el-dropdown-item command="export">导出</el-dropdown-item>
|
|
|
+ <el-dropdown-item command="exportDetails">导出明细</el-dropdown-item>
|
|
|
+ </el-dropdown-menu>
|
|
|
+ </el-dropdown>
|
|
|
</el-col>
|
|
|
</el-row>
|
|
|
- </el-form>
|
|
|
|
|
|
- <el-row :gutter="10" class="mb8" style="float: right">
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAdd">新增
|
|
|
- </el-button>
|
|
|
- </el-col>
|
|
|
- <el-col :span="1.5">
|
|
|
- <el-dropdown @command="handleCommand">
|
|
|
- <el-button type="warning" plain icon="el-icon-download" size="mini">
|
|
|
- 导出<i class="el-icon-arrow-down el-icon--right"></i>
|
|
|
- </el-button>
|
|
|
- <el-dropdown-menu slot="dropdown">
|
|
|
- <el-dropdown-item command="export">导出</el-dropdown-item>
|
|
|
- <el-dropdown-item command="exportDetails">导出明细</el-dropdown-item>
|
|
|
- </el-dropdown-menu>
|
|
|
- </el-dropdown>
|
|
|
- </el-col>
|
|
|
- </el-row>
|
|
|
+ <el-table v-loading="loading" :data="monthSaleGoalList" @selection-change="handleSelectionChange"
|
|
|
+ @row-dblclick="useDoubleClick" v-horizontal-scroll max-height="560">
|
|
|
+ <el-table-column label="编码" align="center" prop="code" width="180" />
|
|
|
+ <el-table-column label="目标名称" align="center" prop="goalName" width="240" />
|
|
|
+ <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <span>{{ parseTime(scope.row.documentDate, '{y}-{m}-{d}') }}</span>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="年度" align="center" prop="annual" width="100" />
|
|
|
+ <el-table-column label="客户" align="center" prop="custom" width="180" />
|
|
|
+ <el-table-column label="销售区域" align="center" prop="saleZone" width="180" />
|
|
|
+ <el-table-column label="制单人" align="center" prop="creator" width="180" />
|
|
|
+ <el-table-column label="部门" align="center" prop="dept" width="180" />
|
|
|
+ <el-table-column label="销售目标合计(元)" align="center" prop="goalSum" width="180" />
|
|
|
+ <el-table-column label="备注" align="center" prop="notes" width="180" />
|
|
|
+ <el-table-column show-overflow-tooltip label="状态" align="center" width="100" prop="status">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <dict-tag :options="dict.type.sys_status" :value="scope.row.status" />
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ <el-table-column label="操作" align="center" class-name="small-padding" width="180" fixed="right">
|
|
|
+ <template slot-scope="scope">
|
|
|
+ <el-button size="mini" type="text" @click="useDoubleClick(scope.row)">查看
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="scope.row.status == '0' || scope.row.status == '3'" size="mini" type="text"
|
|
|
+ @click="handleUpdate(scope.row)">修改
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="scope.row.status == '0' || scope.row.status == '3'" size="mini" type="text"
|
|
|
+ @click="handleDelete(scope.row)">删除
|
|
|
+ </el-button>
|
|
|
+ <el-button v-if="scope.row.status == '0' || scope.row.status == '3'" size="mini" type="text"
|
|
|
+ @click="handleSubmit(scope.row)">提交</el-button>
|
|
|
+ <el-button v-if="scope.row.status == '1'" size="mini" type="text" @click="handleReback(scope.row)">收回
|
|
|
+ </el-button>
|
|
|
+ </template>
|
|
|
+ </el-table-column>
|
|
|
+ </el-table>
|
|
|
|
|
|
- <el-table v-loading="loading" :data="monthSaleGoalList" @selection-change="handleSelectionChange"
|
|
|
- @row-dblclick="useDoubleClick" v-horizontal-scroll max-height="560">
|
|
|
- <el-table-column label="编码" align="center" prop="code" width="180" />
|
|
|
- <el-table-column label="目标名称" align="center" prop="goalName" width="240" />
|
|
|
- <el-table-column label="单据日期" align="center" prop="documentDate" width="180">
|
|
|
- <template slot-scope="scope">
|
|
|
- <span>{{ parseTime(scope.row.documentDate, '{y}-{m}-{d}') }}</span>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="年度" align="center" prop="annual" width="100" />
|
|
|
- <el-table-column label="客户" align="center" prop="custom" width="180" />
|
|
|
- <el-table-column label="销售区域" align="center" prop="saleZone" width="180" />
|
|
|
- <el-table-column label="制单人" align="center" prop="creator" width="180" />
|
|
|
- <el-table-column label="部门" align="center" prop="dept" width="180" />
|
|
|
- <el-table-column label="销售目标合计(元)" align="center" prop="goalSum" width="180" />
|
|
|
- <el-table-column label="备注" align="center" prop="notes" width="180" />
|
|
|
- <el-table-column show-overflow-tooltip label="状态" align="center" width="100" prop="status">
|
|
|
- <template slot-scope="scope">
|
|
|
- <dict-tag :options="dict.type.sys_status" :value="scope.row.status" />
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- <el-table-column label="操作" align="center" class-name="small-padding" width="180" fixed="right">
|
|
|
- <template slot-scope="scope">
|
|
|
- <el-button size="mini" type="text" @click="useDoubleClick(scope.row)">查看
|
|
|
- </el-button>
|
|
|
- <el-button v-if="scope.row.status == '0' || scope.row.status == '3'" size="mini" type="text"
|
|
|
- @click="handleUpdate(scope.row)">修改
|
|
|
- </el-button>
|
|
|
- <el-button v-if="scope.row.status == '0' || scope.row.status == '3'" size="mini" type="text"
|
|
|
- @click="handleDelete(scope.row)">删除
|
|
|
- </el-button>
|
|
|
- <el-button v-if="scope.row.status == '0' || scope.row.status == '3'" size="mini" type="text"
|
|
|
- @click="handleSubmit(scope.row)">提交</el-button>
|
|
|
- <el-button v-if="scope.row.status == '1'" size="mini" type="text" @click="handleReback(scope.row)">收回
|
|
|
- </el-button>
|
|
|
- </template>
|
|
|
- </el-table-column>
|
|
|
- </el-table>
|
|
|
-
|
|
|
- <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
|
- :page-sizes="[10, 20, 50, 100]" @pagination="getList" />
|
|
|
+ <pagination v-show="total>0" :total="total" :page.sync="queryParams.pageNum" :limit.sync="queryParams.pageSize"
|
|
|
+ :page-sizes="[10, 20, 50, 100]" @pagination="getList" />
|
|
|
+ </div>
|
|
|
|
|
|
- <el-drawer :title="title" :visible.sync="open" direction="rtl" :before-close="handleClose" size="100%"
|
|
|
- v-horizontal-scroll>
|
|
|
+ <!-- <el-drawer :title="title" :visible.sync="open" direction="rtl" :before-close="handleClose" size="100%"
|
|
|
+ v-horizontal-scroll> -->
|
|
|
+ <div v-if="!isList">
|
|
|
<el-form ref="form" :model="form" :rules="rules" label-width="120px" :disabled="openStatus == 'see'" size="mini">
|
|
|
<el-row :gutter="20">
|
|
|
<el-col :span="6">
|
|
@@ -266,11 +270,15 @@
|
|
|
<el-button type="primary" plain icon="el-icon-edit-outline" size="mini"
|
|
|
@click="dialogUpdateMore.dialogFormVisible = true">批量修改</el-button>
|
|
|
</el-col>
|
|
|
+ <el-col :span="1.5">
|
|
|
+ <el-button type="danger" icon="el-icon-delete" size="mini" @click="batchRemove">批量删除</el-button>
|
|
|
+ </el-col>
|
|
|
</el-row>
|
|
|
<el-tabs v-model="activeName">
|
|
|
<el-tab-pane label="月销售/月利润目标明细" name="monthSaleGoalDetails">
|
|
|
<el-table max-height="560" show-summary :summary-method="getSummaries" v-loading="loading" size="mini"
|
|
|
:data="monthSaleGoalDetailsList" @selection-change="handleSelectionChange" v-horizontal-scroll>
|
|
|
+ <el-table-column type="selection" width="55" align="center" />
|
|
|
<el-table-column label="序号" type="index" width="70" align="center" fixed />
|
|
|
<!-- <el-table-column label="销售组织" align="center" width="180" :render-header="addRedStar">
|
|
|
<template slot-scope="scope">
|
|
@@ -385,8 +393,8 @@
|
|
|
<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="handleDeleteDetails(scope.row)">删除
|
|
|
+ </el-button>
|
|
|
<el-button size="mini" type="text" icon="el-icon-delete" @click="handleCopyDetails(scope.row)">复制
|
|
|
</el-button>
|
|
|
</template>
|
|
@@ -396,11 +404,12 @@
|
|
|
</el-tabs>
|
|
|
<div slot="footer" class="dialog-footer" style="margin-left: 88%; margin-top: 1%">
|
|
|
<el-button type="primary" @click="submitForm" size="medium">确 定</el-button>
|
|
|
- <el-button @click="cancel" size="medium">返 回</el-button>
|
|
|
+ <el-button @click="cancel" size="medium" :disabled="false">返 回</el-button>
|
|
|
</div>
|
|
|
</div>
|
|
|
</el-form>
|
|
|
- </el-drawer>
|
|
|
+ </div>
|
|
|
+ <!-- </el-drawer> -->
|
|
|
|
|
|
<!-- 用户导入对话框 -->
|
|
|
<el-dialog :title="upload.title" :visible.sync="upload.open" width="400px" append-to-body>
|
|
@@ -526,6 +535,7 @@
|
|
|
// 月销售/月利润目标填报表格数据
|
|
|
monthSaleGoalList: [],
|
|
|
monthSaleGoalDetailsList: [],
|
|
|
+ delMonthSaleGoalDetailsList: [],
|
|
|
// 弹出层标题
|
|
|
title: "",
|
|
|
// 是否显示弹出层
|
|
@@ -736,6 +746,9 @@
|
|
|
index: null
|
|
|
},
|
|
|
index: null,
|
|
|
+ // 列表标识
|
|
|
+ isList: true,
|
|
|
+ selection: null,
|
|
|
};
|
|
|
},
|
|
|
created() {
|
|
@@ -767,6 +780,7 @@
|
|
|
},
|
|
|
// 取消按钮
|
|
|
cancel() {
|
|
|
+ this.isList = true;
|
|
|
this.open = false;
|
|
|
this.reset();
|
|
|
},
|
|
@@ -833,9 +847,11 @@
|
|
|
this.ids = selection.map(item => item.id)
|
|
|
this.single = selection.length !== 1
|
|
|
this.multiple = !selection.length
|
|
|
+ this.selection = selection
|
|
|
},
|
|
|
/** 新增按钮操作 */
|
|
|
handleAdd() {
|
|
|
+ this.isList = false;
|
|
|
this.openStatus = 'edit';
|
|
|
this.reset();
|
|
|
this.monthSaleGoalDetailsList = []
|
|
@@ -871,7 +887,8 @@
|
|
|
num: null,
|
|
|
monthly: this.form.documentDate.substring(0, 7),
|
|
|
goalValue: 0,
|
|
|
- profitTargetValue: 0
|
|
|
+ profitTargetValue: 0,
|
|
|
+ delFlag: '0',
|
|
|
}
|
|
|
this.monthSaleGoalDetailsList.push(list)
|
|
|
this.computeTotal()
|
|
@@ -886,6 +903,7 @@
|
|
|
this.form.goalSum = this.form.goalSum.toFixed(2)
|
|
|
this.monthSaleGoalDetailsList = JSON.parse(JSON.stringify(this.form.monthDetailsList))
|
|
|
this.open = true;
|
|
|
+ this.isList = false;
|
|
|
this.title = "修改--月销售/月利润目标填报";
|
|
|
});
|
|
|
},
|
|
@@ -898,7 +916,8 @@
|
|
|
this.form.goalSum = this.form.goalSum.toFixed(2)
|
|
|
this.monthSaleGoalDetailsList = JSON.parse(JSON.stringify(this.form.monthDetailsList))
|
|
|
this.open = true;
|
|
|
- this.title = "修改--月销售/月利润目标填报";
|
|
|
+ this.isList = false;
|
|
|
+ this.title = "查看--月销售/月利润目标填报";
|
|
|
});
|
|
|
},
|
|
|
// 复制按钮
|
|
@@ -957,10 +976,21 @@
|
|
|
if (valid) {
|
|
|
if (this.form.id != null) {
|
|
|
this.form.monthDetailsList = JSON.parse(JSON.stringify(this.monthSaleGoalDetailsList))
|
|
|
+ let ids = this.delMonthSaleGoalDetailsList.map((item) => {
|
|
|
+ return item.id;
|
|
|
+ })
|
|
|
+ ids = ids.filter((item) => {
|
|
|
+ return item != null;
|
|
|
+ })
|
|
|
+ console.log(ids, 'ids')
|
|
|
this.$modal.loading("保存中...");
|
|
|
updateMonthSaleGoal(this.form).then(response => {
|
|
|
+ if (ids != null && ids.length != 0) {
|
|
|
+ delMonthSaleGoalDetails(ids);
|
|
|
+ }
|
|
|
this.$modal.msgSuccess("修改成功");
|
|
|
this.open = false;
|
|
|
+ this.isList = true;
|
|
|
this.getList();
|
|
|
}).finally(e => {
|
|
|
this.$modal.closeLoading();
|
|
@@ -973,6 +1003,7 @@
|
|
|
addMonthSaleGoal(this.form).then(response => {
|
|
|
this.$modal.msgSuccess("新增成功");
|
|
|
this.open = false;
|
|
|
+ this.isList = true;
|
|
|
this.getList();
|
|
|
}).finally(e => {
|
|
|
this.$modal.closeLoading();
|
|
@@ -991,24 +1022,15 @@
|
|
|
this.$modal.msgSuccess("删除成功");
|
|
|
}).catch(() => {});
|
|
|
},
|
|
|
- handleDeleteDetails(index, row) {
|
|
|
- if (this.form.id === null) {
|
|
|
- this.monthSaleGoalDetailsList.splice(index, 1)
|
|
|
- this.computeTotal()
|
|
|
- } else {
|
|
|
- if (row.id !== null) {
|
|
|
- this.$modal.confirm('是否确认删除月销售/月利润目标填报明细序号为"' + (index + 1) + '"的数据项?').then(function () {
|
|
|
- return delMonthSaleGoalDetails(row.id);
|
|
|
- }).then(() => {
|
|
|
- this.getListDetails();
|
|
|
- this.$modal.msgSuccess("删除成功");
|
|
|
- }).catch(() => {});
|
|
|
- } else {
|
|
|
- this.monthSaleGoalDetailsList.splice(index, 1)
|
|
|
- this.$message.success('删除成功')
|
|
|
- this.computeTotal()
|
|
|
- }
|
|
|
- }
|
|
|
+ // 详情页明细行删除
|
|
|
+ handleDeleteDetails(row) {
|
|
|
+ this.$confirm('是否确认删除?').then(_ => {
|
|
|
+ row.delFlag = '2';
|
|
|
+ this.delMonthSaleGoalDetailsList.push(row);
|
|
|
+ this.monthSaleGoalDetailsList = this.monthSaleGoalDetailsList.filter((item) => {
|
|
|
+ return item.delFlag == '0';
|
|
|
+ })
|
|
|
+ }).catch(_ => {});
|
|
|
},
|
|
|
/** 导出按钮操作 */
|
|
|
handleExport() {
|
|
@@ -1415,6 +1437,27 @@
|
|
|
this.monthSaleGoalDetailsList[i].monthly = this.form.documentDate.substring(0, 7);
|
|
|
}
|
|
|
},
|
|
|
+ // 详情页批量删除
|
|
|
+ batchRemove() {
|
|
|
+ if (this.selection == null || this.selection == undefined || this.selection.length == 0) {
|
|
|
+ this.$modal.notifyWarning("请至少选择一条明细!");
|
|
|
+ } else {
|
|
|
+ this.$confirm('是否确认批量删除?').then(_ => {
|
|
|
+ this.selection.forEach((item) => {
|
|
|
+ item.delFlag = "2";
|
|
|
+ });
|
|
|
+ let delList = [];
|
|
|
+ delList = this.monthSaleGoalDetailsList.filter((item) => {
|
|
|
+ return item.delFlag == "2";
|
|
|
+ });
|
|
|
+ this.monthSaleGoalDetailsList =
|
|
|
+ this.monthSaleGoalDetailsList.filter((item) => {
|
|
|
+ return item.delFlag == "0";
|
|
|
+ });
|
|
|
+ this.delMonthSaleGoalDetailsList.push(...delList);
|
|
|
+ }).catch(_ => {});
|
|
|
+ }
|
|
|
+ },
|
|
|
}
|
|
|
}
|
|
|
|