connection.js 2.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465
  1. /**
  2. * Created by zhangweicheng on 2017/8/7.
  3. */
  4. socketObject={
  5. roomInfo : null,
  6. connect:function (from) {
  7. // 连接socket服务器
  8. var hostName = window.location.hostname;
  9. let me = this;
  10. let port = window.location.protocol ==='http:'?3300:3301;
  11. socket = io(window.location.protocol+'//'+hostName+':'+port);
  12. socket.on('connect', function () {
  13. if(from == 'pm'){
  14. me.roomInfo={
  15. userID:userID
  16. };
  17. }else {
  18. me.roomInfo={
  19. feeRate:me.getFeeRateRoomID(),
  20. unitFile:me.getUnitFileRoomID()
  21. };
  22. }
  23. socket.emit('join', me.roomInfo);
  24. console.log('连接成功');
  25. });
  26. socket.on('feeRateChange', function(data) {
  27. //data = JSON.parse(data);
  28. $("#message").html('费率文件已被修改,<a href="javascript:void(0);" id="load-data" onclick="window.location.reload()">点击加载并重新进行造价计算</a>');
  29. $("#notify").show();
  30. //alert('费率文件已经修改,请刷新页面');
  31. //window.location.reload();
  32. });
  33. socket.on('unitFileChange', function (data) {
  34. data = JSON.parse(data);
  35. /*console.log(data);
  36. if (data.newValue === undefined) {
  37. return false;
  38. }*/
  39. $("#message").html('市场单价已被修改,<a href="javascript:void(0);" id="load-data" onclick="window.location.reload()">点击加载并重新进行造价计算</a>');
  40. $("#notify").show();
  41. });
  42. socket.on('changeFileNotify', function (data) {//收到文件改变的消息
  43. if(data.projectID==projectObj.project.ID()){//如果是同个项目,则给出提示,否则忽略
  44. let preString ="";
  45. if(data.name=='feeRate'){
  46. preString = "费率文件";
  47. }
  48. if(data.name=='unitFile'){
  49. preString = "单价文件";
  50. }
  51. $("#message").html(preString+'已被修改,<a href="javascript:void(0);" id="load-data" onclick="window.location.reload()">点击加载并重新进行造价计算</a>');
  52. $("#notify").show();
  53. }
  54. });
  55. },
  56. getFeeRateRoomID:function (){
  57. return projectObj.project.FeeRate.getActivateFeeRateFileID();
  58. },
  59. getUnitFileRoomID:function () {
  60. return projectObj.project.projectGLJ.datas.constData.roomId?projectObj.project.projectGLJ.datas.constData.roomId:roomId;
  61. }
  62. }