Commit 3559ec05 by LJM

上架

parent 589666c3
...@@ -46,17 +46,16 @@ ...@@ -46,17 +46,16 @@
flex-wrap: wrap; flex-wrap: wrap;
.box { .box {
position: relative; position: relative;
padding: 15rpx 17rpx 0 17rpx; padding: 15rpx 17rpx 17rpx 17rpx;
width: 345rpx; width: 345rpx;
height: 160rpx;
background: #ffffff; background: #ffffff;
box-shadow: 0px 3rpx 3rpx 0px rgba(198, 199, 204, 0.3); box-shadow: 0px 3rpx 3rpx 0px rgba(198, 199, 204, 0.3);
border-radius: 10rpx; border-radius: 10rpx;
margin-right: 15rpx; margin-right: 15rpx;
margin-bottom: 15rpx; margin-bottom: 15rpx;
border: 1px solid transparent;
&.box-width { &.box-width {
width: 345rpx; width: 345rpx;
height: 314rpx;
} }
.check-box-icon { .check-box-icon {
position: absolute; position: absolute;
...@@ -220,7 +219,7 @@ ...@@ -220,7 +219,7 @@
} }
.search { .search {
padding-right: 18rpx; padding-right: 18rpx;
width: 578rpx; width: 398rpx;
height: 55rpx; height: 55rpx;
background: #ffffff; background: #ffffff;
border-radius: 10rpx; border-radius: 10rpx;
...@@ -236,9 +235,17 @@ ...@@ -236,9 +235,17 @@
color: #c6c7cc; color: #c6c7cc;
} }
.uni-input { .uni-input {
height: 100%;
font-size: 18rpx; font-size: 18rpx;
color: #484b59; color: #484b59;
} }
.uni-arrow {
width: 14rpx;
height: 9rpx;
background: url('https://img.ichunt.com/images/ichunt/202304/10/e4c72319ad41ce1425f71cc6ec35f111.png') no-repeat center;
background-size: contain;
margin-left: 12rpx;
}
} }
.tip-box { .tip-box {
margin-top: 18rpx; margin-top: 18rpx;
......
...@@ -116,6 +116,36 @@ ...@@ -116,6 +116,36 @@
font-size: 16rpx; font-size: 16rpx;
} }
} }
.search {
padding-right: 18rpx;
width: 398rpx;
height: 55rpx;
background: #ffffff;
border-radius: 10rpx;
border: 1px solid #1969f9;
.icon-juxing1 {
font-size: 30rpx;
color: #919399;
margin-left: 17rpx;
margin-right: 13rpx;
}
.icon-a-juxing11 {
font-size: 30rpx;
color: #c6c7cc;
}
.uni-input {
height: 100%;
font-size: 18rpx;
color: #484b59;
}
.uni-arrow {
width: 14rpx;
height: 9rpx;
background: url('https://img.ichunt.com/images/ichunt/202304/10/e4c72319ad41ce1425f71cc6ec35f111.png') no-repeat center;
background-size: contain;
margin-left: 12rpx;
}
}
} }
.item-tit { .item-tit {
font-size: 20rpx; font-size: 20rpx;
......
...@@ -440,7 +440,6 @@ ...@@ -440,7 +440,6 @@
width: 114rpx; width: 114rpx;
font-size: 16rpx; font-size: 16rpx;
color: #919399; color: #919399;
text-align-last: justify;
} }
.text { .text {
font-size: 16rpx; font-size: 16rpx;
......
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
} }
.section { .section {
margin-top: 15rpx; margin-top: 15rpx;
padding: 18rpx 22rpx 23rpx 22rpx; padding: 18rpx 22rpx 100px 22rpx;
background-color: #ffffff; background-color: #ffffff;
.field-item { .field-item {
flex-wrap: wrap; flex-wrap: wrap;
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<text class="iconfont icon-juxing1"></text> <text class="iconfont icon-juxing1"></text>
<picker @change="bindPickerContainChange($event, 1)" :value="indexContainer" :range="tallyContainer" range-key="name" style="width: 100%;height: 100%;"> <picker @change="bindPickerContainChange($event, 1)" :value="indexContainer" :range="tallyContainer" range-key="name" style="width: 100%;height: 100%;">
<view class="row verCenter bothSide wrap"> <view class="row verCenter bothSide wrap">
<view class="uni-input row verCenter">{{ tallyContainer[indexContainer].name || '请选择' }}</view> <view class="uni-input row verCenter">{{ indexContainer == -1 ? '请选择' : tallyContainer[indexContainer].name }}</view>
<view class="uni-arrow"></view> <view class="uni-arrow"></view>
</view> </view>
</picker> </picker>
...@@ -86,7 +86,7 @@ ...@@ -86,7 +86,7 @@
<text class="check-box-icon" :class="{ curr: filter_list.length > 0 && filter_list.length == filter_id.length }"></text> <text class="check-box-icon" :class="{ curr: filter_list.length > 0 && filter_list.length == filter_id.length }"></text>
<text class="text">全选</text> <text class="text">全选</text>
</view> </view>
<view class="btn2 row rowCenter verCenter" @click="createTallyReceive()">一键理货</view> <view class="btn2 row rowCenter verCenter" @click="showDrawer()">一键理货</view>
</view> </view>
<!-- 一键理货弹窗 --> <!-- 一键理货弹窗 -->
<uni-drawer ref="showRight" mode="right"> <uni-drawer ref="showRight" mode="right">
...@@ -107,7 +107,7 @@ ...@@ -107,7 +107,7 @@
<text class="iconfont icon-juxing1"></text> <text class="iconfont icon-juxing1"></text>
<picker @change="bindPickerContainChange($event, 2)" :value="indexContainer" :range="tallyContainer" :range-key="'name'" style="width: 100%;height: 100%;"> <picker @change="bindPickerContainChange($event, 2)" :value="indexContainer" :range="tallyContainer" :range-key="'name'" style="width: 100%;height: 100%;">
<view class="row verCenter bothSide wrap" style="width: 100%;height: 55rpx;"> <view class="row verCenter bothSide wrap" style="width: 100%;height: 55rpx;">
<view class="uni-input row verCenter">{{ tallyContainer[indexContainer].name }}</view> <view class="uni-input row verCenter">{{ indexContainer == -1 ? '请选择' : tallyContainer[indexContainer].name }}</view>
<view class="uni-arrow"></view> <view class="uni-arrow"></view>
</view> </view>
</picker> </picker>
...@@ -300,9 +300,6 @@ export default { ...@@ -300,9 +300,6 @@ export default {
this.indexContainer = e.detail.value; this.indexContainer = e.detail.value;
this.formParams.container_id = this.tallyContainer[e.detail.value].id; this.formParams.container_id = this.tallyContainer[e.detail.value].id;
this.searchParams.container_id = this.tallyContainer[e.detail.value].id; this.searchParams.container_id = this.tallyContainer[e.detail.value].id;
if (type == 1) {
this.getData();
}
}, },
/** /**
* 获取列表数据 * 获取列表数据
...@@ -336,27 +333,6 @@ export default { ...@@ -336,27 +333,6 @@ export default {
}); });
}, },
/** /**
* 一键理货
*/
createTallyReceive() {
if (this.filter_id.length == 0) {
uni.showToast({
title: '请选择货品',
icon: 'error'
});
return false;
}
if (this.indexContainer == -1) {
uni.showToast({
title: '请选择容器',
icon: 'error'
});
return false;
}
this.formParams.container_id = this.tallyContainer[this.indexContainer].id;
this.showDrawer();
},
/**
* 一键理货提交 * 一键理货提交
*/ */
createTallyReceiveSubmit() { createTallyReceiveSubmit() {
...@@ -371,6 +347,7 @@ export default { ...@@ -371,6 +347,7 @@ export default {
}); });
setTimeout(() => { setTimeout(() => {
this.closeDrawer(); this.closeDrawer();
this.getData();
}, 2000); }, 2000);
} else { } else {
uni.showModal({ uni.showModal({
...@@ -382,6 +359,23 @@ export default { ...@@ -382,6 +359,23 @@ export default {
}); });
}, },
showDrawer() { showDrawer() {
if (this.filter_id.length == 0) {
uni.showToast({
title: '请选择货品',
icon: 'error'
});
return false;
}
if (this.indexContainer == -1) {
uni.showToast({
title: '请选择容器',
icon: 'error'
});
return false;
}
this.formParams.container_id = this.tallyContainer[this.indexContainer].id;
this.image_list = []; //每次打开先清空
this.formParams.tally_remark = ''; //每次打开先清空
this.$refs.showRight.open(); this.$refs.showRight.open();
}, },
closeDrawer() { closeDrawer() {
......
...@@ -32,7 +32,7 @@ ...@@ -32,7 +32,7 @@
<text class="iconfont icon-juxing1"></text> <text class="iconfont icon-juxing1"></text>
<picker @change="bindPickerContainChange" :value="indexContainer" :range="tallyContainer" range-key="name" style="width: 100%;height: 100%;"> <picker @change="bindPickerContainChange" :value="indexContainer" :range="tallyContainer" range-key="name" style="width: 100%;height: 100%;">
<view class="row verCenter bothSide wrap"> <view class="row verCenter bothSide wrap">
<view class="uni-input row verCenter">{{ tallyContainer[indexContainer].name || '请选择' }}</view> <view class="uni-input row verCenter">{{ indexContainer == -1 ? '请选择' : tallyContainer[indexContainer].name }}</view>
<view class="uni-arrow"></view> <view class="uni-arrow"></view>
</view> </view>
</picker> </picker>
...@@ -100,7 +100,7 @@ ...@@ -100,7 +100,7 @@
<text class="input-title-t1">*</text> <text class="input-title-t1">*</text>
<text class="input-title-t2">理货数量:</text> <text class="input-title-t2">理货数量:</text>
</view> </view>
<view class="input-box"><input type="text" class="uni-input" placeholder-style="color:#919399" placeholder="请输入理货数量" v-model="formParams.tally_qty" /></view> <view class="input-box"><input type="number" class="uni-input" placeholder-style="color:#919399" placeholder="请输入理货数量" v-model="formParams.tally_qty" @input="handleInputNumber($event, detail.wait_tally_qty)" /></view>
</view> </view>
<view class="row verCenter" style="flex: 0 0 278rpx;margin-top: 38rpx;"> <view class="row verCenter" style="flex: 0 0 278rpx;margin-top: 38rpx;">
<text class="input-title-p1">待理货数量:</text> <text class="input-title-p1">待理货数量:</text>
...@@ -230,9 +230,18 @@ export default { ...@@ -230,9 +230,18 @@ export default {
this.indexContainer = e.detail.value; this.indexContainer = e.detail.value;
this.formParams.container_id = this.tallyContainer[e.detail.value].id; this.formParams.container_id = this.tallyContainer[e.detail.value].id;
this.searchParams.container_id = this.tallyContainer[e.detail.value].id; this.searchParams.container_id = this.tallyContainer[e.detail.value].id;
this.getData();
}, },
/** /**
* 监听理货数量
*/
handleInputNumber: debounce(function(event, wait_tally_qty) {
var wait_tally_qty = Number(wait_tally_qty);
var val = event.target.value * 1;
if (val > wait_tally_qty) {
this.formParams.tally_qty = wait_tally_qty;
}
}, 500),
/**
* 是否打印 * 是否打印
*/ */
toggle(type) { toggle(type) {
...@@ -429,6 +438,8 @@ export default { ...@@ -429,6 +438,8 @@ export default {
return false; return false;
} }
var wait_tally_qty = Number(this.detail.wait_tally_qty);
var params = { var params = {
container_id: this.searchParams.container_id, container_id: this.searchParams.container_id,
stock_in_id: this.stock_in_id, stock_in_id: this.stock_in_id,
...@@ -445,13 +456,34 @@ export default { ...@@ -445,13 +456,34 @@ export default {
this.request(API.createTallyReceive, 'POST', params, true).then(res => { this.request(API.createTallyReceive, 'POST', params, true).then(res => {
if (res.code === 0) { if (res.code === 0) {
if (wait_tally_qty == this.formParams.tally_qty) {
uni.showToast({ uni.showToast({
title: '理货成功', title: '全部理货成功',
icon: 'success' icon: 'success'
}); });
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 2000);
} else { } else {
uni.showModal({ uni.showModal({
itle: '提示', title: '提示',
content: '理货成功,点击确定可继续理货',
showCancel: false,
success: res => {
if (res.confirm) {
this.getData();
} else if (res.cancel) {
// 用户点击取消操作
console.log('用户点击取消');
}
}
});
}
} else {
uni.showModal({
title: '提示',
content: res.msg, content: res.msg,
showCancel: false showCancel: false
}); });
......
...@@ -102,19 +102,19 @@ ...@@ -102,19 +102,19 @@
<view class="field-item row"> <view class="field-item row">
<view class="item row verCenter" style="flex: 0 0 100%;"> <view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品编码:</text> <text class="label">货品编码:</text>
<text class="tt">{{ detail.goods_sn }}</text> <text class="tt" style="max-width: 100%;">{{ detail.goods_sn }}</text>
</view> </view>
<view class="item row verCenter" style="flex: 0 0 100%;"> <view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品名称:</text> <text class="label">货品名称:</text>
<text class="tt">{{ detail.goods_name }}</text> <text class="tt" style="max-width: 100%;">{{ detail.goods_name }}</text>
</view> </view>
<view class="item row verCenter" style="flex: 0 0 100%;"> <view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">入库批次号:</text> <text class="label">入库批次号:</text>
<text class="tt">{{ detail.stock_in_batch_sn }}</text> <text class="tt" style="max-width: 100%;">{{ detail.stock_in_batch_sn }}</text>
</view> </view>
<view class="item row verCenter" style="flex: 0 0 100%;"> <view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">标准品牌:</text> <text class="label">标准品牌:</text>
<text class="tt">{{ detail.brand_name }}</text> <text class="tt" style="max-width: 100%;">{{ detail.brand_name }}</text>
</view> </view>
<view class="item row verCenter"> <view class="item row verCenter">
<text class="label">D / C:</text> <text class="label">D / C:</text>
......
...@@ -163,6 +163,30 @@ const API = { ...@@ -163,6 +163,30 @@ const API = {
* 标签补打 * 标签补打
* */ * */
latePrint: API_BASE + '/api/label/latePrint', latePrint: API_BASE + '/api/label/latePrint',
/**
* 按货品上架
* */
getPendingShelfByBatchSn: API_BASE + '/api/h5/stockIn/getPendingShelfByBatchSn',
/**
* 按货品上架_操作详情页面
* */
getStockShelfInfoByBatchSn: API_BASE + '/api/h5/stockIn/getStockShelfInfoByBatchSn',
/**
* 按货品上架_详情页上架按钮操作
* */
stockShelfByBatchSnAction: API_BASE + '/api/h5/stockIn/stockShelfByBatchSnAction',
/**
* 一键上架
* */
oneKeyPutawayAction: API_BASE + '/api/h5/stockIn/oneKeyPutawayAction',
/**
* 获取库位
* */
getWhPositionList: API_BASE + '/api/stockIn/stockShelf/getWhPositionList',
/**
* 查询可用上架规则
* */
getWorkingRuleList: API_BASE + '/api/shelf/getWorkingRuleList',
} }
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or sign in to comment