Commit 2d0f0ca8165743c605c6a88af2c6fddbe21fd109
1 parent
7c0732bd
Exists in
master
เพิ่ม tap typeapi type search
ซ่อน tap
Showing
3 changed files
with
661 additions
and
449 deletions
Show diff stats
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) { | ... | ... |