Not exactly a single command, but:
num_patterns=$( wc -l < patterns_file )
for file in dir/*; do
num_occurrances=$( grep -F -o -f patterns_file "$file" | sort -u | wc -l )
if (( num_patterns == num_occurancesnum_occurrances )); then
echo "all patterns in $file"
fi
done
This approach won't work when the patterns are regular expressions, because the matching text probably won't be unique for every match.