无故事王国
2023-10-31 305d164f3d912e63858e433809e1053184636873
修复BUG
19个文件已修改
292 ■■■■■ 已修改文件
WanPai/Config/Enums.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Model/CommonModels.swift 1 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Network/Services.swift 13 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Course/VC/CourseDetailApplyVC.xib 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Course/VC/CourseDetailVC.xib 7 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Course/VC/ExperienceCourseVC.swift 6 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Home/VC/HomeVC.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Home/VC/JoinMemberIntroduceVC.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Other/VC/PaymentResultVC.swift 19 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Other/View/StoresChooseView.swift 65 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Welfare/CCell/WelfareCoinCCell.xib 40 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Welfare/VC/WelfareExchangeRecordListVC.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Welfare/VC/WelfareVC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Welfare/VC/WelfareVC.xib 24 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Welfare/VC/WelfareWeeklyDetailVC.xib 3 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Welfare/View/CoinStoreHeadView.swift 2 ●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Yard/TCell/YardBookingTCell.swift 15 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Yard/VC/YardBookingDetailVC.swift 43 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Yard/VC/YardBookingDetailVC.xib 37 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Config/Enums.swift
@@ -287,9 +287,9 @@
    var strTitle:String{
        switch self {
            case .goods:return "实物"
            case .goods:return "实体"
            case .coupon:return "优惠券"
            case .course:return "运动营"
            case .course:return "课包"
            case .ticket:return "门票"
        }
    }
WanPai/Model/CommonModels.swift
@@ -819,6 +819,7 @@
    var userCouponId: String = ""
    var voucher: String = ""
    var typeName = ""
    var storePhone:String = ""
    var appUserId: Int = 0
    var sid = [Int]()
WanPai/Network/Services.swift
@@ -12,13 +12,11 @@
import JQTools
#if DEBUG
//let All_Url = "https://ds867zleb4ow.xiaomiqiu.com"
//let All_Url = "http://192.168.110.27:56666"
let All_Url = "http://8.137.22.229:56666" //正式地址
//let All_Url = "http://8.137.22.229:56666"
//let All_Url = "http://192.168.110.27:56666" //罗易胜
let All_Url = "http://192.168.110.22:56666" //刘杰
//let All_Url = "http://8.137.22.229:56666" //正式地址
//let All_Url = "http://8.137.22.229:56666" //正式地址
let Game_Url = "https://try.daowepark.com"
//let All_Url = "https://console-mock.apipost.cn/mock/b5b2dee0-5564-40ae-f082-a352d502a153"
//let All_Url = "http://192.168.110.165:10393/mock/b5b2dee0-5564-40ae-f082-a352d502a153"
#else
let All_Url = "http://8.137.22.229:56666" //正式地址
//let Game_Url = "https://port.daowepark.com"//正式地址
@@ -1162,10 +1160,11 @@
    }
        /// 获取城市code获取门店
    class func queryStoreAtCity(cityCode:Int)->Observable<BaseResponse<[CityProfileModel]>>{
    class func queryStoreAtCity(cityCode:Int?,provinceCode:Int)->Observable<BaseResponse<[CityProfileModel]>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/other/base/store/queryStoreByCityCode")
            .append(key: "cityCode", value: cityCode)
            .append(key: "provinceCode", value: provinceCode)
        return NetworkRequest.request(params: params, method: .post, progress: true)
    }
WanPai/Root/Course/VC/CourseDetailApplyVC.xib
@@ -465,6 +465,9 @@
                                    <nil key="highlightedColor"/>
                                </label>
                            </subviews>
                            <constraints>
                                <constraint firstAttribute="width" relation="lessThanOrEqual" constant="140" id="4uc-RX-08Q"/>
                            </constraints>
                        </stackView>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Dbs-38-o1O">
                            <rect key="frame" x="131" y="17.666666666666629" width="248" height="40"/>
WanPai/Root/Course/VC/CourseDetailVC.xib
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" 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="22130"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
        <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"/>
@@ -279,6 +279,9 @@
                                    <nil key="highlightedColor"/>
                                </label>
                            </subviews>
                            <constraints>
                                <constraint firstAttribute="width" relation="lessThanOrEqual" constant="140" id="zoQ-0l-GPy"/>
                            </constraints>
                        </stackView>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="xz5-Ol-6OL">
                            <rect key="frame" x="131" y="17.666666666666629" width="248" height="40"/>
WanPai/Root/Course/VC/ExperienceCourseVC.swift
@@ -76,9 +76,11 @@
                        t.append(weakSelf.experienceCourseModel!.day[selectIndex])
                    }
                    Services.payCourse(courseId: weakSelf.courseId, num: n, oldCourseId: s, time: t).subscribe(onNext: {data in
                        alertSuccess(msg: "购买成功")
                        let vc = PaymentResultVC(result: .success, objType: .courseApply, handleVC: nil, courseConfigId: nil, againClouse: nil)
                            weakSelf.push(vc: vc)
                    }) { error in
                        let vc = PaymentResultVC(result: .fail("购买失败", 0), objType: .courseApply, handleVC: nil, courseConfigId: nil, againClouse: nil)
                        weakSelf.push(vc: vc)
                    }.disposed(by: weakSelf.disposeBag)
                }
            }
WanPai/Root/Home/VC/HomeVC.swift
@@ -213,7 +213,7 @@
            guard let weakSelf = self else { return }
            weakSelf.storeId = store.id
            weakSelf.label_store.text = store.name
            weakSelf.storeModel = HomeStoreModel(isVip: weakSelf.storeModel?.isVip ?? 0, storeId: store.id, name: store.name, lon: 0, lat: 0, province: province.name, provinceCode: province.code, city: city.name, cityCode: city.code)
            weakSelf.storeModel = HomeStoreModel(isVip: weakSelf.storeModel?.isVip ?? 0, storeId: store.id, name: store.name, lon: 0, lat: 0, province: province.name, provinceCode: province.code, city: city?.name ?? "", cityCode: city?.code ?? 0)
            weakSelf.items.removeAll()
            weakSelf.getStoreItemList()
WanPai/Root/Home/VC/JoinMemberIntroduceVC.swift
@@ -38,7 +38,7 @@
        var price = 0.01
#if !DEBUG
        price = 199
        price = 0.01
#endif
        PaymentView.show(money: (ali:price,wx:price,coin:nil,course:nil,integral:nil)) { type in
WanPai/Root/Other/VC/PaymentResultVC.swift
@@ -17,6 +17,7 @@
    enum PaymentObjType{
        case member //会员
        case courseApply //运动营报名
        case courseSUPApply //运动营报名[体验]
        case activityApply //活动报名
        case yard //场地预约
        case games //邮箱
@@ -108,7 +109,23 @@
                    }
            case .none:break
            }
            case .courseSUPApply:
                    //课时购买
                btn_backHome.isHidden = true
                switch result {
                    case .fail(let str,_):
                        btn_again.setTitle("再次支付", for: .normal)
                        btn_back.setTitle("返回", for: .normal)
                        label_content.text = str
//                        if code == 3{btn_again.setTitle("去充值", for: .normal)}
                    case .success:
                        btn_again.setTitle("立即预约", for: .normal)
                        btn_back.setTitle("返回首页", for: .normal)
                        label_content.text = "报名成功,请及时预约运动营上课!"
                    case .none:break
                }
        case .activityApply:
            btn_backHome.isHidden = true
            collectionView.isHidden =  true
WanPai/Root/Other/View/StoresChooseView.swift
@@ -27,7 +27,7 @@
    private var storesModel = [CityProfileModel]()
    private var clouse:((CityProfileModel,CityProfileModel,CityProfileModel)->Void)!
    private var clouse:((CityProfileModel,CityProfileModel?,CityProfileModel)->Void)!
    private let disposeBag = DisposeBag()
    private var defaultStoreModel:HomeStoreModel?
