From a751e547d67c4f8e2c6fddf958c1559f792515bd Mon Sep 17 00:00:00 2001
From: lyh <925863403@qq.com>
Date: 星期五, 27 六月 2025 16:11:50 +0800
Subject: [PATCH] 添加工作流

---
 src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue |   99 ++++++++++++++++++++++++++++++-------------------
 1 files changed, 60 insertions(+), 39 deletions(-)

diff --git a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
index f85f45e..585b0f6 100644
--- a/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
+++ b/src/views/mdc/base/modules/efficiencyPOReport/EfficiencyPOList.vue
@@ -39,26 +39,12 @@
             </a-col>
             <a-col :md="6" :sm="6">
               <a-form-item label="鏃堕棿">
-                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate" format="YYYYMMDD" v-model="dates"
+                <a-range-picker @change="dateParamChange" :disabledDate="disabledDate"
+                                @calendarChange="handleCalendarChange" @openChange="handleCalendarOpenChange"
+                                format="YYYYMMDD" v-model="dates"
                                 :allowClear="false"/>
               </a-form-item>
             </a-col>
-<!--            <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
@@ -113,12 +99,14 @@
                   <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="'EfficiencyPO:feedback'">
+                    寮傚父鍙嶉
+                  </a-button>
                   <a-button type="primary" icon="printer" v-print="'#EfficiencyPO'"
                             v-has="'EfficiencyPO:print'">鎵撳嵃
                   </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>
@@ -130,6 +118,13 @@
                   </td>
                 </tr>
               </table>
+            </a-col>
+          </a-row>
+
+          <a-row :gutter="24">
+            <a-col>
+              <a-checkbox-group :value="checkedList" :default-value="['lyl']" :options="efficiencyOptions"
+                                @change="efficiencyOptionsOnChange"/>
             </a-col>
           </a-row>
         </a-form>
@@ -230,6 +225,8 @@
         </div>
       </a-spin>
     </div>
+
+    <mdc-message-approval-modal ref="modalForm" :visible="modalVisible" @closeModal="modalVisible = false"/>
   </div>
 </template>
 
@@ -240,10 +237,11 @@
   import '@/components/table2excel/table2excel'
   import { ajaxGetDictItems, getDictItemsFromCache, duplicateCheck } from '@/api/api'
   import api from '@/api/mdc'
+  import MdcMessageApprovalModal from '../MdcMessageApproval/MdcMessageApprovalModal'
 
   export default {
     name: 'EfficiencyPOList',
-    components: {},
+    components: { MdcMessageApprovalModal },
     data() {
       return {
         typeTree: '',
@@ -258,7 +256,7 @@
         queryParams: {
           equipmentType: [],
           driveType: [],
-          deviceLevel: [],
+          deviceLevel: []
         },
         queryParamEquip: {},
         queryParamPeople: {},
@@ -280,7 +278,9 @@
         },
         tableHeads: [],
         spinning: false,
-        toggleSearchStatus: false
+        toggleSearchStatus: false,
+        modalVisible: false,// 寮傚父鍙嶉寮圭獥鏄惁寮瑰嚭
+        preSelectFirstDate: null
       }
     },
     props: { nodeTree: '', Type: '', nodePeople: '' },
@@ -436,7 +436,6 @@
       },
       // 鍚堝苟
       combineCell() {
-        console.log(this.dataList)
         let list = this.dataList
         for (let field in list[0]) {
           var k = 0
@@ -458,10 +457,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 = []
@@ -510,19 +536,8 @@
       dateParamChange(v1, v2) {
         this.queryParam.startTime = v2[0]
         this.queryParam.endTime = v2[1]
-        // 鐐瑰嚮鏃堕棿閫夋嫨鍣ㄧ殑娓呯┖鎸夐挳鏃朵細瑙﹀彂姝ゅ垽鏂�(鐐瑰嚮閲嶇疆鎸夐挳涓嶄細瑙﹀彂)锛屽疄鐜伴噸缃垪琛ㄥ姛鑳斤紝鍒囧疄鏀瑰彉鍒楄〃鏄剧ず鏁堟灉
-        if (!this.queryParam.startTime && !this.queryParam.endTime) this.searchReset()
       },
       efficiencyOptionsOnChange(checkedList) {
-        // let index = checkedList.indexOf('lyl')
-        // if (index < 0) {
-        //   // this.$message.warn('涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�')
-        //   this.$notification.warning({
-        //     message:'娑堟伅',
-        //     description:"涓嶈兘鍙栨秷鏌ヨ鍒╃敤鐜�"
-        //   })
-        //   return false
-        // }
         this.checkedList = checkedList
       },
       searchQuery() {
@@ -557,7 +572,7 @@
         this.queryParams = {
           equipmentType: [],
           driveType: [],
-          deviceLevel: [],
+          deviceLevel: []
         }
         this.loadData()
       },
@@ -567,7 +582,6 @@
         this.dataList = []
         getAction(this.url.list, this.queryParam).then(res => {
           if (res.success) {
-            // console.log(res.result)
             this.tableHeads = res.result.dates
             this.dataList = res.result.mdcEfficiencyList
             if (res.result.mdcEfficiencyList && !res.result.mdcEfficiencyList.length) {
@@ -586,6 +600,13 @@
           this.spinning = false
         })
       },
+
+      // 鎺у埗寮傚父鍙嶉寮圭獥寮瑰嚭
+      handleShowFeedbackModal() {
+        this.$refs.modalForm.formParams = {}
+        this.modalVisible = true
+      },
+
       queryGroup() {
         getAction(this.url.queryEquipmentType).then(res => {
           if (res.success) {

--
Gitblit v1.9.3