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 <div class="portlet-body"> 3 <div class="portlet-body">
5 <div class="tabbable-custom nav-justified"> 4 <div class="tabbable-custom nav-justified">
6 <ul class="nav nav-tabs"> 5 <ul class="nav nav-tabs">
7 <li class="active sbold font"> 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 </li> 10 </li>
10 <li class="sbold"> 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 <a href="#tab2" data-toggle="tab" aria-expanded="false">RND <span class="badge"> {{resultNum2}} </span></a> 17 <a href="#tab2" data-toggle="tab" aria-expanded="false">RND <span class="badge"> {{resultNum2}} </span></a>
12 </li> 18 </li>
13 <li class="sbold"> 19 <li class="sbold">
@@ -21,7 +27,7 @@ @@ -21,7 +27,7 @@
21 </li> 27 </li>
22 <li class="sbold"> 28 <li class="sbold">
23 <a href="#tab6" data-toggle="tab" aria-expanded="false">CUS <span class="badge"> {{resultNum6}} </span></a> 29 <a href="#tab6" data-toggle="tab" aria-expanded="false">CUS <span class="badge"> {{resultNum6}} </span></a>
24 - </li> 30 + </li>-->
25 </ul> 31 </ul>
26 <div class="tab-content"> 32 <div class="tab-content">
27 <div class="panel tab-pane active" id="tab1"> 33 <div class="panel tab-pane active" id="tab1">
@@ -30,38 +36,37 @@ @@ -30,38 +36,37 @@
30 <span class="caption-subject font-green-sharp sbold font"> Active</span> 36 <span class="caption-subject font-green-sharp sbold font"> Active</span>
31 </h1> 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 </div> 44 </div>
40 - 45 + </div>
  46 +
41 <hr> 47 <hr>
42 <br> 48 <br>
43 </div> 49 </div>
44 <div class="panel-body"> 50 <div class="panel-body">
45 <div class="row"> 51 <div class="row">
46 <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData | filter:FilterSearch: '' "> 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 <div class="visual"> 57 <div class="visual">
55 <i class="fa fa-comments"></i> 58 <i class="fa fa-comments"></i>
56 </div> 59 </div>
57 <table> 60 <table>
58 <tr> 61 <tr>
59 <div class="details" style="width: calc(100% - 50px);"> 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 <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> --> 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 </div> 71 </div>
67 </tr> 72 </tr>
@@ -77,12 +82,12 @@ @@ -77,12 +82,12 @@
77 </div> 82 </div>
78 </div> 83 </div>
79 </div> 84 </div>
80 - <br>  
81 - <br>  
82 - <br>  
83 - <br> 85 + <br>
  86 + <br>
  87 + <br>
  88 + <br>
84 <!-- On Hold --> 89 <!-- On Hold -->
85 - 90 +
86 <div class="caption"> 91 <div class="caption">
87 <h1 class="icon-bubble font-grey-gallery"> 92 <h1 class="icon-bubble font-grey-gallery">
88 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span> 93 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
@@ -99,37 +104,37 @@ @@ -99,37 +104,37 @@
99 </div> 104 </div>
100 <div class="panel-body"> 105 <div class="panel-body">
101 <div class="row"> 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 </div> 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 </div> 138 </div>
134 </div> 139 </div>
135 </div> 140 </div>
@@ -139,27 +144,24 @@ @@ -139,27 +144,24 @@
139 <span class="caption-subject font-green-sharp sbold font"> Active</span> 144 <span class="caption-subject font-green-sharp sbold font"> Active</span>
140 </h1> 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 </div> 152 </div>
149 - 153 + </div>
  154 +
150 <hr> 155 <hr>
151 <br> 156 <br>
152 </div> 157 </div>
153 <div class="panel-body"> 158 <div class="panel-body">
154 <div class="row"> 159 <div class="row">
155 <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData2 | filter:FilterSearch: '' "> 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 <div class="visual"> 165 <div class="visual">
164 <i class="fa fa-comments"></i> 166 <i class="fa fa-comments"></i>
165 </div> 167 </div>
@@ -167,10 +169,11 @@ @@ -167,10 +169,11 @@
167 <tr> 169 <tr>
168 <div class="details" style="width: calc(100% - 50px);"> 170 <div class="details" style="width: calc(100% - 50px);">
169 <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div> 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 <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> --> 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 </div> 178 </div>
176 </tr> 179 </tr>
@@ -185,12 +188,12 @@ @@ -185,12 +188,12 @@
185 </div> 188 </div>
186 </div> 189 </div>
187 </div> 190 </div>
188 - <br>  
189 - <br>  
190 - <br>  
191 - <br> 191 + <br>
  192 + <br>
  193 + <br>
  194 + <br>
192 <!-- On Hold --> 195 <!-- On Hold -->
193 - 196 +
194 <div class="caption"> 197 <div class="caption">
195 <h1 class="icon-bubble font-grey-gallery"> 198 <h1 class="icon-bubble font-grey-gallery">
196 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span> 199 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
@@ -207,37 +210,35 @@ @@ -207,37 +210,35 @@
207 </div> 210 </div>
208 <div class="panel-body"> 211 <div class="panel-body">
209 <div class="row"> 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 </div> 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 </div> 242 </div>
242 </div> 243 </div>
243 </div> 244 </div>
@@ -247,27 +248,24 @@ @@ -247,27 +248,24 @@
247 <span class="caption-subject font-green-sharp sbold font"> Active</span> 248 <span class="caption-subject font-green-sharp sbold font"> Active</span>
248 </h1> 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 </div> 256 </div>
257 - 257 + </div>
  258 +
258 <hr> 259 <hr>
259 <br> 260 <br>
260 </div> 261 </div>
261 <div class="panel-body"> 262 <div class="panel-body">
262 <div class="row"> 263 <div class="row">
263 <div class="col-lg-4 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData3 | filter:FilterSearch: '' "> 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 <div class="visual"> 269 <div class="visual">
272 <i class="fa fa-comments"></i> 270 <i class="fa fa-comments"></i>
273 </div> 271 </div>
@@ -275,10 +273,11 @@ @@ -275,10 +273,11 @@
275 <tr> 273 <tr>
276 <div class="details" style="width: calc(100% - 50px);"> 274 <div class="details" style="width: calc(100% - 50px);">
277 <div style="text-align: right; margin-top: -50px; color: black;">{{item.STATUS}}</div> 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 <!-- <div class="desc" style="text-align: left; text-align: bottom; color: black;">{{(item.COMMENT > 20)? | (item.COMMENT | slice:0:20) + '....':(item.COMMENT)}}</div> --> 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 </div> 282 </div>
284 </tr> 283 </tr>
@@ -293,12 +292,12 @@ @@ -293,12 +292,12 @@
293 </div> 292 </div>
294 </div> 293 </div>
295 </div> 294 </div>
296 - <br>  
297 - <br>  
298 - <br>  
299 - <br> 295 + <br>
  296 + <br>
  297 + <br>
  298 + <br>
300 <!-- On Hold --> 299 <!-- On Hold -->
301 - 300 +
302 <div class="caption"> 301 <div class="caption">
303 <h1 class="icon-bubble font-grey-gallery"> 302 <h1 class="icon-bubble font-grey-gallery">
304 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span> 303 <span class="caption-subject font-grey-gallery sbold font"> On Hold</span>
@@ -315,369 +314,466 @@ @@ -315,369 +314,466 @@
315 </div> 314 </div>
316 <div class="panel-body"> 315 <div class="panel-body">
317 <div class="row"> 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 </div> 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 </div> 346 </div>
350 </div> 347 </div>
351 </div> 348 </div>
352 <div class="panel tab-pane" id="tab4"> 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 </div> 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 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> --> 370 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
377 <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> --> 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 </div> 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 </div> 396 </div>
  397 + </div>
  398 + </div>
404 <br> 399 <br>
405 <br> 400 <br>
406 <br> 401 <br>
407 <br> 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 </div> 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 </div> 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 </div> 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 </div> 449 </div>
  450 + </div>
  451 + </div>
