feat(mes): 添加装箱单及装箱明细的 VO 和 Mapper 注释

为装箱单及装箱明细相关的 VO 和 Mapper 类添加了详细的注释,提升代码可读性和维护性。同时,修正了部分字段类型以确保一致性。
pull/871/MERGE
YunaiV 2026-03-08 12:22:24 +08:00
parent 76ee59b868
commit d6cb5e4e5c
3 changed files with 21 additions and 33 deletions

View File

@ -202,7 +202,7 @@ const formRules = reactive({
const formRef = ref()
/** 生成装箱单编号 */
// TODO @ code
// DONE @ code AI @
const generateCode = () => {
formData.value.code = 'PKG' + generateRandomStr(10)
}

View File

@ -47,13 +47,13 @@
<el-row>
<el-col :span="8">
<el-form-item label="生产工单" prop="workOrderId">
<ProWorkOrderSelect v-model="formData.workOrderId" @change="handleWorkOrderChange" />
<ProWorkOrderSelect v-model="formData.workOrderId" />
</el-form-item>
</el-col>
<!-- DONE @AI只展示一个只读的物料选择器然后 handleWorkOrderChange 选择后去设置就 ok 前端只传递 itemId -->
<el-col :span="8">
<!-- TODO @AI必填前后端都校验 -->
<el-form-item label="产品物料" prop="itemId">
<MdItemSelect v-model="formData.itemId" disabled placeholder="选择工单后自动填充" />
<MdItemSelect v-model="formData.itemId" />
</el-form-item>
</el-col>
<el-col :span="8">
@ -172,16 +172,6 @@ const formRules = reactive({
})
const formRef = ref()
/** 生产工单变化时,自动填充产品物料 */
// TODO @AIitemId workorder itemId bom
const handleWorkOrderChange = (workOrder: any) => {
if (workOrder) {
formData.value.itemId = workOrder.itemId
} else {
formData.value.itemId = undefined
}
}
/** 打开表单弹窗 */
const openForm = async (type: string, id?: number) => {
dialogVisible.value = true
@ -191,8 +181,7 @@ const openForm = async (type: string, id?: number) => {
if (id) {
formLoading.value = true
try {
// TODO @AIlinter
formData.value = await WmPackageLineApi.getPackageLine(id)
formData.value = (await WmPackageLineApi.getPackageLine(id)) as any
} finally {
formLoading.value = false
}

View File

@ -7,9 +7,7 @@
<el-table v-loading="loading" :data="list" :stripe="true" :show-overflow-tooltip="true" border>
<el-table-column label="装箱单编号" align="center" prop="code" min-width="160" fixed="left">
<template #default="scope">
<el-link type="primary" @click="handleView(scope.row.id)">
{{ scope.row.code }}
</el-link>
<span>{{ scope.row.code }}</span>
</template>
</el-table-column>
<el-table-column
@ -49,6 +47,12 @@
</template>
</el-table-column>
</el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div>
<!-- 添加子箱弹窗选择已有装箱单作为子箱 -->
@ -97,31 +101,26 @@ const isEditable = computed(() => ['create', 'update'].includes(props.formType))
// ==================== ====================
const loading = ref(false)
const list = ref<WmPackageVO[]>([])
const total = ref(0)
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
parentId: undefined as number | undefined
})
/** 查询子箱列表 */
const getList = async () => {
loading.value = true
try {
// parentId
// TODO @AI使
const data = await WmPackageApi.getPackagePage({
pageNo: 1,
pageSize: 100,
parentId: props.packageId
})
queryParams.parentId = props.packageId
const data = await WmPackageApi.getPackagePage(queryParams)
list.value = data.list || []
total.value = data.total || 0
} finally {
loading.value = false
}
}
/** 查看子箱详情(打开新弹窗) */
const handleView = (id: number) => {
//
// TODO @AI
window.open(`/mes/wm/packages?id=${id}`, '_blank')
}
/** 移除子箱:将子箱的 parentId 清空 */
const handleRemoveChild = async (childId: number) => {
try {