本在线指南旨在为受益所有人信息备案提供交互指引,演示了受益所有人信息备案网页填报操作流程,以便备案主体准确高效开展受益所有人信息备案工作。下面请点击备案引导进行详细了解。
模拟备案流程
请简单回答一些问题,帮助判断您所在的经营主体是否需要备案受益所有人信息
您所在经营主体是否属于国有独资公司或国有控股公司?
对于需备案经营主体,确认受益所有人的识别标准一般有三条:
存在符合下列条件之一的自然人
(一)通过直接方式或者间接方式最终拥有本公司25%以上股权、股份;
(二)虽未满足第一项标准,但最终享有本公司25%以上收益权、表决权;
(三)虽未满足第一项标准,但单独或者联合对本公司进行实际控制。
在确认受益所有人的过程中,请逐一对照以上三条识别标准,确认所有符合标准的受益所有人,而非仅就一条标准进行确认。所有符合标准的受益所有人都应予以备案。
若不存在符合以上三类情形的受益所有人,则可将公司中负责日常经营管理的人员视为受益所有人,且至少备案1名最高层级负责日常经营管理的人员。“负责日常经营管理的人员”可能包括公司的法定代表人、董事长、董事、经理等。
需要备案的受益所有人信息包括:受益所有人的姓名,国籍,身份证件或身份证明文件类型、号码、有效期限,出生日期,性别,手机号码,经常居住地或工作单位地址,受益所有权关系类型以及形成日期、终止日期(如有)。
受益所有权关系类型一般分为三种:
1.直接或间接拥有公司25%以上股权、股份。
2.可最终获得公司25%以上收益权、表决权。(收益权与表决权必须选填其中一项或填写两项)
3.实际控制公司。(协议约定形式或其他形式)
如果通过上述标准均不能确认受益所有人,则应当将负责日常经营管理的人员视为受益所有人进行备案。
如果将公司中负责日常经营管理的人员视为受益所有人进行备案的,除备案受益所有人基本信息外,还需备案负责日常经营管理的人员职位,包括:法定代表人、董事长、董事、经理、公司章程规定的其他人员的具体职位等。如存在兼任情形可多选。
上图展示的是公司受益所有人信息备案表,其中带*为必填项。如需备案多个受益所有人,可点击界面右上方蓝色按钮“+添加”新增录入;如需修改或删除已填入信息,可点击右上方黄色按钮“-删除”删除后重新填写。
对于需备案经营主体,确认受益所有人的识别标准一般有三条:
存在符合下列条件之一的自然人:
(一)通过直接方式或者间接方式最终拥有本合伙企业25%以上合伙权益;
(二)虽未满足第一项标准,但最终享有本合伙企业25%以上收益权、表决权;
(三)虽未满足第一项标准,但单独或者联合对本合伙企业进行实际控制。
在确认受益所有人的过程中,请逐一对照以上三条识别标准,确认所有符合标准的受益所有人,而非仅就一条标准进行确认。所有符合标准的受益所有人都应予以备案。
若不存在符合以上三类情形的受益所有人,则可将合伙企业中负责日常经营管理的人员视为受益所有人,且至少备案1名最高层级负责日常经营管理的人员。“负责日常经营管理的人员”可以是合伙企业中执行合伙事务的自然人(包括执行事务合伙人或者代表执行事务合伙人执行合伙事务的自然人)。
需要备案的受益所有人信息包括:受益所有人的姓名,国籍,身份证件或身份证明文件类型、号码、有效期限,出生日期,性别,手机号码,经常居住地或工作单位地址,受益所有权关系类型以及形成日期、终止日期(如有)。
受益所有权关系类型一般分为三种:
1.直接或间接拥有合伙企业25%以上合伙权益。
2.最终享有合伙企业25%以上收益权、表决权。(收益权与表决权必须选填其中一项或填写两项)
3.实际控制合伙企业。(协议约定形式或其他形式)
根据实际情况如实填写以上受益所有权关系类型,可多选。
如果将合伙企业中负责日常经营管理的人员视为受益所有人进行备案。除备案受益所有人基本信息外,还需备案负责日常经营管理的人员职位,包括:执行合伙事务的自然人(执行事务合伙人或者代表执行事务合伙人执行合伙事务的自然人)、合伙协议规定的其他人员具体职位。如存在兼任情形可多选。
上图展示的是合伙企业受益所有人信息备案表,其中带*为必填项。如需备案多个受益所有人,可点击界面右上方蓝色按钮“+添加”新增录入;如需修改或删除已填入信息,可点击右上方黄色按钮“-删除”删除后重新填写。
对于需备案经营主体,确认受益所有人的识别标准一般有三条:
存在符合下列条件之一的自然人
(一)通过直接方式或者间接方式最终拥有本分支机构所属外国公司25%以上股权、股份;
(二)虽未满足第一项标准,但最终享有本分支机构所属外国公司25%以上收益权、表决权;
(三)虽未满足第一项标准,但单独或者联合对本分支机构所属外国公司进行实际控制。
在确认受益所有人的过程中,请逐一对照以上三条识别标准,确认所有符合标准的受益所有人,而非仅就一条标准进行确认。所有符合标准的受益所有人都应予以备案。
若不存在符合以上三类情形的受益所有人,则可将公司中负责日常经营管理的人员视为受益所有人,且至少备案1名最高层级负责日常经营管理的人员。“负责日常经营管理的人员”可能包括公司的法定代表人、董事长、董事、经理等。
需要备案的受益所有人信息包括:受益所有人的姓名,国籍,身份证件或身份证明文件类型、号码、有效期限,出生日期,性别,手机号码,经常居住地或工作单位地址,受益所有权关系类型以及形成日期、终止日期(如有)。
受益所有权关系类型一般分为三种:
1.直接或间接拥有本分支机构所属外国公司25%以上股权、股份。
2.最终享有本分支机构所属外国公司25%以上收益权、表决权。(收益权与表决权必须选填其中一项或填写两项)
3.实际控制本分支机构所属外国公司。(协议约定形式或其他形式)
根据实际情况如实填写以上受益所有权关系类型,可多选。
如果将所属外国公司中负责日常经营管理的人员视为受益所有人进行备案的,除备案受益所有人基本信息外,还需备案负责日常经营管理的人员职位,包括:法定代表人、董事长、董事、经理以及其他人员的具体职位等。如存在兼任情形可多选。
上图展示的是外国公司分支机构受益所有人信息备案表,其中带*为必填项。如需备案多个受益所有人,可点击界面右上方蓝色按钮“+添加”新增录入;如需修改或删除已填入信息,可点击右上方黄色按钮“-删除”删除后重新填写。
全部填写完毕后点击“下一步”,进入外国公司分支机构高级管理人员信息备案。
职位信息:勾选分支机构负责人或勾选并填写其他高级管理人员的具体职位。如存在兼任情形可多选。
信息包括:
高级管理人员的姓名,国籍,身份证件或身份证明文件类型、号码、有效期限,出生日期,性别,手机号码,经常居住地或工作单位地址,受益所有权关系类型以及形成日期、终止日期(如有)。
上图展示的是外国公司分支机构高级管理人员信息备案表,其中带*为必填项。如需备案多个高级管理人员,可点击界面右上方蓝色按钮“+添加”新增录入;如需修改或删除已填入信息,可点击右上方黄色按钮“-删除”删除后重新填写。
如经营主体在2024年11月1日前已完成登记注册,则需在2025年11月1日前备案受益所有人信息。如经营主体尚未进行登记注册,需要在登记注册环节同步完成受益所有人信息备案。
如果您现在已经准备好了,可以前往本地市场监管部门登记注册系统进行受益所有人信息备案。本指引已结束,谢谢您的配合!
您所在的经营主体可以在做出相应承诺后免于备案受益所有人信息
承诺书
本公司承诺以上内容属实,如有不实,愿意承担相应法律责任。
您所在的经营主体目前无需备案受益所有人信息。
一、开展受益所有人信息备案的目的与意义是什么?
为提高市场透明度,维护市场秩序、金融秩序,预防和遏制洗钱、恐怖主义融资活动,根据反洗钱和企业登记管理有关法律、行政法规,经国务院批准,中国人民银行联合国家市场监管总局出台《受益所有人信息管理办法》(以下简称《管理办法》),对受益所有人信息备案和管理作出具体规定。
二、对受益所有人信息保护的规定是如何考虑的?
从国际范围看,我国对受益所有人信息安全和隐私保护采取相对审慎的要求。国际上对受益所有人信息管理政策大致可分为两类,一类是将受益所有人信息作为公开信息,可供全社会公开查询,如英国;另一类将其作为非公开信息,仅供政府部门和反洗钱义务机构在履行法定职责时查询,如美国、新加坡等。我国采取第二类政策,强调信息的保密性,明确备案的受益所有人信息不对社会公开,《管理办法》第十二条对此进行了详细规定。
三、《管理办法》与人民银行以前发布的受益所有人相关文件有何关系?
《管理办法》与人民银行以前发布的受益所有人相关文件的适用对象不同。《管理办法》主要是针对公司、合伙企业、外国公司分支机构等备案主体主动备案受益所有人信息相关事项作出具体规定。而人民银行之前发布的受益所有人相关文件则要求金融机构在开展客户尽职调查时应当识别非自然人客户的受益所有人,是金融机构履行反洗钱义务的内容之一。对于金融机构而言,备案主体进行受益所有人信息备案后,金融机构仍然要履行受益所有人识别义务,备案主体在登记注册部门备案的受益所有人信息,可以作为金融机构核实其客户受益所有人身份的信息来源之一。
《管理办法》规定的受益所有人识别标准是根据国际通行做法和我国实践对现有反洗钱监管规定的进一步完善,目前正在修订的反洗钱法律制度中将统一使用该识别标准。
部分
document.head.appendChild(newFavicon);
// 图片预览缩放
const imgBenefit = document.getElementById('imgBenefit');
const imgBenefitDetail = document.getElementById('imgBenefitDetail');
const imgBenefitPartner = document.getElementById('imgBenefitPartner');
const imgBenefitDetailPartner = document.getElementById('imgBenefitDetailPartner');
const imgForeignBenefit = document.getElementById('imgForeignBenefit');
const imgForeignBenefitDetail = document.getElementById('imgForeignBenefitDetail');
const imgForeignBenefitLeader = document.getElementById('imgForeignBenefitLeader');
imgBenefit.addEventListener('click', () => showZoomedImage(imgBenefit.src));
imgBenefitDetail.addEventListener('click', () => showZoomedImage(imgBenefitDetail.src));
imgBenefitPartner.addEventListener('click', () => showZoomedImage(imgBenefitPartner.src));
imgBenefitDetailPartner.addEventListener('click', () => showZoomedImage(imgBenefitDetailPartner.src));
imgForeignBenefit.addEventListener('click', () => showZoomedImage(imgForeignBenefit.src));
imgForeignBenefitDetail.addEventListener('click', () => showZoomedImage(imgForeignBenefitDetail.src));
imgForeignBenefitLeader.addEventListener('click', () => showZoomedImage(imgForeignBenefitLeader.src));
const overlay = document.getElementById('overlay');
overlay.addEventListener('click', (event) => {
overlay.style.display = 'none';
// if (event.target === overlay) {
// overlay.style.display = 'none';
// }
});
const zoomedImage = document.getElementById('zoomedImage');
let isDragging = false;
let startX, startY, currentX, currentY;
let scale = 1;
let initialPinchDistance = null;
const showZoomedImage = (src) => {
overlay.style.display = 'flex';
zoomedImage.src = src;
scale = 1;
zoomedImage.style.transform = `scale(${scale})`;
zoomedImage.style.left = '0%';
zoomedImage.style.top = '0%';
zoomedImage.style.transform = `scale(${scale})`;
};
zoomedImage.addEventListener('wheel', (event) => {
event.preventDefault();
if (event.deltaY < 0) {
scale += 0.1;
} else {
scale -= 0.1;
}
scale = Math.max(1, Math.min(scale, 3));
zoomedImage.style.transform = `translate(${zoomedImage.offsetLeft}px, ${zoomedImage.offsetTop}px) scale(${scale})`;
});
zoomedImage.addEventListener('mousedown', (event) => {
isDragging = true;
startX = event.clientX - zoomedImage.offsetLeft;
startY = event.clientY - zoomedImage.offsetTop;
event.preventDefault();
});
document.addEventListener('mousemove', (event) => {
if (isDragging) {
currentX = event.clientX;
currentY = event.clientY;
zoomedImage.style.left = `${currentX - startX}px`;
zoomedImage.style.top = `${currentY - startY}px`;
}
});
document.addEventListener('mouseup', () => {
isDragging = false;
});
zoomedImage.addEventListener('touchstart', (event) => {
if (event.touches.length === 1) {
isDragging = true;
startX = event.touches[0].clientX - zoomedImage.offsetLeft;
startY = event.touches[0].clientY - zoomedImage.offsetTop;
} else if (event.touches.length === 2) {
initialPinchDistance = distance(event.touches[0], event.touches[1]);
}
});
zoomedImage.addEventListener('touchmove', (event) => {
if (isDragging && event.touches.length === 1) {
currentX = event.touches[0].clientX - zoomedImage.offsetLeft;
currentY = event.touches[0].clientY - zoomedImage.offsetTop;
zoomedImage.style.left = `${zoomedImage.offsetLeft + (currentX - startX)}px`;
zoomedImage.style.top = `${zoomedImage.offsetTop + (currentY - startY)}px`;
} else if (event.touches.length === 2 && initialPinchDistance) {
const currentDistance = distance(event.touches[0], event.touches[1]);
scale *= currentDistance / initialPinchDistance;
scale = Math.max(1, Math.min(scale, 3));
zoomedImage.style.transform = `translate(${zoomedImage.offsetLeft}px, ${zoomedImage.offsetTop}px) scale(${scale})`;
initialPinchDistance = currentDistance;
}
});
zoomedImage.addEventListener('touchend', () => {
isDragging = false;
initialPinchDistance = null;
});
const distance = (point1, point2) => {
return Math.sqrt(Math.pow(point1.clientX - point2.clientX, 2) + Math.pow(point1.clientY - point2.clientY, 2));
};
});
/* 定义页面元素 */
const btnStart = document.getElementById('btnStartAnswer')
// 开始页
const contentStart = document.getElementById('content_start')
// 回答内容页父容器
const contentWrapper = document.getElementById('guide_content_wrapper')
// 引导标题
const contentTitle = document.getElementById('content_title')
// 经营主体
const principalContent = document.getElementById('content_principal')
// 选择资本规模
const capitalContent = document.getElementById('content_capital')
// 是否国有独资或控股
const individualContent = document.getElementById('content_individual')
// (公司)选择受益所有权关系
const benefitContent = document.getElementById('content_benefit')
// (公司)填写受益所有人信息
const benefitDetailContent = document.getElementById('content_benefit_detail')
// (公司)选择受益所有权关系
const benefitPartnerContent = document.getElementById('content_benefit_partner')
// (公司)填写受益所有人信息
const benefitDetailPartnerContent = document.getElementById('content_benefit_detail_partner')
// 股东是否均为自然人
const shareholderContent = document.getElementById('content_shareholder')
// 是否存在除股东以外的其他控制人
const otherControlContent = document.getElementById('content_other_control')
// 外国公司分支机构受益所有权关系
const foreignBenefitContent = document.getElementById('content_foreign_benefit')
// 外国公司分支机构所有人信息
const foreignBenefitDetailContent = document.getElementById('content_foreign_benefit_detail')
// 外国公司分支机构高管信息
const foreignLeaderContent = document.getElementById('content_foreign_leader')
// 完全结束
const realFinish = document.getElementById('content_real_finish')
// 承诺免责结束
const promiseFinish = document.getElementById('content_finish_with_promise')
// 无需备案
const noNeedFinish = document.getElementById('content_finish_with_nothing')
// 无需备案(重新模拟)
const btnRestartWithNothing = document.getElementById('btnRestartWithNothing')
// 完全结束
const btnRestartAfterRealFinish = document.getElementById('btnRestartAfterRealFinish')
// 承诺免责
// const btnRestartWithPromise = document.getElementById('btnRestartWithPromise')
const btnNextWithPromise = document.getElementById('btnNextWithPromise')
const btnPreWithPromise = document.getElementById('btnPreWithPromise')
// 上一步、下一步
const btnPrincipalNext = document.getElementById('btnPrincipalNext')
const btnPrincipalPre = document.getElementById('btnPrincipalPre')
const btnCapitalPre = document.getElementById('btnCapitalPre')
const btnCapitalNext = document.getElementById('btnCapitalNext')
const btnIndividualPre = document.getElementById('btnIndividualPre')
const btnIndividualNext = document.getElementById('btnIndividualNext')
const btnBenefitPre = document.getElementById('btnBenefitPre')
const btnBenefitNext = document.getElementById('btnBenefitNext')
const btnBenefitPartnerPre = document.getElementById('btnBenefitPartnerPre')
const btnBenefitPartnerNext = document.getElementById('btnBenefitPartnerNext')
const btnBenefitDetailPre = document.getElementById('btnBenefitDetailPre')
const btnBenefitDetailNext = document.getElementById('btnBenefitDetailNext')
const btnBenefitDetailPartnerPre = document.getElementById('btnBenefitDetailPartnerPre')
const btnBenefitDetailPartnerNext = document.getElementById('btnBenefitDetailPartnerNext')
const btnForeignBenefitPre = document.getElementById('btnForeignBenefitPre')
const btnForeignBenefitNext = document.getElementById('btnForeignBenefitNext')
const btnForeignBenefitDetailPre = document.getElementById('btnForeignBenefitDetailPre')
const btnForeignBenefitDetailNext = document.getElementById('btnForeignBenefitDetailNext')
const btnForeignLeaderPre = document.getElementById('btnForeignLeaderPre')
const btnForeignLeaderNext = document.getElementById('btnForeignLeaderNext')
// 企业类型和注册资本选中展示信息
const topHint = document.getElementById('top_hint')
const topHintPrincipal = document.getElementById('top_hint_principal')
const topHintCapital = document.getElementById('top_hint_capital')
// 注册资本页(公司和合伙企业有区别)
const capitalTitle = document.getElementById('capital_title')
const shareholderTitle = document.getElementById('shareholder_title')
const otherControlTitle = document.getElementById('other_control_title')
// 公司类型:注册资本页标题
const capitalCompanyText = "请选择注册资本(外币请折算成人民币)"
const shareholderCompanyText = "股东是否均为自然人"
const otherControlCompanyText = "您所在的经营主体是否存在股东以外的自然人对其实际控制或者从其获取收益,或者是否存在股东以外的自然人通过股权以外的方式对其实施控制或者从其获取收益的情形"
// 合伙企业:注册资本页标题
const capitalPartnerText = "请选择出资额(外币请折算成人民币)"
const shareholderPartnerText = "合伙人是否均为自然人"
const otherControlPartnerText = "您所在的经营主体是否存在合伙人以外的自然人对其实际控制或者从其获取收益,或者是否存在合伙人以外的自然人通过合伙权益以外的方式对其实施控制或者从其获取收益的情形"
// 承诺免除登记(公司和合伙企业有区别)
const promiseText = document.getElementById('promise_text')
const companyPromiseText = '本公司注册资本不超过1000万元人民币(或等值外币)且股东全部为自然人,不存在股东以外的自然人对本公司实际控制或者从本公司获取收益,也不存在通过股权以外的方式对本公司实施控制或者从本公司获取收益的情形。'
const partnerPromiseText = '本合伙企业出资额不超过1000万元人民币(或等值外币)且合伙人全部为自然人,不存在合伙人以外的自然人对本合伙企业实际控制或者从本合伙企业获取收益,也不存在通过合伙权益以外的方式对本合伙企业实施控制或者从本合伙企业获取收益的情形。'
/* 全局属性 */
const contentPrefix = 'content_'
let res_individual = '#'
let res_capital = '#'
let res_shareholder = '#'
let res_principal = '#'
let res_other_control = '#'
const tip_after_capital = '根据您提供的信息,您所在的经营主体需要进行受益所有人信息备案。接下来,我们将协助您确定您所在经营主体的受益所有人,并对如何备案进行一些说明。'
const tip_after_individual = '您所在经营主体的受益所有人为法定代表人,点击“本公司为国有独资公司、国有控股公司,受益所有人为法定代表人”选项后,备案流程即结束。'
const title_in_flow = '模拟备案流程'
const title_end_flow = '模拟备案完成'
const principalMap = {
'company': '公司',
'partnership': '合伙企业'
}
const capitalMap = {
'up1000': '1000万元人民币以上',
'down1000': '1000万元人民币及以下'
}
/* 1.获取经营主体单选按钮 */
const principalRadioBtns = document.querySelectorAll('input[name="principal"]');
principalRadioBtns.forEach(radio => {
radio.addEventListener('change', function () {
res_principal = this.value
})
})
/* 2.获取注册资本单选按钮 */
const capitalRadioBtns = document.querySelectorAll('input[name="capital"]');
capitalRadioBtns.forEach(radio => {
radio.addEventListener('change', function () {
res_capital = this.value
if (res_capital === 'down1000') {
shareholderContent.style.display = 'block'
if (res_shareholder === 'yes') {
otherControlContent.style.display = 'block'
}
} else {
shareholderContent.style.display = 'none'
otherControlContent.style.display = 'none'
}
})
})
/* 3.获取股东是否均为自然人按钮组 */
const shareholderRadioBtns = document.querySelectorAll('input[name="shareholder"]')
shareholderRadioBtns.forEach(radio => {
radio.addEventListener('change', function () {
res_shareholder = this.value
if (res_shareholder === 'yes') {
otherControlContent.style.display = 'block'
} else {
otherControlContent.style.display = 'none'
}
})
})
/* 4.获取股东以外其他控制人按钮组 */
const otherControlRadioBtns = document.querySelectorAll('input[name="other_control"]')
otherControlRadioBtns.forEach(radio => {
radio.addEventListener('change', function () {
res_other_control = this.value
})
})
/* 5.获取是否国资或国有控股 */
const individualRadioBtns = document.querySelectorAll('input[name="individual"]')
individualRadioBtns.forEach(radio => {
radio.addEventListener('change', function () {
res_individual = this.value
})
})
/* 对话框 */
function showDialog(msg) {
const myDialog = document.getElementById('myDialog')
const myDialogContent = document.getElementById('myDialogContent')
myDialogContent.innerText = msg
myDialog.showModal()
return myDialog
}
/* 注册关闭弹出框监听事件 */
const closeDialogBtn = document.getElementById('closeDialogButton')
closeDialogBtn.addEventListener('click', function () {
const myDialog = document.getElementById('myDialog')
myDialog.close()
})
// 阻止 Esc 键关闭对话框
document.addEventListener('keydown', function (event) {
const myDialog = document.getElementById('myDialog')
if (event.key === 'Escape' && myDialog.open) {
event.preventDefault(); // 阻止默认行为(即关闭对话框)
}
})
/* 消息通知 */
document.getElementById('closeNotification').addEventListener('click', function () {
hideNotification();
});
function showNotification(msg) {
const noticeMsg = document.getElementById('lackNeedInfoMsg')
noticeMsg.innerText = msg
const notification = document.getElementById('notification');
notification.classList.add('show');
setTimeout(hideNotification, 3000); // 5秒后自动隐藏通知
}
function hideNotification() {
const notification = document.getElementById('notification');
notification.classList.remove('show');
}
/* 开始模拟 */
btnStart.addEventListener('click', function () {
restart()
// contentWrapper.style.display = 'block'
// contentStart.style.display = 'none'
// btnStart.style.display = 'none'
// contentTitle.innerText = '您准备备案的经营主体属于以下哪一类别?'
})
/* 经营主体:下一步 */
btnPrincipalNext.addEventListener('click', function () {
hideCapitalHint()
if (res_principal == '#') {
showNotification('请选择经营主体')
return
} else {
setInvisibleWithPrefix(contentPrefix)
contentTitle.innerText = '模拟备案流程'
switch (res_principal) {
case 'company':
capitalTitle.innerText = capitalCompanyText
shareholderTitle.innerText = shareholderCompanyText + '?'
otherControlTitle.innerText = otherControlCompanyText + '?'
forwardToCapital()
break;
case 'partnership':
capitalTitle.innerText = capitalPartnerText
shareholderTitle.innerText = shareholderPartnerText + '?'
otherControlTitle.innerText = otherControlPartnerText + '?'
forwardToCapital()
break;
case 'foreign':
foreignBenefitContent.style.display = 'block'
break;
case 'other':
contentTitle.innerText = '模拟备案完成'
noNeedFinish.style.display = 'block'
contentWrapper.style.display = 'none'
break;
}
}
})
btnPrincipalPre.addEventListener('click', function () {
showGuideHome()
})
function showGuideHome() {
contentWrapper.style.display = 'none'
contentStart.style.display = 'block'
btnStart.style.display = 'block'
contentTitle.innerText = '模拟备案流程'
}
/* 注册资本页:按钮联动设置 */
function forwardToCapital() {
showTopHint()
capitalContent.style.display = 'block'
if (res_capital === 'down1000') {
shareholderContent.style.display = 'block'
}
if (res_capital === 'down1000' && res_shareholder === 'yes') {
otherControlContent.style.display = 'block'
}
}
/* 企业类型、注册资本提示页展示和隐藏逻辑 */
function showTopHint() {
topHint.style.display = 'flex'
topHintPrincipal.style.display = 'block'
topHintPrincipal.innerText = '企业类型:' + principalMap[res_principal]
}
function hideTopHint() {
topHint.style.display = 'none'
}
function showCapitalHint() {
topHintCapital.style.display = 'block'
topHintCapital.innerText = '注册资本:' + capitalMap[res_capital]
}
function hideCapitalHint() {
topHintCapital.style.display = 'none'
}
/* 外国公司分支机构受益所有权关系:下一步 */
btnForeignBenefitNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
foreignBenefitDetailContent.style.display = 'block'
})
btnForeignBenefitPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
principalContent.style.display = 'block'
})
/* 外国公司分支机构受益所有人信息:下一步 */
btnForeignBenefitDetailNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
foreignLeaderContent.style.display = 'block'
})
btnForeignBenefitDetailPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
foreignBenefitContent.style.display = 'block'
})
/* 外国公司分支机构高管:下一步 */
btnForeignLeaderNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案完成'
setInvisibleWithPrefix(contentPrefix)
realFinish.style.display = 'block'
contentWrapper.style.display = 'none'
})
btnForeignLeaderPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案完成'
setInvisibleWithPrefix(contentPrefix)
foreignBenefitContent.style.display = 'block'
})
/* 注册资本:下一步*/
btnCapitalNext.addEventListener('click', function () {
if (res_capital === '#') {
showNotification('请选择注册资本')
return
}
if (res_capital === 'down1000' && res_shareholder === '#') {
let msg = '/sxrcb/bjfw26/ayd/sysyrba/'
if (res_principal == 'company') {
msg = shareholderCompanyText
} else {
msg = shareholderPartnerText
}
showNotification('请选择' + msg)
return
}
if (res_capital === 'down1000' && res_shareholder === 'yes' && res_other_control === '#') {
if (res_principal == 'company') {
msg = otherControlCompanyText
} else {
msg = otherControlPartnerText
}
showNotification('请选择' + msg)
return
}
if (res_principal === 'company') {
if (res_capital === 'up1000' || res_shareholder === 'no' || res_other_control === 'yes') {
goToContentWithTip([individualContent, contentWrapper, topHintCapital], [], tip_after_capital, title_in_flow);
} else {
promiseText.innerText = companyPromiseText
promiseFinish.style.display = 'block';
contentWrapper.style.display = 'none';
hideTopHint()
}
} else if (res_principal === 'partnership') {
if (res_capital === 'up1000' || res_shareholder === 'no' || res_other_control === 'yes') {
goToContentWithTip([benefitPartnerContent, contentWrapper], [topHint], tip_after_capital, title_in_flow)
} else {
hideTopHint()
hideCapitalHint()
promiseText.innerText = partnerPromiseText
promiseFinish.style.display = 'block';
contentWrapper.style.display = 'none'
}
}
})
function goToContentWithTip(showContent, hideContent, tips, title) {
let dialog = showDialog(tips)
dialog.addEventListener('close', function () {
if (title != null && title != '') {
contentTitle.innerText = title
}
setInvisibleWithPrefix(contentPrefix)
for (content of showContent) {
content.style.display = 'block';
if (content.id === 'top_hint_capital') {
showTopHint()
showCapitalHint()
}
}
for (content of hideContent) {
content.style.display = 'none'
}
})
}
btnCapitalPre.addEventListener('click', function () {
if (res_principal === '#') {
return
}
contentTitle.innerText = '您准备备案的经营主体属于以下哪一类别?'
setInvisibleWithPrefix(contentPrefix)
hideTopHint()
principalContent.style.display = 'block'
})
/* 选择受益所有权关系: 下一步 */
btnBenefitNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
benefitDetailContent.style.display = 'block'
})
btnBenefitPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
individualContent.style.display = 'block'
showCapitalHint()
showTopHint()
})
btnBenefitPartnerPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
if (res_capital === 'down1000' && res_shareholder === 'yes' && res_other_control === 'no') {
contentWrapper.style.display = 'none'
promiseFinish.style.display = 'block'
} else {
backToCaptial()
}
})
btnBenefitPartnerNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
benefitDetailPartnerContent.style.display = 'block'
})
/* 填写受益所有人信息:下一步 */
btnBenefitDetailNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案完成'
setInvisibleWithPrefix(contentPrefix)
realFinish.style.display = 'block'
contentWrapper.style.display = 'none'
})
btnBenefitDetailPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案完成'
setInvisibleWithPrefix(contentPrefix)
benefitContent.style.display = 'block'
})
btnBenefitDetailPartnerNext.addEventListener('click', function () {
contentTitle.innerText = '模拟备案完成'
setInvisibleWithPrefix(contentPrefix)
realFinish.style.display = 'block'
contentWrapper.style.display = 'none'
})
btnBenefitDetailPartnerPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案完成'
setInvisibleWithPrefix(contentPrefix)
benefitPartnerContent.style.display = 'block'
})
/* 是否国有独资或控股-下一步 */
btnIndividualNext.addEventListener('click', function () {
if (res_individual === '#') {
showNotification('请选择您所在经营主体是否属于国有独资公司或国有控股公司')
return
}
if (res_individual === 'yes') {
// 正常结束
goToContentWithTip([realFinish], [contentWrapper, topHint], tip_after_individual, title_end_flow)
} else {
hideTopHint()
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
benefitContent.style.display = 'block'
}
})
btnIndividualPre.addEventListener('click', function () {
contentTitle.innerText = '模拟备案流程'
setInvisibleWithPrefix(contentPrefix)
if (res_principal === 'company' && res_capital === 'down1000' && res_shareholder === 'yes' && res_other_control === 'no') {
contentWrapper.style.display = 'none'
promiseFinish.style.display = 'block'
hideCapitalHint()
hideTopHint()
} else {
individualContent.style.display = 'none'
backToCaptial()
}
})
/* 回到资本注册页-需要一些独立的逻辑判断 */
function backToCaptial() {
showTopHint()
hideCapitalHint()
capitalContent.style.display = 'block'
if (res_capital === 'down1000') {
shareholderContent.style.display = 'block'
}
if (res_capital === 'down1000' && res_shareholder === 'yes') {
otherControlContent.style.display = 'block'
}
}
/* 承诺免登记-下一步*/
btnNextWithPromise.addEventListener('click', function () {
// if (res_principal === 'company') {
// contentTitle.innerText = '模拟备案流程'
// setInvisibleWithPrefix(contentPrefix)
// individualContent.style.display = 'block'
// contentWrapper.style.display = 'block'
// showTopHint()
// showCapitalHint()
// return
// }
// if (res_principal === 'partnership') {
// contentWrapper.style.display = 'block'
// setInvisibleWithPrefix(contentPrefix)
// benefitPartnerContent.style.display = 'block'
// }
// 正常结束
setInvisibleWithPrefix(contentPrefix)
contentWrapper.style.display = 'none'
topHint.style.display = 'none'
realFinish.style.display = 'block'
})
btnPreWithPromise.addEventListener('click', function () {
promiseFinish.style.display = 'none'
contentWrapper.style.display = 'block'
backToCaptial()
})
/* 无需备案:重新模拟 */
btnRestartWithNothing.addEventListener('click', function () {
restart()
})
btnRestartAfterRealFinish.addEventListener('click', function () {
restart()
})
/* 承诺免登记:重新模拟 */
// btnRestartWithPromise.addEventListener('click', function () {
// restart()
// })
/* 重新开始,回到经营主体选择 */
function restart() {
setInvisibleWithPrefix(contentPrefix)
resetRadioGroup()
principalContent.style.display = 'block'
contentWrapper.style.display = 'block'
contentTitle.innerText = '您准备备案的经营主体属于以下哪一类别?'
}
/* 重置按钮选项 */
function resetRadioGroup() {
let tags = ['principal', 'capital', 'shareholder', 'other_control', 'individual']
for (const t of tags) {
const name = 'input[name="' + t + '"]'
const radios = document.querySelectorAll(name);
radios.forEach(r => {
r.checked = false
})
}
res_individual = '#'
res_capital = '#'
res_shareholder = '#'
res_principal = '#'
res_other_control = '#'
}
/* 按照前缀设置元素不可见 */
function setInvisibleWithPrefix(prefix) {
const visibleElements = findVisibleElementsWithPrefix(prefix);
visibleElements.forEach(element => {
element.style.display = 'none'
})
}
/* 将其他content_开头的元素设为不可见 */
function findVisibleElementsWithPrefix(prefix) {
const elements = document.querySelectorAll(`[id^="${prefix}"]`);
const visibleElements = Array.from(elements).filter(element => {
return window.getComputedStyle(element).display === 'block';
});
return visibleElements;
}