Commit a80d4cb6 authored by pete谢兆麟's avatar pete谢兆麟

商城列表弹窗

parent 30504666
......@@ -15,6 +15,7 @@
04013E402CF99505001A8E40 /* live.json in Resources */ = {isa = PBXBuildFile; fileRef = 04013E3F2CF99505001A8E40 /* live.json */; };
04013E422CFADF6B001A8E40 /* YHShareAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04013E412CFADF6B001A8E40 /* YHShareAlertView.swift */; };
04013E442CFD7F66001A8E40 /* YHLiveStateViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04013E432CFD7F66001A8E40 /* YHLiveStateViewController.swift */; };
04013E462CFDA9AD001A8E40 /* YHLiveShopView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04013E452CFDA9AD001A8E40 /* YHLiveShopView.swift */; };
040450CF2CC8A0F400D1CFE5 /* YHResignDocumentMultiLineTipsCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040450CE2CC8A0F400D1CFE5 /* YHResignDocumentMultiLineTipsCell.swift */; };
0408C3632BEC7C6900DB1E25 /* YHVideoPlayerControlView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0408C3622BEC7C6900DB1E25 /* YHVideoPlayerControlView.swift */; };
0409BEEB2C5B41D4003FCFD7 /* YHPrincipleProfileListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0409BEEA2C5B41D4003FCFD7 /* YHPrincipleProfileListCell.swift */; };
......@@ -1087,6 +1088,7 @@
04013E3F2CF99505001A8E40 /* live.json */ = {isa = PBXFileReference; lastKnownFileType = text.json; path = live.json; sourceTree = "<group>"; };
04013E412CFADF6B001A8E40 /* YHShareAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHShareAlertView.swift; sourceTree = "<group>"; };
04013E432CFD7F66001A8E40 /* YHLiveStateViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLiveStateViewController.swift; sourceTree = "<group>"; };
04013E452CFDA9AD001A8E40 /* YHLiveShopView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLiveShopView.swift; sourceTree = "<group>"; };
040450CE2CC8A0F400D1CFE5 /* YHResignDocumentMultiLineTipsCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHResignDocumentMultiLineTipsCell.swift; sourceTree = "<group>"; };
0408C3622BEC7C6900DB1E25 /* YHVideoPlayerControlView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHVideoPlayerControlView.swift; sourceTree = "<group>"; };
0409BEEA2C5B41D4003FCFD7 /* YHPrincipleProfileListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHPrincipleProfileListCell.swift; sourceTree = "<group>"; };
......@@ -3000,6 +3002,7 @@
04564D5E2CF565C7004456E4 /* YHInputBottomBar.swift */,
04564D7D2CF8D03D004456E4 /* YHFloatingWindow.swift */,
04013E412CFADF6B001A8E40 /* YHShareAlertView.swift */,
04013E452CFDA9AD001A8E40 /* YHLiveShopView.swift */,
);
path = V;
sourceTree = "<group>";
......@@ -6076,6 +6079,7 @@
040AE97C2CE7410100310241 /* YHWorkExperiencePositionViewModel.swift in Sources */,
04CE1ADD2C2AD91F001CB80A /* YHActivityDetailCell.swift in Sources */,
04AA19FD2BB40D5C00C1CBBD /* Applegate(JPush).swift in Sources */,
04013E462CFDA9AD001A8E40 /* YHLiveShopView.swift in Sources */,
04912F7E2CB7B2BA00CC3105 /* YHResignAppointOptionResultCell.swift in Sources */,
A567E5972BD7643D00D5D5A0 /* YHHomeModel.swift in Sources */,
04AF82D82C291E960028CE2A /* YHMatchUserViewModel.swift in Sources */,
......
......@@ -238,29 +238,32 @@ extension YHServiceCenterViewController {
}
@objc func pushOrderView() {
var flag = true
if self.state == 1 || self.state == 3 {
flag = false
}
YHServiceMoreAlertView.show(flag) {[weak self] index in
guard let self = self else { return }
if index == 1 {
let vc = YHOrderDetailViewController()
vc.model = oldModel
vc.backDate = { [weak self] model in
guard let self = self else { return }
self.model = model
self.state = 0
self.headIndex = 0
self.isCanSelectStep = false
}
self.navigationController?.pushViewController(vc)
} else {
let view = YHOffivialApprovalGuildLineCheckView.sheetView()
view.show()
}
}
YHLiveShopView.show() { index in
}
// var flag = true
// if self.state == 1 || self.state == 3 {
// flag = false
// }
// YHServiceMoreAlertView.show(flag) {[weak self] index in
// guard let self = self else { return }
// if index == 1 {
// let vc = YHOrderDetailViewController()
// vc.model = oldModel
// vc.backDate = { [weak self] model in
// guard let self = self else { return }
// self.model = model
// self.state = 0
// self.headIndex = 0
// self.isCanSelectStep = false
// }
// self.navigationController?.pushViewController(vc)
// } else {
// let view = YHOffivialApprovalGuildLineCheckView.sheetView()
// view.show()
// }
// }
//
}
@objc func selectTimeStep() {
......
//
// YHLiveShopView.swift
// galaxy
//
// Created by EDY on 2024/12/2.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import AttributedString
class YHLiveShopView: UIView {
var backDate: ((Int) -> Void)?
var centerView: UIView!
var titleLabel: UILabel!
var subTitleLabel: UILabel!
var closeButton: UIButton!
var lineView: UIView!
var tableView: UITableView!
var dataSource: [YHWorkExperienceFileModel] = []
var orderID: Int = 0 {
didSet {
self.viewModel.requestFileList(self.orderID) {[weak self] success, error in
guard let self = self else { return }
self.dataSource = self.viewModel.fileList
self.tableView.reloadData()
}
}
}
var viewModel = YHWorkExperienceViewModel()
var title: String = "" {
didSet {
titleLabel.text = title
}
}
override init(frame: CGRect) {
super.init(frame: frame)
backgroundColor = UIColor(white: 0.5, alpha: 0.1)
let tap = UITapGestureRecognizer(target: self, action: #selector(handleTap))
tap.delegate = self
addGestureRecognizer(tap)
setView()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func setView() {
backgroundColor = UIColor(hex: 0x0000, alpha: 0.5)
centerView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
addSubview(centerView)
centerView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(518)
}
let headImageView = {
let view = UIImageView()
view.isUserInteractionEnabled = true
view.image = UIImage(named: "live_shop_head")
return view
}()
centerView.addSubview(headImageView)
headImageView.snp.makeConstraints { make in
make.left.right.top.equalToSuperview()
make.height.equalTo(128)
}
titleLabel = {
let label = UILabel()
label.text = title
label.font = UIFont.PFSC_M(ofSize: 17)
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.text = "在售产品"
return label
}()
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(16)
make.height.equalTo(24)
make.width.equalTo(200)
make.centerX.equalToSuperview()
}
closeButton = {
let button = UIButton(type: .custom)
button.setImage(UIImage(named: "my_cer_sheet_close"), for: .normal)
button.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return button
}()
centerView.addSubview(closeButton)
closeButton.snp.makeConstraints { make in
make.right.equalTo(-21)
make.height.width.equalTo(24)
make.top.equalTo(16)
}
lineView = {
let view = UIView()
view.backgroundColor = UIColor.separatorColor
return view
}()
centerView.addSubview(lineView)
lineView.snp.makeConstraints { make in
make.left.equalTo(18)
make.top.equalTo(52)
make.height.equalTo(1)
make.right.equalTo(-18)
}
tableView = {
let tableView = UITableView(frame: .zero, style: .grouped)
tableView.contentInsetAdjustmentBehavior = .never
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHLiveShopViewCell.self)
return tableView
}()
centerView.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(52)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom())
make.left.right.equalToSuperview()
}
centerView.layoutIfNeeded()
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect:bounds,byRoundingCorners: corner,cornerRadii:CGSizeMake(kCornerRadius6, kCornerRadius6))
let layer = CAShapeLayer()
layer.frame = centerView.bounds
layer.path = path.cgPath
centerView.layer.mask = layer
}
@objc private func handleTap(_ sender: AnyObject?) {
dismiss()
}
static func show(callBack: @escaping ((Int) -> Void)) {
let view = YHLiveShopView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: KScreenHeight))
view.backDate = callBack
let window = UIApplication.shared.yhKeyWindow()
window?.addSubview(view)
}
@objc func dismiss() {
removeFromSuperview()
}
}
extension YHLiveShopView: UIGestureRecognizerDelegate {
func gestureRecognizer(_ gestureRecognizer:UIGestureRecognizer, shouldReceive touch:UITouch) -> Bool {
if touch.view == self {
return true
}
return false
}
}
extension YHLiveShopView: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 7
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHLiveShopViewCell.self)
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 130
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 7))
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 0.01
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
class YHLiveShopViewCell: UITableViewCell {
var centerImageView: UIImageView!
var titleLabel: UILabel!
var messageLabel: UILabel!
var priceLabel: UILabel!
var subPriceLabel: UILabel!
var flagLabel: UILabel!
var buyButton: UIButton!
var addButton: UIButton!
var dataSource: Int = 0 {
didSet {
}
}
override func awakeFromNib() {
super.awakeFromNib()
// Initialization code
}
override func setSelected(_ selected: Bool, animated: Bool) {
super.setSelected(selected, animated: animated)
// Configure the view for the selected state
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
self.backgroundColor = .white
centerImageView = {
let imageView = UIImageView()
imageView.image = UIImage(named: "global_default_image")
return imageView
}()
contentView.addSubview(centerImageView)
centerImageView.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(20)
make.height.width.equalTo(98)
}
titleLabel = {
let view = UILabel()
view.text = "高才A香港企明星(7)"
view.font = UIFont.PFSC_M(ofSize: 17)
view.textColor = UIColor.mainTextColor
view.numberOfLines = 2
return view
}()
contentView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(16)
make.right.equalTo(-20)
make.top.equalTo(centerImageView.snp.top)
make.height.equalTo(22)
}
messageLabel = {
let view = UILabel()
view.text = "高才A香港企明星(7)"
view.font = UIFont.PFSC_M(ofSize: 13)
view.textColor = UIColor(hex: 0x6d788a)
view.numberOfLines = 2
return view
}()
contentView.addSubview(messageLabel)
messageLabel.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(16)
make.right.equalTo(-20)
make.top.equalTo(titleLabel.snp.bottom).offset(4)
make.height.equalTo(22)
}
priceLabel = {
let view = UILabel()
let a: ASAttributedString = .init("¥", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor.mainTextColor))
let b: ASAttributedString = .init("61000", .font(UIFont.PFSC_R(ofSize: 20)),.foreground(UIColor.mainTextColor))
// let c: ASAttributedString = .init("¥61000", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x8993a2)), .strikethrough(.single))
view.attributed.text = a + b
return view
}()
contentView.addSubview(priceLabel)
priceLabel.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(16)
make.right.equalTo(-20)
make.bottom.equalTo(centerImageView.snp.bottom)
make.height.equalTo(20)
}
subPriceLabel = {
let view = UILabel()
let c: ASAttributedString = .init("¥61000", .font(UIFont.PFSC_R(ofSize: 14)),.foreground(UIColor(hex:0x8993a2)), .strikethrough(.single))
view.attributed.text = c
return view
}()
contentView.addSubview(subPriceLabel)
subPriceLabel.snp.makeConstraints { make in
make.left.equalTo(centerImageView.snp.right).offset(16)
make.right.equalTo(-20)
make.bottom.equalTo(priceLabel.snp.top).offset(-2)
make.height.equalTo(20)
}
flagLabel = {
let label = UILabel()
label.text = "1"
label.textAlignment = .center
label.textColor = .white
label.font = UIFont.PFSC_M(ofSize: 10)
label.backgroundColor = UIColor(hex: 0x000000).withAlphaComponent(0.5)
return label
}()
centerImageView.addSubview(flagLabel)
flagLabel.snp.makeConstraints { make in
make.left.top.equalToSuperview()
make.width.equalTo(24)
make.height.equalTo(20)
}
buyButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor.brandMainColor
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 11)
button.contentHorizontalAlignment = .center
button.setTitle("去抢购", for: .normal)
button.setTitleColor(UIColor.white, for: .normal)
button.addTarget(self, action: #selector(buy), for: .touchUpInside)
return button
}()
contentView.addSubview(buyButton)
buyButton.snp.makeConstraints { make in
make.right.equalTo(-20)
make.width.equalTo(68)
make.bottom.equalTo(centerImageView.snp.bottom)
make.height.equalTo(28)
}
addButton = {
let button = UIButton(type: .custom)
button.backgroundColor = UIColor(hex: 0xebf0f9)
button.setImage(UIImage(named: "live_shop_add"), for: .normal)
button.contentHorizontalAlignment = .center
button.addTarget(self, action: #selector(add), for: .touchUpInside)
return button
}()
contentView.addSubview(addButton)
addButton.snp.makeConstraints { make in
make.right.equalTo(-88)
make.width.equalTo(46)
make.bottom.equalTo(centerImageView.snp.bottom)
make.height.equalTo(28)
}
}
@objc func add() {
YHHUD.flash(message: "已加入购物车")
}
@objc func buy() {
YHHUD.flash(message: "已买")
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "live_shop_add@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "live_shop_add@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "live_shop_head@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "live_shop_head@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment