Commit 2d0f0ca8165743c605c6a88af2c6fddbe21fd109

Authored by trainee
1 parent 7c0732bd
Exists in master

เพิ่ม tap typeapi type search

ซ่อน tap
src/app/dashboard/dashboard.component.html
1   -
2   - <!-- งานใหม่ -->
3   - <!-- Active -->
  1 +<!-- งานใหม่ -->
  2 +<!-- Active -->
4 3 <div class="portlet-body">
5 4 <div class="tabbable-custom nav-justified">
6 5 <ul class="nav nav-tabs">
7 6 <li class="active sbold font">
8   - <a href="#tab1" data-toggle="tab" aria-expanded="true">ติดตั้ง <span class="badge"> {{resultNum}} </span></a>
  7 + <a href="#tab1" data-toggle="tab" aria-expanded="true">ติดตั้ง
  8 + <span class="badge"> {{resultNum}} </span>
  9 + </a>
9 10 </li>
10 11 <li class="sbold">
  12 + <a href="#tab7" data-toggle="tab" aria-expanded="false">After Service
  13 + <span class="badge"> {{resultNum7}} </span>
  14 + </a>
  15 + </li>
  16 + <!--<li class="sbold">
11 17 <a href="#tab2" data-toggle="tab" aria-expanded="false">RND <span class="badge"> {{resultNum2}} </span></a>
12 18 </li>
13 19 <li class="sbold">
... ... @@ -21,7 +27,7 @@
21 27 </li>
22 28 <li class="sbold">
23 29 <a href="#tab6" data-toggle="tab" aria-expanded="false">CUS <span class="badge"> {{resultNum6}} </span></a>
24   - </li>
  30 + </li>-->
25 31 </ul>
26 32 <div class="tab-content">
27 33 <div class="panel tab-pane active" id="tab1">
... ... @@ -30,38 +36,37 @@
30 36 <span class="caption-subject font-green-sharp sbold font"> Active</span>
31 37 </h1>
32 38  
33   - <div class="input-group" style="float: right; margin-top: 11px;">
34   - <div class="input-icon right">
35   - <i class="icon-magnifier">
36   - </i>
37   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
38   - </div>
  39 + <div class="input-group" style="float: right; margin-top: 11px;">
  40 + <div class="input-icon right">
  41 + <i class="icon-magnifier">
  42 + </i>
  43 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
39 44 </div>
40   -
  45 + </div>
  46 +
41 47 <hr>
42 48 <br>
43 49 </div>
44 50 <div class="panel-body">
45 51 <div class="row">
46 52 <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData | filter:FilterSearch: '' ">
47   - <a class="dashboard-stat dashboard-stat-v2 red "
48   - href="{{item.link}}"
49   - target="_blank"
50   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
51   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
52   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
53   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
  53 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  54 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  55 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  56 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 22px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
54 57 <div class="visual">
55 58 <i class="fa fa-comments"></i>
56 59 </div>
57 60 <table>
58 61 <tr>
59 62 <div class="details" style="width: calc(100% - 50px);">
60   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
61   - <div class= "number" style=" color: black; display: block; text-align: right;">
62   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
63   - </div>
64   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
  63 + <div style="text-align: right; margin-top: -60px; color: black;">{{item.type}}</div>
  64 + <div style="text-align: right; color: black;">{{item.STATUS}}</div>
  65 + <div class="number" style=" color: black; display: block; text-align: right; margin-top: -7px;">
  66 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  67 + </div>
  68 + <div class="desc" style=" color: black;">{{item.team}}</div>
  69 + <br>
65 70 <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
66 71 </div>
67 72 </tr>
... ... @@ -77,12 +82,12 @@
77 82 </div>
78 83 </div>
79 84 </div>
80   - <br>
81   - <br>
82   - <br>
83   - <br>
  85 + <br>
  86 + <br>
  87 + <br>
  88 + <br>
84 89 <!-- On Hold -->
85   -
  90 +
86 91 <div class="caption">
87 92 <h1 class="icon-bubble font-grey-gallery">
88 93 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
... ... @@ -99,37 +104,37 @@
99 104 </div>
100 105 <div class="panel-body">
101 106 <div class="row">
102   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold | filter:FilterSearchOnHold: '' ">
103   - <a class="dashboard-stat dashboard-stat-v2 red "
104   - href="{{item.link}}"
105   - target="_blank"
106   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
107   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
108   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
109   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
110   - <div class="visual">
111   - <i class="fa fa-comments"></i>
112   - </div>
113   - <table>
114   - <tr>
115   - <div class="details" style="width: calc(100% - 50px);">
116   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
117   - <div class= "number" style=" color: black; display: block; text-align: right;">
118   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
119   - </div>
120   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
121   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
122   - </div>
123   - </tr>
124   - <tr>
125   - <div class="details" style="width: calc(100% - 50px);">
126   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
127   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
128   - </div>
129   - </tr>
130   - </table>
131   - </a>
  107 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold | filter:FilterSearchOnHold: '' ">
  108 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  109 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  110 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  111 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 22px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  112 + <div class="visual">
  113 + <i class="fa fa-comments"></i>
132 114 </div>
  115 + <table>
  116 + <tr>
  117 + <div class="details" style="width: calc(100% - 50px);">
  118 + <div style="text-align: right; margin-top: -60px; color: black;">{{item.type}}</div>
  119 + <div style="text-align: right; color: black;">{{item.STATUS}}</div>
  120 + <div class="number" style=" color: black; display: block; text-align: right; margin-top: -7px;">
  121 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  122 + </div>
  123 + <div class="desc" style=" color: black;">{{item.team}}</div>
  124 + <br>
  125 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  126 + </div>
  127 + </tr>
  128 + <tr>
  129 + <div class="details" style="width: calc(100% - 50px);">
  130 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  131 + <!-- <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div> -->
  132 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  133 + </div>
  134 + </tr>
  135 + </table>
  136 + </a>
  137 + </div>
133 138 </div>
134 139 </div>
135 140 </div>
... ... @@ -139,27 +144,24 @@
139 144 <span class="caption-subject font-green-sharp sbold font"> Active</span>
140 145 </h1>
141 146  
142   - <div class="input-group" style="float: right; margin-top: 11px;">
143   - <div class="input-icon right">
144   - <i class="icon-magnifier">
145   - </i>
146   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
147   - </div>
  147 + <div class="input-group" style="float: right; margin-top: 11px;">
  148 + <div class="input-icon right">
  149 + <i class="icon-magnifier">
  150 + </i>
  151 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
148 152 </div>
149   -
  153 + </div>
  154 +
150 155 <hr>
151 156 <br>
152 157 </div>
153 158 <div class="panel-body">
154 159 <div class="row">
155 160 <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData2 | filter:FilterSearch: '' ">
156   - <a class="dashboard-stat dashboard-stat-v2 red "
157   - href="{{item.link}}"
158   - target="_blank"
159   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
160   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
161   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
162   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
  161 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  162 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  163 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  164 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
163 165 <div class="visual">
164 166 <i class="fa fa-comments"></i>
165 167 </div>
... ... @@ -167,10 +169,11 @@
167 169 <tr>
168 170 <div class="details" style="width: calc(100% - 50px);">
169 171 <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
170   - <div class= "number" style=" color: black; display: block; text-align: right;">
171   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
172   - </div>
173   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
  172 + <div class="number" style=" color: black; display: block; text-align: right;">
  173 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  174 + </div>
  175 + <div class="desc" style=" color: black;">{{item.team}}</div>
  176 + <br>
174 177 <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
175 178 </div>
176 179 </tr>
... ... @@ -185,12 +188,12 @@
185 188 </div>
186 189 </div>
187 190 </div>
188   - <br>
189   - <br>
190   - <br>
191   - <br>
  191 + <br>
  192 + <br>
  193 + <br>
  194 + <br>
192 195 <!-- On Hold -->
193   -
  196 +
194 197 <div class="caption">
195 198 <h1 class="icon-bubble font-grey-gallery">
196 199 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
... ... @@ -207,37 +210,35 @@
207 210 </div>
208 211 <div class="panel-body">
209 212 <div class="row">
210   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold2 | filter:FilterSearchOnHold: '' ">
211   - <a class="dashboard-stat dashboard-stat-v2 red "
212   - href="{{item.link}}"
213   - target="_blank"
214   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
215   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
216   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
217   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
218   - <div class="visual">
219   - <i class="fa fa-comments"></i>
220   - </div>
221   - <table>
222   - <tr>
223   - <div class="details" style="width: calc(100% - 50px);">
224   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
225   - <div class= "number" style=" color: black; display: block; text-align: right;">
226   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
227   - </div>
228   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
229   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
230   - </div>
231   - </tr>
232   - <tr>
233   - <div class="details" style="width: calc(100% - 50px);">
234   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
235   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
236   - </div>
237   - </tr>
238   - </table>
239   - </a>
  213 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold2 | filter:FilterSearchOnHold: '' ">
  214 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  215 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  216 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  217 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  218 + <div class="visual">
  219 + <i class="fa fa-comments"></i>
240 220 </div>
  221 + <table>
  222 + <tr>
  223 + <div class="details" style="width: calc(100% - 50px);">
  224 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  225 + <div class="number" style=" color: black; display: block; text-align: right;">
  226 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  227 + </div>
  228 + <div class="desc" style=" color: black;">{{item.team}}</div>
  229 + <br>
  230 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  231 + </div>
  232 + </tr>
  233 + <tr>
  234 + <div class="details" style="width: calc(100% - 50px);">
  235 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  236 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  237 + </div>
  238 + </tr>
  239 + </table>
  240 + </a>
  241 + </div>
241 242 </div>
242 243 </div>
243 244 </div>
... ... @@ -247,27 +248,24 @@
247 248 <span class="caption-subject font-green-sharp sbold font"> Active</span>
248 249 </h1>
249 250  
250   - <div class="input-group" style="float: right; margin-top: 11px;">
251   - <div class="input-icon right">
252   - <i class="icon-magnifier">
253   - </i>
254   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
255   - </div>
  251 + <div class="input-group" style="float: right; margin-top: 11px;">
  252 + <div class="input-icon right">
  253 + <i class="icon-magnifier">
  254 + </i>
  255 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
256 256 </div>
257   -
  257 + </div>
  258 +
258 259 <hr>
259 260 <br>
260 261 </div>
261 262 <div class="panel-body">
262 263 <div class="row">
263 264 <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData3 | filter:FilterSearch: '' ">
264   - <a class="dashboard-stat dashboard-stat-v2 red "
265   - href="{{item.link}}"
266   - target="_blank"
267   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
268   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
269   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
270   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
  265 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  266 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  267 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  268 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
271 269 <div class="visual">
272 270 <i class="fa fa-comments"></i>
273 271 </div>
... ... @@ -275,10 +273,11 @@
275 273 <tr>
276 274 <div class="details" style="width: calc(100% - 50px);">
277 275 <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
278   - <div class= "number" style=" color: black; display: block; text-align: right;">
279   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
280   - </div>
281   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
  276 + <div class="number" style=" color: black; display: block; text-align: right;">
  277 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  278 + </div>
  279 + <div class="desc" style=" color: black;">{{item.team}}</div>
  280 + <br>
282 281 <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
283 282 </div>
284 283 </tr>
... ... @@ -293,12 +292,12 @@
293 292 </div>
294 293 </div>
295 294 </div>
296   - <br>
297   - <br>
298   - <br>
299   - <br>
  295 + <br>
  296 + <br>
  297 + <br>
  298 + <br>
300 299 <!-- On Hold -->
301   -
  300 +
302 301 <div class="caption">
303 302 <h1 class="icon-bubble font-grey-gallery">
304 303 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
... ... @@ -315,369 +314,466 @@
315 314 </div>
316 315 <div class="panel-body">
317 316 <div class="row">
318   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold3 | filter:FilterSearchOnHold: '' ">
319   - <a class="dashboard-stat dashboard-stat-v2 red "
320   - href="{{item.link}}"
321   - target="_blank"
322   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
323   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
324   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
325   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
326   - <div class="visual">
327   - <i class="fa fa-comments"></i>
328   - </div>
329   - <table>
330   - <tr>
331   - <div class="details" style="width: calc(100% - 50px);">
332   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
333   - <div class= "number" style=" color: black; display: block; text-align: right;">
334   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
335   - </div>
336   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
337   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
338   - </div>
339   - </tr>
340   - <tr>
341   - <div class="details" style="width: calc(100% - 50px);">
342   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
343   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
344   - </div>
345   - </tr>
346   - </table>
347   - </a>
  317 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold3 | filter:FilterSearchOnHold: '' ">
  318 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  319 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  320 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  321 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  322 + <div class="visual">
  323 + <i class="fa fa-comments"></i>
348 324 </div>
  325 + <table>
  326 + <tr>
  327 + <div class="details" style="width: calc(100% - 50px);">
  328 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  329 + <div class="number" style=" color: black; display: block; text-align: right;">
  330 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  331 + </div>
  332 + <div class="desc" style=" color: black;">{{item.team}}</div>
  333 + <br>
  334 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  335 + </div>
  336 + </tr>
  337 + <tr>
  338 + <div class="details" style="width: calc(100% - 50px);">
  339 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  340 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  341 + </div>
  342 + </tr>
  343 + </table>
  344 + </a>
  345 + </div>
349 346 </div>
350 347 </div>
351 348 </div>
352 349 <div class="panel tab-pane" id="tab4">
353   - <div class="caption">
354   - <h1 class="icon-bubble font-green-sharp">
355   - <span class="caption-subject font-green-sharp sbold font"> Active</span>
356   - </h1>
357   -
358   - <div class="input-group" style="float: right; margin-top: 11px;">
359   - <div class="input-icon right">
360   - <i class="icon-magnifier">
361   - </i>
362   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
363   - </div>
364   - </div>
365   -
366   - <hr>
367   - <br>
  350 + <div class="caption">
  351 + <h1 class="icon-bubble font-green-sharp">
  352 + <span class="caption-subject font-green-sharp sbold font"> Active</span>
  353 + </h1>
  354 +
  355 + <div class="input-group" style="float: right; margin-top: 11px;">
  356 + <div class="input-icon right">
  357 + <i class="icon-magnifier">
  358 + </i>
  359 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
368 360 </div>
369   - <div class="panel-body">
370   - <div class="row">
371   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData4 | filter:FilterSearch: '' ">
372   - <a class="dashboard-stat dashboard-stat-v2 red "
373   - href="{{item.link}}"
374   - target="_blank"
375   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
  361 + </div>
  362 +
  363 + <hr>
  364 + <br>
  365 + </div>
  366 + <div class="panel-body">
  367 + <div class="row">
  368 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData4 | filter:FilterSearch: '' ">
  369 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
376 370 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
377 371 <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
378   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
379   - <div class="visual">
380   - <i class="fa fa-comments"></i>
381   - </div>
382   - <table>
383   - <tr>
384   - <div class="details" style="width: calc(100% - 50px);">
385   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
386   - <div class= "number" style=" color: black; display: block; text-align: right;">
387   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
388   - </div>
389   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
390   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
391   - </div>
392   - </tr>
393   - <tr>
394   - <div class="details" style="width: calc(100% - 50px);">
395   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
396   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
397   - </div>
398   - </tr>
399   - </table>
400   - </a>
  372 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  373 + <div class="visual">
  374 + <i class="fa fa-comments"></i>
401 375 </div>
402   - </div>
  376 + <table>
  377 + <tr>
  378 + <div class="details" style="width: calc(100% - 50px);">
  379 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  380 + <div class="number" style=" color: black; display: block; text-align: right;">
  381 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  382 + </div>
  383 + <div class="desc" style=" color: black;">{{item.team}}</div>
  384 + <br>
  385 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  386 + </div>
  387 + </tr>
  388 + <tr>
  389 + <div class="details" style="width: calc(100% - 50px);">
  390 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  391 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  392 + </div>
  393 + </tr>
  394 + </table>
  395 + </a>
403 396 </div>
  397 + </div>
  398 + </div>
404 399 <br>
405 400 <br>
406 401 <br>
407 402 <br>
408   - <!-- On Hold -->
409   -
410   - <div class="caption">
411   - <h1 class="icon-bubble font-grey-gallery">
412   - <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
413   - </h1>
414   - <div class="input-group" style="float: right; margin-top: 11px;">
415   - <div class="input-icon right">
416   - <i class="icon-magnifier">
417   - </i>
418   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
419   - </div>
420   - </div>
421   - <hr>
422   - <br>
  403 + <!-- On Hold -->
  404 +
  405 + <div class="caption">
  406 + <h1 class="icon-bubble font-grey-gallery">
  407 + <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
  408 + </h1>
  409 + <div class="input-group" style="float: right; margin-top: 11px;">
  410 + <div class="input-icon right">
  411 + <i class="icon-magnifier">
  412 + </i>
  413 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
423 414 </div>
424   - <div class="panel-body">
425   - <div class="row">
426   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold4 | filter:FilterSearchOnHold: '' ">
427   - <a class="dashboard-stat dashboard-stat-v2 red "
428   - href="{{item.link}}"
429   - target="_blank"
430   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
431   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
432   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
433   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
434   - <div class="visual">
435   - <i class="fa fa-comments"></i>
  415 + </div>
  416 + <hr>
  417 + <br>
  418 + </div>
  419 + <div class="panel-body">
  420 + <div class="row">
  421 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold4 | filter:FilterSearchOnHold: '' ">
  422 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  423 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  424 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  425 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  426 + <div class="visual">
  427 + <i class="fa fa-comments"></i>
  428 + </div>
  429 + <table>
  430 + <tr>
  431 + <div class="details" style="width: calc(100% - 50px);">
  432 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  433 + <div class="number" style=" color: black; display: block; text-align: right;">
  434 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
436 435 </div>
437   - <table>
438   - <tr>
439   - <div class="details" style="width: calc(100% - 50px);">
440   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
441   - <div class= "number" style=" color: black; display: block; text-align: right;">
442   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
443   - </div>
444   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
445   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
446   - </div>
447   - </tr>
448   - <tr>
449   - <div class="details" style="width: calc(100% - 50px);">
450   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
451   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
452   - </div>
453   - </tr>
454   - </table>
455   - </a>
  436 + <div class="desc" style=" color: black;">{{item.team}}</div>
  437 + <br>
  438 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
456 439 </div>
457   - </div>
  440 + </tr>
  441 + <tr>
  442 + <div class="details" style="width: calc(100% - 50px);">
  443 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  444 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  445 + </div>
  446 + </tr>
  447 + </table>
  448 + </a>
458 449 </div>
  450 + </div>
  451 + </div>
459 452 </div>
460 453 <div class="panel tab-pane" id="tab5">
461   - <div class="caption">
462   - <h1 class="icon-bubble font-green-sharp">
463   - <span class="caption-subject font-green-sharp sbold font"> Active</span>
464   - </h1>
465   -
466   - <div class="input-group" style="float: right; margin-top: 11px;">
467   - <div class="input-icon right">
468   - <i class="icon-magnifier">
469   - </i>
470   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
471   - </div>
472   - </div>
473   -
474   - <hr>
475   - <br>
  454 + <div class="caption">
  455 + <h1 class="icon-bubble font-green-sharp">
  456 + <span class="caption-subject font-green-sharp sbold font"> Active</span>
  457 + </h1>
  458 +
  459 + <div class="input-group" style="float: right; margin-top: 11px;">
  460 + <div class="input-icon right">
  461 + <i class="icon-magnifier">
  462 + </i>
  463 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
