ToolbarInteressent, Start with Actions Interessent

This commit is contained in:
ma0068
2024-07-18 16:46:07 +02:00
parent 9a4061910a
commit de41668e71
2 changed files with 224 additions and 13 deletions
+17
View File
@@ -47,6 +47,23 @@ html {
color: var(--gray-500); color: var(--gray-500);
} }
/* Dropdown Toolbar Interessent, submenu */
.dropdown-menu-right {
left: 100%;
top: 5;
margin-left: 0.1rem;
margin-top: -1rem;
}
.dropdown-submenu:hover>.dropdown-menu-right {
display: block;
}
.dropdown-submenu>.dropdown-menu-right {
display: none;
position: absolute;
}
@media (min-width: 768px) { @media (min-width: 768px) {
#sidebarMenu { #sidebarMenu {
visibility: visible!important; visibility: visible!important;
@@ -107,6 +107,25 @@ export default{
isStatusBeforeStudent(){ isStatusBeforeStudent(){
let isStatusStudent = ['Student', 'Absolvent', 'Diplomand']; let isStatusStudent = ['Student', 'Absolvent', 'Diplomand'];
return !isStatusStudent.includes(this.statusData.status_kurzbz); return !isStatusStudent.includes(this.statusData.status_kurzbz);
},
showToolbarStudent() {
if (Array.isArray(this.modelValue)) {
if (!this.modelValue.length)
return false;
return this.modelValue.every(item => item.uid);
}
return !!this.modelValue.uid;
},
showToolbar() {
return this.showToolbarStudent || this.showToolbarInteressent;
},
showToolbarInteressent() {
if (Array.isArray(this.modelValue)) {
if (!this.modelValue.length)
return false;
return !this.modelValue.some(item => item.uid);
}
return !this.modelValue.uid;
} }
}, },
props: { props: {
@@ -482,6 +501,68 @@ export default{
this.newArray = this.updateData.map(objekt => ({ ...objekt, ...deltaData})); this.newArray = this.updateData.map(objekt => ({ ...objekt, ...deltaData}));
this.addNewStatus(prestudentIds); this.addNewStatus(prestudentIds);
}, },
changeStatusToBewerber(prestudentIds){
let def_date = this.getDefaultDate();
let deltaData =
{
status_kurzbz: 'Bewerber',
datum: def_date,
bestaetigtam: def_date,
ausbildungssemester: 1
};
this.newArray = this.updateData.map(objekt => ({
...objekt,
...deltaData}));
this.addNewStatus(prestudentIds);
},
changeStatusToAufgenommener(prestudentIds){
this.hideModal('confirmStatusAction');
let def_date = this.getDefaultDate();
let deltaData =
{
status_kurzbz: 'Aufgenommener',
datum: def_date,
bestaetigtam: def_date
};
this.newArray = this.updateData.map(objekt => ({
...objekt,
...deltaData,
}));
//TODO(Manu) change studiensemester_kurzbz in backend
//studiensemester_kurzbz: this.getStudiensemesterOfBewerber(objekt.prestudent_id)
this.addNewStatus(prestudentIds);
},
changeInteressentToStudent(prestudentIds){
console.log("in function changeInteressentToStudent")
let def_date = this.getDefaultDate();
let deltaData =
{
status_kurzbz: 'Student',
datum: def_date,
bestaetigtam: def_date
};
this.newArray = this.updateData.map(objekt => ({
...objekt,
...deltaData,
}));
//TODO(Manu) change studiensemester_kurzbz in backend
//studiensemester_kurzbz: this.getStudiensemesterOfBewerber(objekt.prestudent_id)
//this.addStudent(prestudentIds);
},
changeStatusToAbgewiesen(prestudentIds){
console.log("in function changeStatusToAbgewiesen");
},
changeStatusToWartend(prestudentIds){
console.log("in function changeStatusToWartend");
},
addStudent(prestudentIds){ addStudent(prestudentIds){
let changeData = {}; let changeData = {};
@@ -603,15 +684,15 @@ export default{
} }
//TODO(Manu) bei status Interessent, Bewerber, aufgenommener, reload nicht working //TODO(Manu) bei status Interessent, Bewerber, aufgenommener, reload nicht working
this.reload(); // this.reload();
this.reloadList(); // this.reloadList();
// if (this.modelValue.prestudent_id) { if (this.modelValue.prestudent_id) {
// this.reload(); this.reload();
// } }
// else { else {
// this.$reloadList(); this.$reloadList();
// } }
this.hideModal('statusModal'); this.hideModal('statusModal');
this.resetModal(); this.resetModal();
}); });
@@ -984,6 +1065,18 @@ export default{
<div v-if="actionButton=='unterbrecher'"> <div v-if="actionButton=='unterbrecher'">
<button ref="Close" type="button" class="btn btn-primary" @click="changeStatusToUnterbrecher(prestudentIds)">OK</button> <button ref="Close" type="button" class="btn btn-primary" @click="changeStatusToUnterbrecher(prestudentIds)">OK</button>
</div> </div>
<div v-if="actionButton=='aufgenommener'">
<button ref="Close" type="button" class="btn btn-primary" @click="changeStatusToAufgenommener(prestudentIds)">OK</button>
</div>
<div v-if="actionButton=='student'">
<button ref="Close" type="button" class="btn btn-primary" @click="changeInteressentToStudent(prestudentIds)">OK</button>
</div>
<div v-if="actionButton=='wartender'">
<button ref="Close" type="button" class="btn btn-primary" @click="changeStatusToWartend(prestudentIds)">OK</button>
</div>
<div v-if="actionButton=='abgewiesener'">
<button ref="Close" type="button" class="btn btn-primary" @click="changeStatusToAbgewiesen(prestudentIds)">OK</button>
</div>
</template> </template>
</BsModal> </BsModal>
@@ -1048,7 +1141,58 @@ export default{
{{$p.t('lehre', 'btn_statusAendern')}} {{$p.t('lehre', 'btn_statusAendern')}}
</button> </button>
<ul class="dropdown-menu"> <!--toolbar Interessent-->
<ul v-if="showToolbarInteressent" class="dropdown-menu">
<li class="dropdown-submenu">
<a class="dropdown-item" @click="changeStatusToBewerber(prestudentIds)">Bewerber</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'aufgenommener','Aufgenommenen')">Aufgenommener</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item dropdown-toggle" href="#">Student</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a class="dropdown-item" @click="changeInteressentToStudent(prestudentIds)">Student</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'student', 'PreAbbrecher')">Pre-Abbrecher</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'student', 'PreWiederholer')">Pre-Wiederholer</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'student', 'Wiederholer')">Wiederholer</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'wartender', 'Wartenden')">Wartender</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item" @click="changeStatusToAbsolvent(prestudentIds)">Absolvent</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item dropdown-toggle" href="#">Absage</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">Aufnahme in anderen Studiengang</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">Keine Antwort</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">Sonstiges</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">...</a>
</li>
</ul>
</li>
</ul>
<!--toolbar Student-->
<ul v-if="showToolbarStudent" class="dropdown-menu">
<li class="dropdown-submenu"> <li class="dropdown-submenu">
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abbrecherStgl', 'Abbrecher')">Abbrecher durch Stgl</a> <a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abbrecherStgl', 'Abbrecher')">Abbrecher durch Stgl</a>
</li> </li>
@@ -1073,6 +1217,7 @@ export default{
</ul> </ul>
</div> </div>
</template> </template>
</core-filter-cmpt> </core-filter-cmpt>
<div <div
@@ -1080,12 +1225,63 @@ export default{
ref="buttonsStatusMulti" ref="buttonsStatusMulti"
> >
<!--MultiSelectButton--> <!--MultiSelectButton-->
<div class="btn-group"> <div v-if="showToolbar" class="btn-group">
<button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false"> <button type="button" class="btn btn-primary dropdown-toggle" data-bs-toggle="dropdown" aria-expanded="false">
Status Ändern Status Ändern
</button> </button>
<ul class="dropdown-menu"> <!--toolbar Interessent-->
<ul v-if="showToolbarInteressent" class="dropdown-menu">
<li class="dropdown-submenu">
<a class="dropdown-item" @click="changeStatusToBewerber(prestudentIds)">Bewerber</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'aufgenommener','Aufgenommenen')">Aufgenommener</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item dropdown-toggle" href="#">Student</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a class="dropdown-item" @click="changeStatusToStudent(prestudentIds)">Student</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'student', 'PreAbbrecher')">Pre-Abbrecher</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'student', 'PreWiederholer')">Pre-Wiederholer</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'student', 'Wiederholer')">Wiederholer</a>
</li>
</ul>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'wartender', 'Wartenden')">Wartender</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item" @click="changeStatusToAbsolvent(prestudentIds)">Absolvent</a>
</li>
<li class="dropdown-submenu">
<a class="dropdown-item dropdown-toggle" href="#">Absage</a>
<ul class="dropdown-menu dropdown-menu-right">
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">Aufnahme in anderen Studiengang</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">Keine Antwort</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">Sonstiges</a>
</li>
<li>
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abgewiesener', 'Abgewiesenen')">...</a>
</li>
</ul>
</li>
</ul>
<!--toolbar Student-->
<ul v-if="showToolbarStudent" class="dropdown-menu">
<li class="dropdown-submenu"> <li class="dropdown-submenu">
<a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abbrecherStgl', 'Abbrecher')">Abbrecher durch Stgl</a> <a class="dropdown-item" @click="actionConfirmDialogue(updateData, 'abbrecherStgl', 'Abbrecher')">Abbrecher durch Stgl</a>
</li> </li>
@@ -1110,8 +1306,6 @@ export default{
</ul> </ul>
</div> </div>
</div>
</div>` </div>`
}; };