This commit is contained in:
Rakcsle Supertramp
2020-04-24 11:52:43 -07:00
71 changed files with 7330 additions and 204 deletions

View File

@@ -51,6 +51,7 @@ Public Class BundleConfig
"~/Metronic/assets/admin/layout/scripts/demo.js",
"~/Metronic/assets/admin/pages/scripts/table-advanced.js",
"~/Metronic/assets/admin/pages/scripts/ui-alert-dialog-api.js",
"~/Metronic/assets/global/plugins/icheck/icheck.min.js",
"~/Metronic/assets/global/plugins/dropzone/dropzone.js",
"~/Metronic/assets/layouts/layout3/scripts/jquery.datetimepicker.full.js",
"~/Scripts/custom.js"
@@ -76,6 +77,7 @@ Public Class BundleConfig
"~/Metronic/assets/layouts/global/scripts/quick-nav.min.js",
"~/Metronic/assets/admin/pages/scripts/table-advanced.js",
"~/Metronic/assets/admin/pages/scripts/ui-alert-dialog-api.js",
"~/Metronic/assets/global/plugins/icheck/icheck.min.js",
"~/Metronic/assets/global/plugins/dropzone/dropzone.js",
"~/Metronic/assets/layouts/layout3/scripts/jquery.datetimepicker.full.js",
"~/Scripts/custom.js"
@@ -198,6 +200,7 @@ Public Class BundleConfig
"~/Metronic/assets/global/plugins/datatables/extensions/Scroller/css/dataTables.scroller.min.css",
"~/Metronic/assets/global/plugins/datatables/extensions/ColReorder/css/dataTables.colReorder.min.css",
"~/Metronic/assets/global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap.css",
"~/Metronic/assets/global/plugins/icheck/skins/all.css",
"~/Styles/thickbox.css",
"~/Metronic/assets/global/css/components.css",
"~/Metronic/assets/global/css/plugins.css",
@@ -221,6 +224,7 @@ Public Class BundleConfig
"~/Metronic/assets/global/plugins/datatables2/extensions/KeyTable/css/keyTable.dataTables.min.css",
"~/Metronic/assets/global/plugins/datatables/extensions/ColReorder/css/dataTables.colReorder.min.css",
"~/Metronic/assets/global/plugins/datatables/plugins/bootstrap/dataTables.bootstrap.css",
"~/Metronic/assets/global/plugins/icheck/skins/all.css",
"~/Styles/thickbox.css",
"~/Metronic/assets/global/css/components.css",
"~/Metronic/assets/global/css/plugins.css",

View File

@@ -2683,7 +2683,10 @@ Public Class ClsContabilidad
Return Retorno
End Function
Public Function AddConta_PlantillasPolizasDetalles(CvePlantillaPoliza As Integer, CveConcepto As Integer, TipoMovto As Integer, IdCtaContable As Integer, Orden As Integer, CveUsuario As Integer, CveEmpresa As Integer, CveSubProyecto As Integer, CveProveedor As Integer, Optional CvePersonal As Integer = -1) As Boolean
Public Function AddConta_PlantillasPolizasDetalles(CvePlantillaPoliza As Integer, CveConcepto As Integer, TipoMovto As Integer,
IdCtaContable As Integer, Orden As Integer, CveUsuario As Integer, CveEmpresa As Integer,
CveSubProyecto As Integer, CveProveedor As Integer, Optional CvePersonal As Integer = -1,
Optional PorcentajeImpuesto As Decimal = 0) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_Conta_PlantillasPolizasDetalleAdd")
@@ -2699,6 +2702,7 @@ Public Class ClsContabilidad
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@PorcentajeImpuesto", SqlDbType.SmallMoney).Value = PorcentajeImpuesto
End With
Try
@@ -2715,7 +2719,9 @@ Public Class ClsContabilidad
End Try
Return Retorno
End Function
Public Function UpdateConta_PlantillasPolizasDetalle(CveConcepto As Integer, TipoMovto As Integer, IdCtaContable As Integer, Orden As Integer, CvePlantillaPolizaDetalle As Integer, CveSubProyecto As Integer, CveProveedor As Integer, Optional CvePersonal As Integer = -1) As Boolean
Public Function UpdateConta_PlantillasPolizasDetalle(CveConcepto As Integer, TipoMovto As Integer, IdCtaContable As Integer, Orden As Integer,
CvePlantillaPolizaDetalle As Integer, CveSubProyecto As Integer, CveProveedor As Integer,
Optional CvePersonal As Integer = -1, Optional PorcentajeImpuesto As Decimal = 0) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_Conta_PlantillasPolizasDetalleUpdate")
@@ -2729,6 +2735,7 @@ Public Class ClsContabilidad
.Add("@CveSubProyecto", SqlDbType.Int).Value = CveSubProyecto
.Add("@CveProveedor", SqlDbType.Int).Value = CveProveedor
.Add("@CvePersonal", SqlDbType.Int).Value = CvePersonal
.Add("@PorcentajeImpuesto", SqlDbType.SmallMoney).Value = PorcentajeImpuesto
End With
Try

View File

@@ -4,7 +4,18 @@ Option Explicit On
Imports System.Data
Imports System.Data.SqlClient
Imports Extensiones
Public Enum OITipoEventos
Tarea = 1
Agenda = 2
Proyecto = 3
Control_de_Versiones_de_Doctos = 4
Minuta = 5
Bitacora = 6
Scrum = 7
ISO = 8
Soporte = 9
Gastos_Mes = 10
End Enum
Public Class ClsOIEventos
Implements IDisposable
@@ -171,7 +182,192 @@ Public Class ClsOIEventos
End Sub
#Region "oieventos2.0"
Public Function GetOI_Eventos2(cveEvento As Int32, CveEmpresa As Integer) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_GetOI_Eventos2", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = cveEvento
.Add("@CveEmpresa", SqlDbType.Int).Value = CveEmpresa
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el Catálogo de Eventos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function AddOI_Eventos2(cveTipoEvento As OITipoEventos, asunto As String, descripcion As String, prioridad As Int32, cveUsuarioDe As Int32, cveUsuarioPara As Int32,
fechaInicio As String, fechaFin As String, cveRevision As Int32, archivo As String, cveUsuarioIng As Int32, cveEmpresa As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_AddOI_Eventos2", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@Folio", SqlDbType.Int).Direction = ParameterDirection.Output
.Add("@cveTipoEvento", SqlDbType.Int).Value = cveTipoEvento
.Add("@asunto", SqlDbType.VarChar).Value = asunto
.Add("@descripcion", SqlDbType.VarChar).Value = descripcion
.Add("@prioridad", SqlDbType.Int).Value = prioridad
.Add("@cveUsuarioDe", SqlDbType.Int).Value = cveUsuarioDe
.Add("@cveUsuarioPara", SqlDbType.Int).Value = cveUsuarioPara
.Add("@fechaInicio", SqlDbType.VarChar).Value = fechaInicio
.Add("@fechaFin", SqlDbType.VarChar).Value = fechaFin
.Add("@cveRevision", SqlDbType.Int).Value = cveRevision
.Add("@archivo", SqlDbType.VarChar).Value = archivo
.Add("@cveUsuarioIng", SqlDbType.Int).Value = cveUsuarioIng
.Add("@cveEmpresa", SqlDbType.Int).Value = cveEmpresa
End With
Try
SqlAdapter.Fill(Data)
CveEvento = SqlAdapter.SelectCommand.Parameters("@CveEvento").Value.ToString().ToEntero()
Folio = SqlAdapter.SelectCommand.Parameters("@Folio").Value.ToString().ToEntero()
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el Catálogo de Eventos.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
End Try
Return retorno
End Function
Public Function UpdateEstatusEvento2(CveEventoEstatus As Integer, CveComentario As Integer, CveEvento As Integer, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_EventosEstatusUpdate2")
With SqlAdapter.SelectCommand.Parameters
.Add("@pCveEventoEstatus", SqlDbType.Int).Value = CveEventoEstatus
.Add("@pCveComentario", SqlDbType.Int).Value = CveComentario
.Add("@pCveEvento", SqlDbType.Int).Value = CveEvento
.Add("@pCveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el estatus en el Evento.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#Region "CRUD_cheklist"
Public Function Getcheklist(cveEvento As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_cheklistGet", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@cveEvento", SqlDbType.Int).Value = cveEvento
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al obtener el checklist.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
Public Function Addcheklist(cveEvento As Int32, eventoComentario As String, cveUsuario As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_cheklistAdd", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@cveEvento", SqlDbType.Int).Value = cveEvento
.Add("@eventoComentario", SqlDbType.VarChar).Value = eventoComentario
.Add("@cveUsuario", SqlDbType.Int).Value = cveUsuario
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al agregar el checklist.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
Public Function Upcheklist(cveEventoCheckList As Int32, cveEvento As Int32, eventoComentario As String, estatus As Boolean, cveUsuario As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_cheklistUp", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@cveEventoCheckList", SqlDbType.Int).Value = cveEventoCheckList
.Add("@cveEvento", SqlDbType.Int).Value = cveEvento
.Add("@eventoComentario", SqlDbType.VarChar).Value = eventoComentario
.Add("@estatus", SqlDbType.Bit).Value = estatus
.Add("@cveUsuario", SqlDbType.Int).Value = cveUsuario
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al actualizar el checklist.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
Public Function Removecheklist(cveEventoCheckList As Int32, cveEvento As Int32, cveUsuario As Int32) As Boolean
Dim retorno As Boolean = False
DataAdapter("PA_OI_cheklistRemove", CommandType.StoredProcedure)
With SqlAdapter.SelectCommand.Parameters
.Add("@cveEventoCheckList", SqlDbType.Int).Value = cveEventoCheckList
.Add("@cveEvento", SqlDbType.Int).Value = cveEvento
.Add("@cveUsuario", SqlDbType.Int).Value = cveUsuario
End With
Try
SqlAdapter.Fill(Data)
retorno = True
Catch ex As Exception
OnError("Ocurrió un error al eliminar el checklist.", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return retorno
End Function
#End Region
Public Function AddUPEventoArchivo(CveEvento As Integer, Archivo As String, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_EventosArchivoAddUP")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = CveEvento
.Add("@Archivo", SqlDbType.VarChar).Value = Archivo
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Retorno = False
Me.OnError("Ocurrió un error al Guardar el comentario del evento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
Retorno = False
OnError("Ocurrió un error al Guardar el Evento Comentario", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
Public Function UPEventoAAvance(CveEvento As Integer, Avance As Decimal, CveUsuario As Integer) As Boolean
Dim Retorno As Boolean = False
DataAdapter("PA_OI_EventosAvanceUP")
With SqlAdapter.SelectCommand.Parameters
.Add("@CveEvento", SqlDbType.Int).Value = CveEvento
.Add("@Avance", SqlDbType.Decimal).Value = Avance
.Add("@CveUsuario", SqlDbType.Int).Value = CveUsuario
End With
Try
SqlAdapter.Fill(Data)
Retorno = True
Catch Ex1 As SqlException
Retorno = False
Me.OnError("Ocurrió un error al Guardar el comentario del evento.", Ex1, SqlAdapter.SelectCommand.Parameters.ParametrosInfo())
Catch ex As Exception
Retorno = False
OnError("Ocurrió un error al Guardar el Evento Comentario", ex, SqlAdapter.SelectCommand.Parameters.ParametrosInfo)
End Try
Return Retorno
End Function
#End Region

View File

@@ -4405,6 +4405,7 @@ Public Class ClsPaginas
'OI
#Region "OI"
PaginaDict.Add("/OI/EventoDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/TareaDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/Normatividad.aspx".ToUpper(), 669)
PaginaDict.Add("/OI/RepNormatividad.aspx".ToUpper(), 669)
PaginaDict.Add("/OI/Minutas.aspx".ToUpper(), -1)
@@ -5164,7 +5165,11 @@ Public Class ClsPaginas
Dim ds As New DataSet
For Each rpds As ReportDataSource In DataSource
Dim dt As DataTable = DirectCast(rpds.Value, Data.DataTable)
dt = dt.Copy()
If dt Is Nothing Then
dt = New DataTable()
Else
dt = dt.Copy()
End If
dt.TableName = rpds.Name
ds.Tables.Add(dt)
Next

View File

@@ -4006,7 +4006,7 @@ Namespace Modelos
'1 NORMAL, 2 CON PAGOS
Dim ModalidadRefacturacion As Integer = UsuarioActual.Empresa.Funcionalidad(586).ToEntero()
If ModalidadRefacturacion <= 0 Then
If EsRefacturacion AndAlso ModalidadRefacturacion <= 0 Then
Retorno.Mensaje = "La factura no se puede refacturar debido a que la empresa no tiene asignada una modalidad de refacturación."
Retorno.TipoMensaje = TipoMensaje.MsgAdvertencia

View File

@@ -569,6 +569,14 @@ Namespace Extensiones
Else
Return Nothing
End If
End Function
<Runtime.CompilerServices.Extension()>
Public Function ToDateTimeExcat(Str As String, Optional format As String = "dd/MM/yyyy HH:mm") As DateTime
Dim fecha As DateTime = New DateTime()
DateTime.TryParseExact(Str, format, System.Globalization.CultureInfo.InvariantCulture, System.Globalization.DateTimeStyles.None, fecha)
Return fecha
End Function
<Runtime.CompilerServices.Extension()>

281
Ashx/GenerarPDFFactura.ashx Normal file
View File

@@ -0,0 +1,281 @@
<%@ WebHandler Language="VB" Class="GenerarPDFFactura" %>
Imports System
Imports System.Web
Imports System.Data
Imports Newtonsoft.Json
Imports Newtonsoft.Json.Linq
Imports Extensiones
Imports System.IO
Imports Microsoft.Reporting.WebForms
Public Class GenerarPDFFactura : Implements IHttpHandler
Public ReadOnly Property IsReusable() As Boolean Implements IHttpHandler.IsReusable
Get
Return False
End Get
End Property
Public Sub ProcessRequest(ByVal context As HttpContext) Implements IHttpHandler.ProcessRequest
Dim retorno As String = "no se encontro la variable"
Try
Dim datos As ParametroWS = Nothing
If context.Request.Headers("Content-Type") IsNot Nothing AndAlso context.Request.Headers("Content-Type").Contains("json") AndAlso context.Request.InputStream IsNot Nothing Then
context.Response.ContentType = "application/json"
Using reader As New StreamReader(context.Request.InputStream)
Dim json = reader.ReadToEnd()
datos = JsonConvert.DeserializeObject(Of ParametroWS)(json)
End Using
End If
If datos IsNot Nothing Then
Dim ListaDS = New List(Of ReportDataSource)
Dim Parametros As New List(Of ReportParameter)
Dim Formato = context.Server.MapPath("/") + "Empresas/1/Report.rdlc"
Parametros.Add(New ReportParameter("Empresa", datos.Empresa.Empresa))
Parametros.Add(New ReportParameter("RFC", datos.Empresa.RFC))
Parametros.Add(New ReportParameter("DomicilioExpedicion", datos.Empresa.DomicilioFiscal))
Parametros.Add(New ReportParameter("Serie", datos.Factura.Serie))
Parametros.Add(New ReportParameter("Folio", datos.Factura.Folio))
Parametros.Add(New ReportParameter("Fecha", datos.Factura.Fecha))
Parametros.Add(New ReportParameter("ClienteNombre", datos.Cliente.NombreComercial))
Parametros.Add(New ReportParameter("ClienteDireccion", datos.Cliente.Calle + " Colonia " + datos.Cliente.Colonia + " " + datos.Cliente.Ciudad + ", " + datos.Cliente.Estado))
Parametros.Add(New ReportParameter("ClienteLugar", datos.Cliente.Ciudad))
Parametros.Add(New ReportParameter("ClienteRFC", datos.Cliente.RFC))
Parametros.Add(New ReportParameter("ImporteLetra", datos.Factura.Total.Texto2Letras()))
Parametros.Add(New ReportParameter("FormaPago", datos.Factura.FormaPago))
Parametros.Add(New ReportParameter("MetodoPago", datos.Factura.MetodoPago))
Parametros.Add(New ReportParameter("SelloCFDI", ""))
Parametros.Add(New ReportParameter("SelloSAT", ""))
Parametros.Add(New ReportParameter("CadenaOriginal", ""))
Parametros.Add(New ReportParameter("FolioFiscal", datos.Factura.UUID))
Parametros.Add(New ReportParameter("SerieCertificadoSAT", ""))
Parametros.Add(New ReportParameter("FechaCertificado", ""))
Parametros.Add(New ReportParameter("CertificadoContribuyente", ""))
Parametros.Add(New ReportParameter("UsoCFDI", datos.Factura.UsoCFDI))
Parametros.Add(New ReportParameter("Vencimiento", Now.AddDays(30)))
Parametros.Add(New ReportParameter("SubTotal", datos.Factura.SubTotal))
Parametros.Add(New ReportParameter("IVA", datos.Factura.IVA))
Parametros.Add(New ReportParameter("IEPS", datos.Factura.IEPS))
Parametros.Add(New ReportParameter("Total", datos.Factura.Total))
Parametros.Add(New ReportParameter("QR", ""))
Dim DtDatos As New DataTable
DtDatos.Columns.Add(New DataColumn("Cantidad", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("UnidadMedida", GetType(String)))
DtDatos.Columns.Add(New DataColumn("PS", GetType(String)))
DtDatos.Columns.Add(New DataColumn("PU", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("IVA", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("IEPS", GetType(Decimal)))
DtDatos.Columns.Add(New DataColumn("Total", GetType(Decimal)))
For Each PS In datos.Factura.ListaProductos
Dim Row = DtDatos.NewRow()
Row("Cantidad") = PS.Cantidad
Row("UnidadMedida") = PS.UnidadMedida
Row("PS") = PS.CodigoPS
Row("PU") = PS.PU
Row("IVA") = PS.IVA
Row("IEPS") = PS.IEPS
Row("Total") = (PS.Cantidad * PS.PU) + PS.IVA + PS.IEPS
DtDatos.Rows.Add(Row)
Next
ListaDS.Add(New ReportDataSource("DsProductos", DtDatos))
ImprimirbytesPDF(context, StreamPDF(context, Formato, ListaDS, Parametros), "test")
End If
Catch ex As Exception
ex.GuardaLog(ex.ToString())
context.Response.Write(retorno)
End Try
End Sub
Public Function StreamPDF(ByVal context As HttpContext, RutaReporte As String, DataSource As List(Of ReportDataSource), Parametros As List(Of ReportParameter), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional MR As ReportViewer = Nothing) As Byte()
'limpio ReportViwer
Dim sw As New System.Diagnostics.Stopwatch()
sw.Start()
If IsNothing(MR) Then MR = New ReportViewer
Dim Bytes As Byte() = Nothing
Try
' MasterReporteador.LocalReport.DataSources.Clear()
For Each RDS As ReportDataSource In DataSource
MR.LocalReport.DataSources.Add(RDS)
Next
MR.LocalReport.ReportPath = RutaReporte
MR.ProcessingMode = ProcessingMode.Local
MR.LocalReport.EnableExternalImages = True
MR.LocalReport.SetParameters(Parametros)
MR.LocalReport.Refresh()
Dim Warnings As Warning() = Nothing
Dim StreamIds As String() = Nothing
Dim MimeType As String = Nothing
Dim Encoding As String = Nothing
Dim Extension As String = Nothing
Bytes = MR.LocalReport.Render(Formato, Nothing, MimeType, Encoding, Extension, StreamIds, Warnings)
Catch ex As Microsoft.Reporting.WebForms.ScriptManagerNotFoundException
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error: {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
Catch ex As Exception
GuardaLog($"Error: { If(ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, ex.Message) } | Descripcion: {If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException IsNot Nothing AndAlso ex.InnerException.InnerException.Message IsNot Nothing, ex.InnerException.InnerException.Message, If(ex.InnerException IsNot Nothing AndAlso ex.InnerException.Message IsNot Nothing, ex.InnerException.Message, "Sin descripcion"))} - Ruta {RutaReporte}")
'HAY QUE VALIDAR QUE LOS OBJETOS QUE SE USAN PARA GUARDAR LOG EXISTEN!!! IPP 14 AGOSTO 2017
'GuardaLog($"Error {ex.InnerException.Message} | Descripcion: {If(ex.InnerException.InnerException IsNot Nothing, ex.InnerException.InnerException.Message, "Sin descripcion")} - Ruta {RutaReporte}")
End Try
sw.Stop()
If sw.Elapsed.TotalSeconds > 10 Then
GuardaLog($"Reporte:{RutaReporte} | Tiempo Renderizado Milisegundos: {sw.ElapsedMilliseconds},Total Segundos: {sw.Elapsed.TotalSeconds} ")
End If
Return Bytes
End Function
Public Sub ImprimirbytesPDF(ByVal context As HttpContext, bytes As Byte(), Optional NombreArchivo As String = "Reporte", Optional Formato As String = "PDF", Optional Descarga As Boolean = False)
'limpio ReportViwer
Dim mimeType As String = Nothing
Dim extension As String = Nothing
'If Descarga Then
' Try
' bytes = bytes
' File.WriteAllBytes(String.Format("{0}PDF/whatever.gif", UsuarioActual.Empresa.Ruta), img)
' Catch ex As Exception
' If UsuarioActual.CveRol = 1 Then
' Alert(ex.Message, TipoMensaje.MsgAdvertencia)
' Else
' Alert("Ocurrió un error al generar la descarga. Favor de contactar a soporte tecnico cod'IMPDFclspag'", TipoMensaje.MsgAdvertencia)
' End If
' End Try
'End If
Try
bytes = bytes
context.Response.Buffer = True
context.Response.Clear()
context.Response.ContentType = mimeType
context.Response.AddHeader("content-disposition", String.Format("attachment; filename={0}.{1}", NombreArchivo, If(Formato = "PDF", "pdf", "xls")))
context.Response.BinaryWrite(bytes) ' create the file
context.Response.Flush() ' send it to the client to download
context.Response.SuppressContent = True
context.ApplicationInstance.CompleteRequest()
context.Response.End()
Catch ex As Exception
End Try
End Sub
Public Class FacturaWS
Public Property Id As Integer
Public Property CveVenta As Integer
Public Property CveCliente As Integer
Public Property NombreCliente As String
Public Property Fecha As DateTime
Public Property CveSubCentroCosto As Integer
Public Property CveTipoDocumento As Integer
Public Property TipoDocumento As String
Public Property Serie As String
Public Property Folio As Integer
Public Property CveVendedor As Integer
Public Property CveUsuario As Integer
Public Property CveEstatusVenta As Integer
Public Property EstatusVenta As String
Public Property UUID As String
Public Property ListaProductos As List(Of ProductoWS)
Public Property CveUsoCFDI As Integer
Public Property UsoCFDI As String
Public Property CveMetodoPago As Integer
Public Property MetodoPago As String
Public Property ClaveMetodoPagoSAT As String
Public Property CveFormaPago As Integer
Public Property FormaPago As String
Public Property ClaveFormaPagoSAT As String
Public Property Observaciones As String
Public Property CveMoneda As Integer
Public Property TipoCambio As Double
Public Property FechaIng As DateTime
Public Property CveEmpresa As Integer
Public Property SubTotal As Double
Public Property Descuentos As Double
Public Property IVA As Double
Public Property IEPS As Double
Public Property Total As Double
End Class
Public Class ProductoWS
Public Property Id As Integer
Public Property CveVentaDetalle As Integer
Public Property CveVenta As Integer
Public Property CveProductoServicio As Integer
Public Property CodigoPS As String
Public Property CveUnidadMedida As Integer
Public Property UnidadMedida As String
Public Property Cantidad As Double
Public Property Observacion As String
Public Property PU As Double
Public Property Descuento As Double
Public Property IVA As Double
Public Property IEPS As Double
Public Property IVAPorcentaje As Double
Public Property IEPSPorcentaje As Double
Public Property CveSubCentroCosto As Integer
Public Property SubCentroCosto As String
End Class
Public Class ClienteWS
Public Property Id As Integer
Public Property CveCliente As Integer
Public Property RazonSocial As String
Public Property NombreComercial As String
Public Property RFC As String
Public Property Codigo As String
Public Property Calle As String
Public Property NoExterior As String
Public Property Colonia As String
Public Property Ciudad As String
Public Property Municipio As String
Public Property Estado As String
Public Property CodigoPostal As Integer
Public Property Contacto As String
Public Property ContactoTelefono As String
Public Property Correo As String
Public Property CveVendedor As Integer
Public Property Estatus As Boolean
Public Property CveUsuario As Integer
Public Property CveEmpresa As Integer
Public Property CveRegimenFiscal As Integer
Public Property RegimenFiscal As String
Public Property CodigoRegimenFiscal As String
End Class
Public Class EmpresaWS
Public Property Id As Integer
Public Property CveEmpresa As Integer
Public Property Empresa As String
Public Property RFC As String
Public Property DomicilioFiscal As String
Public Property ArchivoCER As String
Public Property ArchivoKEY As String
Public Property FieldPassword As String
Public Property CveRegimenFiscal As Integer
Public Property RegimenFiscal As String
End Class
Public Class ParametroWS
Public Property Factura As FacturaWS
Public Property Cliente As ClienteWS
Public Property Empresa As EmpresaWS
End Class
End Class

View File

@@ -370,8 +370,7 @@ public partial class Bancos_Devoluciones : ClsPaginas
}
// DATOS PREPOLIZA
if ((DdlTipoTransanccion.SelectedValue == "1"))
FolioFijo = TxtFolio.Text.ToEntero();
if ( DdlTipoTransanccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE Devoluciones", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMoneda, TxtFechaDocumento.Text.ToDate(), TxtObservaciones.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransanccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransanccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)

View File

@@ -299,8 +299,8 @@ public partial class Bancos_PagoAcreedor : ClsPaginas
AsignaCuentaProveedor(DdlProveedores.SelectedValue.ToEntero());
// DATOS PREPOLIZA
if ((DdlTipoTransaccion.SelectedValue == "1"))
FolioFijo = TxtFolio.Text.ToEntero();
if ( DdlTipoTransaccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PAGO ACRREDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMoneda, TxtFechaDocumento.Text.ToDate(), DdlProveedores.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)

View File

@@ -339,9 +339,8 @@ public partial class Bancos_PagoDeudor : ClsPaginas
}
// DATOS PREPOLIZA
if ((DdlTipoTransaccionPrestamo.SelectedValue == "1"))
FolioFijo = TxtFolioPrestamo.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PRESTAMO DEUDORES", CvePlantillaPoliza, TxtImportePrestamo.Text.Trim().ToDouble(), TxtImportePrestamo.Text.Trim().ToDouble(), CveMonedaPrestamo, TxtFechaPrestamo.Text.ToDate(), DdlProveedorPrestamo.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccionPrestamo.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (DdlTipoTransaccionPrestamo.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolioPrestamo.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PRESTAMO DEUDORES", CvePlantillaPoliza, TxtImportePrestamo.Text.Trim().ToDouble(), TxtImportePrestamo.Text.Trim().ToDouble(), CveMonedaPrestamo, TxtFechaPrestamo.Text.ToDate(), DdlProveedorPrestamo.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccionPrestamo.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)
{
@@ -674,8 +673,8 @@ public partial class Bancos_PagoDeudor : ClsPaginas
}
// DATOS PREPOLIZA
if ((DdlTipoTransaccion.SelectedValue == "1"))
FolioFijo = TxtFolio.Text.ToEntero();
if (DdlTipoTransaccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PAGO DEUDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMoneda, TxtFechaDocumento.Text.ToDate(), DdlProveedores.SelectedText.ToString(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)

View File

@@ -250,8 +250,8 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
AsignaCuentaPersonal(DdlFuncionarioEmpleadoPago.SelectedValue.ToEntero(), CveMoneda);
// DATOS PREPOLIZA
if ((DdlTipoTransaccion.SelectedValue == "1"))
FolioFijo = TxtFolio.Text.ToEntero();
if (DdlTipoTransaccion.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119) FolioFijo = TxtFolio.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PAGO ACRREDORES", CvePlantillaPoliza, TxtImporte.Text.Trim().ToDouble(), TxtImporte.Text.Trim().ToDouble(), CveMoneda, TxtFechaDocumento.Text.ToDate(), DdlFuncionarioEmpleadoPago.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa), CveTipoPoliza: ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)
@@ -539,9 +539,9 @@ public partial class Bancos_PrestamoPersonal : ClsPaginas
AsignaCuentaPersonal(DdlFuncionarioEmpleadoPrestamo.SelectedValue.ToEntero(), CveMoneda);
// DATOS PREPOLIZA
if ((DdlTipoTransanccionPrestamo.SelectedValue == "1"))
FolioFijo = TxtFolioPrestamo.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/IE PRESTAMO PERSONAL", CvePlantillaPoliza, TxtImportePrestamo.Text.Trim().ToDouble(), TxtImportePrestamo.Text.Trim().ToDouble(), CveMoneda, TxtFechaPrestamo.Text.ToDate(), DdlFuncionarioEmpleadoPrestamo.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa));
if (DdlTipoTransanccionPrestamo.SelectedValue == "1" && UsuarioActual.CveEmpresa != 119 ) FolioFijo = TxtFolioPrestamo.Text.ToEntero();
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/PRESTAMO PERSONAL", CvePlantillaPoliza, TxtImportePrestamo.Text.Trim().ToDouble(), TxtImportePrestamo.Text.Trim().ToDouble(), CveMoneda, TxtFechaPrestamo.Text.ToDate(), DdlFuncionarioEmpleadoPrestamo.SelectedItem.Text, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo: FolioFijo, ReglaFolioPoliza: ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, null, UsuarioActual.CveEmpresa));
if (CvePrePoliza > 0)
{

View File

@@ -358,7 +358,7 @@
<asp:UpdatePanel ID="UPCompras" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvCxP" runat="server" AutoGenerateColumns="False" EmptyDataText="No se encontraron Cuentas X Pagar Pendientes"
DataKeyNames="CveCompra,ImporteProgramo,Saldo,SubTotal,IVA,IVADeducible,IVANoDeducible,IEPS,RetIVA,RetISR,Original,UUID,RFC,CveFactura,SerieFolio,Descripcion,CvePrePoliza,Fecha,EstatusInventario,CveProveedor,TipoCambio, CveMoneda,CveRetIVAConcepto,IVAPorPagar,IVAPorPagarDeducible,IVAPorPagarNoDeducible,IEPSPorPagar,CveRetISRConcepto,PorcentajeIVA,CveTipoConcepto,CveSubProyecto"
DataKeyNames="CveCompra,ImporteProgramo,Saldo,SubTotal,IVA,IVADeducible,IVANoDeducible,IEPS,RetIVA,RetISR,Original,UUID,RFC,CveFactura,SerieFolio,Descripcion,CvePrePoliza,Fecha,EstatusInventario,CveProveedor,TipoCambio, CveMoneda,CveRetIVAConcepto,IVAPorPagar,IVAPorPagarDeducible,IVAPorPagarNoDeducible,IEPSPorPagar,CveRetISRConcepto,PorcentajeIVA,CveTipoConcepto,CveSubProyecto,TotalOriginal"
Width="100%" CssClass="table table-striped table-advance table-hover Widthall ScrollAD" Style="text-align: center;" GridLines="None">
<Columns>
<asp:TemplateField>

View File

@@ -709,7 +709,7 @@ Partial Class Bancos_ProveedoresAbonar
Valida.Verificar(gvr.DataKey("UUID"), gvr.DataKey("RFC"), UsuarioActual.Empresa.RFC, gvr.DataKey("Original").ToDecimal)
Valida.Verificar(gvr.DataKey("UUID"), gvr.DataKey("RFC"), UsuarioActual.Empresa.RFC, gvr.DataKey("TotalOriginal").ToDecimal)
If Not UsuarioActual.Empresa.FacturaProduccion OrElse UsuarioActual.CveEmpresa < 2 Then
Valida.EsValida = 1

View File

@@ -912,7 +912,7 @@ Partial Class Bancos_ProveedoresCreditos
Dim tImporteMonedaExtranjera As Decimal = 0
If tCveMoneda <> 1 Then tImporteMonedaExtranjera = TxtImporte.Text.ToDecimal * GlobalTipoCambio(TxtFechaDocumento.Text.Trim.ToDate).ToString.ToDecimal
'cheque
If DdlTipoTransaccion.SelectedValue = "1" Then FolioFijo = TxtFolio.Text.ToEntero
If DdlTipoTransaccion.SelectedValue = "1" AndAlso UsuarioActual.CveEmpresa <> 119 Then FolioFijo = TxtFolio.Text.ToEntero
CvePrePoliza = ObjMov.AddPrePolizas("Bancos/ProvCred", CvePlantillaPoliza, TxtImporte.Text.Trim.ToDouble, TxtImporte.Text.Trim.ToDouble, tCveMoneda, TxtFechaDocumento.Text.ToDate, TxtPagueseA.Text.Trim, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, FolioFijo:=FolioFijo, ReglaFolioPoliza:=ObjComp.ObtenerReglaFolio(DdlTipoTransaccion.SelectedValue, Nothing, UsuarioActual.CveEmpresa), CveTipoPoliza:=ObjMov.ObtenerTipoPoliza(DdlTipoTransaccion.SelectedValue, "-1", UsuarioActual.CveEmpresa))

View File

@@ -15,6 +15,12 @@
<li>
<asp:LinkButton ID="LnkAgregar" OnClick="LnkAgregar_Click" runat="server"><i class="fa fa-plus"></i><span style="padding-left:5px;">Agregar Etapas de Proceso</span></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImprimir" OnClick="LnkImprimir_Click" runat="server"><i class="fa fa-file-pdf-o"></i><span style="padding-left:5px;">PDF</span></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImprimirExcel" OnClick="LnkImprimirExcel_Click" runat="server"><i class="fa fa-file-excel-o"></i><span style="padding-left:5px;">Excel</span></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

View File

@@ -5,6 +5,7 @@ using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Microsoft.Reporting.WebForms;
using Extensiones;
@@ -317,4 +318,36 @@ public partial class CRM_CatEtapasProceso : ClsPaginas
CargaDatos(DdlFiltroProceso.SelectedValue.ToEntero());
}
#endregion
protected void LnkImprimir_Click(object sender,EventArgs e)
{
Imprimir("PDF");
}
protected void LnkImprimirExcel_Click(object sender, EventArgs e)
{
Imprimir("EXCEL");
}
private void Imprimir(string formato)
{
System.IO.FileInfo Image = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> param = new List<ReportParameter>();
param.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
if (Image.Exists)
{
param.Add(new ReportParameter("LogoPath", logouri));
}
else
{
param.Add(new ReportParameter("LogoPath", ""));
}
param.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
param.Add(new ReportParameter("FechaImpresion", DateTime.Today.ToString()));
ImprimirPDF("Empresas/Grales/Formatos/RepCatEtapasProceso.rdlc", TmpDT, param, "Report Cat Etapas Proceso", formato);
}
}

View File

@@ -15,6 +15,12 @@
<li>
<asp:LinkButton ID="LnkAgregar" OnClick="LnkAgregar_Click" runat="server"><i class="fa fa-plus"></i><span style="padding-left:5px;">Agregar Probabilidad de Acercamiento</span></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImprimir" OnClick="LnkImprimir_Click" runat="server"><i class="fa fa-file-pdf-o"></i><span style="padding-left:5px;">PDF</span></asp:LinkButton>
</li>
<li>
<asp:LinkButton ID="LnkImprimirExcel" OnClick="LnkImprimirExcel_Click" runat="server"><i class="fa fa-file-excel-o"></i><span style="padding-left:5px;">Excel</span></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
@@ -32,11 +38,12 @@
CssClass="table table-striped table-advance table-hover ScrollAD Widthall mysmallbtn" data-sort="true" GridLines="None"
AutoGenerateColumns="false" OnRowDeleting="GVDatos_RowDeleting" OnRowDataBound="GVDatos_RowDataBound">
<Columns>
<asp:TemplateField HeaderText="Probabilidad de Acercamiento" ItemStyle-Width="30%" ItemStyle-HorizontalAlign="Left">
<asp:HyperLinkField HeaderText="Probabilidad de Acercamiento" DataTextField="ProbabilidadAcercamiento" DataNavigateUrlFields="CveProbabilidadAcercamiento" DataNavigateUrlFormatString="/CRM/RepAcercamientosProcesos.aspx?CveProbabilidadAcercamiento={0}"/>
<%--<asp:TemplateField HeaderText="Probabilidad de Acercamiento" ItemStyle-Width="30%" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblProbabilidadAcercamiento" runat="server" Text='<%# Eval("ProbabilidadAcercamiento")%>'> </asp:Label>
</ItemTemplate>
</asp:TemplateField>
</asp:TemplateField>--%>
<%-- <asp:TemplateField HeaderText="Descripción" ItemStyle-Width="25%" ItemStyle-HorizontalAlign="Left">
<ItemTemplate>
<asp:Label ID="lblDescripcion" runat="server" Text='<%# Eval("Descripcion")%>'> </asp:Label>

View File

@@ -5,6 +5,7 @@ using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using Microsoft.Reporting.WebForms;
using Extensiones;
@@ -195,4 +196,35 @@ public partial class CRM_CatProbabilidadAcercamiento : ClsPaginas
}
}
#endregion
protected void LnkImprimir_Click(object sender, EventArgs e)
{
Imprimir("PDF");
}
protected void LnkImprimirExcel_Click(object sender, EventArgs e)
{
Imprimir("EXCEL");
}
private void Imprimir(string formato)
{
System.IO.FileInfo Image = new System.IO.FileInfo(String.Format("{0}/Logo.png", UsuarioActual.Empresa.Ruta));
string logouri = String.Format("{0}://{1}:{2}/Empresas/{3}/Logo.png", Request.Url.Scheme, Request.Url.Host, Request.Url.Port, UsuarioActual.CveEmpresa);
List<ReportParameter> param = new List<ReportParameter>();
param.Add(new ReportParameter("NombreEmpresa", UsuarioActual.Empresa.Empresa));
if (Image.Exists)
{
param.Add(new ReportParameter("LogoPath", logouri));
}
else
{
param.Add(new ReportParameter("LogoPath", ""));
}
param.Add(new ReportParameter("UsuarioImprimio", UsuarioActual.Nombre));
param.Add(new ReportParameter("FechaImpresion", DateTime.Today.ToString()));
ImprimirPDF("Empresas/Grales/Formatos/RepCatProbabilidadAcercamiento", TmpDT, param, "Report Cat Etapas Proceso", formato);
}
}

View File

@@ -302,7 +302,13 @@ public partial class CRM_EmpresaCRM : ClsPaginas
}
if (!ObjBitacora.AddEventoBitacora(Mensaje, "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM))
{
HuboError = true;
}else
{
string asunto = String.Format("Se registró la empresa {0} con datos RFC: {1}, Vendedor: {2}", NombreEmpresa, RFC, Vendedor);
mandarCorreo(asunto, Mensaje);
}
}
}
}
@@ -316,10 +322,15 @@ public partial class CRM_EmpresaCRM : ClsPaginas
if ((CveEncuestaAplicada != 0) && ObjCRM.UpdateEmpresCRM(NombreEmpresa, RFC, CveMedioCaptacion, CveEmpresaCRM, CveVendedorActualizar, UsuarioActual.CveUsuario, CveSubProyecto: CveSubProyecto, Correo: Correo))
{
//if (ObjBitacora.AddEventoBitacora(String.Format("Se actualizó la empresa {0} con RFC {1}", NombreEmpresa, RFC), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM))
//{
HuboError = false;
//}
if (!ObjBitacora.AddEventoBitacora(String.Format("Se actualizó la empresa {0} con RFC {1}", NombreEmpresa, RFC), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM))
{
HuboError = true;
}else
{
string asunto = String.Format("Se actualizó la empresa {0}",NombreEmpresa);
string mensaje = String.Format("Se actualizó la empresa {0} con RFC {1} por el usuario {2}", NombreEmpresa, RFC,UsuarioActual.Nombre);
mandarCorreo(asunto, mensaje);
}
}
}
@@ -563,8 +574,8 @@ public partial class CRM_EmpresaCRM : ClsPaginas
protected void CargaSucursales()
{
DdlSucursales.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
DdlSucursales.DataBind();
//DdlSucursales.DataSource = get_GlobalDTSubProyectosUsuarios(UsuarioActual.CveUsuario, -1, UsuarioActual.CveEmpresa, -1, 1);
//DdlSucursales.DataBind();
DdlSucursales.Items.Insert(0, new ListItem("Todos ", "-1"));
}
@@ -856,6 +867,9 @@ public partial class CRM_EmpresaCRM : ClsPaginas
if (ObjBitacora.AddEventoBitacora(String.Format("Se registró un Contacto con Nombre: {0}{1}{2}{3}", NombreContacto, TelefonoOficina, Celular, Correo), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM))
{
string asunto = "Se registró un Contacto";
string mensaje = String.Format("Se registró un Contacto con Nombre: {0}{1}{2}{3}. Realzado por el usuario {4}", NombreContacto, TelefonoOficina, Celular, Correo,UsuarioActual.Nombre);
mandarCorreo(asunto, mensaje);
HuboError = false;
Alert("El Contacto fue creado correctamente.", ModExtensiones.TipoMensaje.MsgInformacion);
}
@@ -933,7 +947,12 @@ public partial class CRM_EmpresaCRM : ClsPaginas
Alert("El Contacto ha sido eliminado.", ModExtensiones.TipoMensaje.MsgInformacion);
if (ObjBitacora.AddEventoBitacora(String.Format("Se eliminó el contacto {0}", NombreContacto), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM))
{
string asunto = "Se eliminó el contacto";
string mensaje = String.Format("Se eliminó el contacto {0} por el usuario {1}", NombreContacto,UsuarioActual.Nombre);
mandarCorreo(asunto, mensaje);
ObjCRM.Commit();
}
}
else
{
@@ -1079,6 +1098,7 @@ public partial class CRM_EmpresaCRM : ClsPaginas
if (ObjEventos.AddEventoAgenda(DdlTipoAgenda.SelectedValue.ToEntero(), TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text, DdlPrioridadAgenda.SelectedValue.ToEntero(), FechaInicio, FechaInicio, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM, CveContactoCRM: DdlContactoAgenda.SelectedValue.ToEntero()))
{
mandarCorreo(TxtAsuntoAgenda.Text, TxtDescripcionAgenda.Text);
limpiarModalAgendar();
RegistraScript("$('#ModalAgenda').modal('hide')");
Alert("El Evento se agendó correctamente", ModExtensiones.TipoMensaje.MsgInformacion);
@@ -1389,6 +1409,9 @@ public partial class CRM_EmpresaCRM : ClsPaginas
{
if (ObjBitacora.AddEventoBitacora(String.Format("Se registró el Acercamiento {0} como Proceso de Tipo {1}, con Vendedor {2} y Contacto Principal {3}.", NombreAcercamiento, DdlTipoProceso.SelectedItem, DdlVendedor.SelectedItem, DdlContactoPrincipal.SelectedValue == "-1" ? "aun no asignado" : DdlContactoPrincipal.SelectedItem.Text), "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, CveEmpresaCRM: CveEmpresaCRM, CveTipoProcesoCRM: CveTipoProceso, CveAcercamientoCRM: CveAcercamiento, CveContactoCRM: CveContactoPrincipal, CveEtapaProcesoCRM: CveEtapaProcesoActual))
{
string asunto = String.Format("Se registró el Acercamiento {0}",NombreAcercamiento);
string mensaje = String.Format("Se registró el Acercamiento {0} como Proceso de Tipo {1}, con Vendedor {2} y Contacto Principal {3}.", NombreAcercamiento, DdlTipoProceso.SelectedItem, DdlVendedor.SelectedItem, DdlContactoPrincipal.SelectedValue == "-1" ? "aun no asignado" : DdlContactoPrincipal.SelectedItem.Text);
mandarCorreo(asunto, mensaje);
HuboError = false;
}
}
@@ -1471,4 +1494,17 @@ public partial class CRM_EmpresaCRM : ClsPaginas
}
}
#endregion
private void mandarCorreo(string Asunto, string body)
{
DataTable Usuarios = get_GlobalDTUsuarios(CveEmpresa:UsuarioActual.CveEmpresa);
int CveUsuario = Usuarios.FiltroPrimeroValor("CveUsuario",String.Format("CveVendedor = {0}",DdlVendedor.SelectedValue)).ToEntero();
if (CveUsuario != UsuarioActual.CveUsuario)
{
string correoVendedor = Usuarios.FiltroPrimeroValor("Correo", String.Format("CveUsuario = {0}", CveUsuario));
ClsSisMail Mail = new ClsSisMail();
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
//ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, correoVendedor, Asunto,body);
}
}
}

View File

@@ -34,7 +34,7 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server" Text="<i class='fa fa-bar-chart' style='font-style:bold'></i> Gráfica"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -86,6 +86,7 @@
<asp:ListItem Value="2" Text="Medio de Captación"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
</div>
@@ -98,6 +99,7 @@
<asp:ListItem Value="2" Text="Medio Captacion"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
</div>

View File

@@ -107,6 +107,14 @@ public partial class CRM_RepAcercamientosProcesos : ClsPaginas
DdlMedioCaptacion.SelectedValue = "-1";
DdlProbabilidad.SelectedValue = "-1";
DdlTipoProceso.SelectedIndex = 0;
int n;
string CveProbabilidadAcercamiento = Request["CveProbabilidadAcercamiento"];
bool isNumeric = int.TryParse(CveProbabilidadAcercamiento, out n);
if (isNumeric)
{
DdlProbabilidad.SelectedValue = CveProbabilidadAcercamiento;
}
upDatosRepA.Update();
}
protected void cargarDatos()

View File

@@ -34,7 +34,7 @@
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server">Ver Grafica</asp:LinkButton>
<asp:LinkButton ID="LnkVerGrafica" OnClick="LnkVerGrafica_Click" runat="server" Text="<i class='fa fa-bar-chart' style='font-style:bold'></i> Gráfica"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -86,6 +86,7 @@
<asp:ListItem Value="2" Text="Medio de Captación"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por:" AssociatedControlID="DdlGrupo1"></asp:Label>
</div>
@@ -98,6 +99,7 @@
<asp:ListItem Value="2" Text="Medio Captacion"></asp:ListItem>
<asp:ListItem Value="3" Text="Probabilidad de Acercamiento"></asp:ListItem>
<asp:ListItem Value="4" Text="Fecha"></asp:ListItem>
<asp:ListItem Value="5" Text="Sucursal"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" Text="Agrupado Por(2):" AssociatedControlID="DdlGrupo2"></asp:Label>
</div>

51
CRM/Report.rdlc Normal file
View File

@@ -0,0 +1,51 @@
<?xml version="1.0" encoding="utf-8"?>
<Report xmlns="http://schemas.microsoft.com/sqlserver/reporting/2008/01/reportdefinition" xmlns:rd="http://schemas.microsoft.com/SQLServer/reporting/reportdesigner">
<Body>
<ReportItems>
<Textbox Name="Textbox1">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>test reporte</Value>
<Style />
</TextRun>
</TextRuns>
<Style>
<TextAlign>Center</TextAlign>
</Style>
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox1</rd:DefaultName>
<Top>0.69667in</Top>
<Left>1.88417in</Left>
<Height>0.25in</Height>
<Width>2.55208in</Width>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
</ReportItems>
<Height>2in</Height>
<Style />
</Body>
<Width>6.5in</Width>
<Page>
<LeftMargin>1in</LeftMargin>
<RightMargin>1in</RightMargin>
<TopMargin>1in</TopMargin>
<BottomMargin>1in</BottomMargin>
<Style />
</Page>
<AutoRefresh>0</AutoRefresh>
<rd:ReportUnitType>Inch</rd:ReportUnitType>
<rd:ReportID>efa9f51c-a3da-48bc-be7d-74f8599c6070</rd:ReportID>
</Report>

View File

@@ -3572,7 +3572,7 @@ Partial Class PopUpVerFactura
#Region "OP = 'CAN' - CANCELACION"
Public Sub ImprimeCancelacion(CveVenta As Integer)
Dim ObjVentas As New ClsVentas
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) Then
If ObjVentas.GetVenta(CveVenta, UsuarioActual.CveEmpresa) AndAlso ObjVentas.DtResultados IsNot Nothing AndAlso ObjVentas.DtResultados.Rows.Count > 0 Then
Dim drv As DataRow = ObjVentas.DtResultados.Rows(0)
Dim FolioFiscal = drv("FolioFiscal").ToString
Dim SelloCancelacion = drv("SelloCancelacion").ToString

View File

@@ -160,7 +160,7 @@
<asp:UpdatePanel ID="UpDatos" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePlantillaPolizaDetalle, TipoMovimiento, CveSubProyecto, CveProveedor, CvePersonal, CveConcepto, IdCtaContable, Orden" EmptyDataText="No se encontraron Plantilla de Pólizas Registradas" ToolTip="Listado de Plantilla de Pólizas" CssClass="table table-striped table-advance table-hover Widthall" GridLines="None">
<asp:GridView ID="GvDatos" runat="server" AutoGenerateColumns="False" DataKeyNames="CvePlantillaPolizaDetalle, TipoMovimiento, CveSubProyecto, CveProveedor, CvePersonal, CveConcepto, IdCtaContable, Orden,PorcentajeImpuesto" EmptyDataText="No se encontraron Plantilla de Pólizas Registradas" ToolTip="Listado de Plantilla de Pólizas" CssClass="table table-striped table-advance table-hover Widthall" GridLines="None">
<Columns>
<asp:TemplateField HeaderText="Concepto Contable">
<ItemTemplate>
@@ -283,7 +283,13 @@
<label for="<%= TxtOrden.ClientID.ToString()%>">Orden:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPorcentajeImpuesto" CssClass="form-control input-sm select2me js-referencia-programmatic" runat="server" Visible="false" AppendDataBoundItems="true" Width="240px" ValidationGroup="GrpAgregar">
<asp:ListItem Text="8%" Value="0.08"></asp:ListItem>
<asp:ListItem Text="16%" Value="0.16"></asp:ListItem>
</asp:DropDownList>
<label id="LblPorcentajeImpuesto" runat="server" for="<%= DdlPorcentajeImpuesto.ClientID.ToString()%>">Tasa:</label>
</div>
<div class="form-group form-md-line-input input-iconright">
<asp:DropDownList ID="DdlPersonal" CssClass="form-control input-sm select2me js-referencia-programmatic" runat="server" AppendDataBoundItems="true" DataTextField="NombreCompleto" DataValueField="CvePersonal" Width="240px" ValidationGroup="GrpAgregar"></asp:DropDownList>
<label ID="LblPersonal" runat="server" for="<%= DdlPersonal.ClientID.ToString()%>">Personal:</label>

View File

@@ -158,6 +158,7 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
DTDetalle.Columns.Add("IdCtaContable", GetType(Integer))
DTDetalle.Columns.Add("Orden", GetType(String))
DTDetalle.Columns.Add("Usuario", GetType(String))
DTDetalle.Columns.Add("PorcentajeImpuesto", GetType(Decimal))
End Sub
#End Region
@@ -172,7 +173,7 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
CvePlantilla = ObjPlantillaPoliza.CvePlantillaPoliza
If DTDetalle.Rows.Count > 0 Then
For Each Row As DataRow In DTDetalle.Rows
If Not ObjPlantillaPoliza.AddConta_PlantillasPolizasDetalles(CvePlantilla, Row("CveConcepto").ToString.ToEntero, Row("TipoMovto").ToString.ToEntero, Row("IdCtaContable").ToString.ToEntero, Row("Orden").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero) Then
If Not ObjPlantillaPoliza.AddConta_PlantillasPolizasDetalles(CvePlantilla, Row("CveConcepto").ToString.ToEntero, Row("TipoMovto").ToString.ToEntero, Row("IdCtaContable").ToString.ToEntero, Row("Orden").ToString.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, DdlPorcentajeImpuesto.SelectedValue.ToDecimal) Then
ErrorPlantilla = True
Exit For
End If
@@ -228,7 +229,7 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
If HdnModalidad.Value = "I" Then
If CvePlantillaPoliza > 0 Then
If ObjPlantillaPolizaDetalle.AddConta_PlantillasPolizasDetalles(CvePlantillaPoliza, DdlConcepto.SelectedValue.ToEntero, DdlTipoMovimiento.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, TxtOrden.Text.Trim.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero) Then
If ObjPlantillaPolizaDetalle.AddConta_PlantillasPolizasDetalles(CvePlantillaPoliza, DdlConcepto.SelectedValue.ToEntero, DdlTipoMovimiento.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, TxtOrden.Text.Trim.ToEntero, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, DdlPorcentajeImpuesto.SelectedValue.ToDecimal) Then
TxtOrden.Text = ""
updatatos()
Alert("El nuevo Registro se guardó correctamente.", TipoMensaje.MsgInformacion)
@@ -260,7 +261,7 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
If HdnID.Value.ToEntero <> -1 Then
If CvePlantillaPoliza > 0 Then
If ObjPlantillaPolizaDetalle.UpdateConta_PlantillasPolizasDetalle(DdlConcepto.SelectedValue.ToEntero, DdlTipoMovimiento.SelectedValue.ToEntero, DdlCtaContable.SelectedValue.ToEntero, TxtOrden.Text.Trim.ToEntero,
HdnID.Value.ToEntero, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero) Then
HdnID.Value.ToEntero, DDLSubProyecto.SelectedValue.ToEntero, DDLProveedor.SelectedValue.ToEntero, DdlPersonal.SelectedValue.ToEntero, DdlPorcentajeImpuesto.SelectedValue.ToDecimal) Then
Alert("Los cambios se guardaron correctamente.", TipoMensaje.MsgInformacion)
updatatos()
Else
@@ -352,6 +353,13 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
DdlPersonal.Visible = False
LblPersonal.Visible = False
End If
If DdlConcepto.SelectedValue.Contiene("19", "61") Then ' conceptos de IVA Acreditable e IVA Trasladado
DdlPorcentajeImpuesto.Visible = True
LblPorcentajeImpuesto.Visible = True
Else
DdlPorcentajeImpuesto.Visible = False
LblPorcentajeImpuesto.Visible = False
End If
End Sub
@@ -392,6 +400,15 @@ Partial Class Contabilidad_PlantillasPolizasDetalle
DdlPersonal.Visible = False
LblPersonal.Visible = False
End If
If DdlConcepto.SelectedValue.Contiene("19", "61") Then ' conceptos de IVA Acreditable e IVA Trasladado
DdlPorcentajeImpuesto.SelectedValueExist(GvRow.DataKey("PorcentajeImpuesto"))
DdlPorcentajeImpuesto.Visible = True
LblPorcentajeImpuesto.Visible = True
Else
DdlPorcentajeImpuesto.Visible = False
LblPorcentajeImpuesto.Visible = False
End If
UpModal.Update()
RegistraScript(String.Format("$('#{0}').modal();", "divAgregarSucursal"))
CargaDatos()

View File

@@ -302,7 +302,7 @@
</table>
<div style="width: 100%; min-height: 200px; overflow-scrolling: auto;">
<asp:GridView ID="GvMov" runat="server" AutoGenerateColumns="False" ShowHeader="False" DataKeyNames="IdMov,IDCuenta,Cargo,Abono,TipoMovto,CveConcepto,CveProveedor,CvePersonal, CveCompra,CveClasificacion,CveCliente,CveVenta,TC,CveOC" Width="100%" CssClass=" GvMov GvSize table table-striped table-advance table-hover mysmallbtn" GridLines="None">
<asp:GridView ID="GvMov" runat="server" AutoGenerateColumns="False" ShowHeader="False" DataKeyNames="IdMov,IDCuenta,Cargo,Abono,TipoMovto,CveConcepto,CveProveedor,CvePersonal, CveCompra,CveClasificacion,CveCliente,CveVenta,TC,CveOC,PorcentajeImpuesto" Width="100%" CssClass=" GvMov GvSize table table-striped table-advance table-hover mysmallbtn" GridLines="None">
<Columns>
<asp:TemplateField>
<HeaderTemplate>Cuenta</HeaderTemplate>

View File

@@ -296,8 +296,8 @@ Partial Class ContabilidadC_RegPrePoliza
.Add("Cuenta", Type.GetType("System.String"))
.Add("Referencia", Type.GetType("System.String"))
.Add("Concepto", Type.GetType("System.String"))
.Add("Cargo", Type.GetType("System.Double"))
.Add("Abono", Type.GetType("System.Double"))
.Add("Cargo", Type.GetType("System.Decimal"))
.Add("Abono", Type.GetType("System.Decimal"))
.Add("TipoMovto", Type.GetType("System.Int32"))
.Add("EsComodin", Type.GetType("System.Int32"))
.Add("CveConcepto", Type.GetType("System.Int32"))
@@ -316,7 +316,8 @@ Partial Class ContabilidadC_RegPrePoliza
.Add("IdCtaContable", Type.GetType("System.Int32"))
.Add("CveOC", Type.GetType("System.Int32"))
.Add("ConceptoContable", Type.GetType("System.String"))
.Add("TC", Type.GetType("System.Double"))
.Add("TC", Type.GetType("System.Decimal"))
.Add("PorcentajeImpuesto", Type.GetType("System.Decimal"))
End With
End Sub
@@ -714,7 +715,8 @@ Partial Class ContabilidadC_RegPrePoliza
dr("CveProveedor") = drt("CveProveedor")
dr("CvePersonal") = drt("CvePersonal")
dr("CveClasificacion") = -1
dr("MultipleSubProyecto") = drt("MultipleSubProyecto")
dr("MultipleSubProyecto") = drt("MultipleSubProyecto")
dr("PorcentajeImpuesto") = drt("PorcentajeImpuesto")
DtMovimientos.Rows.Add(dr)
Next
@@ -861,6 +863,7 @@ Partial Class ContabilidadC_RegPrePoliza
Dim Importe As Double = 0
Dim TipoMovto As Boolean = False
Dim IdCtaContable As Integer = 0
Dim PorcentajeImpuesto As Decimal = 0
'Registra movimieno bancario
If CveConcepto = 30 Then
@@ -877,7 +880,8 @@ Partial Class ContabilidadC_RegPrePoliza
Dim CveCompra As Integer = -1
'inserto las compras que voy a pagarDdlSaldos
For Each gvr As GridViewRow In GvMov.Rows
For Each gvr As GridViewRow In GvMov.Rows
If gvr.DataKey("IDCuenta").ToEntero > 0 Then
IdCtaContable = gvr.DataKey("IDCuenta")
End If
@@ -919,8 +923,9 @@ Partial Class ContabilidadC_RegPrePoliza
CveProveedor:=CveProveedor, CveCompra:=CveCompra,
CvePersonal:=gvr.DataKey("CvePersonal").ToEntero, CveClasificacion:=gvr.DataKey("CveClasificacion").ToEntero,
ImporteMX:=Importe, CveTipoGasto:=gvr.FCDropDownList("DdlTipoGasto").SelectedValue.ToEntero,
CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, TipoCambio:=If(gvr.DataKey("TC").ToString.ToDouble > 0, gvr.DataKey("TC").ToString.ToDouble, 1),
ImporteME:=If(gvr.DataKey("TC").ToString.ToDouble > 0, (Importe / (gvr.DataKey("TC").ToString.ToDouble - 1)).RoundSQL, 0)) Then
CveCliente:=gvr.DataKey("CveCliente").ToEntero, CveVenta:=gvr.DataKey("CveVenta").ToEntero, TipoCambio:=If(gvr.DataKey("TC").ToString.ToDecimal > 0, gvr.DataKey("TC").ToString.ToDecimal, 1),
ImporteME:=If(gvr.DataKey("TC").ToString.ToDecimal > 0, (Importe / (gvr.DataKey("TC").ToString.ToDecimal - 1)).RoundSQL, 0),
PorcentajeImpuesto:=gvr.DataKey("PorcentajeImpuesto").ToDecimal) Then
Else
MsgError = "No se pudo insertar el detalle de la póliza2"
Exit For

View File

@@ -540,7 +540,7 @@
</Style>
</TextRun>
<TextRun>
<Value>=Sum(Fields!Cantidad.Value, "DsInventarios")</Value>
<Value>=Sum(iif(Not Fields!Clasificacion.Value = "USADOS",CInt(Fields!Cantidad.Value),0),"DsInventarios")</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Normal</FontWeight>
@@ -580,7 +580,7 @@
</Style>
</TextRun>
<TextRun>
<Value>=Sum(iif(Fields!Clasificacion.Value = "USADOS",Fields!Cantidad.Value,0),"DsInventarios")</Value>
<Value>=Sum(iif(Fields!Clasificacion.Value = "USADOS",CInt(Fields!Cantidad.Value),0),"DsInventarios")</Value>
<Style>
<FontSize>8pt</FontSize>
<FontWeight>Normal</FontWeight>
@@ -809,39 +809,6 @@
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox10">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
<Paragraphs>
<Paragraph>
<TextRuns>
<TextRun>
<Value>=Parameters!SubProyecto.Value</Value>
<Style>
<FontSize>12pt</FontSize>
<FontWeight>Bold</FontWeight>
</Style>
</TextRun>
</TextRuns>
<Style />
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox2</rd:DefaultName>
<Top>3.24566cm</Top>
<Left>0.00711cm</Left>
<Height>0.6cm</Height>
<Width>14.27979cm</Width>
<ZIndex>6</ZIndex>
<Style>
<Border>
<Style>None</Style>
</Border>
<PaddingLeft>2pt</PaddingLeft>
<PaddingRight>2pt</PaddingRight>
<PaddingTop>2pt</PaddingTop>
<PaddingBottom>2pt</PaddingBottom>
</Style>
</Textbox>
<Textbox Name="Textbox11">
<CanGrow>true</CanGrow>
<KeepTogether>true</KeepTogether>
@@ -849,7 +816,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>Origen 2: </Value>
<Value>Origen: </Value>
<Style>
<FontSize>12pt</FontSize>
<FontWeight>Bold</FontWeight>
@@ -871,7 +838,7 @@
<Left>0.00711cm</Left>
<Height>0.6cm</Height>
<Width>14.27979cm</Width>
<ZIndex>7</ZIndex>
<ZIndex>6</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -911,7 +878,7 @@
<Left>0.00711cm</Left>
<Height>0.6cm</Height>
<Width>14.27979cm</Width>
<ZIndex>8</ZIndex>
<ZIndex>7</ZIndex>
<Style>
<Border>
<Style>None</Style>
@@ -930,7 +897,7 @@
<Left>0.1121cm</Left>
<Height>2.53711cm</Height>
<Width>4.08574cm</Width>
<ZIndex>9</ZIndex>
<ZIndex>8</ZIndex>
<Style>
<Border>
<Style>None</Style>

View File

@@ -1546,7 +1546,7 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>FACTURA</Value>
<Value>=UCase(Parameters!TipoDocumento.Value)</Value>
<Style>
<FontWeight>Bold</FontWeight>
<Color>White</Color>
@@ -1560,7 +1560,7 @@
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Left>18.23008cm</Left>
<Height>0.6cm</Height>
<Height>0.96018cm</Height>
<Width>2.79101cm</Width>
<ZIndex>7</ZIndex>
<Style>
@@ -1594,7 +1594,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>0.59682cm</Top>
<Top>0.97782cm</Top>
<Left>18.23008cm</Left>
<Height>0.6cm</Height>
<Width>2.79101cm</Width>
@@ -1645,7 +1645,7 @@
</Paragraph>
</Paragraphs>
<rd:DefaultName>Textbox8</rd:DefaultName>
<Top>1.19682cm</Top>
<Top>1.57782cm</Top>
<Left>18.23008cm</Left>
<Height>0.86903cm</Height>
<Width>2.79101cm</Width>
@@ -2462,7 +2462,29 @@
<Paragraph>
<TextRuns>
<TextRun>
<Value>Tipo de Comprobante:I Ingreso,Moneda:</Value>
<Value>Tipo de Comprobante:I </Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
<TextRun>
<Value>=UCase(Parameters!TipoDocumento.Value)</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>calibri</FontFamily>
<FontSize>8pt</FontSize>
<FontWeight>Normal</FontWeight>
<TextDecoration>None</TextDecoration>
<Color>#000000</Color>
</Style>
</TextRun>
<TextRun>
<Value>,Moneda:</Value>
<Style>
<FontStyle>Normal</FontStyle>
<FontFamily>calibri</FontFamily>

View File

@@ -134,7 +134,7 @@ Partial Class Inventarios_PrestamosdeProveedor
'AGREGAMOS LA SALIDA
CveMovimientoSalida = ObjInventario.AddMovimiento(DdlAlmacenOrigen.SelectedValue.ToEntero, 29, 1, Fecha, -1, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, -1, -1, -1, -1,
Observaciones:=TxtObservacionesEntrega.Text.Trim, CveProveedor:=tCveProveedor)
Observaciones:=TxtObservacionesEntrega.Text.Trim, CveProveedor:=tCveProveedor, Modulo:="PresP")
Folio = ObjInventario.Folio
If CveMovimientoSalida <= 0 Then

View File

@@ -2161,49 +2161,57 @@ Partial Class Inventarios_RecepcionEntrega
Dim CvePrePoliza As Integer = ObjConta.AddPrePolizas("Inventario/RecepcionEntrega", 4, TotalCosto, TotalCosto, 1, Fecha, ClienteNombre, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa)
'Se agrega movimiento separado por la cuenta de ventas (ER)
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
TotalCostoAcumulado += ValorInventario
'cuando es el último movimiento y hay diferencias en los importes
If cont = DtCostos.FiltraParametros("", "", {"CveClasificacion"}).Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
End If
If CvePrePoliza > 0 Then
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString, Row2("SubProyecto").ToString)
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
For Each RowInv As DataRow In tmpCostos.Rows
ValorInventario = DtCostos.SUMD("Total", $"CveClasificacion = {RowInv("CveClasificacion")}").RoundSQL()
TotalCostoAcumulado += ValorInventario
If Not ErrorMovInv Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorMultiplicador * ValorInventario, SerieFolio, 69, SerieFolio, Fecha, IdCtaContable, -1, CveVenta:=CveVentaSurtir, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=CveSubProyecto, ImporteMX:=ValorMultiplicador * ValorInventario, CveCuenta:=CveCuenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then
ErrorMovInv = True
'cuando es el último movimiento y hay diferencias en los importes
If cont = DtCostos.FiltraParametros("", "", {"CveClasificacion"}).Rows.Count AndAlso TotalCosto <> TotalCostoAcumulado Then
ValorInventario = ValorInventario + (TotalCosto - TotalCostoAcumulado)
End If
'Concepto = String.Format("{0} - {1}", Row2("Clasificacion").ToString, Row2("SubProyecto").ToString)
IdCtaContable = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostos", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
CveCuenta = GlobalDTClasificaciones(UsuarioActual.CveEmpresa).FiltroPrimeroValor("IdCuentaCostosSIG", $"CveClasificacion = {RowInv("CveClasificacion")}").ToEntero
If Not ErrorMovInv Then
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, False, ValorMultiplicador * ValorInventario, SerieFolio, 69, SerieFolio, Fecha, IdCtaContable, -1, CveVenta:=CveVentaSurtir, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=CveSubProyecto, ImporteMX:=ValorMultiplicador * ValorInventario, CveCuenta:=CveCuenta, CveClasificacion:=RowInv("CveClasificacion").ToString.ToEntero) Then
ErrorMovInv = True
End If
End If
cont += 1
Next
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorMultiplicador * TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveVenta:=CveVentaSurtir, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=CveSubProyecto, ImporteMX:=ValorMultiplicador * TotalCosto, CveCuenta:=CveCuentaAlmacen) Then
ErrorMovInv = True
End If
cont += 1
Next
'AutoConta - El movimiento 1 es el de Venta
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
If Not ObjConta.AddPrePolizasDetalle(CvePrePoliza, True, ValorMultiplicador * TotalCosto, SerieFolio, 68, SerieFolio, Fecha, IdCtaContableAlmacen, -1, CveVenta:=CveVentaSurtir, CveCliente:=CveCliente, CveMovimientoAlmacen:=CveMovimiento, CveSubProyecto:=CveSubProyecto, ImporteMX:=ValorMultiplicador * TotalCosto, CveCuenta:=CveCuentaAlmacen) Then
If AutoConta And Not ErrorMovInv Then
Dim ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
If IdCtaContable > 0 Then
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico")
ErrorMovInv = True
TextoError = "Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico"
End If
Else
Alert(String.Format("No se puede contabilizar ya que falta asignación de las cuentas contables"), TipoMensaje.MsgAdvertencia)
End If
ObjContPaq.Dispose()
End If
Else
ErrorMovInv = True
TextoError = "Ocurrió un Error al ingresar la prepoliza"
End If
'AutoConta - El movimiento 1 es el de Venta
Dim AutoConta As Boolean = UsuarioActual.Empresa.Funcionalidad(200) = "1"
If AutoConta And Not ErrorMovInv Then
Dim ObjContPaq = New ClsContPAQi(UsuarioActual.Empresa)
If IdCtaContable > 0 Then
If Not ObjConta.ContabilizarPrePoliza(CvePrePoliza, UsuarioActual.CveUsuario, UsuarioActual.Empresa, ObjConta:=ObjContPaq) Then
Alert("Ocurrio un Error al contabilizar, pongase en contacto con Soporte Técnico")
End If
Else
Alert(String.Format("No se puede contabilizar ya que falta asignación de las cuentas contables"), TipoMensaje.MsgAdvertencia)
End If
ObjContPaq.Dispose()
End If
Else
ErrorMovInv = True
TextoError = "Ocurrió un Error al ingresar las prepolizas"

View File

@@ -1838,7 +1838,7 @@ div.md-checkbox {
position: relative;
}
.form-group.form-md-line-input .form-control ~ label {
.form-group.form-md-line-input .form-control:not(textarea) ~ label {
bottom: auto;
padding-bottom: 28px;
}

View File

@@ -1,5 +1,5 @@
/* Ion.RangeSlider
// css version 1.9.2
// css version 2.0.3
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
@@ -8,62 +8,61 @@
.irs {
position: relative; display: block;
-webkit-touch-callout: none;
-webkit-user-select: none;
-khtml-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
}
.irs-line {
position: relative; display: block;
overflow: hidden;
outline: none !important;
}
.irs-line-left, .irs-line-mid, .irs-line-right {
position: absolute; display: block;
top: 0;
}
.irs-line-left {
left: 0; width: 10%;
left: 0; width: 11%;
}
.irs-line-mid {
left: 9%; width: 82%;
}
.irs-line-right {
right: 0; width: 10%;
right: 0; width: 11%;
}
.irs-diapason {
.irs-bar {
position: absolute; display: block;
left: 0; width: 100%;
left: 0; width: 0;
}
.irs-bar-edge {
position: absolute; display: block;
top: 0; left: 0;
}
.irs-shadow {
position: absolute; display: none;
left: 0; width: 0;
}
.irs-slider {
position: absolute; display: block;
cursor: default;
z-index: 1;
}
.irs-slider.single {
left: 10px;
}
.irs-slider.single:before {
position: absolute; display: block; content: "";
top: -30%; left: -30%;
width: 160%; height: 160%;
background: rgba(0,0,0,0.0);
}
.irs-slider.from {
left: 100px;
}
.irs-slider.from:before {
position: absolute; display: block; content: "";
top: -30%; left: -30%;
width: 130%; height: 160%;
background: rgba(0,0,0,0.0);
}
.irs-slider.to {
left: 300px;
}
.irs-slider.to:before {
position: absolute; display: block; content: "";
top: -30%; left: 0;
width: 130%; height: 160%;
background: rgba(0,0,0,0.0);
}
.irs-slider.last {
.irs-slider.type_last {
z-index: 2;
}
@@ -85,7 +84,6 @@
white-space: nowrap;
}
.irs-grid {
position: absolute; display: none;
bottom: 0; left: 0;
@@ -106,17 +104,17 @@
.irs-grid-text {
position: absolute;
bottom: 0; left: 0;
width: 100px;
white-space: nowrap;
text-align: center;
font-size: 9px; line-height: 9px;
padding: 0 3px;
color: #000;
}
.irs-disable-mask {
position: absolute; display: block;
top: 0; left: 0;
width: 100%; height: 100%;
top: 0; left: -1%;
width: 102%; height: 100%;
cursor: default;
background: rgba(0,0,0,0.0);
z-index: 2;
@@ -124,3 +122,25 @@
.irs-disabled {
opacity: 0.4;
}
.lt-ie9 .irs-disabled {
filter: alpha(opacity=40);
}
.irs-hidden-input {
position: absolute !important;
display: block !important;
top: 0 !important;
left: 0 !important;
width: 0 !important;
height: 0 !important;
font-size: 0 !important;
line-height: 0 !important;
padding: 0 !important;
margin: 0 !important;
outline: none !important;
z-index: -9999 !important;
background: none !important;
border-style: solid !important;
border-color: transparent !important;
}

View File

@@ -1,6 +1,6 @@
/* Ion.RangeSlider, Flat UI Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// css version 2.0.3
// © Denis Ineshin, 2014 https://github.com/IonDen
// ===================================================================================================================*/
/* =====================================================================================================================
@@ -9,7 +9,8 @@
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-bar,
.irs-bar-edge,
.irs-slider {
background: url(../img/sprite-skin-flat.png) repeat-x;
}
@@ -36,19 +37,33 @@
background-position: 100% -30px;
}
.irs-diapason {
.irs-bar {
height: 12px; top: 25px;
background-position: 0 -60px;
}
.irs-bar-edge {
top: 25px;
height: 12px; width: 9px;
background-position: 0 -90px;
}
.irs-shadow {
height: 3px; top: 34px;
background: #000;
opacity: 0.25;
}
.lt-ie9 .irs-shadow {
filter: alpha(opacity=25);
}
.irs-slider {
width: 16px; height: 18px;
top: 22px;
background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
background-position: 0 -120px;
}
.irs-slider.state_hover, .irs-slider:hover {
background-position: 0 -150px;
}
.irs-min, .irs-max {
color: #999;
@@ -56,6 +71,7 @@
text-shadow: none;
top: 0; padding: 1px 3px;
background: #e1e4e9;
-moz-border-radius: 4px;
border-radius: 4px;
}
@@ -65,6 +81,7 @@
text-shadow: none;
padding: 1px 5px;
background: #ed5565;
-moz-border-radius: 4px;
border-radius: 4px;
}
.irs-from:after, .irs-to:after, .irs-single:after {

View File

@@ -0,0 +1,124 @@
/* Ion.RangeSlider, Simple Skin
// css version 2.0.3
// © Denis Ineshin, 2014 https://github.com/IonDen
// © guybowden, 2014 https://github.com/guybowden
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs {
height: 55px;
}
.irs-with-grid {
height: 75px;
}
.irs-line {
height: 10px; top: 33px;
background: #EEE;
background: linear-gradient(to bottom, #DDD -50%, #FFF 150%); /* W3C */
border: 1px solid #CCC;
border-radius: 16px;
-moz-border-radius: 16px;
}
.irs-line-left {
height: 8px;
}
.irs-line-mid {
height: 8px;
}
.irs-line-right {
height: 8px;
}
.irs-bar {
height: 10px; top: 33px;
border-top: 1px solid #428bca;
border-bottom: 1px solid #428bca;
background: #428bca;
background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
}
.irs-bar-edge {
height: 10px; top: 33px;
width: 14px;
border: 1px solid #428bca;
border-right: 0;
background: #428bca;
background: linear-gradient(to top, rgba(66,139,202,1) 0%,rgba(127,195,232,1) 100%); /* W3C */
border-radius: 16px 0 0 16px;
-moz-border-radius: 16px 0 0 16px;
}
.irs-shadow {
height: 2px; top: 38px;
background: #000;
opacity: 0.3;
border-radius: 5px;
-moz-border-radius: 5px;
}
.lt-ie9 .irs-shadow {
filter: alpha(opacity=30);
}
.irs-slider {
top: 25px;
width: 27px; height: 27px;
border: 1px solid #AAA;
background: #DDD;
background: linear-gradient(to bottom, rgba(255,255,255,1) 0%,rgba(220,220,220,1) 20%,rgba(255,255,255,1) 100%); /* W3C */
border-radius: 27px;
-moz-border-radius: 27px;
box-shadow: 1px 1px 3px rgba(0,0,0,0.3);
cursor: pointer;
}
.irs-slider.state_hover, .irs-slider:hover {
background: #FFF;
}
.irs-min, .irs-max {
color: #333;
font-size: 12px; line-height: 1.333;
text-shadow: none;
top: 0;
padding: 1px 5px;
background: rgba(0,0,0,0.1);
border-radius: 3px;
-moz-border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
background: #ccc;
}
.irs-from, .irs-to, .irs-single {
color: #fff;
font-size: 14px; line-height: 1.333;
text-shadow: none;
padding: 1px 5px;
background: #428bca;
border-radius: 3px;
-moz-border-radius: 3px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
background: #999;
}
.irs-grid {
height: 27px;
}
.irs-grid-pol {
opacity: 0.5;
background: #428bca;
}
.irs-grid-pol.small {
background: #999;
}
.irs-grid-text {
bottom: 5px;
color: #99a4ac;
}
.irs-disabled {
}

View File

