| | |
| | | |
| | | <!-- 报工审批详情 --> |
| | | <template v-else-if="row.businessType === 19"> |
| | | <div v-if="formResolved.fields.length" class="report-detail"> |
| | | <div v-if="formResolved.fields.length || reportParamList.length" class="report-detail"> |
| | | <el-divider content-position="left">报工填报内容</el-divider> |
| | | <el-descriptions :column="2" border> |
| | | <el-descriptions v-if="formResolved.fields.length" :column="2" border> |
| | | <el-descriptions-item |
| | | v-for="field in formResolved.fields" |
| | | :key="field.key" |
| | |
| | | {{ formatFieldDisplayValue(field, formResolved.formPayload?.[field.key]) }} |
| | | </el-descriptions-item> |
| | | </el-descriptions> |
| | | <div v-if="reportParamList.length" class="report-param-block"> |
| | | <el-divider content-position="left">报工参数</el-divider> |
| | | <el-table :data="reportParamList" border size="small" style="width: 100%"> |
| | | <el-table-column label="参数名称" prop="paramName" min-width="180" show-overflow-tooltip /> |
| | | <el-table-column label="参数值" prop="inputValue" min-width="180" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ scope.row.inputValue || '—' }} |
| | | </template> |
| | | </el-table-column> |
| | | <el-table-column label="单位" prop="unit" min-width="100" show-overflow-tooltip> |
| | | <template #default="scope"> |
| | | {{ scope.row.unit || '—' }} |
| | | </template> |
| | | </el-table-column> |
| | | </el-table> |
| | | </div> |
| | | </div> |
| | | <el-empty v-else description="暂无报工填报内容" /> |
| | | </template> |
| | |
| | | return props.detailData || {}; |
| | | }); |
| | | |
| | | const reportParamList = computed(() => { |
| | | const payload = formResolved.value?.formPayload || {}; |
| | | const sources = [ |
| | | payload.productionOperationParamList, |
| | | payload.reportParamList, |
| | | payload.paramList, |
| | | props.row?.productionOperationParamList, |
| | | props.row?.reportParamList, |
| | | props.row?.paramList, |
| | | ]; |
| | | const list = sources.find(item => Array.isArray(item) && item.length) || []; |
| | | return list.map((param, index) => ({ |
| | | id: param?.id ?? index, |
| | | paramName: param?.paramName || param?.parameterName || param?.name || `参数${index + 1}`, |
| | | inputValue: param?.inputValue ?? param?.value ?? param?.paramValue ?? '', |
| | | unit: param?.unit || '', |
| | | })); |
| | | }); |
| | | |
| | | const attachmentList = computed(() => { |
| | | const list = props.row.storageBlobVOList || props.row.storageBlobDTOs || []; |
| | | return Array.isArray(list) ? list : []; |
| | |
| | | color: var(--el-color-danger); |
| | | } |
| | | |
| | | .report-param-block { |
| | | margin-top: 20px; |
| | | } |
| | | |
| | | .attachment-list { |
| | | display: grid; |
| | | grid-template-columns: repeat(auto-fill, minmax(280px, 1fr)); |