From 585fb0bbd4a7bc7f8f333ecba7c5fecd2ee5cbc2 Mon Sep 17 00:00:00 2001
From: qushaowei <qushaowei@163.com>
Date: 星期四, 28 三月 2024 09:46:44 +0800
Subject: [PATCH] Merge branch 'master' of http://117.34.109.166:18448/r/vue_mdc_430 into develop

---
 src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue |  150 +++++++++++++++++++++++++++++++++++++++----------
 1 files changed, 118 insertions(+), 32 deletions(-)

diff --git a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
index cc28f45..9f9fd47 100644
--- a/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
+++ b/src/views/mdc/base/modules/OvertimeManagement/OvertimeManagementList.vue
@@ -1,15 +1,15 @@
 <template>
-  <a-card :bordered="false" class="device_list">
+  <div :bordered="false" class="device_list">
     <!-- 鏌ヨ鍖哄煙 -->
     <div style="width: 100%; background-color: #fff" class="table-page-search-wrapper">
       <a-form layout="inline" @keyup.enter.native="searchQuery">
-        <a-row :gutter="24">
+        <a-row :gutter="24" style="width: 100%;">
           <a-col :md="7" :sm="7">
             <a-form-item label="鏃堕棿">
-              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYY-MM-DD HH:mm:ss" showTime/>
+              <a-range-picker @change="dateParamChange" v-model="dates"  format="YYYYMMDD"/>
             </a-form-item>
           </a-col>
-          <a-col :md="4" :sm="4">
+          <a-col :md="5" :sm="5">
             <a-form-item label="璁惧缂栧彿">
               <a-input placeholder="杈撳叆璁惧缂栧彿鏌ヨ" v-model="queryParams.equipmentId"></a-input>
             </a-form-item>
@@ -19,12 +19,18 @@
               <!--<a-input placeholder="杈撳叆璁惧鍚嶇О鏌ヨ" v-model="queryParams.equipmentName"></a-input>-->
             <!--</a-form-item>-->
           <!--</a-col>-->
-          <a-col :md="2" :sm="3" :xs="3">
-            <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-          </a-col>
           <a-col :md="2" :sm="2" :xs="2">
-            <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+            <a-space>
+              <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+              <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+            </a-space>
           </a-col>
+          <!--<a-col :md="2" :sm="3" :xs="3">-->
+            <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
+          <!--</a-col>-->
+          <!--<a-col :md="2" :sm="2" :xs="2">-->
+            <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+          <!--</a-col>-->
           <!--<a-col :lg="2" :md="3" :sm="3" :xs="3">-->
             <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
           <!--</a-col>-->
@@ -40,6 +46,8 @@
       <!--<a-upload name="file" :showUploadList="false" :multiple="false" :headers="tokenHeader" :action="importExcelUrl" @change="handleImportExcel">-->
       <!--&lt;!&ndash;<a-button type="primary" icon="import">瀵煎叆</a-button>&ndash;&gt;-->
       <!--</a-upload>-->
+      <a-button type="primary" icon="printer" v-print="'#DeviceList'" v-has="'overtimeManagement:print'">鎵撳嵃</a-button>
+
       <a-dropdown v-if="selectedRowKeys.length > 0">
         <a-menu slot="overlay">
           <a-menu-item key="1" @click="batchDel">
@@ -54,9 +62,9 @@
     </div>
 
     <!-- table鍖哄煙-begin -->
-    <div id="DeviceList">
+    <div id="DeviceList" style="flex: 1;overflow: hidden">
       <a-table ref="table" bordered size="middle" rowKey="id" :columns="columns"
-               :scroll="{x:1000}" :dataSource="dataSource" :pagination="ipagination" :loading="loading"
+               :scroll="{x:'max-content',y:scrollY}" :dataSource="dataSource" :pagination="ipagination" :loading="loading"
                :rowSelection="{selectedRowKeys: selectedRowKeys, onChange: onSelectChange}"
                @change="handleTableChange">
         <span slot="action" slot-scope="text, record">
@@ -74,6 +82,9 @@
         <span slot="model" slot-scope="text" style="font-weight: bold">
           <j-ellipsis :value="text" :length="8"/>
         </span>
+        <span slot="duration" slot-scope="text">
+          {{text|getFormattedTime}}
+        </span>
       </a-table>
     </div>
     <!-- table鍖哄煙-end -->
@@ -83,8 +94,7 @@
     <!--<device-repair-model-add  ref="modalFormadd" @ok="modalFormOk"></device-repair-model-add>-->
     <!--<device-repair-model-edit ref="modalFormedit" @ok="modalFormOk"></device-repair-model-edit>-->
     <!--<repair-model ref="repairModelFrom" @ok="modalFormOk"></repair-model>-->
-
-  </a-card>
+  </div>
 </template>
 
 <script>
@@ -139,58 +149,87 @@
         queryParamEquip:{},
         queryParamPeople:{},
         dataStartsoucre:[],
