Commit 4c0f7d31 authored by 刘俊宏's avatar 刘俊宏

基本完善工作中心(缺图)

parent a3fcb8d9
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
import UIKit import UIKit
import SwiftDate
protocol TimeSelectViewDelgate { protocol TimeSelectViewDelgate {
...@@ -92,8 +93,6 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate { ...@@ -92,8 +93,6 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
var beginDateByWork: Date? = nil var beginDateByWork: Date? = nil
func setOldDate (beginD: Date , endD:Date) { func setOldDate (beginD: Date , endD:Date) {
// let previousDate = self.gregorian.date(byAdding: .day, value: -1, to: beginD)!
// let nextDate = self.gregorian.date(byAdding: .day, value: -1, to: endD)!
let selectArr = calendarC.selectedDates let selectArr = calendarC.selectedDates
for select in selectArr{ for select in selectArr{
...@@ -112,6 +111,9 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate { ...@@ -112,6 +111,9 @@ class TimeSelectView: UIView, FSCalendarDataSource, FSCalendarDelegate {
self.configureVisibleCells() self.configureVisibleCells()
} }
// let date1 = "2018-12-14 08:30:00".toDate()!
// print("指定日期当天的开始时间:", date1.dateAtStartOf(.day).date)
// print("指定日期当天的结束时间:", date1.dateAtEndOf(.day).date)
func clearTheSelect(){ func clearTheSelect(){
let selectArr = calendarC.selectedDates let selectArr = calendarC.selectedDates
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import Foundation import Foundation
protocol WorkSelectTimeViewDelegate { protocol WorkSelectTimeViewDelegate {
func selectWorkIndx(sender:Int) func selectWorkIndx(sender:Int,beginDate: Date?, endginDate: Date?)
} }
class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{
...@@ -20,7 +20,7 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{ ...@@ -20,7 +20,7 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{
timeView.removeFromSuperview() timeView.removeFromSuperview()
wContentHeight.constant = 73 wContentHeight.constant = 73
} }
self.delegate?.selectWorkIndx(sender: selectIndex) self.delegate?.selectWorkIndx(sender: selectIndex, beginDate: nil, endginDate: nil)
self.removeFromSuperview() self.removeFromSuperview()
} }
...@@ -89,13 +89,13 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{ ...@@ -89,13 +89,13 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{
addTimeView() addTimeView()
}else{ }else{
wContentHeight.constant = 73 wContentHeight.constant = 73
//还需要传文字出 //还需要传文字出
self.delegate?.selectWorkIndx(sender: sender.tag) self.delegate?.selectWorkIndx(sender: sender.tag, beginDate: nil, endginDate: nil)
self.removeFromSuperview() self.removeFromSuperview()
} }
} }
let timeView = UIView() let timeView = UIView()
weak var CalendarV:TimeSelectView?
func addTimeView() { func addTimeView() {
let line = UIView() let line = UIView()
line.backgroundColor = UIColor.init(named: "灰色分界线") line.backgroundColor = UIColor.init(named: "灰色分界线")
...@@ -110,7 +110,7 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{ ...@@ -110,7 +110,7 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{
calendarV.moreSelection = true calendarV.moreSelection = true
timeView.addSubview(calendarV) timeView.addSubview(calendarV)
calendarV.delegate = self calendarV.delegate = self
CalendarV = calendarV
let line2 = UIView() let line2 = UIView()
line2.backgroundColor = UIColor.init(named: "灰色分界线") line2.backgroundColor = UIColor.init(named: "灰色分界线")
timeView.addSubview(line2) timeView.addSubview(line2)
...@@ -157,7 +157,15 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{ ...@@ -157,7 +157,15 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{
} }
let timeLbl = UILabel() let timeLbl = UILabel()
timeLbl.text = "2020.4.15-2020.4.23" if BeginDate != nil && EndDate != nil {
let timeInterval:TimeInterval = BeginDate.timeIntervalSince1970
let timeIntervalEnd:TimeInterval = EndDate.timeIntervalSince1970
timeLbl.text = dayByDouble(sender: timeInterval) + "-" + dayByDouble(sender: timeIntervalEnd)
calendarV.setOldDate(beginD: BeginDate!, endD: EndDate!)
}else{
timeLbl.text = "-"
}
timeLbl.font = UIFont.systemFont(ofSize: 13) timeLbl.font = UIFont.systemFont(ofSize: 13)
timeLbl.textColor = UIColor.init(named: "蓝色字体颜色") timeLbl.textColor = UIColor.init(named: "蓝色字体颜色")
timeView.addSubview(timeLbl) timeView.addSubview(timeLbl)
...@@ -165,17 +173,34 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{ ...@@ -165,17 +173,34 @@ class WorkSelectTimeView: UIView ,TimeSelectViewDelgate{
make.centerY.equalTo(kuangV) make.centerY.equalTo(kuangV)
make.left.equalTo(kuangV.snp_left).offset(10*glscale) make.left.equalTo(kuangV.snp_left).offset(10*glscale)
} }
TimeLbl = timeLbl
} }
weak var TimeLbl:UILabel?
func selectMoreDate(beginDate: Date, endginDate: Date) { func selectMoreDate(beginDate: Date, endginDate: Date) {
print("选择日期·····") print("选择日期·····")
let timeInterval:TimeInterval = beginDate.timeIntervalSince1970
let timeIntervalEnd:TimeInterval = endginDate.timeIntervalSince1970
TimeLbl!.text = dayByDouble(sender: timeInterval) + "-" + dayByDouble(sender: timeIntervalEnd)
EndDate = endginDate
BeginDate = beginDate
} }
@objc func clearBtnAction(sender:UIButton){ @objc func clearBtnAction(sender:UIButton){
print("清除日期·····") print("清除日期·····")
TimeLbl!.text = "-"
BeginDate = nil
EndDate = nil
CalendarV!.clearTheSelect()
} }
var BeginDate: Date! = nil
var EndDate: Date! = nil
@objc func sureBtnAction(sender:UIButton){ @objc func sureBtnAction(sender:UIButton){
//还要传日期文本出去 //还要传日期文本出去
self.delegate?.selectWorkIndx(sender: 1004) if BeginDate == nil || EndDate == nil {
HUD.flash(.label("请选择自定义时间段"),delay: 1.2)
return
}
self.delegate?.selectWorkIndx(sender: 1004, beginDate: BeginDate, endginDate: EndDate)
self.removeFromSuperview() self.removeFromSuperview()
} }
......
...@@ -9,7 +9,9 @@ ...@@ -9,7 +9,9 @@
import UIKit import UIKit
import RealmSwift import RealmSwift
import IQKeyboardManagerSwift import IQKeyboardManagerSwift
class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewDataSource ,WorkSelectTimeViewDelegate,WorkItemTableViewCellDelegate{ import SwiftDate
class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewDataSource ,WorkSelectTimeViewDelegate,WorkItemTableViewCellDelegate,EditWorkCViewControllerDelegate{
@IBOutlet weak var topNavBtn: UIButton! @IBOutlet weak var topNavBtn: UIButton!
@IBOutlet weak var contentView: UIView! @IBOutlet weak var contentView: UIView!
...@@ -22,26 +24,11 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -22,26 +24,11 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
IQKeyboardManager.shared.enable = true IQKeyboardManager.shared.enable = true
IQKeyboardManager.shared.shouldResignOnTouchOutside = true IQKeyboardManager.shared.shouldResignOnTouchOutside = true
//每次进来都更新,之前在其他页面更新过的本地数据 //MARK:--每次进来都更新
//查询所有记录 if self.dataModel == nil {
let items = realm.objects(WorkDataModel.self) updataUIbyEditWorkSave()
// 已经有记录的话就不插入了
if items.count > 0 {
print("有数据哦--")
let workTestMd:WorkDataModel = items[0];
let dataModelStr = workTestMd.dataModelStr
self.dataModel = WorkcenterIndexDataModel(JSONString: dataModelStr)
//旧的常用功能
let oftenStr = workTestMd.oftenArrStr
if oftenStr.count > 0 {
self.oftenArr?.removeAll()
self.oftenArr = Array<WorkcenterIndexAuthResModel>(JSONString: oftenStr)
}
self.tableV.reloadData()
}else{ }else{
print("没有数据hehe--") loadData()
} }
} }
...@@ -74,6 +61,8 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -74,6 +61,8 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
make.top.equalTo(contentView) make.top.equalTo(contentView)
make.left.right.bottom.equalToSuperview() make.left.right.bottom.equalToSuperview()
} }
selectV.BeginDate = starTime
selectV.EndDate = endTime
topNavBtn.setImage(UIImage.init(named: "workzhankai"), for: .normal) topNavBtn.setImage(UIImage.init(named: "workzhankai"), for: .normal)
}else{ }else{
selectV.removeFromSuperview() selectV.removeFromSuperview()
...@@ -81,27 +70,43 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -81,27 +70,43 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
} }
} }
//MARK:--时间选择视图反馈 //MARK:--时间选择视图反馈
func selectWorkIndx(sender: Int) { func selectWorkIndx(sender: Int, beginDate: Date?, endginDate: Date?) {
selelctIndex = sender; selelctIndex = sender;
topNavBtn.setImage(UIImage.init(named: "workxiala"), for: .normal) topNavBtn.setImage(UIImage.init(named: "workxiala"), for: .normal)
topNavBtn.isSelected = false topNavBtn.isSelected = false
switch sender { switch sender {
case 1001: case 1001:
topNavBtn.setTitle("今日", for: .normal) topNavBtn.setTitle("今日", for: .normal)
endTime = Date()
starTime = DateInRegion().dateAt(.startOfDay).date //今天开始时间
loadData()
break break
case 1002: case 1002:
topNavBtn.setTitle("本周", for: .normal) topNavBtn.setTitle("本周", for: .normal)
endTime = Date()
starTime = DateInRegion().dateAt(.startOfWeek).date + 1.days //当周周一开始时间
loadData()
break break
case 1003: case 1003:
topNavBtn.setTitle("本月", for: .normal) topNavBtn.setTitle("本月", for: .normal)
endTime = Date()
starTime = DateInRegion().dateAt(.startOfMonth).date //本月开始时间
loadData()
break break
case 1004: case 1004:
topNavBtn.setTitle("自定义时间", for: .normal) let timeInterval:TimeInterval = beginDate!.timeIntervalSince1970
let timeIntervalEnd:TimeInterval = endginDate!.timeIntervalSince1970
let timestr = dayByDouble(sender: timeInterval) + "-" + dayByDouble(sender: timeIntervalEnd)
topNavBtn.setTitle(timestr, for: .normal)
endTime = endginDate!
starTime = beginDate!
loadData()
break break
default: default:
break break
} }
} }
//MARK:--列表视图 //MARK:--列表视图
var tableV :UITableView! var tableV :UITableView!
...@@ -131,6 +136,9 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -131,6 +136,9 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
} }
//MARK:--使用默认的数据库 //MARK:--使用默认的数据库
var endTime = Date()
var starTime = DateInRegion().dateAt(.startOfDay).date
let realm = try! Realm() let realm = try! Realm()
var dataModel:WorkcenterIndexDataModel? = nil var dataModel:WorkcenterIndexDataModel? = nil
var oftenArr:Array<WorkcenterIndexAuthResModel>? = [] var oftenArr:Array<WorkcenterIndexAuthResModel>? = []
...@@ -138,10 +146,13 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -138,10 +146,13 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
@objc func loadData() { @objc func loadData() {
print("请求网络数据") print("请求网络数据")
let UserToken = UserDefaults.standard.value(forKey: "user_token") let UserToken = UserDefaults.standard.value(forKey: "user_token")
let today = Date() let star_time = Int(starTime.timeIntervalSince1970)
let endTime = Int(today.timeIntervalSince1970) let end_time = Int(endTime.timeIntervalSince1970)
//从周一开始(国际时间是从周日)
print("本周开始时间:", DateInRegion().dateAt(.startOfWeek).date + 1.days)
WorkcenterIndex(["user_token":UserToken as Any,"star_time":"","end_time":endTime as Any], success: { (data) in WorkcenterIndex(["user_token":UserToken as Any,"star_time":star_time as Any,"end_time":end_time as Any], success: { (data) in
let dataM = data as! WorkcenterIndexModel let dataM = data as! WorkcenterIndexModel
if dataM.code == 1 { if dataM.code == 1 {
self.dataModel = dataM.data self.dataModel = dataM.data
...@@ -183,8 +194,8 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -183,8 +194,8 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
let oftenStr = self.oftenArr?.toJSONString() let oftenStr = self.oftenArr?.toJSONString()
let saveModel = WorkDataModel() let saveModel = WorkDataModel()
saveModel.dataModelStr = modelStr! saveModel.dataModelStr = modelStr!
saveModel.star_time = 0 saveModel.star_time = star_time
saveModel.end_time = today saveModel.end_time = end_time
saveModel.oftenArrStr = oftenStr! saveModel.oftenArrStr = oftenStr!
// 数据持久化操作--(退出登录的话,或者token异常那里,全部要删除) // 数据持久化操作--(退出登录的话,或者token异常那里,全部要删除)
try! self.realm.write { try! self.realm.write {
...@@ -277,6 +288,7 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -277,6 +288,7 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
print("点中cell--\(indexPath.row)") print("点中cell--\(indexPath.row)")
if indexPath.row == 1 { if indexPath.row == 1 {
let vc = EditWorkCViewController() let vc = EditWorkCViewController()
vc.delegate = self
vc.oftenArr = self.oftenArr vc.oftenArr = self.oftenArr
vc.dataModel = self.dataModel vc.dataModel = self.dataModel
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
...@@ -286,6 +298,7 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -286,6 +298,7 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
//MARK:--常用功能无数据跳转 //MARK:--常用功能无数据跳转
func WorkItemNoDataTableViewCell() { func WorkItemNoDataTableViewCell() {
let vc = EditWorkCViewController() let vc = EditWorkCViewController()
vc.delegate = self
vc.oftenArr = self.oftenArr vc.oftenArr = self.oftenArr
vc.dataModel = self.dataModel vc.dataModel = self.dataModel
self.navigationController?.pushViewController(vc, animated: true) self.navigationController?.pushViewController(vc, animated: true)
...@@ -401,6 +414,29 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD ...@@ -401,6 +414,29 @@ class WorkCViewController: BaseViewController, UITableViewDelegate, UITableViewD
break break
} }
} }
//MARK:--编辑页面保存回调(主要增加使用体验)不应网络请求出差而无法改变
func updataUIbyEditWorkSave() {
//查询所有记录
let items = realm.objects(WorkDataModel.self)
// 已经有记录的话就不插入了
if items.count > 0 {
print("有数据哦--")
let workTestMd:WorkDataModel = items[0];
let dataModelStr = workTestMd.dataModelStr
self.dataModel = WorkcenterIndexDataModel(JSONString: dataModelStr)
//旧的常用功能
let oftenStr = workTestMd.oftenArrStr
if oftenStr.count > 0 {
self.oftenArr?.removeAll()
self.oftenArr = Array<WorkcenterIndexAuthResModel>(JSONString: oftenStr)
}
self.tableV.reloadData()
}else{
print("没有数据hehe--")
}
}
} }
...@@ -14,7 +14,7 @@ class WorkDataModel:Object { ...@@ -14,7 +14,7 @@ class WorkDataModel:Object {
//类型名 //类型名
@objc dynamic var dataModelStr = "" @objc dynamic var dataModelStr = ""
@objc dynamic var star_time = 0 @objc dynamic var star_time = 0
@objc dynamic var end_time = Date() @objc dynamic var end_time = 0
@objc dynamic var oftenArrStr = "" @objc dynamic var oftenArrStr = ""
} }
......
...@@ -9,10 +9,13 @@ ...@@ -9,10 +9,13 @@
import UIKit import UIKit
import RealmSwift import RealmSwift
protocol EditWorkCViewControllerDelegate {
func updataUIbyEditWorkSave()
}
class EditWorkCViewController: BaseViewController, UICollectionViewDelegate, UICollectionViewDataSource ,UICollectionViewDelegateFlowLayout, GeliAlertViewDelegate{ class EditWorkCViewController: BaseViewController, UICollectionViewDelegate, UICollectionViewDataSource ,UICollectionViewDelegateFlowLayout, GeliAlertViewDelegate{
var delegate: EditWorkCViewControllerDelegate?
var dataModel:WorkcenterIndexDataModel? = nil var dataModel:WorkcenterIndexDataModel? = nil
var oftenArr:Array<WorkcenterIndexAuthResModel>? = [] //常用功能 var oftenArr:Array<WorkcenterIndexAuthResModel>? = [] //常用功能
//MARK:--一级分类 //MARK:--一级分类
...@@ -96,7 +99,7 @@ class EditWorkCViewController: BaseViewController, UICollectionViewDelegate, UIC ...@@ -96,7 +99,7 @@ class EditWorkCViewController: BaseViewController, UICollectionViewDelegate, UIC
workTestMd.oftenArrStr = oftenStr! workTestMd.oftenArrStr = oftenStr!
} }
HUD.flash(.label("保存成功"), onView: nil, delay: 1.2) { (istrue) in HUD.flash(.label("保存成功"), onView: nil, delay: 1.2) { (istrue) in
self.delegate?.updataUIbyEditWorkSave()
self.navigationController?.popViewController(animated: true) self.navigationController?.popViewController(animated: true)
} }
}else{ }else{
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment