| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- Ext.QuickTips.init();
- Ext.define('erp.controller.pm.bom.BOMTree', {
- extend: 'Ext.app.Controller',
- BaseUtil: Ext.create('erp.util.BaseUtil'),
- GridUtil: Ext.create('erp.util.GridUtil'),
- views:[
- 'pm.bom.BOMTree','common.query.Form','pm.bom.BOMTreeGrid','core.form.YnField',
- 'core.trigger.DbfindTrigger'
- ],
- init:function(){
- this.control({
- 'bomTreeGrid': {
- itemmousedown: function(selModel, record){
- if(record.data['bs_sonbomid'] > 0 && record.childNodes.length == 0){
- Ext.getCmp('querygrid').loadChildNodes(record);
- }
- }
- },
- 'button[name=export]':{
- beforerender:function(btn){
- btn.handler=function(){
- var grid = Ext.getCmp('querygrid');
- var main = parent.Ext.getCmp("content-panel");
- var title =main.getActiveTab().tabConfig.tooltip+ Ext.Date.format(new Date(), 'Y-m-d H:m:s');
- var columns = grid.columns,cm = new Array(),datas = new Array();
- Ext.Array.each(columns, function(c){
- if(!c.hidden && c.width > 0) {
- if(c.items && c.items.length > 0) {
- var items = c.items.items;
- Ext.Array.each(items, function(item){
- if(!item.hidden)
- cm.push({text: c.text.replace(/<br>/g, '\n') + '(' + item.text.replace(/<br>/g, '\n') + ')',
- dataIndex: item.dataIndex, width: item.width, xtype: item.xtype, format: item.format});
- });
- } else {
- cm.push({text: c.text.replace(/<br>/g, '\n'), dataIndex: c.dataIndex, width: c.width, xtype: c.xtype, format: c.format});
- }
- }
- });
- Ext.Array.each(grid.store.tree.root.childNodes, function(d){
- var dd = d.data;
- Ext.each(grid.columns, function(c){
- if(c.xtype == 'datecolumn'){
- c.format = c.format || 'Y-m-d';
- if(Ext.isDate(dd[c.dataIndex])){
- dd[c.dataIndex] = Ext.Date.format(dd[c.dataIndex], c.format);
- }
- } else if(c.xtype == 'datetimecolumn'){
- if(Ext.isDate(dd[c.dataIndex])){
- dd[c.dataIndex] = Ext.Date.format(dd[c.dataIndex], 'Y-m-d H:i:s');
- }
- } else if(c.xtype == 'numbercolumn'){
- if(Ext.isNumber(dd[c.dataIndex])){
- dd[c.dataIndex] = dd[c.dataIndex].toString();
-
- }
-
-
- }
- if(dd[c.dataIndex] == null) {
- dd[c.dataIndex] = '';
- }
- });
- datas.push(dd);
- });
- if (!Ext.fly('ext-grid-excel')) {
- var frm = document.createElement('form');
- frm.id = 'ext-grid-excel';
- frm.name = id;
- frm.className = 'x-hidden';
- document.body.appendChild(frm);
- }Ext.Ajax.request({
- url: basePath + 'common/excel/grid.xls',
- method: 'post',
- form: Ext.fly('ext-grid-excel'),
- isUpload: true,
- params: {
- datas: unescape(Ext.JSON.encode(datas).replace(/\\/g,"%")),
- columns: Ext.encode(cm),
- title: title
- }
- });
- };
- }
- }
- });
- }
- });
|