diff --git a/src/assets/images/logo.png b/src/assets/images/logo.png index 0897e4b..f5eac40 100644 Binary files a/src/assets/images/logo.png and b/src/assets/images/logo.png differ diff --git a/src/assets/images/logo2.png b/src/assets/images/logo2.png new file mode 100644 index 0000000..0897e4b Binary files /dev/null and b/src/assets/images/logo2.png differ diff --git a/src/views/order/intention/search.vue b/src/views/order/intention/search.vue index 29764ee..8f56fab 100644 --- a/src/views/order/intention/search.vue +++ b/src/views/order/intention/search.vue @@ -1497,7 +1497,6 @@ const handleInput = (value, options = {}) => { if (currentPart) { scheduleSearchHint(currentPart); } - // 移除实时调用 differenceWords,只在条件完成(有分号)或点击查询时调用 }; const fetchSearchHints = async (keyword) => { @@ -1532,20 +1531,36 @@ const fetchSearchHints = async (keyword) => { } } + // 获取精准查询条件索引集合,用于确定 queryType + const preciseIndexSet = getPreciseIndexSet(); + // 构建 fieldConditions,使用重新排序后的条件顺序 const fieldConditions = conditionsToProcess .filter((condition) => { // 保留有值的条件,或者有字段名但没有值的条件(如 "车型:") return condition.value || (condition.fieldLabel && condition.field); }) - .map((condition) => { + .map((condition, index) => { + // 计算原始索引(用于精准查询) + // 精准查询条件是基于字段和值匹配的,所以需要找到对应的原始索引 + const originalIndex = parsedConditions.value.findIndex( + (c) => + c.fieldLabel === condition.fieldLabel && + c.value === condition.value && + c.field === condition.field + ); + // 如果找不到原始索引,使用当前索引 + const finalIndex = originalIndex !== -1 ? originalIndex : index; + // 根据条件是否在精准查询集合中确定 queryType,和 buildFieldConditionsPayload 保持一致 + const queryType = preciseIndexSet.has(finalIndex) ? "EXACT" : "FUZZY"; + // 1)字段 + 值:结构化查询 if (condition.valid && condition.field && condition.value) { return { fieldName: condition.field, fieldValue: condition.value, keyword: "", - queryType: "FUZZY", + queryType, }; } @@ -1555,7 +1570,7 @@ const fetchSearchHints = async (keyword) => { fieldName: condition.field, fieldValue: "", keyword: "", - queryType: "FUZZY", + queryType, }; } @@ -1572,7 +1587,7 @@ const fetchSearchHints = async (keyword) => { // fieldName: "", // fieldValue: condition.value, // keyword: "", - // queryType: "FUZZY", + // queryType, // }; // } // // 否则继续走方案4,放在 keyword 里 @@ -1588,7 +1603,7 @@ const fetchSearchHints = async (keyword) => { fieldName: "", fieldValue: "", keyword, - queryType: "FUZZY", + queryType, }; });