Files
qhmes/web-dist/js/useSelectBiz-C58pZLPQ.js
2026-06-16 18:19:57 +08:00

2 lines
2.1 KiB
Java

var h=(i,a,c)=>new Promise((v,u)=>{var d=l=>{try{e(c.next(l))}catch(r){u(r)}},g=l=>{try{e(c.throw(l))}catch(r){u(r)}},e=l=>l.done?v(l.value):Promise.resolve(l.value).then(d,g);e((c=c.apply(i,a)).next())});import{s as k,w as D}from"./index-X7Y8jykP.js";import{h as O,r as f,S as y,u as w,b as V}from"./vue-vendor-DNhG1Cve.js";function I(i,a,c){const v=y("selectOptions",f([])),u=y("selectValues",V({value:[],change:!1})),d=y("loadingEcho",f(!1)),g=f([]),e=f([]),l=f([]),r=k();let S=!0;O(u,()=>{var t;if(u.change==!1&&!D(u.value)){let n={isMultiTranslate:"true",pageSize:(t=u.value)==null?void 0:t.length};n[a.rowKey]=u.value.join(","),d.value=S,S=!1,m(n,!0).then().finally(()=>{d.value=S})}e.value=[...u.value]},{immediate:!0});function K(t,n){return h(this,null,function*(){if(e.value=t,a.showSelected&&w(e).length!==w(n).length){let{records:o}=yield i({code:w(e).join(","),pageSize:w(e).length});l.value=o}else l.value=n})}const b={type:a.isRadioSelection?"radio":"checkbox",columnWidth:20,selectedRowKeys:e,onChange:K,preserveSelectedRowKeys:!0},C={dataIndex:"index",width:50};function m(t,n){return h(this,null,function*(){let{records:o}=yield i(t);if(g.value=o,n){let s=[];o.forEach(x=>{s.push({label:x[a.labelKey],value:x[a.rowKey]})}),v.value=s}})}function E(){return h(this,null,function*(){let{records:t}=yield i({code:u.value.join(","),pageSize:u.value.length});e.value=[...u.value],l.value=t})}function R(t){return h(this,null,function*(){t?(e.value=[...u.value],a.showSelected&&E()):c==null||c("close")})}function j(t){let n=[],o=[];if(l.value.forEach(s=>{n.push({label:s[a.labelKey],value:s[a.rowKey]})}),e.value.forEach(s=>{o.push(s)}),v.value=n,a.maxSelectCount&&o.length>a.maxSelectCount)return r.createMessage.warning(`最多只能选择${a.maxSelectCount}条数据`),!1;t&&t(n,o)}function z(t){e.value=e.value.filter(n=>n!=t[a.rowKey]),l.value=l.value.filter(n=>n[a.rowKey]!==t[a.rowKey])}function M(){e.value=[],l.value=[]}return[{onSelectChange:K,getDataSource:m,visibleChange:R,selectOptions:v,selectValues:u,rowSelection:b,indexColumnProps:C,checkedKeys:e,selectRows:l,dataSource:g,getSelectResult:j,handleDeleteSelected:z,reset:M}]}export{I as u};