From 3909a52d26dca085a6ead5d0fbaca0ce512e27f7 Mon Sep 17 00:00:00 2001
From: guoshilong <123456>
Date: Fri, 23 Sep 2022 09:39:31 +0800
Subject: [PATCH] 数据统计人员统计

---
 src/views/userstatistics/userstatistics.vue |   27 ++++++
 src/views/taskinfo/taskplanUser.vue         |    2 
 src/api/userstatistics/repairtask.js        |   14 +++
 src/views/userstatistics/repairtask.vue     |  132 +++++++++++++++++++++++++++++++++
 src/util/date.js                            |   42 ++++++++++
 src/views/taskinfo/taskinfoPlan.vue         |    7 -
 src/views/taskinfo/taskinfo.vue             |    8 -
 7 files changed, 218 insertions(+), 14 deletions(-)

diff --git a/src/api/userstatistics/repairtask.js b/src/api/userstatistics/repairtask.js
new file mode 100644
index 0000000..5336311
--- /dev/null
+++ b/src/api/userstatistics/repairtask.js
@@ -0,0 +1,14 @@
+import request from "@/router/axios";
+
+export const getUserStatistics = (current, size,startTime,endTime) =>{
+  return request({
+    url: '/api/userstatistics/userstatistics/getRepairTask',
+    method: 'post',
+    params: {
+      startTime,
+      endTime,
+      current,
+      size,
+    }
+  })
+}
diff --git a/src/util/date.js b/src/util/date.js
index 88b9e6a..0088524 100644
--- a/src/util/date.js
+++ b/src/util/date.js
@@ -56,3 +56,45 @@
 export function dateNow() {
   return dateFormat(new Date(), "yyyyMMddhhmmss");
 }