@@ -0,0 +1,116 @@
/* Ion.RangeSlider, Modern Skin
// css version 2.0.3
// © Denis Ineshin, 2014 https://github.com/IonDen
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-bar,
.irs-bar-edge,
.irs-slider {
background: url(../img/sprite-skin-modern.png) repeat-x;
}
.irs {
height: 50px;
}
.irs-with-grid {
height: 70px;
}
.irs-line {
height: 6px; top: 25px;
}
.irs-line-left {
height: 6px;
background-position: 0 -30px;
}
.irs-line-mid {
height: 6px;
background-position: 0 0;
}
.irs-line-right {
height: 6px;
background-position: 100% -30px;
}
.irs-bar {
height: 6px; top: 25px;
background-position: 0 -60px;
}
.irs-bar-edge {
top: 25px;
height: 6px; width: 6px;
background-position: 0 -90px;
}
.irs-shadow {
height: 5px; top: 25px;
background: #000;
opacity: 0.25;
}
.lt-ie9 .irs-shadow {
filter: alpha(opacity=25);
}
.irs-slider {
width: 11px; height: 18px;
top: 31px;
background-position: 0 -120px;
}
.irs-slider.state_hover, .irs-slider:hover {
background-position: 0 -150px;
}
.irs-min, .irs-max {
color: #999;
font-size: 10px; line-height: 1.333;
text-shadow: none;
top: 0; padding: 1px 3px;
background: #e1e4e9;
-moz-border-radius: 4px;
border-radius: 4px;
}
.irs-from, .irs-to, .irs-single {
color: #fff;
font-size: 10px; line-height: 1.333;
text-shadow: none;
padding: 1px 5px;
background: #20b426;
-moz-border-radius: 4px;
border-radius: 4px;
}
.irs-from:after, .irs-to:after, .irs-single:after {
position: absolute; display: block; content: "";
bottom: -6px; left: 50%;
width: 0; height: 0;
margin-left: -3px;
overflow: hidden;
border: 3px solid transparent;
border-top-color: #20b426;
}
.irs-grid {
height: 34px;
}
.irs-grid-pol {
background: #c0c0c0;
}
.irs-grid-text {
bottom: 12px;
color: #c0c0c0;
}
.irs-disable-mask {
}
.irs-disabled {
}
.lt-ie9 .irs-disabled {
}

View File

@@ -1,6 +1,6 @@
/* Ion.RangeSlider, Nice Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// css version 2.0.3
// © Denis Ineshin, 2014 https://github.com/IonDen
// ===================================================================================================================*/
/* =====================================================================================================================
@@ -9,7 +9,8 @@
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-bar,
.irs-bar-edge,
.irs-slider {
background: url(../img/sprite-skin-nice.png) repeat-x;
}
@@ -36,19 +37,33 @@
background-position: 100% -30px;
}
.irs-diapason {
.irs-bar {
height: 8px; top: 25px;
background-position: 0 -60px;
}
.irs-bar-edge {
top: 25px;
height: 8px; width: 11px;
background-position: 0 -90px;
}
.irs-shadow {
height: 1px; top: 34px;
background: #000;
opacity: 0.15;
}
.lt-ie9 .irs-shadow {
filter: alpha(opacity=15);
}
.irs-slider {
width: 22px; height: 22px;
top: 17px;
background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
background-position: 0 -120px;
}
.irs-slider.state_hover, .irs-slider:hover {
background-position: 0 -150px;
}
.irs-min, .irs-max {
color: #999;
@@ -56,6 +71,7 @@
text-shadow: none;
top: 0; padding: 1px 3px;
background: rgba(0,0,0,0.1);
-moz-border-radius: 3px;
border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
@@ -68,6 +84,7 @@
text-shadow: none;
padding: 1px 5px;
background: rgba(0,0,0,0.3);
-moz-border-radius: 3px;
border-radius: 3px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {

View File

@@ -1,6 +1,6 @@
/* Ion.RangeSlider, Simple Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// css version 2.0.3
// © Denis Ineshin, 2014 https://github.com/IonDen
// ===================================================================================================================*/
/* =====================================================================================================================
@@ -9,7 +9,8 @@
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-bar,
.irs-bar-edge,
.irs-slider {
background: url(../img/sprite-skin-simple.png) repeat-x;
}
@@ -36,19 +37,33 @@
background-position: 100% -30px;
}
.irs-diapason {
.irs-bar {
height: 6px; top: 25px;
background-position: 0 -60px;
}
.irs-bar-edge {
top: 25px;
height: 6px; width: 7px;
background-position: 0 -90px;
}
.irs-shadow {
height: 1px; top: 34px;
background: #000;
opacity: 0.75;
}
.lt-ie9 .irs-shadow {
filter: alpha(opacity=75);
}
.irs-slider {
width: 8px; height: 15px;
top: 21px;
background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
background-position: 0 -120px;
}
.irs-slider.state_hover, .irs-slider:hover {
background-position: 0 -150px;
}
.irs-min, .irs-max {
color: #c0c0c0;
@@ -56,6 +71,7 @@
text-shadow: none;
top: 0; padding: 1px 3px;
background: rgba(0,0,0,0.1);
-moz-border-radius: 3px;
border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
@@ -68,6 +84,7 @@
text-shadow: none;
padding: 1px 5px;
background: rgba(255,255,255,0.8);
-moz-border-radius: 3px;
border-radius: 3px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {

View File

@@ -0,0 +1,427 @@
/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/**
* 1. Set default font family to sans-serif.
* 2. Prevent iOS text size adjust after orientation change, without disabling
* user zoom.
*/
html {
font-family: sans-serif; /* 1 */
-ms-text-size-adjust: 100%; /* 2 */
-webkit-text-size-adjust: 100%; /* 2 */
}
/**
* Remove default margin.
*/
body {
margin: 0;
}
/* HTML5 display definitions
========================================================================== */
/**
* Correct `block` display not defined for any HTML5 element in IE 8/9.
* Correct `block` display not defined for `details` or `summary` in IE 10/11
* and Firefox.
* Correct `block` display not defined for `main` in IE 11.
*/
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
main,
menu,
nav,
section,
summary {
display: block;
}
/**
* 1. Correct `inline-block` display not defined in IE 8/9.
* 2. Normalize vertical alignment of `progress` in Chrome, Firefox, and Opera.
*/
audio,
canvas,
progress,
video {
display: inline-block; /* 1 */
vertical-align: baseline; /* 2 */
}
/**
* Prevent modern browsers from displaying `audio` without controls.
* Remove excess height in iOS 5 devices.
*/
audio:not([controls]) {
display: none;
height: 0;
}
/**
* Address `[hidden]` styling not present in IE 8/9/10.
* Hide the `template` element in IE 8/9/11, Safari, and Firefox < 22.
*/
[hidden],
template {
display: none;
}
/* Links
========================================================================== */
/**
* Remove the gray background color from active links in IE 10.
*/
a {
background-color: transparent;
}
/**
* Improve readability when focused and also mouse hovered in all browsers.
*/
a:active,
a:hover {
outline: 0;
}
/* Text-level semantics
========================================================================== */
/**
* Address styling not present in IE 8/9/10/11, Safari, and Chrome.
*/
abbr[title] {
border-bottom: 1px dotted;
}
/**
* Address style set to `bolder` in Firefox 4+, Safari, and Chrome.
*/
b,
strong {
font-weight: bold;
}
/**
* Address styling not present in Safari and Chrome.
*/
dfn {
font-style: italic;
}
/**
* Address variable `h1` font-size and margin within `section` and `article`
* contexts in Firefox 4+, Safari, and Chrome.
*/
h1 {
font-size: 2em;
margin: 0.67em 0;
}
/**
* Address styling not present in IE 8/9.
*/
mark {
background: #ff0;
color: #000;
}
/**
* Address inconsistent and variable font size in all browsers.
*/
small {
font-size: 80%;
}
/**
* Prevent `sub` and `sup` affecting `line-height` in all browsers.
*/
sub,
sup {
font-size: 75%;
line-height: 0;
position: relative;
vertical-align: baseline;
}
sup {
top: -0.5em;
}
sub {
bottom: -0.25em;
}
/* Embedded content
========================================================================== */
/**
* Remove border when inside `a` element in IE 8/9/10.
*/
img {
border: 0;
}
/**
* Correct overflow not hidden in IE 9/10/11.
*/
svg:not(:root) {
overflow: hidden;
}
/* Grouping content
========================================================================== */
/**
* Address margin not present in IE 8/9 and Safari.
*/
figure {
margin: 1em 40px;
}
/**
* Address differences between Firefox and other browsers.
*/
hr {
-moz-box-sizing: content-box;
box-sizing: content-box;
height: 0;
}
/**
* Contain overflow in all browsers.
*/
pre {
overflow: auto;
}
/**
* Address odd `em`-unit font size rendering in all browsers.
*/
code,
kbd,
pre,
samp {
font-family: monospace, monospace;
font-size: 1em;
}
/* Forms
========================================================================== */
/**
* Known limitation: by default, Chrome and Safari on OS X allow very limited
* styling of `select`, unless a `border` property is set.
*/
/**
* 1. Correct color not being inherited.
* Known issue: affects color of disabled elements.
* 2. Correct font properties not being inherited.
* 3. Address margins set differently in Firefox 4+, Safari, and Chrome.
*/
button,
input,
optgroup,
select,
textarea {
color: inherit; /* 1 */
font: inherit; /* 2 */
margin: 0; /* 3 */
}
/**
* Address `overflow` set to `hidden` in IE 8/9/10/11.
*/
button {
overflow: visible;
}
/**
* Address inconsistent `text-transform` inheritance for `button` and `select`.
* All other form control elements do not inherit `text-transform` values.
* Correct `button` style inheritance in Firefox, IE 8/9/10/11, and Opera.
* Correct `select` style inheritance in Firefox.
*/
button,
select {
text-transform: none;
}
/**
* 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio`
* and `video` controls.
* 2. Correct inability to style clickable `input` types in iOS.
* 3. Improve usability and consistency of cursor style between image-type
* `input` and others.
*/
button,
html input[type="button"], /* 1 */
input[type="reset"],
input[type="submit"] {
-webkit-appearance: button; /* 2 */
cursor: pointer; /* 3 */
}
/**
* Re-set default cursor for disabled elements.
*/
button[disabled],
html input[disabled] {
cursor: default;
}
/**
* Remove inner padding and border in Firefox 4+.
*/
button::-moz-focus-inner,
input::-moz-focus-inner {
border: 0;
padding: 0;
}
/**
* Address Firefox 4+ setting `line-height` on `input` using `!important` in
* the UA stylesheet.
*/
input {
line-height: normal;
}
/**
* It's recommended that you don't attempt to style these elements.
* Firefox's implementation doesn't respect box-sizing, padding, or width.
*
* 1. Address box sizing set to `content-box` in IE 8/9/10.
* 2. Remove excess padding in IE 8/9/10.
*/
input[type="checkbox"],
input[type="radio"] {
box-sizing: border-box; /* 1 */
padding: 0; /* 2 */
}
/**
* Fix the cursor style for Chrome's increment/decrement buttons. For certain
* `font-size` values of the `input`, it causes the cursor style of the
* decrement button to change from `default` to `text`.
*/
input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button {
height: auto;
}
/**
* 1. Address `appearance` set to `searchfield` in Safari and Chrome.
* 2. Address `box-sizing` set to `border-box` in Safari and Chrome
* (include `-moz` to future-proof).
*/
input[type="search"] {
-webkit-appearance: textfield; /* 1 */
-moz-box-sizing: content-box;
-webkit-box-sizing: content-box; /* 2 */
box-sizing: content-box;
}
/**
* Remove inner padding and search cancel button in Safari and Chrome on OS X.
* Safari (but not Chrome) clips the cancel button when the search input has
* padding (and `textfield` appearance).
*/
input[type="search"]::-webkit-search-cancel-button,
input[type="search"]::-webkit-search-decoration {
-webkit-appearance: none;
}
/**
* Define consistent border, margin, and padding.
*/
fieldset {
border: 1px solid #c0c0c0;
margin: 0 2px;
padding: 0.35em 0.625em 0.75em;
}
/**
* 1. Correct `color` not being inherited in IE 8/9/10/11.
* 2. Remove padding so people aren't caught out if they zero out fieldsets.
*/
legend {
border: 0; /* 1 */
padding: 0; /* 2 */
}
/**
* Remove default vertical scrollbar in IE 8/9/10/11.
*/
textarea {
overflow: auto;
}
/**
* Don't inherit the `font-weight` (applied by a rule above).
* NOTE: the default cannot safely be changed in Chrome and Safari on OS X.
*/
optgroup {
font-weight: bold;
}
/* Tables
========================================================================== */
/**
* Remove most spacing between table cells.
*/
table {
border-collapse: collapse;
border-spacing: 0;
}
td,
th {
padding: 0;
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 352 B

After

Width:  |  Height:  |  Size: 304 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 505 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1022 B

After

Width:  |  Height:  |  Size: 694 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 385 B

After

Width:  |  Height:  |  Size: 358 B

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,71 @@
// Ion.RangeSlider | version 2.0.13 | https://github.com/IonDen/ion.rangeSlider
;(function(e,r,h,t,v){var u=0,p=function(){var a=t.userAgent,b=/msie\s\d+/i;return 0<a.search(b)&&(a=b.exec(a).toString(),a=a.split(" ")[1],9>a)?(e("html").addClass("lt-ie9"),!0):!1}();Function.prototype.bind||(Function.prototype.bind=function(a){var b=this,c=[].slice;if("function"!=typeof b)throw new TypeError;var d=c.call(arguments,1),f=function(){if(this instanceof f){var g=function(){};g.prototype=b.prototype;var g=new g,l=b.apply(g,d.concat(c.call(arguments)));return Object(l)===l?l:g}return b.apply(a,
d.concat(c.call(arguments)))};return f});Array.prototype.indexOf||(Array.prototype.indexOf=function(a,b){var c;if(null==this)throw new TypeError('"this" is null or not defined');var d=Object(this),f=d.length>>>0;if(0===f)return-1;c=+b||0;Infinity===Math.abs(c)&&(c=0);if(c>=f)return-1;for(c=Math.max(0<=c?c:f-Math.abs(c),0);c<f;){if(c in d&&d[c]===a)return c;c++}return-1});var q=function(a,b,c){this.VERSION="2.0.13";this.input=a;this.plugin_count=c;this.old_to=this.old_from=this.update_tm=this.calc_count=
this.current_plugin=0;this.raf_id=null;this.is_update=this.is_key=this.force_redraw=this.dragging=!1;this.is_start=!0;this.is_click=this.is_resize=this.is_active=this.is_finish=!1;this.$cache={win:e(h),body:e(r.body),input:e(a),cont:null,rs:null,min:null,max:null,from:null,to:null,single:null,bar:null,line:null,s_single:null,s_from:null,s_to:null,shad_single:null,shad_from:null,shad_to:null,edge:null,grid:null,grid_labels:[]};c=this.$cache.input;a={type:c.data("type"),min:c.data("min"),max:c.data("max"),
from:c.data("from"),to:c.data("to"),step:c.data("step"),min_interval:c.data("minInterval"),max_interval:c.data("maxInterval"),drag_interval:c.data("dragInterval"),values:c.data("values"),from_fixed:c.data("fromFixed"),from_min:c.data("fromMin"),from_max:c.data("fromMax"),from_shadow:c.data("fromShadow"),to_fixed:c.data("toFixed"),to_min:c.data("toMin"),to_max:c.data("toMax"),to_shadow:c.data("toShadow"),prettify_enabled:c.data("prettifyEnabled"),prettify_separator:c.data("prettifySeparator"),force_edges:c.data("forceEdges"),
keyboard:c.data("keyboard"),keyboard_step:c.data("keyboardStep"),grid:c.data("grid"),grid_margin:c.data("gridMargin"),grid_num:c.data("gridNum"),grid_snap:c.data("gridSnap"),hide_min_max:c.data("hideMinMax"),hide_from_to:c.data("hideFromTo"),prefix:c.data("prefix"),postfix:c.data("postfix"),max_postfix:c.data("maxPostfix"),decorate_both:c.data("decorateBoth"),values_separator:c.data("valuesSeparator"),disable:c.data("disable")};a.values=a.values&&a.values.split(",");if(c=c.prop("value"))c=c.split(";"),
c[0]&&c[0]==+c[0]&&(c[0]=+c[0]),c[1]&&c[1]==+c[1]&&(c[1]=+c[1]),b&&b.values&&b.values.length?(a.from=c[0]&&b.values.indexOf(c[0]),a.to=c[1]&&b.values.indexOf(c[1])):(a.from=c[0]&&+c[0],a.to=c[1]&&+c[1]);b=e.extend(a,b);this.options=e.extend({type:"single",min:10,max:100,from:null,to:null,step:1,min_interval:0,max_interval:0,drag_interval:!1,values:[],p_values:[],from_fixed:!1,from_min:null,from_max:null,from_shadow:!1,to_fixed:!1,to_min:null,to_max:null,to_shadow:!1,prettify_enabled:!0,prettify_separator:" ",
prettify:null,force_edges:!1,keyboard:!1,keyboard_step:5,grid:!1,grid_margin:!0,grid_num:4,grid_snap:!1,hide_min_max:!1,hide_from_to:!1,prefix:"",postfix:"",max_postfix:"",decorate_both:!0,values_separator:" \u2014 ",disable:!1,onStart:null,onChange:null,onFinish:null,onUpdate:null},b);this.validate();this.result={input:this.$cache.input,slider:null,min:this.options.min,max:this.options.max,from:this.options.from,from_percent:0,from_value:null,to:this.options.to,to_percent:0,to_value:null};this.coords=
{x_gap:0,x_pointer:0,w_rs:0,w_rs_old:0,w_handle:0,p_gap:0,p_gap_left:0,p_gap_right:0,p_step:0,p_pointer:0,p_handle:0,p_single:0,p_single_real:0,p_from:0,p_from_real:0,p_to:0,p_to_real:0,p_bar_x:0,p_bar_w:0,grid_gap:0,big_num:0,big:[],big_w:[],big_p:[],big_x:[]};this.labels={w_min:0,w_max:0,w_from:0,w_to:0,w_single:0,p_min:0,p_max:0,p_from:0,p_from_left:0,p_to:0,p_to_left:0,p_single:0,p_single_left:0};this.init()};q.prototype={init:function(a){this.coords.p_step=this.options.step/((this.options.max-
this.options.min)/100);this.target="base";this.toggleInput();this.append();this.setMinMax();a?(this.force_redraw=!0,this.calc(!0),this.callOnUpdate()):(this.force_redraw=!0,this.calc(!0),this.callOnStart());this.updateScene()},append:function(){this.$cache.input.before('<span class="irs js-irs-'+this.plugin_count+'"></span>');this.$cache.input.prop("readonly",!0);this.$cache.cont=this.$cache.input.prev();this.result.slider=this.$cache.cont;this.$cache.cont.html('<span class="irs"><span class="irs-line" tabindex="-1"><span class="irs-line-left"></span><span class="irs-line-mid"></span><span class="irs-line-right"></span></span><span class="irs-min">0</span><span class="irs-max">1</span><span class="irs-from">0</span><span class="irs-to">0</span><span class="irs-single">0</span></span><span class="irs-grid"></span><span class="irs-bar"></span>');
this.$cache.rs=this.$cache.cont.find(".irs");this.$cache.min=this.$cache.cont.find(".irs-min");this.$cache.max=this.$cache.cont.find(".irs-max");this.$cache.from=this.$cache.cont.find(".irs-from");this.$cache.to=this.$cache.cont.find(".irs-to");this.$cache.single=this.$cache.cont.find(".irs-single");this.$cache.bar=this.$cache.cont.find(".irs-bar");this.$cache.line=this.$cache.cont.find(".irs-line");this.$cache.grid=this.$cache.cont.find(".irs-grid");"single"===this.options.type?(this.$cache.cont.append('<span class="irs-bar-edge"></span><span class="irs-shadow shadow-single"></span><span class="irs-slider single"></span>'),
this.$cache.edge=this.$cache.cont.find(".irs-bar-edge"),this.$cache.s_single=this.$cache.cont.find(".single"),this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility="hidden",this.$cache.shad_single=this.$cache.cont.find(".shadow-single")):(this.$cache.cont.append('<span class="irs-shadow shadow-from"></span><span class="irs-shadow shadow-to"></span><span class="irs-slider from"></span><span class="irs-slider to"></span>'),this.$cache.s_from=this.$cache.cont.find(".from"),
this.$cache.s_to=this.$cache.cont.find(".to"),this.$cache.shad_from=this.$cache.cont.find(".shadow-from"),this.$cache.shad_to=this.$cache.cont.find(".shadow-to"),this.setTopHandler());this.options.hide_from_to&&(this.$cache.from[0].style.display="none",this.$cache.to[0].style.display="none",this.$cache.single[0].style.display="none");this.appendGrid();this.options.disable?(this.appendDisableMask(),this.$cache.input[0].disabled=!0):(this.$cache.cont.removeClass("irs-disabled"),this.$cache.input[0].disabled=
!1,this.bindEvents())},setTopHandler:function(){var a=this.options.max,b=this.options.to;this.options.from>this.options.min&&b===a?this.$cache.s_from.addClass("type_last"):b<a&&this.$cache.s_to.addClass("type_last")},appendDisableMask:function(){this.$cache.cont.append('<span class="irs-disable-mask"></span>');this.$cache.cont.addClass("irs-disabled")},remove:function(){this.$cache.cont.remove();this.$cache.cont=null;this.$cache.line.off("keydown.irs_"+this.plugin_count);this.$cache.body.off("touchmove.irs_"+
this.plugin_count);this.$cache.body.off("mousemove.irs_"+this.plugin_count);this.$cache.win.off("touchend.irs_"+this.plugin_count);this.$cache.win.off("mouseup.irs_"+this.plugin_count);p&&(this.$cache.body.off("mouseup.irs_"+this.plugin_count),this.$cache.body.off("mouseleave.irs_"+this.plugin_count));this.$cache.grid_labels=[];this.coords.big=[];this.coords.big_w=[];this.coords.big_p=[];this.coords.big_x=[];cancelAnimationFrame(this.raf_id)},bindEvents:function(){this.$cache.body.on("touchmove.irs_"+
this.plugin_count,this.pointerMove.bind(this));this.$cache.body.on("mousemove.irs_"+this.plugin_count,this.pointerMove.bind(this));this.$cache.win.on("touchend.irs_"+this.plugin_count,this.pointerUp.bind(this));this.$cache.win.on("mouseup.irs_"+this.plugin_count,this.pointerUp.bind(this));this.$cache.line.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"));this.$cache.line.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click"));this.options.drag_interval&&
"double"===this.options.type?(this.$cache.bar.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"both")),this.$cache.bar.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"both"))):(this.$cache.bar.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.bar.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")));"single"===this.options.type?(this.$cache.single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,
"single")),this.$cache.s_single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.shad_single.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.s_single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"single")),this.$cache.edge.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_single.on("mousedown.irs_"+
this.plugin_count,this.pointerClick.bind(this,"click"))):(this.$cache.single.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.single.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.from.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.s_from.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.to.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,
"to")),this.$cache.s_to.on("touchstart.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.shad_from.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_to.on("touchstart.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.from.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.s_from.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"from")),this.$cache.to.on("mousedown.irs_"+
this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.s_to.on("mousedown.irs_"+this.plugin_count,this.pointerDown.bind(this,"to")),this.$cache.shad_from.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")),this.$cache.shad_to.on("mousedown.irs_"+this.plugin_count,this.pointerClick.bind(this,"click")));if(this.options.keyboard)this.$cache.line.on("keydown.irs_"+this.plugin_count,this.key.bind(this,"keyboard"));p&&(this.$cache.body.on("mouseup.irs_"+this.plugin_count,
this.pointerUp.bind(this)),this.$cache.body.on("mouseleave.irs_"+this.plugin_count,this.pointerUp.bind(this)))},pointerMove:function(a){this.dragging&&(this.coords.x_pointer=(a.pageX||a.originalEvent.touches&&a.originalEvent.touches[0].pageX)-this.coords.x_gap,this.calc())},pointerUp:function(a){if(this.current_plugin===this.plugin_count&&this.is_active){this.is_active=!1;if(e.contains(this.$cache.cont[0],a.target)||this.dragging)this.is_finish=!0,this.callOnFinish();this.$cache.cont.find(".state_hover").removeClass("state_hover");
this.force_redraw=!0;this.dragging=!1;p&&e("*").prop("unselectable",!1);this.updateScene()}},changeLevel:function(a){switch(a){case "single":this.coords.p_gap=this.toFixed(this.coords.p_pointer-this.coords.p_single);break;case "from":this.coords.p_gap=this.toFixed(this.coords.p_pointer-this.coords.p_from);this.$cache.s_from.addClass("state_hover");this.$cache.s_from.addClass("type_last");this.$cache.s_to.removeClass("type_last");break;case "to":this.coords.p_gap=this.toFixed(this.coords.p_pointer-
this.coords.p_to);this.$cache.s_to.addClass("state_hover");this.$cache.s_to.addClass("type_last");this.$cache.s_from.removeClass("type_last");break;case "both":this.coords.p_gap_left=this.toFixed(this.coords.p_pointer-this.coords.p_from),this.coords.p_gap_right=this.toFixed(this.coords.p_to-this.coords.p_pointer),this.$cache.s_to.removeClass("type_last"),this.$cache.s_from.removeClass("type_last")}},pointerDown:function(a,b){b.preventDefault();var c=b.pageX||b.originalEvent.touches&&b.originalEvent.touches[0].pageX;
2!==b.button&&(this.current_plugin=this.plugin_count,this.target=a,this.dragging=this.is_active=!0,this.coords.x_gap=this.$cache.rs.offset().left,this.coords.x_pointer=c-this.coords.x_gap,this.calcPointer(),this.changeLevel(a),p&&e("*").prop("unselectable",!0),this.$cache.line.trigger("focus"),this.updateScene())},pointerClick:function(a,b){b.preventDefault();var c=b.pageX||b.originalEvent.touches&&b.originalEvent.touches[0].pageX;2!==b.button&&(this.current_plugin=this.plugin_count,this.target=a,
this.is_click=!0,this.coords.x_gap=this.$cache.rs.offset().left,this.coords.x_pointer=+(c-this.coords.x_gap).toFixed(),this.force_redraw=!0,this.calc(),this.$cache.line.trigger("focus"))},key:function(a,b){if(!(this.current_plugin!==this.plugin_count||b.altKey||b.ctrlKey||b.shiftKey||b.metaKey)){switch(b.which){case 83:case 65:case 40:case 37:b.preventDefault();this.moveByKey(!1);break;case 87:case 68:case 38:case 39:b.preventDefault(),this.moveByKey(!0)}return!0}},moveByKey:function(a){var b=this.coords.p_pointer,
b=a?b+this.options.keyboard_step:b-this.options.keyboard_step;this.coords.x_pointer=this.toFixed(this.coords.w_rs/100*b);this.is_key=!0;this.calc()},setMinMax:function(){this.options&&(this.options.hide_min_max?(this.$cache.min[0].style.display="none",this.$cache.max[0].style.display="none"):(this.options.values.length?(this.$cache.min.html(this.decorate(this.options.p_values[this.options.min])),this.$cache.max.html(this.decorate(this.options.p_values[this.options.max]))):(this.$cache.min.html(this.decorate(this._prettify(this.options.min),
this.options.min)),this.$cache.max.html(this.decorate(this._prettify(this.options.max),this.options.max))),this.labels.w_min=this.$cache.min.outerWidth(!1),this.labels.w_max=this.$cache.max.outerWidth(!1)))},calc:function(a){if(this.options){this.calc_count++;if(10===this.calc_count||a)this.calc_count=0,this.coords.w_rs=this.$cache.rs.outerWidth(!1),this.coords.w_handle="single"===this.options.type?this.$cache.s_single.outerWidth(!1):this.$cache.s_from.outerWidth(!1);if(this.coords.w_rs){this.calcPointer();
this.coords.p_handle=this.toFixed(this.coords.w_handle/this.coords.w_rs*100);a=100-this.coords.p_handle;var b=this.toFixed(this.coords.p_pointer-this.coords.p_gap);"click"===this.target&&(this.coords.p_gap=this.coords.p_handle/2,b=this.toFixed(this.coords.p_pointer-this.coords.p_gap),this.target=this.chooseHandle(b));0>b?b=0:b>a&&(b=a);switch(this.target){case "base":b=(this.options.max-this.options.min)/100;a=(this.result.from-this.options.min)/b;b=(this.result.to-this.options.min)/b;this.coords.p_single_real=
this.toFixed(a);this.coords.p_from_real=this.toFixed(a);this.coords.p_to_real=this.toFixed(b);this.coords.p_single_real=this.checkDiapason(this.coords.p_single_real,this.options.from_min,this.options.from_max);this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max);this.coords.p_single=this.toFixed(a-this.coords.p_handle/100*a);this.coords.p_from=
this.toFixed(a-this.coords.p_handle/100*a);this.coords.p_to=this.toFixed(b-this.coords.p_handle/100*b);this.target=null;break;case "single":if(this.options.from_fixed)break;this.coords.p_single_real=this.calcWithStep(b/a*100);this.coords.p_single_real=this.checkDiapason(this.coords.p_single_real,this.options.from_min,this.options.from_max);this.coords.p_single=this.toFixed(this.coords.p_single_real/100*a);break;case "from":if(this.options.from_fixed)break;this.coords.p_from_real=this.calcWithStep(b/
a*100);this.coords.p_from_real>this.coords.p_to_real&&(this.coords.p_from_real=this.coords.p_to_real);this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max);this.coords.p_from_real=this.checkMinInterval(this.coords.p_from_real,this.coords.p_to_real,"from");this.coords.p_from_real=this.checkMaxInterval(this.coords.p_from_real,this.coords.p_to_real,"from");this.coords.p_from=this.toFixed(this.coords.p_from_real/100*a);break;case "to":if(this.options.to_fixed)break;
this.coords.p_to_real=this.calcWithStep(b/a*100);this.coords.p_to_real<this.coords.p_from_real&&(this.coords.p_to_real=this.coords.p_from_real);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max);this.coords.p_to_real=this.checkMinInterval(this.coords.p_to_real,this.coords.p_from_real,"to");this.coords.p_to_real=this.checkMaxInterval(this.coords.p_to_real,this.coords.p_from_real,"to");this.coords.p_to=this.toFixed(this.coords.p_to_real/100*a);break;
case "both":if(this.options.from_fixed||this.options.to_fixed)break;b=this.toFixed(b+.1*this.coords.p_handle);this.coords.p_from_real=this.calcWithStep((b-this.coords.p_gap_left)/a*100);this.coords.p_from_real=this.checkDiapason(this.coords.p_from_real,this.options.from_min,this.options.from_max);this.coords.p_from_real=this.checkMinInterval(this.coords.p_from_real,this.coords.p_to_real,"from");this.coords.p_from=this.toFixed(this.coords.p_from_real/100*a);this.coords.p_to_real=this.calcWithStep((b+
this.coords.p_gap_right)/a*100);this.coords.p_to_real=this.checkDiapason(this.coords.p_to_real,this.options.to_min,this.options.to_max);this.coords.p_to_real=this.checkMinInterval(this.coords.p_to_real,this.coords.p_from_real,"to");this.coords.p_to=this.toFixed(this.coords.p_to_real/100*a)}"single"===this.options.type?(this.coords.p_bar_x=this.coords.p_handle/2,this.coords.p_bar_w=this.coords.p_single,this.result.from_percent=this.coords.p_single_real,this.result.from=this.calcReal(this.coords.p_single_real),
this.options.values.length&&(this.result.from_value=this.options.values[this.result.from])):(this.coords.p_bar_x=this.toFixed(this.coords.p_from+this.coords.p_handle/2),this.coords.p_bar_w=this.toFixed(this.coords.p_to-this.coords.p_from),this.result.from_percent=this.coords.p_from_real,this.result.from=this.calcReal(this.coords.p_from_real),this.result.to_percent=this.coords.p_to_real,this.result.to=this.calcReal(this.coords.p_to_real),this.options.values.length&&(this.result.from_value=this.options.values[this.result.from],
this.result.to_value=this.options.values[this.result.to]));this.calcMinMax();this.calcLabels()}}},calcPointer:function(){this.coords.w_rs?(0>this.coords.x_pointer||isNaN(this.coords.x_pointer)?this.coords.x_pointer=0:this.coords.x_pointer>this.coords.w_rs&&(this.coords.x_pointer=this.coords.w_rs),this.coords.p_pointer=this.toFixed(this.coords.x_pointer/this.coords.w_rs*100)):this.coords.p_pointer=0},chooseHandle:function(a){return"single"===this.options.type?"single":a>=this.coords.p_from_real+(this.coords.p_to_real-
this.coords.p_from_real)/2?this.options.to_fixed?"from":"to":this.options.from_fixed?"to":"from"},calcMinMax:function(){this.coords.w_rs&&(this.labels.p_min=this.labels.w_min/this.coords.w_rs*100,this.labels.p_max=this.labels.w_max/this.coords.w_rs*100)},calcLabels:function(){this.coords.w_rs&&!this.options.hide_from_to&&("single"===this.options.type?(this.labels.w_single=this.$cache.single.outerWidth(!1),this.labels.p_single=this.labels.w_single/this.coords.w_rs*100,this.labels.p_single_left=this.coords.p_single+
this.coords.p_handle/2-this.labels.p_single/2):(this.labels.w_from=this.$cache.from.outerWidth(!1),this.labels.p_from=this.labels.w_from/this.coords.w_rs*100,this.labels.p_from_left=this.coords.p_from+this.coords.p_handle/2-this.labels.p_from/2,this.labels.p_from_left=this.toFixed(this.labels.p_from_left),this.labels.p_from_left=this.checkEdges(this.labels.p_from_left,this.labels.p_from),this.labels.w_to=this.$cache.to.outerWidth(!1),this.labels.p_to=this.labels.w_to/this.coords.w_rs*100,this.labels.p_to_left=
this.coords.p_to+this.coords.p_handle/2-this.labels.p_to/2,this.labels.p_to_left=this.toFixed(this.labels.p_to_left),this.labels.p_to_left=this.checkEdges(this.labels.p_to_left,this.labels.p_to),this.labels.w_single=this.$cache.single.outerWidth(!1),this.labels.p_single=this.labels.w_single/this.coords.w_rs*100,this.labels.p_single_left=(this.labels.p_from_left+this.labels.p_to_left+this.labels.p_to)/2-this.labels.p_single/2,this.labels.p_single_left=this.toFixed(this.labels.p_single_left)),this.labels.p_single_left=
this.checkEdges(this.labels.p_single_left,this.labels.p_single))},updateScene:function(){this.raf_id&&(cancelAnimationFrame(this.raf_id),this.raf_id=null);clearTimeout(this.update_tm);this.update_tm=null;this.options&&(this.drawHandles(),this.is_active?this.raf_id=requestAnimationFrame(this.updateScene.bind(this)):this.update_tm=setTimeout(this.updateScene.bind(this),300))},drawHandles:function(){this.coords.w_rs=this.$cache.rs.outerWidth(!1);if(this.coords.w_rs){this.coords.w_rs!==this.coords.w_rs_old&&
(this.target="base",this.is_resize=!0);if(this.coords.w_rs!==this.coords.w_rs_old||this.force_redraw)this.setMinMax(),this.calc(!0),this.drawLabels(),this.options.grid&&(this.calcGridMargin(),this.calcGridLabels()),this.force_redraw=!0,this.coords.w_rs_old=this.coords.w_rs,this.drawShadow();if(this.coords.w_rs&&(this.dragging||this.force_redraw||this.is_key)){if(this.old_from!==this.result.from||this.old_to!==this.result.to||this.force_redraw||this.is_key){this.drawLabels();this.$cache.bar[0].style.left=
this.coords.p_bar_x+"%";this.$cache.bar[0].style.width=this.coords.p_bar_w+"%";if("single"===this.options.type)this.$cache.s_single[0].style.left=this.coords.p_single+"%",this.$cache.single[0].style.left=this.labels.p_single_left+"%",this.options.values.length?(this.$cache.input.prop("value",this.result.from_value),this.$cache.input.data("from",this.result.from_value)):(this.$cache.input.prop("value",this.result.from),this.$cache.input.data("from",this.result.from));else{this.$cache.s_from[0].style.left=
this.coords.p_from+"%";this.$cache.s_to[0].style.left=this.coords.p_to+"%";if(this.old_from!==this.result.from||this.force_redraw)this.$cache.from[0].style.left=this.labels.p_from_left+"%";if(this.old_to!==this.result.to||this.force_redraw)this.$cache.to[0].style.left=this.labels.p_to_left+"%";this.$cache.single[0].style.left=this.labels.p_single_left+"%";this.options.values.length?(this.$cache.input.prop("value",this.result.from_value+";"+this.result.to_value),this.$cache.input.data("from",this.result.from_value),
this.$cache.input.data("to",this.result.to_value)):(this.$cache.input.prop("value",this.result.from+";"+this.result.to),this.$cache.input.data("from",this.result.from),this.$cache.input.data("to",this.result.to))}this.old_from===this.result.from&&this.old_to===this.result.to||this.is_start||this.$cache.input.trigger("change");this.old_from=this.result.from;this.old_to=this.result.to;this.is_resize||this.is_update||this.is_start||this.is_finish||this.callOnChange();(this.is_key||this.is_click)&&this.callOnFinish();
this.is_finish=this.is_resize=this.is_update=!1}this.force_redraw=this.is_click=this.is_key=this.is_start=!1}}},callOnStart:function(){if(this.options.onStart&&"function"===typeof this.options.onStart)this.options.onStart(this.result)},callOnChange:function(){if(this.options.onChange&&"function"===typeof this.options.onChange)this.options.onChange(this.result)},callOnFinish:function(){if(this.options.onFinish&&"function"===typeof this.options.onFinish)this.options.onFinish(this.result)},callOnUpdate:function(){if(this.options.onUpdate&&
"function"===typeof this.options.onUpdate)this.options.onUpdate(this.result)},drawLabels:function(){if(this.options){var a=this.options.values.length,b=this.options.p_values,c;if(!this.options.hide_from_to)if("single"===this.options.type)a=a?this.decorate(b[this.result.from]):this.decorate(this._prettify(this.result.from),this.result.from),this.$cache.single.html(a),this.calcLabels(),this.$cache.min[0].style.visibility=this.labels.p_single_left<this.labels.p_min+1?"hidden":"visible",this.$cache.max[0].style.visibility=
this.labels.p_single_left+this.labels.p_single>100-this.labels.p_max-1?"hidden":"visible";else{a?(this.options.decorate_both?(a=this.decorate(b[this.result.from]),a+=this.options.values_separator,a+=this.decorate(b[this.result.to])):a=this.decorate(b[this.result.from]+this.options.values_separator+b[this.result.to]),c=this.decorate(b[this.result.from]),b=this.decorate(b[this.result.to])):(this.options.decorate_both?(a=this.decorate(this._prettify(this.result.from),this.result.from),a+=this.options.values_separator,
a+=this.decorate(this._prettify(this.result.to),this.result.to)):a=this.decorate(this._prettify(this.result.from)+this.options.values_separator+this._prettify(this.result.to),this.result.to),c=this.decorate(this._prettify(this.result.from),this.result.from),b=this.decorate(this._prettify(this.result.to),this.result.to));this.$cache.single.html(a);this.$cache.from.html(c);this.$cache.to.html(b);this.calcLabels();b=Math.min(this.labels.p_single_left,this.labels.p_from_left);a=this.labels.p_single_left+
this.labels.p_single;c=this.labels.p_to_left+this.labels.p_to;var d=Math.max(a,c);this.labels.p_from_left+this.labels.p_from>=this.labels.p_to_left?(this.$cache.from[0].style.visibility="hidden",this.$cache.to[0].style.visibility="hidden",this.$cache.single[0].style.visibility="visible",this.result.from===this.result.to?(this.$cache.from[0].style.visibility="visible",this.$cache.single[0].style.visibility="hidden",d=c):(this.$cache.from[0].style.visibility="hidden",this.$cache.single[0].style.visibility=
"visible",d=Math.max(a,c))):(this.$cache.from[0].style.visibility="visible",this.$cache.to[0].style.visibility="visible",this.$cache.single[0].style.visibility="hidden");this.$cache.min[0].style.visibility=b<this.labels.p_min+1?"hidden":"visible";this.$cache.max[0].style.visibility=d>100-this.labels.p_max-1?"hidden":"visible"}}},drawShadow:function(){var a=this.options,b=this.$cache,c="number"===typeof a.from_min&&!isNaN(a.from_min),d="number"===typeof a.from_max&&!isNaN(a.from_max),f="number"===
typeof a.to_min&&!isNaN(a.to_min),g="number"===typeof a.to_max&&!isNaN(a.to_max);"single"===a.type?a.from_shadow&&(c||d)?(c=this.calcPercent(c?a.from_min:a.min),d=this.calcPercent(d?a.from_max:a.max)-c,c=this.toFixed(c-this.coords.p_handle/100*c),d=this.toFixed(d-this.coords.p_handle/100*d),c+=this.coords.p_handle/2,b.shad_single[0].style.display="block",b.shad_single[0].style.left=c+"%",b.shad_single[0].style.width=d+"%"):b.shad_single[0].style.display="none":(a.from_shadow&&(c||d)?(c=this.calcPercent(c?
a.from_min:a.min),d=this.calcPercent(d?a.from_max:a.max)-c,c=this.toFixed(c-this.coords.p_handle/100*c),d=this.toFixed(d-this.coords.p_handle/100*d),c+=this.coords.p_handle/2,b.shad_from[0].style.display="block",b.shad_from[0].style.left=c+"%",b.shad_from[0].style.width=d+"%"):b.shad_from[0].style.display="none",a.to_shadow&&(f||g)?(f=this.calcPercent(f?a.to_min:a.min),a=this.calcPercent(g?a.to_max:a.max)-f,f=this.toFixed(f-this.coords.p_handle/100*f),a=this.toFixed(a-this.coords.p_handle/100*a),
f+=this.coords.p_handle/2,b.shad_to[0].style.display="block",b.shad_to[0].style.left=f+"%",b.shad_to[0].style.width=a+"%"):b.shad_to[0].style.display="none")},toggleInput:function(){this.$cache.input.toggleClass("irs-hidden-input")},calcPercent:function(a){return this.toFixed((a-this.options.min)/((this.options.max-this.options.min)/100))},calcReal:function(a){var b=this.options.min,c=this.options.max,d=b.toString().split(".")[1],f=c.toString().split(".")[1],g,l,k=0,e=0;if(0===a)return this.options.min;
if(100===a)return this.options.max;d&&(k=g=d.length);f&&(k=l=f.length);g&&l&&(k=g>=l?g:l);0>b&&(e=Math.abs(b),b=+(b+e).toFixed(k),c=+(c+e).toFixed(k));a=(c-b)/100*a+b;(b=this.options.step.toString().split(".")[1])?a=+a.toFixed(b.length):(a/=this.options.step,a*=this.options.step,a=+a.toFixed(0));e&&(a-=e);e=b?+a.toFixed(b.length):this.toFixed(a);e<this.options.min?e=this.options.min:e>this.options.max&&(e=this.options.max);return e},calcWithStep:function(a){var b=Math.round(a/this.coords.p_step)*
this.coords.p_step;100<b&&(b=100);100===a&&(b=100);return this.toFixed(b)},checkMinInterval:function(a,b,c){var d=this.options;if(!d.min_interval)return a;a=this.calcReal(a);b=this.calcReal(b);"from"===c?b-a<d.min_interval&&(a=b-d.min_interval):a-b<d.min_interval&&(a=b+d.min_interval);return this.calcPercent(a)},checkMaxInterval:function(a,b,c){var d=this.options;if(!d.max_interval)return a;a=this.calcReal(a);b=this.calcReal(b);"from"===c?b-a>d.max_interval&&(a=b-d.max_interval):a-b>d.max_interval&&
(a=b+d.max_interval);return this.calcPercent(a)},checkDiapason:function(a,b,c){a=this.calcReal(a);var d=this.options;"number"!==typeof b&&(b=d.min);"number"!==typeof c&&(c=d.max);a<b&&(a=b);a>c&&(a=c);return this.calcPercent(a)},toFixed:function(a){a=a.toFixed(9);return+a},_prettify:function(a){return this.options.prettify_enabled?this.options.prettify&&"function"===typeof this.options.prettify?this.options.prettify(a):this.prettify(a):a},prettify:function(a){return a.toString().replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g,
"$1"+this.options.prettify_separator)},checkEdges:function(a,b){if(!this.options.force_edges)return this.toFixed(a);0>a?a=0:a>100-b&&(a=100-b);return this.toFixed(a)},validate:function(){var a=this.options,b=this.result,c=a.values,d=c.length,f,g;"string"===typeof a.min&&(a.min=+a.min);"string"===typeof a.max&&(a.max=+a.max);"string"===typeof a.from&&(a.from=+a.from);"string"===typeof a.to&&(a.to=+a.to);"string"===typeof a.step&&(a.step=+a.step);"string"===typeof a.from_min&&(a.from_min=+a.from_min);
"string"===typeof a.from_max&&(a.from_max=+a.from_max);"string"===typeof a.to_min&&(a.to_min=+a.to_min);"string"===typeof a.to_max&&(a.to_max=+a.to_max);"string"===typeof a.keyboard_step&&(a.keyboard_step=+a.keyboard_step);"string"===typeof a.grid_num&&(a.grid_num=+a.grid_num);a.max<=a.min&&(a.max=a.min?2*a.min:a.min+1,a.step=1);if(d)for(a.p_values=[],a.min=0,a.max=d-1,a.step=1,a.grid_num=a.max,a.grid_snap=!0,g=0;g<d;g++)f=+c[g],isNaN(f)?f=c[g]:(c[g]=f,f=this._prettify(f)),a.p_values.push(f);if("number"!==
typeof a.from||isNaN(a.from))a.from=a.min;if("number"!==typeof a.to||isNaN(a.from))a.to=a.max;if("single"===a.type)a.from<a.min&&(a.from=a.min),a.from>a.max&&(a.from=a.max);else{if(a.from<a.min||a.from>a.max)a.from=a.min;if(a.to>a.max||a.to<a.min)a.to=a.max;a.from>a.to&&(a.from=a.to)}if("number"!==typeof a.step||isNaN(a.step)||!a.step||0>a.step)a.step=1;if("number"!==typeof a.keyboard_step||isNaN(a.keyboard_step)||!a.keyboard_step||0>a.keyboard_step)a.keyboard_step=5;"number"===typeof a.from_min&&
a.from<a.from_min&&(a.from=a.from_min);"number"===typeof a.from_max&&a.from>a.from_max&&(a.from=a.from_max);"number"===typeof a.to_min&&a.to<a.to_min&&(a.to=a.to_min);"number"===typeof a.to_max&&a.from>a.to_max&&(a.to=a.to_max);if(b){b.min!==a.min&&(b.min=a.min);b.max!==a.max&&(b.max=a.max);if(b.from<b.min||b.from>b.max)b.from=a.from;if(b.to<b.min||b.to>b.max)b.to=a.to}if("number"!==typeof a.min_interval||isNaN(a.min_interval)||!a.min_interval||0>a.min_interval)a.min_interval=0;if("number"!==typeof a.max_interval||
isNaN(a.max_interval)||!a.max_interval||0>a.max_interval)a.max_interval=0;a.min_interval&&a.min_interval>a.max-a.min&&(a.min_interval=a.max-a.min);a.max_interval&&a.max_interval>a.max-a.min&&(a.max_interval=a.max-a.min)},decorate:function(a,b){var c="",d=this.options;d.prefix&&(c+=d.prefix);c+=a;d.max_postfix&&(d.values.length&&a===d.p_values[d.max]?(c+=d.max_postfix,d.postfix&&(c+=" ")):b===d.max&&(c+=d.max_postfix,d.postfix&&(c+=" ")));d.postfix&&(c+=d.postfix);return c},updateFrom:function(){this.result.from=
this.options.from;this.result.from_percent=this.calcPercent(this.result.from);this.options.values&&(this.result.from_value=this.options.values[this.result.from])},updateTo:function(){this.result.to=this.options.to;this.result.to_percent=this.calcPercent(this.result.to);this.options.values&&(this.result.to_value=this.options.values[this.result.to])},updateResult:function(){this.result.min=this.options.min;this.result.max=this.options.max;this.updateFrom();this.updateTo()},appendGrid:function(){if(this.options.grid){var a=
this.options,b,c;b=a.max-a.min;var d=a.grid_num,f=0,g=0,e=4,k,h,m=0,n="";this.calcGridMargin();a.grid_snap?(d=b/a.step,f=this.toFixed(a.step/(b/100))):f=this.toFixed(100/d);4<d&&(e=3);7<d&&(e=2);14<d&&(e=1);28<d&&(e=0);for(b=0;b<d+1;b++){k=e;g=this.toFixed(f*b);100<g&&(g=100,k-=2,0>k&&(k=0));this.coords.big[b]=g;h=(g-f*(b-1))/(k+1);for(c=1;c<=k&&0!==g;c++)m=this.toFixed(g-h*c),n+='<span class="irs-grid-pol small" style="left: '+m+'%"></span>';n+='<span class="irs-grid-pol" style="left: '+g+'%"></span>';
m=this.calcReal(g);m=a.values.length?a.p_values[m]:this._prettify(m);n+='<span class="irs-grid-text js-grid-text-'+b+'" style="left: '+g+'%">'+m+"</span>"}this.coords.big_num=Math.ceil(d+1);this.$cache.cont.addClass("irs-with-grid");this.$cache.grid.html(n);this.cacheGridLabels()}},cacheGridLabels:function(){var a,b,c=this.coords.big_num;for(b=0;b<c;b++)a=this.$cache.grid.find(".js-grid-text-"+b),this.$cache.grid_labels.push(a);this.calcGridLabels()},calcGridLabels:function(){var a,b;b=[];var c=[],
d=this.coords.big_num;for(a=0;a<d;a++)this.coords.big_w[a]=this.$cache.grid_labels[a].outerWidth(!1),this.coords.big_p[a]=this.toFixed(this.coords.big_w[a]/this.coords.w_rs*100),this.coords.big_x[a]=this.toFixed(this.coords.big_p[a]/2),b[a]=this.toFixed(this.coords.big[a]-this.coords.big_x[a]),c[a]=this.toFixed(b[a]+this.coords.big_p[a]);this.options.force_edges&&(b[0]<-this.coords.grid_gap&&(b[0]=-this.coords.grid_gap,c[0]=this.toFixed(b[0]+this.coords.big_p[0]),this.coords.big_x[0]=this.coords.grid_gap),
c[d-1]>100+this.coords.grid_gap&&(c[d-1]=100+this.coords.grid_gap,b[d-1]=this.toFixed(c[d-1]-this.coords.big_p[d-1]),this.coords.big_x[d-1]=this.toFixed(this.coords.big_p[d-1]-this.coords.grid_gap)));this.calcGridCollision(2,b,c);this.calcGridCollision(4,b,c);for(a=0;a<d;a++)b=this.$cache.grid_labels[a][0],b.style.marginLeft=-this.coords.big_x[a]+"%"},calcGridCollision:function(a,b,c){var d,f,g,e=this.coords.big_num;for(d=0;d<e;d+=a){f=d+a/2;if(f>=e)break;g=this.$cache.grid_labels[f][0];g.style.visibility=
c[d]<=b[f]?"visible":"hidden"}},calcGridMargin:function(){this.options.grid_margin&&(this.coords.w_rs=this.$cache.rs.outerWidth(!1),this.coords.w_rs&&(this.coords.w_handle="single"===this.options.type?this.$cache.s_single.outerWidth(!1):this.$cache.s_from.outerWidth(!1),this.coords.p_handle=this.toFixed(this.coords.w_handle/this.coords.w_rs*100),this.coords.grid_gap=this.toFixed(this.coords.p_handle/2-.1),this.$cache.grid[0].style.width=this.toFixed(100-this.coords.p_handle)+"%",this.$cache.grid[0].style.left=
this.coords.grid_gap+"%"))},update:function(a){this.input&&(this.is_update=!0,this.options.from=this.result.from,this.options.to=this.result.to,this.options=e.extend(this.options,a),this.validate(),this.updateResult(a),this.toggleInput(),this.remove(),this.init(!0))},reset:function(){this.input&&(this.updateResult(),this.update())},destroy:function(){this.input&&(this.toggleInput(),this.$cache.input.prop("readonly",!1),e.data(this.input,"ionRangeSlider",null),this.remove(),this.options=this.input=
null)}};e.fn.ionRangeSlider=function(a){return this.each(function(){e.data(this,"ionRangeSlider")||e.data(this,"ionRangeSlider",new q(this,a,u++))})};(function(){for(var a=0,b=["ms","moz","webkit","o"],c=0;c<b.length&&!h.requestAnimationFrame;++c)h.requestAnimationFrame=h[b[c]+"RequestAnimationFrame"],h.cancelAnimationFrame=h[b[c]+"CancelAnimationFrame"]||h[b[c]+"CancelRequestAnimationFrame"];h.requestAnimationFrame||(h.requestAnimationFrame=function(b,c){var g=(new Date).getTime(),e=Math.max(0,16-
(g-a)),k=h.setTimeout(function(){b(g+e)},e);a=g+e;return k});h.cancelAnimationFrame||(h.cancelAnimationFrame=function(a){clearTimeout(a)})})()})(jQuery,document,window,navigator);

