杨锴
2025-04-18 4af06968a271d2e4854ef9baa8d010260fe7d0ed
惠民卡
12个文件已修改
2个文件已添加
389 ■■■■ 已修改文件
WanPai.xcodeproj/project.pbxproj 8 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Model/CommonModels.swift 10 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Network/Services.swift 15 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/TCell/CardCenterTCell.swift 2 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/TCell/CardCenterTCell.xib 5 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/TCell/CardCenterTopQRCodeTCell.swift 55 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/TCell/CardCenterTopQRCodeTCell.xib 117 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterDetailVC.swift 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterDetailVC.xib 52 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/VC/CardCenterVC.swift 73 ●●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/CardCenter/View/CardCenterSheetView.xib 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Other/View/StudentChoose3View.xib 4 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/VC/MyCardItemVC.swift 9 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai/Root/Search/VC/MyCardItemVC.xib 31 ●●●● 补丁 | 查看 | 原始文档 | blame | 历史
WanPai.xcodeproj/project.pbxproj
@@ -157,6 +157,8 @@
        13801CC52A4D26D90041454D /* CommonSingleTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13801CC32A4D26D90041454D /* CommonSingleTCell.xib */; };
        13801CC72A4D294D0041454D /* ChooseNumberView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13801CC62A4D294D0041454D /* ChooseNumberView.swift */; };
        13801CC92A4D29740041454D /* ChooseNumberView.xib in Resources */ = {isa = PBXBuildFile; fileRef = 13801CC82A4D29740041454D /* ChooseNumberView.xib */; };
        1381BBA42DB21BB9000717EB /* CardCenterTopQRCodeTCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1381BBA32DB21BB9000717EB /* CardCenterTopQRCodeTCell.xib */; };
        1381BBA52DB21BB9000717EB /* CardCenterTopQRCodeTCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1381BBA22DB21BB9000717EB /* CardCenterTopQRCodeTCell.swift */; };
        1384F6DF2AB97E5700A8B620 /* ExperienceCourseVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1384F6DD2AB97E5700A8B620 /* ExperienceCourseVC.swift */; };
        1384F6E02AB97E5700A8B620 /* ExperienceCourseVC.xib in Resources */ = {isa = PBXBuildFile; fileRef = 1384F6DE2AB97E5700A8B620 /* ExperienceCourseVC.xib */; };
        138667F52A428E4000484FEA /* WelfareWeeklyDetailVC.swift in Sources */ = {isa = PBXBuildFile; fileRef = 138667F32A428E4000484FEA /* WelfareWeeklyDetailVC.swift */; };
@@ -534,6 +536,8 @@
        13801CC32A4D26D90041454D /* CommonSingleTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CommonSingleTCell.xib; sourceTree = "<group>"; };
        13801CC62A4D294D0041454D /* ChooseNumberView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ChooseNumberView.swift; sourceTree = "<group>"; };
        13801CC82A4D29740041454D /* ChooseNumberView.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ChooseNumberView.xib; sourceTree = "<group>"; };
        1381BBA22DB21BB9000717EB /* CardCenterTopQRCodeTCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CardCenterTopQRCodeTCell.swift; sourceTree = "<group>"; };
        1381BBA32DB21BB9000717EB /* CardCenterTopQRCodeTCell.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = CardCenterTopQRCodeTCell.xib; sourceTree = "<group>"; };
        1384F6DD2AB97E5700A8B620 /* ExperienceCourseVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = ExperienceCourseVC.swift; sourceTree = "<group>"; };
        1384F6DE2AB97E5700A8B620 /* ExperienceCourseVC.xib */ = {isa = PBXFileReference; lastKnownFileType = file.xib; path = ExperienceCourseVC.xib; sourceTree = "<group>"; };
        138667F32A428E4000484FEA /* WelfareWeeklyDetailVC.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WelfareWeeklyDetailVC.swift; sourceTree = "<group>"; };
@@ -1082,6 +1086,8 @@
            children = (
                13E82AAD2D93CE32006116E3 /* CardCenterTCell.swift */,
                13E82AAE2D93CE32006116E3 /* CardCenterTCell.xib */,
                1381BBA22DB21BB9000717EB /* CardCenterTopQRCodeTCell.swift */,
                1381BBA32DB21BB9000717EB /* CardCenterTopQRCodeTCell.xib */,
            );
            path = TCell;
            sourceTree = "<group>";
@@ -1812,6 +1818,7 @@
                13EC6DDD2A493D23009FC09A /* WelfareCoinCCell.xib in Resources */,
                8DF184452A332CCD0095687B /* StudentInfoTCell.xib in Resources */,
                13D7BA962A4BD4760007E4B7 /* BillInfoTCell.xib in Resources */,
                1381BBA42DB21BB9000717EB /* CardCenterTopQRCodeTCell.xib in Resources */,
                132876632A49A18700FC9122 /* StudentExchangeVC.xib in Resources */,
                132876692A49A4CB00FC9122 /* StudentReportVC.xib in Resources */,
                138D4D002A47EF4C005233E7 /* CourseDatetimeCCell.xib in Resources */,
