EnterpriseForm.CLk3jcjh.js 14 KB

12345678910111213141516171819202122232425262728293031323334353637
  1. import{ao as e,d as a,L as t,q as i,z as l,a1 as s,a2 as n,A as d,F as o,t as u,G as r,ad as p,aN as _,O as c}from"./element-plus.DYHj_7Hl.js";import{P as y,_ as f,a1 as m,ax as g,F as v,a7 as b}from"./index.DFNFECYn.js";import{M as h,bn as w,bq as I,bE as E,aZ as S,aL as A,u as x,I as L,bJ as V,F as O,s as P,bO as R,t as U,bb as D,aq as F,aU as N,aD as j,aS as k,bL as Y,bk as q,aX as M,H as T,v as B,q as z}from"./@vue.DbmRtknU.js";const C={class:"single-image-upload"},J={key:0,class:"el-upload__tip"},G=f(h({__name:"SingleImageUpload",props:F({
  2. /**
  3. * 请求携带的额外参数
  4. */
  5. data:{type:Object,default:()=>({})},
  6. /**
  7. * 上传文件的参数名
  8. */
  9. name:{type:String,default:"file"},
  10. /**
  11. * 最大文件大小(单位:M)
  12. */
  13. maxFileSize:{type:Number,default:10},
  14. /**
  15. * 上传图片格式,默认支持所有图片(image/*),指定格式示例:'.png,.jpg,.jpeg,.gif,.bmp'
  16. */
  17. accept:{type:String,default:"image/*"},
  18. /**
  19. * 自定义样式,用于设置组件的宽度和高度等其他样式
  20. */
  21. style:{type:Object,default:()=>({width:"150px",height:"150px"})},
  22. /**
  23. * 是否禁用
  24. */
  25. disabled:{type:Boolean,default:!1},
  26. /**
  27. * 是否显示提示信息
  28. */
  29. showTip:{type:Boolean,default:!1},
  30. /**
  31. * 提示文本
  32. */
  33. tipText:{type:String,default:""},
  34. /**
  35. * 是否启用图片预览功能
  36. */
  37. enablePreview:{type:Boolean,default:!0}},{modelValue:{default:""},modelModifiers:{}}),emits:F(["success","error","input","update:modelValue"],["update:modelValue"]),setup(l,{emit:s}){w(e=>({v05f354eb:n.style.width??"150px",v4553109c:n.style.height??"150px"}));const n=l,d=I(l,"modelValue"),o=N([]);E(()=>d.value,e=>{o.value=e?[{name:e.split("/").pop()||"image",url:e}]:[]},{immediate:!0}),E(()=>o.value,e=>{e&&e.length>0&&e[0].url?d.value=e[0].url:d.value=""},{deep:!0});const u=s;function r(e){return n.accept.split(",").map(e=>e.trim()).some(a=>"image/*"===a?e.type.startsWith("image/"):a.startsWith(".")?e.name.toLowerCase().endsWith(a):e.type===a)?!(e.size>1024*n.maxFileSize*1024)||(i.warning(`上传图片不能大于 ${n.maxFileSize}MB`),!1):(i.warning(`上传文件的格式不正确,仅支持:${n.accept}`),!1)}async function p(e){try{const a=e.file,t=new FormData;t.append(n.name,a);for(const[e,i]of Object.entries(n.data))t.append(e,String(i));const l=await y.uploadFile(t);if(0===l.data.code&&l.data){const e=l.data.data;return f(e),e}{const e=l.data.msg||"上传失败";throw i.error(e),new Error(e)}}catch(a){throw m(a instanceof Error?a:new Error(String(a))),a}}function _(){o.value=[]}function c(e){e.stopPropagation(),n.enablePreview&&o.value&&o.value.length>0&&o.value[0].url}const f=e=>{const a=[{name:e.file_name,url:e.file_url}];o.value=a,u("success",e),u("input",e.file_url),u("update:modelValue",e.file_url)},m=e=>{i.error("图片上传失败,请重试"),u("error",e)};return(i,l)=>{const s=e,d=S("CircleCloseFilled"),u=a,y=S("Plus"),g=t;return A(),x("div",C,[L(g,{"file-list":o.value,"onUpdate:fileList":l[0]||(l[0]=e=>o.value=e),class:"single-upload","list-type":"picture-card","show-file-list":!1,accept:n.accept,"before-upload":r,"http-request":p,"on-success":f,"on-error":m,"on-remove":_,disabled:n.disabled},{default:V(()=>[o.value&&o.value.length>0&&o.value[0].url?(A(),x(O,{key:0},[(A(),P(s,{key:o.value[0].url,class:"single-upload__image",src:o.value[0].url,fit:"cover","preview-src-list":n.enablePreview?[o.value[0].url]:[],"preview-teleported":!0,onClick:R(c,["stop"])},null,8,["src","preview-src-list"])),n.disabled?U("",!0):(A(),P(u,{key:0,class:"single-upload__delete-btn",onClick:R(_,["stop"])},{default:V(()=>[L(d)]),_:1}))],64)):(A(),P(u,{key:1,class:"single-upload__add-btn"},{default:V(()=>[L(y)]),_:1}))]),_:1},8,["file-list","accept","disabled"]),n.showTip?(A(),x("div",J,D(n.tipText||`支持 ${n.accept} 格式,文件大小不超过 ${n.maxFileSize}MB`),1)):U("",!0)])}}}),[["__scopeId","data-v-2ff51ea0"]]),$=["element-loading-text"],W=h({__name:"EnterpriseForm",props:{type:{},enterpriseId:{}},emits:["success"],setup(e,{expose:f,emit:h}){const w=e,I=h,S=N(),R=N(!1),D=N([]);j(async()=>{try{const e=await m.options();D.value=e.data.data||[]}catch{}});const F={identity_type:"ALIPAY_USER_ID",alipay_id_type:"uid",identity:void 0,identity_open_id:void 0,service_provider_id:null,scope_label:"",wanlihui_uid:""},C=k(JSON.parse(JSON.stringify(F)));function J(e){const a=D.value.find(a=>a.id===e);C.scope_label=(null==a?void 0:a.scope_label)||"","OVERSEAS"!==C.scope_label&&(C.wanlihui_uid="")}function W(){"ALIPAY_USER_ID"===C.identity_type&&(C.alipay_id_type="uid"),C.identity=void 0,C.identity_open_id=void 0}function H(){C.identity=void 0,C.identity_open_id=void 0}E(()=>w.enterpriseId,async e=>{if(e&&"update"===w.type){const a=(await b.detail(e)).data;if(a&&(C.identity_type=a.identity_type||"ALIPAY_USER_ID",a.identity?(C.alipay_id_type="uid",C.identity=a.identity):a.identity_open_id&&(C.alipay_id_type="openid",C.identity=a.identity_open_id),K.business_license=a.business_license||"",K.business_scenario=a.business_scenario||"",K.legal_rep_id_photo=a.legal_rep_id_photo||"",C.wanlihui_uid=a.wanlihui_uid||"",a.business_contracts))try{const e="string"==typeof a.business_contracts?JSON.parse(a.business_contracts):a.business_contracts;ee.value=e.map((e,a)=>({name:e.split("/").pop()||`contract_${a+1}`,url:e}))}catch{}}},{immediate:!0});const X=N(),Z=N(),K=k({business_license:"",business_scenario:"",business_contracts:"",legal_rep_id_photo:""}),Q=k({business_license:[{required:!0,message:"请上传营业执照",trigger:"change"}],business_scenario:[{required:!0,message:"请输入业务场景描述",trigger:"blur"},{max:2e3,message:"不超过2000字",trigger:"blur"}],business_contracts:[{required:!0,message:"请上传业务上下游合同",trigger:"change"}],legal_rep_id_photo:[{required:!0,message:"请上传法人手持身份证照片",trigger:"change"}]}),ee=N([]);function ae(e){var a;const t="."+(null==(a=e.name.split(".").pop())?void 0:a.toLowerCase());return[".pdf",".doc",".docx",".jpg",".jpeg",".png"].includes(t)?!(e.size>10485760)||(i.warning("单个文件不能超过10MB"),!1):(i.warning("合同文件仅支持 pdf/doc/docx/jpg/png 格式"),!1)}async function te(e){const a=new FormData;a.append("file",e.file);try{const t=await y.uploadFile(a);if(0===t.data.code&&t.data.data){const a=t.data.data,i=ee.value.findIndex(a=>a.uid===e.file.uid),l={name:a.file_name,url:a.file_url,status:"success"};i>=0?ee.value[i]=l:ee.value.push(l),K.business_contracts=JSON.stringify(ee.value.map(e=>e.url).filter(Boolean)),e.onSuccess(t.data)}else i.error(t.data.msg||"上传失败"),e.onError(t.data)}catch(t){i.error("合同上传失败"),e.onError(t)}}function ie(e,a){ee.value=a,K.business_contracts=JSON.stringify(a.map(e=>e.url).filter(Boolean))}const le=z(()=>({ALIPAY_USER_ID:"支付宝uid",ALIPAY_LOGON_ID:"支付宝登录邮箱/手机",ENTERPRISE_EMAIL:"企业邮箱"}[C.identity_type]||"身份标识")),se=z(()=>({ALIPAY_USER_ID:"请输入支付宝uid",ALIPAY_LOGON_ID:"请输入已注册支付宝的手机号或邮箱",ENTERPRISE_EMAIL:"请输入企业邮箱"}[C.identity_type]||"请输入身份标识")),{pageLoading:ne,loadingText:de,execute:oe}=v(),ue=k({service_provider_id:[{required:!0,message:"请选择服务商",trigger:"change"}],identity_type:[{required:!0,message:"请选择身份类型",trigger:"change"}],alipay_id_type:[{required:()=>"ALIPAY_USER_ID"===C.identity_type,message:"请选择ID类型",trigger:"change"}],identity:[{validator:(e,a,t)=>{const i=C.identity&&""!==C.identity.trim(),l={ALIPAY_USER_ID:"uid"===C.alipay_id_type?"请输入支付宝uid":"请输入支付宝openid",ALIPAY_LOGON_ID:"请输入已注册支付宝的手机号或邮箱",ENTERPRISE_EMAIL:"请输入企业邮箱"};i?t():"ALIPAY_USER_ID"===C.identity_type?t(new Error(l.ALIPAY_USER_ID)):"ALIPAY_LOGON_ID"===C.identity_type?t(new Error(l.ALIPAY_LOGON_ID)):"ENTERPRISE_EMAIL"===C.identity_type?t(new Error(l.ENTERPRISE_EMAIL)):t()},trigger:"blur"}]});return f({submitForm:async function(){var e,a,t;if(await(null==(e=S.value)?void 0:e.validate().catch(()=>!1))&&!R.value){if("apply"===w.type){if(!(await(null==(a=X.value)?void 0:a.validate().catch(()=>!1))))return}R.value=!0;try{const e={identity_type:C.identity_type,identity:void 0,identity_open_id:void 0,service_provider_id:C.service_provider_id,scope_label:C.scope_label,wanlihui_uid:C.wanlihui_uid||void 0};if("apply"===w.type&&(e.business_license=K.business_license,e.business_scenario=K.business_scenario,e.business_contracts=K.business_contracts,e.legal_rep_id_photo=K.legal_rep_id_photo),"ALIPAY_USER_ID"===C.identity_type?"uid"===C.alipay_id_type?e.identity=C.identity||void 0:"openid"===C.alipay_id_type&&(e.identity_open_id=C.identity||void 0):e.identity=C.identity||void 0,"apply"===w.type){const a=await oe({loadingText:"正在申请入驻...",action:()=>b.applyInvite(e)});(null==(t=null==a?void 0:a.data.data)?void 0:t.pc_invite_url)&&(window.open(a.data.data.pc_invite_url,"_blank"),I("success"))}else"update"===w.type&&w.enterpriseId&&await oe({loadingText:"正在更新企业...",action:()=>b.update(w.enterpriseId,e),onSuccess:()=>{i.success("更新成功"),I("success")}})}finally{R.value=!1}}},resetForm:function(){var e,a;Object.assign(C,JSON.parse(JSON.stringify(F))),null==(e=S.value)||e.resetFields(),Object.assign(K,{business_license:"",business_scenario:"",business_contracts:"",legal_rep_id_photo:""}),ee.value=[],null==(a=X.value)||a.resetFields()},isSubmitting:R}),(e,i)=>{const y=r,f=o,m=d,v=n,b=s,h=u,w=l,I=p,E=a,R=t,F=c;return Y((A(),x("div",{class:"enterprise-form","element-loading-text":q(de)},[L(w,{ref_key:"dataFormRef",ref:S,model:C,rules:ue,"label-suffix":":","label-width":"auto","label-position":"right"},{default:V(()=>[L(b,{gutter:20},{default:V(()=>[L(v,{span:12},{default:V(()=>[L(m,{label:"服务商",prop:"service_provider_id"},{default:V(()=>[L(f,{modelValue:C.service_provider_id,"onUpdate:modelValue":i[0]||(i[0]=e=>C.service_provider_id=e),placeholder:"请选择服务商",style:{width:"100%"},onChange:J},{default:V(()=>[(A(!0),x(O,null,M(D.value,e=>(A(),P(y,{key:e.id,label:e.name+" ("+e.scope_label+")",value:e.id},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),"OVERSEAS"===C.scope_label?(A(),P(b,{key:0,gutter:20},{default:V(()=>[L(v,{span:12},{default:V(()=>[L(m,{label:"万里汇uid",prop:"wanlihui_uid"},{default:V(()=>[L(h,{modelValue:C.wanlihui_uid,"onUpdate:modelValue":i[1]||(i[1]=e=>C.wanlihui_uid=e),placeholder:"请输入万里汇uid",maxlength:128},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})):U("",!0),L(b,{gutter:20},{default:V(()=>[L(v,{span:12},{default:V(()=>[L(m,{label:"身份类型",prop:"identity_type"},{default:V(()=>[L(f,{modelValue:C.identity_type,"onUpdate:modelValue":i[2]||(i[2]=e=>C.identity_type=e),placeholder:"请选择身份类型",style:{width:"100%"},onChange:W},{default:V(()=>[(A(!0),x(O,null,M(q(g),e=>(A(),P(y,{key:e.value,label:e.label,value:e.value},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1})]),_:1}),"ALIPAY_USER_ID"===C.identity_type?(A(),P(b,{key:1,gutter:20},{default:V(()=>[L(v,{span:6},{default:V(()=>[L(m,{label:"ID类型",prop:"alipay_id_type"},{default:V(()=>[L(f,{modelValue:C.alipay_id_type,"onUpdate:modelValue":i[3]||(i[3]=e=>C.alipay_id_type=e),placeholder:"请选择ID类型",style:{width:"100%"},onChange:H},{default:V(()=>[L(y,{label:"支付宝uid",value:"uid"}),L(y,{label:"支付宝openid",value:"openid"})]),_:1},8,["modelValue"])]),_:1})]),_:1}),L(v,{span:12},{default:V(()=>[L(m,{label:"身份标识",prop:"identity",required:!0},{default:V(()=>[L(h,{modelValue:C.identity,"onUpdate:modelValue":i[4]||(i[4]=e=>C.identity=e),placeholder:"uid"===C.alipay_id_type?"请输入支付宝uid":"请输入支付宝openid",maxlength:128},null,8,["modelValue","placeholder"])]),_:1})]),_:1})]),_:1})):(A(),P(b,{key:2,gutter:20},{default:V(()=>[L(v,{span:12},{default:V(()=>[L(m,{label:le.value,prop:"identity",required:!0},{default:V(()=>[L(h,{modelValue:C.identity,"onUpdate:modelValue":i[5]||(i[5]=e=>C.identity=e),placeholder:se.value,maxlength:128},null,8,["modelValue","placeholder"])]),_:1},8,["label"])]),_:1})]),_:1}))]),_:1},8,["model","rules"]),L(I,{"content-position":"left"},{default:V(()=>[...i[10]||(i[10]=[T("入驻材料",-1)])]),_:1}),L(w,{ref_key:"materialFormRef",ref:X,model:K,rules:Q,"label-suffix":":","label-width":"auto","label-position":"right"},{default:V(()=>[L(m,{label:"营业执照",prop:"business_license"},{default:V(()=>[L(G,{modelValue:K.business_license,"onUpdate:modelValue":i[6]||(i[6]=e=>K.business_license=e),accept:"image/*","max-file-size":5,"show-tip":!0,"tip-text":"支持 jpg/png 格式,文件大小不超过 5MB"},null,8,["modelValue"])]),_:1}),L(m,{label:"业务场景描述",prop:"business_scenario"},{default:V(()=>[L(h,{modelValue:K.business_scenario,"onUpdate:modelValue":i[7]||(i[7]=e=>K.business_scenario=e),type:"textarea",rows:4,placeholder:"请描述企业的业务场景",maxlength:"2000","show-word-limit":""},null,8,["modelValue"])]),_:1}),L(m,{label:"业务上下游合同",prop:"business_contracts"},{default:V(()=>[L(R,{ref_key:"contractUploadRef",ref:Z,"file-list":ee.value,"onUpdate:fileList":i[8]||(i[8]=e=>ee.value=e),action:"#",accept:".pdf,.doc,.docx,.jpg,.jpeg,.png","before-upload":ae,"http-request":te,"on-remove":ie,limit:10,multiple:"",drag:""},{tip:V(()=>[...i[11]||(i[11]=[B("div",{class:"el-upload__tip"},"支持 pdf/doc/docx/jpg/png,单个不超过10MB,最多10个文件",-1)])]),default:V(()=>[L(E,{class:"el-icon--upload"},{default:V(()=>[L(q(_))]),_:1}),i[12]||(i[12]=B("div",{class:"el-upload__text"},[T("拖拽文件到此处或 "),B("em",null,"点击上传")],-1))]),_:1},8,["file-list"])]),_:1}),L(m,{label:"法人手持身份证",prop:"legal_rep_id_photo"},{default:V(()=>[L(G,{modelValue:K.legal_rep_id_photo,"onUpdate:modelValue":i[9]||(i[9]=e=>K.legal_rep_id_photo=e),accept:"image/*","max-file-size":5,"show-tip":!0,"tip-text":"支持 jpg/png 格式,文件大小不超过 5MB"},null,8,["modelValue"])]),_:1})]),_:1},8,["model","rules"])],8,$)),[[F,q(ne)]])}}}),H=Object.freeze(Object.defineProperty({__proto__:null,default:W},Symbol.toStringTag,{value:"Module"}));export{H as E,G as S,W as _};