2 lines
7.6 KiB
JavaScript
2 lines
7.6 KiB
JavaScript
import{p as e,r as a,m as l,q as s,u as n,o,c as t,d as i,w as u,v as c,x as p,b as d,t as r,z as v,e as m,f,L as h,M as g,N as b,O as k,j as _,k as y,g as x,A as C,h as w,C as V,I as z,i as I}from"./index-DrZc8biM.js";import{A as j}from"./AppIcon.M7CZvvJr.js";import{_ as A,n as B}from"./_plugin-vue_export-helper.2L545UbL.js";import{B as U,i as M,p as P,s as $}from"./index.DsJtDI4O.js";const N=A({__name:"Profile",emits:["change-page"],setup(A,{emit:N}){const O=(()=>{var a,l;const s=(null==(a=e)?void 0:a().statusBarHeight)||20;let n=s+44;const o=null==(l=uni.getMenuButtonBoundingClientRect)?void 0:l.call(uni);if(o&&o.top&&o.height){n=s+2*Math.max(o.top-s,4)+o.height}return`padding-top:${s}px;height:${n}px;`})(),q=a(l()),F=a(!1),H=a(!1),J=a(!1),L=a(!1),R=a(0);let S=null;const D=a({name:"",phone:"",code:""}),E=s(()=>q.value.name?q.value.name.slice(0,1).toUpperCase():"?"),G=["#ff7c43","#07c160","#8b6914","#e06040","#5090d0"],K=s(()=>{var e;const a=((null==(e=q.value.name)?void 0:e.charCodeAt(0))||0)%G.length;return{background:G[a]}}),Q=async()=>{const e=D.value.phone;if(!e||11!==e.length)return void _({title:"请输入正确的手机号",icon:"none"});const a=await $(e);200===a.code?(_({title:"验证码已发送",icon:"none"}),R.value=60,S=setInterval(()=>{R.value--,R.value<=0&&clearInterval(S)},1e3)):_({title:a.message||"发送失败",icon:"none"})},T=async()=>{if(!D.value.name||!D.value.name.trim())return void _({title:"请输入姓名",icon:"none"});J.value=!0;const e=await P({id:q.value.id,name:D.value.name.trim()});J.value=!1,200===e.code?(q.value.name=D.value.name.trim(),y(q.value),_({title:"修改成功",icon:"success"}),F.value=!1):_({title:e.message||"修改失败",icon:"none"})},W=async()=>{const{phone:e,code:a}=D.value;if(!e||11!==e.length)return void _({title:"请输入正确的手机号",icon:"none"});if(!a||6!==a.length)return void _({title:"请输入6位验证码",icon:"none"});L.value=!0;const l=await P({id:q.value.id,phone:e,code:a});L.value=!1,200===l.code?(q.value.phone=e,y(q.value),_({title:"修改成功",icon:"success"}),H.value=!1):_({title:l.message||"修改失败",icon:"none"})},X=()=>{h({count:1,success:async e=>{const a=e.tempFilePaths[0];g({title:"上传中..."}),b({url:`${U}/upload/image`,filePath:a,name:"file",success:async e=>{k();const a=JSON.parse(e.data);if(200===a.code){const e=M(a.data.url),l=await P({id:q.value.id,avatar:a.data.url});200===l.code?(q.value.avatar=e,y(q.value),_({title:"头像已更新",icon:"success"})):_({title:l.message||"更新失败",icon:"none"})}else _({title:a.message||"上传失败",icon:"none"})},fail:()=>{k(),_({title:"上传失败",icon:"none"})}})}})};return n(()=>{D.value.name=q.value.name||"",D.value.phone=q.value.phone||""}),o(()=>{S&&clearInterval(S)}),(e,a)=>{const l=C,s=f,n=z,o=I;return x(),t("div",{class:"page-shell profile-page"},[i(s,{class:"profile-nav nav-gradient",style:c(p(O))},{default:u(()=>[i(l,{class:"nav-back",onClick:a[0]||(a[0]=e=>p(B)("mine"))},{default:u(()=>[i(j,{name:"back",size:18,color:"#ffffff"})]),_:1}),i(l,{class:"nav-title"},{default:u(()=>[w("个人信息")]),_:1}),i(s,{class:"nav-placeholder"})]),_:1},8,["style"]),d("div",{class:"profile-hero"},[d("div",{class:"hero-main-row"},[d("div",{class:"avatar-wrap",onClick:X},[q.value.avatar?(x(),t("img",{key:0,src:p(M)(q.value.avatar),class:"avatar-img"},null,8,["src"])):(x(),t("div",{key:1,class:"avatar-placeholder",style:c(K.value)},[d("span",{class:"avatar-initials"},r(E.value),1)],4)),d("div",{class:"avatar-badge","aria-hidden":"true"},[i(j,{name:"camera",size:12,color:"#64748b"})])]),d("div",{class:"hero-text"},[d("div",{class:"hero-name text-title"},r(q.value.name||"未设置姓名"),1),d("div",{class:"hero-phone text-sub"},r(q.value.phone||"未绑定手机号"),1),d("div",{class:"hero-tags"},["boss"===q.value.role?(x(),t("span",{key:0,class:"role-pill hero-role"},"店长")):(x(),t("span",{key:1,class:"role-pill hero-role role-staff"},"员工"))])])]),d("div",{class:"hero-hint text-sub"},"点击左侧头像可更换照片")]),d("div",{class:"menu-section"},[d("div",{class:"menu-card"},[d("div",{class:"menu-title"},"资料与账号"),d("div",{class:"menu-item",onClick:a[1]||(a[1]=e=>F.value=!0)},[d("div",{class:"menu-left"},[d("span",{class:"menu-icon"},[i(j,{name:"profile",size:15})]),d("span",{class:"menu-text"},"姓名")]),d("div",{class:"menu-right"},[d("span",{class:"menu-value"},r(q.value.name||"未设置"),1),d("span",{class:"menu-arrow"},"›")])]),d("div",{class:"menu-item",onClick:a[2]||(a[2]=e=>H.value=!0)},[d("div",{class:"menu-left"},[d("span",{class:"menu-icon"},[i(j,{name:"orders",size:15})]),d("span",{class:"menu-text"},"手机号")]),d("div",{class:"menu-right"},[d("span",{class:"menu-value"},r(q.value.phone||"未设置"),1),d("span",{class:"menu-arrow"},"›")])]),d("div",{class:"menu-item menu-item-static"},[d("div",{class:"menu-left"},[d("span",{class:"menu-icon"},[i(j,{name:"mine",size:15})]),d("span",{class:"menu-text"},"角色")]),d("div",{class:"menu-right"},["boss"===q.value.role?(x(),t("span",{key:0,class:"role-pill role-pill-compact"},"店长")):(x(),t("span",{key:1,class:"role-pill role-pill-compact role-staff"},"员工"))])])])]),d("div",{class:"footer-tip"},"宠伴生活馆 · "+r("boss"===q.value.role?"商家版":"员工版"),1),F.value?(x(),v(s,{key:0,class:"popup-mask profile-popup-mask",onClick:a[6]||(a[6]=e=>F.value=!1)},{default:u(()=>[i(s,{class:"popup-content profile-popup-sheet",onClick:a[5]||(a[5]=V(()=>{},["stop"]))},{default:u(()=>[i(s,{class:"popup-header"},{default:u(()=>[i(l,{class:"popup-title"},{default:u(()=>[w("修改姓名")]),_:1}),i(s,{class:"popup-close",onClick:a[3]||(a[3]=e=>F.value=!1)},{default:u(()=>[i(j,{name:"close",size:18,color:"#94a3b8"})]),_:1})]),_:1}),i(s,{class:"popup-body"},{default:u(()=>[i(s,{class:"field-label"},{default:u(()=>[w("姓名")]),_:1}),i(n,{modelValue:D.value.name,"onUpdate:modelValue":a[4]||(a[4]=e=>D.value.name=e),class:"van-field",placeholder:"请输入姓名"},null,8,["modelValue"])]),_:1}),i(s,{class:"popup-footer profile-popup-footer"},{default:u(()=>[i(o,{class:"van-button van-button--block van-button--primary",loading:J.value,onClick:T},{default:u(()=>[w("保存")]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})):m("",!0),H.value?(x(),v(s,{key:1,class:"popup-mask profile-popup-mask",onClick:a[11]||(a[11]=e=>H.value=!1)},{default:u(()=>[i(s,{class:"popup-content profile-popup-sheet",onClick:a[10]||(a[10]=V(()=>{},["stop"]))},{default:u(()=>[i(s,{class:"popup-header"},{default:u(()=>[i(l,{class:"popup-title"},{default:u(()=>[w("修改手机号")]),_:1}),i(s,{class:"popup-close",onClick:a[7]||(a[7]=e=>H.value=!1)},{default:u(()=>[i(j,{name:"close",size:18,color:"#94a3b8"})]),_:1})]),_:1}),i(s,{class:"popup-body"},{default:u(()=>[i(s,{class:"field-label"},{default:u(()=>[w("新手机号")]),_:1}),i(n,{modelValue:D.value.phone,"onUpdate:modelValue":a[8]||(a[8]=e=>D.value.phone=e),type:"tel",class:"van-field",placeholder:"请输入手机号",maxlength:"11"},null,8,["modelValue"]),i(s,{class:"field-label field-label-gap"},{default:u(()=>[w("验证码")]),_:1}),i(s,{class:"sms-row"},{default:u(()=>[i(n,{modelValue:D.value.code,"onUpdate:modelValue":a[9]||(a[9]=e=>D.value.code=e),type:"digit",class:"van-field sms-input",placeholder:"请输入验证码",maxlength:"6"},null,8,["modelValue"]),i(o,{class:"van-button van-button--small",disabled:R.value>0,onClick:Q},{default:u(()=>[w(r(R.value>0?R.value+"s":"获取验证码"),1)]),_:1},8,["disabled"])]),_:1})]),_:1}),i(s,{class:"popup-footer profile-popup-footer"},{default:u(()=>[i(o,{class:"van-button van-button--block van-button--primary",loading:L.value,onClick:W},{default:u(()=>[w("保存")]),_:1},8,["loading"])]),_:1})]),_:1})]),_:1})):m("",!0)])}}},[["__scopeId","data-v-2268527d"]]);export{N as default};
|