<mg-ajax path="Entries/{{patch.params.id}}" options="vnPatch"></mg-ajax> <vn-watcher vn-id="watcher" data="$ctrl.entry" form="form" save="patch"> </vn-watcher> <vn-crud-model auto-load="true" url="Warehouses" data="warehouses"> </vn-crud-model> <form name="form" ng-submit="watcher.submit()" class="vn-w-md"> <vn-card class="vn-pa-lg"> <vn-horizontal> <vn-autocomplete vn-one ng-model="$ctrl.entry.supplierFk" url="Suppliers" show-field="nickname" search-function="{or: [{id: $search}, {nickname: {like: '%'+ $search +'%'}}]}" value-field="id" order="nickname" label="Supplier" required="true"> <tpl-item> <div>#{{::nickname}}</div> <div class="text-secondary text-caption">#{{::id}}</div> </tpl-item> </vn-autocomplete> <vn-autocomplete vn-one ng-model="$ctrl.entry.travelFk" url="Travels/filter" search-function="$ctrl.searchFunction($search)" value-field="id" show-field="warehouseInName" order="id" label="Travel" required="true"> <tpl-item> <div> {{::agencyModeName}} - {{::warehouseInName}} ({{::shipped | date: 'dd/MM/yyyy'}}) → {{::warehouseOutName}} ({{::landed | date: 'dd/MM/yyyy'}}) </div> <div class="text-secondary text-caption">#{{::id}}</div> </tpl-item> <append> <vn-icon-button icon="filter_alt" vn-click-stop="$ctrl.showFilterDialog($ctrl.entry.travelFk)" vn-tooltip="Filter..."> </vn-icon-button> </append> </vn-autocomplete> </vn-horizontal> <vn-horizontal> <vn-textfield vn-one label="Reference" ng-model="$ctrl.entry.reference" rule vn-focus> </vn-textfield> </vn-horizontal> <vn-horizontal> <vn-textfield vn-one label="Invoice number" ng-model="$ctrl.entry.invoiceNumber" rule vn-focus> </vn-textfield> <vn-autocomplete url="Companies" label="Company" show-field="code" value-field="id" ng-model="$ctrl.entry.companyFk"> </vn-autocomplete> </vn-horizontal> <vn-horizontal> <vn-autocomplete vn-one label="Currency" ng-model="$ctrl.entry.currencyFk" url="Currencies" show-field="code" value-field="id"> </vn-autocomplete> <vn-input-number vn-one step="0.1" label="Commission" ng-model="$ctrl.entry.commission" rule> </vn-input-number> </vn-horizontal> <vn-horizontal> <vn-textarea vn-one label="Observation" ng-model="$ctrl.entry.observation" rule> </vn-textarea> </vn-horizontal> <vn-horizontal> <vn-check label="Ordered" ng-model="$ctrl.entry.isOrdered"> </vn-check> <vn-check label="Confirmed" ng-model="$ctrl.entry.isConfirmed"> </vn-check> <vn-check label="Inventory" ng-model="$ctrl.entry.isExcludedFromAvailable"> </vn-check> <vn-check label="Raid" ng-model="$ctrl.entry.isRaid"> </vn-check> <vn-check label="Booked" ng-model="$ctrl.entry.isBooked" vn-acl="administrative" > </vn-check> </vn-horizontal> </vn-card> <vn-button-bar> <vn-submit disabled="!watcher.dataChanged()" label="Save"> </vn-submit> <vn-button class="cancel" label="Undo changes" disabled="!watcher.dataChanged()" ng-click="watcher.loadOriginalData()"> </vn-button> </vn-button-bar> </form> <!-- Filter travel dialog --> <vn-dialog vn-id="filterDialog" message="Filter travel"> <tpl-body class="travelFilter"> <vn-horizontal> <vn-autocomplete label="Agency" ng-model="$ctrl.travelFilterParams.agencyModeFk" url="AgencyModes" show-field="name" value-field="id"> </vn-autocomplete> <vn-autocomplete label="Warehouse Out" ng-model="$ctrl.travelFilterParams.warehouseOutFk" data="warehouses" show-field="name" value-field="id"> </vn-autocomplete> <vn-autocomplete label="Warehouse In" ng-model="$ctrl.travelFilterParams.warehouseInFk" data="warehouses" show-field="name" value-field="id"> </vn-autocomplete> <vn-date-picker label="Shipped" ng-model="$ctrl.travelFilterParams.shipped"> </vn-date-picker> <vn-date-picker label="Landed" ng-model="$ctrl.travelFilterParams.landed"> </vn-date-picker> </vn-horizontal> <vn-horizontal class="vn-mb-md"> <vn-button vn-none label="Search" ng-click="$ctrl.filter()"> </vn-button> </vn-horizontal> <vn-crud-model vn-id="travelsModel" url="Travels" filter="$ctrl.travelFilter" data="travels" limit="10"> </vn-crud-model> <vn-data-viewer model="travelsModel" class="vn-w-lg"> <vn-table class="scrollable"> <vn-thead> <vn-tr> <vn-th shrink>ID</vn-th> <vn-th expand>Agency</vn-th> <vn-th expand>Warehouse Out</vn-th> <vn-th expand>Warehouse In</vn-th> <vn-th expand>Shipped</vn-th> <vn-th expand>Landed</vn-th> </vn-tr> </vn-thead> <vn-tbody> <a ng-repeat="travel in travels" class="clickable vn-tr search-result" ng-click="$ctrl.selectTravel(travel.id)"> <vn-td shrink> <span vn-click-stop="travelDescriptor.show($event, travel.id)" class="link"> {{::travel.id}} </span> </vn-td> <vn-td expand>{{::travel.agency.name}}</vn-td> <vn-td expand>{{::travel.warehouseOut.name}}</vn-td> <vn-td expand>{{::travel.warehouseIn.name}}</vn-td> <vn-td expand>{{::travel.shipped | date: 'dd/MM/yyyy'}}</vn-td> <vn-td expand>{{::travel.landed | date: 'dd/MM/yyyy'}}</vn-td> </a> </vn-tbody> </vn-table> </vn-data-viewer> <vn-travel-descriptor-popover vn-id="travel-descriptor" warehouse-fk="$ctrl.vnConfig.warehouseFk"> </vn-travel-descriptor-popover> </tpl-body> </vn-dialog>