diff --git a/mini-program/src/components/ClarificationCard.vue b/mini-program/src/components/ClarificationCard.vue index f29265f..2858e4c 100644 --- a/mini-program/src/components/ClarificationCard.vue +++ b/mini-program/src/components/ClarificationCard.vue @@ -63,10 +63,14 @@ const isSingle = computed(() => props.card.card_type === 'single_select') const isMulti = computed(() => props.card.card_type === 'multi_select' || props.card.card_type === 'mixed') const canSubmit = computed(() => { + // 纯文本输入卡片:只需 customText 非空 + if (isTextInput.value) return customText.value.trim().length > 0 + + // 有选项的卡片:满足最小选择数,或(允许自定义且 customText 非空) const minSel = props.card.min_selections || 1 - if (selectedValues.value.length < minSel) return false - if (isTextInput.value && !customText.value.trim()) return false - return true + if (selectedValues.value.length >= minSel) return true + if (props.card.allow_custom && customText.value.trim()) return true + return false }) function isSelected(value) {