From d50523911eaf8fa309eb842522ee9e7a4782e505 Mon Sep 17 00:00:00 2001
From: zhuzhuanzhuan
Date: 星期五, 23 二月 2024 17:06:07 +0800
Subject: [PATCH] 设备利用率、设备开动率以及班次利用率页面增加按照驱动类型查询数据功能

---
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue       |   57 +++++++++++--
 src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue           |   67 +++++++++++++---
 src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue |   68 +++++++++++++---
 3 files changed, 157 insertions(+), 35 deletions(-)

diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index e216471..56332a4 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -5,7 +5,7 @@
       <div class="table-page-search-wrapper">
         <a-form layout="inline" @keyup.enter.native="searchQuery">
           <a-row :gutter="24">
-            <a-col :md="4" :sm="4">
+            <a-col :md="5" :sm="5">
               <a-form-item label="璁惧绫诲瀷">
                 <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true">
                   <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
@@ -14,17 +14,22 @@
                 </a-select>
               </a-form-item>
             </a-col>
+            <a-col :md="5" :sm="5">
+              <a-form-item label="椹卞姩绫诲瀷">
+                <a-auto-complete
+                  v-model="queryParam.driveType"
+                  :data-source="driveTypeList"
+                  placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                  :filter-option="filterOption"
+                />
+              </a-form-item>
+            </a-col>
             <a-col :md="6" :sm="6">
               <a-form-item label="鏃堕棿">
                 <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates" :allowClear="false"/>
               </a-form-item>
             </a-col>
-            <a-col :md="14" :sm="14" style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
-              <a-space>
-                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-                <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-                <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-              </a-space>
+            <a-col :md="8" :sm="8" style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
               <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px">
                 <tr>
                   <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -39,8 +44,15 @@
               </table>
             </a-col>
           </a-row>
-          <a-row :gutter="24">
-            <a-col :md="15" :sm="15">
+          <a-row :gutter="24" type="flex" align="middle">
+            <a-col :md="5" :sm="5">
+              <a-space>
+                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+              </a-space>
+            </a-col>
+            <a-col :md="19" :sm="19">
               <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                 @change="efficiencyOptionsOnChange"/>
             </a-col>
@@ -150,6 +162,8 @@
 import $ from 'jquery'
 import '@/components/table2excel/table2excel'
 import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+import api from '@/api/mdc'
+
 export default {
   name: 'EfficiencyPOList',
   components: {},
@@ -164,6 +178,7 @@
       queryParamEquip:{},
       queryParamPeople:{},
       identifying: [],
+      driveTypeList:[],
       efficiencyOptions: [
         { label: '寮�鍔ㄧ巼', value: 'lyl' },
         { label: '寮�鏈虹巼', value: 'kjl' },
@@ -192,6 +207,7 @@
     this.queryParam.typeTree = "1"
     this.loadData()
     this.queryGroup()
+    this.getDriveTypeByApi()
   },
   watch: {
     Type(valmath){
@@ -478,7 +494,28 @@
       }).finally(() => {
         this.loading = false
       })
-    }
+    },
+
+    /**
+     * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+     */
+    getDriveTypeByApi(){
+      api.getDriveTypeApi().then((res)=>{
+        this.driveTypeList=res.result.map(item=>item.value)
+      })
+    },
+
+    /**
+     * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+     * @param input 杈撳叆鐨勫唴瀹�
+     * @param option 閰嶇疆
+     * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+     */
+    filterOption(input, option) {
+      return (
+        option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+      );
+    },
   }
 }
 </script>
diff --git a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
index ca32e54..cc8458f 100644
--- a/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
+++ b/src/views/mdc/base/modules/efficiencyReport/EfficiencyList.vue
@@ -6,7 +6,7 @@
         <div class="table-page-search-wrapper">
           <a-form layout="inline" @keyup.enter.native="searchQuery">
             <a-row :gutter="24">
-              <a-col :md="4" :sm="4">
+              <a-col :md="5" :sm="5">
                 <a-form-item label="璁惧绫诲瀷">
                   <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType"
                             :allowClear="true">
@@ -16,21 +16,31 @@
                   </a-select>
                 </a-form-item>
               </a-col>
+              <a-col :md="5" :sm="5">
+                <a-form-item label="椹卞姩绫诲瀷">
+                  <a-auto-complete
+                    v-model="queryParam.driveType"
+                    :data-source="driveTypeList"
+                    placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                    :filter-option="filterOption"
+                  />
+                </a-form-item>
+              </a-col>
               <a-col :md="6" :sm="6">
                 <a-form-item label="鏃堕棿">
                   <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD"
                                   v-model="dates" :allowClear="false"/>
                 </a-form-item>
               </a-col>
-              <a-col :md="14" :sm="14"
+              <a-col :md="8" :sm="8"
                      style="display: flex;align-items: flex-start;-webkit-align-items: flex-start;justify-content: space-between;">
-                <a-space>
-                  <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-                  <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-                  <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-                  <a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃
-                  </a-button>
-                </a-space>
+                <!--<a-space>-->
+                  <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
+                  <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+                  <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+                  <!--<a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃-->
+                  <!--</a-button>-->
+                <!--</a-space>-->
                 <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;margin-left: 24px">
                   <tr>
                     <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -45,8 +55,17 @@
                 </table>
               </a-col>
             </a-row>
-            <a-row :gutter="24">
-              <a-col :md="15" :sm="15">
+            <a-row :gutter="24" type="flex" align="middle">
+              <a-col :md="6" :sm="6">
+                <a-space>
+                  <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                  <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                  <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                  <a-button type="primary" icon="printer" v-print="'#Efficiency'" v-has="'efficiency:print'">鎵撳嵃
+                  </a-button>
+                </a-space>
+              </a-col>
+              <a-col :md="18" :sm="18">
                 <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
                                   @change="efficiencyOptionsOnChange"/>
               </a-col>
