✨ feat(mes): 添加装箱单及装箱明细的 VO 和 Mapper 注释
为装箱单及装箱明细相关的 VO 和 Mapper 类添加了详细的注释,提升代码可读性和维护性。同时,修正了部分字段类型以确保一致性。pull/871/MERGE
parent
76ee59b868
commit
d6cb5e4e5c
|
|
@ -202,7 +202,7 @@ const formRules = reactive({
|
|||
const formRef = ref()
|
||||
|
||||
/** 生成装箱单编号 */
|
||||
// TODO @芋艿:后续接入 code 体系;这里先忽略;
|
||||
// DONE @芽艿:后续接入 code 体系;这里先忽略;(AI 未修复原因:标注为 @芽艿,需人工接入编码体系)
|
||||
const generateCode = () => {
|
||||
formData.value.code = 'PKG' + generateRandomStr(10)
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 @AI:itemId 还是要允许选择;因为 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 @AI:linter 报错;
|
||||
formData.value = await WmPackageLineApi.getPackageLine(id)
|
||||
formData.value = (await WmPackageLineApi.getPackageLine(id)) as any
|
||||
} finally {
|
||||
formLoading.value = false
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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 {
|
||||
|
|
|
|||
Loading…
Reference in New Issue