guoyujia 1 éve
szülő
commit
61eafe460d

+ 24 - 11
components/dialog-lot/dialog-lot.vue

@@ -14,7 +14,7 @@
 				<view class="list-container-item uni-row"
 					style="border-top: 1px solid #e1e1e1;border-radius: 8rpx 8rpx 0 0;">
 					<text class="label">产品描述</text>
-					<text class="label value">{{item['productDescription']}}</text>
+					<text class="label value" >{{item['productDescription']}}</text>
 				</view>
 				<view class="list-container-item uni-row">
 					<text class="label">关联箱号</text>
@@ -81,10 +81,11 @@
 	function getProcesses() {
 		Promise.all([getProcessList({
 			deptId: store.curDeptDetails.deptId,
-			dayworkId: form.value.dayworkId
+			dayworkId:form.value.dayworkId
 		}), getProcessListByLot({
 			id: form.value[0].daywork.lotId,
 			isWasteRecycling: form.value[0].daywork.isWasteRecycling,
+			isAmend:form.value[0].daywork.isAmend,
 			technologicalProcessId:form.value[0].technologicalProcessId
 		})]).then(([res, response]) => {
 			if (res.code == 200) {
@@ -116,7 +117,7 @@
 					processList.value[i] = {
 						text: filteredData[i].processAlias,
 						value: filteredData[i].technologicalProcessDetailId ? filteredData[i]
-							.technologicalProcessDetailI : filteredData[i].id,
+							.technologicalProcessDetailId : filteredData[i].id,
 						processId: filteredData[i].processId,
 						processStepNumber: filteredData[i].processStepNumber
 					}
@@ -146,10 +147,24 @@
 		}
 		console.log(selection.value)
 		//执行确认
+		var msg = ""
 		if (selectedProcess.value && selection.value.length > 0) {
-			close();
-			emit('submit', selection.value);
-			uni.$emit('dayworkItemUpdate');
+			//判断选择的批次里是否有废品回用的
+			for (let i = 0; i < selection.value.length; i++) {
+				if (selection.value[i].daywork.isWaste == 0) {
+					msg += selection.value[i].lotCode + ","
+				}
+			}
+			if (msg === "") {
+				uni.showToast({
+					icon: 'none',
+					title: msg + "已被废弃"
+				})
+			} else {
+				close();
+				emit('submit', selection.value);
+				uni.$emit('dayworkItemUpdate');
+			}
 		} else {
 			uni.showToast({
 				icon: 'none',
@@ -197,7 +212,7 @@
 		}
 
 		.list-container {
-			width: 96%;
+			width: 94%;
 			display: flex;
 			align-items: flex-start;
 			margin: 10rpx auto;
@@ -211,15 +226,13 @@
 				border-right: 1px solid #e1e1e1;
 				padding: 12rpx 8rpx;
 				box-sizing: border-box;
-
-
 				.label {
 					font-size: 28rpx;
 					color: gray;
-					width: 144rpx;
+					width: 140rpx;
 
 					&.value {
-						flex: 1;
+						 flex: 1;
 					}
 				}
 			}

+ 3 - 2
components/dialog-selectEquipment/dialog-selectEquipment.vue

@@ -286,7 +286,7 @@
 				processId: selectedProcess.value,
 				*/
 				technologicalProcessDetailId: selectedProcess.value,
-				processId: store.dayworkInfo.processSequence.findIndex(v => v.technologicalProcessDetailId === selectedProcess.value) >= 0 ? store.dayworkInfo.processSequence.find(v => v.technologicalProcessDetailId === selectedProcess.value).id : null,
+				processId: store.dayworkInfo.currentProcess.id,
 				equipmentDetailId: selectedEquipment.value.commonId,
 				processStepNumber:store.dayworkInfo.currentProcess.processStepNumber,
 				equipmentDetailCode: selectedEquipment.value.commonCode,
@@ -302,7 +302,8 @@
 				processId: selectedProcess.value,
 				*/
 				technologicalProcessDetailId: selectedProcess.value,
-				processId: store.dayworkInfo.processSequence.findIndex(v => v.technologicalProcessDetailId === selectedProcess.value) >= 0 ? store.dayworkInfo.processSequence.find(v => v.technologicalProcessDetailId === selectedProcess.value).id : null,
+				processId: store.dayworkInfo.currentProcess.id,
+				// processId: store.dayworkInfo.processSequence.findIndex(v => v.technologicalProcessDetailId === selectedProcess.value) >= 0 ? store.dayworkInfo.processSequence.find(v => v.technologicalProcessDetailId === selectedProcess.value).id : null,
 				equipmentDetailId: selectedEquipment.value.commonId,
 				processStepNumber:store.dayworkInfo.currentProcess.processStepNumber,
 				equipmentDetailCode: selectedEquipment.value.commonCode,

+ 80 - 109
components/dialog-selectProduction/dialog-selectProduction.vue

@@ -42,76 +42,61 @@
 	const processList = ref([])
 	const isNormalLot = ref(true)
 	const curProcessId = ref('')
-	const processSquence = ref([])
+	const dayworkCarrierlist = ref([])
 	const carrierList = ref([])
 
 	function open(data) {
 		reset();
 		console.log(store.planDetails)
-		console.log(data)
+		isNormalLot.value = true
 		if (!data) {
 			isNormalLot.value = false
 		}
-		// getProcessList({
-		// 	deptId: store.curDeptDetails.deptId,
-		// 	planDetailId: store.planDetails.id
-		// }).then(res => {
-		// 	if (res.code == 200) {
-		// 		for (let i = 0; i < res.data.length; i++) {
-		// 			processList.value[i] = {
-		// 				text: res.data[i].processAlias,
-		// 				value: res.data[i].processId
-		// 			}
-		// 		}
-		// 	}
-		// 	baseDialog.value.open()
-		// })
-		// return
+		console.log(isNormalLot.value)
 		Promise.all([getProcessList({
-				deptId: store.curDeptDetails.deptId,
-				planDetailId: store.planDetails.id
-			}), getAvailableCarrierList({
-				planDetailId: store.planDetails.id,
-				deptId: store.curDeptDetails.deptId
-			}), selectProcessList({
-				productionPlanDetailId: store.planDetails.id,
-				isNormalLot: isNormalLot.value,
-				deptId: store.curDeptDetails.deptId
-			})])
-			.then(([res, response, resp]) => {
-				if (resp.code == 200) {
-					processSquence.value = resp.data
-					console.log("processSquence", processSquence.value);
-					//过滤出工序交集
-					let filteredData = resp.data.filter((item1) =>
-						res.data.some((item2) => item2.processCode === item1.processCode)
-					);
-					var processAliasList = [];
-					for (let i = 0; i < filteredData.length; i++) {
-						if (processAliasList.includes(filteredData[i].processAlias)) {
-							continue;
-						} else {
-							processAliasList.push(filteredData[i].processAlias)
-							processList.value[i] = {
-								text: filteredData[i].processAlias,
-								value: filteredData[i].id
-							}
+			deptId: store.curDeptDetails.deptId,
+			planDetailId: store.planDetails.id
+		}), getAvailableCarrierList({
+			planDetailId: store.planDetails.id,
+			deptId: store.curDeptDetails.deptId
+		}), selectProcessList({
+			productionPlanDetailId: store.planDetails.id,
+			isNormalLot:isNormalLot.value,
+			deptId: store.curDeptDetails.deptId
+		})
+		])
+		.then(([res, response,resp]) => {
+			if (resp.code == 200) {
+				dayworkCarrierlist.value = response.data
+				//过滤出工序交集
+				let filteredData = resp.data.filter((item1) =>
+					res.data.some((item2) => item2.processCode === item1.processCode)
+				);
+				var processAliasList = [];
+				for (let i = 0; i < filteredData.length; i++) {
+					if(processAliasList.includes(filteredData[i].processAlias)) {
+						continue;
+					}else {
+						processAliasList.push(filteredData[i].processAlias)
+					    processList.value[i] = {
+						text: filteredData[i].processAlias,
+						value: filteredData[i].processId,
 						}
 					}
-					console.log(processList.value)
-					/* 处理结果格式 */
-					carrierList.value = changeResultStructure(response.data)
-					console.log(carrierList.value)
-					console.log(store.userInfo)
-					baseDialog.value.open();
-				} else {
-					uni.showToast({
-						icon: "error",
-						title: "请重新选择是否正常批次",
-						duration: 1000
-					})
-				}
-			})
+			}
+			console.log(processList.value)
+			/* 处理结果格式 */
+			carrierList.value = changeResultStructure(response.data)
+			baseDialog.value.open();
+			}
+			else {
+				uni.showToast({
+					icon: "error",
+					title: "没有周转到该工段批次",
+					duration: 1000
+				})
+			}
+		})
 	}
 	/**
 	 * 处理响应结果
@@ -122,25 +107,21 @@
 		const result = {};
 		// 遍历原始数组的每个对象
 		data.forEach(item => {
-			const {
-				lotCode,
-				place,
-				carrierCode
-			} = item;
-			// 如果lotCode不存在于结果中,则以该lotCode为键,创建一个新对象
-			if (!result[lotCode]) {
-				result[lotCode] = {
-					lotCode: lotCode,
-					place: place,
-					carrierCode: carrierCode
-				};
-				// 如果lotCode已存在于结果中,则将place进行字符串拼接
-			} else {
-				if (result[lotCode].place !== place) {
-					result[lotCode].place += `, ${place}`;
-				}
-				result[lotCode].carrierCode += `, ${carrierCode}`;
-			}
+		  const { lotCode, place,carrierCode } = item;  
+		  // 如果lotCode不存在于结果中,则以该lotCode为键,创建一个新对象
+		  if (!result[lotCode]) {  
+		    result[lotCode] = {
+		      lotCode: lotCode,
+		      place: place,
+			  carrierCode: carrierCode
+		    };
+		  // 如果lotCode已存在于结果中,则将place进行字符串拼接
+		  } else {
+			  if (result[lotCode].place !== place){
+				  result[lotCode].place += `, ${place}`;
+			  }
+			result[lotCode].carrierCode += `, ${carrierCode}`;
+		  }
 		});
 		return Object.values(result);
 	}
@@ -183,44 +164,35 @@
 					// }
 
 					// console.log(processList.value)
-					let filteredData = resp.data.filter((item1) =>
-						res.data.some((item2) => item2.processCode === item1.processCode)
-					);
-					for (let i = 0; i < filteredData.length; i++) {
-						if (processAliasList.includes(filteredData[i].processAlias)) {
-							continue;
-						} else {
-							processAliasList.push(filteredData[i].processAlias)
-							processList.value[i] = {
-								text: filteredData[i].processAlias,
-								value: filteredData[i].id
-							}
+				let filteredData = resp.data.filter((item1) =>
+					res.data.some((item2) => item2.processCode === item1.processCode)
+				);
+			for (let i = 0; i < filteredData.length; i++) {
+					if(processAliasList.includes(filteredData[i].processAlias)) {
+						continue;
+					}else {
+						processAliasList.push(filteredData[i].processAlias)
+					    processList.value[i] = {
+						text: filteredData[i].processAlias,
+						value: filteredData[i].processId,
 						}
 					}
+			}
 				}
 				/* 处理结果格式 */
 				carrierList.value = changeResultStructure(response.data);
 				baseDialog.value.open();
 			})
 		} else {
-			let processIds = []
-			for (let i = 0; i < processSquence.value.length; i++) {
-				processIds.push(processSquence.value[i].id)
-				if (processSquence.value[i].id == selectedProcess.value) {
-					break;
-				}
-			}
-			curProcessId.value = processIds.join(',')
-			getAvailableCarrierList({
-				planDetailId: store.planDetails.id,
-				deptId: store.curDeptDetails.deptId,
-				processId: curProcessId.value
-			}).then(res => {
-				if (res.code == 200) {
-					carrierList.value = changeResultStructure(res.data);
-				}
-				console.log(res)
-			})
+			var tempList = []
+			for(let i = 0;i<dayworkCarrierlist.value.length;i++) {
+				 var processIds = dayworkCarrierlist.value[i].processSequence.map(obj => obj.id);
+					if(processIds.includes(selectedProcess.value)) {
+						tempList.push(dayworkCarrierlist.value[i])
+					}
+					}
+					 carrierList.value = changeResultStructure(tempList);
+
 		}
 	}
 
@@ -239,7 +211,6 @@
 			width: 88%;
 			margin: 20rpx auto 40rpx;
 		}
-
 		.carrierList-title {
 			width: 100%;
 			border-bottom: 1rpx solid #999999;

+ 5 - 3
components/dialog-turnoverApplication/dialog-turnoverApplication.vue

@@ -146,10 +146,12 @@
 			tenantId: store.tenantId,
 			productionPlanDetailId: store.planDetails.id,
 			lotId:dayworkInfo.value.lotId,
-			isWasteRecycling:dayworkInfo.value.isWasteRecycling
+			isWasteRecycling:dayworkInfo.value.isWasteRecycling,
+			isAmend:dayworkInfo.value.isAmend
 		}).then(res => {
 			for (let i = 0; i < res.data.length; i++) {
 				deptList.value = res.data;
+				console.log(deptList.value)
 				if (store.curDeptDetails.workshopId == res.data[i].workshopId) {
 					insideDepts.value.push({
 						text: res.data[i].deptName,
@@ -164,8 +166,8 @@
 					})
 				}
 			}
-			// console.log(insideDepts.value)
-			// console.log(outsideDepts.value)
+			 console.log(insideDepts.value)
+			 console.log(outsideDepts.value)
 		})
 	}
 

+ 20 - 23
pages/addNewBatch/index.vue

