Commit 2bf0a5c7 authored by 哈南's avatar 哈南

IFSBug修复

parent ee7fb9fb
...@@ -32,7 +32,7 @@ extension AppDelegate:JPUSHRegisterDelegate{ ...@@ -32,7 +32,7 @@ extension AppDelegate:JPUSHRegisterDelegate{
entity.types = Int(JPAuthorizationOptions.alert.rawValue|JPAuthorizationOptions.badge.rawValue|JPAuthorizationOptions.sound.rawValue) entity.types = Int(JPAuthorizationOptions.alert.rawValue|JPAuthorizationOptions.badge.rawValue|JPAuthorizationOptions.sound.rawValue)
JPUSHService.register(forRemoteNotificationConfig: entity, delegate: self) JPUSHService.register(forRemoteNotificationConfig: entity, delegate: self)
JPUSHService.setup(withOption: launchOptions, appKey: "6554c0463b6a9ff2262f4d3d", channel: "App Store", apsForProduction: true) JPUSHService.setup(withOption: launchOptions, appKey: "6554c0463b6a9ff2262f4d3d", channel: "App Store", apsForProduction: false)
} }
} }
...@@ -110,7 +110,21 @@ public enum CHILD_BILL_EDIT_SECTION: Int { ...@@ -110,7 +110,21 @@ public enum CHILD_BILL_EDIT_SECTION: Int {
public enum TODO_STATE: String { public enum TODO_STATE: String {
case INIT = "init" case INIT = "init"
case DREW = "drew" case DREW = "drew"
case PROCESSING = "processing"
case ALL = "all" case ALL = "all"
func getStateString() -> String{
switch self {
case .INIT:
return "未开始"
case .DREW:
return "已领单"
case .PROCESSING:
return "处理中"
case .ALL:
return ""
}
}
} }
......
...@@ -13,13 +13,27 @@ import Foundation ...@@ -13,13 +13,27 @@ import Foundation
//public let BaseUrl: String = "http://192.168.1.176:9030/ifs-server/rest" //public let BaseUrl: String = "http://192.168.1.176:9030/ifs-server/rest"
//public let BaseAttachmentUrl: String = "http://192.168.1.176:9030" //public let BaseAttachmentUrl: String = "http://192.168.1.176:9030"
//重庆IFS测试环境
//public let BaseUrl: String="http://222.180.250.18:7080/ifs-server/rest/"
//public let BaseAttachmentUrl: String="http://222.180.250.18:7080"
//成都IFS测试环境
//public let BaseUrl: String="http://183.221.125.236:7080/ifs-server/rest/"
//public let BaseAttachmentUrl: String="http://183.221.125.236:7080"
////重庆IFS正式环境
//public let BaseUrl: String="http://222.180.250.18:7090/ifs-server/rest/"
//public let BaseAttachmentUrl: String="http://222.180.250.18:7090"
//正式环境
//public let BaseUrl: String = "http://222.180.250.18:7090/ifs-server/rest"
//public let BaseAttachmentUrl: String = "http://222.180.250.18:7090"
//测试环境 //测试环境
public let BaseUrl: String = "http://222.180.250.18:7080/ifs-server/rest" //public let BaseUrl: String = "http://183.221.125.236:7080/ifs-server/rest"
public let BaseAttachmentUrl: String = "http://222.180.250.18:7080" //public let BaseAttachmentUrl: String = "http://183.221.125.236:7080"
//外网开发环境 //外网开发环境
//public let BaseUrl: String = "http://dev.gomoretech.com/ifs-server/rest" public let BaseUrl: String = "http://dev.gomoretech.com/ifs-server/rest"
//public let BaseAttachmentUrl: String = "http://dev.gomoretech.com" public let BaseAttachmentUrl: String = "http://dev.gomoretech.com"
/// 登录 /// 登录
public let loginUrl: String = "/user/login/%@" public let loginUrl: String = "/user/login/%@"
...@@ -90,6 +104,10 @@ public let storeSubOrgs: String = "/store/getSubOrgs/%@" ...@@ -90,6 +104,10 @@ public let storeSubOrgs: String = "/store/getSubOrgs/%@"
public let flooryuUrl: String = "/flooryu/query" public let flooryuUrl: String = "/flooryu/query"
/// 获取某一楼宇下的楼层 /// 获取某一楼宇下的楼层
public let floorlayerUrl: String = "/floorlayer/%@/floors" public let floorlayerUrl: String = "/floorlayer/%@/floors"
///工单完成
public let submitMessageRemind: String = "/work/submitMessageRemind/%@/%@"
///子工单完成
public let drawMessageRemind: String = "/work/drawMessageRemind/%@/%@"
......
...@@ -80,6 +80,10 @@ public enum Service { ...@@ -80,6 +80,10 @@ public enum Service {
case UpdateVersion() case UpdateVersion()
// MARK: - 修改密码 // MARK: - 修改密码
case ChangePassword(String) case ChangePassword(String)
// MARK: - 完成工单消息
case CompleteMessageRemind(String,String)
// MARK: - 子工单消息
case ChildOrderComplete(String,String)
} }
extension Service: TargetType { extension Service: TargetType {
...@@ -166,6 +170,12 @@ extension Service: TargetType { ...@@ -166,6 +170,12 @@ extension Service: TargetType {
case .UsefulWorkBill(let uuid): case .UsefulWorkBill(let uuid):
let path = String(format: usefulWorkBill, uuid) + "?operator.operId=\(kUser().userCode!)&operator.operName=\(kUser().userName!)&time=\(NSDate().httpParameterString()!)" let path = String(format: usefulWorkBill, uuid) + "?operator.operId=\(kUser().userCode!)&operator.operName=\(kUser().userName!)&time=\(NSDate().httpParameterString()!)"
return path.urlEncoded() return path.urlEncoded()
case .CompleteMessageRemind(let uuid, let step):
let path = String(format: submitMessageRemind, uuid,step)
return path.urlEncoded()
case .ChildOrderComplete(let uuid, let step):
let path = String(format: drawMessageRemind, uuid,step)
return path.urlEncoded()
} }
} }
...@@ -204,7 +214,9 @@ extension Service: TargetType { ...@@ -204,7 +214,9 @@ extension Service: TargetType {
.QueryStoreByUserId, .QueryStoreByUserId,
.QueryStoreSubOrgs(_), .QueryStoreSubOrgs(_),
.QueryInitiator(_), .QueryInitiator(_),
.QueryPrority(): .QueryPrority(),
.ChildOrderComplete(_, _),
.CompleteMessageRemind(_,_):
return .get return .get
} }
} }
...@@ -244,6 +256,8 @@ extension Service: TargetType { ...@@ -244,6 +256,8 @@ extension Service: TargetType {
.QueryStoreByUserId, .QueryStoreByUserId,
.Queryfloorlayer(_), .Queryfloorlayer(_),
.QueryInitiator(_), .QueryInitiator(_),
.CompleteMessageRemind(_,_),
.ChildOrderComplete(_, _),
.QueryPrority(): .QueryPrority():
return .requestPlain return .requestPlain
case .GetRepairOrderDepartment(let model), case .GetRepairOrderDepartment(let model),
......
...@@ -115,6 +115,11 @@ class RepairOrderDetailBgController: BaseViewController { ...@@ -115,6 +115,11 @@ class RepairOrderDetailBgController: BaseViewController {
let completeVc = RepairOrderCompletedViewController.instantiateViewController(.Function) as! RepairOrderCompletedViewController let completeVc = RepairOrderCompletedViewController.instantiateViewController(.Function) as! RepairOrderCompletedViewController
completeVc.setStateBlock({[weak self] (state) in completeVc.setStateBlock({[weak self] (state) in
self?.rapairBillBottomViewAction(state) self?.rapairBillBottomViewAction(state)
Network.request(target: Service.CompleteMessageRemind(self?.detailVc.orderDetailViewModel.billDetailModel.uuid ?? "", "finished"), success: { (json) in
}, failure: { (error) in
})
}) })
completeVc.billCompleteViewModel.billCompltedModel = BillCompletedRequestModel(fromJson: JSON(detailVc.orderDetailViewModel.billDetailModel.toDictionary())) completeVc.billCompleteViewModel.billCompltedModel = BillCompletedRequestModel(fromJson: JSON(detailVc.orderDetailViewModel.billDetailModel.toDictionary()))
pushVC(completeVc) pushVC(completeVc)
...@@ -122,6 +127,7 @@ class RepairOrderDetailBgController: BaseViewController { ...@@ -122,6 +127,7 @@ class RepairOrderDetailBgController: BaseViewController {
// MARK: - 工单底部view // MARK: - 工单底部view
fileprivate func rapairBillBottomViewAction(_ state: String) { fileprivate func rapairBillBottomViewAction(_ state: String) {
if state == SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue || state == SUBMIT_REPAIR_ORDER_STATE.DELETED.rawValue || state == SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue || state == SUBMIT_REPAIR_ORDER_STATE.CREATED.rawValue { if state == SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue || state == SUBMIT_REPAIR_ORDER_STATE.DELETED.rawValue || state == SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue || state == SUBMIT_REPAIR_ORDER_STATE.CREATED.rawValue {
bottomLayoutHeight.constant = 0 bottomLayoutHeight.constant = 0
UIView.animate(withDuration: kAnimationTime, animations: { UIView.animate(withDuration: kAnimationTime, animations: {
......
...@@ -183,6 +183,11 @@ class RepairOrderDetailViewController: BaseTableViewController { ...@@ -183,6 +183,11 @@ class RepairOrderDetailViewController: BaseTableViewController {
self?.getBillDetailAction() self?.getBillDetailAction()
self?.gotoEditingSonOrderVc(indexPath) self?.gotoEditingSonOrderVc(indexPath)
ShowMessage("领取成功") ShowMessage("领取成功")
Network.request(target: Service.ChildOrderComplete(model.uuid, "drew"), success: { (json) in
}, failure: { (error) in
})
}).disposed(by: self!.disposeBag) }).disposed(by: self!.disposeBag)
}) })
}else { }else {
...@@ -196,6 +201,11 @@ class RepairOrderDetailViewController: BaseTableViewController { ...@@ -196,6 +201,11 @@ class RepairOrderDetailViewController: BaseTableViewController {
self?.childBillViewModel.finishChildBillAction().subscribe(onNext: { () in self?.childBillViewModel.finishChildBillAction().subscribe(onNext: { () in
self?.getBillDetailAction() self?.getBillDetailAction()
ShowMessage("子工单完成") ShowMessage("子工单完成")
Network.request(target: Service.ChildOrderComplete(model.uuid, "done"), success: { (json) in
}, failure: { (error) in
})
}).disposed(by:self!.disposeBag) }).disposed(by:self!.disposeBag)
}) })
} }
...@@ -381,6 +391,11 @@ extension RepairOrderDetailViewController { ...@@ -381,6 +391,11 @@ extension RepairOrderDetailViewController {
if model.isEditable { if model.isEditable {
self?.gotoEditingSonOrderVc(indexPath) self?.gotoEditingSonOrderVc(indexPath)
} }
Network.request(target: Service.ChildOrderComplete(model.uuid, "drew"), success: { (json) in
}, failure: { (error) in
})
ShowMessage("领取成功") ShowMessage("领取成功")
}).disposed(by: self!.disposeBag) }).disposed(by: self!.disposeBag)
}) })
......
...@@ -155,7 +155,7 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController { ...@@ -155,7 +155,7 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController {
NotificationCenter.default.post(Notification(name: Notification.Name(rawValue: UPDATE_BILL_DETAIL_LIST))) NotificationCenter.default.post(Notification(name: Notification.Name(rawValue: UPDATE_BILL_DETAIL_LIST)))
}) })
ShowMessage("子工单完成") ShowMessage("子工单完成")
self?.popVC() self?.backUP()
}).disposed(by: self!.disposeBag) }).disposed(by: self!.disposeBag)
}).disposed(by: self!.disposeBag) }).disposed(by: self!.disposeBag)
}) })
...@@ -167,7 +167,16 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController { ...@@ -167,7 +167,16 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController {
navigationItem.rightBarButtonItem = createButtonItem("保存", nil, self, #selector(RepairOrderEditSonOrderViewController.saveButtonClickAction)) navigationItem.rightBarButtonItem = createButtonItem("保存", nil, self, #selector(RepairOrderEditSonOrderViewController.saveButtonClickAction))
} }
} }
func backUP(){
Network.request(target: Service.ChildOrderComplete(self.childBillViewModel.childBillDetailData.uuid, "done"), success: { (json) in
}, failure: { (error) in
})
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.2, execute: {
self.popVC()
})
}
// MARK: - 提交、保存子工单 // MARK: - 提交、保存子工单
@objc fileprivate func saveButtonClickAction() { @objc fileprivate func saveButtonClickAction() {
if !PermissionsManager.saveChildPermissions() { if !PermissionsManager.saveChildPermissions() {
......
...@@ -136,9 +136,10 @@ open class BillDetailData : NSObject{ ...@@ -136,9 +136,10 @@ open class BillDetailData : NSObject{
let executesArray = json["executes"].arrayValue let executesArray = json["executes"].arrayValue
for executesJson in executesArray{ for executesJson in executesArray{
let value = BillDetailExecute(fromJson: executesJson) let value = BillDetailExecute(fromJson: executesJson)
if value.isEditable { executes.append(value)
executes.append(value) // if value.isEditable {
} // executes.append(value)
// }
} }
feedback = json["feedback"].stringValue feedback = json["feedback"].stringValue
feedbackNote = json["feedbackNote"].stringValue feedbackNote = json["feedbackNote"].stringValue
......
...@@ -35,52 +35,52 @@ extension RepairOrderAddViewModel { ...@@ -35,52 +35,52 @@ extension RepairOrderAddViewModel {
ShowMessage("请选择项目") ShowMessage("请选择项目")
return false return false
} }
guard saveOrderModel.source != nil else { // guard saveOrderModel.source != nil else {
ShowMessage("请选择工单来源") // ShowMessage("请选择工单来源")
return false // return false
} // }
guard saveOrderModel.serviceType != nil else { // guard saveOrderModel.serviceType != nil else {
ShowMessage("请选择工单服务类型") // ShowMessage("请选择工单服务类型")
return false // return false
} // }
guard saveOrderModel.level != nil else { // guard saveOrderModel.level != nil else {
ShowMessage("请选择工单优先级") // ShowMessage("请选择工单优先级")
return false // return false
} // }
guard saveOrderModel.reportUser != nil else { // guard saveOrderModel.reportUser != nil else {
ShowMessage("请选择工单报事人") // ShowMessage("请选择工单报事人")
return false // return false
} // }
guard saveOrderModel.receiveTime != nil else { // guard saveOrderModel.receiveTime != nil else {
ShowMessage("请选择工单接报时间") // ShowMessage("请选择工单接报时间")
return false // return false
} // }
guard saveOrderModel.requestTime != nil else { // guard saveOrderModel.requestTime != nil else {
ShowMessage("请选择工单指定时间") // ShowMessage("请选择工单指定时间")
return false // return false
} // }
guard NSString(string: saveOrderModel.reporterPhone).isTelephone() != false else { // guard NSString(string: saveOrderModel.reporterPhone).isTelephone() != false else {
ShowMessage("报事人电话格式不正确") // ShowMessage("报事人电话格式不正确")
return false // return false
} // }
guard saveOrderModel.position != nil else { // guard saveOrderModel.position != nil else {
ShowMessage("请选择工单指定位置") // ShowMessage("请选择工单指定位置")
return false // return false
} // }
guard saveOrderModel.position != nil else { // guard saveOrderModel.position != nil else {
ShowMessage("请选择工单指定位置") // ShowMessage("请选择工单指定位置")
return false // return false
} // }
if sender.isOn { // if sender.isOn {
guard saveOrderModel.device != nil else { // guard saveOrderModel.device != nil else {
ShowMessage("请选择故障设施") // ShowMessage("请选择故障设施")
return false // return false
} // }
guard saveOrderModel.brokenTime != nil else { // guard saveOrderModel.brokenTime != nil else {
ShowMessage("请选择设施故障时间") // ShowMessage("请选择设施故障时间")
return false // return false
} // }
} // }
return true return true
} }
...@@ -193,11 +193,25 @@ extension RepairOrderAddViewModel { ...@@ -193,11 +193,25 @@ extension RepairOrderAddViewModel {
ShowMessage("无数据") ShowMessage("无数据")
return return
} }
YXPickerManager.share().showGeneralPickerView(kMainColor, dataArray: result, defaultString: controller.serviceTypeLabel.text, commit: { (text, index) in let publicFilterVc = FilterViewController.instantiateViewController(.Function) as! FilterViewController
controller.serviceTypeLabel.text = text for model in result {
let filterModel: PublicFilterModel?
if controller.serviceTypeLabel.text!.contains(model) {
filterModel = PublicFilterModel(uuid: "", title: model, isSelected: "\(kONE)")
}else {
filterModel = PublicFilterModel(uuid: "", title: model, isSelected: "\(kZERO)")
}
publicFilterVc.publicViewModel.filterArray.add(filterModel!)
}
controller.pushVC(publicFilterVc)
publicFilterVc.setNavigationTitle("筛选项目",.MULTIPLE, { (choices, index) in
let typeString = choices.map({ (model) -> String in
return model.title
}).joined(separator: ",")
controller.serviceTypeLabel.text = typeString
self?.saveOrderModel.serviceType = typeString
controller.serviceTypeLabel.textColor = kBlackColor controller.serviceTypeLabel.textColor = kBlackColor
self?.saveOrderModel.serviceType = text })
}, cancel: nil)
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
break break
case IndexPath(row: 4, section: 0): case IndexPath(row: 4, section: 0):
......
...@@ -50,7 +50,11 @@ class TodoViewController: BaseTableViewPullController { ...@@ -50,7 +50,11 @@ class TodoViewController: BaseTableViewPullController {
self?.tableView.reloadData() self?.tableView.reloadData()
}.disposed(by: disposeBag) }.disposed(by: disposeBag)
} }
func loadDataWhenDraw() {
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.0) {
self.loadWebDataSource()
}
}
// MARK: - 设置tableview高度 // MARK: - 设置tableview高度
fileprivate func tableViewAnimationHeight() { fileprivate func tableViewAnimationHeight() {
tableView.rowHeight = UITableViewAutomaticDimension tableView.rowHeight = UITableViewAutomaticDimension
...@@ -67,40 +71,54 @@ class TodoViewController: BaseTableViewPullController { ...@@ -67,40 +71,54 @@ class TodoViewController: BaseTableViewPullController {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = todoViewModel.todoResultArray[indexPath.row] let model = todoViewModel.todoResultArray[indexPath.row]
switch model.state { if model.entityType == .work{
case SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue: let detailBgController = UIStoryboard(name: "Function", bundle: nil).instantiateViewController(withIdentifier: RepairOrderDetailBgController.name()) as! RepairOrderDetailBgController
if !PermissionsManager.drawChildPermissions() { detailBgController.billModel = RepairOrderRecord(fromJson: JSON(model.toDictionary()))
ShowMessage("当前用户对此工单没有领取权限!") detailBgController.billModel.uuid = model.entityUuid
return pushVC(detailBgController)
} }else{
ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in switch model.workState {
if index == kZERO { return } case TODO_STATE.INIT:
self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in if !PermissionsManager.drawChildPermissions() {
self?.loadWebDataSource() ShowMessage("当前用户对此工单没有领取权限!")
ShowMessage("领取成功") return
}).disposed(by: self!.disposeBag) }
}) ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in
break if index == kZERO { return }
case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue: self?.orderDetailViewModel.getChildBillAction(model.entityUuid).subscribe(onNext: { () in
if !PermissionsManager.saveChildPermissions() { self?.loadDataWhenDraw()
ShowMessage("当前用户对此工单没有编辑权限!") ShowMessage("领取成功")
return; Network.request(target: Service.ChildOrderComplete(model.entityUuid, "drew"), success: { (json) in
}
let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController }, failure: { (error) in
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc) })
break }).disposed(by: self!.disposeBag)
case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue,SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue: })
if !PermissionsManager.childViewPermissions() { break
ShowMessage("当前用户对此工单没有查看权限!") case TODO_STATE.DREW:
return; if !PermissionsManager.saveChildPermissions() {
ShowMessage("当前用户对此工单没有编辑权限!")
return;
}
let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
childBillVc.billModel.uuid = model.entityUuid
pushVC(childBillVc)
break
case TODO_STATE.PROCESSING:
if !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有查看权限!")
return;
}
let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
childBillVc.billModel.uuid = model.entityUuid
pushVC(childBillVc)
break
default:
break
} }
let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc)
break
default:
break
} }
} }
} }
......
...@@ -57,14 +57,21 @@ class TodoResultModel{ ...@@ -57,14 +57,21 @@ class TodoResultModel{
class TodoData{ class TodoData{
var dateTime : String! enum EntityType:String {
var dept : UCN! case work = "work"
var executeId : String! case workExecute = "workExecute"
var executeNo : String! }
var state : String! var dept: UCN = UCN("", "", "")
var uuid : String! var createTime: String = ""
var uuid: String = ""
var version: String = ""
var state: Bool = false
var content: String = ""
var entityType: EntityType = EntityType.work
var entityUuid: String = ""
var userid: String = ""
var workState:TODO_STATE = TODO_STATE.ALL
var workNo:String = ""
/** /**
* Instantiate the instance using the passed json values to set the properties values * Instantiate the instance using the passed json values to set the properties values
*/ */
...@@ -72,41 +79,52 @@ class TodoData{ ...@@ -72,41 +79,52 @@ class TodoData{
if json.isEmpty{ if json.isEmpty{
return return
} }
dateTime = json["dateTime"].stringValue createTime = json["createTime"].stringValue
uuid = json["uuid"].stringValue
version = json["version"].stringValue
state = json["state"].boolValue
content = json["content"].stringValue
entityType = EntityType(rawValue: json["entityType"].stringValue) ?? EntityType.work
entityUuid = json["entityUuid"].stringValue
userid = json["userid"].stringValue
workState = TODO_STATE(rawValue: json["workState"].stringValue) ?? TODO_STATE.ALL
workNo = json["workNo"].stringValue
let deptJson = json["dept"] let deptJson = json["dept"]
if !deptJson.isEmpty{ if !deptJson.isEmpty{
dept = UCN(fromJson: deptJson) dept = UCN(fromJson: deptJson)
} }
executeId = json["executeId"].stringValue
executeNo = json["executeNo"].stringValue
state = json["state"].stringValue
uuid = json["uuid"].stringValue
} }
/**
* Returns all the available property values in the form of [String:Any] object where the key is the approperiate json key and the value is the value of the corresponding property
*/
func toDictionary() -> [String:Any] func toDictionary() -> [String:Any]
{ {
var dictionary = [String:Any]() var dictionary = [String:Any]()
if dateTime != nil{ if createTime != ""{
dictionary["dateTime"] = dateTime dictionary["createTime"] = createTime
} }
if dept != nil{ if uuid != ""{
dictionary["dept"] = dept.toDictionary() dictionary["uuid"] = uuid
} }
if executeId != nil{ if version != ""{
dictionary["executeId"] = executeId dictionary["version"] = version
} }
if executeNo != nil{ dictionary["state"] = state
dictionary["executeNo"] = executeNo if content != ""{
dictionary["content"] = content
} }
if state != nil{ dictionary["entityType"] = entityType.rawValue
dictionary["state"] = state if entityUuid != ""{
dictionary["entityUuid"] = entityUuid
} }
if uuid != nil{ if userid != ""{
dictionary["uuid"] = uuid dictionary["userid"] = userid
}
if workNo != ""{
dictionary["workNo"] = workNo
}
if dept.name != nil{
dictionary["dept"] = dept.toDictionary()
} }
dictionary["workState"] = workState.rawValue
return dictionary return dictionary
} }
......
...@@ -26,9 +26,14 @@ class TodoTableViewCell: UITableViewCell { ...@@ -26,9 +26,14 @@ class TodoTableViewCell: UITableViewCell {
// MARK: - 更新待办cell // MARK: - 更新待办cell
func updateTodoCell(_ model: TodoData, _ indexPath: IndexPath) { func updateTodoCell(_ model: TodoData, _ indexPath: IndexPath) {
titleCodeLabel.text = String(format: "%@(%@)", model.dept.name,model.dept.code) if model.entityType == .work{
operationDateLabel.text = String(format: "转交时间:%@", model.dateTime) titleCodeLabel.text = "工单单号:" + (model.workNo == "" ? "无数据" : model.workNo)
todoStateLabel.text = repairOrderChineseState(model.state) }else{
let titleString = model.dept.code != "" ? "(\(model.dept.code ?? ""))" : " "
titleCodeLabel.text = model.dept.name + titleString
}
operationDateLabel.text = String(format: "%@", model.createTime)
todoStateLabel.text = model.workState.getStateString()
} }
} }
...@@ -33,9 +33,9 @@ class TodoViewModel: BaseViewModel { ...@@ -33,9 +33,9 @@ class TodoViewModel: BaseViewModel {
/// - page: 页数 /// - page: 页数
/// - state: 状态 /// - state: 状态
func queryTodoAction(_ state: TODO_STATE) ->Observable<Void> { func queryTodoAction(_ state: TODO_STATE) ->Observable<Void> {
queryModel.stateEquals = state.rawValue queryModel.workState = state.rawValue
if state == .ALL { if state == .ALL {
queryModel.stateEquals = nil queryModel.workState = nil
} }
return Observable.create({ (observer) -> Disposable in return Observable.create({ (observer) -> Disposable in
Network.request(target: .QueryTodo(self.queryModel), success: {[weak self] (json) in Network.request(target: .QueryTodo(self.queryModel), success: {[weak self] (json) in
......
...@@ -57,7 +57,12 @@ class HomeTableViewController: BaseTableViewPullController { ...@@ -57,7 +57,12 @@ class HomeTableViewController: BaseTableViewPullController {
self?.reloadData() self?.reloadData()
}.disposed(by: disposeBag) }.disposed(by: disposeBag)
} }
func delyLoadData(){
ShowLoadingView()
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 3) {
self.loadWebDataSource()
}
}
override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
return todoViewModel.dequeueReusableHomeCell(HomeTableViewCell.name(), indexPath, tableView) return todoViewModel.dequeueReusableHomeCell(HomeTableViewCell.name(), indexPath, tableView)
} }
...@@ -69,44 +74,59 @@ class HomeTableViewController: BaseTableViewPullController { ...@@ -69,44 +74,59 @@ class HomeTableViewController: BaseTableViewPullController {
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat { func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 60 return 60
} }
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
let model = todoViewModel.todoResultArray[indexPath.row] let model = todoViewModel.todoResultArray[indexPath.row]
switch model.state { if model.entityType == .work{
case SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue: let detailBgController = UIStoryboard(name: "Function", bundle: nil).instantiateViewController(withIdentifier: RepairOrderDetailBgController.name()) as! RepairOrderDetailBgController
if !PermissionsManager.drawChildPermissions() { detailBgController.billModel = RepairOrderRecord(fromJson: JSON(model.toDictionary()))
ShowMessage("当前用户对此工单没有领取权限!") detailBgController.billModel.uuid = model.entityUuid
return pushVC(detailBgController)
} }else{
ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in switch model.workState {
if index == kZERO { return } case TODO_STATE.INIT:
self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in if !PermissionsManager.drawChildPermissions() {
self?.loadWebDataSource() ShowMessage("当前用户对此工单没有领取权限!")
ShowMessage("领取成功") return
}).disposed(by: self!.disposeBag) }
}) ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in
break if index == kZERO { return }
case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue: self?.orderDetailViewModel.getChildBillAction(model.entityUuid).subscribe(onNext: { () in
if !PermissionsManager.saveChildPermissions() { self?.loadWebDataSource()
ShowMessage("当前用户对此工单没有编辑权限!") Network.request(target: Service.ChildOrderComplete(model.entityUuid, "drew"), success: { (json) in
return;
} }, failure: { (error) in
let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary())) })
pushVC(childBillVc) ShowMessage("领取成功")
break self?.delyLoadData()
case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue,SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue: }).disposed(by: self!.disposeBag)
if !PermissionsManager.childViewPermissions() { })
ShowMessage("当前用户对此工单没有查看权限!") break
return; case TODO_STATE.DREW:
if !PermissionsManager.saveChildPermissions() {
ShowMessage("当前用户对此工单没有编辑权限!")
return;
}
let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
childBillVc.billModel.uuid = model.entityUuid
pushVC(childBillVc)
break
case TODO_STATE.PROCESSING:
if !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有查看权限!")
return;
}
let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
childBillVc.billModel.uuid = model.entityUuid
pushVC(childBillVc)
break
default:
break
} }
let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc)
break
default:
break
} }
} }
......
...@@ -12,8 +12,9 @@ public class QueryTodoModel { ...@@ -12,8 +12,9 @@ public class QueryTodoModel {
var userId: String! var userId: String!
//drew 已领单 //drew 已领单
//init 未开始 //init 未开始
var stateEquals: String! var stateEquals: String = "false"
var entityType: String! var entityType: String!
var workState:String!
// var page: Int! // var page: Int!
// var pageSize: Int! // var pageSize: Int!
...@@ -29,6 +30,9 @@ public class QueryTodoModel { ...@@ -29,6 +30,9 @@ public class QueryTodoModel {
if entityType != nil{ if entityType != nil{
dictionary["entityType"] = entityType dictionary["entityType"] = entityType
} }
if workState != nil{
dictionary["workState"] = workState
}
// if page != nil{ // if page != nil{
// dictionary["page"] = page // dictionary["page"] = page
// } // }
......
...@@ -21,8 +21,13 @@ class HomeTableViewCell: UITableViewCell { ...@@ -21,8 +21,13 @@ class HomeTableViewCell: UITableViewCell {
// MARK: - 更新待办cell // MARK: - 更新待办cell
func updateTodoCell(_ model: TodoData, _ indexPath: IndexPath) { func updateTodoCell(_ model: TodoData, _ indexPath: IndexPath) {
departmentLabel.text = String(format: "%@(%@)", model.dept.name,model.dept.code) if model.entityType == .work{
orderTimeLabel.text = String(format: "转交时间:%@", model.dateTime) departmentLabel.text = model.workNo
}else{
let titleString = model.dept.code != "" ? "(\(model.dept.code ?? ""))" : " "
departmentLabel.text = model.dept.name + titleString
}
orderTimeLabel.text = String(format: "创建时间:%@", model.createTime)
} }
} }
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -17,9 +17,9 @@ ...@@ -17,9 +17,9 @@
<key>CFBundlePackageType</key> <key>CFBundlePackageType</key>
<string>APPL</string> <string>APPL</string>
<key>CFBundleShortVersionString</key> <key>CFBundleShortVersionString</key>
<string>1.0.5</string> <string>1.0.6</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.0.5</string> <string>1.0.6</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSAppTransportSecurity</key> <key>NSAppTransportSecurity</key>
......
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