@@ -39,7 +39,7 @@
        layoutIfNeeded()
    }
    
    static func show(defaultM:HomeStoreModel? = nil, clouse:@escaping (CityProfileModel,CityProfileModel,CityProfileModel)->Void){
    static func show(defaultM:HomeStoreModel? = nil, clouse:@escaping (CityProfileModel,CityProfileModel?,CityProfileModel)->Void){
        let storesView = StoresChooseView.jq_loadNibView()
        storesView.clouse = clouse
        storesView.defaultStoreModel = defaultM
@@ -47,15 +47,23 @@
        sceneDelegate?.window?.addSubview(storesView)
        if let m = defaultM{
            storesView.label_city.text = m.city
            storesView.label_province.text = m.province
            storesView.label_currently.text = m.name
            storesView.label_city.text = m.city.isEmpty ? "选择城市":m.city
            storesView.label_province.text = m.province.isEmpty ? "选择省份":m.province
            storesView.label_currently.text = m.name.isEmpty ? "选择门店":m.name
            storesView.provinceModel = CityProfileModel(id: 0, code: m.provinceCode, name: m.province)
            storesView.cityModel = CityProfileModel(id: 0, code: m.cityCode, name: m.city)
            storesView.storeModel = CityProfileModel(id: m.storeId, code: 0, name: m.name)
            storesView.getData(m.provinceCode)
            storesView.getStore(m.cityCode)
            if m.provinceCode != 0{
                storesView.provinceModel = CityProfileModel(id: 0, code: m.provinceCode, name: m.province)
                storesView.getData(m.provinceCode)
                storesView.getStore(m.cityCode,provinceCode: m.provinceCode)
            }
            if m.cityCode != 0{
                storesView.cityModel = CityProfileModel(id: 0, code: m.cityCode, name: m.city)
            }
            if m.storeId != 0{
                storesView.storeModel = CityProfileModel(id: m.storeId, code: 0, name: m.name)
            }
        }
        UIView.animate(withDuration: 0.4) {
@@ -77,8 +85,8 @@
        }).disposed(by: disposeBag)
    }
    private func getStore(_ cityCode:Int){
        Services.queryStoreAtCity(cityCode: cityCode).subscribe(onNext: { [weak self] data in
    private func getStore(_ cityCode:Int?,provinceCode:Int){
        Services.queryStoreAtCity(cityCode: cityCode, provinceCode: provinceCode).subscribe(onNext: { [weak self] data in
            guard let weakSelf = self else { return }
            weakSelf.storesModel = data.data ?? []
        }).disposed(by: disposeBag)
@@ -109,15 +117,17 @@
        let names = provincesModel.map({$0.name})
        JQ_MenuView().show(self, tapView: sender, items: names, menuWidth: sender.jq_width, tableHei: 200) { [weak self] index, str in
            guard let weakSelf = self else { return }
            weakSelf.provinceModel = weakSelf.provincesModel[index]
            weakSelf.label_province.text = weakSelf.provinceModel?.name ?? ""
            weakSelf.getData(weakSelf.provinceModel!.code)
            weakSelf.cityModel = nil
            weakSelf.label_city.text = "选择城市"
            weakSelf.storeModel = nil
            weakSelf.label_currently.text = "选择门店"
            weakSelf.provinceModel = weakSelf.provincesModel[index]
            weakSelf.label_province.text = weakSelf.provinceModel?.name ?? ""
            weakSelf.getData(weakSelf.provinceModel!.code)
            weakSelf.getStore(weakSelf.cityModel?.code,provinceCode: weakSelf.provinceModel!.code)
        }
    }
@@ -126,11 +136,14 @@
        guard citysModel.count != 0 else {alertError(msg: "当前城市未开通");return}
        JQ_MenuView().show(self, tapView: sender, items: citysModel.map({$0.name}), menuWidth: sender.jq_width, tableHei: 200) { [weak self] index, str in
            guard let weakSelf = self else { return }
            weakSelf.cityModel = weakSelf.citysModel[index]
            weakSelf.label_city.text = weakSelf.cityModel?.name ?? ""
            weakSelf.getStore(weakSelf.cityModel!.code)
            weakSelf.storeModel = nil
            weakSelf.label_currently.text = "选择门店"
            weakSelf.cityModel = weakSelf.citysModel[index]
            weakSelf.label_city.text = weakSelf.cityModel?.name ?? ""
            weakSelf.getStore(weakSelf.cityModel?.code,provinceCode: weakSelf.provinceModel!.code)
        }
    }
@@ -140,9 +153,9 @@
            alertError(msg: "请先选择省份");return
        }
        guard cityModel != nil else {
            alertError(msg: "请先选城市");return
        }
//        guard cityModel != nil else {
//            alertError(msg: "请先选城市");return
//        }
        JQ_MenuView().show(self, tapView: sender, items: storesModel.map({$0.name}), menuWidth: sender.jq_width, tableHei: 200) { [weak self] index, str in
            guard let weakSelf = self else { return }
@@ -161,9 +174,9 @@
            alertError(msg: "请先选择省份");return
        }
        guard cityModel != nil else {
            alertError(msg: "请先选城市");return
        }
//        guard cityModel != nil else {
//            alertError(msg: "请先选城市");return
//        }
        guard storeModel != nil else {
@@ -171,7 +184,7 @@
        }
        close()
        clouse?(provinceModel!,cityModel!,storeModel!)
        clouse?(provinceModel!,cityModel,storeModel!)
    }
    
}
WanPai/Root/Welfare/CCell/WelfareCoinCCell.xib
@@ -1,9 +1,9 @@
<?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">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" 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="21679"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
        <capability name="Safe area layout guides" minToolsVersion="9.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
@@ -11,25 +11,28 @@
        <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner"/>
        <placeholder placeholderIdentifier="IBFirstResponder" id="-2" customClass="UIResponder"/>
        <collectionViewCell opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" reuseIdentifier="_WelfareCoinCCell" id="gTV-IL-0wX" customClass="WelfareCoinCCell" customModule="WanPai" customModuleProvider="target">
            <rect key="frame" x="0.0" y="0.0" width="240" height="220"/>
            <rect key="frame" x="0.0" y="0.0" width="194" height="228"/>
            <autoresizingMask key="autoresizingMask"/>
            <view key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center">
                <rect key="frame" x="0.0" y="0.0" width="240" height="220"/>
                <rect key="frame" x="0.0" y="0.0" width="194" height="228"/>
                <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
                <subviews>
                    <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="test_1" translatesAutoresizingMaskIntoConstraints="NO" id="IEc-iv-4yJ">
                        <rect key="frame" x="0.0" y="0.0" width="240" height="220"/>
                        <rect key="frame" x="0.0" y="0.0" width="194" height="194"/>
                        <constraints>
                            <constraint firstAttribute="width" secondItem="IEc-iv-4yJ" secondAttribute="height" multiplier="1:1" id="aRs-sR-kLM"/>
                        </constraints>
                    </imageView>
                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aSG-Yz-EAC">
                        <rect key="frame" x="8" y="193" width="197.66666666666666" height="12"/>
                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
                        <color key="textColor" red="0.28235294117647058" green="0.28235294117647058" blue="0.28235294117647058" alpha="1" colorSpace="calibratedRGB"/>
                        <nil key="highlightedColor"/>
                    </label>
                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="1000" verticalHuggingPriority="251" horizontalCompressionResistancePriority="1000" text="¥0" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AV2-Pp-S8J">
                        <rect key="frame" x="215.66666666666666" y="193" width="13.333333333333343" height="12"/>
                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="1000" verticalHuggingPriority="251" horizontalCompressionResistancePriority="1000" text="¥0" textAlignment="right" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AV2-Pp-S8J">
                        <rect key="frame" x="169.66666666666666" y="200" width="13.333333333333343" height="12"/>
                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
                        <color key="textColor" red="0.28235294119999998" green="0.28235294119999998" blue="0.28235294119999998" alpha="1" colorSpace="calibratedRGB"/>
                        <nil key="highlightedColor"/>
                    </label>
                    <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="2" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="aSG-Yz-EAC">
                        <rect key="frame" x="8" y="200" width="161.66666666666666" height="12"/>
                        <fontDescription key="fontDescription" type="system" weight="medium" pointSize="10"/>
                        <color key="textColor" red="0.28235294117647058" green="0.28235294117647058" blue="0.28235294117647058" alpha="1" colorSpace="calibratedRGB"/>
                        <nil key="highlightedColor"/>
                    </label>
                </subviews>
