From ffa4fdb58442c4e4304d14ec8ac6fb7f34fb4c69 Mon Sep 17 00:00:00 2001
From: spring <2396852758@qq.com>
Date: 星期一, 17 二月 2025 09:07:39 +0800
Subject: [PATCH] 修改统计日期传参

---
 src/components/view/b4-site-hours-statistics.vue |  398 ++++++++++++++++++++++++++++++--------------------------
 1 files changed, 214 insertions(+), 184 deletions(-)

diff --git a/src/components/view/b4-site-hours-statistics.vue b/src/components/view/b4-site-hours-statistics.vue
index b8f9791..fb2d20c 100644
--- a/src/components/view/b4-site-hours-statistics.vue
+++ b/src/components/view/b4-site-hours-statistics.vue
@@ -5,32 +5,56 @@
       <el-date-picker
         v-model="month"
         type="month"
-        placeholder="閫夋嫨鏈�" style="margin-right: 20px;" @change="changeTime">
+        placeholder="閫夋嫨鏈�"
+        style="margin-right: 20px;"
+        @change="changeTime"
+      >
       </el-date-picker>
     </div>
     <el-row :gutter="20" class="card" v-loading="loading">
-      <el-col :xs="24" :sm="12" :md="12" :lg="8" :xl="8" v-for="(item,index) in siteList" :key="index">
-        <div class="card-item" :style="`background: url(../../../static/img/site/bg-${item.bg}.png) no-repeat;background-size:100% 100%;margin-bottom:16px`">
-          <h3 :style="`color:${item.color};font-weight: 500;font-size: 28px;`" class="card-item-title">
-            <img :src="`../../../static/img/site/${item.name}.png`" alt="" style="width: 30px;height: 30px;margin-right: 10px;">
+      <el-col
+        :xs="24"
+        :sm="12"
+        :md="12"
+        :lg="8"
+        :xl="8"
+        v-for="(item, index) in siteList"
+        :key="index"
+      >
+        <div
+          class="card-item"
+          :style="
+            `background: url(../../../static/img/site/bg-${item.bg}.png) no-repeat;background-size:100% 100%;margin-bottom:16px`
+          "
+        >
+          <h3
+            :style="`color:${item.color};font-weight: 500;font-size: 28px;`"
+            class="card-item-title"
+          >
+            <img
+              :src="`../../../static/img/site/${item.name}.png`"
+              alt=""
+              style="width: 30px;height: 30px;margin-right: 10px;"
+            />
             <span>{{ item.name }}绔欑偣</span>
           </h3>
           <el-table
             :data="item.tableData"
-            style="width: 100%;margin-bottom: 14px;" height="410px" size="mini"border v-loading="item.loading">
-            <el-table-column
-              type="index"
-              label="搴忓彿"
-              width="60">
+            style="width: 100%;margin-bottom: 14px;"
+            height="410px"
+            size="mini"
+            border
+            v-loading="item.loading"
+          >
+            <el-table-column type="index" label="搴忓彿" width="60">
               <template #default="scope">
-              <!-- 璁$畻搴忓彿 -->
-              {{ (item.page.current - 1) * item.page.size + scope.$index + 1 }}
-            </template>
+                <!-- 璁$畻搴忓彿 -->
+                {{
+                  (item.page.current - 1) * item.page.size + scope.$index + 1
+                }}
+              </template>
             </el-table-column>
-            <el-table-column
-              prop="sampleName"
-              label="鏍峰搧鍚嶇О"
-              width="90">
+            <el-table-column prop="sampleName" label="鏍峰搧鍚嶇О" width="90">
               <template #default="scope">
                 <el-tooltip
                   class="item"
@@ -38,13 +62,13 @@
                   :content="scope.row.sampleName"
                   placement="top"
                 >
-                  <div class="single-line-ellipsis">{{ scope.row.sampleName }}</div>
+                  <div class="single-line-ellipsis">
+                    {{ scope.row.sampleName }}
+                  </div>
                 </el-tooltip>
               </template>
             </el-table-column>
-            <el-table-column
-              prop="sampleCode"
-              label="鏍峰搧缂栧彿">
+            <el-table-column prop="sampleCode" label="鏍峰搧缂栧彿">
               <template #default="scope">
                 <el-tooltip
                   class="item"
