Ваша проблема в том, что вы всегда получаете один и тот же выбор при нажатии параметров.
var select = document.getElementById("matin");
РЕШЕНИЕ
Назначение различных идентификаторов селекторам.
<select v-bind:placeholder="generateTasksAM(user.id, date)" v-on:change="deleteTaskAM(user.id,date)" :id="'matin-' + SOME_ID" size="1">
var select = document.getElementById('matin-' + SOME_ID);
Необходимые модификации
В цикле шаблона:
<td style="min-width: 75px" v-for="(date, index) of dates" v-bind:key="index">
В шаблоне выберите:
<select v-bind:placeholder="generateTasksAM(user.id, date, index)" v-on:change="deleteTaskAM(user.id,date)" :id="'matin-' + index" size="1">
В generateTasksAM Функция:
generateTasksAM: function(user, date, index) {
for (var i = 0; i < this.assignments.length; i++) {
var date1 = new Date(date);
var date2 = new Date(this.assignments[i].start);
if (user === this.assignments[i].User.id) {
if (
date1.getFullYear() === date2.getFullYear() &&
date1.getMonth() === date2.getMonth() &&
date1.getDate() === date2.getDate()
) {
if (this.assignments[i].heuredebut <= "12:00:00") {
for (var j = 0; j < this.options.length; j++) {
if (this.assignments[i].Task.Project.name === this.options[j]) {
var select = document.getElementById("matin-" + index);
select.options[j] = new Option(this.options[j],this.options[j],true,true);
} else {
var select = document.getElementById("matin-" + index);
select.options[j] = new Option(this.options[j],this.options[j],false,false);