1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
//
// RepairOrderCompletedViewController.swift
// IFS
//
// Created by 曹云霄 on 2018/1/15.
// Copyright © 2018年 上海勾芒信息科技有限公司. All rights reserved.
//
import UIKit
import RxSwift
import SwiftyJSON
class RepairOrderCompletedViewController: BaseTableViewController {
/// RxSwift自动释放
let disposeBag = DisposeBag()
/// 已解决
@IBOutlet weak var resolvedButton: UIButton!
/// 未解决
@IBOutlet weak var unsolvedButton: UIButton!
/// 详细完成情况
@IBOutlet weak var remarkTextView: IQTextView!
/// 工单完成ViewModel
lazy final var billCompleteViewModel: RepairOrderDetailViewModel = {
var billCompleteViewModel = RepairOrderDetailViewModel()
return billCompleteViewModel
}()
/// 工单状态回调
var stateBlock: BillStateBlock!
override func viewDidLoad() {
super.viewDidLoad()
uiConfigAction()
}
// MARK: - 工单状态回调
func setStateBlock(_ block: @escaping BillStateBlock) {
self.stateBlock = block
}
// MARK: - UI
fileprivate func uiConfigAction() {
remarkTextView.placeholder = "详细完成情况"
navigationItem.rightBarButtonItem = createButtonItem("完成", nil, self, #selector(RepairOrderCompletedViewController.saveButtonClickAction))
resolvedButton.horizontalCenterImageAndTitle(5)
unsolvedButton.horizontalCenterImageAndTitle(5)
}
// MARK: - 完成工单
@objc fileprivate func saveButtonClickAction() {
billCompleteViewModel.billCompltedModel.finishNote = remarkTextView.text
billCompleteViewModel.billCompltedModel.finish = resolvedButton.isSelected
billCompleteViewModel.billCompltedModel.finishTime = NSDate().httpParameterString()
let finishModel = UCN(kUser().userCode, kUser().userName, kUser().userUuid)
billCompleteViewModel.billCompltedModel.finishUser = finishModel
billCompleteViewModel.billCompltedModel.store = billCompleteViewModel.billDetailModel.store
billCompleteViewModel.billCompltedModel.deviceadree = billCompleteViewModel.billDetailModel.deviceadree
billCompleteViewModel.billCompltedModel.reporterPhone = billCompleteViewModel.billDetailModel.reporterPhone
billCompleteViewModel.complteRepairOrderAction(billCompleteViewModel.billCompltedModel).subscribe(onNext: {[weak self] () in
self?.stateBlock(SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue)
/// 延时一秒调用
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 1.0, execute: {
NotificationCenter.default.post(Notification(name: Notification.Name(rawValue: UPDATE_BILL_LIST)))
})
NotificationCenter.default.post(Notification(name: Notification.Name(rawValue: UPDATE_BILL_DETAIL_LIST)))
ShowMessage("完成成功")
self?.popVC()
}).disposed(by: disposeBag)
}
// MARK: - 已解决
@IBAction func resolvedButtonClickAction(_ sender: UIButton) {
sender.isSelected = true
unsolvedButton.isSelected = false
}
// MARK: - 未解决
@IBAction func unsolvedButtonClickAction(_ sender: UIButton) {
sender.isSelected = true
resolvedButton.isSelected = false
}
override func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
if section == 0 {
return kSectionZero
}
return kSectionTen
}
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return kSectionZero
}
}