Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- @using NetCorpDto.Comercial.Orcamento
- @using NetCorpEntity.Cadastros
- @using NetCorpErpWeb.Areas.Comercial.Models
- @using NetCorpErpWeb.Models.BuscaGenerica
- @model NetCorpErpWeb.Areas.Comercial.Models.FiltroFeedbackOrcamentoViewModel
- @{
- Layout = ViewBag.MasterPage;
- }
- <style>
- .panel-heading {
- padding-left: 4px !important;
- padding-top: 0px !important;
- padding-bottom: 3px !important;
- max-height: 20px !important;
- }
- .panel {
- margin-top: 4px !important;
- }
- .k-window-action
- {
- visibility: hidden ;
- }
- </style>
- @using (Html.BeginNetCorpForm())
- {
- <h2 class="ra-well-title">@ViewBag.Title</h2>
- @Html.HiddenFor(x => x.TipoFiltro)
- @Html.HiddenFor(x => x.Guid)
- <div class="col-md-12">
- <div class="col-md-12">
- <div class="panel panel-info">
- <div class="panel-heading">@Html.Label(Language.Filtro, new {@class = "control-label", id = "labelPanel"})</div>
- <div class="panel-body">
- <div class="form-group col-sm-2 col-md-2" >
- <div class="checkbox-group" style="padding: 0">
- @Html.Kendo().RadioButton().Label("NºOT").HtmlAttributes(new { @name = "filtroOrcamento", onclick = "TipoDeFiltro();" }).Value(0).Name("NumeroOt")
- @Html.Kendo().RadioButton().Label(Language.Representante).HtmlAttributes(new { @name = "filtroOrcamento", onclick = "TipoDeFiltro();" }).Value(1).Name("Representante")
- </div>
- <div class="form-group col-sm-12 col-md-12">
- <div id="idTextBox">
- @Html.TextBoxFor(m => m.NumeroOt, new { @class = "form-control k-widget k-textbox" })
- </div>
- <div id="idComboBox">
- @(Html.Kendo().DropDownListFor(m => m.IdRepresentante).HtmlAttributes(new { @class = "form-control" })
- .OptionLabel(Language.Todos).BindTo((IEnumerable<SelectListItem>)ViewBag.Representante))
- </div>
- </div>
- </div>
- <div class="form-group col-sm-1 col-md-1">
- @Html.LabelFor(m => m.DataInicial, new {@class = "control-label" })
- @Html.Kendo().DatePickerFor(m => m.DataInicial).HtmlAttributes(new { @class = "form-control" })
- </div>
- <div class="form-group col-sm-1 col-md-1">
- @Html.LabelFor(m => m.DataFinal, new {@class = "control-label"})
- @Html.Kendo().DatePickerFor(m => m.DataFinal).HtmlAttributes(new {@class = "form-control"})
- </div>
- <div class="form-group col-sm-2 col-md-2">
- @Html.LabelFor(x => x.IdResponsavelOrcamento, new {@class = "control-label"})
- @(Html.Kendo().DropDownListFor(m => m.IdResponsavelOrcamento).HtmlAttributes(new {@class = "form-control"})
- .OptionLabel(Language.Todos).BindTo((IEnumerable<SelectListItem>) ViewBag.Responsavel))
- </div>
- <div class="form-group col-md-4" id="divBuscaCliente">
- @Html.LabelFor(x => x.IdCliente, new {@class = "control-label"})
- <div class="input-group busca-group">
- @(Html.BuscaGenericaFor(x => x.IdCliente, Model.Guid + "-Cliente")
- .ModalTitle("Cliente")
- .OnChange("BuscaCodigo")
- .OnCarregouBusca("onCarregouBuscaCliente")
- .ConfigurarBusca(NetCorpBuscaGenerica.Configuracao<ClienteFornecedorProspect, BuscaGenericaClienteFornecedorProspect>
- ("Codigo", "NomeFantasia", null)))
- </div>
- </div>
- <div class="form-group col-md-3">
- @Html.LabelFor(m => m.Produto, new { @class = "control-label" })
- @Html.TextBoxFor(m => m.Produto, new { @class = "form-control k-widget k-textbox" })
- </div>
- <div class="form-group col-md-3">
- @Html.LabelFor(x => x.IdStatusOrcamento, new { @class = "control-label" })
- @(Html.Kendo().DropDownListFor(m => m.IdStatusOrcamento).HtmlAttributes(new { @class = "form-control" })
- .Filter("startswith")
- .OptionLabel(Language.Selecione)
- .BindTo((IEnumerable<SelectListItem>)ViewBag.Status))
- @Html.ValidationMessageFor(m => m.IdStatusOrcamento)
- </div>
- <div class="form-group col-md-1">
- @(Html.Kendo().Button()
- .Name("btnFiltrar")
- .Events(e => e.Click("onClickFiltrar"))
- .HtmlAttributes(new { type = "button", @class = "k-primary" })
- .Content(Language.Filtrar))
- </div>
- </div>
- </div>
- </div>
- <div class="col-md-12">
- <div class="panel panel-info">
- <div class="panel-body">
- @(Html.Kendo().Grid<NetCorpErpWeb.Areas.Comercial.Models.PropostaSimplesViewModel>()
- .Name("GridPropostas")
- .ToolBar(tools => tools.Excel())
- .Excel(excel => excel
- .FileName("feedback_orçamentos.xlsx")
- .Filterable(true)
- .AllPages(true)
- .ProxyURL(Url.Action("Excel_Export_Save", "Util"))
- )
- .Columns(columns =>
- {
- columns.Bound(p => p.IdProposta).Visible(false);
- columns.Bound(p => p.NumeroOT);
- columns.Bound(p => p.DataProposta).Format("{0:dd/MM/yyyy}");
- columns.Bound(p => p.ClienteProspect);
- columns.Bound(p => p.Status);
- columns.Bound(p => p.Representante);
- columns.Bound(p => p.Responsavel);
- columns.Bound(p => p.Retorno).Format("{0:dd/MM/yyyy}");
- columns.Command(c => c.Custom("Aprovar").Click("onAprovarClick").Text(" "));
- })
- .Editable(editable => editable.Mode(GridEditMode.InLine))
- .Pageable().Sortable().Scrollable()
- .ClientDetailTemplateId("template")
- .HtmlAttributes(new { style = "height:430px;" })
- .DataSource(dataSource => dataSource
- .Ajax()
- .Model(model => model.Id(p => p.IdProposta))
- .Read(read => read.Action("WW3027_PropostaDetalhe_Read", "FeedbackOrcamento").Data("WW3027_PropostaDetalhe_aditionalData"))
- ).Events(evt =>
- {
- evt.DataBound("WW3027_Grid_DataBound");
- })
- )
- </div>
- </div>
- </div>
- </div>
- <div style="display: none" id="modalFeedback">
- @Html.Hidden("IdProposta")
- <div class="col-md-6">
- @Html.Label(Language.NumeroOT, new {@class = "control-label"})
- @(Html.Kendo().TextBox().Name("NumeroOT").HtmlAttributes(new {@class = "form-control"}).Enable(false))
- </div>
- <div class="col-md-6">
- @Html.Label(Language.Cliente, new {@class = "control-label"})
- @(Html.Kendo().TextBox().Name("ClienteFornecedor").HtmlAttributes(new {@class = "form-control", @style = "width : 200px"}).Enable(false))
- </div>
- <div class="col-md-6">
- @Html.Label(Language.Status, new {@class = "control-label"})
- @(Html.Kendo().DropDownList().Name("Status").HtmlAttributes(new {@class = "form-control"})
- .OptionLabel(Language.Selecione).BindTo((IEnumerable<SelectListItem>) ViewBag.Status).Events(evt => evt.Change("onStatusChange")))
- </div>
- <div class="col-md-6" id="comboConcorrente">
- @Html.Label(Language.Concorrente, new {@class = "control-label"})
- @(Html.Kendo().DropDownList().Name("Concorrente").HtmlAttributes(new {@class = "form-control"})
- .OptionLabel(Language.Selecione).BindTo((IEnumerable<SelectListItem>) ViewBag.Concorrente))
- </div>
- <div class="col-md-6" id="dtpPrazoRetorno">
- @Html.Label(Language.PrazoRetorno, new {@class = "control-label"})
- @(Html.Kendo().DatePicker().Name("PrazoRetorno").HtmlAttributes(new {@class = "form-control"}))
- </div>
- <div class="col-md-11">
- @Html.Label(Language.Observacao, new {@class = "control-label"})
- @(Html.TextArea("Observacao", new {@class = "form-control", @rows = "8"}))
- </div>
- <div class="col-md-6" style="float: right; margin-top: 5px">
- <div class="form-group col-md-9">
- @(Html.Kendo().Button()
- .Name("CancelarFeedback")
- .Events(e => e.Click("onCancelarAprovacao"))
- .HtmlAttributes(new {type = "button", @style = "float: right"})
- .Content(Language.Cancelar))
- </div>
- <div class="form-group col-md-3" style="float: right">
- @(Html.Kendo().Button()
- .Name("ConfirmarFeedback")
- .Events(e => e.Click("onConfirmarAprovacao"))
- .HtmlAttributes(new {type = "button", @class = "k-primary", @style = "float: right"})
- .Content("Ok"))
- </div>
- </div>
- </div>
- }
- <script id="template" type="text/kendo-tmpl">
- @(Html.Kendo().Grid<ItemPesquisaOrcamentoDto>()
- .Name("grid_#=IdProposta#")
- .Columns(columns =>
- {
- columns.Bound(c => c.Item).Width("50px");
- columns.Bound(c => c.TipoProduto);
- columns.Bound(c => c.Modelo).Width("350px");
- columns.Bound(c => c.Quantidade).HtmlAttributes(new { @style = "text-align:right" }).Width("50px");
- columns.Bound(c => c.ValorAereo).HtmlAttributes(new { @style = "text-align:right" }).Width("100px");
- columns.Bound(c => c.PrazoAereo);
- columns.Bound(c => c.ValorMaritimo).HtmlAttributes(new { @style = "text-align:right" }).Width("100px");
- columns.Bound(c => c.PrazoMaritimo);
- columns.Bound(c => c.Imediato);
- })
- .DataSource(dataSource => dataSource
- .Ajax()
- .Read(read => read.Action("BuscarItens", "PesquisaOrcamento", new { idOrcamento = "#=IdProposta#" }))
- )
- .Sortable()
- .ToClientTemplate()
- )
- </script>
- <script>
- function WW3027_Grid_DataBound() {
- var grid = $('#GridPropostas').data('kendoGrid');
- if (grid.dataSource.transport.options.read.url != "") {
- for (var i = 0; i < grid.columns.length; i++) {
- grid.autoFitColumn(grid.columns[i].field);
- }
- }
- $(".k-grid-Aprovar span").removeClass();
- $(".k-grid-Aprovar span").addClass("k-sprite glyphicon glyphicon-pencil");
- $(".k-grid-Aprovar").css("min-width", "0px");
- }
- function WW3027_PropostaDetalhe_aditionalData() {
- return {
- numeroOt: $("#NumeroOt").val(),
- idRepresentante: $("#IdRepresentante").data("kendoDropDownList").value(),
- filtroOrcamento: $('input[name="filtroOrcamento"]:checked').val() == 0,
- dataEmissaoInicial: $("#DataInicial").val(),
- dataEmissaoFinal: $("#DataFinal").val(),
- idResponsavelOrcamento: $("#IdResponsavelOrcamento").val(),
- idCliente: $("#IdCliente").val(),
- produto: $("#Produto").val(),
- idStatusOrcamento: $("#IdStatusOrcamento").data("kendoDropDownList").value(),
- }
- }
- function TipoDeFiltro() {
- var valor = $('input[name="filtroOrcamento"]:checked').val();
- $("#TipoFiltro").val(valor);
- if (valor == 0) {
- $("#idComboBox").hide();
- $("#idTextBox").show();
- } else {
- $("#idComboBox").show();
- $("#idTextBox").hide();
- }
- }
- function onStatusChange() {
- var status = $("#Status").data("kendoDropDownList").value();
- if (status == 7) {
- $("#dtpPrazoRetorno").show();
- $("#comboConcorrente").hide();
- } else {
- $("#dtpPrazoRetorno").hide();
- $("#comboConcorrente").show();
- }
- }
- function onCancelarAprovacao() {
- $("#modalFeedback").data("kendoWindow").close();
- }
- function onConfirmarAprovacao() {
- var prazoRetorno = $("#PrazoRetorno").data("kendoDatePicker").value();
- var dataPrazoRetorno = convertStringDate(prazoRetorno);
- if (confirm("Deseja realmente atribuir este feedback?")) {
- $.get("@Url.Action("AtribuirFeedback", "FeedbackOrcamento")",
- {
- idProposta: $("#IdProposta").val(),
- idStatus: $("#Status").data("kendoDropDownList").value(),
- idConcorrente: $("#Concorrente").data("kendoDropDownList").value(),
- prazoRetorno: dataPrazoRetorno,
- observacao: $("#Observacao").val()
- })
- .success(function(result) {
- $("#modalFeedback").data("kendoWindow").close();
- alert("Feedback atribuído com sucesso.");
- onClickFiltrar();
- }).error(function(error, msg) {
- alert("Não foi possível atribuir este feedback."); //" devido ao seguinte erro:\n" + error);
- });
- }
- }
- function convertStringDate(str) {
- var date = new Date(str),
- mnth = ("0" + (date.getMonth() + 1)).slice(-2),
- day = ("0" + date.getDate()).slice(-2);
- return [day, mnth, date.getFullYear()].join("-");
- }
- function onAprovarClick(e) {
- e.preventDefault();
- var dataItem = this.dataItem($(e.currentTarget).closest("tr"));
- $("#IdProposta").val(dataItem.IdProposta);
- $("#NumeroOT").val(dataItem.NumeroOT);
- $("#ClienteFornecedor").val(dataItem.ClienteFornecedor);
- $("#Status").data("kendoDropDownList").value(dataItem.IdStatus);
- $("#Observacao").val("");
- modalCreateInView('modalFeedback', 'Atribuir Feedback', 315, 600);
- }
- function onClickFiltrar() {
- $('#GridPropostas').data('kendoGrid').dataSource.read();
- $('#GridPropostas').data('kendoGrid').refresh();
- }
- $(function() {
- $("#NumeroOt_0").prop("checked", true);
- $("#idComboBox").hide();
- $("#dtpPrazoRetorno").hide();
- $("#comboConcorrente").hide();
- });
- </script>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement