liuhairui 1 year ago
parent
commit
b13aeb1b2d
1 changed files with 521 additions and 207 deletions
  1. 521 207
      src/view/performance/06-packingDocuments/index.vue

+ 521 - 207
src/view/performance/06-packingDocuments/index.vue

@@ -60,32 +60,30 @@
 						<el-dialog v-model="dialogFormVisible" :title="type" destroy-on-close width="1400px">
 							<el-form id="detail-form" :model="detailData" inline label-position="left">
 								<el-form-item label="日期">
-									<el-input type="date" max="9999-12-31" @focus="rqHandleFocus()" @keyup="moveFocus"
-										v-model="detailData.sczl_rq" style="width: 120px;" />
+									<el-input type="date" max="9999-12-31" @focus="rqHandleFocus()" 
+										v-model="detailData.sczl_rq" style="width: 120px;" @keydown="ent1($event,$index,row,'')" />
 								</el-form-item>
 
 								<el-form-item label="员工编号">
-									<el-input v-model="detailData.sczl_bh" style="width: 100px;" @keyup="moveFocus"
-										placeholder="Enter回车" 
-										 />
-									<el-input v-model="detailData.name" style="width: 100px; padding-left: 5px;"
-										@keyup="moveFocus" @click="selectvalue($event)" readonly />
+									<el-input v-model="detailData.sczl_bh" style="width: 100px;" id="员工编号"  @keydown="ent1($event,$index,row,'员工编号')" placeholder="Enter回车" />
+									<el-input v-model="detailData.name" style="width: 100px; padding-left: 5px;"			@click="selectvalue($event)" readonly />
 								</el-form-item>
 
 								<el-form-item label="组别">
-									<el-input v-model="detailData.sczl_bzdh" style="width: 80px;" @keyup="moveFocus" @keydown="getBzsubmit($event)" />
+									<el-input v-model="detailData.sczl_bzdh" style="width: 80px;"  @keydown="ent1($event,$index,row,'组别')" />
 								</el-form-item>
 								<br>
 
 								<el-form-item label="计时时数" style="padding-left: 195px;">
-									<el-input v-model="detailData.sczl_jsss" style="width: 100px;" @keyup="moveFocus"
+									<el-input v-model="detailData.sczl_jsss" style="width: 100px;" @keydown="ent1($event,$index,row,'')"
 										@click="selectvalue($event)" />
 								</el-form-item>
 
 								<el-form-item label="冲月定额">
-									<el-input v-model="detailData.sczl_冲定额" @keyup="moveFocus" style="width: 80px;" @keydown="getBzsubmit2($event)" />
+									<el-input v-model="detailData.sczl_冲定额"  style="width: 80px;" @keydown="ent1($event,$index,row,'冲月定额')" />
 								</el-form-item>
-
+								
+								<!-- 表格列表input -->
 								<el-table :data="detailData.table" border tooltip-effect="dark"
 									:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
 									:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }">
@@ -93,72 +91,77 @@
 									<el-table-column label="工单编号" width="120">
 										<template #default="{ row, $index }">
 											<el-input v-model="row.sczl_gdbh" placeholder="Enter回车"
-												@keydown="handleEnter($event,$index, row)" @keyup="moveFocus3($event,$index,row)" />
+											@keydown="ent1($event,$index,row,'工单编号')"/>
 										</template>
 									</el-table-column>
 
 									<el-table-column label="印件工序" width="100">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_yjGx" @keyup="moveFocus" readonly />
+											<el-input v-model="row.sczl_yjGx"  readonly />
 										</template>
 									</el-table-column>
 
 									<el-table-column label="工序名称" width="100">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_gxmc" @keyup="moveFocus" readonly />
+											<el-input v-model="row.sczl_gxmc" readonly />
 										</template>
 									</el-table-column>
 
 									<el-table-column label="印件名称" width="310">
 										<template #default="{ row }">
