Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 9396b806

Von Tamino Steinert vor fast 2 Jahren hinzugefügt

  • ID 9396b8062847d10ca5448ae012c2540942c44360
  • Vorgänger 1d4ac567
  • Nachfolger 416ccac3

Design 4.0: Neue Lieferscheinmasken angepasst

Unterschiede anzeigen:

templates/design40_webpages/delivery_order/form.html
1
[%- USE T8 %]
2
[%- USE LxERP %]
3
[%- USE L %]
4
[%- USE HTML %]
5
<h1>[% FORM.title %] <span id='nr_in_title'>[%- SELF.order.number -%]</span></h1>
6

  
7
<div id="print_options" style="display:none">
8
  <form method="post" action="controller.pl" id="print_options_form">
9
    [% SELF.print_options %]
10
    <br>
11
    [% L.button_tag('kivi.DeliveryOrder.print()', LxERP.t8('Print')) %]
12
    <a href="#" onclick="$('#print_options').dialog('close');">[% LxERP.t8("Cancel") %]</a>
13
  </form>
14
</div>
15

  
16
<div id="shipto_dialog" class="hidden"></div>
17

  
18
<form method="post" action="controller.pl" id="order_form">
19
  [% L.hidden_tag('callback',             FORM.callback) %]
20
  [% L.hidden_tag('type',                 FORM.type) %]
21
  [% L.hidden_tag('id',                   SELF.order.id) %]
22
  [% L.hidden_tag('converted_from_oe_id', SELF.converted_from_oe_id) %]
23
  [% L.hidden_tag('converted_from_reclamation_id', SELF.converted_from_reclamation_id) %]
24

  
25
  [% IF !SELF.order.id %]
26
  [%   L.hidden_tag('form_validity_token', FORM.form_validity_token) %]
27
  [% END %]
28

  
29
  [%- INCLUDE 'common/flash.html' %]
30

  
31
  <div class="tabwidget" id="order_tabs">
32
    <ul>
33
      <li><a href="#ui-tabs-basic-data">[% 'Basic Data' | $T8 %]</a></li>
34
[%- IF INSTANCE_CONF.get_webdav %]
35
      <li><a href="#ui-tabs-webdav">[% 'WebDAV' | $T8 %]</a></li>
36
[%- END %]
37
[%- IF SELF.order.id AND INSTANCE_CONF.get_doc_storage %]
38
      <li><a href="controller.pl?action=File/list&file_type=document&object_type=[% HTML.escape(FORM.type) %]&object_id=[% HTML.url(SELF.order.id) %]">[% 'Documents' | $T8 %]</a></li>
39
      <li><a href="controller.pl?action=File/list&file_type=attachment&object_type=[% HTML.escape(FORM.type) %]&object_id=[% HTML.url(SELF.order.id) %]">[% 'Attachments' | $T8 %]</a></li>
40
[%- END %]
41
[%- IF SELF.order.id %]
42
      <li><a href="controller.pl?action=RecordLinks/ajax_list&object_model=DeliveryOrder&object_id=[% HTML.url(SELF.order.id) %]">[% 'Linked Records' | $T8 %]</a></li>
43
[%- END %]
44
    </ul>
45

  
46
    [% PROCESS "delivery_order/tabs/basic_data.html" %]
47
    [% PROCESS 'webdav/_list.html' %]
48
    <div id="ui-tabs-1">
49
      [%- LxERP.t8("Loading...") %]
50
    </div>
51

  
52
    <div id="shipto_inputs" class="hidden">
53
      [%- PROCESS 'common/_ship_to_dialog.html'
54
        vc_obj=SELF.order.customervendor
55
        cs_obj=SELF.order.custom_shipto
56
        cvars=SELF.order.custom_shipto.cvars_by_config
57
        id_selector='#order_shipto_id' %]
58
    </div>
59

  
60
  </div>
61

  
62
</form>
templates/design40_webpages/delivery_order/stock_dialog.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5

  
6
<form>
7
 <table class="tbl-horizontal col">
8
  <tr>
9
   <td>[% 'Part Number' | $T8 %]</td>
10
   <td><span class="data wi-small">[% part.partnumber %]</span></td>
11
  </tr>
12
  <tr>
13
   <td>[% 'Description' | $T8 %]</td>
14
   <td><span class="data wi-small">[% part.description %]</span></td>
15
  </tr>
16
  <tr>
17
   <td>[% 'Qty according to delivery order' | $T8 %]</td>
18
   <td><span class="data wi-small">[% LxERP.format_amount(do_qty) %] [% do_unit | html %]</span></td>
19
  </tr>
20
 </table>
21

  
22
 [% L.hidden_tag("in_out", in_out) %]
23
 [% L.hidden_tag("parts_id", part.id) %]
24
 [% L.hidden_tag("do_qty", do_qty) %]
25
 [% L.hidden_tag("do_unit", do_unit) %]
26
 [% L.hidden_tag("row", row, class="data-row") %]
27
 [% L.hidden_tag("item_id", item_id) %]
28

  
29
 [%- IF delivered %]
30
  [% PROCESS "delivery_order/stock_dialog/_stock_delivered_dialog.html" %]
31
 [%- ELSE %]
32

  
33
  [%- IF in_out == "in" %]
34
  <p>
35
  <table id="stock-info-table" class="tbl-list">
36
    [%- PROCESS "delivery_order/stock_dialog/_stock_info_table.html" %]
37
  </table>
38
  </p>
39
  [%- END %]
40

  
41
  <p>
42
   <table id="stock-in-out-table" class="tbl-list">
