diff --git a/backend/pom.xml b/backend/pom.xml
index 66e4440d..c5e7d7cf 100644
--- a/backend/pom.xml
+++ b/backend/pom.xml
@@ -414,6 +414,7 @@
${revision}
+
-
-
+
+
未找到匹配"{{ searchParams.indicatorName }}"的指标
清除搜索条件
@@ -71,19 +54,14 @@
指标名称:
-
-
+
@@ -153,13 +131,13 @@ const filteredIndicatorList = computed(() => {
// 没有搜索条件时,显示所有指标
return indicatorList.value;
}
-
+
// 有搜索条件时,只显示匹配的指标
- return indicatorList.value.filter(item => {
+ return indicatorList.value.filter((item) => {
// 根据indicatorId查找对应的指标名称
- const indicator = availableIndicators.value.find(ind => ind.id == item.indicatorId);
+ const indicator = availableIndicators.value.find((ind) => ind.id == item.indicatorId);
const indicatorName = indicator?.indicatorName || '';
-
+
// 检查指标名称是否包含搜索关键词(不区分大小写)
return indicatorName.toLowerCase().includes(keyword.toLowerCase());
});
@@ -167,10 +145,11 @@ const filteredIndicatorList = computed(() => {
// 获取指标在原始列表中的索引
const getOriginalIndex = (item: BmzrAssessmentSchemeIndicatorForm) => {
- return indicatorList.value.findIndex(originalItem =>
- originalItem === item ||
- (originalItem.id && originalItem.id === item.id) ||
- (originalItem.indicatorId && originalItem.indicatorId === item.indicatorId && originalItem.sortOrder === item.sortOrder)
+ return indicatorList.value.findIndex(
+ (originalItem) =>
+ originalItem === item ||
+ (originalItem.id && originalItem.id === item.id) ||
+ (originalItem.indicatorId && originalItem.indicatorId === item.indicatorId && originalItem.sortOrder === item.sortOrder)
);
};
@@ -178,10 +157,10 @@ const getOriginalIndex = (item: BmzrAssessmentSchemeIndicatorForm) => {
const open = async (id: string | number) => {
schemeId.value = id;
dialogVisible.value = true;
-
+
// 加载可选指标
await loadAvailableIndicators();
-
+
// 加载当前方案的指标
await loadSchemeIndicators();
};
@@ -194,24 +173,24 @@ const loadAvailableIndicators = async () => {
pageNum: 1,
pageSize: 1000 // 加载所有指标
};
-
+
// 如果有搜索条件,添加到查询参数中
const hasSearchCondition = !!(searchParams.value.indicatorName && searchParams.value.indicatorName.trim());
if (hasSearchCondition) {
queryParams.indicatorName = searchParams.value.indicatorName.trim();
}
-
+
const res = await listBmzrAssessmentIndicator(queryParams);
availableIndicators.value = res.rows || [];
-
+
// 调试日志
console.log('loadAvailableIndicators完成:', {
queryParams,
hasSearchCondition,
resultCount: availableIndicators.value.length,
- indicatorNames: availableIndicators.value.map(i => i.indicatorName)
+ indicatorNames: availableIndicators.value.map((i) => i.indicatorName)
});
-
+
// 更新搜索结果信息
updateSearchResultInfo(hasSearchCondition, availableIndicators.value.length);
} catch (error) {
@@ -225,15 +204,16 @@ const loadAvailableIndicators = async () => {
const loadSchemeIndicators = async () => {
try {
const res = await listBySchemeId(schemeId.value);
- indicatorList.value = res.data?.map((item: any) => ({
- id: item.id,
- schemeId: item.schemeId,
- indicatorId: item.indicatorId,
- // 优先使用score字段,如果为空则使用customMaxScore字段(兜底方案)
- score: item.score || item.customMaxScore,
- remark: item.remark || getIndicatorRemark(item.indicatorId),
- sortOrder: item.sortOrder
- })) || [];
+ indicatorList.value =
+ res.data?.map((item: any) => ({
+ id: item.id,
+ schemeId: item.schemeId,
+ indicatorId: item.indicatorId,
+ // 优先使用score字段,如果为空则使用customMaxScore字段(兜底方案)
+ score: item.score || item.customMaxScore,
+ remark: item.remark || getIndicatorRemark(item.indicatorId),
+ sortOrder: item.sortOrder
+ })) || [];
} catch (error) {
console.error('加载方案指标失败:', error);
proxy?.$modal.msgError('加载方案指标失败');
@@ -242,7 +222,7 @@ const loadSchemeIndicators = async () => {
// 根据指标ID获取指标描述
const getIndicatorRemark = (indicatorId: string | number) => {
- const indicator = availableIndicators.value.find(item => item.id == indicatorId);
+ const indicator = availableIndicators.value.find((item) => item.id == indicatorId);
return indicator?.remark || '';
};
@@ -261,23 +241,23 @@ const updateSearchResultInfo = (hasSearchCondition: boolean, resultCount: number
const getAvailableIndicators = (currentIndex: number) => {
// 搜索功能:直接返回后端搜索结果,允许重复选择同一指标
// 这样用户可以在不同位置选择相同的指标
-
+
// 调试日志
console.log('getAvailableIndicators调用:', {
currentIndex,
totalAvailable: availableIndicators.value.length,
searchKeyword: searchParams.value.indicatorName,
- availableIndicatorIds: availableIndicators.value.map(i => i.id),
- availableIndicatorNames: availableIndicators.value.map(i => i.indicatorName),
+ availableIndicatorIds: availableIndicators.value.map((i) => i.id),
+ availableIndicatorNames: availableIndicators.value.map((i) => i.indicatorName),
currentSelectedIndicatorId: indicatorList.value[currentIndex]?.indicatorId
});
-
+
return availableIndicators.value;
};
// 指标选择变化
const handleIndicatorChange = (item: BmzrAssessmentSchemeIndicatorForm, index: number) => {
- const selectedIndicator = availableIndicators.value.find(indicator => indicator.id == item.indicatorId);
+ const selectedIndicator = availableIndicators.value.find((indicator) => indicator.id == item.indicatorId);
if (selectedIndicator) {
item.score = selectedIndicator.score;
item.remark = selectedIndicator.remark;
@@ -311,7 +291,7 @@ const handleSearchIndicators = async () => {
proxy?.$modal.msgWarning('请输入搜索关键词');
return;
}
-
+
try {
await loadAvailableIndicators();
proxy?.$modal.msgSuccess('搜索完成');
@@ -337,7 +317,7 @@ const resetSearch = async () => {
// 保存
const handleSave = async () => {
// 验证必填项
- const invalidItems = indicatorList.value.filter(item => !item.indicatorId);
+ const invalidItems = indicatorList.value.filter((item) => !item.indicatorId);
if (invalidItems.length > 0) {
proxy?.$modal.msgError('请选择所有指标名称');
return;
@@ -469,10 +449,10 @@ defineExpose({
align-items: flex-start;
gap: 12px;
}
-
+
.row-item {
width: 100%;
justify-content: space-between;
}
}
-
\ No newline at end of file
+
diff --git a/web/src/views/bzrkh/assessmentScheme/index.vue b/web/src/views/bzrkh/assessmentScheme/index.vue
index 099264aa..23e35b98 100644
--- a/web/src/views/bzrkh/assessmentScheme/index.vue
+++ b/web/src/views/bzrkh/assessmentScheme/index.vue
@@ -112,14 +112,26 @@
-
-
-
-
-
-
-
-
+
+
+
+
+
+
+
+
-
+
@@ -238,25 +228,16 @@