head.js 8.6 KB

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