Initial commit
This commit is contained in:
@@ -0,0 +1,47 @@
|
||||
<div id="add-documents-to-order-container" ng-controller="uploadDocumentsForOrderPackageCtrl" ng-init="getDocumentTypes()">
|
||||
<span ng-if="isOrderOngoingOrCompleted()" class="col-md-5 outside-process-steps">
|
||||
<h3 class="upload-files-header">{{'orders.tables.headers.uploadFile' | translate}}</h3>
|
||||
<hr />
|
||||
<form id="upload-new-doc-container" name="form" class="row">
|
||||
<div class="col-md-6">
|
||||
<div class="document-types">
|
||||
<label>{{'orders.headers.DOCUMENT_TYPES' | translate}}: </label>
|
||||
<select id="document-types-for-order"
|
||||
class="form-control-static add-document-value"
|
||||
ng-model="docType"
|
||||
ng-options="docType.type for docType in documentTypes track by docType.idDocumentType"
|
||||
ng-change="selectFileType(docType)">
|
||||
<option value="" disabled selected>{{'orders.headers.SELECT_DOCUMENT_TYPE' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="document-types">
|
||||
<label>{{'orders.headers.PACKAGES' | translate}}: </label>
|
||||
<select id="document-packages-for-order"
|
||||
class="form-control-static add-document-value"
|
||||
ng-model="package"
|
||||
ng-options="package.packageName for package in packages track by package.idPackage"
|
||||
ng-change="selectPackage(package)">
|
||||
<option value="" disabled selected>{{'orders.headers.SELECT_PACKAGE' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<div class="document-types">
|
||||
<label>{{'orders.headers.DOCUMENT_NAME' | translate}}: </label>
|
||||
<input id="new-doc-name"
|
||||
class="add-document-value"
|
||||
type="text"
|
||||
placeholder="{{'orders.headers.DOCUMENT_NAME' | translate}}"
|
||||
ng-model="$parent.fileName" />
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-6">
|
||||
<div ngf-drop="uploadFile($file)"
|
||||
ng-model="files"
|
||||
ngf-drag-over-class="'dragover'"
|
||||
ngf-select="uploadFile($file)"
|
||||
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.png,.jpg,.jpeg'"
|
||||
ngf-max-size="20MB"
|
||||
class="drop-box">{{'orders.headers.SELECT_DOCUMENT' | translate}}</div>
|
||||
</div>
|
||||
</form>
|
||||
</span>
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div ng-if="isOrderOngoing(ordersInfo.status)" id="assign-broker-parent" class="col-md-2">
|
||||
<label class="order-label">{{'orders.tables.headers.assignedTo' | translate}}</label>
|
||||
<div class="order-box">
|
||||
<div class="assign-broker-layer" id-order="{{ordersInfo.id}}">
|
||||
<div class="assigned-broker">{{ordersInfo.assignedTo}}</div>
|
||||
<div id="enalbe-assign-edit" ng-init="enableAssignBrokerEdit()" class="assign-icon glyphicon glyphicon-pencil"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div class="assign-combobox-layer">
|
||||
<input id="selected-broker" ng-model="selectedBroker" list="brokers">
|
||||
|
||||
<datalist id="brokers">
|
||||
<option ng-repeat="broker in brokers" value="{{broker.brokerName}}">
|
||||
</datalist>
|
||||
|
||||
<div class="assign-buttons">
|
||||
<div ng-click="assignBroker()" class="assign-btn glyphicon glyphicon-ok"></div>
|
||||
<div ng-click="removeAssign()" class="assign-btn glyphicon glyphicon-remove"></div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,21 @@
|
||||
<div class="col-md-12">
|
||||
<div
|
||||
id="order-cancel"
|
||||
ng-if="isOrderOngoing(ordersInfo.status)"
|
||||
class="btn btn-danger"
|
||||
ng-click="showHideCancelDialog()">
|
||||
{{'orders.buttons.CANCEL_ORDER' | translate}}
|
||||
</div>
|
||||
|
||||
<div id="dialog-confirm"
|
||||
dialog
|
||||
ng-if="isCancelDialogVisible"
|
||||
on-confirmation="cancelOrder"
|
||||
on-close="showHideCancelDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="ordersInfo.id"
|
||||
title="{{'orders.headers.CANCEL_ORDER' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.ORDER_CANCEL_CONFIRMATION' | translate}} {{ordersInfo.id}}?</p>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,8 @@
|
||||
<div id="delivery-date-layer" ng-if="isOrderOngoing(ordersInfo.status)">
|
||||
<div class="order-label">{{'orders.tables.headers.estimatedDeliveryDate' | translate}}: </div>
|
||||
<input
|
||||
ng-model="ordersInfo.estimatedDeliveryDate"
|
||||
on-date-selected="updateOrderEstimation"
|
||||
datepicker
|
||||
id="order-etimated-delivery-date"/>
|
||||
</div>
|
||||
@@ -0,0 +1,5 @@
|
||||
<button type="button"
|
||||
id="change-orders-steps-btn"
|
||||
subModule="orders_steps"
|
||||
class="btn btn-default"
|
||||
ng-click="setSubModule($event)">{{ 'orders.buttons.CHANGE_ORDERS_STEPS' | translate }}</button>
|
||||
@@ -0,0 +1,299 @@
|
||||
<div id="change-order-steps-message" ng-if="!isMyOrder(ordersInfo)">
|
||||
<div class="alert alert-warning">
|
||||
{{ 'orders.messages.NO_RIGHTS_FOR_ORDER' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
<div id="change-orders-steps-layer" ng-if="isMyOrder(ordersInfo)">
|
||||
<div id="order-info" class="order-info col-md-12">
|
||||
<h3>
|
||||
{{ 'orders.headers.CHANGE_ORDERS_STEPS' | translate }}
|
||||
{{'orders.headers.STEP_ORDER' | translate}} {{ordersInfo.orderNumber}} {{'orders.headers.STEP_ORDER_FROM' | translate}} {{ordersInfo.orderDate}}
|
||||
<div class="step-order-status order-status-{{ordersInfo.status}}"><span class="{{getOrderStatusIcon(ordersInfo.status)}}"></span>{{getStatusText(ordersInfo.status)}}</div>
|
||||
<span class="order-info-toggle glyphicon glyphicon-plus-sign" ng-click="toggleInfo($event)"></span>
|
||||
</h3>
|
||||
<div id="order-info-description" class="col-md-12 order-description order-toggle-info">
|
||||
<div class="col-md-4">
|
||||
<div id="order-info-all" class="col-md-6 order-info-container">
|
||||
<div class="order-big-label">{{'orders.tables.headers.generalInfo' | translate}}:</div>
|
||||
<div ng-if="ordersInfo.estimatedDeliveryDate" class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.estimatedDeliveryDate' | translate}}: </div>
|
||||
<div class="order-estimated order-text">{{ordersInfo.estimatedDeliveryDate}}</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.reference' | translate}}: </div>
|
||||
<div class="order-reference order-text">{{ordersInfo.reference}}</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.tender' | translate}}: </div>
|
||||
<div class="order-tender order-text">{{ordersInfo.tender}}</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.soldBy' | translate}}: </div>
|
||||
<div class="order-cl order-text">{{ordersInfo.commercialLead}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="order-info-customer" class="col-md-6 order-info-container">
|
||||
<div class="order-big-label">{{'orders.tables.headers.customer' | translate}}:</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-customer-info order-text">
|
||||
<span class="order-icon glyphicon glyphicon-user"></span>
|
||||
{{ordersInfo.customer}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-customer-info order-text">
|
||||
<span class="order-icon glyphicon glyphicon-earphone"></span>
|
||||
{{ordersInfo.phone}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-customer-info order-text">
|
||||
<span class="order-icon glyphicon glyphicon-envelope"></span>
|
||||
{{ordersInfo.mail}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="orderDocuments[0]" id="order-other-documents" class="col-md-12">
|
||||
<br/>
|
||||
<div class="order-big-label">Other documents:</div>
|
||||
<div class="order-document" ng-repeat="document in orderDocuments[0]">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
<span class="glyphicon glyphicon-file"></span> {{document.documentName}}.{{document.extension}} ({{document.documentType}})
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="order-info-items" class="order-info-all-items col-md-6">
|
||||
<div class="order-big-label">{{'orders.tables.headers.orderItems' | translate}}:</div>
|
||||
<div id="order-package-info-{{package.idPackage}}" class="order-info-item" ng-repeat="package in packages">
|
||||
<div class="order-info-item-name">{{package.units}} x {{package.packageName}}</div>
|
||||
<div class="order-info-item-info">
|
||||
<div class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.price' | translate}}:</div>
|
||||
<div class="order-text">
|
||||
{{calculatePrice([package.packageFixedPrice], package.units)}}
|
||||
( {{calculatePrice([package.packageRecuringPrice, package.packageServicePrice], package.units)}} / {{package.periodUnit}} )
|
||||
</div>
|
||||
<div class="prices-info alert-info">
|
||||
<div class="glyphicon glyphicon-info-sign"></div>
|
||||
<div class="order-text">
|
||||
<span ng-if="package.packagePayPeriod > 0">
|
||||
{{'orders.tables.extra.PACKAGE_RECURENT' | translate}}
|
||||
{{package.units}} x {{package.packageRecuringPrice}} / {{package.periodUnit}}
|
||||
{{'orders.tables.extra.FOR' | translate}} {{package.packagePayPeriod}} {{package.periodUnit}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="order-text">
|
||||
{{'orders.tables.extra.SERVICE_AND_SUPPORT' | translate}}
|
||||
{{package.units}} x {{package.packageServicePrice}} / {{package.periodUnit}}
|
||||
<span ng-if="package.servicesContractPeriod > 0">{{'orders.tables.extra.FOR' | translate}} {{package.servicesContractPeriod}} {{package.periodUnit}}</span>
|
||||
{{'orders.tables.extra.EXTEND' | translate}} {{package.periodUnit}} (Max {{package.maxContractPeriod}})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-box" ng-if="orderOptions[package.idPackage]">
|
||||
<div class="order-label">{{'orders.headers.OPTIONS' | translate}}:</div>
|
||||
<div class="order-text">
|
||||
<div class="order-option" ng-repeat="option in orderOptions[package.idPackage]">
|
||||
<div>
|
||||
{{option.groupName}} : {{option.packageName}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-box" ng-if="additionalPackages[package.idPackage]">
|
||||
<div class="order-label">{{'orders.headers.ADDIITONAL_PACKAGES' | translate}}:</div>
|
||||
<div class="order-text">
|
||||
<div class="order-option" ng-repeat="additionalPackage in additionalPackages[package.idPackage]">
|
||||
<div>
|
||||
{{additionalPackage.packageName}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.documents' | translate}}:</div>
|
||||
<div class="order-document" ng-repeat="document in orderDocuments[package.idPackage]">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
<span class="glyphicon glyphicon-file"></span> {{document.documentName}}.{{document.extension}} ({{document.documentType}})
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.products' | translate}}:</div>
|
||||
<div class="order-product-category" ng-repeat="(category, categoryProducts) in products[package.idPackage]">
|
||||
<span class="order-category">{{category}}:</span>
|
||||
<div ng-if="selections[package.idPackage][category]" class="selected-category">
|
||||
<span class="selected-product" ng-repeat="categSelection in selections[package.idPackage][category]">
|
||||
{{categSelection.productName}} <span class="my-selection">(selected)</span>,
|
||||
</span>
|
||||
</div>
|
||||
<div ng-if="!selections[package.idPackage][category]" class="containing-products">
|
||||
<span ng-repeat="product in categoryProducts">
|
||||
{{product.productName}},
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="hasAgreement(package.packagePayPeriod, package.servicesContractPeriod)" class="order-info-box">
|
||||
<div class="order-label">{{'orders.tables.headers.agreement' | translate}}</div>
|
||||
<div class="order-info-box" ng-if="package.packagePayPeriod > 0">
|
||||
{{'orders.tables.extra.PACKAGE_AGREEMENT' | translate}}
|
||||
{{package.packagePayPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
<div class="order-info-box" ng-if="package.servicesContractPeriod > 0">
|
||||
{{'orders.tables.extra.SERVICES_AGREEMENT' | translate}}
|
||||
{{package.servicesContractPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-info-item-status order-status-{{package.status}}">
|
||||
<span class="{{getOrderStatusIcon(package.status)}}"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="terms-layer col-md-12">
|
||||
<a target="_blank" href="terms/html/pdfTerms">{{'orders.headers.TERMS' | translate}}</a>
|
||||
</div>
|
||||
</div>
|
||||
<div id="order-estimated-delivery-date" class="col-md-2">
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('ChangeOrderEstimationDate.html');
|
||||
}else{
|
||||
require_once('OrderEstimationDate.html');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('AssignBrokerLayer.html');
|
||||
require_once('CancelOrderButton.html');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('SetProcessForPackage.html');
|
||||
} else {
|
||||
require_once('ShowPackageUnassignedProcess.html');
|
||||
}
|
||||
?>
|
||||
<div id="package-layer-{{process.idProcess}}" class="package-steps col-md-10" ng-repeat="process in processSteps">
|
||||
<div class="col-md-6">
|
||||
<h4>{{process.processName}}</h4>
|
||||
<div class="order-steps-layer">
|
||||
<div ng-if="isStepVisible(position, process.steps, process)" class="order-step-layer" ng-repeat="(position, step) in process.steps">
|
||||
<div ng-if="hasMoreSteps(position, process.steps, process, 'start')" class="col-md-12 order-seps-more">
|
||||
<div class="more-steps-start order-seps-more-icon glyphicon glyphicon-option-horizontal"></div>
|
||||
<div class="ordere-step-show-all-icon glyphicon glyphicon-plus-sign" ng-click="showAllSteps(process)"></div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<div class="order-step-link"></div>
|
||||
</div>
|
||||
<div id-step="{{step.idProcessStep}}" class="col-md-10 order-step {{getStatusClass(step.status)}}">
|
||||
<div class="order-step-number">
|
||||
<div>{{position + 1}}</div>
|
||||
<div class="glyphicon {{stepVisibleForCustomer(step.isVisibleForCustomer)}}"></div>
|
||||
</div>
|
||||
<div class="order-step-info">
|
||||
<div class="order-step-description">
|
||||
{{step.shortDesc}}
|
||||
<div class="order-step-status-text">
|
||||
{{'orders.statuses.' + formatStepText(step.status) | translate}}
|
||||
</div>
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('OrderStepFullDescriptionButton.html');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('OrdersStepEditInfo.html');
|
||||
}else{
|
||||
require_once('OrdersStepInfo.html');
|
||||
}
|
||||
?>
|
||||
<div ng-if="hasExtraAction(step)" class="step-extra-action">
|
||||
<div id="extra-action-{{step.idProcess}}" class="extra-action-layer" ng-init="extraActionDirective(step)"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('GoToNextStepButton.html');
|
||||
}
|
||||
?>
|
||||
<div ng-if="hasMoreSteps(position, process.steps, process, 'end')" class="col-md-12 order-seps-more">
|
||||
<div class="order-seps-more-icon glyphicon glyphicon-option-horizontal"></div>
|
||||
<div class="more-steps-end ordere-step-show-all-icon glyphicon glyphicon-plus-sign" ng-click="showAllSteps(process)"></div>
|
||||
</div>
|
||||
<div ng-if="isExpandedAndFirstStepInactive(process, step, position)" class="col-md-12 ordere-step-show-all-icon hide-steps glyphicon glyphicon-minus-sign" ng-click="showAllSteps(process)"></div>
|
||||
</div>
|
||||
<div ng-if="isExpanded(process)" class="col-md-12 ordere-step-show-all-icon hide-steps glyphicon glyphicon-minus-sign" ng-click="showAllSteps(process)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('AddDocumentsToOrderLayer.html');
|
||||
require_once('SetDeliveryDatesTemplate.php');
|
||||
require_once('InstallationSchedulerBrokerTemplate.php');
|
||||
} else if($user->getUserType() === USER_TYPES['COMMERCIAL_LEAD']){
|
||||
require_once('ShowDeliveryDatesCLTemplate.php');
|
||||
} else if($user->getUserType() === USER_TYPES['CUSTOMER']){
|
||||
require_once('InstallationSchedulerCustomerTemplate.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
<div id="order-comments" class="col-md-6">
|
||||
<div class="order-comments row">
|
||||
<h4 class="col-md-12">{{'orders.headers.ORDER_COMMENTS' | translate}}</h4>
|
||||
<div class="alert alert-info col-md-12">
|
||||
<span class="glyphicon glyphicon-exclamation-sign"></span>
|
||||
<span>{{allowedLanguagesDescription}}</span>
|
||||
</div>
|
||||
<div class="order-step-comments-container" class="col-md-12">
|
||||
<div id="order-comment-textarea" class="order-step-comment-textarea ">
|
||||
<textarea
|
||||
ui-tinymce="tinymceOptions"
|
||||
ng-model="ordersInfo.orderCommentText"></textarea>
|
||||
</div>
|
||||
<div id="add-order-comment" class="add-order-comment btn btn-primary col-md-4" ng-click="updateOrderComment()">
|
||||
{{ 'orders.buttons.SUBMIT' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-added-comments" class="col-md-12">
|
||||
<div class="order-comment-layer" ng-repeat="commentObj in orderComments">
|
||||
<div class="order-comment-date">
|
||||
{{commentObj.username}} - {{commentObj.addDate}}
|
||||
</div>
|
||||
<div class="order-comment-label" ng-bind-html="renderHtml(commentObj.comment)"></div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="send-support-mail-btn" ng-if="isSendSupportMailBtnAvailable">
|
||||
<div class="send-support-mail btn btn-info col-md-4" ng-click="showHideSupportDialog()">
|
||||
{{ 'orders.buttons.SUPPORT_MAIL' | translate }}
|
||||
</div>
|
||||
<div id="send-mail-to-support-dialog"
|
||||
dialog
|
||||
ng-if="isSupportMailBtnVisible"
|
||||
on-confirmation="sendSupportMail"
|
||||
on-close="showHideSupportDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="supportMailText"
|
||||
buttons-names="supportBtnNames"
|
||||
title="{{'orders.buttons.SUPPORT_MAIL' | translate}}">
|
||||
<p>
|
||||
<div support-mail
|
||||
orders-details="ordersInfo"
|
||||
packages="packages"
|
||||
support-mail-text="supportMailText">
|
||||
</div>
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<div class="row">
|
||||
<div class="earliest-installation-date-layer col-md-12">
|
||||
<div class="col-md-5">{{'orders.headers.EARLIEST_INSTALLATION_DATE' | translate}}:</div>
|
||||
<div class="col-md-4">{{earliestInstallationDate()}}</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,42 @@
|
||||
<div class="col-md-2">
|
||||
|
||||
<div id="undo-step-{{step.idOrder}}-{{step.idProcess}}"
|
||||
ng-if="isNextButtonVisible(step.status)"
|
||||
class="order-step-next btn btn-info"
|
||||
ng-click="showHideNextDialog({idProcess: process.idProcess, action: 'undo'})">
|
||||
{{'orders.buttons.UNDO_STEP' | translate}}
|
||||
|
||||
<div id="dialog-undo-confirm-{{process.idProcess}}"
|
||||
dialog
|
||||
ng-if="isUndoDialogVisible[process.idProcess]"
|
||||
on-confirmation="undoStep"
|
||||
on-close="showHideNextDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{idOrder: ordersInfo.id, idProcessStep: step.idProcessStep, idProcess: step.idProcess, action: 'undo'}"
|
||||
title="{{'orders.headers.UNDO_STEP_CONFIRMATION' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.UNDO_STEP_CONFIRMATION' | translate}}?</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="go-to-next-step-{{step.idOrder}}-{{step.idProcess}}"
|
||||
ng-disabled="isExtraActionOpen[step.idOrder+'-'+step.idProcess]"
|
||||
ng-if="isNextButtonVisible(step.status)"
|
||||
class="order-step-next btn btn-success"
|
||||
ng-click="showHideNextDialog({idOrder: ordersInfo.id, idProcessStep: step.idProcessStep, idProcess: step.idProcess, action: 'next'})">
|
||||
{{'orders.buttons.NEXT_STEP' | translate}}
|
||||
|
||||
<div id="dialog-next-confirm-{{process.idProcess}}"
|
||||
dialog
|
||||
ng-if="isNextDialogVisible[process.idProcess]"
|
||||
on-confirmation="goToNextStep"
|
||||
on-close="showHideNextDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{idOrder: ordersInfo.id, idProcessStep: step.idProcessStep, idProcess: step.idProcess, action: 'next'}"
|
||||
title="{{'orders.headers.NEXT_STEP_CONFIRMATION' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.NEXT_STEP_CONFIRMATION' | translate}}?</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,105 @@
|
||||
<div class="col-md-6" ng-repeat="orderPackage in packages">
|
||||
<div id="installation-scheduler-container" ng-controller="installationSchedulerCtrl" ng-init="getInstallationDetails()">
|
||||
<div ng-if="isInstallationInOrder" class="col-md-12 outside-process-steps">
|
||||
<h3 class="additional-procurement-header">{{'orders.headers.INSTALLATION_SCHEDULING' | translate}} {{orderPackage.packageName}}</h3>
|
||||
<hr />
|
||||
<fieldset ng-disabled="isInstallationSchedulingDisabled()" class="show-installation-dates">
|
||||
<div class="choose-installation-layer row" ng-if="!isChangeInstallationAvailable">
|
||||
<div class="col-md-12" ng-if="multipleInstallCompanies">
|
||||
<label class="col-md-5">{{'orders.tables.extra.CHOOSE_INSTALLATION' | translate}}</label>
|
||||
<select id="installation-companies-group"
|
||||
class="form-control-static {{optionClass}} col-md-4"
|
||||
ng-model="installationCompany"
|
||||
ng-options="installCompany.name for installCompany in installCompanies track by installCompany.id"
|
||||
ng-change="showHideInstallationDialog(installationCompany.id)">
|
||||
</select>
|
||||
<div id="confirm-change-installation-company"
|
||||
dialog
|
||||
ng-if="isInstallationDialogVisible[installationCompany.id]"
|
||||
on-confirmation="saveInstallationForPackage"
|
||||
on-close="showHideInstallationDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="installationCompany.id"
|
||||
title="{{'orders.headers.CHANGE_INSTALLATION_COMPANY' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.CHANGE_INSTALLATION_COMPANY_CONFIRM' | translate}}: <b>{{installationCompany.name}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12" ng-if="!multipleInstallCompanies">
|
||||
<label class="col-md-5">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}:</label>
|
||||
{{installationCompany.name}}
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="isChangeInstallationAvailable" class="row">
|
||||
<div class="col-md-12">
|
||||
<label class="col-md-5">{{'orders.tables.extra.INSTALLATION_COMPANY_SELECTED' | translate}}:</label>
|
||||
<span class="col-md-7">{{installationCompany.name}}</span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
require('DisplayEarliestInstallationDate.html');
|
||||
?>
|
||||
</fieldset>
|
||||
<fieldset ng-disabled="isInstallCompanySelectedAndScheduleDisabled()" class="set-installation-dates">
|
||||
<div id="propose-installation-dates" class="row">
|
||||
<?php
|
||||
require('InstallationSchedulingDatesTemplate.html');
|
||||
?>
|
||||
<div id="installation-files-container" class="col-md-12" ng-if="!isInstallCompanySelectedAndScheduleDisabled()">
|
||||
<form name="form" class="col-md-4">
|
||||
<div ngf-drop="uploadFile($file)"
|
||||
ng-model="files"
|
||||
ngf-drag-over-class="'dragover'"
|
||||
ngf-select="uploadFile($file)"
|
||||
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.png,.jpg,.jpeg'"
|
||||
ngf-max-size="20MB"
|
||||
class="drop-box">{{'orders.headers.SELECT_INSTALL_DOCUMENT' | translate}}</div>
|
||||
</form>
|
||||
<div class="uploaded-documents col-md-8">
|
||||
<div class="document-layer" ng-repeat="document in installationDocuments">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
<div id="remove-document-{{document.idDocument}}" class="remove-document" ng-if="document.isUploadedByMe">
|
||||
<span class="remove-document-btn glyphicon glyphicon-remove" ng-click="showHideDialog(document.idDocument)">
|
||||
{{'orders.tables.extra.REMOVE' | translate}}
|
||||
</span>
|
||||
<div id="confirm-remove-document"
|
||||
dialog
|
||||
ng-if="isDialogVisible[document.idDocument]"
|
||||
on-confirmation="removeInstallDocument"
|
||||
on-close="showHideDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="document.idDocument"
|
||||
title="{{'orders.headers.REMOVE_DOCUMENT' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_DOCUMENT_CONFIRMATION' | translate}} <b>{{document.documentName}}.{{document.extension}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div class="change-installation-btn col-md-12"
|
||||
ng-if="isChangeInstallationAvailable"
|
||||
ng-click="showHideChangingInstallationDialog()">
|
||||
<div class="alert alert-info col-md-5">
|
||||
<span class="glyphicon glyphicon-refresh"></span>
|
||||
{{'orders.headers.CHANGE_INSTALLATION_COMPANY' | translate}}
|
||||
</div>
|
||||
<div id="confirm-possibility-to-change-installation-company"
|
||||
dialog
|
||||
ng-if="isChangingInstallationDialogVisible"
|
||||
on-confirmation="activateChangeInstallation"
|
||||
on-close="showHideChangingInstallationDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
title="{{'orders.headers.ACTIVATE_CHANGE_INSTALLATION_COMPANY' | translate}}">
|
||||
<p class="alert alert-warning"><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.ACTIVATE_CHANGE_INSTALLATION_COMPANY_CONFIRM' | translate}}</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,36 @@
|
||||
<div id="installation-scheduler-container" ng-controller="installationSchedulerCtrl" ng-init="getInstallationDetails()">
|
||||
<div ng-if="isInstallationInOrder" class="col-md-5 outside-process-steps">
|
||||
<h3 class="additional-procurement-header">{{'orders.headers.INSTALLATION_SCHEDULING' | translate}}</h3>
|
||||
<hr />
|
||||
<fieldset ng-disabled="isInstallationSchedulingDisabled()" class="set-installation-dates">
|
||||
<div class="choose-installation-layer row">
|
||||
<div class="col-md-12" ng-if="isInstallationSet">
|
||||
<label class="col-md-5">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}:</label>
|
||||
{{installationCompany.name}}
|
||||
</div>
|
||||
<div class="col-md-12" ng-if="!isInstallationSet">
|
||||
<label class="col-md-5">{{'orders.tables.extra.INSTALLATION_COMPANY_NOT_CHOSEN' | translate}}:</label>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
require_once('DisplayEarliestInstallationDate.html');
|
||||
?>
|
||||
|
||||
<div id="propose-installation-dates" class="row">
|
||||
<?php
|
||||
require('InstallationSchedulingDatesTemplate.html');
|
||||
?>
|
||||
</div>
|
||||
|
||||
<div id="installation-files-container" class="uploaded-documents col-md-12" ng-if="installationDocuments">
|
||||
<h3 class="additional-procurement-header col-md-12">{{'orders.messages.INSTALLATION_PROTOCOL' | translate}}</h3>
|
||||
<div class="installation-protocol-doc col-md-12" ng-repeat="document in installationDocuments">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}&fileType=installationProtocol">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,55 @@
|
||||
<div id="installation-scheduler-container" ng-controller="installationSchedulerCtrl" ng-init="getInstallationDetails()">
|
||||
<div ng-if="isMyInstallationCompany" class="col-md-5 outside-process-steps">
|
||||
<h3 class="additional-procurement-header">{{'orders.headers.INSTALLATION_SCHEDULING' | translate}}</h3>
|
||||
<hr />
|
||||
<fieldset ng-disabled="isInstallationSchedulingDisabled()" class="set-installation-dates">
|
||||
<div class="choose-installation-layer row">
|
||||
<div class="col-md-12">
|
||||
<label class="col-md-5">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}:</label>
|
||||
{{installationCompany.name}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="propose-installation-dates" class="row">
|
||||
<?php
|
||||
require('InstallationSchedulingDatesTemplate.html');
|
||||
?>
|
||||
|
||||
<div id="installation-files-container" class="col-md-12" ng-if="!isInstallCompanySelectedAndScheduleDisabled()">
|
||||
<form name="form" class="col-md-4">
|
||||
<div ngf-drop="uploadFile($file)"
|
||||
ng-model="files"
|
||||
ngf-drag-over-class="'dragover'"
|
||||
ngf-select="uploadFile($file)"
|
||||
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.png,.jpg,.jpeg'"
|
||||
ngf-max-size="20MB"
|
||||
class="drop-box">{{'orders.headers.SELECT_INSTALL_DOCUMENT' | translate}}</div>
|
||||
</form>
|
||||
<div class="uploaded-documents col-md-8">
|
||||
<div class="document-layer" ng-repeat="document in installationDocuments">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
<div id="remove-document-{{document.idDocument}}" class="remove-document" ng-if="document.isUploadedByMe">
|
||||
<span class="remove-document-btn glyphicon glyphicon-remove" ng-click="showHideDialog(document.idDocument)">
|
||||
{{'orders.tables.extra.REMOVE' | translate}}
|
||||
</span>
|
||||
<div id="confirm-remove-document"
|
||||
dialog
|
||||
ng-if="isDialogVisible[document.idDocument]"
|
||||
on-confirmation="removeInstallDocument"
|
||||
on-close="showHideDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="document.idDocument"
|
||||
title="{{'orders.headers.REMOVE_DOCUMENT' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_DOCUMENT_CONFIRMATION' | translate}} <b>{{document.documentName}}.{{document.extension}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,101 @@
|
||||
<div class="confirmation-dates-container col-md-12">
|
||||
<div class="installation-dates-history col-md-12" ng-repeat="(confirmationDate, dateInfo) in confirmationDates">
|
||||
<div id="installation-scheduling-dates-container" class="col-md-12">
|
||||
<div class="col-md-11">
|
||||
<span class="installation-date-proposed confirmation-{{dateInfo.lastStatus}} col-md-3">{{confirmationDate}}</span>
|
||||
<div id="accept-date-{{idPackage}}-{{confirmationDate}}"
|
||||
class="remove-date col-md-2 btn btn-success"
|
||||
ng-if="canUserAcceptOrDecline(confirmationDate, dateInfo, 'declined')"
|
||||
ng-click="showHideAcceptDialog(confirmationDate)">
|
||||
<span class="remove-date-btn glyphicon glyphicon-ok">
|
||||
{{'orders.tables.extra.ACCEPT' | translate}}
|
||||
</span>
|
||||
<div id="confirm-cancel-accept-installation-dates-{{idPackage}}"
|
||||
dialog
|
||||
ng-if="isAcceptDialogVisible[confirmationDate]"
|
||||
on-confirmation="userButtonAction"
|
||||
on-close="showHideAcceptDialog(confirmationDate)"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{confirmationDate, userStatus: 'accepted'}"
|
||||
title="{{'orders.headers.ACCEPT_MY_DATE' | translate}}">
|
||||
<p>
|
||||
<div ng-if="isDateAlreadyAccepted">
|
||||
{{'orders.messages.MULTIPLE_ACCEPT_INSTALLATION' | translate}}
|
||||
</div>
|
||||
<span class="glyphicon glyphicon-warning-sign"></span>
|
||||
{{'orders.messages.ACCEPT_INSTALLATION' | translate}} <b>{{confirmationDate}}</b>?
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="decline-date-{{idPackage}}-{{confirmationDate}}"
|
||||
class="remove-date {{offsetClass}} col-md-2 btn btn-danger"
|
||||
ng-if="canUserAcceptOrDecline(confirmationDate, dateInfo,'accepted')"
|
||||
ng-click="showHideDeclineDialog(confirmationDate)">
|
||||
<span class="remove-date-btn glyphicon glyphicon-remove">
|
||||
{{'orders.tables.extra.DECLINE' | translate}}
|
||||
</span>
|
||||
<div id="confirm-cancel-decline-installation-dates-{{idPackage}}"
|
||||
dialog
|
||||
ng-if="isDeclineDialogVisible[confirmationDate]"
|
||||
on-confirmation="userButtonAction"
|
||||
on-close="showHideDeclineDialog(confirmationDate)"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{confirmationDate, userStatus: 'declined'}"
|
||||
title="{{'orders.headers.DECLINE_MY_DATE' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.DECLINE_INSTALLATION' | translate}} <b>{{confirmationDate}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
<div id="remove-date-{{idPackage}}-{{confirmationDate}}"
|
||||
class="remove-date col-md-offset-7 col-md-2 btn btn-primary"
|
||||
ng-if="isRemoveBtnVisible(confirmationDate)"
|
||||
ng-click="showHideRemoveDialog(confirmationDate)">
|
||||
<span class="remove-date-btn glyphicon glyphicon-trash">
|
||||
{{'orders.tables.extra.REMOVE' | translate}}
|
||||
</span>
|
||||
<div id="confirm-cancel-remove-installation-dates-{{idPackage}}"
|
||||
dialog
|
||||
ng-if="isRemoveDialogVisible[confirmationDate]"
|
||||
on-confirmation="removeMyDate"
|
||||
on-close="showHideRemoveDialog(confirmationDate)"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="confirmationDate"
|
||||
title="{{'orders.headers.REMOVE_MY_DATE' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_INSTALLATION' | translate}} <b>{{confirmationDate}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<span class="dates-info-btn glyphicon glyphicon-info-sign col-md-1" ng-click="showDateDetails(dateInfo)"></span>
|
||||
<div class="date-row col-md-12" ng-if="dateInfo.isInfoVisible" ng-repeat="(key, details) in dateInfo.details">
|
||||
<div class="col-md-4">
|
||||
{{details.currentDate}}
|
||||
</div>
|
||||
<div class="col-md-3 confirmation-{{details.status}}">
|
||||
<span class="glyphicon glyphicon-{{getIcon(details.status)}}"></span>
|
||||
{{details.status}}
|
||||
</div>
|
||||
<div class="col-md-5">
|
||||
{{details.username}} ({{details.userType}})
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="add-new-date col-md-12" ng-show="showAddNewDate">
|
||||
<label class="col-md-6">{{'orders.tables.extra.INSTALLATION_DATE_PROPOSE' | translate}}</label>
|
||||
<input ng-model="installationDate"
|
||||
class="col-md-3"
|
||||
on-date-selected="updateInstallationDate"
|
||||
datepicker
|
||||
id="installation-date-propose-{{idPackage}}"/>
|
||||
</div>
|
||||
|
||||
<div class="add-new-date-btn col-md-12" ng-if="!isInstallCompanySelectedAndScheduleDisabled()">
|
||||
<div class="col-md-3 btn btn-primary" ng-click="shouldShowAddNewDate()">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
<span class="add-new-schedule">{{'orders.buttons.ADD_OPTIONAL_DATE' | translate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,55 @@
|
||||
<div class="order-details-extra-info col-md-4">
|
||||
<div class="order-details-items">
|
||||
<div class="order-details-label">{{'orders.tables.headers.orderItems' | translate}}</div>
|
||||
<div class="order-details-item" ng-repeat="package in data.packages">
|
||||
<div class="package-item-name">{{package.units}} x {{package.packageName}}</div>
|
||||
<div class="package-item-info">
|
||||
<div class="package-item-box">
|
||||
<div class="order-details-label">Price:</div>
|
||||
<div class="order-details-info order-details-price">{{calculatePrice([package.packageFixedPrice], package.units)}}
|
||||
( {{calculatePrice([package.packageRecuringPrice, package.packageServicePrice], package.units)}} / {{package.periodUnit}} )</div>
|
||||
</div>
|
||||
<div class="prices-info">
|
||||
<div class="order-text">
|
||||
<span ng-if="package.packagePayPeriod > 0">
|
||||
{{'orders.tables.extra.PACKAGE_RECURENT' | translate}}
|
||||
{{package.units}} x {{package.packageRecuringPrice}} / {{package.periodUnit}}
|
||||
{{'orders.tables.extra.FOR' | translate}} {{package.packagePayPeriod}} {{package.periodUnit}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="order-text">
|
||||
{{'orders.tables.extra.SERVICE_AND_SUPPORT' | translate}}
|
||||
{{package.units}} x {{package.packageServicePrice}} / {{package.periodUnit}}
|
||||
<span ng-if="package.servicesContractPeriod > 0">{{'orders.tables.extra.FOR' | translate}} {{package.servicesContractPeriod}} {{package.periodUnit}}</span>
|
||||
{{'orders.tables.extra.EXTEND' | translate}} {{package.periodUnit}} (Max {{package.maxContractPeriod}})
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="hasAgreement(package.packagePayPeriod, package.servicesContractPeriod)" class="package-item-box">
|
||||
<div class="order-details-label">{{'orders.tables.headers.agreement' | translate}}:</div>
|
||||
<div class="order-info-box" ng-if="package.packagePayPeriod > 0">
|
||||
{{'orders.tables.extra.PACKAGE_AGREEMENT' | translate}}
|
||||
{{package.packagePayPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
<div class="order-info-box" ng-if="package.servicesContractPeriod > 0">
|
||||
{{'orders.tables.extra.SERVICES_AGREEMENT' | translate}}
|
||||
{{package.servicesContractPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="package.shortDesc" class="package-item-box">
|
||||
<div class="order-details-label">{{'orders.tables.headers.step' | translate}}:</div>
|
||||
<div class="order-details-info">{{package.shortDesc}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="package-item-status order-status-{{package.status}}">
|
||||
<span class="{{getStatusIcon(package.status)}}"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="order-details-footer row">
|
||||
<div class="order-details-total col-md-offset-10 col-md-2">
|
||||
<div class="order-details-label">{{'orders.tables.headers.total' | translate}}: {{data.orderTotalPrice}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-details-status detailed-status detailed-status-{{data.status}}">{{data.status}}</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div class="order-details-comercial-lead col-md-2">
|
||||
<h5>{{'orders.tables.headers.commercialLead' | translate}}: {{data.commercialLead}}</h5>
|
||||
|
||||
<div class="order-details-label">{{'orders.tables.headers.phone' | translate}}:</div>
|
||||
<div class="order-details-info">{{data.commercialLeadPhone}}</div>
|
||||
|
||||
<div class="order-details-label">{{'orders.tables.headers.mail' | translate}}:</div>
|
||||
<div class="order-details-info">{{data.commercialLeadMail}}</div>
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div class="order-details-customer col-md-2">
|
||||
<h5>{{'orders.tables.headers.customer' | translate}}: {{data.customer}}</h5>
|
||||
|
||||
<div class="order-details-label">{{'orders.tables.headers.deliveryAddress' | translate}}:</div>
|
||||
<div class="order-details-info">{{data.deliveryAddress}}</div>
|
||||
|
||||
<div class="order-details-label">{{'orders.tables.headers.phone' | translate}}:</div>
|
||||
<div class="order-details-info">{{data.customerPhone}}</div>
|
||||
|
||||
<div class="order-details-label">{{'orders.tables.headers.mail' | translate}}:</div>
|
||||
<div class="order-details-info">{{data.customerMail}}</div>
|
||||
</div>
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="order-details-extra-info col-md-4">
|
||||
<div class="order-details-items">
|
||||
<div class="order-details-label">{{'orders.tables.headers.orderItems' | translate}}</div>
|
||||
<div class="order-details-item" ng-repeat="package in data.packages">
|
||||
<div class="package-item-name">{{package.units}} x {{package.packageName}}</div>
|
||||
<div class="package-item-info">
|
||||
<div ng-if="package.shortDesc" class="package-item-box">
|
||||
<div class="order-details-label">{{'orders.tables.headers.step' | translate}}:</div>
|
||||
<div class="order-details-info">{{package.shortDesc}}</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="package-item-status order-status-{{package.status}}">
|
||||
<span class="{{getStatusIcon(package.status)}}"></span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="order-details-status detailed-status detailed-status-{{data.status}}">{{data.status}}</div>
|
||||
@@ -0,0 +1,2 @@
|
||||
<div class="order-label">{{'orders.tables.headers.estimatedDeliveryDate' | translate}}: </div>
|
||||
<span>{{ordersInfo.estimatedDeliveryDate}}</span>
|
||||
@@ -0,0 +1 @@
|
||||
<span class="order-info-toggle glyphicon {{getIconStepStatus()}}" ng-click="toggleInfo($event)"></span>
|
||||
@@ -0,0 +1,13 @@
|
||||
<div class="order-details row">
|
||||
<?php
|
||||
require_once('OrderDetailsCustomer.html');
|
||||
|
||||
if($user->getUserType() === USER_TYPES['BROKER'] || $user->getUserType() === USER_TYPES['CUSTOMER']){
|
||||
require_once('OrderDetailsCommercialLead.html');
|
||||
require_once('OrderDetailsAllTemplate.php');
|
||||
}
|
||||
|
||||
if($user->getUserType() === USER_TYPES['SUPPLIER']){
|
||||
require_once('OrderDetailsSupplierTemplate.php');
|
||||
}
|
||||
?>
|
||||
@@ -0,0 +1,33 @@
|
||||
<div ng-bind-html="renderHtml(step.fullDesc)" class="order-step-full-description order-toggle-info {{getDisplayDescriptionClass()}}">
|
||||
</div>
|
||||
<div class="order-step-estimation">
|
||||
<span class="step-acutal-date">{{'orders.tables.headers.actualDate' | translate}}: </span>
|
||||
<input ng-model="step.actualDate"
|
||||
element-data="step"
|
||||
on-date-selected="updateStepActualDate"
|
||||
datepicker
|
||||
ng-disabled="isEstimationDisabled(step.status)"
|
||||
id="step-actual-{{step.idProcessStep}}-{{step.idPackage}}"
|
||||
class="step-estimated-date" />
|
||||
</div>
|
||||
|
||||
{{'orders.tables.headers.comments' | translate}}:
|
||||
<div class="order-step-comment" ng-repeat="commentObj in step.comments">
|
||||
<div class="order-comment-date">{{commentObj.user}} - {{commentObj.addDate}}:</div>
|
||||
<div ng-click="updateStepCommentVisibility(commentObj)"
|
||||
class="comment-glyphicon glyphicon {{isCommentVisible(commentObj.isVisible, step.isVisibleForCustomer)}}"></div>
|
||||
<div class="order-comment-label">{{commentObj.comment}}</div>
|
||||
</div>
|
||||
|
||||
<div class="order-step-comments-container" ng-if="canAddComment(step)">
|
||||
<textarea type="text"
|
||||
ng-model="stepCommentText"
|
||||
class="form-control order-step-comment-textarea"
|
||||
placeholder="{{'orders.tables.headers.comments' | translate}}"></textarea>
|
||||
<div class="btn btn-primary col-md-4" ng-click="updateStepComment(stepCommentText, step)">
|
||||
{{ 'orders.buttons.SUBMIT' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
<div ng-click="setNewCommentVisibility(step)"
|
||||
ng-if="canAddComment(step)"
|
||||
class="comment-glyphicon glyphicon {{isCommentVisible(step.isNewCommentVisible, step.isVisibleForCustomer)}}"></div>
|
||||
@@ -0,0 +1,19 @@
|
||||
<div class="order-step-estimation">
|
||||
<span class="step-acutal-date">{{'orders.tables.headers.actualDate' | translate}}: {{step.actualDate}}</span>
|
||||
</div>
|
||||
|
||||
{{'orders.tables.headers.comments' | translate}}:
|
||||
<div class="order-step-comment" ng-repeat="commentObj in step.comments">
|
||||
<div class="order-comment-date">{{commentObj.user}} - {{commentObj.addDate}}:</div>
|
||||
<div class="order-comment-label">{{commentObj.comment}}</div>
|
||||
</div>
|
||||
|
||||
<div class="order-step-comments-container" ng-if="canAddComment(step)">
|
||||
<textarea type="text"
|
||||
ng-model="stepCommentText"
|
||||
class="form-control order-step-comment-textarea"
|
||||
placeholder="{{'orders.tables.headers.comments' | translate}}"></textarea>
|
||||
<div class="btn btn-primary col-md-4" ng-click="updateStepComment(stepCommentText, step)">
|
||||
{{ 'orders.buttons.SUBMIT' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,60 @@
|
||||
<button type="button"
|
||||
id="ongoing-orders-btn"
|
||||
subModule="ongoing_orders"
|
||||
class="btn btn-default"
|
||||
ng-click="setSubModule($event)">{{ 'orders.buttons.SHOW_ONGOING_ORDERS' | translate }}</button>
|
||||
<button type="button"
|
||||
id="orders-history-btn"
|
||||
subModule="orders_history"
|
||||
class="btn btn-default"
|
||||
ng-click="setSubModule($event)">{{ 'orders.buttons.SHOW_ORDERS_HISTORY' | translate }}</button>
|
||||
<button type="button"
|
||||
id="order-projects-btn"
|
||||
subModule="orderProjects"
|
||||
class="btn btn-default"
|
||||
ng-click="setSubModule($event)">{{ 'orders.buttons.ORDER_PROJECTS' | translate }}</button>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12"
|
||||
id="orders-layer"
|
||||
ng-if="isSubmoduleVisible('ongoing_orders')"
|
||||
ng-init="getOngoingOrders()">
|
||||
<h3>{{ 'orders.headers.SHOW_ONGOING_ORDERS' | translate }}</h3>
|
||||
<table class="table table-bordered table-striped table-hover" id="ongoing-orders"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12"
|
||||
id="orders-hostory-layer"
|
||||
ng-if="isSubmoduleVisible('orders_history')"
|
||||
ng-init="getOrdersHistory()">
|
||||
<h3>{{ 'orders.headers.SHOW_ORDERS_HISTORY' | translate }}</h3>
|
||||
<table class="table table-bordered table-striped table-hover" id="orders-history"></table>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12"
|
||||
id="order-projects-layer"
|
||||
ng-if="isSubmoduleVisible('orderProjects')"
|
||||
ng-init="getOrderProjects()">
|
||||
<h3>{{ 'orders.headers.SHOW_ORDER_PROJECTS' | translate }}</h3>
|
||||
<order-projects ng-controller="orderProjectsController" ng-init="getOrderProjectsHeaders()"></order-projects>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-sm-12"
|
||||
id="change-orders-steps-module"
|
||||
ng-if="isSubmoduleVisible('orders_steps')">
|
||||
<?php
|
||||
if(in_array($user->getUserType(), [USER_TYPES['BROKER'], USER_TYPES['CUSTOMER'], USER_TYPES['COMMERCIAL_LEAD']]) ){
|
||||
echo '<change-orders-steps ng-controller="changeOrdersStepsCtrl" ng-init="startOrdersStepsModule()"></change-orders-steps>';
|
||||
}else{
|
||||
echo '<suppliers-procurement-view ng-controller="suppliersProcurementViewCtrl" ng-init="getOrderSteps()"></suppliers-procurement-view>';
|
||||
}
|
||||
?>
|
||||
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,178 @@
|
||||
<div id="set-delivery-dates-container" ng-controller="setDeliveryDatesCtrl" ng-init="getEstimationsAndEarliestInstallDate()">
|
||||
<div ng-if="areProductsInOrder" class="col-md-5 outside-process-steps">
|
||||
<h3 class="additional-procurement-header">{{'orders.headers.SET_DELIVERY_DATES' | translate}}</h3>
|
||||
<hr />
|
||||
<fieldset ng-disabled="isSetDeliveryDatesDisabled()">
|
||||
<div class="delivery-dates-header row">
|
||||
<div class="supplier-header col-md-5">{{ 'orders.tables.extra.SUPPLIERS' | translate }}</div>
|
||||
<div class="supplier-header col-md-3">{{ 'orders.tables.headers.estimatedDate' | translate }}</div>
|
||||
<div class="supplier-header col-md-3">{{ 'orders.tables.headers.confirmedDate' | translate }}</div>
|
||||
</div>
|
||||
<div class="supplier-layer row" ng-repeat="supplierEstimation in supplierEstimations">
|
||||
<div class="product-layer col-md-12">
|
||||
<div class="prdocut-name col-md-5">
|
||||
<div class="col-md-12">
|
||||
{{supplierEstimation.supplierName}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="prdocut-estimated col-md-3">
|
||||
<div ng-if="!isDateEditable('estimatedDate', supplierEstimation)" class="display-date">
|
||||
{{supplierEstimation.estimatedDate}}
|
||||
</div>
|
||||
|
||||
<input class="date-input product-input"
|
||||
ng-if="isDateEditable('estimatedDate', supplierEstimation)"
|
||||
placeholder="{{ 'orders.tables.headers.estimatedDate' | translate }}"
|
||||
element-data="supplierEstimation"
|
||||
datepicker
|
||||
on-date-selected="updateSupplierEstimation"
|
||||
ng-model="supplierEstimation.estimatedDate" />
|
||||
<span ng-if="!isDateEditable('estimatedDate', supplierEstimation)"
|
||||
ng-click="openDatePicker('estimatedDate', supplierEstimation.idSupplier)"
|
||||
class="edit-date glyphicon glyphicon-pencil"></span>
|
||||
<div class="remove-date-icon-container">
|
||||
<span ng-if="supplierEstimation.estimatedDate"
|
||||
ng-click="showHideRemoveDatesDialog('estimated', supplierEstimation)"
|
||||
class="remove-estiamted glyphicon glyphicon-remove"></span>
|
||||
<div id="confirm-remove-estimation-date-{{idOrder}}-{{supplierEstimation.idSupplier}}"
|
||||
dialog
|
||||
ng-if="isRemoveDatesDialogVisible['estimated'][supplierEstimation.idSupplier]"
|
||||
on-confirmation="removeSupplierEstimation"
|
||||
on-close="showHideRemoveDatesDialog('estimated', supplierEstimation)"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{idSupplier: supplierEstimation.idSupplier, type: 'estimation'}"
|
||||
title="{{'orders.headers.REMOVE_DATES' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_ESTIMATED_DATE' | translate}} <b>{{supplierEstimation.estimatedDate}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="prdocut-confimrmed col-md-3">
|
||||
<div ng-if="!isDateEditable('confirmedDate', supplierEstimation)" class="display-date">
|
||||
{{supplierEstimation.confirmedDate}}
|
||||
</div>
|
||||
|
||||
<input class="date-input product-input"
|
||||
ng-if="isDateEditable('confirmedDate', supplierEstimation)"
|
||||
placeholder="{{ 'orders.tables.headers.confirmedDate' | translate }}"
|
||||
element-data="supplierEstimation"
|
||||
datepicker
|
||||
on-date-selected="updateSupplierEstimation"
|
||||
ng-model="supplierEstimation.confirmedDate" />
|
||||
<span ng-if="!isDateEditable('confirmedDate', supplierEstimation)"
|
||||
ng-click="openDatePicker('confirmedDate', supplierEstimation.idSupplier)"
|
||||
class="edit-date glyphicon glyphicon-pencil"></span>
|
||||
<div class="remove-date-icon-container">
|
||||
<span ng-if="supplierEstimation.confirmedDate"
|
||||
ng-click="showHideRemoveDatesDialog('confirmed', supplierEstimation)"
|
||||
class="remove-confirmed glyphicon glyphicon-remove"></span>
|
||||
<div id="confirm-remove-estimation-date-{{idOrder}}-{{supplierEstimation.idSupplier}}"
|
||||
dialog
|
||||
ng-if="isRemoveDatesDialogVisible['confirmed'][supplierEstimation.idSupplier]"
|
||||
on-confirmation="removeSupplierEstimation"
|
||||
on-close="showHideRemoveDatesDialog('confirmed', supplierEstimation)"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{idSupplier: supplierEstimation.idSupplier, type: 'confirmation'}"
|
||||
title="{{'orders.headers.REMOVE_DATES' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_CONFIRMED_DATE' | translate}} <b>{{supplierEstimation.confirmedDate}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<span class="glyphicon {{getEstimationIcon(supplierEstimation.confirmedDate)}}"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="traking-layer col-md-12">
|
||||
<div>
|
||||
{{'orders.headers.TRACKING' | translate}}
|
||||
</div>
|
||||
<div ng-if="!isSetDeliveryDatesDisabled()">
|
||||
<div ng-repeat="trackingInfo in supplierEstimation.trackings">
|
||||
<input type="text"
|
||||
class="product-input col-md-2"
|
||||
placeholder="{{ 'orders.tables.headers.trackingNumber' | translate }}"
|
||||
ng-model="trackingInfo.trackingNumber"/>
|
||||
<input type="text"
|
||||
class="product-input col-md-8"
|
||||
placeholder="{{ 'orders.tables.headers.trackingUrl' | translate }}"
|
||||
ng-model="trackingInfo.trackingUrl"/>
|
||||
<div id="remove-tracking-{{idOrder}}-{{idPackage}}-{{trackingInfo.idSupplier}}"
|
||||
class="remove-date col-md-1"
|
||||
ng-click="showHideRemoveDialog(trackingInfo.idTracking)">
|
||||
<span class="remove-date-btn glyphicon glyphicon-trash"></span>
|
||||
<div id="confirm-remove-tracking-{{idOrder}}-{{idPackage}}-{{trackingInfo.idSupplier}}"
|
||||
dialog
|
||||
ng-if="isRemoveDialogVisible[trackingInfo.idTracking]"
|
||||
on-confirmation="removeTracking"
|
||||
on-close="showHideRemoveDialog(trackingInfo.idTracking)"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="trackingInfo"
|
||||
title="{{'orders.headers.REMOVE_TRACKING' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_TRACKING' | translate}} <b>{{trackingInfo.trackingNumber}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<div class="btn btn-primary save-traking-btn"
|
||||
ng-click="updateTracking(trackingInfo)">
|
||||
{{ 'orders.buttons.SAVE' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div ng-if="showAddNewTracking[supplierEstimation.idSupplier]">
|
||||
<input type="text"
|
||||
class="product-input col-md-3"
|
||||
placeholder="{{ 'orders.tables.headers.trackingNumber' | translate }}"
|
||||
ng-model="trackingNumber"/>
|
||||
<input type="text"
|
||||
class="product-input col-md-7"
|
||||
placeholder="{{ 'orders.tables.headers.trackingUrl' | translate }}"
|
||||
ng-model="trackingUrl"/>
|
||||
<div class="col-md-2">
|
||||
<div class="btn btn-primary save-traking-btn"
|
||||
ng-click="addTracking(supplierEstimation.idSupplier, trackingNumber, trackingUrl)">
|
||||
{{ 'orders.buttons.ADD_TRACKING' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="add-new-traking-btn col-md-12">
|
||||
<div class="col-md-5 btn btn-primary" ng-click="shouldShowAddNewTracking(supplierEstimation.idSupplier)">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
<span class="add-new-schedule">{{'orders.buttons.ADD_ANOTHER_TRACKING' | translate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="isSetDeliveryDatesDisabled()">
|
||||
<div class="col-md-12" ng-if="isTrackingEmpty(supplierEstimation.trackings)">{{'orders.messages.TRACKING_EMPTY' | translate}}</div>
|
||||
<div class="display-tracking-info col-md-12" ng-if="!isTrackingEmpty(supplierEstimation.trackings)" ng-repeat="trackingInfo in supplierEstimation.trackings">
|
||||
<span class="col-md-2">{{trackingInfo.trackingNumber}}</span>
|
||||
<span class="col-md-10">
|
||||
<a href="{{trackingInfo.trackingUrl}}" target="_blank">{{trackingInfo.trackingUrl}}</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="final-dates-layer col-md-12">
|
||||
<div class="col-md-6">{{'orders.headers.FINAL_DATES' | translate}}:</div>
|
||||
<div class="final-esimation col-md-3">{{getEstimatedOrConfirmedMaxDate('estimatedDate')}}</div>
|
||||
<div class="final-confirmation col-md-3">{{getEstimatedOrConfirmedMaxDate('confirmedDate')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']) {
|
||||
require_once('DisplayEarliestInstallationDate.html');
|
||||
}
|
||||
?>
|
||||
</fieldset>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,25 @@
|
||||
<div id="order-chose-process" class="col-md-6" ng-if="hasNoSelectedProcess(ordersInfo.status)">
|
||||
<div class="package-steps">
|
||||
<div class="order-label">{{'orders.messages.SELECT_A_PROCESS' | translate}}: </div>
|
||||
<div class="order-available-processes-layer">
|
||||
<div class="order-available-process" ng-repeat="availableProcess in availableProcesses">
|
||||
<div class="order-process-name">{{availableProcess.processName}}</div>
|
||||
<div class="order-process-chose-btn btn btn-primary"
|
||||
ng-click="showHideProcessDialog(availableProcess)">
|
||||
{{'orders.buttons.USE_THIS' | translate}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div id="dialog-process-confirm"
|
||||
dialog
|
||||
ng-if="isProcessDialogVisible"
|
||||
on-confirmation="setProcessForOrder"
|
||||
on-close="showHideProcessDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="selectedProcess"
|
||||
title="{{'orders.headers.PROCESS_CONFIRMATION' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-info-sign"></span>{{'orders.messages.PROCESS_CONFIRMATION' | translate}} {{selectedProcess.processName}}?</p>
|
||||
</div>
|
||||
@@ -0,0 +1,39 @@
|
||||
<div id="show-delivery-dates-cl-container" class="col-md-5 outside-process-steps" ng-controller="setDeliveryDatesCtrl" ng-init="getEstimationsAndEarliestInstallDate()">
|
||||
<h3 class="additional-procurement-header">{{'orders.headers.SET_DELIVERY_DATES' | translate}}</h3>
|
||||
<hr />
|
||||
<fieldset ng-disabled="isSetDeliveryDatesDisabled()">
|
||||
<div class="delivery-dates-header row">
|
||||
<div class="supplier-header col-md-5">{{ 'orders.tables.extra.SUPPLIERS' | translate }}</div>
|
||||
<div class="supplier-header col-md-3">{{ 'orders.tables.headers.estimatedDate' | translate }}</div>
|
||||
<div class="supplier-header col-md-3">{{ 'orders.tables.headers.confirmedDate' | translate }}</div>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="final-dates-layer-cl col-md-12">
|
||||
<div class="col-md-6">{{'orders.headers.FINAL_DATES' | translate}}:</div>
|
||||
<div class="final-esimation col-md-3">{{getEstimatedOrConfirmedMaxDate('estimatedDate')}}</div>
|
||||
<div class="final-confirmation col-md-3">{{getEstimatedOrConfirmedMaxDate('confirmedDate')}}</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="supplier-layer row" ng-repeat="supplierEstimation in supplierEstimations">
|
||||
<div class="supplier-header col-md-12">{{supplierEstimation.supplierName}}</div>
|
||||
|
||||
<div class="traking-layer col-md-12">
|
||||
<div>
|
||||
{{'orders.headers.TRACKING' | translate}}
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="col-md-12" ng-if="isTrackingEmpty(supplierEstimation.trackings)">{{'orders.messages.TRACKING_EMPTY' | translate}}</div>
|
||||
<div class="display-tracking-info col-md-12" ng-if="!isTrackingEmpty(supplierEstimation.trackings)" ng-repeat="trackingInfo in supplierEstimation.trackings">
|
||||
<span class="col-md-2">{{trackingInfo.trackingNumber}}</span>
|
||||
<span class="col-md-10">
|
||||
<a href="{{trackingInfo.trackingUrl}}" target="_blank">{{trackingInfo.trackingUrl}}</a>
|
||||
</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</fieldset>
|
||||
</div>
|
||||
@@ -0,0 +1,9 @@
|
||||
<div id="order-package-no-process-{{package.idPackage}}" class="col-md-6" ng-repeat="package in packages" ng-if="hasNoSelectedProcess(package.status)">
|
||||
<div class="package-steps">
|
||||
<h4>{{package.packageName}}</h4>
|
||||
<div class="alert alert-info col-md-12">
|
||||
<span class="glyphicon glyphicon-info-sign"></span>
|
||||
{{'orders.messages.NO_PROCESS_ASSIGNED' | translate}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<div id="package-layer-{{process.idPackage}}" class="col-md-12" ng-repeat="process in processSteps">
|
||||
<div id="change-orders-steps-layer">
|
||||
<div class="package-steps col-md-12">
|
||||
<h4>{{process.processName}} {{'orders.headers.STEP_ORDER_FOR' | translate}} {{process.packageName}}</h4>
|
||||
<div>
|
||||
<?php
|
||||
require_once('SetDeliveryDatesTemplate.php');
|
||||
require_once('InstallationSchedulerSupplierTemplate.php');
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,91 @@
|
||||
<div id="send-support-mail" class="row">
|
||||
<div class="order-informations col-md-12">
|
||||
<h4>{{'orders.tables.extra.ORDER_DETAILS' | translate}}</h4>
|
||||
<div>
|
||||
<span class="order-number-icon">#</span>
|
||||
<b>{{'orders.tables.headers.orderNumber' | translate}}: </b>
|
||||
{{ordersDetails.orderNumber}}
|
||||
</div>
|
||||
<div ng-if="ordersDetails.reference">
|
||||
<span class="glyphicon glyphicon-link"></span>
|
||||
<b>{{'orders.tables.headers.reference' | translate}}: </b>
|
||||
{{ordersDetails.reference}}
|
||||
</div>
|
||||
<div ng-if="ordersDetails.tender">
|
||||
<span class="glyphicon glyphicon-dashboard"></span>
|
||||
<b>{{'orders.tables.headers.tender' | translate}}: </b>
|
||||
{{ordersDetails.tender}}
|
||||
</div>
|
||||
<div>
|
||||
<span class="glyphicon glyphicon-user"></span>
|
||||
<b>{{'orders.tables.headers.commercialLead' | translate}}: </b>
|
||||
{{ordersDetails.commercialLead}}
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
<div class="packages-info col-md-12">
|
||||
<h4>{{'orders.tables.headers.orderItems' | translate}}</h4>
|
||||
<div class="order-details-extra-info col-md-12">
|
||||
<div class="order-details-item" ng-repeat="package in packages">
|
||||
<div class="send-support-mail-details">
|
||||
<span class="glyphicon glyphicon-shopping-cart"></span>
|
||||
{{package.units}} x {{package.packageName}}
|
||||
</div>
|
||||
<div class="package-item-info">
|
||||
<div class="send-support-mail-details">
|
||||
<b>{{'orders.tables.extra.PRICE' | translate}}: </b>
|
||||
{{calculatePrice([package.packageFixedPrice], package.units)}}
|
||||
( {{calculatePrice([package.packageRecuringPrice, package.packageServicePrice], package.units)}} / {{package.periodUnit}} )
|
||||
</div>
|
||||
<div class="prices-info">
|
||||
<div class="send-support-mail-details" ng-if="package.packagePayPeriod > 0">
|
||||
{{'orders.tables.extra.PACKAGE_RECURENT' | translate}}
|
||||
{{package.units}} x {{package.packageRecuringPrice}} / {{package.periodUnit}}
|
||||
{{'orders.tables.extra.FOR' | translate}} {{package.packagePayPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
<div class="send-support-mail-details">
|
||||
<b>{{'orders.tables.extra.SERVICE_AND_SUPPORT' | translate}}: </b>
|
||||
{{package.units}} x {{package.packageServicePrice}} / {{package.periodUnit}}
|
||||
<span ng-if="package.servicesContractPeriod > 0">{{'orders.tables.extra.FOR' | translate}} {{package.servicesContractPeriod}} {{package.periodUnit}}</span>
|
||||
{{'orders.tables.extra.EXTEND' | translate}} {{package.periodUnit}} (Max {{package.maxContractPeriod}})
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="hasAgreement(package.packagePayPeriod, package.servicesContractPeriod)" class="send-support-mail-details">
|
||||
<b>{{'orders.tables.headers.agreement' | translate}}: </b>
|
||||
<div class="order-info-box" ng-if="package.packagePayPeriod > 0">
|
||||
<b>{{'orders.tables.extra.PACKAGE_AGREEMENT' | translate}}: </b>
|
||||
{{package.packagePayPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
<div class="order-info-box" ng-if="package.servicesContractPeriod > 0">
|
||||
<b>{{'orders.tables.extra.SERVICES_AGREEMENT' | translate}}: </b>
|
||||
{{package.servicesContractPeriod}} {{package.periodUnit}}
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="package.shortDesc" class="send-support-mail-details">
|
||||
<b>{{'orders.tables.headers.step' | translate}}: </b>
|
||||
{{package.shortDesc}}
|
||||
</div>
|
||||
<div ng-if="package.endOfLife" class="send-support-mail-details">
|
||||
<b>{{'orders.tables.headers.endOfLife' | translate}}</b>:
|
||||
{{package.endOfLife}}
|
||||
</div>
|
||||
<div class="package-item-status order-status-{{package.status}}">
|
||||
<b>{{'orders.tables.headers.status' | translate}}: </b>
|
||||
{{package.status}}
|
||||
</div>
|
||||
</div>
|
||||
<hr />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="order-support-mail-text">
|
||||
<div class="mail-support-text-header col-md-12">
|
||||
{{'orders.tables.extra.SUPPORT_USER_TEXT' | translate}}
|
||||
</div>
|
||||
<div id="mail-support-container" class="col-md-offset-1 col-md-10 col-md-offset-1">
|
||||
<textarea class="mail-support-text col-md-12" ng-model="supportMailText"></textarea>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
@@ -0,0 +1,15 @@
|
||||
<div class="chose-installation-layer row">
|
||||
<div class="col-md-12" ng-if="multipleInstallCompanies">
|
||||
<label class="col-md-4">{{'orders.tables.extra.CHOOSE_INSTALLATION' | translate}}</label>
|
||||
<select id="installation-companies-group"
|
||||
class="form-control-static col-md-4"
|
||||
ng-model="step.installationCompany"
|
||||
ng-options="installCompany.name for installCompany in step.installCompanies track by installCompany.id"
|
||||
ng-change="saveInstallationForPackage(step)">
|
||||
</select>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<label class="col-md-4">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}</label>
|
||||
{{step.installationCompany.name}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<div class="chose-installation-layer row">
|
||||
<div class="col-md-12">
|
||||
<label class="col-md-4">{{'orders.tables.extra.INSTALLATION_COMPANY' | translate}}</label>
|
||||
{{step.installationCompany.name}}
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,12 @@
|
||||
<div id="choose-installation-company-extra-action" ng-controller="chooseInstallationCtrl" ng-init="getInstallCompaniesForPackage(step)">
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('chooseInstallationBrokerTemplate.php');
|
||||
}else{
|
||||
require_once('chooseInstallationCustomerTemplate.php');
|
||||
}
|
||||
?>
|
||||
<div class="chose-installation-schedule">
|
||||
<schedule-meeting ng-controller="scheduleMeetingCtrl"></schedule-meeting>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,37 @@
|
||||
<div class="acceptance-due-date col-md-12">
|
||||
<div class="alert {{getDueDateClass()}}">
|
||||
<label>{{'orders.headers.DUE_DATE_BROKER' | translate}}:</label>
|
||||
{{acceptance.acceptanceDueDate}}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div>
|
||||
<div class="uploaded-documents col-md-12">
|
||||
<div class="document-layer" ng-repeat="document in acceptance.acceptanceDocuments">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-md-12">
|
||||
<span class="not-accepted col-md-12" ng-if="!showCustomerAcceptance(acceptance.customerAccepted)">
|
||||
<span class="glyphicon glyphicon-time"></span>
|
||||
{{'orders.tables.extra.NOT_ACCEPTED_CUSTOMER_INSTALLATION' | translate}}
|
||||
</span>
|
||||
<div class="alert alert-{{getAcceptanceClass(acceptance.customerAccepted)}} col-md-12" ng-if="showCustomerAcceptance(acceptance.customerAccepted)">
|
||||
<div class="col-md-12">
|
||||
<span class="glyphicon glyphicon-{{getStatusIcon(acceptance.customerAccepted)}}"></span>
|
||||
{{getCustomerAcceptanceDescription(acceptance.customerAccepted)}}
|
||||
</div>
|
||||
<div class="customer-installation-decline-reason col-md-12" ng-if="acceptance.customerDeclineReason">
|
||||
<span>{{'orders.messages.DECLINE_REASON' | translate}}:</span>
|
||||
<span>{{acceptance.customerDeclineReason}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="acceptance.idDocument" class="col-md-12">
|
||||
<a href="utils/api/downloadFile?idDocument={{acceptance.idDocument}}&fileName={{acceptance.documentName}}.{{acceptance.extension}}">
|
||||
{{acceptance.documentName}}.{{acceptance.extension}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,103 @@
|
||||
<div class="acceptance-due-date col-md-12">
|
||||
<div class="alert {{getDueDateClass()}}">
|
||||
<label>{{'orders.headers.DUE_DATE_CUSTOMER' | translate}}:</label>
|
||||
{{acceptance.acceptanceDueDate}}
|
||||
</div>
|
||||
<div class="alert alert-{{getAcceptanceClass(acceptance.customerAccepted)}} col-md-12" ng-if="showCustomerAcceptance(acceptance.customerAccepted)">
|
||||
<div class="col-md-12">
|
||||
<span class="glyphicon glyphicon-{{getStatusIcon(acceptance.customerAccepted)}}"></span>
|
||||
{{getCustomerAcceptanceDescription(acceptance.customerAccepted)}}
|
||||
</div>
|
||||
<div class="customer-installation-decline-reason col-md-12" ng-if="acceptance.customerDeclineReason">
|
||||
<span>{{'orders.messages.CUSTOMER_DECLINE_REASON' | translate}}:</span>
|
||||
<span>{{acceptance.customerDeclineReason}}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div id="customer-acceptance-files-container" class="col-md-12">
|
||||
<form name="form" class="col-md-4">
|
||||
<div ngf-drop="uploadFile($file)"
|
||||
ng-model="files"
|
||||
ngf-drag-over-class="'dragover'"
|
||||
ngf-select="uploadFile($file)"
|
||||
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods,.jpg,.png,.jpeg'"
|
||||
ngf-max-size="20MB"
|
||||
class="drop-box">{{'orders.headers.SELECT_ACCEPT_DOCUMENT' | translate}}</div>
|
||||
</form>
|
||||
|
||||
<div class="uploaded-documents col-md-8">
|
||||
<div class="document-layer" ng-repeat="document in acceptance.acceptanceDocuments">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
<div id="remove-document-{{document.idDocument}}" class="remove-document">
|
||||
<span class="remove-document-btn glyphicon glyphicon-remove" ng-click="showHideDialog(document.idDocument)">
|
||||
{{'orders.tables.extra.REMOVE' | translate}}
|
||||
</span>
|
||||
<div id="confirm-remove-document"
|
||||
dialog
|
||||
ng-if="isDialogVisible[document.idDocument]"
|
||||
on-confirmation="removeAcceptanceDocument"
|
||||
on-close="showHideDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="document.idDocument"
|
||||
title="{{'orders.headers.REMOVE_DOCUMENT' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_DOCUMENT_CONFIRMATION' | translate}} <b>{{document.documentName}}.{{document.extension}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="acceptance-button-layer col-md-12">
|
||||
<div class="document-layer row" ng-if="acceptance.idDocument">
|
||||
<a href="utils/api/downloadFile?idDocument={{acceptance.idDocument}}&fileName={{acceptance.documentName}}.{{acceptance.extension}}">
|
||||
{{acceptance.documentName}}.{{acceptance.extension}}
|
||||
</a>
|
||||
</div>
|
||||
<div class='row'>
|
||||
<div class="install-btn btn btn-success col-md-5"
|
||||
ng-disabled="isAcceptInstallationDisabled"
|
||||
ng-click="showHideDialog('accept')">
|
||||
{{'orders.buttons.ACCEPT_INSTALLATION' | translate}}
|
||||
</div>
|
||||
<div id="dialog-accept-installation-confirm"
|
||||
dialog
|
||||
ng-if="isDialogVisible['accept']"
|
||||
on-confirmation="acceptDeclineInstallation"
|
||||
on-close="showHideDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="'accept'"
|
||||
title="{{'orders.headers.CUSTOMER_INSTALLATION_ACCEPT' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.CUSTOMER_INSTALLATION_ACCEPT' | translate}}?</p>
|
||||
</div>
|
||||
<div class="install-btn btn btn-danger col-md-offset-1 col-md-5"
|
||||
ng-disabled="isDeclineInstallationDisabled"
|
||||
ng-click="showDeclineInstallation()">
|
||||
{{'orders.buttons.DECLINE_INSTALLATION' | translate}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="decline-installation-container row" ng-if="isInstallationDeclined[acceptance.idPackage]">
|
||||
<span class="col-md-12">{{'orders.tables.extra.DECLINED_CUSTOMER_INSTALLATION' | translate}}:</span>
|
||||
<textarea id="installation-declined-reason" class="decline-installation-text col-md-12" ng-model="$parent.installationDeclinedReason"></textarea>
|
||||
<div>
|
||||
<div class="save-decline-install-btn install-btn btn btn-warning col-md-offset-8 col-md-4"
|
||||
ng-click="showHideDialog('decline')">{{'orders.tables.extra.SAVE' | translate}}</div>
|
||||
<div id="dialog-decline-installation-confirm"
|
||||
dialog
|
||||
ng-if="isDialogVisible['decline']"
|
||||
on-confirmation="acceptDeclineInstallation"
|
||||
on-close="showHideDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="'decline'"
|
||||
title="{{'orders.headers.CUSTOMER_INSTALLATION_DECLINE' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.CUSTOMER_INSTALLATION_DECLINE' | translate}}?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,11 @@
|
||||
<div id="customer-acceptance-extra-action" ng-controller="customerAcceptanceCtrl" ng-init="getCustmerAcceptance()">
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['CUSTOMER']){
|
||||
require_once('customerAcceptanceCustomerTemplate.php');
|
||||
}
|
||||
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('customerAcceptanceBrokerTemplate.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,52 @@
|
||||
<div class="supplier-layer row" ng-repeat="(supplierName, supplier) in suppliersData">
|
||||
<div class="supplier-header col-md-12">{{supplierName}}</div>
|
||||
<div class="document-types col-md-12">
|
||||
<label>{{'orders.headers.PACKAGES' | translate}}: </label>
|
||||
<select class="document-supplier-packages-for-order"
|
||||
class="form-control-static add-document-value"
|
||||
ng-model="package"
|
||||
ng-options="package.packageName for package in $parent.packages track by package.idPackage"
|
||||
ng-change="selectPackage(package, supplier.idSupplier)">
|
||||
<option value="" disabled selected>{{'orders.headers.SELECT_PACKAGE' | translate}}</option>
|
||||
</select>
|
||||
</div>
|
||||
<form name="form" class="col-md-4">
|
||||
<div ngf-drop="uploadFile($file, supplier.idSupplier)"
|
||||
ng-model="files"
|
||||
ngf-drag-over-class="'dragover'"
|
||||
ngf-select="uploadFile($file, supplier.idSupplier)"
|
||||
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods'"
|
||||
ngf-max-size="20MB"
|
||||
class="drop-box">{{'orders.headers.SELECT_CONFIG_DOCUMENT' | translate}}</div>
|
||||
</form>
|
||||
<div class="uploaded-documents col-md-8">
|
||||
<div class="document-layer" ng-repeat="document in supplier.documents">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
<div id="remove-document-{{document.idDocument}}" class="remove-document">
|
||||
<span class="remove-document-btn glyphicon glyphicon-remove" ng-click="showHideDialog(document.idDocument)">
|
||||
{{'orders.tables.extra.REMOVE' | translate}}
|
||||
</span>
|
||||
<div id="confirm-remove-document"
|
||||
dialog
|
||||
ng-if="isDialogVisible[document.idDocument]"
|
||||
on-confirmation="removeOrderDocument"
|
||||
on-close="showHideDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="document"
|
||||
title="{{'orders.headers.REMOVE_DOCUMENT' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.REMOVE_DOCUMENT_CONFIRMATION' | translate}} <b>{{document.documentName}}.{{document.extension}}</b>?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div ng-if="supplier.supplierBids.length > 0" class="supplier-bids col-md-12">
|
||||
Bids: <span ng-repeat="supplierBid in supplier.supplierBids">{{supplierBid.bidNumber}} </span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<a href="orders/excel/generateProcurementExcel?idOrder={{step.idOrder}}">
|
||||
<div class="btn btn-primary">{{'orders.buttons.PROC_REPORT_BUTTON' | translate}}</div>
|
||||
</a>
|
||||
@@ -0,0 +1,46 @@
|
||||
<div class="supplier-layer row" ng-repeat="(supplierName, supplier) in productsEstimations">
|
||||
<div class="supplier-header col-md-12">{{supplierName}}</div>
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-3 col-md-offset-5">
|
||||
{{ 'orders.tables.headers.estimatedDate' | translate }}
|
||||
</div>
|
||||
<div class="col-md-3">
|
||||
{{ 'orders.tables.headers.confirmedDate' | translate }}
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="product-layer col-md-12" ng-repeat="product in supplier.estimations">
|
||||
<div class="prdocut-name col-md-5">
|
||||
{{product.productName}}
|
||||
</div>
|
||||
|
||||
<div class="prdocut-estimated col-md-3">
|
||||
<input class="product-input"
|
||||
placeholder="{{ 'orders.tables.headers.estimatedDate' | translate }}"
|
||||
element-data="product"
|
||||
datepicker
|
||||
on-date-selected="updateProductEstimation"
|
||||
ng-model="product.estimatedDate" />
|
||||
</div>
|
||||
|
||||
<div class="prdocut-confimrmed col-md-3">
|
||||
<input class="product-input"
|
||||
placeholder="{{ 'orders.tables.headers.confirmedDate' | translate }}"
|
||||
element-data="product"
|
||||
datepicker
|
||||
on-date-selected="updateProductEstimation"
|
||||
ng-model="product.confirmedDate" />
|
||||
</div>
|
||||
<div class="col-md-1">
|
||||
<span class="glyphicon {{getEstimationIcon(product.confirmedDate)}}"></span>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="uploaded-documents col-md-12">
|
||||
<div class="document-layer" ng-repeat="document in supplier.documents">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</a>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,11 @@
|
||||
<div id="procuremnet-extra-action" ng-controller="procurementCtrl" ng-init="getSuppliersByPackageOrder()">
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('procurementBrokerTemplate.php');
|
||||
}
|
||||
|
||||
if($user->getUserType() === USER_TYPES['SUPPLIER']){
|
||||
require_once('procurementSupplierTemplate.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
@@ -0,0 +1,27 @@
|
||||
<div class="date-row col-md-12" ng-repeat="(key, scheduleDate) in step.scheduledDates">
|
||||
<label class="col-md-5">{{'orders.tables.extra.DATE' | translate}}</label>
|
||||
<input ng-model="scheduleDate.scheduledDate"
|
||||
element-data="{step, scheduleDate}"
|
||||
class="col-md-3"
|
||||
on-date-selected="updateScheduledDates"
|
||||
ng-disabled="canNotEditDate(scheduleDate)"
|
||||
datepicker
|
||||
id="schedule-date-{{scheduleDate.idPackage}}-{{scheduleDate.idProcessStep}}-{{key}}"/>
|
||||
|
||||
<div class="col-md-12" ng-repeat="userConfirmation in scheduleDate.confirmations">
|
||||
<div class="col-md-5">
|
||||
{{userConfirmation.username}} ({{userConfirmation.userType}})
|
||||
</div>
|
||||
<div class="col-md-2 confirmation-{{userConfirmation.status}}">
|
||||
<span class="glyphicon glyphicon-{{getIcon(userConfirmation.status)}}"></span>
|
||||
{{userConfirmation.status}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="col-md-12">
|
||||
<div class="col-md-3 btn btn-primary" ng-click="addNewSchedule(step)">
|
||||
<span class="glyphicon glyphicon-plus"></span>
|
||||
<span class="add-new-schedule">{{'orders.buttons.ADD_OPTIONAL_DATE' | translate}}</span>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,26 @@
|
||||
<div class="date-row col-md-12" ng-repeat="scheduleDate in step.scheduledDates">
|
||||
<label class="col-md-5">{{'orders.tables.extra.DATE' | translate}} </label>
|
||||
<div class="col-md-3 schedule-date">
|
||||
{{scheduleDate.scheduledDate}}
|
||||
</div>
|
||||
|
||||
<div class="col-md-12" ng-repeat="userConfirmation in scheduleDate.confirmations">
|
||||
<div class="col-md-5">
|
||||
{{userConfirmation.username}} ({{userConfirmation.userType}})
|
||||
</div>
|
||||
<div class="confirmation-{{userConfirmation.status}} col-md-2">
|
||||
<span class="glyphicon glyphicon-{{getIcon(userConfirmation.status)}}"></span>
|
||||
{{userConfirmation.status}}
|
||||
</div>
|
||||
<div ng-click="changeScheduleStatus(scheduleDate, 'accepted', step)" class="col-md-2">
|
||||
<div ng-if="!canNotEditDate(scheduleDate)" class="btn btn-success" ng-if="!canNotEditDate(scheduleDate)">
|
||||
{{'orders.buttons.ACCEPT' | translate}}
|
||||
</div>
|
||||
</div>
|
||||
<div ng-click="changeScheduleStatus(scheduleDate, 'declined', step)" class="col-md-2">
|
||||
<div class="btn btn-danger">
|
||||
{{'orders.buttons.DECLINE' | translate}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,13 @@
|
||||
<div id="orders-steps-schedule" ng-controller="scheduleMeetingCtrl" ng-init="getScheduledDates(step)">
|
||||
<div class="chose-scheduled-date-layer row">
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('scheduleMeetingBrokerTemplate.php');
|
||||
}
|
||||
|
||||
if($user->getUserType() === USER_TYPES['CUSTOMER']){
|
||||
require_once('scheduleMeetingCustomerTemplate.php');
|
||||
}
|
||||
?>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,82 @@
|
||||
<div id="validate-questionaire" ng-controller="validateQuestionnaireCtrl" ng-init="getDocumentsAndQuestionnaireComments()">
|
||||
<div class="document-package-layer" ng-repeat="(key, packageDocuments) in customerDocuments">
|
||||
<div class="document-layer" ng-repeat="document in packageDocuments">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
<div class="btn btn-primary document-name">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</div>
|
||||
</a>
|
||||
<div class="document-status">
|
||||
<span class="invalid" ng-if="getValidationStatus('invalid', document.validation)">
|
||||
<span class="glyphicon glyphicon-remove"></span>
|
||||
{{'orders.tables.extra.INVALID' | translate}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="validation-buttons">
|
||||
<div class="btn btn-success"
|
||||
ng-disabled="waitingResponseFromCustomer[document.idDocument]"
|
||||
ng-click="showHideValidationDialog({idDocument: document.idDocument, validationStatus: 'validated'})">
|
||||
{{'orders.tables.extra.VALID' | translate}}
|
||||
</div>
|
||||
|
||||
<div id="dialog-validation-confirm"
|
||||
dialog
|
||||
ng-if="isValidationDialogVisible.validated[document.idDocument]"
|
||||
on-confirmation="validateQuestionaire"
|
||||
on-close="showHideValidationDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{idPackage:document.idPackage, idDocument: document.idDocument, validationStatus: 'validated'}"
|
||||
title="{{'orders.headers.VALIDATE_QUESTIONAIER' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.VALIDATE_QUESTIONAIER' | translate}} {{'orders.tables.extra.VALID' | translate}}?</p>
|
||||
</div>
|
||||
|
||||
<div class="btn btn-warning"
|
||||
ng-disabled="waitingResponseFromCustomer[document.idDocument]"
|
||||
ng-click="showInvalidTextbox(document.idDocument)">
|
||||
{{'orders.tables.extra.INVALID' | translate}}
|
||||
</div>
|
||||
</div>
|
||||
<div class="document-status">
|
||||
<span class="not-validated" ng-if="getValidationStatus('not-validated', document.validation)">
|
||||
<span class="glyphicon glyphicon-time"></span>
|
||||
{{'orders.tables.extra.NOT_VALIDATED' | translate}}
|
||||
</span>
|
||||
<span class="validated" ng-if="getValidationStatus('validated', document.validation)">
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
{{'orders.tables.extra.VALIDATED' | translate}}
|
||||
</span>
|
||||
</div>
|
||||
<div class="invalid-questionaire-comment-container" ng-if="isQuestionaireInvalid[document.idDocument]">
|
||||
<div class="row">{{'orders.tables.extra.INVALID_QUESTIONAIRE_COMMENT' | translate}}:</div>
|
||||
<textarea id="invalid-questionaire-comment" class="invalid-questionaire-text col-md-12" ng-model="$parent.$parent.$parent.invalidQuestionaireReason"></textarea>
|
||||
<div class="row">
|
||||
<div class="save-invalid-doc-btn btn btn-warning col-md-offset-10 col-md-2"
|
||||
ng-click="showHideValidationDialog({idDocument: document.idDocument, validationStatus: 'invalid'})">{{'orders.tables.extra.SAVE' | translate}}</div>
|
||||
<div id="dialog-invalidation-confirm"
|
||||
dialog
|
||||
ng-if="isValidationDialogVisible.invalid[document.idDocument]"
|
||||
on-confirmation="validateQuestionaire"
|
||||
on-close="showHideValidationDialog"
|
||||
is-modal="true"
|
||||
has-buttons="true"
|
||||
parameters="{idPackage:document.idPackage, idDocument: document.idDocument, validationStatus: 'invalid'}"
|
||||
title="{{'orders.headers.VALIDATE_QUESTIONAIER' | translate}}">
|
||||
<p><span class="glyphicon glyphicon-warning-sign"></span>{{'orders.messages.VALIDATE_QUESTIONAIER' | translate}} {{'orders.tables.extra.INVALID' | translate}}?</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-added-comments" class="col-md-12" ng-if="invalidQuestionaireComments[key]">
|
||||
<h4>{{getInvalidReasonsHeader()}}</h4>
|
||||
<div class="order-comment-layer reason-comment" ng-repeat="commentObj in invalidQuestionaireComments[key]">
|
||||
<div class="order-comment-date">
|
||||
{{commentObj.user}} - {{commentObj.addDate}}
|
||||
</div>
|
||||
<div class="order-comment-label">
|
||||
{{commentObj.comment}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,50 @@
|
||||
<div id="validate-questionaire" ng-controller="validateQuestionnaireCtrl" ng-init="getDocumentsAndQuestionnaireComments()">
|
||||
<div class="document-package-layer" ng-repeat="(key, packageDocuments) in customerDocuments">
|
||||
<div class="document-layer row" ng-repeat="document in packageDocuments">
|
||||
<div class="col-md-6">
|
||||
<a href="utils/api/downloadFile?idDocument={{document.idDocument}}&fileName={{document.documentName}}.{{document.extension}}">
|
||||
<div class="btn btn-primary">
|
||||
{{document.documentName}}.{{document.extension}}
|
||||
</div>
|
||||
</a>
|
||||
|
||||
<div class="document-status">
|
||||
<span class="not-validated" ng-if="getValidationStatus('not-validated', document.validation)">
|
||||
<span class="glyphicon glyphicon-time"></span>
|
||||
{{'orders.tables.extra.NOT_VALIDATED' | translate}}
|
||||
</span>
|
||||
<span class="validated" ng-if="getValidationStatus('validated', document.validation)">
|
||||
<span class="glyphicon glyphicon-ok"></span>
|
||||
{{'orders.tables.extra.VALIDATED' | translate}}
|
||||
</span>
|
||||
<div class="invalid" ng-if="getValidationStatus('invalid', document.validation)">
|
||||
<span class="glyphicon glyphicon-remove"></span>
|
||||
{{'orders.tables.extra.INVALID' | translate}}
|
||||
<span class="questionnaire-invalid-reason">{{invalidQuestionaireReason}}</span>
|
||||
</div>
|
||||
</div>
|
||||
<div class="order-added-comments" class="col-md-12" ng-if="questionnaireCommentsExist">
|
||||
<h4>{{getInvalidReasonsHeader()}}</h4>
|
||||
<div class="order-comment-layer reason-comment" ng-repeat="commentObj in invalidQuestionaireComments">
|
||||
<div class="order-comment-date">
|
||||
{{commentObj.user}} - {{commentObj.addDate}}
|
||||
</div>
|
||||
<div class="order-comment-label">
|
||||
{{commentObj.comment}}
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<form ng-if="needsUplaod(document.validation)" name="form" class="col-md-4">
|
||||
<div ngf-drop="uploadFile($file, document.idDocument)"
|
||||
ng-model="files"
|
||||
ngf-drag-over-class="'dragover'"
|
||||
ngf-select="uploadFile($file, document.idDocument)"
|
||||
ngf-pattern="'.pdf,.docx,.doc,.xlsx,.xls,.odt,.ods'"
|
||||
ngf-max-size="20MB"
|
||||
class="drop-box">{{'orders.headers.SELECT_QUESTIONAIRE' | translate}}</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -0,0 +1,6 @@
|
||||
<?php
|
||||
if($user->getUserType() === USER_TYPES['BROKER']){
|
||||
require_once('validateQuestionnaireBrokerTemplate.php');
|
||||
}else{
|
||||
require_once('validateQuestionnaireCustomerTemplate.php');
|
||||
}
|
||||
Reference in New Issue
Block a user