Toolbar.js 9.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285
  1. Ext.define('erp.view.common.vastDatalist.Toolbar', {
  2. extend: 'Ext.toolbar.Paging',
  3. alias: 'widget.erpVastDatalistToolbar',
  4. doRefresh:function(){
  5. this.moveFirst();
  6. },
  7. items: ['-',{
  8. xtype: 'erpVastDeleteButton',
  9. cls: 'x-btn-gray',
  10. hidden: true
  11. },{
  12. xtype: 'erpVastPostButton',
  13. cls: 'x-btn-gray',
  14. hidden: true
  15. },{
  16. xtype: 'erpVastCloseButton',
  17. cls: 'x-btn-gray',
  18. hidden: true
  19. },{
  20. xtype: 'erpVastReStartButton',
  21. cls: 'x-btn-gray',
  22. hidden: true
  23. },{
  24. xtype: 'erpVastFreezeButton',
  25. cls: 'x-btn-gray',
  26. hidden: true
  27. },{
  28. xtype: 'erpVastSendButton',
  29. cls: 'x-btn-gray',
  30. hidden: true
  31. },{
  32. xtype: 'erpVastAuditButton',
  33. cls: 'x-btn-gray',
  34. hidden: true
  35. },{
  36. xtype: 'erpVastSaveButton',
  37. cls: 'x-btn-gray',
  38. hidden: true
  39. },{
  40. xtype: 'erpVastSpareButton',
  41. cls: 'x-btn-gray',
  42. hidden: true
  43. },{
  44. xtype: 'erpVastSimulateButton',
  45. cls: 'x-btn-gray',
  46. hidden: true
  47. },{
  48. xtype: 'erpVastSubmitButton',
  49. cls: 'x-btn-gray',
  50. hidden: true
  51. },{
  52. xtype: 'erpVastWriexamButton',
  53. cls: 'x-btn-gray',
  54. hidden: true
  55. },{
  56. xtype: 'erpVastInterviewButton',
  57. cls: 'x-btn-gray',
  58. hidden: true
  59. },{
  60. xtype: 'erpVastJointalcpoolButton',
  61. cls: 'x-btn-gray',
  62. hidden: true
  63. },{
  64. xtype: 'erpVastWritemarkButton',
  65. cls: 'x-btn-gray',
  66. hidden: true
  67. },{
  68. xtype: 'erpVastIntermarkButton',
  69. cls: 'x-btn-gray',
  70. hidden: true
  71. },{
  72. xtype: 'erpVastTurnfullmembButton',
  73. cls: 'x-btn-gray',
  74. hidden: true
  75. },{
  76. xtype: 'erpVastTurnoverButton',
  77. cls: 'x-btn-gray',
  78. hidden: true
  79. },{
  80. xtype: 'erpVastTurnCareeButton',
  81. cls: 'x-btn-gray',
  82. hidden: true
  83. },{
  84. xtype: 'erpTurnfullmembButton',
  85. cls: 'x-btn-gray',
  86. hidden: true
  87. },{
  88. xtype: 'erpTurnPositionButton',
  89. cls: 'x-btn-gray',
  90. hidden: true
  91. },{
  92. xtype: 'erpTurnCareeButton',
  93. cls: 'x-btn-gray',
  94. hidden: true
  95. },{
  96. xtype: 'erpVastSocailaccountButton',
  97. cls: 'x-btn-gray',
  98. hidden: true
  99. },{
  100. xtype: 'erpVastSocailsecuButton',
  101. cls: 'x-btn-gray',
  102. hidden: true
  103. },{
  104. xtype: 'erpVastSendOutButton',
  105. cls: 'x-btn-gray',
  106. hidden: true
  107. },{
  108. xtype: 'erpVastGetButton',
  109. cls: 'x-btn-gray',
  110. hidden: true
  111. },{
  112. xtype: 'erpAgreeToPriceButton',
  113. cls: 'x-btn-gray',
  114. hidden: true
  115. },{
  116. xtype: 'erpAgreeAllToPriceButton',
  117. cls: 'x-btn-gray',
  118. hidden: true
  119. },{
  120. xtype: 'erpNotAgreeToPriceButton',
  121. cls: 'x-btn-gray',
  122. hidden: true
  123. },{
  124. xtype: 'erpSyncButton',
  125. cls: 'x-btn-gray',
  126. hidden: true
  127. },'-',{
  128. itemId: 'close',
  129. id:'closebutton',
  130. text: $I18N.common.button.erpCloseButton,
  131. iconCls: 'tree-delete',
  132. width: 70,
  133. cls: 'x-btn-gray',
  134. handler: function(){
  135. var main = parent.Ext.getCmp("content-panel");
  136. main.getActiveTab().close();
  137. }
  138. }],
  139. updateInfo : function(){
  140. var page=this.child('#inputItem').getValue();
  141. var me = this,
  142. displayItem = me.child('#displayItem'),
  143. //store = me.store,//update by yingp
  144. pageData = me.getPageData();
  145. pageData.fromRecord=(page-1)*pageSize+1;
  146. pageData.toRecord=page*pageSize > dataCount ? dataCount : page*pageSize;//
  147. pageData.total=dataCount;
  148. /* me.store.totalCount = dataCount;
  149. me.store.pageSize = pageSize;
  150. pageData.pageCount = Math.ceil(dataCount / pageSize);*/
  151. dataCount, msg;
  152. if (displayItem) {
  153. if (dataCount === 0) {
  154. msg = me.emptyMsg;
  155. } else {
  156. msg = Ext.String.format(
  157. me.displayMsg,
  158. pageData.fromRecord,
  159. pageData.toRecord,
  160. pageData.total
  161. );
  162. }
  163. displayItem.setText(msg);
  164. me.doComponentLayout();
  165. }
  166. },
  167. getPageData : function(){
  168. var store = this.store,
  169. totalCount = store.getTotalCount();
  170. totalCount=dataCount;
  171. return {
  172. total : totalCount,
  173. currentPage : store.currentPage,
  174. pageCount: Math.ceil(dataCount / pageSize),
  175. fromRecord: ((store.currentPage - 1) * store.pageSize) + 1,
  176. toRecord: Math.min(store.currentPage * store.pageSize, totalCount)
  177. };
  178. },
  179. onPagingKeyDown : function(field, e){
  180. var me = this,
  181. k = e.getKey(),
  182. pageData = me.getPageData(),
  183. increment = e.shiftKey ? 10 : 1,
  184. pageNum = 0;
  185. if (k == e.RETURN) {
  186. e.stopEvent();
  187. pageNum = me.readPageFromInput(pageData);
  188. if (pageNum !== false) {
  189. pageNum = Math.min(Math.max(1, pageNum), pageData.pageCount);
  190. me.child('#inputItem').setValue(pageNum);
  191. if(me.fireEvent('beforechange', me, pageNum) !== false){
  192. page = pageNum;
  193. Ext.getCmp("grid").getColumnsAndStore(caller, condition, page, pageSize);
  194. }
  195. }
  196. } else if (k == e.HOME || k == e.END) {
  197. e.stopEvent();
  198. pageNum = k == e.HOME ? 1 : pageData.pageCount;
  199. field.setValue(pageNum);
  200. } else if (k == e.UP || k == e.PAGEUP || k == e.DOWN || k == e.PAGEDOWN) {
  201. e.stopEvent();
  202. pageNum = me.readPageFromInput(pageData);
  203. if (pageNum) {
  204. if (k == e.DOWN || k == e.PAGEDOWN) {
  205. increment *= -1;
  206. }
  207. pageNum += increment;
  208. if (pageNum >= 1 && pageNum <= pageData.pages) {
  209. field.setValue(pageNum);
  210. }
  211. }
  212. }
  213. me.updateInfo();
  214. fn(me,pageNum);
  215. },
  216. moveFirst : function(){
  217. var me = this;
  218. me.child('#inputItem').setValue(1);
  219. value=1;
  220. page = value;
  221. Ext.getCmp("grid").getColumnsAndStore(caller, condition, page, pageSize);
  222. me.updateInfo();
  223. fn(me,value);
  224. },
  225. movePrevious : function(){
  226. var me = this;
  227. me.child('#inputItem').setValue(me.child('#inputItem').getValue()-1);
  228. value=me.child('#inputItem').getValue();
  229. page = value;
  230. Ext.getCmp("grid").getColumnsAndStore(caller, condition, page, pageSize);
  231. me.updateInfo();
  232. fn(me,value);
  233. },
  234. moveNext : function(){
  235. var me = this,
  236. last = me.getPageData().pageCount;
  237. total=last;
  238. me.child('#inputItem').setValue(me.child('#inputItem').getValue()+1);
  239. value=me.child('#inputItem').getValue();
  240. page = value;
  241. Ext.getCmp("grid").getColumnsAndStore(caller, condition, page, pageSize);
  242. me.updateInfo();
  243. fn(me,value);
  244. },
  245. moveLast : function(){
  246. var me = this,
  247. last = me.getPageData().pageCount;
  248. total=last;
  249. me.child('#inputItem').setValue(last);
  250. value=me.child('#inputItem').getValue();
  251. page = value;
  252. Ext.getCmp("grid").getColumnsAndStore(caller, condition, page, pageSize);
  253. me.updateInfo();
  254. fn(me,value);
  255. },
  256. onLoad : function() {
  257. var e = this, d, b, c, a;
  258. if (!e.rendered) {
  259. return
  260. }
  261. d = e.getPageData();
  262. b = d.currentPage;
  263. c = Math.ceil(dataCount / pageSize);
  264. a = Ext.String.format(e.afterPageText, isNaN(c) ? 1 : c);
  265. e.child("#afterTextItem").setText(a);
  266. e.child("#inputItem").setValue(b);
  267. e.child("#first").setDisabled(b === 1);
  268. e.child("#prev").setDisabled(b === 1);
  269. e.child("#next").setDisabled(b === c);
  270. e.child("#last").setDisabled(b === c);
  271. e.child("#refresh").enable();
  272. e.updateInfo();
  273. e.fireEvent("change", e, d);
  274. }
  275. });
  276. function fn(me,value){
  277. me.child('#last').setDisabled(value==total);
  278. me.child('#next').setDisabled(value==total);
  279. me.child('#first').setDisabled(value<=1);
  280. me.child('#prev').setDisabled(value<=1);
  281. }