master
Mr.sun 2 years ago
parent f73954b3e0
commit edeca04d36
  1. 7
      common/http.api.js
  2. 9
      pages.json
  3. 77
      pages/AvgCarry/index.vue
  4. 8
      pages/AvgOrderPkg/index.vue
  5. 9
      pages/index/index.vue
  6. 234
      pages/release/index.scss
  7. 307
      pages/release/index.vue
  8. BIN
      static/icon/shifang.png

@ -87,7 +87,12 @@ const install = (Vue, vm) => {
//AGV搬运 //AGV搬运
AvgCarry:{ AvgCarry:{
moveByAGV:(params = {}) => vm.$u.post('/wms/pick/pda/v2/moveByAGV',params) // moveByAGV:(params = {}) => vm.$u.post('/wms/pick/pda/v2/moveByAGV',params)
queryBillingDByContainerCode:(params = {}) => vm.$u.post('/wms/billing/pda/queryBillingDByContainerCode',params),
//点位
getPointList:(params = {}) => vm.$u.get('/wcs/base/point/list',params),
//呼叫AGV搬运
agvCarry:(params = {}) => vm.$u.post('/wcs/agv/agvCarry',params)
}, },
//入库上架 //入库上架

@ -317,7 +317,14 @@
"navigationBarTitleText": "AGV搬运", "navigationBarTitleText": "AGV搬运",
"navigationBarBackgroundColor": "#228B22" "navigationBarBackgroundColor": "#228B22"
} }
} },
{
"path": "pages/release/index",
"style": {
"navigationBarTitleText": "点位释放",
"navigationBarBackgroundColor": "#228B22"
}
}
], ],
"globalStyle": { "globalStyle": {

@ -4,12 +4,12 @@
<view class="task"> <view class="task">
<span>扫描托盘条码</span> <span>扫描托盘条码</span>
<u-input v-model="dataForm.containerCode" border style="background-color: #ffffff;" <u-input v-model="dataForm.containerCode" border style="background-color: #ffffff;"
placeholder="请输入或输入要搬运的托盘条码" @input="changeCode()"></u-input> placeholder="请输入或输入要搬运的托盘条码" @confirm="changeCode()"></u-input>
<span>搬运起始点位:</span> <span>搬运起始点位:</span>
<u-input v-model="begin" border type="select" placeholder="请选择起始点位" prop="wareHouse" class="u-input" <u-input v-model="begin" border type="select" placeholder="请选择起始点位" prop="wareHouse" class="u-input"
placeholder-style="color:#000000" @click="show = true" /> placeholder-style="color:#000000" @click="show = true" />
<u-select v-model="show" :list="showList" @confirm="confirm" mode="single-column" ></u-select> <u-select v-model="show" :list="pointList" @confirm="confirm" mode="single-column" ></u-select>
</view> </view>
<view class="" style="text-align: center;"> <view class="" style="text-align: center;">
@ -17,9 +17,9 @@
</view> </view>
<view class="task" > <view class="task" >
<span>搬运目标点位:</span> <span>搬运目标点位:</span>
<u-input v-model="end" border type="select" placeholder="请选择目标点位" prop="wareHouse" class="u-input" <u-input v-model="dataForm.endPoint" border type="select" placeholder="请选择目标点位" prop="wareHouse" class="u-input"
placeholder-style="color:#000000" @click="showTwo = true" /> placeholder-style="color:#000000" @click="showTwo = true" />
<u-select v-model="showTwo" :list="showList" @confirm="confirmTwo" mode="single-column"></u-select> <u-select v-model="showTwo" :list="pointList" @confirm="confirmTwo" mode="single-column"></u-select>
</view> </view>
<view class="footer" style="position: absolute;bottom:8%;left: 50%;transform: translateX(-50%);"> <view class="footer" style="position: absolute;bottom:8%;left: 50%;transform: translateX(-50%);">
<u-button type="success" @click="checkOutPick()" style="width: 400rpx;">开始搬运</u-button> <u-button type="success" @click="checkOutPick()" style="width: 400rpx;">开始搬运</u-button>
@ -38,32 +38,79 @@
list:[], list:[],
showList:[], showList:[],
dataForm:{ dataForm:{
containerCode:'' containerCode:'',
} endPoint:'',
},
pointList:[]
} }
}, },
onLoad(){ onLoad(){
// this.getDic() // this.getDic()
this.getList()
this.$u.api.AvgCarry.getPointList().then(res=>{
this.pointList=[]
if(res.code==200){
let dataArry = res.rows;
for (var i = 0; i < dataArry.length; i++) {
var obj = {
value: dataArry[i].pointName,
label: dataArry[i].pointName,
};
this.pointList.push(obj);
console.log(this.pointList);
}
}
})
// this.getList()
}, },
methods:{ methods:{
changeCode() { changeCode() {
this.query = { // this.query = {
pageNum: 1, // pageNum: 1,
pageSize: 10 // pageSize: 10
} // }
// this.getDataList() // this.getDataList()
this.$u.api.AvgCarry.queryBillingDByContainerCode({containerCode:this.dataForm.containerCode}).then(res=>{
this.dataForm.endPoint = res.data
this.pointList = this.pointList.filter(item=>item.value != this.beginValue && item.value != this.dataForm.endPoint)
}
)
}, },
// //
checkOutPick(){ checkOutPick(){
this.$u.api.AvgCarry.moveByAGV({fromLocation:this.begin,toLocation:this.end,containerCode:dataForm.containerCode}).then(res=>{ // this.$u.api.AvgCarry.moveByAGV({fromLocation:this.begin,toLocation:this.end,containerCode:this.dataForm.containerCode}).then(res=>{
// this.$u.toast(res.msg)
// if(res.code==200){
// this.begin=''
// this.end=''
// this.judge()
// }
// }).catch(err=>console.log(err))
this.$u.api.AvgCarry.agvCarry({startPoint:this.begin,toLocation:this.dataForm.endPoint,containerCode:this.dataForm.containerCode}).then(res=>{
this.$u.toast(res.msg) this.$u.toast(res.msg)
if(res.code==200){ if(res.code==200){
this.begin='' this.begin=''
this.end='' this.end=''
this.dataForm.startPoint=''
this.dataForm.containerCode=''
this.judge() this.judge()
this.$u.api.AvgCarry.getPointList().then(res=>{
this.pointList=[]
if(res.code==200){
let dataArry = res.rows;
for (var i = 0; i < dataArry.length; i++) {
var obj = {
value: dataArry[i].pointName,
label: dataArry[i].pointName,
};
this.pointList.push(obj);
}
}
})
} }
}).catch(err=>console.log(err)) }).catch(err=>console.log(err))
}, },
@ -89,7 +136,9 @@
}, },
// //
judge(e){ judge(e){
this.showList = this.list.filter(item=>item.value != this.beginValue && item.value != this.endValue) // console.log(e);
// console.log(this.pointList);
this.pointList = this.pointList.filter(item=>item.value != this.beginValue && item.value != this.endValue)
}, },
confirm(e) { confirm(e) {
this.begin = e[0].label this.begin = e[0].label
@ -97,7 +146,7 @@
this.judge(e) this.judge(e)
}, },
confirmTwo(e) { confirmTwo(e) {
this.end = e[0].label this.dataForm.endPoint= e[0].label
this.endValue = e[0].value this.endValue = e[0].value
this.judge(e) this.judge(e)
}, },