476 464 </div>
477   - <div class="panel-body">
478   - <div class="row">
479   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData5 | filter:FilterSearch: '' ">
480   - <a class="dashboard-stat dashboard-stat-v2 red "
481   - href="{{item.link}}"
482   - target="_blank"
483   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
  465 + </div>
  466 +
  467 + <hr>
  468 + <br>
  469 + </div>
  470 + <div class="panel-body">
  471 + <div class="row">
  472 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData5 | filter:FilterSearch: '' ">
  473 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
484 474 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
485 475 <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
486   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
487   - <div class="visual">
488   - <i class="fa fa-comments"></i>
489   - </div>
490   - <table>
491   - <tr>
492   - <div class="details" style="width: calc(100% - 50px);">
493   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
494   - <div class= "number" style=" color: black; display: block; text-align: right;">
495   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
496   - </div>
497   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
498   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
499   - </div>
500   - </tr>
501   - <tr>
502   - <div class="details" style="width: calc(100% - 50px);">
503   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
504   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
505   - </div>
506   - </tr>
507   - </table>
508   - </a>
  476 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  477 + <div class="visual">
  478 + <i class="fa fa-comments"></i>
509 479 </div>
510   - </div>
  480 + <table>
  481 + <tr>
  482 + <div class="details" style="width: calc(100% - 50px);">
  483 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  484 + <div class="number" style=" color: black; display: block; text-align: right;">
  485 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  486 + </div>
  487 + <div class="desc" style=" color: black;">{{item.team}}</div>
  488 + <br>
  489 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  490 + </div>
  491 + </tr>
  492 + <tr>
  493 + <div class="details" style="width: calc(100% - 50px);">
  494 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  495 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  496 + </div>
  497 + </tr>
  498 + </table>
  499 + </a>
511 500 </div>
  501 + </div>
  502 + </div>
512 503 <br>
513 504 <br>
514 505 <br>
515 506 <br>
516   - <!-- On Hold -->
517   -
518   - <div class="caption">
519   - <h1 class="icon-bubble font-grey-gallery">
520   - <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
521   - </h1>
522   - <div class="input-group" style="float: right; margin-top: 11px;">
523   - <div class="input-icon right">
524   - <i class="icon-magnifier">
525   - </i>
526   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
527   - </div>
528   - </div>
529   - <hr>
530   - <br>
  507 + <!-- On Hold -->
  508 +
  509 + <div class="caption">
  510 + <h1 class="icon-bubble font-grey-gallery">
  511 + <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
  512 + </h1>
  513 + <div class="input-group" style="float: right; margin-top: 11px;">
  514 + <div class="input-icon right">
  515 + <i class="icon-magnifier">
  516 + </i>
  517 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
531 518 </div>
532   - <div class="panel-body">
533   - <div class="row">
534   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold5 | filter:FilterSearchOnHold: '' ">
535   - <a class="dashboard-stat dashboard-stat-v2 red "
536   - href="{{item.link}}"
537   - target="_blank"
538   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
539   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
540   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
541   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
542   - <div class="visual">
543   - <i class="fa fa-comments"></i>
  519 + </div>
  520 + <hr>
  521 + <br>
  522 + </div>
  523 + <div class="panel-body">
  524 + <div class="row">
  525 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold5 | filter:FilterSearchOnHold: '' ">
  526 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  527 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  528 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  529 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  530 + <div class="visual">
  531 + <i class="fa fa-comments"></i>
  532 + </div>
  533 + <table>
  534 + <tr>
  535 + <div class="details" style="width: calc(100% - 50px);">
  536 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  537 + <div class="number" style=" color: black; display: block; text-align: right;">
  538 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
544 539 </div>
545   - <table>
546   - <tr>
547   - <div class="details" style="width: calc(100% - 50px);">
548   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
549   - <div class= "number" style=" color: black; display: block; text-align: right;">
550   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
551   - </div>
552   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
553   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
554   - </div>
555   - </tr>
556   - <tr>
557   - <div class="details" style="width: calc(100% - 50px);">
558   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
559   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
560   - </div>
561   - </tr>
562   - </table>
563   - </a>
  540 + <div class="desc" style=" color: black;">{{item.team}}</div>
  541 + <br>
  542 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
564 543 </div>
565   - </div>
  544 + </tr>
  545 + <tr>
  546 + <div class="details" style="width: calc(100% - 50px);">
  547 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  548 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  549 + </div>
  550 + </tr>
  551 + </table>
  552 + </a>
566 553 </div>
  554 + </div>
  555 + </div>
567 556 </div>
568 557 <div class="panel tab-pane" id="tab6">
569   - <div class="caption">
570   - <h1 class="icon-bubble font-green-sharp">
571   - <span class="caption-subject font-green-sharp sbold font"> Active</span>
572   - </h1>
573   -
574   - <div class="input-group" style="float: right; margin-top: 11px;">
575   - <div class="input-icon right">
576   - <i class="icon-magnifier">
577   - </i>
578   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
579   - </div>
  558 + <div class="caption">
  559 + <h1 class="icon-bubble font-green-sharp">
  560 + <span class="caption-subject font-green-sharp sbold font"> Active</span>
  561 + </h1>
  562 +
  563 + <div class="input-group" style="float: right; margin-top: 11px;">
  564 + <div class="input-icon right">
  565 + <i class="icon-magnifier">
  566 + </i>
  567 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
  568 + </div>
  569 + </div>
  570 +
  571 + <hr>
  572 + <br>
  573 + </div>
  574 + <div class="panel-body">
  575 + <div class="row">
  576 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData6 | filter:FilterSearch: '' ">
  577 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  578 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  579 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  580 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  581 + <div class="visual">
  582 + <i class="fa fa-comments"></i>
580 583 </div>
581   -
582   - <hr>
583   - <br>
  584 + <table>
  585 + <tr>
  586 + <div class="details" style="width: calc(100% - 50px);">
  587 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  588 + <div class="number" style=" color: black; display: block; text-align: right;">
  589 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  590 + </div>
  591 + <div class="desc" style=" color: black;">{{item.team}}</div>
  592 + <br>
  593 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  594 + </div>
  595 + </tr>
  596 + <tr>
  597 + <div class="details" style="width: calc(100% - 50px);">
  598 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  599 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  600 + </div>
  601 + </tr>
  602 + </table>
  603 + </a>
  604 + </div>
  605 + </div>
  606 + </div>
  607 + <br>
  608 + <br>
  609 + <br>
  610 + <br>
  611 + <!-- On Hold -->
  612 +
  613 + <div class="caption">
  614 + <h1 class="icon-bubble font-grey-gallery">
  615 + <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
  616 + </h1>
  617 + <div class="input-group" style="float: right; margin-top: 11px;">
  618 + <div class="input-icon right">
  619 + <i class="icon-magnifier">
  620 + </i>
  621 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
584 622 </div>
585   - <div class="panel-body">
586   - <div class="row">
587   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData6 | filter:FilterSearch: '' ">
588   - <a class="dashboard-stat dashboard-stat-v2 red "
589   - href="{{item.link}}"
590   - target="_blank"
591   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
  623 + </div>
  624 + <hr>
  625 + <br>
  626 + </div>
  627 + <div class="panel-body">
  628 + <div class="row">
  629 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold6 | filter:FilterSearchOnHold: '' ">
  630 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
592 631 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
593 632 <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
594   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
595   - <div class="visual">
596   - <i class="fa fa-comments"></i>
  633 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  634 + <div class="visual">
  635 + <i class="fa fa-comments"></i>
  636 + </div>
  637 + <table>
  638 + <tr>
  639 + <div class="details" style="width: calc(100% - 50px);">
  640 + <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
  641 + <div class="number" style=" color: black; display: block; text-align: right;">
  642 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  643 + </div>
  644 + <div class="desc" style=" color: black;">{{item.team}}</div>
  645 + <br>
  646 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
597 647 </div>
598   - <table>
599   - <tr>
600   - <div class="details" style="width: calc(100% - 50px);">
601   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
602   - <div class= "number" style=" color: black; display: block; text-align: right;">
603   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
604   - </div>
605   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
606   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
607   - </div>
608   - </tr>
609   - <tr>
610   - <div class="details" style="width: calc(100% - 50px);">
611   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
612   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
613   - </div>
614   - </tr>
615   - </table>
616   - </a>
  648 + </tr>
  649 + <tr>
  650 + <div class="details" style="width: calc(100% - 50px);">
  651 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  652 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  653 + </div>
  654 + </tr>
  655 + </table>
  656 + </a>
  657 + </div>
  658 + </div>
  659 + </div>
  660 + </div>
  661 +
  662 + <!--แท้บใหม่ 7 afterservice-->
  663 + <div class="panel tab-pane" id="tab7">
  664 + <div class="caption">
  665 + <h1 class="icon-bubble font-green-sharp">
  666 + <span class="caption-subject font-green-sharp sbold font"> Active</span>
  667 + </h1>
  668 +
  669 + <div class="input-group" style="float: right; margin-top: 11px;">
  670 + <div class="input-icon right">
  671 + <i class="icon-magnifier">
  672 + </i>
  673 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearch">
  674 + </div>
  675 + </div>
  676 +
  677 + <hr>
  678 + <br>
  679 + </div>
  680 + <div class="panel-body">
  681 + <div class="row">
  682 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData7 | filter:FilterSearch: '' ">
  683 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  684 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  685 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  686 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 22px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  687 + <div class="visual">
  688 + <i class="fa fa-comments"></i>
617 689 </div>
618   - </div>
  690 + <table>
  691 + <tr>
  692 + <div class="details" style="width: calc(100% - 50px);">
  693 + <div style="text-align: right; margin-top: -60px; color: black;">{{item.type}}</div>
  694 + <div style="text-align: right; color: black;">{{item.STATUS}}</div>
  695 + <div class="number" style=" color: black; display: block; text-align: right; margin-top: -7px;">
  696 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
  697 + </div>
  698 + <div class="desc" style=" color: black;">{{item.team}}</div>
  699 + <br>
  700 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
  701 + </div>
  702 + </tr>
  703 + <tr>
  704 + <div class="details" style="width: calc(100% - 50px);">
  705 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  706 + <!-- <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div> -->
  707 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  708 + </div>
  709 + </tr>
  710 + </table>
  711 + </a>
619 712 </div>
  713 + </div>
  714 + </div>
620 715 <br>
621 716 <br>
622 717 <br>
623 718 <br>
624   - <!-- On Hold -->
625   -
626   - <div class="caption">
627   - <h1 class="icon-bubble font-grey-gallery">
628   - <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
629   - </h1>
630   - <div class="input-group" style="float: right; margin-top: 11px;">
631   - <div class="input-icon right">
632   - <i class="icon-magnifier">
633   - </i>
634   - <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
635   - </div>
636   - </div>
637   - <hr>
638   - <br>
  719 + <!-- On Hold -->
  720 +
  721 + <div class="caption">
  722 + <h1 class="icon-bubble font-grey-gallery">
  723 + <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
  724 + </h1>
  725 + <div class="input-group" style="float: right; margin-top: 11px;">
  726 + <div class="input-icon right">
  727 + <i class="icon-magnifier">
  728 + </i>
  729 + <input type="text" placeholder="Search.." class="form-control sbold font" [(ngModel)]="FilterSearchOnHold">
639 730 </div>
640   - <div class="panel-body">
641   - <div class="row">
642   - <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold6 | filter:FilterSearchOnHold: '' ">
643   - <a class="dashboard-stat dashboard-stat-v2 red "
644   - href="{{item.link}}"
645   - target="_blank"
646   - [ngStyle] = "{'background-color': getColorDay(item.days.toFixed(0))}">
647   - <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
648   - <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
649   - <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 26px; text-align: center; font-weight: bold;" >{{item.days.toFixed(0)}}D</div>
650   - <div class="visual">
651   - <i class="fa fa-comments"></i>
  731 + </div>
  732 + <hr>
  733 + <br>
  734 + </div>
  735 + <div class="panel-body">
  736 + <div class="row">
  737 + <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultDataOnHold7 | filter:FilterSearchOnHold: '' ">
  738 + <a class="dashboard-stat dashboard-stat-v2 red " href="{{item.link}}" target="_blank" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}">
  739 + <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
  740 + <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> -->
  741 + <div class="avater" [ngStyle]="{'background-color': getColorDay(item.days.toFixed(0))}" style="font-size: 22px; text-align: center; font-weight: bold;">{{item.days.toFixed(0)}}D</div>
  742 + <div class="visual">
  743 + <i class="fa fa-comments"></i>
  744 + </div>
  745 + <table>
  746 + <tr>
  747 + <div class="details" style="width: calc(100% - 50px);">
  748 + <div style="text-align: right; margin-top: -60px; color: black;">{{item.type}}</div>
  749 + <div style="text-align: right; color: black;">{{item.STATUS}}</div>
  750 + <div class="number" style=" color: black; display: block; text-align: right; margin-top: -7px;">
  751 + <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
