Advertisement
ngbayu

Detail surat

Jul 5th, 2024
77
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 20.98 KB | None | 0 0
  1. @section('title', $title)
  2.  
  3. @push('style')
  4. <style>
  5. .badge-container {
  6. width: 100%;
  7. }
  8.  
  9. .badge {
  10. display: inline-block;
  11. max-width: 100%;
  12. white-space: normal;
  13. word-wrap: break-word;
  14. }
  15. </style>
  16. @endpush
  17. <div class="align-items-justify">
  18. <div class="row mb-0">
  19. <div class="col-12 p-2 shadow-sm row">
  20. <div class="col-md-6">
  21. <x-breadcrumb :breadcrumbText="$letter->letter_title ?? null" />
  22. </div>
  23. <div class="col-md-6 d-flex justify-content-end gap-2">
  24. <a href="{{ route('correspondence.letter-upload-scan', ['id' => $letter->id]) }}" class="btn btn-outline-warning btn-sm" wire:navigate>
  25. <i class="bi bi-file-arrow-up-fill"></i> Upload Scan
  26. </a>
  27. <a href="{{ route('correspondence.letter-edit', ['id' => $letter->id]) }}" wire:navigate class="btn btn-outline-warning btn-sm {{ $letter->letter_status !== 'draft' ? 'disabled' : '' }}">
  28. <i class="bi bi-pencil-square"></i> Edit Surat
  29. </a>
  30. <button class="btn btn-outline-danger btn-sm" type="button" wire:click="printLetter">
  31. <div wire:loading.remove wire:target="printLetter">
  32. <i class="bi bi-printer-fill"></i> Print Surat
  33. </div>
  34. <div wire:loading wire:target="printLetter">
  35. <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
  36. Please wait...
  37. </div>
  38. </button>
  39. <button class="btn btn-outline-danger btn-sm {{ $letter->letter_status !== 'published' ? 'disabled' : '' }}" type="button" wire:click="archiveLetter" wire:confirm="Are you sure you want to ARCHIVE this post?">
  40. <div wire:loading.remove wire:target="archiveLetter">
  41. <i class="bi bi-archive-fill"></i> Arsipkan
  42. </div>
  43. <div wire:loading wire:target="archiveLetter">
  44. <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
  45. Please wait...
  46. </div>
  47. </button>
  48. </div>
  49. </div>
  50. </div>
  51. @if (auth()->user()->business_unit == $letter->business_unit)
  52. <div class="row align-items-top ">
  53. <div class="col-12 col-md-9 pl-3 pt-0 bg-light">
  54. <ul class="nav nav-pills flex-column flex-sm-row" id="myTab" role="tablist">
  55. <li class="nav-item flex-fill" role="presentation">
  56. <button class="nav-link active w-100" id="home-tab" data-bs-toggle="tab" data-bs-target="#home" type="button" role="tab" aria-controls="home" aria-selected="true">Draft Surat</button>
  57. </li>
  58. <li class="nav-item flex-fill" role="presentation">
  59. <button class="nav-link w-100" id="profile-tab" data-bs-toggle="tab" data-bs-target="#profile" type="button" role="tab" aria-controls="profile" aria-selected="false">Surat Final
  60. Scanning</button>
  61. </li>
  62. </ul>
  63. <div class="tab-content" id="myTabContent">
  64. <x-flash-message />
  65. <div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
  66. <div class="container">
  67. <div class="row d-flex justify-content-center align-items-center mt-4">
  68. <div class="col-md-10 bg-white p-3">
  69. <div class="row">
  70. <div class="col-md-9 mb-4">
  71. @if ($letter->letter_status === 'draft')
  72. <select wire:model.live="selectedTemplate" class="form-control form-control-sm">
  73. <option value="">Select Template</option>
  74. @foreach ($templates as $template)
  75. <option value="{{ $template->id }}">{{ $template->name }}
  76. </option>
  77. @endforeach
  78. </select>
  79. @endif
  80. </div>
  81. <div class="col-md-3 mb-4">
  82. @if ($letter->letter_status === 'draft')
  83. <button class="btn btn-success btn-sm w-100" wire:click="applyTemplate" type="button">
  84. <div wire:loading.remove wire:target="applyTemplate">
  85. <i class="bi bi-check-circle"></i> Apply Template
  86. </div>
  87. <div wire:loading wire:target="applyTemplate">
  88. <span class="spinner-border spinner-border-sm" role="status" aria-hidden="true"></span>
  89. Please wait...
  90. </div>
  91. </button>
  92. @endif
  93. </div>
  94. @if ($letter->letter_status === 'draft')
  95. <hr>
  96. @endif
  97. <div class="col-md-12 mt-2 mb-2">
  98. <div wire:loading wire:target="selectedTemplate">
  99. <div class="loader">
  100. <span class="fw-bold text-success">Sedang Memuat Template
  101. ....</span>
  102.  
  103. </div>
  104. </div>
  105. <div wire:loading.remove wire:target="selectedTemplate">
  106. @if (!$selectedTemplate)
  107. {!! $letter->header !!}
  108. @else
  109. {!! $header !!}
  110. @endif
  111. </div>
  112. </div>
  113. <div class="col-md-12 mt-2 mb-2">
  114. <table>
  115. <tr>
  116. <td>{{ $letter->publication_location }}, {{ $IndonesianDate($letter->letter_date) }}</td>
  117. </tr>
  118. <tr>
  119. <td>{{ $letter->letter_number }}</td>
  120. </tr>
  121. </table>
  122. </div>
  123. <div class="col-md-12 mt-2 mb-2">
  124. <table>
  125. <tr>
  126. <td><strong>Kepada Yth.</strong></td>
  127. </tr>
  128. <tr>
  129. <td width="400px;">{{ $letter->letter_receiver }}</td>
  130. </tr>
  131. </table>
  132. </div>
  133. <div class="col-md-12 mt-2 mb-3">
  134. <table>
  135. <tr>
  136. <td width="100px"><strong>Perihal</strong></td>
  137. <td width="10px">:</td>
  138. <td>{{ $letter->subject }}</td>
  139. </tr>
  140. </table>
  141. </div>
  142. <div class="col-md-12 mt-2 mb-2">
  143. {{-- {!! $letter->content_of_letter !!} --}}
  144. @php
  145. echo str_replace(
  146. '[base_url]',
  147. url('') . '/',
  148. $letter->content_of_letter,
  149. );
  150. @endphp
  151. </div>
  152. <div class="col-md-12 mt-2 mb-2">
  153. <div wire:loading wire:target="selectedTemplate">
  154. <div class="loader">
  155. <span class="fw-bold text-success">Sedang Memuat Template
  156. ....</span>
  157. </div>
  158. </div>
  159. <div class="col-md-12 mt-2 mb-5">
  160. <table width="100%">
  161. <tr>
  162. <td>Hormat Kami,</td>
  163. </tr>
  164. <tr>
  165. <td style="height: 75px"></td>
  166. </tr>
  167. <tr>
  168. <td>
  169. <strong><b><u>{{ $letter->letter_sender }}</u></b></strong>
  170. </td>
  171. </tr>
  172. <tr>
  173. <td>
  174. <strong>{{ $letter->jobTitle->name ?? '____________' }}</strong>
  175. </td>
  176. </tr>
  177. </table>
  178. </div>
  179. <div wire:loading.remove wire:target="selectedTemplate">
  180. @if (!$selectedTemplate)
  181. {!! $letter->footer !!}
  182. @else
  183. {!! $footer !!}
  184. @endif
  185. </div>
  186. </div>
  187. </div>
  188. </div>
  189. </div>
  190. </div>
  191. </div>
  192. <div class="tab-pane fade d-flex justify-content-center align-items-center" id="profile" role="tabpanel" aria-labelledby="profile-tab">
  193. @if ($letter->letter_final_file !== null)
  194. <embed src="{{ $pdf }}" type="application/pdf" width="50%" height="600px" toolbar="0" />
  195. @else
  196. <div class="alert alert-warning" role="alert">
  197. No Scanned File was uploaded
  198. </div>
  199. @endif
  200. </div>
  201. </div>
  202. </div>
  203. <div class="col-12 col-md-3 pt-2 border rounded-1 pb-4 shadow-sm " style="background: #fff">
  204. <ul class="nav nav-tabs" id="myTab" role="tablist">
  205. <li class="nav-item" role="presentation">
  206. <button class="nav-link active" id="detail-tab" data-bs-toggle="tab" data-bs-target="#detail" type="button" role="tab" aria-controls="detail" aria-selected="true">Detail</button>
  207. </li>
  208. <li class="nav-item" role="presentation">
  209. <button class="nav-link" id="log-surat-tab" data-bs-toggle="tab" data-bs-target="#log-surat" type="button" role="tab" aria-controls="contact" aria-selected="false">Log
  210. Surat</button>
  211. </li>
  212. </ul>
  213. <div class="tab-content" id="myTabContent">
  214. <div class="tab-pane fade show active" id="detail" role="tabpanel" aria-labelledby="detail-tab">
  215. <div class="mt-4 m-3">
  216. <table>
  217. <tr>
  218. <td>
  219. <h5 class="mb-2"><strong>{{ $letter->letter_number }}</strong></h5>
  220. </td>
  221. </tr>
  222. <tr>
  223. <td>
  224. <h5><strong>{{ $letter->letter_title }}</strong></h5>
  225. </td>
  226. </tr>
  227. <tr>
  228. <td>
  229. <hr>
  230. </td>
  231. </tr>
  232. <tr>
  233. <td><strong>Tanggal Surat</strong></td>
  234. </tr>
  235. <tr>
  236. <td><span>{{ $IndonesianDateTime($letter->letter_date) }}</span></td>
  237. </tr>
  238. <tr>
  239. <td><br><strong>Lokasi Terbit</strong></td>
  240. </tr>
  241. <tr>
  242. <td><span>{{ $letter->publication_location }}</span></td>
  243. </tr>
  244. <tr>
  245. <td><br><strong>Asal Surat</strong></td>
  246. </tr>
  247. <tr>
  248. <td><span>{{ $letter->letter_sender }}</span></td>
  249. </tr>
  250. <tr>
  251. <td><br><strong>Kepada</strong></td>
  252. </tr>
  253. <tr>
  254. <td><span>{{ $letter->letter_receiver }}</span></td>
  255. </tr>
  256. <tr>
  257. <td><br><strong>Subject</strong></td>
  258. </tr>
  259. <tr>
  260. <td><span>{{ $letter->subject }}</span></td>
  261. </tr>
  262. <tr>
  263. <td><br><strong>Jenis Surat</strong></td>
  264. </tr>
  265. <tr>
  266. <td><span>{{ ucfirst($letter->letter_type) }}</span></td>
  267. </tr>
  268. <tr>
  269. <td><br><strong>Kategori Surat</strong></td>
  270. </tr>
  271. <tr>
  272. <td><span>{{ ucfirst($letter->categoryData->subject_name) ?? '-' }}</span></td>
  273. </tr>
  274. <tr>
  275. <td><br><strong>Bisnis Unit</strong></td>
  276. </tr>
  277. <tr>
  278. <td><span>{{ $letter->businessUnit->bu_name ?? '-' }}</span></td>
  279. </tr>
  280. <tr>
  281. <td><br><strong>Level Jabatan</strong></td>
  282. </tr>
  283. <tr>
  284. <td><span>{{ $levels->name ?? '-' }}</span></td>
  285. </tr>
  286. <tr>
  287. <td><br><strong>Jabatan</strong></td>
  288. </tr>
  289. <tr>
  290. <td><span>{{ $letter->jobTitle->name ?? '-' }}</span></td>
  291. </tr>
  292. <tr>
  293. <td><br><strong>Status</strong></td>
  294. </tr>
  295. <tr>
  296. <td>
  297. @if ($letter->letter_status == 'draft')
  298. <span class="badge badge-danger">{{ $letter->letter_status }}</span>
  299. @elseif ($letter->letter_status == 'published')
  300. <span class="badge badge-success">{{ $letter->letter_status }}</span>
  301. @elseif ($letter->letter_status == 'archived')
  302. <span class="badge badge-warning text-white">{{ $letter->letter_status }}</span>
  303. @else
  304. <span class="badge badge-secondary text-white">{{ $letter->letter_status }}</span>
  305. @endif
  306. </td>
  307. </tr>
  308. </table>
  309. </div>
  310. </div>
  311. <div class="tab-pane fade" id="log-surat" role="tabpanel" aria-labelledby="log-surat-tab">
  312. <ul class="timeline">
  313. @foreach ($activities as $activity)
  314. <li>
  315. <span class="fw-bold text-success text-xs text-capitalize">{!! $activity->description !!}
  316. by {!! $activity->causerData->name !!}</span><br>
  317. <small>{!! $IndonesianDateTime($activity->created_at) !!}</small><br>
  318. <small>Deskripsi Perubahan :</small>
  319. @if ($activity->properties->isNotEmpty())
  320. <ul>
  321. @php
  322. $allowedAttributes = [
  323. 'letter_title',
  324. 'letter_sender',
  325. 'letter_receiver',
  326. 'letter_date',
  327. 'letter_type',
  328. 'publication_location',
  329. 'subject',
  330. 'letter_number',
  331. 'header',
  332. 'footer',
  333. 'letter_status'
  334. ];
  335. @endphp
  336. @foreach ($activity->properties['attributes'] as $attribute => $value)
  337. @if (in_array($attribute, $allowedAttributes))
  338. @php
  339. $oldValue = $activity->properties['old'][$attribute] ?? null;
  340. @endphp
  341. @if ($oldValue !== $value)
  342. <li>
  343. <strong>{!! ucfirst(str_replace('_', ' ', $attribute)) !!}:</strong><br>
  344. @if ($oldValue !== null)
  345. <small>
  346. <div class="badge-container">
  347. <span class="badge badge-primary text-white"> Old: {!! $oldValue !!} </span>
  348. </div>
  349. </small><br>
  350. @endif
  351. <small>
  352. <div class="badge-container">
  353. <span class="badge badge-success text-white"> New: {!! $value !!} </span>
  354. </div>
  355. </small>
  356. </li>
  357. @endif
  358. @endif
  359. @endforeach
  360. </ul>
  361. @endif
  362. </li>
  363. @endforeach
  364. </ul>
  365. </div>
  366. </div>
  367. </div>
  368. </div>
  369. @else
  370. <div class="alert alert-danger mt-3">
  371. You do not have permission to view this letter.
  372. </div>
  373. @endif
  374. <!-- end conten !-->
  375. </div>
  376. @push('script')
  377. @endpush
  378.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement