You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
453 lines
12 KiB
453 lines
12 KiB
<template>
|
|
<view class="sh-content">
|
|
|
|
<view class="sh-search">
|
|
|
|
<u-form labelPosition="left" :model="dataForm" class="sh-form global-font">
|
|
<view style="display: flex;line-height:5vh;margin-bottom: 2vh;">
|
|
<text style="font-size: 34rpx;">台车编号:</text><input
|
|
style="width: 72%; text-align: left;padding-left: 15rpx;" class="barNo"
|
|
v-model="dataForm.containerCode" @confirm="inputQuery()" :focus="firstFocus" ref="input"
|
|
type="text" placeholder="请扫描台车编号" :border="true" />
|
|
</view>
|
|
<view style="display: flex;line-height: 65rpx;">
|
|
<text style="font-size: 34rpx;margin-top: 3px;width:78px;">选择物料:</text>
|
|
<select-lay :options="datalist1" style="width: 78%;padding-left: 0.5vh; " smoldName="ptName"
|
|
slabel="ptDesc" smodel="ptName" name="name3" svalue="id" @selectitem="queryList"
|
|
:value="dataForm.ptName" placeholder="请选择物料编码"> </select-lay>
|
|
</view>
|
|
|
|
<view style="display: flex;line-height: 5vh; margin-top: 2.5vh;">
|
|
<text style="font-size: 34rpx;">入库数量:</text><input
|
|
style="width: 72%; text-align: left;padding-left: 15rpx;" v-model="dataForm.rerpQty"
|
|
class="barNo" type="text" placeholder="请输入入库数量" :border="true" />
|
|
</view>
|
|
<u-button @click="handleAdd()" class="golists"><text>加入列表</text> </u-button>
|
|
</u-form>
|
|
<!-- @input="inputQuery()" -->
|
|
</view>
|
|
<view class='recommend'>
|
|
<text class='recommend-title global-font' style="font-size: 32rpx;">物料信息</text>
|
|
</view>
|
|
<!-- {{dataList}} -->
|
|
|
|
<view class="all-card">
|
|
|
|
<view class="sh-card global-font" v-for="(item, index) in dataList" :keys="item.id" :index="item.id"
|
|
v-if="dataList.length > 0" style="border-radius: 20rpx; margin-bottom: 2vh;">
|
|
<!-- <view class="sh-card-title" style="border-radius: 20rpx;">
|
|
<image src="@/static/icon/error.png" @click="delBtn(index)"
|
|
style="width: 3vh;height: 3vh;position: absolute;right: 0.5vh;top:0.5vh" />
|
|
<view class="card-content" style="margin-top: 12px;">
|
|
<view class="card-content-item" width="60%">
|
|
<text class="item-title" >物料编号:</text>
|
|
<text class="item-value">{{item.rerpPart}}</text>
|
|
</view>
|
|
</view>
|
|
<view class="card-content">
|
|
<view class="card-content-item">
|
|
<text class="item-title">物料信息:</text>
|
|
<text class="item-value">{{item.ptName}}{{item.ptDesc?item.ptDesc:item.ptDesc}}</text>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="card-content">
|
|
<view class="card-content-item">
|
|
<text class="item-title">台车编号:</text>
|
|
<text class="item-value">{{item.containerCode}}</text>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="card-content"style="margin-bottom: 12px;">
|
|
<view class="card-content-item">
|
|
<text class="item-title">缴库数量:</text>
|
|
<text class="item-value">{{item.rerpQty}}</text>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
</view> -->
|
|
|
|
<u-card :show-foot="false" :title="index+1+''" margin="30rpx">
|
|
<view class="" slot="body">
|
|
<view class="sh-card-title" style="border-radius: 20rpx;">
|
|
<image src="@/static/icon/error.png" @click="delBtn(index)"
|
|
style="width: 2.5vh;height: 2.5vh;position: absolute;right: 1vh;margin-top: -7.5vh;" />
|
|
<view class="card-content" style="margin-top: 12px;">
|
|
<view class="card-content-item" width="60%">
|
|
<text class="item-title">物料编号:</text>
|
|
<text class="item-value">{{item.rerpPart}}</text>
|
|
</view>
|
|
</view>
|
|
<view class="card-content">
|
|
<view class="card-content-item">
|
|
<text class="item-title">物料信息:</text>
|
|
<text
|
|
class="item-value">{{item.ptName}}{{item.ptDesc?item.ptDesc:item.ptDesc}}</text>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="card-content">
|
|
<view class="card-content-item">
|
|
<text class="item-title">台车编号:</text>
|
|
<text class="item-value">{{item.containerCode}}</text>
|
|
</view>
|
|
|
|
</view>
|
|
<view class="card-content" style="margin-bottom: 12px;">
|
|
<view class="card-content-item">
|
|
<text class="item-title">缴库数量:</text>
|
|
<text class="item-value">{{item.rerpQty}}</text>
|
|
</view>
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
|
|
|
|
</view>
|
|
<view class="" slot="foot">
|
|
<u-icon name="chat-fill" size="34" color="" label="30评论"></u-icon>
|
|
</view>
|
|
</u-card>
|
|
</view>
|
|
<!-- </view>
|
|
|
|
</view> -->
|
|
</view>
|
|
|
|
<!-- direction="bottom" -->
|
|
<view class="fixed-area">
|
|
<!-- 这个区域一直固定在底部 -->
|
|
<view class="bottom">
|
|
<u-modal v-model="show" @confirm="confirm" :show-cancel-button="true" :content="content" ref="uModal"
|
|
:async-close="true"></u-modal>
|
|
<button width="70%" @click="enterInstore()" type="primary"
|
|
style="background-color: #41ABE2;">确认入库</button>
|
|
</view>
|
|
|
|
</view>
|
|
</view>
|
|
</template>
|
|
|
|
<script>
|
|
export default {
|
|
data() {
|
|
return {
|
|
showDiv: false,
|
|
checkFlag: false,
|
|
queryFlag: '',
|
|
dataForm: {
|
|
// pageNum: 1,
|
|
// pageSize: 10,
|
|
ptPart: ''
|
|
},
|
|
dataList: [
|
|
{
|
|
rerpPart: '222222',
|
|
ptName: 'ptName',
|
|
containerCode: '11111',
|
|
rerpQty: '15'
|
|
},
|
|
{
|
|
rerpPart: '222222',
|
|
ptName: 'ptName',
|
|
containerCode: '11111',
|
|
rerpQty: '15'
|
|
},
|
|
{
|
|
rerpPart: '222222',
|
|
ptName: 'ptName',
|
|
containerCode: '11111',
|
|
rerpQty: '15'
|
|
}
|
|
|
|
],
|
|
datalist1: [],
|
|
query: {
|
|
current: 1,
|
|
size: 20
|
|
},
|
|
containerCode: '',
|
|
//入库数量
|
|
rerpQty: '',
|
|
loadStatus: 'loadmore',
|
|
dicOptions: [],
|
|
pickUpObj: {
|
|
isCall: '',
|
|
containerCode: '',
|
|
moldBarcodeList: [],
|
|
|
|
},
|
|
timer: 0,
|
|
moldBarcodeList: [],
|
|
show: false,
|
|
content: '',
|
|
isChecked: false,
|
|
firstFocus: false
|
|
}
|
|
|
|
},
|
|
onReady() {
|
|
// const setTitleText = (rightButton,width='auto') => {
|
|
// let pages = getCurrentPages();
|
|
// let page = pages[pages.length - 1];
|
|
// // #ifdef APP-PLUS
|
|
// let currentWebview = page.$getAppWebview();
|
|
// let titleObj = currentWebview.getStyle().titleNView;
|
|
// if (!titleObj.buttons) {
|
|
// return;
|
|
// }
|
|
// titleObj.buttons[0].text = rightButton;
|
|
// if (rightButton) {
|
|
// titleObj.buttons[0].width = width;
|
|
// }else{
|
|
// titleObj.buttons[0].width = 0;
|
|
// }
|
|
// //修改文字
|
|
// currentWebview.setStyle({
|
|
// titleNView: '你好'
|
|
// });
|
|
// // #endif
|
|
},
|
|
onLoad(options) {
|
|
// console.log(this.$u.api.getItemInInfoByContainerType());
|
|
// this.$u.api.getItemDataInfo().then(res=>{
|
|
// console.log(res);
|
|
// this.datalist=res.data
|
|
// })
|
|
|
|
},
|
|
|
|
//上拉刷新(当数据距离底部100时触发,距离在pages.json配置)
|
|
onReachBottom() {
|
|
this.loadStatus = "loading";
|
|
setTimeout(() => {
|
|
this.dataForm.pageNum += 1;
|
|
// this.loadList();
|
|
}, 100);
|
|
},
|
|
|
|
onPullDownRefresh() {
|
|
this.list = []
|
|
//调用获取数据方法
|
|
// this.getData()
|
|
setTimeout(() => {
|
|
//结束下拉刷新
|
|
uni.stopPullDownRefresh();
|
|
}, 1000);
|
|
},
|
|
|
|
methods: {
|
|
//下拉框
|
|
queryList(index, item) {
|
|
this.dataForm.ptPart = item.ptPart
|
|
this.dataForm.ptName = item.ptName
|
|
this.dataForm.ptDesc = item.ptDesc
|
|
},
|
|
checkboxChange() {
|
|
this.checkFlag = !this.checkFlag
|
|
this.pickUpObj.isCall = (this.checkFlag ? 1 : -1)
|
|
},
|
|
handleContainCode() {
|
|
|
|
},
|
|
/**搜索框查询*/
|
|
inputQuery() {
|
|
if (this.dataForm.containerCode == '' || this.dataForm.containerCode == null || this.dataForm
|
|
.containerCode ==
|
|
undefined) {
|
|
// console.log(222);
|
|
return
|
|
} else {
|
|
this.handleContainerId()
|
|
}
|
|
|
|
},
|
|
//呼叫托盘
|
|
onNavigationBarButtonTap(e) {
|
|
e.text = 111
|
|
this.$u.api.mouldStorage.callEmptyContainer().then(res => {
|
|
if (res.code == 200) {
|
|
this.$u.toast("已呼叫台车");
|
|
}
|
|
})
|
|
|
|
},
|
|
//删除单个
|
|
delBtn(index) {
|
|
this.dataList.splice(index, 1)
|
|
},
|
|
|
|
handleAdd() {
|
|
if (this.dataForm.containerCode == null ||
|
|
this.dataForm.containerCode === '' ||
|
|
this.dataForm.containerCode === 0 ||
|
|
this.dataForm.containerCode === undefined ||
|
|
this.dataForm.containerCode === 'undefined') {
|
|
this.$u.toast("请扫描台车编号");
|
|
return;
|
|
}
|
|
if (this.dataForm.ptName == null ||
|
|
this.dataForm.ptName === '' ||
|
|
this.dataForm.ptName === 0 ||
|
|
this.dataForm.ptName === undefined ||
|
|
this.dataForm.ptName === 'undefined') {
|
|
this.$u.toast("请选择物料");
|
|
return;
|
|
}
|
|
if (this.dataForm.rerpQty == null ||
|
|
this.dataForm.rerpQty === '' ||
|
|
this.dataForm.rerpQty === 0 ||
|
|
this.dataForm.rerpQty === undefined ||
|
|
this.dataForm.rerpQty === 'undefined') {
|
|
this.$u.toast("请输入入库数量");
|
|
return;
|
|
}
|
|
// let {ptPart }=this.dataForm
|
|
if (this.dataList.length > 0) {
|
|
let length = 0
|
|
this.dataList.forEach(item => {
|
|
if (item.rerpPart == this.dataForm.ptPart) {
|
|
this.$u.toast("条码重复,请重新添加");
|
|
} else {
|
|
length++
|
|
}
|
|
})
|
|
if (length == this.dataList.length) {
|
|
this.dataList.push({
|
|
rerpPart: this.dataForm.ptPart,
|
|
ptName: this.dataForm.ptName,
|
|
ptDesc: this.dataForm.ptDesc,
|
|
inType: '1',
|
|
rerpQty: this.dataForm.rerpQty,
|
|
containerCode: this.dataForm.containerCode
|
|
})
|
|
}
|
|
|
|
} else {
|
|
this.dataList.push({
|
|
rerpPart: this.dataForm.ptPart,
|
|
ptName: this.dataForm.ptName,
|
|
ptDesc: this.dataForm.ptDesc,
|
|
inType: '1',
|
|
rerpQty: this.dataForm.rerpQty,
|
|
containerCode: this.dataForm.containerCode
|
|
})
|
|
}
|
|
|
|
},
|
|
handleContainerId() {
|
|
// console.log(this.dataForm
|
|
//防抖
|
|
clearInterval(this.timer)
|
|
this.timer = setTimeout(() => {
|
|
//节流
|
|
let flag = true
|
|
if (flag === false) return
|
|
flag = false
|
|
setTimeout(() => {
|
|
flag = true
|
|
// let id=this.dataForm.containerId
|
|
this.$u.api.getItemInInfoByContainerType({
|
|
containerCode: this.dataForm.containerCode
|
|
}).then(res => {
|
|
this.datalist1 = res.data
|
|
})
|
|
flag = false
|
|
}, 500)
|
|
|
|
}, 400)
|
|
|
|
|
|
},
|
|
|
|
//延时关闭
|
|
confirm() {
|
|
console.log(JSON.stringify(this.dataList));
|
|
setTimeout(() => {
|
|
|
|
this.$u.api.saveInPlanAndItemIn(this.dataList).then(res => {
|
|
if (res.code == '200') {
|
|
this.$u.toast("入库已完成,请重新扫描");
|
|
this.dataForm = {},
|
|
this.dataList = [],
|
|
this.datalist1 = [],
|
|
setTimeout(() => {
|
|
this.$router.go(0)
|
|
}, 500)
|
|
}
|
|
})
|
|
// 3秒后自动关闭
|
|
this.show = false;
|
|
|
|
}, 300)
|
|
},
|
|
|
|
//确认入库
|
|
enterInstore() {
|
|
|
|
if (this.dataList.length < 3) {
|
|
this.content = '确定要入库吗'
|
|
this.show = true;
|
|
} else {
|
|
this.pickUpObj.containerCode = this.containerCode
|
|
setTimeout(() => {
|
|
this.$u.api.saveInPlanAndItemIn(this.dataList).then(res => {
|
|
if (res.code == '200') {
|
|
this.$u.toast("入库已完成,请重新扫描");
|
|
this.dataForm = {},
|
|
this.dataList = [],
|
|
this.datalist1 = [],
|
|
setTimeout(() => {
|
|
this.$router.go(0)
|
|
}, 500)
|
|
}
|
|
})
|
|
}, 100)
|
|
|
|
|
|
}
|
|
|
|
|
|
},
|
|
//异常
|
|
abnormal() {},
|
|
// 任务查看
|
|
searchClick() {
|
|
// this.$u.route({
|
|
// url: 'pages/onShelf/taskView',
|
|
// type: 'navigateTo'
|
|
// })
|
|
this.dataList = [];
|
|
this.dataForm.pageNum = 1;
|
|
this.loadList();
|
|
},
|
|
},
|
|
filters: {
|
|
formatType(value) {
|
|
switch (Number(value)) {
|
|
case 0:
|
|
return "type1";
|
|
case 1:
|
|
return "type2";
|
|
case 2:
|
|
return "type3";
|
|
default:
|
|
return "";
|
|
}
|
|
}
|
|
}
|
|
}
|
|
</script>
|
|
|
|
<style lang="scss">
|
|
@import "index.scss";
|
|
|
|
.footer {
|
|
display: flex;
|
|
padding: 20rpx 0;
|
|
}
|
|
</style>
|
|
|