优化货物查询

This commit is contained in:
2024-09-13 14:29:57 +08:00
parent a084f1856c
commit 7a1ecce281

View File

@@ -1,13 +1,27 @@
<template>
<view class="common-nav-container">
<u-search placeholder="请填写零件号或批次号" borderColor="#c8c9cc" v-model.trim="formData.query" bgColor="#f4f4f5"
shape="square" searchIconSize="48" @search="getList()" @custom="getList()" @change="queryChange"></u-search>
<u-search
placeholder="请填写零件号或批次号"
borderColor="#c8c9cc"
v-model.trim="formData.query"
bgColor="#f4f4f5"
shape="square"
searchIconSize="48"
@search="getList()"
@custom="getList()"
@change="queryChange"
></u-search>
<u-list @scrolltolower="scrolltolower" height="580px" :pagingEnabled="true">
<u-list-item v-for="(item, index) in dataList" :key="index">
<u-cell :title="'批次号:'+item.shortPackageCode" :label="'零件号:'+item.partnumber"
:value="'箱数:'+item.packageNumber + '\n零件数:'+item.partnumberNumber" isLink @click="handlercClickItem"
:name="item.shortPackageCode" :rightIconStyle="{fontSize:'24px'}">
</u-cell>
<u-cell
:title="'批次号:' + item.shortPackageCode"
:label="'零件号:' + item.partnumber"
:value="'箱数:' + item.packageNumber + '\n零件数:' + item.partnumberNumber"
isLink
@click="handlercClickItem"
:name="item.shortPackageCode"
:rightIconStyle="{ fontSize: '24px' }"
></u-cell>
</u-list-item>
</u-list>
<!-- <view @click="getList(true)"></view> -->
@@ -51,64 +65,65 @@
</template>
<script>
import * as watchGoodsApi from '@/api/watchGoods/watchGoods.js';
import * as WarehoseApi from '@/api/warehouse/warehose.js';
export default {
data() {
return {
loading: false,
formData: {
pageNum: 1,
pageSize: 20,
query: ''
},
PackageCodeClient: '',
type: 'text',
border: true,
dataList: [],
total: 0,
};
},
onShow() {
this.getList();
},
computed: {
loadingStatus() {
let page = this.formData.pageNum;
let size = this.formData.pageSize;
let total = this.total;
if (this.loading) {
return "loading"
}
if (page * size >= total) {
return "nomore"
} else {
return "loadmore"
}
import * as watchGoodsApi from '@/api/watchGoods/watchGoods.js';
import * as WarehoseApi from '@/api/warehouse/warehose.js';
export default {
data() {
return {
loading: false,
formData: {
pageNum: 1,
pageSize: 20,
query: ''
},
PackageCodeClient: '',
type: 'text',
border: true,
dataList: [],
total: 0
};
},
onShow() {
this.getList();
},
computed: {
loadingStatus() {
let page = this.formData.pageNum;
let size = this.formData.pageSize;
let total = this.total;
if (this.loading) {
return 'loading';
}
},
// mounted() {
// console.log('屏幕宽度', uni.getWindowInfo().screenWidth)
// console.log('可用高度', uni.getWindowInfo().windowHeight)
// },
methods: {
// 搜索
getList(isMore = false) {
this.loading = true;
setTimeout(() => {
this.loading = false;
}, 2000)
if (isMore) {
this.formData.pageNum += 1;
} else {
this.formData.pageNum = 1;
}
const query = this.formData;
if (page * size >= total) {
return 'nomore';
} else {
return 'loadmore';
}
}
},
// mounted() {
// console.log('屏幕宽度', uni.getWindowInfo().screenWidth)
// console.log('可用高度', uni.getWindowInfo().windowHeight)
// },
methods: {
// 搜索
getList(isMore = false) {
this.loading = true;
setTimeout(() => {
this.loading = false;
}, 5000);
if (isMore) {
this.formData.pageNum += 1;
} else {
this.formData.pageNum = 1;
}
const query = this.formData;
uni.$u.throttle(() => {
watchGoodsApi.GetGoodsNowProduction_List(query).then((res) => {
if (res.code === 200) {
console.log(res.data.total,this.formData.pageNum,this.formData.pageSize);
console.log(res.data.total, this.formData.pageNum, this.formData.pageSize);
if (isMore) {
this.dataList.push(...res.data.list)
this.dataList.push(...res.data.list);
} else {
this.dataList = res.data.list;
}
@@ -116,84 +131,85 @@
this.loading = false;
}
});
},
scrolltolower() {
let page = this.formData.pageNum;
let size = this.formData.pageSize;
let total = this.total;
if (page * size < total) {
this.getList(true);
}
},
handlercClickItem(item) {
uni.navigateTo({
url: '/pages/watchGoods/goodsdetail/goodsdetail?shortpatchcode=' + item.name
})
},
// 扫标签码时,自动进行翻译
async queryChange(value) {
if (value === null || value === "") {
return;
}
if (value.length < 40) {
return;
}
let package_code = value;
let resolutionData = {
code: package_code
};
const emitRes = await WarehoseApi.resolutionPackage(resolutionData);
if (emitRes.code !== 200 || emitRes.data === null) {
uni.showModal({
title: '提示',
content: '该箱号数据解析异常!',
showCancel: false,
confirmText: '确定'
});
return;
}
setTimeout(()=>{
this.formData.query = emitRes.data.patchCode;
this.getList();
},100)
}, 500);
},
scrolltolower() {
let page = this.formData.pageNum;
let size = this.formData.pageSize;
let total = this.total;
if (page * size < total) {
this.getList(true);
}
},
handlercClickItem(item) {
uni.navigateTo({
url: '/pages/watchGoods/goodsdetail/goodsdetail?shortpatchcode=' + item.name
});
},
// 扫标签码时,自动进行翻译
async queryChange(value) {
if (value === null || value === '') {
return;
}
if (value.length < 40) {
return;
}
let package_code = value;
let resolutionData = {
code: package_code
};
const emitRes = await WarehoseApi.resolutionPackage(resolutionData);
if (emitRes.code !== 200 || emitRes.data === null) {
uni.showModal({
title: '提示',
content: '该箱号数据解析异常!',
showCancel: false,
confirmText: '确定'
});
return;
}
setTimeout(() => {
this.formData.query = emitRes.data.patchCode;
this.getList();
}, 100);
}
};
}
};
</script>
<style scoped lang="scss">
.card {
background-color: white;
width: 100%;
margin-bottom: 10px;
.card {
background-color: white;
width: 100%;
margin-bottom: 10px;
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
/* 将容器分成三列,每列宽度相等 */
grid-gap: 10px;
/* 设置列之间的间距 */
}
.column {
padding: 20px;
}
.num {
font-weight: 100rpx;
font-size: 1.5rem;
color: #19be6b;
}
.text {
text-align: center;
}
.container {
display: grid;
grid-template-columns: 1fr 1fr 1fr;
/* 将容器分成三列,每列宽度相等 */
grid-gap: 10px;
/* 设置列之间的间距 */
}
.bigtitle {
color: #2979ff;
font-size: 50rpx;
font-weight: 50;
.column {
padding: 20px;
}
</style>
.num {
font-weight: 100rpx;
font-size: 1.5rem;
color: #19be6b;
}
.text {
text-align: center;
}
}
.bigtitle {
color: #2979ff;
font-size: 50rpx;
font-weight: 50;
}
</style>