Sortimentsbestandteile ändern können, auch nachdem das Sortiemnt verwendet wurde
[kivitendo-erp.git] / templates / webpages / part / _assortment.html
1 [%- USE T8 %]
2 [%- USE HTML %]
3 [%- USE LxERP %]
4 [%- USE L %]
5 [%- USE P %]
6
7 <div id="assortment" name="assortment">
8
9 <h2>[% 'Assortment items' | $T8 %]</h2>
10
11 [% L.hidden_tag('assortment_id', SELF.part.id) %]
12
13 <table id="assortment_items">
14  <thead>
15    <tr class="listheading">
16      <th class="listheading" style='display:none'></th>
17      [% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
18      <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th>
19      [% END %]
20      <th class="listheading" nowrap width="3" >[%- 'position'     | $T8 %] </th>
21      [% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
22      <th class="listheading" style='text-align:center' nowrap width="1"><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th>
23      [% END %]
24      <th id="partnumber_header_id"  class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Part.reorder_items("partnumber")'> [%- 'Partnumber'  | $T8 %]</a></th>
25      <th id="partdescription_header_id"  class="listheading" nowrap width="15"><a href='#' onClick='javascript:kivi.Part.reorder_items("description")' >[%- 'Description' | $T8 %]</a></th>
26      <th id="qty_header_id"         class="listheading" nowrap width="5" ><a href='#' onClick='javascript:kivi.Part.reorder_items("qty")'>        [%- 'Qty'         | $T8 %]</a></th>
27      <th class="listheading" nowrap width="5" >[%- 'Unit'         | $T8 %] </th>
28      <th class="listheading" nowrap width="5" >[%- 'Charge'       | $T8 %] </th>
29      <th class="listheading" nowrap width="5" >[%- 'Line Total'   | $T8 %] </th>
30      <th id="sellprice_header_id"   class="listheading" nowrap width="10" ><a href='#' onClick='javascript:kivi.Part.reorder_items("sellprice")'> [%- 'Sellprice'   | $T8 %]</a></th>
31      <th id="lastcost_header_id"   class="listheading" nowrap width="10" ><a href='#' onClick='javascript:kivi.Part.reorder_items("lastcost")'> [%- 'Lastcost'      | $T8 %]</a></th>
32      <th id="_header_id"   class="listheading" nowrap width="15" ><a href='#' onClick='javascript:kivi.Part.reorder_items("partsgroup")'> [%- 'Partsgroup'       | $T8 %]</a></th>
33    </tr>
34  </thead>
35 <tbody id="assortment_rows">
36   [% assortment_html %]
37 </tbody>
38 <tbody id="assortment_input">
39 <tr>
40  [% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
41  <td></td>
42  <td></td>
43  <td align="right">[% 'Part' | $T8 %]:</td>
44  <td>[% P.part.picker('add_items[+].parts_id', '', style='width: 300px', multiple=1, id='assortment_picker', action={set_multi_items='kivi.Part.set_multi_assortment_items'}) %]</td>
45  <td>[%- L.button_tag("kivi.Part.add_assortment_item()", LxERP.t8("Add")) %]</td>
46  <td>[% L.button_tag('$("#assortment_picker").data("part_picker").open_dialog()', LxERP.t8('Add multiple items')) %]</td>
47  <td>[% L.hidden_tag('add_items[].qty_as_number', 1) %]</td>
48  [% ELSE %]
49  <td></td>
50  <td></td>
51  <td></td>
52  <td></td>
53  <td></td>
54  <td></td>
55  [% END %]
56  <td></td>
57  <td align="right">[% 'Totals' | $T8 %]:</td>
58  <th id="items_sellprice_sum" class="numeric">[%- LxERP.format_amount(items_sellprice_sum, 2, 0) %]</td>
59  <th id="items_lastcost_sum"  class="numeric">[%- LxERP.format_amount(items_lastcost_sum,  2, 0) %]</td>
60  <th id="items_sum_diff"      class="numeric">[%- LxERP.format_amount(items_sum_diff,      2, 0) %]</td>
61 </tr>
62 <tr>
63  [% IF SELF.orphaned || AUTH.assert('assortment_edit', 1) %]
64  <td></td>
65  <td></td>
66  [% END %]
67  <td></td>
68  <td></td>
69  <td></td>
70  <td></td>
71  <td></td>
72  <td></td>
73  <td></td>
74  <td align="right">[% L.button_tag("kivi.Part.set_assortment_sellprice()", LxERP.t8("Set sellprice")) %]</td>
75  <td align="right">[% L.button_tag("kivi.Part.set_assortment_lastcost()",  LxERP.t8("Set lastcost"))  %]</td>
76  <td></td>
77 </tr>
78 </tbody>
79 </table>
80
81 [% L.sortable_element('#assortment_rows') %]
82
83 </div>
84
85 <script type="text/javascript">
86   $(function() {
87     $("#assortment").on( "focusout", ".recalc", function( event )  {
88       kivi.Part.assortment_recalc();
89     });
90
91     $("#assortment").on( "change", ":checkbox", function( event )  {
92       kivi.Part.assortment_recalc();
93     });
94
95     $('#assortment_rows').on('sortstop', function(event, ui) {
96       $('#assortment thead a img').remove();
97       kivi.Part.renumber_positions();
98     });
99   })
100 </script>