diff --git a/admin/src/views/config/center/WallPane.vue b/admin/src/views/config/center/WallPane.vue index 55f49f1..9df371d 100644 --- a/admin/src/views/config/center/WallPane.vue +++ b/admin/src/views/config/center/WallPane.vue @@ -1,40 +1,30 @@ diff --git a/admin/src/views/config/center/wall/ScenarioCard.vue b/admin/src/views/config/center/wall/ScenarioCard.vue index 3b7a983..109e7f3 100644 --- a/admin/src/views/config/center/wall/ScenarioCard.vue +++ b/admin/src/views/config/center/wall/ScenarioCard.vue @@ -21,8 +21,11 @@
@@ -84,9 +87,12 @@ { immediate: true } ) + // 必留语言预警:语言缺失,或虽在但两池该语言全为空白行(保存会被剔除→等效缺失) const requiredMissing = computed(() => POOL_REQUIRED_LANGS.filter( - (l) => !langs.value.includes(l) || props.def.pools.some((p) => !(props.model.pools[p.field][l]?.length)) + (l) => + !langs.value.includes(l) || + props.def.pools.some((p) => !(props.model.pools[p.field][l]?.some((t) => t.trim() !== ''))) ) ) @@ -117,6 +123,7 @@ } function addLang(): void { + // 正则保持严格 ^[a-z]{2,3}$——异常存量语言码可显示、可删、不可重加(Task 10 定稿注记) const code = newLang.value.trim().toLowerCase() if (!/^[a-z]{2,3}$/.test(code)) { ElMessage.warning('语言代码为 2-3 位字母(如 pt / ru / ar)')