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/RepNormatividad.aspx".ToUpper(), 669)
PaginaDict.Add("/OI/Minutas.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/MinutaDetalle.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepDocumentos.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/EventoComentario.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepEventos.aspx".ToUpper(), -1)
PaginaDict.Add("/OI/RepTareas.aspx".ToUpper(), 293)
PaginaDict.Add("/OI/RepTareas2.aspx".ToUpper(), 293)
PaginaDict.Add("/OI/RepMinutas.aspx".ToUpper(), 338)
PaginaDict.Add("/OI/PopUpAgenda.aspx".ToUpper(), -1)
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 Mensaje As String = String.Empty
Dim ArrayPara() As String = ObjMail.Para.Split(";"c)
Dim ArrayCCP() As String = ObjMail.CCP.Split(";"c)
Dim ArrayPara() As String = ObjMail.Para.Replace(",", ";").Split(";"c)
Dim ArrayCCP() As String = ObjMail.CCP.Replace(",", ";").Split(";"c)
'"sgd.facturacion@adsistemas.mx"
If ObjMail.De = String.Empty Then

View File

@@ -26,9 +26,17 @@ Public Class Notificaciones
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)
Dim Clients As Hubs.IHubConnectionContext(Of Object) = GlobalHost.ConnectionManager.GetHubContext(Of Notificaciones)().Clients
Clients.Users(Para).AlertaVentana(Titulo, Message, DirectCast(Tipo, Integer), timeoutseconds)
If (Para IsNot Nothing) AndAlso Para.Count > 0 Then
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
'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" />
</ContentTemplate>
</asp:UpdatePanel>
</div>
<%: Scripts.Render("~/Metronic/assets/global/scripts/JS") %>
</div>
<script type="text/javascript" src="/Scripts/Notificaciones.js"></script>
<%--<script type="text/javascript" src="/Scripts/Notificaciones.js"></script>--%>
<script>
// aqui debe de llammarse Sr, para desconectar
window.addEventListener("beforeunload", NotificacionesADS.closeopenConexion);
// aqui debe de llammarse siganalr, para desconectar
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();
prm.add_initializeRequest(function (s, e) {
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
'"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() {"", ""}
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
@@ -172,6 +175,10 @@ Partial Class LogIn
End Property
Dim BtnLogIn_Clickenter As Integer = 0
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
BtnLogIn_Clickenter = 1
Dim ObjUsuario As New ClsSisUsuarios
@@ -197,19 +204,22 @@ Partial Class LogIn
If Usuario.CvePlataforma = 6 And Usuario.CveRol = 10 Then
'PLATAFORMA PORTAL CLIENTE
FormsAuthentication.RedirectFromLoginPage(_sessionid, False)
Response.Redirect("/PortalCliente/PortalCliente.aspx", True)
'FormsAuthentication.RedirectFromLoginPage(_sessionid, False)
'Response.Redirect("/PortalCliente/PortalCliente.aspx", True)
ReturnUrl = "/PortalCliente/PortalCliente.aspx"
ElseIf Usuario.CvePlataforma = 7 And Usuario.CveRol = 11 Then
'PLATAFORMA PORTAL PROVEEDOR
FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
Response.Redirect("/PortalProveedor/PortalProveedor.aspx", True)
'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
'Response.Redirect("/PortalProveedor/PortalProveedor.aspx", True)
ReturnUrl = "/PortalProveedor/PortalProveedor.aspx"
ElseIf Usuario.CveRol = 1200 And Usuario.Acceso > 0 Then
'PLATAFORMA GPS
Usuario.CvePlataforma = 3
FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
Response.Redirect("/PortalGPS/InicioGPS.aspx", True)
'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
'Response.Redirect("/PortalGPS/InicioGPS.aspx", True)
ReturnUrl = "/PortalGPS/InicioGPS.aspx"
Else
'PLATAFORMA SIG
CType(Session("UsuarioSIG"), Usuario).CvePlataforma = 1
@@ -219,11 +229,16 @@ Partial Class LogIn
If dt.Rows.Count > 1 Then
Usuario.MultipleEmpresa = True
End If
FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
'FormsAuthentication.RedirectFromLoginPage(Encripta(Usuario.CveUsuario), False)
End If
End If
dt.Dispose()
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
Alert("El usuario no esta autorizado en este equipo, favor de contactar al administrador de usuarios.", TipoMensaje.MsgAdvertencia)
End If

View File

@@ -26,8 +26,9 @@ public partial class OI_CircularDetalleB : ClsPaginas
DdlSucursales.DataBind();
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();
}

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" %>
<asp:Content ID="Content1" ContentPlaceHolderID="CP" runat="Server">
<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 ID="Content2" ContentPlaceHolderID="Css" Runat="Server">
</asp:Content>
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
<asp:Content ID="Content3" ContentPlaceHolderID="E" Runat="Server">
</asp:Content>
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
<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 ID="Content5" ContentPlaceHolderID="H" Runat="Server">
</asp:Content>
<asp:Content ID="Content6" ContentPlaceHolderID="HA" runat="Server">
<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>
<asp:Content ID="Content7" ContentPlaceHolderID="C" Runat="Server">
</asp:Content>
<asp:Content ID="Content8" ContentPlaceHolderID="JS" Runat="Server">
<asp:UpdatePanel ID="UPFiltros" runat="server" UpdateMode="Conditional">
<ContentTemplate>
<table style="width: 100%; border: 0; border-spacing: 0;">
<tr class="SubTotales3">
<td>Fecha Inicio:</td>
<td>
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="txtFechaI" runat="server" CssClass="form-control"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendario" runat="server" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
</span>
</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>
<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>
<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>
<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>
<ajax:ValidatorCalloutExtender ID="vcoFfvFI" runat="server" HighlightCssClass="vco" TargetControlID="rfvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
<ajax:ValidatorCalloutExtender ID="vcoCvFI" runat="server" HighlightCssClass="vco" TargetControlID="cvFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
</td>
<td>Fecha Fin:
</td>
<td>
<div class="input-group input-small date date-picker" data-date-format="dd/mm/yyyy">
<asp:TextBox ID="txtFechaF" runat="server" CssClass="form-control"></asp:TextBox>
<span class="input-group-btn ">
<asp:LinkButton ID="imgCalendarioF" runat="server" class="btn default"><i class="fa fa-calendar"></i></asp:LinkButton>
</span>
</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;">
<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>
</ContentTemplate>
</asp:UpdatePanel>
</asp:Content>

View File

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

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>
tr[hide="1"] {
display: none;
background-color:rgb(4,71,103)
}
.portlet {
margin-bottom: 10px;
}
.btn.btnCalendar {
@@ -100,6 +105,18 @@
color: #659be0;
font-weight: bold;
}
.DivAvance {
position: relative;
}
.DivAvance .TxtAvance.aspNetDisabled ~ .Avancereadonly {
position: absolute;
top: 0px;
width: 100%;
height: 100%;
cursor: not-allowed;
}
</style>
<link href="/Metronic/assets/global/plugins/ion.rangeslider/css/ion.rangeSlider.css" rel="stylesheet" type="text/css" />
@@ -131,7 +148,9 @@
<li>
<asp:LinkButton ID="LnkUpFile" OnClick="LnkUpFile_Click" Visible="false" runat="server"><i class="fa fa-plus"></i> Agregar Archivo</asp:LinkButton></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>
</asp:UpdatePanel>
@@ -324,9 +343,10 @@
</asp:DropDownList>
<asp:Label runat="server" AssociatedControlID="DdlEventoEstatus">Estatus:</asp:Label>
</div>
<div class="">
<div class="DivAvance">
<asp:Label runat="server" CssClass="labelitem" AssociatedControlID="TxtAvance">Avance:</asp:Label>
<asp:TextBox ID="TxtAvance" runat="server" CssClass="form-control TxtAvance" CausesValidation="true"></asp:TextBox>
<div class="Avancereadonly"></div>
</div>
<asp:Button ID="BtnUpAvance" OnClick="BtnUpAvance_Click" CssClass="hidden BtnUpAvance" runat="server" Text="ActualizarAvance" />
@@ -407,8 +427,8 @@
<HeaderTemplate>
C. C. Para
<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="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="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-square-o"></i></a>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkCCP" CssClass="ChkOk" Checked="false" runat="server" />
@@ -533,22 +553,22 @@
</ContentTemplate>
</asp:UpdatePanel>
<div id='<%= iddivAgregarPara %>' class="modal ADS fade" role="dialog">
<div id='<%= iddivAgregarMiembros %>' class="modal ADS fade" role="dialog">
<div class="modal-dialog">
<asp:UpdatePanel ID="UpUsuarios" 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="Literal4" runat="server">Para</asp:Literal></h4>
<asp:Literal ID="LtlTituloUsuarios" runat="server">Actualizar miembros</asp:Literal></h4>
</div>
<div class="modal-body">
<div class="form-group form-md-line-input">
<div class="modal-body">
<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:Label runat="server" Text="Perfil:" AssociatedControlID="DdlRoles"></asp:Label>
</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:Label runat="server" Text="Sucursales:" AssociatedControlID="DdlSucursales"></asp:Label>
</div>
@@ -581,8 +601,8 @@
<HeaderTemplate>
C. C. Para
<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="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="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 fa-square-o"></i></a>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox ID="ChkCCP" CssClass="ChkOk" Checked="false" runat="server" />
@@ -604,7 +624,8 @@
</asp:GridView>
</div>
<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>
</div>
</ContentTemplate>
@@ -707,7 +728,17 @@
</ContentTemplate>
</asp:UpdatePanel>
</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 ID="Content8" ContentPlaceHolderID="JS" runat="Server">
@@ -778,12 +809,12 @@
//e.Row.Attributes.Add("data-rol", 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)
$('.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);
}
function loadeventos() {
@@ -793,7 +824,7 @@
copy: TxtUsuario_Onchange
, paste: 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
});
input.addClass('ConEvento');
@@ -805,7 +836,7 @@
copy: TxtUsuario2_Onchange
, paste: 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
});
input2.addClass('ConEvento');
@@ -869,7 +900,7 @@
loaderinit = (function () { });
let ischeked = $(this).is(':checked');
$(this).closest('tr').toggleClass('finished');
$(".LnkSinfuncion").click();
if ($(".LnkSinfuncion").length) { $(".LnkSinfuncion").click(); }
});
}
function CambiarTitulo(cadena) {
@@ -889,6 +920,8 @@
item.ionRangeSlider({
min: 0,
max: 100,
step: .01,
//[disable]
onChange: (function () {
setTimeout(function () { if ($(".TxtAvance").val() != Valorxyz) { avancecambio = 1 } }, 50);
})
@@ -907,7 +940,7 @@
});
$(document).ready(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();
setchecklistitulo();

View File

@@ -9,8 +9,21 @@ using Extensiones;
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
public const string iddivAgregarPara = "iddivAgregarPara";
public const string iddivAgregarMiembros = "iddivAgregarMiembros";
public const string iddivAgregar = "divModalAgregarActividad";
public const string iddivAgregarArchivo = "divModalAgregarArchivo";
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 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> 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 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 int chklistitemindex { get { return ViewState["chklistitemindex"] != null ? ViewState["chklistitemindex"].ToString().ToEntero() : 0; } set { ViewState["chklistitemindex"] = value; } }
#endregion
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
LnkAgregarCheckListVisible = true;
LnkUpFileVisible = false ;
LnkUpUsuariosVisible = false;
EsNuevo = true;
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;
if (Request["Archivo"] != null)
{
@@ -70,7 +92,6 @@ public partial class OI_TareaDetalle : ClsPaginas
}
else
{
CargaTemas();
CargaEstatus();
cargaUsuarios();
@@ -82,6 +103,7 @@ public partial class OI_TareaDetalle : ClsPaginas
{
EsNuevo = false;
LoadTarea();
SetUsuarios();
}
else
{
@@ -90,11 +112,71 @@ public partial class OI_TareaDetalle : ClsPaginas
TxtArchivo.Visible = true;
CveUsuarioDe = UsuarioActual.CveUsuario;
}
SetUsuarios();
Setpermisos();
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()
{
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 StrDeUser = new StringBuilder();
StringBuilder StrCCPara = new StringBuilder();
foreach (GridViewRow gvRow in GVUsuariosB.Rows)
{
if (gvRow.RowType == DataControlRowType.DataRow)
{
int CveUsuario = gvRow.DataKey("CveUsuario").ToString().ToEntero();
@@ -201,24 +285,30 @@ public partial class OI_TareaDetalle : ClsPaginas
chkpara.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)
{
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)
{
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>()))
{
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();
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()
@@ -266,7 +328,8 @@ public partial class OI_TareaDetalle : ClsPaginas
{
PnlUsuarios.Visible = true;
portletMiembros.Visible = false;
LnkUpFile.Visible = true;
LnkUpFileVisible = true;
LnkUpUsuariosVisible = true;
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
Folio = drow["Folio"].ToString().ToEntero();
@@ -297,13 +360,18 @@ public partial class OI_TareaDetalle : ClsPaginas
//OIE.[CveUsuarioIng], OIE.[CveEmpresa], OIE.[CveUsuarioModifico], OIE.[Avance]
LtlTitulo.Text = drow["Titulo"].ToString();
if (ObjOI_E.GetEventosUsuario(RCveEvento, UsuarioActual.CveEmpresa))
if (ObjOI_E.GetEventosUsuario2(RCveEvento, UsuarioActual.CveEmpresa))
{
LCveUsuarioCCP.Clear();
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))
{
@@ -311,7 +379,7 @@ public partial class OI_TareaDetalle : ClsPaginas
if (ObjOI_E.DtResultados.Rows.Count > 0)
{
portletChekList.Visible = true;
LnkAgregarCheckList.Visible = false;
LnkAgregarCheckListVisible = false;
}
}
cargaActividades(ObjOI_E);
@@ -322,9 +390,9 @@ public partial class OI_TareaDetalle : ClsPaginas
protected void LnkGuardar_Click(object sender, EventArgs e)
{
string errorMessage = "";
if (EsNuevo)
{
string errorMessage = "";
int cveUsuarioDe = UsuarioActual.CveUsuario;
List<int> listaCCP = new List<int>();
int cveUsuarioPara = -1;
@@ -347,20 +415,18 @@ public partial class OI_TareaDetalle : ClsPaginas
}
}
}
if (!cveUsuarioDe.Contiene(listaCCP.ToArray<int>()))
{
listaCCP.Add(cveUsuarioDe);
}
if (!cveUsuarioPara.Contiene(listaCCP.ToArray<int>()))
{
listaCCP.Add(cveUsuarioPara);
}
//if (!cveUsuarioDe.Contiene(listaCCP.ToArray<int>()))
//{
// listaCCP.Add(cveUsuarioDe);
//}
//if (!cveUsuarioPara.Contiene(listaCCP.ToArray<int>()))
//{
// listaCCP.Add(cveUsuarioPara);
//}
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)
{
@@ -417,6 +483,7 @@ public partial class OI_TareaDetalle : ClsPaginas
{
errorMessage = "No se selecciono el miembro 'C C Para'";
}
if (cveUsuarioPara <= 0)
{
errorMessage = "No se selecciono el miembro 'Para'";
@@ -424,40 +491,26 @@ public partial class OI_TareaDetalle : ClsPaginas
}
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())
{
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;
Folio = objOI.Folio;
if (CveEvento == 0)
{
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)
{
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));
}
}
}
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
{
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)
@@ -527,14 +649,14 @@ public partial class OI_TareaDetalle : ClsPaginas
protected void LnkAgregarCheckList_Click(object sender, EventArgs e)
{
portletChekList.Visible = true;
LnkAgregarCheckList.Visible = false;
LnkAgregarCheckListVisible = false;
if (RCveEvento > 0)
{
}
else
{
GVcheklist.Columns[0].Visible = false;
GVcheklist.Columns[0].Visible = false;
CheckListNew = new System.Data.DataTable();
//CveEventoCheckList,CveEvento,CveTipoEvento,EventoComentario,Estatus,CveUsuario,Usuario,FechaIng
CheckListNew.Columns.Add("CveEventoCheckList", typeof(int));
@@ -557,7 +679,7 @@ public partial class OI_TareaDetalle : ClsPaginas
{
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))
{
GVcheklist.DataSource = objOI.DtResultados;
@@ -587,7 +709,7 @@ public partial class OI_TareaDetalle : ClsPaginas
GridViewRow gvrow = (GridViewRow)chk.NamingContainer;
using (ClsOIEventos objOI = new ClsOIEventos())
{
if (objOI.Upcheklist(gvrow.DataKey("CveEventoCheckList").ToEntero(), gvrow.DataKey("CveEvento").ToEntero(), gvrow.DataKey("EventoComentario"), chk.Checked, UsuarioActual.CveUsuario))
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);
if (objOI.Getcheklist(RCveEvento))
@@ -606,27 +728,35 @@ public partial class OI_TareaDetalle : ClsPaginas
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 })))
{
if (objOI.UpdateEstatusEvento2(DDlEstatus.SelectedValue.ToEntero(), -1, RCveEvento, UsuarioActual.CveUsuario))
using (ClsOIEventos objOI = new ClsOIEventos())
{
//CargaEstatusEventos(DdlEventoEstatus.SelectedValue.ToEntero);
//if (DdlEventoEstatus.SelectedValue.ToEntero == 3 | DdlEventoEstatus.SelectedValue.ToEntero == 1)
// EnviarCorreoCambioEstatus(false);
//CargaDatos();
string mensaje = string.Format("Se cambio el Estatus de \"{0}\" a \"{1}\"", DdlEventoEstatus.SelectedItem.Text, DDlEstatus.SelectedItem.Text);
DdlEventoEstatus.SelectedValueExist(DDlEstatus.SelectedValue);
UpEstatus.Update();
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivCambiarEstatus));
Alert(mensaje, ModExtensiones.TipoMensaje.ToastInformacion);
cargaActividades(objOI);
if (objOI.UpdateEstatusEvento2(CveEstatus, -1, RCveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa, UsuarioActual.Empresa))
{
//CargaEstatusEventos(DdlEventoEstatus.SelectedValue.ToEntero);
//if (DdlEventoEstatus.SelectedValue.ToEntero == 3 | DdlEventoEstatus.SelectedValue.ToEntero == 1)
// EnviarCorreoCambioEstatus(false);
//CargaDatos();
string mensaje = string.Format("Se cambio el Estatus de \"{0}\" a \"{1}\"", DdlEventoEstatus.SelectedItem.Text, DDlEstatus.SelectedItem.Text);
DdlEventoEstatus.SelectedValueExist(DDlEstatus.SelectedValue);
UpEstatus.Update();
this.RegistraScript(string.Format("$('#{0}').modal('hide')", iddivCambiarEstatus));
Alert(mensaje, ModExtensiones.TipoMensaje.ToastInformacion);
cargaActividades(objOI);
}
}
}
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)
@@ -686,7 +816,7 @@ public partial class OI_TareaDetalle : ClsPaginas
}
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); }
}
Txtfilecomentario.Text = "";
@@ -711,7 +841,7 @@ public partial class OI_TareaDetalle : ClsPaginas
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));
}
TxtComentario.Text = "";
}
protected void GvActividades_RowDataBound(object sender, GridViewRowEventArgs e)
@@ -770,7 +900,7 @@ public partial class OI_TareaDetalle : ClsPaginas
bool continuar = false;
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)
@@ -789,7 +919,7 @@ public partial class OI_TareaDetalle : ClsPaginas
bool continuar = false;
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 (objoi.DtResultados.Rows.Count > 0)
@@ -812,14 +942,223 @@ public partial class OI_TareaDetalle : ClsPaginas
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)
{
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)
{
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 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.permission !== 'denied') {
Notification.requestPermission(function (permission) {
// If the user accepts, let's create a notification
if (permission === "granted") {
}
//if (permission === "granted") {
//}
});
}
}
}
//-------------------------------------------------------------------- Eventos ----------------------------------------------------------------------
var AlertaVentana = function (Titulo, Mensaje, Tipo, timeoutseconds,Opciones) {
var AlertaVentana = function (Titulo, Mensaje, Tipo, timeoutseconds, Opciones) {
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);
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) {
console.log(obj);
@@ -42,7 +56,7 @@ var NotificacionesADS = function () {
//});
let Mensaje = obj.mensaje;
let titulo = obj.titulo;
let timeout = obj.timeout;
let timeout = obj.timeout;
if (timeout) {
timeout = timeout * 1000;//convierto a milisegundos
} else { timeout = 0; }
@@ -60,7 +74,7 @@ var NotificacionesADS = function () {
"showMethod": "fadeIn",
"hideMethod": "fadeOut"
}
};
switch (obj.tipo) {
case 5:
@@ -79,70 +93,95 @@ var NotificacionesADS = function () {
toastr.warning(Mensaje, titulo, opciones);
}
}
}
};
//-------------------------------------------------------------------- EndEventos ----------------------------------------------------------------------
function closeopenConexion() {
let varreconected = localStorage.getItem("AdsNotificacionesReconected");
localStorage.removeItem("AdsNotificacionesIsConnected");
if (varreconected == "1") {
localStorage.removeItem("AdsNotificacionesReconected");
} else { localStorage.setItem("AdsNotificacionesReconected", "1"); }
if (VentanaConConexion) {
localStorage.removeItem(AdsNotificacionesIsConnected);
let varreconected = localStorage.getItem(AdsNotificacionesReconected);//obtengo la variable para cambiarla y dispara el evento local change
if (varreconected === "1") {
localStorage.removeItem(AdsNotificacionesReconected);
} else { localStorage.setItem(AdsNotificacionesReconected, "1"); }
}
nointentos = maxintentos;
}
function beforeunloadcloseopenConexion(e) {
closeopenConexion()
closeopenConexion();
}
function loadConection() {
// VentanaConConexion = true;
//localStorage.setItem("AdsNotificacionesIsConnected", valueok);
//if ($.connection) {
// let nointentos =0
// var proxy = $.connection.notificaciones;
// /*$.connection.hub.url = '/signalr';*/
// $.connection.hub.disconnected(function () {
// setTimeout(function () { nointentos = nointentos + 1; if (nointentos < 4) { $.connection.hub.start().done(function () { nointentos = 0 }); console.log('Reconected'); } }, 120000);
// });
function loadConection() {
VentanaConConexion = true;
localStorage.setItem(AdsNotificacionesIsConnected, valueok);
if ($.connection) {
var proxy = $.connection.notificaciones;
/*$.connection.hub.url = '/signalr';*/
$.connection.hub.disconnected(function () {
console.log(' (SignalR) diconnected');
signalrconectionStar(1200);
});
// proxy.client.AlertaVentana = AlertaVentana;
proxy.client.AlertaVentana = AlertaVentana;
// $.connection.hub.start().done(function () {
// console.log('Bienvenido');
// });
//} else {
// console.error('Signal Error (no se encontro $.connection)');
proxy.client.Execstring = Execstring;
signalrconectionStar(1200);
//}
//window.addEventListener("beforeunload", beforeunloadcloseopenConexion);
}
function initConnection() {
let isconnected = localStorage.getItem("AdsNotificacionesIsConnected");
if (isconnected == valueok) {
} 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) {
if (evt.key == "ADSNotificaciones") {
if (evt.key === "ADSNotificaciones") {
///
x = 1;
}
switch (evt.key + "") {
case 'ADSCloseConection':
closeopenConexion();
$.connection.hub.stop().done(function () {
console.log('stopped');
});
break;
case 'AdsNotificacionesReconected':
if (!VentanaConConexion) {
setTimeout(function () { initConnection() }, 5000)
setTimeout(function () { initConnection(); }, (wNum * 200));
} else {
window.removeEventListener("beforeunload", beforeunloadcloseopenConexion)
window.removeEventListener("beforeunload", beforeunloadcloseopenConexion);
}
break;
case 'ADSNotificaciones':
try {
let obj = JSON.parse(evt.newValue);
if (obj && obj.metodo == "AlertaVentana") {
if (obj && obj.metodo === "AlertaVentana") {
execAlertaVentana(obj);
}
} catch (e) {
console.error(e)
console.error(e);
}
break;
}
@@ -152,6 +191,11 @@ var NotificacionesADS = function () {
return {
init: function () {
wNum = parseInt(localStorage.getItem(Windownumber));
if (isNaN(wNum) || (wNum > 50)) { wNum = 12; }
wNum = wNum + 1;
localStorage.setItem(Windownumber, wNum);
initherramientas();
handlelocalstorage();
initConnection();

View File

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