Cambios Finalizacion de OP

This commit is contained in:
Luis Quijada
2025-04-12 14:58:24 -07:00
parent 3b8bf96871
commit a0d69ddc5e
3 changed files with 426 additions and 86 deletions

View File

@@ -279,6 +279,36 @@
padding: 5px;
margin-top: 10px;
}
.quantity-control {
position: relative;
display: flex;
align-items: center;
width: 120px;
}
.quantity-input {
width: 70px !important;
padding-right: 30px;
}
.quantity-buttons {
position: absolute;
right: 0;
display: flex;
flex-direction: column;
gap: 2px;
}
.btn-quantity {
padding: 0;
width: 22px;
height: 18px;
line-height: 1;
border: 1px solid #ddd;
background: #f8f9fa;
cursor: pointer;
}
</style>
</asp:Content>
@@ -466,7 +496,8 @@
<div class="col-md-12">
<div class="section-title">Productos</div>
<asp:GridView ID="GvProductos" runat="server" AutoGenerateColumns="False"
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
CssClass="table table-striped table-hover" GridLines="None" Width="100%"
OnRowDataBound="GvProductos_RowDataBound">
<Columns>
<asp:BoundField DataField="PSCodigo" HeaderText="Producto" />
<asp:BoundField DataField="UnidadMedida" HeaderText="UM" />
@@ -754,67 +785,115 @@
<h4 class="modal-title">Finalizar Orden de Producción #<%= LblFolio.Text %></h4>
</div>
<div class="modal-body">
<!-- Almacén de Materia Prima (Fijo) -->
<!-- Sección de Almacenes -->
<div class="row">
<div class="col-md-6 form-group">
<label>Almacén de Salida (Materia Prima):</label>
<!-- Almacén Salida MP -->
<div class="col-md-4 form-group">
<label>Almacén Salida (MP):</label>
<asp:DropDownList ID="DdlAlmacenOrigenSalidaMP" runat="server"
DataTextField="Almacen" DataValueField="CveAlmacen"
CssClass="form-control select2me" />
</div>
<!-- Almacén de Producto Terminado (Dropdown) -->
<div class="col-md-6 form-group">
<label>Almacén de Entrada (Producto Terminado):</label>
<!-- Almacén Entrada PT -->
<div class="col-md-4 form-group">
<label>Almacén Entrada (PT):</label>
<asp:DropDownList ID="DdlAlmacenTerminado" runat="server"
DataTextField="Almacen" DataValueField="CveAlmacen"
CssClass="form-control select2me" />
</div>
<!-- Almacén Devoluciones -->
<div class="col-md-4 form-group">
<label>Almacén Devoluciones:</label>
<asp:DropDownList ID="DdlAlmacenDevolucion" runat="server"
DataTextField="Almacen" DataValueField="CveAlmacen"
CssClass="form-control select2me" />
</div>
</div>
<!-- GridViews -->
<div class="row">
<div class="col-md-12">
<div class="section-title">Producto Terminado</div>
<asp:GridView ID="GvProductoTerminado" runat="server" AutoGenerateColumns="False"
CssClass="table table-striped table-hover" GridLines="None" Width="100%">
CssClass="table table-striped table-hover" GridLines="None" Width="100%"
OnRowDataBound="GvProductoTerminado_RowDataBound">
<Columns>
<asp:BoundField DataField="PSCodigo" HeaderText="Producto" />
<asp:BoundField DataField="UnidadMedida" HeaderText="UM" />
<asp:BoundField DataField="Cantidad" HeaderText="Cantidad" DataFormatString="{0:N2}" />
<asp:TemplateField HeaderText="Cantidad">
<ItemTemplate>
<asp:TextBox ID="TxtCantidadPT" runat="server"
Text='<%# Bind("Cantidad") %>'
CssClass="form-control"
TextMode="Number"
min="0"
step="1"
data-original='<%# Eval("Cantidad") %>'
onchange="validarCantidad(this)" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
<div class="row">
<div class="col-md-12">
<div class="section-title">Materia Prima</div>
<asp:GridView ID="GvMPUtilizada" runat="server" AutoGenerateColumns="False"
<asp:GridView ID="GvMPUtilizada" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePSMateriaPrima, CveUMMateriaPrima"
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}" />
<asp:TemplateField HeaderText="Devolución">
<ItemTemplate>
<asp:TextBox ID="TxtDevolucionMP" runat="server"
Text="0"
CssClass="form-control"
TextMode="Number"
min="0"
step="1"
data-original='<%# Eval("Cantidad") %>'
onchange="validarCantidad(this)" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</div>
</div>
<div class="modal-footer">
<%-- Botón Guardar --%>
<asp:Button ID="BtnGuardarFinalizarOP" runat="server" Text="Guardar"
CssClass="btn btn-primary" OnClick="BtnGuardarFinalizarOP_Click" />
<%-- Botón Cerrar --%>
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
<asp:Button ID="BtnGuardarFinalizarOP" runat="server" Text="Guardar"
CssClass="btn btn-primary" OnClick="BtnGuardarFinalizarOP_Click" />
<button type="button" class="btn btn-default" data-dismiss="modal">Cerrar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
function validarCantidad(input) {
var valor = parseFloat(input.value) || 0;
var maximo = parseFloat(input.getAttribute('data-original')) || 0;
if (valor > maximo) {
input.value = maximo.toFixed(4);
alert("¡La cantidad no puede superar el valor original!");
}
}
</script>
</asp:Content>