ProductBatchUUId.js 5.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118
  1. Ext.define('erp.view.scm.product.ProductBatchUUId',{
  2. extend: 'Ext.Viewport',
  3. layout: 'fit',
  4. hideBorders: true,
  5. initComponent : function(){
  6. var me = this;
  7. Ext.apply(me, {
  8. items: [{
  9. layout: 'anchor',
  10. items: [{
  11. xtype: 'erpFormPanel',
  12. anchor: '100% 20%',
  13. updateUrl: 'pm/bom/updateProductBatchUUId.action',
  14. keyField: 'em_id',
  15. codeField: 'em_code',
  16. enableTools: false
  17. },{
  18. xtype: 'erpGridPanel2',
  19. anchor: '100% 80%',
  20. detno: 'pub_detno',
  21. keyField: 'pub_id',
  22. headerCt: Ext.create("Ext.grid.header.Container",{
  23. forceFit: false,
  24. sortable: true,
  25. enableColumnMove:true,
  26. enableColumnResize:true,
  27. enableColumnHide: true
  28. }),
  29. selModel: Ext.create('Ext.selection.CheckboxModel',{
  30. headerWidth: 0
  31. }),
  32. plugins: [Ext.create('erp.view.core.plugin.CopyPasteMenu'),Ext.create('erp.view.core.grid.HeaderFilter')],
  33. invalidateScrollerOnRefresh: false,
  34. listeners: {
  35. 'headerfiltersapply': function(grid, filters) {
  36. if(this.allowFilter){
  37. var condition = null;
  38. for(var fn in filters){
  39. var value = filters[fn],f = grid.getHeaderFilterField(fn);
  40. if(!Ext.isEmpty(value)){
  41. if(f.filtertype) {
  42. if (f.filtertype == 'numberfield') {
  43. value = fn + "=" + value + " ";
  44. }
  45. } else {
  46. if(Ext.isDate(value)){
  47. value = Ext.Date.toString(value);
  48. value = "to_char(" + fn + ",'yyyy-MM-dd')='" + value + "' ";
  49. } else {
  50. var exp_t = /^(\d{4})\-(\d{2})\-(\d{2}) (\d{2}):(\d{2}):(\d{2})$/,
  51. exp_d = /^(\d{4})\-(\d{2})\-(\d{2})$/;
  52. if(exp_d.test(value)){
  53. value = "to_char(" + fn + ",'yyyy-MM-dd')='" + value + "' ";
  54. } else if(exp_t.test(value)){
  55. value = "to_char(" + fn + ",'yyyy-MM-dd')='" + value.substr(0, 10) + "' ";
  56. } else{
  57. if (f.xtype == 'combo' || f.xtype == 'combofield') {
  58. if (value == '-所有-') {
  59. continue;
  60. } else if (value == '-无-') {
  61. value = 'nvl(' + fn + ',\' \')=\' \'';
  62. } else {
  63. value = fn + " LIKE '" + value + "%' ";
  64. }
  65. } else {
  66. //**字符串转换下简体*//*
  67. var SimplizedValue=this.BaseUtil.Simplized(value);
  68. //可能就是按繁体筛选
  69. if(f.ignoreCase) {// 忽略大小写
  70. fn = 'upper(' + fn + ')';
  71. value = value.toUpperCase();
  72. }
  73. if(!f.autoDim) {
  74. if(SimplizedValue!=value){
  75. value = "("+fn + " LIKE '" + value + "%' or "+fn+" LIKE '"+SimplizedValue+"%')";
  76. }else value = fn + " LIKE '" + value + "%' ";
  77. } else if(f.exactSearch){
  78. value=fn+"='"+value+"'";
  79. }else {
  80. if(SimplizedValue!=value){
  81. value = "("+fn + " LIKE '%" + value + "%' or "+fn+" LIKE '%"+SimplizedValue+"%')";
  82. }else value = fn + " LIKE '%" + value + "%' ";
  83. }
  84. }
  85. }
  86. }
  87. }
  88. if(condition == null){
  89. condition = value;
  90. } else {
  91. condition = condition + " AND " + value;
  92. }
  93. }
  94. }
  95. this.filterCondition = condition;
  96. var grid=Ext.getCmp('grid');
  97. grid.store.remoteSort=true;
  98. if(grid.store.data!=grid.store.prefetchData){
  99. grid.store.loadData(grid.store.prefetchData.items);
  100. }
  101. } else {
  102. this.allowFilter = true;
  103. }
  104. return false;
  105. }
  106. },
  107. viewConfig: {
  108. trackOver: false
  109. },
  110. buffered: true,
  111. sync: true
  112. }]
  113. }]
  114. });
  115. me.callParent(arguments);
  116. }
  117. });