-											<el-input v-model="row.Gd_cpmc" @keyup="moveFocus" readonly />
+											<el-input v-model="row.Gd_cpmc"  readonly />
+										</template>
+									</el-table-column>
+									
+									<el-table-column label="核算标准" width="100">
+										<template #default="{ row }">
+											<el-input v-model="row.hsbz" @keydown="ent1($event,$index,row,'核算标准')" />
 										</template>
 									</el-table-column>
 									
-									<el-table-column label="核算标准">
+								<!-- 	<el-table-column label="核算标准">
 										<template #default="{ row }">
-											<el-select v-model="row.hsbz" @keyup="moveFocus"  placeholder="请选择" popper-class="dropdown" >
+											<el-select v-model="row.hsbz" @keydown="ent1($event,$index,row,'')"  placeholder="请选择" popper-class="dropdown" >
 												<el-option label="1000" value="1000" ></el-option>
 												<el-option label="2500" value="2500"></el-option>
 											</el-select>
 										</template>
-									</el-table-column>
+									</el-table-column> -->
 
 									<el-table-column label="包装产量" width="100">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_cl" @keyup="moveFocus" />
+											<el-input v-model="row.sczl_cl" @keydown="ent1($event,$index,row,'')" />
 										</template>
 									</el-table-column>
 
 									<el-table-column label="返工产量" width="95">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_返工产量" @keyup="moveFocus" />
+											<el-input v-model="row.sczl_返工产量" @keydown="ent1($event,$index,row,'')" />
 										</template>
 									</el-table-column>
 
 									<el-table-column label="每箱数量" width="100">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_PgCl" @keyup="moveFocus" />
+											<el-input v-model="row.sczl_PgCl" @keydown="ent1($event,$index,row,'')"/>
 										</template>
 									</el-table-column>
 
 									<el-table-column label="计产系数" width="95">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_计产系数" @keyup="moveFocus" />
+											<el-input v-model="row.sczl_计产系数" @keydown="ent1($event,$index,row,'')"/>
 										</template>
 									</el-table-column>
 
 									<el-table-column label="来源" width="95">
 										<template #default="{ row }">
-											<el-input v-model="row.sczl_Jtbh1"  
-											@keyup="moveFocus"/>
+											<el-input v-model="row.sczl_Jtbh1"  @keydown="ent1($event,$index,row,'')"/>
 										</template>
 									</el-table-column>
 
 									<el-table-column label="定额代号" width="130">
 										<template #default="{ row, $index }">
-											<el-input id="input" v-model="row.sczl_dedh" @keyup="moveFocus"
-												@keydown="getDedhsubmit($event,$index, row)" />
+											<el-input id="input" v-model="row.sczl_dedh" 
+											@keydown="ent1($event,$index,row,'定额代号')" />
 												
 										</template>
 									</el-table-column>
@@ -166,7 +169,7 @@
 								</el-table>
 
 								<el-form-item label="其他备注" style="margin-top: 10px;">
-									<el-input v-model="detailData.sczl_desc"  @keyup="moveFocus" style="width:600px;"/>
+									<el-input v-model="detailData.sczl_desc" @keydown="ent1($event,$index,row,'其他备注')" style="width:600px;"/>
 								</el-form-item>
 
 							</el-form>
@@ -195,6 +198,24 @@
 							</el-form>
 						</el-dialog>
 						
+						<!-- 核算标准弹窗 -->
+						  <!-- 核算标准弹窗 -->
+						  <el-dialog v-model="hsbzVisible" title="选择" destroy-on-close width="200px" @keydown="selecthsbz($event)">
+						    <el-table
+						      tooltip-effect="dark"
+						      :data="selectDatahsbz"
+						      row-key="value"
+						      highlight-current-row="true"
+						      border
+						      style="width: 100%"
+						      @row-dblclick="SelectClickhsbz"
+						      ref="tableRef"
+						    >
+						      <el-table-column align="center" prop="value" label="核算标准" width="168" />
+						    </el-table>
+						  </el-dialog>
+						
+						
 						<!-- 弹出选项框 -->
 						<el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="800px"
 							@keydown="selectCP($event)">
@@ -691,7 +712,7 @@ const SelectClickBz = (row, column, event) => {
 	}
 
 	// 获取工序名称
