UNPKG

form-designer-xinyi

Version:

基于vue3的设计器,可视化开发页面表单

2 lines (1 loc) 3.36 kB
"use strict";Object.defineProperty(exports,Symbol.toStringTag,{value:"Module"});const e=require("vue"),h=require("./vuedraggable.umd--vzlsgiq.cjs"),v=require("./icon.vue_vue_type_script_setup_true_lang-CXgVOUsT.cjs"),f=require("./index-BXOkp5Wk.cjs"),V=require("./revoke-Bbm2vFx2.cjs"),b={class:"rule-item-main bg-white m-t-2 p-2 rounded border border-solid border-gray-200 hover:border-primary transition-all relative"},g=["title"],y={class:"epic-attr-input w-0"},x=["onClick"],k=e.defineComponent({name:"SetAddValueOptionItem",__name:"optionItem",props:{modelValue:{},fieldOptions:{}},emits:["update:modelValue"],setup(d,{emit:s}){const a=d,u=s,n=f.useVModel(a,"modelValue",u),c=[{type:"input",label:"当值等于",model:"curValue",componentProps:{placeholder:"当值等于"}},{type:"select",label:"赋值组件",model:"influenceCompId",componentProps:{options:a.fieldOptions,placeholder:"赋值组件"}},{type:"textarea",label:"追加赋值",model:"setValue",componentProps:{placeholder:"追加赋值"}},{type:"input",label:"排序序号",model:"sort",componentProps:{placeholder:"排序序号",type:"number"}}];function m(l){n.value=n.value.filter((r,t)=>t!==l)}return(l,r)=>(e.openBlock(),e.createBlock(e.unref(h.draggable),{modelValue:e.unref(n),"onUpdate:modelValue":r[0]||(r[0]=t=>e.isRef(n)?n.value=t:null),"item-key":"id","component-data":{type:"transition-group"},group:"option-list",handle:".handle",animation:200},{item:e.withCtx(({element:t,index:i})=>[e.createElementVNode("div",b,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,(o,p)=>e.createElementVNode("div",{key:p,class:"flex m-t-2 first:m-0"},[e.createElementVNode("div",{class:"epic-attr-label flex-shrink-0",title:o.label},e.toDisplayString(o.label),9,g),e.createElementVNode("div",y,[e.createVNode(e.unref(f._sfc_main),{modelValue:t[o.model],"onUpdate:modelValue":_=>t[o.model]=_,componentSchema:{...o,noFormItem:!0}},null,8,["modelValue","onUpdate:modelValue","componentSchema"])])])),64)),e.createElementVNode("div",{class:"rule-btn-delete absolute top-0 right-0 transition-all w-24px h-24px cursor-pointer rounded-bl-2 flex justify-center items-center color-white",onClick:o=>m(i)},[e.createVNode(e.unref(v._sfc_main),{name:"icon-shanchu1"})],8,x)])]),_:1},8,["modelValue"]))}}),N={class:""},C={class:"py-4 my-2 text-center text-gray-400 bg-white"},w=e.defineComponent({__name:"index",props:{modelValue:{default:()=>[]},textType:{default:()=>["input","textarea"]}},emits:["update:modelValue"],setup(d,{emit:s}){const a=d,u=e.inject("pageSchema"),n=e.computed(()=>V.getFormSchemas(u.schemas).filter(t=>a.textType.includes(t.type)).map(t=>({label:`${t.label}(${t.field})`,value:t.id})).reverse()),c=V.pluginManager.getComponent("button"),m=s,l=f.useVModel(a,"modelValue",m);function r(){const t=e.reactive({curValue:"",influenceCompId:"",setValue:""});l.value=[...l.value,t]}return(t,i)=>{var o;return e.openBlock(),e.createElementBlock("div",N,[e.withDirectives(e.createElementVNode("div",C,"暂无选项",512),[[e.vShow,!((o=e.unref(l))!=null&&o.length)]]),e.createVNode(k,{modelValue:e.unref(l),"onUpdate:modelValue":i[0]||(i[0]=p=>e.isRef(l)?l.value=p:null),fieldOptions:n.value},null,8,["modelValue","fieldOptions"]),e.createVNode(e.unref(c),{class:"m-t-2",onClick:r},{default:e.withCtx(()=>[e.createTextVNode("添加追加值")]),_:1})])}}});exports.default=w;