43
    [%- IF in_out == "in" %]
44
     [%- PROCESS "delivery_order/stock_dialog/_stock_in_table.html" %]
45
    [%- ELSE %]
46
     [%- PROCESS "delivery_order/stock_dialog/_stock_out_table.html" %]
47
    [%- END %]
48
   </table>
49
  </p>
50

  
51
  [%- IF in_out == "in" %]
52
  [% L.button_tag('kivi.DeliveryOrder.add_stock_in_line_to_dialog()', LxERP.t8('+')) %]
53
  [%- END %]
54

  
55
  <hr size="3" noshade>
56

  
57
  <p>[% L.button_tag('kivi.DeliveryOrder.save_updated_stock()', LxERP.t8('Save')) %]</p>
58

  
59
  [%- END %]
60
 </form>
templates/design40_webpages/delivery_order/stock_dialog/_stock_delivered_dialog.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5

  
6
[%- UNLESS STOCK_INFO.size %]
7
<p>[% 'There are no items in stock.' | $T8 %]</p>
8
[%- ELSE %]
9

  
10
<p>
11
 <table id="stock-in-out-table" class="tbl-list">
12
  <tr>
13
   <th>&nbsp;</th>
14
   <th>[% 'Warehouse' | $T8 %]</th>
15
   <th>[% 'Bin' | $T8 %]</th>
16
   <th>[% 'Charge Number' | $T8 %]</th>
17
   [% IF INSTANCE_CONF.get_show_bestbefore %]
18
   <th>[% 'Best Before' | $T8 %]</th>
19
   [% END %]
20
   <th>[% 'Qty' | $T8 %]</th>
21
   <th>[% 'Unit' | $T8 %]</th>
22
  </tr>
23

  
24
  [%- FOREACH row = STOCK_INFO %]
25
  <tr [% IF row.stock_error %]class="error"[% END %]>
26
   <td>[% loop.count %]</td>
27
   <td>[% row.warehousedescription | html %]</td>
28
   <td>[% row.bindescription | html %]</td>
29
   <td>[% row.chargenumber | html %]</td>
30
   [% IF INSTANCE_CONF.get_show_bestbefore %]
31
   <td>[% row.bestbefore | html %]</td>
32
   [% END %]
33

  
34
   <td>[% LxERP.format_amount(row.stock_qty) | html %]</td>
35
   <td>
36
    [% row.stock_unit | html %]
37
    [% L.hidden_tag("unit", row.stock_unit, class="data-unit") %]
38
   </td>
39

  
40
   <td style="display:none">
41
    [% L.hidden_tag("warehouse_id", row.warehouse_id, class="data-warehouse-id") %]
42
    [% L.hidden_tag("bin_id", row.bin_id, class="data-bin-id") %]
43
    [% L.hidden_tag("chargenumber", row.chargenumber, class="data-chargenumber") %]
44
    [% L.hidden_tag("delivery_order_items_stock_id", row.delivery_order_items_stock_id, class="data-stock-id") %]
45
    [% L.hidden_tag("bestbefore", row.bestbefore, class="data-bestbefore") IF INSTANCE_CONF.get_show_bestbefore %]
46
   </td>
47
  </tr>
48
  [%- END %]
49
 </table>
