From 8a4d90d80c6ae8472bf11a1c1f148ca49c90f0a7 Mon Sep 17 00:00:00 2001
From: zhaowei <zhaowei>
Date: 星期四, 29 五月 2025 15:42:59 +0800
Subject: [PATCH] 1、设备TEEP、设备开动率以及班次利用率页面时间选择器新增用户选择时对时间范围的限制功能并测试大数据导出功能 2、生产设备自主维护点检表设备编号的输入方式由手动输入调整为弹窗选择输入 3、生产设备自主维护点检表页面调整周保执行记录渲染逻辑(日期对应到周)

---
 src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue |   63 +++++++++++++++++++------------
 1 files changed, 38 insertions(+), 25 deletions(-)

diff --git a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
index a112342..d4449e2 100644
--- a/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
+++ b/src/views/mdc/base/modules/efficiencyShiftReport/EfficiencyShiftList.vue
@@ -40,7 +40,9 @@
               </a-col>
               <a-col :md="4" :sm="4" :xs="4">
                 <a-form-item label="鏃堕棿">
-                  <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD"
+                  <a-range-picker @change="dateParamChange" :disabledDate="disabledDate"
+                                  @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange"
+                                  format="YYYYMMDD"
                                   v-model="dates" :allowClear="false"/>
                 </a-form-item>
               </a-col>
@@ -77,22 +79,6 @@
             </a-row>
 
             <a-row :gutter="24" v-if="toggleSearchStatus">
-              <!--              <a-col :md="5" :sm="5" :xs="5">-->
-              <!--                <a-form-item label="璁惧绉嶇被">-->
-              <!--                  <a-select-->
-              <!--                    :value="queryParams.deviceCategory"-->
-              <!--                    mode="multiple"-->
-              <!--                    placeholder="璇烽�夋嫨璁惧绉嶇被"-->
-              <!--                    allow-clear-->
-              <!--                    :maxTagCount="1"-->
-              <!--                    @change="selectChange($event,'deviceCategory')"-->
-              <!--                  >-->
-              <!--                    <a-select-option v-for="(item,index) in device_category_list" :value="item.value" :key="index">-->
-              <!--                      {{item.label}}-->
-              <!--                    </a-select-option>-->
-              <!--                  </a-select>-->
-              <!--                </a-form-item>-->
-              <!--              </a-col>-->
               <a-col :md="5" :sm="5" :xs="5">
                 <a-form-item label="璁惧绾у埆">
                   <a-select
@@ -133,7 +119,9 @@
                     <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" @click="handleShowFeedbackModal" icon="plus" v-has="'efficiencyShiftReport:feedback'">寮傚父鍙嶉</a-button>
+                    <a-button type="primary" @click="handleShowFeedbackModal" icon="plus"
+                              v-has="'efficiencyShiftReport:feedback'">寮傚父鍙嶉
+                    </a-button>
                     <a-button type="primary" icon="printer" v-print="'#EfficiencyShift'"
                               v-has="'efficiencyShiftReport:print'">鎵撳嵃
                     </a-button>
@@ -320,7 +308,8 @@
         shiftSubList: [],
         spinning: false,
         toggleSearchStatus: false,
-        modalVisible: false// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
+        modalVisible: false,// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
+        preSelectFirstDate: null
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -500,10 +489,37 @@
         }
         return list
       },
-      disabledDate(current) {
-        //Can not slect days before today and today
-        return current && current > moment().subtract('days', 1)
+
+      /**
+       * 鏃堕棿閫夋嫨鍣ㄩ潰鏉夸笂鐨勫�煎彂鐢熸敼鍙樻椂瑙﹀彂
+       * @param dates 闈㈡澘涓婄殑涓や釜鍊肩粍鎴愮殑鏁扮粍
+       */
+      handleCalendarChange(dates) {
+        if (dates.length === 1) this.preSelectFirstDate = dates[0]
       },
+
+      /**
+       * 鎺у埗鏃堕棿閫夋嫨鍣ㄩ潰鏉垮紑鍚笌鍏抽棴
+       * @param status 寮�鍚姸鎬�
+       */
+      handleCalendarOpenChange(status) {
+        if (status) this.preSelectFirstDate = null
+      },
+
+      /**
+       * 闈㈡澘涓婄姝㈤�夋嫨鐨勬棩鏈�
+       * @param current 绂佹鐨勬椂闂磋寖鍥�
+       */
+      disabledDate(current) {
+        if (!this.preSelectFirstDate) {
+          return current > moment().startOf('days')
+        } else {
+          return current < moment(this.preSelectFirstDate).subtract(365, 'days').startOf('days')
+            || current > moment().startOf('days')
+            || current > moment(this.preSelectFirstDate).add(365, 'days').endOf('days')
+        }
+      },
+
       initDeviceType(deviceList) {
         let dictCode = 'mdc_equipmentType'
         let items = []
@@ -575,8 +591,6 @@
       dateParamChange(v1, v2) {
         this.queryParam.startTime = v2[0]
         this.queryParam.endTime = v2[1]
-        // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
-        // if(!this.queryParam.startTime&&!this.queryParam.endTime)this.searchReset()
       },
       efficiencyOptionsOnChange(checkedList) {
         this.checkedList = checkedList
@@ -595,7 +609,6 @@
           if (this.queryParams[item].length === 0) delete this.queryParam[item]
         })
         this.loadData()
-        // this.onClearSelected()
       },
       searchReset() {
         this.typeTree = this.queryParam.typeTree

--
Gitblit v1.9.3