2024-03-08 11:54:10 +01:00
|
|
|
<script setup>
|
2024-03-17 23:19:36 +01:00
|
|
|
import i18n from "@/i18n.js"
|
2024-03-18 17:28:14 +01:00
|
|
|
import {ref} from 'vue'
|
2024-03-17 23:19:36 +01:00
|
|
|
import {validateRegister, getAllRegisters } from '@/rest/ServiceInscription.js'
|
2024-03-27 14:12:20 +01:00
|
|
|
import AboutRequest from "@/Apps/AboutRequest.vue";
|
2024-03-10 20:32:23 +01:00
|
|
|
|
2024-03-18 17:28:14 +01:00
|
|
|
const requests = ref(await getAllRegisters());
|
2024-03-27 14:12:20 +01:00
|
|
|
let targetId = "";
|
|
|
|
|
|
|
|
//0 = liste, 1 = détails, 2 = sure?
|
|
|
|
let windowsState = ref(0);
|
2024-03-18 17:28:14 +01:00
|
|
|
|
|
|
|
async function upPage(id,review){
|
|
|
|
await validateRegister(id,review);
|
2024-04-08 14:50:37 +02:00
|
|
|
if (review == "Accepted"){
|
|
|
|
|
|
|
|
}
|
2024-03-18 17:28:14 +01:00
|
|
|
requests.value = await getAllRegisters();
|
|
|
|
}
|
2024-03-08 11:54:10 +01:00
|
|
|
</script>
|
|
|
|
|
2024-03-17 23:19:36 +01:00
|
|
|
|
|
|
|
|
2024-03-27 14:12:20 +01:00
|
|
|
<template>
|
|
|
|
<div v-if="windowsState === 1">
|
|
|
|
<AboutRequest :target="targetId"></AboutRequest>
|
2024-04-01 11:43:42 +02:00
|
|
|
<button style="background-color:rgb(105,05,105);margin-left: 30%" @click="windowsState=0;">Retour</button>
|
2024-03-17 23:19:36 +01:00
|
|
|
</div>
|
2024-03-27 14:12:20 +01:00
|
|
|
<div v-if="windowsState === 0">
|
2024-04-01 11:43:42 +02:00
|
|
|
<div style='display:flex; justify-content:center; min-width:1140px;' v-for="item of requests">
|
2024-03-27 16:04:55 +01:00
|
|
|
<div class="bodu">
|
2024-03-27 14:12:20 +01:00
|
|
|
<div class="container">
|
2024-03-27 16:04:55 +01:00
|
|
|
<div class="date">{{item.submissionDate.slice(0, 10)}}</div>
|
|
|
|
<div class="state">{{item.state}}</div>
|
|
|
|
<div class="surname">{{item.lastName}}</div>
|
|
|
|
<div class="firstname">{{item.firstName}}</div>
|
|
|
|
<div class="accept" v-if="item.state === 'Pending'"><button @click="windowsState=2;targetId=item.id;" style="background-color:rgb(0,105,50);">{{i18n("request.accept")}}</button></div>
|
|
|
|
<div class="refuse" v-if="item.state === 'Pending'"><button @click="upPage(item.id,'Refused')" style="background-color:rgb(105,0,0);">{{i18n("request.refuse")}}</button></div>
|
2024-03-27 14:12:20 +01:00
|
|
|
<div class="infos"><button style="background-color:rgb(105,05,105);" @click="targetId=item.id;windowsState=1;">{{i18n("request.moreInfos")}}</button></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2024-03-17 23:19:36 +01:00
|
|
|
</div>
|
2024-04-01 11:43:42 +02:00
|
|
|
<div style='display:flex; justify-content:center; min-width:1140px;margin-top: 10%' v-if="windowsState === 2">
|
2024-03-27 14:12:20 +01:00
|
|
|
<p>Etes vous sur de vouloir accepter cette demande ?</p>
|
|
|
|
<button style="background-color:rgb(105,05,105);" @click="upPage(targetId,'Accepted');windowsState=0;">Valider</button>
|
|
|
|
<button style="background-color:rgb(105,05,105);" @click="windowsState=0;">Retour</button>
|
2024-03-17 23:19:36 +01:00
|
|
|
</div>
|
2024-03-07 15:42:36 +01:00
|
|
|
</template>
|
2024-03-17 23:19:36 +01:00
|
|
|
|
|
|
|
<style scoped>
|
|
|
|
.container{
|
|
|
|
color:white;
|
|
|
|
height:100px;
|
|
|
|
font-size:20px;
|
|
|
|
display:grid;
|
2024-04-01 11:43:42 +02:00
|
|
|
grid-template-columns:15% 15% 10% 14.2% 14.2% 14.2% 14.2%;
|
2024-03-17 23:19:36 +01:00
|
|
|
grid-template-areas:
|
2024-03-27 16:04:55 +01:00
|
|
|
"date state surname firstname accept refuse infos";
|
2024-03-17 23:19:36 +01:00
|
|
|
column-gap:10px;
|
|
|
|
}
|
|
|
|
|
|
|
|
.infos {
|
|
|
|
grid-area:infos;
|
|
|
|
align-self:center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.accept{
|
|
|
|
grid-area:accept;
|
|
|
|
align-self:center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.refuse{
|
|
|
|
grid-area:refuse;
|
|
|
|
align-self:center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.titles {
|
|
|
|
grid-area:titles;
|
2024-04-01 11:43:42 +02:00
|
|
|
align-self:center;
|
2024-03-17 23:19:36 +01:00
|
|
|
}
|
2024-03-27 16:04:55 +01:00
|
|
|
.date{
|
|
|
|
grid-area:date;
|
|
|
|
margin-left:40px;
|
|
|
|
align-self:center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.state{
|
|
|
|
grid-area:state;
|
2024-03-17 23:19:36 +01:00
|
|
|
margin-left:40px;
|
|
|
|
align-self:center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.type{
|
|
|
|
grid-area:type;
|
|
|
|
align-self:center;
|
|
|
|
}
|
|
|
|
|
|
|
|
.surname{
|
|
|
|
grid-area:surname;
|
|
|
|
align-self:center;
|
|
|
|
white-space: nowrap;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow:ellipsis;
|
|
|
|
}
|
|
|
|
|
|
|
|
.firstname{
|
|
|
|
grid-area:firstname;
|
|
|
|
align-self:center;
|
|
|
|
white-space: nowrap;
|
|
|
|
overflow: hidden;
|
|
|
|
text-overflow:ellipsis;
|
|
|
|
}
|
|
|
|
|
|
|
|
button{
|
|
|
|
font-size:15px;
|
|
|
|
height:50px;
|
|
|
|
width:100px;
|
|
|
|
border:none;
|
|
|
|
border-radius:20px;
|
|
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
.bodu {
|
2024-04-01 11:43:42 +02:00
|
|
|
margin-top:2%;
|
|
|
|
width:66%;
|
2024-03-17 23:19:36 +01:00
|
|
|
border:2px solid black;
|
|
|
|
border-radius:9px;
|
|
|
|
background-color:rgb(50,50,50);
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
</style>
|
|
|
|
|
|
|
|
|