This commit is contained in:
JORGE LUIS CAUDILLO ESPARZA
2020-04-30 14:52:54 -07:00
parent 14a5e172d4
commit b339887f65
19 changed files with 2122 additions and 585 deletions

File diff suppressed because one or more lines are too long

View File

@@ -4422,11 +4422,13 @@ Public Class ClsPaginas
PaginaDict.Add("/OI/Normatividad.aspx".ToUpper(), 669) PaginaDict.Add("/OI/Normatividad.aspx".ToUpper(), 669)
PaginaDict.Add("/OI/RepNormatividad.aspx".ToUpper(), 669) PaginaDict.Add("/OI/RepNormatividad.aspx".ToUpper(), 669)
PaginaDict.Add("/OI/Minutas.aspx".ToUpper(), -1) PaginaDict.Add("/OI/Minutas.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/MinutaDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepDocumentos.aspx".ToUpper(), -1) PaginaDict.Add("/OI/RepDocumentos.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/EventoComentario.aspx".ToUpper(), -1) PaginaDict.Add("/OI/EventoComentario.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepEventos.aspx".ToUpper(), -1) PaginaDict.Add("/OI/RepEventos.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepTareas.aspx".ToUpper(), 293) PaginaDict.Add("/OI/RepTareas.aspx".ToUpper(), 293)
PaginaDict.Add("/OI/RepTareas2.aspx".ToUpper(), 293)
PaginaDict.Add("/OI/RepMinutas.aspx".ToUpper(), 338) PaginaDict.Add("/OI/RepMinutas.aspx".ToUpper(), 338)
PaginaDict.Add("/OI/PopUpAgenda.aspx".ToUpper(), -1) PaginaDict.Add("/OI/PopUpAgenda.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepSoporteADS.aspx".ToUpper(), 456) PaginaDict.Add("/OI/RepSoporteADS.aspx".ToUpper(), 456)

View File

@@ -68,8 +68,8 @@ Public Class ClsSisMail
Dim Correo As New System.Net.Mail.MailMessage Dim Correo As New System.Net.Mail.MailMessage
Dim Mensaje As String = String.Empty Dim Mensaje As String = String.Empty
Dim ArrayPara() As String = ObjMail.Para.Split(";"c) Dim ArrayPara() As String = ObjMail.Para.Replace(",", ";").Split(";"c)
Dim ArrayCCP() As String = ObjMail.CCP.Split(";"c) Dim ArrayCCP() As String = ObjMail.CCP.Replace(",", ";").Split(";"c)
'"sgd.facturacion@adsistemas.mx" '"sgd.facturacion@adsistemas.mx"
If ObjMail.De = String.Empty Then If ObjMail.De = String.Empty Then

View File

@@ -26,9 +26,17 @@ Public Class Notificaciones
End Function End Function
Public Shared Sub AlertaVentana(Message As String, Para As String, Optional Titulo As String = "", Optional timeoutseconds As Integer = 5, Optional Tipo As TipoNotificacion = TipoNotificacion.AlertaVentanaNoOcultar)
Dim lPara As New List(Of String)
lPara.Add(Para)
AlertaVentana(Message, lPara, Titulo, timeoutseconds, Tipo)
End Sub
Public Shared Sub AlertaVentana(Message As String, Para As List(Of String), Optional Titulo As String = "", Optional timeoutseconds As Integer = 5, Optional Tipo As TipoNotificacion = TipoNotificacion.AlertaVentanaNoOcultar) Public Shared Sub AlertaVentana(Message As String, Para As List(Of String), Optional Titulo As String = "", Optional timeoutseconds As Integer = 5, Optional Tipo As TipoNotificacion = TipoNotificacion.AlertaVentanaNoOcultar)
Dim Clients As Hubs.IHubConnectionContext(Of Object) = GlobalHost.ConnectionManager.GetHubContext(Of Notificaciones)().Clients If (Para IsNot Nothing) AndAlso Para.Count > 0 Then
Clients.Users(Para).AlertaVentana(Titulo, Message, DirectCast(Tipo, Integer), timeoutseconds) Dim Clients As Hubs.IHubConnectionContext(Of Object) = GlobalHost.ConnectionManager.GetHubContext(Of Notificaciones)().Clients
Clients.Users(Para).AlertaVentana(Titulo, Message, DirectCast(Tipo, Integer), timeoutseconds)
End If
End Sub End Sub
'Public Shared Sub AlertaVentana(Message As String, Para As List(Of String), Optional Titulo As String = "", Optional timeoutseconds As Integer = 5, Optional Tipo As TipoNotificacion = TipoNotificacion.AlertaVentanaNoOcultar) 'Public Shared Sub AlertaVentana(Message As String, Para As List(Of String), Optional Titulo As String = "", Optional timeoutseconds As Integer = 5, Optional Tipo As TipoNotificacion = TipoNotificacion.AlertaVentanaNoOcultar)

Binary file not shown.

Binary file not shown.

View File

@@ -125,13 +125,20 @@
<asp:HiddenField ID="HdfImagenes" ClientIDMode="Static" runat="server" /> <asp:HiddenField ID="HdfImagenes" ClientIDMode="Static" runat="server" />
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
<%: Scripts.Render("~/Metronic/assets/global/scripts/JS") %>
<script type="text/javascript" src="/Scripts/Notificaciones.js"></script> <%--<script type="text/javascript" src="/Scripts/Notificaciones.js"></script>--%>
<script> <script>
// aqui debe de llammarse Sr, para desconectar // aqui debe de llammarse siganalr, para desconectar
window.addEventListener("beforeunload", NotificacionesADS.closeopenConexion); function exitsignalr() {
let ADSCloseConection = "ADSCloseConection";
let varreconected = localStorage.getItem(ADSCloseConection);//obtengo la variable para cambiarla y dispara el evento local change
if (varreconected == "1") {
localStorage.removeItem(ADSCloseConection);
} else { localStorage.setItem(ADSCloseConection, "1"); }
localStorage.removeItem('AdsNotificacionesIsConnected');
} exitsignalr();
var prm = Sys.WebForms.PageRequestManager.getInstance(); var prm = Sys.WebForms.PageRequestManager.getInstance();
prm.add_initializeRequest(function (s, e) { prm.add_initializeRequest(function (s, e) {
Metronic.blockUI({ animate: true }); Metronic.blockUI({ animate: true });

View File

@@ -27,6 +27,9 @@ Partial Class LogIn
Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load Protected Sub Page_Load(sender As Object, e As EventArgs) Handles Me.Load
'"187.158.96.163" es la de mi casa '"187.158.96.163" es la de mi casa
'If (Context.Session("UsuarioSIG") IsNot Nothing) OrElse Not User.Identity.IsAuthenticated Then
'End If
Dim iplist As String() = New String() {"", ""} Dim iplist As String() = New String() {"", ""}
If HttpContext.Current.Request.ServerVariables("REMOTE_ADDR").ToString().Contiene(iplist) Then If HttpContext.Current.Request.ServerVariables("REMOTE_ADDR").ToString().Contiene(iplist) Then
Response.Redirect("http://www.adsistemas.mx/login.aspx") 'si alguien lo ve es correcto la pagina vieja de adsistemas Response.Redirect("http://www.adsistemas.mx/login.aspx") 'si alguien lo ve es correcto la pagina vieja de adsistemas
@@ -172,6 +175,10 @@ Partial Class LogIn
End Property End Property
Dim BtnLogIn_Clickenter As Integer = 0 Dim BtnLogIn_Clickenter As Integer = 0
Protected Sub BtnLogIn_Click(ByVal sender As Object, ByVal e As EventArgs) 'Handles CmdLogIn.Click Protected Sub BtnLogIn_Click(ByVal sender As Object, ByVal e As EventArgs) 'Handles CmdLogIn.Click
Dim ReturnUrl As String = "/"
If Request("ReturnUrl") IsNot Nothing Then
ReturnUrl = Request("ReturnUrl").ToString()
End If
If BtnLogIn_Clickenter = 0 Then 'esta variable se recicla con cada postaback If BtnLogIn_Clickenter = 0 Then 'esta variable se recicla con cada postaback
BtnLogIn_Clickenter = 1 BtnLogIn_Clickenter = 1
Dim ObjUsuario As New ClsSisUsuarios Dim ObjUsuario As New ClsSisUsuarios
@@ -197,19 +204,22 @@ Partial Class LogIn
If Usuario.CvePlataforma = 6 And Usuario.CveRol = 10 Then If Usuario.CvePlataforma = 6 And Usuario.CveRol = 10 Then
'PLATAFORMA PORTAL CLIENTE 'PLATAFORMA PORTAL CLIENTE
FormsAuthentication.RedirectFromLoginPage(_sessionid, False) 'FormsAuthentication.RedirectFromLoginPage(_sessionid, False)
Response.Redirect("/PortalCliente/PortalCliente.aspx", True) 'Response.Redirect("/PortalCliente/PortalCliente.aspx", True)
ReturnUrl = "/PortalCliente/PortalCliente.aspx"
ElseIf Usuario.CvePlataforma = 7 And Usuario.CveRol = 11 Then ElseIf Usuario.CvePlataforma = 7 And Usuario.CveRol = 11 Then
'PLATAFORMA PORTAL PROVEEDOR 'PLATAFORMA PORTAL PROVEEDOR
FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False) 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
Response.Redirect("/PortalProveedor/PortalProveedor.aspx", True) 'Response.Redirect("/PortalProveedor/PortalProveedor.aspx", True)
ReturnUrl = "/PortalProveedor/PortalProveedor.aspx"
ElseIf Usuario.CveRol = 1200 And Usuario.Acceso > 0 Then ElseIf Usuario.CveRol = 1200 And Usuario.Acceso > 0 Then
'PLATAFORMA GPS 'PLATAFORMA GPS
Usuario.CvePlataforma = 3 Usuario.CvePlataforma = 3
FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False) 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
'Response.Redirect("/PortalGPS/InicioGPS.aspx", True)
Response.Redirect("/PortalGPS/InicioGPS.aspx", True) ReturnUrl = "/PortalGPS/InicioGPS.aspx"
Else Else
'PLATAFORMA SIG 'PLATAFORMA SIG
CType(Session("UsuarioSIG"), Usuario).CvePlataforma = 1 CType(Session("UsuarioSIG"), Usuario).CvePlataforma = 1
@@ -219,11 +229,16 @@ Partial Class LogIn
If dt.Rows.Count > 1 Then If dt.Rows.Count > 1 Then
Usuario.MultipleEmpresa = True Usuario.MultipleEmpresa = True
End If End If
FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False) 'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
End If End If
End If End If
dt.Dispose() dt.Dispose()
End If End If
Dim cookie = FormsAuthentication.GetAuthCookie(Encripta(Usuario.CveUsuario), False)
Response.Cookies.Add(cookie)
'RegistraScript(String.Format("iniciaSesion('{0}')", ReturnUrl.Replace("'", "\'")))
Response.Redirect(ReturnUrl, True)
Else Else
Alert("El usuario no esta autorizado en este equipo, favor de contactar al administrador de usuarios.", TipoMensaje.MsgAdvertencia) Alert("El usuario no esta autorizado en este equipo, favor de contactar al administrador de usuarios.", TipoMensaje.MsgAdvertencia)
End If End If

View File

@@ -26,8 +26,9 @@ public partial class OI_CircularDetalleB : ClsPaginas
DdlSucursales.DataBind(); DdlSucursales.DataBind();
DdlSucursales.Items.Insert(0, new ListItem("Todos", "-1")); DdlSucursales.Items.Insert(0, new ListItem("Todos", "-1"));
GVUsuarios.DataSource = get_GlobalDTUsuarios( CveEmpresa: UsuarioActual.CveEmpresa);
GVUsuarios.DataBind(); GVUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros("Estatus =1 ", "Rol ASC");
GVUsuarios.DataBind();
UpUsuarios.Update(); UpUsuarios.Update();
} }

