LoginForm-46b9aa6b.js
4.57 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
var y=(S,i,u)=>new Promise((r,f)=>{var h=a=>{try{g(u.next(a))}catch(d){f(d)}},C=a=>{try{g(u.throw(a))}catch(d){f(d)}},g=a=>a.done?r(a.value):Promise.resolve(a.value).then(h,C);g((u=u.apply(S,i)).next())});import{d as z,k as p,r as U,o as M,e as P,u as e,_ as O,$ as V,v as B,A as I,f as o,aa as l,a0 as $,E as b,a1 as E,ac as n,ap as G,F as K}from"./vue-5a35c3f5.js";import{u as W,a as j,b as q,L as R,c as Q}from"./LoginFormTitle-353f1219.js";import{c as H,h as J,ab as X,a as Y,_ as Z}from"./index.js";import{ay as N,a1 as x,a5 as T}from"./antd-6b087f69.js";const ee=["src"],se=z({__name:"LoginForm",setup(S){const i=N.Item,u=x.Password,{t:r}=H(),{notification:f,createErrorModal:h}=Y();J("login");const C=X(),{setLoginState:g,getLoginState:a}=W(),{getFormRules:d}=j(),w=p(),v=p(!1);p(!1);const k=p(""),F=p(""),c=U({userName:"",password:"",imgCaptchaCode:"",imgCaptchaUuid:""}),{validForm:D}=q(w);M(()=>y(this,null,function*(){L()}));const L=()=>y(this,null,function*(){const s=yield C.getImageCaptcha();k.value=s==null?void 0:s.img,F.value=s==null?void 0:s.uuid}),_=P(()=>e(a)===R.LOGIN);function A(){return y(this,null,function*(){const s=yield D();if(s)try{v.value=!0;const t=yield C.login({password:s.password,userName:s.userName,imgCaptchaCode:s.imgCaptchaCode,imgCaptchaUuid:F.value,mode:"none"});t&&f.success({message:r("sys.login.loginSuccessTitle"),description:`${r("sys.login.loginSuccessDesc")}: ${t.nickName}`,duration:3})}catch(t){}finally{v.value=!1}})}return(s,t)=>(O(),V(K,null,[B(o(Q,{class:"enter-x"},null,512),[[I,_.value]]),B(o(e(N),{class:"p-4 enter-x",model:c,rules:e(d),ref_key:"formRef",ref:w,onKeypress:G(A,["enter"])},{default:l(()=>[o(e(i),{name:"userName",class:"enter-x"},{default:l(()=>[o(e(x),{size:"large",visibilityToggle:"",value:c.userName,"onUpdate:value":t[0]||(t[0]=m=>c.userName=m),placeholder:"手机号",class:"fix-auto-fill"},null,8,["value"])]),_:1}),o(e(i),{name:"password",class:"enter-x"},{default:l(()=>[o(e(u),{size:"large",visibilityToggle:"",value:c.password,"onUpdate:value":t[1]||(t[1]=m=>c.password=m),placeholder:e(r)("sys.login.password")},null,8,["value","placeholder"])]),_:1}),o(e(i),{name:"imgCaptchaCode",class:"enter-x"},{default:l(()=>[o(e(x),{size:"large",visibilityToggle:"",value:c.imgCaptchaCode,"onUpdate:value":t[2]||(t[2]=m=>c.imgCaptchaCode=m),placeholder:"请输入验证码"},null,8,["value"])]),_:1}),o(e(i),{name:"imgCaptchaCode",class:"enter-x",label:"验证码"},{default:l(()=>[$("img",{src:k.value,class:"cursor-pointer mr-40",onClick:L},null,8,ee),o(e(T),{type:"link",size:"small",onClick:t[3]||(t[3]=m=>e(g)(e(R).RESET_PASSWORD))},{default:l(()=>[b(E(e(r)("sys.login.forgetPassword")),1)]),_:1})]),_:1}),n(` <ARow class="enter-x">
<ACol :span="12">
<FormItem>
<Checkbox v-model:checked="rememberMe" size="small">
{{ t('sys.login.rememberMe') }}
</Checkbox>
</FormItem>
</ACol>
<ACol :span="12">
<FormItem :style="{ 'text-align': 'right' }">
<Button type="link" size="small" @click="setLoginState(LoginStateEnum.RESET_PASSWORD)">
{{ t('sys.login.forgetPassword') }}
</Button>
</FormItem>
</ACol>
</ARow> `),o(e(i),{class:"enter-x"},{default:l(()=>[o(e(T),{type:"primary",size:"large",block:"",onClick:A,loading:v.value},{default:l(()=>[b(E(e(r)("sys.login.loginButton")),1)]),_:1},8,["loading"]),n(` <Button size="large" class="mt-4 enter-x" block @click="handleRegister">
{{ t('sys.login.registerButton') }}
</Button> `)]),_:1}),n(' <ARow class="enter-x"> '),n(` <ACol :md="8" :xs="24">
<Button block @click="setLoginState(LoginStateEnum.MOBILE)">
{{ t('sys.login.mobileSignInFormTitle') }}
</Button>
</ACol> `),n(` <ACol :md="8" :xs="24" class="!my-2 !md:my-0 xs:mx-0 md:mx-2">
<Button block @click="setLoginState(LoginStateEnum.QR_CODE)">
{{ t('sys.login.qrSignInFormTitle') }}
</Button>
</ACol> `),n(` <ACol :md="6" :xs="24">
<Button block @click="setLoginState(LoginStateEnum.REGISTER)">
{{ t('sys.login.registerButton') }}
</Button>
</ACol> `),n(" </ARow> "),n(`
<Divider class="enter-x">{{ t('sys.login.otherSignIn') }}</Divider>
<div class="flex justify-evenly enter-x" :class="\`\${prefixCls}-sign-in-way\`">
<GithubFilled />
<WechatFilled />
<AlipayCircleFilled />
<GoogleCircleFilled />
<TwitterCircleFilled />
</div> `)]),_:1},8,["model","rules","onKeypress"]),[[I,_.value]])],64))}}),ie=Z(se,[["__file","E:/allcode/erp/test7901/order-erp-front/src/views/sys/login/LoginForm.vue"]]);export{ie as default};