| | |
| | | <el-descriptions :column="3" |
| | | border> |
| | | <el-descriptions-item label="生产订单号">{{ detailData.npsNo || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="班组">{{ detailData.schedule || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="班组"><el-tag :type="detailData.schedule == '白班' ? 'primary' : 'warning'">{{ detailData.schedule || '-' }}</el-tag></el-descriptions-item> |
| | | <el-descriptions-item label="岗位人员">{{ detailData.postName || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="产品编码">{{ detailData.materialCode || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="产品名称">{{ detailData.productName || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="规格">{{ detailData.model || '-' }}</el-descriptions-item> |
| | | <el-descriptions-item label="合格数量">{{ detailData.qualifiedQuantity || 0 }} 方</el-descriptions-item> |
| | | <el-descriptions-item label="不合格数量">{{ detailData.unqualifiedQuantity || 0 }} 方</el-descriptions-item> |
| | | <el-descriptions-item label="总数量">{{ detailData.quantity || 0 }} 方</el-descriptions-item> |
| | | <el-descriptions-item label="合格数量"><span class="num2">{{ detailData.qualifiedQuantity || 0 }}</span> <span class="unit">方</span></el-descriptions-item> |
| | | <el-descriptions-item label="不合格数量"><span class="num3">{{ detailData.unqualifiedQuantity || 0 }}</span> <span class="unit">方</span></el-descriptions-item> |
| | | <el-descriptions-item label="总数量"><span class="num1">{{ detailData.quantity || 0 }}</span> <span class="unit">方</span></el-descriptions-item> |
| | | <el-descriptions-item label="报工时间">{{ formatTime(detailData.reportingTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="创建时间">{{ formatTime(detailData.createTime) }}</el-descriptions-item> |
| | | <el-descriptions-item label="更新时间">{{ formatTime(detailData.updateTime) }}</el-descriptions-item> |
| | |
| | | :key="process.id" |
| | | class="process-item"> |
| | | <div class="process-header"> |
| | | <h4 class="process-title">工序 {{ index + 1 }}</h4> |
| | | <h4 class="process-title">{{ process.processName || '-' }}</h4> |
| | | <div class="process-info"> |
| | | <span class="process-label">岗位人员:{{ process.postName || '-' }}</span> |
| | | <span class="process-label">工序ID:{{ process.processId || '-' }}</span> |
| | | <span class="process-label">工序ID:{{ process.processNo || '-' }}</span> |
| | | </div> |
| | | </div> |
| | | <!-- 工序基本信息 --> |
| | |
| | | <!-- BOM信息 --> |
| | | <div class="param-section" |
| | | v-if="getBomList(process.productionProductRouteItemParamDtoList).length > 0"> |
| | | <h5 class="param-title">BOM信息</h5> |
| | | <h5 class="param-title">投入品信息</h5> |
| | | <el-table :data="getBomList(process.productionProductRouteItemParamDtoList)" |
| | | style="width: 100%" |
| | | size="small"> |
| | | <el-table-column prop="paramName" |
| | | label="参数名称" |
| | | label="产品名称" |
| | | min-width="120"></el-table-column> |
| | | <el-table-column prop="model" |
| | | label="规格型号" |
| | | min-width="120"></el-table-column> |
| | | <el-table-column prop="productValue" |
| | | label="产品值" |
| | | label="投入量" |
| | | min-width="100"></el-table-column> |
| | | <el-table-column prop="unit" |
| | | label="单位" |
| | |
| | | <!-- 参数信息 --> |
| | | <div class="param-section" |
| | | v-if="getParamList(process.productionProductRouteItemParamDtoList).length > 0"> |
| | | <h5 class="param-title">参数信息</h5> |
| | | <h5 class="param-title">生产记录</h5> |
| | | <div v-for="(group, sort) in getParamGroups(process.productionProductRouteItemParamDtoList)" |
| | | :key="sort" |
| | | class="param-group"> |
| | | <div class="group-header"> |
| | | <span class="group-title">参数组 {{ sort }}</span> |
| | | <span class="group-title">生产记录组 {{ sort }}</span> |
| | | </div> |
| | | <div class="param-grid"> |
| | | <div v-for="param in group" |
| | |
| | | <div v-for="file in process.fileList" |
| | | :key="file.id" |
| | | class="file-item"> |
| | | <img v-if="file.fileUrl" |
| | | :src="baseUrl + file.fileUrl" |
| | | :alt="file.fileName" |
| | | class="file-image" |
| | | @click="handleFilePreview(file)" /> |
| | | <el-image style="width: 100px; height: 100px" |
| | | v-if="file.fileUrl" |
| | | :src="baseUrl + file.fileUrl" |
| | | :zoom-rate="1.2" |
| | | :max-scale="7" |
| | | :alt="file.fileName" |
| | | :min-scale="0.2" |
| | | :preview-src-list="formatFileList(process.fileList)" |
| | | show-progress |
| | | :initial-index="4" |
| | | fit="cover" /> |
| | | <div class="file-info"> |
| | | <span class="file-name">{{ file.fileName || '-' }}</span> |
| | | </div> |
| | |
| | | const formatFileList = fileList => { |
| | | return fileList.map(file => ({ |
| | | name: file.fileName, |
| | | url: file.fileUrl, |
| | | url: baseUrl + file.fileUrl, |
| | | size: file.fileSize, |
| | | })); |
| | | }; |
| | | |
| | | // 处理文件预览 |
| | | const handleFilePreview = file => { |
| | | // 这里可以实现文件预览逻辑 |
| | | console.log("预览文件:", file); |
| | | if (file.fileUrl) { |
| | | window.open(baseUrl + file.fileUrl, "_blank"); |
| | | } else { |
| | | console.log("文件没有URL,无法预览"); |
| | | } |
| | | }; |
| | | |
| | | // 获取BOM列表 |
| | |
| | | } |
| | | |
| | | .file-image { |
| | | width: 80px; |
| | | height: 80px; |
| | | width: 100px; |
| | | height: 100px; |
| | | object-fit: cover; |
| | | border-radius: 4px; |
| | | cursor: pointer; |
| | | margin-bottom: 8px; |
| | | } |
| | | |
| | | :deep(.el-image) { |
| | | border-radius: 4px; |
| | | overflow: hidden; |
| | | } |
| | | |
| | | :deep(.el-image__inner) { |
| | | transition: transform 0.3s ease; |
| | | } |
| | | |
| | | .file-item:hover :deep(.el-image__inner) { |
| | | transform: scale(1.05); |
| | | } |
| | | |
| | | .file-info { |
| | |
| | | padding-bottom: 8px; |
| | | border-bottom: 1px solid #f0f2f5; |
| | | } |
| | | .num1 { |
| | | color: #1107cc; |
| | | font-weight: 600; |
| | | } |
| | | .num2 { |
| | | color: #0fcf25; |
| | | font-weight: 600; |
| | | } |
| | | .num3 { |
| | | color: #d31818; |
| | | font-weight: 600; |
| | | } |
| | | .unit { |
| | | font-size: 12px; |
| | | color: #5d5a66; |
| | | } |
| | | |
| | | .group-title { |
| | | font-size: 14px; |