816 lines
34 KiB
Plaintext
816 lines
34 KiB
Plaintext
@using CRM.Core.Model.Entity;
|
||
@using CRM.Core.Model.Map;
|
||
@using Core.Web.WebHelper;
|
||
@{
|
||
Layout = null;
|
||
string WeiXin_WebChatAssistant = ViewBag.WeiXin_WebChatAssistant;
|
||
|
||
}
|
||
<!doctype html>
|
||
<html lang="en">
|
||
<head>
|
||
<meta charset="UTF-8">
|
||
<title>数智化合规系统</title>
|
||
<meta name="renderer" content="webkit|ie-comp|ie-stand">
|
||
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
|
||
<meta name="viewport" content="width=device-width,user-scalable=yes, minimum-scale=0.4, initial-scale=0.8,target-densitydpi=low-dpi" />
|
||
<meta http-equiv="Cache-Control" content="no-siteapp" />
|
||
<link rel="shortcut icon" href="/favicon.ico" type="image/x-icon" />
|
||
<link rel="stylesheet" href="/css/font.css">
|
||
<script src="~/Scripts/layui-v2.7.6/layui/layui.js"></script>
|
||
@*<script src="~/Scripts/layui-v2.5.7/layui/layui.js"></script>*@
|
||
@*<link href="~/Scripts/layui-v2.5.7/layui/css/layui.css" rel="stylesheet" />*@
|
||
<link href="~/Scripts/layui-v2.7.6/layui/css/layui.css" rel="stylesheet" />
|
||
<link rel="stylesheet" href="/css/xadmin.css?v=20210203">
|
||
<!--<script type="text/javascript" src="https://cdn.bootcss.com/jquery/3.2.1/jquery.min.js"></script>-->
|
||
<script src="/Scripts/jquery-1.10.2.min.js"></script>
|
||
@*<script src="/Scripts/layui-v2.4.5/layui.js" charset="utf-8"></script>*@
|
||
<script src="~/Scripts/chat.js?v=2"></script>
|
||
<script src="~/Scripts/signalr/signalr.js"></script>
|
||
<script type="text/javascript" src="/Scripts/xadmin.js?v=20230919"></script>
|
||
<script src="~/Scripts/layui_ext/notify/notify.js"></script>
|
||
<style type="text/css">
|
||
.headStyle {
|
||
padding: 0 10px;
|
||
}
|
||
|
||
.phonebutton li {
|
||
font-size: 8px;
|
||
line-height: 11px;
|
||
}
|
||
|
||
.container .layui-icon {
|
||
font-size: 20px;
|
||
}
|
||
|
||
.layui-nav-more {
|
||
font-size: 16px !important;
|
||
}
|
||
|
||
.headtitle {
|
||
padding-left: 4px;
|
||
font-size: 15px;
|
||
}
|
||
|
||
.layui-icon-logout:before {
|
||
content: "\e682";
|
||
}
|
||
|
||
.logo {
|
||
float: left;
|
||
background-image: url('../../images/logo.png');
|
||
background-repeat: no-repeat;
|
||
width: 225px;
|
||
height: 60px;
|
||
}
|
||
|
||
.layui-nav {
|
||
padding: 0 20px 0 0;
|
||
}
|
||
|
||
.layui-layout-left {
|
||
left: 225px;
|
||
}
|
||
|
||
.layui_bell_icon {
|
||
background: url(/images/bell.png) no-repeat;
|
||
height: 19px;
|
||
width: 19px;
|
||
}
|
||
|
||
#rightnavNoBar .layui-nav-bar {
|
||
display: none;
|
||
}
|
||
.msgtable {
|
||
}
|
||
|
||
.msgtable td {
|
||
height: 38px;
|
||
}
|
||
|
||
.msgtable .msgtitle {
|
||
margin-left: 10px;
|
||
}
|
||
</style>
|
||
@*新消息闪动特效*@
|
||
<style>
|
||
.circle_bottom {
|
||
background: red;
|
||
border-radius: 100%;
|
||
width: 10px;
|
||
height: 10px;
|
||
filter: alpha(opacity=40);
|
||
position: absolute;
|
||
}
|
||
|
||
.animation {
|
||
-webkit-animation: twinkling 2.1s infinite ease-in-out;
|
||
animation: twinkling 2.1s infinite ease-in-out;
|
||
-webkit-animation-fill-mode: both;
|
||
animation-fill-mode: both;
|
||
}
|
||
|
||
@@-webkit-keyframes twinkling {
|
||
0% {
|
||
opacity: 0.6;
|
||
filter: alpha(opacity=60);
|
||
-webkit-transform: scale(1);
|
||
}
|
||
|
||
50% {
|
||
opacity: 1;
|
||
filter: alpha(opacity=100);
|
||
-webkit-transform: scale(1.3);
|
||
}
|
||
|
||
100% {
|
||
opacity: 0.6;
|
||
filter: alpha(opacity=60);
|
||
-webkit-transform: scale(1);
|
||
}
|
||
}
|
||
|
||
@@keyframes twinkling {
|
||
0% {
|
||
opacity: 0.6;
|
||
filter: alpha(opacity=60);
|
||
-webkit-transform: scale(1);
|
||
}
|
||
|
||
50% {
|
||
opacity: 1;
|
||
filter: alpha(opacity=100);
|
||
-webkit-transform: scale(1.3);
|
||
}
|
||
|
||
100% {
|
||
opacity: 0.6;
|
||
filter: alpha(opacity=60);
|
||
-webkit-transform: scale(1);
|
||
}
|
||
}
|
||
|
||
.hidden {
|
||
display: none;
|
||
}
|
||
|
||
.svgIcon {
|
||
width: 20px;
|
||
height: 20px;
|
||
vertical-align: middle;
|
||
padding-right: 10px;
|
||
}
|
||
|
||
.layui-selfsav .layui-layer-title {
|
||
border-bottom: 1px solid #c5d8e8;
|
||
}
|
||
</style>
|
||
<script type="text/javascript">
|
||
$(function () {
|
||
$("#topnav li").not("[lay-unselect]").click(function () {
|
||
$("#topnav .layui-this").removeClass("layui-this");
|
||
$(this).addClass("layui-this");
|
||
$("[model]").attr("style", "display:none;");
|
||
$("#model_" + $(this).attr("menuid")).attr("style", "");
|
||
});
|
||
});
|
||
</script>
|
||
<style>
|
||
.layui-icon-kongxian {
|
||
width: 18px;
|
||
height: 18px;
|
||
background: url(/images/kongxian.png) no-repeat center;
|
||
display: inline-flex;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.layui-icon-manglu {
|
||
width: 18px;
|
||
height: 18px;
|
||
background: url(/images/kongxian.png) no-repeat center;
|
||
display: inline-flex;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.layui-icon-kongxian {
|
||
width: 18px;
|
||
height: 18px;
|
||
background: url(/images/kongxian.png) no-repeat center;
|
||
display: inline-flex;
|
||
vertical-align: middle;
|
||
}
|
||
|
||
.huajinew {
|
||
line-height: 20px;
|
||
}
|
||
</style>
|
||
</head>
|
||
<body>
|
||
<script>
|
||
var _mwXXW_DSDF = '2XDFx_DFDF4';
|
||
</script>
|
||
<!-- 顶部开始 -->
|
||
<div class="container">
|
||
<div class="logo" style="display:none;"></div>
|
||
<div style="color:orange; font-size:25px; height:64px; line-height:64px; padding-left:10px; float:left; width:225px;">数智化合规系统</div>
|
||
<ul class="layui-nav layui-layout-left" id="topnav" lay-shrink="none">
|
||
<li class="layui-nav-item left_open layadmin-flexible" lay-unselect>
|
||
<a href="javascript:;" layadmin-event="flexible" style="padding: 0 10px 0 4px;" title="侧边伸缩">
|
||
<i class="layui-icon layui-icon-shrink-right" id="LAY_app_flexible"></i>
|
||
</a>
|
||
</li>
|
||
@{ var mainMenu = ViewBag.MainMenu as List<Bas_Permisson>; }
|
||
@foreach (var model in mainMenu)
|
||
{
|
||
<li class="layui-nav-item @(model.ID == ViewBag.ChooseID ? "layui-this" : "")" menuid="@(model.ID)">
|
||
<a href="javascript:void(0)" style="padding: 0 18px 0 10px;" title="@(model.NAME)">
|
||
<i class="layui-icon @(model.ICON)"></i>
|
||
<span class="headtitle">@(model.NAME)</span>
|
||
</a>
|
||
</li>
|
||
}
|
||
</ul>
|
||
<iframe src="@Html.Raw(ViewBag.hgServiceHost+"Account/LogOn?authToken="+HttpUtility.UrlEncode(ViewBag.AuthToken)+"&returnUrl="+HttpUtility.UrlEncode("/Home/CtiIndex?isOut=1&Fjh="+ViewBag.Fjh))" id="ctiiframe" style="float: left; left: 740px; position: relative;" frameborder="0" width="550"></iframe>
|
||
|
||
<ul class="layui-nav right" lay-bar="disabled" lay-filter="|" id="rightnavNoBar">
|
||
@*<li class="layui-nav-item" lay-unselect>
|
||
<ul class="huajinew">
|
||
<li>话机:@Html.Raw(ViewBag.Fjh) </li>
|
||
<li> 时长:</li>
|
||
</ul>
|
||
</li>*@
|
||
<li class="layui-nav-item" lay-unselect>
|
||
<a href="javascript:;" style="padding-left:5px;">
|
||
<i class="layui-icon layui-icon-friends" style="font-size:16px;"></i>
|
||
@string.Format("{0}-{1}", ViewBag.Eid, ViewBag.Name)
|
||
</a>
|
||
<dl class="layui-nav-child">
|
||
@*<dd><a href="javascript:configMsg()"><i class="layui-icon layui-icon-set-fill" style="font-size:16px;"></i>配置消息通知</a></dd>*@
|
||
<dd><a href="javascript:changepwd()"><i class="layui-icon layui-icon-password" style="font-size:16px;"></i>修改密码</a></dd>
|
||
<dd><a href="javascript:loginOff()"><i class="layui-icon layui-icon-logout" style="font-size:16px;"></i>退出</a></dd>
|
||
</dl>
|
||
</li>
|
||
@*<li class="layui-nav-item" lay-unselect style=" margin-left:10px; cursor: pointer;">
|
||
<a href="javascript:;" style="padding-left:5px;">
|
||
<i class="layui-icon layui-icon-set-fill" style="font-size:18px;"></i>
|
||
</a>
|
||
</li>*@
|
||
@*<li class="layui-nav-item" lay-header-event="menuRight" lay-unselect>
|
||
<a href="javascript:void(0)" title="信息" style="padding:0 5px;">
|
||
<i class="layui-icon layui-icon-more-vertical"></i>
|
||
</a>
|
||
</li>*@
|
||
<li class="layui-nav-item" lay-unselect="" lay-header-event="menuRight" style=" margin-left:10px; cursor: pointer;" id="myMessage">
|
||
<div class="layui-icon layui_bell_icon" data-anim="layui-anim-rotate layui-anim-loop"></div>
|
||
<!-- 如果有新消息,则显示小圆点 -->
|
||
<span id="shanyishan" class="layui-badge-dot circle_bottom animation hidden" style="top:20%;left:4px; width:10px; height:10px;"></span>
|
||
</li>
|
||
</ul>
|
||
</div>
|
||
@*<a id="LoginOtherWindow" target="_blank" href="@Html.Raw(ViewBag.hgServiceHost+"/Account/LogOn?returnUrl="+HttpUtility.UrlEncode("/Home/CtiIndex?Fjh="+ViewBag.Fjh)+"&authToken="+HttpUtility.UrlEncode(ViewBag.AuthToken))">我插</a>
|
||
<script>
|
||
$(function () {
|
||
console.log("点击试一下");
|
||
console.log($("#LoginOtherWindow"));
|
||
$("#LoginOtherWindow").click();
|
||
});
|
||
</script>*@
|
||
<script>
|
||
var winindex;
|
||
function changepwd() {
|
||
winindex = layer.open({
|
||
title: '<i class="layui-icon layui-icon-password"></i> 密码修改',
|
||
type: 2,
|
||
content: '/InnerUser/changepwd',
|
||
area: ['500px', '300px']
|
||
});
|
||
}
|
||
function loginOff() {
|
||
var iframe = document.createElement("iframe");
|
||
iframe.src = "@Html.Raw(ViewBag.hgServiceHost+ "/Account/LogOff")";
|
||
if (!/*@@cc_on!@@*/0) { //if not IE
|
||
iframe.onload = function(){
|
||
//alert("Local iframe is now loaded.");
|
||
window.top.location.href = "/Account/LogOff?Length=4";
|
||
};
|
||
} else {
|
||
iframe.onreadystatechange = function(){
|
||
if (iframe.readyState == "complete"){
|
||
//alert("Local iframe is now loaded.");
|
||
window.top.location.href = "/Account/LogOff?Length=4";
|
||
}
|
||
};
|
||
}
|
||
document.body.appendChild(iframe);
|
||
|
||
@*$("#ctiiframe").attr("src", "@Html.Raw(ViewBag.hgServiceHost+ "/Account/LogOff")");//退出登录*@
|
||
|
||
}
|
||
function Closed() {
|
||
layer.close(winindex);
|
||
}
|
||
layui.use(['element', 'layer', 'util'], function () {
|
||
var element = layui.element
|
||
, layer = layui.layer
|
||
, util = layui.util
|
||
, $ = layui.$;
|
||
|
||
//头部事件
|
||
util.event('lay-header-event', {
|
||
//左侧菜单事件
|
||
menuLeft: function (othis) {
|
||
layer.msg('展开左侧菜单的操作', { icon: 0 });
|
||
}
|
||
, menuRight: function () {
|
||
|
||
layer.open({
|
||
type: 1
|
||
, title: '<svg t="1582796631765" class="svgIcon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="78172" width="18" height="18" xmlns:xlink="http://www.w3.org/1999/xlink"><path d="M892.343 738.743c7.314 0 21.943 0 29.257 7.314-29.257-21.943-51.2-58.514-51.2-95.086V424.23c0-168.229-117.029-307.2-285.257-343.772v-7.314C585.143 36.57 548.57 0 512 0s-80.457 36.571-80.457 73.143v7.314C270.629 117.03 153.6 256 153.6 424.23V650.97c0 36.572-21.943 73.143-51.2 95.086 7.314-7.314 14.629-7.314 29.257-7.314-29.257 0-51.2 21.943-51.2 51.2s21.943 51.2 51.2 51.2h768c29.257 0 51.2-21.943 51.2-51.2-7.314-21.943-29.257-43.886-58.514-51.2zM512 1024c73.143 0 131.657-58.514 131.657-131.657H380.343C380.343 965.486 438.857 1024 512 1024z" fill="#1296db" opacity=".99" p-id="78173"></path></svg>消息 <span class="layui-badge AllCount hidden"></span>'
|
||
, content: $('#MessageNAV')
|
||
//, btn: ['测试']
|
||
, area: ['300px', 'calc(100% - 61px)']
|
||
, offset: 'rb' //右上角
|
||
, anim: 1
|
||
, shadeClose: true
|
||
, move: false
|
||
, skin: "layui-selfsav"
|
||
, shade: 0
|
||
, success: function () {
|
||
//ShowMsgCount();
|
||
}
|
||
, cancel: function () {
|
||
$('#MessageNAV').hide();
|
||
}
|
||
});
|
||
}
|
||
});
|
||
|
||
});
|
||
</script>
|
||
|
||
@{
|
||
int cindex = 0;
|
||
List<Bas_Permisson> leftModelist = ViewBag.LeftMenu as List<Bas_Permisson>;
|
||
}
|
||
@foreach (var model in mainMenu)
|
||
{
|
||
var firstList = leftModelist.Where(m => m.PRENTID == model.ID).OrderBy(m => m.SORT).ToList();//取得第一手数据
|
||
|
||
<div class="left-nav" model id="model_@(model.ID)" @Html.Raw(cindex == 0 ? "" : "style='display:none;'")>
|
||
<div id="side-nav">
|
||
<ul id="nav" lay-shrink>
|
||
@foreach (Bas_Permisson menu in firstList)
|
||
{
|
||
if (menu.childList != null && menu.childList.Count > 0)
|
||
{
|
||
<li class="open">
|
||
<a href="javascript:;">
|
||
@*<i class="iconfont"></i>*@
|
||
<i class="layui-icon @Html.Raw(menu.ICON)"></i>
|
||
<cite>@menu.NAME</cite>
|
||
<i class="iconfont layui-icon nav_right"></i>
|
||
</a>
|
||
@Html.Action("LeftMenu", "Home", menu)
|
||
</li>
|
||
}
|
||
else
|
||
{
|
||
if (menu.isblank == 1)
|
||
{
|
||
<li>
|
||
<a href="@Html.Raw(menu.URL)" target="_blank">
|
||
<i class="iconfont"></i>
|
||
<cite>@menu.NAME</cite>
|
||
</a>
|
||
</li>
|
||
}
|
||
else
|
||
{
|
||
<li>
|
||
<a _href="@Html.Raw(menu.URL)">
|
||
<i class="iconfont"></i>
|
||
<cite>@menu.NAME</cite>
|
||
</a>
|
||
</li>
|
||
}
|
||
}
|
||
}
|
||
</ul>
|
||
</div>
|
||
</div>
|
||
cindex++;
|
||
}
|
||
|
||
<!-- <div class="x-slide_left"></div> -->
|
||
<!-- 左侧菜单结束 -->
|
||
<!-- 右侧主体开始 -->
|
||
<div class="page-content">
|
||
<div class="layui-tab tab" lay-filter="xbs_tab" lay-allowclose="false">
|
||
<ul class="layui-tab-title">
|
||
<li class="home"><i class="layui-icon"></i>我的桌面</li>
|
||
</ul>
|
||
<div class="layui-tab-content">
|
||
<div class="layui-tab-item layui-show">
|
||
<iframe src='/Home/welcome' frameborder="0" scrolling="yes" class="x-iframe"></iframe>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
</div>
|
||
<div class="page-content-bg"></div>
|
||
<!-- 右侧主体结束 -->
|
||
<!-- 中部结束 -->
|
||
<!-- 底部开始 -->
|
||
<div class="footer">
|
||
<div class="copyright"></div>
|
||
</div>
|
||
<!-- 底部结束 -->
|
||
<style>
|
||
#MessageNAV .layui-colla-title {
|
||
font-weight: 600;
|
||
}
|
||
|
||
.MessageTable {
|
||
width: 100%;
|
||
}
|
||
|
||
.MessageTable .JianGe {
|
||
height: 10px;
|
||
}
|
||
|
||
.MessageTable .messagelooklink {
|
||
color: #01AAED;
|
||
}
|
||
|
||
.MessageTable .messagedept {
|
||
}
|
||
|
||
.AllCount {
|
||
}
|
||
</style>
|
||
<div class="layui-collapse" id="MessageNAV" style="display:none;">
|
||
@{ List<Csvr_Message_Type> message_Types = ViewBag.MessageType;
|
||
string objjson = "{ \"XX\":\"AA\" ";
|
||
}
|
||
@foreach (var iterm in message_Types)
|
||
{
|
||
objjson += string.Format(" ,\"{0}\":\"{1}\" ", iterm.msgcode, iterm.title);
|
||
<div class="layui-colla-item" id="MsgCode_@iterm.msgcode">
|
||
<h2 class="layui-colla-title">@iterm.title <span id="msgcount_@iterm.msgcode" class="layui-badge OneCount hidden">1</span></h2>
|
||
<div class="layui-colla-content layui-show" ntype="MessageContent"><span class="nocontent">暂无内容</span></div>
|
||
</div>
|
||
}
|
||
@{objjson += "}";}
|
||
</div>
|
||
|
||
<script>
|
||
var maxmsgid = 0;
|
||
var htmltemple = `<table class="MessageTable" id="msg_{msgid}">
|
||
<tbody>
|
||
<tr>
|
||
<td width="80%">{content}</td>
|
||
<td valign="middle" align="right">
|
||
<img src="/images/{islook}" class="lookimg" />
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td class="JianGe"></td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td class="messagedept">
|
||
{from}
|
||
</td>
|
||
<td></td>
|
||
</tr>
|
||
<tr>
|
||
<td>
|
||
{time}
|
||
</td>
|
||
<td valign="middle" align="right">
|
||
<a href="javascript:{link}" class="messagelooklink">查看</a>
|
||
</td>
|
||
</tr>
|
||
</tbody>
|
||
</table>`;
|
||
var hasOk = {};
|
||
var msgcodeCount = {};
|
||
var newmsgCout = 0;
|
||
var codeobj=@Html.Raw(objjson);
|
||
var msgSend = "";
|
||
|
||
function WindowsMsgSet() {
|
||
var title = "总部系统消息通知:";
|
||
var bodymsg = "";
|
||
for (let key in msgcodeCount) {
|
||
var nowcount = msgcodeCount[key]; // foo, bar
|
||
if (nowcount > 0) {
|
||
bodymsg +="【"+ codeobj[key] + nowcount+"条】";
|
||
}
|
||
}
|
||
//console.log(bodymsg);
|
||
if (bodymsg) {
|
||
SendWindowsMsg(title, "您有" + bodymsg + " 请尽快处理!", false);
|
||
}
|
||
}
|
||
function ShowMsgCount() {
|
||
if (newmsgCout == 0) {
|
||
$(".AllCount").addClass("hidden");
|
||
$("#shanyishan").addClass("hidden");
|
||
|
||
} else {
|
||
$(".AllCount").removeClass("hidden");
|
||
$("#shanyishan").removeClass("hidden");
|
||
}
|
||
$(".AllCount").html(newmsgCout);
|
||
|
||
for (let key in msgcodeCount) {
|
||
var nowcount = msgcodeCount[key]; // foo, bar
|
||
if (nowcount == 0) {
|
||
$("#msgcount_" + key).addClass("hidden");
|
||
|
||
} else {
|
||
$("#msgcount_" + key).removeClass("hidden");
|
||
}
|
||
$("#msgcount_" + key).html(nowcount);
|
||
}
|
||
}
|
||
function LookMsg(id, msgcode) {
|
||
$.ajax({
|
||
type: "POST",
|
||
url: "/Home/LookMsg",
|
||
data: { id: id },
|
||
dataType: "json",
|
||
success: function (da) {
|
||
if (da.result) {
|
||
console.log(da.msg)
|
||
$("#msg_" + id + " .lookimg").attr("src", "/images/open_email.png")
|
||
newmsgCout--;
|
||
msgcodeCount[msgcode]--;
|
||
ShowMsgCount();
|
||
}
|
||
},
|
||
error: function () {
|
||
|
||
}
|
||
});
|
||
}
|
||
</script>
|
||
|
||
<script>
|
||
var util;
|
||
var layer;
|
||
var notify;
|
||
window.onload = function () {
|
||
$(function () {
|
||
getMessage();
|
||
//setTimeout(doItem, 1 * 10 * 1000);//10秒钟提示一次
|
||
});
|
||
}
|
||
function getMessage(){
|
||
$.ajax({
|
||
type: "POST",
|
||
url: "/Home/GetNewMessage",
|
||
data: { maxid: maxmsgid },
|
||
dataType: "json",
|
||
success: function (da) {
|
||
if (da.result) {
|
||
var count = 0;
|
||
$(da.data).each(function (i, s) {
|
||
if (s.id > maxmsgid) {
|
||
maxmsgid = s.id;//更新最大ID
|
||
}
|
||
var html = htmltemple.replace("{content}", s.message);
|
||
if (hasOk[s.msgcode]) {
|
||
html += "<hr />";
|
||
} else {
|
||
hasOk[s.msgcode] = 1;
|
||
}
|
||
if (s.islook == 0) {
|
||
count++;
|
||
if (msgcodeCount[s.msgcode]) {
|
||
msgcodeCount[s.msgcode]++;
|
||
} else {
|
||
msgcodeCount[s.msgcode] = 1;
|
||
}
|
||
}
|
||
|
||
html = html.replace("{msgid}", s.id);
|
||
html = html.replace("{content}", s.message);
|
||
html = html.replace("{time}", s.ctime);
|
||
html = html.replace("{from}", s.fromer);
|
||
html = html.replace("{islook}", s.islook == 1 ? "open_email.png" : "email.png");
|
||
if (s.msgcode == "WASH") {
|
||
html = html.replace("{link}", "AddTab('/News/Index');LookMsg('" + s.id + "','" + s.msgcode + "');");
|
||
} else if (s.msgcode == "DZTZ") {
|
||
html = html.replace("{link}", "gotoOrderPay('" + s.param + "');LookMsg('" + s.id + "','" + s.msgcode + "');");
|
||
} else if (s.msgcode == "DJTZ") {
|
||
html = html.replace("{link}", "gotoOrderDepositPay('" + s.param + "');LookMsg('" + s.id + "','" + s.msgcode + "');");
|
||
} else {
|
||
html = html.replace("{link}", "LookMsg('" + s.id + "');");
|
||
}
|
||
$("#MsgCode_" + s.msgcode + " .nocontent").remove();
|
||
$("#MsgCode_" + s.msgcode + " [ntype='MessageContent']").prepend(html);
|
||
if (s.islook == 0) {
|
||
newmsgCout++;
|
||
}
|
||
});
|
||
ShowMsgCount();
|
||
if (count > 0) {//有新消息才做提醒
|
||
WindowsMsgSet();//windows提醒
|
||
}
|
||
}
|
||
},
|
||
error: function () {
|
||
|
||
}
|
||
});
|
||
}
|
||
layui.use(['layer', 'util', 'notify'], function () {
|
||
layer = layui.layer;
|
||
util = layui.util;
|
||
notify = layui.notify;
|
||
});
|
||
var info = @Html.Raw(ViewBag.User);
|
||
|
||
ConnectionSignalR(info, showMessage, loginMessage);
|
||
|
||
function showMessage(title, message, id) {
|
||
//var offset = 'rt';
|
||
//var width = window.innerWidth - 350 + 'px';
|
||
//var height = window.innerHeight - 140 + 'px';
|
||
//console.log(width)
|
||
//layer.open({
|
||
// type: 1,
|
||
// move: false,
|
||
// offset: [height, width], // 详细可参考 offset 属性
|
||
// //anim: 'slideLeft',// id: 'ID-demo-layer-offset-' + offset, // 防止重复弹出
|
||
// title: title,
|
||
// content: '<div style="padding: 16px;"><a href="javascript:;" onclick="showMsgDetail()">' + message + '</a></div>',
|
||
// area: '340px',
|
||
// btnAlign: 'c', // 按钮居中
|
||
// shade: 0, // 不显示遮罩
|
||
// //yes: function () {
|
||
// // layer.closeAll();
|
||
// //}
|
||
//});
|
||
|
||
var content = '<a href="javascript:;" onclick="showMsgDetail()">' + message + '</a>'
|
||
notify.info(content, "bottomRight", 15000);
|
||
}
|
||
function showHGAuditMessage(title, message, id) {
|
||
var contenthtml = `<table class='msgtable' style='width:400px'>
|
||
<tr><td class='lefttd'><a href=\"javascript:void(0)\" onclick=\"parent.AddNewTab('策略池','/StockReport')\"><span class="msgtitle">策略池:{clc_count}个</span></a></td><td><a href=\"javascript:void(0)\" onclick=\"parent.AddNewTab('股票池','/StockPool')\"><span class="msgtitle">股票池:{gpc_count}个</span></a></td><tr/>
|
||
<tr><td class='lefttd'><a href=\"javascript:void(0)\" onclick=\"parent.AddNewTab('讲师','/Lecturer/Index')\"><span class="msgtitle">讲师:{js_count}个</span></a></td><td><a href=\"javascript:void(0)\" onclick=\"parent.AddNewTab('视频直播','/LivePlan/Index')\"><span class="msgtitle">视频直播:{spzb_count}个</span></a></td><td></td><tr/>
|
||
<tr><td class='lefttd'><a href=\"javascript:void(0)\" onclick=\"parent.AddNewTab('资讯','/CmsNews/Index')\"><span class="msgtitle">资讯:{zx_count}个</span></a></td><td><a href=\"javascript:void(0)\" onclick=\"parent.AddNewTab('文案审核','/News/Index')\"><span class="msgtitle">文案审核:{wash_count}个</span></a></td><td></td><tr/>
|
||
</table>`;
|
||
var jobject = JSON.parse(message);
|
||
for (var i = 0; i < jobject.length; i++) {
|
||
if (jobject[i].Title == "策略池") {
|
||
contenthtml=contenthtml.replace("{clc_count}", jobject[i].Count);
|
||
}
|
||
if (jobject[i].Title == "股票池") {
|
||
contenthtml=contenthtml.replace("{gpc_count}", jobject[i].Count);
|
||
}
|
||
if (jobject[i].Title == "讲师") {
|
||
contenthtml= contenthtml.replace("{js_count}", jobject[i].Count);
|
||
}
|
||
if (jobject[i].Title == "视频直播") {
|
||
contenthtml=contenthtml.replace("{spzb_count}", jobject[i].Count);
|
||
}
|
||
if (jobject[i].Title == "资讯") {
|
||
contenthtml=contenthtml.replace("{zx_count}", jobject[i].Count);
|
||
}
|
||
if (jobject[i].Title == "文案审核") {
|
||
contenthtml=contenthtml.replace("{wash_count}", jobject[i].Count);
|
||
}
|
||
}
|
||
layer.open({
|
||
title: '待办提醒'
|
||
, content: contenthtml// strs
|
||
, anim: 2
|
||
, scrollbar: true
|
||
, tipsMore: true
|
||
, shade: false
|
||
, offset: 'rb'
|
||
, time: 60000
|
||
, btn: []
|
||
});
|
||
}
|
||
function showMsgDetail() {
|
||
getMessage();
|
||
console.log('showMsgDetail');
|
||
notify.destroyAll();
|
||
layer.closeAll();
|
||
document.getElementById('myMessage').click();
|
||
}
|
||
|
||
function loginMessage(title, message) {
|
||
if (title == "审核提醒") {
|
||
showHGAuditMessage(title, message);
|
||
} else {
|
||
showMessage(title, message);
|
||
}
|
||
//SendWindowsMsg(title, message, true);
|
||
}
|
||
|
||
function configMsg() {
|
||
SendWindowsMsg("", "您的windows消息通知配置成功!", true);
|
||
}
|
||
function SendWindowsMsg(title, body, istest) {
|
||
|
||
if (window.Notification) {
|
||
var popNotice = function () {
|
||
if (Notification.permission == "granted") {
|
||
var notification = new Notification(title, {
|
||
body: body,
|
||
icon: '/images/companyicon.png',
|
||
renotify: false
|
||
});
|
||
|
||
notification.onclick = function () {
|
||
// text.innerHTML = '张小姐已于' + new Date().toTimeString().split(' ')[0] + '加你为好友!';
|
||
notification.close();
|
||
};
|
||
}
|
||
};
|
||
if (Notification.permission == "granted") {
|
||
popNotice();
|
||
} else if (Notification.permission != "denied") {
|
||
Notification.requestPermission(function (permission) {
|
||
popNotice();
|
||
});
|
||
} else if (istest && Notification.permission == "denied") {
|
||
layer.open({
|
||
icon: 3,
|
||
title: '配置提示',
|
||
content: '<p>浏览器设置了本站点禁止通知,请开放!</p><p>地址:chrome://settings/content/notifications</p>'
|
||
});
|
||
}
|
||
} else {
|
||
alert('浏览器不支持Notification');
|
||
}
|
||
//setTimeout(woxhas, 2 * 1000);//开始3秒中执行
|
||
}
|
||
//setTimeout(woxhas("文案审核通知:", '软件三【提交】了文案审核,请尽快审核!'), 2 * 1000);//开始3秒中执行
|
||
</script>
|
||
@*实现跨域监听*@
|
||
<script>
|
||
var util;
|
||
var layer;
|
||
layui.use(['layer', 'util'], function () {
|
||
layer = layui.layer;
|
||
util = layui.util;
|
||
});
|
||
window.addEventListener("message", receiveMessage, false);
|
||
function receiveMessage(event) {
|
||
console.log("主界面收到postmessage");
|
||
console.log(event);
|
||
if (event.data != null && event.data.url != null) {
|
||
//ChildAddTab(event.data.name, event.data.url, event.data.icon)
|
||
//ParentAddTab(event.data.url, event.data.name);
|
||
//var url222 = event.data.url;
|
||
//if (url222) {
|
||
// //if (url222.indexOf("?") > -1) {
|
||
// // url222 += "&mytoken=" + _mytoken;
|
||
// //} else {
|
||
// // url222 += "?mytoken=" + _mytoken;
|
||
// //}
|
||
// url222 = changeURLArg(url222, "mytoken", _mytoken);
|
||
// console.log("xxxx:" + url222);
|
||
//}
|
||
AddNewTab(event.data.name, event.data.url);
|
||
}
|
||
///子嵌套页面token过期
|
||
if (event.data != null && event.data == "tokenexpire") {
|
||
//window.top.location.href = "";
|
||
console.log("tokenexpire过期");
|
||
// window.top.location.href = "/Account/LogOff?Length=4";//收到退出
|
||
}
|
||
if (event.data != null && event.data.typecall) {
|
||
console.log("收到打电话了");
|
||
var wn = document.getElementById('ctiiframe').contentWindow;
|
||
// postMessage 参数: 1.要发送的数据, 2.目标域名
|
||
wn.postMessage({
|
||
name: event.data.name,
|
||
typecall: event.data.typecall,
|
||
objZero: event.data.objZero,
|
||
msg: event.data.msg,
|
||
isbc: event.data.isbc,
|
||
callout: event.data.callout,
|
||
LASTNUM3: event.data.LASTNUM3
|
||
}, "*");
|
||
|
||
}
|
||
if (event.data != null && event.data.mytoken) {
|
||
console.log(event.data.mytoken)
|
||
_mytoken = event.data.mytoken;
|
||
}
|
||
if (event.data != null && event.data.message) {
|
||
layer.msg(event.data.message, { icon: 1 }, function () {
|
||
layer.closeAll();
|
||
});
|
||
}
|
||
}
|
||
</script>
|
||
</body>
|
||
</html> |