Ver código fonte

lizhuo merges Goal Management into dev at 2023-8-1 9:00

002637 1 ano atrás
pai
commit
878deb9213

+ 99 - 75
src/views/business/spd/goal_management/AnnualSaleGoal.vue

@@ -1,82 +1,106 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="编码" prop="code">
-        <el-input
-          v-model="queryParams.code"
-          placeholder="请输入编码"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="目标名称" prop="goalName">
-        <el-input
-          v-model="queryParams.goalName"
-          placeholder="请输入年度销售目标名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="单据日期" prop="documentDate">
-        <el-date-picker
-          v-model="queryParams.documentDateRange"
-          type="daterange"
-          value-format="yyyy-MM-dd"
-          clearable
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          placeholder="请选择单据日期"
-          :picker-options="pickerOptions">
-        </el-date-picker>
-      </el-form-item>
-      <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-form-item>
-      <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-form-item label="客户" prop="custom">
-        <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-form-item label="销售区域" prop="saleZone">
-        <el-popover-select-v2 v-model="queryParams.saleZone" title="销售区域" valueKey="name"
-                              referName="CUSTOMER_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="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-form-item label="部门" prop="dept">
-        <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-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="12">
+          <el-form-item label="单据日期" prop="documentDate">
+            <el-date-picker
+              v-model="queryParams.documentDateRange"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              clearable
+              align="right"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              placeholder="请选择单据日期"
+              :picker-options="pickerOptions">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <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">
+            <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="CUSTOMER_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: 'code', 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>
+            <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-form-item>
+        </el-col>
+      </el-row>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" style="float: right">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -266,7 +290,7 @@
         </el-row>
       </el-form>
       <div id="addDetails">
-        <el-row :gutter="10" class="mb8">
+        <el-row :gutter="10" class="mb8" style="float: right; margin-right: 30px">
           <el-col :span="1.5">
             <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddDetails">增行</el-button>
           </el-col>

+ 111 - 86
src/views/business/spd/goal_management/AnnualSaleGoalMerge.vue

@@ -1,90 +1,118 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="编码" prop="code">
-        <el-input v-model="queryParams.code" placeholder="请输入编码" clearable @keyup.enter.native="handleQuery"/>
-      </el-form-item>
-      <el-form-item label="目标名称" prop="goalName">
-        <el-input v-model="queryParams.goalName" placeholder="请输入目标名称" clearable @keyup.enter.native="handleQuery"/>
-      </el-form-item>
-      <el-form-item label="单据日期" prop="documentDate">
-        <el-date-picker
-          v-model="documentDateRange"
-          type="daterange"
-          value-format="yyyy-MM-dd"
-          @change="setBeginAndEnd"
-          clearable
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          placeholder="请选择单据日期"
-          :picker-options="pickerOptions">
-        </el-date-picker>
-      </el-form-item>
-      <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-form-item>
-      <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-form-item label="部门" prop="dept">
-        <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="goalCategory">
-        <el-select v-model="queryParams.goalCategory" placeholder="请输入目标类型">
-          <el-option
-            v-for="item in [{ value: '销售区域', label: '销售区域' }, { value: '一级分类', label: '一级分类' }, { value: '二级分类', label: '二级分类' }]"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item label="销售区域" prop="saleZone">
-        <el-popover-select-v2 v-model="queryParams.saleZoneCode" title="销售区域" valueKey="name"
-                              referName="CUSTOMER_PARAM"
-                              :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
-                              :source.sync="queryParams" placeholder="请输入销售区域">
-        </el-popover-select-v2>
-      </el-form-item>
-      <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-form-item 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-select>
-      </el-form-item>
-      <el-form-item 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-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="12">
+          <el-form-item label="单据日期" prop="documentDate">
+            <el-date-picker
+              v-model="documentDateRange"
+              type="daterange"
+              value-format="yyyy-MM-dd"
+              @change="setBeginAndEnd"
+              clearable
+              align="right"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              placeholder="请选择单据日期"
+              :picker-options="pickerOptions">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <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="dept">
+            <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-col>
+        <el-col :span="6">
+          <el-form-item label="目标类型" prop="goalCategory">
+            <el-select v-model="queryParams.goalCategory" placeholder="请输入目标类型">
+              <el-option
+                v-for="item in [{ value: '销售区域', label: '销售区域' }, { value: '一级分类', label: '一级分类' }, { value: '二级分类', label: '二级分类' }]"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="销售区域" prop="saleZone">
+            <el-popover-select-v2 v-model="queryParams.saleZoneCode" title="销售区域" valueKey="name"
+                                  referName="CUSTOMER_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-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-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item 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>
+            <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-form-item>
+        </el-col>
+      </el-row>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" style="float: right">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -295,10 +323,7 @@
           </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-plus" size="mini" @click="handleAddDetails">增 行</el-button>
-        </el-col>-->
+      <el-row :gutter="10" class="mb8" style="float: right; margin-right: 30px">
         <el-col :span="1.5">
           <el-button type="primary" plain icon="el-icon-folder-opened" size="mini" @click="clickMerge">合 并</el-button>
         </el-col>

