Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in / Register
Toggle navigation
N
nobu-web-v2
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
ari_darmawan
nobu-web-v2
Commits
5d33b150
Commit
5d33b150
authored
Aug 30, 2022
by
ari_darmawan
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
export excel dinamis
parent
e036f1b5
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
130 additions
and
15 deletions
+130
-15
admin-ticket-create.component.css
...ket/admin-ticket-create/admin-ticket-create.component.css
+5
-0
admin-ticket-create.component.html
...et/admin-ticket-create/admin-ticket-create.component.html
+1
-1
admin-ticket-customer-md.component.html
...icket-customer-md/admin-ticket-customer-md.component.html
+77
-11
admin-ticket-customer-md.component.ts
...-ticket-customer-md/admin-ticket-customer-md.component.ts
+31
-2
admin-ticket-detail.component.css
...ket/admin-ticket-detail/admin-ticket-detail.component.css
+5
-0
configAPI.json
src/assets/configAPI.json
+1
-1
service-proxy.service.ts
src/shared/serviceproxy/service-proxy.service.ts
+10
-0
No files found.
src/app/admin/admin-ticket/admin-ticket-create/admin-ticket-create.component.css
View file @
5d33b150
...
@@ -26,6 +26,11 @@
...
@@ -26,6 +26,11 @@
margin-right
:
7px
;
margin-right
:
7px
;
}
}
.input-information
{
width
:
100%
;
height
:
30px
;
}
.custom-minus-date
:hover
{
.custom-minus-date
:hover
{
background
:
#D50000
;
background
:
#D50000
;
border
:
1px
solid
#D50000
;
border
:
1px
solid
#D50000
;
...
...
src/app/admin/admin-ticket/admin-ticket-create/admin-ticket-create.component.html
View file @
5d33b150
...
@@ -172,7 +172,7 @@
...
@@ -172,7 +172,7 @@
</div>
</div>
<div
class=
"modal fade"
id=
"SelectCustomer-MD"
tabindex=
"-1"
role=
"dialog"
aria-hidden=
"true"
>
<div
class=
"modal fade"
id=
"SelectCustomer-MD"
tabindex=
"-1"
role=
"dialog"
aria-hidden=
"true"
>
<div
class=
"modal-dialog modal-
md
"
role=
"document"
>
<div
class=
"modal-dialog modal-
lg
"
role=
"document"
>
<div
class=
"modal-content"
>
<div
class=
"modal-content"
>
<div
class=
"modal-header"
>
<div
class=
"modal-header"
>
<p
class=
"modal-title"
>
<p
class=
"modal-title"
>
...
...
src/app/admin/admin-ticket/admin-ticket-customer-md/admin-ticket-customer-md.component.html
View file @
5d33b150
<div
class=
"row"
>
<div
class=
"row"
>
<div
class=
"col-12"
>
<div
class=
"col-6"
>
<div
class=
"form-group"
*
ngIf=
"CustomerType != ''"
>
<div
class=
"form-group"
*
ngIf=
"CustomerType != ''"
>
<label><small>
Customer Type
<span
class=
"text-danger"
>
*
</span></small></label>
<label><small>
Customer Type
<span
class=
"text-danger"
>
*
</span></small></label>
<select
type=
"text"
<select
type=
"text"
...
@@ -132,24 +133,88 @@
...
@@ -132,24 +133,88 @@
class=
"form-control form-control-sm"
style=
"resize: none"
[(
ngModel
)]="
Address
"
></textarea>
class=
"form-control form-control-sm"
style=
"resize: none"
[(
ngModel
)]="
Address
"
></textarea>
</div>
</div>
</div>
</div>
<ng-container
*
ngIf=
"CustomerType != ''"
>
<div
class=
"col-4"
>
<div
class=
"col-6"
*
ngIf=
"isTicketHistoryEmpty"
>
<button
class=
"btn btn-sm btn-block btn-danger"
style=
"border-radius: 3px"
(
click
)="
CancelClick
()"
><i
class=
"fas fa-times"
></i>
Cancel
</button>
<p><b>
Ticket History
</b></p>
<p
style=
"font-size:18px;"
class=
"text-muted text-center"
>
<i
class=
"fas fa-table fa-3x"
></i>
<br>
Empty Data
</p>
</div>
<div
class=
"col-6"
*
ngIf=
"isLoadingTicketHistory"
>
<p><b>
Ticket History
</b></p>
<p
style=
"font-size:18px;"
class=
"text-muted text-center"
>
<i
class=
"fas fa-spinner fa-spin"
></i>
Retrieving data
</p>
</div>
<div
class=
"col-6"
*
ngIf=
"!isTicketHistoryEmpty && !isLoadingTicketHistory"
>
<p><b>
{{FirstName}} {{LastName}}'s Ticket History
</b></p>
<div
class=
"card"
>
<div
class=
"card-body"
style=
"max-height: 440px;overflow-y: scroll;"
>
<ng-container
*
ngFor=
"let data of listTicketHistory"
>
<p
class=
"m-1"
>
<a
href=
"javascript:;"
target=
"_blank"
class=
"text-info"
>
{{data.ref}}
</a>
</p>
<span
*
ngIf=
"data.status == 'rejected'"
class=
'badge badge-pill badge-dark'
>
REJECTED
</span>
<span
*
ngIf=
"data.status == 'new'"
class=
'badge badge-pill badge-warning'
>
NEW
</span>
<span
*
ngIf=
"data.status == 'resolved'"
class=
'badge badge-pill badge-secondary'
>
SOLVED
</span>
<span
*
ngIf=
"data.status == 'closed'"
class=
'badge badge-pill badge-success'
>
CLOSED
</span>
<span
*
ngIf=
"data.status == 'escalated_tto'"
class=
'badge badge-pill badge-danger'
>
ESCALATED TTO
</span>
<span
*
ngIf=
"data.status == 'escalated_ttr'"
class=
'badge badge-pill badge-danger'
>
ESCALATED TTR
</span>
<span
*
ngIf=
"data.status == 'assigned'"
class=
'badge badge-pill badge-primary'
>
ASSIGNED
</span>
<span
*
ngIf=
"data.status == 'dispatched'"
class=
'badge badge-pill badge-danger'
>
DISPATCH
</span>
<span
*
ngIf=
"data.agent_id == 0"
class=
'badge badge-pill'
style=
"background-color: orange;"
>
Defect
</span>
<p
class=
"m-1"
><small>
{{data.title}}
</small></p>
<p
class=
"m-1"
>
<small>
<b>
{{data.start_date | date: 'dd MMMM yyyy HH:mm'}}
</b>
</small>
</p>
<hr>
</ng-container>
</div>
</div>
<div
class=
"col-4"
*
ngIf=
"IsFormDisabled && !isEditCustomerType"
>
<button
class=
"btn btn-sm btn-block arataka-btn-default"
(
click
)="
EditCsutomerData
()"
><i
class=
"fas fa-user-edit"
></i>
Edit Customer
</button>
</div>
</div>
<div
class=
"col-8"
*
ngIf=
"IsFormDisabledCSType && isEditCustomerType"
>
<button
class=
"btn btn-sm btn-block arataka-btn-default"
(
click
)="
EditCsutomerDataSubmit
()"
><i
class=
"far fa-paper-plane"
></i>
Save Customer
</button>
</div>
</div>
<div
class=
"col-4"
*
ngIf=
"!IsFormDisabledCSType"
>
<button
class=
"btn btn-sm btn-block arataka-btn-primary"
(
click
)="
SubmitNewCustomer
()"
><i
class=
"fas fa-plus-circle"
></i>
Add Customer
</button>
</div>
<div
class=
"row"
>
<ng-container
*
ngIf=
"CustomerType != ''"
>
<div
class=
"col-3"
>
<button
class=
"btn btn-sm btn-block btn-danger"
style=
"border-radius: 3px"
(
click
)="
CancelClick
()"
>
<i
class=
"fas fa-times"
></i>
Cancel
</button>
</div>
<div
class=
"col-3"
*
ngIf=
"IsFormDisabled && !isEditCustomerType"
>
<button
class=
"btn btn-sm btn-block arataka-btn-default"
(
click
)="
EditCsutomerData
()"
>
<i
class=
"fas fa-user-edit"
></i>
Edit Customer
</button>
</div>
<div
class=
"col-4"
*
ngIf=
"IsFormDisabledCSType && isEditCustomerType"
>
<button
class=
"btn btn-sm btn-block arataka-btn-default"
(
click
)="
EditCsutomerDataSubmit
()"
>
<i
class=
"far fa-paper-plane"
></i>
Save Customer
</button>
</div>
<div
class=
"col-3"
*
ngIf=
"!IsFormDisabledCSType"
>
<button
class=
"btn btn-sm btn-block arataka-btn-primary"
(
click
)="
SubmitNewCustomer
()"
>
<i
class=
"fas fa-plus-circle"
></i>
Add Customer
</button>
</div>
</div>
</ng-container>
</ng-container>
<ng-container
*
ngIf=
"CustomerType == ''"
>
<ng-container
*
ngIf=
"CustomerType == ''"
>
<div
class=
"col-12"
>
<div
class=
"col-12"
>
<p
class=
"text-warning"
><small>
Note : this Customer doesn't match any Customer Type
</small></p>
<p
class=
"text-warning"
><small>
Note : this Customer doesn't match any Customer Type
</small></p>
<button
class=
"btn btn-sm btn-block btn-danger"
style=
"border-radius: 3px"
(
click
)="
CancelDosentMatchCustType
()"
><i
class=
"fas fa-times"
></i>
Cancel
</button>
<button
class=
"btn btn-sm btn-block btn-danger"
style=
"border-radius: 3px"
(
click
)="
CancelDosentMatchCustType
()"
>
<i
class=
"fas fa-times"
></i>
Cancel
</button>
</div>
</div>
</ng-container>
</ng-container>
</div>
</div>
\ No newline at end of file
src/app/admin/admin-ticket/admin-ticket-customer-md/admin-ticket-customer-md.component.ts
View file @
5d33b150
...
@@ -100,6 +100,10 @@ export class AdminTicketCustomerMdComponent implements OnInit {
...
@@ -100,6 +100,10 @@ export class AdminTicketCustomerMdComponent implements OnInit {
type
:
null
type
:
null
}
}
listTicketHistory
:
any
[]
=
[];
isTicketHistoryEmpty
:
boolean
=
true
;
isLoadingTicketHistory
:
boolean
=
false
;
constructor
(
injector
:
Injector
,
constructor
(
injector
:
Injector
,
private
router
:
Router
,
private
router
:
Router
,
private
FormBuilder
:
FormBuilder
,
private
FormBuilder
:
FormBuilder
,
...
@@ -351,6 +355,9 @@ export class AdminTicketCustomerMdComponent implements OnInit {
...
@@ -351,6 +355,9 @@ export class AdminTicketCustomerMdComponent implements OnInit {
this
.
IsFormDisabledCSType
=
false
;
this
.
IsFormDisabledCSType
=
false
;
this
.
IsFormDisabled
=
true
;
this
.
IsFormDisabled
=
true
;
}
}
this
.
listTicketHistory
=
[];
this
.
isTicketHistoryEmpty
=
true
;
this
.
isLoadingTicketHistory
=
false
;
}
}
SubmitNewCustomer
(){
SubmitNewCustomer
(){
...
@@ -489,7 +496,6 @@ export class AdminTicketCustomerMdComponent implements OnInit {
...
@@ -489,7 +496,6 @@ export class AdminTicketCustomerMdComponent implements OnInit {
//API Function ---------------------------------------------------------------------------------------
//API Function ---------------------------------------------------------------------------------------
GettingPersonByMobileNumberListAPI
(
_Request
){
GettingPersonByMobileNumberListAPI
(
_Request
){
//AratakaConfig.LoadingPage.showLoading('Checking Person by Mobile Number')
//AratakaConfig.LoadingPage.showLoading('Checking Person by Mobile Number')
console
.
log
(
this
.
MobileNumber
)
this
.
_CustomerService
.
GetPersonByMobileNumber
(
_Request
)
this
.
_CustomerService
.
GetPersonByMobileNumber
(
_Request
)
.
subscribe
((
result
:
any
)
=>
{
.
subscribe
((
result
:
any
)
=>
{
if
(
result
!=
null
){
if
(
result
!=
null
){
...
@@ -539,6 +545,7 @@ export class AdminTicketCustomerMdComponent implements OnInit {
...
@@ -539,6 +545,7 @@ export class AdminTicketCustomerMdComponent implements OnInit {
this
.
MobileNumber2
=
result
.
values
[
0
].
mobile_phone2
this
.
MobileNumber2
=
result
.
values
[
0
].
mobile_phone2
this
.
MothersName
=
result
.
values
[
0
].
nama_ibu_kandung
this
.
MothersName
=
result
.
values
[
0
].
nama_ibu_kandung
this
.
Address
=
result
.
values
[
0
].
alamat
this
.
Address
=
result
.
values
[
0
].
alamat
this
.
requestHistoryTicket
(
result
.
values
[
0
].
id
)
AratakaConfig
.
BootstrapDateCustomPicker
({
AratakaConfig
.
BootstrapDateCustomPicker
({
ID
:
'#DOBDate'
,
ID
:
'#DOBDate'
,
DateValue
:
result
.
values
[
0
].
tanggal_lahir
,
DateValue
:
result
.
values
[
0
].
tanggal_lahir
,
...
@@ -639,7 +646,7 @@ export class AdminTicketCustomerMdComponent implements OnInit {
...
@@ -639,7 +646,7 @@ export class AdminTicketCustomerMdComponent implements OnInit {
Format
:
'DD-MM-YYYY'
,
Format
:
'DD-MM-YYYY'
,
isGet
:
false
,
isGet
:
false
,
})
})
// this.requestHistoryTicket()
this
.
CustomerID
=
result
.
values
[
0
].
id
;
this
.
CustomerID
=
result
.
values
[
0
].
id
;
this
.
IsFormDisabled
=
true
;
this
.
IsFormDisabled
=
true
;
...
@@ -749,4 +756,26 @@ export class AdminTicketCustomerMdComponent implements OnInit {
...
@@ -749,4 +756,26 @@ export class AdminTicketCustomerMdComponent implements OnInit {
});
});
}
}
requestHistoryTicket
(
caller_id
:
number
)
{
this
.
listTicketHistory
=
[];
this
.
isLoadingTicketHistory
=
true
;
this
.
isTicketHistoryEmpty
=
false
;
this
.
_TicketService
.
listTicketToCallerID
(
caller_id
)
.
subscribe
((
res
:
any
)
=>
{
console
.
log
(
res
)
if
(
res
.
values
.
tickets
.
length
>
0
)
{
this
.
listTicketHistory
=
res
.
values
.
tickets
;
this
.
isTicketHistoryEmpty
=
false
;
}
else
{
this
.
listTicketHistory
=
[];
this
.
isTicketHistoryEmpty
=
true
;
}
this
.
isLoadingTicketHistory
=
false
;
},
(
err
:
HttpErrorResponse
)
=>
{
this
.
listTicketHistory
=
[];
this
.
isLoadingTicketHistory
=
false
;
this
.
isTicketHistoryEmpty
=
true
;
})
}
}
}
src/app/admin/admin-ticket/admin-ticket-detail/admin-ticket-detail.component.css
View file @
5d33b150
...
@@ -60,3 +60,8 @@
...
@@ -60,3 +60,8 @@
.fileEmailLogsDetail
:hover
{
.fileEmailLogsDetail
:hover
{
background
:
#FFB74D
;
background
:
#FFB74D
;
}
}
.input-information
{
width
:
100%
;
height
:
30px
;
}
src/assets/configAPI.json
View file @
5d33b150
{
{
"APIBASEURL"
:
"http://
crm.nobubank.com/nobucall-api-v2
/"
,
"APIBASEURL"
:
"http://
localhost:9825
/"
,
"MICROSERVICEURL"
:
"http://crm.nobubank.com/nobucall-api-log/api/v1/"
,
"MICROSERVICEURL"
:
"http://crm.nobubank.com/nobucall-api-log/api/v1/"
,
"SITE_NAME"
:
"Visionet Helpdesk System"
,
"SITE_NAME"
:
"Visionet Helpdesk System"
,
"SITE_LOGO"
:
"https://i0.wp.com/jogorogo.info/wp-content/uploads/2017/07/logo_visionet.png?fit=879%2C227"
,
"SITE_LOGO"
:
"https://i0.wp.com/jogorogo.info/wp-content/uploads/2017/07/logo_visionet.png?fit=879%2C227"
,
...
...
src/shared/serviceproxy/service-proxy.service.ts
View file @
5d33b150
...
@@ -207,6 +207,16 @@ export class TicketService {
...
@@ -207,6 +207,16 @@ export class TicketService {
constructor
(
private
injector
:
Injector
,
private
http
:
HttpClient
)
{
}
constructor
(
private
injector
:
Injector
,
private
http
:
HttpClient
)
{
}
listTicketToCallerID
(
idCaller
:
number
)
{
const
service
=
this
.
injector
.
get
(
ServiceProxyWeb
)
let
headers
=
new
HttpHeaders
({
'Content-Type'
:
'application/json'
,
'Authorization'
:
'Bearer '
+
service
.
getUserInformation
.
values
.
access_token
});
let
options
=
{
headers
:
headers
};
return
this
.
http
.
get
(
API_URL
+
'v3/nobutickets/0/0/'
+
idCaller
+
'/0/0/1/300'
,
options
);
}
List
(
_data
)
{
List
(
_data
)
{
const
service
=
this
.
injector
.
get
(
ServiceProxyWeb
)
const
service
=
this
.
injector
.
get
(
ServiceProxyWeb
)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment