CD配唱片
2025-05-07 9d68ec6e7019e8b3bf5ee20db27efe95a91b41fd
提交标准工艺路线静态页与联调
已修改5个文件
307 ■■■■■ 文件已修改
src/api/basicData/processRoute.js 18 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/i18n/locales/basic/index.js 16 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/utils/i18n/locales/plan/index.js 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/bom/index.vue 14 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/views/basicData/processRouteDataPreparate/index.vue 258 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
src/api/basicData/processRoute.js
@@ -1,5 +1,23 @@
import request from '@/utils/request'
// /ApsStandardProcessRouteLine/list
// /ApsStandardProcessRouteHeader/list
export function apsStandardProcessRouteHeaderList(query) {
  return request({
    url: '/aps/ApsStandardProcessRouteHeader/list',
    method: 'get',
    params: query
  })
}
export function apsStandardProcessRouteLineList(query) {
  return request({
    url: '/aps/ApsStandardProcessRouteLine/list',
    method: 'get',
    params: query
  })
}
// 查询工艺路线列表
export function listProcessRoute(query) {
  return request({
src/utils/i18n/locales/basic/index.js
@@ -11,7 +11,11 @@
    parentPartNumber:"父级料号",
    parentMaterialDescription:"父级物料描述",
    materialDescription:"物料描述",
    usage:"用量"
    usage:"用量",
    operationSequence: "工序序号",
    applicableWorkshop:"适用车间",
    productivityModel: "产能模型",
    designCapacity:"设计产能"
  }
};
@@ -21,13 +25,17 @@
  table: {
    processRouteID:"Process route ID",
    processRouteVersion:"Process route version",
    effectiveDate:"effective date",
    expiringDate:"expiring date",
    effectiveDate:"Effective date",
    expiringDate:"Expiring date",
    integrationDate:"Integration date",
    applicableFactories:"Applicable factories",
    parentPartNumber:"Parent part number",
    parentMaterialDescription:"Parent material description",
    materialDescription:"Material Description",
    usage:"usage"
    usage:"Usage",
    operationSequence: "Operation sequence ",
    applicableWorkshop:"Applicable workshop",
    productivityModel:"Productivity model",
    designCapacity:"Design capacity"
  }
};
src/utils/i18n/locales/plan/index.js
@@ -45,6 +45,7 @@
    selectDateRange: "选择区间",
    requireTraceID: "需求追溯ID",
    itemNumber: "料号",
  },
  upload: {
    prevText: "将文件拖到此处,或",
src/views/basicData/bom/index.vue
@@ -7,13 +7,13 @@
        :rules="rules"
        :inline="true"
        v-show="showSearch"
        :label-width="locale === 'zh' ? '90px' : '120px'"
        :label-width="locale === 'zh' ? '90px' : '160px'"
      >
        <el-row :gutter="20">
          <el-col :span="10">
          <el-col :span="9">
            <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
              <el-input
                style="width: 240px"
                style="width: 210px"
                v-model="queryParams.itemCode"
                :placeholder="`${$t('common.common.placeholder')}${$t(
                  'plan.query.itemNumber'
@@ -23,16 +23,16 @@
              />
            </el-form-item>
          </el-col>
          <el-col :span="8">
          <el-col :span="9">
            <el-form-item
              label="适用工厂"
              :label="$t('plan.table.applicableFactories')"
              prop="orgCode"
            >
              <el-select
                clearable
                v-model="queryParams.orgCode"
                style="width: 160px"
                placeholder="请输入适用工厂"
                :style="{width: locale=='zh'?'160px':'250px'}"
                :placeholder="`${$t('common.common.placeholder')}${$t('plan.table.applicableFactories')}`"
              >
                <el-option
                  v-for="plant in plantList"
src/views/basicData/processRouteDataPreparate/index.vue
@@ -7,10 +7,10 @@
        :rules="rules"
        :inline="true"
        v-show="showSearch"
        :label-width="locale === 'zh' ? '90px' : '120px'"
        :label-width="locale === 'zh' ? '90px' : '160px'"
      >
        <el-row :gutter="20">
          <el-col :span="6">
          <el-col :span="9">
            <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
              <el-input
                style="width: 240px"
@@ -23,7 +23,30 @@
              />
            </el-form-item>
          </el-col>
          <el-col :span="18" style="text-align: right">
          <el-col :span="9">
            <el-form-item
              :label="$t('plan.table.applicableFactories')"
              prop="orgCode"
            >
              <el-select
                clearable
                v-model="queryParams.orgCode"
                :style="{ width: locale == 'zh' ? '160px' : '250px' }"
                :placeholder="`${$t('common.common.placeholder')}${$t(
                  'plan.table.applicableFactories'
                )}`"
              >
                <el-option
                  v-for="plant in plantList"
                  :key="plant.id"
                  :label="plant.plantName"
                  :value="plant.plantCode"
                >
                </el-option>
              </el-select>
            </el-form-item>
          </el-col>
          <el-col :span="6" style="text-align: right">
            <el-form-item>
              <el-button type="primary" icon="Search" @click="handleQuery">{{
                $t("common.common.query")
@@ -56,7 +79,7 @@
    <HxlhTable
      style="width: 100%"
      :columns="columns"
      :data="planList"
      :data="processRouteList"
      :loading="loading"
      :height="height"
      @on-checkbox="handleCheckboxChange"
@@ -94,12 +117,12 @@
</template>
<script setup name="ApsPlatePlan">
import { listAll_plant } from "@/api/basicData/plant";
import {
  listPlan,
  examplePlan,
  confirmPart,
} from "@/api/mainPlan/apsPlatePlan.js";
import { listProcessRoute } from "@/api/basicData/processRoute.js";
  apsStandardProcessRouteHeaderList,
  apsStandardProcessRouteLineList,
} from "@/api/basicData/processRoute.js";
import { listAll_shop } from "@/api/basicData/shop";
import HxlhTable from "@/components/HxlhTable/index.vue";
import { ref } from "vue";
import { getToken } from "@/utils/auth.js";
@@ -113,21 +136,12 @@
  current: 1,
  size: 10,
});
const {
  aps_is_suspended,
  aps_document_status,
  aps_account,
  aps_business_type,
} = proxy.useDict(
  "aps_is_suspended",
  "aps_document_status",
  "aps_account",
  "aps_business_type"
);
const planList = ref([]);
const plantList = ref([]);
const shopList = ref([]);
const processRouteList = ref([]);
const subGridOptions = ref([]);
const subList = ref([]);
const loading = ref(true);
const loading = ref(false);
const showSearch = ref(true);
const single = ref(true);
const total = ref(0);
@@ -142,8 +156,6 @@
  queryParams: {
    pageNum: 1,
    pageSize: 10,
    customer: null,
    documentNumber: null,
    itemCode: null,
  },
  rules: {
@@ -173,38 +185,128 @@
      // },
      // { type: "checkbox", width: 60, align: "center" },
      {
        title: t("basic.table.processRouteVersion"),
        field: "mainPartNumber",
        title: t("basic.table.processRouteID"),
        field: "routeId",
      },
      {
        title: t("basic.table.processRouteVersion"),
        field: "businessType",
        field: "version",
      },
      {
        title: t("plan.table.itemNumber"),
        field: "documentNumber",
        field: "itemCode",
      },
      {
        title: t("basic.table.effectiveDate"),
        field: "requirementType",
        field: "startDate",
      },
      {
        title: t("basic.table.expiringDate"),
        field: "documentStatus",
        field: "endDate",
      },
      {
        title: t("basic.table.integrationDate"),
        field: "itemNumber",
        field: "createTime",
      },
      {
        title: t("basic.table.applicableFactories"),
        field: "drawingNo",
        field: "orgCode",
        formatter: ({ cellValue, row, column }) => {
          if (cellValue) {
            for (let i = 0; i < plantList.value.length; i++) {
              if (cellValue === plantList.value[i].plantCode) {
                return plantList.value[i].plantName;
              }
            }
          }
        },
      },
      {
        title: "操作",
        width: 100,
        fixed: "right",
        slots: { default: "buttons" },
        align: "center",
      },
    ];
    subGridOptions.value = [
      {
        title: t("basic.table.processRouteID"),
        field: "routeId",
        width: 150,
        align: "center",
      },
      {
        title: t("basic.table.operationSequence"),
        field: "routeNum",
        width: 150,
        align: "center",
      },
      {
        title: t("plan.table.processName"),
        field: "routeName",
        width: 150,
        align: "center",
      },
      {
        title: t("basic.table.effectiveDate"),
        field: "startDate",
        width: 200,
        align: "center",
      },
      {
        title: t("basic.table.expiringDate"),
        field: "endDate",
        width: 200,
        align: "center",
      },
      {
        title: t("basic.table.integrationDate"),
        field: "createTime",
        width: 200,
        align: "center",
      },
      {
        title: t("basic.table.applicableFactories"),
        field: "orgCode",
        width: 90,
        align: "center",
        formatter: ({ cellValue, row, column }) => {
          if (cellValue) {
            for (let i = 0; i < plantList.value.length; i++) {
              if (cellValue === plantList.value[i].plantCode) {
                return plantList.value[i].plantName;
              }
            }
          }
        },
      },
      {
        title: t("basic.table.applicableWorkshop"),
        field: "shopCode",
        width: 90,
        align: "center",
        formatter: ({ cellValue, row, column }) => {
          if (cellValue) {
            for (let i = 0; i < shopList.value.length; i++) {
              if (cellValue === shopList.value[i].id) {
                return shopList.value[i].shopName;
              }
            }
          }
          return "";
        },
      },
      {
        title: t("basic.table.productivityModel"),
        field: "productivityModel",
        width: 160,
        align: "center",
      },
      {
        title: t("basic.table.designCapacity"),
        field: "designCapacity",
        width: 160,
        align: "center",
      },
    ];
@@ -227,8 +329,10 @@
function getList() {
  loading.value = true;
  queryParams.value.params = {};
  listPlan(queryParams.value).then((response) => {
    planList.value = response.rows;
  apsStandardProcessRouteHeaderList(queryParams.value).then((response) => {
    processRouteList.value = response.rows;
    loading.value = false;
  }).catch(()=>{
    loading.value = false;
  });
}
@@ -244,82 +348,24 @@
/** 重置按钮操作 */
function resetQuery() {
  page.value.current = 1;
  page.value.total = 0;
  queryParams.value.pageNum = 1;
  proxy.resetForm("queryRef");
  handleQuery();
  processRouteList.value = [];
  subList.value = [];
}
function handleCheckView(row) {
  openDialog.value = true;
  listProcessRoute({ workOrderNo: row.documentNumber }).then(
      (data) => {
  apsStandardProcessRouteLineList({
    routeId: row.routeId,
  }).then((data) => {
        subList.value = data.rows;
      })
  });
}
// /*定义下拉二级表*/
const subGridOptions = ref([
    {
      title: "工艺路线ID",
      field: "itemNo",
      width: 150,
      align: "center",
    },
    {
      title: "工序序号",
      field: "workOrderNo",
      width: 150,
      align: "center",
    },
    {
      title: "工序名称",
      field: "processNumber",
      width: 100,
      align: "center",
    },
    {
      title: "生效日期",
      field: "processName",
      width: 150,
      align: "center",
    },
    {
      title: "失效日期",
      field: "processPlanStartDay",
      width: 200,
      align: "center",
    },
    {
      title: "集成日期",
      field: "processPlanEndDay",
      width: 200,
      align: "center",
    },
    {
      title: "适用工厂",
      field: "standardTime",
      width: 90,
      align: "center",
    },
    {
      title: "适用车间",
      field: "processOrder",
      width: 90,
      align: "center",
    },
    {
      title: "产能模型",
      field: "integrationDay",
      width: 160,
      align: "center",
    },
    {
      title: "设计产能",
      field: "integrationDay",
      width: 160,
      align: "center",
    },
  ])
// const expandConfig = ref({
//   lazy: true,
//   loadMethod({ row }) {
@@ -332,7 +378,13 @@
//   },
// });
getList();
// getList();
onMounted(async () => {
  const res = await listAll_plant({});
  plantList.value = res.data;
  const shopres = await listAll_shop({});
  shopList.value = shopres.data;
});
</script>
<style lang="css" scoped>
h4 {