F}}_{q}^{n}\ | \ ({x},{y}) =0\ \mbox{ for all }{x}\in C\},$$ for $q=4$, $$C^{\perp,H}=\{{y}\in {{\mathbb F}}_{q}^{n}\ | \ ({x},{y})_H =0\ \mbox{ for all }{x}\in C\}.$$ A linear code $C$ is called self-dual if $C=C^{\perp}$ for $q=3$ and if $C=C^{\perp,H}$ for $q=4$. For $x \in{{\mathbb F}}_q^n$, the weight ${{\rm wt}}(x)$ is the number of its nonzero components. The minimum distance of a code $C$ is $\min\{{{\rm wt}}( x)\mid  x \in C,  x \neq  0 \}$. A linear code of length $n$, dimension $k$, and minimum distance $d$ is called an $[n,k,d]$ code. In this paper, we consider the following self-dual codes [@CS]:

Type III: A code is defined over ${{\mathbb F}}_{3}^{n}$ with all weights divisible by $3$,\
Type IV: A code is defined over ${{\mathbb F}}_{4}^{n}$ with all weights divisible by $2$.

A $t$-$(v,k,{\lambda})$ design (or $t$-design for short) is a pair $\mathcal{D}=(X,\mathcal{B})$, where $X$ is a set of points of cardinality $v$, and $\mathcal{B}$ a collection of $k$-element subsets of $X$ called blocks, with the property that any $t$ points are contained in precisely $\lambda$ blocks.

The support of a nonzero vector $ x:=(x_{1}, \dots, x_{n})$, $x_{i} \in {{\mathbb F}}_{q} = \{ 0,1, \dots, q-1 \}$ is the set of indices 