templates\menu\vue\index-template.html.twig line 1

Open in your IDE?
  1. <div id="app" class="card-body p-1" data-config='{{ config|json_encode }}'>
  2.     <div style="position: relative" v-cloak>
  3.         <!-- Filtre -->
  4.         <form class="row gy-2 gx-3 m-0" method="POST">
  5.             <div class="col-auto mt-0">
  6.                 <label for="yil" class="form-label m-0 small">Yıl</label><br>
  7.                 <input type="number" class="form-control form-control-sm" min="2019" max="2050" name="yil"
  8.                        id="yil" v-model="filter.yil"/>
  9.             </div>
  10.             <div class="col-auto mt-0">
  11.                 <label for="ay" class="form-label m-0 small">Ay</label><br>
  12.                 <select class="form-select form-select-sm" name="ay" id="ay" v-model="filter.ay"
  13.                         style="width: 100px">
  14.                     <option v-for="ay in aylar" :value="ay.value">${ ay.text }</option>
  15.                 </select>
  16.             </div>
  17.             <div class="col-auto mt-0">
  18.                 <label for="ogun" class="form-label m-0 small">Öğün</label><br>
  19.                 <select class="form-select form-select-sm" name="ogun" id="ogun" v-model="filter.ogun"
  20.                         style="width: 80px">
  21.                     <option v-for="ogun in ogunler" :value="ogun.value">${ ogun.text }</option>
  22.                 </select>
  23.             </div>
  24.             <div class="col-auto mt-0">
  25.                 <label for="turu" class="form-label m-0 small">Türü</label><br>
  26.                 <select class="form-select form-select-sm" name="turu" id="turu" v-model="filter.turu"
  27.                         style="width: 120px">
  28.                     <option v-for="tur in turler" :value="tur">${ tur }</option>
  29.                 </select>
  30.             </div>
  31.             <div class="col mt-3">
  32.                 <a class="btn btn-primary mx-1 shadow-sm" :disabled="isLoading" @click.prevent="getMenu">
  33.                     <i class="fas fa-filter"></i> Listele
  34.                 </a>
  35.                 <a class="btn btn-primary mx-1 shadow-sm" :disabled="isLoading"
  36.                    @click.prevent="exportMenu2Excel">
  37.                     <i class="fas fa-file-excel"></i> Excel
  38.                 </a>
  39.                 <button class="btn btn-success mx-1 shadow-sm" :disabled="isLoading || !filter.canEdit"
  40.                         @click.prevent="menuKaydet">
  41.                     <i class="fas fa-save"></i> Menüyü Kaydet
  42.                 </button>
  43.             </div>
  44.         </form>
  45.         <!--/ Filtre -->
  46.         <div v-show="isLoading" style="background-color: #fff;  padding: 30px 0">
  47.             <div class="loader"></div>
  48.         </div>
  49.         <!-- Aylık Menü -->
  50.         <div v-for="(satir, ix_satir) in menu" :key="ix_satir" class="row p-2 py-1"
  51.              style="padding: 3px 0;min-height:70px;opacity:0.8; font-size: 80%">
  52.             <div v-for="(gun, ix_gun) in satir" :key="ix_gun" class="card menu-gun col p-0 m-1">
  53.                 <div :disabled="gun.length==1"
  54.                      class="card-header m-0 p-0 bg-primary text-white font-weight-light">
  55.                     <p class="text-center p-0 m-0 w-100">${ gun[0].GUN }</p>
  56.                 </div>
  57.                 <div v-for="yemek in gun" :key="yemek.RECKODU" class="row m-0 p-1"
  58.                      :class="{'hata': filter.canEdit && (grupLimit[yemek.CINSI]) && (grupLimit[yemek.CINSI].MAXADET < grupLimit[yemek.CINSI].TOPLAM) }">
  59.                     <div class="col m-0 p-0 overflow-hidden text-truncate">
  60.                                 <span v-if="!(yemek.ALTERNATIF) || yemek.ALTERNATIF.length==1"
  61.                                       class="" :title="parseInt(yemek.KALORI) + ` kalori`">${ yemek.RECADI }</span>
  62.                         <select v-else class="form-select-sm m-0 p-0 w-100" v-model="yemek.RECKODU"
  63.                                 style="font-size: 90%"
  64.                                 @change="grupToplamiGuncelle(ix_satir, ix_gun, yemek.RECKODU, yemek.CINSI2)">
  65.                             <option v-for="alternatif in yemek.ALTERNATIF" :value="alternatif.RECKODU">${alternatif.RECADI}
  66.                             </option>
  67.                         </select>
  68.                     </div>
  69.                     <div class="col-3 text-end m-0 p-0" v-if="yemek.ORAN!=null && filter.canEdit">
  70.                         <input type="number" min="0" max="150" step="5" v-model="yemek.ORAN" class="form-control form-control-sm px-1 text-end" style="min-height: auto; height: 1.5rem">
  71.                     </div>
  72.                 </div>
  73.             </div>
  74.         </div>
  75.         <!--/ Aylık Menü -->
  76.         <!-- Yemek Grubu Limitleri   -->
  77.         <div class="container ozet shadow-lg bg-success text-white p-0" :value="true" v-if="filter.canEdit && showLimit && grupLimit.length>0"
  78.              :class="{ 'ozet-left': limitLeft }">
  79.             <div class="row bg-warning p-2 font-weight-bold m-0">
  80.                 <div class="col text-danger" v-if="!limitLeft">
  81.                     <button class="btn btn-dark text-white me-1" small @click="limitLeft = !limitLeft"
  82.                             v-bind="attrs" v-on="on" title="Pencereyi sola taşı"><i class="fas fa-angle-double-left"></i>
  83.                     </button>
  84.                 </div>
  85.                 <h6 class="col mt-2 text-black">Yemek Grubu Limitleri</h6>
  86.                 <div class="col col-auto text-danger" v-if="limitLeft">
  87.                     <button class="btn btn-dark text-white me-1" small @click="limitLeft = !limitLeft"
  88.                             v-bind="attrs" v-on="on" title="Pencereyi sağa taşı"><i class="fas fa-angle-double-right"></i>
  89.                     </button>
  90.                 </div>
  91.             </div>
  92.             <div class="mt-0">
  93.                 <table class="table table-sm text-white">
  94.                     <thead>
  95.                     <tr>
  96.                         <th class="text-left">Yemek Grubu</th>
  97.                         <th>Aylık<br>Limit</th>
  98.                         <th>Menüdeki<br>Adet</th>
  99.                     </tr>
  100.                     </thead>
  101.                     <tbody class="text-sm-caption">
  102.                     <tr v-for="grup in grupLimit" :key="grup.GRUPKODU">
  103.                         <td>${ grup.GRUPADI }</td>
  104.                         <td class="text-center">${ grup.MAXADET }</td>
  105.                         <td class="text-center">${ grup.TOPLAM }</td>
  106.                     </tr>
  107.                     </tbody>
  108.                 </table>
  109.                 <!--        <v-row v-for="grup in grupLimit">-->
  110.                 <!--          <v-col class="bg-info p-1">${ grup.GRUPADI }</v-col>-->
  111.                 <!--          <v-col class="bg-info p-1">${ grup.MAXADET }</v-col>-->
  112.                 <!--          <v-col class="bg-info p-1">${ grup.TOPLAM }</v-col>-->
  113.                 <!--        </v-row>-->
  114.             </div>
  115.         </div>
  116.         <!--/ Yemek Grubu Limitleri   -->
  117.     </div>
  118. </div>