chengxiangling
2025-05-14 4842a9a9a3394099188819499f8b68aafcff6e21
提交查看上下阶
已修改3个文件
370 ■■■■■ 文件已修改
src/api/mainPlan/metalOrderManage.js 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/i18n/locales/plan/index.js 281 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/mainPlan/sheetMetalOrderManage/index.vue 81 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/mainPlan/metalOrderManage.js
@@ -28,4 +28,12 @@
    method: "put",
    data: query
  });
}
// metalOrderManageSubList
export function metalOrderManageUpAndDownList(data) {
  return request({
    url: `/aps/ApsPlatOrderPlanManager/upAndDownList`,
    method: "post",
    data
  });
}
src/utils/i18n/locales/plan/index.js
@@ -2,20 +2,21 @@
  title: {
    pipePlanCapacity: "管路产能规划",
    gasPlanCapacity: "气柜规划产能",
    viewAssociatedRequirements:"查看关联需求",
    setMode:"设置模式",
    CustomizePlannedCompletionDate:"自定义计划完工日",
    tipsBugSheetMetal:"将自定义的日期赋值给工单的计划完工日",
    tipsBugSheetMetal2:"将自定义的日期赋值给工单的计划完工日",
    metalWeldWork:"焊缝工单数据",
    parseUpload:"已成功上传和解析",
    weld:"焊缝"
    viewAssociatedRequirements: "查看关联需求",
    setMode: "设置模式",
    CustomizePlannedCompletionDate: "自定义计划完工日",
    tipsBugSheetMetal: "将自定义的日期赋值给工单的计划完工日",
    tipsBugSheetMetal2: "将自定义的日期赋值给工单的计划完工日",
    metalWeldWork: "焊缝工单数据",
    parseUpload: "已成功上传和解析",
    weld: "焊缝",
    viewUpperLowerLevels: "查看上下阶"
  },
  options: {
    monthlyStatic: "按月统计",
    dailyStatic: "按日统计",
    hasRisk:"有风险",
    noRisk:"无风险"
    hasRisk: "有风险",
    noRisk: "无风险",
  },
  message: {
    update: "数据更新成功",
@@ -41,11 +42,12 @@
  btns: {
    batchPlanStartDay: "批量修改计划开工日",
    batchPlanEndDay: "批量修改计划完工日",
    batchUpdateOrderDate:"批量更新工单计划日期",
    generatePlanOrder:"生成钣金计划工单",
    batchUpdateOrderDate: "批量更新工单计划日期",
    generatePlanOrder: "生成钣金计划工单",
    confirm: "确定",
    cancel: "取消",
    viewRequirement:"查看需求"
    viewRequirement: "查看需求",
    viewUpperLowerLevels: "查看上下阶",
  },
  query: {
    daterangePlanStartDay: "计划开工日",
@@ -58,10 +60,10 @@
    selectDateRange: "选择区间",
    requireTraceID: "需求追溯ID",
    itemNumber: "料号",
    pipelineOrderRequire:"管路订单需求",
    gasHolderOrderRequire:"气柜订单需求",
    pipelinePredictionDemand:"管路预测需求",
    gasHolderForecastDemand:"气柜预测需求",
    pipelineOrderRequire: "管路订单需求",
    gasHolderOrderRequire: "气柜订单需求",
    pipelinePredictionDemand: "管路预测需求",
    gasHolderForecastDemand: "气柜预测需求",
  },
  upload: {
    prevText: "将文件拖到此处,或",
@@ -77,19 +79,20 @@
    dataPreview: "数据预览",
    totalUpload: "共上传",
    itemUpload: "条零件工单数据",
    itemWeldSeamUpload:"条焊缝工单数据",
    itemWeldSeamUpload: "条焊缝工单数据",
    confirmUpload: "确认上传",
    cancel: "取 消",
    errorResult: "导入结果",
    uploadParsePartWorkOrderData: "零件工单数据已成功上传和解析",
    uploadParseGasPipelineData: "气体管路计划数据已成功上传和解析",
    uploadParseWeldSeamData:"焊缝工单数据已成功解析",
    uploadErrorParseWeldSeamData:"焊缝工单数据已解析失败"
    uploadParseWeldSeamData: "焊缝工单数据已成功解析",
    uploadErrorParseWeldSeamData: "焊缝工单数据已解析失败",
  },
  table: {
    mainPartNumber: "主件料号",
    businessType: "业务类型",
    documentNumber: "单据号",
    level: "层级",
    requirementType: "需求分类",
    documentStatus: "单据状态",
    updateBy: "审核时间",
@@ -106,37 +109,37 @@
    planworkOrderTime: "工单计划下发时间",
    planEndDay: "系统完工时间",
    seq: "序号",
    year:"年份",
    month:"月份",
    piping:"管路",
    gasHolder:"气柜",
    forecastDemand:"预测需求",
    reserveOrderOutput:"预留紧急订单产出",
    calTotal:"合计",
    days:"天数",
    requirementDayWeldSeam:"需求日焊缝",
    productionDayWeldSeam:"生产日焊缝",
    customerDrawingNumber:"客户图号",
    organizationalAccount:"组织账号",
    isRequirements:"是否满足",
    year: "年份",
    month: "月份",
    piping: "管路",
    gasHolder: "气柜",
    forecastDemand: "预测需求",
    reserveOrderOutput: "预留紧急订单产出",
    calTotal: "合计",
    days: "天数",
    requirementDayWeldSeam: "需求日焊缝",
    productionDayWeldSeam: "生产日焊缝",
    customerDrawingNumber: "客户图号",
    organizationalAccount: "组织账号",
    isRequirements: "是否满足",
    materialCode: "物料编码",
    classification:"分类(气柜/管路)",
    productionYear:"生产年份",
    productionMonth:"生产月份",
    generateQuantity:"生成数量",
    mainWorkOrderNumber:"主工单号",
    superiorWorkOrderNumber:"上级工单号",
    classification: "分类(气柜/管路)",
    productionYear: "生产年份",
    productionMonth: "生产月份",
    generateQuantity: "生成数量",
    mainWorkOrderNumber: "主工单号",
    superiorWorkOrderNumber: "上级工单号",
    masterPlanner: "主计划员",
    weekDay: "周日",
    weekCycle: "周度",
    mainPartDrawingNumber: "主件图号",
    customer: "客户名称",
    singleWeldSeam:"单件焊缝",
    totalWeldSeam:"总焊缝",
    dateFeedback:"本次反馈日期",
    materialRequirementDate:"物料需求日期",
    salesOrder:"销售订单号",
    salesOrderLine:"销售订单行",
    singleWeldSeam: "单件焊缝",
    totalWeldSeam: "总焊缝",
    dateFeedback: "本次反馈日期",
    materialRequirementDate: "物料需求日期",
    salesOrder: "销售订单号",
    salesOrderLine: "销售订单行",
    goodProductsQuantity: "良品数量",
    processNumber: "工序号",
    factoryCenter: "工作中心",
@@ -153,6 +156,8 @@
    workOrderNo: "工单号",
    processName: "工序名称",
    startDateOfProcessPlan: "工序计划开始日期",
    planStartDay: "计划开始日",
    planEndDay: "计划完工日",
    endDateOfProcessPlan: "工序计划结束日期",
    standardTime: "标准工时",
    processOrder: "工序排序",
@@ -184,49 +189,54 @@
    // 钣金供应缺口报表
    requireID: "需求ID",
    requireTraceID: "需求追溯ID",
    bomLowCode:"BOM低阶码",
    bomUsage:"BOM用量",
    matchState:"匹配状态",
    matchPattern:"匹配模式",
    unmatchedDemandQuantity:"未匹配需求数量",
    requirementDate:"需求日期",
    applicableFactories:"适用工厂",
    productionBase:"生产基地",
    orderRequirements:"订单需求",
    bomLowCode: "BOM低阶码",
    bomUsage: "BOM用量",
    matchState: "匹配状态",
    matchPattern: "匹配模式",
    unmatchedDemandQuantity: "未匹配需求数量",
    requirementDate: "需求日期",
    applicableFactories: "适用工厂",
    productionBase: "生产基地",
    orderRequirements: "订单需求",
    // 钣金冗余工单报表
    subItemPartNumber:"子件料号",
    mismatchedProductionQuantity:"未匹配生产数量",
    workorderCreationTime:"工单创建时间",
    delayRiskIdentification:"延迟风险标识",
    startDateOfDemandPlan:"需求计划开工日",
    requirementPlanCompletionDate:"需求计划完工日",
    processRouteWorkingHours:"工艺路线工时",
    demandQuantity:"需求数量",
    netRequirement:"净需求量",
    subItemPartNumber: "子件料号",
    mismatchedProductionQuantity: "未匹配生产数量",
    workorderCreationTime: "工单创建时间",
    delayRiskIdentification: "延迟风险标识",
    startDateOfDemandPlan: "需求计划开工日",
    requirementPlanCompletionDate: "需求计划完工日",
    processRouteWorkingHours: "工艺路线工时",
    demandQuantity: "需求数量",
    netRequirement: "净需求量",
    bomItemID: "项 ID",
    customizePlannedCompletionDate:"自定义计划完工日",
    customizePlannedCompletionDate: "自定义计划完工日",
    //钣金料号工单异常
    abnormalCause:"异常原因",
    creationTime:"工单创建时间",
    suggestedCompletionDate:"建议完成日期"
    abnormalCause: "异常原因",
    creationTime: "工单创建时间",
    suggestedCompletionDate: "建议完成日期",
  },
};
export const en = {
  title: {
    pipePlanCapacity: "Pipeline planning capacity",
    gasPlanCapacity: "Gas holder planning production capacity",
    viewAssociatedRequirements:"View associated requirements",
    setMode:"Set Mode",
    CustomizePlannedCompletionDate:"Customize the planned completion date",
    tipsBugSheetMetal:"Assign the planned start date and planned completion date of the generated sheet metal requirements to the work order",
    tipsBugSheetMetal2:"Assign custom dates to the planned completion date of the work order",
    weld:"weld seam",
    viewAssociatedRequirements: "View associated requirements",
    setMode: "Set Mode",
    CustomizePlannedCompletionDate: "Customize the planned completion date",
    tipsBugSheetMetal:
      "Assign the planned start date and planned completion date of the generated sheet metal requirements to the work order",
    tipsBugSheetMetal2:
      "Assign custom dates to the planned completion date of the work order",
    metalWeldWork: "Weld work order data",
    parseUpload: "successfully uploaded and parsed",
    weld: "Weld seam",
    viewUpperLowerLevels: "View the upper and lower levels"
  },
  options: {
    monthlyStatic: "Monthly statistics",
    dailyStatic: "Daily statistics",
    hasRisk:"At Risk",
    noRisk:"No Risk"
    hasRisk: "At Risk",
    noRisk: "No Risk",
  },
  message: {
    update: "Data update successful",
@@ -253,11 +263,12 @@
  btns: {
    batchPlanStartDay: "Batch modification of planned start date",
    batchPlanEndDay: "Batch modification plan completion date",
    batchUpdateOrderDate:"Batch update work order plan date",
    generatePlanOrder:"Generate sheet metal plan work order",
    batchUpdateOrderDate: "Batch update work order plan date",
    generatePlanOrder: "Generate sheet metal plan work order",
    confirm: "Confirm",
    cancel: "Cancel",
    viewRequirement:"View requirements"
    viewRequirement: "View requirements",
    viewUpperLowerLevels: "Upper Lower Levels",
  },
  query: {
    daterangePlanStartDay: "Planned start date",
@@ -270,10 +281,10 @@
    selectDateRange: "Select interval",
    requireTraceID: "Require track ID",
    itemNumber: "Item number",
    pipelineOrderRequire:"Pipeline order requirements",
    gasHolderOrderRequire:"Gas cabinet order demand",
    pipelinePredictionDemand:"Pipeline prediction demand",
    gasHolderForecastDemand:"Gas holder forecast demand"
    pipelineOrderRequire: "Pipeline order requirements",
    gasHolderOrderRequire: "Gas cabinet order demand",
    pipelinePredictionDemand: "Pipeline prediction demand",
    gasHolderForecastDemand: "Gas holder forecast demand",
  },
  upload: {
    prevText: "Drag the file here, or",
@@ -290,7 +301,7 @@
    dataPreview: "Data Preview",
    totalUpload: "Upload",
    itemUpload: "part work order data in total",
    itemWeldSeamUpload:"weld seam work order data",
    itemWeldSeamUpload: "weld seam work order data",
    confirmUpload: "Confirm upload",
    cancel: "Cancel",
    errorResult: "Import results",
@@ -298,13 +309,15 @@
      "The part work order data has been successfully uploaded and parsed",
    uploadParseGasPipelineData:
      "The gas pipeline plan data has been successfully uploaded and parsed",
    uploadParseWeldSeamData:"The weld work order data has been successfully parsed",
    uploadErrorParseWeldSeamData:"Failed to parse weld work order data"
    uploadParseWeldSeamData:
      "The weld work order data has been successfully parsed",
    uploadErrorParseWeldSeamData: "Failed to parse weld work order data",
  },
  table: {
    mainPartNumber: "Main part number",
    businessType: "Business type",
    documentNumber: "Document number",
    level: "Level",
    requirementType: "Requirements classification",
    documentStatus: "Document Status",
    updateBy: "Audit time",
@@ -321,36 +334,36 @@
    planworkOrderTime: "Work order plan issuance time",
    planEndDay: "System completion time",
    seq: "Serial Number",
    year:"Year",
    month:"Month",
    piping:"Piping",
    gasHolder:"Gas holder",
    forecastDemand:"Forecast demand",
    reserveOrderOutput:"Reserve emergency order output",
    calTotal:"Total",
    requirementDayWeldSeam:"Requirement day weld seam",
    productionDayWeldSeam:"Production day weld seam",
    customerDrawingNumber:"Customer drawing number",
    organizationalAccount:"Organizational account",
    isRequirements:"Is requirements",
    materialCode:"material code",
    classification:"Classification(Gas holder/pipeline)",
    productionYear:"Production year",
    productionMonth:"Production Month",
    generateQuantity:"Generate quantity",
    mainWorkOrderNumber:"Main work order number",
    superiorWorkOrderNumber:"Superior work order number",
    year: "Year",
    month: "Month",
    piping: "Piping",
    gasHolder: "Gas holder",
    forecastDemand: "Forecast demand",
    reserveOrderOutput: "Reserve emergency order output",
    calTotal: "Total",
    requirementDayWeldSeam: "Requirement day weld seam",
    productionDayWeldSeam: "Production day weld seam",
    customerDrawingNumber: "Customer drawing number",
    organizationalAccount: "Organizational account",
    isRequirements: "Is requirements",
    materialCode: "material code",
    classification: "Classification(Gas holder/pipeline)",
    productionYear: "Production year",
    productionMonth: "Production Month",
    generateQuantity: "Generate quantity",
    mainWorkOrderNumber: "Main work order number",
    superiorWorkOrderNumber: "Superior work order number",
    masterPlanner: "Master scheduler",
    weekDay: "Sunday",
    weekCycle: "Week cycle",
    mainPartDrawingNumber: "Main component drawing number",
    customer: "Customer Name",
    singleWeldSeam:"Single piece weld seam",
    totalWeldSeam:"Total weld seam",
    dateFeedback:"Date of this feedback",
    materialRequirementDate:"Material requirement date",
    salesOrder:"Sales Order No",
    salesOrderLine:"Sales order line",
    singleWeldSeam: "Single piece weld seam",
    totalWeldSeam: "Total weld seam",
    dateFeedback: "Date of this feedback",
    materialRequirementDate: "Material requirement date",
    salesOrder: "Sales Order No",
    salesOrderLine: "Sales order line",
    goodProductsQuantity: "Quantity of good products",
    processNumber: "Process number",
    factoryCenter: "Work center",
@@ -367,6 +380,8 @@
    workOrderNo: "Work order number",
    processName: "Process name",
    startDateOfProcessPlan: "Start date of process plan",
    planStartDay: "Start date of plan",
    planEndDay: "End date of plan",
    endDateOfProcessPlan: "End date of process plan",
    standardTime: "Standard working hours",
    processOrder: "Process sorting",
@@ -399,30 +414,30 @@
    // 钣金供应缺口报表
    requireID: "Requirement ID",
    requireTraceID: "Requirement traceability ID",
    bomLowCode:"BOM low-level code",
    bomUsage:"BOM usage",
    matchState:"Match State",
    matchPattern:"Match Pattern",
    unmatchedDemandQuantity:"Unmatched Demand Quantity",
    requirementDate:"Requirement Date",
    applicableFactories:"Applicable Factories",
    productionBase:"Production Base",
    orderRequirements:"Order requirements",
    bomLowCode: "BOM low-level code",
    bomUsage: "BOM usage",
    matchState: "Match State",
    matchPattern: "Match Pattern",
    unmatchedDemandQuantity: "Unmatched Demand Quantity",
    requirementDate: "Requirement Date",
    applicableFactories: "Applicable Factories",
    productionBase: "Production Base",
    orderRequirements: "Order requirements",
    // 钣金冗余工单报表
    subItemPartNumber:"Sub Item Part Number",
    mismatchedProductionQuantity:"Mismatched Production Quantity",
    workorderCreationTime:"Work order creation time",
    delayRiskIdentification:"Delay risk identification",
    startDateOfDemandPlan:"Start date of demand plan",
    requirementPlanCompletionDate:"Requirement plan completion date",
    processRouteWorkingHours:"Process route working hours",
    demandQuantity:"Demand Quantity",
    netRequirement:"Net Requirement",
    bomItemID:"Item ID",
    customizePlannedCompletionDate:"Customize the planned completion date",
    subItemPartNumber: "Sub Item Part Number",
    mismatchedProductionQuantity: "Mismatched Production Quantity",
    workorderCreationTime: "Work order creation time",
    delayRiskIdentification: "Delay risk identification",
    startDateOfDemandPlan: "Start date of demand plan",
    requirementPlanCompletionDate: "Requirement plan completion date",
    processRouteWorkingHours: "Process route working hours",
    demandQuantity: "Demand Quantity",
    netRequirement: "Net Requirement",
    bomItemID: "Item ID",
    customizePlannedCompletionDate: "Customize the planned completion date",
    //钣金料号工单异常
    abnormalCause:"Abnormal cause",
    creationTime:"Creation time",
    suggestedCompletionDate:"Suggested Completion Date建议完成日期"
    abnormalCause: "Abnormal cause",
    creationTime: "Creation time",
    suggestedCompletionDate: "Suggested Completion Date建议完成日期",
  },
};
src/views/mainPlan/sheetMetalOrderManage/index.vue
@@ -158,6 +158,13 @@
        <el-button
          type="primary"
          link
          @click="handleCheckLevels(row)"
          v-hasPermi="['ApsPlatOrderPlanManager:requirement:list']"
          >{{ $t("plan.btns.viewUpperLowerLevels") }}</el-button
        >
        <el-button
          type="primary"
          link
          @click="handleCheckView(row)"
          v-hasPermi="['ApsPlatOrderPlanManager:requirement:list']"
          >{{ $t("plan.btns.viewRequirement") }}({{row.requireNum}})</el-button
@@ -255,6 +262,30 @@
        </span>
      </template>
    </el-dialog>
    <!-- 查看上下阶 -->
    <el-dialog
      :title="$t('plan.title.viewUpperLowerLevels')"
      v-model="openUpperLowerDialog"
      width="85%"
      style="height:90vh; overflow: hidden"
      append-to-body
    >
      <HxlhTable
        style="width: 100%"
        :columns="subUpAndDownGridOptions"
        :data="subUpAndDownList"
        :loading="loadingSubUpAndDown"
        :height="heightSub"
      >
      </HxlhTable>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="openUpperLowerDialog = false">{{
            $t("common.common.close")
          }}</el-button>
        </span>
      </template>
    </el-dialog>
  </div>
</template>
@@ -266,6 +297,7 @@
import {
  metalOrderManageList,
  metalOrderManageSubList,
  metalOrderManageUpAndDownList,
  generatorPlanList,
  planDateList,
} from "@/api/mainPlan/metalOrderManage.js";
@@ -281,10 +313,13 @@
const radio = ref(1);
const customicDate = ref("");
const openDialog = ref(false);
const openUpperLowerDialog = ref(false);
const openBatchDialog = ref(false);
const subGridOptions = ref([]);
const subUpAndDownGridOptions = ref([]);
const subUpdateGridOptions = ref([]);
const subUpdateCustomGridOptions = ref([]);
const subUpAndDownList = ref([]);
const subList = ref([]);
const subUpdateList = ref([]);
// const tableRef = ref();
@@ -292,6 +327,7 @@
const loading = ref(false);
const loadingUpdateDate = ref(false);
const loadingGenerateList = ref(false);
const loadingSubUpAndDown = ref(false);
const loadingSub = ref(false);
const showSearch = ref(true);
const ids = ref([]);
@@ -468,7 +504,7 @@
      },
      {
        title: t("common.common.require"),
        width: 150,
        width: "auto",
        fixed: "right",
        slots: { default: "buttons" },
        align: "center",
@@ -608,6 +644,38 @@
        },
      },
    ];
    subUpAndDownGridOptions.value = [
      {
        title: t("plan.table.documentNumber"),
        field: "documentNumber",
        align: "center",
      },
      {
        title: t("plan.table.level"),
        field: "requiremenType",
        align: "center",
      },
      {
        title: t("plan.table.itemNumber"),
        field: "itemNumber",
        align: "center",
      },
      {
        title: t("plan.table.planStartDay"),
        field: "planStartDay",
        align: "center",
      },
      {
        title: t("plan.table.planEndDay"),
        field: "planEndDay",
        align: "center",
      },
      {
        title: t("plan.table.productionQuantity"),
        field: "productionQuantity",
        align: "center",
      },
    ]
    subUpdateGridOptions.value = [
      // {
      //   title: t("basic.table.requirementID"),
@@ -779,6 +847,17 @@
      loadingSub.value = false;
    });
}
function handleCheckLevels(row) {
  openUpperLowerDialog.value = true;
  loadingSubUpAndDown.value = true;
  metalOrderManageUpAndDownList({requireId: row.requireId}).then((res) => {
    console.log(res,"metalOrderManageUpAndDownList");
    subUpAndDownList.value = res;
    loadingSubUpAndDown.value = false;
  }).catch(() => {
    loadingSubUpAndDown.value = false;
  });
}
async function hanleBatchUpdateDate() {
  loadingUpdateDate.value = true;
  let planIds = subUpdateList.value.map((item) => {