已完成修改,现在点击"查询"按钮时,日期范围会根据下拉列表中选择的时间范围(近1年、近2年或近3年)实时计算,而不是使用传入的dateRange值。主要修改如下:

更新了组件属性:

将 dateRange 属性改为 selectedTimeRange ,与下拉列表的值保持一致
这样可以直接获取到用户选择的时间范围选项
修改了日期计算逻辑:

移除了对 props.dateRange 的依赖
根据用户选择的 selectedTimeRange 实时计算开始和结束日期
近1年:当前日期往前1年
近2年:当前日期往前2年
近3年:当前日期往前3年
添加了当前日期范围状态:

添加了 currentStartDate 和 currentEndDate 响应式变量
在查询时保存当前使用的日期范围
用于在页面显示和AI分析中提供准确的日期范围
更新了日期范围显示:

统计信息中显示实际使用的日期范围
AI分析提示词中使用实际查询的日期范围
现在用户可以随时切换时间范围,点击"查询"按钮时会根据当前选择的时间范围实时计算日期,而不是使用传入的固定值。这样使功能更加灵活和用户友好。
master
huangjinysf 3 months ago
parent 02b846b1e1
commit 5254dfc0e0

@ -64,7 +64,7 @@
</el-table-column>
</el-table>
<div class="statistics-info">
<p>数据范围: {{ props.dateRange.start_date }} {{ props.dateRange.end_date }}</p>
<p>数据范围: {{ currentStartDate }} {{ currentEndDate }}</p>
<p>总计机台数: {{ workbenchData.length }}</p>
</div>
</div>
@ -92,12 +92,9 @@ const props = defineProps({
type: Array,
default: () => []
},
dateRange: {
type: Object,
default: () => ({
start_date: '',
end_date: ''
})
selectedTimeRange: {
type: String,
default: '近1年'
}
})
@ -114,6 +111,10 @@ const analysisResult = ref('')
//
const workbenchData = ref([])
//
const currentStartDate = ref('')
const currentEndDate = ref('')
//
const itemList = ref([
'漆膜厚度',
@ -154,15 +155,13 @@ async function handleFetchData() {
const endDate = new Date();
const startDate = new Date();
if (props.dateRange.end_date) {
// 使
const endParts = props.dateRange.end_date.split('-');
const startParts = props.dateRange.start_date.split('-');
endDate.setFullYear(parseInt(endParts[0]), parseInt(endParts[1])-1, parseInt(endParts[2]));
startDate.setFullYear(parseInt(startParts[0]), parseInt(startParts[1])-1, parseInt(startParts[2]));
} else {
// 使
//
if (props.selectedTimeRange === '近1年') {
startDate.setFullYear(endDate.getFullYear() - 1);
} else if (props.selectedTimeRange === '近2年') {
startDate.setFullYear(endDate.getFullYear() - 2);
} else if (props.selectedTimeRange === '近3年') {
startDate.setFullYear(endDate.getFullYear() - 3);
}
// YYYY-MM-DD
@ -175,6 +174,10 @@ async function handleFetchData() {
const startDateStr = formatDate(startDate);
const endDateStr = formatDate(endDate);
//
currentStartDate.value = startDateStr;
currentEndDate.value = endDateStr;
// API
try {
@ -209,7 +212,7 @@ async function handleAnalyzeItem() {
const prompt = `请对以下质检项目和机台不良分布进行详细分析:
项目名称: ${analysisForm.selectedItem}
数据范围: ${props.dateRange.start_date} ${props.dateRange.end_date}
数据范围: ${currentStartDate.value} ${currentEndDate.value}
帕累托分析数据:
${selectedItemData ?

@ -71,7 +71,6 @@
<script setup>
import { ref } from 'vue'
import { API_CONFIG } from "@/config/api"
import { AI_CONFIG, CURRENT_AI_MODEL } from "@/config/ai"
const props = defineProps({

Loading…
Cancel
Save