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() const formRef = ref()
/** 生成装箱单编号 */ /** 生成装箱单编号 */
// TODO @ code // DONE @ code AI @
const generateCode = () => { const generateCode = () => {
formData.value.code = 'PKG' + generateRandomStr(10) formData.value.code = 'PKG' + generateRandomStr(10)
} }

View File

@ -47,13 +47,13 @@
<el-row> <el-row>
<el-col :span="8"> <el-col :span="8">
<el-form-item label="生产工单" prop="workOrderId"> <el-form-item label="生产工单" prop="workOrderId">
<ProWorkOrderSelect v-model="formData.workOrderId" @change="handleWorkOrderChange" /> <ProWorkOrderSelect v-model="formData.workOrderId" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<!-- DONE @AI只展示一个只读的物料选择器然后 handleWorkOrderChange 选择后去设置就 ok 前端只传递 itemId -->
<el-col :span="8"> <el-col :span="8">
<!-- TODO @AI必填前后端都校验 -->
<el-form-item label="产品物料" prop="itemId"> <el-form-item label="产品物料" prop="itemId">
<MdItemSelect v-model="formData.itemId" disabled placeholder="选择工单后自动填充" /> <MdItemSelect v-model="formData.itemId" />
</el-form-item> </el-form-item>
</el-col> </el-col>
<el-col :span="8"> <el-col :span="8">
@ -172,16 +172,6 @@ const formRules = reactive({
}) })
const formRef = ref() 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) => { const openForm = async (type: string, id?: number) => {
dialogVisible.value = true dialogVisible.value = true
@ -191,8 +181,7 @@ const openForm = async (type: string, id?: number) => {
if (id) { if (id) {
formLoading.value = true formLoading.value = true
try { try {
// TODO @AIlinter formData.value = (await WmPackageLineApi.getPackageLine(id)) as any
formData.value = await WmPackageLineApi.getPackageLine(id)
} finally { } finally {
formLoading.value = false 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 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"> <el-table-column label="装箱单编号" align="center" prop="code" min-width="160" fixed="left">
<template #default="scope"> <template #default="scope">
<el-link type="primary" @click="handleView(scope.row.id)"> <span>{{ scope.row.code }}</span>
{{ scope.row.code }}
</el-link>
</template> </template>
</el-table-column> </el-table-column>
<el-table-column <el-table-column
@ -49,6 +47,12 @@
</template> </template>
</el-table-column> </el-table-column>
</el-table> </el-table>
<Pagination
:total="total"
v-model:page="queryParams.pageNo"
v-model:limit="queryParams.pageSize"
@pagination="getList"
/>
</div> </div>
<!-- 添加子箱弹窗选择已有装箱单作为子箱 --> <!-- 添加子箱弹窗选择已有装箱单作为子箱 -->
@ -97,31 +101,26 @@ const isEditable = computed(() => ['create', 'update'].includes(props.formType))
// ==================== ==================== // ==================== ====================
const loading = ref(false) const loading = ref(false)
const list = ref<WmPackageVO[]>([]) const list = ref<WmPackageVO[]>([])
const total = ref(0)
const queryParams = reactive({
pageNo: 1,
pageSize: 10,
parentId: undefined as number | undefined
})
/** 查询子箱列表 */ /** 查询子箱列表 */
const getList = async () => { const getList = async () => {
loading.value = true loading.value = true
try { try {
// parentId queryParams.parentId = props.packageId
// TODO @AI使 const data = await WmPackageApi.getPackagePage(queryParams)
const data = await WmPackageApi.getPackagePage({
pageNo: 1,
pageSize: 100,
parentId: props.packageId
})
list.value = data.list || [] list.value = data.list || []
total.value = data.total || 0
} finally { } finally {
loading.value = false loading.value = false
} }
} }
/** 查看子箱详情(打开新弹窗) */
const handleView = (id: number) => {
//
// TODO @AI
window.open(`/mes/wm/packages?id=${id}`, '_blank')
}
/** 移除子箱:将子箱的 parentId 清空 */ /** 移除子箱:将子箱的 parentId 清空 */
const handleRemoveChild = async (childId: number) => { const handleRemoveChild = async (childId: number) => {
try { try {