179 lines
13 KiB
HTML
179 lines
13 KiB
HTML
<div loading-spinner if="state.dataIsLoading" centered="true" overlay="true" xmlns="http://www.w3.org/1999/html"></div>
|
|
|
|
<div class="ticket__not-found" ng-if="!state.dataIsLoading && !basicData.id" tabindex="0">
|
|
<h3>{{'sberequest.details.notFound' | i18n}}</h3>
|
|
</div>
|
|
|
|
<div class="ticket-details" ng-if="!state.dataIsLoading && basicData.id" aria-label="{{'common.labels.request' | i18n}} {{'ticket.region.details' | i18n}}"
|
|
role="region">
|
|
<div ng-class="{'ticket__header_sberequest': basicData.status.reason, 'ticket__header_sberequest--without-status-reason': !basicData.status.reason}" class="clearfix">
|
|
|
|
<div class="ticket__management clearfix" aria-label="{{'ticket.region.header' | i18n}}" role="region" tabindex="0">
|
|
<div class="ticket__basic-info">
|
|
<div class="service-request__summary-section row">
|
|
<div class="service-request__summary col-sm-11" ng-if="isFullVersion" title="{{basicData.serviceName}}">{{basicData.serviceName}}</div>
|
|
<div class="service-request__summary col-sm-11" ng-if="!isFullVersion" title="{{basicData.serviceName}}"><a class="ticket__summary" href="#/sberequest/{{basicData.id}}">{{basicData.serviceName}}</a></div>
|
|
</div>
|
|
|
|
<div class="ticket__icon">
|
|
<span class="icon-files_o"></span>
|
|
</div>
|
|
|
|
<div class="ticket__information">
|
|
<div class="ticket__name">{{'sbeRequest.detail.summary.orderId.label' | i18n:(basicData.id || '')}}</div>
|
|
<a class="ticket__name-link" aria-label="{{'search.preview.viewFullRequest' | i18n}}" ng-if="!isFullVersion" href="#/sberequest/{{basicData.id}}">{{'search.preview.viewFullRequest' | i18n}}</a>
|
|
|
|
<div class="ticket__lastupdated">{{'ticket.list.lastUpdated' | i18n : (basicData.modifiedDate | humanizedAbsoluteDateFormat)}}</div>
|
|
</div>
|
|
|
|
<div class="ticket-controls" ng-if="isFullVersion">
|
|
<div class="profile-action-bar__item dropdown" title="{{'controls.action.share' | i18n}}">
|
|
<button type="button" class="btn_link profile-action-bar__item-link dropdown-toggle" aria-label="{{'controls.action.share' | i18n}}">
|
|
<i class="icon-share"></i>
|
|
</button>
|
|
<ul class="profile-action-bar__item-menu dropdown-menu">
|
|
<li>
|
|
<div class="dropdown-item" ng-click="ticketActions.share()" tabindex="0" role="menuitem">
|
|
{{'action.ticket.email' | i18n: ('common.labels.' + basicData.type | i18n) }}
|
|
</div>
|
|
</li>
|
|
<li ng-if='chatModel.connected'>
|
|
<a class="dropdown-item profile-action-bar__item-menu_start-chat" tabindex="0" role="menuitem">
|
|
{{'chat.startFromTicket.headerMenu' | i18n: ('common.labels.' + basicData.type | i18n) }}
|
|
</a>
|
|
</li>
|
|
</ul>
|
|
</div>
|
|
<!--<div class="profile-action-bar__item" role="link" tabindex="0" ng-click="toggleFollowingFlag()" ng-enter="toggleFollowingFlag()"-->
|
|
<!--title="{{(basicData.following? 'controls.action.unfollow' : 'controls.action.follow') | i18n}}"-->
|
|
<!--aria-label="{{(basicData.following? 'controls.action.unfollow' : 'controls.action.follow') | i18n}}">-->
|
|
<!--<i class="{{basicData.following? 'icon-star' : 'icon-star_o'}}"></i>-->
|
|
<!--</div>-->
|
|
<div ng-if="!isDraft" title="{{'controls.action.print' | i18n}}" class="profile-action-bar__item"
|
|
aria-label="{{'controls.action.print' | i18n}}" role="link" tabindex="0"
|
|
ng-click="ticketActions.showPrintDialog($event)" ng-enter="ticketActions.showPrintDialog($event)">
|
|
<i class="{{'icon-printer'}}"></i>
|
|
</div>
|
|
<div class="profile-action-bar__item" role="link" tabindex="0" ng-click="refreshTicket()" ng-enter="refreshTicket()"
|
|
title="{{'common.labels.refresh' | i18n}}"
|
|
aria-label="{{'common.labels.refresh' | i18n}}">
|
|
<i class="icon-refresh"></i>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<div aria-label="{{'ticket.region.status' | i18n}}" role="region" tabindex="0">
|
|
<div class="ticket__status-value">
|
|
<div class="ticket__status-value--item">
|
|
<span class="label__text">{{'common.labels.status' | i18n}}: </span> {{'serviceRequest.status.'+basicData.status.value | i18n}}
|
|
</div>
|
|
<div class="ticket__status-value--item" ng-if="basicData.status.reason" title="{{basicData.status.reason}}">
|
|
<span class="label__text">{{'ticket.statusReason' | i18n}}: </span> {{basicData.status.reason}}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="clearfix" ng-class="{'ticket__body_sberequest': basicData.status.reason, 'ticket__body_sberequest--without-status-reason': !basicData.status.reason}">
|
|
<div class="ticket__customer-card clearfix" ng-if="basicData.requestedFor.firstName || basicData.requestedBy.firstName">
|
|
<div ng-if="(basicData.approvalSummaries) &&((basicData.approvalList.open.length) || (basicData.approvalList.rejected.length) || (basicData.approvalList.closed.length))" class="service-request__approvals"
|
|
role="region" tabindex="0" aria-label="{{'common.labels.approvalList' | i18n}}">
|
|
<span ng-if="basicData.approvalList.open.length">{{'serviceRequest.details.approvals' | i18n }}</span>
|
|
<span ng-if="(!basicData.approvalList.open.length) && (basicData.approvalList.rejected.length)">{{'serviceRequest.details.rejectedApprovals' | i18n }}</span>
|
|
<span ng-if="(!basicData.approvalList.open.length) && (!basicData.approvalList.rejected.length) && basicData.approvalList.closed.length">{{'serviceRequest.details.closed' | i18n }}</span>
|
|
|
|
<div class="pull-right service-request-approvers">
|
|
<span ng-if="basicData.approvalList.open.length">{{'serviceRequest.details.approved' | i18n:(basicData.approvalList.closed.length)}}, {{'serviceRequest.details.awaitingApproval' | i18n:(basicData.approvalList.open.length)}}<br /></span>
|
|
<b ng-if="isFullVersion" ng-click="ticketActions.showApprovalList()" ng-enter="ticketActions.showApprovalList()" tabindex="0" role="link">{{'approval.approversList.labels.showList' | i18n}}</b>
|
|
</div>
|
|
</div>
|
|
<person-info-card context="basicData" person-type="customer" person="basicData.requestedFor" class="ticket__owner no-border" profile-type="incident"
|
|
label="basicData.contact.firstName? 'personInfoCard.person.caption.contactInfo' : ''"></person-info-card>
|
|
|
|
<div ng-show="basicData.requestedBy.firstName" class="ticket__contact">
|
|
|
|
<div class="ticket__contact-header">
|
|
<a class="person-summary__full-name_link" href="#/person/{{basicData.requestedBy.loginId | escape}}">{{basicData.requestedBy.firstName}} {{basicData.requestedBy.lastName}} </a>
|
|
<span> {{'ticket.contact.madeRequest'| i18n}}</span>
|
|
<span ng-click="isContactCollapsed = !isContactCollapsed" ng-enter="isContactCollapsed = !isContactCollapsed"
|
|
ng-class="{'icon-triangle_down':isContactCollapsed, 'icon-triangle_up':!isContactCollapsed}" aria-label="{{'person.details.contactInfo' | i18n}}" role="link" tabindex="0"></span>
|
|
</div>
|
|
|
|
<person-info-card context="basicData" person-type="contact" collapse="isContactCollapsed" profile-type="incident" person="basicData.requestedBy"
|
|
label="'personInfoCard.person.caption.contact'"></person-info-card>
|
|
</div>
|
|
</div>
|
|
<div class="ticket__customer-card clearfix" ng-if="!basicData.requestedBy.firstName && basicData.requestedBy.loginId">
|
|
<div class="ticket__contact-header sbe-request__contact"><b>{{basicData.requestedBy.loginId}}</b> <span>{{'ticket.contact.madeRequest'| i18n}}</span></div>
|
|
</div>
|
|
|
|
<div class="service-request__center-info clearfix" aria-label="{{'sbeRequest.details.order' | i18n}}" role="region" tabindex="0">
|
|
<div class="row service-request__col1">
|
|
<div>
|
|
<div class="sbe-request__price" ng-if="basicData.orderId">
|
|
<span class="label__text">{{'sbeRequest.detail.summary.sbeorderId' | i18n}}</span>
|
|
<div><b>{{basicData.orderId}}</b></div>
|
|
</div>
|
|
<div class="sbe-request__price" ng-if="basicData.paymentType">
|
|
<span class="label__text">{{'sbeRequest.details.paymentType' | i18n}}</span>
|
|
<div><b>{{basicData.paymentType}}</b></div>
|
|
</div>
|
|
<div class="sbe-request__price" ng-if="basicData.quantity">
|
|
<span class="label__text">{{'sbeRequest.details.quantity' | i18n}}</span>
|
|
<div><b>{{basicData.quantity}}</b></div>
|
|
</div>
|
|
</div>
|
|
<div>
|
|
<div class="sbe-request__price" ng-if="basicData.onceCost">
|
|
<span class="label__text">{{'sbeRequest.details.onceCost' | i18n}}</span>
|
|
<div><b>{{basicData.onceCost}} {{basicData.currency}}</b></div>
|
|
</div>
|
|
<div class="sbe-request__price" ng-if="basicData.monthlyCost">
|
|
<span class="label__text">{{'sbeRequest.details.monthlyCost' | i18n}}</span>
|
|
<div><b>{{basicData.monthlyCost}} {{basicData.currency}}</b></div>
|
|
</div>
|
|
<div class="sbe-request__price" ng-if="basicData.yearlyCost">
|
|
<span class="label__text">{{'sbeRequest.details.yearlyCost' | i18n}}</span>
|
|
<div><b>{{basicData.yearlyCost}} {{basicData.currency}}</b></div>
|
|
</div>
|
|
</div>
|
|
<div class="sbe-request__price">
|
|
<span class="label__text">{{'sbeRequest.details.completion.date' | i18n}}</span>
|
|
<div><b>{{ basicData.completedDate ? ((basicData.completedDate | date:'mediumDate') + ' ' + (basicData.completedDate| date:'shortTime')) : '-' }}</b></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div class="service-request__definition-section clearfix" aria-label="{{'serviceRequest.details.requestDefinition' | i18n}}" role="region" tabindex="0">
|
|
<div class="service-request__definition">
|
|
<div class="service-request-definition-label label__text" ng-if="basicData.orderTitle">{{'serviceRequest.details.orderTitle' | i18n}}</div>
|
|
<div class="service-request-definition-name service-request-definition-desc" ng-if="basicData.orderTitle">{{basicData.orderTitle}}</div>
|
|
<div class="service-request-definition-label label__text" ng-if="basicData.excerpt">{{'serviceRequest.details.excerpt' | i18n}}</div>
|
|
<div class="service-request-definition-name service-request-definition-desc" ng-if="basicData.excerpt">{{basicData.excerpt}}</div>
|
|
<div class="service-request-definition-label label__text" ng-if="basicData.description">{{'serviceRequest.details.detailedDesc' | i18n}}</div>
|
|
<div class="service-request-definition-name service-request-definition-desc" ng-if="basicData.description">{{basicData.description}}</div>
|
|
</div>
|
|
<div class="service-request__questions">
|
|
<div class="srd-questions-container">
|
|
<div class="srd-questions-placeholder">
|
|
<div ng-repeat="question in basicData.answers">
|
|
<span class="service-request-definition-label label__text">{{ question.questionText }} :</span>
|
|
<div class="service-request-definition-name" ng-if="question.format != 'ATTACHMENT'">{{ question.displayValue }}</div>
|
|
<div class="service-request-definition-name" ng-if="question.format == 'ATTACHMENT'"><div ng-if="question.displayValues.length" ng-repeat="attachment in question.additionalInfo"><i class="icon-paperclip"></i> <a ng-href="/smartit/rest/sberequest/attachment?contentId={{attachment.metadataContentId}}&attachmentName={{attachment.metadataFileName}}" target="_blank">{{attachment.metadataFileName}}</a></div></div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
|
|
<div ng-if="isFullVersion" class="profile__relation clearfix" aria-label="{{'ticket.region.relationship' | i18n}}" role="region" tabindex="0">
|
|
<tabset justified="true" class="tabset_short-relative-tabs">
|
|
<tab heading="{{'serviceRequest.details.fulfillment' | i18n}}">
|
|
<fulfillment-map context="basicData"></fulfillment-map>
|
|
</tab>
|
|
</tabset>
|
|
</div>
|
|
</div>
|
|
|
|
</div>
|