Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
S
simpkm
Overview
Overview
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
Wiki
Wiki
Snippets
Snippets
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
Farendi Giotivano R.P
simpkm
Commits
fba5a982
Commit
fba5a982
authored
Nov 18, 2022
by
novanbagus
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
update final
parent
0258e345
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
25 changed files
with
1668 additions
and
105 deletions
+1668
-105
app/Http/Controllers/Operator/DaftarProposalController.php
+24
-22
app/Http/Controllers/Operator/KelompokController.php
+154
-0
app/Http/Controllers/Operator/MonevProposalController.php
+10
-29
app/Http/Controllers/Operator/ProposalController.php
+168
-0
app/Http/Controllers/Operator/ReviewerController.php
+38
-7
app/Http/Controllers/Operator/ReviewerMonevController.php
+32
-7
app/Http/Controllers/Reviewer/DaftarMonevController.php
+0
-0
app/Http/Controllers/Reviewer/DaftarSeleksiController.php
+271
-0
app/Models/DaftarProposal.php
+2
-2
app/Models/DaftarProposalBelmawa.php
+1
-1
app/Models/ReviewerMonev.php
+3
-3
app/Traits/LoginTrait.php
+38
-14
resources/views/backend/operator/daftar_proposal/belmawa.blade.php
+3
-1
resources/views/backend/operator/daftar_proposal/index.blade.php
+4
-2
resources/views/backend/operator/daftar_proposal/monev.blade.php
+3
-2
resources/views/backend/operator/kelompok/index.blade.php
+145
-0
resources/views/backend/operator/proposal/index.blade.php
+116
-0
resources/views/backend/operator/user/index.blade.php
+0
-1
resources/views/backend/reviewer/monev/index.blade.php
+146
-0
resources/views/backend/reviewer/monev/nilai.blade.php
+160
-0
resources/views/backend/reviewer/seleksi/index.blade.php
+142
-0
resources/views/backend/reviewer/seleksi/nilai.blade.php
+171
-0
resources/views/layouts/inijs.blade.php
+1
-1
resources/views/layouts/menu.blade.php
+4
-4
routes/web.php
+32
-9
No files found.
app/Http/Controllers/Operator/DaftarProposalController.php
View file @
fba5a982
...
@@ -67,7 +67,6 @@ class DaftarProposalController extends Controller
...
@@ -67,7 +67,6 @@ class DaftarProposalController extends Controller
$data_arr
=
array
();
$data_arr
=
array
();
foreach
(
$records
as
$record
){
foreach
(
$records
as
$record
){
$proposal_id
=
$record
->
proposal_id
;
$proposal_id
=
$record
->
proposal_id
;
$reviewer_proposal_id
=
$record
->
reviewer_proposal_id
;
$jenis_id
=
$record
->
jenis_id
;
$jenis_id
=
$record
->
jenis_id
;
$kode
=
$record
->
kode
;
$kode
=
$record
->
kode
;
$jenis_pkm
=
$record
->
jenis_pkm
;
$jenis_pkm
=
$record
->
jenis_pkm
;
...
@@ -110,12 +109,12 @@ class DaftarProposalController extends Controller
...
@@ -110,12 +109,12 @@ class DaftarProposalController extends Controller
$disable_1
=
$disable_2
=
''
;
$disable_1
=
$disable_2
=
''
;
if
(
$nilai_1
>
'0'
)
if
(
$nilai_1
>
'0'
||
$status_administrasi_1
==
'2'
)
{
{
$disable_1
=
"disabled='true'"
;
$disable_1
=
"disabled='true'"
;
}
}
if
(
$nilai_2
>
'0'
)
if
(
$nilai_2
>
'0'
||
$status_administrasi_2
==
'2'
)
{
{
$disable_2
=
"disabled='true'"
;
$disable_2
=
"disabled='true'"
;
}
}
...
@@ -149,7 +148,7 @@ class DaftarProposalController extends Controller
...
@@ -149,7 +148,7 @@ class DaftarProposalController extends Controller
}
}
$data_arr
[]
=
array
(
$data_arr
[]
=
array
(
"
reviewer_proposal_id"
=>
$reviewer_
proposal_id
,
"
proposal_id"
=>
$
proposal_id
,
"kode"
=>
$kode
,
"kode"
=>
$kode
,
"jenis_pkm"
=>
$jenis_pkm
,
"jenis_pkm"
=>
$jenis_pkm
,
"judul"
=>
$judul
,
"judul"
=>
$judul
,
...
@@ -226,6 +225,15 @@ class DaftarProposalController extends Controller
...
@@ -226,6 +225,15 @@ class DaftarProposalController extends Controller
$lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$seleksi_belmawa_id
)
.
"', '1')"
;
$lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$seleksi_belmawa_id
)
.
"', '1')"
;
$tidak_lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$seleksi_belmawa_id
)
.
"', '2')"
;
$tidak_lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$seleksi_belmawa_id
)
.
"', '2')"
;
if
(
$upload_dokumen
==
''
||
$upload_dokumen
==
null
)
$proposal
=
'<span class="badge bg-warning">Dokumen belum diunggah.</span>'
;
else
{
$url
=
"https://statik.unesa.ac.id/simpkm/proposal/revisi/"
.
$record
->
periode
.
"/"
.
$record
->
upload_dokumen
;
$proposal
=
'<a href="'
.
$url
.
'" target="_blank" class="btn btn-primary btn-sm waves-effect waves-light" role="button"><i class="fas fa-search"></i></a>'
;
}
if
(
$status
==
'1'
)
if
(
$status
==
'1'
)
{
{
$aksi
=
'<span class="badge bg-success">Lolos</span>'
;
$aksi
=
'<span class="badge bg-success">Lolos</span>'
;
...
@@ -236,10 +244,17 @@ class DaftarProposalController extends Controller
...
@@ -236,10 +244,17 @@ class DaftarProposalController extends Controller
}
}
else
else
{
{
$aksi
=
'<td class="table-action">
if
(
$upload_dokumen
==
''
||
$upload_dokumen
==
null
)
<a href="#!" class="btn btn-icon-sm btn-success" onclick="'
.
$lolos
.
'"><i class="fas fa-check"></i></a>
{
<a href="#!" class="btn btn-icon-sm btn-danger" onclick="'
.
$tidak_lolos
.
'"><i class="fas fa-ban"></i></a>
$aksi
=
'<span class="badge bg-warning">Dokumen belum diunggah.</span>'
;
</td>'
;
}
else
{
$aksi
=
'<td class="table-action">
<a href="#!" class="btn btn-icon-sm btn-success" onclick="'
.
$lolos
.
'"><i class="fas fa-check"></i></a>
<a href="#!" class="btn btn-icon-sm btn-danger" onclick="'
.
$tidak_lolos
.
'"><i class="fas fa-ban"></i></a>
</td>'
;
}
}
}
$data_arr
[]
=
array
(
$data_arr
[]
=
array
(
...
@@ -248,7 +263,7 @@ class DaftarProposalController extends Controller
...
@@ -248,7 +263,7 @@ class DaftarProposalController extends Controller
"jenis_pkm"
=>
$jenis_pkm
,
"jenis_pkm"
=>
$jenis_pkm
,
"judul"
=>
$judul
,
"judul"
=>
$judul
,
"nama_dosen"
=>
$nama_dosen
,
"nama_dosen"
=>
$nama_dosen
,
"upload_dokumen"
=>
$
upload_dokumen
,
"upload_dokumen"
=>
$
proposal
,
"aksi"
=>
$aksi
"aksi"
=>
$aksi
);
);
}
}
...
@@ -390,19 +405,6 @@ class DaftarProposalController extends Controller
...
@@ -390,19 +405,6 @@ class DaftarProposalController extends Controller
}
}
public
function
getDosen
(
Request
$request
)
{
$client
=
new
Client
([
'base_uri'
=>
'https://siakadu.unesa.ac.id/'
]);
$response
=
$client
->
request
(
'POST'
,
'/api/dashboard'
,
[
'form_params'
=>
[
'kondisi'
=>
'dosen_aktif'
],
'http_errors'
=>
false
]);
return
json_decode
(
$response
->
getBody
(),
true
);
}
public
function
approval
(
$id
,
$status
)
public
function
approval
(
$id
,
$status
)
{
{
try
{
try
{
...
...
app/Http/Controllers/Operator/KelompokController.php
0 → 100644
View file @
fba5a982
<?php
namespace
App\Http\Controllers\Operator
;
use
DB
;
use
URL
;
use
Auth
;
use
Uuid
;
use
Alert
;
use
Crypt
;
use
App\Models\Kelompok
;
use
Illuminate\Http\Request
;
use
App\Models\KelompokDetail
;
use
App\Http\Controllers\Controller
;
class
KelompokController
extends
Controller
{
public
function
index
()
{
return
view
(
'backend.operator.kelompok.index'
)
->
withTitle
(
'Daftar Kelompok'
);
}
/* AJAX request */
public
function
getData
(
Request
$request
){
## Read value
$draw
=
$request
->
get
(
'draw'
);
$start
=
$request
->
get
(
"start"
);
$rowperpage
=
$request
->
get
(
"length"
);
// Rows display per page
$columnIndex_arr
=
$request
->
get
(
'order'
);
$columnName_arr
=
$request
->
get
(
'columns'
);
$order_arr
=
$request
->
get
(
'order'
);
$search_arr
=
$request
->
get
(
'search'
);
$columnIndex
=
$columnIndex_arr
[
0
][
'column'
];
// Column index
$columnName
=
$columnName_arr
[
$columnIndex
][
'data'
];
// Column name
$columnSortOrder
=
$order_arr
[
0
][
'dir'
];
// asc or desc
$searchValue
=
strtoupper
(
$search_arr
[
'value'
]);
// Search value
// Total records
$statementGlobal
=
" STATUS_HAPUS = '0' "
;
$totalRecords
=
Kelompok
::
select
(
'count(1) as allcount'
)
->
whereRaw
(
$statementGlobal
)
->
count
();
$statement
=
" AND (UPPER(NAMA_DOSEN) LIKE '%"
.
$searchValue
.
"%') "
;
$totalRecordswithFilter
=
Kelompok
::
select
(
'count(1) as allcount'
)
->
whereRaw
(
$statementGlobal
.
$statement
)
->
count
();
// Fetch records
$records
=
Kelompok
::
orderBy
(
$columnName
,
$columnSortOrder
)
->
whereRaw
(
$statementGlobal
.
$statement
)
->
selectRaw
(
'*, ambil_ketua_kelompok(kelompok.kelompok_id) ketua'
)
->
skip
(
$start
)
->
take
(
$rowperpage
)
->
get
();
$data_arr
=
array
();
foreach
(
$records
as
$record
){
$kelompok_id
=
$record
->
kelompok_id
;
$kode
=
$record
->
kode
;
$ketua
=
$record
->
ketua
;
$ketua
=
explode
(
'###'
,
$record
->
ketua
);
$nama_ketua
=
$ketua
[
0
];
$nim_ketua
=
$ketua
[
1
];
$nama_dosen
=
$record
->
nama_dosen
;
$nidn_dosen
=
$record
->
nidn_dosen
;
$status
=
$record
->
status
;
if
(
$status
==
'1'
)
$keterangan
=
'<span class="badge bg-success">Disetujui</span>'
;
elseif
(
$status
==
'2'
)
$keterangan
=
'<span class="badge bg-danger">Ditolak</span>'
;
else
$keterangan
=
'<span class="badge bg-warning">Menunngu Persetujuan</span>'
;
$data_arr
[]
=
array
(
"kelompok_id"
=>
$kelompok_id
,
"kode"
=>
$kode
,
"nama_ketua"
=>
$nama_ketua
,
"nim_ketua"
=>
$nim_ketua
,
"nama_dosen"
=>
$nama_dosen
,
"nidn_dosen"
=>
$nidn_dosen
,
"keterangan"
=>
$keterangan
,
"aksi"
=>
'<a class="btn btn-primary btn-sm waves-effect waves-light viewdetails" role="button" data-id="'
.
Crypt
::
encrypt
(
$kelompok_id
)
.
'"><i class="fas fa-eye"></i></a>'
);
}
$response
=
array
(
"draw"
=>
intval
(
$draw
),
"iTotalRecords"
=>
$totalRecords
,
"iTotalDisplayRecords"
=>
$totalRecordswithFilter
,
"aaData"
=>
$data_arr
);
echo
json_encode
(
$response
);
exit
;
}
public
function
getDetil
(
Request
$request
)
{
$reqKelompokId
=
Crypt
::
decrypt
(
$request
->
kelompok_id
);
$kelompok_detil
=
KelompokDetail
::
where
(
'kelompok_id'
,
$reqKelompokId
)
->
get
();
$data
=
''
;
$no
=
1
;
foreach
(
$kelompok_detil
as
$key
=>
$value
)
{
if
(
$value
->
status_ketua
==
1
)
$keterangan
=
"Ketua"
;
else
$keterangan
=
"Anggota "
.
$no
-
1
;
$data
.=
"
<tr>
<td>"
.
$no
.
"</td>
<td>"
.
$value
->
nama
.
"</td>
<td>"
.
$value
->
nim
.
"</td>
<td>"
.
$value
->
fakultas
.
"</td>
<td>"
.
$value
->
prodi
.
"</td>
<td>"
.
$keterangan
.
"</td>
</tr>
"
;
$no
++
;
}
$response
[
'html'
]
=
$data
;
echo
json_encode
(
$response
);
}
public
function
create
()
{
}
public
function
store
(
Request
$request
)
{
}
public
function
edit
(
$id
)
{
}
public
function
update
(
Request
$request
,
$id
)
{
}
public
function
destroy
(
$id
)
{
}
}
app/Http/Controllers/Operator/MonevProposalController.php
View file @
fba5a982
...
@@ -109,12 +109,12 @@ class MonevProposalController extends Controller
...
@@ -109,12 +109,12 @@ class MonevProposalController extends Controller
if
(
$value
->
reviewer_id
==
$reviewer_id_2
)
if
(
$value
->
reviewer_id
==
$reviewer_id_2
)
$selected2
=
'selected'
;
$selected2
=
'selected'
;
$opt1
.=
'<option value="'
.
Crypt
::
encrypt
(
$
propos
al_id
.
'###'
.
$value
->
reviewer_id
)
.
'" '
.
$selected1
.
'>'
.
$value
->
nama
.
'</option>'
;
$opt1
.=
'<option value="'
.
Crypt
::
encrypt
(
$
monev_intern
al_id
.
'###'
.
$value
->
reviewer_id
)
.
'" '
.
$selected1
.
'>'
.
$value
->
nama
.
'</option>'
;
$opt2
.=
'<option value="'
.
Crypt
::
encrypt
(
$
propos
al_id
.
'###'
.
$value
->
reviewer_id
)
.
'" '
.
$selected2
.
'>'
.
$value
->
nama
.
'</option>'
;
$opt2
.=
'<option value="'
.
Crypt
::
encrypt
(
$
monev_intern
al_id
.
'###'
.
$value
->
reviewer_id
)
.
'" '
.
$selected2
.
'>'
.
$value
->
nama
.
'</option>'
;
}
}
$lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$
propos
al_id
)
.
"', '1')"
;
$lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$
monev_intern
al_id
)
.
"', '1')"
;
$tidak_lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$
propos
al_id
)
.
"', '2')"
;
$tidak_lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$
monev_intern
al_id
)
.
"', '2')"
;
$disable_1
=
$disable_2
=
''
;
$disable_1
=
$disable_2
=
''
;
...
@@ -190,10 +190,9 @@ class MonevProposalController extends Controller
...
@@ -190,10 +190,9 @@ class MonevProposalController extends Controller
$uuid
=
Uuid
::
generate
();
$uuid
=
Uuid
::
generate
();
$reqUrut
=
$request
->
input
(
'urut'
);
$reqUrut
=
$request
->
input
(
'urut'
);
$isi
=
Crypt
::
decrypt
(
$request
->
input
(
'data'
));
$isi
=
Crypt
::
decrypt
(
$request
->
input
(
'data'
));
$reqJenisMonevId
=
Crypt
::
decrypt
(
$request
->
input
(
'jenisMonevId'
));
$arrData
=
explode
(
'###'
,
$isi
);
$arrData
=
explode
(
'###'
,
$isi
);
$req
Propos
alId
=
$arrData
[
0
]
?:
''
;
$req
MonevIntern
alId
=
$arrData
[
0
]
?:
''
;
$reqReviewerId
=
$arrData
[
1
]
?:
''
;
$reqReviewerId
=
$arrData
[
1
]
?:
''
;
...
@@ -211,8 +210,7 @@ class MonevProposalController extends Controller
...
@@ -211,8 +210,7 @@ class MonevProposalController extends Controller
if
(
$delete
==
1
)
{
if
(
$delete
==
1
)
{
// ketika sudah di delete kemudian data yang baru di insert
// ketika sudah di delete kemudian data yang baru di insert
$data
[
'reviewer_monev_id'
]
=
$uuid
;
$data
[
'reviewer_monev_id'
]
=
$uuid
;
$data
[
'jenis_monev_id'
]
=
$reqJenisMonevId
;
$data
[
'monev_internal_id'
]
=
$reqMonevInternalId
;
$data
[
'proposal_id'
]
=
$reqProposalId
;
$data
[
'reviewer_id'
]
=
$reqReviewerId
;
$data
[
'reviewer_id'
]
=
$reqReviewerId
;
$data
[
'urut'
]
=
$reqUrut
;
$data
[
'urut'
]
=
$reqUrut
;
// BACKUP NVN
// BACKUP NVN
...
@@ -237,8 +235,7 @@ class MonevProposalController extends Controller
...
@@ -237,8 +235,7 @@ class MonevProposalController extends Controller
$ada_data
=
ReviewerMonev
::
where
([
$ada_data
=
ReviewerMonev
::
where
([
[
'proposal_id'
,
'='
,
$reqProposalId
],
[
'monev_internal_id'
,
'='
,
$reqMonevInternalId
],
[
'jenis_monev_id'
,
'='
,
$reqJenisMonevId
],
[
'reviewer_id'
,
'='
,
$reqReviewerId
],
[
'reviewer_id'
,
'='
,
$reqReviewerId
],
[
'urut'
,
'!='
,
$reqUrut
],
[
'urut'
,
'!='
,
$reqUrut
],
])
->
count
();
])
->
count
();
...
@@ -252,8 +249,7 @@ class MonevProposalController extends Controller
...
@@ -252,8 +249,7 @@ class MonevProposalController extends Controller
}
}
$ada_data_detil
=
ReviewerMonev
::
join
(
'reviewer_monev_detil as b'
,
'reviewer_monev.reviewer_monev_id'
,
'='
,
'b.reviewer_monev_id'
)
->
where
([
$ada_data_detil
=
ReviewerMonev
::
join
(
'reviewer_monev_detil as b'
,
'reviewer_monev.reviewer_monev_id'
,
'='
,
'b.reviewer_monev_id'
)
->
where
([
[
'proposal_id'
,
'='
,
$reqProposalId
],
[
'monev_internal_id'
,
'='
,
$reqMonevInternalId
],
[
'jenis_monev_id'
,
'='
,
$reqJenisMonevId
],
[
'urut'
,
'='
,
$reqUrut
],
[
'urut'
,
'='
,
$reqUrut
],
[
'status_hapus'
,
'='
,
'0'
],
[
'status_hapus'
,
'='
,
'0'
],
])
->
first
();
])
->
first
();
...
@@ -269,16 +265,14 @@ class MonevProposalController extends Controller
...
@@ -269,16 +265,14 @@ class MonevProposalController extends Controller
$data
[
'reviewer_monev_id'
]
=
$uuid
;
$data
[
'reviewer_monev_id'
]
=
$uuid
;
$data
[
'proposal_id'
]
=
$reqProposalId
;
$data
[
'monev_internal_id'
]
=
$reqMonevInternalId
;
$data
[
'jenis_monev_id'
]
=
$reqJenisMonevId
;
$data
[
'urut'
]
=
$reqUrut
;
$data
[
'urut'
]
=
$reqUrut
;
$data
[
'reviewer_id'
]
=
$reqReviewerId
;
$data
[
'reviewer_id'
]
=
$reqReviewerId
;
// BACKUP NVN
// BACKUP NVN
// $data['created_user'] = Auth::user()->name;
// $data['created_user'] = Auth::user()->name;
$reviewer_monev
=
ReviewerMonev
::
updateOrCreate
([
$reviewer_monev
=
ReviewerMonev
::
updateOrCreate
([
'jenis_monev_id'
=>
$reqJenisMonevId
,
'monev_internal_id'
=>
$reqMonevInternalId
,
'proposal_id'
=>
$reqProposalId
,
'urut'
=>
$reqUrut
'urut'
=>
$reqUrut
],
$data
);
],
$data
);
...
@@ -313,19 +307,6 @@ class MonevProposalController extends Controller
...
@@ -313,19 +307,6 @@ class MonevProposalController extends Controller
}
}
public
function
getDosen
(
Request
$request
)
{
$client
=
new
Client
([
'base_uri'
=>
'https://siakadu.unesa.ac.id/'
]);
$response
=
$client
->
request
(
'POST'
,
'/api/dashboard'
,
[
'form_params'
=>
[
'kondisi'
=>
'dosen_aktif'
],
'http_errors'
=>
false
]);
return
json_decode
(
$response
->
getBody
(),
true
);
}
public
function
approval
(
$id
,
$status
)
public
function
approval
(
$id
,
$status
)
{
{
try
{
try
{
...
...
app/Http/Controllers/Operator/ProposalController.php
0 → 100644
View file @
fba5a982
<?php
namespace
App\Http\Controllers\Operator
;
use
DB
;
use
URL
;
use
Auth
;
use
Uuid
;
use
Alert
;
use
Crypt
;
use
Carbon\Carbon
;
use
Illuminate\Http\Request
;
use
App\Models\DaftarProposal
;
use
App\Http\Controllers\Controller
;
class
ProposalController
extends
Controller
{
public
function
index
()
{
return
view
(
'backend.operator.proposal.index'
)
->
withTitle
(
'Daftar Proposal'
);
}
/* AJAX request */
public
function
getData
(
Request
$request
){
## Read value
$draw
=
$request
->
get
(
'draw'
);
$start
=
$request
->
get
(
"start"
);
$rowperpage
=
$request
->
get
(
"length"
);
// Rows display per page
$columnIndex_arr
=
$request
->
get
(
'order'
);
$columnName_arr
=
$request
->
get
(
'columns'
);
$order_arr
=
$request
->
get
(
'order'
);
$search_arr
=
$request
->
get
(
'search'
);
$columnIndex
=
$columnIndex_arr
[
0
][
'column'
];
// Column index
$columnName
=
$columnName_arr
[
$columnIndex
][
'data'
];
// Column name
$columnSortOrder
=
$order_arr
[
0
][
'dir'
];
// asc or desc
$searchValue
=
strtoupper
(
$search_arr
[
'value'
]);
// Search value
// Total records
$statementGlobal
=
" STATUS_HAPUS = '0' "
;
$totalRecords
=
DaftarProposal
::
select
(
'count(1) as allcount'
)
->
whereRaw
(
$statementGlobal
)
->
count
();
$statement
=
" AND (UPPER(JUDUL) LIKE '%"
.
$searchValue
.
"%') "
;
$totalRecordswithFilter
=
DaftarProposal
::
select
(
'count(1) as allcount'
)
->
whereRaw
(
$statementGlobal
.
$statement
)
->
count
();
// Fetch records
$records
=
DaftarProposal
::
orderBy
(
$columnName
,
$columnSortOrder
)
->
whereRaw
(
$statementGlobal
.
$statement
)
->
selectRaw
(
'*'
)
->
skip
(
$start
)
->
take
(
$rowperpage
)
->
get
();
$data_arr
=
array
();
foreach
(
$records
as
$record
){
$proposal_id
=
$record
->
proposal_id
;
$kode
=
$record
->
kode
;
$identitas_ketua
=
str_replace
(
'###'
,
'<br>'
,
$record
->
identitas_ketua
);
$identitas_dospem
=
str_replace
(
'###'
,
'<br>'
,
$record
->
identitas_dospem
);
$jenis_pkm
=
$record
->
jenis_pkm
;
$judul
=
$record
->
judul
;
$status
=
$record
->
status
;
$upload_dokumen
=
$record
->
upload_dokumen
;
$date_upload
=
Carbon
::
parse
(
$record
->
date_upload
)
->
format
(
'd-m-Y H:i'
)
?:
''
;
$date_approval
=
Carbon
::
parse
(
$record
->
date_approval
)
->
format
(
'd-m-Y H:i'
)
?:
''
;
if
(
$upload_dokumen
==
null
||
$upload_dokumen
==
''
)
{
$keterangan
=
'<span class="badge bg-danger">Belum Upload Proposal</span>'
;
}
else
{
$url
=
"https://statik.unesa.ac.id/simpkm/proposal/"
.
$record
->
periode
.
"/"
.
$record
->
upload_dokumen
;
$proposal
=
'<a href="'
.
$url
.
'" target="_blank" class="btn btn-primary btn-sm waves-effect waves-light" role="button"><i class="fas fa-search"></i></a>'
;
if
(
$status
==
'1'
)
$keterangan
=
'<span class="badge bg-success">Disetujui Dosen</span>'
;
elseif
(
$status
==
'2'
)
$keterangan
=
'<span class="badge bg-danger">Ditolak Dosen</span>'
;
else
$keterangan
=
'<span class="badge bg-warning">Menunngu Persetujuan Dosen</span>'
;
}
$keterangan
.=
"<br><span class='badge bg-info'>Upload Proposal Pada : "
.
$date_upload
.
" WIB</span>"
;
$keterangan
.=
"<br><span class='badge bg-info'>Disetujui Dosen Pada : "
.
$date_approval
.
" WIB</span>"
;
$data_arr
[]
=
array
(
"proposal_id"
=>
$proposal_id
,
"kode"
=>
$kode
,
"identitas_ketua"
=>
$identitas_ketua
,
"identitas_dospem"
=>
$identitas_dospem
,
"jenis_pkm"
=>
$jenis_pkm
,
"judul"
=>
$judul
,
"keterangan"
=>
$keterangan
,
"aksi"
=>
$proposal
);
}
$response
=
array
(
"draw"
=>
intval
(
$draw
),
"iTotalRecords"
=>
$totalRecords
,
"iTotalDisplayRecords"
=>
$totalRecordswithFilter
,
"aaData"
=>
$data_arr
);
echo
json_encode
(
$response
);
exit
;
}
public
function
getDetil
(
Request
$request
)
{
$reqKelompokId
=
Crypt
::
decrypt
(
$request
->
kelompok_id
);
$kelompok_detil
=
KelompokDetail
::
where
(
'kelompok_id'
,
$reqKelompokId
)
->
get
();
$data
=
''
;
$no
=
1
;
foreach
(
$kelompok_detil
as
$key
=>
$value
)
{
if
(
$value
->
status_ketua
==
1
)
$keterangan
=
"Ketua"
;
else
$keterangan
=
"Anggota "
.
$no
-
1
;
$data
.=
"
<tr>
<td>"
.
$no
.
"</td>
<td>"
.
$value
->
nama
.
"</td>
<td>"
.
$value
->
nim
.
"</td>
<td>"
.
$value
->
fakultas
.
"</td>
<td>"
.
$value
->
prodi
.
"</td>
<td>"
.
$keterangan
.
"</td>
</tr>
"
;
$no
++
;
}
$response
[
'html'
]
=
$data
;
echo
json_encode
(
$response
);
}
public
function
create
()
{
}
public
function
store
(
Request
$request
)
{
}
public
function
edit
(
$id
)
{
}
public
function
update
(
Request
$request
,
$id
)
{
}
public
function
destroy
(
$id
)
{
}
}
app/Http/Controllers/Operator/ReviewerController.php
View file @
fba5a982
...
@@ -196,14 +196,45 @@ class ReviewerController extends Controller
...
@@ -196,14 +196,45 @@ class ReviewerController extends Controller
public
function
getDosen
(
Request
$request
)
public
function
getDosen
(
Request
$request
)
{
{
$client
=
new
Client
([
'base_uri'
=>
'https://siakadu.unesa.ac.id/'
]);
$client
=
new
Client
();
$response
=
$client
->
request
(
'GET'
,
'https://i-sdm.unesa.ac.id/api/data-dosen'
);
$data
=
json_decode
(
$response
->
getBody
(),
true
);
$response
=
$client
->
request
(
'POST'
,
'/api/dashboard'
,
$result
=
[];
[
'form_params'
=>
[
$i
=
0
;
'kondisi'
=>
'dosen_aktif'
foreach
(
$data
[
'data'
]
as
$key
=>
$value
)
{
],
$jenjang
=
substr
(
$value
[
'namasatker'
],
-
2
);
'http_errors'
=>
false
]);
return
json_decode
(
$response
->
getBody
(),
true
);
$x
=
array
(
"D3"
,
"D4"
,
"S1"
,
"S2"
,
"S3"
);
if
(
in_array
(
$jenjang
,
$x
))
{
$xyz
=
$jenjang
.
' '
.
trim
(
substr
(
$value
[
'namasatker'
],
0
,
-
2
));
}
$result
[
$i
][
'nm_sdm'
]
=
$value
[
'namalengkap'
];
$result
[
$i
][
'nidn'
]
=
$value
[
'nidn'
];
$result
[
$i
][
'fakultas'
]
=
$value
[
'namaparentsatker'
];
$result
[
$i
][
'prodi'
]
=
$xyz
;
$result
[
$i
][
'id_sdm'
]
=
$value
[
'nidn'
];
$i
++
;
}
$hasil
[
'kode'
]
=
"200"
;
$hasil
[
'pesan'
]
=
"sukses"
;
$hasil
[
'data'
]
=
$result
;
return
$hasil
;
// $client = new Client(['base_uri' => 'https://siakadu.unesa.ac.id/']);
// $response = $client->request('POST', '/api/dashboard',
// ['form_params' => [
// 'kondisi' => 'dosen_aktif'
// ],
// 'http_errors' => false]);
// return json_decode($response->getBody(), true);
}
}
}
}
app/Http/Controllers/Operator/ReviewerMonevController.php
View file @
fba5a982
...
@@ -204,14 +204,39 @@ class ReviewerMonevController extends Controller
...
@@ -204,14 +204,39 @@ class ReviewerMonevController extends Controller
public
function
getDosen
(
Request
$request
)
public
function
getDosen
(
Request
$request
)
{
{
$client
=
new
Client
([
'base_uri'
=>
'https://siakadu.unesa.ac.id/'
]);
$client
=
new
Client
();
$response
=
$client
->
request
(
'GET'
,
'https://i-sdm.unesa.ac.id/api/data-dosen'
);
$data
=
json_decode
(
$response
->
getBody
(),
true
);
$response
=
$client
->
request
(
'POST'
,
'/api/dashboard'
,
$result
=
[];
[
'form_params'
=>
[
$i
=
0
;
'kondisi'
=>
'dosen_aktif'
foreach
(
$data
[
'data'
]
as
$key
=>
$value
)
{
],
$jenjang
=
substr
(
$value
[
'namasatker'
],
-
2
);
'http_errors'
=>
false
]);
return
json_decode
(
$response
->
getBody
(),
true
);
$x
=
array
(
"D3"
,
"D4"
,
"S1"
,
"S2"
,
"S3"
);
if
(
in_array
(
$jenjang
,
$x
))
{
$xyz
=
$jenjang
.
' '
.
trim
(
substr
(
$value
[
'namasatker'
],
0
,
-
2
));
}
$result
[
$i
][
'nm_sdm'
]
=
$value
[
'namalengkap'
];
$result
[
$i
][
'nidn'
]
=
$value
[
'nidn'
];
$result
[
$i
][
'fakultas'
]
=
$value
[
'namaparentsatker'
];
$result
[
$i
][
'prodi'
]
=
$xyz
;
$result
[
$i
][
'id_sdm'
]
=
$value
[
'nidn'
];
$i
++
;
}
// $client = new Client(['base_uri' => 'https://siakadu.unesa.ac.id/']);
// $response = $client->request('POST', '/api/dashboard',
// ['form_params' => [
// 'kondisi' => 'dosen_aktif'
// ],
// 'http_errors' => false]);
return
json_decode
(
$result
,
true
);
}
}
}
}
app/Http/Controllers/Reviewer/DaftarMonevController.php
0 → 100644
View file @
fba5a982
This diff is collapsed.
Click to expand it.
app/Http/Controllers/Reviewer/DaftarSeleksiController.php
0 → 100644
View file @
fba5a982
<?php
namespace
App\Http\Controllers\Reviewer
;
use
DB
;
use
URL
;
use
Auth
;
use
Uuid
;
use
Alert
;
use
Crypt
;
use
App\Models\JenisPenilaianMonev
;
use
GuzzleHttp\Client
;
use
App\Models\Periode
;
use
App\Models\Reviewer
;
use
Illuminate\Http\Request
;
use
App\Models\DaftarProposal
;
use
App\Models\SeleksiBelmawa
;
use
Illuminate\Support\Carbon
;
use
App\Models\ReviewerProposal
;
use
App\Http\Controllers\Controller
;
use
App\Models\DaftarProposalBelmawa
;
use
App\Models\ReviewerProposalDetil
;
class
DaftarSeleksiController
extends
Controller
{
private
const
periode_id
=
'9857a29d-521f-413a-b811-94cda7b45897'
;
public
function
__construct
()
{
$this
->
middleware
(
'auth'
);
$this
->
middleware
(
function
(
$request
,
$next
)
{
$this
->
rBiodata
=
Auth
::
user
()
->
rBiodata
;
return
$next
(
$request
);
});
}
public
function
index
()
{
return
view
(
'backend.reviewer.seleksi.index'
)
->
withTitle
(
'Daftar Proposal Seleksi Internal'
);
}
/* AJAX request */
public
function
getData
(
Request
$request
){
## Read value
$draw
=
$request
->
get
(
'draw'
);
$start
=
$request
->
get
(
"start"
);
$rowperpage
=
$request
->
get
(
"length"
);
// Rows display per page
$columnIndex_arr
=
$request
->
get
(
'order'
);
$columnName_arr
=
$request
->
get
(
'columns'
);
$order_arr
=
$request
->
get
(
'order'
);
$search_arr
=
$request
->
get
(
'search'
);
$columnIndex
=
$columnIndex_arr
[
0
][
'column'
];
// Column index
$columnName
=
$columnName_arr
[
$columnIndex
][
'data'
];
// Column name
$columnSortOrder
=
$order_arr
[
0
][
'dir'
];
// asc or desc
$searchValue
=
strtoupper
(
$search_arr
[
'value'
]);
// Search value
// Total records
$statementGlobal
=
" 1=1 AND (NIDN_REVIEWER_ID_1 = '"
.
$this
->
rBiodata
->
noidentitas
.
"' OR NIDN_REVIEWER_ID_2 = '"
.
$this
->
rBiodata
->
noidentitas
.
"')"
;
$totalRecords
=
DaftarProposal
::
select
(
'count(1) as allcount'
)
->
whereRaw
(
$statementGlobal
)
->
count
();
$statement
=
" AND (UPPER(JUDUL) LIKE '%"
.
$searchValue
.
"%') "
;
$totalRecordswithFilter
=
DaftarProposal
::
select
(
'count(1) as allcount'
)
->
whereRaw
(
$statementGlobal
.
$statement
)
->
count
();
// Fetch records
$records
=
DaftarProposal
::
orderBy
(
$columnName
,
$columnSortOrder
)
->
whereRaw
(
$statementGlobal
.
$statement
)
->
select
(
'daftar_proposal.*'
)
->
skip
(
$start
)
->
take
(
$rowperpage
)
->
get
();
$data_arr
=
array
();
foreach
(
$records
as
$record
){
$proposal_id
=
$record
->
proposal_id
;
$jenis_id
=
$record
->
jenis_id
;
$kode
=
$record
->
kode
;
$jenis_pkm
=
$record
->
jenis_pkm
;
$judul
=
$record
->
judul
;
$nilai_1
=
$record
->
nilai_1
;
$nilai_2
=
$record
->
nilai_2
;
$url
=
"https://statik.unesa.ac.id/simpkm/proposal/"
.
$record
->
periode
.
"/"
.
$record
->
upload_dokumen
;
$urut
=
DB
::
select
(
"select ambil_data_reviewer_proposal('"
.
$this
->
rBiodata
->
noidentitas
.
"', '"
.
$proposal_id
.
"', '1')"
)[
0
]
->
ambil_data_reviewer_proposal
;
$status_nilai
=
DB
::
select
(
"select ambil_data_reviewer_proposal('"
.
$this
->
rBiodata
->
noidentitas
.
"', '"
.
$proposal_id
.
"', '2')"
)[
0
]
->
ambil_data_reviewer_proposal
;
$status_administrasi
=
DB
::
select
(
"select ambil_data_reviewer_proposal('"
.
$this
->
rBiodata
->
noidentitas
.
"', '"
.
$proposal_id
.
"', '3')"
)[
0
]
->
ambil_data_reviewer_proposal
;
$proposal
=
'<a href="'
.
$url
.
'" target="_blank" class="btn btn-primary btn-sm waves-effect waves-light" role="button"><i class="fas fa-search"></i></a>'
;
if
(
$status_nilai
>
0
||
$status_administrasi
==
'2'
)
$status
=
'<span class="badge bg-success">Sudah dinilai</span>'
;
else
$status
=
'<span class="badge bg-danger">Belum dinilai</span>'
;
$aksi
=
''
;
if
(
$status_administrasi
==
'1'
)
$administrasi
=
'<span class="badge bg-success">Lolos</span>'
;
elseif
(
$status_administrasi
==
'2'
)
$administrasi
=
'<span class="badge bg-danger">Tidak Lolos</span>'
;
else
{
$lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$proposal_id
)
.
"', '1')"
;
$tidak_lolos
=
"confirmFinal('"
.
Crypt
::
encrypt
(
$proposal_id
)
.
"', '2')"
;
$administrasi
=
'<td class="table-action">
<a href="#!" class="btn btn-icon-sm btn-success btn-sm" onclick="'
.
$lolos
.
'">Lolos ?</a>
<a href="#!" class="btn btn-icon-sm btn-danger btn-sm" onclick="'
.
$tidak_lolos
.
'">Tidak ?</a>
</td>'
;
}
$nilai
=
URL
::
to
(
"reviewer/seleksi-internal/"
.
Crypt
::
encrypt
(
$proposal_id
)
.
"/edit"
);
if
(
$status_administrasi
!=
0
)
{
if
(
$status_nilai
>
0
)
{
if
(
$urut
==
'1'
)
$aksi
=
'<h4>'
.
$nilai_1
.
'</h4>'
;
elseif
(
$urut
==
'2'
)
$aksi
=
'<h4>'
.
$nilai_2
.
'</h5>'
;
}
else
{
if
(
$status_administrasi
==
'2'
)
$aksi
=
'<h4>'
.
$nilai_2
.
'</h5>'
;
else
$aksi
=
'<a href="'
.
$nilai
.
'" class="btn btn-icon-sm btn-warning btn-sm">Beri nilai<i class="fas fa-arrow-alt-circle-right"></i></a>'
;
}
}
else
$aksi
=
'<span class="badge bg-info">Administrasi belum dipilih</span>'
;
$data_arr
[]
=
array
(
"proposal_id"
=>
$proposal_id
,
"kode"
=>
$kode
,
"jenis_pkm"
=>
$jenis_pkm
,
"judul"
=>
$judul
,
"status"
=>
$status
,
"proposal"
=>
$proposal
,
"administrasi"
=>
$administrasi
,
"aksi"
=>
$aksi
);
}
$response
=
array
(
"draw"
=>
intval
(
$draw
),
"iTotalRecords"
=>
$totalRecords
,
"iTotalDisplayRecords"
=>
$totalRecordswithFilter
,
"aaData"
=>
$data_arr
);
echo
json_encode
(
$response
);
exit
;
}
public
function
create
()
{
}
public
function
store
(
Request
$request
)
{
$id
=
$request
->
input
(
'reviewer_proposal_id'
);
$data
[
'komentar'
]
=
$request
->
input
(
'komentar'
);
$reviewer_proposal
=
ReviewerProposal
::
findOrFail
(
$id
);
$reviewer_proposal
->
update
(
$data
);
$delete
=
ReviewerProposalDetil
::
where
(
'reviewer_proposal_id'
,
$id
)
->
delete
(
$id
);
for
(
$i
=
0
;
$i
<
count
(
$request
->
jenis_penilaian_id
);
$i
++
)
{
$uuid
=
Uuid
::
generate
();
$data
[
'reviewer_proposal_detil_id'
]
=
$uuid
;
$data
[
'reviewer_proposal_id'
]
=
$id
;
$data
[
'jenis_penilaian_monev_id'
]
=
$request
->
jenis_penilaian_id
[
$i
];
$data
[
'skor'
]
=
$request
->
skor
[
$i
];
ReviewerProposalDetil
::
create
(
$data
);
}
Alert
::
success
(
'Data berhasil disimpan.'
)
->
persistent
(
'Ok'
);
return
redirect
()
->
route
(
'reviewer.seleksi-internal.index'
);
}
public
function
show
(
$id
)
{
}
public
function
edit
(
$id
)
{
$urut
=
DB
::
select
(
"select ambil_data_reviewer_proposal('"
.
$this
->
rBiodata
->
noidentitas
.
"', '"
.
decrypt
(
$id
)
.
"', '1')"
)[
0
]
->
ambil_data_reviewer_proposal
;
$title
=
'Penilaian Proposal Seleksi Internal'
;
$proposal
=
DaftarProposal
::
where
(
'proposal_id'
,
decrypt
(
$id
))
->
first
();
$reviewer_proposal
=
ReviewerProposal
::
with
(
'rReviewerProposalDetil'
)
->
where
(
'proposal_id'
,
decrypt
(
$id
))
->
where
(
'urut'
,
$urut
)
->
first
();
$komponen
=
JenisPenilaianMonev
::
where
(
'jenis_id'
,
$proposal
->
jenis_id
)
->
get
();
$detil
=
array
();
foreach
(
$reviewer_proposal
->
rReviewerProposalDetil
as
$res
=>
$val
)
{
$detil
[
$val
->
jenis_penilaian_monev_id
]
=
$val
->
skor
;
}
$data
=
[
'title'
=>
$title
,
'proposal'
=>
$proposal
,
'komponen'
=>
$komponen
,
'reviewer_proposal'
=>
$reviewer_proposal
,
'detil'
=>
$detil
];
return
view
(
'backend.reviewer.seleksi.nilai'
,
$data
);
}
public
function
update
(
Request
$request
,
$id
)
{
}
public
function
destroy
(
$id
)
{
}
public
function
approval
(
$id
,
$status
)
{
try
{
$urut
=
DB
::
select
(
"select ambil_data_reviewer_proposal('"
.
$this
->
rBiodata
->
noidentitas
.
"', '"
.
decrypt
(
$id
)
.
"', '1')"
)[
0
]
->
ambil_data_reviewer_proposal
;
$delete
=
ReviewerProposal
::
where
(
'proposal_id'
,
Crypt
::
decrypt
(
$id
))
->
where
(
'urut'
,
$urut
)
->
update
([
'status_administrasi'
=>
$status
]);
if
(
$delete
)
{
if
(
$status
==
'1'
)
{
$status
=
'success'
;
$message
=
"Proposal Seleksi Internal Lolos Administrasi."
;
}
elseif
(
$status
==
'2'
)
{
$status
=
'success'
;
$message
=
"Proposal Seleksi Internal Tidak Lolos Administrasi."
;
}
}
else
{
$status
=
'error'
;
$message
=
"Proposal Seleksi Internal tidak ada."
;
}
return
response
()
->
json
([
'status'
=>
$status
,
'message'
=>
$message
,
]);
}
catch
(
\Exception
$id
)
{
return
response
()
->
json
([
'status'
=>
'error'
,
'message'
=>
"Data gagal diproses."
,
]);
}
}
}
app/Models/DaftarProposal.php
View file @
fba5a982
...
@@ -7,10 +7,10 @@ use Illuminate\Database\Eloquent\Model;
...
@@ -7,10 +7,10 @@ use Illuminate\Database\Eloquent\Model;
class
DaftarProposal
extends
Model
class
DaftarProposal
extends
Model
{
{
protected
$table
=
'daftar_proposal'
;
protected
$table
=
'daftar_proposal'
;
protected
$primaryKey
=
'
reviewer_
proposal_id'
;
protected
$primaryKey
=
'proposal_id'
;
public
$incrementing
=
false
;
public
$incrementing
=
false
;
protected
$fillable
=
[
protected
$fillable
=
[
'proposal_id'
,
'
reviewer_proposal_id'
,
'jenis_id'
,
'kode'
,
'jenis_pkm'
,
'judul'
,
'status'
,
'status_administrasi_1'
,
'status_administrasi_2'
,
'nilai_1'
,
'nilai_2'
,
'reviewer_id_1'
,
'reviewer_id_2'
,
'status_final
'
'proposal_id'
,
'
jenis_id'
,
'kode'
,
'jenis_pkm'
,
'judul'
,
'status'
,
'status_hapus'
,
'status_administrasi_1'
,
'status_administrasi_2'
,
'nilai_1'
,
'nilai_2'
,
'reviewer_id_1'
,
'reviewer_id_2'
,
'status_final'
,
'nidn_reviewer_id_1'
,
'nidn_reviewer_id_2'
,
'upload_dokumen'
,
'date_upload'
,
'date_approval'
,
'identitas_ketua'
,
'identitas_dospem'
,
'periode
'
];
];
}
}
app/Models/DaftarProposalBelmawa.php
View file @
fba5a982
...
@@ -11,6 +11,6 @@ class DaftarProposalBelmawa extends Model
...
@@ -11,6 +11,6 @@ class DaftarProposalBelmawa extends Model
public
$incrementing
=
false
;
public
$incrementing
=
false
;
protected
$fillable
=
[
protected
$fillable
=
[
'seleksi_belmawa_id'
,
'kode_kelompok'
,
'jenis_pkm'
,
'judul_proposal'
,
'nama_dosen'
,
'upload_dokumen'
,
'status'
,
'status_desc'
'seleksi_belmawa_id'
,
'kode_kelompok'
,
'jenis_pkm'
,
'judul_proposal'
,
'nama_dosen'
,
'upload_dokumen'
,
'status'
,
'status_desc'
,
'periode'
];
];
}
}
app/Models/ReviewerMonev.php
View file @
fba5a982
...
@@ -12,11 +12,11 @@ class ReviewerMonev extends Model
...
@@ -12,11 +12,11 @@ class ReviewerMonev extends Model
protected
$keyType
=
'string'
;
protected
$keyType
=
'string'
;
protected
$fillable
=
[
protected
$fillable
=
[
'reviewer_monev_id'
,
'
jenis_monev_id'
,
'propos
al_id'
,
'reviewer_id'
,
'status_administrasi'
,
'komentar'
,
'urut'
,
'created_user'
,
'updated_user'
'reviewer_monev_id'
,
'
monev_intern
al_id'
,
'reviewer_id'
,
'status_administrasi'
,
'komentar'
,
'urut'
,
'created_user'
,
'updated_user'
];
];
public
function
rReviewer
Proposal
Detil
()
public
function
rReviewerDetil
()
{
{
return
$this
->
hasMany
(
\App\Models\Reviewer
Proposal
Detil
::
class
,
'reviewer_monev_id'
,
'reviewer_monev_id'
);
return
$this
->
hasMany
(
\App\Models\Reviewer
Monev
Detil
::
class
,
'reviewer_monev_id'
,
'reviewer_monev_id'
);
}
}
}
}
app/Traits/LoginTrait.php
View file @
fba5a982
...
@@ -32,21 +32,8 @@ trait LoginTrait
...
@@ -32,21 +32,8 @@ trait LoginTrait
{
{
$user
=
$this
->
userRepo
->
find
(
null
,
$nip
,
null
);
$user
=
$this
->
userRepo
->
find
(
null
,
$nip
,
null
);
$ada_data
=
ModelHasRoles
::
where
([
[
'model_id'
,
'='
,
$user
->
id
]
])
->
count
();
if
(
$ada_data
==
0
)
{
$data_role
[
'role_id'
]
=
'2619bc99-0027-4997-9510-d4736bd26862'
;
$data_role
[
'model_type'
]
=
'App\Models\User'
;
$data_role
[
'model_id'
]
=
$user
->
id
;
ModelHasRoles
::
create
(
$data_role
);
}
if
(
$user
)
{
if
(
$user
)
{
$this
->
createRole
(
$user
->
id
);
return
'sudah ada'
;
return
'sudah ada'
;
}
else
{
}
else
{
return
$this
->
getAddReviewer
(
$nip
);
return
$this
->
getAddReviewer
(
$nip
);
...
@@ -67,7 +54,44 @@ trait LoginTrait
...
@@ -67,7 +54,44 @@ trait LoginTrait
$roles
=
$this
->
roleRepo
->
roles
(
'reviewer'
);
$roles
=
$this
->
roleRepo
->
roles
(
'reviewer'
);
$this
->
userDetailRepo
->
storeSso
(
$user
->
id
,
$biodata
);
$this
->
userDetailRepo
->
storeSso
(
$user
->
id
,
$biodata
);
$this
->
roleRepo
->
store
(
$user
,
$roles
);
$this
->
roleRepo
->
store
(
$user
,
$roles
);
$this
->
createRole
(
$user
->
id
);
return
'sukses'
;
}
private
function
createRole
(
$reqId
)
{
// CEK APAKAH ADA ROLE SEBAGAI REVIEWER
$ada_data
=
ModelHasRoles
::
where
([
[
'model_id'
,
'='
,
$reqId
?:
''
],
[
'role_id'
,
'='
,
'2619bc99-0027-4997-9510-d4736bd26862'
]
])
->
count
();
if
(
$ada_data
==
0
)
{
$data_role
[
'role_id'
]
=
'2619bc99-0027-4997-9510-d4736bd26862'
;
$data_role
[
'model_type'
]
=
'App\Models\User'
;
$data_role
[
'model_id'
]
=
$reqId
;
ModelHasRoles
::
create
(
$data_role
);
}
// CEK APAKAH ADA ROLE SEBAGAI DOSEN
$ada_data_reviewer
=
ModelHasRoles
::
where
([
[
'model_id'
,
'='
,
$reqId
],
[
'role_id'
,
'='
,
'a48826dd-ad41-406d-a1db-2a5e94a78bb8'
]
])
->
count
();
if
(
$ada_data_reviewer
==
0
)
{
$data_role
[
'role_id'
]
=
'a48826dd-ad41-406d-a1db-2a5e94a78bb8'
;
$data_role
[
'model_type'
]
=
'App\Models\User'
;
$data_role
[
'model_id'
]
=
$reqId
;
ModelHasRoles
::
create
(
$data_role
);
}
return
'sukses'
;
return
'sukses'
;
}
}
}
}
resources/views/backend/operator/daftar_proposal/belmawa.blade.php
View file @
fba5a982
...
@@ -87,14 +87,16 @@
...
@@ -87,14 +87,16 @@
if(reqStatus == '1')
if(reqStatus == '1')
{
{
var kata = "
Lolos
seleksi
!
";
var kata = "
Lolos
seleksi
!
";
var desc = "
meloloskan
";
}
}
else
else
{
{
var kata = "
Tidak
Lolos
seleksi
!
";
var kata = "
Tidak
Lolos
seleksi
!
";
var desc = "
tidak
meloloskan
";
}
}
Swal.fire({
Swal.fire({
title: "
Apakah
Anda
Yakin
?
",
title: "
Apakah
Anda
Yakin
?
",
text: "
Anda
akan
meloloskan
data
ini
!
",
text: "
Anda
akan
"+desc+"
data
ini
!
",
icon: "
warning
",
icon: "
warning
",
showCancelButton: !0,
showCancelButton: !0,
confirmButtonText: "
Ya
,
"+ kata,
confirmButtonText: "
Ya
,
"+ kata,
...
...
resources/views/backend/operator/daftar_proposal/index.blade.php
View file @
fba5a982
...
@@ -70,7 +70,7 @@
...
@@ -70,7 +70,7 @@
"
url
" : "
{{
route
(
'operator.getDaftarProposal'
)}}
"
"
url
" : "
{{
route
(
'operator.getDaftarProposal'
)}}
"
},
},
columns: [
columns: [
{ data: '
reviewer_
proposal_id' },
{ data: 'proposal_id' },
{ data: 'kode' },
{ data: 'kode' },
{ data: 'jenis_pkm' },
{ data: 'jenis_pkm' },
{ data: 'judul' },
{ data: 'judul' },
...
@@ -170,14 +170,16 @@
...
@@ -170,14 +170,16 @@
if(reqStatus == '1')
if(reqStatus == '1')
{
{
var kata = "
Lolos
seleksi
!
";
var kata = "
Lolos
seleksi
!
";
var desc = "
meloloskan
";
}
}
else
else
{
{
var kata = "
Tidak
Lolos
seleksi
!
";
var kata = "
Tidak
Lolos
seleksi
!
";
var desc = "
tidak
meloloskan
";
}
}
Swal.fire({
Swal.fire({
title: "
Apakah
Anda
Yakin
?
",
title: "
Apakah
Anda
Yakin
?
",
text: "
Anda
akan
meloloskan
data
ini
!
",
text: "
Anda
akan
"+desc+"
data
ini
!
",
icon: "
warning
",
icon: "
warning
",
showCancelButton: !0,
showCancelButton: !0,
confirmButtonText: "
Ya
,
"+ kata,
confirmButtonText: "
Ya
,
"+ kata,
...
...
resources/views/backend/operator/daftar_proposal/monev.blade.php
View file @
fba5a982
...
@@ -140,7 +140,6 @@
...
@@ -140,7 +140,6 @@
data:{
data:{
"
_token
": "
{{
csrf_token
()
}}
",
"
_token
": "
{{
csrf_token
()
}}
",
"
reqId
" : response.id,
"
reqId
" : response.id,
"
jenisMonevId
" : "
{{
$reqId
}}
",
"
urut
": urut,
"
urut
": urut,
"
data
": isi,
"
data
": isi,
},
},
...
@@ -180,14 +179,16 @@
...
@@ -180,14 +179,16 @@
if(reqStatus == '1')
if(reqStatus == '1')
{
{
var kata = "
Lolos
seleksi
!
";
var kata = "
Lolos
seleksi
!
";
var desc = "
meloloskan
";
}
}
else
else
{
{
var kata = "
Tidak
Lolos
seleksi
!
";
var kata = "
Tidak
Lolos
seleksi
!
";
var desc = "
tidak
meloloskan
";
}
}
Swal.fire({
Swal.fire({
title: "
Apakah
Anda
Yakin
?
",
title: "
Apakah
Anda
Yakin
?
",
text: "
Anda
akan
meloloskan
data
ini
!
",
text: "
Anda
akan
"+desc+"
data
ini
!
",
icon: "
warning
",
icon: "
warning
",
showCancelButton: !0,
showCancelButton: !0,
confirmButtonText: "
Ya
,
"+ kata,
confirmButtonText: "
Ya
,
"+ kata,
...
...
resources/views/backend/operator/kelompok/index.blade.php
0 → 100644
View file @
fba5a982
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Dashboard
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Dashboard</h3>
</div>
@endsection
@section('contents')
<!-- start page title -->
<div class="
page
-
title
-
box
">
<div class="
row
align
-
items
-
center
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">{!!
$title
!!}</li>
</ol>
</div>
</div>
</div>
<!-- end page title -->
<div class="
row
">
<div class="
col
-
12
">
<div class="
card
">
<div class="
card
-
body
">
<table id="
example
" class="
table
table
-
bordered
dt
-
responsive
nowrap
" style="
border
-
collapse
:
collapse
;
border
-
spacing
:
0
;
width
:
100
%
;
">
<thead>
<tr>
<th>No</th>
<th>Kode Kelompok</th>
<th>Ketua</th>
<th>NIM</th>
<th>Dosen Pembimbing</th>
<th>NIDN</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row -->
<div class="
modal
fade
" id="
empModal
">
<div class="
modal
-
dialog
modal
-
xl
">
<div class="
modal
-
content
">
<div class="
modal
-
header
">
<h4 class="
modal
-
title
">Data Kelompok</h4>
<button type="
button
" class="
btn
-
close
" data-bs-dismiss="
modal
"></button>
</div>
<div class="
modal
-
body
">
<table class="
w
-
100
" id="
tblempinfo
">
<thead>
<tr>
<th>No</th>
<th>Nama</th>
<th>NIM</th>
<th>Fakultas</th>
<th>Program Studi</th>
<th>Keterangan</th>
</tr>
</thead>
<tbody></tbody>
</table>
</div>
<div class="
modal
-
footer
">
<button type="
button
" class="
btn
btn
-
danger
" data-bs-dismiss="
modal
">Close</button>
</div>
</div>
</div>
</div>
@endsection
@section('js')
<script>
$(document).ready(function(){
// DataTable
var oTable = $('#example').DataTable({
processing: true,
serverSide: true,
ajax: {
"
url
" : "
{{
route
(
'operator.getKelompok'
)}}
"
},
columns: [
{ data: 'kelompok_id' },
{ data: 'kode' },
{ data: 'nama_ketua' },
{ data: 'nim_ketua' },
{ data: 'nama_dosen' },
{ data: 'nidn_dosen' },
{ data: 'keterangan' },
{ data: 'aksi' },
],
columnDefs: [
{
"
targets
": [ 0 ],
"
visible
": false,
"
searchable
": false
}
]
});
});
$(document).ready(function(){
$('#example').on('click','.viewdetails',function(){
var kelId = $(this).attr('data-id');
if(kelId != null || kelId != ''){
// Empty modal data
$('#tblempinfo tbody').empty();
$.ajax({
url: "
{{
route
(
'operator.getDetilKelompok'
)}}
",
data : {
"
kelompok_id
": kelId,
},
dataType: 'json',
success: function(response){
// Add user details
$('#tblempinfo tbody').html(response.html);
// Display Modal
$('#empModal').modal('show');
}
});
}
});
});
</script>
@endsection
resources/views/backend/operator/proposal/index.blade.php
0 → 100644
View file @
fba5a982
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Dashboard
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Dashboard</h3>
</div>
@endsection
@section('contents')
<!-- start page title -->
<div class="
page
-
title
-
box
">
<div class="
row
align
-
items
-
center
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">{!!
$title
!!}</li>
</ol>
</div>
</div>
</div>
<!-- end page title -->
<div class="
row
">
<div class="
col
-
12
">
<div class="
card
">
<div class="
card
-
body
">
<table id="
example
" class="
table
table
-
bordered
dt
-
responsive
nowrap
" style="
border
-
collapse
:
collapse
;
border
-
spacing
:
0
;
width
:
100
%
;
">
<thead>
<tr>
<th>No</th>
<th>Kode Kelompok</th>
<th>Identitas Ketua</th>
<th>Identitas Dosen Pembimbing</th>
<th>Jenis PKM</th>
<th>Judul Proposal</th>
<th>Status</th>
<th>Aksi</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row -->
@endsection
@section('js')
<script>
$(document).ready(function(){
// DataTable
var oTable = $('#example').DataTable({
processing: true,
serverSide: true,
ajax: {
"
url
" : "
{{
route
(
'operator.getProposal'
)}}
"
},
columns: [
{ data: 'proposal_id' },
{ data: 'kode' },
{ data: 'identitas_ketua' },
{ data: 'identitas_dospem' },
{ data: 'jenis_pkm' },
{ data: 'judul' },
{ data: 'keterangan' },
{ data: 'aksi' },
],
columnDefs: [
{
"
targets
": [ 0 ],
"
visible
": false,
"
searchable
": false
}
]
});
});
$(document).ready(function(){
$('#example').on('click','.viewdetails',function(){
var kelId = $(this).attr('data-id');
if(kelId != null || kelId != ''){
// Empty modal data
$('#tblempinfo tbody').empty();
$.ajax({
url: "
{{
route
(
'operator.getDetilKelompok'
)}}
",
data : {
"
kelompok_id
": kelId,
},
dataType: 'json',
success: function(response){
// Add user details
$('#tblempinfo tbody').html(response.html);
// Display Modal
$('#empModal').modal('show');
}
});
}
});
});
</script>
@endsection
resources/views/backend/operator/user/index.blade.php
View file @
fba5a982
...
@@ -17,7 +17,6 @@
...
@@ -17,7 +17,6 @@
<div class="
col
-
md
-
8
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">Dosen</li>
<li class="
breadcrumb
-
item
">{!!
$title
!!}</li>
<li class="
breadcrumb
-
item
">{!!
$title
!!}</li>
</ol>
</ol>
</div>
</div>
...
...
resources/views/backend/reviewer/monev/index.blade.php
0 → 100644
View file @
fba5a982
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Dashboard
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Dashboard</h3>
</div>
@endsection
@section('contents')
<!-- start page title -->
<div class="
page
-
title
-
box
">
<div class="
row
align
-
items
-
center
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">Monev Internal</li>
<li class="
breadcrumb
-
item
">{!!
$title
!!}</li>
</ol>
</div>
</div>
</div>
<!-- end page title -->
<div class="
row
">
<div class="
col
-
12
">
<div class="
card
">
<div class="
card
-
body
">
<table id="
example
" class="
table
table
-
bordered
dt
-
responsive
nowrap
" style="
border
-
collapse
:
collapse
;
border
-
spacing
:
0
;
width
:
100
%
;
">
<thead>
<tr>
<th>id</th>
<th>Kode Kelompok</th>
<th>Identitas Ketua</th>
<th>Identitas <br>Dosen Pembimbing</th>
<th>Jenis <br>PKM</th>
<th>Judul Proposal</th>
<th>Catatan Harian <br>(Logbook)</th>
<th>Laporan <br>Kemajuan</th>
<th>Laporan <br>Luaran</th>
<th>Nilai</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row -->
@endsection
@section('js')
<script>
$(document).ready(function(){
// DataTable
var oTable = $('#example').DataTable({
processing: true,
serverSide: true,
ajax: {
"
url
" : "
{{
route
(
'reviewer.getDaftarMonev'
)}}
"
},
columns: [
{ data: 'monev_internal_id' },
{ data: 'kode' },
{ data: 'identitas_ketua' },
{ data: 'identitas_dospem' },
{ data: 'jenis_pkm' },
{ data: 'judul' },
{ data: 'logbook' },
{ data: 'laporan_kemajuan' },
{ data: 'laporan_luaran' },
{ data: 'aksi' },
],
columnDefs: [
{
"
targets
": [ 0 ],
"
visible
": false,
"
searchable
": false
}
]
});
});
function confirmFinal(reqId, reqStatus)
{
if(reqStatus == '1')
{
var kata = "
Lolos
seleksi
!
";
var desc = "
meloloskan
";
}
else
{
var kata = "
Tidak
Lolos
seleksi
!
";
var desc = "
tidak
meloloskan
";
}
Swal.fire({
title: "
Apakah
Anda
Yakin
?
",
text: "
Anda
akan
"+desc+"
data
ini
!
",
icon: "
warning
",
showCancelButton: !0,
confirmButtonText: "
Ya
,
"+ kata,
cancelButtonText: "
Tidak
,
Kembali
!
",
confirmButtonClass: "
btn
btn
-
success
mt
-
2
",
cancelButtonClass: "
btn
btn
-
danger
ms
-
2
mt
-
2
",
buttonsStyling: !1,
allowOutsideClick: !1,
showLoaderOnConfirm: true
}).then((result) => {
if (result.value){
$.ajax({
url:'
{
{url("/reviewer/seleksi-internal-approval/")}
}
/' +reqId+'/'+reqStatus,
type:'GET',
data:{
"
_token
": "
{{
csrf_token
()
}}
",
},
dataType: "
JSON
",
})
.done(function(response){
swal.fire('Updated!', response.message, response.status).then(function(){
location.reload();
});
})
.fail(function(){
swal.fire('Oops...', 'Something went wrong with ajax !', 'error');
});
}
else
{
swal.fire('Batal!', 'Data batal diproses.', 'error');
}
})
}
</script>
@endsection
resources/views/backend/reviewer/monev/nilai.blade.php
0 → 100644
View file @
fba5a982
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Dashboard
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Dashboard</h3>
</div>
@endsection
@section('contents')
<!-- start page title -->
<div class="
page
-
title
-
box
">
<div class="
row
align
-
items
-
center
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">Monev Internal</li>
<li class="
breadcrumb
-
item
">Daftar {{
$title
}}</li>
<li class="
breadcrumb
-
item
">Penilaian {{
$title
}}</li>
</ol>
</div>
</div>
</div>
<!-- end page title -->
<div class="
row
">
<div class="
col
-
12
">
<div class="
card
">
<div class="
card
-
body
">
{{ Form::open(['url' => route('reviewer.monev-internal.store'), 'method' => 'post', 'id' => 'proposal', 'files' => 'true', 'enctype'=>'multipart/form-data']) }}
@csrf
<h4 class="
card
-
title
">{!!
$title
!!}</h4>
<p class="
card
-
title
-
desc
"></p>
<div class="
row
mb
-
3
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Judul</label>
<div class="
col
-
sm
-
10
">
<span>{{
$monev
?
$monev->judul
: '' }}</span>
</div>
</div>
<div class="
row
mb
-
3
">
<label class="
col
-
sm
-
2
col
-
form
-
label
">Jenis PKM</label>
<div class="
col
-
sm
-
10
">
<span>{{
$monev
?
$monev->jenis_pkm
: '' }}</span>
</div>
</div>
<div class="
row
mb
-
3
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Komponen Penilaian : </label>
<div class="
col
-
sm
-
10
">
<table class="
table
table
-
striped
">
<thead>
<tr style="
text
-
align
:
center
">
<th style="
width
:
70
%
">Komponen</th>
<th style="
width
:
10
%
">Bobot</th>
<th style="
width
:
10
%
">Skor</th>
<th style="
width
:
10
%
">Nilai</th>
</tr>
</thead>
<tbody>
@php
$total
= 0;
@endphp
@foreach (
$komponen
as
$res
=>
$val
)
@php
if(count(
$detil
) == 0)
$skor
= '1';
else
$skor
=
$detil[$val->jenis_penilaian_monev_id]
?:'1';
$nilai
=
$skor
*
$val->bobot
?:
$val->bobot
;
@endphp
<tr class="
table
-
light
">
<td>
<input type="
hidden
" name="
jenis_penilaian_id
[]
" value="
{{
$val
->
jenis_penilaian_monev_id
}}
">
<span>{{
$val->nama
}}</span>
</td>
<td><span id="
varBobot
-
{{
$val
->
jenis_penilaian_monev_id
}}
">{{
$val->bobot
}}</span></td>
<td>
<select name="
skor
[]
" class="
hitung_skor
" data-id="
{{
$val
->
jenis_penilaian_monev_id
}}
">
<option value="
1
" @if(
$skor
== '1') selected="
selected
" @endif>1</option>
<option value="
2
" @if(
$skor
== '2') selected="
selected
" @endif>2</option>
<option value="
3
" @if(
$skor
== '3') selected="
selected
" @endif>3</option>
<option value="
5
" @if(
$skor
== '5') selected="
selected
" @endif>5</option>
<option value="
6
" @if(
$skor
== '6') selected="
selected
" @endif>6</option>
<option value="
7
" @if(
$skor
== '7') selected="
selected
" @endif>7</option>
</select>
</td>
<td><span id='varNilai-{{
$val->jenis_penilaian_monev_id
}}' class="
clsNilai
">{{
$nilai
}}</span></td>
</tr>
@php
$total
+=
$nilai
;
@endphp
@endforeach
</tbody>
<tfoot>
<tr>
<td colspan="
3
"><b>TOTAL NILAI</b></td>
<td><span id='varTotalNilai'><b>{{
$total
}}</b></span></td>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="
row
mb
-
3
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Komentar Reviewer : </label>
<div class="
col
-
sm
-
10
">
<textarea name="
komentar
" class="
form
-
control
" rows="
3
">{{
$reviewer_monev->komentar
?:'' }}</textarea>
</div>
</div>
<div class="
mb
-
0
">
<div>
<input name="
reviewer_monev_id
" type="
hidden
" value="
{{
$reviewer_monev
->
reviewer_monev_id
?:
''
}}
">
<input name="
jenis_monev_id
" type="
hidden
" value="
{{
$monev
->
jenis_monev_id
?:
''
}}
">
<button type="
submit
" class="
btn
btn
-
primary
waves
-
effect
waves
-
light
me
-
1
"> Submit </button>
<button type="
reset
" class="
btn
btn
-
secondary
waves
-
effect
"> Cancel </button>
</div>
</div>
{{ Form::close() }}
<br>
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row -->
@endsection
@section('js')
<script>
$(function(){
$('#input-file').change(function(){
var input = this;
var url = window.URL.createObjectURL(this.files[0]);
$('#view-pdf').attr('src',url);
$('#view-pdf').attr('height','500px');
});
$('.hitung_skor').on('change', function() {
var id = $(this).attr("
data
-
id
");
var val = $(this).find("
:
checked
").val();
var bobot = $('#varBobot-'+id).text();
var nilai = val * bobot;
$('#varNilai-'+id).text(nilai);
sum();
});
});
function sum(){
var sum = 0;
$('.clsNilai').each(function () {
sum += Number($(this).text());
});
$('#varTotalNilai').text(sum);
}
</script>
@endsection
resources/views/backend/reviewer/seleksi/index.blade.php
0 → 100644
View file @
fba5a982
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Dashboard
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Dashboard</h3>
</div>
@endsection
@section('contents')
<!-- start page title -->
<div class="
page
-
title
-
box
">
<div class="
row
align
-
items
-
center
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">Seleksi Internal</li>
<li class="
breadcrumb
-
item
">{!!
$title
!!}</li>
</ol>
</div>
</div>
</div>
<!-- end page title -->
<div class="
row
">
<div class="
col
-
12
">
<div class="
card
">
<div class="
card
-
body
">
<table id="
example
" class="
table
table
-
bordered
dt
-
responsive
nowrap
" style="
border
-
collapse
:
collapse
;
border
-
spacing
:
0
;
width
:
100
%
;
">
<thead>
<tr>
<th>id</th>
<th>Kode Kelompok</th>
<th>Jenis PKM</th>
<th>Judul Proposal</th>
<th>Status</th>
<th>Proposal</th>
<th>Administrasi</th>
<th>Nilai Subtansi Proposal</th>
</tr>
</thead>
<tbody>
</tbody>
</table>
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row -->
@endsection
@section('js')
<script>
$(document).ready(function(){
// DataTable
var oTable = $('#example').DataTable({
processing: true,
serverSide: true,
ajax: {
"
url
" : "
{{
route
(
'reviewer.getDaftarSeleksi'
)}}
"
},
columns: [
{ data: 'proposal_id' },
{ data: 'kode' },
{ data: 'jenis_pkm' },
{ data: 'judul' },
{ data: 'status' },
{ data: 'proposal' },
{ data: 'administrasi' },
{ data: 'aksi' },
],
columnDefs: [
{
"
targets
": [ 0 ],
"
visible
": false,
"
searchable
": false
}
]
});
});
function confirmFinal(reqId, reqStatus)
{
if(reqStatus == '1')
{
var kata = "
Lolos
seleksi
!
";
var desc = "
meloloskan
";
}
else
{
var kata = "
Tidak
Lolos
seleksi
!
";
var desc = "
tidak
meloloskan
";
}
Swal.fire({
title: "
Apakah
Anda
Yakin
?
",
text: "
Anda
akan
"+desc+"
data
ini
!
",
icon: "
warning
",
showCancelButton: !0,
confirmButtonText: "
Ya
,
"+ kata,
cancelButtonText: "
Tidak
,
Kembali
!
",
confirmButtonClass: "
btn
btn
-
success
mt
-
2
",
cancelButtonClass: "
btn
btn
-
danger
ms
-
2
mt
-
2
",
buttonsStyling: !1,
allowOutsideClick: !1,
showLoaderOnConfirm: true
}).then((result) => {
if (result.value){
$.ajax({
url:'
{
{url("/reviewer/seleksi-internal-approval/")}
}
/' +reqId+'/'+reqStatus,
type:'GET',
data:{
"
_token
": "
{{
csrf_token
()
}}
",
},
dataType: "
JSON
",
})
.done(function(response){
swal.fire('Updated!', response.message, response.status).then(function(){
location.reload();
});
})
.fail(function(){
swal.fire('Oops...', 'Something went wrong with ajax !', 'error');
});
}
else
{
swal.fire('Batal!', 'Data batal diproses.', 'error');
}
})
}
</script>
@endsection
resources/views/backend/reviewer/seleksi/nilai.blade.php
0 → 100644
View file @
fba5a982
@
extends
(
'layouts.master'
)
@
section
(
'title'
)
Dashboard
@
endsection
@
section
(
'header'
)
<
div
class
="
page
-
title
">
<h3>Dashboard</h3>
</div>
@endsection
@section('contents')
<!-- start page title -->
<div class="
page
-
title
-
box
">
<div class="
row
align
-
items
-
center
">
<div class="
col
-
md
-
8
">
<h6 class="
page
-
title
">{!!
$title
!!}</h6>
<ol class="
breadcrumb
m
-
0
">
<li class="
breadcrumb
-
item
">Seleksi Internal</li>
<li class="
breadcrumb
-
item
">Daftar Proposal Seleksi Internal</li>
<li class="
breadcrumb
-
item
">Penilaian Proposal Seleksi Internal</li>
</ol>
</div>
</div>
</div>
<!-- end page title -->
<div class="
row
">
<div class="
col
-
12
">
<div class="
card
">
<div class="
card
-
body
">
{{ Form::open(['url' => route('reviewer.seleksi-internal.store'), 'method' => 'post', 'id' => 'proposal', 'files' => 'true', 'enctype'=>'multipart/form-data']) }}
@csrf
<h4 class="
card
-
title
">{!!
$title
!!}</h4>
<p class="
card
-
title
-
desc
"></p>
<div class="
row
mb
-
3
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Judul</label>
<div class="
col
-
sm
-
10
">
<span>{{
$proposal
?
$proposal->judul
: '' }}</span>
</div>
</div>
<div class="
row
mb
-
3
">
<label class="
col
-
sm
-
2
col
-
form
-
label
">Jenis PKM</label>
<div class="
col
-
sm
-
10
">
<span>{{
$proposal
?
$proposal->jenis_pkm
: '' }}</span>
</div>
</div>
<div class="
row
mb
-
3
" class="
dropzone
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Proposal</label>
<div class="
col
-
sm
-
10
">
@if(
$proposal->upload_dokumen
)
<iframe id="
view
-
pdf
" width="
100
%
" height="
400
px
" src="
https
://
statik
.
unesa
.
ac
.
id
/
simpkm
/
proposal
/
{{
$proposal
->
periode
}}
/
{{
$proposal
->
upload_dokumen
}}
" frameborder="
0
"></iframe>
@else
<div class="
alert
alert
-
danger
alert
-
dismissible
fade
show
mb
-
0
" role="
alert
">
<strong>Informasi!</strong> File tidak ditemukan.
</div>
@endif
</div>
</div>
<div class="
row
mb
-
3
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Komponen Penilaian : </label>
<div class="
col
-
sm
-
10
">
<table class="
table
table
-
striped
">
<thead>
<tr style="
text
-
align
:
center
">
<th style="
width
:
70
%
">Komponen</th>
<th style="
width
:
10
%
">Bobot</th>
<th style="
width
:
10
%
">Skor</th>
<th style="
width
:
10
%
">Nilai</th>
</tr>
</thead>
<tbody>
@php
$total
= 0;
@endphp
@foreach (
$komponen
as
$res
=>
$val
)
@php
if(count(
$detil
) == 0)
$skor
= '1';
else
$skor
=
$detil[$val->jenis_penilaian_monev_id]
?:'1';
$nilai
=
$skor
*
$val->bobot
?:
$val->bobot
;
@endphp
<tr class="
table
-
light
">
<td>
<input type="
hidden
" name="
jenis_penilaian_id
[]
" value="
{{
$val
->
jenis_penilaian_monev_id
}}
">
<span>{{
$val->nama
}}</span>
</td>
<td><span id="
varBobot
-
{{
$val
->
jenis_penilaian_monev_id
}}
">{{
$val->bobot
}}</span></td>
<td>
<select name="
skor
[]
" class="
hitung_skor
" data-id="
{{
$val
->
jenis_penilaian_monev_id
}}
">
<option value="
1
" @if(
$skor
== '1') selected="
selected
" @endif>1</option>
<option value="
2
" @if(
$skor
== '2') selected="
selected
" @endif>2</option>
<option value="
3
" @if(
$skor
== '3') selected="
selected
" @endif>3</option>
<option value="
5
" @if(
$skor
== '5') selected="
selected
" @endif>5</option>
<option value="
6
" @if(
$skor
== '6') selected="
selected
" @endif>6</option>
<option value="
7
" @if(
$skor
== '7') selected="
selected
" @endif>7</option>
</select>
</td>
<td><span id='varNilai-{{
$val->jenis_penilaian_monev_id
}}' class="
clsNilai
">{{
$nilai
}}</span></td>
</tr>
@php
$total
+=
$nilai
;
@endphp
@endforeach
</tbody>
<tfoot>
<tr>
<td colspan="
3
"><b>TOTAL NILAI</b></td>
<td><span id='varTotalNilai'><b>{{
$total
}}</b></span></td>
</tr>
</tfoot>
</table>
</div>
</div>
<div class="
row
mb
-
3
">
<label for="
kode
" class="
col
-
sm
-
2
col
-
form
-
label
">Komentar Reviewer : </label>
<div class="
col
-
sm
-
10
">
<textarea name="
komentar
" class="
form
-
control
" rows="
3
">{{
$reviewer_proposal->komentar
?:'' }}</textarea>
</div>
</div>
<div class="
mb
-
0
">
<div>
<input name="
reviewer_proposal_id
" type="
hidden
" value="
{{
$reviewer_proposal
->
reviewer_proposal_id
?:
''
}}
">
<button type="
submit
" class="
btn
btn
-
primary
waves
-
effect
waves
-
light
me
-
1
"> Submit </button>
<button type="
reset
" class="
btn
btn
-
secondary
waves
-
effect
"> Cancel </button>
</div>
</div>
{{ Form::close() }}
<br>
</div>
</div>
</div> <!-- end col -->
</div> <!-- end row -->
@endsection
@section('js')
<script>
$(function(){
$('#input-file').change(function(){
var input = this;
var url = window.URL.createObjectURL(this.files[0]);
$('#view-pdf').attr('src',url);
$('#view-pdf').attr('height','500px');
});
$('.hitung_skor').on('change', function() {
var id = $(this).attr("
data
-
id
");
var val = $(this).find("
:
checked
").val();
var bobot = $('#varBobot-'+id).text();
var nilai = val * bobot;
$('#varNilai-'+id).text(nilai);
sum();
});
});
function sum(){
var sum = 0;
$('.clsNilai').each(function () {
sum += Number($(this).text());
});
$('#varTotalNilai').text(sum);
}
</script>
@endsection
resources/views/layouts/inijs.blade.php
View file @
fba5a982
...
@@ -37,7 +37,7 @@
...
@@ -37,7 +37,7 @@
<script
src=
"{{ asset('theme/libs/datatables.net-responsive/js/dataTables.responsive.min.js') }}"
></script>
<script
src=
"{{ asset('theme/libs/datatables.net-responsive/js/dataTables.responsive.min.js') }}"
></script>
<script
src=
"{{ asset('theme/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js') }}"
></script>
<script
src=
"{{ asset('theme/libs/datatables.net-responsive-bs4/js/responsive.bootstrap4.min.js') }}"
></script>
<script
src=
"{{ asset('theme/js/pages/form-advanced.init.js') }}"
></script>
{{--
<script
src=
"{{ asset('theme/js/pages/form-advanced.init.js') }}"
></script>
--}}
{{--
<script
src=
"{{ asset('theme/js/sweetalert.min.js') }}"
></script>
--}}
{{--
<script
src=
"{{ asset('theme/js/sweetalert.min.js') }}"
></script>
--}}
<script
src=
"{{ asset('theme/libs/sweetalert2/sweetalert2.min.js') }}"
></script>
<script
src=
"{{ asset('theme/libs/sweetalert2/sweetalert2.min.js') }}"
></script>
...
...
resources/views/layouts/menu.blade.php
View file @
fba5a982
...
@@ -161,14 +161,14 @@
...
@@ -161,14 +161,14 @@
<a
href=
"{{ URL::to('/reviewer/seleksi-internal') }}"
class=
"waves-effect"
><i
class=
"ti-check"
></i><span>
Seleksi Internal
</span></a>
<a
href=
"{{ URL::to('/reviewer/seleksi-internal') }}"
class=
"waves-effect"
><i
class=
"ti-check"
></i><span>
Seleksi Internal
</span></a>
</li>
</li>
<li>
<li>
<a
href=
"javascript: void(0);"
class=
"has-arrow waves-effect"
>
<a
href=
"javascript: void(0);"
class=
"has-arrow waves-effect
{{ (request()->is('reviewer/monev-internal*')) ? 'mm-active' : '' }}
"
>
<i
class=
"ti-layers-alt"
></i>
<i
class=
"ti-layers-alt"
></i>
<span>
Monev Internal
</span>
<span>
Monev Internal
</span>
</a>
</a>
<ul
class=
"sub-menu"
aria-expanded=
"false"
>
<ul
class=
"sub-menu"
aria-expanded=
"false"
>
<li><a
href=
"{{ URL::to('/reviewer/monev
/I'
) }}"
>
Monev Internal I
</a></li>
<li><a
href=
"{{ URL::to('/reviewer/monev
-internal/'.Crypt::encrypt('07cda89b-94ca-42a3-a197-8fc1260ebcfb')
) }}"
>
Monev Internal I
</a></li>
<li><a
href=
"{{ URL::to('/reviewer/monev
/II'
) }}"
>
Monev Internal II
</a></li>
<li><a
href=
"{{ URL::to('/reviewer/monev
-internal/'.Crypt::encrypt('21a49a70-33bb-49f1-9fd9-ebe52fa4336c')
) }}"
>
Monev Internal II
</a></li>
<li><a
href=
"{{ URL::to('/reviewer/monev
/III'
) }}"
>
Monev Internal III
</a></li>
<li><a
href=
"{{ URL::to('/reviewer/monev
-internal/'.Crypt::encrypt('068aa53d-91a0-4704-b72c-54757799a286')
) }}"
>
Monev Internal III
</a></li>
</ul>
</ul>
</li>
</li>
@endif
@endif
...
...
routes/web.php
View file @
fba5a982
...
@@ -4,30 +4,34 @@ use Illuminate\Support\Facades\Route;
...
@@ -4,30 +4,34 @@ use Illuminate\Support\Facades\Route;
use
App\Http\Controllers\DashboardController
;
use
App\Http\Controllers\DashboardController
;
use
App\Http\Controllers\Operator\JenisController
;
use
App\Http\Controllers\Operator\UserController
;
use
App\Http\Controllers\Operator\UserController
;
use
App\Http\Controllers\Operator\JenisController
;
use
App\Http\Controllers\Operator\SelectController
;
use
App\Http\Controllers\Operator\SelectController
;
use
App\Http\Controllers\Mahasiswa\AnggotaController
;
use
App\Http\Controllers\Mahasiswa\AnggotaController
;
use
App\Http\Controllers\Operator\KelompokController
;
use
App\Http\Controllers\Operator\ProposalController
;
use
App\Http\Controllers\Operator\ReviewerController
;
use
App\Http\Controllers\Operator\ReviewerController
;
use
App\Http\Controllers\Authentication\LoginController
;
use
App\Http\Controllers\Authentication\LoginController
;
use
App\Http\Controllers\Reviewer\DaftarMonevController
;
use
App\Http\Controllers\Operator\MonevProposalController
;
use
App\Http\Controllers\Operator\MonevProposalController
;
use
App\Http\Controllers\Operator\ReviewerMonevController
;
use
App\Http\Controllers\Operator\ReviewerMonevController
;
use
App\Http\Controllers\Mahasiswa\ProposalController
as
MahasiswaProposal
;
use
App\Http\Controllers\Reviewer\DaftarSeleksiController
;
use
App\Http\Controllers\Mahasiswa\BiodataController
as
BiodataMahasiswa
;
use
App\Http\Controllers\Mahasiswa\SeleksiController
as
SeleksiMahasiswa
;
use
App\Http\Controllers\Mahasiswa\MonevController
as
MonevMahasiswa
;
use
App\Http\Controllers\Mahasiswa\LuaranController
as
LuaranMahasiswa
;
use
App\Http\Controllers\Operator\DaftarProposalController
;
use
App\Http\Controllers\Operator\DaftarProposalController
;
use
App\Http\Controllers\Operator\JadwalKegiatanController
;
use
App\Http\Controllers\Operator\JadwalKegiatanController
;
use
App\Http\Controllers\Dosen\MonevController
as
DosenMonev
;
use
App\Http\Controllers\Dosen\MonevController
as
DosenMonev
;
use
App\Http\Controllers\Operator\JenisPenilaianMonevController
;
use
App\Http\Controllers\Operator\JenisPenilaianMonevController
;
use
App\Http\Controllers\Dosen\BiodataController
as
DosenBiodata
;
use
App\Http\Controllers\Dosen\BiodataController
as
DosenBiodata
;
use
App\Http\Controllers\Dosen\SeleksiController
as
DosenSeleksi
;
use
App\Http\Controllers\Dosen\SeleksiController
as
DosenSeleksi
;
use
App\Http\Controllers\Dosen\KelompokController
as
DosenKelompok
;
use
App\Http\Controllers\Dosen\KelompokController
as
DosenKelompok
;
use
App\Http\Controllers\Dosen\ProposalController
as
DosenProposal
;
use
App\Http\Controllers\Dosen\ProposalController
as
DosenProposal
;
use
App\Http\Controllers\Mahasiswa\MonevController
as
MonevMahasiswa
;
use
App\Http\Controllers\Mahasiswa\LuaranController
as
LuaranMahasiswa
;
use
App\Http\Controllers\Mahasiswa\BiodataController
as
BiodataMahasiswa
;
use
App\Http\Controllers\Mahasiswa\SeleksiController
as
SeleksiMahasiswa
;
use
App\Http\Controllers\Mahasiswa\KelompokController
as
MahasiswaKelompok
;
use
App\Http\Controllers\Mahasiswa\KelompokController
as
MahasiswaKelompok
;
use
App\Http\Controllers\Mahasiswa\ProposalController
as
MahasiswaProposal
;
/*
/*
|--------------------------------------------------------------------------
|--------------------------------------------------------------------------
...
@@ -131,7 +135,15 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
...
@@ -131,7 +135,15 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
Route
::
get
(
'/luaran-dosen/{id}'
,
[
luaranMahasiswa
::
class
,
'dosen'
])
->
name
(
'luaran-dosen'
);
Route
::
get
(
'/luaran-dosen/{id}'
,
[
luaranMahasiswa
::
class
,
'dosen'
])
->
name
(
'luaran-dosen'
);
});
});
Route
::
name
(
'operator.'
)
->
prefix
(
'operator'
)
->
middleware
([
'role:operator|dosen|tendik'
])
->
group
(
function
()
{
Route
::
name
(
'operator.'
)
->
prefix
(
'operator'
)
->
middleware
([
'role:operator'
])
->
group
(
function
()
{
Route
::
resource
(
'kelompok'
,
KelompokController
::
class
);
Route
::
get
(
'getKelompok'
,
[
KelompokController
::
class
,
'getData'
])
->
name
(
'getKelompok'
);
Route
::
get
(
'getDetilKelompok'
,
[
KelompokController
::
class
,
'getDetil'
])
->
name
(
'getDetilKelompok'
);
Route
::
resource
(
'proposal'
,
ProposalController
::
class
);
Route
::
get
(
'getProposal'
,
[
ProposalController
::
class
,
'getData'
])
->
name
(
'getProposal'
);
Route
::
get
(
'getDetilProposal'
,
[
ProposalController
::
class
,
'getDetil'
])
->
name
(
'getDetilProposal'
);
Route
::
resource
(
'jenis'
,
JenisController
::
class
);
Route
::
resource
(
'jenis'
,
JenisController
::
class
);
Route
::
get
(
'getJenis'
,
[
JenisController
::
class
,
'getData'
])
->
name
(
'getJenis'
);
Route
::
get
(
'getJenis'
,
[
JenisController
::
class
,
'getData'
])
->
name
(
'getJenis'
);
...
@@ -147,6 +159,7 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
...
@@ -147,6 +159,7 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
Route
::
get
(
'getReviewer'
,
[
ReviewerController
::
class
,
'getData'
])
->
name
(
'getReviewer'
);
Route
::
get
(
'getReviewer'
,
[
ReviewerController
::
class
,
'getData'
])
->
name
(
'getReviewer'
);
Route
::
get
(
'getDosen'
,
[
ReviewerController
::
class
,
'getDosen'
])
->
name
(
'getDosen'
);
Route
::
get
(
'getDosen'
,
[
ReviewerController
::
class
,
'getDosen'
])
->
name
(
'getDosen'
);
Route
::
resource
(
'seleksi_internal_reviewer'
,
ReviewerController
::
class
);
Route
::
resource
(
'seleksi-internal-proposal'
,
DaftarProposalController
::
class
);
Route
::
resource
(
'seleksi-internal-proposal'
,
DaftarProposalController
::
class
);
Route
::
get
(
'/seleksi-internal-reviewer-approval/{id}/{status}'
,
[
DaftarProposalController
::
class
,
'approval'
])
->
name
(
'seleksi-internal.approval'
);
Route
::
get
(
'/seleksi-internal-reviewer-approval/{id}/{status}'
,
[
DaftarProposalController
::
class
,
'approval'
])
->
name
(
'seleksi-internal.approval'
);
Route
::
get
(
'getDaftarProposal'
,
[
DaftarProposalController
::
class
,
'getData'
])
->
name
(
'getDaftarProposal'
);
Route
::
get
(
'getDaftarProposal'
,
[
DaftarProposalController
::
class
,
'getData'
])
->
name
(
'getDaftarProposal'
);
...
@@ -172,6 +185,16 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
...
@@ -172,6 +185,16 @@ Route::group(['middleware' => ['auth:sanctum', 'verified']], function () {
Route
::
post
(
'/user/remove-role'
,
[
UserController
::
class
,
'removeRole'
])
->
name
(
'remove-role'
);
Route
::
post
(
'/user/remove-role'
,
[
UserController
::
class
,
'removeRole'
])
->
name
(
'remove-role'
);
Route
::
post
(
'/user/add-role'
,
[
UserController
::
class
,
'addRole'
])
->
name
(
'add-role'
);
Route
::
post
(
'/user/add-role'
,
[
UserController
::
class
,
'addRole'
])
->
name
(
'add-role'
);
});
});
Route
::
name
(
'reviewer.'
)
->
prefix
(
'reviewer'
)
->
middleware
([
'role:reviewer|operator|dosen|tendik'
])
->
group
(
function
()
{
Route
::
resource
(
'seleksi-internal'
,
DaftarSeleksiController
::
class
);
Route
::
get
(
'/seleksi-internal-approval/{id}/{status}'
,
[
DaftarSeleksiController
::
class
,
'approval'
])
->
name
(
'seleksi-internal.approval'
);
Route
::
get
(
'getDaftarSeleksi'
,
[
DaftarSeleksiController
::
class
,
'getData'
])
->
name
(
'getDaftarSeleksi'
);
Route
::
get
(
'monev-internal/{id}'
,
[
DaftarMonevController
::
class
,
'index'
])
->
name
(
'monev-internal'
);
Route
::
resource
(
'monev-internal'
,
DaftarMonevController
::
class
)
->
except
([
'index'
]);
Route
::
get
(
'getDaftarMonev'
,
[
DaftarMonevController
::
class
,
'getData'
])
->
name
(
'getDaftarMonev'
);
});
});
});
//Auth::routes();
//Auth::routes();
...
...
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