head.js 8.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339
  1. var locat = (window.location+'').split('/');
  2. $(function(){if('main'== locat[3]){locat = locat[0]+'//'+locat[2];}else{locat = locat[0]+'//'+locat[2]+'/'+locat[3];};});
  3. var fmid = "fhindex"; //菜单点中状态
  4. var mid = "fhindex"; //菜单点中状态
  5. var ids = "";
  6. var fhsmsCount = 0; //站内信总数
  7. var USER_ID; //用户ID
  8. var user = "FH"; //用于即时通讯( 当前登录用户)
  9. var uname = ""; //姓名
  10. var TFHsmsSound = '1'; //站内信提示音效
  11. var fwebsocket; //websocket对象
  12. var wimadress=""; //即时聊天服务器IP和端口
  13. var oladress=""; //在线管理和站内信服务器IP和端口
  14. function siMenu(id,fid,MENU_NAME,MENU_URL){
  15. ids.replace(id+',','');
  16. ids += id+',';
  17. if(id != mid){
  18. $("#"+mid).removeClass();
  19. mid = id;
  20. }
  21. if(fid != fmid){
  22. $("#"+fmid).removeClass();
  23. fmid = fid;
  24. }
  25. $("#"+fid).attr("class","active open");
  26. $("#"+id).attr("class","active");
  27. top.mainFrame.tabAddHandler('tab1_index2',MENU_NAME,MENU_URL);
  28. if(MENU_URL != "druid/index.html"){
  29. jzts();
  30. }
  31. }
  32. //关闭标签
  33. function indexTabClose(type){
  34. if('all' == type && ids != ''){ //关闭所有
  35. var arrid = ids.split(',');
  36. for(var i=0;i<ids.length;i++){
  37. top.mainFrame.tabClose(arrid[i]);
  38. }
  39. }else if('own' == type && ids != ''){ //关闭自己
  40. top.mainFrame.tabClose(top.mainFrame.nowid);
  41. }else if('other' == type && ids != ''){ //关闭其他
  42. var arrid = ids.split(',');
  43. for(var i=0;i<ids.length;i++){
  44. if (arrid[i] == top.mainFrame.nowid) continue;
  45. top.mainFrame.tabClose(arrid[i]);
  46. }
  47. }
  48. }
  49. $(function(){
  50. getHeadMsg(); //初始页面最顶部信息
  51. });
  52. //初始页面信息
  53. function getHeadMsg(){
  54. $.ajax({
  55. type: "POST",
  56. url: locat+'/head/getList.do?tm='+new Date().getTime(),
  57. data: encodeURI(""),
  58. dataType:'json',
  59. //beforeSend: validateData,
  60. cache: false,
  61. success: function(data){
  62. $.each(data.list, function(i, list){
  63. $("#user_info").html('<small>Welcome</small> '+list.NAME+'');//登陆者资料
  64. user = list.USERNAME; //用户名
  65. uname = list.NAME; //姓名
  66. USER_ID = list.USER_ID; //用户ID
  67. if(list.USERNAME != 'admin'){
  68. $("#systemset").hide(); //隐藏系统设置
  69. }
  70. });
  71. updateUserPhoto(data.userPhoto); //用户头像
  72. fhsmsCount = Number(data.fhsmsCount);
  73. $("#fhsmsCount").html(Number(fhsmsCount)); //站内信未读总数
  74. if(fhsmsCount > 0){
  75. $("#fhsmstss").tips({
  76. side:3,
  77. msg:'您有未读的消息',
  78. bg:'#AE81FF',
  79. time:30
  80. });
  81. }
  82. TFHsmsSound = data.FHsmsSound; //站内信提示音效
  83. wimadress = data.wimadress; //即时聊天服务器IP和端口
  84. oladress = data.oladress; //在线管理和站内信服务器IP和端口
  85. online(); //连接在线
  86. topTask(); //刷新待办任务
  87. }
  88. });
  89. }
  90. //待办任务
  91. function topTask(){
  92. $.ajax({
  93. type: "POST",
  94. url: locat+'/rutask/getList.do?tm='+new Date().getTime(), //待办任务
  95. data: encodeURI(""),
  96. dataType:'json',
  97. //beforeSend: validateData,
  98. cache: false,
  99. success: function(data){
  100. var taskCount = Number(data.taskCount);
  101. $("#taskCount").html(Number(taskCount)); //待办任务总数
  102. $("#myTask").html('');
  103. $.each(data.list, function(i, list){
  104. $("#myTask").append('<li><a><i class="btn btn-xs no-hover btn-success fa fa-comment"></i>&nbsp;&nbsp;'+list.PNAME_+'('+list.NAME_+')</a></li>');
  105. });
  106. if(taskCount > 0){
  107. $("#fhtasktss").tips({
  108. side:3,
  109. msg:'您有任务需要办理',
  110. bg:'#AE81FF',
  111. time:30
  112. });
  113. }
  114. }
  115. });
  116. }
  117. //保存用户皮肤
  118. function saveSkin(SKIN){
  119. $.ajax({
  120. type: "POST",
  121. url: locat+'/head/saveSkin.do',
  122. data: {SKIN:SKIN,tm:new Date().getTime()},
  123. dataType:'json',
  124. //beforeSend: validateData,
  125. cache: false,
  126. success: function(data){}
  127. });
  128. }
  129. //获取站内信未读总数(在站内信删除未读新信件时调用此函数更新未读数)
  130. function getFhsmsCount(){
  131. $.ajax({
  132. type: "POST",
  133. url: locat+'/head/getFhsmsCount.do?tm='+new Date().getTime(),
  134. data: encodeURI(""),
  135. dataType:'json',
  136. cache: false,
  137. success: function(data){
  138. fhsmsCount = Number(data.fhsmsCount);
  139. $("#fhsmsCount").html(Number(fhsmsCount)); //站内信未读总数
  140. }
  141. });
  142. }
  143. //加入在线列表
  144. function online(){
  145. if (window.WebSocket) {
  146. fwebsocket = new WebSocket(encodeURI('ws://'+oladress)); //oladress在main.jsp页面定义
  147. fwebsocket.onopen = function() {
  148. //连接成功
  149. fwebsocket.send('[join]'+user);
  150. };
  151. fwebsocket.onerror = function() {
  152. //连接失败
  153. };
  154. fwebsocket.onclose = function() {
  155. //连接断开
  156. };
  157. //消息接收
  158. fwebsocket.onmessage = function(message) {
  159. var message = JSON.parse(message.data);
  160. if(message.type == 'goOut'){
  161. $("body").html("");
  162. goOut("1");
  163. }else if(message.type == 'thegoout'){
  164. $("body").html("");
  165. goOut("2");
  166. }else if(message.type == 'senFhsms'){
  167. fhsmsCount = Number(fhsmsCount)+1;
  168. $("#fhsmsCount").html(Number(fhsmsCount));
  169. $("#fhsmsobj").html('<audio style="display: none;" id="fhsmstsy" src="static/sound/'+TFHsmsSound+'.mp3" autoplay controls></audio>');
  170. $("#fhsmstss").tips({
  171. side:3,
  172. msg:'您有新消息',
  173. bg:'#AE81FF',
  174. time:30
  175. });
  176. }else if(message.type == 'fhtask'){
  177. if(message.RNUMBER == 'no'){
  178. $("#fhsmsobj").html('<audio style="display: none;" id="fhsmstsy" src="static/sound/'+TFHsmsSound+'.mp3" autoplay controls></audio>');
  179. topTask();//刷新顶部待办任务列表
  180. }else{
  181. $.ajax({
  182. type: "POST",
  183. url: locat+'/head/isNowRole.do',
  184. data: {RNUMBER:message.RNUMBER,tm:new Date().getTime()},
  185. dataType:'json',
  186. cache: false,
  187. success: function(data){
  188. if('yes' == data.msg){
  189. $("#fhsmsobj").html('<audio style="display: none;" id="fhsmstsy" src="static/sound/'+TFHsmsSound+'.mp3" autoplay controls></audio>');
  190. topTask();//刷新顶部待办任务列表
  191. }
  192. }
  193. });
  194. }
  195. }
  196. };
  197. }
  198. }
  199. //下线
  200. function goOut(msg){
  201. window.location.href=locat+"/logout.do?msg="+msg;
  202. }
  203. //去通知收信人有站内信接收
  204. function fhsmsmsg(USERNAME){
  205. var arrUSERNAME = USERNAME.split(';');
  206. for(var i=0;i<arrUSERNAME.length;i++){
  207. fwebsocket.send('[fhsms]'+arrUSERNAME[i]);//发送站内信通知
  208. }
  209. }
  210. //去通知任务待办人有新任务
  211. function fhtaskmsg(USERNAME){
  212. fwebsocket.send('[fhtask]'+USERNAME);//发送新任务通知
  213. }
  214. //读取站内信时减少未读总数
  215. function readFhsms(){
  216. fhsmsCount = Number(fhsmsCount)-1;
  217. $("#fhsmsCount").html(Number(fhsmsCount) <= 0 ?'0':fhsmsCount);
  218. }
  219. //修改头像
  220. function editPhoto(){
  221. jzts();
  222. var diag = new top.Dialog();
  223. diag.Drag=true;
  224. diag.Title ="修改头像";
  225. diag.URL = locat+'/head/editPhoto.do';
  226. diag.Width = 650;
  227. diag.Height = 530;
  228. diag. ShowMaxButton = true; //最大化按钮
  229. diag.ShowMinButton = true; //最小化按钮
  230. diag.CancelEvent = function(){ //关闭事件
  231. diag.close();
  232. };
  233. diag.show();
  234. }
  235. //修改个人资料
  236. function editUserH(){
  237. jzts();
  238. var diag = new top.Dialog();
  239. diag.Drag=true;
  240. diag.Title ="个人资料";
  241. diag.URL = locat+'/user/goEditMyU.do';
  242. diag.Width = 469;
  243. diag.Height = 465;
  244. diag.CancelEvent = function(){ //关闭事件
  245. diag.close();
  246. };
  247. diag.show();
  248. }
  249. //系统设置
  250. function editSys(){
  251. jzts();
  252. var diag = new top.Dialog();
  253. diag.Drag=true;
  254. diag.Title ="系统设置";
  255. diag.URL = locat+'/head/goSystem.do';
  256. diag.Width = 600;
  257. diag.Height = 526;
  258. diag.CancelEvent = function(){ //关闭事件
  259. diag.close();
  260. };
  261. diag.show();
  262. }
  263. //站内信
  264. function fhsms(){
  265. jzts();
  266. var diag = new top.Dialog();
  267. diag.Drag=true;
  268. diag.Title ="站内信";
  269. diag.URL = locat+'/fhsms/list.do?STATUS=2';
  270. diag.Width = 800;
  271. diag.Height = 500;
  272. diag.CancelEvent = function(){ //关闭事件
  273. diag.close();
  274. };
  275. diag.show();
  276. }
  277. //打开我的待办任务列表
  278. function rutasklist(){
  279. jzts();
  280. var diag = new top.Dialog();
  281. diag.Drag=true;
  282. diag.Title ="我的待办任务";
  283. diag.URL = locat+'/rutask/list.do';
  284. diag.Width = 1000;
  285. diag.Height = 600;
  286. diag.CancelEvent = function(){ //关闭事件
  287. diag.close();
  288. };
  289. diag.show();
  290. }
  291. //切换菜单
  292. function changeMenus(type){
  293. window.location.href=locat+'/main/'+type;
  294. }
  295. //清除加载进度
  296. function hangge(){
  297. $("#jzts").hide();
  298. }
  299. //显示加载进度
  300. function jzts(){
  301. $("#jzts").show();
  302. }
  303. //刷新用户头像
  304. function updateUserPhoto(value){
  305. $("#userPhoto").attr("src",value);//用户头像
  306. }
  307. //用于子窗口获取父页面中的参数(应用于流程信息审批详情内容)
  308. var hdcontent = "";
  309. function handleDetails(value){
  310. if(value != ''){
  311. hdcontent = value;
  312. }else{
  313. return hdcontent;
  314. }
  315. }