bonus-material-app/src/pages/picking/outbound/details.vue

199 lines
6.6 KiB
Vue
Raw Normal View History

2024-11-19 14:52:39 +08:00
<template>
<!-- 领料出库详情 -->
<view class="page-container">
<uni-row :gutter="24" class="search-form">
<uni-col :span="12">
<view>
<uni-easyinput placeholder="请输入内容" />
</view>
</uni-col>
<uni-col :span="4">
<!-- <view class="search" @click="getTableList()">查询</view> -->
</uni-col>
</uni-row>
<scroll-view scroll-y class="scroll-container">
2024-11-19 15:09:17 +08:00
<view
v-for="(item, index) in detailsList"
:key="index"
class="table-list-item"
@tap="onCodingItem(item)"
>
2024-11-19 14:52:39 +08:00
<div class="line"></div>
<uni-row :gutter="24">
<uni-col :span="2">{{ index + 1 }}</uni-col>
<uni-col :span="6">物资名称</uni-col>
<uni-col :span="16"
><div class="cont">{{ item.maTypeName }}</div></uni-col
>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">规格型号</uni-col>
<uni-col :span="16"
><div class="cont">{{ item.typeName }}</div></uni-col
>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">预领数量</uni-col>
<uni-col :span="16"
><div class="cont">{{ item.preNum }}</div></uni-col
>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">已领数量</uni-col>
<uni-col :span="16"
><div class="cont">{{ item.alNum }}</div></uni-col
>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">待领数量</uni-col>
<uni-col :span="16">
<div class="cont">{{ item.preNum - item.alNum }}</div>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">单位</uni-col>
<uni-col :span="16">
<div class="cont">{{ item.unitName }}</div>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">管理模式</uni-col>
<uni-col :span="16">
<uni-tag
text="编码"
type="warning"
v-if="item.manageType === 0"
size="small"
/>
<uni-tag
text="数量"
type="success"
v-if="item.manageType === 1"
size="small"
/>
</uni-col>
</uni-row>
<uni-row :gutter="24">
<uni-col :span="2" style="color: transparent">{{ index + 1 }}</uni-col>
<uni-col :span="6">状态</uni-col>
<uni-col :span="16">
<uni-tag
text="未完成"
type="warning"
size="small"
v-if="item.status == 0 || item.status == 1"
/>
<uni-tag
text="已完成"
type="success"
size="small"
v-if="item.status == 2"
/>
</uni-col>
</uni-row>
</view>
</scroll-view>
</view>
</template>
<script setup>
import { ref } from 'vue'
import { getOutboundDetailsAPI } from '@/services/picking/outbound.js'
import { onLoad } from '@dcloudio/uni-app'
const detailsList = ref([])
const query = defineProps() // 获取上级页面传递的路由参数
// 获取列表详情
const getOutboundDetailsData = async () => {
const { data: res } = await getOutboundDetailsAPI(query.id)
detailsList.value = res.leaseApplyDetailsList
console.log('详情数据', res)
}
2024-11-19 15:09:17 +08:00
// 点击跳转出库页面
const onCodingItem = (item) => {
const { status, manageType } = item
if (status == 2) {
uni.showToast({ title: '该物资已完成出库!', icon: 'none' })
return
}
let codingUrl = ''
if (manageType === 0) {
codingUrl = '/pages/picking/outbound/code-outbound' // 编码出库
}
if (manageType === 1) {
codingUrl = '/pages/picking/outbound/num-outbound' // 数量出库
}
uni.navigateTo({ url: codingUrl })
}
2024-11-19 14:52:39 +08:00
// 页面加载完毕
onLoad(() => {
getOutboundDetailsData()
})
</script>
<style lang="scss" scoped>
.page-container {
display: flex;
height: 100%;
padding: 0 15rpx;
flex-direction: column;
background-color: #e8f5fb;
.search-form {
margin: 10rpx 0;
display: flex;
align-items: center;
box-sizing: content-box;
}
.search {
height: 60rpx;
background-color: #3784fb;
text-align: center;
line-height: 60rpx;
color: #fff;
border-radius: 10rpx;
}
.scroll-container {
.table-list-item {
margin-bottom: 20rpx;
padding: 20rpx;
background-color: #fff;
min-height: 300rpx;
border-radius: 10rpx;
box-shadow: 0 2px 4px rgba(0, 0, 0, 0.4);
.title {
display: flex;
justify-content: space-between;
align-items: center;
}
.line {
margin: 20rpx 0;
height: 1px;
background-color: #e8e8e8;
}
}
}
}
// 加载提示文字
.loading-text {
text-align: center;
font-size: 28rpx;
color: #666;
padding: 20rpx 0;
}
</style>