Эх сурвалжийг харах

chore: 日报导出联调&周报联调

cfofpp 6 сар өмнө
parent
commit
1857c1b5ad

+ 16 - 0
src/api/secure/daily-newspaper.js

@@ -8,3 +8,19 @@ export function getReportDay(date) {
     method: "get",
   });
 }
+
+//日报导出
+export function dayExport(date) {
+  return request({
+    url: `/power/report/dayExport?reportDate=${date}`,
+    method: "post",
+    responseType: "blob",
+  });
+}
+// 周报列表
+export function getReportWeek(startDate, endDate) {
+  return request({
+    url: `/power/report/week?startDate=${startDate}&endDate=${endDate}`,
+    method: "get",
+  });
+}

+ 70 - 24
src/views/secure/daily-newspaper/index.vue

@@ -1,26 +1,48 @@
 <template>
   <div class="app-container">
-    <el-date-picker
-      v-model="dateRange"
-      style="width: 240px; margin-right: 8px"
-      size="mini"
-      type="date"
-      value-format="yyyyMMdd"
-      :clearable="false"
-    ></el-date-picker>
-    <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-button icon="el-icon-download" size="mini" @click="onExport"
-      >导出</el-button
-    >
+    <el-form size="small" :inline="true">
+      <el-form-item label="日期" prop="menuName">
+        <el-date-picker
+          v-model="dateRange"
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          type="date"
+          value-format="yyyyMMdd"
+          :clearable="false"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item label="作业单位" prop="status">
+        <el-select
+          style="margin-right: 8px"
+          size="mini"
+          v-model="value"
+          placeholder="请选择"
+        >
+          <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </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-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
     <div v-loading="loading">
       <el-tabs v-model="activeName" @tab-click="handleClick">
         <el-tab-pane label="违章查处情况" name="violationSituationTableRef">
@@ -67,7 +89,7 @@ import OtherSafetySituationsTable from "./components/other-safety-situations-tab
 import TomorrowPlanSituationTable from "./components/tomorrow-plan-situation-table.vue";
 import PersonnelDutyStatusTable from "./components/personnel-duty-status-table.vue";
 import moment from "moment";
