diff --git a/src/app/dashboard/dashboard.component.html b/src/app/dashboard/dashboard.component.html
index 41318c2..59f76aa 100644
--- a/src/app/dashboard/dashboard.component.html
+++ b/src/app/dashboard/dashboard.component.html
@@ -65,8 +65,15 @@
-
+
+
+
+
+
diff --git a/src/app/dashboard/dashboard.component.ts b/src/app/dashboard/dashboard.component.ts
index 67e3c31..c3bdd3e 100644
--- a/src/app/dashboard/dashboard.component.ts
+++ b/src/app/dashboard/dashboard.component.ts
@@ -74,23 +74,49 @@ export class DashboardComponent implements OnInit {
resultDataOnHold9: any;
Show1: any = [];
+ Show1Depart: any = [];
Show1Onhold: any = [];
+ Show1DepartOnhold: any = [];
+
Show2: any = [];
+ Show2Depart: any = [];
Show2Onhold: any = [];
+ Show2DepartOnhold: any = [];
+
Show3: any = [];
+ Show3Depart: any = [];
Show3Onhold: any = [];
+ Show3DepartOnhold: any = [];
+
Show4: any = [];
+ Show4Depart: any = [];
Show4Onhold: any = [];
+ Show4DepartOnhold: any = [];
+
Show5: any = [];
+ Show5Depart: any = [];
Show5Onhold: any = [];
+ Show5DepartOnhold: any = [];
+
Show6: any = [];
+ Show6Depart: any = [];
Show6Onhold: any = [];
+ Show6DepartOnhold: any = [];
+
Show7: any = [];
+ Show7Depart: any = [];
Show7Onhold: any = [];
+ Show7DepartOnhold: any = [];
+
Show8: any = [];
+ Show8Depart: any = [];
Show8Onhold: any = [];
+ Show8DepartOnhold: any = [];
+
Show9: any = [];
+ Show9Depart: any = [];
Show9Onhold: any = [];
+ Show9DepartOnhold: any = [];
ShowNull: any = [];
@@ -330,6 +356,50 @@ export class DashboardComponent implements OnInit {
}
];
+ // tslint:disable-next-line:member-ordering
+ ButtonValueDepart = [
+ {
+ id: 1,
+ name: 'All',
+ valueN: ''
+ },
+ {
+ id: 2,
+ name: 'BD',
+ valueN: 'bd'
+ },
+ {
+ id: 3,
+ name: 'R&P',
+ valueN: 'r&p'
+ },
+ {
+ id: 4,
+ name: 'Admin',
+ valueN: 'admin'
+ },
+ {
+ id: 5,
+ name: 'SmartIT',
+ valueN: 'smartit'
+ },
+ {
+ id: 6,
+ name: 'Purchasing',
+ valueN: 'purchasing'
+ },
+ {
+ id: 7,
+ name: 'Contact Center',
+ valueN: 'contact center'
+ },
+ {
+ id: 8,
+ name: 'Customer Service',
+ valueN: 'customer service'
+ }
+ ];
+
showSecret: boolean = false;
showSecret1: boolean = false;
showSecret2: boolean = false;
@@ -356,8 +426,8 @@ export class DashboardComponent implements OnInit {
try {
const data = {
// tslint:disable-next-line:max-line-length
- "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 ,( unix_timestamp(now()) - unix_timestamp(vtiger_crmentity.modifiedtime)) / 86400 AS days2 , concat( vtiger_ticketcf.cf_568 , ' (' , vtiger_cf_568.day_amount , ')') 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 , vu.department 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 ",
- "params": ["vtiger_crmentity"]
+ '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 ,( unix_timestamp(now()) - unix_timestamp(vtiger_crmentity.modifiedtime)) / 86400 AS days2 , concat( vtiger_ticketcf.cf_568 , \' (\' , vtiger_cf_568.day_amount , \')\') 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 , vu.department 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 ',
+ 'params': ['vtiger_crmentity']
};
const response = await this._apiService.post('dynamic', data);
if (response !== null) {
@@ -370,6 +440,7 @@ export class DashboardComponent implements OnInit {
this.resultData[i].birth_date = this._common.convertDate(this.resultData[i].birth_date);
this.resultNum = this.resultData.length;
this.Show1.push(this.resultData[i]);
+ this.Show1Depart.push(this.resultData[i]);
}
} else {
@@ -402,9 +473,11 @@ export class DashboardComponent implements OnInit {
this.resultDataOnHold[i].link = this._common.decodeURI(this.resultDataOnHold[i].link);
this.resultDataOnHold[i].birth_date = this._common.convertDate(this.resultDataOnHold[i].birth_date);
this.Show1Onhold.push(this.resultDataOnHold[i]);
+ this.Show1DepartOnhold.push(this.resultDataOnHold[i]);
}
} else {
this.resultDataOnHold = [];
+ this.showSecret = !this.showSecret;
}
} catch (error) {
// console.log(error);
@@ -930,6 +1003,7 @@ setInterval(async () => {
});
for (let i = 0; i < t9.length; i++) {
+ // tslint:disable-next-line:no-shadowed-variable
const obj = {
name: '',
value: 0
@@ -1027,7 +1101,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1044,6 +1118,42 @@ setInterval(async () => {
this.resultData = resultArray;
// console.log(this.resultData);
}
+
+ getButton1Depart(valueN) {
+ console.log(valueN);
+
+ if (this.Show1Depart.length === 0) {
+ return this.Show1Depart;
+ }
+
+ const resultArray = [];
+ for (const item of this.Show1Depart) {
+ // console.log('item: ', item);
+
+ let st = '';
+
+ if (item['department']) {
+ st = item['department'].toLowerCase();
+ }
+
+ const string2 = valueN.toLowerCase();
+ if (st.startsWith(string2)) {
+ console.log(st);
+ resultArray.push(item);
+ }
+
+ }
+ if (resultArray.length === 0) {
+ if (valueN !== '') {
+ this.showSecret1 = true;
+ }
+ } else if (resultArray.length > 0) {
+ this.showSecret1 = false;
+ }
+ this.resultData = resultArray;
+
+ }
+
/* buttondataOnhold1 */
getButton1Onhold(valueN) {
console.log(valueN);
@@ -1057,7 +1167,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1074,6 +1183,41 @@ setInterval(async () => {
}
+ getButton1DepartOnhold(valueN) {
+ console.log(valueN);
+
+ if (this.Show1DepartOnhold.length === 0) {
+ return this.Show1DepartOnhold;
+ }
+
+ const resultArray = [];
+ for (const item of this.Show1DepartOnhold) {
+ // console.log('item: ', item);
+
+ let st = '';
+
+ if (item['department']) {
+ st = item['department'].toLowerCase();
+ }
+
+ const string2 = valueN.toLowerCase();
+ if (st.startsWith(string2)) {
+ console.log(st);
+ resultArray.push(item);
+ }
+
+ }
+ if (resultArray.length === 0) {
+ if (valueN !== '') {
+ this.showSecret2 = true;
+ }
+ } else if (resultArray.length > 0) {
+ this.showSecret2 = false;
+ }
+ this.resultDataOnHold = resultArray;
+
+ }
+
getButton2(valueN) {
console.log(valueN);
@@ -1086,7 +1230,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1115,7 +1258,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1143,7 +1285,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1172,7 +1313,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1200,7 +1340,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1229,7 +1368,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1257,7 +1395,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1273,7 +1410,7 @@ setInterval(async () => {
this.resultData5 = resultArray;
}
- /* buttondataOnhold1 */
+ /* buttondataOnhold5 */
getButton5Onhold(valueN) {
console.log(valueN);
@@ -1286,7 +1423,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1314,7 +1450,6 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1349,7 +1484,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1377,7 +1512,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1412,7 +1547,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1447,7 +1582,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1482,7 +1617,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1556,7 +1691,7 @@ setInterval(async () => {
// console.log('item: ', item);
let st = '';
- // st = item['team'].toLowerCase() + item['COMMENT'].toLowerCase() + item['custgroupName'].toLowerCase() + item['STATUS'].toLowerCase() ;
+
if (item['type']) {
st = item['type'].toLowerCase();
}
@@ -1965,7 +2100,7 @@ setInterval(async () => {
for (const i in this.resultData8) {
this.resultData8[i].link = this._common.decodeURI(this.resultData8[i].link);
this.resultData8[i].birth_date = this._common.convertDate(this.resultData8[i].birth_date);
- this.Show7.push(this.resultData8[i]);
+ this.Show8.push(this.resultData8[i]);
}
} else {
this.resultData8 = [];
--
libgit2 0.21.2