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

代码修改

parent a1157d30
......@@ -162,7 +162,7 @@ extension YHFamilyInfoConfirmViewController: UITableViewDelegate, UITableViewDat
}
}
guard let warmTipsCell = tableView.dequeueReusableCell(withIdentifier: YHFamilyWarmTipsCell.cellReuseIdentifier, for: indexPath) as? YHFamilyWarmTipsCell else { return UITableViewCell }
guard let warmTipsCell = tableView.dequeueReusableCell(withIdentifier: YHFamilyWarmTipsCell.cellReuseIdentifier, for: indexPath) as? YHFamilyWarmTipsCell else { return UITableViewCell() }
return warmTipsCell
}
......
......@@ -188,9 +188,6 @@ extension YHResignUploadTravelCardListfootView: JXSegmentedListContainerViewData
}
func listContainerView(_ listContainerView: JXSegmentedListContainerView, initListAt index: Int) -> JXSegmentedListContainerViewListDelegate {
if let vc = arrItemVCs[index] as? JXSegmentedListContainerViewListDelegate else {
return YHResignUploadTravelCardFootViewController()
}
return vc
return arrItemVCs[index] as? JXSegmentedListContainerViewListDelegate ?? YHResignUploadTravelCardFootViewController()
}
}
......@@ -51,7 +51,7 @@ class YHFormItemQuestionsCell: UITableViewCell {
if let answerArr = answerArr, answerArr.count == 2 {
for i in 0...1 {
let answerBtn = self.viewWithTag(answerBaseTag+i) as! UIButton
guard let answerBtn = self.viewWithTag(answerBaseTag+i) as? UIButton else { return }
let item = answerArr[i]
answerBtn.setTitle(item.title, for: .normal)
updateAnswerButton(answerBtn, item.isSelect)
......@@ -59,7 +59,7 @@ class YHFormItemQuestionsCell: UITableViewCell {
} else {
// 重置所有答案状态
for i in 0...1 {
let answerBtn = self.viewWithTag(answerBaseTag+i) as! UIButton
guard let answerBtn = self.viewWithTag(answerBaseTag+i) as? UIButton else { return }
answerBtn.setTitle("", for: .normal)
updateAnswerButton(answerBtn, false)
}
......
......@@ -129,7 +129,7 @@ class YHMainApplicantInformationViewController: YHBaseViewController {
YHHUD.flash(message: error.errorMsg )
} else {
YHHUD.hideFlashMessage()
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.isShowPrompt = false
self.stepView.currentIndex = self.stepView.currentIndex
if self.stepView.currentIndex == 3 {
......@@ -227,13 +227,13 @@ extension YHMainApplicantInformationViewController: UITableViewDelegate, UITable
if isShow && message.count == 0 && isNeed {
h = h + 72 + 20
} else {
h = h + 72
h += 72
}
} else {
if isShow && message.count == 0 && isNeed {
h = h + 52 + 20
} else {
h = h + 52
h += 52
}
}
}
......
......@@ -90,7 +90,7 @@ class YHMainInformationTableViewCell: UITableViewCell {
make.height.equalTo(1)
make.right.equalTo(-18)
}
y = y + 1
y += 1
var h = 51
let data = dataSource?.models?[i] ?? YHItemModel()
let isShow = data.isShowPrompts ?? false
......@@ -126,7 +126,7 @@ class YHMainInformationTableViewCell: UITableViewCell {
make.height.equalTo(h)
make.right.equalTo(-18)
}
y = y + h
y += h
}
}
}
......@@ -33,7 +33,7 @@ class YHMainApplicantInformationViewModel: YHBaseViewModel {
if string.count != 0 {
string = string + "/" + item
} else {
string = string + item
string += item
}
}
let item1 = YHItemModel(id: .id3, isNeed: true, title: "省市地区", isUserKeyBoard: false, prompts: "请选择", message: string, type: .address, isShowPrompts: isShowPrompt, alertMessage: "请选择省市地区")
......
......@@ -211,7 +211,7 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
if let data = dataSource {
for item in data {
if item.company_name == "" {
height = height + 76
height += 76
} else {
let text = item.company_name // 要显示的文本内容
let font = UIFont.PFSC_B(ofSize: 14) // 字体大小
......@@ -224,13 +224,13 @@ extension YHWorkExperienceListViewController: UITableViewDelegate, UITableViewDa
// 根据指定的最大宽度和字体大小计算文本的高度
let size = (text! as NSString).boundingRect(with: CGSize(width: maxWidth, height: .greatestFiniteMagnitude), options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size
if size.height > 20 {
height = height + 96
height += 96
} else {
height = height + 76
height += 76
}
}
if showPrompt && item.vacant_num != 0 {
height = height + 20
height += 20
}
}
}
......
......@@ -215,12 +215,12 @@ extension YHWorkExperiencePositionViewViewController: UITableViewDelegate, UITab
let message = data.message ?? ""
let isShow = data.isShowPrompts ?? false
if data.id == .id7 {
h = h + 72
h += 72
} else {
h = h + 52
h += 52
}
if isShow && message.count == 0 {
h = h + 20
h += 20
}
}
return CGFloat(h + 52 + 14)
......
......@@ -277,7 +277,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.updateDataSource()
}
}
......@@ -288,7 +288,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.updateDataSource()
}
}
......@@ -299,7 +299,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.updateDataSource()
}
}
......@@ -315,7 +315,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
YHHUD.flash(message: "提交成功")
self.navigationController?.popViewController()
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
}
}
})
......@@ -356,7 +356,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.updateDataSource()
}
}
......@@ -441,7 +441,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.updateDataSource()
}
}
......@@ -451,7 +451,7 @@ class YHWorkExperienceViewController: YHBaseViewController {
if let error = error {
YHHUD.flash(message: error.errorMsg )
} else {
self.stepView.currentIndex = self.stepView.currentIndex + 1
self.stepView.currentIndex += 1
self.updateDataSource()
}
}
......@@ -880,9 +880,9 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
let data = array[i]
let message = data.message ?? ""
let isShow = data.isShowPrompts ?? false
h = h + 52
h += 52
if isShow && message.count == 0 {
h = h + 20
h += 20
}
}
return CGFloat(h + 52 + 14 + 451)
......@@ -890,7 +890,7 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
var height = 23 + 154
for item in viewModel.positionList {
if item.position_name == "" {
height = height + 52
height += 52
} else {
let text = item.position_name // 要显示的文本内容
let font = UIFont.PFSC_B(ofSize: 14) // 字体大小
......@@ -903,13 +903,13 @@ extension YHWorkExperienceViewController: UITableViewDelegate, UITableViewDataSo
// 根据指定的最大宽度和字体大小计算文本的高度
let size = (text as NSString).boundingRect(with: CGSize(width: maxWidth, height: .greatestFiniteMagnitude), options: .usesLineFragmentOrigin, attributes: attributes, context: nil).size
if size.height > 20 {
height = height + 72
height += 72
} else {
height = height + 52
height += 52
}
}
if isShowPrompt && item.missing_item_num != 0 {
height = height + 20
height += 20
}
}
return CGFloat(height)
......
......@@ -49,7 +49,7 @@ class YHCountryHotView: UIView {
if CGFloat(x) + width + 24 > maxWidth {
x = 0
y = y + 1
y += 1
}
let button = UIButton(type: .custom)
......
......@@ -219,7 +219,7 @@ extension YHSelectFileSheetView: UITableViewDelegate, UITableViewDataSource {
if i == model {
item.isSelect = !item.isSelect
}
i = i + 1
i += 1
}
self.tableView.reloadData()
}
......
......@@ -65,7 +65,7 @@ class YHWorkExampleTypeView: UIView {
if CGFloat(x) + width + 24 > maxWidth {
x = 0
y = y + 1
y += 1
}
let button = UIButton(type: .custom)
......
......@@ -708,13 +708,13 @@ class YHCompanySelectFileCell: UITableViewCell {
let view = mainItemView.viewWithTag(i + 20000)
view?.layer.borderWidth = 1
view?.backgroundColor = UIColor(hex: 0xebf0f9)
let subview = mainItemView.viewWithTag(i + 10000) as! UIImageView
guard let subview = mainItemView.viewWithTag(i + 10000) as? UIImageView else { return }
subview.image = UIImage(named: "login_privacy_agree")
} else {
let view = mainItemView.viewWithTag(i + 20000)
view?.layer.borderWidth = 0
view?.backgroundColor = UIColor.contentBkgColor
let subview = mainItemView.viewWithTag(i + 10000) as! UIImageView
guard let subview = mainItemView.viewWithTag(i + 10000) as? UIImageView else { return }
subview.image = UIImage(named: "login_privacy_disagree_glay")
}
}
......
......@@ -187,7 +187,7 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
make.height.equalTo(1)
make.right.equalTo(-18)
}
total = total + 1
total += 1
let itemView = YHWorkItemView()
itemView.clickBlock = {[weak self] model in
guard let self = self else { return }
......@@ -233,7 +233,7 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
make.height.equalTo(h)
make.right.equalTo(-18)
}
total = total + h
total += h
}
}
......@@ -241,7 +241,7 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
moreButton.isHidden = false
cannalButton.isHidden = true
for i in 0..<(dataSource?.count ?? 0) {
let view = mainItemView.viewWithTag(4000 + i) as! YHWorkItemView
guard let view = mainItemView.viewWithTag(4000 + i) as? YHWorkItemView else { return }
view.isShowDelete(i, isShow: false)
}
if let block = isMoreBlock {
......@@ -253,7 +253,7 @@ class YHWorkExperienceListTableViewCell: UITableViewCell {
moreButton.isHidden = true
cannalButton.isHidden = false
for i in 0..<(dataSource?.count ?? 0) {
let view = mainItemView.viewWithTag(4000 + i) as! YHWorkItemView
guard let view = mainItemView.viewWithTag(4000 + i) as? YHWorkItemView else { return }
view.isShowDelete(i, isShow: true)
}
if let block = isMoreBlock {
......
......@@ -91,7 +91,7 @@ class YHWorkExperiencePositionListTableViewCell: UITableViewCell {
make.height.equalTo(1)
make.right.equalTo(-18)
}
y = y + 1
y += 1
let data = dataSource?.models?[i]
let isShow = data?.isShowPrompts ?? false
let message = data?.message ?? ""
......@@ -101,7 +101,7 @@ class YHWorkExperiencePositionListTableViewCell: UITableViewCell {
h = 71
}
if isShow && message.count == 0 {
h = h + 20
h += 20
}
let itemView = YHWorkExperienceItemView()
itemView.dataSource = data
......@@ -125,7 +125,7 @@ class YHWorkExperiencePositionListTableViewCell: UITableViewCell {
make.height.equalTo(h)
make.right.equalTo(-18)
}
y = y + h
y += h
}
}
......
......@@ -196,13 +196,13 @@ class YHWorkExperiencePositionReasonTableViewCell: UITableViewCell {
let view = mainItemView.viewWithTag(i + 20000)
view?.layer.borderWidth = 1
view?.backgroundColor = UIColor(hex: 0xebf0f9)
let subview = mainItemView.viewWithTag(i + 10000) as! UIImageView
guard let subview = mainItemView.viewWithTag(i + 10000) as? UIImageView else { return }
subview.image = UIImage(named: "service_privacy_agree")
} else {
let view = mainItemView.viewWithTag(i + 20000)
view?.layer.borderWidth = 0
view?.backgroundColor = UIColor.contentBkgColor
let subview = mainItemView.viewWithTag(i + 10000) as! UIImageView
guard let subview = mainItemView.viewWithTag(i + 10000) as? UIImageView else { return }
subview.image = UIImage(named: "service_privacy_disagree_glay")
}
}
......
......@@ -188,7 +188,7 @@ class YHWorkExperiencePositionTableViewCell: UITableViewCell {
make.height.equalTo(1)
make.right.equalTo(-18)
}
total = total + 1
total += 1
let itemView = YHWorkExperiencePositionItemView()
itemView.clickBlock = {[weak self] model in
guard let self = self else { return }
......@@ -228,7 +228,7 @@ class YHWorkExperiencePositionTableViewCell: UITableViewCell {
}
}
if showPrompt && model.missing_item_num != 0 {
h = h + 20
h += 20
}
mainItemView.addSubview(itemView)
itemView.snp.makeConstraints { make in
......@@ -237,7 +237,7 @@ class YHWorkExperiencePositionTableViewCell: UITableViewCell {
make.height.equalTo(h)
make.right.equalTo(-18)
}
total = total + h
total += h
}
}
......@@ -245,7 +245,7 @@ class YHWorkExperiencePositionTableViewCell: UITableViewCell {
moreButton.isHidden = false
cannalButton.isHidden = true
for i in 0..<(dataSource?.count ?? 0) {
let view = mainItemView.viewWithTag(4000 + i) as! YHWorkExperiencePositionItemView
guard let view = mainItemView.viewWithTag(4000 + i) as? YHWorkExperiencePositionItemView else { return }
view.isShowDelete(i, isShow: false)
}
if let block = isMoreBlock {
......@@ -257,7 +257,7 @@ class YHWorkExperiencePositionTableViewCell: UITableViewCell {
moreButton.isHidden = true
cannalButton.isHidden = false
for i in 0..<(dataSource?.count ?? 0) {
let view = mainItemView.viewWithTag(4000 + i) as! YHWorkExperiencePositionItemView
guard let view = mainItemView.viewWithTag(4000 + i) as? YHWorkExperiencePositionItemView else { return }
view.isShowDelete(i, isShow: true)
}
if let block = isMoreBlock {
......
......@@ -160,13 +160,13 @@ class YHWorkExperienceSelectView: UIView {
let view = mainItemView.viewWithTag(i + 20000)
view?.layer.borderWidth = 1
view?.backgroundColor = UIColor(hex: 0xebf0f9)
let subview = mainItemView.viewWithTag(i + 10000) as! UIImageView
guard let subview = mainItemView.viewWithTag(i + 10000) as? UIImageView else { return }
subview.image = UIImage(named: "service_privacy_agree")
} else {
let view = mainItemView.viewWithTag(i + 20000)
view?.layer.borderWidth = 0
view?.backgroundColor = UIColor.contentBkgColor
let subview = mainItemView.viewWithTag(i + 10000) as! UIImageView
guard let subview = mainItemView.viewWithTag(i + 10000) as? UIImageView else { return }
subview.image = UIImage(named: "service_privacy_disagree_glay")
}
}
......
......@@ -96,13 +96,13 @@ class YHWorkExperienceTableViewCell: UITableViewCell {
make.height.equalTo(1)
make.right.equalTo(-18)
}
y = y + 1
y += 1
let data = dataSource?.models?[i]
let isShow = data?.isShowPrompts ?? false
let message = data?.message ?? ""
var h = 51
if isShow && message.count == 0 {
h = h + 20
h += 20
}
let itemView = YHWorkExperienceItemView()
itemView.dataSource = data
......@@ -121,7 +121,7 @@ class YHWorkExperienceTableViewCell: UITableViewCell {
make.height.equalTo(h)
make.right.equalTo(-18)
}
y = y + h
y += h
if i == 1 {
let view = YHWorkExperienceSelectView(frame: CGRect(x: 0, y: y, width: Int(KScreenWidth) - 32, height: 386))
view.selectItem = [selectItem]
......@@ -133,7 +133,7 @@ class YHWorkExperienceTableViewCell: UITableViewCell {
}
}
mainItemView.addSubview(view)
y = y + 451
y += 451
}
}
}
......
......@@ -305,7 +305,7 @@ extension YHGCEducationInfoListVC: UITableViewDelegate, UITableViewDataSource {
}
if item is YHFormDetailItem {
let detailItem = item as! YHFormDetailItem
guard let detailItem = item as? YHFormDetailItem else { return UITableViewCell() }
if detailItem.type == .educationInfo {
if let eduList = educationInfo?.eduList, eduList.count > 0 {
// 第一行是标题
......
......@@ -552,38 +552,6 @@ private extension YHGCPreviewViewModel {
}
}
// do {
// //主申请人专业资格及会员资格
// if let arr = model0.qla_list {
// for(index,model) in arr.enumerated() {
// let tmp0 = YHPreviewQuestionAndAnswerModel(question: "资格证书名称:",answer:model.qualification)
// let tmp1 = YHPreviewQuestionAndAnswerModel(question: "颁授机构全称:", answer:model.college)
// let tmp2 = YHPreviewQuestionAndAnswerModel(question: "颁授年份:", answer:String(model.promulgation))
//
// var title = ""
// if let item = model.college_address {
// if item.country.contains("中国") {
// title = "国内 "
// if item.area.count > 1 {
// title = title + item.area[0] + "/" + item.area[1]
// }
// } else {
// title = "国外 " + item.country + "-" + item.foreign
// }
// } else {
// title = "--"
// }
// let tmp3 = YHPreviewQuestionAndAnswerModel(question: "颁授城市:", answer:title)
// let arr000 = [tmp0,tmp1,tmp2,tmp3]
//
//
// let addationIndex = arr.count > 1 ? String(index + 1) : ""
// let model2 = YHPreviewInfoSessionModel(cellType: .countryInfoType, cellTitle: "主申请人专业资格及会员资格" + addationIndex, cellData0: arr000)
// arrDataForAcademicInfo.append(model2)
// }
// }
// }
do {
// 主申请人
let title = model0.qla_correct == 1 ? "是" : "否"
......@@ -815,34 +783,6 @@ private extension YHGCPreviewViewModel {
}
}
}
// do {
// //家庭背景
// if let model = basiceInfoPreviewModel?.background {
// let answer0 = model.background_member?.has == "Y" ? "满足" : "不满足"
//
// var msg = ""
// if answer0.contains("满足") {
// if let str = model.background_member?.info,str.isEmpty == false {
// if model.subset.isEmpty == false {
// for item in model.subset {
// let ttt = String(item.id)
// if ttt.contains(str) {
// msg = item.subset_name
// break
// }
// }
// }
// }
// msg = msg.defaultStringIfEmpty()
// }
// let remark0 = answer0 == "满足" ? msg : nil
// let tmp0 = YHPreviewQuestionAndAnswerModel(question: "1、至少一名直系家庭成员(已婚配偶、父母、兄弟姐妹、子女)是现居于香港的香港永久性居民", answer:answer0,remark: remark0)
// let arr = [tmp0]
// let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "家庭背景", cellData0: arr)
// arrDataForBasicInfo.append(model1)
// }
// }
}
// 组装 其他信息预览 数据
......@@ -853,44 +793,8 @@ private extension YHGCPreviewViewModel {
handleDataForOtherInfo()
// do {
//
// if let arr1 = model.list,arr1.isEmpty == false {
// var arr : [YHPersonInfoCellModel1] = []
// for (index,item) in arr1.enumerated() {
//
// //居住信息
// let tmp0 = YHPreviewQuestionAndAnswerModel(question: "开始时间:", answer: item.start_time)
// let tmp1 = YHPreviewQuestionAndAnswerModel(question: "结束时间:", answer: item.end_time)
//
//
// let addationIndex = arr1.count > 1 ? String(index + 1) : ""
// let title = "国家" + addationIndex + ":" + item.country
// let model0 = YHPersonInfoCellModel1(cellTitle: title, cellData: [tmp0,tmp1])
//
// arr.append(model0)
// }
//
// let model3 = YHPreviewInfoSessionModel(cellType: .idCardInfoType, cellTitle: "居住信息", cellData1: arr)
// arrDataForOtherInfo.append(model3)
// }
// }
do {
// 语言能力
// if let model = otherInfoPreviewModel?.language {
// var title = ""
// if model.level == 4 {
// title = model.name.defaultStringIfEmpty() + "\n" + model.remark.defaultStringIfEmpty()
// }
// let tmp0 = YHPreviewQuestionAndAnswerModel(question: model.levelDes, answer: model.localRemark,remark: title)
// let arr = [tmp0]
// let model1 = YHPreviewInfoSessionModel(cellType: .questionAndAnswer, cellTitle: "语言能力", cellData0: arr)
// arrDataForOtherInfo.append(model1)
//
// }
// 语言能力
if let arr = otherInfoPreviewModel?.language_detail_new_local, arr.count > 0 {
var arrT: [YHPreviewQuestionAndAnswerModel] = []
......@@ -935,20 +839,7 @@ private extension YHGCPreviewViewModel {
private extension YHGCPreviewViewModel {
// 特殊处理 其他信息预览 需要的数据
func handleDataForOtherInfo() {
// if let language = otherInfoPreviewModel?.language {
// if language.level > 0 {
// let target = String(language.level)
// for(_,item) in YHConstantArrayData.arrLanguage.enumerated() {
//
// if target == item["id"] {
// language.levelDes = item["title"] ?? "--"
// language.localRemark = item["dec"] ?? "--"
// break
// }
// }
// }
// }
if let language = otherInfoPreviewModel?.language_detail_new {
if language.count > 0 {
if let arrCompare = [LanguageDetailModel].deserialize(from: YHOtherInfoFillViewModel.languageJsonData), arrCompare.count > 0 {
......@@ -1890,23 +1781,6 @@ private extension YHGCPreviewViewModel {
func showCerInfoLogic(familyMember: YHFamilyMember?, mainApplicantInfo: YHMyMainApplicantInfoModel?) -> (showHK: Bool, isHKMust: Bool, showPassport: Bool, isPassportMust: Bool) {
guard let familyMember = familyMember else { return (false, false, false, false) }
// 中国国籍&居住国内、中国国籍&居住国外不满一年
// 1) 办理过港澳通
// 证件上传:身份证+港澳通
// 证件信息:港澳通行证必填(无身份证、护照)
//
// 2) 没办理过港澳通
// 证件上传:身份证
// 证件信息:港澳通行证非必填(无身份证、护照)
//
// 中国国籍&居住国外满一年
// 证件上传:护照+身份证
// 证件信息:护照必填(无身份证)
//
// 外籍国籍(无论是否在国外居住满一年):
// 证件上传:护照
// 证件信息:仅护照且必填(无身份证)
// 是否显示港澳通行证
var showHK = false
......@@ -1975,23 +1849,6 @@ private extension YHGCPreviewViewModel {
guard let familyMember = familyMember else { return [.none] }
// 中国国籍&居住国内、中国国籍&居住国外不满一年
// 1) 办理过港澳通
// 证件上传:身份证+港澳通
// 证件信息:港澳通行证必填(无身份证、护照)
//
// 2) 没办理过港澳通
// 证件上传:身份证
// 证件信息:港澳通行证非必填(无身份证、护照)
//
// 中国国籍&居住国外满一年
// 证件上传:护照+身份证
// 证件信息:护照必填(无身份证)
//
// 外籍国籍(无论是否在国外居住满一年):
// 证件上传:护照
// 证件信息:仅护照且必填(无身份证)
// 国籍
let nationality = familyMember.nationality
// 居住国外是否满一年
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment