src/AdminBundle/Resources/views/dashboard.html.twig line 1

Open in your IDE?
  1. {#
  2. This file is part of the Sonata package.
  3. (c) Thomas Rabaix <thomas.rabaix@sonata-project.org>
  4. For the full copyright and license information, please view the LICENSE
  5. file that was distributed with this source code.
  6. #}
  7. {% extends base_template %}
  8. {% block title %}{{ 'title_dashboard'|trans({}, 'SonataAdminBundle') }}{% endblock%}
  9. {% block stylesheets %}
  10.     {{ parent() }}
  11.     <link rel="stylesheet" href="{{ asset('/bundles/admin/css/sb-admin-2.min.css') }}">
  12. {% endblock %}
  13. {% block content %}
  14.     <div class="row" id="dashboard">
  15.         <div class="col-md-8 col-sm-8">
  16.             <div class="panel panel-info" id="linkMinimizer">
  17.                 <div class="panel-heading">Генератор посилань</div>
  18.                 <div class="panel-body">
  19.                     <div class="row">
  20.                         <div class="col-md-6 col-sm-12 col-lg-6">
  21.                             <div class="form-group">
  22.                                 <input v-model="links.link" id="fullLink" type="text" class="form-control" placeholder="Повне посиллання">
  23.                             </div>
  24.                         </div>
  25.                         <div class="col-md-6 col-sm-12 col-lg-6">
  26.                             <div class="form-group">
  27.                                 <input :value="1" v-model="links.needUtm" style="cursor: pointer" id="needUTM" type="checkbox" class="form-control">
  28.                                 <label style="cursor: pointer; margin-left: 5px" for="needUTM"> Додати UTM мітки</label>
  29.                             </div>
  30.                         </div>
  31.                     </div>
  32.                     <div class="row" v-if="links.needUtm">
  33.                         <div class="col-md-3 col-sm-12 col-lg-3">
  34.                             <div class="form-group">
  35.                                 <input v-model="links.utm_source" id="utm_source" type="text" class="form-control" placeholder="utm_source">
  36.                             </div>
  37.                         </div>
  38.                         <div class="col-md-3 col-sm-12 col-lg-3">
  39.                             <div class="form-group">
  40.                                 <input v-model="links.utm_medium" id="utm_medium" type="text" class="form-control" placeholder="utm_medium">
  41.                             </div>
  42.                         </div>
  43.                         <div class="col-md-3 col-sm-12 col-lg-3">
  44.                             <div class="form-group">
  45.                                 <input v-model="links.utm_campaign" id="utm_campaign" type="text" class="form-control" placeholder="utm_campaign">
  46.                             </div>
  47.                         </div>
  48.                         <div class="col-md-3 col-sm-12 col-lg-3">
  49.                             <div class="form-group">
  50.                                 <input v-model="links.utm_content" type="text" class="form-control" placeholder="utm_content">
  51.                             </div>
  52.                         </div>
  53.                     </div>
  54.                     <div class="row">
  55.                         <div class="col-md-6 col-sm-12 col-lg-6">
  56.                             <div class="form-group">
  57.                                 <input v-on:click="minimizeUlr" class="btn btn-success" type="button" value="Мінімізувати">
  58.                             </div>
  59.                         </div>
  60.                     </div>
  61.                 </div>
  62.                 <div class="panel-footer">
  63.                     <div v-if="links.miniLink">Ваше посилання: <b style="color: green" v-html="links.miniLink"></b></div>
  64.                 </div>
  65.             </div>
  66.         </div>
  67.         <div class="col-md-2 col-sm-2">
  68.             <div class="panel panel-info">
  69.                 <div class="panel-heading">Файли</div>
  70.                 <div class="panel-body" style="height: 127px">
  71.                     <a class="btn btn-success" href="{{ path('admin_sonata_media_media_list') }}">Список файлів</a>
  72.                     <a class="btn btn-success" style="margin-top: 15px" href="{{ path('admin_sonata_media_media_create') }}">Завантажити файл</a>
  73.                 </div>
  74.                 <div class="panel-footer"></div>
  75.             </div>
  76.         </div>
  77.         <div class="col-md-12 col-sm-12">
  78.             <div class="panel panel-info">
  79.                 <div class="panel-heading">Задачі</div>
  80.                 <div class="panel-body">
  81.                     <div class="row" v-if="tickets">
  82.                         <div class="col-md-6 col-sm-12 col-lg-3">
  83.                             <div class="border-left-card-primary">
  84.                                 <div class="card-body">
  85.                                     <div class="no-gutters align-items-center with-icon">
  86.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Відкритих задач</div>
  87.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  88.                                             <b class="text-primary f-40" v-html="tickets.total"></b>
  89.                                         </div>
  90.                                         <div class="card-icon">
  91.                                             <i class="fa fa-book"></i>
  92.                                         </div>
  93.                                     </div>
  94.                                 </div>
  95.                             </div>
  96.                         </div>
  97.                         <div class="col-md-6 col-sm-12 col-lg-3">
  98.                             <div class="border-left-card-warning">
  99.                                 <div class="card-body">
  100.                                     <div class="no-gutters align-items-center with-icon">
  101.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">В роботі</div>
  102.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  103.                                             <b class="text-primary f-40" v-html="tickets.inProgress"></b>
  104.                                         </div>
  105.                                         <div class="card-icon">
  106.                                             <i class="fa fa-user"></i>
  107.                                         </div>
  108.                                     </div>
  109.                                 </div>
  110.                             </div>
  111.                         </div>
  112.                         <div class="col-md-6 col-sm-12 col-lg-3">
  113.                             <div class="border-left-card-primary">
  114.                                 <div class="card-body">
  115.                                     <div class="no-gutters align-items-center with-icon">
  116.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Очікують реліз</div>
  117.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  118.                                             <b class="text-primary f-40" v-html="tickets.wait"></b>
  119.                                         </div>
  120.                                         <div class="card-icon">
  121.                                             <i class="fa fa-clock-o"></i>
  122.                                         </div>
  123.                                     </div>
  124.                                 </div>
  125.                             </div>
  126.                         </div>
  127.                         <div class="col-md-6 col-sm-12 col-lg-3">
  128.                             <div class="border-left-card-warning">
  129.                                 <div class="card-body">
  130.                                     <div class="no-gutters align-items-center with-icon">
  131.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">На підтвердженні</div>
  132.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  133.                                             <b class="text-primary f-40" v-html="tickets.done"></b>
  134.                                         </div>
  135.                                         <div class="card-icon">
  136.                                             <i class="fa fa-clock-o"></i>
  137.                                         </div>
  138.                                     </div>
  139.                                 </div>
  140.                             </div>
  141.                         </div>
  142.                     </div>
  143.                 </div>
  144.                 <div class="panel-footer"></div>
  145.             </div>
  146.         </div>
  147.         <div class="col-md-12 col-sm-12">
  148.             <div class="panel panel-primary" v-if="leads">
  149.                 <div class="panel-heading">
  150.                     Лиды
  151.                     <button style="float: right" v-on:click="prevPeriod" class="btn btn-success">Предыдущий период</button>
  152.                     <br style="clear: both">
  153.                 </div>
  154.                 <div class="panel-body ">
  155.                     <div class="row">
  156.                         <div class="col-md-6 col-sm-12 col-lg-3">
  157.                             <div class="border-left-card-primary">
  158.                                 <div class="card-body">
  159.                                     <div class="no-gutters align-items-center with-icon">
  160.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1" style="height: 30px">Лидов сегодня</div>
  161.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  162.                                             <b class="text-primary f-40" v-html="leads.today"></b>
  163.                                         </div>
  164.                                         <div class="card-icon">
  165.                                             <i class="fa fa-archive"></i>
  166.                                         </div>
  167.                                     </div>
  168.                                 </div>
  169.                             </div>
  170.                         </div>
  171.                         <div class="col-md-6 col-sm-12 col-lg-3">
  172.                             <div class="border-left-card-warning">
  173.                                 <div class="card-body">
  174.                                     <div class="no-gutters align-items-center with-icon">
  175.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1" style="height: 30px">Синхронизация с CRM сегодня</div>
  176.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  177.                                             <b class="f-40"><span :class="leads.todayInCrm != leads.today ? 'text-warning' : 'text-success'" v-html="leads.todayInCrm"></span>/<span class="text-primary" v-html="leads.today"></span></b>
  178.                                         </div>
  179.                                         <div class="card-icon">
  180.                                             <i class="fa fa-send"></i>
  181.                                         </div>
  182.                                     </div>
  183.                                 </div>
  184.                             </div>
  185.                         </div>
  186.                         <div class="col-md-6 col-sm-12 col-lg-3">
  187.                             <div class="border-left-card-primary">
  188.                                 <div class="card-body">
  189.                                     <div class="no-gutters align-items-center with-icon">
  190.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1" style="height: 30px">Лидов за месяц</div>
  191.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  192.                                             <b class="text-primary f-40" v-html="leads.count"></b>
  193.                                         </div>
  194.                                         <div class="card-icon">
  195.                                             <i class="fa fa-calendar"></i>
  196.                                         </div>
  197.                                     </div>
  198.                                 </div>
  199.                             </div>
  200.                         </div>
  201.                         <div class="col-md-6 col-sm-12 col-lg-3">
  202.                             <div class="border-left-card-warning">
  203.                                 <div class="card-body">
  204.                                     <div class="no-gutters align-items-center with-icon">
  205.                                         <div class="text-xs font-weight-bold text-primary text-uppercase mb-1" style="height: 30px">Синхронизация с CRM за месяц</div>
  206.                                         <div class="h5 mb-0 font-weight-bold text-gray-800">
  207.                                             <b class="f-40"><span :class="leads.countInCrm != leads.count ? 'text-warning' : 'text-success'" v-html="leads.countInCrm"></span>/<span class="text-primary" v-html="leads.count"></span></b>
  208.                                         </div>
  209.                                         <div class="card-icon">
  210.                                             <i class="fa fa-send"></i>
  211.                                         </div>
  212.                                     </div>
  213.                                 </div>
  214.                             </div>
  215.                         </div>
  216.                     </div>
  217.                 </div>
  218.                 <div class="panel-body ">
  219.                     <div class="col-md-12 col-lg-6">
  220.                         <div id="chartContainer" style="height: 370px; width: 100%;"></div>
  221.                     </div>
  222.                     <div class="col-md-12 col-lg-6">
  223.                         <div id="chartContainerType" style="height: 370px; width: 100%;"></div>
  224.                     </div>
  225.                 </div>
  226.                 <div class="panel-footer"></div>
  227.             </div>
  228.         </div>
  229.         <div class="col-md-12 col-sm-12">
  230.             <div class="panel panel-primary" v-if="leads">
  231.                 <div class="panel-heading">Лиды по UTM меткам</div>
  232.                 <div class="panel-body ">
  233.                     <div class="col-md-12 col-lg-12" v-if="leadsByUtm">
  234.                         <table class="table table-bordered table-striped table-hover">
  235.                             <thead >
  236.                             <tr>
  237.                                 <th>
  238.                                     Utm source
  239.                                 </th>
  240.                                 <th>
  241.                                     Utm medium
  242.                                 </th>
  243.                                 <th>
  244.                                     Utm content
  245.                                 </th>
  246.                                 <th>
  247.                                     Количество
  248.                                 </th>
  249.                             </tr>
  250.                             </thead>
  251.                             <tbody>
  252.                             <template v-for="(item, index) in leadsByUtm">
  253.                                 <template v-for="(subitem, subindex) in item">
  254.                                     <template v-for="(subbitem, subbindex) in subitem">
  255.                                         <tr>
  256.                                             <td v-html="index"></td>
  257.                                             <td v-html="subindex"></td>
  258.                                             <td v-html="subbitem.name"></td>
  259.                                             <td v-html="subbitem.count"></td>
  260.                                         </tr>
  261.                                     </template>
  262.                                 </template>
  263.                             </template>
  264.                             </tbody>
  265.                         </table>
  266.                     </div>
  267.                 </div>
  268.             </div>
  269.         </div>
  270.     </div>
  271.     {{ sonata_block_render_event('sonata.admin.dashboard.bottom') }}
  272. {% endblock %}
  273. {% block sonata_wrapper %}
  274.     {{ parent() }}
  275.     <script src="{{ asset('/bundles/core/js/vue/vue.js') }}"></script>
  276.     <script src="{{ asset('/bundles/admin/js/dashboard.js') }}"></script>
  277.     <script src="https://canvasjs.com/assets/script/jquery.canvasjs.min.js"></script>
  278.     <script>
  279.         initDashboard({
  280.             initUrl: '{{ path('dashboard_init') }}',
  281.         });
  282.     </script>
  283. {% endblock sonata_wrapper %}