epic-designer-dev
Version:
基于vue3的设计器,可视化开发页面表单。在epic-designer的基础上新增了字典选择器
2 lines (1 loc) • 2.02 kB
JavaScript
;const e=require("vue");;/* empty css */const g=require("../icon/icon.vue2.cjs");require("@vueuse/core");require("../../../../hooks/src/store/index.cjs");const K=require("../../../../utils/src/manager/pluginManager.cjs"),V=require("./treeNodes.vue.cjs"),q={class:"epic-tree flex h-full flex-col"},C={class:"epic-search-box px-10px py-6px"},N={class:"epic-tree-main h-0 flex-1 overflow-auto"},w={class:"pt-42px text-center text-gray-400"},E=e.defineComponent({name:"ETree",__name:"tree",props:{draggable:{type:Boolean,default:!1},hoverKey:{default:""},options:{default:()=>[]},selectedKeys:{default:()=>[]}},emits:["update:selectedKeys","nodeClick"],setup(f,{emit:_}){const n=f,c=_,h=e.useSlots();e.provide("slots",h);const m=K.pluginManager.getComponent("input"),l=e.ref(""),x=e.ref([]),u=e.computed({get(){return n.selectedKeys},set(o){c("update:selectedKeys",o)}}),a=e.computed({get(){return d(n.options,l.value)},set(){}});function d(o,t){const s=[];return o.forEach(r=>{var i;if((i=r.label)!=null&&i.includes(t))s.push(r);else if(r.children){const p=d(r.children,t);if(p.length>0){const v={...r};v.children=p,s.push(v)}}}),s}function y(o,t){u.value=[o],c("nodeClick",{componentSchema:t,id:o})}return e.provide("expandedKeys",x),e.provide("selectedKeys",u),e.provide("treeProps",n),e.provide("handleSelect",y),(o,t)=>(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("div",C,[e.createVNode(e.unref(m),{modelValue:l.value,"onUpdate:modelValue":t[0]||(t[0]=s=>l.value=s),value:l.value,"onUpdate:value":t[1]||(t[1]=s=>l.value=s),placeholder:"搜索节点",clearable:"","allow-clear":""},{prefix:e.withCtx(()=>[e.createVNode(e.unref(g),{name:"icon--epic--search-rounded"})]),_:1},8,["modelValue","value"])]),e.createElementVNode("div",N,[e.createVNode(V,{schemas:a.value,"onUpdate:schemas":t[2]||(t[2]=s=>a.value=s)},null,8,["schemas"]),e.withDirectives(e.createElementVNode("div",w," 没有查询到的数据 ",512),[[e.vShow,a.value.length===0]])])]))}});module.exports=E;