Yii Framework Forum: Criação de Formulário com Itens - Yii Framework Forum

Jump to content

Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

Criação de Formulário com Itens Criar formulário estilo shoppingcart onde possa cadastrar itens Rate Topic: -----

#1 User is offline   Rafael Christófano 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 13-January 17

Posted 16 January 2017 - 04:09 PM

Boa noite Pessoa!!

Faz pouco tempo que estou estudando o Yii2 (já comecei pelo 2, nem fui apresentado ao 1 primeiro :D ).
Estou criando um sistema para uma oficina, onde possuo a Tabela de Clientes, Carros, Serviços e Peças.

Os cadastros de Clientes, Carros e Peças, criei diretamente pelo Gii, moleza.
O Cadastro de Serviço também criei pelo Gii, mas modifiquei algumas coisas par atender a minha necessidade e também está ok.
No Formulário de Serviços eu consigo buscar o carro e o clientes para cadastro do novo serviço( parto do principio que o cliente pode trocar de carro e levar um outro carro na oficina e também o carro pode ser levado a oficina por um outro cliente).
Bom mas até ai tudo bem, não tive maiores problemas.

Eu travei na parte onde preciso inserir, no Formulário de Serviço, as Peças que serão usadas para realização do serviço. O sistema se assemelha a um Carrinho de Compras, onde o usuário vai adicionando ao Serviço as peças que serão cadastradas.

Seria Assim

Serviço ID : 1
Cliente ID: 1 - Nome: João da Silva
Carro ID: 1 - Modelo: Saveiro - Placa: XXX-0000
"Até em cima blz"
Ai em baixo preciso ir adicionando as peças, tava pensando em usar uma grid ou uma modal em javascript e ir adicionando as peças do serviço:

Peça ID-----Descrição------Valor----Qtde------Valor total
----------------------------------------------------------
1-------------Vela-----------10------2---------20
5----------- Correia---------20------1---------20
----------------------------------------------------------
Total do Serviço 40

É isso galera, se alguém tiver alguma informação de como fazer ficarei extremamente agradecido..

Abraços

Rafael.
0

#2 User is offline   Jacques 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 18
  • Joined: 26-August 12

Posted 17 January 2017 - 06:24 AM

Olá Rafael,

Sim você pode usar um Grid View acessando o Model das peças dos serviços, e pode usar formulários com dialogs Modal para fazer o CRUD e usar o PJAX para atualizar o grid após a alteração.

Segue um link com um tutorial de como usar o PJAX: http://blog.neattuto...-pjax-tutorial/




View PostRafael Christófano, on 16 January 2017 - 04:09 PM, said:

Boa noite Pessoa!!

Faz pouco tempo que estou estudando o Yii2 (já comecei pelo 2, nem fui apresentado ao 1 primeiro :D ).
Estou criando um sistema para uma oficina, onde possuo a Tabela de Clientes, Carros, Serviços e Peças.

Os cadastros de Clientes, Carros e Peças, criei diretamente pelo Gii, moleza.
O Cadastro de Serviço também criei pelo Gii, mas modifiquei algumas coisas par atender a minha necessidade e também está ok.
No Formulário de Serviços eu consigo buscar o carro e o clientes para cadastro do novo serviço( parto do principio que o cliente pode trocar de carro e levar um outro carro na oficina e também o carro pode ser levado a oficina por um outro cliente).
Bom mas até ai tudo bem, não tive maiores problemas.

Eu travei na parte onde preciso inserir, no Formulário de Serviço, as Peças que serão usadas para realização do serviço. O sistema se assemelha a um Carrinho de Compras, onde o usuário vai adicionando ao Serviço as peças que serão cadastradas.

Seria Assim

Serviço ID : 1
Cliente ID: 1 - Nome: João da Silva
Carro ID: 1 - Modelo: Saveiro - Placa: XXX-0000
"Até em cima blz"
Ai em baixo preciso ir adicionando as peças, tava pensando em usar uma grid ou uma modal em javascript e ir adicionando as peças do serviço:

Peça ID-----Descrição------Valor----Qtde------Valor total
----------------------------------------------------------
1-------------Vela-----------10------2---------20
5----------- Correia---------20------1---------20
----------------------------------------------------------
Total do Serviço 40

É isso galera, se alguém tiver alguma informação de como fazer ficarei extremamente agradecido..

Abraços

Rafael.

0

