diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TeacherCertificate/Index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TeacherCertificate/Index.js
index 6174d3dae..2615111ed 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TeacherCertificate/Index.js
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Areas/PersonnelManagement/Views/TeacherCertificate/Index.js
@@ -15,6 +15,9 @@ var bootstrap = function ($, learun) {
page.bind();
},
bind: function () {
+ $('#multiple_condition_query').lrMultipleQuery(function (queryJson) {
+ page.search(queryJson);
+ }, 220, 400);
// 时间搜索框
$('#datesearch').lrdate({
dfdata: [
@@ -42,6 +45,14 @@ var bootstrap = function ($, learun) {
page.search();
}
});
+ $('#TCName').lrselect({
+ allowSearch: true,
+ url: top.$.rootUrl + '/LR_SystemModule/DataSource/GetDataTable?code=EmpInfo',
+ param: { strWhere: "1=1 " },
+ value: "empid",
+ text: "empname"
+ });
+ $('#TCTypeID').lrDataItemSelect({ code: 'jszgzl' });
// 刷新
$('#lr_refresh').on('click', function () {
location.reload();
@@ -101,14 +112,18 @@ var bootstrap = function ($, learun) {
{
label: "教师姓名", name: "TCName", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
- learun.clientdata.getAsync('user', {
+ learun.clientdata.getAsync('custmerData', {
+ url: '/LR_SystemModule/DataSource/GetDataTable?code=' + 'EmpInfo',
key: value,
+ keyId: 'empid',
callback: function (_data) {
- callback(_data.name);
+ callback(_data['empname']);
}
});
}
},
+ { label: "证书名称", name: "TCType", width: 150, align: "left" },
+ { label: "证书编号", name: "TCCode", width: 150, align: "left" },
{
label: "资格种类", name: "TCTypeID", width: 100, align: "left",
formatterAsync: function (callback, value, row, op, $cell) {
@@ -122,17 +137,18 @@ var bootstrap = function ($, learun) {
}
},
{ label: "任教学科", name: "TCClass", width: 100, align: "left" },
- { label: "证书编号", name: "TCCode", width: 100, align: "left" },
{ label: "取得时间", name: "TCTime", width: 100, align: "left" },
],
mainId: 'TCID',
- isPage: true
+ isPage: true,
+ sidx:'TCTime desc'
});
+ page.search();
},
search: function (param) {
param = param || {};
- param.StartTime = startTime;
- param.EndTime = endTime;
+ //param.StartTime = startTime;
+ //param.EndTime = endTime;
$('#gridtable').jfGridSet('reload', { queryJson: JSON.stringify(param) });
}
};
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/blue.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/blue.css
new file mode 100644
index 000000000..1a523dc77
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/blue.css
@@ -0,0 +1,141 @@
+html,body{
+ background: #EBF6FF;
+}
+body.active .header {
+ background-image: url(../../images/DragSSO/headBg2.jpg);
+}
+.header{
+ background-image:url('../../images/DragSSO/headBg.jpg');
+ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (src='../../images/DragSSO/headBg.jpg', sizingMethod='scale');
+}
+.headNum{
+ color: #198BE3;
+}
+.headModeTxt {
+ background: #50AAF1;
+}
+
+.headModeList {
+ background-color: #0078D7;
+ -webkit-box-shadow: 0 5px 6px rgba(64, 172, 255, .4);
+ -moz-box-shadow: 0 5px 6px rgba(64, 172, 255, .4);
+ box-shadow: 0 5px 6px rgba(64, 172, 255, .4);
+}
+.headModeList li.active {
+ background-color: #036AC9;
+}
+.headTab li:after {
+ background: #67B7F7;
+}
+.inSec3HeadTab.active:after {
+ background-color: #198BE3;
+}
+.inSecLeftCon:hover {
+ background-color: #198BE3;
+ border-color: #198BE3;
+}
+.inSec1TabBox.active:after {
+ background-color: #198BE3;
+}
+.inSec1List1{
+ background: #F3FAFF;
+}
+.inSec1List1 li.active,.inSec1List1 li:hover{
+ background: #D8EEFF;
+ border-bottom-color: #D8EEFF;
+}
+.inSec1List1 li.active a,.inSec1List1 li:hover a{
+ color: #198BE3;
+}
+.inSec1List1 li{
+ border-bottom: 1px solid #e0edef;
+}
+.index_sec2 .inSec1T{
+ background: #198BE3;
+}
+.inSec1List2 li.active,.inSec1List2 li:hover{
+ background: #D8EEFF;
+}
+.aLeft:hover {
+ background-color: #D8EEFF;
+}
+.inSecT {
+ background-color: #198BE3;
+}
+.more {
+ background-color: #75B9EE;
+}
+.inSec3L {
+ background-color: #F2F9FF;
+}
+.workList li.active {
+ background-color: #D6EDFF;
+}
+.workList li {
+ border-bottom: 1px solid #E0F1FF;
+}
+.inSec3Num {
+ color: #2E96E6;
+}
+.inSec2TabBox.active:after {
+ background-color: #198BE3;
+}
+.inSec2L {
+ background-color: #F2F9FF;
+}
+.inSec2Llist i {
+ color: #2E96E6;
+}
+.inSec3WorkBtn {
+ background-color: #EAF5FF;
+ color: #198BE3;
+}
+.inSec3WorkBtn2 {
+ color: #198BE3;
+}
+
+.inSec1Drag div:hover {
+ background-color: #D8EEFF;
+}
+.inSec2Llist li {
+ border-bottom: 1px solid #e0edef;
+}
+.inSec2Llist li.active,
+.inSec2Llist li:hover {
+ background: #D8EEFF;
+ border-bottom-color: #D8EEFF;
+}
+.aRight:hover {
+ background-color: #D8EEFF;
+}
+.inSecShadow {
+ -webkit-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+}
+
+/* search */
+.search {
+ background-color: #005190;
+}
+.searchLT {
+ color: #82C7FE;
+}
+.searchTop>span {
+ color: #63A7DF;
+}
+.searchTopList li.active,
+.searchTopList li:hover {
+ background-color: #0F85E2;
+}
+
+.searchRTop {
+ background-color: #003E83;
+ color: #81C7FE;
+}
+.headSearchClose {
+ border: 1px solid #1973B9;
+}
+.headSearchClose:hover {
+ background-color: #5EAEEB;
+}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/common.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/common.css
new file mode 100644
index 000000000..d539cc7f5
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/common.css
@@ -0,0 +1,77 @@
+@charset "utf-8";
+/* CSS Document */
+*{
+ box-sizing: border-box;
+}
+body,html{
+ font-size:14px;
+ font-family: "Microsoft YaHei", "微软雅黑" !important;
+ color: #424242;
+ min-width: 1680px;
+ margin: 0;
+ padding: 0;
+ height: 100%;
+}
+/*body{ overflow:hidden;} */
+ul{
+ margin:0px;
+ padding:0px;
+ list-style:none;
+ }
+li{
+ list-style:none;
+ }
+ul li a{
+ display:block;
+ }
+
+
+a{
+ text-decoration:none;
+ color: #424242;
+ outline:none;
+ }
+input{
+ border:1px solid #ccc;
+ outline:none;
+ }
+textarea{
+ border:1px solid #ccc;
+ outline:none;
+ }
+form{
+ margin:0px;
+ padding:0px;
+ }
+table{
+ cellspacing:0px;
+ cellpadding:0px;
+ }
+img{
+ border:none;
+ }
+a,img{border:0;}
+.clear{
+ clear:both;
+ }
+.clearfix{
+ *zoom:1;
+}
+.clearfix:after{
+ content: '';
+ display: block;
+ clear: both;
+}
+
+a{outline:none !important;}
+
+img{border:0 none;}
+
+::selection {
+ background: #000;
+ color: #fff;
+}
+.warpper *::-webkit-scrollbar-track-piece{width:1px;background-color:#fff;}
+.warpper *::-webkit-scrollbar{width:1px;height:1px}
+.warpper *::-webkit-scrollbar-thumb{height:10px;background-color:#ccc;}
+.warpper *::-webkit-scrollbar-thumb:hover{background:#ccc;}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/green.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/green.css
new file mode 100644
index 000000000..6e7fcf019
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/green.css
@@ -0,0 +1,137 @@
+html,body{
+ background: #EDFEF7;
+}
+.header{
+ background-image:url('../../images/DragSSO/headBg-green.jpg');
+ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (src='../../images/DragSSO/headBg-green.jpg', sizingMethod='scale');
+}
+.headNum{
+ color: #01A566;
+}
+.inSec1List1{
+ background: #F7FFFC;
+}
+.inSec1List1 li.active,.inSec1List1 li:hover{
+ background: #D5F4E9;
+ border-bottom-color: #D5F4E9;
+}
+.inSec1List1 li.active a,.inSec1List1 li:hover a{
+ color: #01A566;
+}
+.inSec1List1 li{
+ border-bottom: 1px solid #E7F8F2;
+}
+.headModeTxt {
+ background: #03c178;
+}
+
+.headModeList {
+ background-color: #03c178;
+ -webkit-box-shadow: 0 5px 6px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 0 5px 6px rgba(114, 165, 205, 0.25);
+ box-shadow: 0 5px 6px rgba(114, 165, 205, 0.25);
+}
+.headModeList li.active {
+ background-color: #01A566;
+}
+.headTab li:after {
+ background: #67C9A3;
+}
+.inSec3HeadTab.active:after {
+ background-color: #01A566;
+}
+.inSecLeftCon:hover {
+ background-color: #01A566;
+ border-color: #01A566;
+}
+.inSec1TabBox.active:after {
+ background-color: #01A566;
+}
+.index_sec2 .inSec1T{
+ background: #01A566;
+}
+.inSec1List2 li.active,.inSec1List2 li:hover{
+ background: #D5F4E9;
+}
+.aLeft:hover {
+ background-color: #D5F4E9;
+}
+.inSecT {
+ background-color: #01A566;
+}
+.more {
+ background-color: #67C9A3;
+}
+.inSec3L {
+ background-color: #F7FFFC;
+}
+.workList li.active {
+ background-color: #D5F4E9;
+}
+.workList li {
+ border-bottom: 1px solid #E7F8F2;
+}
+.inSec3Num {
+ color: #01A566;
+}
+.inSec2TabBox.active:after {
+ background-color: #01A566;
+}
+.inSec2L {
+ background-color: #F7FFFC;
+}
+.inSec2Llist i {
+ color: #01A566;
+}
+.inSec3WorkBtn {
+ background-color: #F7FFFC;
+ color: #01A566;
+}
+.inSec3WorkBtn2 {
+ color: #01A566;
+}
+
+.inSec1Drag div:hover {
+ background-color: #D5F4E9;
+}
+.inSec2Llist li {
+ border-bottom: 1px solid #E7F8F2;
+}
+.inSec2Llist li.active,
+.inSec2Llist li:hover {
+ background: #D5F4E9;
+ border-bottom-color: #D5F4E9;
+}
+.aRight:hover {
+ background-color: #D5F4E9;
+}
+.inSecShadow{
+ -webkit-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+}
+/* search */
+.search {
+ background-color: #00482c;
+}
+.searchLT {
+ color: #018e57;
+}
+.searchTop>span {
+ color: #018e57;
+}
+.searchTopList li.active,
+.searchTopList li:hover {
+ background-color: #01A566;
+}
+
+.searchRTop {
+ background-color: #00331f;
+ color: #018e57;
+}
+.headSearchClose {
+ border: 1px solid #03c178;
+}
+.headSearchClose:hover {
+ background-color: #03c178;
+}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index.css
new file mode 100644
index 000000000..2bab40735
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index.css
@@ -0,0 +1,2592 @@
+@charset "utf-8";
+/* CSS Document */
+
+/*****header*******/
+.header {
+ height: 70px;
+ position: relative;
+ background-size: 100% 100%;
+ -moz-background-size: 100% 100%;
+ -webkit-background-size: 100% 100%;
+ -o-background-size: 100% 100%;
+ padding: 0 30px;
+}
+
+body.active .header {
+ z-index: 9999;
+ /* background-image: url(../images/headBg2.jpg); */
+}
+
+.headLogin {
+ width: 70px;
+ height: 30px;
+ text-align: center;
+ line-height: 30px;
+ background: #fff;
+ border-radius: 15px;
+ font-size: 14px;
+ /* margin-left: 25px; */
+ /*display: none !important;*/
+}
+
+/*.noLoginType .headLogin {
+ display: inline-block !important;
+}*/
+
+.noLoginType .loginAfter {
+ display: none;
+}
+
+.noLoginType .logins {
+ display: block;
+}
+
+.headLine2 {
+ height: 100%;
+ width: 1px;
+}
+
+.headLogo {
+ float: left;
+ font-size: 22px;
+ color: #fff;
+ line-height: 70px;
+ font-weight: bold;
+}
+
+ .headLogo:hover {
+ color: #fff;
+ }
+
+ .headLogo span {
+ display: inline-block;
+ background-color: #40ACFF;
+ padding: 0 10px;
+ line-height: 26px;
+ font-size: 12px;
+ margin-left: 5px;
+ border-radius: 3px;
+ position: relative;
+ top: -3px;
+ }
+
+.headTab {
+ float: left;
+ overflow: hidden;
+ margin-left: 20px;
+ height: 100%;
+}
+
+ .headTab li {
+ float: left;
+ height: 100%;
+ width: 70px;
+ text-align: center;
+ line-height: 0;
+ position: relative;
+ }
+
+ .headTab li:after {
+ content: "";
+ width: 100%;
+ height: 5px;
+ position: absolute;
+ left: 0;
+ bottom: 0;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ /* background: #67B7F7; */
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ }
+
+ .headTab a {
+ display: block;
+ height: 100%;
+ }
+
+ .headTab img {
+ height: 28px;
+ margin-top: 21px;
+ filter: alpha(opacity=70);
+ -moz-opacity: .7;
+ -khtml-opacity: .7;
+ opacity: .7;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ }
+
+ .headTab li.active:after,
+ .headTab li.active img,
+ .headTab li:hover:after,
+ .headTab li:hover img {
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+ }
+
+.headTitle {
+ height: 28px;
+ margin-top: 21px;
+ line-height: 28px;
+ float: left;
+ font-weight: bold;
+ color: #fff;
+ font-size: 16px;
+ margin-left: 50px;
+}
+
+.headSearch {
+ width: 255px;
+ height: 30px;
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ margin: auto;
+ background: rgba(255, 255, 255, 0.3);
+ filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#7Fffffff, endColorstr=#7Fffffff);
+ border-radius: 18px;
+}
+
+ .headSearch .headSearchImg {
+ height: 18px;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 80px;
+ margin: auto;
+ line-height: 0;
+ text-align: center;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ }
+
+.headSearchImg img {
+ height: 16px;
+}
+
+.headSearch input {
+ border: 0;
+ background: transparent;
+ height: 100%;
+ display: block;
+ width: 100%;
+ line-height: 24px;
+ padding: 6px 40px 6px 50px;
+ text-align: center;
+ font-size: 14px;
+ color: #fff;
+ transition: left .3s;
+ -moz-transition: left .3s;
+ -ms-transition: left .3s;
+ -o-transition: left .3s;
+ -webkit-transition: left .3s;
+}
+
+ .headSearch input::-webkit-input-placeholder {
+ color: #fff;
+ }
+
+.headSearchClose {
+ position: absolute;
+ height: 100%;
+ width: 84px;
+ top: 0;
+ left: 105%;
+ /* border: 1px solid #1973B9; */
+ color: #fff;
+ text-align: center;
+ line-height: 28px;
+ border-radius: 15px;
+ cursor: pointer;
+ font-size: 12px;
+ display: none;
+ transition: all .3s;
+ -moz-transition: all .3s;
+ -ms-transition: all .3s;
+ -o-transition: all .3s;
+ -webkit-transition: all .3s;
+}
+
+body.active .headSearch {
+ left: -490px;
+}
+
+body.active .headSearchClose,
+body.active .headSearchHistory {
+ display: block;
+}
+
+body.active .headSearchImg {
+ left: 226px;
+}
+
+.headSearchHistory {
+ position: absolute;
+ left: 10px;
+ top: 0;
+ width: 40px;
+ font-size: 12px;
+ color: #fff;
+ line-height: 30px;
+ display: none;
+}
+
+.headSearchHistBox {
+}
+
+ .headSearchHistBox i {
+ }
+
+
+
+/* .headSearchClose:hover {
+ background-color: #5EAEEB;
+} */
+
+.headUser {
+ float: right;
+ padding: 8px 0;
+ height: 100%;
+}
+
+ .headUser > *,
+ .loginAfter > * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.loginAfter {
+ height: 100%;
+}
+
+.skinBox {
+ position: relative;
+ cursor: pointer;
+ z-index: 9;
+ width: 27px;
+}
+
+ .skinBox > img {
+ height: 20px;
+ }
+
+.skin {
+ position: absolute;
+ z-index: 99;
+ top: 100%;
+ right: 100%;
+ width: 340px;
+ line-height: 20px;
+ transition: all .2s;
+ -moz-transition: all .2s;
+ -ms-transition: all .2s;
+ -o-transition: all .2s;
+ -webkit-transition: all .2s;
+ overflow: hidden;
+ background: #fff;
+ padding: 16px;
+ border-radius: 4px;
+ -ms-transform: scale(0, 0);
+ -ms-transform-origin: 100% 0;
+ -webkit-transform: scale(0, 0);
+ -webkit-transform-origin: 100% 0;
+ -moz-transform: scale(0, 0);
+ -moz-transform-origin: 100% 0;
+ -o-transform: scale(0, 0);
+ -o-transform-origin: 100% 0;
+ transform: scale(0, 0);
+ transform-origin: 100% 0;
+}
+
+.skinBox.active .skin {
+ transform: scale(1, 1);
+}
+
+.skinT {
+ line-height: 24px;
+}
+
+ .skinT img {
+ float: right;
+ width: 20px;
+ }
+
+.skinList {
+ overflow: hidden;
+}
+
+.skins {
+ width: 33.333333%;
+ float: left;
+ padding: 4px 2px 0;
+}
+
+ .skins > div {
+ padding-bottom: 62.5%;
+ height: 0;
+ overflow: hidden;
+ position: relative;
+ }
+
+ .skins > div > img {
+ width: 100%;
+ display: block;
+ }
+
+.blue > div {
+ background: #198BE3;
+}
+
+.red > div {
+ background: #C42016;
+}
+
+.green > div {
+ background: #01A566;
+}
+
+.skinTxt {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ line-height: 20px;
+ text-align: center;
+ /* font-size: 12px; */
+ color: #fff;
+}
+
+.blue .skinTxt,
+.blue .skinText {
+ background: #198BE3;
+}
+
+.red .skinTxt,
+.red .skinText {
+ background: #C42016;
+}
+
+.green .skinTxt,
+.green .skinText {
+ background: #01A566;
+}
+
+.skinCheck {
+ height: 20px;
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 38%;
+ margin-top: -10px;
+ text-align: center;
+ line-height: 20px;
+ color: #fff;
+ font-size: 12px;
+ display: none;
+}
+
+.skins.active .skinCheck {
+ display: block;
+}
+
+.skinText {
+ height: 100%;
+ width: 100%;
+ position: absolute;
+ left: 0;
+ top: 100%;
+ transition: all .1s;
+ -moz-transition: all .1s;
+ -ms-transition: all .1s;
+ -o-transition: all .1s;
+ -webkit-transition: all .1s;
+ text-align: center;
+ color: #fff;
+ line-height: 60px;
+}
+
+.skins.active:hover .skinText {
+ top: 100%;
+}
+
+.skins:hover .skinText {
+ top: 0;
+}
+
+.authorBox > * {
+ display: inline-block;
+ vertical-align: middle;
+ /* line-height: 0; */
+}
+
+.authorBox {
+ position: relative;
+}
+
+.authorSetBox {
+ position: absolute;
+ width: 130px;
+ top: 120%;
+ left: 50%;
+ margin-left: -65px;
+ padding-top: 1px;
+ opacity: 0;
+ z-index: -1;
+ transition: all .3s;
+ -moz-transition: all .3s;
+ -ms-transition: all .3s;
+ -o-transition: all .3s;
+ -webkit-transition: all .3s;
+}
+
+.authorBox:hover .authorSetBox {
+ opacity: 1;
+ top: 98%;
+ z-index: 1;
+}
+
+.authorSetCon {
+ background-color: #fff;
+ position: relative;
+ text-align: center;
+ cursor: pointer;
+ margin-top: 9px;
+ border-radius: 2px;
+}
+
+ .authorSetCon::after {
+ content: '';
+ position: absolute;
+ left: 36px;
+ top: -10px;
+ border: 5px solid transparent;
+ border-bottom-color: #fff;
+ }
+
+.auSetLi {
+ padding: 5px 0;
+}
+
+.headUserImg {
+ height: 45px;
+ width: 45px;
+ border-radius: 50%;
+ line-height: 0;
+ overflow: hidden;
+ margin: 0 12px 0 0;
+}
+
+ .headUserImg img {
+ width: 100%;
+ }
+
+.headUserTxt {
+ font-size: 16px;
+ color: #fff;
+}
+
+.headLine1 {
+ width: 1px;
+ height: 100%;
+ background: #fff;
+ filter: alpha(opacity=30);
+ -moz-opacity: .3;
+ -khtml-opacity: .3;
+ opacity: .3;
+ margin: 0 15px;
+}
+
+.headNumBox {
+ font-size: 12px;
+ text-align: center;
+ color: #fff;
+}
+
+.headNum {
+ height: 24px;
+ width: 100px;
+ border-radius: 12px;
+ background: #fff;
+ margin-bottom: 8px;
+ line-height: 24px;
+}
+
+.headNumTxt span {
+ display: inline-block;
+ width: 2px;
+ height: 13px;
+ background: #fff;
+ margin: 0 7px;
+ position: relative;
+ top: 3px;
+}
+
+.headMode {
+ font-size: 12px;
+ color: #fff;
+ position: relative;
+ /* line-height: 24px; */
+ /* padding-right: 15px; */
+ cursor: pointer;
+}
+
+.headModeTxt {
+ line-height: 0;
+ /* background: #50AAF1; */
+ padding: 0 15px;
+ border-radius: 13px;
+ position: relative;
+ z-index: 9;
+}
+
+ .headModeTxt * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ .headModeTxt span {
+ line-height: 26px;
+ }
+
+ .headModeTxt i {
+ font-size: 18px;
+ margin-left: 5px;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ }
+
+.headModeList {
+ position: absolute;
+ width: 100%;
+ right: 0;
+ top: 40px;
+ text-align: center;
+ /* background-color: #0078D7;
+ -webkit-box-shadow: 0 5px 6px rgba(64, 172, 255, .4);
+ -moz-box-shadow: 0 5px 6px rgba(64, 172, 255, .4);
+ box-shadow: 0 5px 6px rgba(64, 172, 255, .4); */
+ line-height: 24px;
+ /* padding: 5px 0; */
+ border-radius: 3px;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ opacity: 0;
+ z-index: -1;
+ padding-top: 18px;
+}
+
+ .headModeList li {
+ margin-bottom: 5px;
+ }
+
+.headMode:hover .headModeList {
+ top: 18px;
+ opacity: 1;
+ z-index: 1;
+}
+
+.headModeList li.active {
+ /* background-color: #036AC9; */
+ border-radius: 13px;
+}
+
+.headModeList a {
+ font-size: 12px;
+ color: #fff;
+}
+
+.downloadFx {
+ color: #fff;
+}
+
+ .downloadFx * {
+ vertical-align: middle;
+ display: inline-block;
+ }
+
+ .downloadFx img {
+ width: 18px;
+ }
+
+.noCard {
+ position: relative;
+ transform: translateY(-50%);
+ top: 50%;
+ /* font-size: ; */
+ text-align: center;
+}
+
+.noCardImg {
+ line-height: 0;
+}
+
+ .noCardImg img {
+ width: 50px;
+ }
+
+.noCardTxt {
+ margin-top: 10px;
+}
+
+.layerInput {
+ padding: 20px 30px 0;
+}
+
+ .layerInput input {
+ display: block;
+ width: 100%;
+ padding: 5px 10px;
+ line-height: 24px;
+ border-radius: 4px;
+ }
+
+/*****header*******/
+
+/*****public*******/
+.warpper {
+ height: calc(100% - 70px);
+}
+
+.inSec3RowBox {
+ height: calc(100% - 76px);
+ margin: 10px -10px;
+}
+
+.inSec3Row {
+ height: 100%;
+ overflow: auto;
+ display: none;
+}
+
+ .inSec3Row:first-child {
+ display: block;
+ }
+
+.inSec3Col6 {
+ /* width: 50%; */
+ width: 840px;
+ float: left;
+ padding: 10px;
+}
+
+.inSec3Col3 {
+ /* width: 25%; */
+ width: 420px;
+ float: left;
+ padding: 10px;
+}
+
+.inSecT {
+ color: #fff;
+ font-size: 16px;
+ line-height: 24px;
+ padding: 5px 15px;
+ /* background-color: #198BE3; */
+ height: 34px;
+ line-height: 0;
+}
+
+ .inSecT * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ .inSecT span {
+ line-height: 24px;
+ }
+
+.inSecTMore {
+ font-style: normal;
+ display: inline-block;
+ width: 30px;
+ height: 16px;
+ text-align: center;
+ line-height: 16px;
+ border-radius: 9px;
+ font-size: 12px;
+ color: #fff;
+ margin-left: 6px;
+ /* margin-top: 4px; */
+ background: #FFAC41;
+ position: relative;
+}
+
+ .inSecTMore::after {
+ content: '';
+ position: absolute;
+ left: -8px;
+ top: 50%;
+ margin-top: -5px;
+ border: 5px solid transparent;
+ border-right-color: #FFAC41;
+ }
+
+.more {
+ width: 35px;
+ height: 20px;
+ text-align: center;
+ line-height: 0;
+ cursor: pointer;
+ display: block;
+ border-radius: 10px;
+ float: right;
+ margin-top: 2px;
+ /* background-color: #75B9EE; */
+}
+
+ .more span {
+ display: inline-block;
+ width: 4px;
+ height: 4px;
+ border-radius: 50%;
+ background: #fff;
+ margin: 8px 2px 0;
+ }
+
+.noLoginImg {
+ line-height: 0;
+}
+
+ .noLoginImg img {
+ width: 70px;
+ }
+
+.noLoginTxt {
+ font-size: 14px;
+ color: #B8B8B8;
+}
+
+.noLogin {
+ position: absolute;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ margin: auto;
+ width: 110px;
+ height: 130px;
+ text-align: center;
+}
+
+
+
+/*****public*******/
+
+
+/*****index_sec1*******/
+
+.inSecLeftBox {
+ position: fixed;
+ z-index: 99;
+ top: 52%;
+ transform: translateY(-50%);
+ left: 0;
+ width: 62px;
+ text-align: center;
+ font-size: 12px;
+ background-color: #fff;
+ -webkit-box-shadow: 0 0 10px rgba(25, 139, 227, .3);
+ -moz-box-shadow: 0 0 10px rgba(25, 139, 227, .3);
+ box-shadow: 0 0 10px rgba(25, 139, 227, .3);
+ cursor: pointer;
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+ transition: all .4s .4s;
+ -moz-transition: all .4s .4s;
+ -ms-transition: all .4s .4s;
+ -o-transition: all .4s .4s;
+ -webkit-transition: all .4s .4s;
+}
+
+.index_sec1.active .inSecLeftBox {
+ left: -62px;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ transition: all .4s;
+ -moz-transition: all .4s;
+ -ms-transition: all .4s;
+ -o-transition: all .4s;
+ -webkit-transition: all .4s;
+}
+
+.inSecLeftCon {
+ border-bottom: 1px solid #F0F0F0;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ padding: 11px 0;
+}
+
+ .inSecLeftCon:last-child {
+ border-bottom: 0px solid #F0F0F0;
+ }
+
+.inSecLeftImg {
+ line-height: 0;
+ margin-bottom: 6px;
+}
+
+ .inSecLeftImg img {
+ width: 16px;
+ }
+
+ .inSecLeftImg img:last-child {
+ display: none;
+ }
+
+.inSecLeftTxt {
+ color: #424242;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+}
+
+/* .inSecLeftCon:hover {
+ background-color: #198BE3;
+ border-color: #198BE3;
+} */
+
+.inSecLeftCon:hover .inSecLeftImg img:first-child {
+ display: none;
+}
+
+.inSecLeftCon:hover .inSecLeftImg img:last-child {
+ display: inline-block;
+}
+
+.inSecLeftCon:hover .inSecLeftTxt {
+ color: #fff;
+}
+
+.indexSec1Con {
+ width: 415px;
+ background-color: #fff;
+ position: fixed;
+ z-index: 99;
+ left: -415px;
+ top: 90px;
+ bottom: 0;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ transition: all .4s;
+ -moz-transition: all .4s;
+ -ms-transition: all .4s;
+ -o-transition: all .4s;
+ -webkit-transition: all .4s;
+}
+
+.index_sec1.active .indexSec1Con {
+ left: 0;
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+ transition: all .4s .6s;
+ -moz-transition: all .4s .6s;
+ -ms-transition: all .4s .6s;
+ -o-transition: all .4s .6s;
+ -webkit-transition: all .4s .6s;
+}
+
+.inSec1Tab {
+ text-align: center;
+ overflow: hidden;
+ background-color: #fff;
+ border-bottom: 1px solid #F0F0F0;
+ padding: 10px 0;
+ cursor: pointer;
+}
+
+.inSec1TabBox {
+ width: 33.333333%;
+ float: left;
+ line-height: 0;
+ position: relative;
+}
+
+ .inSec1TabBox.active:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: -11px;
+ height: 3px;
+ /* background-color: #198BE3; */
+ }
+
+ .inSec1TabBox * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ .inSec1TabBox span {
+ display: inline-block;
+ line-height: 24px;
+ }
+
+ .inSec1TabBox img {
+ width: 16px;
+ margin-right: 5px;
+ }
+
+.inSec1Box {
+ display: none;
+ height: 100%;
+}
+
+ .inSec1Box.active {
+ display: block;
+ }
+
+.inSec1List1 {
+ width: 130px;
+ float: left;
+ height: 100%;
+ overflow: auto;
+}
+
+ .inSec1List1 li {
+ padding: 5px 12px 5px;
+ cursor: pointer;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ }
+
+ .inSec1List1 a {
+ display: block;
+ font-size: 14px;
+ line-height: 0;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ }
+
+ .inSec1List1 span {
+ display: inline-block;
+ vertical-align: middle;
+ line-height: 24px;
+ }
+
+ .inSec1List1 span:first-child {
+ width: 85%;
+ }
+
+ .inSec1List1 span:last-child {
+ width: 11%;
+ }
+
+.inSec1List2 {
+ margin-left: 130px;
+ height: 100%;
+ overflow-y: auto;
+ position: relative;
+}
+
+ .inSec1List2 li,
+ .inSec1Drag div {
+ padding: 5px 12px;
+ transition: background 0.3s;
+ -moz-transition: background 0.3s;
+ -ms-transition: background 0.3s;
+ -o-transition: background 0.3s;
+ -webkit-transition: background 0.3s;
+ }
+
+.inSec1Drag div {
+ cursor: pointer;
+ position: relative;
+ overflow: hidden;
+}
+
+/* .inSec1Drag div:hover {
+ background-color: #D8EEFF;
+} */
+
+.inSec1List2 a {
+ display: block;
+ line-height: 25px;
+ font-size: 14px;
+ position: relative;
+}
+
+.inSec1List2 span,
+.inSec1Drag span {
+ display: block;
+ margin-left: 30px;
+ margin-right: 30px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.inSec1List2 img,
+.inSec1Drag img {
+ width: 22px;
+ float: left;
+}
+
+.inSec1List2 .fa {
+ position: absolute;
+ right: 0;
+ top: 0;
+ line-height: 25px;
+}
+
+.inSec1List2 .fa-heart {
+ color: #F6685E;
+}
+
+.inSec1List2 .fa-heart-o {
+ color: #198be3;
+ /* color: #ffdbd9; */
+}
+
+.indSec1Box {
+ height: calc(100% - 60px);
+}
+
+.indSec1Line {
+ height: 15px;
+ position: relative;
+ z-index: 9;
+ background-color: #fff;
+}
+
+.aLeft {
+ padding-right: 5px;
+ position: absolute;
+ z-index: 9;
+ width: 18px;
+ height: 88px;
+ line-height: 0;
+ right: -18px;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ text-align: center;
+ background-color: #fff;
+ border-radius: 0 8px 8px 0;
+ webkit-box-shadow: 5px 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 5px 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: 5px 0 10px rgba(114, 165, 205, 0.25);
+ cursor: pointer;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+}
+
+ /* .aLeft:hover {
+ background-color: #D8EEFF;
+} */
+
+ .aLeft i {
+ line-height: 88px;
+ font-size: 20px;
+ color: #C8C8C8;
+ }
+
+/* .aLeft:hover i{
+ color: #fff;
+} */
+.inSec1Drag a {
+ padding-right: 50px;
+ position: relative;
+}
+
+.inSec1Drag .fa {
+ width: 40px;
+ height: 20px;
+ text-align: center;
+ line-height: 20px;
+ border-radius: 13px;
+ position: absolute;
+ top: 0;
+ right: 12px;
+ bottom: 0;
+ color: #fff;
+ font-size: 14px;
+ cursor: pointer;
+ margin: auto;
+ transition: background 0.3s;
+ -moz-transition: background 0.3s;
+ -ms-transition: background 0.3s;
+ -o-transition: background 0.3s;
+ -webkit-transition: background 0.3s;
+}
+
+.inSec1Drag .fa-minus {
+ background-color: #B2B2B2;
+}
+
+.inSec1Drag .fa-plus {
+ background-color: #D2E4FF;
+}
+
+ .inSec1Drag .fa-plus:hover {
+ background-color: #69A5FE;
+ }
+
+.inSec1Drag .fa-minus:hover {
+ background-color: #FD6F22;
+}
+
+/*****index_sec1*******/
+
+
+/*****index_sec2*******/
+.index_sec2 .inSecLeftBox {
+ left: inherit;
+ right: 0;
+}
+
+.inSec2Box {
+ width: 350px;
+ background-color: #fff;
+ position: fixed;
+ z-index: 99;
+ right: -415px;
+ top: 90px;
+ bottom: 0;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ transition: all .4s;
+ -moz-transition: all .4s;
+ -ms-transition: all .4s;
+ -o-transition: all .4s;
+ -webkit-transition: all .4s;
+}
+
+.index_sec2.active .inSec2Box {
+ right: 0;
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+ transition: all .4s .6s;
+ -moz-transition: all .4s .6s;
+ -ms-transition: all .4s .6s;
+ -o-transition: all .4s .6s;
+ -webkit-transition: all .4s .6s;
+}
+
+.index_sec2.active .inSecLeftBox {
+ right: -62px;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ transition: all .4s;
+ -moz-transition: all .4s;
+ -ms-transition: all .4s;
+ -o-transition: all .4s;
+ -webkit-transition: all .4s;
+}
+
+.aRight {
+ padding-left: 5px;
+ position: absolute;
+ z-index: 9;
+ width: 18px;
+ height: 88px;
+ line-height: 0;
+ left: -18px;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ text-align: center;
+ background-color: #fff;
+ border-radius: 8px 0 0 8px;
+ webkit-box-shadow: -5px 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: -5px 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: -5px 0 10px rgba(114, 165, 205, 0.25);
+ cursor: pointer;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+}
+
+ /* .aRight:hover {
+ background-color: #D8EEFF;
+} */
+
+ .aRight i {
+ line-height: 88px;
+ font-size: 20px;
+ color: #C8C8C8;
+ }
+
+.inSec2Tab {
+ text-align: center;
+ overflow: hidden;
+ background-color: #fff;
+ border-bottom: 1px solid #F0F0F0;
+ padding: 10px 0;
+ cursor: pointer;
+}
+
+.inSec2TabBox {
+ width: 50%;
+ float: left;
+ line-height: 0;
+ position: relative;
+}
+
+ .inSec2TabBox.active:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: -11px;
+ height: 3px;
+ /* background-color: #198BE3; */
+ }
+
+ .inSec2TabBox * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+ .inSec2TabBox span {
+ display: inline-block;
+ line-height: 24px;
+ }
+
+ .inSec2TabBox img {
+ width: 16px;
+ margin-right: 5px;
+ }
+
+.indexSec2Box {
+ height: calc(100% - 60px);
+}
+
+.inSec2Con {
+ display: none;
+ height: 100%;
+}
+
+ .inSec2Con.active {
+ display: block;
+ }
+
+.inSec2L {
+ height: 100%;
+ width: 110px;
+ float: left;
+ /* background-color: #F2F9FF; */
+}
+
+.inSec2R {
+ margin-left: 110px;
+ height: 100%;
+ position: relative;
+}
+
+.inSec2Llist li {
+ /* border-bottom: 1px solid #e0edef; */
+ padding: 5px 12px 5px;
+ line-height: 20px;
+ cursor: pointer;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+}
+
+.inSec2Llist span {
+ display: block;
+ width: 70px;
+}
+
+.inSec2Llist i {
+ font-style: normal;
+ display: inline-block;
+ float: right;
+ width: 18px;
+ height: 16px;
+ font-size: 12px;
+ color: #fff;
+ margin-left: 6px;
+ text-align: right;
+}
+
+/* .inSec2Llist li.active,
+.inSec2Llist li:hover {
+ background: #D8EEFF;
+ border-bottom-color: #D8EEFF;
+} */
+
+.indexSec2Li {
+ border-bottom: 1px dashed #EAEAEA;
+ padding: 10px 30px 10px 40px;
+ position: relative;
+ cursor: pointer;
+}
+
+ .indexSec2Li,
+ .indexSec2Li > span {
+ display: block;
+ }
+
+.indexSec2T {
+ position: relative;
+ line-height: 30px;
+}
+
+ .indexSec2T img {
+ position: absolute;
+ left: -25px;
+ top: 50%;
+ transform: translateY(-50%);
+ width: 20px;
+ }
+
+ .indexSec2T span {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+.indexSec2Li > i {
+ position: absolute;
+ top: 5px;
+ font-size: 16px;
+ right: 10px;
+ color: #a2a9a7;
+ cursor: pointer;
+}
+
+.indexSec2Txt {
+ font-size: 12px;
+ color: #a2a9a7;
+ line-height: 24px;
+}
+
+/*****index_sec2*******/
+
+
+/*****index_sec3*******/
+.index_sec3,
+.layui-form {
+ height: 100%;
+}
+
+.indexSec3Box {
+ margin: 0 120px;
+ height: 100%;
+ transition: padding .4s;
+ -moz-transition: padding .4s;
+ -ms-transition: padding .4s;
+ -o-transition: padding .4s;
+ -webkit-transition: padding .4s;
+}
+
+.inSec3Head {
+ background-color: #fff;
+ margin: 20px 0 0;
+ display: inline-block;
+ line-height: 0;
+ webkit-box-shadow: 5px 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 5px 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: 5px 0 10px rgba(114, 165, 205, 0.25);
+ cursor: pointer;
+}
+
+ .inSec3Head > *,
+ .inSec3HeadTabBox > * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.inSec3HeadTab {
+ padding: 0 15px;
+ position: relative;
+}
+
+ .inSec3HeadTab.active:after {
+ content: '';
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ height: 2px;
+ /* background-color: #198BE3; */
+ }
+
+ .inSec3HeadTab > * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.inSec3HeadTabImg {
+ line-height: 0;
+ width: 18px;
+}
+
+ .inSec3HeadTabImg img {
+ width: 100%;
+ }
+
+ .inSec3HeadTabImg img:last-child {
+ display: none;
+ }
+
+.inSec3HeadTab.active .inSec3HeadTabImg img:last-child {
+ display: inline-block;
+}
+
+.inSec3HeadTab.active .inSec3HeadTabImg img:first-child {
+ display: none;
+}
+
+.inSec3HeadTabTxt {
+ height: 36px;
+ line-height: 36px;
+ margin-left: 5px;
+}
+
+.inSec3HeadLine {
+ height: 24px;
+ width: 1px;
+ background-color: #EAEAEA;
+}
+
+.inSec3Setting,
+.inSec3HeadAdd {
+ padding: 0 15px;
+}
+
+.inSec3Box {
+ -webkit-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ background-color: #fff;
+}
+
+.inSec3Con {
+ overflow: auto;
+ height: 200px;
+ position: relative;
+}
+
+.inSec3Major {
+ float: left;
+ width: 25%;
+ padding: 19px 10px;
+ border-left: 1px dashed #EAEAEA;
+ border-bottom: 1px dashed #EAEAEA;
+}
+
+.inSec3MajorImgBox {
+ line-height: 0;
+}
+
+ .inSec3MajorImgBox * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.inSec3MajorImg {
+ width: 24px;
+ margin-right: 10px;
+}
+
+ .inSec3MajorImg img {
+ width: 100%;
+ }
+
+.inSec3MajorImgBox span {
+ width: 70%;
+ line-height: 24px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.inSec3MajorTxt {
+ text-align: right;
+ margin-top: 10px;
+}
+
+ .inSec3MajorTxt span {
+ font-weight: bold;
+ font-size: 20px;
+ }
+
+.inSec3Major:nth-child(1) .inSec3MajorTxt span {
+ color: #198BE3;
+}
+
+.inSec3Major:nth-child(2) .inSec3MajorTxt span {
+ color: #F6695F;
+}
+
+.inSec3Major:nth-child(3) .inSec3MajorTxt span {
+ color: #59D078;
+}
+
+.inSec3Major:nth-child(4) .inSec3MajorTxt span {
+ color: #8652FE;
+}
+
+.inSec3Major:nth-child(5) .inSec3MajorTxt span {
+ color: #ECA202;
+}
+
+.inSec3Major:nth-child(6) .inSec3MajorTxt span {
+ color: #00E7D4;
+}
+
+.inSec3Major:nth-child(7) .inSec3MajorTxt span {
+ color: #665FF5;
+}
+
+.inSec3Major:nth-child(8) .inSec3MajorTxt span {
+ color: #DBC009;
+}
+
+.inSec3L {
+ width: 130px;
+ float: left;
+ /* background-color: #F2F9FF; */
+ height: 100%;
+ overflow: auto;
+}
+
+.inSec3R {
+ margin-left: 130px;
+ height: 100%;
+ overflow: auto;
+}
+
+.workList li {
+ padding: 7px 5px;
+ /* border-bottom: 1px solid #E0F1FF; */
+ line-height: 0;
+ cursor: pointer;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+}
+
+ /* .workList li.active {
+ background-color: #D6EDFF;
+} */
+
+ .workList li > * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.workListImg img {
+ width: 100%;
+}
+
+.workListImg {
+ width: 14px;
+ margin-right: 2px;
+ line-height: 0;
+}
+
+.workList span {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ max-width: 70px;
+ line-height: 20px;
+}
+
+.workListTips span {
+ max-width: 59px;
+}
+
+.workListInfo span {
+ width: 70px;
+}
+
+.inSec3WorkBox {
+ padding: 0 10px;
+ display: none;
+ position: relative;
+ height: 100%;
+}
+
+ .inSec3WorkBox .inSec2List {
+ padding: 0;
+ }
+
+ .inSec3WorkBox .inSec2T {
+ width: 65%;
+ }
+
+ .inSec3WorkBox:first-child {
+ display: block;
+ }
+
+.inSec3Work {
+ border-bottom: 1px dashed #F0F0F0;
+ padding: 4px;
+ position: relative;
+}
+
+.inSec3WorkT {
+ margin-right: 66px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.inSec3WorkTime {
+ font-size: 12px;
+ margin-top: 4px;
+ color: #C3C3C3;
+}
+
+.inSec3WorkBtn {
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 50px;
+ height: 20px;
+ line-height: 20px;
+ text-align: center;
+ font-size: 12px;
+ /* background-color: #EAF5FF; */
+ /* color: #198BE3; */
+ border-radius: 10px;
+ cursor: pointer;
+}
+
+.inSec3WorkBtn2 {
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 50px;
+ height: 20px;
+ line-height: 20px;
+ text-align: center;
+ font-size: 12px;
+ /* color: #198BE3; */
+ border-radius: 10px;
+}
+
+.inSec2List {
+ padding: 0 10px;
+ background: #fff;
+}
+
+ .inSec2List li {
+ padding: 9px 0;
+ border-top: 1px dashed #E7E7E7;
+ position: relative;
+ }
+
+ .inSec2List li:first-child {
+ border: 0;
+ }
+
+ .inSec2List a,
+ .inSec2List span {
+ display: block;
+ }
+
+ .inSec2List a {
+ font-size: 14px;
+ }
+
+.inSec2T {
+ width: 70%;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+ .inSec2T img {
+ float: left;
+ margin-right: 8px;
+ width: 18px;
+ margin-top: 3px;
+ }
+
+.inSec2Time {
+ text-align: right;
+ color: #C2C2C2;
+ float: right;
+}
+
+.inSec3Num {
+ font-style: normal;
+ display: inline-block;
+ width: 18px;
+ height: 16px;
+ line-height: 16px;
+ border-radius: 9px;
+ font-size: 12px;
+ color: #fff;
+ margin-left: 6px;
+ /* color: #2E96E6; */
+ text-align: right;
+}
+
+.inSec3Link {
+ display: inline-block;
+ line-height: 24px;
+ padding: 0 15px;
+ color: #424242;
+ border-radius: 4px;
+ margin-top: 10px;
+ margin-left: 10px;
+}
+
+.inSec3Link1 {
+ background-color: #CDFFF5;
+ border: 1px solid #1CDBB5;
+}
+
+.inSec3Link2 {
+ background-color: #F2F9FF;
+ border: 1px solid #8ECBFF;
+}
+
+.inSec3Link3 {
+ background-color: #FFF5B1;
+ border: 1px solid #F7DF6F;
+}
+
+.inSec3Link4 {
+ background-color: #FFCDCA;
+ border: 1px solid #FDA09A;
+}
+
+.inSec3Link5 {
+ background-color: #F0E9FF;
+ border: 1px solid #D3BEFF;
+}
+
+.inSec3Link6 {
+ background-color: #CEFFFC;
+ border: 1px solid #79F1E9;
+}
+
+.inSec3Link7 {
+ background-color: #E7EDFF;
+ border: 1px solid #A8BCF8;
+}
+
+.inSec3Link8 {
+ background-color: #FFEEE1;
+ border: 1px solid #F7B482;
+}
+
+.serRow {
+ overflow: hidden;
+ margin: 0 -4px;
+ padding-bottom: 10px;
+}
+
+.serCol3 {
+ float: left;
+ width: 33.333333%;
+ padding: 0 4px;
+ margin-top: 12px;
+}
+
+.serCon,
+.serCon span {
+ display: block;
+ font-size: 12px;
+}
+
+.serCon {
+ font-size: 14px;
+ text-align: center;
+}
+
+.serImg {
+ margin: 0 auto 5px;
+ line-height: 0;
+ width: 35px;
+ height: 35px;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+ .serImg img {
+ width: 100%;
+ }
+
+.serTxt {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
+
+.propagateBox {
+ overflow: hidden;
+}
+
+.propagateL {
+ float: left;
+ width: 110px;
+}
+
+.propagateImg {
+ line-height: 0;
+ overflow: hidden;
+ padding-bottom: 51.798561%;
+ height: 0;
+}
+
+.propagateImg {
+ width: 100%;
+}
+
+.propagateR {
+ margin-left: 125px;
+}
+
+.propagateT {
+ width: 100%;
+ display: -webkit-box !important;
+ -webkit-box-orient: vertical;
+ -webkit-line-clamp: 2;
+ overflow: hidden;
+ text-overflow: ellipsis;
+}
+
+.specialBox {
+ display: block;
+ line-height: 0;
+ position: relative;
+ height: 0;
+ padding-bottom: 31.875%;
+ overflow: hidden;
+}
+
+.specialBox1 {
+ padding-bottom: 19.094488%;
+ margin: 10px 10px 0;
+}
+
+.specialBox img {
+ width: 100%;
+}
+
+.specialTxt {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ background-color: rgba(0, 0, 0, .7);
+ text-align: center;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+}
+
+ .specialTxt div {
+ color: #fff;
+ font-size: 12px;
+ position: absolute;
+ top: 50%;
+ left: 0;
+ right: 0;
+ transform: translateY(-50%);
+ }
+
+.specialBox:hover .specialTxt {
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+}
+
+.specialRow {
+ overflow: hidden;
+ margin: 0 5px;
+ padding-bottom: 10px;
+}
+
+.specialCol12 {
+ float: left;
+ width: 100%;
+ padding: 0 5px;
+ margin-top: 10px;
+}
+
+.specialCol4 {
+ float: left;
+ width: 33.333333%;
+ padding: 0 5px;
+ margin-top: 10px;
+}
+
+.echartBox {
+ height: 100%;
+}
+
+.layui-input-block {
+ position: absolute;
+ right: 22px;
+ top: 10px;
+ width: 140px;
+}
+
+.layui-input,
+.layui-select,
+.layui-textarea {
+ height: 34px;
+ line-height: 34px\9;
+}
+
+.layui-form-select dl {
+ /* top: 38px; */
+ max-height: 130px;
+}
+
+ .layui-form-select dl dd.layui-this {
+ background-color: #198BE3;
+ }
+
+.inSec3majorTxt {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ height: 40px;
+ text-align: center;
+}
+
+.inSec3majorTxt1 {
+ left: 0;
+ right: 65%;
+}
+
+.inSec3majorTxt2 {
+ left: 0;
+ right: 0;
+}
+
+.inSec3majorTxt3 {
+ left: 65%;
+ right: 0;
+}
+
+.inSec3majorTxt div:first-child {
+ font-size: 14px;
+}
+
+.inSec3majorTxt div:last-child {
+ font-size: 24px;
+ font-weight: bold;
+}
+
+.overviewBox {
+ padding: 15px 20px;
+ width: 33.333333%;
+ float: left;
+ border-left: 1px dashed #EAEAEA;
+ border-bottom: 1px dashed #EAEAEA;
+}
+
+.overviewImg {
+ line-height: 0;
+ margin-bottom: 3px;
+}
+
+ .overviewImg * {
+ display: inline-block;
+ vertical-align: top;
+ }
+
+ .overviewImg img {
+ width: 45px;
+ margin-right: 10px;
+ }
+
+ .overviewImg span {
+ line-height: 20px;
+ }
+
+.overviewTxt {
+ text-align: right;
+ font-size: 20px;
+ font-weight: bold;
+ /* line-height: 20px; */
+}
+
+.overviewBox:nth-child(1) .overviewTxt {
+ color: #4A9ADE;
+}
+
+.overviewBox:nth-child(2) .overviewTxt {
+ color: #59D078;
+}
+
+.overviewBox:nth-child(3) .overviewTxt {
+ color: #EF9508;
+}
+
+.overviewBox:nth-child(4) .overviewTxt {
+ color: #F6685E;
+}
+
+.overviewBox:nth-child(5) .overviewTxt {
+ color: #7A74F1;
+}
+
+.overviewBox:nth-child(6) .overviewTxt {
+ color: #34E9F9;
+}
+
+
+/*****index_sec3*******/
+
+/*****search*******/
+.search {
+ position: fixed;
+ z-index: 999;
+ left: 0;
+ right: 0;
+ height: 100%;
+ top: -100%;
+ /* background-color: #005190; */
+ padding: 90px 40px 0;
+ transition: all 0.5s;
+ -moz-transition: all 0.5s;
+ -ms-transition: all 0.5s;
+ -o-transition: all 0.5s;
+ -webkit-transition: all 0.5s;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+}
+
+body.active .search {
+ top: 0;
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+}
+
+.searchL {
+ float: left;
+ height: 100%;
+ width: 180px;
+ overflow: auto;
+}
+
+.searchR {
+ margin-left: 200px;
+ height: 100%;
+ overflow: auto;
+ padding-top: 5px;
+}
+
+.searchLT {
+ /* color: #82C7FE; */
+ margin-bottom: 6px;
+ line-height: 24px;
+ font-weight: bold;
+}
+
+.searchLList {
+ height: calc(100% - 30px);
+ overflow: auto;
+ /* padding-left: 10px; */
+}
+
+ .searchLList li {
+ padding: 3px 12px;
+ transition: background 0.3s;
+ -moz-transition: background 0.3s;
+ -ms-transition: background 0.3s;
+ -o-transition: background 0.3s;
+ -webkit-transition: background 0.3s;
+ }
+
+ .searchLList a {
+ display: block;
+ line-height: 26px;
+ font-size: 14px;
+ color: #fff;
+ }
+
+ .searchLList span {
+ display: block;
+ margin-left: 30px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ }
+
+ .searchLList img {
+ width: 22px;
+ float: left;
+ margin-top: 2px;
+ }
+
+.searchTop {
+ line-height: 22px;
+ margin-bottom: 15px;
+}
+
+ .searchTop > span {
+ float: left;
+ /* color: #63A7DF; */
+ }
+
+.searchTopList {
+ margin-left: 70px;
+}
+
+ .searchTopList li {
+ display: inline-block;
+ padding: 0 15px;
+ margin: 0 2px;
+ color: #fff;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ cursor: pointer;
+ border-radius: 11px;
+ }
+
+/* .searchTopList li.active,
+.searchTopList li:hover {
+ background-color: #0F85E2;
+} */
+
+.searchRTop {
+ line-height: 24px;
+ padding: 4px 12px;
+ /* background-color: #003E83; */
+ margin-top: 20px;
+ /* color: #81C7FE; */
+}
+
+.searchList {
+ margin: 0 0 20px;
+}
+
+.searchLi {
+ width: 170px;
+ margin-right: 20px;
+ margin-top: 20px;
+ float: left;
+ position: relative;
+}
+
+ .searchLi > * {
+ display: inline-block;
+ vertical-align: middle;
+ }
+
+.searchLiImg {
+ line-height: 0;
+ width: 40px;
+ height: 40px;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+ .searchLiImg img {
+ width: 100%;
+ }
+
+.searchLiTxt {
+ line-height: 24px;
+ margin-left: 5px;
+ color: #fff;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ width: 70%;
+}
+
+.searchLink,
+.searchLink span {
+ display: block;
+}
+
+.searchLink {
+ position: absolute;
+ left: 0;
+ top: 50%;
+ /* transform: translateY(-50%); */
+ background-color: #fff;
+ width: 220px;
+ z-index: -1;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ transform: translateY(-50%) scale(1, 0);
+ -webkit-transform: translateY(-50%) scale(1, 0);
+ -moz-transform: translateY(-50%) scale(1, 0);
+ -o-transform: translateY(-50%) scale(1, 0);
+ -ms-transform: translateY(-50%) scale(1, 0);
+}
+
+.searchLi:hover .searchLink {
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+ z-index: 1;
+ transform: translateY(-50%) scale(1, 1);
+ -webkit-transform: translateY(-50%) scale(1, 1);
+ -moz-transform: translateY(-50%) scale(1, 1);
+ -o-transform: translateY(-50%) scale(1, 1);
+ -ms-transform: translateY(-50%) scale(1, 1);
+}
+
+.searchLinkT {
+ padding: 0 8px;
+ line-height: 28px;
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+ border-bottom: 1px solid #EEECEC;
+}
+
+.searchLinkBox {
+ line-height: 0;
+ padding: 10px 8px;
+}
+
+ .searchLinkBox > * {
+ display: inline-block !important;
+ vertical-align: middle;
+ }
+
+.searchLinkImg {
+ width: 50px;
+ height: 50px;
+ border-radius: 50%;
+ overflow: hidden;
+}
+
+ .searchLinkImg img {
+ width: 100%;
+ }
+
+.searchLinkCon {
+ width: 130px;
+ margin-left: 15px;
+ line-height: 20px;
+}
+
+.searchLinkTxt {
+ color: rgba(0, 0, 0, .5);
+}
+
+/*****search*******/
+
+/*****desktopSet*******/
+.desktopSetBox.active .desktopSetZhe {
+ display: block;
+}
+
+.desktopSetBox.active .desktopSet {
+ z-index: 99999;
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+}
+
+.desktopSetZhe {
+ position: fixed;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ z-index: 99998;
+ background-color: rgba(0, 0, 0, .5);
+ display: none;
+}
+
+.desktopSet {
+ padding: 1px 0;
+ width: 540px;
+ /* height: 300px; */
+ position: fixed;
+ left: 0;
+ right: 0;
+ margin: auto;
+ top: 50%;
+ transform: translateY(-50%);
+ background-color: #fff;
+ border-radius: 10px;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ font-size: 12px;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ z-index: -1;
+}
+
+ .desktopSet > img {
+ position: absolute;
+ right: 10px;
+ top: 10px;
+ width: 22px;
+ cursor: pointer;
+ }
+
+.deskSetT {
+ text-align: center;
+ font-weight: bold;
+ font-size: 18px;
+ margin-top: 16px;
+ color: #333;
+}
+
+.deskSetInfo {
+ text-align: center;
+ margin: 3px 0 20px;
+}
+
+.deskSetList {
+}
+
+.deskSetLi {
+ height: 52px;
+ padding: 11px 30px;
+ line-height: 0;
+ cursor: pointer;
+ position: relative;
+ transition: background 0.3s;
+ -moz-transition: background 0.3s;
+ -ms-transition: background 0.3s;
+ -o-transition: background 0.3s;
+ -webkit-transition: background 0.3s;
+}
+
+ .deskSetLi.active {
+ background-color: #FFF6DA;
+ }
+
+ .deskSetLi:hover {
+ background-color: #E9F2FF;
+ }
+
+ .deskSetLi .fa {
+ color: #A2A8B2;
+ line-height: 30px;
+ font-size: 16px;
+ }
+
+ .deskSetLi .faR {
+ float: right;
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+ filter: alpha(opacity=0);
+ -moz-opacity: 0;
+ -khtml-opacity: 0;
+ opacity: 0;
+ }
+
+ .deskSetLi:hover .faR {
+ filter: alpha(opacity=100);
+ -moz-opacity: 1;
+ -khtml-opacity: 1;
+ opacity: 1;
+ }
+
+ .deskSetLi > * {
+ display: inline-block;
+ vertical-align: middle;
+ line-height: 0;
+ }
+
+.deskName {
+ width: 200px;
+ margin-left: 15px;
+ position: relative;
+}
+
+.deskNameTxt {
+ line-height: 30px;
+ padding: 0 12px;
+}
+
+.deskNameInput {
+ display: none;
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ top: 0;
+ background: #D1D9E5;
+ border-radius: 15px;
+ padding: 0 60px 0 12px;
+}
+
+ .deskNameInput.active {
+ display: block;
+ }
+
+ .deskNameInput input {
+ border: 0;
+ background: transparent;
+ line-height: 24px;
+ padding-top: 3px;
+ width: 100%;
+ display: block;
+ color: rgba(0, 0, 0, .6);
+ }
+
+ .deskNameInput span {
+ position: absolute;
+ right: 20px;
+ top: 0;
+ line-height: 30px;
+ }
+
+.deskSetLiTips {
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ right: 0;
+ text-align: right;
+ /* background: #fff; */
+ width: 0;
+ transition: all .1s;
+ -moz-transition: all .1s;
+ -ms-transition: all .1s;
+ -o-transition: all .1s;
+ -webkit-transition: all .1s;
+ overflow: hidden;
+}
+
+.deskSetLi.active .deskSetLiTips {
+ width: auto;
+}
+
+.deskSetLiTips > * {
+ float: left;
+}
+
+.deskSetLiTips > span {
+ line-height: 52px;
+ color: #fec006;
+ margin-right: 10px;
+}
+
+.deskSetLiTips div {
+ width: 52px;
+ height: 100%;
+ text-align: center;
+}
+
+.deskSetLiTips img {
+ height: 24px;
+ margin-top: 14px;
+}
+
+.deskSetClose {
+ background: #A2A9A7;
+}
+
+.deskSetTrue {
+ background: #FED55B;
+}
+
+.deskSetBtn {
+ width: 120px;
+ height: 40px;
+ line-height: 40px;
+ border-radius: 20px;
+ color: #fff;
+ font-size: 16px;
+ text-align: center;
+ cursor: pointer;
+ margin: 30px auto;
+ background: rgba(105, 165, 254, .6);
+ transition: all 0.3s;
+ -moz-transition: all 0.3s;
+ -ms-transition: all 0.3s;
+ -o-transition: all 0.3s;
+ -webkit-transition: all 0.3s;
+}
+
+ .deskSetBtn:hover {
+ background: rgba(105, 165, 254, 1);
+ }
+
+/*****desktopSet*******/
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index2.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index2.css
new file mode 100644
index 000000000..8a859f1b1
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index2.css
@@ -0,0 +1,44 @@
+.inSec2TabBox {
+ width: 33.333333%;
+}
+.in2Sec3Row {
+ padding: 0 24px 30px;
+ overflow: hidden;
+}
+
+.in2Sec3Col6 {
+ width: 50%;
+ float: left;
+ padding: 0 24px;
+ margin-top: 24px;
+}
+
+.in2Sec3Con,
+.in2Sec3Con span {
+ display: block;
+}
+
+.in2Sec3Con {
+ font-size: 14px;
+ text-align: center;
+}
+
+.in2Sec3Img {
+ line-height: 0;
+ padding: 15px;
+ height: 70px;
+ width: 70px;
+ margin: 0 auto 10px;
+ border: 1px solid #EDEDED;
+ border-radius: 8px;
+}
+
+.in2Sec3Img img {
+ width: 100%;
+}
+
+.in2Sec3Txt {
+ overflow: hidden;
+ white-space: nowrap;
+ text-overflow: ellipsis;
+}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index3.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index3.css
new file mode 100644
index 000000000..261122bb4
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/index3.css
@@ -0,0 +1,435 @@
+.in3Sec3L {
+ float: left;
+ /* padding-left: 40px; */
+ width: 55%;
+ overflow: hidden;
+ margin-top: 12%;
+}
+
+.in3Sec3LBox {
+ overflow: hidden;
+ font-size: 14px;
+ float: left;
+ margin-left: 28px;
+}
+
+.in3Sec3LBox img {
+ float: left;
+ width: 35px;
+ margin-right: 10px;
+ margin-top: 6px;
+}
+
+.in3Sec3LBox>div {
+ float: left;
+ font-size: 12px;
+}
+
+.in3Sec3LT {
+ font-size: 23px;
+ font-weight: bold;
+ margin-top: 0px;
+}
+
+.in3Sec3ClassTxt {
+ position: absolute;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ text-align: center;
+ margin: auto;
+ height: 24px;
+ width: 45%;
+ line-height: 24px;
+ font-size: 14px;
+}
+
+#class {
+ float: right;
+ width: 45%;
+}
+
+.classSort {
+ right: inherit;
+ left: 28px;
+ margin-left: 0;
+}
+
+.in3Sec3Total {
+ color: #424242;
+ font-size: 14px;
+ margin: 20px 0;
+}
+
+.in3Sec3Total b {
+ font-size: 20px;
+}
+
+.in3Sec3PerBox {
+ margin-top: 15px;
+}
+
+.in3Sec3Per {
+ color: #424242;
+ display: inline-block;
+ position: relative;
+ font-size: 14px;
+}
+
+.in3Sec3Per b {
+ font-size: 16px;
+}
+
+.in3Sec3Icon {
+ position: absolute;
+ top: 50%;
+ margin-top: -8px;
+ left: calc(100% + 10px);
+ height: 16px;
+ width: 32px;
+ line-height: 16px;
+ font-size: 12px;
+ color: #fff !important;
+ border-radius: 8px;
+ text-align: center;
+}
+
+.in3Sec3Icon::before {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: -8px;
+ margin-top: -5px;
+ border: 5px solid transparent;
+ color: #fff;
+}
+
+.in3Sec3Icon.in3Sec3Green {
+ background-color: #0BB56C;
+}
+
+.in3Sec3Icon.in3Sec3Green::before {
+ border-right-color: #0BB56C;
+}
+
+.in3Sec3Icon.in3Sec3Red {
+ background-color: #EB5858;
+}
+
+.in3Sec3Icon.in3Sec3Red::before {
+ border-right-color: #EB5858;
+}
+
+.in3Sec3Line {
+ margin: 22px -22px;
+ height: 2px;
+ background-color: #FAFAFA;
+}
+
+.in3Sec3Echart1Box {
+ height: 190px;
+ position: relative;
+}
+
+.in3Sec3Echart1Con {
+ height: 24px;
+ position: absolute;
+ bottom: -10px;
+ left: 0;
+ margin: auto;
+ font-size: 12px;
+ right: 0;
+ text-align: center;
+}
+
+.in3Sec3Echart1Con b {
+ font-size: 18px;
+ color: #EB5858;
+}
+
+.in3Sec3Echart1 {
+ height: 100%;
+ margin-left: 100px;
+ padding-top: 1px;
+}
+
+.in3Sec3Echart2 {
+ height: 100%;
+ padding-top: 1px;
+}
+
+.in3Sec3Echart1Img {
+ position: absolute;
+ left: 100px;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 45px;
+ height: 63px;
+}
+
+.teacherBox>* {
+ float: left;
+ width: 25%;
+}
+
+.teacherCon {
+ padding-left: 25px;
+}
+
+.ageTxt {
+ position: absolute;
+ height: 36px;
+ line-height: 18px;
+ top: 0;
+ bottom: 0;
+ left: 9%;
+ right: 0;
+ margin: auto;
+ text-align: center;
+ font-size: 12px;
+}
+
+.organT {
+ text-align: center;
+ font-size: 14px;
+}
+
+.organLine {
+ height: 150px;
+ margin-top: 10px;
+ width: 60px;
+ margin: 10px auto 0;
+ background-color: #F6685E;
+ position: relative;
+ padding-top: 2px;
+}
+
+.organLine>div {
+ background-color: #fff;
+ height: 2px;
+ margin-top: 2px;
+ position: relative;
+ z-index: 3;
+}
+
+.organLine div:first-child {
+ margin-top: 0;
+}
+
+.organLine .organZ {
+ position: absolute;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ background-color: #72A7F6;
+ z-index: 2;
+}
+
+.organLine .organCon {
+ position: absolute;
+ width: 64px;
+ height: 54px;
+ background-color: transparent;
+ font-size: 12px;
+}
+
+.organCon1 {
+ right: 110%;
+ top: 10%;
+}
+
+.organCon2 {
+ left: 110%;
+ bottom: 10%;
+}
+
+.organCon1 span {
+ color: #F6685E;
+}
+
+.organCon2 span {
+ color: #72A7F6;
+}
+
+.in3Sec3Echart1 {
+ height: 100%;
+ margin-left: 100px;
+ padding-top: 1px;
+}
+
+.in3Sec3Echart2 {
+ height: 100%;
+ padding-top: 1px;
+}
+
+.in3Sec3Echart1Img {
+ position: absolute;
+ left: 100px;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 45px;
+ height: 63px;
+}
+
+.in3Sec3Echart1Img1 {
+ position: absolute;
+ left: 0;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 45px;
+ height: 63px;
+}
+
+.in3Sec3Echart1Con1 {
+ height: 46px;
+ position: absolute;
+ bottom: 0;
+ left: -30px;
+ margin: auto;
+ font-size: 12px;
+}
+.in3Sec3Echart1Con2 {
+ /* height: 46px; */
+ position: absolute;
+ bottom: 42px;
+ left: 0;
+ right: 0;
+ margin: auto;
+ font-size: 12px;
+ text-align: center;
+}
+.in3Sec3Echart1Con3{
+ position: absolute;
+ left: -30px;
+ top: 10px;
+ margin: auto;
+ font-size: 12px;
+}
+.in3Sec3Echart1Con1 b,.in3Sec3Echart1Con2 b,.in3Sec3Echart1Con3 b {
+ font-size: 18px;
+ color: #EB5858;
+}
+.in3Sec3Echart1Con2 b {
+ margin-left: 10px;
+}
+.in3Sec3Echart1 {
+ height: 100%;
+ margin-left: 100px;
+ padding-top: 1px;
+}
+
+.in3Sec3Echart2 {
+ height: 100%;
+ padding-top: 1px;
+}
+
+.in3Sec3Echart1Img {
+ position: absolute;
+ left: 100px;
+ right: 0;
+ top: 0;
+ bottom: 0;
+ margin: auto;
+ width: 45px;
+ height: 63px;
+}
+
+.toClass {
+ width: 50%;
+ height: 40%;
+ margin: 17% auto 0;
+ position: relative;
+ background-color: #F4F4F4;
+ border-radius: 8px;
+}
+
+.toClassImg1 {
+ width: 100%;
+ position: absolute;
+ bottom: 100%;
+ left: 0;
+}
+
+.toClassImg2 {
+ height: 36px;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ margin: auto;
+ line-height: 0;
+ text-align: center;
+ z-index: 3;
+}
+
+.toClassImg2 img {
+ height: 100%;
+}
+
+.toClassBl {
+ position: absolute;
+ z-index: 2;
+ left: 0;
+ right: 0;
+ bottom: 0;
+ border-radius: 0 0 8px 8px;
+}
+
+.toClassBl.red {
+ background-color: #E44E4E;
+}
+
+.toClassBl.blue {
+ background-color: #64CDFE;
+}
+
+.toClassBl.green {
+ background-color: #0AB56B;
+}
+
+.toClassLegend {
+ line-height: 0;
+ text-align: right;
+ position: absolute;
+ bottom: 0px;
+ right: 0;
+}
+
+.toClassLegend * {
+ display: inline-block;
+ vertical-align: middle;
+ background-color: transparent;
+}
+.toClassLegend > *{
+ float: left;
+ margin-top: 10px;
+}
+.toClassLegend .red i {
+ background-color: #E44E4E;
+}
+
+.toClassLegend .blue i {
+ background-color: #64CDFE;
+}
+
+.toClassLegend .green i {
+ background-color: #0AB56B;
+}
+
+.toClassLegend i {
+ width: 10px;
+ height: 10px;
+ border-radius: 2px;
+ margin: 0 5px 0 10px;
+}
+
+.toClassLegend span {
+ font-size: 12px;
+}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/login5.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/login5.css
new file mode 100644
index 000000000..db361bfce
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/login5.css
@@ -0,0 +1,231 @@
+.logins{
+ display: none;
+}
+.loginZhe {
+ position: fixed;
+ top: 0;
+ left: 0;
+ bottom: 0;
+ right: 0;
+ z-index: 99998;
+ background-color: rgba(0, 0, 0, .5);
+}
+
+.loginBox {
+ width: 1000px;
+ position: fixed;
+ z-index: 99999;
+ left: 0;
+ right: 0;
+ top: 50%;
+ transform: translateY(-50%);
+ margin: auto;
+}
+
+.loginLogo {
+ line-height: 0;
+ margin-bottom: 40px;
+}
+
+.loginLogo * {
+ display: inline-block;
+ vertical-align: middle;
+}
+
+.loginLogo img {
+ width: 410px;
+}
+
+.loginEdition {
+ color: #4B45C9;
+ font-size: 14px;
+ margin-left: 20px;
+ margin-top: 14px;
+}
+
+.login {
+ height: 585px;
+ -webkit-box-shadow: 0 0 10px rgba(177, 175, 211, .2);
+ -moz-box-shadow: 0 0 10px rgba(177, 175, 211, .2);
+ box-shadow: 0 0 10px rgba(177, 175, 211, .2);
+ background: #fff;
+ position: relative;
+ border-radius: 32px;
+ padding: 50px 70px;
+ background: url('../../images/DragSSO/login5-1.png');
+ background-size: cover;
+ -moz-background-size: cover;
+ -webkit-background-size: cover;
+ -o-background-size: cover;
+ filter: progid:DXImageTransform.Microsoft.AlphaImageLoader (src='../../images/DragSSO/login5-1.png', sizingMethod='scale');
+}
+
+.loginTitle {
+ font-size: 24px;
+ color: #3B3A3A;
+ margin-bottom: 30px;
+ text-align: center;
+}
+
+.loginTab {
+ position: absolute;
+ width: 46px;
+ left: -46px;
+ top: 65px;
+}
+
+.loginTab div {
+ cursor: pointer;
+ border-radius: 8px 0 0 8px;
+ height: 46px;
+ line-height: 0;
+ text-align: center;
+ background: #fff;
+ margin-top: 5px;
+ -webkit-box-shadow: 0 0 10px rgba(208, 206, 236, .2);
+ -moz-box-shadow: 0 0 10px rgba(208, 206, 236, .2);
+ box-shadow: 0 0 10px rgba(208, 206, 236, .2);
+}
+
+.loginTab div.active {
+ background: #198BE3;
+}
+
+.loginTab img {
+ height: 22px;
+ margin-top: 12px;
+}
+
+.loginTab div.active .loginTabImg1,
+.loginTabImg2 {
+ display: none;
+}
+
+.loginTab div.active .loginTabImg2 {
+ display: inline-block;
+}
+
+.loginCon {
+ width: 310px;
+}
+
+.loginInputTxt {
+ font-size: 14px;
+ color: #707070;
+ margin-bottom: 8px;
+}
+
+.loginInput {
+ margin-bottom: 15px;
+ position: relative;
+}
+
+.loginInput input {
+ height: 40px;
+ display: block;
+ width: 100%;
+ line-height: 26px;
+ padding: 7px 10px 7px 10px;
+}
+
+.codeBox {
+ position: relative;
+}
+
+#lr_verifycode_input {
+ width: 170px;
+}
+
+.variCode {
+ position: absolute;
+ right: 0;
+ top: 0;
+ height: 100%;
+ width: 110px;
+ line-height: 0;
+}
+
+.variCode img {
+ width: 100%;
+ height: 100%;
+}
+
+.loginBtn {
+ overflow: hidden;
+ margin-top: 25px;
+}
+
+.loginBtn input {
+ height: 48px;
+ cursor: pointer;
+ width: 100%;
+ background: #198BE3;
+ border-radius: 24px;
+ font-size: 16px;
+ color: #fff;
+ line-height: 46px;
+ border: 1px solid #198BE3;
+ box-shadow: 0 0 0 2px rgba(255, 255, 255, 0) inset !important;
+}
+
+.loginBtn2 {
+ margin-top: 10px;
+}
+
+.loginBtn2 input {
+ background: #fff;
+ color: #198BE3;
+}
+
+.qrCodeBox {
+ font-size: 14px;
+ display: none;
+}
+
+#qrCode {
+ margin: 70px auto 10px;
+ width: 200px;
+}
+
+.loginFooter {
+ position: absolute;
+ bottom: 0;
+ left: 0;
+ right: 0;
+ text-align: center;
+ color: #705EED;
+ font-size: 14px;
+ line-height: 30px;
+ /*background: #E8E9FD;*/
+ padding: 20px 0;
+}
+
+.tips {
+ position: absolute;
+ right: 42px;
+ bottom: 20px;
+ color: #6AB8FE;
+ font-size: 13px;
+}
+.tips img{
+ margin-right: 5px;
+ position: relative;
+ top: -1px;
+}
+.wx{
+ line-height: 0;
+ margin-top: 30px;
+ cursor: pointer;
+}
+.wx > *{
+ display: inline-block;
+ vertical-align: middle;
+}
+.wx img{
+ width: 40px;
+ margin-right: 10px;
+}
+.wx span{
+ line-height: 24px;
+ color: #65C15D;
+}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/red.css b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/red.css
new file mode 100644
index 000000000..af70cc143
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/css/DragSSO/red.css
@@ -0,0 +1,141 @@
+html,body{
+ background: #FFE9E7;
+}
+.header{
+ background-image:url('../../images/DragSSO/headBg-red.jpg');
+ filter:progid:DXImageTransform.Microsoft.AlphaImageLoader (src='../../images/DragSSO/headBg-red.jpg', sizingMethod='scale');
+}
+body.active .header {
+ background-image: url(../../images/DragSSO/headBg-red.jpg);
+}
+.headNum{
+ color: #C32015;
+}
+
+.inSec1List1{
+ background: #FFF2F1;
+}
+.inSec1List1 li.active,.inSec1List1 li:hover{
+ background: #FFD9D6;
+ border-bottom-color: #FFD9D6;
+}
+.inSec1List1 li.active a,.inSec1List1 li:hover a{
+ color: #C32015;
+}
+.inSec1List1 li{
+ border-bottom: 1px solid #FDE6E4;
+}
+.headModeTxt {
+ background: #ff2a1b;
+}
+
+.headModeList {
+ background-color: #ff2a1b;
+ -webkit-box-shadow: 0 5px 6px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 0 5px 6px rgba(114, 165, 205, 0.25);
+ box-shadow: 0 5px 6px rgba(114, 165, 205, 0.25);
+}
+.headModeList li.active {
+ background-color: #C32015;
+}
+.headTab li:after {
+ background: #DB7973;
+}
+.inSec3HeadTab.active:after {
+ background-color: #C32015;
+}
+.inSecLeftCon:hover {
+ background-color: #C32015;
+ border-color: #C32015;
+}
+.inSec1TabBox.active:after {
+ background-color: #C32015;
+}
+.index_sec2 .inSec1T{
+ background: #C32015;
+}
+.inSec1List2 li.active,.inSec1List2 li:hover{
+ background: #FFD9D6;
+}
+.aLeft:hover {
+ background-color: #FFD9D6;
+}
+.inSecT {
+ background-color: #C32015;
+}
+.more {
+ background-color: #DB7973;
+}
+.inSec3L {
+ background-color: #FFF2F1;
+}
+.workList li.active {
+ background-color: #FFD9D6;
+}
+.workList li {
+ border-bottom: 1px solid #FDE6E4;
+}
+.inSec3Num {
+ color: #C32015;
+}
+.inSec2TabBox.active:after {
+ background-color: #C32015;
+}
+.inSec2L {
+ background-color: #FFF2F1;
+}
+.inSec2Llist i {
+ color: #C32015;
+}
+.inSec3WorkBtn {
+ background-color: #FFF2F1;
+ color: #C32015;
+}
+.inSec3WorkBtn2 {
+ color: #C32015;
+}
+
+.inSec1Drag div:hover {
+ background-color: #FFD9D6;
+}
+.inSec2Llist li {
+ border-bottom: 1px solid #FDE6E4;
+}
+.inSec2Llist li.active,
+.inSec2Llist li:hover {
+ background: #FFD9D6;
+ border-bottom-color: #FFD9D6;
+}
+.aRight:hover {
+ background-color: #FFD9D6;
+}
+.inSecShadow{
+ -webkit-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ -moz-box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+ box-shadow: 0 0 10px rgba(114, 165, 205, 0.25);
+}
+/* search */
+.search {
+ background-color: #79140d;
+}
+.searchLT {
+ color: #ce574e;
+}
+.searchTop>span {
+ color: #ce574e;
+}
+.searchTopList li.active,
+.searchTopList li:hover {
+ background-color: #C32015;
+}
+
+.searchRTop {
+ background-color: #63100a;
+ color: #ce574e;
+}
+.headSearchClose {
+ border: 1px solid #ea2d20;
+}
+.headSearchClose:hover {
+ background-color: #ea2d20;
+}
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/close.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/close.png
new file mode 100644
index 000000000..9b6fed025
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/close.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/close2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/close2.png
new file mode 100644
index 000000000..233036ea8
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/close2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/download.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/download.png
new file mode 100644
index 000000000..96c8214ca
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/download.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/duigou.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/duigou.png
new file mode 100644
index 000000000..89c747b29
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/duigou.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head1.png
new file mode 100644
index 000000000..3f9cdf01b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head2.png
new file mode 100644
index 000000000..a7282c4cd
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head3.png
new file mode 100644
index 000000000..d7c75e42f
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-1.png
new file mode 100644
index 000000000..5d4c379d9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-2.png
new file mode 100644
index 000000000..aa736481e
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-3.png
new file mode 100644
index 000000000..2b58931fd
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4.png
new file mode 100644
index 000000000..5f368a256
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/head4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg-green.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg-green.jpg
new file mode 100644
index 000000000..8417c68fe
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg-green.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg-red.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg-red.jpg
new file mode 100644
index 000000000..7eed0c16b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg-red.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg.jpg
new file mode 100644
index 000000000..649f82686
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg2.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg2.jpg
new file mode 100644
index 000000000..bdebedef5
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/headBg2.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-10.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-10.png
new file mode 100644
index 000000000..06a77b9fa
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-10.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-11.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-11.png
new file mode 100644
index 000000000..71ae0ccb0
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-11.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-12.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-12.png
new file mode 100644
index 000000000..7bed01fcc
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-12.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-13.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-13.png
new file mode 100644
index 000000000..ac2626def
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-13.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-14.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-14.png
new file mode 100644
index 000000000..17698f48f
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-14.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-15.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-15.png
new file mode 100644
index 000000000..7208427c3
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-15.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-16.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-16.png
new file mode 100644
index 000000000..141e6e5fa
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-16.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-17.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-17.png
new file mode 100644
index 000000000..da6cedf0f
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-17.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-18.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-18.png
new file mode 100644
index 000000000..fca85af47
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-18.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-19.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-19.png
new file mode 100644
index 000000000..060be9fb3
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-19.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-2.png
new file mode 100644
index 000000000..8e352a533
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-20.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-20.png
new file mode 100644
index 000000000..a5727dbb8
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-20.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-21.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-21.png
new file mode 100644
index 000000000..42dd8ab33
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-21.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-22.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-22.png
new file mode 100644
index 000000000..ac67bff2c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-22.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-3.png
new file mode 100644
index 000000000..6e41fa1b0
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-4.png
new file mode 100644
index 000000000..357607b6a
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-5.png
new file mode 100644
index 000000000..214ce1cdb
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-6.png
new file mode 100644
index 000000000..750a4f488
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-7.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-7.png
new file mode 100644
index 000000000..3fdb44ef1
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-7.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-8.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-8.png
new file mode 100644
index 000000000..b8a8eac45
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-8.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-9.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-9.png
new file mode 100644
index 000000000..a83348dd2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec1-9.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-1.png
new file mode 100644
index 000000000..f3f32ec88
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-10.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-10.png
new file mode 100644
index 000000000..5f610b91a
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-10.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-11.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-11.png
new file mode 100644
index 000000000..b4dc58cee
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-11.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-12.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-12.png
new file mode 100644
index 000000000..3b8906c9c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-12.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-13.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-13.png
new file mode 100644
index 000000000..b9d60a746
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-13.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-14.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-14.png
new file mode 100644
index 000000000..adb703b6c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-14.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-15.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-15.png
new file mode 100644
index 000000000..5c6ab7b40
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-15.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-16.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-16.png
new file mode 100644
index 000000000..b1ccc7410
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-16.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-17.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-17.png
new file mode 100644
index 000000000..e52a905d9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-17.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-18.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-18.png
new file mode 100644
index 000000000..59e14c6a9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-18.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-2.png
new file mode 100644
index 000000000..054ced326
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-3.png
new file mode 100644
index 000000000..2697b8222
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-4.png
new file mode 100644
index 000000000..b86674cfa
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-5.png
new file mode 100644
index 000000000..0ca384844
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-6.png
new file mode 100644
index 000000000..d252f53c2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-7.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-7.png
new file mode 100644
index 000000000..1cdc6214c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-7.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-8.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-8.png
new file mode 100644
index 000000000..8b30feaf3
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-8.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-9.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-9.png
new file mode 100644
index 000000000..9a3601687
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec2-9.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-10.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-10.png
new file mode 100644
index 000000000..9f42aa8ca
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-10.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-11.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-11.png
new file mode 100644
index 000000000..c0d4996ae
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-11.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-12.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-12.png
new file mode 100644
index 000000000..1d8e52e79
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-12.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-13.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-13.png
new file mode 100644
index 000000000..7efaa77e4
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-13.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-14.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-14.png
new file mode 100644
index 000000000..dbd663593
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-14.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-15.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-15.png
new file mode 100644
index 000000000..12370f8ba
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-15.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-2.png
new file mode 100644
index 000000000..f928adff9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-3.png
new file mode 100644
index 000000000..7177f372c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-4.png
new file mode 100644
index 000000000..27e6f5ae8
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-5.png
new file mode 100644
index 000000000..b2aed009b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-6.png
new file mode 100644
index 000000000..9f063ee93
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-7.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-7.png
new file mode 100644
index 000000000..bd5ba49d6
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-7.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-8.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-8.png
new file mode 100644
index 000000000..5ab1524ef
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-8.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-9.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-9.png
new file mode 100644
index 000000000..760422e2f
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec3-9.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-12.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-12.png
new file mode 100644
index 000000000..451237ae9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-12.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-13.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-13.png
new file mode 100644
index 000000000..fafaab632
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-13.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-14.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-14.png
new file mode 100644
index 000000000..bb2a5d27b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-14.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-3.png
new file mode 100644
index 000000000..3c585561b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-4.png
new file mode 100644
index 000000000..4198b1fe7
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-5.png
new file mode 100644
index 000000000..05956c886
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-6.png
new file mode 100644
index 000000000..d0fd06912
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/inSec6-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-1.png
new file mode 100644
index 000000000..429df6723
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-10.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-10.png
new file mode 100644
index 000000000..86dde4877
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-10.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-11.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-11.png
new file mode 100644
index 000000000..cf240d540
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-11.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-12.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-12.png
new file mode 100644
index 000000000..68790d360
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-12.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-13.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-13.png
new file mode 100644
index 000000000..4d368c84f
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-13.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-14.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-14.png
new file mode 100644
index 000000000..346b264ff
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-14.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-15.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-15.png
new file mode 100644
index 000000000..143854911
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-15.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-16.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-16.png
new file mode 100644
index 000000000..be1f8a817
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-16.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-17.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-17.png
new file mode 100644
index 000000000..82e25455b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-17.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-18.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-18.png
new file mode 100644
index 000000000..fe90c9626
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-18.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-19.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-19.png
new file mode 100644
index 000000000..2a337cb9d
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-19.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-2.png
new file mode 100644
index 000000000..bdaa283a7
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-20.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-20.png
new file mode 100644
index 000000000..f112dcc78
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-20.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-3.png
new file mode 100644
index 000000000..e59fe0060
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-4.png
new file mode 100644
index 000000000..51bafc764
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-5.png
new file mode 100644
index 000000000..f40889488
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-6.png
new file mode 100644
index 000000000..ab446a298
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-7.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-7.png
new file mode 100644
index 000000000..4ac02d0af
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-7.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-8.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-8.png
new file mode 100644
index 000000000..bfefbf9e7
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-8.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-9.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-9.png
new file mode 100644
index 000000000..9bcf6dce2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec1-9.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-1.png
new file mode 100644
index 000000000..0ecaf7eb9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-2.png
new file mode 100644
index 000000000..a36a9a1f2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-3.png
new file mode 100644
index 000000000..3d3d9e595
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-4.png
new file mode 100644
index 000000000..10fae5950
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-5.png
new file mode 100644
index 000000000..cdb59d6c2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-6.png
new file mode 100644
index 000000000..4a58f090f
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indSec3-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec2-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec2-1.png
new file mode 100644
index 000000000..29e789937
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec2-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec2-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec2-2.png
new file mode 100644
index 000000000..3ff69c9d4
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec2-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-1.png
new file mode 100644
index 000000000..bff860ad2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-10.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-10.png
new file mode 100644
index 000000000..39d0f6584
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-10.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-11.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-11.png
new file mode 100644
index 000000000..ea4270327
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-11.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-12.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-12.png
new file mode 100644
index 000000000..6bda8c3ca
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-12.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-13.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-13.png
new file mode 100644
index 000000000..98555d500
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-13.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-14.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-14.png
new file mode 100644
index 000000000..6fa8dbd04
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-14.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-15.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-15.jpg
new file mode 100644
index 000000000..36d3ac8ee
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-15.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-16.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-16.jpg
new file mode 100644
index 000000000..9b3d0aabc
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-16.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-17.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-17.jpg
new file mode 100644
index 000000000..e57fde576
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-17.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-18.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-18.jpg
new file mode 100644
index 000000000..83937370b
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-18.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-19.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-19.jpg
new file mode 100644
index 000000000..d633804b9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-19.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-2.png
new file mode 100644
index 000000000..7498414ae
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-20.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-20.jpg
new file mode 100644
index 000000000..4d376d2fa
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-20.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-21.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-21.jpg
new file mode 100644
index 000000000..7f40a0d39
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-21.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-22.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-22.jpg
new file mode 100644
index 000000000..bdd27bfdb
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-22.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-23.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-23.png
new file mode 100644
index 000000000..f3608e4bb
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-23.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-24.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-24.png
new file mode 100644
index 000000000..4dab4febe
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-24.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-25.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-25.png
new file mode 100644
index 000000000..28f762a05
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-25.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-26.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-26.png
new file mode 100644
index 000000000..19f152cb8
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-26.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-27.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-27.png
new file mode 100644
index 000000000..cb59b332d
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-27.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-28.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-28.png
new file mode 100644
index 000000000..91ef32f68
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-28.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-3.png
new file mode 100644
index 000000000..aafc97dca
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-4.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-4.png
new file mode 100644
index 000000000..2190692e2
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-4.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-5.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-5.png
new file mode 100644
index 000000000..89a88573a
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-5.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-6.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-6.png
new file mode 100644
index 000000000..1cbe7d0bf
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-6.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-7.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-7.png
new file mode 100644
index 000000000..4341d4784
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-7.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-8.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-8.png
new file mode 100644
index 000000000..12d39ac04
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-8.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-9.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-9.png
new file mode 100644
index 000000000..aa0a6c46e
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/indexSec3-9.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-1.png
new file mode 100644
index 000000000..484226f9c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-1s.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-1s.png
new file mode 100644
index 000000000..8164fefed
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-1s.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-2.png
new file mode 100644
index 000000000..9f92d2a5a
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-2s.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-2s.png
new file mode 100644
index 000000000..b1f5727aa
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-2s.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-3.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-3.png
new file mode 100644
index 000000000..3b9b49071
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-3.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-3s.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-3s.png
new file mode 100644
index 000000000..a039a8b44
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/login5-3s.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/message.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/message.png
new file mode 100644
index 000000000..8eeae583c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/message.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/noLogin.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/noLogin.png
new file mode 100644
index 000000000..ad48927e3
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/noLogin.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/right2.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/right2.png
new file mode 100644
index 000000000..71c583a70
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/right2.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/search.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/search.png
new file mode 100644
index 000000000..8acfa668c
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/search.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin1.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin1.jpg
new file mode 100644
index 000000000..3bc3c2412
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin1.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin2.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin2.jpg
new file mode 100644
index 000000000..2ee09a947
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin2.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin3.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin3.jpg
new file mode 100644
index 000000000..7d8a203e1
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/skin3.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/tips1.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/tips1.png
new file mode 100644
index 000000000..a37906423
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/tips1.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/user.jpg b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/user.jpg
new file mode 100644
index 000000000..9cacccfc9
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/user.jpg differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/verCode.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/verCode.png
new file mode 100644
index 000000000..72d62f00d
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/verCode.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/weixin.png b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/weixin.png
new file mode 100644
index 000000000..16bc4c3b5
Binary files /dev/null and b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/images/DragSSO/weixin.png differ
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/aLeft.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/aLeft.js
new file mode 100644
index 000000000..44b33f8b5
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/aLeft.js
@@ -0,0 +1,22 @@
+var inSec3Row = $('.inSec3Row');
+$(window).load(function() {
+ //左侧tab切换
+ $('.inSec1Tab').on('click', '.inSec1TabBox', function() {
+ var ind = $(this).index();
+ $(this).addClass('active').siblings().removeClass('active');
+ $('.indSec1Box .inSec1Box').removeClass('active').eq(ind).addClass('active');
+ })
+ //左侧菜单显示隐藏
+ $('.index_sec1').on('click', '.inSecLeftCon', function() {
+ var ind = $(this).index();
+ var parents = $(this).parents('.index_sec1');
+ parents.addClass('active').find('.inSec1TabBox').removeClass('active').eq(ind).addClass('active').end().end().find('.inSec1Box').removeClass('active').eq(ind).addClass('active');
+ $('.indexSec3Box').css('paddingLeft', '510px')
+ }).on('click', '.aLeft', function() {
+ var parents = $(this).parents('.index_sec1');
+ parents.removeClass('active');
+ $('.indexSec3Box').css('paddingLeft', '0')
+ })
+})
+
+
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/inSecHead.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/inSecHead.js
new file mode 100644
index 000000000..ba7ca308d
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/inSecHead.js
@@ -0,0 +1,302 @@
+$(document).ready(function () {
+
+ //桌面切换
+ $('.inSec3Head').on('click', '.inSec3HeadTab', function () {
+ if ($(this).hasClass('active')) return;
+ var ind = $(this).attr('ind');
+ $('.inSec3Row.active').sortable("destroy");
+ $(this).addClass('active').siblings('.inSec3HeadTab').removeClass('active');
+ $('.inSec3Row').css('display', 'none').removeClass('active').siblings('.inSec3Row[ind="' + ind + '"]').fadeIn().addClass('active');
+ sortableInit();
+ });
+ //桌面设置弹框中的事件
+ $('.desktopSetBox').on('click', '.faR', function () {//点击默认桌面-恢复标识,显示恢复提示
+ $(this).parents('.deskSetLi').addClass('active')
+ }).on('click', '.deskSetClose', function () {//点击提示中关闭标识,不显示恢复提示
+ $(this).parents('.deskSetLi').removeClass('active');
+ }).on('click', '.deskSetTrue', function () {//点击提示中确定标识,添加桌面或者重置桌面
+ var parents = $(this).parents('.deskSetLi');
+ if (parents.hasClass('deskSetLiNew')) {
+ var inputs = parents.find('input');
+ desktopNew(inputs.val());
+ inputs.val('新建桌面');
+ } else {
+ var txt = $(this).parent().attr('txt');
+ parents.removeClass('active');
+ var desktopId = parents.attr('desktopId');
+ var defaultFlag = parents.attr('defaultFlag');
+ if (defaultFlag != 1) {
+ var ind = parents.attr('ind');
+ desktopDel(ind, desktopId);
+ } else {
+ //ajax默认桌面的恢复操作
+ if (desktopId != "" && desktopId != undefined) {
+ $.ajax({
+ url: "/SSOSystem/RestoreDefaultDesktop",
+ headers: { __RequestVerificationToken: $.lrToken },
+ data: { desktopId: desktopId },
+ type: "post",
+ dataType: "json",
+ success: function (res) {
+ if (res.code == 200) {
+ layer.msg('恢复成功!');
+ //操作成功后执行的代码开始
+ location.reload();
+ //操作成功后执行的代码结束
+ }
+ else if (res.code == 400) {
+ layer.msg(res.info);
+ }
+ else if (res.code == 500) {
+ layer.msg('服务端异常,请联系管理员');
+ }
+ }
+ });
+ }
+ }
+ }
+ }).on('click', '.deskNameTxt', function () {
+ $(this).siblings('.deskNameInput').addClass('active').find('input').focus();
+ }).on('blur', '.deskSetList input', function () { //桌面名称表单失去焦点时
+ var parents = $(this).parents('.deskSetLi');
+ var ind = parents.attr('ind');
+ var txt = $(this).val();
+ if (txt.length == 0) {
+ layer.msg('桌面不能为空!');
+ $(this).focus();
+ return;
+ }
+ //ajax桌面的修改名称操作
+ var desktopId = parents.attr('desktopId');
+ if (desktopId != "" && desktopId != undefined) {
+ $.ajax({
+ url: "/SSOSystem/ModifyDesktop",
+ headers: { __RequestVerificationToken: $.lrToken },
+ data: { desktopId: desktopId, desktopName: txt },
+ type: "post",
+ dataType: "json",
+ success: function (res) {
+ if (res.code == 200) {
+ layer.msg('桌面名称修改成功!');
+ //操作成功后执行的代码开始
+ parents.find('.deskNameInput').removeClass('active').siblings('.deskNameTxt').find('b').html(txt);
+ $('.inSec3HeadTab[ind="' + ind + '"] .inSec3HeadTabTxt').html(txt);
+ //操作成功后执行的代码结束
+ }
+ else if (res.code == 400) {
+ layer.msg(res.info);
+ }
+ else if (res.code == 500) {
+ layer.msg('服务端异常,请联系管理员');
+ }
+ }
+ });
+ }
+ }).on('input', '.deskNameInput input', function () { //监听桌面名称表单input事件
+ var txt = $(this).val();
+ var len = txt.length;
+ if (len >= 8) {
+ len = 8;
+ $(this).val(txt.substring(0, 8))
+ }
+ $(this).siblings('span').html(len + '/8')
+ }).on('click', '.deskSetLiNew .deskName', function () {
+ $(this).parents('.deskSetLi').addClass('active');
+ }).on('click', '.desktopSet > img', function () {//点击桌面设置弹框右上角关闭按钮
+ $('.desktopSetBox').removeClass('active');
+ }).on('click', '.deskSetBtn', function () {//点击桌面设置弹框的完成按钮
+ $('.desktopSetBox').removeClass('active');
+ });
+ //点击桌面栏-设置按钮,显示桌面设置弹框
+ $('.inSec3Setting').on('click', function () {
+ deskNum();
+ $('.desktopSetBox').addClass('active');
+ });
+ //监听layer添加桌面弹框中表单的input事件
+ $(document).on('input', '.layerInput input', function () {
+ var txt = $(this).val();
+ var len = txt.length;
+ if (len >= 8) {
+ len = 8;
+ txt = txt.substring(0, 8);
+ }
+ if (len == 0) {
+ txt = '新建桌面';
+ }
+ $(this).val(txt);
+ });
+ //点击桌面栏-添加按钮,显示layer添加桌面弹框
+ $('.inSec3HeadAdd').on('click', function () {
+ var _this = $(this);
+ layer.open({
+ type: 1,
+ title: '命名桌面',
+ btnAlign: 'c',
+ content: htmlLayer,
+ area: ['300px', 'auto'],
+ btn: ['保存', '取消'],
+ yes: function (index, layero) {
+ //按钮【按钮一】的回调
+ desktopNew($('.layerInput input').val());
+ layer.close(index);
+ },
+ btn2: function (index, layero) {
+ //按钮【按钮二】的回调
+ //return false 开启该代码可禁止点击该按钮关闭
+ }
+ })
+
+ });
+ //桌面设置弹框中桌面的排序
+ //$('.deskSetList').sortable({
+ // opacity: 0.8,
+ // containment: '.deskSetList',
+ // handle: '.fa-navicon',
+ // // helper: 'clone',
+ // // scroll: false,
+ // cursor: "move",
+ // stop: function(event, ui) {
+ // //当排序停止时触发该事件。
+ // var ind = $('.inSec3HeadTab.active').attr('ind');
+ // $('.inSec3HeadTabBox').html('');
+ // $('.deskSetList .deskSetLi').each(function(i, n){
+ // var num = $(this).attr('ind');
+ // var txt = $(n).find('input').val();
+ // var className = $(n).find('.deskNameTxt span').length? 'newlyBuild' : '';
+ // var active = num == ind? 'active' : '';
+ // var html = '
'+
+ // '
'+ txt +'
'+
+ // '
'+
+ // '
';
+ // $('.inSec3HeadTabBox').append(html)
+ // })
+ // },
+ //});
+
+});
+$(window).load(function () {
+ cardData()
+});
+
+//新建桌面
+function desktopNew(name) {
+ var ind = getRandomNum();
+ //ajax自建桌面新增操作,操作成功后执行下面代码,需要返回Id值并绑定到htmlT的desktopId中;
+ var modelCode = $('#ModelCode').val();
+ var userId = $('#UserId').val();
+ if (userId != "" && userId != undefined && modelCode != "" && modelCode != undefined && name != "" && name != undefined && ind != "" && ind != undefined) {
+ $.ajax({
+ url: "/SSOSystem/AddDesktop",
+ headers: { __RequestVerificationToken: $.lrToken },
+ data: { userId: userId, modelCode: modelCode, desktopName: name, desktopCode: ind },
+ type: "post",
+ dataType: "json",
+ success: function (res) {
+ if (res.code == 200) {
+ layer.msg('添加桌面成功!');
+ if (res.data != null) {
+ //操作成功后执行代码开始
+ var htmlC = '
' + noCard + '
';
+ var htmlT = '
' +
+ '
' + name + '
' +
+ '
' +
+ '
';
+ var deskSetLi = '
' +
+ '
' +
+ '
' +
+ '
' + name + '
' +
+ '
' +
+ '' +
+ '4/8' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
确认删除该桌面?' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
';
+ $('.deskSetLiNew').removeClass('active').find('.deskNameInput').removeClass('active');
+ $('.inSec3Row.active').sortable("destroy");
+ $('.inSec3RowBox').append(htmlC).find('.inSec3Row').css('display', 'none').removeClass('active').last().addClass('active').fadeIn();
+ $('.inSec3HeadTabBox').append(htmlT).find('.inSec3HeadTab').removeClass('active').last().addClass('active');
+ $('.deskSetList').append(deskSetLi);
+ sortableInit();
+ deskNum();
+ //最多新建3个桌面
+ if (($('.inSec3HeadTab').length + 1) > desktopNum) {
+ $('.inSec3HeadAdd').css('display', 'none').next().css('display', 'none');
+ $('.deskSetLiNew').css('display', 'none');
+ }
+ //操作成功后执行代码结束
+ }
+ }
+ else if (res.code == 400) {
+ layer.msg(res.info);
+ }
+ else if (res.code == 500) {
+ layer.msg('服务端异常,请联系管理员');
+ }
+ }
+ });
+ }
+
+}
+//删除桌面
+function desktopDel(ind, desktopId) {
+ //ajax自建桌面的删除操作
+ if (desktopId != "" && desktopId != undefined) {
+ $.ajax({
+ url: "/SSOSystem/DeleteDesktop",
+ headers: { __RequestVerificationToken: $.lrToken },
+ data: { desktopId: desktopId },
+ type: "post",
+ dataType: "json",
+ success: function (res) {
+ if (res.code == 200) {
+ layer.msg('删除该桌面成功!');
+ //操作成功后执行代码开始
+ $('.deskSetLi[ind="' + ind + '"]').remove();
+ $('.inSec3HeadTab[ind="' + ind + '"]').next().remove().end().remove();
+ var inSec3Row = $('.inSec3Row[ind="' + ind + '"]');
+ if (inSec3Row.hasClass('active')) {
+ $('.inSec3Row.active').sortable("destroy");
+ inSec3Row.remove();
+ $('.inSec3Row').eq(0).addClass('active').fadeIn();
+ $('.inSec3HeadTab').eq(0).addClass('active');
+ sortableInit()
+ } else {
+ inSec3Row.remove();
+ }
+ deskNum();
+ $('.inSec3HeadAdd').css('display', 'inline-block').next().css('display', 'inline-block');
+ $('.deskSetLiNew').css('display', 'block');
+ //操作成功后执行代码结束
+ }
+ else if (res.code == 400) {
+ layer.msg(res.info);
+ }
+ else if (res.code == 500) {
+ layer.msg('服务端异常,请联系管理员');
+ }
+ }
+ });
+ }
+
+}
+//初始化桌面设置
+function deskNum() {
+ $('.deskSetInfo span').eq(0).html($('.newlyBuild').length);
+}
+//获取随机数
+function getRandomNum() {
+ var now = new Date();
+ var result = now.getFullYear() + "" + now.getMonth() + "" + now.getDate() + "" + now.getHours() + "" + now.getMinutes() + "" + now.getSeconds() + "" + now.getMilliseconds();
+ return result;
+}
+//console.log(getRandomNum());
\ No newline at end of file
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index.js
new file mode 100644
index 000000000..83fc0745c
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index.js
@@ -0,0 +1,245 @@
+var inSec3Row = $('.inSec3Row');
+
+layui.use('form', function() {
+ layer = layui.layer;
+ let form = layui.form;
+
+ // form.render()
+ //监听select选择 专业总览
+ form.on('select', function(data) {
+ //console.log(data);
+ });
+});
+// console.log(11)
+
+$(window).load(function() {
+ cardData()
+ //监测页面变化
+ resizes()
+ setTimeout(function() {
+ resizes()
+ }, 0)
+
+ //右侧菜单显示隐藏
+ $('.index_sec2').on('click', '.inSecLeftCon', function() {
+ var ind = $(this).index();
+ var parents = $(this).parents('.index_sec2');
+ if(ind == 3){
+ parents.find('.inSec2TabBox').removeClass('active').eq(1).addClass('active').end().end().find('.inSec2Con').removeClass('active').eq(1).addClass('active').end().end().find('.inSec2Con')
+ }else{
+ parents.find('.inSec2TabBox').removeClass('active').eq(0).addClass('active').end().end().find('.inSec2Con').removeClass('active').eq(0).addClass('active').end().end().find('.inSec2Llist li').removeClass('active').eq(ind).addClass('active').end().end().find('.inSec3WorkBox').css('display', 'none').eq(ind).fadeIn();
+ }
+
+ parents.addClass('active')
+ $('.indexSec3Box').css('paddingRight', '445px')
+ }).on('click', '.aRight', function() {
+ var parents = $(this).parents('.index_sec2');
+ parents.removeClass('active');
+ $('.indexSec3Box').css('paddingRight', '0')
+ })
+ //右侧tab切换
+ $('.inSec2Tab').on('click', '.inSec2TabBox', function() {
+ var ind = $(this).index();
+ $(this).addClass('active').siblings().removeClass('active');
+ $('.indexSec2Box .inSec2Con').removeClass('active').eq(ind).addClass('active');
+ })
+ //办公事项
+ $('.inSec3Con').on('click', '.workList li', function() {
+ if ($(this).hasClass('active')) return;
+ var ind = $(this).index();
+ $(this).addClass('active').siblings().removeClass('active').parents('.inSec3Con').find('.inSec3WorkBox').css(
+ 'display', 'none').eq(ind).fadeIn();
+ })
+
+ //任务
+ $('.inSec2Con').on('click', '.inSec2Llist li', function() {
+ if ($(this).hasClass('active')) return;
+ var ind = $(this).index();
+ $(this).addClass('active').siblings().removeClass('active').parents('.inSec2Con').find('.inSec3WorkBox').css(
+ 'display', 'none').eq(ind).fadeIn();
+ }).on('click', '.indexSec2Li i', function(e) {
+ //消息移除
+ //阻止默认浏览器动作(W3C)
+ if (e && e.preventDefault) {
+ e.preventDefault();
+ } else { //IE中阻止函数器默认动作的方式
+ window.e.returnValue = false;
+ }
+ e.stopPropagation();
+ var parents = $(this).parents('.indexSec2Li');
+ parents.animate({opacity: 0.2, left: '80%'}, 300, function(){
+ parents.remove()
+ })
+ })
+
+
+ //办公业务流量
+ //serviceEchart()
+ //专业总览
+ //majorEchart()
+}).resize(function() {
+ resizes()
+})
+
+function resizes() {
+
+}
+
+
+
+//专业总览
+//function majorEchart() {
+// var myChart5 = echarts.init(document.getElementById('major'));
+
+// option = {
+// tooltip: {
+// trigger: 'item',
+// formatter: '{b} : {c}'
+// },
+// series: [{
+// name: '专业学生',
+// type: 'pie',
+// radius: [60, 75],
+// center: ['50%', '50%'],
+// label: {
+// // show: true
+// show: false
+// },
+// color: ['#6C5CEA', '#57C5F5', '#E7C900', '#FF9C95', '#59D078', '#C97FEF', '#ECBD02', '#DF59B8', '#F6685E',
+// '#00E7B9', '#7A74F1', '#4A9ADE', '#33F0E5', '#ECBD02', '#DF59B8'
+// ],
+// // hoverAnimation: false,
+// data: [{
+// value: 10,
+// name: '物理',
+// },
+// {
+// value: 5,
+// name: '数学',
+// },
+// {
+// value: 15,
+// name: '化学',
+// },
+// {
+// value: 15,
+// name: '历史',
+// },
+// {
+// value: 5,
+// name: '医学',
+// },
+// {
+// value: 15,
+// name: '计算机',
+// },
+// {
+// value: 15,
+// name: '矿业',
+// }
+// ]
+// }, {
+// name: '班级总数',
+// type: 'pie',
+// radius: [50, 65],
+// center: ['17%', '50%'],
+// label: {
+// // show: true
+// show: false
+// },
+// color: ['#59D078', '#57C5F5', '#E7C900'],
+// // hoverAnimation: false,
+// data: [{
+// value: 10,
+// name: '班级总数',
+// }]
+// }, {
+// name: '专业教室',
+// type: 'pie',
+// radius: [50, 65],
+// center: ['83%', '50%'],
+// label: {
+// // show: true
+// show: false
+// },
+// color: ['#3E49E2', '#677BF5', '#67A0F5', '#E7C900'],
+// // hoverAnimation: false,
+// data: [{
+// value: 10,
+// name: '教室1',
+// }, {
+// value: 5,
+// name: '教室2',
+// }, {
+// value: 20,
+// name: '教室3',
+// }, {
+// value: 30,
+// name: '教室4',
+// }]
+// }, ]
+// };
+
+// // 使用刚指定的配置项和数据显示图表。
+// myChart5.setOption(option);
+// window.addEventListener("resize", function() {
+// myChart5.resize();
+// });
+//}
+
+
+//办公业务流量
+//function serviceEchart() {
+// // 基于准备好的dom,初始化echarts实例
+// myChart2 = echarts.init(document.getElementById('serviceEchart'));
+
+// option = {
+// tooltip: {
+// trigger: 'axis'
+// },
+// color: ['#CB0005', '#EF9116', '#466AD2', '#7408A6', '#0CB5C4', '#DEBC03', '#0BB56C', '#CB1FA1'],
+// legend: {
+// data: ['语文'],
+// icon: "circle",
+// itemWidth: 7,
+// right: '40px',
+// top: '20px'
+// },
+// grid: {
+// left: '3%',
+// right: '3%',
+// bottom: '3%',
+// top: '23%',
+// containLabel: true
+// },
+// xAxis: {
+// type: 'category',
+// name: '星期',
+// boundaryGap: false,
+// data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
+// formatter: function(params) {
+// console.log(params)
+// // return params[0].name + ' : ' + params[0].value + ' 小时';
+// },
+// },
+// yAxis: {
+// type: 'value',
+// name: '办公量',
+// },
+// series: [{
+// name: '办公量',
+// type: 'line',
+// stack: '总量',
+// // lineStyle: {
+// // color: '#000'
+// // },
+// data: [120, 132, 101, 134, 90, 230, 210]
+// }]
+// };
+
+// // 使用刚指定的配置项和数据显示图表。
+// myChart2.setOption(option);
+// window.addEventListener("resize", function() {
+// myChart2.resize();
+// });
+//}
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index2.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index2.js
new file mode 100644
index 000000000..2ef5cf17c
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index2.js
@@ -0,0 +1,227 @@
+var inSec3Row = $('.inSec3Row');
+var layer = null;
+layui.use('form', function() {
+ layer = layui.layer;
+ let form = layui.form;
+
+ // form.render()
+ //监听select选择 专业总览
+ form.on('select', function(data) {
+ //console.log(data);
+ });
+});
+$(window).load(function() {
+ //监测页面变化
+ resizes()
+ setTimeout(function() {
+ resizes()
+ }, 0)
+ //导航栏
+ $(".headModeList li").eq(0).removeClass("active");
+ $(".headModeList li").eq(1).addClass("active");
+ $(".headModeList li").eq(2).removeClass("active");
+ $(".headModeTxt").find('span').html($(".headModeList li").eq(1).find('a').html());
+
+ //右侧菜单显示隐藏
+ $('.index_sec2').on('click', '.inSecLeftCon', function() {
+ var ind = $(this).index();
+ var parents = $(this).parents('.index_sec2');
+ if(ind == 3){
+ parents.find('.inSec2TabBox').removeClass('active').eq(1).addClass('active').end().end().find('.inSec2Con').removeClass('active').eq(1).addClass('active').end().end().find('.inSec2Con')
+ }else{
+ parents.find('.inSec2TabBox').removeClass('active').eq(0).addClass('active').end().end().find('.inSec2Con').removeClass('active').eq(0).addClass('active').end().end().find('.inSec2Llist li').removeClass('active').eq(ind).addClass('active').end().end().find('.inSec3WorkBox').css('display', 'none').eq(ind).fadeIn();
+ }
+
+ parents.addClass('active')
+ $('.indexSec3Box').css('paddingRight', '445px')
+ }).on('click', '.aRight', function() {
+ var parents = $(this).parents('.index_sec2');
+ parents.removeClass('active');
+ $('.indexSec3Box').css('paddingRight', '0')
+ })
+ //右侧tab切换
+ $('.inSec2Tab').on('click', '.inSec2TabBox', function() {
+ var ind = $(this).index();
+ $(this).addClass('active').siblings().removeClass('active');
+ $('.indexSec2Box .inSec2Con').removeClass('active').eq(ind).addClass('active');
+ })
+ //办公事项
+ $('.inSec3Con').on('click', '.workList li', function() {
+ if ($(this).hasClass('active')) return;
+ var ind = $(this).index();
+ $(this).addClass('active').siblings().removeClass('active').parents('.inSec3Con').find('.inSec3WorkBox').css(
+ 'display', 'none').eq(ind).fadeIn();
+ })
+
+
+
+ //办公业务流量
+ //serviceEchart()
+ //专业总览
+ //majorEchart()
+}).resize(function() {
+ resizes()
+})
+
+function resizes() {
+
+}
+
+
+
+//专业总览
+//function majorEchart() {
+// var myChart5 = echarts.init(document.getElementById('major'));
+
+// option = {
+// tooltip: {
+// trigger: 'item',
+// formatter: '{b} : {c}'
+// },
+// series: [{
+// name: '专业学生',
+// type: 'pie',
+// radius: [60, 75],
+// center: ['50%', '50%'],
+// label: {
+// // show: true
+// show: false
+// },
+// color: ['#6C5CEA', '#57C5F5', '#E7C900', '#FF9C95', '#59D078', '#C97FEF', '#ECBD02', '#DF59B8', '#F6685E',
+// '#00E7B9', '#7A74F1', '#4A9ADE', '#33F0E5', '#ECBD02', '#DF59B8'
+// ],
+// // hoverAnimation: false,
+// data: [{
+// value: 10,
+// name: '物理',
+// },
+// {
+// value: 5,
+// name: '数学',
+// },
+// {
+// value: 15,
+// name: '化学',
+// },
+// {
+// value: 15,
+// name: '历史',
+// },
+// {
+// value: 5,
+// name: '医学',
+// },
+// {
+// value: 15,
+// name: '计算机',
+// },
+// {
+// value: 15,
+// name: '矿业',
+// }
+// ]
+// }, {
+// name: '班级总数',
+// type: 'pie',
+// radius: [50, 65],
+// center: ['17%', '50%'],
+// label: {
+// // show: true
+// show: false
+// },
+// color: ['#59D078', '#57C5F5', '#E7C900'],
+// // hoverAnimation: false,
+// data: [{
+// value: 10,
+// name: '班级总数',
+// }]
+// }, {
+// name: '专业教室',
+// type: 'pie',
+// radius: [50, 65],
+// center: ['83%', '50%'],
+// label: {
+// // show: true
+// show: false
+// },
+// color: ['#3E49E2', '#677BF5', '#67A0F5', '#E7C900'],
+// // hoverAnimation: false,
+// data: [{
+// value: 10,
+// name: '教室1',
+// }, {
+// value: 5,
+// name: '教室2',
+// }, {
+// value: 20,
+// name: '教室3',
+// }, {
+// value: 30,
+// name: '教室4',
+// }]
+// }, ]
+// };
+
+// // 使用刚指定的配置项和数据显示图表。
+// myChart5.setOption(option);
+// window.addEventListener("resize", function() {
+// myChart5.resize();
+// });
+//}
+
+
+//办公业务流量
+//function serviceEchart() {
+// // 基于准备好的dom,初始化echarts实例
+// myChart2 = echarts.init(document.getElementById('serviceEchart'));
+
+// option = {
+// tooltip: {
+// trigger: 'axis'
+// },
+// color: ['#CB0005', '#EF9116', '#466AD2', '#7408A6', '#0CB5C4', '#DEBC03', '#0BB56C', '#CB1FA1'],
+// legend: {
+// data: ['语文'],
+// icon: "circle",
+// itemWidth: 7,
+// right: '40px',
+// top: '20px'
+// },
+// grid: {
+// left: '3%',
+// right: '3%',
+// bottom: '3%',
+// top: '23%',
+// containLabel: true
+// },
+// xAxis: {
+// type: 'category',
+// name: '星期',
+// boundaryGap: false,
+// data: ['周一', '周二', '周三', '周四', '周五', '周六', '周日'],
+// formatter: function(params) {
+// console.log(params)
+// // return params[0].name + ' : ' + params[0].value + ' 小时';
+// },
+// },
+// yAxis: {
+// type: 'value',
+// name: '办公量',
+// },
+// series: [{
+// name: '办公量',
+// type: 'line',
+// stack: '总量',
+// // lineStyle: {
+// // color: '#000'
+// // },
+// data: [120, 132, 101, 134, 90, 230, 210]
+// }]
+// };
+
+// // 使用刚指定的配置项和数据显示图表。
+// myChart2.setOption(option);
+// window.addEventListener("resize", function() {
+// myChart2.resize();
+// });
+//}
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index3.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index3.js
new file mode 100644
index 000000000..a7d46d77d
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/index3.js
@@ -0,0 +1,338 @@
+$(window).load(function () {
+ //导航栏
+ $(".headModeList li").eq(0).removeClass("active");
+ $(".headModeList li").eq(1).removeClass("active");
+ $(".headModeList li").eq(2).addClass("active");
+ $(".headModeTxt").find('span').html($(".headModeList li").eq(2).find('a').html());
+
+ //学生到课率预警
+ var toClassNum = 20;
+ var toClassBl = $('.toClassBl')
+ if (toClassNum < 60) {
+ toClassBl.addClass('green').height(toClassNum + '%')
+ } else if (toClassNum >= 60 && toClassNum < 80) {
+ toClassBl.addClass('blue').height(toClassNum + '%')
+ } else if (toClassNum >= 80) {
+ toClassBl.addClass('red').height(toClassNum + '%')
+ }
+ //专业总览
+ majorEchart()
+
+ //课程总览
+ classEchart()
+
+ //教师年龄比例
+ ageEchart()
+
+ //教师学历比例
+ eduEchart()
+
+ // 学生成绩预警
+ achWarnEchart()
+
+ // 学生逃课预警
+ skipEchart()
+
+ var layer = null;
+ layui.use('form', function() {
+ layer = layui.layer;
+ let form = layui.form;
+
+ // form.render()
+ //监听select选择 专业总览
+ form.on('select', function(data) {
+ console.log(data);
+ });
+ });
+
+
+});
+
+//教师学历比例
+function eduEchart() {
+ var myChart6 = echarts.init(document.getElementById('education'));
+ option = {
+ tooltip: {
+ formatter: function(n) { //"{a}
{b} : {d}({c}%)"
+ //console.log(n)
+ return n.name + '
' + n.value + '人' + '(' + n.percent + '%)'
+ }
+ },
+ // calculable: true,
+ series: [{
+ name: '教师学历比例',
+ type: 'funnel',
+ width: '100%',
+ height: '80%',
+ x: '0%',
+ y: '10%',
+ sort: 'ascending',
+ label: {
+ // show: false,
+ position: 'center'
+ },
+ labelLine: {
+ show: false,
+ },
+ color: ['#F6685E', '#ECBD02', '#67A0F5', '#198BE3', '#F6685E', '#DEBC03', '#0BB56C', '#CB1FA1'],
+ data: TeacherByHighestRecord
+ }]
+ };
+
+ // 使用刚指定的配置项和数据显示图表。
+ myChart6.setOption(option);
+ window.addEventListener("resize", function() {
+ myChart6.resize();
+ });
+}
+
+// 教师年龄比例
+function ageEchart() {
+ var myChart6 = echarts.init(document.getElementById('age'));
+
+ option = {
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b} : {c}人 ({d}%)'
+ },
+ legend: {
+ // orient: 'vertical',
+ textStyle: { //图例文字的样式
+ color: '#424242',
+ fontSize: 10
+ },
+ left: 0,
+ bottom: 0,
+ itemWidth: 8,
+ itemHeight: 8,
+ data: ['20~30岁', '30~40岁', '40~50岁', '50~60岁', '60岁以上']
+ },
+ color: ['#00E7B9', '#7486F1', '#FCF13E', '#ECBD02', '#F6685E', '#DEBC03', '#0BB56C', '#CB1FA1'],
+ series: [{
+ name: '教师年龄比例',
+ type: 'pie',
+ radius: [30, 50],
+ center: ['55%', '50%'],
+ label: {
+ show: true
+ },
+ roseType: 'radius',
+ data: TeacherByAge
+ }]
+ };
+
+ // 使用刚指定的配置项和数据显示图表。
+ myChart6.setOption(option);
+ window.addEventListener("resize", function() {
+ myChart6.resize();
+ });
+}
+
+
+//课程总览
+function classEchart() {
+ // 基于准备好的dom,初始化echarts实例
+ var myChart3 = echarts.init(document.getElementById('class'));
+
+ option = {
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b} : {c}'
+ },
+
+ series: [{
+ name: '课程分类',
+ type: 'pie',
+ radius: [42, 57],
+ center: ['50%', '50%'],
+ hoverAnimation: false,
+ zlevel: 2,
+ color: ['#59D078', '#8F66E1'],
+ data: LessonBySort
+ },
+ {
+ name: '课程类型',
+ type: 'pie',
+ radius: [70, 85],
+ center: ['50%', '50%'],
+ hoverAnimation: false,
+ color: ['#ECBD02', '#00E7B9'],
+ data: LessonByType
+ }
+ ]
+ };
+
+ // 使用刚指定的配置项和数据显示图表。
+ myChart3.setOption(option);
+ window.addEventListener("resize", function() {
+ myChart3.resize();
+ });
+}
+
+//专业总览
+function majorEchart() {
+ var myChart5 = echarts.init(document.getElementById('major'));
+
+ option = {
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b} : {c}'
+ },
+ series: [{
+ name: '专业学生',
+ type: 'pie',
+ radius: [60, 75],
+ center: ['50%', '50%'],
+ label: {
+ // show: true
+ show: false
+ },
+ color: ['#6C5CEA', '#57C5F5', '#E7C900', '#FF9C95', '#59D078', '#C97FEF', '#ECBD02', '#DF59B8', '#F6685E',
+ '#00E7B9', '#7A74F1', '#4A9ADE', '#33F0E5', '#ECBD02', '#DF59B8'
+ ],
+ // hoverAnimation: false,
+ data: StuByMajor
+ }, {
+ name: '班级总数',
+ type: 'pie',
+ radius: [50, 65],
+ center: ['17%', '50%'],
+ label: {
+ // show: true
+ show: false
+ },
+ color: ['#59D078', '#57C5F5', '#E7C900'],
+ // hoverAnimation: false,
+ data: [{
+ value: ClassInfoTotalNum,
+ name: '班级总数',
+ }]
+ }, {
+ name: '专业教室',
+ type: 'pie',
+ radius: [50, 65],
+ center: ['83%', '50%'],
+ label: {
+ // show: true
+ show: false
+ },
+ color: ['#3E49E2', '#677BF5', '#67A0F5', '#E7C900'],
+ // hoverAnimation: false,
+ data: [{
+ value: ClassRoomTotalNum,
+ name: '教室总数',
+ }]
+ }, ]
+ };
+
+ // 使用刚指定的配置项和数据显示图表。
+ myChart5.setOption(option);
+ window.addEventListener("resize", function() {
+ myChart5.resize();
+ });
+}
+
+// 学生逃课预警
+function skipEchart() {
+ // 基于准备好的dom,初始化echarts实例
+ var myChart8 = echarts.init(document.getElementById('skipClass'));
+
+ option = {
+ tooltip: {
+ formatter: '{a} : {c}%'
+ },
+ series: [{
+ name: '学生逃课预警',
+ type: 'gauge',
+ radius: "70%",
+ center: ["50%", "50%"],
+ axisLine: {
+ show: true,
+ lineStyle: {
+ color: [ //表盘颜色
+ [0.6, "#0AB56B"], //0-50%处的颜色
+ [0.8, "#64CDFE"], //51%-70%处的颜色
+ [1, "#E44E4E"], //70%-90%处的颜色
+ ],
+ width: 15 //表盘宽度
+ }
+ },
+ splitLine: {
+ show: false,
+ },
+ axisLabel: {
+ show: true,
+ formatter: function(v) {
+ // console.log(v)
+ switch (v + '') {
+ case '30':
+ return '低';
+ case '70':
+ return '中';
+ case '90':
+ return '高';
+ }
+ },
+ distance: -50 //文字离表盘的距离
+ },
+ axisTick: {
+ show: false,
+ },
+ detail: {
+ formatter: "{score|{value}%}",
+ offsetCenter: [0, "80%"],
+ height: 30,
+ rich: {
+ score: {
+ fontSize: 16
+ }
+ }
+ },
+ data: [{
+ value: 5,
+ name: '',
+ label: {
+ textStyle: {
+ fontSize: 12
+ }
+ }
+ }]
+ }]
+ };
+
+ // 使用刚指定的配置项和数据显示图表。
+ myChart8.setOption(option);
+ window.addEventListener("resize", function() {
+ myChart8.resize();
+ });
+}
+
+// 学生成绩预警
+function achWarnEchart() {
+ var myChart5 = echarts.init(document.getElementById('achWarn'));
+
+ option = {
+ tooltip: {
+ trigger: 'item',
+ formatter: '{b} : {c}人({d}%)'
+ },
+ color: ['#EB5858', '#FB8383', '#FDACAC', '#FECACA', '#FFE2E2', '#DEBC03', '#0BB56C', '#CB1FA1'],
+ series: [{
+ name: '全校',
+ type: 'pie',
+ radius: [50, 60],
+ center: ['50%', '50%'],
+ label: {
+ // show: false
+ },
+ hoverAnimation: false,
+ data: StuScoreByMajor
+ }]
+ };
+
+ // 使用刚指定的配置项和数据显示图表。
+ myChart5.setOption(option);
+ window.addEventListener("resize", function() {
+ myChart5.resize();
+ });
+}
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/indexData.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/indexData.js
new file mode 100644
index 000000000..82dfdc1b3
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/indexData.js
@@ -0,0 +1,91 @@
+var layer = null;
+var inSec3TabArr = [2, 3, 4];
+//inSec3TabArr.splice($.inArray(ind,inSec3TabArr),1);
+//最多新建3个桌面 2个默认桌面
+var desktopNum = 5;
+//没有卡片
+var noCard = '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
' +
+ '
从左侧选择需要的应用卡片
' +
+ '
' +
+ '
' +
+ '
' +
+ '
';
+//没有数据
+var noHtml = '
' +
+ '
' +
+ '
暂时没有数据
' +
+ '
';
+//
+
+//添加桌面
+var htmlLayer = '
';
+// 拖拽 排序 初始化
+function sortableInit() {
+ $('.inSec3Row.active').sortable({
+ opacity: 0.8,
+ containment: '.inSec3Row.active',
+ handle: '.inSecT',
+ helper: 'clone',
+ scroll: false,
+ cursor: "move",
+ stop: function (event, ui) {
+ //当排序停止时触发该事件。
+ serializes()
+ },
+ });
+ cardData()
+}
+
+//当排序停止时触发该事件。
+function serializes() {
+ var gg = $(".inSec3Row.active").sortable("serialize", {
+ key: "sort"
+ });
+ //console.log(gg);//sort=1&sort=2&sort=3&sort=4&sort=5&sort=6&sort=7&sort=8&sort=9&sort=10&sort=11&sort=12&sort=13
+ var result = gg.replace(/sort=/g, "").replace(/&/g, ",");
+ //console.log(result);
+ //ajax提交用户排序
+ var desktopId = $('.inSec3HeadTabBox').find('.inSec3HeadTab.active').attr('desktopId');
+ var modelCode = $('#ModelCode').val();
+ var userId = $('#UserId').val();
+ if (userId != "" && userId != undefined && desktopId != "" && desktopId != undefined && modelCode != "") {
+ $.ajax({
+ url: "/SSOSystem/SaveCardSort",
+ headers: { __RequestVerificationToken: $.lrToken },
+ data: { userId: userId, modelCode: modelCode, desktopId: desktopId, cardSort: result },
+ type: "post",
+ dataType: "json",
+ success: function (res) {
+ if (res.code == 200) {
+ layer.msg('操作成功!');
+ }
+ else if (res.code == 400) {
+ layer.msg(res.info);
+ }
+ else if (res.code == 500) {
+ layer.msg('服务端异常,请联系管理员');
+ }
+ }
+ });
+ }
+
+
+}
+//初始化可用卡片
+function cardData() {
+ $('.inSec1Drag .fa').removeClass('fa-minus').addClass('fa-plus');
+ $('.inSec3Row.active > div').each(function (i, n) {
+ var id = $(n).attr('id');
+ if (id == 'noHtml') return
+ id = id.split('_')[1];
+ $('#' + id).find('.fa').removeClass('fa-plus').addClass('fa-minus');
+ })
+}
+
+
+
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/main.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/main.js
new file mode 100644
index 000000000..712f454ab
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/main.js
@@ -0,0 +1,144 @@
+// JavaScript Document localStorage
+var skinLink = $('#skinLink');
+var skins = localStorage.getItem('skinLink');
+skins ? skinLink.attr('href', '/Content/css/DragSSO/' + skins + '.css') : '';
+$(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', '.headSearchImg', function () {
+ if ($('body').hasClass('active')) {
+ var keyword = $('#headSearchInput').val();
+ if ($.trim(keyword) != "") {
+ $.each($('.search').find('.searchLi'), function (i, item) {
+ if ($(item).children('.searchLiTxt').html().indexOf(keyword) != -1) {
+ $(item).show();
+ } else {
+ $(item).hide();
+ }
+ });
+ } else {
+ $('.search').find('.searchLi').show();
+ }
+ }
+ }).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');
+ //清空搜索
+ if ($.trim($('#headSearchInput').val()) != "") {
+ setTimeout(function () {
+ $('#headSearchInput').val('');
+ $('.search').find('.searchLi').show();
+ }, 50);
+ }
+ }).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);
+ skinLink.attr('href', '/Content/css/DragSSO/' + skin + '.css');
+ }).on('click', '.skinT img', function () {
+ $('.skinBox').removeClass('active');
+ })
+
+ function makeCode(urls) {
+ qrcode.makeCode(urls);
+ }
+})
+
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/sortable.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/sortable.js
new file mode 100644
index 000000000..ea1893ac4
--- /dev/null
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Content/js/DragSSO/sortable.js
@@ -0,0 +1,59 @@
+$(document).ready(function(){
+ //添加排序
+ $('.inSec1Drag').on('click', '.fa-minus', function() {
+ //删除
+ $(this).removeClass('fa-minus').addClass('fa-plus');
+ var id = '#' + $('.inSec3Row.active').attr('ind') + '_' + $(this).parent().attr('id');
+ // console.log($('.inSec3Row').find(id))
+ $('.inSec3Row.active').find(id).remove();
+ layer.msg('删除成功!');
+ if($('.inSec3Row.active > div').length == 0){
+ $('.inSec3Row.active').html(noCard)
+ }
+ serializes()
+ }).on('click', '.fa-plus', function() {
+ var noHtmls = $('.inSec3Row.active #noHtml');
+ if(noHtmls.length){
+ noHtmls.remove()
+ }
+ //添加
+ $(this).removeClass('fa-plus').addClass('fa-minus');
+ //点击卡片,增加相同的卡片块
+ var id = 'id_' + $(this).parent().attr('id');
+ var html = '
' +
+ '
' +
+ '
' +
+ '
办公事项' + id + '' +
+ '
' +
+ '
' +
+ '
'+ noHtml +'
' +
+ '
' +
+ '
';
+ $('.inSec3Row.active').append(html);
+ layer.msg('添加成功!');
+ serializes()
+ })
+ // 拖拽 排序
+ sortableInit()
+
+ //添加拖拽 拖拽开始
+ // $(".inSec1Drag div").draggable({
+ // connectToSortable: ".inSec3Row",
+ // addClasses: false,
+ // iframeFix: '.inSec1List2',
+ // helper: "clone",
+ // revert: "invalid",
+ // zIndex: 99999,
+ // addClasses: 'active',
+ // scroll: false
+ // });
+ // 禁用 draggable。
+ // $( ".kk" ).draggable( "disable" );
+ // 启用 draggable。
+ // $( ".kk" ).draggable( "enable" );
+ //sortable刷新 refresh()
+
+
+
+})
+
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs
index c15b4db82..983f4e483 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/HomeController.cs
@@ -57,6 +57,7 @@ namespace Learun.Application.Web.Controllers
private Sys_UpdateRecordIBLL sys_UpdateRecordIBLL = new Sys_UpdateRecordBLL();
private Perm_FunctionIBLL perm_FunctionIBLL = new Perm_FunctionBLL();
private ICache redisCache = CacheFactory.CaChe();
+ private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL();
#region 视图功能
public ActionResult ChangePwd()
@@ -229,6 +230,11 @@ namespace Learun.Application.Web.Controllers
string qingJuurl = ConfigurationManager.AppSettings["QingJuurl"];
string qingjuregisterurl = ConfigurationManager.AppSettings["QingJuRegisterurl"];
string defpwd = ConfigurationManager.AppSettings["defaultpwd"];
+ //读取默认密码配置中已启用的密码
+ if (sys_DefaultPwdConfigIBLL.GetEnabledEntity() != null)
+ {
+ defpwd = sys_DefaultPwdConfigIBLL.GetEnabledEntity().Pwd;
+ }
var qjinfo = qjAccountIbll.GetQingJu_UserAccountEntityByAccount(userinfo.account);
if (qjinfo == null || string.IsNullOrEmpty(qjinfo.UserAccount))
{
@@ -335,6 +341,11 @@ namespace Learun.Application.Web.Controllers
string qingJuurl = ConfigurationManager.AppSettings["QingJuurl"];
string qingjuregisterurl = ConfigurationManager.AppSettings["QingJuRegisterurl"];
string defpwd = ConfigurationManager.AppSettings["defaultpwd"];
+ //读取默认密码配置中已启用的密码
+ if (sys_DefaultPwdConfigIBLL.GetEnabledEntity() != null)
+ {
+ defpwd = sys_DefaultPwdConfigIBLL.GetEnabledEntity().Pwd;
+ }
if (up != null && !string.IsNullOrEmpty(up.QUserName))
{
if (userinfo.Description == "教师")
@@ -423,7 +434,7 @@ namespace Learun.Application.Web.Controllers
#region 待办
var userinfo = LoginUserInfo.Get();
- Pagination paginationobj = new Pagination() { rows = 5, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" };
+ Pagination paginationobj = new Pagination() { rows = 100, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" };
//未读邮件
ViewBag.UnreadMail = sYS_ReceiveMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userinfo.userId + "\"}").Count(m => m.READFLAG == 0);
//办公事项
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs
index 58f0e81e4..72f5425be 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/LoginController.cs
@@ -38,6 +38,7 @@ namespace Learun.Application.Web.Controllers
private LoginModelIBLL loginModelIbll = new LoginModelBLL();
private AnnexesFileIBLL annexesFileIbll = new AnnexesFileBLL();
WeChatDevelopIBLL weChatDevelopIbll = new WeChatDevelopBLL();
+ private Sys_DefaultPwdConfigIBLL sys_DefaultPwdConfigIBLL = new Sys_DefaultPwdConfigBLL();
#endregion
#region 视图功能
@@ -184,6 +185,15 @@ namespace Learun.Application.Web.Controllers
}
//获取错误次数
ViewBag.errornum = OperatorHelper.Instance.GetCurrentErrorNum();
+ //获取初始密码设置中已启用的密码
+ ViewBag.IsSetDefaultPwd = false;
+ ViewBag.DefaultPwd = "";
+ var defaultPwdEntity = sys_DefaultPwdConfigIBLL.GetEnabledEntity();
+ if (defaultPwdEntity != null)
+ {
+ ViewBag.IsSetDefaultPwd = true;
+ ViewBag.DefaultPwd = defaultPwdEntity.Pwd;
+ }
//获取高职版跳转地址
ViewBag.DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"];
ViewBag.Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port;
@@ -499,11 +509,13 @@ namespace Learun.Application.Web.Controllers
///
用户名
///
密码
///
验证码
+ ///
密码是否是强密码
+ ///
密码是否是初始密码,是则需要提示(true)
///
[HttpPost]
[AjaxOnly]
[HandlerValidateAntiForgeryToken]
- public ActionResult CheckLogin(string username, string password, string verifycode, string up)
+ public ActionResult CheckLogin(string username, string password, string verifycode, string up, string defaultPwdTip)
{
int error = OperatorHelper.Instance.GetCurrentErrorNum();
@@ -521,6 +533,41 @@ namespace Learun.Application.Web.Controllers
#region 内部账户验证
UserEntity userEntity = userBll.CheckLogin(username, password);
+ #region 登录次数限制,禁止登录时间限制
+ int defaultForbidLoginNum = 5;//默认的禁止登录次数
+ double defaultForbidLoginMinutes = 10;//默认的禁止登录分钟数
+ if (!string.IsNullOrEmpty(Config.GetValue("ForbidLoginNum")))
+ {
+ defaultForbidLoginNum = Config.GetValue("ForbidLoginNum").ToInt();
+ }
+ if (!string.IsNullOrEmpty(Config.GetValue("ForbidLoginMinutes")))
+ {
+ defaultForbidLoginMinutes = Config.GetValue("ForbidLoginMinutes").ToDouble();
+ }
+ //错误次数大于等于5时,判断禁止登录时间是否超过10分钟:若是则修改用户的允许登录结束时间,可以登录;若否,禁止登录;
+ if (error >= defaultForbidLoginNum)
+ {
+ if (userEntity.LoginOk)//登录成功
+ {
+ if (userEntity.F_AllowEndTime.HasValue)
+ {
+ var period = (DateTime.Now - userEntity.F_AllowEndTime.Value).TotalMinutes;
+ if (period >= defaultForbidLoginMinutes)
+ {
+ userBll.UpdateAllowEndTime(userEntity.F_UserId, 0);
+ }
+ else
+ {
+ return Fail("错误次数超过" + defaultForbidLoginNum + "次,已被禁止登录,请" + defaultForbidLoginMinutes + "分钟后重试!", error);
+ }
+ }
+ }
+ else//登录失败
+ {
+ return Fail(userEntity.LoginMsg, error);
+ }
+ }
+ #endregion
#region 写入日志
LogEntity logEntity = new LogEntity();
@@ -540,6 +587,11 @@ namespace Learun.Application.Web.Controllers
logEntity.F_ExecuteResultJson = "登录失败:" + userEntity.LoginMsg;
logEntity.WriteLog();
int num = OperatorHelper.Instance.AddCurrentErrorNum();
+ //判断登录错误次数大于等于5,修改用户的允许登录结束时间;
+ if (num >= defaultForbidLoginNum)
+ {
+ userBll.UpdateAllowEndTime(userEntity.F_UserId, 1);
+ }
return Fail(userEntity.LoginMsg, num);
}
else
@@ -552,12 +604,15 @@ namespace Learun.Application.Web.Controllers
logEntity.F_ExecuteResultJson = "登录成功";
logEntity.WriteLog();
OperatorHelper.Instance.ClearCurrentErrorNum();
+ //修改用户的允许登录结束时间;
+ userBll.UpdateAllowEndTime(userEntity.F_UserId, 0);
//是否强密码验证
if (!string.IsNullOrEmpty(ConfigurationManager.AppSettings["verifypwd"]) && ConfigurationManager.AppSettings["verifypwd"] == "true" && up == "false")
{
- return Success(new { pwd = true });
+ return Success(new { pwd = true, pwdtip = defaultPwdTip == "true" ? true : false });
}
- return Success("登录成功");
+ //返回成功的数据(pwdtip:初始密码提示弹框;pwd:弱密码修改弹框;)
+ return Success("登录成功", new { pwdtip = defaultPwdTip == "true" ? true : false });
}
#endregion
}
@@ -739,6 +794,62 @@ namespace Learun.Application.Web.Controllers
}
}
+
+
+ [HttpGet]
+ public ActionResult CheckLoginForSSOBC(string u)
+ {
+ try
+ {
+ string publickey = ConfigurationManager.AppSettings["SSOPublicSecret"];
+ string userkey = ConfigurationManager.AppSettings["SSOUserSecret"];
+ string uid = Request.QueryString["u"];
+ if (!string.IsNullOrEmpty(uid))
+ {
+ decimal datetimenow = Convert.ToDecimal(DateTime.Now.ToString("yyyyMMddHHmmss"));
+ string username = uid;
+ string password = "www.qj.com";
+ UserEntity userEntity = userBll.CheckLogin(username, Md5Helper.Encrypt(password, 32));
+
+ LogEntity logEntity = new LogEntity();
+ logEntity.F_CategoryId = 1;
+ logEntity.F_OperateTypeId = ((int)OperationType.Login).ToString();
+ logEntity.F_OperateType = EnumAttribute.GetDescription(OperationType.Login);
+ logEntity.F_OperateAccount = username + "(" + userEntity.F_RealName + ")";
+ logEntity.F_OperateUserId = !string.IsNullOrEmpty(userEntity.F_UserId) ? userEntity.F_UserId : username;
+ logEntity.F_Module = "接口登录";
+ logEntity.F_Description = "PC端";
+ if (!userEntity.LoginOk)//登录失败
+ {
+ //写入日志
+ logEntity.F_ExecuteResult = 0;
+ logEntity.F_ExecuteResultJson = "接口登录失败:" + userEntity.LoginMsg;
+ logEntity.WriteLog();
+ return Fail(userEntity.LoginMsg);
+ }
+ else
+ {
+ OperatorHelper.Instance.AddLoginUser(userEntity.F_Account, "Learun_ADMS_6.1_PC", null);//写入缓存信息
+ //写入日志
+ logEntity.F_ExecuteResult = 1;
+ logEntity.F_ExecuteResultJson = "接口登录成功";
+ logEntity.WriteLog();
+ var DigitalschoolMisLoginurl = ConfigurationManager.AppSettings["DigitalschoolMisLoginurl"];
+ var Returnurl = "http://" + Request.Url.Host + ":" + Request.Url.Port;
+ return Redirect(DigitalschoolMisLoginurl + "?F_Account=" + username + "&returnurl=" + Returnurl + "/Home/Index");
+ }
+ }
+ else
+ {
+ return Fail("参数错误");
+ }
+ }
+ catch (Exception e)
+ {
+ return Fail("参数错误");
+ }
+ }
+
#endregion
#region 微信登录
@@ -752,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
{
@@ -772,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)
{
@@ -794,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 + "" });
}
}
@@ -802,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;
@@ -820,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)
@@ -899,8 +1029,8 @@ namespace Learun.Application.Web.Controllers
{
string appid = "76d40062-349f-486d-b871-35bed08d2f59";
string secret = "cgpi";
- string appkey =Request.QueryString["appkey"];
- string response = Util.HttpMethods.HttpGet("http://localhost:20472/SSOSystem/authorize?appid=" + appid + "&secret=" + secret + "&appkey="+ appkey);
+ string appkey = Request.QueryString["appkey"];
+ string response = Util.HttpMethods.HttpGet("http://localhost:20472/SSOSystem/authorize?appid=" + appid + "&secret=" + secret + "&appkey=" + appkey);
return Content(response);
}
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs
index c7f7ea87f..e6dd2a1b3 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Controllers/SSOSystemController.cs
@@ -16,6 +16,8 @@ using System.Web.Mvc;
using Learun.Cache.Base;
using Learun.Cache.Factory;
using Newtonsoft.Json;
+using Learun.Application.TwoDevelopment.LR_Desktop;
+using Learun.Application.TwoDevelopment.PersonnelManagement;
namespace Learun.Application.Web.Controllers
{
@@ -37,6 +39,23 @@ namespace Learun.Application.Web.Controllers
private Sys_ReceiveFileIBLL sys_ReceiveFileIBLL = new Sys_ReceiveFileBLL();
private Perm_FunctionVisitIBLL functionVisitIbll = new Perm_FunctionVisitBLL();
private ICache redisCache = CacheFactory.CaChe();
+ private SSO_Drag_DesktopManageIBLL sSO_Drag_DesktopManageIBLL = new SSO_Drag_DesktopManageBLL();
+ private SYS_SendMessageIBLL sYS_SendMessageIBLL = new SYS_SendMessageBLL();
+ private CdMajorIBLL cdMajorIBLL = new CdMajorBLL();
+ private ClassInfoIBLL classInfoIBLL = new ClassInfoBLL();
+ private StuInfoBasicIBLL stuInfoBasicIBLL = new StuInfoBasicBLL();
+ private ClassroomInfoIBLL classroomInfoIBLL = new ClassroomInfoBLL();
+ private EmpInfoIBLL empInfoIBLL = new EmpInfoBLL();
+ private SSO_Drag_CardSortManageIBLL sSO_Drag_CardSortManageIBLL = new SSO_Drag_CardSortManageBLL();
+ private LessonInfoIBLL lessonInfoIBLL = new LessonInfoBLL();
+ private CdLessonSortIBLL cdLessonSortIBLL = new CdLessonSortBLL();
+ 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();
+ private StuSaverecordIBLL stuSaverecordIBLL = new StuSaverecordBLL();
+ private StuConsumptionIBLL stuConsumptionIBLL = new StuConsumptionBLL();
#region 统一身份认证2.0
///
@@ -840,5 +859,961 @@ namespace Learun.Application.Web.Controllers
return ip;
}
+ ///
+ /// 网上办事大厅拖拽版-未登录页面
+ ///
+ ///
+ 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();
+ }
+
+ ///
+ /// 网上办事大厅拖拽版-未登录页面-微信登录
+ ///
+ ///
+ 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();
+ }
+ ///
+ /// 网上办事大厅拖拽版-办事大厅模式
+ ///
+ ///
+ public ActionResult DragModelOne()
+ {
+ //判断登录状态码
+ string account = "";
+ if (!Request.Headers["account"].IsEmpty())
+ {
+ account = Request.Headers["account"].ToString();
+ }
+ OperatorHelper helper = new OperatorHelper();
+ var result = helper.IsOnLine(account);
+ if (result.stateCode != 1)
+ {
+ return Redirect("DragNoLogin");
+ }
+ //登录用户
+ var userInfo = LoginUserInfo.Get();
+ ViewBag.UserId = userInfo.userId;
+ //桌面管理表、卡片块排序管理表增加默认数据
+ sSO_Drag_DesktopManageIBLL.AddDefaultData(userInfo.userId, "one");
+ //获取桌面、卡片块排序列表
+ ViewBag.DesktopList = sSO_Drag_DesktopManageIBLL.GetListByModelCode(userInfo.userId, "one").OrderByDescending(x => x.DefaultFlag).ThenBy(x => x.Sort).ThenBy(x => x.CreateDate);
+ ViewBag.DesktopListStr = JsonConvert.SerializeObject(ViewBag.DesktopList);
+ //分页查询条件设置
+ Pagination paginationobj = new Pagination() { rows = 5, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" };
+ //邮件-收件箱
+ var maildata = sYS_ReceiveMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userInfo.userId + "\"}");
+ var maildataAll = sYS_ReceiveMessageIBLL.GetList("{\"userId\":\"" + userInfo.userId + "\"}");
+ ViewBag.LanMail = maildata;
+ ViewBag.LanMailStr = JsonConvert.SerializeObject(ViewBag.LanMail);
+ ViewBag.LanMailUnReadCount = maildataAll.Count(m => m.READFLAG == 0);
+ //邮件-已发送
+ paginationobj.sidx = "SENDTIME desc";
+ var mailsenddata = sYS_SendMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userInfo.userId + "\"}");
+ var mailsenddataAll = sYS_SendMessageIBLL.GetList2("{\"userId\":\"" + userInfo.userId + "\"}");
+ ViewBag.LanMailSend = mailsenddata;
+ ViewBag.LanMailSendStr = JsonConvert.SerializeObject(ViewBag.LanMailSend);
+ //来往邮件数量
+ ViewBag.LanMailTotalNum = maildataAll.Count() + mailsenddataAll.Count();
+ //公文
+ paginationobj.sidx = "SendTime";
+ ViewBag.ReceiveFileList = sys_ReceiveFileIBLL.GetPageList(paginationobj, "{\"ReceiverId\":\"" + userInfo.userId + "\"}");
+ ViewBag.ReceiveFileListStr = JsonConvert.SerializeObject(ViewBag.ReceiveFileList);
+ //公告
+ List outnewslist = new List();
+ var newsList = newsIBLL.GetList("", userInfo.userId);
+ foreach (var newsitemEntity in newsList)
+ {
+ if (!string.IsNullOrEmpty(newsitemEntity.F_SendPostId))
+ {
+ if (!string.IsNullOrEmpty(userInfo.postIds))
+ {
+ if (userInfo.postIds.Contains(","))
+ {
+ foreach (var postid in userInfo.postIds.Split(','))
+ {
+ if (newsitemEntity.F_SendPostId.Contains(postid))
+ {
+ outnewslist.Add(newsitemEntity);
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (newsitemEntity.F_SendPostId.Contains(userInfo.postIds))
+ {
+ outnewslist.Add(newsitemEntity);
+ }
+ }
+ }
+ }
+ else
+ {
+ if (!string.IsNullOrEmpty(newsitemEntity.F_SendDeptId))
+ {
+ if (newsitemEntity.F_SendDeptId.Contains(userInfo.departmentId))
+ {
+ outnewslist.Add(newsitemEntity);
+ }
+ }
+ else
+ {
+ outnewslist.Add(newsitemEntity);
+ }
+ }
+ }
+ 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;
+ var taskListAll = nWFProcessIBLL.GetMyTaskPageList(userInfo, "{}");
+ ViewBag.TaskList = nWFProcessIBLL.GetMyTaskPageList(userInfo, paginationobj, "{}");
+ ViewBag.TaskListStr = JsonConvert.SerializeObject(ViewBag.TaskList);
+ ViewBag.TaskTotalNum = taskListAll.Count();
+ //办公事项-已办任务
+ var finishTaskListAll = nWFProcessIBLL.GetMyFinishTaskPageList(userInfo, "{}");
+ ViewBag.FinishTaskList = nWFProcessIBLL.GetMyFinishTaskPageList(userInfo, paginationobj, "{}");
+ ViewBag.FinishTaskListStr = JsonConvert.SerializeObject(ViewBag.FinishTaskList);
+ ViewBag.FinishTaskTotalNum = finishTaskListAll.Count();
+ //办公事项-我发起的
+ var myListAll = nWFProcessIBLL.GetMyPageList(userInfo.userId, "{}");
+ ViewBag.MyList = nWFProcessIBLL.GetMyPageList(userInfo.userId, paginationobj, "{}");
+ ViewBag.MyListStr = JsonConvert.SerializeObject(ViewBag.MyList);
+ ViewBag.MyListTotalNum = myListAll.Count();
+ //常用服务
+ List modulelist = new List();
+ List 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) && 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);
+ if (fod != null)
+ {
+ //找父级
+ if (fod.F_ParentId == "0")
+ {
+ fod.ParentName = fod.F_FullName;
+ fod.F_ParentId = fod.F_ModuleId;
+ }
+ else
+ {
+ var parent1 = moduleIBLL.GetModuleEntity(fod.F_ParentId);
+ if (parent1 != null)
+ {
+ if (parent1.F_ParentId == "0")
+ {
+ fod.ParentName = parent1.F_FullName;
+ fod.F_ParentId = parent1.F_ModuleId;
+ }
+ else
+ {
+ //下一级
+ var parent2 = moduleIBLL.GetModuleEntity(parent1.F_ParentId);
+ if (parent2 != null)
+ {
+ if (parent2.F_ParentId == "0")
+ {
+ fod.ParentName = parent2.F_FullName;
+ fod.F_ParentId = parent2.F_ModuleId;
+ }
+ else
+ {
+ //下一级
+ var parent3 = moduleIBLL.GetModuleEntity(parent2.F_ParentId);
+ if (parent3 != null)
+ {
+ if (parent3.F_ParentId == "0")
+ {
+ fod.ParentName = parent3.F_FullName;
+ fod.F_ParentId = parent3.F_ModuleId;
+ }
+ else
+ {
+ //下一级
+ var parent4 = moduleIBLL.GetModuleEntity(parent3.F_ParentId);
+ if (parent4 != null)
+ {
+ if (parent4.F_ParentId == "0")
+ {
+ fod.ParentName = parent4.F_FullName;
+ fod.F_ParentId = parent4.F_ModuleId;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ modulelist.Add(fod);
+ }
+ }
+ ViewBag.OffenusedAll = modulelist;
+
+ var mm = modulelist.GroupBy(x => x.F_ParentId).Select(x => new ModuleEntity()
+ {
+ F_ParentId = x.Key,
+ ParentName = x.FirstOrDefault().ParentName,
+ ChildrenList = x.Select(y => new ModuleEntity()
+ {
+ F_ModuleId = y.F_ModuleId,
+ F_FullName = y.F_FullName
+ }).ToList()
+ }).ToList();
+ ViewBag.OffenusedGroup = mm;
+ ViewBag.OffenusedGroupStr = JsonConvert.SerializeObject(ViewBag.OffenusedGroup);
+ //查找服务
+ List searchmodulelist = new List();
+ 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();
+ ViewBag.MajorTotalNum = majorData.Count();
+ //班级
+ var classInfoData = classInfoIBLL.GetAllClass();
+ ViewBag.ClassInfoTotalNum = classInfoData.Count();
+ //学生
+ var stuInfoData = stuInfoBasicIBLL.GetAllList();
+ ViewBag.StuInfoTotalNum = stuInfoData.Count();
+ //教师
+ var teacherData = empInfoIBLL.GetAllList();
+ ViewBag.TeacherTotalNum = teacherData.Count();
+ //教室
+ var classRoomData = classroomInfoIBLL.GetAllList();
+ ViewBag.ClassRoomTotalNum = classRoomData.Count();
+ //课程
+ var lessonData = lessonInfoIBLL.GetAllList();
+ ViewBag.LessonTotalNum = lessonData.Count();
+ //专业总览
+ //专业学生
+ var stuByMajor = stuInfoData.GroupBy(x => x.MajorNo).Select(x => new
+ {
+ value = x.Select(y => y.StuId).Count(),
+ name = cdMajorIBLL.GetCdMajorEntityByMajorNo(x.Key)?.MajorName
+ });
+ ViewBag.StuByMajorStr = JsonConvert.SerializeObject(stuByMajor);
+ //流程
+ var flowType = dataItemIBLL.GetDetailList("FlowSort", "");
+ var flowList = wfSchemeIBLL.GetWfSchemeStart().ToList();
+ var allCount = 0;
+ foreach (var flow in flowType)
+ {
+ var count = flowList.Count(a => a.F_Category == flow.F_ItemName);
+ flow.FlowCount = count;
+ allCount += count;
+
+ }
+ ViewBag.AllCount = allCount;
+ ViewBag.FlowType = flowType;
+ ViewBag.FlowList = JsonConvert.SerializeObject(flowList);
+ //校园一卡通余额
+ ViewBag.StuSaveRecordTotalNum = 0;
+ var stuSaveRecordList = stuSaverecordIBLL.GetListByAccount(userInfo.account).OrderByDescending(x => x.UPLOADDATE);
+ if (stuSaveRecordList.Any())
+ {
+ ViewBag.StuSaveRecordTotalNum = stuSaveRecordList.FirstOrDefault().ODDFARE;
+ }
+ //红湖付款码余额
+ ViewBag.StuConsumptionTotalNum = 0;
+ var stuConsumptionList = stuConsumptionIBLL.GetListByAccount(userInfo.account);
+ if (stuConsumptionList.Any())
+ {
+ ViewBag.StuConsumptionTotalNum = stuConsumptionList.Select(x => x.OPFARE.ToDecimal()).Sum();
+ }
+ //常用链接
+ var userfunctionlist = perm_FunctionIBLL.GetListByUserId(userInfo.userId);
+ var ff = userfunctionlist.GroupBy(x => x.FTName).Select(x => new Perm_FunctionEntity()
+ {
+ FTName = x.Key,
+ PFunctionList = x.Select(y => new Perm_FunctionEntity()
+ {
+ FId = y.FId,
+ FTId = y.FTId,
+ FName = y.FName,
+ UPId = DESEncrypt.Encrypt(y.FId, ConfigurationManager.AppSettings["SSOPublicSecret"]),//sysid
+ UserId = DESEncrypt.Encrypt(userInfo.userId, ConfigurationManager.AppSettings["SSOPublicSecret"])//openid
+ }).Take(8).ToList()
+ });
+ ViewBag.FunctionList = ff;
+ ViewBag.FunctionListStr = JsonConvert.SerializeObject(ViewBag.FunctionList);
+
+
+ return View();
+ }
+
+ ///
+ /// 网上办事大厅拖拽版-效率优先模式
+ ///
+ ///
+ public ActionResult DragModelTwo()
+ {
+ //判断登录状态码
+ string account = "";
+ if (!Request.Headers["account"].IsEmpty())
+ {
+ account = Request.Headers["account"].ToString();
+ }
+ OperatorHelper helper = new OperatorHelper();
+ var result = helper.IsOnLine(account);
+ if (result.stateCode != 1)
+ {
+ return Redirect("DragNoLogin");
+ }
+ //登录用户
+ var userInfo = LoginUserInfo.Get();
+ ViewBag.UserId = userInfo.userId;
+ //桌面管理表、卡片块排序管理表增加默认数据
+ sSO_Drag_DesktopManageIBLL.AddDefaultData(userInfo.userId, "two");
+ //获取桌面、卡片块排序列表
+ ViewBag.DesktopList = sSO_Drag_DesktopManageIBLL.GetListByModelCode(userInfo.userId, "two").OrderByDescending(x => x.DefaultFlag).ThenBy(x => x.Sort).ThenBy(x => x.CreateDate);
+ ViewBag.DesktopListStr = JsonConvert.SerializeObject(ViewBag.DesktopList);
+ //分页查询条件设置
+ Pagination paginationobj = new Pagination() { rows = 5, page = 1, sidx = "readflag asc,SENDTIME desc ", sord = "desc" };
+ //邮件-收件箱
+ var maildata = sYS_ReceiveMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userInfo.userId + "\"}");
+ var maildataAll = sYS_ReceiveMessageIBLL.GetList("{\"userId\":\"" + userInfo.userId + "\"}");
+ ViewBag.LanMail = maildata;
+ ViewBag.LanMailStr = JsonConvert.SerializeObject(ViewBag.LanMail);
+ ViewBag.LanMailUnReadCount = maildataAll.Count(m => m.READFLAG == 0);
+ //邮件-已发送
+ paginationobj.sidx = "SENDTIME desc";
+ var mailsenddata = sYS_SendMessageIBLL.GetPageList(paginationobj, "{\"userId\":\"" + userInfo.userId + "\"}");
+ var mailsenddataAll = sYS_SendMessageIBLL.GetList2("{\"userId\":\"" + userInfo.userId + "\"}");
+ ViewBag.LanMailSend = mailsenddata;
+ ViewBag.LanMailSendStr = JsonConvert.SerializeObject(ViewBag.LanMailSend);
+ //来往邮件数量
+ ViewBag.LanMailTotalNum = maildataAll.Count() + mailsenddataAll.Count();
+ //公文
+ paginationobj.sidx = "SendTime";
+ ViewBag.ReceiveFileList = sys_ReceiveFileIBLL.GetPageList(paginationobj, "{\"ReceiverId\":\"" + userInfo.userId + "\"}");
+ ViewBag.ReceiveFileListStr = JsonConvert.SerializeObject(ViewBag.ReceiveFileList);
+ //公告
+ List outnewslist = new List();
+ var newsList = newsIBLL.GetList("", userInfo.userId);
+ foreach (var newsitemEntity in newsList)
+ {
+ if (!string.IsNullOrEmpty(newsitemEntity.F_SendPostId))
+ {
+ if (!string.IsNullOrEmpty(userInfo.postIds))
+ {
+ if (userInfo.postIds.Contains(","))
+ {
+ foreach (var postid in userInfo.postIds.Split(','))
+ {
+ if (newsitemEntity.F_SendPostId.Contains(postid))
+ {
+ outnewslist.Add(newsitemEntity);
+ break;
+ }
+ }
+ }
+ else
+ {
+ if (newsitemEntity.F_SendPostId.Contains(userInfo.postIds))
+ {
+ outnewslist.Add(newsitemEntity);
+ }
+ }
+ }
+ }
+ else
+ {
+ if (!string.IsNullOrEmpty(newsitemEntity.F_SendDeptId))
+ {
+ if (newsitemEntity.F_SendDeptId.Contains(userInfo.departmentId))
+ {
+ outnewslist.Add(newsitemEntity);
+ }
+ }
+ else
+ {
+ outnewslist.Add(newsitemEntity);
+ }
+ }
+ }
+ 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;
+ var taskListAll = nWFProcessIBLL.GetMyTaskPageList(userInfo, "{}");
+ ViewBag.TaskList = nWFProcessIBLL.GetMyTaskPageList(userInfo, paginationobj, "{}");
+ ViewBag.TaskListStr = JsonConvert.SerializeObject(ViewBag.TaskList);
+ ViewBag.TaskTotalNum = taskListAll.Count();
+ //办公事项-已办任务
+ var finishTaskListAll = nWFProcessIBLL.GetMyFinishTaskPageList(userInfo, "{}");
+ ViewBag.FinishTaskList = nWFProcessIBLL.GetMyFinishTaskPageList(userInfo, paginationobj, "{}");
+ ViewBag.FinishTaskListStr = JsonConvert.SerializeObject(ViewBag.FinishTaskList);
+ ViewBag.FinishTaskTotalNum = finishTaskListAll.Count();
+ //办公事项-我发起的
+ var myListAll = nWFProcessIBLL.GetMyPageList(userInfo.userId, "{}");
+ ViewBag.MyList = nWFProcessIBLL.GetMyPageList(userInfo.userId, paginationobj, "{}");
+ ViewBag.MyListStr = JsonConvert.SerializeObject(ViewBag.MyList);
+ ViewBag.MyListTotalNum = myListAll.Count();
+ //常用服务
+ List modulelist = new List();
+ List 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) && 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);
+ if (fod != null)
+ {
+ //找父级
+ if (fod.F_ParentId == "0")
+ {
+ fod.ParentName = fod.F_FullName;
+ fod.F_ParentId = fod.F_ModuleId;
+ }
+ else
+ {
+ var parent1 = moduleIBLL.GetModuleEntity(fod.F_ParentId);
+ if (parent1 != null)
+ {
+ if (parent1.F_ParentId == "0")
+ {
+ fod.ParentName = parent1.F_FullName;
+ fod.F_ParentId = parent1.F_ModuleId;
+ }
+ else
+ {
+ //下一级
+ var parent2 = moduleIBLL.GetModuleEntity(parent1.F_ParentId);
+ if (parent2 != null)
+ {
+ if (parent2.F_ParentId == "0")
+ {
+ fod.ParentName = parent2.F_FullName;
+ fod.F_ParentId = parent2.F_ModuleId;
+ }
+ else
+ {
+ //下一级
+ var parent3 = moduleIBLL.GetModuleEntity(parent2.F_ParentId);
+ if (parent3 != null)
+ {
+ if (parent3.F_ParentId == "0")
+ {
+ fod.ParentName = parent3.F_FullName;
+ fod.F_ParentId = parent3.F_ModuleId;
+ }
+ else
+ {
+ //下一级
+ var parent4 = moduleIBLL.GetModuleEntity(parent3.F_ParentId);
+ if (parent4 != null)
+ {
+ if (parent4.F_ParentId == "0")
+ {
+ fod.ParentName = parent4.F_FullName;
+ fod.F_ParentId = parent4.F_ModuleId;
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+ }
+
+ modulelist.Add(fod);
+ }
+ }
+ ViewBag.OffenusedAll = modulelist;
+
+ var mm = modulelist.GroupBy(x => x.F_ParentId).Select(x => new ModuleEntity()
+ {
+ F_ParentId = x.Key,
+ ParentName = x.FirstOrDefault().ParentName,
+ ChildrenList = x.Select(y => new ModuleEntity()
+ {
+ F_ModuleId = y.F_ModuleId,
+ F_FullName = y.F_FullName
+ }).ToList()
+ }).ToList();
+ ViewBag.OffenusedGroup = mm;
+ ViewBag.OffenusedGroupStr = JsonConvert.SerializeObject(ViewBag.OffenusedGroup);
+ //todo:
+ //删begin
+ 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);
+ //删end
+ //查找服务
+ List searchmodulelist = new List();
+ 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();
+ ViewBag.MajorTotalNum = majorData.Count();
+ //班级
+ var classInfoData = classInfoIBLL.GetAllClass();
+ ViewBag.ClassInfoTotalNum = classInfoData.Count();
+ //学生
+ var stuInfoData = stuInfoBasicIBLL.GetAllList();
+ ViewBag.StuInfoTotalNum = stuInfoData.Count();
+ //教师
+ var teacherData = empInfoIBLL.GetAllList();
+ ViewBag.TeacherTotalNum = teacherData.Count();
+ //教室
+ var classRoomData = classroomInfoIBLL.GetAllList();
+ ViewBag.ClassRoomTotalNum = classRoomData.Count();
+ //课程
+ var lessonData = lessonInfoIBLL.GetAllList();
+ ViewBag.LessonTotalNum = lessonData.Count();
+ //专业总览
+ //专业学生
+ var stuByMajor = stuInfoData.GroupBy(x => x.MajorNo).Select(x => new
+ {
+ value = x.Select(y => y.StuId).Count(),
+ name = cdMajorIBLL.GetCdMajorEntityByMajorNo(x.Key)?.MajorName
+ });
+ ViewBag.StuByMajorStr = JsonConvert.SerializeObject(stuByMajor);
+ //流程
+ var flowType = dataItemIBLL.GetDetailList("FlowSort", "");
+ var flowList = wfSchemeIBLL.GetWfSchemeStart().ToList();
+ var allCount = 0;
+ foreach (var flow in flowType)
+ {
+ var count = flowList.Count(a => a.F_Category == flow.F_ItemName);
+ flow.FlowCount = count;
+ allCount += count;
+
+ }
+ ViewBag.AllCount = allCount;
+ ViewBag.FlowType = flowType;
+ ViewBag.FlowList = JsonConvert.SerializeObject(flowList);
+ //校园一卡通余额
+ ViewBag.StuSaveRecordTotalNum = 0;
+ var stuSaveRecordList = stuSaverecordIBLL.GetListByAccount(userInfo.account).OrderByDescending(x => x.UPLOADDATE);
+ if (stuSaveRecordList.Any())
+ {
+ ViewBag.StuSaveRecordTotalNum = stuSaveRecordList.FirstOrDefault().ODDFARE;
+ }
+ //红湖付款码余额
+ ViewBag.StuConsumptionTotalNum = 0;
+ var stuConsumptionList = stuConsumptionIBLL.GetListByAccount(userInfo.account);
+ if (stuConsumptionList.Any())
+ {
+ ViewBag.StuConsumptionTotalNum = stuConsumptionList.Select(x => x.OPFARE.ToDecimal()).Sum();
+ }
+ //常用链接
+ var userfunctionlist = perm_FunctionIBLL.GetListByUserId(userInfo.userId);
+ var ff = userfunctionlist.GroupBy(x => x.FTName).Select(x => new Perm_FunctionEntity()
+ {
+ FTName = x.Key,
+ PFunctionList = x.Select(y => new Perm_FunctionEntity()
+ {
+ FId = y.FId,
+ FTId = y.FTId,
+ FName = y.FName,
+ UPId = DESEncrypt.Encrypt(y.FId, ConfigurationManager.AppSettings["SSOPublicSecret"]),//sysid
+ UserId = DESEncrypt.Encrypt(userInfo.userId, ConfigurationManager.AppSettings["SSOPublicSecret"])//openid
+ }).Take(8).ToList()
+ });
+ ViewBag.FunctionList = ff;
+ ViewBag.FunctionListStr = JsonConvert.SerializeObject(ViewBag.FunctionList);
+
+
+ return View();
+ }
+ ///
+ /// 网上办事大厅拖拽版-管理驾驶舱模式
+ ///
+ ///
+ public ActionResult DragModelThree()
+ {
+ //判断登录状态码
+ string account = "";
+ if (!Request.Headers["account"].IsEmpty())
+ {
+ account = Request.Headers["account"].ToString();
+ }
+ OperatorHelper helper = new OperatorHelper();
+ var result = helper.IsOnLine(account);
+ if (result.stateCode != 1)
+ {
+ return Redirect("DragNoLogin");
+ }
+ //登录用户
+ var userInfo = LoginUserInfo.Get();
+ ViewBag.UserId = userInfo.userId;
+ //校园总览
+ //专业
+ var majorData = cdMajorIBLL.GetAllList();
+ ViewBag.MajorTotalNum = majorData.Count();
+ //班级
+ var classInfoData = classInfoIBLL.GetAllClass();
+ ViewBag.ClassInfoTotalNum = classInfoData.Count();
+ //学生
+ var stuInfoData = stuInfoBasicIBLL.GetAllList();
+ ViewBag.StuInfoTotalNum = stuInfoData.Count();
+ ViewBag.StuInfoTotalNumOfMan = stuInfoData.Where(x => x.GenderNo == true).Count();
+ //教师
+ var teacherData = empInfoIBLL.GetAllList();
+ ViewBag.TeacherTotalNum = teacherData.Count();
+ ViewBag.TeacherTotalNumOfMan = teacherData.Where(x => x.GenderNo == true).Count();
+ ViewBag.TeacherTotalNumOfBianNei = teacherData.Where(x => x.CompilationCategory == "01").Count();
+ //教室
+ var classRoomData = classroomInfoIBLL.GetAllList();
+ ViewBag.ClassRoomTotalNum = classRoomData.Count();
+ //专业总览
+ //专业学生
+ var stuByMajor = stuInfoData.GroupBy(x => x.MajorNo).Select(x => new
+ {
+ value = x.Select(y => y.StuId).Count(),
+ name = cdMajorIBLL.GetCdMajorEntityByMajorNo(x.Key)?.MajorName
+ });
+ ViewBag.StuByMajorStr = JsonConvert.SerializeObject(stuByMajor);
+ //流程
+ var flowType = dataItemIBLL.GetDetailList("FlowSort", "");
+ var flowList = wfSchemeIBLL.GetWfSchemeStart().ToList();
+ var allCount = 0;
+ foreach (var flow in flowType)
+ {
+ var count = flowList.Count(a => a.F_Category == flow.F_ItemName);
+ flow.FlowCount = count;
+ allCount += count;
+
+ }
+ ViewBag.AllCount = allCount;
+ ViewBag.FlowType = flowType;
+ ViewBag.FlowList = JsonConvert.SerializeObject(flowList);
+ //课程总览
+ var lessonInfoData = lessonInfoIBLL.GetAllList();
+ ViewBag.LessonTotalNum = lessonInfoData.Count();
+ ViewBag.OpenLessonTotalNum = lessonInfoData.Where(x => x.CheckMark == true).Count();
+ //课程分类下的课程
+ var lessonBySort = lessonInfoData.GroupBy(x => x.LessonSortNo).Select(x => new
+ {
+ value = x.Select(y => y.LessonId).Count(),
+ name = cdLessonSortIBLL.GetCdLessonSortEntityByNo(x.Key)?.LessonSortName
+ });
+ ViewBag.LessonBySortStr = JsonConvert.SerializeObject(lessonBySort);
+ //课程类型下的课程
+ var lessonByType = lessonInfoData.GroupBy(x => x.LessonTypeId).Select(x => new
+ {
+ value = x.Select(y => y.LessonId).Count(),
+ name = cdLessonTypeIBLL.GetCdLessonTypeEntity(x.Key)?.LessonTypeName
+ });
+ ViewBag.LessonByTypeStr = JsonConvert.SerializeObject(lessonByType);
+ //教师总览
+ //教师学历比例
+ var teacherByHighestRecord = teacherData.Where(x => !string.IsNullOrEmpty(x.HighestRecord)).GroupBy(x => x.HighestRecord).Select(x => new
+ {
+ value = x.Select(y => y.EmpId).Count(),
+ name = bCdCultureDegreeIBLL.GetEntity(x.Key)?.CultureDegree
+ }).OrderByDescending(x => x.value);
+ ViewBag.TeacherByHighestRecordStr = JsonConvert.SerializeObject(teacherByHighestRecord);
+ //教师年龄比例
+ var empInfoAgeRate = empInfoIBLL.GetEmpInfoAgeRate();
+ var teacherByAge = new List
+
@Html.AppendJsFile("/Views/Home/AdminAccordion/index.js")
+@Html.AppendJsFile("/Views/Login/ACLogon.js")
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js
index 928cc635c..303c001e6 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDefault/index.js
@@ -6,7 +6,9 @@
* 描 述:经典风格皮肤
*/
var autoopenid = request('autoopen');
-var pwd = request("pwd");
+var pwd = request("pwd");//弱密码修改弹框
+var pwdtip = request("pwdtip");//初始密码提示弹框
+var pwdpwdtip = request("pwdpwdtip");//弱密码修改弹框&初始密码提示弹框
var bootstrap = function ($, learun) {
"use strict";
// 菜单操作
@@ -197,7 +199,8 @@ var bootstrap = function ($, learun) {
// area: ['500px', '300px']
// });
//}
- if (pwd == "true") {
+ //弱密码修改弹框
+ if (pwd == "true" || pwdpwdtip == "true") {
top.layer.open({
id: 'pwdform',
title: '密码修改',
@@ -225,6 +228,10 @@ var bootstrap = function ($, learun) {
}
});
}
+ //初始密码提示弹框
+ if (pwdtip == "true" || pwdpwdtip == "true") {
+ learun.layerConfirm('当前登录密码还是初始密码!', function (res) { });
+ }
//上网认证
if (ACIp != null && ACIp != "") {
//Ip上网
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml
index 4993ddef0..06d402508 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminDesktopTop.cshtml
@@ -314,7 +314,7 @@
.lr-scroll-wrap {
position: relative;
overflow: hidden;
- height: 100%;
+ height: 70%;
width: 100%
}
diff --git a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminTop.cshtml b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminTop.cshtml
index 5d43efa91..8742ff87c 100644
--- a/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminTop.cshtml
+++ b/Learun.Framework.Ultimate V7/Learun.Application.Web/Views/Home/AdminTop.cshtml
@@ -63,5 +63,12 @@