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_cust_name',
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 : 'cust_name:text',
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) { 
354                                         var d = Date.parseDate(v, 'Y-m-d');
355                                     
356                                         return String.format('{0}', d.format('d/M/Y')); 
357                                     }
358                                 },
359                                 {
360                                     xtype: 'ColumnModel',
361                                     xns: Roo.grid,
362                                     dataIndex : 'araging_cust_name',
363                                     header : 'Customer',
364                                     width : 200,
365                                     renderer : function(v) { return String.format('{0}', v); }
366                                 },
367                                 {
368                                     xtype: 'ColumnModel',
369                                     xns: Roo.grid,
370                                     dataIndex : 'araging_doctype',
371                                     header : 'Doc Type',
372                                     width : 120,
373                                     renderer : function(v) {
374                                         switch(v) {
375                                             case 'I':
376                                                 return "Invoice";
377                                             case 'C':
378                                                 return "Credit Memo";        
379                                             case 'D':
380                                                 return "Debit Memo";                    
381                                             case 'R':
382                                                 return "Cash Receipt";        
383                                             default:
384                                                  return String.format('{0}', v); 
385                                          }
386                                      }
387                                 },
388                                 {
389                                     xtype: 'ColumnModel',
390                                     xns: Roo.grid,
391                                     dataIndex : 'araging_docnumber',
392                                     header : 'Docnumber',
393                                     width : 120,
394                                     renderer : function(v) {
395                                         
396                                                  return String.format('{0}', v); 
397                                          
398                                      }
399                                 },
400                                 {
401                                     xtype: 'ColumnModel',
402                                     xns: Roo.grid,
403                                     dataIndex : 'araging_ponumber_pretty',
404                                     header : 'Order',
405                                     width : 150,
406                                     renderer : function(v) { return String.format('{0}', v); }
407                                 },
408                                 {
409                                     xtype: 'ColumnModel',
410                                     xns: Roo.grid,
411                                     dataIndex : 'araging_docnumber',
412                                     header : 'Docnumber',
413                                     width : 120,
414                                     renderer : function(v) {
415                                         
416                                                  return String.format('{0}', v); 
417                                          
418                                      }
419                                 },
420                                 {
421                                     xtype: 'ColumnModel',
422                                     xns: Roo.grid,
423                                     align : 'right',
424                                     dataIndex : 'araging_aropen_amount',
425                                     header : 'Value',
426                                     width : 100,
427                                     renderer : function(v) { 
428                                     
429                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
430                                                 Roo.util.Format.usMoney(v)); 
431                                         }
432                                 },
433                                 {
434                                     xtype: 'ColumnModel',
435                                     xns: Roo.grid,
436                                     align : 'right',
437                                     dataIndex : 'araging_cur_val',
438                                     header : '30 Days',
439                                     width : 100,
440                                     renderer : function(v) { 
441                                     
442                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
443                                                 Roo.util.Format.usMoney(v)); 
444                                         }
445                                 },
446                                 {
447                                     xtype: 'ColumnModel',
448                                     xns: Roo.grid,
449                                     align : 'right',
450                                     dataIndex : 'araging_sixty_val',
451                                     header : '60 Days',
452                                     width : 100,
453                                     renderer : function(v) { 
454                                     
455                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
456                                                 Roo.util.Format.usMoney(v)); 
457                                         }
458                                 },
459                                 {
460                                     xtype: 'ColumnModel',
461                                     xns: Roo.grid,
462                                     align : 'right',
463                                     dataIndex : 'araging_ninety_val',
464                                     header : '90 Days',
465                                     width : 100,
466                                     renderer : function(v) { 
467                                     
468                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
469                                                 Roo.util.Format.usMoney(v)); 
470                                         }
471                                 },
472                                 {
473                                     xtype: 'ColumnModel',
474                                     xns: Roo.grid,
475                                     align : 'right',
476                                     dataIndex : 'araging_plus_val',
477                                     header : 'Over 90 days',
478                                     width : 150,
479                                     renderer : function(v) { 
480                                     
481                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
482                                                 Roo.util.Format.usMoney(v)); 
483                                         }
484                                 },
485                                 {
486                                     xtype: 'ColumnModel',
487                                     xns: Roo.grid,
488                                     align : 'right',
489                                     dataIndex : 'araging_total_val',
490                                     header : 'Total',
491                                     width : 150,
492                                     renderer : function(v) { 
493                                     
494                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
495                                                 Roo.util.Format.usMoney(v)); 
496                                         }
497                                 },
498                                 {
499                                     xtype: 'ColumnModel',
500                                     xns: Roo.grid,
501                                     align : 'right',
502                                     dataIndex : 'araging_base_total',
503                                     header : 'Total (BASE)',
504                                     width : 150,
505                                     renderer : function(v) { 
506                                     
507                                             return String.format(v*1 < 0 ? '<span style="color:red">{0}</span>' : '{0}', 
508                                                 Roo.util.Format.usMoney(v)); 
509                                         }
510                                 }
511                             ]
512                         }
513                     }
514                 ],
515                 center : {
516                     xtype: 'LayoutRegion',
517                     xns: Roo
518                 }
519             }
520         };
521     }
522 });