Entradas salidas ajustes

This commit is contained in:
rakcsle
2023-12-21 19:26:47 -07:00
parent 4bac24692c
commit b431ee5400
3 changed files with 339 additions and 161 deletions

View File

@@ -664,7 +664,8 @@
<asp:Button ID="BtnVinculaAFEdit" ClientIDMode="Static" OnClick="BtnVinculaAFEdit_Click" Style="display: none;" runat="server" />
<asp:HiddenField runat="server" ID="HdnCodAFEdit" Value="-1" ClientIDMode="Static" />
<asp:GridView ID="GvM" runat="server" GridLines="none" CssClass="tabla_correcto grides Widthall mysmallbtn" EmptyDataText="Aún no hay registros." DataKeyNames="No,CveMovimientoDetalle,Cantidad,CvePS,CveUM,PU,Observaciones,CodigoPS,UnidadMedida,CveAF,Serie,Lote,FechaCaducidad,CveSeccionAlmacen" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="True" >
<asp:GridView ID="GvM" runat="server" GridLines="none" CssClass="tabla_correcto grides Widthall mysmallbtn" EmptyDataText="Aún no hay registros."
DataKeyNames="No,CveMovimientoDetalle,Cantidad,CvePS,CveUM,PU,Observaciones,CodigoPS,UnidadMedida,CveAF,Serie,Lote,FechaCaducidad,CveSeccionAlmacen" AutoGenerateColumns="False" AllowPaging="False" ShowFooter="True" >
<Columns>
<asp:TemplateField HeaderText="" ItemStyle-Font-Size="6pt">
<EditItemTemplate>
@@ -786,13 +787,19 @@
<asp:TemplateField>
<EditItemTemplate>
<center>
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" />
&nbsp;<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
</center>
<div class="row" style="max-width:80px!important">
<div class="col-md-6">
<asp:LinkButton ID="imgU" runat="server" AlternateText="Actualizar" CausesValidation="True" CommandName="Update" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-check'></i>" ValidationGroup="GrpGV" />
</div>
<div class="col-md-6">
<asp:LinkButton ID="imgC" runat="server" AlternateText="Cancelar" CausesValidation="False" CommandName="Cancel" CssClass="btn btn-circle btn-sm red" Text="<i class='fa fa-times'></i>" />
</div>
</div>
</EditItemTemplate>
<ItemTemplate>
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" CommandName="Edit" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="imgE" runat="server" AlternateText="Editar" CausesValidation="False" OnClick="imgE_Click" CssClass="btn btn-circle btn-sm green" Text="<i class='fa fa-pencil'></i>" />
<asp:LinkButton ID="lnkRemove" runat="server" AlternateText="Eliminar" OnClick="DeleteRow" CommandArgument='<%# Eval("No")%>' CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea eliminar el concepto?" data-btn-ok-label="si" />
<asp:LinkButton ID="lnkDividir" runat="server" AlternateText="Eliminar" OnClick="DividirRow" CommandArgument='<%# Eval("No")%>' Style="font-size: 9px" CssClass="btn btn-circle btn-sm red" Text="<i class='fas fa-chart-pie-alt'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Seguro que desea dividir el concepto en unidades?" data-btn-ok-label="si" />
</ItemTemplate>
@@ -1659,11 +1666,14 @@
<div class="row">
<div class="col-md-6">
<div runat="server" id="divCantidad" class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="txtCantidad" CssClass="form-control" MaxLength="15" runat="server" ValidationGroup="GprAgregaPS"></asp:TextBox>
<asp:TextBox ID="txtCantidad" CssClass="form-control" MaxLength="15" runat="server" ValidationGroup="GrpAgregarPS" ClientIDMode="Static" onkeyup="calcularTotal()"></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="SoloNumerosCantidad" runat="server" TargetControlID="txtCantidad" FilterType="Custom, Numbers" ValidChars="." />
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="txtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo." ValidationGroup="GprAgregaPS"></asp:RequiredFieldValidator>
<asp:RequiredFieldValidator ID="RFVCantidad" runat="server" ControlToValidate="txtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCOCantidad1" runat="server" HighlightCssClass="vco" TargetControlID="RFVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
<asp:CustomValidator ID="CVCantidad" runat="server" ClientValidationFunction="ValidaDecimal6digits" ControlToValidate="TxtCantidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> no tiene el formato correcto (6 decimales). Por favor rectifique y vuelva a intentar." ValidateEmptyText="True" ValidationGroup="GprAgregaPS"></asp:CustomValidator>
<asp:CustomValidator ID="CVCantidad" runat="server" ClientValidationFunction="ValidaDecimal6digitsM0" ControlToValidate="TxtCantidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Cantidad''</b> no tiene el formato correcto (6 decimales) y mayor a cero. Por favor rectifique y vuelva a intentar."
ValidateEmptyText="True" ValidationGroup="GrpAgregarPS"></asp:CustomValidator>
<ajax:ValidatorCalloutExtender ID="VCECantidad" runat="server" HighlightCssClass="vco" TargetControlID="CVCantidad" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= txtCantidad.ClientID.ToString()%>">Cantidad</label>
</div>
@@ -1687,8 +1697,17 @@
<div runat="server" id="divPrecio" class="form-group form-md-line-input input-iconright" visible="false">
<asp:TextBox ID="txtPrecio" CssClass="form-control " runat="server" Width="50%" Visible="false"></asp:TextBox>
<label for="<%= txtPrecio.ClientID.ToString()%>">Precio unitario</label>
<asp:TextBox ID="txtPrecio" CssClass="form-control " runat="server" Width="50%" Visible="true" ClientIDMode="Static" onkeyup="calcularTotal()" ></asp:TextBox>
<ajax:FilteredTextBoxExtender ID="FilteredTextBoxExtender1" runat="server" TargetControlID="txtPrecio" FilterType="Custom" ValidChars=".1234567890" />
<asp:RequiredFieldValidator ID="RfvtxtPrecio" runat="server" ControlToValidate="txtPrecio" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Precio unitario''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvtxtPrecio" runat="server" HighlightCssClass="vco" TargetControlID="RfvtxtPrecio" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= txtPrecio.ClientID.ToString()%>">Precio unitario</label>
</div>
<div class="row">
@@ -1696,7 +1715,14 @@
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtnSerie" CssClass="form-control " runat="server" Width="120px"></asp:TextBox>
<asp:Button Text="" ID="BtnSerieAddNew" OnClick="BtnSerieAddNew_Click" Style="display: none" runat="server" />
<label for="<%= TxtnSerie.ClientID.ToString()%>">Serie</label>
<label for="<%= TxtnSerie.ClientID.ToString()%>">Serie</label>
<asp:RequiredFieldValidator ID="RfvTxtnSerie" runat="server" ControlToValidate="TxtnSerie" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Serie''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvTxtnSerie" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtnSerie" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-md-6" runat="server" id="divSeccionAlmacen" visible="false">
@@ -1714,6 +1740,12 @@
<div class="col-md-6" runat="server" id="divLote" visible="false">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtnLote" CssClass="form-control" runat="server" Width="120px"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvTxtnLote" runat="server" ControlToValidate="TxtnLote" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Serie''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvTxtnLote" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtnLote" Width="300px"></ajax:ValidatorCalloutExtender>
<label for="<%= TxtnLote.ClientID.ToString()%>">Lote</label>
</div>
</div>
@@ -1729,9 +1761,16 @@
<ajax:MaskedEditExtender ID="MEEFechaCaducidad" runat="server" TargetControlID="TxtnFechaCaducidad" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CEFechaCaducidad" TargetControlID="TxtnFechaCaducidad" PopupButtonID="LnkFechaCaducidad" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:CompareValidator ID="CVFechaCaducidad" runat="server" ControlToValidate="TxtnFechaCaducidad" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup=""></asp:CompareValidator>
<asp:CompareValidator ID="CVFechaCaducidad" runat="server" ControlToValidate="TxtnFechaCaducidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> no tiene el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)."
Operator="DataTypeCheck" Type="Date" ValidationGroup="GrpAgregarPS"></asp:CompareValidator>
<ajax:ValidatorCalloutExtender ID="VCEFEchaCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="CVFechaCaducidad" Width="350px"></ajax:ValidatorCalloutExtender>
<asp:RequiredFieldValidator ID="RfvTxtnFechaCaducidad" runat="server" ControlToValidate="TxtnFechaCaducidad" Display="None"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Caducidad''</b> es necesario, por favor ingréselo."
ValidationGroup="GrpAgregarPS"></asp:RequiredFieldValidator>
<ajax:ValidatorCalloutExtender ID="VCRfvTxtnFechaCaducidad" runat="server" HighlightCssClass="vco" TargetControlID="RfvTxtnFechaCaducidad" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
@@ -1772,23 +1811,29 @@
</div>
<div runat="server" id="ThTotal" class="form-group form-md-line-input input-iconright" visible="false">
<label for="<%= TdTotal.ClientID.ToString()%>">Total</label>
<asp:Literal ID="TdTotal" runat="server" Visible="false"></asp:Literal>
<asp:Label ID="TdTotal" runat="server" Visible="false" ClientIDMode="Static"></asp:Label>
</div>
<div runat="server" id="DVCultivosCuadro" class="form-group form-md-line-input input-iconright" visible="false">
<asp:DropDownList ID="DdlModalCultivosCuadro" CssClass=" form-control select2me" runat="server" DataTextField="TemporadaCuadro" Style="width: 100%; max-width: 600px;"
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpProduccion">
DataValueField="CveCultivoCuadroDetalle" ValidationGroup="GrpAgregarPS">
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RfvDdlModalCultivosCuadro" InitialValue="-1" runat="server" CssClass="help-block errorimput" ControlToValidate="DdlModalCultivosCuadro"
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El Cuadro <b>''Cuadro''</b> es necesario, por favor ingréselo." ValidationGroup="GrpProduccion">
ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El Cuadro <b>''Cuadro''</b> es necesario, por favor ingréselo." ValidationGroup="GrpAgregarPS">
</asp:RequiredFieldValidator>
<label runat="server" for="<%= DdlModalCultivosCuadro.ClientID.ToString()%>">Cultivo:</label>
<i></i>
</div>
<div class="row">
<div class="col-md-12" style="text-align:right">
<asp:CheckBox runat="server" ID="ChkContinuarRegistrando" Checked="true" Text="Seguir Registrando" TextAlign="Left" />
</div>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="LkAgregarDetalle" runat="server" CssClass="btn btn-primary" Text="Agregar"></asp:LinkButton>
<asp:LinkButton ID="LkAgregarDetalle" runat="server" CssClass="btn btn-primary" Text="Agregar" ValidationGroup="GrpAgregarPS" CausesValidation="true">></asp:LinkButton>
<button type="button" class="btn btn-default" data-dismiss="modal">Cancelar</button>
</div>
</div>
@@ -1929,58 +1974,42 @@
}
$('#<%= GvM.ClientID%>').ADScroll({ 'height': Alto });
<%-- if ($("#<%= DdlProductows.ClientID%>")) {
if (!($('#<%= HFProducto.ClientID %>').val() === '')) {
AddItem($('#<%= HFTProducto.ClientID%>').val(), $('#<%= HFProducto.ClientID %>').val());
}
}
if ($("#<%= DdlProductows.ClientID%>").data('creado') === '1') { } else {
$("#<%= DdlProductows.ClientID%>").data('creado', '1')
$("#<%= DdlProductows.ClientID%>").select2({
ajax: {
url: "/Ashx/SIGWeb.ashx",
dataType: 'json',
delay: 250,
data: function (params) {
return {
Name: params.term, // search term
Metodo: 'getps'
};
},
processResults: function (data, params) {
// parse the results into the format expected by Select2
// since we are using custom formatting functions we do not need to
// alter the remote JSON data, except to indicate that infinite
// scrolling can be used
params.page = params.page || 1;
return {
results: data,
pagination: {
more: (params.page * 30) < data.total_count
}
};
},
cache: true
},
escapeMarkup: function (markup) { return markup; }, // let our custom formatter work
minimumInputLength: 3
});
}
if ($("#<%= DdlProductows.ClientID%>")) {
if (!($('#<%= HFProducto.ClientID %>').val() === '')) {
AddItem($('#<%= HFTProducto.ClientID%>').val(), $('#<%= HFProducto.ClientID %>').val());
}
$("#<%= DdlProductows.ClientID%>").on("select2:select", function (e) { console.log(e); $('#<%= HFProducto.ClientID %>').val(e.params.data.id); $('#<%= HFTProducto.ClientID%>').val(e.params.data.text); $('#<%= myhidenbutton.ClientID %>').click(); });
}
if ($("#<%= DdlProducto.ClientID%>")) {
$("#<%= DdlProducto.ClientID%>").on("select2:select", function (e) { console.log(e); $('#<%= HFProducto.ClientID %>').val(e.params.data.id); $('#<%= HFTProducto.ClientID%>').val(e.params.data.text); });
}--%>
});
function ValidaDecimal6digitsM0(val, args) {
if (args.Value.match(/^[1-9]\d*(\.\d{1,6})?$/))
args.IsValid = true;
else
args.IsValid = false;
}
function calcularTotal() {
var cantidad = parseFloat($('#txtCantidad').val().replace(/,/g, ''));
var precio = parseFloat($('#txtPrecio').val().replace(/,/g, ''));
if (!isNaN(cantidad) && !isNaN(precio)) {
var resultado = cantidad * precio;
var formatoResultado = formatoMoneda(resultado);
$('#TdTotal').text(formatoResultado);
} else {
$('#TdTotal').text('');
}
}
function formatoMoneda(valor) {
if (valor % 1 !== 0) { // Si el valor tiene decimales
return valor.toLocaleString('es-MX', {
minimumFractionDigits: 2,
maximumFractionDigits: 2
});
} else {
return valor.toLocaleString('es-MX'); // Sin decimales
}
}
</script>
</asp:Content>