Browse Source

优化工序大废品

liuhairui 1 year ago
parent
commit
0a45a8b8ea
1 changed files with 560 additions and 172 deletions
  1. 560 172
      src/view/job/rewards/rewards.vue

+ 560 - 172
src/view/job/rewards/rewards.vue

@@ -17,13 +17,13 @@
 							<el-form-item>
 								<el-input v-model="detailData.image" :clearable="true" placeholder="输入工单编号或产品名称" style="width: 180px;" />
 								<el-button type="primary" icon="search" @click="onSubmit" class="bt">查询</el-button>
-								<el-button type="primary" icon="refresh" @click="onReset" class="bt">切换显示方式</el-button>
 								<el-button type="primary" icon="plus" @click="onAdd" class="bt">新增</el-button>
-								<el-button type="primary" icon="delete" @click="onDel" class="bt">删除</el-button>
+								<el-button type="primary" icon="refresh" @click="onReset" class="bt">切换显示方式</el-button>
 								<el-button type="primary" class="bt" icon="download" @click="jcToExcel" >导出到Excel</el-button>
+								<el-button type="primary" icon="delete" @click="onDel" class="bt">删除</el-button>
 							</el-form-item>
 						</el-form>
-						<el-table ref="multipleTable" style="width: 100%;height: 74vh" border tooltip-effect="dark" :data="tableData"
+						<el-table ref="multipleTable" style="width: 100%;height: 65vh" border tooltip-effect="dark" :data="tableData"
 							row-key="ID" :show-overflow-tooltip="true" highlight-current-row id="Exceltable"
 							:row-style="{ height: '20px' }" :cell-style="{ padding: '0px' }"
 							:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }"
@@ -54,6 +54,7 @@
 								@current-change="handleCurrentChange" @size-change="handleSizeChange" />
 						</div>
 					</div>
+					
 					<el-dialog v-model="dialogFormVisible" :before-close="closeDialog"
 						:title="type === 'create' ? '新增' : '修改'" destroy-on-close
 						style="width: 1020px;position: fixed; top: 35%; left: 50%; transform: translate(-50%, -50%);">
@@ -61,30 +62,24 @@
 							<el-form ref="elFormRef" :model="detailData" :inline="true" style="margin-bottom: 0px;"
 								label-position="right" :rules="rule" label-width="80px" aria-="true">
 								<el-form-item label="工单编号:" prop="address" style="margin-right: 120px;">
-									<el-input v-model="detailData.sczl_gdbh" @keydown="ent1($event)"
-										@blur="getCPMCsubmit()" style="width: 120px;" placeholder="Enter回车" />
+									<el-input v-model="detailData.sczl_gdbh" @keydown="ent1($event,index,row,'工单编号')"
+										 style="width: 120px;" placeholder="Enter回车" />
 								</el-form-item>
 								<el-form-item label="产品名称:" prop="image">
-									<el-input v-model="detailData.Gd_cpmc" @keydown="ent1($event)" placeholder="请输入产品名称"
-										style="width: 450px;" />
+									<el-input v-model="detailData.Gd_cpmc" disabled @keydown="ent1($event)" placeholder="请输入产品名称" style="width: 450px;" />
 								</el-form-item>
 							</el-form>
-							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
-								:rules="rule" label-width="80px">
+							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right" :rules="rule" label-width="80px">
 								<el-form-item label="印件号:" prop="address" style="margin-right: 120px;">
-									<el-input v-model="detailData.sczl_yjno" @keydown="ent1($event)"
-										@blur="getYJMCsubmit()" style="width: 120px;" />
+									<el-input v-model="detailData.sczl_yjno" @keydown="ent1($event,index,row,'印件号')" style="width: 120px;" />
 								</el-form-item>
 								<el-form-item label="印件名称:" prop="image">
-									<el-input v-model="detailData.yj_yjmc" @keydown="ent1($event)"
-										style="width: 450px;" />
+									<el-input v-model="detailData.yj_yjmc" disabled @keydown="ent1($event)" style="width: 450px;" />
 								</el-form-item>
 							</el-form>
-							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
-								:rules="rule" label-width="90px">
+							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right" :rules="rule" label-width="90px">
 								<el-form-item label="工序名称:" prop="address">
-									<el-input v-model="detailData.sczl_gxmc" @blur="getGXsubmit()"
-										@keydown="ent1($event)" style="width: 300px;" />
+									<el-input v-model="detailData.sczl_gxmc" @keydown="ent1($event,index,row,'工序名称')" style="width: 300px;" />
 								</el-form-item>
 								<el-form-item prop="image">
 									<el-input v-model="detailData.sczl_gxh" @keydown="ent1($event)"
@@ -97,30 +92,25 @@
 							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
 								:rules="rule" label-width="80px">
 								<el-form-item label="日期:" prop="address" style="margin-right: 120px;">
