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

Merge commit '80eb19ec' into xiezhaolin

parents 341a0b73 80eb19ec
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -132,10 +132,10 @@ extension AppDelegate { ...@@ -132,10 +132,10 @@ extension AppDelegate {
v0.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "首页", image: UIImage(named: "photo"), selectedImage: UIImage(named: "photo_1")) v0.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "首页", image: UIImage(named: "photo"), selectedImage: UIImage(named: "photo_1"))
v1.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "服务中心", image: UIImage(named: "home"), selectedImage: UIImage(named: "home_1")) v1.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "服务中心", image: UIImage(named: "home"), selectedImage: UIImage(named: "home_1"))
v2.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "我的", image: UIImage(named: "find"), selectedImage: UIImage(named: "find_1")) v2.tabBarItem = ESTabBarItem.init(YHBasicContentView(),title: "我的", image: UIImage(named: "find"), selectedImage: UIImage(named: "find_1"))
tabBarController.viewControllers = [v0,v1,v2] // tabBarController.viewControllers = [v0,v1,v2]
tabBarController.viewControllers = [v1,v2] //for test hjl 配合测试同学做自动化测试 Moon 2023.03.12
tabBarController.tabBar.backgroundColor = .white tabBarController.tabBar.backgroundColor = .white
window = UIWindow(frame: UIScreen.main.bounds) window = UIWindow(frame: UIScreen.main.bounds)
window?.rootViewController = tabBarController window?.rootViewController = tabBarController
window?.makeKeyAndVisible() window?.makeKeyAndVisible()
......
...@@ -308,12 +308,12 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource { ...@@ -308,12 +308,12 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
} }
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int { func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
// if section == 0 { if section == 0 {
// return 6 return 6
// } }
// return 1//for test hjl return 1//for test hjl
return 0 //for test hjl // return 0 //for test hjl
} }
...@@ -403,9 +403,9 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource { ...@@ -403,9 +403,9 @@ extension YHHomeViewController : UITableViewDelegate,UITableViewDataSource {
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.row)") printLog("点击了 tableView Cell \(indexPath.row)")
let vc = YHNewWebViewController() // let vc = YHNewWebViewController()
vc.url = "https://cloudapi.qiyuesuo.cn/contract/share/3203196638675878889?openPageToken=1c9e8a62-eeb5-4651-9a13-adf335ae3dbe" // vc.url = "https://cloudapi.qiyuesuo.cn/contract/share/3203196638675878889?openPageToken=1c9e8a62-eeb5-4651-9a13-adf335ae3dbe"
self.navigationController?.pushViewController(vc) // self.navigationController?.pushViewController(vc)
// https://cloudapi.qiyuesuo.cn/contract/share/3202449385770287813?openPageToken=d004e5af-aab9-43e4-b813-c5a6a8c16497 // https://cloudapi.qiyuesuo.cn/contract/share/3202449385770287813?openPageToken=d004e5af-aab9-43e4-b813-c5a6a8c16497
} }
} }
......
...@@ -394,7 +394,6 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource ...@@ -394,7 +394,6 @@ extension YHInformationPerfectListVC : UITableViewDelegate,UITableViewDataSource
} }
private func handleJumpLogicDebug(tapIndex : Int) { private func handleJumpLogicDebug(tapIndex : Int) {
// if self.serviceCenterMainReqVM.myInfoFillStep > 6 { // if self.serviceCenterMainReqVM.myInfoFillStep > 6 {
// goInfoListVCOp(index:tapIndex) // goInfoListVCOp(index:tapIndex)
// return // return
......
...@@ -179,6 +179,7 @@ extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDat ...@@ -179,6 +179,7 @@ extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDat
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
tableView.deselectRow(at: indexPath, animated: true) tableView.deselectRow(at: indexPath, animated: true)
printLog("点击了 tableView Cell \(indexPath.section)") printLog("点击了 tableView Cell \(indexPath.section)")
//获取订单号 //获取订单号
let orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id let orderId = serviceCenterMainReqVM.arrContactList[indexPath.section].id
......
...@@ -72,7 +72,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol { ...@@ -72,7 +72,7 @@ class YHCertificateInfoController: YHBaseViewController, YHFamilyMemberProtol {
items.removeAll() items.removeAll()
// 中国身份证 // 中国身份证
let isChinaCardMust = familyMember.isChinese() let isChinaCardMust = familyMember.isChinese() && familyMember.relationType != .child
let title0 = YHFormTitleItem(type: .chinaIdCardInfo) let title0 = YHFormTitleItem(type: .chinaIdCardInfo)
let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.number, tips: "请输入正确的中国身份证号".local) let item01 = YHFormDetailItem(type: .chinaIdentityCardNumber, isNeed:isChinaCardMust, value:familyMember.certificates.cnIdentityCard.number, tips: "请输入正确的中国身份证号".local)
...@@ -376,8 +376,9 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour ...@@ -376,8 +376,9 @@ extension YHCertificateInfoController : UITableViewDelegate, UITableViewDataSour
func checkIntegrity() -> Bool { func checkIntegrity() -> Bool {
guard let familyMember = familyMember else { return false} guard let familyMember = familyMember else { return false}
// 国籍为中国需验证身份证
if familyMember.isChinese() { let isChinaCardMust = familyMember.isChinese() && familyMember.relationType != .child
if isChinaCardMust {
if familyMember.certificates.cnIdentityCard.number.count <= 0 if familyMember.certificates.cnIdentityCard.number.count <= 0
|| familyMember.certificates.cnIdentityCard.issueAt.count <= 0 || familyMember.certificates.cnIdentityCard.issueAt.count <= 0
|| familyMember.certificates.cnIdentityCard.issueDateStartAt.count <= 0 || familyMember.certificates.cnIdentityCard.issueDateStartAt.count <= 0
......
//
// YHUploadContentVC.swift
// galaxy
//
// Created by edy on 2024/3/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHUploadContentVC: YHBaseViewController {
var items:[String] = ["1", "2", "2", "2", "2", "2", "2", "2"]
lazy var tableView: UITableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.showsVerticalScrollIndicator = false
tableView.backgroundColor = .white
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(UITableViewCell.self, forCellReuseIdentifier: "UITableViewCell")
tableView.register(YHCertificateInfoCell.self, forCellReuseIdentifier: YHCertificateInfoCell.cellReuseIdentifier)
let size = headView.systemLayoutSizeFitting(UIView.layoutFittingCompressedSize)
let rect = CGRect(x: 0, y: 0, width: 0, height: size.height)
headView.frame = rect
tableView.tableHeaderView = headView
return tableView
}()
lazy var headView:UIView = {
let view = UIView()
view.addSubview(templateTitleLabel)
view.addSubview(tipsLabel)
view.addSubview(templateView)
templateTitleLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalToSuperview().offset(16)
make.height.equalTo(24.0)
}
tipsLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(templateTitleLabel.snp.bottom).offset(5)
make.height.equalTo(44)
}
templateView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(tipsLabel.snp.bottom).offset(15)
make.height.equalTo(62.0)
make.bottom.equalToSuperview().offset(-34)
}
return view
}()
lazy var tipsLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.labelTextColor2
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize:12)
label.numberOfLines = 0
label.text = "注意事项:这里是上传应该注意的事项这里是上传应该注意的事项这里是上传应该注意的事项。"
return label
}()
lazy var templateTitleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .left
label.font = UIFont.PFSC_M(ofSize:17)
label.text = "身份证示例模版"
return label
}()
lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero)
// let tap = UITapGestureRecognizer(target:self, action:#selector(action(_:)))
// view.addGestureRecognizer(tap)
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
self.view.backgroundColor = .white
self.gk_navTitle = "上传内容"
createUI()
}
func createUI() {
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.left.right.equalTo(view)
make.bottom.equalToSuperview().offset(-k_Height_safeAreaInsetsBottom())
}
}
}
extension YHUploadContentVC: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return items.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let item = items[indexPath.row]
let cell = tableView.dequeueReusableCell(withIdentifier: YHCertificateInfoCell.cellReuseIdentifier, for: indexPath)
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return 55.0
}
private func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> CGFloat {
return 24.0
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView()
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .left
label.font = UIFont.PFSC_M(ofSize:17)
label.text = "身份证件"
view.addSubview(label)
let statusLabel = UILabel()
statusLabel.textColor = .warnColor
statusLabel.backgroundColor = .warnColor8
statusLabel.textAlignment = .center
statusLabel.font = UIFont.PFSC_M(ofSize:10)
statusLabel.text = "审核中"
view.addSubview(statusLabel)
label.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.height.equalTo(24.0)
make.centerY.equalToSuperview()
}
statusLabel.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.left.equalTo(label.snp.right).offset(4)
make.height.equalTo(16)
make.width.equalTo(38)
}
return view
}
private func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> CGFloat {
return 60.0
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
let view = UIView()
let label = UILabel(frame: CGRect(x: 0, y: 20, width:KScreenWidth, height:20))
label.textColor = UIColor.labelTextColor2
label.textAlignment = .center
label.font = UIFont.PFSC_R(ofSize:12)
label.text = "*最多上传5/99张图片或文件"
view.addSubview(label)
return view
}
}
//
// YHCertificateInfoCell.swift
// galaxy
//
// Created by edy on 2024/3/12.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHCertificateInfoCell: UITableViewCell {
static let cellReuseIdentifier = "YHCertificateInfoCell"
var whiteView: UIView!
var iconImgV: UIImageView!
var nameLabel: UILabel!
var timeLabel: UILabel!
var editBtn: UIButton!
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
setupUI()
}
func setupUI() {
self.selectionStyle = .none
contentView.backgroundColor = .white
whiteView = UIView()
contentView.addSubview(whiteView)
iconImgV = UIImageView(image:UIImage(named:"my_cer_type_pdf"))
whiteView.addSubview(iconImgV)
nameLabel = UILabel()
nameLabel.textColor = UIColor.mainTextColor
nameLabel.textAlignment = .left
nameLabel.font = UIFont.PFSC_M(ofSize:14)
nameLabel.text = "文档名称.doc"
whiteView.addSubview(nameLabel)
timeLabel = UILabel()
timeLabel.textColor = UIColor.labelTextColor2
timeLabel.textAlignment = .left
timeLabel.font = UIFont.PFSC_R(ofSize:11)
timeLabel.text = "上传于2024.01.01"
whiteView.addSubview(timeLabel)
editBtn = UIButton()
editBtn.setImage(UIImage(named:"my_cer_btn_edit"), for:.normal)
whiteView.addSubview(editBtn)
whiteView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.height.equalTo(55)
make.top.equalToSuperview().offset(15)
}
iconImgV.snp.makeConstraints { make in
make.width.height.equalTo(31)
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(6)
}
nameLabel.snp.makeConstraints { make in
make.left.equalTo(iconImgV.snp.right).offset(18)
make.height.equalTo(20)
make.bottom.equalTo(whiteView.snp.centerY).offset(-1)
make.right.equalTo(editBtn.snp.left)
}
timeLabel.snp.makeConstraints { make in
make.left.right.equalTo(nameLabel)
make.top.equalTo(whiteView.snp.centerY).offset(1)
make.height.equalTo(20)
}
editBtn.snp.makeConstraints { make in
make.width.height.equalTo(16)
make.centerY.equalToSuperview()
make.right.equalToSuperview().offset(-6)
}
}
}
//
// YHCertificateUploadSheetView.swift
// galaxy
//
// Created by edy on 2024/3/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
/*
【Usage】
YHCertificateUploadSheetView.sheetView.show {
[weak self] actionType in
guard let self = self else { return }
print("%d", actionType.rawValue)
}
*/
import UIKit
enum YHCertificateActionType: Int {
case sample = 1
case camera = 2
case photo = 3
case phoneFile = 4
case cancel = 5
}
class YHCertificateUploadItem {
var type: YHCertificateActionType
var title: String
var subtitle: String
init(type:YHCertificateActionType, title: String, subtitle: String = "") {
self.type = type
self.title = title
self.subtitle = subtitle
}
}
class YHCertificateUploadItemView: UIView {
let item: YHCertificateUploadItem
lazy var topLine:UIView = {
let view = UIView()
view.backgroundColor = .separatorColor
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.font = UIFont.PFSC_M(ofSize:14)
return label
}()
lazy var subTitleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.labelTextColor2
label.textAlignment = .center
label.font = UIFont.PFSC_R(ofSize:11)
return label
}()
init(_ item: YHCertificateUploadItem) {
self.item = item
super.init(frame:CGRect(x: 0, y: 0, width: KScreenWidth, height: 52.0))
self.createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.tag = self.item.type.rawValue
self.addSubview(titleLabel)
self.addSubview(subTitleLabel)
self.addSubview(topLine)
titleLabel.text = item.title
subTitleLabel.text = item.subtitle
subTitleLabel.isHidden = item.subtitle.isEmpty
if item.type == .cancel {
titleLabel.textColor = UIColor(hexString:"#909090")
}
titleLabel.snp.makeConstraints { make in
make.height.equalTo(20)
make.left.right.equalToSuperview()
if item.subtitle.isEmpty {
make.centerY.equalToSuperview()
} else {
make.bottom.equalTo(self.snp.centerY)
}
}
subTitleLabel.snp.makeConstraints { make in
make.height.equalTo(16)
make.left.right.equalToSuperview()
make.top.equalTo(titleLabel.snp.bottom)
}
topLine.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalToSuperview()
make.height.equalTo(1)
}
}
}
class YHCertificateSampleTemplateView: UIView {
lazy var iconImgV: UIImageView = {
let imgView = UIImageView(image:UIImage(named:"my_cer_template"))
return imgView
}()
lazy var arrowImgV: UIImageView = {
let imgView = UIImageView(image:UIImage(named:"form_right_arrow"))
return imgView
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.text = "查看证件示例模版".local
label.textColor = UIColor.mainTextColor
label.textAlignment = .left
label.font = UIFont.PFSC_B(ofSize:14)
return label
}()
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
func createUI() {
self.backgroundColor = .contentBkgColor
self.layer.cornerRadius = 6.0
self.clipsToBounds = true
self.addSubview(iconImgV)
self.addSubview(titleLabel)
self.addSubview(arrowImgV)
iconImgV.snp.makeConstraints { make in
make.width.height.equalTo(24)
make.centerY.equalToSuperview()
make.left.equalToSuperview().offset(16)
}
titleLabel.snp.makeConstraints { make in
make.height.equalTo(20)
make.centerY.equalToSuperview()
make.left.equalTo(iconImgV.snp.right).offset(12)
make.right.equalTo(arrowImgV.snp.left).offset(-5)
}
arrowImgV.snp.makeConstraints { make in
make.width.height.equalTo(20)
make.centerY.equalToSuperview()
make.right.equalToSuperview().offset(-13)
}
}
}
class YHCertificateUploadSheetView: UIView {
static let sheetView = YHCertificateUploadSheetView(frame:UIScreen.main.bounds)
var action:((YHCertificateActionType)->())?
lazy var blackMaskView: UIView = {
let view = UIView()
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
let tap = UITapGestureRecognizer(target: self, action: #selector(dismiss))
view.addGestureRecognizer(tap)
return view
}()
lazy var whiteContentView: UIView = {
let view = UIView()
view.backgroundColor = .white
return view
}()
lazy var topView:UIView = {
let view = UIView()
view.addSubview(titleLabel)
view.addSubview(closeBtn)
let line = UIView()
line.backgroundColor = .separatorColor
view.addSubview(line)
titleLabel.snp.makeConstraints { make in
make.top.equalToSuperview().offset(16)
make.left.right.equalToSuperview()
make.height.equalTo(24)
}
closeBtn.snp.makeConstraints { make in
make.centerY.equalTo(titleLabel)
make.right.equalToSuperview().offset(-20)
make.width.height.equalTo(24)
}
line.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.height.equalTo(1)
make.top.equalTo(titleLabel.snp.bottom).offset(12)
make.bottom.equalToSuperview()
}
return view
}()
lazy var titleLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .center
label.font = UIFont.PFSC_B(ofSize:17)
label.text = "请选择上传方式"
return label
}()
lazy var closeBtn: UIButton = {
let btn = UIButton()
btn.setImage(UIImage(named:"my_cer_sheet_close"), for: .normal)
btn.addTarget(self, action: #selector(dismiss), for: .touchUpInside)
return btn
}()
lazy var tipsLabel: UILabel = {
let label = UILabel()
label.textColor = UIColor.mainTextColor
label.textAlignment = .left
label.font = UIFont.PFSC_R(ofSize:14)
label.numberOfLines = 0
label.text = "注意事项:这里是上传应该注意的事项这里是上传应该注意的事项这里是上传应该注意的事项。"
return label
}()
lazy var templateView: YHCertificateSampleTemplateView = {
let view = YHCertificateSampleTemplateView(frame:CGRectZero)
view.tag = YHCertificateActionType.sample.rawValue
let tap = UITapGestureRecognizer(target:self, action:#selector(action(_:)))
view.addGestureRecognizer(tap)
return view
}()
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(frame: CGRect) {
super.init(frame: frame)
createUI()
}
func createUI() {
self.addSubview(blackMaskView)
self.addSubview(whiteContentView)
whiteContentView.addSubview(topView)
whiteContentView.addSubview(templateView)
whiteContentView.addSubview(tipsLabel)
let itemView1 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.camera, title:"拍照上传"))
let itemView2 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.photo, title:"相册上传"))
let itemView3 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.phoneFile, title:"手机文件上传", subtitle:"从手机文件管理中上传"))
let itemView4 = YHCertificateUploadItemView(YHCertificateUploadItem(type:.cancel, title:"取消"))
let itemViewArr = [itemView1, itemView2, itemView3, itemView4]
whiteContentView.addSubviews(itemViewArr)
let corner = UIRectCorner(rawValue: UIRectCorner.topLeft.rawValue | UIRectCorner.topRight.rawValue)
let path = UIBezierPath(roundedRect:bounds,byRoundingCorners: corner,cornerRadii:CGSizeMake(16.0, 16.0));
let layer = CAShapeLayer();
layer.frame = whiteContentView.bounds;
layer.path = path.cgPath;
whiteContentView.layer.mask = layer;
blackMaskView.snp.makeConstraints { make in
make.edges.equalToSuperview()
}
whiteContentView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.top.equalToSuperview().offset(355)
}
topView.snp.makeConstraints { make in
make.top.left.right.equalToSuperview()
}
tipsLabel.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(topView.snp.bottom).offset(20)
}
templateView.snp.makeConstraints { make in
make.left.equalToSuperview().offset(20)
make.right.equalToSuperview().offset(-20)
make.top.equalTo(tipsLabel.snp.bottom).offset(20)
make.height.equalTo(62.0)
}
for (index, itemView) in itemViewArr.enumerated() {
let tap = UITapGestureRecognizer(target:self, action:#selector(action(_:)))
itemView.addGestureRecognizer(tap)
itemView.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.top.equalTo(templateView.snp.bottom).offset(20 + index * 52)
make.height.equalTo(52.0)
}
}
}
}
extension YHCertificateUploadSheetView {
func show(_ action:((YHCertificateActionType)->())?) {
self.action = action
UIApplication.shared.yhKeyWindow()?.addSubview(self)
}
@objc func dismiss() {
self.removeFromSuperview()
}
@objc func action(_ sender:UITapGestureRecognizer) {
if let targetView = sender.view {
let tag = targetView.tag
if let type = YHCertificateActionType(rawValue:tag), let action = action {
action(type)
}
}
}
}
...@@ -159,12 +159,28 @@ extension YHOtherInfoFillViewController { ...@@ -159,12 +159,28 @@ extension YHOtherInfoFillViewController {
if model.language_detail?.levelDes.isEmpty == true { if model.language_detail?.levelDes.isEmpty == true {
returnValue = false returnValue = false
return returnValue return returnValue
} else {
if let language = model.language_detail,language.level == 4 {
if language.name.isEmpty || language.remark.isEmpty {
returnValue = false
return returnValue
}
}
} }
//3.专业技能行业 //3.专业技能行业
if model.profession?.optionDes.isEmpty == true { if model.profession?.optionDes.isEmpty == true {
returnValue = false returnValue = false
return returnValue return returnValue
} else {
if let language = model.profession,language.option == 15 {
if language.remark.isEmpty {
returnValue = false
return returnValue
}
}
} }
//4.辅助资料 //4.辅助资料
......
//
// YHCustomTextView.swift
// galaxy
//
// Created by davidhuangA on 2024/3/11.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHCustomTextView: UIView, UITextViewDelegate {
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
typealias Block = (String) -> ()
var block: Block?
lazy var tipsLabel: UILabel = {
let label = UILabel()
label.textColor = .placeHolderColor
label.textAlignment = .left
label.numberOfLines = 0
label.font = UIFont.PFSC_R(ofSize: 14)
label.lineBreakMode = .byCharWrapping
label.text = "请输入中文之外的语种"
return label
}()
lazy var noTextTipsLable: UILabel = {
let label = UILabel()
label.textColor = .failColor
label.font = UIFont.PFSC_R(ofSize: 12)
label.text = "无数据时候的提示"
return label
}()
private lazy var bottomLine : UIView = {
let view = UIView()
view.backgroundColor = .clear//UIColor(hex: 0xF0F0F0)
return view
}()
private lazy var additionHoldView : UIView = {
let view = UIView()
view.backgroundColor = UIColor.contentBkgColor
view.layer.cornerRadius = kCornerRadius6
view.clipsToBounds = true
return view
}()
var myTextView : UITextView!
var needCheckFlag : Bool = false {
didSet {
layoutMyUI()
}
}
override func layoutSubviews() {
super.layoutSubviews()
layoutMyUI()
}
}
private extension YHCustomTextView {
func setupUI() {
backgroundColor = .clear
addSubview(additionHoldView)
additionHoldView.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.right.equalToSuperview()
make.height.equalTo(44)
}
let textView : UITextView = UITextView()
textView.backgroundColor = .clear
textView.font = UIFont.PFSC_R(ofSize: 14)
additionHoldView.addSubview(textView)
textView.snp.makeConstraints { make in
make.edges.equalTo(0)
}
myTextView = textView
myTextView.delegate = self
myTextView.contentInset = UIEdgeInsets(top: 12, left: 12, bottom: 12, right: 12)
additionHoldView.addSubview(tipsLabel)
tipsLabel.snp.makeConstraints { make in
make.top.equalTo(14)
make.left.equalTo(16)
make.right.equalTo(-12)
}
addSubview(noTextTipsLable)
noTextTipsLable.snp.makeConstraints { make in
make.top.equalTo(additionHoldView.snp.bottom).offset(6)
make.left.right.equalToSuperview()
make.height.equalTo(20)
}
noTextTipsLable.isHidden = true
addSubview(bottomLine)
bottomLine.snp.makeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(0.5)
make.top.equalTo(noTextTipsLable.snp.bottom).offset(12)
make.bottom.equalToSuperview()
}
}
private func layoutMyUI() {
noTextTipsLable.snp.removeConstraints()
bottomLine.snp.removeConstraints()
if myTextView.text.isEmpty {
tipsLabel.isHidden = false
} else {
tipsLabel.isHidden = true
}
if needCheckFlag == true,myTextView.text.isEmpty {
noTextTipsLable.isHidden = false
noTextTipsLable.snp.remakeConstraints { make in
make.top.equalTo(additionHoldView.snp.bottom).offset(6)
make.left.right.equalToSuperview()
make.height.equalTo(20)
}
bottomLine.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(0.5)
make.top.equalTo(noTextTipsLable.snp.bottom).offset(12)
make.bottom.equalToSuperview()
}
} else {
noTextTipsLable.isHidden = true
bottomLine.snp.remakeConstraints { make in
make.left.right.equalToSuperview()
make.height.equalTo(0.5)
make.top.equalTo(additionHoldView.snp.bottom).offset(12)
make.bottom.equalToSuperview()
}
}
}
}
extension YHCustomTextView : UITextFieldDelegate {
internal func textViewDidChange(_ textView: UITextView) {
if textView.text == "" {
tipsLabel.isHidden = false
} else {
tipsLabel.isHidden = true
}
self.block?(textView.text)
}
func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
if !text.isEmpty {
if textView.text.count > 999 {
return false
}
}
return true
}
}
extension YHCustomTextView {
func updateUI(title : String,value : String, type : YHOtherTextViewItemType = .unknowAwards) {
myTextView.text = value
if value.count > 0 {
tipsLabel.isHidden = true
} else {
tipsLabel.isHidden = false
}
layoutMyUI()
}
}
...@@ -175,8 +175,6 @@ extension YHOtherInfoFillCell { ...@@ -175,8 +175,6 @@ extension YHOtherInfoFillCell {
lastTargetView = residenceView lastTargetView = residenceView
} }
//添加按钮 //添加按钮
holdView1.addSubview(addBtn) holdView1.addSubview(addBtn)
addBtn.layer.addSublayer(dotLineLayer) addBtn.layer.addSublayer(dotLineLayer)
...@@ -216,9 +214,15 @@ extension YHOtherInfoFillCell { ...@@ -216,9 +214,15 @@ extension YHOtherInfoFillCell {
let view = languageView let view = languageView
view.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue:dataModel.language_detail?.levelDes ?? "") view.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue:dataModel.language_detail?.levelDes ?? "",firstTxt: dataModel.language_detail?.name ?? "",secondTxt: dataModel.language_detail?.remark ?? "")
view.needCheckFlag = dataModel.needCheckFlag view.needCheckFlag = dataModel.needCheckFlag
view.type = 2 view.type = 2
view.textBlock = {firstTxt,secondTxt in
self.dataModel?.language_detail?.name = firstTxt
self.dataModel?.language_detail?.remark = secondTxt
}
holdView2.addSubview(view) holdView2.addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom) make.top.equalTo(sessionView.snp.bottom)
...@@ -256,9 +260,13 @@ extension YHOtherInfoFillCell { ...@@ -256,9 +260,13 @@ extension YHOtherInfoFillCell {
let view = skillView let view = skillView
view.updateKeyName(name: "最能代表你的专业技能的行业", keyValue: dataModel.profession?.optionDes ?? "") view.updateKeyName(name: "最能代表你的专业技能的行业", keyValue: dataModel.profession?.optionDes ?? "",firstTxt: dataModel.profession?.remark ?? "")
view.needCheckFlag = dataModel.needCheckFlag view.needCheckFlag = dataModel.needCheckFlag
view.type = 2 view.type = 2
view.textBlock = { firstTxt,secondTxt in
self.dataModel?.profession?.remark = firstTxt
}
holdView3.addSubview(view) holdView3.addSubview(view)
view.snp.makeConstraints { make in view.snp.makeConstraints { make in
make.top.equalTo(sessionView.snp.bottom) make.top.equalTo(sessionView.snp.bottom)
...@@ -415,6 +423,8 @@ extension YHOtherInfoFillCell { ...@@ -415,6 +423,8 @@ extension YHOtherInfoFillCell {
self.dataModel?.language_detail?.level = Int(item.index) ?? 0 self.dataModel?.language_detail?.level = Int(item.index) ?? 0
self.dataModel?.language_detail?.levelDes = item.title self.dataModel?.language_detail?.levelDes = item.title
self.languageView.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue:self.dataModel?.language_detail?.levelDes ?? "") self.languageView.updateKeyName(name: "您的语言水平与下列哪一项符合", keyValue:self.dataModel?.language_detail?.levelDes ?? "")
self.block?()
} }
} }
...@@ -424,6 +434,8 @@ extension YHOtherInfoFillCell { ...@@ -424,6 +434,8 @@ extension YHOtherInfoFillCell {
self.dataModel?.profession?.option = Int(item.index) ?? 0 self.dataModel?.profession?.option = Int(item.index) ?? 0
self.dataModel?.profession?.optionDes = item.title self.dataModel?.profession?.optionDes = item.title
self.skillView.updateKeyName(name: "最能代表你的专业技能的行业", keyValue:self.dataModel?.profession?.optionDes ?? "") self.skillView.updateKeyName(name: "最能代表你的专业技能的行业", keyValue:self.dataModel?.profession?.optionDes ?? "")
self.block?()
} }
} }
} }
...@@ -40,6 +40,11 @@ class YHOtherSelecteItemView: UIView { ...@@ -40,6 +40,11 @@ class YHOtherSelecteItemView: UIView {
var block: ItemBlock? var block: ItemBlock?
typealias TextViewBlock = (_ firstTxt: String, _ secondTxt: String) -> ()
var textBlock: TextViewBlock?
lazy var longTimeButton = { lazy var longTimeButton = {
let button = UIButton(type: .custom) let button = UIButton(type: .custom)
button.setImage(UIImage(named: "main_time_normal"), for: .normal) button.setImage(UIImage(named: "main_time_normal"), for: .normal)
...@@ -119,9 +124,10 @@ class YHOtherSelecteItemView: UIView { ...@@ -119,9 +124,10 @@ class YHOtherSelecteItemView: UIView {
return view return view
}() }()
let firstTextView : YHCustomTextView = YHCustomTextView()
let secondTextView : YHCustomTextView = YHCustomTextView()
private let rightIcon = UIImageView() private let rightIcon = UIImageView()
override func layoutSubviews() { override func layoutSubviews() {
super.layoutSubviews() super.layoutSubviews()
...@@ -164,6 +170,17 @@ extension YHOtherSelecteItemView { ...@@ -164,6 +170,17 @@ extension YHOtherSelecteItemView {
make.height.equalTo(32) make.height.equalTo(32)
make.width.equalTo(43) make.width.equalTo(43)
} }
addSubview(firstTextView)
addSubview(secondTextView)
firstTextView.block = { text in
self.textBlock?(self.firstTextView.myTextView.text,self.secondTextView.myTextView.text)
}
secondTextView.block = { text in
self.textBlock?(self.firstTextView.myTextView.text,self.secondTextView.myTextView.text)
}
} }
@objc func longTimeButtonClick() { @objc func longTimeButtonClick() {
...@@ -179,7 +196,7 @@ extension YHOtherSelecteItemView { ...@@ -179,7 +196,7 @@ extension YHOtherSelecteItemView {
} }
extension YHOtherSelecteItemView { extension YHOtherSelecteItemView {
func updateKeyName(name : String, keyValue : String) { func updateKeyName(name : String, keyValue : String,firstTxt:String = "",secondTxt: String = "") {
if type == 1 { if type == 1 {
noTextTipsLable.text = "请选择" + name noTextTipsLable.text = "请选择" + name
...@@ -189,21 +206,22 @@ extension YHOtherSelecteItemView { ...@@ -189,21 +206,22 @@ extension YHOtherSelecteItemView {
title = name title = name
textField.text = keyValue textField.text = keyValue
firstTextView.myTextView.text = firstTxt
secondTextView.myTextView.text = secondTxt
secondTextView.layoutIfNeeded()
layoutMyUI() layoutMyUI()
} }
func layoutMyUI() { func layoutMyUI() {
titleLabel.snp.removeConstraints() titleLabel.snp.removeConstraints()
subHoldView.snp.removeConstraints() subHoldView.snp.removeConstraints()
bottomLine.snp.removeConstraints() bottomLine.snp.removeConstraints()
noTextTipsLable.snp.removeConstraints() noTextTipsLable.snp.removeConstraints()
if type == 1 { if type == 1 {
if needCheckFlag == true { if needCheckFlag == true {
titleLabel.snp.remakeConstraints { make in titleLabel.snp.remakeConstraints { make in
make.top.equalToSuperview().offset(kMargin) make.top.equalToSuperview().offset(kMargin)
...@@ -346,6 +364,12 @@ extension YHOtherSelecteItemView { ...@@ -346,6 +364,12 @@ extension YHOtherSelecteItemView {
make.left.equalToSuperview() make.left.equalToSuperview()
} }
firstTextView.isHidden = true
secondTextView.isHidden = true
firstTextView.snp.removeConstraints()
secondTextView.snp.removeConstraints()
bottomLine.snp.removeConstraints()
if textField.isEmpty == true { if textField.isEmpty == true {
noTextTipsLable.isHidden = false noTextTipsLable.isHidden = false
noTextTipsLable.snp.remakeConstraints { make in noTextTipsLable.snp.remakeConstraints { make in
...@@ -364,10 +388,50 @@ extension YHOtherSelecteItemView { ...@@ -364,10 +388,50 @@ extension YHOtherSelecteItemView {
} }
else { else {
noTextTipsLable.isHidden = true noTextTipsLable.isHidden = true
var lastView : UIView = subHoldView
if let text = textField.text,text.contains("其他") {
firstTextView.noTextTipsLable.text = "请输入其他专业技能的行业"
firstTextView.tipsLabel.text = "请输入其他专业技能的行业"
firstTextView.isHidden = false
firstTextView.snp.remakeConstraints { make in
make.top.equalTo(lastView.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
}
firstTextView.needCheckFlag = needCheckFlag
lastView = firstTextView
} else if let text = textField.text,text.contains("中文及另一种外语") {
firstTextView.isHidden = false
secondTextView.isHidden = false
firstTextView.noTextTipsLable.text = "请输入中文之外的语种"
firstTextView.tipsLabel.text = "请输入中文之外的语种"
firstTextView.snp.remakeConstraints { make in
make.top.equalTo(lastView.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
}
secondTextView.noTextTipsLable.text = "请输入2年内获取的证书及分数"
secondTextView.tipsLabel.text = "请输入2年内获取的证书及分数"
secondTextView.snp.remakeConstraints { make in
make.top.equalTo(firstTextView.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
}
firstTextView.needCheckFlag = needCheckFlag
secondTextView.needCheckFlag = needCheckFlag
lastView = secondTextView
} else {
}
bottomLine.snp.removeConstraints()
bottomLine.snp.remakeConstraints { make in bottomLine.snp.remakeConstraints { make in
make.top.equalTo(subHoldView.snp.bottom).offset(kMargin) make.top.equalTo(lastView.snp.bottom).offset(kMargin)
make.bottom.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.height.equalTo(0.5) make.height.equalTo(0.5)
make.bottom.equalToSuperview()
} }
} }
} else { } else {
...@@ -386,10 +450,56 @@ extension YHOtherSelecteItemView { ...@@ -386,10 +450,56 @@ extension YHOtherSelecteItemView {
make.left.equalToSuperview() make.left.equalToSuperview()
} }
firstTextView.snp.removeConstraints()
secondTextView.snp.removeConstraints()
firstTextView.isHidden = true
secondTextView.isHidden = true
var lastView : UIView = subHoldView
if let text = textField.text,text.contains("其他") {
firstTextView.noTextTipsLable.text = "请输入其他专业技能的行业"
firstTextView.tipsLabel.text = "请输入其他专业技能的行业"
firstTextView.isHidden = false
firstTextView.snp.remakeConstraints { make in
make.top.equalTo(lastView.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
}
firstTextView.needCheckFlag = needCheckFlag
lastView = firstTextView
} else if let text = textField.text,text.contains("中文及另一种外语") {
firstTextView.isHidden = false
secondTextView.isHidden = false
firstTextView.noTextTipsLable.text = "请输入中文之外的语种"
firstTextView.tipsLabel.text = "请输入中文之外的语种"
firstTextView.snp.remakeConstraints { make in
make.top.equalTo(lastView.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
}
secondTextView.noTextTipsLable.text = "请输入2年内获取的证书及分数"
secondTextView.tipsLabel.text = "请输入2年内获取的证书及分数"
secondTextView.snp.remakeConstraints { make in
make.top.equalTo(firstTextView.snp.bottom).offset(kMargin)
make.left.right.equalToSuperview()
}
firstTextView.needCheckFlag = needCheckFlag
secondTextView.needCheckFlag = needCheckFlag
lastView = secondTextView
} else {
}
bottomLine.snp.removeConstraints()
bottomLine.snp.remakeConstraints { make in bottomLine.snp.remakeConstraints { make in
make.top.equalTo(subHoldView.snp.bottom).offset(kMargin) make.top.equalTo(lastView.snp.bottom).offset(kMargin)
make.bottom.left.right.equalToSuperview() make.left.right.equalToSuperview()
make.height.equalTo(0.5) make.height.equalTo(0.5)
make.bottom.equalToSuperview()
} }
} }
} else { } else {
......
...@@ -40,27 +40,6 @@ class YHPreviewBaseViewController: YHBaseViewController { ...@@ -40,27 +40,6 @@ class YHPreviewBaseViewController: YHBaseViewController {
} }
} }
// MARK: - 滑动使用
extension YHPreviewBaseViewController: UIScrollViewDelegate {
//控制滑动交互
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let scrollViewSet: CGFloat = scrollView.contentOffset.y
if vcCanScroll == false {//不能滚动时
scrollView.contentOffset = CGPoint(x: 0, y: 0)
} else {
if (scrollViewSet <= 0) {
scrollView.contentOffset = CGPoint(x: 0, y: 0)
vcCanScroll = false
NotificationCenter.default.post(name: Notification.Name(rawValue: "leaveTop0"), object: nil)
} else {
scrollView.contentOffset = CGPoint(x: 0, y: scrollViewSet)
}
}
}
}
// MARK: - JXSegmentedListContainerViewListDelegate // MARK: - JXSegmentedListContainerViewListDelegate
extension YHPreviewBaseViewController: JXSegmentedListContainerViewListDelegate { extension YHPreviewBaseViewController: JXSegmentedListContainerViewListDelegate {
func listView() -> UIView { func listView() -> UIView {
...@@ -102,3 +81,23 @@ extension YHPreviewBaseViewController : UITableViewDelegate,UITableViewDataSourc ...@@ -102,3 +81,23 @@ extension YHPreviewBaseViewController : UITableViewDelegate,UITableViewDataSourc
} }
} }
// MARK: - 滑动使用
extension YHPreviewBaseViewController: UIScrollViewDelegate {
//控制滑动交互
func scrollViewDidScroll(_ scrollView: UIScrollView) {
let scrollViewSet: CGFloat = scrollView.contentOffset.y
if vcCanScroll == false {//不能滚动时
scrollView.contentOffset = CGPoint(x: 0, y: 0)
} else {
if (scrollViewSet <= 0) {
scrollView.contentOffset = CGPoint(x: 0, y: 0)
vcCanScroll = false
NotificationCenter.default.post(name: Notification.Name(rawValue: "leaveTop0"), object: nil)
} else {
scrollView.contentOffset = CGPoint(x: 0, y: scrollViewSet)
}
}
}
}
...@@ -116,8 +116,9 @@ private extension YHPreviewFamilyMemberViewController { ...@@ -116,8 +116,9 @@ private extension YHPreviewFamilyMemberViewController {
//延迟刷新 //延迟刷新
DispatchQueue.main.asyncAfter(deadline: .now() + 0.25) { DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.clickButton(sender: self.parentButton) self.clickButton(sender: self.parentButton)
self.homeTableView.reloadData()
} }
} }
......
...@@ -104,21 +104,6 @@ class YHPreviewMainViewController: YHBaseViewController { ...@@ -104,21 +104,6 @@ class YHPreviewMainViewController: YHBaseViewController {
// MARK: - 私有方法 // MARK: - 私有方法
extension YHPreviewMainViewController { extension YHPreviewMainViewController {
@objc func leaveTopOp() {
canScroll = true
}
@objc func beginDragging() {
homeTableView.isScrollEnabled = false
canScroll = false
}
@objc func endDragging() {
homeTableView.isScrollEnabled = true
canScroll = true
}
func loadData() { func loadData() {
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") { if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
previewVM.getPreviewForMainApplicationInfo(params: ["order_id" : orderID]) { success, error in previewVM.getPreviewForMainApplicationInfo(params: ["order_id" : orderID]) { success, error in
...@@ -279,10 +264,14 @@ extension YHPreviewMainViewController: UIScrollViewDelegate { ...@@ -279,10 +264,14 @@ extension YHPreviewMainViewController: UIScrollViewDelegate {
if (scrollView.contentOffset.y >= bottomCellOffset) { if (scrollView.contentOffset.y >= bottomCellOffset) {
scrollView.contentOffset = CGPointMake(0, bottomCellOffset) scrollView.contentOffset = CGPointMake(0, bottomCellOffset)
if canScroll == true { if canScroll == true {
canScroll = false // canScroll = false
//传递参数到 子VC // //传递参数到 子VC
cellView.canScroll = true // cellView.canScroll = true
} }
canScroll = false
//传递参数到 子VC
cellView.canScroll = true
}else{ }else{
if canScroll == false { if canScroll == false {
scrollView.contentOffset = CGPoint(x: 0, y: bottomCellOffset) scrollView.contentOffset = CGPoint(x: 0, y: bottomCellOffset)
...@@ -291,3 +280,19 @@ extension YHPreviewMainViewController: UIScrollViewDelegate { ...@@ -291,3 +280,19 @@ extension YHPreviewMainViewController: UIScrollViewDelegate {
self.homeTableView.showsVerticalScrollIndicator = false self.homeTableView.showsVerticalScrollIndicator = false
} }
} }
extension YHPreviewMainViewController {
@objc func leaveTopOp() {
canScroll = true
}
@objc func beginDragging() {
homeTableView.isScrollEnabled = false
canScroll = false
}
@objc func endDragging() {
homeTableView.isScrollEnabled = true
canScroll = true
}
}
...@@ -246,7 +246,7 @@ private extension YHPreviewViewModel { ...@@ -246,7 +246,7 @@ private extension YHPreviewViewModel {
let tmp14 = YHPreviewQuestionAndAnswerModel(question: "下属管理人数:", answer:String(model.company_manage_total)) let tmp14 = YHPreviewQuestionAndAnswerModel(question: "下属管理人数:", answer:String(model.company_manage_total))
let tmp15 = YHPreviewQuestionAndAnswerModel(question: "公司营业额/港元(近一年):", answer:String(model.turnover).defaultStringIfEmpty()) let tmp15 = YHPreviewQuestionAndAnswerModel(question: "公司营业额/港元(近一年):", answer:String(model.turnover).defaultStringIfEmpty())
let tempppp0 = YHConstantArrayData.getShowNameBy(indexStr: String(model.administrative_level), type: .level) let tempppp0 = YHConstantArrayData.getShowNameBy(indexStr: String(model.professional_level), type: .level)
let tmp16 = YHPreviewQuestionAndAnswerModel(question: "职业水平类别:", answer:tempppp0) let tmp16 = YHPreviewQuestionAndAnswerModel(question: "职业水平类别:", answer:tempppp0)
arr1.append(contentsOf: [tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9,tmp10,tmp11,tmp12,tmp13,tmp14,tmp15,tmp16]) arr1.append(contentsOf: [tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7,tmp8,tmp9,tmp10,tmp11,tmp12,tmp13,tmp14,tmp15,tmp16])
} }
...@@ -466,7 +466,7 @@ private extension YHPreviewViewModel { ...@@ -466,7 +466,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -490,7 +490,7 @@ private extension YHPreviewViewModel { ...@@ -490,7 +490,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp7 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp7 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -518,7 +518,7 @@ private extension YHPreviewViewModel { ...@@ -518,7 +518,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -562,7 +562,7 @@ private extension YHPreviewViewModel { ...@@ -562,7 +562,7 @@ private extension YHPreviewViewModel {
let answer1 = model.has_departure?.has == "Y" ? "是" : "否" let answer1 = model.has_departure?.has == "Y" ? "是" : "否"
let remark1 = answer1 == "是" ? (model.has_conviction?.info ?? "") : nil let remark1 = answer1 == "是" ? (model.has_departure?.info ?? "") : nil
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: answer1,remark: remark1) let tmp1 = YHPreviewQuestionAndAnswerModel(question: "2、是否曾在香港或其他地方被拒入境/递解/遣送或要求离境?", answer: answer1,remark: remark1)
...@@ -937,52 +937,8 @@ private extension YHPreviewViewModel { ...@@ -937,52 +937,8 @@ private extension YHPreviewViewModel {
var arrTemp : [YHPreviewInfoSessionModel] = [] var arrTemp : [YHPreviewInfoSessionModel] = []
do { do {
if model.follow == 0 { if model.follow == 1 {
do {
//随行信息 - 否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "是否随行至香港:", answer: "否")
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "随行信息", cellData0: arr)
arrTemp.append(model1)
}
do {
//配偶信息-否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "配偶姓名:", answer: model.subsetName)
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "曾用名:", answer: model.usedName.defaultStringIfEmpty())
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "婚前姓氏:", answer: model.surname)
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "出生日期:", answer: model.birthday)
var city = ""
if model.birthPlaceAboard == 0 {
//国内
if model.birthPlace.area.count > 1 {
city = "国内 " + model.birthPlace.area[0] + "/" + model.birthPlace.area[1]
} else {
city = "国内 --"
}
} else {
//国外
city = "国外 " + model.birthPlace.foreign
}
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "出生城市:", answer: city)
var arr = [tmp0,tmp1,tmp2,tmp3,tmp4]
if let card = model.hkIdentityCard,card.isEmpty == false {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是")
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "香港身份证号码:", answer: model.hkIdentityCard ?? "--")
arr.append(tmp5)
arr.append(tmp6)
} else {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "否")
arr.append(tmp5)
}
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "配偶信息", cellData0: arr)
arrTemp.append(model1)
}
} else {
do { do {
//随行信息 - 是 //随行信息 - 是
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "是否随行至香港:", answer: "是") let tmp0 = YHPreviewQuestionAndAnswerModel(question: "是否随行至香港:", answer: "是")
...@@ -1026,8 +982,6 @@ private extension YHPreviewViewModel { ...@@ -1026,8 +982,6 @@ private extension YHPreviewViewModel {
let tmp7 = YHPreviewQuestionAndAnswerModel(question: "是否拥有学位:", answer: model.hasDegree == "1" ? "有学位" : "无学位") let tmp7 = YHPreviewQuestionAndAnswerModel(question: "是否拥有学位:", answer: model.hasDegree == "1" ? "有学位" : "无学位")
arr.append(tmp7) arr.append(tmp7)
// var arr = [tmp0,tmp1,tmp2,tmp3,tmp4,tmp5,tmp6,tmp7]
if model.hasDegree == "1" { if model.hasDegree == "1" {
for(index,item) in model.hasDegreeJson.enumerated() { for(index,item) in model.hasDegreeJson.enumerated() {
...@@ -1084,8 +1038,6 @@ private extension YHPreviewViewModel { ...@@ -1084,8 +1038,6 @@ private extension YHPreviewViewModel {
arr.append(contentsOf: [tmp14,tmp15]) arr.append(contentsOf: [tmp14,tmp15])
} }
if let tmp = model.hkIdentityCard,tmp.isEmpty == false { if let tmp = model.hkIdentityCard,tmp.isEmpty == false {
let tmp16 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是") let tmp16 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是")
arr.append(tmp16) arr.append(tmp16)
...@@ -1099,6 +1051,51 @@ private extension YHPreviewViewModel { ...@@ -1099,6 +1051,51 @@ private extension YHPreviewViewModel {
let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "配偶信息", cellData0: arr) let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "配偶信息", cellData0: arr)
arrTemp.append(model2) arrTemp.append(model2)
} }
} else {
do {
//随行信息 - 否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "是否随行至香港:", answer: "否")
let arr = [tmp0]
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "随行信息", cellData0: arr)
arrTemp.append(model1)
}
do {
//配偶信息-否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "配偶姓名:", answer: model.subsetName)
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "曾用名:", answer: model.usedName.defaultStringIfEmpty())
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "婚前姓氏:", answer: model.surname)
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "出生日期:", answer: model.birthday)
var city = ""
if model.birthPlaceAboard == 0 {
//国内
if model.birthPlace.area.count > 1 {
city = "国内 " + model.birthPlace.area[0] + "/" + model.birthPlace.area[1]
} else {
city = "国内 --"
}
} else {
//国外
city = "国外 " + model.birthPlace.foreign
}
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "出生城市:", answer: city)
var arr = [tmp0,tmp1,tmp2,tmp3,tmp4]
if let card = model.hkIdentityCard,card.isEmpty == false {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是")
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "香港身份证号码:", answer: model.hkIdentityCard ?? "--")
arr.append(tmp5)
arr.append(tmp6)
} else {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "否")
arr.append(tmp5)
}
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "配偶信息", cellData0: arr)
arrTemp.append(model1)
}
} }
} }
...@@ -1119,7 +1116,7 @@ private extension YHPreviewViewModel { ...@@ -1119,7 +1116,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -1143,7 +1140,7 @@ private extension YHPreviewViewModel { ...@@ -1143,7 +1140,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp7 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp7 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -1171,7 +1168,7 @@ private extension YHPreviewViewModel { ...@@ -1171,7 +1168,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -1218,72 +1215,7 @@ private extension YHPreviewViewModel { ...@@ -1218,72 +1215,7 @@ private extension YHPreviewViewModel {
private func installDataForChildOp(model : YHFamilyMember,childIndex : Int, totalChild : Int = 0) { private func installDataForChildOp(model : YHFamilyMember,childIndex : Int, totalChild : Int = 0) {
var arrTemp : [YHPreviewInfoSessionModel] = [] var arrTemp : [YHPreviewInfoSessionModel] = []
do { do {
if model.follow != 1 { if model.follow == 1 {
do {
//随行信息 - 否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "是否随行至香港:", answer: "否")
let arr = [tmp0]
var title = ""
if totalChild > 1 {
title = String(childIndex + 1)
}
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "随行信息" + title, cellData0: arr)
arrTemp.append(model1)
}
do {
//配偶信息-否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "配偶姓名:", answer: model.subsetName)
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "曾用名:", answer: model.usedName.defaultStringIfEmpty())
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "婚前姓氏:", answer: model.surname.defaultStringIfEmpty())
let sexStr = YHConstantArrayData.getShowNameBy(indexStr: String(model.sex), type: .sex)
let tmp22 = YHPreviewQuestionAndAnswerModel(question: "性别:", answer: sexStr)
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "出生日期:", answer: model.birthday)
var city = ""
if model.birthPlaceAboard == 0 {
//国内
if model.birthPlace.area.count > 1 {
city = "国内 " + model.birthPlace.area[0] + "/" + model.birthPlace.area[1]
} else {
city = "国内 --"
}
} else {
//国外
city = "国外 " + model.birthPlace.foreign
}
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "出生城市:", answer: city)
let tmp44 = YHPreviewQuestionAndAnswerModel(question: "婚姻状况:", answer: model.married.defaultStringIfEmpty())
let tmp444 = YHPreviewQuestionAndAnswerModel(question: "职业:", answer: model.occupation.defaultStringIfEmpty())
var arr = [tmp0,tmp1,tmp2,tmp22,tmp3,tmp4,tmp44,tmp444]
if model.occupation.contains("在职") {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "职业名称:", answer: model.occupationName)
arr.append(tmp5)
}
if let card = model.hkIdentityCard,card.isEmpty == false {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是")
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "香港身份证号码:", answer: model.hkIdentityCard ?? "--")
arr.append(tmp5)
arr.append(tmp6)
} else {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "否")
arr.append(tmp5)
}
var title = ""
if totalChild > 1 {
title = String(childIndex + 1)
}
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "子女信息" + title, cellData0: arr)
arrTemp.append(model1)
}
} else {
do { do {
//随行信息 - 是 //随行信息 - 是
let tmp00 = YHPreviewQuestionAndAnswerModel(question: "主申请人或现配偶是否拥有孩子护养权:", answer:model.custody == 1 ? "是" : "否") let tmp00 = YHPreviewQuestionAndAnswerModel(question: "主申请人或现配偶是否拥有孩子护养权:", answer:model.custody == 1 ? "是" : "否")
...@@ -1299,8 +1231,6 @@ private extension YHPreviewViewModel { ...@@ -1299,8 +1231,6 @@ private extension YHPreviewViewModel {
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "随行信息" + title, cellData0: arr) let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "随行信息" + title, cellData0: arr)
arrTemp.append(model1) arrTemp.append(model1)
} }
do { do {
//子女信息 //子女信息
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "子女姓名:", answer: model.subsetName) let tmp0 = YHPreviewQuestionAndAnswerModel(question: "子女姓名:", answer: model.subsetName)
...@@ -1417,6 +1347,73 @@ private extension YHPreviewViewModel { ...@@ -1417,6 +1347,73 @@ private extension YHPreviewViewModel {
let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "子女信息" + title, cellData0: arr) let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "子女信息" + title, cellData0: arr)
arrTemp.append(model2) arrTemp.append(model2)
} }
} else {
do {
//随行信息 - 否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "是否随行至香港:", answer: "否")
let arr = [tmp0]
var title = ""
if totalChild > 1 {
title = String(childIndex + 1)
}
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "随行信息" + title, cellData0: arr)
arrTemp.append(model1)
}
do {
//配偶信息-否
let tmp0 = YHPreviewQuestionAndAnswerModel(question: "配偶姓名:", answer: model.subsetName)
let tmp1 = YHPreviewQuestionAndAnswerModel(question: "曾用名:", answer: model.usedName.defaultStringIfEmpty())
let tmp2 = YHPreviewQuestionAndAnswerModel(question: "婚前姓氏:", answer: model.surname.defaultStringIfEmpty())
let sexStr = YHConstantArrayData.getShowNameBy(indexStr: String(model.sex), type: .sex)
let tmp22 = YHPreviewQuestionAndAnswerModel(question: "性别:", answer: sexStr)
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "出生日期:", answer: model.birthday)
var city = ""
if model.birthPlaceAboard == 0 {
//国内
if model.birthPlace.area.count > 1 {
city = "国内 " + model.birthPlace.area[0] + "/" + model.birthPlace.area[1]
} else {
city = "国内 --"
}
} else {
//国外
city = "国外 " + model.birthPlace.foreign
}
let tmp4 = YHPreviewQuestionAndAnswerModel(question: "出生城市:", answer: city)
let tmp44 = YHPreviewQuestionAndAnswerModel(question: "婚姻状况:", answer: model.married.defaultStringIfEmpty())
let tmp444 = YHPreviewQuestionAndAnswerModel(question: "职业:", answer: model.occupation.defaultStringIfEmpty())
var arr = [tmp0,tmp1,tmp2,tmp22,tmp3,tmp4,tmp44,tmp444]
if model.occupation.contains("在职") {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "职业名称:", answer: model.occupationName)
arr.append(tmp5)
}
if let card = model.hkIdentityCard,card.isEmpty == false {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "是")
let tmp6 = YHPreviewQuestionAndAnswerModel(question: "香港身份证号码:", answer: model.hkIdentityCard ?? "--")
arr.append(tmp5)
arr.append(tmp6)
} else {
let tmp5 = YHPreviewQuestionAndAnswerModel(question: "是否办理过香港身份证:", answer: "否")
arr.append(tmp5)
}
var title = ""
if totalChild > 1 {
title = String(childIndex + 1)
}
let model1 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "子女信息" + title, cellData0: arr)
arrTemp.append(model1)
}
} }
} }
...@@ -1438,7 +1435,7 @@ private extension YHPreviewViewModel { ...@@ -1438,7 +1435,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp3 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
...@@ -1473,7 +1470,7 @@ private extension YHPreviewViewModel { ...@@ -1473,7 +1470,7 @@ private extension YHPreviewViewModel {
if model.nationality != "中国-China" { if model.nationality != "中国-China" {
//护照及其他旅行证件 //护照及其他旅行证件
var str = String(model.certificates.passport.passPortType)//for test hjl todo var str = YHConstantArrayData.getShowNameBy(indexStr: String(model.certificates.passport.passPortType), type: .idType)
let tmp8 = YHPreviewQuestionAndAnswerModel(question: "证件类别:", answer: str) let tmp8 = YHPreviewQuestionAndAnswerModel(question: "证件类别:", answer: str)
str = model.certificates.passport.number str = model.certificates.passport.number
...@@ -1490,7 +1487,7 @@ private extension YHPreviewViewModel { ...@@ -1490,7 +1487,7 @@ private extension YHPreviewViewModel {
str = "" str = ""
} else { } else {
if str == "8888-01-01" { if str == "8888-01-01" {
str = "至今" str = "长期"
} }
} }
let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty()) let tmp12 = YHPreviewQuestionAndAnswerModel(question: "届满日期:", answer: str.defaultStringIfEmpty())
......
...@@ -48,6 +48,9 @@ extension UIColor { ...@@ -48,6 +48,9 @@ extension UIColor {
//警告 color //警告 color
static let warnColor : UIColor = UIColor(hexString: "#FF9900")! static let warnColor : UIColor = UIColor(hexString: "#FF9900")!
//警告 背景色 color
static let warnColor8 : UIColor = UIColor(hexString: "#FF9900",transparency: 0.08)!
//提示 color //提示 color
static let tipsColor : UIColor = UIColor(hexString: "#2F7EF6")! static let tipsColor : UIColor = UIColor(hexString: "#2F7EF6")!
......
...@@ -313,14 +313,7 @@ class YHConstantArrayData { ...@@ -313,14 +313,7 @@ class YHConstantArrayData {
"id": "10" "id": "10"
] ]
] ]
// static func getIdTypeBy(index : Int) -> String {
// for item in YHConstantArrayData.arrIdType {
// if let target = item["id"],index == Int(target) {
// return item["title"] ?? "未知"
// }
// }
// return "未知"
// }
static let arrSex : [[String : String]] = [ static let arrSex : [[String : String]] = [
["title": "男", ["title": "男",
"id": "1" "id": "1"
......
...@@ -95,14 +95,13 @@ class YHNetRequest: NSObject { ...@@ -95,14 +95,13 @@ class YHNetRequest: NSObject {
requestHeader.add(name:"sign",value:sign) requestHeader.add(name:"sign",value:sign)
requestHeader.add(name: "token", value: YHLoginManager.shared.userModel?.token ?? "-") requestHeader.add(name: "token", value: YHLoginManager.shared.userModel?.token ?? "-")
// testToken(&requestHeader) //for test hjl 使用测试token
headers = requestHeader headers = requestHeader
} }
private func testToken(_ requestHeader:inout HTTPHeaders) { // private func testToken(_ requestHeader:inout HTTPHeaders) {
//金龙的账号 // //金龙的账号
requestHeader.add(name: "token", value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE2MDcwNjQsImkiOjE0NDg0MTczMjc0MjE2LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.KwTWdaLy5UG4LLs6i-D9ne0RflRTT5v4zvu-66yihDE") // requestHeader.add(name: "token", value: "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE3MTE2MDcwNjQsImkiOjE0NDg0MTczMjc0MjE2LCJ1Ijoi6ZO25rKz6ZuG5ZuiIiwiciI6InN1cGVyX2FwcCJ9.KwTWdaLy5UG4LLs6i-D9ne0RflRTT5v4zvu-66yihDE")
} // }
///  链式语法 ///  链式语法
func url(_ url:String?) -> Self{ func url(_ url:String?) -> Self{
......
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "icon-更多@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "icon-更多@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2848@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2848@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Frame@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Frame@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2190@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2190@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Mask group@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Mask group@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2191@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2191@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2192@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2192@3x.png",
"idiom" : "universal",
"scale" : "3x"
}
],
"info" : {
"author" : "xcode",
"version" : 1
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "Group 2189@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "Group 2189@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