WanPai/Model/CommonModels.swift
@@ -591,6 +591,9 @@ var status:StudentAppointType = .complete var storeNameAddr: String = "" var timeFrame: String = "" var ids = [Int]() var siteId = 0 var userId = 0 required init() {} } @@ -714,6 +717,11 @@ } struct YardBookingDetailModel:HandyJSON{ var data:YardBookingDetailDataModel? var ids = [Int]() //区域ID } struct YardBookingDetailDataModel:HandyJSON{ var appUserId: Int = 0 var booker: String = "" var cancelTime: String = "" @@ -770,3 +778,16 @@ var time = "" } struct OpenDoorModel:HandyJSON{ var sid:Int? //场地ID var rid = [Int]() //区域ID var uid:Int? //用户ID var time = [OpenDoorTimeModel]() //时间 var type = 2 //固定 } struct OpenDoorTimeModel:HandyJSON { var start_time:TimeInterval = 0 var end_time:TimeInterval = 0 } WanPai/Root/Course/TCell/CourseBooking_1_TCell.swift
@@ -68,19 +68,27 @@ @IBAction func QRCodeAction(_ sender: UIButton) { Services.userDetails().subscribe(onNext: {[weak self] data in guard let weakSelf = self else { return } if let m = data.data{ Services.game_OpenDoorCode(userID: m.userId).subscribe(onNext: { data in if let str = data.data?.toJSONString(){ QRPreview.show(str) } }) { error in let date = studentAppointModel.timeFrame.components(separatedBy: " ").first let timesList = studentAppointModel.timeFrame.components(separatedBy: " ").last }.disposed(by: weakSelf.disposeBag) } }){ error in var a1 = [String]() var b1 = [String]() }.disposed(by: disposeBag) for v in timesList?.components(separatedBy: "-") ?? []{ let a = v.components(separatedBy: ",").first! let b = v.components(separatedBy: ",").last! a1.append(a);b1.append(b) } var times = [OpenDoorTimeModel]() for (index,v) in a1.enumerated(){ let startTime = Date.jq_StringToTimeInterval(String(format: "%@ %@", date!,v), "yyyy.MM.dd HH:mm:ss") - 15 * 3600 let endTime = Date.jq_StringToTimeInterval(String(format: "%@ %@", date!,b1[index]),"yyyy.MM.dd HH:mm:ss") times.append(OpenDoorTimeModel(start_time: startTime, end_time: endTime)) } let openDoorModel = OpenDoorModel(sid: studentAppointModel.siteId, rid: studentAppointModel.ids , uid: studentAppointModel.userId, time: times, type: 2) if let modelStr = openDoorModel.toJSONString(){ QRPreview.show(modelStr) } } } WanPai/Root/Course/TCell/CourseBooking_1_TCell.xib
@@ -3,7 +3,7 @@ <device id="retina6_12" orientation="portrait" appearance="light"/> <dependencies> <deployment identifier="iOS"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22129"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="22130"/> <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"/> @@ -60,20 +60,22 @@ <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="6" translatesAutoresizingMaskIntoConstraints="NO" id="RMZ-Yr-Hzv"> <rect key="frame" x="14" y="47" width="240" height="42"/> <rect key="frame" x="14" y="47" width="416" height="44"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="XVA-3P-8ti"> <rect key="frame" x="0.0" y="0.0" width="240" height="18"/> <rect key="frame" x="0.0" y="0.0" width="416" height="20"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_local_mini_gray" translatesAutoresizingMaskIntoConstraints="NO" id="f4i-RK-oAF"> <rect key="frame" x="0.0" y="1" width="11" height="16"/> <rect key="frame" x="0.0" y="2" width="11" height="16"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="16" id="79f-F1-1ab"/> <constraint firstAttribute="width" relation="greaterThanOrEqual" constant="11" id="IKj-i0-Eez"/> <constraint firstAttribute="height" constant="16" id="UYo-l9-OwL"/> <constraint firstAttribute="width" constant="11" id="XS8-1e-ZiF"/> </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="ktg-rh-qFI"> <rect key="frame" x="18" y="2.0000000000000009" width="215" height="14.333333333333336"/> <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="ktg-rh-qFI"> <rect key="frame" x="18" y="3.0000000000000009" width="391" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -82,7 +84,7 @@ <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="ktg-rh-qFI" firstAttribute="leading" secondItem="f4i-RK-oAF" secondAttribute="trailing" constant="7" id="7Nq-3m-KFN"/> <constraint firstAttribute="height" constant="18" id="8MZ-vL-WyS"/> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="18" id="8MZ-vL-WyS"/> <constraint firstAttribute="trailing" secondItem="ktg-rh-qFI" secondAttribute="trailing" constant="7" id="Fxi-9n-3YW"/> <constraint firstItem="f4i-RK-oAF" firstAttribute="centerY" secondItem="XVA-3P-8ti" secondAttribute="centerY" id="IeY-jo-yMY"/> <constraint firstItem="f4i-RK-oAF" firstAttribute="leading" secondItem="XVA-3P-8ti" secondAttribute="leading" id="SIA-qX-p45"/> @@ -90,13 +92,17 @@ </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="AcP-cV-tUl"> <rect key="frame" x="0.0" y="24" width="240" height="18"/> <rect key="frame" x="0.0" y="26" width="416" height="18"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_time_mini_gray" translatesAutoresizingMaskIntoConstraints="NO" id="cTn-ZW-WlN"> <rect key="frame" x="0.0" y="2" width="14" height="14"/> <constraints> <constraint firstAttribute="width" constant="14" id="BQP-mV-bYO"/> <constraint firstAttribute="height" constant="14" id="DC8-0F-Q2F"/> </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="Ezt-vJ-DRh"> <rect key="frame" x="21" y="2.0000000000000009" width="212" height="14.333333333333336"/> <rect key="frame" x="21" y="2.0000000000000009" width="388" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -115,7 +121,7 @@ </subviews> </stackView> <stackView opaque="NO" contentMode="scaleToFill" spacing="5" translatesAutoresizingMaskIntoConstraints="NO" id="wOe-xf-Bod"> <rect key="frame" x="225" y="89" width="205" height="31"/> <rect key="frame" x="225" y="91" width="205" height="31"/> <subviews> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="LjD-dz-nKL"> <rect key="frame" x="0.0" y="0.0" width="65" height="31"/> @@ -180,7 +186,7 @@ </subviews> </stackView> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="YQe-MR-FGW"> <rect key="frame" x="14" y="132" width="430" height="1"/> <rect key="frame" x="14" y="134" width="430" height="1"/> <color key="backgroundColor" red="0.59215686274509804" green="0.59215686274509804" blue="0.59215686274509804" alpha="0.22" colorSpace="custom" customColorSpace="sRGB"/> <constraints> <constraint firstAttribute="height" constant="1" id="jCJ-Hb-WnU"/> @@ -192,6 +198,7 @@ <constraint firstItem="LvX-FX-4Fb" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="12" id="NRA-rc-rkZ"/> <constraint firstItem="LvX-FX-4Fb" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="Nej-MZ-2tg"/> <constraint firstAttribute="trailing" secondItem="wOe-xf-Bod" secondAttribute="trailing" constant="14" id="O2x-Vc-4Sr"/> <constraint firstAttribute="trailing" secondItem="RMZ-Yr-Hzv" secondAttribute="trailing" constant="14" id="PTc-6l-NCH"/> <constraint firstItem="gIS-0j-Yxd" firstAttribute="centerY" secondItem="LvX-FX-4Fb" secondAttribute="centerY" id="QMw-KI-F5m"/> <constraint firstItem="RMZ-Yr-Hzv" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="R5G-jr-z5C"/> <constraint firstAttribute="bottom" secondItem="YQe-MR-FGW" secondAttribute="bottom" id="T7Z-9l-hQj"/> WanPai/Root/Course/TCell/CourseTCell.swift
@@ -28,7 +28,7 @@ img_cover.sd_setImage(with: URL(string: courseItemModel.coverDrawing),placeholderImage: UIImage(named: "placeholder_1")) label_title.text = String(format: "%@(%@)", courseItemModel.name,courseItemModel.storeName) label_teachTime.text = String(format: "上课时间:%@", courseItemModel.classStartTime.jq_max(size: 2).joined(separator: "|")) label_teachTime.text = String(format: "上课时间:%@", courseItemModel.classStartTime.jq_max(size: 2).joined(separator: "|")) label_enrollNumber.text = String(format: "已报名:%ld人", courseItemModel.applicantsNumber) label_distance.text = String(format: "%.2lfkm", courseItemModel.distance) stack_teachTime.isHidden = courseItemModel.classStartTime.count == 0 WanPai/Root/Course/VC/CourseDetailVC.swift
@@ -13,7 +13,7 @@ @IBOutlet weak var img_cover: UIImageView! @IBOutlet weak var label_title: UILabel! @IBOutlet weak var btn_local: QMUIButton! @IBOutlet weak var label_local: UILabel! @IBOutlet weak var label_distance: UILabel! @IBOutlet weak var label_listenWeek: UILabel! @IBOutlet weak var view_listen: UIView! @@ -44,7 +44,7 @@ img_cover.sd_setImage(with: URL(string: m.coverDrawing)) label_title.text = m.name label_distance.text = String(format: "距离我%.2lfkm", m.distance) btn_local.setTitle(m.storeAddress, for: .normal) label_local.text = m.storeAddress label_listenWeek.text = m.weeks.joined(separator: "、") label_listenTime.text = m.times.joined(separator: "|") label_vaildTime.text = m.time @@ -154,8 +154,7 @@ } override func setUI() { btn_local.imagePosition = .left btn_local.spacingBetweenImageAndTitle = 5 } override func viewDidLayoutSubviews() { @@ -179,7 +178,7 @@ } @IBAction func localAction(_ sender: QMUIButton) { @IBAction func localAction(_ sender: UIButton) { if let m = detailModel{ JQ_MapNavigationTool.startNav(CLLocationCoordinate2D(latitude: m.lat.toDouble, longitude: m.lon.toDouble), distanceName: m.storeAddress, scheme: "weparklife") } WanPai/Root/Course/VC/CourseDetailVC.xib
@@ -13,7 +13,6 @@ <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="CourseDetailVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_enroll" destination="xz5-Ol-6OL" id="a6w-84-ZYd"/> <outlet property="btn_local" destination="ejk-Ik-4lo" id="Gds-GI-U25"/> <outlet property="cons_handleHei" destination="mg0-k1-0Lc" id="P6Q-xo-9Jz"/> <outlet property="cons_img1Height" destination="ra0-2L-YY8" id="zQn-ar-ffC"/> <outlet property="cons_img2Height" destination="xwL-l2-kBa" id="qmV-Wg-NqV"/> @@ -25,6 +24,7 @@ <outlet property="label_distance" destination="IzD-lg-sfB" id="NyX-OW-yyz"/> <outlet property="label_listenTime" destination="6RN-lP-9js" id="PLB-BZ-cHI"/> <outlet property="label_listenWeek" destination="utV-MS-Xge" id="gVe-Sf-Ag9"/> <outlet property="label_local" destination="Uix-un-LJr" id="IbL-Vm-182"/> <outlet property="label_originPrice" destination="pXk-ET-NAX" id="E4r-vs-9I7"/> <outlet property="label_price" destination="moa-lg-TqA" id="6OB-8j-Jl7"/> <outlet property="label_title" destination="AU1-6y-12Y" id="QBG-zt-Fqe"/> @@ -74,7 +74,7 @@ </constraints> </view> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" verticalHuggingPriority="251" horizontalCompressionResistancePriority="250" text="--" textAlignment="natural" lineBreakMode="tailTruncation" numberOfLines="0" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="AU1-6y-12Y"> <rect key="frame" x="14" y="14" width="339.66666666666669" height="43"/> <rect key="frame" x="14" y="13.999999999999996" width="339.66666666666669" height="43.666666666666657"/> <constraints> <constraint firstAttribute="height" relation="greaterThanOrEqual" constant="25" id="jqk-TH-6g7"/> </constraints> @@ -82,31 +82,17 @@ <nil key="textColor"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="ejk-Ik-4lo" customClass="QMUIButton"> <rect key="frame" x="14" y="64" width="23" height="18"/> <constraints> <constraint firstAttribute="height" constant="18" id="hIU-Ca-ItQ"/> </constraints> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <state key="normal" title="--" image="icon_local_mini"> <color key="titleColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> </state> <connections> <action selector="localAction:" destination="-1" eventType="touchUpInside" id="dvh-ks-RMN"/> </connections> </button> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="距离我0km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IzD-lg-sfB"> <rect key="frame" x="316.33333333333331" y="65.666666666666629" width="62.666666666666686" height="14.333333333333329"/> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="750" verticalHuggingPriority="251" text="距离我0km" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="IzD-lg-sfB"> <rect key="frame" x="316.33333333333331" y="55.333333333333314" width="62.666666666666686" height="14.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> <view contentMode="scaleToFill" horizontalHuggingPriority="1000" horizontalCompressionResistancePriority="1000" translatesAutoresizingMaskIntoConstraints="NO" id="oog-Pm-lN5"> <rect key="frame" x="363.66666666666669" y="23" width="29.333333333333314" height="25"/> <rect key="frame" x="363.66666666666669" y="23.333333333333314" width="29.333333333333314" height="25"/> <subviews> <label opaque="NO" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="--" textAlignment="natural" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" adjustsFontSizeToFit="NO" translatesAutoresizingMaskIntoConstraints="NO" id="9Kl-Ol-UVv"> <rect key="frame" x="8" y="1.3333333333333144" width="13.333333333333336" height="22"/> <rect key="frame" x="8" y="1.6666666666666856" width="13.333333333333336" height="22"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="14"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -121,22 +107,49 @@ <constraint firstAttribute="trailing" secondItem="9Kl-Ol-UVv" secondAttribute="trailing" constant="8" id="yJc-tZ-DcX"/> </constraints> </view> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_local_mini" translatesAutoresizingMaskIntoConstraints="NO" id="tR1-t1-yV2"> <rect key="frame" x="14" y="65.666666666666629" width="11" height="16"/> <constraints> <constraint firstAttribute="height" constant="16" id="PZW-cO-O2a"/> <constraint firstAttribute="width" constant="11" id="tdo-Le-eFI"/> </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="Uix-un-LJr"> <rect key="frame" x="30" y="66.666666666666629" width="276.33333333333331" height="14.333333333333329"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="calibratedRGB"/> <nil key="highlightedColor"/> </label> <button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="XGU-mS-MDL"> <rect key="frame" x="6" y="57.666666666666629" width="300.33333333333331" height="32"/> <inset key="imageEdgeInsets" minX="0.0" minY="0.0" maxX="2.2250738585072014e-308" maxY="0.0"/> <connections> <action selector="localAction:" destination="-1" eventType="touchUpInside" id="R18-tn-4b3"/> </connections> </button> </subviews> <color key="backgroundColor" systemColor="systemBackgroundColor"/> <constraints> <constraint firstItem="hkJ-dZ-Dsm" firstAttribute="top" secondItem="ejk-Ik-4lo" secondAttribute="bottom" constant="14" id="5Ce-mJ-9Y0"/> <constraint firstItem="ejk-Ik-4lo" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="14" id="7zO-D7-SZz"/> <constraint firstItem="IzD-lg-sfB" firstAttribute="centerY" secondItem="ejk-Ik-4lo" secondAttribute="centerY" id="91h-GQ-Gdc"/> <constraint firstItem="tR1-t1-yV2" firstAttribute="top" secondItem="XGU-mS-MDL" secondAttribute="top" constant="8" id="4TW-jw-dbB"/> <constraint firstItem="tR1-t1-yV2" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="14" id="535-lN-tpX"/> <constraint firstItem="tR1-t1-yV2" firstAttribute="leading" secondItem="XGU-mS-MDL" secondAttribute="leading" constant="8" id="6vm-gL-Ptl"/> <constraint firstItem="Uix-un-LJr" firstAttribute="centerY" secondItem="tR1-t1-yV2" secondAttribute="centerY" id="CX5-Us-Mzy"/> <constraint firstAttribute="trailing" secondItem="hkJ-dZ-Dsm" secondAttribute="trailing" id="FzS-Gj-uOv"/> <constraint firstItem="ejk-Ik-4lo" firstAttribute="top" secondItem="AU1-6y-12Y" secondAttribute="bottom" constant="7" id="IHY-N9-ITJ"/> <constraint firstItem="tR1-t1-yV2" firstAttribute="top" secondItem="AU1-6y-12Y" secondAttribute="bottom" constant="8" id="Hcf-Gb-QVW"/> <constraint firstAttribute="bottom" secondItem="hkJ-dZ-Dsm" secondAttribute="bottom" id="JW8-P2-4I8"/> <constraint firstItem="oog-Pm-lN5" firstAttribute="leading" secondItem="AU1-6y-12Y" secondAttribute="trailing" constant="10" id="N9t-Fi-yAg"/> <constraint firstItem="hkJ-dZ-Dsm" firstAttribute="top" secondItem="Uix-un-LJr" secondAttribute="bottom" constant="15" id="PcG-hd-zIu"/> <constraint firstItem="hkJ-dZ-Dsm" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="13" id="XAA-BI-ZI2"/> <constraint firstItem="IzD-lg-sfB" firstAttribute="leading" secondItem="Uix-un-LJr" secondAttribute="trailing" constant="10" id="Yqs-9w-tPU"/> <constraint firstItem="IzD-lg-sfB" firstAttribute="top" secondItem="oog-Pm-lN5" secondAttribute="bottom" constant="7" id="ZIk-t7-eAb"/> <constraint firstItem="Uix-un-LJr" firstAttribute="trailing" secondItem="XGU-mS-MDL" secondAttribute="trailing" id="d6U-br-wo1"/> <constraint firstItem="AU1-6y-12Y" firstAttribute="leading" secondItem="g0x-NL-sDy" secondAttribute="leading" constant="14" id="eP6-ph-r4R"/> <constraint firstAttribute="trailing" secondItem="oog-Pm-lN5" secondAttribute="trailing" id="mSK-eN-ZQu"/> <constraint firstItem="AU1-6y-12Y" firstAttribute="top" secondItem="g0x-NL-sDy" secondAttribute="top" constant="14" id="mgr-6k-VK3"/> <constraint firstItem="oog-Pm-lN5" firstAttribute="centerY" secondItem="AU1-6y-12Y" secondAttribute="centerY" id="om1-uQ-vkj"/> <constraint firstAttribute="trailing" secondItem="IzD-lg-sfB" secondAttribute="trailing" constant="14" id="qRn-yT-GcB"/> <constraint firstItem="Uix-un-LJr" firstAttribute="leading" secondItem="tR1-t1-yV2" secondAttribute="trailing" constant="5" id="uSZ-R6-xNQ"/> <constraint firstItem="tR1-t1-yV2" firstAttribute="bottom" secondItem="XGU-mS-MDL" secondAttribute="bottom" constant="-8" id="unj-Ye-nfI"/> </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="C7D-PZ-6fb"> WanPai/Root/Games/TCell/GamesTCell.swift
@@ -14,10 +14,13 @@ var disposeBag = DisposeBag() @IBOutlet weak var img_icon: UIImageView! @IBOutlet weak var label_gameName: UILabel! var QRCodeModel:QRCodeModel! var gameListModel:GameListModel!{ didSet{ img_icon.sd_setImage(with: URL(string: gameListModel.icon)) label_gameName.text = gameListModel.name } } @@ -32,6 +35,16 @@ } @IBAction func launchGameAction(_ sender: UIButton) { NotificationCenter.default.post(name: StartGame_Noti, object: gameListModel.id) Services.userDetails().subscribe(onNext: {[weak self] data in guard let weakSelf = self else { return } if let model = data.data{ Services.game_gameStart(gameId: weakSelf.gameListModel.id, spaceId: weakSelf.QRCodeModel.space_id!, sutuId: weakSelf.QRCodeModel.sutu_id!, userID: model.userId).subscribe(onNext: { _ in alertSuccess(msg: "启动成功") }) { error in }.disposed(by: weakSelf.disposeBag) } }).disposed(by: disposeBag) } } WanPai/Root/Games/TCell/GamesTCell.xib
@@ -68,21 +68,31 @@ <action selector="intruduceAction:" destination="KGk-i7-Jjw" eventType="touchUpInside" id="pDk-xC-owF"/> </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="8mv-wJ-bVY"> <rect key="frame" x="20" y="20" width="430" height="24"/> <fontDescription key="fontDescription" type="system" weight="semibold" pointSize="20"/> <color key="textColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> </label> </subviews> <constraints> <constraint firstAttribute="trailing" secondItem="mgE-Do-xVL" secondAttribute="trailing" constant="17" id="8Xu-4Y-brX"/> <constraint firstItem="tsc-uc-uMd" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" id="CHA-5d-hVu"/> <constraint firstAttribute="bottom" secondItem="tsc-uc-uMd" secondAttribute="bottom" id="FPv-Ny-KDM"/> <constraint firstAttribute="bottom" secondItem="mgE-Do-xVL" secondAttribute="bottom" constant="20" id="Sdk-GI-bjo"/> <constraint firstItem="8mv-wJ-bVY" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" constant="20" id="VFx-cc-P3D"/> <constraint firstItem="mgE-Do-xVL" firstAttribute="trailing" secondItem="Zkh-2V-b37" secondAttribute="trailing" id="aF4-oB-yGg"/> <constraint firstItem="tsc-uc-uMd" firstAttribute="top" secondItem="H2p-sc-9uM" secondAttribute="top" id="dfI-16-wfq"/> <constraint firstItem="mgE-Do-xVL" firstAttribute="top" secondItem="Zkh-2V-b37" secondAttribute="bottom" constant="17" id="eRC-9w-WHl"/> <constraint firstAttribute="trailing" secondItem="8mv-wJ-bVY" secondAttribute="trailing" constant="20" id="iQi-4J-WD7"/> <constraint firstAttribute="trailing" secondItem="tsc-uc-uMd" secondAttribute="trailing" id="rhh-jO-lfR"/> <constraint firstItem="8mv-wJ-bVY" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="20" id="tep-7N-0lO"/> </constraints> </tableViewCellContentView> <viewLayoutGuide key="safeArea" id="njF-e1-oar"/> <connections> <outlet property="img_icon" destination="tsc-uc-uMd" id="mXE-32-ghe"/> <outlet property="label_gameName" destination="8mv-wJ-bVY" id="Gwu-Lf-5Pn"/> </connections> <point key="canvasLocation" x="180.15267175572518" y="2.1126760563380285"/> </tableViewCell> WanPai/Root/Games/VC/GamesSubListVC.swift
@@ -76,6 +76,7 @@ let cell = tableView.dequeueReusableCell(withIdentifier: "_GamesTCell") as! GamesTCell if type == .offline{ cell.gameListModel = offLineViewModel.dataSource.value[indexPath.row] cell.QRCodeModel = model } return cell } WanPai/Root/Home/VC/HomeVC.swift
@@ -52,20 +52,6 @@ weakSelf.items = data let group = DispatchGroup() // for m in weakSelf.items{ // let queue = DispatchQueue(label: "1") // queue.async(group: group) { // group.enter() // m.radio = m.type.defaultImg.size.width / m.type.defaultImg.size.height //默认比例 // SDWebImageDownloader.shared.downloadImage(with: URL(string: m.backgroundImage),options: .scaleDownLargeImages,progress: nil) { image, data, error, status in // if let i = image{ // m.radio = i.size.width / i.size.height // } // group.leave() // } // } // } Services.homeInfo2(storeId: weakSelf.viewModel.storeId.value).subscribe(onNext: {data in }) { error in @@ -200,9 +186,15 @@ @IBAction func chooseStoresAction(_ sender: TapBtn) { StoresChooseView.show { [weak self] storeId,storeName in self?.viewModel.storeId.accept(storeId) self?.label_store.text = storeName self?.viewModel.beginRefresh() guard let weakSelf = self else { return } weakSelf.viewModel.storeId.accept(storeId) weakSelf.label_store.text = storeName weakSelf.layout = WaterFallFlowLayout() weakSelf.layout.cols = 2 weakSelf.layout.sectionInset = UIEdgeInsets(top: 14, left: 34, bottom: 14, right: 34) weakSelf.layout.delegate = self! weakSelf.collectionView.collectionViewLayout = weakSelf.layout weakSelf.viewModel.beginRefresh() } } WanPai/Root/Yard/TCell/YardTCell.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="22154" 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="22130"/> <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"/> @@ -57,10 +57,10 @@ <nil key="highlightedColor"/> </label> <stackView opaque="NO" contentMode="scaleToFill" axis="vertical" spacing="11" translatesAutoresizingMaskIntoConstraints="NO" id="6Ck-CH-1B0"> <rect key="frame" x="14" y="49.333333333333343" width="240" height="47"/> <rect key="frame" x="14" y="49.333333333333343" width="375" height="47"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="sfw-5b-qHg"> <rect key="frame" x="0.0" y="0.0" width="240" height="18"/> <rect key="frame" x="0.0" y="0.0" width="375" height="18"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_local_mini_gray" translatesAutoresizingMaskIntoConstraints="NO" id="Amk-Zt-YxK"> <rect key="frame" x="0.0" y="1" width="11" height="16"/> @@ -69,8 +69,8 @@ <constraint firstAttribute="width" constant="11" id="l5A-ks-Tfi"/> </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="wv5-tk-ZNn"> <rect key="frame" x="18" y="2.0000000000000009" width="215" height="14.333333333333336"/> <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="wv5-tk-ZNn"> <rect key="frame" x="18" y="2.0000000000000009" width="350" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -87,13 +87,17 @@ </constraints> </view> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="rEu-A7-Ckk"> <rect key="frame" x="0.0" y="28.999999999999993" width="240" height="18"/> <rect key="frame" x="0.0" y="28.999999999999993" width="375" height="18"/> <subviews> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_time_mini_gray" translatesAutoresizingMaskIntoConstraints="NO" id="cUg-AQ-FXN"> <rect key="frame" x="0.0" y="2" width="14" height="14"/> <constraints> <constraint firstAttribute="height" constant="14" id="df6-hk-tWx"/> <constraint firstAttribute="width" constant="14" id="kzN-MB-zIa"/> </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="VPM-cW-lTi"> <rect key="frame" x="21" y="2.0000000000000009" width="212" height="14.333333333333336"/> <rect key="frame" x="21" y="2.0000000000000009" width="347" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -155,6 +159,7 @@ <constraint firstItem="MY1-tt-nld" firstAttribute="leading" secondItem="H2p-sc-9uM" secondAttribute="leading" constant="14" id="ZhV-0q-V1C"/> <constraint firstItem="6Ck-CH-1B0" firstAttribute="leading" secondItem="MY1-tt-nld" secondAttribute="leading" id="aov-AW-8X0"/> <constraint firstAttribute="trailing" secondItem="CgS-vI-Bxr" secondAttribute="trailing" constant="14" id="j7r-l2-xSY"/> <constraint firstAttribute="trailing" secondItem="6Ck-CH-1B0" secondAttribute="trailing" constant="10" id="jBA-Oe-Q8O"/> <constraint firstItem="Gr9-IR-avJ" firstAttribute="leading" secondItem="MY1-tt-nld" secondAttribute="trailing" constant="8" id="nE8-is-sKC"/> <constraint firstItem="CgS-vI-Bxr" firstAttribute="centerY" secondItem="MY1-tt-nld" secondAttribute="centerY" id="qtv-FK-qUC"/> <constraint firstItem="Gr9-IR-avJ" firstAttribute="centerY" secondItem="MY1-tt-nld" secondAttribute="centerY" id="sAl-ck-Fn9"/> WanPai/Root/Yard/VC/YardBookingDetailVC.swift
@@ -27,8 +27,10 @@ @IBOutlet weak var btn_cancel: UIButton! @IBOutlet weak var btn_payment: UIButton! @IBOutlet weak var view_halfYard: UIView! @IBOutlet weak var btn_call: UIButton! var yardBookingModel:YardBookingModel! private var yardBookingModel:YardBookingModel! private var yardBookingDetailDataModel:YardBookingDetailDataModel? init(model:YardBookingModel) { super.init(nibName: nil, bundle: nil) @@ -52,7 +54,8 @@ private func getData(){ Services.siteDetail(id: yardBookingModel.id).subscribe(onNext: {[weak self] data in guard let weakSelf = self else { return } if let model = data.data{ if let model = data.data?.data{ self?.yardBookingDetailDataModel = model self?.label_yardName.text = model.nextName self?.label_bookingType.text = model.isHalf == 1 ? "半场":"全场" self?.view_halfYard.isHidden = model.isHalf != 1 @@ -76,20 +79,13 @@ self?.btn_payment.isHidden = true case .pending: Services.userDetails().subscribe(onNext: {[weak self] data in guard let weakSelf = self else { return } if let m = data.data{ Services.game_OpenDoorCode(userID: m.userId).subscribe(onNext: {[weak self] data in if let str = data.data?.toJSONString(){ self?.img_QRCode.image = QRCodeImage(string: str, size: 132 * sceneDelegate!.window!.screen.scale) if let m = self?.yardBookingDetailDataModel{ let t = OpenDoorTimeModel(start_time: TimeInterval(model.startTime / 1000) - 15 * 3600, end_time: TimeInterval(model.endTime / 1000)) let openDoorModel = OpenDoorModel(sid: m.siteId, rid: data.data?.ids ?? [], uid: m.appUserId, time: [t], type: 2) if let modelStr = openDoorModel.toJSONString(){ self?.img_QRCode.image = QRCodeImage(string: modelStr, size: 132 * sceneDelegate!.window!.screen.scale) } }) { error in }.disposed(by: weakSelf.disposeBag) } }){ error in }.disposed(by: weakSelf.disposeBag) fallthrough default: self?.label_paymentTime.text = Date.jq_format(TimeInterval(model.payTime / 1000), formatter: "yyyy-MM-dd") @@ -105,7 +101,8 @@ } @IBAction func callAction(_ sender: UIButton) { UIApplication.shared.open(URL(string: "tell://\(yardBookingModel.phone)")!, options: [:], completionHandler: nil) guard let phone = yardBookingDetailDataModel?.phone else {return} UIApplication.shared.open(URL(string: "tell://\(phone)")!, options: [:], completionHandler: nil) } WanPai/Root/Yard/VC/YardBookingDetailVC.xib
@@ -11,6 +11,7 @@ <objects> <placeholder placeholderIdentifier="IBFilesOwner" id="-1" userLabel="File's Owner" customClass="YardBookingDetailVC" customModule="WanPai" customModuleProvider="target"> <connections> <outlet property="btn_call" destination="hZb-3a-H8Y" id="2yx-Yh-v9v"/> <outlet property="btn_cancel" destination="0fI-TF-CeW" id="cs4-XJ-t4n"/> <outlet property="btn_payment" destination="1rP-aH-JyB" id="iEd-Ot-uWB"/> <outlet property="img_QRCode" destination="wXP-uX-2IS" id="DXb-zt-Z0w"/> @@ -87,9 +88,13 @@ </button> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_local_mini_gray" translatesAutoresizingMaskIntoConstraints="NO" id="n3f-YT-qUk"> <rect key="frame" x="16" y="48.666666666666671" width="11" height="16"/> <constraints> <constraint firstAttribute="height" constant="16" id="gCS-Vo-zvV"/> <constraint firstAttribute="width" constant="11" id="wtm-Cg-Teu"/> </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="JkO-ZN-GKx"> <rect key="frame" x="34" y="49.333333333333329" width="11.666666666666664" height="14.333333333333336"/> <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="JkO-ZN-GKx"> <rect key="frame" x="34" y="49.333333333333329" width="299" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -99,6 +104,7 @@ <constraints> <constraint firstItem="Dtc-xv-Gmh" firstAttribute="centerY" secondItem="02s-YH-Vmf" secondAttribute="centerY" id="ADt-Sz-r5Z"/> <constraint firstAttribute="trailing" secondItem="hZb-3a-H8Y" secondAttribute="trailing" constant="5" id="HQa-LT-Odn"/> <constraint firstAttribute="trailing" secondItem="JkO-ZN-GKx" secondAttribute="trailing" constant="60" id="IFR-NL-cP1"/> <constraint firstAttribute="height" constant="89" id="Iex-jg-RFk"/> <constraint firstItem="n3f-YT-qUk" firstAttribute="top" secondItem="Dtc-xv-Gmh" secondAttribute="bottom" constant="16" id="JSh-wn-KeP"/> <constraint firstItem="hZb-3a-H8Y" firstAttribute="centerY" secondItem="xpg-cx-Jxe" secondAttribute="centerY" id="LLh-b4-keS"/> WanPai/Root/Yard/VC/YardDetailVC.xib
@@ -51,7 +51,7 @@ <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <subviews> <scrollView clipsSubviews="YES" multipleTouchEnabled="YES" contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="aCz-js-83k"> <rect key="frame" x="0.0" y="59" width="393" height="758.99999999999977"/> <rect key="frame" x="0.0" y="59" width="393" height="759"/> <subviews> <view contentMode="scaleToFill" translatesAutoresizingMaskIntoConstraints="NO" id="9j6-1C-tRQ"> <rect key="frame" x="0.0" y="0.0" width="393" height="1432.6666666666667"/> @@ -104,9 +104,13 @@ </button> <imageView clipsSubviews="YES" userInteractionEnabled="NO" contentMode="scaleAspectFit" horizontalHuggingPriority="251" verticalHuggingPriority="251" image="icon_local_mini_gray" translatesAutoresizingMaskIntoConstraints="NO" id="FlZ-JA-lh7"> <rect key="frame" x="16" y="48.666666666666686" width="11" height="16"/> <constraints> <constraint firstAttribute="height" constant="16" id="17o-Rp-iRn"/> <constraint firstAttribute="width" constant="11" id="IGY-am-fCx"/> </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="ABf-uR-SlT"> <rect key="frame" x="34" y="49.333333333333314" width="11.666666666666664" height="14.333333333333336"/> <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="ABf-uR-SlT"> <rect key="frame" x="34" y="49.333333333333314" width="309" height="14.333333333333336"/> <fontDescription key="fontDescription" type="system" weight="medium" pointSize="12"/> <color key="textColor" red="0.0" green="0.0" blue="0.0" alpha="0.59999999999999998" colorSpace="custom" customColorSpace="sRGB"/> <nil key="highlightedColor"/> @@ -125,6 +129,7 @@ <constraint firstItem="cBu-Pc-Icd" firstAttribute="leading" secondItem="weU-mS-qsX" secondAttribute="trailing" constant="8" id="aEY-Ya-1xD"/> <constraint firstItem="weU-mS-qsX" firstAttribute="top" secondItem="M0Z-qf-aKm" secondAttribute="top" constant="14" id="dk0-7j-Ki6"/> <constraint firstItem="weU-mS-qsX" firstAttribute="leading" secondItem="M0Z-qf-aKm" secondAttribute="leading" constant="14" id="vpE-q3-pbx"/> <constraint firstAttribute="trailing" secondItem="ABf-uR-SlT" secondAttribute="trailing" constant="50" id="vpL-mJ-dKN"/> </constraints> <userDefinedRuntimeAttributes> <userDefinedRuntimeAttribute type="color" keyPath="shadowColor">