LogoWin.js 3.6 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151
  1. Ext.define('erp.view.boardmodel.LogoWin', {
  2. extend: 'Ext.window.Window',
  3. alias: 'widget.logowin',
  4. id: 'logowin',
  5. title: 'LOGO管理',
  6. width: 350,
  7. height: 500,
  8. resizable: false,
  9. layout: 'fit',
  10. modal: true,
  11. initComponent: function() {
  12. var me = this;
  13. var view = new Ext.DataView({
  14. store : Ext.create('Ext.data.Store', {
  15. fields: ['code', 'name'],
  16. data:[]
  17. }),
  18. tpl : new Ext.XTemplate(
  19. '<div class="x-logo-wrap">',
  20. '<tpl for=".">',
  21. '<div class="x-logo-item">',
  22. '<span class="x-loge-text">{name}</span></br>',
  23. '<img src="' + basePath + 'logo/getLogoImgByCode?logoCode={code}" class="x-logo-img" />',
  24. '</div>',
  25. '</tpl>',
  26. '</div>'
  27. ),
  28. trackOver: true,
  29. overItemCls : 'x-logo-over',
  30. selectedClass : 'selected',
  31. singleSelect : true,
  32. itemSelector : '.x-logo-item',
  33. listeners:{
  34. itemclick:function(view,record){
  35. me.selectedLogo = record;
  36. }
  37. }
  38. });
  39. view.on('refresh', function() {
  40. var centerPanel = Ext.getCmp('dataviewpanel');
  41. me.resetViewSize(centerPanel.getWidth(), centerPanel.getHeight());
  42. });
  43. Ext.apply(me,{
  44. items:[{
  45. xtype: 'panel',
  46. anchor: '100% 100%',
  47. id: 'dataviewpanel',
  48. items: [view]
  49. }],
  50. tbar: [{
  51. xtype: 'mfilefield',
  52. fieldLabel: '添加Logo',
  53. callback: function(result) {
  54. if(result.success) {
  55. Ext.MessageBox.alert("成功","上传成功");
  56. var store = me.view.store;
  57. store.add({
  58. code: result['logoCode'],
  59. name: result['logoName'] || '未命名'
  60. });
  61. }else {
  62. Ext.MessageBox.alert("失败","上传失败");
  63. }
  64. }
  65. }, {
  66. xtype: 'button',
  67. text: '删除',
  68. handler: function() {
  69. var selected = me.view.getSelectionModel().getSelection();
  70. if(selected.length > 0) {
  71. Ext.Msg.confirm('警告', '是否删除选中Logo?', function(yes) {
  72. if(yes == 'yes') {
  73. me.deleteLogo(selected[0].get('code'));
  74. }
  75. });
  76. }
  77. }
  78. }, '->', {
  79. xtype: 'button',
  80. text: '确定',
  81. handler: function() {
  82. me.titleWin.insertValue('logo/getLogoImgByCode?logoCode=' + me.selectedLogo.get('code'));
  83. me.close();
  84. }
  85. }]
  86. });
  87. me.view = view;
  88. me.callParent(arguments);
  89. },
  90. listeners: {
  91. beforerender: function(th) {
  92. th.loadAllLogo();
  93. },
  94. resize: function(th) {
  95. th.view.fireEvent('refresh');
  96. }
  97. },
  98. resetViewSize: function(width, height) {
  99. var me = this,
  100. parentDiv = document.getElementsByClassName('x-logo-wrap')[0];
  101. if(!parentDiv) {
  102. return;
  103. }
  104. parentDiv.style.width = width + 'px';
  105. parentDiv.style.height = height + 'px';
  106. if(parentDiv.offsetHeight < parentDiv.scrollHeight) {
  107. parentDiv.style['overflow-y'] = 'scroll';
  108. parentDiv.scrollTop = me.view.scrollTop;
  109. }else {
  110. parentDiv.style['overflow-y'] = 'hidden';
  111. }
  112. },
  113. loadAllLogo: function() {
  114. var me = this;
  115. Ext.Ajax.request({
  116. url:'logo/get/all',
  117. method:'POST',
  118. callback:function(options,success,response){
  119. if(response.responseText == '') return;
  120. var data = JSON.parse(response.responseText);
  121. if(success) {
  122. me.view.store.removeAll();
  123. me.view.store.add(data);
  124. }else {
  125. showErrorMsg('失败', res.message);
  126. }
  127. }
  128. });
  129. },
  130. deleteLogo: function(logoCode) {
  131. var me = this;
  132. Ext.Ajax.request({
  133. url:'logo/delete',
  134. method:'POST',
  135. params: {
  136. logoCode: logoCode
  137. },
  138. callback:function(options,success,response){
  139. if(response.responseText == '') return;
  140. var data = JSON.parse(response.responseText);
  141. if(success) {
  142. me.loadAllLogo();
  143. }else {
  144. showErrorMsg('失败', res.message);
  145. }
  146. }
  147. });
  148. }
  149. });