Commit 3559ec05 by LJM

上架

parent 589666c3
......@@ -46,17 +46,16 @@
flex-wrap: wrap;
.box {
position: relative;
padding: 15rpx 17rpx 0 17rpx;
padding: 15rpx 17rpx 17rpx 17rpx;
width: 345rpx;
height: 160rpx;
background: #ffffff;
box-shadow: 0px 3rpx 3rpx 0px rgba(198, 199, 204, 0.3);
border-radius: 10rpx;
margin-right: 15rpx;
margin-bottom: 15rpx;
border: 1px solid transparent;
&.box-width {
width: 345rpx;
height: 314rpx;
}
.check-box-icon {
position: absolute;
......@@ -220,7 +219,7 @@
}
.search {
padding-right: 18rpx;
width: 578rpx;
width: 398rpx;
height: 55rpx;
background: #ffffff;
border-radius: 10rpx;
......@@ -236,9 +235,17 @@
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;
}
}
.tip-box {
margin-top: 18rpx;
......
......@@ -116,6 +116,36 @@
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 {
font-size: 20rpx;
......
......@@ -440,7 +440,6 @@
width: 114rpx;
font-size: 16rpx;
color: #919399;
text-align-last: justify;
}
.text {
font-size: 16rpx;
......
......@@ -86,7 +86,7 @@
}
.section {
margin-top: 15rpx;
padding: 18rpx 22rpx 23rpx 22rpx;
padding: 18rpx 22rpx 100px 22rpx;
background-color: #ffffff;
.field-item {
flex-wrap: wrap;
......
......@@ -32,7 +32,7 @@
<text class="iconfont icon-juxing1"></text>
<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="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>
</picker>
......@@ -86,7 +86,7 @@
<text class="check-box-icon" :class="{ curr: filter_list.length > 0 && filter_list.length == filter_id.length }"></text>
<text class="text">全选</text>
</view>
<view class="btn2 row rowCenter verCenter" @click="createTallyReceive()">一键理货</view>
<view class="btn2 row rowCenter verCenter" @click="showDrawer()">一键理货</view>
</view>
<!-- 一键理货弹窗 -->
<uni-drawer ref="showRight" mode="right">
......@@ -107,7 +107,7 @@
<text class="iconfont icon-juxing1"></text>
<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="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>
</picker>
......@@ -300,9 +300,6 @@ export default {
this.indexContainer = e.detail.value;
this.formParams.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 {
});
},
/**
* 一键理货
*/
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() {
......@@ -371,6 +347,7 @@ export default {
});
setTimeout(() => {
this.closeDrawer();
this.getData();
}, 2000);
} else {
uni.showModal({
......@@ -382,6 +359,23 @@ export default {
});
},
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();
},
closeDrawer() {
......
......@@ -32,7 +32,7 @@
<text class="iconfont icon-juxing1"></text>
<picker @change="bindPickerContainChange" :value="indexContainer" :range="tallyContainer" range-key="name" style="width: 100%;height: 100%;">
<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>
</picker>
......@@ -100,7 +100,7 @@
<text class="input-title-t1">*</text>
<text class="input-title-t2">理货数量:</text>
</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 class="row verCenter" style="flex: 0 0 278rpx;margin-top: 38rpx;">
<text class="input-title-p1">待理货数量:</text>
......@@ -230,9 +230,18 @@ export default {
this.indexContainer = e.detail.value;
this.formParams.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) {
......@@ -429,6 +438,8 @@ export default {
return false;
}
var wait_tally_qty = Number(this.detail.wait_tally_qty);
var params = {
container_id: this.searchParams.container_id,
stock_in_id: this.stock_in_id,
......@@ -445,13 +456,34 @@ export default {
this.request(API.createTallyReceive, 'POST', params, true).then(res => {
if (res.code === 0) {
uni.showToast({
title: '理货成功',
icon: 'success'
});
if (wait_tally_qty == this.formParams.tally_qty) {
uni.showToast({
title: '全部理货成功',
icon: 'success'
});
setTimeout(() => {
uni.navigateBack({
delta: 1
});
}, 2000);
} else {
uni.showModal({
title: '提示',
content: '理货成功,点击确定可继续理货',
showCancel: false,
success: res => {
if (res.confirm) {
this.getData();
} else if (res.cancel) {
// 用户点击取消操作
console.log('用户点击取消');
}
}
});
}
} else {
uni.showModal({
itle: '提示',
title: '提示',
content: res.msg,
showCancel: false
});
......
......@@ -102,19 +102,19 @@
<view class="field-item row">
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品编码:</text>
<text class="tt">{{ detail.goods_sn }}</text>
<text class="tt" style="max-width: 100%;">{{ detail.goods_sn }}</text>
</view>
<view class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">货品名称:</text>
<text class="tt">{{ detail.goods_name }}</text>
<text class="tt" style="max-width: 100%;">{{ detail.goods_name }}</text>
</view>
<view class="item row verCenter" style="flex: 0 0 100%;">
<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 class="item row verCenter" style="flex: 0 0 100%;">
<text class="label">标准品牌:</text>
<text class="tt">{{ detail.brand_name }}</text>
<text class="tt" style="max-width: 100%;">{{ detail.brand_name }}</text>
</view>
<view class="item row verCenter">
<text class="label">D / C:</text>
......
......@@ -163,6 +163,30 @@ const API = {
* 标签补打
* */
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