✏️ 正在编辑: GrupoComissao.php
路径:
/srv/systems_dir/yuppiecred/application/forms/GrupoComissao.php
提示:
您可以编辑任何文件(包括二进制文件),但请注意不当修改可能导致文件损坏。
<?php class Form_GrupoComissao extends Core_Form { public function init() { $this->setName('f_save_grupo'); $this->addElement('hidden', 'id', array( 'class' => 'invisivel' )); $this->addElement('text', 'descricao', array( 'label' => 'Nome:', 'size' => 35, 'required' => true )); if (Yuppie_Auth::getIdentity()->grupo != 'Indicador') { $this->addElement('select', 'calcular_incidencia_comissao_grupo', [ 'label' => 'Permitir calcular sobre comissão empresa:', 'multiOptions' => [ '0' => 'Não', '1' => 'Sim' ], 'description' => 'Para comissões por Grupo e Individual' ]); } else { $this->addElement('hidden', 'calcular_incidencia_comissao_grupo', [ 'class' => 'invisivel', 'value' => 1 ]); } $this->addSelect('incidir_sobre', 'Incidir Sobre:', [ 0 => 'Valor do Contrato', 1 => 'Comissão Empresa', 2 => 'Comissão Indicador' ], true); $this->getElement('incidir_sobre')->setAttrib('style', 'width: 150px'); $this->addElement('text', 'percentual_comissionamento', [ 'label' => '% Comissionamento:', 'onkeypress' => 'mascara(this, mvalor)', 'size' => 10 ]); $this->addElement('text', 'comissionamento_bonus', [ 'label' => '% Bônus:', 'onkeypress' => 'mascara(this, mvalor)', 'size' => 10 ]); $this->addElement('text', 'comissionamento_adiantamento', [ 'label' => '% Adiantamento:', 'onkeypress' => 'mascara(this, mvalor)', 'size' => 10 ]); $this->addElement('text', 'comissionamento_diferimento', [ 'label' => '% Diferimento:', 'onkeypress' => 'mascara(this, mvalor)', 'size' => 10 ]); if (Yuppie_Auth::getIdentity()->grupo != 'Indicador') { $this->addElement('text', 'comissao_supervisor', [ 'label' => '% Supervisor:', 'onkeypress' => 'mascara(this, mvalor)', 'size' => 10 ]); $this->addSelect('incidencia_comissao_supervisor', 'Incidir Sobre:', [ 0 => 'Valor do Contrato', 1 => 'Comissão Empresa', 2 => 'Comissão Corretor', ], true); $indicadores = Core_Combos::getIndicadoresOptions(); $select = new Zend_Form_Element_Select('indicador_id'); $select->setLabel('Indicador:') ->addMultiOptions($indicadores) ->setAttrib('style', "width: 100%;"); $this->addElement($select); $this->addElement('text', 'comissao_indicador', [ 'label' => '% Indicador:', 'onkeypress' => 'mascara(this, mvalor)', 'size' => 10 ]); $this->addSelect('incidencia_comissao_indicador', 'Incidir Sobre:', [ 0 => 'Valor do Contrato', 1 => 'Comissão Empresa', ], true); $this->getElement('incidencia_comissao_indicador')->setAttrib('style', 'width: 150px'); } $this->addDisplayGroup([ Yuppie_Auth::getIdentity()->grupo != 'Indicador' ? 'incidir_sobre' : '', 'percentual_comissionamento', 'comissionamento_bonus', 'comissionamento_adiantamento', 'comissionamento_diferimento' ], 'gr_comissao_corretor', ['legend' => 'Comissão Corretor']); if (Yuppie_Auth::getIdentity()->grupo != 'Indicador') { $this->addDisplayGroup([ 'incidencia_comissao_supervisor', 'comissao_supervisor', ], 'gr_comissao_supervisor', ['legend' => 'Comissão Supervisor']); $this->addDisplayGroup([ 'incidencia_comissao_indicador', 'comissao_indicador' ], 'gr_comissao_indicador', ['legend' => 'Comissão Indicador']); } $this->addElement('button', 'btn_back', array( 'label' => 'Voltar', 'class' => 'bt_back', 'onclick' => "window.location='" . $this->getView()->baseUrl() . "/grupo-comissao'" )); $this->addElement('submit', 'btn_save', array( 'label' => 'Salvar', 'class' => 'bt_save' )); $this->addElement('button', 'btn_new', array( 'label' => 'Novo Cadastro', 'class' => 'bt_new', 'onclick' => "window.location='" . $this->getView()->baseUrl() . "/grupo-comissao/save'" )); $this->addDisplayGroup(array( 'btn_back', 'btn_save', 'btn_new' ), 'buttons'); if (Yuppie_Auth::getIdentity()->grupo == 'Indicador') { $this->addElement('hidden', 'indicador_id', [ 'class' => 'invisivel', 'value' => Yuppie_Auth::getIdentity()->id ]); $this->addElement('hidden', 'incidir_sobre', [ 'class' => 'invisivel', 'value' => 2 ]); } } public function populate(array $values) { $values['comissao_supervisor'] = number_format($values['comissao_supervisor'], 2, ',', '.'); $values['percentual_comissionamento'] = number_format($values['percentual_comissionamento'], 2, ',', '.'); $values['comissionamento_bonus'] = number_format($values['comissionamento_bonus'], 2, ',', '.'); $values['comissionamento_adiantamento'] = number_format($values['comissionamento_adiantamento'], 2, ',', '.'); $values['comissionamento_diferimento'] = number_format($values['comissionamento_diferimento'], 2, ',', '.'); return parent::populate($values); } public function isValid($data) { $valid = parent::isValid($data); $indicador = (new Model_Corretor())->exibir($data['indicador_id']); if ($indicador) { $grupoComissao = (new Model_GrupoComissao())->exibir($indicador->grupo_comissao); if (!empty($indicador) && empty($grupoComissao)) { $this->getElement('indicador_id')->addError('Grupo de comissão não definido para o indicador selecionado.'); $valid = false; } } if (empty($data['indicador_id']) && $data['incidir_sobre'] == 2) { $this->getElement('incidir_sobre')->addError('Informar incidencia diferente de "Comissão indicador".'); $valid = false; } if ($data['indicador_id'] > 0 && $data['incidir_sobre'] != 2) { $this->getElement('incidir_sobre')->addError('Informar incidencia "Comissão indicador".'); $valid = false; } return $valid; } }
💾 保存文件
← 返回文件管理器