Cambios en Dashboard Opcion 4

This commit is contained in:
Luis Carlos Quijada
2025-06-07 13:21:09 -06:00
parent d1a4825f0b
commit 96a15382d0
7 changed files with 1290 additions and 911 deletions

View File

@@ -310,18 +310,16 @@
cursor: pointer;
}
/* Alinear celda y contenido a la derecha */
.celda-derecha {
text-align: right !important;
}
.txt-merma {
/* Ancho reducido al 50% */
margin-left: 30px !important; /* Mueve el TextBox a la derecha dentro de la celda */
display: block !important; /* Permite que margin-left:auto funcione */
/* Alinea el texto interno a la derecha */
}
.celda-derecha {
text-align: right !important;
}
.txt-merma {
/* Ancho reducido al 50% */
margin-left: 30px !important; /* Mueve el TextBox a la derecha dentro de la celda */
display: block !important; /* Permite que margin-left:auto funcione */
/* Alinea el texto interno a la derecha */
}
</style>
</asp:Content>
@@ -364,16 +362,16 @@
<div class="col-md-3">
<div class="form-group">
<label>Fecha</label>
<div class="input-group input-sm input-small date date-picker" style="height: 30px;" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="Txtfecha" runat="server"
CssClass="form-control"
style="margin-top: -6px;"
Style="margin-top: -6px;"
Width="100%"
CausesValidation="true"
MaxLength="10"></asp:TextBox>
<span class="input-group-btn">
<asp:LinkButton ID="imgCalendarioF" class="btn default " style="margin-top: -11px; height: 29px;" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
<asp:LinkButton ID="imgCalendarioF" class="btn default " Style="margin-top: -11px; height: 29px;" Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="Txtfecha" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
@@ -428,7 +426,7 @@
ControlToValidate="TxtDescripcion"
ErrorMessage="Descripción requerida"
Display="None"
CssClass="text-danger"
CssClass="text-danger"
ValidationGroup="GrpGuardar" />
<label for="<%= TxtDescripcion.ClientID.ToString()%>">Descripcion</label>
</div>
@@ -437,7 +435,7 @@
</div>
</div>
</div>
<div class="col-md-3">
<div class="portlet light xspadding bordered">
<div class="portlet-title">
@@ -471,13 +469,13 @@
<div class="portlet-body">
<div class="row">
<div id="PanelProducto" runat="server">
<asp:label ID="LblProducto" class="col-md-1" runat="server" style="max-width: 70px;" Text="Producto"></asp:label>
<div class="col-md-3">
<ADS:Dropdownlost ID="DdlPS" runat="server" Width="100%" CssStyle="width: 100%;"
CssClass="select2me"
CssClassDdl="form-control" DataTextField="PSCodigo"
DataValueField="CvePS" Enabled="false" />
</div>
<asp:Label ID="LblProducto" class="col-md-1" runat="server" Style="max-width: 70px;" Text="Producto"></asp:Label>
<div class="col-md-3">
<ADS:Dropdownlost ID="DdlPS" runat="server" Width="100%" CssStyle="width: 100%;"
CssClass="select2me"
CssClassDdl="form-control" DataTextField="PSCodigo"
DataValueField="CvePS" Enabled="false" />
</div>
</div>
<div class="col-md-4 d-flex align-items-center" style="gap: 10px;">
<asp:LinkButton ID="BtnAgregarProducto" runat="server"
@@ -852,13 +850,13 @@
<asp:TextBox ID="TxtCantidadPT" runat="server"
Text='<%# Bind("Cantidad") %>'
CssClass="form-control"
style="text-align: right;"
Style="text-align: right;"
TextMode="Number"
min="0"
step="1"
data-original='<%# Eval("Cantidad") %>'
onchange="validarCantidad(this)"
ItemStyle-HorizontalAlign="Right"/>
onchange="validarCantidad(this)"
ItemStyle-HorizontalAlign="Right" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
@@ -872,18 +870,17 @@
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
<Columns>
<asp:BoundField DataField="PSCodigo" HeaderText="Producto" />
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right"/>
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" DataFormatString="{0:N2}" ItemStyle-HorizontalAlign="Right" />
<asp:TemplateField HeaderText="Devolución">
<ItemTemplate>
<asp:TextBox ID="TxtDevolucionMP" runat="server"
Text="0"
style="width: 50%; text-align: right; margin-left: 38px; display: block;"
Style="width: 50%; text-align: right; margin-left: 38px; display: block;"
TextMode="Number"
min="0"
step="1"
data-original='<%# Eval("Cantidad") %>'
onchange="validarCantidad(this)"
/>
onchange="validarCantidad(this)" />
</ItemTemplate>
</asp:TemplateField>
@@ -947,15 +944,14 @@
<ItemTemplate>
<asp:TextBox ID="TxtMerma" runat="server" Text="0"
CssClass="txt-merma" TextMode="Number" step="0.01" min="0"
style="width: 50%; text-align: right;"
Style="width: 50%; text-align: right;"
onchange="calcularDevolucion(this);"
data-original='<%# Eval("Cantidad")%>'
/>
data-original='<%# Eval("Cantidad")%>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Devolución" ItemStyle-CssClass="celda-derecha">
<ItemTemplate>
<asp:Label ID="LblDevolucion" runat="server" Text='<%# Eval("Cantidad", "{0:N2}") %>' CssClass="devolucion-label" style="text-align: right;"/>
<asp:Label ID="LblDevolucion" runat="server" Text='<%# Eval("Cantidad", "{0:N2}") %>' CssClass="devolucion-label" Style="text-align: right;" />
<asp:HiddenField ID="HfDevolucion" runat="server" Value='<%# Eval("Cantidad", "{0:N2}") %>' />
</ItemTemplate>
</asp:TemplateField>

