201 lines
7.9 KiB
HTML
201 lines
7.9 KiB
HTML
<mg-ajax path="dms/upload" options="vnPost"></mg-ajax>
|
|
<vn-watcher
|
|
vn-id="watcher"
|
|
data="$ctrl.dms">
|
|
</vn-watcher>
|
|
<form
|
|
name="form"
|
|
ng-submit="$ctrl.onSubmit()"
|
|
class="vn-ma-md">
|
|
<div class="vn-w-lg">
|
|
<vn-card class="vn-pa-lg">
|
|
<vn-horizontal>
|
|
<vn-input-file
|
|
vn-one
|
|
label="File"
|
|
ng-model="$ctrl.import.file"
|
|
on-change="$ctrl.onFileChange($event)"
|
|
accept="application/json"
|
|
required="true">
|
|
<append>
|
|
<vn-icon vn-none
|
|
color-marginal
|
|
title="{{'JSON files only' | translate}}"
|
|
icon="info">
|
|
</vn-icon>
|
|
</append>
|
|
</vn-input-file>
|
|
</vn-horizontal>
|
|
<vn-horizontal ng-show="$ctrl.import.ref">
|
|
<vn-textfield vn-focus
|
|
vn-one
|
|
label="Reference"
|
|
ng-model="$ctrl.import.ref">
|
|
</vn-textfield>
|
|
</vn-horizontal>
|
|
<vn-horizontal ng-show="$ctrl.import.observation">
|
|
<vn-textarea
|
|
vn-one
|
|
label="Observation"
|
|
ng-model="$ctrl.import.observation">
|
|
</vn-textarea>
|
|
</vn-horizontal>
|
|
<vn-horizontal ng-show="$ctrl.import.buys.length > 0">
|
|
<table class="vn-table">
|
|
<thead>
|
|
<tr>
|
|
<th translate>Item</th>
|
|
<th translate expand>Description</th>
|
|
<th translate center>Size</th>
|
|
<th translate center>Packing</th>
|
|
<th translate center>Grouping</th>
|
|
<th translate center>Buying value</th>
|
|
<th translate center>Box</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody ng-repeat="buy in $ctrl.import.buys">
|
|
<tr>
|
|
<td title="{{::buy.itemFk}}">
|
|
<vn-autocomplete
|
|
class="dense"
|
|
vn-focus
|
|
url="Items/withName"
|
|
ng-model="buy.itemFk"
|
|
show-field="name"
|
|
value-field="id"
|
|
search-function="$ctrl.itemSearchFunc($search)"
|
|
order="id DESC"
|
|
tabindex="1">
|
|
<tpl-item>
|
|
{{::id}} - {{::name}}
|
|
</tpl-item>
|
|
<append>
|
|
<vn-icon-button
|
|
icon="filter_alt"
|
|
vn-click-stop="$ctrl.showFilterDialog(buy)"
|
|
vn-tooltip="Filter...">
|
|
</vn-icon-button>
|
|
</append>
|
|
</vn-autocomplete>
|
|
</td>
|
|
<td title="{{::buy.description}}" expand>{{::buy.description | dashIfEmpty}}</td>
|
|
<td center title="{{::buy.size}}">{{::buy.size | dashIfEmpty}}</td>
|
|
<td center>{{::buy.packing | dashIfEmpty}}</td>
|
|
<td center>{{::buy.grouping | dashIfEmpty}}</td>
|
|
<td>{{::buy.buyingValue | currency: 'EUR':2}}</td>
|
|
<td center title="{{::buy.packageFk | dashIfEmpty}}">
|
|
<vn-autocomplete
|
|
vn-one
|
|
url="Packagings"
|
|
show-field="id"
|
|
value-field="id"
|
|
where="{isBox: true}"
|
|
ng-model="buy.packageFk">
|
|
</vn-autocomplete>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
</vn-horizontal>
|
|
</vn-card>
|
|
<vn-button-bar>
|
|
<vn-submit
|
|
label="Import buys">
|
|
</vn-submit>
|
|
<vn-button
|
|
class="cancel"
|
|
label="Cancel"
|
|
ui-sref="entry.card.buy.index">
|
|
</vn-button>
|
|
</vn-button-bar>
|
|
</div>
|
|
</form>
|
|
|
|
<vn-dialog
|
|
vn-id="filterDialog"
|
|
on-accept="$ctrl.addTime()"
|
|
message="Filter item">
|
|
<tpl-body class="itemFilter">
|
|
<vn-horizontal>
|
|
<vn-textfield
|
|
label="Name"
|
|
ng-model="$ctrl.itemFilterParams.name"
|
|
vn-focus>
|
|
</vn-textfield>
|
|
<vn-textfield
|
|
label="Size"
|
|
ng-model="$ctrl.itemFilterParams.size">
|
|
</vn-textfield>
|
|
<vn-autocomplete
|
|
label="Producer"
|
|
ng-model="$ctrl.itemFilterParams.producerFk"
|
|
url="Producers"
|
|
show-field="name"
|
|
value-field="id">
|
|
</vn-autocomplete>
|
|
<vn-autocomplete
|
|
label="Type"
|
|
ng-model="$ctrl.itemFilterParams.typeFk"
|
|
url="ItemTypes"
|
|
show-field="name"
|
|
value-field="id">
|
|
</vn-autocomplete>
|
|
<vn-autocomplete
|
|
label="Color"
|
|
ng-model="$ctrl.itemFilterParams.inkFk"
|
|
url="Inks"
|
|
show-field="name"
|
|
value-field="id">
|
|
</vn-autocomplete>
|
|
</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="itemsModel"
|
|
url="Items/withName"
|
|
filter="$ctrl.itemFilter"
|
|
data="items"
|
|
limit="10">
|
|
</vn-crud-model>
|
|
<vn-data-viewer
|
|
model="itemsModel"
|
|
class="vn-w-lg">
|
|
<vn-table class="scrollable">
|
|
<vn-thead>
|
|
<vn-tr>
|
|
<vn-th shrink>ID</vn-th>
|
|
<vn-th expand>Item</vn-th>
|
|
<vn-th number>Size</vn-th>
|
|
<vn-th expand>Producer</vn-th>
|
|
<vn-th>Color</vn-th>
|
|
</vn-tr>
|
|
</vn-thead>
|
|
<vn-tbody>
|
|
<a ng-repeat="item in items"
|
|
class="clickable vn-tr search-result"
|
|
ng-click="$ctrl.selectItem(item.id)">
|
|
<vn-td shrink>
|
|
<span
|
|
ng-click="itemDescriptor.show($event, item.id)"
|
|
class="link">
|
|
{{::item.id}}
|
|
</span>
|
|
</vn-td>
|
|
<vn-td expand>{{::item.name}}</vn-td>
|
|
<vn-td number>{{::item.size}}</vn-td>
|
|
<vn-td expand>{{::item.producer.name}}</vn-td>
|
|
<vn-td>{{::item.ink.name}}</vn-td>
|
|
</a>
|
|
</vn-tbody>
|
|
</vn-table>
|
|
</vn-data-viewer>
|
|
<vn-item-descriptor-popover
|
|
vn-id="item-descriptor"
|
|
warehouse-fk="$ctrl.vnConfig.warehouseFk">
|
|
</vn-item-descriptor-popover>
|
|
</tpl-body>
|
|
</vn-dialog> |