You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

2 lines
7.2 KiB

var x=(p,q,n)=>new Promise((k,S)=>{var B=s=>{try{K(n.next(s))}catch(u){S(u)}},C=s=>{try{K(n.throw(s))}catch(u){S(u)}},K=s=>s.done?k(s.value):Promise.resolve(s.value).then(B,C);K((n=n.apply(p,q)).next())});import{d as le,r as c,Y as U,P as se,o as d,g as N,b as v,w as o,u as l,eg as ue,I as ne,i as G,a as y,bK as Q,x as H,bo as Y,j as h,h as b,F as E,bt as $,t as A,dU as oe,dV as re,aT as de}from"./index-f4658ae7.js";import{C as D,a as J}from"./index-297faa0c.js";/* empty css */import{T as W}from"./index-cd1f9903.js";import{useTreeConvert as ie}from"./useDataConvert-25e29c90.js";import{useDBSourceLoader as ce}from"./useDBSourceLoader-8ab5ebe1.js";import{l as ve}from"./lodash-a5534797.js";import{searchEmps as pe}from"./emp-0252210e.js";import{C as F}from"./index-1d383df5.js";import{R as X}from"./index-24b7f696.js";const M=p=>(oe("data-v-dfa786e3"),p=p(),re(),p),fe={key:0,class:"flex p-1"},ge={class:"list-picker",style:{"padding-top":"5px"}},ye={class:"header"},he=M(()=>h("br",null,null,-1)),me={class:"search-picker",style:{"padding-top":"5px"}},Ne={class:"header"},ke=M(()=>h("br",null,null,-1)),Se={key:0,style:{color:"#9ca3af"}},_e=M(()=>h("br",null,null,-1)),xe=le({__name:"PopTreeEns",props:{treeSql:{type:String,default:""},listSql:{type:String,default:""},parentNo:{type:String,default:""},searchSql:{type:String,default:""},isMultiSelect:{type:Boolean,default:!1},isShowSearch:{type:Boolean,default:!1},isHaveUpperLevel:{type:Boolean,default:!1},selectedTreeNode:{type:String,default:""},selectedItems:{type:String,default:""},selectedItemNames:{type:String,default:""}},setup(p,{expose:q}){var z;const n=p,k=c(""),S=c(!0),B=c(n.parentNo),{getDBSource:C}=ce(),K=(z=n.treeSql)==null?void 0:z.includes("@Key"),s=c([]),u=c([]),i=c([]),L=c(!1),w=c(!0),m=c([]),O=t=>{t.target.checked==!0&&i.value.forEach(a=>{u.value.findIndex(r=>r===a.No)<0&&(u.value.push(a.No),m.value.push(a.Name))}),t.target.checked==!1&&i.value.forEach(a=>{const e=u.value.findIndex(r=>r===a.No);e>=0&&(u.value.splice(e,1),m.value.splice(e,1))}),s.value=t.target.checked?i.value.map(a=>a.No):[],w.value=!1},V=t=>(n.isMultiSelect?setTimeout(()=>{const a=u.value.findIndex(e=>e===t.target.value);a<0?u.value.push(t.target.value):u.value.splice(a,1),R(t.target.value,a,!1)}):(u.value=[],setTimeout(()=>{u.value=[t.target.value],s.value=[t.target.value],R(t.target.value,-1,!0)})),!0),R=(t,a,e)=>{if(e==!0&&(m.value=[]),a>=0&&m.value.splice(a,1),a<0){const r=i.value.filter(_=>_.No==t);r.length>0&&m.value.push(r[0].Name)}},Z=ve.debounce(()=>x(this,null,function*(){try{if(!k.value){S.value=!0;return}g.value=!0;const t=yield pe(k.value);Array.isArray(t[0])?i.value=[]:i.value=t,w.value=!0,s.value=u.value.filter(a=>i.value.filter(e=>e.No===a).length>0),S.value=!1}catch(t){U.error(t.toString())}finally{g.value=!1}}),300),g=c(!1),ee=t=>x(this,null,function*(){try{g.value=!0;const a=yield C(n.treeSql.replace(/@Key/g,t.dataRef.No));t.dataRef.children=a.filter(e=>e.No!=t.No),f.value=[...f.value]}catch(a){U.error(a.toString())}finally{g.value=!1}}),P=t=>x(this,null,function*(){var a;try{g.value=!0,(a=n.listSql)!=null&&a.includes("@Key");const e=yield C(n.listSql.replace(/@Key/g,t[0]));Array.isArray(e[0])?i.value=[]:i.value=e.filter(r=>r.No!=t[0]),w.value=!0,s.value=u.value.filter(r=>i.value.filter(_=>_.No===r).length>0)}catch(e){U.error(e.toString())}finally{g.value=!1}}),I=c([]),T=c([]),j=c({title:"Name",key:"No"}),f=c([]),{listToTree:ae}=ie();se(()=>x(this,null,function*(){yield te()}));const te=()=>x(this,null,function*(){var _;let{treeSql:t}=n,a=B.value;if(!t){U.error(`\u672A\u80FD\u6267\u884CSQL- \u4F20\u5165 props.TreeSQL \u4E3A\u7A7A [ ${t} ]`);return}t.toLowerCase().includes("@key")&&(t=t.replace(/@Key/g,a).replace(/@key/g,a));const e=yield C(t),r=ae(a,e.slice(0,e.length));B.value=(r==null?void 0:r[0].ParentNo)+"",f.value=r,f.value.length!==0&&(I.value=[f.value[0].No],n.selectedTreeNode&&(T.value=((_=n.selectedTreeNode)==null?void 0:_.split(","))||[f.value[0].No]),n.selectedItems&&(s.value=n.selectedItems.split(","),u.value=s.value,m.value=n.selectedItemNames.split(",")),yield P([f.value[0].No]))});return q({checkedList:u,allCheckList:u,checkedNames:m}),(t,a)=>(d(),N(E,null,[p.isShowSearch?(d(),N("div",fe,[v(l(ne),{value:k.value,"onUpdate:value":a[0]||(a[0]=e=>k.value=e),placeholder:"\u8BF7\u8F93\u5165\u5173\u952E\u5B57",onChange:l(Z),"allow-clear":"",style:{border:"none","background-color":"rgb(255, 255, 255)",height:"40px"}},{prefix:o(()=>[v(l(ue))]),_:1},8,["value","onChange"])])):G("",!0),S.value?(d(),y(l(X),{key:1,gutter:[8,12]},{default:o(()=>[v(l(F),{span:12,style:{"padding-left":"0","padding-right":"0"}},{default:o(()=>[l(K)?(d(),y(l(W),{key:1,"tree-data":f.value,"load-data":ee,virtual:!0,expandedKeys:I.value,"onUpdate:expandedKeys":a[3]||(a[3]=e=>I.value=e),selectedKeys:T.value,"onUpdate:selectedKeys":a[4]||(a[4]=e=>T.value=e),fieldNames:j.value,onSelect:P,style:{"padding-top":"5px",height:"calc(100vh - 46px - 38px - 50px)","background-color":"#fafafa"}},{switcherIcon:o(({switcherCls:e})=>[v(l(Q),{class:H(e)},null,8,["class"])]),_:1},8,["tree-data","expandedKeys","selectedKeys","fieldNames"])):(d(),y(l(W),{key:0,"tree-data":f.value,virtual:!0,expandedKeys:I.value,"onUpdate:expandedKeys":a[1]||(a[1]=e=>I.value=e),selectedKeys:T.value,"onUpdate:selectedKeys":a[2]||(a[2]=e=>T.value=e),fieldNames:j.value,onSelect:P,style:{"padding-top":"5px",height:"calc(100vh - 46px - 38px - 50px)","background-color":"#fafafa"}},{switcherIcon:o(({switcherCls:e})=>[v(l(Q),{class:H(e)},null,8,["class"])]),_:1},8,["tree-data","expandedKeys","selectedKeys","fieldNames"]))]),_:1}),v(l(F),{span:12,style:{"padding-left":"0","padding-right":"0"}},{default:o(()=>[v(l(Y),{spinning:g.value},{default:o(()=>[h("div",ge,[h("div",ye,[v(l(D),{checked:L.value,"onUpdate:checked":a[5]||(a[5]=e=>L.value=e),indeterminate:w.value,onChange:O,disabled:!p.isMultiSelect},{default:o(()=>[b(" \u5168\u9009")]),_:1},8,["checked","indeterminate","disabled"])]),he,i.value.length===0?(d(),N(E,{key:0},[b("\u65E0\u6570\u636E")],64)):(d(),y(l(J),{key:1,value:s.value,"onUpdate:value":a[6]||(a[6]=e=>s.value=e)},{default:o(()=>[(d(!0),N(E,null,$(i.value,e=>(d(),y(l(D),{key:e.No,value:e.No,onChange:V},{default:o(()=>[b(A(e.Name),1)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]))])]),_:1},8,["spinning"])]),_:1})]),_:1})):(d(),y(l(X),{key:2,gutter:[8,12]},{default:o(()=>[v(l(F),{span:24},{default:o(()=>[v(l(Y),{spinning:g.value,style:{"padding-top":"5px"}},{default:o(()=>[h("div",me,[h("div",Ne,[v(l(D),{checked:L.value,"onUpdate:checked":a[7]||(a[7]=e=>L.value=e),indeterminate:w.value,onChange:O,disabled:!p.isMultiSelect},{default:o(()=>[b(" \u5168\u9009")]),_:1},8,["checked","indeterminate","disabled"])]),ke,i.value.length===0?(d(),N(E,{key:0},[b("\u65E0\u6570\u636E")],64)):(d(),y(l(J),{key:1,value:s.value,"onUpdate:value":a[8]||(a[8]=e=>s.value=e)},{default:o(()=>[(d(!0),N(E,null,$(i.value,e=>(d(),y(l(D),{key:e.No,value:e.No,onChange:V},{default:o(()=>[h("span",null,A(e.Name)+"("+A(e.No)+")",1),e.DeptName?(d(),N("span",Se,[_e,b(A(e.DeptName),1)])):G("",!0)]),_:2},1032,["value"]))),128))]),_:1},8,["value"]))])]),_:1},8,["spinning"])]),_:1})]),_:1}))],64))}});const be=de(xe,[["__scopeId","data-v-dfa786e3"]]),qe=Object.freeze(Object.defineProperty({__proto__:null,default:be},Symbol.toStringTag,{value:"Module"}));export{be as P,qe as _};