chengxiangling
2025-05-16 af1c9e588f1de0240390648f9bb56aa486870aff
src/views/basicData/processRouteDataPreparate/index.vue
@@ -1,78 +1,79 @@
<template>
  <div class="app-container">
    <el-row :gutter="20">
      <el-form
        :model="queryParams"
        ref="queryRef"
        :rules="rules"
        :inline="true"
        v-show="showSearch"
        :label-width="locale === 'zh' ? '90px' : '160px'"
      >
        <el-row :gutter="20">
          <el-col :span="9">
            <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
              <el-input
                style="width: 240px"
                v-model="queryParams.itemCode"
                :placeholder="`${$t('common.common.placeholder')}${$t(
                  'plan.query.itemNumber'
                )}`"
                clearable
                @keyup.enter="handleQuery"
              />
            </el-form-item>
          </el-col>
          <el-col :span="9">
            <el-form-item
              :label="$t('plan.table.applicableFactories')"
              prop="orgCode"
    <el-form
      :model="queryParams"
      ref="queryRef"
      :rules="rules"
      :inline="true"
      v-show="showSearch"
      label-position="left"
    >
      <el-row type="flex" justify="left" :gutter="20">
        <el-col :span="locale === 'zh' ? 5 : 8">
          <el-form-item :label="$t('plan.query.itemNumber')" :label-width="locale === 'zh' ? '50px' : '110px'"  prop="itemCode">
            <el-input
              :style="{ width: locale === 'zh' ? '140px' : '220px' }"
              v-model="queryParams.itemCode"
              :placeholder="`${$t('common.common.placeholder')}${$t(
                'plan.query.itemNumber'
              )}`"
              clearable
              @keyup.enter="handleQuery"
            />
          </el-form-item>
        </el-col>
        <el-col :span="locale === 'zh' ? 7 : 10">
          <el-form-item
            :label="$t('plan.table.applicableFactories')"
            :label-width="locale === 'zh' ? '70px' : '150px'"
            prop="orgCode"
          >
            <el-select
              clearable
              v-model="queryParams.orgCode"
              :style="{ width: locale === 'zh' ? '180px' : '280px' }"
              :placeholder="`${$t('common.common.placeholder')}${$t(
                'plan.table.applicableFactories'
              )}`"
            >
              <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
                  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")
              }}</el-button>
              <el-button icon="Refresh" @click="resetQuery">{{
                $t("common.common.reset")
              }}</el-button>
            </el-form-item>
          </el-col>
        </el-row>
      </el-form>
    </el-row>
              </el-option>
            </el-select>
          </el-form-item>
        </el-col>
        <!-- <el-col :span="locale === 'zh' ? 11 : 6" style="text-align: right">
          <el-form-item class="column-with-margin">
            <el-button type="primary" icon="Search" @click="handleQuery">{{
              $t("common.common.query")
            }}</el-button>
            <el-button icon="Refresh" @click="resetQuery">{{
              $t("common.common.reset")
            }}</el-button>
          </el-form-item>
        </el-col> -->
      </el-row>
    </el-form>
    <el-row :gutter="10" class="mb8">
      <el-col :span="1.5">
        <el-button
          type="success"
          plain
          icon="Refresh"
          :disabled="loadingRefresh"
          @click="handleRefresh"
          v-hasPermi="['apsPartRouteStat:edit']"
          v-hasPermi="['Aps:ApsStandardProcessRouteHeader:refreshProcessRouteData']"
          >{{ $t("common.common.update") }}</el-button
        >
      </el-col>
      <right-toolbar
        v-model:showSearch="showSearch"
        @queryTable="getList"
        @queryTable="handleQuery"
        @resetTable="resetQuery"
      ></right-toolbar>
    </el-row>
@@ -82,6 +83,8 @@
      :data="processRouteList"
      :loading="loading"
      :height="height"
      :virtualYConfig="virtualYConfig"
      :showOverflow="true"
      @on-checkbox="handleCheckboxChange"
      :page="page"
      @changePageNo="changePageNo"
@@ -94,42 +97,57 @@
          type="primary"
          link
          @click="handleCheckView(row)"
          v-hasPermi="['aps:calendar:update']"
          >查看</el-button
          v-hasPermi="['Aps:ApsStandardProcessRouteLine:list']"
          >{{ $t("common.common.view") }}</el-button
        >
      </template>
    </HxlhTable>
    <el-dialog :title="title" v-model="openDialog" width="900px" append-to-body>
    <el-dialog
      :title="$t('common.common.viewDetails')"
      v-model="openDialog"
      width="900px"
      style="height: 400px; overflow: hidden"
      append-to-body
    >
      <HxlhTable
        style="width: 100%"
        :columns="subGridOptions"
        :data="subList"
        :loading="loading"
        :height="heightSub"
        @on-checkbox="handleCheckboxChange"
        :page="page"
        @changePageNo="changePageNo"
        @changePageSize="changePageSize"
        :height="'280px;'"
      >
      </HxlhTable>
      <template #footer>
        <span class="dialog-footer">
          <el-button @click="openDialog = false">{{
            $t("common.common.close")
          }}</el-button>
        </span>
      </template>
    </el-dialog>
  </div>
</template>
<script setup name="ApsPlatePlan">
<script setup name="ProcessRouteDataPreparate">
import { listAll_plant } from "@/api/basicData/plant";
import {
  apsStandardProcessRouteHeaderList,
  apsStandardProcessRouteLineList,
  apsRefreshProcessRouteDataList
} 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";
import { ElMessage } from "element-plus";
// import { ElMessage } from "element-plus";
import { useI18n } from "vue-i18n"; //要在js中使用国际化
const { t, locale } = useI18n();
const { proxy } = getCurrentInstance();
const virtualYConfig = {
  enabled: true,
  gt: 0,
  threshold: 50,
};
// 分页属性
const page = ref({
  total: 0,
@@ -142,11 +160,12 @@
const subGridOptions = ref([]);
const subList = ref([]);
const loading = ref(false);
const loadingRefresh = ref(false);
const showSearch = ref(true);
const single = ref(true);
const total = ref(0);
const height = ref(document.documentElement.clientHeight - 270 + "px;");
const height = ref(document.documentElement.clientHeight - 220 + "px;");
const heightSub = ref(document.documentElement.clientHeight - 320 + "px;");
// 表格配置
const columns = ref([]);
@@ -159,15 +178,7 @@
    itemCode: null,
  },
  rules: {
    itemCode: [
      {
        required: true,
        message: `${t("common.common.placeholder")}${t(
          "plan.query.itemNumber"
        )}`,
        trigger: "blur",
      },
    ],
    itemCode: [],
  },
});
@@ -175,6 +186,17 @@
watch(
  locale,
  (newLocale) => {
    rules.value = {
      itemCode: [
        {
          required: true,
          message: `${t("common.common.placeholder")}${t(
            "plan.query.itemNumber"
          )}`,
          trigger: "blur",
        },
      ],
    };
    columns.value = [
      // {
      //   field: "expand",
@@ -222,7 +244,7 @@
        },
      },
      {
        title: "操作",
        title: t("common.common.operate"),
        width: 100,
        fixed: "right",
        slots: { default: "buttons" },
@@ -251,19 +273,19 @@
      {
        title: t("basic.table.effectiveDate"),
        field: "startDate",
        width: 200,
        width: 230,
        align: "center",
      },
      {
        title: t("basic.table.expiringDate"),
        field: "endDate",
        width: 200,
        width: 230,
        align: "center",
      },
      {
        title: t("basic.table.integrationDate"),
        field: "createTime",
        width: 200,
        width: 230,
        align: "center",
      },
      {
@@ -313,6 +335,20 @@
  },
  { immediate: true, deep: true }
);
async function handleRefresh() {
  loadingRefresh.value = true;
  const res = await apsRefreshProcessRouteDataList();
  if (res.code == 200) {
    ElMessage({
      message: t("plan.message.update"),
      type: "success",
    });
    loadingRefresh.value = false;
    getList();
  } else {
    loadingRefresh.value = false;
  }
}
function changePageNo(currentPage) {
  queryParams.value.pageNum = currentPage;
  page.value.current = currentPage;
@@ -329,12 +365,15 @@
function getList() {
  loading.value = true;
  queryParams.value.params = {};
  apsStandardProcessRouteHeaderList(queryParams.value).then((response) => {
    processRouteList.value = response.rows;
    loading.value = false;
  }).catch(()=>{
    loading.value = false;
  });
  apsStandardProcessRouteHeaderList(queryParams.value)
    .then((response) => {
      processRouteList.value = response.rows;
      page.value.total = response.total;
      loading.value = false;
    })
    .catch(() => {
      loading.value = false;
    });
}
/** 搜索按钮操作 */
@@ -390,4 +429,7 @@
h4 {
  font-weight: bold;
}
.column-with-margin {
  margin-right: 0px;
}
</style>