Пример #1
1
 function __construct()
 {
     parent::__construct();
     //cria os containers
     $this->form_requisicao = new TForm('form_requisicao');
     $this->form_requisicao->class = 'tform';
     $this->form_itens = new TForm('form_itens');
     $this->form_itens->class = 'tform';
     $table_requisicao = new TTable();
     $table_requisicao->width = '100%';
     $table_itens = new TTable();
     $table_itens->width = '100%';
     //empacota os dados
     $this->form_requisicao->add($table_requisicao);
     $this->form_itens->add($table_itens);
     //campos da requisicao;
     $numeroSRP = new TSeekButton('numeroSRP');
     $nome = new TEntry('nome');
     $numeroProcessoOrigem = new TEntry('numeroProcessoOrigem');
     $uasg = new TEntry('uasg');
     $validadeAta = new TEntry('validade');
     $numeroProcesso = new TEntry('numeroProcesso');
     $emissao = new TDate('emissao');
     //campos do itens
     $numeroItem = new TSeekButton('numeroItem');
     $item_id = new THidden('item_id');
     $descricaoSumaria = new TEntry('descricaoSumaria');
     $valorUnitario = new TEntry('valorUnitario');
     $quantidade = new TEntry('quantidade');
     $prazoEntrega = new TEntry('prazoEntrega');
     $justificativa = new TEntry('justificativa');
     $addItem = new TButton('addItem');
     $save = new TButton('save');
     $new = new TButton('new');
     $list = new TButton('list');
     //ações dos campos
     $numeroSRP->setAction(new TAction(array(new SrpSeekRequisicao(), 'onReload')));
     $numeroProcesso->setExitAction(new TAction(array($this, 'onExitNumeroProcesso')));
     $emissao->setExitAction(new TAction(array($this, 'onExitEmissao')));
     $numeroItem->setAction(new TAction(array(new ItemSeekRequisicao(), 'onReload')));
     $addItem->setAction(new TAction(array($this, 'onAddItem')), 'Adicionar');
     $addItem->setImage('fa:plus-square-o');
     $save->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $save->setImage('ico_save.png');
     $new->setAction(new TAction(array($this, 'onEdit')), 'Novo');
     $new->setImage('ico_new.png');
     $list->setAction(new TAction(array('RequisicaoList', 'onReload')), 'Voltar para listagem');
     $list->setImage('ico_datagrid.png');
     //$onProductChange = new TAction(array($this, 'onProductChange'));
     //$item_id->setExitAction($onProductChange);
     $quantidade->setExitAction(new TAction(array($this, 'onValidaQuantidade')));
     //validadores
     $numeroSRP->addValidation('Nº SRP', new TRequiredValidator());
     $emissao->addValidation('Emissão', new TRequiredValidator());
     $numeroItem->addValidation('Item', new TRequiredValidator());
     $valorUnitario->addValidation('Preço', new TRequiredValidator());
     $quantidade->addValidation('Quantidade', new TRequiredValidator());
     $quantidade->addValidation('Quantidade', new TMinValueValidator(), array(1));
     $quantidade->addValidation('Quantidade', new TMaxLengthValidator(), array(11));
     $justificativa->addValidation('Justificativa', new TRequiredValidator());
     $justificativa->addValidation('Justificativa', new TMaxLengthValidator(), array(100));
     $prazoEntrega->addValidation('Prazo de entrega', new TRequiredValidator());
     $prazoEntrega->addValidation('Prazo de entrega', new TMaxLengthValidator(), array(20));
     $numeroProcesso->addValidation('Nº Processo', new TRequiredValidator());
     $numeroProcesso->addValidation('Nº Processo', new TMaxLengthValidator(), array(30));
     //outras propriedades
     $descricaoSumaria->setEditable(false);
     $nome->setEditable(false);
     $numeroProcessoOrigem->setEditable(false);
     $uasg->setEditable(false);
     $validadeAta->setEditable(false);
     $valorUnitario->setEditable(false);
     $numeroSRP->setSize(80);
     $numeroSRP->setMaxLength(10);
     $emissao->setProperty('style', 'margin-right: 0px;', false);
     $nome->setSize(300);
     $nome->setProperty('style', 'margin-right: 10px', false);
     $numeroProcessoOrigem->setSize(160);
     $uasg->setSize(70);
     $validadeAta->setSize(85);
     $numeroProcesso->setMaxLength(30);
     $numeroProcesso->setTip('Número do processo gerado no SIGA');
     $numeroItem->setSize(60);
     $numeroItem->setMaxLength(11);
     $descricaoSumaria->setSize(490);
     $descricaoSumaria->setProperty('style', 'margin-right: 10px', false);
     $prazoEntrega->setSize(90);
     $justificativa->setSize(400);
     $justificativa->setMaxLength(100);
     $emissao->setSize(90);
     $emissao->setMask('dd/mm/yyyy');
     $emissao->setValue(date('d/m/Y'));
     $validadeAta->setMask('dd/mm/yyyy');
     $quantidade->class = 'frm_number_only';
     $quantidade->setMaxLength(11);
     $prazoEntrega->setValue('60 Dias');
     $prazoEntrega->setMaxLength(20);
     //$addItem->setProperty('style', 'margin: 0 0 10px 10px;', false);
     $row = $table_requisicao->addRow();
     $row->class = 'tformtitle';
     // CSS class
     $cell = $row->addCell(new TLabel('Requisição de quantitativo'));
     $cell->colspan = 4;
     $row = $table_requisicao->addRow();
     $row->addCell(new TLabel('Nº SRP:'))->width = '150px';
     $row->addCell($numeroSRP);
     $row->addCell(new TLabel('Nome Licitação:'))->width = '150px';
     $row->addCell($nome);
     $table_requisicao->addRowSet(new TLabel('Proc. Orig:'), $numeroProcessoOrigem, new TLabel('UASG:'), $uasg);
     $table_requisicao->addRowSet(new TLabel('Validade da Ata:'), $validadeAta, new TLabel('Nº Processo:'), $numeroProcesso);
     $table_requisicao->addRowSet(new TLabel('Data Emissão:'), $emissao);
     $row = $table_itens->addRow();
     $row->class = 'tformtitle';
     // CSS class
     $cell = $row->addCell(new TLabel('Itens'));
     $cell->colspan = 4;
     $row = $table_itens->addRow();
     $row->addCell(new TLabel('Item:'));
     $box = new THBox();
     $box->add($numeroItem);
     $box->add($descricaoSumaria)->style = 'width : 75%;display:inline-block;';
     $row->addCell($box);
     //->style = 'width : 85%';
     $table_itens->addRowSet($item_id);
     $table_itens->addRowSet(new TLabel('Preço:'), $valorUnitario);
     $table_itens->addRowSet(new TLabel('Quantidade:'), $quantidade);
     $table_itens->addRowSet(new TLabel('Prazo de entrega:'), $prazoEntrega);
     $table_itens->addRowSet(new TLabel('Justificativa:'), $justificativa);
     $row = $table_itens->addRow();
     $row->class = 'tformaction';
     $row->addCell($addItem)->colspan = 2;
     //$table_itens->addRowSet($addItem);
     parent::include_css('app/resources/custom-table.css');
     $this->datagrid = new TDataGrid();
     $this->datagrid->style = 'width: 100%';
     $this->datagrid->class = 'tdatagrid_table customized-table';
     $this->datagrid->setHeight(175);
     $this->datagrid->makeScrollable();
     $this->datagrid->disableDefaultClick();
     $GnumeroItem = new TDataGridColumn('numeroItem', 'Item', 'center', 50);
     $GdescricaoSumaria = new TDataGridColumn('descricaoSumaria', 'Descrição', 'left', 230);
     $Gquantidade = new TDataGridColumn('quantidade', 'Quantidade', 'right', 110);
     $GvalorUnitario = new TDataGridColumn('valorUnitario', 'Preço', 'right', 110);
     $Gtotal = new TDataGridColumn('total', 'Total', 'right', 160);
     //transformers
     $GvalorUnitario->setTransformer(array($this, 'formatValor'));
     $Gtotal->setTransformer(array($this, 'formatValor'));
     $edit = new TDataGridAction(array($this, 'onEditItem'));
     $edit->setLabel('Editar');
     $edit->setImage('ico_edit.png');
     $edit->setField('numeroItem');
     $delete = new TDataGridAction(array($this, 'onDeleteItem'));
     $delete->setLabel('Deletar');
     $delete->setImage('ico_delete.png');
     $delete->setField('numeroItem');
     $this->datagrid->addAction($edit);
     $this->datagrid->addAction($delete);
     $this->datagrid->addColumn($GnumeroItem);
     $this->datagrid->addColumn($GdescricaoSumaria);
     $this->datagrid->addColumn($Gquantidade);
     $this->datagrid->addColumn($GvalorUnitario);
     $this->datagrid->addColumn($Gtotal);
     $this->datagrid->createModel();
     $this->form_requisicao->setFields(array($numeroSRP, $nome, $numeroProcessoOrigem, $uasg, $validadeAta, $numeroProcesso, $emissao, $new, $save, $list));
     $this->form_itens->setFields(array($item_id, $numeroItem, $descricaoSumaria, $valorUnitario, $quantidade, $prazoEntrega, $justificativa, $addItem));
     $hbox = new THBox();
     $hbox->add($save);
     $hbox->add($new);
     $hbox->add($list);
     $table_grid = new TTable();
     $table_grid->style = 'width: 100%;border-spacing: 0px;';
     $table_grid->addRowSet($this->datagrid);
     $row = $table_grid->addRow();
     $row->class = 'tformaction';
     // CSS class
     $row->addCell($hbox)->colspan = 2;
     $vbox = new TVBox();
     $vbox->add($this->form_requisicao);
     $vbox->add($this->form_itens);
     $vbox->add($table_grid);
     $vbox->add(new TLabel(' '));
     parent::add($vbox);
 }
Пример #2
0
 /**
  * Shows the widget
  */
 public function show()
 {
     $tag = new TEntry($this->name);
     $tag->setEditable(FALSE);
     $tag->setProperty('id', $this->name);
     $tag->setSize(40);
     $tag->setProperty('onchange', "aux = document.getElementsByName('{$this->text_name}'); aux[0].value = this.value;");
     $tag->show();
     // define the tag properties
     $this->tag->name = $this->text_name;
     $this->tag->onchange = "aux_entry = document.getElementById('{$this->name}'); aux_entry.value = this.value;";
     $this->setProperty('style', "width:{$this->size}px", FALSE);
     //aggregate style info
     $this->tag->auxiliar = 1;
     // creates an empty <option> tag
     $option = new TElement('option');
     $option->add('');
     $option->value = '0';
     // valor da TAG
     // add the option tag to the combo
     $this->tag->add($option);
     if ($this->items) {
         // iterate the combobox items
         foreach ($this->items as $chave => $item) {
             // creates an <option> tag
             $option = new TElement('option');
             $option->value = $chave;
             // define the index
             $option->add($item);
             // add the item label
             // verify if this option is selected
             if ($chave == $this->value) {
                 // mark as selected
                 $option->selected = 1;
             }
             // add the option to the combo
             $this->tag->add($option);
         }
     }
     // verify whether the widget is editable
     if (!parent::getEditable()) {
         // make the widget read-only
         $this->tag->readonly = "1";
         $this->tag->{'class'} = 'tfield_disabled';
         // CSS
     }
     // shows the combobox
     $this->tag->show();
 }
