Commit 6a8559d8 by LJM

bug

parent 80ee0eaf
......@@ -529,3 +529,94 @@
}
}
}
.batchNotification {
position: relative;
width: 520rpx;
border-radius: 10rpx;
background: #fff;
padding: 70rpx 0 100rpx 50rpx;
.title {
position: absolute;
left: 12rpx;
top: 9rpx;
font-size: 26rpx;
font-weight: bold;
}
.pick_type_val {
position: absolute;
right: 6px;
top: 10rpx;
font-size: 17rpx;
color: #1969f9;
border: 1px solid #f0f0f2;
width: 40rpx;
height: 40rpx;
border-radius: 50%;
}
.p1 {
font-size: 18rpx;
color: #292b33;
margin-bottom: 24rpx;
}
.text {
margin-bottom: 12rpx;
.t1 {
text-align: right;
font-size: 17rpx;
color: #292b33;
white-space: nowrap;
}
.t2 {
font-size: 18rpx;
color: #292b33;
white-space: nowrap;
text-overflow: ellipsis;
overflow: hidden;
}
.t3 {
font-size: 18rpx;
color: #f98119;
}
}
.desc {
font-size: 18rpx;
color: #f98119;
margin: 12rpx 0rpx;
}
.button-group {
position: absolute;
bottom: 0;
left: 0;
right: 0;
width: 100%;
height: 90rpx;
display: flex;
flex-direction: row;
border-top-color: #f5f5f5;
border-top-style: solid;
border-top-width: 1px;
.button-left {
display: flex;
flex: 1;
flex-direction: row;
justify-content: center;
align-items: center;
height: 100%;
font-size: 26rpx;
}
.button-right {
display: flex;
flex: 1;
flex-direction: row;
justify-content: center;
align-items: center;
height: 100%;
border-left-color: #f0f0f0;
border-left-style: solid;
border-left-width: 1px;
font-size: 26rpx;
color: #007aff;
}
}
}
......@@ -81,6 +81,7 @@
</view>
</view>
</view>
<view class="row rowCenter verCenter" v-if="!hasMoreData && page > 1" style="color: #999;font-size: 16rpx;padding: 10px 0;flex: 0 0 100%;font-weight: normal;">--&nbsp;已经到底了&nbsp;--</view>
</view>
<!-- 无数据展示 -->
<view class="no-date column rowCenter verCenter" v-else>
......@@ -91,12 +92,15 @@
</template>
<script>
import { API } from '@/util/api.js';
export default {
import { API } from '@/util/api.js';
export default {
data() {
return {
list: [],
countList: '',
page: 1,
limit: 30,
hasMoreData: true, //是否分页加载
formParams: {
goods_sn: '',
goods_name: '',
......@@ -107,6 +111,13 @@ export default {
}
};
},
onReachBottom() {
if (!this.hasMoreData) {
return;
}
this.page++;
this.getData();
},
onNavigationBarButtonTap(e) {
if (e.index == 0) {
uni.reLaunch({
......@@ -130,11 +141,16 @@ export default {
* 获取列表数据
*/
getData() {
this.request(API.searchStockList, 'POST', this.formParams, true).then(res => {
this.request(API.searchStockList, 'POST', { page: this.page, limit: this.limit, ...this.formParams }, true).then(res => {
if (res.code === 0) {
this.list = res.data.list;
if (res.data.list.length > 0) {
this.hasMoreData = true;
this.list = this.list.concat(res.data.list);
this.countList = res.data.countList;
} else {
this.hasMoreData = false;
}
} else {
uni.showToast({
title: res.msg,
icon: 'error'
......@@ -143,9 +159,9 @@ export default {
});
}
}
};
};
</script>
<style scoped lang="scss">
@import '@/assets/css/immediatelyStockIn/index.scss';
@import '@/assets/css/immediatelyStockIn/index.scss';
</style>
\ No newline at end of file
......@@ -300,7 +300,9 @@
</view>
<view class="form-input" style="margin-bottom: 0;">
<view class="input-title"><text class="input-title-t1">拣货数量:</text></view>
<view class="input-box"><input type="number" class="uni-input" placeholder-style="color:#919399" placeholder="请输入拣货数量" v-model="formParams.pick_qty" @input="handleInputNumber($event, detail.lock_qty - detail.pick_qty)" /></view>
<view class="input-box">
<input type="number" class="uni-input" placeholder-style="color:#919399" placeholder="请输入拣货数量" v-model="formParams.pick_qty" @input="handleInputNumber($event, detail.lock_qty - detail.pick_qty)" />
</view>
</view>
<view class="form-input">
<view class="input-title"><text class="input-title-t1">拣货备注:</text></view>
......@@ -345,7 +347,8 @@
</view>
</scroll-view>
<!-- 拆货打印标签-->
<view class="print row verCenter">
<view class="print row verCenter bothSide">
<view class="row verCenter">
<checkbox-group @change="onCheckboxChange">
<label>
<checkbox value="1" color="#1969f9" style="transform:scale(0.7)" :checked="is_print" />
......@@ -373,6 +376,8 @@
</template>
</view>
</view>
<view style="font-size: 18rpx;color: #F98119;">该货品需拆出部分拣货并重贴标签</view>
</view>
<view class="btn row verCenter bothSide">
<view class="btn1 row rowCenter verCenter" @click="pick(detail.lock_id, formParams.pick_qty, detail.stock_out_item_id)">拣 货</view>
</view>
......@@ -590,6 +595,35 @@
</view>
</view>
</uni-drawer>
<!-- 拆货提醒 -->
<uni-popup ref="message" type="dialog">
<view class="batchNotification column rowCenter verCente">
<view class="title">拆货提醒</view>
<text class="pick_type_val row rowCenter verCenter"></text>
<view class="p1">{{pick_data[0].stock_in_batch_sn}}</view>
<view class="text row verCente">
<text class="t1">&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;号:</text>
<text class="t2">{{pick_data[0].goods_name}}</text>
</view>
<view class="text row verCente">
<text class="t1">标准品牌:</text>
<text class="t2">{{pick_data[0].brand_name}}</text>
</view>
<view class="text row verCente">
<text class="t1">库存数量:</text>
<text class="t2">{{pick_data[0].stock_num}}</text>
</view>
<view class="text row verCente">
<text class="t1">应拣数量:</text>
<text class="t3">{{pick_data[0].lock_qty - pick_data[0].pick_qty}}</text>
</view>
<view class="desc">该货品需拆出部分拣货并重贴标签,建议单个拣货!</view>
<view class="button-group">
<view class="button-left" @click="close()">关闭提醒</view>
<view class="button-right" @click="showDrawer(1, pick_data[0])">单个拣货</view>
</view>
</view>
</uni-popup>
</view>
</template>
......@@ -632,6 +666,9 @@
print_style_index: 1,
print_language: ['中文标签', '英文标签'],
print_language_index: 0,
is_required: false, //若该货品整散标识为“散”货且该出库单据的仓库不为“深圳自营仓”时,则【拣货数量】字段,系统不自动填入
pick_data: [], //拆货数据
is_batchNotification: false,
searchParams: {
stock_out_id: '',
position_name: '',
......@@ -762,6 +799,15 @@
list.forEach((item, index) => {
this.filterChange(index);
});
var filteredList = list.slice(-1).filter(item => item.pick_type_val === '散');
if (filteredList.length > 0) {
this.pick_data = filteredList;
this.is_batchNotification = true;
} else {
this.is_batchNotification = false;
}
} else {
this.is_batchNotification = false;
}
//如果后台有消息返回,就提示
......@@ -783,8 +829,16 @@
return false;
} else {
uni.showToast({
icon: 'success'
icon: 'success',
duration: 500
});
//扫描入库批次号识别物品后,若整散标识为“散”货且该出库单据的仓库不为“深圳自营仓”时,则弹出提醒窗口
setTimeout(() => {
if (this.is_batchNotification) {
this.open();
}
}, 500)
}
this.clearInputAndFocus(); //执行最后再次获取焦点
......@@ -837,6 +891,7 @@
* @param {Object} data
*/
showDrawer(type, data) {
this.close();
if (type == 1) {
//按货品拣货
this.formParams.pick_remark = '';
......@@ -851,6 +906,12 @@
this.is_print = false;
}
//若该货品整散标识为“散”货且该出库单据的仓库不为“深圳自营仓”时,则【拣货数量】字段,系统不自动填入
if (data.pick_type_val == '散' && this.warehouse_id != 9) {
this.is_required = true;
this.formParams.pick_qty = '';
}
} else if (type == 2) {
//按容器拣货
this.formParams.pick_remark = '';
......@@ -903,6 +964,18 @@
this.$refs.showRightPackMultiPick.close();
},
/**
* 拆货提醒打开
*/
open() {
this.$refs.message.open('center')
},
/**
* 拆货提醒关闭
*/
close() {
this.$refs.message.close()
},
/**
* 找出false对应的下标
* @param {Object} arr
* @param {Object} target
......@@ -1082,7 +1155,10 @@
this.searchParams.container_sn = '';
this.input_flag_container_sn = false;
}
this.clearInputAndFocus(); //再次获取焦点
//普通模式下获取焦点
if (!this.is_batch) {
this.clearInputAndFocus();
}
this.getData();
},
/**
......@@ -1189,6 +1265,15 @@
* 按货品拣货提交
*/
pick(lock_id, pick_qty, stock_out_item_id) {
if (this.is_required) {
uni.showModal({
title: '提示',
content: '拣货数量必填',
showCancel: false
});
return false;
}
var num = Number(this.detail.lock_qty) - Number(this.detail.pick_qty); //需求拣货的数量
var pick_qty_num = pick_qty * 1; //真实拣货数量
//拣货图片集合
......@@ -1221,6 +1306,10 @@
this.search_keyword = '';
this.searchParams.stock_in_batch_sn = '';
this.closeDrawer();
//注意这里是前提是入库标签处于输入的情况下
if (this.searchParams.position_name) {
this.clearInputAndFocus(); //再次获取焦点
}
} else {
this.picked_num = Number(this.picked_num) - pick_qty_num;
}
......@@ -1228,7 +1317,7 @@
}, timeoutDuration);
} else {
uni.showModal({
itle: '提示',
title: '提示',
content: res.msg,
showCancel: false
});
......@@ -1270,21 +1359,27 @@
const timeoutDuration = this.is_print ? 4000 : 2000;
setTimeout(() => {
if (flag) {
//清空数据
//批量拣货清空数据
this.history_id = [];
this.filter_id = [];
this.search_keyword = '';
this.searchParams.stock_in_batch_sn = '';
this.is_batch_active = false;
this.closeDrawer();
//注意这里是前提是入库标签处于输入的情况下
if (this.searchParams.position_name) {
this.clearInputAndFocus(); //再次获取焦点
}
} else {
//容器拣货关闭数据
this.closeDrawer();
}
this.getData();
}, timeoutDuration);
} else {
uni.showModal({
itle: '提示',
title: '提示',
content: res.msg,
showCancel: false
});
......@@ -1295,7 +1390,9 @@
* 再次获取焦点
*/
clearInputAndFocus() {
this.input_flag = false; //关闭叉叉
this.input_flag_position_name = false; //关闭叉叉
this.input_flag_stock_in_batch_sn = false; //关闭叉叉
this.is_focus = false;
setTimeout(() => {
this.is_focus = true;
......
......@@ -5,7 +5,7 @@
<view class="time-interval-box row verCenter bothSide">
<view class="row verCenter">
<text class="iconfont icon-juxing4"></text>
<picker mode="date" @change="bindTimeChange(1, $event)">
<picker mode="date" @change="bindTimeChange(1, $event)" :value="searchParams.exec_start_time">
<input type="text" class="uni-input" placeholder="请选择起始时间" placeholder-style="color:#919399" v-model="searchParams.exec_start_time" />
</picker>
</view>
......@@ -160,7 +160,23 @@
import { API } from '@/util/api.js';
import debounce from 'lodash/debounce';
// 获取当前日期
const currentDate = new Date();
// 获取前一个月的日期
const lastMonthDate = new Date(currentDate);
lastMonthDate.setMonth(currentDate.getMonth() - 1);
// 格式化日期为 YYYY-MM-DD
const formatDate = (date) => {
const year = date.getFullYear();
const month = (date.getMonth() + 1).toString().padStart(2, '0');
const day = date.getDate().toString().padStart(2, '0');
return `${year}-${month}-${day}`;
};
export default {
data() {
return {
is_focus: true, //获取焦点动态化
......@@ -175,8 +191,8 @@
search_val: '',
from_position_code: '', //源库位
to_position_code: '', //目的库位
exec_start_time: '', //开始时间
exec_end_time: '' //结束时间
exec_start_time: formatDate(lastMonthDate), //开始时间
exec_end_time: formatDate(currentDate) //结束时间
}
};
},
......
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