LevelOS-Core/UI/Dashboards/Cadastros/NotasItensDetalhaPanel.cs

98 lines
3.9 KiB
C#

using System;
using System.Drawing;
using System.Windows.Forms;
using MLL;
using UI;
namespace UI
{
public partial class NotasItensDetalhaPanel : FormularioModelo
{
private ModeloNotasItensDetalha _detalhe = new ModeloNotasItensDetalha();
private Panel pnlVeiculo, pnlMedicamento, pnlArma;
public NotasItensDetalhaPanel()
{
this.Titulo = "Detalhamento Específico do Item";
this.Size = new Size(800, 550);
MontarInterface();
}
private void MontarInterface()
{
// Seleção de Tipo (Define qual painel mostrar)
Label lblTipo = new Label { Text = "Tipo de Detalhamento:", Location = new Point(20, 25), AutoSize = true };
ComboBox cbTipo = new ComboBox
{
Location = new Point(150, 20),
Size = new Size(200, 30),
DropDownStyle = ComboBoxStyle.DropDownList
};
cbTipo.Items.AddRange(new string[] { "NENHUM", "VEÍCULO", "MEDICAMENTO", "ARMAMENTO" });
cbTipo.SelectedIndexChanged += (s, e) => AlternarPaineis(cbTipo.Text);
content.Controls.Add(lblTipo);
content.Controls.Add(cbTipo);
CriarPainelVeiculo();
CriarPainelMedicamento();
CriarPainelArmamento();
}
private void CriarPainelVeiculo()
{
pnlVeiculo = new Panel { Location = new Point(10, 60), Size = new Size(760, 400), Visible = false };
AddInput(pnlVeiculo, "CHASSI", 10, 10, 250, 30);
AddInput(pnlVeiculo, "ANO FAB.", 270, 10, 100, 30);
AddInput(pnlVeiculo, "ANO MOD.", 380, 10, 100, 30);
AddInput(pnlVeiculo, "POTÊNCIA", 10, 60, 100, 30);
AddInput(pnlVeiculo, "CILINDRADAS", 120, 60, 120, 30);
AddInput(pnlVeiculo, "COR (DENATRAN)", 250, 60, 200, 30);
content.Controls.Add(pnlVeiculo);
}
private void CriarPainelMedicamento()
{
pnlMedicamento = new Panel { Location = new Point(10, 60), Size = new Size(760, 400), Visible = false };
AddInput(pnlMedicamento, "Nº LOTE", 10, 10, 200, 30);
AddInput(pnlMedicamento, "QTD LOTE", 220, 10, 100, 30);
AddInput(pnlMedicamento, "FABRICAÇÃO", 10, 60, 150, 30);
AddInput(pnlMedicamento, "VALIDADE", 170, 60, 150, 30);
AddInput(pnlMedicamento, "PREÇO MÁX. CONS. (VPMC)", 330, 60, 150, 30);
content.Controls.Add(pnlMedicamento);
}
private void CriarPainelArmamento()
{
pnlArma = new Panel { Location = new Point(10, 60), Size = new Size(760, 400), Visible = false };
AddInput(pnlArma, "TIPO ARMA", 10, 10, 150, 30); // 0=Permitido, 1=Restrito
AddInput(pnlArma, "SÉRIE ARMA", 170, 10, 200, 30);
AddInput(pnlArma, "Nº CANO", 10, 60, 150, 30);
var txtDesc = AddInput(pnlArma, "DESCRIÇÃO", 10, 110, 400, 60);
txtDesc.Multiline = true;
content.Controls.Add(pnlArma);
}
private void AlternarPaineis(string tipo)
{
pnlVeiculo.Visible = (tipo == "VEÍCULO");
pnlMedicamento.Visible = (tipo == "MEDICAMENTO");
pnlArma.Visible = (tipo == "ARMAMENTO");
}
// --- MÉTODOS DE AÇÃO ---
protected override void OnSalvar()
{
// Aqui os dados seriam validados conforme o tipo escolhido
MessageBox.Show("Detalhamento do item vinculado com sucesso!");
}
protected override void OnNovo() { /* Resetar campos */ }
protected override void OnAlterar() { /* Habilitar campos */ }
protected override void OnExcluir() { /* Limpar detalhe */ }
protected override void OnLocalizar() { /* Buscar histórico */ }
protected override void OnCancelar() { }
}
}