UNPKG

@jecloud/func

Version:

JECloud 功能库

1 lines 1.52 kB
import{ref as e,getCurrentInstance as t,computed as n}from"vue";import{Hooks as o,Tree as r}from"@jecloud/ui";import{findDDAsyncNodes as i}from"@jecloud/utils";import{parseTreeSearchItem as l}from"../../../func-manager/utils";export function useBase(u){var s=u.props,a=u.context,c=u.store,d=a.expose,p=a.emit,v=e(),f=o.useModelValue({props:s,context:a,key:"multiple"}),g=e(!1),m=n((function(){var e,t;return s.async||!!(null===(t=null===(e=s.dictionarys)||void 0===e?void 0:e.find)||void 0===t?void 0:t.call(e,(function(e){return e.async})))})),x={instance:t(),props:s,context:a,multiple:f,async:m,store:c,singleMode:g,$plugin:v,getPlugin:function(){return v.value},setAllTreeExpand:function(e){x.getPlugin().setAllTreeExpand(e)},reload:function(){x.getPlugin().setAllTreeExpand(!1),x.store.reload()},search:function(e){if(m.value)return i({value:e,strData:c.queryParser.toParams().strData}).then((function(e){return void 0===e&&(e=[]),e.map((function(e){return l(e)}))}));var t=[];return e=e.toLocaleLowerCase(),c.cascade((function(n){var o,r,i,u,s=null!==(r=null===(o=n.code)||void 0===o?void 0:o.toString().toLocaleLowerCase())&&void 0!==r?r:"",a=null!==(u=null===(i=n.text)||void 0===i?void 0:i.toString().toLocaleLowerCase())&&void 0!==u?u:"",c=n.pinyin;(s.includes(e)||a.includes(e)||c.includes(e))&&t.push(l(n))})),Promise.resolve(t)},searchSelect:function(){p("select-change",{records:x.getSelectedRecords()})}};return Object.assign(x,o.useExtendMethods({plugin:x.$plugin,keys:r.MethodKeys})),d(x),{$tree:x}}