Este widget permite integrar dinamicamente diferentes PartTemplates dentro de seu LayoutModel. Ele permite que você exiba um carrinho ou prateleira para representação gráfica em um fluxo de trabalho de picking.
Exemplo
Definindo o modelo da peça
<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>
Importação de modelo para modelo de layout
<WildcardWidget Name="CARTplace" PartTemplateName="CartInsertPick" Weight="0.4"/>
Utilização
O Wildcard pode ser trocado dinamicamente tanto para o PartTemplate quanto para o Conteúdo.
Dinamicamente:
<ui_update id="update_shelf">
<widget_params>
<ui_element name="SHELF">
No mapeamento:
<ui_element name="SHELF">
Para a troca de peças
Uma cadeia de retorno que corresponde ao nome do modelo da peça. Observe que no Q3, os gabaritos de peças são definidos globalmente.
Um modelo de peça só pode ser modificado por referência ao nome, nenhuma inserção de objeto está disponível.
<param name="PARTTEMPLATENAME"><![CDATA[?{pickOrder.groups[activeGroup].picks[0].destination.structure.split('.')[0]}?]]></param>
Para mudança de conteúdo
Objetos de retorno de objetos nomeados:
{
1.1: {CONTENT: 3, BACKGROUNDCOLOR: "blue", TEXTCOLOR: "red"}
1.2: {CONTENT: 2, BACKGROUNDCOLOR: "blue", TEXTCOLOR: "red"}
}
Aqui o nome alvo que corresponde ao nome definido no modelo de peça ex. "1.1" mudanças disponíveis são CONTEÚDO, BACKGROUNDCOLOR, e/ou TEXTCOLOR.
Exemplo
<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>
Atributos