ysy 2 år sedan
förälder
incheckning
640c35be49

+ 17 - 11
pages/pda/common.js

@@ -1,6 +1,6 @@
 export const tableHeader = selectEquiType => {
 
-	// 1:物料;4:生产设备; 5:模具;6:备品备件; 7:周转车;8:舟皿;9:产品;10:消耗材料,11:干燥区,12.质检,13.包装材料,99.其他
+	// 1:物料;4:生产设备; 5:模具;6:备品备件; 7:周转车;8:舟皿;9:产品;10:消耗材料,11:干燥区,12.质检,13.包装材料,14.工装夹具 ,15.刀具 ,99.其他
 	switch (+selectEquiType) {
 		case 1:
 			return [{
@@ -21,6 +21,15 @@ export const tableHeader = selectEquiType => {
 					label: '型号',
 					prop: 'modelType'
 				},
+				{
+					label: '模孔数量',
+					prop: ''
+				},
+
+				{
+					label: '芯棒直径',
+					prop: ''
+				},
 				{
 					label: '收缩系数',
 					prop: '',
@@ -70,6 +79,12 @@ export const tableHeader = selectEquiType => {
 					label: '型号',
 					prop: 'modelType'
 				},
+				{
+					label: '槽数',
+					prop: ''
+				},
+
+
 				{
 					label: '长宽高',
 					prop: '',
@@ -86,16 +101,7 @@ export const tableHeader = selectEquiType => {
 			return []
 		case 14:
 			return []
-		case 4:
-		    return 	[{
-					label: '型号',
-					prop: 'modelType'
-				},
-				{
-					label: '规格',
-					prop: 'specification'
-				}
-			]
+
 	}
 
 	return []

+ 111 - 0
pages/pda/picking/bill/components/common.js

@@ -0,0 +1,111 @@
+export const tableHeader = selectEquiType => {
+	
+	// model => model    specifications =>  specificationss
+	
+
+	// 1:物料;4:生产设备; 5:模具;6:备品备件; 7:周转车;8:舟皿;9:产品;10:消耗材料,11:干燥区,12.质检,13.包装材料,14.工装夹具 ,15.刀具 ,99.其他
+	switch (+selectEquiType) {
+		case 1:
+			return [{
+					label: '型号',
+					prop: 'model'
+				},
+				{
+					label: '规格',
+					prop: 'specifications'
+				}
+			]
+		case 5:
+			return [{
+					label: '牌号',
+					prop: 'brandNum'
+				},
+				{
+					label: '型号',
+					prop: 'model'
+				},
+				{
+					label: '模孔数量',
+					prop: ''
+				},
+
+				{
+					label: '芯棒直径',
+					prop: ''
+				},
+				{
+					label: '收缩系数',
+					prop: '',
+					formatter(row) {
+						if (!row?.extendField) return ''
+						const extendField = JSON.parse(row.extendField)
+						return extendField.shrinkageCoefficient
+					}
+				},
+			]
+
+
+		case 7:
+			return [{
+					label: '规格',
+					prop: 'specifications'
+				},
+				{
+					label: '材质',
+					prop: 'texture',
+					formatter(row) {
+						if (!row?.extendField) return ''
+						const extendField = JSON.parse(row.extendField)
+						return extendField.texture
+					}
+				},
+				{
+					label: '长宽高',
+					prop: '',
+					formatter(row) {
+						if (!row?.extendField) return ''
+						const extendField = JSON.parse(row.extendField)
+						return `${extendField.length || '-'}*${extendField.width || '-'}*${
+											  extendField.high || '-'
+											}`
+					}
+				}
+			]
+
+
+		case 8: //'舟皿'
+			return [{
+					label: '规格',
+					prop: 'specifications'
+				},
+				{
+					label: '型号',
+					prop: 'model'
+				},
+				{
+					label: '槽数',
+					prop: ''
+				},
+
+
+				{
+					label: '长宽高',
+					prop: '',
+					formatter(row) {
+						if (!row?.extendField) return ''
+						const extendField = JSON.parse(row.extendField)
+						return `${extendField.length || '-'}*${extendField.width || '-'}*${
+              extendField.high || '-'
+            }`
+					}
+				}
+			]
+		case 10:
+			return []
+		case 14:
+			return []
+
+	}
+
+	return []
+}

+ 158 - 0
pages/pda/picking/bill/components/instanceBom.vue

@@ -0,0 +1,158 @@
+<template>
+	<view>
+
+
+		<view class="material rx-ss" v-for="(mate, idx) in list">
+		
+			<view class="content_table">
+				<view class="item">
+					<view class="lable rx-cc">编码</view>
+					<view class="content">
+						{{mate.categoryCode}}
+					</view>
+				</view>
+
+				<view class="item">
+					<view class="lable rx-cc">名称</view>
+					<view class="content">{{mate.categoryName}}</view>
+				</view>
+
+
+				<view class="item" v-for="(itm, index) in tableH(mate.rootCategoryLevelId)" :key="index">
+					<view class="lable rx-cc">{{ itm.label }}</view>
+					<view class="content">{{ mate[itm.prop] }}</view>
+
+				</view>
+
+
+				<view class="item">
+					<view class="lable rx-cc">数量</view>
+					<view class="content content_num">
+						<input class="uni-input" v-model="mate.demandQuantity"
+							type="digit"></input>
+						<view class="unit" v-if='mate.unit'>/{{mate.unit}}</view>
+					
+					</view>
+				</view>
+
+
+
+				<view class="item">
+					<view class="lable rx-cc">领料仓库</view>
+					<view class="content ">
+						{{ mate.warehouse }}
+					</view>
+				</view>
+
+			</view>
+		</view>
+
+	</view>
+</template>
+
+<script>
+	import {
+		tableHeader
+	} from './common.js'
+	export default {
+		props: ['list'],
+		data() {
+			return {
+
+			}
+		},
+		methods: {
+			tableH(type) {
+				return tableHeader(type)
+			},
+
+		
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.material {
+		margin-top: 10rpx;
+
+	
+
+	
+
+		.content_table {
+			width: 702rpx;
+			border: 2rpx solid $border-color;
+
+			.item {
+				display: flex;
+				border-bottom: 2rpx solid $border-color;
+
+
+				.lable {
+					width: 132rpx;
+					text-align: center;
+					background-color: #F7F9FA;
+					font-size: 26rpx;
+					border-right: 2rpx solid $border-color;
+					flex-shrink: 0;
+				}
+
+				.ww80 {
+					width: 80rpx;
+				}
+
+				.content {
+					width: 518rpx;
+					min-height: 64rpx;
+					font-size: 28rpx;
+					line-height: 28rpx;
+					font-style: normal;
+					font-weight: 400;
+					padding: 18rpx 8rpx;
+					box-sizing: border-box;
+					word-wrap: break-word;
+					flex-grow: 1 !important;
+
+				}
+
+				.content_num {
+
+					display: flex;
+					align-items: center;
+					padding: 0 4rpx;
+
+					/deep/ .uni-input-input {
+						width: 200rpx;
+						border: 2rpx solid #F0F8F2;
+						background: #F0F8F2;
+						color: $theme-color;
+					}
+
+					.unit {
+						padding: 0 4rpx;
+						font-size: 24rpx;
+						color: #404446;
+					}
+				}
+
+				.pd4 {
+					padding: 4rpx 8rpx;
+				}
+
+
+
+				&:last-child {
+					border-bottom: none;
+				}
+			}
+
+			.ww55 {
+				width: 55%;
+			}
+
+			.ww45 {
+				width: 45%;
+			}
+		}
+	}
+</style>

+ 25 - 17
pages/pda/picking/bill/index.vue

@@ -6,11 +6,11 @@
 
 		<view class="list_box">
 
-			<u-list @scrolltolower="scrolltolower" key="dataList" >
+			<u-list @scrolltolower="scrolltolower" key="dataList">
 
-				<view class="card_box cx-sc" v-for="(item, idx) in dataList">
-					
-					<view class="content_table" >
+				<view class="card_box cx-sc" v-for="(item, index) in dataList" :key="index">
+
+					<view class="content_table">
 						<view class="item">
 							<view class="lable rx-cc" style="color:#157A2C ;">领料单号</view>
 							<view class="content" style="color:#157A2C;">
@@ -18,15 +18,22 @@
 							</view>
 						</view>
 					</view>
-				
-					<view class="word_order ">工单编号:62464462</view>
 
-	
+					<view v-for="(it,idx) in item.orderInfoList" :key='idx'>
+						<view class="word_order ">工单编号:{{it.code}}</view>
+
+<instanceBom :list='it.bomDetailDTOS'></instanceBom>
+						<instanceBom :list='it.instanceList'></instanceBom>
+
+
+					</view>
+
+
 				</view>
 
 
 				<u-list-item v-if="dataList.length === 0" style='margin-top: 20vh;'>
-					<u-empty iconSize='150'  textSize='32' text='暂无数据'>
+					<u-empty iconSize='150' textSize='32' text='暂无数据'>
 					</u-empty>
 				</u-list-item>
 
@@ -54,13 +61,14 @@
 		pickDetails
 	} from '@/api/pda/picking.js'
 
+	import instanceBom from './components/instanceBom.vue'
 	export default {
 		components: {
-
+			instanceBom
 		},
 		data() {
 			return {
-		
+
 				ids: [],
 				dataList: [],
 
@@ -77,13 +85,13 @@
 
 		methods: {
 			async getList() {
-		
 
-		
+
+
 				const res = await pickDetails(this.ids)
-			
-               
-			   this.dataList = res
+
+
+				this.dataList = res
 
 			},
 
@@ -91,7 +99,7 @@
 
 
 			scrolltolower() {
-			
+
 			},
 
 
@@ -154,7 +162,7 @@
 
 		.word_order {
 			height: 64rpx;
-				width: 706rpx;
+			width: 706rpx;
 			background: $theme-color;
 			font-size: 28rpx;
 			color: #fff;

+ 1 - 1
pages/pda/workOrder/search/index.vue

@@ -189,7 +189,7 @@
 
 			getTreeList() {
 				let params = {
-					ids: [1, 5, 7, 8, 10, 14, 4]
+					ids: [1, 5, 7, 8, 10, 14]
 
 				}
 				treeByPid(params).then(res => {