From ef4e46f182aee6253805e66286dee847c573cbde Mon Sep 17 00:00:00 2001 From: licp <lichunping@guanfang.com.cn> Date: 星期三, 22 五月 2024 17:18:34 +0800 Subject: [PATCH] 完成原材料、产品检验、过程检,包装检键盘切换输入框 --- src/views/quality/finishedProductInspection/finishedProduct-form.vue | 196 ++++++++++++++++++++++++++++++++++++++++++------ 1 files changed, 171 insertions(+), 25 deletions(-) diff --git a/src/views/quality/finishedProductInspection/finishedProduct-form.vue b/src/views/quality/finishedProductInspection/finishedProduct-form.vue index c504af6..dbbc3f5 100644 --- a/src/views/quality/finishedProductInspection/finishedProduct-form.vue +++ b/src/views/quality/finishedProductInspection/finishedProduct-form.vue @@ -134,7 +134,9 @@ class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> <el-input :disabled="scope.row.eId == null" v-model="scope.row.empiricalValueAddss[index]" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��"></el-input> + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ娴嬪��" + :id="`detectionValue${index}`+scope.$index" + @keyup.native="moveFocus($event, scope.$index, `detectionValue${index}`)"></el-input> <span v-if="resultVal != null" v-text="scope.row.empiricalValueAddss[index]"></span> </el-tooltip> </el-col> @@ -179,7 +181,9 @@ <el-input :disabled="scope.row.eId == null" v-model="scope.row.inote" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�" + :id="`remark`+scope.$index" + @keyup.native="moveFocus($event, scope.$index, `remark`)"></el-input> <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.inote"></span> @@ -190,7 +194,8 @@ class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start"> <el-input :disabled="scope.row.eId == null" v-model="scope.row.inote" - @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�"></el-input> + @blur="changeState(scope.row)" placeholder="璇疯緭鍏ユ楠屾弿杩�" :id="`remark`+scope.$index" + @keyup.native="moveFocus($event, scope.$index, `remark`)"></el-input> <span v-if="resultVal != null && processInspectVo.id != null" v-text="scope.row.inote"></span> </el-tooltip> @@ -459,10 +464,24 @@ }, inspectionItems: [], // 鏂板妫�楠岄」鐩〃鏍� inspectionResultForm: [], - configFileTableData:[] + configFileTableData:[], + keyfield:['inspectProject','project','unit','standard','remark'], + keyfield0:['detectionValue0'] } }, watch: { + empiricalValueAdd(newVal){ + if(newVal!=this.keyfield0.length){ + if(newVal>this.keyfield0.length){ + this.keyfield0 = [] + for(let i=0;i<newVal;i++){ + this.keyfield0.push('detectionValue'+i) + } + }else{ + this.keyfield0.splice(this.keyfield0.length-1,1); + } + } + } }, beforeUpdate(){ this.$nextTick(()=>{ @@ -620,22 +639,31 @@ result: this.inspectionResultForm[0].result } if (pro > 0) { - this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', { - confirmButtonText: '纭畾', - cancelButtonText: '鍙栨秷', - inputPattern: /^\d+$/, - inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�' - }).then(({ value }) => { - obj.number = value - updateFinishedInspectById(obj).then(res => { - if(res.data.data.indexOf("鎴愬姛") > 0){ - this.$message.success("涓婃姤鎴愬姛"); - this.checkTestState() - }else{ - this.$message.warning(res.data.data) - } - }); - }).catch(() => {}); + obj.number = 1; + updateFinishedInspectById(obj).then(res => { + if(res.data.data.indexOf("鎴愬姛") > 0){ + this.$message.success("涓婃姤鎴愬姛"); + this.checkTestState() + }else{ + this.$message.warning(res.data.data) + } + }); + // this.$prompt('璇疯緭鍏ヤ笉鍚堟牸鏁伴噺', '涓嶅悎鏍兼暟閲�', { + // confirmButtonText: '纭畾', + // cancelButtonText: '鍙栨秷', + // inputPattern: /^\d+$/, + // inputErrorMessage: '璇疯緭鍏ユ纭暟瀛楁牸寮�' + // }).then(({ value }) => { + // obj.number = value + // updateFinishedInspectById(obj).then(res => { + // if(res.data.data.indexOf("鎴愬姛") > 0){ + // this.$message.success("涓婃姤鎴愬姛"); + // this.checkTestState() + // }else{ + // this.$message.warning(res.data.data) + // } + // }); + // }).catch(() => {}); }else{ updateFinishedInspectById(obj).then(res => { if(res.data.data.indexOf("鎴愬姛") > 0){ @@ -696,10 +724,14 @@ if(obj.inspectionValue){ arr = obj.inspectionValue.split(",") } - obj.empiricalValueAddss = arr + this.$set(obj,'empiricalValueAddss',arr) + // obj.empiricalValueAddss = arr if(obj.note){ - snote=obj.inote - } + // obj.inote=obj.note + this.$set(obj,'inote',obj.note) + }else{ + this.$set(obj,'inote',null) + } if(arr.length > this.empiricalValueAdd){ this.empiricalValueAdd = arr.length } @@ -864,7 +896,7 @@ arr.splice((arr.length-1),1) let obj = { devideId: i.eId, - fpid: row.iid, + fpid: i.iid, inspectionValue: arr.join(","), note : i.inote } @@ -885,7 +917,7 @@ } else { if (this.empiricalValueAddMaxNumber != this.empiricalValueAdd - 1) { this.empiricalValueAdd = this.empiricalValueAdd - 1; - // this.changeRowResult() + this.changeRowResult() this.inspectionItems.forEach(i => { i.empiricalValueAddss.splice(this.empiricalValueAdd, 1); }); @@ -896,7 +928,121 @@ // 娣诲姞妫�楠屽�煎垪 clickAddInspectionColumn() { this.empiricalValueAdd = this.empiricalValueAdd + 1; + }, + moveFocus(event, index, key) { + console.log(key, index,key) + let keyfield = this.insertArrayAt(this.keyfield,0,this.keyfield0); + // enter閿� + // if (event.keyCode === 13) { // 鍥炶溅 + // if (index === this.getLen() - 1 && key === keyfield[keyfield.length - 1]) { // 鏈�鍚庝竴琛屾渶鍚庝竴涓� + // console.log('鏈�鍚庝竴琛屾渶鍚庝竴涓棤娉曞洖杞�') + // return + // } + // this.$nextTick(() => { + // event.target.blur() + // }) + // if (key === keyfield[keyfield.length - 1]) { // 褰撳墠琛屾渶鍚庝竴涓�,璺宠浆涓嬩竴琛岀涓�涓� + + // } else { // 璺宠浆涓嬩竴涓� + // const nextkeyindex = keyfield.findIndex(k => k === key) + 1 + // this.$nextTick(() => { + // document.getElementById(keyfield[nextkeyindex] + index).focus() + // }) + // } + // } + + // 鍚戜笂 =38 + if (event.keyCode === 38) { + console.log('鍚戜笂') + if (index === 0) { // 绗竴琛� + console.log('绗竴琛屾棤娉曞悜涓�') + return + } + document.getElementById(key + index).blur() + let i = 0; + while (true){ + let dom = document.getElementById(key + (index - 1-i)) + if(dom){ + dom.focus() + return + }else if((index-1-i)==0){ + return + } + i++ + } } + + // 涓� = 40 + if (event.keyCode === 40) { + console.log('鍚戜笅') + if (index === this.getLen() - 1) { // 鏈�鍚庝竴琛� + console.log('鏈�鍚庝竴琛屾棤娉曞悜涓�') + return + } + document.getElementById(key + index).blur() + this.$nextTick(() => { + let i = 0; + while (true){ + let dom = document.getElementById(key + (index + 1+i)) + console.log(dom,key + (index + 1+i)) + if(dom){ + dom.focus() + return + }else if((index+1+i)==this.getLen() - 1){ + return + } + i++ + } + }) + } + + // 宸� = 37 + if (event.keyCode === 37) { + console.log('鍚戝乏') + if (index === 0 && key === keyfield[0]) { // 绗竴琛岀涓�涓� + console.log('绗竴琛岀涓�涓棤娉曞悜宸�') + return + } + document.getElementById(key + index).blur() + const prevkeyindex = keyfield.findIndex(k => k === key) - 1 + this.$nextTick(() => { + let dom = document.getElementById(keyfield[prevkeyindex] + index) + if(dom){ + dom.focus() + } + }) + } + + // 鍙� = 39 + if (event.keyCode === 39) { + console.log('鍚戝彸') + if (index === this.getLen() - 1 && key === keyfield[keyfield.length - 1]) { // 鏈�鍚庝竴琛屾渶鍚庝竴涓� + console.log('鏈�鍚庝竴琛屾渶鍚庝竴涓棤娉曞悜鍙�') + return + } + document.getElementById(key + index).blur() + const nextkeyindex = keyfield.findIndex(k => k === key) + 1 + this.$nextTick(() => { + let dom = document.getElementById(keyfield[nextkeyindex] + index) + if(dom){ + dom.focus() + } + }) + } + }, + insertArrayAt(arr1, index, arr2) { + return arr1.slice(0, index).concat(arr2, arr1.slice(index)); + }, + getLen(){ + let arr = [] + this.inspectionItems.forEach(item => { + arr.push(item) + item.children.forEach(child => { + arr.push(child) + }) + }) + return arr.length + } }, } </script> -- Gitblit v1.9.3