+ 125 - 99
src/views/business/spd/goal_management/MonthGoalMerge.vue

@@ -1,106 +1,132 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="编码" prop="code">
-        <el-input v-model="queryParams.code" placeholder="请输入编码" clearable @keyup.enter.native="handleQuery"/>
-      </el-form-item>
-      <el-form-item label="目标名称" prop="goalName">
-        <el-input v-model="queryParams.goalName" placeholder="请输入目标名称" clearable @keyup.enter.native="handleQuery"/>
-      </el-form-item>
-      <el-form-item label="单据日期" prop="documentDate">
-        <el-date-picker
-          v-model="documentDateRange"
-          @change="setBeginAndEnd"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          value-format="yyyy-MM-dd"
-          @keyup.enter.native="handleQuery"
-          :picker-options="pickerOptions">
-        </el-date-picker>
-      </el-form-item>
-      <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-form-item>
-      <el-form-item label="年度" prop="annual">
-        <el-date-picker
-          v-model="queryParams.annual"
-          type="year"
-          clearable
-          value-format="yyyy"
-          @keyup.enter.native="handleQuery"
-          placeholder="请输入年度">
-        </el-date-picker>
-      </el-form-item>
-      <el-form-item label="月份" prop="monthly">
-        <el-date-picker
-          v-model="queryParams.monthly"
-          type="month"
-          clearable
-          value-format="yyyy-MM"
-          @keyup.enter.native="handleQuery"
-          placeholder="请输入月份">
-        </el-date-picker>
-      </el-form-item>
-      <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-form-item label="部门" prop="dept">
-        <el-popover-select-v2 v-model="queryParams.dept" title="部门" valueKey="name"
-                              referName="DEPT_PARAM"
-                              :dataMapping="{ deptCode: 'code', dept: 'name'}"
-                              :source.sync="queryParams" placeholder="请输入部门">
-        </el-popover-select-v2>
-      </el-form-item>
-      <el-form-item label="目标类型" prop="goalCategory">
-        <el-select v-model="queryParams.goalCategory" placeholder="请输入目标类型" @change="changeGoalCategoryQuery" @keyup.enter.native="handleQuery">
-          <el-option
-            v-for="item in goalCategoryList"
-            :key="item.value"
-            :label="item.label"
-            :value="item.value">
-          </el-option>
-        </el-select>
-      </el-form-item>
-      <el-form-item v-if="queryParams.goalCategory === '客户维度'" label="客户" prop="custom">
-        <el-popover-select-v2 v-model="queryParams.custom" title="客户" valueKey="name"
-                              referName="CUSTOMER_PARAM"
-                              :dataMapping="{ customCode: 'code', custom: 'name'}"
-                              :source.sync="queryParams" placeholder="请输入客户">
-        </el-popover-select-v2>
-      </el-form-item>
-      <el-form-item v-if="queryParams.goalCategory === '销售区域'" label="销售区域" prop="saleZone">
-        <el-popover-select-v2 v-model="queryParams.saleZoneCode" title="销售区域" valueKey="name"
-                              referName="DEPT_PARAM"
-                              :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
-                              :source.sync="queryParams" placeholder="请输入销售区域">
-        </el-popover-select-v2>
-      </el-form-item>
-      <el-form-item v-if="queryParams.goalCategory === '一级分类'" label="一级分类" prop="oneLevelClassify">
-        <el-select v-model="queryParams.oneLevelClassify" size="mini" clearable
-                   @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-form-item v-if="queryParams.goalCategory === '二级分类'" label="二级分类" prop="custom">
-        <el-select v-model="queryParams.twoLevelClassify" size="mini" clearable
-                   @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-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="12">
+          <el-form-item label="单据日期" prop="documentDate">
+            <el-date-picker
+              v-model="documentDateRange"
+              @change="setBeginAndEnd"
+              type="daterange"
+              align="right"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              value-format="yyyy-MM-dd"
+              @keyup.enter.native="handleQuery"
+              :picker-options="pickerOptions">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <el-row :gutter="20">
+        <el-col :span="6">
+          <el-form-item label="年度" prop="annual">
+            <el-date-picker
+              v-model="queryParams.annual"
+              type="year"
+              clearable
+              value-format="yyyy"
+              @keyup.enter.native="handleQuery"
+              placeholder="请输入年度">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item label="月份" prop="monthly">
+            <el-date-picker
+              v-model="queryParams.monthly"
+              type="month"
+              clearable
+              value-format="yyyy-MM"
+              @keyup.enter.native="handleQuery"
+              placeholder="请输入月份">
+            </el-date-picker>
+          </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="{ deptCode: 'code', dept: '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="goalCategory">
+            <el-select v-model="queryParams.goalCategory" placeholder="请输入目标类型" @change="changeGoalCategoryQuery" @keyup.enter.native="handleQuery">
+              <el-option
+                v-for="item in goalCategoryList"
+                :key="item.value"
+                :label="item.label"
+                :value="item.value">
+              </el-option>
+            </el-select>
+          </el-form-item>
+        </el-col>
+        <el-col :span="6">
+          <el-form-item v-if="queryParams.goalCategory === '客户维度'" label="客户" prop="custom">
+            <el-popover-select-v2 v-model="queryParams.custom" title="客户" valueKey="name"
+                                  referName="CUSTOMER_PARAM"
+                                  :dataMapping="{ customCode: 'code', custom: 'name'}"
+                                  :source.sync="queryParams" placeholder="请输入客户">
+            </el-popover-select-v2>
+          </el-form-item>
+          <el-form-item v-if="queryParams.goalCategory === '销售区域'" label="销售区域" prop="saleZone">
+            <el-popover-select-v2 v-model="queryParams.saleZoneCode" title="销售区域" valueKey="name"
+                                  referName="DEPT_PARAM"
+                                  :dataMapping="{ saleZoneCode: 'code', saleZone: 'name'}"
+                                  :source.sync="queryParams" placeholder="请输入销售区域">
+            </el-popover-select-v2>
+          </el-form-item>
+          <el-form-item v-if="queryParams.goalCategory === '一级分类'" label="一级分类" prop="oneLevelClassify">
+            <el-select v-model="queryParams.oneLevelClassify" size="mini" clearable
+                       @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-form-item v-if="queryParams.goalCategory === '二级分类'" label="二级分类" prop="custom">
+            <el-select v-model="queryParams.twoLevelClassify" size="mini" clearable
+                       @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>
+            <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-form-item>
+        </el-col>
+      </el-row>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" style="float: right">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -324,7 +350,7 @@
         </el-row>
       </el-form>
 
