diff --git a/src/views/erp/product/category/ProductCategoryForm.vue b/src/views/erp/product/category/ProductCategoryForm.vue index af83af42..b2a1b38d 100644 --- a/src/views/erp/product/category/ProductCategoryForm.vue +++ b/src/views/erp/product/category/ProductCategoryForm.vue @@ -251,7 +251,8 @@ const processRouteQueryParams = reactive({ pageNo: 1, pageSize: 10, code: undefined, - name: undefined + name: undefined, + isEnable: 'true' }) const selectedProcessRouteId = ref() const selectedProcessRouteRow = ref() @@ -260,9 +261,14 @@ const processRouteDisplayName = computed(() => { if (!formData.value.processRouteId) return '' return formData.value.processRouteName || String(formData.value.processRouteId) }) - const isProductType = computed(() => Number(formData.value.type) === 1) +const isEnabledProcessRoute = (row?: ProcessRouteVO) => { + if (!row) return false + if (row.isEnable === undefined || row.isEnable === null) return true + return ['true', '1'].includes(String(row.isEnable)) +} + /** 打开弹窗 */ const open = async (type: string, id?: number, defaultData?: any) => { dialogVisible.value = true @@ -357,7 +363,7 @@ const getProcessRouteList = async () => { processRouteLoading.value = true try { const data = await ProcessRouteApi.getProcessRoutePage(processRouteQueryParams) - processRouteList.value = data.list || [] + processRouteList.value = Array.isArray(data.list) ? data.list.filter(isEnabledProcessRoute) : [] processRouteTotal.value = data.total || 0 if (selectedProcessRouteId.value) { selectedProcessRouteRow.value = @@ -370,19 +376,24 @@ const getProcessRouteList = async () => { } const openProcessRouteDialog = async () => { - selectedProcessRouteId.value = formData.value.processRouteId - selectedProcessRouteRow.value = formData.value.processRouteId - ? { - id: formData.value.processRouteId, - name: formData.value.processRouteName + selectedProcessRouteId.value = undefined + selectedProcessRouteRow.value = undefined + if (formData.value.processRouteId) { + try { + const data = await ProcessRouteApi.getProcessRoute(Number(formData.value.processRouteId)) + if (isEnabledProcessRoute(data)) { + selectedProcessRouteId.value = formData.value.processRouteId + selectedProcessRouteRow.value = data } - : undefined + } catch {} + } processRouteQueryParams.pageNo = 1 processRouteDialogVisible.value = true await getProcessRouteList() } const handleProcessRouteRowClick = (row: ProcessRouteVO) => { + if (!isEnabledProcessRoute(row)) return selectedProcessRouteId.value = row.id selectedProcessRouteRow.value = row } @@ -395,6 +406,10 @@ const confirmProcessRoute = () => { const row = selectedProcessRouteRow.value || processRouteList.value.find((item) => String(item.id) === String(selectedProcessRouteId.value)) + if (!isEnabledProcessRoute(row)) { + message.warning(t('FactoryModeling.ProductCategory.processRouteSelectRequired')) + return + } formData.value.processRouteId = selectedProcessRouteId.value formData.value.processRouteName = row?.name || String(selectedProcessRouteId.value) processRouteDialogVisible.value = false @@ -414,6 +429,7 @@ const handleProcessRouteQuery = () => { const resetProcessRouteQuery = () => { processRouteQueryFormRef.value?.resetFields() + processRouteQueryParams.isEnable = 'true' handleProcessRouteQuery() } diff --git a/src/views/iot/historyData/HistorySingleAnalyse.vue b/src/views/iot/historyData/HistorySingleAnalyse.vue index db15bfa9..99d1d40b 100644 --- a/src/views/iot/historyData/HistorySingleAnalyse.vue +++ b/src/views/iot/historyData/HistorySingleAnalyse.vue @@ -387,9 +387,26 @@ const deviceData = reactive({ }) // 查询参数 +function getTodayTimeRange() { + const start = new Date() + start.setHours(0, 0, 0, 0) + + const end = new Date(start) + + end.setHours(23, 59, 59, 59) + end.setDate(end.getDate()) + + return { + startTime: formatDateTime(start), + endTime: formatDateTime(end) + } +} + +const defaultTimeRange = getTodayTimeRange() + const queryParams = reactive({ - startTime: '2026-04-22 08:00:00', - endTime: '2026-04-22 11:30:00', + startTime: defaultTimeRange.startTime, + endTime: defaultTimeRange.endTime, granularity: 'original', rules: ['max', 'min', 'avg', 'range', 'upperCount', 'lowerCount', 'continuousAbnormal'] }) @@ -827,6 +844,9 @@ function updateChart() { } function resetQuery() { + const timeRange = getTodayTimeRange() + queryParams.startTime = timeRange.startTime + queryParams.endTime = timeRange.endTime selectedPointCodes.value = [] pointKeyword.value = '' chartMode.value = 'all' @@ -949,7 +969,7 @@ function handleStartTimeChange(value) { if (value && queryParams.endTime) { if (!validateTimeRange(value, queryParams.endTime)) { const start = new Date(value) - const end = new Date(start.getTime() + 24 * 60 * 60 * 1000 - 1000) // 23:59:59 + const end = new Date(start.getTime() + 24 * 60 * 60 * 1000) queryParams.endTime = formatDateTime(end) ElMessage.warning('时间范围超过24小时,已自动调整结束时间') } @@ -961,7 +981,7 @@ function handleEndTimeChange(value) { if (queryParams.startTime && value) { if (!validateTimeRange(queryParams.startTime, value)) { const end = new Date(value) - const start = new Date(end.getTime() - 24 * 60 * 60 * 1000 + 1000) // 00:00:00 + const start = new Date(end.getTime() - 24 * 60 * 60 * 1000) queryParams.startTime = formatDateTime(start) ElMessage.warning('时间范围超过24小时,已自动调整开始时间') } @@ -975,7 +995,7 @@ const endTimeOptions = computed(() => { if (!queryParams.startTime) return {} const start = new Date(queryParams.startTime) - const maxEndTime = new Date(start.getTime() + 24 * 60 * 60 * 1000 - 1000) // 23:59:59 + const maxEndTime = new Date(start.getTime() + 24 * 60 * 60 * 1000) return { disabledDate: (date) => { diff --git a/src/views/mes/processroute/ProcessRouteForm.vue b/src/views/mes/processroute/ProcessRouteForm.vue index 07de9cea..b8f116fb 100644 --- a/src/views/mes/processroute/ProcessRouteForm.vue +++ b/src/views/mes/processroute/ProcessRouteForm.vue @@ -42,7 +42,7 @@
- +