JSelectDept-DT6g7V5M.js 7.4 KB

1
  1. var se=Object.defineProperty,ue=Object.defineProperties;var ie=Object.getOwnPropertyDescriptors;var U=Object.getOwnPropertySymbols;var ce=Object.prototype.hasOwnProperty,re=Object.prototype.propertyIsEnumerable;var Q=(e,t,n)=>t in e?se(e,t,{enumerable:!0,configurable:!0,writable:!0,value:n}):e[t]=n,W=(e,t)=>{for(var n in t||(t={}))ce.call(t,n)&&Q(e,n,t[n]);if(U)for(var n of U(t))re.call(t,n)&&Q(e,n,t[n]);return e},X=(e,t)=>ue(e,ie(t));var _=(e,t,n)=>new Promise((w,m)=>{var v=a=>{try{s(n.next(a))}catch(u){m(u)}},i=a=>{try{s(n.throw(a))}catch(u){m(u)}},s=a=>a.done?w(a.value):Promise.resolve(a.value).then(v,i);s((n=n.apply(e,t)).next())});import{c as N,f as h,r as te,e as de,w as P,u as E,n as Y,d as le,ag as S,aq as ne,ar as j,k as C,aE as J,aD as k,G as A,aB as Z,ah as x,p as z,h as fe,J as ee}from"./vue-vendor-Be68asQ6.js";import{B as he}from"./index-CETWS1o0.js";import{aw as me,H as L,ac as pe,a9 as ae,ax as ve,af as ge,a as oe,ad as ye}from"./index-BFfnEkVs.js";import{t as ke}from"./props-BPxWJPuD.js";import{_ as Ce}from"./index-BNFwynfr.js";import{o as Se,h as G}from"./antd-vue-vendor-DcqS7Wvq.js";import{J as we}from"./JSelectBiz-Be8KsC5j.js";function De(e,t,n,w,m){const v=N("selectOptions",h([])),i=N("selectValues",te({})),s=N("loadingEcho",h(!1)),a=h([]),u=h([]),d=h([]),g=h(!1),T=de(()=>w.multiple?n.checkStrictly:!0);let y=!0;P(i,({value:l})=>{l&&g.value==!1&&l.length>0&&(s.value=y,y=!1,R(null,l.join(",")).finally(()=>{s.value=!1}))},{immediate:!0});function K(){const l=E(e);if(!l)throw new Error("tree is null!");return l}function V(){Y(()=>{n.defaultExpandLevel&&n.defaultExpandLevel>0&&K().filterByLevel(n.defaultExpandLevel),u.value=i.value}).then()}function $(l,o){if(n.checkable==!1){u.value=n.checkStrictly?l.checked:l;const{selectedNodes:r}=o;let f=[];r.forEach(p=>{f.push(p)}),d.value=f}}function M(l,o){if(n.checkable==!0){if(!w.multiple){if(o.checked){u.value=[o.node.eventKey];let p=n.rowKey,I=o.checkedNodes.find(b=>b[p]===o.node.eventKey);d.value=[I]}else u.value=[],d.value=[];return}u.value=n.checkStrictly?l.checked:l;const{checkedNodes:r}=o;let f=[];r.forEach(p=>{f.push(p)}),d.value=f}}function B(l){return _(this,null,function*(){K().checkAll(l),yield Y(),u.value=K().getCheckedKeys(),l?c():d.value=[]})}function c(){let l="";E(u).length>0&&(l=u.value.join(",")),t({ids:l}).then(o=>{d.value=o})}function D(l){K().expandAll(l)}function R(l,o){return _(this,null,function*(){let r={},f="";l&&(f=l.eventKey,r.pid=l.value),o&&(f="",r.ids=o);let p=yield t(r),I=p;if(n.serverTreeData||(p=me(p,n,f),p.length==0&&l&&H(f,a.value)),g.value==!0){if(!l)a.value=p;else return new Promise(b=>{if(!l.children){b();return}const O=E(e);O&&(O.updateNodeByKey(l.eventKey,{children:p}),O.setExpandedKeys([l.eventKey,...O.getExpandedKeys()])),b()});V()}else{const b=[];I.forEach(O=>{b.push({label:O[n.labelKey],value:O[n.rowKey]})}),v.value=b}})}function H(l,o){if(o&&o.length>0)for(let r of o)if(r.key==l){r.child||(r.isLeaf=!0);break}else H(l,r.children)}function F(l){const o=[],r=[];d.value.forEach(f=>{o.push({label:f[n.labelKey],value:f[n.rowKey]})}),u.value.forEach(f=>{r.push(f)}),v.value=o,l&&l(o,r)}function q(l){return _(this,null,function*(){l?(g.value=!0,yield R(null,null)):(g.value=!1,m==null||m("close"))})}return[{visibleChange:q,selectOptions:v,selectValues:i,onLoadData:R,onCheck:M,onSelect:$,checkALL:B,expandAll:D,checkedKeys:u,selectRows:d,treeData:a,getCheckStrictly:T,getSelectTreeData:F}]}const Ee=le({name:"DeptSelectModal",components:{BasicModal:he,BasicTree:Ce},props:X(W({},ke),{modalTitle:{type:String,default:"部门选择"},maxHeight:{type:Number,default:500},value:L.oneOfType([L.string,L.array])}),emits:["register","getSelectResult","close"],setup(e,{emit:t,refs:n}){const[w,{closeModal:m}]=pe(),v=ae(),i=h(null);let s=e.value===""?[]:e.value,a=Object.assign({},E(e),E(v),{value:s},{disabled:!1});const u=Se(a,"multiple"),d=l(),[{visibleChange:g,checkedKeys:T,getCheckStrictly:y,getSelectTreeData:K,onCheck:V,onLoadData:$,treeData:M,checkALL:B,expandAll:c,onSelect:D}]=De(i,d,u,e,t),R=h(e.params),H=h([]),F={key:e.rowKey};function q(){K((o,r)=>{t("getSelectResult",o,r),m()})}function l(){let o=e.sync?ve:ge;return r=>o(Object.assign({},r,{primaryKey:e.rowKey}))}return{tree:H,handleOk:q,searchInfo:R,treeRef:i,treeData:M,onCheck:V,onSelect:D,checkALL:B,expandAll:c,fieldNames:F,checkedKeys:T,register:w,getBindValue:u,getCheckStrictly:y,visibleChange:g,onLoadData:$}}});function Ke(e,t,n,w,m,v){const i=S("BasicTree"),s=S("a-menu-item"),a=S("a-menu"),u=S("Icon"),d=S("a-button"),g=S("a-dropdown"),T=S("BasicModal");return j(),ne("div",null,[C(T,J(e.$attrs,{onRegister:e.register,title:e.modalTitle,width:"500px",maxHeight:e.maxHeight,onOk:e.handleOk,destroyOnClose:"",onVisibleChange:e.visibleChange}),{insertFooter:k(()=>[C(g,{placement:"top"},{overlay:k(()=>[C(a,null,{default:k(()=>[e.multiple?(j(),Z(s,{key:"1",onClick:t[0]||(t[0]=y=>e.checkALL(!0))},{default:k(()=>t[4]||(t[4]=[A("全部勾选")])),_:1})):x("",!0),e.multiple?(j(),Z(s,{key:"2",onClick:t[1]||(t[1]=y=>e.checkALL(!1))},{default:k(()=>t[5]||(t[5]=[A("取消全选")])),_:1})):x("",!0),C(s,{key:"3",onClick:t[2]||(t[2]=y=>e.expandAll(!0))},{default:k(()=>t[6]||(t[6]=[A("展开全部")])),_:1}),C(s,{key:"4",onClick:t[3]||(t[3]=y=>e.expandAll(!1))},{default:k(()=>t[7]||(t[7]=[A("折叠全部")])),_:1})]),_:1})]),default:k(()=>[C(d,{style:{float:"left"}},{default:k(()=>[t[8]||(t[8]=A(" 树操作 ")),C(u,{icon:"ant-design:up-outlined"})]),_:1})]),_:1})]),default:k(()=>[C(i,J({ref:"treeRef",treeData:e.treeData,"load-data":e.sync==!1?null:e.onLoadData},e.getBindValue,{onSelect:e.onSelect,onCheck:e.onCheck,fieldNames:e.fieldNames,checkedKeys:e.checkedKeys,multiple:e.multiple,checkStrictly:e.getCheckStrictly}),null,16,["treeData","load-data","onSelect","onCheck","fieldNames","checkedKeys","multiple","checkStrictly"])]),_:1},16,["onRegister","title","maxHeight","onOk","onVisibleChange"])])}const Te=oe(Ee,[["render",Ke]]),Be=le({name:"JSelectDept",components:{DeptSelectModal:Te,JSelectBiz:we},inheritAttrs:!1,props:{value:L.oneOfType([L.string,L.array]),multiple:L.bool.def(!0)},emits:["options-change","change","select","update:value"],setup(e,{emit:t,refs:n}){const w=h(),[m,{openModal:v}]=ye(),i=h([]);let s=te({value:[]}),a=[];const u=h(!1);z("selectOptions",i),z("selectValues",s),z("loadingEcho",u);const d=h(!1),g=ae();fe(()=>{a=[],e.value&&y()}),P(()=>e.value,()=>{y()}),P(i,()=>{i&&t("select",ee(E(i)),ee(E(s)))});function T(){d.value=!0,v(!0,{isUpdate:!1})}function y(){let c=e.value?e.value:[];c&&typeof c=="string"?(s.value=c.split(","),a=c.split(",")):(s.value=c,a=G(c))}function K(c,D){i.value=c,s.value=D,B(D)}const V=Object.assign({},E(e),E(g)),$=()=>{a.length?s.value=G(a):B(a)},M=c=>{a=G(c),B(a)},B=c=>{let D=typeof e.value=="string"?c.join(","):c;t("update:value",D),t("change",D),(!c||c.length==0)&&t("select",null,null)};return{attrs:g,selectOptions:i,selectValues:s,loadingEcho:u,getBindValue:V,tag:d,regModal:m,setValue:K,handleOpen:T,handleClose:$,handleSelectChange:M}}}),be={class:"JSelectDept"};function Oe(e,t,n,w,m,v){const i=S("JSelectBiz"),s=S("DeptSelectModal"),a=S("a-form-item");return j(),ne("div",be,[C(i,J({onChange:e.handleSelectChange,onHandleOpen:e.handleOpen,loading:e.loadingEcho},e.attrs),null,16,["onChange","onHandleOpen","loading"]),C(a,null,{default:k(()=>[C(s,J({onRegister:e.regModal,onGetSelectResult:e.setValue},e.getBindValue,{multiple:e.multiple,onClose:e.handleClose}),null,16,["onRegister","onGetSelectResult","multiple","onClose"])]),_:1})])}const je=oe(Be,[["render",Oe],["__scopeId","data-v-1ec52d81"]]);export{je as a};