266
OI/MinutaDetalle.aspx Normal file
View File

@@ -0,0 +1,266 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="MinutaDetalle.aspx.cs" Inherits="OI_MinutaDetalle" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
</asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
<style>
.mypaste:before {
content: "Pegar aquí";
}
.addropzone.dz-clickable:before {
margin-top: 40px;
}
.pnlCorreo {
display: table;
width: 100%;
border: 1px solid #e0e0e0;
}
.headerCorreo {
font-size: 16px;
float: left;
width: 20%;
color: #333333;
background-color: #f9f9f9;
border-color: #e0e0e0;
padding: 10px 15px;
}
.bodycorreos {
padding: 3px 15px;
width: 80%;
float: right;
}
.headerCorreoCCP {
padding: 20px 15px;
}
@media (min-width: 1167px) {
.headerCorreoCCP {
padding: 30px 15px;
}
}
.linkCorreo {
text-decoration: none;
color: #659be0;
font-weight: bold;
}
tr[hide="1"] {
display: none;
}
.addropzone {
min-height: 130px;
}
</style>
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
<asp:UpdatePanel ID="UpTituloPagina" runat="server">
<ContentTemplate>
<asp:Literal runat="server" ID="ltlTituloPage"></asp:Literal>
</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">
<ContentTemplate>
</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">
<ContentTemplate>
<div class="row">
<div class="col-md-8">
<asp:Panel runat="server" ID="portletMinuta" 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">Datos Minuta</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>
</div>
</asp:Panel>
</div>
<div class="col-md-4">
<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>
<asp:Panel runat="server" ID="portletUserNew" 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">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="form-group form-md-line-input">
<asp:DropDownList runat="server" ID="DdlRoles" DataValueField="CveRol" DataTextField="Rol" CssClass="select2me form-control ddlrol" Width="100%" onchange="ddlRol_Onchange();" />
<asp:Label runat="server" Text="Perfil:" AssociatedControlID="DdlRoles"></asp:Label>
</div>
<div class="form-group form-md-line-input">
<asp:DropDownList runat="server" ID="DdlSucursales" DataValueField="CveProyecto" DataTextField="SubProyecto" CssClass="select2me form-control ddlsucursal" Width="100%" onchange="DdlSucursales_Onchange();" />
<asp:Label runat="server" Text="Sucursales:" AssociatedControlID="DdlSucursales"></asp:Label>
</div>
<%--<div class="form-group form-md-line-input">
<asp:TextBox ID="TxtUsuario" runat="server" CssClass="form-control TxtUsuario" CausesValidation="true"></asp:TextBox>
<asp:Label runat="server" Text="Usuario" AssociatedControlID="TxtUsuario"></asp:Label>
</div>--%>
<div class="text-right" style="">
<asp:TextBox ID="TxtUsuario" runat="server" CssClass="form-control input-sm TxtUsuario" Style="display: inline-block; margin-right: -20px; width: 150px;" CausesValidation="true"></asp:TextBox>
<a href="javascript:;" style="margin-top: -3px;" class="btn btn-circle btn-sm label-info"><i class="icon-magnifier"></i></a>
</div>
<asp:GridView ID="GVUsuarios" runat="server" AutoGenerateColumns="false" DataKeyNames="CveUsuario,Nombre,Correo,Empresa,CveRol,CveSubProyecto"
CssClass="table table-striped table-advance table-hover Widthall ScrollAD GVUsuarios" GridLines="None" data-height="200"
OnRowDataBound="GVUsuarios_RowDataBound">
<Columns>
<asp:TemplateField>
<ItemStyle HorizontalAlign="Center" Width="50px" />
<HeaderTemplate>
<a id="chkAll" onclick="chkAll_OncLick(1);" class="linkCorreo" data-toggle="tooltip" title="Seleccionar todos(Visibles)"><i class="fa fa-check-square"></i></a>
<a id="UnchkAll" onclick="chkAll_OncLick(0);" class="linkCorreo" data-toggle="tooltip" title="Quitar seleccion todos(Visibles)"><i class="fa fa-check-square-o"></i></a>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkOk" CssClass="ChkOk" 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>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
<script>
let CveRol = -1;
let CveSucursal = -1;
let usuariotext = "";
function ddlRol_Onchange() {
CveRol = $('select.ddlrol option:selected').val();
showhideUser();
}
function DdlSucursales_Onchange() {
CveSucursal = $('select.ddlsucursal option:selected').val();
showhideUser();
}
let tickBarBmaster = 0;
function TxtUsuario_Onchange() {
let obj = $('.TxtUsuario');
let text = '';
tickBarBmaster = tickBarBmaster + 1;
tickBarnew = tickBarBmaster;
setTimeout(function () {
if (tickBarnew == tickBarBmaster) {
if ((text = obj.val().trim()) != usuariotext) {
usuariotext = text;
showhideUser();
}
}
}, 500);
}
function chkAll_OncLick(valor) {
$('.GVUsuarios tr:visible input[type="checkbox"]').prop("checked", valor);
}
function showhideUser() {
let strCveRol = CveRol > 0 ? '[data-rol="' + CveRol + '"]' : '';
let strCveSucursal = CveSucursal > 0 ? '[data-sucursal="' + CveSucursal + '"]' : '';
let strusuario = usuariotext.length > 0 ? ' td:nth-child(2):contains("' + usuariotext + '")' : '';// td:nth-child(2)
$('.GVUsuarios tr.items').attr('hide', '1')//oculto todos
if (strusuario.length > 0) {
$('.GVUsuarios tr.items' + strCveRol + strCveSucursal + strusuario).closest('tr').attr('hide', '');//muestro los que tienen filtro con usuario,sucursal y rol
} else {
$('.GVUsuarios tr.items' + strCveRol + strCveSucursal).attr('hide', '');//muestro los que tienen filtro con sucursal y rol
}
//e.Row.Attributes.Add("data-rol", CveRol);
//e.Row.Attributes.Add("data-sucursal", CveRol);
}
function loadeventos() {
let input = $('input.TxtUsuario:not(.ConEvento)')
input.bind({
copy: TxtUsuario_Onchange
, paste: TxtUsuario_Onchange
, cut: TxtUsuario_Onchange
, keydown: TxtUsuario_Onchange
, keyup: TxtUsuario_Onchange
});
input.addClass('ConEvento');
}
function ADSReady() {
loadeventos();
showhideUser()
}
</script>
</asp:Content>

40
OI/MinutaDetalle.aspx.cs Normal file
View File

@@ -0,0 +1,40 @@
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_MinutaDetalle : ClsPaginas
{
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
DdlRoles.DataSource = get_GlobalDTRoles(UsuarioActual.CveEmpresa);
DdlRoles.DataBind();
DdlRoles.Items.Insert(0, new ListItem("Todos", "-1"));
DdlSucursales.DataSource = get_GlobalDTSubProyectos(-1, -1, UsuarioActual.CveEmpresa);
DdlSucursales.DataBind();
DdlSucursales.Items.Insert(0, new ListItem("Todos", "-1"));
GVUsuarios.DataSource = get_GlobalDTUsuarios(CveEmpresa: UsuarioActual.CveEmpresa).FiltraParametros("Estatus =1 ", "Rol ASC");
GVUsuarios.DataBind();
}
}
protected void GVUsuarios_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
string CveRol = e.Row.DBCampo("CveRol");
string CveSubProyecto = e.Row.DBCampo("CveSubProyecto");
e.Row.CssClass = "items";
e.Row.Attributes.Add("data-rol", CveRol);
e.Row.Attributes.Add("data-sucursal", CveRol);
}
}
}

View File

