2 lines
8.2 KiB
JavaScript
2 lines
8.2 KiB
JavaScript
import{G as j,D as G,F as H,a2 as Q,d as O,i as A,J as K,T as X,E as g}from"./element-plus-BHB3EH-4.js";import{_ as Y}from"./index-ChxaV2Z3.js";import{_ as Z}from"./picker-h3OcriAe.js";import{d as $,Q as oo,l as eo}from"./@element-plus/icons-vue-BBEpNsqa.js";import{a as to,g as ro,f as d,H as so,I as ao,J as no,d as io}from"./index-K7fNdg1F.js";import{f as B,b as lo,ak as m,I as c,a as t,aN as s,J as l,G as mo,F as U,O as u,H as po,n as C}from"./@vue/runtime-core-D7eUgySO.js";import{y as h,o as _,r as I}from"./@vue/reactivity-maRK_BBd.js";import{Q as co}from"./@vue/shared-C75lBtbe.js";import"./@vue/runtime-dom-DVgibYoU.js";import"./nprogress-BpICrWuH.js";import"./lodash-es-BADexyn7.js";import"./@popperjs/core-C5az9QE8.js";import"./dayjs-BOuxpn4j.js";import"./@ctrl/tinycolor-BuyEbX8F.js";import"./async-validator-CFA_igpM.js";import"./normalize-wheel-es-BQoi3Ox2.js";import"./index-MLxjSji2.js";import"./index-BIfb9B4L.js";import"./index.vue_vue_type_script_setup_true_lang-DwLVXLxz.js";import"./index-Cf-7D1oQ.js";import"./index-BLwxYRm_.js";import"./index.vue_vue_type_script_setup_true_lang-d-nyf38m.js";import"./@vueuse/core-DCeljLnb.js";import"./@vueuse/shared-B444yVpD.js";import"./usePaging-CPrBIeJ2.js";import"./vuedraggable-DoxySVw6.js";import"./vue-BWLcg9DT.js";import"./@vue/compiler-dom-Ddn9Zm90.js";import"./@vue/compiler-core-KYniu4wC.js";import"./sortablejs-BkVvOzsn.js";import"./jspdf-G5PuBoTt.js";import"./@babel/runtime-BanGtE2-.js";import"./fflate-_ayOYiT1.js";import"./vue-router-CJXI7XhX.js";import"./pinia-BhomUS5m.js";import"./axios-C80V62Fs.js";import"./lodash-Ct9_CZb9.js";import"./css-color-function-BVb6B1lA.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-ChYu0NfX.js";import"./clipboard-Bmfw2kIN.js";import"./echarts-DYKKs4Al.js";import"./tslib-BDyQ-Jie.js";import"./zrender-CTTuYiLF.js";import"./highlight.js-jaPyNblr.js";import"./@highlightjs/vue-plugin-ASXrwou_.js";const uo={class:"user-setting"},_o={class:"w-80"},wo={class:"w-80"},fo={class:"flex items-center gap-3"},go={class:"w-80"},ko={class:"w-80"},bo={class:"w-80"},vo={class:"bind-qrcode-wrap"},yo={key:0,class:"text-center py-8"},ho={key:1,id:"bind_wxwork_qrcode",class:"bind-qrcode"},Vo=B({name:"userSetting"}),xo=B({...Vo,setup(Eo){const V=_(),w=to(),e=I({avatar:"",account:"",name:"",work_wechat_userid:"",password_old:"",password:"",password_confirm:""}),W=I({avatar:[{required:!0,message:"头像不能为空",trigger:["change"]}],name:[{required:!0,message:"请输入名称",trigger:["blur"]}]}),x=_(!1),k=_({corp_id:"",agent_id:""}),b=_(!1),f=_(!1),q=async()=>{const r=w.userInfo;for(const o in e)r[o]!==void 0&&(e[o]=r[o])},D=async()=>{if(e.password_old||e.password||e.password_confirm){if(!e.password_old)return d.msgError("请输入当前密码");if(!e.password)return d.msgError("请输入新的密码");if(!e.password_confirm)return d.msgError("请输入确定密码");if(e.password_confirm!=e.password)return d.msgError("两次输入的密码不一样")}if(e.password_old&&e.password&&e.password_confirm){if(e.password_old.length<6||e.password_old.length>32)return d.msgError("密码长度在6到32之间");if(e.password.length<6||e.password.length>32)return d.msgError("密码长度在6到32之间");if(e.password_confirm.length<6||e.password_confirm.length>32)return d.msgError("密码长度在6到32之间")}const{work_wechat_userid:r,...o}=e;await no(o),w.getUserInfo()},S=async()=>{var r;await((r=V.value)==null?void 0:r.validate()),D()},F=()=>window.location.origin+window.location.pathname+"?bind_wxwork=1",L=async()=>{b.value=!0,f.value=!0,window.WwLogin||await new Promise((o,p)=>{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=()=>p(new Error("加载企业微信JS失败")),document.head.appendChild(a)}),await C(),f.value=!1,await C();const r=encodeURIComponent(F());new window.WwLogin({id:"bind_wxwork_qrcode",appid:k.value.corp_id,agentid:k.value.agent_id,redirect_uri:r,lang:"zh",state:"bind_wxwork",href:"",self_redirect:!1})},M=()=>{f.value=!1},N=async()=>{await d.confirm("确定要解绑企业微信吗?解绑后将无法使用企业微信扫码登录。");try{await so(),e.work_wechat_userid="",g.success("解绑成功"),w.getUserInfo()}catch(r){g.error((r==null?void 0:r.msg)||"解绑失败")}},R=async r=>{try{const o=await ao({code:r});e.work_wechat_userid=(o==null?void 0:o.work_wechat_userid)||"",g.success("企业微信绑定成功"),w.getUserInfo()}catch(o){g.error((o==null?void 0:o.msg)||(o==null?void 0:o.message)||"绑定失败")}finally{const o=window.location.pathname;window.history.replaceState({},"",o)}};return lo(async()=>{try{const i=await ro();i!=null&&i.enabled&&(x.value=!0,k.value={corp_id:i.corp_id,agent_id:i.agent_id})}catch{}const r=new URLSearchParams(window.location.search),o=r.get("code"),p=r.get("state"),a=r.get("bind_wxwork");o&&(p==="bind_wxwork"||a==="1")&&R(o)}),q(),(r,o)=>{const p=Z,a=G,i=H,v=O,E=Q,y=A,z=j,J=K,T=Y,P=X;return m(),c("div",uo,[t(J,{class:"!border-none",shadow:"never"},{default:s(()=>[t(z,{ref_key:"formRef",ref:V,class:"ls-form",model:e,rules:W,"label-width":"100px"},{default:s(()=>[t(a,{label:"头像:",prop:"avatar"},{default:s(()=>[t(p,{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:s(()=>[l("div",_o,[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:s(()=>[l("div",wo,[t(i,{modelValue:e.name,"onUpdate:modelValue":o[2]||(o[2]=n=>e.name=n),placeholder:"请输入名称"},null,8,["modelValue"])])]),_:1}),x.value?(m(),mo(a,{key:0,label:"企业微信:"},{default:s(()=>[l("div",fo,[e.work_wechat_userid?(m(),c(U,{key:0},[t(E,{type:"success",size:"large"},{default:s(()=>[t(v,{class:"mr-1"},{default:s(()=>[t(h($))]),_:1}),u(" 已绑定("+co(e.work_wechat_userid)+") ",1)]),_:1}),t(y,{type:"danger",link:"",onClick:N},{default:s(()=>[...o[7]||(o[7]=[u("解绑",-1)])]),_:1})],64)):(m(),c(U,{key:1},[t(E,{type:"info",size:"large"},{default:s(()=>[...o[8]||(o[8]=[u("未绑定",-1)])]),_:1}),t(y,{type:"primary",onClick:L},{default:s(()=>[t(v,{class:"mr-1"},{default:s(()=>[t(h(oo))]),_:1}),o[9]||(o[9]=u(" 扫码绑定 ",-1))]),_:1})],64))])]),_:1})):po("",!0),t(a,{label:"当前密码:",prop:"password_old"},{default:s(()=>[l("div",go,[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:s(()=>[l("div",ko,[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:s(()=>[l("div",bo,[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(T,null,{default:s(()=>[t(y,{type:"primary",onClick:S},{default:s(()=>[...o[10]||(o[10]=[u("保存",-1)])]),_:1})]),_:1}),t(P,{modelValue:b.value,"onUpdate:modelValue":o[6]||(o[6]=n=>b.value=n),title:"扫码绑定企业微信",width:"440px","close-on-click-modal":!1,onClose:M},{default:s(()=>[l("div",vo,[f.value?(m(),c("div",yo,[t(v,{class:"is-loading",size:36,color:"var(--el-color-primary)"},{default:s(()=>[t(h(eo))]),_:1}),o[11]||(o[11]=l("div",{class:"mt-3 text-gray-400"},"加载企业微信扫码...",-1))])):(m(),c("div",ho))]),o[12]||(o[12]=l("div",{class:"text-center text-sm text-gray-400 mt-2 mb-2"}," 请使用企业微信扫描二维码完成绑定 ",-1))]),_:1},8,["modelValue"])])}}}),xe=io(xo,[["__scopeId","data-v-9c2f43b2"]]);export{xe as default};
|