50
</p>
51
<hr size="3" noshade>
52
[%- END %]
templates/design40_webpages/delivery_order/stock_dialog/_stock_in_new_row.html
1
[%- USE L %]
2
[%- USE LxERP %]
3
[% # L.dump( PART ) %] [% # L.dump( pos ) %] [% # L.dump( remaining_qty ) %]
4
<tr class="listrow" >
5
 [% L.multi_level_select_tag(
6
      "new_wh_bin_" _ pos, WAREHOUSES, 2, surround_tag="td",
7
      level_1={
8
        name="warehouse_id",
9
        value_key="id",
10
        title_key="description",
11
        default=PART.warehouse_id,
12
        class="data-warehouse-id wi-small",
13
      },
14
      level_2={
15
        object_key="bins",
16
        name="bin_id",
17
        value_key="id",
18
        title_key="description",
19
        default=PART.bin_id,
20
        class="data-bin-id wi-small",
21
      },
22
    ) %]
23

  
24
 <td>[% L.input_tag("chargenumber", "", class="numeric data-chargenumber wi-small") %]</td>
25
 [%- IF INSTANCE_CONF.get_show_bestbefore %]
26
 <td>[% L.date_tag('bestbefore', "", class="data-bestbefore wi-small") %]</td>
27
 [%- END %]
28
 <td>[% L.input_tag("qty", LxERP.format_amount(remaining_qty) , class="numeric data-qty wi-small") %]</td>
29
 <td>[% L.select_tag("unit", PART.unit_obj.convertible_units, value_key="name", default=PART.unit, class="data-unit wi-small") %]</td>
30
 <td style="display:none">
31
  [% L.hidden_tag("delivery_order_items_stock_id", '', class="data-stock-id wi-small") %]
32
 </td>
33
</tr>
templates/design40_webpages/delivery_order/stock_dialog/_stock_in_row.html
1
[%- USE L %]
2
[%- USE LxERP %]
3
[% # L.dump( PART ) %] [% # L.dump( pos ) %] [% # L.dump( ROW ) %]
4
<tr>
5
 [% L.multi_level_select_tag(
6
      # name has to be unique
7
      "wh_bin_" _ pos, WAREHOUSES, 2, surround_tag="td",
8
      level_1={
9
        name="warehouse_id",
10
        value_key="id",
11
        title_key="description",
12
        default=ROW.warehouse_id,
13
        class="data-warehouse-id wi-small",
14
      },
15
      level_2={
16
        object_key="bins",
17
        name="bin_id",
18
        value_key="id",
19
        title_key="description",
20
        default=ROW.bin_id,
21
        class="data-bin-id wi-small",
22
      },
23
    ) %]
24

  
25
 <td>[% L.input_tag("chargenumber", ROW.chargenumber, class="numeric data-chargenumber wi-small") %]</td>
26
 [%- IF INSTANCE_CONF.get_show_bestbefore %]
27
 <td>[% L.date_tag("bestbefore", ROW.bestbefore, class="data-bestbefore wi-small") %]</td>
28
 [%- END %]
29
 <td>[% L.input_tag("qty", LxERP.format_amount(ROW.qty), class="numeric data-qty wi-small") %]</td>
30
 <td>[% L.select_tag("unit", PART.unit_obj.convertible_units, value_key="name", default=ROW.stock_unit, class="data-unit wi-small") %]</td>
31
 <td style="display:none">
32
  [% L.hidden_tag("delivery_order_items_stock_id", ROW.delivery_order_items_stock_id, class="data-stock-id wi-small") %]
33
 </td>
34
</tr>
templates/design40_webpages/delivery_order/stock_dialog/_stock_in_table.html
1
[% USE T8 %]
2
<tr>
3
 <th>[% 'Warehouse' | $T8 %]</th>
4
 <th>[% 'Bin' | $T8 %]</th>
5
 <th>[% 'Charge Number' | $T8 %]</th>
6
 [% IF INSTANCE_CONF.get_show_bestbefore %]
7
 <th>[% 'Best Before' | $T8 %]</th>
8
 [% END %]
9
 <th>[% 'Qty' | $T8 %]</th>
10
 <th>[% 'Unit' | $T8 %]</th>
11
</tr>
12

  
13
[%- FOREACH row = STOCK_INFO %]
14
[%- PROCESS delivery_order/stock_dialog/_stock_in_row.html PART=part ROW=row pos=loop.count %]
15
[%- END %]
16

  
17
[%- UNLESS STOCK_INFO.size %]
18
[%- PROCESS delivery_order/stock_dialog/_stock_in_new_row.html PART=part remaining_qty=do_qty pos=0 %]
19
[% END %]
templates/design40_webpages/delivery_order/stock_dialog/_stock_info_table.html
1
[% USE T8 %]
2
<tr>
3
 <th>&nbsp;</th>
4
 <th>[% 'Warehouse' | $T8 %]</th>
5
 <th>[% 'Bin' | $T8 %]</th>
6
 <th>[% 'Charge Number' | $T8 %]</th>
7
 [%- IF INSTANCE_CONF.get_show_bestbefore %]
8
 <th>[% 'Best Before' | $T8 %]</th>
9
 [%- END %]
10
 <th>[% 'Available qty' | $T8 %]</th>
11
 <th>[% 'Unit' | $T8 %]</th>
12
</tr>
13

  
14
[%- FOREACH row = WHCONTENTS %]
15
<tr [% IF row.stock_error %] class="error" [% END %]>
16
 <td>[% loop.count %]</td>
17
 <td>[% row.warehousedescription | html %]</td>
18
 <td>[% row.bindescription | html %]</td>
19
 <td>[% row.chargenumber | html %]</td>
20
 [%- IF INSTANCE_CONF.get_show_bestbefore %]
21
 test
22
 <td>[% row.bestbefore | html %]</td>
23
 [%- END %]
24

  
25
 <td>[% row.available_qty | html %]</td>
26
 <td>[% row.stock_unit | html %]</td>
27
</tr>
28
[%- END %]
templates/design40_webpages/delivery_order/stock_dialog/_stock_out_table.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5

  
6
<tr>
7
 <th>&nbsp;</th>
8
 <th>[% 'Warehouse' | $T8 %]</th>
9
 <th>[% 'Bin' | $T8 %]</th>
10
 <th>[% 'Charge Number' | $T8 %]</th>
11
 [% IF INSTANCE_CONF.get_show_bestbefore %]
12
 <th>[% 'Best Before' | $T8 %]</th>
13
 [% END %]
14
 <th>[% 'Available qty' | $T8 %]</th>
15
 <th>[% 'Qty' | $T8 %]</th>
16
 <th>[% 'Unit' | $T8 %]</th>
17
</tr>
18

  
19
[%- FOREACH row = WHCONTENTS %]
20
<tr [% IF row.stock_error %]class="error"[% END %]>
21
 <td>[% loop.count %]</td>
22
 <td>[% row.warehousedescription | html %]</td>
23
 <td>[% row.bindescription | html %]</td>
24
 <td>[% row.chargenumber | html %]</td>
25
 [% IF INSTANCE_CONF.get_show_bestbefore %]
26
 <td>[% row.bestbefore | html %]</td>
27
 [% END %]
28

  
29
 <td>[% row.available_qty | html %]</td>
30
 <td>
31
  [% L.input_tag("qty", row.stock_qty                              ? LxERP.format_amount(row.stock_qty)
32
                      : (WHCONTENTS.size == 1) && (!row.stock_qty) ? LxERP.format_amount(do_qty)
33
                      : "", class="numeric data-qty", size="12") %]</td>
34
 <td>[% L.select_tag("unit_" _ loop.count, part.unit_obj.convertible_units, value_key="name", default=row.stock_unit, class="data-unit") %]</td>
35

  
36
 <td style="display:none">
37
  [% L.hidden_tag("warehouse_id", row.warehouse_id, class="data-warehouse-id") %]
38
  [% L.hidden_tag("bin_id", row.bin_id, class="data-bin-id") %]
39
  [% L.hidden_tag("chargenumber", row.chargenumber, class="data-chargenumber") %]
40
  [% L.hidden_tag("delivery_order_items_stock_id", row.delivery_order_items_stock_id, class="data-stock-id") %]
41
  [% L.hidden_tag("bestbefore", row.bestbefore, class="data-bestbefore") IF INSTANCE_CONF.get_show_bestbefore %]
42
 </td>
43
</tr>
44
[%- END %]
templates/design40_webpages/delivery_order/tabs/_business_info_row.html
1
[%- USE T8 %][%- USE HTML %]
2

  
3
<tr id='business_info_row' [%- IF !SELF.order.customervendor.business_id %]style='display:none'[%- END %]>
4
  <th>
5
    [%- IF SELF.cv == 'customer' -%]
6
      [%- 'Customer type' | $T8 -%]
7
    [%- ELSE -%]
8
      [%- 'Vendor type' | $T8 -%]
9
    [%- END -%]
10
  </th>
11
  <td><span class="plain-data wi-lightwide">[% HTML.escape(SELF.order.customervendor.business.description) %] ([% 'Trade Discount' | $T8 %] [% SELF.order.customervendor.business.discount_as_percent %]%)</span></td>
12
</tr>
templates/design40_webpages/delivery_order/tabs/_item_input.html
1
[%- USE T8 %][%- USE HTML %][%- USE LxERP %][%- USE L %][%- USE P %]
2

  
3
<div class="wrapper">
4
  <div class="input-panel control-panel">
5
    <table id="input_row_table_id" class="tbl-plain condensed">
6
      <caption>[% 'Add Parts here!' | $T8 %]</caption>
7
      <tbody>
8
        <tr>
9
          <td>
10
            <span class="label above">[% 'position' | $T8 %] </span>
11
            [% L.input_tag('add_item.position', '', size = 5, class="add_item_input numeric") %]
12
          </td>
13
          <td>
14
            <span class="label above">[% 'Part' | $T8 %] </span>
15
            [%- SET PARAM_KEY = SELF.type_data.properties('is_customer') ? 'with_customer_partnumber' : 'with_makemodel' -%]
16
            [%- SET PARAM_VAL = SELF.search_cvpartnumber -%]
17
            [% P.part.picker('add_item.parts_id', SELF.created_part,
18
                              class="add_item_input wi-normal",
19
                              fat_set_item=1,
20
                              multiple_pos_input=1,
21
                              action={set_multi_items='kivi.DeliveryOrder.add_multi_items'},
22
                              classification_id=SELF.part_picker_classification_ids.as_list.join(','),
23
                              $PARAM_KEY=PARAM_VAL) %]
24
          </td>
25
          <td>
26
            <span class="label above">[% 'Description' | $T8 %] </span>
27
            [% L.input_tag('add_item.description', SELF.created_part.description, class="add_item_input") %]
28
          </td>
29
          <td>
30
            <span class="label above">[% 'Qty' | $T8 %]</span>
31
            [% L.input_tag('add_item.qty_as_number', '', size = 5, class="add_item_input numeric") %]
32
            [% L.hidden_tag('add_item.unit', SELF.created_part.unit, class="add_item_input") %]
33
          </td>
34
          <td style="vertical-align:bottom;">
35
            [% L.button_tag('kivi.DeliveryOrder.add_item()', LxERP.t8('Add part')) %]
36
          </td>
37
        </tr>
38
        <tr>
39
        </tr>
40
      </tbody>
41
    </table>
42
    <div style="clear:both">[% L.button_tag('kivi.DeliveryOrder.open_multi_items_dialog()', LxERP.t8('Add multiple items'), class='neutral') %]</div>
43
  </div><!-- /.entry-panel -->
44

  
45
  <div class="input-panel control-panel">
46
    <table id="create_part_table_id" class="tbl-plain condensed">
47
      <caption>[% 'Create a new part' | $T8 %]!</caption>
48
      <tbody>
49
        <tr>
50
          <td class="tooltipster-html" title="[%- 'Create a new part' | $T8 -%]">
51
            <span class="label above">[% 'Part Type' | $T8 %] </span>
52
            [% SET type_options = [[ 'part', LxERP.t8('Part') ], [ 'assembly', LxERP.t8('Assembly') ]] %]
53
            [%- IF INSTANCE_CONF.get_feature_experimental_assortment %]
54
              [%- type_options.push([ 'assortment', LxERP.t8('Assortment')]) %]
55
            [%- END %]
56
            [% L.select_tag('add_item.create_part_type', type_options) %]
57
            [% L.button_tag('kivi.DeliveryOrder.create_part()', LxERP.t8('+')) %]
58
          </td>
59
        </tr>
60
      </tbody>
61
    </table>
62
  </div><!-- /.entry-panel -->
63
</div><!-- /.wrapper -->
templates/design40_webpages/delivery_order/tabs/_row.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5
[%- USE P %]
6

  
7
<tbody class="row_entry listrow" data-position="[%- HTML.escape(ITEM.position) -%]"[%- IF MYCONFIG.show_form_details -%] data-expanded="1"[%- END -%]>
8
  <tr>
9
    <td>
10
      [%- IF MYCONFIG.show_form_details %]
11
        [% L.img_tag(src="image/collapse.svg",
12
                     alt=LxERP.t8('Hide details'), title=LxERP.t8('Hide details'), class="expand") %]
13
      [%- ELSE %]
14
        [% L.img_tag(src="image/expand.svg",
15
                     alt=LxERP.t8('Show details'), title=LxERP.t8('Show details'), class="expand") %]
16
      [%- END %]
17
      [% L.hidden_tag("orderitem_ids[+]", ID) %]
18
      [% L.hidden_tag("converted_from_orderitems_ids[+]", ITEM.converted_from_orderitems_id) %]
19
      [% L.hidden_tag("converted_from_reclamation_items_ids[+]", ITEM.converted_from_reclamation_items_id) %]
20
      [% L.hidden_tag("order.orderitems[+].id", ITEM.id, id='item_' _ ID) %]
21
      [% L.hidden_tag("order.orderitems[].stock_info", ITEM.stock_info, class="data-stock-info") %]
22
      [% L.hidden_tag("order.orderitems[].parts_id", ITEM.parts_id) %]
23
    </td>
24
    <td class="center">
25
      <div name="position">[% HTML.escape(ITEM.position) %]</div>
26
    </td>
27
    <td align="center">
28
      <img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]" class="dragdrop">
29
    </td>
30
    <td>
31
      [%- L.button_tag("kivi.DeliveryOrder.delete_order_item_row(this)",
32
                       LxERP.t8("X"),
33
                       confirm=LxERP.t8("Are you sure?")) %]
34
    </td>
35
    [%- IF SELF.show_update_button -%]
36
    <td>
37
      [%- L.img_tag(src="image/rotate_cw.svg",
38
                    alt=LxERP.t8('Update from master data'),
39
                    title= LxERP.t8('Update from master data'),
40
                    onclick="if (!confirm('" _ LxERP.t8("Are you sure to update this position from master data?") _ "')) return false; kivi.DeliveryOrder.update_row_from_master_data(this);",
41
                    id='update_from_master',
42
                    class="expand"
43
                    ) %]
44
    </td>
45
    [%- END -%]
46
    <td>
47
      <div name="partnumber">
48
        [%- P.link_tag(SELF.url_for(controller='Part', action='edit', 'part.id'=ITEM.part.id), ITEM.part.partnumber, target="_blank", title=LxERP.t8('Open in new window')) -%]
49
      </div>
50
    </td>
51
    [%- IF SELF.search_cvpartnumber -%]
52
    <td>
53
      <div name="cvpartnumber">[% HTML.escape(ITEM.cvpartnumber) %]</div>
54
    </td>
55
    [%- END -%]
56
    <td>
57
      <div name="partclassification">[% ITEM.part.presenter.typeclass_abbreviation %]</div>
58
    </td>
59
    <td>
60
      [% L.areainput_tag("order.orderitems[].description",
61
                     ITEM.description,
62
                     size='40',
63
                     class='wi-lightwide') %]
64
      [%- L.hidden_tag("order.orderitems[].longdescription", ITEM.longdescription) %]
65
      [%- L.button_tag("kivi.DeliveryOrder.show_longdescription_dialog(this)", LxERP.t8("L"), class="wi-tiny neutral") %]
66
    </td>
67
    [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
68
    <td nowrap>
69
      [%- L.div_tag(LxERP.format_amount(ITEM.shipped_qty, 2, 0) _ ' ' _ ITEM.unit, name="shipped_qty", class="numeric") %]
70
    </td>
71
    [%- END -%]
72
    <td nowrap>
73
      [%- L.input_tag("order.orderitems[].qty_as_number",
74
                      ITEM.qty_as_number,
75
                      size = 5,
76
                      class="reformat_number numeric wi-verysmall") %]
77
      [%- IF ITEM.part.formel -%]
78
        [%- L.button_tag("kivi.DeliveryOrder.show_calculate_qty_dialog(this)", LxERP.t8("*/"), class="neutral") %]
79
        [%- L.hidden_tag("formula[+]", ITEM.part.formel) -%]
80
      [%- END -%]
81
    </td>
82
    <td>
83
      [%- L.select_tag("order.orderitems[].unit",
84
                      ITEM.part.available_units,
85
                      default = ITEM.unit,
86
                      title_key = 'name',
87
                      value_key = 'name',
88
                      class = 'unitselect wi-mediumsmall') %]
89
    </td>
90

  
91
    <td>
92
      <span id="stock_[% ID %]" class="data-stock-qty">[% SELF.calculate_stock_in_out(ITEM) %] [% ITEM.unit %]</span>
93
      [% P.button_tag("kivi.DeliveryOrder.open_stock_in_out_dialog(this, '" _ in_out _"')", "?") %]
94
    </td>
95
  </tr>
96

  
97
  <tr [%- IF !MYCONFIG.show_form_details -%]style="display:none"[%- END -%]>
98
    <td colspan="100%">
99
      [%- IF MYCONFIG.show_form_details || ITEM.render_second_row %]
100
        <div name="second_row" data-loaded="1">
101
          [%- PROCESS delivery_order/tabs/_second_row.html ITEM=ITEM TYPE=SELF.type %]
102
        </div>
103
      [%- ELSE %]
104
        <div name="second_row" id="second_row_[% ID %]">
105
          [%- LxERP.t8("Loading...") %]
106
        </div>
107
      [%- END %]
108
    </td>
109
  </tr>
110

  
111
</tbody>
templates/design40_webpages/delivery_order/tabs/_second_row.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5
[%- USE P %]
6

  
7
<table>
8
  <tr><td>
9
    [%- IF (TYPE == "sales_order" || TYPE == "purchase_order") %]
10
      <b>[%- 'Serial No.' | $T8 %]</b>&nbsp;
11
      [%- L.input_tag("order.orderitems[].serialnumber", ITEM.serialnumber, size = 15) %]&nbsp;
12
    [%- END %]
13
    <b>[%- 'Project' | $T8 %]</b>&nbsp;
14
    [% P.project.picker("order.orderitems[].project_id", ITEM.project_id, size = 15) %]&nbsp;
15
    [%- IF (TYPE == "sales_order" || TYPE == "purchase_order") %]
16
      <b>[%- 'Reqdate' | $T8 %]</b>&nbsp;
17
      [% L.date_tag("order.orderitems[].reqdate_as_date", ITEM.reqdate_as_date) %]&nbsp;
18
    [%- END %]
19
    <b>[%- 'On Hand' | $T8 %]</b>&nbsp;
20
      <span[%- IF ITEM.part.onhand < ITEM.part.rop -%] class="numeric plus0"[%- END -%]>
21
        [%- ITEM.part.onhand_as_number -%]&nbsp;[%- ITEM.part.unit -%]
22
      </span>&nbsp;
23
  </td></tr>
24

  
25
  <tr>
26
    [%- SET n = 0 %]
27
    [%- FOREACH var = ITEM.cvars_by_config %]
28
    [%- NEXT UNLESS (var.config.processed_flags.editable && ITEM.part.cvar_by_name(var.config.name).is_valid) %]
29
    [%- SET n = n + 1 %]
30
    <th>
31
      [% var.config.description %]
32
    </th>
33
    <td>
34
      [% L.hidden_tag('order.orderitems[].custom_variables[+].config_id', var.config.id) %]
35
      [% L.hidden_tag('order.orderitems[].custom_variables[].id', var.id) %]
36
      [% L.hidden_tag('order.orderitems[].custom_variables[].sub_module', var.sub_module) %]
37
      [% INCLUDE 'common/render_cvar_input.html' var_name='order.orderitems[].custom_variables[].unparsed_value' %]
38
    </td>
39
    [%- IF (n % (MYCONFIG.form_cvars_nr_cols || 3)) == 0 %]
40

  
41
  </tr><tr>
42
    [%- END %]
43
    [%- END %]
44
  </tr>
45
</table>
templates/design40_webpages/delivery_order/tabs/basic_data.html
1
[%- USE T8 %]
2
[%- USE HTML %]
3
[%- USE LxERP %]
4
[%- USE L %]
5
[%- USE P %]
6

  
7
[%- INCLUDE 'generic/set_longdescription.html' %]
8

  
9
<div id="ui-tabs-basic-data">
10

  
11
<div class="wrapper" id="wrapper-1">
12
[% INCLUDE 'generic/toggle_wrapper.html' %]
13

  
14

  
15
<div class="col">
16

  
17
  <table class="tbl-horizontal col">
18
    <caption>[% 'Customer & Order Information' | $T8 %]</caption>
19
    <colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup>
20
    <tbody>
21
      <tr>
22
        <th>[%- SELF.cv == "customer" ? LxERP.t8('Customer') : LxERP.t8('Vendor') -%]</th>
23
        [% SET cv_id = SELF.cv _ '_id' %]
24
        <td class="wi-lightwide">
25
          [% P.customer_vendor.picker("order.${SELF.cv}" _ '_id', SELF.order.$cv_id, type=SELF.cv, class='wi-lightwide') %]
26
          [%- L.img_tag(src="image/detail.png",
27
                      alt=LxERP.t8('Show details'),
28
                      title= LxERP.t8('Show details'),
29
                      onclick="kivi.DeliveryOrder.show_vc_details_dialog();",
30
                      class="button-image info") %]
31
        </td>
32
      </tr>
33

  
34
      <tr id='cp_row' [%- IF !SELF.order.${SELF.cv}.contacts.size %]style='display:none'[%- END %]>
35
        <th align="right">[% 'Contact Person' | $T8 %]</th>
36
        <td>[% L.select_tag('order.cp_id',
37
                            SELF.order.${SELF.cv}.contacts,
38
                            default=SELF.order.cp_id,
39
                            title_key='full_name_dep',
40
                            value_key='cp_id',
41
                            with_empty=1,
42
                            class='wi-lightwide') %]</td>
43
      </tr>
44

  
45
      <tr>
46
        <th>[% 'Shipping Address' | $T8 %]</th>
47
        <td>
48
          <span id='shipto_selection' [%- IF !SELF.order.${SELF.cv}.shipto.size %]style='display:none'[%- END %]>
49
            [% shiptos = [ { shipto_id => "", displayable_id => LxERP.t8("No/individual shipping address") } ] ;
50
               FOREACH s = SELF.order.${SELF.cv}.shipto ;
51
                 shiptos.push(s) ;
52
               END ;
53
               L.select_tag('order.shipto_id',
54
                             shiptos,
55
                             default=SELF.order.shipto_id,
56
                             title_key='displayable_id',
57
                             value_key='shipto_id',
58
                             with_empty=0,
59
                             style='width: 300px') %]
60
          </span>
61
          [% L.button_tag("kivi.DeliveryOrder.edit_custom_shipto()", LxERP.t8("Custom shipto")) %]
62
        </td>
63
      </tr>
64

  
65
      [%- PROCESS delivery_order/tabs/_business_info_row.html SELF=SELF %]
66

  
67
[%- IF SELF.all_languages.size %]
68
      <tr>
69
        <th>[% 'Language' | $T8 %]</th>
70
        <td>
71
          [% L.select_tag('order.language_id', SELF.all_languages, default=SELF.order.language_id, title_key='description', with_empty=1, class='wi-lightwide') %]
72
        </td>
73
      </tr>
74
[%- END %]
75

  
76
[%- IF SELF.all_departments.size %]
77
      <tr>
78
        <th>[% 'Department' | $T8 %]</th>
79
        <td>
80
          [% L.select_tag('order.department_id', SELF.all_departments, default=SELF.order.department_id, title_key='description', with_empty=1, class='wi-lightwide') %]
81
        </td>
82
      </tr>
83
[%- END %]
84

  
85
      <tr>
86
        <th>[% 'Shipping Point' | $T8 %]</th>
87
        <td>[% L.input_tag('order.shippingpoint', SELF.order.shippingpoint, class='wi-lightwide') %]</td>
88
      </tr>
89

  
90
      <tr>
91
        <th>[% 'Ship via' | $T8 %]</th>
92
        <td>[% L.input_tag('order.shipvia', SELF.order.shipvia, class='wi-lightwide') %]</td>
93
      </tr>
94

  
95
      <tr>
96
        <th>[% 'Transaction description' | $T8 %]</th>
97
        <td>[% L.input_tag('order.transaction_description', SELF.order.transaction_description, 'data-validate'=INSTANCE_CONF.get_require_transaction_description_ps ? 'required' : '', class='wi-lightwide') %]</td>
98
      </tr>
99

  
100
      <tr>
101
        <th>[% 'Project Number' | $T8 %]</th>
102
        <td>[% P.project.picker('order.globalproject_id', SELF.order.globalproject_id, class='wi-lightwide') %]</td>
103
      </tr>
104
    </tbody>
105
  </table>
106

  
107
  <table class="tbl-horizontal col">
108
    <caption>[% 'Terms' | $T8 %]</caption>
109
    <colgroup><col class="wi-mediumsmall"><col class="wi-lightwide"></colgroup>
110
    <tbody>
111
      <tr>
112
        <td colspan="2">
113
          <span class="label above">[% 'Payment Terms' | $T8 %]</span>
114
          [% L.select_tag('order.payment_id',
115
          SELF.all_payment_terms,
116
          default = SELF.order.payment_id,
117
          with_empty = 1,
118
          title_key = 'description',
119
          class = 'wi-mediumsmall-lightwide') %]
120
        </td>
121
      </tr>
122
      <tr>
123
        <td colspan="2">
124
          <span class="label above">[% 'Delivery Terms' | $T8 %]</span>
125
          [% L.select_tag('order.delivery_term_id',
126
          SELF.all_delivery_terms,
127
          default = SELF.order.delivery_term_id,
128
          with_empty = 1,
129
          title_key = 'description',
130
          style = 'width: 250px') %]
131
        </td>
132
      </tr>
133
    </tbody>
134
  </table>
135

  
136
</div><!-- /.col -->
137

  
138
<table class="tbl-horizontal col">
139
  <caption>[% 'Notes' | $T8 %]</caption>
140
  <colgroup><col class="wi-wide"></colgroup>
141
  <tbody>
142
    <tr>
143
      <td class="wi-wide">
144
        [% L.textarea_tag('order.notes', SELF.order.notes, wrap="soft", rows=7, class="texteditor wi-wide") %]
145
      </td>
146
    </tr>
147
    <tr>
148
      <td>
149
        <span class="label above">[% 'Internal Notes' | $T8 %]</span>
150
        [% L.textarea_tag('order.intnotes', SELF.order.intnotes, wrap="soft", style="height: 150px", class="wi-wide") %]
151
      </td>
152
    </tr>
153
  </tbody>
154
</table>
155

  
156
<table class="tbl-horizontal col">
157
  <caption>[% 'Handling, Numbers & Dates' | $T8 %]</caption>
158
  <colgroup> <col class="wi-mediumsmall"><col class="wi-lightwide"> </colgroup>
159
  <tbody>
160
    <tr>
161
      <td colspan="2" align="center" id="data-status-line">[% SELF.order.presenter.status_line %]</td>
162
    </tr>
163

  
164
    <tr>
165
      <th>[% 'Employee' | $T8 %]</th>
166
      <td>[% L.select_tag('order.employee_id',
167
        SELF.all_employees,
168
        default=(SELF.order.employee_id ? SELF.order.employee_id : SELF.current_employee_id),
169
        title_key='safe_name') %]</td>
170
    </tr>
171

  
172
    [% IF SELF.cv == 'customer' %]
173
    <tr>
174
      <th>[% 'Salesman' | $T8 %]</th>
175
      <td>[% L.select_tag('order.salesman_id',
176
        SELF.all_salesmen,
177
        default=(SELF.order.salesman_id ? SELF.order.salesman_id : SELF.current_employee_id),
178
        title_key='safe_name') %]</td>
179
    </tr>
180
    [% END %]
181

  
182
    <tr>
183
      <th>[% 'Delivery Order Number' | $T8 %]</th>
184
      <td>[% L.input_tag('order.donumber', SELF.order.donumber, onchange='kivi.DeliveryOrder.set_number_in_title(this)', class='wi-small numeric') %]</td>
185
    </tr>
186

  
187
    <tr>
188
      <th>[% 'Order Number' | $T8 %]</th>
189
      <td>[% L.input_tag('order.ordnumber', SELF.order.ordnumber, class='wi-small') %]</td>
190
    </tr>
191

  
192
    <tr>
193
      <th>[% IF SELF.type_data.properties('is_customer') %][% 'Customer Order Number' | $T8 %][% ELSE %][% 'Vendor Order Number' | $T8 %][% END %]</th>
194
      <td>[% L.input_tag('order.cusordnumber', SELF.order.cusordnumber, class='wi-small numeric') %]</td>
195
    </tr>
196

  
197
    <tr>
198
      <th>[% 'Delivery Order Date' | $T8 %]</th>
199
      <td>[% L.date_tag('order.transdate_as_date', SELF.order.transdate_as_date, class='wi-date') %]</td>
200
    </tr>
201

  
202
    <tr>
203
      <th>[% 'Reqdate' | $T8 %]</th>
204
      <td>[% L.date_tag('order.reqdate_as_date', SELF.order.reqdate_as_date, class="wi-date" _ reqdate_class) %]</td>
205
    </tr>
206

  
207
    <tr>
208
      <th>[% 'Insert Date' | $T8 %]</th>
209
      <td><span class="data wi-small">[% SELF.order.itime_as_date %]</span></td>
210
    </tr>
211
  </tbody>
212
</table>
213

  
214
</div><!-- /.wrapper -->
215

  
216
[%- PROCESS delivery_order/tabs/_item_input.html SELF=SELF %]
217

  
218

  
219
[%- IF SELF.positions_scrollbar_height -%]
220
  [%- SET scroll_style = 'style="overflow-y: auto; height:' _ SELF.positions_scrollbar_height _ 'vh;"' -%]
221
[%- ELSE -%]
222
  [%- SET scroll_style = '' -%]
223
[%- END -%]
224
<div id="row_table_scroll_id" class="wrapper horizontal-scroll-wrapper" [%- scroll_style -%]>
225

  
226
<table id="row_table_id" class="tbl-list">
227
  <caption>[% 'Articles' | $T8 %]</caption>
228
  <thead>
229
    <tr>
230
      <th class="center" style='text-align:center' nowrap width="1">
231
        [%- IF MYCONFIG.show_form_details %]
232
          [%- L.img_tag(src="image/collapse.svg", alt=LxERP.t8('Hide all details'), title=LxERP.t8('Hide all details'), id='expand_all', "data-expanded"="1") %]
233
        [%- ELSE %]
234
          [%- L.img_tag(src="image/expand.svg", alt=LxERP.t8('Show all details'), title=LxERP.t8('Show all details'), id='expand_all') %]
235
        [%- END %]
236
      </th>
237
      <th nowrap width="3">[%- 'position' | $T8 %] </th>
238
      <th style='text-align:center'><img src="image/updown.png" alt="[%- LxERP.t8('reorder item') %]"></th>
239
      <th style='text-align:center'><img src="image/close.png" alt="[%- LxERP.t8('delete item') %]"></th>
240
      [%- IF SELF.show_update_button -%]
241
      <th class="listheading" style='text-align:center' nowrap width="1">
242
        [%- L.img_tag(src="image/rotate_cw.svg",
243
                      alt=LxERP.t8('Update from master data'),
244
                      title= LxERP.t8('Update from master data'),
245
                      onclick="if (!confirm('" _ LxERP.t8("Are you sure to update all positions from master data?") _ "')) return false; kivi.DeliveryOrder.update_all_rows_from_master_data();",
246
                      id='update_from_master',
247
                      class='expand',
248
                      ) %]
249
      </th>
250
      [%- END %]
251
      <th id="partnumber_header_id"><a href='#' onClick='javascript:kivi.DeliveryOrder.reorder_items("partnumber")'> [%- 'Partnumber'  | $T8 %]</a></th>
252
      [%- IF SELF.search_cvpartnumber -%]
253
      <th id="cvpartnumber_header_id"><a href='#' onClick='javascript:kivi.DeliveryOrder.reorder_items("cvpartnumber")' > [%- SELF.cv == "customer" ? LxERP.t8('Customer Part Number') : LxERP.t8('Model') %]</a></th>
254
      [%- END -%]
255
      <th id="partclass_header_id">[%- 'Type'  | $T8 %]</th>
256
      <th id="description_header_id"><a href='#' onClick='javascript:kivi.DeliveryOrder.reorder_items("description")'>[%- 'Description' | $T8 %]</a></th>
257
      [%- IF (SELF.type == "sales_order" || SELF.type == "purchase_order") -%]
258
      <th id="shipped_qty_header_id"><a href='#' onClick='javascript:kivi.DeliveryOrder.reorder_items("shipped_qty")'>[%- 'Delivered'   | $T8 %]</a></th>
259
      [%- END -%]
260
      <th id="qty_header_id"><a href='#' onClick='javascript:kivi.DeliveryOrder.reorder_items("qty")'>        [%- 'Qty'         | $T8 %]</a></th>
261
      <th>[%- 'Unit'         | $T8 %] </th>
262
      [% IF in_out == 'in' %]
263
      <th>[%- 'Transfer To Stock' | $T8 %] </th>
264
      [% END %]
265
      [% IF in_out == 'out' %]
266
      <th>[%- 'Release From Stock' | $T8 %] </th>
267
      [% END %]
268
    </tr>
269
  </thead>
270

  
271
  [%- FOREACH item = SELF.order.items_sorted %]
272
    [%- PROCESS delivery_order/tabs/_row.html ITEM=item ID=(item.id||item.new_fake_id)  -%]
273
  [%- END %]
274

  
275
  <tfoot>
276
  </tfoot>
277
</table>
278

  
279
</div><!-- /#row_table_scroll_id /.wrapper -->
280

  
281
[% L.hidden_tag('order.taxzone_id', SELF.order.taxzone_id) %]
282

  
283
</div><!-- /#ui-tabs-basic-data -->
284

  
285
[% L.sortable_element('#row_table_id') %]

Auch abrufbar als: Unified diff