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                                         },
253                                         allowBlank : false,
254                                         displayField : 'cust_name',
255                                         editable : true,
256                                         emptyText : "Select customer",
257                                         fieldLabel : 'cust_name',
258                                         forceSelection : true,
259                                         hiddenName : 'cust_id',
260                                         listWidth : 400,
261                                         loadingText : "Searching...",
262                                         minChars : 2,
263                                         name : 'cust_name',
264                                         pageSize : 20,
265                                         qtip : "Select Customer",
266                                         queryParam : 'query[cust_name]',
267                                         selectOnFocus : true,
268                                         tpl : '<div class="x-grid-cell-text x-btn button"><b>{cust_name}</b> </div>',
269                                         triggerAction : 'all',
270                                         typeAhead : true,
271                                         valueField : 'cust_id',
272                                         width : 300,
273                                         store : {
274                                             xtype: 'Store',
275                                             xns: Roo.data,
276                                             listeners : {
277                                                 beforeload : function (_self, o){
278                                                     o.params = o.params || {};
279                                                 
280                                                     if (!_this.relDate) {
281                                                         return false;
282                                                     }
283                                                     var dt = _this.relDate.getValue();    
284                                                     // set more here
285                                                     o.params['_group'] = 'arAging';
286                                                     o.params['_name'] = 'customers';
287                                                     o.params['relDate:text']  = typeof(dt) == 'string' ? dt : dt.format('Y-m-d');
288                                                     o.params['useDocDate:text'] = false    
289                                                 }
290                                             },
291                                             remoteSort : true,
292                                             sortInfo : { direction : 'ASC', field: 'cust_name' },
293                                             proxy : {
294                                                 xtype: 'HttpProxy',
295                                                 xns: Roo.data,
296                                                 method : 'GET',
297                                                 url : baseURL + '/Roo/metasql.php'
298                                             },
299                                             reader : {
300                                                 xtype: 'JsonReader',
301                                                 xns: Roo.data,
302                                                 id : 'cust_id',
303                                                 root : 'data',
304                                                 totalProperty : 'total',
305                                                 fields : [{"name":"cust_id","type":"int"},"cust_name"]
306                                             }
307                                         }
308                                     },
309                                     {
310                                         xtype: 'TextItem',
311                                         xns: Roo.Toolbar,
312                                         text : "as Of:"
313                                     },
314                                     {
315                                         xtype: 'DateField',
316                                         xns: Roo.form,
317                                         listeners : {
318                                             render : function (_self)\r
319                                             {\r
320                                                 _this.relDate = _self;\r
321                                                _self.setValue(  new Date() );\r
322                                             },
323                                             select : function (combo, date)
324                                             {
325                                                 _this.grid.footer.onClick('first');
326                                             }
327                                         },
328                                         allowBlank : false,
329                                         format : 'Y-m-d',
330                                         width : 100
331                                     }
332                                 ]
333                             },
334                             footer : {
335                                 xtype: 'PagingToolbar',
336                                 xns: Roo,
337                                 displayInfo : true,
338                                 displayMsg : "Displaying araging{0} - {1} of {2}",
339                                 emptyMsg : "Nothing found",
340                                 pageSize : 25
341                             },
342                             colModel : [
343                                 {
344                                     xtype: 'ColumnModel',
345                                     xns: Roo.grid,
346                                     dataIndex : 'araging_docdate',
347                                     header : 'Date',
348                                     width : 100,
349                                     renderer : function(v) { return String.format('{0}', v); }
350                                 },
351                                 {
352                                     xtype: 'ColumnModel',
353                                     xns: Roo.grid,
354                                     dataIndex : 'araging_cust_name',
355                                     header : 'Customer',
356                                     width : 200,
357                                     renderer : function(v) { return String.format('{0}', v); }
358                                 },
359                                 {
360                                     xtype: 'ColumnModel',
361                                     xns: Roo.grid,
362                                     dataIndex : 'araging_doctype',
363                                     header : 'Doc Type',
364                                     width : 40,
365                                     renderer : function(v) { return String.format('{0}', v); }
366                                 },
367                                 {
368                                     xtype: 'ColumnModel',
369                                     xns: Roo.grid,
370                                     dataIndex : 'araging_docnumber',
371                                     header : 'Docnumber',
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_ponumber_pretty',
392                                     header : 'Order',
393                                     width : 150,
394                                     renderer : function(v) { return String.format('{0}', v); }
395                                 },
396                                 {
397                                     xtype: 'ColumnModel',
398                                     xns: Roo.grid,
399                                     align : 'right',
400                                     dataIndex : 'araging_aropen_amount',
401                                     header : 'Value',
402                                     width : 150,
403                                     renderer : function(v) { return String.format('{0}', v); }
404                                 },
405                                 {
406                                     xtype: 'ColumnModel',
407                                     xns: Roo.grid,
408                                     align : 'right',
409                                     dataIndex : 'araging_cur_val',
410                                     header : '30 Days',
411                                     width : 150,
412                                     renderer : function(v) { return String.format('{0}', v); }
413                                 },
414                                 {
415                                     xtype: 'ColumnModel',
416                                     xns: Roo.grid,
417                                     align : 'right',
418                                     dataIndex : 'araging_sixty_val',
419                                     header : '60 Days',
420                                     width : 150,
421                                     renderer : function(v) { return String.format('{0}', v); }
422                                 },
423                                 {
424                                     xtype: 'ColumnModel',
425                                     xns: Roo.grid,
426                                     align : 'right',
427                                     dataIndex : 'araging_ninety_val',
428                                     header : '90 Days',
429                                     width : 100,
430                                     renderer : function(v) { return String.format('{0}', v); }
431                                 },
432                                 {
433                                     xtype: 'ColumnModel',
434                                     xns: Roo.grid,
435                                     align : 'right',
436                                     dataIndex : 'araging_plus_val',
437                                     header : 'Over 90 days',
438                                     width : 150,
439                                     renderer : function(v) { return String.format('{0}', v); }
440                                 },
441                                 {
442                                     xtype: 'ColumnModel',
443                                     xns: Roo.grid,
444                                     align : 'right',
445                                     dataIndex : 'araging_total_val',
446                                     header : 'Total',
447                                     width : 150,
448                                     renderer : function(v) { return String.format('{0}', v); }
449                                 }
450                             ]
451                         }
452                     }
453                 ],
454                 center : {
455                     xtype: 'LayoutRegion',
456                     xns: Roo
457                 }
458             }
459         };
460     }
461 });