-									<el-input v-model="detailData.sczl_rq" @keydown="ent1($event)"
-										style="width: 120px;" />
+									<el-input v-model="detailData.sczl_rq" @keydown="ent1($event)" style="width: 120px;" />
 								</el-form-item>
 								<el-form-item label="废品数量:" prop="image">
-									<el-input v-model="detailData.sczl_cl" @keydown="ent1($event)"
-										style="width: 120px;" />
+									<el-input v-model="detailData.sczl_cl" @keydown="ent1($event)" style="width: 120px;" />
 								</el-form-item>
 								<el-form-item label="联数:" prop="image">
-									<el-input v-model="detailData.sczl_ls" @keydown="ent1($event)"
-										style="width: 120px;" />
+									<el-input v-model="detailData.sczl_ls" @keydown="ent1($event)" style="width: 120px;" />
 								</el-form-item>
 							</el-form>
 							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
 								:rules="rule" label-width="90px">
 								<el-form-item label="废品备注:" prop="address">
-									<el-input v-model="detailData.sczl_fplxA" @keydown="ent1($event)"
-										style="width: 300px;" />
+									<el-input v-model="detailData.sczl_fplxA" @keydown="ent1($event)" style="width: 300px;" />
 								</el-form-item>
 								<el-form-item>
-									<el-checkbox v-model="detailData.sczl_fplxB" style="width: 30px;"
-										@keydown="ent1($event)">制程废</el-checkbox>
+									<el-checkbox v-model="detailData.sczl_fplxB" style="width: 30px;" @keydown="ent1($event)">制程废</el-checkbox>
 								</el-form-item>
 								<el-form-item label="责任部门:" prop="image">
-									<el-input v-model="detailData.责任部门" @keydown="ent1($event)" style="width: 250px;" />
+									<el-input v-model="detailData.责任部门" @keydown="ent1($event,index,row,'责任部门')" style="width: 250px;" />
 								</el-form-item>
 							</el-form>
 							<el-form ref="elFormRef" :model="detailData" :inline="true" label-position="right"
@@ -142,35 +132,52 @@
 								:rules="rule">
 								<el-form-item>
 									<div class="sub-title">奖励班组:</div>
-									<el-input v-model="detailData.Jl_bzdh" @keydown="ent1($event)"
-										style="width: 45px;" />
-									<el-input v-model="detailData.jl_jtbh" @blur="getJtbhsubmit('1')"
-										@keydown="ent1($event)" id="jt" style="width: 65px;" />
+									<el-input v-model="detailData.Jl_bzdh" @keydown="ent1($event)" 
+										style="width: 40px;" />
+									<!-- <el-input v-model="detailData.jl_jtbh" @blur="getJtbhsubmit('1')"
+										@keydown="ent1($event)" id="jt" style="width: 65px;" /> -->
+										<el-select 
+										  v-model="detailData.jl_jtbh" 
+										  placeholder="请选择班次" 
+										  @change="getJtbhsubmit('1')" 
+										  @keydown="ent1($event)" 
+										  id="jt" 
+										  style="width: 70px;">
+										  <el-option 
+										    label="A班" 
+										    value="A班">
+										  </el-option>
+										  <el-option 
+										    label="B班" 
+										    value="B班">
+										  </el-option>
+										</el-select>
+
 									<el-input v-model="detailData.JL_bh1" id="bh1" @blur="GetYg($event, '2')"
-										@keydown="ent($event, 'jt', 'bh1', 'bh2')" style="width: 85px;" />
+										@keydown="ent($event, 'jt', 'bh1', 'bh2')" class="bzryred" style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh2" id="bh2"
-										@keydown="ent($event, 'bh1', 'bh2', 'bh3')" @blur="GetYg($event, '3')"
+										@keydown="ent($event, 'bh1', 'bh2', 'bh3')" class="bzryred" @blur="GetYg($event, '3')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh3" id="bh3"
-										@keydown="ent($event, 'bh2', 'bh3', 'bh4')" @blur="GetYg($event, '4')"
+										@keydown="ent($event, 'bh2', 'bh3', 'bh4')" class="bzryred" @blur="GetYg($event, '4')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh4" id="bh4"
-										@keydown="ent($event, 'bh3', 'bh4', 'bh5')" @blur="GetYg($event, '5')"
+										@keydown="ent($event, 'bh3', 'bh4', 'bh5')" class="bzryred" @blur="GetYg($event, '5')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh5" id="bh5"
-										@keydown="ent($event, 'bh4', 'bh5', 'bh6')" @blur="GetYg($event, '6')"
+										@keydown="ent($event, 'bh4', 'bh5', 'bh6')" class="bzryred" @blur="GetYg($event, '6')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh6" id="bh6"
-										@keydown="ent($event, 'bh5', 'bh6', 'bh7')" @blur="GetYg($event, '7')"
+										@keydown="ent($event, 'bh5', 'bh6', 'bh7')" class="bzryred" @blur="GetYg($event, '7')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh7" id="bh7"
-										@keydown="ent($event, 'bh6', 'bh7', 'bh8')" @blur="GetYg($event, '8')"
+										@keydown="ent($event, 'bh6', 'bh7', 'bh8')" class="bzryred" @blur="GetYg($event, '8')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh8" id="bh8"
-										@keydown="ent($event, 'bh7', 'bh8', 'bh9')" @blur="GetYg($event, '9')"
+										@keydown="ent($event, 'bh7', 'bh8', 'bh9')" class="bzryred" @blur="GetYg($event, '9')"
 										style="width: 85px;" />
 									<el-input v-model="detailData.JL_bh9" id="bh9"
