| | |
| | | <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' : '120px'" |
| | | > |
| | | <el-row :gutter="20"> |
| | | <el-col :span="10"> |
| | | <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="8"> |
| | | <el-form-item |
| | | label="适用工厂" |
| | | prop="orgCode" |
| | | <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="locale === 'zh' ? 5 : 9"> |
| | | <el-form-item :label="$t('plan.query.itemNumber')" 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 : 9"> |
| | | <el-form-item |
| | | :label="$t('plan.table.applicableFactories')" |
| | | prop="orgCode" |
| | | > |
| | | <el-select |
| | | clearable |
| | | v-model="queryParams.orgCode" |
| | | :style="{ width: locale === 'zh' ? '180px' : '240px' }" |
| | | :placeholder="`${$t('common.common.placeholder')}${$t( |
| | | 'plan.table.applicableFactories' |
| | | )}`" |
| | | > |
| | | <el-select |
| | | clearable |
| | | v-model="queryParams.orgCode" |
| | | style="width: 160px" |
| | | placeholder="请输入适用工厂" |
| | | <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:ApsBomHeader:refreshBomData']" |
| | | >{{ $t("common.common.update") }}</el-button |
| | | > |
| | | </el-col> |
| | |
| | | type="primary" |
| | | link |
| | | @click="handleCheckView(row)" |
| | | v-hasPermi="['aps:calendar:update']" |
| | | >查看</el-button |
| | | v-hasPermi="['Aps:apsBom: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" |
| | | 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> |
| | | |
| | | <script setup name="ApsPlatePlan"> |
| | | <script setup name="Bom"> |
| | | 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(); |
| | |
| | | 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([]); |
| | |
| | | pageNum: 1, |
| | | pageSize: 10, |
| | | itemCode: null, |
| | | orgCode:"" |
| | | orgCode: "", |
| | | }, |
| | | rules: {}, |
| | | }); |
| | |
| | | // }, |
| | | // { type: "checkbox", width: 60, align: "center" }, |
| | | { |
| | | title: "BOM_Header_ID", |
| | | title: "BOM ID", |
| | | field: "bomHeaderId", |
| | | }, |
| | | { |
| | |
| | | }, |
| | | }, |
| | | { |
| | | title: "操作", |
| | | title: t("common.common.operate"), |
| | | width: 100, |
| | | fixed: "right", |
| | | slots: { default: "buttons" }, |
| | |
| | | ]; |
| | | 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", |
| | |
| | | }, |
| | | { 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; |