View File

@@ -0,0 +1,87 @@
/* Ion.RangeSlider, Nice Skin
// css version 1.5.11
// by Denis Ineshin | ionden.com
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-slider {
background:#E5E5E5;
}
.irs-diapason {
background: #ffb848;
}
.irs {
height: 40px;
}
.irs-with-grid {
height: 60px;
}
.irs-line {
height: 8px; top: 25px;
}
.irs-line-left {
height: 8px;
}
.irs-line-mid {
height: 8px;
}
.irs-line-right {
height: 8px;
}
.irs-diapason {
height: 8px; top: 25px;
}
.irs-slider {
width: 13px;
height: 24px;
top: 17px;
border:1px solid #fefefe;
background:#777;
border-radius: 3px;
}
#irs-active-slider, .irs-slider:hover {
}
.irs-min, .irs-max {
color: #999;
font-size: 10px;
line-height: 1.333;
text-shadow: none;
top: 0; padding: 1px 3px;
background: rgba(0,0,0,0.1);
border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
background: #ccc;
}
.irs-from, .irs-to, .irs-single {
color: #fff;
font-size: 10px; line-height: 1.333;
text-shadow: none;
padding: 1px 5px;
background: rgba(0,0,0,0.3);
border-radius: 3px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
background: #999;
}
.irs-grid-pol {
background: #99a4ac;
}
.irs-grid-text {
color: #99a4ac;
}

View File

@@ -0,0 +1,126 @@
/* Ion.RangeSlider
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// RangeSlider */
.irs {
position: relative; display: block;
}
.irs-line {
position: relative; display: block;
overflow: hidden;
}
.irs-line-left, .irs-line-mid, .irs-line-right {
position: absolute; display: block;
top: 0;
}
.irs-line-left {
left: 0; width: 10%;
}
.irs-line-mid {
left: 9%; width: 82%;
}
.irs-line-right {
right: 0; width: 10%;
}
.irs-diapason {
position: absolute; display: block;
left: 0; width: 100%;
}
.irs-slider {
position: absolute; display: block;
cursor: default;
z-index: 1;
}
.irs-slider.single {
left: 10px;
}
.irs-slider.single:before {
position: absolute; display: block; content: "";
top: -30%; left: -30%;
width: 160%; height: 160%;
background: rgba(0,0,0,0.0);
}
.irs-slider.from {
left: 100px;
}
.irs-slider.from:before {
position: absolute; display: block; content: "";
top: -30%; left: -30%;
width: 130%; height: 160%;
background: rgba(0,0,0,0.0);
}
.irs-slider.to {
left: 300px;
}
.irs-slider.to:before {
position: absolute; display: block; content: "";
top: -30%; left: 0;
width: 130%; height: 160%;
background: rgba(0,0,0,0.0);
}
.irs-slider.last {
z-index: 2;
}
.irs-min {
position: absolute; display: block;
left: 0;
cursor: default;
}
.irs-max {
position: absolute; display: block;
right: 0;
cursor: default;
}
.irs-from, .irs-to, .irs-single {
position: absolute; display: block;
top: 0; left: 0;
cursor: default;
white-space: nowrap;
}
.irs-grid {
position: absolute; display: none;
bottom: 0; left: 0;
width: 100%; height: 20px;
}
.irs-with-grid .irs-grid {
display: block;
}
.irs-grid-pol {
position: absolute;
top: 0; left: 0;
width: 1px; height: 8px;
background: #000;
}
.irs-grid-pol.small {
height: 4px;
}
.irs-grid-text {
position: absolute;
bottom: 0; left: 0;
width: 100px;
white-space: nowrap;
text-align: center;
font-size: 9px; line-height: 9px;
color: #000;
}
.irs-disable-mask {
position: absolute; display: block;
top: 0; left: 0;
width: 100%; height: 100%;
cursor: default;
background: rgba(0,0,0,0.0);
z-index: 2;
}
.irs-disabled {
opacity: 0.4;
}

View File

@@ -0,0 +1,89 @@
/* Ion.RangeSlider, Flat UI Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-slider {
background: url(../img/sprite-skin-flat.png) repeat-x;
}
.irs {
height: 40px;
}
.irs-with-grid {
height: 60px;
}
.irs-line {
height: 12px; top: 25px;
}
.irs-line-left {
height: 12px;
background-position: 0 -30px;
}
.irs-line-mid {
height: 12px;
background-position: 0 0;
}
.irs-line-right {
height: 12px;
background-position: 100% -30px;
}
.irs-diapason {
height: 12px; top: 25px;
background-position: 0 -60px;
}
.irs-slider {
width: 16px; height: 18px;
top: 22px;
background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
background-position: 0 -120px;
}
.irs-min, .irs-max {
color: #999;
font-size: 10px; line-height: 1.333;
text-shadow: none;
top: 0; padding: 1px 3px;
background: #e1e4e9;
border-radius: 4px;
}
.irs-from, .irs-to, .irs-single {
color: #fff;
font-size: 10px; line-height: 1.333;
text-shadow: none;
padding: 1px 5px;
background: #ed5565;
border-radius: 4px;
}
.irs-from:after, .irs-to:after, .irs-single:after {
position: absolute; display: block; content: "";
bottom: -6px; left: 50%;
width: 0; height: 0;
margin-left: -3px;
overflow: hidden;
border: 3px solid transparent;
border-top-color: #ed5565;
}
.irs-grid-pol {
background: #e1e4e9;
}
.irs-grid-text {
color: #999;
}
.irs-disabled {
}

View File

@@ -0,0 +1,85 @@
/* Ion.RangeSlider, Nice Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-slider {
background: url(../img/sprite-skin-nice.png) repeat-x;
}
.irs {
height: 40px;
}
.irs-with-grid {
height: 60px;
}
.irs-line {
height: 8px; top: 25px;
}
.irs-line-left {
height: 8px;
background-position: 0 -30px;
}
.irs-line-mid {
height: 8px;
background-position: 0 0;
}
.irs-line-right {
height: 8px;
background-position: 100% -30px;
}
.irs-diapason {
height: 8px; top: 25px;
background-position: 0 -60px;
}
.irs-slider {
width: 22px; height: 22px;
top: 17px;
background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
background-position: 0 -120px;
}
.irs-min, .irs-max {
color: #999;
font-size: 10px; line-height: 1.333;
text-shadow: none;
top: 0; padding: 1px 3px;
background: rgba(0,0,0,0.1);
border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
background: #ccc;
}
.irs-from, .irs-to, .irs-single {
color: #fff;
font-size: 10px; line-height: 1.333;
text-shadow: none;
padding: 1px 5px;
background: rgba(0,0,0,0.3);
border-radius: 3px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
background: #999;
}
.irs-grid-pol {
background: #99a4ac;
}
.irs-grid-text {
color: #99a4ac;
}
.irs-disabled {
}

View File

@@ -0,0 +1,85 @@
/* Ion.RangeSlider, Simple Skin
// css version 1.9.2
// © 2013-2014 Denis Ineshin | IonDen.com
// ===================================================================================================================*/
/* =====================================================================================================================
// Skin details */
.irs-line-mid,
.irs-line-left,
.irs-line-right,
.irs-diapason,
.irs-slider {
background: url(../img/sprite-skin-simple.png) repeat-x;
}
.irs {
height: 40px;
}
.irs-with-grid {
height: 60px;
}
.irs-line {
height: 6px; top: 25px;
}
.irs-line-left {
height: 6px;
background-position: 0 -30px;
}
.irs-line-mid {
height: 6px;
background-position: 0 0;
}
.irs-line-right {
height: 6px;
background-position: 100% -30px;
}
.irs-diapason {
height: 6px; top: 25px;
background-position: 0 -60px;
}
.irs-slider {
width: 8px; height: 15px;
top: 21px;
background-position: 0 -90px;
}
#irs-active-slider, .irs-slider:hover {
background-position: 0 -120px;
}
.irs-min, .irs-max {
color: #c0c0c0;
font-size: 10px; line-height: 1.333;
text-shadow: none;
top: 0; padding: 1px 3px;
background: rgba(0,0,0,0.1);
border-radius: 3px;
}
.lt-ie9 .irs-min, .lt-ie9 .irs-max {
background: #3654b0;
}
.irs-from, .irs-to, .irs-single {
color: #000;
font-size: 10px; line-height: 1.333;
text-shadow: none;
padding: 1px 5px;
background: rgba(255,255,255,0.8);
border-radius: 3px;
}
.lt-ie9 .irs-from, .lt-ie9 .irs-to, .lt-ie9 .irs-single {
background: #d8dff3;
}
.irs-grid-pol {
background: #777;
}
.irs-grid-text {
color: #e0e0e0;
}
.irs-disabled {
}

Binary file not shown.

After

Width:  |  Height:  |  Size: 352 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1022 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 385 B

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,27 @@
// Ion.RangeSlider | version 1.9.3 | https://github.com/IonDen/ion.rangeSlider
(function(c,ea,aa,M){var ba=0,r,N=function(){var c=M.userAgent,a=/msie\s\d+/i;return 0<c.search(a)&&(c=a.exec(c).toString(),c=c.split(" ")[1],9>c)?!0:!1}(),X="ontouchstart"in aa||0<M.msMaxTouchPoints,O=function(c){"number"!==typeof c&&(c=parseFloat(c));return isNaN(c)?null:c},H={init:function(fa){return this.each(function(){var a=c.extend({min:null,max:null,from:null,to:null,type:"single",step:null,prefix:"",postfix:"",maxPostfix:"",hasGrid:!1,gridMargin:0,hideMinMax:!1,hideFromTo:!1,prettify:!0,
disable:!1,values:null,onLoad:null,onChange:null,onFinish:null},fa),e=c(this),l=this,I=!1,g=null;if(!e.data("isActive")){e.data("isActive",!0);this.plugin_count=ba+=1;e.prop("value")&&(g=e.prop("value").split(";"));"single"===a.type?g&&1<g.length?("number"!==typeof a.min?a.min=parseFloat(g[0]):"number"!==typeof a.from&&(a.from=parseFloat(g[0])),"number"!==typeof a.max&&(a.max=parseFloat(g[1]))):g&&1===g.length&&"number"!==typeof a.from&&(a.from=parseFloat(g[0])):"double"===a.type&&(g&&1<g.length?
("number"!==typeof a.min?a.min=parseFloat(g[0]):"number"!==typeof a.from&&(a.from=parseFloat(g[0])),"number"!==typeof a.max?a.max=parseFloat(g[1]):"number"!==typeof a.to&&(a.to=parseFloat(g[1]))):g&&1===g.length&&("number"!==typeof a.min?a.min=parseFloat(g[0]):"number"!==typeof a.from&&(a.from=parseFloat(g[0]))));"number"===typeof e.data("min")&&(a.min=parseFloat(e.data("min")));"number"===typeof e.data("max")&&(a.max=parseFloat(e.data("max")));"number"===typeof e.data("from")&&(a.from=parseFloat(e.data("from")));
"number"===typeof e.data("to")&&(a.to=parseFloat(e.data("to")));e.data("step")&&(a.step=parseFloat(e.data("step")));e.data("type")&&(a.type=e.data("type"));e.data("prefix")&&(a.prefix=e.data("prefix"));e.data("postfix")&&(a.postfix=e.data("postfix"));e.data("maxpostfix")&&(a.maxPostfix=e.data("maxpostfix"));e.data("hasgrid")&&(a.hasGrid=e.data("hasgrid"));e.data("gridmargin")&&(a.gridMargin=+e.data("gridmargin"));e.data("hideminmax")&&(a.hideMinMax=e.data("hideminmax"));e.data("hidefromto")&&(a.hideFromTo=
e.data("hidefromto"));e.data("prettify")&&(a.prettify=e.data("prettify"));e.data("disable")&&(a.disable=e.data("disable"));e.data("values")&&(a.values=e.data("values").split(","));a.min=O(a.min);a.min||0===a.min||(a.min=10);a.max=O(a.max);a.max||0===a.max||(a.max=100);"[object Array]"!==Object.prototype.toString.call(a.values)&&(a.values=null);a.values&&0<a.values.length&&(a.min=0,a.max=a.values.length-1,a.step=1,I=!0);a.from=O(a.from);a.from||0===a.from||(a.from=a.min);a.to=O(a.to);a.to||0===a.to||
(a.to=a.max);a.step=O(a.step);a.step||(a.step=1);a.from<a.min&&(a.from=a.min);a.from>a.max&&(a.from=a.min);a.to<a.min&&(a.to=a.max);a.to>a.max&&(a.to=a.max);"double"===a.type&&(a.from>a.to&&(a.from=a.to),a.to<a.from&&(a.to=a.from));var z=function(b){b=b.toString();a.prettify&&(b=b.replace(/(\d{1,3}(?=(?:\d\d\d)+(?!\d)))/g,"$1 "));return b},g='<span class="irs" id="irs-'+this.plugin_count+'"></span>';e[0].style.display="none";e.before(g);var n=e.prev(),C=c(ea.body),P=c(aa),p,D,E,A,B,w,x,m,s,q,H,Y,
v=!1,y=!1,J=!0,f={},U=0,Q=0,R=0,t=0,F=0,G=0,V=0,S=0,T=0,Z=0,u=0;parseInt(a.step,10)!==parseFloat(a.step)&&(u=a.step.toString().split(".")[1],u=Math.pow(10,u.length));this.updateData=function(b){c.extend(a,b);n.find("*").off();P.off("mouseup.irs"+l.plugin_count);C.off("mouseup.irs"+l.plugin_count);C.off("mouseleave.irs"+l.plugin_count);C.off("mousemove.irs"+l.plugin_count);n.html("");M()};this.removeSlider=function(){n.find("*").off();P.off("mouseup.irs"+l.plugin_count);C.off("mouseup.irs"+l.plugin_count);
C.off("mouseleave.irs"+l.plugin_count);C.off("mousemove.irs"+l.plugin_count);n.html("").remove();e.data("isActive",!1);e.show()};var M=function(){n.html('<span class="irs"><span class="irs-line"><span class="irs-line-left"></span><span class="irs-line-mid"></span><span class="irs-line-right"></span></span><span class="irs-min">0</span><span class="irs-max">1</span><span class="irs-from">0</span><span class="irs-to">0</span><span class="irs-single">0</span></span><span class="irs-grid"></span>');p=
n.find(".irs");D=p.find(".irs-min");E=p.find(".irs-max");A=p.find(".irs-from");B=p.find(".irs-to");w=p.find(".irs-single");Y=n.find(".irs-grid");a.hideFromTo&&(A[0].style.visibility="hidden",B[0].style.visibility="hidden",w[0].style.visibility="hidden");a.hideFromTo||(A[0].style.visibility="visible",B[0].style.visibility="visible",w[0].style.visibility="visible");a.hideMinMax&&(D[0].style.visibility="hidden",E[0].style.visibility="hidden",R=Q=0);a.hideMinMax||(D[0].style.visibility="visible",E[0].style.visibility=
"visible",a.values?(D.html(a.prefix+a.values[0]+a.postfix),E.html(a.prefix+a.values[a.values.length-1]+a.maxPostfix+a.postfix)):(D.html(a.prefix+z(a.min)+a.postfix),E.html(a.prefix+z(a.max)+a.maxPostfix+a.postfix)),Q=D.outerWidth(!1),R=E.outerWidth(!1));ga()},ga=function(){if("single"===a.type){if(p.append('<span class="irs-slider single"></span>'),x=p.find(".single"),x.on("mousedown",function(a){a.preventDefault();a.stopPropagation();K(a,c(this),null);y=v=!0;r=l.plugin_count;N&&c("*").prop("unselectable",
!0)}),X)x.on("touchstart",function(a){a.preventDefault();a.stopPropagation();K(a.originalEvent.touches[0],c(this),null);y=v=!0;r=l.plugin_count})}else"double"===a.type&&(p.append('<span class="irs-diapason"></span><span class="irs-slider from"></span><span class="irs-slider to"></span>'),m=p.find(".from"),s=p.find(".to"),H=p.find(".irs-diapason"),L(),m.on("mousedown",function(a){a.preventDefault();a.stopPropagation();c(this).addClass("last");s.removeClass("last");K(a,c(this),"from");y=v=!0;r=l.plugin_count;
N&&c("*").prop("unselectable",!0)}),s.on("mousedown",function(a){a.preventDefault();a.stopPropagation();c(this).addClass("last");m.removeClass("last");K(a,c(this),"to");y=v=!0;r=l.plugin_count;N&&c("*").prop("unselectable",!0)}),X&&(m.on("touchstart",function(a){a.preventDefault();a.stopPropagation();c(this).addClass("last");s.removeClass("last");K(a.originalEvent.touches[0],c(this),"from");y=v=!0;r=l.plugin_count}),s.on("touchstart",function(a){a.preventDefault();a.stopPropagation();c(this).addClass("last");
m.removeClass("last");K(a.originalEvent.touches[0],c(this),"to");y=v=!0;r=l.plugin_count})),a.to===a.max&&m.addClass("last"));var b=function(){r===l.plugin_count&&v&&(v=y=!1,q.removeAttr("id"),q=null,"double"===a.type&&L(),$(),N&&c("*").prop("unselectable",!1))};P.on("mouseup.irs"+l.plugin_count,function(){b()});if(N)C.on("mouseleave.irs"+l.plugin_count,function(){b()});C.on("mousemove.irs"+l.plugin_count,function(a){v&&(U=a.pageX,W())});n.on("mousedown",function(){r=l.plugin_count});n.on("mouseup",
function(b){if(r===l.plugin_count&&!v&&!a.disable){b=b.pageX;J=!1;b-=n.offset().left;var h=f.fromX+(f.toX-f.fromX)/2;S=0;V=p.width()-G;T=p.width()-G;"single"===a.type?(q=x,q.prop("id","irs-active-slider"),W(b)):"double"===a.type&&(q=b<=h?m:s,q.prop("id","irs-active-slider"),W(b),L());q.removeAttr("id");q=null}});X&&(P.on("touchend",function(){v&&(v=y=!1,q.removeAttr("id"),q=null,"double"===a.type&&L(),$())}),P.on("touchmove",function(a){v&&(U=a.originalEvent.touches[0].pageX,W())}));ca();ha();a.hasGrid&&
ia();a.disable?(n.addClass("irs-disabled"),n.append('<span class="irs-disable-mask"></span>')):(n.removeClass("irs-disabled"),n.find(".irs-disable-mask").remove())},ca=function(){t=p.width();G=x?x.width():m.width();F=t-G},K=function(b,d,h){ca();J=!1;q=d;q.prop("id","irs-active-slider");d=q.offset().left;Z=d+(b.pageX-d)-q.position().left;"single"===a.type?V=p.width()-G:"double"===a.type&&("from"===h?(S=0,T=parseInt(s.css("left"),10)):(S=parseInt(m.css("left"),10),T=p.width()-G))},L=function(){var a=
m.width(),d=c.data(m[0],"x")||parseInt(m[0].style.left,10)||m.position().left,h=(c.data(s[0],"x")||parseInt(s[0].style.left,10)||s.position().left)-d;H[0].style.left=d+a/2+"px";H[0].style.width=h+"px"},W=function(b){var d=U-Z,d=b?b:U-Z;"single"===a.type?(0>d&&(d=0),d>V&&(d=V)):"double"===a.type&&(d<S&&(d=S),d>T&&(d=T),L());c.data(q[0],"x",d);$();b=Math.round(d);q[0].style.left=b+"px"},$=function(){var b={input:e,slider:n,min:a.min,max:a.max,fromNumber:0,toNumber:0,fromPers:0,toPers:0,fromX:0,fromX_pure:0,
toX:0,toX_pure:0},d=a.max-a.min,h;"single"===a.type?(b.fromX=c.data(x[0],"x")||parseInt(x[0].style.left,10)||x.position().left,b.fromPers=b.fromX/F*100,h=d/100*b.fromPers+a.min,b.fromNumber=Math.round(h/a.step)*a.step,b.fromNumber<a.min&&(b.fromNumber=a.min),b.fromNumber>a.max&&(b.fromNumber=a.max),u&&(b.fromNumber=parseInt(b.fromNumber*u,10)/u),I&&(b.fromValue=a.values[b.fromNumber])):"double"===a.type&&(b.fromX=c.data(m[0],"x")||parseInt(m[0].style.left,10)||m.position().left,b.fromPers=b.fromX/
F*100,h=d/100*b.fromPers+a.min,b.fromNumber=Math.round(h/a.step)*a.step,b.fromNumber<a.min&&(b.fromNumber=a.min),b.toX=c.data(s[0],"x")||parseInt(s[0].style.left,10)||s.position().left,b.toPers=b.toX/F*100,d=d/100*b.toPers+a.min,b.toNumber=Math.round(d/a.step)*a.step,b.toNumber>a.max&&(b.toNumber=a.max),u&&(b.fromNumber=parseInt(b.fromNumber*u,10)/u,b.toNumber=parseInt(b.toNumber*u,10)/u),I&&(b.fromValue=a.values[b.fromNumber],b.toValue=a.values[b.toNumber]));f=b;da()},ha=function(){var b={input:e,
slider:n,min:a.min,max:a.max,fromNumber:a.from,toNumber:a.to,fromPers:0,toPers:0,fromX:0,fromX_pure:0,toX:0,toX_pure:0},d=a.max-a.min;"single"===a.type?(b.fromPers=0!==d?(b.fromNumber-a.min)/d*100:0,b.fromX_pure=F/100*b.fromPers,b.fromX=Math.round(b.fromX_pure),x[0].style.left=b.fromX+"px",c.data(x[0],"x",b.fromX_pure)):"double"===a.type&&(b.fromPers=0!==d?(b.fromNumber-a.min)/d*100:0,b.fromX_pure=F/100*b.fromPers,b.fromX=Math.round(b.fromX_pure),m[0].style.left=b.fromX+"px",c.data(m[0],"x",b.fromX_pure),
b.toPers=0!==d?(b.toNumber-a.min)/d*100:1,b.toX_pure=F/100*b.toPers,b.toX=Math.round(b.toX_pure),s[0].style.left=b.toX+"px",c.data(s[0],"x",b.toX_pure),L());f=b;da()},da=function(){var b,d,h,c,g,k;k=G/2;h="";"single"===a.type?(h=f.fromNumber===a.max?a.maxPostfix:"",A[0].style.display="none",B[0].style.display="none",h=I?a.prefix+a.values[f.fromNumber]+h+a.postfix:a.prefix+z(f.fromNumber)+h+a.postfix,w.html(h),g=w.outerWidth(!1),k=f.fromX-g/2+k,0>k&&(k=0),k>t-g&&(k=t-g),w[0].style.left=k+"px",a.hideMinMax||
a.hideFromTo||(D[0].style.display=k<Q?"none":"block",E[0].style.display=k+g>t-R?"none":"block"),e.prop("value",parseFloat(f.fromNumber))):"double"===a.type&&(h=f.toNumber===a.max?a.maxPostfix:"",I?(b=a.prefix+a.values[f.fromNumber]+a.postfix,d=a.prefix+a.values[f.toNumber]+h+a.postfix,h=f.fromNumber!==f.toNumber?a.prefix+a.values[f.fromNumber]+" \u2014 "+a.prefix+a.values[f.toNumber]+h+a.postfix:a.prefix+a.values[f.fromNumber]+h+a.postfix):(b=a.prefix+z(f.fromNumber)+a.postfix,d=a.prefix+z(f.toNumber)+
h+a.postfix,h=f.fromNumber!==f.toNumber?a.prefix+z(f.fromNumber)+" \u2014 "+a.prefix+z(f.toNumber)+h+a.postfix:a.prefix+z(f.fromNumber)+h+a.postfix),A.html(b),B.html(d),w.html(h),b=A.outerWidth(!1),d=f.fromX-b/2+k,0>d&&(d=0),d>t-b&&(d=t-b),A[0].style.left=d+"px",h=B.outerWidth(!1),c=f.toX-h/2+k,0>c&&(c=0),c>t-h&&(c=t-h),B[0].style.left=c+"px",g=w.outerWidth(!1),k=f.fromX+(f.toX-f.fromX)/2-g/2+k,0>k&&(k=0),k>t-g&&(k=t-g),w[0].style.left=k+"px",d+b<c?(w[0].style.display="none",A[0].style.display="block",
B[0].style.display="block"):(w[0].style.display="block",A[0].style.display="none",B[0].style.display="none"),a.hideMinMax||a.hideFromTo||(D[0].style.display=k<Q||d<Q?"none":"block",E[0].style.display=k+g>t-R||c+h>t-R?"none":"block"),e.prop("value",parseFloat(f.fromNumber)+";"+parseFloat(f.toNumber)));a.from=f.fromNumber;a.to=f.toNumber;ja()},ja=function(){"function"!==typeof a.onFinish||y||J||a.onFinish.call(this,f);"function"!==typeof a.onChange||J||a.onChange.call(this,f);"function"===typeof a.onLoad&&
!y&&J&&(a.onLoad.call(this,f),J=!1)},ia=function(){n.addClass("irs-with-grid");var b,d="",c=0,c=0,e="",f=t-2*a.gridMargin;for(b=0;20>=b;b+=1)c=Math.floor(f/20*b),c>=f&&(c=f-1),e+='<span class="irs-grid-pol small" style="left: '+c+'px;"></span>';for(b=0;4>=b;b+=1)c=Math.floor(f/4*b),c>=f&&(c=f-1),e+='<span class="irs-grid-pol" style="left: '+c+'px;"></span>',u?(d=a.min+(a.max-a.min)/4*b,d=d/a.step*a.step,d=parseInt(d*u,10)/u):(d=Math.round(a.min+(a.max-a.min)/4*b),d=Math.round(d/a.step)*a.step,d=z(d)),
I&&(a.hideMinMax?(d=Math.round(a.min+(a.max-a.min)/4*b),d=Math.round(d/a.step)*a.step,d=0===b||4===b?a.values[d]:""):d=""),0===b?e+='<span class="irs-grid-text" style="left: '+c+'px; text-align: left;">'+d+"</span>":4===b?(c-=100,e+='<span class="irs-grid-text" style="left: '+c+'px; text-align: right;">'+d+"</span>"):(c-=50,e+='<span class="irs-grid-text" style="left: '+c+'px;">'+d+"</span>");Y.html(e);Y[0].style.left=a.gridMargin+"px"};M()}})},update:function(c){return this.each(function(){this.updateData(c)})},
remove:function(){return this.each(function(){this.removeSlider()})}};c.fn.ionRangeSlider=function(r){if(H[r])return H[r].apply(this,Array.prototype.slice.call(arguments,1));if("object"!==typeof r&&r)c.error("Method "+r+" does not exist for jQuery.ionRangeSlider");else return H.init.apply(this,arguments)}})(jQuery,document,window,navigator);

View File

@@ -470,6 +470,19 @@ Partial Class OC
ViewState("CveDireccionEnvio") = value
End Set
End Property
Private Property MonedaTexto As String
Get
If ViewState("MonedaTexto") Is Nothing Then
Return ""
Else
Return ViewState("MonedaTexto").ToString.ToEntero
End If
End Get
Set(value As String)
ViewState("CveDireccionEnvio") = value
End Set
End Property
Private Property NumRow As Integer
#End Region
@@ -1254,7 +1267,7 @@ Partial Class OC
TxtDescrip.Text = objOC.Descripcion
TxtJustificacion.Text = objOC.Justificacion
DdlMoneda.SelectedValueExist(objOC.CveMoneda.ToString)
MonedaTexto = DdlMoneda.SelectedItem.Text
Select Case objOC.PorcentajeIVA.ToString.ToDouble
Case 0
DdlIVA.SelectedValue = "1"
@@ -1745,6 +1758,7 @@ Partial Class OC
If CveEmpresaActual.Contiene(13, 14, 24) Then
DdlMoneda.Items.Insert(0, New ListItem("Seleccione", "-1"))
End If
End Sub
Private Sub CargaClasificaciones()
Dim TipoClasif As Integer = -1
@@ -2894,6 +2908,11 @@ Partial Class OC
'COMMIT
If Not TieneError Then
If MonedaTexto <> DdlMoneda.SelectedItem.Text Then
If Not OCBitacora.AddEventoBitacora(String.Format("Se cambió el valor de moneda de '{0}' a '{1}'", MonedaTexto, DdlMoneda.SelectedItem.Text), "-1", UsuarioActual.CveUsuario, CveEmpresaActual, CveOC:=CveOrdenCompra) Then
TieneError = True
End If
End If
OC.Commit()
If Conta IsNot Nothing Then Conta.Commit()
@@ -5279,6 +5298,7 @@ Partial Class OC
'MONEDA PREFERENTE
If CveOrdenCompra <= 0 Then
DdlMoneda.SelectedValueExist(Objeto.CveMonedaPreferente)
MonedaTexto = DdlMoneda.SelectedItem.Text
End If
'MUESTRA IVA PROVEEDOR EXTRANJERO
@@ -6738,6 +6758,9 @@ Partial Class OC
TabAlmacen.Visible = True
If ObjInventarios.DtResultados.Rows.Count > 0 Then
GVInv.DataSource = ObjInventarios.DtResultados
If ObjInventarios.DtResultados.Rows.Count > 0 Then
DdlMoneda.Enabled = False
End If
End If
GVInv.DataBind()
End If
@@ -7638,5 +7661,7 @@ Partial Class OC
End Sub
#End Region
Protected Sub DdlMoneda_Change() Handles DdlMoneda.SelectedIndexChanged
MonedaTexto = DdlMoneda.SelectedItem.Text
End Sub
End Class

View File

@@ -14,7 +14,7 @@
<asp:UpdatePanel runat="server" ID="UpAgregar">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkMandarCorreo" runat="server" Text="<i class='fa fa-plus'></i> Agregar Documento"></asp:LinkButton>
<asp:LinkButton ID="LnkMandarCorreo" runat="server" Text="<i class='fa fa-envelope'></i> Enviar Correo"></asp:LinkButton>
</li>
</ContentTemplate>
</asp:UpdatePanel>
@@ -58,7 +58,7 @@
<textarea runat="server" id="TxtCorreo" class="form-control"></textarea>
</div>
<div class="col-md-1" style="width: 15%">
<asp:LinkButton runat="server" ID="LbBuscar" >Buscar</asp:LinkButton>
<asp:LinkButton runat="server" ID="LbBuscar" Style="color: #23527c;">Buscar</asp:LinkButton>
</div>
</div>
<br />
@@ -76,25 +76,67 @@
<asp:Label runat="server" ID="LblCircular">Circular:</asp:Label>
</div>
<div class="col-md-1" style="width: 70%">
<textarea runat="server" id="TxtCircular" class="form-control" style="height:150px"></textarea>
<%--<textarea runat="server" id="TxtCircular" class="form-control" style="height: 150px"></textarea>--%>
<asp:TextBox ID="TxtCircular" ClientIDMode="Static" runat="server" MaxLength="5000" TextMode="MultiLine" Height="200px" Width="100%"></asp:TextBox>
<ajax:HtmlEditorExtender
ID="htmlEdDescripcion"
TargetControlID="TxtCircular"
DisplaySourceTab="True"
EnableSanitization="false"
runat="server">
<Toolbar>
<ajax:Undo />
<ajax:Redo />
<ajax:Bold />
<ajax:Italic />
<ajax:Underline />
<ajax:StrikeThrough />
<ajax:Subscript />
<ajax:Superscript />
<ajax:JustifyLeft />
<ajax:JustifyCenter />
<ajax:JustifyRight />
<ajax:JustifyFull />
<ajax:InsertOrderedList />
<ajax:InsertUnorderedList />
<ajax:CreateLink />
<ajax:UnLink />
<ajax:RemoveFormat />
<ajax:SelectAll />
<ajax:UnSelect />
<ajax:Delete />
<ajax:Cut />
<ajax:Copy />
<ajax:Paste />
<ajax:BackgroundColorSelector />
<ajax:ForeColorSelector />
<ajax:FontNameSelector />
<ajax:FontSizeSelector />
<ajax:Indent />
<ajax:Outdent />
<ajax:InsertHorizontalRule />
<ajax:HorizontalSeparator />
<%--<ajax:InsertImage />--%>
</Toolbar>
</ajax:HtmlEditorExtender>
</div>
</div>
<br />
<div class="row">
<div class="col-md-1" style="width:30%">
<div class="col-md-1" style="width: 30%">
<asp:Label runat="server" ID="LblAdjunto">Adjuntar archivo:</asp:Label>
</div>
<div class="col-md-1" style="width:70%">
<div class="col-md-1" style="width: 70%">
<asp:TextBox ID="TxtFileDocumentacion" CssClass="ADSdropzone hidden" data-maxFile="1" Text="" runat="server"></asp:TextBox>
</div>
</div>
<br />
<div id="archivosDiv" runat="server" class="row" visible="false">
<div class="col-md-1" style="width:30%">
<div class="col-md-1" style="width: 30%">
<asp:Label runat="server" ID="Label1">Archivo cargado:</asp:Label>
</div>
<div class="col-md-1" style="width:70%">
<asp:HyperLink runat="server" ID="HkArchivo" ></asp:HyperLink>
<div class="col-md-1" style="width: 70%">
<asp:HyperLink runat="server" ID="HkArchivo" Style="color: #23527c;"></asp:HyperLink>
</div>
</div>
<br />

View File

