GenerateCardsSteps.vue 5.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105
  1. <!--
  2. -->
  3. <template>
  4. <v-stepper v-model="step"
  5. >
  6. <v-stepper-items>
  7. <v-stepper-content step="1">
  8. <div class="row">
  9. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'users')" title="a_person" text-content="add_new_person_student" icon="fa fa-user" type="access" @typeClick="onTypeClick"></LayoutHeaderUniversalCreationTypeCard>
  10. <LayoutHeaderUniversalCreationTypeCard v-if="$can('display', 'agenda_page')" title="an_event" text-content="add_an_event_course" icon="fa fa-comment" type="event" @typeClick="onTypeClick"></LayoutHeaderUniversalCreationTypeCard>
  11. <LayoutHeaderUniversalCreationTypeCard v-if="$can('display', 'message_send_page')" title="a_correspondence" text-content="sen_email_letter" icon="fa fa-comment" type="message" @typeClick="onTypeClick"></LayoutHeaderUniversalCreationTypeCard>
  12. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'equipments')" title="a_materiel" text-content="add_any_type_material" icon="fa fa-cube" :link="adminLegacy+ '/list/create/equipment'"></LayoutHeaderUniversalCreationTypeCard>
  13. </div>
  14. </v-stepper-content>
  15. <v-stepper-content step="2">
  16. <div class="row">
  17. <div v-if="type === 'access'" class="row">
  18. <LayoutHeaderUniversalCreationTypeCard title="a_student" text-content="student_text_creation_card" icon="fa fa-user" :link="adminLegacy+ '/universal_creation_person/student'"></LayoutHeaderUniversalCreationTypeCard>
  19. <LayoutHeaderUniversalCreationTypeCard title="a_guardian" text-content="guardian_text_creation_card" icon="fa fa-female" :link="adminLegacy+ '/universal_creation_person/guardian'"></LayoutHeaderUniversalCreationTypeCard>
  20. <LayoutHeaderUniversalCreationTypeCard title="a_teacher" text-content="teacher_text_creation_card" icon="fa fa-graduation-cap" :link="adminLegacy+ '/universal_creation_person/teacher'"></LayoutHeaderUniversalCreationTypeCard>
  21. <LayoutHeaderUniversalCreationTypeCard title="a_member_of_staff" text-content="personnel_text_creation_card" icon="fa fa-suitcase" :link="adminLegacy+ '/universal_creation_person/personnel'"></LayoutHeaderUniversalCreationTypeCard>
  22. <LayoutHeaderUniversalCreationTypeCard title="a_legal_entity" text-content="moral_text_creation_card" icon="fa fa-building" :link="adminLegacy+ '/universal_creation_person/company'"></LayoutHeaderUniversalCreationTypeCard>
  23. <LayoutHeaderUniversalCreationTypeCard title="another_type_of_contact" text-content="other_contact_text_creation_card" icon="fa fa-plus" :link="adminLegacy+ '/universal_creation_person/other_contact'"></LayoutHeaderUniversalCreationTypeCard>
  24. </div>
  25. <div v-if="type === 'event'" class="row">
  26. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'courses')" title="course" text-content="course_text_creation_card" icon="fa fa-users" :link="adminLegacy+ '/calendar/create/courses'"></LayoutHeaderUniversalCreationTypeCard>
  27. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'examens')" title="exam" text-content="exam_text_creation_card" icon="fa fa-graduation-cap" :link="adminLegacy+ '/calendar/create/examens'"></LayoutHeaderUniversalCreationTypeCard>
  28. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'educationalprojects')" title="educational_services" text-content="educational_services_text_creation_card" icon="fa fa-suitcase" :link="adminLegacy+ '/calendar/create/educational_projects'"></LayoutHeaderUniversalCreationTypeCard>
  29. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'events')" title="other_event" text-content="other_event_text_creation_card" icon="far fa-calendar" :link="adminLegacy+ '/calendar/create/events'"></LayoutHeaderUniversalCreationTypeCard>
  30. </div>
  31. <div v-if="type === 'message'" class="row">
  32. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'emails')" title="an_email" text-content="email_text_creation_card" icon="far fa-envelope" :link="adminLegacy+ '/list/create/emails'"></LayoutHeaderUniversalCreationTypeCard>
  33. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'mails')" title="a_letter" text-content="letter_text_creation_card" icon="far fa-file-alt" :link="adminLegacy+ '/list/create/mails'"></LayoutHeaderUniversalCreationTypeCard>
  34. <LayoutHeaderUniversalCreationTypeCard v-if="$can('manage', 'texto')" title="an_sms" text-content="sms_text_creation_card" icon="fa fa-mobile-alt" :link="adminLegacy+ '/list/create/sms'"></LayoutHeaderUniversalCreationTypeCard>
  35. </div>
  36. </div>
  37. </v-stepper-content>
  38. </v-stepper-items>
  39. </v-stepper>
  40. </template>
  41. <script lang="ts">
  42. import {defineComponent, ref, Ref, useContext} from '@nuxtjs/composition-api'
  43. export default defineComponent({
  44. props: {
  45. step: {
  46. type: Number,
  47. required: true
  48. }
  49. },
  50. setup (_,{emit}) {
  51. const { $config } = useContext()
  52. const onTypeClick = (step:Number,Cardtype:String)=>{
  53. type.value = Cardtype;
  54. emit('updateStep',step);
  55. }
  56. const type:Ref<String> = ref('');
  57. return {
  58. type,
  59. onTypeClick,
  60. adminLegacy: $config.baseURL_adminLegacy
  61. }
  62. }
  63. })
  64. </script>
  65. <style lang="scss" scoped>
  66. .creation-type-container{
  67. border: none!important;
  68. .icon{
  69. i{
  70. font-size: 50px;
  71. color: #777777;
  72. }
  73. }
  74. .infos-container{
  75. padding: 15px 0;
  76. h4{
  77. font-size: 15px;
  78. color: #00AD8E;
  79. font-weight: bold;
  80. margin-bottom: 6px;
  81. }
  82. p{
  83. font-size: 13px;
  84. padding: 0;
  85. margin: 0;
  86. color: #767676;
  87. }
  88. }
  89. &>div{
  90. &:hover{
  91. cursor: pointer;
  92. background: #a9e0d6;
  93. }
  94. }
  95. }
  96. </style>