ZN
2026-03-20 b0f5a5f44c924fe69fb88312ff42ad0540661c8f
src/views/productionManagement/productionProcess/index.vue
@@ -70,7 +70,7 @@
</template>
<script setup>
  import { onMounted, ref, reactive, toRefs, getCurrentInstance } from "vue";
  import { onMounted, ref, reactive, toRefs, getCurrentInstance, computed } from "vue";
  import NewProcess from "@/views/productionManagement/productionProcess/New.vue";
  import EditProcess from "@/views/productionManagement/productionProcess/Edit.vue";
  import ImportDialog from "@/components/Dialog/ImportDialog.vue";
@@ -81,6 +81,7 @@
    downloadTemplate,
  } from "@/api/productionManagement/productionProcess.js";
  import { getToken } from "@/utils/auth";
  import { getDeviceLedger } from "@/api/equipmentManagement/ledger";
  const data = reactive({
    searchForm: {
@@ -99,12 +100,20 @@
      prop: "name",
    },
    {
      label: "工序机台",
      prop: "deviceName",
    },
    {
      label: "工序类型",
      prop: "typeText",
    },
    {
      label: "工资定额",
      prop: "salaryQuota",
    },
    {
      label: "工序",
      prop: "process",
    },
    {
      label: "是否质检",
@@ -140,6 +149,15 @@
  ]);
  const tableData = ref([]);
  const selectedRows = ref([]);
  const deviceList = ref([]);
  const deviceNameMap = computed(() => {
    const map = new Map();
    (deviceList.value || []).forEach((d) => {
      if (d?.id == null) return;
      map.set(d.id, d.deviceName ?? "");
    });
    return map;
  });
  const tableLoading = ref(false);
  const isShowNewModal = ref(false);
  const isShowEditModal = ref(false);
@@ -152,6 +170,15 @@
    total: 0,
  });
  const { proxy } = getCurrentInstance();
  const loadDeviceList = async () => {
    try {
      const res = await getDeviceLedger();
      deviceList.value = Array.isArray(res?.data) ? res.data : [];
    } catch (e) {
      deviceList.value = [];
    }
  };
  // 导入相关配置
  const importAction =
@@ -177,10 +204,16 @@
    listPage(params)
      .then(res => {
        tableLoading.value = false;
        tableData.value = res.data.records.map(item => ({
          ...item,
          typeText: item.type !== undefined && item.type !== null ? (item.type === 0 ? "计时" : "计件") : "",
        }));
        const records = Array.isArray(res?.data?.records) ? res.data.records : [];
        const map = deviceNameMap.value;
        tableData.value = records.map(item => {
          const deviceName = item?.deviceName ?? map.get(item?.deviceId) ?? "";
          return {
            ...item,
            deviceName,
            typeText: item.type !== undefined && item.type !== null ? (item.type === 0 ? "计时" : "计件") : "",
          };
        });
        page.total = res.data.total;
      })
      .catch(err => {
@@ -250,7 +283,6 @@
      importDialogRef.value.submit();
    }
  };
  // 导入成功
  const handleImportSuccess = response => {
    if (response.code === 200) {
@@ -312,7 +344,9 @@
  // };
  onMounted(() => {
    getList();
    loadDeviceList().finally(() => {
      getList();
    });
  });
</script>