Revision a85900cb
Von Hans Peter Schlaepfer vor etwa 6 Jahren hinzugefügt
templates/webpages/part/_basic_data.html | ||
---|---|---|
3 | 3 |
[%- USE LxERP %] |
4 | 4 |
[%- USE L %] |
5 | 5 |
[%- USE P %] |
6 |
<table width="100%" id="basic_data_table"> |
|
6 |
|
|
7 |
|
|
8 |
<div id="basic_data_table"> |
|
9 |
|
|
10 |
|
|
11 |
[%- IF SELF.part.image && INSTANCE_CONF.get_parts_show_image %] |
|
12 |
<div class="image"> |
|
13 |
<a href="[% SELF.part.image | html %]" target="_blank"> |
|
14 |
<img style="[% INSTANCE_CONF.get_parts_image_css %]" src="[% SELF.part.image | html %]"/> |
|
15 |
</a> |
|
16 |
</div> |
|
17 |
[%- END %] |
|
18 |
|
|
19 |
<div class="cols"> |
|
20 |
|
|
21 |
|
|
22 |
<table id="ic3" class="tbl-horizontal col"> |
|
23 |
<caption>[% 'Basic Article Data' | $T8 %]</caption> |
|
24 |
<tbody> |
|
25 |
<tr> |
|
26 |
<th> [% 'Part Number' | $T8 %] </th> |
|
27 |
<td> [% L.input_tag("part.partnumber", SELF.part.partnumber, size=40, class="initial_focus wi-small") %] </td> |
|
28 |
</tr> |
|
29 |
<tr> |
|
30 |
<th> [% 'Part Classification' | $T8 %] </th> |
|
31 |
<td> [% P.select_classification('part.classification_id', default => SELF.part.classification_id, type => SELF.parts_classification_filter, class="wi-wide" ) %] </td> |
|
32 |
</tr> |
|
33 |
<tr> |
|
34 |
<th> [% 'Part Description' | $T8 %] </th> |
|
35 |
<td> |
|
36 |
[%- IF description_area %] <textarea name="description" rows="[% HTML.escape(rows) %]" cols="40" class="wi-normal">[% HTML.escape(description) %]</textarea> |
|
37 |
[%- ELSE %] [% L.input_tag("part.description", SELF.part.description, class="wi-wide") %] [%- END %] |
|
38 |
</td> |
|
39 |
</tr> |
|
40 |
<tr> |
|
41 |
<th> [% 'EAN-Code' | $T8 %]</th> |
|
42 |
<td> [% L.input_tag("part.ean", SELF.part.ean, class="wi-wide") %]</td> |
|
43 |
</tr> |
|
44 |
[%- IF SELF.all_partsgroups.size %] |
|
45 |
<tr> |
|
46 |
<th> [% 'Partsgroup' | $T8 %] </th> |
|
47 |
<td> |
|
48 |
[%- L.select_tag('part.partsgroup_id', SELF.all_partsgroups, default=SELF.part.partsgroup_id, title_key='partsgroup', value_key='id', with_empty=1, class="wi-wide") %] |
|
49 |
</td> |
|
50 |
</tr> |
|
51 |
[% END %] |
|
52 |
[%- IF SELF.all_buchungsgruppen.size %] |
|
53 |
<tr> |
|
54 |
<th> [% 'Booking group' | $T8 %]</th> |
|
55 |
<td> [%- L.select_tag('part.buchungsgruppen_id', SELF.all_buchungsgruppen, default=SELF.part.buchungsgruppen_id, title_key='description', value_key='id', with_empty=0, class="wi-wide") %] </td> |
|
56 |
</tr> |
|
57 |
[%- END %] |
|
58 |
[%- IF SELF.all_payment_terms.size %] |
|
59 |
<tr> |
|
60 |
<th> [% 'Payment Terms' | $T8 %]</th> |
|
61 |
<td> [%- L.select_tag('part.payment_id', SELF.all_payment_terms, default=SELF.part.payment_id, title_key='description', value_key='id', with_empty=1, class="wi-wide") %] </td> |
|
62 |
</tr> |
|
63 |
[% END %] [%- IF SELF.part.id %] |
|
64 |
<tr> |
|
65 |
<th> <label for="part.obsolete">[% 'Obsolete' | $T8 %]</label> </th> |
|
66 |
<td> [% L.checkbox_tag('part.obsolete', checked = SELF.part.obsolete, for_submit=1) %] </td> |
|
67 |
</tr> |
|
68 |
[%- END %] |
|
69 |
<tr> |
|
70 |
<th> <label for="part.shop">[% 'Shop article' | $T8 %]</label> </th> |
|
71 |
<td> [% L.checkbox_tag('part.shop', checked = SELF.part.shop, for_submit=1) %] </td> |
|
72 |
</tr> |
|
7 | 73 |
<tr> |
8 |
<td> |
|
9 |
<table width="100%" id="ic1"> |
|
10 |
<tr valign="top"> |
|
11 |
<td> |
|
12 |
[%- IF SELF.part.image && INSTANCE_CONF.get_parts_show_image %] |
|
13 |
<a href="[% SELF.part.image | html %]" target="_blank"><img style="[% INSTANCE_CONF.get_parts_image_css %]" src="[% SELF.part.image | html %]"/></a> |
|
14 |
[%- END %] |
|
15 |
|
|
16 |
<table id="ic2"> |
|
17 |
<tr> |
|
18 |
<td colspan="2"> |
|
19 |
<table id="ic3"> |
|
20 |
<tr> |
|
21 |
<th align="right">[% 'Part Number' | $T8 %]</th> |
|
22 |
<td>[% L.input_tag("part.partnumber", SELF.part.partnumber, size=40, class="initial_focus") %]</td> |
|
23 |
</tr> |
|
24 |
<tr> |
|
25 |
<th align="right">[% 'Part Classification' | $T8 %]</th> |
|
26 |
<td>[% P.select_classification('part.classification_id', default => SELF.part.classification_id, type => SELF.parts_classification_filter ) %]</td> |
|
27 |
</tr> |
|
28 |
<tr> |
|
29 |
<th align="right">[% 'Part Description' | $T8 %]</th> |
|
30 |
<td> |
|
31 |
[%- IF description_area %] |
|
32 |
<textarea name="description" rows="[% HTML.escape(rows) %]" cols="40" wrap="soft">[% HTML.escape(description) %]</textarea> |
|
33 |
[%- ELSE %] |
|
34 |
[% L.input_tag("part.description", SELF.part.description, size=40) %]</td> |
|
35 |
[%- END %] |
|
36 |
</td> |
|
37 |
</tr> |
|
38 |
<tr> |
|
39 |
<th align="right">[% 'EAN-Code' | $T8 %]</th> |
|
40 |
<td>[% L.input_tag("part.ean", SELF.part.ean, size=40) %]</td> |
|
41 |
</tr> |
|
42 |
<tr> |
|
43 |
[%- IF SELF.all_partsgroups.size %] |
|
44 |
<th align="right">[% 'Partsgroup' | $T8 %]</th> |
|
45 |
<td>[%- L.select_tag('part.partsgroup_id', SELF.all_partsgroups, default=SELF.part.partsgroup_id, title_key='partsgroup', value_key='id', with_empty=1 style='width: 200px') %]</td> |
|
46 |
[% END %] |
|
47 |
</tr> |
|
48 |
[%- IF SELF.all_buchungsgruppen.size %] |
|
49 |
<tr> |
|
50 |
<th align="right">[% 'Booking group' | $T8 %]</th> |
|
51 |
<td>[%- L.select_tag('part.buchungsgruppen_id', SELF.all_buchungsgruppen, default=SELF.part.buchungsgruppen_id, title_key='description', value_key='id', with_empty=0 style='width: 200px') %]</td> |
|
52 |
</tr> |
|
53 |
[%- END %] |
|
54 |
[%- IF SELF.all_payment_terms.size %] |
|
55 |
<tr> |
|
56 |
<th align="right">[% 'Payment Terms' | $T8 %]</th> |
|
57 |
<td> |
|
58 |
[%- L.select_tag('part.payment_id', SELF.all_payment_terms, default=SELF.part.payment_id, title_key='description', value_key='id', with_empty=1 style='width: 200px') %]</td> |
|
59 |
</tr> |
|
60 |
[% END %] |
|
61 |
</table> |
|
62 |
</td> |
|
63 |
</tr> |
|
64 |
|
|
65 |
<tr height="5"></tr> |
|
66 |
|
|
67 |
<tr> |
|
68 |
<td> |
|
69 |
<table id="ic4"> |
|
70 |
<tr> |
|
71 |
<th align="left">[% 'Part Notes' | $T8 %]</th> |
|
72 |
<th align="left">[% 'Formula' | $T8 %]</th> |
|
73 |
</tr> |
|
74 |
<tr valign="top"> |
|
75 |
<td> |
|
76 |
[% L.textarea_tag("part.notes", P.restricted_html(SELF.part.notes), class="texteditor", style="width: 600px; height: 200px") %] |
|
77 |
</td> |
|
78 |
<td> |
|
79 |
<textarea id="part.formel" name="part.formel" rows="[% HTML.escape(notes_rows) %]" cols="30" wrap="soft" class="tooltipster-html" title="[% 'The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>' | $T8 %]">[% HTML.escape(SELF.part.formel) %]</textarea> |
|
80 |
</td> |
|
81 |
</tr> |
|
82 |
</table> |
|
83 |
</td> |
|
84 |
</tr> |
|
85 |
</table> |
|
86 |
</td> |
|
87 |
|
|
88 |
<td> |
|
89 |
<table id="ic5"> |
|
90 |
<tr> |
|
91 |
<th align="right" nowrap="true">[% 'Updated' | $T8 %]</th> |
|
92 |
<td> |
|
93 |
[% SELF.part.priceupdate.to_kivitendo | html %] |
|
94 |
</td> |
|
95 |
</tr> |
|
96 |
|
|
97 |
<tr> |
|
98 |
<th align="right" nowrap="true">[% 'List Price' | $T8 %]</th> |
|
99 |
<td>[% L.input_tag("part.listprice_as_number", SELF.part.listprice_as_number, size=11 class='reformat_number numeric') %]</td> |
|
100 |
</tr> |
|
101 |
|
|
102 |
<tr > |
|
103 |
<th align="right" nowrap="true">[% 'Sell Price' | $T8 %]</th> |
|
104 |
<td>[% L.input_tag("part.sellprice_as_number", SELF.part.sellprice_as_number, size=11, class='reformat_number numeric') %] [% IF (SELF.part.is_assortment or SELF.part.is_assembly) %] (<span id="items_sellprice_sum_basic">[% LxERP.format_amount(SELF.part.items_sellprice_sum, 2) %]</span>) [% END %]</td> |
|
105 |
</tr> |
|
106 |
|
|
107 |
[%- UNLESS SELF.part.is_assembly %] |
|
108 |
<tr> |
|
109 |
<th align="right" nowrap="true">[% 'Last Cost' | $T8 %]</th> |
|
110 |
<td>[% L.input_tag("part.lastcost_as_number", SELF.part.lastcost_as_number, size=11 class='reformat_number numeric') %] |
|
111 |
[% IF SELF.part.is_assortment %] (<span id="items_lastcost_sum_basic">[% LxERP.format_amount(SELF.part.items_lastcost_sum, 2) %]</span>) [% END %]</td> |
|
112 |
</tr> |
|
113 |
[%- END %] |
|
114 |
|
|
115 |
[%- IF SELF.all_price_factors.size %] |
|
116 |
<tr> |
|
117 |
<th align="right">[% 'Price Factor' | $T8 %]</th> |
|
118 |
<td> |
|
119 |
[%- L.select_tag('part.price_factor_id', SELF.all_price_factors, default=SELF.part.price_factor_id, title_key='description', value_key='id', with_empty=1) %]</td> |
|
120 |
</td> |
|
121 |
</tr> |
|
122 |
[%- END %] |
|
123 |
|
|
124 |
<tr> |
|
125 |
<th align="right" nowrap="true">[% 'Unit' | $T8 %]</th> |
|
126 |
<td> |
|
127 |
[%- IF !SELF.part.id or SELF.part.orphaned # same logic as unit_changable %] |
|
128 |
[%- L.select_tag('part.unit', SELF.all_units, default=SELF.part.unit, title_key='name', value_key='name') %]</td> |
|
129 |
[%- ELSE %] |
|
130 |
[% L.hidden_tag('part.unit', SELF.part.unit) %] [% HTML.escape(SELF.part.unit) %] |
|
131 |
[%- END %] |
|
132 |
</td> |
|
133 |
</tr> |
|
134 |
|
|
135 |
[%- UNLESS SELF.part.is_service %] |
|
136 |
<tr> |
|
137 |
<th align="right" nowrap="true">[% 'Weight' | $T8 %]</th> |
|
138 |
<td> |
|
139 |
[%- IF SELF.part.is_assembly %] |
|
140 |
[% LxERP.format_amount(SELF.part.weight) %] |
|
141 |
[% ELSE %] |
|
142 |
[% L.input_tag('part.weight_as_number', SELF.part.weight_as_number, size=10, class='reformat_number numeric') %] |
|
143 |
[% END %] |
|
144 |
[% HTML.escape(INSTANCE_CONF.get_weightunit) %] |
|
145 |
</td> |
|
146 |
</tr> |
|
147 |
<tr> |
|
148 |
<th align="right" nowrap>[% 'On Hand' | $T8 %]</th> |
|
149 |
<th align="left" nowrap>[% LxERP.format_amount(SELF.part.onhand) %] [% SELF.part.unit | html %]</th> |
|
150 |
</tr> |
|
151 |
<tr> |
|
152 |
<th align="right" nowrap="true">[% 'ROP' | $T8 %]</th> |
|
153 |
<td>[% L.input_tag("part.rop_as_number", SELF.part.rop_as_number, size=10, class="reformat_number numeric") %]</td> |
|
154 |
</tr> |
|
155 |
[% IF SELF.all_warehouses.size %] |
|
156 |
<tr> |
|
157 |
<th align="right" nowrap="true">[% 'Default Warehouse' | $T8 %]</th> |
|
158 |
<td>[% L.select_tag('part.warehouse_id', SELF.all_warehouses, default=SELF.part.warehouse.id, title_key='description', with_empty=>1) %] |
|
159 |
</td> |
|
160 |
</tr> |
|
161 |
[% END %] |
|
162 |
<tr> |
|
163 |
<th align="right" nowrap="true">[% 'Default Bin' | $T8 %]</th> |
|
164 |
<td> |
|
165 |
<span id='bin'> |
|
166 |
[% IF SELF.part.warehouse.id %] |
|
167 |
[% L.select_tag('part.bin_id', SELF.part.warehouse.bins, default=SELF.part.bin.id, title_key='description') %] |
|
168 |
[%- END %] |
|
169 |
</span> |
|
170 |
</td> |
|
171 |
</tr> |
|
172 |
[%- END %] |
|
173 |
<tr> |
|
174 |
<th align="right" nowrap="true">[% 'Verrechnungseinheit' | $T8 %]</th> |
|
175 |
<td>[% L.input_tag("part.ve", SELF.part.ve, size=10) %]</td> |
|
176 |
</tr> |
|
177 |
<tr> |
|
178 |
<th align="right" nowrap="true">[% 'Business Volume' | $T8 %]</th> |
|
179 |
<td>[% L.input_tag("part.gv_as_number", SELF.part.gv_as_number, size=10, class='reformat_number numeric') %]</td> |
|
180 |
</tr> |
|
181 |
<tr> |
|
182 |
<th align="right" nowrap><label for="not_discountable">[% 'Not Discountable' | $T8 %]</label></th> |
|
183 |
<td>[% L.checkbox_tag('part.not_discountable', checked = SELF.part.not_discountable, for_submit=1) %]</td> |
|
184 |
</tr> |
|
185 |
[%- IF SELF.part.id %] |
|
186 |
<tr> |
|
187 |
<th align="right" nowrap="true"><label for="obsolete">[% 'Obsolete' | $T8 %]</label></th> |
|
188 |
<td>[% L.checkbox_tag('part.obsolete', checked = SELF.part.obsolete, for_submit=1) %]</td> |
|
189 |
</tr> |
|
190 |
[%- END %] |
|
191 |
[%- UNLESS SELF.part.is_service %] |
|
192 |
<tr> |
|
193 |
<th align="right" nowrap><label for="has_sernumber">[% 'Has serial number' | $T8 %]</label></th> |
|
194 |
<td>[% L.checkbox_tag('part.has_sernumber', checked = SELF.part.has_sernumber, for_submit=1) %]</td> |
|
195 |
</tr> |
|
196 |
[%- END %] |
|
197 |
<tr> |
|
198 |
<th align="right" nowrap><label for="shop">[% 'Shop article' | $T8 %]</label></th> |
|
199 |
<td>[% L.checkbox_tag('part.shop', checked = SELF.part.shop, for_submit=1) %]</td> |
|
200 |
</tr> |
|
201 |
</table> |
|
202 |
</td> |
|
203 |
</tr> |
|
204 |
</table> |
|
205 |
</td> |
|
74 |
<th class="caption" colspan="2"> [% 'Part Notes' | $T8 %] </th> |
|
206 | 75 |
</tr> |
76 |
<tr> |
|
77 |
<td colspan="2"> [% L.textarea_tag("part.notes", P.restricted_html(SELF.part.notes), class="texteditor", style='width:24.0em; height:8.0em; padding:0.1em;') %] </td> |
|
78 |
</tr> |
|
79 |
</tbody> |
|
80 |
</table> |
|
207 | 81 |
|
208 | 82 |
|
83 |
<table id="ic5" class="tbl-horizontal col"> |
|
84 |
<caption>[% 'Prices' | $T8 %]</caption> |
|
85 |
<tbody> |
|
86 |
<tr> |
|
87 |
<th>[% 'Updated' | $T8 %]</th> |
|
88 |
<td>[% SELF.part.priceupdate.to_kivitendo | html %]</td> |
|
89 |
</tr> |
|
90 |
<tr> |
|
91 |
<th>[% 'List Price' | $T8 %]</th> |
|
92 |
<td>[% L.input_tag("part.listprice_as_number", SELF.part.listprice_as_number, size=11 class='reformat_number numeric wi-mediumsmall') %]</td> |
|
93 |
</tr> |
|
94 |
<tr> |
|
95 |
<th>[% 'Sell Price' | $T8 %]</th> |
|
96 |
<td> |
|
97 |
[% L.input_tag("part.sellprice_as_number", SELF.part.sellprice_as_number, size=11, class='reformat_number numeric wi-mediumsmall') %] |
|
98 |
[% IF (SELF.part.is_assortment or SELF.part.is_assembly) %] (<span id="items_sellprice_sum_basic">[% LxERP.format_amount(SELF.part.items_sellprice_sum, 2) %]</span>) [% END %] |
|
99 |
</td> |
|
100 |
</tr> |
|
101 |
[%- UNLESS SELF.part.is_assembly %] |
|
102 |
<tr> |
|
103 |
<th>[% 'Last Cost' | $T8 %]</th> |
|
104 |
<td> |
|
105 |
[% L.input_tag("part.lastcost_as_number", SELF.part.lastcost_as_number, size=11 class='reformat_number numeric wi-mediumsmall') %] |
|
106 |
[% IF SELF.part.is_assortment %] (<span id="items_lastcost_sum_basic">[% LxERP.format_amount(SELF.part.items_lastcost_sum, 2) %]</span>) [% END %] |
|
107 |
</td> |
|
108 |
</tr> |
|
109 |
[%- END %] |
|
110 |
[%- IF SELF.all_price_factors.size %] |
|
111 |
<tr> |
|
112 |
<th>[% 'Price Factor' | $T8 %]</th> |
|
113 |
<td> |
|
114 |
[%- L.select_tag('part.price_factor_id', SELF.all_price_factors, default=SELF.part.price_factor_id, title_key='description', value_key='id', with_empty=1, class='wi-mediumsmall') %] |
|
115 |
</td> |
|
116 |
</tr> |
|
117 |
[%- END %] |
|
118 |
<tr> |
|
119 |
<th>[% 'Unit' | $T8 %]</th> |
|
120 |
<td> |
|
121 |
[%- IF !SELF.part.id or SELF.part.orphaned # same logic as unit_changable %] |
|
122 |
[%- L.select_tag('part.unit', SELF.all_units, default=SELF.part.unit, title_key='name', value_key='name', class='wi-mediumsmall') %] |
|
123 |
[%- ELSE %] |
|
124 |
[% L.hidden_tag('part.unit', SELF.part.unit) %] [% HTML.escape(SELF.part.unit) %] |
|
125 |
[%- END %]</td> |
|
126 |
</tr> |
|
127 |
<tr> |
|
128 |
<th>[% 'Verrechnungseinheit' | $T8 %]</th> |
|
129 |
<td>[% L.input_tag("part.ve", SELF.part.ve, class='wi-mediumsmall') %]</td> |
|
130 |
</tr> |
|
131 |
<tr> |
|
132 |
<th><label for="part.not_discountable">[% 'Not Discountable' | $T8 %]</label></th> |
|
133 |
<td>[% L.checkbox_tag('part.not_discountable', checked = SELF.part.not_discountable, for_submit=1) %]</td> |
|
134 |
</tr> |
|
135 |
<tr> |
|
136 |
<th>[% 'Business Volume' | $T8 %]</th> |
|
137 |
<td>[% L.input_tag("part.gv_as_number", SELF.part.gv_as_number, size=10, class='reformat_number numeric wi-mediumsmall') %]</td> |
|
138 |
</tr> |
|
139 |
<tr> |
|
140 |
<th class="caption" colspan="2">[% 'Formula' | $T8 %]</th> |
|
141 |
</tr> |
|
209 | 142 |
<tr> |
210 |
<td> |
|
211 |
<table id="ic6"> |
|
212 |
<tr> |
|
213 |
<th align="right" nowrap>[% 'Image' | $T8 %]</th> |
|
214 |
<td>[% L.input_tag("part.image", SELF.part.image, size=40) %]</td> |
|
215 |
<th align="right" nowrap>[% 'Microfiche' | $T8 %]</th> |
|
216 |
<td>[% L.input_tag("part.microfiche", SELF.part.microfiche, size=20) %]</td> |
|
217 |
</tr> |
|
218 |
<tr> |
|
219 |
<th align="right" nowrap>[% 'Drawing' | $T8 %]</th> |
|
220 |
<td>[% L.input_tag("part.drawing", SELF.part.drawing, size=40) %]</td> |
|
221 |
</tr> |
|
222 |
</table> |
|
223 |
</td> |
|
143 |
<td colspan="2"> <textarea id="part.formel" name="part.formel" rows="[% HTML.escape(notes_rows) %]" cols="30" style="width:19.5em;" wrap="soft" class="tooltipster-html" title="[% 'The formula needs the following syntax:<br>For regular article:<br>Variablename= Variable Unit;<br>Variablename2= Variable2 Unit2;<br>...<br>###<br>Variable + ( Variable2 / Variable )<br><b>Please be beware of the spaces in the formula</b><br>' | $T8 %]">[% HTML.escape(SELF.part.formel) %]</textarea> |
|
144 |
</td> |
|
224 | 145 |
</tr> |
146 |
</tbody> |
|
147 |
</table> |
|
148 |
|
|
225 | 149 |
|
226 |
<div id="pricegroups"> |
|
150 |
<div id="pricegroups" class="col">
|
|
227 | 151 |
[% PROCESS 'part/_pricegroup_prices.html' %] |
228 | 152 |
</div> |
229 | 153 |
|
154 |
|
|
155 |
[%- UNLESS SELF.part.is_service %] |
|
156 |
<table class="tbl-horizontal col"> |
|
157 |
<caption>[% 'Warehouse' | $T8 %]</caption> |
|
158 |
<colgroup> |
|
159 |
<col class="wi-mediumsmall"> |
|
160 |
<col class="wi-lightwide"> |
|
161 |
</colgroup> |
|
162 |
<tbody> |
|
163 |
<tr> |
|
164 |
<th>[% 'Weight' | $T8 %]</th> |
|
165 |
<td> |
|
166 |
[%- IF SELF.part.is_assembly %] |
|
167 |
[% LxERP.format_amount(SELF.part.weight) %] |
|
168 |
[% ELSE %] |
|
169 |
[% L.input_tag('part.weight_as_number', SELF.part.weight_as_number, size=10, class='wi-small reformat_number numeric') %] |
|
170 |
[% END %] |
|
171 |
[% HTML.escape(INSTANCE_CONF.get_weightunit) %] |
|
172 |
</td> |
|
173 |
</tr> |
|
174 |
<tr> |
|
175 |
<th>[% 'On Hand' | $T8 %]</th> |
|
176 |
<td><span class="data wi-small numeric">[% LxERP.format_amount(SELF.part.onhand) %] [% SELF.part.unit | html %]</span></td> |
|
177 |
</tr> |
|
178 |
<tr> |
|
179 |
<th>[% 'ROP' | $T8 %]</th> |
|
180 |
<td>[% L.input_tag("part.rop_as_number", SELF.part.rop_as_number, size=10, class="wi-small reformat_number numeric") %]</td> |
|
181 |
</tr> |
|
182 |
[% IF SELF.all_warehouses.size %] |
|
183 |
<tr> |
|
184 |
<th>[% 'Default Warehouse' | $T8 %]</th> |
|
185 |
<td>[% L.select_tag('part.warehouse_id', SELF.all_warehouses, default=SELF.part.warehouse.id, title_key='description', with_empty=>1, class='wi-wide') %]</td> |
|
186 |
</tr> |
|
187 |
[% END %] |
|
188 |
<tr> |
|
189 |
<th>[% 'Default Bin' | $T8 %]</th> |
|
190 |
<td> |
|
191 |
<span id="bin"> [% IF SELF.part.warehouse.id %] |
|
192 |
[% L.select_tag('part.bin_id', SELF.part.warehouse.bins, default=SELF.part.bin.id, title_key='description',class="wi-wide") %] |
|
193 |
[%- END %] </span> |
|
194 |
</td> |
|
195 |
</tr> |
|
196 |
<tr> |
|
197 |
<th><label for="part.has_sernumber">[% 'Has serial no.' | $T8 %]</label></th> |
|
198 |
<td>[% L.checkbox_tag('part.has_sernumber', checked = SELF.part.has_sernumber, for_submit=1) %]</td> |
|
199 |
</tr> |
|
200 |
</tbody> |
|
201 |
</table> |
|
202 |
[%- END %] |
|
203 |
|
|
204 |
|
|
205 |
<table id="ic6" class="tbl-horizontal col"> |
|
206 |
<caption>[% 'Illustrations' | $T8 %]</caption> |
|
207 |
<colgroup> |
|
208 |
<col class="wi-mediumsmall"> |
|
209 |
<col class="wi-lightwide"> |
|
210 |
</colgroup> |
|
211 |
<tbody> |
|
212 |
<tr> |
|
213 |
<th>[% 'Image' | $T8 %]</th> |
|
214 |
<td>[% L.input_tag("part.image", SELF.part.image, class="wi-wide") %]</td> |
|
215 |
</tr> |
|
216 |
<tr> |
|
217 |
<th>[% 'Microfiche' | $T8 %]</th> |
|
218 |
<td>[% L.input_tag("part.microfiche", SELF.part.microfiche, class="wi-wide") %]</td> |
|
219 |
</tr> |
|
220 |
<tr> |
|
221 |
<th>[% 'Drawing' | $T8 %]</th> |
|
222 |
<td>[% L.input_tag("part.drawing", SELF.part.drawing, class="wi-wide") %]</td> |
|
223 |
</tr> |
|
224 |
</tbody> |
|
225 |
</table> |
|
226 |
|
|
227 |
</div><!-- /.cols --> |
|
228 |
|
|
229 |
|
|
230 | 230 |
[%- UNLESS SELF.part.is_assembly %] |
231 | 231 |
<div id="makemodel"> |
232 | 232 |
[% PROCESS 'part/_makemodel.html' %] |
233 | 233 |
</div> |
234 | 234 |
[% END %] |
235 | 235 |
|
236 |
<tr> |
|
237 |
<td><hr size="3" noshade></td> |
|
238 |
</tr> |
|
239 |
</table> |
|
236 |
</div> |
Auch abrufbar als: Unified diff
Preview design 4.0