From 0f8aca36a23b098e40d94c5f0207b1cb5e409fa9 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期三, 19 六月 2024 14:30:29 +0800
Subject: [PATCH] 修改检验任务bug

---
 src/components/do/b3-work-time-management/work-time-statistics.vue |   67 ++++++++++++++++++++++++++-------
 1 files changed, 53 insertions(+), 14 deletions(-)

diff --git a/src/components/do/b3-work-time-management/work-time-statistics.vue b/src/components/do/b3-work-time-management/work-time-statistics.vue
index 4bf2a47..710d6f7 100644
--- a/src/components/do/b3-work-time-management/work-time-statistics.vue
+++ b/src/components/do/b3-work-time-management/work-time-statistics.vue
@@ -9,16 +9,20 @@
             type="month"
             format="yyyy-MM"
             value-format="yyyy-MM"
-            placeholder="閫夋嫨鏈�" size="small" style="width: 100%;">
+            placeholder="閫夋嫨鏈�" size="small" style="width: 100%;"
+            :clearable="false"
+            @change="refreshTable()">
           </el-date-picker>
         </div>
 			</div>
 			<div class="search_thing">
 				<div class="search_label">鍛樺伐锛�</div>
-				<el-select v-model="entity.name" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()">
+				<!-- <el-select v-model="entity.name" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()" clearable>
 					<el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id">
 					</el-option>
-				</el-select>
+				</el-select> -->
+        <el-input size="small" placeholder="璇疯緭鍏�" clearable
+          v-model="entity.name" @keyup.enter.native="refreshTable()"></el-input>
 			</div>
 			<div class="search_thing">
 				<div class="search_label">閮ㄩ棬锛�</div>
@@ -36,8 +40,8 @@
 				<el-button size="small" type="primary" @click="refreshTable()">鏌� 璇�</el-button>
 			</div>
       <div class="search_thing">
-        <el-button size="small" type="primary"  @click="handleDown" v-show="currentTable == 'value0'">瀵� 鍑�</el-button>
-        <el-button size="small" type="primary" @click="handleUp" v-show="currentTable == 'value1'">瀵� 鍏�</el-button>
+        <el-button size="small" type="primary"  @click="handleDown" v-show="currentTable == 'value0'&&down" :loading="outLoading">瀵� 鍑�</el-button>
+        <el-button size="small" type="primary"  @click="handleUp" v-show="currentTable == 'value1'&&up">瀵� 鍏�</el-button>
       </div>
 		</div>
     <el-radio-group v-model="currentTable" size="small" :key="'111'" style="margin-top: 10px;">
@@ -51,8 +55,8 @@
     <div class="table">
       <ValueTable ref="ValueTable0"
         v-if="currentTable == 'value0'"
-				:url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours"
-				:componentData="componentData" :inputUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" />
+				:url="$api.auxiliaryOriginalHours.selectAuxiliaryOriginalHours"
+				:componentData="componentData" :key="upIndex" />
       <ValueTable ref="ValueTable1"
         v-if="currentTable == 'value1'"
 				:url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours"
@@ -74,15 +78,13 @@
   },
   data () {
     return{
+      down:false,
+      up:false,
       componentData: {
 					entity: {
 						month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
 						name: null,
 						departLims: null,
-						orderBy: {
-							field: 'id',
-							order: 'desc'
-						}
 					},
 					isIndex: true,
 					showSelect: false,
@@ -94,7 +96,10 @@
 					requiredAdd: [],
 					requiredUp: [],
           accept:聽'.xlsx',
-          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+          cellSpecialStyle:{
+            redColorByKey:'Hours'
+          }
 			},
       componentData0: {
 					entity: {
@@ -128,13 +133,15 @@
       upIndex1:100,
       weekList:[],
       personList:[],
-      currentTable:'value0'
+      currentTable:'value0',
+      outLoading:false
     }
   },
   mounted(){
     this.getUsers()
     this.entityCopy = this.HaveJson(this.componentData.entity);
     this.entityCopy0 = this.HaveJson(this.componentData0.entity);
+    this.getPower()
   },
   methods: {
     refresh(){
@@ -152,6 +159,7 @@
     },
     refreshTable(){
       let entity = {...this.entity}
+      entity.month = entity.month.split('-')[0]+'-'+entity.month.split('-')[1]
       if(this.currentTable=='value0'){
         this.componentData.entity = {...this.componentData.entity,...entity}
         this.$refs['ValueTable0'].selectList()
@@ -182,10 +190,41 @@
         })
     },
     handleDown(){
-      this.$refs.ValueTable0.downFile(false)
+      // this.$refs.ValueTable0.downFile(false)
+      let entity = {...this.entity}
+      entity.month = entity.month.split('-')[0]+'-'+entity.month.split('-')[1]
+      this.outLoading = true
+      this.$axios.get(this.$api.auxiliaryOriginalHours.exportOriginalHours,{
+        params:entity,
+      },{responseType: "blob"}).then(res => {
+        this.outLoading = false
+        this.$message.success('瀵煎嚭鎴愬姛')
+        const blob = new Blob([res],{ type: 'application/octet-stream' });
+        console.log(blob)
+        const url = URL.createObjectURL(blob);
+        const link = document.createElement('a');
+        link.href = url;
+        link.download = entity.month+'宸ユ椂缁熻琛�.xlsx';
+        link.click();
+      })
     },
     handleUp(){
       this.$refs.ValueTable1.openUpload()
+    },
+    getPower(){
+      let power = JSON.parse(sessionStorage.getItem('power'))
+        let up = false
+        let down = false
+        for (var i = 0; i < power.length; i++) {
+					if (power[i].menuMethod == 'exportOriginalHours') {
+						down = true
+					}
+					if (power[i].menuMethod == 'upload') {
+						up = true
+					}
+				}
+        this.down = down
+        this.up = up
     }
   }
 }

--
Gitblit v1.9.3