(window["webpackJsonp"]=window["webpackJsonp"]||[]).push([["chunk-2b443e6c"],{"00ee":function(e,t,s){"use strict";var i=s("b622"),r=i("toStringTag"),o={};o[r]="z",e.exports="[object z]"===String(o)},"09bb":function(e,t,s){"use strict";s("1bb1")},"0b20":function(e,t,s){},"0cb2":function(e,t,s){"use strict";var i=s("e330"),r=s("7b0b"),o=Math.floor,l=i("".charAt),n=i("".replace),a=i("".slice),c=/\$([$&'`]|\d{1,2}|<[^>]*>)/g,d=/\$([$&'`]|\d{1,2})/g;e.exports=function(e,t,s,i,p,u){var h=s+e.length,m=i.length,f=d;return void 0!==p&&(p=r(p),f=c),n(u,f,(function(r,n){var c;switch(l(n,0)){case"$":return"$";case"&":return e;case"`":return a(t,0,s);case"'":return a(t,h);case"<":c=p[a(n,1,-1)];break;default:var d=+n;if(0===d)return r;if(d>m){var u=o(d/10);return 0===u?r:u<=m?void 0===i[u-1]?l(n,1):i[u-1]+l(n,1):r}c=i[d-1]}return void 0===c?"":c}))}},"0f9d":function(e,t,s){"use strict";s("2062")},"107f":function(e,t,s){"use strict";s("31c1")},"1bb1":function(e,t,s){},"1d57":function(e,t,s){},"1e00":function(e,t,s){},2062:function(e,t,s){},"2fcc":function(e,t,s){"use strict";s("49ce")},"31c1":function(e,t,s){},4008:function(e,t,s){"use strict";s("1d57")},"41f4":function(e,t,s){e.exports=s.p+"img/code.09fdd434.png"},"43f1":function(e,t,s){"use strict";s("762f")},"44e7":function(e,t,s){"use strict";var i=s("861d"),r=s("c6b6"),o=s("b622"),l=o("match");e.exports=function(e){var t;return i(e)&&(void 0!==(t=e[l])?!!t:"RegExp"===r(e))}},4566:function(e,t,s){"use strict";s("1e00")},"45e7":function(e,t,s){},"468d":function(e,t,s){"use strict";s("8567")},"49ce":function(e,t,s){},"4b08":function(e,t,s){"use strict";s("d607")},"513b":function(e,t,s){"use strict";s("60df")},"529a":function(e,t,s){"use strict";s("8072")},"577e":function(e,t,s){"use strict";var i=s("f5df"),r=String;e.exports=function(e){if("Symbol"===i(e))throw TypeError("Cannot convert a Symbol value to a string");return r(e)}},"57f3":function(e,t,s){"use strict";s("68e9")},"5b81":function(e,t,s){"use strict";var i=s("23e7"),r=s("c65b"),o=s("e330"),l=s("1d80"),n=s("1626"),a=s("7234"),c=s("44e7"),d=s("577e"),p=s("dc4a"),u=s("90d8"),h=s("0cb2"),m=s("b622"),f=s("c430"),g=m("replace"),v=TypeError,b=o("".indexOf),y=o("".replace),S=o("".slice),_=Math.max,N=function(e,t,s){return s>e.length?-1:""===t?s:b(e,t,s)};i({target:"String",proto:!0},{replaceAll:function(e,t){var s,i,o,m,w,k,C,$,E,x=l(this),O=0,T=0,P="";if(!a(e)){if(s=c(e),s&&(i=d(l(u(e))),!~b(i,"g")))throw v("`.replaceAll` does not allow non-global regexes");if(o=p(e,g),o)return r(o,e,x,t);if(f&&s)return y(d(x),e,t)}m=d(x),w=d(e),k=n(t),k||(t=d(t)),C=w.length,$=_(1,C),O=N(m,w,0);while(-1!==O)E=k?d(t(w,O,m)):h(w,m,O,[],void 0,t),P+=S(m,T,O)+E,T=O+C,O=N(m,w,O+$);return T<m.length&&(P+=S(m,T)),P}})},"5cac":function(e,t,s){"use strict";s("802c")},"60df":function(e,t,s){},6218:function(e,t,s){},"68e9":function(e,t,s){},"694f":function(e,t,s){"use strict";s("d36a")},"762f":function(e,t,s){},"7c4f":function(e,t,s){"use strict";s("45e7")},"802c":function(e,t,s){},8072:function(e,t,s){},8567:function(e,t,s){},"90d8":function(e,t,s){"use strict";var i=s("c65b"),r=s("1a2d"),o=s("3a9b"),l=s("ad6d"),n=RegExp.prototype;e.exports=function(e){var t=e.flags;return void 0!==t||"flags"in n||r(e,"flags")||!o(n,e)?t:i(l,e)}},"94e3":function(e,t,s){},"971d":function(e,t,s){"use strict";s("d62c")},a396:function(e,t,s){"use strict";s("d03c")},ad6d:function(e,t,s){"use strict";var i=s("825a");e.exports=function(){var e=i(this),t="";return e.hasIndices&&(t+="d"),e.global&&(t+="g"),e.ignoreCase&&(t+="i"),e.multiline&&(t+="m"),e.dotAll&&(t+="s"),e.unicode&&(t+="u"),e.unicodeSets&&(t+="v"),e.sticky&&(t+="y"),t}},b274:function(e,t,s){"use strict";s("f6e7")},c4f3:function(e,t,s){"use strict";s("f20d")},c782:function(e,t,s){"use strict";s("6218")},d03c:function(e,t,s){},d180:function(e,t,s){},d36a:function(e,t,s){},d607:function(e,t,s){},d62c:function(e,t,s){},da40:function(e,t,s){"use strict";s("d180")},e3f9:function(e,t,s){"use strict";s("94e3")},e5e0:function(e,t,s){"use strict";s.r(t);var i=function(){var e=this,t=e._self._c;return t("el-container",[t("el-header",{staticStyle:{background:"white"}},[t("layout-header",{on:{publish:e.publishProcess,preview:e.preview},model:{value:e.activeSelect,callback:function(t){e.activeSelect=t},expression:"activeSelect"}})],1),t("div",{staticClass:"layout-body"},[t("process-design",{directives:[{name:"show",rawName:"v-show",value:"processDesign"===e.activeSelect,expression:"activeSelect === 'processDesign'"}],ref:"processDesign"}),t("form-pro-setting",{directives:[{name:"show",rawName:"v-show",value:"proSetting"===e.activeSelect,expression:"activeSelect === 'proSetting'"}],ref:"proSetting"})],1),t("w-dialog",{attrs:{showFooter:!1,title:"设置项检查"},model:{value:e.validVisible,callback:function(t){e.validVisible=t},expression:"validVisible"}},[t("el-result",{attrs:{icon:e.validIcon,title:e.errTitle,subTitle:e.validResult.desc}},[e.validResult.finished?e._e():t("i",{staticClass:"el-icon-loading",staticStyle:{"font-size":"30px"},attrs:{slot:"icon"},slot:"icon"}),e.validResult.errs.length>0?t("div",{staticClass:"err-info",attrs:{slot:"subTitle"},slot:"subTitle"},e._l(e.validResult.errs,(function(e,s){return t("ellipsis",{key:s+"_err",attrs:{"hover-tip":"",content:e}},[t("i",{staticClass:"el-icon-warning-outline",attrs:{slot:"pre"},slot:"pre"})])})),1):e._e(),t("template",{slot:"extra"},[t("el-form",{ref:"form",attrs:{model:e.form}},[t("el-form-item",{attrs:{label:"流程名称",prop:"name",rules:e.rules.name}},[t("el-input",{attrs:{placeholder:"请输入流程名称",size:"small",clearable:""},model:{value:e.form.name,callback:function(t){e.$set(e.form,"name",t)},expression:"form.name"}})],1),e.validResult.finished?t("el-button",{attrs:{type:"primary",size:"medium"},on:{click:e.doAfter}},[e._v(" "+e._s(e.validResult.action)+" ")]):e._e()],1)],1)],2)],1)],1)},r=[],o=(s("14d9"),function(){var e=this,t=e._self._c;return t("div",[t("div",{staticClass:"header"},[t("el-menu",{staticClass:"el-menu-demo",attrs:{"default-active":e.value,"active-text-color":"#409eff",mode:"horizontal"},on:{select:e.handleSelect}},[t("el-menu-item",{attrs:{index:"processDesign"},on:{click:function(t){return e.to("processDesign")}}},[e._v("审批流程 ")])],1),t("div",{staticClass:"publish"},[t("el-button",{attrs:{size:"mini",type:"primary"},on:{click:e.publish}},[t("i",{staticClass:"el-icon-s-promotion"}),e._v("发布")])],1),t("div",{staticClass:"back"},[t("el-button",{attrs:{size:"medium",icon:"el-icon-arrow-left",circle:""},on:{click:e.exit}})],1)],1),t("el-dialog",{attrs:{title:"请使用手机扫码预览",visible:e.viewCode,width:"300px","close-on-click-modal":!1,center:""},on:{"update:visible":function(t){e.viewCode=t}}},[t("img",{attrs:{src:s("41f4"),width:"250",height:"250"}})])],1)}),l=[],n={name:"LayoutHeader",props:{value:{type:String,default:"baseSetup"}},data(){return{viewCode:!1}},computed:{setup(){return this.$store.state.design}},created(){this.check()},mounted(){console.log(document.body.offsetWidth),document.body.offsetWidth<=970&&this.$msgbox.alert("本设计器未适配中小屏幕,建议您在PC电脑端浏览器进行操作"),this.listener()},methods:{publish(){this.$emit("publish")},preview(){this.$emit("preview"),this.viewCode=!0},valid(){return!!this.$isNotEmpty(this.setup.group)||(this.$message.warning("请选择分组"),this.$router.push("/layout/baseSetup"),!1)},exit(){this.$confirm("未发布的内容将不会被保存,是否直接退出 ?","提示",{confirmButtonText:"退出",cancelButtonText:"取消",type:"warning"}).then(()=>{this.$router.push("/formsPanel")})},to(e){this.$emit("input",e)},handleSelect(e,t){console.log(e,t)},listener(){window.onunload=this.closeBefore(),window.onbeforeunload=this.closeBefore()},closeBefore(){return!1},check(){this.$store.state.isEdit}}},a=n,c=(s("513b"),s("2877")),d=Object(c["a"])(a,o,l,!1,null,"25a67e95",null),p=d.exports,u=s("4e02"),h=function(){var e=this,t=e._self._c;return t("el-main",[t("div",{staticClass:"scale"},[t("el-button",{attrs:{icon:"el-icon-plus",size:"small",disabled:e.scale>=150,circle:""},on:{click:function(t){e.scale+=10}}}),t("span",[e._v(e._s(e.scale)+"%")]),t("el-button",{attrs:{icon:"el-icon-minus",size:"small",disabled:e.scale<=40,circle:""},on:{click:function(t){e.scale-=10}}})],1),t("div",{staticClass:"design",style:"transform: scale("+e.scale/100+");"},[t("process-tree",{ref:"process-tree",on:{selectedNode:e.nodeSelected}})],1),t("el-drawer",{attrs:{title:e.selectedNode.name,visible:e.showConfig,"modal-append-to-body":!1,size:"CONDITION"===e.selectedNode.type?"600px":"500px",direction:"rtl",modal:!1,"destroy-on-close":""},on:{"update:visible":function(t){e.showConfig=t}}},[t("div",{attrs:{slot:"title"},slot:"title"},[t("el-input",{directives:[{name:"show",rawName:"v-show",value:e.showInput,expression:"showInput"}],staticStyle:{width:"300px"},attrs:{size:"medium"},on:{blur:function(t){e.showInput=!1}},model:{value:e.selectedNode.name,callback:function(t){e.$set(e.selectedNode,"name",t)},expression:"selectedNode.name"}}),t("el-link",{directives:[{name:"show",rawName:"v-show",value:!e.showInput,expression:"!showInput"}],staticStyle:{"font-size":"medium"},on:{click:function(t){e.showInput=!0}}},[t("i",{staticClass:"el-icon-edit",staticStyle:{"margin-right":"10px"}}),e._v(" "+e._s(e.selectedNode.name)+" ")])],1),t("div",{staticClass:"node-config-content"},[t("node-config")],1)])],1)},m=[],f=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:e.config.name,"show-error":e.showError,content:e.content,"error-info":e.errorInfo,placeholder:"请设置审批人","header-bgc":e.headerBgc,"header-icon":"el-icon-s-check"},on:{selected:function(t){return e.$emit("selected")},delNode:function(t){return e.$emit("delNode")},insertNode:t=>e.$emit("insertNode",t)}})},g=[],v=(s("5b81"),function(){var e=this,t=e._self._c;return t("div",{class:{node:!0,root:e.isRoot||!e.show,"node-error-state":e.showError}},[e.show?t("div",{class:{"node-body":!0,error:e.showError},on:{click:function(t){return e.$emit("selected")}}},[t("div",[t("div",{staticClass:"node-body-header",style:{"background-color":e.headerBgc}},[""!==(e.headerIcon||"")?t("i",{class:e.headerIcon,staticStyle:{"margin-right":"5px"}}):e._e(),t("ellipsis",{staticClass:"name",attrs:{"hover-tip":"",content:e.title}}),e.isRoot||"viewer"===e.$store.state.diagramMode?e._e():t("i",{staticClass:"el-icon-close",staticStyle:{float:"right"},on:{click:function(t){return e.$emit("delNode")}}})],1),t("div",{staticClass:"node-body-content"},[e.leftIcon?t("i",{class:e.leftIcon}):e._e(),""===(e.content||"").trim()?t("span",{staticClass:"placeholder"},[e._v(e._s(e.placeholder))]):t("ellipsis",{attrs:{row:3,content:e.content}}),"viewer"!==e.$store.state.diagramMode?t("i",{staticClass:"el-icon-arrow-right"}):e._e()],1),e.showError?t("div",{staticClass:"node-error"},[t("el-tooltip",{attrs:{effect:"dark",content:e.errorInfo,placement:"top-start"}},[t("i",{staticClass:"el-icon-warning-outline"})])],1):e._e()])]):e._e(),t("div",{staticClass:"node-footer"},[t("div",{staticClass:"btn"},[t("insert-button",{directives:[{name:"show",rawName:"v-show",value:"viewer"!==e.$store.state.diagramMode,expression:"$store.state.diagramMode !== 'viewer'"}],on:{insertNode:t=>e.$emit("insertNode",t)}})],1)])])}),b=[],y=function(){var e=this,t=e._self._c;return t("el-popover",{attrs:{placement:"bottom-start",title:"添加流程节点",width:"350",trigger:"click"}},[t("div",{staticClass:"node-select"},[t("div",{on:{click:e.addApprovalNode}},[t("i",{staticClass:"el-icon-s-check",staticStyle:{color:"rgb(255, 148, 62)"}}),t("span",[e._v("审批人")])])]),t("el-button",{attrs:{slot:"reference",icon:"el-icon-plus",type:"primary",size:"small",circle:""},slot:"reference"})],1)},S=[],_={name:"InsertButton",components:{},data(){return{}},computed:{selectedNode(){this.$store.state.selectedNode}},methods:{addApprovalNode(){this.$emit("insertNode","APPROVAL")},addTaskNode(){this.$emit("insertNode","TASK")},addCcNode(){this.$emit("insertNode","CC")},addDelayNode(){this.$emit("insertNode","DELAY")},addConditionsNode(){this.$emit("insertNode","CONDITIONS")},addConcurrentsNode(){this.$emit("insertNode","CONCURRENTS")},addInclusivesNode(){this.$emit("insertNode","INCLUSIVES")},addTriggerNode(){this.$emit("insertNode","TRIGGER")},addSubprocessNode(){this.$emit("insertNode","SUBPROCESS")}}},N=_,w=(s("43f1"),Object(c["a"])(N,y,S,!1,null,"a10a583a",null)),k=w.exports,C={name:"Node",components:{InsertButton:k},props:{isRoot:{type:Boolean,default:!1},show:{type:Boolean,default:!0},content:{type:String,default:""},title:{type:String,default:"标题"},placeholder:{type:String,default:"请设置"},leftIcon:{type:String,default:void 0},headerIcon:{type:String,default:""},headerBgc:{type:String,default:"#576a95"},showError:{type:Boolean,default:!1},errorInfo:{type:String,default:"无信息"}},data(){return{}},methods:{}},$=C,E=(s("f65b"),Object(c["a"])($,v,b,!1,null,"360eef10",null)),x=E.exports,O={name:"ApprovalNode",props:{config:{type:Object,default:()=>({})}},components:{Node:x},data(){return{showError:!1,errorInfo:""}},computed:{headerBgc(){return"viewer"===this.$store.state.diagramMode?this.config.props.headerBgc:"#ff943e"},content(){const e=this.config.props;console.log("role,config.assignedUser",e);let t=[];return e.assignedUser.forEach(e=>t.push(e.label)),String(t).replaceAll(",","、")}},methods:{getFormItemById(e){return this.$store.state.design.formItems.find(t=>t.id===e)},validate(e){try{return this.showError=!this["validate_"+this.config.props.assignedType](e),"TO_USER"===this.config.props.nobody.handler&&0===this.config.props.nobody.assignedUser.length&&(this.errorInfo="审批人为空时, 转交给指定人员:【请指定一个具体的人】",e.push("审批人为空时, 转交给指定人员:【请指定一个具体的人】"),this.showError=!0),this.showError}catch(t){return!0}},validate_ASSIGN_USER(e){return this.config.props.assignedUser.length>0||(this.errorInfo="请指定审批人员",e.push(this.config.name+" 未指定审批人员"),!1)},validate_SELF_SELECT(e){return!0},validate_LEADER_TOP(e){return!0},validate_LEADER(e){return!0},validate_ROLE(e){return!(this.config.props.assignedUser.length<=0)||(this.errorInfo="请指定负责审批的系统角色",e.push(this.config.name+" 未指定审批角色"),!1)},validate_SELF(e){return!0},validate_FORM_USER(e){return""!==this.config.props.formUser||(this.errorInfo="请指定表单中的人员组件",e.push(this.config.name+" 审批人为表单中人员,但未指定"),!1)},validate_REFUSE(e){return!0}}},T=O,P=Object(c["a"])(T,f,g,!1,null,"cf594730",null),I=P.exports,R=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:e.config.name,"show-error":e.showError,content:e.content,"error-info":e.errorInfo,placeholder:"请设置办理人","header-bgc":e.headerBgc,"header-icon":"el-icon-s-check"},on:{selected:function(t){return e.$emit("selected")},delNode:function(t){return e.$emit("delNode")},insertNode:t=>e.$emit("insertNode",t)}})},U=[],A={name:"TaskNode",props:{config:{type:Object,default:()=>({})}},components:{Node:x},data(){return{showError:!1,errorInfo:""}},computed:{headerBgc(){return"viewer"===this.$store.state.diagramMode?this.config.props.headerBgc:"#e6b039"},content(){const e=this.config.props;switch(e.assignedType){case"ASSIGN_USER":if(e.assignedUser.length>0){let t=[];return e.assignedUser.forEach(e=>t.push(e.name)),String(t).replaceAll(",","、")}return"请指定办理人";case"SELF":return"发起人自己";case"SELF_SELECT":return e.selfSelect.multiple?"发起人自选多人":"发起人自选一人";case"LEADER_TOP":return"多级主管依次办理";case"LEADER":return e.leader.level>1?"发起人的第 "+e.leader.level+" 级主管":"发起人的直接主管";case"FORM_USER":if(e.formUser&&""!==e.formUser){let t=this.getFormItemById(e.formUser);return t&&t.title?`表单(${t.title})内的人员`:"该表单已被移除😥"}return"表单内联系人(未选择)";case"ROLE":if(e.assignedUser.length>0){let t=[];return e.assignedUser.forEach(e=>t.push(e.name)),String(t).replaceAll(",","、")}return"指定角色(未设置)";default:return"未知设置项😥"}}},methods:{getFormItemById(e){return this.$store.state.design.formItems.find(t=>t.id===e)},validate(e){try{return this.showError=!this["validate_"+this.config.props.assignedType](e),"TO_USER"===this.config.props.nobody.handler&&0===this.config.props.nobody.assignedUser.length&&(this.errorInfo="办理人为空时, 转交给指定人员:【请指定一个具体的人】",e.push("办理人为空时, 转交给指定人员:【请指定一个具体的人】"),this.showError=!0),this.showError}catch(t){return!0}},validate_ASSIGN_USER(e){return this.config.props.assignedUser.length>0||(this.errorInfo="请指定办理人员",e.push(this.config.name+" 未指定办理人员"),!1)},validate_SELF_SELECT(e){return!0},validate_LEADER_TOP(e){return!0},validate_LEADER(e){return!0},validate_ROLE(e){return!(this.config.props.role.length<=0)||(this.errorInfo="请指定负责办理的系统角色",e.push(this.config.name+" 未指定办理角色"),!1)},validate_SELF(e){return!0},validate_FORM_USER(e){return""!==this.config.props.formUser||(this.errorInfo="请指定表单中的人员组件",e.push(this.config.name+" 办理人为表单中人员,但未指定"),!1)},validate_REFUSE(e){return!0}}},L=A,D=Object(c["a"])(L,R,U,!1,null,"36a9af9d",null),z=D.exports,M=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:e.config.name,"show-error":e.showError,content:e.content,"error-info":e.errorInfo,placeholder:"请设置抄送人","header-bgc":"#3296fa","header-icon":"el-icon-s-promotion"},on:{selected:function(t){return e.$emit("selected")},delNode:function(t){return e.$emit("delNode")},insertNode:t=>e.$emit("insertNode",t)}})},F=[],B={name:"CcNode",props:{config:{type:Object,default:()=>({})}},components:{Node:x},data(){return{showError:!1,errorInfo:""}},computed:{content(){if(this.config.props.shouldAdd)return"由发起人指定";if(this.config.props.assignedUser.length>0){let e=[];return this.config.props.assignedUser.forEach(t=>e.push(t.name)),String(e).replaceAll(",","、")}return null}},methods:{validate(e){return this.showError=!1,this.config.props.shouldAdd?this.showError=!1:0===this.config.props.assignedUser.length&&(this.showError=!0,this.errorInfo="请选择需要抄送的人员"),this.showError&&e.push(`抄送节点 ${this.config.name} 未设置抄送人`),!this.showError}}},j=B,G=Object(c["a"])(j,M,F,!1,null,"b2b462ee",null),V=G.exports,H=function(){var e=this,t=e._self._c;return t("div",{staticClass:"node"},[t("div",{staticClass:"node-body",on:{click:function(t){return e.$emit("selected")}}},[e.level>1?t("div",{directives:[{name:"show",rawName:"v-show",value:"viewer"!==e.$store.state.diagramMode,expression:"$store.state.diagramMode !== 'viewer'"}],staticClass:"node-body-left",on:{click:function(t){return t.stopPropagation(),e.$emit("leftMove")}}},[t("i",{staticClass:"el-icon-arrow-left"})]):e._e(),t("div",{staticClass:"node-body-main"},[t("div",{staticClass:"node-body-main-header"},[t("span",{staticClass:"title"},[t("i",{staticClass:"el-icon-s-operation"}),t("ellipsis",{staticClass:"name",attrs:{"hover-tip":"",content:e.config.name?e.config.name:"并行任务"+e.level}})],1),t("span",{directives:[{name:"show",rawName:"v-show",value:"viewer"!==e.$store.state.diagramMode,expression:"$store.state.diagramMode !== 'viewer'"}],staticClass:"option"},[t("el-tooltip",{attrs:{effect:"dark",content:"复制分支",placement:"top"}},[t("i",{staticClass:"el-icon-copy-document",on:{click:function(t){return e.$emit("copy")}}})]),t("i",{staticClass:"el-icon-close",on:{click:function(t){return t.stopPropagation(),e.$emit("delNode")}}})],1)]),e._m(0)]),e.level<e.size?t("div",{directives:[{name:"show",rawName:"v-show",value:"viewer"!==e.$store.state.diagramMode,expression:"$store.state.diagramMode !== 'viewer'"}],staticClass:"node-body-right",on:{click:function(t){return t.stopPropagation(),e.$emit("rightMove")}}},[t("i",{staticClass:"el-icon-arrow-right"})]):e._e()]),t("div",{staticClass:"node-footer"},[t("div",{staticClass:"btn"},[t("insert-button",{directives:[{name:"show",rawName:"v-show",value:"viewer"!==e.$store.state.diagramMode,expression:"$store.state.diagramMode !== 'viewer'"}],on:{insertNode:t=>e.$emit("insertNode",t)}})],1)])])},J=[function(){var e=this,t=e._self._c;return t("div",{staticClass:"node-body-main-content"},[t("span",[e._v("并行任务(同时进行)")])])}],Y={name:"ConcurrentNode",components:{InsertButton:k},props:{config:{type:Object,default:()=>({})},level:{type:Number,default:1},size:{type:Number,default:0}},data(){return{}},methods:{}},K=Y,q=(s("694f"),Object(c["a"])(K,H,J,!1,null,"d403ed56",null)),W=q.exports,X=function(){var e=this,t=e._self._c;return t("div",{class:{node:!0,"node-error-state":e.showError}},[t("div",{class:{"node-body":!0,error:e.showError}},[e.level>1&&"viewer"!==e.$store.state.diagramMode?t("div",{staticClass:"node-body-left",on:{click:function(t){return e.$emit("leftMove")}}},[t("i",{staticClass:"el-icon-arrow-left"})]):e._e(),t("div",{staticClass:"node-body-main",on:{click:function(t){return e.$emit("selected")}}},[t("div",{staticClass:"node-body-main-header"},[t("ellipsis",{staticClass:"title",attrs:{"hover-tip":"",content:e.config.name?e.config.name:"条件"+e.level}}),t("span",{staticClass:"level"},[e._v("优先级"+e._s(e.level))]),"viewer"!==e.$store.state.diagramMode?t("span",{staticClass:"option"},[t("el-tooltip",{attrs:{effect:"dark",content:"复制条件",placement:"top"}},[t("i",{staticClass:"el-icon-copy-document",on:{click:function(t){return t.stopPropagation(),e.$emit("copy")}}})]),t("i",{staticClass:"el-icon-close",on:{click:function(t){return t.stopPropagation(),e.$emit("delNode")}}})],1):e._e()],1),t("div",{staticClass:"node-body-main-content"},[""===(e.content||"").trim()?t("span",{staticClass:"placeholder"},[e._v(e._s(e.level==e.size&&0!=e.size?"其他条件进入此流程":e.placeholder))]):t("ellipsis",{attrs:{hoverTip:"",row:4,content:e.content}})],1)]),e.level<e.size&&"viewer"!==e.$store.state.diagramMode?t("div",{staticClass:"node-body-right",on:{click:function(t){return e.$emit("rightMove")}}},[t("i",{staticClass:"el-icon-arrow-right"})]):e._e(),e.showError?t("div",{staticClass:"node-error"},[t("el-tooltip",{attrs:{effect:"dark",content:e.errorInfo,placement:"top-start"}},[t("i",{staticClass:"el-icon-warning-outline"})])],1):e._e()]),t("div",{staticClass:"node-footer"},[t("div",{staticClass:"btn"},["viewer"!==e.$store.state.diagramMode?t("insert-button",{on:{insertNode:t=>e.$emit("insertNode",t)}}):e._e()],1)])])},Q=[];const Z={string:"String",object:"Object",array:"Array",number:"Number",date:"Date",user:"User",dept:"Dept",dateRange:"DateRange"};Z.array,Z.string,Z.string,Z.number,Z.number,Z.string,Z.array,Z.date,Z.dateRange,Z.array,Z.array,Z.user,Z.dept,Z.string,Z.array;const ee=["A","B","C","D","E","F","G","H","I","J"];var te={name:"ConditionNode",components:{InsertButton:k},props:{config:{type:Object,default:()=>({})},level:{type:Number,default:1},size:{type:Number,default:0}},data(){return{ValueType:Z,groupNames:ee,placeholder:"请设置条件",errorInfo:"",showError:!1}},computed:{content(){const e=this.config.props.groups;let t=[];return e.forEach(e=>{let s=[];e.conditions.forEach(e=>{let t="";switch(e.valueType){case Z.dept:case Z.user:t=`${e.title}属于[${String(e.value.map(e=>e.name)).replaceAll(",",". ")}]之一`;break;case Z.number:case Z.string:t=this.getOrdinaryConditionContent(e);break}s.push(t)});let i=String(s).replaceAll(",",s.length>1?"AND"===e.groupType?") 且 (":") 或 (":"AND"===e.groupType?" 且 ":" 或 ");t.push(s.length>1?`(${i})`:i)}),String(t).replaceAll(",","AND"===this.config.props.groupsType?" 且 ":" 或 ")}},methods:{getDefault(e,t){return e&&""!==e?e:t},getOrdinaryConditionContent(e){switch(e.compare){case"IN":let t=e.value.map((function(e){return e.label}));return console.log("subCondition",String(t)),`${e.title}为[${String(t).replaceAll(",","、")}]中之一`;case"B":return`${e.value[0]} < ${e.title} < ${e.value[1]}`;case"AB":return`${e.value[0]} ≤ ${e.title} < ${e.value[1]}`;case"BA":return`${e.value[0]} < ${e.title} ≤ ${e.value[1]}`;case"ABA":return`${e.value[0]} ≤ ${e.title} ≤ ${e.value[1]}`;case"<=":return`${e.title} ≤ ${this.getDefault(e.value[0]," ?")}`;case">=":return`${e.title} ≥ ${this.getDefault(e.value[0]," ?")}`;default:return`${e.title}${e.compare}${this.getDefault(e.value[0]," ?")}`}},validate(e){var t;if(console.log("condition children",this.config.children),(this.level!=this.size||0==this.size)&&(null===(t=this.config.children)||void 0===t||!t.id))return this.showError=!0,this.errorInfo="条件分支后不能为空",e.push("条件分支后不能为空"),!this.showError;const s=this.config.props;if(s.groups.length<=0)this.showError=!0,this.errorInfo="请设置分支条件",e.push(this.config.name+" 未设置条件");else if(this.level!=this.size||0==this.size)for(let i=0;i<s.groups.length;i++){if(0===s.groups[i].cids.length){this.showError=!0,this.errorInfo=`请设置条件组${this.groupNames[i]}内的条件`,e.push(`条件 ${this.config.name} 条件组${this.groupNames[i]}内未设置条件`);break}{let t=s.groups[i].conditions;for(let s=0;s<t.length;s++){let r=t[s];if(0===r.value.length?this.showError=!0:this.showError=!1,this.showError)return this.errorInfo=`请完善条件组${this.groupNames[i]}内的${r.title}条件`,e.push(`条件 ${this.config.name} 条件组${this.groupNames[i]}内${r.title}条件未完善`),!1}}}return!this.showError}}},se=te,ie=(s("4008"),Object(c["a"])(se,X,Q,!1,null,"47cd3c3a",null)),re=ie.exports,oe=function(){var e=this,t=e._self._c;return t("div",{class:{node:!0,"node-error-state":e.showError}},[t("div",{class:{"node-body":!0,error:e.showError}},[e.level>1&&"viewer"!==e.$store.state.diagramMode?t("div",{staticClass:"node-body-left",on:{click:function(t){return e.$emit("leftMove")}}},[t("i",{staticClass:"el-icon-arrow-left"})]):e._e(),t("div",{staticClass:"node-body-main",on:{click:function(t){return e.$emit("selected")}}},[t("div",{staticClass:"node-body-main-header"},[t("ellipsis",{staticClass:"title",attrs:{"hover-tip":"",content:e.config.name?e.config.name:"条件"+e.level}}),t("span",{staticClass:"level"},[e._v("优先级"+e._s(e.level))]),"viewer"!==e.$store.state.diagramMode?t("span",{staticClass:"option"},[t("el-tooltip",{attrs:{effect:"dark",content:"复制条件",placement:"top"}},[t("i",{staticClass:"el-icon-copy-document",on:{click:function(t){return t.stopPropagation(),e.$emit("copy")}}})]),t("i",{staticClass:"el-icon-close",on:{click:function(t){return t.stopPropagation(),e.$emit("delNode")}}})],1):e._e()],1),t("div",{staticClass:"node-body-main-content"},[""===(e.content||"").trim()?t("span",{staticClass:"placeholder"},[e._v(e._s(e.level==e.size&&0!=e.size?"其他条件进入此流程":e.placeholder))]):t("ellipsis",{attrs:{hoverTip:"",row:4,content:e.content}})],1)]),e.level<e.size&&"viewer"!==e.$store.state.diagramMode?t("div",{staticClass:"node-body-right",on:{click:function(t){return e.$emit("rightMove")}}},[t("i",{staticClass:"el-icon-arrow-right"})]):e._e(),e.showError?t("div",{staticClass:"node-error"},[t("el-tooltip",{attrs:{effect:"dark",content:e.errorInfo,placement:"top-start"}},[t("i",{staticClass:"el-icon-warning-outline"})])],1):e._e()]),t("div",{staticClass:"node-footer"},[t("div",{staticClass:"btn"},["viewer"!==e.$store.state.diagramMode?t("insert-button",{on:{insertNode:t=>e.$emit("insertNode",t)}}):e._e()],1)])])},le=[];const ne=["A","B","C","D","E","F","G","H","I","J"];var ae={name:"InclusiveNode",components:{InsertButton:k},props:{config:{type:Object,default:()=>({})},level:{type:Number,default:1},size:{type:Number,default:0}},data(){return{ValueType:Z,groupNames:ne,placeholder:"请设置条件",errorInfo:"",showError:!1}},computed:{content(){const e=this.config.props.groups;let t=[];return e.forEach(e=>{let s=[];e.conditions.forEach(e=>{let t="";switch(e.valueType){case Z.dept:case Z.user:t=`${e.title}属于[${String(e.value.map(e=>e.name)).replaceAll(",",". ")}]之一`;break;case Z.number:case Z.string:t=this.getOrdinaryConditionContent(e);break}s.push(t)});let i=String(s).replaceAll(",",s.length>1?"AND"===e.groupType?") 且 (":") 或 (":"AND"===e.groupType?" 且 ":" 或 ");t.push(s.length>1?`(${i})`:i)}),String(t).replaceAll(",","AND"===this.config.props.groupsType?" 且 ":" 或 ")}},methods:{getDefault(e,t){return e&&""!==e?e:t},getOrdinaryConditionContent(e){switch(e.compare){case"IN":return`${e.title}为[${String(e.value).replaceAll(",","、")}]中之一`;case"B":return`${e.value[0]} < ${e.title} < ${e.value[1]}`;case"AB":return`${e.value[0]} ≤ ${e.title} < ${e.value[1]}`;case"BA":return`${e.value[0]} < ${e.title} ≤ ${e.value[1]}`;case"ABA":return`${e.value[0]} ≤ ${e.title} ≤ ${e.value[1]}`;case"<=":return`${e.title} ≤ ${this.getDefault(e.value[0]," ?")}`;case">=":return`${e.title} ≥ ${this.getDefault(e.value[0]," ?")}`;default:return`${e.title}${e.compare}${this.getDefault(e.value[0]," ?")}`}},validate(e){var t;if(console.log("inclusive children",this.config.children),(this.level!=this.size||0==this.size)&&(null===(t=this.config.children)||void 0===t||!t.id))return this.showError=!0,this.errorInfo="条件分支后不能为空",e.push("条件分支后不能为空"),!this.showError;const s=this.config.props;if(s.groups.length<=0)this.showError=!0,this.errorInfo="请设置分支条件",e.push(this.config.name+" 未设置条件");else if(this.level!=this.size||0==this.size)for(let i=0;i<s.groups.length;i++){if(0===s.groups[i].cids.length){this.showError=!0,this.errorInfo=`请设置条件组${this.groupNames[i]}内的条件`,e.push(`条件 ${this.config.name} 条件组${this.groupNames[i]}内未设置条件`);break}{let t=s.groups[i].conditions;for(let s=0;s<t.length;s++){let r=t[s];if(0===r.value.length?this.showError=!0:this.showError=!1,this.showError)return this.errorInfo=`请完善条件组${this.groupNames[i]}内的${r.title}条件`,e.push(`条件 ${this.config.name} 条件组${this.groupNames[i]}内${r.title}条件未完善`),!1}}}return!this.showError}}},ce=ae,de=(s("da40"),Object(c["a"])(ce,oe,le,!1,null,"2c77f506",null)),pe=de.exports,ue=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:e.config.name,"show-error":e.showError,content:e.content,"error-info":e.errorInfo,placeholder:"请设置触发器","header-bgc":"#47bc82","header-icon":"el-icon-set-up"},on:{selected:function(t){return e.$emit("selected")},delNode:function(t){return e.$emit("delNode")},insertNode:t=>e.$emit("insertNode",t)}})},he=[],me={name:"TriggerNode",props:{config:{type:Object,default:()=>({})}},components:{Node:x},data(){return{showError:!1,errorInfo:""}},computed:{content(){this.config}},methods:{validate(e){return this.showError=!1,"WEBHOOK"===this.config.props.type?this.$isNotEmpty(this.config.props.http.url)?this.showError=!1:(this.showError=!0,this.errorInfo="请设置WEBHOOK的URL地址"):"EMAIL"===this.config.props.type&&(this.$isNotEmpty(this.config.props.email.subject)&&0!==this.config.props.email.to.length&&this.$isNotEmpty(this.config.props.email.content)?this.showError=!1:(this.showError=!0,this.errorInfo="请设置邮件发送配置")),this.showError&&e.push(this.config.name+" 触发动作未设置完善"),!this.showError}}},fe=me,ge=Object(c["a"])(fe,ue,he,!1,null,"3d299947",null),ve=ge.exports,be=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:e.config.name,"show-error":e.showError,content:e.content,"error-info":e.errorInfo,placeholder:"请设置延时时间","header-bgc":"#f25643","header-icon":"el-icon-time"},on:{selected:function(t){return e.$emit("selected")},delNode:function(t){return e.$emit("delNode")},insertNode:t=>e.$emit("insertNode",t)}})},ye=[],Se={name:"DelayNode",props:{config:{type:Object,default:()=>({})}},components:{Node:x},data(){return{showError:!1,errorInfo:""}},computed:{content(){return"FIXED"===this.config.props.type?`等待 ${this.config.props.time} ${this.getName(this.config.props.unit)}`:"AUTO"===this.config.props.type?"至当天 "+this.config.props.dateTime:null}},methods:{validate(e){this.showError=!1;try{"AUTO"===this.config.props.type?""===(this.config.props.dateTime||"")&&(this.showError=!0,this.errorInfo="请选择时间点"):this.config.props.time<=0&&(this.showError=!0,this.errorInfo="请设置延时时长")}catch(t){this.showError=!0,this.errorInfo="配置出现问题"}return this.showError&&e.push(this.config.name+" 未设置延时规则"),!this.showError},getName(e){switch(e){case"D":return"天";case"H":return"小时";case"M":return"分钟";default:return"未知"}}}},_e=Se,Ne=Object(c["a"])(_e,be,ye,!1,null,"0ed9ede5",null),we=Ne.exports,ke=function(){var e=this,t=e._self._c;return t("node",{attrs:{show:!1},on:{insertNode:t=>e.$emit("insertNode",t)}})},Ce=[],$e={name:"EmptyNode",components:{Node:x},data(){return{}},methods:{}},Ee=$e,xe=Object(c["a"])(Ee,ke,Ce,!1,null,"c70b12b0",null),Oe=xe.exports,Te=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:"发起人","is-root":!0,content:e.content,placeholder:"所有人","header-bgc":e.headerBgc,"header-icon":"el-icon-user-solid"},on:{selected:function(t){return e.$emit("selected")},insertNode:t=>e.$emit("insertNode",t)}})},Pe=[],Ie={name:"RootNode",components:{Node:x},props:{config:{type:Object,default:()=>({})}},computed:{content(){if(this.config.props.assignedUser.length>0){let e=[];return this.config.props.assignedUser.forEach(t=>e.push(t.name)),String(e).replaceAll(",","、")}return"所有人"},headerBgc(){return"viewer"===this.$store.state.diagramMode?this.config.props.headerBgc:"#576a95"}},data(){return{}},methods:{}},Re=Ie,Ue=Object(c["a"])(Re,Te,Pe,!1,null,"6067fd37",null),Ae=Ue.exports,Le=function(){var e=this,t=e._self._c;return t("node",{attrs:{title:e.config.name,"show-error":e.showError,content:e.content,"error-info":e.errorInfo,placeholder:"请设置审批人","header-bgc":e.headerBgc,"header-icon":"el-icon-s-check"},on:{selected:function(t){return e.$emit("selected")},delNode:function(t){return e.$emit("delNode")},insertNode:t=>e.$emit("insertNode",t)}})},De=[],ze={name:"SubprocessNode",props:{config:{type:Object,default:()=>({})}},components:{Node:x},data(){return{showError:!1,errorInfo:""}},computed:{headerBgc(){return"viewer"===this.$store.state.diagramMode?this.config.props.headerBgc:"#ff943e"},content(){const e=this.config.props;switch(console.log("role,config.assignedUser",e.assignedUser),e.assignedType){case"ASSIGN_USER":if(e.assignedUser.length>0){let t=[];return e.assignedUser.forEach(e=>t.push(e.name)),String(t).replaceAll(",","、")}return"请指定审批人";case"SELF":return"发起人自己";case"SELF_SELECT":return e.selfSelect.multiple?"发起人自选多人":"发起人自选一人";case"LEADER_TOP":return"多级主管依次审批";case"LEADER":return e.leader.level>1?"发起人的第 "+e.leader.level+" 级主管":"发起人的直接主管";case"FORM_USER":if(e.formUser&&""!==e.formUser){let t=this.getFormItemById(e.formUser);return t&&t.title?`表单(${t.title})内的人员`:"该表单已被移除😥"}return"表单内联系人(未选择)";case"ROLE":if(e.assignedUser.length>0){let t=[];return e.assignedUser.forEach(e=>t.push(e.name)),String(t).replaceAll(",","、")}return"指定角色(未设置)";default:return"未知设置项😥"}}},methods:{getFormItemById(e){return this.$store.state.design.formItems.find(t=>t.id===e)},validate(e){try{return this.showError=!this["validate_"+this.config.props.assignedType](e),"TO_USER"===this.config.props.nobody.handler&&0===this.config.props.nobody.assignedUser.length&&(this.errorInfo="审批人为空时, 转交给指定人员:【请指定一个具体的人】",e.push("审批人为空时, 转交给指定人员:【请指定一个具体的人】"),this.showError=!0),this.showError}catch(t){return!0}},validate_ASSIGN_USER(e){return this.config.props.assignedUser.length>0||(this.errorInfo="请指定审批人员",e.push(this.config.name+" 未指定审批人员"),!1)},validate_SELF_SELECT(e){return!0},validate_LEADER_TOP(e){return!0},validate_LEADER(e){return!0},validate_ROLE(e){return!(this.config.props.role.length<=0)||(this.errorInfo="请指定负责审批的系统角色",e.push(this.config.name+" 未指定审批角色"),!1)},validate_SELF(e){return!0},validate_FORM_USER(e){return""!==this.config.props.formUser||(this.errorInfo="请指定表单中的人员组件",e.push(this.config.name+" 审批人为表单中人员,但未指定"),!1)},validate_REFUSE(e){return!0}}},Me=ze,Fe=Object(c["a"])(Me,Le,De,!1,null,"5d1a856d",null),Be=Fe.exports;const je={assignedType:"ASSIGN_USER",nobody:{handler:"TO_PASS",assignedUser:[]},assignedUser:[],refuse:{type:"TO_END",target:""},groups:[{}]},Ge={assignedUser:[],formPerms:[]},Ve={groupsType:"OR",groups:[{groupType:"AND",cids:[],conditions:[]}],expression:""},He={shouldAdd:!1,assignedUser:[],formPerms:[]},Je={type:"WEBHOOK",http:{method:"GET",url:"",headers:[{name:"",isField:!0,value:""}],contentType:"FORM",params:[{name:"",isField:!0,value:""}],retry:1,handlerByScript:!1,success:"function handlerOk(res) {\n return true;\n}",fail:"function handlerFail(res) {\n return true;\n}"},email:{subject:"",to:[],content:""}},Ye={type:"FIXED",time:0,unit:"M",dateTime:""},Ke={assignedType:"ASSIGN_USER",mode:"AND",sign:!1,nobody:{handler:"TO_PASS",assignedUser:[]},assignedUser:[],formPerms:[],role:[],refuse:{type:"TO_END",target:""},formUser:""},qe={groupsType:"OR",groups:[{groupType:"AND",cids:[],conditions:[]}],expression:""};var We,Xe,Qe={APPROVAL_PROPS:je,TASK_PROPS:Ke,CC_PROPS:He,DELAY_PROPS:Ye,CONDITION_PROPS:Ve,ROOT_PROPS:Ge,TRIGGER_PROPS:Je,INCLUSIVE_PROPS:qe},Ze={name:"ProcessTree",components:{Node:x,Root:Ae,Approval:I,Task:z,Cc:V,Trigger:ve,Concurrent:W,Condition:re,Inclusive:pe,Delay:we,Empty:Oe,Subprocess:Be},data(){return{valid:!0}},computed:{nodeMap(){return this.$store.state.nodeMap},dom(){return this.$store.state.design.process}},render(e,t){console.log("渲染流程树"),this.nodeMap.clear();let s=this.getDomTree(e,this.dom);return s.push(e("div",{style:{"text-align":"center"}},[e("div",{class:{"process-end":!0},domProps:{innerHTML:"流程结束"}})])),e("div",{class:{_root:!0},ref:"_root"},s)},methods:{getDomTree(e,t){if(this.toMapping(t),this.isPrimaryNode(t)){let s=this.getDomTree(e,t.children);return this.decodeAppendDom(e,t,s),[e("div",{class:{"primary-node":!0}},s)]}if(this.isBranchNode(t)){let s=0,i=t.branchs.map(i=>{this.toMapping(i);let r=this.getDomTree(e,i.children);return this.decodeAppendDom(e,i,r,{level:s+1,size:t.branchs.length}),this.insertCoverLine(e,s,r,t.branchs),s++,e("div",{class:{"branch-node-item":!0}},r)});i.unshift(e("div",{class:{"add-branch-btn":!0}},[e("el-button",{class:{"add-branch-btn-el":!0},props:{size:"small",round:!0},on:{click:()=>this.addBranchNode(t)},domProps:{innerHTML:"添加"+(this.isConditionNode(t)?"条件":"分支")}},[])]));let r=[e("div",{class:{"branch-node":!0}},i)],o=this.getDomTree(e,t.children);return[e("div",{},[r,o])]}if(this.isEmptyNode(t)){let s=this.getDomTree(e,t.children);return this.decodeAppendDom(e,t,s),[e("div",{class:{"empty-node":!0}},s)]}return[]},decodeAppendDom(e,t,s,i={}){i.config=t,s.unshift(e(t.type.toLowerCase(),{props:i,ref:t.id,key:t.id,on:{insertNode:e=>this.insertNode(e,t),delNode:()=>this.delNode(t),selected:()=>this.selectNode(t),copy:()=>this.copyBranch(t),leftMove:()=>this.branchMove(t,-1),rightMove:()=>this.branchMove(t,1)}},[]))},toMapping(e){e&&e.id&&this.nodeMap.set(e.id,e)},insertCoverLine(e,t,s,i){0===t?(s.unshift(e("div",{class:{"line-top-left":!0}},[])),s.unshift(e("div",{class:{"line-bot-left":!0}},[]))):t===i.length-1&&(s.unshift(e("div",{class:{"line-top-right":!0}},[])),s.unshift(e("div",{class:{"line-bot-right":!0}},[])))},copyBranch(e){let t=this.nodeMap.get(e.parentId),s=this.$deepCopy(e);s.name=s.name+"-copy",this.forEachNode(t,s,(e,t)=>{let s=this.getRandomId();console.log(t,"新id =>"+s,"老nodeId:"+t.id),t.id=s,t.parentId=e.id}),t.branchs.splice(t.branchs.indexOf(e),0,s),this.$forceUpdate()},branchMove(e,t){let s=this.nodeMap.get(e.parentId),i=s.branchs.indexOf(e),r=s.branchs[i+t];s.branchs[i+t]=s.branchs[i],s.branchs[i]=r,this.$forceUpdate()},isPrimaryNode(e){return e&&("ROOT"===e.type||"APPROVAL"===e.type||"TASK"===e.type||"CC"===e.type||"DELAY"===e.type||"SUBPROCESS"===e.type||"TRIGGER"===e.type)},isBranchNode(e){return e&&("CONDITIONS"===e.type||"CONCURRENTS"===e.type||"INCLUSIVES"===e.type)},isEmptyNode(e){return e&&"EMPTY"===e.type},isConditionNode(e){return"CONDITIONS"===e.type},isBranchSubNode(e){return e&&("CONDITION"===e.type||"CONCURRENT"===e.type||"INCLUSIVE"===e.type)},isInclusiveNode(e){return"INCLUSIVES"===e.type},isConcurrentNode(e){return"CONCURRENTS"===e.type},getRandomId(){return console.log("tree生成节点id"),`HighDatas_${(new Date).getTime().toString().substring(5)}${Math.round(9e3*Math.random()+1e3)}`},selectNode(e){this.$store.commit("selectedNode",e),this.$emit("selectedNode",e)},insertNode(e,t){this.$refs["_root"].click();let s=t.children;switch(t.children={id:this.getRandomId(),parentId:t.id,props:{},type:e},e){case"APPROVAL":this.insertApprovalNode(t,s);break;case"SUBPROCESS":this.insertApprovalNode(t,s);break;case"TASK":this.insertTaskNode(t);break;case"CC":this.insertCcNode(t);break;case"DELAY":this.insertDelayNode(t);break;case"TRIGGER":this.insertTriggerNode(t);break;case"CONDITIONS":this.insertConditionsNode(t);break;case"INCLUSIVES":this.insertInclusiveNode(t);break;case"CONCURRENTS":this.insertConcurrentsNode(t);break;default:break}this.isBranchNode({type:e})?(s&&s.id&&(s.parentId=t.children.children.id),this.$set(t.children.children,"children",s)):(s&&s.id&&(s.parentId=t.children.id),this.$set(t.children,"children",s)),this.$forceUpdate()},insertApprovalNode(e){console.log("tree 添加通过节点",e.children),this.$set(e.children,"name","审批人"),console.log("tree-DefaultProps.APPROVAL_PROPS)",Qe.APPROVAL_PROPS),this.$set(e.children,"props",this.$deepCopy(Qe.APPROVAL_PROPS))},insertTaskNode(e){this.$set(e.children,"name","办理人"),this.$set(e.children,"props",this.$deepCopy(Qe.TASK_PROPS))},insertCcNode(e){this.$set(e.children,"name","抄送人"),this.$set(e.children,"props",this.$deepCopy(Qe.CC_PROPS))},insertDelayNode(e){this.$set(e.children,"name","延时处理"),this.$set(e.children,"props",this.$deepCopy(Qe.DELAY_PROPS))},insertTriggerNode(e){this.$set(e.children,"name","触发器"),this.$set(e.children,"props",this.$deepCopy(Qe.TRIGGER_PROPS))},insertConditionsNode(e){this.$set(e.children,"name","条件分支"),this.$set(e.children,"children",{id:this.getRandomId(),parentId:e.children.id,type:"EMPTY"}),this.$set(e.children,"branchs",[{id:this.getRandomId(),parentId:e.children.id,type:"CONDITION",props:this.$deepCopy(Qe.CONDITION_PROPS),name:"条件1",children:{}},{id:this.getRandomId(),parentId:e.children.id,type:"CONDITION",props:this.$deepCopy(Qe.CONDITION_PROPS),name:"条件2",children:{}}])},insertInclusiveNode(e){this.$set(e.children,"name","包容分支"),this.$set(e.children,"children",{id:this.getRandomId(),parentId:e.children.id,type:"EMPTY"}),this.$set(e.children,"branchs",[{id:this.getRandomId(),parentId:e.children.id,type:"INCLUSIVE",props:this.$deepCopy(Qe.INCLUSIVE_PROPS),name:"包容条件1",children:{}},{id:this.getRandomId(),parentId:e.children.id,type:"INCLUSIVE",props:this.$deepCopy(Qe.INCLUSIVE_PROPS),name:"包容条件2",children:{}}])},insertConcurrentsNode(e){this.$set(e.children,"name","并行分支"),this.$set(e.children,"children",{id:this.getRandomId(),parentId:e.children.id,type:"EMPTY"}),this.$set(e.children,"branchs",[{id:this.getRandomId(),name:"分支1",parentId:e.children.id,type:"CONCURRENT",props:{},children:{}},{id:this.getRandomId(),name:"分支2",parentId:e.children.id,type:"CONCURRENT",props:{},children:{}}])},getBranchEndNode(e){return e.children&&e.children.id?this.getBranchEndNode(e.children):e},addBranchNode(e){e.branchs.length<8?e.branchs.push({id:this.getRandomId(),parentId:e.id,name:(this.isConditionNode(e)?"条件":this.isInclusiveNode(e)?"包容条件":"分支")+(e.branchs.length+1),props:this.isConditionNode(e)?this.$deepCopy(Qe.CONDITION_PROPS):this.isInclusiveNode(e)?this.$deepCopy(Qe.INCLUSIVE_PROPS):{},type:this.isConditionNode(e)?"CONDITION":this.isInclusiveNode(e)?"INCLUSIVE":"CONCURRENT",children:{}}):this.$message.warning("最多只能添加 8 项😥")},delNode(e){console.log("删除节点",e);let t=this.nodeMap.get(e.parentId);if(t){if(this.isBranchNode(t)){if(t.branchs.splice(t.branchs.indexOf(e),1),t.branchs.length<2){let e=this.nodeMap.get(t.parentId);if(t.branchs[0].children&&t.branchs[0].children.id){e.children=t.branchs[0].children,e.children.parentId=e.id;let s=this.getBranchEndNode(t.branchs[0]);s.children=t.children.children,s.children&&s.children.id&&(s.children.parentId=s.id)}else e.children=t.children.children,e.children&&e.children.id&&(e.children.parentId=e.id)}}else e.children&&e.children.id&&(e.children.parentId=t.id),t.children=e.children;this.$forceUpdate()}else this.$message.warning("出现错误,找不到上级节点😥")},validateProcess(){this.valid=!0;let e=[];return this.validate(e,this.dom),e},validateNode(e,t){this.$refs[t.id].validate&&(this.valid=this.$refs[t.id].validate(e))},nodeDomUpdate(e){this.$refs[e.id].$forceUpdate()},forEachNode(e,t,s){this.isBranchNode(t)?(s(e,t),this.forEachNode(t,t.children,s),t.branchs.map(e=>{s(t,e),this.forEachNode(e,e.children,s)})):(this.isPrimaryNode(t)||this.isEmptyNode(t)||this.isBranchSubNode(t))&&(s(e,t),this.forEachNode(t,t.children,s))},validate(e,t){this.isPrimaryNode(t)?(this.validateNode(e,t),this.validate(e,t.children)):this.isBranchNode(t)?(t.branchs.map(t=>{this.validateNode(e,t),this.validate(e,t.children)}),this.validate(e,t.children)):this.isEmptyNode(t)&&this.validate(e,t.children)}},watch:{}},et=Ze,tt=(s("c4f3"),Object(c["a"])(et,We,Xe,!1,null,"17be7898",null)),st=tt.exports,it=function(){var e=this,t=e._self._c;return t("div",[e.name&&e.formConfig.length>0?t("el-tabs",{model:{value:e.active,callback:function(t){e.active=t},expression:"active"}},[t("el-tab-pane",{attrs:{label:e.name,name:"properties"}},[t((e.selectNode.type||"").toLowerCase(),{tag:"component",attrs:{config:e.selectNode.props}})],1),t("el-tab-pane",{attrs:{label:"表单权限设置",name:"permissions"}},[t("form-authority-config")],1)],1):t((e.selectNode.type||"").toLowerCase(),{tag:"component",attrs:{config:e.selectNode.props}})],1)},rt=[],ot=function(){var e=this,t=e._self._c;return t("div",[t("el-form",{attrs:{"label-position":"top","label-width":"90px"}},[t("el-form-item",{staticClass:"user-type",attrs:{label:"⚙ 选择审批对象",prop:"text"}},[t("el-select",{staticStyle:{width:"80%"},attrs:{size:"small",placeholder:"请选择审批组"},on:{change:function(t){return e.selected(this)}},model:{value:e.nodeProps.approvalGroup,callback:function(t){e.$set(e.nodeProps,"approvalGroup",t)},expression:"nodeProps.approvalGroup"}},e._l(e.approvalGroups,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e}})})),1)],1),t("el-divider"),t("el-form-item",{attrs:{label:"参数名"}},[t("el-input",{staticStyle:{width:"80%"},attrs:{placeholder:"参数名",size:"small",clearable:""},model:{value:e.nodeProps.params,callback:function(t){e.$set(e.nodeProps,"params",t)},expression:"nodeProps.params"}})],1),t("el-divider"),t("el-form-item",{attrs:{label:"触发事件"}},[t("div",[t("el-button",{staticStyle:{margin:"0 15px 15px 0"},attrs:{type:"primary",size:"mini",icon:"el-icon-plus",round:""},on:{click:e.addConditionGroup}},[e._v(" 添加审批触发事件 ")])],1),e._l(e.selectedNode.props.groups,(function(s,i){return t("div",{key:i+"_g",staticClass:"group",staticStyle:{width:"100%"}},[t("div",{staticClass:"group-header"},[t("span",{staticClass:"group-name"},[e._v("触发事件"+e._s(i+1))]),t("i",{staticClass:"el-icon-delete",on:{click:function(t){return e.delGroup(i)}}})]),t("el-row",{attrs:{gutter:10}},[t("el-col",{attrs:{span:12}},[t("el-select",{attrs:{size:"small",placeholder:"请选择审批组"},on:{change:function(t){return e.selected(this)}},model:{value:s.action,callback:function(t){e.$set(s,"action",t)},expression:"group.action"}},e._l(e.actions,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e}})})),1)],1),t("el-col",{attrs:{span:12}},[t("el-input",{attrs:{placeholder:"排序",size:"small",clearable:""},model:{value:s.sort,callback:function(t){e.$set(s,"sort",t)},expression:"group.sort"}})],1),t("el-col",{attrs:{span:4}},[t("span",[e._v("java方法:")])]),t("el-col",{attrs:{span:20}},[t("el-input",{attrs:{placeholder:"java方法",size:"small",clearable:""},model:{value:s.method,callback:function(t){e.$set(s,"method",t)},expression:"group.method"}})],1)],1)],1)}))],2),t("el-form-item",{attrs:{label:"🙅 如果办理被驳回 👇"}},[t("el-radio-group",{on:{input:e.setValue},model:{value:e.nodeProps.refuse.type,callback:function(t){e.$set(e.nodeProps.refuse,"type",t)},expression:"nodeProps.refuse.type"}},[t("el-radio",{attrs:{label:"TO_END"}},[e._v("直接结束流程")]),t("el-radio",{attrs:{label:"TO_BEFORE"}},[e._v("驳回到上级办理节点")]),t("el-radio",{attrs:{label:"TO_NODE"}},[e._v("驳回到指定节点")])],1),"TO_NODE"===e.nodeProps.refuse.type?t("div",[t("span",[e._v("指定节点:")]),t("el-select",{staticStyle:{"margin-left":"10px",width:"150px"},attrs:{placeholder:"选择跳转节点",size:"small"},model:{value:e.nodeProps.refuse.target,callback:function(t){e.$set(e.nodeProps.refuse,"target",t)},expression:"nodeProps.refuse.target"}},e._l(e.nodeOptions,(function(e,s){return t("el-option",{key:s,attrs:{label:e.name,value:e.id}})})),1)],1):e._e()],1)],1),t("org-picker",{ref:"orgPicker",attrs:{title:e.pickerTitle,multiple:"",type:e.orgPickerType,selected:e.orgPickerSelected},on:{ok:e.selected}})],1)},lt=[],nt=function(){var e=this,t=e._self._c;return t("w-dialog",{attrs:{border:!1,closeFree:"",width:"600px",title:e.title},on:{ok:e.selectOk},model:{value:e.visible,callback:function(t){e.visible=t},expression:"visible"}},[t("div",{staticClass:"picker"},[t("div",{directives:[{name:"loading",rawName:"v-loading",value:e.loading,expression:"loading"}],staticClass:"candidate"},["role"!==e.type?t("div",[t("el-input",{staticStyle:{width:"95%"},attrs:{size:"small",clearable:"",placeholder:"搜索人员,支持拼音、姓名","prefix-icon":"el-icon-search"},on:{input:e.searchUser},model:{value:e.search,callback:function(t){e.search=t},expression:"search"}}),t("div",{directives:[{name:"show",rawName:"v-show",value:!e.showUsers,expression:"!showUsers"}]},[t("ellipsis",{staticStyle:{height:"18px",color:"#8c8c8c",padding:"5px 0 0"},attrs:{hoverTip:"",row:1,content:e.deptStackStr}},[t("i",{staticClass:"el-icon-office-building",attrs:{slot:"pre"},slot:"pre"})]),t("div",{staticStyle:{"margin-top":"5px"}},[t("el-checkbox",{attrs:{disabled:!e.multiple},on:{change:e.handleCheckAllChange},model:{value:e.checkAll,callback:function(t){e.checkAll=t},expression:"checkAll"}},[e._v("全选")]),t("span",{directives:[{name:"show",rawName:"v-show",value:e.deptStack.length>0,expression:"deptStack.length > 0"}],staticClass:"top-dept",on:{click:e.beforeNode}},[e._v("上一级")])],1)],1)],1):t("div",{staticClass:"role-header"},[t("div",[e._v("系统角色")])]),t("div",{staticClass:"org-items",style:"role"===e.type?"height: 350px":""},[t("el-empty",{directives:[{name:"show",rawName:"v-show",value:0===e.orgs.length,expression:"orgs.length === 0"}],attrs:{"image-size":100,description:"似乎没有数据"}}),e._l(e.orgs,(function(s,i){return t("div",{key:i,class:e.orgItemClass(s),on:{click:function(t){return e.selectChange(s)}}},[t("el-checkbox",{attrs:{disabled:e.disableDept(s)},model:{value:s.selected,callback:function(t){e.$set(s,"selected",t)},expression:"org.selected"}}),"dept"===s.type?t("div",[t("i",{staticClass:"el-icon-folder-opened"}),t("span",{staticClass:"name"},[e._v(e._s(s.name))]),t("span",{class:"next-dept"+(s.selected?"-disable":""),on:{click:function(t){return t.stopPropagation(),e.nextNode(s)}}},[t("i",{staticClass:"iconfont icon-map-site"}),e._v("下级 ")])]):"user"===s.type?t("div",{staticStyle:{display:"flex","align-items":"center"}},[e.$isNotEmpty(s.avatar)?t("el-avatar",{attrs:{size:35,src:s.avatar}}):t("span",{staticClass:"avatar"},[e._v(e._s(e.getShortName(s.name)))]),t("span",{staticClass:"name"},[e._v(e._s(s.name))])],1):t("div",{staticStyle:{display:"inline-block"}},[t("i",{staticClass:"iconfont icon-bumen"}),t("span",{staticClass:"name"},[e._v(e._s(s.name))])])],1)}))],2)]),t("div",{staticClass:"selected"},[t("div",{staticClass:"count"},[t("span",[e._v("已选 "+e._s(e.select.length)+" 项")]),t("span",{on:{click:e.clearSelected}},[e._v("清空")])]),t("div",{staticClass:"org-items",staticStyle:{height:"350px"}},[t("el-empty",{directives:[{name:"show",rawName:"v-show",value:0===e.select.length,expression:"select.length === 0"}],attrs:{"image-size":100,description:"请点击左侧列表选择数据"}}),e._l(e.select,(function(s,i){return t("div",{key:i,class:e.orgItemClass(s)},["dept"===s.type?t("div",[t("i",{staticClass:"el-icon-folder-opened"}),t("span",{staticClass:"name",staticStyle:{position:"static"}},[e._v(e._s(s.name))])]):"user"===s.type?t("div",{staticStyle:{display:"flex","align-items":"center"}},[e.$isNotEmpty(s.avatar)?t("el-avatar",{attrs:{size:35,src:s.avatar}}):t("span",{staticClass:"avatar"},[e._v(e._s(e.getShortName(s.name)))]),t("span",{staticClass:"name"},[e._v(e._s(s.name))])],1):t("div",[t("i",{staticClass:"iconfont icon-bumen"}),t("span",{staticClass:"name"},[e._v(e._s(s.name))])]),t("i",{staticClass:"el-icon-close",on:{click:function(t){return e.noSelected(i)}}})])}))],2)])])])},at=[],ct=s("0c6d");function dt(e){return Object(ct["a"])({url:"oa/org/tree",method:"get",params:e})}function pt(e){return Object(ct["a"])({url:"oa/org/tree/user/search",method:"get",params:e})}var ut={name:"OrgPicker",components:{},props:{title:{default:"请选择",type:String},type:{default:"org",type:String},multiple:{default:!1,type:Boolean},selected:{default:()=>[],type:Array}},data(){return{visible:!1,loading:!1,checkAll:!1,nowDeptId:null,isIndeterminate:!1,searchUsers:[],nodes:[],select:[],search:"",deptStack:[]}},computed:{deptStackStr(){return String(this.deptStack.map(e=>e.name)).replaceAll(","," > ")},orgs(){return this.search&&""!==this.search.trim()?this.searchUsers:this.nodes},showUsers(){return this.search||""!==this.search.trim()}},watch:{type(e,t){console.log("旧值",e),console.log("新值",t)}},methods:{show(){console.log("show-this.type",this.type),this.visible=!0,this.init(),console.log("init-this.type",this.type),this.getOrgList()},orgItemClass(e){return{"org-item":!0,"org-dept-item":"dept"===e.type,"org-user-item":"user"===e.type,"org-role-item":"role"===e.type}},disableDept(e){return"user"===this.type&&"dept"===e.type},getOrgList(){console.log("getOrgList,this.type",this.type),this.loading=!0,dt({deptId:this.nowDeptId,type:this.type}).then(e=>{this.loading=!1,this.nodes=e.data,this.selectToLeft()}).catch(e=>{this.loading=!1,this.$message.error(e.response.data)})},getShortName(e){return e?e.length>2?e.substring(1,3):e:"**"},searchUser(){let e=this.search.trim();this.searchUsers=[],this.loading=!0,pt({userName:e}).then(e=>{this.loading=!1,this.searchUsers=e.data,this.selectToLeft()}).catch(e=>{this.loading=!1,this.$message.error("接口异常")})},selectToLeft(){let e=""===this.search.trim()?this.nodes:this.searchUsers;e.forEach(e=>{for(let t=0;t<this.select.length;t++){if(this.select[t].id===e.id){e.selected=!0;break}e.selected=!1}})},selectChange(e){if(e.selected){this.checkAll=!1;for(let t=0;t<this.select.length;t++)if(this.select[t].id===e.id){this.select.splice(t,1);break}e.selected=!1}else if(!this.disableDept(e)){e.selected=!0;let t=""===this.search.trim()?this.nodes:this.searchUsers;this.multiple||t.forEach(t=>{e.id!==t.id&&(t.selected=!1)}),"dept"===e.type?this.multiple?this.select.unshift(e):this.select=[e]:this.multiple?this.select.push(e):this.select=[e]}},noSelected(e){let t=this.nodes;for(let s=0;s<2;s++){for(let s=0;s<t.length;s++)if(t[s].id===this.select[e].id){t[s].selected=!1,this.checkAll=!1;break}t=this.searchUsers}this.select.splice(e,1)},handleCheckAllChange(){this.nodes.forEach(e=>{if(this.checkAll)e.selected||this.disableDept(e)||(e.selected=!0,this.select.push(e));else{e.selected=!1;for(let t=0;t<this.select.length;t++)if(this.select[t].id===e.id){this.select.splice(t,1);break}}})},nextNode(e){this.nowDeptId=e.id,this.deptStack.push(e),this.getOrgList()},beforeNode(){0!==this.deptStack.length&&(this.deptStack.length<2?this.nowDeptId=null:this.nowDeptId=this.deptStack[this.deptStack.length-2].id,this.deptStack.splice(this.deptStack.length-1,1),this.getOrgList())},recover(){this.select=[],this.nodes.forEach(e=>e.selected=!1)},selectOk(){this.$emit("ok",Object.assign([],this.select.map(e=>(e.avatar=void 0,e)))),this.visible=!1,this.recover()},clearSelected(){this.$confirm("您确定要清空已选中的项?","提示",{confirmButtonText:"确定",cancelButtonText:"取消",type:"warning"}).then(()=>{this.recover()})},close(){this.$emit("close"),this.recover()},init(){this.checkAll=!1,this.nowDeptId=null,this.deptStack=[],this.nodes=[],this.select=Object.assign([],this.selected),this.selectToLeft()}}},ht=ut,mt=(s("0f9d"),Object(c["a"])(ht,nt,at,!1,null,"3d963d8e",null)),ft=mt.exports,gt={name:"ApprovalNodeConfig",components:{OrgPicker:ft},props:{config:{type:Object,default:()=>({})}},data(){return{showOrgSelect:!1,orgPickerSelected:[],orgPickerType:"user",groupNames:["1","2","3","4","6","F","G","H","I","J"],approvalGroups:[{value:"first",label:"地区经理审批"},{value:"secound",label:"大区经理审批"},{value:"third",label:"商务经理审批"},{value:"four",label:"财务经理审批"},{value:"five",label:"总经理审批"}],actions:[{value:"before",label:"审批前"},{value:"after",label:"审批后"}],approvalTypes:[{name:"指定人员",type:"ASSIGN_USER"},{name:"发起人自选",type:"SELF_SELECT"},{name:"连续多级主管",type:"LEADER_TOP"},{name:"主管",type:"LEADER"},{name:"角色",type:"ROLE"},{name:"发起人自己",type:"SELF"},{name:"表单内联系人",type:"FORM_USER"}]}},computed:{nodeOptions(){let e=[];const t=["ROOT","EMPTY","CONDITION","CONDITIONS","CONCURRENT","CONCURRENTS"];return this.$store.state.nodeMap.forEach(s=>{-1===t.indexOf(s.type)&&e.push({id:s.id,name:s.name})}),e},selectedNode(){return this.$store.state.selectedNode},nodeProps(){return console.log("this.$store.state.selectedNode.props",this.$store.state.selectedNode.props),this.$store.state.selectedNode.props},select(){return console.log("this.config",this.config),this.config.assignedUser},pickerTitle(){switch(this.orgPickerType){case"user":return"请选择人员";case"role":return"请选择系统角色";default:return null}}},methods:{setValue(){"TO_NODE"!==this.nodeProps.refuse.type&&(this.nodeProps.refuse.target="")},delGroup(e){this.selectedNode.props.groups.splice(e,1)},addConditionGroup(){console.log("this.config",this.config),this.config.groups.push({})},selected(e){console.log("输出选中select",e),console.log("输出选中 nodeProps",this.nodeProps),console.log("assignedUser",this.config),this.config.assignedUser=[this.nodeProps.approvalGroup],console.log("assignedUser",this.config),this.orgPickerSelected.length=0},removeOrgItem(e){this.select.splice(e,1)}}},vt=gt,bt=(s("971d"),Object(c["a"])(vt,ot,lt,!1,null,"6f72475c",null)),yt=bt.exports,St=function(){var e=this,t=e._self._c;return t("div",[t("el-form",{attrs:{"label-position":"top","label-width":"90px"}},[t("el-form-item",{staticClass:"user-type",attrs:{label:"⚙ 选择办理对象",prop:"text"}},[t("el-radio-group",{model:{value:e.nodeProps.assignedType,callback:function(t){e.$set(e.nodeProps,"assignedType",t)},expression:"nodeProps.assignedType"}},e._l(e.approvalTypes,(function(s){return t("el-radio",{key:s.type,attrs:{label:s.type},on:{change:function(t){return e.changeRadio(t)}}},[e._v(e._s(s.name))])})),1),"ASSIGN_USER"===e.nodeProps.assignedType?t("div",[t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectUser}},[e._v("选择人员")]),t("org-items",{model:{value:e.nodeProps.assignedUser,callback:function(t){e.$set(e.nodeProps,"assignedUser",t)},expression:"nodeProps.assignedUser"}})],1):"SELF_SELECT"===e.nodeProps.assignedType?t("div",[t("el-radio-group",{attrs:{size:"mini"},model:{value:e.nodeProps.selfSelect.multiple,callback:function(t){e.$set(e.nodeProps.selfSelect,"multiple",t)},expression:"nodeProps.selfSelect.multiple"}},[t("el-radio-button",{attrs:{label:!1}},[e._v("自选一个人")]),t("el-radio-button",{attrs:{label:!0}},[e._v("自选多个人")])],1)],1):"LEADER_TOP"===e.nodeProps.assignedType?t("div",[t("el-divider"),t("el-form-item",{staticClass:"approve-end",attrs:{label:"办理终点",prop:"text"}},[t("el-radio-group",{model:{value:e.nodeProps.leaderTop.endCondition,callback:function(t){e.$set(e.nodeProps.leaderTop,"endCondition",t)},expression:"nodeProps.leaderTop.endCondition"}},[t("el-radio",{attrs:{label:"TOP"}},[e._v("直到最上层主管")]),t("el-radio",{attrs:{label:"LEAVE"}},[e._v("不超过发起人的")])],1),"LEAVE"===e.nodeProps.leaderTop.endCondition?t("div",{staticClass:"approve-end-leave"},[t("span",[e._v("第 ")]),t("el-input-number",{attrs:{min:1,max:20,step:1,size:"mini"},model:{value:e.nodeProps.leaderTop.level,callback:function(t){e.$set(e.nodeProps.leaderTop,"level",t)},expression:"nodeProps.leaderTop.level"}}),t("span",[e._v(" 级主管")])],1):e._e()],1)],1):"LEADER"===e.nodeProps.assignedType?t("div",[t("el-divider"),t("el-form-item",{attrs:{label:"指定主管",prop:"text"}},[t("span",[e._v("发起人的第 ")]),t("el-input-number",{attrs:{min:1,max:20,step:1,size:"mini"},model:{value:e.nodeProps.leader.level,callback:function(t){e.$set(e.nodeProps.leader,"level",t)},expression:"nodeProps.leader.level"}}),t("span",[e._v(" 级主管")]),t("div",{staticStyle:{color:"#409EFF","font-size":"small"}},[e._v("👉 直接主管为 第 1 级主管")])],1)],1):"ROLE"===e.nodeProps.assignedType?t("div",[t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectRole}},[e._v("选择系统角色")]),t("org-items",{model:{value:e.nodeProps.assignedUser,callback:function(t){e.$set(e.nodeProps,"assignedUser",t)},expression:"nodeProps.assignedUser"}})],1):"FORM_USER"===e.nodeProps.assignedType?t("div",[t("el-form-item",{staticClass:"approve-end",attrs:{label:"选择表单联系人项",prop:"text"}},[t("el-select",{staticStyle:{width:"80%"},attrs:{size:"small",placeholder:"请选择包含联系人的表单项"},model:{value:e.nodeProps.formUser,callback:function(t){e.$set(e.nodeProps,"formUser",t)},expression:"nodeProps.formUser"}},e._l(e.forms,(function(e){return t("el-option",{key:e.id,attrs:{label:e.title,value:e.id}})})),1)],1)],1):t("div",[t("span",{staticClass:"item-desc"},[e._v("发起人自己作为办理人进行办理")])])],1),t("el-divider"),t("el-form-item",{staticClass:"line-mode",attrs:{label:"👤 办理人为空时",prop:"text"}},[t("el-radio-group",{model:{value:e.nodeProps.nobody.handler,callback:function(t){e.$set(e.nodeProps.nobody,"handler",t)},expression:"nodeProps.nobody.handler"}},[t("el-radio",{attrs:{label:"TO_PASS"}},[e._v("自动通过")]),t("el-radio",{attrs:{label:"TO_REFUSE"}},[e._v("自动驳回")]),t("el-radio",{attrs:{label:"TO_ADMIN"}},[e._v("转交办理管理员")]),t("el-radio",{attrs:{label:"TO_USER"}},[e._v("转交到指定人员")])],1),"TO_USER"===e.nodeProps.nobody.handler?t("div",{staticStyle:{"margin-top":"10px"}},[t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectNoSetUser}},[e._v("选择人员")]),t("org-items",{model:{value:e.nodeProps.nobody.assignedUser,callback:function(t){e.$set(e.nodeProps.nobody,"assignedUser",t)},expression:"nodeProps.nobody.assignedUser"}})],1):e._e()],1),e.showMode?t("div",[t("el-divider"),t("el-form-item",{staticClass:"approve-mode",attrs:{label:"👩👦👦 多人办理时办理方式",prop:"text"}},[t("el-radio-group",{model:{value:e.nodeProps.mode,callback:function(t){e.$set(e.nodeProps,"mode",t)},expression:"nodeProps.mode"}},[t("el-radio",{attrs:{label:"NEXT"}},[e._v("会签 (按选择顺序办理,每个人必须同意)")]),t("el-radio",{attrs:{label:"AND"}},[e._v("会签(可同时办理,每个人必须同意)")]),t("el-radio",{attrs:{label:"OR"}},[e._v("或签(有一人同意即可)")])],1)],1)],1):e._e(),t("el-divider",[e._v("高级设置")]),t("el-form-item",{attrs:{label:"✍ 办理同意时是否需要签字",prop:"text"}},[t("el-switch",{attrs:{"inactive-text":"不用","active-text":"需要"},model:{value:e.nodeProps.sign,callback:function(t){e.$set(e.nodeProps,"sign",t)},expression:"nodeProps.sign"}}),t("el-tooltip",{staticClass:"item",attrs:{effect:"dark",content:"如果全局设置了需要签字,则此处不生效",placement:"top-start"}},[t("i",{staticClass:"el-icon-question",staticStyle:{"margin-left":"10px","font-size":"medium",color:"#b0b0b1"}})])],1),t("el-form-item",{attrs:{label:"⏱ 办理期限(为 0 则不生效)",prop:"timeLimit"}},[t("el-input",{staticStyle:{width:"180px"},attrs:{placeholder:"时长",size:"small",type:"number"},model:{value:e.nodeProps.timeLimit.timeout.value,callback:function(t){e.$set(e.nodeProps.timeLimit.timeout,"value",t)},expression:"nodeProps.timeLimit.timeout.value"}},[t("el-select",{staticStyle:{width:"75px"},attrs:{slot:"append",placeholder:"请选择"},slot:"append",model:{value:e.nodeProps.timeLimit.timeout.unit,callback:function(t){e.$set(e.nodeProps.timeLimit.timeout,"unit",t)},expression:"nodeProps.timeLimit.timeout.unit"}},[t("el-option",{attrs:{label:"天",value:"D"}}),t("el-option",{attrs:{label:"小时",value:"H"}})],1)],1)],1),e.nodeProps.timeLimit.timeout.value>0?t("el-form-item",{attrs:{label:"办理期限超时后执行",prop:"level"}},[t("el-radio-group",{model:{value:e.nodeProps.timeLimit.handler.type,callback:function(t){e.$set(e.nodeProps.timeLimit.handler,"type",t)},expression:"nodeProps.timeLimit.handler.type"}},[t("el-radio",{attrs:{label:"PASS"}},[e._v("自动通过")]),t("el-radio",{attrs:{label:"REFUSE"}},[e._v("自动驳回")]),t("el-radio",{attrs:{label:"NOTIFY"}},[e._v("发送提醒")])],1),"NOTIFY"===e.nodeProps.timeLimit.handler.type?t("div",[t("div",{staticStyle:{color:"#409EEF","font-size":"small"}},[e._v("默认提醒当前办理人")]),t("el-switch",{attrs:{"inactive-text":"循环","active-text":"一次"},model:{value:e.nodeProps.timeLimit.handler.notify.once,callback:function(t){e.$set(e.nodeProps.timeLimit.handler.notify,"once",t)},expression:"nodeProps.timeLimit.handler.notify.once"}}),e.nodeProps.timeLimit.handler.notify.once?e._e():t("span",{staticStyle:{"margin-left":"20px"}},[e._v(" 每隔 "),t("el-input-number",{attrs:{min:0,max:1e4,step:1,size:"mini"},model:{value:e.nodeProps.timeLimit.handler.notify.hour,callback:function(t){e.$set(e.nodeProps.timeLimit.handler.notify,"hour",t)},expression:"nodeProps.timeLimit.handler.notify.hour"}}),e._v(" 小时提醒一次 ")],1)],1):e._e()],1):e._e(),t("el-form-item",{attrs:{label:"🙅 如果办理被驳回 👇"}},[t("el-radio-group",{model:{value:e.nodeProps.refuse.type,callback:function(t){e.$set(e.nodeProps.refuse,"type",t)},expression:"nodeProps.refuse.type"}},[t("el-radio",{attrs:{label:"TO_END"}},[e._v("直接结束流程")]),t("el-radio",{attrs:{label:"TO_BEFORE"}},[e._v("驳回到上级办理节点")]),t("el-radio",{attrs:{label:"TO_NODE"}},[e._v("驳回到指定节点")])],1),"TO_NODE"===e.nodeProps.refuse.type?t("div",[t("span",[e._v("指定节点:")]),t("el-select",{staticStyle:{"margin-left":"10px",width:"150px"},attrs:{placeholder:"选择跳转步骤",size:"small"},model:{value:e.nodeProps.refuse.target,callback:function(t){e.$set(e.nodeProps.refuse,"target",t)},expression:"nodeProps.refuse.target"}},e._l(e.nodeOptions,(function(e,s){return t("el-option",{key:s,attrs:{label:e.name,value:e.id}})})),1)],1):e._e()],1)],1),t("org-picker",{ref:"orgPicker",attrs:{title:e.pickerTitle,multiple:"",type:e.orgPickerType,selected:e.orgPickerSelected},on:{ok:e.selected}})],1)},_t=[],Nt=function(){var e=this,t=e._self._c;return t("div",{staticStyle:{"margin-top":"10px"}},e._l(e._value,(function(s,i){return t("el-tag",{key:i+"_org",staticClass:"org-item",attrs:{type:"dept"===s.type?"":"info",closable:"",size:"mini"},on:{close:function(t){return e.removeOrgItem(i)}}},[e._v(" "+e._s(s.name)+" ")])})),1)},wt=[],kt={name:"OrgItems",components:{},props:{value:{type:Array,default:()=>[]}},computed:{_value:{get(){return this.value},set(e){this.$emit("input",e)}}},data(){return{}},methods:{removeOrgItem(e){this._value.splice(e,1)}}},Ct=kt,$t=(s("4b08"),Object(c["a"])(Ct,Nt,wt,!1,null,"7e2e8510",null)),Et=$t.exports,xt={name:"ApprovalNodeConfig",components:{OrgPicker:ft,OrgItems:Et},props:{config:{type:Object,default:()=>({})}},data(){return{showOrgSelect:!1,orgPickerSelected:[],orgPickerType:"user",approvalTypes:[{name:"指定人员",type:"ASSIGN_USER"},{name:"发起人自选",type:"SELF_SELECT"},{name:"连续多级主管",type:"LEADER_TOP"},{name:"主管",type:"LEADER"},{name:"角色",type:"ROLE"},{name:"发起人自己",type:"SELF"},{name:"表单内联系人",type:"FORM_USER"}]}},computed:{nodeProps(){return this.$store.state.selectedNode.props},select(){return this.config.assignedUser||this.config.role},forms(){return this.$store.state.design.formItems.filter(e=>"UserPicker"===e.name)},pickerTitle(){switch(this.orgPickerType){case"user":return"请选择人员";case"role":return"请选择系统角色";default:return null}},nodeOptions(){let e=[];const t=["ROOT","EMPTY","CONDITION","CONDITIONS","CONCURRENT","CONCURRENTS"];return this.$store.state.nodeMap.forEach(s=>{-1===t.indexOf(s.type)&&e.push({id:s.id,name:s.name})}),e},showMode(){switch(this.nodeProps.assignedType){case"ASSIGN_USER":return this.nodeProps.assignedUser.length>0;case"SELF_SELECT":return!0;case"LEADER_TOP":return!0;case"FORM_USER":return!0;case"ROLE":return this.nodeProps.assignedUser.length>0;default:return!1}}},methods:{changeRadio(e){console.log("val",e),this.orgPickerType="ROLE"==e?"role":"",this.orgPickerSelected=[],this.config.assignedUser=[]},selectUser(){this.orgPickerSelected=this.select,this.orgPickerType="user",this.$refs.orgPicker.show()},selectNoSetUser(){this.orgPickerSelected=this.config.nobody.assignedUser,this.orgPickerType="user",this.$refs.orgPicker.show()},selectRole(){this.orgPickerSelected=this.select,this.orgPickerType="role",console.log("this.orgPickerType",this.orgPickerType),this.$refs.orgPicker.show()},selected(e){console.log(e),this.orgPickerSelected.length=0,e.forEach(e=>this.orgPickerSelected.push(e))},removeOrgItem(e){this.select.splice(e,1)}}},Ot=xt,Tt=(s("7c4f"),Object(c["a"])(Ot,St,_t,!1,null,"f6f43dca",null)),Pt=Tt.exports,It=function(){var e=this,t=e._self._c;return t("div",[t("el-form",{attrs:{inline:"","label-width":"100px"}},[t("el-form-item",{attrs:{label:"调整优先级",prop:"level"}},[t("el-popover",{attrs:{placement:"right",title:"拖拽条件调整优先级顺序",width:"250",trigger:"click"}},[t("draggable",{staticStyle:{width:"100%","min-height":"25px"},attrs:{list:e.prioritySortList,group:"from",options:e.sortOption}},e._l(e.prioritySortList,(function(s,i){return t("div",{class:{"drag-no-choose":!0,"drag-hover":s.id===e.selectedNode.id}},[t("ellipsis",{staticStyle:{width:"160px"},attrs:{"hover-tip":"",content:s.name}}),t("div",[e._v("优先级 "+e._s(i+1))])],1)})),0),t("el-button",{attrs:{slot:"reference",icon:"el-icon-sort",size:"small"},slot:"reference"},[e._v("第"+e._s(e.nowNodeLeave+1)+"级")])],1)],1),t("el-form-item",{attrs:{label:"条件组关系","label-width":"150px"}},[t("el-switch",{attrs:{"active-color":"#409EFF","inactive-color":"#c1c1c1","active-value":"AND","inactive-value":"OR","active-text":"且","inactive-text":"或"},model:{value:e.config.groupsType,callback:function(t){e.$set(e.config,"groupsType",t)},expression:"config.groupsType"}})],1),t("el-form-item",{attrs:{label:"条件组表达式"}},[t("el-input",{attrs:{size:"mini",placeholder:"输入条件组关系表达式 &为与,|为或"},model:{value:e.config.expression,callback:function(t){e.$set(e.config,"expression",t)},expression:"config.expression"}}),t("span",{staticClass:"item-desc"},[e._v("使用表达式构建复杂逻辑,例如: (A & B) | C")])],1)],1),t("div",[t("el-button",{staticStyle:{margin:"0 15px 15px 0"},attrs:{type:"primary",size:"mini",icon:"el-icon-plus",round:""},on:{click:e.addConditionGroup}},[e._v(" 添加条件组 ")]),t("span",{staticClass:"item-desc"},[e._v("只有必填选项才能作为审批条件")])],1),t("group-item")],1)},Rt=[],Ut=s("b76a"),At=s.n(Ut),Lt=function(){var e=this,t=e._self._c;return t("div",[e._l(e.selectedNode.props.groups,(function(s,i){return t("div",{key:i+"_g",staticClass:"group"},[t("div",{staticClass:"group-header"},[t("span",{staticClass:"group-name"},[e._v("条件组 "+e._s(e.groupNames[i]))]),t("div",{staticClass:"group-cp"},[t("span",[e._v("组内条件关系:")]),t("el-switch",{attrs:{"active-color":"#409EFF","inactive-color":"#c1c1c1","active-value":"AND","inactive-value":"OR","active-text":"且","inactive-text":"或"},model:{value:s.groupType,callback:function(t){e.$set(s,"groupType",t)},expression:"group.groupType"}})],1),t("div",{staticClass:"group-operation"},[t("el-popover",{attrs:{placement:"bottom",title:"选择审批条件",width:"300",trigger:"click"}},[t("el-checkbox-group",{attrs:{"value-key":"id"},model:{value:s.cids,callback:function(t){e.$set(s,"cids",t)},expression:"group.cids"}},e._l(e.conditionList,(function(i,r){return t("el-checkbox",{key:i.id,attrs:{label:i.id},on:{change:function(t){return e.conditionChange(r,s)}}},[e._v(" "+e._s(i.title)+" ")])})),1),t("i",{staticClass:"el-icon-plus",attrs:{slot:"reference"},slot:"reference"})],1),t("i",{staticClass:"el-icon-delete",on:{click:function(t){return e.delGroup(i)}}})],1)]),t("div",{staticClass:"group-content"},[0===s.conditions.length?t("p",[e._v("点击右上角 + 为本条件组添加条件 ☝")]):t("div",[t("el-form",{ref:"condition-form",refInFor:!0,attrs:{"label-width":"100px"}},e._l(s.conditions,(function(i,r){return t("el-form-item",{key:i.id+"_"+r},[t("ellipsis",{attrs:{slot:"label","hover-tip":"",content:i.title},slot:"label"}),i.valueType===e.ValueType.string?t("span",[t("el-select",{staticStyle:{width:"120px"},attrs:{size:"small",placeholder:"判断符"},on:{change:function(e){i.value=[]}},model:{value:i.compare,callback:function(t){e.$set(i,"compare",t)},expression:"condition.compare"}},[t("el-option",{attrs:{label:"等于",value:"="}}),t("el-option",{attrs:{label:"包含在",value:"IN"}})],1),e.isSelect(i.id)?t("span",{staticStyle:{"margin-left":"10px"}},["IN"===i.compare?t("el-select",{staticStyle:{width:"280px"},attrs:{clearable:"",multiple:"",size:"small",placeholder:"选择值"},model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}},e._l(e.getOptions(i.id),(function(e,s){return t("el-option",{key:s,attrs:{label:e,value:e}})})),1):t("el-select",{staticStyle:{width:"280px"},attrs:{clearable:"",size:"small",placeholder:"选择值"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}},e._l(e.getOptions(i.id),(function(e,s){return t("el-option",{key:s,attrs:{label:e,value:e}})})),1)],1):t("span",{staticStyle:{"margin-left":"10px"}},["="===i.compare?t("el-input",{staticStyle:{width:"280px"},attrs:{placeholder:"输入比较值",size:"small"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}}):t("el-select",{staticStyle:{width:"280px"},attrs:{multiple:"",clearable:"",filterable:"","allow-create":"",size:"small",placeholder:"输入可能包含的值"},model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}},e._l(i.options,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e}})})),1)],1)],1):i.valueType===e.ValueType.number?t("span",[t("el-select",{staticStyle:{width:"120px"},attrs:{size:"small",placeholder:"判断符"},model:{value:i.compare,callback:function(t){e.$set(i,"compare",t)},expression:"condition.compare"}},e._l(e.explains,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),t("span",{staticStyle:{"margin-left":"10px"}},[0===e.conditionValType(i.compare)?t("el-input",{staticStyle:{width:"280px"},attrs:{size:"small",placeholder:"输入比较值",type:"number"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}}):1===e.conditionValType(i.compare)?t("el-select",{staticStyle:{width:"280px"},attrs:{multiple:"",filterable:"","allow-create":"",size:"small",placeholder:"输入可能包含的值"},model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}},e._l(i.options,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e}})})),1):t("span",[t("el-input",{staticStyle:{width:"130px"},attrs:{size:"small",type:"number",placeholder:"输入比较值"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}}),t("span",[e._v(" ~ "),t("el-input",{staticStyle:{width:"130px"},attrs:{size:"small",type:"number",placeholder:"输入比较值"},model:{value:i.value[1],callback:function(t){e.$set(i.value,1,t)},expression:"condition.value[1]"}})],1)],1)],1)],1):i.valueType===e.ValueType.user?t("span",[t("span",{staticClass:"item-desc",staticStyle:{"margin-right":"20px"}},[e._v("属于某部门 / 为某些人其中之一")]),t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:function(t){return e.selectUser(i.value,"user")}}},[e._v("选择人员/部门")]),t("org-items",{model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}})],1):i.valueType===e.ValueType.dept?t("span",[t("span",{staticClass:"item-desc",staticStyle:{"margin-right":"20px"}},[e._v("为某部门 / 某部门下的部门")]),t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:function(t){return e.selectUser(i.value,"dept")}}},[e._v("选择部门")]),t("org-items",{model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}})],1):i.valueType===e.ValueType.date?t("span"):e._e(),t("i",{staticClass:"el-icon-delete",on:{click:function(t){return e.rmSubCondition(s,r)}}})],1)})),1)],1)])])})),t("org-picker",{ref:"orgPicker",attrs:{type:e.orgType,multiple:"",selected:e.users},on:{ok:e.selected}})],2)},Dt=[],zt={name:"ConditionGroupItemConfig",components:{OrgPicker:ft,OrgItems:Et},data(){return{ValueType:Z,users:[],orgType:"user",showOrgSelect:!1,groupNames:["A","B","C","D","E","F","G","H","I","J"],supportTypes:[Z.number,Z.string,Z.date,Z.dept,Z.user],explains:[{label:"等于",value:"="},{label:"大于",value:">"},{label:"大于等于",value:">="},{label:"小于",value:"<"},{label:"小于等于",value:"<="},{label:"包含在",value:"IN"},{label:"x < 值 < x",value:"B"},{label:"x ≤ 值 < x",value:"AB"},{label:"x < 值 ≤ x",value:"BA"},{label:"x ≤ 值 ≤ x",value:"ABA"}]}},computed:{selectedNode(){return this.$store.state.selectedNode},select(){return this.selectedNode.props.assignedUser||[]},formItems(){return this.$store.state.design.formItems},formMap(){const e=new Map;return this.formItems.forEach(t=>this.itemToMap(e,t)),e},conditionList(){const e=[];return this.formItems.forEach(t=>this.filterCondition(t,e)),0===e.length||"root"!==e[0].id?e.push({id:"root",title:"发起人",valueType:"User"},{id:"time",title:"请假时长",valueType:"Number",options:[{value:"1",label:"1天"},{value:"2",label:"2天"},{value:"3",label:"3天"},{value:"4",label:"4天"}]},{id:"string",title:"省份",valueType:"String",options:[{value:"110000",label:"北京"},{value:"120000",label:"天津市"},{value:"130000",label:"河北省"},{value:"140000",label:"山西省"},{value:"150000",label:"内蒙古自治区"}]}):e.push(),e}},methods:{itemToMap(e,t){e.set(t.id,t),"SpanLayout"===t.name&&t.props.items.forEach(t=>this.itemToMap(e,t))},isSelect(e){let t=this.formMap.get(e);return!(!t||"SelectInput"!==t.name&&"MultipleSelect"!==t.name)},getOptions(e){return this.formMap.get(e).props.options||[]},conditionValType(e){switch(e){case"=":case">":case">=":case"<":case"<=":return 0;case"IN":return 1;default:return 2}},selectUser(e,t){this.orgType=t,this.users=e,this.$refs.orgPicker.show()},filterCondition(e,t){"SpanLayout"===e.name?e.props.items.forEach(e=>this.filterCondition(e,t)):this.supportTypes.indexOf(e.valueType)>-1&&e.props.required&&t.push({title:e.title,id:e.id,valueType:e.valueType})},selected(e){console.log(e),this.users.length=0,e.forEach(e=>this.users.push(e))},delGroup(e){this.selectedNode.props.groups.splice(e,1)},rmSubCondition(e,t){e.cids.splice(t,1),e.conditions.splice(t,1)},conditionChange(e,t){console.log("index",e),console.log("group",t),t.cids.forEach(s=>{if(0>t.conditions.findIndex(e=>e.id===s)){let s={...this.conditionList[e]};console.log(s,this.conditionList,e),s.compare="",s.value=[],t.conditions.push(s)}});for(let s=0;s<t.conditions.length;s++)t.cids.indexOf(t.conditions[s].id)<0&&t.conditions.splice(s,1)}}},Mt=zt,Ft=(s("57f3"),Object(c["a"])(Mt,Lt,Dt,!1,null,"a9afee40",null)),Bt=Ft.exports,jt={name:"ConditionNodeConfig",components:{draggable:At.a,GroupItem:Bt},props:{config:{type:Object,default:()=>({})}},computed:{selectedNode(){return this.$store.state.selectedNode},select(){return this.config.assignedUser||[]},nowNodeLeave(){return this.prioritySortList.indexOf(this.selectedNode)},prioritySortList(){let e=this.$store.state.nodeMap.get(this.selectedNode.parentId);return console.log(this.selectedNode.id,e),e&&e.branchs||[]}},data(){return{sortOption:{animation:300,chosenClass:"choose",scroll:!0,sort:!0}}},methods:{addConditionGroup(){this.config.groups.push({})},selectUser(){this.showOrgSelect=!0},selected(e){console.log(e),this.showOrgSelect=!1,e.forEach(e=>this.select.push(e))},removeOrgItem(e){this.select.splice(e,1)}}},Gt=jt,Vt=(s("5cac"),Object(c["a"])(Gt,It,Rt,!1,null,"1648c000",null)),Ht=Vt.exports,Jt=function(){var e=this,t=e._self._c;return t("div",[t("el-form",{attrs:{inline:"","label-width":"100px"}},[t("el-form-item",{attrs:{label:"调整优先级",prop:"level"}},[t("el-popover",{attrs:{placement:"right",title:"拖拽条件调整优先级顺序",width:"250",trigger:"click"}},[t("draggable",{staticStyle:{width:"100%","min-height":"25px"},attrs:{list:e.prioritySortList,group:"from",options:e.sortOption}},e._l(e.prioritySortList,(function(s,i){return t("div",{class:{"drag-no-choose":!0,"drag-hover":s.id===e.selectedNode.id}},[t("ellipsis",{staticStyle:{width:"160px"},attrs:{"hover-tip":"",content:s.name}}),t("div",[e._v("优先级 "+e._s(i+1))])],1)})),0),t("el-button",{attrs:{slot:"reference",icon:"el-icon-sort",size:"small"},slot:"reference"},[e._v("第"+e._s(e.nowNodeLeave+1)+"级")])],1)],1),t("el-form-item",{attrs:{label:"条件组关系","label-width":"150px"}},[t("el-switch",{attrs:{"active-color":"#409EFF","inactive-color":"#c1c1c1","active-value":"AND","inactive-value":"OR","active-text":"且","inactive-text":"或"},model:{value:e.config.groupsType,callback:function(t){e.$set(e.config,"groupsType",t)},expression:"config.groupsType"}})],1),t("el-form-item",{attrs:{label:"条件组表达式"}},[t("el-input",{attrs:{size:"mini",placeholder:"输入条件组关系表达式 &为与,|为或"},model:{value:e.config.expression,callback:function(t){e.$set(e.config,"expression",t)},expression:"config.expression"}}),t("span",{staticClass:"item-desc"},[e._v("使用表达式构建复杂逻辑,例如: (A & B) | C")])],1)],1),t("div",[t("el-button",{staticStyle:{margin:"0 15px 15px 0"},attrs:{type:"primary",size:"mini",icon:"el-icon-plus",round:""},on:{click:e.addConditionGroup}},[e._v(" 添加条件组 ")]),t("span",{staticClass:"item-desc"},[e._v("只有必填选项才能作为审批条件")])],1),t("group-item")],1)},Yt=[],Kt=function(){var e=this,t=e._self._c;return t("div",[e._l(e.selectedNode.props.groups,(function(s,i){return t("div",{key:i+"_g",staticClass:"group"},[t("div",{staticClass:"group-header"},[t("span",{staticClass:"group-name"},[e._v("条件组 "+e._s(e.groupNames[i]))]),t("div",{staticClass:"group-cp"},[t("span",[e._v("组内条件关系:")]),t("el-switch",{attrs:{"active-color":"#409EFF","inactive-color":"#c1c1c1","active-value":"AND","inactive-value":"OR","active-text":"且","inactive-text":"或"},model:{value:s.groupType,callback:function(t){e.$set(s,"groupType",t)},expression:"group.groupType"}})],1),t("div",{staticClass:"group-operation"},[t("el-popover",{attrs:{placement:"bottom",title:"选择审批条件",width:"300",trigger:"click"}},[t("el-checkbox-group",{attrs:{"value-key":"id"},model:{value:s.cids,callback:function(t){e.$set(s,"cids",t)},expression:"group.cids"}},e._l(e.conditionList,(function(i,r){return t("el-checkbox",{key:i.id,attrs:{label:i.id},on:{change:function(t){return e.conditionChange(r,s)}}},[e._v(" "+e._s(i.title)+" ")])})),1),t("i",{staticClass:"el-icon-plus",attrs:{slot:"reference"},slot:"reference"})],1),t("i",{staticClass:"el-icon-delete",on:{click:function(t){return e.delGroup(i)}}})],1)]),t("div",{staticClass:"group-content"},[0===s.conditions.length?t("p",[e._v("点击右上角 + 为本条件组添加条件 ☝")]):t("div",[t("el-form",{ref:"condition-form",refInFor:!0,attrs:{"label-width":"100px"}},e._l(s.conditions,(function(i,r){return t("el-form-item",{key:i.id+"_"+r},[t("ellipsis",{attrs:{slot:"label","hover-tip":"",content:i.title},slot:"label"}),i.valueType===e.ValueType.string?t("span",[t("el-select",{staticStyle:{width:"120px"},attrs:{size:"small",placeholder:"判断符"},on:{change:function(e){i.value=[]}},model:{value:i.compare,callback:function(t){e.$set(i,"compare",t)},expression:"condition.compare"}},[t("el-option",{attrs:{label:"等于",value:"="}}),t("el-option",{attrs:{label:"包含在",value:"IN"}})],1),e.isSelect(i.id)?t("span",{staticStyle:{"margin-left":"10px"}},["IN"===i.compare?t("el-select",{staticStyle:{width:"280px"},attrs:{clearable:"",multiple:"",size:"small",placeholder:"选择值"},model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}},e._l(e.getOptions(i.id),(function(e,s){return t("el-option",{key:s,attrs:{label:e,value:e}})})),1):t("el-select",{staticStyle:{width:"280px"},attrs:{clearable:"",size:"small",placeholder:"选择值"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}},e._l(e.getOptions(i.id),(function(e,s){return t("el-option",{key:s,attrs:{label:e,value:e}})})),1)],1):t("span",{staticStyle:{"margin-left":"10px"}},["="===i.compare?t("el-input",{staticStyle:{width:"280px"},attrs:{placeholder:"输入比较值",size:"small"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}}):t("el-select",{staticStyle:{width:"280px"},attrs:{multiple:"",clearable:"",filterable:"","allow-create":"",size:"small",placeholder:"输入可能包含的值"},model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}})],1)],1):i.valueType===e.ValueType.number?t("span",[t("el-select",{staticStyle:{width:"120px"},attrs:{size:"small",placeholder:"判断符"},model:{value:i.compare,callback:function(t){e.$set(i,"compare",t)},expression:"condition.compare"}},e._l(e.explains,(function(e){return t("el-option",{key:e.value,attrs:{label:e.label,value:e.value}})})),1),t("span",{staticStyle:{"margin-left":"10px"}},[0===e.conditionValType(i.compare)?t("el-input",{staticStyle:{width:"280px"},attrs:{size:"small",placeholder:"输入比较值",type:"number"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}}):1===e.conditionValType(i.compare)?t("el-select",{staticStyle:{width:"280px"},attrs:{multiple:"",filterable:"","allow-create":"",size:"small",placeholder:"输入可能包含的值"},model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}}):t("span",[t("el-input",{staticStyle:{width:"130px"},attrs:{size:"small",type:"number",placeholder:"输入比较值"},model:{value:i.value[0],callback:function(t){e.$set(i.value,0,t)},expression:"condition.value[0]"}}),t("span",[e._v(" ~ "),t("el-input",{staticStyle:{width:"130px"},attrs:{size:"small",type:"number",placeholder:"输入比较值"},model:{value:i.value[1],callback:function(t){e.$set(i.value,1,t)},expression:"condition.value[1]"}})],1)],1)],1)],1):i.valueType===e.ValueType.user?t("span",[t("span",{staticClass:"item-desc",staticStyle:{"margin-right":"20px"}},[e._v("属于某部门 / 为某些人其中之一")]),t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:function(t){return e.selectUser(i.value,"user")}}},[e._v("选择人员/部门")]),t("org-items",{model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}})],1):i.valueType===e.ValueType.dept?t("span",[t("span",{staticClass:"item-desc",staticStyle:{"margin-right":"20px"}},[e._v("为某部门 / 某部门下的部门")]),t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:function(t){return e.selectUser(i.value,"dept")}}},[e._v("选择部门")]),t("org-items",{model:{value:i.value,callback:function(t){e.$set(i,"value",t)},expression:"condition.value"}})],1):i.valueType===e.ValueType.date?t("span"):e._e(),t("i",{staticClass:"el-icon-delete",on:{click:function(t){return e.rmSubCondition(s,r)}}})],1)})),1)],1)])])})),t("org-picker",{ref:"orgPicker",attrs:{type:e.orgType,multiple:"",selected:e.users},on:{ok:e.selected}})],2)},qt=[],Wt={name:"InclusiveGroupItemConfig",components:{OrgPicker:ft,OrgItems:Et},data(){return{ValueType:Z,users:[],orgType:"user",showOrgSelect:!1,groupNames:["A","B","C","D","E","F","G","H","I","J"],supportTypes:[Z.number,Z.string,Z.date,Z.dept,Z.user],explains:[{label:"等于",value:"="},{label:"大于",value:">"},{label:"大于等于",value:">="},{label:"小于",value:"<"},{label:"小于等于",value:"<="},{label:"包含在",value:"IN"},{label:"x < 值 < x",value:"B"},{label:"x ≤ 值 < x",value:"AB"},{label:"x < 值 ≤ x",value:"BA"},{label:"x ≤ 值 ≤ x",value:"ABA"}]}},computed:{selectedNode(){return this.$store.state.selectedNode},select(){return this.selectedNode.props.assignedUser||[]},formItems(){return this.$store.state.design.formItems},formMap(){const e=new Map;return this.formItems.forEach(t=>this.itemToMap(e,t)),e},conditionList(){const e=[];return this.formItems.forEach(t=>this.filterCondition(t,e)),0!==e.length&&"root"===e[0].id||e.unshift({id:"root",title:"发起人",valueType:"User"}),e}},methods:{itemToMap(e,t){e.set(t.id,t),"SpanLayout"===t.name&&t.props.items.forEach(t=>this.itemToMap(e,t))},isSelect(e){let t=this.formMap.get(e);return!(!t||"SelectInput"!==t.name&&"MultipleSelect"!==t.name)},getOptions(e){return this.formMap.get(e).props.options||[]},conditionValType(e){switch(e){case"=":case">":case">=":case"<":case"<=":return 0;case"IN":return 1;default:return 2}},selectUser(e,t){this.orgType=t,this.users=e,this.$refs.orgPicker.show()},filterCondition(e,t){"SpanLayout"===e.name?e.props.items.forEach(e=>this.filterCondition(e,t)):this.supportTypes.indexOf(e.valueType)>-1&&e.props.required&&t.push({title:e.title,id:e.id,valueType:e.valueType})},selected(e){console.log(e),this.users.length=0,e.forEach(e=>this.users.push(e))},delGroup(e){this.selectedNode.props.groups.splice(e,1)},rmSubCondition(e,t){e.cids.splice(t,1),e.conditions.splice(t,1)},conditionChange(e,t){t.cids.forEach(s=>{if(0>t.conditions.findIndex(e=>e.id===s)){let s={...this.conditionList[e]};console.log(s,this.conditionList,e),s.compare="",s.value=[],t.conditions.push(s)}});for(let s=0;s<t.conditions.length;s++)t.cids.indexOf(t.conditions[s].id)<0&&t.conditions.splice(s,1)}}},Xt=Wt,Qt=(s("09bb"),Object(c["a"])(Xt,Kt,qt,!1,null,"5a89c344",null)),Zt=Qt.exports,es={name:"InclusiveNodeConfig",components:{draggable:At.a,GroupItem:Zt},props:{config:{type:Object,default:()=>({})}},computed:{selectedNode(){return this.$store.state.selectedNode},select(){return this.config.assignedUser||[]},nowNodeLeave(){return this.prioritySortList.indexOf(this.selectedNode)},prioritySortList(){let e=this.$store.state.nodeMap.get(this.selectedNode.parentId);return console.log(this.selectedNode.id,e),e&&e.branchs||[]}},data(){return{sortOption:{animation:300,chosenClass:"choose",scroll:!0,sort:!0}}},methods:{addConditionGroup(){this.config.groups.push({})},selectUser(){this.showOrgSelect=!0},selected(e){console.log(e),this.showOrgSelect=!1,e.forEach(e=>this.select.push(e))},removeOrgItem(e){this.select.splice(e,1)}}},ts=es,ss=(s("c782"),Object(c["a"])(ts,Jt,Yt,!1,null,"54de9c1e",null)),is=ss.exports,rs=function(){var e=this,t=e._self._c;return t("div",[t("div",{staticStyle:{"margin-bottom":"20px"}},[t("p",{staticClass:"item-desc"},[e._v("延时方式")]),t("el-radio-group",{attrs:{size:"small"},model:{value:e.config.type,callback:function(t){e.$set(e.config,"type",t)},expression:"config.type"}},[t("el-radio-button",{attrs:{label:"FIXED"}},[e._v("固定时长")]),t("el-radio-button",{attrs:{label:"AUTO"}},[e._v("自动计算")])],1)],1),"FIXED"===e.config.type?t("div",[t("el-input",{staticStyle:{width:"180px"},attrs:{placeholder:"时间单位",size:"small",type:"number"},model:{value:e.config.time,callback:function(t){e.$set(e.config,"time",t)},expression:"config.time"}},[t("el-select",{staticStyle:{width:"75px"},attrs:{slot:"append",placeholder:"请选择"},slot:"append",model:{value:e.config.unit,callback:function(t){e.$set(e.config,"unit",t)},expression:"config.unit"}},[t("el-option",{attrs:{label:"天",value:"D"}}),t("el-option",{attrs:{label:"小时",value:"H"}}),t("el-option",{attrs:{label:"分钟",value:"M"}})],1)],1),t("span",{staticClass:"item-desc"},[e._v(" 后进入下一步")])],1):t("div",{staticClass:"item-desc"},[t("el-time-picker",{staticStyle:{width:"150px"},attrs:{"value-format":"HH:mm:ss",size:"small",placeholder:"任意时间点"},model:{value:e.config.dateTime,callback:function(t){e.$set(e.config,"dateTime",t)},expression:"config.dateTime"}}),t("span",{staticClass:"item-desc"},[e._v(" 后进入下一步")])],1)])},os=[],ls={name:"DelayNodeConfig",components:{},props:{config:{type:Object,default:()=>({})}},data(){return{}},methods:{}},ns=ls,as=Object(c["a"])(ns,rs,os,!1,null,"95317f08",null),cs=as.exports,ds=function(){var e=this,t=e._self._c;return t("div",[t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectOrg}},[e._v("选择抄送人")]),t("div",{staticClass:"option"},[t("el-checkbox",{attrs:{label:"允许发起人添加抄送人"},model:{value:e.config.shouldAdd,callback:function(t){e.$set(e.config,"shouldAdd",t)},expression:"config.shouldAdd"}})],1),t("org-items",{model:{value:e.select,callback:function(t){e.select=t},expression:"select"}}),t("org-picker",{ref:"orgPicker",attrs:{multiple:"",selected:e.select},on:{ok:e.selected}})],1)},ps=[],us={name:"CcNodeConfig.vue",components:{OrgPicker:ft,OrgItems:Et},props:{config:{type:Object,default:()=>({})}},computed:{select:{get(){return this.config.assignedUser||[]},set(e){this.config.assignedUser=e}}},data(){return{}},methods:{selectOrg(){this.$refs.orgPicker.show()},selected(e){console.log(e),this.select=Object.assign([],e)},removeOrgItem(e){this.select.splice(e,1)}}},hs=us,ms=(s("a396"),Object(c["a"])(hs,ds,ps,!1,null,"9316d1ea",null)),fs=ms.exports,gs=function(){var e=this,t=e._self._c;return t("div",[t("el-button",{attrs:{type:"primary"}},[e._v("触发器支持模板变量替换语法 ${变量名}, 变量名支持所有的"),t("br"),e._v(" 【表单字段ID】及【扩展变量】"),t("br"),e._v(" 扩展变量如下:[formName 审批表单名] [instanceId 审批实例ID]"),t("br"),e._v(" [ownerId 发起人ID] [ownerName 发起人名]"),t("br"),e._v(" [ownerDeptId 发起人部门ID] [ownerDeptName 发起人部门名]"),t("br")]),t("el-form",{attrs:{"label-position":"top","label-width":"90px"}},[t("el-form-item",{staticClass:"user-type",attrs:{label:"选择触发的动作",prop:"text"}},[t("el-radio-group",{model:{value:e.config.type,callback:function(t){e.$set(e.config,"type",t)},expression:"config.type"}},[t("el-radio",{attrs:{label:"WEBHOOK"}},[e._v("发送网络请求")]),t("el-radio",{attrs:{label:"EMAIL"}},[e._v("发送邮件")])],1)],1),"WEBHOOK"===e.config.type?t("div",[t("el-form-item",{attrs:{label:"请求地址",prop:"text"}},[t("el-input",{attrs:{placeholder:"请输入URL地址",size:"medium"},model:{value:e.config.http.url,callback:function(t){e.$set(e.config.http,"url",t)},expression:"config.http.url"}},[t("el-select",{staticStyle:{width:"85px"},attrs:{slot:"prepend",placeholder:"URL"},slot:"prepend",model:{value:e.config.http.method,callback:function(t){e.$set(e.config.http,"method",t)},expression:"config.http.method"}},[t("el-option",{attrs:{label:"GET",value:"GET"}}),t("el-option",{attrs:{label:"POST",value:"POST"}}),t("el-option",{attrs:{label:"PUT",value:"PUT"}}),t("el-option",{attrs:{label:"DELETE",value:"DELETE"}})],1)],1)],1),t("el-form-item",{attrs:{label:"Header请求头",prop:"text"}},[t("div",{attrs:{slot:"label"},slot:"label"},[t("span",{staticStyle:{"margin-right":"10px"}},[e._v("Header请求头")]),t("el-button",{attrs:{type:"text"},on:{click:function(t){return e.addItem(e.config.http.headers)}}},[e._v(" + 添加")])],1),e._l(e.config.http.headers,(function(s,i){return t("div",{key:s.name},[e._v(" - "),t("el-input",{staticStyle:{width:"100px"},attrs:{placeholder:"参数名",size:"small"},model:{value:s.name,callback:function(t){e.$set(s,"name",t)},expression:"header.name"}}),t("el-radio-group",{staticStyle:{margin:"0 5px"},attrs:{size:"small"},model:{value:s.isField,callback:function(t){e.$set(s,"isField",t)},expression:"header.isField"}},[t("el-radio-button",{attrs:{label:!0}},[e._v("表单")]),t("el-radio-button",{attrs:{label:!1}},[e._v("固定")])],1),s.isField?t("el-select",{staticStyle:{width:"180px"},attrs:{size:"small",placeholder:"请选择表单字段"},model:{value:s.value,callback:function(t){e.$set(s,"value",t)},expression:"header.value"}},e._l(e.forms,(function(e){return t("el-option",{key:e.id,attrs:{label:e.title,value:e.id}})})),1):t("el-input",{staticStyle:{width:"180px"},attrs:{placeholder:"请设置字段值",size:"small"},model:{value:s.value,callback:function(t){e.$set(s,"value",t)},expression:"header.value"}}),t("el-icon",{staticClass:"el-icon-delete",staticStyle:{"margin-left":"5px",color:"#c75450",cursor:"pointer"},on:{click:function(t){return e.delItem(e.config.http.headers,i)}}})],1)}))],2),t("el-form-item",{attrs:{label:"Header请求参数",prop:"text"}},[t("div",{attrs:{slot:"label"},slot:"label"},[t("span",{staticStyle:{"margin-right":"10px"}},[e._v("Header请求参数 ")]),t("el-button",{staticStyle:{"margin-right":"20px"},attrs:{type:"text"},on:{click:function(t){return e.addItem(e.config.http.params)}}},[e._v(" + 添加")]),t("span",[e._v("参数类型 - ")]),t("el-radio-group",{staticStyle:{margin:"0 5px"},attrs:{size:"mini"},model:{value:e.config.http.contentType,callback:function(t){e.$set(e.config.http,"contentType",t)},expression:"config.http.contentType"}},[t("el-radio-button",{attrs:{label:"JSON"}},[e._v("json")]),t("el-radio-button",{attrs:{label:"FORM"}},[e._v("form")])],1)],1),e._l(e.config.http.params,(function(s,i){return t("div",{key:s.name},[e._v(" - "),t("el-input",{staticStyle:{width:"100px"},attrs:{placeholder:"参数名",size:"small"},model:{value:s.name,callback:function(t){e.$set(s,"name",t)},expression:"param.name"}}),t("el-radio-group",{staticStyle:{margin:"0 5px"},attrs:{size:"small"},model:{value:s.isField,callback:function(t){e.$set(s,"isField",t)},expression:"param.isField"}},[t("el-radio-button",{attrs:{label:!0}},[e._v("表单")]),t("el-radio-button",{attrs:{label:!1}},[e._v("固定")])],1),s.isField?t("el-select",{staticStyle:{width:"180px"},attrs:{size:"small",placeholder:"请选择表单字段"},model:{value:s.value,callback:function(t){e.$set(s,"value",t)},expression:"param.value"}},e._l(e.forms,(function(e){return t("el-option",{key:e.id,attrs:{label:e.title,value:e.id}})})),1):t("el-input",{staticStyle:{width:"180px"},attrs:{placeholder:"请设置字段值",size:"small"},model:{value:s.value,callback:function(t){e.$set(s,"value",t)},expression:"param.value"}}),t("el-icon",{staticClass:"el-icon-delete",staticStyle:{"margin-left":"5px",color:"#c75450",cursor:"pointer"},on:{click:function(t){return e.delItem(e.config.http.params,i)}}})],1)})),t("div")],2),t("el-form-item",{attrs:{label:"请求结果处理",prop:"text"}},[t("div",{attrs:{slot:"label"},slot:"label"},[t("span",[e._v("请求结果处理")]),t("span",{staticStyle:{"margin-left":"20px"}},[e._v("自定义脚本: ")]),t("el-switch",{model:{value:e.config.http.handlerByScript,callback:function(t){e.$set(e.config.http,"handlerByScript",t)},expression:"config.http.handlerByScript"}})],1),e.config.http.handlerByScript?t("span",{staticClass:"item-desc"},[e._v(" 👉 返回值为 ture 则流程通过,为 false 则流程将被驳回 "),t("div",[e._v("支持函数 "),t("span",{staticStyle:{color:"dodgerblue"}},[e._v("setFormByName( "),t("span",{staticStyle:{color:"#939494"}},[e._v("'表单字段名', '表单字段值'")]),e._v(" )")]),e._v(" 可改表单数据 ")])]):t("span",{staticClass:"item-desc"},[e._v("👉 无论请求结果如何,均通过")]),e.config.http.handlerByScript?t("div",[t("div",[t("span",[e._v("请求成功😀:")]),t("el-input",{attrs:{type:"textarea",rows:3},model:{value:e.config.http.success,callback:function(t){e.$set(e.config.http,"success",t)},expression:"config.http.success"}})],1),t("div",[t("span",[e._v("请求失败😥:")]),t("el-input",{attrs:{type:"textarea",rows:3},model:{value:e.config.http.fail,callback:function(t){e.$set(e.config.http,"fail",t)},expression:"config.http.fail"}})],1)]):e._e()])],1):"EMAIL"===e.config.type?t("div",[t("el-form-item",{attrs:{label:"邮件主题",prop:"text"}},[t("el-input",{attrs:{placeholder:"请输入邮件主题",size:"medium"},model:{value:e.config.email.subject,callback:function(t){e.$set(e.config.email,"subject",t)},expression:"config.email.subject"}})],1),t("el-form-item",{attrs:{label:"收件方",prop:"text"}},[t("el-input",{staticStyle:{width:"100%"},attrs:{size:"small",filterable:"",multiple:"","allow-create":"","default-first-option":"",placeholder:"请输入收件人"},model:{value:e.config.email.to,callback:function(t){e.$set(e.config.email,"to",t)},expression:"config.email.to"}})],1),t("el-form-item",{attrs:{label:"邮件正文",prop:"text"}},[t("el-input",{attrs:{type:"textarea",rows:4,placeholder:"邮件内容,支持变量提取表单数据 ${表单字段名} "},model:{value:e.config.email.content,callback:function(t){e.$set(e.config.email,"content",t)},expression:"config.email.content"}})],1)],1):e._e()],1)],1)},vs=[],bs={name:"TriggerNodeConfig",components:{},props:{config:{type:Object,default:()=>({})}},computed:{forms(){return this.$store.state.design.formItems||[]}},data(){return{cmOptions:{tabSize:4,indentUnit:4,styleActiveLine:!0,lineNumbers:!0,styleSelectedText:!0,line:!0,foldGutter:!0,gutters:["CodeMirror-linenumbers","lock","warn"],highlightSelectionMatches:{showToken:/w/,annotateScrollbar:!0},mode:"javascript",hintOptions:{completeSingle:!1},keyMap:"sublime",matchBrackets:!0,showCursorWhenSelecting:!1,theme:"material",extraKeys:{Ctrl:"autocomplete"},lastLineBefore:0}}},methods:{addItem(e){e.length>0&&(""===e[e.length-1].name.trim()||""===e[e.length-1].value.trim())?this.$message.warning("请完善之前项后在添加"):e.push({name:"",value:"",isField:!0})},delItem(e,t){e.splice(t,1)},onCmCodeChange(){},onCmReady(){}}},ys=bs,Ss=(s("2fcc"),Object(c["a"])(ys,gs,vs,!1,null,"6fcd53fe",null)),_s=Ss.exports,Ns=function(){var e=this,t=e._self._c;return t("div",[t("el-table",{staticStyle:{width:"100%"},attrs:{"header-cell-style":{background:"#f5f6f6"},data:e.formPerms,border:""}},[t("el-table-column",{attrs:{prop:"title","show-overflow-tooltip":"",label:"表单字段"},scopedSlots:e._u([{key:"default",fn:function(s){return[s.row.required?t("span",{staticStyle:{color:"#c75450"}},[e._v(" * ")]):e._e(),t("span",[e._v(e._s(s.row.title))])]}}])}),t("el-table-column",{attrs:{prop:"readOnly",label:"只读",width:"80"},scopedSlots:e._u([{key:"header",fn:function(s){return[t("el-radio",{attrs:{label:"R"},on:{change:function(t){return e.allSelect("R")}},model:{value:e.permSelect,callback:function(t){e.permSelect=t},expression:"permSelect"}},[e._v("只读")])]}},{key:"default",fn:function(s){return[t("el-radio",{attrs:{label:"R",name:s.row.id},model:{value:s.row.perm,callback:function(t){e.$set(s.row,"perm",t)},expression:"scope.row.perm"}})]}}])}),"CC"!==e.nowNode.type?t("el-table-column",{attrs:{prop:"editable",label:"可编辑",width:"90"},scopedSlots:e._u([{key:"header",fn:function(s){return[t("el-radio",{attrs:{label:"E"},on:{change:function(t){return e.allSelect("E")}},model:{value:e.permSelect,callback:function(t){e.permSelect=t},expression:"permSelect"}},[e._v("可编辑")])]}},{key:"default",fn:function(s){return[t("el-radio",{attrs:{label:"E",name:s.row.id},model:{value:s.row.perm,callback:function(t){e.$set(s.row,"perm",t)},expression:"scope.row.perm"}})]}}],null,!1,2030366288)}):e._e(),t("el-table-column",{attrs:{prop:"hide",label:"隐藏",width:"80"},scopedSlots:e._u([{key:"header",fn:function(s){return[t("el-radio",{attrs:{label:"H"},on:{change:function(t){return e.allSelect("H")}},model:{value:e.permSelect,callback:function(t){e.permSelect=t},expression:"permSelect"}},[e._v("隐藏")])]}},{key:"default",fn:function(s){return[t("el-radio",{attrs:{label:"H",name:s.row.id},model:{value:s.row.perm,callback:function(t){e.$set(s.row,"perm",t)},expression:"scope.row.perm"}})]}}])})],1)],1)},ws=[],ks={name:"FormAuthorityConfig",components:{},data(){return{tableData:[],isIndeterminate:!1,permSelect:"",checkStatus:{readOnly:!0,editable:!1,hide:!1}}},created(){let e=this.formPerms.toMap("id");this.formPerms.length=0,this.formPermsLoad(e,this.formData)},computed:{nowNode(){return this.$store.state.selectedNode},formData(){return this.$store.state.design.formItems},formPerms(){return this.$store.state.selectedNode.props.formPerms}},methods:{allSelect(e){this.permSelect=e,this.formPerms.forEach(t=>t.perm=e)},formPermsLoad(e,t){t.forEach(t=>{if("SpanLayout"===t.name)this.formPermsLoad(e,t.props.items);else{let s=e.get(t.id);s?(s.title=t.title,s.required=t.props.required,this.formPerms.push(s)):this.formPerms.push({id:t.id,title:t.title,required:t.props.required,perm:"ROOT"===this.$store.state.selectedNode.type?"E":"R"})}})},handleCheckAllChange(){}},watch:{formPerms:{deep:!0,handler(){const e=new Set(this.formPerms.map(e=>e.perm));this.permSelect=1===e.size?e.values()[0]:""}}}},Cs=ks,$s=(s("b274"),Object(c["a"])(Cs,Ns,ws,!1,null,"45d6055c",null)),Es=$s.exports,xs=function(){var e=this,t=e._self._c;return t("div",[t("p",{staticClass:"desc"},[e._v("选择能发起该审批的人员/部门,不选则默认开放给所有人")]),t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectOrg}},[e._v("请选择")]),t("org-items",{model:{value:e.select,callback:function(t){e.select=t},expression:"select"}}),t("org-picker",{ref:"orgPicker",attrs:{title:"请选择可发起本审批的人员/部门",multiple:"",selected:e.select},on:{ok:e.selected}})],1)},Os=[],Ts={name:"RootConfig",components:{OrgPicker:ft,OrgItems:Et},props:{config:{type:Object,default:()=>({})}},data(){return{showOrgSelect:!1}},computed:{select(){return this.config.assignedUser}},methods:{selectOrg(){this.$refs.orgPicker.show()},selected(e){this.select.length=0,e.forEach(e=>this.select.push(e))},removeOrgItem(e){this.select.splice(e,1)}}},Ps=Ts,Is=(s("529a"),Object(c["a"])(Ps,xs,Os,!1,null,"0516bea4",null)),Rs=Is.exports,Us=function(){var e=this,t=e._self._c;return t("div",[t("el-form",{attrs:{"label-position":"top","label-width":"90px"}},[t("el-form-item",{staticClass:"user-type",attrs:{label:"⚙ 选择审批对象",prop:"text"}},[t("el-radio-group",{model:{value:e.nodeProps.assignedType,callback:function(t){e.$set(e.nodeProps,"assignedType",t)},expression:"nodeProps.assignedType"}},e._l(e.approvalTypes,(function(s){return t("el-radio",{key:s.type,attrs:{label:s.type}},[e._v(e._s(s.name))])})),1),"ASSIGN_USER"===e.nodeProps.assignedType?t("div",[t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectUser}},[e._v("选择人员")]),t("org-items",{model:{value:e.nodeProps.assignedUser,callback:function(t){e.$set(e.nodeProps,"assignedUser",t)},expression:"nodeProps.assignedUser"}})],1):"SELF_SELECT"===e.nodeProps.assignedType?t("div",[t("el-radio-group",{attrs:{size:"mini"},model:{value:e.nodeProps.selfSelect.multiple,callback:function(t){e.$set(e.nodeProps.selfSelect,"multiple",t)},expression:"nodeProps.selfSelect.multiple"}},[t("el-radio-button",{attrs:{label:!1}},[e._v("自选一个人")]),t("el-radio-button",{attrs:{label:!0}},[e._v("自选多个人")])],1)],1):"LEADER_TOP"===e.nodeProps.assignedType?t("div",[t("el-divider"),t("el-form-item",{staticClass:"approve-end",attrs:{label:"审批终点",prop:"text"}},[t("el-radio-group",{model:{value:e.nodeProps.leaderTop.endCondition,callback:function(t){e.$set(e.nodeProps.leaderTop,"endCondition",t)},expression:"nodeProps.leaderTop.endCondition"}},[t("el-radio",{attrs:{label:"TOP"}},[e._v("直到最上层主管")]),t("el-radio",{attrs:{label:"LEAVE"}},[e._v("不超过发起人的")])],1),"LEAVE"===e.nodeProps.leaderTop.endCondition?t("div",{staticClass:"approve-end-leave"},[t("span",[e._v("第 ")]),t("el-input-number",{attrs:{min:1,max:20,step:1,size:"mini"},model:{value:e.nodeProps.leaderTop.level,callback:function(t){e.$set(e.nodeProps.leaderTop,"level",t)},expression:"nodeProps.leaderTop.level"}}),t("span",[e._v(" 级主管")])],1):e._e()],1)],1):"LEADER"===e.nodeProps.assignedType?t("div",[t("el-divider"),t("el-form-item",{attrs:{label:"指定主管",prop:"text"}},[t("span",[e._v("发起人的第 ")]),t("el-input-number",{attrs:{min:1,max:20,step:1,size:"mini"},model:{value:e.nodeProps.leader.level,callback:function(t){e.$set(e.nodeProps.leader,"level",t)},expression:"nodeProps.leader.level"}}),t("span",[e._v(" 级主管")]),t("div",{staticStyle:{color:"#409EFF","font-size":"small"}},[e._v("👉 直接主管为 第 1 级主管")])],1)],1):"ROLE"===e.nodeProps.assignedType?t("div",[t("el-button",{attrs:{size:"mini",icon:"el-icon-plus",type:"primary",round:""},on:{click:e.selectRole}},[e._v("选择系统角色")]),t("org-items",{model:{value:e.nodeProps.role,callback:function(t){e.$set(e.nodeProps,"role",t)},expression:"nodeProps.role"}})],1):"FORM_USER"===e.nodeProps.assignedType?t("div",[t("el-form-item",{staticClass:"approve-end",attrs:{label:"选择表单联系人项",prop:"text"}},[t("el-select",{staticStyle:{width:"80%"},attrs:{size:"small",placeholder:"请选择包含联系人的表单项"},model:{value:e.nodeProps.formUser,callback:function(t){e.$set(e.nodeProps,"formUser",t)},expression:"nodeProps.formUser"}},e._l(e.forms,(function(e){return t("el-option",{key:e.id,attrs:{label:e.title,value:e.id}})})),1)],1)],1):t("div",[t("span",{staticClass:"item-desc"},[e._v("发起人自己作为审批人进行审批")])])],1),t("el-divider"),t("el-form-item",{staticClass:"line-mode",attrs:{label:"⚙子流程表单",prop:"text"}},[t("el-cascader",{staticStyle:{width:"80%"},attrs:{size:"small",placeholder:"请选择子流程表单",options:e.fromGroup,props:{expandTrigger:"hover"},"show-all-levels":!1},on:{change:e.handleChange},model:{value:e.nodeProps.subprocessId,callback:function(t){e.$set(e.nodeProps,"subprocessId",t)},expression:"nodeProps.subprocessId"}})],1)],1),t("org-picker",{ref:"orgPicker",attrs:{title:e.pickerTitle,multiple:"",type:e.orgPickerType,selected:e.orgPickerSelected},on:{ok:e.selected}})],1)},As=[],Ls={name:"SubprocessNodeConfig",components:{OrgPicker:ft,OrgItems:Et},props:{config:{type:Object,default:()=>({})}},data(){return{showOrgSelect:!1,orgPickerSelected:[],fromGroup:[],orgPickerType:"user",approvalTypes:[{name:"指定人员",type:"ASSIGN_USER"},{name:"发起人自选",type:"SELF_SELECT"},{name:"连续多级主管",type:"LEADER_TOP"},{name:"主管",type:"LEADER"},{name:"角色",type:"ROLE"},{name:"发起人自己",type:"SELF"},{name:"表单内联系人",type:"FORM_USER"}]}},computed:{nodeProps(){return this.$store.state.selectedNode.props},select(){return this.config.assignedUser||[]},forms(){return this.$store.state.design.formItems.filter(e=>"UserPicker"===e.name)},pickerTitle(){switch(this.orgPickerType){case"user":return"请选择人员";case"role":return"请选择系统角色";default:return null}},nodeOptions(){let e=[];const t=["ROOT","EMPTY","CONDITION","CONDITIONS","CONCURRENT","CONCURRENTS"];return this.$store.state.nodeMap.forEach(s=>{-1===t.indexOf(s.type)&&e.push({id:s.id,name:s.name})}),e},showMode(){switch(this.nodeProps.assignedType){case"ASSIGN_USER":return this.nodeProps.assignedUser.length>0;case"SELF_SELECT":return!0;case"LEADER_TOP":return!0;case"FORM_USER":return!0;case"ROLE":return!0;default:return!1}}},mounted(){this.getGroups()},methods:{selectUser(){this.orgPickerSelected=this.select,this.orgPickerType="user",this.$refs.orgPicker.show()},selectNoSetUser(){this.orgPickerSelected=this.config.nobody.assignedUser,this.orgPickerType="user",this.$refs.orgPicker.show()},selectRole(){this.orgPickerSelected=this.select,this.orgPickerType="role",this.$refs.orgPicker.show()},selected(e){console.log(e),this.orgPickerSelected.length=0,e.forEach(e=>this.orgPickerSelected.push(e))},removeOrgItem(e){this.select.splice(e,1)},getGroups(){Object(u["c"])().then(e=>{var t=e.data;this.fromGroup=t.map(e=>({value:e.id,label:e.name,children:e.items.map(e=>({value:e.formId,label:e.formName}))}))}).catch(e=>this.$message.error("获取分组异常"))},handleChange(e){}}},Ds=Ls,zs=(s("e3f9"),Object(c["a"])(Ds,Us,As,!1,null,"0bd15697",null)),Ms=zs.exports,Fs={name:"NodeConfig",components:{Approval:yt,Task:Pt,Condition:Ht,Inclusive:is,Trigger:_s,Delay:cs,Root:Rs,Cc:fs,Subprocess:Ms,FormAuthorityConfig:Es},data(){return{active:"properties"}},computed:{selectNode(){return this.$store.state.selectedNode},formConfig(){return this.$store.state.design.formItems},name(){switch(this.selectNode.type){case"ROOT":return"设置发起人";case"APPROVAL":return"设置审批人";case"TASK":return"设置办理人";case"CC":return"设置抄送人";default:return null}}},methods:{}},Bs=Fs,js=Object(c["a"])(Bs,it,rt,!1,null,"3fe7f808",null),Gs=js.exports,Vs={name:"ProcessDesign",components:{ProcessTree:st,NodeConfig:Gs},data(){return{scale:100,selected:{},showInput:!1,showConfig:!1}},computed:{selectedNode(){return this.$store.state.selectedNode}},mounted(){},methods:{validate(){return this.$refs["process-tree"].validateProcess()},nodeSelected(e){console.log("配置节点aaa",e),this.showConfig=!0}},watch:{}},Hs=Vs,Js=(s("4566"),Object(c["a"])(Hs,h,m,!1,null,"5cf254e4",null)),Ys=Js.exports,Ks=function(){var e=this,t=e._self._c;return t("div",{staticClass:"senior-setup"},[t("el-form",{attrs:{"label-position":"top","label-width":"80px"}},[t("el-form-item",{attrs:{label:"审批同意时是否签字"}},[t("el-switch",{attrs:{"inactive-text":"无需签字","active-text":"需要签字"},model:{value:e.setup.sign,callback:function(t){e.$set(e.setup,"sign",t)},expression:"setup.sign"}}),t("div",{staticClass:"sign-tip"},[e._v("如果此处设置为 "),t("b",[e._v("需要签字")]),e._v(",则所有审批人“同意时” "),t("b",[e._v("必须签字")])])],1)],1)],1)},qs=[],Ws={name:"FormProSetting",computed:{setup(){return this.$store.state.design.settings}},data(){return{}},methods:{validate(){return[]}}},Xs=Ws,Qs=(s("107f"),Object(c["a"])(Xs,Ks,qs,!1,null,"ba14fb4c",null)),Zs=Qs.exports,ei={name:"FormProcessDesign",components:{LayoutHeader:p,ProcessDesign:Ys,FormProSetting:Zs},data(){return{form:{name:""},rules:{name:[{required:!0,message:"请输入流程名称",trigger:"blur"}]},isNew:!0,validStep:0,timer:null,activeSelect:"processDesign",validVisible:!1,validResult:{},validOptions:[{title:"审批流程",description:"",icon:"",status:""}],validComponents:["processDesign","proSetting"]}},computed:{setup(){return this.$store.state.design},errTitle(){return this.validResult.finished&&!this.validResult.success?this.validResult.title+` (${this.validResult.errs.length}项错误) 😥`:this.validResult.title},validIcon(){return this.validResult.finished?this.validResult.success?"success":"warning":"el-icon-loading"}},created(){this.showValiding();let e=this.$route.query.code;this.loadInitFrom(),this.$isNotEmpty(e)&&(this.isNew=!1,this.loadFormInfo(e));let t=this.$route.query.group;this.setup.groupId=this.$isNotEmpty(t)?parseInt(t):null},beforeDestroy(){this.stopTimer()},methods:{loadFormInfo(e){Object(u["b"])(e).then(e=>{console.log(e.data);let t=e.data;console.log("form.process",t.process),t.logo=JSON.parse(t.logo),t.settings=JSON.parse(t.settings),t.formItems=JSON.parse(t.formItems),t.process=JSON.parse(t.process),this.form.name=t.formName,this.$store.commit("loadForm",t)}).catch(e=>{this.$message.error(e)})},loadInitFrom(){this.$store.commit("loadForm",{formId:null,formName:"",logo:{icon:"el-icon-eleme",background:"#1e90ff"},settings:{commiter:[],admin:[],sign:!1,notify:{types:["APP"],title:"消息通知标题"}},groupId:void 0,formItems:[],process:{id:"root",parentId:null,type:"ROOT",name:"发起人",desc:"任何人",props:{assignedUser:[],formPerms:[]},children:{}},remark:"备注说明"})},validateDesign(){console.log("000"),this.validVisible=!0,this.validStep=0,this.showValiding(),this.stopTimer(),this.timer=setInterval(()=>{this.validResult.errs=this.$refs[this.validComponents[this.validStep]].validate(),Array.isArray(this.validResult.errs)&&0===this.validResult.errs.length?(this.validStep++,this.validStep>=this.validOptions.length&&(this.stopTimer(),this.showValidFinish(!0))):(this.stopTimer(),this.validOptions[this.validStep].status="error",this.showValidFinish(!1,this.getDefaultValidErr()))},300)},getDefaultValidErr(){switch(this.validStep){case 0:return"请检查基础设置项";case 1:return"请检查审批表单相关设置";case 2:return"请检查审批流程,查看对应标注节点错误信息";case 3:return"请检查扩展设置";default:return"未知错误"}},showValidFinish(e,t){this.validResult.success=e,this.validResult.finished=!0,this.validResult.title=e?"校验完成 😀":"校验失败 ",this.validResult.desc=e?"设置项校验成功,是否提交?":t,this.validResult.action=e?"提 交":"去修改"},showValiding(){this.validResult={errs:[],finished:!1,success:!1,title:"检查中...",action:"处理",desc:"正在检查设置项"},this.validStep=0,this.validOptions.forEach(e=>{e.status="",e.icon="",e.description=""})},doAfter(){this.validResult.success?this.$refs.form.validate(e=>{e&&this.doPublish()}):this.validVisible=!1},stopTimer(){this.timer&&clearInterval(this.timer)},preview(){this.validateDesign()},publishProcess(){this.validateDesign()},doPublish(){this.$confirm("如果您只想预览请选择预览,确认发布后流程立即生效,是否继续?","提示",{confirmButtonText:"发布",cancelButtonText:"取消",type:"warning"}).then(()=>{console.log(this.setup);let e=JSON.parse(JSON.stringify(this.setup.process));console.log("processNew",e),this.conditionRecursion(e);let t={formId:this.setup.formId,formName:this.form.name,logo:JSON.stringify(this.setup.logo),settings:JSON.stringify(this.setup.settings),groupId:this.setup.groupId,formItems:JSON.stringify(this.setup.formItems),process:JSON.stringify(e),remark:this.setup.remark};this.isNew||!this.$isNotEmpty(this.setup.formId)?Object(u["a"])(t).then(e=>{this.$message.success("创建表单成功"),this.$router.push("/formsPanel")}).catch(e=>{this.$message.error(e)}):Object(u["f"])(t).then(e=>{this.$message.success("更新表单成功"),this.$router.push("/formsPanel")}).catch(e=>{this.$message.error(e)})})},conditionRecursion(e){null!=e&&void 0!=e&&(null!=e.branchs&&void 0!=e.branchs&&e.branchs.map((t,s)=>{if(s==e.branchs.length-1?t.typeElse=!0:t.typeElse=!1,null==t.children||void 0==t.children)return t;this.conditionRecursion(t.children)}),this.conditionRecursion(e.children))}}},ti=ei,si=(s("468d"),Object(c["a"])(ti,i,r,!1,null,"44eb9294",null));t["default"]=si.exports},f20d:function(e,t,s){},f5df:function(e,t,s){"use strict";var i=s("00ee"),r=s("1626"),o=s("c6b6"),l=s("b622"),n=l("toStringTag"),a=Object,c="Arguments"===o(function(){return arguments}()),d=function(e,t){try{return e[t]}catch(s){}};e.exports=i?o:function(e){var t,s,i;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(s=d(t=a(e),n))?s:c?o(t):"Object"===(i=o(t))&&r(t.callee)?"Arguments":i}},f65b:function(e,t,s){"use strict";s("0b20")},f6e7:function(e,t,s){}}]);
|