Pman.Tab.XtupleArAging.bjs
[Pman.Xtuple] / Pman.Tab.XtupleArAging.js
1 //<script type="text/javascript">
2
3 // Auto generated file - created by app.Builder.js- do not edit directly (at present!)
4
5 Pman.Tab.XtupleArAging = new Roo.XComponent({
6     part     :  ["Xtuple","ArAging"],
7     order    : '300-Pman.Tab.XtupleArAging',
8     region   : 'center',
9     parent   : 'Pman.Tab.XtupleAccountsTab',
10     name     : "unnamed module",
11     disabled : false, 
12     permname : '', 
13     _tree : function()
14     {
15         var _this = this;
16         var MODULE = this;
17         return {
18             xtype: 'NestedLayoutPanel',
19             xns: Roo,
20             background : true,
21             fitContainer : true,
22             fitToFrame : true,
23             region : 'center',
24             title : "Accounts Recievable",
25             layout : {
26                 xtype: 'BorderLayout',
27                 xns: Roo,
28                 items : [
29                     {
30                         xtype: 'GridPanel',
31                         xns: Roo,
32                         listeners : {
33                             activate : function() {
34                                 _this.panel = this;
35                                 if (_this.grid) {
36                                     _this.grid.footer.onClick('first');
37                                 }
38                             }
39                         },
40                         background : true,
41                         fitContainer : true,
42                         fitToframe : true,
43                         region : 'center',
44                         tableName : 'aropen',
45                         title : "ArAging",
46                         grid : {
47                             xtype: 'Grid',
48                             xns: Roo.grid,
49                             listeners : {
50                                 render : function() 
51                                 {
52                                     _this.grid = this; 
53                                     //_this.dialog = Pman.Dialog.FILL_IN
54                                     if (_this.panel.active) {
55                                        this.footer.onClick('first');
56                                     }
57                                 }
58                             },
59                             autoExpandColumn : 'araging_docnumber',
60                             loadMask : true,
61                             dataSource : {
62                                 xtype: 'Store',
63                                 xns: Roo.data,
64                                 listeners : {
65                                     beforeload : function (_self, o)
66                                     {
67                                         o.params = o.params || {};
68                                         
69                                     
70                                         
71                                         var dt = _this.relDate.getValue();
72                                         
73                                         var params = {
74                                             _group : 'arAging',
75                                             _name : 'bydate',
76                                             'relDate:text' : typeof(dt) == 'string' ? dt : dt.format('Y-m-d'),
77                                             'useDocDate:text' : false
78                                         };
79                                         
80                                         var cs = _this.customerSel.getValue();
81                                         if (cs*1) {
82                                             params['cust_id:number'] = cs;
83                                         
84                                         }
85                                         
86                                         
87                                         Roo.apply(o.params,params);
88                                     }
89                                 },
90                                 remoteSort : true,
91                                 proxy : {
92                                     xtype: 'HttpProxy',
93                                     xns: Roo.data,
94                                     method : 'GET',
95                                     timeout : 600000,
96                                     url : baseURL + '/Roo/Metasql.php'
97                                 },
98                                 reader : {
99                                     xtype: 'JsonReader',
100                                     xns: Roo.data,
101                                     id : 'id',
102                                     root : 'data',
103                                     totalProperty : 'total',
104                                     fields : [
105                                         {
106                                             'name': 'id',
107                                             'type': 'int'
108                                         },
109                                         {
110                                             'name': 'name',
111                                             'type': 'string'
112                                         },
113                                         {
114                                             'name': 'type',
115                                             'type': 'int'
116                                         },
117                                         {
118                                             'name': 'leader',
119                                             'type': 'int'
120                                         },
121                                         {
122                                             'name': 'leader_id',
123                                             'type': 'int'
124                                         },
125                                         {
126                                             'name': 'leader_office_id',
127                                             'type': 'int'
128                                         },
129                                         {
130                                             'name': 'leader_name',
131                                             'type': 'string'
132                                         },
133                                         {
134                                             'name': 'leader_phone',
135                                             'type': 'string'
136                                         },
137                                         {
138                                             'name': 'leader_fax',
139                                             'type': 'string'
140                                         },
141                                         {
142                                             'name': 'leader_email',
143                                             'type': 'string'
144                                         },
145                                         {
146                                             'name': 'leader_company_id',
147                                             'type': 'int'
148                                         },
149                                         {
150                                             'name': 'leader_role',
151                                             'type': 'string'
152                                         },
153                                         {
154                                             'name': 'leader_active',
155                                             'type': 'int'
156                                         },
157                                         {
158                                             'name': 'leader_remarks',
159                                             'type': 'string'
160                                         },
161                                         {
162                                             'name': 'leader_passwd',
163                                             'type': 'string'
164                                         },
165                                         {
166                                             'name': 'leader_owner_id',
167                                             'type': 'int'
168                                         },
169                                         {
170                                             'name': 'leader_lang',
171                                             'type': 'string'
172                                         },
173                                         {
174                                             'name': 'leader_no_reset_sent',
175                                             'type': 'int'
176                                         },
177                                         {
178                                             'name': 'leader_action_type',
179                                             'type': 'string'
180                                         },
181                                         {
182                                             'name': 'leader_project_id',
183                                             'type': 'int'
184                                         },
185                                         {
186                                             'name': 'leader_deleted_by',
187                                             'type': 'int'
188                                         },
189                                         {
190                                             'name': 'leader_deleted_dt',
191                                             'type': 'date'
192                                         },
193                                         {
194                                             'name': 'leader_firstname',
195                                             'type': 'string'
196                                         },
197                                         {
198                                             'name': 'leader_lastname',
199                                             'type': 'string'
200                                         },
201                                         {
202                                             'name': 'leader_name_facebook',
203                                             'type': 'string'
204                                         },
205                                         {
206                                             'name': 'leader_url_blog',
207                                             'type': 'string'
208                                         },
209                                         {
210                                             'name': 'leader_url_twitter',
211                                             'type': 'string'
212                                         },
213                                         {
214                                             'name': 'leader_url_linkedin',
215                                             'type': 'string'
216                                         },
217                                         {
218                                             'name': 'leader_crm_lead_percentage',
219                                             'type': 'int'
220                                         },
221                                         {
222                                             'name': 'leader_crm_industry_id',
223                                             'type': 'int'
224                                         },
225                                         {
226                                             'name': 'leader_crm_updated_action_id',
227                                             'type': 'int'
228                                         },
229                                         {
230                                             'name': 'leader_crm_created_action_id',
231                                             'type': 'int'
232                                         },
233                                         {
234                                             'name': 'leader_crm_type_id',
235                                             'type': 'int'
236                                         }
237                                     ]
238                                 }
239                             },
240                             toolbar : {
241                                 xtype: 'Toolbar',
242                                 xns: Roo,
243                                 items : [
244                                     {
245                                         xtype: 'ComboBox',
246                                         xns: Roo.form,
247                                         listeners : {
248                                             render : function (_self)
249                                             {
250                                                 _this.customerSel = _self;
251                                             },
252                                             select : function (combo, record, index)
253                                             {
254                                                 _this.grid.footer.onClick('first');
255                                             }
256                                         },
257                                         allowBlank : true,
258                                         displayField : 'cust_name',
259                                         editable : true,
260                                         emptyText : "Select customer",
261                                         fieldLabel : 'cust_name',
262                                         forceSelection : true,
263                                         hiddenName : 'cust_id',
264                                         listWidth : 400,
265                                         loadingText : "Searching...",
266                                         minChars : 2,
267                                         name : 'cust_name',
268                                         pageSize : 20,
269                                         qtip : "Select Customer",
270                                         queryParam : 'query[cust_name]',
271                                         selectOnFocus : true,
272                                         tpl : '<div class="x-grid-cell-text x-btn button"><b>{cust_name}</b> </div>',
273                                         triggerAction : 'all',
274                                         typeAhead : true,
275                                         valueField : 'cust_id',
276                                         width : 300,
277                                         store : {
278                                             xtype: 'Store',
279                                             xns: Roo.data,
280                                             listeners : {
281                                                 beforeload : function (_self, o){
282                                                     o.params = o.params || {};
283                                                 
284                                                     if (!_this.relDate) {
285                                                         return false;
286                                                     }
287                                                     var dt = _this.relDate.getValue();    
288                                                     // set more here
289                                                     o.params['_group'] = 'arAging';
290                                                     o.params['_name'] = 'customers';
291                                                     o.params['relDate:text']  = typeof(dt) == 'string' ? dt : dt.format('Y-m-d');
292                                                     o.params['useDocDate:text'] = false    
293                                                 }
294                                             },
295                                             remoteSort : true,
296                                             sortInfo : { direction : 'ASC', field: 'cust_name' },
297                                             proxy : {
298                                                 xtype: 'HttpProxy',
299                                                 xns: Roo.data,
300                                                 method : 'GET',
301                                                 url : baseURL + '/Roo/metasql.php'
302                                             },
303                                             reader : {
304                                                 xtype: 'JsonReader',
305                                                 xns: Roo.data,
306                                                 id : 'cust_id',
307                                                 root : 'data',
308                                                 totalProperty : 'total',
309                                                 fields : [{"name":"cust_id","type":"int"},"cust_name"]
310                                             }
311                                         }
312                                     },
313                                     {
314                                         xtype: 'TextItem',
315                                         xns: Roo.Toolbar,
316                                         text : "as Of:"
317                                     },
318                                     {
319                                         xtype: 'DateField',
320                                         xns: Roo.form,
321                                         listeners : {
322                                             render : function (_self)\r
323                                             {\r
324                                                 _this.relDate = _self;\r
325                                                _self.setValue(  new Date() );\r
326                                             },
327                                             select : function (combo, date)
328                                             {
329                                                 _this.grid.footer.onClick('first');
330                                             }
331                                         },
332                                         allowBlank : false,
333                                         format : 'Y-m-d',
334                                         width : 100
335                                     }
336                                 ]
337                             },
338                             footer : {
339                                 xtype: 'PagingToolbar',
340                                 xns: Roo,
341                                 displayInfo : true,
342                                 displayMsg : "Displaying araging{0} - {1} of {2}",
343                                 emptyMsg : "Nothing found",
344                                 pageSize : 25
345                             },
346                             colModel : [
347                                 {
348                                     xtype: 'ColumnModel',
349                                     xns: Roo.grid,
350                                     dataIndex : 'araging_docdate',
351                                     header : 'Date',
352                                     width : 100,
353                                     renderer : function(v) { return String.format('{0}', v); }
354                                 },
355                                 {
356                                     xtype: 'ColumnModel',
357                                     xns: Roo.grid,
358                                     dataIndex : 'araging_cust_name',
359                                     header : 'Customer',
360                                     width : 200,
361                                     renderer : function(v) { return String.format('{0}', v); }
362                                 },
363                                 {
364                                     xtype: 'ColumnModel',
365                                     xns: Roo.grid,
366                                     dataIndex : 'araging_doctype',
367                                     header : 'Doc Type',
368                                     width : 40,
369                                     renderer : function(v) {
370                                         switch(v) {
371                                             case 'I':
372                                                 return "Invoice";
373                                             case 'C':
374                                                 return "Credit Memo";        
375                                             case 'D':
376                                                 return "Debit Memo";                    
377                                             case 'R':
378                                                 return "Cash Receipt";        
379                                             default:
380                                                  return String.format('{0}', v); 
381                                          }
382                                      }
383                                 },
384                                 {
385                                     xtype: 'ColumnModel',
386                                     xns: Roo.grid,
387                                     dataIndex : 'araging_docnumber',
388                                     header : 'Docnumber',
389                                     width : 120,
390                                     renderer : function(v) {
391                                         
392                                                  return String.format('{0}', v); 
393                                          
394                                      }
395                                 },
396                                 {
397                                     xtype: 'ColumnModel',
398                                     xns: Roo.grid,
399                                     dataIndex : 'araging_ponumber_pretty',
400                                     header : 'Order',
401                                     width : 150,
402                                     renderer : function(v) { return String.format('{0}', v); }
403                                 },
404                                 {
405                                     xtype: 'ColumnModel',
406                                     xns: Roo.grid,
407                                     align : 'right',
408                                     dataIndex : 'araging_aropen_amount',
409                                     header : 'Value',
410                                     width : 100,
411                                     renderer : function(v) { 
412                                     
413                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
414                                                 Roo.util.Format.usMoney(v)); 
415                                         }
416                                 },
417                                 {
418                                     xtype: 'ColumnModel',
419                                     xns: Roo.grid,
420                                     align : 'right',
421                                     dataIndex : 'araging_cur_val',
422                                     header : '30 Days',
423                                     width : 100,
424                                     renderer : function(v) { 
425                                     
426                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
427                                                 Roo.util.Format.usMoney(v)); 
428                                         }
429                                 },
430                                 {
431                                     xtype: 'ColumnModel',
432                                     xns: Roo.grid,
433                                     align : 'right',
434                                     dataIndex : 'araging_sixty_val',
435                                     header : '60 Days',
436                                     width : 100,
437                                     renderer : function(v) { 
438                                     
439                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
440                                                 Roo.util.Format.usMoney(v)); 
441                                         }
442                                 },
443                                 {
444                                     xtype: 'ColumnModel',
445                                     xns: Roo.grid,
446                                     align : 'right',
447                                     dataIndex : 'araging_ninety_val',
448                                     header : '90 Days',
449                                     width : 100,
450                                     renderer : function(v) { 
451                                     
452                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
453                                                 Roo.util.Format.usMoney(v)); 
454                                         }
455                                 },
456                                 {
457                                     xtype: 'ColumnModel',
458                                     xns: Roo.grid,
459                                     align : 'right',
460                                     dataIndex : 'araging_plus_val',
461                                     header : 'Over 90 days',
462                                     width : 150,
463                                     renderer : function(v) { 
464                                     
465                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
466                                                 Roo.util.Format.usMoney(v)); 
467                                         }
468                                 },
469                                 {
470                                     xtype: 'ColumnModel',
471                                     xns: Roo.grid,
472                                     align : 'right',
473                                     dataIndex : 'araging_total_val',
474                                     header : 'Total',
475                                     width : 150,
476                                     renderer : function(v) { 
477                                     
478                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
479                                                 Roo.util.Format.usMoney(v)); 
480                                         }
481                                 }
482                             ]
483                         }
484                     }
485                 ],
486                 center : {
487                     xtype: 'LayoutRegion',
488                     xns: Roo
489                 }
490             }
491         };
492     }
493 });