Commit 8ee34cbc authored by pete谢兆麟's avatar pete谢兆麟

我的签字

parent e5ad4984
...@@ -18,6 +18,12 @@ ...@@ -18,6 +18,12 @@
0411CEF32D153FB700644D35 /* YHGCWorkExperienceViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEF22D153FB700644D35 /* YHGCWorkExperienceViewModel.swift */; }; 0411CEF32D153FB700644D35 /* YHGCWorkExperienceViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEF22D153FB700644D35 /* YHGCWorkExperienceViewModel.swift */; };
0411CEF52D1548AF00644D35 /* YHGCWorkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEF42D1548AF00644D35 /* YHGCWorkModel.swift */; }; 0411CEF52D1548AF00644D35 /* YHGCWorkModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEF42D1548AF00644D35 /* YHGCWorkModel.swift */; };
0411CEF72D15525400644D35 /* YHGCWorkExperienceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEF62D15525400644D35 /* YHGCWorkExperienceModel.swift */; }; 0411CEF72D15525400644D35 /* YHGCWorkExperienceModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEF62D15525400644D35 /* YHGCWorkExperienceModel.swift */; };
0411CEFE2D1A7FFD00644D35 /* YHGCMySignatureListViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEFD2D1A7FFD00644D35 /* YHGCMySignatureListViewController.swift */; };
0411CF002D1A805A00644D35 /* YHGCMySignatureListViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CEFF2D1A805A00644D35 /* YHGCMySignatureListViewModel.swift */; };
0411CF022D1A80F500644D35 /* YHGCMySignatureDetailViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CF012D1A80F500644D35 /* YHGCMySignatureDetailViewController.swift */; };
0411CF042D1A815100644D35 /* YHGCMySignatureDetailViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CF032D1A815100644D35 /* YHGCMySignatureDetailViewModel.swift */; };
0411CF062D1A88EA00644D35 /* YHGCDocListCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CF052D1A88EA00644D35 /* YHGCDocListCell.swift */; };
0411CF082D1A896800644D35 /* YHGCMySignatureListModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0411CF072D1A896800644D35 /* YHGCMySignatureListModel.swift */; };
04307B662D1942F500ED8E8D /* YHDynamicSheetPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04307B652D1942F500ED8E8D /* YHDynamicSheetPickerView.swift */; }; 04307B662D1942F500ED8E8D /* YHDynamicSheetPickerView.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04307B652D1942F500ED8E8D /* YHDynamicSheetPickerView.swift */; };
045C0F7F2D12CA5F00BD2DC0 /* submit_page_scroll.gif in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F4F2D12CA5E00BD2DC0 /* submit_page_scroll.gif */; }; 045C0F7F2D12CA5F00BD2DC0 /* submit_page_scroll.gif in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F4F2D12CA5E00BD2DC0 /* submit_page_scroll.gif */; };
045C0F802D12CA5F00BD2DC0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F762D12CA5E00BD2DC0 /* Localizable.xcstrings */; }; 045C0F802D12CA5F00BD2DC0 /* Localizable.xcstrings in Resources */ = {isa = PBXBuildFile; fileRef = 045C0F762D12CA5E00BD2DC0 /* Localizable.xcstrings */; };
...@@ -1187,6 +1193,12 @@ ...@@ -1187,6 +1193,12 @@
0411CEF22D153FB700644D35 /* YHGCWorkExperienceViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCWorkExperienceViewModel.swift; sourceTree = "<group>"; }; 0411CEF22D153FB700644D35 /* YHGCWorkExperienceViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCWorkExperienceViewModel.swift; sourceTree = "<group>"; };
0411CEF42D1548AF00644D35 /* YHGCWorkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCWorkModel.swift; sourceTree = "<group>"; }; 0411CEF42D1548AF00644D35 /* YHGCWorkModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCWorkModel.swift; sourceTree = "<group>"; };
0411CEF62D15525400644D35 /* YHGCWorkExperienceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCWorkExperienceModel.swift; sourceTree = "<group>"; }; 0411CEF62D15525400644D35 /* YHGCWorkExperienceModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCWorkExperienceModel.swift; sourceTree = "<group>"; };
0411CEFD2D1A7FFD00644D35 /* YHGCMySignatureListViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMySignatureListViewController.swift; sourceTree = "<group>"; };
0411CEFF2D1A805A00644D35 /* YHGCMySignatureListViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMySignatureListViewModel.swift; sourceTree = "<group>"; };
0411CF012D1A80F500644D35 /* YHGCMySignatureDetailViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMySignatureDetailViewController.swift; sourceTree = "<group>"; };
0411CF032D1A815100644D35 /* YHGCMySignatureDetailViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMySignatureDetailViewModel.swift; sourceTree = "<group>"; };
0411CF052D1A88EA00644D35 /* YHGCDocListCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCDocListCell.swift; sourceTree = "<group>"; };
0411CF072D1A896800644D35 /* YHGCMySignatureListModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMySignatureListModel.swift; sourceTree = "<group>"; };
04307B652D1942F500ED8E8D /* YHDynamicSheetPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDynamicSheetPickerView.swift; sourceTree = "<group>"; }; 04307B652D1942F500ED8E8D /* YHDynamicSheetPickerView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHDynamicSheetPickerView.swift; sourceTree = "<group>"; };
045C09A12D12C2A800BD2DC0 /* YHGCMineSchemeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMineSchemeViewController.swift; sourceTree = "<group>"; }; 045C09A12D12C2A800BD2DC0 /* YHGCMineSchemeViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHGCMineSchemeViewController.swift; sourceTree = "<group>"; };
045C0A142D12CA5E00BD2DC0 /* YHBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; }; 045C0A142D12CA5E00BD2DC0 /* YHBaseViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = YHBaseViewController.swift; sourceTree = "<group>"; };
...@@ -2439,6 +2451,51 @@ ...@@ -2439,6 +2451,51 @@
path = M; path = M;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
0411CEF82D1A7F9D00644D35 /* MySignature(我的签字) */ = {
isa = PBXGroup;
children = (
0411CEFC2D1A7FDD00644D35 /* V */,
0411CEFB2D1A7FD500644D35 /* M */,
0411CEFA2D1A7FCE00644D35 /* C */,
0411CEF92D1A7FC100644D35 /* VM */,
);
path = "MySignature(我的签字)";
sourceTree = "<group>";
};
0411CEF92D1A7FC100644D35 /* VM */ = {
isa = PBXGroup;
children = (
0411CEFF2D1A805A00644D35 /* YHGCMySignatureListViewModel.swift */,
0411CF032D1A815100644D35 /* YHGCMySignatureDetailViewModel.swift */,
);
path = VM;
sourceTree = "<group>";
};
0411CEFA2D1A7FCE00644D35 /* C */ = {
isa = PBXGroup;
children = (
0411CEFD2D1A7FFD00644D35 /* YHGCMySignatureListViewController.swift */,
0411CF012D1A80F500644D35 /* YHGCMySignatureDetailViewController.swift */,
);
path = C;
sourceTree = "<group>";
};
0411CEFB2D1A7FD500644D35 /* M */ = {
isa = PBXGroup;
children = (
0411CF072D1A896800644D35 /* YHGCMySignatureListModel.swift */,
);
path = M;
sourceTree = "<group>";
};
0411CEFC2D1A7FDD00644D35 /* V */ = {
isa = PBXGroup;
children = (
0411CF052D1A88EA00644D35 /* YHGCDocListCell.swift */,
);
path = V;
sourceTree = "<group>";
};
045C0A182D12CA5E00BD2DC0 /* C */ = { 045C0A182D12CA5E00BD2DC0 /* C */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -6080,6 +6137,7 @@ ...@@ -6080,6 +6137,7 @@
04AE200E2D12CFAF00891D24 /* TTPS(高才) */ = { 04AE200E2D12CFAF00891D24 /* TTPS(高才) */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
0411CEF82D1A7F9D00644D35 /* MySignature(我的签字) */,
04AE20572D19448800891D24 /* FileList(文件清单) */, 04AE20572D19448800891D24 /* FileList(文件清单) */,
04AE20442D1940C700891D24 /* MyCertificates(我的证书) */, 04AE20442D1940C700891D24 /* MyCertificates(我的证书) */,
04AE1FFC2D12CFAF00891D24 /* MyScheme(我的方案) */, 04AE1FFC2D12CFAF00891D24 /* MyScheme(我的方案) */,
...@@ -6668,9 +6726,11 @@ ...@@ -6668,9 +6726,11 @@
045C101B2D12CA5F00BD2DC0 /* YHLoginOneLeadView.swift in Sources */, 045C101B2D12CA5F00BD2DC0 /* YHLoginOneLeadView.swift in Sources */,
0411CEE22D14014000644D35 /* YHGCMainInformationCardTableViewCell.swift in Sources */, 0411CEE22D14014000644D35 /* YHGCMainInformationCardTableViewCell.swift in Sources */,
045C101C2D12CA5F00BD2DC0 /* YHCollectionViewLeftAlignedFlowLayout.swift in Sources */, 045C101C2D12CA5F00BD2DC0 /* YHCollectionViewLeftAlignedFlowLayout.swift in Sources */,
0411CF082D1A896800644D35 /* YHGCMySignatureListModel.swift in Sources */,
045C101D2D12CA5F00BD2DC0 /* YHHUDProgressView.swift in Sources */, 045C101D2D12CA5F00BD2DC0 /* YHHUDProgressView.swift in Sources */,
045C101E2D12CA5F00BD2DC0 /* YHFailPromptView.swift in Sources */, 045C101E2D12CA5F00BD2DC0 /* YHFailPromptView.swift in Sources */,
045C101F2D12CA5F00BD2DC0 /* YHBasePlayerViewController.swift in Sources */, 045C101F2D12CA5F00BD2DC0 /* YHBasePlayerViewController.swift in Sources */,
0411CEFE2D1A7FFD00644D35 /* YHGCMySignatureListViewController.swift in Sources */,
045C10202D12CA5F00BD2DC0 /* YHSelectLookHeadView.swift in Sources */, 045C10202D12CA5F00BD2DC0 /* YHSelectLookHeadView.swift in Sources */,
045C10212D12CA5F00BD2DC0 /* YHHomeWebViewController.swift in Sources */, 045C10212D12CA5F00BD2DC0 /* YHHomeWebViewController.swift in Sources */,
045C10222D12CA5F00BD2DC0 /* YHMyFileListViewController.swift in Sources */, 045C10222D12CA5F00BD2DC0 /* YHMyFileListViewController.swift in Sources */,
...@@ -6781,6 +6841,7 @@ ...@@ -6781,6 +6841,7 @@
04AE20172D12CFAF00891D24 /* YHGCSchemeTableHeadView.swift in Sources */, 04AE20172D12CFAF00891D24 /* YHGCSchemeTableHeadView.swift in Sources */,
04AE20182D12CFAF00891D24 /* YHGCApplicationModel.swift in Sources */, 04AE20182D12CFAF00891D24 /* YHGCApplicationModel.swift in Sources */,
04AE20192D12CFAF00891D24 /* YHGCApplicationTypeResponseModel.swift in Sources */, 04AE20192D12CFAF00891D24 /* YHGCApplicationTypeResponseModel.swift in Sources */,
0411CF022D1A80F500644D35 /* YHGCMySignatureDetailViewController.swift in Sources */,
045C10822D12CA5F00BD2DC0 /* YHHKPlanCell.swift in Sources */, 045C10822D12CA5F00BD2DC0 /* YHHKPlanCell.swift in Sources */,
045C10832D12CA5F00BD2DC0 /* YHAdopterIncomeViewModel.swift in Sources */, 045C10832D12CA5F00BD2DC0 /* YHAdopterIncomeViewModel.swift in Sources */,
045C10842D12CA5F00BD2DC0 /* YHResignAppointMember.swift in Sources */, 045C10842D12CA5F00BD2DC0 /* YHResignAppointMember.swift in Sources */,
...@@ -6794,6 +6855,7 @@ ...@@ -6794,6 +6855,7 @@
045C108C2D12CA5F00BD2DC0 /* YHActivityDetailCell0.swift in Sources */, 045C108C2D12CA5F00BD2DC0 /* YHActivityDetailCell0.swift in Sources */,
0411CEF12D153F6300644D35 /* YHGCWorkExperienceViewController.swift in Sources */, 0411CEF12D153F6300644D35 /* YHGCWorkExperienceViewController.swift in Sources */,
045C108D2D12CA5F00BD2DC0 /* YHSelectApplicantCell.swift in Sources */, 045C108D2D12CA5F00BD2DC0 /* YHSelectApplicantCell.swift in Sources */,
0411CF042D1A815100644D35 /* YHGCMySignatureDetailViewModel.swift in Sources */,
045C108E2D12CA5F00BD2DC0 /* YHNameCardViewController.swift in Sources */, 045C108E2D12CA5F00BD2DC0 /* YHNameCardViewController.swift in Sources */,
045C108F2D12CA5F00BD2DC0 /* YHFamilyMemberInfoListVC.swift in Sources */, 045C108F2D12CA5F00BD2DC0 /* YHFamilyMemberInfoListVC.swift in Sources */,
045C10902D12CA5F00BD2DC0 /* YHHKEventWebViewController.swift in Sources */, 045C10902D12CA5F00BD2DC0 /* YHHKEventWebViewController.swift in Sources */,
...@@ -7317,6 +7379,7 @@ ...@@ -7317,6 +7379,7 @@
045C12872D12CA5F00BD2DC0 /* YHStatusAdvantageVC.swift in Sources */, 045C12872D12CA5F00BD2DC0 /* YHStatusAdvantageVC.swift in Sources */,
045C12882D12CA5F00BD2DC0 /* YHHKPlanDoctumentVC.swift in Sources */, 045C12882D12CA5F00BD2DC0 /* YHHKPlanDoctumentVC.swift in Sources */,
045C12892D12CA5F00BD2DC0 /* YHHomeHeadView.swift in Sources */, 045C12892D12CA5F00BD2DC0 /* YHHomeHeadView.swift in Sources */,
0411CF062D1A88EA00644D35 /* YHGCDocListCell.swift in Sources */,
045C128A2D12CA5F00BD2DC0 /* YHAITextInputView.swift in Sources */, 045C128A2D12CA5F00BD2DC0 /* YHAITextInputView.swift in Sources */,
045C128B2D12CA5F00BD2DC0 /* YHWorkExpDataModel.swift in Sources */, 045C128B2D12CA5F00BD2DC0 /* YHWorkExpDataModel.swift in Sources */,
045C128C2D12CA5F00BD2DC0 /* YHSearchInfoBar.swift in Sources */, 045C128C2D12CA5F00BD2DC0 /* YHSearchInfoBar.swift in Sources */,
...@@ -7529,6 +7592,7 @@ ...@@ -7529,6 +7592,7 @@
045C13562D12CA5F00BD2DC0 /* YHOtherPickerView.swift in Sources */, 045C13562D12CA5F00BD2DC0 /* YHOtherPickerView.swift in Sources */,
045C13572D12CA5F00BD2DC0 /* YHLivePlayerViewController.swift in Sources */, 045C13572D12CA5F00BD2DC0 /* YHLivePlayerViewController.swift in Sources */,
045C13582D12CA5F00BD2DC0 /* YHAIChatInputShadowView.swift in Sources */, 045C13582D12CA5F00BD2DC0 /* YHAIChatInputShadowView.swift in Sources */,
0411CF002D1A805A00644D35 /* YHGCMySignatureListViewModel.swift in Sources */,
045C13592D12CA5F00BD2DC0 /* YHMyFileListNoneCell.swift in Sources */, 045C13592D12CA5F00BD2DC0 /* YHMyFileListNoneCell.swift in Sources */,
045C135A2D12CA5F00BD2DC0 /* YHCardButton.swift in Sources */, 045C135A2D12CA5F00BD2DC0 /* YHCardButton.swift in Sources */,
045C135B2D12CA5F00BD2DC0 /* YHAdopterIncomeTitleTableViewCell.swift in Sources */, 045C135B2D12CA5F00BD2DC0 /* YHAdopterIncomeTitleTableViewCell.swift in Sources */,
......
...@@ -292,6 +292,9 @@ class YHServiceOrderListViewController: YHBaseViewController { ...@@ -292,6 +292,9 @@ class YHServiceOrderListViewController: YHBaseViewController {
} else if type == 204 { } else if type == 204 {
//高才我的签字 //高才我的签字
let vc = YHGCMySignatureListViewController()
vc.orderId = orderId
UIViewController.current?.navigationController?.pushViewController(vc)
} }
} }
} }
...@@ -526,9 +529,9 @@ extension YHServiceOrderListViewController : UITableViewDelegate,UITableViewData ...@@ -526,9 +529,9 @@ extension YHServiceOrderListViewController : UITableViewDelegate,UITableViewData
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) { func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
let model = self.arrDataForSeviceCenterProgress[indexPath.row] let model = self.arrDataForSeviceCenterProgress[indexPath.row]
if model.status == 1 || model.status == 4 { // if model.status == 1 || model.status == 4 {
return // return
} else { // } else {
YHServiceOrderListViewController.jumpToMessageController(type: model.type, orderId: orderID, stepID,productType: productInfoMode.product_type) YHServiceOrderListViewController.jumpToMessageController(type: model.type, orderId: orderID, stepID,productType: productInfoMode.product_type)
if model.type == 3 { if model.type == 3 {
//我的评分 //我的评分
...@@ -537,7 +540,7 @@ extension YHServiceOrderListViewController : UITableViewDelegate,UITableViewData ...@@ -537,7 +540,7 @@ extension YHServiceOrderListViewController : UITableViewDelegate,UITableViewData
//我的方案 //我的方案
handleRedPointFor(key: kMyPlanRedPointInfoKey, model: model) handleRedPointFor(key: kMyPlanRedPointInfoKey, model: model)
} }
} // }
} }
func handleRedPointFor(key: String, model: YHServiceCenterProgressModel) { func handleRedPointFor(key: String, model: YHServiceCenterProgressModel) {
......
...@@ -56,7 +56,7 @@ class YHMyDocListHeaderView: UIView { ...@@ -56,7 +56,7 @@ class YHMyDocListHeaderView: UIView {
fatalError("init(coder:) has not been implemented") fatalError("init(coder:) has not been implemented")
} }
private lazy var titleLable : UILabel = { lazy var titleLable : UILabel = {
let lable0 = UILabel(text: "您好,尊敬的客户") let lable0 = UILabel(text: "您好,尊敬的客户")
lable0.textColor = UIColor.mainTextColor lable0.textColor = UIColor.mainTextColor
lable0.font = UIFont.PFSC_M(ofSize: 21) lable0.font = UIFont.PFSC_M(ofSize: 21)
......
//
// YHGCMySignatureDetailViewController.swift
// galaxy
//
// Created by EDY on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import IQKeyboardManagerSwift
import SafariServices
class YHGCMySignatureDetailViewController: YHBaseViewController {
var bottomView: UIView!
var bottomButton: UIButton!
var tableView: UITableView!
var promptView: YHFailPromptView!
var dataSource: [YHWorkItemListModel]?
var viewModel: YHGCMySignatureDetailViewModel!
var id: Int = 0
var oldUrl: String?
var type: Int = 0
var isSign: Bool = false
var isAuth: Bool = true //小程序分享字段
var orderID: Int = 0
lazy var previewFileTool:YHFilePreviewTool = {
let tool = YHFilePreviewTool(targetVC: self)
return tool
}()
lazy var blackMaskView: UIView = {
let view = UIView(frame:UIScreen.main.bounds)
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissed))
view.addGestureRecognizer(tap)
view.isHidden = true
return view
}()
lazy var emailInputView: YHEmailInputAlertView = {
let view = YHEmailInputAlertView.emailInputView(defalutText: "请输入邮箱")
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
viewModel = YHGCMySignatureDetailViewModel()
gk_navTitle = "文书操作"
gk_navBackgroundColor = .white
gk_navBarAlpha = 1
setView()
getData()
// Do any additional setup after loading the view.
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
viewModel.requestSignBack("\(id)") {[weak self] success, error in
guard let self = self else { return }
self.getData()
}
viewModel.requestCheckPersonalStatus("\(id)")
getData()
}
func getData() {
viewModel.requestSignatureDetail("\(id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if success {
let state = self.viewModel.mainModel?.status ?? 0
// 0-待上传,1-未发送, 2-发送中,3-已发送,4-已签收,5-审核通过,6-驳回
self.type = state
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
self.checkSign()
})
}
func checkSign() {
viewModel?.requestSignCallBack("\(self.id)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
self.isSign = success
let state = self.type
if state == 0 || state == 1 || state == 2 || state == 3 {
self.promptView.isHidden = true
self.bottomButton.isEnabled = true
self.bottomView.isHidden = false
self.bottomButton.alpha = 1
self.bottomButton.setTitle("确定已签章,提交", for: .normal)
if self.type == 3 && self.viewModel.mainModel?.doc_return_manual.count == 0 && !success {
self.bottomButton.isEnabled = false
self.bottomButton.alpha = 0.4
}
} else if state == 4 {
self.promptView.isHidden = true
self.bottomButton.isEnabled = false
self.bottomView.isHidden = false
self.bottomButton.alpha = 0.4
self.bottomButton.setTitle("提交成功", for: .normal)
} else if state == 5 {
self.promptView.isHidden = true
self.bottomView.isHidden = true
self.bottomButton.isEnabled = true
self.bottomButton.alpha = 1
self.bottomButton.setTitle("确定已签章,提交", for: .normal)
} else {
self.promptView.isHidden = false
self.promptView.setPrompt(self.viewModel.mainModel?.audit_opinion ?? "")
self.bottomButton.isEnabled = true
self.bottomView.isHidden = false
self.bottomButton.alpha = 1
self.bottomButton.setTitle("确定已签章,提交", for: .normal)
let height = self.getPromptHeight(self.viewModel.mainModel?.audit_opinion ?? "")
self.promptView.snp.remakeConstraints { make in
make.height.equalTo(height)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64)
make.left.right.equalTo(self.view)
}
}
self.tableView.reloadData()
})
}
func getPromptHeight(_ value: String) -> CGFloat {
let text = "驳回原因:" + value // 要显示的文本内容
let font = UIFont.PFSC_R(ofSize: 12) // 字体大小
let maxWidth = KScreenWidth - 74 // 最大宽度限制
// 创建NSAttributedString对象并设置属性
let attributes = [NSAttributedString.Key.font : font] as [NSAttributedString.Key : Any]
_ = NSMutableAttributedString(string: text, attributes: attributes)
// 根据指定的最大宽度和字体大小计算文本的高度
let size = (text as NSString).boundingRect(with: CGSize(width: maxWidth, height: .greatestFiniteMagnitude), options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size
return size.height + 15
}
func updateDataSource() {
self.tableView.reloadData()
}
func setView() {
addKeyBoardNotify()
view.backgroundColor = .contentBkgColor
tableView = {
let tableView = UITableView(frame:.zero, style:.grouped)
if #available(iOS 11.0, *) {
tableView.contentInsetAdjustmentBehavior = .never
}
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHDocumentPromptTableViewCell.self)
tableView.register(cellWithClass: YHSignatureToActionTableViewCell.self)
tableView.register(cellWithClass: YHSignatureUploadTableViewCell.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)
}
promptView = {
let view = YHFailPromptView()
view.isHidden = true
return view
}()
view.addSubview(promptView)
promptView.snp.makeConstraints { make in
make.height.equalTo(35)
make.bottom.equalTo(-k_Height_safeAreaInsetsBottom() - 64)
make.left.right.equalTo(view)
}
bottomView = {
let bottom = UIView()
bottom.backgroundColor = .white
bottom.isHidden = true
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.titleLabel?.font = UIFont.PFSC_M(ofSize: 16)
button.contentHorizontalAlignment = .center
button.setTitle("确定已签章,提交", for: .normal)
button.setTitleColor( UIColor(hex:0xffffff), for: .normal)
button.layer.cornerRadius = kCornerRadius3
button.clipsToBounds = true
button.alpha = 0
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)
}
view.addSubview(blackMaskView)
view.addSubview(emailInputView)
emailInputView.snp.makeConstraints { make in
make.left.right.equalTo(view)
make.height.equalTo(YHEmailInputAlertView.height)
make.bottom.equalToSuperview().offset(YHEmailInputAlertView.height)
}
emailInputView.editBlock = {
[weak self] text in
guard let self = self else { return }
if let text = text {
YHCheckEamilAlertView.show(nil,text, "取消", "确认") {
//进行
//发送接口
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":[self.id],"email":text]
self.viewModel?.sendEmailForDocs(params, callBackBlock: { success, error in
YHHUD.hide()
if success {
YHHUD.flash(message: "已发送至邮箱")
} else {
let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg)
}
})
} else {
YHHUD.flash(message: "订单ID 为空")
}
}
}
}
bottomButton.layoutIfNeeded()
bottomButton.addYinHeGradualLayer()
}
@objc func dismissed() {
emailInputView.textField.resignFirstResponder()
}
@objc func submit() {
viewModel.requestSignConfirm("\(self.id)") {[weak self] success, error in
guard let self = self else { return }
if success {
self.getData()
YHHUD.flash(message: "提交成功")
} else {
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
YHHUD.flash(message: errorMsg)
}
}
}
}
func uploadFile(_ fileUrl:URL) {
if let fileData = try? Data(contentsOf: fileUrl) {
// 将文件数据上传到服务器
let size = String(format: "%.2fM", Double(fileData.count)/(1024.0 * 1024.0))
// print("\(size)")
// 先OSS上传得到URL
YHHUD.show(.progress(message: "上传中..."))
self.viewModel.uploadFile(fileUrl.absoluteString) {
[weak self] successUrl, error in
YHHUD.hide()
guard let self = self else { return }
// 再调用业务接口
if let successUrl = successUrl, !successUrl.isEmpty {
var fileName = fileUrl.lastPathComponent
if fileName.isEmpty {
fileName = successUrl.lastPathComponent
}
let suffixName = successUrl.pathExtension.lowercased()
let model = YHContentUrl()
model.name = fileName
model.url = successUrl
model.suffix = suffixName
// YHHUD.show(.progress(message: "上传中..."))
var action = 1
if self.oldUrl?.count != 0 {
action = 2
}
self.viewModel.requestFileAction("\(self.id)", action, [successUrl], self.oldUrl ?? "") {[weak self] success, error in
guard let self = self else { return }
// YHHUD.hide()
if success {
YHHUD.flash(message: "上传成功")
} else {
var msg = "上传失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message:msg)
}
self.getData()
}
return
}
var msg = "上传图片失败"
if let errorMsg = error?.errorMsg, !errorMsg.isEmpty {
msg = errorMsg
}
YHHUD.flash(message: msg)
}
} else {
YHHUD.flash(message: "识别文件失败")
}
}
func uploadImage(_ img: UIImage, imageName:String, callBack:((Bool, String)->())?) {
// 先OSS上传得到URL
self.viewModel.uploadImage(img) {
[weak self] url, error in
guard self != nil else { return }
if let url = url, !url.isEmpty {
callBack?(true, url)
return
}
callBack?(false, "")
}
}
func getMiniPath() -> String {
var isAuthString = ""
if isAuth {
isAuthString = "true"
} else {
isAuthString = "false"
}
let path = "/serviceHousekeeper/pages/documentEdit/documentEdit?id=\(self.id)&docType=sign&signId=\(self.id)&auth=\(isAuthString)&order_id=\(orderID)&source_from=app"
return path
}
deinit {
removeNotify()
}
}
extension YHGCMySignatureDetailViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 3
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if indexPath.row == 0 {
let cell = tableView.dequeueReusableCell(withClass: YHDocumentPromptTableViewCell.self)
cell.type = self.viewModel.mainModel?.doc_type ?? 0
cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear
return cell
} else if indexPath.row == 1 {
let cell = tableView.dequeueReusableCell(withClass: YHSignatureToActionTableViewCell.self)
cell.dataSource = self.viewModel.mainModel
cell.isSign = self.isSign
cell.miniPath = getMiniPath()
if self.type == 5 || self.type == 4 {
cell.isSign = true
}
cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear
cell.block = { [weak self] type in
guard let self = self else { return }
if type == .sign {
if self.isSign {
YHHUD.show(.progress(message: ""))
self.viewModel.requestSignatureLook("\(self.id)") {[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
if success {
let url = URL(string: self.viewModel.pageUrl) ?? URL(fileURLWithPath: "")
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.delegate = self
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
}
} else {
YHHUD.show(.progress(message: ""))
self.viewModel.requestSignaturePageURL("\(self.id)", callBackBlock: {[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
if error?.errorCode == 1008611 {
YHCommonAlertView.show("实名认证", "为保证签署有效,请先实名认证", "取消", "去认证") {
self.viewModel.requestSignaturePersonalURL(callBackBlock: {[weak self] success, error in
guard let self = self else { return }
let url = URL(string: self.viewModel.personalUrl) ?? URL(fileURLWithPath: "")
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.delegate = self
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
})
}
} else if error?.errorCode == 1008612 {
YHSignAppendStepView.show {[weak self] name, phone in
guard let self = self else { return }
self.viewModel.requestSignaturePersonalWithNameAndPhoneURL(name: name, phone: phone, callBackBlock: {[weak self] success, error in
guard let self = self else { return }
let url = URL(string: self.viewModel.personalUrl) ?? URL(fileURLWithPath: "")
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.delegate = self
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
})
}
} else {
if success ?? false {
let url = URL(string: self.viewModel.pageUrl) ?? URL(fileURLWithPath: "")
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.delegate = self
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
}
})
}
}
if type == .look {
YHHUD.show(.progress(message: ""))
self.viewModel.requestSignatureLook("\(self.id)") {[weak self] success, error in
YHHUD.hide()
guard let self = self else { return }
if success {
let url = URL(string: self.viewModel.pageUrl) ?? URL(fileURLWithPath: "")
let safariViewController = SFSafariViewController(url: url)
safariViewController.dismissButtonStyle = .close
safariViewController.delegate = self
safariViewController.modalPresentationStyle = .fullScreen
present(safariViewController, animated: true, completion: nil)
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
}
}
if type == .downLoad {
//弹窗 选择发送邮箱
let items = [YHCertificateEditItem(type:.sendEmail, title:"发送至邮箱"),
YHCertificateEditItem(type:.cancel, title:"取消")]
YHCertificateEditSheetView.sheetView(items:items,sheetTitle: "请选择下载方式") {
[weak self] editType in
guard let self = self else { return }
IQKeyboardManager.shared.isEnabled = false
if editType == .sendEmail {
emailInputView.textField.text = ""
emailInputView.textField.becomeFirstResponder()
}
}.show()
}
}
return cell
} else {
let cell = tableView.dequeueReusableCell(withClass: YHSignatureUploadTableViewCell.self)
cell.type = self.type
cell.dataSource = self.viewModel.mainModel
cell.backgroundColor = .clear
cell.contentView.backgroundColor = .clear
cell.block = { [weak self] type, index in
guard let self = self else { return }
if type == .upload {
self.oldUrl = ""
let count = self.viewModel.mainModel?.doc_return_manual.count ?? 0
if count >= 10 {
YHHUD.flash(message: "最多上传10个图片或文件")
return
}
var maxCount = 10 - count
if maxCount > 9 {
maxCount = 9
}
let sheetView = YHDocumentUploadView.sheetView()
sheetView.maxSelectCount = maxCount
sheetView.uploadFilesBlock = {
[weak self] fileUrl in
guard let self = self else { return }
print(fileUrl)
uploadFile(fileUrl)
}
sheetView.uploadImageBlock = {
[weak self] imgArr in
guard let self = self else { return }
let group = DispatchGroup()
var successArr:[String] = []
var failArr:[YHSelectImageItem] = []
YHHUD.show(.progress(message: "上传中..."))
for item in imgArr {
if let image = item.data {
group.enter()
uploadImage(image, imageName:item.name) {
success, url in
if success {
successArr.append(url)
} else {
failArr.append(item)
}
group.leave()
}
}
}
// 等待所有任务完成
group.notify(queue: .main) {
YHHUD.hide()
// 所有任务完成,回到主线程继续执行
print("所有任务完成")
if imgArr.count == successArr.count {
YHHUD.flash(message: "上传成功")
} else {
YHHUD.flash(message: "\(successArr.count)张照片上传成功\n\(failArr.count)张照片上传失败")
}
var action = 1
if self.oldUrl?.count != 0 {
action = 2
}
//sleep(1) 后端性能问题 不能并发调用接口
self.viewModel.requestFileAction("\(self.id)", action, successArr, self.oldUrl ?? "") {[weak self] success, error in
guard let self = self else { return }
self.getData()
}
}
}
sheetView.show()
}
if type == .reUpload {
self.oldUrl = self.viewModel.mainModel?.doc_return_manual[index]
let count = self.viewModel.mainModel?.doc_return_manual.count ?? 0
var maxCount = 10 - count
if maxCount > 9 {
maxCount = 9
}
let sheetView = YHDocumentUploadView.sheetView()
sheetView.maxSelectCount = 9
sheetView.uploadFilesBlock = {
[weak self] fileUrl in
guard let self = self else { return }
print(fileUrl)
uploadFile(fileUrl)
}
sheetView.uploadImageBlock = {
[weak self] imgArr in
guard let self = self else { return }
let group = DispatchGroup()
var successArr:[String] = []
var failArr:[YHSelectImageItem] = []
YHHUD.show(.progress(message: "上传中..."))
for item in imgArr {
if let image = item.data {
group.enter()
uploadImage(image, imageName:item.name) {
success, url in
if success {
successArr.append(url)
} else {
failArr.append(item)
}
group.leave()
}
}
}
// 等待所有任务完成
group.notify(queue: .main) {
YHHUD.hide()
// 所有任务完成,回到主线程继续执行
print("所有任务完成")
if imgArr.count == successArr.count {
YHHUD.flash(message: "上传成功")
} else {
YHHUD.flash(message: "\(successArr.count)张照片上传成功\n\(failArr.count)张照片上传失败")
}
var action = 1
if self.oldUrl?.count != 0 {
action = 2
}
self.viewModel.requestFileAction("\(self.id)", action, successArr, self.oldUrl ?? "") {[weak self] success, error in
guard let self = self else { return }
self.getData()
}
}
}
sheetView.show()
}
if type == .look {
YHHUD.show(.progress(message: ""))
self.oldUrl = self.viewModel.mainModel?.doc_return_manual[index]
self.viewModel.getPublicImageUrl(self.oldUrl ?? "") { success, error in
YHHUD.hide()
if let success = success {
self.previewFileTool.openXLSXRemoteFile(urlString: success, fileName: "")
}
}
}
if type == .delete {
self.oldUrl = self.viewModel.mainModel?.doc_return_manual[index]
self.viewModel.requestFileAction("\(self.id)", 3, [], self.oldUrl ?? "") {[weak self] success, error in
guard let self = self else { return }
if success {
YHHUD.flash(message: "删除成功")
} else {
YHHUD.flash(message: error?.errorMsg ?? "")
}
self.getData()
}
}
}
return cell
}
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
if indexPath.row == 0 {
return 104
} else if indexPath.row == 1 {
return 180
} else {
guard let count = self.viewModel.mainModel?.doc_return_manual.count else { return CGFloat(221) }
if self.type == 5 {
return CGFloat(176 + count * 71)
} else {
return CGFloat(221 + count * 71)
}
}
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
}
func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
let view = UIView(frame: CGRect(x: 0, y: 0, width: KScreenWidth, height: 7))
return view
}
func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
return 7
}
func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
return UIView()
}
func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
return 0.01
}
}
extension YHGCMySignatureDetailViewController: SFSafariViewControllerDelegate {
// MARK: 点击左上角的完成
func safariViewControllerDidFinish(_ controller: SFSafariViewController) {
controller.dismiss(animated: true)
viewModel.requestSignBack("\(id)") {[weak self] success, error in
guard let self = self else { return }
self.getData()
}
}
// MARK: 加载完成
func safariViewController(_ controller: SFSafariViewController, didCompleteInitialLoad didLoadSuccessfully: Bool) {
print(#function)
}
// MARK: 点击右下角调用Safari浏览器打开
func safariViewControllerWillOpenInBrowser(_ controller: SFSafariViewController) {
print(#function)
}
}
extension YHGCMySignatureDetailViewController {
func addKeyBoardNotify() {
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
}
func removeNotify() {
NotificationCenter.default.removeObserver(self)
}
@objc func handleKeyboardNotification(_ notification: Notification) {
if notification.userInfo != nil {
guard let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as AnyObject).cgRectValue else {return }
let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification
self.blackMaskView.isHidden = !isKeyboardShow
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileRenameInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.isEnabled = true
}
self.emailInputView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(bottomMargin)
}
self.view.setNeedsLayout()
self.view.layoutIfNeeded()
}
}
}
//
// YHGCMySignatureListViewController.swift
// galaxy
//
// Created by EDY on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import IQKeyboardManagerSwift
class YHGCMySignatureListViewController: YHBaseViewController {
var tableView: UITableView!
lazy var viewModel: YHGCMySignatureListViewModel = {
let mv = YHGCMySignatureListViewModel()
return mv
}()
lazy var viewModel2 : YHMyDocumentsListViewModel = {
let mv = YHMyDocumentsListViewModel()
return mv
}()
var orderId: Int = 0
var mobile: String = ""
var arrIDs : [Int] = []//保存所有下载的id
private var isEditFlag : Bool = false
lazy var headSessionView : YHMyDocListHeaderView = {
let view = YHMyDocListHeaderView()
return view
}()
lazy var bottomView : YHDocListBottomView = {
let view = YHDocListBottomView()
return view
}()
//头部背景图片
lazy var headBkgImagV: UIImageView = {
let imagV = UIImageView()
imagV.image = UIImage(named: "my_doc_head_bkg")
imagV.contentMode = .scaleAspectFill
imagV.clipsToBounds = true
return imagV
}()
lazy var emailInputView: YHEmailInputAlertView = {
let view = YHEmailInputAlertView.emailInputView(defalutText: "请输入邮箱")
return view
}()
lazy var blackMaskView: UIView = {
let view = UIView(frame:UIScreen.main.bounds)
view.backgroundColor = UIColor(hex: 0x0F1214, alpha: 0.5)
let tap = UITapGestureRecognizer(target: self, action: #selector(dismissed))
view.addGestureRecognizer(tap)
view.isHidden = true
return view
}()
override func viewDidLoad() {
super.viewDidLoad()
gk_navTitle = "我的签字"
setView()
getData()
}
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
getData()
}
deinit {
removeNotify()
}
}
extension YHGCMySignatureListViewController {
func getData() {
viewModel.requestSignatureList("\(orderId)", callBackBlock: {[weak self] success, error in
guard let self = self else { return }
if success {
} else {
YHHUD.flash(message: error?.errorMsg ?? "数据获取失败")
}
self.headSessionView.titleLable.text = self.viewModel.mainModel?.top_title
self.headSessionView.canShowDownLoadBtnFlag = true
self.tableView.reloadData()
})
}
func updateDataSource() {
self.tableView.reloadData()
}
func setView() {
addKeyBoardNotify()
//1
view.addSubview(headBkgImagV)
headBkgImagV.snp.makeConstraints { make in
make.top.equalToSuperview()
make.left.right.equalToSuperview()
make.height.equalTo(312)
}
view.addSubview(headSessionView)
headSessionView.snp.makeConstraints { make in
make.top.equalToSuperview().offset(k_Height_NavigationtBarAndStatuBar)
make.left.equalToSuperview().offset(kMargin)
make.right.equalToSuperview().offset(-kMargin)
make.height.equalTo(YHMyDocListHeaderView.viewH)
}
headSessionView.block = { type in
self.updateUIForClickButton(type: type)
self.isEditFlag = type == .downAll ? true : false
guard let model = self.viewModel.mainModel else { return }
for item in model.renewal_manage_docs {
item.isEditFlag = self.isEditFlag
if self.isEditFlag {
item.isSelectedFlag = true
}
}
self.updateBottomViewNumbers()
self.tableView.reloadData()
}
view.addSubview(bottomView)
bottomView.snp.makeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(YHDocListBottomView.viewH)
}
bottomView.isHidden = true
bottomView.block = { (type,flag) in
if type == .downAllCheck {
//todo
self.readyToDownLoad()
} else if type == .allChoice {
guard let model = self.viewModel.mainModel else { return }
var tag = false
if flag {
//全选
tag = true
} else {
//全选 的 反选
tag = false
}
for item in model.renewal_manage_docs {
item.isSelectedFlag = tag
}
self.updateBottomViewNumbers()
}
self.tableView.reloadData()
}
tableView = {
let tableView = UITableView(frame:.zero, style:.plain)
tableView.contentInsetAdjustmentBehavior = .never
tableView.backgroundColor = .clear
tableView.separatorStyle = .none
tableView.delegate = self
tableView.dataSource = self
tableView.register(cellWithClass: YHGCDocListCell.self)
return tableView
}()
view.addSubview(tableView)
tableView.snp.makeConstraints { make in
make.top.equalTo(headSessionView.snp.bottom)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
bottomView.layoutIfNeeded()
bottomView.bottomButton.addYinHeGradualLayer()
view.addSubview(blackMaskView)
view.addSubview(emailInputView)
emailInputView.snp.makeConstraints { make in
make.left.right.equalTo(view)
make.height.equalTo(YHEmailInputAlertView.height)
make.bottom.equalToSuperview().offset(YHEmailInputAlertView.height)
}
emailInputView.editBlock = {
[weak self] text in
guard let self = self else { return }
if let text = text {
YHCheckEamilAlertView.show(nil,text, "取消", "确认") {
//进行
//发送接口
if let orderID = UserDefaults.standard.value(forKey: "orderIdForPreview") {
YHHUD.show(.progress(message: "发送中..."))
let params = ["order_id":orderID,"ids":self.arrIDs,"email":text]
self.viewModel2.sendEmailForDocs(params, callBackBlock: { success, error in
YHHUD.hide()
if success {
YHHUD.flash(message: "已发送至邮箱")
self.headSessionView.clickCancelBtn()
} else {
let msg = error?.errorMsg ?? "发送失败"
YHHUD.flash(message: msg)
}
})
} else {
YHHUD.flash(message: "订单ID 为空")
}
}
}
}
}
@objc func dismissed() {
emailInputView.textField.resignFirstResponder()
}
private func updateUIForClickButton(type : ClickButtonType) {
bottomView.snp.removeConstraints()
tableView.snp.removeConstraints()
if type == .downAll {
bottomView.isHidden = false
bottomView.snp.remakeConstraints { make in
make.bottom.left.right.equalToSuperview()
make.height.equalTo(YHDocListBottomView.viewH)
}
tableView.snp.remakeConstraints { make in
make.top.equalTo(headSessionView.snp.bottom)
make.left.right.equalToSuperview()
make.bottom.equalTo(bottomView.snp.top)
}
gk_navTitle = "批量下载"
} else if type == .cancel {
bottomView.isHidden = true
tableView.snp.remakeConstraints { make in
make.top.equalTo(headSessionView.snp.bottom)
make.left.right.equalToSuperview()
make.bottom.equalToSuperview()
}
gk_navTitle = "我的签字"
} else {
gk_navTitle = "我的签字"
}
}
private func updateBottomViewNumbers() {
guard let dataSource = viewModel.mainModel else { return }
let count = dataSource.renewal_manage_docs.count
var selectedCount : Int = 0
for item in dataSource.renewal_manage_docs {
if item.isSelectedFlag {
selectedCount += 1
}
}
bottomView.updateNumber(allNumber: count, selectedNumber: selectedCount)
}
private func readyToDownLoad() {
guard let dataSource = viewModel.mainModel else {
YHHUD.flash(message: "暂无数据")
return
}
arrIDs.removeAll()
for item in dataSource.renewal_manage_docs {
if item.isSelectedFlag {
arrIDs.append(item.id)
}
}
if arrIDs.isEmpty {
YHHUD.flash(message: "至少选择一个下载项")
return
}
//弹窗 选择发送邮箱
let items = [YHCertificateEditItem(type:.sendEmail, title:"发送至邮箱"),
YHCertificateEditItem(type:.cancel, title:"取消")]
YHCertificateEditSheetView.sheetView(items:items,sheetTitle: "请选择下载方式") {
[weak self] editType in
guard let self = self else { return }
IQKeyboardManager.shared.isEnabled = false
if editType == .sendEmail {
emailInputView.textField.text = ""
emailInputView.textField.becomeFirstResponder()
}
}.show()
}
}
extension YHGCMySignatureListViewController: UITableViewDelegate, UITableViewDataSource {
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return viewModel.mainModel?.renewal_manage_docs.count ?? 0
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withClass: YHGCDocListCell.self)
cell.dataSourceForSign = viewModel.mainModel?.renewal_manage_docs[indexPath.row]
return cell
}
func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
return UITableView.automaticDimension
}
func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
guard let dataSource = viewModel.mainModel else { return }
let model = dataSource.renewal_manage_docs[indexPath.row]
if self.isEditFlag {
//编辑状态下的点击
model.isSelectedFlag = !model.isSelectedFlag
tableView.reloadRows(at: [indexPath], with: UITableView.RowAnimation.none)
updateBottomViewNumbers()
} else {
let vc = YHGCMySignatureDetailViewController()
vc.id = model.id
// vc.isAuth = viewModel.mainModel?.user_info.is_auth ?? true
vc.orderID = orderId
self.navigationController?.pushViewController(vc)
}
}
}
extension YHGCMySignatureListViewController {
func addKeyBoardNotify() {
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillShowNotification, object: nil)
NotificationCenter.default.addObserver(self, selector: #selector(handleKeyboardNotification(_:)), name: UIResponder.keyboardWillHideNotification, object: nil)
}
func removeNotify() {
NotificationCenter.default.removeObserver(self)
}
@objc func handleKeyboardNotification(_ notification: Notification) {
if notification.userInfo != nil {
guard let keyboardFrame = (notification.userInfo?[UIResponder.keyboardFrameEndUserInfoKey] as AnyObject).cgRectValue else {return }
let isKeyboardShow = notification.name == UIResponder.keyboardWillShowNotification
self.blackMaskView.isHidden = !isKeyboardShow
let bottomMargin = (isKeyboardShow ? -keyboardFrame.height : YHFileRenameInputView.height)
if !isKeyboardShow {
IQKeyboardManager.shared.isEnabled = true
}
self.emailInputView.snp.updateConstraints { make in
make.bottom.equalToSuperview().offset(bottomMargin)
}
self.view.setNeedsLayout()
self.view.layoutIfNeeded()
}
}
}
//
// YHGCDocListCell.swift
// galaxy
//
// Created by EDY on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
import SmartCodable
class YHGCMySignatureListModel: SmartCodable {
var renewal_manage_docs: [YHGCMySignatureModel] = []
var top_title: String = ""
required init() {
}
}
class YHGCMySignatureModel: SmartCodable {
var id: Int = 0
var doc_name: String = ""
var doc_type: Int = 0
var doc_type_name: String = ""
var is_upload: Int = 0
var doc_status: Int = 0
var doc_send: String = ""
var contract_lock: Bool = false
var is_second_page: Bool = false
var contract_id: String = ""
var doc_type_label: String = ""
var isEditFlag : Bool = false //是否为编辑状态
var isSelectedFlag : Bool = true //是否被选择 默认全部全部选择
required init() {
}
}
//
// YHGCDocListCell.swift
// galaxy
//
// Created by EDY on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHGCDocListCell: UITableViewCell {
var centerView: UIView = {
let view = UIView()
view.backgroundColor = .white
view.layer.cornerRadius = kCornerRadius6
return view
}()
var titleLabel: UILabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 16)
label.textColor = UIColor.mainTextColor
label.lineBreakMode = .byWordWrapping
label.numberOfLines = 0
return label
}()
var statusLabel: UILabel!
lazy var statusHoldView : UIView = {
let view = UIView()
return view
}()
lazy var checkButton : UIButton = {
let button = UIButton(type: .custom)
button.titleLabel?.font = UIFont.PFSC_R(ofSize: 15)
button.contentHorizontalAlignment = .center
button.setTitleColor(UIColor.mainTextColor, for: .normal)
button.setImage(UIImage(named: "my_doc_check_btn_0"), for: .normal)
button.setImage(UIImage(named: "my_doc_check_btn_1"), for: .selected)
button.isUserInteractionEnabled = false
return button
}()
var dataSourceForSign: YHGCMySignatureModel? {
didSet {
updateAllViewsForSign()
}
}
required init?(coder: NSCoder) {
super.init(coder: coder)
}
override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
selectionStyle = .none
setupUI()
}
func setupUI() {
backgroundColor = .clear
contentView.addSubview(centerView)
centerView.snp.makeConstraints { make in
make.left.equalTo(kMargin)
make.right.equalTo(-kMargin)
make.top.equalTo(14)
make.bottom.equalToSuperview()
}
centerView.addSubview(statusHoldView)
statusHoldView.snp.makeConstraints { make in
make.centerY.equalToSuperview()
make.right.equalTo(-kMargin)
make.height.equalTo(20)
make.width.equalTo(62)
}
let imageV : UIImageView = UIImageView()
imageV.image = UIImage(named: "my_doc_right_arrow")
statusHoldView.addSubview(imageV)
imageV.snp.makeConstraints { make in
make.right.equalToSuperview()
make.centerY.equalToSuperview()
make.width.height.equalTo(kMargin)
}
statusLabel = {
let label = UILabel()
label.font = UIFont.PFSC_M(ofSize: 14)
label.textColor = UIColor.brandMainColor
label.textAlignment = .right
label.text = "待审核"
return label
}()
statusHoldView.addSubview(statusLabel)
statusLabel.snp.makeConstraints { make in
make.right.equalTo(imageV.snp.left).offset(-4)
make.centerY.equalToSuperview()
make.width.equalTo(42)
make.height.equalTo(20)
}
centerView.addSubview(titleLabel)
titleLabel.snp.makeConstraints { make in
make.top.equalTo(22)
make.left.equalTo(21)
make.right.equalTo(-90)
make.bottom.equalTo(-22)
}
centerView.addSubview(checkButton)
checkButton.snp.makeConstraints { make in
make.right.equalToSuperview().offset(-kMargin)
make.centerY.equalToSuperview()
make.width.height.equalTo(kMargin)
}
checkButton.isHidden = true
}
//签字状态
func updateAllViewsForSign() {
guard let dataSource = dataSourceForSign else { return }
titleLabel.text = dataSource.doc_type_name
if dataSource.isEditFlag {
checkButton.isHidden = false
statusHoldView.isHidden = true
checkButton.isSelected = dataSource.isSelectedFlag
} else {
checkButton.isHidden = true
statusHoldView.isHidden = false
/*
statusOpt: {
3: '待签章',
4: '已签章',
5: '已完成',
6: '已驳回'
},
*/
var statusTxt = ""
var color : UIColor = .brandMainColor
let status = dataSource.doc_status
if status == 1003 && dataSource.doc_type == 1001{
statusTxt = "待签章"
color = UIColor.brandMainColor
} else if status == 1003 {
statusTxt = "待签署"
color = UIColor.successColor
} else if status == 1000 || status == 1001 || status == 1002 {
statusTxt = "待补充"
color = UIColor.successColor
} else if status == 1007 {
statusTxt = "已完成"
color = UIColor.labelTextColor2
} else if status == 1005 || status == 1006 {
statusTxt = "审核中"
color = UIColor.failColor
} else {
statusTxt = "--"
color = UIColor.failColor
}
statusLabel.text = statusTxt
statusLabel.textColor = color
}
}
}
//
// YHGCMySignatureDetailViewModel.swift
// galaxy
//
// Created by EDY on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHGCMySignatureDetailViewModel: YHBaseViewModel {
var mainModel: YHMySignatureDetailModel?
var pageUrl: String?
var personalUrl: String?
override init() {
super.init()
}
func requestSignatureDetail(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.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 {
guard let dic = json.data?.peel as? [String : Any], let result = YHMySignatureDetailModel.deserialize(from: dic) 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 requestSignaturePageURL(_ id: String, callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.pageUrl
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
self.pageUrl = json.data?.peel as? String
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 requestSignaturePersonalURL(callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.personalUrl
let _ = YHNetRequest.postRequest(url: strUrl) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let result = YHMySignatureURLModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
self.personalUrl = result.url
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 requestSignaturePersonalWithNameAndPhoneURL(name: String, phone: String,callBackBlock:@escaping (_ success: Bool?, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["user_name": name,
"mobile": phone]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.personalUrl
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let result = YHMySignatureURLModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
self.personalUrl = result.url
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 requestSignCallBack(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.callBack
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
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 requestSignatureLook(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.look
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
self.pageUrl = json.data?.peel as? String
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 requestSignatureDownload(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.download
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any], let result = YHMySignatureURLModel.deserialize(from: dic) else {
callBackBlock(false,nil)
return
}
self.pageUrl = result.url
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 requestSignConfirm(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.confirm
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
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 requestFileAction(_ id: String, _ type: Int, _ newArray: [String], _ oldUrl: String,callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["id": id,
"op_type": type,
"new_url": newArray,
"old_url": oldUrl]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.upload
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
// guard let dic = json.data?.peel as? [String : Any], let result = YHMySignatureURLModel.deserialize(from: dic) else {
// callBackBlock(false,nil)
// return
// }
// self.pageUrl = result.url
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 sendEmailForDocs(_ params : [String : Any], callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.sendMail
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else {
callBackBlock(false, nil)
return
}
if json.code == 200 {
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 requestSignBack(_ id: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
// let params: [String : Any] = ["order_id": orderId]
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.signCallBack
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
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 requestCheckPersonalStatus(_ id: String) {
let params: [String : Any] = ["id": id]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.personal
let _ = YHNetRequest.postRequest(url: strUrl, params: params) { json, code in
} failBlock: { err in
}
}
}
//
// YHGCMySignatureListViewModel.swift
// galaxy
//
// Created by EDY on 2024/12/24.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import UIKit
class YHGCMySignatureListViewModel: YHBaseViewModel {
var mainModel: YHGCMySignatureListModel?
override init() {
super.init()
}
func requestSignatureList(_ orderId: String, callBackBlock:@escaping (_ success: Bool, _ error: YHErrorModel?)->()) {
let params: [String : Any] = ["order_id": orderId]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.Signature.gclist
let _ = YHNetRequest.getRequest(url: strUrl, params: params) { [weak self] json, code in
//1. json字符串 转 对象
guard let self = self else { return }
if json.code == 200 {
guard let dic = json.data?.peel as? [String : Any],let result = YHGCMySignatureListModel.deserialize(from: dic) 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)
}
}
}
...@@ -37,7 +37,7 @@ class YHGCWorkExperienceViewController: YHBaseViewController { ...@@ -37,7 +37,7 @@ class YHGCWorkExperienceViewController: YHBaseViewController {
} }
func getData() { func getData() {
viewModel.requestWorkPositionDetail(workID) {[weak self] success, error in viewModel.requestWorkPositionDetail(workID, orderID) {[weak self] success, error in
guard let self = self else { return } guard let self = self else { return }
if success ?? false { if success ?? false {
updateDataSource() updateDataSource()
......
...@@ -32,7 +32,13 @@ class YHGCWorkExperienceViewModel: YHBaseViewModel { ...@@ -32,7 +32,13 @@ class YHGCWorkExperienceViewModel: YHBaseViewModel {
let item3 = YHWorkExperienceModel(id: .id5, isNeed: true, title: "职责", isUserKeyBoard: true, prompts: "请输入", message: position.position, isShowPrompts: isShowPrompt, alertMessage:"请输入") let item3 = YHWorkExperienceModel(id: .id5, isNeed: true, title: "职责", isUserKeyBoard: true, prompts: "请输入", message: position.position, isShowPrompts: isShowPrompt, alertMessage:"请输入")
let item4 = YHWorkExperienceModel(id: .id23, isNeed: true, title: "开始就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.entry_time, type: .time) let item4 = YHWorkExperienceModel(id: .id23, isNeed: true, title: "开始就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.entry_time, type: .time)
let item5 = YHWorkExperienceModel(id: .id24, isNeed: true, title: "结束就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.departure_time, type: .time) let item5 = YHWorkExperienceModel(id: .id24, isNeed: true, title: "结束就职年月", isUserKeyBoard: false, prompts: "请选择", message: position.departure_time, type: .time)
let item6 = YHWorkExperienceModel(id: .id6, isNeed: true, title: "工作证明是否可以提供", isUserKeyBoard: false, prompts: "", message: "\(position.has_work_certificate)", leftButtonString: "是", rightButtonString: "否") var has_work_certificate = 2
if position.has_work_certificate == 1 {
has_work_certificate = 1
} else if position.has_work_certificate == 2 {
has_work_certificate = 0
}
let item6 = YHWorkExperienceModel(id: .id6, isNeed: true, title: "工作证明是否可以提供", isUserKeyBoard: false, prompts: "", message: "\(has_work_certificate)", leftButtonString: "是", rightButtonString: "否")
let item7 = YHWorkExperienceModel(id: .id7, isNeed: true, title: "职业界别", isUserKeyBoard: false, prompts: "请选择", message: position.company_type, type: .position, isShowPrompts: isShowPrompt, alertMessage:"请选择") let item7 = YHWorkExperienceModel(id: .id7, isNeed: true, title: "职业界别", isUserKeyBoard: false, prompts: "请选择", message: position.company_type, type: .position, isShowPrompts: isShowPrompt, alertMessage:"请选择")
let item77 = YHWorkExperienceModel(id: .id8, isNeed: true, title: "具体经验领域", isUserKeyBoard: true, prompts: "请输入", message: position.company_type_other, isShowPrompts: isShowPrompt, alertMessage:"请输入") let item77 = YHWorkExperienceModel(id: .id8, isNeed: true, title: "具体经验领域", isUserKeyBoard: true, prompts: "请输入", message: position.company_type_other, isShowPrompts: isShowPrompt, alertMessage:"请输入")
...@@ -111,7 +117,12 @@ class YHGCWorkExperienceViewModel: YHBaseViewModel { ...@@ -111,7 +117,12 @@ class YHGCWorkExperienceViewModel: YHBaseViewModel {
case .id5: case .id5:
position.position = item.message ?? "" position.position = item.message ?? ""
case .id6: case .id6:
position.has_work_certificate = Int(item.value?.first ?? "0") ?? 0 let value = item.value?.first?.int ?? 0
if value == 0 {
position.has_work_certificate = 2
} else if value == 1 {
position.has_work_certificate = 1
}
case .id7: case .id7:
position.company_type = item.message ?? "" position.company_type = item.message ?? ""
case .id8: case .id8:
...@@ -148,8 +159,8 @@ class YHGCWorkExperienceViewModel: YHBaseViewModel { ...@@ -148,8 +159,8 @@ class YHGCWorkExperienceViewModel: YHBaseViewModel {
return true return true
} }
func requestWorkPositionDetail(_ workId: Int, callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) { func requestWorkPositionDetail(_ workId: Int,_ orderID: Int ,callBackBlock:@escaping (_ success: Bool?, _ error:YHErrorModel?)->()) {
let param: [String: Any] = ["id": workId] let param: [String: Any] = ["id": workId, "order_id": orderID]
let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.gcworkDetail let strUrl = YHBaseUrlManager.shared.curURL() + YHAllApiName.WorkExperience.gcworkDetail
let _ = YHNetRequest.getRequest(url: strUrl, params: param) { [weak self] json, code in let _ = YHNetRequest.getRequest(url: strUrl, params: param) { [weak self] json, code in
//1. json字符串 转 对象 //1. json字符串 转 对象
......
...@@ -363,6 +363,7 @@ class YHAllApiName { ...@@ -363,6 +363,7 @@ class YHAllApiName {
static let signCallBack = "infoflow/sign/sign-callback" static let signCallBack = "infoflow/sign/sign-callback"
static let personal = "infoflow/sign/check-personal-status" static let personal = "infoflow/sign/check-personal-status"
static let signUrl = "infoflow/get-sign-url" static let signUrl = "infoflow/get-sign-url"
static let gclist = "super-app/gc/signature/doc/list"
} }
//我的文书 //我的文书
......
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