From e4bb381c896015c4b87faa002ba6875c06a2fd16 Mon Sep 17 00:00:00 2001
From: licp <lichunping@guanfang.com.cn>
Date: 星期四, 26 十二月 2024 14:33:10 +0800
Subject: [PATCH] 同步检测中心cnas修改

---
 src/components/do/b3-work-time-management/work-time-statistics.vue |  169 +++++++++++++++++++++++++++++++++++---------------------
 1 files changed, 106 insertions(+), 63 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 380987a..e0f5a48 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
@@ -40,25 +40,28 @@
 				<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'" :loading="outLoading">瀵� 鍑�</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;">
-      <el-radio-button label="value0">
-        鍘熷宸ユ椂
-      </el-radio-button>
-      <el-radio-button label="value1">
-        淇宸ユ椂
-      </el-radio-button>
-    </el-radio-group>
+    <div style="text-align: left">
+      <el-radio-group v-model="currentTable" size="small" :key="'111'" style="margin-top: 10px;">
+        <el-radio-button label="value0">
+          鍘熷宸ユ椂
+        </el-radio-button>
+        <el-radio-button label="value1">
+          淇宸ユ椂
+        </el-radio-button>
+      </el-radio-group>
+    </div>
     <div class="table">
       <ValueTable ref="ValueTable0"
-        v-if="currentTable == 'value0'"
+        v-if="currentTable == 'value0'" :isColumnWidth="true"
+                  :isShowZero="true"
 				:url="$api.auxiliaryOriginalHours.selectAuxiliaryOriginalHours"
 				:componentData="componentData" :key="upIndex" />
-      <ValueTable ref="ValueTable1"
-        v-if="currentTable == 'value1'"
+      <ValueTable ref="ValueTable1" :isShowZero="true"
+        v-if="currentTable == 'value1'" :isColumnWidth="true"
 				:url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours"
         :inputUrl="$api.auxiliaryCorrectionHours.upload"
 				:componentData="componentData0"
@@ -78,52 +81,56 @@
   },
   data () {
     return{
+      down:false,
+      up:false,
       componentData: {
-					entity: {
-						month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
-						name: null,
-						departLims: null,
-					},
-					isIndex: true,
-					showSelect: false,
-					select: false,
-					do: [],
-					tagField: {},
-					linkEvent: {},
-					selectField: {},
-					requiredAdd: [],
-					requiredUp: [],
-          accept:聽'.xlsx',
-          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
-          cellSpecialStyle:{
-            redColorByKey:'Hours'
-          }
+        entity: {
+          month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
+          name: null,
+          departLims: null,
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        do: [],
+        tagField: {},
+        linkEvent: {},
+        selectField: {},
+        requiredAdd: [],
+        requiredUp: [],
+        accept:聽'.xlsx',
+        inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet',
+        cellSpecialStyle:{
+          redColorByKey:'Hours'
+        },
 			},
       componentData0: {
-					entity: {
-						month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
-						name: null,
-						departLims: null,
-						orderBy: {
-							field: 'id',
-							order: 'desc'
-						}
-					},
-					isIndex: true,
-					showSelect: false,
-					select: false,
-					do: [],
-					tagField: {},
-					linkEvent: {
-						},
-					selectField: {},
-					requiredAdd: [],
-					requiredUp: [],
-          accept:聽'.xlsx',
-          inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
+        entity: {
+          month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1],
+          name: null,
+          departLims: null,
+          orderBy: {
+            field: 'id',
+            order: 'desc'
+          }
+        },
+        isIndex: true,
+        showSelect: false,
+        select: false,
+        do: [],
+        tagField: {},
+        linkEvent: {
+        },
+        selectField: {},
+        requiredAdd: [],
+        requiredUp: [],
+        accept:聽'.xlsx',
+        inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet'
 			},
       entity:{
-        month:getYearAndMonthAndDays()
+        month:getYearAndMonthAndDays(),
+        name:'',
+        departLims:''
       },
       entityCopy:{},
       entityCopy0:{},
@@ -139,6 +146,7 @@
     this.getUsers()
     this.entityCopy = this.HaveJson(this.componentData.entity);
     this.entityCopy0 = this.HaveJson(this.componentData0.entity);
+    this.getPower()
   },
   methods: {
     refresh(){
@@ -191,22 +199,57 @@
       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,
+      this.$axios.post(this.$api.auxiliaryOriginalHours.exportOriginalHours,{
+        ...entity
+        // 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();
+        //灏咮lob 瀵硅薄杞崲鎴愬瓧绗︿覆
+        let reader = new FileReader();
+        reader.readAsText(blob, 'utf-8');
+        reader.onload = () => {
+          try {
+            let result = JSON.parse(reader.result);
+            if (result.message) {
+              this.$message.error(result.message);
+            } else {
+              const url = URL.createObjectURL(blob);
+              const link = document.createElement('a');
+              link.href = url;
+              link.download = entity.month+'宸ユ椂缁熻琛�.xlsx';
+              link.click();
+              this.$message.success('瀵煎嚭鎴愬姛')
+            }
+          } catch (err) {
+            console.log(err);
+            const url = URL.createObjectURL(blob);
+            const link = document.createElement('a');
+            link.href = url;
+            link.download = entity.month+'宸ユ椂缁熻琛�.xlsx';
+            link.click();
+            this.$message.success('瀵煎嚭鎴愬姛')
+          }
+        }
       })
     },
     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