@jecloud/ui
Version:
JECloud UI库,基于ant-design-vue封装
1 lines • 1.27 kB
JavaScript
import{ref as o}from"vue";import e from"../config-provider";import{useField as n}from"./field";import{isArray as i,isEmpty as t,loadDDItemByCode as l,getDDCache as u,DDType as r,loadDDItemByCode4Tree as f,omit as c,isNotEmpty as a}from"@jecloud/utils";import{useModelValue as p}from".";export function useConfigInfo(v){var d=v.props,s=v.context,m=(v.component,o(d.configInfo)),g=p({props:d,context:s,key:"options"}),b=o(d.multiple),I=e.getGlobalConfig("func"),x=function(){},y=function(){};if(m.value&&I){var C=n({props:d,context:s}).setModel,h=I.Field.parseConfigInfo({configInfo:m.value});if(b.value=h.multiple,x=function(o){void 0===o&&(o=[]),o=i(o)?o:[o];var e=I.Field.getConfigInfo({configInfo:h,rows:o});C(e)},t(g.value)&&h.code){var j=u(h.code);(null==j?void 0:j.type)!==r.LIST||a(d.querys)?(y=function(o){o&&(g.value=[],f({code:h.code,querys:d.querys}).then((function(o){var e;g.value=null===(e=o.map)||void 0===e?void 0:e.call(o,(function(o){return Object.assign(c(o,["disabled"]),{value:o.code,label:o.text})}))})))},y(!0)):l(h.code).then((function(o){var e;g.value=null===(e=o.map)||void 0===e?void 0:e.call(o,(function(o){return Object.assign(o,{value:o.code,label:o.text})}))}))}}return{func:I,options:g,multiple:b,setValues:x,onDropdownVisibleChange:y}}