@@ -58,11 +58,11 @@ Partial Class OI_CircularDetalle
TxtAsunto.Text = Circular.Item("Asunto")
TxtCorreo.Value = Circular.Item("CorreosInternos")
TxtCorreoAdicional.Value = Circular.Item("CorreosExternos")
TxtCircular.Value = Circular.Item("Circular")
TxtCircular.Text = Circular.Item("Circular")
If Circular.Item("ArchivoAdjunto") <> "" Then
archivosDiv.Visible = True
HkArchivo.NavigateUrl = String.Format("{0}Empresas\{1}\Formatos\{2}", AppDomain.CurrentDomain.BaseDirectory, UsuarioActual.CveEmpresa, Circular.Item("ArchivoAdjunto"))
HkArchivo.NavigateUrl = $"~/Empresas/{UsuarioActual.CveEmpresa}/Formatos/{Circular.Item("ArchivoAdjunto")}"
HkArchivo.Text = Circular.Item("ArchivoAdjunto")
End If
@@ -86,7 +86,7 @@ Partial Class OI_CircularDetalle
Dim AdjuntoValidate As String = NombreArchivo().Split("-")(1)
If ObjOI.UpdateCircular(CveCircular, TxtAsunto.Text, TxtCircular.Value, TxtCorreo.Value, TxtCorreoAdicional.Value, AdjuntoValidate) Then
If ObjOI.UpdateCircular(CveCircular, TxtAsunto.Text, TxtCircular.Text, TxtCorreo.Value, TxtCorreoAdicional.Value, AdjuntoValidate) Then
GuardarArchivo(CveCircular)
Alert("Actualizado correctamente")
End If
@@ -94,7 +94,7 @@ Partial Class OI_CircularDetalle
Dim CorreoExtra As String = If(TxtCorreoAdicional.Value = "", "-1", TxtCorreoAdicional.Value)
Dim AdjuntoValidate As String = NombreArchivo().Split("-")(1)
Dim CircularInsertado As Integer = ObjOI.AddCircular(TxtAsunto.Text, TxtCircular.Value, TxtCorreo.Value, Today.ToString, UsuarioActual.CveUsuario,
Dim CircularInsertado As Integer = ObjOI.AddCircular(TxtAsunto.Text, TxtCircular.Text, TxtCorreo.Value, Today.ToString, UsuarioActual.CveUsuario,
UsuarioActual.CveEmpresa, CorreoExtra, AdjuntoValidate)
If CircularInsertado > 0 Then
GuardarArchivo(CircularInsertado)
@@ -223,10 +223,21 @@ Partial Class OI_CircularDetalle
Protected Sub LnkMandarCorreo_Click() Handles LnkMandarCorreo.Click
Dim correos() As String
correos = TxtCorreo.Value.Split(Environment.NewLine)
'MandaCorreo()
Dim ArchivoBytes As Byte() = ArchivoBytesArrya(HkArchivo.Text)
Dim Contador As Integer = 0
Try
For Each Correo As String In correos
MandaCorreo(TxtAsunto.Text, Correo, If(Contador > 0, "", TxtCorreoAdicional.Value), TxtCircular.Text, ArchivoBytes, HkArchivo.Text)
Contador += 1
Next
Alert("El correo se envió correctamente")
Catch ex As Exception
Alert("Error al enviar correo", TipoMensaje.MsgError)
End Try
End Sub
Private Sub MandaCorreo(Asunto As String, Para As String, ArrayCC As String, body As String, ArchivoBinario As Byte())
Private Sub MandaCorreo(Asunto As String, Para As String, ArrayCC As String, body As String, ArchivoBinario As Byte(), NombreArchivo As String)
Dim a As String = String.Format("{0} -- {1} --- {2}", Asunto, Para, ArrayCC)
a.GuardaLog()
@@ -237,7 +248,7 @@ Partial Class OI_CircularDetalle
With itemMail
itemMail.ArchivoBinario = ArchivoBinario
itemMail.NombreArchivo = "Invitación.pdf"
itemMail.NombreArchivo = NombreArchivo
End With
@@ -247,4 +258,19 @@ Partial Class OI_CircularDetalle
Mail.SendMail(ClsPaginas.EmpresaNotificaciones, Para, Asunto, body, ArrayCC, LSRutasMail)
Mail = Nothing
End Sub
Private Function ArchivoBytesArrya(ArchivoNombre As String) As Byte()
Dim ArchivoEnviar As String = String.Format("{0}Formatos\{1}", UsuarioActual.Empresa.Ruta, ArchivoNombre)
If File.Exists(ArchivoEnviar) Then
Dim fs As System.IO.FileStream = System.IO.File.Open(ArchivoEnviar, IO.FileMode.Open, IO.FileAccess.Read)
Dim buff(fs.Length) As Byte
If fs.Length > 0 Then
fs.Read(buff, 0, fs.Length - 1)
fs.Close()
End If
Return buff
End If
Return New Byte() {}
End Function
End Class

384
OI/RepTareas2.aspx Normal file
View File

@@ -0,0 +1,384 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepTareas2.aspx.cs" Inherits="OI_RepTareas2" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.btn.btnCalendar {
padding: 5px 10px;
}
.btn.btn-circle.btn-icon-only.btnsmalli {
padding: 5px 7px 5px;
height: 27px;
width: 27px;
line-height: 1;
}
.btn.btnsmalli > i {
font-size: 10px;
}
.titletable {
background-color: #e1e5ec;
}
#Gvmiembros tr > td:nth-child(2) {
width: 30px;
text-align: right;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<li>
<asp:LinkButton ID="LnkAddEvento" OnClick="LnkAddEvento_Click" runat="server"><i class="fa fa-plus"></i> Agregar Tarea</asp:LinkButton>
</li>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<div id='<%= iddivAgregar %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog modal-lg">
<asp:UpdatePanel ID="UpAgregarConductor" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="LtleventoTitle" runat="server">Agregar Tarea</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="row">
<div class="col-md-7">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Tarea</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtAsunto" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVAsunto" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtAsunto" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Asunto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpConductor"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Asunto:" AssociatedControlID="TxtAsunto"></asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtDescripcion" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="3"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvDescripcion" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDescripcion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpConductor"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Descripción" AssociatedControlID="TxtDescripcion"></asp:Label>
</div>
<div class="row">
<div class="col-sm-6">
<div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
<asp:TextBox ID="txtFechaI" runat="server" autocomplete="false" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVtxtFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpFechas"></asp:RequiredFieldValidator>
<asp:Label AssociatedControlID="txtFechaI" runat="server" Text="Fecha Inicio"></asp:Label>
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-6">
<div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
<asp:TextBox ID="txtFechaF" runat="server" autocomplete="false" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVtxtFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpFechas"></asp:RequiredFieldValidator>
<asp:Label AssociatedControlID="txtFechaF" runat="server" Text="Fecha Fin"></asp:Label>
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
<ajax:ValidatorCalloutExtender ID="VcoFechaF" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlPrioridad" runat="server" CssClass="form-control select2me input-sm" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Baja" Value="1" style="color: #00CC00;"></asp:ListItem>
<asp:ListItem Text="Media" Value="2" style="color: #000000;"></asp:ListItem>
<asp:ListItem Text="Alta" Value="3" style="color: #FF0000;"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVPrioridad" runat="server" ControlToValidate="DdlPrioridad" Display="None" ErrorMessage="El campo <b>''Prioridad''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="Guarda"></asp:RequiredFieldValidator>
<asp:Label runat="server" AssociatedControlID="DdlPrioridad">Prioridad:</asp:Label>
<ajax:ValidatorCalloutExtender ID="VCOPrio" runat="server" TargetControlID="RFVPrioridad" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlRevision" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveRevision" DataTextField="Revision" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlRevision">Revisión:</asp:Label>
</div>
</div>
</div>
</div>
</div>
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-check-square-o font-green"></i>
<span class="caption-subject bold uppercase">CheckList (2/5)</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-8">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtActividad" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:Label runat="server" Text="Agregar Actividad" AssociatedControlID="TxtActividad"></asp:Label>
</div>
</div>
<div class="col-md-4">
<a class="btn btn-default">Agregar</a>
</div>
</div>
</div>
</div>
</div>
<div class="col-md-5">
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Estatus</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlEventoEstatus" Visible="true" runat="server" DataValueField="CveEventoEstatus" CssClass="form-control select2me input-sm" Width="100%" DataTextField="EventoEstatus">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEventoEstatus">Estatus:</asp:Label>
</div>
</div>
</div>
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-user-plus font-green"></i>
<span class="caption-subject bold uppercase">Miembros</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-10">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlUsuario" Visible="true" runat="server" CssClass="form-control select2me input-sm" Width="100%" DataValueField="CveUsuario" DataTextField="Usuario">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlUsuario">Usuario:</asp:Label>
</div>
</div>
<div class="col-md-2" style="direction: rtl; padding-top: 15px;">
<a class="btn btn-default"><i class="fa fa-plus"></i></a>
</div>
</div>
<table id="Gvmiembros" class="Widthall">
<tr class="titletable">
<td colspan="2">Para</td>
</tr>
<tr>
<td>jorge caudillo</td>
<td><a class="btn btn-circle btn-icon-only red btnsmalli"><i class='icon-trash'></i></a></td>
</tr>
<tr class="titletable">
<td colspan="2">Con copia para</td>
</tr>
<tr>
<td>Julian Moreno</td>
<td><a class="btn btn-circle btn-icon-only red btnsmalli"><i class='icon-trash'></i></a></td>
</tr>
</table>
</div>
</div>
</div>
</div>
<div class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-bars font-green"></i>
<span class="caption-subject bold uppercase">Registro de actividades</span>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding" style="display: none;">
<div class="row">
<div class="col-md-8">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtComentario" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:Label runat="server" Text="Agregar Comentario" AssociatedControlID="TxtComentario"></asp:Label>
</div>
</div>
<div class="col-md-4">
<a class="btn btn-default">Agregar</a>
</div>
</div>
<table class="Widthall table ">
<tbody>
<tr>
<td>19/04/2020 </td>
<td>comentario con archivo</td>
<td><a><i class="fa fa-download"></i></a></td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>comentario</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se termino la activada y del checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se termino la activada x del checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada p al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada w al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada z al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada y al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada x al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se registro la tarea oi</td>
</tr>
</tbody>
</table>
</div>
</div>
<%--<div class="row" style="margin-top: 10px; margin-bottom: 10px;">
<div class="col-md-2">Vencimiento de Licencia:</div>
<div class="col-md-4">
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
<asp:TextBox ID="TxtFechaVenc" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="TxtFechaVenc" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="TxtFechaVenc" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="TxtFechaVenc" Display="None" ErrorMessage="El campo <b>''Fecha Vencimiento''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="TxtFechaVenc" Display="None" ErrorMessage="El campo <b>''Fecha Vencimiento''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
</div>
<div class="col-md-2">Fecha de Nacimiento:</div>
<div class="col-md-4">
<div class="input-group input-sm date date-picker " data-date-format="dd/mm/yyyy" style="display: inline-block;">
<asp:TextBox ID="TxtFechaNacimiento" runat="server" CssClass="form-control input-sm" CausesValidation="true" MaxLength="10" Width="82px "></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioN" class="btn default " Text="<i class='fa fa-calendar'></i>" runat="server"></asp:LinkButton>
</span>
</div>
<ajax:MaskedEditExtender ID="MaskedEditExtender1" runat="server" TargetControlID="TxtFechaNacimiento" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="CalendarExtender1" TargetControlID="TxtFechaNacimiento" PopupButtonID="imgCalendarioN" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="RequiredFieldValidator4" runat="server" ControlToValidate="TxtFechaNacimiento" Display="None" ErrorMessage="El campo <b>''Fecha Vencimiento''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="CompareValidator1" runat="server" ControlToValidate="TxtFechaNacimiento" Display="None" ErrorMessage="El campo <b>''Fecha Vencimiento''</b> no tienes el formato correcto, por favor intente de nuevo con el siguiente formato: (dd/mm/yyyy)." Operator="DataTypeCheck" Type="Date" ValidationGroup="Valida"></asp:CompareValidator>
</div>
</div>
<div id="dvEstatus" runat="server" class="form-group form-md-line-input input-iconright">
<label>Activo: </label>
<br />
<asp:CheckBox ID="CheckBox1" Text=" " runat="server" CssClass="chksino" Width="250px"></asp:CheckBox>
</div>--%>
</div>
<div class="modal-footer">
<%--<asp:LinkButton ID="LnkAddConductor" OnClick="LnkAddConductor_Click" runat="server" Text="Agregar" CssClass="btn btn-primary" ValidationGroup="GrpConductor"></asp:LinkButton>--%>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
function CargaPickers() {
$.datetimepicker.setLocale('es');
$('input.ADDateTimePicker').each(function () {
var TThis = $(this);
TThis.datetimepicker({
dayOfWeekStart: 1,
lang: 'es',
format: 'd/m/Y H:i',
formatDate: 'd/m/Y H:i',
step: 30
});
var Div = TThis.parent()
var boton = document.createElement('span');
boton.className = "input-group-btn"
var subboton = document.createElement('a')
subboton.className = "btn default btnCalendar"
subboton.innerHTML = "<i class='fa fa-calendar'></i>"
subboton.addEventListener('click', function () {
TThis.datetimepicker('show')
});
boton.appendChild(subboton)
var agregar = true;
for (var i = 0; i < Div[0].children.length; i++) {
if (Div[0].children[i].isEqualNode(boton)) {
agregar = false;
}
}
if (agregar) {
Div[0].appendChild(boton);
}
//Div[0].appendChild(boton)
});
}
Sys.Application.add_load(function (s, e) {
CargaPickers();
});
$(document).ready(function () {
CargaPickers();
});
</script>
</asp:Content>

22
OI/RepTareas2.aspx.cs Normal file
View File

@@ -0,0 +1,22 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
public partial class OI_RepTareas2 : System.Web.UI.Page
{
public const string iddivAgregar = "divModalAgregarEvento";
protected void Page_Load(object sender, EventArgs e)
{
}
protected void LnkAddEvento_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregar));
}
}

722
OI/TareaDetalle.aspx Normal file
View File

@@ -0,0 +1,722 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="TareaDetalle.aspx.cs" Inherits="OI_TareaDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.btn.btnCalendar {
padding: 5px 10px;
}
.btn.btn-circle.btn-icon-only.btnsmalli {
padding: 5px 7px 5px;
height: 27px;
width: 27px;
line-height: 1;
}
.btn.btnsmalli > i {
font-size: 10px;
}
.titletable {
background-color: #e1e5ec;
}
#Gvmiembros tr > td:nth-child(2) {
width: 30px;
text-align: right;
}
.mypaste:before {
content: "Pegar aquí";
}
.filediv .addropzone.dz-clickable:before {
margin-top: 20px;
}
.filediv .addropzone {
min-height: 100px;
}
.divArchivo {
padding: 15px;
text-align: center;
}
.divArchivo a {
color: #659be0;
font-size: 18px;
}
.divArchivo a i {
font-size: 32px;
line-height: 32px;
}
.itembaja {
color: #00CC00;
}
.itemmedia {
color: #000000;
}
.itemalta {
color: #FF0000;
}
.GVcheklist pre {
background-color: transparent;
border: none;
}
.GVcheklist .finished .pre {
text-decoration: line-through;
}
.GvActividades tr > td:nth-child(1) {
white-space: nowrap;
}
.labelitem {
margin-bottom: 0;
font-size: 13px;
color: #888888;
opacity: 1;
}
</style>
<link href="/Metronic/assets/global/plugins/ion.rangeslider/css/ion.rangeSlider.css" rel="stylesheet" type="text/css" />
<link href="/Metronic/assets/global/plugins/ion.rangeslider/css/ion.rangeSlider.skinFlat.css" rel="stylesheet" type="text/css" />
<link href="/Metronic/assets/global/plugins/bootstrap-markdown/css/bootstrap-markdown.min.css" rel="stylesheet" type="text/css" />
<link href="/Metronic/assets/global/plugins/bootstrap-summernote/summernote.css" rel="stylesheet" type="text/css" />
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
<asp:UpdatePanel ID="UpTitulo" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:Label ID="LtlTitulo" runat="server"></asp:Label>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
</asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server">
<asp:UpdatePanel ID="UpAcciones" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<li>
<asp:LinkButton ID="LnkAgregarCheckList" OnClick="LnkAgregarCheckList_Click" runat="server"><i class="fa fa-plus"></i> Agregar CheckList</asp:LinkButton></li>
<li>
<asp:LinkButton ID="LnkcambiarEstatus" OnClick="LnkcambiarEstatus_Click" runat="server"><i class="fa fa-exchange"></i>Cambiar Estatus</asp:LinkButton></li>
<li>
<asp:LinkButton ID="LnkAgregarActividad" OnClick="LnkAgregarActividad_Click" runat="server"><i class="fa fa-plus"></i> Agregar Comentario</asp:LinkButton></li>
<li>
<asp:LinkButton ID="LnkAgregarTema" OnClick="LnkAgregarTema_Click" runat="server"><i class="fa fa-plus"></i> Agregar Tema</asp:LinkButton></li>
<li>
<asp:LinkButton ID="LnkUpFile" OnClick="LnkUpFile_Click" Visible="false" runat="server"><i class="fa fa-plus"></i> Agregar Archivo</asp:LinkButton></li>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
</asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server">
<asp:UpdatePanel ID="UpContenido" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="row">
<div class="col-md-8">
<asp:Panel runat="server" ID="portletTarea" class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Tarea</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="form-group form-md-line-input input-iconright">
<asp:TextBox ID="TxtAsunto" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVAsunto" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtAsunto" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Asunto''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Asunto:" AssociatedControlID="TxtAsunto"></asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtDescripcion" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="2"></asp:TextBox>
<asp:RequiredFieldValidator ID="RfvDescripcion" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDescripcion" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Descripción''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
<asp:Label runat="server" Text="Descripción" AssociatedControlID="TxtDescripcion"></asp:Label>
</div>
<asp:Panel runat="server" ID="PnlUsuarios" Visible="false">
<div class="panel panel-default" style="margin-bottom: 5px;">
<div class="panel-heading" style="display: inline-block; width: 19%; border-bottom-width: 0px; margin: 0px;">
<h3 class="panel-title">Para</h3>
</div>
<div class="panel-body" style="display: inline-block; width: 79%;">
<asp:Literal ID="LtlPara" runat="server"></asp:Literal>
</div>
</div>
<div class="panel panel-default" style="margin-bottom: 5px;">
<div class="panel-heading" style="display: inline-block; width: 19%; border-bottom-width: 0px; margin: 0px;">
<h3 class="panel-title">C. C. Para</h3>
</div>
<div class="panel-body" style="display: inline-block; width: 79%;">
<asp:Literal ID="LtlCCPara" runat="server"></asp:Literal>
</div>
</div>
</asp:Panel>
<div class="row">
<div class="col-sm-6">
<div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
<asp:TextBox ID="txtFechaI" runat="server" autocomplete="false" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVtxtFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
<asp:Label AssociatedControlID="txtFechaI" runat="server" Text="Fecha Inicio"></asp:Label>
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-6">
<div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
<asp:TextBox ID="txtFechaF" runat="server" autocomplete="false" CssClass="form-control input-sm ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox>
<asp:RequiredFieldValidator ID="RFVtxtFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
<asp:Label AssociatedControlID="txtFechaF" runat="server" Text="Fecha Fin"></asp:Label>
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
<ajax:ValidatorCalloutExtender ID="VcoFechaF" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</div>
</div>
</div>
<div class="row">
<div class="col-sm-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlPrioridad" runat="server" CssClass="form-control select2me input-sm" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
<asp:ListItem Text="Baja" Value="1" class="itembaja"></asp:ListItem>
<asp:ListItem Text="Media" Value="2" class="itemmedia"></asp:ListItem>
<asp:ListItem Text="Alta" Value="3" class="itemalta"></asp:ListItem>
</asp:DropDownList>
<asp:RequiredFieldValidator ID="RFVPrioridad" runat="server" ControlToValidate="DdlPrioridad" Display="None" ErrorMessage="El campo <b>''Prioridad''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
<asp:Label runat="server" AssociatedControlID="DdlPrioridad">Prioridad:</asp:Label>
<ajax:ValidatorCalloutExtender ID="VCOPrio" runat="server" TargetControlID="RFVPrioridad" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
</div>
</div>
<div class="col-sm-6">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlTema" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveRevision" DataTextField="Revision" Width="100%">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlTema">Tema:</asp:Label>
</div>
</div>
</div>
</div>
</asp:Panel>
</div>
<div class="col-md-4">
<asp:Panel runat="server" ID="portletEstatus" class="portlet light smmallpadding bordered" Style="margin-bottom: 15px;">
<div class="portlet-title">
<div class="caption font-green">
<i class="icon-pin font-green"></i>
<span class="caption-subject bold uppercase">Estatus</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<asp:UpdatePanel ID="UpEstatus" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlEventoEstatus" Visible="true" runat="server" DataValueField="CveEventoEstatus" CssClass="form-control select2me input-sm" Width="100%" DataTextField="EventoEstatus">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEventoEstatus">Estatus:</asp:Label>
</div>
<div class="">
<asp:Label runat="server" CssClass="labelitem" AssociatedControlID="TxtAvance">Avance:</asp:Label>
<asp:TextBox ID="TxtAvance" runat="server" CssClass="form-control TxtAvance" CausesValidation="true"></asp:TextBox>
</div>
<asp:Button ID="BtnUpAvance" OnClick="BtnUpAvance_Click" CssClass="hidden BtnUpAvance" runat="server" Text="ActualizarAvance" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
<asp:Panel runat="server" ID="portletArchivo" class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-file-archive-o font-green"></i>
<span class="caption-subject bold uppercase">Archivo</span>
</div>
<div class="actions">
<div class="btn-group">
</div>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding filediv">
<asp:TextBox ID="TxtArchivo" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
<div class="divArchivo">
<asp:HyperLink ID="HypArchivo" runat="server" Target="_blank">
<asp:Literal ID="LtlArchivo" runat="server"></asp:Literal><br />
<i class="fa fa-download"></i>
</asp:HyperLink>
</div>
</div>
</asp:Panel>
</div>
</div>
<div class="row">
<asp:UpdatePanel ID="UpChkList" runat="server" class="col-md-8" UpdateMode="Conditional">
<ContentTemplate>
<asp:Panel runat="server" ID="portletChekList" Visible="false" class="portlet light smmallpadding bordered" DefaultButton="LnkAgregarchklistitem">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-check-square-o font-green"></i>
<span class="caption-subject bold uppercase">CheckList <span id="Contador"></span></span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<div class="row">
<div class="col-md-8">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtActividad" runat="server" CssClass="form-control" CausesValidation="true"></asp:TextBox>
<asp:Label runat="server" Text="Actividad" AssociatedControlID="TxtActividad"></asp:Label>
</div>
</div>
<div class="col-md-4">
<asp:Button ID="LnkSinfuncion" OnClick="LnkSinfuncion_Click" UseSubmitBehavior="false" CssClass="btn btn-default LnkSinfuncion hidden" runat="server"></asp:Button>
<asp:LinkButton ID="LnkAgregarchklistitem" OnClick="LnkAgregarchklistitem_Click" CssClass="btn btn-default" runat="server">Agregar</asp:LinkButton>
<%--<a class="btn btn-default">Agregar</a>--%>
</div>
</div>
<asp:GridView ID="GVcheklist" runat="server" GridLines="None" CssClass="table table-hover table-striped ScrollAD Widthall GVcheklist" AutoGenerateColumns="False"
DataKeyNames="CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng">
<Columns>
<asp:TemplateField HeaderText="" ItemStyle-Width="30">
<ItemTemplate>
<asp:CheckBox ID="ChkEstatus" Text=" " OnCheckedChanged="ChkEstatus_CheckedChanged" runat="server" data-valor='<%# Extensiones.ModExtensiones.Encripta(Eval("CveEventoCheckList").ToString())%>' Checked='<%# Eval("Estatus")%>' />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Actividad">
<ItemTemplate>
<%--<pre>--%>
<span class="pre">
<asp:Literal ID="lbleventoComentario" runat="server" Text='<%# Eval("EventoComentario")%>'> </asp:Literal>
</span>
<%--</pre>--%>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="30" Visible="false">
<ItemTemplate>
<asp:LinkButton data-toggle="tooltip" title="Editar" ID="LnkEditar" OnClick="LnkEditarCheck_Click" CssClass="btn btn-circle btn-sm green" runat="server" Text="<i class='fa fa-pencil'></i>"></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField ItemStyle-Width="30">
<ItemTemplate>
<asp:LinkButton ID="LnkD" runat="server" OnClick="LnkEliminarchek_Click" CssClass="btn btn-circle btn-sm red" Text="<i class='icon-trash'></i>" data-toggle="confirmation" data-popout="true" data-original-title="¿Está seguro que desea eliminar el cheklist?" data-btn-ok-label="si" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<div class="col-md-4 ">
<asp:Panel runat="server" ID="portletMiembros" class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-user-plus font-green"></i>
<span class="caption-subject bold uppercase">Miembros</span>
</div>
<div class="tools">
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding">
<%--<div class="row">
<div class="col-md-10">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DdlUsuario" Visible="true" runat="server" CssClass="form-control select2me input-sm" Width="100%" DataValueField="CveUsuario" DataTextField="Usuario">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlUsuario">Usuario:</asp:Label>
</div>
</div>
<div class="col-md-2" style="direction: rtl; padding-top: 15px;">
<a class="btn btn-default"><i class="fa fa-plus"></i></a>
</div>
</div>
<table id="Gvmiembros" class="Widthall">
<tr class="titletable">
<td colspan="2">Para</td>
</tr>
<tr>
<td>jorge caudillo</td>
<td><a class="btn btn-circle btn-icon-only red btnsmalli"><i class='icon-trash'></i></a></td>
</tr>
<tr class="titletable">
<td colspan="2">Con copia para</td>
</tr>
<tr>
<td>Julian Moreno</td>
<td><a class="btn btn-circle btn-icon-only red btnsmalli"><i class='icon-trash'></i></a></td>
</tr>
</table>--%>
<asp:GridView ID="GVUsuarios" runat="server" AutoGenerateColumns="false" DataKeyNames="CveUsuario,Nombre,Correo,Empresa"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD GVUsuarios" GridLines="None" data-height="200">
<Columns>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" Width="50px" />
<HeaderTemplate>Para</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkPara" Text=" " runat="server" />
<%--<asp:CheckBox ID="ChkPara" CssClass="icheck " data-checkbox="icheckbox_flat-red" runat="server" />--%>
<ajax:MutuallyExclusiveCheckBoxExtender ID="MECBE" runat="server" TargetControlID="ChkPara" Key="Para"></ajax:MutuallyExclusiveCheckBoxExtender>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" Width="50px" />
<HeaderTemplate>C. C. Para</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkCCP" Checked="false" runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Usuario</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlNombre" runat="server" Text='<%# Eval("Nombre") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<HeaderTemplate>Rol</HeaderTemplate>
<ItemTemplate>
<asp:Literal ID="LtlRol" runat="server" Text='<%# Eval("Rol") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</div>
</asp:Panel>
</div>
</div>
<div class="text-center">
<asp:LinkButton ID="LnkGuardar" OnClick="LnkGuardar_Click" CssClass="btn btn-primary" ValidationGroup="GrpTarea" runat="server">Guardar</asp:LinkButton>
</div>
<br />
<asp:Panel runat="server" ID="portletActividades" class="portlet light smmallpadding bordered">
<div class="portlet-title">
<div class="caption font-green">
<i class="fa fa-bars font-green"></i>
<span class="caption-subject bold uppercase">Registro de actividades</span>
</div>
<div class="tools">
<a href="javascript:;" class="expand" data-original-title="" title=""></a>
</div>
</div>
<div class="portlet-body rowpadding" style="display: none;">
<%--<table class="Widthall table ">
<tbody>
<tr>
<td>19/04/2020 </td>
<td>comentario con archivo</td>
<td><a><i class="fa fa-download"></i></a></td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>comentario</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se termino la activada y del checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se termino la activada x del checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada p al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada w al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada z al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada y al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se agrego la activada x al checklist</td>
</tr>
<tr>
<td>19/04/2020 </td>
<td>Se registro la tarea oi</td>
</tr>
</tbody>
</table>--%>
<asp:UpdatePanel ID="UpActividades" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<asp:GridView ID="GvActividades" runat="server" AutoGenerateColumns="False" CssClass="table table-striped table-advance table-hover Widthall ScrollAD GvActividades"
OnRowDataBound="GvActividades_RowDataBound"
GridLines="None">
<Columns>
<asp:BoundField DataField="FechaIng" DataFormatString="{0:dd/MM/yyyy HH:mm}" HeaderText="Fecha">
<ItemStyle Width="90px" HorizontalAlign="Center" />
</asp:BoundField>
<asp:BoundField DataField="NombreUsuario" DataFormatString="&nbsp;{0}" HeaderText="Usuario">
<ItemStyle Width="200px" />
</asp:BoundField>
<%--<asp:BoundField DataField="EventoComentario" DataFormatString="&nbsp;{0}" HeaderText="Observación"></asp:BoundField>--%>
<asp:TemplateField HeaderText="Observación">
<ItemTemplate>
<asp:Literal runat="server" Text='<%# Eval("EventoComentario").ToString().Replace("\n","<br/>") %>'></asp:Literal>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="">
<ItemTemplate>
<asp:HyperLink Target="_blank" ID="HplA" runat="server"><i class="fa fa-download"></i></asp:HyperLink>
<%--<asp:ImageButton ID="ImBtnPub" ToolTip="Publicar Documento" Visible="False" ImageUrl="/Imagenes/PublicarDoc.jpg" Height="18px" runat="server" />--%>
</ItemTemplate>
<ItemStyle HorizontalAlign="Center" Width="40px" />
</asp:TemplateField>
</Columns>
<RowStyle CssClass="Texto" />
<AlternatingRowStyle CssClass="TextoAlterno" />
<HeaderStyle CssClass="Titulos" />
</asp:GridView>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</asp:Panel>
</ContentTemplate>
</asp:UpdatePanel>
<div id='<%= iddivAgregarTema %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpdatePanel1" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal2" runat="server">Agregar Actividad</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtTema" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:Label runat="server" Text="Tema" AssociatedControlID="TxtTema"></asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnAgregarTema" OnClick="BtnAgregarTema_Click" CssClass="btn btn-default" runat="server">Agregar</asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id='<%= iddivAgregar %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog ">
<asp:UpdatePanel ID="UpModalActividad" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="LtleventoTitle" runat="server">Agregar Actividad</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtComentario" runat="server" CssClass="form-control" CausesValidation="true" TextMode="MultiLine" Rows="1"></asp:TextBox>
<asp:Label runat="server" Text="Agregar Comentario" AssociatedControlID="TxtComentario"></asp:Label>
</div>
<asp:TextBox ID="Txtfilecomentario" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnAgregarComentario" OnClick="BtnAgregarComentario_Click" CssClass="btn btn-default" runat="server">Agregar</asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id='<%= iddivCambiarEstatus %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpModalCambiarEstatus" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal1" runat="server">Cambiar Estatus</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<asp:DropDownList ID="DDlEstatus" Visible="true" runat="server" DataValueField="CveEventoEstatus" CssClass="form-control select2me input-sm" Width="100%" DataTextField="EventoEstatus">
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEventoEstatus">Estatus:</asp:Label>
</div>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnCambiarEstatus" OnClick="BtnCambiarEstatus_Click" CssClass="btn btn-default" ValidationGroup="GrpTarea" runat="server">Guardar</asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
<div id='<%= iddivAgregarArchivo %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog ">
<asp:UpdatePanel ID="UpdatePanel2" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button>
<h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal3" runat="server">Actualizar Archivo</asp:Literal></h4>
</div>
<div class="modal-body">
<asp:TextBox ID="txtActualizarArchivo" CssClass="ADSdropzone hidden" runat="server"></asp:TextBox>
</div>
<div class="modal-footer">
<asp:LinkButton ID="BtnActualizarArchivo" OnClick="BtnActualizarArchivo_Click" CssClass="btn btn-default" runat="server">Agregar</asp:LinkButton>
<button data-dismiss="modal" class="btn btn-default">Cancelar</button>
</div>
</ContentTemplate>
</asp:UpdatePanel>
</div>
</div>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script src="/Metronic/assets/global/plugins/ion.rangeslider/js/ion.rangeSlider.min.js" type="text/javascript"></script>
<script src="/Metronic/assets/global/plugins/bootstrap-markdown/lib/markdown.js" type="text/javascript"></script>
<script src="/Metronic/assets/global/plugins/bootstrap-markdown/js/bootstrap-markdown.js" type="text/javascript"></script>
<script src="/Metronic/assets/global/plugins/bootstrap-summernote/summernote.min.js" type="text/javascript"></script>
<script>
function CargaPickers() {
$.datetimepicker.setLocale('es');
$('input.ADDateTimePicker').each(function () {
var TThis = $(this);
TThis.datetimepicker({
dayOfWeekStart: 1,
lang: 'es',
format: 'd/m/Y H:i',
formatDate: 'd/m/Y H:i',
step: 30
});
var Div = TThis.parent()
var boton = document.createElement('span');
boton.className = "input-group-btn"
var subboton = document.createElement('a')
subboton.className = "btn default btnCalendar"
subboton.innerHTML = "<i class='fa fa-calendar'></i>"
subboton.addEventListener('click', function () {
TThis.datetimepicker('show')
});
boton.appendChild(subboton)
var agregar = true;
for (var i = 0; i < Div[0].children.length; i++) {
if (Div[0].children[i].isEqualNode(boton)) {
agregar = false;
}
}
if (agregar) {
Div[0].appendChild(boton);
}
//Div[0].appendChild(boton)
});
}
//CssClass="icheck"
loaderinited = loaderinit;
function setchecklistitulo() {
let Total = $('.GVcheklist input[type="checkbox"]').length;
let Terminados = $('.GVcheklist input[type="checkbox"]:checked').length;
$('#Contador').text('(' + Terminados + '/' + Total + ')');
$('.GVcheklist input[type="checkbox"]:checked').closest('tr').addClass('finished');
CambiarTitulo('' + Terminados + '/' + Total);
let checks = $('.GVcheklist input[type="checkbox"]:not(.chadd)');
checks.addClass('chadd');
checks.change(function () {
loaderinit = (function () { });
let ischeked = $(this).is(':checked');
$(this).closest('tr').toggleClass('finished');
$(".LnkSinfuncion").click();
});
}
function CambiarTitulo(cadena) {
let TTitulo = $('#E_LtlTitulo')
let texto = TTitulo.text();
let splited = texto.split(" ");
let size = splited[splited.length - 1].length;
texto = texto.substring(0, texto.length - size) + cadena;
TTitulo.text(texto);
}
var avancecambio=0;
function barraavance() {
let item = $(".TxtAvance:not(.ionRangeSlider)")
let Valorxyz = $(".TxtAvance").val();
if (item.length > 0) {
item.toggleClass('ionRangeSlider');
item.ionRangeSlider({
min: 0,
max: 100,
onChange: (function () {
setTimeout(function () { if ($(".TxtAvance").val() != Valorxyz) { avancecambio = 1 } }, 50);
})
});
}
}
var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_endRequest(function (s, e) { loaderinit = loaderinited; });
Sys.Application.add_load(function (s, e) {
CargaPickers();
setchecklistitulo();
barraavance();
//$('.GVcheklist input[type="checkbox"]:checked').addClass('icheck setclass');
});
$(document).ready(function () {
$(document).mouseup(function () {
setTimeout( function () { if (avancecambio == 1) { loaderinit = (function () { });$('.BtnUpAvance').click(); avancecambio = 0; } }, 100);
});
CargaPickers();
setchecklistitulo();
barraavance();
//$('.GVUsuarios input[type="checkbox"]:not(.setclass)').addClass('icheck setclass');
});
</script>
</asp:Content>

