- ${SET[i].detail}
`
);
//运行开启状态的功能并打勾
if(GM_getValue(SET[i].name,SET[i].switch)){
SET[i].func();
menu.find('input#'+SET[i].id).attr('checked',true);
}
}
//根据是否选中即时启用或卸载功能并记录开关状态
menu.find('li#MOoptions').on('click',function(){
const checkbox=$(this).find('input');
const id=$(checkbox).attr('id');
if($(checkbox).attr('checked')){
SET[id].unfunc();
$(checkbox).attr('checked',false);
GM_setValue(SET[id].name,0);
}
else{
SET[id].func();
$(checkbox).attr("checked",true);
GM_setValue(SET[id].name,1);
}
});
//鼠标聚焦时显示详情 【https://www.minerva-online.com/portal/menu/js/v2/menuRender.js?version=21-08 createToolOption : 】
menu.find('li.MOassist').hover(function(){
$(this).find('ul:first').stop().show(200);
},function(){
$(this).find('ul:first').stop().hide(200);
});
}
//功能列表开关
function MOListSwitch(self){
const on=$(self).find('ul#MOoption').css('display');
if(on==='none'){
$(self).find('ul#MOoption').stop().slideDown(200);
}
else{
$(self).find('ul#MOoption').stop().slideUp(200);
}
}
/*在顶端菜单栏添加MOassist设置按钮*/
/*置顶置底*/
function GOTOPBOTTOM(){
const scrollBar=$(document).height()>(window.innerHeight+1||document.documentElement.clientHeight);//如有滚动条
if(scrollBar&&document.location.href.indexOf('alias=knowledgebase')===-1){//knowledgebase页面自带置顶按钮,不启用
const goTopBottomButton=document.createElement('div');
const toggleButton=document.createElement('img');
$(toggleButton).appendTo(goTopBottomButton);
$(goTopBottomButton).appendTo($('body')[0]);
$(goTopBottomButton).css({'position':'fixed','zIndex':10000}).attr('id','goTopBottom');
$(toggleButton).css({'display':'block','cursor':'pointer'}).attr('src','/knowledgebase/images/arrow_back_to_top.svg');//按钮显示图片(向下箭头)
//以下按钮参数可自定义修改
goTopBottomButton.style.bottom='50px';//按钮距离网页底部50px
goTopBottomButton.style.right='30px';//按钮距离网页右边30px
toggleButton.style.width='25px';//按钮图片宽25px
toggleButton.style.height='25px';//按钮图片高25px
toggleButton.style.opacity=0.5;//按钮不透明度,0.0(完全透明)到1.0(完全不透明)
toggleButton.style.backgroundColor='grey';//按钮背景颜色,也可使用在excel等软件的自定义颜色界面的16进制代码
const clickScrollTime=500;//点击按钮时,网页滚动到顶部或底部需要的时间,单位是毫秒
//点击按钮时网页滚动到顶部或底部
let scrollDirection='down';
toggleButton.addEventListener('click',()=>{
if(scrollDirection==='up'){
$('html,body').animate({scrollTop:'0px'},clickScrollTime);
}
else{
$('html,body').animate({scrollTop:$(document).height()},clickScrollTime);
}
});
//页面滚动监听
let scrollAction=window.pageYOffset;
$(window).scroll(()=>{
const diffY=scrollAction-window.pageYOffset;
scrollAction=window.pageYOffset;
scrollDirection= diffY<0? 'down' : 'up';
toggleButton.style.transform= diffY<0? 'rotate(0deg)' : 'rotate(180deg)';
if(getScrollTop()===0){
scrollDirection='down';
toggleButton.style.transform='rotate(0deg)';
}
if(getScrollTop()+window.innerHeight+20>=$(document).height()){
scrollDirection='up';
toggleButton.style.transform='rotate(180deg)';
}
});
}
}
//获取垂直方向滑动距离
function getScrollTop(){
let scrollTop=0;
if(document.documentElement&&document.documentElement.scrollTop){
scrollTop=document.documentElement.scrollTop;
}
else if(document.body){
scrollTop=document.body.scrollTop;
}
return scrollTop;
}
/*置顶置底*/
/*卸载置顶置底*/
function unGOTOPBOTTOM(){
if($('div#goTopBottom').length) $('div#goTopBottom').remove();
}
/*卸载置顶置底*/
/*菜单遮罩*/
function COVERMENU(){
const menu=$('div#menu');
if(menu.length){
//若存在menu则添加cover层
const cover = document.createElement('div');
cover.className = 'layout';
cover.style = 'top:'+menu[0].style.top+';opacity:0.3;z-index:10000;right:16%';
$(cover).appendTo($('body')[0]).attr('id','cover');
//点击时将cover层下置
cover.addEventListener('click',()=>{
cover.style.zIndex = -1;
});
//离开menu时cover层还原
menu[0].addEventListener('mouseleave',()=>{
cover.style.zIndex = 10000;
});
//cover层位置跟随menu 【https://www.minerva-online.com/portal/menu/js/v2/menuRender.js?version=21-08 onScrollEventHandler : 】
$(window).scroll(()=>{
const SM=unsafeWindow.SM;
const ind = SM.ui.headerHeight - SM.ui.getScrollTop();
cover.style.top= ind>0? ind+'px' : '0px';
});
}
}
/*菜单遮罩*/
/*卸载菜单遮罩*/
function unCOVERMENU(){
if($('div#cover').length) $('div#cover').remove();
}
/*卸载菜单遮罩*/
/*附件下载*/
function DOWNLOADFILE(){
if (document.location.href.indexOf('alias=smngr.surveyexplorer')>=0&&$('tr.persist-header').length){
$('tr.persist-header').each(function(){
$(this).children().first().after($(this).children().first().clone(true));
});
$('div.sticky-wrap').find(':checkbox').each(function(){//checkbox后添加下载按钮
const surveyid=$(this).val();
$(this).parent().after(' | ');
$('#'+surveyid+'.download').one('click',()=>{
DownloadButton(surveyid);
});
});
}
}
//获取附件列表
function DownloadButton(surveyid){
$('button#'+surveyid+'.download').hide();
$('button#'+surveyid+'.download').after('......');
$.get('/open/data.asp?post={"action":"exec","dataset":{"datasetname":"/Apps/SM/Survey/SurveyInstanceGetData"},"parameters":[{"name":"SurveyInstanceID","value":"'+surveyid+'"}]}',(data,status)=>{//调用API获取当前survey数据[SurveyInstanceGetData]
if (status==='success'){
const filedata=data.dataset.data[3];
const fileno=filedata.length;
$('p#'+surveyid+'.loading').after('\t#='+fileno+'');
if (fileno>0){
for(let i in filedata){
const filename=filedata[i].FileName+'.'+filedata[i].FileExtension;
const fileid=filedata[i].AttachmentID;
const fileurl='/mystservices/Attachments/getAttachment.asp?Attachment='+fileid+'&Password='+filedata[i].Password+'';
let filesize=Number(filedata[i].FileSizeInBytes)/1024;
filesize= (filesize>1024)? (filesize/1024).toFixed(2)+' MB' : filesize.toFixed(2)+' KB';
$('').appendTo('ol#'+surveyid+'.filelist');
$(`- ${filename}`).appendTo('tr#'+fileid);
$('
'+filesize+' | ').appendTo('tr#'+fileid);
}
$('a#'+surveyid+'.I,a#'+surveyid+'.V').mouseenter(function(){
FilePreview(1,$(this).attr('href'));
}).mouseleave(()=>{
FilePreview(0);
});
$('ol#'+surveyid+'.filelist').prepend(' |