style:生产报表-基础信息-查看产品信息字段修改

pull/1/head
黄伟杰 4 weeks ago
parent b865238720
commit 242d933c62

@ -1,20 +1,17 @@
<template> <template>
<el-dialog v-model="dialogVisible" title="产品信息" width="80%" @close="handleClose"> <el-dialog v-model="dialogVisible" title="产品信息" width="900px" @close="handleClose">
<el-table v-loading="loading" :data="productList" :stripe="true" :show-overflow-tooltip="true"> <el-descriptions :column="5" border class="mb-20px" size="small">
<el-table-column label="产品编码" align="center" prop="id" width="120px" /> <el-descriptions-item label="产品编码">{{ productInfo.barCode }}</el-descriptions-item>
<el-table-column label="产品名称" align="center" prop="productName" /> <el-descriptions-item label="产品名称">{{ productInfo.productName }}</el-descriptions-item>
<el-table-column label="单位" align="center" prop="unitName" width="100px" /> <el-descriptions-item label="数量">{{ productInfo.number }}</el-descriptions-item>
<el-table-column label="物料编码" align="center" prop="bomId" width="120px" /> <el-descriptions-item label="单位">{{ productInfo.unitName }}</el-descriptions-item>
<el-table-column label="用量" align="center" prop="usageNumber" width="100px" /> <el-descriptions-item label="规格">{{ productInfo.standard }}</el-descriptions-item>
<el-table-column label="良率%" align="center" prop="yieldRate" width="100px" /> </el-descriptions>
<el-table-column label="备注" align="center" prop="remark" /> <el-table v-loading="loading" :data="materialList" :stripe="true" :show-overflow-tooltip="true">
<el-table-column label="是否启用" align="center" width="100px"> <el-table-column label="原料编码" align="center" prop="productCode" min-width="130" />
<template #default="scope"> <el-table-column label="原料名称" align="center" prop="productName" min-width="150" />
<el-tag :type="scope.row.isEnable ? 'success' : 'danger'"> <el-table-column label="需求量" align="center" prop="usageNumber" width="100" />
{{ scope.row.isEnable ? '是' : '否' }} <el-table-column label="单位" align="center" prop="unitName" width="80" />
</el-tag>
</template>
</el-table-column>
</el-table> </el-table>
</el-dialog> </el-dialog>
</template> </template>
@ -26,29 +23,34 @@ defineOptions({ name: 'ProductInfoDialog' })
const dialogVisible = ref(false) const dialogVisible = ref(false)
const loading = ref(false) const loading = ref(false)
const productList = ref<any[]>([]) const materialList = ref<any[]>([])
const productInfo = ref<any>({})
const open = async (productId: number) => { const open = async (row: any) => {
dialogVisible.value = true dialogVisible.value = true
productInfo.value = row || {}
loading.value = true loading.value = true
try { try {
const data = await BomApi.getBomByProductId(productId) const data = await BomApi.getBomByProductId(row.productId)
productList.value = data || [] materialList.value = data || []
} catch (error) { } catch (error) {
console.error('Failed to fetch product info:', error) console.error('Failed to fetch material list:', error)
productList.value = [] materialList.value = []
} finally { } finally {
loading.value = false loading.value = false
} }
} }
const handleClose = () => { const handleClose = () => {
productList.value = [] materialList.value = []
productInfo.value = {}
} }
defineExpose({ defineExpose({ open })
open
})
</script> </script>
<style scoped></style> <style scoped>
.mb-20px {
margin-bottom: 20px;
}
</style>

@ -72,9 +72,7 @@ watch(
/** 打开产品信息对话框 */ /** 打开产品信息对话框 */
const openProductInfo = (row: any) => { const openProductInfo = (row: any) => {
if (row?.productId) { productInfoDialogRef.value?.open(row)
productInfoDialogRef.value?.open(row.productId)
}
} }
</script> </script>

Loading…
Cancel
Save