优化盘点功能

This commit is contained in:
2026-03-11 14:59:00 +08:00
parent 0704be4c9f
commit 73bf350aa0
6 changed files with 72 additions and 29 deletions

View File

@@ -32,7 +32,7 @@ const taskList = (params) => {
// 每次盘点任务的总条目 // 每次盘点任务的总条目
const getTaskCount = (params) => { const getTaskCount = (params) => {
return request('/statistics/count', params, 'GET') return request('/MatchScan/countByWarehouseAndScene', params, 'POST')
} }
// 开始盘点 // 开始盘点
@@ -52,7 +52,8 @@ const stopScan = (params) => {
// 盘点结果 // 盘点结果
const getScanResult = (params) => { const getScanResult = (params) => {
return request('/MatchScan/countList', params, 'GET') // return request('/MatchScan/countList', params, 'GET')
return request('/MatchScan/inventoryList', params, 'POST')
} }
// 手动盘点-开始匹配 // 手动盘点-开始匹配

View File

@@ -16,26 +16,26 @@ const request = (url, data = {}, method = "GET", ContentType = "application/json
time: Date.now(), time: Date.now(),
}; };
if (method !== "GET") { if (method !== "GET") {
if (Object.keys(requestRecords).length == 0) { // if (Object.keys(requestRecords).length == 0) {
requestRecords = requestObj; // requestRecords = requestObj;
} else { // } else {
const s_url = requestRecords.url; // 请求地址 // const s_url = requestRecords.url; // 请求地址
const s_data = requestRecords.data; // 请求数据 // const s_data = requestRecords.data; // 请求数据
const s_time = requestRecords.time; // 请求时间 // const s_time = requestRecords.time; // 请求时间
if ( // if (
s_data === requestObj.data && // s_data === requestObj.data &&
requestObj.time - s_time < INTERCEPT_DURATION && // requestObj.time - s_time < INTERCEPT_DURATION &&
s_url === requestObj.url // s_url === requestObj.url
) { // ) {
uni.showToast({ // uni.showToast({
title: "数据正在处理,请勿重复提交", // title: "数据正在处理,请勿重复提交",
icon: "none", // icon: "none",
duration: 2000, // duration: 2000,
}); // });
return; // return;
} // }
requestRecords = requestObj; // requestRecords = requestObj;
} // }
} }
return new Promise(function (resolve, reject) { return new Promise(function (resolve, reject) {

View File

@@ -32,6 +32,8 @@ const getTotal = () => {
let obj = { let obj = {
taskId: taskInfo.value.id taskId: taskInfo.value.id
} }
obj.sceneId = uni.getStorageSync("taskInfo").sceneId
obj.warehouseCode = uni.getStorageSync("taskInfo").warehouseCode
getTaskCount(obj).then(res => { getTaskCount(obj).then(res => {
scanTotal.value = res.data scanTotal.value = res.data
}) })

View File

@@ -21,7 +21,7 @@
<script setup> <script setup>
import { ref } from "vue"; import { ref } from "vue";
import { onLoad } from "@dcloudio/uni-app"; import { onLoad, onUnload } from "@dcloudio/uni-app";
import { getHandMatch, getTaskCount } from "@/api/inventory" import { getHandMatch, getTaskCount } from "@/api/inventory"
const scanTotal = ref("") const scanTotal = ref("")
@@ -32,6 +32,8 @@ const getTotal = () => {
taskId: taskInfo.value.id, taskId: taskInfo.value.id,
showLoading: true showLoading: true
} }
obj.sceneId = uni.getStorageSync("taskInfo").sceneId
obj.warehouseCode = uni.getStorageSync("taskInfo").warehouseCode
getTaskCount(obj).then(res => { getTaskCount(obj).then(res => {
scanTotal.value = res.data scanTotal.value = res.data
}) })
@@ -78,6 +80,10 @@ onLoad(() => {
getTotal() getTotal()
init() init()
}) })
onUnload(() => {
rfidManager.soundRelease();
})
// 插件初始化 // 插件初始化
const init = function () { const init = function () {
uni.showLoading({ uni.showLoading({

View File

@@ -92,6 +92,7 @@ const goInventory = (item) => {
} }
const goView = (item) => { const goView = (item) => {
uni.setStorageSync('taskInfo', item)
uni.navigateTo({ uni.navigateTo({
url: '/pagesInventory/matchResult?taskId=' + item.id url: '/pagesInventory/matchResult?taskId=' + item.id
}) })

View File

@@ -18,12 +18,18 @@
<view class="list-item" v-for="(item, index) in listArr" :key="index"> <view class="list-item" v-for="(item, index) in listArr" :key="index">
<view class="item-top"> <view class="item-top">
<view class="item-name"><text v-show="queryParams.status !== 2">存放位置</text>{{ item.rkPcode }}</view> <view class="item-name"><text v-show="queryParams.status !== 2">存放位置</text>{{ item.pcode }}</view>
<view class="status1 status" v-if="queryParams.status == 1">未扫到</view> <view class="status1 status" v-if="queryParams.status == 1">未扫到</view>
<view class="status2 status" v-else-if="queryParams.status == 2">无数据</view> <view class="status2 status" v-else-if="queryParams.status == 2">无数据</view>
<view class="status3 status" v-else>正常数据</view> <view class="status3 status" v-else>正常数据</view>
</view> </view>
<view class="item-name" v-show="queryParams.status !== 2">数量{{ item.realQty }}</view> <view class="item-name" v-show="queryParams.status !== 2"><text>数量</text>{{ item.realQty }}</view>
<view class="item-name"><text>订单号</text>{{ item.sapNo }}</view>
<view class="item-name"><text>物料号</text>{{ item.wlNo }}</view>
<view class="item-name"><text>物料描述</text>{{ item.wlMs }}</view>
<view class="item-name"><text>项目号</text>{{ item.xmNo }}</view>
<view class="item-name"><text>项目描述</text>{{ item.xmMs }}</view>
<view class="item-name">供应商名称{{ item.gysMc }}</view>
<!-- <view class="item-name">{{ item.des_pro }}</view> <!-- <view class="item-name">{{ item.des_pro }}</view>
<view class="item-desc" v-show="item.des_mat">{{ item.des_mat }}</view> <view class="item-desc" v-show="item.des_mat">{{ item.des_mat }}</view>
<view class="item-time" v-show="item.tme">{{ item.tme }}</view> --> <view class="item-time" v-show="item.tme">{{ item.tme }}</view> -->
@@ -79,8 +85,28 @@ const tabChange = (e) => {
// 获取列表 // 获取列表
const queryList = (pageNo, pageSize) => { const queryList = (pageNo, pageSize) => {
if (queryParams.value.status !== 0) {
total.value = 0
pagingRef.value.complete([])
return
}
queryParams.value.pageNum = pageNo queryParams.value.pageNum = pageNo
console.log(pageNo, pageSize) console.log(pageNo, pageSize)
// getScanResult(queryParams.value).then(res => {
// console.log(res, "RES")
// // historyData.value = res.data.rows
// // if (queryParams.value.status == 2) {
// // res.data.rows.forEach(e => {
// // e.pcde = e.pcdeGroup
// // });
// // }
// total.value = res.total
// pagingRef.value.complete(res.rows)
// }).catch(res => {
// pagingRef.value.complete(false)
// })
queryParams.value.sceneId = uni.getStorageSync("taskInfo").sceneId
queryParams.value.warehouseCode = uni.getStorageSync("taskInfo").warehouseCode
getScanResult(queryParams.value).then(res => { getScanResult(queryParams.value).then(res => {
console.log(res, "RES") console.log(res, "RES")
// historyData.value = res.data.rows // historyData.value = res.data.rows
@@ -168,10 +194,13 @@ const exportArr = function () {
<style scoped lang="scss"> <style scoped lang="scss">
.container { .container {
padding: 32rpx; padding: 32rpx;
// background: #eee;
.list-item { .list-item {
padding: 20rpx 10rpx; padding: 20rpx 10rpx;
border-bottom: 1rpx solid #eee; // border-bottom: 1rpx solid #eee;
margin-bottom: 30rpx;
background: #eee;
border-radius: 10rpx;
.item-top { .item-top {
display: flex; display: flex;
@@ -197,9 +226,13 @@ const exportArr = function () {
} }
.item-name { .item-name {
font-size: 32rpx; font-size: 28rpx;
color: #3b4144; color: #333;
font-weight: 400; font-weight: 400;
line-height: 50rpx;
text{
color: #666;
}
} }
.item-desc { .item-desc {