691
OI/TareaDetalle.aspx.cs Normal file
View File

@@ -0,0 +1,691 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using Extensiones;
public partial class OI_TareaDetalle : ClsPaginas
{
#region Propiedades
public const string iddivAgregar = "divModalAgregarActividad";
public const string iddivAgregarArchivo = "divModalAgregarArchivo";
public const string iddivAgregarTema = "divModalAgregartema";
public const string iddivCambiarEstatus = "divModalCambiarEstatus";
public int RCveEvento { get { return ViewState["RCveEvento"] != null ? ViewState["RCveEvento"].ToString().ToEntero() : 0; } set { ViewState["RCveEvento"] = value; } }
public int Folio { get { return ViewState["Folio"] != null ? ViewState["Folio"].ToString().ToEntero() : 0; } set { ViewState["Folio"] = value; } }
public decimal Avance { get { return ViewState["Avance"] != null ? ViewState["Avance"].ToString().ToEntero() : 0; } set { ViewState["Avance"] = value; } }
public int CveUsuarioPara { get { return ViewState["CveUsuarioPara"].ToString().ToEntero(); } set { ViewState["CveUsuarioPara"] = value; } }
public int CveUsuarioCCPara { get { return ViewState["CveUsuarioCCPara"].ToString().ToEntero(); } set { ViewState["CveUsuarioCCPara"] = value; } }
public bool EsNuevo { get { return Convert.ToBoolean(ViewState["EsNuevo"]); } set { ViewState["EsNuevo"] = value; } }
public System.Data.DataTable CheckListNew { get { return ViewState["CheckListNew"] != null ? (System.Data.DataTable)ViewState["CheckListNew"] : null; } set { ViewState["CheckListNew"] = value; } }
public int chklistitemindex { get { return ViewState["chklistitemindex"] != null ? ViewState["chklistitemindex"].ToString().ToEntero() : 0; } set { ViewState["chklistitemindex"] = value; } }
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
EsNuevo = true;
CveUsuarioPara = 0;
CveUsuarioCCPara = 0;
if (Request["Archivo"] != null)
{
string strArchivo = string.Format("{0}{1}", UsuarioActual.Empresa.Ruta, ModExtensiones.Decripta(Request["Archivo"].ToString()));
if (System.IO.File.Exists(strArchivo))
{
try
{
string filename = ModExtensiones.Decripta(Request["filename"].ToString());
System.IO.FileInfo file = new System.IO.FileInfo(strArchivo);
string mimeType = "text/plain";
try { mimeType = MimeMapping.GetMimeMapping(strArchivo); }
catch (Exception) { }
// Response.Write(path)
Response.Clear();
Response.ClearHeaders();
Response.ClearContent();
Response.AddHeader("Content-Disposition", $"attachment; filename= {Uri.EscapeDataString(filename)}");
Response.AddHeader("Content-Length", file.Length.ToString());
Response.ContentType = mimeType;
Response.Flush();
Response.TransmitFile(file.FullName);
Response.End();
}
catch (Exception)
{
this.RegistraScript("window.close();");
}
}
else
{
this.RegistraScript("window.close();");
}
}
else
{
CargaTemas();
CargaEstatus();
cargaUsuarios();
if (Request["CveEvento"] != null)
{
RCveEvento = Request["CveEvento"].ToString().ToEntero();
}
if (RCveEvento > 0)
{
EsNuevo = false;
LoadTarea();
}
else
{
LtlTitulo.Text = "Tarea Nueva";
TxtArchivo.Visible = true;
CveUsuarioCCPara = UsuarioActual.CveUsuario;
}
SetUsuarios();
HypArchivo.Visible = !TxtArchivo.Visible;
}
}
}
private void CargaTemas()
{
DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
DdlTema.DataBind();
DdlTema.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
private void CargaEstatus()
{
DdlEventoEstatus.DataSource = GlobalDTOIEstatusEventos;//get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
DDlEstatus.DataSource = DdlEventoEstatus.DataSource;
DdlEventoEstatus.DataBind();
DDlEstatus.DataBind();
DdlEventoEstatus.Enabled = false;
//DdlEventoEstatus.Items.Insert(0, new ListItem("Seleccione", "-1"));
}
private void cargaUsuarios()
{
string FiltroAD = "";
GVUsuarios.DataSource = get_GlobalDTUsuarios().FiltraParametros(String.Format("CveEmpresa = {0} AND Estatus =1 {1}", UsuarioActual.CveEmpresa, FiltroAD), "Rol ASC");
GVUsuarios.DataBind();
}
private void cargaActividades(ClsOIEventos ObjOI)
{
GvActividades.DataSource = null;
if (ObjOI.GetEventosComentarios(RCveEvento))
{
GvActividades.DataSource = ObjOI.DtResultados;
}
GvActividades.DataBind();
UpActividades.Update();
}
private void SetUsuarios()
{
StringBuilder para = new StringBuilder();
StringBuilder CCpara = new StringBuilder();
foreach (GridViewRow gvRow in GVUsuarios.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
CheckBox chkpara = gvRow.FCCheckBox("ChkPara");
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
chkpara.Checked = false;
chkCCpara.Checked = false;
if (EsNuevo)
{
chkpara.Enabled = true;
chkCCpara.Enabled = true;
//if (CveUsuario == CveUsuarioCCPara)
//{
// chkCCpara.Enabled = false;
//}
}
else
{
chkpara.Enabled = false;
chkCCpara.Enabled = false;
}
if (CveUsuario == CveUsuarioPara)
{
chkpara.Checked = true;
para.AppendFormat("\"{0}\"",gvRow.DataKey("Nombre").ToString());
}
if (CveUsuario == CveUsuarioCCPara)
{
chkCCpara.Checked = true;
CCpara.AppendFormat("\"{0}\"", gvRow.DataKey("Nombre").ToString());
}
}
LtlPara.Text = para.ToString();
LtlCCPara.Text = CCpara.ToString();
}
}
public void LoadTarea()
{
GVcheklist.DataSource = new System.Data.DataTable();
using (ClsOIEventos ObjOI_E = new ClsOIEventos())
{
if (ObjOI_E.GetOI_Eventos2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados.Rows.Count > 0)
{
PnlUsuarios.Visible = true;
portletMiembros.Visible = false;
LnkUpFile.Visible = true;
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
Folio = drow["Folio"].ToString().ToEntero();
Avance = drow["Avance"].ToString().ToDecimal();
TxtAsunto.Text = drow["Asunto"].ToString();
TxtDescripcion.Text = drow["Descripcion"].ToString();
DdlPrioridad.SelectedValueExist(drow["Prioridad"].ToString());
txtFechaI.Text = string.Format("{0:dd/MM/yyyy HH:mm}", drow["FechaInicio"]);
txtFechaF.Text = string.Format("{0:dd/MM/yyyy HH:mm}", drow["FechaFin"]);
DdlTema.SelectedValueExist(drow["CveRevision"].ToString());
DdlEventoEstatus.SelectedValueExist(drow["CveEventoEstatus"].ToString());
DDlEstatus.SelectedValueExist(drow["CveEventoEstatus"].ToString());
HypArchivo.Text = string.Format("{0}<br /><i class=\"fa fa-download\"></i>", drow["Archivo"].ToString());
HypArchivo.NavigateUrl = string.Format("~/OI/TareaDetalle.aspx?Archivo={0}&filename={1}", ModExtensiones.Encripta(string.Format("OIFiles\\{0}\\{1}", Folio, drow["Archivo"])), ModExtensiones.Encripta(drow["Archivo"].ToString()));
TxtArchivo.Visible = (drow["Archivo"].ToString().Length == 0);
portletArchivo.Visible = !TxtArchivo.Visible;
LnkUpFile.Text = (portletArchivo.Visible ? "Actualizar archivo" : "Agregar archivo");
CveUsuarioCCPara = drow["CveUsuarioDe"].ToString().ToEntero();
CveUsuarioPara = drow["CveUsuarioPara"].ToString().ToEntero();
TxtAvance.Text = string.Format("{0:##0}", drow["Avance"]);
//OIE.[CveEvento], OIE.[CveTipoEvento], OIE.[Folio], OIE.[Asunto], OIE.[Descripcion], OIE.[Prioridad], OIE.[CveUsuarioDe], OIE.[CveUsuarioPara],
//OIE.[CveEventoEstatus], OIE.[FechaInicio], OIE.[FechaFin], OIE.[FechaRealTermino], OIE.[CveRevision], OIE.[Archivo], OIE.[FechaIng],
//OIE.[CveUsuarioIng], OIE.[CveEmpresa], OIE.[CveUsuarioModifico], OIE.[Avance]
LtlTitulo.Text = drow["Titulo"].ToString();
if (ObjOI_E.Getcheklist(RCveEvento))
{
GVcheklist.DataSource = ObjOI_E.DtResultados;
if (ObjOI_E.DtResultados.Rows.Count > 0)
{
portletChekList.Visible = true;
LnkAgregarCheckList.Visible = false;
}
}
cargaActividades(ObjOI_E);
}
}
GVcheklist.DataBind();
}
protected void LnkGuardar_Click(object sender, EventArgs e)
{
if (EsNuevo)
{
string errorMessage = "";
int cveUsuarioDe = -1;
int cveUsuarioPara = -1;
foreach (GridViewRow gvRow in GVUsuarios.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
CheckBox chkpara = gvRow.FCCheckBox("ChkPara");
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
if (chkpara.Checked)
{
cveUsuarioPara = CveUsuario;
}
if (chkCCpara.Checked)
{
cveUsuarioDe = CveUsuario;
}
}
}
OITipoEventos cveTipoEvento = OITipoEventos.Tarea;
string asunto = TxtAsunto.Text;
string descripcion = TxtDescripcion.Text;
int prioridad = DdlPrioridad.SelectedValue.ToEntero();
string fechaInicio = "";
if (txtFechaI.Text.ToDateTimeExcat().Year <= 1999)
{
if (txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999)
{
errorMessage = "no se ingreso una fecha de inicio valida";
}
else
{
fechaInicio = txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy/MM/dd HH:mm");
}
}
else
{
fechaInicio = txtFechaI.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm");
}
string fechaFin = "";
if (txtFechaF.Text.ToDateTimeExcat().Year <= 1999)
{
if (txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy").Year <= 1999)
{
errorMessage = "no se ingreso una fecha fin valida";
}
else
{
fechaFin = string.Format("{0:yyyy/MM/dd} 23:59", txtFechaF.Text.ToDateTimeExcat("dd/MM/yyyy"));
}
}
else
{
fechaFin = txtFechaF.Text.ToDateTimeExcat().ToString("yyyy/MM/dd HH:mm");
}
int cveRevision = DdlTema.SelectedValue.ToEntero();
string archivoname = "";
string rutaarchivoOri = "";
string ArchivoExtencion = "";
foreach (Archivo item in TxtArchivo.getfiles().Archivos)
{
archivoname = item.filenameO;
ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion);
rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename);
}
int cveUsuarioIng = UsuarioActual.CveUsuario;
int cveEmpresa = UsuarioActual.CveEmpresa;
bool Continuar = false;
int Folio = -1;
int CveEvento = -1;
if (cveUsuarioDe <= 0)
{
errorMessage = "no se selecciono el miembro 'C C Para'";
}
if (cveUsuarioPara <= 0)
{
errorMessage = "no se selecciono el miembro 'Para'";
}
if (errorMessage.Length == 0)
{
using (ClsOIEventos objOI = new ClsOIEventos())
{
objOI.IniciaTransacSQL();
Continuar = objOI.AddOI_Eventos2(cveTipoEvento, asunto, descripcion, prioridad, cveUsuarioDe, cveUsuarioPara, fechaInicio, fechaFin, cveRevision, archivoname, cveUsuarioIng, cveEmpresa);
CveEvento = objOI.CveEvento;
Folio = objOI.Folio;
if (Continuar)
{
foreach (System.Data.DataRow item in CheckListNew.Rows)
{
if (Continuar)
{
Continuar = objOI.Addcheklist(CveEvento, item["EventoComentario"].ToString(), UsuarioActual.CveUsuario);
}
}
}
if (Continuar && CveEvento > 0)
{
objOI.Commit();
}
else
{
objOI.RollBack();
Continuar = false;
}
}
if (Continuar && CveEvento > 0)
{
if (rutaarchivoOri.Length > 0)
{
string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}\\", ruta, Folio);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}", ruta, archivoname);//, ArchivoExtencion);
System.IO.File.Move(rutaarchivoOri, ruta);
}
this.Alert("Se ha agregado la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento));
}
}
else
{
this.Alert(errorMessage, ModExtensiones.TipoMensaje.MsgAdvertencia);
}
}
}
protected void LnkEliminarchek_Click(object sender, EventArgs e)
{
GridViewRow gvrow = (GridViewRow)((LinkButton)sender).NamingContainer;
if (EsNuevo)
{
CheckListNew = CheckListNew.FiltraParametros(string.Format("CveEventoCheckList <> {0}", gvrow.DataKey("CveEventoCheckList")));
GVcheklist.DataSource = CheckListNew;
GVcheklist.DataBind();
}
else
{
using (ClsOIEventos objOI = new ClsOIEventos())
{
if (objOI.Removecheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), UsuarioActual.CveUsuario))
{
Alert("Se ha eliminado la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
if (objOI.Getcheklist(RCveEvento))
{
GVcheklist.DataSource = objOI.DtResultados;
GVcheklist.DataBind();
cargaActividades(objOI);
}
}
}
}
}
protected void LnkAgregarCheckList_Click(object sender, EventArgs e)
{
portletChekList.Visible = true;
LnkAgregarCheckList.Visible = false;
if (RCveEvento > 0)
{
}
else
{
GVcheklist.Columns[0].Visible = false;
CheckListNew = new System.Data.DataTable();
//CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng
CheckListNew.Columns.Add("CveEventoCheckList", typeof(int));
CheckListNew.Columns.Add("CveEvento", typeof(int));
CheckListNew.Columns.Add("CveTipoEvento", typeof(int));
CheckListNew.Columns.Add("EventoComentario", typeof(String));
CheckListNew.Columns.Add("Estatus", typeof(bool));
CheckListNew.Columns.Add("CveUsuario", typeof(int));
CheckListNew.Columns.Add("Usuario", typeof(string));
CheckListNew.Columns.Add("FechaIng", typeof(DateTime));
}
UpChkList.Update();
}
protected void LnkAgregarchklistitem_Click(object sender, EventArgs e)
{
if (RCveEvento > 0)
{
using (ClsOIEventos objOI = new ClsOIEventos())
{
if (objOI.Addcheklist(RCveEvento, TxtActividad.Text, UsuarioActual.CveUsuario))
{
Alert("Se ha agregó la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
if (objOI.Getcheklist(RCveEvento))
{
GVcheklist.DataSource = objOI.DtResultados;
GVcheklist.DataBind();
cargaActividades(objOI);
}
}
}
}
else
{
System.Data.DataRow drow = CheckListNew.NewRow();
drow["CveEventoCheckList"] = chklistitemindex++;
drow["EventoComentario"] = TxtActividad.Text;
drow["Estatus"] = false;
//CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng
CheckListNew.Rows.Add(drow);
GVcheklist.DataSource = CheckListNew;
GVcheklist.DataBind();
}
TxtActividad.Text = "";
}
protected void ChkEstatus_CheckedChanged(object sender, EventArgs e)
{
CheckBox chk = (CheckBox)sender;
GridViewRow gvrow = (GridViewRow)chk.NamingContainer;
using (ClsOIEventos objOI = new ClsOIEventos())
{
if (objOI.Upcheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), gvrow.DataKey("EventoComentario"), chk.Checked, UsuarioActual.CveUsuario))
{
Alert("Se actualizo el estatus de la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
if (objOI.Getcheklist(RCveEvento))
{
GVcheklist.DataSource = objOI.DtResultados;
GVcheklist.DataBind();
cargaActividades(objOI);
}
}
}
}
protected void LnkEditarCheck_Click(object sender, EventArgs e)
{
}
protected void BtnCambiarEstatus_Click(object sender, EventArgs e)
{
using (ClsOIEventos objOI = new ClsOIEventos())
{
if (objOI.UpdateEstatusEvento2(DDlEstatus.SelectedValue.ToEntero(), -1, RCveEvento, UsuarioActual.CveUsuario))
{
//CargaEstatusEventos(DdlEventoEstatus.SelectedValue.ToEntero);
//if (DdlEventoEstatus.SelectedValue.ToEntero == 3 | DdlEventoEstatus.SelectedValue.ToEntero == 1)
// EnviarCorreoCambioEstatus(false);
//CargaDatos();
string mensaje = string.Format("Se cambio el Estatus de \"{0}\" a \"{1}\"", DdlEventoEstatus.SelectedItem.Text, DDlEstatus.SelectedItem.Text);
DdlEventoEstatus.SelectedValueExist(DDlEstatus.SelectedValue);
UpEstatus.Update();
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivCambiarEstatus));
Alert(mensaje, ModExtensiones.TipoMensaje.ToastInformacion);
cargaActividades(objOI);
}
}
}
protected void LnkcambiarEstatus_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivCambiarEstatus));
}
protected void LnkSinfuncion_Click(object sender, EventArgs e)
{
}
protected void LnkAgregarTema_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarTema));
}
protected void BtnAgregarTema_Click(object sender, EventArgs e)
{
using (ClsOIEventos objoi = new ClsOIEventos())
{
if (objoi.AddRevisionesEventos(TxtTema.Text.Trim(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
{
Alert("Tema agregada con éxito.", ModExtensiones.TipoMensaje.MsgInformacion);
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarTema));
TxtTema.Text = "";
set_GlobalDTOIRevision(-1, objoi.DtResultados);
CargaTemas();
UpContenido.Update();
}
else { Alert("Ocurrió un error al agregar la revisión. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError); }
}
}
protected void LnkAgregarActividad_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregar));
}
protected void BtnAgregarComentario_Click(object sender, EventArgs e)
{
string Comentario = TxtComentario.Text;
int CveComentario = 0;
string archivoname = "";
string rutaarchivoOri = "";
string ArchivoExtencion = "";
foreach (Archivo item in Txtfilecomentario.getfiles().Archivos)
{
archivoname = item.filenameO;
ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion);
rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename);
}
using (ClsOIEventos objoi = new ClsOIEventos())
{
CveComentario = objoi.AddEventoComentario(RCveEvento, Comentario, archivoname, UsuarioActual.CveUsuario);
if (CveComentario > 0) { cargaActividades(objoi); }
}
Txtfilecomentario.Text = "";
if (CveComentario > 0)
{
if (rutaarchivoOri.Length > 0)
{
string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}\\", ruta, Folio);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}{2}", ruta, CveComentario, archivoname);//, ArchivoExtencion);
System.IO.File.Move(rutaarchivoOri, ruta);
}
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregar));
this.Alert("comentario agregado", ModExtensiones.TipoMensaje.ToastInformacion);
//this.Alert("Se ha agregado la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento));
}
}
protected void GvActividades_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
HyperLink HplA = e.Row.FCHyperLink("HplA");
string archivoname = e.Row.DBCampo("Archivo");
string CveComentario = e.Row.DBCampo("CveEventoComentario");
HplA.Visible = archivoname != "";
if (HplA.Visible)
{
HplA.NavigateUrl = string.Format("~/OI/TareaDetalle.aspx?Archivo={0}&filename={1}", ModExtensiones.Encripta(string.Format("OIFiles\\{0}\\{1}", Folio, archivoname)), ModExtensiones.Encripta(archivoname));
}
}
//Visible='<%# Eval("Archivo").ToString() != "" %>' data-archivo ='<%# string.Format("",Eval("CveEventoComentario").ToString()) %>'
//string.Format("~/OI/TareaDetalle.aspx?Archivo={0}&filename={1}", ModExtensiones.Encripta(string.Format("OIFiles\\{0}\\{1}", Folio, drow["Archivo"])), ModExtensiones.Encripta(drow["Archivo"].ToString()))
}
protected void LnkUpFile_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarArchivo));
}
protected void BtnActualizarArchivo_Click(object sender, EventArgs e)
{
string archivoname = "";
string rutaarchivoOri = "";
string ArchivoExtencion = "";
foreach (Archivo item in txtActualizarArchivo.getfiles().Archivos)
{
archivoname = item.filenameO;
ArchivoExtencion = string.Format("{0}{1}", (item.Extencion.Length > 0 ? "." : ""), item.Extencion);
rutaarchivoOri = string.Format("{0}{1}{2}", AppDomain.CurrentDomain.BaseDirectory, item.patch, item.filename);
}
string ruta = string.Format("{0}OIFiles\\", UsuarioActual.Empresa.Ruta);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
ruta = string.Format("{0}{1}\\", ruta, Folio);
if (!System.IO.Directory.Exists(ruta))
{
System.IO.Directory.CreateDirectory(ruta);
}
string rutafin = string.Format("{0}{1}", ruta, archivoname);//, ArchivoExtencion);
int index = 0;
while (System.IO.File.Exists(rutafin))
{
archivoname = string.Format("{0}{1}", index++, archivoname);
rutafin = string.Format("{0}{1}", ruta, archivoname);
}
System.IO.File.Move(rutaarchivoOri, rutafin);
bool continuar = false;
using (ClsOIEventos objoi = new ClsOIEventos())
{
continuar = objoi.AddUPEventoArchivo(RCveEvento, archivoname, UsuarioActual.CveUsuario);
}
if (continuar)
{
LoadTarea();
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarArchivo));
this.Alert("Archivo Actualizado", ModExtensiones.TipoMensaje.ToastInformacion);
}
UpContenido.Update();
}
protected void BtnUpAvance_Click(object sender, EventArgs e)
{
bool continuar = false;
using (ClsOIEventos objoi = new ClsOIEventos())
{
continuar = objoi.UPEventoAAvance(RCveEvento, TxtAvance.Text.ToDecimal(), UsuarioActual.CveUsuario);
if (continuar){
if (objoi.DtResultados.Rows.Count > 0)
{
LtlTitulo.Text = objoi.DtResultados.Rows[0]["Titulo"].ToString();
}
cargaActividades(objoi);
}
}
if (continuar)
{
this.Alert("Avance Actualizado", ModExtensiones.TipoMensaje.ToastInformacion);
}
UpTitulo.Update();
}
}

View File

@@ -1993,7 +1993,7 @@ function AddFunctionPS(inputProducto, inputAlmace, datos) {
});
}
textoOld = texto
textoOld = texto;
};
let GETPSALMACEN = function () {
@@ -2016,10 +2016,10 @@ function AddFunctionPS(inputProducto, inputAlmace, datos) {
};
lupa.bind("click", function () {
buscaPS(Minput.val());
})
});
Minput.bind("copy paste cut", function () {
buscaPS(Minput.val());
})
});
Minput.bind("keyup ", function (e) {
if (e.keyCode == 13) {
buscaPS(Minput.val());
@@ -2027,7 +2027,7 @@ function AddFunctionPS(inputProducto, inputAlmace, datos) {
} else {
buscaPSTimer(Minput.val());
}
})
});
PSModal.on('click', '.list-group-item ', function (e) {
let $this = $(this).hasClass('list-group-item') ? $(this) : $(this).closest('.list-group-item');
@@ -2054,7 +2054,7 @@ function AddFunctionPS(inputProducto, inputAlmace, datos) {
});
PSModal.on('shown.bs.modal', function () {
Minput.focus();
})
});
PSModal.on('click', '.item-almacen', function (e) {
let $this = $(this).hasClass('item-almacen') ? $(this) : $(this).closest('.item-almacen');
let cveps = $(PSModal.find('.active')).data('cve');

View File

@@ -863,7 +863,7 @@ Partial Class Ventas_ClientesAbonar
importeMX = gvr.FCTextBox("TxtAbonar").Text.ToDecimal * tipoCambioVentaValuacion
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 1 Then
ImporteMovimiento = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
importeMX = gvr.FCTextBox("TxtAbonar").Text.ToDecimal * tipoCambioVentaValuacion
importeMX = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
ElseIf CveMoneda = 2 AndAlso gvr.DataKey("CveMoneda").ToEntero = 2 Then
ImporteMovimiento = gvr.FCTextBox("TxtAbonar").Text.ToDecimal
importeMX = ImporteMovimiento * tipoCambioVentaValuacion
@@ -1467,6 +1467,7 @@ Partial Class Ventas_ClientesAbonar
If Not ObjMov.AddPrePolizasDetalle(CvePrePoliza, TipoMovimiento, ImporteMovimiento, Referencia, ConceptoContable, ConceptoMovimiento, FechaMovimiento, IdCtaContable, -1, CveIE, gvr.FCHyperLink("HplF2").Text.ToEntero, -1, CveSubProyectoContabilizar, ViewState("CveCliente").ToString.ToEntero, ImporteMX:=importeMX, CveCuenta:=CveCuenta, TipoCambio:=TipoCambioGeneral, TipoCambioPago:=tipoCambioPago, PorcentajeImpuesto:=PorcentajeImpuesto) Then
MsgError = "No se pudo insertar la póliza"
Exit For
End If
End If
@@ -1568,7 +1569,7 @@ Partial Class Ventas_ClientesAbonar
End If
End If
If ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 3) Then
If MsgError = "" AndAlso ObjMov.ValidacionPrePolizaCuadre(CvePrePoliza, 3) Then
If ObjMov.ValorPolizaDescuadre > 0 Then
MsgError = ObjMov.MensajePolizaDescuadre + " La diferencia es de: " + ObjMov.ValorDiferencia
End If

View File

@@ -11787,7 +11787,10 @@ Partial Class Ventas
If CveCliente > 0 Then
HdnIVACalculado.Value = "0"
HdnFolioFiscalNC.Value = "0"
'SI ES REFACTURACION NO LIMPIAR EL FOLIO FISCAL
If NuevaFactura <> 1 Then
HdnFolioFiscalNC.Value = "0"
End If
LblAntAplicados.Text = ""
LblAntAplicados.Visible = False
LblAmortizacion.Text = "0.00"
@@ -15078,7 +15081,7 @@ Partial Class Ventas
End If
ObjVentas.Dispose()
End Sub
Private Function GenerarPolizaAC(ObjAC As ClsContPAQi, factura As Modelos.Factura, Optional CancelacionIngreso As Boolean = False) As RetornoPolizaConta
Private Function GenerarPolizaAC(ObjAC As ClsContPAQi, factura As Modelos.Factura, Optional CancelacionIngreso As Boolean = False) As Modelos.RetornoPolizaConta
Dim Retorno As New Modelos.RetornoPolizaConta
Dim IDPoliza As Integer = 0