-      <el-row :gutter="10" class="mb8">
+      <el-row :gutter="10" class="mb8" style="float: right; margin-right: 30px">
         <el-col :span="1.5">
           <el-button type="primary" plain icon="el-icon-folder-opened" size="mini" @click="clickMerge">合 并</el-button>
         </el-col>

+ 1 - 1
src/views/business/spd/goal_management/MonthReturnGoal.vue

@@ -74,7 +74,7 @@
         </el-popover-select-v2>
       </el-form-item>
     </el-form>
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" style="float: right">
       <el-col :span="1.5">
         <el-button
           type="primary"

+ 1 - 1
src/views/business/spd/goal_management/MonthReturnMerge.vue

@@ -75,7 +75,7 @@
       </el-popover-select-v2>
     </el-form-item>
   </el-form>
-  <el-row :gutter="10" class="mb8">
+  <el-row :gutter="10" class="mb8" style="float: right">
     <el-col :span="1.5">
       <el-button
         type="primary"

+ 98 - 74
src/views/business/spd/goal_management/MonthSaleGoal.vue

@@ -1,81 +1,105 @@
 <template>
   <div class="app-container">
     <el-form :model="queryParams" ref="queryForm" size="small" :inline="true" v-show="showSearch" label-width="68px">
-      <el-form-item label="编码" prop="code">
-        <el-input
-          v-model="queryParams.code"
-          placeholder="请输入编码"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="目标名称" prop="goalName">
-        <el-input
-          v-model="queryParams.goalName"
-          placeholder="请输入目标名称"
-          clearable
-          @keyup.enter.native="handleQuery"
-        />
-      </el-form-item>
-      <el-form-item label="单据日期" prop="documentDate">
-        <el-date-picker
-          v-model="documentDateRange"
-          value-format="yyyy-MM-dd"
-          @change="setBeginAndEnd"
-          type="daterange"
-          align="right"
-          unlink-panels
-          range-separator="至"
-          start-placeholder="开始日期"
-          end-placeholder="结束日期"
-          :picker-options="pickerOptions">
-        </el-date-picker>
-      </el-form-item>
-      <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-form-item>
-      <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-form-item label="客户" prop="custom">
-        <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-form-item label="销售区域" prop="saleZone">
-        <el-popover-select-v2 v-model="queryParams.saleZone" title="销售区域" valueKey="name"
-                              referName="CUSTOMER_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="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-form-item label="部门" prop="dept">
-        <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-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="12">
+          <el-form-item label="单据日期" prop="documentDate">
+            <el-date-picker
+              v-model="documentDateRange"
+              value-format="yyyy-MM-dd"
+              @change="setBeginAndEnd"
+              type="daterange"
+              align="right"
+              unlink-panels
+              range-separator="至"
+              start-placeholder="开始日期"
+              end-placeholder="结束日期"
+              :picker-options="pickerOptions">
+            </el-date-picker>
+          </el-form-item>
+        </el-col>
+      </el-row>
+      <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">
+            <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="CUSTOMER_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: 'code', 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>
+            <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-form-item>
+        </el-col>
+      </el-row>
     </el-form>
 
-    <el-row :gutter="10" class="mb8">
+    <el-row :gutter="10" class="mb8" style="float: right">
       <el-col :span="1.5">
         <el-button
           type="primary"
@@ -272,7 +296,7 @@
           </el-col>
         </el-row>
       </el-form>
-      <el-row :gutter="10" class="mb8">
+      <el-row :gutter="10" class="mb8" style="float: right; margin-right: 30px">
         <el-col :span="1.5">
           <el-button type="primary" plain icon="el-icon-plus" size="mini" @click="handleAddDetails">增行</el-button>
         </el-col>