21 changed files with 3734 additions and 659 deletions
@ -0,0 +1,58 @@ |
|||
<template> |
|||
<div class="header_wrap"> |
|||
<div class="logo_wrap"> |
|||
<img :src="logo" alt="福通互联"> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
export default { |
|||
name: "onlyHeader", |
|||
components: {}, |
|||
props:{}, |
|||
data() { |
|||
return { |
|||
logo: require('@/assets/logo_header01.png') |
|||
}; |
|||
}, |
|||
beforeCreate() { |
|||
}, |
|||
create() { |
|||
}, |
|||
beforeMount() { |
|||
}, |
|||
mounted() { |
|||
}, |
|||
beforeUpdate() { |
|||
}, |
|||
updated() { |
|||
}, |
|||
beforeDestroy() { |
|||
}, |
|||
destroyed() { |
|||
}, |
|||
computed: {}, |
|||
watch: {}, |
|||
methods: {} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.header_wrap { |
|||
width: 100%; |
|||
min-width: 800px; |
|||
height: 80px; |
|||
background-color: $ft_bg_header; |
|||
display: flex; |
|||
justify-content: space-between; |
|||
align-items: center; |
|||
padding: 0 30px; |
|||
.logo_wrap{ |
|||
img{ |
|||
width: 60px; |
|||
height: 60px; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,213 @@ |
|||
<template> |
|||
<div class="wrapper"> |
|||
<only-header></only-header> |
|||
<el-row> |
|||
<el-col :span="20" :offset="2" class="userAgreement"> |
|||
<h1> |
|||
<span>二级节点业务系统 隐私声明</span> |
|||
</h1> |
|||
<div class="module"> |
|||
<div class="module-head">隐私声明</div> |
|||
<div class="module-body"> |
|||
<div class="module-body-section"> |
|||
<p>"二级节点业务系统"是由二级节点(以下简称"我们")为您提供标识注册、标识查询、数据统计分析、系统管理等多种功能的应用。</p> |
|||
<p>我们非常重视您的个人信息和隐私保护,我们尽力保护您的个人信息安全,我们将会按照法律要求和业界成熟的安全标准,为您的个人信息提供相应的安全保护措施。本协议阐述了二级节点业务系统处理的数据以及二级节点业务系统处理数据的方式和目的;有助于您了解我们如何收集、整理、保存、加工和提供信息;在使用我们的服务前,请您仔细阅读。</p> |
|||
<h3>本协议主要内容如下面所述:</h3> |
|||
<p>一、我们不会收集法律法规所禁止采集的信息。我们将遵循“合法、正当、必要”原则依照本协议及我们与您的其他约定处理您的信息。</p> |
|||
<p>二、我们建立了严格的信息安全保障机制</p> |
|||
<p>三、我们将严格依法向您提供服务。除法律法规及本协议另有规定外,未经您授权,我们不会向任何第三方输出您的信息。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>一、我们收集的信息及用途</h3> |
|||
<p>在任何情况下,我们均将遵循“合法、正当、必要”的原则,依法收集您的信息。除依照国家法律法规公开的信息或本协议另有约定外,未经您授权不会收集您的个人信息。我们仅收集为您提供服务所必需的信息。我们不会收集您的宗教信仰、基因、指纹、血型、疾病和病史信息,也不会收集您的聊天、通话内容及您在社交媒体上的言论。</p> |
|||
<p>在遵守前述原则的前提下,以下情形我们需要收集您的信息,用以为您提供服务、提升我们的服务质量、保障您的帐户安全以及符合国家法律法规及监管规定。</p> |
|||
<p class="text-bold">1、注册和使用信息</p> |
|||
<p>为了确认您的身份,维护您的权益,在您使用二级节点业务系统服务时,您可能需提供您的企业相关信息、联系方式等,具体取决于您所选择的服务。在您使用二级节点业务系统服务过程中,我们可能需要您提供其他个人资料。</p> |
|||
<p class="text-bold">2、安全管理</p> |
|||
<p>为了向您提供安全稳定的服务,我们需要记录您使用的服务类别、方式及相关操作信息,例如所处网络环境、设备环境信息以及其他与二级节点业务系统服务相关的信息。</p> |
|||
<p class="text-bold">3、为了提供个性化服务及改进服务质量</p> |
|||
<p>为提升您的服务体验及改进服务质量,或者为您推荐更优质或更适合的服务,我们会收集您反馈的信息。</p> |
|||
<p class="text-bold">4、根据法律法规的要求,或为了维护公共安全、公共卫生、重大公共利益,或出于维护您或其他个人的生命、财产等重大权益的, 我们可能需要收集您的个人信息。</p> |
|||
<p class="text-bold">5、其他</p> |
|||
<p>除本协议约定外,在向您提供其他业务功能时,我们会另行向您说明信息收集的范围与目的,并征得您的同意后方收集提供相应服务所必要的您的信息。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>二、我们如何存储和保护信息</h3> |
|||
<p>1、我们在中国境内收集和产生的信息,将存储在中国境内(注:仅为本协议目的,本协议中所称中国境内不包含香港特别行政区、澳门特别行政区及台湾地区)。同时,我们采取了符合法律要求的技术措施及手段来保障您的信息在整理、保存、加工等各环节的安全。如涉及跨境业务,我们需要向境外机构传输境内收集的相关个人信息的,我们会按照法律法规和相关监管部门的规定执行,并通过签订保密协议等措施,要求境外机构对所获得的您的个人信息保密。我们仅在本协议所述目的所必需期间和法律法规及监管规定的时限内保存您的个人信息。</p> |
|||
<p>2、我们承诺我们将使信息安全保护达到业界领先的安全水平。为保障您的信息安全,我们致力于使用各种安全技术及配套的管理体系来尽量降低您的信息被泄露、毁损、误用、非授权访问、非授权披露和更改的风险。同时我们设立了个人信息保护责任部门,建立了相关内控制度,对可能接触到您的信息的工作人员采取最小够用授权原则;对工作人员处理您的信息的行为进行系统监控,不断对工作人员培训相关法律法规及隐私安全准则和安全意识强化宣导,并每年组织全体工作人员参加安全考试。</p> |
|||
<p>3、我们已制定信息安全事件应急预案,定期组织内部相关人员进行应急响应培训和应急演练,使其掌握岗位职责、应急处置策略和规程。若不幸发生信息安全事件,我们将按照法律法规的要求,及时向您告知:安全事件的基本情况和可能的影响、我们已采取或将要采取的处置措施、您可自主防范和降低风险的建议、对您的补救措施等。我们会及时将事件相关情况告知您,难以逐一告知用户时,我们会采取公告的方式进行告知。同时,我们还将按照监管部门要求,主动上报信息安全事件的处置情况。若您的合法权益受损,我们将依法承担相应的责任。</p> |
|||
<p>4、请您务必妥善保管好您的二级节点业务系统登录名及其他身份要素。您在使用二级节点业务系统服务时,我们会通过您的登录名及其他身份要素来识别您的身份。一旦泄露了前述信息,您可能会蒙受损失,并可能对您产生不利。如您发现二级节点业务系统登录名及/或其他身份要素可能或已经泄露时,请您立即和我们取得联系,以便我们及时采取相应措施以避免或降低损失。</p> |
|||
<p>5、在您终止使用二级节点业务系统服务后,我们会停止对您的信息的收集和使用,法律法规另有规定或我们与您另有约定的除外。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>三、我们如何使用信息</h3> |
|||
<p class="text-bold">1、我们将严格根据法律法规及监管规定以及您的授权,在如下情形下使用您的信息:</p> |
|||
<p>(1)实现本协议中“我们如何收集的信息及用途”所述目的。</p> |
|||
<p>(2)为了更好地为您提供服务,知晓您使用二级节点业务系统服务的状态,便于您及时了解信用评估结果的变化,您同意我们可以通过二级节点业务系统客户端相关页面及信息渠道向您展示服务信息。</p> |
|||
<p>(3)为了保障服务的稳定性与安全性,我们会将您的信息用于身份验证、安全防范、诈骗监测、预防或禁止非法活动、降低风险、存档和备份用途。/或其他身份要素可能或已经泄露时,请您立即和我们取得联系,以便我们及时采取相应措施以避免或降低损失。</p> |
|||
<p>(4)邀请您参与我们产品或服务有关的客户调研。</p> |
|||
<p>(5)我们会对您的信息进行综合统计、分析加工,以便为您提供更加准确、个性、流畅及便捷的服务,或帮助我们评估、改善或设计产品、服务及运营活动等。我们可能根据前述信息向您提供营销活动通知、商业性电子信息或您可能感兴趣的广告,如您不希望接收此类信息,您可按照我们提示的方法选择退订。</p> |
|||
<p>(6)根据法律法规的要求,或为了维护公共安全、公共卫生、重大公共利益,或出于维护您或其他个人的生命、财产等重大权益的,我们可能需要使用你的个人信息。</p> |
|||
<p class="text-bold">2、除法律法规另有规定外,当您的信息被用于本协议未载明的其他用途时,我们会再次征求您的同意。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>四、我们如何对外提供信息</h3> |
|||
<p class="text-bold">(一)共享</p> |
|||
<p>我们承诺对您的信息进行保密。除本协议另有约定外,仅在下列情形下与信息使用者分享您必要的信息,同时我们将尽商业上的合理努力督促信息使用者在使用您的个人信息时遵守法律法规、履行保密义务及采取必要的安全措施:</p> |
|||
<p>1、在法律法规允许且不违背公序良俗的范围内,严格按照您的授权范围将您的信息提供给信息使用者。</p> |
|||
<p>2、如果您参与我们举办的投票、抽奖、竞赛或类似的市场活动,我们会将您提供的信息用于管理此类活动。若该活动是和第三方联合推广的,为了第三方能及时向您发放奖品或为您提供产品和服务,我们可能与其分享活动过程中产生的、为完成活动所必要的个人信息,如参加活动的用户数、中奖名单、中奖人联系方式等。</p> |
|||
<p class="text-bold">(二)公开披露</p> |
|||
<p>除在市场运营活动中需公布中奖活动名单的情况下会脱敏展示中奖者手机号或其他联系方式外,原则上我们不会公开披露您的信息。如确需公开披露时,我们会向您告知公开披露的目的、披露信息的类型及可能涉及的敏感信息,并征得您的明确同意。</p> |
|||
<p class="text-bold">(三)委托处理</p> |
|||
<p>为了提升信息处理效率,降低信息处理成本,或提高信息处理准确性,我们可能会委托有能力的关联公司代表我们来处理用户信息,但我们会通过书面协议、现场审计等方式要求受托公司遵守严格的保密义务及采取有效的保密措施,禁止其将这些信息用于未经您授权的用途。在委托关系解除时,受托公司不再保存您的个人信息。</p> |
|||
<p class="text-bold">(四)为了保护您的信息安全,我们可能会选择具备身份验证能力的第三方验证您的身份。但我们会通过书面协议、现场审计等方式要求该等第三方遵守严格的保密义务及采取有效的保密措施,禁止其将这些信息用于未经您授权的用途。</p> |
|||
<p class="text-bold">(五)根据法律法规的要求,或为了维护公共安全、公共卫生、重大公共利益,或出于维护您或其他个人的生命、财产等重大权益的, 我们可能需要披露你的个人信息。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>五、您如何访问和管理自己的个人信息</h3> |
|||
<p>在您使用二级节点业务系统服务期间,为了您可以更加便捷地管理您的个人信息,同时保障您关闭帐户的权利,我们在产品设计中为您提供了相应的操作设置,您可以参考下面的指引进行操作。</p> |
|||
<p class="text-bold">1、更新您的个人及企业资料</p> |
|||
<p>您可通过二级节点业务系统来更新或完善您的个人及企业资料。</p> |
|||
<p class="text-bold">2、更正信息</p> |
|||
<p>您可以通过二级节点业务系统的注册,了解您的履约情况,以及是否有需要及时履约的情形,以便维护您的信用。除本协议另有约定外,未经您的授权,我们不会向任何第三方披露您的违约记录。违约记录来源于合作机构,我们仅按照该机构提供的信息如实展示在您本人的二级节点业务系统里,并据此提供服务。如您认为我们展示的违约记录有误,您可反馈给我们,我们将协助您向该机构进行核实;同时您也可自行联系该机构进行核实。</p> |
|||
<p class="text-bold">3、如您发现我们采集、使用信息的行为,违反了法律、行政法规规定或违反了与您的约定,您可联系在线客服或客服电话联系我们,要求删除该违反行为下采集的您的信息。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>六、对第三方责任的声明</h3> |
|||
<p>请您注意,您访问的第三方网站经营者等第三方可能有自己的隐私权保护政策;当您查看第三方创建的网页或使用第三方应用程序时,这些第三方可能会放置他们自己的Cookie或像素标签,这些Cookie或像素标签不受我们的控制,且它们的使用不受本协议的约束。我们会尽商业上的合理努力去要求这些主体对您的个人信息采取保护措施,但我们无法保证这些主体一定会按照我们的要求采取保护措施,请您与他们直接联系以获得关于他们的隐私权政策的详细情况。如您发现这些第三方创建的网页或第三方应用程序存在风险时,建议您终止相关操作以保护您的合法权益。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>七、信息保护提醒</h3> |
|||
<p>信息保护需要您和我们的共同努力。为保障信息安全,我们会根据信息类型及范围,结合我们对相应环境的风险识别及认知,视情况利用设备环境分析、手机短信校验码等方式进行验证。</p> |
|||
<p>同时建议您在向他人提供信息时,采取合理措施来避免信息泄露或不当使用风险,不要将密码提供给其他人,注意个人信息安全。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>八、本协议的适用和更新</h3> |
|||
<p class="text-bold">1、二级节点业务系统的所有服务均适用本协议。您可以在二级节点业务系统部分页面查看本协议。我们鼓励您在使用二级节点业务系统服务时多查阅本协议。</p> |
|||
<p class="text-bold">2、发生下列重大变化情形时,我们会适时对本协议进行更新:</p> |
|||
<p>(1)收集、存储、使用信息的范围、目的、规则发生变化;</p> |
|||
<p>(2)对外提供信息的对象、范围、目的发生变化;</p> |
|||
<p>(3)您访问和管理信息的方式发生重大变化;</p> |
|||
<p>(4)数据安全能力、信息安全风险发生重大变化;</p> |
|||
<p>(5)用户询问、投诉的渠道和机制,以及外部纠纷解决机构及联络方式发生重大变化;</p> |
|||
<p>(6)其他可能对您的信息权益产生重大影响的变化。</p> |
|||
<p class="text-bold">3、为满足您专业化、多样化的需求,我们的服务可能会升级,同时因法律法规变化或我们收集信息的渠道、范围或用途等发生变化,我们需要对本协议进行修订。欢迎您了解本协议。如您在本协议更新生效后继续使用我们的服务,即表示您已充分阅读、理解并接受更新后的政策并愿意受更新后的政策约束。</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-col> |
|||
</el-row> |
|||
<Footer></Footer> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import onlyHeader from "@/components/Header/onlyHeader"; |
|||
import Footer from "@/components/Footer/Footer"; |
|||
|
|||
export default { |
|||
components: { onlyHeader, Footer }, |
|||
name: "privacyStatement", |
|||
data() { |
|||
return { |
|||
}; |
|||
}, |
|||
created() {}, |
|||
mounted() { |
|||
}, |
|||
destroyed() {}, |
|||
methods: { |
|||
}, |
|||
}; |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.wrapper { |
|||
.userAgreement { |
|||
// width: 100%; |
|||
// min-width: 1200px; |
|||
// display: block; |
|||
// justify-content: center; |
|||
// margin: 30px auto; |
|||
// font-family: Microsoft YaHei; |
|||
h1 { |
|||
margin: 30px 0; |
|||
color: #333; |
|||
font-size: 16px; |
|||
font-weight: 700; |
|||
text-align: center; |
|||
span { |
|||
display: inline-block; |
|||
border-bottom: 3px solid #2a8eea; |
|||
} |
|||
} |
|||
.module { |
|||
padding:0; |
|||
font-size: 12px; |
|||
.module-head { |
|||
display: -webkit-box; |
|||
display: -ms-flexbox; |
|||
display: flex; |
|||
padding: 0 20px; |
|||
margin: 0; |
|||
line-height: 40px; |
|||
background-color: #f2f2f2; |
|||
height: 40px; |
|||
background-image: -webkit-gradient(linear,left top,right top,from(#2a8eea),to(#7bb7f9)),-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#fafafa)); |
|||
background-image: linear-gradient(90deg,#2a8eea,#7bb7f9),linear-gradient(#fafafa,#fafafa); |
|||
background-blend-mode: normal,normal; |
|||
font-weight: 700; |
|||
} |
|||
.module-body { |
|||
padding: 0 30px 25px; |
|||
border: 1px solid #f5f5f5; |
|||
p { |
|||
margin: 8px 0; |
|||
line-height: 24px; |
|||
} |
|||
.module-body-section { |
|||
|
|||
} |
|||
} |
|||
} |
|||
.viewDetails_info { |
|||
width: 1200px; |
|||
//height: calc(100vh - 190px); |
|||
overflow-y: scroll; |
|||
color: $ft_friText; |
|||
padding: 20px 50px; |
|||
|
|||
.product_image { |
|||
width: 300px; |
|||
} |
|||
|
|||
.el-button { |
|||
background: $ft_input_bg; |
|||
margin: 0 0 20px 0; |
|||
} |
|||
.btn_tab{ |
|||
width:200px; |
|||
height:50px; |
|||
font-size:16px; |
|||
} |
|||
|
|||
.active { |
|||
background: $ft_bg_header; |
|||
color: $ft_white; |
|||
} |
|||
|
|||
.btn_bottom { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
.submit_btn { |
|||
background: $ft_grey; |
|||
border-color: $ft_grey; |
|||
color: $ft_thirdText; |
|||
width: 300px; |
|||
margin-top: 20px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,223 @@ |
|||
<template> |
|||
<div class="wrapper"> |
|||
<only-header></only-header> |
|||
<el-row> |
|||
<el-col :span="20" :offset="2" class="userAgreement"> |
|||
<h1> |
|||
<span>二级节点业务系统 用户协议</span> |
|||
</h1> |
|||
<div class="module"> |
|||
<div class="module-head">用户协议</div> |
|||
<div class="module-body"> |
|||
<p> 感谢您选择二级节点业务系统服务(以下简称“本服务”)。二级节点业务系统用户服务协议(以下简称“本协议”)由二级节点(以下简称“我们”)和您签订。为您提供标识注册、标识查询、数据统计分析、系统管理等多种功能的应用。您有权选择不使用本服务;如果您选择使用本服务,将视为您同意接受本协议条款及规则的约束。 </p> |
|||
<div class="module-body-section"> |
|||
<h3>一、二级节点业务系统用户服务协议的确认</h3> |
|||
<p> 1、本协议有助于您了解二级节点业务系统为您提供的服务内容及您使用服务的权力和义务,请您先仔细阅读本协议内容,尤其是字体加粗部分。如您对本协议内容或页面提示信息有疑问,请勿进行下一步操作。您可联系我们,以便我们为您解释和说明。您通过页面点击或其他方式确认即表示您已同意本协议。 </p> |
|||
<p> 2、如我们对本协议进行修改,若您无法同意变更修改后的协议内容,您有权停止使用相关服务;双方协商一致的,也可另行变更相关服务和对应协议内容。 </p> |
|||
<p> 3、如您为无民事行为能力人或为限制民事行为能力人,请告知您的监护人,并在您监护人的指导下阅读本协议和使用我们的服务。若您非中华人民共和国境内(为本协议之目的,不包括香港、澳门特别行政区及台湾地区)用户,您还需同时遵守您所属国家或地区的法律,且您确认,订立并履行本协议不违反您所属、所居住或开展经营活动或其他业务的国家或地区的法律法规。 </p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>二、二级节点业务系统为您提供的服务内容</h3> |
|||
<p>二级节点业务系统为您提供工业互联网标识注册、解析的相关服务,并对数据进行统计分析,提供多维度的数据展示。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>三、账户的注册和使用</h3> |
|||
<p class="text-bold">(一)注册</p> |
|||
<p>1、您可通过密码注册取得账户后使用二级节点业务系统服务。具体验证方式以二级节点业务系统页面提示为准。</p> |
|||
<p>2、您在账户中设置的昵称、留言等请务必遵守法律法规、公序良俗、社会公德,且不会侵害其他第三方的合法权益,否则我们可能会取消您的昵称、留言。</p> |
|||
<p class="text-bold">(二)使用</p> |
|||
<p>身份要素是我们识别您身份的依据,请您务必妥善保管。使用身份要素进行的操作、发出的指令视为您本人做出。因您的原因造成的账户、密码等信息被冒用、盗用或非法使用,由此引起的风险和损失需要由您自行承担。 您同意:</p> |
|||
<p>1、为了保障您的资金安全,请把手机及其他设备的密码设置成与用户标识及账户的密码不一致。如您发现有他人冒用或盗用您的用户标识、账户或者二级节点业务系统登录名及密码,或您的手机或其他有关设备丢失时,请您立即以有效方式通知我们;您还可以向我们申请暂停或停止二级节点业务系统服务。您在持续登录二级节点业务系统平台时段结束时,请以正确步骤退出应用。由于我们对您的请求采取行动需要合理时间,如我们未在合理时间内采取有效措施,导致您损失扩大的,我们将就扩大的损失部分承担责任,但我们对采取行动之前已执行的指令免于承担责任。</p> |
|||
<p>2、用户标识和账户仅限您本人使用,请勿转让、借用、赠与、继承,但二级节点业务系统账户内的相关财产权益可被依法继承。</p> |
|||
<p>3、基于运行和交易安全的需要,我们可能会暂停或者限制二级节点业务系统服务部分功能,或增加新的功能。</p> |
|||
<p>4、为了维护良好的网络环境,我们有时需要了解您使用二级节点业务系统服务的真实背景及目的,如我们要求您提供相关信息或资料的,请您配合提供。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>四、使用二级节点业务系统服务的注意事项</h3> |
|||
<p>为有效保障您使用我们服务时的合法权益,我们提醒您注意以下事项:</p> |
|||
<p class="text-bold">(一)身份验证</p> |
|||
<p>1、您在注册、使用我们服务的过程中,请您提供合法、真实、有效、准确并完整的资料(根据具体验证需要,可能包括单位名称、企业类型、机构证件类型、证件号、营业执照、企业/机构行业、注册地、联系人等)。 为了能将账户资金变动及时通知到您,以及更好保障您的账户安全,如该等资料发生变更,请您及时通知我们。 为了及时有效地验证您的信息(包括但不限于身份信息、账户信息等),根据法律法规及监管规定或我们认为有需要时,您同意我们可以把您的信息提供给第三方,也同意第三方可以把您的信息提供给我们,以便我们进行验证。您应确保二级节点业务系统登录名、账户绑定的手机号均为您本人持有,如您占用了他人的手机号,为避免给手机号持有人带来不便或不利影响,也为了您的资金安全,我们可能将该手机号从您的账户中删除并解除关联。</p> |
|||
<p>2、为了满足相关监管规定的要求,请您按照我们要求的时间提供您的身份信息以完成身份验证,否则您可能无法进行收款、提现、余额支付、购买理财产品等操作,且我们可能对您的账户余额进行止付或注销您的账户。</p> |
|||
<p class="text-bold">(二)存在如下情形时,我们可能会对您名下二级节点业务系统账户暂停或终止提供二级节点业务系统服务,且可能限制您所使用的产品或服务功能(比如对这些账户名下的资产和在途交易采取止付、取消交易等限制措施,或对交易的方式、规模、频率等进行限制):</p> |
|||
<p>(1)您违反了法律法规的规定或本协议的约定;</p> |
|||
<p>(2)根据相关法律法规或有权机关的要求;</p> |
|||
<p>(3)您的账户可能产生风险的;</p> |
|||
<p>(4)您遭到他人投诉,且对方已经提供了一定证据的;</p> |
|||
<p>(5)您可能错误地操作他人账户,或者将他人账户进行了身份验证的。</p> |
|||
<p>除(1)、(2)、(3)规定的情形外,如您申请恢复服务、解除上述止付或限制,请您向我们提供相关资料及身份证明等文件,以便我们进行核实。</p> |
|||
<p class="text-bold">(三)二级节点业务系统服务规则</p> |
|||
<p>1、您认可账户的使用记录、交易数据等均以我们的系统记录为准。如您对该等数据存有异议的,可及时向我们提出,我们会根据您提供的相关证据积极予以核实。</p> |
|||
<p>2、对于您提供及发布的文字等非个人隐私信息的知识产权归您或相关权利人所有,为向所有用户提供更优质的服务,我们及关联公司可能需要使用您的非个人隐私信息或授权给其他第三方使用。在此,您理解并同意我们及关联公司可以存储、使用、复制、修订、编辑、发布、展示、翻译、分发您的非个人隐私信息或制作其派生作品,并以已知或日后开发的形式、媒体或技术将上述信息纳入其他作品内或授权给其他第三方使用。</p> |
|||
<p>3、为了更好地向您提供服务,请您在使用二级节点业务系统服务过程中,遵守本协议内容、二级节点业务系统平台上出现的关于操作的提示及我们发送到您手机的提示。</p> |
|||
<p>4、我们会以发送短信、电话或客户端通知等方式向您发送通知,例如提示您进行相关操作,请您及时予以关注。</p> |
|||
<p>5、服务咨询与投诉</p> |
|||
<p>在使用我们服务的过程中,如遇到问题,您可以通过在线客服等方式联系我们。为了保护您及他人的合法权益,维护绿色网络环境,如您被他人投诉或投诉他人,我们可能会将您的姓名、联系方式、投诉相关内容提供给消费者权益保护部门及监管机关,以便及时解决投诉纠纷;同时,出于维护您或他人的生命、财产等重大合法权益但又很难得到您本人同意的情况下,我们可能会将您的姓名及身份证号码、联系方式、投诉相关内容提供给争议相对方。但法律法规明确禁止提供的除外。</p> |
|||
<p class="text-bold">(四)我们的承诺和声明</p> |
|||
<p>1、基于相关法律法规的规定,对本协议项下的服务,我们均无法提供担保、垫资。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>五、用户合法使用二级节点业务系统服务的承诺</h3> |
|||
<p>1、您需要遵守中华人民共和国相关法律法规及您所属、所居住或开展经营活动或其他业务的国家或地区的法律法规,不得将我们的服务用于非法目的(包括用于禁止或限制交易物品的交易),也不得以非法方式使用我们的服务。</p> |
|||
<p>2、您不得利用我们的服务从事侵害他人合法权益之行为或违反国家法律法规,否则我们有权进行调查、延迟或拒绝结算或停止提供服务,且您需要自行承担相关法律责任,如因此导致我们或其他方受损的,您需要承担赔偿责任。</p> |
|||
<p>3、上述1和2适用的情况包括但不限于:</p> |
|||
<p>(1)侵害他人名誉权、隐私权、商业秘密、商标权、著作权、专利权等合法权益;</p> |
|||
<p>(2)违反保密义务;</p> |
|||
<p>(3)冒用他人名义使用我们的服务;</p> |
|||
<p>(4)从事不法交易行为,如洗钱、恐怖融资、赌博、贩卖枪支、毒品、禁药、盗版软件、黄色淫秽物品、其他我们认为不得使用我们的服务进行交易的物品等;</p> |
|||
<p>(5)提供赌博资讯或以任何方式引诱他人参与赌博;</p> |
|||
<p>(6)未经授权使用他人银行卡,或利用信用卡、花呗套取现金;</p> |
|||
<p>(7)进行与您或交易对方宣称的交易内容不符的交易,或不真实的交易;</p> |
|||
<p>(8)从事可能侵害我们的服务系统、数据的行为。</p> |
|||
<p>4、账户仅限本人/本企业使用,您需充分了解并清楚知晓出租、出借、出售、购买账户的相关法律责任和惩戒措施,承诺依法依规开立和使用本人账户。</p> |
|||
<p>5、您理解,我们的服务有赖于系统的准确运行及操作。若出现系统差错、故障、您或我们不当获利等情形,您同意我们可以采取更正差错、扣划款项等适当纠正措施。</p> |
|||
<p>6、您不得对我们的系统和程序采取反向工程手段进行破解,不得对上述系统和程序(包括但不限于源程序、目标程序、技术文档、客户端至服务器端的数据、服务器数据)进行复制、修改、编译、整合或篡改,不得修改或增减我们系统的功能。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>六、用户权益保障及信息保护</h3> |
|||
<p class="text-bold">1、客户权益保障承诺</p> |
|||
<p>我们一直秉承“客户第一”的原则,努力为您带来微小而美好的改变,保障您在使用服务时的合法权益。</p> |
|||
<p class="text-bold">2、隐私权保护</p> |
|||
<p>我们重视对您信息的保护。关于您的信息依《二级节点业务系统 隐私声明》受到保护与规范,详情请参阅《二级节点业务系统 隐私声明》。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>七、不可抗力、免责及责任限制</h3> |
|||
<p class="text-bold">(一)免责条款</p> |
|||
<p>因下列原因导致我们无法正常提供服务,我们免于承担责任:</p> |
|||
<p >1、我们的系统停机维护或升级;</p> |
|||
<p>2、因台风、地震、洪水、雷电或恐怖袭击等不可抗力原因;</p> |
|||
<p>3、您的电脑软硬件和通信线路、供电线路出现故障的;</p> |
|||
<p>4、因您操作不当或通过非经我们授权或认可的方式使用我们服务的;</p> |
|||
<p>5、因病毒、木马、恶意程序攻击、网络拥堵、系统不稳定、系统或设备故障、通讯故障、电力故障、银行原因、第三方服务瑕疵或政府行为等原因。</p> |
|||
<p>尽管有前款约定,我们将采取合理行动积极促使服务恢复正常。</p> |
|||
<p class="text-bold">(二)责任限制</p> |
|||
<p>我们可能同时为您及您的(交易)对手方提供服务,您同意对我们可能存在的该等行为予以明确豁免任何实际或潜在的利益冲突,并不得以此来主张我们在提供服务时存在法律上的瑕疵。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>八、知识产权的保护</h3> |
|||
<p>1、我们及关联公司的系统及二级节点业务系统平台上的内容,包括但不限于著作、图片、档案、资讯、资料、网站架构、网站画面的安排、网页设计,均由我们或关联公司依法拥有知识产权,包括但不限于商标权、专利权、著作权、商业秘密等。</p> |
|||
<p>2、非经我们或关联公司书面同意,请勿擅自使用、修改、反向编译、复制、公开传播、改变、散布、发行或公开发表二级节点业务系统网站程序或内容。</p> |
|||
<p>3、尊重知识产权是您应尽的义务,如有违反,您需要承担损害赔偿责任。</p> |
|||
</div> |
|||
<div class="module-body-section"> |
|||
<h3>九、法律适用与管辖</h3> |
|||
<p>本协议之效力、解释、变更、执行与争议解决均适用中华人民共和国法律。因本协议产生的争议,均应依照中华人民共和国法律予以处理,并由被告住所地人民法院管辖。</p> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</el-col> |
|||
</el-row> |
|||
|
|||
<Footer></Footer> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import onlyHeader from "@/components/Header/onlyHeader"; |
|||
import Footer from "@/components/Footer/Footer"; |
|||
|
|||
export default { |
|||
components: { onlyHeader, Footer }, |
|||
name: "userAgreement", |
|||
data() { |
|||
return { |
|||
}; |
|||
}, |
|||
created() {}, |
|||
mounted() { |
|||
}, |
|||
destroyed() {}, |
|||
methods: { |
|||
}, |
|||
}; |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.wrapper { |
|||
.userAgreement { |
|||
// width: 100%; |
|||
// min-width: 1200px; |
|||
// display: block; |
|||
// justify-content: center; |
|||
// margin: 30px auto; |
|||
// font-family: Microsoft YaHei; |
|||
h1 { |
|||
margin: 30px 0; |
|||
color: #333; |
|||
font-size: 16px; |
|||
font-weight: 700; |
|||
text-align: center; |
|||
span { |
|||
display: inline-block; |
|||
border-bottom: 3px solid #2a8eea; |
|||
} |
|||
} |
|||
.module { |
|||
padding:0; |
|||
font-size: 12px; |
|||
.module-head { |
|||
display: -webkit-box; |
|||
display: -ms-flexbox; |
|||
display: flex; |
|||
padding: 0 20px; |
|||
margin: 0; |
|||
line-height: 40px; |
|||
background-color: #f2f2f2; |
|||
height: 40px; |
|||
background-image: -webkit-gradient(linear,left top,right top,from(#2a8eea),to(#7bb7f9)),-webkit-gradient(linear,left top,left bottom,from(#fafafa),to(#fafafa)); |
|||
background-image: linear-gradient(90deg,#2a8eea,#7bb7f9),linear-gradient(#fafafa,#fafafa); |
|||
background-blend-mode: normal,normal; |
|||
font-weight: 700; |
|||
} |
|||
.module-body { |
|||
padding: 0 30px 25px; |
|||
border: 1px solid #f5f5f5; |
|||
p { |
|||
margin: 8px 0; |
|||
line-height: 24px; |
|||
} |
|||
.module-body-section { |
|||
|
|||
} |
|||
} |
|||
} |
|||
.viewDetails_info { |
|||
width: 1200px; |
|||
//height: calc(100vh - 190px); |
|||
overflow-y: scroll; |
|||
color: $ft_friText; |
|||
padding: 20px 50px; |
|||
|
|||
.product_image { |
|||
width: 300px; |
|||
} |
|||
|
|||
.el-button { |
|||
background: $ft_input_bg; |
|||
margin: 0 0 20px 0; |
|||
} |
|||
.btn_tab{ |
|||
width:200px; |
|||
height:50px; |
|||
font-size:16px; |
|||
} |
|||
|
|||
.active { |
|||
background: $ft_bg_header; |
|||
color: $ft_white; |
|||
} |
|||
|
|||
.btn_bottom { |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
.submit_btn { |
|||
background: $ft_grey; |
|||
border-color: $ft_grey; |
|||
color: $ft_thirdText; |
|||
width: 300px; |
|||
margin-top: 20px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,688 @@ |
|||
<template> |
|||
<div class="enterpriseCertification_wrap"> |
|||
<div class="enterpriseCertification_info"> |
|||
<el-row> |
|||
<el-col> |
|||
<h1>{{ companyName }}企业节点管理平台</h1> |
|||
</el-col> |
|||
<el-col> |
|||
<div class="text_div"> |
|||
<span>{{enterpriseStatusInfo}}</span> |
|||
</div> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="14" :offset="5"> |
|||
<el-form :model="enterpriseCertificationForm" :rules="rules" ref="enterpriseCertificationForm" label-width="180px"> |
|||
<div class="linkage"> |
|||
<el-form-item label="企业注册地:" class="is-required"></el-form-item> |
|||
<el-form-item prop="provinceCode" class="linkageItem"> |
|||
<el-select v-model="enterpriseCertificationForm.provinceCode" placeholder="请选择省" |
|||
@change="changeArea(enterpriseCertificationForm.provinceCode,'city')"> |
|||
<el-option |
|||
v-for="item in provinceOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item prop="cityCode" class="linkageItem"> |
|||
<el-select v-model="enterpriseCertificationForm.cityCode" placeholder="请选择市" |
|||
@change="changeArea(enterpriseCertificationForm.cityCode,'area')"> |
|||
<el-option |
|||
v-for="item in cityOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item prop="areaCode" class="linkageItem"> |
|||
<el-select v-model="enterpriseCertificationForm.areaCode" placeholder="请选择地区"> |
|||
<el-option |
|||
v-for="item in areaOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</div> |
|||
<div class="linkage"> |
|||
<el-form-item label="行业类型:" class="is-required"></el-form-item> |
|||
<el-form-item prop="enterpriseIndustryBigType" class="linkageItem"> |
|||
<el-select v-model="enterpriseCertificationForm.enterpriseIndustryBigType" placeholder="请选择大类" |
|||
@change="getIndustryType(enterpriseCertificationForm.enterpriseIndustryBigType)"> |
|||
<el-option |
|||
v-for="item in bigTypeOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.enumeration"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item prop="enterpriseIndustrySmallType" class="linkageItem"> |
|||
<el-select v-model="enterpriseCertificationForm.enterpriseIndustrySmallType" placeholder="请选择小类"> |
|||
<el-option |
|||
v-for="item in smallTypeOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.enumeration"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</div> |
|||
<!-- <el-form-item label="信用代码类型:" prop="corporateUnifiedSocialCreditType"> |
|||
<el-select v-model="enterpriseCertificationForm.corporateUnifiedSocialCreditType" placeholder="请选择信用代码类型"> |
|||
<el-option |
|||
v-for="item in creditCodeOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.enumeration"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> --> |
|||
<el-form-item label="信用代码:" prop="corporateUnifiedSocialCreditCode" > |
|||
<el-input v-model="enterpriseCertificationForm.corporateUnifiedSocialCreditCode"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="责任主体名称:" prop="nameLegalPersonLiabilitySubject"> |
|||
<el-input v-model="enterpriseCertificationForm.nameLegalPersonLiabilitySubject"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人姓名:" prop="nameLegalRepresentative"> |
|||
<el-input v-model="enterpriseCertificationForm.nameLegalRepresentative"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人证件类型:" prop="typeLegalRepresentative"> |
|||
<el-select v-model="enterpriseCertificationForm.typeLegalRepresentative" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in legalPersonOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.enumeration"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人证件号码:" prop="certificateNumberLegalRepresentative"> |
|||
<el-input v-model="enterpriseCertificationForm.certificateNumberLegalRepresentative"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="证件照正面:" prop="faceId"> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<el-upload |
|||
ref="faceIDFileRef" |
|||
:class="{hide:hideUploadF}" |
|||
:action=action |
|||
:data="faceId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="enterpriseCertificationForm.faceId" |
|||
:headers="headers" |
|||
:on-change="handleChangeId" |
|||
:on-exceed="handleExceedId" |
|||
:on-preview="handlePictureCardPreviewId" |
|||
:on-success="handSuccessId" |
|||
:before-upload="beforePictureUploadId" |
|||
:on-remove="handleRemoveId"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrlFace" alt=""> |
|||
</el-dialog> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form-item> |
|||
<el-form-item label="证件照反面:" prop="rearId"> |
|||
<el-row> |
|||
<el-col :span="8"> |
|||
<el-upload |
|||
ref="rearIDRef" |
|||
:class="{hide:hideUploadR}" |
|||
:action=action |
|||
:data="rearId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="enterpriseCertificationForm.rearId" |
|||
:headers="headers" |
|||
:on-change="handleChangeRearID" |
|||
:on-exceed="handleExceedRearID" |
|||
:on-preview="handlePictureCardPreviewRearID" |
|||
:on-success="handSuccessRearID" |
|||
:before-upload="beforePictureUploadRearID" |
|||
:on-remove="handleRemoveRearID"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrlRear" alt=""> |
|||
</el-dialog> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form-item> |
|||
<el-form-item label="联系人姓名:" prop="duty"> |
|||
<el-input v-model="enterpriseCertificationForm.duty"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系电话:" prop="mobile"> |
|||
<el-input v-model="enterpriseCertificationForm.mobile"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="address"> |
|||
<el-input v-model="enterpriseCertificationForm.address"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="企业类型:" prop="enterpriseType"> |
|||
<el-select v-model="enterpriseCertificationForm.enterpriseType" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in enterpriseTypeOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.enumeration"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="认证资料类型:" prop="certificatedInformationType"> |
|||
<el-select v-model="enterpriseCertificationForm.certificatedInformationType" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in certificationInformationOptions" |
|||
:key="item.id" |
|||
:label="item.label" |
|||
:value="item.enumeration"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="认证资料:" prop="company"> |
|||
<el-upload |
|||
ref="companyFileRef" |
|||
:class="{hide:hideUpCompany}" |
|||
:action=action |
|||
:data="company" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="enterpriseCertificationForm.company" |
|||
:headers="headers" |
|||
:on-change="handleChangeCompany" |
|||
:on-exceed="handleExceedCompany" |
|||
:on-preview="handlePictureCardPreviewCompany" |
|||
:on-success="handSuccessCompany" |
|||
:before-upload="beforePictureUploadCompany" |
|||
:on-remove="handleRemoveCompany"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</el-form-item> |
|||
<el-form-item> |
|||
<div class="btn_group"> |
|||
<el-button size="medium" type="primary" @click="submitForm">提交</el-button> |
|||
<el-button size="medium" @click="goBack()">返回</el-button> |
|||
</div> |
|||
</el-form-item> |
|||
</el-form> |
|||
</el-col> |
|||
</el-row> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import {enterpriseAuth, registerArea, selectType, industryType,enterpriseInfo, informationModify} from "@/api/enterpriseManagement"; |
|||
import {validatePhone, validateIDCard} from "@/utils/validate"; |
|||
import {UPLOAD} from "@/api/api" |
|||
|
|||
export default { |
|||
name: "EnterpriseCertification", |
|||
components: {}, |
|||
props: {}, |
|||
data() { |
|||
const checkIDCard = (rule, value, callback) => { |
|||
if (!validateIDCard(value)) { |
|||
return callback(new Error("请输入正确的身份证")); |
|||
} else { |
|||
callback(); |
|||
} |
|||
}; |
|||
const checkPhone = (rule, value, callback) => { |
|||
// if (!validatePhone(value)) { |
|||
// return callback(new Error("请输入正确的手机号码")); |
|||
// } else { |
|||
// callback(); |
|||
// } |
|||
|
|||
callback(); |
|||
}; |
|||
return { |
|||
enterpriseStatusInfo: '', |
|||
provinceOptions: [],//省份下拉框数据 |
|||
cityOptions: [],//市下拉框数据 |
|||
areaOptions: [],//区下拉框数据 |
|||
bigTypeOptions: [],//行业大类下拉框数据 |
|||
smallTypeOptions: [],//行业小类下拉框数据 |
|||
creditCodeOptions: [],//信用代码类型下拉框数据 |
|||
legalPersonOptions: [],//法人下拉框数据 |
|||
enterpriseTypeOptions: [],//企业类型下拉框数据 |
|||
certificationInformationOptions: [],//认证资料类型下拉框数据 |
|||
hideUploadF: false, |
|||
hideUploadR: false, |
|||
hideUpCompany: false, |
|||
limitCount: 1, |
|||
dialogVisible: false, |
|||
dialogImageUrlFace: '', |
|||
dialogImageUrlRear: '', |
|||
dialogImageUrl: '', |
|||
faceId: { |
|||
bizType: 'FACE_ID', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
rearId: { |
|||
bizType: 'REAR_ID', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
company: { |
|||
bizType: 'COMPANY', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
action: UPLOAD, |
|||
companyName: '', |
|||
enterpriseCertificationForm: { |
|||
code: "",//企业编码 |
|||
provinceCode: "",//省 |
|||
cityCode: "",//市 |
|||
areaCode: "",//区县 |
|||
enterpriseIndustryBigType: '', //行业类型大类 |
|||
enterpriseIndustrySmallType: '', //行业类型小类 |
|||
corporateUnifiedSocialCreditType: "",//信用代码类型 |
|||
corporateUnifiedSocialCreditCode: '',//信用代码 |
|||
nameLegalPersonLiabilitySubject: '',//责任主体名称 |
|||
nameLegalRepresentative: '',//法人或代表人姓名 |
|||
typeLegalRepresentative: '',//法人或代表人证件类型 |
|||
certificateNumberLegalRepresentative:"",//法人或代表人证件号码 |
|||
faceId: [], //证件照正面 |
|||
rearId: [], //证件照反面 |
|||
duty: '',//联系人姓名 |
|||
mobile: '',//联系电话 |
|||
address: '', //详细地址 |
|||
enterpriseType: '', //企业类型 |
|||
certificatedInformationType: '', //认证资料类型 |
|||
company: [], //认证资料 |
|||
}, |
|||
rules: { |
|||
provinceCode: [ |
|||
{required: true, message: '请选择省', trigger: "change"}, |
|||
], |
|||
cityCode: [ |
|||
{required: true, message: '请选择市', trigger: "change"}, |
|||
], |
|||
areaCode: [ |
|||
{required: true, message: '请选择区县', trigger: "change"}, |
|||
], |
|||
enterpriseIndustryBigType: [ |
|||
{required: true, message: '请选择行业大类', trigger: 'change'} |
|||
], |
|||
enterpriseIndustrySmallType: [ |
|||
{required: true, message: '请选择行业小类', trigger: 'change'} |
|||
], |
|||
corporateUnifiedSocialCreditType: [ |
|||
{required: true, message: '请选择信用代码类型', trigger: 'change'} |
|||
], |
|||
corporateUnifiedSocialCreditCode: [ |
|||
{required: true, message: '请输入信用代码', trigger: 'blur'}, |
|||
], |
|||
nameLegalPersonLiabilitySubject: [ |
|||
{required: true, message: '请输入责任主体名称', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 20 个字符', trigger: 'blur'} |
|||
], |
|||
nameLegalRepresentative: [ |
|||
{required: true, message: '请输入法人或代表人姓名', trigger: 'blur'}, |
|||
], |
|||
typeLegalRepresentative: [ |
|||
{required: true, message: '请选择法人或代表人证件类型', trigger: 'change'} |
|||
], |
|||
certificateNumberLegalRepresentative: [ |
|||
{required: true, message: "请输入法人或代表人证件号码", trigger: "blur"}, |
|||
{validator: checkIDCard, trigger: "blur"}, |
|||
], |
|||
faceId: [ |
|||
{required: true, message: '请上传证件照正面', trigger: 'blur'}, |
|||
], |
|||
rearId: [ |
|||
{required: true, message: '请上传证件照反面', trigger: 'blur'}, |
|||
], |
|||
duty: [ |
|||
{required: true, message: '请输入联系人姓名', trigger: 'blur'}, |
|||
], |
|||
mobile: [ |
|||
{required: true, message: '请输入联系电话'}, |
|||
{validator: checkPhone, trigger: "blur"} |
|||
], |
|||
address: [ |
|||
{required: true, message: '请输入详细地址', trigger: 'blur'}, |
|||
], |
|||
|
|||
enterpriseType: [ |
|||
{required: true, message: '请选择企业类型', trigger: 'change'} |
|||
], |
|||
certificatedInformationType: [ |
|||
{required: true, message: '请选择认证资料类型', trigger: 'change'} |
|||
], |
|||
company: [ |
|||
{required: true, message: '请上传认证资料', trigger: 'blur'}, |
|||
], |
|||
} |
|||
}; |
|||
}, |
|||
beforeCreate() { |
|||
}, |
|||
create() { |
|||
}, |
|||
beforeMount() { |
|||
this.enterpriseCertificationForm.code = `${this.$Base64.decode(this.$db.get('TENANT'))}`; |
|||
this.$axios.all([enterpriseInfo(this.enterpriseCertificationForm.code), registerArea(0), selectType(0)]) |
|||
.then(this.$axios.spread((informationFormData, provinceOptionsData, selectData) => { |
|||
this.provinceOptions = provinceOptionsData.data.data |
|||
this.bigTypeOptions = selectData.data.data.INDUSTRY_TYPE |
|||
this.creditCodeOptions = selectData.data.data.CREDIT_TYPE |
|||
this.legalPersonOptions = selectData.data.data.REPRESENTATIVE_TYPE |
|||
this.enterpriseTypeOptions = selectData.data.data.ENTERPRISE_TYPE |
|||
this.certificationInformationOptions = selectData.data.data.CERTIFICATED_TYPE |
|||
let informationForm = informationFormData.data.data |
|||
if(informationForm){ |
|||
this.enterpriseStatusInfo = '企业前缀: ' + (this.$store.state.account.tenantPrefix ? this.$store.state.account.tenantPrefix : "暂未获得"); |
|||
this.enterpriseCertificationForm.provinceCode = informationForm.provinceCode; |
|||
this.enterpriseCertificationForm.enterpriseIndustryBigType = informationForm.enterpriseIndustryBigType.code; |
|||
this.$axios.all([registerArea(informationForm.provinceCode), registerArea(informationForm.cityCode), industryType(informationForm.enterpriseIndustryBigType.code)]) |
|||
.then(this.$axios.spread((cityOptionsData, areaOptionsData, smallTypeOptionsData) => { |
|||
this.cityOptions = cityOptionsData.data.data; |
|||
this.areaOptions = areaOptionsData.data.data; |
|||
this.smallTypeOptions = smallTypeOptionsData.data.data; |
|||
this.enterpriseCertificationForm.cityCode = informationForm.cityCode; |
|||
this.enterpriseCertificationForm.areaCode = informationForm.areaCode; |
|||
this.enterpriseCertificationForm.enterpriseIndustrySmallType = informationForm.enterpriseIndustrySmallType.code; |
|||
// this.enterpriseCertificationForm.corporateUnifiedSocialCreditType = informationForm.corporateUnifiedSocialCreditType.code; |
|||
this.enterpriseCertificationForm.typeLegalRepresentative = informationForm.typeLegalRepresentative.code; |
|||
this.enterpriseCertificationForm.enterpriseType = informationForm.enterpriseType.code; |
|||
this.enterpriseCertificationForm.certificatedInformationType = informationForm.certificatedInformationType.code; |
|||
this.enterpriseCertificationForm.corporateUnifiedSocialCreditCode = informationForm.corporateUnifiedSocialCreditCode; |
|||
this.enterpriseCertificationForm.nameLegalPersonLiabilitySubject = informationForm.nameLegalPersonLiabilitySubject; |
|||
this.enterpriseCertificationForm.nameLegalRepresentative = informationForm.nameLegalRepresentative; |
|||
this.enterpriseCertificationForm.certificateNumberLegalRepresentative = informationForm.certificateNumberLegalRepresentative; |
|||
this.enterpriseCertificationForm.faceId = informationForm.faceId; |
|||
this.enterpriseCertificationForm.rearId = informationForm.rearId; |
|||
this.enterpriseCertificationForm.duty = informationForm.duty; |
|||
this.enterpriseCertificationForm.mobile = informationForm.mobile; |
|||
this.enterpriseCertificationForm.address = informationForm.address; |
|||
this.enterpriseCertificationForm.company = informationForm.company; |
|||
this.hideUploadF = true; |
|||
this.hideUploadR = true; |
|||
this.hideUpCompany = true; |
|||
})) |
|||
}else{ |
|||
this.enterpriseStatusInfo = '贵公司还没有填写认证信息或通过审核,请填写或修改以下信息并点击提交,工作人员会在<em>1-3</em>个工作日内完成审核,感谢您的理解。'; |
|||
} |
|||
})) |
|||
}, |
|||
mounted() { |
|||
//this.getArea(0, "province") |
|||
//this.getType(0); |
|||
}, |
|||
beforeUpdate() { |
|||
}, |
|||
updated() { |
|||
}, |
|||
beforeDestroy() { |
|||
}, |
|||
destroyed() { |
|||
}, |
|||
computed: { |
|||
headers() { |
|||
return { |
|||
token: 'Bearer ' + this.$db.get("TOKEN", ""), |
|||
tenant: this.$db.get("TENANT", "") || "", |
|||
Authorization: `Basic ${this.$Base64.encode(`${process.env.VUE_APP_CLIENT_ID}:${process.env.VUE_APP_CLIENT_SECRET}`)}` |
|||
}; |
|||
}, |
|||
}, |
|||
watch: {}, |
|||
methods: { |
|||
//获取省市区 |
|||
getArea(parentId, grad) { |
|||
return registerArea(parentId).then((res) => { |
|||
if (grad === "province") { |
|||
this.provinceOptions = res.data.data |
|||
} else if (grad === "city") { |
|||
this.cityOptions = res.data.data |
|||
} else if (grad === "area") { |
|||
this.areaOptions = res.data.data |
|||
} |
|||
}) |
|||
}, |
|||
//选择省、市获取下一级市、区数据 |
|||
changeArea(parentId, grad) { |
|||
if (grad === "city") { |
|||
this.cityOptions = [] |
|||
this.areaOptions = []; |
|||
this.enterpriseCertificationForm.cityCode = "" |
|||
this.enterpriseCertificationForm.areaCode = "" |
|||
} else if (grad === "area") { |
|||
this.areaOptions = []; |
|||
this.enterpriseCertificationForm.areaCode = "" |
|||
} |
|||
this.getArea(parentId, grad) |
|||
}, |
|||
//获取省市区之外的下拉框数据 |
|||
getType(parentId) { |
|||
selectType(parentId).then((res) => { |
|||
this.bigTypeOptions = res.data.data.INDUSTRY_TYPE; |
|||
this.creditCodeOptions = res.data.data.CREDIT_TYPE; |
|||
this.legalPersonOptions = res.data.data.REPRESENTATIVE_TYPE; |
|||
this.enterpriseTypeOptions = res.data.data.ENTERPRISE_TYPE; |
|||
this.certificationInformationOptions = res.data.data.CERTIFICATED_TYPE; |
|||
}) |
|||
}, |
|||
//获取行业小类 |
|||
getIndustryType(enumeration) { |
|||
this.enterpriseCertificationForm.enterpriseIndustrySmallType = "" |
|||
industryType(enumeration).then((res) => { |
|||
this.smallTypeOptions = res.data.data |
|||
}) |
|||
}, |
|||
//rearID 身份证反面图片 |
|||
handleExceedRearID(files, fileList) { |
|||
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
|||
}, |
|||
handleChangeRearID(files, fileList) { |
|||
this.hideUploadR = fileList.length >= this.limitCount; |
|||
}, |
|||
handleRemoveRearID(file, fileList) { |
|||
this.enterpriseCertificationForm.rearId = fileList |
|||
this.$refs.enterpriseCertificationForm.validateField('rearId') |
|||
this.hideUploadR = fileList.length >= this.limitCount; |
|||
}, |
|||
handlePictureCardPreviewRearID(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
handSuccessRearID(file) { |
|||
this.enterpriseCertificationForm.rearId.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.enterpriseCertificationForm.validateField('rearId') |
|||
}, |
|||
beforePictureUploadRearID(file) { |
|||
const isLt1M = file.size / 1024 / 1024 < 1; |
|||
const fileType = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif', 'image/bmp'] |
|||
const isJPG = fileType.indexOf(file.type) != -1 |
|||
|
|||
if (!fileType) { |
|||
this.$message.error('上传图片只能是 JPEG、JPG、PNG、GIF、BMP 格式!'); |
|||
} |
|||
if (!isLt1M) { |
|||
this.$message.error("上传图片大小不能超过 1MB!"); |
|||
} |
|||
return isJPG && isLt1M; |
|||
}, |
|||
//身份证上传正面图片 |
|||
handleExceedId(files, fileList) { |
|||
this.$message.warning(`当前限制选择 1个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
|||
}, |
|||
handleChangeId(files, fileList) { |
|||
this.hideUploadF = fileList.length >= this.limitCount; |
|||
}, |
|||
handleRemoveId(file, fileList) { |
|||
this.enterpriseCertificationForm.faceId = fileList |
|||
this.$refs.enterpriseCertificationForm.validateField('faceId') |
|||
this.hideUploadF = fileList.length >= this.limitCount; |
|||
}, |
|||
handlePictureCardPreviewId(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
handSuccessId(file) { |
|||
this.enterpriseCertificationForm.faceId.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.enterpriseCertificationForm.validateField('faceId') |
|||
}, |
|||
beforePictureUploadId(file) { |
|||
const isLt1M = file.size / 1024 / 1024 < 1; |
|||
const fileType = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif', 'image/bmp'] |
|||
const isJPG = fileType.indexOf(file.type) != -1 |
|||
|
|||
if (!fileType) { |
|||
this.$message.error('上传图片只能是 JPEG、JPG、PNG、GIF、BMP 格式!'); |
|||
} |
|||
if (!isLt1M) { |
|||
this.$message.error("上传图片大小不能超过 1MB!"); |
|||
} |
|||
return isJPG && isLt1M; |
|||
|
|||
}, |
|||
//资料图片 |
|||
handleChangeCompany(files, fileList) { |
|||
this.hideUpCompany = fileList.length >= this.limitCount; |
|||
}, |
|||
handleExceedCompany(files, fileList) { |
|||
this.$message.warning(`当前限制选择 1 个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
|||
}, |
|||
handleRemoveCompany(file, fileList) { |
|||
this.enterpriseCertificationForm.company = fileList |
|||
this.$refs.enterpriseCertificationForm.validateField('company') |
|||
this.hideUpCompany = fileList.length >= this.limitCount; |
|||
}, |
|||
handlePictureCardPreviewCompany(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
handSuccessCompany(file) { |
|||
this.enterpriseCertificationForm.company.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.enterpriseCertificationForm.validateField('company') |
|||
}, |
|||
beforePictureUploadCompany(file) { |
|||
const isLt1M = file.size / 1024 / 1024 < 1; |
|||
const fileType = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif', 'image/bmp'] |
|||
const isJPG = fileType.indexOf(file.type) != -1 |
|||
|
|||
if (!fileType) { |
|||
this.$message.error('上传图片只能是 JPEG、JPG、PNG、GIF、BMP 格式!'); |
|||
} |
|||
if (!isLt1M) { |
|||
this.$message.error("上传图片大小不能超过 1MB!"); |
|||
} |
|||
return isJPG && isLt1M; |
|||
}, |
|||
submitForm() { |
|||
this.$refs.enterpriseCertificationForm.validate((valid) => { |
|||
if (valid) { |
|||
this.saveSubmit(); |
|||
} else { |
|||
return false; |
|||
} |
|||
}); |
|||
}, |
|||
//保存和提交 |
|||
saveSubmit() { |
|||
this.enterpriseCertificationForm.code = `${this.$Base64.decode(this.$db.get('TENANT'))}`; |
|||
enterpriseAuth(this.enterpriseCertificationForm).then(response => { |
|||
const res = response.data; |
|||
if (res.data) { |
|||
this.$message({ |
|||
message: "企业认证成功", |
|||
type: "success" |
|||
}); |
|||
this.goBack() |
|||
} |
|||
}) |
|||
}, |
|||
//返回 |
|||
goBack() { |
|||
this.$refs.enterpriseCertificationForm.resetFields(); |
|||
this.area = []; |
|||
this.$router.push("/"); |
|||
} |
|||
}, |
|||
directives: {} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
.enterpriseCertification_wrap { |
|||
margin: 10px; |
|||
|
|||
.enterpriseCertification_info { |
|||
padding: 20px; |
|||
background: #fff; |
|||
|
|||
h1 { |
|||
text-align: center; |
|||
} |
|||
|
|||
.text_div { |
|||
text-align: center; |
|||
|
|||
span { |
|||
text-align: center; |
|||
margin-bottom: 40px; |
|||
background: #f9f0b3; |
|||
line-height: 40px; |
|||
padding: 0 100px; |
|||
display: inline-block; |
|||
|
|||
em { |
|||
color: #ff0000; |
|||
display: inline-block; |
|||
padding: 0 5px; |
|||
font-size: 18px; |
|||
font-style: normal; |
|||
} |
|||
} |
|||
} |
|||
|
|||
.btn_group { |
|||
text-align: center; |
|||
|
|||
button { |
|||
margin-right: 20px; |
|||
} |
|||
} |
|||
} |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.hide .el-upload--picture-card { |
|||
display: none; |
|||
} |
|||
|
|||
.linkage { |
|||
display: flex; |
|||
|
|||
.el-form-item.linkageItem { |
|||
min-width: 130px; |
|||
|
|||
.el-form-item__content { |
|||
margin-left: 10px !important; |
|||
} |
|||
} |
|||
|
|||
.el-form-item.linkageItem:nth-child(2) { |
|||
.el-form-item__content { |
|||
margin-left: 0px !important; |
|||
} |
|||
} |
|||
} |
|||
</style> |
@ -0,0 +1,323 @@ |
|||
<template> |
|||
<div> |
|||
<div> |
|||
<span> |
|||
前缀申请 |
|||
<i class="el-icon-question pointer" style="color:gray;" @click="showInnerHelp = !showInnerHelp"></i> |
|||
</span> |
|||
<el-link type="primary" class="fr" @click="editEnperprise"> |
|||
<i class="el-icon-edit"></i> |
|||
修改 |
|||
</el-link> |
|||
<div class="content-inner" v-show="showInnerHelp"> |
|||
<div class="transition-box"> |
|||
<div class="title-bar-text"> |
|||
<strong>标识申请</strong> |
|||
</div> |
|||
<div class="title-bar-text"> |
|||
1. 基础用户通过填写资质信息。<br> |
|||
2. 成功提交资质信息后,请耐心等待审核员进行审核。<br> |
|||
3. 审核通过后,如若资质信息有变更,请及时进行修改。<br> |
|||
4. 被驳回后,请详细核查驳回原因,更正后可继续提交审核。 |
|||
</div> |
|||
</div> |
|||
</div> |
|||
</div> |
|||
<div class="content-box"> |
|||
<el-tabs type="border-card"> |
|||
<el-tab-pane label="企业资质信息"> |
|||
<el-form :model="stepData" ref="step1" label-width="180px" label-position="right"> |
|||
<div class="step-title"> |
|||
<span>资质信息</span> |
|||
</div> |
|||
<div class="title"> |
|||
<span>单位信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="单位名称:"><span>{{stepData.orgName}}</span></el-form-item> |
|||
<el-form-item label="单位证件类型:"><span>{{stepData.orgCrtTypeValue}}</span></el-form-item> |
|||
<el-form-item label="行业类型:"><span>{{stepData.industryCategoryValue}}-{{stepData.industrySpecificValue}}</span></el-form-item> |
|||
<el-form-item label="注册机关:"><span>{{stepData.regAuthority}}</span></el-form-item> |
|||
<el-form-item label="成立日期:"><span>{{stepData.establishDate}}</span></el-form-item> |
|||
<el-form-item label="企业前缀:"><span>{{stepData.entPrefix}}</span></el-form-item> |
|||
<el-form-item label="单位证件照片:"> |
|||
<img :src="stepData.orgCrtImgUrl"> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="单位性质:"><span>{{stepData.orgNatureValue}}</span></el-form-item> |
|||
<el-form-item label="单位证件号:"><span>{{stepData.orgCrtCode}}</span></el-form-item> |
|||
<el-form-item label="单位地址:"><span>{{stepData.orgAddr}}</span></el-form-item> |
|||
<el-form-item label="注册资本:"><span>{{stepData.regCapital}} (万元)</span></el-form-item> |
|||
<el-form-item label="有效期:"><span>{{stepData.periodValidity}}</span></el-form-item> |
|||
<el-form-item label="官方网站:"><span>{{stepData.website}}</span></el-form-item> |
|||
<el-form-item label="单位简介:"><span>{{stepData.orgDesc}}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title"> |
|||
<span>法人信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="法定代表人姓名:"><span>{{stepData.legalName}}</span></el-form-item> |
|||
<el-form-item label="法定代表人手机号:"><span>{{stepData.legalPhone}}</span></el-form-item> |
|||
<el-form-item label="法定代表人传真:"><span>{{stepData.legalFax}}</span></el-form-item> |
|||
<el-form-item label="法定代表人证件照片:"> |
|||
<img :src="stepData.legalCrtBackImgUrl"> |
|||
<img :src="stepData.legalCrtFrontImgUrl"> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="法定代表人证件类型:"><span>{{stepData.legalCrtTypeValue}}</span></el-form-item> |
|||
<el-form-item label="法定代表人证件号:"><span>{{stepData.legalCrtNo}}</span></el-form-item> |
|||
<el-form-item label="法定代表人邮箱:"><span>{{stepData.legalEmail}}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title"> |
|||
<span>联系人信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="联系人证件类型:"><span>{{stepData.contactCrtTypeValue}}</span></el-form-item> |
|||
<el-form-item label="联系人证件照片:"> |
|||
<img :src="stepData.contactCrtBackImgUrl"> |
|||
<img :src="stepData.contactCrtFrontImgUrl"> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="联系人手机号:"><span>{{stepData.contactPhone}}</span></el-form-item> |
|||
<el-form-item label="联系人证件号:"><span>{{stepData.contactCrtNo}}</span></el-form-item> |
|||
<el-form-item label="联系人邮箱:"><span>{{stepData.contactEmail}}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="企业标识注册解析系统信息"> |
|||
<el-form :model="stepData" ref="step2" label-width="180px" label-position="right"> |
|||
<div class="step-title"> |
|||
<span>系统建设</span> |
|||
</div> |
|||
<div class="title"> |
|||
<span>企业注册系统信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="注册系统部署方式:"><span>{{stepData.entInfoSyses[0].deployMode == 1 ? "本地部署" : "云部署"}}</span></el-form-item> |
|||
<el-form-item label="注册系统IP地址及端口号:"><span>{{stepData.entInfoSyses[0].ipPort}}</span></el-form-item> |
|||
|
|||
|
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<template v-if="stepData.entInfoSyses[0].deployMode == 1"> |
|||
<el-form-item label="注册系统所在地:"> |
|||
<span>{{stepData.entInfoSyses[0].deployAddrProvince}}-{{stepData.entInfoSyses[0].deployAddrCity}}-{{stepData.entInfoSyses[0].deployAddrCounty}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="部署地址:"><span>{{stepData.entInfoSyses[0].deployAddr}}</span></el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData.entInfoSyses[0].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:"><span>{{stepData.entInfoSyses[0].name}}</span></el-form-item> |
|||
</template> |
|||
|
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="注册数据部署方式:"><span>{{stepData.entInfoSyses[1].deployMode == 1 ? "本地部署" : "云部署"}}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<template v-if="stepData.entInfoSyses[1].deployMode == 1"> |
|||
<el-form-item label="注册数据所在地:"> |
|||
<span>{{stepData.entInfoSyses[1].deployAddrProvince}}-{{stepData.entInfoSyses[1].deployAddrCity}}-{{stepData.entInfoSyses[1].deployAddrCounty}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="部署地址:"><span>{{stepData.entInfoSyses[1].deployAddr}}</span></el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData.entInfoSyses[1].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:"><span>{{stepData.entInfoSyses[1].name}}</span></el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="注册备份数据部署方式:"><span>{{stepData.entInfoSyses[2].deployMode == 1 ? "本地部署" : "云部署"}}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<template v-if="stepData.entInfoSyses[2].deployMode == 1"> |
|||
<el-form-item label="注册备份数据所在地:"> |
|||
<span>{{stepData.entInfoSyses[2].deployAddrProvince}}-{{stepData.entInfoSyses[2].deployAddrCity}}-{{stepData.entInfoSyses[2].deployAddrCounty}}</span> |
|||
</el-form-item> |
|||
<el-form-item label="部署地址:"><span>{{stepData.entInfoSyses[1].deployAddr}}</span></el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData.entInfoSyses[2].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:"><span>{{stepData.entInfoSyses[2].name}}</span></el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title"> |
|||
<span>企业解析系统信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="解析系统部署方式:"><span>{{stepData.entInfoSyses[3].deployMode == 1 ? "本地部署" : "云部署"}}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<template v-if="stepData.entInfoSyses[3].deployMode == 1"> |
|||
<el-form-item label="解析系统所在地:"> |
|||
<span>{{stepData.entInfoSyses[3].deployAddrProvince}}-{{stepData.entInfoSyses[3].deployAddrCity}}-{{stepData.entInfoSyses[3].deployAddrCounty}}</span> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData.entInfoSyses[3].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:"><span>{{stepData.entInfoSyses[3].name}}</span></el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title"> |
|||
<span>企业服务系统信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务系统建设类型:"><span>{{stepData.servSysBuildTypeValue}}</span></el-form-item> |
|||
<el-form-item label="服务系统建设合同:" v-if="stepData.servSysBuildType == 2"> |
|||
<el-link type="primary" :href="stepData.servSysBuildContractFileUrl">{{stepData.servSysBuildContractFileUrl}}</el-link> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12" > |
|||
<el-form-item label="服务系统建设委托机构名称:" v-if="stepData.servSysBuildType == 2"><span>{{stepData.servSysBuildName}}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务系统运营类型:"><span>{{stepData.servSysOperTypeValue}}</span></el-form-item> |
|||
<el-form-item label="服务系统运营合同:" v-if="stepData.servSysOperType == 2"> |
|||
<el-link type="primary" :href="stepData.servSysOperContractFileUrl">{{stepData.servSysOperContractFileUrl}}</el-link> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务系统运营委托机构名称:" v-if="stepData.servSysOperType == 2"><span>{{stepData.servSysOperName}}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="备份服务系统部署方式:"><span>{{stepData.entInfoSyses[4].deployMode == 1 ? "本地部署" : "云部署"}}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<template v-if="stepData.entInfoSyses[4].deployMode == 1"> |
|||
<el-form-item label="备份服务系统所在地:"> |
|||
<span>{{stepData.entInfoSyses[4].deployAddrProvince}}-{{stepData.entInfoSyses[4].deployAddrCity}}-{{stepData.entInfoSyses[4].deployAddrCounty}}</span> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData.entInfoSyses[4].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:"><span>{{stepData.entInfoSyses[4].name}}</span></el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
<el-tab-pane label="企业灾备与标识服务信息"> |
|||
<el-form :model="stepData" ref="step3" label-width="180px" label-position="right"> |
|||
<div class="step-title"> |
|||
<span>灾备与服务</span> |
|||
</div> |
|||
<div class="title"> |
|||
<span>托管信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="数据托管单位名称:"><span>{{stepData.dataHostingOrg}}</span></el-form-item> |
|||
<el-form-item label="数据托管合同:"> |
|||
<el-link type="primary" :href="stepData.dataHostingContractFileUrl">{{stepData.dataHostingContractFileRid}}</el-link> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务托管单位名称:"><span>{{stepData.servHostingOrg}}</span></el-form-item> |
|||
<el-form-item label="服务托管合同:"> |
|||
<a :href="stepData.servHostingContractFileUrl">{{stepData.servHostingContractFileRid}}</a> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="title"> |
|||
<span>标识服务信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="12"> |
|||
<el-form-item label="服务行业:"><span>{{stepData.entInfoSerIndustries}}</span></el-form-item> |
|||
<el-form-item label="标识服务网站域名:"><span>{{stepData.extDomain}}</span></el-form-item> |
|||
<el-form-item label="是否取得过互联网域名或增值电信业务经营相关许可:"><span>{{stepData.orgName}}</span></el-form-item> |
|||
</el-col> |
|||
<el-col :span="12"> |
|||
<el-form-item label="标识服务网站名称:"><span>{{stepData.extWebName}}</span></el-form-item> |
|||
<el-form-item label="标识服务网站IP:"><span>{{stepData.extIpAddr}}</span></el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
</el-form> |
|||
</el-tab-pane> |
|||
</el-tabs> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
<script> |
|||
import {enterpriseInfoAll} from "@/api/enterpriseManagement"; |
|||
export default { |
|||
name:"showEnterpriseInfo", |
|||
data(){ |
|||
return { |
|||
showInnerHelp:false, |
|||
stepData:{} |
|||
} |
|||
}, |
|||
mounted(){ |
|||
this.getEnterpriseAll() |
|||
}, |
|||
methods:{ |
|||
getEnterpriseAll(){ |
|||
const code = `${this.$Base64.decode(this.$db.get('TENANT'))}` || null |
|||
if(code) |
|||
{ |
|||
enterpriseInfoAll(code).then(res => { |
|||
console.log(res.data); |
|||
this.stepData = res.data.data |
|||
if(this.stepData.entInfoSyses.length == 0) { |
|||
this.stepData.entInfoSyses = [ |
|||
{'sysType':1,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':'','ipPort':''}, |
|||
{'sysType':2,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
{'sysType':3,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
{'sysType':4,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
{'sysType':5,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
] |
|||
} |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
editEnperprise(){ |
|||
this.$emit('child-event','step'+parseInt(this.stepData.currentPage+1)) |
|||
} |
|||
} |
|||
} |
|||
</script> |
|||
<style lang="scss" scoped> |
|||
|
|||
.content-inner { |
|||
position: relative; |
|||
width: 100%; |
|||
// height: 120px; |
|||
margin: 10px 0; |
|||
padding: 10px; |
|||
font-size: 12px; |
|||
background-color: #fffce1; |
|||
border: 1px solid #f5e49c; |
|||
color: #2c3e50; |
|||
.title-bar-text { |
|||
line-height: 1.5; |
|||
} |
|||
} |
|||
.content-box { |
|||
position: relative; |
|||
margin: 20px 0; |
|||
} |
|||
</style> |
|||
<style lang="scss"> |
|||
.content-box .el-form-item__label { |
|||
font-weight: 400 !important; |
|||
} |
|||
</style> |
@ -0,0 +1,780 @@ |
|||
<template> |
|||
<el-form :model="stepData1" :rules="rules" ref="step1" label-width="180px"> |
|||
<p class="text-right"> |
|||
<el-link type="primary" @click="$emit('child-event','show')"><i class="el-icon-back"></i>返回</el-link> |
|||
</p> |
|||
<div class="step-title"> |
|||
<span>企业资质信息</span> |
|||
</div> |
|||
<div class="title"> |
|||
<span>单位信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="单位名称:" prop="orgName"> |
|||
<el-input v-model="stepData1.orgName"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="单位证件类型:" prop="orgCrtType"> |
|||
<el-select v-model="stepData1.orgCrtType" placeholder="请选择单位证件类型"> |
|||
<el-option |
|||
v-for="item in creditCodeOptions" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<div class="linkage"> |
|||
<el-form-item label="行业类型:" class="is-required"></el-form-item> |
|||
<el-form-item prop="industryCategory" class="linkageItem"> |
|||
<el-select v-model="stepData1.industryCategory" placeholder="请选择门类" |
|||
@change="getIndustryType(stepData1.industryCategory)"> |
|||
<el-option |
|||
v-for="item in bigTypeOptions" |
|||
:key="item.id" |
|||
:label="item.dictValue" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item prop="industrySpecific" class="linkageItem"> |
|||
<el-select v-model="stepData1.industrySpecific" placeholder="请选择大类"> |
|||
<el-option |
|||
v-for="item in smallTypeOptions" |
|||
:key="item.id" |
|||
:label="item.dictValue" |
|||
:value="item.id"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</div> |
|||
<el-form-item label="注册机关:"> |
|||
<el-input v-model="stepData1.regAuthority"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="成立日期:"> |
|||
<el-date-picker |
|||
v-model="stepData1.establishDate" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="官网地址:"> |
|||
<el-input v-model="stepData1.website" placeholder="请输入官网地址" /> |
|||
</el-form-item> |
|||
<el-form-item label="认证资料:" prop="orgCrtImgRid"> |
|||
<el-upload |
|||
ref="companyFileRef" |
|||
:class="{hide:hideUpCompany}" |
|||
:action=action |
|||
:data="faceId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="orgCrtImgFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeCompany" |
|||
:on-preview="handlePictureCardPreviewCompany" |
|||
:on-success="handSuccessCompany" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveCompany"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<el-form-item label="单位性质" prop="orgNature"> |
|||
<el-select v-model="stepData1.orgNature" placeholder="请选择单位性质"> |
|||
<el-option |
|||
v-for="item in enterpriseTypeOptions" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="信用代码:" prop="orgCrtCode" > |
|||
<el-input v-model="stepData1.orgCrtCode"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="单位地址:" class="is-required"> |
|||
<el-cascader |
|||
v-model="value" |
|||
:options="optionsArea" |
|||
@change="handleChangeArea"></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="orgAddr"> |
|||
<el-input v-model="stepData1.orgAddr"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="注册资本:"> |
|||
<el-input v-model="stepData1.regCapital"> |
|||
<template slot="append">万元</template> |
|||
</el-input> |
|||
</el-form-item> |
|||
<el-form-item label="有效期:"> |
|||
<el-date-picker |
|||
v-model="stepData1.periodValidity" |
|||
type="date" |
|||
placeholder="选择日期"> |
|||
</el-date-picker> |
|||
</el-form-item> |
|||
<el-form-item label="单位简介:"> |
|||
<el-input v-model="stepData1.orgDesc" type="textarea" rows=6 placeholder="请输入内容" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<div class="title"> |
|||
<span>法人信息</span> |
|||
</div> |
|||
<el-col :span="10"> |
|||
<el-form-item label="法人或代表人姓名:" prop="legalName"> |
|||
<el-input v-model="stepData1.legalName"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人电话:"> |
|||
<el-input v-model="stepData1.legalPhone"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人传真:"> |
|||
<el-input v-model="stepData1.legalFax"></el-input> |
|||
</el-form-item> |
|||
<div class="linkage"> |
|||
<el-form-item label="法人或代表人证件照:" class="is-required"></el-form-item> |
|||
<el-form-item prop="legalCrtFrontImgRid" class="linkageItem"> |
|||
<el-upload |
|||
ref="faceIDFileRef" |
|||
:class="{hide:hideUploadF}" |
|||
:action=action |
|||
:data="faceId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="legalCrtFrontImgFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeLegalId" |
|||
:on-exceed="handleExceedId" |
|||
:on-preview="handlePictureCardPreviewId" |
|||
:on-success="handSuccessLegalId" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveLegalId"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrlFace" alt=""> |
|||
</el-dialog> |
|||
</el-form-item> |
|||
<el-form-item prop="legalCrtBackImgRid" class="linkageItem"> |
|||
<el-upload |
|||
ref="rearIDRef" |
|||
:class="{hide:hideUploadR}" |
|||
:action=action |
|||
:data="rearId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="legalCrtBackImgFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeRearLegalID" |
|||
:on-exceed="handleExceedId" |
|||
:on-preview="handlePictureCardPreviewId" |
|||
:on-success="handSuccessRearLegalID" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveRearLegalID"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrlRear" alt=""> |
|||
</el-dialog> |
|||
</el-form-item> |
|||
<div class="upload-tip linkageItem"> |
|||
注意事项:<br> |
|||
支持.jpg .jpeg .png .bmp<br> |
|||
身份证的人像面请传入左框<br> |
|||
身份证的国徽面请传入右框 |
|||
</div> |
|||
</div> |
|||
|
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<el-form-item label="法人或代表人证件类型:" prop="legalCrtType"> |
|||
<el-select v-model="stepData1.legalCrtType" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in legalPersonOptions" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人证件号码:" prop="legalCrtNo"> |
|||
<el-input v-model="stepData1.legalCrtNo"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="法人或代表人邮箱:"> |
|||
<el-input v-model="stepData1.legalEmail" placeholder="请输入邮箱" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<div class="title"> |
|||
<span>联系人信息</span> |
|||
</div> |
|||
<el-col :span="10"> |
|||
<el-form-item label="联系人姓名:" prop="contactName"> |
|||
<el-input v-model="stepData1.contactName"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系人证件类型:" prop="contactCrtType"> |
|||
<el-select v-model="stepData1.contactCrtType" placeholder="请选择"> |
|||
<el-option |
|||
v-for="item in legalPersonOptions" |
|||
:key="item.value" |
|||
:label="item.label" |
|||
:value="item.value"> |
|||
</el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<div class="linkage"> |
|||
<el-form-item label="联系人证件照:"></el-form-item> |
|||
<el-form-item class="linkageItem"> |
|||
<el-upload |
|||
ref="faceIDFileRef" |
|||
:class="{hide:hideContactsF}" |
|||
:action=action |
|||
:data="faceId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="contactCrtFrontImgFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeContactsId" |
|||
:on-exceed="handleExceedId" |
|||
:on-preview="handlePictureCardPreviewId" |
|||
:on-success="handSuccessContactsId" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveContactsId"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrlContactsFace" alt=""> |
|||
</el-dialog> |
|||
</el-form-item> |
|||
<el-form-item class="linkageItem"> |
|||
<el-upload |
|||
ref="rearIDRef" |
|||
:class="{hide:hideContactsR}" |
|||
:action=action |
|||
:data="rearId" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="contactCrtBackImgFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeRearContactsId" |
|||
:on-exceed="handleExceedId" |
|||
:on-preview="handlePictureCardPreviewId" |
|||
:on-success="handSuccessRearContactsId" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveRearContactsId"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrlContactsRear" alt=""> |
|||
</el-dialog> |
|||
</el-form-item> |
|||
<div class="upload-tip linkageItem"> |
|||
注意事项:<br> |
|||
支持.jpg .jpeg .png .bmp<br> |
|||
身份证的人像面请传入左框<br> |
|||
身份证的国徽面请传入右框 |
|||
</div> |
|||
</div> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<el-form-item label="联系人电话:" prop="contactPhone"> |
|||
<el-input v-model="stepData1.contactPhone"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系人证件号码:" prop="contactCrtNo"> |
|||
<el-input v-model="stepData1.contactCrtNo"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="联系人邮箱:" prop="contactEmail"> |
|||
<el-input v-model="stepData1.contactEmail" placeholder="请输入邮箱" /> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="btn_group"> |
|||
<el-button size="medium" type="primary" @click="submitForm(0)">保存</el-button> |
|||
<el-button size="medium" type="primary" @click="submitForm(1)">下一页</el-button> |
|||
</div> |
|||
</el-form> |
|||
</template> |
|||
|
|||
<script> |
|||
import {UPLOAD} from "@/api/api" |
|||
import {validatePhone, validateIDCard,validateEmail} from "@/utils/validate"; |
|||
import {enterpriseAuthNew, registerArea,selectTypeNew, industryType,selectOtherTypeNew,enterpriseInfoNew, informationModify} from "@/api/enterpriseManagement"; |
|||
export default { |
|||
name:"step1", |
|||
data(){ |
|||
const checkIDCard = (rule, value, callback) => { |
|||
if (!validateIDCard(value)) { |
|||
return callback(new Error("请输入正确的身份证")); |
|||
} else { |
|||
callback(); |
|||
} |
|||
}; |
|||
const checkPhone = (rule, value, callback) => { |
|||
if (!validatePhone(value)) { |
|||
return callback(new Error("请输入正确的手机号码")); |
|||
} else { |
|||
callback(); |
|||
} |
|||
}; |
|||
const checkEmail = (rule, value, callback) => { |
|||
if (!validateEmail(value)) { |
|||
return callback(new Error("请输入正确的邮箱")); |
|||
} else { |
|||
callback(); |
|||
} |
|||
}; |
|||
return { |
|||
provinceOptions: [],//省份下拉框数据 |
|||
cityOptions: [],//市下拉框数据 |
|||
areaOptions: [],//区下拉框数据 |
|||
bigTypeOptions: [],//行业门类下拉框数据 |
|||
smallTypeOptions: [],//行业大类下拉框数据 |
|||
creditCodeOptions: [],//信用代码类型下拉框数据 |
|||
legalPersonOptions: [],//法人下拉框数据 |
|||
enterpriseTypeOptions: [],//企业类型下拉框数据 |
|||
hideUploadF: false, |
|||
hideUploadR: false, |
|||
hideContactsF: false, |
|||
hideContactsR: false, |
|||
hideUpCompany: false, |
|||
limitCount: 1, |
|||
dialogVisible: false, |
|||
dialogImageUrlFace: '', |
|||
dialogImageUrlRear: '', |
|||
dialogImageUrlContactsFace:"", |
|||
dialogImageUrlContactsRear:"", |
|||
dialogImageUrl: '', |
|||
faceId: { |
|||
bizType: 'FACE_ID', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
rearId: { |
|||
bizType: 'REAR_ID', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
company: { |
|||
bizType: 'COMPANY', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
action: UPLOAD, |
|||
stepData1: { |
|||
orgName:"", //单位名称 |
|||
orgNature:"", //单位性质[枚举值:1国有控股 2民营控股 3外商控股 4事业单位 5民营非盈利组织] |
|||
orgAddr:"", //单位地址-详细地址 |
|||
orgAddrProvince:"", //单位地址-省 |
|||
orgAddrCity:"", //单位地址-市 |
|||
orgAddrCounty:"", //单位地址-区 |
|||
orgCrtType:"", //单位证件类型[枚举值:1统一社会信用代码 2其他] |
|||
orgCrtCode:"", //单位证件号 |
|||
orgCrtImgRid:"", //营业执照 |
|||
orgCrtImgUrl:"", //营业执照 |
|||
orgDesc:"", //单位简介 |
|||
industryCategory:"", //行业门类 |
|||
industrySpecific:"", //行业大类 |
|||
website:"", //官方网站 |
|||
regAuthority:"", //注册机关 |
|||
regCapital:"", //注册资本 |
|||
establishDate:"", //成立日期 |
|||
periodValidity:"", //有效期 |
|||
contactName:"", //联系人名称 |
|||
contactCrtType:"", //联系人证件类型[枚举值:1中国居民身份证 2护照 3其他] |
|||
contactCrtNo:"", //联系人证件号 |
|||
contactCrtBackImgRid:"", //联系人证件反面照片 |
|||
contactCrtBackImgUrl:"", //联系人证件反面照片 |
|||
contactCrtFrontImgRid:"", //联系人证件正面照片 |
|||
contactCrtFrontImgUrl:"", //联系人证件正面照片 |
|||
contactEmail:"", //联系人邮箱 |
|||
contactPhone:"", //联系人手机 |
|||
legalName:"", //法定代表人姓名 |
|||
legalCrtType:"", //法定代表人证件类型 |
|||
legalCrtNo:"", //法定代表人证件号 |
|||
legalCrtBackImgRid:"", //法定代表人证件照片反面 |
|||
legalCrtBackImgUrl:"", //法定代表人证件照片反面 |
|||
legalCrtFrontImgRid:"", //法定代表人证件正面照片 |
|||
legalCrtFrontImgUrl:"", //法定代表人证件正面照片 |
|||
legalEmail:"", //法定代表人邮箱 |
|||
legalFax:"", //法定代表人传真 |
|||
legalPhone:"" //法定代表人手机号 |
|||
}, |
|||
orgCrtImgFile:[], |
|||
legalCrtFrontImgFile:[], |
|||
legalCrtBackImgFile:[], |
|||
contactCrtFrontImgFile:[], |
|||
contactCrtBackImgFile:[], |
|||
rules: { |
|||
//企业信息 |
|||
orgName: [ |
|||
{required: true, message: '请输入单位名称', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
orgNature: [ |
|||
{required: true, message: '请选择单位性质', trigger: "change"}, |
|||
], |
|||
orgAddr: [ |
|||
{required: true, message: '请输入详细地址', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 50 个字符', trigger: 'blur'} |
|||
], |
|||
orgAddrProvince: [ |
|||
{required: true, message: '请选择省', trigger: "change"}, |
|||
], |
|||
orgAddrCity: [ |
|||
{required: true, message: '请选择市', trigger: "change"}, |
|||
], |
|||
// orgAddrCounty: [ |
|||
// {required: true, message: '请选择区县', trigger: "change"}, |
|||
// ], |
|||
orgCrtType: [ |
|||
{required: true, message: '请选择单位证件类型', trigger: 'change'} |
|||
], |
|||
orgCrtCode: [ |
|||
{required: true, message: '请输入信用代码', trigger: 'blur'}, |
|||
], |
|||
orgCrtImgRid: [ |
|||
{required: true, message: '请上传认证资料', trigger: 'blur'}, |
|||
], |
|||
industrySpecific: [ |
|||
{required: true, message: '请选择行业大类', trigger: 'change'} |
|||
], |
|||
industryCategory: [ |
|||
{required: true, message: '请选择行业门类', trigger: 'change'} |
|||
], |
|||
//联系人 |
|||
contactName: [ |
|||
{required: true, message: '请输入联系人姓名', trigger: 'blur'}, |
|||
], |
|||
contactCrtType: [ |
|||
{required: true, message: '请选择联系人证件类型', trigger: 'change'} |
|||
], |
|||
contactCrtNo: [ |
|||
{required: true, message: "请输入联系人证件号", trigger: "blur"}, |
|||
{validator: checkIDCard, trigger: "blur"}, |
|||
], |
|||
contactPhone: [ |
|||
{required: true, message: '请输入联系电话'}, |
|||
{validator: checkPhone, trigger: "blur"} |
|||
], |
|||
contactEmail: [ |
|||
{required: true, message: '请输入联系人邮箱'}, |
|||
{validator: checkEmail, trigger: "blur"} |
|||
], |
|||
//联系人 |
|||
legalName: [ |
|||
{required: true, message: '请输入法人或代表人姓名', trigger: 'blur'}, |
|||
], |
|||
legalCrtType: [ |
|||
{required: true, message: '请选择法人或代表人证件类型', trigger: 'change'} |
|||
], |
|||
legalCrtNo: [ |
|||
{required: true, message: "请输入法人或代表人证件号码", trigger: "blur"}, |
|||
{validator: checkIDCard, trigger: "blur"}, |
|||
], |
|||
legalCrtFrontImgRid: [ |
|||
{required: true, message: '请上传证件照正面', trigger: 'blur'}, |
|||
], |
|||
legalCrtBackImgRid: [ |
|||
{required: true, message: '请上传证件照反面', trigger: 'blur'}, |
|||
] |
|||
}, |
|||
value:[], |
|||
optionsArea:[], |
|||
aAreaList:{} |
|||
} |
|||
}, |
|||
computed: { |
|||
headers() { |
|||
return { |
|||
token: 'Bearer ' + this.$db.get("TOKEN", ""), |
|||
tenant: this.$db.get("TENANT", "") || "", |
|||
Authorization: `Basic ${this.$Base64.encode(`${process.env.VUE_APP_CLIENT_ID}:${process.env.VUE_APP_CLIENT_SECRET}`)}` |
|||
}; |
|||
}, |
|||
}, |
|||
mounted(){ |
|||
this.getAreaAll() |
|||
this.getType(0); |
|||
this.getEnterpriseInfo() |
|||
}, |
|||
methods: { |
|||
getEnterpriseInfo(){ |
|||
const code = `${this.$Base64.decode(this.$db.get('TENANT'))}` || null |
|||
if(code) |
|||
{ |
|||
enterpriseInfoNew(code).then(res => { |
|||
this.stepData1 = res.data.data |
|||
this.value = [this.stepData1.orgAddrProvince,this.stepData1.orgAddrCity,this.stepData1.orgAddrCounty||null] |
|||
if(this.stepData1.industryCategory) |
|||
{ |
|||
this.getIndustryType(this.stepData1.industryCategory,true) |
|||
} |
|||
if(this.stepData1.orgCrtImgUrl) |
|||
{ |
|||
this.orgCrtImgFile = [{name: this.stepData1.orgCrtImgUrl, url: this.stepData1.orgCrtImgUrl}] |
|||
this.hideUpCompany = true |
|||
} |
|||
if(this.stepData1.legalCrtFrontImgUrl){ |
|||
this.legalCrtFrontImgFile = [{name: this.stepData1.legalCrtFrontImgUrl, url: this.stepData1.legalCrtFrontImgUrl}] |
|||
this.hideUploadF = true |
|||
} |
|||
if(this.stepData1.legalCrtBackImgUrl){ |
|||
this.legalCrtBackImgFile = [{name: this.stepData1.legalCrtBackImgUrl, url: this.stepData1.legalCrtBackImgUrl}] |
|||
this.hideUploadR = true |
|||
} |
|||
if(this.stepData1.contactCrtFrontImgUrl) { |
|||
this.contactCrtFrontImgFile = [{name: this.stepData1.contactCrtFrontImgUrl, url: this.stepData1.contactCrtFrontImgUrl}] |
|||
this.hideContactsF = true |
|||
} |
|||
if(this.stepData1.contactCrtBackImgUrl) { |
|||
this.contactCrtBackImgFile = [{name: this.stepData1.contactCrtBackImgUrl, url: this.stepData1.contactCrtBackImgUrl}] |
|||
this.hideContactsR = true |
|||
} |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
|
|||
handleChangeArea(value){ |
|||
this.stepData1.orgAddrProvince = value[0] |
|||
this.stepData1.orgAddrCity = value[1] |
|||
if(value[2]) |
|||
{ |
|||
this.stepData1.orgAddrCounty = value[2] |
|||
} |
|||
}, |
|||
//获取省市区--新 |
|||
getAreaAll() { |
|||
return registerArea().then((res) => { |
|||
this.aAreaList = res?.data?.data ? res.data.data:{} |
|||
for (const key in this.aAreaList[86]) { |
|||
if (Object.hasOwnProperty.call(this.aAreaList[86], key)) { |
|||
const element = this.aAreaList[86][key]; |
|||
this.optionsArea.push({value:key,label:element}) |
|||
} |
|||
} |
|||
for (let i = 0; i < this.optionsArea.length; i++) { |
|||
const node = this.optionsArea[i]; |
|||
node.children = this.formatArea(this.aAreaList[node.value]) |
|||
} |
|||
}) |
|||
}, |
|||
//递归深度优先处理children |
|||
formatArea(option){ |
|||
let children = [] |
|||
for (const key in option) { |
|||
if (Object.hasOwnProperty.call(option, key)) { |
|||
const element2 = option[key]; |
|||
if(this.aAreaList[key]){ |
|||
children.push({ |
|||
value:key, |
|||
label:element2, |
|||
children : this.formatArea(this.aAreaList[key]) |
|||
}) |
|||
} else { |
|||
children.push({value:key,label:element2}) |
|||
} |
|||
} |
|||
} |
|||
return children |
|||
}, |
|||
//获取省市区之外的下拉框数据 |
|||
getType(parentId) { |
|||
selectTypeNew(parentId).then((res) => { |
|||
this.bigTypeOptions = res.data.data; |
|||
}) |
|||
selectOtherTypeNew().then((res) => { |
|||
for(let i in res.data.data.orgCrtType){ |
|||
this.creditCodeOptions.push({label:i,value:res.data.data.orgCrtType[i]}) |
|||
} |
|||
for(let i in res.data.data.contactCrtType){ |
|||
this.legalPersonOptions.push({label:i,value:res.data.data.contactCrtType[i]}) |
|||
} |
|||
for(let i in res.data.data.orgNature){ |
|||
this.enterpriseTypeOptions.push({label:i,value:res.data.data.orgNature[i]}) |
|||
} |
|||
}) |
|||
}, |
|||
//获取行业大类 |
|||
getIndustryType(parentId,isShow = false) { |
|||
|
|||
if(!isShow) |
|||
{ |
|||
this.stepData1.industrySpecific = "" |
|||
} |
|||
selectTypeNew(parentId).then((res) => { |
|||
this.smallTypeOptions = res.data.data; |
|||
}) |
|||
}, |
|||
|
|||
|
|||
//联系人正面照成功 |
|||
handSuccessContactsId(file) { |
|||
this.stepData1.contactCrtFrontImgRid = file.data.idisResult |
|||
this.stepData1.contactCrtFrontImgUrl = file.data.url |
|||
this.contactCrtFrontImgFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step1.validateField('contactCrtFrontImgRid') |
|||
}, |
|||
//联系人正面照删除 |
|||
handleRemoveContactsId(file, fileList) { |
|||
this.stepData1.contactCrtFrontImgRid = fileList |
|||
this.$refs.step1.validateField('contactCrtFrontImgRid') |
|||
this.hideContactsF = fileList.length >= this.limitCount; |
|||
}, |
|||
//联系人正面变更 |
|||
handleChangeContactsId(files, fileList) { |
|||
this.hideContactsF = fileList.length >= this.limitCount; |
|||
}, |
|||
//联系人反面照成功 |
|||
handSuccessRearContactsId(file) { |
|||
this.stepData1.contactCrtBackImgRid = file.data.idisResult |
|||
this.stepData1.contactCrtBackImgUrl = file.data.url |
|||
this.contactCrtBackImgFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step1.validateField('contactCrtBackImgRid') |
|||
}, |
|||
//联系人反面照删除 |
|||
handleRemoveRearContactsId(file, fileList) { |
|||
this.stepData1.contactCrtBackImgRid = fileList |
|||
this.$refs.step1.validateField('contactCrtBackImgRid') |
|||
this.hideContactsR = fileList.length >= this.limitCount; |
|||
}, |
|||
//联系人反面变更 |
|||
handleChangeRearContactsId(files, fileList) { |
|||
this.hideContactsR = fileList.length >= this.limitCount; |
|||
}, |
|||
|
|||
|
|||
//法人相关 |
|||
//法人正面照成功 |
|||
handSuccessLegalId(file) { |
|||
this.stepData1.legalCrtFrontImgRid = file.data.idisResult |
|||
this.stepData1.legalCrtFrontImgUrl = file.data.url |
|||
this.legalCrtFrontImgFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step1.validateField('legalCrtFrontImgRid') |
|||
}, |
|||
//法人正面照删除 |
|||
handleRemoveLegalId(file, fileList) { |
|||
this.stepData1.legalCrtFrontImgRid = fileList |
|||
this.$refs.step1.validateField('legalCrtFrontImgRid') |
|||
this.hideUploadF = fileList.length >= this.limitCount; |
|||
}, |
|||
//法人正面图片变更 |
|||
handleChangeLegalId(files, fileList){ |
|||
this.hideUploadF = fileList.length >= this.limitCount; |
|||
}, |
|||
//法人反面成功 |
|||
handSuccessRearLegalID(file) { |
|||
this.stepData1.legalCrtBackImgRid = file.data.idisResult |
|||
this.stepData1.legalCrtBackImgUrl = file.data.url |
|||
this.legalCrtBackImgFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step1.validateField('legalCrtBackImgRid') |
|||
}, |
|||
//法人反面删除 |
|||
handleRemoveRearLegalID(file, fileList) { |
|||
this.stepData1.legalCrtBackImgRid = fileList |
|||
this.$refs.step1.validateField('legalCrtBackImgRid') |
|||
this.hideUploadR = fileList.length >= this.limitCount; |
|||
}, |
|||
//法人反面变更 |
|||
handleChangeRearLegalID(files, fileList) { |
|||
this.hideUploadR = fileList.length >= this.limitCount; |
|||
}, |
|||
|
|||
|
|||
//企业相关 |
|||
//企业图片变更 |
|||
handleChangeCompany(files, fileList) { |
|||
this.hideUpCompany = fileList.length >= this.limitCount; |
|||
// this.dialogImageUrl = URL.createObjectURL(files.raw); |
|||
}, |
|||
//企业认证资料删除 |
|||
handleRemoveCompany(file, fileList) { |
|||
this.stepData1.orgCrtImgRid = '' |
|||
this.orgCrtImgFile = fileList |
|||
this.$refs.step1.validateField('orgCrtImgRid') |
|||
this.hideUpCompany = fileList.length >= this.limitCount; |
|||
}, |
|||
//企业图片放大 |
|||
handlePictureCardPreviewCompany(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
//企业认证资料成功 |
|||
handSuccessCompany(file) { |
|||
this.stepData1.orgCrtImgRid = file.data.idisResult |
|||
this.stepData1.orgCrtImgUrl = file.data.url |
|||
this.orgCrtImgFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step1.validateField('orgCrtImgRid') |
|||
}, |
|||
|
|||
|
|||
//公共 |
|||
//图片上传前的验证 |
|||
handleBeforePictureUpload(file) { |
|||
const isLt1M = file.size / 1024 / 1024 < 5; |
|||
const fileType = ['image/jpeg', 'image/png', 'image/jpg', 'image/gif', 'image/bmp'] |
|||
const isJPG = fileType.indexOf(file.type) != -1 |
|||
|
|||
if (!isJPG) { |
|||
this.$message.error('上传图片只能是 JPEG、JPG、PNG、GIF、BMP 格式!'); |
|||
} |
|||
if (!isLt1M) { |
|||
this.$message.error("上传图片大小不能超过 5MB!"); |
|||
} |
|||
return isJPG && isLt1M; |
|||
}, |
|||
//点击图片放大 |
|||
handlePictureCardPreviewId(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
//上传限制 |
|||
handleExceedId(files, fileList) { |
|||
this.$message.warning(`当前限制选择 1个文件,本次选择了 ${files.length} 个文件,共选择了 ${files.length + fileList.length} 个文件`); |
|||
}, |
|||
|
|||
//点击提交检验 |
|||
submitForm(type) { |
|||
this.$refs.step1.validate((valid) => { |
|||
if (valid) { |
|||
this.saveSubmit(type); |
|||
} else { |
|||
return false; |
|||
} |
|||
}); |
|||
}, |
|||
//保存提交并下一步 |
|||
saveSubmit(type) { |
|||
this.stepData1.code = `${this.$Base64.decode(this.$db.get('TENANT'))}`; |
|||
this.stepData1.currentPage = type |
|||
enterpriseAuthNew(this.stepData1).then(response => { |
|||
const res = response.data; |
|||
if (res.data) { |
|||
this.$message({ |
|||
message: "操作成功", |
|||
type: "success" |
|||
}); |
|||
// this.$refs.step1.resetFields(); |
|||
this.$emit('child-event','step'+parseInt(type+1)) |
|||
} |
|||
}) |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.el-select,.el-cascader { |
|||
width: 100%; |
|||
} |
|||
</style> |
@ -0,0 +1,561 @@ |
|||
<template> |
|||
<el-form :model="stepData2" :rules="rules" ref="step2" label-width="200px"> |
|||
<p class="text-right"> |
|||
<el-link type="primary" @click="$emit('child-event','show')"><i class="el-icon-back"></i>返回</el-link> |
|||
</p> |
|||
<div class="step-title"> |
|||
<span>企业标识注册解析系统信息</span> |
|||
</div> |
|||
<div class="title"> |
|||
<span>企业注册系统信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="注册系统部署方式:" prop="entInfoSyses[0].deployMode"> |
|||
<el-select v-model="stepData2.entInfoSyses[0].deployMode" placeholder="请选择部署方式"> |
|||
<el-option label="本地部署" :value="1"></el-option> |
|||
<el-option label="云部署" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<el-form-item > |
|||
<span slot="label"> |
|||
<span>注册系统IP地址及端口号:</span> |
|||
<span> |
|||
<el-tooltip class="item" effect="dark" content="请按[x.x.x.x]:xxx或[xxxx:xxxx:xxxx::: …]:xxx格式填写,多个IP之间用英文分号分隔" placement="bottom"> |
|||
<i class="el-icon-s-opportunity" style="color:gold;font-size:18px"></i> |
|||
</el-tooltip> |
|||
</span> |
|||
</span> |
|||
<el-input v-model="stepData2.entInfoSyses[0].ipPort"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.entInfoSyses[0].deployMode == 1"> |
|||
<el-form-item label="注册系统所在地:" prop="entInfoSyses[0].deployAddrCounty"> |
|||
<el-cascader v-model="regSysArea" :options="optionsArea" @change="handleChangeArea($event,0)"></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="entInfoSyses[0].deployAddr"> |
|||
<el-input v-model="stepData2.entInfoSyses[0].deployAddr"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData2.entInfoSyses[0].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:" prop="entInfoSyses[0].name"> |
|||
<el-input v-model="stepData2.entInfoSyses[0].name"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="注册数据部署方式:" prop="entInfoSyses[1].deployMode"> |
|||
<el-select v-model="stepData2.entInfoSyses[1].deployMode" placeholder="请选择部署方式"> |
|||
<el-option label="本地部署" :value="1"></el-option> |
|||
<el-option label="云部署" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.entInfoSyses[1].deployMode == 1"> |
|||
<el-form-item label="注册数据所在地:" prop="entInfoSyses[1].deployAddrCounty"> |
|||
<el-cascader v-model="regDataArea" :options="optionsArea" @change="handleChangeArea($event,1)"></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="entInfoSyses[1].deployAddr"> |
|||
<el-input v-model="stepData2.entInfoSyses[1].deployAddr"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData2.entInfoSyses[1].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:" prop="entInfoSyses[1].name" > |
|||
<el-input v-model="stepData2.entInfoSyses[1].name"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="注册备份数据部署方式:" prop="entInfoSyses[2].deployMode"> |
|||
<el-select v-model="stepData2.entInfoSyses[2].deployMode" placeholder="请选择部署方式"> |
|||
<el-option label="本地部署" :value="1"></el-option> |
|||
<el-option label="云部署" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.entInfoSyses[2].deployMode == 1"> |
|||
<el-form-item label="注册备份数据所在地:" prop="entInfoSyses[2].deployAddrCounty"> |
|||
<el-cascader v-model="regDataBackArea" :options="optionsArea" @change="handleChangeArea($event,2)"></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="entInfoSyses[2].deployAddr"> |
|||
<el-input v-model="stepData2.entInfoSyses[2].deployAddr"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData2.entInfoSyses[2].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:" prop="entInfoSyses[2].name" > |
|||
<el-input v-model="stepData2.entInfoSyses[2].name"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<div class="title"> |
|||
<span>企业解析系统信息</span> |
|||
</div> |
|||
<el-col :span="10"> |
|||
<el-form-item label="解析系统部署方式:" prop="entInfoSyses[3].deployMode"> |
|||
<el-select v-model="stepData2.entInfoSyses[3].deployMode" placeholder="请选择部署方式"> |
|||
<el-option label="本地部署" :value="1"></el-option> |
|||
<el-option label="云部署" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.entInfoSyses[3].deployMode == 1"> |
|||
<el-form-item label="解析系统所在地:" prop="entInfoSyses[3].deployAddrCounty"> |
|||
<el-cascader v-model="analysisSysArea" :options="optionsArea" @change="handleChangeArea($event,3)"></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="entInfoSyses[3].deployAddr"> |
|||
<el-input v-model="stepData2.entInfoSyses[3].deployAddr"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData2.entInfoSyses[3].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:" prop="entInfoSyses[3].name" > |
|||
<el-input v-model="stepData2.entInfoSyses[3].name"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<div class="title"> |
|||
<span>企业服务系统信息</span> |
|||
</div> |
|||
<el-col :span="10"> |
|||
<el-form-item label="服务系统建设类型:" prop="servSysBuildType"> |
|||
<el-select v-model="stepData2.servSysBuildType" placeholder="请选择"> |
|||
<el-option label="自营" :value="1"></el-option> |
|||
<el-option label="托管" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<template v-if="stepData2.servSysBuildType == 2"> |
|||
<el-form-item label="委托合同:" prop="servSysBuildContractFileRid"> |
|||
<el-col :span="8"> |
|||
<el-upload |
|||
ref="servSysBuildRef" |
|||
:class="{hide:hideServSysBuild}" |
|||
:action=action |
|||
:data="servSysBuild" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="servSysBuildFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeServSysBuild" |
|||
:on-preview="handlePictureCardPreviewServSysBuild" |
|||
:on-success="handSuccessServSysBuild" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveServSysBuild"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="upload-tip"> |
|||
注意事项:<br> |
|||
合同附件支持.pdf格式 |
|||
</div> |
|||
</el-col> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.servSysBuildType == 2"> |
|||
<el-form-item label="委托机构名称:" prop="servSysBuildName" > |
|||
<el-input v-model="stepData2.servSysBuildName"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="服务系统运营类型:" prop="servSysOperType"> |
|||
<el-select v-model="stepData2.servSysOperType" placeholder="请选择"> |
|||
<el-option label="自营" :value="1"></el-option> |
|||
<el-option label="托管" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
<template v-if="stepData2.servSysOperType == 2"> |
|||
<el-form-item label="委托合同:" prop="orgCrtImgRid"> |
|||
<el-col :span="8"> |
|||
<el-upload |
|||
ref="servSysBuildRef" |
|||
:class="{hide:hideServSysOper}" |
|||
:action=action |
|||
:data="servSysBuild" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="servSysOperFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeServSysOper" |
|||
:on-preview="handlePictureCardPreviewServSysOper" |
|||
:on-success="handSuccessServSysOper" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveServSysOper"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</el-col> |
|||
<el-col :span="8"> |
|||
<div class="upload-tip"> |
|||
注意事项:<br> |
|||
合同附件支持.pdf格式 |
|||
</div> |
|||
</el-col> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.servSysOperType == 2"> |
|||
<el-form-item label="委托机构名称:" prop="servSysOperName" > |
|||
<el-input v-model="stepData2.servSysOperName"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="备份系统服务部署方式:" prop="entInfoSyses[4].deployMode"> |
|||
<el-select v-model="stepData2.entInfoSyses[4].deployMode" placeholder="请选择"> |
|||
<el-option label="本地部署" :value="1"></el-option> |
|||
<el-option label="云部署" :value="2"></el-option> |
|||
</el-select> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<template v-if="stepData2.entInfoSyses[4].deployMode == 1"> |
|||
<el-form-item label="备份系统所在地:" prop="entInfoSyses[4].deployAddrCounty"> |
|||
<el-cascader v-model="sysBackArea" :options="optionsArea" @change="handleChangeArea($event,4)"></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="详细地址:" prop="entInfoSyses[4].deployAddr"> |
|||
<el-input v-model="stepData2.entInfoSyses[4].deployAddr"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
<template v-else-if="stepData2.entInfoSyses[4].deployMode == 2"> |
|||
<el-form-item label="云服务商名称:" prop="entInfoSyses[4].name" > |
|||
<el-input v-model="stepData2.entInfoSyses[4].name"></el-input> |
|||
</el-form-item> |
|||
</template> |
|||
</el-col> |
|||
</el-row> |
|||
<div class="btn_group"> |
|||
<el-button size="medium" type="primary" @click="submitForm(1)">保存</el-button> |
|||
<el-button size="medium" type="primary" @click="submitForm(0)">上一页</el-button> |
|||
<el-button size="medium" type="primary" @click="submitForm(2)">下一页</el-button> |
|||
</div> |
|||
</el-form> |
|||
</template> |
|||
|
|||
<script> |
|||
import {enterpriseAuthNew2,registerArea,enterpriseInfoNewStep2} from "@/api/enterpriseManagement"; |
|||
import {UPLOAD} from "@/api/api" |
|||
export default { |
|||
name:"step2", |
|||
data(){ |
|||
return { |
|||
stepData2: { |
|||
entInfoSyses:[ |
|||
{'sysType':1,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':'','ipPort':''}, |
|||
{'sysType':2,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
{'sysType':3,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
{'sysType':4,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
{'sysType':5,'deployMode':'','deployAddrProvince':'','deployAddrCity':'','deployAddrCounty':'','deployAddr':'','name':''}, |
|||
], |
|||
servSysBuildType:'', //服务系统建设,建设类型[枚举值: 1自营 2委托] |
|||
servSysBuildName:'', //服务系统建设委托机构名称 |
|||
servSysBuildContractFileRid:"", //服务系统建设合同 |
|||
servSysBuildContractFileUrl:"", //服务系统建设合同--url |
|||
servSysOperType:'', //服务系统运营类型[枚举值: 1自营 2委托] |
|||
servSysOperName:'', //服务系统运营委托机构名称 |
|||
servSysOperContractFileRid:"", //服务系统运营合同 |
|||
servSysOperContractFileUrl:'', //服务系统运营合同--url |
|||
}, |
|||
regSysArea:[], //注册系统所在地 |
|||
regDataArea:[], //注册数据所在地 |
|||
regDataBackArea:[], //注册备份数据所在地 |
|||
analysisSysArea:[], //解析系统所在地 |
|||
sysBackArea:[], //备份系统所在地 |
|||
rules: { |
|||
"entInfoSyses[0].deployMode": [ |
|||
{required: true, message: '请选择注册系统部署方式', trigger: "change"}, |
|||
], |
|||
"entInfoSyses[0].deployAddr": [ |
|||
{required: true, message: '请输入详细地址', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[0].name": [ |
|||
{required: true, message: '请输入云服务商名称', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[0].deployAddrCounty":[ |
|||
{required: true, message: '请选择所在地', trigger: "change"}, |
|||
], |
|||
|
|||
"entInfoSyses[1].deployMode": [ |
|||
{required: true, message: '请选择注册数据部署方式', trigger: "change"}, |
|||
], |
|||
"entInfoSyses[1].deployAddr": [ |
|||
{required: true, message: '请输入详细地址', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[1].name": [ |
|||
{required: true, message: '请输入云服务商名称', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[1].deployAddrCounty":[ |
|||
{required: true, message: '请选择所在地', trigger: "change"}, |
|||
], |
|||
|
|||
"entInfoSyses[2].deployMode": [ |
|||
{required: true, message: '请选择注册备份数据部署方式', trigger: "change"}, |
|||
], |
|||
"entInfoSyses[2].deployAddr": [ |
|||
{required: true, message: '请输入详细地址', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[2].name": [ |
|||
{required: true, message: '请输入云服务商名称', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[2].deployAddrCounty":[ |
|||
{required: true, message: '请选择所在地', trigger: "change"}, |
|||
], |
|||
|
|||
"entInfoSyses[3].deployMode": [ |
|||
{required: true, message: '请选择解析系统部署方式', trigger: "change"}, |
|||
], |
|||
"entInfoSyses[3].deployAddr": [ |
|||
{required: true, message: '请输入详细地址', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[3].name": [ |
|||
{required: true, message: '请输入云服务商名称', trigger: 'blur'}, |
|||
{min: 1, max: 20, message: '长度在 1 到 30 个字符', trigger: 'blur'} |
|||
], |
|||
"entInfoSyses[3].deployAddrCounty":[ |
|||
{required: true, message: '请选择所在地', trigger: "change"}, |
|||
], |
|||
|
|||
servSysBuildType:[ |
|||
{required: true, message: '服务系统建设类型', trigger: "change"}, |
|||
], |
|||
servSysOperType:[ |
|||
{required: true, message: '服务系统运营类型', trigger: "change"}, |
|||
] |
|||
}, |
|||
limitCount: 1, |
|||
dialogVisible: false, |
|||
dialogImageUrl: '', |
|||
hideServSysBuild:false, |
|||
hideServSysOper:false, |
|||
servSysOperFile:[], |
|||
servSysBuildFile:[], |
|||
action: UPLOAD, |
|||
servSysBuild: { |
|||
bizType: 'BUILD_ID', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
optionsArea:[], //省市区联级下拉--tree格式 |
|||
aAreaList:{} //省市区数据-对象格式 |
|||
} |
|||
}, |
|||
computed: { |
|||
headers() { |
|||
return { |
|||
token: 'Bearer ' + this.$db.get("TOKEN", ""), |
|||
tenant: this.$db.get("TENANT", "") || "", |
|||
Authorization: `Basic ${this.$Base64.encode(`${process.env.VUE_APP_CLIENT_ID}:${process.env.VUE_APP_CLIENT_SECRET}`)}` |
|||
}; |
|||
}, |
|||
}, |
|||
mounted() { |
|||
this.getAreaAll() |
|||
this.getEnterpriseInfo() |
|||
}, |
|||
methods: { |
|||
getEnterpriseInfo(){ |
|||
const code = `${this.$Base64.decode(this.$db.get('TENANT'))}` || null |
|||
if(code) |
|||
{ |
|||
enterpriseInfoNewStep2(code).then(res => { |
|||
if(res.data.data.entInfoSyses.length == 0) |
|||
{ |
|||
return |
|||
} |
|||
this.stepData2 = res.data.data |
|||
if(this.stepData2.servSysBuildContractFileUrl) |
|||
{ |
|||
this.servSysBuildFile = [{name: this.stepData2.servSysBuildContractFileUrl, url: this.stepData2.servSysBuildContractFileUrl}] |
|||
this.hideServSysBuild = true |
|||
} |
|||
if(this.stepData2.servSysOperContractFileUrl) |
|||
{ |
|||
this.servSysOperFile = [{name: this.stepData2.servSysOperContractFileUrl, url: this.stepData2.servSysOperContractFileUrl}] |
|||
this.hideServSysOper = true |
|||
} |
|||
if(this.stepData2.entInfoSyses[0].deployMode == 1) { |
|||
this.regSysArea = [this.stepData2.entInfoSyses[0].deployAddrProvince,this.stepData2.entInfoSyses[0].deployAddrCity,this.stepData2.entInfoSyses[0].deployAddrCounty||null] |
|||
} |
|||
if(this.stepData2.entInfoSyses[1].deployMode == 1) { |
|||
this.regDataArea = [this.stepData2.entInfoSyses[1].deployAddrProvince,this.stepData2.entInfoSyses[1].deployAddrCity,this.stepData2.entInfoSyses[1].deployAddrCounty||null] |
|||
} |
|||
if(this.stepData2.entInfoSyses[2].deployMode == 1) { |
|||
this.regDataBackArea = [this.stepData2.entInfoSyses[2].deployAddrProvince,this.stepData2.entInfoSyses[2].deployAddrCity,this.stepData2.entInfoSyses[2].deployAddrCounty||null] |
|||
} |
|||
if(this.stepData2.entInfoSyses[3].deployMode == 1) { |
|||
this.analysisSysArea = [this.stepData2.entInfoSyses[3].deployAddrProvince,this.stepData2.entInfoSyses[3].deployAddrCity,this.stepData2.entInfoSyses[3].deployAddrCounty||null] |
|||
} |
|||
if(this.stepData2.entInfoSyses[4].deployMode == 1 && this.stepData2.entInfoSyses[4].deployAddrProvince) { |
|||
this.sysBackArea = [this.stepData2.entInfoSyses[4].deployAddrProvince,this.stepData2.entInfoSyses[4].deployAddrCity,this.stepData2.entInfoSyses[4].deployAddrCounty||null] |
|||
} |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
//获取省市区--新 |
|||
getAreaAll() { |
|||
return registerArea().then((res) => { |
|||
this.aAreaList = res?.data?.data ? res.data.data:{} |
|||
for (const key in this.aAreaList[86]) { |
|||
if (Object.hasOwnProperty.call(this.aAreaList[86], key)) { |
|||
const element = this.aAreaList[86][key]; |
|||
this.optionsArea.push({value:key,label:element}) |
|||
} |
|||
} |
|||
for (let i = 0; i < this.optionsArea.length; i++) { |
|||
const node = this.optionsArea[i]; |
|||
node.children = this.formatArea(this.aAreaList[node.value]) |
|||
} |
|||
}) |
|||
}, |
|||
//递归深度优先处理children |
|||
formatArea(option){ |
|||
let children = [] |
|||
for (const key in option) { |
|||
if (Object.hasOwnProperty.call(option, key)) { |
|||
const element2 = option[key]; |
|||
if(this.aAreaList[key]){ |
|||
children.push({ |
|||
value:key, |
|||
label:element2, |
|||
children : this.formatArea(this.aAreaList[key]) |
|||
}) |
|||
} else { |
|||
children.push({value:key,label:element2}) |
|||
} |
|||
} |
|||
} |
|||
return children |
|||
}, |
|||
handleChangeArea(area,num){ |
|||
console.log(area,num); |
|||
this.stepData2.entInfoSyses[num].deployAddrProvince = area[0] |
|||
this.stepData2.entInfoSyses[num].deployAddrCity = area[1] |
|||
if(area[2]) |
|||
this.stepData2.entInfoSyses[num].deployAddrCounty = area[2] |
|||
}, |
|||
//点击提交检验 |
|||
submitForm(type) { |
|||
this.$refs.step2.validate((valid) => { |
|||
if (valid) { |
|||
this.saveSubmit(type); |
|||
} else { |
|||
return false; |
|||
} |
|||
}); |
|||
}, |
|||
//保存提交并下一步 |
|||
saveSubmit(type) { |
|||
this.stepData2.code = `${this.$Base64.decode(this.$db.get('TENANT'))}`; |
|||
this.stepData2.currentPage = type |
|||
enterpriseAuthNew2(this.stepData2).then(response => { |
|||
const res = response.data; |
|||
if (res.data) { |
|||
this.$message({ |
|||
message: "操作成功", |
|||
type: "success" |
|||
}); |
|||
// this.$refs.step1.resetFields(); |
|||
this.$emit('child-event','step'+parseInt(type+1)) |
|||
|
|||
} |
|||
}) |
|||
}, |
|||
handleBeforePictureUpload(file) { |
|||
const isLt1M = file.size / 1024 / 1024 < 5; |
|||
const fileType = ['application/pdf'] |
|||
const isJPG = fileType.indexOf(file.type) != -1 |
|||
|
|||
if (!isJPG) { |
|||
this.$message.error('上传图片只能是 PDF 格式!'); |
|||
} |
|||
if (!isLt1M) { |
|||
this.$message.error("上传图片大小不能超过 5MB!"); |
|||
} |
|||
return isJPG && isLt1M; |
|||
}, |
|||
//建设 |
|||
handleChangeServSysBuild(files, fileList) { |
|||
this.hideServSysBuild = fileList.length >= this.limitCount; |
|||
}, |
|||
handleRemoveServSysBuild(file, fileList) { |
|||
this.stepData2.servSysBuildContractFileRid = '' |
|||
this.servSysBuildFile = fileList |
|||
this.$refs.step2.validateField('servSysBuildContractFileRid') |
|||
this.hideServSysBuild = fileList.length >= this.limitCount; |
|||
}, |
|||
handlePictureCardPreviewServSysBuild(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
handSuccessServSysBuild(file) { |
|||
this.stepData2.servSysBuildContractFileRid = file.data.idisResult |
|||
this.stepData2.servSysBuildContractFileUrl = file.data.url |
|||
this.servSysBuildFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step2.validateField('servSysBuildContractFileRid') |
|||
}, |
|||
//运营 |
|||
handleChangeServSysOper(files, fileList) { |
|||
this.hideServSysOper = fileList.length >= this.limitCount; |
|||
}, |
|||
handleRemoveServSysOper(file, fileList) { |
|||
this.stepData2.servSysOperContractFileRid = '' |
|||
this.servSysOperFile = fileList |
|||
this.$refs.step2.validateField('servSysOperContractFileRid') |
|||
this.hideServSysOper = fileList.length >= this.limitCount; |
|||
}, |
|||
handlePictureCardPreviewServSysOper(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
handSuccessServSysOper(file) { |
|||
this.stepData2.servSysOperContractFileRid = file.data.idisResult |
|||
this.stepData2.servSysOperContractFileUrl = file.data.url |
|||
this.servSysOperFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step2.validateField('servSysOperContractFileRid') |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.el-select { |
|||
// display: inline-block; |
|||
// position: relative; |
|||
width: 100%; |
|||
} |
|||
.el-cascader { |
|||
width: 100%; |
|||
} |
|||
</style> |
@ -0,0 +1,410 @@ |
|||
<template> |
|||
<el-form :model="stepData3" :rules="rules" ref="step3" label-width="210px"> |
|||
<p class="text-right"> |
|||
<el-link type="primary" @click="$emit('child-event','show')"><i class="el-icon-back"></i>返回</el-link> |
|||
</p> |
|||
|
|||
|
|||
<div class="step-title"> |
|||
<span>企业灾备与标识服务信息</span> |
|||
</div> |
|||
<div class="title"> |
|||
<span>托管信息</span> |
|||
</div> |
|||
<el-row> |
|||
<el-col :span="10"> |
|||
<el-form-item label="数据托管单位名称:" > |
|||
<el-input v-model="stepData3.dataHostingOrg"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="数据托管合同:"> |
|||
<el-col :span="8"> |
|||
<el-upload |
|||
ref="dataTrusteeRef" |
|||
:class="{hide:hideDataTrustee}" |
|||
:action=action |
|||
:data="servSysBuild" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="dataTrusteeFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeDataTrustee" |
|||
:on-preview="handlePictureCardPreview" |
|||
:on-success="handSuccessDataTrustee" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveDataTrustee"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="upload-tip"> |
|||
注意事项:<br> |
|||
请上传加盖公章的数据托管合同,支持.pdf格式 |
|||
</div> |
|||
</el-col> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<el-form-item label="服务托管单位名称:" > |
|||
<el-input v-model="stepData3.servHostingOrg"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="服务托管合同:"> |
|||
<el-col :span="8"> |
|||
<el-upload |
|||
ref="serviceTrusteeRef" |
|||
:class="{hide:hideServiceTrustee}" |
|||
:action=action |
|||
:data="servSysBuild" |
|||
list-type="picture-card" |
|||
:limit=limitCount |
|||
:file-list="serviceTrusteeFile" |
|||
:headers="headers" |
|||
:on-change="handleChangeServiceTrustee" |
|||
:on-preview="handlePictureCardPreview" |
|||
:on-success="handSuccessServiceTrustee" |
|||
:before-upload="handleBeforePictureUpload" |
|||
:on-remove="handleRemoveServiceTrustee"> |
|||
<i class="el-icon-plus"></i> |
|||
</el-upload> |
|||
<el-dialog :visible.sync="dialogVisible"> |
|||
<img width="100%" :src="dialogImageUrl" alt=""> |
|||
</el-dialog> |
|||
</el-col> |
|||
<el-col :span="16"> |
|||
<div class="upload-tip"> |
|||
注意事项:<br> |
|||
请上传加盖公章的服务托管合同,支持.pdf格式 |
|||
</div> |
|||
</el-col> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<div class="title"> |
|||
<span>标识服务信息</span> |
|||
</div> |
|||
<el-col :span="10"> |
|||
<el-form-item label="服务行业:"> |
|||
<el-cascader |
|||
style="width:100%;" |
|||
v-model="entInfoSerIndustries" |
|||
:options="options" |
|||
:props="props" |
|||
clearable></el-cascader> |
|||
</el-form-item> |
|||
<el-form-item label="标识服务网站域名:"> |
|||
<el-input v-model="stepData3.extDomain"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<el-form-item label="标识服务网站名称:"> |
|||
<el-input v-model="stepData3.extWebName"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="标识服务网站IP:"> |
|||
<el-input v-model="stepData3.extIpAddr" placeholder="多个IP间以英文分号;间隔, 最后一个ip后面不要添加英文分号"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<el-row> |
|||
<el-form-item label="是否取得过互联网域名或增值电信业务经营相关许可:" label-width="400px" > |
|||
<el-switch |
|||
v-model="isLicenses" |
|||
active-color="rgb(51, 112, 255)" |
|||
inactive-color="grey"> |
|||
</el-switch> |
|||
</el-form-item> |
|||
</el-row> |
|||
<el-row v-if="isLicenses"> |
|||
<el-col :span="10"> |
|||
<el-form-item label="域名根服务器运行机构许可证:"> |
|||
<el-input v-model="entInfoLicenses[0]"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="域名注册服务机构许可证:"> |
|||
<el-input v-model="entInfoLicenses[1]"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
<el-col :span="10" :offset="1"> |
|||
<el-form-item label="域名注册管理机构许可证:"> |
|||
<el-input v-model="entInfoLicenses[2]"></el-input> |
|||
</el-form-item> |
|||
<el-form-item label="增值电信业务经营许可证:"> |
|||
<el-input v-model="entInfoLicenses[3]"></el-input> |
|||
</el-form-item> |
|||
</el-col> |
|||
</el-row> |
|||
<p class="text-center agreement"> |
|||
<el-checkbox v-model="checked"> |
|||
我已阅读并接受 |
|||
<el-link type="primary" target="_blank" href="#/userAgreement"> 《SNMS用户协议》 </el-link> |
|||
及 |
|||
<el-link type="primary" target="_blank" href="#/privacyStatement"> 《SNMS隐私声明》 </el-link> |
|||
</el-checkbox> |
|||
</p> |
|||
|
|||
<div class="btn_group"> |
|||
<el-button size="medium" type="primary" @click="saveSubmit(2)">保存</el-button> |
|||
<el-button size="medium" type="primary" @click="saveSubmit(1)">上一页</el-button> |
|||
<el-button size="medium" type="primary" @click="submitForm(2)">提交</el-button> |
|||
</div> |
|||
</el-form> |
|||
</template> |
|||
|
|||
<script> |
|||
import {enterpriseAuthNew3,enterpriseAuthNewSubmit3,industryTypeStep3,enterpriseInfoNewStep3} from "@/api/enterpriseManagement"; |
|||
import {UPLOAD} from "@/api/api" |
|||
export default { |
|||
name:"step3", |
|||
data(){ |
|||
return { |
|||
stepData3: { |
|||
dataHostingOrg:"", //数据托管单位 |
|||
dataHostingContractFileRid:"", //数据托管合同 |
|||
dataHostingContractFileUrl:"", //数据托管合同--url |
|||
servHostingOrg:"", //服务托管单位 |
|||
servHostingContractFileRid:"", //服务托管合同 |
|||
servHostingContractFileUrl:"", //服务托管合同--url |
|||
entInfoSerIndustries:[], //服务行业(可以添加多组) |
|||
// entInfoSerIndustries.industryCategory:"", //服务行业门类 |
|||
// entInfoSerIndustries.industrySpecific:"", //服务行业大类 |
|||
// entInfoSerIndustries.industryTrade:"", //服务行业中类 |
|||
// entInfoSerIndustries.industrySubclass:"", //服务行业小类 |
|||
extWebName:"", //对外提供标识服务的网站名称 |
|||
extDomain:"", //对外提供标识服务的网站域名 |
|||
extIpAddr:"", //对外提供标识服务的网站IP地址 |
|||
entInfoLicenses:[], //互联网域名或增值电信业务经营相关许可证(可以添加多组) |
|||
// entInfoLicenses.licenceNo:"", //互联网域名或增值电信业务经营相关许可证号 |
|||
// entInfoLicenses.licenceType:"" //互联网域名或增值电信业务经营相关许可[枚举值: 1.域名根服务器运行机构许可证 2.域名注册管理机构许可证 3.域名注册服务机构许可证 4.增值电信业务经营许可证] |
|||
}, |
|||
rules: { |
|||
}, |
|||
props: { multiple: true }, |
|||
options:[], |
|||
entInfoSerIndustries:[], |
|||
limitCount: 1, |
|||
isLicenses:false, |
|||
dialogVisible: false, |
|||
dialogImageUrl: '', |
|||
hideDataTrustee:false, |
|||
hideServiceTrustee:false, |
|||
action: UPLOAD, |
|||
servSysBuild: { |
|||
bizType: 'BUILD_ID', |
|||
fileName: '', |
|||
sequence: 0, |
|||
url: '' |
|||
}, |
|||
checked:false, |
|||
dataTrusteeFile:[], |
|||
serviceTrusteeFile:[], |
|||
entInfoLicenses:[] |
|||
} |
|||
}, |
|||
computed: { |
|||
headers() { |
|||
return { |
|||
token: 'Bearer ' + this.$db.get("TOKEN", ""), |
|||
tenant: this.$db.get("TENANT", "") || "", |
|||
Authorization: `Basic ${this.$Base64.encode(`${process.env.VUE_APP_CLIENT_ID}:${process.env.VUE_APP_CLIENT_SECRET}`)}` |
|||
}; |
|||
}, |
|||
}, |
|||
mounted() { |
|||
this.getIndustryType() |
|||
this.getEnterpriseInfo() |
|||
}, |
|||
methods: { |
|||
getIndustryType(){ |
|||
industryTypeStep3().then(res=>{ |
|||
this.options = res.data.data |
|||
}) |
|||
}, |
|||
getEnterpriseInfo(){ |
|||
const code = `${this.$Base64.decode(this.$db.get('TENANT'))}` || null |
|||
if(code) |
|||
{ |
|||
enterpriseInfoNewStep3(code).then(res=>{ |
|||
console.log(res); |
|||
this.stepData3 = res.data.data |
|||
if(this.stepData3.dataHostingContractFileUrl) |
|||
{ |
|||
this.dataTrusteeFile = [{name: this.stepData3.dataHostingContractFileUrl, url: this.stepData3.dataHostingContractFileUrl}] |
|||
this.hideDataTrustee = true |
|||
} |
|||
if(this.stepData3.servHostingContractFileUrl) |
|||
{ |
|||
this.serviceTrusteeFile = [{name: this.stepData3.servHostingContractFileUrl, url: this.stepData3.servHostingContractFileUrl}] |
|||
this.hideServiceTrustee = true |
|||
} |
|||
if(this.stepData3.entInfoSerIndustries.length > 0) { |
|||
this.entInfoSerIndustries = [] |
|||
for (let i = 0; i < this.stepData3.entInfoSerIndustries.length; i++) { |
|||
const element = this.stepData3.entInfoSerIndustries[i]; |
|||
this.entInfoSerIndustries.push([ |
|||
element.industryCategory, //服务行业门类 |
|||
element.industrySpecific, //服务行业大类 |
|||
element.industryTrade, //服务行业中类 |
|||
element.industrySubclass //服务行业小类 |
|||
]) |
|||
} |
|||
} |
|||
if(this.stepData3.entInfoLicenses.length > 0 ) { |
|||
this.isLicenses = true |
|||
for (let j = 0; j < this.stepData3.entInfoLicenses.length; j++) { |
|||
const element = this.stepData3.entInfoLicenses[j]; |
|||
this.entInfoLicenses[element.licenceType-1] = element.licenceNo |
|||
} |
|||
} |
|||
}) |
|||
} |
|||
}, |
|||
//点击提交检验 |
|||
submitForm(type) { |
|||
this.$refs.step3.validate((valid) => { |
|||
if (valid) { |
|||
if(this.isLicenses && this.entInfoLicenses.length == 0) |
|||
{ |
|||
this.$message({ |
|||
message: "您已经打开许可证开关,请至少输入一项许可证号,或者关闭开关!", |
|||
type: "warning" |
|||
}); |
|||
} |
|||
if(this.checked){ |
|||
this.saveSubmit(type,true); |
|||
} else { |
|||
this.$message({ |
|||
message: "请同意《SNMS用户协议》与《SNMS隐私保护声明》", |
|||
type: "warning" |
|||
}); |
|||
} |
|||
|
|||
} else { |
|||
return false; |
|||
} |
|||
}); |
|||
}, |
|||
//保存提交并下一步 |
|||
saveSubmit(type,isSubmit = false) { |
|||
this.stepData3.code = `${this.$Base64.decode(this.$db.get('TENANT'))}`; |
|||
this.stepData3.currentPage = type |
|||
if(this.entInfoSerIndustries.length > 0) { |
|||
this.stepData3.entInfoSerIndustries = [] |
|||
for(let i = 0; i < this.entInfoSerIndustries.length; i++) { |
|||
const element = this.entInfoSerIndustries[i]; |
|||
this.stepData3.entInfoSerIndustries.push({ |
|||
industryCategory:element[0], //服务行业门类 |
|||
industrySpecific:element[1], //服务行业大类 |
|||
industryTrade:element[2], //服务行业中类 |
|||
industrySubclass:element[3], //服务行业小类 |
|||
}) |
|||
} |
|||
} |
|||
if(this.entInfoLicenses.length > 0) { |
|||
this.stepData3.entInfoLicenses = [] |
|||
for (let j = 0; j < this.entInfoLicenses.length; j++) { |
|||
const element = this.entInfoLicenses[j]; |
|||
if(element) |
|||
{ |
|||
this.stepData3.entInfoLicenses.push({ |
|||
licenceNo:element, |
|||
licenceType:j+1 |
|||
}) |
|||
} |
|||
} |
|||
} |
|||
if(isSubmit) { |
|||
enterpriseAuthNewSubmit3(this.stepData3).then(response => { |
|||
const res = response.data; |
|||
if (res.data) { |
|||
this.$message({ |
|||
message: "操作成功", |
|||
type: "success" |
|||
}); |
|||
|
|||
} |
|||
}) |
|||
} else { |
|||
enterpriseAuthNew3(this.stepData3).then(response => { |
|||
const res = response.data; |
|||
if (res.data) { |
|||
this.$message({ |
|||
message: "操作成功", |
|||
type: "success" |
|||
}); |
|||
this.$emit('child-event','step'+parseInt(type+1)) |
|||
} |
|||
}) |
|||
} |
|||
|
|||
}, |
|||
//数据托管-变更 |
|||
handleChangeDataTrustee(files, fileList) { |
|||
this.hideDataTrustee = fileList.length >= this.limitCount; |
|||
}, |
|||
//数据托管-删除 |
|||
handleRemoveDataTrustee(file, fileList) { |
|||
this.stepData3.dataHostingContractFileRid = '' |
|||
this.stepData3.dataHostingContractFileUrl = '' |
|||
this.dataTrusteeFile = fileList |
|||
// this.$refs.step3.validateField('dataHostingContractFileRid') |
|||
this.hideDataTrustee = fileList.length >= this.limitCount; |
|||
}, |
|||
//数据托管-成功 |
|||
handSuccessDataTrustee(file) { |
|||
this.stepData3.dataHostingContractFileRid = file.data.idisResult |
|||
this.stepData3.dataHostingContractFileUrl = file.data.url |
|||
this.dataTrusteeFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
// this.$refs.step3.validateField('dataHostingContractFileRid') |
|||
}, |
|||
|
|||
//服务托管-变更 |
|||
handleChangeServiceTrustee(files, fileList) { |
|||
this.hideServiceTrustee = fileList.length >= this.limitCount; |
|||
}, |
|||
//服务托管-删除 |
|||
handleRemoveServiceTrustee(file, fileList) { |
|||
this.stepData3.servHostingContractFileRid = '' |
|||
this.stepData3.servHostingContractFileUrl = '' |
|||
this.serviceTrusteeFile = fileList |
|||
this.$refs.step3.validateField('servHostingContractFileRid') |
|||
this.hideServiceTrustee = fileList.length >= this.limitCount; |
|||
}, |
|||
//服务托管-成功 |
|||
handSuccessServiceTrustee(file) { |
|||
this.stepData3.servHostingContractFileRid = file.data.idisResult |
|||
this.stepData3.servHostingContractFileUrl = file.data.url |
|||
this.serviceTrusteeFile.push({name: file.data.filename, url: file.data.url, bizType: file.data.bizType}) |
|||
this.$refs.step3.validateField('servHostingContractFileRid') |
|||
}, |
|||
handlePictureCardPreview(file) { |
|||
this.dialogImageUrl = file.url; |
|||
this.dialogVisible = true; |
|||
}, |
|||
handleBeforePictureUpload(file) { |
|||
const isLt1M = file.size / 1024 / 1024 < 5; |
|||
const fileType = ['application/pdf'] |
|||
const isJPG = fileType.indexOf(file.type) != -1 |
|||
|
|||
if (!isJPG) { |
|||
this.$message.error('上传图片只能是 PDF 格式!'); |
|||
} |
|||
if (!isLt1M) { |
|||
this.$message.error("上传图片大小不能超过 5MB!"); |
|||
} |
|||
return isJPG && isLt1M; |
|||
}, |
|||
} |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.el-select { |
|||
// display: inline-block; |
|||
// position: relative; |
|||
width: 100%; |
|||
} |
|||
.agreement { |
|||
margin: 15px 0 30px; |
|||
} |
|||
</style> |
@ -0,0 +1,204 @@ |
|||
<template> |
|||
<div class="productSendCodeList_wrap"> |
|||
<div class="productSendCodeList_info"> |
|||
<el-table ref="multipleTable" |
|||
:data="tableData" |
|||
:row-key="getRowKey" |
|||
@selection-change="selectionsChange" |
|||
border style="width: 100%" |
|||
v-loading="dataListLoading"> |
|||
<el-table-column type="selection" width="50" align="center" :reserve-selection="true"></el-table-column> |
|||
<el-table-column prop="createTime" label="发码时间" align="center"></el-table-column> |
|||
<el-table-column prop="files" label="产品图片" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-image class="prod_pic" style="width: 40px; height: 40px" |
|||
v-for="(item,index) in scope.row.files" |
|||
:key="index" |
|||
:src="item.url" |
|||
:preview-src-list="[item.url]"> |
|||
</el-image> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="qrcodeBase64" label="溯源码" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-image class="prod_pic" style="width: 40px; height: auto" |
|||
:src="scope.row.qrcodeBase64" |
|||
:preview-src-list="[scope.row.qrcodeBase64]" |
|||
> |
|||
<div slot="error" class="image-slot"> |
|||
<i>暂无</i> |
|||
</div> |
|||
</el-image> |
|||
</template> |
|||
</el-table-column> |
|||
<el-table-column prop="commodityName" label="产品名称" align="center"></el-table-column> |
|||
<el-table-column prop="intactCode" label="产品编码" align="center"></el-table-column> |
|||
<el-table-column label="操作" width="100" align="center"> |
|||
<template slot-scope="scope"> |
|||
<el-button type="info" size="small" @click="showDetail(scope.row.commodityId,scope.row.id)">详情</el-button> |
|||
<!-- <el-button type="primary" size="small" @click="bindLabel(scope.row)">绑定标签</el-button> --> |
|||
</template> |
|||
</el-table-column> |
|||
</el-table> |
|||
<pagination |
|||
:limit.sync="queryParams.size" |
|||
:page.sync="queryParams.current" |
|||
:total="total" |
|||
@pagination="search" |
|||
v-show="total >= 0" |
|||
/> |
|||
</div> |
|||
</div> |
|||
</template> |
|||
|
|||
<script> |
|||
import Pagination from "@/components/Pagination";//分页组件 |
|||
import {initQueryParams} from '@/utils/commons'//分页 |
|||
import {deleteCommodity, sendCodeListByProduct} from "@/api/productManagement"; |
|||
|
|||
export default { |
|||
name: "sendCodeListByProduct", |
|||
components: {Pagination}, |
|||
props: {}, |
|||
data() { |
|||
return { |
|||
|
|||
dataListLoading:false, |
|||
selectValue: "1", |
|||
searchValue: "", |
|||
tableData: [], |
|||
total: 0, |
|||
idsArray: [], |
|||
ids: "", |
|||
queryParams: initQueryParams({ |
|||
map:{ |
|||
commodity_id:this.$route.query.companyId || window.sessionStorage.getItem('id'), |
|||
}, |
|||
model: { |
|||
current: 1, |
|||
size: 10, |
|||
dsType: { |
|||
code: null |
|||
} |
|||
} |
|||
}) |
|||
}; |
|||
}, |
|||
beforeCreate() { |
|||
}, |
|||
create() { |
|||
}, |
|||
beforeMount() { |
|||
this.search() |
|||
}, |
|||
mounted() { |
|||
}, |
|||
beforeUpdate() { |
|||
}, |
|||
updated() { |
|||
}, |
|||
beforeDestroy() { |
|||
}, |
|||
destroyed() { |
|||
}, |
|||
computed: {}, |
|||
watch: {}, |
|||
methods: { |
|||
|
|||
//多选获取选中行的idsArray |
|||
selectionsChange(idsArray) { |
|||
this.idsArray = idsArray |
|||
}, |
|||
//获取选中行的id值 |
|||
getRowKey(row) { |
|||
return row.id; |
|||
}, |
|||
//查询获取发码历史列表 |
|||
search() { |
|||
this.dataListLoading = true; |
|||
let params = { |
|||
selectValue: this.selectValue, |
|||
searchValue: this.searchValue, |
|||
...this.queryParams |
|||
} |
|||
sendCodeListByProduct(params).then(res => { |
|||
if (res.data.isSuccess) { |
|||
res = res.data.data; |
|||
this.tableData = res.records; |
|||
this.total = res.total |
|||
} |
|||
}).finally(()=> this.dataListLoading = false); |
|||
}, |
|||
//详情 跳转商品详情页 |
|||
showDetail(id,codeSendingId) { |
|||
window.sessionStorage.setItem('id', id); |
|||
window.sessionStorage.setItem('codeSendingId', codeSendingId); |
|||
window.sessionStorage.setItem('from', this.$route.path); |
|||
this.$router.push({ |
|||
path: `/productManagement/productDetails` |
|||
}) |
|||
}, |
|||
//绑定标签 |
|||
bindLabel(row) { |
|||
window.sessionStorage.setItem('row', JSON.stringify(row)); |
|||
window.sessionStorage.setItem('from', this.$route.path); |
|||
this.$router.push({ |
|||
path: `/productManagement/bindLabel` |
|||
}) |
|||
}, |
|||
}, |
|||
directives: {}, |
|||
filters: {}, |
|||
} |
|||
</script> |
|||
|
|||
<style lang="scss" scoped> |
|||
.productSendCodeList_wrap { |
|||
margin: 10px; |
|||
.productSendCodeList_info { |
|||
padding: 20px; |
|||
background: #fff; |
|||
|
|||
.search_row { |
|||
flex-basis: 100%; |
|||
display: flex; |
|||
|
|||
.input { |
|||
width: 60%; |
|||
margin: 0 20px; |
|||
} |
|||
|
|||
.el-button { |
|||
width: 120px; |
|||
} |
|||
} |
|||
|
|||
.btn_group { |
|||
text-align: left; |
|||
margin-top: 30px; |
|||
|
|||
.el-button { |
|||
margin-right: 20px; |
|||
} |
|||
} |
|||
|
|||
.el-table { |
|||
margin-top: 10px; |
|||
|
|||
.el-button { |
|||
margin-right: 5px; |
|||
} |
|||
|
|||
.prod_pic { |
|||
border: 1px solid #eee; |
|||
margin-right: 5px; |
|||
} |
|||
} |
|||
|
|||
.el-pagination { |
|||
margin-top: 50px; |
|||
text-align: right; |
|||
} |
|||
} |
|||
} |
|||
</style> |
Loading…
Reference in new issue