View File

@@ -125,6 +125,7 @@ Partial Class OP_OP
BtnCancelarOP.Visible = (CveOP > 0 AndAlso TipoEstatus <> 3 AndAlso TipoEstatus <> 4)
End Sub
#Region "Metodos"
Private Sub CreaPS()
DtPS = New DataTable()
DtPS.Columns.Add("Tipo", GetType(String)) ' Producto, MP, MO, CI
@@ -247,7 +248,9 @@ Partial Class OP_OP
UpBtns.Update()
UpModalCancelar.Update()
End Sub
#End Region
#Region "Cargar"
Private Sub CargaDatos()
If CveOP > 0 Then
Dim ObjOP As New ClsOP()
@@ -367,7 +370,9 @@ Partial Class OP_OP
DdlPS.ddl.Items.Insert(0, New ListItem("Seleccione el Producto", "-1"))
End If
End Sub
#End Region
#Region "Producto"
Protected Sub BtnAgregarProducto_Click(sender As Object, e As EventArgs) Handles BtnAgregarProducto.Click
If DdlPS.SelectedValue = "-1" Then Exit Sub
@@ -480,33 +485,16 @@ Partial Class OP_OP
Next
End Sub
Protected Sub GvProductos_RowDataBound(sender As Object, e As GridViewRowEventArgs) Handles GvProductos.RowDataBound
If e.Row.RowType = DataControlRowType.DataRow Then
Dim btnEliminar As LinkButton = DirectCast(e.Row.FindControl("BtnEliminar"), LinkButton)
btnEliminar.Visible = (TipoEstatus <> 3)
End If
End Sub
#End Region
Protected Sub LnkSolicitarMP_Click(sender As Object, e As EventArgs)
' Cargar almacenes
DdlAlmacenOrigenMP.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen = 1")
DdlAlmacenOrigenMP.DataBind()
DdlAlmacenDestinoMP.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen = 28")
DdlAlmacenDestinoMP.DataBind()
GvMPAgregados.DataKeyNames = New String() {"CvePSMateriaPrima", "CveUMMateriaPrima"}
' Filtrar MP no surtida
Dim DtMPFaltante As DataTable = DtMP.FiltraParametros("Surtido = 0").Copy()
GvMPAgregados.DataSource = DtMPFaltante
GvMPAgregados.DataBind()
' Mostrar modal
RegistraScript("$('#DVModalSolicitarMP').modal('show');")
UpModalMP.Update()
End Sub
#Region "Simular MP"
Protected Sub BtnSimularMP_Click(sender As Object, e As EventArgs)
If CveOP <> -1 Then Exit Sub
If DdlPS.SelectedValue = "-1" Then Exit Sub
@@ -664,7 +652,28 @@ Partial Class OP_OP
Return ObjOP.DtResultados.Copy()
End Function
#End Region
#Region "Solicitar MP"
Protected Sub LnkSolicitarMP_Click(sender As Object, e As EventArgs)
' Cargar almacenes
DdlAlmacenOrigenMP.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen = 1")
DdlAlmacenOrigenMP.DataBind()
DdlAlmacenDestinoMP.DataSource = GlobalDTAlmacen(UsuarioActual.CveEmpresa).FiltraParametros("CveTipoAlmacen = 28")
DdlAlmacenDestinoMP.DataBind()
GvMPAgregados.DataKeyNames = New String() {"CvePSMateriaPrima", "CveUMMateriaPrima"}
' Filtrar MP no surtida
Dim DtMPFaltante As DataTable = DtMP.FiltraParametros("Surtido = 0").Copy()
GvMPAgregados.DataSource = DtMPFaltante
GvMPAgregados.DataBind()
' Mostrar modal
RegistraScript("$('#DVModalSolicitarMP').modal('show');")
UpModalMP.Update()
End Sub
Protected Sub BtnGuardarSolicitudMP_Click(sender As Object, e As EventArgs)
Dim CveTraspasoSolicitud As Integer = -1
@@ -772,6 +781,9 @@ Partial Class OP_OP
ObjInventario.Dispose()
End Sub
#End Region
#Region "Guardar OP"
Protected Sub BtnGuardarOP_Click(sender As Object, e As EventArgs)
' Validaciones básicas
@@ -930,6 +942,8 @@ Partial Class OP_OP
End If
End Sub
#End Region
#Region "Cancelar"
Protected Sub BtnCancelarOP_Click(sender As Object, e As EventArgs)
' Cargar almacenes