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