| | |
| | | <nut-form :model-value="form" ref="formRef" :rules="rules"> |
| | | <ProFormItemCell label="身份证照片:" required> |
| | | <div class="id-imgUrl-wrapper"> |
| | | <nut-form-item |
| | | label=" " |
| | | class="bole-form-item" |
| | | prop="legalPersonIdFrontImgUrl" |
| | | label-width="0px" |
| | | > |
| | | <nut-form-item label=" " class="bole-form-item" prop="identityImg" label-width="0px"> |
| | | <Uploader |
| | | v-model:file-list="form.legalPersonIdFrontImgUrl" |
| | | v-model:file-list="form.identityImg" |
| | | :maximum="1" |
| | | :limitFileSize="10" |
| | | class="bole-uploader nopaddingtop" |
| | |
| | | </template> |
| | | </Uploader> |
| | | </nut-form-item> |
| | | <nut-form-item |
| | | label=" " |
| | | class="bole-form-item" |
| | | prop="legalPersonIdBackImgUrl" |
| | | label-width="0px" |
| | | > |
| | | <nut-form-item label=" " class="bole-form-item" prop="identityBackImg" label-width="0px"> |
| | | <Uploader |
| | | v-model:file-list="form.legalPersonIdBackImgUrl" |
| | | v-model:file-list="form.identityBackImg" |
| | | :maximum="1" |
| | | :limitFileSize="10" |
| | | class="bole-uploader nopaddingtop" |
| | |
| | | </template> |
| | | </nut-input> |
| | | </nut-form-item> |
| | | <nut-form-item label="短信验证码:" class="bole-form-item" prop="verificationCode" required> |
| | | <nut-form-item label="短信验证码:" class="bole-form-item" prop="verifyCode" required> |
| | | <nut-input |
| | | v-model.trim="form.verificationCode" |
| | | v-model.trim="form.verifyCode" |
| | | class="nut-input-text bole-input-text" |
| | | placeholder="请输入验证码" |
| | | type="number" |
| | |
| | | </template> |
| | | |
| | | <script setup lang="ts"> |
| | | import { VerificationCodeBusinessType } from '@12333/constants'; |
| | | import { ProFormCaptcha, ProFormItemCell } from 'senin-mini/components'; |
| | | import * as electronSignServices from '@12333/services/apiV2/electronSign'; |
| | | import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type'; |
| | |
| | | const type = router.params?.type ?? ''; |
| | | |
| | | const form = reactive({ |
| | | legalPersonIdFrontImgUrl: [] as FileItem[], |
| | | legalPersonIdBackImgUrl: [] as FileItem[], |
| | | identityImg: [] as FileItem[], |
| | | identityBackImg: [] as FileItem[], |
| | | name: '', |
| | | identity: '', |
| | | phoneNumber: '', |
| | | verificationCode: '', |
| | | verifyCode: '', |
| | | }); |
| | | |
| | | const formRef = ref<any>(null); |
| | |
| | | |
| | | const rules: FormRules = { |
| | | name: [{ required: true, message: '请填写姓名' }], |
| | | legalPersonIdFrontImgUrl: [ |
| | | identityImg: [ |
| | | { required: true, message: '请上传身份证人像面', validator: FormValidator.validatorArray }, |
| | | ], |
| | | legalPersonIdBackImgUrl: [ |
| | | identityBackImg: [ |
| | | { required: true, message: '请上传身份证国徽面', validator: FormValidator.validatorArray }, |
| | | ], |
| | | identity: [ |
| | | { required: true, message: '请填写身份证号码' }, |
| | | { message: '请输入正确的身份证号码', validator: FormValidator.validatorIDCard }, |
| | | ], |
| | | legalPersonContactPhone: [ |
| | | phoneNumber: [ |
| | | { required: true, message: '请填写手机号码' }, |
| | | { message: '请输入正确的手机号码', validator: FormValidator.validatorPhoneNumber }, |
| | | ], |
| | | verificationCode: [{ required: true, message: '请输入验证码' }], |
| | | verifyCode: [{ required: true, message: '请输入验证码' }], |
| | | }; |
| | | |
| | | async function onGetCaptcha(phoneNumber: string) { |
| | |
| | | } |
| | | |
| | | function handleSubmit() { |
| | | console.log('type: ', type); |
| | | if (!formRef.value) return; |
| | | formRef.value.validate().then(({ valid, errors }: any) => { |
| | | if (valid) { |
| | |
| | | } |
| | | } |
| | | |
| | | async function personalUserFaceReal() {} |
| | | async function personalUserIdentity3Real() {} |
| | | async function personalUserIdentity3Real() { |
| | | try { |
| | | let params: API.PersonalUserIdentity3RealCommand = { |
| | | name: form.name, |
| | | phoneNumber: form.phoneNumber, |
| | | identity: form.identity, |
| | | identityImg: form.identityImg?.[0]?.path ?? '', |
| | | identityBackImg: form.identityBackImg?.[0]?.path ?? '', |
| | | verifyCode: form.verifyCode, |
| | | }; |
| | | let res = await electronSignServices.personalUserIdentity3Real(params); |
| | | if (res) { |
| | | Taro.navigateTo({ url: `${RouterPath.authenticationResult}` }); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | |
| | | async function personalUserFaceReal() { |
| | | try { |
| | | let params: API.PersonalUserFaceRealCommand = { |
| | | name: form.name, |
| | | identity: form.identity, |
| | | identityImg: form.identityImg?.[0]?.path ?? '', |
| | | identityBackImg: form.identityBackImg?.[0]?.path ?? '', |
| | | }; |
| | | let res = await electronSignServices.personalUserFaceReal(params); |
| | | if (res) { |
| | | const encodedUrl = encodeURIComponent(res); |
| | | Taro.navigateTo({ url: `${RouterPath.extraPage}?url=${encodedUrl}` }); |
| | | } |
| | | } catch (error) {} |
| | | } |
| | | </script> |
| | | |
| | | <style lang="scss"> |