@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) • 4.53 kB
JavaScript
;Object.defineProperties(exports,{__esModule:{value:!0},[Symbol.toStringTag]:{value:"Module"}});const e=require("vue");require("../../style/approver.css");const p=require("@javaguns/utils"),u=require("@javaguns/icon"),m=require("@javaguns/ui"),V=require("../../../hooks/useDrawer.js"),y=require("../../../utils/injection-key.js"),I=require("../../common/flowDrawerContent.vue.js"),B=require("../../common/flowRadioGroup.vue.js"),A=require("./flowApproverRule.vue.js"),q={class:"flow-approver-group-title"},x=e.defineComponent({name:"flow-approver-group"}),D=e.defineComponent({...x,props:{node:{},multiple:{type:Boolean,default:!0},title:{default:"审批人"},attribute:{default:"approverGroups"},approverTypes:{default:()=>[]}},setup(_,{expose:C}){const h=p.pluginManager.getComponent("Form"),w=p.pluginManager.getComponent("Card"),t=_,{appContext:b}=e.getCurrentInstance(),d=b.app.config.globalProperties.$flowUI,i=e.ref(),{approvals:a}=V.default(),k=e.computed(()=>p.deepClone(a).filter(o=>t.approverTypes.length==0?!0:t.approverTypes.includes(o.value)).map(o=>(t.node.nodeType==30||o.value==9?o.disabled=!0:o.disabled=o.disabled&&t.node[t.attribute]&&t.node[t.attribute].length>1,o))),T=()=>{t.node[t.attribute]&&t.node[t.attribute].push({id:p.getId(),approverType:8,approverTypeName:"指定成员",levelMode:1,controlIds:[],controlNames:[],assigneeType:1,selectMode:1,selectRange:1,approverIds:[],approverNames:[]}),s(null)},c=r=>{t.node[t.attribute]&&t.node[t.attribute].forEach((o,l)=>{o.id==r.id&&t.node[t.attribute]&&t.node[t.attribute].splice(l,1)}),s(null)},N=e.inject(y.ApproverMultiKey,()=>{}),f=e.inject(y.ApproverDisabledKey,()=>{}),g=(r,o)=>{a.forEach(l=>{l.approvalMode&&l.value==r.approverType&&(o&&l.approvalMode==1?t.node.attr.approvalMode=2:t.node.attr.approvalMode=l.approvalMode)})},M=r=>{r.approverIds=[],r.approverNames=[],r.controlIds=[],r.controlNames=[];const o=s(r);g(r,o),r.approverTypeName=a.filter(l=>l.value==r.approverType).map(l=>l.name)[0],r.approverType==12?f(!0):f(!1),r.approverType==17&&(r.approverIds.push(r.approverType),r.approverNames.push("所有成员"))},s=r=>{let o=!1;return t.node[t.attribute].length>1?o=!0:t.node[t.attribute].length==1?(r=t.node[t.attribute][0],o=a.filter(l=>l.value==r.approverType)[0].multiple,r.approverIds.length>1&&(o=!0),(r.approverType==9||r.approverType==20)&&r.selectMode==1&&(o=!0)):r&&(o=a.filter(l=>l.value==r.approverType)[0].multiple),N(o),o};return C({valid:async()=>{try{let r=null;return d=="element-plus"||d=="arco-design"?r=await i.value.validate():r=await i.value.validateFields(),console.log("Success:",r),!0}catch(r){return console.log("Failed:",r),!1}}}),(r,o)=>(e.openBlock(),e.createBlock(e.unref(h),{ref_key:"formRef",ref:i,model:t.node,class:"flow-drawer-approver-group"},{default:e.withCtx(()=>[e.createVNode(e.unref(m.GunsSpace),{dir:"vertical",size:"s"},{default:e.withCtx(()=>[(e.openBlock(!0),e.createElementBlock(e.Fragment,null,e.renderList(t.node[t.attribute],(l,v)=>(e.openBlock(),e.createBlock(e.unref(w),{key:v,class:"w-fill flow-drawer-approver-card"},{header:e.withCtx(()=>[e.createElementVNode("div",q,[e.createElementVNode("span",null,e.toDisplayString(t.title),1),r.multiple&&t.node[t.attribute]&&t.node[t.attribute].length>1?(e.openBlock(),e.createBlock(e.unref(u.IconDeleteOutline),{key:0,class:"flow-approver-group-del",size:"20",onClick:n=>c(l)},null,8,["onClick"])):e.createCommentVNode("",!0)])]),title:e.withCtx(()=>[e.createElementVNode("span",null,e.toDisplayString(t.title),1)]),extra:e.withCtx(()=>[r.multiple?(e.openBlock(),e.createBlock(e.unref(u.IconDeleteOutline),{key:0,class:"flow-approver-group-del",size:"20",onClick:n=>c(l)},null,8,["onClick"])):e.createCommentVNode("",!0)]),default:e.withCtx(()=>[e.createVNode(I.default,{name:t.title,prefix:"选择"},{default:e.withCtx(()=>[e.createVNode(B.default,{modelValue:l.approverType,"onUpdate:modelValue":n=>l.approverType=n,datas:k.value,row:!0,span:8,onChange:n=>M(l)},null,8,["modelValue","onUpdate:modelValue","datas","onChange"])]),_:2},1032,["name"]),e.createVNode(A.default,{node:t.node,group:l,k:v},null,8,["node","group","k"])]),_:2},1024))),128))]),_:1}),r.multiple?(e.openBlock(),e.createBlock(e.unref(m.GunsSpace),{key:0,justify:"center",class:"cursor-pointer padding-top10-bottom10",onClick:T},{default:e.withCtx(()=>[e.createVNode(e.unref(u.IconPlusOutline),{size:"20"}),e.createElementVNode("span",null,"添加"+e.toDisplayString(t.title),1)]),_:1})):e.createCommentVNode("",!0)]),_:1},8,["model"]))}});exports.default=D;