feat(ticket_basic-data_step-two): show visible and option withoutNegatives
gitea/salix/pipeline/head This commit looks good
Details
gitea/salix/pipeline/head This commit looks good
Details
This commit is contained in:
parent
15b78787df
commit
e01d676bb1
|
@ -100,19 +100,25 @@ module.exports = Self => {
|
|||
totalDifference: 0.00,
|
||||
};
|
||||
|
||||
const query = `CALL vn.ticket_priceDifference(?, ?, ?, ?, ?)`;
|
||||
// Get items visible
|
||||
let query = `CALL ticketGetVisibleAvailable(?)`;
|
||||
const [salesVisible] = await Self.rawSql(query, [args.id], myOptions);
|
||||
|
||||
const itemVisible = new Map();
|
||||
for (sale of salesVisible)
|
||||
itemVisible.set(sale.id, sale.visible);
|
||||
|
||||
// Sale price component, one per sale
|
||||
query = `CALL vn.ticket_priceDifference(?, ?, ?, ?, ?)`;
|
||||
const params = [args.id, args.landed, args.addressId, args.zoneId, args.warehouseId];
|
||||
const [difComponents] = await Self.rawSql(query, params, myOptions);
|
||||
|
||||
const map = new Map();
|
||||
|
||||
// Sale price component, one per sale
|
||||
for (difComponent of difComponents)
|
||||
map.set(difComponent.saleFk, difComponent);
|
||||
|
||||
for (sale of salesObj.items) {
|
||||
const difComponent = map.get(sale.id);
|
||||
|
||||
if (difComponent) {
|
||||
sale.component = difComponent;
|
||||
|
||||
|
@ -125,6 +131,7 @@ module.exports = Self => {
|
|||
|
||||
salesObj.totalUnitPrice += sale.price;
|
||||
salesObj.totalUnitPrice = round(salesObj.totalUnitPrice);
|
||||
sale.visible = itemVisible.get(sale.id);
|
||||
}
|
||||
|
||||
if (tx) await tx.commit();
|
||||
|
|
|
@ -9,6 +9,7 @@
|
|||
<vn-tr>
|
||||
<vn-th number>Item</vn-th>
|
||||
<vn-th class="align-center">Description</vn-th>
|
||||
<vn-th number>Visible</vn-th>
|
||||
<vn-th number>Quantity</vn-th>
|
||||
<vn-th number>Price (PPU)</vn-th>
|
||||
<vn-th number>New (PPU)</vn-th>
|
||||
|
@ -31,6 +32,13 @@
|
|||
tabindex="-1">
|
||||
</vn-fetched-tags>
|
||||
</vn-td>
|
||||
<vn-td number>
|
||||
<span
|
||||
class="chip"
|
||||
ng-class="{'alert': sale.quantity>sale.visible}">
|
||||
{{::sale.visible}}
|
||||
</span>
|
||||
</vn-td>
|
||||
<vn-td number>{{::sale.quantity}}</vn-td>
|
||||
<vn-td number>{{::sale.price | currency: 'EUR': 2}}</vn-td>
|
||||
<vn-td number>{{::sale.component.newPrice | currency: 'EUR': 2}}</vn-td>
|
||||
|
@ -66,6 +74,12 @@
|
|||
</div>
|
||||
</div>
|
||||
</vn-card>
|
||||
<div class="totalBox align-left" ng-show="::$ctrl.haveNegatives">
|
||||
<vn-check
|
||||
ng-model="$ctrl.ticket.withoutNegatives"
|
||||
label="Without create negatives">
|
||||
</vn-check>
|
||||
</div>
|
||||
</div>
|
||||
</vn-side-menu>
|
||||
|
||||
|
|
|
@ -20,6 +20,7 @@ class Controller extends Component {
|
|||
this.getTotalNewPrice();
|
||||
this.getTotalDifferenceOfPrice();
|
||||
this.loadDefaultTicketAction();
|
||||
this.ticketHaveNegatives();
|
||||
}
|
||||
|
||||
loadDefaultTicketAction() {
|
||||
|
@ -63,15 +64,37 @@ class Controller extends Component {
|
|||
this.totalPriceDifference = totalPriceDifference;
|
||||
}
|
||||
|
||||
ticketHaveNegatives() {
|
||||
let haveNegatives = false;
|
||||
this.ticket.sale.items.forEach(item => {
|
||||
if (item.quantity > item.visible)
|
||||
haveNegatives = true;
|
||||
});
|
||||
this.haveNegatives = haveNegatives;
|
||||
}
|
||||
|
||||
onSubmit() {
|
||||
if (!this.ticket.option) {
|
||||
return this.vnApp.showError(
|
||||
this.$t('Choose an option')
|
||||
);
|
||||
}
|
||||
if (this.ticket.withoutNegatives) {
|
||||
let salesNewTicket = [];
|
||||
this.ticket.sale.items.forEach(item => {
|
||||
if (item.visible >= item.quantity)
|
||||
salesNewTicket.push(item);
|
||||
});
|
||||
|
||||
let query = `tickets/${this.ticket.id}/componentUpdate`;
|
||||
let params = {
|
||||
const params = {
|
||||
sales: salesNewTicket
|
||||
};
|
||||
|
||||
const query = `tickets/${this.ticket.id}/transferSales`;
|
||||
this.$http.post(query, params);
|
||||
}
|
||||
const query = `tickets/${this.ticket.id}/componentUpdate`;
|
||||
const params = {
|
||||
clientFk: this.ticket.clientFk,
|
||||
nickname: this.ticket.nickname,
|
||||
agencyModeFk: this.ticket.agencyModeFk,
|
||||
|
|
|
@ -6,3 +6,4 @@ The ticket has been unrouted: El ticket ha sido desenrutado
|
|||
Price: Precio
|
||||
New price: Nuevo precio
|
||||
Price difference: Diferencia de precio
|
||||
Without create negatives: Sin crear negativos
|
Loading…
Reference in New Issue