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

     1  <template>
     2    <b-row class="mr-0 my-1">
     3      <b-col cols="5" class="text-left">
     4        <b-button
     5          class="ml-2 align-middle text-left"
     6          v-b-popover.html.hover.top="tooltip"
     7        >
     8          <b-icon-clock v-if="!aide.valid"></b-icon-clock>
     9          <span class="ml-2">{{ structure }}</span>
    10        </b-button>
    11      </b-col>
    12      <b-col cols="5" class="align-self-center">
    13        <b-row>
    14          <b-col cols="2">
    15            <b-button
    16              variant="outline-accent"
    17              v-b-tooltip.html.top
    18              :title="aide.valid ? null : `<b>Modifier</b> l'aide ...`"
    19              :disabled="aide.valid"
    20              @click="$emit('edite')"
    21            >
    22              <b-icon-pencil></b-icon-pencil>
    23            </b-button>
    24          </b-col>
    25          <b-col cols="2">
    26            <b-button
    27              variant="outline-danger"
    28              v-b-tooltip.html.top
    29              :title="aide.valid ? null : `<b>Supprimer</b> l'aide ...`"
    30              :disabled="aide.valid"
    31              @click="$emit('supprime')"
    32            >
    33              <b-icon-trash></b-icon-trash>
    34            </b-button>
    35          </b-col>
    36          <b-col cols="8">
    37            <controle-document
    38              :controller="controller"
    39              v-if="aide.document.id_crypted"
    40              hideDelete
    41              :disableUpload="aide.valid"
    42              :document="aide.document"
    43              @uploaded="onUploadDocument"
    44            ></controle-document>
    45          </b-col>
    46        </b-row>
    47      </b-col>
    48      <b-col
    49        cols="2"
    50        class="text-right align-self-center"
    51        v-b-tooltip.html.top
    52        title="Valeur <b>effective</b>, après prise en compte des remises"
    53      >
    54        <i>{{ montant }}</i>
    55      </b-col>
    56    </b-row>
    57  </template>
    58  
    59  <script lang="ts">
    60  import Vue from "vue";
    61  import Component from "vue-class-component";
    62  
    63  import ControleDocument from "@/shared/ControleDocument.vue";
    64  
    65  import { ControllerDocument } from "@/shared/logic/controller";
    66  import { Aide, PublicDocument } from "@/shared/logic/types";
    67  import { formatDate } from "@/shared/logic/utils";
    68  import { C } from "../../logic/controller";
    69  
    70  const RowAideProps = Vue.extend({
    71    props: {
    72      aide: Object as () => Aide
    73    }
    74  });
    75  
    76  @Component({
    77    components: { ControleDocument }
    78  })
    79  export default class RowAide extends RowAideProps {
    80    controller: ControllerDocument = C;
    81  
    82    get montant() {
    83      let vp = this.aide.valeur_computed.toFixed(2) + "€";
    84      if (!this.aide.valid) {
    85        vp = "(" + vp + ")";
    86      }
    87      return vp;
    88    }
    89  
    90    get structure() {
    91      if (C.data.finances == null) return "";
    92      return (C.data.finances.structure_aides || {})[
    93        this.aide.id_structure_crypted
    94      ].nom;
    95    }
    96  
    97    get tooltip() {
    98      if (this.aide.valid) {
    99        return `Cette aide est maintenant <b>validée</b>. Si vous souhaitez modifier sa valeur ou ajouter/modifier
   100          une pièce justificative, merci de <i>contacter directement<i> le centre d'inscription.`;
   101      }
   102      return "Cette aide n'a <b>pas encore été vérifiée</b> par le centre. Merci de votre patience !";
   103    }
   104  
   105    onUploadDocument(doc: PublicDocument) {
   106      // on met à jour l'aide
   107      if (C.data.finances == null) return;
   108      C.updateDocumentAide(doc, this.aide);
   109    }
   110  }
   111  </script>
   112  
   113  <style scoped></style>