Merge branch 'master' of http://192.168.10.111:8383/SIG
This commit is contained in:
@@ -13,7 +13,7 @@
|
||||
|
||||
tr[hide="1"] {
|
||||
display: none;
|
||||
background-color: rgb(4,71,103);
|
||||
background-color: rgb(4,71,103)
|
||||
}
|
||||
|
||||
.portlet {
|
||||
@@ -180,24 +180,6 @@
|
||||
<asp:RequiredFieldValidator ID="RfvTxtLugar" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtLugar" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Lugar''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label runat="server" Text="Lugar:" AssociatedControlID="TxtLugar"></asp:Label>
|
||||
</div>
|
||||
<div class="row" style="width:100%">
|
||||
<div class="col-sm-6" style="width:50%">
|
||||
<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 ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVtxtFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label AssociatedControlID="txtFechaI" runat="server" Text="Fecha"></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" style="width:50%">
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtDuracion" runat="server" CssClass="form-control " CausesValidation="true"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVTxtDuracion" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDuracion" 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="Duración:" AssociatedControlID="TxtDuracion"></asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<asp:Panel ID="pnlmiembrosvista" Visible="false" runat="server">
|
||||
<div class="pnlCorreo" style="margin-bottom: 5px;">
|
||||
<div class="headerCorreo ">
|
||||
@@ -217,13 +199,26 @@
|
||||
</div>
|
||||
</asp:Panel>
|
||||
|
||||
<div class="form-group form-md-line-input input-iconright">
|
||||
<asp:TextBox ID="TxtDuracion" runat="server" CssClass="form-control " CausesValidation="true"></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVTxtDuracion" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtDuracion" 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="Duración:" AssociatedControlID="TxtDuracion"></asp:Label>
|
||||
</div>
|
||||
<div class="form-group form-md-line-input">
|
||||
<asp:TextBox ID="TxtCorreoExterno" runat="server" CssClass="form-control TxtCorreoExterno" CausesValidation="true" TextMode="MultiLine" Rows="2"></asp:TextBox>
|
||||
<%--<asp:RequiredFieldValidator ID="RfvCorreoExterno" runat="server" CssClass="help-block errorimput" ControlToValidate="TxtCorreoExterno" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Correo Externo''</b> es necesario, por favor ingréselo." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>--%>
|
||||
<asp:Label runat="server" Text="Correos Externos" AssociatedControlID="TxtCorreoExterno"></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 ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVtxtFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label AssociatedControlID="txtFechaI" runat="server" Text="Fecha Inicio"></asp:Label>
|
||||
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
|
||||
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6" style="display: none;">
|
||||
<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 ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox>
|
||||
@@ -299,8 +294,7 @@
|
||||
<ItemStyle HorizontalAlign="Center" Width="50px" />
|
||||
<HeaderTemplate>
|
||||
C. C. Para
|
||||
|
||||
<br />
|
||||
<br />
|
||||
<%--<a id="chkAll" onclick="chkAll_OncLick(1);" class="linkCorreo" data-toggle="tooltip" title="Seleccionar todos(Visibles)"><i class="fa fa-check-square-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>
|
||||
@@ -419,7 +413,6 @@
|
||||
<ItemStyle HorizontalAlign="Center" Width="50px" />
|
||||
<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-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>--%>
|
||||
@@ -475,7 +468,6 @@
|
||||
<ItemStyle HorizontalAlign="Center" Width="50px" />
|
||||
<HeaderTemplate>
|
||||
Asistió
|
||||
|
||||
</HeaderTemplate>
|
||||
<ItemTemplate>
|
||||
<asp:CheckBox ID="ChkAsistio" CssClass="ChkOk" Checked='<%# Eval("Asistencia").ToString()=="1" %>' runat="server" />
|
||||
@@ -517,7 +509,18 @@
|
||||
|
||||
|
||||
|
||||
function download(filename, text) {
|
||||
var element = document.createElement('a');
|
||||
element.setAttribute('href', 'data:text/plain;charset=utf-8,' + encodeURIComponent(text));
|
||||
element.setAttribute('download', filename);
|
||||
|
||||
element.style.display = 'none';
|
||||
document.body.appendChild(element);
|
||||
|
||||
element.click();
|
||||
|
||||
document.body.removeChild(element);
|
||||
}
|
||||
|
||||
let CveRol = -1;
|
||||
let CveSucursal = -1;
|
||||
|
||||
@@ -401,7 +401,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
ruta = string.Format("{0}{1}", ruta, archivoname);//, ArchivoExtencion);
|
||||
System.IO.File.Move(rutaarchivoOri, ruta);
|
||||
}
|
||||
this.Alert("Se ha agregadó la nueva convocatoria", ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/ConvocatoriaDetalle.aspx?CveEvento={0}\");", CveEvento));
|
||||
this.Alert(string.Format("Se ha agregadó la nueva convocatoria.<br/><a href=\"data:text/plain;charset=utf-8,{0}\" download=\"Agendar.ics\" class=\"btn btn-default\">⏰ Agendar</a>", HttpUtility.UrlEncode(ICString)), ModExtensiones.TipoMensaje.MsgInformacion, string.Format("location.replace(\"/OI/ConvocatoriaDetalle.aspx?CveEvento={0}\");", CveEvento));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -422,7 +422,7 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
{
|
||||
objOI.Commit();
|
||||
enviarConvocatoria(RCveEvento);
|
||||
Alert("Convocatoria actualizada");
|
||||
Alert(string.Format("Convocatoria actualizada.<br/><a href=\"data:text/plain;charset=utf-8,{0}\" download=\"Agendar.ics\" class=\"btn btn-default\">⏰ Agendar</a>", HttpUtility.UrlEncode(ICString)));
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -585,14 +585,21 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
{
|
||||
return string.Format("{0}/{1}", HttpContext.Current.Request.Url.ToString().Replace(HttpContext.Current.Request.Url.PathAndQuery, ""), addstr);
|
||||
}
|
||||
string UsuarioDemail = "";
|
||||
private string MailgetBodyConvocatoria(int RCveEvento)
|
||||
string UsuarioDemail = "";
|
||||
string ICString = "";
|
||||
private void enviarConvocatoria(int RCveEvento)
|
||||
{
|
||||
|
||||
int Folio = 0; string Link = ""; string Asunto = ""; string Acuerdos = ""; string Descripcion = ""; DateTime DFechai = DateTime.MinValue; DateTime DFechaf = DateTime.MinValue;
|
||||
string Body;
|
||||
string UsuarioDe = "";
|
||||
|
||||
#region "Body"
|
||||
int Folio = 0; string Link = ""; string Asunto = ""; string Acuerdos = ""; string Descripcion = ""; DateTime DFechai = DateTime.MinValue; DateTime DFechaf = DateTime.MinValue;
|
||||
UsuarioDe = "";
|
||||
string UsuarioPara = "";
|
||||
string UsuarioDeAbr = "";
|
||||
string CorreoRegistro = "";
|
||||
|
||||
System.Data.DataTable dttareas;
|
||||
using (ClsOIEventos ObjOI_E = new ClsOIEventos())
|
||||
{
|
||||
@@ -600,7 +607,8 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
{
|
||||
System.Data.DataRow drow = ObjOI_E.DtResultados.Rows[0];
|
||||
UsuarioDe = drow["NombreRegistro"].ToString();
|
||||
UsuarioDemail= drow["NombreRegistro"].ToString();
|
||||
UsuarioDemail = drow["NombreRegistro"].ToString();
|
||||
CorreoRegistro = drow["CorreoRegistro"].ToString().Split(',')[0].Split(';')[0];
|
||||
Folio = drow["Folio"].ToString().ToEntero();
|
||||
Link = GetDominio(string.Format("OI/ConvocatoriaDetalle.aspx?CveEvento={0}", RCveEvento));
|
||||
Asunto = drow["Asunto"].ToString();
|
||||
@@ -700,13 +708,12 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
StrMail.Append(" </div>");
|
||||
StrMail.Append(" </div>");
|
||||
StrMail.Append("</html></body>");
|
||||
return StrMail.ToString();
|
||||
}
|
||||
private void enviarConvocatoria(int RCveEvento)
|
||||
{
|
||||
|
||||
string Body;
|
||||
Body = MailgetBodyConvocatoria(RCveEvento);
|
||||
#endregion
|
||||
|
||||
|
||||
|
||||
Body = StrMail.ToString();//MailgetBodyConvocatoria(RCveEvento);
|
||||
string ArrayCC = "";
|
||||
//ViewState("Para") = GlobalDTUsuarios(CveUsuarioIng)(0)("correo").ToString;
|
||||
//ViewState("Asunto") = string.Format("SIG - Minuta {0}", TxtAsunto.Text);
|
||||
@@ -728,7 +735,11 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
}
|
||||
List<ClsSisMail.ArchivoMail> LSRutasMail = new List<ClsSisMail.ArchivoMail>();
|
||||
ClsSisMail.ArchivoMail mailfile = new ClsSisMail.ArchivoMail { Ruta = string.Format("{0}Imagenes\\Bell.png", ModExtensiones.DirectorioBaseEmpresas), NombreArchivo = "Bell.png" };
|
||||
LSRutasMail.Add(mailfile);
|
||||
LSRutasMail.Add(mailfile);
|
||||
ICString = GenerateIcsContent(string.Format("{0:yyyy/MM/dd} 00:00", txtFechaI.Text.ToDateTime()).ToDateTime(), string.Format("{0:yyyy/MM/dd} 23:59", txtFechaI.Text.ToDateTime()).ToDateTime(),
|
||||
UsuarioDe, CorreoRegistro, TxtLugar.Text, Asunto,Descripcion,string.Format("Convocatoria_{0}",RCveEvento) );
|
||||
ClsSisMail.ArchivoMail ICSFile = new ClsSisMail.ArchivoMail { Ruta = "",ArchivoBinario= Encoding.ASCII.GetBytes(ICString), NombreArchivo = "Agendar.ics" };
|
||||
LSRutasMail.Add(ICSFile);
|
||||
ClsSisMail.ArchivoMail itemMail = new ClsSisMail.ArchivoMail();
|
||||
|
||||
|
||||
@@ -742,31 +753,44 @@ public partial class OI_ConvocatoriaDetalle : ClsPaginas
|
||||
}
|
||||
|
||||
|
||||
public string GenerateIcsContent(DateTime dateStart,
|
||||
DateTime dateEnd, string email, string location,
|
||||
string summary, string description)
|
||||
public string GenerateIcsContent(DateTime FechaInicio, DateTime FechaFin, string Nombreorganizador, string Correoorganizador, string Ubicacion, string Asunto, string descripcion, string uuid)
|
||||
{
|
||||
string DateFormat = "yyyyMMddTHHmmssZ";
|
||||
var s = dateStart.ToUniversalTime().ToString(DateFormat);
|
||||
var e = dateEnd.ToUniversalTime().ToString(DateFormat);
|
||||
var iCal = string.Format(@"BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
METHOD:PUBLISH
|
||||
BEGIN:VEVENT
|
||||
ORGANIZER:MAILTO:{0}
|
||||
DTSTART:{1}
|
||||
DTEND:{2}
|
||||
LOCATION:{3}
|
||||
UID:{4}
|
||||
DTSTAMP:{4}
|
||||
SUMMARY:{5}
|
||||
DESCRIPTION:{6}
|
||||
PRIORITY:5
|
||||
CLASS:PUBLIC
|
||||
END:VEVENT
|
||||
END:VCALENDAR", email, s, e, location,
|
||||
DateTime.Now.ToUniversalTime().ToString(DateFormat),
|
||||
summary, description);
|
||||
return iCal;
|
||||
var DTSTART = FechaInicio.ToUniversalTime().ToString("yyyyMMddTHHmmssZ");
|
||||
var DTEND = FechaFin.ToUniversalTime().ToString("yyyyMMddTHHmmssZ");
|
||||
|
||||
/*
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
||||
BEGIN:VEVENT
|
||||
UID:uid1@example.com
|
||||
DTSTAMP:19970714T170000Z
|
||||
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
|
||||
DTSTART:19970714T170000Z
|
||||
DTEND:19970715T035959Z
|
||||
SUMMARY:Bastille Day Party
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
*/
|
||||
StringBuilder strICS = new StringBuilder();
|
||||
strICS.AppendLine("BEGIN:VCALENDAR");
|
||||
strICS.AppendLine("VERSION:2.0");
|
||||
strICS.AppendLine("METHOD:PUBLISH");
|
||||
strICS.AppendLine("BEGIN:VEVENT");
|
||||
strICS.AppendLine(string.Format("ORGANIZER;CN={0}:MAILTO:{1}", Nombreorganizador.Replace(":", "").Replace(";", ""), Correoorganizador));
|
||||
strICS.AppendLine(string.Format("DTSTART:{0}", DTSTART));
|
||||
strICS.AppendLine(string.Format("DTEND:{0}", DTEND));
|
||||
strICS.AppendLine(string.Format("LOCATION:{0}", Ubicacion));
|
||||
strICS.AppendLine(string.Format("UID:{0}", uuid));
|
||||
strICS.AppendLine(string.Format("DTSTAMP:{0}", DateTime.Now.ToUniversalTime().ToString("yyyyMMddTHHmmssZ")));
|
||||
strICS.AppendLine(string.Format("SUMMARY:{0}", Asunto));
|
||||
strICS.AppendLine(string.Format("DESCRIPTION:{0}", descripcion));
|
||||
strICS.AppendLine("PRIORITY:5");
|
||||
strICS.AppendLine("CLASS:PUBLIC");
|
||||
strICS.AppendLine("END:VEVENT");
|
||||
strICS.AppendLine("END:VCALENDAR");
|
||||
return strICS.ToString();
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
@@ -164,7 +164,7 @@
|
||||
<asp:TextBox ID="TxtArchivoPropuesta" CssClass="ADSdropzone hidden" runat="server" Style="height: 100px"></asp:TextBox>
|
||||
<br />
|
||||
<asp:Label runat="server" ID="Label2" Text="Comentarios:" style="font-size:15px"/>
|
||||
<textarea runat="server" id="TxtComentarios" class="form-control" style="border: 1px solid #e5e5e5" rows="2"></textarea>
|
||||
<textarea runat="server" id="TxtComentarios" class="form-control" style="border: 1px solid #e5e5e5" rows="2" maxlength="300"></textarea>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:Button ID="BtnAgregarPropuesta" OnClick="BtnAgregarPropuesta_Click" runat="server" class="btn btn-success" Text="Agregar" ValidationGroup="GrpTiposD" />
|
||||
|
||||
@@ -746,25 +746,31 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
protected void LnkTerminarMinuta_Click(object sender, EventArgs e)
|
||||
{
|
||||
// Cambiar el estatus a Terminada para inabilitarla y que no se pueda modificar
|
||||
ClsOIEventos objOI = new ClsOIEventos();
|
||||
int tCveSeguimiento;
|
||||
bool HuboError = false;
|
||||
|
||||
objOI.IniciaTransacSQL();
|
||||
|
||||
tCveSeguimiento = objOI.AddEventoComentario2(RCveEvento, "Termino minuta.", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
|
||||
|
||||
if (tCveSeguimiento > 0)
|
||||
using (ClsOIEventos objOI = new ClsOIEventos())
|
||||
{
|
||||
if (!objOI.UpdateEstatusEvento2(4, tCveSeguimiento, RCveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
|
||||
HuboError = true;
|
||||
objOI.IniciaTransacSQL();
|
||||
tCveSeguimiento = objOI.AddEventoComentario2(RCveEvento, "Termino minuta.", "", UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa);
|
||||
if (tCveSeguimiento > 0)
|
||||
{
|
||||
if (!objOI.UpdateEstatusEvento2(4, tCveSeguimiento, RCveEvento, UsuarioActual.CveUsuario, UsuarioActual.CveEmpresa))
|
||||
HuboError = true;
|
||||
}
|
||||
else { HuboError = true; }
|
||||
if (HuboError == false)
|
||||
{
|
||||
objOI.Commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
objOI.RollBack();
|
||||
}
|
||||
}
|
||||
if (HuboError == false)
|
||||
{
|
||||
if (!EnviarMinuta()) { HuboError = true; Alert("Ocurrió un error al terminar la minuta. no se pudo enviar el correo.", ModExtensiones.TipoMensaje.MsgError); }
|
||||
}
|
||||
else
|
||||
HuboError = true;
|
||||
|
||||
|
||||
// 'Envia minuta si es modificada
|
||||
|
||||
|
||||
|
||||
if (HuboError == false)
|
||||
@@ -775,22 +781,6 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
script = string.Format("location.replace(\"/OI/ConvocatoriaDetalle.aspx?CveEventoPadre={0}\");", RCveEvento);
|
||||
}
|
||||
Alert("La minuta ha finalizado.", ModExtensiones.TipoMensaje.MsgInformacion, script);
|
||||
objOI.Commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
Alert("Ocurrió un error al terminar la minuta. Por favor vuelva a intentar.", ModExtensiones.TipoMensaje.MsgError);
|
||||
objOI.RollBack();
|
||||
}
|
||||
|
||||
objOI.Dispose();
|
||||
|
||||
|
||||
if (HuboError == false)
|
||||
{
|
||||
if (!EnviarMinuta())
|
||||
HuboError = true;
|
||||
Alert("La minuta se termino con exito.", ModExtensiones.TipoMensaje.MsgInformacion);
|
||||
}
|
||||
|
||||
LnkEnviarMinuta.Visible = true;
|
||||
@@ -833,7 +823,7 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
private string MailgetBodyMinuta()
|
||||
{
|
||||
|
||||
int Folio=0; string Link=""; string Asunto = ""; string Acuerdos = ""; string Descripcion = ""; DateTime DFechai=DateTime.MinValue; DateTime DFechaf = DateTime.MinValue;
|
||||
int Folio = 0; string Link = ""; string Asunto = ""; string Acuerdos = ""; string Descripcion = ""; DateTime DFechai = DateTime.MinValue; DateTime DFechaf = DateTime.MinValue;
|
||||
string UsuarioDe = "";
|
||||
string UsuarioPara = "";
|
||||
string UsuarioDeAbr = "";
|
||||
@@ -875,7 +865,7 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
if (UsuarioPara != null)
|
||||
{
|
||||
string[] str = UsuarioPara.Split(' ');
|
||||
if (str.Length > 0 && str[0].Length >0)
|
||||
if (str.Length > 0 && str[0].Length > 0)
|
||||
{
|
||||
UsuariParaAbr = str[0].Substring(0, 1).ToUpper();
|
||||
}
|
||||
@@ -899,7 +889,7 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
StrMail.Append(" <span style=\"color: #6C6C6C; font-size: 17px;\">Moderador:</span>");
|
||||
StrMail.Append($" <span style=\"color: #ED7D31; font-size: 22px;font-weight: bold;\">{UsuarioDeAbr}</span>");
|
||||
StrMail.Append($" <span style=\"color: #6C6C6C; font-size: 17px;\">{UsuarioDe}</span><br />");
|
||||
StrMail.Append(" <span style=\"color: #6C6C6C; font-size: 17px;\">Fecha:</span>");
|
||||
StrMail.Append(" <span style=\"color: #6C6C6C; font-size: 17px;\">Fecha:</span>");
|
||||
StrMail.Append($" <span style=\"color: #6C6C6C; font-size: 17px;\">{DFechai: dd} de {DFechai: MMMM yyyy HH:mm}</span><br />");
|
||||
StrMail.Append(" </td>");
|
||||
StrMail.Append(" <td style=\"width: 20%;\">");
|
||||
@@ -940,21 +930,21 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
|
||||
|
||||
|
||||
if(dttareas != null && dttareas.Rows.Count > 0)
|
||||
if (dttareas != null && dttareas.Rows.Count > 0)
|
||||
{
|
||||
StrMail.Append("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%\">");
|
||||
StrMail.Append(" <thead>");
|
||||
StrMail.Append(" <tr style=\"background-color:#dddddd;\">");
|
||||
StrMail.Append(" <th scope=\"col\">Folio</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Asunto</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Descripción</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Para</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Inicio</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Fin</th>");
|
||||
StrMail.Append(" </tr>");
|
||||
StrMail.Append(" </thead>");
|
||||
StrMail.Append(" <tbody>");
|
||||
foreach (System.Data.DataRow drow in dttareas.Rows )
|
||||
StrMail.Append("<table border=\"0\" cellpadding=\"0\" cellspacing=\"0\" style=\"width:100%\">");
|
||||
StrMail.Append(" <thead>");
|
||||
StrMail.Append(" <tr style=\"background-color:#dddddd;\">");
|
||||
StrMail.Append(" <th scope=\"col\">Folio</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Asunto</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Descripción</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Para</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Inicio</th>");
|
||||
StrMail.Append(" <th scope=\"col\">Fin</th>");
|
||||
StrMail.Append(" </tr>");
|
||||
StrMail.Append(" </thead>");
|
||||
StrMail.Append(" <tbody>");
|
||||
foreach (System.Data.DataRow drow in dttareas.Rows)
|
||||
{
|
||||
|
||||
StrMail.Append(" <tr>");
|
||||
@@ -966,8 +956,8 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
StrMail.Append($" <td>{drow["FechaFin"]: dd/MM/yyyy}</td>");
|
||||
StrMail.Append(" </tr>");
|
||||
}
|
||||
StrMail.Append(" </tbody>");
|
||||
StrMail.Append("</table>");
|
||||
StrMail.Append(" </tbody>");
|
||||
StrMail.Append("</table>");
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -1006,14 +996,14 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
//System.Threading.Thread Hilo = new System.Threading.Thread(MandaCorreo);
|
||||
//Hilo.Start();
|
||||
string abre = "";
|
||||
using (ClsOIEventos ObjOI_E =new ClsOIEventos())
|
||||
{
|
||||
if (ObjOI_E.GetEventosUsuario2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados!=null && ObjOI_E.DtResultados.Rows.Count >0)
|
||||
using (ClsOIEventos ObjOI_E = new ClsOIEventos())
|
||||
{
|
||||
if (ObjOI_E.GetEventosUsuario2(RCveEvento, UsuarioActual.CveEmpresa) && ObjOI_E.DtResultados != null && ObjOI_E.DtResultados.Rows.Count > 0)
|
||||
{
|
||||
foreach (System.Data.DataRow item in ObjOI_E.DtResultados.Rows )
|
||||
foreach (System.Data.DataRow item in ObjOI_E.DtResultados.Rows)
|
||||
{
|
||||
if (item["Correo"].ToString().Trim().Length >0)
|
||||
ArrayCC = string.Format("{0}{1}{2}", ArrayCC,abre, item["Correo"].ToString().Trim());
|
||||
if (item["Correo"].ToString().Trim().Length > 0)
|
||||
ArrayCC = string.Format("{0}{1}{2}", ArrayCC, abre, item["Correo"].ToString().Trim());
|
||||
abre = ";";
|
||||
}
|
||||
}
|
||||
@@ -1025,7 +1015,7 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
|
||||
|
||||
ClsSisMail Mail = new ClsSisMail();
|
||||
Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() +";"+ TxtCorreoExterno.Text, TxtAsunto.Text, Body, CCP: ArrayCC,Archivos: LSRutasMail);
|
||||
Mail.SendMail(EmpresaNotificaciones, get_GlobalDTUsuarios(UsuarioActual.CveUsuario).Rows[0]["correo"].ToString() + ";" + TxtCorreoExterno.Text, TxtAsunto.Text, Body, CCP: ArrayCC, Archivos: LSRutasMail);
|
||||
//Alert("Se Envió por correo la Minuta", ModExtensiones.TipoMensaje.MsgInformacion);
|
||||
Retorno = true;
|
||||
}
|
||||
@@ -1378,8 +1368,44 @@ public partial class OI_MinutaDetalle : ClsPaginas
|
||||
LnkTerminarMinuta_Click(null, null);
|
||||
}
|
||||
|
||||
public string GenerateIcsContent(DateTime FechaInicio, DateTime FechaFin, string Nombreorganizador, string Correoorganizador, string Ubicacion, string Asunto, string descripcion, string uuid)
|
||||
{
|
||||
var DTSTART = FechaInicio.ToUniversalTime().ToString("yyyyMMddTHHmmssZ");
|
||||
var DTEND = FechaFin.ToUniversalTime().ToString("yyyyMMddTHHmmssZ");
|
||||
|
||||
|
||||
/*
|
||||
BEGIN:VCALENDAR
|
||||
VERSION:2.0
|
||||
PRODID:-//hacksw/handcal//NONSGML v1.0//EN
|
||||
BEGIN:VEVENT
|
||||
UID:uid1@example.com
|
||||
DTSTAMP:19970714T170000Z
|
||||
ORGANIZER;CN=John Doe:MAILTO:john.doe@example.com
|
||||
DTSTART:19970714T170000Z
|
||||
DTEND:19970715T035959Z
|
||||
SUMMARY:Bastille Day Party
|
||||
END:VEVENT
|
||||
END:VCALENDAR
|
||||
*/
|
||||
StringBuilder strICS = new StringBuilder();
|
||||
strICS.Append("BEGIN:VCALENDAR");
|
||||
strICS.Append("VERSION:2.0");
|
||||
strICS.Append("METHOD:PUBLISH");
|
||||
strICS.Append("BEGIN:VEVENT");
|
||||
strICS.AppendFormat("ORGANIZER;CN={0}:MAILTO:{1}", Nombreorganizador.Replace(":", "").Replace(";", ""), Correoorganizador);
|
||||
strICS.AppendFormat("DTSTART:{0}", DTSTART);
|
||||
strICS.AppendFormat("DTEND:{0}", DTEND);
|
||||
strICS.AppendFormat("LOCATION:{0}", Ubicacion);
|
||||
strICS.AppendFormat("UID:{0}", uuid);
|
||||
strICS.AppendFormat("DTSTAMP:{0}", DateTime.Now.ToUniversalTime().ToString("yyyyMMddTHHmmssZ"));
|
||||
strICS.AppendFormat("SUMMARY:{0}", Asunto);
|
||||
strICS.AppendFormat("DESCRIPTION:{0}", descripcion);
|
||||
strICS.Append("PRIORITY:5");
|
||||
strICS.Append("CLASS:PUBLIC");
|
||||
strICS.Append("END:VEVENT");
|
||||
strICS.Append("END:VCALENDAR");
|
||||
return strICS.ToString();
|
||||
}
|
||||
|
||||
|
||||
protected void LnkOpenModalAsistencia_Click(object sender, EventArgs e)
|
||||
|
||||
494
OI/Proyecto.aspx
494
OI/Proyecto.aspx
@@ -31,12 +31,17 @@
|
||||
padding-left: 10px;
|
||||
line-height: 25px;
|
||||
}
|
||||
|
||||
.gantt-samples-banner_controls_bar.controls_bar, .gantt_scale_line .gantt_scale_cell, .gantt_grid_scale .gantt_grid_head_cell, .gantt_grid_scale .gantt_grid_head_cell a, .gantt_grid_scale .gantt_grid_head_cell a:hover {
|
||||
background-color: #95a5a6 !important;
|
||||
color: #FFF !important;
|
||||
}
|
||||
</style>
|
||||
<%--<link href="/Metronic/assets/global/plugins/GantJS/jsgantt.css" rel="stylesheet" type="text/css" />--%>
|
||||
<link rel="stylesheet" href="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.css" type="text/css">
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
Proyecto:
|
||||
Proyecto:<asp:Label ID="LblAsunto" runat="server" Text=""></asp:Label>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content4" ContentPlaceHolderID="HB" runat="Server">
|
||||
</asp:Content>
|
||||
@@ -58,143 +63,146 @@
|
||||
|
||||
<ContentTemplate>
|
||||
|
||||
<div class="gantt-samples-banner_controls_bar controls_bar">
|
||||
<div class="gantt-samples-banner_controls_bar controls_bar">
|
||||
|
||||
<strong>Formato: </strong>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="week">
|
||||
<span>Horas</span></label>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="trplweek" checked="true">
|
||||
<span>Día</span></label>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="year">
|
||||
<span>Mes</span></label>
|
||||
<strong>Formato: </strong>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="week">
|
||||
<span>Horas</span></label>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="trplweek" checked="true">
|
||||
<span>Día</span></label>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="year">
|
||||
<span>Mes</span></label>
|
||||
<label>
|
||||
<input name="scales" onclick="zoom_tasks(this)" type="radio" value="yearyear">
|
||||
<span>año</span></label>
|
||||
|
||||
<div id="filter_hours" style="display: none;">
|
||||
<div id="filter_hours" style="display: none;">
|
||||
|
||||
<span> | </span>
|
||||
<strong>Mostrar: </strong>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="full_day">
|
||||
<span>Dia Completo</span>
|
||||
</label>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="work_hours">
|
||||
<span>Horario de Oficina</span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="filter_days" style="">
|
||||
<span> | </span>
|
||||
<strong>Mostrar: </strong>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="full_day">
|
||||
<span>Dia Completo</span>
|
||||
</label>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="work_hours">
|
||||
<span>Horario de Oficina</span>
|
||||
</label>
|
||||
</div>
|
||||
<div id="filter_days" style="">
|
||||
|
||||
<span> | </span>
|
||||
<strong>Mostrar: </strong>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="full_week">
|
||||
<span>Semana completa</span>
|
||||
</label>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="work_week">
|
||||
<span>Dias de Trabajo</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gantt_here" style='width: 100%; height: 100vh;'></div>
|
||||
<span> | </span>
|
||||
<strong>Mostrar: </strong>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="full_week">
|
||||
<span>Semana completa</span>
|
||||
</label>
|
||||
<label>
|
||||
<input name="scales_filter" onclick="set_scale_units(this)" type="radio" value="work_week">
|
||||
<span>Dias de Trabajo</span>
|
||||
</label>
|
||||
</div>
|
||||
</div>
|
||||
<div id="gantt_here" style='width: 100%; height: 100vh;'></div>
|
||||
|
||||
<div id='<%= iddivAgregarProyecto %>' class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpModalProyecto" 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">×</span> </button>
|
||||
<h4 class="modal-title" style="text-align: left">
|
||||
<asp:Literal ID="LtlTituloNewProyecto" runat="server">Proyecto</asp:Literal></h4>
|
||||
</div>
|
||||
<div class="modal-body">
|
||||
|
||||
<asp:Panel runat="server" ID="portletTarea" class="portlet light smmallpadding bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Nuevo</span>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</div>
|
||||
<div id='<%= iddivAgregarProyecto %>' class="modal ADS fade" role="dialog">
|
||||
<div class="modal-dialog">
|
||||
<asp:UpdatePanel ID="UpModalProyecto" 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">×</span> </button>
|
||||
<h4 class="modal-title" style="text-align: left">
|
||||
<asp:Literal ID="LtlTituloNewProyecto" runat="server">Proyecto</asp:Literal></h4>
|
||||
</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 class="modal-body">
|
||||
|
||||
<div class="form-group form-md-line-input">
|
||||
<asp:DropDownList ID="DdlPara" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveUsuario" DataTextField="Nombre" Width="100%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:Label runat="server" AssociatedControlID="DdlPara">Para:</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 ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVtxtFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label AssociatedControlID="txtFechaI" runat="server" Text="Fecha Inicio"></asp:Label>
|
||||
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
|
||||
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<asp:Panel runat="server" ID="portletTarea" class="portlet light smmallpadding bordered">
|
||||
<div class="portlet-title">
|
||||
<div class="caption font-green">
|
||||
<i class="icon-pin font-green"></i>
|
||||
<span class="caption-subject bold uppercase">Nuevo</span>
|
||||
</div>
|
||||
<div class="tools">
|
||||
<a href="javascript:;" class="collapse" data-original-title="" title=""></a>
|
||||
</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 ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVtxtFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label AssociatedControlID="txtFechaF" runat="server" Text="Fecha Fin"></asp:Label>
|
||||
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
|
||||
<ajax:ValidatorCalloutExtender ID="VcoFechaF" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
<div 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>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group form-md-line-input">
|
||||
<asp:DropDownList ID="DdlPrioridad" runat="server" CssClass="form-control select2me input-sm" Width="100%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
<asp:ListItem Text="Baja" Value="1" class="itembaja"></asp:ListItem>
|
||||
<asp:ListItem Text="Media" Value="2" class="itemmedia"></asp:ListItem>
|
||||
<asp:ListItem Text="Alta" Value="3" class="itemalta"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVPrioridad" runat="server" ControlToValidate="DdlPrioridad" Display="None" ErrorMessage="El campo <b>''Prioridad''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label runat="server" AssociatedControlID="DdlPrioridad">Prioridad:</asp:Label>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOPrio" runat="server" TargetControlID="RFVPrioridad" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
<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>
|
||||
<div class="col-sm-6">
|
||||
|
||||
<div class="form-group form-md-line-input">
|
||||
<asp:DropDownList ID="DdlTema" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveRevision" DataTextField="Revision" Width="100%">
|
||||
<asp:DropDownList ID="DdlPara" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveUsuario" DataTextField="Nombre" Width="100%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:Label runat="server" AssociatedControlID="DdlTema">Tema:</asp:Label>
|
||||
<asp:Label runat="server" AssociatedControlID="DdlPara">Para:</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 ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px "></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVtxtFechaI" runat="server" ControlToValidate="txtFechaI" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Inicio''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label AssociatedControlID="txtFechaI" runat="server" Text="Fecha Inicio"></asp:Label>
|
||||
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
|
||||
<ajax:ValidatorCalloutExtender ID="VcoFechaI" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaI" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="input-group form-group form-md-line-input date date-picker " data-date-format="dd/mm/yyyy hh:mm" style="display: inline-block;">
|
||||
<asp:TextBox ID="txtFechaF" runat="server" autocomplete="false" CssClass="form-control ADDateTimePicker" CausesValidation="true" MaxLength="18" Width="132px " placeholder=""></asp:TextBox>
|
||||
<asp:RequiredFieldValidator ID="RFVtxtFechaF" runat="server" ControlToValidate="txtFechaF" Display="None" ErrorMessage="<b><span style='text-decoration: underline'>ERROR:</span></b><br />El campo <b>''Fecha Fin''</b> es necesario, por favor seleccione uno." ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label AssociatedControlID="txtFechaF" runat="server" Text="Fecha Fin"></asp:Label>
|
||||
<%--<ajax:MaskedEditExtender ID="MEEFechaI" runat="server" TargetControlID="txtFechaI" Mask="99/99/9999 99:99" MaskType="DateTime" DisplayMoney="Left" AcceptNegative="Left"></ajax:MaskedEditExtender>--%>
|
||||
<ajax:ValidatorCalloutExtender ID="VcoFechaF" runat="server" HighlightCssClass="vco" TargetControlID="RFVtxtFechaF" Width="350px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group form-md-line-input">
|
||||
<asp:DropDownList ID="DdlPrioridad" runat="server" CssClass="form-control select2me input-sm" Width="100%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
<asp:ListItem Text="Baja" Value="1" class="itembaja"></asp:ListItem>
|
||||
<asp:ListItem Text="Media" Value="2" class="itemmedia"></asp:ListItem>
|
||||
<asp:ListItem Text="Alta" Value="3" class="itemalta"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:RequiredFieldValidator ID="RFVPrioridad" runat="server" ControlToValidate="DdlPrioridad" Display="None" ErrorMessage="El campo <b>''Prioridad''</b> es necesario, por favor seleccione uno." InitialValue="-1" ValidationGroup="GrpTarea"></asp:RequiredFieldValidator>
|
||||
<asp:Label runat="server" AssociatedControlID="DdlPrioridad">Prioridad:</asp:Label>
|
||||
<ajax:ValidatorCalloutExtender ID="VCOPrio" runat="server" TargetControlID="RFVPrioridad" HighlightCssClass="vco" Width="300px"></ajax:ValidatorCalloutExtender>
|
||||
</div>
|
||||
</div>
|
||||
<div class="col-sm-6">
|
||||
<div class="form-group form-md-line-input">
|
||||
<asp:DropDownList ID="DdlTema" runat="server" CssClass="form-control select2me input-sm" DataValueField="CveRevision" DataTextField="Revision" Width="100%">
|
||||
<asp:ListItem Selected="True" Text="Seleccione" Value="-1"></asp:ListItem>
|
||||
</asp:DropDownList>
|
||||
<asp:Label runat="server" AssociatedControlID="DdlTema">Tema:</asp:Label>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</asp:Panel>
|
||||
<asp:TextBox ID="txtCveEvento" CssClass="hidden txtCveEvento" runat="server"></asp:TextBox>
|
||||
<asp:Button ID="BtnopenmodalClickGant" OnClick="BtnopenmodalClickGant_Click" CssClass="hidden BtnopenmodalClickGant" UseSubmitBehavior="false" runat="server" Text="Button" />
|
||||
</div>
|
||||
</asp:Panel>
|
||||
<asp:TextBox ID="txtCveEvento" CssClass="hidden txtCveEvento" runat="server"></asp:TextBox>
|
||||
<asp:Button ID="BtnopenmodalClickGant" OnClick="BtnopenmodalClickGant_Click" CssClass="hidden BtnopenmodalClickGant" UseSubmitBehavior="false" runat="server" Text="Button" />
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="btnguardarProyecto" OnClick="btnguardarProyecto_Click" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
|
||||
<button data-dismiss="modal" class="btn btn-danger">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
<div class="modal-footer">
|
||||
<asp:LinkButton ID="btnguardarProyecto" OnClick="btnguardarProyecto_Click" CssClass="btn btn-primary" runat="server">Guardar</asp:LinkButton>
|
||||
<button data-dismiss="modal" class="btn btn-danger">Cancelar</button>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</div>
|
||||
</div>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
<script src="/Metronic/assets/global/plugins/dhtmlxgantt/dhtmlxgantt.js"></script>
|
||||
@@ -204,129 +212,141 @@
|
||||
|
||||
|
||||
<script>
|
||||
let RCveEvento =<%= RCveEvento %>;
|
||||
function NuevoEvento(CveEvento) {
|
||||
$('.txtCveEvento').val(CveEvento);
|
||||
$('.BtnopenmodalClickGant').click();
|
||||
}
|
||||
function zoom_tasks(node) {
|
||||
switch (node.value) {
|
||||
case "week":
|
||||
gantt.config.scale_unit = "day";
|
||||
gantt.config.date_scale = "%d %M";
|
||||
function zoom_tasks(node) {
|
||||
switch (node.value) {
|
||||
case "week":
|
||||
gantt.config.scale_unit = "day";
|
||||
gantt.config.date_scale = "%d %M";
|
||||
|
||||
gantt.config.scale_height = 60;
|
||||
gantt.config.min_column_width = 30;
|
||||
gantt.config.subscales = [
|
||||
{ unit: "hour", step: 1, date: "%H" }
|
||||
];
|
||||
show_scale_options("hour");
|
||||
break;
|
||||
case "trplweek":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "day";
|
||||
gantt.config.date_scale = "%d %M";
|
||||
gantt.config.subscales = [];
|
||||
gantt.config.scale_height = 35;
|
||||
show_scale_options("day");
|
||||
break;
|
||||
case "month":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "week";
|
||||
gantt.config.date_scale = "Week #%W";
|
||||
gantt.config.subscales = [
|
||||
{ unit: "day", step: 1, date: "%D" }
|
||||
];
|
||||
show_scale_options();
|
||||
gantt.config.scale_height = 60;
|
||||
break;
|
||||
case "year":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "month";
|
||||
gantt.config.date_scale = "%M";
|
||||
gantt.config.scale_height = 60;
|
||||
show_scale_options();
|
||||
gantt.config.subscales = [
|
||||
{ unit: "week", step: 1, date: "#%W" }
|
||||
];
|
||||
break;
|
||||
}
|
||||
set_scale_units();
|
||||
gantt.render();
|
||||
gantt.config.scale_height = 60;
|
||||
gantt.config.min_column_width = 30;
|
||||
gantt.config.subscales = [
|
||||
{ unit: "hour", step: 1, date: "%H" }
|
||||
];
|
||||
show_scale_options("hour");
|
||||
break;
|
||||
case "trplweek":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "day";
|
||||
gantt.config.date_scale = "%d %M";
|
||||
gantt.config.subscales = [];
|
||||
gantt.config.scale_height = 35;
|
||||
show_scale_options("day");
|
||||
break;
|
||||
case "month":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "week";
|
||||
gantt.config.date_scale = "Week #%W";
|
||||
gantt.config.subscales = [
|
||||
{ unit: "day", step: 1, date: "%D" }
|
||||
];
|
||||
show_scale_options();
|
||||
gantt.config.scale_height = 60;
|
||||
break;
|
||||
case "year":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "month";
|
||||
gantt.config.date_scale = "%M";
|
||||
gantt.config.scale_height = 60;
|
||||
show_scale_options();
|
||||
gantt.config.subscales = [
|
||||
{ unit: "week", step: 1, date: "#%W" }
|
||||
];
|
||||
break;
|
||||
case "yearyear":
|
||||
gantt.config.min_column_width = 70;
|
||||
gantt.config.scale_unit = "month";
|
||||
gantt.config.date_scale = "%y %M";
|
||||
gantt.config.scale_height = 60;
|
||||
show_scale_options();
|
||||
gantt.config.subscales = [
|
||||
{ unit: "month", step: 1, date: "#%M" }
|
||||
];
|
||||
break;
|
||||
}
|
||||
function show_scale_options(mode) {
|
||||
var hourConf = document.getElementById("filter_hours"),
|
||||
dayConf = document.getElementById("filter_days");
|
||||
if (mode == 'day') {
|
||||
hourConf.style.display = "none";
|
||||
dayConf.style.display = "";
|
||||
dayConf.getElementsByTagName("input")[0].checked = true;
|
||||
} else if (mode == "hour") {
|
||||
hourConf.style.display = "";
|
||||
dayConf.style.display = "none";
|
||||
hourConf.getElementsByTagName("input")[0].checked = true;
|
||||
} else {
|
||||
hourConf.style.display = "none";
|
||||
dayConf.style.display = "none";
|
||||
}
|
||||
set_scale_units();
|
||||
gantt.render();
|
||||
}
|
||||
function show_scale_options(mode) {
|
||||
var hourConf = document.getElementById("filter_hours"),
|
||||
dayConf = document.getElementById("filter_days");
|
||||
if (mode == 'day') {
|
||||
hourConf.style.display = "none";
|
||||
dayConf.style.display = "";
|
||||
dayConf.getElementsByTagName("input")[0].checked = true;
|
||||
} else if (mode == "hour") {
|
||||
hourConf.style.display = "";
|
||||
dayConf.style.display = "none";
|
||||
hourConf.getElementsByTagName("input")[0].checked = true;
|
||||
} else {
|
||||
hourConf.style.display = "none";
|
||||
dayConf.style.display = "none";
|
||||
}
|
||||
function set_scale_units(mode) {
|
||||
if (mode && mode.getAttribute) {
|
||||
mode = mode.getAttribute("value");
|
||||
}
|
||||
|
||||
switch (mode) {
|
||||
case "work_hours":
|
||||
gantt.config.subscales = [
|
||||
{ unit: "hour", step: 1, date: "%H" }
|
||||
];
|
||||
gantt.ignore_time = function (date) {
|
||||
if (date.getHours() < 9 || date.getHours() > 16) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
break;
|
||||
case "full_day":
|
||||
gantt.config.subscales = [
|
||||
{ unit: "hour", step: 3, date: "%H" }
|
||||
];
|
||||
gantt.ignore_time = null;
|
||||
break;
|
||||
case "work_week":
|
||||
gantt.ignore_time = function (date) {
|
||||
if (date.getDay() == 0 || date.getDay() == 6) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
break;
|
||||
default:
|
||||
gantt.ignore_time = null;
|
||||
break;
|
||||
}
|
||||
gantt.render();
|
||||
}
|
||||
function set_scale_units(mode) {
|
||||
if (mode && mode.getAttribute) {
|
||||
mode = mode.getAttribute("value");
|
||||
}
|
||||
|
||||
switch (mode) {
|
||||
case "work_hours":
|
||||
gantt.config.subscales = [
|
||||
{ unit: "hour", step: 1, date: "%H" }
|
||||
];
|
||||
gantt.ignore_time = function (date) {
|
||||
if (date.getHours() < 9 || date.getHours() > 16) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
break;
|
||||
case "full_day":
|
||||
gantt.config.subscales = [
|
||||
{ unit: "hour", step: 3, date: "%H" }
|
||||
];
|
||||
gantt.ignore_time = null;
|
||||
break;
|
||||
case "work_week":
|
||||
gantt.ignore_time = function (date) {
|
||||
if (date.getDay() == 0 || date.getDay() == 6) {
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
};
|
||||
|
||||
break;
|
||||
default:
|
||||
gantt.ignore_time = null;
|
||||
break;
|
||||
}
|
||||
gantt.render();
|
||||
}
|
||||
var datosGant = [];
|
||||
function loadGant() {
|
||||
gantt.config.date_format = "%Y-%m-%d %H:%i";
|
||||
gantt.config.order_branch = true;
|
||||
gantt.i18n.setLocale("es");
|
||||
gantt.init("gantt_here");
|
||||
gantt.config.columns = [
|
||||
{ name: "text", label: "Proyecto ", width: "*", min_width: 350, tree: true, resize: true, template: function (obj) { return "<a href=\"/OI/TareaDetalle.aspx?CveEvento="+obj.id+"\" target=\"_Blank\">" + obj.text + " </a>" } },
|
||||
{ name: "text", label: "Proyecto ", width: "*", min_width: 350, tree: true, resize: true, template: function (obj) { return "<a href=\"/OI/TareaDetalle.aspx?CveEvento=" + obj.id + "\" target=\"_Blank\">" + obj.text + " </a>" } },
|
||||
{ name: "start_date", label: "Inicio", min_width: 90, align: "center" },
|
||||
{ name: "end_date", label: "Fin", min_width: 90, align: "center" },
|
||||
{ name: "progress", label: "Avance", align: "center", template: function (obj) { return "" + (obj.progress * 100) + " %" } },
|
||||
{ name: "duration", label: "Duracion", align: "center" },
|
||||
{ name: "new", label: "<i class='fa fa-plus'></i>", align: "center",template: function (obj) { return "<a onclick=\"NuevoEvento("+obj.id+");\" target=\"_Blank\"><i class='fa fa-plus'></i> </a>" } }
|
||||
{ name: "progress", label: "Avance", align: "center", template: function (obj) { return "" + (obj.progress * 100).toFixed(2) + " %" } },
|
||||
{ name: "duration", label: "Duración", align: "center" },
|
||||
{ name: "new", label: "<a onclick=\"NuevoEvento(" + RCveEvento + ");\" target=\"_Blank\"><i class='fa fa-plus'></i></a>", align: "center", template: function (obj) { return "<a onclick=\"NuevoEvento(" + obj.id + ");\" target=\"_Blank\"><i class='fa fa-plus'></i> </a>" } }
|
||||
/*{name:"staff", label:"Holder(s)", template:function(obj){return obj.holder+"("+obj.progress+")"} },*/
|
||||
//{ name: "add", label: "" }
|
||||
];
|
||||
gantt.parse({
|
||||
data:datosGant
|
||||
data: datosGant
|
||||
//data: [
|
||||
// { id: 1, text: "Apertura de Sucursal", start_date: null, duration: null, parent: 0, progress: 0, open: true },
|
||||
// { id: 2, text: "Direccion: evaluación de mercado", start_date: "2020/04/29 00:00", end_date: "2020/05/02 00:00",/*duration: 3,*/ parent: 1, progress: 0.25 },
|
||||
@@ -336,7 +356,7 @@
|
||||
// { id: 6, text: "Propaganda,Mkt: Inaguración", start_date: "2020/05/05 00:00", duration: 6, parent: 1, progress: 0.1 },
|
||||
// //{id: 7, text: "", start_date: "2020/05/ 00:00", duration:5, parent:1, progress: 1},
|
||||
// //{id: 8, text: "", start_date: "2020/05/ 00:00", duration:5, parent:1, progress: 1},
|
||||
|
||||
|
||||
// { id: 7, text: "Asamblea Anual", start_date: null, duration: null, parent: 0, progress: 0, open: true },
|
||||
// { id: 8, text: "Contabilidad: Impuestos", start_date: "2020/05/05 00:00", duration: 13, parent: 7, progress: 0.6 },
|
||||
// { id: 9, text: "Contabilida: utilidad o pérdida", start_date: "2020/05/06 00:00", duration: 9, parent: 7, progress: 0.5 },
|
||||
@@ -351,14 +371,30 @@
|
||||
//]
|
||||
|
||||
/*,
|
||||
links:[
|
||||
{id:1, source:2, target:3, type:"0"},
|
||||
{id:2, source:3, target:4, type:"0"},
|
||||
{id:3, source:5, target:6, type:"0"}
|
||||
]*/
|
||||
links:[
|
||||
{id:1, source:2, target:3, type:"0"},
|
||||
{id:2, source:3, target:4, type:"0"},
|
||||
{id:3, source:5, target:6, type:"0"}
|
||||
]*/
|
||||
});
|
||||
}
|
||||
gantt.attachEvent("onBeforeTaskMove", function (id, parent, tindex) {
|
||||
console.log(tindex)
|
||||
var task = gantt.getTask(id);
|
||||
if (task.parent != parent)
|
||||
return false;
|
||||
return true;
|
||||
});
|
||||
|
||||
gantt.attachEvent("onRowDragEnd", function (id, target,tindex) {
|
||||
console.log(tindex)
|
||||
debugger;
|
||||
drag_id = null;
|
||||
gantt.render();
|
||||
});
|
||||
loadGant();
|
||||
|
||||
|
||||
</script>
|
||||
|
||||
<%--<script>
|
||||
|
||||
@@ -50,7 +50,14 @@ public partial class OI_Proyecto : ClsPaginas
|
||||
str.AppendLine("datosGant=[");
|
||||
using (ClsOIEventos oieve = new ClsOIEventos())
|
||||
{
|
||||
if (oieve.GetTareaConHijos(RCveEvento,UsuarioActual.CveEmpresa))
|
||||
|
||||
|
||||
if (oieve.GetEventos2(RCveEvento, UsuarioActual.CveEmpresa) && oieve.DtResultados.Rows.Count > 0)
|
||||
{
|
||||
System.Data.DataRow drow = oieve.DtResultados.Rows[0];
|
||||
LblAsunto.Text = drow["Asunto"].ToString();
|
||||
}
|
||||
if (oieve.GetTareaConHijos(RCveEvento,UsuarioActual.CveEmpresa))
|
||||
{
|
||||
foreach (System.Data.DataRow dr in oieve.DtResultados.Select("Nivel > 0"))
|
||||
{
|
||||
|
||||
@@ -5,17 +5,17 @@
|
||||
<asp:Content ID="Content2" ContentPlaceHolderID="Css" runat="Server">
|
||||
<style>
|
||||
.sortableList h4 {
|
||||
background-color: #EEE;
|
||||
background-color: #ccc;
|
||||
margin: 0px;
|
||||
padding-top: 10px;
|
||||
padding-bottom: 10px;
|
||||
text-align: center;
|
||||
font-weight: 500;
|
||||
font-weight: 600;
|
||||
}
|
||||
|
||||
.sortableList {
|
||||
border: 1px solid #eee;
|
||||
width: 250px;
|
||||
width: 258px;
|
||||
margin-right: 10px;
|
||||
}
|
||||
|
||||
@@ -31,7 +31,9 @@
|
||||
min-height: 20px;
|
||||
width: 250px;
|
||||
padding: 5px 0 0 0;
|
||||
margin: 0;
|
||||
background-color: #eee;
|
||||
border: dotted #ccc;
|
||||
margin: 4px;
|
||||
}
|
||||
|
||||
.sortableList ul li {
|
||||
@@ -45,17 +47,22 @@
|
||||
padding: 7px 35px 7px 5px;
|
||||
}
|
||||
|
||||
ul.ListSorter > li {
|
||||
background-color: #fff;
|
||||
float: left;
|
||||
}
|
||||
ul.ListSorter > li {
|
||||
background-color: #fff;
|
||||
float: left;
|
||||
}
|
||||
|
||||
.sortableList ul li .btn.edit {
|
||||
padding: 2px 4px;
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 4px;
|
||||
}
|
||||
.sortableList ul li .btn.edit {
|
||||
padding: 2px 4px;
|
||||
position: absolute;
|
||||
right: 5px;
|
||||
top: 4px;
|
||||
}
|
||||
|
||||
.bootomadd {
|
||||
padding: 4px;
|
||||
padding-bottom: 8px;
|
||||
}
|
||||
</style>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content3" ContentPlaceHolderID="E" runat="Server">
|
||||
@@ -99,7 +106,7 @@
|
||||
</ItemTemplate>
|
||||
</asp:Repeater>
|
||||
</ul>
|
||||
<div class="text-center">
|
||||
<div class="text-center bootomadd">
|
||||
|
||||
<%# String.Format("<a class=\"btn btn-default\" onclick=\"OpenModalNewTareaUserControl(1,-1,{{CveTableroLista:{0}}});\"> <i class=\"fa fa-plus\"'></i> </a>",Eval("CveTableroLista")) %>
|
||||
</div>
|
||||
@@ -170,15 +177,42 @@
|
||||
<asp:UpdatePanel runat="server" ID="Uppositionevento" UpdateMode="Conditional">
|
||||
<ContentTemplate>
|
||||
<asp:Button ID="BtnUpPosition" OnClick="BtnUpPosition_Click" runat="server" Text="Agregar" CssClass="btn btn-primary hidden BtnUpPosition" UseSubmitBehavior="false" ValidationGroup="VGMTablzxczxc" />
|
||||
<asp:TextBox ID="Txtcvetablerolista" CssClass=" hidden Txtcvetablerolista" runat="server"></asp:TextBox><asp:TextBox ID="txtCveEvento" CssClass="txtCveEvento hidden" runat="server"></asp:TextBox>
|
||||
<asp:TextBox ID="TxtCveOrdeList" CssClass=" hidden TxtCveOrdeList" runat="server"></asp:TextBox>
|
||||
<asp:Button ID="BtnOrderList" runat="server" OnClick="BtnOrderList_Click" CssClass="btn btn-primary hidden BtnOrderList" UseSubmitBehavior="false" ValidationGroup="VGMTablzxczxzc" />
|
||||
<asp:TextBox ID="Txtcvetablerolista" CssClass=" hidden Txtcvetablerolista" runat="server"></asp:TextBox>
|
||||
<asp:TextBox ID="txtCveEvento" CssClass="txtCveEvento hidden" runat="server"></asp:TextBox>
|
||||
</ContentTemplate>
|
||||
</asp:UpdatePanel>
|
||||
</asp:Content>
|
||||
<asp:Content ID="Content8" ContentPlaceHolderID="JS" runat="Server">
|
||||
<script>
|
||||
let CurrentorderList = ''
|
||||
function GetOrderList() {
|
||||
|
||||
let OrdeList = '';
|
||||
let separator = '';
|
||||
let Orden = 1;
|
||||
$('.ListSorter > li').each(function () {
|
||||
OrdeList = OrdeList + separator + Orden + ':' + $(this).data('cvetablerolista');
|
||||
separator = ',';
|
||||
Orden = Orden + 1;
|
||||
});
|
||||
return OrdeList;
|
||||
}
|
||||
function GetOrderListEvento(ulelement) {
|
||||
|
||||
let OrdeList = '';
|
||||
let separator = '';
|
||||
let Orden = 1;
|
||||
ulelement.find(' li').each(function () {
|
||||
OrdeList = OrdeList + separator + Orden + ':' + $(this).data('cveevento');
|
||||
separator = ',';
|
||||
Orden = Orden + 1;
|
||||
});
|
||||
return OrdeList;
|
||||
}
|
||||
function ADSReady() {
|
||||
|
||||
CurrentorderList = GetOrderList();
|
||||
var cvetablerolistaold = 0;
|
||||
var cvetablerolistanew = 0;
|
||||
|
||||
@@ -190,7 +224,16 @@
|
||||
setTimeout(function () {
|
||||
cvetablerolistanew = $(event.srcElement).data('cvetablerolista');
|
||||
//let cveevento = $(event.srcElement).data('cveevento');
|
||||
//$('.Txtcvetablerolista').val(cvetablerolistanew);
|
||||
|
||||
setTimeout(function () {
|
||||
let OrdeList = GetOrderList();
|
||||
$('.TxtCveOrdeList').val(OrdeList);
|
||||
console.log(OrdeList);
|
||||
if (CurrentorderList != OrdeList) {
|
||||
$('.BtnOrderList').click();
|
||||
}
|
||||
CurrentorderList = OrdeList;
|
||||
}, 20);
|
||||
//$('.txtCveEvento').val(cveevento);
|
||||
//$('.BtnUpPosition').click();
|
||||
}, 20);
|
||||
@@ -202,8 +245,11 @@
|
||||
start: function (event, ui) { cvetablerolistaold = $(event.srcElement).closest('ul').data('cvetablerolista'); },
|
||||
stop: function (event, ui) {
|
||||
setTimeout(function () {
|
||||
cvetablerolistanew = $(event.srcElement).closest('ul').data('cvetablerolista');
|
||||
let ulelement = $(event.srcElement).closest('ul');
|
||||
cvetablerolistanew = ulelement.data('cvetablerolista');
|
||||
let cveevento = $(event.srcElement).data('cveevento');
|
||||
let OrdeList = GetOrderListEvento(ulelement);
|
||||
$('.TxtCveOrdeList').val(OrdeList);
|
||||
$('.Txtcvetablerolista').val(cvetablerolistanew);
|
||||
$('.txtCveEvento').val(cveevento);
|
||||
$('.BtnUpPosition').click();
|
||||
|
||||
@@ -164,9 +164,42 @@ public partial class OI_TableroDetalle : ClsPaginas
|
||||
|
||||
protected void BtnUpPosition_Click(object sender, EventArgs e)
|
||||
{
|
||||
bool continuar = false;
|
||||
using (ClsOIEventos eveobj = new ClsOIEventos())
|
||||
{
|
||||
eveobj.UpEventoLista(Txtcvetablerolista.Text.ToEntero(), txtCveEvento.Text.ToEntero());
|
||||
eveobj.IniciaTransacSQL();
|
||||
continuar =eveobj.UpEventoLista(Txtcvetablerolista.Text.ToEntero(), txtCveEvento.Text.ToEntero());
|
||||
if (continuar)
|
||||
{
|
||||
List<string> orderlist = TxtCveOrdeList.Text.Split(',').ToList<string>();
|
||||
continuar = eveobj.OrdenaTareas(orderlist, UsuarioActual.CveEmpresa, UsuarioActual.CveUsuario);
|
||||
}
|
||||
|
||||
if (continuar)
|
||||
{
|
||||
eveobj.Commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
eveobj.RollBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
protected void BtnOrderList_Click(object sender, EventArgs e)
|
||||
{
|
||||
List<string> orderlist = TxtCveOrdeList.Text.Split(',').ToList<string>();
|
||||
using (ClsOIEventos eveobj = new ClsOIEventos())
|
||||
{
|
||||
eveobj.IniciaTransacSQL();
|
||||
if(eveobj.OrdenaListas(orderlist,UsuarioActual.CveEmpresa,UsuarioActual.CveUsuario))
|
||||
{
|
||||
eveobj.Commit();
|
||||
}
|
||||
else
|
||||
{
|
||||
eveobj.RollBack();
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
10
vwd.webinfo
10
vwd.webinfo
@@ -86,6 +86,16 @@
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user