From 98810eb52a46ec72f2bc3d89be8ea42c33d55c5f Mon Sep 17 00:00:00 2001 From: gaoluyang <gaoluyang@rengu.cc> Date: 星期三, 17 七月 2024 10:14:49 +0800 Subject: [PATCH] 日工时管理的辅助工时的录入数据,完成一个数据的录入后页面不跳转,但是弹窗的内容清空继续新增录入 --- src/components/do/b3-work-time-management/work-time-statistics.vue | 89 +++++++++++++++++++++++++++++++++----------- 1 files changed, 66 insertions(+), 23 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..3b873af 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,23 +40,25 @@ <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;"> - <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'" - :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 +80,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 +98,10 @@ requiredAdd: [], requiredUp: [], accept:聽'.xlsx', - inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' + inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet', + cellSpecialStyle:{ + redColorByKey:'Hours' + } }, componentData0: { entity: { @@ -120,7 +127,9 @@ inputType:聽'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet' }, entity:{ - month:getYearAndMonthAndDays() + month:getYearAndMonthAndDays(), + name:'', + departLims:'' }, entityCopy:{}, entityCopy0:{}, @@ -128,13 +137,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 +163,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 +194,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.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' }); + 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