Browse Source

【修改】网上办事大厅拖拽版:查找服务、登录、退出;

master
dyy 3 years ago
parent
commit
0327bdb5b7
13 changed files with 3740 additions and 2059 deletions
  1. +1763
    -1655
      Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index.css
  2. +2
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/login5.css
  3. +112
    -81
      Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/main.js
  4. +21
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs
  5. +118
    -2
      Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs
  6. +1
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj
  7. +12
    -3
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/LoginForWeixin.cshtml
  8. +117
    -108
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragModelOne.cshtml
  9. +113
    -62
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragModelTwo.cshtml
  10. +237
    -101
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragNoLogin.cshtml
  11. +1184
    -0
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragNoWxLogin.cshtml
  12. +53
    -43
      Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/_LayoutSSODrag.cshtml
  13. +7
    -0
      Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/Module/ModuleEntity.cs

+ 1763
- 1655
Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index.css
File diff suppressed because it is too large
View File


+ 2
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/login5.css View File

@@ -132,8 +132,8 @@
position: relative;
}

#code {
width: 170px;
#lr_verifycode_input {
width: 170px;
}

.variCode {


+ 112
- 81
Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/main.js View File

@@ -2,90 +2,121 @@
var skinLink = $('#skinLink');
var skins = localStorage.getItem('skinLink');
skins ? skinLink.attr('href', '/Content/css/DragSSO/' + skins + '.css') : '';
$(document).ready(function() {
if(skins){
$(document).ready(function () {
if (skins) {
skinLink.attr('href', '/Content/css/DragSSO/' + skins + '.css');
$('.skins[skin="'+ skins +'"]').addClass('active').siblings().removeClass('active');
}
var qrCodeBox = $('.qrCodeBox');
var loginForm = $('#loginForm');
var qrcode = new QRCode(document.getElementById("qrCode"), {
width: 200,
height: 200
});
makeCode('http://192.168.1.126:8081/Login/Index')
// header search
$(document).on('click', function() {
$('.skinBox').removeClass('active');
}).on('click', '.headSearch', function() {
$('body').addClass('active');
}).on('click', '.searchTopList li', function() {
if ($(this).hasClass('active')) return;
$(this).addClass('active').siblings().removeClass('active');
}).on('click', '.headSearchClose', function(e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault) {
e.preventDefault();
} else { //IE中阻止函数器默认动作的方式
window.e.returnValue = false;
}
e.stopPropagation();
$('body').removeClass('active');
})
//登录
$('.loginTab > div').click(function() {
var ind = $(this).index();
$(this).addClass('active').siblings().removeClass('active');
if (ind == 0) {
qrCodeBox.css('display', 'none');
loginForm.stop().fadeIn();
} else {
loginForm.css('display', 'none');
qrCodeBox.stop().fadeIn();
}
})
//皮肤点击
var skinT = null;
$('.skinBox').on('click', 'img', function(e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault) {
e.preventDefault();
} else { //IE中阻止函数器默认动作的方式
window.e.returnValue = false;
}
e.stopPropagation();
var parents = $(this).parent();
if (parents.hasClass('active')) {
parents.removeClass('active');
} else {
parents.addClass('active');
}
$('.skins[skin="' + skins + '"]').addClass('active').siblings().removeClass('active');
}
var qrCodeBox = $('.qrCodeBox');
var loginForm = $('#loginForm');
//var qrcode = new QRCode(document.getElementById("qrCode"), {
// width: 200,
// height: 200
//});
//makeCode('http://192.168.1.126:8081/Login/Index');
// header search
$(document).on('click', function () {
$('.skinBox').removeClass('active');
}).on('click', '.headSearch', function () {
$('body').addClass('active');
}).on('click', '.searchTopList li', function () {
if ($(this).hasClass('active')) return;
$(this).addClass('active').siblings().removeClass('active');
}).on('click', '.headSearchClose', function (e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault) {
e.preventDefault();
} else { //IE中阻止函数器默认动作的方式
window.e.returnValue = false;
}
e.stopPropagation();
$('body').removeClass('active');
}).on('click', '.signOut', function () { //退出登录
//ajax退出操作
layer.msg('退出中...', {
icon: 16
, shade: 0.01
});
$.ajax({
url: "/Login/OutLogin",
headers: { __RequestVerificationToken: $.lrToken },
data: {},
type: "post",
dataType: "json",
success: function (res) {
if (res.code == 200) {
location.href = "/SSOSystem/DragNoLogin";
}
else if (res.code == 400) {
layer.msg(res.info);
}
else if (res.code == 500) {
layer.msg('服务端异常,请联系管理员');
}
}
});
}).on('click', '.inSec1List2 .fa', function () {
//是否收藏
if ($(this).hasClass('fa-heart')) {
$(this).removeClass('fa-heart').addClass('fa-heart-o');
} else {
$(this).removeClass('fa-heart-o').addClass('fa-heart');
}
});
//登录
$('.loginTab > div').click(function () {
var ind = $(this).index();
$(this).addClass('active').siblings().removeClass('active');
if (ind == 0) {
qrCodeBox.css('display', 'none');
loginForm.stop().fadeIn();
} else {
loginForm.css('display', 'none');
qrCodeBox.stop().fadeIn();
}
})
//皮肤点击
var skinT = null;
$('.skinBox').on('click', 'img', function (e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault) {
e.preventDefault();
} else { //IE中阻止函数器默认动作的方式
window.e.returnValue = false;
}
e.stopPropagation();
var parents = $(this).parent();
if (parents.hasClass('active')) {
parents.removeClass('active');
} else {
parents.addClass('active');
}

}).hover(function() {
clearTimeout(skinT)
}, function() {
var _this = $(this);
skinT = setTimeout(function() {
_this.removeClass('active');
}, 2000)
}).on('click', '.skins', function(e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault) {
e.preventDefault();
} else { //IE中阻止函数器默认动作的方式
window.e.returnValue = false;
}
e.stopPropagation();
$(this).addClass('active').siblings().removeClass('active');
var skin = $(this).attr('skin');
localStorage.setItem('skinLink', skin);
}).hover(function () {
clearTimeout(skinT)
}, function () {
var _this = $(this);
skinT = setTimeout(function () {
_this.removeClass('active');
}, 2000)
}).on('click', '.skins', function (e) {
//阻止默认浏览器动作(W3C)
if (e && e.preventDefault) {
e.preventDefault();
} else { //IE中阻止函数器默认动作的方式
window.e.returnValue = false;
}
e.stopPropagation();
$(this).addClass('active').siblings().removeClass('active');
var skin = $(this).attr('skin');
localStorage.setItem('skinLink', skin);
skinLink.attr('href', '/Content/css/DragSSO/' + skin + '.css');
}).on('click', '.skinT img', function() {
$('.skinBox').removeClass('active');
})
}).on('click', '.skinT img', function () {
$('.skinBox').removeClass('active');
})

function makeCode(urls) {
qrcode.makeCode(urls);
}
function makeCode(urls) {
qrcode.makeCode(urls);
}
})


+ 21
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs View File

@@ -863,9 +863,19 @@ namespace Learun.Application.Web.Controllers
string secret = weichatdevelop.secret;
ViewBag.login = Request.QueryString["login"];
ViewBag.CODE = Request.QueryString["CODE"];
//页面来源(source=DragNoLogin为网上办事大厅拖拽版)
ViewBag.source = Request.QueryString["source"];
if (!string.IsNullOrEmpty(ViewBag.login))
{
return Redirect("https://open.weixin.qq.com/connect/qrconnect?appid=" + appid + "&redirect_uri=" + redirect_url + "%2fLogin%2fLoginForWeixin&response_type=code&scope=snsapi_login&state=one#wechat_redirect");
if (ViewBag.source == "DragNoLogin")
{
var aa = HttpUtility.UrlEncode("/Login/LoginForWeixin?source=" + ViewBag.source);
return Redirect("https://open.weixin.qq.com/connect/qrconnect?appid=" + appid + "&redirect_uri=" + redirect_url + aa + "&response_type=code&scope=snsapi_login&state=one#wechat_redirect");
}
else
{
return Redirect("https://open.weixin.qq.com/connect/qrconnect?appid=" + appid + "&redirect_uri=" + redirect_url + "%2fLogin%2fLoginForWeixin&response_type=code&scope=snsapi_login&state=one#wechat_redirect");
}
}
else
{
@@ -883,6 +893,8 @@ namespace Learun.Application.Web.Controllers
public ActionResult DoWeixinLogin()
{
string openId = Request["openId"];
//页面来源(source=DragNoLogin为网上办事大厅拖拽版)
string source = Request["source"];
var userEntity = userBll.GetEntityByWeixinOpenIdPC(openId);
if (userEntity != null)
{
@@ -905,7 +917,7 @@ namespace Learun.Application.Web.Controllers
}
else
{
return Success("帐号还未关联,请先关联帐号", new { returnurl = "/Login/RegisterBind?WeixinOpenId=" + openId + "" });
return Success("帐号还未关联,请先关联帐号", new { returnurl = "/Login/RegisterBind?WeixinOpenId=" + openId + "&source=" + source + "" });
}
}

@@ -913,6 +925,8 @@ namespace Learun.Application.Web.Controllers
{
string QQOpenId = Request["QQOpenId"];
string WeixinOpenId = Request["WeixinOpenId"];
//页面来源(source=DragNoLogin为网上办事大厅拖拽版)
string source = Request["source"];
ViewBag.WeixinOpenId = WeixinOpenId;
ViewBag.QQOpenId = QQOpenId;

@@ -931,6 +945,11 @@ namespace Learun.Application.Web.Controllers
ViewBag.Ip = GetIP();
ViewBag.ACIp = ConfigurationManager.AppSettings["ACIp"] ?? "";
ViewBag.ACIp2 = ConfigurationManager.AppSettings["ACIp2"] ?? "";
//判断页面来源
if (source == "DragNoLogin")
{
return Redirect("/SSOSystem/DragNoWxLogin?QQOpenId=" + QQOpenId + "&WeixinOpenId=" + WeixinOpenId + "");
}
//获取登录页风格
var pageEntity = loginModelIbll.FindEnablePage();
if (pageEntity == null)


+ 118
- 2
Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs View File

@@ -51,6 +51,8 @@ namespace Learun.Application.Web.Controllers
private CdLessonTypeIBLL cdLessonTypeIBLL = new CdLessonTypeBLL();
private BCdCultureDegreeIBLL bCdCultureDegreeIBLL = new BCdCultureDegreeBLL();
private StuScoreNotPassIBLL stuScoreNotPassIBLL = new StuScoreNotPassBLL();
private Sys_QRCodeInLoginIBLL sys_QRCodeInLoginIBLL = new Sys_QRCodeInLoginBLL();
private TeachSwitchIBLL teachSwitchIBLL = new TeachSwitchBLL();

#region 统一身份认证2.0
/// <summary>
@@ -860,6 +862,55 @@ namespace Learun.Application.Web.Controllers
/// <returns></returns>
public ActionResult DragNoLogin()
{
//获取错误次数
ViewBag.errornum = OperatorHelper.Instance.GetCurrentErrorNum();
//获取高职版跳转地址
ViewBag.DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"];
ViewBag.Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port;
//获取登录页二维码配置信息
ViewBag.HasQRCode = false;
var qrcodelist = sys_QRCodeInLoginIBLL.GetList().ToList().Where(x => x.EnabledMark == 1).OrderByDescending(x => x.CreateTime);
if (qrcodelist.Any())
{
ViewBag.HasQRCode = true;
ViewBag.QRCodeUrl = qrcodelist.FirstOrDefault().QRCodeUrl;
ViewBag.QRCodeText = qrcodelist.FirstOrDefault().Title;
}
//微信快捷登录
var result4 = teachSwitchIBLL.FindFirst("wxloginforpc");
ViewBag.WeixinLoginSwitch = result4;


return View();
}

/// <summary>
/// 网上办事大厅拖拽版-未登录页面-微信登录
/// </summary>
/// <returns></returns>
public ActionResult DragNoWxLogin()
{
string QQOpenId = Request.QueryString["QQOpenId"];
string WeixinOpenId = Request.QueryString["WeixinOpenId"];
ViewBag.WeixinOpenId = WeixinOpenId;
ViewBag.QQOpenId = QQOpenId;

//获取错误次数
ViewBag.errornum = OperatorHelper.Instance.GetCurrentErrorNum();
//获取高职版跳转地址
ViewBag.DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"];
ViewBag.Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port;
//获取登录页二维码配置信息
ViewBag.HasQRCode = false;
var qrcodelist = sys_QRCodeInLoginIBLL.GetList().ToList().Where(x => x.EnabledMark == 1).OrderByDescending(x => x.CreateTime);
if (qrcodelist.Any())
{
ViewBag.HasQRCode = true;
ViewBag.QRCodeUrl = qrcodelist.FirstOrDefault().QRCodeUrl;
ViewBag.QRCodeText = qrcodelist.FirstOrDefault().Title;
}


return View();
}
/// <summary>
@@ -1015,7 +1066,7 @@ namespace Learun.Application.Web.Controllers
//常用服务
List<ModuleEntity> modulelist = new List<ModuleEntity>();
List<string> offenused = LogBLL.GetGroupLog(userInfo.userId).Select(m => m.F_Module).Take(20).ToList();
var moduledata = moduleIBLL.GetModuleList().Where(m => m.F_EnabledMark == 1 && m.F_DeleteMark == 0 && !string.IsNullOrEmpty(m.F_UrlAddress));
var moduledata = moduleIBLL.GetModuleList().Where(m => m.F_EnabledMark == 1 && m.F_DeleteMark == 0 && !string.IsNullOrEmpty(m.F_UrlAddress) && m.F_IsMenu == 1 && m.F_Target == "iframe" && !string.IsNullOrEmpty(m.F_ParentId));
foreach (var oitem in offenused)
{
ModuleEntity fod = moduledata.FirstOrDefault(m => m.F_FullName == oitem);
@@ -1024,12 +1075,24 @@ namespace Learun.Application.Web.Controllers
modulelist.Add(fod);
}
}
ViewBag.OffenusedAll = modulelist;
ViewBag.OffenusedJiao = modulelist.Where(x => x.F_FullName.Contains("教"));
ViewBag.OffenusedGuan = modulelist.Where(x => x.F_FullName.Contains("管理"));
ViewBag.Offenused = modulelist.Except(modulelist.Where(x => x.F_FullName.Contains("教") || x.F_FullName.Contains("管理"))).Take(6);
ViewBag.OffenusedJiaoStr = JsonConvert.SerializeObject(ViewBag.OffenusedJiao);
ViewBag.OffenusedGuanStr = JsonConvert.SerializeObject(ViewBag.OffenusedGuan);
ViewBag.OffenusedStr = JsonConvert.SerializeObject(ViewBag.Offenused);
//查找服务
List<ModuleEntity> searchmodulelist = new List<ModuleEntity>();
foreach (var item in moduledata)
{
if (moduleIBLL.GetColumnList(item.F_ModuleId).Any())
{
item.FirstLetter = Str.PinYin(item.F_FullName).Substring(0, 1);
searchmodulelist.Add(item);
}
}
ViewBag.SearchModule = searchmodulelist;
//校园总览
//专业
var majorData = cdMajorIBLL.GetAllList();
@@ -1165,6 +1228,47 @@ namespace Learun.Application.Web.Controllers
}
ViewBag.NewsList = outnewslist.Take(5);
ViewBag.NewsListStr = JsonConvert.SerializeObject(ViewBag.NewsList);
//宣传报道
var newsListOfxuanchuan = outnewslist.Where(x => x.F_CategoryId == "15").Take(4);
foreach (var item in newsListOfxuanchuan)
{
if (!string.IsNullOrEmpty(item.F_NewsImage))
{
var imagePath = annexesFileIBLL.GetEntityByFolderId(item.F_NewsImage)?.F_FilePath;
if (!string.IsNullOrEmpty(imagePath))
{
item.F_NewsImage = imagePath.Substring(imagePath.IndexOf("Resource"));
}
else
{
item.F_NewsImage = "/Content/images/DragSSO/noLogin.png";
}
}
}
ViewBag.NewsListOfxuanchuan = newsListOfxuanchuan;
ViewBag.NewsListOfxuanchuanStr = JsonConvert.SerializeObject(ViewBag.NewsListOfxuanchuan);
//智慧教育
ViewBag.NewsListOfzhihui = outnewslist.Where(x => x.F_CategoryId == "16").Take(6);
ViewBag.NewsListOfzhihuiStr = JsonConvert.SerializeObject(ViewBag.NewsListOfzhihui);
//专题推荐
var newsListOfzhuanti = outnewslist.Where(x => x.F_CategoryId == "17").Take(7);
foreach (var item in newsListOfzhuanti)
{
if (!string.IsNullOrEmpty(item.F_NewsImage))
{
var imagePath = annexesFileIBLL.GetEntityByFolderId(item.F_NewsImage)?.F_FilePath;
if (!string.IsNullOrEmpty(imagePath))
{
item.F_NewsImage = imagePath.Substring(imagePath.IndexOf("Resource"));
}
else
{
item.F_NewsImage = "/Content/images/DragSSO/noLogin.png";
}
}
}
ViewBag.NewsListOfzhuanti = newsListOfzhuanti;
ViewBag.NewsListOfzhuantiStr = JsonConvert.SerializeObject(ViewBag.NewsListOfzhuanti);
//办公事项-待办任务
paginationobj.sidx = "F_CreateDate";
paginationobj.rows = 4;
@@ -1185,7 +1289,7 @@ namespace Learun.Application.Web.Controllers
//常用服务
List<ModuleEntity> modulelist = new List<ModuleEntity>();
List<string> offenused = LogBLL.GetGroupLog(userInfo.userId).Select(m => m.F_Module).Take(20).ToList();
var moduledata = moduleIBLL.GetModuleList().Where(m => m.F_EnabledMark == 1 && m.F_DeleteMark == 0 && !string.IsNullOrEmpty(m.F_UrlAddress));
var moduledata = moduleIBLL.GetModuleList().Where(m => m.F_EnabledMark == 1 && m.F_DeleteMark == 0 && !string.IsNullOrEmpty(m.F_UrlAddress) && m.F_IsMenu == 1 && m.F_Target == "iframe" && !string.IsNullOrEmpty(m.F_ParentId));
foreach (var oitem in offenused)
{
ModuleEntity fod = moduledata.FirstOrDefault(m => m.F_FullName == oitem);
@@ -1194,12 +1298,24 @@ namespace Learun.Application.Web.Controllers
modulelist.Add(fod);
}
}
ViewBag.OffenusedAll = modulelist;
ViewBag.OffenusedJiao = modulelist.Where(x => x.F_FullName.Contains("教"));
ViewBag.OffenusedGuan = modulelist.Where(x => x.F_FullName.Contains("管理"));
ViewBag.Offenused = modulelist.Except(modulelist.Where(x => x.F_FullName.Contains("教") || x.F_FullName.Contains("管理"))).Take(6);
ViewBag.OffenusedJiaoStr = JsonConvert.SerializeObject(ViewBag.OffenusedJiao);
ViewBag.OffenusedGuanStr = JsonConvert.SerializeObject(ViewBag.OffenusedGuan);
ViewBag.OffenusedStr = JsonConvert.SerializeObject(ViewBag.Offenused);
//查找服务
List<ModuleEntity> searchmodulelist = new List<ModuleEntity>();
foreach (var item in moduledata)
{
if (moduleIBLL.GetColumnList(item.F_ModuleId).Any())
{
item.FirstLetter = Str.PinYin(item.F_FullName).Substring(0, 1);
searchmodulelist.Add(item);
}
}
ViewBag.SearchModule = searchmodulelist;
//校园总览
//专业
var majorData = cdMajorIBLL.GetAllList();


+ 1
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Learun.Application.Web.csproj View File

@@ -7165,6 +7165,7 @@
<Content Include="Views\SSOSystem\_LayoutSSODrag.cshtml" />
<Content Include="Views\SSOSystem\DragModelTwo.cshtml" />
<Content Include="Views\SSOSystem\DragModelThree.cshtml" />
<Content Include="Views\SSOSystem\DragNoWxLogin.cshtml" />
</ItemGroup>
<ItemGroup>
<WCFMetadata Include="Connected Services\" />


+ 12
- 3
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Login/LoginForWeixin.cshtml View File

@@ -15,6 +15,7 @@
<script src="~/Content/jquery/jquery-1.10.2.min.js"></script>
<script type="text/javascript">
var code = "@ViewBag.CODE";
var source = "@ViewBag.source";//页面来源
$(document).ready(function () {
@if(string.IsNullOrEmpty(ViewBag.login))
{
@@ -22,7 +23,7 @@
$.ajax({
dataType: "json",
type: "post",
data: { "openId": JSON.parse($("#access_token").val()).unionid },
data: { "openId": JSON.parse($("#access_token").val()).unionid,"source":source },
url: "/Login/DoWeixinLogin",
success: function (result) {
if (result.code == 200) {
@@ -31,12 +32,20 @@
location.href = result.data.returnurl;
}
else {
location.href = "/Home/Index";
if (source == "DragNoLogin") {
location.href = "/SSOSystem/DragModelOne";
} else {
location.href = "/Home/Index";
}
}
}
else
{
location.href = "/Home/Index";
if (source == "DragNoLogin") {
location.href = "/SSOSystem/DragModelOne";
} else {
location.href = "/Home/Index";
}
}
}
else {


+ 117
- 108
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragModelOne.cshtml View File

@@ -825,11 +825,17 @@
<div class="searchL">
<div class="searchLT">最近使用</div>
<ul class="searchLList">
<li>
<a href="/Home/Index?autoopen=92a85055-67f2-4a06-902a-f10ec5576d92" target="_blank">
<img src="~/Content/images/DragSSO/inSec1-3.png" alt=""><span>人事管理系统</span>
</a>
</li>
@{
Random rd = new Random();
foreach (ModuleEntity item in ViewBag.OffenusedAll)
{
<li>
<a href="/Home/Index?autoopen=@item.F_ModuleId" target="_blank">
<img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2, 22)).png" alt=""><span>@item.F_FullName</span>
</a>
</li>
}
}
</ul>
</div>
<div class="searchR">
@@ -852,64 +858,109 @@
</ul>
</div>
<div class="searchRBox">
<div class="searchRTop">
<b>A-D</b> (<span>1</span>)
</div>
<div class="searchList clearfix">
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-2.png" alt=""></div>
<div class="searchLiTxt">班级课表</div>
<a href="#" class="searchLink">
<span class="searchLinkT" title="班级课表">班级课表</span>
<span class="searchLinkBox">
<span class="searchLinkImg">
<img src="~/Content/images/DragSSO/inSec1-2.png" alt="">
</span>
<span class="searchLinkCon">
<span class="searchLinkTxt">大学直通车</span>
<span class="searchLinkIcon">
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
</span>
<span class="searchLinkTxt">38人收藏</span>
</span>
</span>
</a>
@{
var searchModule = ViewBag.SearchModule as List<ModuleEntity>;

<div class="searchRTop">
<b>A-D</b> (<span>@searchModule.Where(x=>"abcd".Contains(x.FirstLetter)).Count()</span>)
</div>
</div>
<div class="searchRTop">
<b>E-H</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>I-L</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>M-P</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>Q-T</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>U-X</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>Y-Z</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "abcd".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>E-H</b> (<span>@searchModule.Where(x => "efgh".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "efgh".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>I-L</b> (<span>@searchModule.Where(x => "ijkl".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "ijkl".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>M-P</b> (<span>@searchModule.Where(x => "mnop".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "mnop".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>Q-T</b> (<span>@searchModule.Where(x => "qrst".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "qrst".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>U-X</b> (<span>@searchModule.Where(x => "uvwx".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "uvwx".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>Y-Z</b> (<span>@searchModule.Where(x => "yz".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "yz".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
}

</div>
</div>
</div>
@@ -1105,13 +1156,6 @@
</div>
<div class="inSecLeftTxt">我发起的</div>
</div>
<div class="inSecLeftCon">
<div class="inSecLeftImg">
<img src="~/Content/images/DragSSO/indSec1-11.png" alt="">
<img src="~/Content/images/DragSSO/indSec1-12.png" alt="">
</div>
<div class="inSecLeftTxt">周期服务</div>
</div>
<div class="inSecLeftCon">
<div class="inSecLeftImg">
<img src="~/Content/images/DragSSO/indSec1-13.png" alt="">
@@ -1147,10 +1191,6 @@
<i class="">@ViewBag.MyListTotalNum</i>
<span>我发起的</span>
</li>
<li>
<i class="">0</i>
<span>周期服务</span>
</li>
<li>
<i class="">@ViewBag.FinishTaskTotalNum</i>
<span>已办任务</span>
@@ -1206,12 +1246,6 @@
}

</div>
<div class="inSec3WorkBox">
<div class="noLogin">
<div class="noLoginImg"><img src="~/Content/images/DragSSO/noLogin.png" alt=""></div>
<div class="noLoginTxt">暂时没有数据</div>
</div>
</div>
<div class="inSec3WorkBox">
@{
var FinishTaskListIEnumerable = ViewBag.FinishTaskList as IEnumerable<NWFProcessEntity>;
@@ -1239,34 +1273,10 @@
</div>
</div>
<div class="inSec2Con">
@{
var NewsListIEnumerable = ViewBag.NewsList as IEnumerable<NewsEntity>;
if (NewsListIEnumerable.Any())
{
foreach (NewsEntity item in ViewBag.NewsList)
{
<a class="indexSec2Li" href="/Home/Index?autoopen=6252983c-52f5-402c-991b-ad19a9cb1f94&keyValue=@item.F_NewsId" target="_blank">
<i class="fa fa-close"></i>
<span class="indexSec2T">
<img src="~/Content/images/DragSSO/message.png" alt="">
<span>@item.F_FullHead</span>
</span>
<span class="indexSec2Txt">
<span>公共服务</span> | <span>@item.F_CreateDate</span>
</span>
<span class="indexSec2Txt">通知提醒:您有新的通知公告,请尽快查看详情</span>
</a>
}
}
else
{
<div class="noLogin">
<div class="noLoginImg"><img src="~/Content/images/DragSSO/noLogin.png" alt=""></div>
<div class="noLoginTxt">暂时没有数据</div>
</div>
}
}

<div class="noLogin">
<div class="noLoginImg"><img src="~/Content/images/DragSSO/noLogin.png" alt=""></div>
<div class="noLoginTxt">暂时没有数据</div>
</div>
</div>
</div>
</div>
@@ -1598,7 +1608,6 @@
</div>
<!-- / warpper -->


<script src="/Content/js/DragSSO/index.js"></script>
<script src="/Content/js/DragSSO/aLeft.js"></script>
@*<script src="/Content/js/DragSSO/sortable.js"></script>*@


+ 113
- 62
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragModelTwo.cshtml View File

@@ -809,11 +809,17 @@
<div class="searchL">
<div class="searchLT">最近使用</div>
<ul class="searchLList">
<li>
<a href="/Home/Index?autoopen=92a85055-67f2-4a06-902a-f10ec5576d92" target="_blank">
<img src="~/Content/images/DragSSO/inSec1-3.png" alt=""><span>人事管理系统</span>
</a>
</li>
@{
Random rd = new Random();
foreach (ModuleEntity item in ViewBag.OffenusedAll)
{
<li>
<a href="/Home/Index?autoopen=@item.F_ModuleId" target="_blank">
<img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2, 22)).png" alt=""><span>@item.F_FullName</span>
</a>
</li>
}
}
</ul>
</div>
<div class="searchR">
@@ -836,64 +842,109 @@
</ul>
</div>
<div class="searchRBox">
<div class="searchRTop">
<b>A-D</b> (<span>1</span>)
</div>
<div class="searchList clearfix">
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-2.png" alt=""></div>
<div class="searchLiTxt">班级课表</div>
<a href="#" class="searchLink">
<span class="searchLinkT" title="班级课表">班级课表</span>
<span class="searchLinkBox">
<span class="searchLinkImg">
<img src="~/Content/images/DragSSO/inSec1-2.png" alt="">
</span>
<span class="searchLinkCon">
<span class="searchLinkTxt">大学直通车</span>
<span class="searchLinkIcon">
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
<i class="fa fa-star"></i>
</span>
<span class="searchLinkTxt">38人收藏</span>
</span>
</span>
</a>
@{
var searchModule = ViewBag.SearchModule as List<ModuleEntity>;

<div class="searchRTop">
<b>A-D</b> (<span>@searchModule.Where(x => "abcd".Contains(x.FirstLetter)).Count()</span>)
</div>
</div>
<div class="searchRTop">
<b>E-H</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>I-L</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>M-P</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>Q-T</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>U-X</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchRTop">
<b>Y-Z</b> (<span>0</span>)
</div>
<div class="searchList clearfix">
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "abcd".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>E-H</b> (<span>@searchModule.Where(x => "efgh".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "efgh".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>I-L</b> (<span>@searchModule.Where(x => "ijkl".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "ijkl".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>M-P</b> (<span>@searchModule.Where(x => "mnop".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "mnop".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>Q-T</b> (<span>@searchModule.Where(x => "qrst".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "qrst".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>U-X</b> (<span>@searchModule.Where(x => "uvwx".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "uvwx".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
<div class="searchRTop">
<b>Y-Z</b> (<span>@searchModule.Where(x => "yz".Contains(x.FirstLetter)).Count()</span>)
</div>
<div class="searchList clearfix">
@{
foreach (var item in searchModule.Where(x => "yz".Contains(x.FirstLetter)).OrderBy(x => x.FirstLetter))
{
<div class="searchLi">
<div class="searchLiImg"><img src="~/Content/images/DragSSO/inSec1-@(rd.Next(2,22)).png" alt=""></div>
<div class="searchLiTxt">@item.F_FullName</div>
</div>
}
}
</div>
}

</div>
</div>
</div>


+ 237
- 101
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragNoLogin.cshtml View File

@@ -33,16 +33,47 @@
<script src="/Content/js/DragSSO/main.js"></script>
<!----自适应----->

<style>
#psw_change {
position: absolute;
top: 70%;
margin-top: -19px;
right: 5px;
width: 40px;
height: 40px;
cursor: pointer;
}

.noreg .lr-login-reg {
display: none;
}

#loginForm {
position: relative;
}

.error_info {
font-family: PingFangSC-Regular;
position: absolute;
font-size: 12px;
color: #ED3232;
right: 0;
top: 40px;
display: none;
}
.wx{
display:block;
}
</style>
</head>
<body class="">
<body class="noLoginType">
<!-- header -->
<div class="header inSecShadow">
<a href="index.html" class="headLogo">
<a href="/SSOSystem/DragModelOne" class="headLogo">
网上办事大厅
</a>
<ul class="headTab">
<li class="active"><a href="#"><img src="/Content/images/DragSSO/head1.png" alt="" /></a></li>
<li><a href="/Home/Index"><img src="/Content/images/DragSSO/head1.png" alt="" /></a></li>
</ul>
<div class="headTitle">数字化智慧校园</div>
<div class="headSearch">
@@ -62,75 +93,86 @@
<li><a href="#">管理驾驶舱模式</a></li>
</ul>
</div>
<div class="headLine1"></div>
<!-- 登录 -->
@{
var loginInfo = LoginUserInfo.Get();
}
@if (loginInfo == null)
{
<a href="/Login/Index?source=DragNoLogin" class="headLogin">登录</a>
@*<a href="/Login/Index?source=DragNoLogin" class="headLogin">登录</a>*@
<a href="/SSOSystem/DragNoLogin" class="headLogin">登录</a>
}
else
{
<a href="DragModelOne" class="headLogin">登录</a>
<a href="/SSOSystem/DragModelOne" class="headLogin">登录</a>
}
<!-- 登录 -->
<!-- 登录后 -->
@*<div class="headLine1"></div>
<div class="headUserImg"><img src="/Content/images/DragSSO/user.jpg" alt="" /></div>
<div class="headUserTxt">王明</div>
<div class="loginAfter">
@*<div class="authorBox">
<div class="headUserImg"><img src="images/user.jpg" alt="" /></div>
<div class="headUserTxt">王明</div>
<div class="authorSetBox">
<div class="authorSetCon inSecShadow">
<div class="auSetLi signOut">退出</div>
</div>
</div>
</div>
<div class="headLine1"></div>
<div class="headNumBox">
<div class="headNum">工号 123456</div>
<div class="headNumTxt">教务部 <span></span> 主任</div>
</div>*@
<!-- 登录后 -->
<div class="headLine1"></div>
<div class="headNumBox">
<div class="headNum">工号 123456</div>
<div class="headNumTxt">教务部 <span></span> 主任</div>
</div>*@
<!-- 登录后 -->
<div class="headLine1"></div>
<div class="skinBox">
<img src="/Content/images/DragSSO/head4.png" alt="" />
<div class="skin inSecShadow">
<div class="skinT">皮肤 <img src="/Content/images/DragSSO/close.png" alt="" /></div>
<div class="skinList">
<div skin="blue" class="skins blue active">
<div>
<img src="/Content/images/DragSSO/skin1.jpg" alt="" />
<div class="skinTxt">蓝</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
<div class="skinBox">
<img src="/Content/images/DragSSO/head4.png" alt="" />
<div class="skin inSecShadow">
<div class="skinT">皮肤 <img src="/Content/images/DragSSO/close.png" alt="" /></div>
<div class="skinList">
<div skin="blue" class="skins blue active">
<div>
<img src="/Content/images/DragSSO/skin1.jpg" alt="" />
<div class="skinTxt">蓝</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
</div>
</div>
</div>
</div>
<div skin="red" class="skins red">
<div>
<img src="/Content/images/DragSSO/skin3.jpg" alt="" />
<div class="skinTxt">红</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
<div skin="red" class="skins red">
<div>
<img src="/Content/images/DragSSO/skin3.jpg" alt="" />
<div class="skinTxt">红</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
</div>
</div>
</div>
</div>
<div skin="green" class="skins green">
<div>
<img src="/Content/images/DragSSO/skin2.jpg" alt="" />
<div class="skinTxt">绿</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
<div skin="green" class="skins green">
<div>
<img src="/Content/images/DragSSO/skin2.jpg" alt="" />
<div class="skinTxt">绿</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="headLine1"></div>
<div class="downloadFx">
<img src="/Content/images/DragSSO/download.png" alt="" />
<a href="/飞星客户端.exe"><span style="color:white;">飞星下载</span></a>
<div class="headLine1"></div>
<div class="downloadFx">
<img src="/Content/images/DragSSO/download.png" alt="" />
<a href="/飞星客户端.exe"><span style="color:white;">飞星下载</span></a>
</div>

</div>
</div>
</div>
@@ -143,10 +185,10 @@
<div class="searchLT">最近使用</div>
<ul class="searchLList">
@*<li>
<a href="javascript:;">
<img src="/Content/images/DragSSO/inSec1-3.png" alt="" /><span>班级课表</span>
</a>
</li>*@
<a href="javascript:;">
<img src="/Content/images/DragSSO/inSec1-3.png" alt="" /><span>班级课表</span>
</a>
</li>*@
</ul>
</div>
<div class="searchR">
@@ -264,9 +306,7 @@
</ul>
<!-- 第一级列表 -->
<!-- 第二级列表 -->
<ul class="inSec1List2 inSecShadow">
</ul>
<ul class="inSec1List2 inSecShadow"></ul>
<!-- 第二级列表 -->
</div>
<div class="inSec1Box">
@@ -280,9 +320,7 @@
</ul>
<!-- 第一级列表 -->
<!-- 第二级列表 -->
<ul class="inSec1List2 inSecShadow">
</ul>
<ul class="inSec1List2 inSecShadow"></ul>
<!-- 第二级列表 -->
</div>
<div class="inSec1Box">
@@ -389,13 +427,6 @@
</div>
<div class="inSecLeftTxt">我发起的</div>
</div>
<div class="inSecLeftCon">
<div class="inSecLeftImg">
<img src="/Content/images/DragSSO/indSec1-11.png" alt="" />
<img src="/Content/images/DragSSO/indSec1-12.png" alt="" />
</div>
<div class="inSecLeftTxt">周期服务</div>
</div>
<div class="inSecLeftCon">
<div class="inSecLeftImg">
<img src="/Content/images/DragSSO/indSec1-13.png" alt="" />
@@ -431,10 +462,6 @@
<i class="">0</i>
<span>我发起的</span>
</li>
<li>
<i class="">0</i>
<span>周期服务</span>
</li>
<li>
<i class="">0</i>
<span>已办任务</span>
@@ -460,12 +487,6 @@
<div class="noLoginTxt">请登录查看</div>
</div>
</div>
<div class="inSec3WorkBox">
<div class="noLogin">
<div class="noLoginImg"><img src="/Content/images/DragSSO/noLogin.png" alt="" /></div>
<div class="noLoginTxt">请登录查看</div>
</div>
</div>
</div>
</div>
<div class="inSec2Con">
@@ -975,51 +996,52 @@
<div class="loginBox">
<div class="login commonClear">
<div class="loginTab">
<div class="active">
<div id="loginTabPsw" class="active">
<img class="loginTabImg1" src="/Content/images/DragSSO/login5-3.png" alt="" />
<img class="loginTabImg2" src="/Content/images/DragSSO/login5-3s.png" alt="" />
</div>
<div>
<div id="loginTabCode" style="display:none;">
<img class="loginTabImg1" src="/Content/images/DragSSO/login5-2.png" alt="" />
<img class="loginTabImg2" src="/Content/images/DragSSO/login5-2s.png" alt="" />
</div>
</div>
<div class="loginCon">
<form id="loginForm" role="form" action="/a/login" method="post" novalidate="novalidate">
<div class="loginCon noreg">
<input id="errornum" type="hidden" value="@ViewBag.errornum" />
<form id="loginForm" role="form" action="" method="post" novalidate="novalidate">
<div class="loginTitle">用户登录</div>
<div class="error_info">*&nbsp;<span>密码不正确</span></div>
<div class="loginInput">
<div class="loginInputTxt">用户名</div>
<input type="text" placeholder="用户名" id="username" name="username"
class="form-control required" />
<input type="text" placeholder="用户名" id="lr_username" name="lr_username" class="form-control required" />
</div>
<div class="loginInput">
<div class="loginInputTxt">用户名</div>
<input type="password" placeholder="密码" id="password" name="password"
class="form-control required" />
<div class="loginInputTxt">密码</div>
<input type="password" placeholder="密码" id="lr_password" name="lr_password" class="form-control required" />
<span id="psw_change"></span>
</div>
<div class="loginInput">
<div class="loginInput lr-login-reg">
<div class="loginInputTxt">验证码</div>
<div class="codeBox">
<input type="code" placeholder="验证码" id="code" name="code"
class="form-control required" />
<div class="variCode"><img src="/Content/images/DragSSO/verCode.png" alt="" /></div>
<input type="text" placeholder="验证码" id="lr_verifycode_input" name="lr_verifycode_input" class="form-control required" />
<div class="variCode">
<img class="code" id="lr_verifycode_img" src="~/Login/VerifyCode" alt="点击切换验证码" title="点击切换验证码" />
</div>
</div>
</div>
<div class="loginBtn">
<input type="submit" class="btn btn-white btn-outline btn-lg btn-rounded progress-login"
value="登录" style="cursor:pointer" />
</div>
<div class="loginBtn loginBtn2">
<input type="submit" class="btn btn-white btn-outline btn-lg btn-rounded progress-login"
value="教师注册" style="cursor:pointer" />
</div>
<div class="wx">
<img src="/Content/images/DragSSO/weixin.png" alt="" />
<span>微信登录</span>
<input id="lr_login_btn" type="button" class="btn btn-white btn-outline btn-lg btn-rounded progress-login" value="登录" style="cursor:pointer" />
</div>
@if (ViewBag.WeixinLoginSwitch)
{
<a class="wx" href="/Login/LoginForWeixin?login=one&source=DragNoLogin">
<img src="/Content/images/DragSSO/weixin.png" alt="" />
<span>微信登录</span>
</a>
}

</form>
<div class="qrCodeBox">
<div class="loginTitle">移动端登录</div>
<div class="loginTitle" id="qrCodeText"></div>
<div id="qrCode"></div>
</div>
</div>
@@ -1037,5 +1059,119 @@
<script src="/Content/js/DragSSO/aLeft.js"></script>
@*<script src="/Content/js/DragSSO/sortable.js"></script>*@
@*<script src="/Content/js/DragSSO/inSecHead.js"></script>*@
<script src="~/Content/jquery/jquery.md5.min.js"></script>
<script>
$.lrToken = $('@Html.AntiForgeryToken()').val();
var DigitalschoolMisLoginurl = "@ViewBag.DigitalschoolMisLoginurl";
var Returnurl = "@ViewBag.Returnurl";
//判断是否有登录二维码:有,显示扫码登录;否,不显示;
if ("@ViewBag.HasQRCode" == "True") {
$('#loginTabCode').show();
$('#qrCodeText').html("@ViewBag.QRCodeText");
} else {
$('#loginTabCode').hide();
}
var qrcode = new QRCode(document.getElementById("qrCode"), {
width: 200,
height: 200
});
qrcode.makeCode("@ViewBag.QRCodeUrl");
//密码按钮
$('#psw_change').css({
'background': 'url(/Content/images/Login/psw0.png) no-repeat center center'
});
//点击密码icon 显示/隐藏
$('#psw_change').click(function (event) {
var event = event || window.event;
event.stopPropagation();
var $this = $(this);
$this.toggleClass('psw_show');
//如果当前隐藏 变显示
if ($this.hasClass('psw_show')) {
$this.css({
'background': 'url(/Content/images/Login/psw1.png) no-repeat center center'
});
$this.prev().attr('type', 'text');
} else {
$this.css(
'background', 'url(/Content/images/Login/psw0.png) no-repeat center center'
);
$this.prev().attr('type', 'password');
}
});
// 点击切换验证码
$("#lr_verifycode_img").click(function () {
$("#lr_verifycode_input").val('');
$("#lr_verifycode_img").attr("src", "/Login/VerifyCode?time=" + Math.random());
});
//错误次数
var errornum = $('#errornum').val();
if (errornum >= 3) {
$('.loginCon').removeClass('noreg');
$("#lr_verifycode_img").trigger('click');
}
// 登录按钮事件
$("#lr_login_btn").on('click', function () {
layer.msg('登录中...', {
icon: 16
, shade: 0.01
});
var $username = $("#lr_username"), $password = $("#lr_password"), $verifycode = $("#lr_verifycode_input");
var username = $.trim($username.val()), password = $.trim($password.val()), verifycode = $.trim($verifycode.val());
if (username == "") {
tip('请输入账户');
$username.focus();
return false;
}
if (password == "") {
tip('请输入密码');
$password.focus();
return false;
}
if ($("#lr_verifycode_input").is(":visible") && verifycode == "") {
tip('请输入验证码');
$verifycode.focus();
return false;
}
password = $.md5(password);
$.ajax({
url: "/Login/CheckLogin",
headers: { __RequestVerificationToken: $.lrToken },
data: { username: username, password: password, verifycode: verifycode, up: "", defaultPwdTip:"" },
type: "post",
dataType: "json",
success: function (res) {
if (res.code == 200) {
window.location.href = DigitalschoolMisLoginurl + "?F_Account=" + username + "&returnurl=" + Returnurl + "/SSOSystem/DragModelOne";
}
else if (res.code == 400) {
tip(res.info, true);
$('#errornum').val(res.data);
if (res.data >= 3) {
$('.lr-login-reg').show();
$("#lr_verifycode_img").trigger('click');
}
}
else if (res.code == 500) {
tip('服务端异常,请联系管理员', true);
}
}
});


});
//登录错误提示显示
var tip = function (msg) {
var $tip = $('.error_info');
$tip.hide();
if (!!msg) {
$tip.find('span').html(msg);
$tip.show();
}
}

</script>

</body>
</html>

+ 1184
- 0
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/DragNoWxLogin.cshtml
File diff suppressed because it is too large
View File


+ 53
- 43
Learun.Framework.Ultimate V7/Learun.Application.Web/Views/SSOSystem/_LayoutSSODrag.cshtml View File

@@ -47,7 +47,7 @@
网上办事大厅
</a>
<ul class="headTab">
<li class="active"><a href="/SSOSystem/DragModelOne"><img src="/Content/images/DragSSO/head1.png" alt="" /></a></li>
<li><a href="/Home/Index"><img src="/Content/images/DragSSO/head1.png" alt="" /></a></li>
</ul>
<div class="headTitle">数字化智慧校园</div>
<div class="headSearch">
@@ -67,62 +67,72 @@
<li><a href="/SSOSystem/DragModelThree">管理驾驶舱模式</a></li>
</ul>
</div>
<!-- 登录后 -->
<div class="headLine1"></div>
<div class="headUserImg"><img src="/LR_OrganizationModule/User/GetImg?userId=@logininfo.userId " alt="" /></div>
<div class="headUserTxt">@logininfo.realName</div>
<!-- 登录后 -->
<div class="loginAfter">
<div class="authorBox">
<div class="headUserImg"><img src="/LR_OrganizationModule/User/GetImg?userId=@logininfo.userId " alt="" /></div>
<div class="headUserTxt">@logininfo.realName</div>
<div class="authorSetBox">
<div class="authorSetCon inSecShadow">
<div class="auSetLi signOut">退出</div>
</div>
</div>
</div>
<div class="headLine1"></div>
<div class="headNumBox">
<div class="headNum">工号 @logininfo.account</div>
<div class="headNumTxt">@logininfo.departmentName <span></span> @logininfo.roleName</div>
</div>
<!-- 登录后 -->
<div class="headLine1"></div>
<div class="skinBox">
<img src="/Content/images/DragSSO/head4.png" alt="" />
<div class="skin inSecShadow">
<div class="skinT">皮肤 <img src="/Content/images/DragSSO/close.png" alt="" /></div>
<div class="skinList">
<div skin="blue" class="skins blue active">
<div>
<img src="/Content/images/DragSSO/skin1.jpg" alt="" />
<div class="skinTxt">蓝</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
<!-- 登录后 -->
<div class="headLine1"></div>
<div class="skinBox">
<img src="/Content/images/DragSSO/head4.png" alt="" />
<div class="skin inSecShadow">
<div class="skinT">皮肤 <img src="/Content/images/DragSSO/close.png" alt="" /></div>
<div class="skinList">
<div skin="blue" class="skins blue active">
<div>
<img src="/Content/images/DragSSO/skin1.jpg" alt="" />
<div class="skinTxt">蓝</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
</div>
</div>
</div>
</div>
<div skin="red" class="skins red">
<div>
<img src="/Content/images/DragSSO/skin3.jpg" alt="" />
<div class="skinTxt">红</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
<div skin="red" class="skins red">
<div>
<img src="/Content/images/DragSSO/skin3.jpg" alt="" />
<div class="skinTxt">红</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
</div>
</div>
</div>
</div>
<div skin="green" class="skins green">
<div>
<img src="/Content/images/DragSSO/skin2.jpg" alt="" />
<div class="skinTxt">绿</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
<div skin="green" class="skins green">
<div>
<img src="/Content/images/DragSSO/skin2.jpg" alt="" />
<div class="skinTxt">绿</div>
<div class="skinText">选用皮肤</div>
<div class="skinCheck">
<i class="fa fa-check-circle"></i>
<span>使用中</span>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="headLine1"></div>
<div class="downloadFx">
<img src="/Content/images/DragSSO/download.png" alt="" />
<a href="/飞星客户端.exe"><span style="color:white;">飞星下载</span></a>
<div class="headLine1"></div>
<div class="downloadFx">
<img src="/Content/images/DragSSO/download.png" alt="" />
<a href="/飞星客户端.exe"><span style="color:white;">飞星下载</span></a>
</div>

</div>
</div>
</div>
@@ -139,7 +149,7 @@
<script>
$(function () {


})
</script>

+ 7
- 0
Learun.Framework.Ultimate V7/Learun.Framework.Module/Learun.Application.Module/Learun.Application.Base/SystemModule/Module/ModuleEntity.cs View File

@@ -175,5 +175,12 @@ namespace Learun.Application.Base.SystemModule
this.F_ModifyUserName = userInfo.realName;
}
#endregion
#region 扩展成员
/// <summary>
/// 第一个汉字的拼音首字母
/// </summary>
[NotMapped]
public string FirstLetter { get; set; }
#endregion
}
}

Loading…
Cancel
Save