This commit is contained in:
2026-03-06 16:50:46 +08:00
commit 0704be4c9f
249 changed files with 46365 additions and 0 deletions

View File

@@ -0,0 +1,224 @@
<template>
<view>
<z-paging ref="pagingRef" class="container" v-model="listArr" :default-page-size="queryParams.pageSize" @query="queryList">
<template #top>
<view style="margin-bottom: 20rpx;display: flex;align-items: center;justify-content: space-between;">
<view>
<text v-show="queryParams.status == 0">当前正常数据</text>
<text v-show="queryParams.status == 1">未扫描到数据库里有数据</text>
<text v-show="queryParams.status == 2">已扫描到数据库里无数据</text>
:{{ total }}
</view>
<!-- <uni-icons @tap="exportArr" type="cloud-download-filled" size="30" style="color: #007aff;"></uni-icons> -->
</view>
<uv-tabs :list="tabList" @change="tabChange"></uv-tabs>
</template>
<view class="list-item" v-for="(item, index) in listArr" :key="index">
<view class="item-top">
<view class="item-name"><text v-show="queryParams.status !== 2">存放位置</text>{{ item.rkPcode }}</view>
<view class="status1 status" v-if="queryParams.status == 1">未扫到</view>
<view class="status2 status" v-else-if="queryParams.status == 2">无数据</view>
<view class="status3 status" v-else>正常数据</view>
</view>
<view class="item-name" v-show="queryParams.status !== 2">数量{{ item.realQty }}</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-time" v-show="item.tme">{{ item.tme }}</view> -->
</view>
</z-paging>
</view>
</template>
<script setup>
import { ref } from "vue";
import { onLoad } from "@dcloudio/uni-app";
import { getScanResult } from "@/api/inventory";
const listArr = ref([])
const pagingRef = ref(null)
// 获取列表
const queryParams = ref({
pageNum: 1,
pageSize: 10,
status: 0,
taskId: ''
})
const total = ref(0)
// const dbExtra = ref(0) // 未扫描到,数据库里有
// const requestExtra = ref(0) // 扫描到,数据库里没有
const current = ref(0) // tab切换
const tabList = ref([
{name: '正常'},
{name: '未扫到'},
{name: '无数据'}
]) // tab切换
// 初始化请求
onLoad((e) => {
console.log(e)
queryParams.value.taskId = e.taskId
// queryParams.value.taskName = "手持08.10"
// 可以在这里进行数据请求、初始化操作等
});
// 切换tab
const tabChange = (e) => {
console.log(e)
queryParams.value.status = e.index
pagingRef.value.reload()
}
// 获取列表
const queryList = (pageNo, pageSize) => {
queryParams.value.pageNum = pageNo
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)
})
}
// 导出
const exportArr = function () {
exportByData(listArr.value).then(res => {
uni.showLoading({
title: '下载中'
})
console.log("数据", res)
uni.downloadFile({
url: res.data,
success: (downloadResult) => {
console.log("downloadResult", downloadResult)
if (downloadResult.statusCode === 200) {
// 保存文件
uni.saveFile({
tempFilePath: downloadResult.tempFilePath,
success: (saveResult) => {
uni.hideLoading();
console.log('文件保存成功,保存路径:', saveResult.savedFilePath);
const oldFilePath = saveResult.savedFilePath;
const fileExtension = oldFilePath.split('.').pop();
// 创建一个Date对象
const now = new Date();
// 获取当前的年、月、日
const year = now.getFullYear();
const month = now.getMonth() + 1; // 月份是从0开始的需要加1
const date = now.getDate();
const hours = now.getHours().toString().padStart(2, '0');
const minutes = now.getMinutes().toString().padStart(2, '0');
const seconds = now.getSeconds().toString().padStart(2, '0');
const newFileName = year + "-" + month + "-" + date + " " + hours + ":" + minutes + ":" + seconds + '_盘点结果.xls'; // 新的文件名
const newFilePath = oldFilePath.replace(/[^\/]*$/, newFileName);
uni.showToast({
icon: 'none',
mask: true,
title: `文件已保存`, //保存路径
duration: 3000,
});
console.log("newFilePath", oldFilePath, newFilePath)
plus.io.resolveLocalFileSystemURL(oldFilePath, entry => {
entry.getParent(_oldFile => {
entry.moveTo(_oldFile, '/' + newFileName, newFilePath => {
console.log('newFilePath', newFilePath.fullPath)
})
})
})
},
fail: (saveError) => {
console.error('文件保存失败:', saveError);
}
});
} else {
console.error('文件下载失败,状态码:', downloadResult.statusCode);
}
},
fail: (downloadError) => {
console.error('文件下载失败:', downloadError);
}
});
})
}
</script>
<style scoped lang="scss">
.container {
padding: 32rpx;
.list-item {
padding: 20rpx 10rpx;
border-bottom: 1rpx solid #eee;
.item-top {
display: flex;
align-items: center;
justify-content: space-between;
.status {
padding: 8rpx 15rpx;
background: #E5E5E5;
border-radius: 10rpx;
font-size: 18rpx;
}
.status1 {
background: #748041;
color: white;
}
.status2 {
background: #88413c;
color: white;
}
}
.item-name {
font-size: 32rpx;
color: #3b4144;
font-weight: 400;
}
.item-desc {
color: #999;
font-size: 28rpx;
font-weight: 400;
}
.item-time {
color: #999;
font-size: 24rpx;
font-weight: 400;
text-align: right;
margin-top: 10rpx;
}
}
.page {
padding: 40rpx 80rpx;
}
}
</style>