| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.pm.bom.CompareBom', {
- extend : 'Ext.app.Controller',
- views : [ 'pm.bom.CompareBom.Viewport', 'common.query.GridPanel', 'pm.bom.CompareBom.Form', 'core.trigger.DbfindTrigger',
- 'core.form.FtField', 'core.form.ConDateField', 'core.form.YnField', 'core.form.FtDateField',
- 'core.form.MonthDateField','core.form.FtFindField', 'core.grid.YnColumn', 'core.grid.TfColumn',
- 'core.form.ConMonthDateField' ],
- init : function() {
- this.control({
- 'erpQueryFormPanel button[name=confirm]' : {
- click : function(btn) {
- }
- },
- 'erpQueryGridPanel' : {
- itemclick : this.onGridItemClick
- },
- 'erpQueryFormPanel1 button[name=query]': {
- click : function(btn) {
- var grid = Ext.getCmp('querygrid');
- var form = Ext.getCmp('queryform');
- var values = '';
- Ext.each(form.items.items, function(f){
- if(f.logic != null && f.logic != ''){
- if(f.value != null&&f.value != ''){
- values = values+f.value+",";
- }
- }
- });
- values = values.substring(0,values.length-1);
- this.getGridColumnsAndStore(grid,values);
- }
- }
- });
- },
- onGridItemClick : function(selModel, record) {
- },
- getGridColumnsAndStore: function(grid,values){
- var me = this,grid=Ext.getCmp('querygrid');
- grid.setLoading(true);//loading...
- Ext.Ajax.request({//拿到grid的columns
- url : basePath + "pm/bom/compareBom.action",
- params: {
- caller: caller,
- condition: values,
- bd_single:Ext.getCmp('bd_single').checked,
- bd_difbom:Ext.getCmp('bd_difbom').checked
- },
- method : 'post',
- callback : function(options,success,response){
- grid.setLoading(false);
- var res = new Ext.decode(response.responseText);
- if(res.exceptionInfo){
- showError(res.exceptionInfo);return;
- }
- var data = res.data != null ? Ext.decode(res.data.replace(/,}/g, '}').replace(/,]/g, ']')) : [];
- if(!data || data.length == 0){
- grid.store.removeAll();
- me.add10EmptyItems(grid);
- } else {
- if(grid.buffered) {
- var ln = data.length, records = [], i = 0;
- for (; i < ln; i++) {
- records.push(Ext.create(grid.store.model.getName(), data[i]));
- }
- grid.store.purgeRecords();
- grid.store.cacheRecords(records);
- grid.store.totalCount = ln;
- grid.store.guaranteedStart = -1;
- grid.store.guaranteedEnd = -1;
- var a = grid.store.pageSize - 1;
- a = a > ln - 1 ? ln - 1 : a;
- grid.store.guaranteeRange(0, a);
- } else {
- grid.store.loadData(data);
- }
- }
- //自定义event
- grid.addEvents({
- storeloaded: true
- });
- grid.fireEvent('storeloaded', grid, data);
- }
- });
- },
- setStore: function(fields, data, groupField, necessaryField){
- if(!Ext.isChrome){
- Ext.each(fields, function(f){
- if(f.type == 'date'){
- f.dateFormat = 'Y-m-d H:m:s';
- }
- });
- }
- return Ext.create('Ext.data.Store', {
- fields: fields,
- data: data,
- groupField: groupField,
- getSum: function(records, field) {
- if (arguments.length < 2) {
- return 0;
- }
- var total = 0,
- i = 0,
- len = records.length;
- if(necessaryField) {
- for (; i < len; ++i) {//重写getSum,grid在合计时,只合计填写了必要信息的行
- var necessary = records[i].get(necessaryField);
- if(necessary != null && necessary != ''){
- total += records[i].get(field);
- }
- }
- } else {
- for (; i < len; ++i) {
- total += records[i].get(field);
- }
- }
- return total;
- },
- getCount: function() {
- if(necessaryField) {
- var count = 0;
- Ext.each(this.data.items, function(item){//重写getCount,grid在合计时,只合计填写了必要信息的行
- if(item.data[necessaryField] != null && item.data[necessaryField] != ''){
- count++;
- }
- });
- return count;
- }
- return this.data.items.length;
- }
- });
- },
- });
|