2 lines
8.5 KiB
JavaScript
2 lines
8.5 KiB
JavaScript
import{D as j,B as A,C as H,U as G,d as Q,i as X,J as Z,Z as Y,E as v}from"./element-plus-DCRlGjqn.js";import{_ as $}from"./index-Bpp7evyC.js";import{_ as oo}from"./picker-h7OmyGiV.js";import{d as eo,W as to,l as so}from"./@element-plus/icons-vue-jYCthPJY.js";import{u as ro,a as ao,i as m,K as no,b as lo,L as io,_ as mo}from"./index-DsBUBCgs.js";import{a as po}from"./wecomOauthPostMessage-C_e6VGrO.js";import{f as W,b as co,d as uo,ak as p,I as u,a as t,aN as r,J as d,G as _o,F as B,O as _,H as wo,n as D}from"./@vue/runtime-core-C0pg79pw.js";import{y as V,o as w,r as q}from"./@vue/reactivity-BIbyPIZJ.js";import{Q as fo}from"./@vue/shared-mAAVTE9n.js";import"./@vue/runtime-dom-iFk_KP8y.js";import"./lodash-D3kF6u-c.js";import"./lodash-es-C2A-Pj28.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-DG77mNTn.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-dlM42V9p.js";import"./index-DrXr9qPh.js";import"./index.vue_vue_type_script_setup_true_lang-CwEtReGd.js";import"./index-BmvifxBX.js";import"./index-CF2_JamS.js";import"./index.vue_vue_type_script_setup_true_lang-BuPXZ-mu.js";import"./@vueuse/core-DIKi2bJB.js";import"./@vueuse/shared-D8934tfB.js";import"./file-DRO9_cYT.js";import"./usePaging-B_C_SZ2Z.js";import"./vuedraggable-C3E4D3Yv.js";import"./vue-tI-HfQaQ.js";import"./@vue/compiler-dom-CqayqxS7.js";import"./@vue/compiler-core-CvbQOXIO.js";import"./sortablejs-dsEAUXlE.js";import"./jspdf-BsthCvR5.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CYz6RFzi.js";import"./pinia-Ba_jX6-d.js";import"./axios-C80V62Fs.js";import"./css-color-function-DI01JAaZ.js";import"./balanced-match-BdS7OldZ.js";import"./color-B2zxaWkI.js";import"./clone-DBZ6_OiU.js";import"./color-convert-OrFsTA_V.js";import"./color-name-Dju3oUBS.js";import"./color-string-pUQDDJII.js";import"./ms-CzQ2E3wO.js";import"./vue-clipboard3-DByT_rEQ.js";import"./clipboard-CHgxszqY.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-Bxt7hFFy.js";import"./@highlightjs/vue-plugin-BVMzZUvF.js";const go={class:"user-setting"},ko={class:"w-80"},bo={class:"w-80"},vo={class:"flex items-center gap-3"},yo={class:"w-80"},ho={class:"w-80"},xo={class:"w-80"},Vo={class:"bind-qrcode-wrap"},Uo={key:0,class:"text-center py-8"},Eo={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Io=W({name:"userSetting"}),Co=W({...Io,setup(Bo){const U=w(),f=ro(),e=q({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),L=q({avatar:[{required:!0,message:"头像不能为空",trigger:["change"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}]}),g="like_admin_wx_bind_oauth",E=w(!1),y=w({corp_id:"",agent_id:""}),k=w(!1),b=w(!1);let l=null;const S=async()=>{const s=f.userInfo;for(const o in e)s[o]!==void 0&&(e[o]=s[o])},M=async()=>{if(e.password_old||e.password||e.password_confirm){if(!e.password_old)return m.msgError("请输入当前密码");if(!e.password)return m.msgError("请输入新的密码");if(!e.password_confirm)return m.msgError("请输入确定密码");if(e.password_confirm!=e.password)return m.msgError("两次输入的密码不一样")}if(e.password_old&&e.password&&e.password_confirm){if(e.password_old.length<6||e.password_old.length>32)return m.msgError("密码长度在6到32之间");if(e.password.length<6||e.password.length>32)return m.msgError("密码长度在6到32之间");if(e.password_confirm.length<6||e.password_confirm.length>32)return m.msgError("密码长度在6到32之间")}const{work_wechat_userid:s,...o}=e;await io(o),f.getUserInfo()},N=async()=>{var s;await((s=U.value)==null?void 0:s.validate()),M()},R=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",z=async()=>{k.value=!0,b.value=!0,window.WwLogin||await new Promise((o,c)=>{const a=document.createElement("script");a.src="https://wwcdn.weixin.qq.com/node/wework/wwopen/js/wwLogin-1.2.7.js",a.onload=()=>o(),a.onerror=()=>c(new Error("加载企业微信JS失败")),document.head.appendChild(a)}),await D(),b.value=!1,await D(),l==null||l(),l=po({pathIncludes:"user/setting",lockKey:g,wxBindState:"bind_wxwork",onCode:o=>I(o)});const s=encodeURIComponent(R());new window.WwLogin({id:"bind_wxwork_qrcode",appid:y.value.corp_id,agentid:y.value.agent_id,redirect_uri:s,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},F=()=>{b.value=!1,l==null||l(),l=null},O=async()=>{await m.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await no(),e.work_wechat_userid="",v.success("解绑成功"),f.getUserInfo()}catch(s){v.error((s==null?void 0:s.msg)||"解绑失败")}},I=async s=>{try{const o=await lo({code:s});e.work_wechat_userid=(o==null?void 0:o.work_wechat_userid)||"",k.value=!1,v.success("企业微信绑定成功"),f.getUserInfo()}catch(o){v.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"绑定失败")}finally{const o=window.location.pathname;window.history.replaceState({},"",o)}};return co(async()=>{try{const i=await ao();i!=null&&i.enabled&&(E.value=!0,y.value={corp_id:i.corp_id,agent_id:i.agent_id})}catch{}const s=new URLSearchParams(window.location.search),o=s.get("code"),c=s.get("state"),a=s.get("bind_wxwork");if(o&&(c==="bind_wxwork"||a==="1")){if(sessionStorage.getItem(g)===o)return;sessionStorage.setItem(g,o),I(o).finally(()=>{sessionStorage.removeItem(g)})}}),S(),uo(()=>{l==null||l(),l=null}),(s,o)=>{const c=oo,a=A,i=H,h=Q,C=G,x=X,T=j,J=Z,K=$,P=Y;return p(),u("div",go,[t(J,{class:"!border-none",shadow:"never"},{default:r(()=>[t(T,{ref_key:"formRef",ref:U,class:"ls-form",model:e,rules:L,"label-width":"100px"},{default:r(()=>[t(a,{label:"头像:",prop:"avatar"},{default:r(()=>[t(c,{modelValue:e.avatar,"onUpdate:modelValue":o[0]||(o[0]=n=>e.avatar=n),limit:1},null,8,["modelValue"])]),_:1}),t(a,{label:"账号:",prop:"account"},{default:r(()=>[d("div",ko,[t(i,{modelValue:e.account,"onUpdate:modelValue":o[1]||(o[1]=n=>e.account=n),disabled:""},null,8,["modelValue"])])]),_:1}),t(a,{label:"名称:",prop:"name"},{default:r(()=>[d("div",bo,[t(i,{modelValue:e.name,"onUpdate:modelValue":o[2]||(o[2]=n=>e.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),E.value?(p(),_o(a,{key:0,label:"企业微信:"},{default:r(()=>[d("div",vo,[e.work_wechat_userid?(p(),u(B,{key:0},[t(C,{type:"success",size:"large"},{default:r(()=>[t(h,{class:"mr-1"},{default:r(()=>[t(V(eo))]),_:1}),_(" 已绑定("+fo(e.work_wechat_userid)+") ",1)]),_:1}),t(x,{type:"danger",link:"",onClick:O},{default:r(()=>[...o[7]||(o[7]=[_("解绑",-1)])]),_:1})],64)):(p(),u(B,{key:1},[t(C,{type:"info",size:"large"},{default:r(()=>[...o[8]||(o[8]=[_("未绑定",-1)])]),_:1}),t(x,{type:"primary",onClick:z},{default:r(()=>[t(h,{class:"mr-1"},{default:r(()=>[t(V(to))]),_:1}),o[9]||(o[9]=_(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):wo("",!0),t(a,{label:"当前密码:",prop:"password_old"},{default:r(()=>[d("div",yo,[t(i,{modelValue:e.password_old,"onUpdate:modelValue":o[3]||(o[3]=n=>e.password_old=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"新的密码:",prop:"password"},{default:r(()=>[d("div",ho,[t(i,{modelValue:e.password,"onUpdate:modelValue":o[4]||(o[4]=n=>e.password=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1}),t(a,{label:"确定密码:",prop:"password_confirm"},{default:r(()=>[d("div",xo,[t(i,{modelValue:e.password_confirm,"onUpdate:modelValue":o[5]||(o[5]=n=>e.password_confirm=n),modelModifiers:{trim:!0},placeholder:"修改密码时必填, 不修改密码时留空",type:"password","show-password":""},null,8,["modelValue"])])]),_:1})]),_:1},8,["model","rules"])]),_:1}),t(K,null,{default:r(()=>[t(x,{type:"primary",onClick:N},{default:r(()=>[...o[10]||(o[10]=[_("保存",-1)])]),_:1})]),_:1}),t(P,{modelValue:k.value,"onUpdate:modelValue":o[6]||(o[6]=n=>k.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:F},{default:r(()=>[d("div",Vo,[b.value?(p(),u("div",Uo,[t(h,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:r(()=>[t(V(so))]),_:1}),o[11]||(o[11]=d("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(p(),u("div",Eo))]),o[12]||(o[12]=d("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),Be=mo(Co,[["__scopeId","data-v-e7afb159"]]);export{Be as default};
|