Dieses Widget ermöglicht es Ihnen, verschiedene PartTemplates dynamisch in Ihr LayoutModel zu integrieren. Es ermöglicht Ihnen die Anzeige eines Wagens oder Regals zur grafischen Darstellung in einem Kommissionier-Workflow.
Beispiel
Teilvorlage definieren
<PartTemplate Name="CartInsertPick">
<Panel Orientation="Vertical" Weight="1">
<Panel Border="2,gray.dark," Orientation="Horizontal" Weight="0.5">
<Text Name="1.1" Border="2,gray.dark," Gravity="Center" Weight="0.33" Margin="2,2,2,2"/>
<Text Name="1.2" Border="2,gray.dark," Gravity="Center" Weight="0.33" Margin="2,2,2,2"/>
<Text Name="1.3" Border="2,gray.dark," Gravity="Center" Weight="0.33" Margin="2,2,2,2"/>
</Panel>
</Panel>
</PartTemplate>
Vorlage in Layoutmodell importieren
<WildcardWidget Name="CARTplace" PartTemplateName="CartInsertPick" Weight="0.4"/>
Verwendung
Der Platzhalter kann sowohl für PartTemplate als auch für Content dynamisch geändert werden.
Dynamisch:
<ui_update id="update_shelf">
<widget_params>
<ui_element name="SHELF">
Bei der Kartierung:
<ui_element name="SHELF">
Für PartTemplate Change
Eine Rückgabezeichenfolge, die dem Namen der Teilvorlage entspricht. Beachten Sie, dass partTemplates in Q3 global definiert sind.
Eine Bauteilvorlage kann nur durch Verweis auf den Namen geändert werden, ein Einfügen von Objekten ist nicht möglich.
<param name="PARTTEMPLATENAME"><![CDATA[?{pickOrder.groups[activeGroup].picks[0].destination.structure.split('.')[0]}?]]></param>
Für Inhalt ändern
Rückgabe von Objekten benannter Objekte:
{
1.1: {CONTENT: 3, BACKGROUNDCOLOR: "blue", TEXTCOLOR: "red"}
1.2: {CONTENT: 2, BACKGROUNDCOLOR: "blue", TEXTCOLOR: "red"}
}
Hier Zielname, der mit dem in der Teilvorlage definierten Namen übereinstimmt, z. B. "1.1" Verfügbare Änderungen sind CONTENT, BACKGROUNDCOLOR und/oder TEXTCOLOR.
Beispiel
<param name="TEMPLATE_CONTENT">
<![CDATA[?{
var result = {};
pickOrder.groups[activeGroup].picks.forEach((pick) => {
var amount = 0;
var shelfBox = pick.destination.structure.split('.').slice(2,4).join('.');
if (result[shelfBox]) {
amount = result[shelfBox].CONTENT
}
if (pick.attributes.place) {
result[shelfBox] = {
CONTENT:amount + pick.amountOpen,
TEXTCOLOR:"blue",
BACKGROUNDCOLOR:"black",
}
} else {
result[shelfBox] = {
CONTENT:amount + pick.amountOpen,
BACKGROUNDCOLOR:"blue",
TEXTCOLOR:"red",
}
}
});
result
}?]]>
</param>
Attribute