gaoluyang
2026-05-09 8c13d8bd08af6f9b0130f45a567112484e1ea432
Merge remote-tracking branch 'origin/dev_浪潮' into dev_浪潮
已修改7个文件
92 ■■■■■ 文件已修改
src/views/productionManagement/productionCosting/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionOrder/index.vue 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionReporting/index.vue 6 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionTraceability/index.vue 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/workOrderEdit/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/workOrderManagement/index.vue 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionPlan/productionPlan/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/productionManagement/productionCosting/index.vue
@@ -94,6 +94,11 @@
      prop: "schedulingUserName",
      minWidth: 100,
    },
    {
      label: "车间",
      prop: "workshopName",
      minWidth: 100,
    },
    // {
    //   label: "合同号",
    //   prop: "salesContractNo",
src/views/productionManagement/productionOrder/index.vue
@@ -30,7 +30,7 @@
        <el-form-item label="状态:">
          <el-select v-model="searchForm.status"
                     placeholder="请选择"
                     style="width: 160px;"
                     style="width: 100px;"
                     @change="handleQuery">
            <el-option label="待开始"
                       value="1" />
@@ -42,6 +42,19 @@
                       value="4" />
            <el-option label="已结束"
                       value="5" />
          </el-select>
        </el-form-item>
                <el-form-item label="车间:">
          <el-select v-model="searchForm.workshopId"
                     placeholder="请选择车间"
                     clearable
                     filterable
                     @change="handleQuery"
                     style="width: 160px">
            <el-option v-for="item in workshopOptions"
                       :key="item.id"
                       :label="item.name"
                       :value="item.id" />
          </el-select>
        </el-form-item>
        <el-form-item>
@@ -226,6 +239,7 @@
  import { ElMessageBox } from "element-plus";
  import dayjs from "dayjs";
  import { useRouter } from "vue-router";
  import { workshopPage } from "@/api/basicData/workshop.js";
  import {
    productOrderListPage,
    listProcessRoute,
@@ -261,6 +275,7 @@
  const sourcePage = reactive({
    total: 0,
  });
  const workshopOptions = ref([]);
  const processColumnWidth = computed(() => {
    if (!tableData.value || tableData.value.length === 0) return "200px";
@@ -359,6 +374,10 @@
      prop: "planCompleteTime",
      formatData: val => (val ? dayjs(val).format("YYYY-MM-DD") : ""),
      width: 120,
    },
    {
      label: "车间",
      prop: "workshopName",
    },
    {
      dataType: "action",
@@ -478,6 +497,7 @@
      productName: "",
      model: "",
      status: "",
      workshopName: ""
    },
  });
  const { searchForm } = toRefs(data);
@@ -515,6 +535,33 @@
      return "red";
    }
  };
  function parseWorkshopPagePayload(res) {
    const payload = res?.data;
    if (!payload) {
      return { records: [], total: 0 };
    }
    if (Array.isArray(payload)) {
      return { records: payload, total: payload.length };
    }
    const records = payload.records ?? payload.list ?? payload.rows ?? [];
    const total = Number(payload.total ?? payload.totalCount ?? 0);
    return { records: Array.isArray(records) ? records : [], total };
  }
  const fetchWorkshopOptions = () => {
    workshopPage({
      name: "",
      principal: "",
      contactPhone: "",
      current: 1,
      size: 999,
    }).then(res => {
      if (res.code === 200) {
        const { records } = parseWorkshopPagePayload(res);
        workshopOptions.value = records;
      }
    });
  };
  // 绑定工艺路线弹框
  const bindRouteDialogVisible = ref(false);
@@ -637,6 +684,7 @@
      productName: "",
      model: "",
      status: "",
      workshopName: "",
    };
    handleQuery();
  };
@@ -810,9 +858,9 @@
    })
      .then(() => {
        proxy.download(
          "/productOrder/export",
          "/productionOrder/export",
          { ...searchForm.value },
          "生产订单.xlsx"
          "生产订单数据.xlsx"
        );
      })
      .catch(() => {
@@ -844,6 +892,7 @@
  onMounted(() => {
    getList();
    fetchWorkshopOptions();
  });
</script>
src/views/productionManagement/productionReporting/index.vue
@@ -226,13 +226,17 @@
      prop: "unit",
      width: 120,
    },
    {
      label: "创建时间",
      prop: "createTime",
      width: 120,
    },
    {
      label: "车间",
      prop: "workshopName",
      width: 120,
    },
    {
      dataType: "action",
      label: "操作",
      align: "center",
src/views/productionManagement/productionTraceability/index.vue
@@ -49,6 +49,8 @@
                         :status="rowData.productionOrderDto?.completionStatus >= 100 ? 'success' : ''"
                         style="width: 80%;" />
          </el-descriptions-item>
          <el-descriptions-item label="车间">{{rowData.productionOrderDto?.workshopName}}</el-descriptions-item>
        </el-descriptions>
      </div>
      <el-empty v-else
src/views/productionManagement/workOrderEdit/index.vue
@@ -209,6 +209,11 @@
      width: "180",
    },
    {
      label: "车间",
      prop: "workshopName",
      width: "180",
    },
    {
      label: "操作",
      width: "200",
      align: "center",
src/views/productionManagement/workOrderManagement/index.vue
@@ -345,6 +345,11 @@
      width: "140",
    },
    {
      label: "车间",
      prop: "workshopName",
      width: "140",
    },
    {
      label: "操作",
      width: "260",
      align: "center",
src/views/productionPlan/productionPlan/index.vue
@@ -102,7 +102,7 @@
               destroy-on-close
               title="合并下发"
               width="600px">
      <el-form :model="mergeForm"
      <el-form :model="mergeForm" :rules="mergeFormRules"
               label-width="120px">
        <el-row :gutter="20">
          <el-col :span="10">
@@ -131,7 +131,7 @@
                           @change="onBlur"
                           style="width: 100%" />
        </el-form-item>
        <el-form-item label="车间">
        <el-form-item label="车间" prop="workshopId" required>
          <el-select v-model="mergeForm.workshopId"
                     placeholder="请选择车间"
                     clearable
@@ -467,6 +467,12 @@
    total: 0,
  });
  const selectedRows = ref([]);
  const mergeFormRules = {
    workshopId: [
      { required: true, message: '请选择车间', trigger: 'change' }
    ]
  }
  // 产品类别汇总统计数据
  const categorySummary = ref([]);
@@ -812,6 +818,10 @@
      ElMessage.warning("请输入生产数量");
      return;
    }
    if(!mergeForm.workshopId){
      ElMessage.warning("请选择车间");
      return;
    }
    console.log(sumAssignedQuantity.value, "sumAssignedQuantity");
    // 验证totalAssignedQuantity不能大于总方数