-	const getTableGxMc = async (index, row) => {
+	const getTableGxMc = async (event,index, row) => {
 		try {
 			const response = await getGxMc({
 				gdbh: row.sczl_gdbh
@@ -763,6 +784,12 @@ const SelectClickBz = (row, column, event) => {
 		getTableData()
 			dialogFormVisible.value = false
 		}
+		setTimeout(() => {
+		const inputElement = document.getElementById('员工编号');
+			if (inputElement) {
+				inputElement.focus();		
+			}
+		}, 100);
 	}
 
 	// 新增数据
@@ -786,10 +813,10 @@ const SelectClickBz = (row, column, event) => {
 						sczl_dedh: '',
 					}
 				})
-			setTimeout(() => {
-				formElements = document.getElementById('detail-form').elements
-				formElements[0].focus()
-			}, 0)
+			// setTimeout(() => {
+			// 	formElements = document.getElementById('detail-form').elements
+			// 	formElements[0].focus()
+			// }, 0)
 			dialogFormVisible.value = true
 		} else {
 			await getTableInfo(currentRow.value?.UniqId)
@@ -831,12 +858,17 @@ const SelectClickBz = (row, column, event) => {
 				message: '新增成功',
 			})
 		getTableData()
-			// dialogFormVisible.value = false
 			if (params.date != '') {
 				getTableData()
 			}
 			getSideData()
 		}
