OKProject.xcodeproj/project.pbxproj
@@ -7,6 +7,10 @@ objects = { /* Begin PBXBuildFile section */ 130206582A1DEC5A00A06489 /* RejectReasonView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130206572A1DEC5A00A06489 /* RejectReasonView.swift */; }; 1302065A2A1DEC6500A06489 /* RejectReasonView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 130206592A1DEC6500A06489 /* RejectReasonView.xib */; }; 1302065D2A1E00B300A06489 /* MineBusinessCreditDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1302065B2A1E00B300A06489 /* MineBusinessCreditDetailVC.swift */; }; 1302065E2A1E00B300A06489 /* MineBusinessCreditDetailVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1302065C2A1E00B300A06489 /* MineBusinessCreditDetailVC.xib */; }; 130B330227BA2AF0001FC50A /* MerchantVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130B330127BA2AF0001FC50A /* MerchantVC.swift */; }; 130B330427BA2DA4001FC50A /* MerchantListVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130B330327BA2DA4001FC50A /* MerchantListVC.swift */; }; 130B330727BA2E4B001FC50A /* MerchantCouponTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 130B330527BA2E4B001FC50A /* MerchantCouponTCell.swift */; }; @@ -675,6 +679,10 @@ /* End PBXBuildFile section */ /* Begin PBXFileReference section */ 130206572A1DEC5A00A06489 /* RejectReasonView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RejectReasonView.swift; sourceTree = "<group>"; }; 130206592A1DEC6500A06489 /* RejectReasonView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = RejectReasonView.xib; sourceTree = "<group>"; }; 1302065B2A1E00B300A06489 /* MineBusinessCreditDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MineBusinessCreditDetailVC.swift; sourceTree = "<group>"; }; 1302065C2A1E00B300A06489 /* MineBusinessCreditDetailVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = MineBusinessCreditDetailVC.xib; sourceTree = "<group>"; }; 130B330127BA2AF0001FC50A /* MerchantVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantVC.swift; sourceTree = "<group>"; }; 130B330327BA2DA4001FC50A /* MerchantListVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantListVC.swift; sourceTree = "<group>"; }; 130B330527BA2E4B001FC50A /* MerchantCouponTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MerchantCouponTCell.swift; sourceTree = "<group>"; }; @@ -1787,6 +1795,8 @@ 138987E729E930D900ED0EAC /* Reason_Content_TCell.xib */, 13B75D9429F0DCC400C57B59 /* OfficialCharterPassengerTCell.swift */, 13B75D9529F0DCC400C57B59 /* OfficialCharterPassengerTCell.xib */, 130206572A1DEC5A00A06489 /* RejectReasonView.swift */, 130206592A1DEC6500A06489 /* RejectReasonView.xib */, ); path = View; sourceTree = "<group>"; @@ -2156,6 +2166,8 @@ 13D9AAAC29E4F2110019467D /* MineCreditApplyVC.xib */, 13F6D5A229E50051003FDF28 /* MineBusinessCreditVC.swift */, 13F6D5A329E50051003FDF28 /* MineBusinessCreditVC.xib */, 1302065B2A1E00B300A06489 /* MineBusinessCreditDetailVC.swift */, 1302065C2A1E00B300A06489 /* MineBusinessCreditDetailVC.xib */, ); path = Controller; sourceTree = "<group>"; @@ -3189,6 +3201,7 @@ D9119FAF247E4F8C004FD68D /* AgreementView.xib in Resources */, F39670C2252C70FF00E570E6 /* TravelCityCell.xib in Resources */, 138A357C2829FCA1000F95F7 /* CarMoreListView.xib in Resources */, 1302065E2A1E00B300A06489 /* MineBusinessCreditDetailVC.xib in Resources */, D927C45F2490CEB1002BB108 /* TravelCouponsCell.xib in Resources */, D9582EB82491C4A7005F2142 /* DriverInfoVC.xib in Resources */, F3BD2090252DB1E60058D0AF /* TravelChooseCarCell.xib in Resources */, @@ -3240,6 +3253,7 @@ 132387A527B4E5B700D2BD1F /* TravelCardBuyTCell.xib in Resources */, D953BB2C2499EA9B002BA5EF /* MineOnlineCustomerServiceVC.xib in Resources */, D9A6A7BA2497195A008E251B /* MineBirthdayView.xib in Resources */, 1302065A2A1DEC6500A06489 /* RejectReasonView.xib in Resources */, D953F28E249751FA00D30F88 /* MineGiveCouponsVC.xib in Resources */, 13A27FC727BBB95F00DD0CDF /* MineCouponsDetailVC.xib in Resources */, 1327631F27B3CAFB0039C712 /* BindRelationAgreementVC.xib in Resources */, @@ -3358,6 +3372,7 @@ buildActionMask = 2147483647; files = ( D912FCFF248129B5005C1B9A /* ValidateCityModel.swift in Sources */, 1302065D2A1E00B300A06489 /* MineBusinessCreditDetailVC.swift in Sources */, D927C4612490CF26002BB108 /* TravelCouponsViewModel.swift in Sources */, 139F887128446B9100D8C4BA /* InvoiceViewController.swift in Sources */, D90D7329248DCA04006200A7 /* MyOrderListVC.swift in Sources */, @@ -3638,6 +3653,7 @@ F3BD2072252DA3ED0058D0AF /* TravleCityModel.swift in Sources */, 1365117B29E409C50051C926 /* LineOfCredictTCell.swift in Sources */, D943AF8C247F5726006EF639 /* SwitchCityVC.swift in Sources */, 130206582A1DEC5A00A06489 /* RejectReasonView.swift in Sources */, 13B494D9286C56D3004241AE /* HQFlowView.m in Sources */, 13E2B17828251FE7000EE396 /* HireCarTCell.swift in Sources */, 13CB991227BCFD99003B3110 /* ThanksDriverView.swift in Sources */, OKProject/API/API.swift
@@ -685,6 +685,10 @@ case saveCompanyLimit(applyQuota:String,applyReason:String) case getCompanyLimitDetail(id:Int) case companyLimitApprove(id:Int,remark:String? = nil,status:Int) } @@ -996,6 +1000,10 @@ return "/api/user/getMineLimitList" case .saveCompanyLimit: return "/api/user/saveCompanyLimit" case .getCompanyLimitDetail: return "/api/user/getCompanyLimitDetail" case .companyLimitApprove: return "/api/user/companyLimitApprove" } } @@ -1991,6 +1999,18 @@ .append(key: "applyQuota", value: applyQuota) .append(key: "applyReason", value: applyReason) return .requestParameters(parameters: params.done(), encoding: URLEncoding.queryString) case .getCompanyLimitDetail(let id): let params = APIParamsAppender() .append(key: "id", value: id) return .requestParameters(parameters: params.done(), encoding: URLEncoding.queryString) case .companyLimitApprove(let id, let remark, let status): let params = APIParamsAppender() .append(key: "id", value: id) .append(key: "remark", value: remark) .append(key: "status", value: status) return .requestParameters(parameters: params.done(), encoding: URLEncoding.queryString) } } } OKProject/Class/Home/Controller/LineOfCreditDetailVC.swift
@@ -7,11 +7,79 @@ // import UIKit import QMUIKit class LineOfCreditDetailVC: YYViewController { @IBOutlet weak var label_name: UILabel! @IBOutlet weak var label_phone: UILabel! @IBOutlet weak var label_applyQuota: UILabel! @IBOutlet weak var textView_reason: QMUITextView! @IBOutlet weak var stackView_handle: UIStackView! @IBOutlet weak var btn_reject: UIButton! @IBOutlet weak var btn_agreen: UIButton! @IBOutlet weak var label_textLen: UILabel! let viewModel = EnterpriseViewModel() private var id:Int! init(id:Int) { super.init(nibName: nil, bundle: nil) self.id = id } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func viewDidLoad() { super.viewDidLoad() title = "申请详情" textView_reason.isEditable = false viewModel.getCompanyLimitDetail(id: id) { [weak self] status in guard let weakSelf = self else { return } switch status { case .success(let m): weakSelf.label_name.text = m?.staffName ?? "" weakSelf.label_phone.text = m?.phone ?? "" weakSelf.label_applyQuota.text = m?.applyQuota.remain2Digits() ?? "" weakSelf.textView_reason.text = m?.applyReason ?? "" weakSelf.label_textLen.text = String(format: "%ld/50", m?.applyReason.length ?? 0) weakSelf.stackView_handle.isHidden = (m?.status == .pass || m?.status == .reject) case .error(let error): alert(text: error.localizedDescription) } } } @IBAction func agreenAction(_ sender: UIButton) { viewModel.companyLimitApprove(id: id, status: 1) { status in switch status { case .success(_): alert(text: "审核成功") self.stackView_handle.isHidden = true NotificationCenter.default.post(name: RefreshLineOfCredit_Noti, object: nil) case .error(let error): alert(text: error.localizedDescription) } } } @IBAction func rejectAction(_ sender: UIButton) { RejectReasonView.show { [weak self] text in guard let weakSelf = self else { return } weakSelf.viewModel.companyLimitApprove(id: weakSelf.id,remark: text, status: 2) { status in switch status { case .success(_): alert(text: "审核成功") weakSelf.stackView_handle.isHidden = true NotificationCenter.default.post(name: RefreshLineOfCredit_Noti, object: nil) case .error(let error): alert(text: error.localizedDescription) } } } } } OKProject/Class/Home/Controller/LineOfCreditDetailVC.xib
@@ -4,6 +4,7 @@ <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/> <capability name="Named colors" minToolsVersion="9.0"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> @@ -11,6 +12,14 @@ <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="LineOfCreditDetailVC" customModule="OK出行" customModuleProvider="target"> <connections> <outlet property="btn_agreen" destination="czy-rk-oqF" id="Gik-Wf-kiD"/> <outlet property="btn_reject" destination="khe-6T-mHh" id="Gn0-Gu-cOa"/> <outlet property="label_applyQuota" destination="E5s-kG-ftA" id="H3i-Am-WFW"/> <outlet property="label_name" destination="lQR-ff-Fqb" id="7F4-cz-G8v"/> <outlet property="label_phone" destination="eCI-eM-tia" id="gqz-us-31j"/> <outlet property="label_textLen" destination="wZo-ah-5iW" id="Uf9-Tg-Z8M"/> <outlet property="stackView_handle" destination="rgp-XV-hp8" id="VDr-dL-PjS"/> <outlet property="textView_reason" destination="nja-1V-5Vs" id="F5u-4R-LFt"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> </connections> </placeholder> @@ -204,10 +213,62 @@ <constraint firstItem="GqD-QY-XAR" firstAttribute="leading" secondItem="Q7r-po-Oqy" secondAttribute="leading" id="wbh-Ja-sPR"/> </constraints> </scrollView> <stackView opaque="NO" contentMode="scaleToFill" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="rgp-XV-hp8"> <rect key="frame" x="59.666666666666657" y="759" width="274" height="40"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="khe-6T-mHh"> <rect key="frame" x="0.0" y="0.0" width="127" height="40"/> <color key="backgroundColor" red="0.74901960784313726" green="0.74901960784313726" blue="0.74901960784313726" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="127" id="3No-aP-MLb"/> <constraint firstAttribute="height" constant="40" id="aCp-1z-YZj"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="拒绝"> <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="rejectAction:" destination="-1" eventType="touchUpInside" id="wOO-Hl-fw3"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="czy-rk-oqF"> <rect key="frame" x="147" y="0.0" width="127" height="40"/> <color key="backgroundColor" name="Color"/> <constraints> <constraint firstAttribute="height" constant="40" id="klG-fC-F0O"/> <constraint firstAttribute="width" constant="127" id="zY2-t7-QdU"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="同意"> <color key="titleColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </state> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="agreenAction:" destination="-1" eventType="touchUpInside" id="RH8-gx-1j7"/> </connections> </button> </subviews> <constraints> <constraint firstAttribute="height" constant="40" id="6tf-fI-yOO"/> </constraints> </stackView> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="rgp-XV-hp8" secondAttribute="bottom" constant="19" id="HW5-tv-5ZK"/> <constraint firstItem="rgp-XV-hp8" firstAttribute="centerX" secondItem="Q7r-po-Oqy" secondAttribute="centerX" id="Nv4-bz-8Ap"/> <constraint firstItem="Q7r-po-Oqy" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="UTt-4D-9g5"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="Q7r-po-Oqy" secondAttribute="trailing" id="mQP-5H-shM"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="bottom" secondItem="Q7r-po-Oqy" secondAttribute="bottom" id="nhY-NF-9aL"/> @@ -217,6 +278,9 @@ </view> </objects> <resources> <namedColor name="Color"> <color red="0.27099999785423279" green="0.70599997043609619" blue="0.57999998331069946" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="labelColor"> <color red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </systemColor> OKProject/Class/Home/Controller/LinesOfCreditListVC.swift
@@ -15,6 +15,8 @@ } } let RefreshLineOfCredit_Noti = Notification.Name.init("RefreshLineOfCredit_Noti") class LinesOfCreditListVC: YYTableViewController { private var viewModel = LinesOfCreditViewModel() @@ -29,6 +31,13 @@ viewModel.configure(tableView: tableView) tableView.beginRefreshing() } override func bindRx() { super.bindRx() NotificationCenter.default.rx.notification(RefreshLineOfCredit_Noti).takeUntil(self.rx.deallocated).subscribe(onNext: {noti in self.tableView.beginRefreshing() }).disposed(by: disposeBag) } } extension LinesOfCreditListVC:UITableViewDelegate{ OKProject/Class/Home/View/LineOfCredictTCell.swift
@@ -35,7 +35,7 @@ } @IBAction func detailAction(_ sender: UIButton) { let detailVC = LineOfCreditDetailVC() let detailVC = LineOfCreditDetailVC(id: lineModel.id) LD_currentNavigationController().pushViewController(detailVC) } } OKProject/Class/Home/View/RejectReasonView.swift
New file @@ -0,0 +1,66 @@ // // RejectReasonView.swift // OKProject // // Created by 无故事王国 on 2023/5/24. // Copyright © 2023 yangwang. All rights reserved. // import UIKit import QMUIKit class RejectReasonView: UIView,LDNibView{ @IBOutlet weak var view_container: UIView! @IBOutlet weak var textView_content: QMUITextView! var clouse:((String)->Void)? override func awakeFromNib() { super.awakeFromNib() view_container.alpha = 0 view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1) layoutIfNeeded() } static func show(_ clouse:@escaping (String)->Void){ let reasonView = RejectReasonView.ld_loadNibView() reasonView.clouse = clouse reasonView.frame = app.window?.frame ?? .zero app.window?.addSubview(reasonView) UIView.animate(withDuration: 0.5) { reasonView.view_container.alpha = 1 reasonView.view_container.transform = CGAffineTransform(scaleX: 1.0, y: 1.0) reasonView.layoutIfNeeded() } } @IBAction func closeAction(_ sender: UIButton) { UIView.animate(withDuration: 0.5) { self.view_container.alpha = 0 self.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1) self.layoutIfNeeded() } completion: { _ in self.removeFromSuperview() } } @IBAction func completeAction(_ sender: UIButton) { guard !textView_content.text.isEmpty else { alert(text: "请输入拒绝原因");return } UIView.animate(withDuration: 0.5) { self.view_container.alpha = 0 self.view_container.transform = CGAffineTransform(scaleX: 0.1, y: 0.1) self.layoutIfNeeded() } completion: { [weak self] _ in guard let weakSelf = self else { return } weakSelf.clouse?(weakSelf.textView_content.text!) weakSelf.removeFromSuperview() } } } OKProject/Class/Home/View/RejectReasonView.xib
New file @@ -0,0 +1,136 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/> <capability name="Named colors" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <view contentMode="scaleToFill" id="iN0-l3-epB" customClass="RejectReasonView" customModule="OK出行" customModuleProvider="target"> <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="2mR-be-fEt"> <rect key="frame" x="38" y="289.66666666666669" width="317" height="273.00000000000006"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="拒绝原因" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="mLm-nS-k5c"> <rect key="frame" x="121.66666666666666" y="24" width="73.666666666666657" height="25"/> <constraints> <constraint firstAttribute="height" constant="25" id="a2h-Gk-ZQ9"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="30D-Hf-T8b"> <rect key="frame" x="16" y="65" width="285" height="135"/> <subviews> <textView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" textAlignment="natural" translatesAutoresizingMaskIntoConstraints="NO" id="H1S-af-GhE" customClass="QMUITextView"> <rect key="frame" x="14" y="13" width="257" height="109"/> <color key="textColor" systemColor="labelColor"/> <fontDescription key="fontDescription" type="system" pointSize="15"/> <textInputTraits key="textInputTraits" autocapitalizationType="sentences"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="string" keyPath="placeholder" value="请输入拒绝原因"/> <userDefinedRuntimeAttribute type="number" keyPath="maximumTextLength"> <integer key="value" value="50"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="color" keyPath="placeholderColor"> <color key="value" red="0.40000000000000002" green="0.40000000000000002" blue="0.40000000000000002" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </textView> </subviews> <color key="backgroundColor" red="0.93725490196078431" green="0.93725490196078431" blue="0.93725490196078431" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="135" id="2zs-i2-nFY"/> <constraint firstAttribute="bottom" secondItem="H1S-af-GhE" secondAttribute="bottom" constant="13" id="Bt6-ho-H88"/> <constraint firstItem="H1S-af-GhE" firstAttribute="top" secondItem="30D-Hf-T8b" secondAttribute="top" constant="13" id="i7Y-Li-ZIk"/> <constraint firstItem="H1S-af-GhE" firstAttribute="leading" secondItem="30D-Hf-T8b" secondAttribute="leading" constant="14" id="vjo-cU-uuM"/> <constraint firstAttribute="trailing" secondItem="H1S-af-GhE" secondAttribute="trailing" constant="14" id="x50-jj-eYD"/> </constraints> </view> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="wJi-J5-azP"> <rect key="frame" x="16" y="216" width="285" height="40"/> <color key="backgroundColor" name="Color"/> <constraints> <constraint firstAttribute="height" constant="40" id="BHk-yr-GmR"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="15"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="确定"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="4"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> <connections> <action selector="completeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="TEe-PR-u10"/> </connections> </button> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="zAP-eJ-fs4"> <rect key="frame" x="272" y="5" width="40" height="40"/> <constraints> <constraint firstAttribute="height" constant="40" id="dqB-cj-WIx"/> <constraint firstAttribute="width" constant="40" id="gNX-Aj-ZeO"/> </constraints> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" image="icon_close"/> <connections> <action selector="closeAction:" destination="iN0-l3-epB" eventType="touchUpInside" id="hVT-Ra-La4"/> </connections> </button> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="30D-Hf-T8b" firstAttribute="top" secondItem="mLm-nS-k5c" secondAttribute="bottom" constant="16" id="47g-Ek-GgK"/> <constraint firstItem="wJi-J5-azP" firstAttribute="leading" secondItem="2mR-be-fEt" secondAttribute="leading" constant="16" id="8uY-JJ-RKs"/> <constraint firstItem="30D-Hf-T8b" firstAttribute="leading" secondItem="2mR-be-fEt" secondAttribute="leading" constant="16" id="Byk-qZ-TYt"/> <constraint firstItem="mLm-nS-k5c" firstAttribute="top" secondItem="2mR-be-fEt" secondAttribute="top" constant="24" id="E04-Ja-eQ1"/> <constraint firstAttribute="trailing" secondItem="wJi-J5-azP" secondAttribute="trailing" constant="16" id="Oey-J4-SiG"/> <constraint firstItem="zAP-eJ-fs4" firstAttribute="top" secondItem="2mR-be-fEt" secondAttribute="top" constant="5" id="UUB-yd-K8J"/> <constraint firstItem="mLm-nS-k5c" firstAttribute="centerX" secondItem="2mR-be-fEt" secondAttribute="centerX" id="WMd-bW-AP0"/> <constraint firstAttribute="trailing" secondItem="30D-Hf-T8b" secondAttribute="trailing" constant="16" id="ffc-W0-KEM"/> <constraint firstAttribute="trailing" secondItem="zAP-eJ-fs4" secondAttribute="trailing" constant="5" id="oX4-V2-yJe"/> <constraint firstAttribute="bottom" secondItem="wJi-J5-azP" secondAttribute="bottom" constant="17" id="y5m-TP-u7p"/> <constraint firstItem="wJi-J5-azP" firstAttribute="top" secondItem="30D-Hf-T8b" secondAttribute="bottom" constant="16" id="zgU-gw-aJF"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="6"/> </userDefinedRuntimeAttribute> </userDefinedRuntimeAttributes> </view> </subviews> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.5" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstItem="2mR-be-fEt" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="centerY" id="3SH-bU-HCL"/> <constraint firstAttribute="trailing" secondItem="2mR-be-fEt" secondAttribute="trailing" constant="38" id="5nc-zh-npA"/> <constraint firstItem="2mR-be-fEt" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="38" id="76v-AZ-Mt7"/> <constraint firstItem="2mR-be-fEt" firstAttribute="centerX" secondItem="iN0-l3-epB" secondAttribute="centerX" id="BRK-HK-SFY"/> </constraints> <connections> <outlet property="textView_content" destination="H1S-af-GhE" id="OvQ-op-Q4N"/> <outlet property="view_container" destination="2mR-be-fEt" id="vBB-er-AaB"/> </connections> <point key="canvasLocation" x="81.679389312977094" y="20.422535211267608"/> </view> </objects> <resources> <image name="icon_close" width="16" height="16"/> <namedColor name="Color"> <color red="0.27099999785423279" green="0.70599997043609619" blue="0.57999998331069946" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </namedColor> <systemColor name="labelColor"> <color red="0.0" green="0.0" blue="0.0" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> </systemColor> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> OKProject/Class/Home/ViewModel/EnterpriseViewModel.swift
@@ -58,4 +58,41 @@ clouse(ResponseStatus.error(error)) }.disposed(by: disposeBag) } func getCompanyLimitDetail(id:Int,clouse: @escaping (ResponseStatus<LinesModel>)->Void){ show() APIManager.shared.provider.rx.request(.getCompanyLimitDetail(id: id)).mapTravelThenValidate(LinesModel.self).subscribe { result in self.hidden() switch result { case .success(let m): clouse(ResponseStatus.success(m)) case .failure(let e): clouse(ResponseStatus.error(e)) } } onError: { error in self.hidden() clouse(ResponseStatus.error(error)) }.disposed(by: disposeBag) } /// 额度审核 /// - Parameters: /// - id: id /// - remark: 拒绝备注 /// - status: 审核状态(1审核通过 2审核拒绝) func companyLimitApprove(id:Int,remark:String? = nil,status:Int,clouse: @escaping (ResponseStatus<Nothing>)->Void){ show() APIManager.shared.provider.rx.request(.companyLimitApprove(id: id, remark: remark, status: status)).mapTravelThenValidate(Nothing.self).subscribe { result in self.hidden() switch result { case .success(_): clouse(ResponseStatus.success(nil)) case .failure(let e): clouse(ResponseStatus.error(e)) } } onError: { error in self.hidden() clouse(ResponseStatus.error(error)) }.disposed(by: disposeBag) } } OKProject/Class/LeftMenu/Controller/MineBusinessCreditDetailVC.swift
New file @@ -0,0 +1,57 @@ // // MineBusinessCreditDetailVC.swift // OKProject // // Created by 无故事王国 on 2023/5/24. // Copyright © 2023 yangwang. All rights reserved. // import UIKit class MineBusinessCreditDetailVC: YYViewController { @IBOutlet weak var label_balance: UILabel! @IBOutlet weak var label_applyReason: UILabel! @IBOutlet weak var label_limitCount: UILabel! @IBOutlet weak var label_reject: UILabel! @IBOutlet weak var view_reject: UIView! @IBOutlet weak var label_auth: UILabel! private var model:LinesModel! init(model:LinesModel) { super.init(nibName: nil, bundle: nil) self.model = model } required init?(coder: NSCoder) { fatalError("init(coder:) has not been implemented") } override func viewDidLoad() { super.viewDidLoad() title = "申请详情" view.backgroundColor = UIColor(hexString: "#F3F4F5") label_balance.text = model.applyQuota.remain2Digits() label_applyReason.text = model.applyReason label_limitCount.text = "\(model.applyReason.length)/50" view_reject.isHidden = model.status != .reject label_reject.text = model.remark switch model.status{ case .pass: label_auth.text = "审核成功!" label_auth.backgroundColor = ThemeColor case .pending: label_auth.text = "处理中" label_auth.backgroundColor = UIColor.black.withAlphaComponent(0.49) case .reject: label_auth.text = "审核失败!" label_auth.backgroundColor = UIColor.black.withAlphaComponent(0.49) case .none:break } } } OKProject/Class/LeftMenu/Controller/MineBusinessCreditDetailVC.xib
New file @@ -0,0 +1,196 @@ <?xml version="1.0" encoding="UTF-8"?> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="21701" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES"> <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="21678"/> <capability name="Safe area layout guides" minToolsVersion="9.0"/> <capability name="System colors in document resources" minToolsVersion="11.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> </dependencies> <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="MineBusinessCreditDetailVC" customModule="OK出行" customModuleProvider="target"> <connections> <outlet property="label_applyReason" destination="hEz-fg-ctA" id="2gy-uJ-ZtZ"/> <outlet property="label_auth" destination="4aN-4Q-LSL" id="5ps-IG-Ga2"/> <outlet property="label_balance" destination="voC-uF-PGs" id="Lhd-f2-v6W"/> <outlet property="label_limitCount" destination="Odp-Mr-xT3" id="Jw0-D2-lb3"/> <outlet property="label_reject" destination="GKv-sa-wOp" id="Esb-8r-40K"/> <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/> <outlet property="view_reject" destination="PQ6-Ec-9bY" id="UsU-rE-bBY"/> </connections> </placeholder> <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/> <view clearsContextBeforeDrawing="NO" contentMode="scaleToFill" id="i5M-Pr-FkT"> <rect key="frame" x="0.0" y="0.0" width="393" height="852"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="xQC-Jh-DaQ"> <rect key="frame" x="0.0" y="59" width="393" height="537"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="NBa-gx-bSB"> <rect key="frame" x="0.0" y="0.0" width="393" height="51"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="I8A-kH-kfp"> <rect key="frame" x="0.0" y="50" width="393" height="1"/> <color key="backgroundColor" red="0.95294117647058818" green="0.95686274509803915" blue="0.96078431372549022" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="n9O-3S-EhZ"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="申请额度" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="dZb-Uy-YtC"> <rect key="frame" x="14.000000000000004" y="17" width="57.333333333333343" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0.00" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="voC-uF-PGs"> <rect key="frame" x="112.33333333333333" y="17" width="29.999999999999986" height="17"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstAttribute="height" constant="51" id="BXr-9k-yRu"/> <constraint firstItem="voC-uF-PGs" firstAttribute="centerY" secondItem="NBa-gx-bSB" secondAttribute="centerY" id="OS5-zj-Yo5"/> <constraint firstItem="I8A-kH-kfp" firstAttribute="leading" secondItem="NBa-gx-bSB" secondAttribute="leading" id="Ppq-uR-d4P"/> <constraint firstItem="voC-uF-PGs" firstAttribute="leading" secondItem="dZb-Uy-YtC" secondAttribute="trailing" constant="41" id="RHI-Wh-n58"/> <constraint firstItem="dZb-Uy-YtC" firstAttribute="leading" secondItem="NBa-gx-bSB" secondAttribute="leading" constant="14" id="YQK-cQ-aA1"/> <constraint firstItem="dZb-Uy-YtC" firstAttribute="centerY" secondItem="NBa-gx-bSB" secondAttribute="centerY" id="ncK-Y5-gQr"/> <constraint firstAttribute="bottom" secondItem="I8A-kH-kfp" secondAttribute="bottom" id="sx4-41-epW"/> <constraint firstAttribute="trailing" secondItem="I8A-kH-kfp" secondAttribute="trailing" id="w5t-zE-i3L"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="een-zv-ScA"> <rect key="frame" x="0.0" y="51" width="393" height="200"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Hrb-pA-anh"> <rect key="frame" x="0.0" y="199" width="393" height="1"/> <color key="backgroundColor" red="0.95294117649999999" green="0.95686274510000002" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="E0O-BS-OJZ"/> </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="申请理由" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="xW1-ff-9Nq"> <rect key="frame" x="14.000000000000004" y="10" width="57.333333333333343" height="30"/> <constraints> <constraint firstAttribute="height" constant="30" id="hme-AA-cUA"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="hEz-fg-ctA"> <rect key="frame" x="14" y="43" width="365" height="59"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="30" id="XGO-vC-tlW"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="0/50" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Odp-Mr-xT3"> <rect key="frame" x="346" y="157" width="30" height="30"/> <constraints> <constraint firstAttribute="height" constant="30" id="vaN-tA-HNp"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <color key="textColor" red="0.20000000000000001" green="0.20000000000000001" blue="0.20000000000000001" alpha="0.40000000000000002" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="hEz-fg-ctA" firstAttribute="top" secondItem="xW1-ff-9Nq" secondAttribute="bottom" constant="3" id="24E-7J-aJB"/> <constraint firstItem="xW1-ff-9Nq" firstAttribute="leading" secondItem="een-zv-ScA" secondAttribute="leading" constant="14" id="5XK-yw-DWd"/> <constraint firstItem="Hrb-pA-anh" firstAttribute="leading" secondItem="een-zv-ScA" secondAttribute="leading" id="FjA-Jc-i3t"/> <constraint firstAttribute="trailing" secondItem="hEz-fg-ctA" secondAttribute="trailing" constant="14" id="Ox1-zC-XAb"/> <constraint firstItem="xW1-ff-9Nq" firstAttribute="top" secondItem="een-zv-ScA" secondAttribute="top" constant="10" id="SkZ-Sj-9UN"/> <constraint firstAttribute="bottom" secondItem="Hrb-pA-anh" secondAttribute="bottom" id="iHB-CU-jZn"/> <constraint firstAttribute="trailing" secondItem="Hrb-pA-anh" secondAttribute="trailing" id="khj-Cu-Jt9"/> <constraint firstItem="Hrb-pA-anh" firstAttribute="top" secondItem="Odp-Mr-xT3" secondAttribute="bottom" constant="12" id="nlA-Qe-JOQ"/> <constraint firstAttribute="trailing" secondItem="Odp-Mr-xT3" secondAttribute="trailing" constant="17" id="oz4-rT-9uI"/> <constraint firstItem="Odp-Mr-xT3" firstAttribute="top" secondItem="hEz-fg-ctA" secondAttribute="bottom" constant="55" id="usA-pJ-7zW"/> <constraint firstItem="hEz-fg-ctA" firstAttribute="leading" secondItem="een-zv-ScA" secondAttribute="leading" constant="14" id="vCB-g3-0l2"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="PQ6-Ec-9bY"> <rect key="frame" x="0.0" y="251" width="393" height="200"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="拒绝理由" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="POC-hk-NvE"> <rect key="frame" x="14.000000000000004" y="10" width="57.333333333333343" height="30"/> <constraints> <constraint firstAttribute="height" constant="30" id="hge-5y-6dd"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GKv-sa-wOp"> <rect key="frame" x="14" y="43" width="365" height="60"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="30" id="aQT-gN-MHm"/> </constraints> <fontDescription key="fontDescription" type="system" pointSize="14"/> <nil key="textColor"/> <nil key="highlightedColor"/> </label> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="POC-hk-NvE" firstAttribute="leading" secondItem="PQ6-Ec-9bY" secondAttribute="leading" constant="14" id="4xR-Ah-rb1"/> <constraint firstItem="POC-hk-NvE" firstAttribute="top" secondItem="PQ6-Ec-9bY" secondAttribute="top" constant="10" id="5cp-za-7gW"/> <constraint firstAttribute="trailing" secondItem="GKv-sa-wOp" secondAttribute="trailing" constant="14" id="AO9-f3-qkL"/> <constraint firstItem="GKv-sa-wOp" firstAttribute="leading" secondItem="PQ6-Ec-9bY" secondAttribute="leading" constant="14" id="JAH-Pq-j05"/> <constraint firstItem="GKv-sa-wOp" firstAttribute="top" secondItem="POC-hk-NvE" secondAttribute="bottom" constant="3" id="TfH-VI-lZ1"/> <constraint firstAttribute="bottom" secondItem="GKv-sa-wOp" secondAttribute="bottom" constant="97" id="Yls-cG-56B"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Mox-VW-Amf"> <rect key="frame" x="0.0" y="451" width="393" height="86"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="Label" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="4aN-4Q-LSL"> <rect key="frame" x="115" y="30" width="163" height="46"/> <color key="backgroundColor" red="0.0" green="0.0" blue="0.0" alpha="0.48999999999999999" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="width" constant="163" id="8oY-vC-YH5"/> <constraint firstAttribute="height" constant="46" id="YaJ-ew-0Lo"/> </constraints> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="16"/> <color key="textColor" red="0.95294117649999999" green="0.95686274510000002" blue="0.96078431369999995" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="number" keyPath="cornerRadius"> <real key="value" value="7"/> </userDefinedRuntimeAttribute> <userDefinedRuntimeAttribute type="boolean" keyPath="maskToBounds" value="YES"/> </userDefinedRuntimeAttributes> </label> </subviews> <constraints> <constraint firstItem="4aN-4Q-LSL" firstAttribute="top" secondItem="Mox-VW-Amf" secondAttribute="top" constant="30" id="Fd8-CX-D6l"/> <constraint firstAttribute="bottom" secondItem="4aN-4Q-LSL" secondAttribute="bottom" constant="10" id="KiT-gu-zNS"/> <constraint firstItem="4aN-4Q-LSL" firstAttribute="centerX" secondItem="Mox-VW-Amf" secondAttribute="centerX" id="nRl-gf-y9M"/> </constraints> </view> </subviews> </stackView> </subviews> <viewLayoutGuide key="safeArea" id="fnl-2z-Ty3"/> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="xQC-Jh-DaQ" firstAttribute="top" secondItem="fnl-2z-Ty3" secondAttribute="top" id="0Tv-LG-h1u"/> <constraint firstItem="fnl-2z-Ty3" firstAttribute="trailing" secondItem="xQC-Jh-DaQ" secondAttribute="trailing" id="hQb-wM-ke7"/> <constraint firstItem="xQC-Jh-DaQ" firstAttribute="leading" secondItem="fnl-2z-Ty3" secondAttribute="leading" id="qtS-iB-vhW"/> </constraints> <point key="canvasLocation" x="83" y="21"/> </view> </objects> <resources> <systemColor name="systemBackgroundColor"> <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/> </systemColor> </resources> </document> OKProject/Class/LeftMenu/Controller/MineBusinessCreditVC.swift
@@ -14,6 +14,8 @@ } } let Refresh_MineBusinessCredit_Noti = Notification.Name.init("Refresh_MineBusinessCredit_Noti") class MineBusinessCreditVC: YYViewController { @IBOutlet weak var label_quotaAccount: UILabel! @@ -72,6 +74,15 @@ tableview.dataSource = self viewModel.configure(tableView: tableview) tableview.beginRefreshing() label_quotaAccount.text = "\(app.userInfo.balance.remain2Digits())" label_account.text = "\(app.userInfo.balanceQuota.remain2Digits())" } override func bindRx() { NotificationCenter.default.rx.notification(Refresh_MineBusinessCredit_Noti).takeUntil(self.rx.deallocated).subscribe(onNext: {[weak self] noti in self?.tableview.beginRefreshing() }).disposed(by: disposeBag) } @IBAction func applyAction(_ sender: UIButton) { @@ -86,7 +97,11 @@ } extension MineBusinessCreditVC:UITableViewDelegate{ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { let model = viewModel.dataSource.value[indexPath.row] let vc = MineBusinessCreditDetailVC(model: model) yy_push(vc: vc) } } extension MineBusinessCreditVC:UITableViewDataSource{ OKProject/Class/LeftMenu/Controller/MineCreditApplyVC.swift
@@ -45,6 +45,7 @@ switch status { case .success(_): alert(popup: .single, title: "提示!", text: "申请提交成功", submitTitle: "确定", cancelTitle: "取消") { NotificationCenter.default.post(name: Refresh_MineBusinessCredit_Noti, object: nil) self.yy_pop() } cancelClick: {