CD配唱片
2025-05-09 84ee03eb7701d8aeb8aa9514989f2c8b4ce53e79
src/views/basicData/bom/index.vue
@@ -9,52 +9,54 @@
        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: 210px"
                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-row :gutter="20">
          <el-col :span="10"> -->
        <el-form-item :label="$t('plan.query.itemNumber')" prop="itemCode">
          <el-input
            style="width: 210px"
            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="10"> -->
        <el-form-item
          :label="$t('plan.table.applicableFactories')"
          prop="orgCode"
        >
          <el-select
            clearable
            v-model="queryParams.orgCode"
            style="width: 160px"
            :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-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")
              }}</el-button>
              <el-button icon="Refresh" @click="resetQuery">{{
                $t("common.common.reset")
              }}</el-button>
            </el-form-item>
          </el-col>
        </el-row>
            </el-option>
          </el-select>
        </el-form-item>
        <!-- </el-col>
          <el-col :span="4" 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-row :gutter="10" class="mb8">
@@ -63,8 +65,9 @@
          type="success"
          plain
          icon="Refresh"
          :disabled="loadingRefresh"
          @click="handleRefresh"
          v-hasPermi="['apsPartRouteStat:edit']"
          v-hasPermi="['Aps:ApsBomHeader:refreshBomData']"
          >{{ $t("common.common.update") }}</el-button
        >
      </el-col>
@@ -92,20 +95,33 @@
          type="primary"
          link
          @click="handleCheckView(row)"
          v-hasPermi="['aps:calendar:update']"
          v-hasPermi="['Aps:apsBom:list']"
          >查看</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"
      append-to-body
      style="height:400px;overflow:hidden;"
    >
      <HxlhTable
        style="width: 100%"
        :columns="subGridOptions"
        :data="subList"
        :loading="loadingSub"
        :height="heightSub"
        :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>
@@ -114,10 +130,11 @@
import {
  listApsBomHeaderList,
  listApsBomLineList,
  listApsBomRefreshBomDataList
} from "@/api/basicData/bom/bom.js";
import { listAll_plant } from "@/api/basicData/plant";
import HxlhTable from "@/components/HxlhTable/index.vue";
import { ElMessage } from "element-plus";
// import { ElMessage } from "element-plus";
import { useI18n } from "vue-i18n"; //要在js中使用国际化
const { t, locale } = useI18n();
const { proxy } = getCurrentInstance();
@@ -132,9 +149,10 @@
const subList = ref([]);
const loading = ref(false);
const loadingSub = ref(false);
const loadingRefresh = ref(false);
const showSearch = ref(true);
const total = ref(0);
const height = ref(document.documentElement.clientHeight - 270 + "px;");
const height = ref(document.documentElement.clientHeight - 210 + "px;");
const heightSub = ref(document.documentElement.clientHeight - 320 + "px;");
// 表格配置
const columns = ref([]);
@@ -145,7 +163,7 @@
    pageNum: 1,
    pageSize: 10,
    itemCode: null,
    orgCode:""
    orgCode: "",
  },
  rules: {},
});
@@ -175,7 +193,7 @@
      // },
      // { type: "checkbox", width: 60, align: "center" },
      {
        title: "BOM_Header_ID",
        title: "BOM ID",
        field: "bomHeaderId",
      },
      {
@@ -221,13 +239,13 @@
    ];
    subGridOptions.value = [
      {
        title: "BOM_Line_ID",
        title: t("plan.table.bomItemID"),
        field: "bomLineId",
        width: 150,
        align: "center",
      },
      {
        title: "BOM_Header_ID",
        title: "BOM ID",
        field: "bomHeaderId",
        width: 150,
        align: "center",
@@ -287,7 +305,20 @@
  },
  { immediate: true, deep: true }
);
async function handleRefresh() {
  loadingRefresh.value = true;
  const res = await listApsBomRefreshBomDataList()
  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;