@@ -1,384 +1,80 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepTareas2.aspx.cs" Inherits="OI_RepTareas2" %> <%@ 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 ID="Content1" ContentPlaceHolderID="CP" Runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server"> <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>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server"> <asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server"> <asp:Content ID="Content4" ContentPlaceHolderID="HB" Runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content5" ContentPlaceHolderID="H" runat="Server"> <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>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server"> <asp:Content ID="Content6" ContentPlaceHolderID="HA" Runat="Server">
</asp:Content> </asp:Content>
<asp:Content ID="Content7" ContentPlaceHolderID="C" runat="Server"> <asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
<div id='<%= iddivAgregar %>' class="modal ADS fade" role="dialog"> <asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<div class="modal-dialog modal-lg"> <ContentTemplate>
<asp:UpdatePanel ID="UpAgregarConductor" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional"> <table style="width: 100%; border: 0; border-spacing: 0;">
<ContentTemplate> <tr class="SubTotales3">
<div class="modal-header"> <td>Fecha Inicio:</td>
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button> <td>
<h4 class="modal-title" style="text-align: left"> <div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:Literal ID="LtleventoTitle" runat="server">Agregar Tarea</asp:Literal></h4> <asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control"></asp:TextBox>
</div> <span class="input-group-btn ">
<div class="modal-body"> <asp:LinkButton ID="imgCalendario" runat="server" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
<div class="row"> </span>
<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>
<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left" ErrorTooltipEnabled="True"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario" TargetControlID="txtFechaI" PopupButtonID="ImgCalendario" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<div class="portlet light smmallpadding bordered"> <asp:RequiredFieldValidator ID="rfvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<div class="portlet-title"> <asp:CompareValidator ID="cvFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="El campo <b>''Fecha Inicial''</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 class="caption font-green"> <ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<i class="fa fa-bars font-green"></i> <ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<span class="caption-subject bold uppercase">Registro de actividades</span> </td>
</div> <td>Fecha Fin:
<div class="tools"> </td>
<a href="javascript:;" class="expand" data-original-title="" title=""></a> <td>
</div> <div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
</div> <asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control"></asp:TextBox>
<div class="portlet-body rowpadding" style="display: none;"> <span class="input-group-btn ">
<div class="row"> <asp:LinkButton ID="imgCalendarioF" runat="server" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
<div class="col-md-8"> </span>
<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>
<ajax:MaskedEditExtender ID="MEEFechaF" runat="server" TargetControlID="txtFechaF" Mask="99/99/9999" MaskType="Date" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>
<ajax:CalendarExtender runat="server" ID="Calendario2" TargetControlID="txtFechaF" PopupButtonID="imgCalendarioF" PopupPosition="BottomRight" Enabled="True"></ajax:CalendarExtender>
<asp:RequiredFieldValidator ID="rfvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</b> es requerido por la aplicación, por favor ingrese una fecha." ValidationGroup="Valida"></asp:RequiredFieldValidator>
<asp:CompareValidator ID="cvFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="El campo <b>''Fecha Final''</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>
<ajax:ValidatorCalloutExtender ID="vcoRfvFF" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFF" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
<td>Estatus:</td>
<td>
<asp:DropDownList ID="DdlEventoEstatus" runat="server" AppendDataBoundItems="true" DataTextField="EventoEstatus" DataValueField="CveEventoEstatus" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 150px !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
</asp:DropDownList>
</td>
<td>Tema:</td>
<td>
<asp:DropDownList ID="DdlRevision" runat="server" AppendDataBoundItems="true" DataTextField="Revision" DataValueField="CveRevision" Class="table-group-action-input form-control input-inline input-small input-sm" Style="width: 150px !important;" ValidationGroup="GrpGuardar">
<asp:ListItem Selected="True" Text="Todos" Value="-1"></asp:ListItem>
<asp:ListItem Text="Sin Revisión" Value="-2"></asp:ListItem>
</asp:DropDownList>
</td>
<td>
<asp:Button ID="BtnConsultar" runat="server" Text="Consultar" class="btn btn-default" />
</td>
<td>
<asp:Button ID="BtnEscritorio" runat="server" Text="Escritorio" class="btn btn-default" />
</td>
</tr>
</table>
<%--<div class="row" style="margin-top: 10px; margin-bottom: 10px;"> </ContentTemplate>
<div class="col-md-2">Vencimiento de Licencia:</div> </asp:UpdatePanel>
<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> </asp:Content>

View File

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

384
OI/RepTareas3.aspx Normal file
View File

@@ -0,0 +1,384 @@
<%@ Page Title="" Language="C#" MasterPageFile="~/Site.master" AutoEventWireup="true" CodeFile="RepTareas3.aspx.cs" Inherits="OI_RepTareas3" %>
<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/RepTareas3.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_RepTareas3 : 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));
}
}

View File

