ysy 2 лет назад
Родитель
Сommit
37e723e834

+ 8 - 0
pages.json

@@ -1527,6 +1527,14 @@
 				"navigationStyle" : "custom",
 				"navigationBarTextStyle" : "white"
 			}
+		},
+		{
+			"path" : "pages/pda/turnover/index/quality",
+			"style" : 
+			{
+			   "navigationStyle" : "custom",
+				"navigationBarTextStyle" : "white"
+			}
 		}
 
 

+ 4 - 0
pages/pda/components/bottomOperate.vue

@@ -256,6 +256,10 @@
 
 
 					this.btnList[3] = [
+						{
+							name: '更换周转车',
+							type: 'qualityTurnover'
+						},
 						..._arr,
 						{
 							name: '报工',

+ 20 - 15
pages/pda/jobBooking/index/index.vue

@@ -8,8 +8,13 @@
 			<u-list @scrolltolower="scrolltolower">
 
 				<view class="card_box">
+
+
+
+
 					<workOrderBom :item='objData' v-if='objData' @handleScan='handleScan'></workOrderBom>
 
+
 					<paramBom v-if='paramDetailList.length != 0' :list='paramDetailList'></paramBom>
 
 					<deviceBom v-if='objData.equipmentList.length != 0' :list='objData.equipmentList'></deviceBom>
@@ -32,12 +37,12 @@
 						v-if='objData.instanceList &&  objData.instanceList.length != 0 && taskType != 4 && taskType != 6'
 						:item='objData' :list='objData.instanceList'>
 					</oneJobBom>
-					
-					
-					<semiProductJobBom 	v-if='objData.semiProductList &&  objData.semiProductList.length != 0 && taskType != 4 && taskType != 6' 
-					:item='objData' :list='objData.semiProductList'
-					></semiProductJobBom>
-					
+
+
+					<semiProductJobBom
+						v-if='objData.semiProductList &&  objData.semiProductList.length != 0 && taskType != 4 && taskType != 6'
+						:item='objData' :list='objData.semiProductList'></semiProductJobBom>
+
 
 
 
@@ -85,7 +90,6 @@
 			<template v-slot:list>
 				<view class="search_list">
 
-
 					<u-form labelPosition="left" :model="formData" labelWidth="180" labelAlign="left" class="baseForm">
 						<u-form-item label="仓库:" class="required-form" borderBottom prop="warehouseId">
 							<zxz-uni-data-select :localdata="warehouseList" v-model="formData.warehouseId"
@@ -93,7 +97,6 @@
 						</u-form-item>
 
 
-
 					</u-form>
 
 				</view>
@@ -105,7 +108,6 @@
 						取消
 					</u-button>
 
-
 					<u-button type="success" size="small" class="u-reset-button" @click="popupOk">
 						确定
 					</u-button>
@@ -113,6 +115,8 @@
 				</view>
 			</template>
 
+
+
 		</SearchPopup>
 
 
@@ -383,8 +387,8 @@
 			getList() {
 				this.isLoad = false
 				getByIdReport(this.id, this.taskId).then(res => {
-					
-					console.log(22,res)
+
+					console.log(22, res)
 
 					this.objData = res
 					if (!this.objData.hasOwnProperty('turnover')) {
@@ -443,7 +447,7 @@
 					if (this.taskType == 6 && this.clientEnvironmentId == 3) {
 						this.objData.instanceList = this.objData.pickOutInList
 					}
-				
+
 
 
 
@@ -597,8 +601,9 @@
 						if (this.taskType == 6) {
 							return e.extInfo.hasOwnProperty('taskId') && e.extInfo.taskId
 						} else {
-							return e.extInfo.hasOwnProperty('taskId') && e.extInfo.taskId && e.extInfo.reportWeight
-								
+							return e.extInfo.hasOwnProperty('taskId') && e.extInfo.taskId && e.extInfo
+								.reportWeight
+
 						}
 
 					})
@@ -676,7 +681,7 @@
 								} else {
 									uni.navigateBack()
 								}
-								
+
 							}
 						})
 					} else {

+ 451 - 0
pages/pda/turnover/components/qualityTurnoverBom.vue

@@ -0,0 +1,451 @@
+<template>
+
+	<view>
+		<view>
+			<view class="title_box rx-bc">
+				<view class="name">周转车</view>
+			</view>
+
+			<view v-for="(item, index) in newList" :key='index'>
+				<view class="title_box rx-bc">
+					<view class="btn_box rx-bc" @click="handleTrade(index)" >
+						换周转车
+					</view>
+
+
+				</view>
+
+				<view class="content_table">
+					<view class="item rx-sc">
+						<view class="rx ww50 ">
+							<view class="lable ww80 rx-cc ">编号</view>
+							<view class="content rx-sc">
+								<view>{{item.code}}</view>
+							</view>
+						</view>
+
+						<view class="rx ww50">
+							<view class="lable rx-cc ww80">名称</view>
+							<view class="content rx-sc">
+								<view>{{item.name}}</view>
+							</view>
+						</view>
+
+					</view>
+				</view>
+
+
+				<view class="content_table2">
+					<view class="head row rx-sc">
+						<view class="item ww10">货位</view>
+						<view class="item ww30">工单编号</view>
+						<view class="item ww30">产品编码</view>
+						<view class="item ww15">数量</view>
+						<view class="item ww15"></view>
+					</view>
+
+					<view class="table">
+						<u-list @scrolltolower="scrolltolower" class="z_list">
+							<view class="tr row rx-sc" v-for="(it, idx) in item.extInfo.positionList" :key='idx'>
+								<view class="item ww10">{{it.code}}</view>
+								<view class="item ww30" :class="{'color157': it.workOrderCode === wordItem.code}">
+									{{ it.workOrderCode }}
+								</view>
+								<view class="item ww30" :class="{'color157': it.categoryCode === wordItem.productCode}">
+									{{it.categoryCode}}
+								</view>
+								<view class="item ww15  ">
+									<text :class="{ 'isend' : it.quantity > 0 }">{{it.quantity}}</text>
+								</view>
+
+								<view class="item ww15 rx-cc " v-if='!it.isend' @click="handleCheck(index, idx, it)">
+
+									<image class="check" v-if=' it.check' src='@/static/check.png'>
+									</image>
+									<image class="check" v-if='!it.check'
+										src='@/static/check_no.png'></image>
+								</view>
+
+
+							</view>
+
+						</u-list>
+
+
+
+
+					</view>
+
+
+				</view>
+
+			</view>
+		</view>
+
+		<qualityTurnoverPopup ref='turnoverRef' @saveTurn='saveTurn'></qualityTurnoverPopup>
+
+
+	</view>
+</template>
+
+<script>
+	import {
+		transferVehicle,
+	} from '@/api/pda/workOrder.js'
+
+	import qualityTurnoverPopup from './qualityTurnoverPopup.vue'
+	export default {
+		components: {
+			qualityTurnoverPopup
+		},
+		props: {
+			list: {
+				type: Array,
+				default: () => []
+			},
+			wordItem: {
+				type: Object,
+				default: () => {}
+			},
+
+
+			newTurnover: {
+				type: Array,
+				default: () => []
+			},
+
+		},
+
+
+		watch: {
+
+			list: {
+				immediate: true,
+				deep: true,
+				handler(newVal) {
+					this.newList = newVal
+				}
+			}
+		},
+
+		data() {
+			return {
+				recycleQuantity: '',
+				newList: [],
+
+				wordInfo: {
+					workOrderCode: null,
+					categoryCode: null,
+				}
+			}
+		},
+
+		methods: {
+
+			scrolltolower() {},
+
+
+			handleCheck(index, idx, it) {
+				console.log(this.newList[index])
+				this.$set(this.newList[index].extInfo.positionList[idx], 'check', !it.check)
+				this.$forceUpdate()
+
+
+			},
+
+
+			handleTrade(index) {
+
+				let arr = this.newList[index].extInfo.positionList.filter(e => {
+					return e.check
+				})
+				if (arr.length == 0) {
+					uni.showToast({
+						icon: 'none',
+						title: '请先勾选需要转移的工单'
+					})
+
+					return false
+				}
+
+
+
+				this.wordInfo.workOrderCode = arr[0].workOrderCode
+				this.wordInfo.categoryCode = arr[0].categoryCode
+
+
+				this.$refs.turnoverRef.open('w0300000002816002', this.wordInfo, this.newList, this.wordItem, index)
+				return false
+
+				let _this = this
+				uni.scanCode({
+					success: function(res) {
+
+						_this.$refs.turnoverRef.open(res.result, this.wordInfo, this.newList, this.wordItem,
+							index)
+					}
+				})
+
+			},
+
+			saveTurn(index, newTurnover) {
+				let arr = this.newList[index].extInfo.positionList.filter(e => {
+					return e.check
+				})
+
+				arr.forEach(f => {
+					f.isend = true
+					f.quantity = 0
+				})
+
+				let turnoverArr = []
+				newTurnover[0].isOld = 0 // 新的
+				newTurnover[0].id = null
+				this.newList[index].isOld = 1 // 老的
+				turnoverArr = [this.newList[index], ...newTurnover]
+
+				transferVehicle(turnoverArr).then(res => {
+					this.$emit('refreshList')
+				})
+
+
+			}
+
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.title_box {
+		margin-top: 20rpx;
+
+		.name {
+			font-size: 28rpx;
+			font-style: normal;
+			font-weight: 400;
+			color: $theme-color;
+			padding-left: 20rpx;
+
+			position: relative;
+
+			&:before {
+				position: absolute;
+				content: '';
+				left: 0rpx;
+				top: 0rpx;
+				bottom: 0rpx;
+				width: 4rpx;
+				height: 28rpx;
+				background: $theme-color;
+				margin: auto;
+			}
+
+
+		}
+
+		.left {
+			width: 40rpx;
+		}
+
+		.btn_box {
+			padding: 0 18rpx;
+			height: 60rpx;
+			background: $theme-color;
+			font-size: 26rpx;
+			font-style: normal;
+			font-weight: 400;
+			font-size: 24rpx;
+			color: #fff;
+			border-radius: 4rpx;
+
+			.scan {
+				width: 34rpx;
+				height: 34rpx;
+				margin-right: 12rpx;
+
+			}
+
+		}
+
+	}
+
+
+	.content_table {
+		margin-top: 8rpx;
+		width: 100%;
+		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;
+			}
+
+			.ww50 {
+				width: 50%;
+			}
+
+			.content {
+				width: 518rpx;
+				min-height: 64rpx;
+				font-size: 28rpx;
+				line-height: 28rpx;
+				font-style: normal;
+				font-weight: 400;
+				padding: 2rpx 8rpx;
+				box-sizing: border-box;
+				word-wrap: break-word;
+				flex-grow: 1 !important;
+				font-size: 24rpx;
+
+			}
+
+
+			&:last-child {
+				border-bottom: none;
+			}
+		}
+
+
+	}
+
+
+
+	.content_table2 {
+		width: 100%;
+
+
+		.row {
+			width: 100%;
+
+
+			.item {
+
+				color: #404446;
+				font-size: 28rpx;
+				padding-left: 12rpx;
+
+			}
+
+			.color157 {
+				color: $theme-color;
+			}
+
+			.ww20 {
+				width: 20%;
+			}
+
+			.ww35 {
+				width: 35%;
+
+			}
+
+			.ww15 {
+				width: 15%;
+			}
+
+			.ww25 {
+				width: 25%;
+			}
+
+
+			.ww30 {
+				width: 30%;
+			}
+
+			.ww15 {
+				width: 15%;
+			}
+
+
+			.ww10 {
+				width: 10%;
+			}
+		}
+
+		.head {
+			height: 64rpx;
+			background: #F7F9FA;
+			border-top: 2rpx solid #E3E5E5;
+			border-left: 2rpx solid #E3E5E5;
+
+			.item {
+				height: 64rpx;
+				line-height: 64rpx;
+				border-right: 2rpx solid #E3E5E5;
+				box-sizing: border-box;
+			}
+		}
+
+
+
+		.tr {
+			border-top: 2rpx solid #E3E5E5;
+			border-left: 2rpx solid #E3E5E5;
+
+
+			.item {
+				font-size: 24rpx;
+				min-height: 64rpx;
+				display: flex;
+				align-items: center;
+				border-right: 2rpx solid #E3E5E5;
+				box-sizing: border-box;
+				white-space: normal;
+				word-break: break-all;
+
+			}
+
+			&:last-child {
+				border-bottom: 2rpx solid #E3E5E5;
+
+			}
+		}
+	}
+
+
+	.content_num {
+		display: flex;
+		align-items: center;
+		padding: 0 4rpx;
+
+		/deep/ .uni-input-input {
+			border: 2rpx solid #F0F8F2;
+			background: #F0F8F2;
+			color: $theme-color;
+		}
+
+	}
+
+	.check {
+		width: 30rpx;
+		height: 30rpx;
+	}
+
+	.isend {
+		text-decoration: line-through;
+	}
+
+	.title_des {
+		font-size: 28rpx;
+		color: #FFA929;
+	}
+
+
+	.z_list {
+		max-height: 500rpx;
+	}
+</style>

+ 468 - 0
pages/pda/turnover/components/qualityTurnoverPopup.vue

@@ -0,0 +1,468 @@
+<template>
+	<view>
+		<u-popup :show="show" mode='center' v-if='show' :closeOnClickOverlay='false'>
+
+			<view class="popup_box">
+
+				<view class="title_box rx-bc">
+					<view class="name">周转车 </view>
+					<view>数量: {{sum - count || 0}} </view>
+				</view>
+
+				<u-list @scrolltolower="scrolltolower" class="list_box">
+					<view v-for="(item, index) in newTurnover" :key='index'>
+
+
+						<view class="content_table">
+							<view class="item rx-sc">
+								<view class="rx ww50 ">
+									<view class="lable ww80 rx-cc ">编号</view>
+									<view class="content rx-sc">
+										<view>{{item.code}}</view>
+									</view>
+								</view>
+
+								<view class="rx ww50">
+									<view class="lable rx-cc ww80">名称</view>
+									<view class="content rx-sc">
+										<view>{{item.name}}</view>
+									</view>
+								</view>
+
+							</view>
+						</view>
+
+
+						<view class="content_table2">
+							<view class="head row rx-sc">
+								<view class="item ww10">货位</view>
+								<view class="item ww30">工单编号</view>
+								<view class="item ww35">产品编码</view>
+								<view class="item ww25">数量</view>
+
+							</view>
+
+							<view class="table">
+								<u-list @scrolltolower="scrolltolower" class="z_list">
+									<view class="tr row rx-sc" v-for="(it, idx) in item.extInfo.positionList"
+										:key='idx'>
+										<view class="item ww10">{{it.code}}</view>
+										<view class="item ww30"
+											:class="{'color157': it.workOrderCode === wordItem.code}">
+											{{ it.workOrderCode }}
+										</view>
+										<view class="item ww35"
+											:class="{'color157': it.categoryCode === wordItem.productCode}">
+											{{it.categoryCode}}
+										</view>
+										<view class="item ww25  content_num">
+											<input class="uni-input" v-if='it.isFull == 0'
+												@input="quantInt(index, idx, it)" v-model="it.quantity"
+												type="digit"></input>
+											<text v-else>{{it.quantity}}</text>
+										</view>
+
+
+									</view>
+
+								</u-list>
+
+
+
+
+
+							</view>
+
+
+						</view>
+
+					</view>
+
+
+
+				</u-list>
+
+				<view class="operate_box rx-sc">
+					<u-button size="small" class="u-reset-button" @click="cancel">取消</u-button>
+					<u-button size="small" class="u-reset-button" type="success" @click="save">确定</u-button>
+				</view>
+
+			</view>
+		</u-popup>
+	</view>
+
+
+</template>
+
+<script>
+	import {
+		scanLedger,
+	} from '@/api/pda/workOrder.js'
+	export default {
+		props: {
+
+
+		},
+		data() {
+			return {
+				show: false,
+				wordInfo: {},
+				wordItem: {},
+				newTurnover: [],
+				idx: null,
+
+				sum: 0,
+				count: 0,
+			}
+		},
+		methods: {
+			scrolltolower() {},
+			open(result, wordInfo, newList, wordItem, index) {
+				this.wordInfo = wordInfo
+				this.wordItem = wordItem
+				this.idx = index
+
+
+				this.count = 0
+				this.sum = 0;
+				newList[0].extInfo.positionList.forEach(e => {
+					if (e.check) {
+						this.sum += Number(e.newQuantity);
+					}
+				})
+
+
+
+				let isFals = newList.some(m => m.code == result && m.isOld == 1)
+				if (isFals) {
+					uni.showToast({
+						title: '周转车已存在',
+						icon: 'none'
+					})
+					return false
+				}
+
+				scanLedger(result).then(res => {
+					this.newTurnover = res
+					this.show = true
+				})
+
+
+
+
+
+			},
+
+			quantInt(index, idx, it) {
+				if (it.quantity >= 1) {
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'workOrderCode', this.wordInfo
+						.workOrderCode)
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'categoryCode', this.wordInfo
+						.categoryCode)
+
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'numAdd', true)
+					this.countFn()
+
+				} else {
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'workOrderCode', '')
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'categoryCode', '')
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'quantity', 0)
+					this.$set(this.newTurnover[index].extInfo.positionList[idx], 'numAdd', false)
+					this.countFn()
+				}
+
+
+
+
+
+			},
+
+			countFn() {
+
+
+				this.count = 0;
+				this.newTurnover[0].extInfo.positionList.forEach(e => {
+					if (e.numAdd) {
+
+						this.count += Number(e.quantity);
+					}
+				})
+
+			},
+
+			cancel() {
+				this.show = false
+			},
+
+			save() {
+				if (this.sum - this.count != 0) {
+					uni.showToast({
+						title: '转移数量对应不上',
+						icon: 'none'
+					})
+					return
+				}
+				this.$emit('saveTurn', this.idx, this.newTurnover)
+				this.show = false
+
+			}
+		}
+	}
+</script>
+
+<style lang="scss" scoped>
+	.popup_box {
+		width: 98vw;
+		min-height: 60vh;
+		max-height: 80vh;
+		padding: 16rpx;
+		box-sizing: border-box;
+
+		overflow: hidden;
+		display: flex;
+		flex-direction: column;
+	}
+
+	.title_box {
+		margin-top: 20rpx;
+
+		.name {
+			font-size: 28rpx;
+			font-style: normal;
+			font-weight: 400;
+			color: $theme-color;
+			padding-left: 20rpx;
+
+			position: relative;
+
+			&:before {
+				position: absolute;
+				content: '';
+				left: 0rpx;
+				top: 0rpx;
+				bottom: 0rpx;
+				width: 4rpx;
+				height: 28rpx;
+				background: $theme-color;
+				margin: auto;
+			}
+
+
+		}
+
+		.left {
+			width: 40rpx;
+		}
+
+		.btn_box {
+			padding: 0 18rpx;
+			height: 60rpx;
+			background: $theme-color;
+			font-size: 26rpx;
+			font-style: normal;
+			font-weight: 400;
+			font-size: 24rpx;
+			color: #fff;
+			border-radius: 4rpx;
+
+			.scan {
+				width: 34rpx;
+				height: 34rpx;
+				margin-right: 12rpx;
+
+			}
+
+		}
+
+	}
+
+
+	.content_table {
+		margin-top: 8rpx;
+		width: 100%;
+		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;
+			}
+
+			.ww50 {
+				width: 50%;
+			}
+
+			.content {
+				width: 518rpx;
+				min-height: 64rpx;
+				font-size: 28rpx;
+				line-height: 28rpx;
+				font-style: normal;
+				font-weight: 400;
+				padding: 2rpx 8rpx;
+				box-sizing: border-box;
+				word-wrap: break-word;
+				flex-grow: 1 !important;
+				font-size: 24rpx;
+
+			}
+
+
+			&:last-child {
+				border-bottom: none;
+			}
+		}
+
+
+	}
+
+
+
+	.content_table2 {
+		width: 100%;
+
+
+		.row {
+			width: 100%;
+
+
+			.item {
+
+				color: #404446;
+				font-size: 28rpx;
+				padding-left: 12rpx;
+
+			}
+
+			.color157 {
+				color: $theme-color;
+			}
+
+			.ww20 {
+				width: 20%;
+			}
+
+			.ww35 {
+				width: 35%;
+
+			}
+
+			.ww15 {
+				width: 15%;
+			}
+
+			.ww25 {
+				width: 25%;
+			}
+
+
+			.ww30 {
+				width: 30%;
+			}
+
+			.ww15 {
+				width: 15%;
+			}
+
+
+			.ww10 {
+				width: 10%;
+			}
+		}
+
+		.head {
+			height: 64rpx;
+			background: #F7F9FA;
+			border-top: 2rpx solid #E3E5E5;
+			border-left: 2rpx solid #E3E5E5;
+
+			.item {
+				height: 64rpx;
+				line-height: 64rpx;
+				border-right: 2rpx solid #E3E5E5;
+				box-sizing: border-box;
+			}
+		}
+
+
+
+		.tr {
+			border-top: 2rpx solid #E3E5E5;
+			border-left: 2rpx solid #E3E5E5;
+
+
+			.item {
+				font-size: 24rpx;
+				min-height: 64rpx;
+				display: flex;
+				align-items: center;
+				border-right: 2rpx solid #E3E5E5;
+				box-sizing: border-box;
+				white-space: normal;
+				word-break: break-all;
+
+			}
+
+			&:last-child {
+				border-bottom: 2rpx solid #E3E5E5;
+
+			}
+		}
+	}
+
+
+	.content_num {
+		display: flex;
+		align-items: center;
+		padding: 0 4rpx;
+
+		/deep/ .uni-input-input {
+			border: 2rpx solid #F0F8F2;
+			background: #F0F8F2;
+			color: $theme-color;
+		}
+
+	}
+
+	.check {
+		width: 40rpx;
+		height: 40rpx;
+	}
+
+	.isend {
+		text-decoration: line-through;
+	}
+
+
+	.list_box {
+		flex: 1;
+		overflow: hidden;
+
+
+	}
+
+	.operate_box {
+		padding: 10rpx 160rpx;
+
+		/deep/ .u-button {
+			width: 160rpx;
+		}
+	}
+
+	.z_list {
+		max-height: 500rpx;
+	}
+</style>

+ 1 - 1
pages/pda/turnover/components/turnoverBom.vue

@@ -13,7 +13,7 @@
 					</view>
 					
 					<view  class='title_des' v-if='item.isOld == 0'>
-						转换后周转车
+						转换后周转车
 					</view>
 				</view>
 

+ 203 - 0
pages/pda/turnover/index/quality.vue

@@ -0,0 +1,203 @@
+<template>
+	<view class="content-box">
+		<uni-nav-bar fixed="true" statusBar="true" left-icon="back" :title="title" background-color="#F7F9FA"
+			color="#000" @clickLeft="back"></uni-nav-bar>
+
+		<view class="list_box">
+			<u-list @scrolltolower="scrolltolower">
+				<view class="card_box">
+					<workOrderBom :item='objData' @handleScan='handleWordScan'></workOrderBom>
+
+
+
+
+					<qualityTurnoverBom v-if='objData.turnover && objData.turnover.length != 0' :list='objData.turnover' :wordItem='objData'
+						:newTurnover='objData.newTurnover' @handleScan='handleScan' @refreshList='getList'>
+					</qualityTurnoverBom>
+
+
+
+
+					<view class="operate_box rx-sc">
+						<u-button size="small" class="u-reset-button" type="success"
+							@click="handAdd(objData.workOrderId)">手动添加</u-button>
+						<u-button size="small" class="u-reset-button" type="success"
+							@click="scanIt(objData.workOrderId)">扫一扫</u-button>
+					</view>
+
+				</view>
+			</u-list>
+
+		</view>
+
+
+
+
+	</view>
+</template>
+
+<script>
+	import workOrderBom from '../../feeding/components/workOrderBom.vue'
+	import qualityTurnoverBom from '../components/qualityTurnoverBom.vue'
+
+	import {
+		getVehicle,
+	} from '@/api/pda/workOrder.js'
+
+
+
+
+
+	export default {
+		components: {
+			workOrderBom,
+			qualityTurnoverBom
+		},
+		data() {
+			return {
+				title: '',
+				workOrderId: null,
+				objData: {},
+				taskId: null
+
+
+			}
+		},
+
+		onShow() {
+			uni.$off("setSelectList");
+			uni.$on("setSelectList", (selectList, id) => {
+				let turnover = []
+				selectList.forEach(f => {
+					if (f.rootCategoryLevelId == 7) { // 周转车
+					
+					f.extInfo.positionList.length && f.extInfo.positionList.forEach(o => {
+						o['check'] = false
+						o['isend'] = false
+					})
+					
+						turnover = turnover.concat(f)
+					}
+				})
+				this.$set(this.objData, 'turnover', turnover)
+				this.$forceUpdate()
+
+
+
+			});
+		},
+
+		onLoad(options) {
+			this.title = options.taskName ? options.taskName + '-更换周转车' : '更换周转车'
+			this.workOrderId = options.workOrderId;
+			this.taskId = options.taskId
+			this.taskName = options.taskName
+
+			this.getList()
+
+		},
+
+
+		methods: {
+			scrolltolower() {},
+
+
+
+			getList() {
+				getVehicle({
+					workOrderId: this.workOrderId,
+					taskId: this.taskId
+				}).then(res => {
+
+
+					if (!res.hasOwnProperty('turnover')) {
+						res['turnover'] = []
+					}
+					this.objData = res
+					console.log(this.objData)
+
+				})
+			},
+
+
+
+
+
+
+			handleWordScan(id, type) {
+				uni.showToast({
+					icon: 'none',
+					title: '不支持更换工单'
+				})
+
+
+			},
+
+
+			handleScan(id, type) {
+
+				let _this = this
+				uni.scanCode({
+					success: function(res) {
+						_this.scanData(res.result, type, id)
+					}
+				})
+
+
+			},
+
+
+			handAdd(id) {
+				const storageKey = Date.now() + "";
+				uni.setStorageSync(storageKey, this.objData);
+				uni.navigateTo({
+					url: `/pages/pda/workOrder/search/index?id=${id}&storageKey=${storageKey}&isType=job&taskId=${this.taskId}`
+				})
+			},
+
+
+
+
+
+
+
+		},
+
+	}
+</script>
+
+<style lang="scss" scoped>
+	.content-box {
+		height: 100vh;
+		overflow: hidden;
+		display: flex;
+		flex-direction: column;
+
+	}
+
+	.list_box {
+		flex: 1;
+		overflow: hidden;
+		padding: 4rpx 0;
+
+		.u-list {
+			height: 100% !important;
+		}
+
+		.card_box {
+			padding: 16rpx;
+		}
+
+
+
+	}
+
+
+	.operate_box {
+		padding: 10rpx 160rpx;
+
+		/deep/ .u-button {
+			width: 160rpx;
+		}
+	}
+</style>

