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: "", 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/> 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)?"重新认证":"提交"} ) }