-										@keydown="ent($event, 'bh8', 'bh9', 'name1', '9')" @blur="GetYg($event, '10')"
+										@keydown="ent($event, 'bh8', 'bh9', 'name1', '9')" class="bzryred" @blur="GetYg($event, '10')"
 										style="width: 85px;" />
 								</el-form-item>
 							</el-form>
@@ -202,23 +209,23 @@
 								:rules="rule">
 								<el-form-item>
 									<div class="sub-title" style="width: 182px;">奖励金额:</div>
-									<el-input v-model="detailData.JL_Je1" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je1" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je2" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je2" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je3" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je3" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je4" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je4" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je5" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je5" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je6" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je6" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je7" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je7" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je8" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je8" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.JL_Je9" @keydown="ent1($event)"
+									<el-input v-model="detailData.JL_Je9" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
 								</el-form-item>
 							</el-form>
@@ -243,8 +250,24 @@
 									<div class="sub-title">责任班组:</div>
 									<el-input v-model="detailData.sczl_bzdh" @keydown="ent1($event)"
 										style="width: 45px;" />
-									<el-input v-model="detailData.sczl_jtbh" id="jt2" @blur="getJtbhsubmit('2')"
-										@keydown="ent1($event)" style="width: 65px;" />
+									<!-- <el-input v-model="detailData.sczl_jtbh" id="jt2" @blur="getJtbhsubmit('2')"
+										@keydown="ent1($event)" style="width: 65px;" /> -->
+										<el-select
+										  v-model="detailData.sczl_jtbh" 
+										  placeholder="请选择班次" 
+										  @change="getJtbhsubmit('2')" 
+										  @keydown="ent1($event)" 
+										  id="jt" 
+										  style="width: 70px;">
+										  <el-option 
+										    label="A班" 
+										    value="A班">
+										  </el-option>
+										  <el-option 
+										    label="B班" 
+										    value="B班">
+										  </el-option>
+										</el-select>
 									<el-input v-model="detailData.sczl_bh1" id="dh1"
 										@keydown="ent($event, 'jt2', 'dh1', 'dh2')" @blur="GetYg($event, '13')"
 										style="width: 85px;" />
@@ -301,23 +324,23 @@
 								:rules="rule">
 								<el-form-item>
 									<div class="sub-title" style="width: 182px;">处罚金额:</div>
-									<el-input v-model="detailData.sczl_je1" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je1" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je2" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je2" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je3" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je3" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je4" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je4" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je5" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je5" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je6" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je6" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je7" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je7" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je8" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je8" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
-									<el-input v-model="detailData.sczl_je9" @keydown="ent1($event)"
+									<el-input v-model="detailData.sczl_je9" class='cfje' @keydown="ent1($event)"
 										style="width: 85px;" />
 								</el-form-item>
 							</el-form>
@@ -330,12 +353,27 @@
 						</template>
 					</el-dialog>
 
-
-
-					<el-dialog v-model="dialogSelectVisible" title="选择" destroy-on-close width="500px"
+					<!--责任部门弹窗  -->
+					<el-dialog 
+					    v-model="dialogSelectVisibleZRBM" 
+					    title="责任部门选择" 
+					    destroy-on-close 
+					    width="200px" 
+					    @keydown="selectZRBM($event)"
+					  >
+					    <el-table  tooltip-effect="dark"  :data="selectDataZRBM" 
+					      row-key="ID"  highlight-current-row="true" border style="width:100%" 
+					      @row-dblclick="handleSelectClickZRBM" ref="table">
+					      <el-table-column label="部门" prop="name" width="200">
+					      </el-table-column>
+					    </el-table>
+					  </el-dialog>
+
+					<!-- 工序名称选择弹窗 -->
+					<el-dialog v-model="dialogSelectVisible" title="工序名称选择" destroy-on-close width="500px"
 						@keydown="selectGX($event)">
 						<el-table tooltip-effect="dark" :data="selectData" row-key="ID" highlight-current-row="true"
-							border style="width:100%" @row-dblclick="handleSelectClick" ref="table2">
+							border style="width:100%" @row-dblclick="handleSelectClick" ref="table">
 							<el-table-column label="工序名称" width="460">
 								<template v-slot="{ row }">
 									{{ row }}
@@ -343,7 +381,10 @@
 							</el-table-column>
 						</el-table>
 					</el-dialog>
-					<el-dialog v-model="dialogSelectVisible_Yj" title="选择" destroy-on-close width="600px"
+
+					
+					<!-- 印件选择弹窗 -->
+					<el-dialog v-model="dialogSelectVisible_Yj" title="印件选择" destroy-on-close width="600px"
 						@keydown="selectGX_Yj($event)">
 						<el-table tooltip-effect="dark" :data="selectData_Yj" row-key="ID" highlight-current-row="true"
 							border style="width:100%" @row-dblclick="handleSelectClick_Yj" ref="table_Yj">
@@ -351,6 +392,8 @@
 							<el-table-column prop="印件名称" label="印件名称" width="460" />
 						</el-table>
 					</el-dialog>
+					
+					<!-- 员工编号编号弹窗 -->
 					<el-dialog v-model="dialogSelectVisible_Yg" title="选择" destroy-on-close width="300px"
 						@keydown="selectGX_Yg($event)">
 						<el-table tooltip-effect="dark" :data="selectData_Yg" row-key="ID" highlight-current-row="true"
@@ -359,10 +402,43 @@
 							<el-table-column prop="ygxm" label="员工姓名" width="200" />
 						</el-table>
 					</el-dialog>
-					<el-dialog v-model="JtbhVisible" title="选择" destroy-on-close width="200px">
-						<el-table tooltip-effect="dark" :data="selectDataJtbh" row-key="ID" highlight-current-row="true"
-							border style="width:100%" @row-dblclick="SelectClickJtbh">
-							<el-table-column prop="设备编号" label="设备编号" width="160" />
+					
+					<!-- 班组设备编号弹窗 -->
+					<el-dialog v-model="JtbhVisible" title="选择" destroy-on-close width="80%" @keydown="selectGX_SBBH($event)" >
+						<!-- <el-table tooltip-effect="dark" :data="selectDataJtbh" row-key="ID" highlight-current-row="true"
+							border style="width:100%" @row-dblclick="SelectClickJtbh"> -->
+							 <el-table
+							      ref="tableRefbz"
+							      tooltip-effect="dark"
+							      :data="selectDataJtbh"
+							      row-key="ID"
+							      highlight-current-row="true"
+							      border
+							      style="width: 100%"
+							      @row-dblclick="SelectClickJtbh"
+							    >
+							<el-table-column label="机台编号" fixed="left"  prop="机台编号" width="100" ref="tableRef" />
+							<el-table-column label="工序名称"  prop="工序名称" width="400" />
+							<el-table-column label="员工姓名"  prop="员工姓名1" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号1" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名2" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号2" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名3" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号3" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名4" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号4" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名5" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号5" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名6" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号6" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名7" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号7" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名8" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号8" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名9" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号9" width="90" />
+							<el-table-column label="员工姓名"  prop="员工姓名10" width="90" />
+							<el-table-column label="员工编号"  prop="员工编号10" width="90" />
 						</el-table>
 					</el-dialog>
 
@@ -613,7 +689,6 @@ import LuckyExcel from 'luckyexcel';
 		ADD.value = '新增'
 		type.value = 'create'
 		GetInfo(lastCellValue)
-		// Productionadd()
 	}
 	// getTableData()
 	//获取详细信息
@@ -731,59 +806,270 @@ import LuckyExcel from 'luckyexcel';
 			detailData.yj_yjmc = row.印件名称
 		})
 	}
-
-	const dialogSelectVisible = ref(false)
-	const selectData = reactive([])
-	//工序失去焦点事件
-	const getGXsubmit = () => {
-		//弹出选择
-		ProcessList({
-			workorder: detailData.sczl_gdbh,
-			yjno: detailData.sczl_yjno
-		}).then(response => {
-			if (response.code === 0) {
-				selectData.splice(0, selectData.length, ...response.data)
-				console.log(selectData)
-				dialogSelectVisible.value = true
-			}
-		})
-	}
-	// 工单选择框
-	const handleSelectClick = (row, column, event) => {
-		console.log(row)
-		detailData.sczl_gxmc = row
-		dialogSelectVisible.value = false
-	}
-	//机台选择
-	const selectDataJtbh = reactive([])
+	
+	
+	/*
+		设备编号
+	*/
 	const JtbhVisible = ref(false)
