tablegrid-two.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138
  1. define(function (require) {
  2. return function () {
  3. var $grid1, $grid2, $grid3;
  4. function refreshGrid1() {
  5. $grid1.yvgrid('reload', {
  6. url: demoApi('/queryStaff'),
  7. });
  8. }
  9. function refreshGrid2(rowid) {
  10. var row = $grid1.yvgrid('rowData', rowid);
  11. if (!row) {
  12. $.yvan.msg('请先在职员列表选择一行数据');
  13. return;
  14. }
  15. console.log('query data:', row);
  16. $grid3.yvgrid('clear');
  17. $grid2.yvgrid('reload', {
  18. url: demoApi('/queryStaffWorkareaOrder'),
  19. queryParams: { staffId: row.staffId }
  20. });
  21. }
  22. function refreshGrid3(rowid) {
  23. var row = $grid2.yvgrid('rowData', rowid);
  24. if (!row) {
  25. $.yvan.msg('请先在职员作业权限列表选择一行数据');
  26. return;
  27. }
  28. $grid3.yvgrid('reload', {
  29. url: demoApi('/queryStaffWorkPriority'),
  30. queryParams: { operPermId: row.operPermId }
  31. });
  32. }
  33. var grid1 = {
  34. onRender: function () {
  35. $grid1 = $(this);
  36. },
  37. xtype: 'yvgrid',
  38. toolbar: {
  39. xtype: 'toolbar',
  40. title: '职员列表',
  41. items: [
  42. {
  43. text: '查询', onClick: function () {
  44. refreshGrid1();
  45. }
  46. }
  47. ]
  48. },
  49. idField: 'staffId',
  50. columns: [[
  51. //{ field: 'staffId', title: 'staffId' },
  52. { field: 'staffCode', title: '职员编号' },
  53. { field: 'staffName', title: '职员名称' },
  54. { field: 'logogram', title: '助记码' },
  55. { field: 'staffDesc', title: '人员描述' },
  56. { field: 'staffJob', title: '岗位' },
  57. { field: 'staffNo', title: '工号' },
  58. { field: 'staffTel', title: '手机' },
  59. { field: 'staffAddr', title: '联系地址' },
  60. ]],
  61. onBeforeSelect: function (targetBoundIndex, oldIndex, event) {
  62. console.log('grid1 beforeSelect type:' + event.type + ', oldIndex:' + oldIndex + ', newIndex:' + targetBoundIndex);
  63. },
  64. onSelectRow: function (rowid, data, event) {
  65. refreshGrid2(rowid);
  66. }
  67. };
  68. var grid2 = {
  69. onRender: function () {
  70. $grid2 = $(this);
  71. },
  72. xtype: 'yvgrid',
  73. toolbar: {
  74. xtype: 'toolbar',
  75. title: '职员作业权限'
  76. },
  77. columns: [[
  78. { field: 'operPermId', hidden: true },
  79. //{ field: 'staffId', title: 'staffId' },
  80. { field: 'staffName', title: '职员名称' },
  81. { field: 'whareaName', title: '拣货区名称' },
  82. { field: 'workareaOrder', title: '作业顺序' },
  83. { field: 'regionName', title: '区域名称' },
  84. { field: 'remark', title: '备注' },
  85. ]],
  86. onSelectRow: function (rowid) {
  87. refreshGrid3(rowid);
  88. }
  89. };
  90. var grid3 = {
  91. onRender: function () {
  92. $grid3 = $(this);
  93. },
  94. xtype: 'yvgrid',
  95. toolbar: {
  96. xtype: 'toolbar',
  97. title: '作业优先级'
  98. },
  99. columns: [[
  100. { field: 'operModuleType', title: '作业类别', formatter: $.yvan.bizDict('OperationModule').combo() },
  101. { field: 'priority', title: '作业优先级' },
  102. { field: 'remark', title: '备注' }
  103. ]]
  104. };
  105. return {
  106. center: {
  107. border: false,
  108. items: grid1
  109. },
  110. south: {
  111. height: '50%',
  112. split: true,
  113. border: false,
  114. items: {
  115. xtype: 'layout',
  116. west: {
  117. width: '60%',
  118. border: false,
  119. split: true,
  120. items: grid2
  121. },
  122. center: {
  123. width: '40%',
  124. border: false,
  125. items: grid3
  126. }
  127. }
  128. }
  129. };
  130. };
  131. });