| 1 |
- import{d as e,C as l,X as a,U as s,o as t,V as d,b as u,w as n,i as o,g as i,e as r,T as c,f,h as m,u as p,j as _,n as g,F as v,m as h,t as b,k as V,I as y,Y as j,G as k,Z as x,y as w}from"./index-B7bTnz6a.js";import{u as U}from"./useResource.DNVVLtXk.js";import{u as I,_ as C}from"./CommandStatus.vue_vue_type_script_setup_true_lang.hhFYCtRX.js";import{t as R}from"./format.CB3qMqVf.js";import{I as S}from"./IdentityGuard.D7TK12FT.js";import{P as B}from"./PageState.YGEfFInq.js";import{_ as G}from"./_plugin-vue_export-helper.BCo6x5W8.js";const N=G(e({__name:"edit",setup(e){const G=l(0),N=l(!0),O=a({label:"配送地址",address:"",contact:"",phone:"",region:"",longitude:null,latitude:null,is_default:!1,revision:""});const{data:P,loading:T,error:A,load:E}=U(async()=>{if(N.value)return null;const e=await i(r("enterprise")+"/addresses/"+G.value);return Object.assign(O,{label:e.label,address:e.address,contact:e.contact,phone:e.phone,region:e.region,longitude:e.longitude,latitude:e.latitude,is_default:e.is_default,revision:e.revision}),e}),F=I(()=>N.value?r("enterprise")+"/addresses":r("enterprise")+"/addresses/"+G.value,async()=>{R(N.value?"配送地址已新增":"配送地址已更新"),await E(),setTimeout(()=>c(),220)});function X(){if(!(O.label.trim()&&O.address.trim()&&O.contact.trim()&&O.phone.trim()))return void R("请填写地址名称、地址和联系人信息");const e={...O};null!=O.longitude&&null!=O.latitude||(delete e.longitude,delete e.latitude),N.value&&delete e.revision,F.execute(e)}function Y(e){const l=e.detail;O.is_default=Boolean(null==l?void 0:l.value)}return s(e=>{const l=Number((null==e?void 0:e.address_id)||0);G.value=Number.isSafeInteger(l)&&l>0?l:0,N.value=0===G.value,Object.assign(O,{label:"配送地址",address:"",contact:"",phone:"",region:"",longitude:null,latitude:null,is_default:!1,revision:""})}),t(()=>{d()&&E()}),(e,l)=>{const a=o,s=V,t=y,i=j,r=x,c=k,U=w;return f(),u(a,{class:"page"},{default:n(()=>[m(S,{kind:"enterprise"},{default:n(()=>[p(d)()?(f(),g(v,{key:1},[N.value?h("",!0):(f(),u(B,{key:0,loading:p(T),error:p(A),onRetry:p(E)},null,8,["loading","error","onRetry"])),N.value||p(P)?(f(),u(a,{key:1,class:"card"},{default:n(()=>[m(a,{class:"title"},{default:n(()=>[_(b(N.value?"新增企业配送地址":"编辑企业配送地址"),1)]),_:1}),m(a,{class:"field"},{default:n(()=>[m(s,{class:"field-label"},{default:n(()=>[_("地址名称")]),_:1}),m(t,{modelValue:O.label,"onUpdate:modelValue":l[0]||(l[0]=e=>O.label=e),class:"input",maxlength:"80",placeholder:"例如:总部前台、南山分部"},null,8,["modelValue"])]),_:1}),m(a,{class:"field"},{default:n(()=>[m(s,{class:"field-label"},{default:n(()=>[_("供水地址")]),_:1}),m(i,{modelValue:O.address,"onUpdate:modelValue":l[1]||(l[1]=e=>O.address=e),class:"input",maxlength:"255",placeholder:"街道、楼栋、楼层及门牌"},null,8,["modelValue"])]),_:1}),m(a,{class:"field"},{default:n(()=>[m(s,{class:"field-label"},{default:n(()=>[_("服务区域(可选)")]),_:1}),m(t,{modelValue:O.region,"onUpdate:modelValue":l[2]||(l[2]=e=>O.region=e),class:"input",maxlength:"80",placeholder:"例如:南山区"},null,8,["modelValue"])]),_:1}),m(a,{class:"field"},{default:n(()=>[m(s,{class:"field-label"},{default:n(()=>[_("联系人")]),_:1}),m(t,{modelValue:O.contact,"onUpdate:modelValue":l[3]||(l[3]=e=>O.contact=e),class:"input",maxlength:"60",placeholder:"收货联系人姓名"},null,8,["modelValue"])]),_:1}),m(a,{class:"field"},{default:n(()=>[m(s,{class:"field-label"},{default:n(()=>[_("联系电话")]),_:1}),m(t,{modelValue:O.phone,"onUpdate:modelValue":l[4]||(l[4]=e=>O.phone=e),class:"input",maxlength:"30",placeholder:"完整联系电话,不能填写脱敏号码"},null,8,["modelValue"])]),_:1}),m(c,{class:"switch-row"},{default:n(()=>[m(r,{checked:O.is_default,color:"#2879ed",onChange:Y},null,8,["checked"]),m(s,null,{default:n(()=>[_("设为默认配送地址")]),_:1})]),_:1})]),_:1})):h("",!0),m(a,{class:"notice"},{default:n(()=>[_(" 新增地址会在后台企业客户详情中显示。设为默认后,未指定地址的预约会使用此地址;历史配送单的地址快照不会改变。 ")]),_:1}),m(C,{command:p(F)},null,8,["command"]),m(U,{class:"primary",disabled:p(T)||!N.value&&!p(P)||p(F).busy,loading:p(F).busy,onClick:X},{default:n(()=>[_(b(N.value?"新增地址":"保存地址"),1)]),_:1},8,["disabled","loading"])],64)):(f(),u(a,{key:0,class:"notice warning"},{default:n(()=>[_("仅企业管理员可以新增或编辑配送地址。")]),_:1}))]),_:1})]),_:1})}}}),[["__scopeId","data-v-3cc3e34f"]]);export{N as default};
|