@javaguns/flow-ui
Version:
``` <template> <a-spin :spinning="loading"> <FlowDesigner ref="flowDesigner" top="50px"> </FlowDesigner> </a-spin> </template> <script lang="ts" setup> import { ref, provide, onMounted } from 'vue'; import { FlowDesigner, LoadingKey } from '@j
2 lines (1 loc) • 6.23 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../style/condition.css");const s=require("@javaguns/utils"),p=require("@javaguns/icon"),v=require("../../../utils/injection-key.js"),F=require("../../../hooks/useDrawer.js"),i=require("../../common/flowSelect.vue.js"),x=require("../../common/flowComponent.vue.js"),K={class:"flow-condition-box"},R={class:"flow-condition-group"},M={class:"flow-condition-option"},O={class:"flow-condition-value"},$=["onClick"],j=["onClick"],S=e.createElementVNode("span",{style:{"margin-left":"5px"}},"且条件",-1),D={key:0,class:"flow-condition-group-connector"},P=e.createElementVNode("span",{style:{"margin-left":"5px"}},"或条件",-1),L=e.defineComponent({name:"flow-branch-condition"}),z=e.defineComponent({...L,props:{node:{default:()=>({})},baseColumns:{},formColumns:{}},setup(_,{expose:y}){const C=s.pluginManager.getComponent("Form"),h=s.pluginManager.getComponent("FormItem");s.pluginManager.getComponent("Input");const{optTypes:N,valueTypes:g,dynamicValueTypes:k,flowValueTypes:w}=F.default(),c=_,U=e.getCurrentInstance(),b=e.ref(),m=e.inject(v.BaseColumnsKey,e.toRef([])),r=e.inject(v.FormColumnsKey,e.toRef([])),B=e.computed(()=>t=>{if(t.options)return t.options;if(t.columnValue){const l=r.value.filter(a=>a.fieldId==t.columnValue).map(a=>a);return l&&l.length>0&&l[0].options&&l[0].options.options?l[0].options.options:[]}else return[]}),I=e.computed(()=>{const t=[];if(m.value.length>0)for(let l=0;l<m.value.length;l++){const a=m.value[l];t.push({name:a.fieldName,value:a.fieldId})}if(r.value.length>0)for(let l=0;l<r.value.length;l++){const a=r.value[l];t.push({name:a.fieldName,value:a.fieldId})}return t}),T=(t,l)=>{var o;const d=[...m.value,...r.value].filter(u=>u.fieldId==t).map(u=>u)[0];l.columnType=d.fieldFrom,l.columnCode=d.fieldType,l.columnId=d.fieldId,l.columnKey=d.fieldKey,l.columnName=d.fieldName,l.conditionValue=[],l.conditionValueName=[],l.options=(o=d.options)==null?void 0:o.options},E=t=>{t==1&&c.node.conditionGroup&&c.node.conditionGroup.push({id:s.getId(),connector:"OR",conditions:[{id:s.getId(),columnId:1,columnName:"姓名",columnValue:"姓名",columnType:1,columnKey:"userName",columnCode:"input",optType:"eq",optCode:"==",optName:"等于",valueType:"1",conditionValue:[],conditionValueName:[]}]})},G=(t,l)=>{t==1&&c.node.conditionGroup&&c.node.conditionGroup.forEach(a=>{l.id==a.id&&a.conditions.push({id:s.getId(),columnId:1,columnName:"姓名",columnValue:"姓名",columnType:1,columnKey:"userName",columnCode:"input",optType:"eq",optCode:"==",optName:"等于",valueType:"1",conditionValue:[],conditionValueName:[]})})},q=(t,l,a)=>{t==1&&c.node.conditionGroup&&c.node.conditionGroup.forEach((d,o)=>{l.id==d.id&&d.conditions.forEach((u,n)=>{var V;a.id==u.id&&(d.conditions.splice(n,1),d.conditions.length==0&&((V=c.node.conditionGroup)==null||V.splice(o,1)))})})},f=async()=>{try{const t=U.proxy.$refs.formRef;for(let l=0;l<t.length;l++)await t[l].validate();return!0}catch(t){return console.log("Failed:",t),!1}};return y({valid:f}),(t,l)=>(e.openBlock(),e.createElementBlock("div",K,[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(c.node.conditionGroup,(a,d)=>(e.openBlock(),e.createElementBlock("div",{key:d},[e.createElementVNode("div",R,[e.createVNode(e.unref(C),{ref_for:!0,ref_key:"formRef",ref:b,model:a},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(a.conditions,(o,u)=>(e.openBlock(),e.createElementBlock("div",{class:"flow-condition-item",key:u},[e.createVNode(i.default,{modelValue:o.columnValue,"onUpdate:modelValue":n=>o.columnValue=n,mode:"simple",datas:I.value,valueName:"value",style:{width:"40%"},onChange:n=>T(n,o)},null,8,["modelValue","onUpdate:modelValue","datas","onChange"]),e.createElementVNode("div",M,[e.createVNode(i.default,{modelValue:o.optType,"onUpdate:modelValue":n=>o.optType=n,label:o.optName,"onUpdate:label":n=>o.optName=n,code:o.optCode,"onUpdate:code":n=>o.optCode=n,mode:"simple",datas:e.unref(N),style:{width:"26%"}},null,8,["modelValue","onUpdate:modelValue","label","onUpdate:label","code","onUpdate:code","datas"]),e.createVNode(i.default,{modelValue:o.valueType,"onUpdate:modelValue":n=>o.valueType=n,mode:"simple",datas:e.unref(g),style:{width:"26%"},onChange:n=>o.conditionValue=[]},null,8,["modelValue","onUpdate:modelValue","datas","onChange"]),e.createElementVNode("div",O,[o.valueType==2?(e.openBlock(),e.createBlock(i.default,{key:0,modelValue:o.conditionValue,"onUpdate:modelValue":n=>o.conditionValue=n,label:o.conditionValueName,"onUpdate:label":n=>o.conditionValueName=n,datas:e.unref(k)},null,8,["modelValue","onUpdate:modelValue","label","onUpdate:label","datas"])):o.valueType==3?(e.openBlock(),e.createBlock(i.default,{key:1,modelValue:o.conditionValue,"onUpdate:modelValue":n=>o.conditionValue=n,label:o.conditionValueName,"onUpdate:label":n=>o.conditionValueName=n,datas:e.unref(w)},null,8,["modelValue","onUpdate:modelValue","label","onUpdate:label","datas"])):(e.openBlock(),e.createBlock(e.unref(h),{key:2,name:["conditions",u,"conditionValue"],prop:"conditions."+u+".conditionValue","hide-label":"",rules:[{required:!0,message:"不能为空"}]},{default:e.withCtx(()=>[e.createVNode(x.default,{comp:o.columnCode,modelValue:o.conditionValue,"onUpdate:modelValue":n=>o.conditionValue=n,code:o.conditionValueName,"onUpdate:code":n=>o.conditionValueName=n,options:B.value(o),onChange:f},null,8,["comp","modelValue","onUpdate:modelValue","code","onUpdate:code","options"])]),_:2},1032,["name","prop"]))])]),e.createElementVNode("div",{class:"flow-condition-del",onClick:n=>q(1,a,o)},[e.createVNode(e.unref(p.IconDeleteOutline))],8,$)]))),128)),e.createElementVNode("div",{class:"flow-condition-add",onClick:o=>G(1,a)},[e.createVNode(e.unref(p.IconPlusOutline)),S],8,j)]),_:2},1032,["model"])]),t.node.conditionGroup&&t.node.conditionGroup.length>1&&d!=t.node.conditionGroup.length-1?(e.openBlock(),e.createElementBlock("div",D,"或")):e.createCommentVNode("",!0)]))),128)),e.createElementVNode("div",{class:"flow-condition-add",onClick:l[0]||(l[0]=a=>E(1))},[e.createVNode(e.unref(p.IconPlusOutline)),P])]))}});exports.default=z;