652 752 </div>
653   - <table>
654   - <tr>
655   - <div class="details" style="width: calc(100% - 50px);">
656   - <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div>
657   - <div class= "number" style=" color: black; display: block; text-align: right;">
658   - <span data-counter="counterup" data-value="">{{item.custgroupName}}</span>
659   - </div>
660   - <div class="desc" style=" color: black;">{{item.team}}</div><br>
661   - <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
662   - </div>
663   - </tr>
664   - <tr>
665   - <div class="details" style="width: calc(100% - 50px);">
666   - <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
667   - <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
668   - </div>
669   - </tr>
670   - </table>
671   - </a>
  753 + <div class="desc" style=" color: black;">{{item.team}}</div>
  754 + <br>
  755 + <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> -->
672 756 </div>
673   - </div>
  757 + </tr>
  758 + <tr>
  759 + <div class="details" style="width: calc(100% - 50px);">
  760 + <div class="desc" style="text-align: left; color: black; margin-top: 120px;">{{item.COMMENT | short}}</div>
  761 + <!-- <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div> -->
  762 + <div class="a desc" style="text-align: left; color: black;">{{item.COMMENT | font}}</div>
  763 + </div>
  764 + </tr>
  765 + </table>
  766 + </a>
674 767 </div>
  768 + </div>
  769 + </div>
675 770 </div>
676   - </div>
  771 +
  772 + </div>
677 773 </div>
678   -</div>
679   -
680   - <!-- งานเก่า
  774 +</div>
  775 +
  776 +<!-- งานเก่า
681 777 <div class="row">
682 778 <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData">
683 779 <a class="dashboard-stat dashboard-stat-v2 {{item.color}}" href="#">
... ... @@ -697,6 +793,4 @@
697 793  
698 794 </a>
699 795 </div>
700   - </div> -->
701   -
702   -
  796 + </div> -->
