Ver Fonte

lizhuo submits AnnualSaleGoal at 2023-7-29 17:00

002637 há 1 ano atrás
pai
commit
829776164b

+ 1 - 0
src/api/business/spd/goal_management/aDemo.js

@@ -1,5 +1,6 @@
 // 此文件为算法实验文件,用来验证算法的正确性与稳定性
 
+// 合并数组
 function mergeArray() {
   // 原始数组
   const arr = [

+ 4 - 4
src/views/business/spd/goal_management/AnnualSaleGoal.vue

@@ -32,6 +32,10 @@
           :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"
@@ -70,10 +74,6 @@
                               :source.sync="queryParams" placeholder="请输入部门" @keyup.enter.native="handleQuery">
         </el-popover-select-v2>
       </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>
 
     <el-row :gutter="10" class="mb8">

+ 26 - 20
src/views/business/spd/goal_management/AnnualSaleGoalMerge.vue

@@ -10,17 +10,23 @@
       <el-form-item label="单据日期" prop="documentDate">
         <el-date-picker
           v-model="documentDateRange"
-          @change="setBeginAndEnd"
-          value-format="yyyy-MM-dd"
           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"
@@ -76,10 +82,6 @@
           <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </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>
 
     <el-row :gutter="10" class="mb8">
@@ -701,27 +703,29 @@ export default {
       },
       documentDateRange: null,
       pickerOptions: {
-        disabledDate(time) {
-          return time.getTime() > Date.now();
-        },
         shortcuts: [{
-          text: '今天',
+          text: '最近一周',
           onClick(picker) {
-            picker.$emit('pick', new Date());
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
           }
         }, {
-          text: '昨天',
+          text: '最近一个月',
           onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24);
-            picker.$emit('pick', date);
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
           }
         }, {
-          text: '一周前',
+          text: '最近三个月',
           onClick(picker) {
-            const date = new Date();
-            date.setTime(date.getTime() - 3600 * 1000 * 24 * 7);
-            picker.$emit('pick', date);
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
           }
         }]
       },
@@ -887,8 +891,10 @@ export default {
         oneLevelClassifyCode: null,
         oneLevelClassify: null,
         twoLevelClassifyCode: null,
-        twoLevelClassify: null
+        twoLevelClassify: null,
+        params: { beginTime: null, endTime: null }
       }
+      this.documentDateRange = null
       this.resetForm("queryForm");
       this.handleQuery();
     },

+ 44 - 6
src/views/business/spd/goal_management/MonthGoalMerge.vue

@@ -9,7 +9,8 @@
       </el-form-item>
       <el-form-item label="单据日期" prop="documentDate">
         <el-date-picker
-          v-model="queryParams.documentDateRange"
+          v-model="documentDateRange"
+          @change="setBeginAndEnd"
           type="daterange"
           align="right"
           unlink-panels
@@ -21,6 +22,10 @@
           :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"
@@ -93,10 +98,6 @@
           <el-option v-for="item in classOptions" :key="item.id" :label="item.name" :value="item.id" />
         </el-select>
       </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>
 
     <el-row :gutter="10" class="mb8">
@@ -501,8 +502,9 @@ export default {
         oneLevelClassify: null,
         twoLevelClassifyCode: null,
         twoLevelClassify: null,
-        documentDateRange: null
+        params: { beginTime: null, endTime: null }
       },
+      documentDateRange: null,
       pickerOptions: {
         shortcuts: [{
           text: '最近一周',
@@ -661,6 +663,32 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        code: null,
+        goalName: null,
+        documentDate: null,
+        annual: null,
+        monthly: null,
+        customCode: null,
+        custom: null,
+        creatorCode: null,
+        creator: null,
+        deptCode: null,
+        dept: null,
+        goalCategory: null,
+        goalSum: null,
+        documentStatus: null,
+        saleZoneCode: null,
+        saleZone: null,
+        oneLevelClassifyCode: null,
+        oneLevelClassify: null,
+        twoLevelClassifyCode: null,
+        twoLevelClassify: null,
+        params: { beginTime: null, endTime: null }
+      }
+      this.documentDateRange = null
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -1023,6 +1051,16 @@ export default {
         this.monthGoalMergeDetailsList = response.data.monthGoalMergeDetails
         this.computeTotal()
       })
+    },
+    setBeginAndEnd() {
+      let array = this.documentDateRange
+      if (array !== null) {
+        this.queryParams.params.beginTime = array[0]
+        this.queryParams.params.endTime = array[1]
+      } else {
+        this.queryParams.beginTime = null
+        this.queryParams.endTime = null
+      }
     }
   }
 };

