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

2 lines
8.8 KiB
Java

var ie=Object.defineProperty,ue=Object.defineProperties;var ce=Object.getOwnPropertyDescriptors;var ne=Object.getOwnPropertySymbols;var fe=Object.prototype.hasOwnProperty,de=Object.prototype.propertyIsEnumerable;var le=(t,a,l)=>a in t?ie(t,a,{enumerable:!0,configurable:!0,writable:!0,value:l}):t[a]=l,_=(t,a)=>{for(var l in a||(a={}))fe.call(a,l)&&le(t,l,a[l]);if(ne)for(var l of ne(a))de.call(a,l)&&le(t,l,a[l]);return t},oe=(t,a)=>ue(t,ce(a));var P=(t,a,l)=>new Promise((K,S)=>{var C=u=>{try{c(l.next(u))}catch(s){S(s)}},f=u=>{try{c(l.throw(u))}catch(s){S(s)}},c=u=>u.done?K(u.value):Promise.resolve(u.value).then(C,f);c((l=l.apply(t,a)).next())});import{B as ye}from"./index-BDvqZ5j4.js";import{d as he,fp as me,fq as pe,i as ge,as as ee,aO as ve,b2 as ke,fr as Se,fs as Ce,d1 as be,bH as Ke,au as Te,bY as De,aR as we,aS as Ee}from"./index-X7Y8jykP.js";import{t as Ae}from"./props-BWd0f6uH.js";import{B as Be}from"./index-Bzmv9Ie7.js";import{S as te,r as p,h as Ie,c as Le,n as ae,u as z,b as se,e as Oe,K as j,C as Pe,z as A,f as b,A as y,y as M,H as q,B as re,E as B}from"./vue-vendor-DNhG1Cve.js";import{T as Me}from"./TreeIcon-7lwypClM.js";import{a as Ve}from"./useModal-DaJ3Bflg.js";import"./index-CfNJyBRj.js";import{D as $e}from"./dropdown-jkliuVyN.js";function He(t,a,l,K,S){const C=te("selectOptions",p([])),f=te("selectValues",se({})),c=te("loadingEcho",p(!1)),u=p([]),s=p([]),h=p([]),T=p(!1),D=p(K.multiple?l.checkStrictly:!0),V=Le(()=>D.value);let I=!0,d=[];const k=p([]),$=l.enableAutoExpand!==!1;Ie(f,({value:e})=>{if(e&&e.length>0){if(ge(e,d))return;d=e,c.value=I,I=!1,L(null,e.join(",")).finally(()=>{c.value=!1})}},{immediate:!0});function g(){const e=z(t);return e||null}function x(e){return P(this,null,function*(){var n;if(!e||e.length===0)return[];try{const o=yield pe({departId:e.join(","),orgCode:(n=l.params)==null?void 0:n.orgCode});if(o){const r=[];return(o instanceof Map?Array.from(o.values()):Object.values(o)).forEach(m=>{if(m&&m.parentIds&&Array.isArray(m.parentIds)){const O=m.parentIds.filter(w=>!e.includes(w));r.push(...O)}}),[...new Set(r)]}return[]}catch(o){return[]}})}function F(){ae(()=>{l.defaultExpandLevel&&l.defaultExpandLevel>0&&g().filterByLevel(l.defaultExpandLevel),s.value=f.value,k.value.length>0&&g().setExpandedKeys(k.value)}).then(()=>{k.value.length>0&&setTimeout(()=>{g().setExpandedKeys(k.value)},100)})}function U(e,n){if(l.checkable==!1){s.value=l.checkStrictly?e.checked:e;const{selectedNodes:o}=n;let r=[];o.forEach(i=>{r.push(i)}),h.value=r}}function Q(e,n){if(n&&l.checkable==!0){if(!K.multiple){if(n.checked){s.value=[n.node.eventKey];let i=l.rowKey,m=n.checkedNodes.find(O=>O[i]===n.node.eventKey);h.value=[m]}else s.value=[],h.value=[];return}s.value=D.value?e.checked:e;const{checkedNodes:o}=n;let r=[];o.forEach(i=>{r.push(i)}),h.value=r}}function W(e){return P(this,null,function*(){g().checkAll(e),yield ae(),s.value=g().getCheckedKeys(),e?Y():h.value=[]})}function Y(){let e="";z(s).length>0&&(e=s.value.join(",")),a({ids:e}).then(n=>{h.value=n})}function G(e){g().expandAll(e)}function L(e,n){return P(this,null,function*(){var O;let o={},r="";e&&(r=e.eventKey,o.pid=e.value),n&&(r="",o.ids=n),(O=l.params)!=null&&O.departIds&&(o.departIds=l.params.departIds);let i=yield a(o),m=i;if(l.onlyShowCompany&&(i=J(i)),l.izOnlySelectDepartPost&&R(i),l.izShowDepartNameAbbr&&(i=X(i)),l.serverTreeData||(i=me(i,l,r),i.length==0&&e&&N(r,u.value)),T.value==!0){if(!e)u.value=i;else return new Promise(w=>{if(!e.children){w();return}const E=z(t);E&&(E.updateNodeByKey(e.eventKey,{children:i}),E.setExpandedKeys([e.eventKey,...E.getExpandedKeys()])),w()});F()}else{const w=[];m.forEach(E=>{w.push({label:E[l.labelKey],value:E[l.rowKey]})}),C.value=w}})}function J(e){return e.filter(o=>o.orgCategory&&["1","4"].includes(o.orgCategory))}function X(e){const n=e;return n.forEach(o=>{o.title=o.departNameAbbr||o.title}),n}function N(e,n){if(n&&n.length>0)for(let o of n)if(o.key==e){o.child||(o.isLeaf=!0);break}else N(e,o.children)}function Z(e){const n=[],o=[];h.value.forEach(r=>{n.push({label:r[l.labelKey],value:r[l.rowKey]})}),s.value.forEach(r=>{o.push(r)}),C.value=n,e&&e(n,o)}function H(e){return P(this,null,function*(){if(e){if(T.value=!0,yield L(null,null),$&&f.value&&f.value.length>0)try{const n=f.value,o=yield x(n);o.length>0&&(k.value=o,ae(()=>{try{const r=g();r&&(r.setExpandedKeys(o),setTimeout(()=>{try{const i=g();i&&(i.setExpandedKeys(o),setTimeout(()=>{try{const m=g();m&&m.setExpandedKeys(o)}catch(m){}},500))}catch(i){}},200))}catch(r){}}))}catch(n){}}else T.value=!1,S==null||S("close")})}function R(e){if(e&&e.length>0)for(const n of e)n.orgCategory!=="3"?(n.checkable=!1,n.selectable=!1):(n.checkable=!0,n.selectable=!0),n.isLeaf&&R(n.children)}function v(e){return P(this,null,function*(){if(e){let n=yield he.get({url:"/sys/sysDepart/searchBy",params:_({keyWord:e,orgCategory:"3"},l.params)});Array.isArray(n)?u.value=n:u.value=[]}else u.value=[],yield L(null,null)})}return[{visibleChange:H,selectOptions:C,selectValues:f,onLoadData:L,onCheck:Q,onSelect:U,checkALL:W,expandAll:G,checkedKeys:s,selectRows:h,treeData:u,getCheckStrictly:V,getSelectTreeData:Z,onSearch:v,expandedKeys:k,checkStrictly:D}]}const je=Oe({name:"DeptSelectModal",components:{TreeIcon:Me,BasicModal:ye,BasicTree:Be},props:oe(_({},Ae),{modalTitle:{type:String,default:"部门选择"},maxHeight:{type:Number,default:500},value:ee.oneOfType([ee.string,ee.array]),params:{type:Object,default:()=>({})},izShowDepPath:{type:Boolean,default:!1}}),emits:["register","getSelectResult","close"],setup(t,{emit:a}){const[l,{closeModal:K}]=Ve(),S=ve(),C=p(null),f=p(Math.random());let c=t.value===""?[]:t.value;c&&typeof c=="string"&&(c=c.split(","));let u=Object.assign({},z(t),z(S),{value:c},{disabled:!1});const s=ke(u,"multiple"),h=X(),[{visibleChange:T,checkedKeys:D,getCheckStrictly:V,getSelectTreeData:I,onCheck:d,onLoadData:k,treeData:$,checkALL:g,expandAll:x,onSelect:F,onSearch:U,expandedKeys:Q,checkStrictly:W}]=He(C,h,s,t,a),Y=p(t.params||{}),G=p([]),L={key:t.rowKey};function J(){I((v,e)=>{a("getSelectResult",v,e),K()})}function X(){let v=t.izOnlySelectDepartPost?Se:t.sync?Ce:be;return e=>v(Object.assign({},e,t.params,{primaryKey:t.rowKey}))}function N(v){v.target.value||(f.value=Math.random())}function Z(v){W.value=v}const H=se({});function R(v,e,n){if(t.izShowDepPath&&v==="2"){const o=H[n];return o||(Ke(n,e,"").then(r=>{r?H[n]=e+"("+r.substring(0,r.lastIndexOf("/"))+")":H[n]=e}),e)}else return e}return{tree:G,handleOk:J,searchInfo:Y,treeRef:C,treeData:$,onCheck:d,onSelect:F,checkALL:g,expandAll:x,fieldNames:L,checkedKeys:D,expandedKeys:Q,register:l,getBindValue:s,getCheckStrictly:V,visibleChange:T,onLoadData:k,onSearch:U,reloadKey:f,handelSearchChange:N,toggleCheckStrictly:Z,getTitle:R}}});function qe(t,a,l,K,S,C){const f=De,c=j("TreeIcon"),u=j("BasicTree"),s=Ee,h=we,T=j("Icon"),D=j("a-button"),V=$e,I=j("BasicModal");return A(),Pe("div",null,[b(I,re(t.$attrs,{onRegister:t.register,title:t.modalTitle,width:"600px",minHeight:300,maxHeight:t.maxHeight,onOk:t.handleOk,destroyOnClose:"",onVisibleChange:t.visibleChange}),{insertFooter:y(()=>[b(V,{placement:"top"},{overlay:y(()=>[b(h,null,{default:y(()=>[t.multiple?(A(),M(s,{key:"1",onClick:a[0]||(a[0]=d=>t.checkALL(!0))},{default:y(()=>[...a[6]||(a[6]=[B("全部勾选",-1)])]),_:1})):q("",!0),t.multiple?(A(),M(s,{key:"2",onClick:a[1]||(a[1]=d=>t.checkALL(!1))},{default:y(()=>[...a[7]||(a[7]=[B("取消全选",-1)])]),_:1})):q("",!0),b(s,{key:"3",onClick:a[2]||(a[2]=d=>t.expandAll(!0))},{default:y(()=>[...a[8]||(a[8]=[B("展开全部",-1)])]),_:1}),b(s,{key:"4",onClick:a[3]||(a[3]=d=>t.expandAll(!1))},{default:y(()=>[...a[9]||(a[9]=[B("折叠全部",-1)])]),_:1}),t.multiple?(A(),M(s,{key:"5",onClick:a[4]||(a[4]=d=>t.toggleCheckStrictly(!1))},{default:y(()=>[...a[10]||(a[10]=[B("层级关联",-1)])]),_:1})):q("",!0),t.multiple?(A(),M(s,{key:"6",onClick:a[5]||(a[5]=d=>t.toggleCheckStrictly(!0))},{default:y(()=>[...a[11]||(a[11]=[B("层级独立",-1)])]),_:1})):q("",!0)]),_:1})]),default:y(()=>[b(D,{style:{float:"left"}},{default:y(()=>[a[12]||(a[12]=B(" 树操作 ",-1)),b(T,{icon:"ant-design:up-outlined"})]),_:1})]),_:1})]),default:y(()=>[t.izOnlySelectDepartPost?(A(),M(f,{key:0,placeholder:"按岗位名称搜索…",style:{"margin-bottom":"10px"},onSearch:t.onSearch,onChange:t.handelSearchChange},null,8,["onSearch","onChange"])):q("",!0),(A(),M(u,re({ref:"treeRef",treeData:t.treeData,"load-data":t.sync==!1?null:t.onLoadData},t.getBindValue,{onSelect:t.onSelect,onCheck:t.onCheck,fieldNames:t.fieldNames,checkedKeys:t.checkedKeys,expandedKeys:t.expandedKeys,multiple:t.multiple,checkStrictly:t.getCheckStrictly,key:t.reloadKey}),{title:y(({orgCategory:d,title:k,orgCode:$})=>[b(c,{orgCategory:d,title:t.getTitle(d,k,$)},null,8,["orgCategory","title"])]),_:1},16,["treeData","load-data","onSelect","onCheck","fieldNames","checkedKeys","expandedKeys","multiple","checkStrictly"]))]),_:1},16,["onRegister","title","maxHeight","onOk","onVisibleChange"])])}const Je=Te(je,[["render",qe]]);export{Je as D};