Files
OrderScheduling/OrderScheduling/Mine/ViewController/MineController.swift

810 lines
32 KiB
Swift

//
// MineController.swift
// OrderScheduling
//
// Created by on 2023/8/18.
//
import Foundation
import DDAutoUIKit_Private
import DDControlsKit_Private
import SnapKit
import RxSwift
import RxRelay
import RxCocoa
import DDToastKit_Private
import DDProgressHUDKit_Private
import MJRefresh
extension MineController {
func addActions() {
mineView.scrollView.mj_header = MJRefreshNormalHeader(refreshingBlock: {[weak self] in
self?.refreshRelay.accept(nil)
})
mineView.logoutButton.rx.tap
.observe(on: MainScheduler.instance)
.do(onNext: {[weak self] _ in
self?.view.dd_showHUD()
})
.flatMapLatest({ _ in
return RQ.logout(parameters: LogoutParameters(deviceId: 1))
})
.observe(on: MainScheduler.instance)
.do(onNext: {[weak self] _ in
self?.view.dd_hideHUD()
})
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] response in
if response?.success == true {
NotificationCenter.default.post(name: NSNotification.Name(rawValue: Notification_logoutSuccessToLoginController), object: nil)
}else{
self?.view.dd_makeToast(response?.msg)
}
})
.disposed(by: disposeBag)
refreshRelay
.flatMapLatest({ _ in
return RQ.thisWeekNumber()
})
.flatMapLatest { numberModel in
return Single.zip(RQ.generalInfo(),RQ.getNeedConfirmPersonInfo(prameters: NeedConfirmPersonInfoParameters(supplierId: UserData.default.supplierId)),Single.just(numberModel))
}
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] response,needConfirmPersonInfoModel,numberModel in
self?.mineView.scrollView.mj_header?.endRefreshing()
if response?.success == true {
self?.mineView.carInfoView.descLabel.text = String(response?.data?.vehicleCount ?? 0)+""
self?.mineView.driverInfoView.descLabel.text = String(response?.data?.driverCount ?? 0)+""
if let icon = response?.data?.icon {
self?.mineView.avatar.sd_setImage(with: URL(string: icon),placeholderImage: UIImage(named: "placeholder_gender_man"))
}
if let company = response?.data?.supplierName {
self?.mineView.companyLabel.text = company
}
}else{
self?.view.dd_makeToast(response?.msg)
}
if needConfirmPersonInfoModel?.success == true {
self?.mineView.manageView.descLabel.text = String(needConfirmPersonInfoModel?.data?.count ?? 0)+""
}else{
self?.view.dd_makeToast(response?.msg)
}
if numberModel?.success == true {
if let number = numberModel?.data, number > 0 {
self?.mineView.ershouche.contentView.isHidden = false
self?.mineView.ershouche.contentLabel.text = "\(number)"
}else{
self?.mineView.ershouche.contentView.isHidden = true
}
}else{
self?.view.dd_makeToast(numberModel?.msg)
}
})
.disposed(by: disposeBag)
mineView.manageGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
if let supplierId = UserData.default.supplierId {
WEBTOOL.open(name: .managerPeople, appending: "&supplierId=\(supplierId)")
}
})
.disposed(by: disposeBag)
mineView.carInfoGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .vehicleManage, appending: nil)
})
.disposed(by: disposeBag)
mineView.driverInfoGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
if let supplierType = USER.supplierType {
WEBTOOL.open(name: .driverManage, appending: "&supplierType=\(supplierType)")
}
})
.disposed(by: disposeBag)
mineView.fuwushanganjianGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .kpiCaseNew, appending: nil)
})
.disposed(by: disposeBag)
mineView.shujutongjiGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .kpiIndex, appending: nil)
})
.disposed(by: disposeBag)
mineView.gongdanduizhangGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .workOrderReconciliation, appending: nil)
})
.disposed(by: disposeBag)
mineView.gongdanpiciGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
if let supplierId = USER.supplierId {
WEBTOOL.open(name: .invoicingNotify, appending: "&supplierId=\(supplierId)")
}
})
.disposed(by: disposeBag)
mineView.kaipiaoxinxiGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
if let supplierId = USER.supplierId {
WEBTOOL.open(name: .invoiceListInfo, appending: "&supplierId=\(supplierId)")
}
})
.disposed(by: disposeBag)
mineView.luqiaofeibaoxiaoGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .roadAndbridgeTollReimbursement, appending: nil)
})
.disposed(by: disposeBag)
mineView.dianpingjinxiaocunGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .batteryList, appending: nil)
})
.disposed(by: disposeBag)
mineView.wendangziliaoGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
if let supplierId = USER.supplierId {
WEBTOOL.open(name: .docmentList, appending: "&supplierId=\(supplierId)")
}
})
.disposed(by: disposeBag)
mineView.peixunwendangGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
if let supplierId = USER.supplierId,let userId = USER.userId {
WEBTOOL.open(name: .trainDocment, appending: "&supplierId=\(supplierId)&userId=\(userId)")
}
})
.disposed(by: disposeBag)
mineView.ershoucheGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .indexList, appending: nil)
})
.disposed(by: disposeBag)
mineView.canbaoGes.rx.event
.observe(on: ConcurrentMainScheduler.instance)
.subscribe(onNext: { _ in
WEBTOOL.open(name: .insuredPage, appending: nil)
})
.disposed(by: disposeBag)
mineView.banbenjianceGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: { _ in
APPUPDATE.requestAppUpdateRelay.accept(.manual)
})
.disposed(by: disposeBag)
mineView.tongzhitixingGes.rx.event
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
// NOTIAUTHTOOL.openSetting()
let vc = NotificationSetUpController()
self?.navigationController?.pushViewController(vc, animated: true)
})
.disposed(by: disposeBag)
preRefreshRelay
.observe(on: MainScheduler.instance)
.subscribe(onNext: {[weak self] _ in
self?.mineView.scrollView.mj_header?.beginRefreshing()
})
.disposed(by: disposeBag)
}
}
open class MineController : ZDViewController {
private let mineView = MineView()
private let disposeBag = DisposeBag()
private let preRefreshRelay = ReplayRelay<Any?>.create(bufferSize: 1)
private let refreshRelay = ReplayRelay<Any?>.create(bufferSize: 1)
open override func viewDidLoad() {
super.viewDidLoad()
dd_navigationBarBackgroundColor = .hex("354683")
dd_navigationBarTitleTextAttributes = [.foregroundColor : UIColor.white(alpha: 0.7),.font:UIFont.mediumFont(auto(15))]
dd_navigationBarBarButtonItemAttributes = [.foregroundColor : UIColor.white]
dd_navigationItemTitle = "我的"
dd_navigationBarShadowColor = .hex("354683")
navigationItem.leftBarButtonItems = nil
view.addSubview(mineView)
mineView.snp.makeConstraints { make in
make.top.equalTo(CGRectGetHeight(UIApplication.shared.dd_statusBarFrame) + CGRectGetHeight(navigationController?.navigationBar.frame ?? .zero) - 1)
make.left.right.equalToSuperview()
make.bottom.equalTo(-view.safeAreaInsets.bottom - CGRectGetHeight(tabBarController?.tabBar.frame ?? .zero))
}
mineView.manageView.titleLabel.text = "管理人员"
mineView.manageView.imageView.image = UIImage(named: "mine_info_manage")
mineView.carInfoView.titleLabel.text = "车辆管理"
mineView.carInfoView.imageView.image = UIImage(named: "mine_info_car")
mineView.driverInfoView.titleLabel.text = "司机管理"
mineView.driverInfoView.imageView.image = UIImage(named: "mine_info_driver")
mineView.fuwushanganjian.titleLabel.text = "服务商案件和车辆情况统计"
mineView.shujutongji.titleLabel.text = "服务商KPI"
mineView.gongdanduizhang.titleLabel.text = "工单对账"
mineView.gongdanpici.titleLabel.text = "工单批次"
mineView.kaipiaoxinxi.titleLabel.text = "开票信息"
mineView.luqiaofeibaoxiao.titleLabel.text = "路桥费报销"
mineView.dianpingjinxiaocun.titleLabel.text = "电瓶进销存"
mineView.peixunwendang.titleLabel.text = "培训文档"
mineView.wendangziliao.titleLabel.text = "文档资料"
mineView.ershouche.titleLabel.text = "二手车信息"
mineView.canbao.titleLabel.text = "参保救援职业责任险"
mineView.banbenjiance.titleLabel.text = "版本检测"
mineView.tongzhitixing.titleLabel.text = "通知提醒"
var orderRadiusViewAddHeightCount = 0
if (USER.supplierId != 1128) && USER.supplierType == 1 {
orderRadiusViewAddHeightCount+=1
mineView.luqiaofeibaoxiao.isHidden = false
mineView.luqiaofeibaoxiao.snp.updateConstraints { make in
make.height.equalTo(auto(55))
}
}else{
mineView.luqiaofeibaoxiao.isHidden = true
mineView.luqiaofeibaoxiao.snp.updateConstraints { make in
make.height.equalTo(0)
}
}
if USER.supplierType == 1 {
orderRadiusViewAddHeightCount+=1
mineView.dianpingjinxiaocun.isHidden = false
}else{
mineView.dianpingjinxiaocun.isHidden = true
}
if orderRadiusViewAddHeightCount > 0 {
mineView.kaipiaoxinxi.line.isHidden = false
}else{
mineView.kaipiaoxinxi.line.isHidden = true
}
if orderRadiusViewAddHeightCount == 2 {
mineView.luqiaofeibaoxiao.line.isHidden = false
}else{
mineView.luqiaofeibaoxiao.line.isHidden = true
}
mineView.orderRadiusView.snp.updateConstraints({ make in
make.height.equalTo(auto(165) + CGFloat(orderRadiusViewAddHeightCount) * auto(55))
})
addActions()
}
open override func reloadData() {
super.reloadData()
NewTraining.default.newTrainingRelay.accept(nil)
preRefreshRelay.accept(nil)
}
open override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
if WEBTOOL.bannerInMineDataSourcesContains(name: .indexList) || WEBTOOL.bannerInMineDataSourcesContains(name: .insuredPage) {
mineView.usedCarRadiusView.isHidden = false
if WEBTOOL.bannerInMineDataSourcesContains(name: .indexList) {
mineView.ershouche.isHidden = false
mineView.ershouche.snp.updateConstraints { make in
make.height.equalTo(auto(55))
}
}else{
mineView.ershouche.isHidden = true
mineView.ershouche.snp.updateConstraints { make in
make.height.equalTo(0)
}
}
if WEBTOOL.bannerInMineDataSourcesContains(name: .insuredPage) {
mineView.canbao.isHidden = false
mineView.canbao.snp.updateConstraints { make in
make.height.equalTo(auto(55))
}
}else{
mineView.canbao.isHidden = true
mineView.canbao.snp.updateConstraints { make in
make.height.equalTo(0)
}
}
}else{
mineView.usedCarRadiusView.isHidden = true
}
}
}
open class MineView : DDView {
public let scrollView : DDScrollView
private let scrollContentView : DDView
private let topBackgroundImageView : DDImageView
public let avatar : DDImageView
public let companyLabel : DDLabel
public let manageGes : UITapGestureRecognizer
public let manageView : MineInfoView
public let carInfoGes : UITapGestureRecognizer
public let carInfoView : MineInfoView
public let driverInfoGes : UITapGestureRecognizer
public let driverInfoView : MineInfoView
public let infoRadiusView : DDView
private let infoStackView: UIStackView
public let infoRadiusSeparate : DDImageView
public let statisticsRadiusView : DDView
public let orderRadiusView : DDView
public let materialRadiusView : DDView
public let usedCarRadiusView : DDView
public let settingsRadiusView : DDView
public let fuwushanganjianGes : UITapGestureRecognizer
public let fuwushanganjian : MineCell
public let shujutongjiGes : UITapGestureRecognizer
public let shujutongji : MineCell
public let gongdanduizhangGes : UITapGestureRecognizer
public let gongdanduizhang : MineCell
public let gongdanpiciGes : UITapGestureRecognizer
public let gongdanpici : MineCell
public let kaipiaoxinxiGes : UITapGestureRecognizer
public let kaipiaoxinxi : MineCell
public let luqiaofeibaoxiaoGes : UITapGestureRecognizer
public let luqiaofeibaoxiao : MineCell
public let dianpingjinxiaocunGes : UITapGestureRecognizer
public let dianpingjinxiaocun : MineCell
public let peixunwendangGes : UITapGestureRecognizer
public let peixunwendang : MineCell
public let wendangziliaoGes : UITapGestureRecognizer
public let wendangziliao : MineCell
public let ershoucheGes : UITapGestureRecognizer
public let ershouche : MineCell
public let canbaoGes : UITapGestureRecognizer
public let canbao : MineCell
public let banbenjianceGes : UITapGestureRecognizer
public let banbenjiance : MineCell
public let tongzhitixingGes : UITapGestureRecognizer
public let tongzhitixing : MineCell
public let logoutButton : DDButton
public override init(frame: CGRect) {
scrollView = DDScrollView()
scrollContentView = DDView()
topBackgroundImageView = DDImageView()
avatar = DDImageView(image: UIImage(named: "placeholder_gender_man"))
companyLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(12)), textColor: .hex("FFFFFF").alpha(0.5))
manageView = MineInfoView()
manageGes = UITapGestureRecognizer()
carInfoView = MineInfoView()
carInfoGes = UITapGestureRecognizer()
driverInfoView = MineInfoView()
driverInfoGes = UITapGestureRecognizer()
infoRadiusView = DDView()
infoStackView = UIStackView()
infoRadiusSeparate = DDImageView(image: UIImage(named: "mine_info_separate"))
statisticsRadiusView = DDView()
orderRadiusView = DDView()
materialRadiusView = DDView()
usedCarRadiusView = DDView()
settingsRadiusView = DDView()
fuwushanganjianGes = UITapGestureRecognizer()
fuwushanganjian = MineCell()
shujutongjiGes = UITapGestureRecognizer()
shujutongji = MineCell()
gongdanduizhangGes = UITapGestureRecognizer()
gongdanduizhang = MineCell()
gongdanpiciGes = UITapGestureRecognizer()
gongdanpici = MineCell()
kaipiaoxinxiGes = UITapGestureRecognizer()
kaipiaoxinxi = MineCell()
luqiaofeibaoxiaoGes = UITapGestureRecognizer()
luqiaofeibaoxiao = MineCell()
dianpingjinxiaocunGes = UITapGestureRecognizer()
dianpingjinxiaocun = MineCell()
peixunwendangGes = UITapGestureRecognizer()
peixunwendang = MineCell()
wendangziliaoGes = UITapGestureRecognizer()
wendangziliao = MineCell()
ershoucheGes = UITapGestureRecognizer()
ershouche = MineCell()
canbaoGes = UITapGestureRecognizer()
canbao = MineCell()
banbenjianceGes = UITapGestureRecognizer()
banbenjiance = MineCell()
tongzhitixingGes = UITapGestureRecognizer()
tongzhitixing = MineCell()
logoutButton = DDButton.dd_initCustom()
super.init(frame: frame)
backgroundColor = .hex("F4F5F7")
addSubview(scrollView)
scrollView.addSubview(scrollContentView)
topBackgroundImageView.backgroundColor = .hex("354683")
scrollContentView.addSubview(topBackgroundImageView)
avatar.layer.cornerRadius = auto(27)
avatar.layer.masksToBounds = true
scrollContentView.addSubview(avatar)
scrollContentView.addSubview(companyLabel)
infoRadiusView.backgroundColor = .hex("FFFFFF")
infoRadiusView.layer.cornerRadius = auto(12)
scrollContentView.addSubview(infoRadiusView)
infoStackView.axis = .horizontal
infoStackView.alignment = .fill
infoStackView.distribution = .fillEqually
infoRadiusView.addSubview(infoStackView)
manageView.addGestureRecognizer(manageGes)
carInfoView.addGestureRecognizer(carInfoGes)
driverInfoView.addGestureRecognizer(driverInfoGes)
infoStackView.addArrangedSubview(manageView)
infoStackView.addArrangedSubview(carInfoView)
infoStackView.addArrangedSubview(driverInfoView)
scrollContentView.addSubview(infoRadiusSeparate)
statisticsRadiusView.backgroundColor = .hex("FFFFFF")
statisticsRadiusView.layer.cornerRadius = auto(6)
scrollContentView.addSubview(statisticsRadiusView)
orderRadiusView.backgroundColor = .hex("FFFFFF")
orderRadiusView.layer.cornerRadius = auto(6)
scrollContentView.addSubview(orderRadiusView)
materialRadiusView.backgroundColor = .hex("FFFFFF")
materialRadiusView.layer.cornerRadius = auto(6)
scrollContentView.addSubview(materialRadiusView)
usedCarRadiusView.backgroundColor = .hex("FFFFFF")
usedCarRadiusView.layer.cornerRadius = auto(6)
scrollContentView.addSubview(usedCarRadiusView)
settingsRadiusView.backgroundColor = .hex("FFFFFF")
settingsRadiusView.layer.cornerRadius = auto(6)
scrollContentView.addSubview(settingsRadiusView)
fuwushanganjian.addGestureRecognizer(fuwushanganjianGes)
statisticsRadiusView.addSubview(fuwushanganjian)
shujutongji.addGestureRecognizer(shujutongjiGes)
shujutongji.line.isHidden = true
statisticsRadiusView.addSubview(shujutongji)
gongdanduizhang.addGestureRecognizer(gongdanduizhangGes)
orderRadiusView.addSubview(gongdanduizhang)
gongdanpici.addGestureRecognizer(gongdanpiciGes)
orderRadiusView.addSubview(gongdanpici)
kaipiaoxinxi.line.isHidden = true
kaipiaoxinxi.addGestureRecognizer(kaipiaoxinxiGes)
orderRadiusView.addSubview(kaipiaoxinxi)
luqiaofeibaoxiao.addGestureRecognizer(luqiaofeibaoxiaoGes)
luqiaofeibaoxiao.line.isHidden = true
luqiaofeibaoxiao.isHidden = true
orderRadiusView.addSubview(luqiaofeibaoxiao)
dianpingjinxiaocun.addGestureRecognizer(dianpingjinxiaocunGes)
dianpingjinxiaocun.line.isHidden = true
dianpingjinxiaocun.isHidden = true
orderRadiusView.addSubview(dianpingjinxiaocun)
peixunwendang.addGestureRecognizer(peixunwendangGes)
materialRadiusView.addSubview(peixunwendang)
wendangziliao.line.isHidden = true
wendangziliao.addGestureRecognizer(wendangziliaoGes)
materialRadiusView.addSubview(wendangziliao)
usedCarRadiusView.isHidden = true
ershouche.addGestureRecognizer(ershoucheGes)
ershouche.contentImageView.image = UIImage(named: "ershouche_new")
ershouche.contentLabel.text = "0"
ershouche.isHidden = true
usedCarRadiusView.addSubview(ershouche)
canbao.addGestureRecognizer(canbaoGes)
canbao.line.isHidden = true
canbao.isHidden = true
usedCarRadiusView.addSubview(canbao)
banbenjiance.addGestureRecognizer(banbenjianceGes)
settingsRadiusView.addSubview(banbenjiance)
tongzhitixing.line.isHidden = true
settingsRadiusView.addSubview(tongzhitixing)
tongzhitixing.addGestureRecognizer(tongzhitixingGes)
logoutButton.backgroundColor = .hex("545D78").alpha(0.25)
logoutButton.layer.cornerRadius = auto(17.5)
logoutButton.setTitle("退出登录", for: .normal)
logoutButton.setTitleColor(.white, for: .normal)
logoutButton.titleLabel?.font = .mediumFont(auto(13))
scrollContentView.addSubview(logoutButton)
scrollView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
scrollContentView.snp.makeConstraints { make in
make.edges.equalToSuperview()
make.width.equalToSuperview()
}
topBackgroundImageView.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.height.equalTo(auto(115))
}
avatar.snp.makeConstraints { make in
make.top.equalTo(auto(10))
make.left.equalTo(auto(25))
make.width.height.equalTo(auto(54))
}
companyLabel.snp.makeConstraints { make in
make.left.equalTo(avatar.snp.right).offset(auto(15))
make.centerY.equalTo(avatar)
}
infoRadiusView.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.top.equalTo(topBackgroundImageView.snp.bottom).offset(-auto(37.5))
make.height.equalTo(auto(73))
make.width.equalTo(auto(350))
}
infoStackView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
infoRadiusSeparate.snp.makeConstraints { make in
make.centerX.equalToSuperview()
make.centerY.equalToSuperview()
}
statisticsRadiusView.snp.makeConstraints { make in
make.top.equalTo(infoRadiusView.snp.bottom).offset(auto(10))
make.width.equalTo(infoRadiusView)
make.centerX.equalToSuperview()
}
orderRadiusView.snp.makeConstraints { make in
make.top.equalTo(statisticsRadiusView.snp.bottom).offset(auto(10))
make.width.equalTo(infoRadiusView)
make.centerX.equalToSuperview()
make.height.equalTo(auto(165))
}
materialRadiusView.snp.makeConstraints { make in
make.top.equalTo(orderRadiusView.snp.bottom).offset(auto(10))
make.width.equalTo(infoRadiusView)
make.centerX.equalToSuperview()
make.height.equalTo(auto(110))
}
usedCarRadiusView.snp.makeConstraints { make in
make.top.equalTo(materialRadiusView.snp.bottom).offset(auto(10))
make.width.equalTo(infoRadiusView)
make.centerX.equalToSuperview()
}
settingsRadiusView.snp.makeConstraints { make in
make.top.equalTo(usedCarRadiusView.snp.bottom).offset(auto(10))
make.width.equalTo(infoRadiusView)
make.centerX.equalToSuperview()
make.height.equalTo(auto(110))
}
fuwushanganjian.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(auto(55))
}
shujutongji.snp.makeConstraints { make in
make.top.equalTo(fuwushanganjian.snp.bottom)
make.left.right.equalToSuperview()
make.height.equalTo(auto(55))
make.bottom.equalToSuperview()
}
gongdanduizhang.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(auto(55))
}
gongdanpici.snp.makeConstraints { make in
make.top.equalTo(gongdanduizhang.snp.bottom)
make.left.right.equalToSuperview()
make.height.equalTo(gongdanduizhang)
}
kaipiaoxinxi.snp.makeConstraints { make in
make.top.equalTo(gongdanpici.snp.bottom)
make.left.right.equalToSuperview()
make.height.equalTo(gongdanduizhang)
}
luqiaofeibaoxiao.snp.makeConstraints { make in
make.top.equalTo(kaipiaoxinxi.snp.bottom)
make.left.right.equalToSuperview()
make.height.equalTo(0)
}
dianpingjinxiaocun.snp.makeConstraints { make in
make.top.equalTo(luqiaofeibaoxiao.snp.bottom)
make.left.right.bottom.equalToSuperview()
}
peixunwendang.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
make.height.equalTo(auto(55))
}
wendangziliao.snp.makeConstraints { make in
make.top.equalTo(peixunwendang.snp.bottom)
make.left.bottom.right.equalToSuperview()
}
ershouche.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.height.equalTo(0)
}
canbao.snp.makeConstraints { make in
make.top.equalTo(ershouche.snp.bottom)
make.left.bottom.right.equalToSuperview()
make.height.equalTo(0)
}
banbenjiance.snp.makeConstraints { make in
make.left.top.right.equalToSuperview()
make.height.equalTo(auto(55))
}
tongzhitixing.snp.makeConstraints { make in
make.top.equalTo(banbenjiance.snp.bottom)
make.left.bottom.right.equalToSuperview()
}
logoutButton.snp.makeConstraints { make in
make.top.equalTo(settingsRadiusView.snp.bottom).offset(auto(20))
make.bottom.equalToSuperview().offset(-auto(20))
make.centerX.equalToSuperview()
make.width.equalTo(auto(110))
make.height.equalTo(auto(35))
}
}
public required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
open class MineCell : DDView {
public let titleLabel : DDLabel
public let arrow : DDImageView
public let line : DDView
public let contentView : UIView
public let contentImageView : UIImageView
public let contentLabel : UILabel
override init(frame: CGRect) {
titleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(14)), textColor: .hex("323643"))
arrow = DDImageView(image: UIImage(named: "mine_info_arrow"))
line = DDView()
contentView = UIView()
contentImageView = UIImageView()
contentLabel = UILabel()
super.init(frame: frame)
addSubview(titleLabel)
addSubview(arrow)
line.backgroundColor = .hex("E9E9EA")
addSubview(line)
contentView.isHidden = true
addSubview(contentView)
contentView.addSubview(contentImageView)
contentLabel.font = .dd_systemFont(ofSize: 14, weight: .medium)
contentLabel.textColor = .dd_hex(light: "d81e06")
contentView.addSubview(contentLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(auto(20))
make.centerY.equalToSuperview()
}
arrow.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(-auto(20))
}
line.snp.makeConstraints { make in
make.bottom.equalToSuperview()
make.left.equalTo(titleLabel)
make.right.equalTo(arrow)
make.height.equalTo(1)
}
contentView.snp.makeConstraints { make in
make.right.equalTo(arrow.snp.left).offset(-auto(10))
make.centerY.equalToSuperview()
}
contentImageView.snp.makeConstraints { make in
make.left.equalToSuperview()
make.top.bottom.equalToSuperview().inset(auto(5))
}
contentLabel.snp.makeConstraints { make in
make.left.equalTo(contentImageView.snp.right).offset(auto(5))
make.centerY.equalToSuperview()
make.right.equalToSuperview()
}
}
public required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
public class MineInfoView : DDView {
public let imageView : DDImageView
public let titleLabel : DDLabel
public let descLabel : DDLabel
public let arrow : DDImageView
public override init(frame: CGRect) {
imageView = DDImageView()
titleLabel = DDLabel.dd_init(withText: "", font: .mediumFont(auto(14)), textColor: .hex("203152"))
descLabel = DDLabel.dd_init(withText: "", font: .regularFont(auto(12)), textColor: .hex("000000").alpha(0.55))
arrow = DDImageView(image: UIImage(named: "mine_info_arrow"))
super.init(frame: frame)
addSubview(imageView)
addSubview(titleLabel)
addSubview(descLabel)
addSubview(arrow)
imageView.contentMode = .scaleAspectFit
imageView.snp.makeConstraints { make in
make.right.equalTo(titleLabel.snp.left).offset(-auto(5))
make.width.height.equalTo(auto(24))
make.centerY.equalTo(titleLabel)
}
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(auto(10))
make.bottom.equalTo(snp.centerY).offset(-auto(2.5))
make.centerX.equalToSuperview().offset(auto(8))
}
descLabel.snp.makeConstraints { make in
make.left.equalTo(titleLabel)
make.top.equalTo(snp.centerY).offset(auto(2.5))
make.bottom.equalToSuperview().offset(-auto(10))
}
arrow.contentMode = .scaleAspectFit
arrow.snp.makeConstraints { make in
make.left.equalTo(titleLabel.snp.right).offset(auto(5))
make.centerY.equalTo(titleLabel)
make.width.height.equalTo(auto(8))
}
}
public required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}