<template>
|
<view>
|
<InOutInfo :info="info" />
|
|
<uni-collapse @change="change" @close="close" @open="open">
|
<uni-collapse-item v-for="(item, index) in wtransferWarehouseList" :key="index">
|
<view class="p30 cY" style="border-bottom: 4rpx solid #f7f7f7;" slot="title">
|
<image src="../../static/chuku_ic_cangku@2x.png" class="img36 mr10" mode=""></image>
|
<view>{{ item.warehouseName }}</view>
|
</view>
|
<view class="p30">
|
<div class="page_dck">
|
<div class="page_dck_title">
|
<div class="page_dck_title_x"></div>
|
<span>待入库物料</span>
|
</div>
|
</div>
|
<div class="page_content" v-for="(item, index) in info.woutboundDetailsWait" :key="index"
|
:name="index">
|
<div class="page_content_title">
|
<div class="page_content_title_top">
|
<span v-if="item.batch">{{ item.materialName + ' | ' + item.materialCode }}</span>
|
<span v-else>{{ item.materialName + ' | ' + item.materialCode }}</span>
|
</div>
|
<div class="page_content_title_bottom">
|
<span class="green" v-if="item.qualityType === 0">合格 <span
|
class="black">/</span> </span>
|
<span class="warning" v-else-if="item.qualityType === 1">不良 <span
|
class="black">/</span> </span>
|
<span class="error" v-else-if="item.qualityType === 2">报废 <span
|
class="black">/</span> </span>
|
<span v-else>- / </span>
|
<span>{{item.procedureName ? item.procedureName : '-'}} / </span>
|
<span>{{item.batch ? item.batch : '-'}}</span>
|
</div>
|
</div>
|
<div class="page_content_list">
|
<div class="page_content_list_item">
|
<div class="page_content_list_item_label">入库货位:</div>
|
<div class="page_content_list_item_nr">
|
{{item.locationName ? item.locationName : '-'}}
|
</div>
|
</div>
|
<div class="page_content_list_items">
|
<div class="page_content_list_item_label">数量:</div>
|
<div class="page_content_list_item_nr">{{item.num ? item.num : '-'}}{{item.unitName}}
|
</div>
|
</div>
|
</div>
|
</div>
|
</view>
|
</uni-collapse-item>
|
</uni-collapse>
|
<div class="page_h"></div>
|
<div class="page_yxwl">
|
<div class="page_yxwl_title">
|
<div class="left">
|
<div class="page_yxwl_title_x"></div>
|
<span>已选择物料</span>
|
</div>
|
|
<div class="right" v-if="isZKD" @click="openxz">
|
<image src="../../static/gongdan_ic_shoudong@2x.png" class="img36" mode=""></image><span>手动入库</span>
|
<!-- <img src="@/assets/icon/gongdan_ic_shoudong@2x.png" alt=""> -->
|
</div>
|
</div>
|
<!-- 入库单(单个仓库) -->
|
<template
|
v-if="route.query.type == 9 && info.woScanMaterialBeanList && info.woScanMaterialBeanList.length > 0">
|
<div class="page_yxwl_list">
|
<div class="page_yxwl_list_item" v-for="(item, index) in info.woScanMaterialBeanList" :key="index">
|
<div class="page_yxwl_list_item_top">
|
<!-- <div class="page_yxwl_list_item_top_left" v-if="item.batch">{{item.materialName}} | {{item.materialCode}}|{{item.batch}}</div>-->
|
<div class="page_yxwl_list_item_top_left">{{item.materialName}} | {{item.materialCode}}
|
</div>
|
</div>
|
<div class="page_yxwl_list_item_sx">
|
<span class="green" v-if="item.qualityType === 0">合格 <span>/</span> </span>
|
<span class="warning" v-else-if="item.qualityType === 1">不良 <span>/</span> </span>
|
<span class="red" v-else-if="item.qualityType === 2">报废 <span>/</span> </span>
|
<span>{{item.procedureName ? item.procedureName : '-'}} <span>/</span> </span>
|
<span>{{item.batch ? item.batch : '-'}}</span>
|
</div>
|
<div class="page_yxwl_list_item_num">
|
<div class="dis">
|
<div class="item">
|
<div class="label">入库货位:</div>
|
<div class="nr">
|
<span>{{item.locationName ? item.locationName : '-'}}</span>
|
</div>
|
</div>
|
<div class="items">
|
<div class="label">数量:</div>
|
<div class="nr">
|
<input type="text" v-model="item.scanNum" placeholder="请输入" />
|
<span>{{item.unitName}}</span>
|
</div>
|
</div>
|
</div>
|
<div class="itemy" v-for="(item1, idx) in item.woutboundRedisCodeBeanList" :key="idx">
|
<div class="label">工装{{item1.scanCode}}:</div>
|
<div class="nr">{{item1.num}}{{item1.unitName}}</div>
|
<div class="dele" @click="dele(item1)">
|
<image src="../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
</template>
|
<!-- 转库单(多个仓库) -->
|
<template v-else-if="route.query.type == 7 && seleMateriaList.length > 0">
|
<!-- <template v-for="(item, index) in info.wtransferWarehouseList" :key="index"> -->
|
<div class="page_yxwl_list">
|
<div class="page_yxwl_list_item" v-for="(item1, idx) in seleMateriaList" :key="idx">
|
<div class="page_yxwl_list_item_top">
|
<!-- <div class="page_yxwl_list_item_top_left" v-if="item1.batch">{{item1.materialName}} | {{item1.materialCode}}|{{item1.batch}}</div>-->
|
<div class="page_yxwl_list_item_top_left">{{item1.materialName}} | {{item1.materialCode}}
|
</div>
|
</div>
|
<div class="page_yxwl_list_item_sx">
|
<span class="green" v-if="item1.qualityType === 0">合格 <span>/</span> </span>
|
<span class="yellow" v-else-if="item1.qualityType === 1">不良 <span>/</span> </span>
|
<span class="red" v-else-if="item1.qualityType === 2">报废 <span>/</span> </span>
|
<span>{{item1.procedureName ? item1.procedureName : '-'}} <span>/</span> </span>
|
<span>{{item1.batch ? item1.batch : '-'}}</span>
|
</div>
|
<div class="page_yxwl_list_item_num">
|
<div class="itemy">
|
<div class="itemy_item">
|
<div class="label">入库货位:</div>
|
<div class="nr">
|
<span>{{item1.locationName}}</span>
|
</div>
|
</div>
|
<div class="itemy_item">
|
<div class="label">数量:</div>
|
<div class="nr">
|
<!-- @input="inputNum(item1)" -->
|
<input type="number" v-model="item1.outActnum" placeholder="请输入" />
|
<span>{{item1.unitName}}</span>
|
</div>
|
</div>
|
<!-- @click="dele()" -->
|
<div class="dele" @click="dele(idx)">
|
<image src="../../static/chuku_ic_delete@2x.png" class="img36" mode=""></image>
|
</div>
|
</div>
|
</div>
|
</div>
|
</div>
|
<!-- </template> -->
|
</template>
|
<div class="page_yxwl_kong" v-else>暂无数据</div>
|
</div>
|
<div class="page_zw"></div>
|
<!-- 提交按钮 -->
|
<div class="page_footer">
|
<div class="page_footer_ck" @click="submit">
|
<span>确认入库</span>
|
</div>
|
</div>
|
<SelectMultipleMaterial ref="selectMultipleMaterial" />
|
</view>
|
</template>
|
|
<script>
|
import InOutInfo from '@/components/InOutInfo.vue'
|
import SelectMultipleMaterial from '@/components/SelectMultipleMaterial.vue'
|
import { QRCodeType } from '@/common/config.js'
|
export default {
|
components: {
|
InOutInfo,
|
SelectMultipleMaterial
|
},
|
data() {
|
return {
|
type: '',
|
isZKD: false,
|
show: false,
|
info: {
|
outPlandate: '2022/02/14',
|
originType: 1,
|
wtransferRedisCodeBeanList: [],
|
remark: 'Vue是前端开发中广泛使用的一个JavaScript框架,它可以让我们更轻松地管理页面的状态、渲染和交互。但是在编写Vue应用时,有时会遇到“SyntaxError: Unexpected token”报错,这个错误提示意味着代码中存在语法错误,JavaScript引擎无法解析,从而导致程序运行失败。本篇文章将介绍常见引起“SyntaxError: Unexpected token”的原因以及解决方法。'
|
},
|
ids: [],
|
wtransferWarehouseList: [{
|
warehouseName: '测试库'
|
}]
|
};
|
},
|
onLoad(option) {
|
this.type = option.type||'ZKD'
|
this.isZKD = this.type==QRCodeType.ZKD
|
// console.log(this.type, QRCodeType.ZKD, this.type==QRCodeType.ZKD);
|
},
|
methods: {
|
change() {},
|
close() {},
|
open() {},
|
openxz() {
|
let arr = []
|
if (this.info.wtransferRedisCodeBeanList.length !== 0) {
|
this.info.wtransferRedisCodeBeanList.forEach(element => {
|
arr.push(element.appliancesId)
|
})
|
this.ids = arr.join(',')
|
} else {
|
this.ids = ''
|
}
|
this.$refs.selectMultipleMaterial.open({})
|
},
|
}
|
}
|
</script>
|
|
<style lang="scss">
|
.page_dck {
|
.page_dck_title {
|
display: flex;
|
align-items: center;
|
|
.page_dck_title_x {
|
width: 8rpx;
|
height: 30rpx;
|
background: #4275FC;
|
border-radius: 2rpx;
|
margin-right: 16rpx;
|
}
|
|
span {
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
}
|
}
|
|
.page_content {
|
margin-top: 36rpx;
|
|
.page_content_title {
|
display: flex;
|
flex-direction: column;
|
margin-bottom: 10rpx;
|
|
.page_content_title_top {
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
|
span {
|
&:nth-child(1) {
|
font-size: 30rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
|
&:nth-child(2) {
|
flex-shrink: 0;
|
font-size: 24rpx;
|
font-weight: 400;
|
color: #333333;
|
|
span {
|
font-size: 24rpx;
|
color: $nav-color;
|
}
|
}
|
}
|
}
|
|
.page_content_title_bottom {
|
.green {
|
color: $nav-stateColor7 !important;
|
|
.black {
|
color: black !important;
|
}
|
}
|
|
.warning {
|
color: $nav-stateColor5 !important;
|
|
.black {
|
color: black !important;
|
}
|
}
|
|
.error {
|
color: $nav-stateColor4 !important;
|
|
.black {
|
color: black !important;
|
}
|
}
|
|
span {
|
font-size: 24rpx;
|
font-weight: 400;
|
color: #666666;
|
}
|
}
|
}
|
|
.lineBorder {
|
border: none !important;
|
padding-bottom: 0 !important;
|
margin-bottom: 24rpx;
|
}
|
|
.page_content_list {
|
width: 100%;
|
display: flex;
|
align-items: center;
|
flex-wrap: wrap;
|
|
&:first-child {
|
margin: 0;
|
}
|
|
&:last-child {
|
border: none;
|
}
|
|
.page_content_list_nums {
|
width: 30%;
|
display: flex;
|
|
.page_content_list_num_label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
}
|
|
.page_content_list_num_nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
|
.page_content_list_num {
|
width: 70%;
|
display: flex;
|
|
.page_content_list_num_label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
}
|
|
.page_content_list_num_nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
|
.page_content_list_items {
|
width: 30%;
|
display: flex;
|
margin-top: 24rpx;
|
|
.page_content_list_item_label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
flex-shrink: 0;
|
}
|
|
.page_content_list_item_nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
|
.page_content_list_item {
|
width: 70%;
|
display: flex;
|
|
.page_content_list_item_label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
flex-shrink: 0;
|
}
|
|
.page_content_list_item_nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
}
|
}
|
|
.page_h {
|
height: 20rpx;
|
}
|
|
.page_yxwl {
|
padding: 30rpx;
|
background: #ffffff;
|
|
.page_yxwl_title {
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
|
.page_yxwl_title_x {
|
width: 8rpx;
|
height: 30rpx;
|
background: #4275FC;
|
border-radius: 2rpx;
|
margin-right: 16rpx;
|
}
|
|
span {
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
|
.left {
|
display: flex;
|
align-items: center;
|
|
.page_yxwl_title_x {
|
width: 8rpx;
|
height: 30rpx;
|
background: #4275FC;
|
border-radius: 2rpx;
|
margin-right: 16rpx;
|
}
|
|
span {
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
}
|
|
.right {
|
display: flex;
|
align-items: center;
|
|
img {
|
width: 28rpx;
|
height: 28rpx;
|
margin-right: 14rpx;
|
}
|
|
span {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
}
|
|
.page_yxwl_list {
|
display: flex;
|
flex-direction: column;
|
padding-bottom: 30rpx;
|
border-bottom: 1rpx solid #ececec;
|
|
&:last-child {
|
margin-bottom: 0;
|
border: none;
|
}
|
|
.page_yxwl_list_item {
|
margin-top: 28rpx;
|
|
.page_yxwl_list_item_top {
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
|
.page_yxwl_list_item_top_left {
|
font-size: 30rpx;
|
font-weight: 500;
|
color: #222222;
|
}
|
}
|
|
.page_yxwl_list_item_sx {
|
display: flex;
|
align-items: center;
|
margin-top: 15rpx;
|
}
|
|
.page_yxwl_list_item_num {
|
display: flex;
|
flex-direction: column;
|
|
// margin-top: 30rpx;
|
&:first-child {
|
margin-top: 0;
|
}
|
|
.dis {
|
display: flex;
|
}
|
|
.itemy {
|
margin-top: 20rpx;
|
width: 100%;
|
display: flex;
|
align-items: center;
|
position: relative;
|
|
.itemy_item {
|
flex: 1;
|
display: flex;
|
align-items: center;
|
|
.label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
flex-shrink: 0;
|
}
|
|
.nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
|
input {
|
width: 100rpx;
|
height: 35rpx;
|
border-radius: 8rpx;
|
border: 1rpx solid #E5E5E5;
|
margin-right: 10rpx;
|
margin-left: 5rpx;
|
}
|
|
span {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
}
|
|
.dele {
|
position: absolute;
|
right: -30rpx;
|
width: 48rpx;
|
height: 48rpx;
|
|
img {
|
width: 100%;
|
height: 100%;
|
}
|
}
|
}
|
|
.items {
|
width: 50%;
|
display: flex;
|
align-items: center;
|
|
.label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
flex-shrink: 0;
|
}
|
|
.nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
|
input {
|
width: 100rpx;
|
height: 40rpx;
|
margin-right: 10rpx;
|
}
|
|
span {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
}
|
|
.item {
|
width: 70%;
|
display: flex;
|
align-items: center;
|
|
.label {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #666666;
|
flex-shrink: 0;
|
}
|
|
.nr {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
|
input {
|
width: 100rpx;
|
height: 40rpx;
|
margin-right: 10rpx;
|
}
|
|
span {
|
font-size: 26rpx;
|
font-weight: 400;
|
color: #222222;
|
}
|
}
|
}
|
}
|
}
|
}
|
|
.page_yxwl_kong {
|
padding: 50rpx 0;
|
font-size: 25rpx;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
}
|
|
.page_zw {
|
height: 160rpx;
|
}
|
|
.page_footer {
|
width: calc(100% - 60rpx);
|
background: #F7F7F7;
|
display: flex;
|
align-items: center;
|
justify-content: space-between;
|
position: fixed;
|
bottom: 0;
|
left: 30rpx;
|
padding-bottom: 68rpx;
|
|
.page_footer_qr {
|
flex: 1;
|
height: 88rpx;
|
background: #fff;
|
box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
|
border-radius: 8rpx;
|
font-size: 32rpx;
|
font-weight: 500;
|
color: $nav-color;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
|
img {
|
width: 30rpx;
|
height: 30rpx;
|
margin-right: 12rpx;
|
}
|
}
|
|
.page_footer_ck {
|
flex: 1;
|
height: 88rpx;
|
background: $nav-color;
|
box-shadow: 0 0 12rpx 0 rgba(0, 0, 0, 0.08);
|
border-radius: 8rpx;
|
font-size: 32rpx;
|
font-weight: 500;
|
color: #FFFFFF;
|
display: flex;
|
align-items: center;
|
justify-content: center;
|
}
|
}
|
</style>
|