Commit ce22b596d725184ecee42625432e38a925ea3295

Authored by “张旭”
1 parent 223f6186

新增工作记录 -选择职业类型

Showing 22 changed files with 1011 additions and 27 deletions
metaCode.xcodeproj/project.pbxproj
... ... @@ -87,6 +87,10 @@
87 87 192ED47C2C538C970057244C /* CNLiveVitaeCertificateAddPhotoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED47B2C538C970057244C /* CNLiveVitaeCertificateAddPhotoCell.swift */; };
88 88 192ED47E2C538CA30057244C /* CNLiveVitaeCertificateAddInfoCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED47D2C538CA30057244C /* CNLiveVitaeCertificateAddInfoCell.swift */; };
89 89 192ED4802C5488AD0057244C /* CNLiveVitaeCerAddPhotoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED47F2C5488AD0057244C /* CNLiveVitaeCerAddPhotoController.swift */; };
  90 + 192ED4842C5742510057244C /* CNLiveVitaeAddWorkController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED4832C5742510057244C /* CNLiveVitaeAddWorkController.swift */; };
  91 + 192ED4872C575EC90057244C /* CNLiveVitaeAddWorkFirCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED4862C575EC90057244C /* CNLiveVitaeAddWorkFirCell.swift */; };
  92 + 192ED48A2C5771930057244C /* CNLiveVitaeAddWorkSecCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED4892C5771930057244C /* CNLiveVitaeAddWorkSecCell.swift */; };
  93 + 192ED48C2C57719F0057244C /* CNLiveVitaeAddWorkThreeCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 192ED48B2C57719F0057244C /* CNLiveVitaeAddWorkThreeCell.swift */; };
90 94 1938BD172B3D6C7F00390A34 /* CNLiveAuthViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1938BD162B3D6C7F00390A34 /* CNLiveAuthViewController.swift */; };
91 95 1938BD202B46799A00390A34 /* CNLivePlayletHomePageController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1938BD1F2B46799A00390A34 /* CNLivePlayletHomePageController.swift */; };
92 96 1938BD222B467C1700390A34 /* CNLivePlayletHomePageCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1938BD212B467C1700390A34 /* CNLivePlayletHomePageCell.swift */; };
... ... @@ -416,6 +420,10 @@
416 420 192ED47B2C538C970057244C /* CNLiveVitaeCertificateAddPhotoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeCertificateAddPhotoCell.swift; sourceTree = "<group>"; };
417 421 192ED47D2C538CA30057244C /* CNLiveVitaeCertificateAddInfoCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeCertificateAddInfoCell.swift; sourceTree = "<group>"; };
418 422 192ED47F2C5488AD0057244C /* CNLiveVitaeCerAddPhotoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeCerAddPhotoController.swift; sourceTree = "<group>"; };
  423 + 192ED4832C5742510057244C /* CNLiveVitaeAddWorkController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeAddWorkController.swift; sourceTree = "<group>"; };
  424 + 192ED4862C575EC90057244C /* CNLiveVitaeAddWorkFirCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeAddWorkFirCell.swift; sourceTree = "<group>"; };
  425 + 192ED4892C5771930057244C /* CNLiveVitaeAddWorkSecCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeAddWorkSecCell.swift; sourceTree = "<group>"; };
  426 + 192ED48B2C57719F0057244C /* CNLiveVitaeAddWorkThreeCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveVitaeAddWorkThreeCell.swift; sourceTree = "<group>"; };
419 427 1938BD162B3D6C7F00390A34 /* CNLiveAuthViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLiveAuthViewController.swift; sourceTree = "<group>"; };
420 428 1938BD1F2B46799A00390A34 /* CNLivePlayletHomePageController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLivePlayletHomePageController.swift; sourceTree = "<group>"; };
421 429 1938BD212B467C1700390A34 /* CNLivePlayletHomePageCell.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CNLivePlayletHomePageCell.swift; sourceTree = "<group>"; };
... ... @@ -786,13 +794,50 @@
786 794 192ED46E2C5217A00057244C /* Vitae */ = {
787 795 isa = PBXGroup;
788 796 children = (
  797 + 192ED4882C575ED60057244C /* Certificate */,
  798 + 192ED4852C575EB80057244C /* Work */,
  799 + );
  800 + path = Vitae;
  801 + sourceTree = "<group>";
  802 + };
  803 + 192ED4812C5742190057244C /* 证书相关页面 */ = {
  804 + isa = PBXGroup;
  805 + children = (
  806 + 192ED46C2C51FA360057244C /* CNLiveVitaeVocationalCertificateController.swift */,
  807 + 192ED4792C5383340057244C /* CNLiveVitaeAddCertificateController.swift */,
  808 + 192ED47F2C5488AD0057244C /* CNLiveVitaeCerAddPhotoController.swift */,
  809 + );
  810 + path = "证书相关页面";
  811 + sourceTree = "<group>";
  812 + };
  813 + 192ED4822C57422D0057244C /* 工作相关页面 */ = {
  814 + isa = PBXGroup;
  815 + children = (
  816 + 192ED4832C5742510057244C /* CNLiveVitaeAddWorkController.swift */,
  817 + );
  818 + path = "工作相关页面";
  819 + sourceTree = "<group>";
  820 + };
  821 + 192ED4852C575EB80057244C /* Work */ = {
  822 + isa = PBXGroup;
  823 + children = (
  824 + 192ED4862C575EC90057244C /* CNLiveVitaeAddWorkFirCell.swift */,
  825 + 192ED4892C5771930057244C /* CNLiveVitaeAddWorkSecCell.swift */,
  826 + 192ED48B2C57719F0057244C /* CNLiveVitaeAddWorkThreeCell.swift */,
  827 + );
  828 + path = Work;
  829 + sourceTree = "<group>";
  830 + };
  831 + 192ED4882C575ED60057244C /* Certificate */ = {
  832 + isa = PBXGroup;
  833 + children = (
789 834 192ED46F2C5217CF0057244C /* CNLiveVocationalCertificateFirCell.swift */,
790 835 192ED4732C521F4D0057244C /* CNLiveVocationalCertifiteCollectionViewLayout.swift */,
791 836 192ED4772C5339D50057244C /* CNLiveCertificateCollectionCell.swift */,
792 837 192ED47B2C538C970057244C /* CNLiveVitaeCertificateAddPhotoCell.swift */,
793 838 192ED47D2C538CA30057244C /* CNLiveVitaeCertificateAddInfoCell.swift */,
794 839 );
795   - path = Vitae;
  840 + path = Certificate;
796 841 sourceTree = "<group>";
797 842 };
798 843 1938BD112B3D6C0C00390A34 /* HomePages */ = {
... ... @@ -1164,6 +1209,8 @@
1164 1209 19C0F7722BDF71890097CC8F /* DigitalAuth */ = {
1165 1210 isa = PBXGroup;
1166 1211 children = (
  1212 + 192ED4822C57422D0057244C /* 工作相关页面 */,
  1213 + 192ED4812C5742190057244C /* 证书相关页面 */,
1167 1214 19C0F7732BDF71CA0097CC8F /* CNLiveDigitalAuthController.swift */,
1168 1215 194134932C240583004FC047 /* CNLiveDigitalRealManageController.swift */,
1169 1216 19C735CD2C12D19D00CACF4E /* CNLiveRealNameAuthController.swift */,
... ... @@ -1175,9 +1222,6 @@
1175 1222 19DFE64C2C4792C500E428AE /* CNLiveDigitalResumeInfoController.swift */,
1176 1223 192ED4642C4DF6340057244C /* CNLiveDigitalResumeInfoSelectAddressController.swift */,
1177 1224 192ED4662C4F47E50057244C /* CNLiveSelectHangYeController.swift */,
1178   - 192ED46C2C51FA360057244C /* CNLiveVitaeVocationalCertificateController.swift */,
1179   - 192ED4792C5383340057244C /* CNLiveVitaeAddCertificateController.swift */,
1180   - 192ED47F2C5488AD0057244C /* CNLiveVitaeCerAddPhotoController.swift */,
1181 1225 );
1182 1226 path = DigitalAuth;
1183 1227 sourceTree = "<group>";
... ... @@ -2024,6 +2068,7 @@
2024 2068 191732E92B0706B3007BCC04 /* CNLiveShopClassifyCell.swift in Sources */,
2025 2069 790D01A52A2DF65E00C5978D /* CNLiveLoginPickerView.swift in Sources */,
2026 2070 191733042B0F216E007BCC04 /* NSDictionary+CNLiveExtensions.swift in Sources */,
  2071 + 192ED48A2C5771930057244C /* CNLiveVitaeAddWorkSecCell.swift in Sources */,
2027 2072 79BA085D2AB18E8300D01875 /* CNLiveSaveAuthDB.swift in Sources */,
2028 2073 79282A3C2A2EDC2500B5F8CF /* NSString+CNLiveExtensions.swift in Sources */,
2029 2074 19D2CE632AE8B65D00691757 /* CNLiveDownSlideTool.swift in Sources */,
... ... @@ -2080,6 +2125,7 @@
2080 2125 19FA20172AE22D3C001F7186 /* CNLiveDownSlideRecommendCell.swift in Sources */,
2081 2126 19123FC12ABC11170075C883 /* CNWebViewController.swift in Sources */,
2082 2127 1926C28F2AE0D76C00C71DC3 /* CNLiveDownSlideViewModel.swift in Sources */,
  2128 + 192ED48C2C57719F0057244C /* CNLiveVitaeAddWorkThreeCell.swift in Sources */,
2083 2129 790D019D2A2DCBD000C5978D /* UIView+CNLiveExtensions.swift in Sources */,
2084 2130 192ED4652C4DF6340057244C /* CNLiveDigitalResumeInfoSelectAddressController.swift in Sources */,
2085 2131 19B153CF2BC540FF0018906C /* CNLivePayOrderInfoModel.swift in Sources */,
... ... @@ -2132,6 +2178,7 @@
2132 2178 191733312B170537007BCC04 /* CNLiveCommonManager.swift in Sources */,
2133 2179 7CD675402A2740B0008354C1 /* CNDownSlideView.swift in Sources */,
2134 2180 191732F52B085BAE007BCC04 /* CNLiveShopClassilyIconTableViewCell.swift in Sources */,
  2181 + 192ED4842C5742510057244C /* CNLiveVitaeAddWorkController.swift in Sources */,
2135 2182 191732E32B05F474007BCC04 /* CNLiveShopGoodsManageDetailsInputManager.swift in Sources */,
2136 2183 79B2E3602AF39191002A8524 /* NSObject+CNLiveConfigModuleInline.swift in Sources */,
2137 2184 79A212C02B0B5C5400BFA8E3 /* CNLiveShopCouponManagerViewController.swift in Sources */,
... ... @@ -2281,6 +2328,7 @@
2281 2328 7991723A2AF091E100DC01A8 /* CNLiveShopOrderListViewController.swift in Sources */,
2282 2329 798A44F02A305BC200815935 /* UIButton+CNLiveExtensions.swift in Sources */,
2283 2330 1938BD342B4B968300390A34 /* CNLiveHomePageDuanJuCell.swift in Sources */,
  2331 + 192ED4872C575EC90057244C /* CNLiveVitaeAddWorkFirCell.swift in Sources */,
2284 2332 191733522B2C4CEA007BCC04 /* CNLivePickerSelectDateTools.swift in Sources */,
2285 2333 1917333A2B27FDF3007BCC04 /* CNLiveShopClassilyManageTableViewCell.swift in Sources */,
2286 2334 );
... ...
metaCode/Classes/Main/HomePage/Controller/AuthMainController/CNMetaCodeHomePageController.swift
... ... @@ -706,7 +706,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
706 706 if let listModel = list as? StandListModel{
707 707  
708 708 group.enter()
709   - self.getAuthenticationsApi(channelId: String(format: "%d", listModel.id), listModel: listModel)
  709 + self.getAuthenticationsApi(channelId: String(format: "%d", listModel.id), type: "1", listModel: listModel)
710 710  
711 711 }
712 712 }
... ... @@ -732,7 +732,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
732 732 }
733 733  
734 734 //行业认证列表
735   - func getAuthenticationsApi(channelId:String , listModel:StandListModel)
  735 + func getAuthenticationsApi(channelId:String ,type:String, listModel:StandListModel)