+
+/**
+ * 获取本月1号时间
+ */
+export function getMonthStart(){
+  var myDate = new Date();
+  var year = myDate.getFullYear();
+  //获取当前月份(0-11,0代表1月,所以要加1);
+  var month = myDate.getMonth() + 1;
+  //获取当前日(1-31)
+  var day = myDate.getDate();
+  if (month < 10) {
+    month = "0" + month;
+  }
+  if (day >= 0 && day <= 9) {
+    day = "0" + day;
+  }
+  var firstDay = year + "-" + month + "-01";
+  // this.query['startTime'] = firstDay;
+  return firstDay;
+}
+
+/**
+ * 获取本月当前日的时间
+ */
+export function getMonthEnd(){
+  var myDate = new Date();
+  var year = myDate.getFullYear();
+  //获取当前月份(0-11,0代表1月,所以要加1);
+  var month = myDate.getMonth() + 1;
+  //获取当前日(1-31)
+  var day = myDate.getDate();
+  if (month < 10) {
+    month = "0" + month;
+  }
+  if (day >= 0 && day <= 9) {
+    day = "0" + day;
+  }
+  var thisDay = year + "-" + month + "-" + day;
+  // this.query['endTime'] = thisDay;
+  return thisDay;
+}
diff --git a/src/views/taskinfo/taskinfo.vue b/src/views/taskinfo/taskinfo.vue
index bfd8d42..e7bc2fe 100644
--- a/src/views/taskinfo/taskinfo.vue
+++ b/src/views/taskinfo/taskinfo.vue
@@ -163,13 +163,7 @@
           });
       },
       beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          getDetail(this.form.id).then(res => {
-            this.form = res.data.data;
-            console.log( this.form.routeRange,123456)
-            // this.form.routeRange = '\'' + this.form.routeRange + '\''
-          });
-        } else {
+        if (["add"].includes(type)) {
           const date = new Date()
           const year = date.getFullYear()
           const month = date.getMonth() + 1
diff --git a/src/views/taskinfo/taskinfoPlan.vue b/src/views/taskinfo/taskinfoPlan.vue
index 600d30f..d56720c 100644
--- a/src/views/taskinfo/taskinfoPlan.vue
+++ b/src/views/taskinfo/taskinfoPlan.vue
@@ -177,12 +177,7 @@
           });
       },
       beforeOpen(done, type) {
-        if (["edit", "view"].includes(type)) {
-          // getDetail(this.form.id).then(res => {
-          //   this.form = res.data.data;
-          //   // this.form.routeRange = '\'' + this.form.routeRange + '\''
-          // });
-        } else {
+        if (["add"].includes(type)) {
           this.form.status = 2
         }
         done();
diff --git a/src/views/taskinfo/taskplanUser.vue b/src/views/taskinfo/taskplanUser.vue
index 0231a22..dcdd684 100644
--- a/src/views/taskinfo/taskplanUser.vue
+++ b/src/views/taskinfo/taskplanUser.vue
@@ -200,7 +200,7 @@
           this.data = data.records;
           this.loading = false;
           this.selectionClear();
-          this.getUserList();
+
         });
       },
       getUserList(){
diff --git a/src/views/userstatistics/repairtask.vue b/src/views/userstatistics/repairtask.vue
new file mode 100644
index 0000000..187000b
--- /dev/null
+++ b/src/views/userstatistics/repairtask.vue
@@ -0,0 +1,132 @@
+<template>
+  <basic-container>
+    <avue-crud ref="crud"
+               :option="option"
+               :page.sync="page"
+               :table-loading="loading"
+               @row-update="rowUpdate"
+               @row-save="rowSave"
+               @row-del="rowDel"
+               @refresh-change="refreshChange"
+               @search-reset="searchChange"
+               @search-change="searchChange"
+               v-model="form"
+               :data="data">
+    </avue-crud>
+  </basic-container>
+</template>
+
+<script>
+import {getUserStatistics} from "@/api/userstatistics/repairtask";
+import {getMonthStart,getMonthEnd} from "@/util/date";
+
+export default {
+  name: "repairtask",
+  data() {
+    return {
+      option: {
+        border: true,
+        stripe: false,
+        addBtn: false,
+        header: false,
+        menu: false,
+        searchShow: true,
+        searchMenuSpan: 6,
+        height: 520,
+        menuWidth: 200,
+        menuAlign: "center",
+        align: "center",
+        selection: false,
+        showSummary: true,
+        indexFixed: false,
+        selectionFixed: false,
+        expandFixed: false,
+        menuFixed: false,
+        column: [
+          {
+            label: "姓名",
+            prop: "name",
+          },
+          {
+            label: "维修待完成",
+            prop: "wxDaiNum"
+          },
+          {
+            label: "维修已完成",
+            prop: "wxOkNum"
+          },
+          {
+            label: "任务待完成",
+            prop: "skDaiNum"
+          },
+          {
+            label: "任务已完成",
+            prop: "skOkNum"
+          }, {
+            label: "筛选时间段",
+            prop: "releaseTimeRange",
+            span: 12,
+            hide: true,
+            search: true,
+            searchSpan: 7,
+            searchLabelWidth: 110,
+            searchRange: true,
+            searchValue: [getMonthStart(), getMonthEnd()],
+            type: "date",
+            format: "yyyy-MM-dd",
+            valueFormat: "yyyy-MM-dd",
+            rules: [
+              {
+                required: true,
+                message: "请选择时间",
+                trigger: "click",
+              },
+            ],
+          }
+        ]
+      },
+      page:{
+        pageSize: 10,
+        currentPage: 1,
+        total: 0,
+      },
+      form:{},
+      query:{},
+      data:[]
+    }
+  },
+  created() {
+
+  },
+  mounted() {
+    this.query.startTime = getMonthStart()
+    this.query.endTime = getMonthEnd()
+    this.onLoad()
+  },
+  methods: {
+    searchReset() {
+      this.query = {};
+      this.onLoad();
+    },
+    searchChange(params, done) {
+      this.query.startTime = params.releaseTimeRange[0];
+      this.query.endTime =  params.releaseTimeRange[1];
+      this.onLoad();
+      this.query={}
+      done();
+    },
+    onLoad() {
+        getUserStatistics(this.page.currentPage,this.page.pageSize,this.query.startTime,this.query.endTime).then(res=>{
+          if (res.data.code == 200){
+            var data = res.data.data
+            this.data = data.records
+          }
+        })
+    }
+  }
+}
+</script>
+
+<style scoped>
+
+</style>
diff --git a/src/views/userstatistics/userstatistics.vue b/src/views/userstatistics/userstatistics.vue
new file mode 100644
index 0000000..138101b
--- /dev/null
+++ b/src/views/userstatistics/userstatistics.vue
@@ -0,0 +1,27 @@
+<template>
+  <div class="statistics-body">
+    <el-tabs v-model="activeName" @tab-click="handleClick">
+      <!-- 人员统计 -->
+      <el-tab-pane label="人员统计" name="tab1">
+        <repairtask></repairtask>
+      </el-tab-pane>
+    </el-tabs>
+  </div>
+</template>
+
+<script>
+import Repairtask from "@/views/userstatistics/repairtask";
+export default {
+  name: "userstatistics",
+  components: {Repairtask},
+  data() {
+    return {
+      activeName: "tab1",
+    };
+  },
+}
+</script>
+
+<style scoped>
+
+</style>

--
Gitblit v1.9.3