huminmin
3 天以前 924150c4d2a874d87173ce3e3d67caf345b323c9
src/views/officeProcessAutomation/ApproveManage/approve-list/components/ApproveDetailPanel.vue
@@ -73,9 +73,9 @@
      <!-- 报工审批详情 -->
      <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"
@@ -84,6 +84,22 @@
              {{ 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>
@@ -227,6 +243,25 @@
    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 : [];
@@ -264,6 +299,10 @@
    color: var(--el-color-danger);
  }
  .report-param-block {
    margin-top: 20px;
  }
  .attachment-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));