From 620880da2e11fe0a56d24662f4736332bf08e9e5 Mon Sep 17 00:00:00 2001 From: value <z1292839451@163.com> Date: 星期五, 31 五月 2024 15:48:50 +0800 Subject: [PATCH] Merge remote-tracking branch 'origin/master' --- src/components/do/b1-ins-order/add.vue | 21 ++++ src/components/do/b3-work-time-management/work-time-management.vue | 169 +++++++++++++++++++++++++++--------------- src/components/do/b3-work-time-management/work-time-statistics.vue | 33 +++++--- src/components/view/b3-classes.vue | 6 src/components/view/a6-personnel-detail.vue | 2 src/assets/api/controller.js | 5 + 6 files changed, 156 insertions(+), 80 deletions(-) diff --git a/src/assets/api/controller.js b/src/assets/api/controller.js index d51b04d..5b3cbdc 100644 --- a/src/assets/api/controller.js +++ b/src/assets/api/controller.js @@ -28,6 +28,7 @@ companies, auxiliaryOutputWorkingHours, auxiliaryWorkingHoursDay, + auxiliaryCorrectionHours, insBushing } } @@ -325,6 +326,10 @@ approve: "/auxiliaryWorkingHoursDay/approve", //鎵瑰噯 } +const auxiliaryCorrectionHours = { + selectAuxiliaryCorrectionHours: "/auxiliaryCorrectionHours/selectAuxiliaryCorrectionHours", //鏌ヨ淇宸ユ椂 +} + const insBushing = { selectBushingBySampleId: "/insBushing/selectBushingBySampleId", //閫氳繃鏍峰搧id鑾峰彇鏍峰搧涓嬪厜绾ら厤缃唴瀹� } diff --git a/src/components/do/b1-ins-order/add.vue b/src/components/do/b1-ins-order/add.vue index d8cd2c6..78cbd51 100644 --- a/src/components/do/b1-ins-order/add.vue +++ b/src/components/do/b1-ins-order/add.vue @@ -373,8 +373,9 @@ <el-table-column prop="section" label="鍖洪棿" width="120" show-overflow-tooltip></el-table-column> <el-table-column prop="ask" label="瑕佹眰鍊�" min-width="220px"> <template slot-scope="scope"> - <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea" readonly - :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" :readonly="active>1"></el-input> + <el-input size="small" placeholder="瑕佹眰鍊�" v-model="scope.row.ask" clearable type="textarea" + :autosize="{ minRows: 1, maxRows: 3}" @change="e=>requestChange(e,scope.row)" v-if="active==1&&isAskOnlyRead"></el-input> + <span v-else>{{ scope.row.ask }}</span> </template> </el-table-column> </el-table> @@ -672,6 +673,8 @@ filters: [], formType: [], configShow: false, + currentMethod: null, + isAskOnlyRead:false, sampleId: null } }, @@ -1054,6 +1057,13 @@ }) }, rowClick(row, column, event) { + this.currentMethod = row + let obj = this.methods.find(a=>a.id==this.currentMethod.standardMethodListId) + if(obj&&obj.code=='濮旀墭瑕佹眰'){ + this.isAskOnlyRead = true + }else{ + this.isAskOnlyRead = false + } this.sampleId = row.id if(this.active!==1){ this.sampleIds = [] @@ -1186,6 +1196,13 @@ }, methodChange(val, row) { if(val===null||val==='')return + this.currentMethod = row + let obj = this.methods.find(a=>a.id==this.currentMethod.standardMethodListId) + if(obj&&obj.code=='濮旀墭瑕佹眰'){ + this.isAskOnlyRead = true + }else{ + this.isAskOnlyRead = false + } this.getProductLoad = true this.$axios.post(this.$api.standardTree.selectStandardProductList, { model: row.model + '-' + row.modelNum, diff --git a/src/components/do/b3-work-time-management/work-time-management.vue b/src/components/do/b3-work-time-management/work-time-management.vue index e5dbe6f..0135ba5 100644 --- a/src/components/do/b3-work-time-management/work-time-management.vue +++ b/src/components/do/b3-work-time-management/work-time-management.vue @@ -174,13 +174,13 @@ <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> @@ -254,11 +254,55 @@ 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:[] } }, @@ -292,13 +336,13 @@ 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, @@ -324,9 +368,9 @@ createUser:'', shift:'', number:'', - amount:'', + reviewerNumber:'', approvedWorkingHour:'', - nonproductiveTime:'', + reviewerNonproductiveTime:'', auxiliaryProject:'', reviewerRemark:'', }, @@ -387,21 +431,21 @@ 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 } } }, @@ -412,6 +456,8 @@ 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 }, methods:{ getYearAndMonthAndDays(date){ @@ -421,9 +467,13 @@ 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 @@ -534,14 +584,16 @@ 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 }, { @@ -549,7 +601,13 @@ '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 @@ -557,20 +615,24 @@ 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 @@ -628,42 +690,27 @@ 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.post(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.data]); + const url = URL.createObjectURL(blob); + const link = document.createElement('a'); + link.href = url; + link.download = '鏃ュ伐鏃舵眹鎬昏〃.xlsx'; + link.click(); }) }, } 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 321f637..57777e9 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 @@ -5,17 +5,17 @@ <div class="search_label">鏃ユ湡锛�</div> <div class="search_input" style="display: flex;align-items: center;"> <el-date-picker - v-model="componentData.entity.laboratory" + v-model="componentData.entity.month" type="month" - format="yyyy-MM-dd HH:mm:ss" - value-format="yyyy-MM-dd HH:mm:ss" + format="yyyy-MM" + value-format="yyyy" placeholder="閫夋嫨鏈�" size="small" style="width: 100%;"> </el-date-picker> </div> </div> <div class="search_thing"> <div class="search_label">鍛樺伐锛�</div> - <el-select v-model="componentData.entity.laboratory" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()"> + <el-select v-model="componentData.entity.name" placeholder="鍏ㄩ儴" size="small" @change="refreshTable()"> <el-option v-for="item in personList" :key="item.id" :label="item.name" :value="item.id"> </el-option> </el-select> @@ -28,7 +28,7 @@ </el-option> </el-select> --> <el-input size="small" placeholder="璇疯緭鍏�" clearable - v-model="componentData.entity.department" @keyup.enter.native="refreshTable()"></el-input> + v-model="componentData.entity.departLims" @keyup.enter.native="refreshTable()"></el-input> </div> </div> <div class="search_thing" style="padding-left: 30px;width: 100px;"> @@ -52,8 +52,8 @@ :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :componentData="componentData" :inputUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :downUrl="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" :key="upIndex" /> <ValueTable ref="ValueTable1" - v-show="currentTable == 'value1'" - :url="$api.auxiliaryWorkingHours.selectAuxiliaryWorkingHours" + v-if="currentTable == 'value1'" + :url="$api.auxiliaryCorrectionHours.selectAuxiliaryCorrectionHours" :componentData="componentData0" :key="upIndex" /> </div> </div> @@ -61,6 +61,9 @@ <script> import ValueTable from '../../tool/value-table.vue' +import { + getYearAndMonthAndDays + } from '../../../util/date' export default { components: { ValueTable @@ -69,9 +72,9 @@ return{ componentData: { entity: { - number: null, - department: null, - laboratory: null, + month: null, + name: null, + departLims: null, orderBy: { field: 'id', order: 'desc' @@ -118,9 +121,9 @@ }, componentData0: { entity: { - number: null, - department: null, - laboratory: null, + month: getYearAndMonthAndDays().split('-')[0]+'-'+getYearAndMonthAndDays().split('-')[1], + name: null, + departLims: null, orderBy: { field: 'id', order: 'desc' @@ -165,6 +168,7 @@ requiredAdd: [], requiredUp: [] }, + entity:{}, upIndex:0, weekList:[], personList:[], @@ -175,6 +179,9 @@ this.getUsers() }, methods: { + getYearAndMonthAndDays(date){ + return getYearAndMonthAndDays(date) + }, refresh(){}, refreshTable(){}, getUsers(){ diff --git a/src/components/view/a6-personnel-detail.vue b/src/components/view/a6-personnel-detail.vue index 21598f0..0179f59 100644 --- a/src/components/view/a6-personnel-detail.vue +++ b/src/components/view/a6-personnel-detail.vue @@ -313,7 +313,7 @@ } this.selectTree = data2.replace(' - ', '') this.addOb.fatherId = val.id; - this.componentData.entity.departLimsId = val.id+','; + this.componentData.entity.departLimsId = val.id; this.refreshTable() }, getNodeParent(val) { diff --git a/src/components/view/b3-classes.vue b/src/components/view/b3-classes.vue index 0171ca0..90cc096 100644 --- a/src/components/view/b3-classes.vue +++ b/src/components/view/b3-classes.vue @@ -68,7 +68,7 @@ </div> </div> </div> - <div class="scroll-right" id="nav" style="cursor: move;"> + <div class="scroll-right"> <div class="content"> <div class="content-title content-title-right" style="border-bottom: 0;"> <div class="content-title-item" v-for="(item,index) in weeks" :key="'b'+index"> @@ -324,13 +324,13 @@ } this.monthList.reverse() // this.getPower() - this.scrollInit() }, methods: { refresh(){ this.list = []; this.yearList = [] this.keyMap = {}; + this.finishLoding = false; this.currentPage = 1 this.query = { userName:'', @@ -347,6 +347,7 @@ refreshTable(){ this.keyMap = {}; this.currentPage = 1 + this.finishLoding = false; if(this.query.month){ this.list = []; this.init() @@ -727,7 +728,6 @@ margin-left: 220px; overflow-x: scroll; /* overflow-x: hidden; */ - cursor: move; } .content { -- Gitblit v1.9.3