From 9da0675fa67f1f03f48881b2664da4c01356d1b5 Mon Sep 17 00:00:00 2001
From: zss <zss@example.com>
Date: 星期三, 23 七月 2025 15:01:08 +0800
Subject: [PATCH] 插回损--功能修改
---
src/views/quality/rawMaterial/rawMaterial-form.vue | 176 +++++++++++++++++++++++++++++++++++++++++++++++++++++++---
1 files changed, 166 insertions(+), 10 deletions(-)
diff --git a/src/views/quality/rawMaterial/rawMaterial-form.vue b/src/views/quality/rawMaterial/rawMaterial-form.vue
index 02d1bf4..ce9ef7b 100644
--- a/src/views/quality/rawMaterial/rawMaterial-form.vue
+++ b/src/views/quality/rawMaterial/rawMaterial-form.vue
@@ -157,21 +157,30 @@
</el-table-column>
<el-table-column prop="father" label="妫�楠岄」鐩�" width="160">
<template slot-scope="scope">
- <el-input v-if="scope.row.children" style="width:80%" :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"></el-input>
+ <el-input v-if="scope.row.children" style="width:80%" :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.father" placeholder="璇疯緭鍏ユ楠岄」鐩�"
+ :ref="'inspectProject'+scope.$index"
+ :id="'inspectProject'+scope.$index"
+ @keyup.native="moveFocus($event, scope.$index, 'inspectProject')"></el-input>
</template>
</el-table-column>
<el-table-column prop="name" label="椤圭洰" width="160">
<template slot-scope="scope">
<div v-if="!scope.row.children">
<el-input class="inline-input" :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.name"
- placeholder="璇疯緭鍏ラ」鐩悕绉�"></el-input>
+ placeholder="璇疯緭鍏ラ」鐩悕绉�"
+ :ref="'project'+scope.$index"
+ :id="'project'+scope.$index"
+ @keyup.native="moveFocus($event, scope.$index, 'project')"></el-input>
</div>
</template>
</el-table-column>
<el-table-column prop="unit" label="鍗曚綅" width="160">
<template slot-scope="scope">
<div v-if="!scope.row.children">
- <el-input :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"></el-input>
+ <el-input :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.unit" placeholder="璇疯緭鍏ュ崟浣�"
+ :ref="'unit'+scope.$index"
+ :id="'unit'+scope.$index"
+ @keyup.native="moveFocus($event, scope.$index, 'unit')"></el-input>
</div>
</template>
@@ -180,7 +189,10 @@
<template slot-scope="scope">
<div v-if="!scope.row.children">
<el-input :disabled="dataForm.id!=null&&(resultVal!=null && resultVal!='')" v-model="scope.row.required"
- placeholder="璇疯緭鍏ユ爣鍑嗗��"></el-input>
+ placeholder="璇疯緭鍏ユ爣鍑嗗��"
+ :ref="'standard'+scope.$index"
+ :id="'standard'+scope.$index"
+ @keyup.native="moveFocus($event, scope.$index, 'standard')"></el-input>
</div>
</template>
</el-table-column>
@@ -193,13 +205,16 @@
<el-tooltip :disabled="scope.row.deviceId != null" class="item" effect="dark" content="璇峰厛閫夋嫨璁惧锛�" placement="top-start">
<el-autocomplete clearable
cache="false"
- ref="testValueInput"
@blur="checkTestValues(scope.row,'blur',$event)"
@select="checkTestValues(scope.row,'select',$event)"
:disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))"
v-model="scope.row.testValueList[index]"
:fetch-suggestions="querySearch"
- placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��" >
+ placeholder="璇疯緭鍏ユ垨閫夋嫨妫�娴嬪��"
+ :ref="`detectionValue${index}`+scope.$index"
+ :id="`detectionValue${index}`+scope.$index"
+ @keyup.native="moveFocus($event, scope.$index, `detectionValue${index}`)"
+ popper-class="no-keyboard-events">
<template slot-scope="{ item }">
<div>{{ item.value }}</div>
</template>
@@ -228,7 +243,10 @@
<el-table-column prop="note" label="妫�楠屾弿杩�" width="160" >
<template slot-scope="scope">
<div v-if="!scope.row.children">
- <el-input @blur="checkTestValues(scope.row,'blur',$event)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"></el-input>
+ <el-input @blur="checkTestValues(scope.row,'blur',$event)" :disabled="scope.row.deviceId == null || (dataForm.id!=null&&(resultVal!=null && resultVal!=''))" v-model="scope.row.note" placeholder="妫�楠屾弿杩�"
+ :ref="`remark`+scope.$index"
+ :id="`remark`+scope.$index"
+ @keyup.native="moveFocus($event, scope.$index, `remark`)"></el-input>
</div>
</template>
</el-table-column>
@@ -283,7 +301,7 @@
</div>
<el-table :data="processConfigFileTableData" height="260px">
<el-table-column
- prop="rawInsNo"
+ prop="no"
align="center"
width="120"
label="鍘熸潗鏂欐楠岀紪鍙�"
@@ -313,11 +331,12 @@
></el-table-column>
<el-table-column align="center" label="鎿嶄綔">
<template slot-scope="scope">
+ <!-- :disabled="(resultVal!=null && resultVal!='')" -->
<el-button
@click="delProcessConfigFile(scope.row)"
type="text"
size="small"
- :disabled="(resultVal!=null && resultVal!='')"
+
>鍒犻櫎</el-button
>
<el-button
@@ -494,6 +513,8 @@
// startTime: [{ required: true, message: '璇烽�夋嫨鎶ユ鏃ユ湡', trigger: 'blur' }]
},
deviceList: [],
+ keyfield:['inspectProject','project','unit','standard','remark'],
+ keyfield0:['detectionValue0']
}
},
beforeUpdate(){
@@ -517,6 +538,18 @@
this.unqualifiedNum = null
}
},
+ 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);
+ }
+ }
+ }
},
methods:{
querySearch(queryString, cb){
@@ -1034,11 +1067,134 @@
this.deviceList = res.data.data
})
},
- },
+ moveFocus(event, index, key) {
+ console.log(key, index,key)
+ let keyfield = this.insertArrayAt(this.keyfield,4,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()
+ if(key.includes('detectionValue')){
+ this.$refs[key + index][0].activated = false;
+ }
+ 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()
+ if(key.includes('detectionValue')){
+ this.$refs[key + index][0].activated = false;
+ }
+ 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.list.forEach(item => {
+ arr.push(item)
+ item.children.forEach(child => {
+ arr.push(child)
+ })
+ })
+ return arr.length
+ }
+ }
}
</script>
<style>
+/* .no-keyboard-events * {
+ pointer-events: none;
+} */
.rawMaterial-detail {
width: 100%;
height: 530px;
--
Gitblit v1.9.3