snowy-designer
Version:
基于Epic-Designer-Pro版本的设计器,可视化开发页面表单
2 lines (1 loc) • 3.59 kB
JavaScript
;const e=require("vue");;/* empty css */const v=require("../../../../base-ui/src/components/icon/icon.vue.cjs");require("radix-vue");require("clsx");require("tailwind-merge");require("lucide-vue-next");require("../../../../base-ui/src/shadch-ui/button/index.cjs");require("@vueuse/core");require("../../../../base-ui/src/shadch-ui/toast/index.cjs");const b=require("../../../../base-ui/src/components/node/node.vue.cjs");require("../../../../../hooks/src/store/index.cjs");require("lodash");require("../../../../../utils/src/manager/pluginManager.cjs");require("monaco-editor");require("../../../../../utils/src/request/index.cjs");require("vuedraggable");const o=require("./data.cjs"),g={class:"rule-item-main m-t-2 hover:border-primary relative rounded border border-solid border-gray-200 bg-white p-2 transition-all"},q={key:0,class:"m-t-2 flex first:m-0"},f={class:"epic-attr-label",title:"校验时机"},V={class:"epic-attr-input"},k=e.defineComponent({__name:"ERuleItem",props:{rule:{}},emits:["change","delete","update:rule"],setup(i,{emit:u}){const s=i,n=u,r=e.computed({get(){return s.rule},set(t){n("update:rule",t)}}),p=e.inject("pageManager",{}),d=e.computed(()=>Object.entries(p.funcs.value).filter(([t,a])=>typeof a=="function").map(([t])=>({label:t,value:t}))),c=[{componentProps:{mode:"multiple",multiple:!0,options:o.triggerOptions,placeholder:"校验时机"},label:"校验时机",model:"trigger",type:"select"},{label:"自定义规则",model:"isValidator",type:"switch"},{componentProps:{options:d.value,placeholder:"校验函数"},label:"校验函数",model:"validator",show(){return!!r.value.isValidator},type:"select"},{componentProps:{options:o.typeOptions,placeholder:"类型"},label:"类型",model:"type",show(){return!r.value.isValidator},type:"select"},{componentProps:{placeholder:"正则校验"},label:"正则校验",model:"pattern",show(){return!r.value.isValidator},type:"input"},{componentProps:{min:0,placeholder:"字段长度"},label:"字段长度",model:"len",show(){return o.lenTypeOptions.includes(r.value.type??"")},type:"number"},{componentProps:{min:0,placeholder:"最小长度"},label:"最小长度",model:"min",show(){return o.lenTypeOptions.includes(r.value.type??"")},type:"number"},{componentProps:{min:0,placeholder:"最大长度"},label:"最大长度",model:"max",show(){return o.lenTypeOptions.includes(r.value.type??"")},type:"number"},{componentProps:{placeholder:"校验信息"},label:"校验信息",model:"message",type:"input"}];function m(){const t=r.value;t.isValidator?(delete t.type,delete t.pattern,delete t.len,delete t.min,delete t.max):delete t.validator,n("change",t)}function h(){n("delete")}return(t,a)=>(e.openBlock(),e.createElementBlock("div",g,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(c,(l,_)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:_},[!l.show||l.show()?(e.openBlock(),e.createElementBlock("div",q,[e.createElementVNode("div",f,e.toDisplayString(l.label),1),e.createElementVNode("div",V,[e.createVNode(e.unref(b),{modelValue:r.value[l.model],"onUpdate:modelValue":y=>r.value[l.model]=y,"component-schema":{...l,noFormItem:!0},onChange:m},null,8,["modelValue","onUpdate:modelValue","component-schema"])])])):e.createCommentVNode("",!0)],64))),64)),e.createElementVNode("div",{class:"rule-btn-delete text-md w-24px h-24px rounded-bl-2 color-white absolute right-0 top-0 flex cursor-pointer items-center justify-center transition-all",onClick:h},[e.createVNode(e.unref(v),{name:"icon--epic--delete-outline-rounded"})])]))}});module.exports=k;