+ 5 - 6
src/views/business/spd/goal_management/MonthReturnGoal.vue

@@ -31,6 +31,10 @@
           :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"
@@ -69,10 +73,6 @@
                               :source.sync="queryParams" placeholder="请输入部门" @keyup.enter.native="handleQuery">
         </el-popover-select-v2>
       </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>
     <el-row :gutter="10" class="mb8">
       <el-col :span="1.5">
@@ -260,8 +260,7 @@
       </el-row>
       <el-tabs v-model="activeName">
         <el-tab-pane label="月回款目标明细" name="monthReturnGoalDetails">
-<!--          v-loading="loading"-->
-          <el-table :data="monthReturnGoalDetailsList" @selection-change="handleSelectionChange">
+          <el-table v-loading="loading" :data="monthReturnGoalDetailsList" @selection-change="handleSelectionChange">
             <el-table-column type="selection" width="55" align="center" fixed />
             <el-table-column label="销售组织" align="center" prop="saleOrg" width="180" :render-header="addRedStar">
               <template slot-scope="scope">

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

@@ -22,6 +22,10 @@
         :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"
@@ -70,10 +74,6 @@
                             :source.sync="queryParams" placeholder="请输入部门">
       </el-popover-select-v2>
     </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>
   <el-row :gutter="10" class="mb8">
     <el-col :span="1.5">

+ 76 - 10
src/views/business/spd/goal_management/MonthSaleGoal.vue

@@ -18,13 +18,23 @@
         />
       </el-form-item>
       <el-form-item label="单据日期" prop="documentDate">
-        <el-date-picker clearable
-                        v-model="queryParams.documentDate"
-                        type="date"
-                        value-format="yyyy-MM-dd"
-                        placeholder="请选择单据日期">
+        <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"
@@ -63,10 +73,6 @@
                               :source.sync="queryParams" placeholder="请输入部门" @keyup.enter.native="handleQuery">
         </el-popover-select-v2>
       </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>
 
     <el-row :gutter="10" class="mb8">
@@ -438,7 +444,36 @@ export default {
         dept: null,
         goalSum: null,
         notes: null,
-        documentStatus: null
+        documentStatus: null,
+        params: { beginTime: null, endTime: null }
+      },
+      documentDateRange: null,
+      pickerOptions: {
+        shortcuts: [{
+          text: '最近一周',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 7);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '最近一个月',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 30);
+            picker.$emit('pick', [start, end]);
+          }
+        }, {
+          text: '最近三个月',
+          onClick(picker) {
+            const end = new Date();
+            const start = new Date();
+            start.setTime(start.getTime() - 3600 * 1000 * 24 * 90);
+            picker.$emit('pick', [start, end]);
+          }
+        }]
       },
       // 表单参数
       form: {
@@ -554,6 +589,27 @@ export default {
     },
     /** 重置按钮操作 */
     resetQuery() {
+      this.queryParams = {
+        pageNum: 1,
+        pageSize: 10,
+        code: null,
+        goalName: null,
+        documentDate: null,
+        annual: null,
+        customCode: null,
+        custom: null,
+        saleZoneCode: null,
+        saleZone: null,
+        creatorCode: null,
+        creator: null,
+        deptCode: null,
+        dept: null,
+        goalSum: null,
+        notes: null,
+        documentStatus: null,
+        params: { beginTime: null, endTime: null }
+      }
+      this.documentDateRange = null
       this.resetForm("queryForm");
       this.handleQuery();
     },
@@ -754,6 +810,16 @@ export default {
         }
       }
       return true
+    },
+    setBeginAndEnd() {
+      let array = this.documentDateRange
+      if (array !== null) {
+        this.queryParams.params.beginTime = array[0]
+        this.queryParams.params.endTime = array[1]
+      } else {
+        this.queryParams.beginTime = null
+        this.queryParams.endTime = null
+      }
     }
   }
 }