@ -37,17 +37,21 @@
</view> </view>
</view> </view>
<view class="card-content"> <!-- <view class="card-content">
<view class="card-content-item"> <view class="card-content-item">
<text class="item-title">台车编号:</text> <text class="item-title">台车编号:</text>
<text class="item-value">{{item.containerCode}}</text> <text class="item-value">{{item.containerCode}}</text>
</view> </view>
</view> </view> -->
<view class="card-content"> <view class="card-content">
<view class="card-content-item"> <view class="card-content-item">
<text class="item-title">缴库数量:</text> <text class="item-title">缴库数量:</text>
<text class="item-value">{{item.ttQtyRct}}</text> <text class="item-value">{{item.ttQtyRct}}</text>
</view>
<view class="card-content-item">
<text class="item-title">缴库数量:</text>
<text class="item-value">{{item.ttQtyRct}}</text>
</view> </view>
</view> </view>

@ -35,6 +35,10 @@
<image class="in-img" src="../../static/icon/10.png" alt=""> <image class="in-img" src="../../static/icon/10.png" alt="">
<view class="wk-text">盘点计划</view> <view class="wk-text">盘点计划</view>
</u-grid-item> </u-grid-item>
<u-grid-item @click="PagerJump(10016)">
<image class="in-img" src="../../static/icon/shifang.png" alt="">
<view class="wk-text">点位释放</view>
</u-grid-item>
<!-- <u-grid-item @click="PagerJump(10076)"> <!-- <u-grid-item @click="PagerJump(10076)">
<image class="in-img" src="../../static/icon/icon_94vo0bbzuhq/ruku.png" alt=""> <image class="in-img" src="../../static/icon/icon_94vo0bbzuhq/ruku.png" alt="">
<view class="wk-text">人工入库</view> <view class="wk-text">人工入库</view>
@ -276,6 +280,11 @@
url: 'pages/payInto/index', url: 'pages/payInto/index',
type: 'navigateTo', type: 'navigateTo',
}) })
}else if(this.PagerJumpType === 10016){//
this.$u.route({
url: 'pages/release/index',
type: 'navigateTo',
})
} }
}, },
} }

