@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) • 3.58 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const l=require("vue"),p=require("@javaguns/utils"),k=l.defineComponent({__name:"flowSelect",props:{modelValue:{},groupDatas:{default:()=>[]},datas:{default:()=>[]},labelName:{default:"name"},valueName:{default:"value"},codeName:{default:"code"},mode:{default:"multiple"},multiple:{type:Boolean,default:!1},totalValue:{type:Boolean,default:!1},toStr:{type:Boolean,default:!0},placeholder:{default:"请选择"}},emits:["update:modelValue","update:label","update:code","change"],setup(s,{emit:c}){const f=p.pluginManager.getComponent("Select"),g=p.pluginManager.getComponent("SelectOptionGroup"),m=p.pluginManager.getComponent("SelectOption"),{appContext:y}=l.getCurrentInstance(),b=y.app.config.globalProperties.$flowUI,e=s,{modelValue:i}=l.toRefs(e),n=l.ref(i.value||void 0);l.watch(()=>e.modelValue,t=>{d(t)}),l.computed(()=>b=="element-plus"?"el-option-group":"a-select-opt-group");const d=t=>{if(t)if(e.mode=="simple")n.value=e.toStr?t+"":t;else if(e.mode=="multiple"&&e.multiple==!1&&t.length>0)n.value=e.toStr?t[0]+"":t;else if(e.mode=="multiple"&&e.multiple==!0){const o=e.totalValue?p.toUgroup(Number(t)):t;e.toStr&&Array.isArray(o)?(n.value=[],o.forEach(r=>{var a;(a=n.value)==null||a.push(r+"")})):e.toStr?n.value=o+"":n.value=o}else n.value=null},u=c,N=t=>{if(t){if(e.mode=="simple"||e.mode=="multiple"&&e.multiple==!0&&e.totalValue==!1){const o=e.datas.filter(a=>a[e.valueName]==t).map(a=>a[e.labelName]),r=e.datas.filter(a=>a[e.valueName]==t).map(a=>a[e.codeName]);u("update:modelValue",t),e.mode=="simple"?(u("update:label",Array.isArray(o)&&o.length>0?o[0]:o),u("update:code",Array.isArray(r)&&r.length>0?r[0]:r)):(u("update:label",o),u("update:code",r)),u("change",t)}else if(e.mode=="multiple"&&e.multiple==!1){const o=e.datas.filter(a=>a[e.valueName]==t).map(a=>a[e.labelName]),r=e.datas.filter(a=>a[e.valueName]==t).map(a=>a[e.codeName]);u("update:modelValue",Array.isArray(t)?t:[t]),u("update:label",Array.isArray(o)?o:[o]),u("update:code",Array.isArray(r)?o:[r]),u("change",Array.isArray(t)?t:[t])}else if(e.mode=="multiple"&&e.multiple==!0&&e.totalValue==!0){let o=null;t.length>0&&(o=t.reduce((r,a)=>parseInt(r)+parseInt(a))),u("update:modelValue",o),u("change",o)}}};return l.onMounted(()=>{d(i.value)}),(t,o)=>(l.openBlock(),l.createBlock(l.unref(f),{modelValue:n.value,"onUpdate:modelValue":o[0]||(o[0]=r=>n.value=r),value:n.value,"onUpdate:value":o[1]||(o[1]=r=>n.value=r),multiple:e.multiple,mode:e.multiple?"multiple":"default",allowClear:"",placeholder:e.placeholder,class:"w-fill",onChange:N},{default:l.withCtx(()=>[e.groupDatas.length>0?(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:0},l.renderList(e.groupDatas,r=>(l.openBlock(),l.createBlock(l.unref(g),{label:r.name,key:r.value},{default:l.withCtx(()=>[(l.openBlock(!0),l.createElementBlock(l.Fragment,null,l.renderList(r.children,(a,h)=>(l.openBlock(),l.createBlock(l.unref(m),{key:h,value:a[e.valueName].toString(),label:a[e.labelName]},{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(a[e.labelName]),1)]),_:2},1032,["value","label"]))),128))]),_:2},1032,["label"]))),128)):(l.openBlock(!0),l.createElementBlock(l.Fragment,{key:1},l.renderList(e.datas,(r,a)=>(l.openBlock(),l.createBlock(l.unref(m),{key:a,value:r[e.valueName].toString(),label:r[e.labelName]},{default:l.withCtx(()=>[l.createTextVNode(l.toDisplayString(r[e.labelName]),1)]),_:2},1032,["value","label"]))),128))]),_:1},8,["modelValue","value","multiple","mode","placeholder"]))}});exports.default=k;