AplikasiCell.swift 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990
  1. //
  2. // AplikasiCell.swift
  3. // Sirani
  4. //
  5. // Created by Hendi on 21/06/23.
  6. // Copyright © 2023 PT. Mitra Sinerji Teknoindo. All rights reserved.
  7. //
  8. import UIKit
  9. import MaterialComponents.MaterialCards
  10. protocol AplikasiCellDelegate: NSObjectProtocol {
  11. func openAplikasiDetail(data : Aplikasi?)
  12. }
  13. class AplikasiCell: UITableViewCell {
  14. @IBOutlet weak var card: MDCCard!
  15. @IBOutlet weak var lblIdIzin : UILabel!
  16. @IBOutlet weak var lblAplId : UILabel!
  17. @IBOutlet weak var lblResiNo : UILabel!
  18. @IBOutlet weak var lblResiDate : UILabel!
  19. @IBOutlet weak var lblCustName : UILabel!
  20. @IBOutlet weak var lblEqpName : UILabel!
  21. @IBOutlet weak var lblMerk : UILabel!
  22. @IBOutlet weak var lblModel : UILabel!
  23. @IBOutlet weak var lblBrand : UILabel!
  24. @IBOutlet weak var lblDisposisi : UILabel!
  25. @IBOutlet weak var lblStatusStr : UILabel!
  26. @IBOutlet weak var statusTop: NSLayoutConstraint!
  27. @IBOutlet weak var disposisiTitle: UILabel!
  28. var cellDelegate: AplikasiCellDelegate?
  29. var dataAplikasi: Aplikasi?
  30. func updateViews(aplData: Aplikasi) {
  31. card.isInteractable = true
  32. let gesture = UITapGestureRecognizer(target: self, action: #selector(self.onItemTap))
  33. card.addGestureRecognizer(gesture)
  34. let roleId = UserState.instance.getRoleId()
  35. if roleId == "17" {
  36. statusTop.constant = -16
  37. lblDisposisi.hide()
  38. disposisiTitle.hide()
  39. lblDisposisi.text = ""
  40. }else {
  41. statusTop.constant = 4
  42. lblDisposisi.show()
  43. disposisiTitle.show()
  44. lblDisposisi.text = aplData.disposisi
  45. }
  46. lblIdIzin.text = aplData.id_izin
  47. lblAplId.text = String(aplData.apl_id)
  48. lblResiNo.text = aplData.resi_no
  49. lblCustName.text = aplData.cust_name
  50. lblEqpName.text = aplData.eqp_name
  51. lblMerk.text = aplData.merk
  52. lblModel.text = aplData.model
  53. lblBrand.text = aplData.brand
  54. lblStatusStr.text = aplData.StatusStr
  55. var resiDate = ""
  56. if (aplData.resi_date == "null" || aplData.resi_date.isEmpty) {
  57. resiDate = ""
  58. } else {
  59. let inputFormatter = DateFormatter()
  60. inputFormatter.dateFormat = "yyyy-MM-dd"
  61. let expDateString = String(aplData.resi_date.prefix(10))
  62. if let output = inputFormatter.date(from: expDateString) {
  63. let outputFormatter = DateFormatter()
  64. outputFormatter.dateFormat = "dd MMM yyyy"
  65. resiDate = outputFormatter.string(from: output)
  66. }
  67. }
  68. lblResiDate.text = resiDate
  69. self.dataAplikasi = aplData
  70. }
  71. @objc func onItemTap(sender : UITapGestureRecognizer) {
  72. cellDelegate?.openAplikasiDetail(data: dataAplikasi)
  73. }
  74. }