super.06967fa3.js 2.4 KB

1
  1. import{_ as F,d as I,a5 as q,a6 as B,F as d,a7 as H,G as L,a8 as O,y as m,o as c,O as f,L as w,V as g,c as _,N as D,M as N,z as T,Z as R,a9 as U,az as S}from"./index.0924a6c3.js";const z={key:1,class:"super-loading"},P=R(" \u52A0\u8F7D\u4E2D "),j={key:2,class:"super-no-more"},G=I({__name:"super",props:{noAll:{type:Boolean,required:!1},noSet:{type:Boolean,required:!1},code:{type:String,required:!1,default:""}},emits:["change","update:code"],setup(v,{emit:M}){const i=v,{setCurrentCompany:k}=q(),h=B(),y=d(i.code),x=d(null),r=d([]),e=H({loading:!1,noMore:!1,name:"",count:0,page:1});let s=null;const C=U(b,500);async function E(a,o){e.name=a,e.page=1,e.noMore=!1;const{data:t,message:l,code:u}=await S({name:e.name,page:e.page,companyNo:o});h({code:u,message:l,handler:()=>{r.value=t.list,e.count=t.count,e.loading=!1;const n=Math.ceil(e.count/10);e.noMore=n<=1}})}function V(a){const o=r.value.find(({code:t})=>t===a);i.noSet||k(o),M("change",o)}async function b(){const a=s.clientHeight,o=s.scrollTop,t=s.scrollHeight;if(a+o>=t&&!e.noMore){e.page++,e.loading=!0;const{data:l,message:u,code:n}=await S({name:e.name,page:e.page}),A=p=>{r.value=[...r.value,...p]};h({code:n,message:u,handler:()=>{e.count=l.count;const p=Math.ceil(e.count/10);if(e.page>p){e.noMore=!0,e.loading=!1;return}A(l.list)}})}}return L(()=>{setTimeout(()=>{var o;const a=document.querySelector(".super-item");!a||(s=(o=a.parentElement)==null?void 0:o.parentElement,s&&s.addEventListener("scroll",C,!1))},1e3)}),O(()=>{e.loading=!1,e.noMore=!1,e.name="",e.page=1,s&&s.removeEventListener("scroll",C)}),E(void 0,i.code),(a,o)=>{const t=m("ElOption"),l=m("IconifyIconOffline"),u=m("ElSelect");return c(),f(u,{filterable:"",remote:"",modelValue:y.value,"onUpdate:modelValue":o[0]||(o[0]=n=>y.value=n),"remote-method":E,onChange:V,style:{width:"450px"},ref_key:"selectRef",ref:x},{default:w(()=>[v.noAll?g("v-if",!0):(c(),f(t,{key:0,label:"\u6240\u6709\u516C\u53F8",value:""})),(c(!0),_(N,null,D(r.value,n=>(c(),f(t,{class:"super-item",key:n.code,value:n.code,label:n.code+" / "+n.name},null,8,["value","label"]))),128)),e.loading?(c(),_("p",z,[T(l,{class:"animate-spin",icon:"Loading"}),P])):g("v-if",!0),e.noMore?(c(),_("p",j,"\u6CA1\u6709\u66F4\u591A\u6570\u636E\u4E86...")):g("v-if",!0)]),_:1},8,["modelValue"])}}});var Z=F(G,[["__scopeId","data-v-894137a8"],["__file","C:/Users/63107/Desktop/projects/accout-vue3-ui/src/layout/components/company/super.vue"]]);export{Z as S};