PageSourceSearch

https://mhtclouding.com/tongying/assets/index-CWaXqUDl.js

js mhtclouding.com collected 2026-10-02 16:02:57 UTC 9,677 bytes, 1 lines download raw bytes

1import{_ as z,r as f,M as G,C as J,Y as $,d as m,o as p,c as g,f as e,h as l,e as y,H as w,I as U,m as k,x as S,p as b,ag as K,ah as Q,n as W,A as Z,X as V,E as ee,s as le,t as ae,v as te}from"./index-uGWb9Yh4.js";import{a as oe}from"./client--wdBgmOq.js";import{l as ne}from"./level-5Cit4iud.js";import{R as re}from"./index-DJfEwVmX.js";/* empty css                                                              */const se=v=>(le("data-v-6f4e31b7"),v=v(),ae(),v),de={class:"app-container"},ue={class:"section-container"},ie=se(()=>y("div",{class:"section-title"},"基本信息",-1)),ce={class:"section-container"},me={class:"section-title"},pe={class:"contact-actions"},fe={__name:"index",setup(v){const{proxy:C}=te(),T=f(),c=f(!1),t=G({clientOfficial:"",clientPlan:"",clientType:void 0,clientAddress:"",levelId:void 0,companyName:"",clientSource:void 0,ownerUserId:void 0,aggregateAmount:0,remark:"",addressInfo:"",flowToPoolReason:"",contacts:[{realName:"",phone:"",email:"",wechatId:"",isPrimary:1}]}),x=f([]),O=f([]),R=f([]),A=f([]);f([]),f(!1);const h={email:[{type:"email",message:"请输入正确的邮箱地址",trigger:["blur","change"]}]},B={companyName:[{required:!0,message:"公司名称不能为空",trigger:"blur"},{min:2,max:200,message:"公司名称长度必须介于 2 和 200 个字符之间",trigger:"blur"}],email:[{type:"email",message:"请输入正确的邮箱地址",trigger:["blur","change"]}],clientType:[{type:"clientType",message:"请选择客户类型",trigger:["blur","change"]}],clientSource:[{type:"clientSource",message:"请选择客户来源",trigger:["blur","change"]}],clientAddress:[{type:"clientAddress",message:"请选择客户区域",trigger:["blur","change"]}],contacts:{type:"array",required:!0,validator:(n,o)=>!o||o.length===0?!1:o.some(r=>r.name&&r.name.trim()),message:"至少需要一个联系人",trigger:"blur"}};J(()=>{$("customer_type").then(n=>{x.value=n.data}),$("client_source").then(n=>{O.value=n.data}),$("client_plan").then(n=>{R.value=n.data}),ne().then(n=>{A.value=n.data})});const L=()=>{t.contacts.push({name:"",phone:"",email:"",telephone:"",position:"",department:"",isPrimary:0,remark:""})},D=n=>
1{if(t.contacts.length<=1){V.warning("至少需要保留一个联系人");return}if(t.contacts[n].isPrimary===1&&t.contacts.length>1){const r=n===0?1:0;t.contacts[r].isPrimary=1}t.contacts.splice(n,1)},E=n=>{t.contacts[n].isPrimary===1?t.contacts.forEach((o,r)=>{r!==n&&(o.isPrimary=0)}):!t.contacts.some(r=>r.isPrimary===1)&&t.contacts.length>0&&(t.contacts[0].isPrimary=1)},F=()=>{const n={...t};return!n.contacts.some(r=>r.isPrimary===1)&&n.contacts.length>0&&(n.contacts[0].isPrimary=1),n};async function M(){if(c.value){V.warning("正在提交,请稍候...");return}try{if(!await T.value.validate())return;const o=F();if(!q())return;c.value=!0,await oe(o),V.success("新增客户成功"),C.$tab.closePage()}catch(n){console.error("提交失败:",n)}finally{c.value=!1}}const q=()=>{for(let n=0;n<t.contacts.length;n++){const o=t.contacts[n];if(!o.realName||!o.realName.trim())return V.error(`请输入第${n+1}个联系人的姓名`),!1;if(o.email&&!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(o.email))return V.error(`第${n+1}个联系人的邮箱格式不正确`),!1}return!0};function H(){c.value?ee.confirm("正在提交数据,确定要取消吗?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{C.$tab.closePage()}):C.$tab.closePage()}return(n,o)=>{const r=m("el-input"),u=m("el-form-item"),s=m("el-col"),N=m("el-option"),I=m("el-select"),_=m("el-row"),P=m("el-button"),X=m("el-checkbox"),Y=m("el-divider"),j=m("el-form");return p(),g("div",de,[e(j,{ref_key:"clientFormRef",ref:T,model:t,rules:B,"label-width":"100px"},{default:l(()=>[y("div",ue,[ie,e(_,{gutter:20},{default:l(()=>[e(s,{span:8},{default:l(()=>[e(u,{label:"公司名称",prop:"companyName"},{default:l(()=>[e(r,{modelValue:t.companyName,"onUpdate:modelValue":o[0]||(o[0]=a=>t.companyName=a),placeholder:"请输入公司名称",clearable:""},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:l(()=>[e(u,{label:"客户类型",prop:"clientType"},{default:l(()=>[e(I,{modelValue:t.clientType,"onUpdate:modelValue":o[1]||(o[1]=a=>t.clientType=a),placeholder:"请选择客户类型",clearable:"",style:{width:"100%"}},{default:l(()=>[(p(!0),g(w,null,U(x.value,a=>(p(),k(N,{key:a.value,label:a.dictLabel,value:a.dictValue},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:l(()=>[e(u,{label:"客户来源",prop:"clientSource"},{default:l(()=>[e(I,{modelValue:t.clientSource,"onUpdate:modelValue":o[2]||(o[2]=a=>t.clientSource=a),placeholder:"请选择客户来源",clearable:"",style:{width:"100%"}},{default:l(()=>[(p(!0),g(w,null,U(O.value,a=>(p(),k(N,{key:a.value,label:a.dictLabel,value:a.dictValue},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:l(()=>[e(u,{label:"公司官网",prop:"clientOfficial"},{default:l(()=>[e(r,{modelValue:t.clientOfficial,"onUpdate:modelValue":o[3]||(o[3]=a=>t.clientOfficial=a),placeholder:"请输入官方网站",clearable:""},null,8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:l(()=>[e(u,{label:"客户状态",prop:"clientPlan"},{default:l(()=>[e(I,{modelValue:t.clientPlan,"onUpdate:modelValue":o[4]||(o[4]=a=>t.clientPlan=a),placeholder:"请客户状态客户来源",clearable:"",style:{width:"100%"}},{default:l(()=>[(p(!0),g(w,null,U(R.value,a=>(p(),k(N,{key:a.value,label:a.dictLabel,value:a.dictValue},null,8,["label","value"]))),128))]),_:1},8,["modelValue"])]),_:1})]),_:1}),e(s,{span:8},{default:l(()=>[e(u,{label:"客户区域",prop:"region"},{default:l(()=>[e(S(re),{modelValue:t.clientAddress,"onUpdate:modelValue":o[5]||(o[5]=a=>t.clientAddress=a),placeholder:"请选择客户区域"},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(_,null,{default:l(()=>[e(s,{span:24},{default:l(()=>[e(u,{label:"详细地址"},{default:l(()=>[e(r,{modelValue:t.addressInfo,"onUpdate:modelValue":o[6]||(o[6]=a=>t.addressInfo=a),rows:3,placeholder:"请输入详细地址",maxlength:"200","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1}),e(_,null,{default:l(()=>[e(s,{span:24},{default:l(()=>[e(u,{label:"备注"},{default:l(()=>[e(r,{modelValue:t.remark,"onUpdate:modelValue":o[7]||(o[7]=a=>t.remark=a),type:"textarea",rows:3,placeholder:"请输入备注信息",maxlength:"500","show-word-limit":""},null,8,["modelValue"])]),_:1})]),_:1})]),_:1})]),y("div",ce,[y("div",me,[b(" 联系人信息 "),e(P,{type:"primary",link:"",onClick:L,class:"add-contact-btn",icon:S(K),disabled:c.value},{default:l(()=>[b(" 添加联系人 ")]),_:1},8,["icon","disabled"])]),(p(!0),g(w,null,U(t.contacts,(a,i)=>(p(),g("div",{key:i,class:"contact-item"},[e(_,{gutter:20},{default:l(()=>[e(s,{span:8},{default:l(()=>[e(u,{label:`联系人${i+1}`,prop:`contacts.${i}.realName`,rules:h.realName},{default:l(()=>[e(r,{modelValue:a.realName,"onUpdate:modelValue":d=>
1a.realName=d,placeholder:"请输入联系人姓名",clearable:"",style:{width:"calc(100% - 40px)","margin-right":"8px"}},null,8,["modelValue","onUpdate:modelValue"]),e(X,{modelValue:a.isPrimary,"onUpdate:modelValue":d=>a.isPrimary=d,"true-label":1,"false-label":0,onChange:d=>E(i)},{default:l(()=>[b(" 主要 ")]),_:2},1032,["modelValue","onUpdate:modelValue","onChange"])]),_:2},1032,["label","prop","rules"])]),_:2},1024),e(s,{span:8},{default:l(()=>[e(u,{label:"手机",prop:`contacts.${i}.phone`,rules:h.phone},{default:l(()=>[e(r,{modelValue:a.phone,"onUpdate:modelValue":d=>a.phone=d,placeholder:"请输入手机号码",clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),_:2},1024),e(s,{span:8},{default:l(()=>[e(u,{label:"邮箱",prop:`contacts.${i}.email`,rules:h.email},{default:l(()=>[e(r,{modelValue:a.email,"onUpdate:modelValue":d=>a.email=d,placeholder:"请输入邮箱",clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),_:2},1024)]),_:2},1024),e(_,{gutter:20},{default:l(()=>[e(s,{span:8},{default:l(()=>[e(u,{label:"微信",prop:`contacts.${i}.department`},{default:l(()=>[e(r,{modelValue:a.wechatId,"onUpdate:modelValue":d=>a.wechatId=d,placeholder:"请输入微信号",clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop"])]),_:2},1024),e(s,{span:8},{default:l(()=>[e(u,{label:"部门",prop:`contacts.${i}.department`,rules:h.department},{default:l(()=>[e(r,{modelValue:a.department,"onUpdate:modelValue":d=>a.department=d,placeholder:"请输入部门",clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),_:2},1024),e(s,{span:8},{default:l(()=>[e(u,{label:"职位",prop:`contacts.${i}.position`,rules:h.position},{default:l(()=>[e(r,{modelValue:a.position,"onUpdate:modelValue":d=>a.position=d,placeholder:"请输入职位",clearable:""},null,8,["modelValue","onUpdate:modelValue"])]),_:2},1032,["prop","rules"])]),_:2},1024)]),_:2},1024),y("div",pe,[e(P,{type:"danger",link:"",icon:S(Q),onClick:d=>D(i),disabled:t.contacts.length===1||c.value},{default:l(()=>[b(" 删除联系人 ")]),_:2},1032,["icon","onClick","disabled"])]),i<t.contacts.length-1?(p(),k(Y,{key:0})):W("",!0)]))),128))]),e(_,null,{default:l(()=>[e(s,{span:24,class:"button-container"},{default:l(()=>[e(P,{type:"primary",onClick:M,loading:c.value,disabled:c.value||n.isSubmitting},{default:l(()=>[b(Z(c.value?"提交中...":"保 存"),1)]),_:1},8,["loading","disabled"]),e(P,{onClick:H,disabled:c.value},{default:l(()=>[b("取 消")]),_:1},8,["disabled"])]),_:1})]),_:1})]),_:1},8,["model"])])}}},ye=z(fe,[["__scopeId","data-v-6f4e31b7"]]);export{ye as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.