384 lines
12 KiB
HTML
384 lines
12 KiB
HTML
<vn-icon-button
|
|
icon="more_vert"
|
|
vn-popover="menu">
|
|
</vn-icon-button>
|
|
|
|
<vn-menu vn-id="menu">
|
|
<vn-list>
|
|
<vn-item
|
|
vn-acl="claimManager"
|
|
vn-acl-action="remove"
|
|
ng-click="transferClient.show()"
|
|
translate>
|
|
Transfer client
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="addTurn.show()"
|
|
vn-acl="buyer"
|
|
vn-acl-action="remove"
|
|
name="addTurn"
|
|
translate>
|
|
Add turn
|
|
</vn-item>
|
|
<vn-item class="dropdown"
|
|
vn-click-stop="showDeliveryNoteMenu.show($event, 'left'); $ctrl.hasDocuware()"
|
|
translate>
|
|
Show Delivery Note...
|
|
<vn-menu vn-id="showDeliveryNoteMenu">
|
|
<vn-list>
|
|
<vn-item
|
|
ng-click="$ctrl.showPdfDeliveryNote('deliveryNote')"
|
|
translate>
|
|
as PDF
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.showPdfDeliveryNote('withoutPrices')"
|
|
translate>
|
|
as PDF without prices
|
|
</vn-item>
|
|
<vn-item
|
|
ng-if="$ctrl.hasDocuwareFile"
|
|
ng-click="$ctrl.docuwareDownload()"
|
|
translate>
|
|
as PDF signed
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.showCsvDeliveryNote()"
|
|
translate>
|
|
as CSV
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
</vn-item>
|
|
<vn-item class="dropdown"
|
|
vn-click-stop="sendDeliveryNoteMenu.show($event, 'left'); $ctrl.hasDocuware()"
|
|
translate>
|
|
Send Delivery Note...
|
|
<vn-menu vn-id="sendDeliveryNoteMenu">
|
|
<vn-list>
|
|
<vn-item
|
|
ng-click="sendPdfConfirmation.show({email: $ctrl.ticket.client.email})"
|
|
translate>
|
|
Send PDF
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.uploadDocuware(!$ctrl.hasDocuwareFile)"
|
|
translate>
|
|
Send PDF to tablet
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="sendCsvConfirmation.show({email: $ctrl.ticket.client.email})"
|
|
translate>
|
|
Send CSV
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.showPdfDeliveryNote('proforma')"
|
|
translate>
|
|
Show Proforma
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="deleteConfirmation.show()"
|
|
ng-show="$ctrl.isEditable"
|
|
name="deleteTicket"
|
|
translate>
|
|
Delete ticket
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="restoreConfirmation.show()"
|
|
ng-show="$ctrl.canRestoreTicket"
|
|
name="restoreTicket"
|
|
translate>
|
|
Restore ticket
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.showChangeShipped()"
|
|
ng-show="$ctrl.isEditable"
|
|
name="changeShipped"
|
|
translate>
|
|
Change shipped hour
|
|
</vn-item>
|
|
<vn-item class="dropdown"
|
|
vn-click-stop="sendDeliveryNoteMenu.show($event, 'left');"
|
|
name="smsOptions"
|
|
translate>
|
|
Send SMS...
|
|
<vn-menu vn-id="sendDeliveryNoteMenu">
|
|
<vn-list>
|
|
<vn-item
|
|
ng-click="$ctrl.sendPaymentSms()"
|
|
name="sendPaymentSms"
|
|
translate>
|
|
Pending payment
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.sendImportSms()"
|
|
name="sendImportSms"
|
|
translate>
|
|
Minimum import
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.sendChangesSms()"
|
|
name="sendChangesSms"
|
|
translate>
|
|
Notify changes
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="makeInvoiceConfirmation.show()"
|
|
ng-show="$ctrl.isEditable"
|
|
vn-acl="invoicing"
|
|
vn-acl-action="remove"
|
|
name="makeInvoice"
|
|
translate>
|
|
Make invoice
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="createPdfConfirmation.show()"
|
|
ng-show="$ctrl.isInvoiced && ($ctrl.hasInvoicing || !$ctrl.ticket.invoiceOut.hasPdf)"
|
|
name="regenerateInvoice"
|
|
translate>
|
|
{{!$ctrl.ticket.invoiceOut.hasPdf ? 'Generate PDF invoice': 'Regenerate PDF invoice'}}
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="recalculateComponentsConfirmation.show()"
|
|
ng-show="$ctrl.isEditable"
|
|
translate>
|
|
Recalculate components
|
|
</vn-item>
|
|
<vn-item class="dropdown"
|
|
vn-click-stop="refundMenu.show($event, 'left')"
|
|
vn-acl="invoicing, claimManager, salesAssistant, logistic"
|
|
vn-acl-action="remove"
|
|
vn-tooltip="Create a single ticket with all the content of the current ticket"
|
|
translate>
|
|
Refund all...
|
|
<vn-menu vn-id="refundMenu">
|
|
<vn-list>
|
|
<vn-item
|
|
ng-click="$ctrl.refund(true)"
|
|
translate>
|
|
with warehouse
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="$ctrl.refund(false)"
|
|
translate>
|
|
without warehouse
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
</vn-item>
|
|
<vn-item
|
|
ng-click="setTicketWeight.show()"
|
|
vn-acl="deliveryBoss"
|
|
translate>
|
|
Set ticket weight
|
|
</vn-item>
|
|
</vn-list>
|
|
</vn-menu>
|
|
|
|
<!-- Add turn popup -->
|
|
<vn-popup vn-id="addTurn">
|
|
<div class="vn-pa-md">
|
|
<h5 style="text-align: center" translate>
|
|
What is the day of receipt of the ticket?
|
|
</h5>
|
|
<vn-tool-bar class="vn-mt-md">
|
|
<vn-button
|
|
label="Monday"
|
|
ng-click="$ctrl.addTurn(0)">
|
|
</vn-button>
|
|
<vn-button
|
|
label="Tuesday"
|
|
ng-click="$ctrl.addTurn(1)">
|
|
</vn-button>
|
|
<vn-button
|
|
label="Wednesday"
|
|
ng-click="$ctrl.addTurn(2)">
|
|
</vn-button>
|
|
<vn-button
|
|
label="Thursday"
|
|
ng-click="$ctrl.addTurn(3)">
|
|
</vn-button>
|
|
<vn-button
|
|
label="Friday"
|
|
ng-click="$ctrl.addTurn(4)">
|
|
</vn-button>
|
|
<vn-button
|
|
label="Saturday"
|
|
ng-click="$ctrl.addTurn(5)">
|
|
</vn-button>
|
|
<vn-button
|
|
label="Sunday"
|
|
ng-click="$ctrl.addTurn(6)">
|
|
</vn-button>
|
|
</vn-tool-bar>
|
|
</div>
|
|
</vn-popup>
|
|
|
|
<!-- Send PDF delivery note confirmation popup -->
|
|
<vn-dialog
|
|
vn-id="sendPdfConfirmation"
|
|
on-accept="$ctrl.sendPdfDeliveryNote($data)"
|
|
message="Send PDF Delivery Note">
|
|
<tpl-body>
|
|
<span translate>Are you sure you want to send it?</span>
|
|
<vn-textfield vn-one
|
|
ng-model="sendPdfConfirmation.data.email">
|
|
</vn-textfield>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
|
|
<button response="accept" translate>Confirm</button>
|
|
</tpl-buttons>
|
|
</vn-dialog>
|
|
|
|
<!-- Send CSV delivery note confirmation popup -->
|
|
<vn-dialog
|
|
vn-id="sendCsvConfirmation"
|
|
on-accept="$ctrl.sendCsvDeliveryNote($data)"
|
|
message="Send CSV Delivery Note">
|
|
<tpl-body>
|
|
<span translate>Are you sure you want to send it?</span>
|
|
<vn-textfield vn-one
|
|
ng-model="sendCsvConfirmation.data.email">
|
|
</vn-textfield>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
|
|
<button response="accept" translate>Confirm</button>
|
|
</tpl-buttons>
|
|
</vn-dialog>
|
|
|
|
<!-- Delete ticket confirmation popup -->
|
|
<vn-confirm
|
|
vn-id="deleteConfirmation"
|
|
on-accept="$ctrl.deleteTicket()"
|
|
question="You are going to delete this ticket"
|
|
message="This ticket will be removed from current route! Continue anyway?">
|
|
</vn-confirm>
|
|
|
|
<!-- Restore ticket confirmation popup -->
|
|
<vn-confirm
|
|
vn-id="restoreConfirmation"
|
|
on-accept="$ctrl.restoreTicket()"
|
|
question="You are going to restore this ticket"
|
|
message="Are you sure you want to restore this ticket?">
|
|
</vn-confirm>
|
|
|
|
<!-- Change shipped dialog -->
|
|
<vn-dialog
|
|
vn-id="changeShippedDialog"
|
|
on-accept="$ctrl.changeShipped()"
|
|
message="Change shipped hour">
|
|
<tpl-body>
|
|
<vn-input-time
|
|
ng-model="$ctrl.newShipped"
|
|
label="Shipped hour"
|
|
vn-focus>
|
|
</vn-input-time>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<input type="button" response="cancel" translate-attr="{value: 'Cancel'}"/>
|
|
<button response="accept" translate>Save</button>
|
|
</tpl-buttons>
|
|
</vn-dialog>
|
|
|
|
<!-- Transfer Client popup -->
|
|
|
|
<vn-dialog
|
|
vn-id="transferClient"
|
|
title="transferClient"
|
|
size="sm"
|
|
on-accept="$ctrl.transferClient($client)">
|
|
<tpl-body>
|
|
<vn-autocomplete
|
|
vn-one
|
|
vn-id="client"
|
|
required="true"
|
|
url="Clients"
|
|
label="Client"
|
|
show-field="name"
|
|
value-field="id"
|
|
search-function="{or: [{id: $search}, {name: {like: '%'+ $search +'%'}}]}"
|
|
ng-model="$ctrl.ticket.client.id"
|
|
initial-data="$ctrl.ticket.client.id"
|
|
order="id">
|
|
<tpl-item>
|
|
#{{id}} - {{::name}}
|
|
</tpl-item>
|
|
</vn-autocomplete>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<button response="accept" translate>Transfer client</button>
|
|
</tpl-buttons>
|
|
</vn-dialog>
|
|
|
|
<!-- Send SMS popup -->
|
|
<vn-sms-dialog
|
|
vn-id="sms"
|
|
on-send="$ctrl.onSmsSend($sms)"
|
|
sms="$ctrl.newSMS">
|
|
</vn-sms-dialog>
|
|
|
|
<!-- Make invoice confirmation dialog -->
|
|
<vn-confirm
|
|
vn-id="makeInvoiceConfirmation"
|
|
on-accept="$ctrl.makeInvoice()"
|
|
question="You are going to invoice this ticket"
|
|
message="Are you sure you want to invoice this ticket?">
|
|
</vn-confirm>
|
|
|
|
<!-- Create invoice PDF confirmation dialog -->
|
|
<vn-confirm
|
|
vn-id="createPdfConfirmation"
|
|
on-accept="$ctrl.createPdfInvoice()"
|
|
question="Are you sure you want to generate/regenerate the PDF invoice?"
|
|
message="Generate PDF invoice document">
|
|
</vn-confirm>
|
|
|
|
<!-- Recalculate components confirmation dialog -->
|
|
<vn-confirm
|
|
vn-id="recalculateComponentsConfirmation"
|
|
on-accept="$ctrl.recalculateComponents()"
|
|
question="Are you sure you want to recalculate the components?"
|
|
message="Recalculate components">
|
|
</vn-confirm>
|
|
|
|
<!-- Send pdf to tablet -->
|
|
<vn-confirm
|
|
vn-id="pdfToTablet"
|
|
on-accept="$ctrl.uploadDocuware(true)"
|
|
question="Are you sure you want to replace this delivery note?"
|
|
message="Already exist signed delivery note">
|
|
</vn-confirm>
|
|
|
|
<!-- Set ticket weight -->
|
|
<vn-dialog
|
|
vn-id="setTicketWeight"
|
|
title="TicketWeight"
|
|
size="sm"
|
|
on-accept="$ctrl.setTicketWeight($ctrl.ticket.weight)">
|
|
<tpl-body>
|
|
<vn-input-number
|
|
label="Ticket weight"
|
|
ng-model="$ctrl.ticket.weight">
|
|
</vn-input-number>
|
|
</tpl-body>
|
|
<tpl-buttons>
|
|
<button response="accept" translate>Accept</button>
|
|
</tpl-buttons>
|
|
</vn-dialog>
|
|
|
|
<!-- Without weight confirmation dialog -->
|
|
<vn-confirm
|
|
vn-id="withoutWeightConfirmation"
|
|
on-accept="$ctrl.makeInvoice(true)"
|
|
question="This address has incoterms, you should set the weight before invoice it"
|
|
message="Are you sure you want to invoice this ticket?">
|
|
</vn-confirm>
|