@@ -197,11 +197,10 @@
 		obj.productionPlanDetailId = store.planDetails.id;
 		//开始新批次,判断当前工段是否能开始这个批次(领料部门是当前工段的;批次的领料部门是当前工段的)
 		//当前计划单的领料部门是当前工段
-		if (store.planDetails.requisitionDepartmentId == store.curDeptDetails.deptId) {
+		if (store.normalStatus ) {
 			curDept.value = true
 			//只查不是废品回用的批次
 			getLotList(obj).then(res => {
-				console.log(res)
 				lotList.value = res.rows;
 				if (res.rows.length > 0) {
 					batchNoList.value = [res.rows[0]];
@@ -226,17 +225,6 @@
 				wasteRecyclingList.value = res.rows
 				if (res.rows.length > 0) {
 					//如果废品回用的批次领料部门是当前计划的领料部门,则加到lotList
-					if (wasteRecyclingList.value[0].requisitionDepartmentId == store.planDetails
-						.requisitionDepartmentId) {
-						lotList.value.push(wasteRecyclingList.value)
-						batchNoList.value = [lotList.rows[0]];
-						dayWork.value.lotId = batchNoList.value[0].id;
-						dayWork.value.lotCode = batchNoList.value[0].lotCode;
-						if (dayWork.value.technologicalProcessId != batchNoList.value[0].technologicalProcessId) {
-							dayWork.value.technologicalProcessId = batchNoList.value[0].technologicalProcessId;
-							store.planDetails.technologicalProcessId = batchNoList.value[0].technologicalProcessId;
-						}
-					} else {
 						lotList.value = res.rows
 						batchNoList.value = [res.rows[0]];
 						dayWork.value.lotId = batchNoList.value[0].id;
@@ -246,9 +234,15 @@
 							store.planDetails.technologicalProcessId = batchNoList.value[0].technologicalProcessId;
 						}
 						getProcessInfo(batchNoList.value[0])
-					}
 					//提示当前批次是废品回用
-					if (batchNoList.value[0].isWasteRecycling == 1) {
+					if (batchNoList.value[0].isAmend == 1) {
+						uni.showToast({
+							icon: "none",
+							title: "该批是单批单改",
+							duration: 2000
+						})
+					}
+					else if (batchNoList.value[0].isWasteRecycling == 1) {
 						uni.showToast({
 							icon: "none",
 							title: "该批是废品回用",
@@ -343,13 +337,16 @@
 	}
 
 	function checkLotCode(lotCode) {
-		if (lotList.value.some(item => item.lotCode == lotCode)) {
+		//var lotCode = lotList.value[0].map(obj =>obj.lotCode)
+		console.log(lotList.value)
+		console.log(lotList.value.map(obj =>obj.lotCode))
+		if (lotCode.includes(lotCode)) {
 			for (let i = 0; i < lotList.value.length; i++) {
 				if (lotList.value[i].lotCode == lotCode) {
 					batchNoList.value = [lotList.value[i]];
 					dayWork.value.lotId = lotList.value[i].id;
 					dayWork.value.lotCode = lotList.value[i].lotCode;
-					if (batchNoList.value[0].isWasteRecycling == 1) {
+					if (batchNoList.value.isWasteRecycling == 1) {
 						uni.showToast({
 							icon: "none",
 							title: "该批次号可用,该批是废品回用",
@@ -379,6 +376,7 @@
 			})
 			return false;
 		}
+		
 	}
 
 	function getProcessInfo(data) {
@@ -390,10 +388,8 @@
 				//因为废品回用对工序进行单独的修改。所以重新查产品的工艺,如果该批不是废品回用,则查产品工序,如果是,则到
 				//对应表查
 				//通过批次号查
-				console.log(batchNoList.value)
 				getProcessListByLot(data).then(response => {
 					let lotProcessList = response.data
-					console.log(lotProcessList)
 					let filteredData = lotProcessList.filter((item1) =>
 						res.data.some((item2) => item2.processCode === item1.processCode)
 					);
@@ -405,7 +401,6 @@
 						processStepNumber: v.processStepNumber,
 						index: index
 					}))
-					console.log(processList.value)
 					selectedProcess.value = filteredData[0].technologicalProcessDetailId;
 					dayWork.value.processId = filteredData[0].id;
 					dayWork.value.technologicalProcessDetailId = selectedProcess.value
@@ -526,6 +521,7 @@
 	// }
 
 	function handleAdd() {
+		console.log(batchNoList.value)
 		if (selectedProcess.value == null) {
 			uni.showToast({
 				icon: 'none',
@@ -533,8 +529,9 @@
 			})
 			return;
 		}
-		console.log(dayWork.value)
-		console.log(basicInfo.value)
+	  dayWork.value.isWasteRecycling = batchNoList.value[0].isWasteRecycling
+	  dayWork.value.isAmend = batchNoList.value[0].isAmend
+	  dayWork.value.technologicalProcessId = batchNoList.value[0].technologicalProcessId;
 		store.furnaceNumberInfo = basicInfo.value;
 		if (checkLotCode(dayWork.value.lotCode)) {
 			saveDayWork(dayWork.value).then(res => {
@@ -736,4 +733,4 @@
 		width: 88%;
 		margin: 20rpx auto 40rpx;
 	}
-</style>
+</style>

+ 23 - 13
pages/batchReporting/index.vue

@@ -216,18 +216,28 @@
 	}
 
 	function handleShowTurnoverApplication(data) {
-		let _data = data ?? {}
-		carrierFinishedCheck(data).then(res => {
-			if (res.code === 200) {
-				// 调用子组件中的方法
-				turnoverApplicationDialog.value.open(_data)
-			} else {
-				uni.showToast({
-					icon: 'none',
-					title: res.msg
-				})
-			}
-		})
+		console.log(data)
+		//如果这批废了,则不能周转申请
+		if (data.isWaste == 1) {
+			uni.showToast({
+				icon: 'none',
+				title: '此批已废,不能申请周转',
+				duration: 2000
+			})
+		} else {
+			let _data = data ?? {}
+			carrierFinishedCheck(data).then(res => {
+				if (res.code === 200) {
+					// 调用子组件中的方法
+					turnoverApplicationDialog.value.open(_data)
+				} else {
+					uni.showToast({
+						icon: 'none',
+						title: res.msg
+					})
+				}
+			})
+		}
 		// .catch(err => {
 		// 	uri.showToast({
 		// 		icon: "fail",
@@ -387,7 +397,7 @@
 		} else {
 			// 测试时用
 			showDaywork({
-				carrierId: '1770342949115183106',
+				carrierId: '1747500987705667596',
 				status: 7
 			}).then(response => {
 				if (response.code == 200) {

+ 2 - 2
pages/reportingForWork/index.vue

@@ -328,7 +328,7 @@
 				...data,
 				productionPlanId: curPlan.value.productionPlanId,
 				productionPlanDetailId: curPlan.value.id,
-				technologicalProcessId: curPlan.value.technologicalProcessId,
+				technologicalProcessId: dayWorkInfo.value.technologicalProcessId,
 				prodNum: store.dayworkInfo['processQualifiedNum'] == 0 ?
 					store.dayworkInfo['isLast'] == 1 ? store.dayworkInfo['lastLotQuantity'] : store.dayworkInfo[
 						'oneLotQuantity'] : store.dayworkInfo['processQualifiedNum'],
@@ -342,7 +342,7 @@
 				lotId: dayWorkInfo.value.lotId,
 				productionPlanId: curPlan.value.productionPlanId,
 				productionPlanDetailId: curPlan.value.id,
-				technologicalProcessId: curPlan.value.technologicalProcessId,
+				technologicalProcessId: dayWorkInfo.value.technologicalProcessId,
 				prodNum: store.dayworkInfo['processQualifiedNum'] == 0 ?
 					store.dayworkInfo['isLast'] == 1 ? store.dayworkInfo['lastLotQuantity'] : store.dayworkInfo[
 						'oneLotQuantity'] : store.dayworkInfo['processQualifiedNum'],