Commit d5efb6de authored by Stephane Bouvry's avatar Stephane Bouvry
Browse files

Fiche activités > Onglet des dates clefs

parent fd73ccf0
Loading
Loading
Loading
Loading
Loading
+8 −1
Changes for ui/src/styles/_oscar-core.scss: 8 added lines, 1 removed line.
Original line number Diff line number Diff line
@@ -246,6 +246,10 @@ label {
  }
  &.labeled-value-horizontal {
    display: flex;
    border-bottom: thin solid var(--bs-gray-200);
    &:last-child{
      border-bottom: none;
    }
    >*{
      flex: 1;
    }
@@ -267,9 +271,12 @@ label {
    font-size: .9em;
  }
  .value {
    font-size: 1.1em;
    font-size: 1.0em;
    font-weight: 900;
    white-space: nowrap;
    small.ago {
      font-weight: 100;
    }
  }
}

+67 −45
Changes for ui/src/views/Activity.vue: 67 added lines, 45 removed lines.
Original line number Diff line number Diff line
@@ -380,80 +380,83 @@
             :class="{'active show': uiActiveTab === 'dates'}"
             role="tabpanel" aria-labelledby="nav-dates-tab" tabindex="0">
          <div class="row">
            <div class="col-md-6">
              <div>{{ $filters.oscarText("dateStart") }} :
                <span v-if="core.dateStart">
            <div class="col-md-4">
              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateStart') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateStart) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateStart) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              </div>

              <div>{{ $filters.oscarText("dateEnd") }} :
                <span v-if="core.dateEnd">
              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateEnd') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateEnd) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateEnd) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              </div>

              <div>{{ $filters.oscarText("dateOpened") }} :
                <span v-if="core.dateOpened">
              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateOpened') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateOpened) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateOpened) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              </div>

              <div>{{ $filters.oscarText("dateSigned") }} :
                <span v-if="core.dateSigned">
              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateSigned') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateSigned) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateSigned) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              </div>

              <div>{{ $filters.oscarText("dateNegociation") }} :
                <span v-if="core.dateNegociation">
              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateNegociation') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateNegociation) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateNegociation) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              </div>

            </div>
            <div class="col-md-6">
              <div>{{ $filters.oscarText("Création de la fiche") }} :
                <span v-if="core.dateCreated">
            <div class="col-md-4">
              <h3>Jalons</h3>
              <div class="labeled-value labeled-value-horizontal" v-for="m in milestonesSorted">
                <div class="label">
                  <i class="icon-attention-1" v-if="m.late"></i>
                  {{ m.label }}
                </div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(m.date) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(m.date) }})</small>
                </div>
              </div>
              <hr>
            </div>
            <div class="col-md-4">
              <h3><i class="icon-cog"></i>Technique</h3>

              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateCreated') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateCreated) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateCreated) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              <div>{{ $filters.oscarText("Mise à jour de la fiche") }} :
                <span v-if="core.dateUpdated">
              </div>

              <div class="labeled-value labeled-value-horizontal">
                <div class="label">{{ $filters.oscarText('dateUpdated') }}</div>
                <div class="value">
                  <time :datetime="core.date">{{ $filters.date(core.dateUpdated) }}</time>
                  <small class="ago"> ({{ $filters.timeAgo(core.dateUpdated) }})</small>
                </span>
                <em class="missing-data" v-else>
                  <i class="icon-block" />Non définie
                </em>
                </div>
              </div>

            </div>
          </div>
          ...
        </div>
        <div class="tab-pane fade" id="nav-numbers"
             :class="{'active show': uiActiveTab === 'numbers'}"
@@ -1128,6 +1131,25 @@ export default {
  },

  computed: {
    milestonesSorted(){
      let sorted = [];
      let date, status;
      this.milestones.forEach(item => {
        date = item.dateStart;
        status = 'futur';

        date = date.substring(0, 10);

        sorted.push({
          label: item.type.label,
          date: date,
          late: item.late,
          status: status,
          type: 'milestone'
        })
      })
      return sorted.sort((a,b) => new Date(b.date) - new Date(a.date) )
    },
    paymentsSorted(){
      let sorted = [];
      let date, status;