459 </div> 452 </div>
460 <div class="panel tab-pane" id="tab5"> 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 </div> 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 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> --> 474 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
485 <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> --> 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 </div> 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 </div> 500 </div>
  501 + </div>
  502 + </div>
512 <br> 503 <br>
513 <br> 504 <br>
514 <br> 505 <br>
515 <br> 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 </div> 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 </div> 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 </div> 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 </div> 553 </div>
  554 + </div>
  555 + </div>
567 </div> 556 </div>
568 <div class="panel tab-pane" id="tab6"> 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 </div> 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 </div> 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 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> --> 631 <!-- <div [ngStyle]="{'background-color':item.days === '366.0098' ? 'green' : 'red' }"></<div> -->
593 <!-- <div class="avater">{{(item.days).toFixed(0)}} D</div> --> 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 </div> 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 </div> 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 </div> 712 </div>
  713 + </div>
  714 + </div>
620 <br> 715 <br>
621 <br> 716 <br>
622 <br> 717 <br>
623 <br> 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 </div> 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 </div> 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 </div> 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 </div> 767 </div>
  768 + </div>
  769 + </div>
675 </div> 770 </div>
676 - </div> 771 +
  772 + </div>
677 </div> 773 </div>
678 -</div>  
679 -  
680 - <!-- งานเก่า 774 +</div>
  775 +
  776 +<!-- งานเก่า
681 <div class="row"> 777 <div class="row">
682 <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData"> 778 <div class="col-lg-3 col-md-3 col-sm-6 col-xs-12" *ngFor="let item of resultData">
683 <a class="dashboard-stat dashboard-stat-v2 {{item.color}}" href="#"> 779 <a class="dashboard-stat dashboard-stat-v2 {{item.color}}" href="#">
@@ -697,6 +793,4 @@ @@ -697,6 +793,4 @@
697 793
698 </a> 794 </a>
699 </div> 795 </div>
700 - </div> -->  
701 -  
702 - 796 + </div> -->
703 \ No newline at end of file 797 \ No newline at end of file
src/app/dashboard/dashboard.component.ts
@@ -62,6 +62,10 @@ export class DashboardComponent implements OnInit { @@ -62,6 +62,10 @@ export class DashboardComponent implements OnInit {
62 resultNum6:number = 0; 62 resultNum6:number = 0;
63 resultDataOnHold6: any; 63 resultDataOnHold6: any;
64 64
  65 + resultData7: any;
  66 + resultNum7:number = 0;
  67 + resultDataOnHold7: any;
  68 +
65 69
66 async ngOnInit() { 70 async ngOnInit() {
67 //----------------------------1------------------------ 71 //----------------------------1------------------------
@@ -414,6 +418,64 @@ export class DashboardComponent implements OnInit { @@ -414,6 +418,64 @@ export class DashboardComponent implements OnInit {
414 setInterval(async() => { 418 setInterval(async() => {
415 await this.getDataOnHold6(); 419 await this.getDataOnHold6();
416 }, 600000); 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 /////////////Get data come to use////////////////////// 481 /////////////Get data come to use//////////////////////
@@ -729,4 +791,57 @@ async getDataOnHold6() { @@ -729,4 +791,57 @@ async getDataOnHold6() {
729 console.log(error); 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 \ No newline at end of file 848 \ No newline at end of file
src/app/dashboard/filter.pipe.ts
@@ -29,6 +29,9 @@ export class FilterPipe implements PipeTransform { @@ -29,6 +29,9 @@ export class FilterPipe implements PipeTransform {
29 if(item['STATUS']){ 29 if(item['STATUS']){
30 st += item['STATUS'].toLowerCase(); 30 st += item['STATUS'].toLowerCase();
31 } 31 }
  32 + if(item['type']){
  33 + st += item['type'].toLowerCase();
  34 + }
32 35
33 var string2 = filterString.toLowerCase(); 36 var string2 = filterString.toLowerCase();
34 if (st.indexOf(string2) > -1) { 37 if (st.indexOf(string2) > -1) {