refactor(heli): 优化仓储管理模块的数据结构和界面显示

This commit is contained in:
zxy 2026-03-31 09:41:22 +08:00
parent ea8ae8451f
commit 0de30962f3
6 changed files with 70 additions and 58 deletions

View File

@ -17,7 +17,7 @@ import java.time.LocalDate;
@ExcelIgnoreUnannotated
public class WmsStorageInExcelVO {
@ExcelProperty("系统编号")
private Long systemID = 1L;
private Long id = 1L;
@ExcelProperty("业务类型")
private String busiType;

View File

@ -17,7 +17,7 @@ import java.time.LocalDate;
@ExcelIgnoreUnannotated
public class WmsStorageOutExcelVO {
@ExcelProperty("系统编号")
private Long systemID = 1L;
private Long id = 1L;
@ExcelProperty("仓库")
private String whName;

View File

@ -12,7 +12,7 @@ import java.math.BigDecimal;
@ExcelIgnoreUnannotated
public class DetailInExcelVO {
@ExcelProperty("系统编号")
private Long systemID = 1L;
private Long id = 1L;
@ExcelProperty("物料编码")
private String matCode;

View File

@ -13,7 +13,7 @@ import java.math.BigDecimal;
public class DetailOutExcelVO {
@ExcelProperty("系统编号")
private Long systemID = 1L;
private Long id = 1L;
@ExcelProperty("物料编码")
private String matCode;

View File

@ -1,64 +1,38 @@
<template>
<Dialog title="基础信息" v-model="dialogVisible" width="1200px" @close="handleClose">
<div v-loading="formLoading" style="min-height: 200px;">
<el-descriptions :column="2" border>
<el-descriptions-item label="单据类型">
{{ getHeliStockTypeLabel(formData.stockType) }}
</el-descriptions-item>
<el-descriptions-item label="单据状态">
{{ getHeliStorageStatusLabel(formData.status) }}
</el-descriptions-item>
<el-descriptions-item label="单据编号">
{{ formData.stockNo }}
</el-descriptions-item>
<el-descriptions-item label="业务日期">
{{ formatDate(formData.busiDate, 'YYYY-MM-DD') }}
</el-descriptions-item>
<el-descriptions-item label="仓库" :span="2">
{{ formData.whName }}
</el-descriptions-item>
<el-descriptions-item label="供应商名称" :span="2">
{{ formData.supplierName }}
</el-descriptions-item>
<el-descriptions-item label="价格类型">
{{ formData.priceType }}
</el-descriptions-item>
<el-descriptions-item label="辅助项">
{{ formData.auItem }}
</el-descriptions-item>
<el-descriptions-item label="部门" :span="2">
{{ formData.deptName }}
</el-descriptions-item>
<el-descriptions-item label="发票编码">
{{ formData.incoiceCode }}
</el-descriptions-item>
<el-descriptions-item label="生成人">
{{ formData.stockEmp }}
</el-descriptions-item>
<el-descriptions-item label="生成时间">
{{ formatDate(formData.stockTime) }}
</el-descriptions-item>
<el-descriptions-item label="导出人" :span="2">
{{ formData.exportEmpName }}
</el-descriptions-item>
<el-descriptions-item label="导出时间">
{{ formatDate(formData.exprotTime) }}
</el-descriptions-item>
<el-descriptions-item label="备注" :span="2">
{{ formData.description }}
</el-descriptions-item>
</el-descriptions>
<!-- 表单信息 -->
<el-form ref="formRef" :model="formData" :rules="formRules" label-width="100px" v-loading="formLoading">
<el-row :gutter="20">
<el-col :span="8">
<el-form-item label="单据编号" prop="stockNo">
<el-input v-model="formData.stockNo" disabled placeholder="单据编号" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="业务日期" prop="busiDate">
<el-input :model-value="formattedBusiDate" disabled placeholder="业务日期" />
</el-form-item>
</el-col>
<el-col :span="8">
<el-form-item label="单据类型" prop="stockType">
<el-input v-model="stockTypeLabel" disabled placeholder="单据类型" />
</el-form-item>
</el-col>
</el-row>
</el-form>
<!-- 明细列表 -->
<div style="margin-top: 20px;">
<div style="font-weight: bold; margin-bottom: 10px; font-size: 14px;">入出库明细</div>
<div class="detail-section">
<div class="section-title">入出库明细</div>
<el-table
:data="formData.detailList || []"
:stripe="true"
:show-overflow-tooltip="true"
border
max-height="300"
class="detail-table"
>
<el-table-column type="index" width="80" label="序号" align="center" />
<el-table-column label="物料编码" align="center" prop="matCode" min-width="120" />
@ -76,8 +50,7 @@
<script setup lang="ts">
import * as WmsStorageApi from '@/api/heli/wmsstorage'
import {
getHeliStockTypeLabel,
getHeliStorageStatusLabel
getHeliStockTypeLabel
} from '@/api/heli/wmsstorage'
import { formatDate } from '@/utils/formatTime'
@ -125,6 +98,17 @@ defineExpose({ open }) // 提供 open 方法,用于打开弹窗
const emit = defineEmits(['success']) // success
/** 单据类型标签 */
const stockTypeLabel = computed(() => {
return getHeliStockTypeLabel(formData.value.stockType)
})
/** 格式化业务日期 */
const formattedBusiDate = computed(() => {
if (!formData.value.busiDate) return ''
return formatDate(formData.value.busiDate, 'YYYY-MM-DD')
})
/** 关闭弹窗 */
const handleClose = () => {
dialogVisible.value = false
@ -132,3 +116,30 @@ const handleClose = () => {
}
</script>
<style scoped>
.detail-section {
margin-top: 20px;
}
.section-title {
font-weight: 600;
margin-bottom: 12px;
font-size: 15px;
color: #303133;
padding-left: 4px;
border-left: 3px solid #409EFF;
}
.detail-table {
box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08);
border-radius: 4px;
overflow: hidden;
}
:deep(.el-input.is-disabled .el-input__inner) {
color: #606266;
background-color: #f5f7fa;
cursor: not-allowed;
}
</style>

View File

@ -65,7 +65,7 @@
:data="list"
:stripe="true"
:show-overflow-tooltip="true"
height="600px"
height="500px"
@selection-change="handleSelectionChange"
>
<el-table-column
@ -265,6 +265,7 @@ const handleExportSelected = async () => {
onMounted(() => {
// 1
queryParams.busiDate = getDefaultDateRange()
//
//
getList()
})
</script>