#3 User is offline   Rafael Christófano 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 13-January 17

Posted 19 January 2017 - 04:19 PM

Fala Jaques!!!
Cara, muito Obrigado pela ajuda... O Pjax vai me ajudar muito..

A minha maior dificuldade está em usar a GridView. Não estou conseguido fazer o filtro para listar somente as peças cadastradas para o determinado serviço.

Tenho a tabela de servicos e o ID do serviço em $model->id e preciso fazer a comparação (where), com a Tabela de PeçasServiços, nessa tabela, tenho o atributo idServico.
Preciso comparar os dois e me retornar um dataProvider.

Já tentei de vairas formas:

searchModel->find()->where(['idServico' => 1])
->all();
$dataProvider = $searchModel->search(['idServico'=>1]);

$dataProvider = PecasServicosSearch::findBySql('SELECT * FROM servicos');

e todos dão o erro "Calling unknown method: yii\db\ActiveQuery::getCount()"

Se puder dar uma dica, ficarei muito agradecido
0

#4 User is offline   Rafael Christófano 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 13-January 17

Posted 20 January 2017 - 07:52 AM

Ok, problema resolvido...
Erros de iniciantes :rolleyes:

// na view ei instanciei o Model PecasServicosSearch();
$searchModel = new app\models\PecasServicosSearch();
//Depois chamei o search do model passado como paramentro o IdServico
$dataProvider = $searchModel->searchPecasServicos($model->idServicos);

A grande mudança foi ter criando o metodo no PecasServicosSearch chamado searchPecasServicos.
Esse metodo eu adicionei alterando o metodo search já existente gerado pelo GII.
Alterei apenas a linha:

$query = PecasServicos::find();
para
$query = PecasServicos::find()->where(['Servicos_idServicos'=>$params]);


Agora parece óbvio!

Espero que seja de ajuda para alguém que tenha o mesmo problema!
0

#5 User is offline   Rafael Christófano 

  • Newbie
  • Yii
  • Group: Members
  • Posts: 9
  • Joined: 13-January 17

Posted 20 January 2017 - 09:02 AM

Bom, agora me surgiu um outro problema!

Estou na View Serviços, exibindo o dados do serviço.
Na minha url está assim .../servicos/view&id=3
No navegado exibo os dados do serviço do ID 3

Logo abaixo eu exibo por um GridView as peças adicionadas a esse serviço, como cite no primeiro post do fórum:

Peça ID-----Descrição------Valor----Qtde------Valor total
----------------------------------------------------------
1-------------Vela-----------10------2---------20
5----------- Correia---------20------1---------20
----------------------------------------------------------

A gridView possui os botões de View/Update/Delete na ultima coluna da GrirdView..
Preciso que, o botão delete remova o item da minha tabela PecasServicos, mas como estou na View Servicos, ele está tentando remover da Tabela de Serviços passando via url o código do produto

Minha duvida é: Como faço para alterar o controller/Action que está sendo acionado pelo botão delete da GridView?
0

#6 User is offline   Cálcio 

  • Standard Member
  • PipPip
  • Yii
  • Group: Members
  • Posts: 222
  • Joined: 15-July 13
  • Location:Brasil - RJ

Posted 25 January 2017 - 07:02 AM

Não sei se isso vai te ajudar mt, mas vc pode configurar algumas coisas no ActionColumn.

[
                'class' => 'yii\grid\ActionColumn',
                'header' => 'Ações',
                'headerOptions' => ['class' => 'col-sm-1 text-center'],
                'template' => '{view} {update} {delete}',
                'contentOptions' => ['class' => 'text-center'],
                'buttons' => [
                    'delete' => function ($url, $model) {
                        return Html::a('<span class="glyphicon glyphicon-trash text-danger"></span>', $url, [
                            'title' => 'Deletar',
                            'data-confirm' => 'Deseja excluir o item: ' . $model->MACROPROCESSO . '?',
                            'data-method' => 'POST'
                        ]);
                    }
                ],
            ],


No meu caso só usei para mudar a msg de confirmação da exclusão, mas acredito q de para mudar a URL tb
Se minha resposta te ajudou, clique no link "Vote this post up".
If my answer help you, please check the "Vote this post up".

See my porfolio
0

Share this topic:


Page 1 of 1
  • You cannot start a new topic
  • You cannot reply to this topic

1 User(s) are reading this topic
0 members, 1 guests, 0 anonymous users