Отдел территории

Version 1.1 by root_xwiki on 2025/10/29 08:42

= Отдел по работе с территориями =

Добро пожаловать в раздел инструкций отдела территорий. Ниже представлены все доступные инструкции:

== Инструкции отдела ==

{{velocity}}
#set($currentSpace = $doc.space)
#set($query = "select doc.fullName from XWikiDocument as doc where doc.space like '${currentSpace}.%' and doc.name = 'WebHome' order by doc.title")
#set($childPages = $services.query.hql($query).execute())

#if($childPages && $childPages.size() > 0)
  {{html clean="false"}}
  <div class="row justify-content-start">
  #foreach($childPageFullName in $childPages)
    #set($childDoc = $xwiki.getDocument($childPageFullName))
    #set($childTitle = $childDoc.getPlainTitle())
    #set($childURL = $childDoc.getURL())
   
    <div class="col-md-6 col-lg-4 mb-3">
      <div class="instruction-card card shadow-sm border-0 rounded-3">
        <div class="card-accent-cyan"></div>
        <div class="card-body p-3 text-center d-flex flex-column">
          <div class="icon-wrapper mb-2 mx-auto rounded-circle bg-cyan bg-opacity-10">
            <svg viewBox="0 0 576 512" width="32" height="32" fill="#17a2b8"><path d="M302.8 312C334.9 271.9 408 174.6 408 120C408 53.7 354.3 0 288 0S168 53.7 168 120c0 54.6 73.1 151.9 105.2 192c7.7 9.6 22 9.6 29.6 0zM288 152a40 40 0 1 0 0-80 40 40 0 1 0 0 80z"/></svg>
          </div>
          <h5 class="card-title mb-2" style="font-size: 1.05rem; font-weight: 600; color: #333; line-height: 1.3;">$childTitle</h5>
          <p class="card-text text-muted mb-3 flex-grow-1" style="font-size: 0.85rem; line-height: 1.4;">Управление территориями</p>
          <a href="$childURL" class="btn btn-cyan btn-sm rounded-pill" style="padding: 0.4rem 1.2rem; font-size: 0.9rem;">Открыть</a>
        </div>
      </div>
    </div>
  #end
  </div>
 
  <style>
    .instruction-card { transition: transform 0.3s ease, box-shadow 0.3s ease; background: white; border: 1px solid #e9ecef; min-height: 200px; display: flex; flex-direction: column; position: relative; overflow: hidden; }
    .instruction-card:hover { transform: translateY(-5px); box-shadow: 0 8px 20px rgba(23,162,184,0.2) !important; }
    .card-accent-cyan { position: absolute; top: 0; left: 0; width: 100%; height: 4px; background: linear-gradient(90deg, #17a2b8, #138496); }
    .icon-wrapper { width: 50px; height: 50px; display: flex; align-items: center; justify-content: center; border: 2px solid rgba(23,162,184,0.15); }
    .bg-cyan { background-color: rgba(23,162,184,0.1) !important; }
    .btn-cyan { background-color: #17a2b8; border-color: #17a2b8; color: white; transition: all 0.3s; }
    .btn-cyan:hover { background-color: #138496; transform: scale(1.05); }
    .card-body { flex: 1; display: flex; flex-direction: column; justify-content: space-between; }
    .row { display: flex; flex-wrap: wrap; margin: 0 -12px; }
    .col-lg-4 { flex: 0 0 33.3333%; max-width: 33.3333%; padding: 0 12px; }
    .col-md-6 { flex: 0 0 50%; max-width: 50%; padding: 0 12px; }
    .mb-3 { margin-bottom: 1rem; }
    @media (max-width: 1200px) { .col-lg-4 { flex: 0 0 50%; max-width: 50%; } }
    @media (max-width: 768px) { .col-lg-4, .col-md-6 { flex: 0 0 100%; max-width: 100%; } .instruction-card { min-height: 180px; } }
  </style>
  {{/html}}
#else
  {{info}}В этом разделе пока нет инструкций. Создайте новую страницу через кнопку **Создать**.{{/info}}
#end
{{/velocity}}

== Добавить новую инструкцию ==

Для создания новой инструкции нажмите **Создать** в меню выше и выберите родительское пространство **"Отдел по работе с территориями"**.