-	const SelectClickJtbh = (row, column, event) => {
-		const {
-			设备编号
-		} = row
-		if (jtbh.value === 'JL') {
-			detailData.jl_jtbh = row.设备编号
-		} else if (jtbh.value === 'ZR') {
-			detailData.sczl_jtbh = row.设备编号
-		}
-		JtbhVisible.value = false
-	}
+	const selectDataJtbh = reactive([])
+	const currentIndexJtbh = ref(0); // 当前选中行索引
+	const tableRefbz = ref()
+	const gdbh = ref()
+	const yjno = ref()
 	const jtbh = ref()
+	const bzval = ref()
 	//机台失去焦点事件
-	const getJtbhsubmit = (value) => {
+	const getJtbhsubmit = async (value) => {
 		if (value === '1') {
-			jtbh.value = 'JL'
+			bzval.value = '1'
+			gdbh.value = detailData.sczl_gdbh
+			yjno.value = detailData.sczl_yjno
+			jtbh.value = detailData.jl_jtbh
 		} else if (value === '2') {
-			jtbh.value = 'ZR'
+			bzval.value = '2'
+			gdbh.value = detailData.sczl_gdbh
+			yjno.value = detailData.sczl_yjno
+			jtbh.value = detailData.sczl_jtbh
 		}
+		console.log(value)
+		console.log(gdbh.value)
+		console.log(yjno.value)
 		console.log(jtbh.value)
-		MachineList().then(response => {
-			if (response.code === 0) {
-				selectDataJtbh.splice(0, selectDataJtbh.length, ...response.data)
-				JtbhVisible.value = true
-			}
-		})
+		const response = await MachineList({ gdbh: gdbh.value, yjno: yjno.value,bzdh:jtbh.value })
+		selectDataJtbh.splice(0, selectDataJtbh.length, ...response.data)
+		JtbhVisible.value = true
 	}
+	
+	// 设置当前高亮行
+	    const setCurrentRowref = (row) => {
+	      if (tableRefbz.value) {
+	        tableRefbz.value.setCurrentRow(row) // 调用 el-table 的 setCurrentRow 方法
+	      } else {
+	        console.warn('tableRefbz is not available!')
+	      }
+	    }
+	
+	    // 键盘事件处理逻辑
+	    const selectGX_SBBH = (event) => {
+	      if (!JtbhVisible.value || !selectDataJtbh.length) return // 如果弹窗未显示或没有数据,直接返回
+	
+	      if (event.keyCode === 40) {
+	        // 向下箭头
+	        currentIndexJtbh.value =
+	          currentIndexJtbh.value < selectDataJtbh.length - 1
+	            ? currentIndexJtbh.value + 1
+	            : 0 // 循环到第一个
+	        setCurrentRowref(selectDataJtbh[currentIndexJtbh.value])
+	      } else if (event.keyCode === 38) {
+	        // 向上箭头
+	        currentIndexJtbh.value =
+	          currentIndexJtbh.value > 0
+	            ? currentIndexJtbh.value - 1
+	            : selectDataJtbh.length - 1 // 循环到最后一个
+	        setCurrentRowref(selectDataJtbh[currentIndexJtbh.value])
+	      } else if (event.keyCode === 13) {
+	        // 回车键调用选中当前行
+	        SelectClickJtbh(selectDataJtbh[currentIndexJtbh.value])
+	      }
+	    }
+	
+	 
+	
+	// 处理选中逻辑,将选中的行数据赋值到 detailData
+	const SelectClickJtbh = (row) => {
+	  console.log("选中的行数据:", row);
+	  console.log("bzval.value:", bzval.value);
+	  if(bzval.value == '1'){
+		  detailData.JL_bh1 = row.员工编号1 || "";
+		  detailData.jlname1 = row.员工姓名1 || "";
+		  	
+		  detailData.JL_bh2 = row.员工编号2 || "";
+		  detailData.jlname2 = row.员工姓名2 || "";
+		  	
+		  detailData.JL_bh3 = row.员工编号3 || "";
+		  detailData.jlname3 = row.员工姓名3 || "";
+		  	
+		  detailData.JL_bh4 = row.员工编号4 || "";
+		  detailData.jlname4 = row.员工姓名4 || "";
+		  	
+		  detailData.JL_bh5 = row.员工编号5 || "";
+		  detailData.jlname5 = row.员工姓名5 || "";
+		  	
+		  detailData.JL_bh6 = row.员工编号6 || "";
+		  detailData.jlname6 = row.员工姓名6 || "";
+		  	
+		  detailData.JL_bh7 = row.员工编号7 || "";
+		  detailData.jlname7 = row.员工姓名7 || "";
+		  	
+		  detailData.JL_bh8 = row.员工编号8 || "";
+		  detailData.jlname8 = row.员工姓名8 || "";
+		  	
+		  detailData.JL_bh9 = row.员工编号9 || "";
+		  detailData.jlname9 = row.员工姓名9 || "";
+		  	
+		  detailData.JL_bh10 = row.员工编号10 || "";
+		  detailData.jlname10 = row.员工姓名10 || "";
+	  }else if(bzval.value === '2'){
+		  detailData.sczl_bh1 = row.员工编号1 || "";
+		  detailData.zrname1 = row.员工姓名1 || "";
+		  	
+		  detailData.sczl_bh2 = row.员工编号2 || "";
+		  detailData.zrname2 = row.员工姓名2 || "";
+		  	
+		  detailData.sczl_bh3 = row.员工编号3 || "";
+		  detailData.zrname3 = row.员工姓名3 || "";
+		  	
+		  detailData.sczl_bh4 = row.员工编号4 || "";
+		  detailData.zrname4 = row.员工姓名4 || "";
+		  	
+		  detailData.sczl_bh5 = row.员工编号5 || "";
+		  detailData.zrname5 = row.员工姓名5 || "";
+		  	
+		  detailData.sczl_bh6 = row.员工编号6 || "";
+		  detailData.zrname6 = row.员工姓名6 || "";
+		  	
+		  detailData.sczl_bh7 = row.员工编号7 || "";
+		  detailData.zrname7 = row.员工姓名7 || "";
+		  	
+		  detailData.sczl_bh8 = row.员工编号8 || "";
+		  detailData.zrname8 = row.员工姓名8 || "";
+		  	
+		  detailData.sczl_bh9 = row.员工编号9 || "";
+		  detailData.zrname9 = row.员工姓名9 || "";
+		  	
+		  detailData.sczl_bh10 = row.员工编号10 || "";
+		  detailData.zrname10 = row.员工姓名10 || "";
+	  }
+	
+	  // 隐藏对话框
+	  JtbhVisible.value = false;
+	};
+	
+
+
+	/*
+		责任部门
+	*/
+	const dialogSelectVisibleZRBM = ref(false);
+	const selectDataZRBM = reactive([]);
+	const currentIndexZRBM = ref(0); // 当前选中行索引
+	const getZRBM = () => {
+	    // 模拟后端返回的数据
+	    const response = {
+	        data: [
+	            { id: 1, name: "凹印" },
+	            { id: 2, name: "胶印" },
+	            { id: 3, name: "丝印" },
+				{ id: 4, name: "模切" },
+				{ id: 5, name: "烫金" },
+				{ id: 6, name: "喷码" },
+				{ id: 7, name: "原材料" },
+				{ id: 8, name: "外加工" },
+				{ id: 9, name: "精品试验" },
+				{ id: 10, name: "新华" },
+				{ id: 11, name: "其他" },
+	        ]
+	    };
+	    // 清空原数组并插入新数据
+	    selectDataZRBM.splice(0, selectDataZRBM.length, ...response.data);
+		dialogSelectVisibleZRBM.value = true
+	};
+	// 键盘事件处理
+	const selectZRBM = (event) => {
+	  if (!dialogSelectVisibleZRBM.value || !selectDataZRBM.length) return;
+	
+	  if (event.keyCode === 40) {
+		// 向下箭头
+		currentIndexZRBM.value =
+		  currentIndexZRBM.value < selectDataZRBM.length - 1
+			? currentIndexZRBM.value + 1
+			: 0;
+		setCurrentRow(selectDataZRBM[currentIndexZRBM.value]);
+	  } else if (event.keyCode === 38) {
+		// 向上箭头
+		currentIndexZRBM.value =
+		  currentIndexZRBM.value > 0
+			? currentIndexZRBM.value - 1
+			: selectDataZRBM.length - 1;
+		setCurrentRow(selectDataZRBM[currentIndexZRBM.value]);
+	  } else if (event.keyCode === 13) {
+		// 回车键调用选中当前行
+		handleSelectClickZRBM(selectDataZRBM[currentIndexZRBM.value]);
+	  }
+	};
+	// 双击或回车选中行
+	const handleSelectClickZRBM = (row) => {
+		console.log(row)
+	  if (row) {
+		detailData.责任部门 = row.name;
+		dialogSelectVisibleZRBM.value = false;
+	  }
+	};
+
+	
+	/*
+		工序名称弹窗
+	*/
+	const dialogSelectVisible = ref(false);
+	const selectData = reactive([]); // 表格数据
+	const currentIndexgx = ref(0); // 当前选中行索引
+	const table = ref(null); // 表格实例
+	//失去焦点事件,弹出选择框
+	const getGXsubmit = () => {
+	  ProcessList({
+		workorder: detailData.sczl_gdbh,
+		yjno: detailData.sczl_yjno
+	  }).then((response) => {
+		if (response.code === 0) {
+		  // 用 splice 确保更新响应式数据
+		  selectData.splice(0, selectData.length, ...response.data);
+		  dialogSelectVisible.value = true;
+		}
+	  });
+	};
+	// 键盘事件处理
+	const selectGX = (event) => {
+		console.log(1213)
+	  if (!dialogSelectVisible.value || !selectData.length) return;
+
+	  if (event.keyCode === 40) {
+		// 向下箭头
+		currentIndexgx.value =
+		  currentIndexgx.value < selectData.length - 1
+			? currentIndexgx.value + 1
+			: 0;
+		setCurrentRow(selectData[currentIndexgx.value]);
+	  } else if (event.keyCode === 38) {
+		// 向上箭头
+		currentIndexgx.value =
+		  currentIndexgx.value > 0
+			? currentIndexgx.value - 1
+			: selectData.length - 1;
+		setCurrentRow(selectData[currentIndexgx.value]);
+	  } else if (event.keyCode === 13) {
+		// 回车键,选中当前行
+		handleSelectClick(selectData[currentIndexgx.value]);
+	  }
+	};
+
+	// 设置高亮当前行
+	const setCurrentRow = (row) => {
+	  if (table.value) {
+		table.value.setCurrentRow(row); // 设置当前高亮行
+	  }
+	};
+
+	// 双击或回车选中行
+	const handleSelectClick = (row) => {
+	  if (row) {
+		detailData.sczl_gxmc = row; // 选中行的工序名称
+		dialogSelectVisible.value = false; // 关闭弹窗
+	  }
+	};
+	
+	
+	
 
 	let num = '';
 	let flag_Yg = true;
@@ -1065,53 +1351,59 @@ import LuckyExcel from 'luckyexcel';
 			add()
 
 		}
-		// SubmitDailyProduction()
-		// elFormRef.value?.validate(async(valid) => {
-		//   if (!valid) return
-		//   let res
-		//   switch (type.value) {
-		//     case 'create':
-		//       res = await createCompany(detailData.value)
-		//       break
-		//     case 'update':
-		//       res = await updateCompany(detailData.value)
-		//       break
-		//     default:
-		//       res = await createCompany(detailData.value)
-		//       break
-		//   }
-		//   if (res.code === 0) {
-		//     ElMessage({
-		//       type: 'success',
-		//       message: '创建/更改成功'
-		//     })
-		//     closeDialog()
-		//     getTableData()
-		//   }
-		// })
 	}
 
   //导出到Excel按钮
-  const jcToExcel = ()=>{
-  const el = document.getElementById('Exceltable'); 
-  // 文件名
-  const filename = '工序大废品.xlsx';
-  const wb = XLSX.utils.table_to_book(el, { raw: true });
-  const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
-  try {
-    FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), filename);
-  } catch (e) {
-    console.log(e);
-  }
-  return wbout;
-}
+    const jcToExcel = () => {
+    const el = document.getElementById('Exceltable');
+        if (!el) {
+            console.error('Table element not found!');
+            return;
+        }
+    const filename = '工序大废品.xlsx';
+    const wb = XLSX.utils.table_to_book(el, { raw: true });
+    const ws = wb.Sheets[wb.SheetNames[0]]; // 获取第一个工作表
+
+    // 获取工作表的范围
+    const range = XLSX.utils.decode_range(ws['!ref']);
+
+    // 遍历每一行(从第二行开始)
+    for (let R = range.s.r + 1; R <= range.e.r + 1; ++R) {
+    // 直接通过单元格地址访问F列和H列的单元格
+    const cellF = ws[`F${R}`];
+    const cellH = ws[`H${R}`];
+
+    // 检查F列的单元格是否存在且其值是字符串类型
+    if (cellF && typeof cellF.v === 'string') {
+        const numF = Number(cellF.v);
+        if (!isNaN(numF)) {
+            // 修改单元格类型为数字,并更新值
+            cellF.t = 'n';
+            cellF.v = numF;
+        }
+    }
+    // 检查H列的单元格是否存在且其值是字符串类型
+    if (cellH && typeof cellH.v === 'string') {
+        console.log(`H${R}: ${cellH.v}, Type before: ${cellH.t}`);
+        const numH = Number(cellH.v);
+        if (!isNaN(numH)) {
+            // 修改单元格类型为数字,并更新值
+            cellH.t = 'n';
+            cellH.v = numH;
+        }
+    }
+    }
+    const wbout = XLSX.write(wb, { bookType: 'xlsx', bookSST: true, type: 'array' });
+    try {
+    FileSaver.saveAs(new Blob([wbout], { type: 'application/octet-stream' }), filename);
+    } catch (e) {
+    console.error('Error saving file:', e);
+    }
+    };
 
 	//日报表上传
 	const SubmitDailyProduction = async () => {
-
-
 		const restoredData = {
-
 			sczl_gdbh: detailData.sczl_gdbh,
 			sczl_yjno: detailData.sczl_yjno,
 			sczl_gxh: detailData.sczl_gxh,
@@ -1291,9 +1583,99 @@ import LuckyExcel from 'luckyexcel';
 		}
 	}
 
-	const ent1 = (event) => {
+	const ent1 = (event,index,row,title) => {
 		const inputs = document.getElementsByTagName('input');
 		const currentIndex = Array.from(inputs).indexOf(event.target);
+		
+		if (event.keyCode === 13 && title === '工单编号') {
+			console.log("工单编号")
+			getCPMCsubmit()
+			// 跳转到下一个输入框
+			let nextIndex = currentIndex + 1;
+			let foundNext = false; // 标记是否找到下一个可用输入框
+			while (nextIndex < inputs.length) {
+			  if (inputs[nextIndex].disabled) {
+				console.log("当前输入框为 disabled,跳过");
+				nextIndex++; // 跳过 disabled 的输入框
+				continue;
+			  }
+			  if (!inputs[nextIndex].readOnly) {
+				nextTick(() => {
+				  inputs[nextIndex].focus();
+				  inputs[nextIndex].select();
+				});
+				foundNext = true; // 找到下一个可用输入框
+				break;
+			  }
+			  nextIndex++;
+			}
+		}else if(event.keyCode === 13 && title === '印件号'){
+			console.log("印件号")
+			getYJMCsubmit()
+			// 跳转到下一个输入框
+			let nextIndex = currentIndex + 1;
+			let foundNext = false; // 标记是否找到下一个可用输入框
+			while (nextIndex < inputs.length) {
+			  if (inputs[nextIndex].disabled) {
+				console.log("当前输入框为 disabled,跳过");
+				nextIndex++; // 跳过 disabled 的输入框
+				continue;
+			  }
+			  if (!inputs[nextIndex].readOnly) {
+				nextTick(() => {
+				  inputs[nextIndex].focus();
+				  inputs[nextIndex].select();
+				});
+				foundNext = true; // 找到下一个可用输入框
+				break;
+			  }
+			  nextIndex++;
+			}
+		}else if(event.keyCode === 13 && title === '工序名称'){
+			console.log("工序名称")
+			getGXsubmit()
+			// 跳转到下一个输入框
+			let nextIndex = currentIndex + 1;
+			let foundNext = false; // 标记是否找到下一个可用输入框
+			while (nextIndex < inputs.length) {
+			  if (inputs[nextIndex].disabled) {
+				console.log("当前输入框为 disabled,跳过");
+				nextIndex++; // 跳过 disabled 的输入框
+				continue;
+			  }
+			  if (!inputs[nextIndex].readOnly) {
+				nextTick(() => {
+				  inputs[nextIndex].focus();
+				  inputs[nextIndex].select();
+				});
+				foundNext = true; // 找到下一个可用输入框
+				break;
+			  }
+			  nextIndex++;
+			}
+		}else if(event.keyCode === 13 && title === '责任部门'){
+			console.log("责任部门")
+			getZRBM()
+			// 跳转到下一个输入框
+			let nextIndex = currentIndex + 1;
+			let foundNext = false; // 标记是否找到下一个可用输入框
+			while (nextIndex < inputs.length) {
+			  if (inputs[nextIndex].disabled) {
+				console.log("当前输入框为 disabled,跳过");
+				nextIndex++; // 跳过 disabled 的输入框
+				continue;
+			  }
+			  if (!inputs[nextIndex].readOnly) {
+				nextTick(() => {
+				  inputs[nextIndex].focus();
+				  inputs[nextIndex].select();
+				});
+				foundNext = true; // 找到下一个可用输入框
+				break;
+			  }
+			  nextIndex++;
+			}
+		}
 
 		if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
 			for (let i = currentIndex + 1; i < inputs.length; i++) {
@@ -1315,19 +1697,19 @@ import LuckyExcel from 'luckyexcel';
 					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 === 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--) {
@@ -1369,7 +1751,13 @@ import LuckyExcel from 'luckyexcel';
 	:deep(.el-table__body tr.current-row)>td {
 		background: #ff80ff !important;
 	}
-
+	/* 文字颜色 */
+	/* :deep(.cfje div input){
+		color: blue;
+	}
+	:deep(.bzryred div input){
+		color: red;
+	} */
 	.JKWTree-tree {
 		width: 300px;
 		background-color: #fff;
@@ -1392,4 +1780,4 @@ import LuckyExcel from 'luckyexcel';
 		padding: 3px !important;
 		font-size: 12px;
 	}
-</style>
+</style>