@@ -173,6 +192,7 @@
   import $ from 'jquery'
   import '@/components/table2excel/table2excel'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  import api from '@/api/mdc'
 
   export default {
     name: 'EfficiencyList',
@@ -187,6 +207,7 @@
         deviceTypeDict: '',
         dates: [],
         selectList: [],
+        driveTypeList:[],
         identifying: [],
         queryParam: {},
         queryParams: {},
@@ -227,6 +248,7 @@
       this.queryParam.typeTree = '1'
       this.loadData()
       this.queryGroup()
+      this.getDriveTypeByApi()
     },
     watch: {
       Type(valmath) {
@@ -540,7 +562,28 @@
         }).finally(() => {
           this.loading = false
         })
-      }
+      },
+
+      /**
+       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+       */
+      getDriveTypeByApi(){
+        api.getDriveTypeApi().then((res)=>{
+          this.driveTypeList=res.result.map(item=>item.value)
+        })
+      },
+
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        );
+      },
     }
   }
 </script>
diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
index b1cbfa5..457d549 100644
--- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
+++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -6,13 +6,23 @@
         <div class="table-page-search-wrapper">
         <a-form layout="inline" @keyup.enter.native="searchQuery">
           <a-row :gutter="24">
-            <a-col :md="4" :sm="4" >
+            <a-col :md="5" :sm="5" >
               <a-form-item label="璁惧绫诲瀷">
                 <a-select placeholder="璇烽�夋嫨璁惧绫诲瀷" :triggerChange="true" v-model="queryParam.equipmentType" :allowClear="true">
                   <a-select-option v-for='item in selectList' :key='item.id' :value='item.equipmentTypeName'>
                     {{item.equipmentTypeName}}
                   </a-select-option>
                 </a-select>
+              </a-form-item>
+            </a-col>
+            <a-col :md="5" :sm="5">
+              <a-form-item label="椹卞姩绫诲瀷">
+                <a-auto-complete
+                  v-model="queryParam.driveType"
+                  :data-source="driveTypeList"
+                  placeholder="璇烽�夋嫨椹卞姩绫诲瀷"
+                  :filter-option="filterOption"
+                />
               </a-form-item>
             </a-col>
             <a-col :md="5" :sm="5" :xs="5">
@@ -39,18 +49,25 @@
                 </a-select>
               </a-form-item>
             </a-col>
-            <a-col :md="7" :sm="7" :xs="7">
-              <a-space>
-                <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
-                <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
-                <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
-              </a-space>
-            </a-col>
+            <!--<a-col :md="7" :sm="7" :xs="7">-->
+              <!--<a-space>-->
+                <!--<a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>-->
+                <!--<a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>-->
+                <!--<a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>-->
+              <!--</a-space>-->
+            <!--</a-col>-->
           </a-row>
-          <a-row :gutter="24">
-            <a-col :md="24" :sm="24" :xs="24" style="display: flex;justify-content: space-between">
-              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
-                                @change="efficiencyOptionsOnChange"/>
+          <a-row :gutter="24" type="flex" align="middle">
+            <a-col :md="24" :sm="24" :xs="24" style="display: flex;justify-content: space-between;align-items: flex-start">
+              <div>
+                <a-space style="margin-right: 20px">
+                  <a-button type="primary" @click="searchQuery" icon="search">鏌ヨ</a-button>
+                  <a-button type="primary" @click="searchReset" icon="reload">閲嶇疆</a-button>
+                  <a-button type="primary" @click="exportExcel" icon="download">瀵煎嚭</a-button>
+                </a-space>
+                <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                  @change="efficiencyOptionsOnChange"/>
+              </div>
               <table cellpadding="5" cellspacing="1" style="border: 1px solid darkgray;">
                 <tr>
                   <td v-for="(item, index) in identifying">{{item.title}}</td>
@@ -184,6 +201,8 @@
   import $ from 'jquery'
   import '@/components/table2excel/table2excel'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
+  import api from '@/api/mdc'
+
   export default {
     name: 'EfficiencyShiftList',
     components: {},
@@ -196,6 +215,7 @@
         allowClearSu:true,
         dates: [],
         selectList:[],
+        driveTypeList:[],
         identifying: [],
         queryParam: {},
         queryParamEquip:{},
@@ -237,6 +257,7 @@
       this.queryParam.typeTree = "1"
       this.loadData();
       this.queryGroup()
+      this.getDriveTypeByApi()
     },
     watch: {
       Type(valmath){
@@ -535,7 +556,28 @@
         }).finally(() => {
           this.loading = false
         })
-      }
+      },
+
+      /**
+       * 璋冪敤鎺ュ彛鑾峰彇鎺у埗绯荤粺绫诲瀷
+       */
+      getDriveTypeByApi(){
+        api.getDriveTypeApi().then((res)=>{
+          this.driveTypeList=res.result.map(item=>item.value)
+        })
+      },
+
+      /**
+       * 鑱旀兂杈撳叆妗嗙瓫閫夊姛鑳�
+       * @param input 杈撳叆鐨勫唴瀹�
+       * @param option 閰嶇疆
+       * @returns {boolean} 鍒ゆ柇鏄惁绛涢��
+       */
+      filterOption(input, option) {
+        return (
+          option.componentOptions.children[0].text.toUpperCase().indexOf(input.toUpperCase()) >= 0
+        );
+      },
     }
   }
 </script>

--
Gitblit v1.9.3