+ 0 - 1
pages/pda/warehousing/components/packingBom.vue

@@ -45,7 +45,6 @@
 
 
 
-
 		</view>
 
 

+ 7 - 1
pages/pda/workOrder/extrusionMolding/index.vue

@@ -348,6 +348,12 @@
 						url
 					})
 
+				} else if (type == 'qualityTurnover') {
+					url = '/pages/pda/turnover/index/quality'
+					url += `?workOrderId=${this.info.id}&taskId=${taskId }&taskName=${taskName}`
+					uni.navigateTo({
+						url
+					})
 
 				} else if (type == 'sample') {
 					url = '/pages/pda/sample/index/index'
@@ -393,7 +399,7 @@
 									workOrderId: this.id
 								}
 								skipTask(param).then(res => {
-                                    console.log(res)
+									console.log(res)
 								})
 
 							} else {

+ 0 - 1
pages/pda/workOrder/index/details.vue

@@ -71,7 +71,6 @@
 
 
 
-
 				</view>
 
 

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

@@ -251,9 +251,10 @@
 					this.memoList = (this.storageKey && uni.getStorageSync(this.storageKey)) || []
 				} else if (this.isType == 'job') {
 					let _obj = (this.storageKey && uni.getStorageSync(this.storageKey)) || {}
+		
 					this.memoList = [..._obj.turnover]
 
-				}
+				}