diff --git a/src/views/erp/mold/MoldBrandForm.vue b/src/views/erp/mold/MoldBrandForm.vue index cf8dd540..b23eb975 100644 --- a/src/views/erp/mold/MoldBrandForm.vue +++ b/src/views/erp/mold/MoldBrandForm.vue @@ -169,7 +169,7 @@ const resetForm = () => { productIds: [], images: '', version: '', - status: 0, + status: 1, useTime: 0, maintainType: undefined, maintainTime: undefined, diff --git a/src/views/erp/mold/detail/brand.vue b/src/views/erp/mold/detail/brand.vue index 315f463b..9cbc2dab 100644 --- a/src/views/erp/mold/detail/brand.vue +++ b/src/views/erp/mold/detail/brand.vue @@ -31,8 +31,8 @@
{{ t('MoldManagement.MoldBrandDetail.back') }} - {{ t('MoldManagement.MoldBrandDetail.moldUp') }} - {{ t('MoldManagement.MoldBrandDetail.moldDown') }} + {{ t('MoldManagement.MoldBrandDetail.moldUp') }} + {{ t('MoldManagement.MoldBrandDetail.moldDown') }} {{ t('MoldManagement.MoldBrandDetail.repair') }}
@@ -62,6 +62,7 @@ +
+
+
+
+
+
+
+
@@ -282,6 +290,7 @@ const detailLoading = ref(false) const detailData = ref<(MoldBrandVO & Record) | null>(null) const childMolds = ref([]) const activeTab = ref('molds') +const loadedTabs = ref>(new Set(['molds'])) const inspectionHistory = ref([]) const maintainHistory = ref([]) const repairList = ref([]) @@ -299,6 +308,10 @@ const repairDateRange = ref() const inspectionExportLoading = ref(false) const maintainExportLoading = ref(false) const repairExportLoading = ref(false) +const inspectionLoading = ref(false) +const repairLoading = ref(false) +const maintainLoading = ref(false) +const installLoading = ref(false) const imageList = computed(() => parseImages(detailData.value?.images)) const lifeRate = computed(() => { @@ -453,6 +466,10 @@ const goBack = () => { router.push('/mold/mold-brand') } +const goOperate = (type: number) => { + router.push({ path: '/mold/mold-brand', query: { operateType: String(type), moldId: String(detailData.value?.id) } }) +} + const handleReservedAction = (action: string) => { message.info(t('MoldManagement.MoldBrandDetail.reservedAction', { action })) } @@ -494,49 +511,69 @@ const collectByChildMolds = async (worker: (moldId: number) => Promise, mer const fetchInspectionHistory = async () => { if (!brandId.value) return - const params: any = { moldId: brandId.value } - if (inspectionDateRange.value && inspectionDateRange.value.length === 2) { - params.startTime = inspectionDateRange.value[0] - params.endTime = inspectionDateRange.value[1] + inspectionLoading.value = true + try { + const params: any = { moldId: brandId.value } + if (inspectionDateRange.value && inspectionDateRange.value.length === 2) { + params.startTime = inspectionDateRange.value[0] + params.endTime = inspectionDateRange.value[1] + } + const data = await TicketManagementApi.getInspectionByMoldId(params) + inspectionHistory.value = Array.isArray(data) ? data : [] + } finally { + inspectionLoading.value = false } - const data = await TicketManagementApi.getInspectionByMoldId(params) - inspectionHistory.value = Array.isArray(data) ? data : [] } const fetchMaintainHistory = async () => { if (!brandId.value) return - const params: any = { moldId: brandId.value } - if (maintainDateRange.value && maintainDateRange.value.length === 2) { - params.startTime = maintainDateRange.value[0] - params.endTime = maintainDateRange.value[1] + maintainLoading.value = true + try { + const params: any = { moldId: brandId.value } + if (maintainDateRange.value && maintainDateRange.value.length === 2) { + params.startTime = maintainDateRange.value[0] + params.endTime = maintainDateRange.value[1] + } + const data = await TicketManagementApi.getMaintenanceByMoldId(params) + maintainHistory.value = Array.isArray(data) ? data : [] + } finally { + maintainLoading.value = false } - const data = await TicketManagementApi.getMaintenanceByMoldId(params) - maintainHistory.value = Array.isArray(data) ? data : [] } const fetchRepairHistory = async () => { if (!brandId.value) return - const params: any = { moldId: brandId.value } - if (repairDateRange.value && repairDateRange.value.length === 2) { - params.startTime = repairDateRange.value[0] - params.endTime = repairDateRange.value[1] + repairLoading.value = true + try { + const params: any = { moldId: brandId.value } + if (repairDateRange.value && repairDateRange.value.length === 2) { + params.startTime = repairDateRange.value[0] + params.endTime = repairDateRange.value[1] + } + const data = await MoldRepairApi.getRepairListByMoldId(params) + repairList.value = Array.isArray(data) ? data : [] + repairActiveNames.value = repairGroups.value.map((item) => item.key) + } finally { + repairLoading.value = false } - const data = await MoldRepairApi.getRepairListByMoldId(params) - repairList.value = Array.isArray(data) ? data : [] - repairActiveNames.value = repairGroups.value.map((item) => item.key) } const fetchInstallRecords = async () => { if (!brandId.value) return - const params: any = { pageNo: installPageNo.value, pageSize: installPageSize.value, brandId: brandId.value } - if (installMoldId.value) params.moldId = installMoldId.value - if (installRemark.value) params.remark = installRemark.value - if (installDateRange.value && installDateRange.value.length === 2) { - params.createTime = [installDateRange.value[0], installDateRange.value[1]] + installLoading.value = true + try { + const params: any = { pageNo: installPageNo.value, pageSize: installPageSize.value, brandId: brandId.value } + if (installMoldId.value) params.moldId = installMoldId.value + if (installRemark.value) params.remark = installRemark.value + if (installDateRange.value && installDateRange.value.length === 2) { + params.createTime = [installDateRange.value[0], installDateRange.value[1]] + } + const data = await MoldOperateApi.getMoldOperatePage(params) + installRecords.value = data?.list ?? [] + installTotal.value = data?.total ?? 0 + } finally { + installLoading.value = false } - const data = await MoldOperateApi.getMoldOperatePage(params) - installRecords.value = data?.list ?? [] - installTotal.value = data?.total ?? 0 } const handleQueryInstall = () => { @@ -605,13 +642,38 @@ const getDetail = async () => { detailLoading.value = true try { detailData.value = await MoldBrandApi.getMoldBrand(brandId.value) - await getChildMolds() - await Promise.all([fetchInspectionHistory(), fetchMaintainHistory(), fetchRepairHistory(), fetchInstallRecords()]) } finally { detailLoading.value = false } } +const loadTabData = async (tab: string) => { + if (loadedTabs.value.has(tab)) return + loadedTabs.value.add(tab) + switch (tab) { + case 'inspection': + await getChildMolds() + fetchInspectionHistory() + break + case 'repair': + await getChildMolds() + fetchRepairHistory() + break + case 'maintain': + await getChildMolds() + fetchMaintainHistory() + break + case 'install': + await getChildMolds() + fetchInstallRecords() + break + } +} + +watch(activeTab, (val) => { + loadTabData(val) +}) + onMounted(() => { getDetail() }) diff --git a/src/views/erp/mold/index.vue b/src/views/erp/mold/index.vue index 4551b7c7..956829e9 100644 --- a/src/views/erp/mold/index.vue +++ b/src/views/erp/mold/index.vue @@ -91,12 +91,12 @@ - - + +