+		setTimeout(() => {
+		const inputElement = document.getElementById('员工编号');
+			if (inputElement) {
+				inputElement.focus();		
+			}
+		}, 100);
 	}
 	//弹出框回车事件
 	const handleGetYg = async () => {
@@ -924,36 +956,36 @@ const SelectClickBz = (row, column, event) => {
 	}
 
 	//班组回车事件
-	const getBzsubmit = (event) => {
-		if (event.keyCode !== 37){
-		//弹出选择
-		const data = [{
-			'sczl_bzdh': 'A班'
-		}, {
-			'sczl_bzdh': 'B班'
-		}]
-		selectDataBz.splice(0, selectDataBz.length, ...data)
-		if (dialogSelectVisible_Yg.value == false){
-			BzVisible.value = true
-		}
-
-		setCurrent(data[0])
-		}
-
-	}
-	//冲月定额
-	const getBzsubmit2 = (event) => {
-		if (event.keyCode !== 37) {
-			const data = [{
-			'sczl_冲定额': '是'
-		}, {
-			'sczl_冲定额': '否'
-		}]
-		selectDataCY.splice(0, selectDataCY.length, ...data)
-		BzVisible2.value = true
-		setCurrent2(data[0])
-		}
-	}
+	// const getBzsubmit = (event) => {
+	// 	if (event.keyCode !== 37){
+	// 	//弹出选择
+	// 	const data = [{
+	// 		'sczl_bzdh': 'A班'
+	// 	}, {
+	// 		'sczl_bzdh': 'B班'
+	// 	}]
+	// 	selectDataBz.splice(0, selectDataBz.length, ...data)
+	// 	if (dialogSelectVisible_Yg.value == false){
+	// 		BzVisible.value = true
+	// 	}
+
+	// 	setCurrent(data[0])
+	// 	}
+
+	// }
+	// //冲月定额
+	// const getBzsubmit2 = (event) => {
+	// 	if (event.keyCode !== 37) {
+	// 		const data = [{
+	// 		'sczl_冲定额': '是'
+	// 	}, {
+	// 		'sczl_冲定额': '否'
+	// 	}]
+	// 	selectDataCY.splice(0, selectDataCY.length, ...data)
+	// 	BzVisible2.value = true
+	// 	setCurrent2(data[0])
+	// 	}
+	// }
 	const dialogSelectVisible_Bz = ref(false)
 	const selectData_Bz = reactive([])
 	// 处理选择框
@@ -993,23 +1025,23 @@ const SelectClickBz = (row, column, event) => {
 	}
 	
 	// 处理选择框回车操作
-	const handleEnter = (event,index, row) => {
-		const inputs = document.getElementsByTagName("input");
-		const currentIndex = Array.from(inputs).indexOf(event.target);
-		// console.log(inputs)
-		if(event.keyCode === 13){
-			console.log("回车")
-			detailData.table[index].sczl_dedh = '030002002'
-			detailData.table[index].sczl_计产系数 = '1.000'
-			if (row.sczl_gdbh === '') {
-				detailData.table[index].sczl_yjGx = ''
-				detailData.table[index].sczl_gxmc = ''
-				detailData.table[index].Gd_cpmc = ''
-			} else {
-				getTableGxMc(index, row)
-			}
-		}
-	}
+	// const handleEnter = (event,index, row) => {
+	// 	const inputs = document.getElementsByTagName("input");
+	// 	const currentIndex = Array.from(inputs).indexOf(event.target);
+	// 	// console.log(inputs)
+	// 	if(event.keyCode === 13){
+	// 		console.log("回车")
+	// 		detailData.table[index].sczl_dedh = '030002002'
+	// 		detailData.table[index].sczl_计产系数 = '1.000'
+	// 		if (row.sczl_gdbh === '') {
+	// 			detailData.table[index].sczl_yjGx = ''
+	// 			detailData.table[index].sczl_gxmc = ''
+	// 			detailData.table[index].Gd_cpmc = ''
+	// 		} else {
+	// 			getTableGxMc(index, row)
+	// 		}
+	// 	}
+	// }
 
 	// 处理选择框
 	const handleSelectClick = (row, column, event) => {
@@ -1321,137 +1353,419 @@ const SelectClickBz = (row, column, event) => {
 
 	let flag_Bz = true
 	let formElements
-	const moveFocus = (event) => {
-		// console.log(formElements);
-    const index = Array.from(formElements).indexOf(event.target);
-    const key = event.key;
-	console.log(index);
-	const currentInputValue = formElements[index].value;
-    event.preventDefault();
-    switch (index) {
-        case 0:
-            if (key === 'ArrowRight' ) {
-                formElements[1].focus();
-                formElements[1].select();
-            } else if (key === 'ArrowLeft') {
-                formElements[formElements.length - 1].focus();
-                formElements[formElements.length - 1].select();
-            } else if (key === 'Enter') {
-                formElements[1].focus();
-                formElements[1].select();
-            }
-            break;
-        case 1:
-            if (key === 'ArrowRight') {
-                formElements[3].focus();
-                formElements[3].select();
-            } else if (key === 'ArrowLeft') {
-                formElements[0].focus();
-                formElements[0].select();
-            } else if (key === 'Enter') {
-                handleGetYg();
-            }
-            break;
-
-        case 3:
-            if (key === 'ArrowRight') {
-
-                formElements[4].focus();
-                formElements[4].select();
-            } else if (key === 'ArrowLeft') {
-                formElements[1].focus();
-                formElements[1].select();
-            } else if (key === 'Enter') {
-                formElements[4].focus();
-                formElements[4].select();
-            }
-            break;
-
-        case formElements.length - 1:
-            if (key === 'ArrowRight') {
-                formElements[0].focus();
-                formElements[0].select();
-            } else if (key === 'ArrowLeft') {
-                formElements[index - 1].focus();
-                formElements[index - 1].select();
-            } else if (key === 'Enter') {
-                formElements[0].focus();
-                formElements[0].select();
-				enterDialog()
-            }
-            break;
-
-        default:
-            if (key === 'ArrowRight') {
-                formElements[index + 1].focus();
-                formElements[index + 1].select();
-            } else if (key === 'ArrowLeft') {
-                formElements[index - 1].focus();
-                formElements[index - 1].select();
-            } else if (key === 'Enter') {
-                formElements[index + 1].focus();
-                formElements[index + 1].select();
-            }
-            break;
-    }
-};
-	const movefous2 = (event,row,index)=>{
-		const index2 = Array.from(formElements).indexOf(event.target)
-			if (row.sczl_dedh != '' & event.key === "ArrowRight"){
-				event.stopPropagation();
-				formElements[index2+2].focus();
-				formElements[index2+2].select();
-			}
-	}
-	const movefous = (event,row,index)=>{
-		console.log(1)
-		const index2 = Array.from(formElements).indexOf(event.target)
-			if (row.sczl_dedh != '' & event.key === "ArrowLeft"){
-				event.stopPropagation();
-				formElements[index2-2].focus();
-				formElements[index2-2].select();
-			}
-			if(row.sczl_gdbh === '' && event.key === "Enter" ){
-				event.stopPropagation();
-				formElements[index2+11].focus();
-				formElements[index2+11].select();
-				row.sczl_yjGx = ""
-				row.sczl_gxmc = ""
-				row.Gd_cpmc = ""
-				row.hsbz = ""
-				row.sczl_cl = ""
-				row.sczl_返工产量 = ""
-				row.sczl_计产系数 = ""
-				row.sczl_PgCl = ""
-				row.sczl_Jtbh1 = ""
-				row.sczl_dedh = ""
-			}
-	}
+// 	const moveFocus = (event,index,row,title) => {
+// 		// console.log(formElements);
+//     const index = Array.from(formElements).indexOf(event.target);
+//     const key = event.key;
+// 	console.log(index);
+// 	const currentInputValue = formElements[index].value;
+//     event.preventDefault();
+//     switch (index) {
+//         case 0:
+//             if (key === 'ArrowRight' ) {
+//                 formElements[1].focus();
+//                 formElements[1].select();
+//             } else if (key === 'ArrowLeft') {
+//                 formElements[formElements.length - 1].focus();
+//                 formElements[formElements.length - 1].select();
+//             } else if (key === 'Enter') {
+//                 formElements[1].focus();
+//                 formElements[1].select();
+//             }
+//             break;
+//         case 1:
+//             if (key === 'ArrowRight') {
+//                 formElements[3].focus();
+//                 formElements[3].select();
+//             } else if (key === 'ArrowLeft') {
+//                 formElements[0].focus();
+//                 formElements[0].select();
+//             } else if (key === 'Enter') {
+//                 handleGetYg();
+//             }
+//             break;
+
+//         case 3:
+//             if (key === 'ArrowRight') {
+
+//                 formElements[4].focus();
+//                 formElements[4].select();
+//             } else if (key === 'ArrowLeft') {
+//                 formElements[1].focus();
+//                 formElements[1].select();
+//             } else if (key === 'Enter') {
+//                 formElements[4].focus();
+//                 formElements[4].select();
+//             }
+//             break;
+
+//         case formElements.length - 1:
+//             if (key === 'ArrowRight') {
+//                 formElements[0].focus();
+//                 formElements[0].select();
+//             } else if (key === 'ArrowLeft') {
+//                 formElements[index - 1].focus();
+//                 formElements[index - 1].select();
+//             } else if (key === 'Enter') {
+//                 formElements[0].focus();
+//                 formElements[0].select();
+// 				enterDialog()
+//             }
+//             break;
+
+//         default:
+//             if (key === 'ArrowRight') {
+//                 formElements[index + 1].focus();
+//                 formElements[index + 1].select();
+//             } else if (key === 'ArrowLeft') {
+//                 formElements[index - 1].focus();
+//                 formElements[index - 1].select();
+//             } else if (key === 'Enter') {
+//                 formElements[index + 1].focus();
+//                 formElements[index + 1].select();
+//             }
+//             break;
+//     }
+// };
+// 	const movefous2 = (event,row,index)=>{
+// 		const index2 = Array.from(formElements).indexOf(event.target)
+// 			if (row.sczl_dedh != '' & event.key === "ArrowRight"){
+// 				event.stopPropagation();
+// 				formElements[index2+2].focus();
+// 				formElements[index2+2].select();
+// 			}
+// 	}
+// 	const movefous = (event,row,index)=>{
+// 		console.log(1)
+// 		const index2 = Array.from(formElements).indexOf(event.target)
+// 			if (row.sczl_dedh != '' & event.key === "ArrowLeft"){
+// 				event.stopPropagation();
+// 				formElements[index2-2].focus();
+// 				formElements[index2-2].select();
+// 			}
+// 			if(row.sczl_gdbh === '' && event.key === "Enter" ){
+// 				event.stopPropagation();
+// 				formElements[index2+11].focus();
+// 				formElements[index2+11].select();
+// 				row.sczl_yjGx = ""
+// 				row.sczl_gxmc = ""
+// 				row.Gd_cpmc = ""
+// 				row.hsbz = ""
+// 				row.sczl_cl = ""
+// 				row.sczl_返工产量 = ""
+// 				row.sczl_计产系数 = ""
+// 				row.sczl_PgCl = ""
+// 				row.sczl_Jtbh1 = ""
+// 				row.sczl_dedh = ""
+// 			}
+// 	}
 	
-	const moveFocus3 = (event, index, formElements) => {
-	  const key = event.key; // 获取当前按下的键
+// 	const moveFocus3 = (event, index, formElements) => {
+// 	  const key = event.key; // 获取当前按下的键
 
-	  console.log("当前按下的键:", key);
+// 	  console.log("当前按下的键:", key);
 
-	  if (key === 'ArrowRight') {
-		// 右方向键:将焦点移到下一个元素
-		if (index + 1 < formElements.length) {
-		  formElements[index + 1].focus();
-		  formElements[index + 1].select();
-		}
-	  } else if (key === 'ArrowLeft') {
-		// 左方向键:将焦点移到上一个元素
-		if (index - 1 >= 0) {
-		  formElements[index - 1].focus();
-		  formElements[index - 1].select();
-		}
-	  } else if (key === 'Enter') {
-		event.stopPropagation();
-		formElements[index2-2].focus();
-		formElements[index2-2].select();
-	  }
-	};
+// 	  if (key === 'ArrowRight') {
+// 		// 右方向键:将焦点移到下一个元素
+// 		if (index + 1 < formElements.length) {
+// 		  formElements[index + 1].focus();
+// 		  formElements[index + 1].select();
+// 		}
+// 	  } else if (key === 'ArrowLeft') {
+// 		// 左方向键:将焦点移到上一个元素
+// 		if (index - 1 >= 0) {
+// 		  formElements[index - 1].focus();
+// 		  formElements[index - 1].select();
+// 		}
+// 	  } else if (key === 'Enter') {
+// 		event.stopPropagation();
+// 		formElements[index2-2].focus();
+// 		formElements[index2-2].select();
+// 	  }
+// 	};
 
+	/*
+		核算标准
+	*/
+    const hsbzVisible = ref(false); // 控制弹窗显示
+    const selectDatahsbz = ref([{ value: "1000" }, { value: "2500" }]); // 弹窗数据
+    const currentRowIndex = ref(0); // 弹窗中当前高亮的行索引
+    const tableRef = ref(null); // 弹窗表格的引用
+    const editingRow = ref(null); // 当前主表格中正在编辑的行
+
+    // 弹窗键盘事件处理
+    const selecthsbz = (event) => {
+      const maxIndex = selectDatahsbz.value.length - 1;
+      if (event.key === "ArrowUp") {
+        currentRowIndex.value = currentRowIndex.value === 0 ? maxIndex : currentRowIndex.value - 1;
+        updateHighlightRow();
+      } else if (event.key === "ArrowDown") {
+        currentRowIndex.value = currentRowIndex.value === maxIndex ? 0 : currentRowIndex.value + 1;
+        updateHighlightRow();
+      } else if (event.key === "Enter") {
+        const selectedRow = selectDatahsbz.value[currentRowIndex.value];
+        if (selectedRow) {
+          SelectClickhsbz(selectedRow);
+        }
+      }
+    };
+
+    // 更新弹窗中高亮行
+    const updateHighlightRow = () => {
+      nextTick(() => {
+        if (tableRef.value) {
+          tableRef.value.setCurrentRow(selectDatahsbz.value[currentRowIndex.value]);
+        }
+      });
+    };
+
+    // 选中某一行,并将数据回填到主表格
+    const SelectClickhsbz = (selectedRow) => {
+      if (!selectedRow) return;
+      console.log("selectedRow.value", selectedRow.value);
+      // 将选中的值回填到主表格当前行的 `hsbz` 字段
+      if (editingRow.value) {
+        editingRow.value.hsbz = selectedRow.value; // 确保 editingRow 是响应式的
+      } else {
+        console.error("当前没有编辑的行!");
+      }
+      // 关闭弹窗
+      hsbzVisible.value = false;
+    };
+
+//回车事件
+const ent1 = (event,index,row,title) => {
+  const inputs = document.getElementsByTagName("input");
+  const currentIndex = Array.from(inputs).indexOf(event.target);
+  
+  if (event.keyCode === 13 && title === '工单编号') { // 检测是否按下回车键,且当前列为工单编号
+      if (row["sczl_gdbh"] === "") { // 如果当前工单编号为空
+        event.preventDefault(); // 阻止默认事件
+        event.stopPropagation(); // 阻止事件冒泡
+  
+        // 跳转到下一行的工单编号输入框
+        const nextInputIndex = currentIndex + 11; // 假设每行有 10 个 input
+        if (nextInputIndex < inputs.length) { // 如果下一行的 input 存在
+          inputs[nextInputIndex].focus(); // 聚焦到下一行的工单编号
+          inputs[nextInputIndex].select(); // 选中内容
+        }
+  
+        // 清空当前行的相关字段
+        row.sczl_yjGx = "";
+        row.sczl_gxmc = "";
+        row.Gd_cpmc = "";
+        row.hsbz = "";
+        row.sczl_cl = "";
+        row.sczl_返工产量 = "";
+        row.sczl_计产系数 = "";
+        row.sczl_PgCl = "";
+        row.sczl_Jtbh1 = "";
+        row.sczl_dedh = "";
+  
+        // 设置当前行默认值
+        // detailData.table[index].sczl_dedh = "030002002"; // 设置默认 dedh 值
+        // detailData.table[index].sczl_计产系数 = "1.000"; // 设置默认 计产系数 值
+		detailData.table[index].sczl_dedh = ""; // 设置默认 dedh 值
+		detailData.table[index].sczl_计产系数 = ""; // 设置默认 计产系数 值
+  
+        return; // 当前工单为空时,跳到下一行后停止后续逻辑
+      }
+  
+      // 如果当前工单编号不为空,调用处理函数
+      getTableGxMc(event, index, row);
+    }
+  
+  
+  if(event.keyCode === 13 && title ==='员工编号'){
+	  //调用员工编号方法
+	  handleGetYg();
+  }
+  if(event.keyCode === 13 && title ==='组别'){
+	//弹出选择
+	const data = [
+		{
+			'sczl_bzdh': 'A班'
+		}, 
+		{
+			'sczl_bzdh': 'B班'
+		},
+	]
+	selectDataBz.splice(0, selectDataBz.length, ...data)
+	if (dialogSelectVisible_Yg.value == false){
+		BzVisible.value = true
+	}
+	setCurrent(data[0])
+  }
+  if(event.keyCode === 13 && title ==='冲月定额'){
+	const data = [
+		{
+			'sczl_冲定额': '是'
+		}, 
+		{
+			'sczl_冲定额': '否'
+		},
+	]
+	selectDataCY.splice(0, selectDataCY.length, ...data)
+	BzVisible2.value = true
+	setCurrent2(data[0])
+  }
+  
+  
+  if(event.keyCode === 13 && title ==='核算标准'){
+	  hsbzVisible.value = true; // 显示弹窗
+	  editingRow.value = row; // 将当前行数据存储到 editingRow 中
+	  currentRowIndex.value = 0; // 默认选中第一行
+	  nextTick(() => {
+		updateHighlightRow(); // 高亮弹窗中的第一行
+	  });
+  }
+  
+  if(event.keyCode === 13 && title ==='定额代号'){
+		getDedhsubmit(event,index,row,title)
+  }
+  
+  
+  
+  if (event.keyCode === 13 && title === '其他备注') {
+	  const index = Array.from(formElements).indexOf(event.target);
+	  const key = event.key;
+	  console.log(index);
+	  const currentInputValue = formElements[index].value;
+	  event.preventDefault();
+	  switch (index) {
+	      case 0:
+	          if (key === 'ArrowRight' ) {
+	              formElements[1].focus();
+	              formElements[1].select();
+	          } else if (key === 'ArrowLeft') {
+	              formElements[formElements.length - 1].focus();
+	              formElements[formElements.length - 1].select();
+	          } else if (key === 'Enter') {
+	              formElements[1].focus();
+	              formElements[1].select();
+	          }
+	          break;
+	      case 1:
+	          if (key === 'ArrowRight') {
+	              formElements[3].focus();
+	              formElements[3].select();
+	          } else if (key === 'ArrowLeft') {
+	              formElements[0].focus();
+	              formElements[0].select();
+	          } else if (key === 'Enter') {
+	              handleGetYg();
+	          }
+	          break;
+	  
+	      case 3:
+	          if (key === 'ArrowRight') {
+	  
+	              formElements[4].focus();
+	              formElements[4].select();
+	          } else if (key === 'ArrowLeft') {
+	              formElements[1].focus();
+	              formElements[1].select();
+	          } else if (key === 'Enter') {
+	              formElements[4].focus();
+	              formElements[4].select();
+	          }
+	          break;
+	  
+	      case formElements.length - 1:
+	          if (key === 'ArrowRight') {
+	              formElements[0].focus();
+	              formElements[0].select();
+	          } else if (key === 'ArrowLeft') {
+	              formElements[index - 1].focus();
+	              formElements[index - 1].select();
+	          } else if (key === 'Enter') {
+	              formElements[0].focus();
+	              formElements[0].select();
+	  			enterDialog()
+	          }
+	          break;
+	  
+	      default:
+	          if (key === 'ArrowRight') {
+	              formElements[index + 1].focus();
+	              formElements[index + 1].select();
+	          } else if (key === 'ArrowLeft') {
+	              formElements[index - 1].focus();
+	              formElements[index - 1].select();
+	          } else if (key === 'Enter') {
+	              formElements[index + 1].focus();
+	              formElements[index + 1].select();
+	          }
+	          break;
+	  }
+  }
+
+  
+  
+  if (event.keyCode === 13 || event.keyCode === 40) {
+    // Enter 或向下箭头
+    for (let i = currentIndex + 1; i < inputs.length; i++) {
+      if (!inputs[i].readOnly) {
+        nextTick(() => {
+          inputs[i].focus();
+          inputs[i].select();
+        });
+        break;
+      }
+    }
+  } else if (event.keyCode === 38) {
+    // 向上箭头
+    for (let i = currentIndex - 1; i >= 0; i--) {
+      if (!inputs[i].readOnly) {
+        nextTick(() => {
+          inputs[i].focus();
+          inputs[i].select();
+        });
+        break;
+      }
+    }
+  // } else if (event.keyCode === 8) {
+  //   // 删除箭头
+  //   if (event.target.selectionStart === 0) {
+  //     for (let i = currentIndex - 1; i >= 0; i--) {
+  //       if (!inputs[i].readOnly) {
+  //         nextTick(() => {
+  //           inputs[i].focus();
+  //           inputs[i].setSelectionRange(0, 0);
+  //           inputs[i].select(); // 全选输入框内容
+  //         });
+  //         break;
+  //       }
+  //     }
+  //   }
+  } else if (event.keyCode === 37) {
+    // 向左箭头
+    if (event.target.selectionStart === 0) {
+      for (let i = currentIndex - 1; i >= 0; i--) {
+        if (!inputs[i].readOnly) {
+          nextTick(() => {
+            inputs[i].focus();
+            inputs[i].select();
+          });
+          break;
+        }
+      }
+    }
+  } else if (event.keyCode === 39) {
+    // 向右箭头
+    if (event.target.selectionStart === event.target.value.length) {
+      for (let i = currentIndex + 1; i < inputs.length; i++) {
+        if (!inputs[i].readOnly) {
+          nextTick(() => {
+            inputs[i].focus();
+            inputs[i].select();
+          });
+          break;
+        }
+      }
+    }
+  }
+};
 
 </script>