+        scrollY:465,
+        /* 鍒嗛〉鍙傛暟 */
+        ipagination:{
+          current: 1,
+          pageSize: 30,
+          pageSizeOptions: ['30', '50', '100'],
+          showTotal: (total, range) => {
+            return range[0] + "-" + range[1] + " 鍏�" + total + "鏉�"
+          },
+          showQuickJumper: true,
+          showSizeChanger: true,
+          total: 0
+        },
         columns: [
           {
             title: '璁惧缂栧彿',
             align: 'center',
-            dataIndex: 'equipmentId'
+            dataIndex: 'equipmentId',
+            width:180
           },
           {
             title: '璁惧鍚嶇О',
             align: 'center',
             dataIndex: 'equipmentName',
+            width:200
             // defaultSortOrder:'descend',
             // sorter: (a, b) => {return a.equipmentName>b.equipmentName?1:-1}
           },
           {
             title: '鏃ユ湡',
             align: 'center',
-            dataIndex: 'effectiveDate',
+            dataIndex: 'theDate',
+            width:180
             // scopedSlots:{customRender:'startTime'},
             // customRender:(text,row,index) => {
             //   return moment(text).format("YYYY-MM-DD HH:mm:ss")
             // }
           },
-          {
-            title: '鐝寮�濮嬫椂闂�',
-            align: 'center',
-            dataIndex: 'startDate'
-          },
-          {
-            title: '鐝缁撴潫鏃堕棿',
-            align: 'center',
-            dataIndex: 'endDate'
-          },
+          // {
+          //   title: '鐝寮�濮嬫椂闂�',
+          //   align: 'center',
+          //   dataIndex: 'startDate',
+          //   width:150
+          // },
+          // {
+          //   title: '鐝缁撴潫鏃堕棿',
+          //   align: 'center',
+          //   dataIndex: 'endDate',
+          //   width:150
+          // },
           {
             title: '鍔犵彮寮�濮嬫椂闂�',
             align: 'center',
-            dataIndex: 'startTime'
+            dataIndex: 'startTime',
+            width:150
           },
           {
             title: '鍔犵彮缁撴潫鏃堕棿',
             align: 'center',
-            dataIndex: 'endTime'
+            dataIndex: 'endTime',
+            width:150
+          },
+          {
+            title: '鍔犵彮鏃堕暱',
+            align: 'center',
+            dataIndex: 'duration',
+            scopedSlots: {customRender: 'duration'},
+            width:200
           },
           {
             title: '澶囨敞',
             align: 'center',
-            dataIndex: 'remark'
+            dataIndex: 'remark',
+            width:210
           },
           {
             title: '鎿嶄綔',
             dataIndex: 'action',
             scopedSlots: {customRender: 'action'},
             align: "center",
+            fixed:'right',
             width: 150
           }
         ],
@@ -241,6 +280,36 @@
       importExcelUrl: function(){
         return `${window._CONFIG['domianURL']}/${this.url.importExcelUrl}`;
       },
+    },
+    filters:{
+      /**
+       * 鏍煎紡鍖栨椂闂�
+       * @param seconds 绉掓暟
+       * @returns '' 鏍煎紡鍖栧悗鏃堕棿瀛楃涓�
+       */
+      getFormattedTime(seconds) {
+        var hours = Math.floor(seconds / 3600)
+        var minutes = Math.floor((seconds % 3600) / 60)
+        var secs = seconds % 60
+
+        if (hours === 0) {
+          if (minutes === 0) {
+            return secs === 0 ? 0 : `${secs}绉抈
+          } else {
+            if (secs === 0) {
+              return `${minutes}鍒哷
+            }
+            return `${minutes}鍒� ${secs}绉抈
+          }
+        } else {
+          if (minutes === 0 && secs === 0) {
+            return `${hours}灏忔椂`
+          } else if (minutes !== 0 && secs === 0) {
+            return `${hours}灏忔椂 ${minutes}鍒哷
+          }
+        }
+        return `${hours}灏忔椂 ${minutes}鍒� ${secs}绉抈
+      }
     },
     methods: {
       importTemplate(fileName){
@@ -681,9 +750,25 @@
           exclude_inputs: true
         });
       },
+
+      /**
+       * 褰撴祻瑙堝櫒鍙绐楀彛灏哄鍙戠敓鏀瑰彉鏃惰Е鍙�
+       */
+      handleWindowResize(){
+        const boxHeight = +window.getComputedStyle(document.getElementById('DeviceList')).height.slice(0,-2)
+        const tableHeadHeight = +window.getComputedStyle(document.querySelector('.ant-table-thead th')).height.slice(0,-2)
+        this.scrollY = boxHeight - tableHeadHeight - 50
+      }
     },
     created() {
       this.queryParam.typeTree = "1"
+    },
+    mounted(){
+      window.addEventListener('resize',this.handleWindowResize)
+      this.handleWindowResize()
+    },
+    beforeDestroy(){
+      window.removeEventListener('resize',this.handleWindowResize)
     }
   }
 </script>
@@ -691,34 +776,35 @@
 <style lang="less" scoped>
   @import '~@assets/less/common.less';
 
+  .device_list{
+    overflow: hidden;
+    display: flex;
+    flex-direction: column;
+  }
+
   @media screen and (min-width: 1920px){
     .device_list{
       height: 811px!important;
-      overflow: scroll;
     }
   }
   @media screen and (min-width: 1680px) and (max-width: 1920px){
     .device_list{
       height: 811px!important;
-      overflow: scroll;
     }
   }
   @media screen and (min-width: 1400px) and (max-width: 1680px){
     .device_list{
       height: 663px!important;
-      overflow: scroll;
     }
   }
   @media screen and (min-width: 1280px) and (max-width: 1400px){
     .device_list{
       height: 564px!important;
-      overflow: scroll;
     }
   }
   @media screen and (max-width: 1280px){
     .device_list{
       height: 564px!important;
-      overflow: scroll;
     }
   }
 </style>

--
Gitblit v1.9.3