2952-ticket.sale-checked #1246
|
@ -1,10 +1,11 @@
|
|||
<vn-crud-model
|
||||
vn-id="model"
|
||||
url="SaleTrackings/listSaleTracking"
|
||||
url="sales"
|
||||
filter="::$ctrl.filter"
|
||||
link="{ticketFk: $ctrl.$params.id}"
|
||||
limit="20"
|
||||
data="sales"
|
||||
order="itemFk DESC"
|
||||
order="concept ASC"
|
||||
auto-load="true">
|
||||
</vn-crud-model>
|
||||
<vn-data-viewer model="model">
|
||||
|
@ -12,31 +13,28 @@
|
|||
<vn-table model="model">
|
||||
<vn-thead>
|
||||
<vn-tr>
|
||||
<vn-th shrink></vn-th>
|
||||
<vn-th field="isChecked" center>Is checked</vn-th>
|
||||
<vn-th field="itemFk" number>Item</vn-th>
|
||||
<vn-th expand>Description</vn-th>
|
||||
<vn-th field="concept">Description</vn-th>
|
||||
<vn-th field="quantity" number>Quantity</vn-th>
|
||||
<vn-th field="originalQuantity" number>Original</vn-th>
|
||||
<vn-th field="workerFk">Worker</vn-th>
|
||||
<vn-th field="state" shrink>State</vn-th>
|
||||
<vn-th field="created" expand>Created</vn-th>
|
||||
<vn-th></vn-th>
|
||||
<vn-th></vn-th>
|
||||
</vn-tr>
|
||||
</vn-thead>
|
||||
<vn-tbody>
|
||||
<vn-tr ng-repeat="sale in sales">
|
||||
<vn-td shrink>
|
||||
<vn-icon
|
||||
class="bright"
|
||||
icon="warning"
|
||||
ng-if="sale.quantity != sale.originalQuantity"
|
||||
vn-tooltip="The quantity do not match">
|
||||
</vn-icon>
|
||||
<vn-td center>
|
||||
<span class="chip {{::$ctrl.chipHasSaleGroupDetail(sale.id)}} vn-mx-xs chip2" vn-tooltip="has saleGroupDetail"></span>
|
||||
<span class="chip {{::$ctrl.chipIsPreviousSelected()}} vn-ml-xs" vn-tooltip="is previousSelected"></span>
|
||||
<span class="chip {{::$ctrl.chipIsPrevious()}} vn-mr-xs" vn-tooltip="is previous"></span>
|
||||
<span class="chip {{::$ctrl.chipIsPrepared()}} vn-mx-xs" vn-tooltip="is prepared"></span>
|
||||
<span class="chip {{::$ctrl.chipIsControled()}} vn-mx-xs" vn-tooltip="is controled"></span>
|
||||
</vn-td>
|
||||
<vn-td number>
|
||||
<span
|
||||
ng-click="itemDescriptor.show($event, sale.itemFk, sale.id)"
|
||||
ng-click="$ctrl.showItemDescriptor($event, sale)"
|
||||
class="link">
|
||||
{{sale.itemFk | zeroFill:6}}
|
||||
{{::sale.itemFk | zeroFill:6}}
|
||||
</span>
|
||||
</vn-td>
|
||||
<vn-td vn-fetched-tags>
|
||||
|
@ -52,6 +50,56 @@
|
|||
tabindex="-1">
|
||||
</vn-fetched-tags>
|
||||
</vn-td>
|
||||
<vn-td number>{{::sale.quantity}}</vn-td>
|
||||
<vn-td center>
|
||||
<vn-icon-button
|
||||
vn-click-stop="$ctrl.showSaleTracking(sale)"
|
||||
vn-tooltip="Sale tracking"
|
||||
icon="history">
|
||||
</vn-icon-button>
|
||||
</vn-td>
|
||||
<vn-td>
|
||||
<vn-icon-button
|
||||
vn-click-stop="$ctrl.showItemShelvingSale(sale)"
|
||||
vn-tooltip="ItemShelvings sale"
|
||||
icon="icon-inventory">
|
||||
</vn-icon-button>
|
||||
</vn-td>
|
||||
</vn-tr>
|
||||
</vn-tbody>
|
||||
</vn-table>
|
||||
</vn-card>
|
||||
</vn-data-viewer>
|
||||
<vn-item-descriptor-popover
|
||||
vn-id="item-descriptor"
|
||||
warehouse-fk="$ctrl.ticket.warehouseFk"
|
||||
ticket-fk="$ctrl.ticket.id">
|
||||
</vn-item-descriptor-popover>
|
||||
|
||||
<vn-popup vn-id="saleTracking">
|
||||
<vn-crud-model
|
||||
vn-id="modelSaleTracking"
|
||||
url="SaleTrackings/listSaleTracking"
|
||||
link="{saleFk: $ctrl.saleId}"
|
||||
limit="20"
|
||||
data="sales"
|
||||
order="itemFk DESC"
|
||||
auto-load="true">
|
||||
</vn-crud-model>
|
||||
<vn-data-viewer model="modelSaleTracking">
|
||||
<vn-card class="vn-w-lg">
|
||||
<vn-table model="modelSaleTracking">
|
||||
<vn-thead>
|
||||
<vn-tr>
|
||||
<vn-th field="quantity" number>Quantity</vn-th>
|
||||
<vn-th field="originalQuantity" number>Original</vn-th>
|
||||
<vn-th field="workerFk">Worker</vn-th>
|
||||
<vn-th field="state" shrink>State</vn-th>
|
||||
<vn-th field="created" expand>Created</vn-th>
|
||||
</vn-tr>
|
||||
</vn-thead>
|
||||
<vn-tbody>
|
||||
<vn-tr ng-repeat="sale in sales">
|
||||
<vn-td number>{{::sale.quantity}}</vn-td>
|
||||
<vn-td number>{{::sale.originalQuantity}}</vn-td>
|
||||
<vn-td expand>
|
||||
|
@ -75,3 +123,48 @@
|
|||
<vn-worker-descriptor-popover
|
||||
vn-id="worker-descriptor">
|
||||
</vn-worker-descriptor-popover>
|
||||
</vn-popup>
|
||||
|
||||
<vn-popup vn-id="itemShelvingSale">
|
||||
<vn-crud-model
|
||||
vn-id="modelSaleTracking"
|
||||
url="ItemShelvingSales/filter"
|
||||
link="{saleFk: $ctrl.saleId}"
|
||||
limit="20"
|
||||
data="$ctrl.itemShelvingSales"
|
||||
auto-load="true">
|
||||
</vn-crud-model>
|
||||
<vn-data-viewer model="modelSaleTracking">
|
||||
<vn-card class="vn-w-lg">
|
||||
<vn-table model="modelSaleTracking">
|
||||
<vn-thead>
|
||||
<vn-tr>
|
||||
<vn-th field="quantity" number>Quantity</vn-th>
|
||||
<vn-th field="workerFk">Worker</vn-th>
|
||||
<vn-th field="shelving" shrink>Shelving</vn-th>
|
||||
<vn-th field="parking" shrink>Parking</vn-th>
|
||||
<vn-th field="created" expand>Created</vn-th>
|
||||
</vn-tr>
|
||||
</vn-thead>
|
||||
<vn-tbody>
|
||||
<vn-tr ng-repeat="itemShelvingSale in $ctrl.itemShelvingSales">
|
||||
<vn-td number>{{::itemShelvingSale.quantity}}</vn-td>
|
||||
<vn-td expand>
|
||||
<span
|
||||
class="link"
|
||||
ng-click="workerDescriptor.show($event, itemShelvingSale.userFk)">
|
||||
{{::itemShelvingSale.name | dashIfEmpty}}
|
||||
</span>
|
||||
</vn-td>
|
||||
<vn-td shrink>{{::itemShelvingSale.shelvingFk}}</vn-td>
|
||||
<vn-td shrink>{{::itemShelvingSale.code}}</vn-td>
|
||||
<vn-td expand>{{::itemShelvingSale.created | date: 'dd/MM/yyyy HH:mm'}}</vn-td>
|
||||
</vn-tr>
|
||||
</vn-tbody>
|
||||
</vn-table>
|
||||
</vn-card>
|
||||
</vn-data-viewer>
|
||||
<vn-worker-descriptor-popover
|
||||
vn-id="worker-descriptor">
|
||||
</vn-worker-descriptor-popover>
|
||||
</vn-popup>
|
||||
|
|
|
@ -1,12 +1,88 @@
|
|||
import ngModule from '../module';
|
||||
import Section from 'salix/components/section';
|
||||
import './style.scss';
|
||||
|
||||
class Controller extends Section {}
|
||||
class Controller extends Section {
|
||||
constructor($element, $) {
|
||||
super($element, $);
|
||||
this.filter = {
|
||||
include: [
|
||||
{
|
||||
relation: 'item'
|
||||
}, {
|
||||
relation: 'isChecked',
|
||||
scope: {
|
||||
fields: ['isChecked']
|
||||
}
|
||||
}
|
||||
]
|
||||
};
|
||||
}
|
||||
|
||||
$onInit() {
|
||||
const query = `Sales/${this.$params.id}/salePreparingList`;
|
||||
this.$http.get(query)
|
||||
.then(res => {
|
||||
this.salePreparingList = res.data;
|
||||
});
|
||||
}
|
||||
|
||||
showItemDescriptor(event, sale) {
|
||||
this.quicklinks = {
|
||||
btnThree: {
|
||||
icon: 'icon-transaction',
|
||||
state: `item.card.diary({
|
||||
id: ${sale.itemFk},
|
||||
warehouseFk: ${this.ticket.warehouseFk},
|
||||
lineFk: ${sale.id}
|
||||
})`,
|
||||
tooltip: 'Item diary'
|
||||
}
|
||||
};
|
||||
this.$.itemDescriptor.show(event.target, sale.itemFk);
|
||||
}
|
||||
|
||||
chipHasSaleGroupDetail(saleId) {
|
||||
this.salePreparing = this.salePreparingList.find(element => element.saleFk == saleId);
|
||||
if (this.salePreparing.hasSaleGroupDetail) return 'pink';
|
||||
else return 'message';
|
||||
}
|
||||
|
||||
chipIsPreviousSelected() {
|
||||
if (this.salePreparing.isPreviousSelected) return 'notice';
|
||||
else return 'message';
|
||||
}
|
||||
|
||||
chipIsPrevious() {
|
||||
if (this.salePreparing.isPrevious) return 'dark-notice';
|
||||
else return 'message';
|
||||
}
|
||||
|
||||
chipIsPrepared() {
|
||||
if (this.salePreparing.isPrepared) return 'warning';
|
||||
else return 'message';
|
||||
}
|
||||
|
||||
chipIsControled() {
|
||||
if (this.salePreparing.isControled) return 'yellow';
|
||||
else return 'message';
|
||||
}
|
||||
|
||||
showSaleTracking(sale) {
|
||||
this.saleId = sale.id;
|
||||
this.$.saleTracking.show();
|
||||
}
|
||||
|
||||
showItemShelvingSale(sale) {
|
||||
this.saleId = sale.id;
|
||||
this.$.itemShelvingSale.show();
|
||||
}
|
||||
}
|
||||
|
||||
ngModule.vnComponent('vnTicketSaleTracking', {
|
||||
template: require('./index.html'),
|
||||
controller: Controller,
|
||||
bindings: {
|
||||
ticket: '<',
|
||||
},
|
||||
ticket: '<'
|
||||
}
|
||||
});
|
||||
|
|
|
@ -0,0 +1 @@
|
|||
ItemShelvings sale: Carros línea
|
|
@ -0,0 +1,7 @@
|
|||
@import "variables";
|
||||
|
||||
.chip {
|
||||
display: inline-block;
|
||||
min-width: 10px;
|
||||
min-height: 20px;
|
||||
}
|
Loading…
Reference in New Issue