SBTFormShotView.swift 6.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159
  1. //
  2. // SBTFormShotView.swift
  3. // SolarBT
  4. //
  5. // Created by weclouds on 2019/6/3.
  6. // Copyright © 2019 weclouds. All rights reserved.
  7. //
  8. import UIKit
  9. class SBTFormShotView: UIView {
  10. var dataArr : [[String]]? = [[String]]() {
  11. didSet{
  12. }
  13. }
  14. var dayArr :[String]? // 日期数组
  15. lazy var formView: SheetView = {
  16. let formView = SheetView(frame: CGRect(x: 0, y: 0, width: 528, height: 510))
  17. formView.delegate = self
  18. formView.dataSource = self
  19. formView.titleRowHeight = 63
  20. formView.titleColWidth = 143
  21. formView.backgroundColor = UIColor.red
  22. return formView
  23. }()
  24. override init(frame: CGRect) {
  25. super.init(frame: frame)
  26. self.backgroundColor = UIColor.white
  27. createUI()
  28. dayArr = [String]()
  29. let first = nowTime("yyyy-M-d")
  30. let second = getLastDay(first)
  31. let third = getLastDay(second)
  32. let foreth = getLastDay(third)
  33. let fifth = getLastDay(foreth)
  34. let sixth = getLastDay(fifth)
  35. let seventh = getLastDay(sixth)
  36. let eighth = getLastDay(seventh)
  37. dayArr?.append("Today".da_localizedStr())
  38. dayArr?.append("Yesterday".da_localizedStr())
  39. dayArr?.append(third.subString(start: 5))
  40. dayArr?.append(foreth.subString(start: 5))
  41. dayArr?.append(fifth.subString(start: 5))
  42. dayArr?.append(sixth.subString(start: 5))
  43. dayArr?.append(seventh.subString(start: 5))
  44. dayArr?.append(eighth.subString(start: 5))
  45. }
  46. func createUI() {
  47. //添加表格视图
  48. self.addSubview(formView)
  49. // formView.snp.makeConstraints { (make) in
  50. // make.left.right.top.equalToSuperview()
  51. // make.height.equalTo(510)
  52. // }
  53. }
  54. required init?(coder aDecoder: NSCoder) {
  55. fatalError("init(coder:) has not been implemented")
  56. }
  57. func fillCellData(_ weekData : [OneDayData]){
  58. self.dataArr?.removeAll()
  59. for i in 0..<weekData.count {
  60. let oneDay = weekData[i]
  61. var aDataArr : [String]? = [String]()
  62. aDataArr?.removeAll()
  63. let his_batteryVoltageMin = oneDay.his_batteryVoltageMin// 蓄电池最低电压
  64. let his_batteryVoltageMax = oneDay.his_batteryVoltageMax// 蓄电池最高电压
  65. let his_chargingCurrentMax = oneDay.his_chargingCurrentMax// 充电最大电流
  66. let his_chargingPowerMax = oneDay.his_chargingPowerMax// 充电最大功率
  67. let his_chargingAmpereHour = oneDay.his_chargingAmpereHour // 充电安时数
  68. let his_dischargeCurrentmax = oneDay.his_dischargeCurrentmax // 放电最大电流
  69. let his_dischargePowerMax = oneDay.his_dischargePowerMax// 放电最大功率
  70. let his_dischargeAmpereHour = oneDay.his_dischargeAmpereHour // 放电安时数
  71. let his_generationCapacity = String(format: "%.3f", Double(oneDay.his_generationCapacity!)! * 0.001)// 发电量
  72. let his_dischargeCapacity = String(format: "%.3f", Double(oneDay.his_dischargeCapacity!)! * 0.001)// 充电量
  73. // log.debug("发点量--- \(his_generationCapacity)放电量 === \(his_dischargeCapacity)")
  74. aDataArr?.append(his_batteryVoltageMin!)
  75. aDataArr?.append(his_batteryVoltageMax!)
  76. aDataArr?.append(his_chargingCurrentMax!)
  77. aDataArr?.append(his_chargingPowerMax!)
  78. aDataArr?.append(his_chargingAmpereHour!)
  79. aDataArr?.append(his_dischargeCurrentmax!)
  80. aDataArr?.append(his_dischargePowerMax!)
  81. aDataArr?.append(his_dischargeAmpereHour!)
  82. aDataArr?.append(his_generationCapacity)
  83. aDataArr?.append(his_dischargeCapacity)
  84. self.dataArr?.append(aDataArr!)
  85. log.debug("一周数据 : \(self.dataArr!)")
  86. formView.reloadData()
  87. }
  88. }
  89. }
  90. extension SBTFormShotView: SheetViewDelegate,SheetViewDataSource{
  91. func sheetView(_ sheetView: SheetView!, heightForRowAt indexPath: IndexPath!) -> CGFloat {
  92. return 44.5
  93. }
  94. func sheetView(_ sheetView: SheetView!, widthForColAt indexPath: IndexPath!) -> CGFloat {
  95. return 55
  96. }
  97. func sheetView(_ sheetView: SheetView!, didSelectItemAtIndexRow indexRow: IndexPath!, indexCol: IndexPath!) {
  98. log.debug("点击了 row\(indexRow.row),col\(indexCol.row)")
  99. }
  100. func sheetView(_ sheetView: SheetView!, numberOfRowsInSection section: Int) -> Int {
  101. return 10
  102. }
  103. func sheetView(_ sheetView: SheetView!, numberOfColsInSection section: Int) -> Int {
  104. return 8
  105. }
  106. func sheetView(_ sheetView: SheetView!, cellForContentItemAtIndexRow indexRow: IndexPath!, indexCol: IndexPath!) -> String! {
  107. return self.dataArr![indexCol.row][indexRow.row]
  108. }
  109. func sheetView(_ sheetView: SheetView!, cellForLeftColAt indexPath: IndexPath!) -> String! {
  110. let rowArrs = ["Minimum_battery_voltage_of_the_day_(V)".da_localizedStr(),
  111. "Maximum_battery_voltage_of_the_day_(V)".da_localizedStr(),
  112. "Maximum_charge_current_of_the_day_(A)".da_localizedStr(),
  113. "Maximum_charge_power_of_the_day_(W)".da_localizedStr(),
  114. "Charge_amp_hours_of_the_day_(Ah)".da_localizedStr(),
  115. "Maximum_discharge_current_of_the_day_(A)".da_localizedStr(),
  116. "Maximum_discharge_power_of_the_day_(W)".da_localizedStr(),
  117. "Discharge_amp_hours_of_the_day_(Ah)".da_localizedStr(),
  118. "Power_generation_of_the_day_(kWh)".da_localizedStr(),
  119. "Discharge_amount_of_the_day_(kWh)".da_localizedStr()]
  120. return rowArrs[indexPath.row]
  121. }
  122. func sheetView(_ sheetView: SheetView!, cellForTopRowAt indexPath: IndexPath!) -> String! {
  123. return dayArr![indexPath.row]
  124. }
  125. func sheetView(_ sheetView: SheetView!, cellWithColorAtIndexRow indexRow: IndexPath!) -> Bool {
  126. return indexRow.row % 2 == 0 ? true : false
  127. }
  128. }