Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
G
galaxy-iOS
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
mobile-group
galaxy-iOS
Commits
170b6236
Commit
170b6236
authored
Mar 05, 2024
by
Steven杜宇
1
Browse files
Options
Browse Files
Download
Plain Diff
no message
parents
df29bb15
da0981c1
Changes
35
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
35 changed files
with
864 additions
and
120 deletions
+864
-120
project.pbxproj
galaxy/galaxy.xcodeproj/project.pbxproj
+36
-0
YHInformationPerfectListVC.swift
...telligentService(服务中心)/C/YHInformationPerfectListVC.swift
+2
-2
YHBasicInfoFillBottomView.swift
...)/BaseInformation(基本资料)/V/YHBasicInfoFillBottomView.swift
+1
-1
YHBottomNextView.swift
...MainApplicantInformation(主申请人信息)/V/YHBottomNextView.swift
+1
-1
YHImagePickerView.swift
...ainApplicantInformation(主申请人信息)/V/YHImagePickerView.swift
+1
-4
YHMainInformationCardTableViewCell.swift
...mation(主申请人信息)/V/YHMainInformationCardTableViewCell.swift
+12
-0
YHPreviewControllerHoldViewController.swift
...ist(个人信息预览)/C/YHPreviewControllerHoldViewController.swift
+2
-1
YHPreviewMainViewController.swift
...ersonInfoList(个人信息预览)/C/YHPreviewMainViewController.swift
+0
-14
YHPreviewWorkExpViewController.swift
...onInfoList(个人信息预览)/C/YHPreviewWorkExpViewController.swift
+59
-0
YHPreviewInfoSessionModel.swift
.../PersonInfoList(个人信息预览)/M/YHPreviewInfoSessionModel.swift
+1
-2
YHWorkExpDataModel.swift
...ess(流程)/PersonInfoList(个人信息预览)/M/YHWorkExpDataModel.swift
+14
-0
YHWorkExpInfoPreviewModel.swift
.../PersonInfoList(个人信息预览)/M/YHWorkExpInfoPreviewModel.swift
+111
-0
YHPreviewInfoCell.swift
...cess(流程)/PersonInfoList(个人信息预览)/V/YHPreviewInfoCell.swift
+3
-6
YHPreviewViewModel.swift
...ss(流程)/PersonInfoList(个人信息预览)/VM/YHPreviewViewModel.swift
+108
-0
YHImageClipperViewController.swift
...s(流程)/WorkExperience/C/YHImageClipperViewController.swift
+149
-0
YHImageResultViewController.swift
...ss(流程)/WorkExperience/C/YHImageResultViewController.swift
+86
-0
YHImageViewController.swift
...eProcess(流程)/WorkExperience/C/YHImageViewController.swift
+84
-0
YHWorkExperienceViewController.swift
...流程)/WorkExperience/C/YHWorkExperienceViewController.swift
+16
-38
YHWorkIntroductionViewController.swift
...)/WorkExperience/C/YHWorkIntroductionViewController.swift
+6
-19
YHClipperButton.swift
...ServiceProcess(流程)/WorkExperience/V/YHClipperButton.swift
+62
-0
YHClipperView.swift
...)/ServiceProcess(流程)/WorkExperience/V/YHClipperView.swift
+0
-0
YHResultBottomView.swift
...viceProcess(流程)/WorkExperience/V/YHResultBottomView.swift
+59
-0
YHWorkResponsibilitiesTableViewCell.swift
...orkExperience/V/YHWorkResponsibilitiesTableViewCell.swift
+0
-1
YHInformationFillTipsAlertView.swift
...igentService(服务中心)/V/YHInformationFillTipsAlertView.swift
+1
-1
YHLoginTipsView.swift
.../Modules/IntelligentService(服务中心)/V/YHLoginTipsView.swift
+1
-1
YHSubmintAllInfoSuccessTipView.swift
...igentService(服务中心)/V/YHSubmintAllInfoSuccessTipView.swift
+1
-1
YHSubmitAllInfoCheckView.swift
...IntelligentService(服务中心)/V/YHSubmitAllInfoCheckView.swift
+2
-1
UIButton+Extension.swift
...y/galaxy/Classes/Tools/Extention/UIButton+Extension.swift
+0
-27
YHAllApiName.swift
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
+2
-0
Contents.json
...viceCenter/工作经验/image_clipper_back.imageset/Contents.json
+22
-0
image_clipper_back@2x.png
...作经验/image_clipper_back.imageset/image_clipper_back@2x.png
+0
-0
image_clipper_back@3x.png
...作经验/image_clipper_back.imageset/image_clipper_back@3x.png
+0
-0
Contents.json
...ceCenter/工作经验/image_clipper_cannal.imageset/Contents.json
+22
-0
image_clipper_cannal@2x.png
...image_clipper_cannal.imageset/image_clipper_cannal@2x.png
+0
-0
image_clipper_cannal@3x.png
...image_clipper_cannal.imageset/image_clipper_cannal@3x.png
+0
-0
No files found.
galaxy/galaxy.xcodeproj/project.pbxproj
View file @
170b6236
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/C/YHInformationPerfectListVC.swift
View file @
170b6236
...
...
@@ -233,7 +233,7 @@ extension YHInformationPerfectListVC {
make
.
height
.
equalTo
(
48
)
}
submitBtn
.
layoutIfNeeded
()
submitBtn
.
backgroundGradient
()
submitBtn
.
addYinHeGradualLayer
()
submitBtn
.
isHidden
=
hasSubmitFlag
...
...
@@ -285,7 +285,7 @@ extension YHInformationPerfectListVC {
make
.
left
.
equalTo
(
submitHoldView
.
snp
.
centerX
)
.
offset
(
6
)
}
infoButton
.
layoutIfNeeded
()
infoButton
.
backgroundGradient
()
infoButton
.
addYinHeGradualLayer
()
homeTableView
.
delegate
=
self
homeTableView
.
dataSource
=
self
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/BaseInformation(基本资料)/V/YHBasicInfoFillBottomView.swift
View file @
170b6236
...
...
@@ -72,7 +72,7 @@ private extension YHBasicInfoFillBottomView {
}
nextButton
.
layoutIfNeeded
()
nextButton
.
backgroundGradient
()
nextButton
.
addYinHeGradualLayer
()
}
@objc
func
save
()
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/MainApplicantInformation(主申请人信息)/V/YHBottomNextView.swift
View file @
170b6236
...
...
@@ -66,7 +66,7 @@ class YHBottomNextView: UIView {
nextButton
.
layoutIfNeeded
()
nextButton
.
backgroundGradient
()
nextButton
.
addYinHeGradualLayer
()
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/MainApplicantInformation(主申请人信息)/V/YHImagePickerView.swift
View file @
170b6236
...
...
@@ -173,8 +173,6 @@ class YHImagePickerView: UIView {
imagePicker
.
delegate
=
self
//设置来源
imagePicker
.
sourceType
=
.
camera
//允许编辑
imagePicker
.
allowsEditing
=
true
//打开相机
UIViewController
.
current
?
.
present
(
imagePicker
,
animated
:
true
,
completion
:
{
()
->
Void
in
...
...
@@ -190,7 +188,6 @@ class YHImagePickerView: UIView {
let
imagePicker
=
UIImagePickerController
()
imagePicker
.
delegate
=
self
imagePicker
.
sourceType
=
.
photoLibrary
imagePicker
.
allowsEditing
=
true
// 这一句,开始调用图库
UIViewController
.
current
?
.
present
(
imagePicker
,
animated
:
true
)
}
...
...
@@ -304,7 +301,7 @@ extension YHImagePickerView: UINavigationControllerDelegate, UIImagePickerContro
"businessCode"
:
"4001001"
]
// 创建MultipartFormData对象
var
multipartFormData
=
MultipartFormData
()
let
multipartFormData
=
MultipartFormData
()
// 将图片添加到multipartFormData中
multipartFormData
.
append
(
imageData
,
withName
:
"file"
,
fileName
:
"image.jpg"
,
mimeType
:
"image/jpeg"
)
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/MainApplicantInformation(主申请人信息)/V/YHMainInformationCardTableViewCell.swift
View file @
170b6236
...
...
@@ -279,10 +279,16 @@ class YHMainInformationCardTableViewCell: UITableViewCell {
@objc
func
frontImageClick
()
{
if
type
==
.
identity
{
if
viewModel
.
mainModel
.
certificates
.
cn_identity_card
.
img_front
.
count
!=
0
{
let
vc
=
YHImageViewController
()
vc
.
imgString
=
viewModel
.
mainModel
.
certificates
.
cn_identity_card
.
img_front
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
return
}
}
else
{
if
viewModel
.
mainModel
.
certificates
.
hk_macao_pass
.
img_front
.
count
!=
0
{
let
vc
=
YHImageViewController
()
vc
.
imgString
=
viewModel
.
mainModel
.
certificates
.
hk_macao_pass
.
img_front
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
return
}
}
...
...
@@ -334,10 +340,16 @@ class YHMainInformationCardTableViewCell: UITableViewCell {
@objc
func
backSurfaceImageClick
()
{
if
type
==
.
identity
{
if
viewModel
.
mainModel
.
certificates
.
cn_identity_card
.
img_back
.
count
!=
0
{
let
vc
=
YHImageViewController
()
vc
.
imgString
=
viewModel
.
mainModel
.
certificates
.
cn_identity_card
.
img_back
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
return
}
}
else
{
if
viewModel
.
mainModel
.
certificates
.
hk_macao_pass
.
img_back
.
count
!=
0
{
let
vc
=
YHImageViewController
()
vc
.
imgString
=
viewModel
.
mainModel
.
certificates
.
hk_macao_pass
.
img_back
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
return
}
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/C/YHPreviewControllerHoldViewController.swift
View file @
170b6236
...
...
@@ -75,7 +75,8 @@ class YHPreviewControllerHoldViewController: UIViewController {
arrItemVCs
.
append
(
vc
)
}
do
{
let
vc
=
YHPreviewFamilyMemberViewController
()
//工作经验
let
vc
=
YHPreviewWorkExpViewController
()
arrItemVCs
.
append
(
vc
)
}
do
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/C/YHPreviewMainViewController.swift
View file @
170b6236
...
...
@@ -212,20 +212,6 @@ extension YHPreviewMainViewController {
make
.
right
.
equalTo
(
-
20.5
)
}
}
// private func loadFirstItem() {
// DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// self.homeTableView.es.stopPullToRefresh(ignoreDate: true,ignoreFooter: false)
// self.homeTableView.reloadData()
// }
// }
//
// private func loadFakeData() {
// DispatchQueue.main.asyncAfter(deadline: .now() + 1) {
// self.homeTableView.es.stopLoadingMore()
// self.homeTableView.reloadData()
// }
// }
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/C/YHPreviewWorkExpViewController.swift
0 → 100644
View file @
170b6236
//
// YHPreviewWorkExpViewController.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
/*
*工作经验 预览
*/
class
YHPreviewWorkExpViewController
:
YHPreviewBaseViewController
{
private
let
previewVM
:
YHPreviewViewModel
=
YHPreviewViewModel
()
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
setupUI
()
loadData
()
}
}
private
extension
YHPreviewWorkExpViewController
{
func
setupUI
()
{
self
.
homeTableView
.
register
(
YHPreviewInfoCell
.
self
,
forCellReuseIdentifier
:
YHPreviewInfoCell
.
cellReuseIdentifier
)
self
.
homeTableView
.
reloadData
()
}
func
loadData
()
{
if
let
orderID
=
UserDefaults
.
standard
.
value
(
forKey
:
"orderIdForPreview"
)
{
previewVM
.
getPreviewForWorkExpInfo
(
params
:
[
"order_id"
:
orderID
])
{
success
,
error
in
if
success
==
true
{
}
else
{
}
self
.
homeTableView
.
reloadData
()
}
}
else
{
printLog
(
"error : orderID 为空"
)
}
}
}
// MARK: - UITableViewDelegate 和 UITableViewDataSource
extension
YHPreviewWorkExpViewController
{
override
func
tableView
(
_
tableView
:
UITableView
,
numberOfRowsInSection
section
:
Int
)
->
Int
{
return
previewVM
.
arrDataForWorkExpInfo
.
count
}
override
func
tableView
(
_
tableView
:
UITableView
,
cellForRowAt
indexPath
:
IndexPath
)
->
UITableViewCell
{
let
cell
=
tableView
.
dequeueReusableCell
(
withClass
:
YHPreviewInfoCell
.
self
)
cell
.
selectionStyle
=
.
none
cell
.
model
=
previewVM
.
arrDataForWorkExpInfo
[
indexPath
.
row
]
return
cell
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/M/YHPreviewInfoSessionModel.swift
View file @
170b6236
...
...
@@ -14,10 +14,9 @@ enum YHPreviewInfoSessionModelType: Int {
case
idCardInfoType
=
1
//1-证件信息 类型
case
idPictureType
=
2
//2-证件照片 类型
case
questionAndAnswer
=
3
//3-问答 类型
case
workExp
=
4
//4-工作经验
}
struct
YHPreviewInfoSessionModel
{
var
cellType
:
YHPreviewInfoSessionModelType
=
.
countryInfoType
var
cellTitle
:
String
=
""
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/M/YHWorkExpDataModel.swift
0 → 100644
View file @
170b6236
//
// YHWorkExpDataModel.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
struct
YHWorkExpDataModel
{
var
title
:
String
var
data
:
[
Any
]
=
[]
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/M/YHWorkExpInfoPreviewModel.swift
0 → 100644
View file @
170b6236
//
// WorkExpInfoPreviewModel.swift
// galaxy
//
// Created by davidhuangA on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
import
SmartCodable
class
YHWorkExpInfoPreviewModel
:
SmartCodable
{
var
list
:
[
WorkExpInfoPreviewDetailModel
]?
var
count
:
Int
=
0
required
init
()
{
}
}
class
WorkExpInfoPreviewDetailModel
:
SmartCodable
{
var
id
:
Int
=
0
var
order_id
:
Int
=
0
var
company_name
:
String
=
""
var
is_famous_enterprise
:
Int
=
0
var
duty
:
String
=
""
var
entry_time
:
String
=
""
var
departure_time
:
String
=
""
var
industry
:
String
=
""
var
location
:
AddressPreviewModel
?
var
location_aboard
:
Int
=
0
var
professional_level
:
Int
=
0
var
professional_other
:
String
=
""
var
position
:
String
=
""
var
remark
:
String
=
""
var
old_id
:
Int
=
0
var
created_at
:
String
=
""
var
updated_at
:
String
=
""
var
is_show
:
Int
=
1
//1.保存会显示到列表上
var
deleted_at
:
String
=
""
var
operator_name
:
String
=
""
var
operator_english_name
:
String
=
""
var
operator_id
:
Int
=
0
var
work_certificate
:
String
=
""
var
executives_certificate
:
String
=
""
var
is_executives
:
Int
=
0
var
wduty
:
String
=
""
var
highlights
:
String
=
""
var
file
:
[
WorkExpFilePreviewModel
]?
var
not_need_upload_file
:
Int
=
0
var
company_member_total
:
Int
=
0
var
administrative_level
:
Int
=
0
var
company_manage_total
:
Int
=
0
var
top_manager_start_at
:
String
=
""
var
top_manager_end_at
:
String
=
""
var
master_of_important_project
:
Int
=
0
var
match_listing
:
Int
=
0
var
is_synthetic
:
Int
=
0
var
step
:
Int
=
0
var
create_from_appid
:
Int
=
0
var
update_from_appid
:
Int
=
0
var
international_work_experience
:
Int
=
0
var
turnover
:
Int
=
0
var
business_nature
:
String
=
""
var
company_website
:
String
=
""
var
company_introduce
:
String
=
""
var
business_remark
:
String
=
""
var
is_project_introduction
:
Int
=
0
var
customer_center_id
:
Int
=
0
var
projects
:
[
ProjectPreviewModel
]?
required
init
()
{
}
}
class
WorkExpFilePreviewModel
:
SmartCodable
{
var
fileName
:
String
=
""
var
fileUrl
:
String
=
""
required
init
()
{
}
}
class
AddressPreviewModel
:
SmartCodable
{
var
area
:
[
String
]
=
[]
var
country
:
String
=
""
var
details
:
String
=
""
var
foreign
:
String
=
""
required
init
()
{
}
}
class
ProjectPreviewModel
:
SmartCodable
{
var
id
:
Int
=
0
var
order_id
:
Int
=
0
var
work_id
:
Int
=
0
var
project_name
:
String
=
""
var
project_start_time
:
String
=
""
var
project_end_time
:
String
=
""
var
project_highlights
:
String
=
""
var
update_from_appid
:
Int
=
0
var
create_from_appid
:
Int
=
0
var
customer_center_id
:
Int
=
0
var
created_at
:
String
=
""
var
updated_at
:
String
=
""
var
deleted_at
:
String
=
""
required
init
()
{
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/V/YHPreviewInfoCell.swift
View file @
170b6236
...
...
@@ -61,7 +61,6 @@ extension YHPreviewInfoCell {
}
}
else
if
model
?
.
cellType
==
.
idCardInfoType
{
guard
let
model
=
model
else
{
return
}
let
view
=
YHPreviewInfoCertificateInformationItemsView
(
frame
:
.
zero
)
view
.
dataModel
=
model
...
...
@@ -71,8 +70,6 @@ extension YHPreviewInfoCell {
}
}
else
if
model
?
.
cellType
==
.
idPictureType
{
guard
let
model
=
model
else
{
return
}
let
view
=
YHPreviewInfoCertificatePictureItemsView
(
frame
:
.
zero
)
view
.
dataModel
=
model
...
...
@@ -81,9 +78,7 @@ extension YHPreviewInfoCell {
make
.
edges
.
equalTo
(
0
)
}
}
else
if
model
?
.
cellType
==
.
questionAndAnswer
{
guard
let
model
=
model
else
{
return
}
let
view
=
YHPreviewInfoQuestionAndAnswerItemsView
(
frame
:
.
zero
)
view
.
dataModel
=
model
...
...
@@ -92,7 +87,9 @@ extension YHPreviewInfoCell {
make
.
edges
.
equalTo
(
0
)
}
}
else
if
model
?
.
cellType
==
.
workExp
{
//工作经验
}
else
{
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/PersonInfoList(个人信息预览)/VM/YHPreviewViewModel.swift
View file @
170b6236
...
...
@@ -9,6 +9,10 @@
import
UIKit
class
YHPreviewViewModel
:
YHBaseViewModel
{
//工作经验
var
workExpInfoPreviewModel
:
YHWorkExpInfoPreviewModel
?
var
arrDataForWorkExpInfo
:
[
YHPreviewInfoSessionModel
]
=
[]
//学历/专业资格
var
academicInfoPreviewModel
:
YHAcademicPreviewModel
?
var
arrDataForAcademicInfo
:
[
YHPreviewInfoSessionModel
]
=
[]
...
...
@@ -37,6 +41,33 @@ class YHPreviewViewModel: YHBaseViewModel {
extension
YHPreviewViewModel
{
//工作经验 预览
func
getPreviewForWorkExpInfo
(
params
:[
String
:
Any
],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Preview
.
previewWorkExpInfoApi
let
_
=
YHNetRequest
.
getRequest
(
url
:
strUrl
,
params
:
params
)
{[
weak
self
]
json
,
code
in
guard
let
self
=
self
else
{
return
}
printLog
(
"model 是 ==>
\(
json
)
"
)
if
json
.
code
==
200
{
let
dic
=
json
.
data
as?
[
AnyHashable
:
Any
]
guard
let
resultModel
=
YHWorkExpInfoPreviewModel
.
deserialize
(
dict
:
dic
)
else
{
let
error
=
YHErrorModel
(
errorCode
:
YHErrorCode
.
dictParseError
.
rawValue
,
errorMsg
:
YHErrorCode
.
dictParseError
.
description
())
callBackBlock
(
false
,
error
)
return
}
workExpInfoPreviewModel
=
resultModel
installDataForWorkExpInfo
()
callBackBlock
(
true
,
nil
)
}
else
{
let
error
=
YHErrorModel
(
errorCode
:
Int32
(
json
.
code
),
errorMsg
:
json
.
msg
)
callBackBlock
(
false
,
error
)
}
}
failBlock
:
{
err
in
callBackBlock
(
false
,
err
)
}
}
//获取学历/专业 预览数据
func
getPreviewForAcademicInfo
(
params
:[
String
:
Any
],
callBackBlock
:
@escaping
(
_
success
:
Bool
,
_
error
:
YHErrorModel
?)
->
())
{
let
strUrl
=
YHBaseUrlManager
.
shared
.
curURL
()
+
YHAllApiName
.
Preview
.
previewAcademicAndProfessionalQualificationInfoApi
...
...
@@ -182,6 +213,83 @@ extension YHPreviewViewModel {
}
private
extension
YHPreviewViewModel
{
//组装 工作经验 数据
func
installDataForWorkExpInfo
()
{
guard
let
model0
=
workExpInfoPreviewModel
else
{
return
}
arrDataForWorkExpInfo
.
removeAll
()
if
let
list
=
model0
.
list
,
list
.
isEmpty
==
false
{
for
(
index
,
model
)
in
list
.
enumerated
()
{
var
arr1
:
[
YHPreviewQuestionAndAnswerModel
]
=
[]
do
{
//1.基本信息
let
tmp1
=
YHPreviewQuestionAndAnswerModel
(
question
:
"用人单位:"
,
answer
:
model
.
company_name
)
let
tmp2
=
YHPreviewQuestionAndAnswerModel
(
question
:
"用人单位性质:"
,
answer
:
model
.
industry
)
let
tmp3
=
YHPreviewQuestionAndAnswerModel
(
question
:
"用人单位介绍:"
,
answer
:
model
.
company_introduce
)
let
tmp4
=
YHPreviewQuestionAndAnswerModel
(
question
:
"用人单位官网:"
,
answer
:
model
.
company_website
)
var
title
=
"-"
if
let
item
=
model
.
location
{
title
=
item
.
country
+
"-"
+
item
.
details
}
let
tmp5
=
YHPreviewQuestionAndAnswerModel
(
question
:
"工作地点:"
,
answer
:
title
)
let
tmp6
=
YHPreviewQuestionAndAnswerModel
(
question
:
"职位:"
,
answer
:
model
.
position
)
let
tmp7
=
YHPreviewQuestionAndAnswerModel
(
question
:
"入职年月:"
,
answer
:
model
.
entry_time
)
let
tmp8
=
YHPreviewQuestionAndAnswerModel
(
question
:
"离职年月:"
,
answer
:
model
.
departure_time
)
let
tmp9
=
YHPreviewQuestionAndAnswerModel
(
question
:
"工作证明文件:"
,
answer
:
model
.
work_certificate
)
let
tmp10
=
YHPreviewQuestionAndAnswerModel
(
question
:
"职责性质:"
,
answer
:
model
.
duty
)
title
=
model
.
international_work_experience
==
0
?
"否"
:
"是"
let
tmp11
=
YHPreviewQuestionAndAnswerModel
(
question
:
"相关工作是否属国际工作经验:"
,
answer
:
title
)
let
tmp12
=
YHPreviewQuestionAndAnswerModel
(
question
:
"企业人数规模:"
,
answer
:
String
(
model
.
company_member_total
))
let
tmp13
=
YHPreviewQuestionAndAnswerModel
(
question
:
"行政架构层级:"
,
answer
:
String
(
model
.
administrative_level
))
let
tmp14
=
YHPreviewQuestionAndAnswerModel
(
question
:
"下属管理人数:"
,
answer
:
String
(
model
.
company_manage_total
))
let
tmp15
=
YHPreviewQuestionAndAnswerModel
(
question
:
"公司营业额/港元(近一年):"
,
answer
:
String
(
model
.
turnover
))
let
tmp16
=
YHPreviewQuestionAndAnswerModel
(
question
:
"职业水平类别:"
,
answer
:
String
(
model
.
professional_level
))
arr1
.
append
(
contentsOf
:
[
tmp1
,
tmp2
,
tmp3
,
tmp4
,
tmp5
,
tmp6
,
tmp7
,
tmp8
,
tmp9
,
tmp10
,
tmp11
,
tmp12
,
tmp13
,
tmp14
,
tmp15
,
tmp16
])
}
let
dataModel1
=
YHWorkExpDataModel
(
title
:
""
,
data
:
arr1
)
var
arr2
:
[
YHPreviewQuestionAndAnswerModel
]
=
[]
do
{
//2.
let
tmp1
=
YHPreviewQuestionAndAnswerModel
(
question
:
"公司业务性质/范畴/所属行业:"
,
answer
:
model
.
business_nature
)
let
tmp2
=
YHPreviewQuestionAndAnswerModel
(
question
:
"工作职责:"
,
answer
:
model
.
wduty
)
let
tmp3
=
YHPreviewQuestionAndAnswerModel
(
question
:
"工作亮点:"
,
answer
:
model
.
highlights
)
arr2
.
append
(
contentsOf
:
[
tmp1
,
tmp2
,
tmp3
])
}
let
dataModel2
=
YHWorkExpDataModel
(
title
:
""
,
data
:
arr2
)
var
arr3
:
[
Any
]
=
[]
do
{
//3.项目介绍
if
let
items
=
model
.
projects
,
items
.
isEmpty
==
false
{
for
(
index
,
item
)
in
items
.
enumerated
()
{
let
tmp1
=
YHPreviewQuestionAndAnswerModel
(
question
:
"项目名称"
,
answer
:
item
.
project_name
)
let
title
=
item
.
project_start_time
+
"-"
+
item
.
project_end_time
let
tmp2
=
YHPreviewQuestionAndAnswerModel
(
question
:
"项目时间"
,
answer
:
title
)
let
tmp3
=
YHPreviewQuestionAndAnswerModel
(
question
:
"项目业绩/亮点"
,
answer
:
item
.
project_highlights
)
var
arrT
:
[
YHPreviewQuestionAndAnswerModel
]
=
[
tmp1
,
tmp2
,
tmp3
]
let
dataModelTemp
=
YHWorkExpDataModel
(
title
:
""
,
data
:
arrT
)
arr3
.
append
(
dataModelTemp
)
}
}
}
do
{
//4.简历/工作总结:
if
let
items
=
model
.
file
,
items
.
isEmpty
==
false
{
var
arrT
:
[
Any
]
=
[]
for
(
index
,
item
)
in
items
.
enumerated
()
{
arrT
.
append
(
item
)
}
}
}
}
}
}
//组装 学历/专业资格 数据
func
installDataForAcademicInfo
()
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHImageClipperViewController.swift
0 → 100644
View file @
170b6236
//
// YHImageClipperViewController.swift
// galaxy
//
// Created by EDY on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
/*
let clipperVC = YHImageClipperViewController()
clipperVC.setBaseImg(image, resultImgSize: clippedImgSize!, type: clipperType)
clipperVC.cancelClippedHandler = {
}
clipperVC.successClippedHandler = {[weak self]img in
if self?.clippedImageHandler != nil{
self?.clippedImageHandler!(img)
}
}
self.pushViewController(clipperVC, animated: true)
*/
import
UIKit
class
YHImageClipperViewController
:
YHBaseViewController
{
typealias
CancelClippedHandlerBlock
=
()
->
Void
typealias
SuccessClippedHandlerBlock
=
(
_
content
:
String
)
->
Void
//MARK Public
public
var
cancelClippedHandler
:
CancelClippedHandlerBlock
?
public
var
successClippedHandler
:
SuccessClippedHandlerBlock
?
public
func
setBaseImg
(
_
baseImg
:
UIImage
,
resultImgSize
:
CGSize
,
type
:
YHClipperType
)
{
clipperView
=
YHClipperView
(
frame
:
CGRect
(
x
:
0
,
y
:
(
isIphoneX
()
?
88
:
64
),
width
:
KScreenWidth
,
height
:
KScreenHeight
-
k_Height_safeAreaInsetsBottom
()
-
54
-
(
isIphoneX
()
?
88
:
64
)))
clipperView
?
.
resultImgSize
=
resultImgSize
clipperView
?
.
baseImg
=
baseImg
clipperView
?
.
type
=
type
self
.
view
.
addSubview
(
clipperView
!
)
}
//MARK Private
private
var
clipperView
:
YHClipperView
?
private
var
cannalButton
:
YHClipperButton
!
private
var
backImageButton
:
YHClipperButton
!
private
var
sureButton
:
UIButton
!
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
view
.
backgroundColor
=
.
black
self
.
hidesBottomBarWhenPushed
=
true
if
#available(iOS 11.0, *)
{
}
else
{
self
.
automaticallyAdjustsScrollViewInsets
=
false
}
// Do any additional setup after loading the view.
setView
()
}
func
setView
()
{
sureButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
button
.
backgroundColor
=
UIColor
(
hex
:
0x2274ee
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"确认"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xffffff
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
kCornerRadius6
button
.
clipsToBounds
=
true
button
.
addTarget
(
self
,
action
:
#selector(
sureBtnClick
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
sureButton
)
sureButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
16
)
make
.
bottom
.
equalTo
(
-
10
-
k_Height_safeAreaInsetsBottom
())
make
.
height
.
equalTo
(
44
)
make
.
width
.
equalTo
(
93
)
}
cannalButton
=
{
let
button
=
YHClipperButton
()
button
.
setContent
(
"image_clipper_cannal"
,
"取消"
)
button
.
addTarget
(
self
,
action
:
#selector(
cannalBtnClick
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
cannalButton
)
cannalButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalTo
(
sureButton
.
snp
.
centerY
)
make
.
left
.
equalTo
(
30
)
make
.
height
.
equalTo
(
44
)
make
.
width
.
equalTo
(
30
)
}
backImageButton
=
{
let
button
=
YHClipperButton
()
button
.
setContent
(
"image_clipper_back"
,
"复原"
)
button
.
addTarget
(
self
,
action
:
#selector(
backImageBtnClick
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
backImageButton
)
backImageButton
.
snp
.
makeConstraints
{
make
in
make
.
centerY
.
equalTo
(
sureButton
.
snp
.
centerY
)
make
.
left
.
equalTo
(
80
)
make
.
height
.
equalTo
(
44
)
make
.
width
.
equalTo
(
30
)
}
}
@objc
private
func
cannalBtnClick
()
{
if
cancelClippedHandler
!=
nil
{
cancelClippedHandler
!
()
}
self
.
navigationController
?
.
popViewController
()
}
@objc
private
func
backImageBtnClick
()
{
// if cancelClippedHandler != nil {
// cancelClippedHandler!()
// }
}
@objc
private
func
sureBtnClick
()
{
let
clippedImg
=
self
.
clipperView
?
.
clipImg
()
let
vc
=
YHImageResultViewController
()
vc
.
img
=
clippedImg
vc
.
successHandlerBlock
=
{
[
weak
self
]
result
in
guard
let
self
=
self
else
{
return
}
if
successClippedHandler
!=
nil
{
successClippedHandler
!
(
result
)
}
}
self
.
navigationController
?
.
pushViewController
(
vc
)
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
navigationController
?
.
isNavigationBarHidden
=
false
}
override
func
didReceiveMemoryWarning
()
{
super
.
didReceiveMemoryWarning
()
// Dispose of any resources that can be recreated.
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHImageResultViewController.swift
0 → 100644
View file @
170b6236
//
// YHImageResultViewController.swift
// galaxy
//
// Created by EDY on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHImageResultViewController
:
YHBaseViewController
{
typealias
SuccessHandlerBlock
=
(
_
relult
:
String
)
->
Void
var
successHandlerBlock
:
SuccessHandlerBlock
?
var
resultView
:
UIImageView
!
var
bottomView
:
YHResultBottomView
!
var
img
:
UIImage
!
var
viewModel
:
YHWorkExperienceViewModel
!
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHWorkExperienceViewModel
()
gk_navTitle
=
"照片"
setView
()
// Do any additional setup after loading the view.
}
func
setView
()
{
resultView
=
{
let
step
=
UIImageView
()
step
.
contentMode
=
.
scaleAspectFit
step
.
image
=
img
return
step
}()
view
.
addSubview
(
resultView
)
resultView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
equalTo
(
view
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
54
)
}
bottomView
=
{
let
bottom
=
YHResultBottomView
()
bottom
.
nextblock
=
{[
weak
self
]
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
show
(
.
progress
(
message
:
""
))
self
.
viewModel
.
uploadImage
(
self
.
img
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
requestFileMessage
(
url
)
{[
weak
self
]
success
,
model
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
YHHUD
.
hide
()
if
let
block
=
self
.
successHandlerBlock
{
block
(
model
?
.
content
??
""
)
let
mineVC
=
YHWorkExperienceViewController
()
var
targetVC
:
UIViewController
!
for
controller
in
self
.
navigationController
!.
viewControllers
{
if
controller
.
isKind
(
of
:
mineVC
.
classForCoder
)
{
targetVC
=
controller
}
}
if
targetVC
!=
nil
{
self
.
navigationController
?
.
popToViewController
(
targetVC
,
animated
:
true
)
}
}
}
else
{
YHHUD
.
hide
()
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
}
}
}
}
}
return
bottom
}()
view
.
addSubview
(
bottomView
)
bottomView
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalTo
(
view
)
make
.
height
.
equalTo
(
k_Height_safeAreaInsetsBottom
()
+
64
)
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHImageViewController.swift
0 → 100644
View file @
170b6236
//
// YHImageViewController.swift
// galaxy
//
// Created by EDY on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHImageViewController
:
YHBaseViewController
{
var
resultView
:
UIImageView
!
var
resultButton
:
UIButton
!
var
imgString
:
String
!
var
viewModel
:
YHWorkExperienceViewModel
!
override
func
viewDidLoad
()
{
super
.
viewDidLoad
()
viewModel
=
YHWorkExperienceViewModel
()
view
.
backgroundColor
=
.
black
self
.
hidesBottomBarWhenPushed
=
true
if
#available(iOS 11.0, *)
{
}
else
{
self
.
automaticallyAdjustsScrollViewInsets
=
false
}
setView
()
getData
()
}
override
func
viewWillAppear
(
_
animated
:
Bool
)
{
super
.
viewWillAppear
(
animated
)
navigationController
?
.
isNavigationBarHidden
=
false
}
func
setView
()
{
resultView
=
{
let
step
=
UIImageView
()
step
.
contentMode
=
.
scaleAspectFit
return
step
}()
view
.
addSubview
(
resultView
)
resultView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
equalTo
(
view
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
54
)
}
resultButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
addTarget
(
self
,
action
:
#selector(
back
)
,
for
:
.
touchUpInside
)
return
button
}()
view
.
addSubview
(
resultButton
)
resultButton
.
snp
.
makeConstraints
{
make
in
make
.
top
.
equalTo
(
k_Height_NavigationtBarAndStatuBar
)
make
.
left
.
right
.
equalTo
(
view
)
make
.
bottom
.
equalTo
(
-
k_Height_safeAreaInsetsBottom
()
-
54
)
}
}
@objc
func
back
()
{
self
.
navigationController
?
.
popViewController
()
}
func
getData
()
{
self
.
viewModel
.
getPublicImageUrl
(
imgString
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
resultView
.
kf
.
setImage
(
with
:
URL
(
string
:
success
))
}
}
/*
// MARK: - Navigation
// In a storyboard-based application, you will often want to do a little preparation before navigation
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
// Get the new view controller using segue.destination.
// Pass the selected object to the new view controller.
}
*/
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHWorkExperienceViewController.swift
View file @
170b6236
...
...
@@ -238,27 +238,14 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
guard
let
self
=
self
else
{
return
}
YHImagePickerView
.
show
()
{[
weak
self
]
image
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
show
(
.
progress
(
message
:
""
))
self
.
viewModel
.
uploadImage
(
image
)
{[
weak
self
]
success
,
error
in
let
clipperVC
=
YHImageClipperViewController
()
clipperVC
.
setBaseImg
(
image
,
resultImgSize
:
CGSize
(
width
:
300
,
height
:
300
),
type
:
.
Stay
)
clipperVC
.
successClippedHandler
=
{[
weak
self
]
result
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
requestFileMessage
(
url
)
{[
weak
self
]
success
,
model
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
YHHUD
.
hide
()
self
.
viewModel
.
mainModel
.
wduty
=
model
?
.
content
??
""
cell
.
dataSource
=
viewModel
.
mainModel
.
wduty
}
else
{
YHHUD
.
hide
()
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
}
}
}
self
.
viewModel
.
mainModel
.
wduty
=
result
cell
.
dataSource
=
viewModel
.
mainModel
.
wduty
}
self
.
navigationController
?
.
pushViewController
(
clipperVC
,
animated
:
true
)
}
}
return
cell
...
...
@@ -294,27 +281,14 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
guard
let
self
=
self
else
{
return
}
YHImagePickerView
.
show
()
{[
weak
self
]
image
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
show
(
.
progress
(
message
:
""
))
self
.
viewModel
.
uploadImage
(
image
)
{[
weak
self
]
success
,
error
in
let
clipperVC
=
YHImageClipperViewController
()
clipperVC
.
setBaseImg
(
image
,
resultImgSize
:
CGSize
(
width
:
300
,
height
:
300
),
type
:
.
Stay
)
clipperVC
.
successClippedHandler
=
{[
weak
self
]
result
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
requestFileMessage
(
url
)
{[
weak
self
]
success
,
model
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
YHHUD
.
hide
()
self
.
viewModel
.
mainModel
.
highlights
=
model
?
.
content
??
""
cell
.
dataSource
=
viewModel
.
mainModel
.
highlights
}
else
{
YHHUD
.
hide
()
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
}
}
}
self
.
viewModel
.
mainModel
.
highlights
=
result
cell
.
dataSource
=
viewModel
.
mainModel
.
highlights
}
self
.
navigationController
?
.
pushViewController
(
clipperVC
,
animated
:
true
)
}
}
return
cell
...
...
@@ -455,6 +429,10 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
return
}
}
}
else
{
let
vc
=
YHImageViewController
()
vc
.
imgString
=
model
.
fileUrl
UIViewController
.
current
?
.
navigationController
?
.
pushViewController
(
vc
)
}
}
return
cell
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/C/YHWorkIntroductionViewController.swift
View file @
170b6236
...
...
@@ -205,27 +205,14 @@ class YHWorkIntroductionViewController: YHBaseViewController {
guard
let
self
=
self
else
{
return
}
YHImagePickerView
.
show
()
{[
weak
self
]
image
in
guard
let
self
=
self
else
{
return
}
YHHUD
.
show
(
.
progress
(
message
:
"加载中"
))
self
.
viewModel
.
uploadImage
(
image
)
{[
weak
self
]
success
,
error
in
let
clipperVC
=
YHImageClipperViewController
()
clipperVC
.
setBaseImg
(
image
,
resultImgSize
:
CGSize
(
width
:
300
,
height
:
300
),
type
:
.
Stay
)
clipperVC
.
successClippedHandler
=
{[
weak
self
]
result
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
getPublicImageUrl
(
url
)
{[
weak
self
]
success
,
error
in
guard
let
self
=
self
else
{
return
}
guard
let
url
=
success
else
{
return
}
self
.
viewModel
.
requestFileMessage
(
url
)
{[
weak
self
]
success
,
model
,
error
in
guard
let
self
=
self
else
{
return
}
if
success
{
YHHUD
.
hide
()
self
.
dataSource
.
project_highlights
=
model
?
.
content
self
.
messageTextField
.
text
=
model
?
.
content
}
else
{
YHHUD
.
hide
()
YHHUD
.
flash
(
message
:
error
?
.
errorMsg
??
""
)
}
}
}
self
.
dataSource
.
project_highlights
=
result
self
.
messageTextField
.
text
=
result
}
self
.
navigationController
?
.
pushViewController
(
clipperVC
,
animated
:
true
)
}
}
return
view
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHClipperButton.swift
0 → 100644
View file @
170b6236
//
// YHClipperButton.swift
// galaxy
//
// Created by EDY on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHClipperButton
:
UIButton
{
var
topImageView
:
UIImageView
!
var
bottomTitleLabel
:
UILabel
!
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
setView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
setView
()
{
topImageView
=
{
let
view
=
UIImageView
()
return
view
}()
addSubview
(
topImageView
)
topImageView
.
snp
.
makeConstraints
{
make
in
make
.
top
.
centerX
.
equalToSuperview
()
make
.
width
.
height
.
equalTo
(
21
)
}
bottomTitleLabel
=
{
let
label
=
UILabel
()
label
.
font
=
UIFont
.
PFSC_B
(
ofSize
:
11
)
label
.
textAlignment
=
.
center
label
.
textColor
=
UIColor
.
white
return
label
}()
addSubview
(
bottomTitleLabel
)
bottomTitleLabel
.
snp
.
makeConstraints
{
make
in
make
.
left
.
right
.
bottom
.
equalToSuperview
()
make
.
height
.
equalTo
(
15
)
}
}
func
setContent
(
_
image
:
String
,
_
title
:
String
)
{
bottomTitleLabel
.
text
=
title
topImageView
.
image
=
UIImage
(
named
:
image
)
}
/*
// Only override draw() if you perform custom drawing.
// An empty implementation adversely affects performance during animation.
override func draw(_ rect: CGRect) {
// Drawing code
}
*/
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHClipperView.swift
0 → 100644
View file @
170b6236
This diff is collapsed.
Click to expand it.
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHResultBottomView.swift
0 → 100644
View file @
170b6236
//
// YHResultBottomView.swift
// galaxy
//
// Created by EDY on 2024/3/5.
// Copyright © 2024 https://www.galaxy-immi.com. All rights reserved.
//
import
UIKit
class
YHResultBottomView
:
UIView
{
typealias
Block
=
()
->
()
var
nextblock
:
Block
?
var
nextButton
:
UIButton
!
override
init
(
frame
:
CGRect
)
{
super
.
init
(
frame
:
frame
)
backgroundColor
=
.
white
setUpView
()
}
required
init
?(
coder
:
NSCoder
)
{
fatalError
(
"init(coder:) has not been implemented"
)
}
func
setUpView
()
{
nextButton
=
{
let
button
=
UIButton
(
type
:
.
custom
)
button
.
titleLabel
?
.
font
=
UIFont
.
PFSC_M
(
ofSize
:
15
)
button
.
backgroundColor
=
UIColor
(
hex
:
0x2274ee
)
button
.
contentHorizontalAlignment
=
.
center
button
.
setTitle
(
"开始识别"
,
for
:
.
normal
)
button
.
setTitleColor
(
UIColor
(
hex
:
0xffffff
),
for
:
.
normal
)
button
.
layer
.
cornerRadius
=
kCornerRadius6
button
.
clipsToBounds
=
true
button
.
addTarget
(
self
,
action
:
#selector(
goNext
)
,
for
:
.
touchUpInside
)
return
button
}()
addSubview
(
nextButton
)
nextButton
.
snp
.
makeConstraints
{
make
in
make
.
right
.
equalTo
(
-
16
)
make
.
top
.
equalTo
(
10
)
make
.
height
.
equalTo
(
44
)
make
.
left
.
equalTo
(
16
)
}
// nextButton.layoutIfNeeded()
// nextButton.backgroundGradient()
// nextButton.addYinHeGradualLayer()
}
@objc
func
goNext
()
{
if
let
block
=
nextblock
{
block
()
}
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/ServiceProcess(流程)/WorkExperience/V/YHWorkResponsibilitiesTableViewCell.swift
View file @
170b6236
...
...
@@ -187,7 +187,6 @@ extension YHWorkResponsibilitiesTableViewCell: UITextViewDelegate {
func
textView
(
_
textView
:
UITextView
,
shouldChangeTextIn
range
:
NSRange
,
replacementText
text
:
String
)
->
Bool
{
let
newLength
=
(
textView
.
text
as
NSString
)
.
length
+
text
.
count
-
range
.
length
return
newLength
<=
2000
}
}
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHInformationFillTipsAlertView.swift
View file @
170b6236
...
...
@@ -120,7 +120,7 @@ class YHInformationFillTipsAlertView: UIView {
make
.
height
.
equalTo
(
48
)
}
checkBtn
.
layoutIfNeeded
()
//非常重要!!!!
checkBtn
.
backgroundGradient
()
checkBtn
.
addYinHeGradualLayer
()
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHLoginTipsView.swift
View file @
170b6236
...
...
@@ -88,7 +88,7 @@ class YHLoginTipsView: UIView {
loginBtn
.
addTarget
(
self
,
action
:
#selector(
clickLoginBtn
)
,
for
:
.
touchUpInside
)
loginBtn
.
layoutIfNeeded
()
loginBtn
.
backgroundGradient
()
loginBtn
.
addYinHeGradualLayer
()
}
required
init
?(
coder
:
NSCoder
)
{
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHSubmintAllInfoSuccessTipView.swift
View file @
170b6236
...
...
@@ -184,7 +184,7 @@ class YHSubmintAllInfoSuccessTipView: UIView {
make
.
height
.
equalTo
(
45
)
}
agreeButton
.
layoutIfNeeded
()
agreeButton
.
backgroundGradient
()
agreeButton
.
addYinHeGradualLayer
()
}
...
...
galaxy/galaxy/Classes/Modules/IntelligentService(服务中心)/V/YHSubmitAllInfoCheckView.swift
View file @
170b6236
...
...
@@ -128,7 +128,8 @@ class YHSubmitAllInfoCheckView: UIView {
make
.
height
.
equalTo
(
45
)
}
agreeButton
.
layoutIfNeeded
()
agreeButton
.
backgroundGradient
()
agreeButton
.
addYinHeGradualLayer
()
agreeButton
.
addYinHeGradualLayer
()
}
...
...
galaxy/galaxy/Classes/Tools/Extention/UIButton+Extension.swift
View file @
170b6236
...
...
@@ -100,33 +100,6 @@ extension UIButton {
}
}
extension
UIButton
{
/// 渐变背景
@discardableResult
func
backgroundGradient
<
T
:
UIButton
>
()
->
T
{
let
gradientLayer
=
CAGradientLayer
()
//几个颜色
gradientLayer
.
colors
=
UIColor
.
arrBrandGradaterColors
.
map
{
$0
.
cgColor
}
//颜色的分界点
gradientLayer
.
locations
=
[
0
,
1.0
]
//开始
gradientLayer
.
startPoint
=
CGPoint
(
x
:
0.12
,
y
:
0.25
)
//结束,主要是控制渐变方向
gradientLayer
.
endPoint
=
CGPoint
(
x
:
0.38
,
y
:
0.25
)
//多大区域
gradientLayer
.
frame
=
bounds
UIGraphicsBeginImageContext
(
gradientLayer
.
frame
.
size
)
if
let
context
=
UIGraphicsGetCurrentContext
()
{
gradientLayer
.
render
(
in
:
context
)
let
outputImage
=
UIGraphicsGetImageFromCurrentImageContext
()
UIGraphicsEndImageContext
()
setBackgroundImage
(
outputImage
,
for
:
.
normal
)
}
return
self
as!
T
}
}
// 扩大点击范围
extension
UIButton
{
...
...
galaxy/galaxy/Classes/Tools/NetWork/YHAllApiName.swift
View file @
170b6236
...
...
@@ -165,5 +165,7 @@ class YHAllApiName {
static
let
previewFamilyInfoApi
=
"infoflow/information/family"
//学历/专业资格
static
let
previewAcademicAndProfessionalQualificationInfoApi
=
"infoflow/education/preview"
//工作经验
static
let
previewWorkExpInfoApi
=
"infoflow/work/preview"
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/image_clipper_back.imageset/Contents.json
0 → 100644
View file @
170b6236
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"image_clipper_back@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"image_clipper_back@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/image_clipper_back.imageset/image_clipper_back@2x.png
0 → 100644
View file @
170b6236
1.04 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/image_clipper_back.imageset/image_clipper_back@3x.png
0 → 100644
View file @
170b6236
1.65 KB
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/image_clipper_cannal.imageset/Contents.json
0 → 100644
View file @
170b6236
{
"images"
:
[
{
"idiom"
:
"universal"
,
"scale"
:
"1x"
},
{
"filename"
:
"image_clipper_cannal@2x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"2x"
},
{
"filename"
:
"image_clipper_cannal@3x.png"
,
"idiom"
:
"universal"
,
"scale"
:
"3x"
}
],
"info"
:
{
"author"
:
"xcode"
,
"version"
:
1
}
}
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/image_clipper_cannal.imageset/image_clipper_cannal@2x.png
0 → 100644
View file @
170b6236
566 Bytes
galaxy/galaxy/Res/Assets.xcassets/ServiceCenter/工作经验/image_clipper_cannal.imageset/image_clipper_cannal@3x.png
0 → 100644
View file @
170b6236
899 Bytes
pete谢兆麟
@pete
mentioned in commit
ab4fbb8c
·
Mar 05, 2024
mentioned in commit
ab4fbb8c
mentioned in commit ab4fbb8cae0fa7a24c8c9c38ca5c129890212dfb
Toggle commit list
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment