no commit message

This commit is contained in:
雨中磐石
2024-10-18 15:27:40 +08:00
parent 9a2a3a2c8a
commit 559c388ea0
103 changed files with 2021 additions and 783 deletions

View File

@@ -120,17 +120,39 @@ js.dw = {
this.clearchao();
js.dw.ondwerr(msg);
}else{
this.wait('浏览器定位中...');
//本地虚拟定位
if(HOST=='127.0.0.1'){this.showPosition({coords:{latitude:24.51036967,longitude:118.178837299,accuracy:100}});return;}
navigator.geolocation.getCurrentPosition(this.showPosition,this.showError,{
enableHighAccuracy: true,
timeout: 19000,
maximumAge: 3000
});
this.liulqdw();
}
},
liulqdw:function(){
this.wait('浏览器定位中...');
var dwrand = sessionStorage.getItem('dwrand');
if(dwrand){
sessionStorage.setItem('dwrand', '');
this.wait('跳转定位获取中...');
$.ajax({
url:'api.php?m=kaoqin&a=dwget&dwrand='+dwrand+'',
dataType:'json',
success:function(ret){
if(ret.success && ret.data){
js.dw.showPosition({coords:ret.data});
}else{
js.dw.showErrors('跳转定位错误:'+ret.msg);
}
},
error:function(){
js.dw.showErrors('跳转定位错误');
}
});
return;
}
if(HOST=='127.0.0.1'){this.showPosition({coords:{latitude:24.51036967,longitude:118.178837299,accuracy:100}});return;}//本地虚拟定位
navigator.geolocation.getCurrentPosition(this.showPosition,this.showError,{
enableHighAccuracy: true,
timeout: 10000,
maximumAge: 3000
});
},
//微信定位
wxdingw:function(){
@@ -200,7 +222,20 @@ js.dw = {
msg="未知错误。"
break;
}
if(NOWURL.substr(0,5)!='https')msg+='必须使用https访问';
if(NOWURL.substr(0,5)!='https'){
msg+='必须使用https访问';
js.confirm('点确定继续去定位', function(jg){
if(jg=='yes'){
setTimeout('js.dw.gotodingw()',100);
}else{
js.dw.showErrors(msg);
}
});
}else{
js.dw.showErrors(msg);
}
},
showErrors:function(msg){
js.dw.timeerrbo = setTimeout(function(){
if(!js.dw.successbo){
js.msg('msg', msg);
@@ -210,7 +245,21 @@ js.dw = {
}
},1000);
},
gotodingw:function(){
js.alert('跳转在定位中,可点确定读取定位内容。','', function(){
js.reload();
});
var dwrand = js.getrand();
$.ajax({
url:'api.php?m=kaoqin&a=dwurl&dwrand='+dwrand+'',
dataType:'json',
success:function(ret){
var da = ret.data;
sessionStorage.setItem('dwrand', da.dwrand);
js.location(da.url);
}
});
},
showPosition:function(position){
js.dw.successbo = true;
clearTimeout(js.dw.timeerrbo);

View File

@@ -15,6 +15,7 @@ $(document).ready(function(){
device= js.cookie('deviceid');
if(device=='')device=js.now('time');
js.savecookie('deviceid', device, 365);
js.apptheme();
try{
var winobj = js.request('winobj');
if(nwjsgui)window.focus=function(){nw.Window.get().focus()}
@@ -104,6 +105,18 @@ function winWb(){
js.scrolla = function(){
var top = $(document).scrollTop();
js.scroll(top);
}
js.colorTorgb = function(col){
var r=0,g=0,b=0;
if(col.length==7){
r = parseInt(col.substr(1,2),16);
g = parseInt(col.substr(3,2),16);
b = parseInt(col.substr(5,2),16);
}
return [r,g,b];
}
js.apptheme = function(){
}
js.request=function(name,dev,url){
this.requestarr = {};
@@ -198,7 +211,7 @@ js.open=function(url,w,h,wina,can,wjcan){
if(url.substr(0,4)!='http')url=NOWURL+url;
var opar=nw.Window.open(url, ocsn, function(wis){
if(wina)js.openarr[wina]=wis;
if(w>=1000)wis.maximize();
//if(w>=1000)wis.maximize();
});
}
if(wina)this.openarr[wina]=opar;
@@ -283,7 +296,7 @@ js.upload=function(call,can, glx){
if(glx=='url')return url;
var s='',tit=can.title;if(!tit)tit='上传文件';
js.tanbody('uploadwin',tit,500,300,{
html:'<div style="height:280px;overflow:hidden"><iframe src="" name="winiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
html:'<div style="height:280px;overflow:hidden;border-radius:0px 0px 5px 5px"><iframe src="" name="winiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
bbar:'none'
});
winiframe.location.href=url;
@@ -308,7 +321,7 @@ js.winiframe=function(tit, url){
}
var wi = winWb()-150;if(wi>mxw)wi=mxw;if(wi<700)wi=700;
js.tanbody('winiframe',tit,wi,410,{
html:'<div style="height:'+hm+'px;overflow:hidden"><iframe src="" name="openinputiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
html:'<div style="height:'+hm+'px;overflow:hidden;border-radius:0px 0px 5px 5px"><iframe src="" name="openinputiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
bbar:'none'
});
openinputiframe.location.href=url;
@@ -627,24 +640,24 @@ js.tanbody=function(act,title,w,h,can1){
var s = '',mid = ''+act+'_main',i,d;
var can = js.applyIf(can1,{html:'',btn:[],bodystyle:'',showfun:function(){}});
if(w>winWb())w=winWb()-50;
var s = '<div id="'+mid+'" style="position:fixed;background-color:#ffffff;left:'+l+'px;width:'+w+'px;top:'+t+'px;box-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:5px">';
s+=' <div style="-moz-user-select:none;-webkit-user-select:none;user-select:none;border-bottom:1px #eeeeee solid">';
var s = '<div id="'+mid+'" style="position:fixed;background-color:#ffffff;left:'+l+'px;width:'+w+'px;top:'+t+'px;box-shadow:0px 0px 10px rgba(0,0,0,0.3);border-radius:6px"><div style="background:var(--main-bgcolor);border-radius:5px;">';
s+=' <div style="-moz-user-select:none;-webkit-user-select:none;user-select:none;border-bottom:var(--border)">';
s+=' <table border="0" width="100%" style="background:none" cellspacing="0" cellpadding="0"><tr>';
s+=' <td height="50" style="font-size:16px; font-weight:bold;color:'+maincolor+'; padding-left:10px" width="100%" onmousedown="js.move(\''+mid+'\')" id="'+act+'_title">'+title+'</td>';
s+=' <td><div id="'+act+'_spancancel1" style="padding:0px 8px;height:50px;line-height:45px;overflow:hidden;cursor:pointer;color:gray;" onclick="js.tanclose(\''+act+'\')">✖</div></td>';
s+=' <td height="50" style="font-size:16px; font-weight:bold;padding-left:10px" width="100%" onmousedown="js.move(\''+mid+'\')" id="'+act+'_title" class="zhu">'+title+'</td>';
s+=' <td><div id="'+act+'_spancancel1" style="padding:0px 8px;height:50px;line-height:45px;overflow:hidden;cursor:pointer;" onclick="js.tanclose(\''+act+'\')">✖</div></td>';
s+=' </tr></table>';
s+=' </div>';
s+=' <div id="'+act+'_body" style="'+can.bodystyle+'">'+can.html+'</div>';
s+=' <div id="'+act+'_bbar" style="overflow:hidden;padding:12px 10px;background:#f1f1f1;border-radius:0px 0px 5px 5px" align="right"><span id="msgview_'+act+'"></span>';
s+=' <div id="'+act+'_bbar" style="overflow:hidden;padding:12px 10px;background:rgba(0,0,0,0.05);border-radius:0px 0px 5px 5px" align="right"><span id="msgview_'+act+'"></span>';
for(i=0; i<can.btn.length; i++){
d = can.btn[i];
if(!d.bgcolor)d.bgcolor='';
s+='<button type="button" oi="'+i+'" style="border-radius:5px;padding:8px 15px;margin-left:10px;background:'+d.bgcolor+'" id="'+act+'_btn'+i+'" class="webbtn">'+d.text+'</button>';
}
s+=' <button type="button" id="'+act+'_spancancel" onclick="js.tanclose(\''+act+'\')" style="border-radius:5px;padding:8px 15px;background:gray;margin-left:10px" class="webbtn">取消</button>';
s+=' <button type="button" id="'+act+'_spancancel" onclick="js.tanclose(\''+act+'\')" style="border-radius:5px;padding:8px 15px;background:rgba(0,0,0,0.5);margin-left:10px" class="webbtn">取消</button>';
s+=' ';
s+=' </div>';
s+='</div>';
s+='</div></div>';
var str = '<div id="amain_'+act+'" tanbodynew="'+act+'" oncontextmenu="return false" style="position:absolute;height:'+H+'px;width:'+W+'px;background:rgba(0,0,0,0.3);z-index:'+this.tanbodyindex+';left:0px;top:0px">'+s+'</div>';
$('body').append(str);
if(can.closed=='none'){
@@ -653,7 +666,7 @@ js.tanbody=function(act,title,w,h,can1){
}
if(can.bbar=='none'){
$('#'+act+'_bbar').remove();
$('#'+mid+'').append('<div style="height:5px;overflow:hidden;border-radius:0px 0px 5px 5px"></div>');
//$('#'+mid+'').append('<div style="height:5px;overflow:hidden;border-radius:0px 0px 5px 5px"></div>');
}
this.resizetan(act);
can.showfun(act);
@@ -715,7 +728,7 @@ js.getmsg = function(txt,col){
var s = '';
if(!txt)txt='';
if(txt.indexOf('...')>0){
s='<img src="images/loading.gif" height="16" width="16" align="absmiddle"> ';
s=''+this.ling(16)+' ';
col = '#ff6600';
}
s+='<span style="color:'+col+'">'+txt+'</span>';
@@ -807,7 +820,7 @@ js.msg = function(lx, txt,sj){
return;
}
if(lx == 'wait'){
txt = '<img src="images/loadings.gif" height="14" width="15" align="absmiddle"> '+txt;
txt = ''+this.ling(14)+' '+txt;
sj = 60;
}
if(lx=='msg')txt='<font color=red>'+txt+'</font>';var t=10;
@@ -972,7 +985,7 @@ js.changeuser=function(na, lx, tits,ocans){
if(typeof(bcar)=='object')for(i in bcar)can[i]=bcar[i];
js.tanbody('changeaction',tits,w,h,{
html:'<div id="showuserssvie" style="height:'+h+'px"><iframe src="" name="winiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
html:'<div id="showuserssvie" style="height:'+h+'px;border-radius:0px 0px 5px 5px"><iframe src="" name="winiframe" width="100%" height="100%" frameborder="0"></iframe></div>',
bbar:'none'
});
@@ -1215,4 +1228,10 @@ js.sendevent=function(typ,na,d){
function lang(ky){
return ky;
}
js.ling = function(w){
var sve = 'style="height:'+w+'px;width:'+w+'px"';
if(!w)sve='';
return '<i '+sve+' class="rock-loading"></i>';
}

View File

@@ -1,50 +1,13 @@
QOM='xinhuwx_'
js.wx={};
js.wx.alert=function(msg,fun,tit, cof1){
$('#weui_dialog_alert_div').remove();
var s='';
if(!tit)tit='系统提示';
s+='<div id="weui_dialog_alert_div" class="weui_dialog_alert" >';
s+='<div class="weui_mask"></div>';
s+='<div class="weui_dialog">';
s+=' <div class="weui_dialog_hd"><strong class="weui_dialog_title">'+tit+'</strong></div>';
s+=' <div class="weui_dialog_bd">'+msg+'</div>';
s+=' <div class="weui_dialog_ft">';
s+=' <a href="javascript:;" id="confirm_btn" sattr="yes" class="weui_btn_dialog primary">确定</a>';
if(cof1==1)s+=' <a href="javascript:;" id="confirm_btn1" sattr="no" class="weui_btn_dialog default">取消</a>';
s+=' </div>';
s+='</div>';
s+='</div>';
$('body').append(s);
function backl(e){
var jg = $(this).attr('sattr');
if(typeof(fun)=='function')fun(jg,this);
$('#weui_dialog_alert_div').remove();
return false;
}
$('#confirm_btn1').click(backl);
$('#confirm_btn').click(backl);
js.alert(msg,tit, fun);
}
js.wx.confirm=function(msg,fun,tit){
this.alert(msg,fun,tit, 1);
js.confirm(msg,fun,tit);
}
js.wx.prompt=function(tit,msg,fun,nr){
if(!nr)nr='';
if(apicloud){
api.prompt({
buttons: ['确定', '取消'],
text:nr,title:tit,msg:msg
}, function(ret, err) {
var index = ret.buttonIndex;
if(index==1)fun(ret.text);
});
return;
}
function func(lx){
if(lx=='yes')fun(get('prompttxt').value);
}
var msg = '<div align="left">'+msg+'</div><div align="left"><input autocomplete="off" value="'+nr+'" class="r-input" id="prompttxt" type="text"></div>';
this.alert(msg,func,tit, 1);
js.prompt(tit,msg,fun,nr);
}
js.apiurl = function(m,a,cans){
var url=''+apiurl+'api.php?m='+m+'&a='+a+'';
@@ -115,61 +78,13 @@ js.ajax = function(m,a,d,funs, mod,checs, erfs, glx){
}, 1000*30);
}
js.wx.load=function(txt){
this.unload();
if(txt=='none')return;
if(!txt)txt='加载中...';
var s='';
var t = winHb()-150;
s+='<div id="loadingToastsss" class="weui_loading_toast">'+
'<div class="weui_mask_transparent"></div>'+
'<div class="weui_toast" style="top:'+(t*0.5)+'px">'+
' <div class="weui_loading">'+
' <div class="weui_loading_leaf weui_loading_leaf_0"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_1"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_2"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_3"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_4"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_5"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_6"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_7"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_8"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_9"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_10"></div>'+
' <div class="weui_loading_leaf weui_loading_leaf_11"></div>'+
' </div>'+
' <p class="weui_toast_content">'+txt+'</p>'+
'</div>'+
'</div>';
$('body').append(s);
js.loading(txt);
}
js.wx.unload=function(){
$('#loadingToastsss').remove();
}
js.loading=function(txt){
this.wx.load(txt);
}
js.unloading=function(){
this.wx.unload();
js.unloading();
}
js.wx.msgok=function(txt,fun,ms){
$('#toastssss').remove();
clearTimeout(this.msgtime);
if(txt=='none')return;
if(!ms)ms=3;
var t = winHb()-150;
var s='<div id="toastssss">';
s+='<div class="weui_mask_transparent"></div>';
s+= '<div class="weui_toast" style="top:'+(t*0.5)+'px">';
s+= '<i class="weui_icon_toast"></i>';
s+= '<p class="weui_toast_content">'+txt+'</p>';
s+= '</div>';
s+='</div>';
$('body').append(s);
this.msgtime=setTimeout(function(){
$('#toastssss').remove();
if(typeof(fun)=='function')fun();
}, ms*1000);
js.msgok(txt,fun,ms);
}
js.showmenu=function(d){
@@ -382,4 +297,10 @@ function touchclass(cans){
touchnowobj.onlongclick();
this.onlongmenu();
}
}
js.ling = function(w){
var sve = 'style="height:'+w+'px;width:'+w+'px"';
if(!w)sve='';
return '<i '+sve+' class="rock-loading"></i>';
}

View File

@@ -231,6 +231,10 @@ var reim={
}
},''+lx+',json', efun);
},
initloads:function(){
$('#mainreload').html(''+js.ling(12)+' 刷新中...');
this.initload(true);
},
//初始加载数据
initload:function(bo){
this.initbool = true;
@@ -238,6 +242,7 @@ var reim={
reim.initci++;
reim.showdata(ret.data);
if(bo)reim.reloaduser();
$('#mainreload').html('<i class="icon-refresh"></i> 刷新');
});
},
firstpid:0,
@@ -566,7 +571,7 @@ var reim={
}
}
var len=ds.length,d,s='',s1,lx;
s='<div style="padding:5px;margin-top:5px;color:#aaaaaa;border-bottom:1px #e1e1e1 solid">会话('+len+')</div>';
s='<div style="padding:5px;margin-top:5px;color:#aaaaaa;border-bottom:var(--border)">会话('+len+')</div>';
for(i=0;i<len;i++){
d = ds[i];
lx= d.type1;
@@ -658,12 +663,18 @@ var reim={
tit+='@'+d.subname+'';
}
var s1 = this.grouptype(d.deptid,d.type);
s = '<div class="lists'+cls+'" rtype="hist" oncontextmenu="reim.historyright(this,event,\''+num+'\')" tsaid="'+d.receid+'" tsaype="'+d.type+'" temp="hist" id="history_'+num+'" onclick="reim.openchat(\''+ty+'\',\''+d.receid+'\',\''+d.name+'\',\''+d.face+'\')">';
s+='<table cellpadding="0" border="0" width="100%"><tr>';
s+='<td style="padding-right:8px"><div style="height:30px;overflow:hidden"><img src="'+d.face+'"></div></td>';
s+='<td align="left" width="100%"><div title="'+tit+'" id="lname_'+num+'" class="name">'+na+''+nas+''+s1+'</div><div class="huicont">'+jm.base64decode(d.cont)+'</div></td>';
s+='<td align="right" nowrap><span id="'+qz+'_stotal_'+num+'" class="badge red">'+st+'</span><br><span style="color:#aaaaaa;font-size:10px">'+ops+'</span></td>';
s+='</tr></table>';
s = '<div class="lists'+cls+'" rtype="hist" oncontextmenu="reim.historyright(this,event,\''+num+'\')" tsaid="'+d.receid+'" tsaype="'+d.type+'" style="display:flex;align-items:center;" temp="hist" id="history_'+num+'" onclick="reim.openchat(\''+ty+'\',\''+d.receid+'\',\''+d.name+'\',\''+d.face+'\')">';
s+='<div style="padding-right:8px"><div class="img"><img src="'+d.face+'"></div></div>';
s+='<div style="flex:1;overflow:hidden;">';
s+=' <div style="display:flex;align-items:center;">';
s+=' <div style="flex:1;" title="'+tit+'" id="lname_'+num+'" class="name">'+na+''+nas+''+s1+'</div>';
s+=' <span id="'+qz+'_stotal_'+num+'" class="badge red">'+st+'</span>';
s+=' </div>';
s+=' <div style="display:flex;align-items:center;">';
s+=' <div style="flex:1;padding-right:3px" class="huicont">'+strhtml(jm.base64decode(d.cont))+'</div>';
s+=' <div style="color:#aaaaaa;font-size:10px;white-space:nowrap">'+ops+'</div>';
s+=' </div>';
s+='</div>';
s+='</div>';
if(glx)return s;
if(!pad){o.append(s);}else{o.prepend(s)}
@@ -720,7 +731,7 @@ var reim={
if(d.tel==null)d.tel='';
var num = 'userinfo_'+d.id+'';
var s = '<div align="center"><div align="left" style="width:300px;margin-top:50px">';
s+=' <div style="padding-left:70px"><img id="myfacess" onclick="$(this).imgview()" src="'+d.face+'" height="100" width="100" style="border-radius:50%;border:1px #eeeeee solid"></div>';
s+=' <div style="padding-left:70px"><img id="myfacess" onclick="$(this).imgview()" src="'+d.face+'" height="100" width="100" style="border-radius:50%;border:var(--border)"></div>';
if(d.id==adminid)s+='<div style="padding-left:90px"><a href="javascript:;" id="fupbgonet" onclick="reim.upfaceobj.click()" style="font-size:12px">修改头像</a></div>';
s+=' <div style="line-height:30px;padding:10px;padding-left:20px;"><font color=#888888>姓名:</font>'+d.name+'<br><font color=#888888>部门:</font>'+d.deptallname+'<br><font color=#888888>职位:</font>'+d.ranking+'<br><font color=#888888>性别:</font>'+d.sex+'<br><font color=#888888>电话:</font>'+d.tel+'<br><font color=#888888>手机:</font>'+d.mobile+'<br><font color=#888888>邮箱:</font>'+d.email+'</div>';
@@ -779,10 +790,10 @@ var reim={
return;
}
var s = '<div>';
s+='<div id="viewtitle_'+num+'" style="height:50px;overflow:hidden;border-bottom:#dddddd solid 1px;">';
s+='<div id="viewtitle_'+num+'" style="height:50px;overflow:hidden;border-bottom:var(--border);">';
s+='</div>';
var hei = 206;
s+='<div resizeh="'+hei+'" id="viewcontent_'+num+'" style="height:'+(viewheight-hei)+'px;overflow:hidden;position:relative;"><div style="margin-top:50px" align="center"><img src="images/mloading.gif"></div></div>';
s+='<div resizeh="'+hei+'" id="viewcontent_'+num+'" style="height:'+(viewheight-hei)+'px;overflow:hidden;position:relative;"><div style="margin-top:50px;color:#cccccc" align="center">'+js.ling(30)+'</div></div>';
s+='<div class="toolsliao" style="background:none" id="toolsliao_'+num+'">';
s+=' <span title="表情" tools="emts" class="cursor"><i class="icon-heart"></i></span>';
@@ -987,7 +998,7 @@ var reim={
for(ty in agedt){
a = agedt[ty];
len = a.length;
s+='<div style="color:#aaaaaa;padding-left:20px;margin-bottom:10px;padding:5px;border-bottom:'+sodd+'px solid #eeeeee">&nbsp;&nbsp;'+ty+'</div>';
s+='<div style="color:#aaaaaa;padding-left:20px;margin-bottom:10px;padding:5px;border-bottom-width:'+sodd+'px;border-bottom:var(--border)">&nbsp;&nbsp;'+ty+'</div>';
s+='<div class="agenhclsdiv">';
for(i=0;i<len;i++){
d1 = a[i];
@@ -1033,7 +1044,7 @@ var reim={
this.showbadge('chat');
this.biaoyd('agent',d.id);
var w = 1100,h=600,url = d.urlpc;
var w = screen.width-200,h=screen.height-150,url = d.urlpc;
if(isempt(url)){
url = d.urlm;
if(isempt(url)){
@@ -1089,7 +1100,7 @@ var reim={
reim.clickcogclick(d);
}
});
var d = [{'name':'消息记录',lx:'jl'},{'name':'刷新',lx:'sx'},{'name':'创建会话',lx:'create'},{'name':'修改密码',lx:'pass'}];
var d = [{'name':'消息记录',lx:'jl'},{'name':'刷新',lx:'sx'},{'name':'创建会话',lx:'create'},{'name':'修改密码',lx:'pass'},{'name':'切换主题',lx:'theme'}];
if(companymode)d.push({'name':'切换单位',lx:'qhqy'});
if(nwjsgui)d.push({'name':'下载管理器',lx:'down'});
d.push({'name':'设置',lx:'cog'});
@@ -1112,24 +1123,13 @@ var reim={
location.reload();
}
}
if(lx=='exit'){
this.exitlogin();
}
if(lx=='cog'){
this.cogshow();
}
if(lx=='jl'){
this.openrecord();
}
if(lx=='create'){
this.creategroup();
}
if(lx=='pass'){
this.editpass();
}
if(lx=='qhqy'){
this.changecom();
}
if(lx=='exit')this.exitlogin();
if(lx=='cog')this.cogshow();
if(lx=='jl')this.openrecord();
if(lx=='create')this.creategroup();
if(lx=='pass')this.editpass();
if(lx=='qhqy')this.changecom();
if(lx=='theme')this.changetheme();
if(lx=='down')js.open('?d=reim&m=record&a=download', 630,450,'downs');
},
//创建会话
@@ -1147,6 +1147,19 @@ var reim={
});
return false;
},
changetheme:function(){
var zys = ['#1389D3','#99cc66','#003366','#6666CC','#CC3333','#009966','#333333','#990066','#333300','#333366','#99CC99','#663366','#003399','#338899'];
var h = '<div style="padding:10px"><table height="20px" class="cursor"><tr>';
var nst = '';
for(var i=0;i<zys.length;i++){
nst = (zys[i]==maincolor) ? '✔':'&nbsp;';
h+='<td width="20px" style="color:white;font-size:12px" align="center" onclick="js.location(\'?d=reim&a=xina&apptheme='+zys[i].substr(1)+'\')" bgcolor="'+zys[i]+'">'+nst+'</td>';
}
h+='</tr></table></div>';
js.tanbody('color','切换主题',310,200,{
html:h
});
},
editpass:function(bt,cse){
if(!bt)bt='修改密码';
if(!cse)cse='';
@@ -1224,18 +1237,18 @@ var reim={
var chs= (this.getsound())?'checked':'';
var ch1= (this.getzhuom())?'checked':'';
var num = 'userinfo_cogshow';
var s = '<div align="center"><div align="left" style="width:300px;margin-top:50px">';
var s = '<div align="center"><div align="left" style="width:300px;margin-top:40px;padding:15px;background:var(--main-bgcolor);border-radius:5px;border:var(--border)">';
s+=' <div style="line-height:30px"><b>设置</b></div>';
s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid"><label><input '+ch1+' onclick="reim.setzhuom(this)" type="checkbox">新信息桌面提醒</label></div>';
s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid"><label><input '+chs+' onclick="reim.setsound(this)" type="checkbox">新信息声音提示</label></div>';
s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid">提示声音:<select onchange="reim.changesound(this)" id="changesoundid"><option value="web/res/sound/email.mp3">email.mp3</option><option value="web/res/sound/dong.mp3">dong.mp3</option><option value="web/res/sound/todo.ogg">todo.ogg</option><option value="web/res/sound/niu.mp3">niu.mp3</option><option value="web/res/sound/don1.mp3">don1.mp3</option></select></div>';
s+=' <div style="padding:10px 0px;border-top:var(--border)"><label><input '+ch1+' onclick="reim.setzhuom(this)" type="checkbox">新信息桌面提醒</label></div>';
s+=' <div style="padding:10px 0px;border-top:var(--border)"><label><input '+chs+' onclick="reim.setsound(this)" type="checkbox">新信息声音提示</label></div>';
s+=' <div style="padding:10px 0px;border-top:var(--border)">提示声音:<select onchange="reim.changesound(this)" id="changesoundid"><option value="web/res/sound/email.mp3">email.mp3</option><option value="web/res/sound/dong.mp3">dong.mp3</option><option value="web/res/sound/todo.ogg">todo.ogg</option><option value="web/res/sound/niu.mp3">niu.mp3</option><option value="web/res/sound/don1.mp3">don1.mp3</option></select></div>';
chs = 'checked';
ch1 = '';
if(js.getoption('sendkuijie')=='1'){
ch1='checked';chs='';
}
s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid">发送快捷键:<label><input onclick="reim.setsendkkj(0)" '+chs+' type="radio" name="sendkuijie">Enter</label>&nbsp; <label><input onclick="reim.setsendkkj(1)" '+ch1+' type="radio" name="sendkuijie">Ctrl+Enter</label></div>';
s+=' <div style="padding:10px 0px;border-top:var(--border)">发送快捷键:<label><input onclick="reim.setsendkkj(0)" '+chs+' type="radio" name="sendkuijie">Enter</label>&nbsp; <label><input onclick="reim.setsendkkj(1)" '+ch1+' type="radio" name="sendkuijie">Ctrl+Enter</label></div>';
//s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid">列表列宽:<label><input onclick="reim.setchatlistw(220)" checked type="radio" name="chatlistw">正常</label>&nbsp; <label><input onclick="reim.setchatlistw(230)" type="radio" name="chatlistw">宽点</label>&nbsp; <label><input onclick="reim.setchatlistw(250)" type="radio" name="chatlistw">大宽</label></div>';
@@ -1243,13 +1256,13 @@ var reim={
var ips = nwjs.getipmac();
var d = nw.process.versions;
var json = nw.App.manifest;
s+='<div style="padding:10px 0px;border-top:1px #eeeeee solid">开机启动:<button type="button" class="cursor" onclick="reim.kaijistart(0)">启动</button>&nbsp;<button type="button" class="cursor" onclick="reim.kaijistart(1)">删除</button>&nbsp;<button type="button" class="cursor" onclick="reim.kaijistart(2)">快捷方式</button></div>';
s+='<div style="padding:10px 0px;border-top:1px #eeeeee solid">我局域网IP'+ips.ip+'</div>';
s+='<div style="padding:10px 0px;border-top:1px #eeeeee solid">我的MAC地址'+ips.mac+'</div>';
s+='<div style="padding:10px 0px;border-top:1px #eeeeee solid">此客户端版本V'+json.version+'内核nwjs-'+d.nw+'</div>';
s+='<div style="padding:10px 0px;border-top:var(--border)">开机启动:<button type="button" class="cursor" onclick="reim.kaijistart(0)">启动</button>&nbsp;<button type="button" class="cursor" onclick="reim.kaijistart(1)">删除</button>&nbsp;<button type="button" class="cursor" onclick="reim.kaijistart(2)">快捷方式</button></div>';
s+='<div style="padding:10px 0px;border-top:var(--border)">我局域网IP'+ips.ip+'</div>';
s+='<div style="padding:10px 0px;border-top:var(--border)">我的MAC地址'+ips.mac+'</div>';
s+='<div style="padding:10px 0px;border-top:var(--border)">此客户端版本V'+json.version+'内核nwjs-'+d.nw+'</div>';
}
s+=' <div style="padding:10px 0px;border-top:1px #eeeeee solid">网络IP'+this.myip+'</div>';
s+=' <div style="padding:10px 0px;border-top:var(--border)">网络IP'+this.myip+'</div>';
s+=' <div style="padding-top:10px;"><input onclick="reim.closetabs(\''+num+'\')" type="button" value="关闭" class="btn btn-danger"></div>';
s+='</div></div>';
this.addtabs(num,s);
@@ -1429,7 +1442,7 @@ function chatcreate(cans){
var iref = (!iref)?false:true;
var minid= 0;
if(iref)minid=this.minid;
if(o1)$(o1).html('<img src="images/loadings.gif" height="14" width="15" align="absmiddle"> 加载中...');
if(o1)$(o1).html(''+js.ling(12)+' 加载中...');
this.boolload = true;
reim.ajax(this.getapiurl('reim','getrecord'),{type:this.type,gid:this.gid,minid:minid,loadci:this.loadci,laiyuan:'not',soulx:this.soulx,soukey:jm.base64encode(this.soukey)},function(ret){
js.unloading();
@@ -1587,7 +1600,7 @@ function chatcreate(cans){
});
};
this.showhuilist=function(){
var s = '<div id="showuserlist" style="height:250px;overflow:hidden;position:relative"><div align="center" style="padding:10px;"><img src="images/mloading.gif" align="absmiddle">&nbsp;加载人员...</div></div>';
var s = '<div id="showuserlist" style="height:250px;overflow:hidden;position:relative"><div align="center" style="padding:10px;">'+js.ling()+'&nbsp;加载人员...</div></div>';
js.tanbody('syscogshow','会话上人员('+this.usershu+')',480,100,{html:s});
if(!this.userlistarr){
reim.ajax(this.getapiurl('reim','getgroupuser'),{type:this.type,gid:this.gid},function(ret){
@@ -1602,7 +1615,7 @@ function chatcreate(cans){
var sad = this.showtableda(a);
$('#showuserlist').html(sad[0]);
$('#showuserlist').perfectScrollbar();
$('#msgview_syscogshow').html('<span style="font-size:12px;color:#888888">右键人名可以@TA'+sad[1]+'人在线</span>');
$('#msgview_syscogshow').html('<span style="font-size:12px;">右键人名可以@TA'+sad[1]+'人在线</span>');
$('#showuserlist').find('div[xuh]').contextmenu(function(e){
me.atright(this,e);
return false;
@@ -1623,7 +1636,7 @@ function chatcreate(cans){
d1=reim.nowonlinearr;
if(d1 && d1.reim==1)zx++;
}
s+='<td width="20%"><div style="padding:5px" align="center"><div><img style="height:34px;width:34px;border-radius:50%" onclick="$.imgview({url:this.src})" src="'+a[i].face+'"></div><div xuh="'+i+'" style="color:#888888">'+a[i].name+''+s1+'</div></div></td>';
s+='<td width="20%"><div style="padding:5px" align="center"><div><img style="height:34px;width:34px;border-radius:50%" onclick="$.imgview({url:this.src})" src="'+a[i].face+'"></div><div xuh="'+i+'">'+a[i].name+''+s1+'</div></div></td>';
if(oi%5==0)s+='</tr><tr>';
}
if(len<5)for(i=0;i<5-len;i++)s+='<td width="20%"></td>';
@@ -1845,7 +1858,7 @@ function chatcreate(cans){
};
this.getemts=function(o){
if(!get('aemtsdiv')){
var s = '<div id="aemtsdiv" style="width:400px;height:200px;overflow:hidden;border:1px #cccccc solid;background:white;box-shadow:0px 0px 5px rgba(0,0,0,0.3);left:3px;top:5px;position:absolute;display:none;z-index:6">';
var s = '<div id="aemtsdiv" style="width:400px;height:200px;overflow:hidden;border:var(--border);background:var(--main-bgcolor);left:3px;top:5px;position:absolute;display:none;z-index:6;border-radius:5px" class="box">';
s+='<div style="padding:5px">';
s+=this.getemtsbq('qq',0, 104, 11, 24);
s+='</div>';
@@ -2099,13 +2112,13 @@ function chatcreate(cans){
var str = '';
var d = ret.wdarr;
if(d.length>0){
str+='<div style="padding:5px 10px;border-bottom:1px solid #eeeeee;font-size:12px;color:gray">未读'+d.length+'人</div>';
str+='<div style="padding:5px 10px;border-bottom:var(--border);font-size:12px;color:gray">未读'+d.length+'人</div>';
var sad = this.showtableda(d);
str+=sad[0];
}
d = ret.ydarr;
if(d.length>0){
str+='<div style="padding:5px 10px;border-bottom:1px solid #eeeeee;font-size:12px;color:gray">已读'+d.length+'人</div>';
str+='<div style="padding:5px 10px;border-bottom:var(--border);font-size:12px;color:gray">已读'+d.length+'人</div>';
var sad = this.showtableda(d);
str+=sad[0];
}
@@ -2162,7 +2175,7 @@ function chatcreate(cans){
s+='</div>';
}
s+='';
if(s2)s2='<div style="display:inline-block;border-bottom:1px #eeeeee solid;width:100%">'+s2+'</div>';
if(s2)s2='<div style="display:inline-block;border-bottom:var(--border);width:100%">'+s2+'</div>';
$('#showstarlist').html(s2+s);
$('#showstarlist').perfectScrollbar();
$('#msgview_sysshowstar').html('<a onclick="'+this.objstr+'.showstarshu(this)" href="javascript:;">刷新</a>');

263
js/reim_xina_kefu.js Normal file
View File

@@ -0,0 +1,263 @@
/**
* 信呼在线客服使用
* caratename雨中磐石(rainrock)
* caratetime2021-11-01 21:40:00
* homepage:www.rockoa.com
*/
reim.kefu = {
arrobj:{},
loaddata:function(){
if(!get('centshow3'))return;
this.initreload();
},
initreload:function(){
reim.ajax(reim.getapiurl('reim','rockkefu'),{}, function(ret){
if(ret.data=='ok')reim.kefu.reload();
});
},
reload:function(o1){
$('#changetabs3').show();
if(o1)$(o1).html(''+js.ling(12)+' 刷新中...');
reim.ajax(reim.getapiurl('rockkefu','index'),{}, function(ret){
reim.kefu.showdata(ret.data);
});
},
showdata:function(da){
this.arrobj={};
if(!this.socketob && da.config)this.linkwebsocket(da.config,0);
this.showlishi(da.history,da.zixunarr);
this.showwait(da.waitarr);
},
linkwebsocket:function(conf,lx){
this.reimconf = conf;
clearTimeout(this.webtimes);
if(this.ws)this.ws.close();
if(!conf.wsurl)return;
this.ws = new WebSocket(jm.base64decode(conf.wsurl));
var me = this;
this.myid = conf.id;
this.ws.onopen = function(){
this.send('{"from":"'+conf.recid+'","adminid":"'+conf.id+'","atype":"connect","sendname":"'+conf.name+'"}');
me.socketob = true;
if(lx==1)me.linkwebsocket(conf,2);
};
this.ws.onerror = function(e){
me.socketob = false;
me.reloadWebSocket(false);
};
this.ws.onmessage = function (evt){
var ds = JSON.parse(evt.data);
me.onmessage(ds);
};
this.ws.onclose = function(e){
me.socketob = false;
me.reloadWebSocket(false);
};
},
reloadWebSocket:function(bo){
clearTimeout(this.webtimes);
if(!bo){
this.webtimes=setTimeout('reim.kefu.reloadWebSocket(true)', 5*1000);
}else{
if(!this.socketob)this.linkwebsocket(this.reimconf,1);
}
},
showonline:function(ty,id){
var bh = ''+ty+'_'+id+'';
var d1 = this.arrobj[bh];
var id1 = 'lname_'+bh+'';
if(d1 && get(id1) && d1.online==1)get(id1).style.fontWeight='bold';
},
showoffline:function(ty,id){
var bh = ''+ty+'_'+id+'';
var d1 = this.arrobj[bh];
var id1 = 'lname_'+bh+'';
if(d1 && get(id1))get(id1).style.fontWeight='';
if(d1)d1.online=0;
},
showlishi:function(da,das){
var ds = [],i,d1,id1,bh;
for(i=0;i<da.length;i++){
d1 = da[i];
d1.receid = d1.id;
if(d1.type=='zixun'){
this.arrobj[''+d1.type+'_'+d1.receid+''] = d1;
}
}
for(i=0;i<das.length;i++){
d1 = das[i];
d1.type = 'zixun';
d1.receid = d1.id;
bh = ''+d1.type+'_'+d1.receid+'';
if(!this.arrobj[bh])this.arrobj[bh] = d1;
}
for(d1 in this.arrobj)ds.push(this.arrobj[d1]);
js.setoption('kefulist', JSON.stringify(ds));
reim.showhistory(reim.maindata.harr);
for(i=0;i<ds.length;i++){
d1 = ds[i];
id1 = 'lname_'+d1.type+'_'+d1.id+'';
if(get(id1) && d1.online==1)get(id1).style.fontWeight='bold';
}
},
onmessage:function(d){
console.log(d);
var lx=d.type;
if(lx=='chehui'){
$('#qipaocont_mess_'+d.messid+'').html(js.getmsg(jm.base64decode(d.mess),'green'));
this.reload();
}
if(lx=='zixun' || lx=='rewait'){
this.reload();
if(d.title){
var d1 = {
gid:d.sendid,
title:jm.base64decode(d.title),
gname:d.gname,
cont:d.mess,
type:'zixun',
face:d.face,
sound:'web/res/sound/todo.ogg'
};
reim.receivechat(d1);
}
}
if(lx=='zxoff'){
this.showoffline('zixun', d.zixunid);
}
if(lx=='kftokf'){
this.reload();
var d1 = {
gid:d.zxid,
title:jm.base64decode(d.title),
gname:d.gname,
cont:d.mess,
type:'zixun',
face:d.face,
sound:'web/res/sound/todo.ogg'
};
reim.receivechat(d1);
}
},
showwait:function(ds){
var i,s,d1;
$('#kefulistwait').html('');
for(i=0;i<ds.length;i++){
d1 = {
'name':ds[i].name,
'type':'wait',
'receid':ds[i].id,
'cont':ds[i].cont,
'face':ds[i].face,
'online':ds[i].online,
'subname':ds[i].subname,
'qian':'wait',
'stotal':ds[i].stotal
}
this.arrobj[''+d1.type+'_'+d1.receid+''] = d1;
s = reim.showhistorys(d1,false, false, true);
$('#kefulistwait').append(s);
if(d1.online==1)this.showonline(d1.type,d1.receid);
}
$('#kefulistwait').append('<div align="center" style="padding:10px;"><a onclick="reim.kefu.reload(this)" style="font-size:12px;color:#bbbbbb" href="javascript:;"><i class="icon-refresh"></i> 刷新咨询</a></div>');
reim.showbadge('wait');
},
openwait:function(d){
var str = ''+d.name+'';
if(d.subname)str+='<span style="color:'+maincolor+';font-size:10px">@'+d.subname+'</span>';
js.confirm('确定要解答“'+str+'”此用户问题吗?', function(jg){
if(jg=='yes')reim.kefu.openwaits(d);
});
},
openwaits:function(d){
$('#history_wait_'+d.receid+'').remove();
this.arrobj[''+d.type+'_'+d.receid+''] = false;
reim.showbadge('wait');
js.loading('加入中...');
reim.ajax(reim.getapiurl('rockkefu','addzixun'),{sid:d.receid}, function(ret){
reim.kefu.reload();
js.unloading();
reim.changetabs(0);
reim.showbadge('wait');
reim.openchat('zixun',d.receid,d.name,d.face);
});
},
showuser:function(sid){
this.nowsid = sid;
js.tanbody('zhuandivkefu','咨询人员信息',350,200,{
html:'<div id="zhuandivkefu" style="height:300px;overflow:hidden;position:relative"><div align="center" style="padding:50px"><img src="images/mloading.gif"></div></div>'
});
reim.ajax(reim.getapiurl('rockkefu','getzxinfo'),{sid:this.nowsid},function(ret){
reim.kefu.showzxinfo(ret.data);
});
},
showzxinfo:function(ret){
var str = '<table style="margin:10px">',k,v,s1;
this.prinfo = ret.prinfo;
this.prfies = ret.prfies;
for(k in ret.prfies){
v = ret.prinfo[k];
if(v==null)v='';
s1 = '<a onclick="reim.kefu.dbleditstr(\''+k+'\')" style="font-size:13px" class="hui">'+ret.prfies[k]+'</a>';
if(k=='web'||k=='ip'||k=='adddt'||k=='zxdt'||k=='agentna'||k=='kefu')s1=ret.prfies[k];
str+='<tr valign="top"><td nowrap class="cursor" style="color:gray;text-align:right;padding:4px 0px">'+s1+'</td><td style="padding:4px 0px" fields="'+k+'" class="wrap">'+v+'</td></tr>';
}
str+='</table>';
$('#zhuandivkefu').html(str);
$('#zhuandivkefu').perfectScrollbar();
js.resizetan('confirm');
},
shareuser:function(sid, slx){
changkfid = 0;
this.nowsid = sid;
var nae = '转给其他客服';
if(slx==1)nae = '加更多客服';
js.confirm('<div id="zhuandivkefu"><img src="images/mloading.gif"></div>',function(jg){
if(jg=='yes')reim.kefu.savezhuan(slx);
},'',nae);
this.zshouwku(false);
},
dbleditstr:function(fid){
var v = this.prinfo[fid],nam=this.prfies[fid];
if(v==null)v='';
js.prompt('请填写内容:','填写“'+nam+'”的值',function(jg,txt,act){
if(jg=='yes'){
reim.kefu.saveval(fid,txt,'zhuandivkefu');
return false;
}
},v);
},
saveval:function(fid,val,act){
js.setmsg('保存中...','','msgview_'+act+'');
reim.ajax(reim.getapiurl('rockkefu','savezixun'),{fid:fid,val:val,sid:this.nowsid},function(ret){
reim.kefu.prinfo[fid] = val;
$('#zhuandivkefu').find('td[fields="'+fid+'"]').html(val);
js.setmsg('','','msgview_'+act+'');
},'post');
},
zshouwku:function(d){
if(!d){
reim.ajax(reim.getapiurl('rockkefu','getkefu'),{sid:this.nowsid},function(ret){reim.kefu.zshouwku(ret.data);});
}else{
this.kefuarr = d;
var i,len=d.length,a1,str='';
for(i=0;i<len;i++){
str+='<label><input type="radio" name="qhkefu" onclick="changkfid=this.value" value="'+d[i].id+'"><img src="'+d[i].face+'" align="absmiddle" width="20" height="20" style="border-radius:50%">'+d[i].name+'';
if(d[i].ranking)str+='<font color=gray>('+d[i].ranking+')</font>';
str+='</label>&nbsp;&nbsp;';
}
$('#zhuandivkefu').html(str);
js.resizetan('confirm');
}
},
savezhuan:function(slx){
if(changkfid==0)return;
js.loading('处理中...');
reim.ajax(reim.getapiurl('rockkefu','savekefu'),{sid:this.nowsid,tid:changkfid,slx:slx},function(ret){
js.msgok(ret.data);
},'get',function(err){
js.msgerror(err.msg);
});
}
}