import FromListCertification from "@/components/FromListCertification" import { Button, Image, Input, NavigationBar, Navigator, Text, Textarea, View } from "@tarojs/components" import Taro, { setNavigationBarTitle, useRouter } from "@tarojs/taro" import { certificationSaveApi, certificationDetailApi } from "@/api/certification" import { useEffect, useRef, useState } from "react" import { alert, retrieval } from "@/common/common" import "./index.scss" import useUploadCDNImg from "@/use/useUploadImage"; import Message from "@/components/Message" import { IMG_CND_Prefix } from "@/common/constant"; import SelectEnterpriseType from "./components/SelectEnterpriseType" import { useSelector } from "@/reducers/hooks"; import useLogin from "@/use/useLogin"; export default () => { const { getAdminUserInfo } = useLogin(); const { adminUserInfo } = useSelector(state => state.userInfo); useEffect(() => { initalFormData(); }, []); // 获取认证信息 const { fetchData: getFromData } = certificationDetailApi() const initalFormData = async () => { const detail = await getFromData(); setFormData({ ...detail.data ?? {}, legal_person_identity_url: detail?.data?.legal_person_identity_url ?? [], // business_license_url: "https://test.cdn.zzfzyc.com/mall/827082e888860dd9da10f0fbb0ac3cf023081456.png" } as any) } // 保存 const [formData, setFormData] = useState({ authentication_type: 0, authentication_type_name: "", business_license_url: "", legal_person: "", legal_person_identity: "", businessLicense: '', legal_person_identity_url: [], name: "" }); const rules = { authentication_type: [{ message: "请选择认证类型" }], name: [{ message: "请输入企业名称" }], business_license_url: [{ message: "请上传营业执照" }], legal_person: [{ message: "请输入法人名称" }], legal_person_identity: [{ message: "请输入正确法人身份证", regex: /^[1-9]\d{5}(18|19|20|(3\d))\d{2}((0[1-9])|(1[0-2]))(([0-2][1-9])|10|20|30|31)\d{3}[0-9Xx]$/ }], legal_person_identity_url: [{ message: "请上传法人身份证", validator: (value: any, rule: any) => { if (!value[0] || !value[1]) { return true; } return false; } }], } const { fetchData } = certificationSaveApi() const handleSave = () => { retrieval(formData, rules).then(async () => { const result = await fetchData({ ...formData, authentication_type: 2 }) if (result.success) { // Taro.eventCenter.trigger("weightList:refresh"); getAdminUserInfo(); Taro.navigateBack(); alert.success("保存成功"); } else { alert.error(result.msg); } }).catch((message) => { alert.none(message) }) } // 监听表单完善 const [hozon, setHozon] = useState(false); useEffect(() => { if (retrieval) { retrieval(formData).then(() => setHozon(true)).catch(() => setHozon(false)) } }, [formData]) // 选择类型弹窗显示 const selectTypeRef = useRef(null) const handleSelectTypeModalShow = () => { (selectTypeRef.current as any).setShow(true) } // 选择类型确定 const handleSelectTypeConfirm = (item) => { setFormData({ ...formData, authentication_type: item.id, authentication_type_name: item.name }); } // 上传图片 const { getWxPhoto } = useUploadCDNImg(); const handleUploadImage = async (text: any) => { let result = await getWxPhoto('mall'); if (text == "business_license_url") { formData.business_license_url = IMG_CND_Prefix + (result as any).url; } else { formData.legal_person_identity_url[text] = IMG_CND_Prefix + (result as any).url as never; } setFormData({ ...formData }); } // 查看图片 const handleViewImage = (event, url) => { event.stopPropagation(); Taro.previewImage({ current: url, urls: [url] }) } return ( {(adminUserInfo as any)?.authentication_status == 3 && } 企业认证 {/* */} setFormData({ ...formData, name: ev.detail.value })} value={formData["name"]} label="企业名称" placeholder="请输入营业执照上的企业名称" required /> {/* */} setFormData({ ...formData, businessLicense: ev.detail.value })} value={formData["businessLicense"]} style={{ border: "0" }} label="企业营业执照" placeholder="注册号、统一社会信用代码、组织机构代码" required /> handleUploadImage("business_license_url")} className="certification-upload"> {(formData as any)?.business_license_url ? <> 营业执照正面 handleViewImage(e, (formData as any)?.business_license_url)}>查看证件 重新上传 : + 上传营业执照正面 } 法人认证 setFormData({ ...formData, legal_person: ev.detail.value })} value={formData["legal_person"]} label="法人代表" placeholder="填写法人名称" required /> setFormData({ ...formData, legal_person_identity: ev.detail.value })} value={formData["legal_person_identity"]} label="法人身份" placeholder="填写法人代表身份证号" required /> handleUploadImage(0)} className="certification-upload"> {(formData as any)?.legal_person_identity_url[0] ? <> 营业执照正面 handleViewImage(e, (formData as any)?.legal_person_identity_url[0])}>查看证件 重新上传 : + 上传身份证正面 } handleUploadImage(1)} className="certification-upload"> {(formData as any)?.legal_person_identity_url[1] ? <> 营业执照正面 handleViewImage(e, (formData as any)?.legal_person_identity_url[1])}>查看证件 重新上传 : + 上传身份证正面 } 取消 {[3, 4].includes((adminUserInfo as any)?.authentication_status) ? "重新认证" : "提交"} ) }