huminmin
4 天以前 9cecea613e29bb152bb6ea69a3cca94aa537c621
src/views/productionManagement/productionTraceability/index.vue
@@ -1,5 +1,7 @@
<template>
  <div class="app-container">
    <PageHeader v-if="showHeader"
                content="生产订单" />
    <el-card style="height:82vh;overflow:auto;">
      <template #header>
        <div class="card-header">
@@ -68,22 +70,35 @@
              </el-table-column>
              <el-table-column label="产品名称"
                               align="center">
                <template #default>
                  {{ rowData.productionOrderDto?.productName || '-' }}
                <template #default="{ row }">
                  {{ row.workOrder.productName || '-' }}
                </template>
              </el-table-column>
              <el-table-column label="规格"
                               align="center">
                <template #default>
                  {{ rowData.productionOrderDto?.model || '-' }}
                <template #default="{ row }">
                  {{ row.workOrder.model || '-' }}
                </template>
              </el-table-column>
              <el-table-column label="工序"
                               prop="workOrder.operationName"
                               align="center" />
              <el-table-column prop="workOrder.planQuantity"
                               label="需求数量"
                               align="center" />
              <el-table-column prop="workOrder.completeQuantity"
                               label="完成数量"
                               align="center" />
              <el-table-column prop="workOrder.scrapQty"
                               label="报废数量"
                               align="center" />
              <el-table-column prop="workOrder.completionStatus"
                               label="完成进度"
                               align="center">
                <template #default="{ row }">
                  <span :style="{ color: customColors(row.workOrder.completionStatus) }">{{ row.workOrder.completionStatus || 0 }}%</span>
                </template>
              </el-table-column>
              <el-table-column label="详情"
                               align="center"
                               width="200">
@@ -119,9 +134,13 @@
            <el-descriptions-item label="完成数量">{{ detailData.workOrder.completeQuantity || 0 }}</el-descriptions-item>
            <el-descriptions-item label="实际开始时间">{{ parseTime(detailData.workOrder.actualStartTime) || '-' }}</el-descriptions-item>
            <el-descriptions-item label="实际结束时间">{{ parseTime(detailData.workOrder.actualEndTime) || '-' }}</el-descriptions-item>
            <el-descriptions-item label="状态">
              <el-tag :type="getStatusType(detailData.workOrder.status)">{{ getStatusText(detailData.workOrder.status) }}</el-tag>
            </el-descriptions-item>
            <!-- <el-descriptions-item label="完成进度">
              <el-progress :percentage="detailData.workOrder.completionStatus >= 100 ? 100 : (detailData.workOrder.completionStatus || 0)"
                           :color="customColors(detailData.workOrder.completionStatus)"
                           :status="detailData.workOrder.completionStatus >= 100 ? 'success' : ''"
                           style="width:500px;" />
            </el-descriptions-item> -->
            <el-descriptions-item label="完成进度"><span :style="{ color: customColors(detailData.workOrder.completionStatus) }">{{ detailData.workOrder.completionStatus || 0 }}%</span></el-descriptions-item>
          </el-descriptions>
        </div>
        <div class="detail-section">
@@ -141,6 +160,15 @@
                {{ parseTime(row.createTime) }}
              </template>
            </el-table-column>
            <el-table-column label="工时(h)"
                             prop="workHour"
                             align="center" />
            <el-table-column label="产出数量"
                             prop="quantity"
                             align="center" />
            <el-table-column label="报废数量"
                             prop="scrapQty"
                             align="center" />
            <el-table-column label="操作"
                             align="center"
                             width="200">
@@ -227,7 +255,7 @@
                               width="60"
                               align="center" />
              <el-table-column label="指标"
                               prop="paramName"
                               prop="parameterItem"
                               align="center" />
              <el-table-column label="单位"
                               prop="unit"
@@ -235,8 +263,11 @@
              <el-table-column label="标准值"
                               prop="standardValue"
                               align="center" />
              <el-table-column label="内控值"
                               prop="controlValue"
                               align="center" />
              <el-table-column label="实际值"
                               prop="inputValue"
                               prop="testValue"
                               align="center" />
            </el-table>
          </div>
@@ -253,7 +284,7 @@
</template>
<script setup>
  import { ref, reactive, onMounted } from "vue";
  import { ref, reactive, onMounted, computed } from "vue";
  import { useRoute, useRouter } from "vue-router";
  import { ElMessage } from "element-plus";
  import { parseTime } from "@/utils/ruoyi";
@@ -265,6 +296,13 @@
  const route = useRoute();
  const router = useRouter();
  // 判断是否显示页头
  const showHeader = computed(() => {
    return (
      Object.keys(route.query).length > 0 || Object.keys(route.params).length > 0
    );
  });
  // 搜索相关
  const searchForm = reactive({
@@ -371,6 +409,7 @@
      workOrder: row.workOrder || {},
      reports: (row.reportList || []).map(r => ({
        ...r.reportMain,
        ...(r.reportOutputList[0] || {}),
        productionOperationParamList: r.reportParamList || [],
      })),
    };