开放平台
您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

751 行
23 KiB

  1. <template>
  2. <div class="from-box">
  3. <div class="from-title">实名认证</div>
  4. <div class="head-content">
  5. <p class="content-p">开发者实名认证信息资料填写规范如下:</p>
  6. <div class="content-div">
  7. 1. 保证所填写的全部信息真实且与实际信息对应,否则出示驳回意见。<br />
  8. 2.与入件资质相关字段填写正确,特别的:企业名称、注册地址、统一社会信用代码、营业期限、法人代表人姓名、证件号码、证件有效期要与上传的证件照片保持一致,否则出示驳回意见。<br />
  9. 3. 相关资质上传要求如下,如若不符,出示驳回意见。<br />
  10. 【1】图片清晰且边框完整;<br />
  11. 【2】提供资质附件如为复印件,须加盖公章。<br />
  12. </div>
  13. <img class="jinggao" src="@/static/icons/svg/jinggao.svg" alt="" />
  14. </div>
  15. <div style="margin-top: 28px">
  16. <el-form
  17. label-position="top"
  18. :model="realForm"
  19. :rules="rules"
  20. ref="realForm"
  21. label-width="100px"
  22. class="demo-ruleForm"
  23. inline
  24. >
  25. <el-form-item label="公司/个人标识" prop="mark">
  26. <el-radio-group v-model="realForm.mark">
  27. <el-radio label="公司"></el-radio>
  28. <el-radio label="个人"></el-radio>
  29. </el-radio-group>
  30. <div class="p-div">
  31. 公司认证能够获得更多功能和权限,建议进行公司认证
  32. </div>
  33. </el-form-item>
  34. <el-form-item label="境内/境外标识" prop="resource">
  35. <el-radio-group v-model="ruleForm.resource">
  36. <el-radio label="境内"></el-radio>
  37. <el-radio label="境外"></el-radio>
  38. </el-radio-group>
  39. <div class="p-div">暂不支持境外</div>
  40. </el-form-item>
  41. <!-- 个人资料填写 -->
  42. <transition name="el-fade-in">
  43. <div v-show="realForm.mark === '个人'" class="transition-box">
  44. <el-form-item label="联系地址" prop="region">
  45. <el-cascader :props="AddressProps" v-model="realForm.address1" placeholder="请选择您的联系地址"></el-cascader>
  46. </el-form-item>
  47. <el-form-item style="padding-top: 40px" prop="name">
  48. <el-input
  49. v-model="ruleForm.name"
  50. placeholder="请输入您的详细地址,以便有需要时给您寄送书面文件"
  51. ></el-input>
  52. </el-form-item>
  53. <el-form-item label="联系人姓名" required>
  54. <el-input v-model="ruleForm.name"></el-input>
  55. </el-form-item>
  56. <el-form-item label="联系人证件类型" prop="region">
  57. <el-select placeholder="请选择证件类型" v-model="ruleForm.name">
  58. <el-option
  59. v-for="(item, index) in certificate"
  60. :key="index"
  61. :label="item.name"
  62. :value="item.id"
  63. ></el-option>
  64. </el-select>
  65. </el-form-item>
  66. <el-form-item label="联系人证件号码" required>
  67. <el-input v-model="ruleForm.name"></el-input>
  68. </el-form-item>
  69. <el-form-item label="证件有效期" required>
  70. <div class="picker-box">
  71. <el-form-item prop="date1">
  72. <el-date-picker
  73. type="date"
  74. placeholder="选择日期"
  75. v-model="ruleForm.date1"
  76. ></el-date-picker>
  77. </el-form-item>
  78. <div class="line" :span="2" style="margin-right: 10px">至</div>
  79. <el-form-item prop="date2">
  80. <el-date-picker
  81. type="date"
  82. placeholder="选择日期"
  83. v-model="ruleForm.date2"
  84. ></el-date-picker>
  85. </el-form-item>
  86. <div>
  87. <el-checkbox v-model="checked">长期</el-checkbox>
  88. </div>
  89. </div>
  90. <div class="p-div1" style="float: left">
  91. 请仔细核对,需与证件上的时间一致
  92. </div>
  93. </el-form-item>
  94. </div>
  95. </transition>
  96. <!-- 企业资料填写 -->
  97. <transition name="el-fade-in">
  98. <div v-show="realForm.mark === '公司'" class="transition-box">
  99. <el-form-item label="企业登记类型" prop="mark">
  100. <el-radio-group v-model="realForm.enterprise">
  101. <el-radio label="企业三证"></el-radio>
  102. <el-radio label="三证合一"></el-radio>
  103. </el-radio-group>
  104. </el-form-item>
  105. <el-form-item
  106. :label="
  107. realForm.enterprise === '企业三证'
  108. ? '营业执照注册号'
  109. : '统一社会信用代码'
  110. "
  111. required
  112. >
  113. <el-input
  114. v-model="ruleForm.name"
  115. :placeholder="
  116. realForm.enterprise === '企业三证'
  117. ? '请输入营业执照上的注册号'
  118. : '请输入营业执照上的统一社会信用代码并逐字核对'
  119. "
  120. ></el-input>
  121. </el-form-item>
  122. <el-form-item label="企业地址" prop="region">
  123. <el-cascader :props="AddressProps" v-model="realForm.address2" placeholder="请选择省/市/区"></el-cascader>
  124. </el-form-item>
  125. <el-form-item style="padding-top: 40px" prop="name">
  126. <el-input
  127. v-model="ruleForm.name"
  128. placeholder="请输入营业执照上的公司地址并逐字核对"
  129. ></el-input>
  130. </el-form-item>
  131. <el-form-item label="企业名称" required>
  132. <el-input
  133. v-model="ruleForm.name"
  134. placeholder="请输入营业执照上的企业名称并逐字核对"
  135. ></el-input>
  136. </el-form-item>
  137. <el-form-item label="企业简称" required>
  138. <el-input
  139. v-model="ruleForm.name"
  140. placeholder="请输入企业简称"
  141. ></el-input>
  142. </el-form-item>
  143. <el-form-item label="营业执照" required
  144. ><el-upload
  145. class="avatar-uploader"
  146. action="https://jsonplaceholder.typicode.com/posts/"
  147. :show-file-list="false"
  148. :on-success="handleAvatarSuccess"
  149. :before-upload="beforeAvatarUpload"
  150. >
  151. <img v-if="imageUrl" :src="imageUrl" class="avatar" />
  152. <i
  153. v-else
  154. class="el-icon-plus avatar-uploader-icon"
  155. ></i> </el-upload
  156. ></el-form-item>
  157. <el-form-item label="营业执照示例">
  158. <div class="avatar-uploader">
  159. <img src="@/static/img/zhizhao.png" alt="" />
  160. </div>
  161. </el-form-item>
  162. <el-form-item label="营业期限" required>
  163. <div class="picker-box">
  164. <el-form-item prop="date1">
  165. <el-date-picker
  166. type="date"
  167. placeholder="选择日期"
  168. v-model="ruleForm.date1"
  169. ></el-date-picker>
  170. </el-form-item>
  171. <div class="line" :span="2" style="margin-right: 10px">至</div>
  172. <el-form-item prop="date2">
  173. <el-date-picker
  174. type="date"
  175. placeholder="选择日期"
  176. v-model="ruleForm.date2"
  177. ></el-date-picker>
  178. </el-form-item>
  179. <div>
  180. <el-checkbox v-model="checked">长期</el-checkbox>
  181. </div>
  182. </div>
  183. <div class="p-div1" style="float: left">
  184. 请仔细核对,需与营业执照上的时间一致
  185. </div>
  186. </el-form-item>
  187. <transition name="el-fade-in">
  188. <!-- 企业三证 -->
  189. <el-form-item
  190. label="组织机构代码"
  191. required
  192. v-show="realForm.enterprise === '企业三证'"
  193. >
  194. <el-input
  195. v-model="ruleForm.name"
  196. placeholder="请输入9位组织机构代码"
  197. ></el-input>
  198. </el-form-item>
  199. </transition>
  200. <transition name="el-fade-in">
  201. <div v-show="realForm.enterprise === '企业三证'">
  202. <el-form-item label="组织机构代码证" required
  203. ><el-upload
  204. class="avatar-uploader"
  205. action="https://jsonplaceholder.typicode.com/posts/"
  206. :show-file-list="false"
  207. :on-success="handleAvatarSuccess"
  208. :before-upload="beforeAvatarUpload"
  209. >
  210. <img v-if="imageUrl" :src="imageUrl" class="avatar" />
  211. <i
  212. v-else
  213. class="el-icon-plus avatar-uploader-icon"
  214. ></i> </el-upload
  215. ></el-form-item>
  216. <el-form-item label="营业期限" required>
  217. <div class="picker-box">
  218. <el-form-item prop="date1">
  219. <el-date-picker
  220. type="date"
  221. placeholder="选择日期"
  222. v-model="ruleForm.date1"
  223. ></el-date-picker>
  224. </el-form-item>
  225. <div class="line" :span="2" style="margin-right: 10px">
  226. </div>
  227. <el-form-item prop="date2">
  228. <el-date-picker
  229. type="date"
  230. placeholder="选择日期"
  231. v-model="ruleForm.date2"
  232. ></el-date-picker>
  233. </el-form-item>
  234. <div>
  235. <el-checkbox v-model="checked">长期</el-checkbox>
  236. </div>
  237. </div>
  238. <div class="p-div1" style="float: left">
  239. 请仔细核对,需与营业执照上的时间一致
  240. </div>
  241. </el-form-item>
  242. </div>
  243. </transition>
  244. <div>
  245. <el-form-item label="法人/实际控制人姓名" required>
  246. <el-input v-model="ruleForm.name"></el-input>
  247. </el-form-item>
  248. <el-form-item label="法人/实际控制人证件类型" prop="region">
  249. <el-select placeholder="请选择证件类型" v-model="ruleForm.name">
  250. <el-option
  251. v-for="(item, index) in certificate"
  252. :key="index"
  253. :label="item.name"
  254. :value="item.id"
  255. ></el-option>
  256. </el-select>
  257. </el-form-item>
  258. <el-form-item label="请输入证件上的号码并确认核对" required>
  259. <el-input v-model="ruleForm.name"></el-input>
  260. </el-form-item>
  261. <el-form-item label="证件有效期" required>
  262. <div class="picker-box">
  263. <el-form-item prop="date1">
  264. <el-date-picker
  265. type="date"
  266. placeholder="选择日期"
  267. v-model="ruleForm.date1"
  268. ></el-date-picker>
  269. </el-form-item>
  270. <div class="line" :span="2" style="margin-right: 10px">
  271. </div>
  272. <el-form-item prop="date2">
  273. <el-date-picker
  274. type="date"
  275. placeholder="选择日期"
  276. v-model="ruleForm.date2"
  277. ></el-date-picker>
  278. </el-form-item>
  279. <div>
  280. <el-checkbox v-model="checked">长期</el-checkbox>
  281. </div>
  282. </div>
  283. <div class="p-div1" style="float: left">
  284. 请仔细核对,需与营业执照上的时间一致
  285. </div>
  286. </el-form-item>
  287. </div>
  288. </div>
  289. </transition>
  290. <div class="upload-box">
  291. <el-form-item label="证件照正面" required
  292. ><el-upload
  293. class="avatar-uploader"
  294. action="https://jsonplaceholder.typicode.com/posts/"
  295. :show-file-list="false"
  296. :on-success="handleAvatarSuccess"
  297. :before-upload="beforeAvatarUpload"
  298. >
  299. <img v-if="imageUrl" :src="imageUrl" class="avatar" />
  300. <i
  301. v-else
  302. class="el-icon-plus avatar-uploader-icon"
  303. ></i> </el-upload
  304. ></el-form-item>
  305. <el-form-item label="证件照正面" required
  306. ><el-upload
  307. class="avatar-uploader"
  308. action="https://jsonplaceholder.typicode.com/posts/"
  309. :show-file-list="false"
  310. :on-success="handleAvatarSuccess"
  311. :before-upload="beforeAvatarUpload"
  312. >
  313. <img v-if="imageUrl" :src="imageUrl" class="avatar" />
  314. <i
  315. v-else
  316. class="el-icon-plus avatar-uploader-icon"
  317. ></i> </el-upload
  318. ></el-form-item>
  319. <el-form-item label="证件照正面" required
  320. ><el-upload
  321. class="avatar-uploader"
  322. action="https://jsonplaceholder.typicode.com/posts/"
  323. :show-file-list="false"
  324. :on-success="handleAvatarSuccess"
  325. :before-upload="beforeAvatarUpload"
  326. >
  327. <img v-if="imageUrl" :src="imageUrl" class="avatar" />
  328. <i
  329. v-else
  330. class="el-icon-plus avatar-uploader-icon"
  331. ></i> </el-upload
  332. ></el-form-item>
  333. <el-form-item label="证件照正面示例">
  334. <img src="@/static/img/zhengmian.png" alt="" />
  335. </el-form-item>
  336. <el-form-item label="证件照背面示例">
  337. <img src="@/static/img/fanmian.png" alt="" />
  338. </el-form-item>
  339. <el-form-item label="手持证件照示例">
  340. <img src="@/static/img/shouchi.png" alt="" />
  341. </el-form-item>
  342. </div>
  343. <div class="replenish">
  344. <el-form-item label="补充信息">
  345. <el-upload
  346. class="upload-demo"
  347. drag
  348. action="https://jsonplaceholder.typicode.com/posts/"
  349. multiple
  350. >
  351. <i class="el-icon-upload"></i>
  352. <div class="el-upload__text">上传文件</div>
  353. <div class="el-upload__tip" slot="tip">
  354. 请仔细核对,需a请上传认证审核的补充文件
  355. 必须为彩色图片(文档请截图后上传),最多5张,单张小于2M,格式为bmp、png、jpeg、jpg或gif证件上的时间一致
  356. </div>
  357. </el-upload>
  358. </el-form-item>
  359. </div>
  360. <div>
  361. <el-form-item label="网站ICP备案号">
  362. <el-input
  363. v-model="ruleForm.name"
  364. placeholder="请输入网站经营许可证编号"
  365. ></el-input>
  366. </el-form-item>
  367. <el-form-item label="公司网站">
  368. <el-input
  369. v-model="ruleForm.name"
  370. placeholder="请输入公司地址。以http(s)://开头"
  371. ></el-input>
  372. </el-form-item>
  373. <el-form-item label="常用联系人姓名" required>
  374. <el-input
  375. v-model="ruleForm.name"
  376. placeholder="请输入联系人姓名用于平台相关事宜通知"
  377. ></el-input>
  378. </el-form-item>
  379. <el-form-item label="联系人手机号码" required>
  380. <el-input
  381. v-model="ruleForm.name"
  382. placeholder="请输入联系人手机号码用于接受相关事宜"
  383. ></el-input>
  384. </el-form-item>
  385. <el-form-item label="客服电话" required>
  386. <el-input
  387. v-model="ruleForm.name"
  388. placeholder="接收通知,若应用上架应用市场会对外展示"
  389. ></el-input>
  390. </el-form-item>
  391. </div>
  392. <div class="agreement-bar">
  393. <el-checkbox v-model="checked">我已阅读</el-checkbox
  394. ><span>《智莺支付开户及服务协议》</span
  395. ><span>《智莺支付隐私政策》</span
  396. ><span>《智莺开放平台服务协议》</span>
  397. </div>
  398. <div class="button-box">
  399. <el-button>返回</el-button>
  400. <el-button type="primary" @click="onSubmit('realForm')"
  401. >提交</el-button
  402. >
  403. </div>
  404. </el-form>
  405. </div>
  406. </div>
  407. </template>
  408. <script>
  409. import { districtList } from "@/api/webServiceDistrict";
  410. export default {
  411. meta: { title: "实名认证" },
  412. data() {
  413. return {
  414. options: [], // 地址
  415. certificate: [
  416. // 证件
  417. {
  418. name: "居民身份证",
  419. id: "1",
  420. },
  421. {
  422. name: "临时身份证",
  423. id: "2",
  424. },
  425. {
  426. name: "军官证",
  427. id: "3",
  428. },
  429. {
  430. name: "武警警官证",
  431. id: "4",
  432. },
  433. {
  434. name: "士兵证",
  435. id: "5",
  436. },
  437. {
  438. name: "军队学员证",
  439. id: "6",
  440. },
  441. {
  442. name: "军队文职干部证",
  443. id: "7",
  444. },
  445. {
  446. name: "军队离退休干部证",
  447. id: "8",
  448. },
  449. {
  450. name: "军队职工证",
  451. id: "9",
  452. },
  453. {
  454. name: "护照",
  455. id: "10",
  456. },
  457. {
  458. name: "港澳同胞回乡证",
  459. id: "11",
  460. },
  461. {
  462. name: "港澳居民来往内地通行证",
  463. id: "12",
  464. },
  465. {
  466. name: "中华人民共和国来往港澳通行证",
  467. id: "13",
  468. },
  469. {
  470. name: "外国人居留证",
  471. id: "14",
  472. },
  473. {
  474. name: "外国人出入境证",
  475. id: "15",
  476. },
  477. {
  478. name: "外交官证",
  479. id: "16",
  480. },
  481. {
  482. name: "领事馆证",
  483. id: "17",
  484. },
  485. {
  486. name: "海员证",
  487. id: "18",
  488. },
  489. ],
  490. AddressProps: {
  491. // 异步加载地区名称
  492. lazy: true,
  493. async lazyLoad(node, resolve) {
  494. const { level } = node;
  495. if (level === 0) {
  496. let nodes = await districtList();
  497. nodes.forEach((element) => {
  498. element.label = element.name || element.fullname;
  499. element.leaf = level >= 2;
  500. element.value = element.id;
  501. });
  502. resolve(nodes);
  503. } else {
  504. let nodes = await districtList(node.data.id);
  505. nodes.forEach((element) => {
  506. element.label = element.name || element.fullname;
  507. element.leaf = level >= 2;
  508. element.value = element.id;
  509. });
  510. resolve(nodes);
  511. }
  512. },
  513. },
  514. checked: false,
  515. imageUrl: "",
  516. realForm: {
  517. mark: "个人",
  518. enterprise: "企业三证",
  519. address1: null,
  520. },
  521. ruleForm: {
  522. name: "",
  523. region: "",
  524. date1: "",
  525. date2: "",
  526. delivery: false,
  527. type: [],
  528. resource: "",
  529. desc: "",
  530. },
  531. rules: {
  532. name: [
  533. { required: true, message: "请输入活动名称", trigger: "blur" },
  534. { min: 3, max: 5, message: "长度在 3 到 5 个字符", trigger: "blur" },
  535. ],
  536. region: [
  537. { required: true, message: "请选择活动区域", trigger: "change" },
  538. ],
  539. date1: [
  540. {
  541. type: "date",
  542. required: true,
  543. message: "请选择日期",
  544. trigger: "change",
  545. },
  546. ],
  547. date2: [
  548. {
  549. type: "date",
  550. required: true,
  551. message: "请选择时间",
  552. trigger: "change",
  553. },
  554. ],
  555. type: [
  556. {
  557. type: "array",
  558. required: true,
  559. message: "请至少选择一个活动性质",
  560. trigger: "change",
  561. },
  562. ],
  563. resource: [
  564. { required: true, message: "请选择活动资源", trigger: "change" },
  565. ],
  566. desc: [{ required: true, message: "请填写活动形式", trigger: "blur" }],
  567. mark: [
  568. {
  569. required: true,
  570. message: "请选择实名认证标识: 公司/个人标识",
  571. trigger: "change",
  572. },
  573. ],
  574. },
  575. };
  576. },
  577. methods: {
  578. handleAvatarSuccess: function () {},
  579. beforeAvatarUpload: function () {},
  580. // 表单提交
  581. onSubmit: function (formName) {
  582. console.log(this.realForm)
  583. this.$refs[formName].validate((valid) => {
  584. if (valid) {
  585. alert("submit!");
  586. } else {
  587. console.log("error submit!!");
  588. return false;
  589. }
  590. });
  591. },
  592. },
  593. created() {},
  594. };
  595. </script>
  596. <style lang="scss" scoped>
  597. .from-box {
  598. padding: 20px 20px 40px 20px;
  599. background: #fff;
  600. box-sizing: border-box;
  601. overflow: hidden;
  602. border-radius: 14px;
  603. .from-title {
  604. color: #333333;
  605. font-size: 20px;
  606. height: 20px;
  607. line-height: 20px;
  608. border-left: 4px solid #1890ff;
  609. padding-left: 10px;
  610. }
  611. .head-content {
  612. background: #fffcec;
  613. border: 1px solid #feeebb;
  614. padding: 12px 124px 12px 12px;
  615. position: relative;
  616. margin-top: 28px;
  617. box-sizing: border-box;
  618. .content-p {
  619. color: #6a3904;
  620. font-size: 16px;
  621. font-weight: bold;
  622. margin: 0;
  623. padding-bottom: 5px;
  624. }
  625. .content-div {
  626. color: #a07d49;
  627. font-size: 12px;
  628. line-height: 18px;
  629. }
  630. .jinggao {
  631. position: absolute;
  632. width: 115px;
  633. height: 115px;
  634. right: -1px;
  635. bottom: -2px;
  636. }
  637. }
  638. }
  639. .el-form-item {
  640. width: 48%;
  641. }
  642. .replenish {
  643. .el-form-item {
  644. width: 100%;
  645. }
  646. }
  647. .p-div {
  648. color: #999999;
  649. font-size: 12px;
  650. line-height: 12px;
  651. margin-top: 9px;
  652. height: 12px;
  653. }
  654. .p-div1 {
  655. color: #999999;
  656. font-size: 12px;
  657. line-height: 12px;
  658. height: 12px;
  659. }
  660. .el-cascader,
  661. .el-select {
  662. width: 100%;
  663. }
  664. .upload-box {
  665. .el-form-item {
  666. width: 31.8%;
  667. }
  668. .el-form-item__content {
  669. display: flex;
  670. justify-content: center;
  671. align-items: center;
  672. height: 170px;
  673. }
  674. }
  675. .picker-box {
  676. display: flex;
  677. width: 100%;
  678. padding-right: 20px;
  679. box-sizing: border-box;
  680. line-height: 40px;
  681. color: #999999;
  682. font-size: 14px;
  683. .el-input__inner {
  684. width: 92%;
  685. }
  686. .line {
  687. width: 30px;
  688. text-align: center;
  689. }
  690. }
  691. .agreement-bar {
  692. text-align: center;
  693. margin-top: 20px;
  694. font-size: 14px;
  695. color: #333333;
  696. span {
  697. color: #1890ff;
  698. cursor: pointer;
  699. }
  700. }
  701. .button-box {
  702. text-align: center;
  703. margin-top: 20px;
  704. }
  705. </style>