github.com/benoitkugler/goacve@v0.0.0-20201217100549-151ce6e55dc8/server/frontend/bv/src/pages/espace_perso/views/Retours.vue (about)

     1  <template>
     2    <b-card
     3      title="ENQUÊTE SATISFACTION"
     4      :sub-title="subtitle"
     5      bg-variant="secondary"
     6    >
     7      <div v-if="camps.length == 0" class="text-center">
     8        Pour l'instant, aucun séjour ne collecte de retours...
     9      </div>
    10      <b-tabs v-else fill :value="currentIndex">
    11        <b-tab :title="camp.label" v-for="camp in camps" :key="camp.id">
    12          <row-sondage :camp="camp" :sondage="sondage(camp.id)"></row-sondage>
    13        </b-tab>
    14      </b-tabs>
    15    </b-card>
    16  </template>
    17  
    18  <script lang="ts">
    19  import Vue from "vue";
    20  import Component from "vue-class-component";
    21  import { C } from "../logic/controller";
    22  import RowSondage from "../components/retours/RowSondage.vue";
    23  import { PublicSondage } from "../../../shared/logic/types";
    24  
    25  const RetoursProps = Vue.extend({
    26    props: {}
    27  });
    28  
    29  @Component({
    30    components: { RowSondage }
    31  })
    32  export default class Retours extends RetoursProps {
    33    C = C;
    34  
    35    get currentIndex() {
    36      const id = this.$route.query["id-camp"];
    37      if (id) {
    38        return this.camps.findIndex(c => c.id == Number(id));
    39      }
    40      return null;
    41    }
    42  
    43    get camps() {
    44      return C.campsSondages();
    45    }
    46  
    47    get subtitle() {
    48      if (this.camps.length == 0) return "";
    49      return `Afin d'améliorer nos prestations, nous avons à cœur de vous laisser la parole. 
    50      Vos suggestions, remarques et ressentis nous aiderons à améliorer nos séjours. 
    51      Merci d'avance de ce temps que vous réserverez pour répondre à cette courte enquête.`;
    52    }
    53  
    54    sondage(idCamp: number): PublicSondage | null {
    55      return C.data.sondages[idCamp] || null;
    56    }
    57  }
    58  </script>
    59  
    60  <style scoped></style>