| 1 |
- var M=(e,a,l)=>new Promise((B,o)=>{var I=i=>{try{n(l.next(i))}catch(d){o(d)}},v=i=>{try{n(l.throw(i))}catch(d){o(d)}},n=i=>i.done?B(i.value):Promise.resolve(i.value).then(I,v);n((l=l.apply(e,a)).next())});import{d as R,f as p,r as x,e as ee,u,ag as g,aB as y,ar as E,aE as _,aD as s,k as C,ah as L,aH as w,as as A,aq as z,F as N,aC as U,G as k,au as q,at as h}from"./vue-vendor-Be68asQ6.js";import{a3 as ae}from"./antd-vue-vendor-DcqS7Wvq.js";import{B as te}from"./index-CETWS1o0.js";import{ah as se,ac as ne,j as oe,u as re,a as ue}from"./index-BFfnEkVs.js";import"./BasicModal-D4gc2R81.js";import"./useTimeout-Ca5eqGu-.js";import"./vxe-table-vendor-DHF2TRpV.js";import"./useWindowSizeFn-BTSGGcie.js";import"./index-BZ_MXCtW.js";import"./index-BIPzXG41.js";import"./index-CXEQnmRq.js";import"./useIntersectionObserver-Bl62RIZ4.js";const le=R({name:"loginSelect",components:{Avatar:ae,BasicModal:te},emits:["success","register"],setup(e,{emit:a}){const l=se(),{notification:B}=re(),o=p(!1),I=p([]),v=p(""),n=p(!1),i=p([]),d=p(""),b=p(!1),S=p(""),T=p(),f=x({orgCode:void 0,tenantId:null}),r={maskClosable:!1,closable:!1,canFullscreen:!1,width:"500px",minHeight:20,maxHeight:20},[H,{closeModal:V}]=ne(),$=ee(()=>{if(u(n)&&u(o))return"请选择租户和部门";if(u(n)&&!u(o))return"请选择部门";if(!u(n)&&u(o))return"请选择租户"}),P=p({tenantId:[{required:u(o),type:"number",message:"请选择租户",trigger:"change"}],orgCode:[{required:u(n),message:"请选择部门",trigger:"change"}]}),j={labelCol:{span:4},wrapperCol:{span:18}};function G(t){var F,c;if((F=t.userInfo)!=null&&F.orgCode&&((c=t.userInfo)==null?void 0:c.orgCode)!==""){n.value=!1;return}let m=t.multi_depart;m==0?(B.warn({message:"提示",description:"您尚未归属部门,请确认账号信息",duration:3}),n.value=!1):m==2?(n.value=!0,i.value=t.departs):n.value=!1}function J(t){var F,c;if((F=t.userInfo)!=null&&F.loginTenantId&&((c=t.userInfo)==null?void 0:c.loginTenantId)!==0){o.value=!1;return}let m=t.tenantList;Array.isArray(m)&&(m.length===0?(o.value=!1,l.setTenant(f.tenantId)):m.length===1?(f.tenantId=m[0].id,o.value=!1,l.setTenant(f.tenantId)):(o.value=!0,I.value=m))}function K(){if(u(o)&&!f.tenantId)return v.value="error",!1;if(u(n)&&!f.orgCode)return d.value="error",!1;T.value.validate().then(()=>{O().then(()=>{l.setTenant(f.tenantId),a("success")}).catch(t=>{}).finally(()=>{W()})}).catch(t=>{})}function O(){return new Promise((t,m)=>{if(!u(n)&&!u(o))t();else{let F={orgCode:f.orgCode,loginTenantId:f.tenantId,username:u(S)};oe.put({url:"/sys/selectDepart",params:F}).then(c=>{c.userInfo?(l.setUserInfo(c.userInfo),t()):(Q(c),l.logout(),m())})}})}function Q(t){B.error({message:"登录失败",description:((t.response||{}).data||{}).message||t.message||"请求出现错误,请稍后再试",duration:4})}function W(){V(),D()}function X(t){return M(this,null,function*(){t&&(S.value=l.username,yield D(),yield G(t),yield J(t),!u(n)&&!u(o)?a("success",l.getUserInfo):b.value=!0),t.isLogin=!1,l.setLoginInfo(t)})}function D(){I.value=[],v.value="",i.value=[],d.value=""}function Y(t){v.value=""}function Z(t){d.value=""}return{registerModal:H,visible:b,tenantList:I,isMultiTenant:o,validate_status:v,isMultiDepart:n,departList:i,validate_status1:d,formState:f,rules:P,layout:j,formRef:T,currTitle:$,config:r,handleTenantChange:Y,handleDepartChange:Z,show:X,handleSubmit:K}}});function ie(e,a,l,B,o,I){const v=g("a-avatar"),n=g("a-tooltip"),i=g("a-select-option"),d=g("a-select"),b=g("a-form-item"),S=g("a-form"),T=g("a-button"),f=g("BasicModal");return E(),y(f,_(e.config,{onRegister:e.registerModal,title:e.currTitle,wrapClassName:"loginSelectModal",visible:e.visible,"onUpdate:visible":a[2]||(a[2]=r=>e.visible=r)}),{footer:s(()=>[C(T,{onClick:e.handleSubmit,type:"primary"},{default:s(()=>a[9]||(a[9]=[k("确认")])),_:1},8,["onClick"])]),default:s(()=>[C(S,_({ref:"formRef",model:e.formState,rules:e.rules},e.layout,{colon:!1,class:"loginSelectForm"}),{default:s(()=>[e.isMultiTenant?(E(),y(b,{key:0,name:"tenantId","validate-status":e.validate_status},w({label:s(()=>[C(n,{placement:"topLeft"},{title:s(()=>a[3]||(a[3]=[h("span",null,"您隶属于多租户,请选择登录租户",-1)])),default:s(()=>[C(v,{style:{"background-color":"#87d068"},size:30},{default:s(()=>a[4]||(a[4]=[k(" 租户 ")])),_:1})]),_:1})]),default:s(()=>[C(d,{value:e.formState.tenantId,"onUpdate:value":a[0]||(a[0]=r=>e.formState.tenantId=r),onChange:e.handleTenantChange,placeholder:"请选择登录租户",class:A({"valid-error":e.validate_status=="error"})},{default:s(()=>[(E(!0),z(N,null,U(e.tenantList,r=>(E(),y(i,{key:r.id,value:r.id},{default:s(()=>[k(q(r.name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","onChange","class"])]),_:2},[e.validate_status=="error"?{name:"extra",fn:s(()=>[a[5]||(a[5]=h("span",{style:{color:"#ed6f6f"}},"请选择登录租户",-1))]),key:"0"}:void 0]),1032,["validate-status"])):L("",!0),e.isMultiDepart?(E(),y(b,{key:1,"validate-status":e.validate_status1,colon:!1},w({label:s(()=>[C(n,{placement:"topLeft"},{title:s(()=>a[6]||(a[6]=[h("span",null,"您隶属于多部门,请选择登录部门",-1)])),default:s(()=>[C(v,{style:{"background-color":"rgb(104, 208, 203)"},size:30},{default:s(()=>a[7]||(a[7]=[k(" 部门 ")])),_:1})]),_:1})]),default:s(()=>[C(d,{value:e.formState.orgCode,"onUpdate:value":a[1]||(a[1]=r=>e.formState.orgCode=r),onChange:e.handleDepartChange,placeholder:"请选择登录部门",class:A({"valid-error":e.validate_status1=="error"})},{default:s(()=>[(E(!0),z(N,null,U(e.departList,r=>(E(),y(i,{key:r.orgCode,value:r.orgCode},{default:s(()=>[k(q(r.departName),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value","onChange","class"])]),_:2},[e.validate_status1=="error"?{name:"extra",fn:s(()=>[a[8]||(a[8]=h("span",{style:{color:"#ed6f6f"}},"请选择登录部门",-1))]),key:"0"}:void 0]),1032,["validate-status"])):L("",!0)]),_:1},16,["model","rules"])]),_:1},16,["onRegister","title","visible"])}const ye=ue(le,[["render",ie],["__scopeId","data-v-456d5286"]]);export{ye as default};
|