import { FormRules } from '@nutui/nutui-taro/dist/types/__VUE/form/types';
|
import { useUser } from '@/hooks';
|
import { FileItem } from '@nutui/nutui-taro/dist/types/__VUE/uploader/type';
|
import {
|
EnterpriseType,
|
UserCertificationModeEnumV2,
|
VerificationCodeBusinessType,
|
UserCertificationElementEnum,
|
UserCertificationChannelEnum,
|
UserCertificationPayType,
|
} from '@12333/constants';
|
import * as commonServices from '@12333/services/api/Common';
|
// import * as userServices from '@12333/services/api/User';
|
import { FormValidator, Message } from '@12333/utils';
|
// import { useUserCertificationSetting } from '@12333/hooks';
|
import Taro from '@tarojs/taro';
|
|
type UseAuthenticationFlowOptions = {
|
certificationMode: UserCertificationModeEnumV2;
|
certificationElement: UserCertificationElementEnum;
|
};
|
|
export function useAuthenticationFlow({
|
certificationMode,
|
certificationElement,
|
}: UseAuthenticationFlowOptions) {
|
const { userDetail } = useUser();
|
|
const form = reactive({
|
licenseUrl: [] as FileItem[],
|
// enterpriseType: userDetail.value?.authType ?? EnterpriseType.HREnterprise,
|
enterpriseName: '',
|
societyCreditCode: '',
|
certificationMode: certificationMode,
|
certificationElement: certificationElement,
|
legalPersonName: '',
|
legalPersonIdNumber: '',
|
legalPersonIdFrontImgUrl: [] as FileItem[],
|
legalPersonIdBackImgUrl: [] as FileItem[],
|
legalPersonBankCardImgUrl: [] as FileItem[],
|
legalPersonContactPhone: '',
|
verificationCode: '',
|
proxyPersonName: '',
|
proxyPersonIdNumber: '',
|
proxyPersonContactPhone: '',
|
proxyPersonIdFrontImgUrl: [] as FileItem[],
|
proxyPersonIdBackImgUrl: [] as FileItem[],
|
proxyPersonBankCardImgUrl: [] as FileItem[],
|
proxyPowerAttorneyUrl: [] as FileItem[],
|
bankCardNumber: '',
|
});
|
|
const rules: FormRules = {
|
licenseUrl: [
|
{ required: true, message: '请上传营业执照', validator: FormValidator.validatorArray },
|
],
|
enterpriseName: [{ required: true, message: '请输入企业名称' }],
|
societyCreditCode: [
|
{ required: true, message: '请输入您营业执照上的信用代码' },
|
{ message: '请输入正确的信用代码', validator: FormValidator.validatorSocietyCreditCode },
|
],
|
legalPersonName: [{ required: true, message: '请填写企业法人的姓名' }],
|
legalPersonIdFrontImgUrl: [
|
{ required: true, message: '请上传身份证人像面', validator: FormValidator.validatorArray },
|
],
|
legalPersonIdBackImgUrl: [
|
{ required: true, message: '请上传身份证国徽面', validator: FormValidator.validatorArray },
|
],
|
legalPersonIdNumber: [
|
{ required: true, message: '请填写企业法人的身份证号码' },
|
{ message: '请输入正确的身份证号码', validator: FormValidator.validatorIDCard },
|
],
|
legalPersonContactPhone: [
|
{ required: true, message: '请填写企业法人的手机号码' },
|
{ message: '请输入正确的手机号码', validator: FormValidator.validatorPhoneNumber },
|
],
|
verificationCode: [{ required: true, message: '请输入验证码' }],
|
proxyPersonName: [{ required: true, message: '请填写经办人的姓名' }],
|
proxyPersonIdNumber: [
|
{ required: true, message: '请填写经办人的身份证号码' },
|
{ message: '请输入正确的身份证号码', validator: FormValidator.validatorIDCard },
|
],
|
proxyPersonContactPhone: [
|
{ required: true, message: '请填写经办人的手机号码' },
|
{ message: '请输入正确的手机号码', validator: FormValidator.validatorPhoneNumber },
|
],
|
proxyPowerAttorneyUrl: [
|
{ required: true, message: '请上传企业授权书', validator: FormValidator.validatorArray },
|
],
|
};
|
|
// const { updateUserInfo } = useUser();
|
|
const formRef = ref<any>(null);
|
|
function handleSubmit() {
|
if (!formRef.value) return;
|
formRef.value.validate().then(({ valid, errors }: any) => {
|
if (valid) {
|
// addUserCertificationAudit();
|
}
|
});
|
}
|
|
const loading = ref(false);
|
|
// async function addUserCertificationAudit() {
|
// try {
|
// let params: API.AddUserCertificationAuditInput = {
|
// enterpriseType: form.enterpriseType,
|
// licenseUrl: form.licenseUrl[0].path,
|
// enterpriseName: form.enterpriseName,
|
// societyCreditCode: form.societyCreditCode,
|
// certificationMode: form.certificationMode,
|
// legalPersonName: form.legalPersonName,
|
// legalPersonIdNumber: form.legalPersonIdNumber,
|
// legalPersonIdImgUrl: form.legalPersonIdFrontImgUrl?.[0]?.path ?? '',
|
// legalPersonIdBackImgUrl: form.legalPersonIdBackImgUrl?.[0]?.path ?? '',
|
// legalPersonBankCardImgUrl: form.legalPersonBankCardImgUrl?.[0]?.path ?? '',
|
// certificationContact:
|
// form.certificationElement === UserCertificationElementEnum.Identity4
|
// ? form.legalPersonName
|
// : form.proxyPersonName,
|
// certificationContactPhone:
|
// form.certificationElement === UserCertificationElementEnum.Identity4
|
// ? form.legalPersonContactPhone
|
// : form.proxyPersonContactPhone,
|
// proxyPersonName: form.proxyPersonName,
|
// proxyPersonIdNumber: form.proxyPersonIdNumber,
|
// proxyPersonIdImgUrl: form.proxyPersonIdFrontImgUrl?.[0]?.path ?? '',
|
// proxyPersonIdBackImgUrl: form.proxyPersonIdBackImgUrl?.[0]?.path ?? '',
|
// proxyPersonBankCardImgUrl: form.proxyPersonBankCardImgUrl?.[0]?.path ?? '',
|
// proxyPowerAttorneyUrl: form.proxyPowerAttorneyUrl?.[0]?.path ?? '',
|
// certificationChannel: UserCertificationChannelEnum.ThirdParty,
|
// certificationElement: form.certificationElement,
|
// vCode: form.verificationCode,
|
// bankCardNumber: form.bankCardNumber,
|
// payType: UserCertificationPayType.NotNeedPay,
|
// };
|
// loading.value = true;
|
// let res = await userServices.addUserCertificationAudit(params, { showLoading: false });
|
// if (res) {
|
// updateUserInfo();
|
// Taro.redirectTo({
|
// url: RouterPath.authenticationResult,
|
// });
|
// }
|
// } catch (error) {
|
// } finally {
|
// loading.value = false;
|
// }
|
// }
|
|
return {
|
form,
|
rules,
|
formRef,
|
handleSubmit,
|
loading,
|
};
|
}
|
|
// export function useDownloadPowerAttorneyTemplate() {
|
// // const { userCertificationSetting } = useUserCertificationSetting();
|
|
// function downloadPowerAttorneyTemplate() {
|
// Taro.showLoading({
|
// title: '下载中',
|
// });
|
// Taro.downloadFile({
|
// url: userCertificationSetting.value.enterprisePowerAttorneyTempPath,
|
// success: function (res) {
|
// Taro.hideLoading();
|
// // Message.success('下载成功');
|
// var filePath = res.tempFilePath;
|
// Taro.openDocument({
|
// filePath: filePath,
|
// showMenu: true,
|
// });
|
// },
|
// fail: function (error: any) {
|
// Taro.hideLoading();
|
// Message.error('下载失败');
|
// },
|
// });
|
// }
|
|
// return {
|
// downloadPowerAttorneyTemplate,
|
// };
|
// }
|