Commit 1c868ef2 authored by pete谢兆麟's avatar pete谢兆麟

我的文书接口

parent 01c2a1bc
......@@ -213,6 +213,12 @@
04A671602BA0280800C1FB91 /* YHFileRenameInputView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A6715F2BA0280800C1FB91 /* YHFileRenameInputView.swift */; };
04A671622BA058DE00C1FB91 /* YHCertificateEditSheetView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A671612BA058DE00C1FB91 /* YHCertificateEditSheetView.swift */; };
04A7BC912B6B7B89000E8D47 /* YHTwoOptionAlertView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BC902B6B7B89000E8D47 /* YHTwoOptionAlertView.swift */; };
04A7BD0F2BA41C9800BD35A2 /* YHMyDocumentsModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BD0E2BA41C9800BD35A2 /* YHMyDocumentsModel.swift */; };
04A7BD112BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BD102BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift */; };
04A7BD132BA42F4200BD35A2 /* YHMyDocumentsDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BD122BA42F4200BD35A2 /* YHMyDocumentsDetailViewController.swift */; };
04A7BD152BA4361700BD35A2 /* YHMyDocumentDetailModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BD142BA4361700BD35A2 /* YHMyDocumentDetailModel.swift */; };
04A7BD172BA43A0F00BD35A2 /* YHMyDocumentsDetailViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BD162BA43A0F00BD35A2 /* YHMyDocumentsDetailViewModel.swift */; };
04A7BD192BA441D400BD35A2 /* YHMyDocumentsUrlModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04A7BD182BA441D400BD35A2 /* YHMyDocumentsUrlModel.swift */; };
04AF58C42B4FC51C0066011A /* YHLocalizable.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04AF58C32B4FC51C0066011A /* YHLocalizable.swift */; };
04C693622B723AB8004C1758 /* YHMySettingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C693612B723AB8004C1758 /* YHMySettingViewController.swift */; };
04C693642B723B56004C1758 /* YHMySettingCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04C693632B723B56004C1758 /* YHMySettingCell.swift */; };
......@@ -558,6 +564,12 @@
04A6715F2BA0280800C1FB91 /* YHFileRenameInputView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHFileRenameInputView.swift; sourceTree = "<group>"; };
04A671612BA058DE00C1FB91 /* YHCertificateEditSheetView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHCertificateEditSheetView.swift; sourceTree = "<group>"; };
04A7BC902B6B7B89000E8D47 /* YHTwoOptionAlertView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHTwoOptionAlertView.swift; sourceTree = "<group>"; };
04A7BD0E2BA41C9800BD35A2 /* YHMyDocumentsModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocumentsModel.swift; sourceTree = "<group>"; };
04A7BD102BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocumentsListViewModel.swift; sourceTree = "<group>"; };
04A7BD122BA42F4200BD35A2 /* YHMyDocumentsDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocumentsDetailViewController.swift; sourceTree = "<group>"; };
04A7BD142BA4361700BD35A2 /* YHMyDocumentDetailModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocumentDetailModel.swift; sourceTree = "<group>"; };
04A7BD162BA43A0F00BD35A2 /* YHMyDocumentsDetailViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocumentsDetailViewModel.swift; sourceTree = "<group>"; };
04A7BD182BA441D400BD35A2 /* YHMyDocumentsUrlModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMyDocumentsUrlModel.swift; sourceTree = "<group>"; };
04AF58C32B4FC51C0066011A /* YHLocalizable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHLocalizable.swift; sourceTree = "<group>"; };
04C693612B723AB8004C1758 /* YHMySettingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMySettingViewController.swift; sourceTree = "<group>"; };
04C693632B723B56004C1758 /* YHMySettingCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHMySettingCell.swift; sourceTree = "<group>"; };
......@@ -925,6 +937,8 @@
045EEDF82B9F171A0022A143 /* MyDocuments(我的文书) */ = {
isa = PBXGroup;
children = (
04A7BD0D2BA41C7600BD35A2 /* ViewModel */,
04A7BD0C2BA41C6E00BD35A2 /* Model */,
045EEDF92B9F171A0022A143 /* C */,
);
path = "MyDocuments(我的文书)";
......@@ -934,6 +948,7 @@
isa = PBXGroup;
children = (
045EEDFA2B9F171A0022A143 /* YHMyDocumentsListViewController.swift */,
04A7BD122BA42F4200BD35A2 /* YHMyDocumentsDetailViewController.swift */,
);
path = C;
sourceTree = "<group>";
......@@ -1364,6 +1379,25 @@
path = C;
sourceTree = "<group>";
};
04A7BD0C2BA41C6E00BD35A2 /* Model */ = {
isa = PBXGroup;
children = (
04A7BD0E2BA41C9800BD35A2 /* YHMyDocumentsModel.swift */,
04A7BD142BA4361700BD35A2 /* YHMyDocumentDetailModel.swift */,
04A7BD182BA441D400BD35A2 /* YHMyDocumentsUrlModel.swift */,
);
path = Model;
sourceTree = "<group>";
};
04A7BD0D2BA41C7600BD35A2 /* ViewModel */ = {
isa = PBXGroup;
children = (
04A7BD102BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift */,
04A7BD162BA43A0F00BD35A2 /* YHMyDocumentsDetailViewModel.swift */,
);
path = ViewModel;
sourceTree = "<group>";
};
04AF58BA2B4FB71C0066011A /* Localized */ = {
isa = PBXGroup;
children = (
......@@ -2046,6 +2080,7 @@
A5ACE9452B4564F7002C94D2 /* YHHUDContainerView.swift in Sources */,
045EEEFD2B9F171A0022A143 /* YHSheetPickerViewType.swift in Sources */,
045EEEC72B9F171A0022A143 /* YHOtherYesOrNoItemView.swift in Sources */,
04A7BD172BA43A0F00BD35A2 /* YHMyDocumentsDetailViewModel.swift in Sources */,
045EEEB32B9F171A0022A143 /* YHWorkFileSyncTableViewCell.swift in Sources */,
045EEEF12B9F171A0022A143 /* YHChildInfoContainerVC.swift in Sources */,
045EEF0B2B9F171A0022A143 /* YHBasicInfoFillViewController.swift in Sources */,
......@@ -2054,6 +2089,7 @@
045EEEDE2B9F171A0022A143 /* YHEducationInfoCell.swift in Sources */,
A5ACE93A2B4564F7002C94D2 /* NSAttributedString+Extension.swift in Sources */,
04E86E662B86EB6F00A35F4B /* YHLoginManager.swift in Sources */,
04A7BD112BA4218B00BD35A2 /* YHMyDocumentsListViewModel.swift in Sources */,
045EEEA82B9F171A0022A143 /* YHWorkIntroductionViewController.swift in Sources */,
045EEEBF2B9F171A0022A143 /* YHWorkFileItemView.swift in Sources */,
04AF58C42B4FC51C0066011A /* YHLocalizable.swift in Sources */,
......@@ -2104,6 +2140,7 @@
A5ACE94F2B4564F7002C94D2 /* YhOverlayView.swift in Sources */,
045EEEB92B9F171A0022A143 /* YHWorkMessageSelectTableViewCell.swift in Sources */,
A53026902B4E6F2700F35102 /* YHHomeCustomCell.swift in Sources */,
04A7BD0F2BA41C9800BD35A2 /* YHMyDocumentsModel.swift in Sources */,
A5ACE92E2B4564F7002C94D2 /* YHValidateCodeInputView.swift in Sources */,
045EEED82B9F171A0022A143 /* YHQuestionInfo.swift in Sources */,
A5ACE94E2B4564F7002C94D2 /* AlignedCollectionViewFlowLayout.swift in Sources */,
......@@ -2210,8 +2247,10 @@
045EEE832B9F171A0022A143 /* YHMainInfoPreviewModel.swift in Sources */,
045EEEAB2B9F171A0022A143 /* YHImageClipperViewController.swift in Sources */,
045EEECB2B9F171A0022A143 /* YHScoreResultBaseModel.swift in Sources */,
04A7BD192BA441D400BD35A2 /* YHMyDocumentsUrlModel.swift in Sources */,
045EEEA62B9F171A0022A143 /* YHCompanySelectViewController.swift in Sources */,
045EEEA92B9F171A0022A143 /* YHWorkExperienceListViewController.swift in Sources */,
04A7BD132BA42F4200BD35A2 /* YHMyDocumentsDetailViewController.swift in Sources */,
04A671622BA058DE00C1FB91 /* YHCertificateEditSheetView.swift in Sources */,
A5ACE9432B4564F7002C94D2 /* UILable+Extension.swift in Sources */,
045EEE882B9F171A0022A143 /* YHPreviewAcademicAndProfessionalQualificationViewController.swift in Sources */,
......@@ -2245,6 +2284,7 @@
045EEEE62B9F171A0022A143 /* YHMySignatureListViewController.swift in Sources */,
A5C5B3292B57CCBE00A7C5D1 /* YHDavidCell4.swift in Sources */,
045EEEE12B9F171A0022A143 /* YHMySignatureListViewModel.swift in Sources */,
04A7BD152BA4361700BD35A2 /* YHMyDocumentDetailModel.swift in Sources */,
045EEEA02B9F171A0022A143 /* YHWorkItemListModel.swift in Sources */,
045EEEAD2B9F171A0022A143 /* YHWorkExperienceListTableViewCell.swift in Sources */,
049A48A82B49417300D0C641 /* YHAboutUsViewController.swift in Sources */,
......
......@@ -186,6 +186,7 @@ extension YHServiceCenterMainViewController : UITableViewDelegate,UITableViewDat
let vc = YHServiceCenterSecondViewController()
vc.orderId = orderId
vc.mobile = serviceCenterMainReqVM.arrContactList[indexPath.section].mobile
self.navigationController?.pushViewController(vc)
}
}
......
......@@ -11,6 +11,7 @@ import UIKit
//服务中心
class YHServiceCenterSecondViewController: YHBaseViewController {
var orderId : Int?
var mobile: String?
private let serviceCenterMainReqVM : YHServiceCenterMainViewModel = YHServiceCenterMainViewModel()
private var unfoldFlag : Bool = true //是否展开
private lazy var downArrowImagev : UIImageView = {
......@@ -183,6 +184,7 @@ extension YHServiceCenterSecondViewController : UITableViewDelegate,UITableViewD
} else if model.type == 4 {
let vc = YHMyDocumentsListViewController()
vc.orderId = orderId ?? 0
vc.mobile = mobile ?? ""
navigationController?.pushViewController(vc)
} else if model.type == 5 {
let vc = YHMySignatureListViewController()
......
......@@ -16,4 +16,5 @@ struct YHContactItemModel : SmartCodable {
var productName : String = ""
var createTime : String = ""
var type : String = ""
var mobile: String = ""
}
//
// YHMyDocumentsDetailViewController.swift
// galaxy
//
// Created by EDY on 2024/3/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SafariServices
class YHMyDocumentsDetailViewController: YHBaseViewController {
var bottomView: UIView!
var bottomButton: UIButton!
var tableView: UITableView!
var dataSource: [YHWorkItemListModel]?
var viewModel: YHMyDocumentsDetailViewModel?
var id: Int = 0
override func viewDidLoad() {
super.viewDidLoad()
viewModel = YHMyDocumentsDetailViewModel()
gk_navTitle = "我的签字"
setView()
getData()
// Do any additional setup after loading the view.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
getData()
}
func getData() {
viewModel?.requestDocumentsDetail("\(id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.tableView.reloadData()
})
}
func updateDataSource() {
self.tableView.reloadData()
}
func setView() {
tableView = {
let tableView = UITableView(frame:.zero, style:.plain)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHMyFileMethodTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(k_Height_NavigationtBarAndStatuBar)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64)
make.left.right.bottom.equalTo(view)
}
bottomView = {
let bottom = UIView()
bottom.backgroundColor = .white
return bottom
}()
view.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.left.right.bottom.equalToSuperview()
make.height.equalTo(k_Height_safeAreaInsetsBottom() + 64)
}
bottomButton = {
let button = UIButton(type: .custom)
// button.backgroundColor = UIColor(hex:0x2274ee)
button.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
button.contentHorizontalAlignment = .center
button.setTitle("提交", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.clipsToBounds = true
button.addTarget(self, action: #selector(submit), for: .touchUpInside)
return button
}()
bottomView.addSubview(bottomButton)
bottomButton.snp.makeConstraints { make in
make.right.equalTo(-16)
make.top.equalTo(8)
make.height.equalTo(48)
make.left.equalTo(16)
}
bottomButton.layoutIfNeeded()
bottomButton.addYinHeGradualLayer()
}
@objc func submit() {
let url = URL(string: "https://baidu.com/")!
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.delegate = self
self.navigationController?.pushViewController(safariViewController)
}
}
extension YHMyDocumentsDetailViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHMyFileMethodTableViewCell.self)
cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return CGFloat(180)
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
viewModel?.requestDocumentsTemporaryUrl("\(id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if success {
guard let url = URL(string: self.viewModel?.urlModel?.url) else { return }
let tmpVC = SFSafariViewController(url: url)
tmpVC.dismissButtonStyle = .close
tmpVC.delegate = self
self.navigationController?.pushViewController(tmpVC)
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
})
}
}
extension YHMyDocumentsDetailViewController: SFSafariViewControllerDelegate {
// MARK: 点击左上角的完成
func safariViewControllerDidFinish(_ controller: SFSafariViewController) {
controller.navigationController?.popViewController()
}
// MARK: 加载完成
func safariViewController(_ controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) {
print(#function)
}
// MARK: 点击右下角调用Safari浏览器打开
func safariViewControllerWillOpenInBrowser(_ controller: SFSafariViewController) {
print(#function)
}
}
......@@ -12,14 +12,14 @@ class YHMyDocumentsListViewController: YHBaseViewController {
var bottomView: UIView!
var bottomButton: UIButton!
var tableView: UITableView!
var dataSource: [YHWorkItemListModel]?
var viewModel: YHWorkItemListViewModel?
var isMore: Bool = false
var dataSource: [YHMyDocumentsListModel]?
var viewModel: YHMyDocumentsListViewModel?
var orderId: Int = 0
var showPrompt: Bool = false
var mobile: String = ""
override func viewDidLoad() {
super.viewDidLoad()
viewModel = YHWorkItemListViewModel()
viewModel = YHMyDocumentsListViewModel()
gk_navTitle = "我的文书"
setView()
getData()
......@@ -32,9 +32,8 @@ class YHMyDocumentsListViewController: YHBaseViewController {
}
func getData() {
viewModel?.requestWorkList("\(orderId)", callBackBlock: {[weak self] success, error in
viewModel?.requestDocumentsList("\(orderId)", mobile, callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.dataSource = success
self.tableView.reloadData()
})
}
......@@ -54,7 +53,7 @@ class YHMyDocumentsListViewController: YHBaseViewController {
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHWorkExperienceListTableViewCell.self)
tableView.register(cellWithClass: YHMySignatureListTableViewCell.self)
return tableView
}()
view.addSubview(tableView)
......@@ -100,84 +99,30 @@ class YHMyDocumentsListViewController: YHBaseViewController {
}
@objc func submit() {
guard let dataSource = dataSource else { return }
for item in dataSource {
if item.vacant_num ?? 0 > 0 {
showPrompt = true
tableView.reloadData()
YHHUD.flash(message: "您的工作经验未全部填写完成,请先填写完成再提交")
return
}
}
viewModel?.requestSaveAllWorkExperience("\(orderId)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if success ?? false {
self.navigationController?.popViewController(animated: true)
}
})
}
}
extension YHMyDocumentsListViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
return viewModel?.mainModel?.docs.count ?? 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHWorkExperienceListTableViewCell.self)
cell.showPrompt = showPrompt
cell.dataSource = dataSource
if isMore {
cell.more()
} else {
cell.cannal()
}
cell.clickBlock = {[weak self] model in
guard let self = self else { return }
let firstModel = self.dataSource?.first
let vc = YHWorkExperienceViewController()
vc.workExperienceID = "\(model.id ?? 0)"
vc.orderID = self.orderId
vc.isShowMessageSelect = true
if firstModel?.id == model.id {
vc.isShowMessageSelect = false
}
self.navigationController?.pushViewController(vc, animated: true)
}
cell.deleteBlock = {[weak self] model in
guard let self = self else { return }
self.viewModel?.requestDeleteWorkExperience("\(model.id ?? 0)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.getData()
})
}
cell.isMoreBlock = {[weak self] isMore in
guard let self = self else { return }
self.isMore = isMore
}
cell.newWorkBlock = {[weak self] in
guard let self = self else { return }
if self.dataSource?.count == 10 {
YHHUD.flash(message: "新增工作经历不能超过10条")
} else {
let vc = YHWorkExperienceViewController()
vc.isShowMessageSelect = true
vc.orderID = self.orderId
self.navigationController?.pushViewController(vc, animated: true)
}
}
cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear
let cell = tableView.dequeueReusableCell(withClass: YHMySignatureListTableViewCell.self)
cell.textLabel?.text = viewModel?.mainModel?.docs[indexPath.row].doc_type_name
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
let number = dataSource?.count ?? 0
if number == 0 {
return CGFloat(16 + 216)
} else {
return CGFloat(16 + 154 + 76 * number)
}
return CGFloat(86)
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = viewModel?.mainModel?.docs[indexPath.row]
let vc = YHMyDocumentsDetailViewController()
vc.id = model?.id ?? 0
self.navigationController?.pushViewController(vc)
}
}
//
// YHMyDocumentDetailModel.swift
// galaxy
//
// Created by EDY on 2024/3/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMyDocumentDetailModel: YHBaseModel {
var prospectus: YHMyDocumentProspectusModel = YHMyDocumentProspectusModel()
var writing_document: YHMyDocumentWritingDocumentModel = YHMyDocumentWritingDocumentModel()
}
class YHMyDocumentProspectusModel: YHBaseModel {
var id: Int = 0
var prospectus_id: Int = 0
var order_id: Int = 0
var career_achievement: String = ""
var professional_skills: String = ""
var academic_achievement: String = ""
var plan_detail: String = ""
var created_at: String = ""
var updated_at: String = ""
var deleted_at: String = ""
var qualifications_and_awards: String = ""
var other: String = ""
var type: Int = 0
var tag: String = ""
var tencent_file_id: String = ""
var tencent_docs_url: String = ""
}
class YHMyDocumentWritingDocumentModel: YHBaseModel {
var customer_id: Int = 0
var order_id: Int = 0
var name: String = ""
var status: Int = 0
var supplement_id: Int = 0
var tencent_file_url: String = ""
var status_txt: String = ""
var is_show_button: Bool = false
var doc_sign: YHMyDocumentWritingDocumentDocSignModel = YHMyDocumentWritingDocumentDocSignModel()
var supplement_list: YHMyDocumentWritingDocumentSupplementListModel = YHMyDocumentWritingDocumentSupplementListModel()
}
class YHMyDocumentWritingDocumentDocSignModel: YHBaseModel {
var is_upload: Int = 0
var supplement_id: Int = 0
var doc_send: String = ""
var status: Int = 0
var doc_type: Int = 0
var doc_return: [String] = []
var doc_electronic: String = ""
var wx_electronically_signed: Int = 0
var doc_return_manual: [String] = []
var doc_type_name: String = ""
}
class YHMyDocumentWritingDocumentSupplementListModel: YHBaseModel {
var id: Int = 0
var name: String = ""
}
//
// YHMyDocumentsModel.swift
// galaxy
//
// Created by EDY on 2024/3/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMyDocumentsListModel: YHBaseModel {
var id: Int = 0
var order_id: Int = 0
var doc_type_name: String = ""
var document_check_status: Int = 0
var name_extra: YHMyDocumentsNameExtraModel = YHMyDocumentsNameExtraModel()
var template_id: Int = 0
var doc_type_label: String = ""
var status: Int = 0
var status_name: String = ""
var updated_at: String = ""
var status_origin: Int = 0
var file_type: String = ""
var sign_doc: YHMyDocumentsSignDocModel = YHMyDocumentsSignDocModel()
var document: YHMyDocumentsDocumentModel = YHMyDocumentsDocumentModel()
var doc_send: String = ""
var contract_lock: Int = 0
var is_second_page: Bool = false
var audi_opinion: String = ""
}
class YHMyDocumentsNameExtraModel: YHBaseModel {
var applicant: String = ""
var user_name: String = ""
var organization: String = ""
}
class YHMyDocumentsDocumentModel: YHBaseModel {
var id: Int = 0
var copywriter_id: Int = 0
var customer_id: Int = 0
var status: Int = 0
var modify_sum: Int = 0
var order_id: Int = 0
var order_sn: String = ""
var name: String = ""
var supplement_id: Int = 0
var document_key: String = ""
var finalized_key: String = ""
var user_type: Int = 0
var compare_file_url: String = ""
var deleted_at: String = ""
var created_at: String = ""
var updated_at: String = ""
var submit_at: String = ""
var tencent_key: String = ""
var tencent_file_url: String = ""
var first_submit_at: String = ""
}
class YHMyDocumentsSignDocModel: YHBaseModel {
var is_upload: Int = 0
var supplement_id: Int = 0
var doc_send: String = ""
var status: Int = 0
var doc_type: Int = 0
var doc_return: [String] = []
var doc_electronic: String = ""
var wx_electronically_signed: Int = 0
var doc_return_manual: [String] = []
var doc_type_name: String = ""
var id: Int = 0
}
class YHMyDocumentsUserModel: YHBaseModel {
var username: String = ""
var sex: Int = 0
var is_auth: Bool = false
var surname: String = ""
}
class YHMyDocumentsModel: YHBaseModel {
var docs: [YHMyDocumentsListModel] = []
var user_info: YHMyDocumentsUserModel = YHMyDocumentsUserModel()
}
//
// YHMyDocumentsUrlModel.swift
// galaxy
//
// Created by EDY on 2024/3/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMyDocumentsUrlModel: YHBaseModel {
var is_tencent: Bool = false
var url: String = ""
}
//
// YHMyDocumentsDetailViewModel.swift
// galaxy
//
// Created by EDY on 2024/3/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMyDocumentsDetailViewModel: YHBaseViewModel {
var mainModel: YHMyDocumentDetailModel?
var urlModel: YHMyDocumentsUrlModel?
override init() {
super.init()
}
func requestDocumentsDetail(_ supplementId: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["supplement_id": supplementId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Documents.detail
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
guard let result = YHMyDocumentDetailModel.deserialize(from: dic as? Dictionary) else {
callBackBlock(false,nil)
return
}
self.mainModel = result
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
func requestDocumentsTemporaryUrl(_ supplementId: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["supplement_id": supplementId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Documents.temporaryUrl
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
guard let result = YHMyDocumentsUrlModel.deserialize(from: dic as? Dictionary) else {
callBackBlock(false,nil)
return
}
self.urlModel = result
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
}
//
// YHMyDocumentsListViewModel.swift
// galaxy
//
// Created by EDY on 2024/3/15.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHMyDocumentsListViewModel: YHBaseViewModel {
var mainModel: YHMyDocumentsModel?
override init() {
super.init()
}
func requestDocumentsList(_ orderId: String, _ mobile: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["order_id": orderId,
"mobile": mobile]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Documents.list
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
let dic = json.data
guard let result = YHMyDocumentsModel.deserialize(from: dic as? Dictionary) else {
callBackBlock(false,nil)
return
}
self.mainModel = result
callBackBlock(true, nil)
} else {
let error : YHErrorModel = YHErrorModel(errorCode:Int32(json.code), errorMsg: json.msg)
callBackBlock(false, error)
}
} failBlock: { err in
callBackBlock(false, err)
}
}
}
......@@ -109,7 +109,7 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
let section = YHSectionItemModel(title: "主申请人信息", models: [item, item1, item2, item3, item4, item555, item6, item7])
let item8 = YHItemModel(id: .id29, isNeed: true, title: "手机号码", isUserKeyBoard: true, prompts: "请输入", message: mainModel.mobile, isShowPrompts: isShowPrompt, alertMessage:"请输入手机号码")
let item9 = YHItemModel(id: .id30, isNeed: true, title: "电子邮箱", isUserKeyBoard: true, prompts: "请输入", message: mainModel.email, isShowPrompts: isShowPrompt, alertMessage:"请输入电子邮箱")
let item9 = YHItemModel(id: .id30, isNeed: false, title: "电子邮箱", isUserKeyBoard: true, prompts: "请输入", message: mainModel.email, isShowPrompts: isShowPrompt, alertMessage:"请输入电子邮箱")
let section1 = YHSectionItemModel(title: "联系方式", models: [item8, item9])
let item10 = YHItemModel(id: .id31, isNeed: true, title: "是否办理过", isUserKeyBoard: false, prompts: nil, message: "\(mainModel.has_hk_id )", leftButtonString: "是", rightButtonString: "否", isShowPrompts: isShowPrompt, alertMessage:"请选择")
......@@ -509,7 +509,6 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
guard birthday.count > 0 else { return false }
guard sex > 0 else { return false }
guard email.count > 0 else { return false }
guard mobile.count > 0 else { return false }
if birth_place_aboard == 1 {
guard birth_place_foreign.count > 0 else { return false }
} else {
......
......@@ -31,8 +31,10 @@ class YHResultBottomView: UIView {
button.backgroundColor = UIColor(hex: 0x2274ee)
button.contentHorizontalAlignment = .center
button.setTitle("开始识别", for: .normal)
button.setImage(UIImage(named: "image_scan"), for: .normal)
button.setTitleColor(UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = kCornerRadius6
button.iconInLeft(spacing: 6)
button.clipsToBounds = true
button.addTarget(self, action: #selector(goNext), for: .touchUpInside)
return button
......
......@@ -154,20 +154,20 @@ extension YHServiceCenterMainViewModel {
model3.isFinished = true
arrContactStausItmes.append(model3)
if resultModel.my_document {
// if resultModel.my_document {
//我的文书
let model4 = YHContactMainItemStatusModel()
model4.type = 4
model4.isFinished = true
arrContactStausItmes.append(model4)
}
// }
if resultModel.my_signature {
// if resultModel.my_signature {
let model5 = YHContactMainItemStatusModel()
model5.type = 5
model5.isFinished = true
arrContactStausItmes.append(model5)
}
// }
} else {
let model = YHContactMainItemStatusModel()
......
......@@ -10,13 +10,12 @@ import UIKit
import SmartCodable
struct YHUserModel: SmartCodable {
var yhId: String?
var userid: Int?
var nickname: String?
var brand: String?
var os: String?
var ip: String?
var imei: String?
var channel: String?
var token: String? // 暂无token
var mobile: String?
var headpic: String?
var sex: Int?
var token: String?
}
......@@ -12,7 +12,6 @@ class YHLoginManager: NSObject {
static let shared = YHLoginManager()
var userModel: YHUserModel?
private override init() {}
func isLogin() -> Bool {
......
......@@ -189,4 +189,14 @@ class YHAllApiName {
// 获取签署状态
static let callBack = "infoflow/sign/check-is-complete"
}
struct Documents {
// 文书列表
static let list = "infoflow/my-doc/doc-list"
// 文书详情
static let detail = "infoflow/my-doc/doc-details"
// 腾讯文档编辑
static let temporaryUrl = "infoflow/my-doc/get_temporaryUrl"
}
}
{
"images" : [
{
"idiom" : "universal",
"scale" : "1x"
},
{
"filename" : "image_scan@2x.png",
"idiom" : "universal",
"scale" : "2x"
},
{
"filename" : "image_scan@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