@@ -1978,6 +1985,7 @@
                13FBB8D62A4ED96C00FF70DB /* SearchStoreDetailFeedbackVC.swift in Sources */,
                8DFA9B8B2A317DAA00E99281 /* CourseVC.swift in Sources */,
                8DAEB54B2A30593C00814766 /* BaseVC.swift in Sources */,
                1381BBA52DB21BB9000717EB /* CardCenterTopQRCodeTCell.swift in Sources */,
                1387B6662A4AB66300BF2F2E /* CourseBookingListVC.swift in Sources */,
                8DAEB54E2A305A0100814766 /* Colors.swift in Sources */,
                130A59302D9406A40094D92D /* CardCenterSheetView.swift in Sources */,
WanPai/Model/CommonModels.swift
@@ -990,6 +990,10 @@
    var cover = ""
    var id = 0
    var isBuy = 0
    var qrCode:String?
    var huiminName:String?
    var studentName:String?
    var endTime:String?
}
struct HuiminCardDetailModel:HandyJSON{
@@ -1068,6 +1072,12 @@
    var studentList = [HuiminCardItemStuModel]()
}
struct HuiminCardStuModel:HandyJSON{
    var endTime = ""
    var qrCode = ""
    var studentName = ""
}
struct HuiminCardRuleInfoModel:HandyJSON{
    var addUserRemark = ""
    var id = 0
WanPai/Network/Services.swift
@@ -1483,6 +1483,21 @@
            .interface(url: "/activity/huimin/getContentForStudent")
        return NetworkRequest.request(params: params, method: .post, progress: true)
    }
    class func getStudentListByCarId(id:Int)->Observable<BaseResponse<[HuiminCardItemStuModel]>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/activity/huimin/getStudentListByCarId")
            .append(key: "id", value: id)
        return NetworkRequest.request(params: params, method: .post, progress: true)
    }
    class func getQRCodeByStuId(cardId:Int,studentId:Int)->Observable<BaseResponse<HuiminCardStuModel>>{
        let params = ParamsAppender.build(url: All_Url)
            .interface(url: "/activity/huimin/getQrCodeByStudentId")
            .append(key: "cardId", value: cardId)
            .append(key: "studentId", value: studentId)
        return NetworkRequest.request(params: params, method: .post, progress: true)
    }
}
extension Services{
WanPai/Root/CardCenter/TCell/CardCenterTCell.swift
@@ -15,6 +15,8 @@
        super.awakeFromNib()
        selectionStyle = .none
        img_bg.cornerRadius = 10
        backgroundColor = .clear
        contentView.backgroundColor = .clear
    }
WanPai/Root/CardCenter/TCell/CardCenterTCell.xib
@@ -4,7 +4,6 @@
    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="23506"/>
        <capability name="System colors in document resources" minToolsVersion="11.0"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    <objects>
@@ -24,7 +23,6 @@
                                <rect key="frame" x="0.0" y="0.0" width="704" height="285"/>
                            </imageView>
                        </subviews>
                        <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                        <constraints>
                            <constraint firstItem="B5d-EI-Qow" firstAttribute="leading" secondItem="qoX-GF-JqO" secondAttribute="leading" id="8tU-q8-yzI"/>
                            <constraint firstItem="B5d-EI-Qow" firstAttribute="top" secondItem="qoX-GF-JqO" secondAttribute="top" id="HOz-It-sNj"/>
@@ -48,8 +46,5 @@
    </objects>
    <resources>
        <image name="icon_card_mask" width="350" height="140"/>
        <systemColor name="systemBackgroundColor">
            <color white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
        </systemColor>
    </resources>
</document>
WanPai/Root/CardCenter/TCell/CardCenterTopQRCodeTCell.swift
New file
@@ -0,0 +1,55 @@
//
//  CardCenterTopQRCodeTCell.swift
//  WanPai
//
//  Created by 无故事王国 on 2025/4/18.
//
import UIKit
import RxSwift
class CardCenterTopQRCodeTCell: UITableViewCell {
    @IBOutlet weak var label_name: UILabel!
    @IBOutlet weak var label_time: UILabel!
    @IBOutlet weak var img_qrCode: UIImageView!
    var indexPath:IndexPath?
    private var clouseStudentsClouse:(([HuiminCardItemStuModel],IndexPath)->Void)?
    private var disposeBag = DisposeBag()
    private var model:HuiminCardItemModel?
    override func awakeFromNib() {
        super.awakeFromNib()
        contentView.backgroundColor = .clear
        backgroundColor = .clear
        selectionStyle = .none
    }
    func setModel(_ model:HuiminCardItemModel?,cache:HuiminCardStuModel? = nil){
        guard let m = model else {return}
        self.model = m
        if let c = cache{
            img_qrCode.image = UIImage.jq_GenerateQRCode(with: c.qrCode, width: 250)
            label_name.text = "\(c.studentName)的入场二维码(\(m.huiminName ?? ""))"
            label_time.text = "有效期至:" + (c.endTime)
        }else{
            img_qrCode.image = UIImage.jq_GenerateQRCode(with: m.qrCode ?? "", width: 250)
            label_name.text = "\(m.studentName ?? "")的入场二维码(\(m.huiminName ?? ""))"
            label_time.text = "有效期至:" + (m.endTime ?? "")
        }
    }
    func studentListClouse(_ clouse:@escaping ( [HuiminCardItemStuModel],IndexPath)->Void){
        self.clouseStudentsClouse = clouse
    }
    @IBAction func chooseAction(_ sender: UIButton) {
        guard let m = model else {return}
        Services.getStudentListByCarId(id: m.id).subscribe(onNext: {[unowned self] data in
            if let m = data.data{
                self.clouseStudentsClouse?(m,indexPath!)
            }
        }).disposed(by: disposeBag)
    }
}
WanPai/Root/CardCenter/TCell/CardCenterTopQRCodeTCell.xib
New file
@@ -0,0 +1,117 @@
<?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="23504" 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="23506"/>
        <capability name="Named colors" minToolsVersion="9.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"/>
        <tableViewCell contentMode="scaleToFill" selectionStyle="default" indentationWidth="10" rowHeight="536" id="KGk-i7-Jjw" customClass="CardCenterTopQRCodeTCell" customModule="WanPai" customModuleProvider="target">
            <rect key="frame" x="0.0" y="0.0" width="437" height="536"/>
            <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
            <tableViewCellContentView key="contentView" opaque="NO" clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="center" tableViewCell="KGk-i7-Jjw" id="H2p-sc-9uM">
                <rect key="frame" x="0.0" y="0.0" width="437" height="536"/>
                <autoresizingMask key="autoresizingMask"/>
                <subviews>
                    <view contentMode="scaleAspectFill" translatesAutoresizingMaskIntoConstraints="NO" id="7gx-hd-vvE">
                        <rect key="frame" x="0.0" y="0.0" width="437" height="536"/>
                        <subviews>
                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleToFill" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="bg_card_1" translatesAutoresizingMaskIntoConstraints="NO" id="uIn-27-5dS">
                                <rect key="frame" x="0.0" y="0.0" width="437" height="536"/>
                            </imageView>
                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--的玩湃惠民卡入场二维码" textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="uZE-gl-BDJ">
                                <rect key="frame" x="20" y="17" width="397" height="28"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="28" id="gGg-JC-1dS"/>
                                </constraints>
                                <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/>
                                <nil key="textColor"/>
                                <nil key="highlightedColor"/>
                            </label>
                            <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="有效期至:--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="vC2-gF-8aP">
                                <rect key="frame" x="177" y="49" width="83" height="20"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="20" id="FQp-m9-hOr"/>
                                </constraints>
                                <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/>
                                <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
                                <nil key="highlightedColor"/>
                            </label>
                            <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="AQ9-dy-TAu">
                                <rect key="frame" x="93.666666666666686" y="120" width="250" height="250"/>
                                <constraints>
                                    <constraint firstAttribute="width" constant="250" id="InI-ht-b6d"/>
                                    <constraint firstAttribute="height" constant="250" id="Jp4-IM-Bq1"/>
                                </constraints>
                            </imageView>
                            <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="imP-A8-Y6L">
                                <rect key="frame" x="146.66666666666666" y="380" width="143.99999999999997" height="44"/>
                                <constraints>
                                    <constraint firstAttribute="height" constant="44" id="ZiS-4G-e9J"/>
                                    <constraint firstAttribute="width" constant="144" id="u04-cU-FOk"/>
                                </constraints>
                                <fontDescription key="fontDescription" type="system" pointSize="15"/>
                                <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                                <state key="normal" title="人员切换">
                                    <color key="titleColor" name="FE6E0D"/>
                                </state>
                                <userDefinedRuntimeAttributes>
                                    <userDefinedRuntimeAttribute type="color" keyPath="ld_borderColorXIB">
                                        <color key="value" name="FE6E0D"/>
                                    </userDefinedRuntimeAttribute>
                                    <userDefinedRuntimeAttribute type="boolean" keyPath="ld_maskToBoundsXIB" value="YES"/>
                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_borderWidthXIB">
                                        <real key="value" value="1"/>
                                    </userDefinedRuntimeAttribute>
                                    <userDefinedRuntimeAttribute type="number" keyPath="ld_cornerRadiusXIB">
                                        <real key="value" value="20"/>
                                    </userDefinedRuntimeAttribute>
                                </userDefinedRuntimeAttributes>
                                <connections>
                                    <action selector="chooseAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="sXA-lh-w3z"/>
                                </connections>
                            </button>
                        </subviews>
                        <constraints>
                            <constraint firstItem="imP-A8-Y6L" firstAttribute="centerX" secondItem="uZE-gl-BDJ" secondAttribute="centerX" id="3pb-Tn-VUz"/>
                            <constraint firstItem="uZE-gl-BDJ" firstAttribute="leading" secondItem="7gx-hd-vvE" secondAttribute="leading" constant="20" id="4tm-OU-lAv"/>
                            <constraint firstItem="uIn-27-5dS" firstAttribute="top" secondItem="7gx-hd-vvE" secondAttribute="top" id="7xJ-Os-LkT"/>
                            <constraint firstAttribute="trailing" secondItem="uIn-27-5dS" secondAttribute="trailing" id="9fH-PD-CiG"/>
                            <constraint firstItem="vC2-gF-8aP" firstAttribute="centerX" secondItem="uZE-gl-BDJ" secondAttribute="centerX" id="Mug-tn-n1c"/>
                            <constraint firstItem="uIn-27-5dS" firstAttribute="leading" secondItem="7gx-hd-vvE" secondAttribute="leading" id="Q3v-vm-vYS"/>
                            <constraint firstItem="imP-A8-Y6L" firstAttribute="top" secondItem="AQ9-dy-TAu" secondAttribute="bottom" constant="10" id="Sqp-d2-mK8"/>
                            <constraint firstItem="vC2-gF-8aP" firstAttribute="top" secondItem="uZE-gl-BDJ" secondAttribute="bottom" constant="4" id="UNi-u9-4z3"/>
                            <constraint firstItem="AQ9-dy-TAu" firstAttribute="top" secondItem="vC2-gF-8aP" secondAttribute="bottom" constant="51" id="WJ2-Mr-TA6"/>
                            <constraint firstAttribute="bottom" secondItem="uIn-27-5dS" secondAttribute="bottom" id="XUn-4C-qD9"/>
                            <constraint firstItem="AQ9-dy-TAu" firstAttribute="centerX" secondItem="uZE-gl-BDJ" secondAttribute="centerX" id="Y60-VD-gXZ"/>
                            <constraint firstAttribute="trailing" secondItem="uZE-gl-BDJ" secondAttribute="trailing" constant="20" id="Zhe-Pa-3ig"/>
                            <constraint firstItem="uZE-gl-BDJ" firstAttribute="top" secondItem="7gx-hd-vvE" secondAttribute="top" constant="17" id="jsv-W1-LEm"/>
                        </constraints>
                    </view>
                </subviews>
                <constraints>
                    <constraint firstItem="7gx-hd-vvE" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="Igf-Kc-M8m"/>
                    <constraint firstItem="7gx-hd-vvE" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="Zb9-qP-Uyt"/>
                    <constraint firstAttribute="bottom" secondItem="7gx-hd-vvE" secondAttribute="bottom" id="gtR-ZY-zel"/>
                    <constraint firstAttribute="trailing" secondItem="7gx-hd-vvE" secondAttribute="trailing" id="hDM-24-AgC"/>
                </constraints>
            </tableViewCellContentView>
            <connections>
                <outlet property="img_qrCode" destination="AQ9-dy-TAu" id="8eo-30-u7v"/>
                <outlet property="label_name" destination="uZE-gl-BDJ" id="dQh-oX-NBI"/>
                <outlet property="label_time" destination="vC2-gF-8aP" id="AYT-mE-vsS"/>
            </connections>
            <point key="canvasLocation" x="161.06870229007632" y="78.873239436619727"/>
        </tableViewCell>
    </objects>
    <resources>
        <image name="bg_card_1" width="388" height="456"/>
        <namedColor name="FE6E0D">
            <color red="0.99199998378753662" green="0.53299999237060547" blue="0.0080000003799796104" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
        </namedColor>
    </resources>
</document>
WanPai/Root/CardCenter/VC/CardCenterDetailVC.swift
@@ -17,7 +17,7 @@
    @IBOutlet weak var view_banner: UIView!
    @IBOutlet weak var label_cardName: UILabel!
    @IBOutlet weak var label_price: UILabel!
    @IBOutlet weak var label_useInfo: UILabel!
//    @IBOutlet weak var label_useInfo: UILabel!
    @IBOutlet weak var label_limit: UILabel!
    @IBOutlet weak var webView: WKWebView!
    @IBOutlet weak var cons_web_hei: NSLayoutConstraint!
@@ -43,7 +43,7 @@
                self.label_price.attributedText = AttributedStringbuilder.build().add(string: "¥", withFont: .systemFont(ofSize: 20, weight: .medium), withColor: UIColor(hexStr: "#EE0B0B"))
                    .add(string: m.salesMoney.jq_unit(), withFont: .systemFont(ofSize: 20, weight: .medium), withColor: UIColor(hexStr: "#EE0B0B"))
                    .add(string:"/人", withFont: .systemFont(ofSize: 14, weight: .medium), withColor: UIColor(hexStr: "#EE0B0B")).mutableAttributedString
                self.label_useInfo.text = m.unBuyRemark
//                self.label_useInfo.text = m.unBuyRemark
                self.label_limit.text = m.buyRemark
                self.webView.loadHTMLString(m.introduce.jq_wrapHtml(), baseURL: nil)
WanPai/Root/CardCenter/VC/CardCenterDetailVC.xib
@@ -18,7 +18,6 @@
                <outlet property="label_cardName" destination="gem-q8-tP4" id="RGx-1X-h0S"/>
                <outlet property="label_limit" destination="aY2-I8-jwa" id="TL7-5E-isk"/>
                <outlet property="label_price" destination="kbe-fI-u7Z" id="cxJ-Sm-PFC"/>
                <outlet property="label_useInfo" destination="R3I-hK-J6L" id="xVA-dl-VoM"/>
                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
                <outlet property="view_banner" destination="svJ-l8-0wE" id="er9-8g-WBX"/>
                <outlet property="webView" destination="Kgb-Eb-ct0" id="fm8-z2-a1y"/>
@@ -33,7 +32,7 @@
                    <rect key="frame" x="0.0" y="59" width="393" height="674"/>
                    <subviews>
                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="neQ-Hk-azv">
                            <rect key="frame" x="0.0" y="0.0" width="393" height="556.33333333333337"/>
                            <rect key="frame" x="0.0" y="0.0" width="393" height="457.66666666666669"/>
                            <subviews>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="svJ-l8-0wE">
                                    <rect key="frame" x="0.0" y="0.0" width="393" height="221.66666666666666"/>
@@ -43,7 +42,7 @@
                                    </constraints>
                                </view>
                                <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" translatesAutoresizingMaskIntoConstraints="NO" id="Tsv-eq-RRP">
                                    <rect key="frame" x="0.0" y="221.66666666666669" width="393" height="234.66666666666669"/>
                                    <rect key="frame" x="0.0" y="221.66666666666669" width="393" height="136"/>
                                    <subviews>
                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="MRq-zG-DKW">
                                            <rect key="frame" x="0.0" y="0.0" width="393" height="53"/>
@@ -83,52 +82,11 @@
                                                <constraint firstItem="H5g-yH-jhe" firstAttribute="leading" secondItem="MRq-zG-DKW" secondAttribute="leading" constant="13" id="yvM-jx-xyh"/>
                                            </constraints>
                                        </view>
                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="l89-wo-ZXq">
                                            <rect key="frame" x="0.0" y="53.000000000000007" width="393" height="98.666666666666686"/>
                                            <subviews>
                                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="8Dk-bv-8cZ">
                                                    <rect key="frame" x="13" y="97.666666666666629" width="380" height="1"/>
                                                    <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/>
                                                    <constraints>
                                                        <constraint firstAttribute="height" constant="1" id="SQf-IX-8EA"/>
                                                    </constraints>
                                                </view>
                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="使用说明" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="3" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="exf-iq-DtT">
                                                    <rect key="frame" x="14" y="14" width="365" height="22"/>
                                                    <constraints>
                                                        <constraint firstAttribute="height" constant="22" id="jXo-GP-OTd"/>
                                                    </constraints>
                                                    <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="16"/>
                                                    <nil key="textColor"/>
                                                    <nil key="highlightedColor"/>
                                                </label>
                                                <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="1231231123123112312311231231123123112312311231231123123112312311231231" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="R3I-hK-J6L">
                                                    <rect key="frame" x="14" y="48" width="365" height="33.666666666666657"/>
                                                    <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                                    <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="calibratedRGB"/>
                                                    <nil key="highlightedColor"/>
                                                </label>
                                            </subviews>
                                            <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                            <constraints>
                                                <constraint firstItem="R3I-hK-J6L" firstAttribute="leading" secondItem="l89-wo-ZXq" secondAttribute="leading" constant="14" id="2tZ-L3-KEG"/>
                                                <constraint firstAttribute="trailing" secondItem="8Dk-bv-8cZ" secondAttribute="trailing" id="7sS-N4-THQ"/>
                                                <constraint firstAttribute="trailing" secondItem="exf-iq-DtT" secondAttribute="trailing" constant="14" id="Alj-jO-gTb"/>
                                                <constraint firstItem="8Dk-bv-8cZ" firstAttribute="leading" secondItem="l89-wo-ZXq" secondAttribute="leading" constant="13" id="B4r-L0-9Dl"/>
                                                <constraint firstAttribute="trailing" secondItem="R3I-hK-J6L" secondAttribute="trailing" constant="14" id="Jq8-jw-zmI"/>
                                                <constraint firstItem="exf-iq-DtT" firstAttribute="leading" secondItem="l89-wo-ZXq" secondAttribute="leading" constant="14" id="VYy-i4-uS0"/>
                                                <constraint firstItem="exf-iq-DtT" firstAttribute="top" secondItem="l89-wo-ZXq" secondAttribute="top" constant="14" id="W01-AY-2LT"/>
                                                <constraint firstItem="8Dk-bv-8cZ" firstAttribute="top" secondItem="R3I-hK-J6L" secondAttribute="bottom" constant="16" id="ajg-ew-Cuh"/>
                                                <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="53" id="jay-oI-x2J"/>
                                                <constraint firstItem="R3I-hK-J6L" firstAttribute="top" secondItem="exf-iq-DtT" secondAttribute="bottom" constant="12" id="sVF-6S-uzt"/>
                                                <constraint firstAttribute="bottom" secondItem="8Dk-bv-8cZ" secondAttribute="bottom" id="vc7-om-CzV"/>
                                            </constraints>
                                        </view>
                                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="HXu-4C-sU8">
                                            <rect key="frame" x="0.0" y="151.66666666666663" width="393" height="83"/>
                                            <rect key="frame" x="0.0" y="53" width="393" height="83"/>
                                            <subviews>
                                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="uvP-gJ-d1J">
                                                    <rect key="frame" x="13" y="82.000000000000057" width="380" height="1"/>
                                                    <rect key="frame" x="13" y="82" width="380" height="1"/>
                                                    <color key="backgroundColor" red="0.59215686270000001" green="0.59215686270000001" blue="0.59215686270000001" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/>
                                                    <constraints>
                                                        <constraint firstAttribute="height" constant="1" id="ecK-aa-VGv"/>
@@ -168,7 +126,7 @@
                                    </subviews>
                                </stackView>
                                <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="Kgb-Eb-ct0">
                                    <rect key="frame" x="0.0" y="456.33333333333337" width="393" height="100"/>
                                    <rect key="frame" x="0.0" y="357.66666666666669" width="393" height="100"/>
                                    <color key="backgroundColor" white="1" alpha="1" colorSpace="custom" customColorSpace="genericGamma22GrayColorSpace"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="100" id="mNq-vI-2Xl"/>
WanPai/Root/CardCenter/VC/CardCenterVC.swift
@@ -18,6 +18,14 @@
    private var page:Int = 1
    private var model:HuiminCardModel?
//    private var currentStuCode:HuiminCardItemModel?
    private var cacheSet = [IndexPath:HuiminCardStuModel]()
    private var view_BgGradView:UIView = {
        let bgView = UIView()
        return bgView
    }()
    override func viewDidAppear(_ animated: Bool) {
        super.viewDidAppear(animated)
        if let storeStr = UserDefaults.standard.object(forKey: "CurrentStore") as? String{
@@ -35,6 +43,7 @@
    override func viewDidLoad() {
        super.viewDidLoad()
            title = "惠民卡"
        view.backgroundColor = .clear
    }
    override func setRx() {
@@ -45,8 +54,17 @@
    private func getData(){
        page = 1
        Services.getHuiminAgreementAndList(page: page, storeId: sotreId!).subscribe(onNext: {data in
        guard  let s = sotreId else {return}
        Services.getHuiminAgreementAndList(page: page, storeId: s).subscribe(onNext: {[unowned self]data in
            self.model = data.data
//            for v in data.data?.cardList ?? []{
//                if !(v.qrCode?.isEmpty ?? true){
//                    self.currentStuCode = v;break
//                }
//            }
            if data.data?.showType == 2{
                self.webView.isHidden = true
                self.tableView.reloadData()
@@ -65,11 +83,21 @@
    override func setUI() {
        view.addSubview(view_BgGradView)
        view_BgGradView.snp.makeConstraints { make in
            make.top.equalTo(self.view.safeAreaLayoutGuide.snp.top)
            make.left.right.equalToSuperview()
            make.height.equalTo(400)
        }
        tableView = UITableView(frame: .zero, style: .plain)
        tableView.showsVerticalScrollIndicator = false
        tableView.separatorStyle = .none
        tableView.backgroundColor = .clear
        tableView.contentInset = UIEdgeInsets(top: 31, left: 0, bottom: 0, right: 0)
        tableView.register(UINib(nibName: "CardCenterTCell", bundle: nil), forCellReuseIdentifier: "_CardCenterTCell")
        tableView.register(UINib(nibName: "CardCenterTopQRCodeTCell", bundle: nil), forCellReuseIdentifier: "_CardCenterTopQRCodeTCell")
        tableView.delegate = self
        tableView.dataSource = self
@@ -85,11 +113,16 @@
        webView.snp.makeConstraints { make in
            make.edges.equalToSuperview()
        }
        let colors = [UIColor(hexStr: "#FD7202").cgColor,
                      UIColor.white.cgColor,]
        view_BgGradView.jq_gradientColor(colorArr: colors, cornerRadius: 0, startPoint: CGPoint(x: 0, y: 0), endPoint: CGPoint(x: 0, y: 1), bounds: CGRect(x: 0, y: 0, width: JQ_ScreenW, height: 400), locations: nil, clear: false)
    }
}
extension CardCenterVC:UITableViewDelegate{
    func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
        guard indexPath.section == 1 else {return}
        let model = model!.cardList[indexPath.row]
        let vc = CardCenterDetailVC(id:model.id,storeId: sotreId!)
        push(vc: vc)
@@ -98,17 +131,55 @@
extension CardCenterVC:UITableViewDataSource{
    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        if section == 0{
        return model?.cardList.count ?? 0
        }
        return model?.cardList.count ?? 0
    }
    
    func numberOfSections(in tableView: UITableView) -> Int {
        return 2
    }
    func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        if indexPath.section == 0{
            let cell = tableView.dequeueReusableCell(withIdentifier: "_CardCenterTopQRCodeTCell") as! CardCenterTopQRCodeTCell
            cell.indexPath = indexPath
            cell.setModel(model!.cardList[indexPath.row],cache: cacheSet[indexPath])
            cell.studentListClouse { list, index in
                CommonAlertSheetView.show(items: list.map({$0.name})) {[unowned self] i in
                    if let m = model?.cardList[indexPath.row]{
                        Services.getQRCodeByStuId(cardId: m.id, studentId: list[i].id).subscribe(onNext: {data in
                            self.cacheSet[indexPath] =  data.data
                            self.tableView.reloadRows(at: [indexPath], with: .automatic)
                        }).disposed(by: self.disposeBag)
                    }
                }
            }
            return cell
        }
        if indexPath.section == 1{
        let model = model!.cardList[indexPath.row]
        let cell = tableView.dequeueReusableCell(withIdentifier: "_CardCenterTCell") as! CardCenterTCell
        cell.setHuiminCardItemModel(model)
        return cell
    }
        return UITableViewCell()
    }
    func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
        if indexPath.section == 0{
            let m = model?.cardList[indexPath.row]
            if m?.qrCode?.isEmpty ?? true{
                return 0
            }
            return 480
        }else{
        return (JQ_ScreenW - 40) * 0.4841 + 20
    }
}
}
WanPai/Root/CardCenter/View/CardCenterSheetView.xib
@@ -101,10 +101,10 @@
                            <nil key="highlightedColor"/>
                        </label>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="t1u-Um-DQ1" customClass="QMUIButton">
                            <rect key="frame" x="306" y="76" width="72" height="17"/>
                            <rect key="frame" x="223" y="76" width="155" height="17"/>
                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                            <state key="normal" title="添加人员" image="btn_add_1">
                            <state key="normal" title="添加或绑定新的使用者" image="btn_add_1">
                                <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.56999999999999995" colorSpace="custom" customColorSpace="sRGB"/>
                            </state>
                            <connections>
WanPai/Root/Other/View/StudentChoose3View.xib
@@ -48,13 +48,13 @@
                            </connections>
                        </button>
                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="DSm-33-mVo" customClass="QMUIButton">
                            <rect key="frame" x="306" y="23" width="72" height="25"/>
                            <rect key="frame" x="223" y="23" width="155" height="25"/>
                            <constraints>
                                <constraint firstAttribute="height" constant="25" id="B2b-1b-rhb"/>
                            </constraints>
                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
                            <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/>
                            <state key="normal" title="添加人员" image="btn_add_1">
                            <state key="normal" title="添加或绑定新的使用者" image="btn_add_1">
                                <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.56999999999999995" colorSpace="custom" customColorSpace="sRGB"/>
                            </state>
                            <connections>
WanPai/Root/Search/VC/MyCardItemVC.swift
@@ -11,6 +11,7 @@
import Combine
class MyCardItemVC: BaseVC {
    @IBOutlet weak var label_item_title: UILabel!
    @IBOutlet weak var label_time: UILabel!
    @IBOutlet weak var imgCode: UIImageView!
    @IBOutlet weak var webView: WKWebView!
@@ -35,6 +36,9 @@
        Services.myHuiminCardDetail(id: id).subscribe(onNext: {data in
            if let m = data.data{
               let names = m.studentList.map({$0.name}).joined(separator: ",")
                self.label_item_title.text = String(format: "%@的玩湃惠民卡入场二维码", names)
                self.label_time.attributedText = AttributedStringbuilder.build().add(string: "该卡有效期至 ", withFont: .systemFont(ofSize: 16, weight: .medium), withColor: .black)
                    .add(string: m.endTime, withFont: .systemFont(ofSize: 16), withColor: UIColor(hexString: "#ff7300")!).mutableAttributedString
@@ -46,7 +50,7 @@
    }
    override func setUI() {
        view.backgroundColor = UIColor(hexStr: "#F5F5F5")
        view.backgroundColor = UIColor.white
        view_container.jq_cornerRadius = 10
        let colors = [UIColor(hexStr: "#FD7202").cgColor,
                      UIColor.white.cgColor,]
@@ -58,4 +62,7 @@
            self.cons_web_hei.constant = size.height
        }.store(in: &subscriptions)
    }
    @IBAction func backAction(_ sender: UIButton) {
        navigationController?.popViewController()
    }
}
WanPai/Root/Search/VC/MyCardItemVC.xib
@@ -13,6 +13,7 @@
            <connections>
                <outlet property="cons_web_hei" destination="MNE-uE-3VM" id="Q7H-jh-Lmv"/>
                <outlet property="imgCode" destination="oxM-V6-RBZ" id="aBd-Lj-ob4"/>
                <outlet property="label_item_title" destination="lgX-3Z-YWn" id="4RZ-i3-hg2"/>
                <outlet property="label_time" destination="kZR-m1-pa5" id="nVr-pY-xR6"/>
                <outlet property="view" destination="i5M-Pr-FkT" id="sfx-zR-JGt"/>
                <outlet property="view_bg_grand" destination="6b1-tx-BuI" id="Yt5-XV-lDr"/>
@@ -36,10 +37,10 @@
                    <rect key="frame" x="0.0" y="59" width="393" height="759"/>
                    <subviews>
                        <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="5Md-qP-As0">
                            <rect key="frame" x="0.0" y="0.0" width="393" height="465"/>
                            <rect key="frame" x="0.0" y="0.0" width="393" height="494.66666666666669"/>
                            <subviews>
                                <wkWebView contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rz3-cG-W2c">
                                    <rect key="frame" x="0.0" y="365" width="393" height="100"/>
                                    <rect key="frame" x="0.0" y="394.66666666666669" width="393" height="100"/>
                                    <constraints>
                                        <constraint firstAttribute="height" constant="100" id="MNE-uE-3VM"/>
                                    </constraints>
@@ -49,37 +50,49 @@
                                    </wkWebViewConfiguration>
                                </wkWebView>
                                <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="p5w-FE-4ga">
                                    <rect key="frame" x="15" y="20" width="363" height="345"/>
                                    <rect key="frame" x="15" y="20" width="363" height="374.66666666666669"/>
                                    <subviews>
                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您的玩湃惠民卡入场二维码" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lgX-3Z-YWn">
                                            <rect key="frame" x="74.333333333333329" y="20" width="214.33333333333337" height="21.666666666666671"/>
                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="您的玩湃惠民卡入场二维码" textAlignment="center" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="lgX-3Z-YWn">
                                            <rect key="frame" x="20" y="20" width="323" height="21.666666666666671"/>
                                            <fontDescription key="fontDescription" type="system" weight="medium" pointSize="18"/>
                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.80000000000000004" colorSpace="custom" customColorSpace="calibratedRGB"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                        <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" translatesAutoresizingMaskIntoConstraints="NO" id="oxM-V6-RBZ">
                                            <rect key="frame" x="81.666666666666686" y="61.666666666666657" width="200" height="199.99999999999997"/>
                                            <rect key="frame" x="81.666666666666686" y="91.666666666666657" width="200" height="199.99999999999997"/>
                                            <constraints>
                                                <constraint firstAttribute="height" constant="200" id="T4E-zx-rdu"/>
                                                <constraint firstAttribute="width" constant="200" id="fwC-Hx-uzO"/>
                                            </constraints>
                                        </imageView>
                                        <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="kZR-m1-pa5">
                                            <rect key="frame" x="175" y="281.66666666666669" width="13" height="17"/>
                                            <rect key="frame" x="175" y="311.66666666666669" width="13" height="17"/>
                                            <fontDescription key="fontDescription" type="system" pointSize="14"/>
                                            <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/>
                                            <nil key="highlightedColor"/>
                                        </label>
                                        <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="system" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="Tyy-Fl-vSU">
                                            <rect key="frame" x="127.33333333333334" y="51.666666666666657" width="108.33333333333334" height="35"/>
                                            <state key="normal" title="Button"/>
                                            <buttonConfiguration key="configuration" style="tinted" title="切换使用者"/>
                                            <connections>
                                                <action selector="backAction:" destination="-1" eventType="touchUpInside" id="Fsa-NZ-Rc1"/>
                                            </connections>
                                        </button>
                                    </subviews>
                                    <color key="backgroundColor" systemColor="systemBackgroundColor"/>
                                    <constraints>
                                        <constraint firstAttribute="bottom" secondItem="kZR-m1-pa5" secondAttribute="bottom" constant="46" id="BR3-3p-pgg"/>
                                        <constraint firstItem="Tyy-Fl-vSU" firstAttribute="top" secondItem="lgX-3Z-YWn" secondAttribute="bottom" constant="10" id="CFK-39-TRK"/>
                                        <constraint firstItem="kZR-m1-pa5" firstAttribute="top" secondItem="oxM-V6-RBZ" secondAttribute="bottom" constant="20" id="CU7-Sr-fHt"/>
                                        <constraint firstItem="oxM-V6-RBZ" firstAttribute="centerX" secondItem="p5w-FE-4ga" secondAttribute="centerX" id="J0X-rk-fWA"/>
                                        <constraint firstItem="kZR-m1-pa5" firstAttribute="centerX" secondItem="p5w-FE-4ga" secondAttribute="centerX" id="MPg-jJ-Jii"/>
                                        <constraint firstAttribute="width" secondItem="p5w-FE-4ga" secondAttribute="height" multiplier="1:0.95" id="RXn-EL-vpD"/>
                                        <constraint firstItem="oxM-V6-RBZ" firstAttribute="top" secondItem="lgX-3Z-YWn" secondAttribute="bottom" constant="20" id="lf1-cD-09i"/>
                                        <constraint firstAttribute="trailing" secondItem="lgX-3Z-YWn" secondAttribute="trailing" constant="20" id="cVY-4S-sK0"/>
                                        <constraint firstItem="lgX-3Z-YWn" firstAttribute="leading" secondItem="p5w-FE-4ga" secondAttribute="leading" constant="20" id="iMQ-re-gby"/>
                                        <constraint firstItem="oxM-V6-RBZ" firstAttribute="top" secondItem="lgX-3Z-YWn" secondAttribute="bottom" constant="50" id="lf1-cD-09i"/>
                                        <constraint firstItem="lgX-3Z-YWn" firstAttribute="centerX" secondItem="p5w-FE-4ga" secondAttribute="centerX" id="mwq-Im-LMk"/>
                                        <constraint firstItem="lgX-3Z-YWn" firstAttribute="top" secondItem="p5w-FE-4ga" secondAttribute="top" constant="20" id="tIk-Kd-ufU"/>
                                        <constraint firstItem="Tyy-Fl-vSU" firstAttribute="centerX" secondItem="lgX-3Z-YWn" secondAttribute="centerX" id="vYL-P0-VFq"/>
                                    </constraints>
                                </view>
                            </subviews>