703 797 \ No newline at end of file
... ...
src/app/dashboard/dashboard.component.ts
... ... @@ -62,6 +62,10 @@ export class DashboardComponent implements OnInit {
62 62 resultNum6:number = 0;
63 63 resultDataOnHold6: any;
64 64  
  65 + resultData7: any;
  66 + resultNum7:number = 0;
  67 + resultDataOnHold7: any;
  68 +
65 69  
66 70 async ngOnInit() {
67 71 //----------------------------1------------------------
... ... @@ -414,6 +418,64 @@ export class DashboardComponent implements OnInit {
414 418 setInterval(async() => {
415 419 await this.getDataOnHold6();
416 420 }, 600000);
  421 +
  422 + // ----------------------------7------------------------
  423 + try {
  424 + const data7 = {
  425 + // tslint:disable-next-line:max-line-length
  426 + 'query': 'SELECT vtiger_account.accountname AS custgroupName , vtiger_troubletickets.ticketid AS id , IF( vtiger_groups.groupname IS NOT NULL , vtiger_groups.groupname , vu.user_name) AS team , vtiger_troubletickets.title , vtiger_troubletickets. STATUS , vtiger_troubletickets.priority , CONCAT( \'http%3A%2F%2Fvtiger.sourcecode.co.th%2Findex.php%3Faction%3DDetailView%26module%3DHelpDesk%26parenttab%3DSupport%26record%3D\' , vtiger_troubletickets.ticketid) AS link ,( SELECT CONCAT( xx.createdtime , \' : \' , xx.comments) FROM vtiger_ticketcomments xx WHERE xx.ticketid = vtiger_troubletickets.ticketid ORDER BY xx.createdtime DESC LIMIT 1) AS COMMENT , CASE vtiger_troubletickets. STATUS WHEN \'Closed\' THEN( unix_timestamp(vtiger_crmentity.modifiedtime) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 ELSE( unix_timestamp(now()) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 END AS days , vtiger_ticketcf.cf_568 AS type , IFNULL(( SELECT \'Wait for response by\' FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , \'Created by\') userType , IFNULL(( SELECT concat(\'\' , assigned_by , \'\') FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , vtiger_users.user_name) username , vtiger_crmentity.description , vtiger_crmentity.createdtime , vtiger_crmentity.modifiedtime , vtiger_cf_568.cf_568id FROM vtiger_crmentity JOIN vtiger_users ON vtiger_users.id = vtiger_crmentity.smcreatorid JOIN vtiger_troubletickets ON vtiger_crmentity.crmid = vtiger_troubletickets.ticketid JOIN vtiger_account ON vtiger_account.accountid = vtiger_troubletickets.parent_id JOIN vtiger_ticketcf ON vtiger_ticketcf.ticketid = vtiger_troubletickets.ticketid JOIN vtiger_cf_568 ON vtiger_cf_568.cf_568 = vtiger_ticketcf.cf_568 LEFT OUTER JOIN vtiger_groups ON vtiger_crmentity.smownerid = vtiger_groups.groupid LEFT OUTER JOIN vtiger_users vu ON vtiger_crmentity.smownerid = vu.id WHERE 1 AND vtiger_crmentity.setype = \'HelpDesk\' AND vtiger_crmentity.deleted = 0 AND vtiger_ticketcf.cf_568 != \'\' AND vtiger_cf_568.cf_568id NOT IN(8 , 9 , 10) AND( LCASE(vtiger_cf_568.cf_568) != \'set (ติดตั้ง)\' AND LCASE(vtiger_troubletickets. STATUS) NOT IN(\'closed\' , \'Wait For Customer\')) GROUP BY vtiger_troubletickets.ticketid ORDER BY vtiger_crmentity.createdtime ASC LIMIT 0 , 100',
  427 + 'params': ['vtiger_crmentity']
  428 + };
  429 + const response = await this._apiService.post('dynamic', data7);
  430 + if (response !== null) {
  431 + this.resultData7 = response;
  432 + this.resultData7.link = decodeURIComponent(decodeURIComponent(this.resultData7.link));
  433 + console.log('link: ', this.resultData6.link);
  434 + // tslint:disable-next-line:forin
  435 + for (const i in this.resultData7) {
  436 + this.resultData7[i].link = this._common.decodeURI(this.resultData7[i].link);
  437 + this.resultData7[i].birth_date = this._common.convertDate(this.resultData7[i].birth_date);
  438 + this.resultNum7 = this.resultData7.length;
  439 + }
  440 + } else {
  441 + this.resultData7 = [];
  442 + }
  443 + } catch (error) {
  444 + console.log(error);
  445 + }
  446 +
  447 + setInterval(async() => {
  448 + await this.getData7();
  449 + }, 600000);
  450 +
  451 +
  452 + // OnHold
  453 + try {
  454 + const dataOnHold7 = {
  455 + // tslint:disable-next-line:max-line-length
  456 + 'query': 'SELECT vtiger_account.accountname AS custgroupName , vtiger_troubletickets.ticketid AS id , IF( vtiger_groups.groupname IS NOT NULL , vtiger_groups.groupname , vu.user_name) AS team , vtiger_troubletickets.title , vtiger_troubletickets. STATUS , vtiger_troubletickets.priority , CONCAT( \'http%3A%2F%2Fvtiger.sourcecode.co.th%2Findex.php%3Faction%3DDetailView%26module%3DHelpDesk%26parenttab%3DSupport%26record%3D\' , vtiger_troubletickets.ticketid) AS link ,( SELECT CONCAT( xx.createdtime , \' : \' , xx.comments) FROM vtiger_ticketcomments xx WHERE xx.ticketid = vtiger_troubletickets.ticketid ORDER BY xx.createdtime DESC LIMIT 1) AS COMMENT , CASE vtiger_troubletickets. STATUS WHEN \'Closed\' THEN( unix_timestamp(vtiger_crmentity.modifiedtime) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 ELSE( unix_timestamp(now()) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 END AS days , vtiger_ticketcf.cf_568 AS type , IFNULL(( SELECT \'Wait for response by\' FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , \'Created by\') userType , IFNULL(( SELECT concat(\'\' , assigned_by , \'\') FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , vtiger_users.user_name) username , vtiger_crmentity.description , vtiger_crmentity.createdtime , vtiger_crmentity.modifiedtime , vtiger_cf_568.cf_568id FROM vtiger_crmentity JOIN vtiger_users ON vtiger_users.id = vtiger_crmentity.smcreatorid JOIN vtiger_troubletickets ON vtiger_crmentity.crmid = vtiger_troubletickets.ticketid JOIN vtiger_account ON vtiger_account.accountid = vtiger_troubletickets.parent_id JOIN vtiger_ticketcf ON vtiger_ticketcf.ticketid = vtiger_troubletickets.ticketid JOIN vtiger_cf_568 ON vtiger_cf_568.cf_568 = vtiger_ticketcf.cf_568 LEFT OUTER JOIN vtiger_groups ON vtiger_crmentity.smownerid = vtiger_groups.groupid LEFT OUTER JOIN vtiger_users vu ON vtiger_crmentity.smownerid = vu.id WHERE 1 AND vtiger_crmentity.setype = \'HelpDesk\' AND vtiger_crmentity.deleted = 0 AND vtiger_ticketcf.cf_568 != \'\' AND vtiger_cf_568.cf_568id NOT IN(8 , 9 , 10) AND( LCASE(vtiger_cf_568.cf_568) != \'set (ติดตั้ง)\' AND LCASE(vtiger_troubletickets. STATUS) IN(\'Wait For Customer\')) GROUP BY vtiger_troubletickets.ticketid ORDER BY vtiger_crmentity.createdtime ASC LIMIT 0 , 100',
  457 + 'params': ['vtiger_crmentity']
  458 + };
  459 + const response = await this._apiService.post('dynamic', dataOnHold7);
  460 + if (response !== null) {
  461 + this.resultDataOnHold7 = response;
  462 + this.resultDataOnHold7.link = decodeURIComponent(decodeURIComponent(this.resultDataOnHold7.link));
  463 + console.log('link: ', this.resultDataOnHold7.link);
  464 + // tslint:disable-next-line:forin
  465 + for (const i in this.resultDataOnHold7) {
  466 + this.resultDataOnHold7[i].link = this._common.decodeURI(this.resultDataOnHold7[i].link);
  467 + this.resultDataOnHold7[i].birth_date = this._common.convertDate(this.resultDataOnHold7[i].birth_date);
  468 + }
  469 + } else {
  470 + this.resultDataOnHold7 = [];
  471 + }
  472 + } catch (error) {
  473 + console.log(error);
  474 + }
  475 +
  476 + setInterval(async() => {
  477 + await this.getDataOnHold7();
  478 + }, 600000);
417 479 }
418 480  
419 481 /////////////Get data come to use//////////////////////
... ... @@ -729,4 +791,57 @@ async getDataOnHold6() {
729 791 console.log(error);
730 792 }
731 793 }
  794 +
  795 +// ----------------------------7------------------------
  796 + // Active
  797 + async getData7() {
  798 + try {
  799 + const data7 = {
  800 + // tslint:disable-next-line:max-line-length
  801 + 'query': 'SELECT vtiger_account.accountname AS custgroupName , vtiger_troubletickets.ticketid AS id , IF( vtiger_groups.groupname IS NOT NULL , vtiger_groups.groupname , vu.user_name) AS team , vtiger_troubletickets.title , vtiger_troubletickets. STATUS , vtiger_troubletickets.priority , CONCAT( \'http%3A%2F%2Fvtiger.sourcecode.co.th%2Findex.php%3Faction%3DDetailView%26module%3DHelpDesk%26parenttab%3DSupport%26record%3D\' , vtiger_troubletickets.ticketid) AS link ,( SELECT CONCAT( xx.createdtime , \' : \' , xx.comments) FROM vtiger_ticketcomments xx WHERE xx.ticketid = vtiger_troubletickets.ticketid ORDER BY xx.createdtime DESC LIMIT 1) AS COMMENT , CASE vtiger_troubletickets. STATUS WHEN \'Closed\' THEN( unix_timestamp(vtiger_crmentity.modifiedtime) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 ELSE( unix_timestamp(now()) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 END AS days , vtiger_ticketcf.cf_568 AS type , IFNULL(( SELECT \'Wait for response by\' FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , \'Created by\') userType , IFNULL(( SELECT concat(\'\' , assigned_by , \'\') FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , vtiger_users.user_name) username , vtiger_crmentity.description , vtiger_crmentity.createdtime , vtiger_crmentity.modifiedtime , vtiger_cf_568.cf_568id FROM vtiger_crmentity JOIN vtiger_users ON vtiger_users.id = vtiger_crmentity.smcreatorid JOIN vtiger_troubletickets ON vtiger_crmentity.crmid = vtiger_troubletickets.ticketid JOIN vtiger_account ON vtiger_account.accountid = vtiger_troubletickets.parent_id JOIN vtiger_ticketcf ON vtiger_ticketcf.ticketid = vtiger_troubletickets.ticketid JOIN vtiger_cf_568 ON vtiger_cf_568.cf_568 = vtiger_ticketcf.cf_568 LEFT OUTER JOIN vtiger_groups ON vtiger_crmentity.smownerid = vtiger_groups.groupid LEFT OUTER JOIN vtiger_users vu ON vtiger_crmentity.smownerid = vu.id WHERE 1 AND vtiger_crmentity.setype = \'HelpDesk\' AND vtiger_crmentity.deleted = 0 AND vtiger_ticketcf.cf_568 != \'\' AND vtiger_cf_568.cf_568id NOT IN(8 , 9 , 10) AND( LCASE(vtiger_cf_568.cf_568) != \'set (ติดตั้ง)\' AND LCASE(vtiger_troubletickets. STATUS) NOT IN(\'closed\' , \'Wait For Customer\')) GROUP BY vtiger_troubletickets.ticketid ORDER BY vtiger_crmentity.createdtime ASC LIMIT 0 , 100',
  802 + 'params': ['vtiger_crmentity']
  803 + };
  804 + const response = await this._apiService.post('dynamic', data7);
  805 + if (response !== null) {
  806 + this.resultData7 = response;
  807 + this.resultData7.link = decodeURIComponent(decodeURIComponent(this.resultData7.link));
  808 + console.log('link: ', this.resultData7.link);
  809 + // tslint:disable-next-line:forin
  810 + for (const i in this.resultData7) {
  811 + this.resultData7[i].link = this._common.decodeURI(this.resultData7[i].link);
  812 + this.resultData7[i].birth_date = this._common.convertDate(this.resultData7[i].birth_date);
  813 + }
  814 + } else {
  815 + this.resultData7 = [];
  816 + }
  817 + } catch (error) {
  818 + console.log(error);
  819 + }
  820 +}
  821 +// On Hold
  822 +async getDataOnHold7() {
  823 + try {
  824 + const dataOnHold7 = {
  825 + // tslint:disable-next-line:max-line-length
  826 + 'query': 'SELECT vtiger_account.accountname AS custgroupName , vtiger_troubletickets.ticketid AS id , IF( vtiger_groups.groupname IS NOT NULL , vtiger_groups.groupname , vu.user_name) AS team , vtiger_troubletickets.title , vtiger_troubletickets. STATUS , vtiger_troubletickets.priority , CONCAT( \'http%3A%2F%2Fvtiger.sourcecode.co.th%2Findex.php%3Faction%3DDetailView%26module%3DHelpDesk%26parenttab%3DSupport%26record%3D\' , vtiger_troubletickets.ticketid) AS link ,( SELECT CONCAT( xx.createdtime , \' : \' , xx.comments) FROM vtiger_ticketcomments xx WHERE xx.ticketid = vtiger_troubletickets.ticketid ORDER BY xx.createdtime DESC LIMIT 1) AS COMMENT , CASE vtiger_troubletickets. STATUS WHEN \'Closed\' THEN( unix_timestamp(vtiger_crmentity.modifiedtime) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 ELSE( unix_timestamp(now()) - unix_timestamp(vtiger_crmentity.createdtime)) / 86400 END AS days , vtiger_ticketcf.cf_568 AS type , IFNULL(( SELECT \'Wait for response by\' FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , \'Created by\') userType , IFNULL(( SELECT concat(\'\' , assigned_by , \'\') FROM vtiger_ticket_history WHERE vtiger_troubletickets.ticketid = vtiger_ticket_history.ticketid AND assigned_type = \'Wait for response\' ORDER BY updatetime DESC LIMIT 0 , 1) , vtiger_users.user_name) username , vtiger_crmentity.description , vtiger_crmentity.createdtime , vtiger_crmentity.modifiedtime , vtiger_cf_568.cf_568id FROM vtiger_crmentity JOIN vtiger_users ON vtiger_users.id = vtiger_crmentity.smcreatorid JOIN vtiger_troubletickets ON vtiger_crmentity.crmid = vtiger_troubletickets.ticketid JOIN vtiger_account ON vtiger_account.accountid = vtiger_troubletickets.parent_id JOIN vtiger_ticketcf ON vtiger_ticketcf.ticketid = vtiger_troubletickets.ticketid JOIN vtiger_cf_568 ON vtiger_cf_568.cf_568 = vtiger_ticketcf.cf_568 LEFT OUTER JOIN vtiger_groups ON vtiger_crmentity.smownerid = vtiger_groups.groupid LEFT OUTER JOIN vtiger_users vu ON vtiger_crmentity.smownerid = vu.id WHERE 1 AND vtiger_crmentity.setype = \'HelpDesk\' AND vtiger_crmentity.deleted = 0 AND vtiger_ticketcf.cf_568 != \'\' AND vtiger_cf_568.cf_568id NOT IN(8 , 9 , 10) AND( LCASE(vtiger_cf_568.cf_568) != \'set (ติดตั้ง)\' AND LCASE(vtiger_troubletickets. STATUS) IN(\'Wait For Customer\')) GROUP BY vtiger_troubletickets.ticketid ORDER BY vtiger_crmentity.createdtime ASC LIMIT 0 , 100',
  827 + 'params': ['vtiger_crmentity']
  828 + };
  829 + const response = await this._apiService.post('dynamic', dataOnHold7);
  830 + if (response !== null) {
  831 + this.resultDataOnHold7 = response;
  832 + this.resultDataOnHold7.link = decodeURIComponent(decodeURIComponent(this.resultDataOnHold7.link));
  833 + console.log('link: ', this.resultDataOnHold7.link);
  834 + // tslint:disable-next-line:forin
  835 + for (const i in this.resultDataOnHold7) {
  836 + this.resultDataOnHold7[i].link = this._common.decodeURI(this.resultDataOnHold7[i].link);
  837 + this.resultDataOnHold7[i].birth_date = this._common.convertDate(this.resultDataOnHold7[i].birth_date);
  838 + }
  839 + } else {
  840 + this.resultDataOnHold7 = [];
  841 + }
  842 + } catch (error) {
  843 + console.log(error);
  844 + }
  845 +}
  846 +
732 847 }
733 848 \ No newline at end of file
... ...
src/app/dashboard/filter.pipe.ts
... ... @@ -29,6 +29,9 @@ export class FilterPipe implements PipeTransform {
29 29 if(item['STATUS']){
30 30 st += item['STATUS'].toLowerCase();
31 31 }
  32 + if(item['type']){
  33 + st += item['type'].toLowerCase();
  34 + }
32 35  
33 36 var string2 = filterString.toLowerCase();
34 37 if (st.indexOf(string2) > -1) {
... ...