-import { getReportDay } from "@/api/secure/daily-newspaper";
+import { getReportDay, dayExport } from "@/api/secure/daily-newspaper";
 export default {
   components: {
     ViolationSituationTable,
@@ -88,6 +110,17 @@ export default {
         pageNum: 1,
         pageSize: 10,
       },
+      value: "",
+      options: [
+        {
+          value: "选项1",
+          label: "黄金糕",
+        },
+        {
+          value: "选项2",
+          label: "双皮奶",
+        },
+      ],
     };
   },
   mounted() {
@@ -98,7 +131,6 @@ export default {
     handleClick(tab, event) {
       console.log(tab, event, "---------ddd");
       this.activeName = tab.name;
-      this.handleQuery();
     },
     /** 搜索按钮操作 */
     async handleQuery() {
@@ -121,7 +153,21 @@ export default {
         .format("YYYYMMDD");
       this.handleQuery();
     },
-    onExport() {},
+    async onExport() {
+      const res = await dayExport(this.dateRange);
+      if (res) {
+        const elink = document.createElement("a");
+        elink.download = `日报-${this.dateRange}.xls`;
+        elink.style.display = "none";
+        const blob = new Blob([res], { type: "application/x-msdownload" });
+        elink.href = URL.createObjectURL(blob);
+        document.body.appendChild(elink);
+        elink.click();
+        document.body.removeChild(elink);
+      } else {
+        this.$message.error("导出异常请联系管理员");
+      }
+    },
   },
 };
 </script>

+ 3 - 32
src/views/secure/weekly-report/components/level3-above-plans-table.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
+  <el-table :data="tableData" border style="width: 100%">
     <el-table-column prop="date" label="序号" width="80" align="center">
       <template slot-scope="scope">{{ scope.$index + 1 }}</template>
     </el-table-column>
@@ -24,39 +24,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 3 - 32
src/views/secure/weekly-report/components/line-missing-situation-table.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
+  <el-table :data="tableData" border style="width: 100%">
     <el-table-column prop="name" label="单位" align="center">
       <template slot-scope="scope">{{ scope.$index + 1 }}</template>
     </el-table-column>
@@ -32,39 +32,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 13 - 42
src/views/secure/weekly-report/components/next-week-plan-situation-table.vue

@@ -1,28 +1,28 @@
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
-    <el-table-column prop="name" label="单位名称" align="center">
+  <el-table :data="tableData" border style="width: 100%">
+    <el-table-column prop="company" label="单位名称" align="center">
     </el-table-column>
     <el-table-column label="作业类型" align="center">
-      <el-table-column prop="address" label="倒闸操作" align="center">
+      <el-table-column prop="workType1Sum" label="倒闸操作" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="配网工程" align="center">
+      <el-table-column prop="workType2Sum" label="配网工程" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="运维检修" align="center">
+      <el-table-column prop="workType3Sum" label="运维检修" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="总计" align="center">
+      <el-table-column prop="workTotal" label="总计" align="center">
       </el-table-column>
     </el-table-column>
-    <el-table-column prop="address" label="带电作业数量" align="center">
+    <el-table-column prop="elePlanSum" label="带电作业数量" align="center">
     </el-table-column>
     <el-table-column label="作业风险等级" align="center">
-      <el-table-column prop="address" label="三级" align="center">
+      <el-table-column prop="planLeve3" label="三级" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="四级" align="center">
+      <el-table-column prop="planLeve4" label="四级" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="五级" align="center">
+      <el-table-column prop="planLeve5" label="五级" align="center">
       </el-table-column>
     </el-table-column>
-    <el-table-column prop="address" label="重点关注检修面" align="center">
+    <el-table-column prop="checkDetail" label="重点关注检修面" align="center">
     </el-table-column>
   </el-table>
 </template>
@@ -31,39 +31,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 20 - 41
src/views/secure/weekly-report/components/thoughtful-job-situation-table.vue

@@ -1,28 +1,36 @@
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
-    <el-table-column prop="name" label="作业单位" align="center">
+  <el-table :data="tableData" border style="width: 100%">
+    <el-table-column prop="company" label="作业单位" align="center">
     </el-table-column>
     <el-table-column label="督查现场数量" align="center">
-      <el-table-column prop="address" label="三级风险" align="center">
+      <el-table-column prop="checkNum3" label="三级风险" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="四级风险" align="center">
+      <el-table-column prop="checkNum4" label="四级风险" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="五级风险" align="center">
+      <el-table-column prop="checkNum5" label="五级风险" align="center">
       </el-table-column>
     </el-table-column>
-    <el-table-column prop="address" label="领导现场督查次数" align="center">
+    <el-table-column prop="bossSum" label="领导现场督查次数" align="center">
     </el-table-column>
-    <el-table-column prop="address" label="专业管理人员督查次数" align="center">
+    <el-table-column
+      prop="manageSum"
+      label="专业管理人员督查次数"
+      align="center"
+    >
     </el-table-column>
-    <el-table-column prop="address" label="发现问题数量" align="center">
+    <el-table-column prop="problemSum" label="发现问题数量" align="center">
     </el-table-column>
     <el-table-column
-      prop="address"
+      prop="absentSum"
       label="督查履职不到位现场数量"
       align="center"
     >
     </el-table-column>
-    <el-table-column prop="address" label="市公司查处问题数量" align="center">
+    <el-table-column
+      prop="cityCheckSum"
+      label="市公司查处问题数量"
+      align="center"
+    >
     </el-table-column>
   </el-table>
 </template>
@@ -31,39 +39,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 3 - 32
src/views/secure/weekly-report/components/update-on-external-risks-table.vue

@@ -1,5 +1,5 @@
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
+  <el-table :data="tableData" border style="width: 100%">
     <el-table-column prop="name" label="单位" align="center"> </el-table-column>
     <el-table-column prop="address" label="外触隐患" align="center">
     </el-table-column>
@@ -16,39 +16,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 24 - 41
src/views/secure/weekly-report/components/weekly-plan-situation-table.vue

@@ -1,28 +1,40 @@
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
+  <el-table :data="tableData" border style="width: 100%">
     <el-table-column prop="date" label="序号" width="80" align="center">
       <template slot-scope="scope">{{ scope.$index + 1 }}</template>
     </el-table-column>
-    <el-table-column prop="name" label="作业单位" align="center">
+    <el-table-column prop="company" label="作业单位" align="center">
     </el-table-column>
-    <el-table-column prop="name" label="作业信息总数" align="center">
+    <el-table-column prop="total" label="作业信息总数" align="center">
     </el-table-column>
     <el-table-column label="周计划" align="center">
-      <el-table-column prop="address" label="周计划总数" align="center">
+      <el-table-column prop="weekSum" label="周计划总数" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="周计划取消书" align="center">
+      <el-table-column prop="weekCancelSum" label="周计划取消数" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="周计划执行率" align="center">
+      <el-table-column prop="weekRatio" label="周计划执行率" align="center">
       </el-table-column>
     </el-table-column>
     <el-table-column label="临时计划数" align="center">
-      <el-table-column prop="address" label="临时计划总数" align="center">
+      <el-table-column prop="temporarySum" label="临时计划总数" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="临时计划取消数" align="center">
+      <el-table-column
+        prop="temporaryCancelSum"
+        label="临时计划取消数"
+        align="center"
+      >
       </el-table-column>
-      <el-table-column prop="address" label="临时计划执行率" align="center">
+      <el-table-column
+        prop="temporaryRatio"
+        label="临时计划执行率"
+        align="center"
+      >
       </el-table-column>
-      <el-table-column prop="address" label="临时计划率" align="center">
+      <el-table-column
+        prop="temporaryPlanRatio"
+        label="临时计划率"
+        align="center"
+      >
       </el-table-column>
     </el-table-column>
   </el-table>
@@ -32,39 +44,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 10 - 39
src/views/secure/weekly-report/components/weekly-violation-situation-table.vue

@@ -1,27 +1,27 @@
 
 <template>
-  <el-table :data="tableData" border v-loading="loading" style="width: 100%">
+  <el-table :data="tableData" border style="width: 100%">
     <el-table-column prop="date" label="序号" width="80" align="center">
       <template slot-scope="scope">{{ scope.$index + 1 }}</template>
     </el-table-column>
-    <el-table-column prop="name" label="作业单位" align="center">
+    <el-table-column prop="company" label="作业单位" align="center">
     </el-table-column>
     <el-table-column label="省公司查处违章" align="center">
-      <el-table-column prop="address" label="严重" align="center">
+      <el-table-column prop="provinceNum1" label="严重" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="一般" align="center">
+      <el-table-column prop="provinceNum2" label="一般" align="center">
       </el-table-column>
     </el-table-column>
     <el-table-column label="市公司查处违章" align="center">
-      <el-table-column prop="address" label="严重" align="center">
+      <el-table-column prop="cityNum1" label="严重" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="一般" align="center">
+      <el-table-column prop="cityNum2" label="一般" align="center">
       </el-table-column>
     </el-table-column>
     <el-table-column label="县公司查处违章" align="center">
-      <el-table-column prop="address" label="严重" align="center">
+      <el-table-column prop="countyNum1" label="严重" align="center">
       </el-table-column>
-      <el-table-column prop="address" label="一般" align="center">
+      <el-table-column prop="countyNum2" label="一般" align="center">
       </el-table-column>
     </el-table-column>
   </el-table>
@@ -31,39 +31,10 @@
 export default {
   data() {
     return {
-      loading: true,
-      tableData: [
-        {
-          date: "2016-05-02",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1518 弄",
-        },
-        {
-          date: "2016-05-04",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1517 弄",
-        },
-        {
-          date: "2016-05-01",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1519 弄",
-        },
-        {
-          date: "2016-05-03",
-          name: "王小虎",
-          address: "上海市普陀区金沙江路 1516 弄",
-        },
-      ],
+      tableData: [],
     };
   },
-  methods: {
-    getList(dateRange) {
-      this.loading = true;
-      setTimeout(() => {
-        this.loading = false;
-      }, 2000);
-    },
-  },
+  methods: {},
 };
 </script>
 

+ 109 - 38
src/views/secure/weekly-report/index.vue

@@ -1,29 +1,49 @@
 <template>
   <div class="app-container">
-    <el-date-picker
-      v-model="dateRange"
-      style="width: 240px; margin-right: 8px"
-      value-format="yyyy-MM-dd"
-      type="daterange"
-      size="mini"
-      range-separator="-"
-      :clearable="false"
-      start-placeholder="开始日期"
-      end-placeholder="结束日期"
-    ></el-date-picker>
-    <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-button icon="el-icon-download" size="mini" @click="onExport"
-      >导出</el-button
-    >
+    <el-form size="small" :inline="true">
+      <el-form-item label="日期" prop="menuName">
+        <el-date-picker
+          style="width: 240px; margin-right: 8px"
+          size="mini"
+          v-model="dateRange"
+          type="week"
+          format="yyyy 第 WW 周"
+          placeholder="选择周"
+          :picker-options="{ firstDayOfWeek: 1 }"
+        ></el-date-picker>
+      </el-form-item>
+      <el-form-item label="作业单位" prop="status">
+        <el-select
+          style="margin-right: 8px"
+          size="mini"
+          v-model="value"
+          placeholder="请选择"
+        >
+          <el-option
+            v-for="item in options"
+            :key="item.value"
+            :label="item.label"
+            :value="item.value"
+          >
+          </el-option>
+        </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-button icon="el-icon-download" size="mini" @click="onExport"
+          >导出</el-button
+        >
+      </el-form-item>
+    </el-form>
     <el-tabs v-model="activeName" @tab-click="handleClick">
       <el-tab-pane label="本周计划执行情况" name="weeklyPlanSituationTableRef">
         <WeeklyPlanSituationTable ref="weeklyPlanSituationTableRef" />
@@ -35,21 +55,18 @@
         <Level3AbovePlansTable ref="level3AbovePlansTableRef" />
       </el-tab-pane>
       <el-tab-pane
-        v-if="false"
         label="下周计划安排情况"
         name="nextWeekPlanSituationTableRef"
       >
         <NextWeekPlanSituationTable ref="nextWeekPlanSituationTableRef" />
       </el-tab-pane>
       <el-tab-pane
-        v-if="false"
         label="本周违章查处情况"
         name="weeklyViolationSituationTableRef"
       >
         <WeeklyViolationSituationTable ref="weeklyViolationSituationTableRef" />
       </el-tab-pane>
       <el-tab-pane
-        v-if="false"
         label="本周到岗到位履职情况"
         name="thoughtfulJobSituationTableRef"
       >
@@ -89,6 +106,7 @@ import UpdateOnExternalRisksTable from "./components/update-on-external-risks-ta
 import WeeklyPlanSituationTable from "./components/weekly-plan-situation-table.vue";
 import WeeklyViolationSituationTable from "./components/weekly-violation-situation-table.vue";
 import moment from "moment";
+import { getReportWeek } from "@/api/secure/daily-newspaper";
 export default {
   components: {
     Level3AbovePlansTable,
@@ -104,41 +122,94 @@ export default {
     return {
       activeName: "weeklyPlanSituationTableRef",
       // 日期范围
-      dateRange: [
-        moment().subtract(7, "days").startOf("day").format("YYYY-MM-DD"),
-        moment().endOf("day").format("YYYY-MM-DD"),
-      ],
+      dateRange: "",
+      startDate: "", // 显示开始时间
+      endDate: "", // 显示结束时间
       total: 0,
       queryParams: {
         pageNum: 1,
         pageSize: 10,
       },
+      value: "",
+      options: [
+        {
+          value: "选项1",
+          label: "黄金糕",
+        },
+        {
+          value: "选项2",
+          label: "双皮奶",
+        },
+      ],
     };
   },
+  watch: {
+    dateRange(newVal) {
+      this.calculateStartAndEndDates(newVal);
+    },
+  },
   mounted() {
+    // 设置默认为最近的一周
+    this.setRecentWeek();
     this.handleQuery();
   },
   methods: {
     moment,
+    setRecentWeek() {
+      const today = new Date();
+      const diffDays = today.getDay() === 0 ? -6 : 1 - today.getDay(); // 调整到周一作为一周的开始
+      const startOfWeek = new Date(today);
+      startOfWeek.setDate(today.getDate() + diffDays);
+      this.dateRange = startOfWeek;
+
+      this.calculateStartAndEndDates(startOfWeek);
+    },
     handleClick(tab, event) {
       console.log(tab, event, "---------ddd");
       this.activeName = tab.name;
-      this.handleQuery();
+      // this.handleQuery();
     },
     /** 搜索按钮操作 */
-    handleQuery() {
+    async handleQuery() {
+      this.loading = true;
+      const { appointmentList, illegalList, nextList, planList } =
+        await getReportWeek(this.startDate, this.endDate);
       this.$nextTick(() => {
-        this.$refs[this.activeName].getList(this.dateRange);
+        this.$refs["weeklyPlanSituationTableRef"].tableData = planList;
+        this.$refs["level3AbovePlansTableRef"].tableData = [];
+        this.$refs["nextWeekPlanSituationTableRef"].tableData = nextList;
+        this.$refs["weeklyViolationSituationTableRef"].tableData = illegalList;
+        this.$refs["thoughtfulJobSituationTableRef"].tableData =
+          appointmentList;
       });
+      this.loading = false;
     },
     /** 重置按钮操作 */
     resetQuery() {
-      this.dateRange = [
-        moment().subtract(7, "days").startOf("day").format("YYYY-MM-DD"),
-        moment().endOf("day").format("YYYY-MM-DD"),
-      ];
+      // 设置默认为最近的一周
+      this.setRecentWeek();
       this.handleQuery();
     },
+    calculateStartAndEndDates(date) {
+      if (!date) return;
+
+      const startOfWeek = new Date(date.getTime());
+      const dayOfWeek = startOfWeek.getDay();
+      const diffDays = dayOfWeek === 0 ? -6 : 1 - dayOfWeek; // 调整到周一作为一周的开始
+      startOfWeek.setDate(startOfWeek.getDate() + diffDays);
+
+      const endOfWeek = new Date(startOfWeek);
+      endOfWeek.setDate(endOfWeek.getDate() + 6);
+
+      this.startDate = this.formatDate(startOfWeek);
+      this.endDate = this.formatDate(endOfWeek);
+    },
+    formatDate(date) {
+      const year = date.getFullYear();
+      const month = String(date.getMonth() + 1).padStart(2, "0");
+      const day = String(date.getDate()).padStart(2, "0");
+      return `${year}${month}${day}`;
+    },
     onExport() {},
   },
 };