@ -0,0 +1,234 @@
.sh-content {
padding: 25rpx;
background-color: #fff;
display: flex;
flex-direction: column;
.u-form-item {
padding: 5rpx 0px;
}
.u-input__input {
background-color: #ffffff;
}
.sh-search {
display: flex;
padding: 10rpx 20rpx;
flex:60px;
// background-color: #F2F2F2;
.sh-form {
width: 100%;
}
.sh-sub-search {
display: flex;
align-items: center;
padding: 15rpx 0 15rpx 15rpx;
.sh-search-button {
height: 100%;
}
}
}
.all-card{
display: flex;
flex-direction:column;
height: 340px;
flex: 340px;
overflow: auto;
.sh-card {
// background-color: red;
margin-top: 16rpx;
// padding: 20rpx 0rpx;
border: 0.5px solid #797979;
border-radius: 20rpx;
line-height: 60rpx;
.sh-card-title {
display: flex;
flex-direction: column;
position: relative;
padding: 0 20px;
background-color: #f2f2f2;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
.sh-button{
position: absolute;
width: 38px;
height: 28px;
line-height: 28px;
border-radius: 50%;
top: 0;
right: 0;
}
.receipt-number {
display: flex;
.receipt-number-title {
color: #333333;
font-size: 24rpx;
}
.receipt-number-value {
color: #333333;
font-size: 28rpx;
font-weight: 600;
margin-left: 20rpx;
}
}
}
.sh-card-title-two{
display: flex;
flex-direction: column;
padding: 0 20px;
background-color: #d7d7d7;
border-top-left-radius: 20rpx;
border-top-right-radius: 20rpx;
.receipt-number {
display: flex;
.receipt-number-title {
color: #333333;
font-size: 24rpx;
}
.receipt-number-value {
color: #333333;
font-size: 28rpx;
font-weight: 600;
margin-left: 20rpx;
}
}
}
.borderBottom {
border-bottom-left-radius: 20rpx;
border-bottom-right-radius: 20rpx;
}
.sh-card-title-border {
border-bottom: 2px dashed #797979;
}
.sh-card-content {
position: relative;
margin: 16rpx 0;
padding: 0rpx 70rpx;
.detail-icon {
position: absolute;
right: 10rpx;
top: 90rpx;
}
.goods-card-content {
display: flex;
justify-content: space-between;
align-items: center;
.goods-card-content-item {
display: flex;
align-items: center;
width: 70%;
.goods-title {
font-size: 28rpx;
color: #555555;
}
.goods-value {
font-size: 28rpx;
color: #666666;
margin-left: 20rpx;
}
}
}
}
.goods-no{
font-weight: bold;
margin-right: 20rpx;
}
.pad-content {
padding-bottom: 16rpx;
}
.card-content {
display: flex;
justify-content: space-between;
align-items: center;
.card-content-item {
width: 90%;
display: flex;
// align-items: center;
// position: relative;
.item-title {
font-size: 22rpx;
color: #555555;
width: 130rpx;
text-align: right;
// right: 0;
}
.item-value {
font-size: 24rpx;
color: #666666;
margin-left: 14rpx; }
}
.card-content-item:first-child{
width: 100%;
}
.sh-bold {
font-weight: bold;
word-break: break-all;
}
}
}
margin-bottom: 100px;
}
// .sh-card:first-child{
// margin-bottom: 50px;
// }
.loadmore-data{
padding-top: 30rpx;
}
.recommend {
text-align: center;
height: 50rpx;
margin-top: 10rpx;
}
.recommend-title {
display: table;
width: 100%;
line-height: 50rpx;
white-space: nowrap;
border-spacing: 2rem 0;
font-size: 30rpx;
color: gray
}
.recommend-title::before, .recommend-title::after {
display: table-cell;
content: "";
width: 50%;
background: linear-gradient(#eee, #eee) repeat-x center;
background-size: 0.1rem 0.1rem;
}
.bottom{
display: flex;
flex: 130px;
position:fixed;
height: 40px;
width: 100%;
bottom:58px;
button{
height: 100%;
margin-top: 20px;
line-height: 40px;
width: 60%;
font-size: 16px;
}
.foot{
position: fixed;
bottom: 15px;
margin-left: 1%;
.size {
transform: scale(0.5,0.5);
font-size: 24px;
}
}
}
}

@ -0,0 +1,307 @@
<template>
<view class="sh-content">
<view class="sh-search">
<u-form labelPosition="left" :model="dataForm" class="sh-form">
<u-form-item prop="barCode">
<!-- <u-input v-model="dataForm.containerCode" border input-align="left" height="70" style="background-color: #ffffff;height: 38px;line-height: 38px;" placeholder="请扫描台车编号"
@confirm="inputQuery()" :focus="firstFocus">
</u-input> -->
<select-lay :options="datalist1" style="width: 92%;margin-left: 2vh; margin-top: 4vh;"
smoldName="ptName" slabel="ptDesc" smodel="ptName" name="name3" svalue="id" @selectitem="queryList"
:value="dataForm.ptName" placeholder="请选择物料编码"> </select-lay>
</u-form-item>
</u-form>
</view>
<!-- <view class="" style="font-size: 36px;margin: 20rpx 20rpx 20rpx 20rpx;">
<text>{{dataForm.containerCode1}}</text>
</view> -->
<view class='recommend'>
<text class='recommend-title'>点位物料信息</text>
</view>
<!-- {{dataList}} -->
<view class="all-card">
<view class="sh-card" v-for="(item, index) in dataList" :keys="item.id" :index="item.id" v-if="dataList.length > 0"
style="border-radius: 20rpx;">
<view class="sh-card-title" style="border-radius: 20rpx;">
<image src="@/static/icon/edit.png" @click="editBtn(index)" style="width: 2.5vh;height: 2.5vh;position: absolute;right: 1vh;margin-top: 1vh;" />
<view class="card-content">
<view class="card-content-item" width="60%" style="margin-top: 1vh;">
<text class="item-title" >物料编号:</text>
<text class="item-value">{{item.ttPart}}</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}}</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">
<view class="card-content-item">
<text class="item-title">缴库数量:</text>
<text class="item-value">{{item.ttQtyRct}}</text>
</view>
<view class="card-content-item">
<text class="item-title">缴库数量:</text>
<text class="item-value">{{item.ttQtyRct}}</text>
</view>
</view>
</view>
<u-popup v-model="show" width='90%' height="220px" :mask-close-able="false" :mask="true" @close="close" mode="center">
<view style="height: 44px;text-align: center;line-height: 44px;font-size: 18px;margin-bottom: 18px;">
<text>数量确认</text>
</view>
<view style="width: 100%;display: flex;align-items: baseline;">
<text style="margin: 0px 20px 0px;">拣货数量:</text> <input v-model="item.ttQtyRct" style="border:1px solid #000;padding-right: 20px;"></u-input>
</view>
<view style="width: 100%; display: flex;margin-top: 40px;font-size: 14px;">
<button style="width: 30%; font-size: 16px;line-height: 44px;" class="btn1" type="default" @click="noEnter()">取消</button>
<button style="width: 30%;font-size: 16px;line-height: 44px;;" type="default" @click="enterUp(item)">确认</button>
</view>
</u-popup>
</view>
</view>
<!-- <view class="loadmore-data">
<u-loadmore :status="loadStatus"></u-loadmore>
</view> -->
<!-- <button @click="open">测试</button> -->
<view class="bottom">
<button @click="pickUp()" >完成出库</button>
</view>
</view>
</template>
<script>
export default {
data() {
return {
show:false,
showDiv:false,
queryFlag: '',
dataForm: {
containerCode: null,
keywords: "",
pageNum: 1,
pageSize: 10
},
pickUpObj:{
pointNo:'',
taskCode:'',
taskId:'',
containerId:'',
dtlAddBos:[]
},
dataList: [],
query: {
current: 1,
size: 20
},
isActive:0,
loadStatus: 'loadmore',
dicOptions: [],
timer:0,
//
datalist3: [],
//
tval3: "myvalue1",
firstFocus:false
}
},
onLoad() {
this.loadList();
// this.$u.api.waitOutPlan(this.dataForm).then(res=>console.log(
// this.dataList=res.rows
// ))
// uni.setNavigationBarTitle({
// title:this.$i18nMsg().nav.outStore
// })
// this.$u.api.mouldStorage.queryMouldStorage({pageNum: 1,pageSize:9999,type:'out'}).then(res=>{
// console.log(res);
// })
},
//(100pages.json)
onReachBottom() {
this.loadStatus = "loading";
setTimeout(() => {
this.dataForm.pageNum += 1;
this.loadList();
}, 100);
},
onPullDownRefresh () {
this.list = []
//
this.getData()
setTimeout(() => {
// onLoad()
// this.$u.api.waitOutPlan(this.dataForm).then(res=>this.dataList=res.rows)}
// console.log(111);
//
uni.stopPullDownRefresh ();
}, 800);
},
onReady() {
},
methods: {
getData(){
this.$u.api.waitOutPlan(this.dataForm).then(res=>console.log(
this.dataList=res.rows
))
},
//
btn(index,item){
this.pickUpObj.dtlAddBos=[]
this.isActive = index
this.pickUpObj.pointNo=item.endLocation
this.pickUpObj.taskCode=item.taskCode
this.pickUpObj.taskId=item.taskId
this.pickUpObj.taskType=item.taskType
this.pickUpObj.containerId=item.containerId
this.pickUpObj.dtlAddBos.push({qrCode:item.qrCode} )
},
editBtn(){
this.show=true
},
queryList(index,item){
console.log(index,item);
this.dataForm.containerCode=item.containerCode
},
enterUp(item){
console.log(item);
this.$u.api.replaceCar.upateBusinItemInDataForQty(item).then(res=>{
console.log(res);
})
},
/**搜索框查询*/
inputQuery() {
// if (this.queryFlag !== '') {
// clearTimeout(this.queryFlag);
// this.loadList()
// }
if (this.dataForm.containerCode == '' || this.dataForm.containerCode == null || this.dataForm.containerCode ==
undefined) {
return
}
// this.queryFlag = setTimeout(() => {
this.loadList()
// }, 500)
},
onNavigationBarButtonTap(e){
// console.log(e);
this.$u.route({
url: 'pages/BusinPickup/index2',
type: 'navigateTo',
})
},
close(){
},
noEnter(){
this.show=false
},
loadList() {
//
clearInterval(this.timer)
console.log(this.dataForm);
this.timer =setTimeout(()=>{
//
let flag = true
if(flag===false) return
if (this.dataForm.containerCode == '' || this.dataForm.containerCode == null || this.dataForm.containerCode ==
undefined) {
return
}
flag=false
setTimeout(()=>{
flag = true
this.firstFocus=false
this.$u.api.replaceCar.getBusinItemInData(this.dataForm).then(res=>{
if(!res.data || res.data.length == 0){
// console.log(res);
this.$u.toast("当前托盘模具不存在");
}else if(res.code == '200'){
// console.log(res);
res.data.forEach((item)=>{
item.containerId=item.id
})
this.dataList=res.data
setTimeout(()=>{
this.dataForm.containerCode1=this.dataForm.containerCode
this.dataForm.containerTypeLabel=this.dataForm.containerCode
this.dataForm.containerCode=''
},0)
this.$nextTick(()=>{
this.firstFocus = true
})
}
})
}
,500)
},400)
},
//
enterNext(item,index){
this.$u.route({
url: 'pages/BusinPickup/index1',
type: 'navigateTo',
params:{
containerCode:item.containerCode
}
})
},
//
searchClick() {
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>

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.7 KiB

Loading…
Cancel
Save