@@ -52,17 +76,15 @@
                   :content="scope.row.sampleCode"
                   placement="top"
                 >
-                  <div class="single-line-ellipsis">{{ scope.row.sampleCode }}</div>
+                  <div class="single-line-ellipsis">
+                    {{ scope.row.sampleCode }}
+                  </div>
                 </el-tooltip>
               </template>
             </el-table-column>
-            <el-table-column
-              prop="num"
-              label="娆℃暟" width="70">
+            <el-table-column prop="num" label="娆℃暟" width="70">
             </el-table-column>
-            <el-table-column
-              prop="hours"
-              label="妫�楠屾椂闀�" width="100">
+            <el-table-column prop="hours" label="妫�楠屾椂闀�" width="100">
             </el-table-column>
           </el-table>
           <el-pagination
@@ -70,7 +92,11 @@
             :page-size="item.page.size"
             :current-page="item.page.current"
             layout="prev, pager, next"
-            :total="item.page.total" small style="text-align: right;" @current-change="m=>changePage(m,item)">
+            :total="item.page.total"
+            small
+            style="text-align: right;"
+            @current-change="m => changePage(m, item)"
+          >
           </el-pagination>
         </div>
       </el-col>
@@ -80,251 +106,255 @@
 
 <script>
 export default {
-  data(){
+  data() {
     return {
-      month:'',
-      siteList:[
+      month: "",
+      siteList: [
         {
-          name:'鐢佃矾璇曢獙',
-          color:'#FABE63',
-          bg:'榛勮壊',
-          tableData:[],
-          page:{
+          name: "鐢佃矾璇曢獙",
+          color: "#FABE63",
+          bg: "榛勮壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'杩滃満',
-          color:'#6F83FF',
-          bg:'绱壊',
-          tableData:[],
-          page:{
+          name: "杩滃満",
+          color: "#6F83FF",
+          bg: "绱壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'杩戝満',
-          color:'#53B3F9',
-          bg:'钃濊壊',
-          tableData:[],
-          page:{
+          name: "杩戝満",
+          color: "#53B3F9",
+          bg: "钃濊壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'鎸姩',
-          color:'#6F83FF',
-          bg:'绱壊',
-          tableData:[],
-          page:{
+          name: "鎸姩",
+          color: "#6F83FF",
+          bg: "绱壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'娣嬮洦',
-          color:'#53B3F9',
-          bg:'钃濊壊',
-          tableData:[],
-          page:{
+          name: "娣嬮洦",
+          color: "#53B3F9",
+          bg: "钃濊壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'楂樹綆娓�',
-          color:'#80CD62',
-          bg:'缁胯壊',
-          tableData:[],
-          page:{
+          name: "楂樹綆娓�",
+          color: "#80CD62",
+          bg: "缁胯壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'鐩愰浘',
-          color:'#6F83FF',
-          bg:'绱壊',
-          tableData:[],
-          page:{
+          name: "鐩愰浘",
+          color: "#6F83FF",
+          bg: "绱壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'椋庤浇',
-          color:'#53B3F9',
-          bg:'钃濊壊',
-          tableData:[],
-          page:{
+          name: "椋庤浇",
+          color: "#53B3F9",
+          bg: "钃濊壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'璺岃惤',
-          color:'#FABE63',
-          bg:'榛勮壊',
-          tableData:[],
-          page:{
+          name: "璺岃惤",
+          color: "#FABE63",
+          bg: "榛勮壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'鑰佸寲',
-          color:'#80CD62',
-          bg:'缁胯壊',
-          tableData:[],
-          page:{
+          name: "鑰佸寲",
+          color: "#80CD62",
+          bg: "缁胯壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'闈欏帇',
-          color:'#53B3F9',
-          bg:'钃濊壊',
-          tableData:[],
-          page:{
+          name: "闈欏帇",
+          color: "#53B3F9",
+          bg: "钃濊壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'鍐插嚮',
-          color:'#6F83FF',
-          bg:'绱壊',
-          tableData:[],
-          page:{
+          name: "鍐插嚮",
+          color: "#6F83FF",
+          bg: "绱壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
+          loading: false
         },
         {
-          name:'鍔熺巼瀹归噺',
-          color:'#80CD62',
-          bg:'缁胯壊',
-          tableData:[],
-          page:{
+          name: "鍔熺巼瀹归噺",
+          color: "#80CD62",
+          bg: "缁胯壊",
+          tableData: [],
+          page: {
             current: 1,
             size: 9,
-            total:0
+            total: 0
           },
-          loading:false,
-        },
+          loading: false
+        }
       ],
-      startTime:null,
-      endTime:null,
-      loading:false,
-    }
+      startTime: null,
+      endTime: null,
+      loading: false
+    };
   },
-  mounted(){
-    this.month = new Date()
-    this.changeTime()
+  mounted() {
+    this.month = new Date();
+    this.changeTime();
   },
-  methods:{
-    init(){
-      this.loading = true
-      this.$axios.post(this.$api.report.timeByStation, {
-        startTime:this.startTime,
-        endTime:this.endTime,
-        current: 1,
-        size: 9
-      }).then(res => {
-        this.loading = false
-        if (res.code === 201) {
-          return
-        }
-        for(let m in res.data){
-          this.siteList.forEach(item=>{
-            if(item.name==m){
-              item.page.total = res.data[m].total
-              item.tableData = res.data[m].records
-            }
-          })
-        }
-      })
+  methods: {
+    init() {
+      this.loading = true;
+      this.$axios
+        .post(this.$api.report.timeByStation, {
+          startTime: this.startTime,
+          endTime: this.endTime,
+          current: 1,
+          size: 9
+        })
+        .then(res => {
+          this.loading = false;
+          if (res.code === 201) {
+            return;
+          }
+          for (let m in res.data) {
+            this.siteList.forEach(item => {
+              if (item.name == m) {
+                item.page.total = res.data[m].total;
+                item.tableData = res.data[m].records;
+              }
+            });
+          }
+        });
     },
-    changePage(current,row){
-      row.page.current = current
-      row.loading = true
-      this.$axios.post(this.$api.report.timeByStation, {
-        startTime:this.startTime,
-        endTime:this.endTime,
-        current: current,
-        size: row.page.size,
-        sonLaboratory:row.name
-      }).then(res => {
-        row.loading = false
-        if (res.code === 201) {
-          return
-        }
-        row.tableData = res.data[row.name].records
-        row.page.total = res.data[row.name].total
-      })
+    changePage(current, row) {
+      row.page.current = current;
+      row.loading = true;
+      this.$axios
+        .post(this.$api.report.timeByStation, {
+          startTime: this.startTime,
+          endTime: this.endTime,
+          current: current,
+          size: row.page.size,
+          sonLaboratory: row.name
+        })
+        .then(res => {
+          row.loading = false;
+          if (res.code === 201) {
+            return;
+          }
+          row.tableData = res.data[row.name].records;
+          row.page.total = res.data[row.name].total;
+        });
     },
-    changeTime(){
+    changeTime() {
       const year = new Date(this.month).getFullYear();
-      const month = new Date(this.month).getMonth()+1;
+      const month = new Date(this.month).getMonth() + 1;
       const day = new Date(year, month + 1, 0).getDate(); //
       // 璁剧疆璧峰鏃ユ湡鍜岀粨鏉熸棩鏈�
-      this.startTime = `${year}-${month>9?'0'+month:month}-01`
-      this.endTime = `${year}-${month>9?'0'+month:month}-${day}` // 鏈堟湯
-      this.siteList.forEach(item=>{
-        item.page.current = 1
-      })
-      this.init()
+      this.startTime = `${year}-${month > 9 ? "0" + month : month}-01`;
+      this.endTime = `${year}-${month > 9 ? "0" + month : month}-${day}`; // 鏈堟湯
+      this.siteList.forEach(item => {
+        item.page.current = 1;
+      });
+      this.init();
     }
   }
-}
+};
 </script>
 
 <style scoped>
-.title{
+.title {
   display: flex;
   align-items: center;
   justify-content: space-between;
   padding: 16px;
 }
-.card{
+.card {
   height: calc(100vh - 156px);
   overflow-y: auto;
 }
-.card-item{
+.card-item {
   height: 540px;
-  box-shadow: 0px 4px 4px 0px rgba(0,0,0,0.05);
+  box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.05);
   padding: 20px 10px 10px 20px;
   box-sizing: border-box;
 }
-.card-item-title{
+.card-item-title {
   display: flex;
   align-items: center;
   margin-bottom: 20px;

--
Gitblit v1.9.3