connection.js 2.5 KB

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