@@ -37,22 +40,21 @@
            <viewLayoutGuide key="safeArea" id="ZTg-uK-7eu"/>
            <constraints>
                <constraint firstItem="IEc-iv-4yJ" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" id="6Ei-Ns-Z1k"/>
                <constraint firstAttribute="bottom" secondItem="aSG-Yz-EAC" secondAttribute="bottom" constant="15" id="AL8-IR-1nf"/>
                <constraint firstAttribute="trailing" secondItem="AV2-Pp-S8J" secondAttribute="trailing" constant="11" id="Dof-lP-TRr"/>
                <constraint firstItem="AV2-Pp-S8J" firstAttribute="leading" secondItem="aSG-Yz-EAC" secondAttribute="trailing" constant="10" id="L85-6L-krt"/>
                <constraint firstItem="AV2-Pp-S8J" firstAttribute="leading" secondItem="aSG-Yz-EAC" secondAttribute="trailing" id="L85-6L-krt"/>
                <constraint firstItem="AV2-Pp-S8J" firstAttribute="top" secondItem="IEc-iv-4yJ" secondAttribute="bottom" constant="6" id="aOY-0a-5ab"/>
                <constraint firstItem="IEc-iv-4yJ" firstAttribute="top" secondItem="gTV-IL-0wX" secondAttribute="top" id="dDk-dp-Nti"/>
                <constraint firstAttribute="trailing" secondItem="IEc-iv-4yJ" secondAttribute="trailing" id="dvA-Fk-N9W"/>
                <constraint firstAttribute="bottom" secondItem="IEc-iv-4yJ" secondAttribute="bottom" id="exw-ik-hta"/>
                <constraint firstAttribute="bottom" secondItem="AV2-Pp-S8J" secondAttribute="bottom" constant="15" id="lsx-GR-Mx9"/>
                <constraint firstItem="aSG-Yz-EAC" firstAttribute="leading" secondItem="gTV-IL-0wX" secondAttribute="leading" constant="8" id="oCP-Ne-G57"/>
                <constraint firstItem="aSG-Yz-EAC" firstAttribute="top" secondItem="IEc-iv-4yJ" secondAttribute="bottom" constant="6" id="rwX-hE-jfG"/>
            </constraints>
            <size key="customSize" width="240" height="220"/>
            <size key="customSize" width="194" height="228"/>
            <connections>
                <outlet property="img_cover" destination="IEc-iv-4yJ" id="vcq-b0-gub"/>
                <outlet property="label_name" destination="aSG-Yz-EAC" id="8fi-lJ-iyT"/>
                <outlet property="label_price" destination="AV2-Pp-S8J" id="6Cw-gZ-3Ny"/>
            </connections>
            <point key="canvasLocation" x="216.79389312977099" y="79.577464788732399"/>
            <point key="canvasLocation" x="181.67938931297709" y="82.394366197183103"/>
        </collectionViewCell>
    </objects>
    <resources>
WanPai/Root/Welfare/VC/WelfareExchangeRecordListVC.swift
@@ -125,7 +125,7 @@
            btn.isSelected = true
            var items = Array<NormalSimpleModel>()
            items.append(NormalSimpleModel(id: 0, name: "全部"))
            items.append(NormalSimpleModel(id: 1, name: "实物"))
            items.append(NormalSimpleModel(id: 1, name: "实体"))
            items.append(NormalSimpleModel(id: 2, name: "课包"))
            items.append(NormalSimpleModel(id: 3, name: "门票"))
            items.append(NormalSimpleModel(id: 4, name: "优惠券"))
WanPai/Root/Welfare/VC/WelfareVC.swift
@@ -27,7 +27,7 @@
    private var timer:Timer?
    private var timerOffsetX:Double = 0
    private let cellW = JQ_ScreenW * 0.3794
    private let cellW = 144.0
    private var benefitHomeModel:BenefitHomeModel?
    override func viewDidLoad() {
@@ -235,6 +235,6 @@
    func collectionView(_ collectionView: UICollectionView, layout collectionViewLayout: UICollectionViewLayout, sizeForItemAt indexPath: IndexPath) -> CGSize {
        return CGSize(width: cellW, height: cellW)
        return CGSize(width: cellW, height: 178)
    }
}
WanPai/Root/Welfare/VC/WelfareVC.xib
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" 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="22130"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
        <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"/>
@@ -33,7 +33,7 @@
                    <rect key="frame" x="0.0" y="59" width="393" height="759"/>
                    <subviews>
                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1kO-ug-2Gd">
                            <rect key="frame" x="0.0" y="0.0" width="393" height="1296"/>
                            <rect key="frame" x="0.0" y="0.0" width="393" height="1284.6666666666667"/>
                            <subviews>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="qtJ-Db-Js8">
                                    <rect key="frame" x="0.0" y="0.0" width="393" height="152"/>
@@ -251,10 +251,10 @@
                                    <nil key="highlightedColor"/>
                                </label>
                                <collectionView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" showsHorizontalScrollIndicator="NO" dataMode="none" translatesAutoresizingMaskIntoConstraints="NO" id="yBw-of-rdU">
                                    <rect key="frame" x="0.0" y="204" width="393" height="149"/>
                                    <rect key="frame" x="0.0" y="204" width="393" height="168"/>
                                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                    <constraints>
                                        <constraint firstAttribute="width" secondItem="yBw-of-rdU" secondAttribute="height" multiplier="1:0.3794" id="hDC-rS-NDq"/>
                                        <constraint firstAttribute="height" constant="168" id="g0P-tJ-O7H"/>
                                    </constraints>
                                    <collectionViewFlowLayout key="collectionViewLayout" scrollDirection="horizontal" minimumLineSpacing="10" minimumInteritemSpacing="10" id="NCi-sh-oe2">
                                        <size key="itemSize" width="128" height="128"/>
@@ -264,7 +264,7 @@
                                    </collectionViewFlowLayout>
                                </collectionView>
                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="我的券包" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="GiC-Xf-dhQ">
                                    <rect key="frame" x="30" y="400" width="65.333333333333329" height="22"/>
                                    <rect key="frame" x="30" y="389" width="65.333333333333329" height="22"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="22" id="egh-AJ-1Zh"/>
                                    </constraints>
@@ -273,7 +273,7 @@
                                    <nil key="highlightedColor"/>
                                </label>
                                <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="-55" translatesAutoresizingMaskIntoConstraints="NO" id="3kA-cL-Ed9">
                                    <rect key="frame" x="0.0" y="433" width="393" height="283"/>
                                    <rect key="frame" x="0.0" y="422" width="393" height="283"/>
                                    <subviews>
                                        <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Kte-Xd-tVd">
                                            <rect key="frame" x="0.0" y="0.0" width="393" height="283"/>
@@ -289,7 +289,7 @@
                                    </subviews>
                                </stackView>
                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="本周福利" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="01D-ex-NB6">
                                    <rect key="frame" x="40.999999999999993" y="763" width="65.333333333333314" height="22"/>
                                    <rect key="frame" x="40.999999999999993" y="752" width="65.333333333333314" height="22"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="22" id="cZB-Sn-Vhw"/>
                                    </constraints>
@@ -298,7 +298,7 @@
                                    <nil key="highlightedColor"/>
                                </label>
                                <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="hBk-90-GU4">
                                    <rect key="frame" x="41" y="804" width="311" height="203"/>
                                    <rect key="frame" x="41" y="793" width="311" height="203"/>
                                    <constraints>
                                        <constraint firstAttribute="width" secondItem="hBk-90-GU4" secondAttribute="height" multiplier="1:0.6525" id="iMt-GH-OCP"/>
                                    </constraints>
@@ -309,7 +309,7 @@
                                    </connections>
                                </button>
                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="今日免费" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="8KD-JW-do0">
                                    <rect key="frame" x="40.999999999999993" y="1042" width="65.333333333333314" height="22"/>
                                    <rect key="frame" x="40.999999999999993" y="1031" width="65.333333333333314" height="22"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="22" id="pc0-0u-NIz"/>
                                    </constraints>
@@ -318,7 +318,7 @@
                                    <nil key="highlightedColor"/>
                                </label>
                                <button opaque="NO" contentMode="scaleAspectFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="r4f-Ay-EGJ">
                                    <rect key="frame" x="41" y="1083" width="311" height="203"/>
                                    <rect key="frame" x="41" y="1072" width="311" height="202.66666666666674"/>
                                    <constraints>
                                        <constraint firstAttribute="width" secondItem="r4f-Ay-EGJ" secondAttribute="height" multiplier="1:0.6525" id="WOq-qS-ptG"/>
                                    </constraints>
@@ -348,7 +348,7 @@
                                <constraint firstAttribute="trailing" secondItem="3kA-cL-Ed9" secondAttribute="trailing" id="bts-6y-Zk6"/>
                                <constraint firstItem="GiC-Xf-dhQ" firstAttribute="leading" secondItem="1kO-ug-2Gd" secondAttribute="leading" constant="30" id="gY0-D8-1VM"/>
                                <constraint firstItem="01D-ex-NB6" firstAttribute="top" secondItem="3kA-cL-Ed9" secondAttribute="bottom" constant="47" id="nA0-zN-Mne"/>
                                <constraint firstItem="GiC-Xf-dhQ" firstAttribute="top" secondItem="yBw-of-rdU" secondAttribute="bottom" constant="47" id="nqA-X1-BoF"/>
                                <constraint firstItem="GiC-Xf-dhQ" firstAttribute="top" secondItem="yBw-of-rdU" secondAttribute="bottom" constant="17" id="nqA-X1-BoF"/>
                                <constraint firstItem="hBk-90-GU4" firstAttribute="top" secondItem="01D-ex-NB6" secondAttribute="bottom" constant="19" id="p7O-Nf-d3F"/>
                                <constraint firstItem="r4f-Ay-EGJ" firstAttribute="top" secondItem="8KD-JW-do0" secondAttribute="bottom" constant="19" id="rIa-aO-Ceb"/>
                                <constraint firstItem="yBw-of-rdU" firstAttribute="top" secondItem="15P-Xn-N3C" secondAttribute="bottom" constant="9" id="tn6-cH-k2u"/>
WanPai/Root/Welfare/VC/WelfareWeeklyDetailVC.xib
@@ -314,6 +314,9 @@
                                    <nil key="highlightedColor"/>
                                </label>
                            </subviews>
                            <constraints>
                                <constraint firstAttribute="width" relation="lessThanOrEqual" constant="140" id="3GV-sg-NOm"/>
                            </constraints>
                        </stackView>
                    </subviews>
                    <viewLayoutGuide key="safeArea" id="QZc-Jg-wWX"/>
WanPai/Root/Welfare/View/CoinStoreHeadView.swift
@@ -79,7 +79,7 @@
        sender.isSelected = true
        var items = Array<NormalSimpleModel>()
        items.append(NormalSimpleModel(id: 0, name: "全部"))
        items.append(NormalSimpleModel(id: 1, name: "实物商品"))
        items.append(NormalSimpleModel(id: 1, name: "实体商品"))
        items.append(NormalSimpleModel(id: 2, name: "课包商品"))
        items.append(NormalSimpleModel(id: 3, name: "门票商品"))
        items.append(NormalSimpleModel(id: 4, name: "优惠券"))
WanPai/Root/Yard/TCell/YardBookingTCell.swift
@@ -91,6 +91,7 @@
                                    YYPaymentManager.shared.sendPaymentRequest(YYAlipayRequest(orderString: m.orderString)) { result in
                                        switch result {
                                            case .success:
                                                NotificationCenter.default.post(name: RefreshBooking_Noti, object: weakSelf.indexPath)
                                                let vc = PaymentResultVC(result: .success, objType: .activityApply)
                                                JQ_currentViewController().jq_push(vc: vc)
                                            case .cancel:
@@ -102,6 +103,7 @@
                                    }
                                case .wechat,.integral:break
                                case .coin:
                                    NotificationCenter.default.post(name: RefreshBooking_Noti, object: weakSelf.indexPath)
                                    let vc = PaymentResultVC(result: .success, objType: .activityApply)
                                    JQ_currentViewController().jq_push(vc: vc)
                                case .courseNum:break
@@ -112,19 +114,6 @@
            }
        }).disposed(by: disposeBag)
    }
//    @IBAction func cancelAction(_ sender: UIButton) {
//        CommonAlertView.show(title: "提示", content: "确认取消本次预约吗?") { [weak self] status in
//            guard let weakSelf = self else { return }
//            if status{
//                Services.cancelMySite(id: weakSelf.yardBookingModel.id).subscribe(onNext: {data in
//                    alertSuccess(msg: "取消成功")
//                    NotificationCenter.default.post(name: RefreshBooking_Noti, object: weakSelf.indexPath)
//                }).disposed(by: weakSelf.disposeBag)
//            }
//        }
//    }
    @IBAction func detailAction(_ sender: UIButton) {
        let vc = YardBookingDetailVC(model: yardBookingModel)
WanPai/Root/Yard/VC/YardBookingDetailVC.swift
@@ -32,7 +32,10 @@
    @IBOutlet weak var cons_cancelWidth: NSLayoutConstraint!
    @IBOutlet weak var label_descInfo: UILabel!
    @IBOutlet weak var view_yard: UIView!
    @IBOutlet weak var label_dealtime: UILabel!
    private var timer:Timer?
    private var yardBookingModel:YardBookingModel!
    private var yardBookingDetailDataModel:YardBookingDetailDataModel?
@@ -43,6 +46,11 @@
    required init?(coder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }
    override func viewDidDisappear(_ animated: Bool) {
        super.viewDidDisappear(animated)
        timer?.invalidate()
    }
    override func viewDidLoad() {
@@ -94,23 +102,19 @@
                        self?.btn_payment.isHidden = true
                        self?.btn_cancel.isHidden = true
                        self?.view_qrCode.isHidden = true
                    case .inStore:
                        self?.btn_payment.isHidden = true
                        self?.btn_cancel.isHidden = true
                        self?.showQRCode(model)
                    case .pending:
                        self?.btn_payment.isHidden = true
                        self?.btn_cancel.isHidden = false
                        self?.showQRCode(model)
                        fallthrough
                        self?.startTimer(timeZone: model.times)
                    default:
                        break
//                        self?.view_paymentTime.isHidden = true
//                        self?.label_usedState.text = model.status.titleRaw
//                        self?.view_qrCode.isHidden = false
//                        self?.btn_cancel.isHidden = false
//                        self?.btn_payment.isHidden = true
//                        self?.cons_cancelWidth.constant = 189
                }
            }
        }) { error in
@@ -122,6 +126,27 @@
        let text = "您已经预约成功,请在预约时段扫码此二维码入场。您可以在“预约场地-已预约场地-详情”页面找到此二维码。"
        let attribute = AttributedStringbuilder.build().add(string: text, withFont: UIFont.systemFont(ofSize: 12, weight: .medium), withColor: .black.withAlphaComponent(0.43),lineSpace: 5).mutableAttributedString
        label_descInfo.attributedText = attribute
        label_dealtime.isHidden = true
    }
    private func startTimer(timeZone:String){
        guard let startTime    = yardBookingDetailDataModel?.startTime else {return}
        let d = Date(timeIntervalSince1970: TimeInterval(startTime / 1000))
        if Date.jq_CalBySet(startDate: Date(), endDate: d).hour < 0{return}
        label_dealtime.isHidden = false
        timer = Timer(timeInterval: 1.0, repeats: true, block: {[weak self] t in
            let datatime = Date.jq_CalBySet(startDate: Date(), endDate:d, set: [.day,.second,.hour,.minute])
            if datatime.day > 0{
                self?.label_dealtime.text = String(format: "距离入场时间:%02ld天%02ld小时%02ld分%02ld秒", datatime.day,datatime.hour,datatime.minute,datatime.second)
            } else if datatime.day == 0{
                self?.label_dealtime.text = String(format: "距离入场时间:%02ld小时%02ld分%02ld秒", datatime.hour,datatime.minute,datatime.second)
            }
        })
        RunLoop.current.add(timer!, forMode: .common)
        timer?.fire()
    }
    private func showQRCode(_ model:YardBookingDetailDataModel){
@@ -150,7 +175,7 @@
    }
    @IBAction func callAction(_ sender: UIButton) {
        guard let phone = yardBookingDetailDataModel?.phone else {return}
        guard let phone = yardBookingDetailDataModel?.storePhone else {return}
        UIApplication.shared.open(URL(string: "tel://\(phone)")!, options: [:], completionHandler: nil)
    }
WanPai/Root/Yard/VC/YardBookingDetailVC.xib
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22154" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" useSafeAreas="YES" colorMatched="YES">
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="22155" 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="22130"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22131"/>
        <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"/>
@@ -21,6 +21,7 @@
                <outlet property="label_bookingTime" destination="aED-6E-ahn" id="dYf-gb-PMx"/>
                <outlet property="label_bookingType" destination="Tax-DA-fLa" id="IYe-wA-27U"/>
                <outlet property="label_contact" destination="UEJ-0E-4LG" id="LD3-gr-6Qf"/>
                <outlet property="label_dealtime" destination="CBH-nG-pZC" id="Mwz-um-ASJ"/>
                <outlet property="label_descInfo" destination="Bxh-OX-GPj" id="T8z-fS-a3a"/>
                <outlet property="label_halfYardName" destination="Yc7-sN-J8Y" id="XkJ-bq-eE0"/>
                <outlet property="label_paymentPrice" destination="Bhs-Kk-wqY" id="Vdc-5S-nCN"/>
@@ -135,7 +136,7 @@
                            </userDefinedRuntimeAttributes>
                        </view>
                        <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="APi-0y-Lwg">
                            <rect key="frame" x="0.0" y="99" width="393" height="597"/>
                            <rect key="frame" x="0.0" y="99" width="393" height="601.33333333333337"/>
                            <subviews>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="7th-09-VZ3">
                                    <rect key="frame" x="0.0" y="0.0" width="393" height="36"/>
@@ -354,48 +355,64 @@
                                    </constraints>
                                </view>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="1hl-Kq-mul">
                                    <rect key="frame" x="0.0" y="324" width="393" height="273"/>
                                    <rect key="frame" x="0.0" y="324" width="393" height="277.33333333333326"/>
                                    <subviews>
                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="二维码:" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Aqc-YZ-cGf">
                                            <rect key="frame" x="14" y="9.6666666666666856" width="365" height="69.666666666666671"/>
                                            <rect key="frame" x="14" y="9.6666666666666856" width="365" height="49"/>
                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.81000000000000005" colorSpace="custom" customColorSpace="sRGB"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="wXP-uX-2IS">
                                            <rect key="frame" x="130.66666666666666" y="88.333333333333371" width="131.99999999999997" height="132"/>
                                            <rect key="frame" x="130.66666666666666" y="67.666666666666629" width="131.99999999999997" height="132"/>
                                            <constraints>
                                                <constraint firstAttribute="width" constant="132" id="MbL-wn-fcX"/>
                                                <constraint firstAttribute="height" constant="132" id="gNu-15-mek"/>
                                            </constraints>
                                        </imageView>
                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_warning" translatesAutoresizingMaskIntoConstraints="NO" id="rsN-wi-9X2">
                                            <rect key="frame" x="9" y="227.33333333333337" width="24" height="24"/>
                                            <rect key="frame" x="9" y="231.66666666666663" width="24" height="24"/>
                                            <constraints>
                                                <constraint firstAttribute="height" constant="24" id="kv8-0l-CIL"/>
                                                <constraint firstAttribute="width" constant="24" id="osm-5P-MFM"/>
                                            </constraints>
                                        </imageView>
                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" lineBreakMode="headTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="Bxh-OX-GPj">
                                            <rect key="frame" x="36" y="227.33333333333337" width="354" height="28.666666666666686"/>
                                            <rect key="frame" x="36" y="231.66666666666663" width="354" height="28.666666666666686"/>
                                            <string key="text">您已经预约成功,请在预约时段扫码此二维码入场。您可以在“预
约场地-已预约场地-详情”页面找到此二维码。</string>
                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/>
                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.42999999999999999" colorSpace="custom" customColorSpace="sRGB"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                        <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="cX9-gN-ngz">
                                            <rect key="frame" x="140" y="206.66666666666663" width="113" height="18"/>
                                            <subviews>
                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距可入场时间:--" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="CBH-nG-pZC">
                                                    <rect key="frame" x="0.0" y="0.0" width="113" height="18"/>
                                                    <constraints>
                                                        <constraint firstAttribute="height" constant="18" id="tVg-JR-Jok"/>
                                                    </constraints>
                                                    <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                                                    <color key="textColor" red="0.95686274509803915" green="0.26666666666666666" blue="0.26666666666666666" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
                                                    <nil key="highlightedColor"/>
                                                </label>
                                            </subviews>
                                        </stackView>
                                    </subviews>
                                    <constraints>
                                        <constraint firstItem="Bxh-OX-GPj" firstAttribute="top" secondItem="cX9-gN-ngz" secondAttribute="bottom" constant="7" id="6H8-QE-Dcc"/>
                                        <constraint firstItem="Aqc-YZ-cGf" firstAttribute="leading" secondItem="1hl-Kq-mul" secondAttribute="leading" constant="14" id="6dU-63-TMl"/>
                                        <constraint firstAttribute="bottom" secondItem="Bxh-OX-GPj" secondAttribute="bottom" constant="17" id="8qJ-Gb-eCX"/>
                                        <constraint firstItem="Bxh-OX-GPj" firstAttribute="top" secondItem="rsN-wi-9X2" secondAttribute="top" id="A7Q-w9-vVr"/>
                                        <constraint firstAttribute="trailing" secondItem="Aqc-YZ-cGf" secondAttribute="trailing" constant="14" id="Bh6-5o-zTD"/>
                                        <constraint firstAttribute="trailing" secondItem="Bxh-OX-GPj" secondAttribute="trailing" constant="3" id="FhE-nq-eJG"/>
                                        <constraint firstItem="cX9-gN-ngz" firstAttribute="centerX" secondItem="wXP-uX-2IS" secondAttribute="centerX" id="Gzj-NW-Jsw"/>
                                        <constraint firstItem="Bxh-OX-GPj" firstAttribute="leading" secondItem="rsN-wi-9X2" secondAttribute="trailing" constant="3" id="MKM-rK-cRE"/>
                                        <constraint firstItem="wXP-uX-2IS" firstAttribute="top" secondItem="Aqc-YZ-cGf" secondAttribute="bottom" constant="9" id="QV1-gw-fOw"/>
                                        <constraint firstItem="rsN-wi-9X2" firstAttribute="leading" secondItem="1hl-Kq-mul" secondAttribute="leading" constant="9" id="cJK-LZ-Yag"/>
                                        <constraint firstItem="cX9-gN-ngz" firstAttribute="top" secondItem="wXP-uX-2IS" secondAttribute="bottom" constant="7" id="ekU-hW-PjY"/>
                                        <constraint firstItem="Aqc-YZ-cGf" firstAttribute="top" secondItem="1hl-Kq-mul" secondAttribute="top" constant="9.6699999999999999" id="lj0-70-nPQ"/>
                                        <constraint firstItem="rsN-wi-9X2" firstAttribute="top" secondItem="wXP-uX-2IS" secondAttribute="bottom" constant="7" id="qy9-26-CiR"/>
                                        <constraint firstItem="wXP-uX-2IS" firstAttribute="centerX" secondItem="1hl-Kq-mul" secondAttribute="centerX" id="thq-Ot-9uN"/>
                                    </constraints>
                                </view>
@@ -417,7 +434,7 @@
                            </userDefinedRuntimeAttributes>
                        </stackView>
                        <stackView opaque="NO" contentMode="scaleToFill" spacing="20" translatesAutoresizingMaskIntoConstraints="NO" id="w3D-k7-De5">
                            <rect key="frame" x="42.666666666666657" y="734" width="308" height="40"/>
                            <rect key="frame" x="42.666666666666657" y="738.33333333333337" width="308" height="40"/>
                            <subviews>
                                <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="0fI-TF-CeW">
                                    <rect key="frame" x="0.0" y="0.0" width="144" height="40"/>