Browse Source

设备运行跟踪/包装计件单据新增部分数据置空、手工核验单数据新增流程单数据问题优化

曹鹤洋 1 year ago
parent
commit
e9771a563f

+ 18 - 18
src/view/performance/06-packingDocuments/index.vue

@@ -972,24 +972,24 @@
 		console.log(getPieceWorks);
 			console.log(22222)
 	if (getPieceWorks.code === 0) {
-	    const transformItems = (items) => {
-	        return items.map(item => ({
-	            label: `${item.sys_mc}【${item.sys_bh}】`,
-	            params: {
-	                code: item.sys_bh
-	            },
-	            children: item.bh_mc ? transformItems(item.bh_mc) : []
-	        }));
-	    };
-	
-	    const transformedData2 = getPieceWorks.data.map(topItem => ({
-	        label: `${topItem.sys_mc}【${topItem.sys_bh}】`,
-	        params: {
-	            code: topItem.sys_bh
-	        },
-	        children: topItem.bh_mc ? transformItems(topItem.bh_mc) : []
-	    }));
-	
+	    const transformItems = (items) => {
+	        return items.map(item => ({
+	            label: `${item.sys_mc}【${item.sys_bh}】`,
+	            params: {
+	                code: item.sys_bh
+	            },
+	            children: item.bh_mc ? transformItems(item.bh_mc) : []
+	        }));
+	    };
+	
+	    const transformedData2 = getPieceWorks.data.map(topItem => ({
+	        label: `${topItem.sys_mc}【${topItem.sys_bh}】`,
+	        params: {
+	            code: topItem.sys_bh
+	        },
+	        children: topItem.bh_mc ? transformItems(topItem.bh_mc) : []
+	    }));
+	
 	    dedhtreeData.value = transformedData2;
 	}
 			

+ 153 - 59
src/view/performance/09-workOrderVerification/index.vue

@@ -60,7 +60,7 @@
 
 					<!-- 弹出框 -->
 					<el-dialog v-model="dialogFormVisible" :before-close="closeDialog" :title="type" destroy-on-close
-						width="1000px">
+						width="1200px">
 
 						<el-form ref="elFormRef" :model="detailData" inline label-position="right" :rules="rule"
 							id="detail-form">
@@ -96,35 +96,35 @@
 								<el-input v-model="detailData.yj_yjmc" style="width: 500px;" />
 							</el-form-item>
 							<el-form-item label="废品总数">
-								<el-input v-model="detailData.qczl_fp" id="废品总数" style="width: 100px;" />
+								<el-input v-model="detailData.qczl_fp" id="废品总数" @keydown="ent1($event)" style="width: 100px;" />
 							</el-form-item>
 							<br>
 
 							<el-form-item label="工序">
 								<el-input v-model="detailData.qczl_gxmc" style="width: 200px;"
-									@keyup.enter.native="getgxsubmit" />
+									@blur="getgxsubmit" @keydown="ent1($event)" />
 							</el-form-item>
 							<el-form-item label="工序号">
-								<el-input v-model="detailData.qczl_gxh" style="width: 100px;" />
+								<el-input v-model="detailData.qczl_gxh" @keydown="ent1($event)" style="width: 100px;" />
 							</el-form-item>
 							<el-form-item label="总流程号">
-								<el-input v-model="detailData.total_liucheng" style="width: 100px;" />
+								<el-input v-model="detailData.total_liucheng" @keydown="ent1($event)" style="width: 100px;" />
 							</el-form-item>
 
 							<el-form-item label="流程单号">
-								<el-input v-model="detailData.qczl_num" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc1" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc2" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc3" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc4" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc5" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc6" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc7" style="width: 60px; margin-left: 5px;" />
-								<el-input v-model="detailData.qczl_NumDesc8" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_num" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc1" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc2" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc3" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc4" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc5" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc6" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc7" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
+								<el-input v-model="detailData.qczl_NumDesc8" @keydown="ent1($event)" style="width: 60px; margin-left: 5px;" />
 							</el-form-item>
 
 							<el-form-item label="备注">
-								<el-input v-model="detailData.qczl_NumDesc" style="width: 200px;" />
+								<el-input v-model="detailData.qczl_NumDesc" @keydown="ent1($event)" style="width: 200px;" />
 							</el-form-item>
 
 							<el-scrollbar height="400px">
@@ -133,7 +133,7 @@
 									:header-row-style="{ height: '20px' }" :header-cell-style="{ padding: '0px' }">
 									<el-table-column label="废品类别" width="200">
 										<template #default="{ row, $index }">
-											<el-input v-model="row.fp_lb" @keyup.enter="handleFplbEnter($index, row)" />
+											<el-input v-model="row.fp_lb" @keydown="ent1($event)"  @keyup.enter="handleFplbEnter($index, row)" />
 										</template>
 									</el-table-column>
 
@@ -203,12 +203,12 @@
 					</el-dialog>
 					
 					<!-- 弹出选项框 工序 -->
