From e3e17a37d85f50bace525ed019ee0cd8d39143eb Mon Sep 17 00:00:00 2001 From: CD配唱片 <CD配唱片> Date: 星期四, 08 五月 2025 18:19:23 +0800 Subject: [PATCH] 钣金工单计划管理 --- src/views/mainPlan/apsPartRoutStat/index.vue | 39 +++- .env.development | 2 src/views/mainPlan/workOrderJobLog/index.vue | 6 src/views/mainPlan/sheetMetalOrderManage/index.vue | 307 +++++++++++++++++++++++--------------- src/components/HxlhTable/index.vue | 34 ++-- src/utils/i18n/locales/plan/index.js | 6 src/views/basicData/processRouteDataPreparate/index.vue | 8 + src/api/mainPlan/metalOrderManage.js | 23 ++ src/views/basicData/processRoute/index.vue | 3 src/store/modules/request/basic/page.js | 25 +++ src/views/mainPlan/sheetMetalRedundantReport/index.vue | 2 src/App.vue | 14 + 12 files changed, 315 insertions(+), 154 deletions(-) diff --git a/.env.development b/.env.development index a4a0a7d..f0b6c1e 100644 --- a/.env.development +++ b/.env.development @@ -10,4 +10,4 @@ # 閰嶅悎鍚庣鏈嶅姟 # VITE_APP_LOCAL = 'int' # VITE_APP_LOCAL = 'zhl' -VITE_APP_LOCAL = 'cxl' \ No newline at end of file +VITE_APP_LOCAL = 'sfd' \ No newline at end of file diff --git a/src/App.vue b/src/App.vue index 9b83df5..15d9d23 100644 --- a/src/App.vue +++ b/src/App.vue @@ -1,5 +1,8 @@ <template> - <el-config-provider :locale="locale==='zh'?zhCnEl:enUsEl"> + <el-config-provider :locale="locale === 'zh' ? zhCnEl : enUsEl"> + <!-- <keep-alive :include="cachedViews"> + <router-view /> + </keep-alive> --> <router-view /> </el-config-provider> </template> @@ -12,6 +15,15 @@ const { locale } = useI18n(); import useSettingsStore from "@/store/modules/settings"; import { handleThemeStyle } from "@/utils/theme"; +const route = useRoute(); +const router = useRouter(); +const cachedViews = computed(() => { + console.log(router.getRoutes(),"router.getRoutes()") + return router + .getRoutes() // 鑾峰彇鎵�鏈夎矾鐢� + .filter((r) => r.meta && r.meta.keepAlive) // 杩囨护鍑洪渶瑕佺紦瀛樼殑璺敱 + .map((r) => r.name); // 鑾峰彇璺敱鍚嶇О浣滀负缂撳瓨閿�� +}); onMounted(() => { nextTick(() => { // 鍒濆鍖栦富棰樻牱寮� diff --git a/src/api/mainPlan/metalOrderManage.js b/src/api/mainPlan/metalOrderManage.js new file mode 100644 index 0000000..9875539 --- /dev/null +++ b/src/api/mainPlan/metalOrderManage.js @@ -0,0 +1,23 @@ +import request from "@/utils/request"; +export function metalOrderManageList(query) { + return request({ + url: `/aps/ApsPlatOrderPlanManager/list`, + method: "get", + params: query + }); +} +// /ApsPlatOrderPlanManager/requirement/list?workOrderNo=abc +export function metalOrderManageSubList(workOrderNo) { + return request({ + url: `/aps/ApsPlatOrderPlanManager/requirement/list?workOrderNo=${workOrderNo}`, + method: "get" + }); +} + +//aps/ApsPlateStandardRequire/generatorPlan +export function generatorPlanList() { + return request({ + url: `/aps/ApsPlateStandardRequire/generatorPlan`, + method: "post" + }); +} \ No newline at end of file diff --git a/src/components/HxlhTable/index.vue b/src/components/HxlhTable/index.vue index 6ecc5ea..8d2a643 100644 --- a/src/components/HxlhTable/index.vue +++ b/src/components/HxlhTable/index.vue @@ -178,18 +178,18 @@ return {}; }, }, - virtualYConfig:{ + virtualYConfig: { type: Object, default: () => { return {}; }, }, - editConfig:{ + editConfig: { type: Object, default: () => { return {}; }, - } + }, }); const tableForm = ref([]); @@ -227,22 +227,22 @@ // 杩斿洖 Vuex 涓殑 hxlhTableFootData 鐘舵�� // return useStore.state.hxlhTableFootData; } -function scrollBoundaryEvent ({ direction }) { +function scrollBoundaryEvent({ direction }) { switch (direction) { - case 'top': - console.log('瑙﹀彂椤堕儴闃堝�艰寖鍥�') - break - case 'bottom': - console.log('瑙﹀彂搴曢儴闃堝�艰寖鍥�') + case "top": + console.log("瑙﹀彂椤堕儴闃堝�艰寖鍥�"); + break; + case "bottom": + console.log("瑙﹀彂搴曢儴闃堝�艰寖鍥�"); // this.loadList(20) - emit('bottomAutoLoadMore') - break - case 'left': - console.log('瑙﹀彂宸︿晶闃堝�艰寖鍥�') - break - case 'right': - console.log('瑙﹀彂鍙充晶闃堝�艰寖鍥�') - break + emit("bottomAutoLoadMore"); + break; + case "left": + console.log("瑙﹀彂宸︿晶闃堝�艰寖鍥�"); + break; + case "right": + console.log("瑙﹀彂鍙充晶闃堝�艰寖鍥�"); + break; } } function handleSum(list, field) { diff --git a/src/store/modules/request/basic/page.js b/src/store/modules/request/basic/page.js new file mode 100644 index 0000000..6b45a95 --- /dev/null +++ b/src/store/modules/request/basic/page.js @@ -0,0 +1,25 @@ + +import { metalOrderManageList } from "@/api/mainPlan/metalOrderManage.js"; +const useBasicStore = defineStore( + 'basicView', + { + state: () => ({ + sheetMetalOrderManageList: [], + }), + actions: { + //鑾峰彇閽i噾宸ュ崟璁″垝绠$悊鍒楄〃璇锋眰鏁版嵁 + getMetalOrderManagerList(query) { + return new Promise((reslove,reject)=>{ + metalOrderManageList(query).then(res=>{ + console.log(res,"metalOrderManageListmetalOrderManageList") + this.sheetMetalOrderManageList = res + reslove(res) + }).catch(error => { + reject(error) + }) + }) + } + } + }) + +export default useBasicStore diff --git a/src/utils/i18n/locales/plan/index.js b/src/utils/i18n/locales/plan/index.js index 75901c0..90ec9e8 100644 --- a/src/utils/i18n/locales/plan/index.js +++ b/src/utils/i18n/locales/plan/index.js @@ -168,7 +168,8 @@ customizePlannedCompletionDate:"鑷畾涔夎鍒掑畬宸ユ棩", //閽i噾鏂欏彿宸ュ崟寮傚父 abnormalCause:"寮傚父鍘熷洜", - creationTime:"宸ュ崟鍒涘缓鏃堕棿" + creationTime:"宸ュ崟鍒涘缓鏃堕棿", + suggestedCompletionDate:"寤鸿瀹屾垚鏃ユ湡" }, }; export const en = { @@ -341,6 +342,7 @@ customizePlannedCompletionDate:"Customize the planned completion date", //閽i噾鏂欏彿宸ュ崟寮傚父 abnormalCause:"Abnormal cause", - creationTime:"Creation time" + creationTime:"Creation time", + suggestedCompletionDate:"Suggested Completion Date寤鸿瀹屾垚鏃ユ湡" }, }; diff --git a/src/views/basicData/processRoute/index.vue b/src/views/basicData/processRoute/index.vue index ecc1327..a65b93f 100644 --- a/src/views/basicData/processRoute/index.vue +++ b/src/views/basicData/processRoute/index.vue @@ -70,6 +70,7 @@ <HxlhTable style="width: 100%" :columns="columns" + :showOverflow="true" :virtualYConfig="virtualYConfig" :data="processRouteList" :loading="loading" @@ -407,7 +408,7 @@ const data = reactive({ form: {}, queryParams: { - pageNum: 0, + pageNum: 1, pageSize: 100, itemNo: null, integrationDay: null, diff --git a/src/views/basicData/processRouteDataPreparate/index.vue b/src/views/basicData/processRouteDataPreparate/index.vue index dd00a50..c25fe34 100644 --- a/src/views/basicData/processRouteDataPreparate/index.vue +++ b/src/views/basicData/processRouteDataPreparate/index.vue @@ -82,6 +82,8 @@ :data="processRouteList" :loading="loading" :height="height" + :virtualYConfig="virtualYConfig" + :showOverflow="true" @on-checkbox="handleCheckboxChange" :page="page" @changePageNo="changePageNo" @@ -138,6 +140,11 @@ 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, @@ -343,6 +350,7 @@ apsStandardProcessRouteHeaderList(queryParams.value) .then((response) => { processRouteList.value = response.rows; + page.value.total = response.total; loading.value = false; }) .catch(() => { diff --git a/src/views/mainPlan/apsPartRoutStat/index.vue b/src/views/mainPlan/apsPartRoutStat/index.vue index d33329f..2395889 100644 --- a/src/views/mainPlan/apsPartRoutStat/index.vue +++ b/src/views/mainPlan/apsPartRoutStat/index.vue @@ -49,6 +49,10 @@ showOverflow: true, showHeaderOverflow: true, showFooterOverflow: true, + virtualXConfig: { + enabled: true, + gt: 0, + }, height: height, columnConfig: { resizable: true, @@ -68,9 +72,13 @@ let tableColumn = []; let tableData = []; let merges = []; -watch(locale, (newLocale) => { - getList() -},{immediate:true, deep:true}) +watch( + locale, + (newLocale) => { + getList(); + }, + { immediate: true, deep: true } +); /** 鏌ヨ闆朵欢缁熻琛ㄥ垪琛� */ function getList() { let rowKey = 0; @@ -89,14 +97,19 @@ loading.value = false; return; } - headersOne.push(t('plan.table.dateYearMonth')); - headersTwo.push(t('plan.table.resourceName')); + headersOne.push(t("plan.table.dateYearMonth")); + headersTwo.push(t("plan.table.resourceName")); colList.push({ field: "dateCol", - title: t('plan.table.dateYearMonth'), + title: t("plan.table.dateYearMonth"), fixed: "left", children: [ - { field: `resourceName`, title: t('plan.table.resourceName'), width: 250, type: "html" }, + { + field: `resourceName`, + title: t("plan.table.resourceName"), + width: 250, + type: "html", + }, ], width: 160, }); @@ -112,8 +125,16 @@ field: `dateColTime${colKey}`, title: item, children: [ - { field: `designTimes${colKey}`, title: t("plan.table.designWorkingHours"), width: 80 }, - { field: `requireTimes${colKey}`, title: t("plan.table.requiredWorkingHours"), width: 80 }, + { + field: `designTimes${colKey}`, + title: t("plan.table.designWorkingHours"), + width: 80, + }, + { + field: `requireTimes${colKey}`, + title: t("plan.table.requiredWorkingHours"), + width: 80, + }, { field: `capacityLoad${colKey}`, title: t("plan.table.capacityLoad"), diff --git a/src/views/mainPlan/sheetMetalOrderManage/index.vue b/src/views/mainPlan/sheetMetalOrderManage/index.vue index 4af67d6..2b9872d 100644 --- a/src/views/mainPlan/sheetMetalOrderManage/index.vue +++ b/src/views/mainPlan/sheetMetalOrderManage/index.vue @@ -6,44 +6,58 @@ ref="queryRef" :inline="true" v-show="showSearch" - :label-width="locale=='zh'?'110px':'200px'" + :label-width="locale == 'zh' ? '110px' : '200px'" > - <el-form-item :label="$t('plan.query.workOrderNo')" prop="description"> + <el-form-item :label="$t('plan.query.workOrderNo')" prop="workOrderNo"> <el-input - :style="{width:locale=='zh'? '200px':'280px'}" - v-model="queryParams.description" - :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.workOrderNo')}`" + :style="{ width: locale == 'zh' ? '200px' : '280px' }" + v-model="queryParams.workOrderNo" + :placeholder="`${$t('common.common.placeholder')}${$t( + 'plan.query.workOrderNo' + )}`" clearable @keyup.enter="handleQuery" /> </el-form-item> <!-- <el-row type="flex" justify="left"> <el-col :span="5"> --> - <el-form-item :label="$t('plan.query.requireTraceID')" prop="description"> + <el-form-item + :label="$t('plan.query.requireTraceID')" + prop="requireTraceId" + > <el-input - :style="{width:locale=='zh'? '200px':'280px'}" - v-model="queryParams.description" - :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.requireTraceID')}`" + :style="{ width: locale == 'zh' ? '200px' : '280px' }" + v-model="queryParams.requireTraceId" + :placeholder="`${$t('common.common.placeholder')}${$t( + 'plan.query.requireTraceID' + )}`" clearable @keyup.enter="handleQuery" /> </el-form-item> <!-- </el-col> <el-col :span="5"> --> - <el-form-item :label="$t('plan.query.itemNumber')" prop="description"> + <el-form-item :label="$t('plan.query.itemNumber')" prop="mainPartNumber"> <el-input - :style="{width:locale=='zh'? '200px':'280px'}" - v-model="queryParams.description" - :placeholder="`${$t('common.common.placeholder')}${$t('plan.query.itemNumber')}`" + :style="{ width: locale == 'zh' ? '200px' : '280px' }" + v-model="queryParams.mainPartNumber" + :placeholder="`${$t('common.common.placeholder')}${$t( + 'plan.query.itemNumber' + )}`" clearable @keyup.enter="handleQuery" /> </el-form-item> - <el-form-item :label="$t('plan.table.delayRiskIdentification')" prop="description"> + <el-form-item + :label="$t('plan.table.delayRiskIdentification')" + prop="hasDelayRisk" + > <el-input - :style="{width:locale=='zh'? '200px':'280px'}" - v-model="queryParams.description" - :placeholder="`${$t('common.common.placeholder')}${$t('plan.table.delayRiskIdentification')}`" + :style="{ width: locale == 'zh' ? '200px' : '280px' }" + v-model="queryParams.hasDelayRisk" + :placeholder="`${$t('common.common.placeholder')}${$t( + 'plan.table.delayRiskIdentification' + )}`" clearable @keyup.enter="handleQuery" /> @@ -51,10 +65,12 @@ <!-- </el-col> <el-col :span="14" 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-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> --> @@ -69,7 +85,7 @@ :disabled="multiple" @click="handleBatchUpdatePlanDate" v-hasPermi="['apsPlatePlan:edit']" - >{{$t('plan.btns.batchUpdateOrderDate')}}</el-button + >{{ $t("plan.btns.batchUpdateOrderDate") }}</el-button > </el-col> <el-col :span="1.5"> @@ -77,9 +93,9 @@ type="success" plain icon="Edit" - @click="handleUpdate" + @click="handleGenerateList" v-hasPermi="['apsPlatePlan:edit']" - >{{$t('plan.btns.generatePlanOrder')}}</el-button + >{{ $t("plan.btns.generatePlanOrder") }}</el-button > </el-col> <right-toolbar @@ -90,7 +106,7 @@ <HxlhTable style="width: 100%" :columns="columns" - :data="calendarList" + :data="orderList" :loading="loading" :height="height" ref="tableRef" @@ -105,7 +121,7 @@ link @click="handleCheckView(row)" v-hasPermi="['aps:calendar:update']" - >{{$t('plan.btns.viewRequirement')}}</el-button + >{{ $t("plan.btns.viewRequirement") }}</el-button > </template> </HxlhTable> @@ -119,10 +135,17 @@ style="width: 100%" :columns="subGridOptions" :data="subList" - :loading="loading" + :loading="loadingSub" :height="heightSub" > </HxlhTable> + <template #footer> + <span class="dialog-footer"> + <el-button @click="openDialog = false">{{ + $t("common.common.cancel") + }}</el-button> + </span> + </template> </el-dialog> <el-dialog :title="$t('plan.btns.batchUpdateOrderDate')" @@ -131,15 +154,19 @@ append-to-body > <div class="mode_box"> - <span>{{$t('plan.title.setMode')}}</span> + <span>{{ $t("plan.title.setMode") }}</span> <el-radio-group v-model="radio"> - <el-radio :label="1">{{$t('plan.btns.batchUpdateOrderDate')}}</el-radio> - <el-radio :label="2">{{$t('plan.title.CustomizePlannedCompletionDate')}}</el-radio> + <el-radio :label="1">{{ + $t("plan.btns.batchUpdateOrderDate") + }}</el-radio> + <el-radio :label="2">{{ + $t("plan.title.CustomizePlannedCompletionDate") + }}</el-radio> </el-radio-group> </div> - <div class="red_color">{{$t('plan.title.tipsBugSheetMetal')}}</div> - <div class="mode_box" v-if="radio===2"> - <span>{{$t('plan.title.CustomizePlannedCompletionDate')}}</span> + <div class="red_color">{{ $t("plan.title.tipsBugSheetMetal") }}</div> + <div class="mode_box" v-if="radio === 2"> + <span>{{ $t("plan.title.CustomizePlannedCompletionDate") }}</span> <el-date-picker v-model="value4" type="dates" @@ -147,7 +174,7 @@ /> </div> <HxlhTable - v-if="radio===1" + v-if="radio === 1" style="width: 100%" :columns="subUpdateGridOptions" :data="subUpdateList" @@ -156,7 +183,7 @@ > </HxlhTable> <HxlhTable - v-if="radio===2" + v-if="radio === 2" style="width: 100%" :columns="subUpdateCustomGridOptions" :data="subUpdateList" @@ -164,25 +191,25 @@ :height="heightSub" > </HxlhTable> + <template #footer> + <span class="dialog-footer"> + <el-button @click="openBatchDialog = false">{{ + $t("common.common.cancel") + }}</el-button> + </span> + </template> </el-dialog> </div> </template> <script setup name="Calendar"> import HxlhTable from "@/components/HxlhTable"; -import { - listCalendar, - getCalendar, - delCalendar, - addCalendar, - updateCalendar, -} from "@/api/basicData/calendar"; -import axios from "axios"; +import useBasicStore from "@/store/modules/request/basic/page"; import { listAll_plant } from "@/api/basicData/plant"; -import { listAll_shop, listAps_shop } from "@/api/basicData/shop"; -import { plateStandardRequireErrorList } from "@/api/basicData/sheetMetalConfig/sheetMetalConfig.js"; +import { metalOrderManageList,metalOrderManageSubList,generatorPlanList } from "@/api/mainPlan/metalOrderManage.js"; import { useI18n } from "vue-i18n"; //瑕佸湪js涓娇鐢ㄥ浗闄呭寲 const { t, locale } = useI18n(); +const basicStore = useBasicStore(); const { proxy } = getCurrentInstance(); const radio = ref(1); const openDialog = ref(false); @@ -193,8 +220,9 @@ const subList = ref([]); const subUpdateList = ref([]); // const tableRef = ref(); -const calendarList = ref([]); -const loading = ref(true); +const orderList = ref([]); +const loading = ref(false); +const loadingSub = ref(false) const showSearch = ref(true); const ids = ref([]); const single = ref(true); @@ -208,18 +236,13 @@ queryParams: { pageNum: 1, pageSize: 10, - description: null, - type: null, - effectiveDate: null, - expiringDate: null, - content: null, - applicableFactory: null, - applicableWorkshop: null, - applicableProcess: null, + workOrderNo: null, + requireTraceId: null, + mainPartNumber: null, + hasDelayRisk: null, }, }); const { queryParams, form, rules } = toRefs(data); -const typeRadioNumber = ref(1); const plantList = ref([]); const shopList = ref([]); const allShopList = ref([]); @@ -240,61 +263,61 @@ { type: "checkbox", width: 60, align: "center" }, { title: t("basic.table.requirementID"), - field: "description", + field: "requireId", width: 150, align: "center", }, { title: t("basic.table.requirementTraceabilityID"), - field: "type", + field: "requireTraceId", width: 200, align: "center", }, { title: t("plan.table.workOrderNo"), - field: "effectiveDate", + field: "workOrderNo", width: 200, align: "center", }, { title: t("basic.table.matchQuantity"), - field: "expiringDate", + field: "deductionAmount", width: 200, align: "center", }, { title: t("basic.table.workOrderType"), - field: "expiringDate", + field: "workOrderType", width: 200, align: "center", }, { title: t("plan.table.itemNumber"), - field: "createTime", + field: "mainPartNumber", width: 200, align: "center", }, { title: t("plan.table.mainPartDrawingNumber"), - field: "createTime", + field: "mainPartDrawingNumber", width: 200, align: "center", }, { title: t("basic.table.mainCustomer"), - field: "createTime", + field: "customer", width: 200, align: "center", }, { title: t("plan.table.productionQuantity"), - field: "updateTime", + field: "productionQuantity", width: 100, align: "center", }, { title: t("basic.table.applicableFactories"), - field: "applicableFactory", + field: "applicableFactories", width: 200, align: "center", formatter: ({ cellValue, row, column }) => { @@ -309,37 +332,37 @@ }, { title: t("plan.table.productionBase"), - field: "updateTime", + field: "productionBase", width: 100, align: "center", }, { title: t("plan.table.planStartDay"), - field: "updateTime", + field: "planStartDay", width: 100, align: "center", }, { title: t("plan.table.planEndDayDate"), - field: "updateTime", + field: "planEndDay", width: 100, align: "center", }, { title: t("plan.table.workorderCreationTime"), - field: "updateTime", + field: "orderCreateTime", width: 100, align: "center", }, { title: t("plan.table.mismatchedProductionQuantity"), - field: "updateTime", + field: "unmatchedQuantity", width: 100, align: "center", }, { title: t("plan.table.delayRiskIdentification"), - field: "updateTime", + field: "hasDelayRisk", width: 100, align: "center", }, @@ -354,91 +377,115 @@ subGridOptions.value = [ { title: t("basic.table.requirementID"), - field: "description", + field: "id", width: 150, align: "center", }, { title: t("basic.table.requirementTraceabilityID"), - field: "type", + field: "requireId", width: 200, align: "center", }, { title: t("plan.table.itemNumber"), - field: "effectiveDate", + field: "bomLineCode", width: 200, align: "center", }, { title: t("plan.table.bomLowCode"), - field: "expiringDate", + field: "bomLineLevel", width: 200, align: "center", }, { title: t("plan.table.bomUsage"), - field: "expiringDate", + field: "bomUseAmount", width: 200, align: "center", }, { title: t("basic.table.processRouteID"), - field: "createTime", + field: "processRouteId", width: 200, align: "center", }, { title: t("plan.table.processRouteWorkingHours"), - field: "updateTime", + field: "processRouteHours", width: 100, align: "center", }, { title: t("plan.table.demandQuantity"), - field: "updateTime", + field: "requireAmount", width: 100, align: "center", }, { title: t("plan.table.netRequirement"), - field: "updateTime", + field: "netRequirement", width: 100, align: "center", }, { title: t("plan.table.planStartDay"), - field: "updateTime", + field: "startDate", width: 100, align: "center", }, { title: t("plan.table.planEndDayDate"), - field: "updateTime", + field: "completeDate", width: 100, align: "center", }, { title: t("plan.table.requirementDate"), - field: "updateTime", + field: "demandDate", width: 100, align: "center", }, { title: t("basic.table.applicableFactories"), - field: "updateTime", + field: "orgCode", width: 100, align: "center", }, { title: t("plan.table.productionBase"), - field: "updateTime", + field: "productionBase", width: 100, align: "center", }, { title: t("plan.table.matchState"), - field: "updateTime", + field: "matchState", + width: 100, + align: "center", + }, + { + title: t("plan.table.matchPattern"), + field: "matchMode", + width: 100, + align: "center", + }, + { + title: t("plan.table.unmatchedDemandQuantity"), + field: "unmatchedDemandAmount", + width: 100, + align: "center", + }, + { + title: t("plan.table.suggestedCompletionDate"), + field: "suggestedCompletionDate", + width: 100, + align: "center", + }, + { + title: t("plan.table.delayRiskIdentification"), + field: "hasDelayRisk", width: 100, align: "center", }, @@ -446,61 +493,61 @@ subUpdateGridOptions.value = [ { title: t("basic.table.requirementID"), - field: "description", + field: "requireId", width: 150, align: "center", }, { title: t("basic.table.requirementTraceabilityID"), - field: "type", + field: "requireTraceId", width: 200, align: "center", }, { title: t("plan.table.workOrderNo"), - field: "effectiveDate", + field: "workOrderNo", width: 200, align: "center", }, { title: t("basic.table.matchQuantity"), - field: "expiringDate", + field: "deductionAmount", width: 200, align: "center", }, { title: t("basic.table.workOrderType"), - field: "expiringDate", + field: "workOrderType", width: 200, align: "center", }, { title: t("plan.table.itemNumber"), - field: "createTime", + field: "mainPartNumber", width: 200, align: "center", }, { title: t("plan.table.planStartDay"), - field: "updateTime", + field: "planStartDay", width: 100, align: "center", }, { title: t("plan.table.planEndDayDate"), - field: "updateTime", + field: "planEndDay", width: 100, align: "center", }, { title: t("plan.table.startDateOfDemandPlan"), - field: "updateTime", + field: "startDay", width: 100, align: "center", }, { title: t("plan.table.requirementPlanCompletionDate"), - field: "updateTime", + field: "completeDay", width: 100, align: "center", }, @@ -508,49 +555,49 @@ subUpdateCustomGridOptions.value = [ { title: t("basic.table.requirementID"), - field: "description", + field: "requireId", width: 150, align: "center", }, { title: t("basic.table.requirementTraceabilityID"), - field: "type", + field: "requireTraceId", width: 200, align: "center", }, { title: t("plan.table.workOrderNo"), - field: "effectiveDate", + field: "workOrderNo", width: 200, align: "center", }, { title: t("basic.table.matchQuantity"), - field: "expiringDate", + field: "deductionAmount", width: 200, align: "center", }, { title: t("basic.table.workOrderType"), - field: "expiringDate", + field: "workOrderType", width: 200, align: "center", }, { title: t("plan.table.itemNumber"), - field: "createTime", + field: "mainPartNumber", width: 200, align: "center", }, { title: t("plan.table.planStartDay"), - field: "updateTime", + field: "planStartDay", width: 100, align: "center", }, { title: t("plan.table.planEndDayDate"), - field: "updateTime", + field: "planEndDay", width: 100, align: "center", }, @@ -560,7 +607,7 @@ width: 100, align: "center", }, - ] + ]; }, { immediate: true, @@ -572,15 +619,38 @@ } function handleCheckView(row) { openDialog.value = true; + loadingSub.value = true; + metalOrderManageSubList(row.workOrderNo).then((res)=>{ + subList.value = res; + loadingSub.value = false; + console.log(res,"metalOrderManageSubListmetalOrderManageSubList") + }).catch(()=>{ + loadingSub.value = false; + }) } -/** 鏌ヨ鏃ュ巻绠$悊鍒楄〃 */ +async function handleGenerateList(){ + await generatorPlanList() +} +/** 鏌ヨ閽i噾宸ュ崟璁″垝绠$悊鍒楄〃 */ function getList() { loading.value = true; - listCalendar(queryParams.value).then((response) => { - calendarList.value = response.rows; - page.value.total = response.total; + if (basicStore.sheetMetalOrderManageList&&basicStore.sheetMetalOrderManageList.rows) { + orderList.value = basicStore.sheetMetalOrderManageList.rows; loading.value = false; - }); + } else { + basicStore.getMetalOrderManagerList(queryParams.value).then((response) => { + orderList.value = response.rows; + page.value.total = response.total; + loading.value = false; + }).catch(()=>{ + loading.value = false; + }); + } + // metalOrderManageList(queryParams.value).then((response) => { + // orderList.value = response.rows; + // page.value.total = response.total; + // loading.value = false; + // }); // axios // .all([ // /** 鏌ヨ宸ュ巶鍒楄〃 */ @@ -599,11 +669,6 @@ // console.error("璇锋眰鍑洪敊:", error); // }); } -// 琛ㄥ崟閲嶇疆 -function reset() { - proxy.resetForm("calendarRef"); -} - /** 鎼滅储鎸夐挳鎿嶄綔 */ function handleQuery() { queryParams.value.pageNum = 1; @@ -642,16 +707,16 @@ .column-with-margin { margin-right: 0px; } -.mode_box{ +.mode_box { margin-left: 30px; margin-bottom: 10px; - & span{ + & span { padding-right: 20px; } } -.red_color{ - color:#f56c6c; - margin-bottom:10px; +.red_color { + color: #f56c6c; + margin-bottom: 10px; } .mart5 { margin-top: 5px; diff --git a/src/views/mainPlan/sheetMetalRedundantReport/index.vue b/src/views/mainPlan/sheetMetalRedundantReport/index.vue index b9f7dbf..a6062c5 100644 --- a/src/views/mainPlan/sheetMetalRedundantReport/index.vue +++ b/src/views/mainPlan/sheetMetalRedundantReport/index.vue @@ -183,7 +183,7 @@ }, { immediate: true, deep: true } ); -/** 鏌ヨ鏃ュ巻绠$悊鍒楄〃 */ +/** 鏌ヨ绠$悊鍒楄〃 */ function getList() { loading.value = true; redundantOrderList(queryParams.value).then((response) => { diff --git a/src/views/mainPlan/workOrderJobLog/index.vue b/src/views/mainPlan/workOrderJobLog/index.vue index 272056c..2111f0e 100644 --- a/src/views/mainPlan/workOrderJobLog/index.vue +++ b/src/views/mainPlan/workOrderJobLog/index.vue @@ -99,6 +99,7 @@ <HxlhTable style="width: 100%" + :virtualYConfig="virtualYConfig" :columns="columns" :data="LogList" :loading="loading" @@ -154,7 +155,10 @@ const { proxy } = getCurrentInstance(); const height = ref(document.documentElement.clientHeight - 270 + "px;") - +const virtualYConfig = { + enabled: true, + gt: 0 +}; const LogList = ref([]); const open = ref(false); const loading = ref(true); -- Gitblit v1.9.3