@@ -6,6 +6,11 @@
<style> <style>
tr[hide="1"] { tr[hide="1"] {
display: none; display: none;
background-color:rgb(4,71,103)
}
.portlet {
margin-bottom: 10px;
} }
.btn.btnCalendar { .btn.btnCalendar {
@@ -100,6 +105,18 @@
color: #659be0; color: #659be0;
font-weight: bold; font-weight: bold;
} }
.DivAvance {
position: relative;
}
.DivAvance .TxtAvance.aspNetDisabled ~ .Avancereadonly {
position: absolute;
top: 0px;
width: 100%;
height: 100%;
cursor: not-allowed;
}
</style> </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.css" rel="stylesheet" type="text/css" />
@@ -131,7 +148,9 @@
<li> <li>
<asp:LinkButton ID="LnkUpFile" OnClick="LnkUpFile_Click" Visible="false" runat="server"><i class="fa fa-plus"></i> Agregar Archivo</asp:LinkButton></li> <asp:LinkButton ID="LnkUpFile" OnClick="LnkUpFile_Click" Visible="false" runat="server"><i class="fa fa-plus"></i> Agregar Archivo</asp:LinkButton></li>
<li> <li>
<asp:LinkButton ID="LnkUpUsuarios" OnClick="LnkUpUsuarios_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Actualizar Usuarios</asp:LinkButton></li> <asp:LinkButton ID="LnkUpUsuarios" OnClick="LnkUpUsuarios_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Actualizar Miembros</asp:LinkButton></li>
<li>
<asp:LinkButton ID="LnkReasignar" OnClick="LnkReasignar_Click" Visible="true" runat="server"><i class="fa fa-pencil"></i> Reasignar</asp:LinkButton></li>
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
@@ -324,9 +343,10 @@
</asp:DropDownList> </asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEventoEstatus">Estatus:</asp:Label> <asp:Label runat="server" AssociatedControlID="DdlEventoEstatus">Estatus:</asp:Label>
</div> </div>
<div class=""> <div class="DivAvance">
<asp:Label runat="server" CssClass="labelitem" AssociatedControlID="TxtAvance">Avance:</asp:Label> <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> <asp:TextBox ID="TxtAvance" runat="server" CssClass="form-control TxtAvance" CausesValidation="true"></asp:TextBox>
<div class="Avancereadonly"></div>
</div> </div>
<asp:Button ID="BtnUpAvance" OnClick="BtnUpAvance_Click" CssClass="hidden BtnUpAvance" runat="server" Text="ActualizarAvance" /> <asp:Button ID="BtnUpAvance" OnClick="BtnUpAvance_Click" CssClass="hidden BtnUpAvance" runat="server" Text="ActualizarAvance" />
@@ -407,8 +427,8 @@
<HeaderTemplate> <HeaderTemplate>
C. C. Para C. C. Para
<br /> <br />
<a id="chkAll" onclick="chkAll_OncLick(1);" class="linkCorreo" data-toggle="tooltip" title="Seleccionar todos(Visibles)"><i class="fa fa-check-square"></i></a> <a id="chkAll" onclick="chkAll_OncLick(1);" class="linkCorreo" data-toggle="tooltip" title="Seleccionar todos(Visibles)"><i class="fa fa-check-square-o"></i></a>
<a id="UnchkAll" onclick="chkAll_OncLick(0);" class="linkCorreo" data-toggle="tooltip" title="Quitar seleccion todos(Visibles)"><i class="fa fa-check-square-o"></i></a> <a id="UnchkAll" onclick="chkAll_OncLick(0);" class="linkCorreo" data-toggle="tooltip" title="Quitar seleccion todos(Visibles)"><i class="fa fa-square-o"></i></a>
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:CheckBox ID="ChkCCP" CssClass="ChkOk" Checked="false" runat="server" /> <asp:CheckBox ID="ChkCCP" CssClass="ChkOk" Checked="false" runat="server" />
@@ -533,22 +553,22 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
<div id='<%= iddivAgregarPara %>' class="modal ADS fade" role="dialog"> <div id='<%= iddivAgregarMiembros %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog"> <div class="modal-dialog">
<asp:UpdatePanel ID="UpUsuarios" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional"> <asp:UpdatePanel ID="UpUsuarios" class="modal-content " tabindex="-1" runat="server" UpdateMode="Conditional">
<ContentTemplate> <ContentTemplate>
<div class="modal-header"> <div class="modal-header">
<button type="button" class="close" data-dismiss="modal" aria-label="Close"><span aria-hidden="true">&times;</span> </button> <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"> <h4 class="modal-title" style="text-align: left">
<asp:Literal ID="Literal4" runat="server">Para</asp:Literal></h4> <asp:Literal ID="LtlTituloUsuarios" runat="server">Actualizar miembros</asp:Literal></h4>
</div> </div>
<div class="modal-body"> <div class="modal-body">
<div class="form-group form-md-line-input"> <div class="form-group form-md-line-input" style="display:none">
<asp:DropDownList runat="server" ID="DdlRoles" DataValueField="CveRol" DataTextField="Rol" CssClass="select2me form-control ddlrol" Width="100%" onchange="ddlRol_Onchange();" /> <asp:DropDownList runat="server" ID="DdlRoles" DataValueField="CveRol" DataTextField="Rol" CssClass="select2me form-control ddlrol" Width="100%" onchange="ddlRol_Onchange();" />
<asp:Label runat="server" Text="Perfil:" AssociatedControlID="DdlRoles"></asp:Label> <asp:Label runat="server" Text="Perfil:" AssociatedControlID="DdlRoles"></asp:Label>
</div> </div>
<div class="form-group form-md-line-input"> <div class="form-group form-md-line-input" style="display:none">
<asp:DropDownList runat="server" ID="DdlSucursales" DataValueField="CveProyecto" DataTextField="SubProyecto" CssClass="select2me form-control ddlsucursal" Width="100%" onchange="DdlSucursales_Onchange();" /> <asp:DropDownList runat="server" ID="DdlSucursales" DataValueField="CveProyecto" DataTextField="SubProyecto" CssClass="select2me form-control ddlsucursal" Width="100%" onchange="DdlSucursales_Onchange();" />
<asp:Label runat="server" Text="Sucursales:" AssociatedControlID="DdlSucursales"></asp:Label> <asp:Label runat="server" Text="Sucursales:" AssociatedControlID="DdlSucursales"></asp:Label>
</div> </div>
@@ -581,8 +601,8 @@
<HeaderTemplate> <HeaderTemplate>
C. C. Para C. C. Para
<br /> <br />
<a id="chkAll" onclick="chkAll_OncLick(1);" class="linkCorreo" data-toggle="tooltip" title="Seleccionar todos(Visibles)"><i class="fa fa-check-square"></i></a> <a id="chkAll" onclick="chkAll_OncLick(1);" class="linkCorreo" data-toggle="tooltip" title="Seleccionar todos(Visibles)"><i class="fa fa-check-square-o"></i></a>
<a id="UnchkAll" onclick="chkAll_OncLick(0);" class="linkCorreo" data-toggle="tooltip" title="Quitar seleccion todos(Visibles)"><i class="fa fa-check-square-o"></i></a> <a id="UnchkAll" onclick="chkAll_OncLick(0);" class="linkCorreo" data-toggle="tooltip" title="Quitar seleccion todos(Visibles)"><i class="fa fa fa-square-o"></i></a>
</HeaderTemplate> </HeaderTemplate>
<ItemTemplate> <ItemTemplate>
<asp:CheckBox ID="ChkCCP" CssClass="ChkOk" Checked="false" runat="server" /> <asp:CheckBox ID="ChkCCP" CssClass="ChkOk" Checked="false" runat="server" />
@@ -604,7 +624,8 @@
</asp:GridView> </asp:GridView>
</div> </div>
<div class="modal-footer"> <div class="modal-footer">
<asp:LinkButton ID="BtnUpMiembros" OnClick="BtnUpMiembros_Click" CssClass="btn btn-primary" runat="server">Agregar</asp:LinkButton> <asp:LinkButton ID="BtnReasignarTarea" OnClick="BtnReasignarTarea_Click" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
<asp:LinkButton ID="BtnUpMiembros" OnClick="BtnUpMiembros_Click" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
<button data-dismiss="modal" class="btn btn-danger">Cancelar</button> <button data-dismiss="modal" class="btn btn-danger">Cancelar</button>
</div> </div>
</ContentTemplate> </ContentTemplate>
@@ -707,7 +728,17 @@
</ContentTemplate> </ContentTemplate>
</asp:UpdatePanel> </asp:UpdatePanel>
</div> </div>
</div> </div>
<%--<script>
Sys.Application.add_load(function (s, e) {
let checkboxes = $('input[type="checkbox"]');
let checkboxes = $('input[type="checkbox"]');
checkboxes.addClass('icheck');
checkboxes.data('checkbox', 'icheckbox_flat-red');
});
</script>--%>
</asp:Content> </asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server"> <asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
@@ -778,12 +809,12 @@
//e.Row.Attributes.Add("data-rol", CveRol); //e.Row.Attributes.Add("data-rol", CveRol);
//e.Row.Attributes.Add("data-sucursal", CveRol); //e.Row.Attributes.Add("data-sucursal", CveRol);
} }
function showhideUser2() { function showhideUser2() {
let strusuario = usuariotext.length > 0 ? ' td:nth-child(3):contains("' + usuariotext + '")' : '';// td:nth-child(2) let strusuario = usuariotext.length > 0 ? ' td:nth-child(3):contains("' + usuariotext + '")' : '';// td:nth-child(2)
$('.GVUsuarios tr.items').attr('hide', '1')//oculto todos $('.GVUsuarios tr.items').attr('hide', '1')//oculto todos
$('.GVUsuarios tr.items' + strusuario).closest('tr').attr('hide', '');//muestro los que tienen filtro con usuario $('.GVUsuarios tr.items' + strusuario).closest('tr').attr('hide', '');//muestro los que tienen filtro con usuario
//e.Row.Attributes.Add("data-sucursal", CveRol); //e.Row.Attributes.Add("data-sucursal", CveRol);
} }
function loadeventos() { function loadeventos() {
@@ -793,7 +824,7 @@
copy: TxtUsuario_Onchange copy: TxtUsuario_Onchange
, paste: TxtUsuario_Onchange , paste: TxtUsuario_Onchange
, cut: TxtUsuario_Onchange , cut: TxtUsuario_Onchange
, keydown: function (event) { if (event.which == 13) { event.preventDefault(); } TxtUsuario_Onchange();} , keydown: function (event) { if (event.which == 13) { event.preventDefault(); } TxtUsuario_Onchange(); }
, keyup: TxtUsuario_Onchange , keyup: TxtUsuario_Onchange
}); });
input.addClass('ConEvento'); input.addClass('ConEvento');
@@ -805,7 +836,7 @@
copy: TxtUsuario2_Onchange copy: TxtUsuario2_Onchange
, paste: TxtUsuario2_Onchange , paste: TxtUsuario2_Onchange
, cut: TxtUsuario2_Onchange , cut: TxtUsuario2_Onchange
, keydown: function (event) { if (event.which == 13) { event.preventDefault(); } TxtUsuario2_Onchange();} , keydown: function (event) { if (event.which == 13) { event.preventDefault(); } TxtUsuario2_Onchange(); }
, keyup: TxtUsuario2_Onchange , keyup: TxtUsuario2_Onchange
}); });
input2.addClass('ConEvento'); input2.addClass('ConEvento');
@@ -869,7 +900,7 @@
loaderinit = (function () { }); loaderinit = (function () { });
let ischeked = $(this).is(':checked'); let ischeked = $(this).is(':checked');
$(this).closest('tr').toggleClass('finished'); $(this).closest('tr').toggleClass('finished');
$(".LnkSinfuncion").click(); if ($(".LnkSinfuncion").length) { $(".LnkSinfuncion").click(); }
}); });
} }
function CambiarTitulo(cadena) { function CambiarTitulo(cadena) {
@@ -889,6 +920,8 @@
item.ionRangeSlider({ item.ionRangeSlider({
min: 0, min: 0,
max: 100, max: 100,
step: .01,
//[disable]
onChange: (function () { onChange: (function () {
setTimeout(function () { if ($(".TxtAvance").val() != Valorxyz) { avancecambio = 1 } }, 50); setTimeout(function () { if ($(".TxtAvance").val() != Valorxyz) { avancecambio = 1 } }, 50);
}) })
@@ -907,7 +940,7 @@
}); });
$(document).ready(function () { $(document).ready(function () {
$(document).mouseup(function () { $(document).mouseup(function () {
setTimeout(function () { if (avancecambio == 1) { loaderinit = (function () { }); $('.BtnUpAvance').click(); avancecambio = 0; } }, 100); setTimeout(function () { if (avancecambio == 1) { loaderinit = (function () { }); if ($('.BtnUpAvance').length) { $('.BtnUpAvance').click(); avancecambio = 0; } } }, 100);
}); });
CargaPickers(); CargaPickers();
setchecklistitulo(); setchecklistitulo();

View File

@@ -9,8 +9,21 @@ using Extensiones;
public partial class OI_TareaDetalle : ClsPaginas public partial class OI_TareaDetalle : ClsPaginas
{ {
private class OI_TareaDetalle_Permisos
{
public bool EntrarOI;
public bool CheckList;
public bool EdicionGeneral;
public bool Bitacora;
public bool Avance;
public bool Reasignar;
public bool Estatus1_2_3;
public bool Estatus4_5;
}
#region Propiedades #region Propiedades
public const string iddivAgregarPara = "iddivAgregarPara"; public const string iddivAgregarMiembros = "iddivAgregarMiembros";
public const string iddivAgregar = "divModalAgregarActividad"; public const string iddivAgregar = "divModalAgregarActividad";
public const string iddivAgregarArchivo = "divModalAgregarArchivo"; public const string iddivAgregarArchivo = "divModalAgregarArchivo";
public const string iddivAgregarTema = "divModalAgregartema"; public const string iddivAgregarTema = "divModalAgregartema";
@@ -21,18 +34,27 @@ public partial class OI_TareaDetalle : ClsPaginas
public int CveUsuarioPara { get { return ViewState["CveUsuarioPara"].ToString().ToEntero(); } set { ViewState["CveUsuarioPara"] = value; } } public int CveUsuarioPara { get { return ViewState["CveUsuarioPara"].ToString().ToEntero(); } set { ViewState["CveUsuarioPara"] = value; } }
public int CveUsuarioDe { get { return ViewState["CveUsuarioDe"].ToString().ToEntero(); } set { ViewState["CveUsuarioDe"] = value; } } public int CveUsuarioDe { get { return ViewState["CveUsuarioDe"].ToString().ToEntero(); } set { ViewState["CveUsuarioDe"] = value; } }
public List<int> LCveUsuarioCCP { get { if (ViewState["LCveUsuarioCCP"] == null) { ViewState["LCveUsuarioCCP"] = new List<int>(); } return (List<int>)ViewState["LCveUsuarioCCP"]; } set { ViewState["LCveUsuarioCCP"] = value; } } public List<int> LCveUsuarioCCP { get { if (ViewState["LCveUsuarioCCP"] == null) { ViewState["LCveUsuarioCCP"] = new List<int>(); } return (List<int>)ViewState["LCveUsuarioCCP"]; } set { ViewState["LCveUsuarioCCP"] = value; } }
public List<int> LcveuserVisto { get { if (ViewState["LcveuserVisto"] == null) { ViewState["LcveuserVisto"] = new List<int>(); } return (List<int>)ViewState["LcveuserVisto"]; } set { ViewState["LcveuserVisto"] = value; } }
private OI_TareaDetalle_Permisos Permisos { get { return ViewState["Permisos"] == null ? null : (OI_TareaDetalle_Permisos)ViewState["Permisos"]; } set { ViewState["Permisos"] = value; } }
public bool EsNuevo { get { return Convert.ToBoolean(ViewState["EsNuevo"]); } set { ViewState["EsNuevo"] = value; } } public bool EsNuevo { get { return Convert.ToBoolean(ViewState["EsNuevo"]); } set { ViewState["EsNuevo"] = value; } }
public bool LnkAgregarCheckListVisible { get { return Convert.ToBoolean(ViewState["LnkAgregarCheckListVisible"]); } set { ViewState["LnkAgregarCheckListVisible"] = value; } }
public bool LnkUpFileVisible { get { return Convert.ToBoolean(ViewState["LnkUpFileVisible"]); } set { ViewState["LnkUpFileVisible"] = value; } }
public bool LnkUpUsuariosVisible { get { return Convert.ToBoolean(ViewState["LnkUpUsuariosVisible"]); } set { ViewState["LnkUpUsuariosVisible"] = value; } }
public System.Data.DataTable CheckListNew { get { return ViewState["CheckListNew"] != null ? (System.Data.DataTable)ViewState["CheckListNew"] : null; } set { ViewState["CheckListNew"] = 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; } } public int chklistitemindex { get { return ViewState["chklistitemindex"] != null ? ViewState["chklistitemindex"].ToString().ToEntero() : 0; } set { ViewState["chklistitemindex"] = value; } }
#endregion #endregion
protected void Page_Load(object sender, EventArgs e) protected void Page_Load(object sender, EventArgs e)
{ {
if (!IsPostBack) if (!IsPostBack)
{ {
LnkAgregarCheckListVisible = true;
LnkUpFileVisible = false ;
LnkUpUsuariosVisible = false;
EsNuevo = true; EsNuevo = true;
CveUsuarioPara = 0; CveUsuarioPara = 0;
//System.Xml.Linq.XDocument document = new System.Xml.Linq.XDocument(new System.Xml.Linq.XElement("root", LCveUsuarioCCP.Select(x => new System.Xml.Linq.XElement("item", x))));
CveUsuarioDe = 0; CveUsuarioDe = 0;
if (Request["Archivo"] != null) if (Request["Archivo"] != null)
{ {
@@ -70,7 +92,6 @@ public partial class OI_TareaDetalle : ClsPaginas
} }
else else
{ {
CargaTemas(); CargaTemas();
CargaEstatus(); CargaEstatus();
cargaUsuarios(); cargaUsuarios();
@@ -82,6 +103,7 @@ public partial class OI_TareaDetalle : ClsPaginas
{ {
EsNuevo = false; EsNuevo = false;
LoadTarea(); LoadTarea();
SetUsuarios();
} }
else else
{ {
@@ -90,11 +112,71 @@ public partial class OI_TareaDetalle : ClsPaginas
TxtArchivo.Visible = true; TxtArchivo.Visible = true;
CveUsuarioDe = UsuarioActual.CveUsuario; CveUsuarioDe = UsuarioActual.CveUsuario;
} }
SetUsuarios();
Setpermisos();
HypArchivo.Visible = !TxtArchivo.Visible; HypArchivo.Visible = !TxtArchivo.Visible;
} }
} }
} }
private void Setpermisos()
{
bool esmiembro = UsuarioActual.CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>());
bool esdeel = UsuarioActual.CveUsuario == CveUsuarioDe;
bool esPara = UsuarioActual.CveUsuario == CveUsuarioPara;
Permisos = new OI_TareaDetalle_Permisos
{
EntrarOI = (EsNuevo || esmiembro),
CheckList = (EsNuevo || esdeel || esPara),
EdicionGeneral = (EsNuevo || esdeel),
Bitacora = esmiembro,
Avance = esPara,
Reasignar = esPara,
Estatus1_2_3 = esPara,
Estatus4_5 = esdeel
};
#region Permisos.EntrarOI
UpAcciones.Visible = Permisos.EntrarOI;
UpTitulo.Visible = Permisos.EntrarOI;
UpContenido.Visible = Permisos.EntrarOI;
if (Permisos.EntrarOI && !UsuarioActual.CveUsuario.Contiene(LcveuserVisto.ToArray<int>())) {
using (ClsOIEventos oieve =new ClsOIEventos())
{
oieve.UpUsuarioseventosVisto(RCveEvento, UsuarioActual.CveUsuario);
LcveuserVisto.Add(UsuarioActual.CveUsuario);
}
}
#endregion
#region Permisos.CheckList
LnkSinfuncion.Visible = Permisos.CheckList;
LnkAgregarchklistitem.Visible = Permisos.CheckList;
LnkAgregarCheckList.Visible = Permisos.CheckList && LnkAgregarCheckListVisible;
GVcheklist.Columns[0].Visible = Permisos.CheckList;
GVcheklist.Columns[3].Visible = Permisos.CheckList;
#endregion
#region Permisos.EdicionGeneral
LnkGuardar.Visible = Permisos.EdicionGeneral;
LnkUpFile.Visible = Permisos.EdicionGeneral && LnkUpFileVisible;
LnkUpUsuarios.Visible = Permisos.EdicionGeneral && LnkUpUsuariosVisible;
#endregion
#region Permisos.Bitacora
LnkAgregarActividad.Visible = Permisos.Bitacora;
#endregion
#region Permisos.Avance
BtnUpAvance.Visible = Permisos.Avance;
TxtAvance.Enabled = Permisos.Avance;
#endregion
#region Permisos.Reasignar
LnkReasignar.Visible = Permisos.Reasignar;
#endregion
LnkcambiarEstatus.Visible = Permisos.Estatus1_2_3 || Permisos.Estatus4_5;
UpAcciones.Update();
UpTitulo.Update();
UpContenido.Update();
}
private void CargaTemas() private void CargaTemas()
{ {
DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario)); DdlTema.DataSource = get_GlobalDTOIRevision(UsuarioActual.CveEmpresa).FiltraParametros(string.Format("CveUsuario = {0}", UsuarioActual.CveUsuario));
@@ -176,8 +258,10 @@ public partial class OI_TareaDetalle : ClsPaginas
StringBuilder StrPara = new StringBuilder(); StringBuilder StrPara = new StringBuilder();
StringBuilder StrDeUser = new StringBuilder(); StringBuilder StrDeUser = new StringBuilder();
StringBuilder StrCCPara = new StringBuilder(); StringBuilder StrCCPara = new StringBuilder();
foreach (GridViewRow gvRow in GVUsuariosB.Rows) foreach (GridViewRow gvRow in GVUsuariosB.Rows)
{ {
if (gvRow.RowType == DataControlRowType.DataRow) if (gvRow.RowType == DataControlRowType.DataRow)
{ {
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero(); int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
@@ -201,24 +285,30 @@ public partial class OI_TareaDetalle : ClsPaginas
chkpara.Enabled = false; chkpara.Enabled = false;
chkCCpara.Enabled = false; chkCCpara.Enabled = false;
} }
string palomitavisto = "";
string palomitasinver = "<i class=\"fa fa-check\" aria-hidden=\"true\"></i>";
if (CveUsuario ==UsuarioActual.CveUsuario || CveUsuario.Contiene(LcveuserVisto.ToArray<int>()))
{
palomitavisto = palomitasinver;
palomitasinver = "";
}
if ((CveUsuario == CveUsuarioPara) || (CveUsuario == CveUsuarioDe)) if ((CveUsuario == CveUsuarioPara) || (CveUsuario == CveUsuarioDe))
{ {
if (CveUsuario == CveUsuarioPara) if (CveUsuario == CveUsuarioPara)
{ {
chkpara.Checked = true; chkpara.Checked = true;
StrPara.AppendFormat("<span class=\"linkCorreo\" data-toggle=\"tooltip\" title=\"{1}\">\"{0}\"</span>", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString()); StrPara.AppendFormat("{3}<span class=\"linkCorreo\" data-toggle=\"tooltip\" title=\"{1}\">{2}\"{0}\"</span>", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString(), palomitavisto, palomitasinver);
} }
if (CveUsuario == CveUsuarioDe) if (CveUsuario == CveUsuarioDe)
{ {
chkCCpara.Checked = true; chkCCpara.Checked = true;
StrDeUser.AppendFormat("<span class=\"linkCorreo\" data-toggle=\"tooltip\" title=\"{1}\">\"{0}\"</span>", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString()); StrDeUser.AppendFormat("{3}<span class=\"linkCorreo\" data-toggle=\"tooltip\" title=\"{1}\">{2}\"{0}\"</span>", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString(), palomitavisto, palomitasinver);
} }
} }
else if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>())) else if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>()))
{ {
chkCCpara.Checked = true; chkCCpara.Checked = true;
StrCCPara.AppendFormat("<span class=\"linkCorreo cssnowrap\" data-toggle=\"tooltip\" title=\"{1}\">\"{0}\"</span>; ", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString()); StrCCPara.AppendFormat("{3}<span class=\"linkCorreo cssnowrap\" data-toggle=\"tooltip\" title=\"{1}\">{2}\"{0}\"</span>; ", gvRow.DataKey("Nombre").ToString(), gvRow.DataKey("Correo").ToString(), palomitavisto, palomitasinver);
} }
} }
} }
@@ -227,34 +317,6 @@ public partial class OI_TareaDetalle : ClsPaginas
LtlCCPara.Text = StrCCPara.ToString(); LtlCCPara.Text = StrCCPara.ToString();
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 ((CveUsuario == CveUsuarioPara) || (CveUsuario == CveUsuarioDe))
{
if (CveUsuario == CveUsuarioPara)
{
chkpara.Checked = true;
}
if (CveUsuario == CveUsuarioDe)
{
chkCCpara.Checked = true;
}
}
else if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>()))
{
chkCCpara.Checked = true;
}
}
}
} }
public void LoadTarea() public void LoadTarea()
@@ -266,7 +328,8 @@ public partial class OI_TareaDetalle : ClsPaginas
{ {
PnlUsuarios.Visible = true; PnlUsuarios.Visible = true;
portletMiembros.Visible = false; portletMiembros.Visible = false;
LnkUpFile.Visible = true; LnkUpFileVisible = true;
LnkUpUsuariosVisible = true;
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0]; System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
Folio = drow["Folio"].ToString().ToEntero(); Folio = drow["Folio"].ToString().ToEntero();
@@ -297,13 +360,18 @@ public partial class OI_TareaDetalle : ClsPaginas
//OIE.[CveUsuarioIng], OIE.[CveEmpresa], OIE.[CveUsuarioModifico], OIE.[Avance] //OIE.[CveUsuarioIng], OIE.[CveEmpresa], OIE.[CveUsuarioModifico], OIE.[Avance]
LtlTitulo.Text = drow["Titulo"].ToString(); LtlTitulo.Text = drow["Titulo"].ToString();
if (ObjOI_E.GetEventosUsuario(RCveEvento, UsuarioActual.CveEmpresa)) if (ObjOI_E.GetEventosUsuario2(RCveEvento, UsuarioActual.CveEmpresa))
{ {
LCveUsuarioCCP.Clear(); LCveUsuarioCCP.Clear();
foreach (System.Data.DataRow item in ObjOI_E.DtResultados.Select("CveEvento >0")) foreach (System.Data.DataRow item in ObjOI_E.DtResultados.Select("CveEvento >0"))
{ {
LCveUsuarioCCP.Add(item["CveUsuario"].ToString().ToEntero()); int CveUsuario = item["CveUsuario"].ToString().ToEntero();
} LCveUsuarioCCP.Add(CveUsuario );
if(item["Visto"].ToString().ToEntero() == 1)
{
LcveuserVisto.Add(CveUsuario);
}
}
} }
if (ObjOI_E.Getcheklist(RCveEvento)) if (ObjOI_E.Getcheklist(RCveEvento))
{ {
@@ -311,7 +379,7 @@ public partial class OI_TareaDetalle : ClsPaginas
if (ObjOI_E.DtResultados.Rows.Count > 0) if (ObjOI_E.DtResultados.Rows.Count > 0)
{ {
portletChekList.Visible = true; portletChekList.Visible = true;
LnkAgregarCheckList.Visible = false; LnkAgregarCheckListVisible = false;
} }
} }
cargaActividades(ObjOI_E); cargaActividades(ObjOI_E);
@@ -322,9 +390,9 @@ public partial class OI_TareaDetalle : ClsPaginas
protected void LnkGuardar_Click(object sender, EventArgs e) protected void LnkGuardar_Click(object sender, EventArgs e)
{ {
string errorMessage = "";
if (EsNuevo) if (EsNuevo)
{ {
string errorMessage = "";
int cveUsuarioDe = UsuarioActual.CveUsuario; int cveUsuarioDe = UsuarioActual.CveUsuario;
List<int> listaCCP = new List<int>(); List<int> listaCCP = new List<int>();
int cveUsuarioPara = -1; int cveUsuarioPara = -1;
@@ -347,20 +415,18 @@ public partial class OI_TareaDetalle : ClsPaginas
} }
} }
} }
if (!cveUsuarioDe.Contiene(listaCCP.ToArray<int>())) //if (!cveUsuarioDe.Contiene(listaCCP.ToArray<int>()))
{ //{
listaCCP.Add(cveUsuarioDe); // listaCCP.Add(cveUsuarioDe);
} //}
if (!cveUsuarioPara.Contiene(listaCCP.ToArray<int>())) //if (!cveUsuarioPara.Contiene(listaCCP.ToArray<int>()))
{ //{
listaCCP.Add(cveUsuarioPara); // listaCCP.Add(cveUsuarioPara);
} //}
OITipoEventos cveTipoEvento = OITipoEventos.Tarea; OITipoEventos cveTipoEvento = OITipoEventos.Tarea;
string asunto = TxtAsunto.Text; string asunto = TxtAsunto.Text;
string descripcion = TxtDescripcion.Text; string descripcion = TxtDescripcion.Text;
int prioridad = DdlPrioridad.SelectedValue.ToEntero(); int prioridad = DdlPrioridad.SelectedValue.ToEntero();
string fechaInicio = ""; string fechaInicio = "";
if (txtFechaI.Text.ToDateTimeExcat().Year <= 1999) if (txtFechaI.Text.ToDateTimeExcat().Year <= 1999)
{ {
@@ -417,6 +483,7 @@ public partial class OI_TareaDetalle : ClsPaginas
{ {
errorMessage = "No se selecciono el miembro 'C C Para'"; errorMessage = "No se selecciono el miembro 'C C Para'";
} }
if (cveUsuarioPara <= 0) if (cveUsuarioPara <= 0)
{ {
errorMessage = "No se selecciono el miembro 'Para'"; errorMessage = "No se selecciono el miembro 'Para'";
@@ -424,40 +491,26 @@ public partial class OI_TareaDetalle : ClsPaginas
} }
if (errorMessage.Length == 0) if (errorMessage.Length == 0)
{ {
List<string> chkList = new List<string>();
if (CheckListNew != null)
{
foreach (System.Data.DataRow item in CheckListNew.Rows)
{
chkList.Add(item["EventoComentario"].ToString());
}
}
using (ClsOIEventos objOI = new ClsOIEventos()) using (ClsOIEventos objOI = new ClsOIEventos())
{ {
objOI.IniciaTransacSQL(); objOI.IniciaTransacSQL();
Continuar = objOI.AddOI_Eventos2(cveTipoEvento, asunto, descripcion, prioridad, cveUsuarioDe, cveUsuarioPara, fechaInicio, fechaFin, cveRevision, archivoname, cveUsuarioIng, cveEmpresa); Continuar = objOI.AddOI_Eventos2(cveTipoEvento, asunto, descripcion, prioridad, cveUsuarioDe, cveUsuarioPara, fechaInicio, fechaFin, cveRevision, archivoname, listaCCP, chkList, cveUsuarioIng, cveEmpresa, UsuarioActual.Empresa);
CveEvento = objOI.CveEvento; CveEvento = objOI.CveEvento;
Folio = objOI.Folio; Folio = objOI.Folio;
if (CveEvento == 0) if (CveEvento == 0)
{ {
Continuar = false; Continuar = false;
} }
if (Continuar && CheckListNew != null)
{
foreach (System.Data.DataRow item in CheckListNew.Rows)
{
if (Continuar)
{
Continuar = objOI.Addcheklist(CveEvento, item["EventoComentario"].ToString(), UsuarioActual.CveUsuario);
}
}
}
if (Continuar)
{
foreach (int item in listaCCP)
{
if (Continuar)
{
Continuar = objOI.AddEventoUsuario(CveEvento, item);
}
}
}
if (Continuar) if (Continuar)
{ {
objOI.Commit(); objOI.Commit();
@@ -489,12 +542,81 @@ public partial class OI_TareaDetalle : ClsPaginas
this.Alert("Se ha agregadó la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento)); this.Alert("Se ha agregadó la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento));
} }
} }
}
else
{
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 ingresó una fecha de inicio valida";
}
else
{
fechaInicio = txtFechaI.Text.ToDateTimeExcat("dd/MM/yyyy").ToString("yyyy/MM/dd HH:mm");
}
}
else else
{ {
this.Alert(errorMessage, ModExtensiones.TipoMensaje.MsgAdvertencia); 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 ingresó 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();
bool Continuar = true;
using (ClsOIEventos objOI = new ClsOIEventos())
{
objOI.IniciaTransacSQL();
Continuar = objOI.UP_Eventos2(RCveEvento, asunto, descripcion, prioridad, fechaInicio, fechaFin, cveRevision, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa);
if (Continuar)
{
objOI.Commit();
}
else
{
objOI.RollBack();
Continuar = false;
}
}
if (Continuar)
{
using (ClsOIEventos objOI = new ClsOIEventos())
{
cargaActividades(objOI);
}
this.Alert("Se actualizó la tarea", ModExtensiones.TipoMensaje.MsgInformacion);
} }
} }
if (errorMessage.Length > 0)
{
this.Alert(errorMessage, ModExtensiones.TipoMensaje.MsgAdvertencia);
}
} }
protected void LnkEliminarchek_Click(object sender, EventArgs e) protected void LnkEliminarchek_Click(object sender, EventArgs e)
@@ -527,14 +649,14 @@ public partial class OI_TareaDetalle : ClsPaginas
protected void LnkAgregarCheckList_Click(object sender, EventArgs e) protected void LnkAgregarCheckList_Click(object sender, EventArgs e)
{ {
portletChekList.Visible = true; portletChekList.Visible = true;
LnkAgregarCheckList.Visible = false; LnkAgregarCheckListVisible = false;
if (RCveEvento > 0) if (RCveEvento > 0)
{ {
} }
else else
{ {
GVcheklist.Columns[0].Visible = false; GVcheklist.Columns[0].Visible = false;
CheckListNew = new System.Data.DataTable(); CheckListNew = new System.Data.DataTable();
//CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng //CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng
CheckListNew.Columns.Add("CveEventoCheckList", typeof(int)); CheckListNew.Columns.Add("CveEventoCheckList", typeof(int));
@@ -557,7 +679,7 @@ public partial class OI_TareaDetalle : ClsPaginas
{ {
if (objOI.Addcheklist(RCveEvento, TxtActividad.Text, UsuarioActual.CveUsuario)) if (objOI.Addcheklist(RCveEvento, TxtActividad.Text, UsuarioActual.CveUsuario))
{ {
Alert("Se ha agregó la actividad", ModExtensiones.TipoMensaje.ToastInformacion); Alert("Se agregó la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
if (objOI.Getcheklist(RCveEvento)) if (objOI.Getcheklist(RCveEvento))
{ {
GVcheklist.DataSource = objOI.DtResultados; GVcheklist.DataSource = objOI.DtResultados;
@@ -587,7 +709,7 @@ public partial class OI_TareaDetalle : ClsPaginas
GridViewRow gvrow = (GridViewRow)chk.NamingContainer; GridViewRow gvrow = (GridViewRow)chk.NamingContainer;
using (ClsOIEventos objOI = new ClsOIEventos()) using (ClsOIEventos objOI = new ClsOIEventos())
{ {
if (objOI.Upcheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), gvrow.DataKey("EventoComentario"), chk.Checked, UsuarioActual.CveUsuario)) if (objOI.Upcheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), gvrow.DataKey("EventoComentario"), chk.Checked, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa))
{ {
Alert("Se actualizó el estatus de la actividad", ModExtensiones.TipoMensaje.ToastInformacion); Alert("Se actualizó el estatus de la actividad", ModExtensiones.TipoMensaje.ToastInformacion);
if (objOI.Getcheklist(RCveEvento)) if (objOI.Getcheklist(RCveEvento))
@@ -606,27 +728,35 @@ public partial class OI_TareaDetalle : ClsPaginas
protected void BtnCambiarEstatus_Click(object sender, EventArgs e) protected void BtnCambiarEstatus_Click(object sender, EventArgs e)
{ {
using (ClsOIEventos objOI = new ClsOIEventos()) int CveEstatus = DDlEstatus.SelectedValue.ToEntero();
if ((Permisos.Estatus1_2_3 && CveEstatus.Contiene(new int[] { 1, 2, 3 })) || (Permisos.Estatus4_5 && CveEstatus.Contiene(new int[] { 45 })))
{ {
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); if (objOI.UpdateEstatusEvento2(CveEstatus, -1, RCveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa))
//CargaDatos(); {
string mensaje = string.Format("Se cambio el Estatus de \"{0}\" a \"{1}\"", DdlEventoEstatus.SelectedItem.Text, DDlEstatus.SelectedItem.Text); //CargaEstatusEventos(DdlEventoEstatus.SelectedValue.ToEntero);
DdlEventoEstatus.SelectedValueExist(DDlEstatus.SelectedValue);
UpEstatus.Update(); //if (DdlEventoEstatus.SelectedValue.ToEntero == 3 | DdlEventoEstatus.SelectedValue.ToEntero == 1)
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivCambiarEstatus)); // EnviarCorreoCambioEstatus(false);
Alert(mensaje, ModExtensiones.TipoMensaje.ToastInformacion); //CargaDatos();
cargaActividades(objOI); 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);
}
} }
} }
else
{
Alert(string.Format("No tiene permiso para cambiar al estatus '{0}'", DDlEstatus.SelectedItem.Text), ModExtensiones.TipoMensaje.MsgAdvertencia);
}
} }
protected void LnkcambiarEstatus_Click(object sender, EventArgs e) protected void LnkcambiarEstatus_Click(object sender, EventArgs e)
@@ -686,7 +816,7 @@ public partial class OI_TareaDetalle : ClsPaginas
} }
using (ClsOIEventos objoi = new ClsOIEventos()) using (ClsOIEventos objoi = new ClsOIEventos())
{ {
CveComentario = objoi.AddEventoComentario(RCveEvento, Comentario, archivoname, UsuarioActual.CveUsuario); CveComentario = objoi.AddEventoComentario2(RCveEvento, Comentario, archivoname, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa);
if (CveComentario > 0) { cargaActividades(objoi); } if (CveComentario > 0) { cargaActividades(objoi); }
} }
Txtfilecomentario.Text = ""; Txtfilecomentario.Text = "";
@@ -711,7 +841,7 @@ public partial class OI_TareaDetalle : ClsPaginas
this.Alert("Comentario agregadó", ModExtensiones.TipoMensaje.ToastInformacion); this.Alert("Comentario agregadó", ModExtensiones.TipoMensaje.ToastInformacion);
//this.Alert("Se ha agregado la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento)); //this.Alert("Se ha agregado la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento));
} }
TxtComentario.Text = "";
} }
protected void GvActividades_RowDataBound(object sender, GridViewRowEventArgs e) protected void GvActividades_RowDataBound(object sender, GridViewRowEventArgs e)
@@ -770,7 +900,7 @@ public partial class OI_TareaDetalle : ClsPaginas
bool continuar = false; bool continuar = false;
using (ClsOIEventos objoi = new ClsOIEventos()) using (ClsOIEventos objoi = new ClsOIEventos())
{ {
continuar = objoi.AddUPEventoArchivo(RCveEvento, archivoname, UsuarioActual.CveUsuario); continuar = objoi.AddUPEventoArchivo(RCveEvento, archivoname, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa);
} }
if (continuar) if (continuar)
@@ -789,7 +919,7 @@ public partial class OI_TareaDetalle : ClsPaginas
bool continuar = false; bool continuar = false;
using (ClsOIEventos objoi = new ClsOIEventos()) using (ClsOIEventos objoi = new ClsOIEventos())
{ {
continuar = objoi.UPEventoAAvance(RCveEvento, TxtAvance.Text.ToDecimal(), UsuarioActual.CveUsuario); continuar = objoi.UPEventoAAvance(RCveEvento, TxtAvance.Text.ToDecimal(), UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa);
if (continuar) if (continuar)
{ {
if (objoi.DtResultados.Rows.Count > 0) if (objoi.DtResultados.Rows.Count > 0)
@@ -812,14 +942,223 @@ public partial class OI_TareaDetalle : ClsPaginas
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarTema)); this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarTema));
} }
protected void LnkReasignar_Click(object sender, EventArgs e)
{
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarMiembros));
LtlTituloUsuarios.Text = "Reasignar Tarea";
BtnUpMiembros.Visible = false;
BtnReasignarTarea.Visible = true;
foreach (GridViewRow gvRow in GVUsuarios.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
gvRow.FCCheckBox("ChkPara").Checked = false;
CheckBox chkCCpara = gvRow.FCCheckBox("ChkCCP");
chkCCpara.Checked = false;
if (CveUsuario == CveUsuarioPara)
{
chkCCpara.Checked = true ;
chkCCpara.Enabled = false;
}
}
}
UpUsuarios.Update();
}
protected void LnkUpUsuarios_Click(object sender, EventArgs e) protected void LnkUpUsuarios_Click(object sender, EventArgs e)
{ {
this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarPara)); this.RegistraScript(string.Format("$('#{0}').modal()", iddivAgregarMiembros));
LtlTituloUsuarios.Text = "Actualizar miembros";
BtnUpMiembros.Visible = true;
BtnReasignarTarea.Visible = false;
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;
chkCCpara.Enabled = true;
chkpara.Enabled = true;
if ((CveUsuario == CveUsuarioPara) || (CveUsuario == CveUsuarioDe))
{
if (CveUsuario == CveUsuarioPara)
{
chkpara.Checked = true;
}
if (CveUsuario == CveUsuarioDe)
{
chkCCpara.Checked = true;
}
}
else if (CveUsuario.Contiene(LCveUsuarioCCP.ToArray<int>()))
{
chkCCpara.Checked = true;
}
}
}
UpUsuarios.Update();
} }
protected void BtnUpMiembros_Click(object sender, EventArgs e) protected void BtnUpMiembros_Click(object sender, EventArgs e)
{ {
List<int> listaCCP = new List<int>();
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)
{
listaCCP.Add(CveUsuario);
//cveUsuarioDe = CveUsuario;
}
}
}
bool continuar = false;
using (ClsOIEventos oieve = new ClsOIEventos())
{
continuar = oieve.UpEventoMiembros(RCveEvento, _cveUsuarioPara, listaCCP, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
if (continuar)
{
cargaActividades(oieve);
}
}
if (continuar)
{
LCveUsuarioCCP = listaCCP;
this.CveUsuarioPara = _cveUsuarioPara;
SetUsuarios();
Setpermisos();
}
UpContenido.Update();
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivAgregarMiembros));
} }
protected void BtnReasignarTarea_Click(object sender, EventArgs e)
{
string errorMessage = "";
if (!EsNuevo)
{
int cveUsuarioDe = UsuarioActual.CveUsuario;
List<int> listaCCP = new List<int>();
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)
{
listaCCP.Add(CveUsuario);
//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)
{
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)
{
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 = "";
int cveUsuarioIng = UsuarioActual.CveUsuario;
int cveEmpresa = UsuarioActual.CveEmpresa;
bool Continuar = false;
int Folio = -1;
int CveEvento = -1;
if (cveUsuarioPara <= 0)
{
errorMessage = "No se selecciono el miembro 'Para'";
}
if (cveUsuarioPara == cveUsuarioDe)
{
errorMessage = "Debe reasignar la tarea a otro usuario ";
}
if (errorMessage.Length > 0)
{
Alert(errorMessage, ModExtensiones.TipoMensaje.MsgAdvertencia);
}
else
{
List<string> chkList = new List<string>();
using (ClsOIEventos objOI = new ClsOIEventos())
{
objOI.IniciaTransacSQL();
Continuar = objOI.AddOI_Eventos2(cveTipoEvento, asunto, descripcion, prioridad, cveUsuarioDe, cveUsuarioPara, fechaInicio, fechaFin, cveRevision, archivoname, listaCCP, chkList, cveUsuarioIng, cveEmpresa, UsuarioActual.Empresa, RCveEvento);
CveEvento = objOI.CveEvento;
Folio = objOI.Folio;
if (CveEvento == 0)
{
Continuar = false;
}
if (Continuar)
{
objOI.Commit();
}
else
{
objOI.RollBack();
Continuar = false;
}
}
}
if (Continuar && CveEvento > 0)
{
this.Alert("Se ha agregadó la nueva tarea", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/TareaDetalle.aspx?CveEvento={0}\");", CveEvento));
}
}
}
} }