Пример #3
0
 /**
  * Class constructor
  * Creates the page and the registration form
  */
 function __construct()
 {
     parent::__construct();
     // Cria o form
     $this->form = new TForm('form_Usuario');
     $this->form->class = 'tform';
     // creates the table container
     $table = new TTable();
     $table->style = 'width: 100%';
     $table->addRowSet(new TLabel('Usuário'), '', '', '')->class = 'tformtitle';
     // adiciona a tabela no form
     $this->form->add($table);
     $frame_grupos = new TFrame(NULL, 280);
     $frame_grupos->setLegend('Grupos');
     $frame_grupos->style .= ';margin: 4px';
     $frame_funcionalidades = new TFrame(NULL, 280);
     $frame_funcionalidades->setLegend('Funcionalidades');
     $frame_funcionalidades->style .= ';margin: 15px';
     // cria os campos de pesquisa do form
     $id = new TEntry('id');
     $nome = new TEntry('nome');
     $prontuario = new TEntry('prontuario');
     $password = new TPassword('senha');
     $repassword = new TPassword('resenha');
     $email = new TEntry('email');
     $multifield_funcionalidades = new TMultiField('funcionalidades');
     $funcionalidade_id = new TDBSeekButton('funcionalidade_id', 'saciq', 'form_Usuario', 'Funcionalidade', 'nome', 'funcionalidades_id', 'funcionalidades_nome');
     $funcionalidade_nome = new TEntry('funcionalidade_nome');
     $grupos = new TDBCheckGroup('grupos', 'saciq', 'Grupo', 'id', 'nome');
     //$frontpage_id        = new TDBSeekButton('frontpage_id', 'saciq', 'form_Usuario', 'Funcionalidade', 'nome', 'frontpage_id', 'frontpage_nome');
     //$frontpage_nome      = new TEntry('frontpage_nome');
     $scroll = new TScroll();
     $scroll->setSize(290, 230);
     $scroll->add($grupos);
     $frame_grupos->add($scroll);
     $frame_funcionalidades->add($multifield_funcionalidades);
     // define the sizes
     $id->setSize(100);
     $nome->setSize(350);
     $prontuario->setSize(150);
     $password->setSize(150);
     $repassword->setSize(150);
     $email->setSize(250);
     $multifield_funcionalidades->setHeight(140);
     // outros
     $id->setEditable(false);
     $funcionalidade_nome->setEditable(false);
     $email->setProperty('autocomplete', 'off');
     // validations
     $nome->addValidation('Nome', new TRequiredValidator());
     $prontuario->addValidation('Prontuário', new TRequiredValidator());
     $email->addValidation('Email', new TEmailValidator());
     $nome->addValidation('Nome', new TMaxLengthValidator(), array(60));
     $prontuario->addValidation('Prontuário', new TMaxLengthValidator(), array(60));
     $email->addValidation('Email', new TMaxLengthValidator(), array(60));
     $funcionalidade_id->setSize(50);
     $funcionalidade_nome->setSize(200);
     // configuracoes multifield
     $multifield_funcionalidades->setClass('Funcionalidade');
     $multifield_funcionalidades->addField('id', 'ID', $funcionalidade_id, 60, true);
     $multifield_funcionalidades->addField('nome', 'Nome', $funcionalidade_nome, 250);
     $multifield_funcionalidades->setOrientation('horizontal');
     // add a row for the field id
     $table->addRowSet(new TLabel('ID:'), $id, new TLabel('Nome: '), $nome);
     $table->addRowSet(new TLabel('Prontuário: '), $prontuario, new TLabel('Email: '), $email);
     $table->addRowSet(new TLabel('Senha: '), $password, new TLabel('Confirmação <br>da senha: '), $repassword);
     $row = $table->addRow();
     $cell = $row->addCell($frame_grupos);
     $cell->colspan = 2;
     $cell = $row->addCell($frame_funcionalidades);
     $cell->colspan = 2;
     // create an action button (save)
     $save_button = new TButton('save');
     $save_button->setAction(new TAction(array($this, 'onSave')), 'Salvar');
     $save_button->setImage('ico_save.png');
     // create an new button (edit with no parameters)
     $new_button = new TButton('new');
     $new_button->setAction(new TAction(array($this, 'onEdit')), 'Novo');
     $new_button->setImage('ico_new.png');
     $list_button = new TButton('list');
     $list_button->setAction(new TAction(array('UsuarioList', 'onReload')), 'Voltar para a listagem');
     $list_button->setImage('ico_datagrid.png');
     // define the form fields
     $this->form->setFields(array($id, $nome, $prontuario, $password, $repassword, $multifield_funcionalidades, $grupos, $email, $save_button, $new_button, $list_button));
     $buttons = new THBox();
     $buttons->add($save_button);
     $buttons->add($new_button);
     $buttons->add($list_button);
     $row = $table->addRow();
     $row->class = 'tformaction';
     $cell = $row->addCell($buttons);
     $cell->colspan = 4;
     $container = new TTable();
     //$container->style = 'width: 80%';
     $container->addRow()->addCell(new TXMLBreadCrumb('menu.xml', 'UsuarioList'));
     $container->addRow()->addCell($this->form);
     // add the form to the page
     parent::add($container);
 }