project_glj.js 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. /**
  2. * 工料机汇总相关
  3. *
  4. * @author CaiAoLin
  5. * @date 2017/6/15
  6. * @version
  7. */
  8. let projectGLJSpread = null;
  9. let projectGLJSheet = null;
  10. let currentTag = '';
  11. let isChanging = false;
  12. $(document).ready(function () {
  13. projectGLJSpread = new ProjectGLJSpread();
  14. projectGLJSpread.successCallback = successTrigger;
  15. projectGLJSheet = projectGLJSpread.init();
  16. // 绑定单击事件
  17. let lastRow = 0;
  18. projectGLJSheet.bind(GC.Spread.Sheets.Events.CellClick, function (element, info) {
  19. let currentRow = info.row;
  20. if (currentTag === 'mix-ratio' && mixRatioSheet !== null && currentRow != lastRow) {
  21. let projectGLJId = projectGLJSheet.getActiveDataByField('id');
  22. // 获取数据
  23. compositionSpread.getRatioData(projectGLJId);
  24. }
  25. lastRow = currentRow;
  26. });
  27. // 切换tab触发refresh
  28. $('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
  29. currentTag = $(e.target).data('name');
  30. if (currentTag === 'ration') {
  31. projectGLJSheet.filterData('unit_price.type', []);
  32. }
  33. });
  34. // 是否主动更改数据
  35. // $("#message").on('click', '#load-data', function() {
  36. // $("#notify").slideUp('fast');
  37. // if (changeInfo.length > 0) {
  38. // for (let index in changeInfo) {
  39. // let cell = gljSheet.getCell(changeInfo[index].row, changeInfo[index].col, GC.Spread.Sheets.SheetArea.viewport);
  40. // cell.value(changeInfo[index].newValue);
  41. // }
  42. // }
  43. // changeInfo = [];
  44. // });
  45. });
  46. /**
  47. * 成功事件
  48. *
  49. * @param {string} field
  50. * @param {object} info
  51. * @return {void}
  52. */
  53. function successTrigger(field, info) {
  54. switch (field) {
  55. case 'unit_price.market_price':
  56. // 计算价格
  57. projectGLJSpread.priceCalculate(info);
  58. // 触发websocket通知
  59. socket.emit('dataNotify', JSON.stringify(info));
  60. break;
  61. }
  62. }