Commit a8fd545f authored by 曹云霄's avatar 曹云霄

添加功能权限,发布1.0.2正式版

parent 714c2739
...@@ -8,6 +8,9 @@ ...@@ -8,6 +8,9 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
29278C412004986800656DF1 /* TodoResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29278C402004986800656DF1 /* TodoResultModel.swift */; }; 29278C412004986800656DF1 /* TodoResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 29278C402004986800656DF1 /* TodoResultModel.swift */; };
294B8642201974930035BF32 /* PermissionsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 294B8641201974930035BF32 /* PermissionsManager.swift */; };
294B8646201AECAD0035BF32 /* ProjectQueryModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 294B8645201AECAC0035BF32 /* ProjectQueryModel.swift */; };
294B8648201AF2DB0035BF32 /* ProjectResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 294B8647201AF2DB0035BF32 /* ProjectResultModel.swift */; };
295064B7200C9E50008DC8DD /* AttachmentReponseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295064B6200C9E4F008DC8DD /* AttachmentReponseModel.swift */; }; 295064B7200C9E50008DC8DD /* AttachmentReponseModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295064B6200C9E4F008DC8DD /* AttachmentReponseModel.swift */; };
295064B9200CAA6B008DC8DD /* AttachmentResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295064B8200CAA6B008DC8DD /* AttachmentResultModel.swift */; }; 295064B9200CAA6B008DC8DD /* AttachmentResultModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295064B8200CAA6B008DC8DD /* AttachmentResultModel.swift */; };
295064BB200CC7F5008DC8DD /* ChildBillSaveOrUpdateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295064BA200CC7F5008DC8DD /* ChildBillSaveOrUpdateModel.swift */; }; 295064BB200CC7F5008DC8DD /* ChildBillSaveOrUpdateModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295064BA200CC7F5008DC8DD /* ChildBillSaveOrUpdateModel.swift */; };
...@@ -132,6 +135,9 @@ ...@@ -132,6 +135,9 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
29278C402004986800656DF1 /* TodoResultModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TodoResultModel.swift; sourceTree = "<group>"; }; 29278C402004986800656DF1 /* TodoResultModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TodoResultModel.swift; sourceTree = "<group>"; };
294B8641201974930035BF32 /* PermissionsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = PermissionsManager.swift; sourceTree = "<group>"; };
294B8645201AECAC0035BF32 /* ProjectQueryModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectQueryModel.swift; sourceTree = "<group>"; };
294B8647201AF2DB0035BF32 /* ProjectResultModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ProjectResultModel.swift; sourceTree = "<group>"; };
295064B6200C9E4F008DC8DD /* AttachmentReponseModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttachmentReponseModel.swift; sourceTree = "<group>"; }; 295064B6200C9E4F008DC8DD /* AttachmentReponseModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttachmentReponseModel.swift; sourceTree = "<group>"; };
295064B8200CAA6B008DC8DD /* AttachmentResultModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttachmentResultModel.swift; sourceTree = "<group>"; }; 295064B8200CAA6B008DC8DD /* AttachmentResultModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AttachmentResultModel.swift; sourceTree = "<group>"; };
295064BA200CC7F5008DC8DD /* ChildBillSaveOrUpdateModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChildBillSaveOrUpdateModel.swift; sourceTree = "<group>"; }; 295064BA200CC7F5008DC8DD /* ChildBillSaveOrUpdateModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ChildBillSaveOrUpdateModel.swift; sourceTree = "<group>"; };
...@@ -274,6 +280,14 @@ ...@@ -274,6 +280,14 @@
/* End PBXFrameworksBuildPhase section */ /* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */ /* Begin PBXGroup section */
294B86402019746B0035BF32 /* Permissions */ = {
isa = PBXGroup;
children = (
294B8641201974930035BF32 /* PermissionsManager.swift */,
);
path = Permissions;
sourceTree = "<group>";
};
296AAC951FFDF462008BE04C /* SearchVc */ = { 296AAC951FFDF462008BE04C /* SearchVc */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -304,6 +318,8 @@ ...@@ -304,6 +318,8 @@
29F6B8EB2007488C00EE4630 /* DeviceModel.swift */, 29F6B8EB2007488C00EE4630 /* DeviceModel.swift */,
29F6B8F9200884F900EE4630 /* PublicModel.swift */, 29F6B8F9200884F900EE4630 /* PublicModel.swift */,
29F6B8ED2007498A00EE4630 /* DeviceQueryModel.swift */, 29F6B8ED2007498A00EE4630 /* DeviceQueryModel.swift */,
294B8645201AECAC0035BF32 /* ProjectQueryModel.swift */,
294B8647201AF2DB0035BF32 /* ProjectResultModel.swift */,
); );
path = Model; path = Model;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -871,6 +887,7 @@ ...@@ -871,6 +887,7 @@
29EA0BF01FEA3156005A6170 /* Public */ = { 29EA0BF01FEA3156005A6170 /* Public */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
294B86402019746B0035BF32 /* Permissions */,
29D5308B1FFF6F1300851F00 /* PhotoAttachment */, 29D5308B1FFF6F1300851F00 /* PhotoAttachment */,
296AAC951FFDF462008BE04C /* SearchVc */, 296AAC951FFDF462008BE04C /* SearchVc */,
29EA0BF11FEA3156005A6170 /* EmptyCell */, 29EA0BF11FEA3156005A6170 /* EmptyCell */,
...@@ -1016,7 +1033,6 @@ ...@@ -1016,7 +1033,6 @@
"${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework", "${BUILT_PRODUCTS_DIR}/Kingfisher/Kingfisher.framework",
"${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework", "${BUILT_PRODUCTS_DIR}/MJRefresh/MJRefresh.framework",
"${BUILT_PRODUCTS_DIR}/Moya/Moya.framework", "${BUILT_PRODUCTS_DIR}/Moya/Moya.framework",
"${BUILT_PRODUCTS_DIR}/ObservableArray-RxSwift/ObservableArray_RxSwift.framework",
"${BUILT_PRODUCTS_DIR}/PPBadgeViewSwift/PPBadgeViewSwift.framework", "${BUILT_PRODUCTS_DIR}/PPBadgeViewSwift/PPBadgeViewSwift.framework",
"${BUILT_PRODUCTS_DIR}/Result/Result.framework", "${BUILT_PRODUCTS_DIR}/Result/Result.framework",
"${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework", "${BUILT_PRODUCTS_DIR}/RxCocoa/RxCocoa.framework",
...@@ -1042,7 +1058,6 @@ ...@@ -1042,7 +1058,6 @@
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Kingfisher.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MJRefresh.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Moya.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/ObservableArray_RxSwift.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PPBadgeViewSwift.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PPBadgeViewSwift.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Result.framework",
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/RxCocoa.framework",
...@@ -1115,6 +1130,7 @@ ...@@ -1115,6 +1130,7 @@
29DA418620046E86002762A2 /* AboutUsTableViewController.swift in Sources */, 29DA418620046E86002762A2 /* AboutUsTableViewController.swift in Sources */,
29EA0BFF1FEA3156005A6170 /* TabBarViewController.swift in Sources */, 29EA0BFF1FEA3156005A6170 /* TabBarViewController.swift in Sources */,
29DA4189200472A1002762A2 /* UIDevice+Helper.m in Sources */, 29DA4189200472A1002762A2 /* UIDevice+Helper.m in Sources */,
294B8648201AF2DB0035BF32 /* ProjectResultModel.swift in Sources */,
29EA0C1C1FEA3156005A6170 /* AppDelegate.swift in Sources */, 29EA0C1C1FEA3156005A6170 /* AppDelegate.swift in Sources */,
29D530811FFF626500851F00 /* PhotoAttachmentModel.swift in Sources */, 29D530811FFF626500851F00 /* PhotoAttachmentModel.swift in Sources */,
29F6B8FC2008887500EE4630 /* RepairOrderDetailViewModel.swift in Sources */, 29F6B8FC2008887500EE4630 /* RepairOrderDetailViewModel.swift in Sources */,
...@@ -1142,6 +1158,7 @@ ...@@ -1142,6 +1158,7 @@
29DA4169200334BC002762A2 /* RepairOrderSubOrderTableViewCell.swift in Sources */, 29DA4169200334BC002762A2 /* RepairOrderSubOrderTableViewCell.swift in Sources */,
29F6B8F62007747900EE4630 /* RepairOrderResultModel.swift in Sources */, 29F6B8F62007747900EE4630 /* RepairOrderResultModel.swift in Sources */,
29F6B90A200C54CD00EE4630 /* RepairOrderCompletedViewController.swift in Sources */, 29F6B90A200C54CD00EE4630 /* RepairOrderCompletedViewController.swift in Sources */,
294B8646201AECAD0035BF32 /* ProjectQueryModel.swift in Sources */,
29516A89200DEC4400C3A17E /* MaintainBeforAttachmentTableViewCell.swift in Sources */, 29516A89200DEC4400C3A17E /* MaintainBeforAttachmentTableViewCell.swift in Sources */,
29DA418B200475AC002762A2 /* AccountViewModel.swift in Sources */, 29DA418B200475AC002762A2 /* AccountViewModel.swift in Sources */,
296DAD82200711CA00615A2D /* InitiatorModel.swift in Sources */, 296DAD82200711CA00615A2D /* InitiatorModel.swift in Sources */,
...@@ -1150,6 +1167,7 @@ ...@@ -1150,6 +1167,7 @@
29D530911FFF6FA800851F00 /* PhotoAttachmentViewController.swift in Sources */, 29D530911FFF6FA800851F00 /* PhotoAttachmentViewController.swift in Sources */,
29DA41662003163D002762A2 /* RepairOrderDetailSectionView.swift in Sources */, 29DA41662003163D002762A2 /* RepairOrderDetailSectionView.swift in Sources */,
295064B7200C9E50008DC8DD /* AttachmentReponseModel.swift in Sources */, 295064B7200C9E50008DC8DD /* AttachmentReponseModel.swift in Sources */,
294B8642201974930035BF32 /* PermissionsManager.swift in Sources */,
29D5307B1FFF626500851F00 /* FunctionModel.swift in Sources */, 29D5307B1FFF626500851F00 /* FunctionModel.swift in Sources */,
29EA0C141FEA3156005A6170 /* UIViewController+Extension.swift in Sources */, 29EA0C141FEA3156005A6170 /* UIViewController+Extension.swift in Sources */,
29EA0C0E1FEA3156005A6170 /* Date+Extensions.swift in Sources */, 29EA0C0E1FEA3156005A6170 /* Date+Extensions.swift in Sources */,
......
...@@ -13,3 +13,39 @@ public let accountPath: String = NSSearchPathForDirectoriesInDomains(.documentDi ...@@ -13,3 +13,39 @@ public let accountPath: String = NSSearchPathForDirectoriesInDomains(.documentDi
/// 友盟统计Key /// 友盟统计Key
public let UMKey: String = "5a60727ff43e48288900008c" public let UMKey: String = "5a60727ff43e48288900008c"
/// 主工单新建权
public let BillCreatePermissions: String = "500105"
/// 主工单完成权
public let BillFinishPermissions: String = "500103"
/// 主工单转交权
public let BillTransferPermissions: String = "500104"
/// 子工单保存权
public let ChildBillSavePermissions: String = "500204"
/// 子工单完成权
public let ChildBillFinishPermissions: String = "500203"
/// 子工单领取权
public let ChildBillDrewPermissions: String = "500205"
/// 工单菜单查看权
public let BillViewPermissions: String = "500101"
/// 待办菜单查看权
public let TodoViewPermissions: String = "500301"
/// 子工单查看权
public let ChildBillViewPermissions: String = "500201"
...@@ -93,8 +93,8 @@ public enum CHILD_BILL_EDIT_SECTION: Int { ...@@ -93,8 +93,8 @@ public enum CHILD_BILL_EDIT_SECTION: Int {
case BASIC = 0 case BASIC = 0
case COST case COST
case DESCRIBE case DESCRIBE
case AFTERATTACHMENT
case BEFORATTACHMENT case BEFORATTACHMENT
case AFTERATTACHMENT
} }
...@@ -239,8 +239,6 @@ public enum SUSPEND_BUTTON_TYPE: String { ...@@ -239,8 +239,6 @@ public enum SUSPEND_BUTTON_TYPE: String {
......
...@@ -11,5 +11,6 @@ import Foundation ...@@ -11,5 +11,6 @@ import Foundation
/// 更新工单列表数据 /// 更新工单列表数据
public let UPDATE_BILL_LIST: String = "UPDATE_BILL_LIST" public let UPDATE_BILL_LIST: String = "UPDATE_BILL_LIST"
/// 更新工单列表数据 /// 更新工单列表数据
public let UPDATE_BILL_DETAIL_LIST: String = "UPDATE_BILL_DETAIL_LIST" public let UPDATE_BILL_DETAIL_LIST: String = "UPDATE_BILL_DETAIL_LIST"
...@@ -61,9 +61,3 @@ public let hint: String = "提示" ...@@ -61,9 +61,3 @@ public let hint: String = "提示"
...@@ -10,16 +10,16 @@ import Foundation ...@@ -10,16 +10,16 @@ import Foundation
/// BaseUrl /// BaseUrl
//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"
//测试环境 //测试环境
//public let BaseUrl: String = "http://222.180.250.18:7080/ifs-server/rest" //public let BaseUrl: String = "http://222.180.250.18:7080/ifs-server/rest"
//public let BaseAttachmentUrl: String = "http://222.180.250.18:7080" //public let BaseAttachmentUrl: String = "http://222.180.250.18: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/%@"
...@@ -37,6 +37,8 @@ public let serviceTypeUrl: String = "/config/getValue/serviceType" ...@@ -37,6 +37,8 @@ public let serviceTypeUrl: String = "/config/getValue/serviceType"
public let prorityUrl: String = "/config/getValue/prorityOption" public let prorityUrl: String = "/config/getValue/prorityOption"
/// 新建工单报事人 /// 新建工单报事人
public let initiatorUrl: String = "/user/query" public let initiatorUrl: String = "/user/query"
/// 项目
public let projectUrl: String = "/store/query"
/// 新建工单位置 /// 新建工单位置
public let positionUrl: String = "/information/position/query" public let positionUrl: String = "/information/position/query"
/// 新建工单设施 /// 新建工单设施
...@@ -62,7 +64,7 @@ public let protectOptionUrl: String = "/config/getValue/protectOption" ...@@ -62,7 +64,7 @@ public let protectOptionUrl: String = "/config/getValue/protectOption"
/// 故障原因 /// 故障原因
public let brokenOptionUrl: String = "/config/getValue/brokenOption" public let brokenOptionUrl: String = "/config/getValue/brokenOption"
/// 处理方式 /// 处理方式
public let processMethodsUrl: String = "/config/getValue/processMethods" public let processMethodsUrl: String = "/config/getValue/processingMethod"
/// 上传图片附件 /// 上传图片附件
public let uploadAttachmentUrl: String = "/attachment/upload_by_file?entity_type=%@&entity_uuid=%@" public let uploadAttachmentUrl: String = "/attachment/upload_by_file?entity_type=%@&entity_uuid=%@"
/// 下载图片附件 /// 下载图片附件
......
...@@ -50,6 +50,8 @@ public enum Service { ...@@ -50,6 +50,8 @@ public enum Service {
case QuerybrokenOption() case QuerybrokenOption()
// MARK: - 处理方式 // MARK: - 处理方式
case QueryprocessMethods() case QueryprocessMethods()
// MARK: - 项目
case QueryProjectOption(ProjectQueryModel)
// MARK: - 上传图片附件 // MARK: - 上传图片附件
// 图片entityUuid 本地文件路径 // 图片entityUuid 本地文件路径
case UploadAttachment(UploadPhotoAttachmentModel) case UploadAttachment(UploadPhotoAttachmentModel)
...@@ -89,6 +91,8 @@ extension Service: TargetType { ...@@ -89,6 +91,8 @@ extension Service: TargetType {
return initiatorUrl return initiatorUrl
case .QueryPosition(): case .QueryPosition():
return positionUrl return positionUrl
case .QueryProjectOption(_):
return projectUrl
case .QueryDevice(_): case .QueryDevice(_):
return deviceUrl return deviceUrl
case .SubmitOrder(_): case .SubmitOrder(_):
...@@ -98,7 +102,8 @@ extension Service: TargetType { ...@@ -98,7 +102,8 @@ extension Service: TargetType {
let path = repairOrderUrl + "?operator.operId=\(kUser().userCode!)&operator.operName=\(kUser().userName!)&time=\(NSDate().httpParameterString()!)" let path = repairOrderUrl + "?operator.operId=\(kUser().userCode!)&operator.operName=\(kUser().userName!)&time=\(NSDate().httpParameterString()!)"
return path.urlEncoded() return path.urlEncoded()
case .GetRepairOrderDetail(let billNumber): case .GetRepairOrderDetail(let billNumber):
return String(format: getBillDetailUrl, billNumber) let path = String(format: getBillDetailUrl, billNumber) + "?operator.operId=\(kUser().userCode!)&operator.operName=\(kUser().userName!)&time=\(NSDate().httpParameterString()!)"
return path.urlEncoded()
case .GetRepairOrderDepartment: case .GetRepairOrderDepartment:
return organizationUrl return organizationUrl
case .TransferOrder(_): case .TransferOrder(_):
...@@ -128,7 +133,8 @@ extension Service: TargetType { ...@@ -128,7 +133,8 @@ extension Service: TargetType {
case .DownloadAttachment(let entity_type, let entity_uuid): case .DownloadAttachment(let entity_type, let entity_uuid):
return String(format: downloadAttachmentUrl, entity_type,entity_uuid) return String(format: downloadAttachmentUrl, entity_type,entity_uuid)
case .GetChildBillDetail(let uuid): case .GetChildBillDetail(let uuid):
return String(format: getChildBillDetailUrl, uuid) let path = String(format: getChildBillDetailUrl, uuid) + "?operator.operId=\(kUser().userCode!)&operator.operName=\(kUser().userName!)&time=\(NSDate().httpParameterString()!)"
return path.urlEncoded()
case .UpdateVersion(): case .UpdateVersion():
return updateUrl return updateUrl
case .ChangePassword(_): case .ChangePassword(_):
...@@ -152,6 +158,7 @@ extension Service: TargetType { ...@@ -152,6 +158,7 @@ extension Service: TargetType {
.SaveChildBill(_), .SaveChildBill(_),
.ChangePassword(_), .ChangePassword(_),
.FinishChildBill(_), .FinishChildBill(_),
.QueryProjectOption(_),
.QueryInitiator(_): .QueryInitiator(_):
return .post return .post
case .QuerySource(), case .QuerySource(),
...@@ -230,6 +237,8 @@ extension Service: TargetType { ...@@ -230,6 +237,8 @@ extension Service: TargetType {
return .requestParameters(parameters: model.toDictionary(), encoding: JSONEncoding.default) return .requestParameters(parameters: model.toDictionary(), encoding: JSONEncoding.default)
case .FinishChildBill(let model): case .FinishChildBill(let model):
return .requestParameters(parameters: model.toDictionary(), encoding: JSONEncoding.default) return .requestParameters(parameters: model.toDictionary(), encoding: JSONEncoding.default)
case .QueryProjectOption(let model):
return .requestParameters(parameters: model.toDictionary(), encoding: JSONEncoding.default)
} }
} }
......
//
// PermissionsManager.swift
// IFS
//
// Created by 曹云霄 on 2018/1/25.
// Copyright © 2018年 上海勾芒信息科技有限公司. All rights reserved.
//
import UIKit
import SwiftyJSON
class PermissionsManager: NSObject {
// MARK: - 子工单查看权
class func childViewPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == ChildBillViewPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 子工单保存权
class func saveChildPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == ChildBillSavePermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 子工单完成权
class func finishChildPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == ChildBillFinishPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 子工单领取权
class func drawChildPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == ChildBillDrewPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 主工单转交权
class func transferBillPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == BillTransferPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 主工单完成权
class func finishBillPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == BillFinishPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 主工单新建权
class func createBillPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == BillCreatePermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 工单菜单查看权
class func billViewPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == BillViewPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
// MARK: - 待办菜单查看权
class func todoViewPermissions() ->Bool {
let array = AppManager.shareInstance.userModel?.permissions.filter { (string) -> Bool in
return string == TodoViewPermissions
}
guard array != nil else {
return false
}
return Bool(exactly: NSNumber(value: array!.count))!
}
}
//
// ProjectQueryModel.swift
//
// Create by 云霄 曹 on 26/1/2018
// Copyright © 2018. All rights reserved.
import Foundation
import SwiftyJSON
open class ProjectQueryModel : NSObject{
var codeEquals : String!
var enabled : Bool!
var nameLike : String!
var userId : String!
/**
* 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]
{
var dictionary = [String:Any]()
if codeEquals != nil{
dictionary["codeEquals"] = codeEquals
}
if enabled != nil{
dictionary["enabled"] = enabled
}
if nameLike != nil{
dictionary["nameLike"] = nameLike
}
if userId != nil{
dictionary["userId"] = userId
}
return dictionary
}
}
//
// ProjectResultModel.swift
//
// Create by 云霄 曹 on 26/1/2018
// Copyright © 2018. All rights reserved.
// Model file generated using JSONExport: https://github.com/Ahmed-Ali/JSONExport
import Foundation
import SwiftyJSON
class ProjectResultModel : NSObject{
var data : ProjectResultData!
var message : String!
var success : Bool!
/**
* Instantiate the instance using the passed json values to set the properties values
*/
init(fromJson json: JSON!){
if json.isEmpty{
return
}
let dataJson = json["data"]
if !dataJson.isEmpty{
data = ProjectResultData(fromJson: dataJson)
}
message = json["message"].stringValue
success = json["success"].boolValue
}
/**
* 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]
{
var dictionary = [String:Any]()
if data != nil{
dictionary["data"] = data.toDictionary()
}
if message != nil{
dictionary["message"] = message
}
if success != nil{
dictionary["success"] = success
}
return dictionary
}
}
class ProjectResultData : NSObject{
var paging : Paging!
var records : [ProjectResultRecord]!
/**
* Instantiate the instance using the passed json values to set the properties values
*/
init(fromJson json: JSON!){
if json.isEmpty{
return
}
let pagingJson = json["paging"]
if !pagingJson.isEmpty{
paging = Paging(fromJson: pagingJson)
}
records = [ProjectResultRecord]()
let recordsArray = json["records"].arrayValue
for recordsJson in recordsArray{
let value = ProjectResultRecord(fromJson: recordsJson)
records.append(value)
}
}
/**
* 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]
{
var dictionary = [String:Any]()
if paging != nil{
dictionary["paging"] = paging.toDictionary()
}
if records != nil{
var dictionaryElements = [[String:Any]]()
for recordsElement in records {
dictionaryElements.append(recordsElement.toDictionary())
}
dictionary["records"] = dictionaryElements
}
return dictionary
}
}
class ProjectResultRecord : NSObject{
var code : String!
var createId : String!
var createOperName : String!
var createTime : String!
var enabled : Bool!
var lastModifyId : String!
var lastModifyOperName : String!
var lastModifyTime : String!
var name : String!
var upper : Upper!
var uuid : String!
var version : Int!
/**
* Instantiate the instance using the passed json values to set the properties values
*/
init(fromJson json: JSON!){
if json.isEmpty{
return
}
code = json["code"].stringValue
createId = json["create_id"].stringValue
createOperName = json["create_operName"].stringValue
createTime = json["create_time"].stringValue
enabled = json["enabled"].boolValue
lastModifyId = json["lastModify_id"].stringValue
lastModifyOperName = json["lastModify_operName"].stringValue
lastModifyTime = json["lastModify_time"].stringValue
name = json["name"].stringValue
let upperJson = json["upper"]
if !upperJson.isEmpty{
upper = Upper(fromJson: upperJson)
}
uuid = json["uuid"].stringValue
version = json["version"].intValue
}
/**
* 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]
{
var dictionary = [String:Any]()
if code != nil{
dictionary["code"] = code
}
if createId != nil{
dictionary["create_id"] = createId
}
if createOperName != nil{
dictionary["create_operName"] = createOperName
}
if createTime != nil{
dictionary["create_time"] = createTime
}
if enabled != nil{
dictionary["enabled"] = enabled
}
if lastModifyId != nil{
dictionary["lastModify_id"] = lastModifyId
}
if lastModifyOperName != nil{
dictionary["lastModify_operName"] = lastModifyOperName
}
if lastModifyTime != nil{
dictionary["lastModify_time"] = lastModifyTime
}
if name != nil{
dictionary["name"] = name
}
if upper != nil{
dictionary["upper"] = upper.toDictionary()
}
if uuid != nil{
dictionary["uuid"] = uuid
}
if version != nil{
dictionary["version"] = version
}
return dictionary
}
}
class Upper : NSObject{
var code : String!
var createId : String!
var createOperName : String!
var createTime : String!
var enabled : Bool!
var lastModifyId : String!
var lastModifyOperName : String!
var lastModifyTime : String!
var name : String!
var upper : AnyObject!
var uuid : String!
var version : Int!
/**
* Instantiate the instance using the passed json values to set the properties values
*/
init(fromJson json: JSON!){
if json.isEmpty{
return
}
code = json["code"].stringValue
createId = json["create_id"].stringValue
createOperName = json["create_operName"].stringValue
createTime = json["create_time"].stringValue
enabled = json["enabled"].boolValue
lastModifyId = json["lastModify_id"].stringValue
lastModifyOperName = json["lastModify_operName"].stringValue
lastModifyTime = json["lastModify_time"].stringValue
name = json["name"].stringValue
upper = json["upper"].stringValue as AnyObject
uuid = json["uuid"].stringValue
version = json["version"].intValue
}
/**
* 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]
{
var dictionary = [String:Any]()
if code != nil{
dictionary["code"] = code
}
if createId != nil{
dictionary["create_id"] = createId
}
if createOperName != nil{
dictionary["create_operName"] = createOperName
}
if createTime != nil{
dictionary["create_time"] = createTime
}
if enabled != nil{
dictionary["enabled"] = enabled
}
if lastModifyId != nil{
dictionary["lastModify_id"] = lastModifyId
}
if lastModifyOperName != nil{
dictionary["lastModify_operName"] = lastModifyOperName
}
if lastModifyTime != nil{
dictionary["lastModify_time"] = lastModifyTime
}
if name != nil{
dictionary["name"] = name
}
if upper != nil{
dictionary["upper"] = upper
}
if uuid != nil{
dictionary["uuid"] = uuid
}
if version != nil{
dictionary["version"] = version
}
return dictionary
}
}
...@@ -72,6 +72,28 @@ extension FilterViewModel { ...@@ -72,6 +72,28 @@ extension FilterViewModel {
}) })
} }
// MARK: - 查询项目
func queryProjectType() ->Observable<[ProjectResultRecord]> {
let queryModel = ProjectQueryModel()
queryModel.userId = kUser().userUuid
queryModel.nameLike = "重庆IFS项目"
queryModel.codeEquals = "CQIFS"
queryModel.enabled = true
return Observable.create({ (observer) -> Disposable in
Network.request(target: .QueryProjectOption(queryModel), success: { (json) in
let resultModel = ProjectResultModel(fromJson: json)
if resultModel.success {
observer.onNext(resultModel.data.records)
}else {
ShowMessage(resultModel.message)
}
}, failure: { (error) in
ShowMessage(error.localizedDescription)
})
return Disposables.create()
})
}
// MARK: - 查询服务类型 // MARK: - 查询服务类型
func queryServerType() ->Observable<[String]> { func queryServerType() ->Observable<[String]> {
return Observable.create({ (observer) -> Disposable in return Observable.create({ (observer) -> Disposable in
......
...@@ -32,7 +32,7 @@ class AboutUsTableViewController: BaseTableViewController { ...@@ -32,7 +32,7 @@ class AboutUsTableViewController: BaseTableViewController {
appIconBgView.seth(h: kWidth * 9 / 16) appIconBgView.seth(h: kWidth * 9 / 16)
appVersionLab.text = UIDevice.version() appVersionLab.text = UIDevice.version()
appIconImg.image = UIDevice.appIcon() appIconImg.image = UIDevice.appIcon()
appMobileLab.text = "15121161964" appMobileLab.text = "400-400-40000"
} }
} }
......
...@@ -52,9 +52,17 @@ extension FunctionViewController: UICollectionViewDelegate,UICollectionViewDataS ...@@ -52,9 +52,17 @@ extension FunctionViewController: UICollectionViewDelegate,UICollectionViewDataS
let model = functionViewModel.itemArrays[indexPath.item] let model = functionViewModel.itemArrays[indexPath.item]
switch model.item_name { switch model.item_name {
case FunctionType.TODO.rawValue: case FunctionType.TODO.rawValue:
if !PermissionsManager.todoViewPermissions() {
ShowMessage("当前用户对待办事项没有查看权限!")
return
}
self.performSegue(withIdentifier: TodoViewController.name(), sender: nil) self.performSegue(withIdentifier: TodoViewController.name(), sender: nil)
break break
case FunctionType.REPAIRORDER.rawValue: case FunctionType.REPAIRORDER.rawValue:
if !PermissionsManager.billViewPermissions() {
ShowMessage("当前用户对工单没有查看权限!")
return
}
self.performSegue(withIdentifier: RepairOrderViewController.name(), sender: nil) self.performSegue(withIdentifier: RepairOrderViewController.name(), sender: nil)
break break
default: default:
......
...@@ -10,9 +10,11 @@ struct FunctionModel { ...@@ -10,9 +10,11 @@ struct FunctionModel {
var item_name: String var item_name: String
var item_image: String var item_image: String
var permissions: String
init(item_name: String,item_image: String) { init(item_name: String,item_image: String,permissions: String) {
self.item_name = item_name self.item_name = item_name
self.item_image = item_image self.item_image = item_image
self.permissions = permissions
} }
} }
...@@ -17,7 +17,7 @@ class FunctionViewModel: BaseViewModel { ...@@ -17,7 +17,7 @@ class FunctionViewModel: BaseViewModel {
let tempArrays = NSArray(contentsOfFile: plistpath!) let tempArrays = NSArray(contentsOfFile: plistpath!)
for object in tempArrays! { for object in tempArrays! {
let dict = object as! Dictionary<String, String> let dict = object as! Dictionary<String, String>
let model = FunctionModel(item_name: dict["item_name"]!, item_image: dict["item_image"]!) let model = FunctionModel(item_name: dict["item_name"]!, item_image: dict["item_image"]!,permissions: dict["permissions"]!)
itemImgArrays.append(model) itemImgArrays.append(model)
} }
return itemImgArrays return itemImgArrays
......
...@@ -32,6 +32,8 @@ class RepairOrderAddTableViewController: BaseTableViewController { ...@@ -32,6 +32,8 @@ class RepairOrderAddTableViewController: BaseTableViewController {
@IBOutlet weak var specifiedTimeLabel: UILabel! @IBOutlet weak var specifiedTimeLabel: UILabel!
/// 位置 /// 位置
@IBOutlet weak var specifiedLocationLabel: UILabel! @IBOutlet weak var specifiedLocationLabel: UILabel!
/// 项目
@IBOutlet weak var projectLabel: UILabel!
/// 设施信息 /// 设施信息
@IBOutlet weak var facilitiesSwitch: UISwitch! @IBOutlet weak var facilitiesSwitch: UISwitch!
/// 设施 /// 设施
......
...@@ -39,7 +39,6 @@ class RepairOrderDetailBgController: BaseViewController { ...@@ -39,7 +39,6 @@ class RepairOrderDetailBgController: BaseViewController {
return orderDetailViewModel return orderDetailViewModel
}() }()
override func viewDidLoad() { override func viewDidLoad() {
super.viewDidLoad() super.viewDidLoad()
...@@ -81,19 +80,26 @@ class RepairOrderDetailBgController: BaseViewController { ...@@ -81,19 +80,26 @@ class RepairOrderDetailBgController: BaseViewController {
// MARK: - 转交工单 // MARK: - 转交工单
@IBAction func transferButtonClickAction(_ sender: UIButton) { @IBAction func transferButtonClickAction(_ sender: UIButton) {
if !PermissionsManager.transferBillPermissions() {
ShowMessage("当前用户对此工单没有转交权限!");
return;
}
detailVc.transferRepairOrder() detailVc.transferRepairOrder()
} }
// MARK: - 传递工单数据到工单完成界面 // MARK: - 完成工单
override func prepare(for segue: UIStoryboardSegue, sender: Any?) { @IBAction func finishButtonClickAction(_ sender: UIButton) {
if segue.identifier == RepairOrderCompletedViewController.name() { if !PermissionsManager.finishBillPermissions() {
let completeVc = segue.destination as! RepairOrderCompletedViewController ShowMessage("当前用户对此工单没有完成权限!")
return;
}
let completeVc = RepairOrderCompletedViewController.instantiateViewController(.Function) as! RepairOrderCompletedViewController
let model = BillCompletedRequestModel(fromJson: JSON(detailVc.orderDetailViewModel.billDetailModel.toDictionary())) let model = BillCompletedRequestModel(fromJson: JSON(detailVc.orderDetailViewModel.billDetailModel.toDictionary()))
completeVc.setStateBlock({[weak self] (state) in completeVc.setStateBlock({[weak self] (state) in
self?.rapairBillBottomViewAction(state) self?.rapairBillBottomViewAction(state)
}) })
completeVc.billCompleteViewModel.billCompltedModel = model completeVc.billCompleteViewModel.billCompltedModel = model
} pushVC(completeVc)
} }
// MARK: - 工单底部view // MARK: - 工单底部view
......
...@@ -11,6 +11,7 @@ import RxCocoa ...@@ -11,6 +11,7 @@ import RxCocoa
import RxSwift import RxSwift
import SwiftyJSON import SwiftyJSON
class RepairOrderDetailViewController: BaseTableViewController { class RepairOrderDetailViewController: BaseTableViewController {
/// 已发出状态 /// 已发出状态
...@@ -24,6 +25,8 @@ class RepairOrderDetailViewController: BaseTableViewController { ...@@ -24,6 +25,8 @@ class RepairOrderDetailViewController: BaseTableViewController {
@IBOutlet weak var completedStateLab: UILabel! @IBOutlet weak var completedStateLab: UILabel!
/// 单号 /// 单号
@IBOutlet weak var billNumberLab: UILabel! @IBOutlet weak var billNumberLab: UILabel!
/// 项目
@IBOutlet weak var projectLabel: UILabel!
/// 来源 /// 来源
@IBOutlet weak var sourceLab: UILabel! @IBOutlet weak var sourceLab: UILabel!
/// 服务类型 /// 服务类型
...@@ -142,7 +145,7 @@ class RepairOrderDetailViewController: BaseTableViewController { ...@@ -142,7 +145,7 @@ class RepairOrderDetailViewController: BaseTableViewController {
fileprivate func suspendViewStateAction() { fileprivate func suspendViewStateAction() {
for i in 0..<orderDetailViewModel.billDetailModel.executes.count { for i in 0..<orderDetailViewModel.billDetailModel.executes.count {
let model = orderDetailViewModel.billDetailModel.executes[i] let model = orderDetailViewModel.billDetailModel.executes[i]
if model.dept.uuid == kUser().orgUuid if model.isEditable == true
&& (model.state == SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue || model.state == SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue) && (model.state == SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue || model.state == SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue)
&& orderDetailViewModel.billDetailModel.state != SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue && orderDetailViewModel.billDetailModel.state != SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue
&& orderDetailViewModel.billDetailModel.state != SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue && orderDetailViewModel.billDetailModel.state != SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue
...@@ -159,7 +162,11 @@ class RepairOrderDetailViewController: BaseTableViewController { ...@@ -159,7 +162,11 @@ class RepairOrderDetailViewController: BaseTableViewController {
// MARK: - 悬浮框按钮点击 // MARK: - 悬浮框按钮点击
func suspendViewButtonClickAction(_ title: String, _ model: BillDetailExecute, _ indexPath: IndexPath) { func suspendViewButtonClickAction(_ title: String, _ model: BillDetailExecute, _ indexPath: IndexPath) {
if title == SUSPEND_BUTTON_TYPE.GET.rawValue { if title == SUSPEND_BUTTON_TYPE.GET.rawValue {
ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in if !PermissionsManager.drawChildPermissions() && model.isEditable {
ShowMessage("当前用户对此工单没有领取权限!")
return;
}
ShowAlertView(hint, "请确认是否领取此部门工单?", [cancel,sure], .alert, {[weak self] (index) in
if index == kZERO { return } if index == kZERO { return }
self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in
self?.getBillDetailAction() self?.getBillDetailAction()
...@@ -168,6 +175,10 @@ class RepairOrderDetailViewController: BaseTableViewController { ...@@ -168,6 +175,10 @@ class RepairOrderDetailViewController: BaseTableViewController {
}).disposed(by: self!.disposeBag) }).disposed(by: self!.disposeBag)
}) })
}else { }else {
if !PermissionsManager.finishChildPermissions() && model.isEditable {
ShowMessage("当前用户对此工单没有完成权限!")
return;
}
ShowAlertView(hint, "请确认是否完成此部门工单?", [cancel,sure], .alert, {[weak self] (index) in ShowAlertView(hint, "请确认是否完成此部门工单?", [cancel,sure], .alert, {[weak self] (index) in
if index == kZERO { return } if index == kZERO { return }
self?.childBillViewModel.childBillDetailData = ChildBillDetailData(fromJson: JSON(model.toDictionary())) self?.childBillViewModel.childBillDetailData = ChildBillDetailData(fromJson: JSON(model.toDictionary()))
...@@ -249,7 +260,7 @@ extension RepairOrderDetailViewController { ...@@ -249,7 +260,7 @@ extension RepairOrderDetailViewController {
if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SUBORDER.rawValue { if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SUBORDER.rawValue {
return orderDetailViewModel.dequeueChildBillReusableCell(RepairOrderSubOrderTableViewCell.name(), indexPath, tableView) return orderDetailViewModel.dequeueChildBillReusableCell(RepairOrderSubOrderTableViewCell.name(), indexPath, tableView)
} }
if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SOURCE.rawValue && indexPath.row == 12 { if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SOURCE.rawValue && indexPath.row == 13 {
let attachmentCell = tableView.dequeueReusableCell(withIdentifier: RepairOrderAttachmentTableViewCell.name(), for: indexPath) let attachmentCell = tableView.dequeueReusableCell(withIdentifier: RepairOrderAttachmentTableViewCell.name(), for: indexPath)
attachmentVc.view.frame = CGRect(x: 80, y: 5, width: kWidth - 90, height: attachmentHeight) attachmentVc.view.frame = CGRect(x: 80, y: 5, width: kWidth - 90, height: attachmentHeight)
attachmentCell.contentView.addSubview(attachmentVc.view) attachmentCell.contentView.addSubview(attachmentVc.view)
...@@ -297,10 +308,10 @@ extension RepairOrderDetailViewController { ...@@ -297,10 +308,10 @@ extension RepairOrderDetailViewController {
} }
return childBillCellHeight return childBillCellHeight
} }
if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SOURCE.rawValue && indexPath.row == 11 { if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SOURCE.rawValue && indexPath.row == 12 {
return orderDetailViewModel.billDetailModel.descriptionFieldHeight + 20 return orderDetailViewModel.billDetailModel.descriptionFieldHeight + 20
} }
if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SOURCE.rawValue && indexPath.row == 12 { if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.SOURCE.rawValue && indexPath.row == 13 {
return attachmentHeight + 20 return attachmentHeight + 20
} }
if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.COMPLETED.rawValue && indexPath.row == 1 { if indexPath.section == REPAIR_ORDER_DETAIL_SECTION.COMPLETED.rawValue && indexPath.row == 1 {
...@@ -318,23 +329,45 @@ extension RepairOrderDetailViewController { ...@@ -318,23 +329,45 @@ extension RepairOrderDetailViewController {
self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath) self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath)
return return
} }
if !PermissionsManager.drawChildPermissions() || !model.isEditable {
ShowMessage("当前用户对此工单没有领取权限!")
return
}
ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in
if index == kZERO { return } if index == kZERO { return }
self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in
self?.getBillDetailAction() self?.getBillDetailAction()
if model.isEditable {
self?.gotoEditingSonOrderVc(indexPath) self?.gotoEditingSonOrderVc(indexPath)
}
ShowMessage("领取成功") ShowMessage("领取成功")
}).disposed(by: self!.disposeBag) }).disposed(by: self!.disposeBag)
}) })
break break
case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue:
if orderDetailViewModel.billDetailModel.state == SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue || orderDetailViewModel.billDetailModel.state == SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue || orderDetailViewModel.billDetailModel.state == SUBMIT_REPAIR_ORDER_STATE.DELETED.rawValue { if orderDetailViewModel.billDetailModel.state == SUBMIT_REPAIR_ORDER_STATE.FINISHED.rawValue || orderDetailViewModel.billDetailModel.state == SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue || orderDetailViewModel.billDetailModel.state == SUBMIT_REPAIR_ORDER_STATE.DELETED.rawValue {
if !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有查看权限!")
return;
}
self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath) self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath)
return return
} }
if !model.isEditable && !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有操作权限!")
return;
}
if !model.isEditable && PermissionsManager.childViewPermissions() {
self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath)
return;
}
gotoEditingSonOrderVc(indexPath) gotoEditingSonOrderVc(indexPath)
break break
case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue,SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue:
if !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有查看权限!")
return;
}
self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath) self.performSegue(withIdentifier: RepairOrderChildBillDetailViewController.name(), sender: indexPath)
break break
default: default:
...@@ -366,9 +399,6 @@ extension RepairOrderDetailViewController { ...@@ -366,9 +399,6 @@ extension RepairOrderDetailViewController {
} }
override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat { override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
// if section == REPAIR_ORDER_DETAIL_SECTION.SUBORDER.rawValue {
// return kSectionTen
// }
return kSectionZero return kSectionZero
} }
......
...@@ -142,6 +142,10 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController { ...@@ -142,6 +142,10 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController {
let completeView = RepairOrderEditSonOrderCompleteView.instantiateFromNib() as! RepairOrderEditSonOrderCompleteView let completeView = RepairOrderEditSonOrderCompleteView.instantiateFromNib() as! RepairOrderEditSonOrderCompleteView
//完成子工单 //完成子工单
completeView.completeBtn.rx.controlEvent(UIControlEvents.touchUpInside).subscribe(onNext: {[weak self] (event) in completeView.completeBtn.rx.controlEvent(UIControlEvents.touchUpInside).subscribe(onNext: {[weak self] (event) in
if !PermissionsManager.finishChildPermissions() {
ShowMessage("当前用户对此工单没有完成权限!")
return;
}
ShowAlertView(hint, "确定完成此子工单吗?", [cancel,sure], .alert, { (index) in ShowAlertView(hint, "确定完成此子工单吗?", [cancel,sure], .alert, { (index) in
if index == kZERO { return } if index == kZERO { return }
self?.uploadActtachmentAction().subscribe(onNext: { (result) in self?.uploadActtachmentAction().subscribe(onNext: { (result) in
...@@ -159,6 +163,10 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController { ...@@ -159,6 +163,10 @@ class RepairOrderEditSonOrderViewController: BaseTableViewController {
// MARK: - 提交、保存子工单 // MARK: - 提交、保存子工单
@objc fileprivate func saveButtonClickAction() { @objc fileprivate func saveButtonClickAction() {
if !PermissionsManager.saveChildPermissions() {
ShowMessage("当前用户对此工单没有保存权限!")
return;
}
ShowAlertView(hint, "确定保存此子工单吗?", [cancel,sure], .alert) {[weak self] (index) in ShowAlertView(hint, "确定保存此子工单吗?", [cancel,sure], .alert) {[weak self] (index) in
self?.uploadActtachmentAction().subscribe(onNext: { (result) in self?.uploadActtachmentAction().subscribe(onNext: { (result) in
self?.childBillViewModel.saveChildBillAction().subscribe(onNext: { () in self?.childBillViewModel.saveChildBillAction().subscribe(onNext: { () in
......
...@@ -54,6 +54,7 @@ class RepairOrderViewController: BaseTableViewPullController { ...@@ -54,6 +54,7 @@ class RepairOrderViewController: BaseTableViewPullController {
sourceChooseButton.titleLabel?.adjustsFontSizeToFitWidth = true sourceChooseButton.titleLabel?.adjustsFontSizeToFitWidth = true
priorityChooseButton.horizontalCenterTitleAndImage(5) priorityChooseButton.horizontalCenterTitleAndImage(5)
priorityChooseButton.titleLabel?.adjustsFontSizeToFitWidth = true priorityChooseButton.titleLabel?.adjustsFontSizeToFitWidth = true
addOrderButton.isHidden = !PermissionsManager.createBillPermissions()
} }
// MARK: - 绑定RxSwift事件 // MARK: - 绑定RxSwift事件
......
...@@ -84,6 +84,7 @@ open class ChildBillDetailData : NSObject{ ...@@ -84,6 +84,7 @@ open class ChildBillDetailData : NSObject{
var workid : String! var workid : String!
init(_ state: String) { init(_ state: String) {
self.state = state self.state = state
} }
......
...@@ -92,12 +92,12 @@ open class BillDetailData : NSObject{ ...@@ -92,12 +92,12 @@ open class BillDetailData : NSObject{
var serviceType : String! var serviceType : String!
var source : String! var source : String!
var state : String! var state : String!
var store : AnyObject! var store : UCN!
var tenant : UCN! var tenant : UCN!
var uuid : String! var uuid : String!
var version : Int! var version : Int!
var workNo : String! var workNo : String!
var isEditable: Bool! = false
init(_ state: String) { init(_ state: String) {
...@@ -111,6 +111,7 @@ open class BillDetailData : NSObject{ ...@@ -111,6 +111,7 @@ open class BillDetailData : NSObject{
if json.isEmpty{ if json.isEmpty{
return return
} }
isEditable = json["isEditable"].boolValue
attachmentId = json["attachmentId"].stringValue attachmentId = json["attachmentId"].stringValue
attachments = json["attachments"] as AnyObject attachments = json["attachments"] as AnyObject
brokenTime = json["brokenTime"].stringValue brokenTime = json["brokenTime"].stringValue
...@@ -166,7 +167,10 @@ open class BillDetailData : NSObject{ ...@@ -166,7 +167,10 @@ open class BillDetailData : NSObject{
serviceType = json["serviceType"].stringValue serviceType = json["serviceType"].stringValue
source = json["source"].stringValue source = json["source"].stringValue
state = json["state"].stringValue state = json["state"].stringValue
store = json["store"] as AnyObject let storeJson = json["store"]
if !storeJson.isEmpty{
store = UCN(fromJson: storeJson)
}
let tenantJson = json["tenant"] let tenantJson = json["tenant"]
if !tenantJson.isEmpty{ if !tenantJson.isEmpty{
tenant = UCN(fromJson: tenantJson) tenant = UCN(fromJson: tenantJson)
...@@ -209,6 +213,9 @@ open class BillDetailData : NSObject{ ...@@ -209,6 +213,9 @@ open class BillDetailData : NSObject{
if createTime != nil{ if createTime != nil{
dictionary["create_time"] = createTime dictionary["create_time"] = createTime
} }
if isEditable != nil{
dictionary["isEditable"] = isEditable
}
if descriptionField != nil{ if descriptionField != nil{
dictionary["description"] = descriptionField dictionary["description"] = descriptionField
} }
...@@ -350,7 +357,7 @@ open class BillDetailExecute : NSObject{ ...@@ -350,7 +357,7 @@ open class BillDetailExecute : NSObject{
var uuid : String! var uuid : String!
var version : Int! var version : Int!
var workid : String! var workid : String!
var isEditable: Bool! = false
/** /**
* 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
...@@ -359,6 +366,7 @@ open class BillDetailExecute : NSObject{ ...@@ -359,6 +366,7 @@ open class BillDetailExecute : NSObject{
if json.isEmpty{ if json.isEmpty{
return return
} }
isEditable = json["isEditable"].boolValue
beginAttachmentId = json["beginAttachmentId"].stringValue beginAttachmentId = json["beginAttachmentId"].stringValue
beginAttachments = json["beginAttachments"] as AnyObject beginAttachments = json["beginAttachments"] as AnyObject
createId = json["create_id"].stringValue createId = json["create_id"].stringValue
...@@ -434,6 +442,9 @@ open class BillDetailExecute : NSObject{ ...@@ -434,6 +442,9 @@ open class BillDetailExecute : NSObject{
if endAttachmentId != nil{ if endAttachmentId != nil{
dictionary["endAttachmentId"] = endAttachmentId dictionary["endAttachmentId"] = endAttachmentId
} }
if isEditable != nil{
dictionary["isEditable"] = isEditable
}
if endAttachments != nil{ if endAttachments != nil{
dictionary["endAttachments"] = endAttachments dictionary["endAttachments"] = endAttachments
} }
......
...@@ -18,6 +18,7 @@ open class SaveRepairOrderModel { ...@@ -18,6 +18,7 @@ open class SaveRepairOrderModel {
var receiveTime : String! var receiveTime : String!
var reportOrg : String! var reportOrg : String!
var reportUser : UCN! var reportUser : UCN!
var store: UCN!
var reporterPhone : String! var reporterPhone : String!
var requestTime : String! var requestTime : String!
var serviceType : String! var serviceType : String!
...@@ -40,6 +41,9 @@ open class SaveRepairOrderModel { ...@@ -40,6 +41,9 @@ open class SaveRepairOrderModel {
if device != nil{ if device != nil{
dictionary["device"] = device.toDictionary() dictionary["device"] = device.toDictionary()
} }
if store != nil{
dictionary["store"] = store.toDictionary()
}
if level != nil{ if level != nil{
dictionary["level"] = level dictionary["level"] = level
} }
......
...@@ -22,7 +22,7 @@ ...@@ -22,7 +22,7 @@
<subviews> <subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="工程部" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hT-Fx-col"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="工程部" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9hT-Fx-col">
<rect key="frame" x="15" y="9.5" width="43" height="17"/> <rect key="frame" x="15" y="9.5" width="43" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
<nil key="textColor"/> <nil key="textColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
...@@ -44,6 +44,7 @@ ...@@ -44,6 +44,7 @@
<constraints> <constraints>
<constraint firstAttribute="width" constant="60" id="hwM-34-dPe"/> <constraint firstAttribute="width" constant="60" id="hwM-34-dPe"/>
</constraints> </constraints>
<fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/>
<state key="normal" title="领单"> <state key="normal" title="领单">
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state> </state>
......
...@@ -32,6 +32,8 @@ class RepairOrderSubOrderTableViewCell: UITableViewCell { ...@@ -32,6 +32,8 @@ class RepairOrderSubOrderTableViewCell: UITableViewCell {
fileprivate func uiConfigAction() { fileprivate func uiConfigAction() {
contentBgView.addAngle(10.0) contentBgView.addAngle(10.0)
contentBgView.addBorder(1.0, kGaryColor) contentBgView.addBorder(1.0, kGaryColor)
selectedBackgroundView = UIView()
selectedBackgroundView?.backgroundColor = UIColor.clear
} }
// MARK: - 更新子工单cell // MARK: - 更新子工单cell
......
...@@ -13,7 +13,7 @@ ...@@ -13,7 +13,7 @@
<objects> <objects>
<placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
<placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
<tableViewCell contentMode="scaleToFill" selectionStyle="none" indentationWidth="10" id="KGk-i7-Jjw" customClass="RepairOrderSubOrderTableViewCell" customModule="IFS" customModuleProvider="target"> <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" id="KGk-i7-Jjw" customClass="RepairOrderSubOrderTableViewCell" customModule="IFS" customModuleProvider="target">
<rect key="frame" x="0.0" y="0.0" width="375" height="70"/> <rect key="frame" x="0.0" y="0.0" width="375" height="70"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
...@@ -43,7 +43,7 @@ ...@@ -43,7 +43,7 @@
</label> </label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已完成" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WXJ-0x-D52"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已完成" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="WXJ-0x-D52">
<rect key="frame" x="290" y="10" width="40" height="16"/> <rect key="frame" x="290" y="10" width="40" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
<color key="textColor" red="0.21755459899999999" green="0.53306800129999998" blue="0.99824184179999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="textColor" red="0.21755459899999999" green="0.53306800129999998" blue="0.99824184179999997" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
...@@ -68,6 +68,7 @@ ...@@ -68,6 +68,7 @@
</constraints> </constraints>
</tableViewCellContentView> </tableViewCellContentView>
<color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="backgroundColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
<color key="tintColor" white="0.0" alpha="0.0" colorSpace="calibratedWhite"/>
<viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/>
<connections> <connections>
<outlet property="contentBgView" destination="iXK-9n-8CZ" id="fiE-6x-Xdz"/> <outlet property="contentBgView" destination="iXK-9n-8CZ" id="fiE-6x-Xdz"/>
......
...@@ -23,7 +23,6 @@ class RepairOrderTableViewCell: UITableViewCell { ...@@ -23,7 +23,6 @@ class RepairOrderTableViewCell: UITableViewCell {
/// 单号 /// 单号
@IBOutlet weak var orderNumberLabel: UILabel! @IBOutlet weak var orderNumberLabel: UILabel!
override func awakeFromNib() { override func awakeFromNib() {
super.awakeFromNib() super.awakeFromNib()
} }
...@@ -33,8 +32,8 @@ class RepairOrderTableViewCell: UITableViewCell { ...@@ -33,8 +32,8 @@ class RepairOrderTableViewCell: UITableViewCell {
createTimeLabel.text = model.createTime createTimeLabel.text = model.createTime
orderStateLabel.text = repairOrderChineseState(model.state) orderStateLabel.text = repairOrderChineseState(model.state)
describeLabel.text = model.descriptionField describeLabel.text = model.descriptionField
priorityLabel.text = model.level as? String priorityLabel.text = model.level.isEmpty ? "---" : model.level
sourceLabel.text = model.source sourceLabel.text = model.source.isEmpty ? "---" : model.source
orderNumberLabel.text = String(format: "单号:%@", model.workNo) orderNumberLabel.text = String(format: "单号:%@", model.workNo)
} }
} }
......
...@@ -31,6 +31,10 @@ extension RepairOrderAddViewModel { ...@@ -31,6 +31,10 @@ extension RepairOrderAddViewModel {
// MARK: - 是否允许提交工单 // MARK: - 是否允许提交工单
func repairOrderAvailable(_ sender: UISwitch) ->Bool { func repairOrderAvailable(_ sender: UISwitch) ->Bool {
guard saveOrderModel.store != nil else {
ShowMessage("请选择项目")
return false
}
guard saveOrderModel.source != nil else { guard saveOrderModel.source != nil else {
ShowMessage("请选择工单来源") ShowMessage("请选择工单来源")
return false return false
...@@ -104,6 +108,33 @@ extension RepairOrderAddViewModel { ...@@ -104,6 +108,33 @@ extension RepairOrderAddViewModel {
func didSelectRowAtIndePath(_ indexPath: IndexPath, _ controller: RepairOrderAddTableViewController) { func didSelectRowAtIndePath(_ indexPath: IndexPath, _ controller: RepairOrderAddTableViewController) {
switch indexPath { switch indexPath {
case IndexPath(row: 0, section: 0): case IndexPath(row: 0, section: 0):
filterViewModel.queryProjectType().subscribe(onNext: {[weak self] (result) in
if result.isEmpty {
ShowMessage("无数据")
return
}
let publicFilterVc = FilterViewController.instantiateViewController(.Function) as! FilterViewController
for model in result {
let filterModel: PublicFilterModel?
if model.name == controller.projectLabel.text {
filterModel = PublicFilterModel(uuid: model.uuid, title: model.name, isSelected: "\(kONE)")
}else {
filterModel = PublicFilterModel(uuid: model.uuid, title: model.name, isSelected: "\(kZERO)")
}
publicFilterVc.publicViewModel.filterArray.add(filterModel!)
}
controller.pushVC(publicFilterVc)
publicFilterVc.setNavigationTitle("筛选项目",.SINGLE, { (choices, index) in
let choiceModel = choices.first!
controller.projectLabel.text = choiceModel.title
controller.projectLabel.textColor = kBlackColor
let model = result[index!]
let user = UCN(model.code, model.name, model.uuid)
self?.saveOrderModel.store = user
})
}).disposed(by: disposeBag)
break
case IndexPath(row: 1, section: 0):
filterViewModel.queryProjectSponsors().subscribe(onNext: {[weak self] (result) in filterViewModel.queryProjectSponsors().subscribe(onNext: {[weak self] (result) in
if result.isEmpty { if result.isEmpty {
ShowMessage("无数据") ShowMessage("无数据")
...@@ -116,7 +147,7 @@ extension RepairOrderAddViewModel { ...@@ -116,7 +147,7 @@ extension RepairOrderAddViewModel {
}, cancel: nil) }, cancel: nil)
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
break break
case IndexPath(row: 1, section: 0): case IndexPath(row: 2, section: 0):
filterViewModel.queryServerType().subscribe(onNext: {[weak self] (result) in filterViewModel.queryServerType().subscribe(onNext: {[weak self] (result) in
if result.isEmpty { if result.isEmpty {
ShowMessage("无数据") ShowMessage("无数据")
...@@ -129,7 +160,7 @@ extension RepairOrderAddViewModel { ...@@ -129,7 +160,7 @@ extension RepairOrderAddViewModel {
}, cancel: nil) }, cancel: nil)
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
break break
case IndexPath(row: 2, section: 0): case IndexPath(row: 3, section: 0):
filterViewModel.queryProrityOption().subscribe(onNext: {[weak self] (result) in filterViewModel.queryProrityOption().subscribe(onNext: {[weak self] (result) in
if result.isEmpty { if result.isEmpty {
ShowMessage("无数据") ShowMessage("无数据")
...@@ -142,7 +173,7 @@ extension RepairOrderAddViewModel { ...@@ -142,7 +173,7 @@ extension RepairOrderAddViewModel {
}, cancel: nil) }, cancel: nil)
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
break break
case IndexPath(row: 3, section: 0): case IndexPath(row: 4, section: 0):
filterViewModel.queryInitiator().subscribe(onNext: {[weak self] (result) in filterViewModel.queryInitiator().subscribe(onNext: {[weak self] (result) in
if result.isEmpty { if result.isEmpty {
ShowMessage("无数据") ShowMessage("无数据")
...@@ -169,7 +200,7 @@ extension RepairOrderAddViewModel { ...@@ -169,7 +200,7 @@ extension RepairOrderAddViewModel {
}) })
}).disposed(by: disposeBag) }).disposed(by: disposeBag)
break break
case IndexPath(row: 5, section: 0): case IndexPath(row: 6, section: 0):
let defaultDate = controller.originatorTimeLabel.text == "工单接报时间" ? NSDate().httpParameterString() : controller.originatorTimeLabel.text let defaultDate = controller.originatorTimeLabel.text == "工单接报时间" ? NSDate().httpParameterString() : controller.originatorTimeLabel.text
YXPickerManager.share().showDatePickerView(kMainColor, datePickerModel: UIDatePickerMode.dateAndTime, minimumDate: Date(), maximumDate: nil, defaultDate: defaultDate, commit: {[weak self] (time) in YXPickerManager.share().showDatePickerView(kMainColor, datePickerModel: UIDatePickerMode.dateAndTime, minimumDate: Date(), maximumDate: nil, defaultDate: defaultDate, commit: {[weak self] (time) in
controller.originatorTimeLabel.text = time controller.originatorTimeLabel.text = time
...@@ -177,7 +208,7 @@ extension RepairOrderAddViewModel { ...@@ -177,7 +208,7 @@ extension RepairOrderAddViewModel {
self?.saveOrderModel.receiveTime = time self?.saveOrderModel.receiveTime = time
}, cancel: nil) }, cancel: nil)
break break
case IndexPath(row: 6, section: 0): case IndexPath(row: 7, section: 0):
let defaultDate = controller.specifiedTimeLabel.text == "工单指定时间" ? NSDate().httpParameterString() : controller.originatorTimeLabel.text let defaultDate = controller.specifiedTimeLabel.text == "工单指定时间" ? NSDate().httpParameterString() : controller.originatorTimeLabel.text
YXPickerManager.share().showDatePickerView(kMainColor, datePickerModel: UIDatePickerMode.dateAndTime, minimumDate: Date(), maximumDate: nil, defaultDate: defaultDate, commit: {[weak self] (time) in YXPickerManager.share().showDatePickerView(kMainColor, datePickerModel: UIDatePickerMode.dateAndTime, minimumDate: Date(), maximumDate: nil, defaultDate: defaultDate, commit: {[weak self] (time) in
controller.specifiedTimeLabel.text = time controller.specifiedTimeLabel.text = time
...@@ -185,7 +216,7 @@ extension RepairOrderAddViewModel { ...@@ -185,7 +216,7 @@ extension RepairOrderAddViewModel {
self?.saveOrderModel.requestTime = time self?.saveOrderModel.requestTime = time
}, cancel: nil) }, cancel: nil)
break break
case IndexPath(row: 7, section: 0): case IndexPath(row: 8, section: 0):
filterViewModel.queryLocation().subscribe(onNext: {[weak self] (result) in filterViewModel.queryLocation().subscribe(onNext: {[weak self] (result) in
if result.isEmpty { if result.isEmpty {
ShowMessage("无数据") ShowMessage("无数据")
......
...@@ -167,6 +167,9 @@ extension RepairOrderDetailViewModel { ...@@ -167,6 +167,9 @@ extension RepairOrderDetailViewModel {
controller.billNumberLab.text = billDetailModel.workNo controller.billNumberLab.text = billDetailModel.workNo
controller.isSolveLabel.text = billDetailModel.finish ? "是" : "否" controller.isSolveLabel.text = billDetailModel.finish ? "是" : "否"
controller.completionLabel.text = disposeEmpty(billDetailModel.finishNote) controller.completionLabel.text = disposeEmpty(billDetailModel.finishNote)
if billDetailModel.store != nil {
controller.projectLabel.text = disposeEmpty(billDetailModel.store.name)
}
} }
// MARK: - 处理空数据 // MARK: - 处理空数据
......
...@@ -259,11 +259,11 @@ extension ReparirChildBillViewModel { ...@@ -259,11 +259,11 @@ extension ReparirChildBillViewModel {
break break
case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue:
controller.createdStateImg.image = UIImage(named: "state_selected") controller.createdStateImg.image = UIImage(named: "state_default")
controller.createStateLab.textColor = kBlueColor controller.createStateLab.textColor = kLightGaryColor
controller.processedStateImg.image = UIImage(named: "state_default") controller.processedStateImg.image = UIImage(named: "state_selected")
controller.processedStateLab.textColor = kLightGaryColor controller.processedStateLab.textColor = kBlueColor
controller.completedStateImg.image = UIImage(named: "state_default") controller.completedStateImg.image = UIImage(named: "state_default")
controller.completedStateLab.textColor = kLightGaryColor controller.completedStateLab.textColor = kLightGaryColor
......
...@@ -69,6 +69,10 @@ class TodoViewController: BaseTableViewPullController { ...@@ -69,6 +69,10 @@ class TodoViewController: BaseTableViewPullController {
let model = todoViewModel.todoResultArray[indexPath.row] let model = todoViewModel.todoResultArray[indexPath.row]
switch model.state { switch model.state {
case SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue: case SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue:
if !PermissionsManager.drawChildPermissions() {
ShowMessage("当前用户对此工单没有领取权限!")
return
}
ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in
if index == kZERO { return } if index == kZERO { return }
self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in
...@@ -78,11 +82,19 @@ class TodoViewController: BaseTableViewPullController { ...@@ -78,11 +82,19 @@ class TodoViewController: BaseTableViewPullController {
}) })
break break
case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue:
if !PermissionsManager.saveChildPermissions() {
ShowMessage("当前用户对此工单没有编辑权限!")
return;
}
let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary())) childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc) pushVC(childBillVc)
break break
case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue,SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue:
if !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有查看权限!")
return;
}
let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary())) childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc) pushVC(childBillVc)
......
...@@ -38,6 +38,11 @@ class HomeTableViewController: BaseTableViewPullController { ...@@ -38,6 +38,11 @@ class HomeTableViewController: BaseTableViewPullController {
// MARK: - 获取数据 // MARK: - 获取数据
override func loadWebDataSource() { override func loadWebDataSource() {
if !PermissionsManager.todoViewPermissions() {
endRefresh()
tableView.reloadData()
return;
}
todoViewModel.queryTodoAction(todoState).subscribe {[weak self] (event) in todoViewModel.queryTodoAction(todoState).subscribe {[weak self] (event) in
switch event { switch event {
case .next(): case .next():
...@@ -70,6 +75,10 @@ class HomeTableViewController: BaseTableViewPullController { ...@@ -70,6 +75,10 @@ class HomeTableViewController: BaseTableViewPullController {
let model = todoViewModel.todoResultArray[indexPath.row] let model = todoViewModel.todoResultArray[indexPath.row]
switch model.state { switch model.state {
case SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue: case SUBMIT_REPAIR_ORDER_STATE.INIT.rawValue:
if !PermissionsManager.drawChildPermissions() {
ShowMessage("当前用户对此工单没有领取权限!")
return
}
ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in ShowAlertView(hint, "请确认是否领单?", [cancel,sure], .alert, {[weak self] (index) in
if index == kZERO { return } if index == kZERO { return }
self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in self?.orderDetailViewModel.getChildBillAction(model.uuid).subscribe(onNext: { () in
...@@ -79,11 +88,19 @@ class HomeTableViewController: BaseTableViewPullController { ...@@ -79,11 +88,19 @@ class HomeTableViewController: BaseTableViewPullController {
}) })
break break
case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DREW.rawValue:
if !PermissionsManager.saveChildPermissions() {
ShowMessage("当前用户对此工单没有编辑权限!")
return;
}
let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController let childBillVc = RepairOrderEditSonOrderViewController.instantiateViewController(.Function) as! RepairOrderEditSonOrderViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary())) childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc) pushVC(childBillVc)
break break
case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue: case SUBMIT_REPAIR_ORDER_STATE.DONE.rawValue,SUBMIT_REPAIR_ORDER_STATE.CANCLED.rawValue:
if !PermissionsManager.childViewPermissions() {
ShowMessage("当前用户对此工单没有查看权限!")
return;
}
let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController let childBillVc = RepairOrderChildBillDetailViewController.instantiateViewController(.Function) as! RepairOrderChildBillDetailViewController
childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary())) childBillVc.billModel = BillDetailExecute(fromJson: JSON(model.toDictionary()))
pushVC(childBillVc) pushVC(childBillVc)
...@@ -92,6 +109,14 @@ class HomeTableViewController: BaseTableViewPullController { ...@@ -92,6 +109,14 @@ class HomeTableViewController: BaseTableViewPullController {
break break
} }
} }
override func description(forEmptyDataSet scrollView: UIScrollView!) -> NSAttributedString! {
let dict: [NSAttributedStringKey: Any] = [NSAttributedStringKey.font: UIFont.systemFont(ofSize: 15),NSAttributedStringKey.foregroundColor: kNavColor]
let boolValue = PermissionsManager.todoViewPermissions()
let attrString = NSAttributedString(string: boolValue ? "对不起,真的没有数据!" : "当前用户对待办事项没有查看权限!", attributes: dict)
return attrString
}
} }
......
...@@ -149,7 +149,7 @@ ...@@ -149,7 +149,7 @@
<color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/> <color key="titleColor" white="1" alpha="1" colorSpace="calibratedWhite"/>
</state> </state>
<connections> <connections>
<segue destination="NCp-wC-P1F" kind="show" identifier="RepairOrderCompletedViewController" id="QYi-Qo-VUj"/> <action selector="finishButtonClickAction:" destination="6v8-mP-rbs" eventType="touchUpInside" id="haV-vq-Kwl"/>
</connections> </connections>
</button> </button>
<view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nnS-SC-D6A"> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="nnS-SC-D6A">
...@@ -296,9 +296,37 @@ ...@@ -296,9 +296,37 @@
</tableViewSection> </tableViewSection>
<tableViewSection id="lbb-2h-yd4"> <tableViewSection id="lbb-2h-yd4">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="Nbk-B7-4Bv"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="X9t-dI-7pV">
<rect key="frame" x="0.0" y="174" width="375" height="30"/> <rect key="frame" x="0.0" y="174" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="X9t-dI-7pV" id="68H-5D-N4t">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="项目" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="voc-fO-Iho">
<rect key="frame" x="15" y="7" width="27" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<color key="textColor" white="0.33333333333333331" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" text="---" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="qR8-WN-jaL">
<rect key="frame" x="90" y="7" width="18.666666666666671" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="voc-fO-Iho" firstAttribute="centerY" secondItem="68H-5D-N4t" secondAttribute="centerY" id="4KE-Sg-aMz"/>
<constraint firstAttribute="trailing" relation="greaterThanOrEqual" secondItem="qR8-WN-jaL" secondAttribute="trailing" constant="15" id="97g-GO-8eP"/>
<constraint firstItem="qR8-WN-jaL" firstAttribute="centerY" secondItem="voc-fO-Iho" secondAttribute="centerY" id="Fdr-wh-zxo"/>
<constraint firstItem="qR8-WN-jaL" firstAttribute="leading" secondItem="68H-5D-N4t" secondAttribute="leading" constant="90" id="W36-CV-LRb"/>
<constraint firstItem="voc-fO-Iho" firstAttribute="leading" secondItem="68H-5D-N4t" secondAttribute="leading" constant="15" id="yW2-4M-Xv1"/>
</constraints>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="Nbk-B7-4Bv">
<rect key="frame" x="0.0" y="204" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Nbk-B7-4Bv" id="1UT-DG-glD"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Nbk-B7-4Bv" id="1UT-DG-glD">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
...@@ -325,7 +353,7 @@ ...@@ -325,7 +353,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="nNc-Hf-3Mg"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="nNc-Hf-3Mg">
<rect key="frame" x="0.0" y="204" width="375" height="30"/> <rect key="frame" x="0.0" y="234" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="nNc-Hf-3Mg" id="Gjb-1f-JJd"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="nNc-Hf-3Mg" id="Gjb-1f-JJd">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -353,7 +381,7 @@ ...@@ -353,7 +381,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="06q-mV-qcO"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="06q-mV-qcO">
<rect key="frame" x="0.0" y="234" width="375" height="30"/> <rect key="frame" x="0.0" y="264" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="06q-mV-qcO" id="vkT-Yz-rMU"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="06q-mV-qcO" id="vkT-Yz-rMU">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -381,7 +409,7 @@ ...@@ -381,7 +409,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="40J-dm-hf0"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="40J-dm-hf0">
<rect key="frame" x="0.0" y="264" width="375" height="30"/> <rect key="frame" x="0.0" y="294" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="40J-dm-hf0" id="Lku-v6-EUO"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="40J-dm-hf0" id="Lku-v6-EUO">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -409,7 +437,7 @@ ...@@ -409,7 +437,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="qy0-Id-6cc"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="qy0-Id-6cc">
<rect key="frame" x="0.0" y="294" width="375" height="30"/> <rect key="frame" x="0.0" y="324" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="qy0-Id-6cc" id="wnL-a7-350"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="qy0-Id-6cc" id="wnL-a7-350">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -437,7 +465,7 @@ ...@@ -437,7 +465,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="Xnj-fU-f50"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="Xnj-fU-f50">
<rect key="frame" x="0.0" y="324" width="375" height="30"/> <rect key="frame" x="0.0" y="354" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Xnj-fU-f50" id="R9B-8u-RYc"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Xnj-fU-f50" id="R9B-8u-RYc">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -465,7 +493,7 @@ ...@@ -465,7 +493,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="vLQ-AS-5Fe"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="vLQ-AS-5Fe">
<rect key="frame" x="0.0" y="354" width="375" height="30"/> <rect key="frame" x="0.0" y="384" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="vLQ-AS-5Fe" id="eQa-Qg-D43"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="vLQ-AS-5Fe" id="eQa-Qg-D43">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -493,7 +521,7 @@ ...@@ -493,7 +521,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="l2y-gs-GSi"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="l2y-gs-GSi">
<rect key="frame" x="0.0" y="384" width="375" height="30"/> <rect key="frame" x="0.0" y="414" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="l2y-gs-GSi" id="tGI-n3-Qhb"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="l2y-gs-GSi" id="tGI-n3-Qhb">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -521,7 +549,7 @@ ...@@ -521,7 +549,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="Jdx-Ql-rJL"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="Jdx-Ql-rJL">
<rect key="frame" x="0.0" y="414" width="375" height="30"/> <rect key="frame" x="0.0" y="444" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Jdx-Ql-rJL" id="veQ-ID-Kbm"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Jdx-Ql-rJL" id="veQ-ID-Kbm">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -549,7 +577,7 @@ ...@@ -549,7 +577,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="cy7-GC-V1M"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="cy7-GC-V1M">
<rect key="frame" x="0.0" y="444" width="375" height="30"/> <rect key="frame" x="0.0" y="474" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="cy7-GC-V1M" id="peE-yT-Wpr"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="cy7-GC-V1M" id="peE-yT-Wpr">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -577,7 +605,7 @@ ...@@ -577,7 +605,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="GLx-X6-bCX"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="GLx-X6-bCX">
<rect key="frame" x="0.0" y="474" width="375" height="30"/> <rect key="frame" x="0.0" y="504" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="GLx-X6-bCX" id="rNY-h7-Gkf"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="GLx-X6-bCX" id="rNY-h7-Gkf">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -605,7 +633,7 @@ ...@@ -605,7 +633,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="ELP-T0-LAZ"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="ELP-T0-LAZ">
<rect key="frame" x="0.0" y="504" width="375" height="30"/> <rect key="frame" x="0.0" y="534" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="ELP-T0-LAZ" id="Dtj-67-EFa"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="ELP-T0-LAZ" id="Dtj-67-EFa">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -633,7 +661,7 @@ ...@@ -633,7 +661,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="44E-jB-OlU"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="44E-jB-OlU">
<rect key="frame" x="0.0" y="534" width="375" height="30"/> <rect key="frame" x="0.0" y="564" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="44E-jB-OlU" id="7jE-Fn-xTB"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="44E-jB-OlU" id="7jE-Fn-xTB">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -657,7 +685,7 @@ ...@@ -657,7 +685,7 @@
<tableViewSection id="akT-8B-cQA"> <tableViewSection id="akT-8B-cQA">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="29" id="IUa-aa-hAd"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="29" id="IUa-aa-hAd">
<rect key="frame" x="0.0" y="583" width="375" height="29"/> <rect key="frame" x="0.0" y="613" width="375" height="29"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="IUa-aa-hAd" id="J6d-Ag-3qs"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="IUa-aa-hAd" id="J6d-Ag-3qs">
<rect key="frame" x="0.0" y="0.0" width="375" height="29"/> <rect key="frame" x="0.0" y="0.0" width="375" height="29"/>
...@@ -669,7 +697,7 @@ ...@@ -669,7 +697,7 @@
<tableViewSection id="V4Z-o2-h72"> <tableViewSection id="V4Z-o2-h72">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="loi-eF-sJs"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="loi-eF-sJs">
<rect key="frame" x="0.0" y="631" width="375" height="30"/> <rect key="frame" x="0.0" y="661" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="loi-eF-sJs" id="mKu-Yo-W9j"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="loi-eF-sJs" id="mKu-Yo-W9j">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -697,7 +725,7 @@ ...@@ -697,7 +725,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="AlH-ca-Eok"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="30" id="AlH-ca-Eok">
<rect key="frame" x="0.0" y="661" width="375" height="30"/> <rect key="frame" x="0.0" y="691" width="375" height="30"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="AlH-ca-Eok" id="md0-YE-7LW"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="AlH-ca-Eok" id="md0-YE-7LW">
<rect key="frame" x="0.0" y="0.0" width="375" height="30"/> <rect key="frame" x="0.0" y="0.0" width="375" height="30"/>
...@@ -750,6 +778,7 @@ ...@@ -750,6 +778,7 @@
<outlet property="priorityLab" destination="4Gv-CC-Yql" id="Uku-ZV-PTK"/> <outlet property="priorityLab" destination="4Gv-CC-Yql" id="Uku-ZV-PTK"/>
<outlet property="processedStateImg" destination="nIc-Ck-mKb" id="xDO-oZ-HCR"/> <outlet property="processedStateImg" destination="nIc-Ck-mKb" id="xDO-oZ-HCR"/>
<outlet property="processedStateLab" destination="0HP-jr-VQ3" id="Nfe-MP-fiF"/> <outlet property="processedStateLab" destination="0HP-jr-VQ3" id="Nfe-MP-fiF"/>
<outlet property="projectLabel" destination="qR8-WN-jaL" id="2ga-u9-PfR"/>
<outlet property="requestTimeLab" destination="4jO-sa-Ibf" id="qdn-Ub-fte"/> <outlet property="requestTimeLab" destination="4jO-sa-Ibf" id="qdn-Ub-fte"/>
<outlet property="serverTypeLab" destination="10U-2Q-8r7" id="gaD-w8-qZR"/> <outlet property="serverTypeLab" destination="10U-2Q-8r7" id="gaD-w8-qZR"/>
<outlet property="sourceLab" destination="0Lp-WO-AEB" id="0Kw-ff-yQn"/> <outlet property="sourceLab" destination="0Lp-WO-AEB" id="0Kw-ff-yQn"/>
...@@ -1674,13 +1703,13 @@ ...@@ -1674,13 +1703,13 @@
</label> </label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="内部" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NQX-bW-r0y"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="内部" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="NQX-bW-r0y">
<rect key="frame" x="15" y="111.66666666666667" width="27" height="16"/> <rect key="frame" x="15" y="111.66666666666667" width="27" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
<nil key="textColor"/> <nil key="textColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已完成" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gf1-y3-5Ke"> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="已完成" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="gf1-y3-5Ke">
<rect key="frame" x="320" y="20" width="40" height="16"/> <rect key="frame" x="320" y="20" width="40" height="16"/>
<fontDescription key="fontDescription" type="system" pointSize="13"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="13"/>
<color key="textColor" red="0.30196078431372547" green="0.51372549019607838" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/> <color key="textColor" red="0.30196078431372547" green="0.51372549019607838" blue="0.94901960784313721" alpha="1" colorSpace="calibratedRGB"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
</label> </label>
...@@ -2172,9 +2201,36 @@ ...@@ -2172,9 +2201,36 @@
<sections> <sections>
<tableViewSection headerTitle="基本信息" id="iM5-oK-0Yr"> <tableViewSection headerTitle="基本信息" id="iM5-oK-0Yr">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="u9Q-l4-jtl"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="v4G-MY-Vtr">
<rect key="frame" x="0.0" y="55.333333333333336" width="375" height="44"/> <rect key="frame" x="0.0" y="55.333333333333336" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="v4G-MY-Vtr" id="SSJ-e6-s77">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
<autoresizingMask key="autoresizingMask"/>
<subviews>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="项目" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="yju-eT-V1X">
<rect key="frame" x="15" y="13" width="31" height="18"/>
<fontDescription key="fontDescription" type="system" pointSize="15"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="选择项目" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="jo2-H4-XNf">
<rect key="frame" x="283.66666666666669" y="13" width="57.333333333333314" height="17"/>
<fontDescription key="fontDescription" type="system" pointSize="14"/>
<color key="textColor" white="0.66666666666666663" alpha="1" colorSpace="calibratedWhite"/>
<nil key="highlightedColor"/>
</label>
</subviews>
<constraints>
<constraint firstItem="yju-eT-V1X" firstAttribute="centerY" secondItem="SSJ-e6-s77" secondAttribute="centerY" id="Dsn-10-LhN"/>
<constraint firstAttribute="trailing" secondItem="jo2-H4-XNf" secondAttribute="trailing" id="lJC-Vu-Flb"/>
<constraint firstItem="jo2-H4-XNf" firstAttribute="centerY" secondItem="SSJ-e6-s77" secondAttribute="centerY" id="qiS-D8-isU"/>
<constraint firstItem="yju-eT-V1X" firstAttribute="leading" secondItem="SSJ-e6-s77" secondAttribute="leading" constant="15" id="qt2-p1-jJj"/>
</constraints>
</tableViewCellContentView>
</tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="u9Q-l4-jtl">
<rect key="frame" x="0.0" y="99.333333333333343" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="u9Q-l4-jtl" id="iMN-xe-PsZ"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="u9Q-l4-jtl" id="iMN-xe-PsZ">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
...@@ -2200,7 +2256,7 @@ ...@@ -2200,7 +2256,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="MiO-IZ-vvu"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="MiO-IZ-vvu">
<rect key="frame" x="0.0" y="99.333333333333343" width="375" height="44"/> <rect key="frame" x="0.0" y="143.33333333333334" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="MiO-IZ-vvu" id="gON-o6-ZF6"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="MiO-IZ-vvu" id="gON-o6-ZF6">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2228,7 +2284,7 @@ ...@@ -2228,7 +2284,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="DHz-UY-Ee1"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="DHz-UY-Ee1">
<rect key="frame" x="0.0" y="143.33333333333334" width="375" height="44"/> <rect key="frame" x="0.0" y="187.33333333333334" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="DHz-UY-Ee1" id="BqH-CI-tbD"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="DHz-UY-Ee1" id="BqH-CI-tbD">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2256,7 +2312,7 @@ ...@@ -2256,7 +2312,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="Jjv-ZT-bsh"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="Jjv-ZT-bsh">
<rect key="frame" x="0.0" y="187.33333333333334" width="375" height="44"/> <rect key="frame" x="0.0" y="231.33333333333334" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Jjv-ZT-bsh" id="tn3-aX-JQ1"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Jjv-ZT-bsh" id="tn3-aX-JQ1">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2284,7 +2340,7 @@ ...@@ -2284,7 +2340,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" id="zU8-dQ-2tY"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" id="zU8-dQ-2tY">
<rect key="frame" x="0.0" y="231.33333333333334" width="375" height="44"/> <rect key="frame" x="0.0" y="275.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="zU8-dQ-2tY" id="2nb-nA-FA6"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="zU8-dQ-2tY" id="2nb-nA-FA6">
<rect key="frame" x="0.0" y="0.0" width="375" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="375" height="43.666666666666664"/>
...@@ -2316,7 +2372,7 @@ ...@@ -2316,7 +2372,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="tqZ-ge-gmd"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="tqZ-ge-gmd">
<rect key="frame" x="0.0" y="275.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="319.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="tqZ-ge-gmd" id="6kb-UP-yj9"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="tqZ-ge-gmd" id="6kb-UP-yj9">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2344,7 +2400,7 @@ ...@@ -2344,7 +2400,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="pn5-Ci-aHd"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="pn5-Ci-aHd">
<rect key="frame" x="0.0" y="319.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="363.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="pn5-Ci-aHd" id="zJv-01-pqb"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="pn5-Ci-aHd" id="zJv-01-pqb">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2372,7 +2428,7 @@ ...@@ -2372,7 +2428,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="FfY-du-djx"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="FfY-du-djx">
<rect key="frame" x="0.0" y="363.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="407.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="FfY-du-djx" id="kUx-AC-nTI"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="FfY-du-djx" id="kUx-AC-nTI">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2400,7 +2456,7 @@ ...@@ -2400,7 +2456,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" id="YPJ-c6-iFo"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" id="YPJ-c6-iFo">
<rect key="frame" x="0.0" y="407.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="451.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="YPJ-c6-iFo" id="VOe-qZ-kHu"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="YPJ-c6-iFo" id="VOe-qZ-kHu">
<rect key="frame" x="0.0" y="0.0" width="375" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="375" height="43.666666666666664"/>
...@@ -2430,7 +2486,7 @@ ...@@ -2430,7 +2486,7 @@
<tableViewSection headerTitle="设施信息" id="Dzp-LR-o7F"> <tableViewSection headerTitle="设施信息" id="Dzp-LR-o7F">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="G9q-Sx-PJV"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="G9q-Sx-PJV">
<rect key="frame" x="0.0" y="490.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="534.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="G9q-Sx-PJV" id="Sr2-bA-Y5l"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="G9q-Sx-PJV" id="Sr2-bA-Y5l">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2457,7 +2513,7 @@ ...@@ -2457,7 +2513,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" id="Wc1-uC-s42"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" id="Wc1-uC-s42">
<rect key="frame" x="0.0" y="534.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="578.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Wc1-uC-s42" id="iLb-IQ-znC"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="Wc1-uC-s42" id="iLb-IQ-znC">
<rect key="frame" x="0.0" y="0.0" width="375" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="375" height="43.666666666666664"/>
...@@ -2489,7 +2545,7 @@ ...@@ -2489,7 +2545,7 @@
</tableViewCellContentView> </tableViewCellContentView>
</tableViewCell> </tableViewCell>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="pFM-yk-hGz"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" accessoryType="disclosureIndicator" indentationWidth="10" id="pFM-yk-hGz">
<rect key="frame" x="0.0" y="578.33333333333337" width="375" height="44"/> <rect key="frame" x="0.0" y="622.33333333333337" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="pFM-yk-hGz" id="DsT-aG-HnG"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="pFM-yk-hGz" id="DsT-aG-HnG">
<rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/> <rect key="frame" x="0.0" y="0.0" width="341" height="43.666666666666664"/>
...@@ -2521,7 +2577,7 @@ ...@@ -2521,7 +2577,7 @@
<tableViewSection id="yEJ-aL-0Ha"> <tableViewSection id="yEJ-aL-0Ha">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="100" id="jtK-7c-2W8"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="100" id="jtK-7c-2W8">
<rect key="frame" x="0.0" y="641.33333333333337" width="375" height="100"/> <rect key="frame" x="0.0" y="685.33333333333337" width="375" height="100"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="jtK-7c-2W8" id="9Ge-Ch-xY2"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="jtK-7c-2W8" id="9Ge-Ch-xY2">
<rect key="frame" x="0.0" y="0.0" width="375" height="99.666666666666671"/> <rect key="frame" x="0.0" y="0.0" width="375" height="99.666666666666671"/>
...@@ -2555,7 +2611,7 @@ ...@@ -2555,7 +2611,7 @@
<tableViewSection id="f34-KP-MmF"> <tableViewSection id="f34-KP-MmF">
<cells> <cells>
<tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="100" id="8Xb-e7-G2P"> <tableViewCell clipsSubviews="YES" contentMode="scaleToFill" preservesSuperviewLayoutMargins="YES" selectionStyle="none" indentationWidth="10" rowHeight="100" id="8Xb-e7-G2P">
<rect key="frame" x="0.0" y="760.33333333333337" width="375" height="100"/> <rect key="frame" x="0.0" y="804.33333333333337" width="375" height="100"/>
<autoresizingMask key="autoresizingMask"/> <autoresizingMask key="autoresizingMask"/>
<tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="8Xb-e7-G2P" id="RaV-x2-Izw"> <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" preservesSuperviewLayoutMargins="YES" insetsLayoutMarginsFromSafeArea="NO" tableViewCell="8Xb-e7-G2P" id="RaV-x2-Izw">
<rect key="frame" x="0.0" y="0.0" width="375" height="99.666666666666671"/> <rect key="frame" x="0.0" y="0.0" width="375" height="99.666666666666671"/>
...@@ -2580,6 +2636,7 @@ ...@@ -2580,6 +2636,7 @@
<outlet property="originatorTimeLabel" destination="7V7-W8-vDD" id="Rhs-0w-COm"/> <outlet property="originatorTimeLabel" destination="7V7-W8-vDD" id="Rhs-0w-COm"/>
<outlet property="phoneNumberText" destination="d6F-KC-NPB" id="K5K-F9-9jv"/> <outlet property="phoneNumberText" destination="d6F-KC-NPB" id="K5K-F9-9jv"/>
<outlet property="priorityLabel" destination="BHT-7E-L9t" id="hxh-oy-Xiu"/> <outlet property="priorityLabel" destination="BHT-7E-L9t" id="hxh-oy-Xiu"/>
<outlet property="projectLabel" destination="jo2-H4-XNf" id="faL-gO-hr3"/>
<outlet property="serviceTypeLabel" destination="FlM-wv-NnY" id="XhY-Fn-yLh"/> <outlet property="serviceTypeLabel" destination="FlM-wv-NnY" id="XhY-Fn-yLh"/>
<outlet property="sourceLabel" destination="Kjh-Ep-jMW" id="pu1-54-gJB"/> <outlet property="sourceLabel" destination="Kjh-Ep-jMW" id="pu1-54-gJB"/>
<outlet property="specifiedLocationLabel" destination="aaN-lY-03E" id="J4c-M5-dBI"/> <outlet property="specifiedLocationLabel" destination="aaN-lY-03E" id="J4c-M5-dBI"/>
......
...@@ -33,7 +33,7 @@ class AppStyle: NSObject { ...@@ -33,7 +33,7 @@ class AppStyle: NSObject {
fileprivate class func thirdFrameworkStyle() { fileprivate class func thirdFrameworkStyle() {
SVProgressHUD.setBackgroundColor(kGaryColor) SVProgressHUD.setBackgroundColor(kGaryColor)
SVProgressHUD.setMinimumDismissTimeInterval(kMissTime) SVProgressHUD.setMinimumDismissTimeInterval(kMissTime)
SVProgressHUD.popActivity() SVProgressHUD.resetOffsetFromCenter()
UMAnalyticsConfig.sharedInstance().appKey = UMKey UMAnalyticsConfig.sharedInstance().appKey = UMKey
MobClick.start(withConfigure: UMAnalyticsConfig.sharedInstance()) MobClick.start(withConfigure: UMAnalyticsConfig.sharedInstance())
MobClick.setLogEnabled(true) MobClick.setLogEnabled(true)
......
...@@ -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.1</string> <string>1.0.2</string>
<key>CFBundleVersion</key> <key>CFBundleVersion</key>
<string>1.0.1</string> <string>1.0.2</string>
<key>LSRequiresIPhoneOS</key> <key>LSRequiresIPhoneOS</key>
<true/> <true/>
<key>NSAppTransportSecurity</key> <key>NSAppTransportSecurity</key>
......
...@@ -7,12 +7,16 @@ ...@@ -7,12 +7,16 @@
<string>todo_icon</string> <string>todo_icon</string>
<key>item_name</key> <key>item_name</key>
<string>待办事项</string> <string>待办事项</string>
<key>permissions</key>
<string>500301</string>
</dict> </dict>
<dict> <dict>
<key>item_image</key> <key>item_image</key>
<string>order_icon</string> <string>order_icon</string>
<key>item_name</key> <key>item_name</key>
<string>工单</string> <string>工单</string>
<key>permissions</key>
<string>500101</string>
</dict> </dict>
</array> </array>
</plist> </plist>
...@@ -29,7 +29,7 @@ func ShowProgressView(_ progress: Float) { ...@@ -29,7 +29,7 @@ func ShowProgressView(_ progress: Float) {
// MARK: - 销毁 // MARK: - 销毁
func HideLoadingView() { func HideLoadingView() {
SVProgressHUD.dismiss(withDelay: kMissTime) SVProgressHUD.popActivity()
} }
......
...@@ -20,7 +20,6 @@ target ‘IFS’ do ...@@ -20,7 +20,6 @@ target ‘IFS’ do
pod 'SKPhotoBrowser', '~> 5.0.0' pod 'SKPhotoBrowser', '~> 5.0.0'
pod 'YXPickerView' pod 'YXPickerView'
pod 'YXAlertController' pod 'YXAlertController'
pod 'ObservableArray-RxSwift', '~> 0.2.0'
pod 'PPBadgeViewSwift' pod 'PPBadgeViewSwift'
pod 'SVProgressHUD', '~> 2.2.2' pod 'SVProgressHUD', '~> 2.2.2'
pod 'UMengAnalytics' pod 'UMengAnalytics'
......
...@@ -14,8 +14,6 @@ PODS: ...@@ -14,8 +14,6 @@ PODS:
- Moya/Core (10.0.1): - Moya/Core (10.0.1):
- Alamofire (~> 4.1) - Alamofire (~> 4.1)
- Result (~> 3.0) - Result (~> 3.0)
- ObservableArray-RxSwift (0.2.0):
- RxSwift (~> 4.0)
- PPBadgeViewSwift (2.0.0) - PPBadgeViewSwift (2.0.0)
- Result (3.2.4) - Result (3.2.4)
- RxCocoa (4.1.1): - RxCocoa (4.1.1):
...@@ -41,7 +39,6 @@ DEPENDENCIES: ...@@ -41,7 +39,6 @@ DEPENDENCIES:
- Kingfisher - Kingfisher
- MJRefresh (~> 3.1.15.1) - MJRefresh (~> 3.1.15.1)
- Moya - Moya
- ObservableArray-RxSwift (~> 0.2.0)
- PPBadgeViewSwift - PPBadgeViewSwift
- RxCocoa - RxCocoa
- RxSwift - RxSwift
...@@ -66,7 +63,6 @@ SPEC CHECKSUMS: ...@@ -66,7 +63,6 @@ SPEC CHECKSUMS:
Kingfisher: 1f9157d9c02b380cbd0b7cc890161195164eb634 Kingfisher: 1f9157d9c02b380cbd0b7cc890161195164eb634
MJRefresh: 5f8552bc25ca8751c010f621c1098dbdaacbccd6 MJRefresh: 5f8552bc25ca8751c010f621c1098dbdaacbccd6
Moya: 9e621707ff754eeb51ff3ec51a3d54e517c0733a Moya: 9e621707ff754eeb51ff3ec51a3d54e517c0733a
ObservableArray-RxSwift: 905a088f51b1653f7eb55e6887f8a13916618f50
PPBadgeViewSwift: dc520c183e11d87fbe19bdb223e8b47d158f3c6b PPBadgeViewSwift: dc520c183e11d87fbe19bdb223e8b47d158f3c6b
Result: d2d07204ce72856f1fd9130bbe42c35a7b0fea10 Result: d2d07204ce72856f1fd9130bbe42c35a7b0fea10
RxCocoa: fd0862fd2df95fa55562ad28ffd2522c25eb4a85 RxCocoa: fd0862fd2df95fa55562ad28ffd2522c25eb4a85
...@@ -80,6 +76,6 @@ SPEC CHECKSUMS: ...@@ -80,6 +76,6 @@ SPEC CHECKSUMS:
YXKit: 73d6ffbcf7530f1159e030460207286e9153b080 YXKit: 73d6ffbcf7530f1159e030460207286e9153b080
YXPickerView: 527ca74d8fbe73b4e9bd0bbff6e143133dced907 YXPickerView: 527ca74d8fbe73b4e9bd0bbff6e143133dced907
PODFILE CHECKSUM: 3e33205a97f219ebdb5a9ce5e01c757323891d82 PODFILE CHECKSUM: 0eaafb4a7b07d07aea77b58f3cd8a90edc556faf
COCOAPODS: 1.3.0 COCOAPODS: 1.3.0
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