736 736 {
737 737 showLoading(message: "")
738 738  
... ... @@ -741,7 +741,7 @@ class CNMetaCodeHomePageController:CNLiveBaseViewController, NewPagedFlowViewDel
741 741 UserInfoManager.cacheUserInfo(userInfo: userInfo)
742 742  
743 743 let vsid = UserInfoManager.shared.userInfo.currentUser?.vsid ?? ""
744   - CNLiveMineViewModel.requestsIndustryInfo(channelId: channelId,type:"1", sid: UserInfoManager.shared.userInfo.uid, vsid: vsid) { result, respStatue in
  744 + CNLiveMineViewModel.requestsIndustryInfo(channelId: channelId,type:type, sid: UserInfoManager.shared.userInfo.uid, vsid: vsid) { result, respStatue in
745 745 if respStatue == .success{//UserInfoManager.shared.userInfo.uid vsid "1342671" "2"
746 746 if let res = result as? [MineAuthenticationsChildModel]{
747 747 //添加每个MineAuthenticationsBaseModel到self.dataArray对应的 频道列表model里
... ...
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveDigitalAssetsController.swift
... ... @@ -50,7 +50,7 @@ class CNLiveDigitalAssetsController:CNLiveBaseViewController, UITableViewDataSou
50 50 titleName = "元码数字认证"
51 51  
52 52 self.initUI()
53   - self.loadData()
  53 +// self.loadData()
54 54 }
55 55  
56 56 func initUI(){
... ...
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveDigitalAuthController.swift
... ... @@ -120,7 +120,7 @@ class CNLiveDigitalAuthController:CNLiveBaseViewController,UITableViewDataSource
120 120 navigationBarHidden = false
121 121 titleName = "元码数字认证"
122 122 self.initUI()
123   - self.getAuthenticationsApi(channelId: self.channelId, vsid: self.vsid, sid: self.sid)
  123 + self.getAuthenticationsApi(channelId: self.channelId, type: "1", vsid: self.vsid, sid: self.sid)
124 124 }
125 125  
126 126 deinit {
... ... @@ -286,10 +286,10 @@ class CNLiveDigitalAuthController:CNLiveBaseViewController,UITableViewDataSource
286 286 }
287 287  
288 288 //行业认证列表
289   - func getAuthenticationsApi(channelId:String ,vsid:String,sid:String)
  289 + func getAuthenticationsApi(channelId:String ,type:String,vsid:String,sid:String)
290 290 {
291 291 showLoading(message: "")
292   - CNLiveMineViewModel.requestsIndustryInfo(channelId: channelId, type: "1", sid: sid, vsid: vsid) { result, respStatue in
  292 + CNLiveMineViewModel.requestsIndustryInfo(channelId: channelId, type: type, sid: sid, vsid: vsid) { result, respStatue in
293 293 if respStatue == .success{//UserInfoManager.shared.userInfo.uid vsid "1342671" "2"
294 294 if let res = result as? [MineAuthenticationsChildModel]{
295 295 //添加每个MineAuthenticationsBaseModel到self.dataArray对应的 频道列表model里
... ...
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveIdentityRepositoryController.swift
... ... @@ -12,7 +12,8 @@ class CNLiveIdentityRepositoryController:CNLiveBaseViewController,UITableViewDat
12 12  
13 13 var currentSeleIndex = -1
14 14 var currentSeleCollectionIndex = -1
15   - var channelId:String = "0"
  15 + var channelId:String = ""
  16 + var type:String = "1"
16 17 var currCollectMdl:MineAuthenticationsChildIdentitiesModel?
17 18  
18 19 //2级行业数组
... ... @@ -137,7 +138,7 @@ class CNLiveIdentityRepositoryController:CNLiveBaseViewController,UITableViewDat
137 138 titleName = "教育培训"
138 139 let vsid = UserInfoManager.shared.userInfo.currentUser?.vsid ?? ""
139 140 let sid = UserInfoManager.shared.userInfo.uid
140   - self.getAuthenticationsApi(vsid: vsid, sid: sid)
  141 + self.getAuthenticationsApi(channelId: self.channelId, type: self.type, vsid: vsid, sid: sid)
141 142  
142 143 self.initUI()
143 144 let deleteNavBtn = UIButton(type: .custom)
... ... @@ -352,10 +353,10 @@ class CNLiveIdentityRepositoryController:CNLiveBaseViewController,UITableViewDat
352 353 }
353 354  
354 355 //行业认证列表
355   - func getAuthenticationsApi(vsid:String,sid:String)
  356 + func getAuthenticationsApi(channelId:String,type:String,vsid:String,sid:String)
356 357 {
357 358 showLoading(message: "")
358   - CNLiveMineViewModel.requestsIndustryInfo(channelId: "", type: "1", sid: sid, vsid: vsid) { result, respStatue in
  359 + CNLiveMineViewModel.requestsIndustryInfo(channelId: channelId, type: type, sid: sid, vsid: vsid) { result, respStatue in
359 360 if respStatue == .success{
360 361 if let res = result as? [MineAuthenticationsChildModel]{
361 362 //添加每个MineAuthenticationsBaseModel到self.dataArray对应的 频道列表model里
... ...
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveSelectHangYeController.swift
... ... @@ -7,7 +7,13 @@
7 7  
8 8 import Foundation
9 9 import SnapKit
  10 +
  11 +typealias SelectAddWorkZhiYeBlock = (_ zhiyeStr:String) -> Void
  12 +
10 13 class CNLiveSelectHangYeController:CNLiveBaseViewController, UITableViewDataSource, UITableViewDelegate{
  14 + var isAddWorkJiLu = false//是否是添加工作记录
  15 + var selectAddWorkZhiYeBlock:SelectAddWorkZhiYeBlock?
  16 +
11 17 var currSeleFirIndex = 0
12 18 var currSeleSecIndex = -1
13 19  
... ... @@ -102,13 +108,27 @@ class CNLiveSelectHangYeController:CNLiveBaseViewController, UITableViewDataSour
102 108 }
103 109  
104 110 @objc func tijiaoBtnAction(){
105   - let isRealChengNuo = self.getRealChengNuo()
106   - if isRealChengNuo == false{
107   - //弹出承诺弹窗
108   - self.show17Alert()
  111 +
  112 + if self.isAddWorkJiLu{
  113 + let firModel = self.firstDataArray[self.currSeleFirIndex]
  114 + let secModel = self.secDataArray[self.currSeleSecIndex]
  115 + let hangYeStr = firModel.name+"·"+secModel.name
  116 + self.selectAddWorkZhiYeBlock?(hangYeStr)
  117 + self.navigationController?.viewControllers.forEach({ item in
  118 + if (item.isKind(of: CNLiveVitaeAddWorkController.self)) {
  119 + self.navigationController?.popToViewController(item, animated: true)
  120 + }
  121 + })
109 122 }else{
110   - //确认后返回到数字资产页面 接口变更行业 变更为对应行业
111   - self.popZiChanController()
  123 + let isRealChengNuo = self.getRealChengNuo()
  124 + if isRealChengNuo == false{
  125 + //弹出承诺弹窗
  126 + self.show17Alert()
  127 + }else{
  128 + //确认后返回到数字资产页面 接口变更行业 变更为对应行业
  129 + self.popZiChanController()
  130 + }
  131 +
112 132 }
113 133 }
114 134  
... ...
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/工作相关页面/CNLiveVitaeAddWorkController.swift 0 → 100644
  1 +//
  2 +// CNLiveVitaeAddWorkController.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2024/7/29.
  6 +// 数字简历-添加工作记录页面
  7 +
  8 +import Foundation
  9 +import SnapKit
  10 +
  11 +class CNLiveVitaeAddWorkController:CNLiveBaseViewController,UITableViewDataSource, UITableViewDelegate{
  12 +
  13 + let kCNLiveVitaeAddWorkFirCellIdentifier = "kCNLiveVitaeAddWorkFirCellIdentifier"
  14 + let kCNLiveVitaeAddWorkSecCellIdentifier = "kCNLiveVitaeAddWorkSecCellIdentifier"
  15 + let kCNLiveVitaeAddWorkThreeCellIdentifier = "kCNLiveVitaeAddWorkThreeCellIdentifier"
  16 +
  17 + lazy var tableView : UITableView = {
  18 + let tableView = UITableView(frame: .zero, style: .plain)
  19 + tableView.dataSource = self
  20 + tableView.delegate = self
  21 + tableView.separatorStyle = .none
  22 + tableView.tableFooterView = UIView.init()
  23 + tableView.register(CNLiveVitaeAddWorkFirCell.self, forCellReuseIdentifier: kCNLiveVitaeAddWorkFirCellIdentifier)
  24 + tableView.register(CNLiveVitaeAddWorkSecCell.self, forCellReuseIdentifier: kCNLiveVitaeAddWorkSecCellIdentifier)
  25 + tableView.register(CNLiveVitaeAddWorkThreeCell.self, forCellReuseIdentifier: kCNLiveVitaeAddWorkThreeCellIdentifier)
  26 + tableView.backgroundColor = .clear
  27 + return tableView
  28 + }()
  29 + lazy var bottomZhiNanWhiteView :UIView = {
  30 + let bottomNavView = UIView()
  31 + bottomNavView.backgroundColor = .white
  32 + return bottomNavView
  33 + }()
  34 + lazy var addWorkBtn: UIButton = {
  35 + let nextBtn = UIButton(type: .custom)
  36 + nextBtn.setTitle("确认提交", for: .normal)
  37 + nextBtn.setTitleColor(.white, for: .normal)
  38 + nextBtn.backgroundColor = HexColor("#1961FE")
  39 + nextBtn.layer.cornerRadius = 20
  40 + nextBtn.clipsToBounds = true
  41 + nextBtn.addTarget(self, action: #selector(addWorkBtnAction), for: .touchUpInside)
  42 + return nextBtn
  43 + }()
  44 + lazy var chengNuoTitleLabel: UILabel = {
  45 + let titleLabel = UILabel()
  46 + titleLabel.textColor = HexColor("#B4B4B4")
  47 + titleLabel.textAlignment = .center
  48 + titleLabel.numberOfLines = 2
  49 + titleLabel.text = "我承诺以上所填写资料均完全真实,如被证实有虚假成分,本人愿意承担一切责任"
  50 + titleLabel.font = Font_12
  51 + return titleLabel
  52 + }()
  53 +
  54 + override func viewDidLoad() {
  55 + super.viewDidLoad()
  56 + titleName = "新增工作记录"
  57 + navigationBarHidden = false
  58 + self.initUI()
  59 + }
  60 +
  61 + deinit {}
  62 + func initUI(){
  63 + self.view.backgroundColor = HexColor("#F6F7FB")
  64 +
  65 + self.view.addSubview(self.tableView)
  66 + self.tableView.snp.makeConstraints { make in
  67 + make.top.equalTo(KNavigationHeight)
  68 + make.left.right.equalToSuperview()
  69 + make.height.equalToSuperview().offset(-KNavigationHeight-60-63)
  70 + }
  71 +
  72 + self.view.addSubview(self.chengNuoTitleLabel)
  73 + self.chengNuoTitleLabel.snp.makeConstraints { make in
  74 + make.top.equalTo(self.tableView.snp.bottom).offset(15)
  75 + make.left.equalTo(15)
  76 + make.right.equalToSuperview().offset(-15)
  77 + make.bottom.equalToSuperview().offset(-75)
  78 + }
  79 +
  80 + self.view.addSubview(self.bottomZhiNanWhiteView)
  81 + self.bottomZhiNanWhiteView.snp.makeConstraints { make in
  82 + make.height.equalTo(60)
  83 + make.bottom.left.right.equalToSuperview()
  84 + }
  85 +
  86 + self.bottomZhiNanWhiteView.addSubview(self.addWorkBtn)
  87 + self.addWorkBtn.snp.makeConstraints { make in
  88 + make.left.equalTo(15)
  89 + make.right.equalToSuperview().offset(-15)
  90 + make.top.equalTo(10)
  91 + make.height.equalTo(40)
  92 + }
  93 +
  94 +
  95 + }
  96 +
  97 + func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
  98 + return 3
  99 + }
  100 +
  101 + func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
  102 + if indexPath.row == 0{
  103 + //firCell
  104 + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveVitaeAddWorkFirCellIdentifier) as? CNLiveVitaeAddWorkFirCell
  105 + else {
  106 + let cell = CNLiveVitaeAddWorkFirCell()
  107 + return cell
  108 + }
  109 + return cell
  110 + }else if indexPath.row == 1{
  111 + //SecCell
  112 + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveVitaeAddWorkSecCellIdentifier) as? CNLiveVitaeAddWorkSecCell
  113 + else {
  114 + let cell = CNLiveVitaeAddWorkSecCell()
  115 + return cell
  116 + }
  117 + cell.uploadImageSuceessBlock = { imageUrl in
  118 +
  119 + }
  120 + return cell
  121 + }else if indexPath.row == 2{
  122 + //ThreeCell
  123 + guard let cell = tableView.dequeueReusableCell(withIdentifier: kCNLiveVitaeAddWorkThreeCellIdentifier) as? CNLiveVitaeAddWorkThreeCell
  124 + else {
  125 + let cell = CNLiveVitaeAddWorkThreeCell()
  126 + return cell
  127 + }
  128 + return cell
  129 + }else{
  130 + return UITableViewCell()
  131 + }
  132 + }
  133 +
  134 + func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
  135 +
  136 + }
  137 +
  138 + func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {
  139 + if indexPath.row == 0{
  140 + return 276+15
  141 + }else if indexPath.row == 1{
  142 + return 368+15
  143 + }else if indexPath.row == 2{
  144 + return 123+15
  145 + }else{
  146 + return 60
  147 + }
  148 + }
  149 +
  150 + //确认提交证书
  151 + @objc func addWorkBtnAction(){
  152 +// let cell = self.tableView.cellForRow(at: IndexPath(row: 0, section: 0)) as! CNLiveVitaeCertificateAddInfoCell
  153 +// //判断非空
  154 +// if self.seleImage == nil{
  155 +// showMessage(message: "请上传图片")
  156 +// return
  157 +// }
  158 +// if cell.cerNameTF.text?.count == 0{
  159 +// showMessage(message: "请填写证书名称")
  160 +// return
  161 +// }
  162 +// if cell.cerNumberTF.text?.count == 0{
  163 +// showMessage(message: "请填写资格证编号")
  164 +// return
  165 +// }
  166 +// if cell.cerJiGouTF.text?.count == 0{
  167 +// showMessage(message: "请填写发证机构")
  168 +// return
  169 +// }
  170 +// let vsid = UserInfoManager.shared.userInfo.currentUser?.vsid ?? ""
  171 +// //提交证书
  172 +// CNLiveVitaeViewModel.saveCertificate(img: self.seleImageUrl, lv: cell.cerLevelTF.text ?? "", number: cell.cerNumberTF.text ?? "", organization: cell.cerJiGouTF.text ?? "", time: cell.cerTimeTF.text ?? "", title: cell.cerNameTF.text ?? "", uploadTime: "", validity: cell.cerYouXiaoTF.text ?? "", vsid: vsid){result, respStatue in
  173 +// if respStatue == .success{
  174 +// self.navigationController?.viewControllers.forEach({ item in
  175 +// if (item.isKind(of: CNLiveVitaeVocationalCertificateController.self)) {
  176 +// self.navigationController?.popToViewController(item, animated: true)
  177 +// }
  178 +// })
  179 +// }
  180 +//
  181 +// }
  182 + }
  183 +}
... ...
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveVitaeAddCertificateController.swift renamed to metaCode/Classes/Main/HomePage/Controller/DigitalAuth/证书相关页面/CNLiveVitaeAddCertificateController.swift
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveVitaeCerAddPhotoController.swift renamed to metaCode/Classes/Main/HomePage/Controller/DigitalAuth/证书相关页面/CNLiveVitaeCerAddPhotoController.swift
metaCode/Classes/Main/HomePage/Controller/DigitalAuth/CNLiveVitaeVocationalCertificateController.swift renamed to metaCode/Classes/Main/HomePage/Controller/DigitalAuth/证书相关页面/CNLiveVitaeVocationalCertificateController.swift
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/CNLiveDigitalMineRealNameCell.swift
... ... @@ -169,7 +169,7 @@ class CNLiveDigitalMineRealNameCell:UITableViewCell{
169 169 }
170 170  
171 171 func maskIDCardNumber(idCardNumber: String) -> String {
172   - guard idCardNumber.count >= 4 && idCardNumber.count <= 18 else { return "" } // 假设身份证号码至少4位,最多18位
  172 + guard idCardNumber.count == 18 else { return idCardNumber } //身份证号码18位
173 173  
174 174 // 显示前3位和后4位,中间用星号代替
175 175 let start = idCardNumber.prefix(3)
... ...
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/CNLiveDigitalSecCollectionCell.swift
... ... @@ -124,6 +124,10 @@ class CNLiveDigitalSecCollectionCell: UICollectionViewCell {
124 124 }
125 125  
126 126 @objc func addBtnAction(){
127   - navigationViewController().pushViewController(CNLiveIdentityRepositoryController(), animated: true)
  127 + let vc = CNLiveIdentityRepositoryController()
  128 + vc.channelId = ""
  129 + vc.type = "1"
  130 + navigationViewController().pushViewController(vc, animated: true)
  131 +// navigationViewController().pushViewController(CNLiveIdentityRepositoryController(), animated: true)
128 132 }
129 133 }
... ...
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/DigitalResume/CNLiveDigitalResumeCell.swift
... ... @@ -532,14 +532,23 @@ class CNLiveDigitalResumeCell: UITableViewCell {
532 532 navigationViewController().pushViewController(CNLiveSelectHangYeController(), animated: true)
533 533 }
534 534 @objc func renzhengDetailTitleLabelAciton(){
535   - navigationViewController().pushViewController(CNLiveIdentityRepositoryController(), animated: true)
536 535  
  536 + let vc = CNLiveIdentityRepositoryController()
  537 + vc.channelId = ""
  538 + vc.type = "1"
  539 + navigationViewController().pushViewController(vc, animated: true)
537 540 }
538 541 @objc func zhengshuDetailTitleLabelAciton(){
539 542 navigationViewController().pushViewController(CNLiveVitaeVocationalCertificateController(), animated: true)
540 543 }
541 544 @objc func gongzuoDetailTitleLabelAciton(){
  545 + //工作记录
542 546  
  547 + //有工作->工作记录页面
  548 +
  549 + //无工作->新增工作记录页面
  550 + navigationViewController().pushViewController(CNLiveVitaeAddWorkController(), animated: true)
  551 +
543 552 }
544 553 @objc func huojiangDetailTitleLabelAciton(){
545 554  
... ...
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/CNLiveCertificateCollectionCell.swift renamed to metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Certificate/CNLiveCertificateCollectionCell.swift
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/CNLiveVitaeCertificateAddInfoCell.swift renamed to metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Certificate/CNLiveVitaeCertificateAddInfoCell.swift
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/CNLiveVitaeCertificateAddPhotoCell.swift renamed to metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Certificate/CNLiveVitaeCertificateAddPhotoCell.swift
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/CNLiveVocationalCertificateFirCell.swift renamed to metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Certificate/CNLiveVocationalCertificateFirCell.swift
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/CNLiveVocationalCertifiteCollectionViewLayout.swift renamed to metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Certificate/CNLiveVocationalCertifiteCollectionViewLayout.swift
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Work/CNLiveVitaeAddWorkFirCell.swift 0 → 100644
  1 +//
  2 +// CNLiveVitaeAddWorkFirCell.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2024/7/29.
  6 +// 新增工作记录fircell
  7 +
  8 +import Foundation
  9 +import Kingfisher
  10 +import SnapKit
  11 +
  12 +class CNLiveVitaeAddWorkFirCell:UITableViewCell, UITextFieldDelegate{
  13 + var zhiyeStr:String = ""
  14 +
  15 + lazy var topWhiteView :UIView = {
  16 + let bottomNavView = UIView()
  17 + bottomNavView.backgroundColor = .white
  18 + bottomNavView.layer.cornerRadius = 9
  19 + bottomNavView.clipsToBounds = true
  20 + return bottomNavView
  21 + }()
  22 + lazy var weizhiTitleLabel: UILabel = {
  23 + let titleLabel = UILabel.init()
  24 + titleLabel.textColor = HexColor("#333333")
  25 + titleLabel.text = "职业类型"
  26 + titleLabel.textAlignment = .left
  27 + titleLabel.font = BoldFont_15
  28 + return titleLabel
  29 + }()
  30 + lazy var weizhiRightTitleLabel: UILabel = {
  31 + let titleLabel = UILabel.init()
  32 + titleLabel.textColor = HexColor("#333333")
  33 + titleLabel.text = "请选择"
  34 + titleLabel.textAlignment = .right
  35 + titleLabel.font = Font_15
  36 + titleLabel.adjustsFontSizeToFitWidth=true
  37 + return titleLabel
  38 + }()
  39 + lazy var weiZhiRightImgView :UIImageView = {
  40 + let iconImgView = UIImageView()
  41 + iconImgView.image = UIImage(named: "mine_header_message_gray_more")
  42 + iconImgView.contentMode = .scaleAspectFit
  43 + return iconImgView
  44 + }()
  45 + lazy var weiZhiTapView :UIView = {
  46 + let bottomNavView = UIView()
  47 + bottomNavView.backgroundColor = .clear
  48 + bottomNavView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(zhiYeTapAction)))
  49 + return bottomNavView
  50 + }()
  51 + lazy var topLine1View :UIView = {
  52 + let bottomNavView = UIView()
  53 + bottomNavView.backgroundColor = HexColor("#EAEAEA")
  54 + return bottomNavView
  55 + }()
  56 + lazy var lianxiTitleLabel: UILabel = {
  57 + let titleLabel = UILabel.init()
  58 + titleLabel.textColor = HexColor("#333333")
  59 + titleLabel.text = "岗位名称"
  60 + titleLabel.textAlignment = .left
  61 + titleLabel.font = BoldFont_15
  62 + titleLabel.adjustsFontSizeToFitWidth=true
  63 + return titleLabel
  64 + }()
  65 + lazy var phoneTextFiled :UITextField = {
  66 + let textFiled = UITextField()
  67 + textFiled.textAlignment = .right
  68 + textFiled.font = Font_15
  69 + textFiled.attributedPlaceholder = NSAttributedString(string: "请填写", attributes: [.foregroundColor: HexColor("#B4B4B4")!])
  70 + textFiled.textColor = HexColor("#333333")
  71 + textFiled.delegate = self
  72 + textFiled.returnKeyType = .done
  73 + textFiled.clearButtonMode = .whileEditing
  74 + return textFiled
  75 + }()
  76 + lazy var topLine2View :UIView = {
  77 + let bottomNavView = UIView()
  78 + bottomNavView.backgroundColor = HexColor("#EAEAEA")
  79 + return bottomNavView
  80 + }()
  81 + lazy var canjiaTitleLabel: UILabel = {
  82 + let titleLabel = UILabel.init()
  83 + titleLabel.textColor = HexColor("#333333")
  84 + titleLabel.text = "开始时间"
  85 + titleLabel.textAlignment = .left
  86 + titleLabel.font = BoldFont_15
  87 + titleLabel.adjustsFontSizeToFitWidth=true
  88 + return titleLabel
  89 + }()
  90 + lazy var canjiaRightTitleLabel: UILabel = {
  91 + let titleLabel = UILabel.init()
  92 + titleLabel.textColor = HexColor("#B4B4B4")
  93 + titleLabel.text = "请选择"
  94 + titleLabel.textAlignment = .right
  95 + titleLabel.font = Font_15
  96 + titleLabel.adjustsFontSizeToFitWidth=true
  97 + return titleLabel
  98 + }()
  99 + lazy var canjiaRightImgView :UIImageView = {
  100 + let iconImgView = UIImageView()
  101 + iconImgView.image = UIImage(named: "mine_header_message_gray_more")
  102 + iconImgView.contentMode = .scaleAspectFit
  103 + return iconImgView
  104 + }()
  105 + lazy var canjiaTapView :UIView = {
  106 + let bottomNavView = UIView()
  107 + bottomNavView.backgroundColor = .clear
  108 + bottomNavView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(startTimeTapAction)))
  109 + return bottomNavView
  110 + }()
  111 +
  112 + lazy var topLine3View :UIView = {
  113 + let bottomNavView = UIView()
  114 + bottomNavView.backgroundColor = HexColor("#EAEAEA")
  115 + return bottomNavView
  116 + }()
  117 + lazy var endTimeTitleLabel: UILabel = {
  118 + let titleLabel = UILabel.init()
  119 + titleLabel.textColor = HexColor("#333333")
  120 + titleLabel.text = "结束时间"
  121 + titleLabel.textAlignment = .left
  122 + titleLabel.font = BoldFont_15
  123 + titleLabel.adjustsFontSizeToFitWidth=true
  124 + return titleLabel
  125 + }()
  126 + lazy var endTimeRightTitleLabel: UILabel = {
  127 + let titleLabel = UILabel.init()
  128 + titleLabel.textColor = HexColor("#B4B4B4")
  129 + titleLabel.text = "请选择"
  130 + titleLabel.textAlignment = .right
  131 + titleLabel.font = Font_15
  132 + titleLabel.adjustsFontSizeToFitWidth=true
  133 + return titleLabel
  134 + }()
  135 + lazy var endTimeRightImgView :UIImageView = {
  136 + let iconImgView = UIImageView()
  137 + iconImgView.image = UIImage(named: "mine_header_message_gray_more")
  138 + iconImgView.contentMode = .scaleAspectFit
  139 + return iconImgView
  140 + }()
  141 + lazy var endTimeTapView :UIView = {
  142 + let bottomNavView = UIView()
  143 + bottomNavView.backgroundColor = .clear
  144 + bottomNavView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(endTimeTapAction)))
  145 + return bottomNavView
  146 + }()
  147 + lazy var zhiJinBtn: UIButton = {
  148 + let closeBtn = UIButton(type: .custom)
  149 + closeBtn.setTitle("至今", for: .normal)
  150 + closeBtn.backgroundColor = HexColor("#1961FE",alpha: 0.1)
  151 + closeBtn.setTitleColor(HexColor("#1961FE"), for: .normal)
  152 + closeBtn.clipsToBounds = true
  153 + closeBtn.layer.cornerRadius = 4
  154 + closeBtn.titleLabel?.font = BoldFont_15
  155 + closeBtn.addTarget(self, action: #selector(zhiJinBtnAction), for: .touchUpInside)
  156 + return closeBtn
  157 + }()
  158 +
  159 + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  160 + super.init(style: style, reuseIdentifier: reuseIdentifier)
  161 + self.selectionStyle = .none
  162 + self.backgroundColor = .clear
  163 + self.contentView.backgroundColor = .clear
  164 + self.initUI()
  165 + }
  166 +
  167 + required init?(coder: NSCoder) {
  168 + fatalError("init(coder:) has not been implemented")
  169 + }
  170 +
  171 + func initUI(){
  172 + self.contentView.addSubview(self.topWhiteView)
  173 + self.topWhiteView.snp.makeConstraints { make in
  174 + make.top.equalTo(15)
  175 + make.left.equalTo(15)
  176 + make.right.equalToSuperview().offset(-15)
  177 + make.height.equalTo(276)
  178 + }
  179 + self.topWhiteView.addSubview(self.weizhiTitleLabel)
  180 + self.weizhiTitleLabel.snp.makeConstraints { make in
  181 + make.top.equalTo(20)
  182 + make.left.equalTo(15)
  183 + make.width.equalTo(62)
  184 + make.height.equalTo(21)
  185 + }
  186 + self.topWhiteView.addSubview(self.weizhiRightTitleLabel)
  187 + self.weizhiRightTitleLabel.snp.makeConstraints { make in
  188 + make.top.equalTo(20)
  189 + make.right.equalToSuperview().offset(-28)
  190 + make.left.equalTo(self.weizhiTitleLabel.snp.right).offset(5)
  191 + }
  192 + self.topWhiteView.addSubview(self.weiZhiRightImgView)
  193 + self.weiZhiRightImgView.snp.makeConstraints { make in
  194 + make.width.height.equalTo(13)
  195 + make.centerY.equalTo(self.weizhiRightTitleLabel.snp.centerY)
  196 + make.left.equalTo(self.weizhiRightTitleLabel.snp.right)
  197 + }
  198 + self.topWhiteView.addSubview(self.topLine1View)
  199 + self.topLine1View.snp.makeConstraints { make in
  200 + make.top.equalTo(self.weizhiTitleLabel.snp.bottom).offset(adapt_length(length: 20))
  201 + make.left.equalTo(15)
  202 + make.height.equalTo(0.5)
  203 + make.right.equalToSuperview().offset(-15)
  204 + }
  205 + self.topWhiteView.addSubview(self.weiZhiTapView)
  206 + self.weiZhiTapView.snp.makeConstraints { make in
  207 + make.left.right.top.equalToSuperview()
  208 + make.bottom.equalTo(self.topLine1View.snp.top)
  209 + }
  210 + self.topWhiteView.addSubview(self.lianxiTitleLabel)
  211 + self.lianxiTitleLabel.snp.makeConstraints { make in
  212 + make.top.equalTo(self.topLine1View.snp.bottom).offset(adapt_length(length: 20))
  213 + make.left.equalTo(15)
  214 + }
  215 + self.topWhiteView.addSubview(self.phoneTextFiled)
  216 + self.phoneTextFiled.snp.makeConstraints { make in
  217 + make.centerY.equalTo(self.lianxiTitleLabel.snp.centerY)
  218 + make.left.equalTo(self.lianxiTitleLabel.snp.right).offset(10)
  219 + make.right.equalToSuperview().offset(-15)
  220 + make.height.equalTo(21)
  221 + }
  222 + self.topWhiteView.addSubview(self.topLine2View)
  223 + self.topLine2View.snp.makeConstraints { make in
  224 + make.top.equalTo(self.lianxiTitleLabel.snp.bottom).offset(adapt_length(length: 20))
  225 + make.left.equalTo(15)
  226 + make.height.equalTo(0.5)
  227 + make.right.equalToSuperview().offset(-15)
  228 + }
  229 + self.topWhiteView.addSubview(self.canjiaTitleLabel)
  230 + self.canjiaTitleLabel.snp.makeConstraints { make in
  231 + make.top.equalTo(self.topLine2View.snp.bottom).offset(adapt_length(length: 20))
  232 + make.left.equalTo(15)
  233 + }
  234 + self.topWhiteView.addSubview(self.canjiaRightTitleLabel)
  235 + self.canjiaRightTitleLabel.snp.makeConstraints { make in
  236 + make.centerY.equalTo(self.canjiaTitleLabel.snp.centerY)
  237 + make.right.equalToSuperview().offset(-28)
  238 + make.left.equalTo(self.canjiaTitleLabel.snp.right).offset(5)
  239 + make.height.equalTo(21)
  240 + }
  241 + self.topWhiteView.addSubview(self.canjiaRightImgView)
  242 + self.canjiaRightImgView.snp.makeConstraints { make in
  243 + make.width.height.equalTo(13)
  244 + make.centerY.equalTo(self.canjiaRightTitleLabel.snp.centerY)
  245 + make.left.equalTo(self.canjiaRightTitleLabel.snp.right)
  246 + }
  247 + self.topWhiteView.addSubview(self.canjiaTapView)
  248 + self.canjiaTapView.snp.makeConstraints { make in
  249 + make.left.right.bottom.equalToSuperview()
  250 + make.top.equalTo(self.topLine2View.snp.bottom)
  251 + }
  252 +
  253 + self.topWhiteView.addSubview(self.topLine3View)
  254 + self.topLine3View.snp.makeConstraints { make in
  255 + make.top.equalTo(self.canjiaTitleLabel.snp.bottom).offset(adapt_length(length: 20))
  256 + make.left.equalTo(15)
  257 + make.height.equalTo(0.5)
  258 + make.right.equalToSuperview().offset(-15)
  259 + }
  260 + self.topWhiteView.addSubview(self.endTimeTitleLabel)
  261 + self.endTimeTitleLabel.snp.makeConstraints { make in
  262 + make.top.equalTo(self.topLine3View.snp.bottom).offset(adapt_length(length: 20))
  263 + make.left.equalTo(15)
  264 + }
  265 + self.topWhiteView.addSubview(self.endTimeRightTitleLabel)
  266 + self.endTimeRightTitleLabel.snp.makeConstraints { make in
  267 + make.centerY.equalTo(self.endTimeTitleLabel.snp.centerY)
  268 + make.right.equalToSuperview().offset(-28)
  269 + make.left.equalTo(self.endTimeTitleLabel.snp.right).offset(5)
  270 + make.height.equalTo(21)
  271 + }
  272 + self.topWhiteView.addSubview(self.endTimeRightImgView)
  273 + self.endTimeRightImgView.snp.makeConstraints { make in
  274 + make.width.height.equalTo(13)
  275 + make.centerY.equalTo(self.endTimeRightTitleLabel.snp.centerY)
  276 + make.left.equalTo(self.endTimeRightTitleLabel.snp.right)
  277 + }
  278 + self.topWhiteView.addSubview(self.endTimeTapView)
  279 + self.endTimeTapView.snp.makeConstraints { make in
  280 + make.left.right.bottom.equalToSuperview()
  281 + make.top.equalTo(self.topLine3View.snp.bottom)
  282 + }
  283 + self.topWhiteView.addSubview(self.zhiJinBtn)
  284 + self.zhiJinBtn.snp.makeConstraints { make in
  285 + make.right.equalToSuperview().offset(-15)
  286 + make.top.equalTo(self.endTimeTitleLabel.snp.bottom).offset(10)
  287 + make.width.equalTo(50)
  288 + make.height.equalTo(25)
  289 + }
  290 +
  291 + }
  292 +
  293 + // MARK: - UITextFieldDelegate
  294 + func textFieldDidEndEditing(_ textField: UITextField) {
  295 + currentViewController()?.view.endEditing(true)
  296 + }
  297 +
  298 + @objc func zhiYeTapAction(){
  299 + let vc = CNLiveSelectHangYeController()
  300 + vc.isAddWorkJiLu = true
  301 + vc.selectAddWorkZhiYeBlock = { zhiyeStr in
  302 + self.zhiyeStr = zhiyeStr
  303 + self.weizhiRightTitleLabel.text = zhiyeStr
  304 + }
  305 + navigationViewController().pushViewController(vc, animated: true)
  306 + }
  307 +
  308 + @objc func startTimeTapAction(){
  309 +
  310 + }
  311 + @objc func endTimeTapAction(){
  312 +
  313 + }
  314 +
  315 + @objc func zhiJinBtnAction(){
  316 +
  317 + }
  318 +
  319 +}
... ...
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Work/CNLiveVitaeAddWorkSecCell.swift 0 → 100644
  1 +//
  2 +// CNLiveVitaeAddWorkSecCell.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2024/7/29.
  6 +// 新增工作记录Seccell
  7 +
  8 +import Foundation
  9 +import Kingfisher
  10 +import SnapKit
  11 +
  12 +typealias UpdateAddWorkSecCellHeightBlock = (_ currentCell: CNLiveVitaeAddWorkSecCell ,_ height:Int) -> Void
  13 +
  14 +class CNLiveVitaeAddWorkSecCell:UITableViewCell, UITextViewDelegate{
  15 + var updateAddWorkSecCellHeightBlock:UpdateAddWorkSecCellHeightBlock?
  16 + lazy var topWhiteView :UIView = {
  17 + let bottomNavView = UIView()
  18 + bottomNavView.backgroundColor = .white
  19 + bottomNavView.layer.cornerRadius = 9
  20 + bottomNavView.clipsToBounds = true
  21 + return bottomNavView
  22 + }()
  23 + lazy var weizhiTitleLabel: UILabel = {
  24 + let titleLabel = UILabel.init()
  25 + titleLabel.textColor = HexColor("#333333")
  26 + titleLabel.text = "经历描述"
  27 + titleLabel.textAlignment = .left
  28 + titleLabel.font = BoldFont_15
  29 + return titleLabel
  30 + }()
  31 + lazy var huoJiangBgView: UIView = {
  32 + let iView = UIView.init()
  33 + iView.backgroundColor = HexColor("#F9F9F9")
  34 + iView.layer.cornerRadius = 6
  35 + iView.layer.masksToBounds = true
  36 + return iView
  37 + }()
  38 +
  39 + lazy var huoJiangtextView : UITextView = {
  40 + let p_textView = UITextView.init()
  41 + p_textView.backgroundColor = .clear
  42 + p_textView.font = Font_15
  43 + p_textView.text = "获奖描述"
  44 + p_textView.textColor = HexColor("#B3B3B3")
  45 + p_textView.delegate = self
  46 + return p_textView
  47 + }()
  48 + lazy var huoJiangNumberLabel : UILabel = {
  49 + let numberLabel = UILabel.init()
  50 + numberLabel.text = "0/1000"
  51 + numberLabel.textColor = .black
  52 + numberLabel.font = Font_15
  53 + numberLabel.textAlignment = .right
  54 + return numberLabel
  55 + }()
  56 + lazy var uploadPingzhengTitleLabel: UILabel = {
  57 + let titleLabel = UILabel.init()
  58 + titleLabel.textColor = HexColor("#333333")
  59 + titleLabel.text = "上传凭证"
  60 + titleLabel.textAlignment = .left
  61 + titleLabel.font = BoldFont_15
  62 + return titleLabel
  63 + }()
  64 +
  65 + var _selectUploadImageView:CNLiveAddGoodsSelectUploadImageView?
  66 + var selectUploadImageView:CNLiveAddGoodsSelectUploadImageView?{
  67 + get{
  68 + if _selectUploadImageView == nil{
  69 + _selectUploadImageView = CNLiveAddGoodsSelectUploadImageView(frame: CGRect(x: 0, y: 248, width: KSreenWidth, height: 100))
  70 + _selectUploadImageView?.maxSelectImageCount = 9
  71 + _selectUploadImageView?.isAbleSelectVideo = true
  72 + _selectUploadImageView?.deleteImage = UIImage(named: "DS_happ_daren_dynamic_delete")
  73 + _selectUploadImageView?.endUploadImageCallBack = {
  74 + let imageUrl = self.selectUploadImageView?.getCurrentSelectImageUrls().first
  75 + self.uploadImageSuceessBlock!(imageUrl ?? "")
  76 + }
  77 +
  78 + }
  79 + return _selectUploadImageView
  80 + }
  81 + set{
  82 + _selectUploadImageView = newValue
  83 +
  84 + }
  85 + }
  86 + var uploadImageSuceessBlock:uploadImageViewSuceessBlock?
  87 +
  88 + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  89 + super.init(style: style, reuseIdentifier: reuseIdentifier)
  90 + self.selectionStyle = .none
  91 + self.backgroundColor = .clear
  92 + self.contentView.backgroundColor = .clear
  93 + self.initUI()
  94 + }
  95 +
  96 + required init?(coder: NSCoder) {
  97 + fatalError("init(coder:) has not been implemented")
  98 + }
  99 +
  100 + func initUI(){
  101 + self.contentView.addSubview(self.topWhiteView)
  102 + self.topWhiteView.snp.makeConstraints { make in
  103 + make.top.equalTo(15)
  104 + make.left.equalTo(15)
  105 + make.right.equalToSuperview().offset(-15)
  106 + make.height.equalTo(368)
  107 + }
  108 + self.topWhiteView.addSubview(self.weizhiTitleLabel)
  109 + self.weizhiTitleLabel.snp.makeConstraints { make in
  110 + make.top.equalTo(20)
  111 + make.left.equalTo(15)
  112 + make.width.equalTo(62)
  113 + make.height.equalTo(21)
  114 + }
  115 + self.topWhiteView.addSubview(self.huoJiangBgView)
  116 + self.huoJiangBgView.snp.makeConstraints { make in
  117 + make.top.equalTo(self.weizhiTitleLabel.snp.bottom).offset(10)
  118 + make.left.equalToSuperview().offset(15)
  119 + make.right.equalToSuperview().offset(-15)
  120 + make.height.equalTo(130)
  121 + }
  122 +
  123 + self.huoJiangBgView.addSubview(self.huoJiangtextView)
  124 + self.huoJiangtextView.snp.makeConstraints { make in
  125 + make.top.left.equalToSuperview().offset(15)
  126 + make.right.equalToSuperview().offset(-15)
  127 + make.bottom.equalToSuperview().offset(-31)
  128 + }
  129 +
  130 + self.huoJiangBgView.addSubview(self.huoJiangNumberLabel)
  131 + self.huoJiangNumberLabel.snp.makeConstraints { make in
  132 + make.width.equalTo(200)
  133 + make.bottom.equalToSuperview().offset(-10)
  134 + make.right.equalToSuperview().offset(-15)
  135 + make.height.equalTo(21)
  136 + }
  137 +
  138 + self.topWhiteView.addSubview(self.uploadPingzhengTitleLabel)
  139 + self.uploadPingzhengTitleLabel.snp.makeConstraints { make in
  140 + make.top.equalTo(self.huoJiangBgView.snp.bottom).offset(36)
  141 + make.left.equalTo(15)
  142 + make.width.equalTo(62)
  143 + make.height.equalTo(21)
  144 + }
  145 +
  146 + self.topWhiteView.addSubview(self.selectUploadImageView!)
  147 +
  148 + }
  149 +
  150 +
  151 + func textViewDidEndEditing(_ textView: UITextView) {
  152 + if textView.text.lengthOfBytes(using: .utf8) < 1 {
  153 + textView.text = textView_placeholder
  154 + textView.textColor = HexColor("#B3B3B3")
  155 +// setupWithSendBtnStatue(statue: false)
  156 + }
  157 + }
  158 + func textViewDidBeginEditing(_ textView: UITextView) {
  159 + if textView.text == "获奖描述" {
  160 + textView.text = ""
  161 + textView.textColor = .black
  162 +// setupWithSendBtnStatue(statue: true)
  163 + }
  164 + }
  165 + func textViewDidChange(_ textView: UITextView) {
  166 + let maxCount = 1000
  167 + if textView.text.count > maxCount {
  168 + let selectRang = textView.markedTextRange
  169 +
  170 + if let selectRang = selectRang {
  171 + let position = textView.position(from: (selectRang.start), offset: 0)
  172 + if position != nil {
  173 + return
  174 + }
  175 + }
  176 +
  177 + let textContent = textView.text ?? ""
  178 + let textNum = textContent.count
  179 +
  180 + if textNum > maxCount {
  181 + textView.text = string_prefix(index: maxCount, text: textContent)
  182 + }
  183 + }
  184 + self.huoJiangNumberLabel.text = "\(textView.text.count)/1000"
  185 + }
  186 + func textView(_ textView: UITextView, shouldChangeTextIn range: NSRange, replacementText text: String) -> Bool {
  187 + if textView.returnKeyType == .done {
  188 + if text == "\n" {
  189 + textView.resignFirstResponder()
  190 + }
  191 + return true
  192 + }
  193 + return true
  194 + }
  195 +
  196 + private func string_prefix(index: Int, text: String) -> String {
  197 + if text.count <= index {
  198 + return text
  199 + } else {
  200 + let index = text.index(text.startIndex, offsetBy: index)
  201 + let str = text.prefix(upTo: index)
  202 + return String(str)
  203 + }
  204 + }
  205 +
  206 +}
... ...
metaCode/Classes/Main/HomePage/View/DigitalAuthViews/Vitae/Work/CNLiveVitaeAddWorkThreeCell.swift 0 → 100644
  1 +//
  2 +// CNLiveVitaeAddWorkThreeCell.swift
  3 +// metaCode
  4 +//
  5 +// Created by zx on 2024/7/29.
  6 +// 新增工作记录Threecell
  7 +
  8 +import Foundation
  9 +import Kingfisher
  10 +import SnapKit
  11 +
  12 +class CNLiveVitaeAddWorkThreeCell:UITableViewCell, UITextFieldDelegate{
  13 + lazy var topWhiteView :UIView = {
  14 + let bottomNavView = UIView()
  15 + bottomNavView.backgroundColor = .white
  16 + bottomNavView.layer.cornerRadius = 9
  17 + bottomNavView.clipsToBounds = true
  18 + return bottomNavView
  19 + }()
  20 +
  21 + lazy var lianxiTitleLabel: UILabel = {
  22 + let titleLabel = UILabel.init()
  23 + titleLabel.textColor = HexColor("#333333")
  24 + titleLabel.text = "所在单位"
  25 + titleLabel.textAlignment = .left
  26 + titleLabel.font = BoldFont_15
  27 + titleLabel.adjustsFontSizeToFitWidth=true
  28 + return titleLabel
  29 + }()
  30 + lazy var lianxiDesTitleLabel: UILabel = {
  31 + let titleLabel = UILabel.init()
  32 + titleLabel.textColor = HexColor("#B4B4B4")
  33 + titleLabel.text = "(选填)"
  34 + titleLabel.textAlignment = .left
  35 + titleLabel.font = Font_13
  36 + titleLabel.adjustsFontSizeToFitWidth=true
  37 + return titleLabel
  38 + }()
  39 + lazy var phoneTextFiled :UITextField = {
  40 + let textFiled = UITextField()
  41 + textFiled.textAlignment = .right
  42 + textFiled.font = Font_15
  43 + textFiled.attributedPlaceholder = NSAttributedString(string: "请填写", attributes: [.foregroundColor: HexColor("#B4B4B4")!])
  44 + textFiled.textColor = HexColor("#333333")
  45 + textFiled.delegate = self
  46 + textFiled.returnKeyType = .done
  47 + textFiled.clearButtonMode = .whileEditing
  48 + return textFiled
  49 + }()
  50 + lazy var topLine1View :UIView = {
  51 + let bottomNavView = UIView()
  52 + bottomNavView.backgroundColor = HexColor("#EAEAEA")
  53 + return bottomNavView
  54 + }()
  55 + lazy var weizhiTitleLabel: UILabel = {
  56 + let titleLabel = UILabel.init()
  57 + titleLabel.textColor = HexColor("#333333")
  58 + titleLabel.text = "工作地点"
  59 + titleLabel.textAlignment = .left
  60 + titleLabel.font = BoldFont_15
  61 + return titleLabel
  62 + }()
  63 + lazy var weizhiDesTitleLabel: UILabel = {
  64 + let titleLabel = UILabel.init()
  65 + titleLabel.textColor = HexColor("#B4B4B4")
  66 + titleLabel.text = "(选填)"
  67 + titleLabel.textAlignment = .left
  68 + titleLabel.font = Font_13
  69 + titleLabel.adjustsFontSizeToFitWidth=true
  70 + return titleLabel
  71 + }()
  72 +
  73 + lazy var weizhiRightTitleLabel: UILabel = {
  74 + let titleLabel = UILabel.init()
  75 + titleLabel.textColor = HexColor("#333333")
  76 + titleLabel.text = "请选择"
  77 + titleLabel.textAlignment = .right
  78 + titleLabel.font = Font_15
  79 + titleLabel.adjustsFontSizeToFitWidth=true
  80 + return titleLabel
  81 + }()
  82 + lazy var weiZhiRightImgView :UIImageView = {
  83 + let iconImgView = UIImageView()
  84 + iconImgView.image = UIImage(named: "mine_header_message_gray_more")
  85 + iconImgView.contentMode = .scaleAspectFit
  86 + return iconImgView
  87 + }()
  88 + lazy var weiZhiTapView :UIView = {
  89 + let bottomNavView = UIView()
  90 + bottomNavView.backgroundColor = .clear
  91 + bottomNavView.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(workCityTapAction)))
  92 + return bottomNavView
  93 + }()
  94 +
  95 +
  96 + override init(style: UITableViewCell.CellStyle, reuseIdentifier: String?) {
  97 + super.init(style: style, reuseIdentifier: reuseIdentifier)
  98 + self.selectionStyle = .none
  99 + self.backgroundColor = .clear
  100 + self.contentView.backgroundColor = .clear
  101 + self.initUI()
  102 + }
  103 +
  104 + required init?(coder: NSCoder) {
  105 + fatalError("init(coder:) has not been implemented")
  106 + }
  107 +
  108 + func initUI(){
  109 + self.contentView.addSubview(self.topWhiteView)
  110 + self.topWhiteView.snp.makeConstraints { make in
  111 + make.top.equalTo(15)
  112 + make.left.equalTo(15)
  113 + make.right.equalToSuperview().offset(-15)
  114 + make.height.equalTo(276)
  115 + }
  116 +
  117 + self.topWhiteView.addSubview(self.lianxiTitleLabel)
  118 + self.lianxiTitleLabel.snp.makeConstraints { make in
  119 + make.top.equalTo(20)
  120 + make.left.equalTo(15)
  121 + make.width.equalTo(62)
  122 + make.height.equalTo(21)
  123 + }
  124 + self.topWhiteView.addSubview(self.lianxiDesTitleLabel)
  125 + self.lianxiDesTitleLabel.snp.makeConstraints { make in
  126 + make.centerY.equalTo(self.lianxiTitleLabel.snp.centerY)
  127 + make.left.equalTo(self.lianxiTitleLabel.snp.right).offset(5)
  128 + make.width.equalTo(35)
  129 + make.height.equalTo(19)
  130 + }
  131 + self.topWhiteView.addSubview(self.phoneTextFiled)
  132 + self.phoneTextFiled.snp.makeConstraints { make in
  133 + make.centerY.equalTo(self.lianxiTitleLabel.snp.centerY)
  134 + make.left.equalTo(self.lianxiTitleLabel.snp.right).offset(10)
  135 + make.right.equalToSuperview().offset(-15)
  136 + make.height.equalTo(21)
  137 + }
  138 + self.topWhiteView.addSubview(self.topLine1View)
  139 + self.topLine1View.snp.makeConstraints { make in
  140 + make.top.equalTo(self.lianxiTitleLabel.snp.bottom).offset(adapt_length(length: 20))
  141 + make.left.equalTo(15)
  142 + make.height.equalTo(0.5)
  143 + make.right.equalToSuperview().offset(-15)
  144 + }
  145 +
  146 + self.topWhiteView.addSubview(self.weizhiTitleLabel)
  147 + self.weizhiTitleLabel.snp.makeConstraints { make in
  148 + make.top.equalTo(self.topLine1View.snp.bottom).offset(adapt_length(length: 20))
  149 + make.left.equalTo(15)
  150 + make.width.equalTo(62)
  151 + make.height.equalTo(21)
  152 + }
  153 + self.topWhiteView.addSubview(self.weizhiDesTitleLabel)
  154 + self.weizhiDesTitleLabel.snp.makeConstraints { make in
  155 + make.centerY.equalTo(self.weizhiTitleLabel.snp.centerY)
  156 + make.left.equalTo(self.weizhiTitleLabel.snp.right).offset(5)
  157 + make.width.equalTo(35)
  158 + make.height.equalTo(19)
  159 + }
  160 + self.topWhiteView.addSubview(self.weizhiRightTitleLabel)
  161 + self.weizhiRightTitleLabel.snp.makeConstraints { make in
  162 + make.top.equalTo(self.weizhiTitleLabel.snp.top)
  163 + make.right.equalToSuperview().offset(-28)
  164 + make.left.equalTo(self.weizhiTitleLabel.snp.right).offset(5)
  165 + }
  166 + self.topWhiteView.addSubview(self.weiZhiRightImgView)
  167 + self.weiZhiRightImgView.snp.makeConstraints { make in
  168 + make.width.height.equalTo(13)
  169 + make.centerY.equalTo(self.weizhiRightTitleLabel.snp.centerY)
  170 + make.left.equalTo(self.weizhiRightTitleLabel.snp.right)
  171 + }
  172 +
  173 + self.topWhiteView.addSubview(self.weiZhiTapView)
  174 + self.weiZhiTapView.snp.makeConstraints { make in
  175 + make.left.right.bottom.equalToSuperview()
  176 + make.top.equalTo(self.topLine1View.snp.bottom)
  177 + }
  178 +
  179 +
  180 + }
  181 +
  182 + // MARK: - UITextFieldDelegate
  183 + func textFieldDidEndEditing(_ textField: UITextField) {
  184 + currentViewController()?.view.endEditing(true)
  185 + }
  186 +
  187 + @objc func workCityTapAction(){
  188 +
  189 + }
  190 +
  191 +}
  192 +
... ...
metaCode/Classes/Main/MinePage/Controller/CNLiveMineViewController.swift
... ... @@ -272,8 +272,7 @@ extension CNLiveMineViewController {
272 272 }
273 273 if indexPath.section == 1 {
274 274 //我的身份跳转 身份大库
275   - navigationViewController().pushViewController(CNLiveIdentityRepositoryController(), animated: true)
276   -// self.navigationController?.pushViewController(CNLiveMineAddInfoViewController.init(show_type: .info), animated: true)
  275 + navigationViewController().pushViewController(CNLiveDigitalAssetsController(), animated: true)
277 276 }
278 277 if indexPath.section == 2 {
279 278 //我的数字简历
... ... @@ -300,7 +299,10 @@ extension CNLiveMineViewController {
300 299 }
301 300 if indexPath.section == 3 {
302 301 //官方认证
303   - navigationViewController().pushViewController(CNLiveDigitalAssetsController(), animated: true)
  302 + let vc = CNLiveIdentityRepositoryController()
  303 + vc.channelId = ""
  304 + vc.type = "1"
  305 + navigationViewController().pushViewController(vc, animated: true)
304 306 }
305 307  
306 308 if indexPath.section == 4 && indexPath.row == 0 {
... ...