UNPKG

snowy-designer

Version:

基于Epic-Designer-Pro版本的设计器,可视化开发页面表单

2 lines (1 loc) 3.25 kB
"use strict";const e=require("vue");;/* empty css */require("radix-vue");require("clsx");require("tailwind-merge");require("lucide-vue-next");require("../../../../base-ui/src/shadch-ui/button/index.cjs");const y=require("@vueuse/core");require("../../../../base-ui/src/shadch-ui/toast/index.cjs");const k=require("../../../../base-ui/src/components/node/node.vue.cjs"),c=require("../../../../../utils/src/common/data.cjs");require("../../../../../hooks/src/store/index.cjs");require("lodash");const B=require("../../../../../utils/src/manager/pluginManager.cjs");require("monaco-editor");require("../../../../../utils/src/request/index.cjs");require("vuedraggable");const p=require("./data.cjs"),V=require("./ERuleItem.vue.cjs"),E={class:"rule-item-main m-t-2 relative rounded border border-solid p-2 transition-all"},b={key:0,class:"m-t-2 flex first:m-0"},C={class:"epic-attr-label"},N={class:"flex-1"},w=e.defineComponent({__name:"index",props:{modelValue:{default:void 0,type:Array},ruleType:{default:"string",type:String}},emits:["update:modelValue"],setup(m,{emit:v}){const d=m,g=v,q=B.pluginManager.getComponent("button"),n=y.useVModel(d,"modelValue",g),l=e.ref({message:"必填项",required:!1,trigger:["change"],type:d.ruleType}),_=[{label:"必填项",model:"required",type:"switch"},{componentProps:{mode:"multiple",multiple:!0,options:p.triggerOptions,placeholder:"校验时机"},label:"校验时机",model:"trigger",show(){return!!l.value.required},type:"select"},{componentProps:{options:p.typeOptions,placeholder:"类型"},label:"类型",model:"type",show(){return!!l.value.required},type:"select"},{componentProps:{placeholder:"校验信息"},label:"校验信息",model:"message",show(){return!!l.value.required},type:"input"}],t=e.ref([]);e.watch(()=>n.value,(o,i)=>{o&&(c.deepEqual(o,i??[])||(t.value=[],o.forEach(r=>{r.required===void 0?t.value.push(r):l.value=r})))},{immediate:!0});function h(){t.value.push({message:"",trigger:["change"],type:d.ruleType}),a()}function a(){if(l.value.required){n.value=c.deepClone([...t.value,l.value]);return}if(t.value.length>0){n.value=c.deepClone(t.value);return}n.value=void 0}function f(o){t.value.splice(o,1),a()}return(o,i)=>(e.openBlock(),e.createElementBlock("div",null,[e.createElementVNode("div",E,[(e.openBlock(),e.createElementBlock(e.Fragment,null,e.renderList(_,(r,u)=>(e.openBlock(),e.createElementBlock(e.Fragment,{key:u},[!r.show||r.show()?(e.openBlock(),e.createElementBlock("div",b,[e.createElementVNode("div",C,e.toDisplayString(r.label),1),e.createElementVNode("div",N,[e.createVNode(e.unref(k),{modelValue:l.value[r.model],"onUpdate:modelValue":s=>l.value[r.model]=s,"component-schema":{...r,noFormItem:!0},onChange:a},null,8,["modelValue","onUpdate:modelValue","component-schema"])])])):e.createCommentVNode("",!0)],64))),64))]),(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.value,(r,u)=>(e.openBlock(),e.createBlock(V,{key:u,rule:t.value[u],"onUpdate:rule":s=>t.value[u]=s,onDelete:s=>f(u),onChange:a},null,8,["rule","onUpdate:rule","onDelete"]))),128)),e.createVNode(e.unref(q),{class:"m-t-2",onClick:h},{default:e.withCtx(()=>i[0]||(i[0]=[e.createTextVNode(" 添加规则 ")])),_:1})]))}});module.exports=w;