View File

@@ -1,25 +1,39 @@
 
var NotificacionesADS = function () { var NotificacionesADS = function () {
var VentanaConConexion = false; var VentanaConConexion = false;
const valueok = "1";
function initherramientas() { let nointentos = 0;
const maxintentos = 4;
var wNum;
const valueok = "1";
const AdsNotificacionesReconected = "AdsNotificacionesReconected";
const Windownumber = "ADSWindownumber";
const AdsNotificacionesIsConnected = "AdsNotificacionesIsConnected";
function initherramientas() {
if (("Notification" in window)) { if (("Notification" in window)) {
if (Notification.permission !== 'denied') { if (Notification.permission !== 'denied') {
Notification.requestPermission(function (permission) { Notification.requestPermission(function (permission) {
// If the user accepts, let's create a notification // If the user accepts, let's create a notification
if (permission === "granted") { //if (permission === "granted") {
} //}
}); });
} }
} }
} }
//-------------------------------------------------------------------- Eventos ---------------------------------------------------------------------- //-------------------------------------------------------------------- Eventos ----------------------------------------------------------------------
var AlertaVentana = function (Titulo, Mensaje, Tipo, timeoutseconds,Opciones) { var AlertaVentana = function (Titulo, Mensaje, Tipo, timeoutseconds, Opciones) {
console.log(Mensaje); console.log(Mensaje);
let obj = { metodo: "AlertaVentana", titulo: Titulo, mensaje: Mensaje, timeout: timeoutseconds, tipo: Tipo, opciones: Opciones, tick: (new Date()).getTime() } let obj = { metodo: "AlertaVentana", titulo: Titulo, mensaje: Mensaje, timeout: timeoutseconds, tipo: Tipo, opciones: Opciones, tick: (new Date()).getTime() };
let myjson = JSON.stringify(obj); let myjson = JSON.stringify(obj);
localStorage.setItem("ADSNotificaciones", myjson); localStorage.setItem("ADSNotificaciones", myjson);
execAlertaVentana(obj); execAlertaVentana(obj);
};
function Execstring(script) {
try {
eval(script);
} catch (e) {
console.error('(SignalR) ErrorScript \'' + script + '\'');
}
} }
var execAlertaVentana = function (obj) { var execAlertaVentana = function (obj) {
console.log(obj); console.log(obj);
@@ -42,7 +56,7 @@ var NotificacionesADS = function () {
//}); //});
let Mensaje = obj.mensaje; let Mensaje = obj.mensaje;
let titulo = obj.titulo; let titulo = obj.titulo;
let timeout = obj.timeout; let timeout = obj.timeout;
if (timeout) { if (timeout) {
timeout = timeout * 1000;//convierto a milisegundos timeout = timeout * 1000;//convierto a milisegundos
} else { timeout = 0; } } else { timeout = 0; }
@@ -60,7 +74,7 @@ var NotificacionesADS = function () {
"showMethod": "fadeIn", "showMethod": "fadeIn",
"hideMethod": "fadeOut" "hideMethod": "fadeOut"
} };
switch (obj.tipo) { switch (obj.tipo) {
case 5: case 5:
@@ -79,70 +93,95 @@ var NotificacionesADS = function () {
toastr.warning(Mensaje, titulo, opciones); toastr.warning(Mensaje, titulo, opciones);
} }
} }
} };
//-------------------------------------------------------------------- EndEventos ---------------------------------------------------------------------- //-------------------------------------------------------------------- EndEventos ----------------------------------------------------------------------
function closeopenConexion() { function closeopenConexion() {
let varreconected = localStorage.getItem("AdsNotificacionesReconected"); if (VentanaConConexion) {
localStorage.removeItem("AdsNotificacionesIsConnected"); localStorage.removeItem(AdsNotificacionesIsConnected);
if (varreconected == "1") {
localStorage.removeItem("AdsNotificacionesReconected"); let varreconected = localStorage.getItem(AdsNotificacionesReconected);//obtengo la variable para cambiarla y dispara el evento local change
} else { localStorage.setItem("AdsNotificacionesReconected", "1"); } if (varreconected === "1") {
localStorage.removeItem(AdsNotificacionesReconected);
} else { localStorage.setItem(AdsNotificacionesReconected, "1"); }
}
nointentos = maxintentos;
} }
function beforeunloadcloseopenConexion(e) { function beforeunloadcloseopenConexion(e) {
closeopenConexion() closeopenConexion();
} }
function loadConection() { function loadConection() {
// VentanaConConexion = true; VentanaConConexion = true;
//localStorage.setItem("AdsNotificacionesIsConnected", valueok); localStorage.setItem(AdsNotificacionesIsConnected, valueok);
//if ($.connection) { if ($.connection) {
// let nointentos =0 var proxy = $.connection.notificaciones;
// var proxy = $.connection.notificaciones; /*$.connection.hub.url = '/signalr';*/
// /*$.connection.hub.url = '/signalr';*/ $.connection.hub.disconnected(function () {
// $.connection.hub.disconnected(function () { console.log(' (SignalR) diconnected');
// setTimeout(function () { nointentos = nointentos + 1; if (nointentos < 4) { $.connection.hub.start().done(function () { nointentos = 0 }); console.log('Reconected'); } }, 120000); signalrconectionStar(1200);
// }); });
// proxy.client.AlertaVentana = AlertaVentana; proxy.client.AlertaVentana = AlertaVentana;
// $.connection.hub.start().done(function () { proxy.client.Execstring = Execstring;
// console.log('Bienvenido');
// }); signalrconectionStar(1200);
//} else {
// console.error('Signal Error (no se encontro $.connection)');
//}
//window.addEventListener("beforeunload", beforeunloadcloseopenConexion);
}
function initConnection() {
let isconnected = localStorage.getItem("AdsNotificacionesIsConnected");
if (isconnected == valueok) {
} else { } else {
loadConection() console.error('(SignalR) Error :\'no se encontro $.connection\'');
}
window.addEventListener("beforeunload", beforeunloadcloseopenConexion);
}
function signalrconectionStar(TimeOut) {
setTimeout(function () {
nointentos = nointentos + 1;
if (nointentos < maxintentos) {
$.connection.hub.start().done(function () { console.log('(SignalR)Bienvenido'); nointentos = 0; })
.fail(function () { console.log(' (SignalR) no conectado (Intento:' + nointentos + ')'); signalrconectionStar(12000); });
}
}, TimeOut);
}
function initConnection() {
let isconnected = localStorage.getItem(AdsNotificacionesIsConnected);
if (isconnected !== valueok) {
loadConection();
} else {
console.log('is some there conected (' + wNum+')');
} }
} }
function handlelocalstorage() {
function handlelocalstorage() {
window.addEventListener('storage', function (evt) { window.addEventListener('storage', function (evt) {
if (evt.key == "ADSNotificaciones") { if (evt.key === "ADSNotificaciones") {
///
x = 1;
} }
switch (evt.key + "") { switch (evt.key + "") {
case 'ADSCloseConection':
closeopenConexion();
$.connection.hub.stop().done(function () {
console.log('stopped');
});
break;
case 'AdsNotificacionesReconected': case 'AdsNotificacionesReconected':
if (!VentanaConConexion) { if (!VentanaConConexion) {
setTimeout(function () { initConnection() }, 5000) setTimeout(function () { initConnection(); }, (wNum * 200));
} else { } else {
window.removeEventListener("beforeunload", beforeunloadcloseopenConexion) window.removeEventListener("beforeunload", beforeunloadcloseopenConexion);
} }
break; break;
case 'ADSNotificaciones': case 'ADSNotificaciones':
try { try {
let obj = JSON.parse(evt.newValue); let obj = JSON.parse(evt.newValue);
if (obj && obj.metodo == "AlertaVentana") { if (obj && obj.metodo === "AlertaVentana") {
execAlertaVentana(obj); execAlertaVentana(obj);
} }
} catch (e) { } catch (e) {
console.error(e) console.error(e);
} }
break; break;
} }
@@ -152,6 +191,11 @@ var NotificacionesADS = function () {
return { return {
init: function () { init: function () {
wNum = parseInt(localStorage.getItem(Windownumber));
if (isNaN(wNum) || (wNum > 50)) { wNum = 12; }
wNum = wNum + 1;
localStorage.setItem(Windownumber, wNum);
initherramientas(); initherramientas();
handlelocalstorage(); handlelocalstorage();
initConnection(); initConnection();

View File

@@ -7,11 +7,11 @@ conf = {
log: console.log, log: console.log,
warn: console.warn, warn: console.warn,
debug: console.debug debug: console.debug
} };
console.error = function (texto) { console.error = function (texto) {
loaderEnd(); setTimeout(function () { if (Metronic && Metronic.unblockUI) { Metronic.unblockUI(); } }, 10);
conf.error(texto); conf.error(texto);
} };
function alertatoast(tipo,Mensaje,Funcion,timeout){ function alertatoast(tipo,Mensaje,Funcion,timeout){
if (timeout) { if (timeout) {
timeout = timeout * 1000;//convierto a milisegundos timeout = timeout * 1000;//convierto a milisegundos