-					<el-dialog v-model="GetjtbhVisible" title="选择" destroy-on-close width="600px">
-						<el-table tooltip-effect="dark" :data="JTBHselectData" row-key="ID" highlight-current-row="true"
-							border style="width:100%" @row-dblclick="JTBHSelectClick">
-							<el-table-column prop="gxh" label="工序号" width="70" />
-							<el-table-column prop="gxmc" label="工序名称" width="150" />
-							<el-table-column prop="addGxmc" label="工序名称" width="150" />
+					<el-dialog v-model="dialogSelectVisible_gx" title="选择" destroy-on-close width="600px" 
+						@keydown="select_gx($event)">
+						<el-table tooltip-effect="dark" :data="selectData_gx" row-key="ID" highlight-current-row="true"
+							border style="width:100%" @row-dblclick="handleSelectClick_gx" ref="table_gx">
+							<el-table-column prop="gxh" label="工序号" width="100" />
+							<el-table-column prop="gxmc" label="工序名称" width="460" />
 						</el-table>
 					</el-dialog>
 
@@ -250,7 +250,8 @@
 	} from '@element-plus/icons-vue'
 	import {
 		ref,
-		reactive
+		reactive,
+		nextTick
 	} from 'vue'
 	import {
 		getSide,
@@ -436,11 +437,9 @@
 		}
 	]
 	const tableData = reactive([])
-	const GetjtbhVisible = ref(false)
 	const total = ref(0)
 	const page = ref(1)
 	const limit = ref(10)
-	const JTBHselectData = reactive([])
 	const searchInfo = ref('')
 	const params = {
 		date: '',
@@ -451,49 +450,71 @@
 	}
 	// 获取工序
 	const getgxsubmit = () => {
+		
+		if(!detailData.qczl_gdbh || !detailData.qczl_yjno){
+			return
+		}
 		GetJtbh()
 	}
 	const GetJtbh = async () => {
-		try {
-			const {
-				qczl_gdbh,
-				qczl_yjno
-			} = detailData
-			const response = await getYjInfo({
-				order: qczl_gdbh,
-				yj_no: qczl_yjno
-			})
-			if (response.code === 0) {
-				const data = response.data
-				if (data) {
-					const tableData = data.gx_data.map(item => ({
-						gxh: item.Gy0_gxh,
-						gxmc: item.Gy0_gxmc + (item.Add_gxmc === '' ? '' : '-' + item.Add_gxmc),
-						// addGxmc: item.Add_gxmc
-					}))
-					console.log(tableData)
-					JTBHselectData.splice(0, JTBHselectData.length, ...tableData)
-					GetjtbhVisible.value = true
-					// Now you can use the tableData to populate your table
-				} else {
-					console.log('No data found')
-				}
-			} else {
-				console.log('Error: ', response.msg)
+		const { qczl_gdbh, qczl_yjno } = detailData
+		const response = await getYjInfo({ order: qczl_gdbh, yj_no: qczl_yjno })
+		if (response.code === 0) {
+			const data = response.data
+			if (data) {
+				const tableData = data.gx_data.map(item => ({
+					gxh: item.Gy0_gxh,
+					gxmc: item.Gy0_gxmc + (item.Add_gxmc === '' ? '' : '-' + item.Add_gxmc),
+					// addGxmc: item.Add_gxmc
+				}))
+				selectData_gx.splice(0, selectData_gx.length, ...tableData)
+				setCurrent_gx(selectData_gx[0])
+				dialogSelectVisible_gx.value = true
 			}
-		} catch (error) {
-			console.error('Error fetching data: ', error)
 		}
 	}
-	const JTBHSelectClick = (row, column, event) => {
-		const {
-			gxh,
-			gxmc
-		} = row
+	
+	const dialogSelectVisible_gx = ref(false)
+	const selectData_gx = reactive([])
+	const handleSelectClick_gx = (row, column, event) => {
+		const { gxh, gxmc } = row
 		detailData.qczl_gxmc = gxh + '-' + gxmc
 		detailData.qczl_gxh = gxh
-		GetjtbhVisible.value = false
+		dialogSelectVisible_gx.value = false
+	}
+	const currentIndex_gx = ref(0);
+	const current_gx = ref(0);
+	const select_gx = (event) => {
+		if (event.keyCode === 40) { // 向下箭头
+			if (currentIndex_gx.value < selectData_gx.length - 1) {
+				currentIndex_gx.value++;
+				setCurrent_gx(selectData_gx[currentIndex_gx.value]);
+			} else {
+				currentIndex_gx.value = 0;
+				setCurrent_gx(selectData_gx[currentIndex_gx.value]); // 到达最后一行时回到第一行			
+			}
+		} else if (event.keyCode === 38) { // 向上箭头
+			if (currentIndex_gx.value > 0) {
+				currentIndex_gx.value--;
+				setCurrent_gx(selectData_gx[currentIndex_gx.value]);
+			} else {
+				currentIndex_gx.value = selectData_gx.length - 1;
+				setCurrent_gx(selectData_gx[currentIndex_gx.value]); // 到达第一行时回到最后一行
+			}
+		} else if (event.keyCode === 13) { // 回车键
+			dialogSelectVisible_gx.value = false;
+		}
+	}
+	const table_gx = ref()
+	const setCurrent_gx = (row) => {
+		setTimeout(() => {
+			table_gx.value?.setCurrentRow(row)
+			const { gxh, gxmc } = row
+			detailData.qczl_gxmc = gxh + '-' + gxmc
+			detailData.qczl_gxh = gxh
+		})
 	}
+	
 	// 批量删除控制标记
 	const deleteVisible = ref(false)
 	const multipleSelection = ref([])
@@ -617,6 +638,7 @@
 				}
 				detailData.table = table
 				try {
+					console.log(detailData)
 					const res = await getOrderInfo({
 						order: detailData.qczl_gdbh
 					})
@@ -1100,6 +1122,78 @@
 		}, 0)
 	}
 
+ const ent1 = (event) => {
+   const inputs = document.getElementsByTagName('input');
+   const currentIndex = Array.from(inputs).indexOf(event.target);
+
+   if (event.keyCode === 13 || event.keyCode === 40) { // Enter 或向下箭头
+       let nextIndex = currentIndex + 1;
+       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();
+               });
+               break;
+           }
+
+           nextIndex++;
+       }
+   }
+ 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);
+           })
+           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;
+         }
+       }
+     }
+   }
+ }
 	// let formElements
 	// const moveFocus = (event) => {
 	//   const index = Array.from(formElements).indexOf(event.target)

+ 2 - 2
src/view/performance/Manualdocuments.vue

@@ -1441,8 +1441,7 @@
 			sczl_废品率系数: formData.value.sczl_废品率系数,
 			sczl_jsss: formData.value.sczl_jsss,
 			sczl_冲定额: formData.value.sczl_冲定额,
-			qczl_Num: formData.value.qczl_NumDesc,
-			qczl_NumDesc: formData.value.流程单号1,
+			qczl_Num: formData.value.流程单号1,
 			qczl_NumDesc1: formData.value.流程单号2,
 			qczl_NumDesc2: formData.value.流程单号3,
 			qczl_NumDesc3: formData.value.流程单号4,
@@ -1451,6 +1450,7 @@
 			qczl_NumDesc6: formData.value.流程单号7,
 			qczl_NumDesc7: formData.value.流程单号8,
 			qczl_NumDesc8: formData.value.流程单号9,
+			qczl_NumDesc: formData.value.qczl_NumDesc,
 			sczl_desc: formData.value.sczl_desc,
 			sczl_bh1: formData.value.sczl_bh1,
 			sczl_bh2: formData.value.sczl_bh2,

+ 43 - 1
src/view/yunyin/shengchanguanli/shebeiyunxing.vue

@@ -3500,7 +3500,49 @@ const onADD = async() => {
 	  	gdzl_MachineList_address.data = MachineList_jitai.data;
 	  });
 	  
-	  MachineChanliang(uid.value)
+	  //打开新增按钮获取
+	  	qita_jitaidata();
+	  	
+	  	if(uid.value == undefined){
+	  		initfordata3()
+	  		chanliangVisible.value=true
+	  		return
+	  	}
+	  const response = await MachineChanliangDetail({UniqId:uid.value});
+	    if (response.code === 0) {
+	  	 chanliangVisible.value=true
+	  	 formdata3.value=response.data
+	  	 const result=formdata3.value.gxmc.match(/-(.{2})/)
+	  	 formdata3.value.gymc=result[1]
+	  	 formdata3.value.sczl_jtbh=JTMC
+	  	 formdata3.value.yjmc=response.data.印件名称
+	  	 formdata3.value.rq=date
+	  	 if (formdata3.value.bzdh === 'A班') {
+	  	     formdata3.value.starttime = ''; // 清空值
+	  	     setTimeout(()=>{
+	  			formdata3.value.starttime = date + " 08:30:00"; // 设置为 20:30:00
+	  	     })
+	  	 } else if (formdata3.value.bzdh === 'B班') {
+	  	     formdata3.value.starttime = ''; // 清空值
+	  	     setTimeout(()=>{
+	  	     	formdata3.value.starttime = date + " 20:30:00"; // 设置为 20:30:00
+	  	     })
+	  	 }
+		 //部分数据置空
+		 formdata3.value.产量 = '';
+		 formdata3.value.制程废品 = '0.0';
+		 formdata3.value.制程次品 = '0.0';
+		 formdata3.value.前工序废 = '0.0';
+		 formdata3.value.来料异常 = '0.0';
+		 formdata3.value.装版工时 = '0.00';
+		 formdata3.value.装版补产工时 = '0.00';
+		 formdata3.value.打样工时 = '0.00';
+		 formdata3.value.打样补产工时 = '0.00';
+		 formdata3.value.保养工时 = '0.00';
+		 formdata3.value.异常总工时 = '0.00';
+		 formdata3.value.通电工时 = '0.00';
+	  	 console.log(formdata3.value)
+	    }
 	}
 }