| | |
| | | </el-radio-group> |
| | | <div style="display: flex;align-items: center;"> |
| | | <p style="font-size: 14px;margin-right: 30px;"> |
| | | 总工时汇总:<span style="font-size: 16px;color: #3A7BFA;">{{ (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总'])? (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总']):0 }}</span> 产量工时汇总:<span style="font-size: 16px;color: #3A7BFA;">{{totalInfo['产量工时汇总']?totalInfo['产量工时汇总']:0}}</span> 辅助工时汇总:<span style="font-size: 16px;color: #3A7BFA;">{{totalInfo['辅助工时汇总']?totalInfo['辅助工时汇总']:0}}</span> |
| | | 总工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{ (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总'])? (totalInfo['产量工时汇总']+totalInfo['辅助工时汇总']):0 }}</span> 产量工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['产量工时汇总']?totalInfo['产量工时汇总']:0}}</span> 辅助工时汇总:<span style="font-size: 16px;color: #3A7BFA;" v-if="totalInfo">{{totalInfo['辅助工时汇总']?totalInfo['辅助工时汇总']:0}}</span> |
| | | </p> |
| | | <el-button size="small" type="primary" style="margin-right: 16px;" @click="openAdd" v-show="currentTable == 'ValueTable0'">录入数据</el-button> |
| | | <el-button size="small" type="primary" @click="handleOut" :loading="outLoading">导 出</el-button> |
| | | <el-button size="small" type="primary" style="margin-right: 16px;" @click="openAdd" v-show="currentTable == 'ValueTable0'&&add">录入数据</el-button> |
| | | <el-button size="small" type="primary" |
| | | v-if="down" |
| | | @click="handleOut" :loading="outLoading">导 出</el-button> |
| | | </div> |
| | | </div> |
| | | <div class="table"> |
| | |
| | | <el-input v-model="formData0.number" size="small" :disabled="title=='批准'"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="数量:" required> |
| | | <el-input v-model="formData0.amount" size="small" :disabled="title=='批准'"></el-input> |
| | | <el-input v-model="formData0.reviewerNumber" size="small" :disabled="title=='批准'"></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="核准工时:"> |
| | | <el-input v-model="formData0.approvedWorkingHour" size="small" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="辅助工时:"> |
| | | <el-input v-model="formData0.nonproductiveTime" size="small" disabled></el-input> |
| | | <el-form-item label="复核工时:"> |
| | | <el-input v-model="formData0.reviewerNonproductiveTime" size="small" disabled></el-input> |
| | | </el-form-item> |
| | | <el-form-item label="辅助项目:"> |
| | | <el-input v-model="formData0.auxiliaryProject" size="small" disabled></el-input> |
| | |
| | | data () { |
| | | return{ |
| | | entity:{}, |
| | | down:false, |
| | | add:false, |
| | | componentData: { |
| | | entity: { |
| | | week: null, |
| | |
| | | tagField: { |
| | | shift:{ |
| | | select:[] |
| | | }, |
| | | state:{ |
| | | select:[ |
| | | { |
| | | label:'已提交', |
| | | value:'已提交', |
| | | type:'primary' |
| | | }, |
| | | { |
| | | label:'已审核', |
| | | value:'已审核', |
| | | type:'warning' |
| | | }, |
| | | { |
| | | label:'已批准', |
| | | value:'已批准', |
| | | type:'success' |
| | | }, |
| | | ] |
| | | }, |
| | | weekDay:{ |
| | | select:[] |
| | | } |
| | | }, |
| | | linkEvent: {}, |
| | | selectField: { |
| | | shift:{ |
| | | select:[] |
| | | }, |
| | | state:{ |
| | | select:[ |
| | | { |
| | | label:'已提交', |
| | | value:'已提交', |
| | | type:'primary' |
| | | }, |
| | | { |
| | | label:'已审核', |
| | | value:'已审核', |
| | | type:'warning' |
| | | }, |
| | | { |
| | | label:'已批准', |
| | | value:'已批准', |
| | | type:'success' |
| | | }, |
| | | ] |
| | | }, |
| | | weekDay:{ |
| | | select:[] |
| | | } |
| | | }, |
| | |
| | | requiredAdd: [], |
| | | requiredUp: [] |
| | | }, |
| | | addFileVisible:false, |
| | | entityCopy1: {}, |
| | | upIndex1:100, |
| | | weekList:[ |
| | | {label: '星期一', value: '1'}, |
| | | {label: '星期二', value: '2'}, |
| | | {label: '星期三', value: '3'}, |
| | | {label: '星期四', value: '4'}, |
| | | {label: '星期五', value: '5'}, |
| | | {label: '星期六', value: '6'}, |
| | | {label: '星期日', value: '7'} |
| | | {label: '星期一', value: '1',type:'primary'}, |
| | | {label: '星期二', value: '2',type:'primary'}, |
| | | {label: '星期三', value: '3',type:'primary'}, |
| | | {label: '星期四', value: '4',type:'primary'}, |
| | | {label: '星期五', value: '5',type:'primary'}, |
| | | {label: '星期六', value: '6',type:'primary'}, |
| | | {label: '星期日', value: '7',type:'primary'} |
| | | ], |
| | | currentTable:'ValueTable0', |
| | | addVisible:false, |
| | |
| | | createUser:'', |
| | | shift:'', |
| | | number:'', |
| | | amount:'', |
| | | reviewerNumber:'', |
| | | approvedWorkingHour:'', |
| | | nonproductiveTime:'', |
| | | reviewerNonproductiveTime:'', |
| | | auxiliaryProject:'', |
| | | reviewerRemark:'', |
| | | }, |
| | |
| | | label:'已批准' |
| | | }, |
| | | ], |
| | | totalInfo:{}, |
| | | totalInfo:null, |
| | | auxiliaryWorking:null, |
| | | outLoading:false |
| | | } |
| | |
| | | this.formData.nonproductiveTime = this.formData.amount*val |
| | | } |
| | | }, |
| | | 'formData0.amount'(val){ |
| | | 'formData0.reviewerNumber'(val){ |
| | | if(val){ |
| | | if(!isNaN(val)){ |
| | | if(this.formData0.approvedWorkingHour){ |
| | | this.formData0.nonproductiveTime = this.formData0.approvedWorkingHour*val |
| | | this.formData0.reviewerNonproductiveTime = this.formData0.approvedWorkingHour*val |
| | | } |
| | | }else{ |
| | | this.$message.error('请输入数字') |
| | | this.formData0.amount = '' |
| | | this.formData0.reviewerNumber = '' |
| | | } |
| | | } |
| | | }, |
| | | 'formData0.approvedWorkingHour'(val){ |
| | | if(val&&this.formData0.amount){ |
| | | this.formData0.nonproductiveTime = this.formData0.amount*val |
| | | if(val&&this.formData0.reviewerNumber){ |
| | | this.formData0.reviewerNonproductiveTime = this.formData0.reviewerNumber*val |
| | | } |
| | | } |
| | | }, |
| | |
| | | this.selectshiftByUser() |
| | | this.entityCopy = this.HaveJson(this.componentData.entity); |
| | | this.entityCopy1 = this.HaveJson(this.componentData1.entity); |
| | | this.componentData.tagField.weekDay.select = this.weekList |
| | | this.componentData.selectField.weekDay.select = this.weekList |
| | | this.getPower() |
| | | }, |
| | | methods:{ |
| | | getPower(){ |
| | | let power = JSON.parse(sessionStorage.getItem('power')) |
| | | let del = false |
| | | let down = false |
| | | let add = false |
| | | let up = false |
| | | let check = false |
| | | let ratify = false |
| | | for (var i = 0; i < power.length; i++) { |
| | | if (power[i].menuMethod == 'exportWorkingHours') { |
| | | down = true |
| | | } |
| | | if (power[i].menuMethod == 'deleteAuxiliaryWorkingHoursDay') { |
| | | del = true |
| | | } |
| | | if (power[i].menuMethod == 'insertAuxiliaryWorkingHoursDay') { |
| | | add = true |
| | | } |
| | | console.log(add) |
| | | if (power[i].menuMethod == 'updateAuxiliaryWorkingHoursDay') { |
| | | up = true |
| | | } |
| | | if (power[i].menuMethod == 'check') { |
| | | check = true |
| | | } |
| | | if (power[i].menuMethod == 'approve') { |
| | | ratify = true |
| | | } |
| | | } |
| | | if (!ratify) { |
| | | this.componentData.do.splice(3, 1) |
| | | } |
| | | if (!check) { |
| | | this.componentData.do.splice(2, 1) |
| | | } |
| | | if (!up) { |
| | | this.componentData.do.splice(1, 1) |
| | | } |
| | | if (!del) { |
| | | this.componentData.do.splice(0, 1) |
| | | } |
| | | this.down = down |
| | | this.add = add |
| | | }, |
| | | getYearAndMonthAndDays(date){ |
| | | return getYearAndMonthAndDays(date) |
| | | }, |
| | |
| | | let entity = {} |
| | | if(this.entity.week1&&this.entity.week2){ |
| | | entity.week = JSON.stringify([this.entity.week1,this.entity.week2]) |
| | | }else{ |
| | | entity.week = '' |
| | | } |
| | | if(this.entity.dateTime){ |
| | | entity.dateTime = JSON.stringify(this.entity.dateTime) |
| | | }else{ |
| | | entity.dateTime = '' |
| | | } |
| | | entity.weekDay = this.entity.weekDay |
| | | entity.name = this.entity.name |
| | |
| | | this.$message.error('请输入数量') |
| | | return |
| | | } |
| | | this.checkLoadY = true |
| | | |
| | | if(this.title == '审核'){ |
| | | // if(e==0){ |
| | | // // 审核不通过 |
| | | // }else{ |
| | | // // 审核通过 |
| | | // } |
| | | this.formData0.state = e==0?'审核不通过':'审核通过' |
| | | if(e==0){ |
| | | // 审核不通过 |
| | | this.checkLoadN = true |
| | | }else{ |
| | | // 审核通过 |
| | | this.checkLoadY = true |
| | | } |
| | | this.formData0.state = e==0?this.formData0.state:'已审核' |
| | | this.$axios.post(this.$api.auxiliaryWorkingHoursDay.check, { |
| | | ...this.formData0 |
| | | }, { |
| | |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.checkLoadY = false |
| | | if(e==0){ |
| | | // 审核不通过 |
| | | this.checkLoadN = false |
| | | }else{ |
| | | // 审核通过 |
| | | this.checkLoadY = false |
| | | } |
| | | if (res.code == 201) return |
| | | this.$message.success('操作成功') |
| | | this.checkVisible = false |
| | |
| | | this.collectWorkingHours() |
| | | }) |
| | | }else{ |
| | | // if(e==0){ |
| | | // // 审核不通过 |
| | | // }else{ |
| | | // // 审核通过 |
| | | // } |
| | | if(e==0){ |
| | | this.checkLoadN = true |
| | | }else{ |
| | | this.checkLoadY = true |
| | | } |
| | | this.$axios.post(this.$api.auxiliaryWorkingHoursDay.approve, { |
| | | id:this.formData0.id, |
| | | state:e==0?'批准不通过':'批准通过' |
| | | state:e==0?'已提交':'已批准' |
| | | }, { |
| | | headers: { |
| | | 'Content-Type': 'application/json' |
| | | } |
| | | }).then(res => { |
| | | this.checkLoadY = false |
| | | if(e==0){ |
| | | this.checkLoadN = false |
| | | }else{ |
| | | this.checkLoadY = false |
| | | } |
| | | if (res.code == 201) return |
| | | this.$message.success('操作成功') |
| | | this.checkVisible = false |
| | |
| | | if(this.formData.number){ |
| | | this.$axios.post(this.$api.auxiliaryWorkingHoursDay.selectAuxiliaryWorkingHoursByNumber+'?number='+this.formData.number).then(res => { |
| | | this.auxiliaryWorking = res.data |
| | | this.formData.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour |
| | | this.formData.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject |
| | | if(this.addVisible){ |
| | | this.formData.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour |
| | | this.formData.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject |
| | | }else if(this.title=='审核'&&this.checkVisible){ |
| | | this.formData0.approvedWorkingHour = this.auxiliaryWorking.approvedWorkingHour |
| | | this.formData0.auxiliaryProject = this.auxiliaryWorking.auxiliaryProject |
| | | } |
| | | }) |
| | | } |
| | | }, |
| | | handleOut(){ |
| | | this.outLoading = true |
| | | this.$axios.post(this.$api.auxiliaryOutputWorkingHours.exportWorkingHours,{responseType: 'blob'}).then(res => { |
| | | this.$axios.get(this.$api.auxiliaryOutputWorkingHours.exportWorkingHours,{responseType: "blob"}).then(res => { |
| | | this.outLoading = false |
| | | this.$message.success('导出成功') |
| | | // let fileName="日工时汇总表"; |
| | | // const blob = new Blob([res], { |
| | | // type: 'application/force-download' |
| | | // }) |
| | | // const filename = decodeURI(fileName+'.xlsx') |
| | | // // 创建一个超链接,将文件流赋进去,然后实现这个超链接的单击事件 |
| | | // const elink = document.createElement('a') |
| | | // elink.download = filename |
| | | // elink.style.display = 'none' |
| | | // elink.href = URL.createObjectURL(blob) |
| | | // document.body.appendChild(elink) |
| | | // elink.click() |
| | | // URL.revokeObjectURL(elink.href) // 释放URL 对象 |
| | | // document.body.removeChild(elink) |
| | | const blob = new Blob([res], { |
| | | type: 'application/force-download' |
| | | }) |
| | | const link = document.createElement('a') |
| | | link.href = URL.createObjectURL(blob) |
| | | link.download = decodeURI('日工时汇总表'+'.xlsx') |
| | | document.body.appendChild(link) |
| | | link.click() |
| | | window.setTimeout(function () { |
| | | URL.revokeObjectURL(blob) |
| | | document.body.removeChild(link) |
| | | }, 0) |
| | | const blob = new Blob([res]); |
| | | console.log(blob) |
| | | const url = URL.createObjectURL(blob); |
| | | const link = document.createElement('a'); |
| | | link.href = url; |
| | | link.download = '日工时汇总表.xlsx'; |
| | | link.click(); |
| | | }) |
| | | }, |
| | | } |